2024-03-22 09:14:39 -04:00

2453 lines
712 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var UDOC={};UDOC.B=function(){var Z=new Uint8Array(4),a=Z.buffer,i=new Int16Array(a),F=new Uint16Array(a),t=new Int32Array(a),n=new Uint32Array(a),G=new Float32Array(a);
return{readShort:function(k,I){Z[0]=k[I];Z[1]=k[I+1];return i[0]},readUshort:function(k,I){Z[0]=k[I];
Z[1]=k[I+1];return F[0]},readInt:function(k,I){Z[0]=k[I];Z[1]=k[I+1];Z[2]=k[I+2];Z[3]=k[I+3];return t[0]},readUint:function(k,I){Z[0]=k[I];
Z[1]=k[I+1];Z[2]=k[I+2];Z[3]=k[I+3];return n[0]},readUintBE:function(k,I){Z[3]=k[I];Z[2]=k[I+1];Z[1]=k[I+2];
Z[0]=k[I+3];return n[0]},readFloat:function(k,I){Z[0]=k[I];Z[1]=k[I+1];Z[2]=k[I+2];Z[3]=k[I+3];return G[0]},readASCII:function(k,I,o){var B="";
for(var L=0;L<o;L++)B+=String.fromCharCode(k[I+L]);return B}}}();UDOC.G={concat:function(Z,a){for(var i=0;
i<a.cmds.length;i++)Z.cmds.push(a.cmds[i]);for(var i=0;i<a.crds.length;i++)Z.crds.push(a.crds[i])},getBB:function(Z){var a=1e99,i=1e99,F=-a,t=-i;
for(var n=0;n<Z.length;n+=2){var G=Z[n],k=Z[n+1];if(G<a)a=G;if(G>F)F=G;if(k<i)i=k;if(k>t)t=k}return[a,i,F,t]},rectToPath:function(Z){return{cmds:["M","L","L","L","Z"],crds:[Z[0],Z[1],Z[2],Z[1],Z[2],Z[3],Z[0],Z[3]]}},insideBox:function(Z,a){return a[0]<=Z[0]&&a[1]<=Z[1]&&Z[2]<=a[2]&&Z[3]<=a[3]},isBox:function(Z,a){var i=function(M,s){for(var $=0;
$<8;$+=2){var y=!0;for(var j=0;j<8;j++)if(Math.abs(s[j]-M[j+$&7])>=2){y=!1;break}if(y)return!0}return!1},n=!1;
if(Z.cmds.length>10)return!1;var F=Z.cmds.join(""),t=Z.crds;if(F=="MLLLZ"&&t.length==8||(F=="MLLLLZ"||F=="MLLLL")&&t.length==10){if(t.length==10)t=t.slice(0,8);
if(a==null){a=[t[0],t[1],t[0],t[1]];for(var G=0;G<t.length;G+=2){var k=t[G],o=t[G+1];if(k<a[0])a[0]=k;
if(o<a[1])a[1]=o;if(a[2]<k)a[2]=k;if(a[3]<o)a[3]=o}}var B=a[0],N=a[1],L=a[2],Q=a[3];if(!n)n=i(t,[B,N,L,N,L,Q,B,Q]);
if(!n)n=i(t,[B,Q,L,Q,L,N,B,N])}return n},boxArea:function(Z){var a=Z[2]-Z[0],i=Z[3]-Z[1];return a*i},newPath:function(Z){Z.pth={cmds:[],crds:[]}},moveTo:function(Z,a,i){var F=UDOC.M.multPoint(Z.ctm,[a,i]),t=Z.pth,n=t.cmds.length;
if(n!=0&&t.cmds[n-1]=="M"){t.cmds.pop();t.crds.pop();t.crds.pop()}Z.pth.cmds.push("M");Z.pth.crds.push(F[0],F[1]);
Z.cpos=F},lineTo:function(Z,a,i){var F=UDOC.M.multPoint(Z.ctm,[a,i]);if(Z.cpos[0]==F[0]&&Z.cpos[1]==F[1])return;
Z.pth.cmds.push("L");Z.pth.crds.push(F[0],F[1]);Z.cpos=F},curveTo:function(Z,a,i,F,t,n,G){var k;if(Z.pth.cmds.length==0)UDOC.G.moveTo(Z,0,0);
k=UDOC.M.multPoint(Z.ctm,[a,i]);a=k[0];i=k[1];k=UDOC.M.multPoint(Z.ctm,[F,t]);F=k[0];t=k[1];k=UDOC.M.multPoint(Z.ctm,[n,G]);
n=k[0];G=k[1];Z.cpos=k;Z.pth.cmds.push("C");Z.pth.crds.push(a,i,F,t,n,G)},quadCurveTo:function(Z,a,i,F,t){var n;
if(Z.pth.cmds.length==0)UDOC.G.moveTo(Z,0,0);n=UDOC.M.multPoint(Z.ctm,[a,i]);a=n[0];i=n[1];n=UDOC.M.multPoint(Z.ctm,[F,t]);
F=n[0];t=n[1];Z.cpos=n;Z.pth.cmds.push("Q");Z.pth.crds.push(a,i,F,t)},closePath:function(Z){Z.pth.cmds.push("Z")},arc:function(Z,a,i,F,t,n,G){if(G)while(n>t)n-=2*Math.PI;
else while(n<t)n+=2*Math.PI;var k=(n-t)/4,I=Math.cos(k/2),o=-Math.sin(k/2),B=(4-I)/3,N=o==0?o:(1-I)*(3-I)/(3*o),L=B,Q=-N,M=I,X=-o,s=[I,o],y=[B,N],j=[L,Q],m=[M,X],K={cmds:[Z.pth.cmds.length==0?"M":"L"],crds:[I,o]},_=[1,0,0,1,0,0];
for(var p=0;p<4;p++){y=UDOC.M.multPoint(_,y);j=UDOC.M.multPoint(_,j);m=UDOC.M.multPoint(_,m);K.crds.push(y[0],y[1],j[0],j[1],m[0],m[1]);
K.cmds.push("C");if(p==0)UDOC.M.rotate(_,-k)}var D=[F,0,0,F,a,i];UDOC.M.rotate(_,-t+k/2);UDOC.M.concat(_,D);
UDOC.M.multArray(_,K.crds);UDOC.M.multArray(Z.ctm,K.crds);UDOC.G.concat(Z.pth,K);var i=K.crds.pop();
a=K.crds.pop();Z.cpos=[a,i]},drawRect:function(Z,a,i,F,t){UDOC.G.moveTo(Z,a,i);UDOC.G.lineTo(Z,a+F,i);
UDOC.G.lineTo(Z,a+F,i+t);UDOC.G.lineTo(Z,a,i+t);UDOC.G.closePath(Z)},toPoly:function(Z){if(Z.cmds[0]!="M"||Z.cmds[Z.cmds.length-1]!="Z")return null;
for(var a=1;a<Z.cmds.length-1;a++)if(Z.cmds[a]!="L")return null;var i=[],F=Z.crds.length;if(Z.crds[0]==Z.crds[F-2]&&Z.crds[1]==Z.crds[F-1])F-=2;
for(var a=0;a<F;a+=2)i.push([Z.crds[a],Z.crds[a+1]]);if(UDOC.G.polyArea(Z.crds)<0)i.reverse();return i},fromPoly:function(Z){var a={cmds:[],crds:[]};
for(var i=0;i<Z.length;i++){a.crds.push(Z[i][0],Z[i][1]);a.cmds.push(i==0?"M":"L")}a.cmds.push("Z");
return a},polyArea:function(Z){if(Z.length<6)return 0;var a=Z.length-2,i=(Z[0]-Z[a])*(Z[a+1]+Z[1]);for(var F=0;
F<a;F+=2)i+=(Z[F+2]-Z[F])*(Z[F+1]+Z[F+3]);return-i*.5},polyClip:function(Z,a){var i,F,t,n,G=function(L){return(F[0]-i[0])*(L[1]-i[1])>(F[1]-i[1])*(L[0]-i[0])},k=function(){var L=[i[0]-F[0],i[1]-F[1]],Q=[t[0]-n[0],t[1]-n[1]],M=i[0]*F[1]-i[1]*F[0],X=t[0]*n[1]-t[1]*n[0],s=1/(L[0]*Q[1]-L[1]*Q[0]);
return[(M*Q[0]-X*L[0])*s,(M*Q[1]-X*L[1])*s]},I=Z,o,B;i=a[a.length-1];for(B in a){var F=a[B],N=I;I=[];
t=N[N.length-1];for(o in N){var n=N[o];if(G(n)){if(!G(t)){I.push(k())}I.push(n)}else if(G(t)){I.push(k())}t=n}i=F}return I}};
UDOC.M={getScale:function(Z){return Math.sqrt(Math.abs(Z[0]*Z[3]-Z[1]*Z[2]))},translate:function(Z,a,i){UDOC.M.concat(Z,[1,0,0,1,a,i])},rotate:function(Z,a){UDOC.M.concat(Z,[Math.cos(a),-Math.sin(a),Math.sin(a),Math.cos(a),0,0])},scale:function(Z,a,i){UDOC.M.concat(Z,[a,0,0,i,0,0])},concat:function(Z,a){var i=Z[0],F=Z[1],t=Z[2],n=Z[3],G=Z[4],k=Z[5];
Z[0]=i*a[0]+F*a[2];Z[1]=i*a[1]+F*a[3];Z[2]=t*a[0]+n*a[2];Z[3]=t*a[1]+n*a[3];Z[4]=G*a[0]+k*a[2]+a[4];
Z[5]=G*a[1]+k*a[3]+a[5]},invert:function(Z){var a=Z[0],i=Z[1],F=Z[2],t=Z[3],n=Z[4],G=Z[5],k=a*t-i*F;
Z[0]=t/k;Z[1]=-i/k;Z[2]=-F/k;Z[3]=a/k;Z[4]=(F*G-t*n)/k;Z[5]=(i*n-a*G)/k},multPoint:function(Z,a){var i=a[0],F=a[1];
return[i*Z[0]+F*Z[2]+Z[4],i*Z[1]+F*Z[3]+Z[5]]},multArray:function(Z,a){for(var i=0;i<a.length;i+=2){var F=a[i],t=a[i+1];
a[i]=F*Z[0]+t*Z[2]+Z[4];a[i+1]=F*Z[1]+t*Z[3]+Z[5]}}};UDOC.C={srgbGamma:function(Z){return Z<.0031308?12.92*Z:1.055*Math.pow(Z,1/2.4)-.055},cmykToRgb:function(Z){var a=Z[0],F=Z[1],t=Z[2],n=Z[3],G=255+a*(-4.387332384609988*a+54.48615194189176*F+18.82290502165302*t+212.25662451639585*n+-285.2331026137004)+F*(1.7149763477362134*F-5.6096736904047315*t+-17.873870861415444*n-5.497006427196366)+t*(-2.5217340131683033*t-21.248923337353073*n+17.5119270841813)+n*(-21.86122147463605*n-189.48180835922747),k=255+a*(8.841041422036149*a+60.118027045597366*F+6.871425592049007*t+31.159100130055922*n+-79.2970844816548)+F*(-15.310361306967817*F+17.575251261109482*t+131.35250912493976*n-190.9453302588951)+t*(4.444339102852739*t+9.8632861493405*n-24.86741582555878)+n*(-20.737325471181034*n-187.80453709719578),I=255+a*(.8842522430003296*a+8.078677503112928*F+30.89978309703729*t-.23883238689178934*n+-14.183576799673286)+F*(10.49593273432072*F+63.02378494754052*t+50.606957656360734*n-112.23884253719248)+t*(.03296041114873217*t+115.60384449646641*n+-193.58209356861505)+n*(-22.33816807309886*n-180.12613974708367);
return[Math.max(0,Math.min(1,G/255)),Math.max(0,Math.min(1,k/255)),Math.max(0,Math.min(1,I/255))]},labToRgb:function(Z){var a=903.3,i=.008856,F=Z[0],n=Z[1],G=Z[2],k=(F+16)/116,I=k*k*k,o=k-G/200,N=o*o*o,L=n/500+k,Q=L*L*L,M=N>i?N:(116*o-16)/a,X=I>i?I:(116*k-16)/a,s=Q>i?Q:(116*L-16)/a,$=s*96.72,y=X*100,j=M*81.427,m=[$/100,y/100,j/100],K=[3.1338561,-1.6168667,-.4906146,-.9787684,1.9161415,.033454,.0719453,-.2289914,1.4052427],_=[K[0]*m[0]+K[1]*m[1]+K[2]*m[2],K[3]*m[0]+K[4]*m[1]+K[5]*m[2],K[6]*m[0]+K[7]*m[1]+K[8]*m[2]];
for(var V=0;V<3;V++)_[V]=Math.max(0,Math.min(1,UDOC.C.srgbGamma(_[V])));return _}};UDOC.getState=function(Z){return{font:UDOC.getFont(),dd:{flat:1},ca:1,colr:[0,0,0],space:"/DeviceGray",CA:1,COLR:[0,0,0],sspace:"/DeviceGray",bmode:"/Normal",SA:!1,OPM:0,AIS:!1,OP:!1,op:!1,SMask:"/None",lwidth:1,lcap:0,ljoin:0,mlimit:10,SM:.1,doff:0,dash:[],ctm:[1,0,0,1,0,0],cpos:[0,0],pth:{cmds:[],crds:[]},cpth:Z?UDOC.G.rectToPath(Z):null,cpstack:[]}};
UDOC.getFont=function(){return{Tc:0,Tw:0,Th:100,Tl:0,Tf:"Helvetica-Bold",Tfs:1,Tmode:0,Trise:0,Tk:0,Tal:0,Tun:0,Tm:[1,0,0,1,0,0],Tlm:[1,0,0,1,0,0],Trm:[1,0,0,1,0,0]}};
function FromPS(){}FromPS.Parse=function(Z,a){Z=new Uint8Array(Z);var i=0,n=null,G=null,s=!0;while(!(Z[i]==37&&Z[i+1]==33))i++;
var F=FromPS.B.readASCII(Z,i,Z.length-i),t=F.split(/[\n\r]+/);for(var k=0;k<t.length;k++){var I=t[k].trim();
if(I.charAt(0)=="%"){I=I.slice(1);while(I.charAt(0)=="%")I=I.slice(1);var o=I.split(":");if(o[0]=="BoundingBox"){n=o[1].trim().split(/[ ]+/).map(parseFloat)}if(I.indexOf("!PS-Adobe-3.0 EPSF-3.0")!=-1)G=I;
if(I.indexOf("!PS-Adobe-2.0 EPSF-1.2")!=-1)G=I}}if(G==null||n==null)n=[0,0,595,842];var B=[],N=FromPS._getDictStack([],{}),L=[{typ:"file",val:{buff:Z,off:i}}],Q=[],M=FromPS._getEnv(n),X=Date.now();
while(s)s=FromPS.step(B,N,L,Q,M,a);if(M.pgOpen)a.ShowPage();a.Done();console.log(Date.now()-X)};FromPS._getDictStack=function(Z,a){var i="def undef known begin end currentfile currentdict currentpacking setpacking currentoverprint setoverprint currentglobal setglobal gcheck currentsystemparams setsystemparams currentuserparams setuserparams currentpagedevice setpagedevice currentflat currentlinewidth currentdash currentpoint currentscreen setscreen currenthalftone currentblackgeneration currentundercolorremoval currentcolortransfer internaldict dict string readstring readhexstring readline getinterval putinterval token array aload astore length maxlength matrix count mark counttomark cleartomark dictstack countdictstack makepattern makefont scalefont stringwidth setfont currentcolorspace setcolorspace setcolor _setHSB_ currentgray currentrgbcolor currentcmykcolor setlinewidth setstrokeadjust setflat setlinecap setlinejoin setmiterlimit setdash clip eoclip clippath pathbbox newpath stroke fill eofill shfill closepath flattenpath showpage print _drawRect_ moveto lineto curveto arc arcn show ashow xshow yshow xyshow widthshow awidthshow charpath cshow rmoveto rlineto rcurveto translate rotate scale concat concatmatrix invertmatrix currentmatrix defaultmatrix setmatrix limitcheck save restore clipsave cliprestore gsave grestore grestorePDF grestoreall usertime readtime flush flushfile readonly executeonly findresource resourcestatus defineresource undefineresource resourceforall image imagemask colorimage xcheck status cachestatus setcachelimit type if ifelse exec stopped stop dup exch copy roll index anchorsearch pop put get load where store repeat for forall pathforall loop exit bind cvi cvr cvs cvx cvn cvlit add sub mul div idiv bitshift mod exp atan neg abs floor ceiling round truncate sqrt ln sin cos srand rand == transform itransform dtransform idtransform eq ge gt le lt ne and or not filter begincmap endcmap begincodespacerange endcodespacerange beginbfrange endbfrange beginbfchar endbfchar".split(" ").concat(Z),F="image colorimage repeat for forall loop".split(" ");
for(var t=0;t<F.length;t++)i.push(F[t]+"---");FromPS._myOps=FromPS.makeProcs({CIDSystemInfo:"/CIDSystemInfo",findfont:"/Font findresource",definefont:"/Font defineresource",undefinefont:"/Font undefineresource",selectfont:"exch findfont exch scalefont setfont",rectfill:"gsave newpath _drawRect_ fill grestore",rectstroke:"gsave newpath _drawRect_ stroke grestore",rectclip:"newpath _drawRect_ clip newpath",setgray:"/DeviceGray setcolorspace setcolor",setrgbcolor:"/DeviceRGB setcolorspace setcolor",sethsbcolor:"/DeviceRGB setcolorspace _setHSB_",setcmykcolor:"/DeviceCMYK setcolorspace setcolor",setpattern:"/Pattern setcolorspace setcolor"});
for(var n in FromPS._myOps)i.push(n);var G=a,k={},o={},B={},N={};k.systemdict={typ:"dict",val:k};k.globaldict={typ:"dict",val:o};
k.userdict={typ:"dict",val:B};k.statusdict={typ:"dict",val:N};k.GlobalFontDirectory=k.SharedFontDirectory={typ:"dict",val:{}};
k.FontDirectory={typ:"dict",val:{}};k.$error={typ:"dict",val:{}};k.errordict={typ:"dict",val:FromPS.makeProcs({handleerror:""})};
k.null={typ:"null",val:null};k.true={typ:"boolean",val:!0};k.false={typ:"boolean",val:!1};k.product={typ:"string",val:FromPS.makeStr("Photopea")};
k.version={typ:"string",val:[51]};k.languagelevel={typ:"integer",val:3};for(var t=0;t<i.length;t++)k[i[t]]={typ:"operator",val:i[t]};
for(var L in G)k[L]=G[L];return[k,o,B]};FromPS._getEnv=function(Z){var a={bb:Z,gst:UDOC.getState(Z),packing:!1,overprint:!1,global:!1,systemparams:{MaxPatternCache:{type:"integer",val:5e3}},userparams:{},pagedevice:{PageSize:{typ:"array",val:[{typ:"real",val:Z[2]},{typ:"real",val:Z[3]}]}},cmnum:0,fnt:null,res:{},pgOpen:!1,funs:FromPS.makeProcs({blackgeneration:"",undercolorremoval:"pop 0"})},i;
i="Font CIDFont CMap FontSet Form Pattern ProcSet Halftone ColorRendering IdiomSet InkParams TrapParams OutputDevice ControlLanguage Localization PDL HWOptions".split(" ");
for(var F=0;F<i.length;F++)a.res[i[F]]={typ:"dict",val:{},maxl:1e3};i=["Encoding","ColorSpace"];for(var F=0;
F<i.length;F++)a.res[i[F]]={typ:"array",val:[]};a.res.Category={typ:"dict",val:a.res};a.res.ColorSpace.val=[{typ:"array",val:[{typ:"name",val:"/DeviceRGB"}]},{typ:"array",val:[{typ:"name",val:"/DeviceCMYK"}]},{typ:"array",val:[{typ:"name",val:"/DeviceGray"}]}];
for(var F=0;F<i.length;F++)a.res[i[F]]={typ:"dict",val:{},maxl:1e3};return a};FromPS.makeProcs=function(Z){var a={};
for(var i in Z){var F=Z[i].replace(/ +/g," ").split(" ");a[i]={typ:"procedure",val:[]};for(var t=0;
t<F.length;t++)a[i].val.push({typ:"name",val:F[t]})}return a};FromPS.addProc=function(Z,a){if(Z.val.length==0)return;
if(Z.typ!="procedure"){console.log(Z);throw Z.typ}a.push({typ:"procedure",val:Z.val,off:0})};FromPS.stepC=0;
FromPS._f32=new Float32Array(1);FromPS.step=function(Z,a,i,F,t,n,G,k){var I=Date.now(),o=FromPS._f32,B=FromPS.getToken,N=t.gst,L=B(i,a),X=!1;
if(L==null)return!1;if(k&&L.typ=="string"&&FromPS.readStr(L.val)=="def")L={typ:"operator",val:"def"};
var Q=L.typ,M=L.val;if(M=="NaN"||M=="INF")Q="integer";if(isNaN(N.cpos[0]))throw"e";if(X)console.log(L,Z.slice(0));
if("integer real dict boolean string array procedure null file".split(" ").indexOf(Q)!=-1){Z.push(L);
return!0}if(Q!="name"&&Q!="operator")throw"e";if(M.charAt(0)=="/"){Z.push(L)}else if(M=="undefined")return!0;
else if(M.startsWith("II*"))return!1;else if(M=="{"){var s=[],$={typ:"procedure",val:[]},y=B(i,a);while(!0){if(y.val=="{"){var j={typ:"procedure",val:[]};
$.val.push(j);s.push($);$=j}else if(y.val=="}"){if(s.length==0)break;$=s.pop()}else $.val.push(y);y=B(i,a)}Z.push($)}else if(M=="["||M=="<<")Z.push({typ:"mark"});
else if(M=="]"||M==">>"){var m=[];while(Z.length!=0){var K=Z.pop();if(K.typ=="mark")break;m.push(K)}m.reverse();
if(M=="]")Z.push({typ:"array",val:m});else{var _={};for(var V=0;V<m.length;V+=2)_[m[V].val.slice(1)]=m[V+1];
Z.push({typ:"dict",val:_,maxl:1e3})}}else{var e=FromPS.getFromStacks(M,a);if(X)console.log("---",e);
if(e==null){if(k||M=="endstream")return!1;else{console.log("unknown operator",M,Z,a);throw"e"}}else if(e.typ=="procedure")FromPS.addProc(e,i);
else if("array string dict null integer real boolean state name file".split(" ").indexOf(e.typ)!=-1)Z.push(e);
else if(e.typ=="operator"){var p=e.val,D="known if ifelse currentpacking setpacking dict dup begin end put bind def undef where pop get exec ge stop stopped cvr string not and".split(" ");
if(FromPS._myOps[p]){FromPS.addProc(FromPS._myOps[p],i)}else if(p=="flattenpath"||p=="limitcheck"){}else if(p=="def"){var W=Z.pop(),A=Z.pop();
if(A==null&&k)return!1;A=FromPS.getDKey(A);a[a.length-1][A]=W}else if(p=="undef"||p=="known"){var x=FromPS.getDKey(Z.pop()),E=Z.pop(),d=E.val;
if(p=="undef")delete d[x];else Z.push({typ:"boolean",val:E.typ!="null"&&d[x]!=null})}else if(p=="internaldict"){var S=Z.pop().val;
Z.push({typ:"dict",val:{},maxl:1e3})}else if(p=="dict"){var S=Z.pop().val;Z.push({typ:"dict",val:{},maxl:S})}else if(p=="string"){var S=Z.pop().val;
Z.push({typ:"string",val:new Array(S)})}else if(p=="readstring"||p=="readhexstring"){var U=Z.pop(),S=U.val.length,b=Z.pop(),w=FromPS.GetFile(b).val;
if(p=="readstring"){for(var V=0;V<S;V++)U.val[V]=w.buff[w.off+V];w.off+=S}else FromPS.readHex(w,S,U.val);
Z.push(U,{typ:"boolean",val:!0})}else if(p=="readline"){var U=Z.pop(),w=FromPS.GetFile(Z.pop()).val,V=0;
if(FromPS.isEOL(w.buff[w.off]))w.off++;while(V<U.val.length){var R=w.buff[w.off];w.off++;if(R==null)throw"e";
if(FromPS.isEOL(R)){if(w.buff[w.off]==10)w.off++;break}U.val[V]=R;V++}Z.push({typ:"string",val:U.val.slice(0,V)});
Z.push({typ:"boolean",val:!0})}else if(p=="getinterval"){var bH=Z.pop().val,bX=Z.pop().val,bd=Z.pop(),H=[];
if(bd.typ=="string"||bd.typ=="array")for(var V=0;V<bH;V++)H.push(bd.val[bX+V]);else throw"e";Z.push({typ:bd.typ,val:H})}else if(p=="putinterval"){var bd=Z.pop(),bX=Z.pop().val,cx=Z.pop();
if(bX+bd.val.length>=cx.val.length){}else if(bd.typ=="string")for(var V=0;V<bd.val.length;V++)cx.val[bX+V]=bd.val[V];
else throw"e"}else if(p=="token"){var bd=Z.pop();if(bd.typ!="string")throw"e";var m=[];for(var V=0;V<bd.val.length;
V++){var cd=bd.val[V];if(cd==null)break;m.push(cd)}var aD={buff:new Uint8Array(m),off:0},L=B([{typ:"file",val:aD}],a),bZ=[];
for(var V=aD.off;V<m.length;V++)bZ.push(m[V]);Z.push({typ:"string",val:bZ},L,{typ:"boolean",val:!0})}else if(p=="array"){var S=Z.pop().val;
Z.push({typ:"array",val:new Array(S)})}else if(p=="aload"){var K=Z.pop(),m=K.val;for(var V=0;V<m.length;
V++)Z.push(m[V]);Z.push(K)}else if(p=="astore"){var K=Z.pop(),m=K.val;for(var V=0;V<m.length;V++)m[m.length-1-V]=Z.pop();
Z.push(K)}else if(p=="length"){var K=Z.pop(),Q=K.typ,S=0;if(Q=="array")S=K.val.length;else if(Q=="procedure")S=K.val.length;
else if(Q=="dict")S=Object.keys(K.val).length;else if(Q=="string")S=K.val.length;else{console.log(K);
throw"e"}Z.push({typ:"integer",val:S})}else if(p=="maxlength"){var bK=Z.pop();Z.push({typ:"integer",val:bK.maxl})}else if(p=="matrix"){Z.push({typ:"array",val:FromPS.makeArr([1,0,0,1,0,0],"real")})}else if(p=="count"){Z.push({typ:"integer",val:Z.length})}else if(p=="mark"){Z.push({typ:"mark"})}else if(p=="counttomark"||p=="cleartomark"){var an=0;
while(an<Z.length&&Z[Z.length-1-an].typ!="mark")an++;if(p=="cleartomark")for(var V=0;V<an+1;V++)Z.pop();
else Z.push({typ:"integer",val:an})}else if(p=="dictstack"){var m=Z.pop();for(var V=0;V<a.length;V++)m.val[V]={typ:"dict",val:a[V],maxl:1e3};
Z.push(m)}else if(p=="countdictstack"){var ct=0;for(var V=0;V<Z.length;V++)if(Z[V].typ=="dict")ct++;
Z.push({typ:"integer",val:ct})}else if(p=="begin"){var K=Z.pop(),d=K.val;if(d==null||K.typ!="dict"){console.log(K,a);
throw"e"}a.push(d)}else if(p=="end"){a.pop();if(a.length==3&&k)return!1}else if(p=="currentfile"){var bt;
for(var V=i.length-1;V>=0;V--)if(i[V].typ=="file"){bt=i[V];break}Z.push({typ:"file",val:bt.val})}else if(p=="currentdict"){var d=a[a.length-1];
Z.push({typ:"dict",val:d,maxl:1e3})}else if("currentpacking currentoverprint currentglobal currentsystemparams currentuserparams currentpagedevice".split(" ").indexOf(p)!=-1){var W=t[p.slice(7)];
Z.push({typ:typeof W=="boolean"?"boolean":"dict",val:W})}else if(p=="gcheck"){var aH=Z.pop();Z.push({typ:"boolean",val:!1})}else if("setpacking setoverprint setglobal setsystemparams setuserparams setpagedevice".split(" ").indexOf(p)!=-1){t[p.slice(3)]=Z.pop().val}else if(p=="currentflat"){Z.push({typ:"real",val:1})}else if(p=="currentlinewidth"){Z.push({typ:"real",val:N.lwidth})}else if(p=="currentdash"){Z.push({typ:"array",val:FromPS.makeArr(N.dash,"integer")},{typ:"real",val:N.doff})}else if(p=="currentpoint"){var aW=N.ctm.slice(0);
UDOC.M.invert(aW);var bm=UDOC.M.multPoint(aW,N.cpos);Z.push({typ:"real",val:bm[0]},{typ:"real",val:bm[1]})}else if(p=="currentscreen"){Z.push({typ:"int",val:60},{typ:"real",val:0},{typ:"real",val:0})}else if(p=="setscreen"){Z.pop();
Z.pop();Z.pop()}else if(p=="currenthalftone"){Z.push({typ:"dict",val:{},maxl:1e3})}else if(p=="currentblackgeneration"||p=="currentundercolorremoval"){Z.push(t.funs[p.slice(7)])}else if(p=="currentcolortransfer"){for(var V=0;
V<4;V++)Z.push(t.funs.blackgeneration)}else if(p=="findresource"){var bi=Z.pop().val.slice(1),by=Z.pop(),x=by.val.slice(1),aB;
if(bi=="Font"){t.res[bi].val[x]={typ:"dict",val:{FontType:{typ:"integer",val:1},FontMatrix:{typ:"array",val:FromPS.makeArr([1,0,0,1,0,0],"real")},FontName:by,FID:{typ:"fontID",val:Math.floor(Math.random()*16777215)},Encoding:{typ:"array",val:[]},FontBBox:{typ:"array",val:FromPS.makeArr([0,0,1,1],"real")},PaintType:{typ:"integer",val:0}}}}if(bi=="Category"&&x=="Generic")aB={typ:"dict",val:{},maxl:1e3};
else if((bi=="ProcSet"||bi=="Procset")&&x=="CIDInit")aB={typ:"dict",val:{},maxl:1e3};else aB=t.res[bi].val[x];
if(aB==null)throw"e";Z.push(aB)}else if(p=="resourcestatus"){var bi=Z.pop().val.slice(1),x=Z.pop().val.slice(1),aB=t.res[bi].val[x];
if(aB){Z.push({typ:"integer",val:1});Z.push({typ:"integer",val:Object.keys(aB.val).length})}Z.push({typ:"boolean",val:aB!=null})}else if(p=="defineresource"){var bi=Z.pop().val.slice(1),a0=Z.pop();
if(Z.length==0)return;var x=Z.pop().val.slice(1);t.res[bi].val[x]=a0;Z.push(a0)}else if(p=="undefineresource"){var bi=Z.pop().val.slice(1),x=Z.pop().val.slice(1);
delete t.res[bi].val[x]}else if(p=="resourceforall"){var bi=Z.pop().val.slice(1),bA=Z.pop().val,ao=Z.pop(),c4=Z.pop().val;
if(c4.length!=1||c4[0]!=42)throw"e";var ad=t.res[bi].val;for(var x in ad){var U=bA.slice(0);for(var V=0;
V<x.length;V++)U[V]=x[V];FromPS.addProc(ao,i);FromPS.addProc({typ:"procedure",val:[{typ:"string",val:U}]},i)}}else if(p=="image"||p=="colorimage"){var cr,c0,ba,b3,ae=1,aO=!1,a1=[],top=Z.pop();
Z.push(top);if(p=="image"&&top.typ=="dict"){var cl=Z.pop().val;cr=cl.Width.val;c0=cl.Height.val;ba=cl.BitsPerComponent.val;
b3=FromPS.readArr(cl.ImageMatrix.val);ae=cl.NComponents?cl.NComponents.val:1;aO=cl.MultipleDataSources?cl.MultipleDataSources.val:!1;
a1=cl.DataSource.val;if(cl.DataSource.typ=="file")a1=[cl.DataSource]}else{if(p=="colorimage"){ae=Z.pop().val;
aO=Z.pop().val}if(aO){a1[2]=Z.pop();a1[1]=Z.pop();a1[0]=Z.pop()}else a1=[Z.pop()];var b3=FromPS.readArr(Z.pop().val),ba=Z.pop().val,c0=Z.pop().val,cr=Z.pop().val}if(ae!=1&&ae!=3&&ae!=4)throw"unsupported number of channels "+ae;
if(ba!=8)throw"unsupported bits per channel: "+ba;var ay=new Uint8Array(cr*c0*4);for(var V=0;V<ay.length;
V++)ay[V]=255;i.push({typ:"name",val:p+"---",ctx:[cr,c0,ba,b3,ae,aO,ay,0,a1]});if(a1[0].typ=="procedure")for(var V=0;
V<a1.length;V++)FromPS.addProc(a1[V],i)}else if(p=="image---"||p=="colorimage---"){var b7=L.ctx,cr=b7[0],c0=b7[1],ba=b7[2],b3=b7[3],ae=b7[4],aO=b7[5],ay=b7[6],cy=b7[7],a1=b7[8],bS=0;
if(aO){for(V=0;V<ae;V++){var bC=a1[V];if(bC.typ=="procedure")bC=Z.pop().val;else bC=bC.val;bS=bC.length;
if(ae==4)for(var bu=0;bu<bS;bu++)ay[(cy+bu)*4+3-V]=bC[bu];if(ae==3)for(var bu=0;bu<bS;bu++)ay[(cy+bu)*4+2-V]=bC[bu]}}else{var bC;
if(a1[0].typ=="file")bC=FromPS.GetFile(a1[0]).val.buff;else bC=Z.pop().val;bS=Math.floor(bC.length/3);
for(var bu=0;bu<bS;bu++){var bJ=bu*3,ac=(cy+bu)*4;ay[ac+0]=bC[bJ+0];ay[ac+1]=bC[bJ+1];ay[ac+2]=bC[bJ+2]}}cy+=bS;
FromPS.checkPageStarted(t,n);if(cy==cr*c0){var aK=1/255;if(N.space=="/DeviceCMYK")for(var V=0;V<ay.length;
V+=4){var cw=[ay[V]*aK,ay[V+1]*aK,ay[V+2]*aK,ay[V+3]*aK],c3=UDOC.C.cmykToRgb(cw);ay[V]=c3[0]*255;ay[V+1]=c3[1]*255;
ay[V+2]=c3[2]*255;ay[V+3]=255}var bp=N.ctm.slice(),ca=b3.slice(0);UDOC.M.invert(ca);var bn=[cr,0,0,-c0,0,c0];
UDOC.M.concat(bn,ca);UDOC.M.concat(N.ctm,bn);n.PutImage(N,ay,cr,c0);N.ctm=bp}else{b7[7]=cy;i.push(L);
if(a1[0].typ=="procedure")for(var V=0;V<a1.length;V++)FromPS.addProc(a1[V],i)}}else if(p=="makepattern"){var O=Z.pop().val,bK=Z.pop().val;
Z.push({typ:"array",val:[bK,JSON.parse(JSON.stringify(O))]})}else if(p=="makefont"||p=="scalefont"){var ci=p=="makefont",b7=Z.pop().val;
if(ci)b7=FromPS.readArr(b7);var c7=JSON.parse(JSON.stringify(Z.pop())),bI=FromPS.readArr(c7.val.FontMatrix.val);
if(ci)UDOC.M.concat(bI,b7);else UDOC.M.scale(bI,b7,b7);c7.val.FontMatrix.val=FromPS.makeArr(bI);Z.push(c7)}else if(p=="stringwidth"||p=="charpath"){if(p=="charpath")Z.pop();
var a2=Z.pop().val,U=FromPS.readStr(a2),aq=UDOC.M.getScale(N.font.Tm)/UDOC.M.getScale(N.ctm),c5=.55*aq*U.length;
if(p=="stringwidth")Z.push({typ:"real",val:c5},{typ:"real",val:0});else UDOC.G.drawRect(N,0,0,c5,aq)}else if(p=="setfont"){var c7=Z.pop().val;
N.font.Tf=c7.FontName.val.slice(1);N.font.Tm=FromPS.readArr(c7.FontMatrix.val)}else if(p=="setlinewidth")N.lwidth=Z.pop().val;
else if(p=="setstrokeadjust")N.SA=Z.pop().val;else if(p=="setlinecap")N.lcap=Z.pop().val;else if(p=="setlinejoin")N.ljoin=Z.pop().val;
else if(p=="setmiterlimit")N.mlimit=Z.pop().val;else if(p=="setflat")N.dd.flat=Z.pop();else if(p=="setdash"){N.doff=Z.pop().val;
N.dash=FromPS.readArr(Z.pop().val)}else if(p=="show"||p=="ashow"||p=="xshow"||p=="yshow"||p=="xyshow"||p=="widthshow"||p=="awidthshow"){if(p=="xshow"||p=="xyshow"||p=="yshow")Z.pop();
var a2=Z.pop().val,U=FromPS.readStr(a2);if(p=="awidthshow"){Z.pop();Z.pop();Z.pop();Z.pop()}if(p=="widthshow"){Z.pop();
Z.pop();Z.pop()}if(p=="ashow"){Z.pop();Z.pop()}var bF=N.ctm;N.ctm=bF.slice(0);N.ctm[4]=N.cpos[0];N.ctm[5]=N.cpos[1];
FromPS.checkPageStarted(t,n);n.PutText(N,U,U.length*.55);N.cpos[0]+=U.length*UDOC.M.getScale(bF)*UDOC.M.getScale(N.font.Tm)*.55;
N.ctm=bF}else if(p=="cshow"){Z.pop();Z.pop()}else if(p=="currentcolorspace"){Z.push({typ:"array",val:[{typ:"name",val:N.space}]})}else if(p=="setcolorspace"){var as=Z.pop();
N.space=as.val;if(as.typ=="array")N.space=as.val[0].val;else if(as.typ=="name")N.space=as.val;else{console.log(as);
throw"e"}}else if(p=="setcolor"||p=="_setHSB_"){var ah;if(N.space=="/Pattern"){var cw=Z.pop();if(cw.typ!="array")throw"e";
var bm=cw.val,O=FromPS.readArr(bm[1]);UDOC.M.concat(O,N.ctm);ah=FromPS.getPSShadingFill(bm[0].Shading,O)}else if(N.space=="/DeviceGray"){var aU=FromPS.nrm(Z.pop().val);
ah=[aU,aU,aU]}else if(p=="_setHSB_"){var aH=Z.pop().val,bT=Z.pop().val,c0=Z.pop().val,aw,aU,cu,V,ck,bm,cq,cg;
V=Math.floor(c0*6);ck=c0*6-V;bm=aH*(1-bT);cq=aH*(1-ck*bT);cg=aH*(1-(1-ck)*bT);switch(V%6){case 0:aw=aH,aU=cg,cu=bm;
break;case 1:aw=cq,aU=aH,cu=bm;break;case 2:aw=bm,aU=aH,cu=cg;break;case 3:aw=bm,aU=cq,cu=aH;break;case 4:aw=cg,aU=bm,cu=aH;
break;case 5:aw=aH,aU=bm,cu=cq;break}ah=[FromPS.nrm(aw),FromPS.nrm(aU),FromPS.nrm(cu)]}else if(N.space=="/DeviceRGB"){var cu=Z.pop().val,aU=Z.pop().val,aw=Z.pop().val;
ah=[FromPS.nrm(aw),FromPS.nrm(aU),FromPS.nrm(cu)]}else if(N.space=="/DeviceCMYK"){var aE=Z.pop().val,a7=Z.pop().val,O=Z.pop().val,bL=Z.pop().val;
ah=UDOC.C.cmykToRgb([bL,O,a7,aE])}else throw N.space;if(ah)N.colr=N.COLR=ah}else if(p=="currentrgbcolor"){for(var V=0;
V<3;V++)Z.push({typ:"real",val:N.colr[V]})}else if(p=="currentcmykcolor"){for(var V=0;V<3;V++)Z.push({typ:"real",val:1-N.colr[V]});
Z.push({typ:"real",val:0})}else if(p=="currentgray"){Z.push({typ:"real",val:(N.colr[0]+N.colr[1]+N.colr[2])/3})}else if(p=="clip"||p=="eoclip"){var bU=UDOC.G.getBB(N.pth.crds),aP=UDOC.G.getBB(N.cpth.crds);
if(UDOC.G.isBox(N.pth,bU)&&UDOC.G.insideBox(aP,bU)){}else if(UDOC.G.isBox(N.cpth,aP)&&UDOC.G.insideBox(bU,aP)){N.cpth=JSON.parse(JSON.stringify(N.pth))}else if(UDOC.G.isBox(N.pth,bU)&&UDOC.G.isBox(N.cpth,aP)){var bG=Math.min(bU[0],aP[0]),bo=Math.min(bU[1],aP[1]),ce=Math.min(bU[2],aP[2]),bj=Math.min(bU[3],aP[3]);
N.cpth={cmds:["M","L","L","L","Z"],crds:[bG,bo,ce,bo,ce,bj,bG,bj]}}else{N.cpth=JSON.parse(JSON.stringify(N.pth.crds.length>N.cpth.crds.length?N.pth:N.cpth))}}else if(p=="clippath"){N.pth=JSON.parse(JSON.stringify(N.cpth))}else if(p=="pathbbox"){var ak=N.pth.crds,ag=UDOC.G.getBB(ak);
ak=[ag[0],ag[1],ag[2],ag[1],ag[0],ag[3],ag[2],ag[3]];var aW=N.ctm.slice(0);UDOC.M.invert(aW);UDOC.M.multArray(aW,ak);
ag=UDOC.G.getBB(ak);o[0]=ag[0];ag[0]=o[0];o[0]=ag[1];ag[1]=o[0];o[0]=ag[2];ag[2]=o[0];o[0]=ag[3];ag[3]=o[0];
ag=FromPS.makeArr(ag,"real");Z.push(ag[0],ag[1],ag[2],ag[3])}else if(p=="newpath")UDOC.G.newPath(N);
else if(p=="stroke"){FromPS.checkPageStarted(t,n);n.Stroke(N);UDOC.G.newPath(N)}else if(p=="shfill"){var b1=N.colr,c8=N.pth,bm=Z.pop().val,O=N.ctm.slice(0);
N.colr=FromPS.getPSShadingFill({typ:"dict",val:bm,maxl:1e3},O);FromPS.checkPageStarted(t,n);N.pth=N.cpth;
N.cpth=UDOC.G.rectToPath(t.bb);n.Fill(N);N.colr=b1;N.pth=c8}else if(p=="fill"||p=="eofill"){FromPS.checkPageStarted(t,n);
n.Fill(N,p=="eofill");UDOC.G.newPath(N)}else if(p=="showpage"){FromPS.checkPageStarted(t,n);n.ShowPage();
var aZ=N.font;N=t.gst=UDOC.getState(t.bb);N.font=aZ;t.pgOpen=!1}else if(p=="print"){var a2=Z.pop().val,U=FromPS.readStr(a2);
n.Print(U)}else if(p=="_drawRect_"){var c0=Z.pop();if(c0.typ!="real"&&c0.typ!="integer")throw"e";c0=c0.val;
var cr=Z.pop().val,a7=Z.pop().val,al=Z.pop().val;UDOC.G.drawRect(N,al,a7,cr,c0)}else if(p=="closepath")UDOC.G.closePath(N);
else if(p=="moveto"||p=="lineto"){var a7=Z.pop().val,al=Z.pop().val;if(p=="moveto")UDOC.G.moveTo(N,al,a7);
else UDOC.G.lineTo(N,al,a7)}else if(p=="rmoveto"||p=="rlineto"){var a7=Z.pop().val,al=Z.pop().val,aW=N.ctm.slice(0);
UDOC.M.invert(aW);var bm=UDOC.M.multPoint(aW,N.cpos);a7+=bm[1];al+=bm[0];if(p=="rmoveto")UDOC.G.moveTo(N,al,a7);
else UDOC.G.lineTo(N,al,a7)}else if(p=="curveto"){var bO=Z.pop().val,a$=Z.pop().val,aC=Z.pop().val,b8=Z.pop().val,bj=Z.pop().val,ce=Z.length==0?0:Z.pop().val;
UDOC.G.curveTo(N,ce,bj,b8,aC,a$,bO)}else if(p=="arc"||p=="arcn"){var cv=Z.pop().val,aF=Z.pop().val,aw=Z.pop().val,a7=Z.pop().val,al=Z.pop().val;
UDOC.G.arc(N,al,a7,aw,aF*Math.PI/180,cv*Math.PI/180,p=="arcn")}else if(p=="concat"){var O=FromPS.readArr(Z.pop().val);
UDOC.M.concat(O,N.ctm);N.ctm=O}else if(["translate","scale","rotate"].indexOf(p)!=-1){var aH=Z.pop(),O,al,a7;
if(aH.typ=="array"){O=FromPS.readArr(aH.val);a7=Z.pop().val}else{O=[1,0,0,1,0,0];a7=aH.val}if(p!="rotate")al=Z.pop().val;
if(p=="translate")UDOC.M.translate(O,al,a7);if(p=="scale")UDOC.M.scale(O,al,a7);if(p=="rotate")UDOC.M.rotate(O,-a7*Math.PI/180);
if(aH.typ=="array")Z.push({typ:"array",val:FromPS.makeArr(O,"real")});else{UDOC.M.concat(O,N.ctm);N.ctm=O}}else if(p=="concatmatrix"){var ch=FromPS.readArr,aT=ch(Z.pop().val),cz=ch(Z.pop().val),ai=ch(Z.pop().val),O=ai.slice(0);
UDOC.M.concat(O,cz);O=FromPS.makeArr(O,"real");Z.push({typ:"array",val:O})}else if(p=="invertmatrix"){var ch=FromPS.readArr,cz=ch(Z.pop().val),ai=ch(Z.pop().val),O=ai.slice(0);
UDOC.M.invert(O);O=FromPS.makeArr(O,"real");Z.push({typ:"array",val:O})}else if(p=="currentmatrix"||p=="defaultmatrix"){var O=Z.pop(),bv=FromPS.makeArr(p=="currentmatrix"?N.ctm:[1,0,0,1,0,0],"real");
for(var V=0;V<6;V++)O.val[V]=bv[V];Z.push(O)}else if(p=="setmatrix"){N.ctm=FromPS.readArr(Z.pop().val)}else if(p=="cvi"){var K=Z.pop(),aH=K.val,H=0;
if(K.typ=="real")H=Math.round(aH);else if(K.typ=="integer")H=aH;else throw"unknown type "+K.typ;Z.push({typ:"integer",val:H})}else if(p=="cvr"){var K=Z.pop(),aH=K.val,H=0;
if(K.typ=="real")H=aH;else if(K.typ=="integer")H=aH;else if(K.typ=="string")H=parseFloat(FromPS.readStr(aH));
else throw"unknown type "+K.typ;Z.push({typ:"real",val:H})}else if(p=="cvs"){var U=Z.pop(),cc=Z.pop(),W="";
U.val=[];Z.push(U);if(cc.typ=="real"||cc.typ=="integer"){if(Math.abs(Math.round(cc.val)-cc.val)<1e-6)W=Math.round(cc.val)+".0";
else W=(Math.round(cc.val*1e6)/1e6).toString()}else if(cc.typ=="name")W=cc.val;else throw"unknown var type: "+cc.typ;
for(var V=0;V<W.length;V++)U.val[V]=W.charCodeAt(V)}else if(p=="cvx"){var K=Z.pop(),b0;if(K.typ=="array")b0={typ:"procedure",val:K.val};
else if(K.typ=="name")b0={typ:"name",val:K.val.slice(1)};else if(K.typ=="string"){b0={typ:"file",val:{off:0,buff:new Uint8Array(K.val)}}}else{console.log(K);
throw K.typ}Z.push(b0)}else if(p=="cvlit"){var e=Z.pop();if(e.typ=="procedure")Z.push({typ:"array",val:e.val});
else Z.push(e)}else if(p=="cvn"){Z.push({typ:"name",val:FromPS.readStr(Z.pop().val)})}else if("add sub mul div idiv bitshift mod exp atan".split(" ").indexOf(p)!=-1){var af=Z.pop(),b6=Z.pop(),v=b6.val,bB=af.val,H=0,C="";
if(p=="add"||p=="sub"||p=="mul")C=b6.typ=="real"||af.typ=="real"?"real":"integer";else if(p=="div"||p=="atan"||p=="exp")C="real";
else if(p=="mod"||p=="idiv"||p=="bitshift")C="integer";if(b6.typ=="real"){o[0]=v;v=o[0]}if(af.typ=="real"){o[0]=bB;
bB=o[0]}if(p=="add")H=v+bB;if(p=="sub")H=v-bB;if(p=="mul")H=v*bB;if(p=="div")H=v/bB;if(p=="idiv")H=~~(v/bB);
if(p=="bitshift")H=bB>0?v<<bB:v>>>-bB;if(p=="mod")H=v%bB;if(p=="exp")H=Math.pow(v,bB);if(p=="atan")H=Math.atan2(v,bB)*180/Math.PI;
if(C=="real"){o[0]=H;H=o[0]}Z.push({typ:C,val:H})}else if("neg abs floor ceiling round truncate sqrt ln sin cos".split(" ").indexOf(p)!=-1){var b6=Z.pop(),v=b6.val,H=0,C="";
if(p=="neg"||p=="abs"||p=="truncate"||p=="floor"||p=="ceiling"||p=="round")C=b6.typ;else if(p=="sqrt"||p=="sin"||p=="cos"||p=="ln")C="real";
if(b6.typ=="real"){o[0]=v;v=o[0]}if(p=="neg")H=-v;if(p=="abs")H=Math.abs(v);if(p=="floor")H=Math.floor(v);
if(p=="ceiling")H=Math.ceil(v);if(p=="round")H=Math.round(v);if(p=="truncate")H=Math.trunc(v);if(p=="sqrt")H=Math.sqrt(v);
if(p=="ln")H=Math.log(v);if(p=="sin")H=Math.sin(v*Math.PI/180);if(p=="cos")H=Math.cos(v*Math.PI/180);
if(p=="ln"&&v<=0)throw"e";if(C=="real"){o[0]=H;H=o[0]}Z.push({typ:C,val:H})}else if("eq ge gt le lt ne".split(" ").indexOf(p)!=-1){var af=Z.pop(),b6=Z.pop(),u=b6.typ,cp=af.typ,v=b6.val,bB=af.val,H=!1;
if(p=="eq"||p=="ne"){var bY=b6.typ==af.typ;if(bY&&["integer","real","name","null","dict"].indexOf(u)!=-1)H=v==bB;
else if(u=="real"&&cp=="integer"||cp=="real"&&u=="integer")H=v==bB;else if(!bY&&(b6.typ=="null"||af.typ=="null"))H=!1;
else if(bY&&b6.typ=="string"){if(v.length!=bB.length)H=!1;else{H=!0;for(var V=0;V<v.length;V++)if(v[V]!=bB[V])H=!1}}else{console.log(p,b6,af,b6.val==af.val);
throw"e"}if(p=="ne")H=!H}else if(p=="ge")H=v>=bB;else if(p=="gt")H=v>bB;else if(p=="le")H=v<=bB;else if(p=="lt")H=v<bB;
Z.push({typ:"boolean",val:H})}else if(["and","or"].indexOf(p)!=-1){var T=Z.pop(),Y=Z.pop(),bB=Y.val,h=T.val,f=Y.typ=="integer",H;
if(p=="and")H=f?bB&h:bB&&h;if(p=="or")H=f?bB|h:bB||h;Z.push({typ:f?"integer":"boolean",val:H})}else if(p=="not"){var cu=Z.pop(),aH=cu.val,f=cu.typ=="integer",H=f?~aH:!aH;
Z.push({typ:f?"integer":"boolean",val:H})}else if(p=="if"){var ao=Z.pop(),l=Z.pop().val;if(l)FromPS.addProc(ao,i)}else if(p=="ifelse"){var ap=Z.pop(),bf=Z.pop(),l=Z.pop().val;
FromPS.addProc(l?bf:ap,i)}else if(p=="exec"||p=="stopped"){var e=Z.pop();if(p=="stopped")FromPS.addProc({typ:"procedure",val:[{typ:"boolean",val:!1}]},i);
if(e.typ=="procedure")FromPS.addProc(e,i);else if(e.typ=="name"||e.typ=="operator"||e.typ=="integer"||e.typ=="real"||e.typ=="array")FromPS.addProc({typ:"procedure",val:[e]},i);
else{console.log(e);throw"unknown executable type: "+e.typ}}else if(p=="stop"){var J=i[i.length-1];if(J.typ=="procedure"&&J.off!=0)i.pop()}else if(p=="dup"){var aH=Z.pop();
Z.push(aH,aH)}else if(p=="exch"){Z.push(Z.pop(),Z.pop())}else if(p=="copy"){var ct=Z.pop();if(ct.typ=="integer"){var cB=[];
for(var V=0;V<ct.val;V++)cB[ct.val-1-V]=Z.pop();for(var V=0;V<ct.val;V++)Z.push(cB[V]);for(var V=0;V<ct.val;
V++)Z.push(cB[V])}else if(ct.typ=="array"){var O=Z.pop().val;for(var V=0;V<O.length;V++){ct.val[V]=O[V];
if(O[V].val==null){console.log(a);throw"e"}}Z.push(ct)}else if(ct.typ=="dict"){var O=Z.pop().val;for(var r in O){ct.val[r]=O[r]}Z.push(ct)}else throw"e"}else if(p=="roll"){var bu=Z.pop().val,ct=Z.pop().val,cB=[];
for(var V=0;V<ct;V++)cB.push(Z.pop());cB.reverse();bu=(ct+bu)%ct;for(var V=0;V<bu;V++)cB.unshift(cB.pop());
for(var V=0;V<ct;V++)Z.push(cB[V])}else if(p=="index"){var ct=Z.pop().val;Z.push(Z[Z.length-1-ct])}else if(p=="anchorsearch"){var g=Z.pop(),bk=Z.pop(),c9=g.val,U=bk.val,aV=!0;
if(c9.length<=U.length){for(var V=0;V<c9.length;V++)if(c9[V]!=U[V])aV=!1}else aV=!1;if(aV)Z.push({typ:"string",val:U.slice(c9.length)},g);
else Z.push(bk);Z.push({typ:"boolean",val:aV})}else if(p=="transform"||p=="itransform"||p=="dtransform"||p=="idtransform"){var O=Z.pop(),a7=0,al=0;
if(O.typ=="array"){O=FromPS.readArr(O.val);a7=Z.pop().val}else{a7=O.val;O=N.ctm.slice(0)}if(p=="itransform"||p=="idtransform"){UDOC.M.invert(O)}al=Z.pop().val;
if(p.endsWith("dtransform")){O[4]=0;O[5]=0}var az=UDOC.M.multPoint(O,[al,a7]);Z.push({typ:"real",val:az[0]},{typ:"real",val:az[1]})}else if(p=="pop"||p=="srand"||p=="=="){Z.pop()}else if(p=="rand"){Z.push({typ:"integer",val:Math.floor(Math.random()*2147483647)})}else if(p=="put"){var M=Z.pop(),K=Z.pop(),e=Z.pop(),C=e.typ;
if(C=="array"){if(K.typ!="integer")throw"e";e.val[K.val]=M}else if(C=="dict"){var A=FromPS.getDKey(K);
e.val[A]=M}else if(C=="string")e.val[K.val]=M.val;else throw C+" e"}else if(p=="get"){var K=Z.pop(),e=Z.pop(),C=e.typ;
if(C=="string")Z.push({typ:"integer",val:e.val[K.val]});else if(C=="array"){var W=e.val[K.val];if(W==null)throw"e";
Z.push(W)}else if(C=="dict"){var aE=FromPS.getDKey(K),aH=e.val[aE];if(aH==null){throw"e"}else Z.push(aH)}else throw"getting from unknown type "+e.typ}else if(p=="load"){var x=Z.pop().val.slice(1),M=FromPS.getFromStacks(x,a);
if(M==null){console.log(x,a);throw"e"}Z.push(M)}else if(p=="where"){var x=Z.pop().val.slice(1),d=FromPS.where(x,a);
if(d!=null)Z.push({typ:"dict",val:d,maxl:1e3});Z.push({typ:"boolean",val:d!=null})}else if(p=="store"){var M=Z.pop(),x=Z.pop().val.slice(1),d=FromPS.where(x,a);
if(d==null)d=a[a.length-1];d[x]=M}else if(p=="repeat"){var ao=Z.pop(),bN=Z.pop().val;i.push({typ:"name",val:p+"---",ctx:{proc:ao,cur:0,cnt:bN}})}else if(p=="repeat---"){var z=L.ctx;
if(z.cur<z.cnt){i.push(L);FromPS.addProc(z.proc,i);z.cur++}}else if(p=="for"){var ao=Z.pop(),cj=Z.pop(),aI=Z.pop(),a6=Z.pop();
i.push({typ:"name",val:p+"---",ctx:{proc:ao,isInt:a6.typ=="integer"&&aI.typ=="integer",init:a6.val,inc:aI.val,limit:cj.val}})}else if(p=="for---"){var z=L.ctx;
if(z.isInt){if(z.inc>0&&z.init<=z.limit||z.inc<0&&z.init>=z.limit){i.push(L);FromPS.addProc(z.proc,i);
Z.push({typ:"integer",val:z.init});z.init+=z.inc}}else{var P=new Float32Array(1);P[0]=z.limit;z.limit=P[0];
P[0]=z.inc;z.inc=P[0];P[0]=z.init;if(z.inc>0&&P[0]<=z.limit||z.inc<0&&P[0]>=z.limit){i.push(L);FromPS.addProc(z.proc,i);
Z.push({typ:"real",val:P[0]});P[0]+=z.inc;z.init=P[0]}}}else if(p=="loop"){var ao=Z.pop();i.push({typ:"name",val:p+"---",ctx:{proc:ao}})}else if(p=="loop---"){var z=L.ctx;
i.push(L);FromPS.addProc(z.proc,i)}else if(p=="pathforall"){var c=Z.pop(),b$=Z.pop(),cn=Z.pop(),bb=Z.pop()}else if(p=="forall"){var ao=Z.pop(),e=Z.pop(),z=[ao,e,0];
i.push({typ:"name",val:p+"---",ctx:z})}else if(p=="forall---"){var z=L.ctx,ao=z[0],e=z[1],V=z[2];if(e.typ=="dict"){var aN=Object.keys(e.val);
if(V<aN.length){i.push(L);FromPS.addProc(ao,i);Z.push({typ:"name",val:"/"+aN[V]});var W=e.val[aN[V]];
if(W==null)throw"e";Z.push(W==null?{typ:"null",val:null}:W);z[2]++}}else if(e.typ=="procedure"||e.typ=="array"){if(V<e.val.length){i.push(L);
FromPS.addProc(ao,i);var bD=e.val[V];Z.push(bD==null?{typ:"null",val:null}:bD);z[2]++}}else{console.log(ao,e);
throw"forall: unknown type: "+e.typ}}else if(p=="exit"){var V=i.length-1;while(V!=0&&(i[V].typ!="name"||!i[V].val.endsWith("---")))V--;
if(V!=0)while(i.length>V)i.pop()}else if(p=="bind"){}else if(p=="xcheck"){var e=Z.pop(),Q=e.typ;Z.push({typ:"boolean",val:Q=="procedure"})}else if(p=="status"){var U=Z.pop();
Z.push({typ:"boolean",val:!1})}else if(p=="cachestatus"){for(var V=0;V<7;V++)Z.push({typ:"integer",val:5e3})}else if(p=="setcachelimit"){Z.pop()}else if(p=="type"){var K=Z.pop(),bh={name:"nametype",dict:"dicttype",boolean:"booleantype",procedure:"operatortype",string:"stringtype",null:"nulltype",integer:"integertype",array:"arraytype",operator:"operatortype",real:"realtype"};
if(bh[K.typ]==null){console.log(K);throw K.typ}Z.push({typ:"name",val:"/"+bh[K.typ]})}else if(p=="save"){Z.push({typ:"state",val:JSON.parse(JSON.stringify(N))})}else if(p=="restore"){N=t.gst=Z.pop().val}else if(p=="clipsave"){N.cpstack.push(JSON.parse(JSON.stringify(N.cpth)))}else if(p=="cliprestore"){N.cpath=N.cpstack.pop()}else if(p=="gsave"){F.push(JSON.parse(JSON.stringify(N)))}else if(p=="grestore"||p=="grestorePDF"){var aA=N.pth;
if(F.length!=0)N=t.gst=F.pop();else N=UDOC.getState();if(p=="grestorePDF")N.pth=aA}else if(p=="grestoreall"){while(F.length!=0)N=t.gst=F.pop()}else if(p=="usertime"||p=="realtime")Z.push({typ:"integer",val:p=="usertime"?Date.now()-I:Date.now()});
else if(p=="flush"||p=="readonly"||p=="executeonly"){}else if(p=="flushfile"){FromPS.GetFile(Z.pop())}else if(p=="filter"){var aS=Z.pop().val,aa;
if(aS=="/SubFileDecode"){var U=Z.pop();if(U.typ!="string")throw"e";var bH=Z.pop().val;U=U.val;aa=[aS,U,bH]}else aa=[aS];
var a4=Z.pop();Z.push({typ:"file",val:{buff:new Uint8Array,off:0},_flt:aa,_src:a4})}else if(p=="begincmap"||p=="endcmap"){}else if(p=="begincodespacerange"||p=="beginbfrange"||p=="beginbfchar"){t.cmnum=Z.pop().val}else if(p=="endcodespacerange"||p=="endbfrange"||p=="endbfchar"){var c=p=="endbfrange"?3:2,aL=p.slice(3),d=a[a.length-1],ba=0;
if(d[aL]==null)d[aL]=[];for(var V=0;V<t.cmnum;V++){var ar=[];for(var bu=c-1;bu>=0;bu--){var cs=Z.pop(),W;
if(cs==null&&k)return!1;var bR=cs.val;if(cs.typ=="string"){W=FromPS.strToInt(bR);if(bu==0)ba=bR.length}else{W=[];
for(var aE=0;aE<bR.length;aE++)W.push(FromPS.strToInt(bR[aE].val))}ar[bu]=W}d[aL]=d[aL].concat(ar)}if(p!="endcodespacerange")d.bpc=ba}else if(G)G(p,Z,a,i,F,t,n);
else{console.log(M,p);console.log(a,Z);throw"e"}}else throw e.typ}return!0};FromPS.strToInt=function(Z){var a=0;
for(var i=0;i<Z.length;i++)a=a<<8|Z[i];return a};FromPS.getDKey=function(Z){if(Z.typ=="name")return Z.val.slice(1);
if(Z.typ=="string")return FromPS.readStr(Z.val);return Z.val};FromPS.GetFile=function(Z){if(Z._flt==null||Z.val.off<Z.val.buff.length)return Z;
FromPS.GetFile(Z._src);var a=Z._src.val,i=Z._flt,F=i[0],t;if(F=="/ASCII85Decode")t=FromPS.F.ASCII85Decode(a);
else if(F=="/RunLengthDecode")t=FromPS.F.RunLengthDecode(a);else if(F=="/FlateDecode")t=FromPS.F.FlateDecode(a);
else if(F=="/LZWDecode")t=FromPS.F.LZWDecode(a);else if(F=="/SubFileDecode"){var G=i[1],k=i[2],I=a.off,o=0;
while(I<a.buff.length){var B=0;while(B<G.length&&a.buff[I+B]==G[B])B++;if(B==G.length){if(o==k)break;
o++}I++}t=a.buff.slice(a.off,I);a.off=I}else throw F;Z.val={buff:t,off:0};return Z};FromPS.checkPageStarted=function(Z,a){if(!Z.pgOpen){a.StartPage(Z.bb[0],Z.bb[1],Z.bb[2],Z.bb[3]);
Z.pgOpen=!0}};FromPS.getPSShadingFill=function(Z,a){function i(t){var n,G=t.typ,k=t.val;if(G=="dict"){n={};
for(var I in k)n["/"+I]=i(k[I])}else if(G=="array"){n=[];for(var o=0;o<k.length;o++)n.push(i(k[o]))}else if(G=="string"){n="";
for(var o=0;o<k.length;o++)n+=String.fromCharCode(k[o])}else if(["boolean","integer","real","name"].indexOf(G)!=-1)n=k;
else if(G=="procedure"){var B="";for(var o=0;o<k.length;o++)B+=k[o].val+" ";B="{ "+B+"}";var N=new Uint8Array(B.length);
for(var o=0;o<B.length;o++)N[o]=B.charCodeAt(o);n={"/FunctionType":4,"/Domain":[0,1],"/Range":[0,1,0,1,0,1,0,1],"/Length":B.length,stream:N}}else{console.log(t);
throw"e"}return n}var F=i(Z);return FromPS.getShadingFill(F,a)};FromPS.F={HexDecode:function(Z){var a=[];
FromPS.readHex(Z,1e9,a);return new Uint8Array(a)},ASCII85Decode:function(Z){var a=[85*85*85*85,85*85*85,85*85,85,1],i=[],F=0,t=0,n=0,G=Z.off,k=Z.buff,o=k.length;
while(!0){var B=k[G++];if(FromPS.isWhite(B)){}else if(B==126){if(t!=0){for(var N=t;N<5;N++)n+=84*a[t];
for(var N=1;N<t;N++)i.push(n>>>32-N*8&255)}Z.off=G+1;return new Uint8Array(i)}else if(B==122){i.push(0);
i.push(0);i.push(0);i.push(0)}else{n+=(B-33)*a[t];t++;if(t==5){i.push(n>>>24&255);i.push(n>>>16&255);
i.push(n>>>8&255);i.push(n>>>0&255);t=0;n=0}}}},RunLengthDecode:function(Z){var a=[],i=Z.off,F=Z.buff.length;
while(i<F){var t=Z.buff[i];i++;if(t==128){break}if(t<128){for(var n=0;n<t+1;n++)a.push(Z.buff[i+n]);
i+=t+1}else{for(var n=0;n<257-t;n++)a.push(Z.buff[i]);i++}}Z.off=i;return new Uint8Array(a)},FlateDecode:function(Z){var a=Z.buff;
if(a.length==0)return a;var i=new Uint8Array(a.buffer,a.byteOffset+Z.off+2,a.length-2),F=pako.inflateRaw(i);
return F},LZWDecode:function(Z){var a=new Uint8Array((Z.buff.length-Z.off)*20),i=UTIF.decode._decodeLZW(Z.buff,Z.off,Z.buff.length-Z.off,a,0,8);
return a.slice(0,i)},_myLZW:function(){var Z={},a=function(F,t,n,G,k){for(var o=0;o<k;o+=4){n[G+o]=F[t+o];
n[G+o+1]=F[t+o+1];n[G+o+2]=F[t+o+2];n[G+o+3]=F[t+o+3]}},i=function(F,t,n,G){if(!Z.c){var k=new Uint32Array(65535),o=new Uint16Array(65535),B=new Uint8Array(2e6);
for(var N=0;N<256;N++){B[N<<2]=N;k[N]=N<<2;o[N]=1}Z.c=[k,o,B]}var L=Z.c[0],Q=Z.c[1],B=Z.c[2],X=258,s=258<<2,$=9,y=t<<3,j=256,m=257,K=0,_=0,D=0;
while(!0){K=F[y>>>3]<<16|F[y+8>>>3]<<8|F[y+16>>>3];_=K>>24-(y&7)-$&(1<<$)-1;y+=$;if(_==m)break;if(_==j){$=9;
X=258;s=258<<2;K=F[y>>>3]<<16|F[y+8>>>3]<<8|F[y+16>>>3];_=K>>24-(y&7)-$&(1<<$)-1;y+=$;if(_==m)break;
n[G]=_;G++}else if(_<X){var x=L[_],E=Q[_];a(B,x,n,G,E);G+=E;if(D>=X){L[X]=s;B[L[X]]=x[0];Q[X]=1;s=s+1+3&~3;
X++}else{L[X]=s;var S=L[D],U=Q[D];a(B,S,B,s,U);B[s+U]=B[x];U++;Q[X]=U;X++;s=s+U+3&~3}if(X+1==1<<$)$++}else{if(D>=X){L[X]=s;
Q[X]=0;X++}else{L[X]=s;var S=L[D],U=Q[D];a(B,S,B,s,U);B[s+U]=B[s];U++;Q[X]=U;X++;a(B,s,n,G,U);G+=U;s=s+U+3&~3}if(X+1==1<<$)$++}D=_}return G};
return i}()};FromPS.B={readUshort:function(Z,a){return Z[a]<<8|Z[a+1]},readUint:function(Z,a){return Z[a]*(256*256*256)+(Z[a+1]<<16|Z[a+2]<<8|Z[a+3])},readASCII:function(Z,a,i){var F="";
for(var t=0;t<i;t++)F+=String.fromCharCode(Z[a+t]);return F}};FromPS.nrm=function(Z){return Math.max(0,Math.min(1,Z))};
FromPS.makeArr=function(Z,a){var i=[];for(var F=0;F<Z.length;F++)i.push({typ:a,val:Z[F]});return i};
FromPS.readArr=function(Z){var a=[];for(var i=0;i<Z.length;i++)a.push(Z[i].val);return a};FromPS.makeStr=function(Z){var a=[];
for(var i=0;i<Z.length;i++)a.push(Z.charCodeAt(i));return a};FromPS.readStr=function(Z){var a="";for(var i=0;
i<Z.length;i++)a+=String.fromCharCode(Z[i]);return a};FromPS.getFromStacks=function(Z,a){var i=a.length-1;
while(i>=0){if(a[i][Z]!=null)return a[i][Z];i--}return null};FromPS.where=function(Z,a){var i=a.length-1;
while(i>=0){if(a[i][Z]!=null)return a[i];i--}return null};FromPS.skipWhite=function(Z){var a=Z.off,i=Z.buff,F=FromPS.isWhite;
while(F(i[a])||i[a]==37){while(F(i[a]))a++;if(i[a]==37){while(a<i.length&&!FromPS.isEOL(i[a]))a++;a++}}Z.off=a};
FromPS.getToken=function(Z,a){if(Z.length==0)return null;var i=Z[Z.length-1];if(i.typ=="procedure"){var F=i.val[i.off];
i.off++;if(i.off==i.val.length)Z.pop();return F}if(i.typ=="name"){Z.pop();return i}var t=FromPS.getFToken(i.val,a);
while(t==null&&Z.length>1){Z.pop();if(Z.length!=0)t=FromPS.getFToken(Z[Z.length-1].val,a)}return t};
FromPS.getFToken=function(Z,a){FromPS.skipWhite(Z);var i=FromPS.isWhite,F=FromPS.isSpecl,t=Z.off,n=Z.buff,G=null;
if(t>=n.length)return null;var k=n[t],o=String.fromCharCode(k);t++;if(o=="("){var B=0,N=t;while(!(n[N]==41&&B==0)){var L=n[N];
if(L==40)B++;else if(L==41)B--;else if(L==92)N++;N++}var Q=[];for(var M=0;M<N-t;M++)Q.push(n[t+M]);t=N+1;
Q=FromPS.getString(Q);G={typ:"string",val:Q}}else if(o=="{"||o=="}"||o=="["||o=="]"){G={typ:"name",val:o}}else if(o=="<"&&n[t]==60||o==">"&&n[t]==62){G={typ:"name",val:o=="<"?"<<":">>"};
t++}else if(o=="<"){var Q;if(n[t]=="~".charCodeAt(0)){Z.off=t+1;var X=FromPS.F.ASCII85Decode(Z);Q=[];
for(var M=0;M<X.length;M++)Q.push(X[M]);t=Z.off}else{var N=t;while(n[N]!=62)N++;var Q=[];FromPS.readHex({buff:n,off:t},1e9,Q);
t=N+1}G={typ:"string",val:Q}}else{var N=t;while(N<n.length&&!i(n[N])&&(!F(n[N])||n[N]==47&&n[N-1]==47&&N==t&&a))N++;
var s=FromPS.B.readASCII(n,t-1,N-t+1);t=N;var $=parseFloat(s);if(!1){}else if(s=="true"||s=="false")G={typ:"boolean",val:s=="true"};
else if(!isNaN($)){var y=new Float32Array(1);y[0]=$;$=y[0];G={typ:s.indexOf(".")==-1?"integer":"real",val:$}}else{if(s.slice(0,2)=="//"&&a){var j=s.slice(2),m=FromPS.getFromStacks(j,a);
if(m!=null)G=m;else G={typ:"name",val:s}}else G={typ:"name",val:s}}}Z.off=t;return G};FromPS.isSpecl=function(Z){return[40,41,60,62,91,93,123,125,37,47].indexOf(Z)!=-1};
FromPS.isWhite=function(Z){return Z==0||Z==9||Z==10||Z==12||Z==13||Z==32};FromPS.isEOL=function(Z){return Z==10||Z==13};
FromPS.getString=function(Z){var a=[],i="n,r,t,b,f,\\,(,), ,/".split(","),F=["\n","\r","\t","\b","\f","\\","(",")"," ","/"];
for(var t=0;t<Z.length;t++){var n=Z[t],G=String.fromCharCode(n);if(G=="\\"){var k=String.fromCharCode(Z[t+1]);
t++;if(k=="\r"||k=="\n")continue;var o=i.indexOf(k);if(o!=-1)a.push(F[o].charCodeAt(0));else{var B=k+String.fromCharCode(Z[t+1])+String.fromCharCode(Z[t+2]);
t+=2;a.push(parseInt(B,8))}}else a.push(n)}return a};FromPS.makeString=function(Z){var a="n r t b f \\ ( )".split(" "),i=["\n","\r","\t","\b","\f","\\","(",")"],F=[];
for(var t=0;t<Z.length;t++){var n=Z[t],G=i.indexOf(String.fromCharCode(n));if(G==-1)F.push(n);else F.push(92,a[G].charCodeAt(0))}return F};
FromPS.readHex=function(Z,a,i){var F=0,t=-1,n=Z.off,G=Z.buff.length;while(F!=a&&n<G){var k=Z.buff[n],B=0;
n++;if(47<k&&k<58)B=k-48;else if(96<k&&k<103)B=10+k-97;else if(64<k&&k<71)B=10+k-65;else if(k==62)break;
else if(FromPS.isWhite(k))continue;else throw"e";if(t==-1)t=B;else{i[F]=t<<4|B;t=-1;F++}}Z.off=n};FromPS.getShadingFill=function(Z,a,i){var F=Z["/ShadingType"],t=Z["/ColorSpace"],n=Z["/Extend"],G=Z["/Coords"]?Z["/Coords"].slice(0):null,k="",B;
if(n==null)n=[!1,!1];if(F==2)k="lin";else if(F==3)k="rad";else{console.log("Unknown shading type",F);
return}var I=Z["/Function"],o=i?i["/Function"]:null;if(I instanceof Array){var N=I.length,L;for(var M=0;
M<N;M++){var X=FromPS.getGrad(I[M],"/DeviceGray");if(M==0)L=X;else{var s=L.length;for(var $=0;$<s;$++)L[$][1][M]=X[$][1][0]}}if(t=="/DeviceCMYK")for(var M=0;
M<L.length;M++)L[M][1]=UDOC.C.cmykToRgb(L[M][1]);B=L}else B=FromPS.getGrad(I,t,o);if(k=="rad"&&G[2]>G[5]){G=G.slice(3).concat(G.slice(0,3));
n.reverse();B.reverse();for(var M=0;M<B.length;M++)B[M][0]=1-B[M][0]}if(!n[0]&&k!="rad"){var y=B[0];
y[0]+=.002;B.unshift([.001,y[1].slice(),0,.5])}if(!n[1]){var y=B[B.length-1];y[0]-=.002;B.push([.999,y[1].slice(),0,.5])}var j={typ:k,mat:a,grad:B,crds:G};
return j};FromPS.getGrad=function(Z,a,i){var F=FromPS._normColor,t=Z["/Functions"],n=Z["/FunctionType"],G=Z["/Bounds"],k=Z["/Encode"],I=i?i["/Functions"]:null,o;
if(n==0){o=[];var B=Math.min(4,Z["/Size"][0]);for(var N=0;N<=B;N++)o.push([N/B,F(Z,[N/B],a),1,.5])}else if(n==2)o=[[0,F(Z,[0],a),1,.5],[1,F(Z,[1],a),1,.5]];
else if(n==3){var L=[];if(G.length==0||G[0]>0)L.push([0,0,k[0]]);for(var N=0;N<G.length;N++)L.push([G[N],N,k[2*N+1]]);
if(G.length==0||G[G.length-1]<1)L.push([1,t.length-1,k[k.length-1]]);o=[];for(var N=0;N<L.length;N++){var M=L[N],X=t[M[1]],s=.5,$=X["/N"];
if($!=null){s=Math.pow(.5,1/$);if(M[2]==0)s=1-s}o.push([M[0],F(X,[M[2]],a),I?F(I[M[1]],[M[2]],"/DeviceGray")[0]:1,s])}for(var N=1;
N<o.length;N++)o[N-1][3]=o[N][3]}else if(n==4){o=[];for(var N=0;N<5;N++)o.push([N/5,F(Z,[N/5],a),1,.5])}return o};
FromPS._normColor=function(Z,a,i){var F="/DeviceCMYK",t="/DeviceRGB",n,G=Z?FromPS.Func(Z,a):a;if(i[3]&&i[3]["/Length"]){G=FromPS.Func(i[3],G);
if(i[2]==F||G.length==4)n=F;else if(i[2]==t)n=t;else if(i[2]&&i[2][0]=="/Lab")n="/Lab";else if(i[2]&&i[2][1]&&i[2][1]["/Alternate"]&&i[2][1]["/Alternate"][0]=="/Lab")n="/Lab";
else if(i[2]&&i[2][1]&&i[2][1]["/Alternate"]&&i[2][1]["/Alternate"]==t)n=t;else if(i[2]&&i[2][1]&&i[2][1]["/N"]&&i[2][1]["/N"]==3)n=t;
else{console.log(G,i);throw"unknown color profile"}}else if(i[0]=="/ICCBased"&&i[1]){var k=i[1]["/N"];
if(k==4)n=F;else if(k==3)n=t;else throw k}else if(i[0]=="/Separation"){G=FromPS._readSeparation(i,G[0]);
n=t}else if(i.length==1)n=i[0];else if(i[0]=="/Lab")n="/Lab";else if(i[2]==F)n=F;else n=i;if(n==t)G=G;
else if(n==F)G=UDOC.C.cmykToRgb(G);else if(n=="/DeviceGray")G=[G[0],G[0],G[0]];else if(n=="/Lab")G=UDOC.C.labToRgb(G);
else throw"Unknown color space "+n;return G};FromPS._readSeparation=function(Z,a){var i=FromPS.Func(Z[3],[a]),F;
if(Z&&Z[2]=="/DeviceCMYK")F=UDOC.C.cmykToRgb(i);else if(Z&&Z[2]=="/DeviceGray")F=[i[0],i[0],i[0]];else if(Z&&Z[2]&&Z[2][0]&&Z[2][0]=="/Lab")F=UDOC.C.labToRgb(i);
else{F=i}return F};FromPS.Func=function(Z,a){var i=FromPS.intp,F=Z["/Domain"],t=Z["/Range"],G=Z["/FunctionType"],k=[];
for(var I=0;I<a.length;I++)a[I]=Math.max(F[2*I],Math.min(F[2*I+1],a[I]));if(G==0){var o=Z["/Encode"],B=Z["/Size"],N=Z["/Decode"],L=t.length/2;
if(o==null)o=[0,B[0]-1];if(N==null)N=t;for(var I=0;I<a.length;I++){var M=i(a[I],F[2*I],F[2*I+1],o[2*I],o[2*I+1]);
a[I]=Math.max(0,Math.min(B[I]-1,M))}var X=Z["/DataSource"];for(var s=0;s<L;s++){var $=Math.round(a[0]),y;
if(X)y=X.charCodeAt(L*$+s);else y=FromPS.GS(Z)[L*$+s];y=i(y,0,255,N[2*s],N[2*s+1]);k.push(y)}}else if(G==2){var j=Z["/C0"],m=Z["/C1"],K=Z["/N"];
if(j==null)j=[0];if(m==null)m=[1];var $=a[0];for(var I=0;I<j.length;I++)k[I]=j[I]+Math.pow($,K)*(m[I]-j[I])}else if(G==4){var _=FromPS._getEnv([0,0,0,0]),W=!0;
_.pgOpen=!0;var e=[],p=[],X=FromPS._getDictStack([],{}),D=[];D.push({typ:"file",val:{buff:FromPS.GS(Z),off:0}});
while(W)W=FromPS.step(p,X,D,e,_,{},FromPS.operator);var A=p.pop();A.off=0;D.push(A);for(var I=0;I<a.length;
I++)p.push({typ:"real",val:a[I]});W=!0;while(W)W=FromPS.step(p,X,D,e,_,{},FromPS.operator);for(var I=0;
I<p.length;I++)k.push(p[I].val)}if(t)for(var I=0;I<k.length;I++)k[I]=Math.max(t[2*I],Math.min(t[2*I+1],k[I]));
return k};FromPS.intp=function(Z,a,i,F,t){return F+(Z-a)*(t-F)/(i-a)};FromPS.GS=function(Z){if(Z.stream==null){var a=Z.buff;
delete Z.buff;var i=Z["/Filter"],F=Z["/DecodeParms"];if(i!=null){var t=typeof i=="string"?[i]:i,n=!1;
for(var G=0;G<t.length;G++){var k=t[G],o={buff:a,off:0};if(k=="/FlateDecode"){a=FromPS.F.FlateDecode(o)}else if(k=="/RunLengthDecode"){a=FromPS.F.RunLengthDecode(o)}else if(k=="/LZWDecode"){a=FromPS.F.LZWDecode(o)}else if(k=="/ASCIIHexDecode"){a=FromPS.F.HexDecode(o)}else if(k=="/ASCII85Decode"||k=="/A85"){a=FromPS.F.ASCII85Decode(o)}else if(k=="/DCTDecode"||k=="/CCITTFaxDecode"||k=="/JPXDecode"||k=="/JBIG2Decode"){n=!0}else{console.log(k,a);
throw"e"}}if(!n)delete Z["/Filter"]}if(F!=null){if(F instanceof Array)F=F[0];if(F&&F["/Predictor"]!=null&&F["/Predictor"]!=1){var B=F["/Columns"],N=F["/Colors"]?F["/Colors"]:1,L=N*B,Q=a.length/(L+1);
FromPS._filterZero(a,0,B,Q,N);a=a.slice(0,Q*L)}}Z.stream=a}return Z.stream};FromPS._filterZero=function(Z,a,i,F,t){var n=t*i,G=FromPS._paeth;
for(var I=0;I<F;I++){var o=a+I*n,B=o+I+1,N=Z[B-1];if(N==0)for(var L=0;L<n;L++)Z[o+L]=Z[B+L];else if(N==1){for(var L=0;
L<t;L++)Z[o+L]=Z[B+L];for(var L=t;L<n;L++)Z[o+L]=Z[B+L]+Z[o+L-t]&255}else if(I==0){for(var L=0;L<t;L++)Z[o+L]=Z[B+L];
if(N==2)for(var L=t;L<n;L++)Z[o+L]=Z[B+L]&255;if(N==3)for(var L=t;L<n;L++)Z[o+L]=Z[B+L]+(Z[o+L-t]>>1)&255;
if(N==4)for(var L=t;L<n;L++)Z[o+L]=Z[B+L]+G(Z[o+L-t],0,0)&255}else{if(N==2){for(var L=0;L<n;L++)Z[o+L]=Z[B+L]+Z[o+L-n]&255}if(N==3){for(var L=0;
L<t;L++)Z[o+L]=Z[B+L]+(Z[o+L-n]>>1)&255;for(var L=t;L<n;L++)Z[o+L]=Z[B+L]+(Z[o+L-n]+Z[o+L-t]>>1)&255}if(N==4){for(var L=0;
L<t;L++)Z[o+L]=Z[B+L]+G(0,Z[o+L-n],0)&255;for(var L=t;L<n;L++)Z[o+L]=Z[B+L]+G(Z[o+L-t],Z[o+L-n],Z[o+L-t-n])&255}}}return Z};
FromPS._paeth=function(Z,a,i){var F=Z+a-i,t=Math.abs(F-Z),n=Math.abs(F-a),G=Math.abs(F-i);if(t<=n&&t<=G)return Z;
else if(n<=G)return a;return i};function FromPDF(){}FromPDF.indexOfXref=function(Z){var a=Z.length-3;
while(FromPS.B.readASCII(Z,a,3)!="%%E")a--;while(Z[a-1]==37)a--;var i=a;a--;while(FromPS.isEOL(Z[a])||Z[a]==32)a--;
while(!FromPS.isEOL(Z[a])&&Z[a]!=32)a--;a++;var F=parseInt(FromPS.B.readASCII(Z,a,i-a));if(isNaN(F))throw"no xref";
return F};FromPDF.Parse=function(Z,a){Z=new Uint8Array(Z);var i=0;while(Z[i]==32)i++;if(i!=0)Z=new Uint8Array(Z.buffer,Z.byteOffset+i,Z.length-i);
var F=FromPDF.indexOfXref(Z),t=[],n=FromPDF.readXrefTrail(Z,F,t),G=-1;for(var k=0;k<t.length;k++)if(t[k]==null)G=k;
if(n==null||G!=-1||typeof n["/Root"]!="object"){console.log("PDF is broken, trying to rebuild");while(t.length!=0)t.pop();
n=FromPDF.brokenXrefTrail(Z,t)}if(n["/Encrypt"]){alert("Encrypted PDFs are not supported yet.");return}var o={buff:Z,off:0},B=n["/Root"];
if(B.typ=="ref")n["/Root"]=FromPDF.getIndirect(B.ind,B.gen,o,t);var N=n["/Root"]["/Pages"];if(N.typ=="ref")n["/Root"]["/Pages"]=FromPDF.getIndirect(N.ind,N.gen,o,t);
var L=[n["/Root"]["/Pages"]];while(L.length!=0){var Q=L.pop();if(Q["/Kids"]){var M=Q["/Kids"];for(var k=0;
k<M.length;k++){if(M[k].typ=="ref")M[k]=FromPDF.getIndirect(M[k].ind,M[k].gen,o,t);FromPDF.solveIndirects(M[k],o,t,0);
L.push(M[k])}}}var X=Date.now();FromPDF.render(n["/Root"],a,n);a.Done()};FromPDF.solveIndirects=function(Z,a,i,F){if(F>50)return;
if(typeof Z=="object")for(var t in Z)if(t.startsWith("/")){if(Z[t]&&Z[t].typ=="ref"&&i[Z[t].ind])Z[t]=FromPDF.getIndirect(Z[t].ind,Z[t].gen,a,i);
FromPDF.solveIndirects(Z[t],a,i,F+1)}};FromPDF.render=function(Z,a,i){var F="CS cs SCN scn SC sc sh Do gs ID EI cm y v B B* BT ET Tj TJ Tf Tm Td T* Tc Tw Tz TL Tr Ts MP DP BMC BDC EMC BX EX ri TRGR trgr _reset_".split(" "),t={J:"setlinecap",j:"setlinejoin",w:"setlinewidth",d:"setdash",M:"setmiterlimit",i:"setflat",q:"gsave",Q:"grestorePDF",m:"moveto",l:"lineto",c:"curveto",h:"closepath",re:"_drawRect_",W:"clip","W*":"eoclip",f:"fill",F:"fill","f*":"eofill",S:"stroke",b:"h B","b*":"h B*",n:"newpath",RG:"/DeviceRGB CS SCN",rg:"/DeviceRGB cs scn",G:"/DeviceGray CS SCN",g:"/DeviceGray cs scn",K:"/DeviceCMYK CS SCN",k:"/DeviceCMYK cs scn",TD:"dup neg TL Td","\"":"exch Tc exch Tw '","'":"T* Tj",s:"h S",BI:"/BI"},G=0;
t=FromPS.makeProcs(t);var n=[Z["/Pages"]];while(n.length!=0){var k=n.pop();if(k["/Kids"]){var I=k["/Kids"];
for(var o=I.length-1;o>=0;o--)n.push(I[o]);continue}var B=k["/MediaBox"];if(B==null)B=Z["/Pages"]["/MediaBox"];
if(B==null)B=k["/Parent"]["/MediaBox"];G+=(B[2]-B[0])*(B[3]-B[1])}var n=[Z["/Pages"]],N=-1,L=[-1e9,1e9];
while(n.length!=0){var k=n.pop();if(k["/Kids"]){var I=k["/Kids"];for(var o=I.length-1;o>=0;o--)n.push(I[o]);
continue}N++;if(N<L[0])continue;if(k["/Resources"]==null)k["/Resources"]=Z["/Pages"]["/Resources"];if(k["/Resources"]==null)k["/Resources"]=k["/Parent"]["/Resources"];
var Q=k["/Contents"];if(Q==null)continue;if(Q.length==null)Q=[Q];var M=Z["/Pages"]["/Rotate"];if(M==null)M=k["/Rotate"];
var X=M!=null&&(M+36e3)%360==90,B=k["/MediaBox"];if(B==null)B=Z["/Pages"]["/MediaBox"];if(B==null)B=k["/Parent"]["/MediaBox"];
if(X)B=[B[0],B[1],B[3],B[2]];var s=FromPS._getEnv(B);s.pgOpen=!0;var $=[],y=[],j=FromPS._getDictStack(F,t),m=[];
if(X){UDOC.M.rotate(s.gst.ctm,Math.PI/2);UDOC.M.translate(s.gst.ctm,0,B[3])}a.StartPage(B[0],B[1],B[2],B[3],G);
if(i["/Encrypt"]){if(n.length==0)alert("Encrypted PDF is not supported yet.")}else for(var K=0;K<Q.length;
K++){if(Q[K].buff==null||Q[K]["/Length"]==0)continue;var _=FromPS.GS(Q[K]),V=_.length-1,e=!0;while(_[V]==0)V--;
_=new Uint8Array(_.buffer,_.byteOffset,V+1);m.push({typ:"file",val:{buff:_,off:0,extra:k}});while(e){e=FromPS.step(y,j,m,$,s,a,FromPDF.operator)}}a.ShowPage();
if(N>=L[1])break}};FromPDF.addCmd=function(Z,a,i){var F=Z.length,t=new Uint8Array(F);for(var n=0;n<F;
n++)t[n]=Z.charCodeAt(n);a.push({typ:"file",val:{buff:t,off:0,extra:i}})};FromPDF._pushForm=function(Z,a,i,F){var t=FromPS.GS(a);
if(t==null)return;var n=a["/Matrix"];if(i)FromPDF.addCmd("Q TRGR",Z,a);if(F)FromPDF.addCmd("Q",Z,a);
if(n){var G=n.slice(0);UDOC.M.invert(G);FromPDF.addCmd(G.join(" ")+" cm",Z,a)}Z.push({typ:"file",val:{buff:t,off:0,extra:a}});
if(n)FromPDF.addCmd(n.join(" ")+" cm",Z,a);if(F)FromPDF.addCmd("q",Z,a);if(i)FromPDF.addCmd("trgr q _reset_",Z,a)};
FromPDF.operator=function(Z,a,i,F,t,n,G){var k=n.gst,I=F.length-1;while(F[I].typ!="file")I--;var o=F[I].val,B=o.extra["/Resources"];
if(Z=="Do"){var N=a.pop().val,L=B["/XObject"][N],Q=L["/Subtype"];if(Q=="/Form"){var M=L["/Group"],X=M&&M["/S"]=="/Transparency"&&(k.ca!=1||k.bmode!="/Normal");
if(L["/Resources"]==null)L["/Resources"]=B;FromPDF._pushForm(F,L,X)}else if(Q=="/Image"){var s=L["/Width"],$=L["/Height"],y=L["/ColorSpace"],j=L["/SMask"],m=FromPDF.getImage(L),K=FromPDF.getJBIG2Glob(L),V,e;
if(j&&j["/Width"]){var p=j["/Width"],D=j["/Height"],W=new Uint32Array(m.buffer.slice(m.byteOffset,m.byteOffset+8));
if((p!=s||D!=$)&&W[0]==W[1]){var A=new Uint32Array(p*D);A.fill(W[0]);s=p;$=D;m=new Uint8Array(A.buffer)}if(p==s&&D==$){V=FromPDF.getImage(L["/SMask"]);
e=FromPDF.getJBIG2Glob(L["/SMask"])}}if(L["/ImageMask"]==!0){V=m;e=K;m=new Uint8Array(s*$*4);K=null;
var x=k.colr[0]*255,E=k.colr[1]*255,d=k.colr[2]*255;for(var S=0;S<s*$*4;S+=4){m[S]=x;m[S+1]=E;m[S+2]=d;
m[S+3]=255}}if(m&&m.byteOffset!=0)m=m.slice(0);if(V&&V.byteOffset!=0)V=V.slice(0);G.PutImage(k,m,s,$,V,K,e)}else console.log("Unknown XObject",Q)}else if(Z=="trgr"){G.StartTGroup(k)}else if(Z=="TRGR")G.EndTGroup();
else if(Z=="_reset_"){k.ca=k.CA=1;k.bmode="/Normal"}else if(Z=="gs"){if(a.length==0)return;var U=a.pop().val,b=B["/ExtGState"][U];
for(var w in b){var R=b[w];if(w=="/Type")continue;else if(w=="/CA")k.CA=R;else if(w=="/ca")k.ca=R;else if(w=="/BM")k.bmode=R;
else if(w=="/LC")k.lcap=R;else if(w=="/LJ")k.ljoin=R;else if(w=="/LW")k.lwidth=R;else if(w=="/ML")k.mlimit=R;
else if(w=="/SA")k.SA=R;else if(w=="/OPM")k.OPM=R;else if(w=="/AIS")k.AIS=R;else if(w=="/OP")k.OP=R;
else if(w=="/op")k.op=R;else if(w=="/SMask"){if(typeof R=="string")k.SMask=R;else if(R["/G"]){var bH=R["/G"]["/Resources"];
if(bH){var bX=bH["/Shading"];for(var bd in bX){bX=bX[bd];break}k.SMask=bX}}else throw"e"}else if(w=="/SM")k.SM=R;
else if(w=="/HT"||w=="/TR"){}else console.log("Unknown gstate property: ",w,R)}}else if(Z=="ID"){var H={};
while(!0){var R=a.pop().val;if(R=="/BI")break;H[a.pop().val]=R}o.off++;var s=H["/W"],$=H["/H"],cx=s*$,m=new Uint8Array(cx*4),y=H["/CS"],cd=H["/BPC"];
if(y==null)y="/G";var aD=o.off,bZ=o.buff;while(!FromPS.isWhite(bZ[aD])||bZ[aD+1]!=69||bZ[aD+2]!=73||!FromPS.isWhite(bZ[aD+3]))aD++;
var bK=bZ.slice(o.off,aD);o.off+=bK.length;if(H["/F"]=="/Fl"){var an={buff:bK,"/Filter":"/FlateDecode"};
if(H["/DP"]){var ct=an["/DecodeParms"]={},bt=["Predictor","Columns","Colors"];for(var S=0;S<3;S++)if(H["/DP"][bt[S]])ct["/"+bt[S]]=H["/DP"][bt[S]].val}bK=FromPS.GS(an);
delete H["/F"];delete H["/DP"]}if(y=="/G"&&H["/F"]==null){var aH=[0,0,0,255,255,255],aW=new Uint8Array(cx*4);
if(H["/ImageMask"]==!0)aH.reverse();FromPDF.plteImage(bK,0,m,cd==1?aH:null,s,$,cd)}else if(y=="/RGB"&&H["/F"]==null&&bK.length==s*$*3){for(var S=0;
S<cx;S++){var bm=S*3,bi=S*4;m[bi]=bK[bm];m[bi+1]=bK[bm+1];m[bi+2]=bK[bm+2];m[bi+3]=255}}else if(y&&y[0].typ!=null){FromPDF.plteImage(bK,0,m,y[3].val,s,$,cd)}else m=bK;
G.PutImage(k,m,s,$)}else if(Z=="n"||Z=="BT"||Z=="EI"){}else if(Z=="ET"){k.font.Tm=[1,0,0,1,0,0];k.font.Tlm=k.font.Tm.slice(0)}else if(Z=="y"||Z=="v"){var by=k.ctm.slice(0);
UDOC.M.invert(by);var w=UDOC.M.multPoint(by,k.cpos),aB=a.pop().val,a0=a.pop().val,bA=a.pop().val,ao=a.pop().val;
if(Z=="y")UDOC.G.curveTo(k,ao,bA,a0,aB,a0,aB);else UDOC.G.curveTo(k,w[0],w[1],ao,bA,a0,aB)}else if(Z=="B"||Z=="B*"){G.Fill(k,Z=="B*");
G.Stroke(k);UDOC.G.newPath(k)}else if(Z=="cm"||Z=="Tm"){var c4=[];for(var S=0;S<6;S++)c4.push(a.pop().val);
c4.reverse();if(Z=="cm"){UDOC.M.concat(c4,k.ctm);k.ctm=c4}else{k.font.Tm=c4;k.font.Tlm=c4.slice(0)}}else if(Z=="Td"||Z=="T*"){var ad=0,cr=0;
if(Z=="T*"){ad=0;cr=-k.font.Tl}else{cr=a.pop().val;ad=a.pop().val}var c0=[1,0,0,1,ad,cr];UDOC.M.concat(c0,k.font.Tlm);
k.font.Tm=c0;k.font.Tlm=c0.slice(0)}else if(Z=="Tf"){var ba=a.pop().val,b3=a.pop().val;k.font.Tf=b3;
k.font.Tfs=ba}else if(Z=="Tj"||Z=="TJ"){var ae=a.pop();if(ae.typ=="string")ae=[ae];else ae=ae.val;var aO=k.font.Tf,b3=B["/Font"][aO];
if(b3==null)b3=B["/Font"][aO.replace("_","#5F")];var a1=F[0].val.extra["/Resources"]["/Font"];if(b3==null&&a1)b3=a1[aO];
if(b3==null&&a1)for(var cl in a1){b3=a1[cl];break}if(b3==null)return;var ay=k.font.Tfs/1e3,b7=function(c5,bF){var as=[1,0,0,1,bF,0];
UDOC.M.concat(as,c5.Tm);c5.Tm=as};for(var S=0;S<ae.length;S++){if(ae[S].typ!="string"){if(S==0)b7(k.font,-ay*ae[S].val);
continue}var cy=FromPDF.getString(ae[S].val,b3);if(ae[S+1]&&ae[S+1].typ!="string"){var bS=ae[S+1].val;
cy[1]+=-bS;if(-900<bS&&bS<-100)cy[0]+=" "}k.font.Tf=cy[2];G.PutText(k,cy[0],cy[1]/1e3);k.font.Tf=aO;
b7(k.font,ay*cy[1])}}else if(Z=="Tc")k.font.Tc=a.pop().val;else if(Z=="Tw")k.font.Tw=a.pop().val;else if(Z=="Tz")k.font.Th=a.pop().val;
else if(Z=="TL")k.font.Tl=a.pop().val;else if(Z=="Tr")k.font.Tmode=a.pop().val;else if(Z=="Ts")k.font.Trise=a.pop().val;
else if(Z=="CS"||Z=="cs"){var y=a.pop().val;if(Z=="CS")k.sspace=y;else k.space=y}else if(Z=="SCN"||Z=="scn"||Z=="SC"||Z=="sc"){var bC=Z=="SCN"||Z=="SC",bu=bC?k.sspace:k.space,y,bJ=null,ac=B?B["/ColorSpace"]:null;
if(ac!=null&&ac[bu]!=null){if(ac[bu][1]&&ac[bu][1]["/Alternate"])y=ac[bu][1]["/Alternate"];else y=typeof ac[bu]=="string"?ac[bu]:ac[bu][0]}else y=bu;
if(y=="/DeviceN"){var aK=ac[bu],cw=aK[1].length;for(var S=0;S<cw;S++)a.pop();bJ=[1,0,0]}else if(y=="/Lab"||y=="/DeviceRGB"||y=="/CalRGB"||y=="/ICCBased"&&ac[bu][1]["/N"]==3){bJ=[a.pop().val,a.pop().val,a.pop().val];
bJ.reverse()}else if(y=="/DeviceCMYK"||y=="/ICCBased"&&ac[bu][1]["/N"]==4){var c3=[a.pop().val,a.pop().val,a.pop().val,a.pop().val];
c3.reverse();bJ=UDOC.C.cmykToRgb(c3)}else if(y=="/DeviceGray"||y=="/CalGray"||y=="/ICCBased"&&ac[bu][1]["/N"]==1){var bp=FromPS.nrm(a.pop().val);
bJ=[bp,bp,bp]}else if(y=="/Separation"){bJ=FromPS._readSeparation(ac[bu],a.pop().val)}else if(y=="/Indexed"){var aH=FromPDF.getPalette(ac[bu]),ca=a.pop().val*3;
bJ=[aH[ca]/255,aH[ca+1]/255,aH[ca+2]/255]}else if(y=="/Pattern"){var O=B["/Pattern"][a.pop().val],ci=O["/PatternType"];
if(ci==1){console.log("tile pattern");FromPDF._pushForm(F,O,!1,!0);return}var c7=O["/Matrix"];if(c7==null)c7=[1,0,0,1,0,0];
var bI=k.SMask=="/None"?null:k.SMask;bJ=FromPS.getShadingFill(O["/Shading"],c7,bI);if(bJ==null)bJ=[0,0,0]}else{console.log(bu,y,ac,B);
throw"e"}if(bC)k.COLR=bJ;else k.colr=bJ}else if(Z=="sh"){var bX=B["/Shading"][a.pop().val],bI=k.SMask=="/None"?null:k.SMask,a2=k.colr,aq=k.pth;
k.pth=k.cpth;k.cpth=UDOC.G.rectToPath(n.bb);k.colr=FromPS.getShadingFill(bX,k.ctm.slice(0),bI);if(k.colr==null)k.colr=[0,0,0];
G.Fill(k);k.colr=a2;k.pth=aq}else if(Z=="MP"||Z=="BMC"||Z=="ri"){a.pop()}else if(Z=="DP"||Z=="BDC"){a.pop();
a.pop()}else if(Z=="EMC"||Z=="BX"||Z=="EX"){}else throw"Unknown operator",Z};FromPDF.getJBIG2Glob=function(Z){var a=Z;
a=a["/DecodeParms"];if(a==null)return null;if(a.length!=null)a=a[0];if(a==null)return null;a=a["/JBIG2Globals"];
if(a==null)return null;return FromPS.GS(a)};FromPDF.getImage=function(Z){var a=Z["/Width"],i=Z["/Height"],F=a*i,t=FromPS.GS(Z),n=Z["/Filter"],G=Z["/ColorSpace"],I=Z["/BitsPerComponent"],o=Z["/Matte"],B=Z.image;
if(B==null){var N=Z["/Mask"];if(G&&G[0]=="/Indexed"){var L=FromPDF.getPalette(G),Q=new Uint8Array(F*4);
FromPDF.plteImage(t,0,Q,L,a,i,I,N);B=Q}else if(n==null&&(G==null||G=="/DeviceGray")){var L=[0,0,0,255,255,255],Q=new Uint8Array(F*4);
if(Z["/Decode"]&&Z["/Decode"][0]==1){L.reverse()}if(Z["/ImageMask"]==!0)L.reverse();FromPDF.plteImage(t,0,Q,I==1?L:null,a,i,I,N);
B=Q}else if(n==null&&G&&(G=="/DeviceCMYK"||G[0]=="/ICCBased"&&G[1]&&G[1]["/N"]==4)){var Q=new Uint8Array(F*4),M=[0,0,0,0];
for(var X=0;X<F;X++){var s=X*4;M[0]=t[s]*(1/255);M[1]=t[s+1]*(1/255);M[2]=t[s+2]*(1/255);M[3]=t[s+3]*(1/255);
var $=UDOC.C.cmykToRgb(M);Q[s]=~~($[0]*255+.5);Q[s+1]=~~($[1]*255+.5);Q[s+2]=~~($[2]*255+.5);Q[s+3]=255}B=Q}else if(n==null){var y=Math.round(255/((1<<I)-1)),j=Math.ceil(a*3*I/8),Q=new Uint8Array(F*4);
Q.fill(255);var y=Math.round(255/((1<<I)-1));for(var m=0;m<i;m++){var K=j*m;for(var V=0;V<a;V++){var s=(m*a+V)*4,p=3*V;
Q[s]=FromPDF.getBitNum(t,K,p,I)*y;Q[s+1]=FromPDF.getBitNum(t,K,p+1,I)*y;Q[s+2]=FromPDF.getBitNum(t,K,p+2,I)*y}}B=Q}else{B=t}if(o&&o.join("")!="000"){var D=Math.round(o[0]*255),W=Math.round(o[1]*255),A=Math.round(o[2]*255);
for(var X=0;X<B.length;X+=4){B[X]=Math.max(B[X],D);B[X+1]=Math.max(B[X+1],W);B[X+2]=Math.max(B[X+2],A)}}Z.image=B}return B};
FromPDF.getPalette=function(Z){var a;if(Z[3].length!=null){var i=Z[3];a=new Uint8Array(256*3);for(var F=0;
F<i.length;F++)a[F]=i.charCodeAt(F)}else a=FromPS.GS(Z[3]);if(Z[1]=="/DeviceCMYK"||Z[1]&&Z[1][1]&&Z[1][1]["/N"]==4){var t=a,a=new Uint8Array(256*3);
for(var F=0;F<256;F++){var n=F<<2,G=n-F,k=UDOC.C.cmykToRgb([t[n]/255,t[n+1]/255,t[n+2]/255,t[n+3]/255]);
a[G]=k[0]*255;a[G+1]=k[1]*255;a[G+2]=k[2]*255}}return a};FromPDF.plteImage=function(Z,a,i,F,t,n,G,I){var o=Math.round(255/((1<<G)-1)),B=Math.ceil(t*G/8);
for(var N=0;N<n;N++){var L=a+B*N;for(var Q=0;Q<t;Q++){var M=FromPDF.getBitNum(Z,L,Q,G),X=N*t+Q<<2;if(F){var s=M*3;
i[X]=F[s];i[X+1]=F[s+1];i[X+2]=F[s+2]}else{var $=M*o;i[X]=$;i[X+1]=$;i[X+2]=$}i[X+3]=255;if(I&&I[0]<=M&&M<=I[1])i[X+3]=0}}};
FromPDF.getBitNum=function(Z,a,i,F){var t=0;if(F==8)t=Z[a+i];else if(F==4)t=Z[a+(i>>1)]>>(1-(i&1)<<2)&15;
else if(F==2)t=Z[a+(i>>2)]>>(3-(i&3)<<1)&3;else if(F==1)t=Z[a+(i>>3)]>>(7-(i&7)<<0)&1;return t};FromPDF.getString=function(Z,a){function i(b,w){console.log("approximating word widths");
var R=0,bH=.4;for(var j=0;j<b.length;j++){var x=b.charCodeAt(j);if(64<=x&&x<=90)R+=1.3;else R++}if(w.indexOf("Courier")!=-1)bH=.59;
if(w=="Helvetica"||w=="Helvetica-Oblique")bH=.44;if(w=="Helvetica-Bold")bH=.46;return R*1e3*bH}var F=a["/Subtype"],t="",n=0,G=null,k=a["/ToUnicode"],I=a["/Encoding"],o=a,p;
if(k!=null&&typeof k!="object")k=null;if(F=="/Type0")o=a["/DescendantFonts"][0];if(k!=null)t=FromPDF.toUnicode(Z,k);
else if(I=="/WinAnsiEncoding")t=FromPDF.encFromMap(Z,FromPDF._win1252);else if(I=="/MacRomanEncoding")t=FromPDF.encFromMap(Z,FromPDF._macRoman);
else if(F=="/Type0"){var B=0,N=o["/CIDSystemInfo"]["/Ordering"];if(N=="Identity")B=0;else if(N=="Japan1")B=31;
else if(N=="GB1")B=31;else if(N=="CNS1")B=31;else if(N=="Korea1")B=31;else{console.log("unknown ordering",N);
B=0}for(var Q=0;Q<Z.length;Q+=2){var M=Z[Q]<<8|Z[Q+1];t+=String.fromCharCode(M+B)}}else if(I!=null&&I["/Type"]=="/Encoding"){var X=I["/Differences"],s=I["/BaseEncoding"],$=null,t="";
if(s=="/WinAnsiEncoding")$=FromPDF._win1252;if(s=="/MacRomanEncoding")$=FromPDF._macRoman;for(var j=0;
j<Z.length;j++){var m=Z[j],K=-5,_=!1;if(X)for(var Q=0;Q<X.length;Q++){if(typeof X[Q]=="string"){if(m==K){t+=FromPDF.fromCName(X[Q].slice(1));
_=!0;break}K++}else K=X[Q]}if(!_&&$!=null){var V=$.indexOf(m);if(V!=-1)m=String.fromCharCode($[V+1]);
t+=String.fromCharCode(m)}else if(!_)t+=String.fromCharCode(m)}}else{t=FromPS.readStr(Z)}var e=o["/FontDescriptor"],D=["","2","3"];
for(var j=0;j<3;j++)if(e&&e["/FontFile"+D[j]])p="/FontFile"+D[j];if(e){if(e.psName)G=e.psName;else if(p){var W=FromPS.GS(e[p]);
if(p!=null&&W&&FromPS.B.readUint(W,0)==65536)G=e.psName=FromPDF._psName(W)}}if(G==null&&a["/BaseFont"])G=a["/BaseFont"].slice(1);
if(G==null||G=="")G="DejaVuSans";if(F=="/Type0"){var A=o["/W"];if(A&&A.length==0)A=null;if(A==null){n=i(t,G)}else for(var j=0;
j<Z.length;j+=2){var x=Z[j]<<8|Z[j+1],E=!1;for(var Q=0;Q<A.length;Q+=2){var d=A[Q],S=A[Q+1];if(S.length){if(0<=x-d&&x-d<S.length){n+=S[x-d];
E=!0}}else{if(d<=x&&x<=S){n+=A[Q+2];E=!0}Q++}}if(!E)n+=A[1].length?A[1][0]:A[2]}}else if(F=="/Type1"||F=="/Type3"||F=="/TrueType"||F=="/MMType1"){var U=a["/FirstChar"],A=a["/Widths"];
if(A)for(var j=0;j<Z.length;j++)n+=A[Z[j]-U];else{n=i(t,G)}}else throw"unknown font type";return[t,n,G]};
FromPDF._psName=function(Z){var a=FromPS.B.readUshort,i=a(Z,4),F=0;for(var t=0;t<i;t++){var n=FromPS.B.readASCII(Z,12+t*16,4),G=FromPS.B.readUint(Z,12+t*16+8);
if(n=="name"){F=G;break}}if(F==0)return null;var k=a(Z,F+2),o=F+6,B=F+6;for(var t=0;t<k;t++){var N=a(Z,B),L=a(Z,B+2),Q=a(Z,B+4),M=a(Z,B+6),X=a(Z,B+8),s=a(Z,B+10),$;
B+=12;var j=o+k*12+s;if(L==1||L==10||L==3||N==3&&L==0){$="";for(var m=1;m<X;m+=2)$+=String.fromCharCode(Z[j+m])}else if(L==0||L==2)$=FromPS.B.readASCII(Z,j,X);
if(M==6&&$!=null&&$.slice(0,3)!="OTS")return $.replace(/\s/g,"")}return null};FromPDF.encFromMap=function(Z,a){var i="";
for(var F=0;F<Z.length;F++){var t=Z[F],n=a.indexOf(t);if(n!=-1)t=a[n+1];i+=String.fromCharCode(t)}return i};
FromPDF._win1252=[128,8364,130,8218,131,402,132,8222,133,8230,134,8224,135,8225,136,710,137,8240,138,352,139,8249,140,338,142,381,145,8216,146,8217,147,8220,148,8221,149,8226,150,8211,151,8212,152,732,153,8482,154,353,155,8250,156,339,158,382,159,376];
FromPDF._macRoman=[128,196,129,197,130,199,131,201,132,209,133,214,134,220,135,225,136,224,137,226,138,228,139,227,140,229,141,231,142,233,143,232,144,234,145,235,146,237,147,236,148,238,149,239,150,241,151,243,152,242,153,244,154,246,155,245,156,250,157,249,158,251,159,252,160,8224,161,176,162,162,163,163,164,167,165,8226,166,182,167,223,168,174,169,169,170,8482,171,180,172,168,173,9824,174,198,175,216,176,8734,177,177,178,8804,179,8805,180,165,181,181,182,8706,183,8721,184,8719,185,960,186,8747,187,170,188,186,189,937,190,230,191,248,192,191,193,161,194,172,195,8730,196,402,197,8776,198,8710,199,171,200,187,201,8230,202,160,203,192,204,195,205,213,206,338,207,339,208,8211,209,8212,210,8220,211,8221,212,8216,213,8217,214,247,215,9674,216,255,217,376,218,8260,219,8364,220,8249,221,8250,222,64257,223,64258,224,8225,225,183,226,8218,227,8222,228,8240,229,194,230,202,231,193,232,203,233,200,234,205,235,206,236,207,237,204,238,211,239,212,240,63743,241,210,242,218,243,219,244,217,245,305,246,710,247,732,248,175,249,728,250,729,251,730,252,184,253,733,254,731,255,711];
FromPDF.fromCName=function(Z){if(Z=="f_f_i")return"ffi";if(Z.length==1)return Z;if(Z.slice(0,3)=="uni")return String.fromCharCode(parseInt(Z.slice(3),16));
var a={space:32,exclam:33,quotedbl:34,numbersign:35,dollar:36,percent:37,ampersand:38,quotesingle:39,parenleft:40,parenright:41,asterisk:42,plus:43,comma:44,hyphen:45,period:46,slash:47,zero:48,one:49,two:50,three:51,four:52,five:53,six:54,seven:55,eight:56,nine:57,colon:58,semicolon:59,less:60,equal:61,at:64,bracketleft:91,bracketright:93,underscore:95,braceleft:123,braceright:125,dieresis:168,circlecopyrt:169,copyright:169,registered:174,degree:176,plusminus:177,mu:181,periodcentered:183,Eacute:201,Adieresis:196,adieresis:228,Udieresis:220,germandbls:223,udieresis:252,Odieresis:214,agrave:224,ntilde:241,odieresis:246,Cacute:262,cacute:263,Ccaron:268,ccaron:269,Dcroat:272,dcroat:273,Ecaron:283,ecaron:283,dotlessi:305,Scaron:352,scaron:353,Tcaron:356,tcaron:357,Zcaron:381,zcaron:382,alpha:945,phi:966,endash:8211,emdash:8212,asteriskmath:8727,quoteright:8217,quotedblbase:8222,ellipsis:8230,quotedblleft:8220,quotedblright:8221,bullet:8226,minus:8706,fi:64257,fl:64258},i=a[Z];
if(i==null){if(Z.charAt(0)!="g")console.log("unknown character "+Z);return Z}return String.fromCharCode(i)};
FromPDF.toUnicode=function(Z,a){var i=a.cmap,F="",t;if(i==null){var n={buff:FromPS.GS(a),off:0},G=[],k=FromPS._getDictStack({}),I=[{typ:"file",val:n}],o=[],B=FromPS._getEnv([0,0,1,1]),N=!0;
B.pgOpen=!0;while(N)N=FromPS.step(G,k,I,o,B,null,FromPS.operator,!0);i=B.res.CMap.val;a.cmap=i}for(var L in i){i=i[L].val;
break}var Q=i.bfrange,M=i.bfchar,s=i.bpc;for(var $=0;$<Z.length;$+=s){var j=Z[$],m=!1;if(s==2)j=j<<8|Z[$+1];
if(!m&&Q)for(var K=0;K<Q.length;K+=3){var _=Q[K],V=Q[K+1],e=Q[K+2];if(_<=j&&j<=V){if(_==V&&e==0){}else if(e.length==null)j+=e-_;
else j=e[j-_];m=!0;break}}if(!m&&M)for(var K=0;K<M.length;K+=2)if(M[K]==j){j=M[K+1];m=!0;break}if(j>65535)F+=String.fromCharCode(j>>>16);
F+=String.fromCharCode(j)}return F};FromPDF.brokenXrefTrail=function(Z,a){function i(Q,M){var X=M;while(48<=Q[M]&&Q[M]<=57)M++;
return FromPS.B.readASCII(Q,X,M-X)}var F,t=Z.length;for(var n=0;n<t;n++){if(FromPS.isEOL(Z[n])){var G=n;
while(FromPS.isWhite(Z[G]))G++;var k=i(Z,G);if(k!=""){G+=k.length;while(FromPS.isWhite(Z[G]))G++;var o=i(Z,G);
if(o!=""){G+=o.length;while(FromPS.isWhite(Z[G]))G++;if(FromPS.B.readASCII(Z,G,3)=="obj"){var B=parseInt(k),N=parseInt(o);
a[B]={off:n+1,gen:N,chr:"n"};n=G}}}else if(Z[G]==116&&Z[G+1]==114&&FromPS.B.readASCII(Z,G,7)=="trailer"){if(F==null)F=FromPDF._readTrailer(Z,G+7,a)}else if(Z[G]==115&&Z[G+1]==116&&FromPS.B.readASCII(Z,G,9)=="startxref"){G+=10;
while(FromPS.isWhite(Z[G]))G++;var L=parseInt(i(Z,G));if(L!=0&&F==null)F=FromPDF.readXrefTrail(Z,L,a)}}}return F};
FromPDF._readTrailer=function(Z,a,i){var F={buff:Z,off:a},t=FromPDF.readObject(F,F,i);if(t["/Prev"])FromPDF.readXrefTrail(Z,t["/Prev"],i);
return t};FromPDF.readXrefTrail=function(Z,a,i){var F=FromPS.B.readASCII(Z,a,4);if(F=="xref"){var t=a+4;
if(Z[t]==13)t++;if(Z[t]==10)t++;while(!0){if(FromPS.B.readASCII(Z,t,7)=="trailer"){t+=7;if(Z[t]==13)t++;
if(Z[t]==10)t++;break}var n=t;while(!FromPS.isEOL(Z[t]))t++;var G=FromPS.B.readASCII(Z,n,t-n);G=G.split(" ");
var k=parseInt(G[0]),I=parseInt(G[1]);if(Z[t]==13)t++;if(Z[t]==10)t++;for(var o=0;o<I;o++){var B=k+o;
if(i[B]==null)i[B]={off:parseInt(FromPS.B.readASCII(Z,t,10)),gen:parseInt(FromPS.B.readASCII(Z,t+11,5)),chr:FromPS.B.readASCII(Z,t+17,1),val:null,opn:!1};
if(Z[t+16]!=32)return null;t+=20}}return FromPDF._readTrailer(Z,t,i)}else{var t=a,N=t+32;while(t<N&&FromPS.B.readASCII(Z,t,2)!="<<")t++;
if(FromPS.B.readASCII(Z,t,2)=="<<"){var L={buff:Z,off:t},M=FromPDF.readObject(L,L,null,!0),X=0,s=FromPS.GS(M),$=M["/W"],y=M["/Index"],j=[],o=0;
if(s==null)return null;if(y){for(o=0;o<y.length;o+=2){for(var m=0;m<y[o+1];m++)j.push(y[o]+m)}}o=0;while(X<s.length){var K=FromPDF.getInt(s,X,$[0]),t=0,p=0,D="n";
X+=$[0];var V=FromPDF.getInt(s,X,$[1]);X+=$[1];var e=FromPDF.getInt(s,X,$[2]);X+=$[2];if(K==0){t=V;p=e;
D="f"}if(K==1){t=V;p=e;D="n"}if(K==2){t=V;p=e;D="s"}i[y?j[o]:o]={off:t,gen:p,chr:D,val:null,opn:!1};
o++}if(M["/Prev"])FromPDF.readXrefTrail(Z,M["/Prev"],i);if(M["/Encrypt"])return M;var W={buff:Z,off:0},A=["/Root","/Info"];
for(o=0;o<A.length;o++){var x=A[o],E=M[x];if(E&&E.typ=="ref")M[x]=FromPDF.getIndirect(E.ind,E.gen,W,i)}return M}else return null}};
FromPDF.getInt=function(Z,i,F){if(F==0)return 0;if(F==1)return Z[i];if(F==2)return Z[i]<<8|Z[i+1];if(F==3)return Z[i]<<16|Z[i+1]<<8|Z[i+2];
if(F==4)return Z[i]<<24|Z[i+1]<<16|Z[i+2]<<8|Z[i+3];while(F>4){F--;i++}return Z[i]<<24|Z[i+1]<<16|Z[i+2]<<8|Z[i+3]};
FromPDF.getIndirect=function(Z,a,i,F){var t=F[Z],k;if(t.chr=="f")return null;if(t.val!=null)return t.val;
if(t.opn)return{typ:"ref",ind:Z,gen:a};t.opn=!0;var n=i.off;if(t.chr=="s"){var o=FromPDF.getIndirect(t.off,t.gen,i,F),B={buff:FromPS.GS(o),off:0},N=0,L=0;
while(N!=Z){N=FromPS.getFToken(B).val;L=FromPS.getFToken(B).val}B.off=L+o["/First"];k=FromPDF.readObject(B,i,F)}else{i.off=t.off;
var Q=FromPS.getFToken(i);if(Q.val!="<<"){var M=FromPS.getFToken(i),X=FromPS.getFToken(i)}else i.off-=2;
k=FromPDF.readObject(i,i,F,!0)}t.val=k;i.off=n;t.opn=!1;return k};FromPDF.readObject=function(Z,a,i,F){var t=FromPS.getFToken(Z);
if(t.typ=="integer"){var n=Z.off,G=FromPS.getFToken(Z);if(G&&G.typ=="integer"){FromPS.skipWhite(Z);if(Z.buff[Z.off]==82){Z.off++;
if(i&&i[t.val])return FromPDF.getIndirect(t.val,G.val,a,i);else return{typ:"ref",ind:t.val,gen:G.val}}}Z.off=n}if(t.val=="<<")return FromPDF.readDict(Z,a,i,F);
if(t.val=="[")return FromPDF.readArra(Z,a,i);if(t.typ=="string"){var k="";for(var I=0;I<t.val.length;
I++)k+=String.fromCharCode(t.val[I]);return k}if(t.typ=="name"&&t.val==">>"){console.log(JSON.stringify(PUtils.readASCII(Z.buff,Z.off-32,128)));
console.log(Z.off);throw"e"}return t.val};FromPDF.readDict=function(Z,a,i,F){var t={};while(!0){var n=Z.off,G=FromPS.getFToken(Z);
if(G.typ=="name"&&G.val==">>")break;Z.off=n;var k=FromPDF.readObject(Z,a,i),I=FromPDF.readObject(Z,a,i);
t[k]=I}if(t["/Length"]!=null&&F){var o=t["/Length"],B=t["/Filter"];if(o.typ&&o.typ=="ref")throw"e";var L=FromPS.getFToken(Z);
if(Z.buff[Z.off]==32)Z.off++;if(Z.buff[Z.off]==13)Z.off++;if(Z.buff[Z.off]==10)Z.off++;if(Z.off+o>Z.buff.length){console.log("too big /Length of a stream",o,Z.buff.length-Z.off,Z.off);
o=Z.buff.length-Z.off}if(B){B=typeof B=="string"?[B]:B;if(B[0]=="/ASCII85Decode")while(Z.buff[Z.off+o-2]!=126||Z.buff[Z.off+o-1]!=62)o++}t.buff=new Uint8Array(Z.buff.buffer,Z.buff.byteOffset+Z.off,o);
Z.off+=o;FromPS.getFToken(Z)}return t};FromPDF.readArra=function(Z,a,i){var F=[];while(!0){var t=Z.off,n=FromPS.getFToken(Z);
if(n.typ=="name"&&n.val=="]")return F;Z.off=t;var G=FromPDF.readObject(Z,a,i);F.push(G)}};var FromWMF=function(){var Z=0,a=53,i=55,F=258,t=259,n=260,G=261,k=262,I=263,o=264,B=295,N=313,L=322,Q=329,M=513,X=521,s=529,$=531,y=532,j=544,m=552,K=561,_=564,V=804,e=805,p=522,D=523,W=524,A=525,x=526,E=527,d=1040,S=1042,U=1045,b=1046,w=1048,R=1049,bH=1065,bX=1078,bd=1313,H=1336,cx=1352,cd=1051,aD=1055,bZ=1564,bK=1565,an=30,ct=2074,bt=2851,aH=1574,aW=298,bm=299,bi=300,by=301,aB=302,a0=2071,bA=2096,ao=2338,c4=2610,ad=3379,cr=2368,c0=2881,ba=3907,b3=496,ae=247,aO=505,a1=762,cl=763,ay=764,b7=1791,cy=1,bS=2,bC=3,bu=4,bJ=5,ac=6,aK=7,cw=8,c3=9,bp=10,ca=11,bn=12,O=13,ci=14,c7=15,bI=16,a2=17,aq=18,c5=19,bF=20,as=21,ah=22,aU=23,bT=24,aw=25,cu=26,ck=27,cq=28,cg=29,aE=30,a7=31,bL=32,bU=33,aP=34,bG=35,bo=37,ce=38,bj=42,ak=256,ag=258,b1=512,c8=513,aZ=514,al=2049,bO=3073,a$=4096,aC=4097,b8=4098,cv=4110,aF=4111,ch=4112,aT=4115,cz=4116,ai=4117,bv=4118,cc=4119,b0=4120,af=4121,b6=4122,q=4568,v=UDOC.B;
function bB(T,Y){T=new Uint8Array(T);var h=0,f={fill:!1,strk:!1,bb:[0,0,600,600],lbb:[0,0,600,600],scl:1,fnt:{nam:"Arial",hgh:25,und:!1,orn:0,chrst:0},tclr:[0,0,0],talg:0},l=v.readShort,ap=v.readUshort,bf=v.readUint,J=bf(T,0),cj=0;
if(J==2596720087){h=6;var cB=l(T,h+8);f.scl=120/cB;for(var r=0;r<4;r++){f.bb[r]=Math.round(l(T,h)*f.scl);
h+=2}h+=2;h+=6}Y.StartPage(f.bb[0],f.bb[1],f.bb[2],f.bb[3]);var g=UDOC.getState(f.bb),bk=ap(T,h);h+=2;
var c9=ap(T,h);h+=2;var bW=ap(T,h);h+=2;var aV=bf(T,h);h+=4;var az=ap(T,h);h+=2;var bN=bf(T,h);h+=4;
var az=ap(T,h);h+=2;var z=[];while(!0){var aI=bf(T,h)<<1,b$=null;h+=4;var a6=ap(T,h);h+=2;var P=a6,c=h;
if(!1){}else if(P==Z)break;else if(P==aH){var cn=ap(T,h);c+=2;var bb=cn;console.log(P,bb)}else if(P==t||P==k||P==F){}else if(P==by){var aN=ap(T,c);
c+=2;var bD=z[aN];if(bD.t=="br"){f.fill=bD.stl!=1;if(bD.stl==0){}else if(bD.stl==1){}else throw bD.stl+" e";
g.colr=bD.clr}else if(bD.t=="pn"){var bh=bD.stl&7;f.strk=bh!=5;if(bh==0||bh==6)g.lwidth=bD.px;else if(bh==5){}else throw bh+" e";
if((bD.stl&4096)!=0)g.ljoin=2;else if((bD.stl&8192)!=0)g.ljoin=0;else g.ljoin=1;g.COLR=bD.clr}else if(bD.t=="fn"){f.fnt=bD;
g.font.Tf=bD.nam;g.font.Tfs=Math.abs(bD.hgh);g.font.Tun=bD.und}else throw"e"}else if(P==b3){var aN=ap(T,c);
c+=2;z[aN]=null}else if(P==D||P==W){var aA=P==D?0:2;f.lbb[aA+1]=l(T,c);c+=2;f.lbb[aA]=l(T,c);c+=2;u(f,g)}else if(P==ay){b$={t:"br"};
b$.stl=ap(T,c);c+=2;b$.clr=[T[c]/255,T[c+1]/255,T[c+2]/255];c+=4;b$.htc=ap(T,c);c+=2}else if(P==a1){b$={t:"pn"};
b$.stl=ap(T,c);c+=2;b$.px=l(T,c);c+=2;b$.py=l(T,c);c+=2;b$.clr=[T[c]/255,T[c+1]/255,T[c+2]/255];c+=4}else if(P==cl){b$={t:"fn",nam:""};
b$.hgh=l(T,c);c+=2;c+=2*2;b$.orn=l(T,c)/10;c+=2;var aS=l(T,c);c+=2;b$.und=T[c+1];c+=2;b$.stk=T[c];b$.chrst=T[h+1];
c+=2;c+=4;while(T[c]!=0){b$.nam+=String.fromCharCode(T[c]);c++}if(aS>500)b$.nam+="-Bold"}else if(P==ae){b$={t:"pl"}}else if(P==X)f.tclr=[T[c]/255,T[c+1]/255,T[c+2]/255];
else if(P==aB)f.talg=ap(T,c);else if(P==y){UDOC.G.moveTo(g,l(T,c+2),l(T,c))}else if(P==$){if(g.pth.cmds.length==0){var aa=g.ctm.slice(0);
UDOC.M.invert(aa);var a4=UDOC.M.multPoint(aa,g.cpos);UDOC.G.moveTo(g,a4[0],a4[1])}UDOC.G.lineTo(g,l(T,c+2),l(T,c));
var aL=f.fill;f.fill=!1;cp(Y,g,f);f.fill=aL}else if(P==H){var ar=ap(T,c);c+=2;var cs=c;c+=ar*2;for(var r=0;
r<ar;r++){var bR=ap(T,cs+r*2);c=bY(T,c,bR,g,!0)}cp(Y,g,f)}else if(P==V||P==e){var bR=ap(T,c);c+=2;c=bY(T,c,bR,g,P==V);
var aL=f.fill;f.fill=aL&&P==V;cp(Y,g,f);f.fill=aL}else if(P==cd||P==w){var aj=l(T,c);c+=2;var a8=l(T,c);
c+=2;var bP=l(T,c);c+=2;var a9=l(T,c);c+=2;if(P==cd){UDOC.G.moveTo(g,a9,bP);UDOC.G.lineTo(g,a8,bP);UDOC.G.lineTo(g,a8,aj);
UDOC.G.lineTo(g,a9,aj)}else{var bl=(a9+a8)/2,av=(bP+aj)/2;UDOC.G.arc(g,bl,av,(aj-bP)/2,0,2*Math.PI,!1)}UDOC.G.closePath(g);
var aL=f.fill;f.fill=!0;cp(Y,g,f);f.fill=aL}else if(P==ba||P==c0||P==cr){var aG=bf(T,c),b2,at;c+=4;if(P==ba){var bQ=ap(T,c);
c+=2}if(P!=cr){at=l(T,c);c+=2;b2=l(T,c);c+=2}var bE=l(T,c);c+=2;var bV=l(T,c);c+=2;var bq=l(T,c);c+=2;
var ax=l(T,c);c+=2;var a3=l(T,c);c+=2;var bM=l(T,c);c+=2;if(P==cr){b2=ax;at=bq}var a5=C(T,c);if(a5.length>b2*at*4)a5=a5.slice(0,b2*at*4);
var cb=g.ctm.slice(0);g.ctm=[1,0,0,1,0,0];UDOC.M.scale(g.ctm,ax,-bq);UDOC.M.translate(g.ctm,bM,a3+bq);
UDOC.M.concat(g.ctm,cb);Y.PutImage(g,a5,b2,at);g.ctm=cb}else if(P==c4){var bw=l(T,c),au="";c+=2;var ab=l(T,c);
c+=2;g.font.Tm=[1,0,0,-1,0,0];UDOC.M.rotate(g.font.Tm,f.fnt.orn*Math.PI/180);UDOC.M.translate(g.font.Tm,ab,bw);
var b_=f.talg;if((b_&6)==6)g.font.Tal=2;else if((b_&7)==0)g.font.Tal=0;else throw b_+" e";if((b_&24)==24){}else if((b_&24)==0)UDOC.M.translate(g.font.Tm,0,g.font.Tfs);
else throw"e";var b9=ap(T,c);c+=2;var am=ap(T,c);c+=2;if(am&4)c+=8;for(var r=0;r<b9;r++){var bz=T[c+r];
if(bz>127){r++;bz=bz<<8|T[c+r]}au+=String.fromCharCode(bz)}var aJ=g.colr;g.colr=f.tclr;Y.PutText(g,au,au.length*g.font.Tfs*.5);
g.colr=aJ}else if(P==c8){}else{console.log(P.toString(16),aI)}if(b$!=null){var be=0;while(z[be]!=null)be++;
z[be]=b$}h+=aI-6}Y.ShowPage();Y.Done()}function C(T,Y){var h=v.readShort,f=v.readUshort,l=v.readUint,ap=l(T,Y),bf,J,cB;
Y+=4;if(ap==12)throw"e";else{bf=l(T,Y);Y+=4;J=l(T,Y);Y+=4;var r=f(T,Y);Y+=2;if(r!=1)throw"e";var g=f(T,Y);
Y+=2;if(g!=1&&g!=24&&g!=32)throw g+" e";var bk=l(T,Y);Y+=4;if(bk!=0)throw"e";var c9=l(T,Y);Y+=4;var bW=l(T,Y);
Y+=4;var aV=l(T,Y);Y+=4;cB=l(T,Y);Y+=4;var az=l(T,Y);Y+=4}var bN=bf*J,z=new Uint8Array(bN*4),cj=Math.floor((bf*r*g+31&~31)/8);
if(g==1)for(var aI=0;aI<J;aI++){var a6=Y+cB*4+(J-1-aI)*cj;for(var P=0;P<bf;P++){var c=aI*bf+P<<2,b$=T[a6+(P>>>3)]>>>7-(P&7)&1;
z[c]=T[Y+b$*4+2];z[c+1]=T[Y+b$*4+1];z[c+2]=T[Y+b$*4+0];z[c+3]=255}}if(g==24){for(var aI=0;aI<J;aI++)for(var P=0;
P<bf;P++){var c=aI*bf+P<<2,cn=Y+(J-1-aI)*cj+P*3;z[c]=T[cn+2];z[c+1]=T[cn+1];z[c+2]=T[cn+0];z[c+3]=255}}if(g==32){for(var aI=0;
aI<J;aI++)for(var P=0;P<bf;P++){var c=aI*bf+P<<2,cn=Y+(J-1-aI)*cj+P*4;z[c]=T[cn+2];z[c+1]=T[cn+1];z[c+2]=T[cn+0];
z[c+3]=T[cn+3]}}return z}function u(T,Y){var h=[1,0,0,1,0,0],f=T.lbb,l=T.bb;UDOC.M.translate(h,-f[0],-f[1]);
UDOC.M.scale(h,1/f[2],1/f[3]);UDOC.M.scale(h,l[2]-l[0],l[3]-l[1]);UDOC.M.translate(h,l[0],l[1]);Y.ctm=h}function cp(T,Y,h){if(h.fill)T.Fill(Y,!1);
if(h.strk&&Y.lwidth!=0)T.Stroke(Y,!1);UDOC.G.newPath(Y)}function bY(T,Y,h,f,l){var ap=v.readShort;for(var bf=0;
bf<h;bf++){var J=ap(T,Y);Y+=2;var cB=ap(T,Y);Y+=2;if(bf==0)UDOC.G.moveTo(f,J,cB);else UDOC.G.lineTo(f,J,cB)}if(l)UDOC.G.closePath(f);
return Y}return{Parse:bB}}(),FromEMF=function(){var Z=1,a=2,i=3,F=4,t=5,n=6,G=7,k=8,I=9,o=10,B=11,N=12,L=13,Q=14,M=15,X=16,s=17,$=18,y=19,j=20,m=21,K=22,_=23,V=24,e=25,p=26,D=27,W=28,A=29,x=30,E=31,d=32,S=33,U=34,b=35,w=36,R=37,bH=38,bX=39,bd=40,H=41,cx=42,cd=43,aD=44,bZ=45,bK=46,an=47,ct=48,bt=49,aH=50,aW=51,bm=52,bi=53,by=54,aB=55,a0=56,bA=57,ao=58,c4=59,ad=60,cr=61,c0=62,ba=63,b3=64,ae=65,aO=66,a1=67,cl=68,ay=70,b7=71,cy=72,bS=73,bC=74,bu=75,bJ=76,ac=77,aK=78,cw=79,c3=80,bp=81,ca=82,bn=83,O=84,ci=85,c7=86,bI=87,a2=88,aq=89,c5=90,bF=91,as=92,ah=93,aU=94,bT=95,aw=96,cu=97,ck=98,cq=99,cg=100,aE=101,a7=102,bL=103,bU=104,aP=105,bG=106,bo=108,ce=109,bj=110,ak=111,ag=112,b1=113,c8=114,aZ=115,al=116,bO=118,a$=119,aC=120,b8=121,cv=122,aF=UDOC.B,ch=null,aT=13369376,cz=15597702,ai=8913094;
function bv(q,v){q=new Uint8Array(q);var bB=0,C={fill:!1,strk:!1,bb:[0,0,1,1],wbb:[0,0,1,1],fnt:{nam:"Arial",hgh:25,und:!1,orn:0},tclr:[0,0,0],talg:0},u,cp=[],bY=[],T=aF.readShort,Y=aF.readUshort,h=aF.readInt,f=aF.readUint,l=aF.readFloat,ap=0;
while(!0){var bf=f(q,bB),g=null,bk=0;bB+=4;var J=bf,cB=f(q,bB);bB+=4;var r=bB;if(!1){}else if(J==Q){break}else if(J==Z){C.bb=cc(q,r);
r+=16;v.StartPage(C.bb[0],C.bb[1],C.bb[2],C.bb[3]);u=UDOC.getState(C.bb)}else if(J==S)bY.push(JSON.stringify(u),JSON.stringify(C));
else if(J==U){var c9=h(q,r);r+=4;while(c9<-1){bY.pop();bY.pop();c9++}C=JSON.parse(bY.pop());u=JSON.parse(bY.pop())}else if(J==a1){u.cpth=JSON.parse(JSON.stringify(u.pth))}else if(J==x){var bW=cc(q,r);
r+=16;var aV=u.pth;u.pth={cmds:[],crds:[]};UDOC.G.drawRect(u,bW[0],bW[1],bW[2]-bW[0],bW[3]-bW[1]);u.cpth=u.pth;
u.pth=aV}else if([s,y,$,ck,j,bu].indexOf(J)!=-1){}else if(J==ao)u.mlimit=f(q,r);else if(J==V)C.tclr=[q[r]/255,q[r+1]/255,q[r+2]/255];
else if(J==K)C.talg=f(q,r);else if(J==B||J==N){if(C.vbb==null)C.vbb=[];var bN=J==N?0:2;C.vbb[bN]=h(q,r);
r+=4;C.vbb[bN+1]=h(q,r);r+=4;if(J==B)b0(C,u)}else if(J==I||J==o){var bN=J==o?0:2;C.wbb[bN]=h(q,r);r+=4;
C.wbb[bN+1]=h(q,r);r+=4;if(J==I)b0(C,u)}else if(J==ay){var z=f(q,r);r+=4}else if(J==R){var cj=f(q,r);
r+=4;if(cj==2147483648){C.fill=!0;u.colr=[1,1,1]}else if(cj==2147483653){C.fill=!1}else if(cj==2147483655){C.strk=!0;
C.lwidth=1;u.COLR=[0,0,0]}else if(cj==2147483656){C.strk=!1}else if(cj==2147483661){}else if(cj==2147483662){}else{var aI=cp[cj];
if(aI.t=="b"){C.fill=aI.stl!=1;if(aI.stl==0){}else if(aI.stl==1){}else throw aI.stl+" e";u.colr=aI.clr}else if(aI.t=="p"){C.strk=aI.stl!=5;
u.lwidth=aI.wid;u.COLR=aI.clr}else if(aI.t=="f"){C.fnt=aI;u.font.Tf=aI.nam;u.font.Tfs=Math.abs(aI.hgh);
u.font.Tun=aI.und}else throw"e"}}else if(J==bd){var cj=f(q,r);r+=4;if(cp[cj]!=null)cp[cj]=null;else throw"e"}else if(J==bX){bk=f(q,r);
r+=4;g={t:"b"};g.stl=f(q,r);r+=4;g.clr=[q[r]/255,q[r+1]/255,q[r+2]/255];r+=4;g.htc=f(q,r);r+=4}else if(J==aU){bk=f(q,r);
r+=4;console.log("unsupported pattern brush");g={t:"b"};g.stl=0}else if(J==bH||J==bT){bk=f(q,r);r+=4;
g={t:"p"};if(J==bT){r+=16;g.stl=f(q,r);r+=4;g.wid=f(q,r);r+=4;r+=4}else{g.stl=f(q,r);r+=4;g.wid=f(q,r);
r+=4;r+=4}g.clr=[q[r]/255,q[r+1]/255,q[r+2]/255];r+=4}else if(J==ca){bk=f(q,r);r+=4;g={t:"f",nam:""};
g.hgh=h(q,r);r+=4;r+=4*2;g.orn=h(q,r)/10;r+=4;var a6=f(q,r);r+=4;g.und=q[r+1];g.stk=q[r+2];r+=4*2;while(Y(q,r)!=0){g.nam+=String.fromCharCode(Y(q,r));
r+=2}if(a6>500)g.nam+="-Bold"}else if(J==O){r+=16;var P=f(q,r),a4="";r+=4;var c=l(q,r);r+=4;var b$=l(q,r);
r+=4;var cn=h(q,r);r+=4;var bb=h(q,r);r+=4;var aN=u.ctm.slice(0);if(P==1)u.ctm=[1,0,0,1,0,0];u.font.Tm=[1,0,0,-1,0,0];
UDOC.M.rotate(u.font.Tm,C.fnt.orn*Math.PI/180);UDOC.M.translate(u.font.Tm,cn,bb);var bD=C.talg;if((bD&6)==6)u.font.Tal=2;
else if((bD&7)==0)u.font.Tal=0;else throw bD+" e";if((bD&24)==24){}else if((bD&24)==0)UDOC.M.translate(u.font.Tm,0,u.font.Tfs);
else console.log("unknown alignment",bD);var bh=f(q,r);r+=4;var aA=f(q,r);r+=4;var aS=f(q,r);r+=4;r+=16;
var aa=f(q,r);r+=4;aA+=bB-8;for(var aL=0;aL<bh;aL++){var ar=Y(q,aA+aL*2);a4+=String.fromCharCode(ar)}var cs=u.colr;
u.colr=C.tclr;v.PutText(u,a4,a4.length*u.font.Tfs*.5);u.colr=cs;u.ctm=aN}else if(J==c4){UDOC.G.newPath(u)}else if(J==ad){}else if(J==cr)UDOC.G.closePath(u);
else if(J==D){UDOC.G.moveTo(u,h(q,r),h(q,r+4))}else if(J==by){if(u.pth.cmds.length==0){var bR=u.ctm.slice(0);
UDOC.M.invert(bR);var aj=UDOC.M.multPoint(bR,u.cpos);UDOC.G.moveTo(u,aj[0],aj[1])}UDOC.G.lineTo(u,h(q,r),h(q,r+4))}else if(J==i||J==c7||J==F||J==bI||J==n||J==aq){r+=16;
var a8=J==i||J==c7,bP=J==n||J==aq,a9=f(q,r);r+=4;if(!bP)UDOC.G.newPath(u);r=b6(q,r,a9,u,J==c7||J==bI||J==aq?2:4,a8,bP);
if(!bP)af(v,u,C,a8)}else if(J==bF){r+=16;var a8=!0,bP=!1,bl=f(q,r);r+=4;r+=4;var av=r;r+=bl*4;if(!bP)UDOC.G.newPath(u);
for(var aL=0;aL<bl;aL++){var aG=Y(q,av+aL*4);r=b6(q,r,aG,u,2,a8,bP)}if(!bP)af(v,u,C,a8)}else if(J==a||J==ci||J==t||J==a2){r+=16;
var bQ=J==ci||J==a2,b2=bQ?T:h,at=bQ?2:4,a9=f(q,r);r+=4;if(!(J==t||J==a2)){UDOC.G.moveTo(u,b2(q,r),b2(q,r+at));
r+=2*at;a9--}while(a9>0){UDOC.G.curveTo(u,b2(q,r),b2(q,r+at),b2(q,r+2*at),b2(q,r+3*at),b2(q,r+4*at),b2(q,r+5*at));
r+=6*at;a9-=3}}else if(J==cd||J==cx){UDOC.G.newPath(u);var bW=cc(q,r);if(J==cd){UDOC.G.drawRect(u,bW[0],bW[1],bW[2]-bW[0],bW[3]-bW[1])}else{var bE=(bW[0]+bW[2])/2,bV=(bW[1]+bW[3])/2;
UDOC.G.arc(u,bE,bV,(bW[2]-bW[0])/2,0,2*Math.PI,!1)}UDOC.G.closePath(u);af(v,u,C,!0)}else if(J==c0)v.Fill(u,!1);
else if(J==b3)v.Stroke(u);else if(J==ba){v.Fill(u,!1);v.Stroke(u)}else if(J==b||J==w){var bq=[];for(var aL=0;
aL<6;aL++)bq.push(l(q,r+aL*4));r+=24;if(J==b)u.ctm=bq;else{var P=f(q,r);r+=4;if(P==2){var ax=u.ctm;u.ctm=bq;
UDOC.M.concat(u.ctm,ax)}else if(P==4)u.ctm=bq;else throw P}}else if(J==m){var a3=f(q,r);r+=4}else if(J==bp){var bW=cc(q,r);
r+=16;var bM=h(q,r);r+=4;var a5=h(q,r);r+=4;var cb=h(q,r);r+=4;var bw=h(q,r);r+=4;var ab=h(q,r);r+=4;
var b_=h(q,r);r+=4;var am=f(q,r)+bB-8;r+=4;var au=f(q,r);r+=4;var bz=f(q,r)+bB-8;r+=4;var aJ=f(q,r);
r+=4;var be=f(q,r);r+=4;if(be!=0)throw"e";var br=f(q,r);r+=4;if(br!=aT&&br!=cz&&br!=ai)throw br.toString(16);
var c6=h(q,r);r+=4;var bx=h(q,r);r+=4;var aM=f(q,am);am+=4;if(aM!=40)throw aM;var bs=f(q,am);am+=4;var c2=f(q,am);
am+=4;if(bs!=ab||c2!=b_)throw"e";var b5=Y(q,am);am+=2;if(b5!=1)throw"e";var cC=Y(q,am);am+=2;if(cC!=1&&cC!=4&&cC!=8&&cC!=16&&cC!=24&&cC!=32)throw cC+" e";
var cm=f(q,am);am+=4;if(cm!=0)throw cm+" e";var cf=f(q,am);am+=4;var c1=f(q,am);am+=4;var aX=f(q,am);
am+=4;var b4=f(q,am);am+=4;var aR=f(q,am);am+=4;if(aR!=0)throw aR;var aY=Math.floor((bs*b5*cC+31&~31)/8),bg=new Uint8Array(bs*c2*4);
if(cC==1){for(var bV=0;bV<c2;bV++)for(var bE=0;bE<bs;bE++){var cA=bV*bs+bE<<2,cj=(q[bz+(c2-1-bV)*aY+(bE>>>3)]>>>7-(bE&7)&1)<<2;
bg[cA]=q[am+cj+2];bg[cA+1]=q[am+cj+1];bg[cA+2]=q[am+cj+0];bg[cA+3]=255}}else if(cC==8){for(var bV=0;
bV<c2;bV++)for(var bE=0;bE<bs;bE++){var cA=bV*bs+bE<<2,cj=q[bz+(c2-1-bV)*aY+bE]<<2;bg[cA]=q[am+cj+2];
bg[cA+1]=q[am+cj+1];bg[cA+2]=q[am+cj+0];bg[cA+3]=255}}else if(cC==16){for(var bV=0;bV<c2;bV++)for(var bE=0;
bE<bs;bE++){var cA=bV*bs+bE<<2,bc=bz+(c2-1-bV)*aY+bE*2,aQ=q[bc+1]<<8|q[bc];bg[cA]=(aQ>>>10&31)*(255/31);
bg[cA+1]=(aQ>>>5&31)*(255/31);bg[cA+2]=(aQ>>>0&31)*(255/31);bg[cA+3]=255}}else if(cC==24){for(var bV=0;
bV<c2;bV++)for(var bE=0;bE<bs;bE++){var cA=bV*bs+bE<<2,bc=bz+(c2-1-bV)*aY+bE*3;bg[cA]=q[bc+2];bg[cA+1]=q[bc+1];
bg[cA+2]=q[bc+0];bg[cA+3]=255}}else if(cC==32){for(var bV=0;bV<c2;bV++)for(var bE=0;bE<bs;bE++){var cA=bV*bs+bE<<2,bc=bz+(c2-1-bV)*aY+bE*4;
bg[cA]=q[bc+2];bg[cA+1]=q[bc+1];bg[cA+2]=q[bc+0];bg[cA+3]=q[bc+3]}}else console.log("unsupported bit depth",cC,bs,c2);
var a_=u.ctm.slice(0);u.ctm=[1,0,0,1,0,0];UDOC.M.scale(u.ctm,c6,-bx);UDOC.M.translate(u.ctm,bM,a5+bx);
UDOC.M.concat(u.ctm,a_);if(br==cz)ch=bg;else if(br==ai)v.PutImage(u,bg,bs,c2,ch);else v.PutImage(u,bg,bs,c2);
u.ctm=a_}else{console.log("unknown command",J,cB)}if(g!=null)cp[bk]=g;bB+=cB-8}v.ShowPage();v.Done()}function cc(q,v){var bB=[];
for(var C=0;C<4;C++)bB[C]=aF.readInt(q,v+C*4);return bB}function b0(q,v){var bB=[1,0,0,1,0,0],C=q.wbb,u=q.bb,cp=q.vbb&&q.vbb.length==4?q.vbb:q.bb;
UDOC.M.translate(bB,-C[0],-C[1]);UDOC.M.scale(bB,1/C[2],1/C[3]);UDOC.M.scale(bB,cp[2],cp[3]);v.ctm=bB}function af(q,v,bB,C){if(bB.fill&&C)q.Fill(v,!1);
if(bB.strk&&v.lwidth!=0)q.Stroke(v)}function b6(q,v,bB,C,u,cp,bY){var T=u==2?aF.readShort:aF.readInt;
for(var Y=0;Y<bB;Y++){var h=T(q,v);v+=u;var f=T(q,v);v+=u;if(Y==0&&!bY)UDOC.G.moveTo(C,h,f);else UDOC.G.lineTo(C,h,f)}if(cp)UDOC.G.closePath(C);
return v}return{Parse:bv}}(),FromDXF=function(){var Z=function(){this.bb=[1e9,1e9,-1e9,-1e9]};Z.prototype={StartPage:function(){},PutText:function(){},PutImage:function(){},Stroke:function(k){this.checkPath(k.pth.crds)},Fill:function(k){this.checkPath(k.pth.crds)},PutText:function(k,I,o,B){var N=[0,0,o*k.font.Tfs,0,0,-k.font.Tfs,0,k.font.Tfs];
if(B){N[2]=B[0];N[5]=-B[1]}UDOC.M.multArray(k.ctm,N);UDOC.M.multArray(k.font.Tm,N);this.checkPath(N)},checkPath:function(k){var I=this.bb;
for(var o=0;o<k.length;o+=2){var B=k[o],N=k[o+1];I[0]=Math.min(I[0],B);I[1]=Math.min(I[1],N);I[2]=Math.max(I[2],B);
I[3]=Math.max(I[3],N)}},ShowPage:function(){},Done:function(){}};function a(k,I){k=new Uint8Array(k);
var o=0,B=new TextDecoder().decode(k),N=B.split("\n"),X=2e3,s=100;for(var L=0;L<N.length;L++)N[L]=N[L].trim();
while(N[N.length-1]=="")N.pop();var Q=new Z;i(N,Q);var M=Q.bb,$=(X-s*2)/(M[2]-M[0]),y=Math.round((M[3]-M[1])*$+s*2),j=[0,0,X,y],m=UDOC.getState(j);
m.lwidth=1/$;m.ctm=[$,0,0,-$,s-M[0]*$,-s+M[1]*$+y];i(N,I,m,j)}function i(k,I,o,B){if(o==null){B=[0,0,1e3,1e3];
o=UDOC.getState(B)}I.StartPage(B[0],B[1],B[2],B[3]);var N={tabs:{LTYPE:{}},blocks:{}};t(k,I,o,N,0,k.length);
I.ShowPage();I.Done()}function F(k,I){if(k.startsWith("%%u")){k=k.slice(3);I.font.Tun=1}k=k.split("\\P").join("\n");
k=k.split("%%d").join("'");k=k.split("{").join("");k=k.split("}").join("");while(!0){var o=k.indexOf("\\U+");
if(o==-1)break;k=k.slice(0,o)+String.fromCharCode(parseInt(k.slice(o+3,o+7),16))+k.slice(o+7)}while(!0){var o=k.indexOf("\\"),B=k.indexOf(";");
if(o==-1||B==-1)break;var N=k.slice(o+1,B);if(N.startsWith("pi"))N=" ".repeat(.5*parseFloat(N.slice(2)));
else N="";k=k.slice(0,o)+N+k.slice(B+1)}return k}function t(k,I,o,B,N,L,Q){var M,X,s,$=!1;while(N<L){var y=parseInt(k[N++]),j=k[N++],m=[10,11,12,13,14,20,21,22,23,24,30,31,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51,52,53,62,70,71,72,73,74,90,370].indexOf(y)!=-1,K=M=="LWPOLYLINE"&&(y==10||y==20||y==30)||M=="LTYPE"&&y==49||M=="SPLINE"&&(y==10||y==20||y==30||y==40)||M=="OLE2FRAME"&&y==310;
if(m)j=parseFloat(j);if(y==999){}else if(j[0]=="$")$=!0;else if($)$=!1;else if(j=="SECTION")Q=-1;else if(j=="ENDSEC"){}else if(Q==-1)Q=j;
else if(j=="EOF"){}else if(Q=="HEADER"){}else if(Q=="CLASSES"){}else if(Q=="TABLES"||Q=="BLOCKS"){if(j=="ENDBLK"){s[1]=N-2;
s=null}if(y==0){M=j;X={};continue}if(K){if(X[y]==null)X[y]=[];X[y].push(j)}else{X[y]=j}if(k[N]!="0")continue;
if(M=="LTYPE"){if(B.tabs[M][X[2]]!=null)throw"e";B.tabs[M][X[2]]=X}else if(M=="BLOCK"){s=B.blocks[X[2]]=[N]}}else if(Q=="ENTITIES"){if(y==0){M=j;
X={}}else{if(K){if(X[y]==null)X[y]=[];X[y].push(j)}else{X[y]=j}}if(k[N]!="0")continue;if(s==null){o.colr=[0,0,0];
o.ca=1;o.COLR=[0,0,0];o.dash=[];if(X[62]!=null&&X[62]!=256){var _={c0:[0,0,0],c1:[1,0,0],c2:[1,1,0],c4:[0,1,1],c5:[0,0,1],c7:[0,0,0],c8:[0,0,0],c242:[.64,0,.16],c250:[0,0,0]}["c"+X[62]];
if(_)o.COLR=_;else{o.COLR=[0,1,0];console.log(M+" "+X[62])}}if(X[6]!=null){var V=B.tabs.LTYPE[X[6]];
if(V[49]!=null){var e=V[49].slice(0);for(var p=0;p<e.length;p++)e[p]=Math.abs(e[p])*(X[48]?X[48]:1);
o.dash=e}}if(X[8]=="H")o.dash=[.1,.02];UDOC.G.newPath(o)}var D=-1/3.17;if(M=="LINE"){var W=(X[30]?X[30]:0)*D,A=(X[31]?X[31]:0)*D;
UDOC.G.moveTo(o,X[10]+W,X[20]-W);UDOC.G.lineTo(o,X[11]+A,X[21]-A);I.Stroke(o,!1)}else if(M=="POLYLINE"){s=[X,[]]}else if(M=="VERTEX"){s[1].push(X)}else if(M=="SEQEND"){if(s==null)continue;
var x=s[0],E=s[1],d=E.length,S=x[70]==1?d+1:d;UDOC.G.moveTo(o,E[0][10],E[0][20]);for(var p=1;p<S;p++){var U=E[p%d][10],b=E[p%d][20],w=E[p-1][42];
if(w==null)w=0;if(w==0)UDOC.G.lineTo(o,U,b);else{var R=E[p-1],bH=R[10],bX=R[20],H=U-bH,cx=b-bX,cd=-w*Math.PI/2,aD=.42,bZ=Math.sin(cd),bK=Math.cos(cd),an=bK*H-bZ*cx,ct=bZ*H+bK*cx,bt=bK*H+bZ*cx,aH=-bZ*H+bK*cx;
UDOC.G.curveTo(o,bH+aD*an,bX+aD*ct,U-aD*bt,b-aD*aH,U,b)}}I.Stroke(o,!1);s=null}else if(M=="OLE2FRAME"){var aW=57,bm=295,bi=X[310].join(""),by=bm*aW,aB=new Uint8Array(bi.length>>>1);
for(var p=0;p<aB.length;p++)aB[p]=parseInt(bi.slice(p*2,p*2+2),16);var a0=new Float64Array(aB.slice(2,2+12*8).buffer),bA=new Uint8Array(by*4);
new Uint32Array(bA.buffer).fill(4281563135);var ao=o.ctm,c4=[1,0,0,1,0,0],ad=X[11]-X[10],cr=X[21]-X[20];
UDOC.M.scale(c4,ad,cr);UDOC.M.translate(c4,X[10],X[20]);UDOC.M.concat(c4,o.ctm);o.ctm=c4;I.PutImage(o,bA,bm,aW);
o.ctm=ao}else if(M=="INSERT"){var c0=B.blocks[X[2]],ba=o.ctm.slice(0),c4=[1,0,0,1,0,0];if(X[50]!=null)UDOC.M.rotate(c4,X[50]*Math.PI/180);
if(X[41]!=null)UDOC.M.scale(c4,X[41],X[42]);UDOC.M.translate(c4,X[10],X[20]);UDOC.M.concat(c4,o.ctm);
o.ctm=c4;t(k,I,o,B,c0[0],c0[1],Q);o.ctm=ba}else if(M=="--VIEWPORT"){console.log(X);o.COLR=[1,0,0];UDOC.G.moveTo(o,X[10],X[20]);
UDOC.G.lineTo(o,X[10]+5,X[20]+5);I.Stroke(o,!1)}else if(M=="--DIMENSION"){var b3=X[70]&7;if(b3==0){console.log(X);
o.COLR=[0,.3,.6];var H=0,cx=0;UDOC.G.moveTo(o,X[13]+H,X[23]+cx);UDOC.G.lineTo(o,X[14]+H,X[24]+cx);I.Stroke(o,!1)}}else if(M=="3DFACE"||M=="SOLID"){var W=X[30]*D,A=X[31]*D,ae=X[32]*D,aO=X[33]*D;
UDOC.G.moveTo(o,X[10]+W,X[20]-W);UDOC.G.lineTo(o,X[11]+A,X[21]-A);UDOC.G.lineTo(o,X[12]+ae,X[22]-ae);
UDOC.G.lineTo(o,X[13]+aO,X[23]-aO);UDOC.G.closePath(o);if(M=="3DFACE"){o.colr=[Math.random(),Math.random(),Math.random()];
o.ca=.5}I.Fill(o,!1)}else if(M=="LWPOLYLINE"){for(var p=0;p<X[90];p++){var a1=p==0?UDOC.G.moveTo:UDOC.G.lineTo;
a1(o,X[10][p],X[20][p])}if(X[70]==1)UDOC.G.closePath(o);I.Stroke(o,!1)}else if(M=="CIRCLE"){UDOC.G.arc(o,X[10],X[20],X[40],0,Math.PI*2);
I.Stroke(o,!1)}else if(M=="ELLIPSE"){var cl=o.ctm.slice(0),ay=X[10],b7=X[20],H=X[11],cx=X[21],cy=Math.sqrt(H*H+cx*cx),c4=[1,0,0,1,0,0];
UDOC.M.scale(c4,1,X[40]);UDOC.M.rotate(c4,-Math.atan2(cx,H));UDOC.M.translate(c4,ay,b7);UDOC.M.concat(c4,o.ctm);
o.ctm=c4;UDOC.G.arc(o,0,0,cy,X[41],X[42]);I.Stroke(o,!1);o.ctm=cl}else if(M=="ARC"){UDOC.G.arc(o,X[10],X[20],X[40],X[50]*Math.PI/180,X[51]*Math.PI/180);
I.Stroke(o,!1)}else if(M=="SPLINE"){var bS=X[10],bC=X[20],bu=X[40].slice(0),bJ=bS.length-1;UDOC.G.moveTo(o,bS[0],bC[0]);
if(X[71]==3&&X[73]==4){UDOC.G.curveTo(o,bS[1],bC[1],bS[2],bC[2],bS[3],bC[3])}else{var ac=-1e6,aK=1e6;
for(var p=0;p<bu.length;p++){var cw=bu[p];if(cw<aK)aK=cw;if(cw>ac)ac=cw}for(var p=0;p<bu.length;p++){bu[p]=(bu[p]-aK)/(ac-aK)}var d=bS.length*10;
for(var c3=1;c3<d;c3++){var bp=c3/d,ca=n(bS,bC,X[71],bu,bp);UDOC.G.lineTo(o,ca[0],ca[1])}UDOC.G.lineTo(o,bS[bS.length-1],bC[bC.length-1])}if(X[70]&1)UDOC.G.closePath(o);
I.Stroke(o,!1)}else if(M=="--ATTDEF"||M=="ATTRIB"||M=="TEXT"||M=="MTEXT"){o.font.Tun=0;o.font.Tal=0;
o.font.Tm=[1,0,0,1,0,0];if(X[50])UDOC.M.rotate(o.font.Tm,-X[50]*Math.PI/180);UDOC.M.translate(o.font.Tm,X[10],X[20]);
o.font.Tfs=X[40];var bi=X[M=="ATTDEF"?3:1],O=null;bi=F(bi,o);var bn=X[71]==null?0:(X[71]-1)%3;o.font.Tal=[0,2,1][bn];
if(M=="MTEXT"&&X[41]!=null&&X[41]!=0){var ci=bi.length*o.font.Tfs/X[41];ci=Math.max(ci,bi.split("\n").length);
O=[X[41],ci*o.font.Tfs*1.5];if(bn==0){}else if(bn==2){UDOC.M.translate(o.font.Tm,-X[41],0)}else if(bn==1){UDOC.M.translate(o.font.Tm,-X[41]/2,0)}else console.log("unknown align",X)}else if(M=="MTEXT"&&X[71]!=null){if(X[71]<=3)UDOC.M.translate(o.font.Tm,0,-o.font.Tfs*.8);
else if(X[71]<=6)UDOC.M.translate(o.font.Tm,0,-o.font.Tfs*.4)}I.PutText(o,bi,bi.length*.5,O)}else console.log("unknown command",M)}else if(Q=="OBJECTS"){}else if(Q=="ACDSDATA"){}else{console.log(Q,y,j);
throw Q}}}function n(k,I,o,B,N){var L=0,Q=0;for(var M=0;M<k.length;M++){var X=G(M,o,B,N);L+=k[M]*X;Q+=I[M]*X}return[L,Q]}function G(k,o,B,N){var L=new Float64Array(o+1),Q,M,s=B.Length-1;
if(k==0&&N==B[0]||k==s-o-1&&N==B[s])return 1;if(N<B[k]||N>=B[k+o+1])return 0;for(var $=0;$<=o;$++){if(N>=B[k+$]&&N<B[k+$+1])L[$]=1;
else L[$]=0}for(var y=1;y<=o;y++){if(L[0]==0)Q=0;else Q=(N-B[k])*L[0]/(B[k+y]-B[k]);for(var $=0;$<o-y+1;
$++){var j=B[k+$+1],K=B[k+$+y+1];if(L[$+1]==0){L[$]=Q;Q=0}else{M=L[$+1]/(K-j);L[$]=Q+(K-N)*M;Q=(N-j)*M}}}return L[0]}return{Parse:a}}(),ToPDF=function(){function Z(){this._res={"/Font":{},"/XObject":{},"/ExtGState":{},"/Pattern":{}};
this._xr=[null,{"/Type":"/Catalog","/Pages":{typ:"ref",ind:2}},{"/Type":"/Pages","/Kids":[],"/Count":0},this._res];
this._bnds=[];this._cont="";this._annt=[];this._gst=a();this._gmap={smsk:"/None"};this._stck=[]}function a(){return{colr:"[0,0,0]",COLR:"[0,0,0]",lcap:"0",ljoin:"0",lwidth:"1",mlimit:"10",dash:"[]",doff:"0",bmode:"/Normal",CA:"1",ca:"1"}}Z.prototype.StartTGroup=function(D){this.setGState(D,!1);
this._stck.push(this._cont,this._gst);this._cont="";this._gst=a()};Z.prototype.EndTGroup=function(){var D={"/Type":"/XObject","/Subtype":"/Form","/Group":{"/Type":"/Group","/S":"/Transparency"},stream:this._cont},W=this._res["/XObject"],A=M(D,W,this._xr);
this._gst=this._stck.pop();this._cont=this._stck.pop();this._cont+=A+" Do \n"};Z.prototype.StartPage=function(D,W,A,x){this._bnds=[D,W,A,x]};
Z.prototype.AddAnnot=function(D,W){this._annt.push([D,W])};Z.prototype.Stroke=function(D){if(D.CA==0)return;
var W=null;if(D.cpth){this._cont+=" q "+Q(D.cpth)+" W n ";W=JSON.stringify(this._gst)}this.setGState(D,!0);
this._cont+=" S\n";this._cont+=o(this._gmap,this._res["/ExtGState"]);if(D.cpth){this._cont+=" Q ";this._gst=JSON.parse(W)}};
Z.prototype.Fill=function(D,W){if(D.ca==0)return;var A=null;if(D.cpth){this._cont+=" q "+Q(D.cpth)+" W n ";
A=JSON.stringify(this._gst)}this.setGState(D,!0);this._cont+=" f"+(W?"*":"")+"\n";this._cont+=o(this._gmap,this._res["/ExtGState"]);
if(D.cpth){this._cont+=" Q ";this._gst=JSON.parse(A)}};function i(D){return""+parseFloat(D.toFixed(2))}function F(D){return""+parseFloat(D.toFixed(3))}function t(D){return Math.sqrt(Math.abs(D[0]*D[3]-D[1]*D[2]))}function n(D){var W=D.map(i).join(" ");
if(W=="1 0 0 1 0 0")return"";return W+" cm "}function G(D,W){if(D.length!=W.length)return!1;for(var A=0;
A<D.length;A++)if(D[A]!=W[A])return!1;return!0}function k(D){var W=[[255,216,255],[0,0,0,12,106,80,32,32],[0,0,0,0,48,0,1,0]],A=["/DCTDecode","/JPXDecode","/JBIG2Decode"];
for(var x=0;x<W.length;x++){var E=W[x],d=!0;for(var S=0;S<E.length;S++)d=d&&D[S]==E[S];if(d)return A[x]}}Z.prototype.setGState=function(D,W){var A=this._gst,x={};
for(var E in D)if(E!="pth"&&E!="cpth")x[E]=typeof D[E]=="string"?D[E]:JSON.stringify(D[E]);var d=t(D.ctm),S=D.dash.slice(0);
for(var U=0;U<S.length;U++)S[U]=i(S[U]*d);var b=this._cont;if(A.lcap!=x.lcap)b+=D.lcap+" J ";if(A.ljoin!=x.ljoin)b+=D.ljoin+" j ";
if(A.lwidth!=x.lwidth)b+=i(D.lwidth*d)+" w ";if(A.mlimit!=x.mlimit)b+=i(D.mlimit)+" M ";if(A.dash!=x.dash||A.doff!=x.doff)b+="["+S.join(" ")+"] "+D.doff+" d ";
var w=this._res["/ExtGState"];if(A.COLR!=x.COLR)b+=I(D.COLR,!1,this._res,this._xr,this._gmap);if(A.colr!=x.colr)b+=I(D.colr,!0,this._res,this._xr,this._gmap);
if(A.bmode!=x.bmode){var R=x.bmode;if(w[R]==null)w[R]={"/Type":"/ExtGState","/BM":D.bmode};b+=R+" gs "}if(A.CA!=x.CA){var R="/CA"+Math.round(255*x.CA);
if(w[R]==null)w[R]={"/Type":"/ExtGState","/CA":D.CA};b+=R+" gs "}if(A.ca!=x.ca){var R="/ca"+Math.round(255*x.ca);
if(w[R]==null)w[R]={"/Type":"/ExtGState","/ca":D.ca};b+=R+" gs "}if(W)b+=Q(D.pth);this._cont=b;this._gst=x};
function I(D,W,A,x,E){var d=A["/ExtGState"];if(D.length!=null){return D.map(F).join(" ")+" "+(W?"rg":"RG")+" \n"}else{var S=A["/XObject"],U=A["/Pattern"],b=D,w=B(b,S,x,E),R="/P"+(X(U)+1);
U[R]={"/Type":"/Pattern","/PatternType":2,"/Matrix":b.mat,"/Shading":w[0]};var bH="/Pattern "+(W?"cs "+R+" scn ":"CS "+R+" SCN ");
if(w[1]){var bX="q 0 g "+n(b.mat)+" BX /Sh0 sh EX Q",bd={"/Subtype":"/Form","/BBox":[-32768,32767,32767,-32768],"/Resources":{"/Shading":{"/Sh0":w[1]}},stream:bX},H=M(bd,S,x),cx=R+"m";
d[cx]={"/Type":"/ExtGState","/SMask":{"/Type":"/Mask","/S":"/Luminosity","/G":S[H]}};E.smsk="custom";
return cx+" gs "+bH}return bH}}function o(D,W){if(D.smsk=="/None")return"";D.smsk="/None";if(W["/Nmsk"]==null)W["/Nmsk"]={"/Type":"/ExtGState","/SMask":"/None"};
return"/Nmsk gs "}function B(D,W,A,x){var E=JSON.stringify([D.typ,D.grad,D.crds]),d=1;if(x[E])return x[E];
for(var S=0;S<D.grad.length;S++)d=Math.min(d,D.grad[S][2]);var U=x[E]=[],b=N(D.grad);for(var S=0;S<2;
S++){var w={"/ShadingType":D.typ=="lin"?2:3,"/ColorSpace":S==0?"/DeviceRGB":"/DeviceGray","/Extend":[!0,!0],"/Function":b[S],"/Coords":D.crds};
U.push({typ:"ref",ind:A.length});A.push(w);if(d==1)break}return U}function N(D){D=D.slice(0);if(D[0][0]!=0)D.unshift(JSON.parse(JSON.stringify(D[0])));
if(D[D.length-1][0]!=1)D.unshift(JSON.parse(JSON.stringify(D[D.length-1])));D[0][0]=0;D[D.length-1][0]=1;
var W=[],A=[],x=[],E=[],d=L;d(D[0],D[1],E,A,x);for(var S=1;S<D.length-1;S++){W.push(D[S][0]);d(D[S],D[S+1],E,A,x)}return[A.length==1?A[0]:{"/FunctionType":3,"/Encode":E,"/Domain":[0,1],"/Bounds":W,"/Functions":A},W.length==1?W[0]:{"/FunctionType":3,"/Encode":E,"/Domain":[0,1],"/Bounds":W,"/Functions":x}]}function L(D,W,A,x,E){var d=D[3];
if(d<.5){d=1-d;var S=D;D=W;W=S;A.push(1,0)}else A.push(0,1);var U=Math.log(.5)/Math.log(d);x.push({"/FunctionType":2,"/C0":D[1],"/C1":W[1],"/Domain":[0,1],"/N":U});
E.push({"/FunctionType":2,"/C0":[D[2]],"/C1":[W[2]],"/Domain":[0,1],"/N":U})}function Q(D){var W=0,A="",x=i,E=D.crds,S=D.cmds,U=0,b=0,w=0,R=0;
for(var bH=0;bH<S.length;bH++){var bX=S[bH];if(bX=="M"){for(var bd=0;bd<2;bd++)A+=x(E[W++])+" ";A+="m "}else if(bX=="L"){for(var bd=0;
bd<2;bd++)A+=x(E[W++])+" ";A+="l "}else if(bX=="Q"){var H=E[W++],cx=E[W++],cd=E[W++],aD=E[W++],bZ=[(2*H+w)/3,(2*cx+R)/3,(2*H+cd)/3,(2*cx+aD)/3,cd,aD];
for(var bd=0;bd<6;bd++)A+=x(bZ[bd])+" ";A+="c "}else if(bX=="C"){for(var bd=0;bd<6;bd++)A+=x(E[W++])+" ";
A+="c "}else if(bX=="Z"){A+="h "}else throw bX;if(bX=="Z"){w=U;R=b}else{w=E[W-2];R=E[W-1];if(bX=="M"){U=w;
b=R}}}return A}Z.prototype.PutText=function(D,W,A,x){this.setGState(D,!1);var E=this.addFont(D.font.Tf,x);
this._cont+="q ";if(D.cpth)this._cont+=Q(D.cpth)+" W n ";this._cont+=n(D.ctm);this._cont+=n(D.font.Tm);
this._cont+="BT "+E+" "+i(D.font.Tfs)+" Tf 0 0 Td (";var d=[];if(x==null){var S=[128,8364,130,8218,131,402,132,8222,133,8230,134,8224,135,8225,136,710,137,8240,138,352,139,8249,140,338,142,381,145,8216,146,8217,147,8220,148,8221,149,8226,150,8211,151,8212,152,732,153,8482,154,353,155,8250,156,339,158,382,159,376];
for(var U=0;U<W.length;U++){var b=W.charCodeAt(U);if(b>255){var w=S.indexOf(b);d.push(w==-1?32:S[w-1])}else d.push(b)}}else{for(var U=0;
U<W.length;U++){var b=W.charCodeAt(U);d.push(b&255)}}d=FromPS.makeString(d);for(var U=0;U<d.length;U++)this._cont+=String.fromCharCode(d[U]);
this._cont+=") Tj ET ";this._cont+=" Q\n"};Z.prototype.PutImage=function(D,W,A,x,E){if(W.length==A*x*4&&E==null){var d=A*x,S=new Uint8Array(d),U=255;
for(var b=0;b<d;b++){S[b]=W[(b<<2)+3];U&=W[(b<<2)+3]}if(U!=255)E=S}var w=this.addImage(W,A,x,E);this.setGState(D,!1);
this._cont+="q ";if(D.cpth){this._cont+=Q(D.cpth)+" W n "}this._cont+=n(D.ctm);this._cont+=w+" Do Q\n"};
Z.prototype.ShowPage=function(){y(this._xr,this._cont,this._bnds,this._annt);this._cont="";this._annt=[];
this._gst=a()};Z.prototype.Print=function(D){};Z.prototype.Done=function(){var D=this._res;for(var W in D)if(Object.keys(D[W])==0)delete D[W];
this.buffer=j(this._xr)};Z.prototype.addImage=function(D,W,A,x){var E,d;if(x){d=x;if(x.length==W*A*4){d=new Uint8Array(W*A);
for(var S=0;S<d.length;S++)d[S]=x[(S<<2)+1]}E=this.addImage(d,W,A,null)}var U=k(D),b=D;if(D.length==W*A*4){b=new Uint8Array(W*A*3);
for(var S=0;S<D.length;S+=4){var w=3*(S>>2);b[w]=D[S+0];b[w+1]=D[S+1];b[w+2]=D[S+2]}}var R=this._res["/XObject"],bH=E!=null?1:0;
for(var bX in R){var bd=this._xr[R[bX].ind],H=bd["/SMask"],cx=H!=null?1:0;if(!G(bd.stream,b)||cx+bH==1)continue;
if(cx+bH==2&&!G(this._xr[H.ind].stream,d))continue;return bX}var cd={"/Type":"/XObject","/Subtype":"/Image","/BitsPerComponent":8,"/ColorSpace":D.length==W*A||U=="/DCTDecode"&&s(D)&&s(D).comps==1?"/DeviceGray":"/DeviceRGB","/Height":A,"/Width":W,stream:b};
if(U!=null)cd["/Filter"]=k(D);if(x){cd["/SMask"]=R[E]}return M(cd,R,this._xr)};function M(D,W,A){var x="/I"+(X(W)+1);
W[x]={typ:"ref",ind:A.length};A.push(D);return x}function X(D){var W;for(var A in D)W=A;return W==null?0:parseInt(W.slice(2))}function s(D){var W=0;
while(W<D.length){while(D[W]==255)W++;var A=D[W];W++;if(A==216)continue;if(A==217)break;if(208<=A&&A<=215)continue;
if(A==1)continue;var x=(D[W]<<8|D[W+1])-2;W+=2;if(A==192)return{bpp:D[W],w:D[W+1]<<8|D[W+2],h:D[W+3]<<8|D[W+4],comps:D[W+5]};
W+=x}}function $(D){var W=D.toLowerCase(),A="Helvetica Helvetica-Bold Helvetica-Oblique Helvetica-BoldOblique Times-Roman Times-Bold Times-Italic Times-BoldItalic".split(" "),x=0;
if(W.indexOf("sans")!=-1)x=0;else if(W.indexOf("serif")!=-1)x=4;var E=W.indexOf("bold")!=-1,d=W.indexOf("italic")!=-1||W.indexOf("oblique")!=-1||W.endsWith("-it");
if(E&&d)x+=3;else if(d)x+=2;else if(E)x+=1;return A[x]}Z.prototype.addFont=function(D,W){D=$(D);D="/"+D;
var A=this._res["/Font"];for(var x in A)if(A[x]["/BaseFont"]==D)return x;var x="/F"+(X(A)+1),E={"/Type":"/Font","/Subtype":"/Type1","/BaseFont":D,"/Encoding":"/WinAnsiEncoding"};
if(W!=null){var d="/CIDInit /ProcSet findresource begin \t12 dict begin \tbegincmap \t/CIDSystemInfo \t<< /Registry (Adobe) \t/Ordering (UCS) \t/Supplement 0 \t>> def \t/CMapName /Adobe-Identity-UCS def \t/CMapType 2 def \t1 begincodespacerange \t<0000> <FFFF> \tendcodespacerange \t1 beginbfchar \t<0001> <200B> \tendbfchar \tendcmap \tCMapName currentdict /CMap defineresource pop \tend \tend",S=new Uint8Array(d.length);
for(var U=0;U<d.length;U++)S[U]=d.charCodeAt(U);E["/Subtype"]="/TrueType";delete E["/Encoding"];E["/FirstChar"]=0;
E["/Widths"]=[];for(var U=0;U<256;U++)E["/Widths"].push(500);E["/LastChar"]=E["/Widths"].length-1;E["/FontDescriptor"]={"/Ascent":905,"/CapHeight":1010,"/Descent":211,"/Flags":4,"/FontBBox":[-627,-376,2e3,1011],"/FontName":D,"/ItalicAngle":0,"/StemV":80,"/Type":"/FontDescriptor","/FontFile2":{stream:new Uint8Array(W)}}}A[x]=E;
return x};function y(D,W,A,x){var E=[];for(var d=0;d<x.length;d++){var S=x[d];D.push({"/Type":"/Annot","/Subtype":"/Link","/F":4,"/Border":[0,0,0],"/Rect":S[0],"/A":{"/Type":"/Action","/S":"/URI","/URI":"("+S[1]+")"}});
E.push({typ:"ref",ind:D.length-1})}var d=D.length;D[2]["/Kids"].push({typ:"ref",ind:d});D[2]["/Count"]++;
D.push({"/Type":"/Page","/Parent":{typ:"ref",ind:2},"/Resources":{typ:"ref",ind:3},"/MediaBox":A,"/Annots":E,"/Contents":{typ:"ref",ind:d+1}});
D.push({stream:W})}function j(D){var W={file:new p,off:0},A=m,x=[];A(W,"%PDF-1.1\n");for(var E=1;E<D.length;
E++){x.push(W.off);A(W,E+" 0 obj\n");V(W,D[E],0);A(W,"\nendobj\n")}var S=W.off;A(W,"xref\n");A(W,"0 "+D.length+"\n");
A(W,"0000000000 65535 f \n");for(var E=0;E<x.length;E++){var U=x[E]+"";while(U.length<10)U="0"+U;A(W,U+" 00000 n \n")}A(W,"trailer\n");
V(W,{"/Root":{typ:"ref",ind:1},"/Size":D.length},0);A(W,"\nstartxref\n"+S+"\n%%EOF\n");return W.file.data.buffer.slice(0,W.off)}function m(D,W){D.file.req(D.off,W.length);
for(var A=0;A<W.length;A++)D.file.data[D.off+A]=W.charCodeAt(A);D.off+=W.length}function K(D){var W="";
for(var A=0;A<D;A++)W+=" ";return W}function _(D,W,A){var x=m;if(!1){}else if(typeof W=="string")x(D,W);
else if(typeof W=="number")x(D,""+parseFloat(W.toFixed(3)));else if(typeof W=="boolean")x(D,""+W);else if(W.typ!=null)x(D,W.ind+" 0 R");
else if(W instanceof Array)e(D,W,A+1);else if(W instanceof Object)V(D,W,A+1);else{console.log(W);throw"e"}}function V(D,W,A){var x=m,E=K,S=W.stream;
if(S){if(typeof S=="string"){var U=new Uint8Array(S.length);for(var b=0;b<S.length;b++)U[b]=S.charCodeAt(b);
S=U}if(W["/Filter"]==null){W["/Filter"]="/FlateDecode";S=pako.deflate(S)}}x(D,"<<\n");for(var w in W){if(w.charAt(0)!="/")continue;
x(D,E(A+1)+w+" ");_(D,W[w],A);x(D,"\n")}if(S)x(D,E(A+1)+"/Length "+S.length+"\n");x(D,E(A)+">>");if(S){x(D,E(A)+"\nstream\n");
D.file.req(D.off,S.length);for(var b=0;b<S.length;b++)D.file.data[D.off+b]=S[b];D.off+=S.length;x(D,E(A)+"\nendstream")}}function e(D,W,A){var x=m;
x(D,"[ ");for(var E=0;E<W.length;E++){_(D,W[E],A+1);if(E!=W.length-1)x(D," ")}x(D," ]")}var p=function(){this.size=16;
this.data=new Uint8Array(16)};p.prototype.req=function(D,W){if(D+W<=this.size)return;var A=this.size;
while(D+W>this.size)this.size*=2;var x=new Uint8Array(this.size);for(var E=0;E<A;E++)x[E]=this.data[E];
this.data=x};return Z}();function ToEMF(){this._file={file:new ToEMF.MFile,off:0};this._lstw=0;this._curx=0;
this._curh=0;this._recs=0;this._lenp=0;this._objs={};this._tabl=1;this._stkf=0;this._tclr=0;this._curt={p:-1,b:-1,t:-1};
this._inited=!1}ToEMF.prototype.StartTGroup=function(){};ToEMF.prototype.EndTGroup=function(){};ToEMF.prototype.StartPage=function(Z,a,i,F){this._check();
var t=this._file,G=ToEMF.B.writeUint,k=ToEMF.B.writeInt;this._curh=Math.max(this._curh,F*10);if(!this._inited){this._inited=!0;
this._addRec("HEADER",88);ToEMF._writeHeadBox(t,[Z,a,i,F]);t.off+=32;ToEMF.B.writeASCII(t.file,t.off," EMF");
t.off+=4;G(t.file,t.off,65536);t.off+=4;this._lenp=t.off;t.off+=4+4+4;t.off+=4+4+4;k(t.file,t.off,1440);
t.off+=4;k(t.file,t.off,900);t.off+=4;k(t.file,t.off,508);t.off+=4;k(t.file,t.off,318);t.off+=4;this._trsf([.1,0,0,.1,0,0]);
this._addRec("SETBKMODE",12);G(t.file,t.off,1);t.off+=4;this._addRec("SETTEXTALIGN",12);G(t.file,t.off,24);
t.off+=4}else{this._curx+=this._lstw;ToEMF._writeHeadBox(t,[0,0,this._curx+i,Math.round(this._curh/10)])}this._lstw=i};
ToEMF.prototype.Stroke=function(Z){this._draw(Z,1)};ToEMF.prototype.Fill=function(Z,a){this._draw(Z,2)};
ToEMF.prototype.PutImage=function(Z,a,i,F,t){var n=a.length;if((n&3)!=0)n+=4-(n&3);var G=[1,0,0,-1,0,1];
UDOC.M.concat(G,Z.ctm);UDOC.M.scale(G,10,10);UDOC.M.scale(G,1,-1);UDOC.M.translate(G,this._curx,this._curh);
this._trsf(G);var I=this._file,o=ToEMF.B.writeUint,B=ToEMF.B.writeInt,N=ToEMF.B.writeUshort,Q=8+16+14*4;
this._addRec("STRETCHDIBITS",Q+40+n);I.off+=16;B(I.file,I.off,Math.round(0));I.off+=4;B(I.file,I.off,Math.round(0));
I.off+=4;I.off+=8;B(I.file,I.off,i);I.off+=4;B(I.file,I.off,F);I.off+=4;o(I.file,I.off,Q);I.off+=4;o(I.file,I.off,40);
I.off+=4;o(I.file,I.off,Q+40);I.off+=4;o(I.file,I.off,a.length);I.off+=4;I.off+=4;o(I.file,I.off,13369376);
I.off+=4;B(I.file,I.off,Math.round(1));I.off+=4;B(I.file,I.off,Math.round(1));I.off+=4;B(I.file,I.off,40);
I.off+=4;B(I.file,I.off,i);I.off+=4;B(I.file,I.off,F);I.off+=4;N(I.file,I.off,1);I.off+=2;N(I.file,I.off,32);
I.off+=2;B(I.file,I.off,0);I.off+=4;B(I.file,I.off,a.length);I.off+=4;B(I.file,I.off,3800);I.off+=4;
B(I.file,I.off,3800);I.off+=4;I.off+=8;I.file.req(I.off,a.length);if(a.length==i*F*4){for(var M=0;M<F;
M++)for(var X=0;X<i;X++){var s=M*i+X<<2,$=I.off+((F-1-M)*i+X<<2);I.file.data[$]=a[s+2];I.file.data[$+1]=a[s+1];
I.file.data[$+2]=a[s];I.file.data[$+3]=a[s+3]}}else for(var y=0;y<a.length;y++)I.file.data[I.off+y]=a[y];
I.off+=n;UDOC.M.invert(G);this._trsf(G)};ToEMF.prototype.PutText=function(Z,a,i){var F=a.length,M;if((F&1)==1)F++;
this._check();var t=this._file,G=ToEMF.B.writeUint,k=ToEMF.B.writeInt,I=ToEMF.B.writeUshort,o=ToEMF.B.writeFloat,B=ToEMF._color(Z.colr);
if(B!=this._tclr){this._addRec("SETTEXTCOLOR",12);G(t.file,t.off,B);t.off+=4;this._tclr=B}this._setTool("f",[Z.font.Tf,Math.round(Z.font.Tfs*10)]);
var N=10*(Z.ctm[4]+this._curx),L=this._curh-10*Z.ctm[5],Q=Math.abs(Z.ctm[1])>.05;if(Q){M=Z.ctm.slice(0);
M[1]*=-1;M[2]*=-1;M[4]=N;M[5]=L;N=L=0;this._trsf(M)}var X=8+16+12+4*6+16;this._addRec("EXTTEXTOUTW",X+F*2);
t.off+=16;G(t.file,t.off,2);t.off+=4;o(t.file,t.off,31.25);t.off+=4;o(t.file,t.off,31.25);t.off+=4;k(t.file,t.off,Math.round(N));
t.off+=4;k(t.file,t.off,Math.round(L));t.off+=4;G(t.file,t.off,a.length);t.off+=4;G(t.file,t.off,X);
t.off+=4;G(t.file,t.off,0);t.off+=4;t.off+=16;G(t.file,t.off,0);t.off+=4;for(var s=0;s<a.length;s++)I(t.file,t.off+s*2,a.charCodeAt(s));
t.off+=2*F;if(Q){UDOC.M.invert(M);this._trsf(M)}};ToEMF.prototype.ShowPage=function(){this._check()};
ToEMF.prototype.Done=function(){this._check();var Z=this._file,a=ToEMF.B.writeUint;this._addRec("EOF",20);
a(Z.file,Z.off,0);Z.off+=4;a(Z.file,Z.off,16);Z.off+=4;a(Z.file,Z.off,20);Z.off+=4;a(Z.file,this._lenp,Z.off);
a(Z.file,this._lenp+4,this._recs);a(Z.file,this._lenp+8,this._tabl);this.buffer=Z.file.data.buffer.slice(0,Z.off)};
ToEMF.prototype._check=function(){var Z=this._file,a=this._stkf;if(a==0)return;if(a==1)this._addRec("STROKEPATH",24);
if(a==2)this._addRec("FILLPATH",24);if(a==3)this._addRec("STROKEANDFILLPATH",24);Z.off+=16;this._stkf=0};
ToEMF.prototype._addRec=function(Z,a){var i=this._file,F=ToEMF.B.writeUint;this._recs++;F(i.file,i.off,ToEMF.C["EMR_"+Z]);
i.off+=4;F(i.file,i.off,a);i.off+=4};ToEMF.prototype._trsf=function(Z){var a=this._file,i=ToEMF.B.writeInt;
this._addRec("MODIFYWORLDTRANSFORM",36);for(var F=0;F<Z.length;F++){ToEMF.B.writeFloat(a.file,a.off,Z[F]);
a.off+=4}i(a.file,a.off,2);a.off+=4};ToEMF._writeHeadBox=function(Z,a){var i=Z.off;Z.off=8;ToEMF._writeBox(Z,a);
var F=1/72*25.4*100;ToEMF._writeBox(Z,[0,0,Math.round((a[2]-a[0])*F),Math.round((a[3]-a[1])*F)]);Z.off=i};
ToEMF._writeBox=function(Z,a){for(var i=0;i<4;i++){ToEMF.B.writeInt(Z.file,Z.off,a[i]);Z.off+=4}};ToEMF.prototype._draw=function(Z,a){var i=this._file,F=ToEMF.B.writeUint,t=ToEMF.B.writeInt,G=Z.pth,k=JSON.stringify(G);
if(this._cpth!=k)this._check();if(a==1)this._setTool("p",[Z.COLR,Z.lwidth,Z.ljoin]);else this._setTool("b",[Z.colr]);
if(this._cpth==k){this._stkf+=a}else{var I={M:["MOVETOEX",1],L:["LINETO",1],Q:["POLYBEZIERTO",3],C:["POLYBEZIERTO",3],Z:["CLOSEFIGURE",0]},o=0,B=G.cmds.length;
this._addRec("BEGINPATH",8);for(var N=0;N<B;N++){var L=G.cmds[N],Q=I[L],$=1;if(Q==null)throw L+" e";
var M=Q[1]*2,X=Q[0],s=8+4*M;while(!0){if(N+$<B&&G.cmds[N+$]==L)$++;else break}var y=L=="C"||L=="Q"||L=="L"&&$>1;
if(y){if(L=="L")X="POLYLINETO";s=8+20+4*M*$}this._addRec(X,s);if(y){i.off+=16;F(i.file,i.off,$*Q[1]);
i.off+=4;N+=$-1}for(var j=0;j<$;j++){var m=G.crds,K=o;if(L=="Q"){var _=m[K-2],e=m[K-1],p=m[K++],D=m[K++],W=m[K++],A=m[K++];
m=[(2*p+_)/3,(2*D+e)/3,(2*p+W)/3,(2*D+A)/3,W,A];K=0;o-=2}for(var x=0;x<M;x+=2){t(i.file,i.off,Math.round(10*(m[K]+this._curx)));
i.off+=4;K++;t(i.file,i.off,Math.round(this._curh-10*m[K]));i.off+=4;K++}o+=M}}this._addRec("ENDPATH",8);
this._cpth=k;this._stkf=a}};ToEMF.prototype._setTool=function(Z,a){var i=this._file,F=ToEMF.B.writeUint,t=ToEMF.B.writeInt,G=Z+JSON.stringify(a),k=this._objs[G];
if(k==null){k=this._objs[G]=this._tabl;this._tabl++;if(Z=="b")this._addRec("CREATEBRUSHINDIRECT",24);
if(Z=="p")this._addRec("CREATEPEN",28);if(Z=="f")this._addRec("EXTCREATEFONTINDIRECTW",104);F(i.file,i.off,k);
i.off+=4;if(Z=="b"||Z=="p"){if(Z=="p"){F(i.file,i.off,0);i.off+=4;var I=Math.round(a[1]*10);F(i.file,i.off,I);
i.off+=4;F(i.file,i.off,I);i.off+=4}else{F(i.file,i.off,0);i.off+=4}F(i.file,i.off,ToEMF._color(a[0]));
i.off+=4;if(Z=="b"){F(i.file,i.off,0);i.off+=4}}if(Z=="f"){var o=a[0],B=o.toLowerCase().indexOf("bold")!=-1;
if(o.endsWith("-Bold"))o=o.slice(0,o.length-5);t(i.file,i.off,-a[1]);i.off+=4;i.off+=12;F(i.file,i.off,B?700:400);
i.off+=4;F(i.file,i.off,0);i.off+=4;F(i.file,i.off,262151);i.off+=4;for(var N=0;N<o.length;N++)ToEMF.B.writeUshort(i.file,i.off+N*2,o.charCodeAt(N));
i.off+=64}}if(this._curt[Z]!=k){this._addRec("SELECTOBJECT",12);F(i.file,i.off,k);i.off+=4;this._curt[Z]=k}};
ToEMF._color=function(Z){var a=Z.grad;if(a)Z=a[Math.floor(a.length/2)][1];var i=Math.round(Z[0]*255),F=Math.round(Z[1]*255),t=Math.round(Z[2]*255);
return t<<16|F<<8|i<<0};ToEMF.B=function(){var Z=new Uint8Array(4),a=Z.buffer,i=new Int16Array(a),F=new Uint16Array(a),t=new Int32Array(a),n=new Uint32Array(a),G=new Float32Array(a);
return{writeShort:function(k,I,o){i[0]=o;k.req(I,2);var B=k.data;B[I]=Z[0];B[I+1]=Z[1]},writeUshort:function(k,I,o){F[0]=o;
k.req(I,2);var B=k.data;B[I]=Z[0];B[I+1]=Z[1]},writeInt:function(k,I,o){t[0]=o;k.req(I,4);var B=k.data;
B[I]=Z[0];B[I+1]=Z[1];B[I+2]=Z[2];B[I+3]=Z[3]},writeUint:function(k,I,o){n[0]=o;k.req(I,4);var B=k.data;
B[I]=Z[0];B[I+1]=Z[1];B[I+2]=Z[2];B[I+3]=Z[3]},writeFloat:function(k,I,o){G[0]=o;k.req(I,4);var B=k.data;
B[I]=Z[0];B[I+1]=Z[1];B[I+2]=Z[2];B[I+3]=Z[3]},writeASCII:function(k,I,o){k.req(I,o.length);for(var B=0;
B<o.length;B++)k.data[I+B]=o.charCodeAt(B)}}}();ToEMF.MFile=function(){this.size=16;this.data=new Uint8Array(16)};
ToEMF.MFile.prototype.req=function(Z,a){if(Z+a<=this.size)return;var i=this.size;while(Z+a>this.size)this.size*=2;
var F=new Uint8Array(this.size);for(var t=0;t<i;t++)F[t]=this.data[t];this.data=F};ToEMF.C={EMR_HEADER:1,EMR_POLYBEZIER:2,EMR_POLYGON:3,EMR_POLYLINE:4,EMR_POLYBEZIERTO:5,EMR_POLYLINETO:6,EMR_POLYPOLYLINE:7,EMR_POLYPOLYGON:8,EMR_SETWINDOWEXTEX:9,EMR_SETWINDOWORGEX:10,EMR_SETVIEWPORTEXTEX:11,EMR_SETVIEWPORTORGEX:12,EMR_SETBRUSHORGEX:13,EMR_EOF:14,EMR_SETPIXELV:15,EMR_SETMAPPERFLAGS:16,EMR_SETMAPMODE:17,EMR_SETBKMODE:18,EMR_SETPOLYFILLMODE:19,EMR_SETROP2:20,EMR_SETSTRETCHBLTMODE:21,EMR_SETTEXTALIGN:22,EMR_SETCOLORADJUSTMENT:23,EMR_SETTEXTCOLOR:24,EMR_SETBKCOLOR:25,EMR_OFFSETCLIPRGN:26,EMR_MOVETOEX:27,EMR_SETMETARGN:28,EMR_EXCLUDECLIPRECT:29,EMR_INTERSECTCLIPRECT:30,EMR_SCALEVIEWPORTEXTEX:31,EMR_SCALEWINDOWEXTEX:32,EMR_SAVEDC:33,EMR_RESTOREDC:34,EMR_SETWORLDTRANSFORM:35,EMR_MODIFYWORLDTRANSFORM:36,EMR_SELECTOBJECT:37,EMR_CREATEPEN:38,EMR_CREATEBRUSHINDIRECT:39,EMR_DELETEOBJECT:40,EMR_ANGLEARC:41,EMR_ELLIPSE:42,EMR_RECTANGLE:43,EMR_ROUNDRECT:44,EMR_ARC:45,EMR_CHORD:46,EMR_PIE:47,EMR_SELECTPALETTE:48,EMR_CREATEPALETTE:49,EMR_SETPALETTEENTRIES:50,EMR_RESIZEPALETTE:51,EMR_REALIZEPALETTE:52,EMR_EXTFLOODFILL:53,EMR_LINETO:54,EMR_ARCTO:55,EMR_POLYDRAW:56,EMR_SETARCDIRECTION:57,EMR_SETMITERLIMIT:58,EMR_BEGINPATH:59,EMR_ENDPATH:60,EMR_CLOSEFIGURE:61,EMR_FILLPATH:62,EMR_STROKEANDFILLPATH:63,EMR_STROKEPATH:64,EMR_FLATTENPATH:65,EMR_WIDENPATH:66,EMR_SELECTCLIPPATH:67,EMR_ABORTPATH:68,EMR_COMMENT:70,EMR_FILLRGN:71,EMR_FRAMERGN:72,EMR_INVERTRGN:73,EMR_PAINTRGN:74,EMR_EXTSELECTCLIPRGN:75,EMR_BITBLT:76,EMR_STRETCHBLT:77,EMR_MASKBLT:78,EMR_PLGBLT:79,EMR_SETDIBITSTODEVICE:80,EMR_STRETCHDIBITS:81,EMR_EXTCREATEFONTINDIRECTW:82,EMR_EXTTEXTOUTA:83,EMR_EXTTEXTOUTW:84,EMR_POLYBEZIER16:85,EMR_POLYGON16:86,EMR_POLYLINE16:87,EMR_POLYBEZIERTO16:88,EMR_POLYLINETO16:89,EMR_POLYPOLYLINE16:90,EMR_POLYPOLYGON16:91,EMR_POLYDRAW16:92,EMR_CREATEMONOBRUSH:93,EMR_CREATEDIBPATTERNBRUSHPT:94,EMR_EXTCREATEPEN:95,EMR_POLYTEXTOUTA:96,EMR_POLYTEXTOUTW:97,EMR_SETICMMODE:98,EMR_CREATECOLORSPACE:99,EMR_SETCOLORSPACE:100,EMR_DELETECOLORSPACE:101,EMR_GLSRECORD:102,EMR_GLSBOUNDEDRECORD:103,EMR_PIXELFORMAT:104,EMR_DRAWESCAPE:105,EMR_EXTESCAPE:106,EMR_SMALLTEXTOUT:108,EMR_FORCEUFIMAPPING:109,EMR_NAMEDESCAPE:110,EMR_COLORCORRECTPALETTE:111,EMR_SETICMPROFILEA:112,EMR_SETICMPROFILEW:113,EMR_ALPHABLEND:114,EMR_SETLAYOUT:115,EMR_TRANSPARENTBLT:116,EMR_GRADIENTFILL:118,EMR_SETLINKEDUFIS:119,EMR_SETTEXTJUSTIFICATION:120,EMR_COLORMATCHTOTARGETW:121,EMR_CREATECOLORSPACEW:122};
ToEMF.K=[];(function(){var Z,a,i;Z=ToEMF.C;a=ToEMF.K;i=4;for(var F in Z)a[Z[F]]=F.slice(i)}());var ToDXF=function(){var Z;
function a(){this.buffer=null}a.prototype.StartTGroup=function(){};a.prototype.EndTGroup=function(){};
a.prototype.StartPage=function(){if(Z==null)Z=[0,"SECTION",2,"ENTITIES"]};a.prototype.ShowPage=function(){};
a.prototype.Done=function(){Z.push(0,"ENDSEC",0,"EOF","");var i=Z.join("\n"),F=new Uint8Array(i.length);
this.buffer=F.buffer;for(var t=0;t<i.length;t++)F[t]=i.charCodeAt(t);Z=null};a.prototype.PutImage=function(){};
a.prototype.PutText=function(i,F,t){while(F.endsWith("\n"))F=F.slice(0,F.length-1);Z.push(0,"MTEXT");
Z.push(40,i.font.Tfs);Z.push(10,i.ctm[4],20,i.ctm[5]);Z.push(1,F)};a.prototype.Fill=function(i){this.Stroke(i)};
a.prototype.Stroke=function(i){var F=i.pth.cmds,t=i.pth.crds,n=0,G=0,k=0,I=0,o=0;for(var B=0;B<F.length;
B++){var N=F[B];if(N=="M"){k=t[o++];I=t[o++];n=k;G=I}else if(N=="L"||N=="Z"){if(N=="Z"&&k==n&&I==G)continue;
Z.push(0,"LINE",10,k,20,I);if(N=="L"){k=t[o++];I=t[o++]}else{k=n;I=G}Z.push(11,k,21,I)}else if(N=="C"){Z.push(0,"SPLINE");
Z.push(210,0,220,0,230,0);Z.push(70,8,71,3,72,8,73,4,74,0,42,0,43,0);for(var L=0;L<8;L++)Z.push(40,L<4?0:1);
Z.push(10,k,20,I);for(var L=0;L<3;L++){k=t[o++];I=t[o++];Z.push(10,k,20,I)}}}};return a}();
/* pako 1.0.5 nodeca/pako */
!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.pako=t()}}(function(){return function t(e,a,i){function n(s,o){if(!a[s]){if(!e[s]){var l="function"==typeof require&&require;if(!o&&l)return l(s,!0);if(r)return r(s,!0);var h=new Error("Cannot find module '"+s+"'");throw h.code="MODULE_NOT_FOUND",h}var d=a[s]={exports:{}};e[s][0].call(d.exports,function(t){var a=e[s][1][t];return n(a?a:t)},d,d.exports,t,e,a,i)}return a[s].exports}for(var r="function"==typeof require&&require,s=0;s<i.length;s++)n(i[s]);return n}({1:[function(t,e,a){"use strict";function i(t){if(!(this instanceof i))return new i(t);this.options=l.assign({level:w,method:v,chunkSize:16384,windowBits:15,memLevel:8,strategy:p,to:""},t||{});var e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new f,this.strm.avail_out=0;var a=o.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==b)throw new Error(d[a]);if(e.header&&o.deflateSetHeader(this.strm,e.header),e.dictionary){var n;if(n="string"==typeof e.dictionary?h.string2buf(e.dictionary):"[object ArrayBuffer]"===_.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,a=o.deflateSetDictionary(this.strm,n),a!==b)throw new Error(d[a]);this._dict_set=!0}}function n(t,e){var a=new i(e);if(a.push(t,!0),a.err)throw a.msg||d[a.err];return a.result}function r(t,e){return e=e||{},e.raw=!0,n(t,e)}function s(t,e){return e=e||{},e.gzip=!0,n(t,e)}var o=t("./zlib/deflate"),l=t("./utils/common"),h=t("./utils/strings"),d=t("./zlib/messages"),f=t("./zlib/zstream"),_=Object.prototype.toString,u=0,c=4,b=0,g=1,m=2,w=-1,p=0,v=8;i.prototype.push=function(t,e){var a,i,n=this.strm,r=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:e===!0?c:u,"string"==typeof t?n.input=h.string2buf(t):"[object ArrayBuffer]"===_.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;do{if(0===n.avail_out&&(n.output=new l.Buf8(r),n.next_out=0,n.avail_out=r),a=o.deflate(n,i),a!==g&&a!==b)return this.onEnd(a),this.ended=!0,!1;0!==n.avail_out&&(0!==n.avail_in||i!==c&&i!==m)||("string"===this.options.to?this.onData(h.buf2binstring(l.shrinkBuf(n.output,n.next_out))):this.onData(l.shrinkBuf(n.output,n.next_out)))}while((n.avail_in>0||0===n.avail_out)&&a!==g);return i===c?(a=o.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===b):i!==m||(this.onEnd(b),n.avail_out=0,!0)},i.prototype.onData=function(t){this.chunks.push(t)},i.prototype.onEnd=function(t){t===b&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=l.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Deflate=i,a.deflate=n,a.deflateRaw=r,a.gzip=s},{"./utils/common":3,"./utils/strings":4,"./zlib/deflate":8,"./zlib/messages":13,"./zlib/zstream":15}],2:[function(t,e,a){"use strict";function i(t){if(!(this instanceof i))return new i(t);this.options=o.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0===(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new f,this.strm.avail_out=0;var a=s.inflateInit2(this.strm,e.windowBits);if(a!==h.Z_OK)throw new Error(d[a]);this.header=new _,s.inflateGetHeader(this.strm,this.header)}function n(t,e){var a=new i(e);if(a.push(t,!0),a.err)throw a.msg||d[a.err];return a.result}function r(t,e){return e=e||{},e.raw=!0,n(t,e)}var s=t("./zlib/inflate"),o=t("./utils/common"),l=t("./utils/strings"),h=t("./zlib/constants"),d=t("./zlib/messages"),f=t("./zlib/zstream"),_=t("./zlib/gzheader"),u=Object.prototype.toString;i.prototype.push=function(t,e){var a,i,n,r,d,f,_=this.strm,c=this.options.chunkSize,b=this.options.dictionary,g=!1;if(this.ended)return!1;i=e===~~e?e:e===!0?h.Z_FINISH:h.Z_NO_FLUSH,"string"==typeof t?_.input=l.binstring2buf(t):"[object ArrayBuffer]"===u.call(t)?_.input=new Uint8Array(t):_.input=t,_.next_in=0,_.avail_in=_.input.length;do{if(0===_.avail_out&&(_.output=new o.Buf8(c),_.next_out=0,_.avail_out=c),a=s.inflate(_,h.Z_NO_FLUSH),a===h.Z_NEED_DICT&&b&&(f="string"==typeof b?l.string2buf(b):"[object ArrayBuffer]"===u.call(b)?new Uint8Array(b):b,a=s.inflateSetDictionary(this.strm,f)),a===h.Z_BUF_ERROR&&g===!0&&(a=h.Z_OK,g=!1),a!==h.Z_STREAM_END&&a!==h.Z_OK)return this.onEnd(a),this.ended=!0,!1;_.next_out&&(0!==_.avail_out&&a!==h.Z_STREAM_END&&(0!==_.avail_in||i!==h.Z_FINISH&&i!==h.Z_SYNC_FLUSH)||("string"===this.options.to?(n=l.utf8border(_.output,_.next_out),r=_.next_out-n,d=l.buf2string(_.output,n),_.next_out=r,_.avail_out=c-r,r&&o.arraySet(_.output,_.output,n,r,0),this.onData(d)):this.onData(o.shrinkBuf(_.output,_.next_out)))),0===_.avail_in&&0===_.avail_out&&(g=!0)}while((_.avail_in>0||0===_.avail_out)&&a!==h.Z_STREAM_END);return a===h.Z_STREAM_END&&(i=h.Z_FINISH),i===h.Z_FINISH?(a=s.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===h.Z_OK):i!==h.Z_SYNC_FLUSH||(this.onEnd(h.Z_OK),_.avail_out=0,!0)},i.prototype.onData=function(t){this.chunks.push(t)},i.prototype.onEnd=function(t){t===h.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Inflate=i,a.inflate=n,a.inflateRaw=r,a.ungzip=n},{"./utils/common":3,"./utils/strings":4,"./zlib/constants":6,"./zlib/gzheader":9,"./zlib/inflate":11,"./zlib/messages":13,"./zlib/zstream":15}],3:[function(t,e,a){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;a.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(var i in a)a.hasOwnProperty(i)&&(t[i]=a[i])}}return t},a.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,a,i,n){if(e.subarray&&t.subarray)return void t.set(e.subarray(a,a+i),n);for(var r=0;r<i;r++)t[n+r]=e[a+r]},flattenChunks:function(t){var e,a,i,n,r,s;for(i=0,e=0,a=t.length;e<a;e++)i+=t[e].length;for(s=new Uint8Array(i),n=0,e=0,a=t.length;e<a;e++)r=t[e],s.set(r,n),n+=r.length;return s}},r={arraySet:function(t,e,a,i,n){for(var r=0;r<i;r++)t[n+r]=e[a+r]},flattenChunks:function(t){return[].concat.apply([],t)}};a.setTyped=function(t){t?(a.Buf8=Uint8Array,a.Buf16=Uint16Array,a.Buf32=Int32Array,a.assign(a,n)):(a.Buf8=Array,a.Buf16=Array,a.Buf32=Array,a.assign(a,r))},a.setTyped(i)},{}],4:[function(t,e,a){"use strict";function i(t,e){if(e<65537&&(t.subarray&&s||!t.subarray&&r))return String.fromCharCode.apply(null,n.shrinkBuf(t,e));for(var a="",i=0;i<e;i++)a+=String.fromCharCode(t[i]);return a}var n=t("./common"),r=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(t){r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){s=!1}for(var o=new n.Buf8(256),l=0;l<256;l++)o[l]=l>=252?6:l>=248?5:l>=240?4:l>=224?3:l>=192?2:1;o[254]=o[254]=1,a.string2buf=function(t){var e,a,i,r,s,o=t.length,l=0;for(r=0;r<o;r++)a=t.charCodeAt(r),55296===(64512&a)&&r+1<o&&(i=t.charCodeAt(r+1),56320===(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),r++)),l+=a<128?1:a<2048?2:a<65536?3:4;for(e=new n.Buf8(l),s=0,r=0;s<l;r++)a=t.charCodeAt(r),55296===(64512&a)&&r+1<o&&(i=t.charCodeAt(r+1),56320===(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),r++)),a<128?e[s++]=a:a<2048?(e[s++]=192|a>>>6,e[s++]=128|63&a):a<65536?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);return e},a.buf2binstring=function(t){return i(t,t.length)},a.binstring2buf=function(t){for(var e=new n.Buf8(t.length),a=0,i=e.length;a<i;a++)e[a]=t.charCodeAt(a);return e},a.buf2string=function(t,e){var a,n,r,s,l=e||t.length,h=new Array(2*l);for(n=0,a=0;a<l;)if(r=t[a++],r<128)h[n++]=r;else if(s=o[r],s>4)h[n++]=65533,a+=s-1;else{for(r&=2===s?31:3===s?15:7;s>1&&a<l;)r=r<<6|63&t[a++],s--;s>1?h[n++]=65533:r<65536?h[n++]=r:(r-=65536,h[n++]=55296|r>>10&1023,h[n++]=56320|1023&r)}return i(h,n)},a.utf8border=function(t,e){var a;for(e=e||t.length,e>t.length&&(e=t.length),a=e-1;a>=0&&128===(192&t[a]);)a--;return a<0?e:0===a?e:a+o[t[a]]>e?a:e}},{"./common":3}],5:[function(t,e,a){"use strict";function i(t,e,a,i){for(var n=65535&t|0,r=t>>>16&65535|0,s=0;0!==a;){s=a>2e3?2e3:a,a-=s;do n=n+e[i++]|0,r=r+n|0;while(--s);n%=65521,r%=65521}return n|r<<16|0}e.exports=i},{}],6:[function(t,e,a){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],7:[function(t,e,a){"use strict";function i(){for(var t,e=[],a=0;a<256;a++){t=a;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e}function n(t,e,a,i){var n=r,s=i+a;t^=-1;for(var o=i;o<s;o++)t=t>>>8^n[255&(t^e[o])];return t^-1}var r=i();e.exports=n},{}],8:[function(t,e,a){"use strict";function i(t,e){return t.msg=D[e],e}function n(t){return(t<<1)-(t>4?9:0)}function r(t){for(var e=t.length;--e>=0;)t[e]=0}function s(t){var e=t.state,a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(R.arraySet(t.output,e.pending_buf,e.pending_out,a,t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))}function o(t,e){C._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,s(t.strm)}function l(t,e){t.pending_buf[t.pending++]=e}function h(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function d(t,e,a,i){var n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,R.arraySet(e,t.input,t.next_in,n,a),1===t.state.wrap?t.adler=N(t.adler,e,n,a):2===t.state.wrap&&(t.adler=O(t.adler,e,n,a)),t.next_in+=n,t.total_in+=n,n)}function f(t,e){var a,i,n=t.max_chain_length,r=t.strstart,s=t.prev_length,o=t.nice_match,l=t.strstart>t.w_size-ft?t.strstart-(t.w_size-ft):0,h=t.window,d=t.w_mask,f=t.prev,_=t.strstart+dt,u=h[r+s-1],c=h[r+s];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do if(a=e,h[a+s]===c&&h[a+s-1]===u&&h[a]===h[r]&&h[++a]===h[r+1]){r+=2,a++;do;while(h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&r<_);if(i=dt-(_-r),r=_-dt,i>s){if(t.match_start=e,s=i,i>=o)break;u=h[r+s-1],c=h[r+s]}}while((e=f[e&d])>l&&0!==--n);return s<=t.lookahead?s:t.lookahead}function _(t){var e,a,i,n,r,s=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=s+(s-ft)){R.arraySet(t.window,t.window,s,s,0),t.match_start-=s,t.strstart-=s,t.block_start-=s,a=t.hash_size,e=a;do i=t.head[--e],t.head[e]=i>=s?i-s:0;while(--a);a=s,e=a;do i=t.prev[--e],t.prev[e]=i>=s?i-s:0;while(--a);n+=s}if(0===t.strm.avail_in)break;if(a=d(t.strm,t.window,t.strstart+t.lookahead,n),t.lookahead+=a,t.lookahead+t.insert>=ht)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=(t.ins_h<<t.hash_shift^t.window[r+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[r+ht-1])&t.hash_mask,t.prev[r&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=r,r++,t.insert--,!(t.lookahead+t.insert<ht)););}while(t.lookahead<ft&&0!==t.strm.avail_in)}function u(t,e){var a=65535;for(a>t.pending_buf_size-5&&(a=t.pending_buf_size-5);;){if(t.lookahead<=1){if(_(t),0===t.lookahead&&e===I)return vt;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+a;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,o(t,!1),0===t.strm.avail_out))return vt;if(t.strstart-t.block_start>=t.w_size-ft&&(o(t,!1),0===t.strm.avail_out))return vt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.strstart>t.block_start&&(o(t,!1),0===t.strm.avail_out)?vt:vt}function c(t,e){for(var a,i;;){if(t.lookahead<ft){if(_(t),t.lookahead<ft&&e===I)return vt;if(0===t.lookahead)break}if(a=0,t.lookahead>=ht&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ht-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==a&&t.strstart-a<=t.w_size-ft&&(t.match_length=f(t,a)),t.match_length>=ht)if(i=C._tr_tally(t,t.strstart-t.match_start,t.match_length-ht),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=ht){t.match_length--;do t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ht-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart;while(0!==--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else i=C._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(o(t,!1),0===t.strm.avail_out))return vt}return t.insert=t.strstart<ht-1?t.strstart:ht-1,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?vt:kt}function b(t,e){for(var a,i,n;;){if(t.lookahead<ft){if(_(t),t.lookahead<ft&&e===I)return vt;if(0===t.lookahead)break}if(a=0,t.lookahead>=ht&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ht-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=ht-1,0!==a&&t.prev_length<t.max_lazy_match&&t.strstart-a<=t.w_size-ft&&(t.match_length=f(t,a),t.match_length<=5&&(t.strategy===q||t.match_length===ht&&t.strstart-t.match_start>4096)&&(t.match_length=ht-1)),t.prev_length>=ht&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-ht,i=C._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-ht),t.lookahead-=t.prev_length-1,t.prev_length-=2;do++t.strstart<=n&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ht-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart);while(0!==--t.prev_length);if(t.match_available=0,t.match_length=ht-1,t.strstart++,i&&(o(t,!1),0===t.strm.avail_out))return vt}else if(t.match_available){if(i=C._tr_tally(t,0,t.window[t.strstart-1]),i&&o(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return vt}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=C._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<ht-1?t.strstart:ht-1,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?vt:kt}function g(t,e){for(var a,i,n,r,s=t.window;;){if(t.lookahead<=dt){if(_(t),t.lookahead<=dt&&e===I)return vt;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=ht&&t.strstart>0&&(n=t.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){r=t.strstart+dt;do;while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&n<r);t.match_length=dt-(r-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=ht?(a=C._tr_tally(t,1,t.match_length-ht),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=C._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(o(t,!1),0===t.strm.avail_out))return vt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?vt:kt}function m(t,e){for(var a;;){if(0===t.lookahead&&(_(t),0===t.lookahead)){if(e===I)return vt;break}if(t.match_length=0,a=C._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(o(t,!1),0===t.strm.avail_out))return vt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?vt:kt}function w(t,e,a,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=i,this.func=n}function p(t){t.window_size=2*t.w_size,r(t.head),t.max_lazy_match=Z[t.level].max_lazy,t.good_match=Z[t.level].good_length,t.nice_match=Z[t.level].nice_length,t.max_chain_length=Z[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=ht-1,t.match_available=0,t.ins_h=0}function v(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=V,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new R.Buf16(2*ot),this.dyn_dtree=new R.Buf16(2*(2*rt+1)),this.bl_tree=new R.Buf16(2*(2*st+1)),r(this.dyn_ltree),r(this.dyn_dtree),r(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new R.Buf16(lt+1),this.heap=new R.Buf16(2*nt+1),r(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new R.Buf16(2*nt+1),r(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function k(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=Q,e=t.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?ut:wt,t.adler=2===e.wrap?0:1,e.last_flush=I,C._tr_init(e),H):i(t,K)}function y(t){var e=k(t);return e===H&&p(t.state),e}function x(t,e){return t&&t.state?2!==t.state.wrap?K:(t.state.gzhead=e,H):K}function z(t,e,a,n,r,s){if(!t)return K;var o=1;if(e===Y&&(e=6),n<0?(o=0,n=-n):n>15&&(o=2,n-=16),r<1||r>$||a!==V||n<8||n>15||e<0||e>9||s<0||s>W)return i(t,K);8===n&&(n=9);var l=new v;return t.state=l,l.strm=t,l.wrap=o,l.gzhead=null,l.w_bits=n,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=r+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+ht-1)/ht),l.window=new R.Buf8(2*l.w_size),l.head=new R.Buf16(l.hash_size),l.prev=new R.Buf16(l.w_size),l.lit_bufsize=1<<r+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new R.Buf8(l.pending_buf_size),l.d_buf=1*l.lit_bufsize,l.l_buf=3*l.lit_bufsize,l.level=e,l.strategy=s,l.method=a,y(t)}function B(t,e){return z(t,e,V,tt,et,J)}function S(t,e){var a,o,d,f;if(!t||!t.state||e>L||e<0)return t?i(t,K):K;if(o=t.state,!t.output||!t.input&&0!==t.avail_in||o.status===pt&&e!==F)return i(t,0===t.avail_out?P:K);if(o.strm=t,a=o.last_flush,o.last_flush=e,o.status===ut)if(2===o.wrap)t.adler=0,l(o,31),l(o,139),l(o,8),o.gzhead?(l(o,(o.gzhead.text?1:0)+(o.gzhead.hcrc?2:0)+(o.gzhead.extra?4:0)+(o.gzhead.name?8:0)+(o.gzhead.comment?16:0)),l(o,255&o.gzhead.time),l(o,o.gzhead.time>>8&255),l(o,o.gzhead.time>>16&255),l(o,o.gzhead.time>>24&255),l(o,9===o.level?2:o.strategy>=G||o.level<2?4:0),l(o,255&o.gzhead.os),o.gzhead.extra&&o.gzhead.extra.length&&(l(o,255&o.gzhead.extra.length),l(o,o.gzhead.extra.length>>8&255)),o.gzhead.hcrc&&(t.adler=O(t.adler,o.pending_buf,o.pending,0)),o.gzindex=0,o.status=ct):(l(o,0),l(o,0),l(o,0),l(o,0),l(o,0),l(o,9===o.level?2:o.strategy>=G||o.level<2?4:0),l(o,zt),o.status=wt);else{var _=V+(o.w_bits-8<<4)<<8,u=-1;u=o.strategy>=G||o.level<2?0:o.level<6?1:6===o.level?2:3,_|=u<<6,0!==o.strstart&&(_|=_t),_+=31-_%31,o.status=wt,h(o,_),0!==o.strstart&&(h(o,t.adler>>>16),h(o,65535&t.adler)),t.adler=1}if(o.status===ct)if(o.gzhead.extra){for(d=o.pending;o.gzindex<(65535&o.gzhead.extra.length)&&(o.pending!==o.pending_buf_size||(o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending!==o.pending_buf_size));)l(o,255&o.gzhead.extra[o.gzindex]),o.gzindex++;o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),o.gzindex===o.gzhead.extra.length&&(o.gzindex=0,o.status=bt)}else o.status=bt;if(o.status===bt)if(o.gzhead.name){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindex<o.gzhead.name.length?255&o.gzhead.name.charCodeAt(o.gzindex++):0,l(o,f)}while(0!==f);o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.gzindex=0,o.status=gt)}else o.status=gt;if(o.status===gt)if(o.gzhead.comment){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindex<o.gzhead.comment.length?255&o.gzhead.comment.charCodeAt(o.gzindex++):0,l(o,f)}while(0!==f);o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.status=mt)}else o.status=mt;if(o.status===mt&&(o.gzhead.hcrc?(o.pending+2>o.pending_buf_size&&s(t),o.pending+2<=o.pending_buf_size&&(l(o,255&t.adler),l(o,t.adler>>8&255),t.adler=0,o.status=wt)):o.status=wt),0!==o.pending){if(s(t),0===t.avail_out)return o.last_flush=-1,H}else if(0===t.avail_in&&n(e)<=n(a)&&e!==F)return i(t,P);if(o.status===pt&&0!==t.avail_in)return i(t,P);if(0!==t.avail_in||0!==o.lookahead||e!==I&&o.status!==pt){var c=o.strategy===G?m(o,e):o.strategy===X?g(o,e):Z[o.level].func(o,e);if(c!==yt&&c!==xt||(o.status=pt),c===vt||c===yt)return 0===t.avail_out&&(o.last_flush=-1),H;if(c===kt&&(e===U?C._tr_align(o):e!==L&&(C._tr_stored_block(o,0,0,!1),e===T&&(r(o.head),0===o.lookahead&&(o.strstart=0,o.block_start=0,o.insert=0))),s(t),0===t.avail_out))return o.last_flush=-1,H}return e!==F?H:o.wrap<=0?j:(2===o.wrap?(l(o,255&t.adler),l(o,t.adler>>8&255),l(o,t.adler>>16&255),l(o,t.adler>>24&255),l(o,255&t.total_in),l(o,t.total_in>>8&255),l(o,t.total_in>>16&255),l(o,t.total_in>>24&255)):(h(o,t.adler>>>16),h(o,65535&t.adler)),s(t),o.wrap>0&&(o.wrap=-o.wrap),0!==o.pending?H:j)}function E(t){var e;return t&&t.state?(e=t.state.status,e!==ut&&e!==ct&&e!==bt&&e!==gt&&e!==mt&&e!==wt&&e!==pt?i(t,K):(t.state=null,e===wt?i(t,M):H)):K}function A(t,e){var a,i,n,s,o,l,h,d,f=e.length;if(!t||!t.state)return K;if(a=t.state,s=a.wrap,2===s||1===s&&a.status!==ut||a.lookahead)return K;for(1===s&&(t.adler=N(t.adler,e,f,0)),a.wrap=0,f>=a.w_size&&(0===s&&(r(a.head),a.strstart=0,a.block_start=0,a.insert=0),d=new R.Buf8(a.w_size),R.arraySet(d,e,f-a.w_size,a.w_size,0),e=d,f=a.w_size),o=t.avail_in,l=t.next_in,h=t.input,t.avail_in=f,t.next_in=0,t.input=e,_(a);a.lookahead>=ht;){i=a.strstart,n=a.lookahead-(ht-1);do a.ins_h=(a.ins_h<<a.hash_shift^a.window[i+ht-1])&a.hash_mask,a.prev[i&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=i,i++;while(--n);a.strstart=i,a.lookahead=ht-1,_(a)}return a.strstart+=a.lookahead,a.block_start=a.strstart,a.insert=a.lookahead,a.lookahead=0,a.match_length=a.prev_length=ht-1,a.match_available=0,t.next_in=l,t.input=h,t.avail_in=o,a.wrap=s,H}var Z,R=t("../utils/common"),C=t("./trees"),N=t("./adler32"),O=t("./crc32"),D=t("./messages"),I=0,U=1,T=3,F=4,L=5,H=0,j=1,K=-2,M=-3,P=-5,Y=-1,q=1,G=2,X=3,W=4,J=0,Q=2,V=8,$=9,tt=15,et=8,at=29,it=256,nt=it+1+at,rt=30,st=19,ot=2*nt+1,lt=15,ht=3,dt=258,ft=dt+ht+1,_t=32,ut=42,ct=69,bt=73,gt=91,mt=103,wt=113,pt=666,vt=1,kt=2,yt=3,xt=4,zt=3;Z=[new w(0,0,0,0,u),new w(4,4,8,4,c),new w(4,5,16,8,c),new w(4,6,32,32,c),new w(4,4,16,16,b),new w(8,16,32,32,b),new w(8,16,128,128,b),new w(8,32,128,256,b),new w(32,128,258,1024,b),new w(32,258,258,4096,b)],a.deflateInit=B,a.deflateInit2=z,a.deflateReset=y,a.deflateResetKeep=k,a.deflateSetHeader=x,a.deflate=S,a.deflateEnd=E,a.deflateSetDictionary=A,a.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,"./crc32":7,"./messages":13,"./trees":14}],9:[function(t,e,a){"use strict";function i(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}e.exports=i},{}],10:[function(t,e,a){"use strict";var i=30,n=12;e.exports=function(t,e){var a,r,s,o,l,h,d,f,_,u,c,b,g,m,w,p,v,k,y,x,z,B,S,E,A;a=t.state,r=t.next_in,E=t.input,s=r+(t.avail_in-5),o=t.next_out,A=t.output,l=o-(e-t.avail_out),h=o+(t.avail_out-257),d=a.dmax,f=a.wsize,_=a.whave,u=a.wnext,c=a.window,b=a.hold,g=a.bits,m=a.lencode,w=a.distcode,p=(1<<a.lenbits)-1,v=(1<<a.distbits)-1;t:do{g<15&&(b+=E[r++]<<g,g+=8,b+=E[r++]<<g,g+=8),k=m[b&p];e:for(;;){if(y=k>>>24,b>>>=y,g-=y,y=k>>>16&255,0===y)A[o++]=65535&k;else{if(!(16&y)){if(0===(64&y)){k=m[(65535&k)+(b&(1<<y)-1)];continue e}if(32&y){a.mode=n;break t}t.msg="invalid literal/length code",a.mode=i;break t}x=65535&k,y&=15,y&&(g<y&&(b+=E[r++]<<g,g+=8),x+=b&(1<<y)-1,b>>>=y,g-=y),g<15&&(b+=E[r++]<<g,g+=8,b+=E[r++]<<g,g+=8),k=w[b&v];a:for(;;){if(y=k>>>24,b>>>=y,g-=y,y=k>>>16&255,!(16&y)){if(0===(64&y)){k=w[(65535&k)+(b&(1<<y)-1)];continue a}t.msg="invalid distance code",a.mode=i;break t}if(z=65535&k,y&=15,g<y&&(b+=E[r++]<<g,g+=8,g<y&&(b+=E[r++]<<g,g+=8)),z+=b&(1<<y)-1,z>d){t.msg="invalid distance too far back",a.mode=i;break t}if(b>>>=y,g-=y,y=o-l,z>y){if(y=z-y,y>_&&a.sane){t.msg="invalid distance too far back",a.mode=i;break t}if(B=0,S=c,0===u){if(B+=f-y,y<x){x-=y;do A[o++]=c[B++];while(--y);B=o-z,S=A}}else if(u<y){if(B+=f+u-y,y-=u,y<x){x-=y;do A[o++]=c[B++];while(--y);if(B=0,u<x){y=u,x-=y;do A[o++]=c[B++];while(--y);B=o-z,S=A}}}else if(B+=u-y,y<x){x-=y;do A[o++]=c[B++];while(--y);B=o-z,S=A}for(;x>2;)A[o++]=S[B++],A[o++]=S[B++],A[o++]=S[B++],x-=3;x&&(A[o++]=S[B++],x>1&&(A[o++]=S[B++]))}else{B=o-z;do A[o++]=A[B++],A[o++]=A[B++],A[o++]=A[B++],x-=3;while(x>2);x&&(A[o++]=A[B++],x>1&&(A[o++]=A[B++]))}break}}break}}while(r<s&&o<h);x=g>>3,r-=x,g-=x<<3,b&=(1<<g)-1,t.next_in=r,t.next_out=o,t.avail_in=r<s?5+(s-r):5-(r-s),t.avail_out=o<h?257+(h-o):257-(o-h),a.hold=b,a.bits=g}},{}],11:[function(t,e,a){"use strict";function i(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function n(){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 w.Buf16(320),this.work=new w.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function r(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=T,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new w.Buf32(bt),e.distcode=e.distdyn=new w.Buf32(gt),e.sane=1,e.back=-1,Z):N}function s(t){var e;return t&&t.state?(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,r(t)):N}function o(t,e){var a,i;return t&&t.state?(i=t.state,e<0?(a=0,e=-e):(a=(e>>4)+1,e<48&&(e&=15)),e&&(e<8||e>15)?N:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,s(t))):N}function l(t,e){var a,i;return t?(i=new n,t.state=i,i.window=null,a=o(t,e),a!==Z&&(t.state=null),a):N}function h(t){return l(t,wt)}function d(t){if(pt){var e;for(g=new w.Buf32(512),m=new w.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(y(z,t.lens,0,288,g,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;y(B,t.lens,0,32,m,0,t.work,{bits:5}),pt=!1}t.lencode=g,t.lenbits=9,t.distcode=m,t.distbits=5}function f(t,e,a,i){var n,r=t.state;return null===r.window&&(r.wsize=1<<r.wbits,r.wnext=0,r.whave=0,r.window=new w.Buf8(r.wsize)),i>=r.wsize?(w.arraySet(r.window,e,a-r.wsize,r.wsize,0),r.wnext=0,r.whave=r.wsize):(n=r.wsize-r.wnext,n>i&&(n=i),w.arraySet(r.window,e,a-i,n,r.wnext),i-=n,i?(w.arraySet(r.window,e,a-i,i,0),r.wnext=i,r.whave=r.wsize):(r.wnext+=n,r.wnext===r.wsize&&(r.wnext=0),r.whave<r.wsize&&(r.whave+=n))),0}function _(t,e){var a,n,r,s,o,l,h,_,u,c,b,g,m,bt,gt,mt,wt,pt,vt,kt,yt,xt,zt,Bt,St=0,Et=new w.Buf8(4),At=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return N;a=t.state,a.mode===X&&(a.mode=W),o=t.next_out,r=t.output,h=t.avail_out,s=t.next_in,n=t.input,l=t.avail_in,_=a.hold,u=a.bits,c=l,b=h,xt=Z;t:for(;;)switch(a.mode){case T:if(0===a.wrap){a.mode=W;break}for(;u<16;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(2&a.wrap&&35615===_){a.check=0,Et[0]=255&_,Et[1]=_>>>8&255,a.check=v(a.check,Et,2,0),_=0,u=0,a.mode=F;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&_)<<8)+(_>>8))%31){t.msg="incorrect header check",a.mode=_t;break}if((15&_)!==U){t.msg="unknown compression method",a.mode=_t;break}if(_>>>=4,u-=4,yt=(15&_)+8,0===a.wbits)a.wbits=yt;else if(yt>a.wbits){t.msg="invalid window size",a.mode=_t;break}a.dmax=1<<yt,t.adler=a.check=1,a.mode=512&_?q:X,_=0,u=0;break;case F:for(;u<16;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(a.flags=_,(255&a.flags)!==U){t.msg="unknown compression method",a.mode=_t;break}if(57344&a.flags){t.msg="unknown header flags set",a.mode=_t;break}a.head&&(a.head.text=_>>8&1),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=v(a.check,Et,2,0)),_=0,u=0,a.mode=L;case L:for(;u<32;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.head&&(a.head.time=_),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,Et[2]=_>>>16&255,Et[3]=_>>>24&255,a.check=v(a.check,Et,4,0)),_=0,u=0,a.mode=H;case H:for(;u<16;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.head&&(a.head.xflags=255&_,a.head.os=_>>8),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=v(a.check,Et,2,0)),_=0,u=0,a.mode=j;case j:if(1024&a.flags){for(;u<16;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.length=_,a.head&&(a.head.extra_len=_),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=v(a.check,Et,2,0)),_=0,u=0}else a.head&&(a.head.extra=null);a.mode=K;case K:if(1024&a.flags&&(g=a.length,g>l&&(g=l),g&&(a.head&&(yt=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Array(a.head.extra_len)),w.arraySet(a.head.extra,n,s,g,yt)),512&a.flags&&(a.check=v(a.check,n,g,s)),l-=g,s+=g,a.length-=g),a.length))break t;a.length=0,a.mode=M;case M:if(2048&a.flags){if(0===l)break t;g=0;do yt=n[s+g++],a.head&&yt&&a.length<65536&&(a.head.name+=String.fromCharCode(yt));while(yt&&g<l);if(512&a.flags&&(a.check=v(a.check,n,g,s)),l-=g,s+=g,yt)break t}else a.head&&(a.head.name=null);a.length=0,a.mode=P;case P:if(4096&a.flags){if(0===l)break t;g=0;do yt=n[s+g++],a.head&&yt&&a.length<65536&&(a.head.comment+=String.fromCharCode(yt));while(yt&&g<l);if(512&a.flags&&(a.check=v(a.check,n,g,s)),l-=g,s+=g,yt)break t}else a.head&&(a.head.comment=null);a.mode=Y;case Y:if(512&a.flags){for(;u<16;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(_!==(65535&a.check)){t.msg="header crc mismatch",a.mode=_t;break}_=0,u=0}a.head&&(a.head.hcrc=a.flags>>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=X;break;case q:for(;u<32;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}t.adler=a.check=i(_),_=0,u=0,a.mode=G;case G:if(0===a.havedict)return t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,C;t.adler=a.check=1,a.mode=X;case X:if(e===E||e===A)break t;case W:if(a.last){_>>>=7&u,u-=7&u,a.mode=ht;break}for(;u<3;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}switch(a.last=1&_,_>>>=1,u-=1,3&_){case 0:a.mode=J;break;case 1:if(d(a),a.mode=at,e===A){_>>>=2,u-=2;break t}break;case 2:a.mode=$;break;case 3:t.msg="invalid block type",a.mode=_t}_>>>=2,u-=2;break;case J:for(_>>>=7&u,u-=7&u;u<32;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if((65535&_)!==(_>>>16^65535)){t.msg="invalid stored block lengths",a.mode=_t;break}if(a.length=65535&_,_=0,u=0,a.mode=Q,e===A)break t;case Q:a.mode=V;case V:if(g=a.length){if(g>l&&(g=l),g>h&&(g=h),0===g)break t;w.arraySet(r,n,s,g,o),l-=g,s+=g,h-=g,o+=g,a.length-=g;break}a.mode=X;break;case $:
for(;u<14;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(a.nlen=(31&_)+257,_>>>=5,u-=5,a.ndist=(31&_)+1,_>>>=5,u-=5,a.ncode=(15&_)+4,_>>>=4,u-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=_t;break}a.have=0,a.mode=tt;case tt:for(;a.have<a.ncode;){for(;u<3;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.lens[At[a.have++]]=7&_,_>>>=3,u-=3}for(;a.have<19;)a.lens[At[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,zt={bits:a.lenbits},xt=y(x,a.lens,0,19,a.lencode,0,a.work,zt),a.lenbits=zt.bits,xt){t.msg="invalid code lengths set",a.mode=_t;break}a.have=0,a.mode=et;case et:for(;a.have<a.nlen+a.ndist;){for(;St=a.lencode[_&(1<<a.lenbits)-1],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(gt<=u);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(wt<16)_>>>=gt,u-=gt,a.lens[a.have++]=wt;else{if(16===wt){for(Bt=gt+2;u<Bt;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(_>>>=gt,u-=gt,0===a.have){t.msg="invalid bit length repeat",a.mode=_t;break}yt=a.lens[a.have-1],g=3+(3&_),_>>>=2,u-=2}else if(17===wt){for(Bt=gt+3;u<Bt;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}_>>>=gt,u-=gt,yt=0,g=3+(7&_),_>>>=3,u-=3}else{for(Bt=gt+7;u<Bt;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}_>>>=gt,u-=gt,yt=0,g=11+(127&_),_>>>=7,u-=7}if(a.have+g>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=_t;break}for(;g--;)a.lens[a.have++]=yt}}if(a.mode===_t)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=_t;break}if(a.lenbits=9,zt={bits:a.lenbits},xt=y(z,a.lens,0,a.nlen,a.lencode,0,a.work,zt),a.lenbits=zt.bits,xt){t.msg="invalid literal/lengths set",a.mode=_t;break}if(a.distbits=6,a.distcode=a.distdyn,zt={bits:a.distbits},xt=y(B,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,zt),a.distbits=zt.bits,xt){t.msg="invalid distances set",a.mode=_t;break}if(a.mode=at,e===A)break t;case at:a.mode=it;case it:if(l>=6&&h>=258){t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,k(t,b),o=t.next_out,r=t.output,h=t.avail_out,s=t.next_in,n=t.input,l=t.avail_in,_=a.hold,u=a.bits,a.mode===X&&(a.back=-1);break}for(a.back=0;St=a.lencode[_&(1<<a.lenbits)-1],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(gt<=u);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(mt&&0===(240&mt)){for(pt=gt,vt=mt,kt=wt;St=a.lencode[kt+((_&(1<<pt+vt)-1)>>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(pt+gt<=u);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}_>>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,a.length=wt,0===mt){a.mode=lt;break}if(32&mt){a.back=-1,a.mode=X;break}if(64&mt){t.msg="invalid literal/length code",a.mode=_t;break}a.extra=15&mt,a.mode=nt;case nt:if(a.extra){for(Bt=a.extra;u<Bt;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.length+=_&(1<<a.extra)-1,_>>>=a.extra,u-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=rt;case rt:for(;St=a.distcode[_&(1<<a.distbits)-1],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(gt<=u);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(0===(240&mt)){for(pt=gt,vt=mt,kt=wt;St=a.distcode[kt+((_&(1<<pt+vt)-1)>>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(pt+gt<=u);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}_>>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,64&mt){t.msg="invalid distance code",a.mode=_t;break}a.offset=wt,a.extra=15&mt,a.mode=st;case st:if(a.extra){for(Bt=a.extra;u<Bt;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.offset+=_&(1<<a.extra)-1,_>>>=a.extra,u-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=_t;break}a.mode=ot;case ot:if(0===h)break t;if(g=b-h,a.offset>g){if(g=a.offset-g,g>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=_t;break}g>a.wnext?(g-=a.wnext,m=a.wsize-g):m=a.wnext-g,g>a.length&&(g=a.length),bt=a.window}else bt=r,m=o-a.offset,g=a.length;g>h&&(g=h),h-=g,a.length-=g;do r[o++]=bt[m++];while(--g);0===a.length&&(a.mode=it);break;case lt:if(0===h)break t;r[o++]=a.length,h--,a.mode=it;break;case ht:if(a.wrap){for(;u<32;){if(0===l)break t;l--,_|=n[s++]<<u,u+=8}if(b-=h,t.total_out+=b,a.total+=b,b&&(t.adler=a.check=a.flags?v(a.check,r,b,o-b):p(a.check,r,b,o-b)),b=h,(a.flags?_:i(_))!==a.check){t.msg="incorrect data check",a.mode=_t;break}_=0,u=0}a.mode=dt;case dt:if(a.wrap&&a.flags){for(;u<32;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(_!==(4294967295&a.total)){t.msg="incorrect length check",a.mode=_t;break}_=0,u=0}a.mode=ft;case ft:xt=R;break t;case _t:xt=O;break t;case ut:return D;case ct:default:return N}return t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,(a.wsize||b!==t.avail_out&&a.mode<_t&&(a.mode<ht||e!==S))&&f(t,t.output,t.next_out,b-t.avail_out)?(a.mode=ut,D):(c-=t.avail_in,b-=t.avail_out,t.total_in+=c,t.total_out+=b,a.total+=b,a.wrap&&b&&(t.adler=a.check=a.flags?v(a.check,r,b,t.next_out-b):p(a.check,r,b,t.next_out-b)),t.data_type=a.bits+(a.last?64:0)+(a.mode===X?128:0)+(a.mode===at||a.mode===Q?256:0),(0===c&&0===b||e===S)&&xt===Z&&(xt=I),xt)}function u(t){if(!t||!t.state)return N;var e=t.state;return e.window&&(e.window=null),t.state=null,Z}function c(t,e){var a;return t&&t.state?(a=t.state,0===(2&a.wrap)?N:(a.head=e,e.done=!1,Z)):N}function b(t,e){var a,i,n,r=e.length;return t&&t.state?(a=t.state,0!==a.wrap&&a.mode!==G?N:a.mode===G&&(i=1,i=p(i,e,r,0),i!==a.check)?O:(n=f(t,e,r,r))?(a.mode=ut,D):(a.havedict=1,Z)):N}var g,m,w=t("../utils/common"),p=t("./adler32"),v=t("./crc32"),k=t("./inffast"),y=t("./inftrees"),x=0,z=1,B=2,S=4,E=5,A=6,Z=0,R=1,C=2,N=-2,O=-3,D=-4,I=-5,U=8,T=1,F=2,L=3,H=4,j=5,K=6,M=7,P=8,Y=9,q=10,G=11,X=12,W=13,J=14,Q=15,V=16,$=17,tt=18,et=19,at=20,it=21,nt=22,rt=23,st=24,ot=25,lt=26,ht=27,dt=28,ft=29,_t=30,ut=31,ct=32,bt=852,gt=592,mt=15,wt=mt,pt=!0;a.inflateReset=s,a.inflateReset2=o,a.inflateResetKeep=r,a.inflateInit=h,a.inflateInit2=l,a.inflate=_,a.inflateEnd=u,a.inflateGetHeader=c,a.inflateSetDictionary=b,a.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,"./crc32":7,"./inffast":10,"./inftrees":12}],12:[function(t,e,a){"use strict";var i=t("../utils/common"),n=15,r=852,s=592,o=0,l=1,h=2,d=[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],f=[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,72,78],_=[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],u=[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];e.exports=function(t,e,a,c,b,g,m,w){var p,v,k,y,x,z,B,S,E,A=w.bits,Z=0,R=0,C=0,N=0,O=0,D=0,I=0,U=0,T=0,F=0,L=null,H=0,j=new i.Buf16(n+1),K=new i.Buf16(n+1),M=null,P=0;for(Z=0;Z<=n;Z++)j[Z]=0;for(R=0;R<c;R++)j[e[a+R]]++;for(O=A,N=n;N>=1&&0===j[N];N--);if(O>N&&(O=N),0===N)return b[g++]=20971520,b[g++]=20971520,w.bits=1,0;for(C=1;C<N&&0===j[C];C++);for(O<C&&(O=C),U=1,Z=1;Z<=n;Z++)if(U<<=1,U-=j[Z],U<0)return-1;if(U>0&&(t===o||1!==N))return-1;for(K[1]=0,Z=1;Z<n;Z++)K[Z+1]=K[Z]+j[Z];for(R=0;R<c;R++)0!==e[a+R]&&(m[K[e[a+R]]++]=R);if(t===o?(L=M=m,z=19):t===l?(L=d,H-=257,M=f,P-=257,z=256):(L=_,M=u,z=-1),F=0,R=0,Z=C,x=g,D=O,I=0,k=-1,T=1<<O,y=T-1,t===l&&T>r||t===h&&T>s)return 1;for(;;){B=Z-I,m[R]<z?(S=0,E=m[R]):m[R]>z?(S=M[P+m[R]],E=L[H+m[R]]):(S=96,E=0),p=1<<Z-I,v=1<<D,C=v;do v-=p,b[x+(F>>I)+v]=B<<24|S<<16|E|0;while(0!==v);for(p=1<<Z-1;F&p;)p>>=1;if(0!==p?(F&=p-1,F+=p):F=0,R++,0===--j[Z]){if(Z===N)break;Z=e[a+m[R]]}if(Z>O&&(F&y)!==k){for(0===I&&(I=O),x+=C,D=Z-I,U=1<<D;D+I<N&&(U-=j[D+I],!(U<=0));)D++,U<<=1;if(T+=1<<D,t===l&&T>r||t===h&&T>s)return 1;k=F&y,b[k]=O<<24|D<<16|x-g|0}}return 0!==F&&(b[x+F]=Z-I<<24|64<<16|0),w.bits=O,0}},{"../utils/common":3}],13:[function(t,e,a){"use strict";e.exports={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"}},{}],14:[function(t,e,a){"use strict";function i(t){for(var e=t.length;--e>=0;)t[e]=0}function n(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}function r(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function s(t){return t<256?lt[t]:lt[256+(t>>>7)]}function o(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function l(t,e,a){t.bi_valid>W-a?(t.bi_buf|=e<<t.bi_valid&65535,o(t,t.bi_buf),t.bi_buf=e>>W-t.bi_valid,t.bi_valid+=a-W):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=a)}function h(t,e,a){l(t,a[2*e],a[2*e+1])}function d(t,e){var a=0;do a|=1&t,t>>>=1,a<<=1;while(--e>0);return a>>>1}function f(t){16===t.bi_valid?(o(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}function _(t,e){var a,i,n,r,s,o,l=e.dyn_tree,h=e.max_code,d=e.stat_desc.static_tree,f=e.stat_desc.has_stree,_=e.stat_desc.extra_bits,u=e.stat_desc.extra_base,c=e.stat_desc.max_length,b=0;for(r=0;r<=X;r++)t.bl_count[r]=0;for(l[2*t.heap[t.heap_max]+1]=0,a=t.heap_max+1;a<G;a++)i=t.heap[a],r=l[2*l[2*i+1]+1]+1,r>c&&(r=c,b++),l[2*i+1]=r,i>h||(t.bl_count[r]++,s=0,i>=u&&(s=_[i-u]),o=l[2*i],t.opt_len+=o*(r+s),f&&(t.static_len+=o*(d[2*i+1]+s)));if(0!==b){do{for(r=c-1;0===t.bl_count[r];)r--;t.bl_count[r]--,t.bl_count[r+1]+=2,t.bl_count[c]--,b-=2}while(b>0);for(r=c;0!==r;r--)for(i=t.bl_count[r];0!==i;)n=t.heap[--a],n>h||(l[2*n+1]!==r&&(t.opt_len+=(r-l[2*n+1])*l[2*n],l[2*n+1]=r),i--)}}function u(t,e,a){var i,n,r=new Array(X+1),s=0;for(i=1;i<=X;i++)r[i]=s=s+a[i-1]<<1;for(n=0;n<=e;n++){var o=t[2*n+1];0!==o&&(t[2*n]=d(r[o]++,o))}}function c(){var t,e,a,i,r,s=new Array(X+1);for(a=0,i=0;i<K-1;i++)for(dt[i]=a,t=0;t<1<<et[i];t++)ht[a++]=i;for(ht[a-1]=i,r=0,i=0;i<16;i++)for(ft[i]=r,t=0;t<1<<at[i];t++)lt[r++]=i;for(r>>=7;i<Y;i++)for(ft[i]=r<<7,t=0;t<1<<at[i]-7;t++)lt[256+r++]=i;for(e=0;e<=X;e++)s[e]=0;for(t=0;t<=143;)st[2*t+1]=8,t++,s[8]++;for(;t<=255;)st[2*t+1]=9,t++,s[9]++;for(;t<=279;)st[2*t+1]=7,t++,s[7]++;for(;t<=287;)st[2*t+1]=8,t++,s[8]++;for(u(st,P+1,s),t=0;t<Y;t++)ot[2*t+1]=5,ot[2*t]=d(t,5);_t=new n(st,et,M+1,P,X),ut=new n(ot,at,0,Y,X),ct=new n(new Array(0),it,0,q,J)}function b(t){var e;for(e=0;e<P;e++)t.dyn_ltree[2*e]=0;for(e=0;e<Y;e++)t.dyn_dtree[2*e]=0;for(e=0;e<q;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*Q]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function g(t){t.bi_valid>8?o(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function m(t,e,a,i){g(t),i&&(o(t,a),o(t,~a)),N.arraySet(t.pending_buf,t.window,e,a,t.pending),t.pending+=a}function w(t,e,a,i){var n=2*e,r=2*a;return t[n]<t[r]||t[n]===t[r]&&i[e]<=i[a]}function p(t,e,a){for(var i=t.heap[a],n=a<<1;n<=t.heap_len&&(n<t.heap_len&&w(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!w(e,i,t.heap[n],t.depth));)t.heap[a]=t.heap[n],a=n,n<<=1;t.heap[a]=i}function v(t,e,a){var i,n,r,o,d=0;if(0!==t.last_lit)do i=t.pending_buf[t.d_buf+2*d]<<8|t.pending_buf[t.d_buf+2*d+1],n=t.pending_buf[t.l_buf+d],d++,0===i?h(t,n,e):(r=ht[n],h(t,r+M+1,e),o=et[r],0!==o&&(n-=dt[r],l(t,n,o)),i--,r=s(i),h(t,r,a),o=at[r],0!==o&&(i-=ft[r],l(t,i,o)));while(d<t.last_lit);h(t,Q,e)}function k(t,e){var a,i,n,r=e.dyn_tree,s=e.stat_desc.static_tree,o=e.stat_desc.has_stree,l=e.stat_desc.elems,h=-1;for(t.heap_len=0,t.heap_max=G,a=0;a<l;a++)0!==r[2*a]?(t.heap[++t.heap_len]=h=a,t.depth[a]=0):r[2*a+1]=0;for(;t.heap_len<2;)n=t.heap[++t.heap_len]=h<2?++h:0,r[2*n]=1,t.depth[n]=0,t.opt_len--,o&&(t.static_len-=s[2*n+1]);for(e.max_code=h,a=t.heap_len>>1;a>=1;a--)p(t,r,a);n=l;do a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],p(t,r,1),i=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=i,r[2*n]=r[2*a]+r[2*i],t.depth[n]=(t.depth[a]>=t.depth[i]?t.depth[a]:t.depth[i])+1,r[2*a+1]=r[2*i+1]=n,t.heap[1]=n++,p(t,r,1);while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],_(t,e),u(r,h,t.bl_count)}function y(t,e,a){var i,n,r=-1,s=e[1],o=0,l=7,h=4;for(0===s&&(l=138,h=3),e[2*(a+1)+1]=65535,i=0;i<=a;i++)n=s,s=e[2*(i+1)+1],++o<l&&n===s||(o<h?t.bl_tree[2*n]+=o:0!==n?(n!==r&&t.bl_tree[2*n]++,t.bl_tree[2*V]++):o<=10?t.bl_tree[2*$]++:t.bl_tree[2*tt]++,o=0,r=n,0===s?(l=138,h=3):n===s?(l=6,h=3):(l=7,h=4))}function x(t,e,a){var i,n,r=-1,s=e[1],o=0,d=7,f=4;for(0===s&&(d=138,f=3),i=0;i<=a;i++)if(n=s,s=e[2*(i+1)+1],!(++o<d&&n===s)){if(o<f){do h(t,n,t.bl_tree);while(0!==--o)}else 0!==n?(n!==r&&(h(t,n,t.bl_tree),o--),h(t,V,t.bl_tree),l(t,o-3,2)):o<=10?(h(t,$,t.bl_tree),l(t,o-3,3)):(h(t,tt,t.bl_tree),l(t,o-11,7));o=0,r=n,0===s?(d=138,f=3):n===s?(d=6,f=3):(d=7,f=4)}}function z(t){var e;for(y(t,t.dyn_ltree,t.l_desc.max_code),y(t,t.dyn_dtree,t.d_desc.max_code),k(t,t.bl_desc),e=q-1;e>=3&&0===t.bl_tree[2*nt[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}function B(t,e,a,i){var n;for(l(t,e-257,5),l(t,a-1,5),l(t,i-4,4),n=0;n<i;n++)l(t,t.bl_tree[2*nt[n]+1],3);x(t,t.dyn_ltree,e-1),x(t,t.dyn_dtree,a-1)}function S(t){var e,a=4093624447;for(e=0;e<=31;e++,a>>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return D;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return I;for(e=32;e<M;e++)if(0!==t.dyn_ltree[2*e])return I;return D}function E(t){bt||(c(),bt=!0),t.l_desc=new r(t.dyn_ltree,_t),t.d_desc=new r(t.dyn_dtree,ut),t.bl_desc=new r(t.bl_tree,ct),t.bi_buf=0,t.bi_valid=0,b(t)}function A(t,e,a,i){l(t,(T<<1)+(i?1:0),3),m(t,e,a,!0)}function Z(t){l(t,F<<1,3),h(t,Q,st),f(t)}function R(t,e,a,i){var n,r,s=0;t.level>0?(t.strm.data_type===U&&(t.strm.data_type=S(t)),k(t,t.l_desc),k(t,t.d_desc),s=z(t),n=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,r<=n&&(n=r)):n=r=a+5,a+4<=n&&e!==-1?A(t,e,a,i):t.strategy===O||r===n?(l(t,(F<<1)+(i?1:0),3),v(t,st,ot)):(l(t,(L<<1)+(i?1:0),3),B(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),v(t,t.dyn_ltree,t.dyn_dtree)),b(t),i&&g(t)}function C(t,e,a){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&a,t.last_lit++,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(ht[a]+M+1)]++,t.dyn_dtree[2*s(e)]++),t.last_lit===t.lit_bufsize-1}var N=t("../utils/common"),O=4,D=0,I=1,U=2,T=0,F=1,L=2,H=3,j=258,K=29,M=256,P=M+1+K,Y=30,q=19,G=2*P+1,X=15,W=16,J=7,Q=256,V=16,$=17,tt=18,et=[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],at=[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],it=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],nt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],rt=512,st=new Array(2*(P+2));i(st);var ot=new Array(2*Y);i(ot);var lt=new Array(rt);i(lt);var ht=new Array(j-H+1);i(ht);var dt=new Array(K);i(dt);var ft=new Array(Y);i(ft);var _t,ut,ct,bt=!1;a._tr_init=E,a._tr_stored_block=A,a._tr_flush_block=R,a._tr_tally=C,a._tr_align=Z},{"../utils/common":3}],15:[function(t,e,a){"use strict";function i(){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}e.exports=i},{}],"/":[function(t,e,a){"use strict";var i=t("./lib/utils/common").assign,n=t("./lib/deflate"),r=t("./lib/inflate"),s=t("./lib/zlib/constants"),o={};i(o,n,r,s),e.exports=o},{"./lib/deflate":1,"./lib/inflate":2,"./lib/utils/common":3,"./lib/zlib/constants":6}]},{},[])("/")});
var DNLMarkerError = function() {}
var EOIMarkerError = function() {}
var PDFJS;!function(e){"use strict";var t=function(){function e(e){this.message="JPEG error: "+e}return e.prototype=new Error,e.prototype.name="JpegError",e.constructor=e,e}(),r=function(){var e=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),r=4017,n=799,i=3406,a=2276,s=1567,o=3784,l=5793,h=2896;function f({decodeTransform:e=null,colorTransform:t=-1}={}){this._decodeTransform=e,this._colorTransform=t}function m(e,t){for(var r,n,i=0,a=[],s=16;s>0&&!e[s-1];)s--;a.push({children:[],index:0});var o,c=a[0];for(r=0;r<s;r++){for(n=0;n<e[r];n++){for((c=a.pop()).children[c.index]=t[i];c.index>0;)c=a.pop();for(c.index++,a.push(c);a.length<=r;)a.push(o={children:[],index:0}),c.children[c.index]=o.children,c=o;i++}r+1<s&&(a.push(o={children:[],index:0}),c.children[c.index]=o.children,c=o)}return a[0].children}function p(e,t,r){return 64*((e.blocksPerLine+1)*t+r)}function d(r,n,i,a,s,o,l,h,f,m=!1){var d=i.mcusPerLine,v=i.progressive;const g=n;let y=0,x=0;function w(){if(x>0)return y>>--x&1;if(255===(y=r[n++])){var e=r[n++];if(e){if(220===e&&m){const e=c(r,n+=2);if(n+=2,e>0&&e!==i.scanLines)throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data",e)}else if(217===e){if(m){const e=8*T;if(e>0&&e<i.scanLines/10)throw new DNLMarkerError("Found EOI marker (0xFFD9) while parsing scan data, possibly caused by incorrect `scanLines` parameter",e)}throw new EOIMarkerError("Found EOI marker (0xFFD9) while parsing scan data")}throw new t(`unexpected marker ${(y<<8|e).toString(16)}`)}}return x=7,y>>>7}function k(e){for(var r=e;;){switch(typeof(r=r[w()])){case"number":return r;case"object":continue}throw new t("invalid huffman sequence")}}function C(e){for(var t=0;e>0;)t=t<<1|w(),e--;return t}function P(e){if(1===e)return 1===w()?1:-1;var t=C(e);return t>=1<<e-1?t:t+(-1<<e)+1}var I=0;var M,S=0;let T=0;function A(e,t,r,n,i){var a=r%d;T=(r/d|0)*e.v+n;var s=a*e.h+i;t(e,p(e,T,s))}function D(e,t,r){T=r/e.blocksPerLine|0;var n=r%e.blocksPerLine;t(e,p(e,T,n))}var L,z,F,O,B,q,R=a.length;q=v?0===o?0===h?function(e,t){var r=k(e.huffmanTableDC),n=0===r?0:P(r)<<f;e.blockData[t]=e.pred+=n}:function(e,t){e.blockData[t]|=w()<<f}:0===h?function(t,r){if(I>0)I--;else for(var n=o,i=l;n<=i;){var a=k(t.huffmanTableAC),s=15&a,c=a>>4;if(0!==s){var h=e[n+=c];t.blockData[r+h]=P(s)*(1<<f),n++}else{if(c<15){I=C(c)+(1<<c)-1;break}n+=16}}}:function(r,n){for(var i,a,s=o,c=l,h=0;s<=c;){const o=n+e[s],c=r.blockData[o]<0?-1:1;switch(S){case 0:if(h=(a=k(r.huffmanTableAC))>>4,0==(i=15&a))h<15?(I=C(h)+(1<<h),S=4):(h=16,S=1);else{if(1!==i)throw new t("invalid ACn encoding");M=P(i),S=h?2:3}continue;case 1:case 2:r.blockData[o]?r.blockData[o]+=c*(w()<<f):0==--h&&(S=2===S?3:0);break;case 3:r.blockData[o]?r.blockData[o]+=c*(w()<<f):(r.blockData[o]=M<<f,S=0);break;case 4:r.blockData[o]&&(r.blockData[o]+=c*(w()<<f))}s++}4===S&&0==--I&&(S=0)}:function(t,r){var n=k(t.huffmanTableDC),i=0===n?0:P(n);t.blockData[r]=t.pred+=i;for(var a=1;a<64;){var s=k(t.huffmanTableAC),o=15&s,c=s>>4;if(0!==o){var l=e[a+=c];t.blockData[r+l]=P(o),a++}else{if(c<15)break;a+=16}}};var E,U,X,H,J=0;for(U=1===R?a[0].blocksPerLine*a[0].blocksPerColumn:d*i.mcusPerColumn;J<=U;){var _=s?Math.min(U-J,s):U;if(_>0){for(z=0;z<R;z++)a[z].pred=0;if(I=0,1===R)for(L=a[0],B=0;B<_;B++)D(L,q,J),J++;else for(B=0;B<_;B++){for(z=0;z<R;z++)for(X=(L=a[z]).h,H=L.v,F=0;F<H;F++)for(O=0;O<X;O++)A(L,q,J,F,O);J++}}if(x=0,!(E=b(r,n)))break;if(E.invalid){u(`decodeScan - ${_>0?"unexpected":"excessive"} MCU data, current marker is: ${E.invalid}`),n=E.offset}if(!(E.marker>=65488&&E.marker<=65495))break;n+=2}return n-g}function v(e,c,f){var u,m,p,d,v,g,b,y,x,w,k,C,P,I,M,S,T,A=e.quantizationTable,D=e.blockData;if(!A)throw new t("missing required Quantization Table.");for(var L=0;L<64;L+=8)x=D[c+L],w=D[c+L+1],k=D[c+L+2],C=D[c+L+3],P=D[c+L+4],I=D[c+L+5],M=D[c+L+6],S=D[c+L+7],x*=A[L],0!=(w|k|C|P|I|M|S)?(w*=A[L+1],k*=A[L+2],C*=A[L+3],P*=A[L+4],I*=A[L+5],M*=A[L+6],S*=A[L+7],m=(u=(u=l*x+128>>8)+(m=l*P+128>>8)+1>>1)-m,T=(p=k)*o+(d=M)*s+128>>8,p=p*s-d*o+128>>8,b=(v=(v=h*(w-S)+128>>8)+(b=I<<4)+1>>1)-b,g=(y=(y=h*(w+S)+128>>8)+(g=C<<4)+1>>1)-g,d=(u=u+(d=T)+1>>1)-d,p=(m=m+p+1>>1)-p,T=v*a+y*i+2048>>12,v=v*i-y*a+2048>>12,y=T,T=g*n+b*r+2048>>12,g=g*r-b*n+2048>>12,b=T,f[L]=u+y,f[L+7]=u-y,f[L+1]=m+b,f[L+6]=m-b,f[L+2]=p+g,f[L+5]=p-g,f[L+3]=d+v,f[L+4]=d-v):(T=l*x+512>>10,f[L]=T,f[L+1]=T,f[L+2]=T,f[L+3]=T,f[L+4]=T,f[L+5]=T,f[L+6]=T,f[L+7]=T);for(var z=0;z<8;++z)x=f[z],0!=((w=f[z+8])|(k=f[z+16])|(C=f[z+24])|(P=f[z+32])|(I=f[z+40])|(M=f[z+48])|(S=f[z+56]))?(m=(u=4112+((u=l*x+2048>>12)+(m=l*P+2048>>12)+1>>1))-m,T=(p=k)*o+(d=M)*s+2048>>12,p=p*s-d*o+2048>>12,d=T,b=(v=(v=h*(w-S)+2048>>12)+(b=I)+1>>1)-b,g=(y=(y=h*(w+S)+2048>>12)+(g=C)+1>>1)-g,T=v*a+y*i+2048>>12,v=v*i-y*a+2048>>12,y=T,T=g*n+b*r+2048>>12,g=g*r-b*n+2048>>12,(x=(u=u+d+1>>1)+y)<16?x=0:x>=4080?x=255:x>>=4,(w=(m=m+p+1>>1)+(b=T))<16?w=0:w>=4080?w=255:w>>=4,(k=(p=m-p)+g)<16?k=0:k>=4080?k=255:k>>=4,(C=(d=u-d)+v)<16?C=0:C>=4080?C=255:C>>=4,(P=d-v)<16?P=0:P>=4080?P=255:P>>=4,(I=p-g)<16?I=0:I>=4080?I=255:I>>=4,(M=m-b)<16?M=0:M>=4080?M=255:M>>=4,(S=u-y)<16?S=0:S>=4080?S=255:S>>=4,D[c+z]=x,D[c+z+8]=w,D[c+z+16]=k,D[c+z+24]=C,D[c+z+32]=P,D[c+z+40]=I,D[c+z+48]=M,D[c+z+56]=S):(T=(T=l*x+8192>>14)<-2040?0:T>=2024?255:T+2056>>4,D[c+z]=T,D[c+z+8]=T,D[c+z+16]=T,D[c+z+24]=T,D[c+z+32]=T,D[c+z+40]=T,D[c+z+48]=T,D[c+z+56]=T)}function g(e,t){for(var r=t.blocksPerLine,n=t.blocksPerColumn,i=new Int16Array(64),a=0;a<n;a++)for(var s=0;s<r;s++){v(t,p(t,a,s),i)}return t.blockData}function b(e,t,r=t){const n=e.length-1;var i=r<t?r:t;if(t>=n)return null;var a=c(e,t);if(a>=65472&&a<=65534)return{invalid:null,marker:a,offset:t};for(var s=c(e,i);!(s>=65472&&s<=65534);){if(++i>=n)return null;s=c(e,i)}return{invalid:a.toString(16),marker:s,offset:i}}return f.prototype={parse(r,{dnlScanLines:n=null}={}){function i(){const e=c(r,l);let t=(l+=2)+e-2;var n=b(r,t,l);n&&n.invalid&&(u("readDataBlock - incorrect length, current marker is: "+n.invalid),t=n.offset);var i=r.subarray(l,t);return l+=i.length,i}function a(e){for(var t=Math.ceil(e.samplesPerLine/8/e.maxH),r=Math.ceil(e.scanLines/8/e.maxV),n=0;n<e.components.length;n++){X=e.components[n];var i=Math.ceil(Math.ceil(e.samplesPerLine/8)*X.h/e.maxH),a=Math.ceil(Math.ceil(e.scanLines/8)*X.v/e.maxV),s=t*X.h,o=64*(r*X.v)*(s+1);X.blockData=new Int16Array(o),X.blocksPerLine=i,X.blocksPerColumn=a}e.mcusPerLine=t,e.mcusPerColumn=r}var s,o,l=0,h=null,f=null;let p=0;var v=[],y=[],x=[];let w=c(r,l);if(l+=2,65496!==w)throw new t("SOI not found");w=c(r,l),l+=2;e:for(;65497!==w;){var k,C,P;switch(w){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var I=i();65504===w&&74===I[0]&&70===I[1]&&73===I[2]&&70===I[3]&&0===I[4]&&(h={version:{major:I[5],minor:I[6]},densityUnits:I[7],xDensity:I[8]<<8|I[9],yDensity:I[10]<<8|I[11],thumbWidth:I[12],thumbHeight:I[13],thumbData:I.subarray(14,14+3*I[12]*I[13])}),65518===w&&65===I[0]&&100===I[1]&&111===I[2]&&98===I[3]&&101===I[4]&&(f={version:I[5]<<8|I[6],flags0:I[7]<<8|I[8],flags1:I[9]<<8|I[10],transformCode:I[11]});break;case 65499:for(var M=c(r,l)+(l+=2)-2;l<M;){var S=r[l++],T=new Uint16Array(64);if(S>>4==0)for(C=0;C<64;C++)T[e[C]]=r[l++];else{if(S>>4!=1)throw new t("DQT - invalid table spec");for(C=0;C<64;C++)T[e[C]]=c(r,l),l+=2}v[15&S]=T}break;case 65472:case 65473:case 65474:if(s)throw new t("Only single frame JPEGs supported");l+=2,(s={}).extended=65473===w,s.progressive=65474===w,s.precision=r[l++];const g=c(r,l);l+=2,s.scanLines=n||g,s.samplesPerLine=c(r,l),l+=2,s.components=[],s.componentIds={};var A,D=r[l++],L=0,z=0;for(k=0;k<D;k++){A=r[l];var F=r[l+1]>>4,O=15&r[l+1];L<F&&(L=F),z<O&&(z=O);var B=r[l+2];P=s.components.push({h:F,v:O,quantizationId:B,quantizationTable:null}),s.componentIds[A]=P-1,l+=3}s.maxH=L,s.maxV=z,a(s);break;case 65476:const V=c(r,l);for(l+=2,k=2;k<V;){var q=r[l++],R=new Uint8Array(16),E=0;for(C=0;C<16;C++,l++)E+=R[C]=r[l];var U=new Uint8Array(E);for(C=0;C<E;C++,l++)U[C]=r[l];k+=17+E,(q>>4==0?x:y)[15&q]=m(R,U)}break;case 65501:o=c(r,l+=2),l+=2;break;case 65498:const Z=1==++p&&!n;l+=2;var X,H=r[l++],J=[];for(k=0;k<H;k++){const e=r[l++];var _=s.componentIds[e];(X=s.components[_]).index=e;var N=r[l++];X.huffmanTableDC=x[N>>4],X.huffmanTableAC=y[15&N],J.push(X)}var Y=r[l++],G=r[l++],W=r[l++];try{var Q=d(r,l,s,J,o,Y,G,W>>4,15&W,Z);l+=Q}catch(e){if(e instanceof DNLMarkerError)return u(`${e.message} -- attempting to re-parse the JPEG image.`),this.parse(r,{dnlScanLines:e.scanLines});if(e instanceof EOIMarkerError){u(`${e.message} -- ignoring the rest of the image data.`);break e}throw e}break;case 65500:l+=4;break;case 65535:255!==r[l]&&l--;break;default:const j=b(r,l-2,l-3);if(j&&j.invalid){u("JpegImage.parse - unexpected data, current marker is: "+j.invalid),l=j.offset;break}if(l>=r.length-1){u("JpegImage.parse - reached the end of the image data without finding an EOI marker (0xFFD9).");break e}throw new t("JpegImage.parse - unknown marker: "+w.toString(16))}w=c(r,l),l+=2}for(this.width=s.samplesPerLine,this.height=s.scanLines,this.jfif=h,this.adobe=f,this.components=[],k=0;k<s.components.length;k++){var V=v[(X=s.components[k]).quantizationId];V&&(X.quantizationTable=V),this.components.push({index:X.index,output:g(0,X),scaleX:X.h/s.maxH,scaleY:X.v/s.maxV,blocksPerLine:X.blocksPerLine,blocksPerColumn:X.blocksPerColumn})}this.numComponents=this.components.length},_getLinearizedBlockData(e,t,r=!1){var n,i,a,s,o,c,l,h,f,u,m,p=this.width/e,d=this.height/t,v=0,g=this.components.length,b=e*t*g,y=new Uint8ClampedArray(b),x=new Uint32Array(e);let w;for(l=0;l<g;l++){if(i=(n=this.components[l]).scaleX*p,a=n.scaleY*d,v=l,m=n.output,s=n.blocksPerLine+1<<3,i!==w){for(o=0;o<e;o++)h=0|o*i,x[o]=(4294967288&h)<<3|7&h;w=i}for(c=0;c<t;c++)for(u=s*(4294967288&(h=0|c*a))|(7&h)<<3,o=0;o<e;o++)y[v]=m[u+x[o]],v+=g}let k=this._decodeTransform;if(r||4!==g||k||(k=new Int32Array([-256,255,-256,255,-256,255,-256,255])),k)for(l=0;l<b;)for(h=0,f=0;h<g;h++,l++,f+=2)y[l]=(y[l]*k[f]>>8)+k[f+1];return y},get _isColorConversionNeeded(){return this.adobe?!!this.adobe.transformCode:3===this.numComponents?0!==this._colorTransform&&(82!==this.components[0].index||71!==this.components[1].index||66!==this.components[2].index):1===this._colorTransform},_convertYccToRgb:function(e){for(var t,r,n,i=0,a=e.length;i<a;i+=3)t=e[i],r=e[i+1],n=e[i+2],e[i]=t-179.456+1.402*n,e[i+1]=t+135.459-.344*r-.714*n,e[i+2]=t-226.816+1.772*r;return e},_convertYcckToRgb:function(e){for(var t,r,n,i,a=0,s=0,o=e.length;s<o;s+=4)t=e[s],r=e[s+1],n=e[s+2],i=e[s+3],e[a++]=r*(-660635669420364e-19*r+.000437130475926232*n-54080610064599e-18*t+.00048449797120281*i-.154362151871126)-122.67195406894+n*(-.000957964378445773*n+.000817076911346625*t-.00477271405408747*i+1.53380253221734)+t*(.000961250184130688*t-.00266257332283933*i+.48357088451265)+i*(-.000336197177618394*i+.484791561490776),e[a++]=107.268039397724+r*(219927104525741e-19*r-.000640992018297945*n+.000659397001245577*t+.000426105652938837*i-.176491792462875)+n*(-.000778269941513683*n+.00130872261408275*t+.000770482631801132*i-.151051492775562)+t*(.00126935368114843*t-.00265090189010898*i+.25802910206845)+i*(-.000318913117588328*i-.213742400323665),e[a++]=r*(-.000570115196973677*r-263409051004589e-19*n+.0020741088115012*t-.00288260236853442*i+.814272968359295)-20.810012546947+n*(-153496057440975e-19*n-.000132689043961446*t+.000560833691242812*i-.195152027534049)+t*(.00174418132927582*t-.00255243321439347*i+.116935020465145)+i*(-.000343531996510555*i+.24165260232407);return e.subarray(0,a)},_convertYcckToCmyk:function(e){for(var t,r,n,i=0,a=e.length;i<a;i+=4)t=e[i],r=e[i+1],n=e[i+2],e[i]=434.456-t-1.402*n,e[i+1]=119.541-t+.344*r+.714*n,e[i+2]=481.816-t-1.772*r;return e},_convertCmykToRgb:function(e){for(var t,r,n,i,a=0,s=0,o=e.length;s<o;s+=4)t=e[s],r=e[s+1],n=e[s+2],i=e[s+3],e[a++]=255+t*(-6747147073602441e-20*t+.0008379262121013727*r+.0002894718188643294*n+.003264231057537806*i-1.1185611867203937)+r*(26374107616089405e-21*r-8626949158638572e-20*n-.0002748769067499491*i-.02155688794978967)+n*(-3878099212869363e-20*n-.0003267808279485286*i+.0686742238595345)-i*(.0003361971776183937*i+.7430659151342254),e[a++]=255+t*(.00013596372813588848*t+.000924537132573585*r+.00010567359618683593*n+.0004791864687436512*i-.3109689587515875)+r*(-.00023545346108370344*r+.0002702845253534714*n+.0020200308977307156*i-.7488052167015494)+n*(6834815998235662e-20*n+.00015168452363460973*i-.09751927774728933)-i*(.0003189131175883281*i+.7364883807733168),e[a++]=255+t*(13598650411385307e-21*t+.00012423956175490851*r+.0004751985097583589*n-36729317476630422e-22*i-.05562186980264034)+r*(.00016141380598724676*r+.0009692239130725186*n+.0007782692450036253*i-.44015232367526463)+n*(5.068882914068769e-7*n+.0017778369011375071*i-.7591454649749609)-i*(.0003435319965105553*i+.7063770186160144);return e.subarray(0,a)},getData({width:e,height:r,forceRGB:n=!1,isSourcePDF:i=!1}){if(this.numComponents>4)throw new t("Unsupported color mode");var a=this._getLinearizedBlockData(e,r,i);if(1===this.numComponents&&n){for(var s=a.length,o=new Uint8ClampedArray(3*s),c=0,l=0;l<s;l++){var h=a[l];o[c++]=h,o[c++]=h,o[c++]=h}return o}if(3===this.numComponents&&this._isColorConversionNeeded)return this._convertYccToRgb(a);if(4===this.numComponents){if(this._isColorConversionNeeded)return n?this._convertYcckToRgb(a):this._convertYcckToCmyk(a);if(n)return this._convertCmykToRgb(a)}return a}},f}(),n=function(){var e=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{qe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];function t(e,t,r){this.data=e,this.bp=t,this.dataEnd=r,this.chigh=e[t],this.clow=0,this.byteIn(),this.chigh=this.chigh<<7&65535|this.clow>>9&127,this.clow=this.clow<<7&65535,this.ct-=7,this.a=32768}return t.prototype={byteIn:function(){var e=this.data,t=this.bp;255===e[t]?e[t+1]>143?(this.clow+=65280,this.ct=8):(t++,this.clow+=e[t]<<9,this.ct=7,this.bp=t):(t++,this.clow+=t<this.dataEnd?e[t]<<8:65280,this.ct=8,this.bp=t);this.clow>65535&&(this.chigh+=this.clow>>16,this.clow&=65535)},readBit:function(t,r){var n,i=t[r]>>1,a=1&t[r],s=e[i],o=s.qe,c=this.a-o;if(this.chigh<o)c<o?(c=o,n=a,i=s.nmps):(c=o,n=1^a,1===s.switchFlag&&(a=n),i=s.nlps);else{if(this.chigh-=o,0!=(32768&c))return this.a=c,a;c<o?(n=1^a,1===s.switchFlag&&(a=n),i=s.nlps):(n=a,i=s.nmps)}do{0===this.ct&&this.byteIn(),c<<=1,this.chigh=this.chigh<<1&65535|this.clow>>15&1,this.clow=this.clow<<1&65535,this.ct--}while(0==(32768&c));return this.a=c,t[r]=i<<1|a,n}},t}(),i=function(){var e={LL:0,LH:1,HL:1,HH:2};function t(){this.failOnCorruptedImage=!1}function r(e,t){e.x0=Math.ceil(t.XOsiz/e.XRsiz),e.x1=Math.ceil(t.Xsiz/e.XRsiz),e.y0=Math.ceil(t.YOsiz/e.YRsiz),e.y1=Math.ceil(t.Ysiz/e.YRsiz),e.width=e.x1-e.x0,e.height=e.y1-e.y0}function i(e,t){for(var r,n=e.SIZ,i=[],a=Math.ceil((n.Xsiz-n.XTOsiz)/n.XTsiz),s=Math.ceil((n.Ysiz-n.YTOsiz)/n.YTsiz),o=0;o<s;o++)for(var c=0;c<a;c++)(r={}).tx0=Math.max(n.XTOsiz+c*n.XTsiz,n.XOsiz),r.ty0=Math.max(n.YTOsiz+o*n.YTsiz,n.YOsiz),r.tx1=Math.min(n.XTOsiz+(c+1)*n.XTsiz,n.Xsiz),r.ty1=Math.min(n.YTOsiz+(o+1)*n.YTsiz,n.Ysiz),r.width=r.tx1-r.tx0,r.height=r.ty1-r.ty0,r.components=[],i.push(r);e.tiles=i;for(var l=0,h=n.Csiz;l<h;l++)for(var f=t[l],u=0,m=i.length;u<m;u++){var p={};r=i[u],p.tcx0=Math.ceil(r.tx0/f.XRsiz),p.tcy0=Math.ceil(r.ty0/f.YRsiz),p.tcx1=Math.ceil(r.tx1/f.XRsiz),p.tcy1=Math.ceil(r.ty1/f.YRsiz),p.width=p.tcx1-p.tcx0,p.height=p.tcy1-p.tcy0,r.components[l]=p}}function a(e,t,r){var n=t.codingStyleParameters,i={};return n.entropyCoderWithCustomPrecincts?(i.PPx=n.precinctsSizes[r].PPx,i.PPy=n.precinctsSizes[r].PPy):(i.PPx=15,i.PPy=15),i.xcb_=r>0?Math.min(n.xcb,i.PPx-1):Math.min(n.xcb,i.PPx),i.ycb_=r>0?Math.min(n.ycb,i.PPy-1):Math.min(n.ycb,i.PPy),i}function o(e,t,r){var n=1<<r.PPx,i=1<<r.PPy,a=0===t.resLevel,s=1<<r.PPx+(a?0:-1),o=1<<r.PPy+(a?0:-1),c=t.trx1>t.trx0?Math.ceil(t.trx1/n)-Math.floor(t.trx0/n):0,l=t.try1>t.try0?Math.ceil(t.try1/i)-Math.floor(t.try0/i):0,h=c*l;t.precinctParameters={precinctWidth:n,precinctHeight:i,numprecinctswide:c,numprecinctshigh:l,numprecincts:h,precinctWidthInSubband:s,precinctHeightInSubband:o}}function h(e,t,r){var n,i,a,s,o=r.xcb_,c=r.ycb_,l=1<<o,h=1<<c,f=t.tbx0>>o,u=t.tby0>>c,m=t.tbx1+l-1>>o,p=t.tby1+h-1>>c,d=t.resolution.precinctParameters,v=[],g=[];for(i=u;i<p;i++)for(n=f;n<m;n++){if((a={cbx:n,cby:i,tbx0:l*n,tby0:h*i,tbx1:l*(n+1),tby1:h*(i+1)}).tbx0_=Math.max(t.tbx0,a.tbx0),a.tby0_=Math.max(t.tby0,a.tby0),a.tbx1_=Math.min(t.tbx1,a.tbx1),a.tby1_=Math.min(t.tby1,a.tby1),s=Math.floor((a.tbx0_-t.tbx0)/d.precinctWidthInSubband)+Math.floor((a.tby0_-t.tby0)/d.precinctHeightInSubband)*d.numprecinctswide,a.precinctNumber=s,a.subbandType=t.type,a.Lblock=3,!(a.tbx1_<=a.tbx0_||a.tby1_<=a.tby0_)){v.push(a);var b=g[s];void 0!==b?(n<b.cbxMin?b.cbxMin=n:n>b.cbxMax&&(b.cbxMax=n),i<b.cbyMin?b.cbxMin=i:i>b.cbyMax&&(b.cbyMax=i)):g[s]=b={cbxMin:n,cbyMin:i,cbxMax:n,cbyMax:i},a.precinct=b}}t.codeblockParameters={codeblockWidth:o,codeblockHeight:c,numcodeblockwide:m-f+1,numcodeblockhigh:p-u+1},t.codeblocks=v,t.precincts=g}function p(e,t,r){for(var n=[],i=e.subbands,a=0,s=i.length;a<s;a++)for(var o=i[a].codeblocks,c=0,l=o.length;c<l;c++){var h=o[c];h.precinctNumber===t&&n.push(h)}return{layerNumber:r,codeblocks:n}}function d(e){for(var t=e.SIZ,r=e.currentTile.index,n=e.tiles[r],i=n.codingStyleDefaultParameters.layersCount,a=t.Csiz,s=0,o=0;o<a;o++)s=Math.max(s,n.components[o].codingStyleParameters.decompositionLevelsCount);var c=0,l=0,h=0,u=0;this.nextPacket=function(){for(;c<i;c++){for(;l<=s;l++){for(;h<a;h++){var e=n.components[h];if(!(l>e.codingStyleParameters.decompositionLevelsCount)){for(var t=e.resolutions[l],r=t.precinctParameters.numprecincts;u<r;){var o=p(t,u,c);return u++,o}u=0}}h=0}l=0}f("JPX Error: Out of packets")}}function v(e){for(var t=e.SIZ,r=e.currentTile.index,n=e.tiles[r],i=n.codingStyleDefaultParameters.layersCount,a=t.Csiz,s=0,o=0;o<a;o++)s=Math.max(s,n.components[o].codingStyleParameters.decompositionLevelsCount);var c=0,l=0,h=0,u=0;this.nextPacket=function(){for(;c<=s;c++){for(;l<i;l++){for(;h<a;h++){var e=n.components[h];if(!(c>e.codingStyleParameters.decompositionLevelsCount)){for(var t=e.resolutions[c],r=t.precinctParameters.numprecincts;u<r;){var o=p(t,u,l);return u++,o}u=0}}h=0}l=0}f("JPX Error: Out of packets")}}function g(e){var t,r,n,i,a=e.SIZ,s=e.currentTile.index,o=e.tiles[s],c=o.codingStyleDefaultParameters.layersCount,l=a.Csiz,h=0;for(n=0;n<l;n++){var u=o.components[n];h=Math.max(h,u.codingStyleParameters.decompositionLevelsCount)}var m=new Int32Array(h+1);for(r=0;r<=h;++r){var d=0;for(n=0;n<l;++n){var v=o.components[n].resolutions;r<v.length&&(d=Math.max(d,v[r].precinctParameters.numprecincts))}m[r]=d}t=0,r=0,n=0,i=0,this.nextPacket=function(){for(;r<=h;r++){for(;i<m[r];i++){for(;n<l;n++){var e=o.components[n];if(!(r>e.codingStyleParameters.decompositionLevelsCount)){var a=e.resolutions[r],s=a.precinctParameters.numprecincts;if(!(i>=s)){for(;t<c;){var u=p(a,i,t);return t++,u}t=0}}}n=0}i=0}f("JPX Error: Out of packets")}}function b(e){var t=e.SIZ,r=e.currentTile.index,n=e.tiles[r],i=n.codingStyleDefaultParameters.layersCount,a=t.Csiz,s=w(n),o=s,c=0,l=0,h=0,u=0,m=0;this.nextPacket=function(){for(;m<o.maxNumHigh;m++){for(;u<o.maxNumWide;u++){for(;h<a;h++){for(var e=n.components[h],t=e.codingStyleParameters.decompositionLevelsCount;l<=t;l++){var r=e.resolutions[l],d=s.components[h].resolutions[l],v=x(u,m,d,o,r);if(null!==v){for(;c<i;){var g=p(r,v,c);return c++,g}c=0}}l=0}h=0}u=0}f("JPX Error: Out of packets")}}function y(e){var t=e.SIZ,r=e.currentTile.index,n=e.tiles[r],i=n.codingStyleDefaultParameters.layersCount,a=t.Csiz,s=w(n),o=0,c=0,l=0,h=0,u=0;this.nextPacket=function(){for(;l<a;++l){for(var e=n.components[l],t=s.components[l],r=e.codingStyleParameters.decompositionLevelsCount;u<t.maxNumHigh;u++){for(;h<t.maxNumWide;h++){for(;c<=r;c++){var m=e.resolutions[c],d=t.resolutions[c],v=x(h,u,d,t,m);if(null!==v){for(;o<i;){var g=p(m,v,o);return o++,g}o=0}}c=0}h=0}u=0}f("JPX Error: Out of packets")}}function x(e,t,r,n,i){var a=e*n.minWidth,s=t*n.minHeight;if(a%r.width!=0||s%r.height!=0)return null;var o=s/r.width*i.precinctParameters.numprecinctswide;return a/r.height+o}function w(e){for(var t=e.components.length,r=Number.MAX_VALUE,n=Number.MAX_VALUE,i=0,a=0,s=new Array(t),o=0;o<t;o++){for(var c=e.components[o],l=c.codingStyleParameters.decompositionLevelsCount,h=new Array(l+1),f=Number.MAX_VALUE,u=Number.MAX_VALUE,m=0,p=0,d=1,v=l;v>=0;--v){var g=c.resolutions[v],b=d*g.precinctParameters.precinctWidth,y=d*g.precinctParameters.precinctHeight;f=Math.min(f,b),u=Math.min(u,y),m=Math.max(m,g.precinctParameters.numprecinctswide),p=Math.max(p,g.precinctParameters.numprecinctshigh),h[v]={width:b,height:y},d<<=1}r=Math.min(r,f),n=Math.min(n,u),i=Math.max(i,m),a=Math.max(a,p),s[o]={resolutions:h,minWidth:f,minHeight:u,maxNumWide:m,maxNumHigh:p}}return{components:s,minWidth:r,minHeight:n,maxNumWide:i,maxNumHigh:a}}function k(e){for(var t=e.SIZ,r=e.currentTile.index,n=e.tiles[r],i=t.Csiz,s=0;s<i;s++){for(var c=n.components[s],l=c.codingStyleParameters.decompositionLevelsCount,u=[],m=[],p=0;p<=l;p++){var x,w=a(0,c,p),k={},C=1<<l-p;if(k.trx0=Math.ceil(c.tcx0/C),k.try0=Math.ceil(c.tcy0/C),k.trx1=Math.ceil(c.tcx1/C),k.try1=Math.ceil(c.tcy1/C),k.resLevel=p,o(0,k,w),u.push(k),0===p)(x={}).type="LL",x.tbx0=Math.ceil(c.tcx0/C),x.tby0=Math.ceil(c.tcy0/C),x.tbx1=Math.ceil(c.tcx1/C),x.tby1=Math.ceil(c.tcy1/C),x.resolution=k,h(0,x,w),m.push(x),k.subbands=[x];else{var P=1<<l-p+1,I=[];(x={}).type="HL",x.tbx0=Math.ceil(c.tcx0/P-.5),x.tby0=Math.ceil(c.tcy0/P),x.tbx1=Math.ceil(c.tcx1/P-.5),x.tby1=Math.ceil(c.tcy1/P),x.resolution=k,h(0,x,w),m.push(x),I.push(x),(x={}).type="LH",x.tbx0=Math.ceil(c.tcx0/P),x.tby0=Math.ceil(c.tcy0/P-.5),x.tbx1=Math.ceil(c.tcx1/P),x.tby1=Math.ceil(c.tcy1/P-.5),x.resolution=k,h(0,x,w),m.push(x),I.push(x),(x={}).type="HH",x.tbx0=Math.ceil(c.tcx0/P-.5),x.tby0=Math.ceil(c.tcy0/P-.5),x.tbx1=Math.ceil(c.tcx1/P-.5),x.tby1=Math.ceil(c.tcy1/P-.5),x.resolution=k,h(0,x,w),m.push(x),I.push(x),k.subbands=I}}c.resolutions=u,c.subbands=m}var M=n.codingStyleDefaultParameters.progressionOrder;switch(M){case 0:n.packetsIterator=new d(e);break;case 1:n.packetsIterator=new v(e);break;case 2:n.packetsIterator=new g(e);break;case 3:n.packetsIterator=new b(e);break;case 4:n.packetsIterator=new y(e);break;default:f("JPX Error: Unsupported progression order "+M)}}function C(e,t,r,n){var i,a=0,o=0,c=!1;function l(e){for(;o<e;){var n=t[r+a];a++,c?(i=i<<7|n,o+=7,c=!1):(i=i<<8|n,o+=8),255===n&&(c=!0)}return i>>>(o-=e)&(1<<e)-1}function h(e){return 255===t[r+a-1]&&t[r+a]===e?(f(1),!0):255===t[r+a]&&t[r+a+1]===e&&(f(2),!0)}function f(e){a+=e}function u(){o=0,c&&(a++,c=!1)}function m(){if(0===l(1))return 1;if(0===l(1))return 2;var e=l(2);return e<3?e+3:(e=l(5))<31?e+6:(e=l(7))+37}for(var p=e.currentTile.index,d=e.tiles[p],v=e.COD.sopMarkerUsed,g=e.COD.ephMarkerUsed,b=d.packetsIterator;a<n;){u(),v&&h(145)&&f(4);var y=b.nextPacket();if(l(1)){for(var x,w=y.layerNumber,k=[],C=0,P=y.codeblocks.length;C<P;C++){var I=(x=y.codeblocks[C]).precinct,M=x.cbx-I.cbxMin,A=x.cby-I.cbyMin,D=!1,L=!1;if(void 0!==x.included)D=!!l(1);else{var z,F;if(void 0!==(I=x.precinct).inclusionTree)z=I.inclusionTree;else{var O=I.cbxMax-I.cbxMin+1,B=I.cbyMax-I.cbyMin+1;z=new T(O,B,w),F=new S(O,B),I.inclusionTree=z,I.zeroBitPlanesTree=F}if(z.reset(M,A,w))for(;;){if(!l(1)){z.incrementValue(w);break}if(!z.nextLevel()){x.included=!0,D=L=!0;break}}}if(D){if(L){for((F=I.zeroBitPlanesTree).reset(M,A);;)if(l(1)){if(!F.nextLevel())break}else F.incrementValue();x.zeroBitPlanes=F.value}for(var q=m();l(1);)x.Lblock++;var R=s(q),E=l((q<1<<R?R-1:R)+x.Lblock);k.push({codeblock:x,codingpasses:q,dataLength:E})}}for(u(),g&&h(146);k.length>0;){var U=k.shift();void 0===(x=U.codeblock).data&&(x.data=[]),x.data.push({data:t,start:r+a,end:r+a+U.dataLength,codingpasses:U.codingpasses}),a+=U.dataLength}}}return a}function P(e,t,r,i,a,s,o,c){for(var l=i.tbx0,h=i.tby0,f=i.tbx1-i.tbx0,u=i.codeblocks,m="H"===i.type.charAt(0)?1:0,p="H"===i.type.charAt(1)?t:0,d=0,v=u.length;d<v;++d){var g=u[d],b=g.tbx1_-g.tbx0_,y=g.tby1_-g.tby0_;if(0!==b&&0!==y&&void 0!==g.data){var x,w;x=new A(b,y,g.subbandType,g.zeroBitPlanes,s),w=2;var k,C,P,I=g.data,M=0,S=0;for(k=0,C=I.length;k<C;k++)M+=(P=I[k]).end-P.start,S+=P.codingpasses;var T=new Uint8Array(M),D=0;for(k=0,C=I.length;k<C;k++){var L=(P=I[k]).data.subarray(P.start,P.end);T.set(L,D),D+=L.length}var z=new n(T,0,M);for(x.setDecoder(z),k=0;k<S;k++){switch(w){case 0:x.runSignificancePropagationPass();break;case 1:x.runMagnitudeRefinementPass();break;case 2:x.runCleanupPass(),c&&x.checkSegmentationSymbol()}w=(w+1)%3}var F,O,B,q=g.tbx0_-l+(g.tby0_-h)*f,R=x.coefficentsSign,E=x.coefficentsMagnitude,U=x.bitsDecoded,X=o?0:.5;D=0;var H="LL"!==i.type;for(k=0;k<y;k++){var J=2*(q/f|0)*(t-f)+m+p;for(F=0;F<b;F++){if(0!==(O=E[D])){O=(O+X)*a,0!==R[D]&&(O=-O),B=U[D];var _=H?J+(q<<1):q;e[_]=o&&B>=s?O:O*(1<<s-B)}q++,D++}q+=f-b}}}}function I(t,r,n){for(var i=r.components[n],a=i.codingStyleParameters,s=i.quantizationParameters,o=a.decompositionLevelsCount,c=s.SPqcds,l=s.scalarExpounded,h=s.guardBits,f=a.segmentationSymbolUsed,u=t.components[n].precision,m=a.reversibleTransformation,p=m?new z:new L,d=[],v=0,g=0;g<=o;g++){for(var b=i.resolutions[g],y=b.trx1-b.trx0,x=b.try1-b.try0,w=new Float32Array(y*x),k=0,C=b.subbands.length;k<C;k++){var I,M;l?(I=c[v].mu,M=c[v].epsilon,v++):(I=c[0].mu,M=c[0].epsilon+(g>0?1-g:0));var S=b.subbands[k],T=e[S.type];P(w,y,0,S,m?1:Math.pow(2,u+T-M)*(1+I/2048),h+M-1,m,f)}d.push({width:y,height:x,items:w})}var A=p.calculate(d,i.tcx0,i.tcy0);return{left:i.tcx0,top:i.tcy0,width:A.width,height:A.height,items:A.items}}function M(e,t){for(var r=e.SIZ.Csiz,n=e.tiles[t],i=0;i<r;i++){var a=n.components[i],s=void 0!==e.currentTile.QCC[i]?e.currentTile.QCC[i]:e.currentTile.QCD;a.quantizationParameters=s;var o=void 0!==e.currentTile.COC[i]?e.currentTile.COC[i]:e.currentTile.COD;a.codingStyleParameters=o}n.codingStyleDefaultParameters=e.currentTile.COD}t.prototype={parse:function(e){if(65359!==c(e,0))for(var t=0,r=e.length;t<r;){var n=8,i=l(e,t),a=l(e,t+4);t+=n,1===i&&(i=4294967296*l(e,t)+l(e,t+4),t+=8,n+=8),0===i&&(i=r-t+n),i<n&&f("JPX Error: Invalid box field size");var s=i-n,o=!0;switch(a){case 1785737832:o=!1;break;case 1668246642:var h=e[t];if(1===h){var p=l(e,t+3);switch(p){case 16:case 17:case 18:break;default:u("Unknown colorspace "+p)}}else 2===h&&m("ICC profile not supported");break;case 1785737827:this.parseCodestream(e,t,t+s);break;case 1783636e3:218793738!==l(e,t)&&u("Invalid JP2 signature");break;case 1783634458:case 1718909296:case 1920099697:case 1919251232:case 1768449138:break;default:var d=String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,255&a);u("Unsupported header type "+a+" ("+d+")")}o&&(t+=s)}else this.parseCodestream(e,0,e.length)},parseImageProperties:function(e){for(var t=e.getByte();t>=0;){if(65361===(t<<8|(t=e.getByte()))){e.skip(4);var r=e.getInt32()>>>0,n=e.getInt32()>>>0,i=e.getInt32()>>>0,a=e.getInt32()>>>0;e.skip(16);var s=e.getUint16();return this.width=r-i,this.height=n-a,this.componentsCount=s,void(this.bitsPerComponent=8)}}f("JPX Error: No size marker found in JPX stream")},parseCodestream:function(e,t,n){var a={},s=!1;try{for(var o=t;o+1<n;){var h=c(e,o);o+=2;var m,p,d,v,g,b,y=0;switch(h){case 65359:a.mainHeader=!0;break;case 65497:break;case 65361:y=c(e,o);var x={};x.Xsiz=l(e,o+4),x.Ysiz=l(e,o+8),x.XOsiz=l(e,o+12),x.YOsiz=l(e,o+16),x.XTsiz=l(e,o+20),x.YTsiz=l(e,o+24),x.XTOsiz=l(e,o+28),x.YTOsiz=l(e,o+32);var w=c(e,o+36);x.Csiz=w;var P=[];m=o+38;for(var S=0;S<w;S++){var T={precision:1+(127&e[m]),isSigned:!!(128&e[m]),XRsiz:e[m+1],YRsiz:e[m+1]};r(T,x),P.push(T)}a.SIZ=x,a.components=P,i(a,P),a.QCC=[],a.COC=[];break;case 65372:y=c(e,o);var A={};switch(m=o+2,31&(p=e[m++])){case 0:v=8,g=!0;break;case 1:v=16,g=!1;break;case 2:v=16,g=!0;break;default:throw new Error("Invalid SQcd value "+p)}for(A.noQuantization=8===v,A.scalarExpounded=g,A.guardBits=p>>5,d=[];m<y+o;){var D={};8===v?(D.epsilon=e[m++]>>3,D.mu=0):(D.epsilon=e[m]>>3,D.mu=(7&e[m])<<8|e[m+1],m+=2),d.push(D)}A.SPqcds=d,a.mainHeader?a.QCD=A:(a.currentTile.QCD=A,a.currentTile.QCC=[]);break;case 65373:y=c(e,o);var L,z={};switch(m=o+2,a.SIZ.Csiz<257?L=e[m++]:(L=c(e,m),m+=2),31&(p=e[m++])){case 0:v=8,g=!0;break;case 1:v=16,g=!1;break;case 2:v=16,g=!0;break;default:throw new Error("Invalid SQcd value "+p)}for(z.noQuantization=8===v,z.scalarExpounded=g,z.guardBits=p>>5,d=[];m<y+o;)D={},8===v?(D.epsilon=e[m++]>>3,D.mu=0):(D.epsilon=e[m]>>3,D.mu=(7&e[m])<<8|e[m+1],m+=2),d.push(D);z.SPqcds=d,a.mainHeader?a.QCC[L]=z:a.currentTile.QCC[L]=z;break;case 65362:y=c(e,o);var F={};m=o+2;var O=e[m++];F.entropyCoderWithCustomPrecincts=!!(1&O),F.sopMarkerUsed=!!(2&O),F.ephMarkerUsed=!!(4&O),F.progressionOrder=e[m++],F.layersCount=c(e,m),m+=2,F.multipleComponentTransform=e[m++],F.decompositionLevelsCount=e[m++],F.xcb=2+(15&e[m++]),F.ycb=2+(15&e[m++]);var B=e[m++];if(F.selectiveArithmeticCodingBypass=!!(1&B),F.resetContextProbabilities=!!(2&B),F.terminationOnEachCodingPass=!!(4&B),F.verticalyStripe=!!(8&B),F.predictableTermination=!!(16&B),F.segmentationSymbolUsed=!!(32&B),F.reversibleTransformation=e[m++],F.entropyCoderWithCustomPrecincts){for(var q=[];m<y+o;){var R=e[m++];q.push({PPx:15&R,PPy:R>>4})}F.precinctsSizes=q}var E=[];if(F.selectiveArithmeticCodingBypass&&E.push("selectiveArithmeticCodingBypass"),F.resetContextProbabilities&&E.push("resetContextProbabilities"),F.terminationOnEachCodingPass&&E.push("terminationOnEachCodingPass"),F.verticalyStripe&&E.push("verticalyStripe"),F.predictableTermination&&E.push("predictableTermination"),E.length>0)throw s=!0,new Error("Unsupported COD options ("+E.join(", ")+")");a.mainHeader?a.COD=F:(a.currentTile.COD=F,a.currentTile.COC=[]);break;case 65424:y=c(e,o),(b={}).index=c(e,o+2),b.length=l(e,o+4),b.dataEnd=b.length+o-2,b.partIndex=e[o+8],b.partsCount=e[o+9],a.mainHeader=!1,0===b.partIndex&&(b.COD=a.COD,b.COC=a.COC.slice(0),b.QCD=a.QCD,b.QCC=a.QCC.slice(0)),a.currentTile=b;break;case 65427:0===(b=a.currentTile).partIndex&&(M(a,b.index),k(a)),C(a,e,o,y=b.dataEnd-o);break;case 65365:case 65367:case 65368:case 65380:y=c(e,o);break;case 65363:throw new Error("Codestream code 0xFF53 (COC) is not implemented");default:throw new Error("Unknown codestream code: "+h.toString(16))}o+=y}}catch(e){s||this.failOnCorruptedImage?f("JPX Error: "+e.message):u("JPX: Trying to recover from: "+e.message)}this.tiles=function(e){for(var t=e.SIZ,r=e.components,n=t.Csiz,i=[],a=0,s=e.tiles.length;a<s;a++){var o,c=e.tiles[a],l=[];for(o=0;o<n;o++)l[o]=I(e,c,o);var h,f,u,m,p,d,v,g,b,y,x,w,k,C,P,M=l[0],S=new Uint8Array(M.items.length*n),T={left:M.left,top:M.top,width:M.width,height:M.height,items:S},A=0;if(c.codingStyleDefaultParameters.multipleComponentTransform){var D=4===n,L=l[0].items,z=l[1].items,F=l[2].items,O=D?l[3].items:null;h=r[0].precision-8,f=.5+(128<<h),m=-(p=.5*(u=255*(1<<h)));var B=c.components[0],q=n-3;if(v=L.length,B.codingStyleParameters.reversibleTransformation)for(d=0;d<v;d++,A+=q)g=L[d]+f,b=z[d],y=F[d],x=(w=g-(y+b>>2))+y,k=w+b,S[A++]=x<=0?0:x>=u?255:x>>h,S[A++]=w<=0?0:w>=u?255:w>>h,S[A++]=k<=0?0:k>=u?255:k>>h;else for(d=0;d<v;d++,A+=q)g=L[d]+f,b=z[d],y=F[d],x=g+1.402*y,w=g-.34413*b-.71414*y,k=g+1.772*b,S[A++]=x<=0?0:x>=u?255:x>>h,S[A++]=w<=0?0:w>=u?255:w>>h,S[A++]=k<=0?0:k>=u?255:k>>h;if(D)for(d=0,A=3;d<v;d++,A+=4)C=O[d],S[A]=C<=m?0:C>=p?255:C+f>>h}else for(o=0;o<n;o++){var R=l[o].items;for(h=r[o].precision-8,f=.5+(128<<h),m=-(u=127.5*(1<<h)),A=o,d=0,v=R.length;d<v;d++)P=R[d],S[A]=P<=m?0:P>=u?255:P+f>>h,A+=n}i.push(T)}return i}(a),this.width=a.SIZ.Xsiz-a.SIZ.XOsiz,this.height=a.SIZ.Ysiz-a.SIZ.YOsiz,this.componentsCount=a.SIZ.Csiz}};var S=function(){function e(e,t){var r=s(Math.max(e,t))+1;this.levels=[];for(var n=0;n<r;n++){var i={width:e,height:t,items:[]};this.levels.push(i),e=Math.ceil(e/2),t=Math.ceil(t/2)}}return e.prototype={reset:function(e,t){for(var r,n=0,i=0;n<this.levels.length;){var a=e+t*(r=this.levels[n]).width;if(void 0!==r.items[a]){i=r.items[a];break}r.index=a,e>>=1,t>>=1,n++}n--,(r=this.levels[n]).items[r.index]=i,this.currentLevel=n,delete this.value},incrementValue:function(){var e=this.levels[this.currentLevel];e.items[e.index]++},nextLevel:function(){var e=this.currentLevel,t=this.levels[e],r=t.items[t.index];return--e<0?(this.value=r,!1):(this.currentLevel=e,(t=this.levels[e]).items[t.index]=r,!0)}},e}(),T=function(){function e(e,t,r){var n=s(Math.max(e,t))+1;this.levels=[];for(var i=0;i<n;i++){for(var a=new Uint8Array(e*t),o=0,c=a.length;o<c;o++)a[o]=r;var l={width:e,height:t,items:a};this.levels.push(l),e=Math.ceil(e/2),t=Math.ceil(t/2)}}return e.prototype={reset:function(e,t,r){for(var n=0;n<this.levels.length;){var i=this.levels[n],a=e+t*i.width;i.index=a;var s=i.items[a];if(255===s)break;if(s>r)return this.currentLevel=n,this.propagateValues(),!1;e>>=1,t>>=1,n++}return this.currentLevel=n-1,!0},incrementValue:function(e){var t=this.levels[this.currentLevel];t.items[t.index]=e+1,this.propagateValues()},propagateValues:function(){for(var e=this.currentLevel,t=this.levels[e],r=t.items[t.index];--e>=0;)(t=this.levels[e]).items[t.index]=r},nextLevel:function(){var e=this.currentLevel,t=this.levels[e],r=t.items[t.index];return t.items[t.index]=255,!(--e<0)&&(this.currentLevel=e,(t=this.levels[e]).items[t.index]=r,!0)}},e}(),A=function(){var e=new Uint8Array([0,5,8,0,3,7,8,0,4,7,8,0,0,0,0,0,1,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8]),t=new Uint8Array([0,3,4,0,5,7,7,0,8,8,8,0,0,0,0,0,1,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8]),r=new Uint8Array([0,1,2,0,1,2,2,0,2,2,2,0,0,0,0,0,3,4,5,0,4,5,5,0,5,5,5,0,0,0,0,0,6,7,7,0,7,7,7,0,7,7,7,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8]);function n(n,i,a,s,o){this.width=n,this.height=i,this.contextLabelTable="HH"===a?r:"HL"===a?t:e;var c=n*i;this.neighborsSignificance=new Uint8Array(c),this.coefficentsSign=new Uint8Array(c),this.coefficentsMagnitude=o>14?new Uint32Array(c):o>6?new Uint16Array(c):new Uint8Array(c),this.processingFlags=new Uint8Array(c);var l=new Uint8Array(c);if(0!==s)for(var h=0;h<c;h++)l[h]=s;this.bitsDecoded=l,this.reset()}return n.prototype={setDecoder:function(e){this.decoder=e},reset:function(){this.contexts=new Int8Array(19),this.contexts[0]=8,this.contexts[17]=92,this.contexts[18]=6},setNeighborsSignificance:function(e,t,r){var n,i=this.neighborsSignificance,a=this.width,s=this.height,o=t>0,c=t+1<a;e>0&&(n=r-a,o&&(i[n-1]+=16),c&&(i[n+1]+=16),i[n]+=4),e+1<s&&(n=r+a,o&&(i[n-1]+=16),c&&(i[n+1]+=16),i[n]+=4),o&&(i[r-1]+=1),c&&(i[r+1]+=1),i[r]|=128},runSignificancePropagationPass:function(){for(var e=this.decoder,t=this.width,r=this.height,n=this.coefficentsMagnitude,i=this.coefficentsSign,a=this.neighborsSignificance,s=this.processingFlags,o=this.contexts,c=this.contextLabelTable,l=this.bitsDecoded,h=0;h<r;h+=4)for(var f=0;f<t;f++)for(var u=h*t+f,m=0;m<4;m++,u+=t){var p=h+m;if(p>=r)break;if(s[u]&=-2,!n[u]&&a[u]){var d=c[a[u]];if(e.readBit(o,d)){var v=this.decodeSignBit(p,f,u);i[u]=v,n[u]=1,this.setNeighborsSignificance(p,f,u),s[u]|=2}l[u]++,s[u]|=1}}},decodeSignBit:function(e,t,r){var n,i,a,s,o,c,l=this.width,h=this.height,f=this.coefficentsMagnitude,u=this.coefficentsSign;s=t>0&&0!==f[r-1],t+1<l&&0!==f[r+1]?(a=u[r+1],n=s?1-a-(i=u[r-1]):1-a-a):n=s?1-(i=u[r-1])-i:0;var m=3*n;return s=e>0&&0!==f[r-l],e+1<h&&0!==f[r+l]?(a=u[r+l],n=s?1-a-(i=u[r-l])+m:1-a-a+m):n=s?1-(i=u[r-l])-i+m:m,n>=0?(o=9+n,c=this.decoder.readBit(this.contexts,o)):(o=9-n,c=1^this.decoder.readBit(this.contexts,o)),c},runMagnitudeRefinementPass:function(){for(var e,t=this.decoder,r=this.width,n=this.height,i=this.coefficentsMagnitude,a=this.neighborsSignificance,s=this.contexts,o=this.bitsDecoded,c=this.processingFlags,l=r*n,h=4*r,f=0;f<l;f=e){e=Math.min(l,f+h);for(var u=0;u<r;u++)for(var m=f+u;m<e;m+=r)if(i[m]&&0==(1&c[m])){var p=16;if(0!=(2&c[m]))c[m]^=2,p=0===(127&a[m])?15:14;var d=t.readBit(s,p);i[m]=i[m]<<1|d,o[m]++,c[m]|=1}}},runCleanupPass:function(){for(var e,t=this.decoder,r=this.width,n=this.height,i=this.neighborsSignificance,a=this.coefficentsMagnitude,s=this.coefficentsSign,o=this.contexts,c=this.contextLabelTable,l=this.bitsDecoded,h=this.processingFlags,f=r,u=2*r,m=3*r,p=0;p<n;p=e){e=Math.min(p+4,n);for(var d=p*r,v=p+3<n,g=0;g<r;g++){var b,y=d+g,x=0,w=y,k=p;if(v&&0===h[y]&&0===h[y+f]&&0===h[y+u]&&0===h[y+m]&&0===i[y]&&0===i[y+f]&&0===i[y+u]&&0===i[y+m]){if(!t.readBit(o,18)){l[y]++,l[y+f]++,l[y+u]++,l[y+m]++;continue}0!==(x=t.readBit(o,17)<<1|t.readBit(o,17))&&(k=p+x,w+=x*r),b=this.decodeSignBit(k,g,w),s[w]=b,a[w]=1,this.setNeighborsSignificance(k,g,w),h[w]|=2,w=y;for(var C=p;C<=k;C++,w+=r)l[w]++;x++}for(k=p+x;k<e;k++,w+=r)if(!a[w]&&0==(1&h[w])){var P=c[i[w]];1===t.readBit(o,P)&&(b=this.decodeSignBit(k,g,w),s[w]=b,a[w]=1,this.setNeighborsSignificance(k,g,w),h[w]|=2),l[w]++}}}},checkSegmentationSymbol:function(){var e=this.decoder,t=this.contexts;10!==(e.readBit(t,17)<<3|e.readBit(t,17)<<2|e.readBit(t,17)<<1|e.readBit(t,17))&&f("JPX Error: Invalid segmentation symbol")}},n}(),D=function(){function e(){}return e.prototype.calculate=function(e,t,r){for(var n=e[0],i=1,a=e.length;i<a;i++)n=this.iterate(n,e[i],t,r);return n},e.prototype.extend=function(e,t,r){var n=t-1,i=t+1,a=t+r-2,s=t+r;e[n--]=e[i++],e[s++]=e[a--],e[n--]=e[i++],e[s++]=e[a--],e[n--]=e[i++],e[s++]=e[a--],e[n]=e[i],e[s]=e[a]},e.prototype.iterate=function(e,t,r,n){var i,a,s,o,c,l,h=e.width,f=e.height,u=e.items,m=t.width,p=t.height,d=t.items;for(s=0,i=0;i<f;i++)for(o=2*i*m,a=0;a<h;a++,s++,o+=2)d[o]=u[s];u=e.items=null;var v=new Float32Array(m+8);if(1===m){if(0!=(1&r))for(l=0,s=0;l<p;l++,s+=m)d[s]*=.5}else for(l=0,s=0;l<p;l++,s+=m)v.set(d.subarray(s,s+m),4),this.extend(v,4,m),this.filter(v,4,m),d.set(v.subarray(4,4+m),s);var g=16,b=[];for(i=0;i<g;i++)b.push(new Float32Array(p+8));var y,x=0;if(e=4+p,1===p){if(0!=(1&n))for(c=0;c<m;c++)d[c]*=.5}else for(c=0;c<m;c++){if(0===x){for(g=Math.min(m-c,g),s=c,o=4;o<e;s+=m,o++)for(y=0;y<g;y++)b[y][o]=d[s+y];x=g}var w=b[--x];if(this.extend(w,4,p),this.filter(w,4,p),0===x)for(s=c-g+1,o=4;o<e;s+=m,o++)for(y=0;y<g;y++)d[s+y]=b[y][o]}return{width:m,height:p,items:d}},e}(),L=function(){function e(){D.call(this)}return e.prototype=Object.create(D.prototype),e.prototype.filter=function(e,t,r){var n,i,a,s,o=r>>1,c=-1.586134342059924,l=-.052980118572961,h=.882911075530934,f=.443506852043971,u=1.230174104914001;for(n=(t|=0)-3,i=o+4;i--;n+=2)e[n]*=.8128930661159609;for(a=f*e[(n=t-2)-1],i=o+3;i--&&(s=f*e[n+1],e[n]=u*e[n]-a-s,i--);n+=2)a=f*e[(n+=2)+1],e[n]=u*e[n]-a-s;for(a=h*e[(n=t-1)-1],i=o+2;i--&&(s=h*e[n+1],e[n]-=a+s,i--);n+=2)a=h*e[(n+=2)+1],e[n]-=a+s;for(a=l*e[(n=t)-1],i=o+1;i--&&(s=l*e[n+1],e[n]-=a+s,i--);n+=2)a=l*e[(n+=2)+1],e[n]-=a+s;if(0!==o)for(a=c*e[(n=t+1)-1],i=o;i--&&(s=c*e[n+1],e[n]-=a+s,i--);n+=2)a=c*e[(n+=2)+1],e[n]-=a+s},e}(),z=function(){function e(){D.call(this)}return e.prototype=Object.create(D.prototype),e.prototype.filter=function(e,t,r){var n,i,a=r>>1;for(n=t|=0,i=a+1;i--;n+=2)e[n]-=e[n-1]+e[n+1]+2>>2;for(n=t+1,i=a;i--;n+=2)e[n]+=e[n-1]+e[n+1]>>1},e}();return t}(),a=function(){function e(){}function t(e,t,r){this.data=e,this.start=t,this.end=r}function r(e,t,r){var n=e.getContexts(t),i=1;function a(e){for(var t=0,a=0;a<e;a++){var s=r.readBit(n,i);i=i<256?i<<1|s:511&(i<<1|s)|256,t=t<<1|s}return t>>>0}var s=a(1),o=a(1)?a(1)?a(1)?a(1)?a(1)?a(32)+4436:a(12)+340:a(8)+84:a(6)+20:a(4)+4:a(2);return 0===s?o:o>0?-o:null}function i(e,t,r){for(var n=e.getContexts("IAID"),i=1,a=0;a<r;a++){i=i<<1|t.readBit(n,i)}return r<31?i&(1<<r)-1:2147483647&i}e.prototype={getContexts:function(e){return e in this?this[e]:this[e]=new Int8Array(65536)}},t.prototype={get decoder(){return h(this,"decoder",new n(this.data,this.start,this.end))},get contextCache(){return h(this,"contextCache",new e)}};var a=["SymbolDictionary",null,null,null,"IntermediateTextRegion",null,"ImmediateTextRegion","ImmediateLosslessTextRegion",null,null,null,null,null,null,null,null,"patternDictionary",null,null,null,"IntermediateHalftoneRegion",null,"ImmediateHalftoneRegion","ImmediateLosslessHalftoneRegion",null,null,null,null,null,null,null,null,null,null,null,null,"IntermediateGenericRegion",null,"ImmediateGenericRegion","ImmediateLosslessGenericRegion","IntermediateGenericRefinementRegion",null,"ImmediateGenericRefinementRegion","ImmediateLosslessGenericRefinementRegion",null,null,null,null,"PageInformation","EndOfPage","EndOfStripe","EndOfFile","Profiles","Tables",null,null,null,null,null,null,null,null,"Extension"],u=[[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:2,y:-1},{x:-4,y:0},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:2,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:2,y:-1},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-2,y:0},{x:-1,y:0}],[{x:-3,y:-1},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-4,y:0},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}]],m=[{coding:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0},{x:0,y:0},{x:1,y:0},{x:-1,y:1},{x:0,y:1},{x:1,y:1}]},{coding:[{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:-1,y:0},{x:0,y:0},{x:1,y:0},{x:0,y:1},{x:1,y:1}]}],p=[39717,1941,229,405],d=[32,8];function v(e,t,r,n,i,a,s,o){if(e&&f("JBIG2 error: MMR encoding is not supported"),0===n&&!a&&!i&&4===s.length&&3===s[0].x&&-1===s[0].y&&-3===s[1].x&&-1===s[1].y&&2===s[2].x&&-2===s[2].y&&-2===s[3].x&&-2===s[3].y)return function(e,t,r){var n,i,a,s,o,c,l,h=r.decoder,f=r.contextCache.getContexts("GB"),u=[];for(i=0;i<t;i++)for(o=u[i]=new Uint8Array(e),c=i<1?o:u[i-1],n=(l=i<2?o:u[i-2])[0]<<13|l[1]<<12|l[2]<<11|c[0]<<7|c[1]<<6|c[2]<<5|c[3]<<4,a=0;a<e;a++)o[a]=s=h.readBit(f,n),n=(31735&n)<<1|(a+3<e?l[a+3]<<11:0)|(a+4<e?c[a+4]<<4:0)|s;return u}(t,r,o);var c=!!a,l=u[n].concat(s);l.sort(function(e,t){return e.y-t.y||e.x-t.x});var h,m,d=l.length,v=new Int8Array(d),g=new Int8Array(d),b=[],y=0,x=0,w=0,k=0;for(m=0;m<d;m++)v[m]=l[m].x,g[m]=l[m].y,x=Math.min(x,l[m].x),w=Math.max(w,l[m].x),k=Math.min(k,l[m].y),m<d-1&&l[m].y===l[m+1].y&&l[m].x===l[m+1].x-1?y|=1<<d-1-m:b.push(m);var C=b.length,P=new Int8Array(C),I=new Int8Array(C),M=new Uint16Array(C);for(h=0;h<C;h++)m=b[h],P[h]=l[m].x,I[h]=l[m].y,M[h]=1<<d-1-m;for(var S,T,A,D,L,z=-x,F=-k,O=t-w,B=p[n],q=new Uint8Array(t),R=[],E=o.decoder,U=o.contextCache.getContexts("GB"),X=0,H=0,J=0;J<r;J++){if(i)if(X^=E.readBit(U,B)){R.push(q);continue}for(q=new Uint8Array(q),R.push(q),S=0;S<t;S++)if(c&&a[J][S])q[S]=0;else{if(S>=z&&S<O&&J>=F)for(H=H<<1&y,m=0;m<C;m++)T=J+I[m],A=S+P[m],(D=R[T][A])&&(H|=D=M[m]);else for(H=0,L=d-1,m=0;m<d;m++,L--)(A=S+v[m])>=0&&A<t&&(T=J+g[m])>=0&&(D=R[T][A])&&(H|=D<<L);var _=E.readBit(U,H);q[S]=_}}return R}function g(e,t,r,n,i,a,s,o,c){var l=m[r].coding;0===r&&(l=l.concat([o[0]]));var h,u=l.length,p=new Int32Array(u),v=new Int32Array(u);for(h=0;h<u;h++)p[h]=l[h].x,v[h]=l[h].y;var g=m[r].reference;0===r&&(g=g.concat([o[1]]));var b=g.length,y=new Int32Array(b),x=new Int32Array(b);for(h=0;h<b;h++)y[h]=g[h].x,x[h]=g[h].y;for(var w=n[0].length,k=n.length,C=d[r],P=[],I=c.decoder,M=c.contextCache.getContexts("GR"),S=0,T=0;T<t;T++){if(s)(S^=I.readBit(M,C))&&f("JBIG2 error: prediction is not supported");var A=new Uint8Array(e);P.push(A);for(var D=0;D<e;D++){var L,z,F=0;for(h=0;h<u;h++)L=T+v[h],z=D+p[h],L<0||z<0||z>=e?F<<=1:F=F<<1|P[L][z];for(h=0;h<b;h++)L=T+x[h]+a,z=D+y[h]+i,L<0||L>=k||z<0||z>=w?F<<=1:F=F<<1|n[L][z];var O=I.readBit(M,F);A[D]=O}}return P}function b(e,t,n,a,s,o,c,l,h,u,m,p,d,v,b,y,x){e&&f("JBIG2 error: huffman is not supported");var w,k,C=[];for(w=0;w<a;w++){if(k=new Uint8Array(n),s)for(var P=0;P<n;P++)k[P]=s;C.push(k)}var I=x.decoder,M=x.contextCache,S=-r(M,"IADT",I),T=0;for(w=0;w<o;){S+=r(M,"IADT",I);for(var A=T+=r(M,"IAFS",I);;){var D=c*S+(1===c?0:r(M,"IAIT",I)),L=i(M,I,h),z=t&&r(M,"IARI",I),F=l[L],O=F[0].length,B=F.length;if(z){var q=r(M,"IARDW",I),R=r(M,"IARDH",I);F=g(O+=q,B+=R,b,F,(q>>1)+r(M,"IARDX",I),(R>>1)+r(M,"IARDY",I),!1,y,x)}var E,U,X,H=D-(1&p?0:B),J=A-(2&p?O:0);if(u){for(E=0;E<B;E++)if(k=C[J+E]){X=F[E];var _=Math.min(n-H,O);switch(d){case 0:for(U=0;U<_;U++)k[H+U]|=X[U];break;case 2:for(U=0;U<_;U++)k[H+U]^=X[U];break;default:f("JBIG2 error: operator "+d+" is not supported")}}A+=B-1}else{for(U=0;U<B;U++)if(k=C[H+U])switch(X=F[U],d){case 0:for(E=0;E<O;E++)k[J+E]|=X[E];break;case 2:for(E=0;E<O;E++)k[J+E]^=X[E];break;default:f("JBIG2 error: operator "+d+" is not supported")}A+=O-1}w++;var N=r(M,"IADS",I);if(null===N)break;A+=N+m}}return C}function y(e,t){var r={};r.number=l(e,t);var n=e[t+4],i=63&n;a[i]||f("JBIG2 error: invalid segment type: "+i),r.type=i,r.typeName=a[i],r.deferredNonRetain=!!(128&n);var s=!!(64&n),o=e[t+5],h=o>>5&7,u=[31&o],m=t+6;if(7===o){h=536870911&l(e,m-1),m+=3;var p=h+7>>3;for(u[0]=e[m++];--p>0;)u.push(e[m++])}else 5!==o&&6!==o||f("JBIG2 error: invalid referred-to flags");r.retainBits=u;var d,v,g=r.number<=256?1:r.number<=65536?2:4,b=[];for(d=0;d<h;d++){var y=1===g?e[m]:2===g?c(e,m):l(e,m);b.push(y),m+=g}if(r.referredTo=b,s?(r.pageAssociation=l(e,m),m+=4):r.pageAssociation=e[m++],r.length=l(e,m),m+=4,4294967295===r.length)if(38===i){var x=w(e,m),C=!!(1&e[m+k]),P=new Uint8Array(6);for(C||(P[0]=255,P[1]=172),P[2]=x.height>>>24&255,P[3]=x.height>>16&255,P[4]=x.height>>8&255,P[5]=255&x.height,d=m,v=e.length;d<v;d++){for(var I=0;I<6&&P[I]===e[d+I];)I++;if(6===I){r.length=d+6;break}}4294967295===r.length&&f("JBIG2 error: segment end was not found")}else f("JBIG2 error: invalid unknown segment length");return r.headerEnd=m,r}function x(e,t,r,n){for(var i=[],a=r;a<n;){var s=y(t,a);a=s.headerEnd;var o={header:s,data:t};if(e.randomAccess||(o.start=a,a+=s.length,o.end=a),i.push(o),51===s.type)break}if(e.randomAccess)for(var c=0,l=i.length;c<l;c++)i[c].start=a,a+=i[c].header.length,i[c].end=a;return i}function w(e,t){return{width:l(e,t),height:l(e,t+4),x:l(e,t+8),y:l(e,t+12),combinationOperator:7&e[t+16]}}var k=17;function C(e,t){var r,n,i,a,s=e.header,h=e.data,u=e.start,m=e.end;switch(s.type){case 0:var p={},d=c(h,u);if(p.huffman=!!(1&d),p.refinement=!!(2&d),p.huffmanDHSelector=d>>2&3,p.huffmanDWSelector=d>>4&3,p.bitmapSizeSelector=d>>6&1,p.aggregationInstancesSelector=d>>7&1,p.bitmapCodingContextUsed=!!(256&d),p.bitmapCodingContextRetained=!!(512&d),p.template=d>>10&3,p.refinementTemplate=d>>12&1,u+=2,!p.huffman){for(a=0===p.template?4:1,n=[],i=0;i<a;i++)n.push({x:o(h,u),y:o(h,u+1)}),u+=2;p.at=n}if(p.refinement&&!p.refinementTemplate){for(n=[],i=0;i<2;i++)n.push({x:o(h,u),y:o(h,u+1)}),u+=2;p.refinementAt=n}p.numberOfExportedSymbols=l(h,u),u+=4,p.numberOfNewSymbols=l(h,u),u+=4,r=[p,s.number,s.referredTo,h,u,m];break;case 6:case 7:var v={};v.info=w(h,u);var g=c(h,u+=k);if(u+=2,v.huffman=!!(1&g),v.refinement=!!(2&g),v.stripSize=1<<(g>>2&3),v.referenceCorner=g>>4&3,v.transposed=!!(64&g),v.combinationOperator=g>>7&3,v.defaultPixelValue=g>>9&1,v.dsOffset=g<<17>>27,v.refinementTemplate=g>>15&1,v.huffman){var b=c(h,u);u+=2,v.huffmanFS=3&b,v.huffmanDS=b>>2&3,v.huffmanDT=b>>4&3,v.huffmanRefinementDW=b>>6&3,v.huffmanRefinementDH=b>>8&3,v.huffmanRefinementDX=b>>10&3,v.huffmanRefinementDY=b>>12&3,v.huffmanRefinementSizeSelector=!!(14&b)}if(v.refinement&&!v.refinementTemplate){for(n=[],i=0;i<2;i++)n.push({x:o(h,u),y:o(h,u+1)}),u+=2;v.refinementAt=n}v.numberOfSymbolInstances=l(h,u),u+=4,v.huffman&&f("JBIG2 error: huffman is not supported"),r=[v,s.referredTo,h,u,m];break;case 38:case 39:var y={};y.info=w(h,u),u+=k;var x=h[u++];if(y.mmr=!!(1&x),y.template=x>>1&3,y.prediction=!!(8&x),!y.mmr){for(a=0===y.template?4:1,n=[],i=0;i<a;i++)n.push({x:o(h,u),y:o(h,u+1)}),u+=2;y.at=n}r=[y,h,u,m];break;case 48:var C={width:l(h,u),height:l(h,u+4),resolutionX:l(h,u+8),resolutionY:l(h,u+12)};4294967295===C.height&&delete C.height;var P=h[u+16];c(h,u+17),C.lossless=!!(1&P),C.refinement=!!(2&P),C.defaultPixelValue=P>>2&1,C.combinationOperator=P>>3&3,C.requiresBuffer=!!(32&P),C.combinationOperatorOverride=!!(64&P),r=[C];break;case 49:case 50:case 51:case 62:break;default:f("JBIG2 error: segment type "+s.typeName+"("+s.type+") is not implemented")}var I="on"+s.typeName;I in t&&t[I].apply(t,r)}function P(e,t){for(var r=0,n=e.length;r<n;r++)C(e[r],t)}function I(){}function M(){}return I.prototype={onPageInformation:function(e){this.currentPageInfo=e;var t=e.width+7>>3,r=new Uint8Array(t*e.height);if(e.defaultPixelValue)for(var n=0,i=r.length;n<i;n++)r[n]=255;this.buffer=r},drawBitmap:function(e,t){var r,n,i,a,s=this.currentPageInfo,o=e.width,c=e.height,l=s.width+7>>3,h=s.combinationOperatorOverride?e.combinationOperator:s.combinationOperator,u=this.buffer,m=128>>(7&e.x),p=e.y*l+(e.x>>3);switch(h){case 0:for(r=0;r<c;r++){for(i=m,a=p,n=0;n<o;n++)t[r][n]&&(u[a]|=i),(i>>=1)||(i=128,a++);p+=l}break;case 2:for(r=0;r<c;r++){for(i=m,a=p,n=0;n<o;n++)t[r][n]&&(u[a]^=i),(i>>=1)||(i=128,a++);p+=l}break;default:f("JBIG2 error: operator "+h+" is not supported")}},onImmediateGenericRegion:function(e,r,n,i){var a=e.info,s=new t(r,n,i),o=v(e.mmr,a.width,a.height,e.template,e.prediction,null,e.at,s);this.drawBitmap(a,o)},onImmediateLosslessGenericRegion:function(){this.onImmediateGenericRegion.apply(this,arguments)},onSymbolDictionary:function(e,n,a,o,c,l){e.huffman&&f("JBIG2 error: huffman is not supported");var h=this.symbols;h||(this.symbols=h={});for(var u=[],m=0,p=a.length;m<p;m++)u=u.concat(h[a[m]]);var d=new t(o,c,l);h[n]=function(e,t,n,a,o,c,l,h,u,m,p){e&&f("JBIG2 error: huffman is not supported");for(var d=[],y=0,x=s(n.length+a),w=p.decoder,k=p.contextCache;d.length<a;){y+=r(k,"IADH",w);for(var C=0;;){var P,I=r(k,"IADW",w);if(null===I)break;if(C+=I,t){var M=r(k,"IAAI",w);if(M>1)P=b(e,t,C,y,0,M,1,n.concat(d),x,0,0,1,0,0,u,m,p);else{var S=i(k,w,x),T=r(k,"IARDX",w),A=r(k,"IARDY",w);P=g(C,y,u,S<n.length?n[S]:d[S-n.length],T,A,!1,m,p)}}else P=v(!1,C,y,l,!1,null,h,p);d.push(P)}}for(var D=[],L=[],z=!1,F=n.length+a;L.length<F;){for(var O=r(k,"IAEX",w);O--;)L.push(z);z=!z}for(var B=0,q=n.length;B<q;B++)L[B]&&D.push(n[B]);for(var R=0;R<a;B++,R++)L[B]&&D.push(d[R]);return D}(e.huffman,e.refinement,u,e.numberOfNewSymbols,e.numberOfExportedSymbols,0,e.template,e.at,e.refinementTemplate,e.refinementAt,d)},onImmediateTextRegion:function(e,r,n,i,a){for(var o=e.info,c=this.symbols,l=[],h=0,f=r.length;h<f;h++)l=l.concat(c[r[h]]);var u=s(l.length),m=new t(n,i,a),p=b(e.huffman,e.refinement,o.width,o.height,e.defaultPixelValue,e.numberOfSymbolInstances,e.stripSize,l,u,e.transposed,e.dsOffset,e.referenceCorner,e.combinationOperator,0,e.refinementTemplate,e.refinementAt,m);this.drawBitmap(o,p)},onImmediateLosslessTextRegion:function(){this.onImmediateTextRegion.apply(this,arguments)}},M.prototype={parseChunks:function(e){return function(e){for(var t=new I,r=0,n=e.length;r<n;r++){var i=e[r];P(x({},i.data,i.start,i.end),t)}return t.buffer}(e)}},M}();function s(e){for(var t=1,r=0;e>t;)t<<=1,r++;return r}function o(e,t){return e[t]<<24>>24}function c(e,t){return e[t]<<8|e[t+1]}function l(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function h(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!1}),r}var f=function(){throw console.error.apply(console,arguments),new Error("PDFJS error: "+arguments[0])},u=function(){console.warn.apply(console,arguments)},m=function(){console.info.apply(console,arguments)};a.prototype.parse=function(e){var t=0,r=e.length;151===e[t]&&74===e[t+1]&&66===e[t+2]&&50===e[t+3]&&13===e[t+4]&&10===e[t+5]&&26===e[t+6]&&10===e[t+7]||f("JBIG2 error: invalid header");var n={};t+=8;var i=e[t++];n.randomAccess=!(1&i),2&i||(n.numberOfPages=l(e,t),t+=4);for(var a=this.parseChunks([{data:e,start:t,end:r}]),s=a.currentPageInfo.width,o=a.currentPageInfo.height,c=a.buffer,h=(e=new Uint8Array(s*o),0),u=0,m=0;m<o;m++)for(var p,d=0,v=0;v<s;v++)d||(d=128,p=c[u++]),e[h++]=p&d?0:255,d>>=1;this.width=s,this.height=o,this.data=e},e.JpegImage=r,e.JpxImage=i,e.Jbig2Image=a}(PDFJS||(PDFJS={}));
;(function(){var o,X=0,e=null,n=null;o=window.FFT={};var f={o:function(G){if(G!==0&&(G&G-1)===0){X=G;
f.B();f.q();f.i()}else{throw new Error("init: radix-2 required")}},X:function(G,B){f.G(G,B,1)},e:function(G,B){var j=1/X;
f.G(G,B,-1);for(var q=0;q<X;q++){G[q]*=j;B[q]*=j}},n:function(G,B){var j=[],q=[],i=0;for(var m=0;m<X;
m++){i=m*X;for(var Z=0;Z<X;Z++){j[Z]=G[Z+i];q[Z]=B[Z+i]}f.X(j,q);for(var p=0;p<X;p++){G[p+i]=j[p];B[p+i]=q[p]}}for(var C=0;
C<X;C++){for(var a=0;a<X;a++){i=C+a*X;j[a]=G[i];q[a]=B[i]}f.X(j,q);for(var r=0;r<X;r++){i=C+r*X;G[i]=j[r];
B[i]=q[r]}}},f:function(G,B){var j=[],q=[],i=0;for(var m=0;m<X;m++){i=m*X;for(var Z=0;Z<X;Z++){j[Z]=G[Z+i];
q[Z]=B[Z+i]}f.e(j,q);for(var p=0;p<X;p++){G[p+i]=j[p];B[p+i]=q[p]}}for(var C=0;C<X;C++){for(var a=0;
a<X;a++){i=C+a*X;j[a]=G[i];q[a]=B[i]}f.e(j,q);for(var r=0;r<X;r++){i=C+r*X;G[i]=j[r];B[i]=q[r]}}},G:function(G,B,j){var q,i,m,Z,p,C,a,r,M,R=X>>2;
for(var P=0;P<X;P++){Z=e[P];if(P<Z){p=G[P];G[P]=G[Z];G[Z]=p;p=B[P];B[P]=B[Z];B[Z]=p}}for(var y=1;y<X;
y<<=1){i=0;q=X/(y<<1);for(var x=0;x<y;x++){C=n[i+R];a=j*n[i];for(var t=x;t<X;t+=y<<1){m=t+y;r=C*G[m]+a*B[m];
M=C*B[m]-a*G[m];G[m]=G[t]-r;G[t]+=r;B[m]=B[t]-M;B[t]+=M}i+=q}}},B:function(){var G=Uint32Array;if(X<=256)G=Uint8Array;
else if(X<=65536)G=Uint16Array;e=new G(X);n=new Float64Array(X*1.25)},j:function(){},q:function(){var G=0,B=0,q=0;
e[0]=0;while(++G<X){q=X>>1;while(q<=B){B-=q;q>>=1}B+=q;e[G]=B}},i:function(){var G=X>>1,B=X>>2,j=X>>3,q=G+B,i=Math.sin(Math.PI/X),m=2*i*i,Z=Math.sqrt(m*(2-m)),p=n[B]=1,C=n[0]=0;
i=2*m;for(var a=1;a<j;a++){p-=m;m+=i*p;C+=Z;Z-=i*C;n[a]=C;n[B-a]=p}if(j!==0){n[j]=Math.sqrt(.5)}for(var r=0;
r<B;r++){n[G-r]=n[r]}for(var M=0;M<q;M++){n[M+G]=-n[M]}}};o.init=f.o;o.fft2d=f.n;o.ifft2d=f.f}.call(this));
(function(r){"object"===typeof exports&&"undefined"!==typeof module?module.exports=r():"function"===typeof define&&define.amd?define([],r):("undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:this).acorn=r()})(function(){return function a(l,f,c){function g(d,n){if(!f[d]){if(!l[d]){var e="function"==typeof require&&require;if(!n&&e)return e(d,!0);if(b)return b(d,!0);e=Error("Cannot find module '"+d+"'");throw e.code="MODULE_NOT_FOUND",e;}e=f[d]={exports:{}};
l[d][0].call(e.exports,function(b){var e=l[d][1][b];return g(e?e:b)},e,e.exports,a,l,f,c)}return f[d].exports}for(var b="function"==typeof require&&require,d=0;d<c.length;d++)g(c[d]);return g}({1:[function(a,l,f){var c=a("./tokentype");a=a("./state").Parser.prototype;a.checkPropClash=function(b,c){if(!(6<=this.options.ecmaVersion&&(b.computed||b.method||b.shorthand))){var d=b.key;switch(d.type){case "Identifier":var a=d.name;break;case "Literal":a=String(d.value);break;default:return}var e=b.kind;
if(6<=this.options.ecmaVersion)"__proto__"===a&&"init"===e&&(c.proto&&this.raiseRecoverable(d.start,"Redefinition of __proto__ property"),c.proto=!0);else{a="$"+a;var m=c[a];m?(a="init"!==e,(!this.strict&&!a||!m[e])&&a^m.init||this.raiseRecoverable(d.start,"Redefinition of property")):m=c[a]={init:!1,get:!1,set:!1};m[e]=!0}}};a.parseExpression=function(b,a){var d=this.start,n=this.startLoc,e=this.parseMaybeAssign(b,a);if(this.type===c.types.comma){d=this.startNodeAt(d,n);for(d.expressions=[e];this.eat(c.types.comma);)d.expressions.push(this.parseMaybeAssign(b,
a));return this.finishNode(d,"SequenceExpression")}return e};a.parseMaybeAssign=function(b,a,h){if(this.inGenerator&&this.isContextual("yield"))return this.parseYield();var d=!1;a||(a={shorthandAssign:0,trailingComma:0},d=!0);var e=this.start,m=this.startLoc;if(this.type==c.types.parenL||this.type==c.types.name)this.potentialArrowAt=this.start;var p=this.parseMaybeConditional(b,a);h&&(p=h.call(this,p,e,m));if(this.type.isAssign)return d&&this.checkPatternErrors(a,!0),h=this.startNodeAt(e,m),h.operator=
this.value,h.left=this.type===c.types.eq?this.toAssignable(p):p,a.shorthandAssign=0,this.checkLVal(p),this.next(),h.right=this.parseMaybeAssign(b),this.finishNode(h,"AssignmentExpression");d&&this.checkExpressionErrors(a,!0);return p};a.parseMaybeConditional=function(b,a){var d=this.start,n=this.startLoc,e=this.parseExprOps(b,a);return this.checkExpressionErrors(a)?e:this.eat(c.types.question)?(d=this.startNodeAt(d,n),d.test=e,d.consequent=this.parseMaybeAssign(),this.expect(c.types.colon),d.alternate=
this.parseMaybeAssign(b),this.finishNode(d,"ConditionalExpression")):e};a.parseExprOps=function(b,c){var a=this.start,d=this.startLoc,e=this.parseMaybeUnary(c,!1);return this.checkExpressionErrors(c)?e:this.parseExprOp(e,a,d,-1,b)};a.parseExprOp=function(b,a,h,n,e){var d=this.type.binop;if(null!=d&&(!e||this.type!==c.types._in)&&d>n){var p=this.type===c.types.logicalOR||this.type===c.types.logicalAND,g=this.value;this.next();var k=this.start,q=this.startLoc,d=this.parseExprOp(this.parseMaybeUnary(null,
!1),k,q,d,e);b=this.buildBinary(a,h,b,d,g,p);return this.parseExprOp(b,a,h,n,e)}return b};a.buildBinary=function(b,c,a,n,e,m){b=this.startNodeAt(b,c);b.left=a;b.operator=e;b.right=n;return this.finishNode(b,m?"LogicalExpression":"BinaryExpression")};a.parseMaybeUnary=function(b,a){var d=this.start,n=this.startLoc;if(this.type.prefix){var e=this.startNode();var m=this.type===c.types.incDec;e.operator=this.value;e.prefix=!0;this.next();e.argument=this.parseMaybeUnary(null,!0);this.checkExpressionErrors(b,
!0);m?this.checkLVal(e.argument):this.strict&&"delete"===e.operator&&"Identifier"===e.argument.type?this.raiseRecoverable(e.start,"Deleting local variable in strict mode"):a=!0;m=this.finishNode(e,m?"UpdateExpression":"UnaryExpression")}else{m=this.parseExprSubscripts(b);if(this.checkExpressionErrors(b))return m;for(;this.type.postfix&&!this.canInsertSemicolon();)e=this.startNodeAt(d,n),e.operator=this.value,e.prefix=!1,e.argument=m,this.checkLVal(m),this.next(),m=this.finishNode(e,"UpdateExpression")}return!a&&
this.eat(c.types.starstar)?this.buildBinary(d,n,m,this.parseMaybeUnary(null,!1),"**",!1):m};a.parseExprSubscripts=function(b){var c=this.start,a=this.startLoc,n=this.parseExprAtom(b),e="ArrowFunctionExpression"===n.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd);return this.checkExpressionErrors(b)||e?n:this.parseSubscripts(n,c,a)};a.parseSubscripts=function(b,a,h,n){for(var e;;)if(this.eat(c.types.dot))e=this.startNodeAt(a,h),e.object=b,e.property=this.parseIdent(!0),e.computed=!1,
b=this.finishNode(e,"MemberExpression");else if(this.eat(c.types.bracketL))e=this.startNodeAt(a,h),e.object=b,e.property=this.parseExpression(),e.computed=!0,this.expect(c.types.bracketR),b=this.finishNode(e,"MemberExpression");else if(!n&&this.eat(c.types.parenL))e=this.startNodeAt(a,h),e.callee=b,e.arguments=this.parseExprList(c.types.parenR,!1),b=this.finishNode(e,"CallExpression");else if(this.type===c.types.backQuote)e=this.startNodeAt(a,h),e.tag=b,e.quasi=this.parseTemplate(),b=this.finishNode(e,
"TaggedTemplateExpression");else return b};a.parseExprAtom=function(b){var a=this.potentialArrowAt==this.start;switch(this.type){case c.types._super:this.inFunction||this.raise(this.start,"'super' outside of function or class");case c.types._this:return b=this.type===c.types._this?"ThisExpression":"Super",a=this.startNode(),this.next(),this.finishNode(a,b);case c.types.name:b=this.start;var h=this.startLoc,n=this.parseIdent(this.type!==c.types.name);return a&&!this.canInsertSemicolon()&&this.eat(c.types.arrow)?
this.parseArrowExpression(this.startNodeAt(b,h),[n]):n;case c.types.regexp:return b=this.value,a=this.parseLiteral(b.value),a.regex={pattern:b.pattern,flags:b.flags},a;case c.types.num:case c.types.string:return this.parseLiteral(this.value);case c.types._null:case c.types._true:case c.types._false:return a=this.startNode(),a.value=this.type===c.types._null?null:this.type===c.types._true,a.raw=this.type.keyword,this.next(),this.finishNode(a,"Literal");case c.types.parenL:return this.parseParenAndDistinguishExpression(a);
case c.types.bracketL:return a=this.startNode(),this.next(),a.elements=this.parseExprList(c.types.bracketR,!0,!0,b),this.finishNode(a,"ArrayExpression");case c.types.braceL:return this.parseObj(!1,b);case c.types._function:return a=this.startNode(),this.next(),this.parseFunction(a,!1);case c.types._class:return this.parseClass(this.startNode(),!1);case c.types._new:return this.parseNew();case c.types.backQuote:return this.parseTemplate();default:this.unexpected()}};a.parseLiteral=function(b){var a=
this.startNode();a.value=b;a.raw=this.input.slice(this.start,this.end);this.next();return this.finishNode(a,"Literal")};a.parseParenExpression=function(){this.expect(c.types.parenL);var b=this.parseExpression();this.expect(c.types.parenR);return b};a.parseParenAndDistinguishExpression=function(b){var a=this.start,h=this.startLoc;if(6<=this.options.ecmaVersion){this.next();for(var n=this.start,e=this.startLoc,m=[],p=!0,g={shorthandAssign:0,trailingComma:0},k=void 0,q=void 0;this.type!==c.types.parenR;)if(p?
p=!1:this.expect(c.types.comma),this.type===c.types.ellipsis){k=this.start;m.push(this.parseParenItem(this.parseRest()));break}else this.type!==c.types.parenL||q||(q=this.start),m.push(this.parseMaybeAssign(!1,g,this.parseParenItem));var p=this.start,f=this.startLoc;this.expect(c.types.parenR);if(b&&!this.canInsertSemicolon()&&this.eat(c.types.arrow))return this.checkPatternErrors(g,!0),q&&this.unexpected(q),this.parseParenArrowList(a,h,m);m.length||this.unexpected(this.lastTokStart);k&&this.unexpected(k);
this.checkExpressionErrors(g,!0);1<m.length?(b=this.startNodeAt(n,e),b.expressions=m,this.finishNodeAt(b,"SequenceExpression",p,f)):b=m[0]}else b=this.parseParenExpression();return this.options.preserveParens?(a=this.startNodeAt(a,h),a.expression=b,this.finishNode(a,"ParenthesizedExpression")):b};a.parseParenItem=function(b){return b};a.parseParenArrowList=function(b,a,c){return this.parseArrowExpression(this.startNodeAt(b,a),c)};var g=[];a.parseNew=function(){var b=this.startNode(),a=this.parseIdent(!0);
if(6<=this.options.ecmaVersion&&this.eat(c.types.dot))return b.meta=a,b.property=this.parseIdent(!0),"target"!==b.property.name&&this.raiseRecoverable(b.property.start,"The only valid meta property for new is new.target"),this.inFunction||this.raiseRecoverable(b.start,"new.target can only be used in functions"),this.finishNode(b,"MetaProperty");var a=this.start,h=this.startLoc;b.callee=this.parseSubscripts(this.parseExprAtom(),a,h,!0);this.eat(c.types.parenL)?b.arguments=this.parseExprList(c.types.parenR,
!1):b.arguments=g;return this.finishNode(b,"NewExpression")};a.parseTemplateElement=function(){var b=this.startNode();b.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value};this.next();b.tail=this.type===c.types.backQuote;return this.finishNode(b,"TemplateElement")};a.parseTemplate=function(){var b=this.startNode();this.next();b.expressions=[];var a=this.parseTemplateElement();for(b.quasis=[a];!a.tail;)this.expect(c.types.dollarBraceL),b.expressions.push(this.parseExpression()),
this.expect(c.types.braceR),b.quasis.push(a=this.parseTemplateElement());this.next();return this.finishNode(b,"TemplateLiteral")};a.parseObj=function(b,a){var d=this.startNode(),n=!0,e={};d.properties=[];for(this.next();!this.eat(c.types.braceR);){if(n)n=!1;else if(this.expect(c.types.comma),this.afterTrailingComma(c.types.braceR))break;var m=this.startNode(),p=void 0,g=void 0,k=void 0;if(6<=this.options.ecmaVersion){m.method=!1;m.shorthand=!1;if(b||a)g=this.start,k=this.startLoc;b||(p=this.eat(c.types.star))}this.parsePropertyName(m);
this.parsePropertyValue(m,b,p,g,k,a);this.checkPropClash(m,e);d.properties.push(this.finishNode(m,"Property"))}return this.finishNode(d,b?"ObjectPattern":"ObjectExpression")};a.parsePropertyValue=function(b,a,h,n,e,m){this.eat(c.types.colon)?(b.value=a?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,m),b.kind="init"):6<=this.options.ecmaVersion&&this.type===c.types.parenL?(a&&this.unexpected(),b.kind="init",b.method=!0,b.value=this.parseMethod(h)):5<=this.options.ecmaVersion&&
!b.computed&&"Identifier"===b.key.type&&("get"===b.key.name||"set"===b.key.name)&&this.type!=c.types.comma&&this.type!=c.types.braceR?((h||a)&&this.unexpected(),b.kind=b.key.name,this.parsePropertyName(b),b.value=this.parseMethod(!1),b.value.params.length!==("get"===b.kind?0:1)&&(a=b.value.start,"get"===b.kind?this.raiseRecoverable(a,"getter should have no params"):this.raiseRecoverable(a,"setter should have exactly one param")),"set"===b.kind&&"RestElement"===b.value.params[0].type&&this.raiseRecoverable(b.value.params[0].start,
"Setter cannot use rest params")):6<=this.options.ecmaVersion&&!b.computed&&"Identifier"===b.key.type?(b.kind="init",a?((this.keywords.test(b.key.name)||(this.strict?this.reservedWordsStrictBind:this.reservedWords).test(b.key.name)||this.inGenerator&&"yield"==b.key.name)&&this.raiseRecoverable(b.key.start,"Binding "+b.key.name),b.value=this.parseMaybeDefault(n,e,b.key)):this.type===c.types.eq&&m?(m.shorthandAssign||(m.shorthandAssign=this.start),b.value=this.parseMaybeDefault(n,e,b.key)):b.value=
b.key,b.shorthand=!0):this.unexpected()};a.parsePropertyName=function(b){if(6<=this.options.ecmaVersion){if(this.eat(c.types.bracketL))return b.computed=!0,b.key=this.parseMaybeAssign(),this.expect(c.types.bracketR),b.key;b.computed=!1}return b.key=this.type===c.types.num||this.type===c.types.string?this.parseExprAtom():this.parseIdent(!0)};a.initFunction=function(b){b.id=null;6<=this.options.ecmaVersion&&(b.generator=!1,b.expression=!1)};a.parseMethod=function(b){var a=this.startNode(),h=this.inGenerator;
this.inGenerator=b;this.initFunction(a);this.expect(c.types.parenL);a.params=this.parseBindingList(c.types.parenR,!1,!1);6<=this.options.ecmaVersion&&(a.generator=b);this.parseFunctionBody(a,!1);this.inGenerator=h;return this.finishNode(a,"FunctionExpression")};a.parseArrowExpression=function(b,a){var c=this.inGenerator;this.inGenerator=!1;this.initFunction(b);b.params=this.toAssignableList(a,!0);this.parseFunctionBody(b,!0);this.inGenerator=c;return this.finishNode(b,"ArrowFunctionExpression")};
a.parseFunctionBody=function(b,a){var d=a&&this.type!==c.types.braceL;if(d)b.body=this.parseMaybeAssign(),b.expression=!0;else{var n=this.inFunction,e=this.labels;this.inFunction=!0;this.labels=[];b.body=this.parseBlock(!0);b.expression=!1;this.inFunction=n;this.labels=e}this.strict||!d&&b.body.body.length&&this.isUseStrict(b.body.body[0])?(d=this.strict,this.strict=!0,b.id&&this.checkLVal(b.id,!0),this.checkParams(b),this.strict=d):a&&this.checkParams(b)};a.checkParams=function(b){for(var a={},c=
0;c<b.params.length;c++)this.checkLVal(b.params[c],!0,a)};a.parseExprList=function(b,a,h,n){for(var e=[],d=!0;!this.eat(b);){if(d)d=!1;else if(this.expect(c.types.comma),a&&this.afterTrailingComma(b))break;if(h&&this.type===c.types.comma)var p=null;else this.type===c.types.ellipsis?(p=this.parseSpread(n),this.type===c.types.comma&&n&&!n.trailingComma&&(n.trailingComma=this.lastTokStart)):p=this.parseMaybeAssign(!1,n);e.push(p)}return e};a.parseIdent=function(b){var a=this.startNode();b&&"never"==
this.options.allowReserved&&(b=!1);this.type===c.types.name?(!b&&(this.strict?this.reservedWordsStrict:this.reservedWords).test(this.value)&&(6<=this.options.ecmaVersion||-1==this.input.slice(this.start,this.end).indexOf("\\"))&&this.raiseRecoverable(this.start,"The keyword '"+this.value+"' is reserved"),!b&&this.inGenerator&&"yield"===this.value&&this.raiseRecoverable(this.start,"Can not use 'yield' as identifier inside a generator"),a.name=this.value):b&&this.type.keyword?a.name=this.type.keyword:
this.unexpected();this.next();return this.finishNode(a,"Identifier")};a.parseYield=function(){var b=this.startNode();this.next();this.type==c.types.semi||this.canInsertSemicolon()||this.type!=c.types.star&&!this.type.startsExpr?(b.delegate=!1,b.argument=null):(b.delegate=this.eat(c.types.star),b.argument=this.parseMaybeAssign());return this.finishNode(b,"YieldExpression")}},{"./state":10,"./tokentype":14}],2:[function(a,l,f){function c(b,a){for(var e=65536,c=0;c<a.length;c+=2){e+=a[c];if(e>b)return!1;
e+=a[c+1];if(e>=b)return!0}}f.__esModule=!0;f.isIdentifierStart=function(b,a){return 65>b?36===b:91>b?!0:97>b?95===b:123>b?!0:65535>=b?170<=b&&g.test(String.fromCharCode(b)):!1===a?!1:c(b,d)};f.isIdentifierChar=function(a,e){return 48>a?36===a:58>a?!0:65>a?!1:91>a?!0:97>a?95===a:123>a?!0:65535>=a?170<=a&&b.test(String.fromCharCode(a)):!1===e?!1:c(a,d)||c(a,h)};f.reservedWords={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",
5:"class enum extends super const export import",6:"enum",7:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"};f.keywords={5:"break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",6:"break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this const class extends export import super"};
a="\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0-\u08b4\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fd5\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ad\ua7b0-\ua7b7\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab65\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
var g=new RegExp("["+a+"]"),b=new RegExp("["+a+"\u200c\u200d\u00b7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d01-\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2-\u1cf4\u1cf8\u1cf9\u1dc0-\u1df5\u1dfc-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f1\ua900-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f]");
a=null;var d=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,17,26,6,37,11,29,3,35,5,7,2,4,43,157,99,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,26,45,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,785,52,76,44,33,24,27,35,42,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,287,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,25,391,63,32,0,449,56,1288,
921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,881,68,12,0,67,12,16481,1,3071,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,1340,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,10591,541],h=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,
41,2,5,0,166,1,1306,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,52,0,13,2,49,13,10,2,4,9,83,11,168,11,6,9,7,3,57,0,2,6,3,1,3,2,10,0,11,1,3,6,4,4,316,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,423,9,20855,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,3617,6,792618,239]},{}],3:[function(a,l,f){f.__esModule=!0;f.parse=function(a,b){return(new c.Parser(b,a)).parse()};f.parseExpressionAt=function(a,b,d){a=new c.Parser(d,a,b);a.nextToken();
return a.parseExpression()};f.tokenizer=function(a,b){return new c.Parser(b,a)};var c=a("./state");a("./parseutil");a("./statement");a("./lval");a("./expression");a("./location");f.Parser=c.Parser;f.plugins=c.plugins;l=a("./options");f.defaultOptions=l.defaultOptions;l=a("./locutil");f.Position=l.Position;f.SourceLocation=l.SourceLocation;f.getLineInfo=l.getLineInfo;l=a("./node");f.Node=l.Node;l=a("./tokentype");f.TokenType=l.TokenType;f.tokTypes=l.types;l=a("./tokencontext");f.TokContext=l.TokContext;
f.tokContexts=l.types;l=a("./identifier");f.isIdentifierChar=l.isIdentifierChar;f.isIdentifierStart=l.isIdentifierStart;l=a("./tokenize");f.Token=l.Token;a=a("./whitespace");f.isNewLine=a.isNewLine;f.lineBreak=a.lineBreak;f.lineBreakG=a.lineBreakG;f.version="3.1.0"},{"./expression":1,"./identifier":2,"./location":4,"./locutil":5,"./lval":6,"./node":7,"./options":8,"./parseutil":9,"./state":10,"./statement":11,"./tokencontext":12,"./tokenize":13,"./tokentype":14,"./whitespace":16}],4:[function(a,l,
f){l=a("./state");var c=a("./locutil");a=l.Parser.prototype;a.raise=function(a,b){var d=c.getLineInfo(this.input,a);b+=" ("+d.line+":"+d.column+")";var h=new SyntaxError(b);h.pos=a;h.loc=d;h.raisedAt=this.pos;throw h;};a.raiseRecoverable=a.raise;a.curPosition=function(){if(this.options.locations)return new c.Position(this.curLine,this.pos-this.lineStart)}},{"./locutil":5,"./state":10}],5:[function(a,l,f){function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
}f.__esModule=!0;f.getLineInfo=function(a,c){for(var d=1,e=0;;){g.lineBreakG.lastIndex=e;var m=g.lineBreakG.exec(a);if(m&&m.index<c)++d,e=m.index+m[0].length;else return new b(d,c-e)}};var g=a("./whitespace"),b=function(){function a(b,d){c(this,a);this.line=b;this.column=d}a.prototype.offset=function(b){return new a(this.line,this.column+b)};return a}();f.Position=b;f.SourceLocation=function h(a,b,m){c(this,h);this.start=b;this.end=m;null!==a.sourceFile&&(this.source=a.sourceFile)}},{"./whitespace":16}],
6:[function(a,l,f){var c=a("./tokentype");l=a("./state");var g=a("./util");a=l.Parser.prototype;a.toAssignable=function(a,c){if(6<=this.options.ecmaVersion&&a)switch(a.type){case "Identifier":case "ObjectPattern":case "ArrayPattern":break;case "ObjectExpression":a.type="ObjectPattern";for(var b=0;b<a.properties.length;b++){var d=a.properties[b];"init"!==d.kind&&this.raise(d.key.start,"Object pattern can't contain getter or setter");this.toAssignable(d.value,c)}break;case "ArrayExpression":a.type=
"ArrayPattern";this.toAssignableList(a.elements,c);break;case "AssignmentExpression":if("="===a.operator)a.type="AssignmentPattern",delete a.operator;else{this.raise(a.left.end,"Only '=' operator can be used for specifying default value.");break}case "AssignmentPattern":"YieldExpression"===a.right.type&&this.raise(a.right.start,"Yield expression cannot be a default value");break;case "ParenthesizedExpression":a.expression=this.toAssignable(a.expression,c);break;case "MemberExpression":if(!c)break;
default:this.raise(a.start,"Assigning to rvalue")}return a};a.toAssignableList=function(a,c){var b=a.length;if(b){var d=a[b-1];if(d&&"RestElement"==d.type)--b;else if(d&&"SpreadElement"==d.type){d.type="RestElement";var e=d.argument;this.toAssignable(e,c);"Identifier"!==e.type&&"MemberExpression"!==e.type&&"ArrayPattern"!==e.type&&this.unexpected(e.start);--b}c&&"RestElement"===d.type&&"Identifier"!==d.argument.type&&this.unexpected(d.argument.start)}for(d=0;d<b;d++)(e=a[d])&&this.toAssignable(e,
c);return a};a.parseSpread=function(a){var b=this.startNode();this.next();b.argument=this.parseMaybeAssign(a);return this.finishNode(b,"SpreadElement")};a.parseRest=function(a){var b=this.startNode();this.next();b.argument=a?this.type===c.types.name?this.parseIdent():this.unexpected():this.type===c.types.name||this.type===c.types.bracketL?this.parseBindingAtom():this.unexpected();return this.finishNode(b,"RestElement")};a.parseBindingAtom=function(){if(6>this.options.ecmaVersion)return this.parseIdent();
switch(this.type){case c.types.name:return this.parseIdent();case c.types.bracketL:var a=this.startNode();this.next();a.elements=this.parseBindingList(c.types.bracketR,!0,!0);return this.finishNode(a,"ArrayPattern");case c.types.braceL:return this.parseObj(!0);default:this.unexpected()}};a.parseBindingList=function(a,d,h,n){for(var b=[],m=!0;!this.eat(a);)if(m?m=!1:this.expect(c.types.comma),d&&this.type===c.types.comma)b.push(null);else if(h&&this.afterTrailingComma(a))break;else if(this.type===
c.types.ellipsis){d=this.parseRest(n);this.parseBindingListItem(d);b.push(d);this.type===c.types.comma&&this.raise(this.start,"Comma is not permitted after the rest element");this.expect(a);break}else{var p=this.parseMaybeDefault(this.start,this.startLoc);this.parseBindingListItem(p);b.push(p)}return b};a.parseBindingListItem=function(a){return a};a.parseMaybeDefault=function(a,d,h){h=h||this.parseBindingAtom();if(6>this.options.ecmaVersion||!this.eat(c.types.eq))return h;a=this.startNodeAt(a,d);
a.left=h;a.right=this.parseMaybeAssign();return this.finishNode(a,"AssignmentPattern")};a.checkLVal=function(a,c,h){switch(a.type){case "Identifier":this.strict&&this.reservedWordsStrictBind.test(a.name)&&this.raiseRecoverable(a.start,(c?"Binding ":"Assigning to ")+a.name+" in strict mode");h&&(g.has(h,a.name)&&this.raiseRecoverable(a.start,"Argument name clash"),h[a.name]=!0);break;case "MemberExpression":c&&this.raiseRecoverable(a.start,(c?"Binding":"Assigning to")+" member expression");break;case "ObjectPattern":for(var b=
0;b<a.properties.length;b++)this.checkLVal(a.properties[b].value,c,h);break;case "ArrayPattern":for(b=0;b<a.elements.length;b++){var e=a.elements[b];e&&this.checkLVal(e,c,h)}break;case "AssignmentPattern":this.checkLVal(a.left,c,h);break;case "RestElement":this.checkLVal(a.argument,c,h);break;case "ParenthesizedExpression":this.checkLVal(a.expression,c,h);break;default:this.raise(a.start,(c?"Binding":"Assigning to")+" rvalue")}}},{"./state":10,"./tokentype":14,"./util":15}],7:[function(a,l,f){function c(a,
b,c,e){a.type=b;a.end=c;this.options.locations&&(a.loc.end=e);this.options.ranges&&(a.range[1]=c);return a}f.__esModule=!0;l=a("./state");var g=a("./locutil"),b=function h(a,b,c){if(!(this instanceof h))throw new TypeError("Cannot call a class as a function");this.type="";this.start=b;this.end=0;a.options.locations&&(this.loc=new g.SourceLocation(a,c));a.options.directSourceFile&&(this.sourceFile=a.options.directSourceFile);a.options.ranges&&(this.range=[b,0])};f.Node=b;a=l.Parser.prototype;a.startNode=
function(){return new b(this,this.start,this.startLoc)};a.startNodeAt=function(a,c){return new b(this,a,c)};a.finishNode=function(a,b){return c.call(this,a,b,this.lastTokEnd,this.lastTokEndLoc)};a.finishNodeAt=function(a,b,e,m){return c.call(this,a,b,e,m)}},{"./locutil":5,"./state":10}],8:[function(a,l,f){function c(a,c){return function(e,m,d,h,k,q){e={type:e?"Block":"Line",value:m,start:d,end:h};a.locations&&(e.loc=new b.SourceLocation(this,k,q));a.ranges&&(e.range=[d,h]);c.push(e)}}f.__esModule=
!0;f.getOptions=function(a){var b={},e;for(e in d)b[e]=a&&g.has(a,e)?a[e]:d[e];null==b.allowReserved&&(b.allowReserved=5>b.ecmaVersion);g.isArray(b.onToken)&&function(){var a=b.onToken;b.onToken=function(b){return a.push(b)}}();g.isArray(b.onComment)&&(b.onComment=c(b,b.onComment));return b};var g=a("./util"),b=a("./locutil"),d={ecmaVersion:6,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowHashBang:!1,
locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1,plugins:{}};f.defaultOptions=d},{"./locutil":5,"./util":15}],9:[function(a,l,f){var c=a("./tokentype");l=a("./state");var g=a("./whitespace");a=l.Parser.prototype;a.isUseStrict=function(a){return 5<=this.options.ecmaVersion&&"ExpressionStatement"===a.type&&"Literal"===a.expression.type&&"use strict"===a.expression.raw.slice(1,-1)};a.eat=function(a){return this.type===a?(this.next(),
!0):!1};a.isContextual=function(a){return this.type===c.types.name&&this.value===a};a.eatContextual=function(a){return this.value===a&&this.eat(c.types.name)};a.expectContextual=function(a){this.eatContextual(a)||this.unexpected()};a.canInsertSemicolon=function(){return this.type===c.types.eof||this.type===c.types.braceR||g.lineBreak.test(this.input.slice(this.lastTokEnd,this.start))};a.insertSemicolon=function(){if(this.canInsertSemicolon()){if(this.options.onInsertedSemicolon)this.options.onInsertedSemicolon(this.lastTokEnd,
this.lastTokEndLoc);return!0}};a.semicolon=function(){this.eat(c.types.semi)||this.insertSemicolon()||this.unexpected()};a.afterTrailingComma=function(a){if(this.type==a){if(this.options.onTrailingComma)this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc);this.next();return!0}};a.expect=function(a){this.eat(a)||this.unexpected()};a.unexpected=function(a){this.raise(null!=a?a:this.start,"Unexpected token")};a.checkPatternErrors=function(a,c){var b=a&&a.trailingComma;if(!c)return!!b;
b&&this.raise(b,"Comma is not permitted after the rest element")};a.checkExpressionErrors=function(a,c){var b=a&&a.shorthandAssign;if(!c)return!!b;b&&this.raise(b,"Shorthand property assignments are valid only in destructuring patterns")}},{"./state":10,"./tokentype":14,"./whitespace":16}],10:[function(a,l,f){function c(a){return new RegExp("^("+a.replace(/ /g,"|")+")$")}f.__esModule=!0;var g=a("./identifier"),b=a("./tokentype"),d=a("./whitespace"),h=a("./options"),n={};f.plugins=n;a=function(){function a(e,
p,f){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.options=e=h.getOptions(e);this.sourceFile=e.sourceFile;this.keywords=c(g.keywords[6<=e.ecmaVersion?6:5]);var k=e.allowReserved?"":g.reservedWords[e.ecmaVersion]+("module"==e.sourceType?" await":"");this.reservedWords=c(k);k=(k?k+" ":"")+g.reservedWords.strict;this.reservedWordsStrict=c(k);this.reservedWordsStrictBind=c(k+" "+g.reservedWords.strictBind);this.input=String(p);this.containsEsc=!1;this.loadPlugins(e.plugins);
f?(this.pos=f,this.lineStart=Math.max(0,this.input.lastIndexOf("\n",f)),this.curLine=this.input.slice(0,this.lineStart).split(d.lineBreak).length):(this.pos=this.lineStart=0,this.curLine=1);this.type=b.types.eof;this.value=null;this.start=this.end=this.pos;this.startLoc=this.endLoc=this.curPosition();this.lastTokEndLoc=this.lastTokStartLoc=null;this.lastTokStart=this.lastTokEnd=this.pos;this.context=this.initialContext();this.exprAllowed=!0;this.strict=this.inModule="module"===e.sourceType;this.potentialArrowAt=
-1;this.inFunction=this.inGenerator=!1;this.labels=[];0===this.pos&&e.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2)}a.prototype.isKeyword=function(a){return this.keywords.test(a)};a.prototype.isReservedWord=function(a){return this.reservedWords.test(a)};a.prototype.extend=function(a,b){this[a]=b(this[a])};a.prototype.loadPlugins=function(a){for(var b in a){var c=n[b];if(!c)throw Error("Plugin '"+b+"' not found");c(this,a[b])}};a.prototype.parse=function(){var a=this.options.program||
this.startNode();this.nextToken();return this.parseTopLevel(a)};return a}();f.Parser=a},{"./identifier":2,"./options":8,"./tokentype":14,"./whitespace":16}],11:[function(a,l,f){var c=a("./tokentype");l=a("./state");var g=a("./whitespace"),b=a("./identifier");a=l.Parser.prototype;a.parseTopLevel=function(a){var b=!0;a.body||(a.body=[]);for(;this.type!==c.types.eof;){var e=this.parseStatement(!0,!0);a.body.push(e);b&&(this.isUseStrict(e)&&this.setStrict(!0),b=!1)}this.next();6<=this.options.ecmaVersion&&
(a.sourceType=this.options.sourceType);return this.finishNode(a,"Program")};var d={kind:"loop"},h={kind:"switch"};a.isLet=function(){if(this.type!==c.types.name||6>this.options.ecmaVersion||"let"!=this.value)return!1;g.skipWhiteSpace.lastIndex=this.pos;var a=g.skipWhiteSpace.exec(this.input),a=this.pos+a[0].length,d=this.input.charCodeAt(a);if(91===d||123==d)return!0;if(b.isIdentifierStart(d,!0)){for(d=a+1;b.isIdentifierChar(this.input.charCodeAt(d,!0));++d);a=this.input.slice(a,d);if(!this.isKeyword(a))return!0}return!1};
a.parseStatement=function(a,b){var e=this.type,d=this.startNode(),k=void 0;this.isLet()&&(e=c.types._var,k="let");switch(e){case c.types._break:case c.types._continue:return this.parseBreakContinueStatement(d,e.keyword);case c.types._debugger:return this.parseDebuggerStatement(d);case c.types._do:return this.parseDoStatement(d);case c.types._for:return this.parseForStatement(d);case c.types._function:return!a&&6<=this.options.ecmaVersion&&this.unexpected(),this.parseFunctionStatement(d);case c.types._class:return a||
this.unexpected(),this.parseClass(d,!0);case c.types._if:return this.parseIfStatement(d);case c.types._return:return this.parseReturnStatement(d);case c.types._switch:return this.parseSwitchStatement(d);case c.types._throw:return this.parseThrowStatement(d);case c.types._try:return this.parseTryStatement(d);case c.types._const:case c.types._var:return k=k||this.value,a||"var"==k||this.unexpected(),this.parseVarStatement(d,k);case c.types._while:return this.parseWhileStatement(d);case c.types._with:return this.parseWithStatement(d);
case c.types.braceL:return this.parseBlock();case c.types.semi:return this.parseEmptyStatement(d);case c.types._export:case c.types._import:return this.options.allowImportExportEverywhere||(b||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),e===c.types._import?this.parseImport(d):this.parseExport(d);default:var k=this.value,m=this.parseExpression();return e===c.types.name&&
"Identifier"===m.type&&this.eat(c.types.colon)?this.parseLabeledStatement(d,k,m):this.parseExpressionStatement(d,m)}};a.parseBreakContinueStatement=function(a,b){var e="break"==b;this.next();this.eat(c.types.semi)||this.insertSemicolon()?a.label=null:this.type!==c.types.name?this.unexpected():(a.label=this.parseIdent(),this.semicolon());for(var d=0;d<this.labels.length;++d){var k=this.labels[d];if(null==a.label||k.name===a.label.name){if(null!=k.kind&&(e||"loop"===k.kind))break;if(a.label&&e)break}}d===
this.labels.length&&this.raise(a.start,"Unsyntactic "+b);return this.finishNode(a,e?"BreakStatement":"ContinueStatement")};a.parseDebuggerStatement=function(a){this.next();this.semicolon();return this.finishNode(a,"DebuggerStatement")};a.parseDoStatement=function(a){this.next();this.labels.push(d);a.body=this.parseStatement(!1);this.labels.pop();this.expect(c.types._while);a.test=this.parseParenExpression();6<=this.options.ecmaVersion?this.eat(c.types.semi):this.semicolon();return this.finishNode(a,
"DoWhileStatement")};a.parseForStatement=function(a){this.next();this.labels.push(d);this.expect(c.types.parenL);if(this.type===c.types.semi)return this.parseFor(a,null);var b=this.isLet();if(this.type===c.types._var||this.type===c.types._const||b){var e=this.startNode(),b=b?"let":this.value;this.next();this.parseVar(e,!0,b);this.finishNode(e,"VariableDeclaration");return!(this.type===c.types._in||6<=this.options.ecmaVersion&&this.isContextual("of"))||1!==e.declarations.length||"var"!==b&&e.declarations[0].init?
this.parseFor(a,e):this.parseForIn(a,e)}e={shorthandAssign:0,trailingComma:0};b=this.parseExpression(!0,e);if(this.type===c.types._in||6<=this.options.ecmaVersion&&this.isContextual("of"))return this.checkPatternErrors(e,!0),this.toAssignable(b),this.checkLVal(b),this.parseForIn(a,b);this.checkExpressionErrors(e,!0);return this.parseFor(a,b)};a.parseFunctionStatement=function(a){this.next();return this.parseFunction(a,!0)};a.parseIfStatement=function(a){this.next();a.test=this.parseParenExpression();
a.consequent=this.parseStatement(!1);a.alternate=this.eat(c.types._else)?this.parseStatement(!1):null;return this.finishNode(a,"IfStatement")};a.parseReturnStatement=function(a){this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function");this.next();this.eat(c.types.semi)||this.insertSemicolon()?a.argument=null:(a.argument=this.parseExpression(),this.semicolon());return this.finishNode(a,"ReturnStatement")};a.parseSwitchStatement=function(a){this.next();
a.discriminant=this.parseParenExpression();a.cases=[];this.expect(c.types.braceL);this.labels.push(h);for(var b,e=!1;this.type!=c.types.braceR;)if(this.type===c.types._case||this.type===c.types._default){var d=this.type===c.types._case;b&&this.finishNode(b,"SwitchCase");a.cases.push(b=this.startNode());b.consequent=[];this.next();d?b.test=this.parseExpression():(e&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),e=!0,b.test=null);this.expect(c.types.colon)}else b||this.unexpected(),
b.consequent.push(this.parseStatement(!0));b&&this.finishNode(b,"SwitchCase");this.next();this.labels.pop();return this.finishNode(a,"SwitchStatement")};a.parseThrowStatement=function(a){this.next();g.lineBreak.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw");a.argument=this.parseExpression();this.semicolon();return this.finishNode(a,"ThrowStatement")};var n=[];a.parseTryStatement=function(a){this.next();a.block=this.parseBlock();a.handler=
null;if(this.type===c.types._catch){var b=this.startNode();this.next();this.expect(c.types.parenL);b.param=this.parseBindingAtom();this.checkLVal(b.param,!0);this.expect(c.types.parenR);b.body=this.parseBlock();a.handler=this.finishNode(b,"CatchClause")}a.finalizer=this.eat(c.types._finally)?this.parseBlock():null;a.handler||a.finalizer||this.raise(a.start,"Missing catch or finally clause");return this.finishNode(a,"TryStatement")};a.parseVarStatement=function(a,b){this.next();this.parseVar(a,!1,
b);this.semicolon();return this.finishNode(a,"VariableDeclaration")};a.parseWhileStatement=function(a){this.next();a.test=this.parseParenExpression();this.labels.push(d);a.body=this.parseStatement(!1);this.labels.pop();return this.finishNode(a,"WhileStatement")};a.parseWithStatement=function(a){this.strict&&this.raise(this.start,"'with' in strict mode");this.next();a.object=this.parseParenExpression();a.body=this.parseStatement(!1);return this.finishNode(a,"WithStatement")};a.parseEmptyStatement=
function(a){this.next();return this.finishNode(a,"EmptyStatement")};a.parseLabeledStatement=function(a,b,d){for(var e=0;e<this.labels.length;++e)this.labels[e].name===b&&this.raise(d.start,"Label '"+b+"' is already declared");for(var k=this.type.isLoop?"loop":this.type===c.types._switch?"switch":null,e=this.labels.length-1;0<=e;e--){var q=this.labels[e];if(q.statementStart==a.start)q.statementStart=this.start,q.kind=k;else break}this.labels.push({name:b,kind:k,statementStart:this.start});a.body=this.parseStatement(!0);
this.labels.pop();a.label=d;return this.finishNode(a,"LabeledStatement")};a.parseExpressionStatement=function(a,b){a.expression=b;this.semicolon();return this.finishNode(a,"ExpressionStatement")};a.parseBlock=function(a){var b=this.startNode(),e=!0,d=void 0;b.body=[];for(this.expect(c.types.braceL);!this.eat(c.types.braceR);){var k=this.parseStatement(!0);b.body.push(k);e&&a&&this.isUseStrict(k)&&(d=this.strict,this.setStrict(this.strict=!0));e=!1}!1===d&&this.setStrict(!1);return this.finishNode(b,
"BlockStatement")};a.parseFor=function(a,b){a.init=b;this.expect(c.types.semi);a.test=this.type===c.types.semi?null:this.parseExpression();this.expect(c.types.semi);a.update=this.type===c.types.parenR?null:this.parseExpression();this.expect(c.types.parenR);a.body=this.parseStatement(!1);this.labels.pop();return this.finishNode(a,"ForStatement")};a.parseForIn=function(a,b){var e=this.type===c.types._in?"ForInStatement":"ForOfStatement";this.next();a.left=b;a.right=this.parseExpression();this.expect(c.types.parenR);
a.body=this.parseStatement(!1);this.labels.pop();return this.finishNode(a,e)};a.parseVar=function(a,b,d){a.declarations=[];for(a.kind=d;;){var e=this.startNode();this.parseVarId(e);this.eat(c.types.eq)?e.init=this.parseMaybeAssign(b):"const"!==d||this.type===c.types._in||6<=this.options.ecmaVersion&&this.isContextual("of")?"Identifier"==e.id.type||b&&(this.type===c.types._in||this.isContextual("of"))?e.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):
this.unexpected();a.declarations.push(this.finishNode(e,"VariableDeclarator"));if(!this.eat(c.types.comma))break}return a};a.parseVarId=function(a){a.id=this.parseBindingAtom();this.checkLVal(a.id,!0)};a.parseFunction=function(a,b,d){this.initFunction(a);6<=this.options.ecmaVersion&&(a.generator=this.eat(c.types.star));var e=this.inGenerator;this.inGenerator=a.generator;if(b||this.type===c.types.name)a.id=this.parseIdent();this.parseFunctionParams(a);this.parseFunctionBody(a,d);this.inGenerator=e;
return this.finishNode(a,b?"FunctionDeclaration":"FunctionExpression")};a.parseFunctionParams=function(a){this.expect(c.types.parenL);a.params=this.parseBindingList(c.types.parenR,!1,!1,!0)};a.parseClass=function(a,b){this.next();this.parseClassId(a,b);this.parseClassSuper(a);var e=this.startNode(),d=!1;e.body=[];for(this.expect(c.types.braceL);!this.eat(c.types.braceR);)if(!this.eat(c.types.semi)){var k=this.startNode(),q=this.eat(c.types.star),h=this.type===c.types.name&&"static"===this.value;this.parsePropertyName(k);
k["static"]=h&&this.type!==c.types.parenL;k["static"]&&(q&&this.unexpected(),q=this.eat(c.types.star),this.parsePropertyName(k));k.kind="method";h=!1;if(!k.computed){var f=k.key;q||"Identifier"!==f.type||this.type===c.types.parenL||"get"!==f.name&&"set"!==f.name||(h=!0,k.kind=f.name,f=this.parsePropertyName(k));!k["static"]&&("Identifier"===f.type&&"constructor"===f.name||"Literal"===f.type&&"constructor"===f.value)&&(d&&this.raise(f.start,"Duplicate constructor in the same class"),h&&this.raise(f.start,
"Constructor can't have get/set modifier"),q&&this.raise(f.start,"Constructor can't be a generator"),k.kind="constructor",d=!0)}this.parseClassMethod(e,k,q);h&&(k.value.params.length!==("get"===k.kind?0:1)&&(q=k.value.start,"get"===k.kind?this.raiseRecoverable(q,"getter should have no params"):this.raiseRecoverable(q,"setter should have exactly one param")),"set"===k.kind&&"RestElement"===k.value.params[0].type&&this.raise(k.value.params[0].start,"Setter cannot use rest params"))}a.body=this.finishNode(e,
"ClassBody");return this.finishNode(a,b?"ClassDeclaration":"ClassExpression")};a.parseClassMethod=function(a,b,c){b.value=this.parseMethod(c);a.body.push(this.finishNode(b,"MethodDefinition"))};a.parseClassId=function(a,b){a.id=this.type===c.types.name?this.parseIdent():b?this.unexpected():null};a.parseClassSuper=function(a){a.superClass=this.eat(c.types._extends)?this.parseExprSubscripts():null};a.parseExport=function(a){this.next();if(this.eat(c.types.star))return this.expectContextual("from"),
a.source=this.type===c.types.string?this.parseExprAtom():this.unexpected(),this.semicolon(),this.finishNode(a,"ExportAllDeclaration");if(this.eat(c.types._default)){var b=this.type==c.types.parenL,e=this.parseMaybeAssign(),d=!0;b||"FunctionExpression"!=e.type&&"ClassExpression"!=e.type||(d=!1,e.id&&(e.type="FunctionExpression"==e.type?"FunctionDeclaration":"ClassDeclaration"));a.declaration=e;d&&this.semicolon();return this.finishNode(a,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())a.declaration=
this.parseStatement(!0),a.specifiers=[],a.source=null;else{a.declaration=null;a.specifiers=this.parseExportSpecifiers();if(this.eatContextual("from"))a.source=this.type===c.types.string?this.parseExprAtom():this.unexpected();else{for(b=0;b<a.specifiers.length;b++)(this.keywords.test(a.specifiers[b].local.name)||this.reservedWords.test(a.specifiers[b].local.name))&&this.unexpected(a.specifiers[b].local.start);a.source=null}this.semicolon()}return this.finishNode(a,"ExportNamedDeclaration")};a.shouldParseExportStatement=
function(){return this.type.keyword||this.isLet()};a.parseExportSpecifiers=function(){var a=[],b=!0;for(this.expect(c.types.braceL);!this.eat(c.types.braceR);){if(b)b=!1;else if(this.expect(c.types.comma),this.afterTrailingComma(c.types.braceR))break;var d=this.startNode();d.local=this.parseIdent(this.type===c.types._default);d.exported=this.eatContextual("as")?this.parseIdent(!0):d.local;a.push(this.finishNode(d,"ExportSpecifier"))}return a};a.parseImport=function(a){this.next();this.type===c.types.string?
(a.specifiers=n,a.source=this.parseExprAtom()):(a.specifiers=this.parseImportSpecifiers(),this.expectContextual("from"),a.source=this.type===c.types.string?this.parseExprAtom():this.unexpected());this.semicolon();return this.finishNode(a,"ImportDeclaration")};a.parseImportSpecifiers=function(){var a=[],b=!0;if(this.type===c.types.name){var d=this.startNode();d.local=this.parseIdent();this.checkLVal(d.local,!0);a.push(this.finishNode(d,"ImportDefaultSpecifier"));if(!this.eat(c.types.comma))return a}if(this.type===
c.types.star)return d=this.startNode(),this.next(),this.expectContextual("as"),d.local=this.parseIdent(),this.checkLVal(d.local,!0),a.push(this.finishNode(d,"ImportNamespaceSpecifier")),a;for(this.expect(c.types.braceL);!this.eat(c.types.braceR);){if(b)b=!1;else if(this.expect(c.types.comma),this.afterTrailingComma(c.types.braceR))break;d=this.startNode();d.imported=this.parseIdent(!0);this.eatContextual("as")?d.local=this.parseIdent():(d.local=d.imported,this.isKeyword(d.local.name)&&this.unexpected(d.local.start),
this.reservedWordsStrict.test(d.local.name)&&this.raise(d.local.start,"The keyword '"+d.local.name+"' is reserved"));this.checkLVal(d.local,!0);a.push(this.finishNode(d,"ImportSpecifier"))}return a}},{"./identifier":2,"./state":10,"./tokentype":14,"./whitespace":16}],12:[function(a,l,f){f.__esModule=!0;l=a("./state");var c=a("./tokentype"),g=a("./whitespace");a=function h(a,b,c,f){if(!(this instanceof h))throw new TypeError("Cannot call a class as a function");this.token=a;this.isExpr=!!b;this.preserveSpace=
!!c;this.override=f};f.TokContext=a;var b={b_stat:new a("{",!1),b_expr:new a("{",!0),b_tmpl:new a("${",!0),p_stat:new a("(",!1),p_expr:new a("(",!0),q_tmpl:new a("`",!0,!0,function(a){return a.readTmplToken()}),f_expr:new a("function",!0)};f.types=b;f=l.Parser.prototype;f.initialContext=function(){return[b.b_stat]};f.braceIsBlock=function(a){if(a===c.types.colon){var f=this.curContext();if(f===b.b_stat||f===b.b_expr)return!f.isExpr}return a===c.types._return?g.lineBreak.test(this.input.slice(this.lastTokEnd,
this.start)):a===c.types._else||a===c.types.semi||a===c.types.eof||a===c.types.parenR?!0:a==c.types.braceL?this.curContext()===b.b_stat:!this.exprAllowed};f.updateContext=function(a){var b,e=this.type;e.keyword&&a==c.types.dot?this.exprAllowed=!1:(b=e.updateContext)?b.call(this,a):this.exprAllowed=e.beforeExpr};c.types.parenR.updateContext=c.types.braceR.updateContext=function(){if(1==this.context.length)this.exprAllowed=!0;else{var a=this.context.pop();a===b.b_stat&&this.curContext()===b.f_expr?
(this.context.pop(),this.exprAllowed=!1):this.exprAllowed=a===b.b_tmpl?!0:!a.isExpr}};c.types.braceL.updateContext=function(a){this.context.push(this.braceIsBlock(a)?b.b_stat:b.b_expr);this.exprAllowed=!0};c.types.dollarBraceL.updateContext=function(){this.context.push(b.b_tmpl);this.exprAllowed=!0};c.types.parenL.updateContext=function(a){this.context.push(a===c.types._if||a===c.types._for||a===c.types._with||a===c.types._while?b.p_stat:b.p_expr);this.exprAllowed=!0};c.types.incDec.updateContext=
function(){};c.types._function.updateContext=function(a){!a.beforeExpr||a===c.types.semi||a===c.types._else||a===c.types.colon&&this.curContext()===b.b_stat||this.context.push(b.f_expr);this.exprAllowed=!1};c.types.backQuote.updateContext=function(){this.curContext()===b.q_tmpl?this.context.pop():this.context.push(b.q_tmpl);this.exprAllowed=!1}},{"./state":10,"./tokentype":14,"./whitespace":16}],13:[function(a,l,f){function c(a,b,c,d){try{return new RegExp(a,b)}catch(t){if(void 0!==c)throw t instanceof
SyntaxError&&d.raise(c,"Error parsing regular expression: "+t.message),t;}}function g(a){if(65535>=a)return String.fromCharCode(a);a-=65536;return String.fromCharCode((a>>10)+55296,(a&1023)+56320)}f.__esModule=!0;var b=a("./identifier"),d=a("./tokentype");l=a("./state");var h=a("./locutil"),n=a("./whitespace"),e=function k(a){if(!(this instanceof k))throw new TypeError("Cannot call a class as a function");this.type=a.type;this.value=a.value;this.start=a.start;this.end=a.end;a.options.locations&&(this.loc=
new h.SourceLocation(a,a.startLoc,a.endLoc));a.options.ranges&&(this.range=[a.start,a.end])};f.Token=e;a=l.Parser.prototype;var m="object"==typeof Packages&&"[object JavaPackage]"==Object.prototype.toString.call(Packages);a.next=function(){if(this.options.onToken)this.options.onToken(new e(this));this.lastTokEnd=this.end;this.lastTokStart=this.start;this.lastTokEndLoc=this.endLoc;this.lastTokStartLoc=this.startLoc;this.nextToken()};a.getToken=function(){this.next();return new e(this)};"undefined"!==
typeof Symbol&&(a[Symbol.iterator]=function(){var a=this;return{next:function(){var b=a.getToken();return{done:b.type===d.types.eof,value:b}}}});a.setStrict=function(a){this.strict=a;if(this.type===d.types.num||this.type===d.types.string){this.pos=this.start;if(this.options.locations)for(;this.pos<this.lineStart;)this.lineStart=this.input.lastIndexOf("\n",this.lineStart-2)+1,--this.curLine;this.nextToken()}};a.curContext=function(){return this.context[this.context.length-1]};a.nextToken=function(){var a=
this.curContext();a&&a.preserveSpace||this.skipSpace();this.start=this.pos;this.options.locations&&(this.startLoc=this.curPosition());if(this.pos>=this.input.length)return this.finishToken(d.types.eof);if(a.override)return a.override(this);this.readToken(this.fullCharCodeAtPos())};a.readToken=function(a){return b.isIdentifierStart(a,6<=this.options.ecmaVersion)||92===a?this.readWord():this.getTokenFromCode(a)};a.fullCharCodeAtPos=function(){var a=this.input.charCodeAt(this.pos);if(55295>=a||57344<=
a)return a;var b=this.input.charCodeAt(this.pos+1);return(a<<10)+b-56613888};a.skipBlockComment=function(){var a=this.options.onComment&&this.curPosition(),b=this.pos,c=this.input.indexOf("*/",this.pos+=2);-1===c&&this.raise(this.pos-2,"Unterminated comment");this.pos=c+2;if(this.options.locations){n.lineBreakG.lastIndex=b;for(var d=void 0;(d=n.lineBreakG.exec(this.input))&&d.index<this.pos;)++this.curLine,this.lineStart=d.index+d[0].length}if(this.options.onComment)this.options.onComment(!0,this.input.slice(b+
2,c),b,this.pos,a,this.curPosition())};a.skipLineComment=function(a){for(var b=this.pos,c=this.options.onComment&&this.curPosition(),d=this.input.charCodeAt(this.pos+=a);this.pos<this.input.length&&10!==d&&13!==d&&8232!==d&&8233!==d;)++this.pos,d=this.input.charCodeAt(this.pos);if(this.options.onComment)this.options.onComment(!1,this.input.slice(b+a,this.pos),b,this.pos,c,this.curPosition())};a.skipSpace=function(){a:for(;this.pos<this.input.length;){var a=this.input.charCodeAt(this.pos);switch(a){case 32:case 160:++this.pos;
break;case 13:10===this.input.charCodeAt(this.pos+1)&&++this.pos;case 10:case 8232:case 8233:++this.pos;this.options.locations&&(++this.curLine,this.lineStart=this.pos);break;case 47:switch(this.input.charCodeAt(this.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break a}break;default:if(8<a&&14>a||5760<=a&&n.nonASCIIwhitespace.test(String.fromCharCode(a)))++this.pos;else break a}}};a.finishToken=function(a,b){this.end=this.pos;this.options.locations&&
(this.endLoc=this.curPosition());var c=this.type;this.type=a;this.value=b;this.updateContext(c)};a.readToken_dot=function(){var a=this.input.charCodeAt(this.pos+1);if(48<=a&&57>=a)return this.readNumber(!0);var b=this.input.charCodeAt(this.pos+2);if(6<=this.options.ecmaVersion&&46===a&&46===b)return this.pos+=3,this.finishToken(d.types.ellipsis);++this.pos;return this.finishToken(d.types.dot)};a.readToken_slash=function(){var a=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,
this.readRegexp()):61===a?this.finishOp(d.types.assign,2):this.finishOp(d.types.slash,1)};a.readToken_mult_modulo_exp=function(a){var b=this.input.charCodeAt(this.pos+1),c=1;a=42===a?d.types.star:d.types.modulo;7<=this.options.ecmaVersion&&42===b&&(++c,a=d.types.starstar,b=this.input.charCodeAt(this.pos+2));return 61===b?this.finishOp(d.types.assign,c+1):this.finishOp(a,c)};a.readToken_pipe_amp=function(a){var b=this.input.charCodeAt(this.pos+1);return b===a?this.finishOp(124===a?d.types.logicalOR:
d.types.logicalAND,2):61===b?this.finishOp(d.types.assign,2):this.finishOp(124===a?d.types.bitwiseOR:d.types.bitwiseAND,1)};a.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(d.types.assign,2):this.finishOp(d.types.bitwiseXOR,1)};a.readToken_plus_min=function(a){var b=this.input.charCodeAt(this.pos+1);return b===a?45==b&&62==this.input.charCodeAt(this.pos+2)&&n.lineBreak.test(this.input.slice(this.lastTokEnd,this.pos))?(this.skipLineComment(3),this.skipSpace(),
this.nextToken()):this.finishOp(d.types.incDec,2):61===b?this.finishOp(d.types.assign,2):this.finishOp(d.types.plusMin,1)};a.readToken_lt_gt=function(a){var b=this.input.charCodeAt(this.pos+1),c=1;if(b===a)return c=62===a&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+c)?this.finishOp(d.types.assign,c+1):this.finishOp(d.types.bitShift,c);if(33==b&&60==a&&45==this.input.charCodeAt(this.pos+2)&&45==this.input.charCodeAt(this.pos+3))return this.inModule&&this.unexpected(),
this.skipLineComment(4),this.skipSpace(),this.nextToken();61===b&&(c=2);return this.finishOp(d.types.relational,c)};a.readToken_eq_excl=function(a){var b=this.input.charCodeAt(this.pos+1);return 61===b?this.finishOp(d.types.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===a&&62===b&&6<=this.options.ecmaVersion?(this.pos+=2,this.finishToken(d.types.arrow)):this.finishOp(61===a?d.types.eq:d.types.prefix,1)};a.getTokenFromCode=function(a){switch(a){case 46:return this.readToken_dot();case 40:return++this.pos,
this.finishToken(d.types.parenL);case 41:return++this.pos,this.finishToken(d.types.parenR);case 59:return++this.pos,this.finishToken(d.types.semi);case 44:return++this.pos,this.finishToken(d.types.comma);case 91:return++this.pos,this.finishToken(d.types.bracketL);case 93:return++this.pos,this.finishToken(d.types.bracketR);case 123:return++this.pos,this.finishToken(d.types.braceL);case 125:return++this.pos,this.finishToken(d.types.braceR);case 58:return++this.pos,this.finishToken(d.types.colon);case 63:return++this.pos,
this.finishToken(d.types.question);case 96:if(6>this.options.ecmaVersion)break;++this.pos;return this.finishToken(d.types.backQuote);case 48:a=this.input.charCodeAt(this.pos+1);if(120===a||88===a)return this.readRadixNumber(16);if(6<=this.options.ecmaVersion){if(111===a||79===a)return this.readRadixNumber(8);if(98===a||66===a)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(a);case 47:return this.readToken_slash();
case 37:case 42:return this.readToken_mult_modulo_exp(a);case 124:case 38:return this.readToken_pipe_amp(a);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(a);case 60:case 62:return this.readToken_lt_gt(a);case 61:case 33:return this.readToken_eq_excl(a);case 126:return this.finishOp(d.types.prefix,1)}this.raise(this.pos,"Unexpected character '"+g(a)+"'")};a.finishOp=function(a,b){var c=this.input.slice(this.pos,this.pos+b);this.pos+=b;return this.finishToken(a,
c)};var p=!!c("\uffff","u");a.readRegexp=function(){for(var a=this,b=void 0,e=void 0,f=this.pos;;){this.pos>=this.input.length&&this.raise(f,"Unterminated regular expression");var g=this.input.charAt(this.pos);n.lineBreak.test(g)&&this.raise(f,"Unterminated regular expression");if(b)b=!1;else{if("["===g)e=!0;else if("]"===g&&e)e=!1;else if("/"===g&&!e)break;b="\\"===g}++this.pos}b=this.input.slice(f,this.pos);++this.pos;e=this.readWord1();g=b;if(e){var h=/^[gim]*$/;6<=this.options.ecmaVersion&&(h=
/^[gimuy]*$/);h.test(e)||this.raise(f,"Invalid regular expression flag");0<=e.indexOf("u")&&!p&&(g=g.replace(/\\u\{([0-9a-fA-F]+)\}/g,function(b,c,d){c=Number("0x"+c);1114111<c&&a.raise(f+d+3,"Code point out of bounds");return"x"}),g=g.replace(/\\u([a-fA-F0-9]{4})|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"))}h=null;m||(c(g,void 0,f,this),h=c(b,e));return this.finishToken(d.types.regexp,{pattern:b,flags:e,value:h})};a.readInt=function(a,b){for(var c=this.pos,d=0,e=0,f=null==b?Infinity:b;e<f;++e){var k=this.input.charCodeAt(this.pos),
k=97<=k?k-97+10:65<=k?k-65+10:48<=k&&57>=k?k-48:Infinity;if(k>=a)break;++this.pos;d=d*a+k}return this.pos===c||null!=b&&this.pos-c!==b?null:d};a.readRadixNumber=function(a){this.pos+=2;var c=this.readInt(a);null==c&&this.raise(this.start+2,"Expected number in radix "+a);b.isIdentifierStart(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");return this.finishToken(d.types.num,c)};a.readNumber=function(a){var c=this.pos,e=!1,f=48===this.input.charCodeAt(this.pos);a||
null!==this.readInt(10)||this.raise(c,"Invalid number");a=this.input.charCodeAt(this.pos);46===a&&(++this.pos,this.readInt(10),e=!0,a=this.input.charCodeAt(this.pos));if(69===a||101===a)a=this.input.charCodeAt(++this.pos),43!==a&&45!==a||++this.pos,null===this.readInt(10)&&this.raise(c,"Invalid number"),e=!0;b.isIdentifierStart(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");a=this.input.slice(c,this.pos);var k=void 0;e?k=parseFloat(a):f&&1!==a.length?/[89]/.test(a)||
this.strict?this.raise(c,"Invalid number"):k=parseInt(a,8):k=parseInt(a,10);return this.finishToken(d.types.num,k)};a.readCodePoint=function(){if(123===this.input.charCodeAt(this.pos)){6>this.options.ecmaVersion&&this.unexpected();var a=++this.pos;var b=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos);++this.pos;1114111<b&&this.raise(a,"Code point out of bounds")}else b=this.readHexChar(4);return b};a.readString=function(a){for(var b="",c=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,
"Unterminated string constant");var e=this.input.charCodeAt(this.pos);if(e===a)break;92===e?(b+=this.input.slice(c,this.pos),b+=this.readEscapedChar(!1),c=this.pos):(n.isNewLine(e)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}b+=this.input.slice(c,this.pos++);return this.finishToken(d.types.string,b)};a.readTmplToken=function(){for(var a="",b=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var c=this.input.charCodeAt(this.pos);if(96===
c||36===c&&123===this.input.charCodeAt(this.pos+1)){if(this.pos===this.start&&this.type===d.types.template){if(36===c)return this.pos+=2,this.finishToken(d.types.dollarBraceL);++this.pos;return this.finishToken(d.types.backQuote)}a+=this.input.slice(b,this.pos);return this.finishToken(d.types.template,a)}if(92===c)a+=this.input.slice(b,this.pos),a+=this.readEscapedChar(!0),b=this.pos;else if(n.isNewLine(c)){a+=this.input.slice(b,this.pos);++this.pos;switch(c){case 13:10===this.input.charCodeAt(this.pos)&&
++this.pos;case 10:a+="\n";break;default:a+=String.fromCharCode(c)}this.options.locations&&(++this.curLine,this.lineStart=this.pos);b=this.pos}else++this.pos}};a.readEscapedChar=function(a){var b=this.input.charCodeAt(++this.pos);++this.pos;switch(b){case 110:return"\n";case 114:return"\r";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return g(this.readCodePoint());case 116:return"\t";case 98:return"\b";case 118:return"\x0B";case 102:return"\f";case 13:10===this.input.charCodeAt(this.pos)&&
++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),"";default:if(48<=b&&55>=b){var b=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],c=parseInt(b,8);255<c&&(b=b.slice(0,-1),c=parseInt(b,8));"0"!==b&&(this.strict||a)&&this.raise(this.pos-2,"Octal literal in strict mode");this.pos+=b.length-1;return String.fromCharCode(c)}return String.fromCharCode(b)}};a.readHexChar=function(a){var b=this.pos;a=this.readInt(16,a);null===a&&this.raise(b,"Bad character escape sequence");
return a};a.readWord1=function(){this.containsEsc=!1;for(var a="",c=!0,d=this.pos,e=6<=this.options.ecmaVersion;this.pos<this.input.length;){var f=this.fullCharCodeAtPos();if(b.isIdentifierChar(f,e))this.pos+=65535>=f?1:2;else if(92===f)this.containsEsc=!0,a+=this.input.slice(d,this.pos),d=this.pos,117!=this.input.charCodeAt(++this.pos)&&this.raise(this.pos,"Expecting Unicode escape sequence \\uXXXX"),++this.pos,f=this.readCodePoint(),(c?b.isIdentifierStart:b.isIdentifierChar)(f,e)||this.raise(d,
"Invalid Unicode escape"),a+=g(f),d=this.pos;else break;c=!1}return a+this.input.slice(d,this.pos)};a.readWord=function(){var a=this.readWord1(),b=d.types.name;(6<=this.options.ecmaVersion||!this.containsEsc)&&this.keywords.test(a)&&(b=d.keywords[a]);return this.finishToken(b,a)}},{"./identifier":2,"./locutil":5,"./state":10,"./tokentype":14,"./whitespace":16}],14:[function(a,l,f){function c(a,c){return new b(a,{beforeExpr:!0,binop:c})}function g(a){var c=1>=arguments.length||void 0===arguments[1]?
{}:arguments[1];c.keyword=a;h[a]=d["_"+a]=new b(a,c)}f.__esModule=!0;var b=function e(a){var b=1>=arguments.length||void 0===arguments[1]?{}:arguments[1];if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this.label=a;this.keyword=b.keyword;this.beforeExpr=!!b.beforeExpr;this.startsExpr=!!b.startsExpr;this.isLoop=!!b.isLoop;this.isAssign=!!b.isAssign;this.prefix=!!b.prefix;this.postfix=!!b.postfix;this.binop=b.binop||null;this.updateContext=null};f.TokenType=b;a={beforeExpr:!0};
l={startsExpr:!0};var d={num:new b("num",l),regexp:new b("regexp",l),string:new b("string",l),name:new b("name",l),eof:new b("eof"),bracketL:new b("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new b("]"),braceL:new b("{",{beforeExpr:!0,startsExpr:!0}),braceR:new b("}"),parenL:new b("(",{beforeExpr:!0,startsExpr:!0}),parenR:new b(")"),comma:new b(",",a),semi:new b(";",a),colon:new b(":",a),dot:new b("."),question:new b("?",a),arrow:new b("=>",a),template:new b("template"),ellipsis:new b("...",a),backQuote:new b("`",
l),dollarBraceL:new b("${",{beforeExpr:!0,startsExpr:!0}),eq:new b("=",{beforeExpr:!0,isAssign:!0}),assign:new b("_=",{beforeExpr:!0,isAssign:!0}),incDec:new b("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new b("prefix",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:c("||",1),logicalAND:c("&&",2),bitwiseOR:c("|",3),bitwiseXOR:c("^",4),bitwiseAND:c("&",5),equality:c("==/!=",6),relational:c("</>",7),bitShift:c("<</>>",8),plusMin:new b("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),
modulo:c("%",10),star:c("*",10),slash:c("/",10),starstar:new b("**",{beforeExpr:!0})};f.types=d;var h={};f.keywords=h;g("break");g("case",a);g("catch");g("continue");g("debugger");g("default",a);g("do",{isLoop:!0,beforeExpr:!0});g("else",a);g("finally");g("for",{isLoop:!0});g("function",l);g("if");g("return",a);g("switch");g("throw",a);g("try");g("var");g("const");g("while",{isLoop:!0});g("with");g("new",{beforeExpr:!0,startsExpr:!0});g("this",l);g("super",l);g("class");g("extends",a);g("export");
g("import");g("null",l);g("true",l);g("false",l);g("in",{beforeExpr:!0,binop:7});g("instanceof",{beforeExpr:!0,binop:7});g("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0});g("void",{beforeExpr:!0,prefix:!0,startsExpr:!0});g("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},{}],15:[function(a,l,f){f.__esModule=!0;f.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)};f.has=function(a,f){return Object.prototype.hasOwnProperty.call(a,f)}},{}],16:[function(a,l,f){f.__esModule=
!0;f.isNewLine=function(a){return 10===a||13===a||8232===a||8233==a};a=/\r\n?|\n|\u2028|\u2029/;f.lineBreak=a;f.lineBreakG=new RegExp(a.source,"g");f.nonASCIIwhitespace=/[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/;f.skipWhiteSpace=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g},{}]},{},[3])(3)});
var CR3Parser=(()=>{const t=(t,e)=>{const n=(t.buf[t.pos>>3]<<24+(7&t.pos)|t.buf[t.pos+8>>3]<<16+(7&t.pos)|t.buf[t.pos+16>>3]<<8+(7&t.pos)|t.buf[t.pos+24>>3]<<(7&t.pos))>>>32-e;return t.pos+=e,n},e=t=>t.buf[t.pos>>3]>>7-(7&t.pos++)&1,n=(e,n,a)=>{let i=e.pos,s=e.buf[e.pos>>3]<<24+(7&e.pos)>>>24;if(!s)for(e.pos+=8-(7&e.pos);!(s=e.buf[e.pos>>3]);e.pos+=8);e.pos+=Math.clz32(s)-23;const r=e.pos-i-1;return r>=n?t(e,a):e.k?r<<e.k|t(e,e.k):r},a=(t,e,n)=>{let a=t;return e>>>t>2&&++a,e>>>t>5&&++a,e<1<<t>>>1&&--a,Math.min(a,n)},i=t=>-(1&t)^t>>>1,s=new Uint8Array([40,45,51,57,64,72]),r=t=>t>=36?s[t%6]<<Math.floor(t/6)-6:s[t%6]>>6-Math.floor(t/6),o=(t,e)=>{if(!t.qp)return[];const s={buf:e.subarray(t.offset),pos:0,k:0,s:0},o=(t.planeWidth>>3)+ +(!0&t.planeWidth),l=(t.planeHeight>>1)+(1&t.planeHeight),f=new Int32Array(l*o);let h=0;for(let t=0;t<o;++t){const e=n(s,23,8);s.k=a(s.k,e,7),f[t]=h+=i(e)}let p=0,c=0,u=0;for(let t=1;t<l;++t){const e=t*o,r=e-o+1;let l=h=p=f[e-o],g=p-c;for(let t=0;t<o-1;++t){u=f[r+t];const o=g<0==c<h?h+g:g<0==h<p?h:p,l=n(s,23,8);g=u-p,c=p,p=u,s.k=a(s.k,l+(Math.abs(g)<<1)>>>1,7),f[e+t]=h=o+i(l)}const b=g<0==c<h?h+g:g<0==h<p?h:p,d=n(s,23,8);s.k=a(s.k,d,7),f[e+o-1]=b+i(d),c=l}const g=(t.planeHeight>>3)+ +(!0&t.planeHeight),b=(t.planeHeight>>2)+ +(!0&t.planeHeight),d=(l-1)*o,w=[];switch(t.wavelets){case 3:{const e=new Int32Array(g*o);for(let n=0;n<t.planeHeight>>3;++n){const t=n*o,a=(n<<2)*o,i=a+o,s=i+o,l=s+o;for(let n=0;n<o;++n){const o=f[a+n]+f[i+n]+f[s+n]+f[l+n]+16;e[t+n]=r(3*+(o<0)+o>>2)}}if(!0&t.planeHeight){const n=(t.planeHeight>>3)*o,a=(-4&l)*o,i=Math.min(a+o,d),s=Math.min(i+o,d),h=d;for(let t=0;t<o;++t){const o=f[a+t]+f[i+t]+f[s+t]+f[h+t]+16;e[n+t]=r(3*+(o<0)+o>>2)}}w.push(e)}case 2:{const e=new Int32Array(b*o);for(let n=0;n<t.planeHeight>>2;++n){const t=n*o,a=(n<<1)*o,i=a+o;for(let n=0;n<o;++n)e[t+n]=r(f[a+n]+f[i+n]+8>>1)}if(!0&t.planeHeight){const n=(t.planeHeight>>2)*o,a=(-2&l)*o,i=d;for(let t=0;t<o;++t)e[n+t]=r(f[a+t]+f[i+t]+8>>1)}w.push(e)}case 1:{const t=l*o;for(let e=0;e<t;++e)f[e]=r(f[e]+4);w.push(f)}}return w},l=new Uint8Array([0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,5,5,6,6,7,7,8,9,10,11,12,13,14,15]),f=new Uint16Array(32);for(let t=0;t<32;++t)f[t]=1<<l[t];const h=(n,a)=>{let i=a-1;for(;i&&e(n);)i-=f[n.s],i<0?i=0:n.s<31&&++n.s;return i&&(l[n.s]&&(i-=t(n,l[n.s])),n.s&&--n.s),a-i},p=(t,s,r,o,l,f,p)=>{r[0]=0;let c=1;if(o)if(f)for(;c<l;++c){let s=r[c-1];if(Math.abs(s)<=p){if(e(t)){const e=c+h(t,l-c+1);for(;c<e;++c)r[c]=s;if(c>l)break}s=0}const o=n(t,41,21);t.k=a(t.k,o,15);const u=i(o);r[c]=s+(u<<f)+(u>>31)}else for(;c<l;++c){let s=r[c-1];if(!s&&e(t)){const e=c+h(t,l-c+1);for(;c<e;++c)r[c]=0;if(c>l)break}const o=n(t,41,21);t.k=a(t.k,o,15),r[c]=s+i(o)}else for(;c<l;++c){let o=0;if(!r[c-1]){if(e(t)){const e=c+h(t,l-c+1);for(;c<e;++c)r[c]=s[c-1]=0;if(c>l)break}o=1}const f=n(t,41,21);s[c-1]=t.k=a(t.k,f,15),r[c]=i(f+o)}if(c==l){const e=r[c-1],l=n(t,41,21);s[c-1]=t.k=a(t.k,l,15);const h=i(l);r[c++]=(o&&(!f||Math.abs(e)<=p)?e:0)+(o&&f?(h<<f)+(h>>31):h)}r[c]=o?r[c-1]+1:0},c=(t,s,r,o,l,f,p)=>{let c=1,u=0;if(o)if(f){r[0]=s[1];let o=!1,g=r[0],b=g,d=g,w=0;for(;c<l;++c){w=s[c+1];let m=b;if(Math.abs(w-b)>p&&(o=!0)||(o||Math.abs(d-g)>p)&&!(o=!1)){let t=g,e=b;g>b&&(t=b,e=g),m=d>=e?t:d<=t?e:g+b-d}else{if(e(t)){const e=c+h(t,l-c+1);for(;c<e;++c)r[c]=g;if(c>=l){u=1;break}b=s[c],d=s[c-1],w=s[c+1]}o=Math.abs(w-b)>p}const y=n(t,41,21);t.k=a(t.k,y+(Math.abs(w>b?w-b+p-1>>f:-(w-b+p>>f))<<1)>>>1,15);const v=i(y);g=r[c]=m+(v<<f)+(v>>31),d=b,b=w}}else{r[0]=s[1];let o=r[0],f=o,p=s[0],g=0;for(;c<l;++c){g=s[c+1];let b=0;if(o==f&&o==g){if(e(t)){const e=c+h(t,l-c+1);for(;c<e;++c)r[c]=o;if(c>=l){u=1;break}f=s[c],p=s[c-1],g=s[c+1]}b=f}else{let t=o,e=f;o>f&&(t=f,e=o),b=p>=e?t:p<=t?e:o+f-p}const d=n(t,41,21);t.k=a(t.k,d+Math.abs(g-f<<1)>>>1,15),o=r[c]=b+i(d),p=f,f=g}}else{r[0]=0;let o=0,f=s[1],p=0;for(;c<l;++c){p=s[c+1];let g=0;if(!(p|f|o)){if(e(t)){const e=c+h(t,l-c+1);for(;c<e;++c)r[c]=s[c-1]=0;if(c>=l){u=1;break}f=s[c],p=s[c+1]}g=1}const b=n(t,41,21);let d=a(t.k,b,15);r[c]-d>1&&++d,t.k=s[c-1]=d,o=r[c]=i(b+g),f=p}}if(c==l){let e=0;if(o){let t=e=s[c];if(!u){let n=r[c-1],a=s[c-1],i=n,o=t;n>t&&(i=t,o=n),e=a>=o?i:a<=i?o:n+t-a}}const l=n(t,41,21),h=i(o?l:l+u);s[c-1]=t.k=a(t.k,l,15),r[c++]=e+(o&&f?(h<<f)+(h>>31):h)}o&&(r[c]=r[c-1]+1)},u=(t,e,s,o,l,f,h,p)=>{const c=l.width,u=l.height,g=l.xs,b=l.xe,d=l.ys,w=l.ye,m=p[h];if(l.partial&&!m){const t=n(e,23,8);l.qParam+=i(t),e.k=a(e.k,t,7)}let y=0;if(m){const e=(+(!0&f)+(f>>3))*(o<d?0:o<u-w?o-d:u-d-w-1),n=l.qBase,a=l.qMulti,i=Math.max(Math.min(n+(a*m[e]>>3),1474560),1);for(;y<g;++y)s[y]=i*t[y+1];const r=c-b-1;for(;y<r;++y){const i=n+(a*m[e+(y-g>>h)]>>3);s[y]=Math.max(Math.min(i,1474560),1)*t[y+1]}const p=Math.max(Math.min(n+(a*m[e+(y-g>>h)]>>3)));for(;y<c;++y)s[y]=p*t[y+1]}else{const e=r(l.qParam);for(;y<c;++y)s[y]=t[y+1]*e}},g=(t,e,n,a,i)=>{let s=1,r=0,o=0,l=e[0],f=n[0]=t[0]-(l+(a.left?l=e[o=1]:l)+2>>2);const h=i-2;for(;s<h;s+=2){const a=e[++o],i=t[++r]-(l+a+2>>2);n[s]=l+(i+f>>1),n[s+1]=f=i,l=a}if(a.right||1&i){const o=t[r+1]-(l+(a.right?e[s+1]:l)+2>>2);n[s]=l+(o+f>>1),1&i&&(n[s+1]=o)}else n[s]=l+f},b=(t,e,n,a)=>{const i=(i,s,r)=>{const o=e.bandState[i],l=o.prevLineBuf;o.prevLineBuf=o.lineBuf,o.lineBuf=l,r?c(o.state,o.prevLineBuf,o.lineBuf,o.partial,o.w,o.rb,o.rbm):p(o.state,o.prevLineBuf,o.lineBuf,o.partial,o.w,o.rb,o.rbm),u(o.lineBuf,o.state,s,r,e.plane.bands[i],t.planeWidth,a,n)},s=3*a,r=a<t.wavelets-1?e.plane.bands[s+5].width:t.planeWidth;let o=e.tmpL;a?(b(t,e,n,a-1),o=e.out[(a<<1)-1]):i(0,o,0);const l=e.curH[a],f=e.nextH[a],h=e.out[1+(a<<1)],d=e.tmpH;if(i(s+1,d,0),g(o,d,h,t,r),o=e.tmpL,i(s+2,o,0),i(s+3,d,0),g(o,d,t.above?l:f,t,r),t.above){i(s+2,o,1),i(s+3,d,1),g(o,d,f,t,r);for(let t=0;t<r;++t)h[t]-=l[t]+f[t]+2>>2}else for(let t=0;t<r;++t)h[t]-=f[t]+1>>1},d=(t,e,n,a,i)=>{const s=(s,r,o)=>{const l=n.bandState[s],f=l.prevLineBuf;l.prevLineBuf=l.lineBuf,l.lineBuf=f,c(l.state,l.prevLineBuf,l.lineBuf,l.partial,l.w,l.rb,l.rbm),u(l.lineBuf,l.state,r,e+1+o,n.plane.bands[s],t.planeWidth,i,a)},r=3*i,o=i<t.wavelets-1?n.plane.bands[r+4].height:t.planeHeight,l=i<t.wavelets-1?n.plane.bands[r+5].width:t.planeWidth,f=n.nextH[i],h=n.curH[i],p=n.out[i<<1],b=n.out[1+(i<<1)],w=n.tmpH,m=e<<1>o-4&&!t.below;if(m&&!(1&o)){for(let t=0;t<l;++t)p[t]=f[t]+b[t];return}let y=n.tmpL;if(i?1&e?y=n.out[(i<<1)-1]:(d(t,e>>1,n,a,i-1),y=n.out[i-1<<1]):s(0,y,0),s(r+1,w,0),g(y,w,p,t,l),m)for(let t=0;t<l;++t)b[t]=f[t]+((p[t]-=f[t]+1>>1)+b[t]>>1);else{y=n.tmpL,s(r+2,y,+t.above),s(r+3,w,+t.above),g(y,w,h,t,l);for(let t=0;t<l;++t)b[t]=f[t]+((p[t]-=f[t]+h[t]+2>>2)+b[t]>>1)}n.out[i<<1]=b,n.out[1+(i<<1)]=p,n.nextH[i]=h,n.curH[i]=f},w=(t,e,n,a,i,s,r,o)=>{const{left:l,top:f,width:h,height:p}=n;if(0==e.encType){const n=1<<e.medianBits-1,c=(1<<e.medianBits)-1;for(let e=0;e<2;++e){const u=i+2*s+e-f;if(!(u<0||u>=p))for(let i=0;i<2;++i){const s=o[2*e+i],f=u*h+a+i-l,p=Math.min(l-a+h+1-i>>1,r);for(let e=Math.max(l-a+1-i>>1,0);e<p;++e)t[f+(e<<1)]=Math.min(Math.max(n+s[e],0),c)}}}else if(3==e.encType){const n=1<<e.medianBits+9,c=(1<<e.medianBits)-1,u=i+2*s-f;if(u<-1||u>=p)return;const g=Math.max(l-a+1>>1,0),b=Math.min(l-a+h+1>>1,r),d=o[0],w=o[1],m=o[2],y=o[3];let v=u*h+a-l;if(-1==u||u==p-1){const e=-1==u;for(let a=g;a<b;++a){const i=d[a],s=w[a],r=m[a],o=y[a],l=v+(a<<1);let f=n+(i<<10)-168*s-585*o;f=f<0?-(512-f>>9&-2):f+512>>9&-2,e?(t[l+h]=Math.min(Math.max(f-r+1>>1,0),c),t[l+h+1]=Math.min(Math.max(n+(i<<10)+1927*s+512>>10,0),c)):(t[l]=Math.min(Math.max(n+(i<<10)+1510*o+512>>10,0),c),t[l+1]=Math.min(Math.max(r+f+1>>1,0),c))}}else for(let e=g;e<b;++e){const a=d[e],i=w[e],s=m[e],r=y[e],o=v+(e<<1);let l=n+(a<<10)-168*i-585*r;l=l<0?-(512-l>>9&-2):l+512>>9&-2,t[o]=Math.min(Math.max(n+(a<<10)+1510*r+512>>10,0),c),t[o+1]=Math.min(Math.max(s+l+1>>1,0),c),t[o+h]=Math.min(Math.max(l-s+1>>1,0),c),t[o+h+1]=Math.min(Math.max(n+(a<<10)+1927*i+512>>10,0),c)}}},m=new Uint8Array([1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,1,1,0,0,1,0,1,0,0,0,1,2,2,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,1,0,0,0,1,2,2,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,0,1,0,1,2,2,2,2,1,1,1,1,2,2,1,1,1,1,2,2,1,1,0,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1]),y=(t,e,n,a)=>{const i=Math.ceil(t.width/t.tileWidth),s=Math.ceil(t.height/t.tileHeight),r=[],l=new DataView(e.buffer,e.byteOffset,t.headerSize);let f=0;for(let e=0,n=0;n<s;++n)for(let a=0;a<i;++a){if(65297!=(16|l.getUint16(e)))throw new Error("invalid tile header");const o=l.getUint16(e+2),h=l.getInt32(e+4);if(n*i+a!=l.getUint16(e+8))throw new Error("invalid tile index");let p=!1,c=0,u=0;16==o&&(p=!0,c=l.getInt32(e+12),u=l.getUint16(e+16)),e+=o+4;const g=0!=n,b=n!=s-1,d=0!=a,w=a!=i-1,y=w?t.tileWidth:t.width-(i-1)*t.tileWidth,v=b?t.tileHeight:t.height-(s-1)*t.tileHeight,M=y>>1,k=v>>1,B=[];let U=0;for(let n=0;n<t.planes;++n){if(65298!=(16|l.getUint16(e)))throw new Error("invalid plane header");const a=l.getUint16(e+2),i=l.getInt32(e+4),s=l.getUint8(e+8);if(n!=s>>4)throw new Error("invalid plane index");const r=s>>3&1,o=s>>1&3;e+=a+4;const f=48*(t.wavelets-1)+6*(7&M),h=48*(t.wavelets-1)+6*(7&k),p=[];let c=0;const u=(t,n,a,i,s,r,o)=>{const f=l.getUint16(e);if(65299!=(16|f))throw new Error("invalid subband header");const h=l.getUint16(e+2),u=l.getInt32(e+4),g=l.getUint16(e+8);if(t!=g>>12)throw new Error("invalid subband index");if(65283==f){const t=g>>11&1,e=g>>3&255;p.push({offset:c,partial:1==t,qParam:e,qBase:0,qMulti:0,width:n,height:a,xs:i,xe:s,ys:r,ye:o})}else{const t=l.getUint16(e+10),f=l.getInt32(e+12);p.push({offset:c,partial:!1,qParam:0,qBase:f,qMulti:t,width:n,height:a,xs:i,xe:s,ys:r,ye:o})}c+=u,e+=h+4};if(t.wavelets)for(let e=t.wavelets;e>0;--e){const n=M+(1<<e-1)-1>>e-1,a=k+(1<<e-1)-1>>e-1,i=1&n,s=1&a,r=n+1>>1,o=a+1>>1,l=f+(e<<1)-2,p=h+(e<<1)-2;let c=+d,y=+g,v=w?m[l]:0,B=b?m[p]:0,U=w?m[l+1]:0,x=b?m[p+1]:0;e==t.wavelets&&u(0,r+U,o+x,0,U,0,x);for(let n=0;n<3;++n)u(3*(t.wavelets-e)+n+1,1&n?r+U:r+c+v-i,n?o+y+B-s:o+x,1&n?0:c,1&n?U:v,n?y:0,n?B:x)}else u(0,M,k,0,0,0,0);B.push({offset:U,partial:1==r,roundedBits:o,bands:p}),U+=i}r.push({offset:f,above:g,below:b,left:d,right:w,qp:p,qpSize:c,qpPad:u,width:y,height:v,planeWidth:M,planeHeight:k,wavelets:t.wavelets,x:a*t.tileWidth,y:n*t.tileHeight,planes:B}),f+=h}((t,e,n,a,i)=>{const s=2+(t.tileWidth>>1);if(t.wavelets){const s=t.tileWidth+14>>2,r=s<<1,l=14*(t.tileWidth>>1)+22*t.wavelets,f=new Int32Array(r+t.planes*l),h=f.subarray(0,s),p=f.subarray(s,r);for(const s of e){const e=o(s,n),c=s.planeHeight-1>>1,u=s.planes.map((a,i)=>{let o=r+i*l;const c=[],u=[],g=[];for(let e=t.wavelets-1;e>=0;--e){const t=3+(s.planeWidth>>e);c.push(f.subarray(o,o+=t)),u.push(f.subarray(o,o+=t)),g.push(f.subarray(o,o+=t),f.subarray(o,o+=t))}const d=a.bands.map((t,e)=>{const i=t.width+2,r=a.roundedBits,l=1<<r-1;return{lineBuf:f.subarray(o,o+=i),prevLineBuf:f.subarray(o,o+=i),state:{buf:n.subarray(s.offset+s.qpSize+s.qpPad+a.offset+t.offset),pos:0,k:0,s:0},partial:a.partial&&!e,rb:r,rbm:l,w:t.width}}),w={plane:a,nextH:u,curH:c,out:g,tmpH:p,tmpL:h,bandState:d};return b(s,w,e,t.wavelets-1),w});w(a,t,i,s.x,s.y,0,s.planeWidth,u.map(e=>e.out[(t.wavelets<<1)-1]));for(let n=0;n<c;++n){for(const a of u)d(s,n,a,e,t.wavelets-1);w(a,t,i,s.x,s.y,1+(n<<1),s.planeWidth,u.map(e=>e.out[t.wavelets-1<<1])),2+(n<<1)<s.planeHeight&&w(a,t,i,s.x,s.y,2+(n<<1),s.planeWidth,u.map(e=>e.out[(t.wavelets<<1)-1]))}}}else{const r=new Int32Array(t.planes*s<<1);for(const o of e){const e=o.planes.map((t,e)=>{const a=t.bands[0],i=t.partial,l={buf:n.subarray(o.offset+t.offset+a.offset),pos:0,k:0,s:0},f=(e<<1)*s,h=r.subarray(f,f+s),c=r.subarray(f+s,f+(s<<1)),u=t.roundedBits,g=1<<u-1,b=a.width;return p(l,c,h,i,b,u,g),{lineBuf:h,prevLineBuf:c,state:l,partial:i,rb:u,rbm:g,w:b}});w(a,t,i,o.x,o.y,0,o.planeWidth,e.map(t=>t.lineBuf.subarray(1,-1)));for(let n=1;n<o.planeHeight;++n){for(const t of e){const e=t.prevLineBuf;t.prevLineBuf=t.lineBuf,t.lineBuf=e,c(t.state,t.prevLineBuf,t.lineBuf,t.partial,t.w,t.rb,t.rbm)}w(a,t,i,o.x,o.y,n,o.planeWidth,e.map(t=>t.lineBuf.subarray(1,-1)))}}}})(t,r,new Uint8Array(e.buffer,e.byteOffset+t.headerSize,e.byteLength-t.headerSize),n,a)},v=t=>{const e={};for(let n=0;n<t.byteLength;){let a=t.getInt32(n),i=n+a,s=String.fromCharCode(t.getUint8(n+4),t.getUint8(n+5),t.getUint8(n+6),t.getUint8(n+7));1==a&&(a=t.getInt32(n+12),i=n+a,n+=8),n+=8,e[s]||(e[s]=[]),e[s].push(new DataView(t.buffer,t.byteOffset+n,i-n)),n=i}return e};return class{constructor(t,e,n){this.src=new DataView(t,e,n);const a=v(this.src),i=v(a.moov[0]);this.tracks=i.trak.map(t=>{const e={},n=[],a=v(v(v(v(t).mdia[0]).minf[0]).stbl[0]),i=a.stsz[0],s=a.co64[0],r=Math.min(i.getInt32(8),s.getInt32(4)),o=i.getInt32(4);for(let t=0;t<r;++t)n.push({size:o||i.getInt32(12+4*t),offset:s.getInt32(12+8*t)});const l=a.stsd[0],f=v(new DataView(l.buffer,l.byteOffset+8,l.byteLength-8));if(!f.CRAW)return null;const h=f.CRAW[0];e.width=h.getUint16(24),e.height=h.getUint16(26);const p=v(new DataView(h.buffer,h.byteOffset+82,h.byteLength-82));if(p.JPEG)e.type="jpeg";else if(p.CMP1){const t=p.CMP1[0];e.width=t.getInt32(8),e.height=t.getInt32(12),e.tileWidth=t.getInt32(16),e.tileHeight=t.getInt32(20);const n=t.getUint8(26);if(e.wavelets=15&n,0!=e.wavelets&&3!=e.wavelets)throw new TypeError("expected 0 or 3 wavelet levels");e.encType=n>>4;const a=t.getUint8(25);if(e.planes=a>>4,4!=e.planes)throw new TypeError("expected 4 planes");switch(15&a){case 0:e.layout="rggb";break;case 1:e.layout="grbg";break;case 2:e.layout="gbrg";break;case 3:e.layout="bggr"}e.bitDepth=t.getUint8(24),e.medianBits=e.bitDepth,e.headerSize=t.getInt32(28);if(t.getUint8(32)>>7){t.getUint8(56)>>6&1&&(e.medianBits=t.getUint8(84))}const i=p.CDI1[0],s=v(new DataView(i.buffer,i.byteOffset+4,i.byteLength-4)).IAD1[0],r=s.getUint16(10);e.type=2==r?"big":0==r?"small":"unknown",e.fullCrop={left:0,top:0,width:e.width,height:e.height},e.recommendedCrop={left:s.getUint16(16),top:s.getUint16(18)},e.recommendedCrop.width=s.getUint16(20)-e.recommendedCrop.left+1,e.recommendedCrop.height=s.getUint16(22)-e.recommendedCrop.top+1,"big"==e.type&&(e.activeArea={left:s.getUint16(40),top:s.getUint16(42)},e.activeArea.width=Math.min(s.getUint16(44)-1,e.width)-e.activeArea.left,e.activeArea.height=Math.min(s.getUint16(46)-1,e.width)-e.activeArea.top)}else e.type="unknown";return{meta:e,samples:n}}).filter(t=>t)}getTrack(t="big"){return this.tracks.find(e=>e.meta.type==t)}extractCFA(t=this.getTrack("big"),e=0,n=t.meta.fullCrop,a=new Uint16Array(n.width*n.height)){if("big"!=t.meta.type&&"small"!=t.meta.type)throw new TypeError("expected raw track");const i=t.samples[e],s=new Uint8Array(this.src.buffer,this.src.byteOffset+i.offset,i.size);return y(t.meta,s,a,n),a}}})()
var UPNG=function(){var d={nextZero:function(K,l){while(K[l]!=0)l++;return l},readUshort:function(K,l){return K[l]<<8|K[l+1]},writeUshort:function(K,l,S){K[l]=S>>8&255;
K[l+1]=S&255},readUint:function(K,l){return K[l]*(256*256*256)+(K[l+1]<<16|K[l+2]<<8|K[l+3])},writeUint:function(K,l,S){K[l]=S>>24&255;
K[l+1]=S>>16&255;K[l+2]=S>>8&255;K[l+3]=S&255},readASCII:function(K,l,S){var y="";for(var X=0;X<S;X++)y+=String.fromCharCode(K[l+X]);
return y},writeASCII:function(K,l,S){for(var y=0;y<S.length;y++)K[l+y]=S.charCodeAt(y)},readBytes:function(K,l,S){var y=[];
for(var _=0;_<S;_++)y.push(K[l+_]);return y},pad:function(K){return K.length<2?"0"+K:K},readUTF8:function(K,l,S){var y="",X;
for(var A=0;A<S;A++)y+="%"+d.pad(K[l+A].toString(16));try{X=decodeURIComponent(y)}catch(a5){return d.readASCII(K,l,S)}return X},writeUTF8:function(K,l,N){var S=new window.TextEncoder("utf8"),y=S.encode(K);
if(l)l.set(y,N);return y.length}};function a3(K){var l=K.width,N=K.height;if(K.tabs.acTL==null)return[aj(K.data,l,N,K).buffer];
var S=[];if(K.frames[0].data==null)K.frames[0].data=K.data;var y=l*N*4,_=new Uint8Array(y),X=new Uint8Array(y),A=new Uint8Array(y);
for(var e=0;e<K.frames.length;e++){var s=K.frames[e],p=s.rect.x,v=s.rect.y,Z=s.rect.width,f=s.rect.height,g=aj(s.data,Z,f,K);
if(e!=0)for(var J=0;J<y;J++)A[J]=_[J];if(s.blend==0)al(g,Z,f,_,l,N,p,v,0);else if(s.blend==1)al(g,Z,f,_,l,N,p,v,1);
S.push(_.buffer.slice(0));if(s.dispose==0){}else if(s.dispose==1)al(X,Z,f,_,l,N,p,v,0);else if(s.dispose==2)for(var J=0;
J<y;J++)_[J]=A[J]}return S}function aj(K,l,N,S){var y=l*N,_=aa(S),X=Math.ceil(l*_/8),A=new Uint8Array(y*4),e=new Uint32Array(A.buffer),s=S.ctype,p=S.depth,v=d.readUshort,Z=Date.now();
if(s==6){var f=y<<2;if(p==8)for(var g=0;g<f;g+=4){A[g]=K[g];A[g+1]=K[g+1];A[g+2]=K[g+2];A[g+3]=K[g+3]}if(p==16)for(var g=0;
g<f;g++){A[g]=K[g<<1]}}else if(s==2){var J=S.tabs.tRNS;if(J==null){if(p==8)for(var g=0;g<y;g++){var z=g*3;
e[g]=255<<24|K[z+2]<<16|K[z+1]<<8|K[z]}if(p==16)for(var g=0;g<y;g++){var z=g*6;e[g]=255<<24|K[z+4]<<16|K[z+2]<<8|K[z]}}else{var P=J[0],q=J[1],I=J[2];
if(p==8)for(var g=0;g<y;g++){var x=g<<2,z=g*3;e[g]=255<<24|K[z+2]<<16|K[z+1]<<8|K[z];if(K[z]==P&&K[z+1]==q&&K[z+2]==I)A[x+3]=0}if(p==16)for(var g=0;
g<y;g++){var x=g<<2,z=g*6;e[g]=255<<24|K[z+4]<<16|K[z+2]<<8|K[z];if(v(K,z)==P&&v(K,z+2)==q&&v(K,z+4)==I)A[x+3]=0}}}else if(s==3){var T=S.tabs.PLTE,O=S.tabs.tRNS,H=O?O.length:0;
if(p==1)for(var w=0;w<N;w++){var $=w*X,k=w*l;for(var g=0;g<l;g++){var x=k+g<<2,t=K[$+(g>>3)]>>7-((g&7)<<0)&1,L=3*t;
A[x]=T[L];A[x+1]=T[L+1];A[x+2]=T[L+2];A[x+3]=t<H?O[t]:255}}if(p==2)for(var w=0;w<N;w++){var $=w*X,k=w*l;
for(var g=0;g<l;g++){var x=k+g<<2,t=K[$+(g>>2)]>>6-((g&3)<<1)&3,L=3*t;A[x]=T[L];A[x+1]=T[L+1];A[x+2]=T[L+2];
A[x+3]=t<H?O[t]:255}}if(p==4)for(var w=0;w<N;w++){var $=w*X,k=w*l;for(var g=0;g<l;g++){var x=k+g<<2,t=K[$+(g>>1)]>>4-((g&1)<<2)&15,L=3*t;
A[x]=T[L];A[x+1]=T[L+1];A[x+2]=T[L+2];A[x+3]=t<H?O[t]:255}}if(p==8)for(var g=0;g<y;g++){var x=g<<2,t=K[g],L=3*t;
A[x]=T[L];A[x+1]=T[L+1];A[x+2]=T[L+2];A[x+3]=t<H?O[t]:255}}else if(s==4){if(p==8)for(var g=0;g<y;g++){var x=g<<2,n=g<<1,Q=K[n];
A[x]=Q;A[x+1]=Q;A[x+2]=Q;A[x+3]=K[n+1]}if(p==16)for(var g=0;g<y;g++){var x=g<<2,n=g<<2,Q=K[n];A[x]=Q;
A[x+1]=Q;A[x+2]=Q;A[x+3]=K[n+2]}}else if(s==0){var P=S.tabs.tRNS?S.tabs.tRNS:-1;for(var w=0;w<N;w++){var o=w*X,C=w*l;
if(p==1)for(var M=0;M<l;M++){var Q=255*(K[o+(M>>>3)]>>>7-(M&7)&1),U=Q==P*255?0:255;e[C+M]=U<<24|Q<<16|Q<<8|Q}else if(p==2)for(var M=0;
M<l;M++){var Q=85*(K[o+(M>>>2)]>>>6-((M&3)<<1)&3),U=Q==P*85?0:255;e[C+M]=U<<24|Q<<16|Q<<8|Q}else if(p==4)for(var M=0;
M<l;M++){var Q=17*(K[o+(M>>>1)]>>>4-((M&1)<<2)&15),U=Q==P*17?0:255;e[C+M]=U<<24|Q<<16|Q<<8|Q}else if(p==8)for(var M=0;
M<l;M++){var Q=K[o+M],U=Q==P?0:255;e[C+M]=U<<24|Q<<16|Q<<8|Q}else if(p==16)for(var M=0;M<l;M++){var Q=K[o+(M<<1)],U=v(K,o+(M<<1))==P?0:255;
e[C+M]=U<<24|Q<<16|Q<<8|Q}}}return A}function ao(K){var l=new Uint8Array(K),N=8,S=d,y=S.readUshort,_=S.readUint,X={tabs:{},frames:[]},A=new Uint8Array(l.length),e=0,ac,s=0,p=[137,80,78,71,13,10,26,10];
for(var v=0;v<8;v++)if(l[v]!=p[v])throw"The input is not a PNG file!";while(N<l.length){var Z=S.readUint(l,N);
N+=4;var f=S.readASCII(l,N,4);N+=4;if(f=="IHDR"){a9(l,N,X)}else if(f=="iCCP"){var g=N;while(l[g]!=0)g++;
var J=S.readASCII(l,N,g-N),z=l[g+1],P=g+4,q=l.slice(P,N+Z);X.tabs[f]=ah(q)}else if(f=="CgBI"){X.tabs[f]=l.slice(N,N+4)}else if(f=="IDAT"){for(var v=0;
v<Z;v++)A[e+v]=l[N+v];e+=Z}else if(f=="acTL"){X.tabs[f]={num_frames:_(l,N),num_plays:_(l,N+4)};ac=new Uint8Array(l.length)}else if(f=="fcTL"){if(s!=0){var I=X.frames[X.frames.length-1];
I.data=a5(X,ac.slice(0,s),I.rect.width,I.rect.height);s=0}var x={x:_(l,N+12),y:_(l,N+16),width:_(l,N+4),height:_(l,N+8)},T=y(l,N+22);
T=y(l,N+20)/(T==0?100:T);var O={rect:x,delay:Math.round(T*1e3),dispose:l[N+24],blend:l[N+25]};X.frames.push(O)}else if(f=="fdAT"){for(var v=0;
v<Z-4;v++)ac[s+v]=l[N+v+4];s+=Z-4}else if(f=="pHYs"){X.tabs[f]=[S.readUint(l,N),S.readUint(l,N+4),l[N+8]]}else if(f=="cHRM"){X.tabs[f]=[];
for(var v=0;v<8;v++)X.tabs[f].push(S.readUint(l,N+v*4))}else if(f=="tEXt"||f=="zTXt"){if(X.tabs[f]==null)X.tabs[f]={};
var H=S.nextZero(l,N),w=S.readASCII(l,N,H-N),$,k=N+Z-H-1;if(f=="tEXt")$=S.readASCII(l,H+1,k);else{var t=m(l.slice(H+2,H+2+k));
$=S.readUTF8(t,0,t.length)}X.tabs[f][w]=$}else if(f=="iTXt"){if(X.tabs[f]==null)X.tabs[f]={};var H=0,g=N,$;
H=S.nextZero(l,g);var w=S.readASCII(l,g,H-g);g=H+1;var L=l[g],n=l[g+1];g+=2;H=S.nextZero(l,g);var Q=S.readASCII(l,g,H-g);
g=H+1;H=S.nextZero(l,g);var o=S.readUTF8(l,g,H-g);g=H+1;var k=Z-(g-N);if(L==0)$=S.readUTF8(l,g,k);else{var t=m(l.slice(g,g+k));
$=S.readUTF8(t,0,t.length)}X.tabs[f][w]=$}else if(f=="PLTE"){X.tabs[f]=S.readBytes(l,N,Z)}else if(f=="hIST"){var C=X.tabs.PLTE.length/3;
X.tabs[f]=[];for(var v=0;v<C;v++)X.tabs[f].push(y(l,N+v*2))}else if(f=="tRNS"){if(X.ctype==3)X.tabs[f]=S.readBytes(l,N,Z);
else if(X.ctype==0)X.tabs[f]=y(l,N);else if(X.ctype==2)X.tabs[f]=[y(l,N),y(l,N+2),y(l,N+4)]}else if(f=="gAMA")X.tabs[f]=S.readUint(l,N)/1e5;
else if(f=="sRGB")X.tabs[f]=l[N];else if(f=="bKGD"){if(X.ctype==0||X.ctype==4)X.tabs[f]=[y(l,N)];else if(X.ctype==2||X.ctype==6)X.tabs[f]=[y(l,N),y(l,N+2),y(l,N+4)];
else if(X.ctype==3)X.tabs[f]=l[N]}else if(f=="IEND"){break}N+=Z;var M=S.readUint(l,N);N+=4}if(s!=0){var I=X.frames[X.frames.length-1];
I.data=a5(X,ac.slice(0,s),I.rect.width,I.rect.height)}X.data=a5(X,A,X.width,X.height);delete X.compress;
delete X.interlace;delete X.filter;return X}function a5(K,l,N,S){var y=Date.now(),_=aa(K),X=Math.ceil(N*_/8),A=new Uint8Array((X+1+K.interlace)*S);
if(K.tabs.CgBI)l=ah(l,A);else l=m(l,A);var y=Date.now();if(K.interlace==0)l=av(l,K,0,N,S);else if(K.interlace==1)l=ae(l,K);
return l}function m(K,l){var N=ah(new Uint8Array(K.buffer,2,K.length-6),l);return N}var ah=function(){var K=function(){var z=Uint16Array,q=Uint32Array;
return{m:new z(16),v:new z(16),d:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],o:[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],z:[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],B:new z(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],w:[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],h:new q(32),g:new z(512),s:[],A:new z(32),t:[],k:new z(32768),c:[],a:[],n:new z(32768),e:[],C:new z(512),b:[],i:new z(1<<15),r:new q(286),f:new q(30),l:new q(19),u:new q(15e3),q:new z(1<<16),j:new z(1<<15)}}();
function l(z,q){var x=z.length,T,O,H,w,$,k=K.v;for(var w=0;w<=q;w++)k[w]=0;for(w=1;w<x;w+=2)k[z[w]]++;
var t=K.m;T=0;k[0]=0;for(O=1;O<=q;O++){T=T+k[O-1]<<1;t[O]=T}for(H=0;H<x;H+=2){$=z[H+1];if($!=0){z[H]=t[$];
t[$]++}}}function N(z,q,x){var T=z.length,O=K.i;for(var H=0;H<T;H+=2)if(z[H+1]!=0){var w=H>>1,$=z[H+1],k=w<<4|$,t=q-$,L=z[H]<<t,n=L+(1<<t);
while(L!=n){var Q=O[L]>>>15-q;x[Q]=k;L++}}}function S(z,q){var x=K.i,T=15-q;for(var O=0;O<z.length;O+=2){var H=z[O]<<q-z[O+1];
z[O]=x[H]>>>T}}(function(){var z=1<<15;for(var q=0;q<z;q++){var x=q;x=(x&2863311530)>>>1|(x&1431655765)<<1;
x=(x&3435973836)>>>2|(x&858993459)<<2;x=(x&4042322160)>>>4|(x&252645135)<<4;x=(x&4278255360)>>>8|(x&16711935)<<8;
K.i[q]=(x>>>16|x<<16)>>>17}function T(O,H,w){while(H--!=0)O.push(0,w)}for(var q=0;q<32;q++){K.B[q]=K.o[q]<<3|K.z[q];
K.h[q]=K.p[q]<<4|K.w[q]}T(K.s,144,8);T(K.s,255-143,9);T(K.s,279-255,7);T(K.s,287-279,8);l(K.s,9);N(K.s,9,K.g);
S(K.s,9);T(K.t,32,5);l(K.t,5);N(K.t,5,K.A);S(K.t,5);T(K.b,19,0);T(K.c,286,0);T(K.e,30,0);T(K.a,320,0)}());
function y(z,q,x){return(z[q>>>3]|z[(q>>>3)+1]<<8)>>>(q&7)&(1<<x)-1}function _(z,q,x){return(z[q>>>3]|z[(q>>>3)+1]<<8|z[(q>>>3)+2]<<16)>>>(q&7)&(1<<x)-1}function A(z,q){return(z[q>>>3]|z[(q>>>3)+1]<<8|z[(q>>>3)+2]<<16)>>>(q&7)}function e(z,q){return(z[q>>>3]|z[(q>>>3)+1]<<8|z[(q>>>3)+2]<<16|z[(q>>>3)+3]<<24)>>>(q&7)}function s(z,q){var x=Uint8Array,T=0,O=0,H=0,w=0,$=0,k=0,t=0,L=0,n=0,Q,o;
if(z[0]==3&&z[1]==0)return q?q:new x(0);var C=q==null;if(C)q=new x(z.length>>>2<<3);while(T==0){T=_(z,n,1);
O=_(z,n+1,2);n+=3;if(O==0){if((n&7)!=0)n+=8-(n&7);var M=(n>>>3)+4,U=z[M-4]|z[M-3]<<8;if(C)q=p(q,L+U);
q.set(new x(z.buffer,z.byteOffset+M,U),L);n=M+U<<3;L+=U;continue}if(C)q=p(q,L+(1<<17));if(O==1){Q=K.g;
o=K.A;k=(1<<9)-1;t=(1<<5)-1}if(O==2){H=y(z,n,5)+257;w=y(z,n+5,5)+1;$=y(z,n+10,4)+4;n+=14;var a=n,R=1;
for(var Y=0;Y<38;Y+=2){K.b[Y]=0;K.b[Y+1]=0}for(var Y=0;Y<$;Y++){var F=y(z,n+Y*3,3);K.b[(K.d[Y]<<1)+1]=F;
if(F>R)R=F}n+=3*$;l(K.b,R);N(K.b,R,K.C);Q=K.k;o=K.n;n=v(K.C,(1<<R)-1,H+w,z,n,K.a);var h=Z(K.a,0,H,K.c);
k=(1<<h)-1;var b=Z(K.a,H,w,K.e);t=(1<<b)-1;l(K.c,h);N(K.c,h,Q);l(K.e,b);N(K.e,b,o)}while(!0){var B=Q[A(z,n)&k];
n+=B&15;var W=B>>>4;if(W>>>8==0){q[L++]=W}else if(W==256){break}else{var j=L+W-254;if(W>264){var E=K.B[W-257];
j=L+(E>>>3)+y(z,n,E&7);n+=E&7}var i=o[A(z,n)&t];n+=i&15;var u=i>>>4,c=K.h[u],D=(c>>>4)+_(z,n,c&15);n+=c&15;
if(C)q=p(q,L+(1<<17));while(L<j){q[L]=q[L++-D];q[L]=q[L++-D];q[L]=q[L++-D];q[L]=q[L++-D]}L=j}}}return q.length==L?q:q.slice(0,L)}function p(z,q){var x=z.length;
if(q<=x)return z;var T=new Uint8Array(Math.max(x<<1,q));T.set(z,0);return T}function v(z,q,x,T,O,H){var w=0;
while(w<x){var $=z[A(T,O)&q];O+=$&15;var k=$>>>4;if(k<=15){H[w]=k;w++}else{var t=0,L=0;if(k==16){L=3+y(T,O,2);
O+=2;t=H[w-1]}else if(k==17){L=3+y(T,O,3);O+=3}else if(k==18){L=11+y(T,O,7);O+=7}var n=w+L;while(w<n){H[w]=t;
w++}}}return O}function Z(z,q,x,T){var O=0,H=0,w=T.length>>>1;while(H<x){var $=z[H+q];T[H<<1]=0;T[(H<<1)+1]=$;
if($>O)O=$;H++}while(H<w){T[H<<1]=0;T[(H<<1)+1]=0;H++}return O}return s}();function ae(K,l){var N=l.width,S=l.height,y=aa(l),_=y>>3,X=Math.ceil(N*y/8),A=new Uint8Array(S*X),e=0,s=[0,0,4,0,2,0,1],p=[0,4,0,2,0,1,0],v=[8,8,8,4,4,2,2],Z=[8,8,4,4,2,2,1],f=0;
while(f<7){var g=v[f],J=Z[f],z=0,P=0,q=s[f],T=0;while(q<S){q+=g;P++}var I=p[f];while(I<N){I+=J;z++}var x=Math.ceil(z*y/8);
av(K,l,e,z,P);var O=s[f];while(O<S){var H=p[f],w=e+T*x<<3;while(H<N){if(y==1){var $=K[w>>3];$=$>>7-(w&7)&1;
A[O*X+(H>>3)]|=$<<7-((H&7)<<0)}if(y==2){var $=K[w>>3];$=$>>6-(w&7)&3;A[O*X+(H>>2)]|=$<<6-((H&3)<<1)}if(y==4){var $=K[w>>3];
$=$>>4-(w&7)&15;A[O*X+(H>>1)]|=$<<4-((H&1)<<2)}if(y>=8){var k=O*X+H*_;for(var t=0;t<_;t++)A[k+t]=K[(w>>3)+t]}w+=y;
H+=J}T++;O+=g}if(z*P!=0)e+=P*(1+x);f=f+1}return A}function aa(K){var l=[1,null,3,1,2,null,4][K.ctype];
return l*K.depth}function av(K,l,N,S,y){var _=aa(l),X=Math.ceil(S*_/8),A,e,p=0;_=Math.ceil(_/8);var s=K[N];
if(s>1)K[N]=[0,0,1][s-2];if(s==3)for(p=_;p<X;p++)K[p+1]=K[p+1]+(K[p+1-_]>>>1)&255;for(var v=0;v<y;v++){A=N+v*X;
e=A+v+1;s=K[e-1];p=0;if(s==0)for(;p<X;p++)K[A+p]=K[e+p];else if(s==1){for(;p<_;p++)K[A+p]=K[e+p];for(;
p<X;p++)K[A+p]=K[e+p]+K[A+p-_]}else if(s==2){for(;p<X;p++)K[A+p]=K[e+p]+K[A+p-X]}else if(s==3){for(;
p<_;p++)K[A+p]=K[e+p]+(K[A+p-X]>>>1);for(;p<X;p++)K[A+p]=K[e+p]+(K[A+p-X]+K[A+p-_]>>>1)}else{for(;p<_;
p++)K[A+p]=K[e+p]+a0(0,K[A+p-X],0);for(;p<X;p++)K[A+p]=K[e+p]+a0(K[A+p-_],K[A+p-X],K[A+p-_-X])}}return K}function a0(K,l,N){var S=K+l-N,y=S-K,_=S-l,X=S-N;
if(y*y<=_*_&&y*y<=X*X)return K;else if(_*_<=X*X)return l;return N}function a9(K,l,N){N.width=d.readUint(K,l);
l+=4;N.height=d.readUint(K,l);l+=4;N.depth=K[l];l++;N.ctype=K[l];l++;N.compress=K[l];l++;N.filter=K[l];
l++;N.interlace=K[l];l++}function al(K,l,N,S,y,_,X,A,e){var ac=Math.min(l,y),s=Math.min(N,_),p=0,v=0;
for(var Z=0;Z<s;Z++)for(var f=0;f<ac;f++){if(X>=0&&A>=0){p=Z*l+f<<2;v=(A+Z)*y+X+f<<2}else{p=(-A+Z)*l-X+f<<2;
v=Z*y+f<<2}if(e==0){S[v]=K[p];S[v+1]=K[p+1];S[v+2]=K[p+2];S[v+3]=K[p+3]}else if(e==1){var g=K[p+3]*(1/255),J=K[p]*g,z=K[p+1]*g,P=K[p+2]*g,q=S[v+3]*(1/255),I=S[v]*q,x=S[v+1]*q,T=S[v+2]*q,O=1-g,H=g+q*O,w=H==0?0:1/H;
S[v+3]=255*H;S[v+0]=(J+I*O)*w;S[v+1]=(z+x*O)*w;S[v+2]=(P+T*O)*w}else if(e==2){var g=K[p+3],J=K[p],z=K[p+1],P=K[p+2],q=S[v+3],I=S[v],x=S[v+1],T=S[v+2];
if(g==q&&J==I&&z==x&&P==T){S[v]=0;S[v+1]=0;S[v+2]=0;S[v+3]=0}else{S[v]=J;S[v+1]=z;S[v+2]=P;S[v+3]=g}}else if(e==3){var g=K[p+3],J=K[p],z=K[p+1],P=K[p+2],q=S[v+3],I=S[v],x=S[v+1],T=S[v+2];
if(g==q&&J==I&&z==x&&P==T)continue;if(g<220&&q>20)return!1}}return!0}return{decode:ao,toRGBA8:a3,_paeth:a0,_copyTile:al,_bin:d}}();
(function(){var d=UPNG._copyTile,a3=UPNG._bin,aj=UPNG._paeth,ao={table:function(){var x=new Uint32Array(256);
for(var T=0;T<256;T++){var O=T;for(var H=0;H<8;H++){if(O&1)O=3988292384^O>>>1;else O=O>>>1}x[T]=O}return x}(),update:function(x,T,O,H){for(var w=0;
w<H;w++)x=ao.table[(x^T[O+w])&255]^x>>>8;return x},crc:function(x,T,O){return ao.update(4294967295,x,T,O)^4294967295}};
function a5(x,T,O,H){T[O]+=x[0]*H>>4;T[O+1]+=x[1]*H>>4;T[O+2]+=x[2]*H>>4;T[O+3]+=x[3]*H>>4}function m(x){return Math.max(0,Math.min(255,x))}function ah(x,T){var O=x[0]-T[0],H=x[1]-T[1],w=x[2]-T[2],k=x[3]-T[3];
return O*O+H*H+w*w+k*k}function ae(x,T,O,H,w,k,t){if(t==null)t=1;var L=H.length,n=[],Q=[],b=4;for(var o=0;
o<L;o++){var C=H[o];n.push([C>>>0&255,C>>>8&255,C>>>16&255,C>>>24&255])}for(var o=0;o<L;o++){var M=4294967295,U=0;
for(var a=0;a<L;a++){var R=ah(n[o],n[a]);if(a!=o&&R<M){M=R;U=a}}var Y=Math.sqrt(M)/2;Q[o]=~~(Y*Y)}var F=new Uint32Array(w.buffer),h=new Int16Array(T*O*4),B=[0,8,2,10,12,4,14,6,3,11,1,9,15,7,13,5];
for(var o=0;o<B.length;o++)B[o]=255*(-.5+(B[o]+.5)/(b*b));for(var W=0;W<O;W++){for(var j=0;j<T;j++){var o=(W*T+j)*4,E,U=0,i=16777215;
if(t!=2)E=[m(x[o]+h[o]),m(x[o+1]+h[o+1]),m(x[o+2]+h[o+2]),m(x[o+3]+h[o+3])];else{var R=B[(W&b-1)*b+(j&b-1)];
E=[m(x[o]+R),m(x[o+1]+R),m(x[o+2]+R),m(x[o+3]+R)]}for(var a=0;a<L;a++){var u=ah(E,n[a]);if(u<i){i=u;
U=a}}var c=n[U],D=[E[0]-c[0],E[1]-c[1],E[2]-c[2],E[3]-c[3]];if(t==1){if(j!=T-1)a5(D,h,o+4,7);if(W!=O-1){if(j!=0)a5(D,h,o+4*T-4,3);
a5(D,h,o+4*T,5);if(j!=T-1)a5(D,h,o+4*T+4,1)}}k[o>>2]=U;F[o>>2]=H[U]}}}function aa(x,T,O,H,w,k,t){if(H==null)H=0;
if(t==null)t=!1;var L=al(x,T,O,H,[!1,!1,!1,0,t,!1]);a9(L,-1);return a0(L,T,O,w,k)}function av(x,T,O,H,w,k,t,L){var n={ctype:0+(H==1?0:2)+(w==0?0:4),depth:k,frames:[]},Q=Date.now(),o=(H+w)*k,C=o*T;
for(var M=0;M<x.length;M++)n.frames.push({rect:{x:0,y:0,width:T,height:O},img:new Uint8Array(x[M]),blend:0,dispose:1,bpp:Math.ceil(o/8),bpl:Math.ceil(C/8)});
a9(n,0,!0);var U=a0(n,T,O,t,L);return U}function a0(x,T,O,H,w){if(w==null)w={};var k=ao.crc,t=a3.writeUint,L=a3.writeUshort,n=a3.writeASCII,Q=8,o=x.frames.length>1,C=!1,M,U=8+(16+5+4)+(o?20:0),af=0;
if(w.sRGB!=null)U+=8+1+4;if(w.pHYs!=null)U+=8+9+4;if(w.iCCP!=null){M=pako.deflate(w.iCCP);U+=8+11+2+M.length+4}if(w.iTXt!=null){var a=w.iTXt,R=Object.keys(a)[0],Y=a[R];
U+=8+R.length+5+a3.writeUTF8(Y)+4}if(x.ctype==3){var F=x.plte.length;for(var h=0;h<F;h++)if(x.plte[h]>>>24!=255)C=!0;
U+=8+F*3+4+(C?8+F*1+4:0)}for(var b=0;b<x.frames.length;b++){var B=x.frames[b];if(o)U+=38;U+=B.cimg.length+12;
if(b!=0)U+=4}U+=12;var W=new Uint8Array(U),j=[137,80,78,71,13,10,26,10];for(var h=0;h<8;h++)W[h]=j[h];
t(W,Q,13);Q+=4;n(W,Q,"IHDR");Q+=4;t(W,Q,T);Q+=4;t(W,Q,O);Q+=4;W[Q]=x.depth;Q++;W[Q]=x.ctype;Q++;W[Q]=0;
Q++;W[Q]=0;Q++;W[Q]=0;Q++;t(W,Q,k(W,Q-17,17));Q+=4;if(w.sRGB!=null){t(W,Q,1);Q+=4;n(W,Q,"sRGB");Q+=4;
W[Q]=w.sRGB;Q++;t(W,Q,k(W,Q-5,5));Q+=4}if(w.iCCP!=null){var E=11+2+M.length;t(W,Q,E);Q+=4;n(W,Q,"iCCP");
Q+=4;n(W,Q,"ICC profile");Q+=11;Q+=2;W.set(M,Q);Q+=M.length;t(W,Q,k(W,Q-(E+4),E+4));Q+=4}if(w.pHYs!=null){t(W,Q,9);
Q+=4;n(W,Q,"pHYs");Q+=4;t(W,Q,w.pHYs[0]);Q+=4;t(W,Q,w.pHYs[1]);Q+=4;W[Q]=w.pHYs[2];Q++;t(W,Q,k(W,Q-13,13));
Q+=4}if(w.iTXt!=null){var a=w.iTXt;t(W,Q,0);Q+=4;n(W,Q,"iTXt");Q+=4;var i=Q,R=Object.keys(a)[0],Y=a[R];
n(W,Q,R);Q+=R.length;Q+=5;a3.writeUTF8(Y,W,Q);Q+=a3.writeUTF8(Y);t(W,i-8,Q-i);t(W,Q,k(W,i-4,Q-i+4));
Q+=4}if(o){t(W,Q,8);Q+=4;n(W,Q,"acTL");Q+=4;t(W,Q,x.frames.length);Q+=4;t(W,Q,w.loop!=null?w.loop:0);
Q+=4;t(W,Q,k(W,Q-12,12));Q+=4}if(x.ctype==3){var F=x.plte.length;t(W,Q,F*3);Q+=4;n(W,Q,"PLTE");Q+=4;
for(var h=0;h<F;h++){var u=h*3,c=x.plte[h],D=c&255,as=c>>>8&255,G=c>>>16&255;W[Q+u+0]=D;W[Q+u+1]=as;
W[Q+u+2]=G}Q+=F*3;t(W,Q,k(W,Q-F*3-4,F*3+4));Q+=4;if(C){t(W,Q,F);Q+=4;n(W,Q,"tRNS");Q+=4;for(var h=0;
h<F;h++)W[Q+h]=x.plte[h]>>>24&255;Q+=F;t(W,Q,k(W,Q-F-4,F+4));Q+=4}}for(var b=0;b<x.frames.length;b++){var B=x.frames[b];
if(o){t(W,Q,26);Q+=4;n(W,Q,"fcTL");Q+=4;t(W,Q,af++);Q+=4;t(W,Q,B.rect.width);Q+=4;t(W,Q,B.rect.height);
Q+=4;t(W,Q,B.rect.x);Q+=4;t(W,Q,B.rect.y);Q+=4;L(W,Q,H[b]);Q+=2;L(W,Q,1e3);Q+=2;W[Q]=B.dispose;Q++;W[Q]=B.blend;
Q++;t(W,Q,k(W,Q-30,30));Q+=4}var am=B.cimg,F=am.length;t(W,Q,F+(b==0?0:4));Q+=4;var r=Q;n(W,Q,b==0?"IDAT":"fdAT");
Q+=4;if(b!=0){t(W,Q,af++);Q+=4}W.set(am,Q);Q+=F;t(W,Q,k(W,r,Q-r));Q+=4}t(W,Q,0);Q+=4;n(W,Q,"IEND");Q+=4;
t(W,Q,k(W,Q-4,4));Q+=4;return W.buffer}function a9(x,T,O){for(var H=0;H<x.frames.length;H++){var w=x.frames[H],k=w.rect.width,t=w.rect.height,L=new Uint8Array(t*w.bpl+t);
w.cimg=S(w.img,t,w.bpp,w.bpl,L,T,O)}}function al(x,T,O,H,w){var k=w[0],t=w[1],L=w[2],n=w[3],Q=w[4],o=w[5],C=6,M=8,U=255;
for(var a=0;a<x.length;a++){var R=new Uint8Array(x[a]),Y=R.length;for(var F=0;F<Y;F+=4)U&=R[F+3]}var h=U!=255,b=K(x,T,O,k,t,L),B={},W=[],j=[];
if(H!=0){var E=[],c=0;for(var F=0;F<b.length;F++)E.push(b[F].img.buffer);var i=I(E),u=_(i,H);for(var F=0;
F<u.plte.length;F++)W.push(u.plte[F].est.rgba);for(var F=0;F<b.length;F++){var D=b[F],as=D.img.length,G=new Uint8Array(u.inds.buffer,c>>2,as>>2);
j.push(G);var af=new Uint8Array(u.abuf,c,as);if(o)ae(D.img,D.rect.width,D.rect.height,W,af,G);D.img.set(af);
c+=as}}else{for(var a=0;a<b.length;a++){var D=b[a],am=new Uint32Array(D.img.buffer),r=D.rect.width,Y=am.length,G=new Uint8Array(Y);
j.push(G);for(var F=0;F<Y;F++){var a4=am[F];if(F!=0&&a4==am[F-1])G[F]=G[F-1];else if(F>r&&a4==am[F-r])G[F]=G[F-r];
else{var at=B[a4];if(at==null){B[a4]=at=W.length;W.push(a4);if(W.length>=300)break}G[F]=at}}}}var ap=W.length;
if(ap<=256&&Q==!1){if(ap<=2)M=1;else if(ap<=4)M=2;else if(ap<=16)M=4;else M=8;M=Math.max(M,n)}for(var a=0;
a<b.length;a++){var D=b[a],a7=D.rect.x,au=D.rect.y,r=D.rect.width,ag=D.rect.height,a2=D.img,a6=new Uint32Array(a2.buffer),ar=4*r,a1=4;
if(ap<=256&&Q==!1){ar=Math.ceil(M*r/8);var ai=new Uint8Array(ar*ag),ak=j[a];for(var an=0;an<ag;an++){var F=an*ar,ad=an*r;
if(M==8)for(var V=0;V<r;V++)ai[F+V]=ak[ad+V];else if(M==4)for(var V=0;V<r;V++)ai[F+(V>>1)]|=ak[ad+V]<<4-(V&1)*4;
else if(M==2)for(var V=0;V<r;V++)ai[F+(V>>2)]|=ak[ad+V]<<6-(V&3)*2;else if(M==1)for(var V=0;V<r;V++)ai[F+(V>>3)]|=ak[ad+V]<<7-(V&7)*1}a2=ai;
C=3;a1=1}else if(h==!1&&b.length==1){var ai=new Uint8Array(r*ag*3),ab=r*ag;for(var F=0;F<ab;F++){var aq=F*3,a8=F*4;
ai[aq]=a2[a8];ai[aq+1]=a2[a8+1];ai[aq+2]=a2[a8+2]}a2=ai;C=2;a1=3;ar=3*r}D.img=a2;D.bpl=ar;D.bpp=a1}return{ctype:C,depth:M,plte:W,frames:b}}function K(x,T,O,H,w,k){var t=[],ag=0;
for(var L=0;L<x.length;L++){var n=new Uint8Array(x[L]),Q=new Uint32Array(n.buffer),o,C=0,M=0,U=T,a=O,R=H?1:0;
if(L!=0){var Y=k||H||L==1||t[L-2].dispose!=0?1:2,F=0,h=1e9;for(var b=0;b<Y;b++){var B=new Uint8Array(x[L-1-b]),W=new Uint32Array(x[L-1-b]),j=T,E=O,i=-1,u=-1;
for(var c=0;c<O;c++)for(var D=0;D<T;D++){var as=c*T+D;if(Q[as]!=W[as]){if(D<j)j=D;if(D>i)i=D;if(c<E)E=c;
if(c>u)u=c}}if(i==-1)j=E=i=u=0;if(w){if((j&1)==1)j--;if((E&1)==1)E--}var G=(i-j+1)*(u-E+1);if(G<h){h=G;
F=b;C=j;M=E;U=i-j+1;a=u-E+1}}var B=new Uint8Array(x[L-1-F]);if(F==1)t[L-1].dispose=2;o=new Uint8Array(U*a*4);
d(B,T,O,o,U,a,-C,-M,0);R=d(n,T,O,o,U,a,-C,-M,3)?1:0;if(R==1)N(n,T,O,o,{x:C,y:M,width:U,height:a});else d(n,T,O,o,U,a,-C,-M,0)}else o=n.slice(0);
t.push({rect:{x:C,y:M,width:U,height:a},img:o,blend:R,dispose:0})}if(H)for(var L=0;L<t.length;L++){var af=t[L];
if(af.blend==1)continue;var am=af.rect,r=t[L-1].rect,a4=Math.min(am.x,r.x),at=Math.min(am.y,r.y),ap=Math.max(am.x+am.width,r.x+r.width),a7=Math.max(am.y+am.height,r.y+r.height),au={x:a4,y:at,width:ap-a4,height:a7-at};
t[L-1].dispose=1;if(L-1!=0)l(x,T,O,t,L-1,au,w);l(x,T,O,t,L,au,w)}if(x.length!=1)for(var as=0;as<t.length;
as++){var af=t[as];ag+=af.rect.width*af.rect.height}return t}function l(x,T,O,H,w,k,t){var L=Uint8Array,n=Uint32Array,Q=new L(x[w-1]),o=new n(x[w-1]),C=w+1<x.length?new L(x[w+1]):null,M=new L(x[w]),U=new n(M.buffer),a=T,R=O,Y=-1,F=-1;
for(var h=0;h<k.height;h++)for(var b=0;b<k.width;b++){var B=k.x+b,W=k.y+h,j=W*T+B,E=U[j];if(E==0||H[w-1].dispose==0&&o[j]==E&&(C==null||C[j*4+3]!=0)){}else{if(B<a)a=B;
if(B>Y)Y=B;if(W<R)R=W;if(W>F)F=W}}if(Y==-1)a=R=Y=F=0;if(t){if((a&1)==1)a--;if((R&1)==1)R--}k={x:a,y:R,width:Y-a+1,height:F-R+1};
var i=H[w];i.rect=k;i.blend=1;i.img=new Uint8Array(k.width*k.height*4);if(H[w-1].dispose==0){d(Q,T,O,i.img,k.width,k.height,-k.x,-k.y,0);
N(M,T,O,i.img,k)}else d(M,T,O,i.img,k.width,k.height,-k.x,-k.y,0)}function N(x,T,O,H,w){d(x,T,O,H,w.width,w.height,-w.x,-w.y,2)}function S(x,T,O,H,w,k,t){var L=[],n=[0,1,2,3,4],Q,a,R=1e9;
if(k!=-1)n=[k];else if(T*H>5e5||O==1)n=[0];if(t)Q={level:0};var o=w.length>1e7&&window.UZIP!=null?window.UZIP:pako,C=Date.now();
for(var M=0;M<n.length;M++){for(var U=0;U<T;U++)y(w,x,U,H,O,n[M]);L.push(o.deflate(w,Q))}for(var M=0;
M<L.length;M++)if(L[M].length<R){a=M;R=L[M].length}return L[a]}function y(x,T,O,H,w,k){var t=O*H,L=t+O;
x[L]=k;L++;if(k==0){if(H<500)for(var n=0;n<H;n++)x[L+n]=T[t+n];else x.set(new Uint8Array(T.buffer,t,H),L)}else if(k==1){for(var n=0;
n<w;n++)x[L+n]=T[t+n];for(var n=w;n<H;n++)x[L+n]=T[t+n]-T[t+n-w]+256&255}else if(O==0){for(var n=0;n<w;
n++)x[L+n]=T[t+n];if(k==2)for(var n=w;n<H;n++)x[L+n]=T[t+n];if(k==3)for(var n=w;n<H;n++)x[L+n]=T[t+n]-(T[t+n-w]>>1)+256&255;
if(k==4)for(var n=w;n<H;n++)x[L+n]=T[t+n]-aj(T[t+n-w],0,0)+256&255}else{if(k==2){for(var n=0;n<H;n++)x[L+n]=T[t+n]+256-T[t+n-H]&255}if(k==3){for(var n=0;
n<w;n++)x[L+n]=T[t+n]+256-(T[t+n-H]>>1)&255;for(var n=w;n<H;n++)x[L+n]=T[t+n]+256-(T[t+n-H]+T[t+n-w]>>1)&255}if(k==4){for(var n=0;
n<w;n++)x[L+n]=T[t+n]+256-aj(0,T[t+n-H],0)&255;for(var n=w;n<H;n++)x[L+n]=T[t+n]+256-aj(T[t+n-w],T[t+n-H],T[t+n-w-H])&255}}}function _(x,T,O){var H=Date.now(),w=new Uint8Array(x),k=w.slice(0),t=new Uint32Array(k.buffer),L=s(k,T),n=L[0],Q=L[1],o=Q.length,C=new Uint32Array(o),M=new Uint8Array(C.buffer),Y;
for(var U=0;U<o;U++)C[U]=Q[U].est.rgba;var a=w.length,R=new Uint8Array(a>>2);if(o<=60){ac(w,R,M);X(R,t,C)}else if(w.length<32e6)for(var U=0;
U<a;U+=4){var F=w[U]*(1/255),h=w[U+1]*(1/255),b=w[U+2]*(1/255),B=w[U+3]*(1/255);Y=p(n,F,h,b,B);R[U>>2]=Y.ind;
t[U>>2]=Y.est.rgba}else for(var U=0;U<a;U+=4){var F=w[U]*(1/255),h=w[U+1]*(1/255),b=w[U+2]*(1/255),B=w[U+3]*(1/255);
Y=n;while(Y.left)Y=v(Y.est,F,h,b,B)<=0?Y.left:Y.right;R[U>>2]=Y.ind;t[U>>2]=Y.est.rgba}if(O||w.length*o<10*4e6){var W=1e9;
for(var U=0;U<10;U++){var j=A(w,R,M);if(j/W>.997)break;W=j}for(var U=0;U<o;U++)Q[U].est.rgba=C[U];X(R,t,C)}return{abuf:k.buffer,inds:R,plte:Q}}function X(x,T,O){for(var H=0;
H<x.length;H++)T[H]=O[x[H]]}function A(x,T,O){e(x,T,O);var H=ac(x,T,O);return H}function e(x,T,O){var H=O.length>>>2,w=new Uint32Array(H*4),k=new Uint32Array(H);
for(var t=0;t<x.length;t+=4){var L=T[t>>>2],n=L*4;k[L]++;w[n]+=x[t];w[n+1]+=x[t+1];w[n+2]+=x[t+2];w[n+3]+=x[t+3]}for(var t=0;
t<O.length;t++)O[t]=Math.round(w[t]/k[t>>>2])}function ac(x,T,O){var H=0,w=O.length>>>2,k=[];for(var t=0;
t<w;t++){var L=t*4,n=O[L],Q=O[L+1],o=O[L+2],C=O[L+3],M=0,U=1e9;for(var a=0;a<w;a++){if(t==a)continue;
var R=a*4,Y=n-O[R],F=Q-O[R+1],h=o-O[R+2],b=C-O[R+3],B=Y*Y+F*F+h*h+b*b;if(B<U){U=B;M=a}}k[t]=Math.sqrt(U)*.5;
k[t]=k[t]*k[t]}for(var t=0;t<x.length;t+=4){var n=x[t],Q=x[t+1],o=x[t+2],C=x[t+3],M=T[t>>>2],L=M*4,Y=n-O[L],F=Q-O[L+1],h=o-O[L+2],b=C-O[L+3],U=Y*Y+F*F+h*h+b*b;
if(U>k[M])for(var a=0;a<w;a++){L=a*4;Y=n-O[L];F=Q-O[L+1];h=o-O[L+2];b=C-O[L+3];var B=Y*Y+F*F+h*h+b*b;
if(B<U){U=B;M=a;if(U<k[a])break}}T[t>>>2]=M;H+=U}return H/(x.length>>>2)}function s(x,T,O){if(O==null)O=1e-4;
var H=new Uint32Array(x.buffer),w={i0:0,i1:x.length,bst:null,est:null,tdst:0,left:null,right:null};w.bst=z(x,w.i0,w.i1);
w.est=P(w.bst);var k=[w];while(k.length<T){var t=0,L=0;for(var n=0;n<k.length;n++)if(k[n].est.L>t){t=k[n].est.L;
L=n}if(t<O)break;var Q=k[L],o=f(x,H,Q.i0,Q.i1,Q.est.e,Q.est.eMq255),C=Q.i0>=o||Q.i1<=o;if(C){Q.est.L=0;
continue}var M={i0:Q.i0,i1:o,bst:null,est:null,tdst:0,left:null,right:null};M.bst=z(x,M.i0,M.i1);M.est=P(M.bst);
var U={i0:o,i1:Q.i1,bst:null,est:null,tdst:0,left:null,right:null};U.bst={R:[],m:[],N:Q.bst.N-M.bst.N};
for(var n=0;n<16;n++)U.bst.R[n]=Q.bst.R[n]-M.bst.R[n];for(var n=0;n<4;n++)U.bst.m[n]=Q.bst.m[n]-M.bst.m[n];
U.est=P(U.bst);Q.left=M;Q.right=U;k[L]=M;k.push(U)}k.sort(function(a,R){return R.bst.N-a.bst.N});for(var n=0;
n<k.length;n++)k[n].ind=n;return[w,k]}function p(x,T,O,H,w){if(x.left==null){x.tdst=Z(x.est.q,T,O,H,w);
return x}var k=v(x.est,T,O,H,w),t=x.left,L=x.right;if(k>0){t=x.right;L=x.left}var n=p(t,T,O,H,w);if(n.tdst<=k*k)return n;
var Q=p(L,T,O,H,w);return Q.tdst<n.tdst?Q:n}function v(x,T,O,H,w){var k=x.e;return k[0]*T+k[1]*O+k[2]*H+k[3]*w-x.eMq}function Z(x,T,O,H,w){var k=T-x[0],t=O-x[1],L=H-x[2],n=w-x[3];
return k*k+t*t+L*L+n*n}function f(x,T,O,H,w,k){H-=4;var t=0;while(O<H){while(g(x,O,w)<=k)O+=4;while(g(x,H,w)>k)H-=4;
if(O>=H)break;var L=T[O>>2];T[O>>2]=T[H>>2];T[H>>2]=L;O+=4;H-=4}while(g(x,O,w)>k)O-=4;return O+4}function g(x,T,O){return x[T]*O[0]+x[T+1]*O[1]+x[T+2]*O[2]+x[T+3]*O[3]}function z(x,T,O){var H=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],w=[0,0,0,0],m=O-T>>2;
for(var k=T;k<O;k+=4){var t=x[k]*(1/255),L=x[k+1]*(1/255),Q=x[k+2]*(1/255),o=x[k+3]*(1/255);w[0]+=t;
w[1]+=L;w[2]+=Q;w[3]+=o;H[0]+=t*t;H[1]+=t*L;H[2]+=t*Q;H[3]+=t*o;H[5]+=L*L;H[6]+=L*Q;H[7]+=L*o;H[10]+=Q*Q;
H[11]+=Q*o;H[15]+=o*o}H[4]=H[1];H[8]=H[2];H[9]=H[6];H[12]=H[3];H[13]=H[7];H[14]=H[11];return{R:H,m:w,N:m}}function P(z){var x=z.R,T=z.m,m=z.N,O=T[0],H=T[1],w=T[2],k=T[3],t=m==0?0:1/m,L=[x[0]-O*O*t,x[1]-O*H*t,x[2]-O*w*t,x[3]-O*k*t,x[4]-H*O*t,x[5]-H*H*t,x[6]-H*w*t,x[7]-H*k*t,x[8]-w*O*t,x[9]-w*H*t,x[10]-w*w*t,x[11]-w*k*t,x[12]-k*O*t,x[13]-k*H*t,x[14]-k*w*t,x[15]-k*k*t],Q=L,o=q,C=[Math.random(),Math.random(),Math.random(),Math.random()],M=0,U=0;
if(m!=0)for(var a=0;a<16;a++){C=o.multVec(Q,C);U=Math.sqrt(o.dot(C,C));C=o.sml(1/U,C);if(a!=0&&Math.abs(U-M)<1e-9)break;
M=U}var R=[O*t,H*t,w*t,k*t],Y=o.dot(o.sml(255,R),C);return{Cov:L,q:R,e:C,L:M,eMq255:Y,eMq:o.dot(C,R),rgba:(Math.round(255*R[3])<<24|Math.round(255*R[2])<<16|Math.round(255*R[1])<<8|Math.round(255*R[0])<<0)>>>0}}var q={multVec:function(x,T){return[x[0]*T[0]+x[1]*T[1]+x[2]*T[2]+x[3]*T[3],x[4]*T[0]+x[5]*T[1]+x[6]*T[2]+x[7]*T[3],x[8]*T[0]+x[9]*T[1]+x[10]*T[2]+x[11]*T[3],x[12]*T[0]+x[13]*T[1]+x[14]*T[2]+x[15]*T[3]]},dot:function(x,T){return x[0]*T[0]+x[1]*T[1]+x[2]*T[2]+x[3]*T[3]},sml:function(x,T){return[x*T[0],x*T[1],x*T[2],x*T[3]]}};
function I(x){var T=0,w=0;for(var O=0;O<x.length;O++)T+=x[O].byteLength;var H=new Uint8Array(T);for(var O=0;
O<x.length;O++){var k=new Uint8Array(x[O]),t=k.length;for(var L=0;L<t;L+=4){var n=k[L],Q=k[L+1],o=k[L+2],C=k[L+3];
if(C==0)n=Q=o=0;H[w+L]=n;H[w+L+1]=Q;H[w+L+2]=o;H[w+L+3]=C}w+=t}return H.buffer}UPNG.encode=aa;UPNG.encodeLL=av;
UPNG.encode.compress=al;UPNG.encode.dither=ae;UPNG.quantize=_;UPNG.quantize.findNearest=ac;UPNG.quantize.getKDtree=s;
UPNG.quantize.getNearest=p}());
var UTEX=function(){function O(I,u,K,W,S){var Q=new Uint8Array(4*4*4);for(var R=0;R<S;R+=4)for(var e=0;
e<W;e+=4){y(I,u,Q);m(K,W,S,e,R,Q);u+=8}return u}function ag(I,u,K,W,S){var Q=new Uint8Array(4*4*4);for(var R=0;
R<S;R+=4)for(var e=0;e<W;e+=4){y(I,u+8,Q);m(K,W,S,e,R,Q);u+=16}return u}function B(I,u,K,W,S){var Q=new Uint8Array(4*4*4);
for(var R=0;R<S;R+=4)for(var e=0;e<W;e+=4){F(I,u,Q);m(K,W,S,e,R,Q);u+=8}return u}function C(I,u,K,W,S){var Q=new Uint8Array(16*4),R=0;
for(var e=0;e<K;e+=4)for(var E=0;E<u;E+=4){M(I,u,K,E,e,Q);R+=V(W,S,Q);S+=8}return S}function H(I,u,K,W,S){var Q={m:u*8},R=new Uint8Array(4*4*4);
for(var e=0;e<S;e+=4)for(var E=0;E<W;E+=4){F(I,u+8,R,!0);for(var v=0;v<64;v+=4){var b=ad(I,Q,4);R[v+3]=255*(b/15)}m(K,W,S,E,e,R);
u+=16;Q.m+=64}return u}function o(I,u){var K=[I,u];if(I>u)K.push(6/7*I+1/7*u,5/7*I+2/7*u,4/7*I+3/7*u,3/7*I+4/7*u,2/7*I+5/7*u,1/7*I+6/7*u);
else K.push(4/5*I+1/5*u,3/5*I+2/5*u,2/5*I+3/5*u,1/5*I+4/5*u,0,255);return K}function f(I,u,K,W,S){var Q=o(I[u],I[u+1]);
K.m+=16;for(var R=0;R<64;R+=4){var e=ad(I,K,3);W[R+S]=Q[e]}}function aj(I,u,K,W,S){var Q={m:u*8},R=new Uint8Array(4*4*4);
R.fill(255);for(var e=0;e<S;e+=4)for(var E=0;E<W;E+=4){f(I,u,Q,R,1);u+=8;f(I,u,Q,R,0);u+=8;m(K,W,S,E,e,R)}return u}function a4(I,u,K,W,S){var Q={m:u*8},R=new Uint8Array(4*4*4);
for(var e=0;e<S;e+=4)for(var E=0;E<W;E+=4){F(I,u+8,R,!0);f(I,u,Q,R,3);Q.m+=64;m(K,W,S,E,e,R);u+=16}return u}function Y(I,u,K,W,S){var Q=new Uint8Array(16*4);
for(var R=0;R<K;R+=4)for(var e=0;e<u;e+=4){M(I,u,K,e,R,Q);var E=Q[3],v=Q[3];for(var b=7;b<64;b+=4){var $=Q[b];
if($<E)E=$;else if(v<$)v=$}W[S]=v;W[S+1]=E;S+=2;var j=o(v,E),h=S+2<<3;for(var b=0;b<64;b+=32){var s=0,h=0;
for(var n=0;n<32;n+=4){var x=0,d=500,$=Q[b+n+3];for(var t=0;t<8;t++){var i=Math.abs(j[t]-$);if(i<d){d=i;
x=t}}s=s|x<<h;h+=3}W[S]=s;W[S+1]=s>>8;W[S+2]=s>>16;S+=3}V(W,S,Q,!0);S+=8}return S}var g=new Uint8Array(16);
function y(I,u,K){var W=I[u+1]<<8|I[u],S=I[u+3]<<8|I[u+2],Q=(W&31)*(255/31),R=(W>>>5&31)*(255/31),e=(W>>10)*(255/31),E=(S&31)*(255/31),v=(S>>>5&63)*(255/63),b=(S>>11)*(255/31),$=g;
$[0]=c(e);$[1]=c(R);$[2]=c(Q);$[3]=255;$[12]=c(b);$[13]=c(v);$[14]=c(E);$[15]=255;var j=2/3,h=1-j;$[4]=c(j*e+h*b);
$[5]=c(j*R+h*v);$[6]=c(j*Q+h*E);$[7]=255;j=1/3;h=1-j;$[8]=c(j*e+h*b);$[9]=c(j*R+h*v);$[10]=c(j*Q+h*E);
$[11]=255;as(I,K,$,u)}function a(I,u,K){var W=(K&63488)>>>11,S=(K&2016)>>>5,Q=(K&31)>>>0;I[u+0]=W*33>>>2;
I[u+1]=S*65>>>4;I[u+2]=Q*33>>>2}function k(I,u,K){return c(I*(31/255))<<11|c(u*(63/255))<<5|c(K*(31/255))}function X(I,u,K){return I*(64-K)+u*K+32>>6}function _(I,u,K,W){u[K]=X(I[0],I[4],W);
u[K+1]=X(I[1],I[5],W);u[K+2]=X(I[2],I[6],W);u[K+3]=255}function F(I,u,K,W){var S=I[u+1]<<8|I[u],Q=I[u+3]<<8|I[u+2],R=Z(S,Q,W);
as(I,K,R,u)}function Z(I,u,K){var W=g;a(W,0,I);W[3]=255;a(W,4,u);W[7]=255;if(u<I||K){_(W,W,8,21);_(W,W,12,43)}else{_(W,W,8,32);
W[12]=0;W[13]=0;W[14]=0;W[15]=0}return W}function as(I,u,K,W){var S=W+4<<3;for(var Q=0;Q<64;Q+=4){var R=I[S>>3]>>(S&7)&3;
S+=2;R=R<<2;u[Q]=K[R];u[Q+1]=K[R+1];u[Q+2]=K[R+2];u[Q+3]=K[R+3]}}function c(I){return~~(.5+I)}function l(I,u){for(var K=0;
K<3;K++)u[K]=u[K+3]=I[K];for(var K=0;K<64;K+=4){var W=I[K],S=I[K+1],Q=I[K+2];if(W<u[0])u[0]=W;if(S<u[1])u[1]=S;
if(Q<u[2])u[2]=Q;if(W>u[3])u[3]=W;if(S>u[4])u[4]=S;if(Q>u[5])u[5]=Q}}function a0(I,u,K){for(var W=0;
W<3;W++){var S=c((I[W+3]-I[W])*K),Q=I[W]+S,R=I[W+3]-S;u[W]=Q<0?0:Q>255?255:Q;u[W+3]=R<0?0:R>255?255:R}}function V(I,u,K,W){var S=0,Q=0,R=1e9,e=[0,0,0,0,0,0],E=255;
for(var v=3;v<64;v+=4)E&=K[v];var b=W?!1:E<128;if(!1){l(K,b);a0(b,1/11)}else{var $=e.slice(0);l(K,$);
var j=-1,h=-1;for(var s=-.1;s<.3;s+=.005){a0($,e,s);var n=k(e[0],e[1],e[2]),x=k(e[3],e[4],e[5]);if(n==j&&x==h)continue;
j=n;h=x;var d=J(I,u,K,b,n,x);if(d<R){S=n;Q=x;R=d}}G(K,e);var n=k(e[0],e[1],e[2]),x=k(e[3],e[4],e[5]);
d=J(I,u,K,b,n,x);if(d<R){S=n;Q=x;R=d}}var t=J(I,u,K,b,S,Q);return t}function J(I,u,K,W,S,Q){if(S<Q!=W){var R=S;
S=Q;Q=R}I[u+0]=S&255;I[u+1]=S>>8;I[u+2]=Q&255;I[u+3]=Q>>8;var e=Z(S,Q),E=u*8+32,v=0;I[u+4]=0;I[u+5]=0;
I[u+6]=0;I[u+7]=0;var b=A;for(var $=0;$<64;$+=4){var j=K[$],h=K[$+1],s=K[$+2],n=K[$+3],x=b(j,h,s,e[0],e[1],e[2]),d=b(j,h,s,e[4],e[5],e[6]),t=b(j,h,s,e[8],e[9],e[10]),i=b(j,h,s,e[12],e[13],e[14]),L=Math.min(Math.min(x,d),Math.min(t,i)),p=0;
v+=L;if(W&&n<128)p=3;else if(L==d)p=1;else if(L==t)p=2;else if(L==i)p=3;I[E>>3]|=p<<(E&7);E+=2}return v}function M(I,u,K,W,S,Q){for(var R=0;
R<4;R++){var e=(S+R)*u+W<<2,E=R<<4;Q[E+0]=I[e+0];Q[E+1]=I[e+1];Q[E+2]=I[e+2];Q[E+3]=I[e+3];Q[E+4]=I[e+4];
Q[E+5]=I[e+5];Q[E+6]=I[e+6];Q[E+7]=I[e+7];Q[E+8]=I[e+8];Q[E+9]=I[e+9];Q[E+10]=I[e+10];Q[E+11]=I[e+11];
Q[E+12]=I[e+12];Q[E+13]=I[e+13];Q[E+14]=I[e+14];Q[E+15]=I[e+15]}}function m(I,u,K,W,S,Q){for(var R=0;
R<4;R++){var e=(S+R)*u+W<<2,E=R<<4;I[e+0]=Q[E+0];I[e+1]=Q[E+1];I[e+2]=Q[E+2];I[e+3]=Q[E+3];I[e+4]=Q[E+4];
I[e+5]=Q[E+5];I[e+6]=Q[E+6];I[e+7]=Q[E+7];I[e+8]=Q[E+8];I[e+9]=Q[E+9];I[e+10]=Q[E+10];I[e+11]=Q[E+11];
I[e+12]=Q[E+12];I[e+13]=Q[E+13];I[e+14]=Q[E+14];I[e+15]=Q[E+15]}}function ad(I,u,K){var W=0,S=K;while(K!=0){W=W|w(I,u)<<S-K;
K--}return W}function w(I,u){var K=u.m;u.m++;return I[K>>3]>>(K&7)&1}function al(I,u,K){var W=u>>1,S=K>>1,Q=new Uint8Array(W*S*4);
for(var R=0;R<S;R++)for(var e=0;e<W;e++){var E=R*W+e<<2,v=(R<<1)*u+(e<<1)<<2,b=I[v+3],$=I[v+7],j=I[v]*b+I[v+4]*$,h=I[v+1]*b+I[v+5]*$,s=I[v+2]*b+I[v+6]*$;
v+=u<<2;var n=I[v+3],x=I[v+7];j+=I[v]*n+I[v+4]*x;h+=I[v+1]*n+I[v+5]*x;s+=I[v+2]*n+I[v+6]*x;var p=b+$+n+x+2>>2,z=p==0?0:.25/p;
Q[E]=~~(j*z+.5);Q[E+1]=~~(h*z+.5);Q[E+2]=~~(s*z+.5);Q[E+3]=p}return Q}function A(I,u,K,W,S,Q){var R=I-W,e=u-S,E=K-Q;
return R*R+e*e+E*E}function G(I,u){var K=A,W=0,S=0,Q=0;for(var R=0;R<64;R+=4){var e=I[R],E=I[R+1],v=I[R+2];
for(var b=R+4;b<64;b+=4){var $=K(e,E,v,I[b],I[b+1],I[b+2]);if($>Q){Q=$;W=R;S=b}}}for(var R=0;R<3;R++){u[R]=I[W+R];
u[R+3]=I[S+R]}}var a7=new ArrayBuffer(4),ae=new Uint8Array(a7),U=new Uint32Array(a7),ak=new Uint16Array(a7),aq={e:function(I,u){ae[0]=I[u+0];
ae[1]=I[u+1];return ak[0]},V:function(I,u){ae[0]=I[u+0];ae[1]=I[u+1];ae[2]=I[u+2];ae[3]=I[u+3];return U[0]},W:function(I,u,K){U[0]=K;
I[u+0]=ae[0];I[u+1]=ae[1];I[u+2]=ae[2];I[u+3]=ae[3]},s:function(I,u,K){var W="";for(var S=0;S<K;S++)W+=String.fromCharCode(I[u+S]);
return W},C:function(I,u,K){for(var W=0;W<K.length;W++)I[u+W]=K.charCodeAt(W)},R:ad,H:M,l:m,a7:A};return{readBC1:B,A:B,K:H,a:a4,$:aj,q:O,O:ag,N:C,u:Y,z:al,I:aq}}();
(function(){var O=[["0000000000000000"],"0011001100110011 0001000100010001 0111011101110111 0001001100110111 0000000100010011 0011011101111111 0001001101111111 0000000100110111 0000000000010011 0011011111111111 0000000101111111 0000000000010111 0001011111111111 0000000011111111 0000111111111111 0000000000001111 0000100011101111 0111000100000000 0000000010001110 0111001100010000 0011000100000000 0000100011001110 0000000010001100 0111001100110001 0011000100010000 0000100010001100 0110011001100110 0011011001101100 0001011111101000 0000111111110000 0111000110001110 0011100110011100 0101010101010101 0000111100001111 0101101001011010 0011001111001100 0011110000111100 0101010110101010 0110100101101001 0101101010100101 0111001111001110 0001001111001000 0011001001001100 0011101111011100 0110100110010110 0011110011000011 0110011010011001 0000011001100000 0100111001000000 0010011100100000 0000001001110010 0000010011100100 0110110010010011 0011011011001001 0110001110011100 0011100111000110 0110110011001001 0110001100111001 0111111010000001 0001100011100111 0000111100110011 0011001111110000 0010001011101110 0100010001110111".split(" "),"0011001102212222 0001001122112221 0000200122112211 0222002200110111 0000000011221122 0011001100220022 0022002211111111 0011001122112211 0000000011112222 0000111111112222 0000111122222222 0012001200120012 0112011201120112 0122012201220122 0011011211221222 0011200122002220 0001001101121122 0111001120012200 0000112211221122 0022002200221111 0111011102220222 0001000122212221 0000001101220122 0000110022102210 0122012200110000 0012001211222222 0110122112210110 0000011012211221 0022110211020022 0110011020022222 0011012201220011 0000200022112221 0000000211221222 0222002200120011 0011001200220222 0120012001200120 0000111122220000 0120120120120120 0120201212010120 0011220011220011 0011112222000011 0101010122222222 0000000021212121 0022112200221122 0022001100220011 0220122102201221 0101222222220101 0000212121212121 0101010101012222 0222011102220111 0002111200021112 0000211221122112 0222011101110222 0002111211120002 0110011001102222 0000000021122112 0110011022222222 0022001100110022 0022112211220022 0000000000002112 0002000100020001 0222122202221222 0101222222222222 0111201122012220".split(" ")],ag=[],V,J,M,m,ad,w,al,A,G;
for(var B=0;B<O.length;B++){ag.push([]);for(var C=0;C<O[B].length;C++){var H=[];ag[B].push(H);var o=[];
for(var f=0;f<B+1;f++){H.push([]);o.push([])}var aj=O[B][C],y=O[B][C]=new Uint8Array(16);for(var f=0;
f<16;f++){var a=y[f]=aj.charCodeAt(f)-48;H[a].push(f)}}}var k=[[[0,0,0]],[[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,2,0],[0,8,0],[0,2,0],[0,2,0],[0,8,0],[0,8,0],[0,15,0],[0,2,0],[0,8,0],[0,2,0],[0,2,0],[0,8,0],[0,8,0],[0,2,0],[0,2,0],[0,15,0],[0,15,0],[0,6,0],[0,8,0],[0,2,0],[0,8,0],[0,15,0],[0,15,0],[0,2,0],[0,8,0],[0,2,0],[0,2,0],[0,2,0],[0,15,0],[0,15,0],[0,6,0],[0,6,0],[0,2,0],[0,6,0],[0,8,0],[0,15,0],[0,15,0],[0,2,0],[0,2,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,2,0],[0,2,0],[0,15,0]],[[0,3,15],[0,3,8],[0,15,8],[0,15,3],[0,8,15],[0,3,15],[0,15,3],[0,15,8],[0,8,15],[0,8,15],[0,6,15],[0,6,15],[0,6,15],[0,5,15],[0,3,15],[0,3,8],[0,3,15],[0,3,8],[0,8,15],[0,15,3],[0,3,15],[0,3,8],[0,6,15],[0,10,8],[0,5,3],[0,8,15],[0,8,6],[0,6,10],[0,8,15],[0,5,15],[0,15,10],[0,15,8],[0,8,15],[0,15,3],[0,3,15],[0,5,10],[0,6,10],[0,10,8],[0,8,9],[0,15,10],[0,15,6],[0,3,15],[0,15,8],[0,5,15],[0,15,3],[0,15,6],[0,15,6],[0,15,8],[0,3,15],[0,15,3],[0,5,15],[0,5,15],[0,5,15],[0,8,15],[0,5,15],[0,10,15],[0,5,15],[0,10,15],[0,8,15],[0,13,15],[0,15,3],[0,12,15],[0,3,15],[0,3,8]]],X=[];
for(var _=0;_<3;_++){var F=X[_]=[],Z=k[_];for(var B=0;B<Z.length;B++){var c=Z[B],l=F[B]=new Uint8Array(16);
l[c[0]]=l[c[1]]=l[c[2]]=1}}var a0=[null,null,[0,21,43,64],[0,9,18,27,37,46,55,64],[0,4,9,13,17,21,26,30,34,38,43,47,51,55,60,64]];
function a7(b){V=b;J=[4,6,6,6,0,0,0,6][V];M=[4,6,5,7,5,7,7,5][V];m=[0,0,0,0,6,8,7,5][V];ad=[1,1,0,1,0,0,1,1][V];
w=[6,4,6,4,2,2,2,4][V];al=w>>>1;A=[3,3,2,2,2,2,4,2][V];G=[0,0,0,0,3,2,0,0][V]}function ae(b,$){b<<=8-$;
b|=b>>$;return b}function U(b,$,j){return b*(64-j)+$*j+32>>6}function ak(b,$,j,h,s,n){var x=UTEX.I.R,d={m:0},t=new Uint8Array(4*4*4);
for(var i=0;i<s;i+=4)for(var L=0;L<h;L+=4){var p=0;while((b[$]>>p&1)!=1)p++;a7(p);d.m=($<<3)+V+1;var z=V==4||V==5?x(b,d,2):0,D=V==4?x(b,d,1):0,a6=x(b,d,J),r=new Uint8Array(24);
for(var B=0;B<4;B++){var q=B==3?m:M;for(var C=0;C<w;C++)r[B*w+C]=x(b,d,q)}for(var C=0;C<w;C++){if(V==1&&(C&1)==1)d.m--;
var ac=x(b,d,ad);for(var B=0;B<3;B++)I(r,B*w+C,ad,ac);if(m!=0)I(r,3*w+C,ad,ac)}M+=ad;if(m!=0)m+=ad;for(var B=0;
B<4;B++){var q=B==3?m:M;for(var C=0;C<w;C++)r[B*w+C]=ae(r[B*w+C],q)}if(m==0)for(var C=0;C<w;C++)r[3*w+C]=255;
var a3=O[al-1][a6],N=k[al-1][a6],T=d.m,au=T+16*A-al;if(D==1){var ap=T;T=au;au=ap;ap=A;A=G;G=ap}var a8=a0[A];
d.m=T;for(var B=0;B<64;B+=4){var P=a3[B>>2],a9=N[P]==B>>2?1:0,ar=d.m%(16*8),ai=x(b,d,A-a9),a2=a8[ai];
t[B]=U(r[0*w+2*P],r[0*w+2*P+1],a2);t[B+1]=U(r[1*w+2*P],r[1*w+2*P+1],a2);t[B+2]=U(r[2*w+2*P],r[2*w+2*P+1],a2);
t[B+3]=U(r[3*w+2*P],r[3*w+2*P+1],a2)}a8=a0[G];d.m=au;if(G!=0)for(var B=0;B<64;B+=4){var P=a3[B>>2],a9=N[P]==B>>2?1:0,ai=x(b,d,G-a9),a2=a8[ai];
t[B+3]=U(r[3*w+2*P],r[3*w+2*P+1],a2)}if(z!=0)u(t,z);UTEX.I.l(j,h,s,L,i,t);$+=16}return $}function aq(b){return~~(.5+b)}function I(b,B,ad,$){b[B]=b[B]<<ad|$}function u(b,$){for(var B=0;
B<64;B+=4){var j=b[B+$-1];b[B+$-1]=b[B+3];b[B+3]=j}}var K=[];for(var B=0;B<4;B++)K[B]=new Uint8Array(B*8);
function W(b,al,H){var $=K[al];for(var a=0;a<al;a++){var j=H[a],h=j.length,s=j[0]<<2,n=b[s],x=b[s+1],d=b[s+2],t=b[s+3],i=n,L=x,p=d,z=t;
for(var B=1;B<h;B++){s=j[B]<<2;var D=b[s],a6=b[s+1],r=b[s+2],y=b[s+3];if(D<n)n=D;else if(D>i)i=D;if(a6<x)x=a6;
else if(a6>L)L=a6;if(r<d)d=r;else if(r>p)p=r;if(y<t)t=y;else if(y>z)z=y}var q=a<<3;$[q]=n;$[q+1]=x;$[q+2]=d;
$[q+3]=t;$[q+4]=i;$[q+5]=L;$[q+6]=p;$[q+7]=z}return $}function S(b){var $=b[0]+b[4]-b[8]-b[12],j=b[1]+b[5]-b[9]-b[13],h=b[2]+b[6]-b[10]-b[14],s=b[3]+b[7]-b[11]-b[15];
return $*$+j*j+h*h+s*s}function Q(b,$,j){j=j<<($&7);var h=$>>>3;b[h]|=j;b[h+1]|=j>>>8}function R(b,$,j,h){var s=1e9,n=0,l=new Uint8Array(16),x=new Uint8Array(24),d=255,t=0;
for(var B=0;B<64;B+=4){var i=j[B+3];if(i<d)d=i;if(i>t)t=i}var L=d<255,p=L?[4,5,6,7]:[1,3,6],z={},D=new Uint8Array(8);
for(var a6=0;a6<p.length;a6++){a7(p[a6]);var r=m!=0&&G==0&&L,q=ad==1&&V>3?1:0,ac=ad==0||V>3||V==1,a3=V==1?2:ad*w,N=al==1?[0]:z[al+","+J],T,au=V+1+J+w*(3*M+m)+a3;
if(V==4||V==5){au+=2;if(V==4)au++}if(N==null){var ap=ag[al-1];N=z[al+","+J]=[0,0,0,0,0];T=[-1,-1,-1,-1,-1];
for(var a8=0;a8<1<<J;a8++){var H=ap[a8],P=N.length-1;T[P]=S(W(j,al,H));N[P]=a8;while(P!=0&&T[P-1]<T[P]){var a9=T[P];
T[P]=T[P-1];T[P-1]=a9;var a9=N[P];N[P]=N[P-1];N[P-1]=a9;P--}}N.pop()}for(var ar=0;ar<N.length;ar++){var a8=N[ar],ai=0,a2=0,a5=au,a1=0;
l.fill(0);var ax=O[al-1][a8],H=ag[al-1][a8],ah=k[al-1][a8],at=X[al-1][a8],an=W(j,al,H),aa=m==0?3:4;for(var a=0;
a<w;a++){D[6]=D[7]=0;for(var B=0;B<aa;B++){var ay=B==3?m:M,ab=an[(a<<2)+B]>>>7-ay;D[6+(ab&1)]++}var af=D[a]=ac?q:D[6]>D[7]?0:1;
for(var B=0;B<aa;B++){var ay=B==3?m:M,ab=an[(a<<2)+B]>>>8-ay;x[B*w+a]=ae(ab<<ad|af,ay+ad)}}for(var a=0;
a<al;a++){var ao=ah[a]*4,P=(r?e(j,ao,x,a):E(j,ao,x,a))&255;if(P>>>A-1==1){for(var B=0;B<aa;B++){var C=B*w+a*2,a9=x[C];
x[C]=x[C+1];x[C+1]=a9;a9=D[a*2];D[a*2]=D[a*2+1];D[a*2+1]=a9}}if(G==0)continue;var P=v(j,ao,x,a)&255;
if(P>>>G-1==1){var C=3*w+a*2,a9=x[C];x[C]=x[C+1];x[C+1]=a9}}for(var B=0;B<64;B+=4){var a=ax[B>>2],aw=r?e(j,B,x,a):E(j,B,x,a),P=aw&255;
a1+=aw>>>8;Q(l,a5,P);a5+=A-at[B>>>2]}if(G!=0)for(var B=0;B<64;B+=4){var a=ax[B>>2],aw=v(j,B,x,a),P=aw&255;
a1+=aw>>>8;Q(l,a5,P);a5+=G-at[B>>>2]}if(a1<s){a5=0;Q(l,a5,1<<V);a5+=V+1;Q(l,a5,a8);a5+=J;if(V==4||V==5){Q(l,a5,ai);
a5+=2;if(V==4){Q(l,a5,a2);a5+=1}}for(var B=0;B<aa;B++){var ay=B==3?m:M;for(var a=0;a<w;a++){var ab=x[B*w+a]>>>8-ay;
Q(l,a5,ab);a5+=ay}}for(var B=0;B<a3;B++)Q(l,a5+B,D[B]);a5+=a3;s=a1;b.set(l,$);n=V}}}return s}function e(b,C,$,a){var j=b[C],h=b[C+1],s=b[C+2],y=b[C+3],n=2*a,x=w+2*a,d=2*w+2*a,t=3*w+2*a,i=$[n],L=$[n+1],p=$[x],z=$[x+1],D=$[d],a6=$[d+1],r=$[t],q=$[t+1],ac=0,top=(1<<A)-1;
if(i!=L||p!=z||D!=a6||r!=q){var a3=L-i,N=z-p,T=a6-D,au=q-r,ap=(j-i)*a3+(h-p)*N+(s-D)*T+(y-r)*au,a8=.999999999*ap/(a3*a3+N*N+T*T+au*au);
a8=a8<0?0:a8>1?1:a8;ac=aq(a8*top)}var P=a0[A][ac];a3=U(i,L,P)-j;N=U(p,z,P)-h;T=U(D,a6,P)-s;au=U(r,q,P)-y;
var a9=a3*a3+N*N+T*T+au*au;return a9<<8|ac}function E(b,C,$,a){var j=b[C],h=b[C+1],s=b[C+2],n=2*a,x=w+2*a,d=2*w+2*a,t=$[n],i=$[n+1],L=$[x],p=$[x+1],z=$[d],D=$[d+1],a6=0,top=(1<<A)-1;
if(t!=i||L!=p||z!=D){var r=i-t,q=p-L,ac=D-z,a3=(j-t)*r+(h-L)*q+(s-z)*ac,N=.999999999*a3/(r*r+q*q+ac*ac);
N=N<0?0:N>1?1:N;a6=aq(N*top)}var T=a0[A][a6];r=U(t,i,T)-j;q=U(L,p,T)-h;ac=U(z,D,T)-s;var au=r*r+q*q+ac*ac;
return au<<8|a6}function v(b,C,$,a){var y=b[C+3],j=3*w+2*a,h=$[j],s=$[j+1],n=0,top=(1<<G)-1;if(h!=s){var x=s-h,i=(y-h)*x,L=.999999999*i/(x*x);
L=L<0?0:L>1?1:L;n=aq(L*top)}var p=a0[G][n];x=U(h,s,p)-y;var z=x*x;return z<<8|n}function am(b,$,j,h,s){var n=Date.now(),x=s;
for(var B=0;B<1;B++){var d=new Uint8Array(16*4+16*4),t=0;s=x;for(var i=0;i<j;i+=4)for(var L=0;L<$;L+=4){UTEX.I.H(b,$,j,L,i,d);
t+=R(h,s,d,L==80&&i==160);s+=16}}return s}UTEX.G=ak;UTEX.b=am}());UTEX.DDS=function(){var O={c:1,Y:2,_:4,o:8,g:4096,Q:131072,T:524288,ab:8388608,J:1,d:2,w:4,X:64,a2:512,B:131072,r:8,f:4194304,M:4096};
function ag(Y){var g=new Uint8Array(Y),y=0,a=UTEX.I.s(g,y,4),k,X,_;y+=4;k=C(g,y);y+=124;X=k.S;if(X.v&O.w&&X.n=="DX10"){_=aj(g,y);
y+=20}var F=k.width,Z=k.height,as=[],c=X.n,l=X.P,a0={DXT1:"BC1",DXT3:"BC2",DXT5:"BC3",DX10:"BC7",ATI2:"BC5",BC5U:"BC5",BC5S:"BC5","BC7 ":"BC7"};
if(a0[c])c=a0[c];if(_){var J=_.i;if(70<=J&&J<=72)c="BC1";else if(73<=J&&J<=75)c="BC2";else if(76<=J&&J<=78)c="BC3";
else if(97<=J&&J<=99)c="BC7";else console.log("Unknown DX10 format",J)}var M=Math.max(1,k.D),m=(X.v&O.J)!=0;
for(var ad=0;ad<M;ad++){var w=F*Z,A=w*4,G=new Uint8Array(A);if(!1){}else if(c=="BC1")y=UTEX.A(g,y,G,F,Z);
else if(c=="BC2")y=UTEX.K(g,y,G,F,Z);else if(c=="BC3")y=UTEX.a(g,y,G,F,Z);else if(c=="BC5")y=UTEX.$(g,y,G,F,Z);
else if(c=="BC7")y=UTEX.G(g,y,G,F,Z);else if(c=="ATC ")y=UTEX.q(g,y,G,F,Z);else if(c=="ATCA")y=UTEX.O(g,y,G,F,Z);
else if(c=="ATCI")y=UTEX.O(g,y,G,F,Z);else if(X.v&O.X){var a7=X.j,ae=255/a7,U=X.t,ak=255/U,aq=X.h,I=255/aq,u=X.Z,K=255/u;
if(l==32){for(var W=0;W<A;W+=4){var S=g[y+W+3]<<24|g[y+W+2]<<16|g[y+W+1]<<8|g[y+W];G[W+0]=(S&a7)*ae;
G[W+1]=(S&U)*ak;G[W+2]=(S&aq)*I;G[W+3]=m?(S&u)*K:255}y+=A}else if(l==24){for(var W=0;W<A;W+=4){var Q=(W>>>2)*3,S=g[y+Q+2]<<16|g[y+Q+1]<<8|g[y+Q];
G[W+0]=(S&a7)*ae;G[W+1]=(S&U)*ak;G[W+2]=(S&aq)*I;G[W+3]=255}y+=3*w}else if(l==16){for(var W=0;W<A;W+=4){var S=g[y+(W>>1)+1]<<8|g[y+(W>>1)];
G[W+0]=(S&a7)*ae;G[W+1]=(S&U)*ak;G[W+2]=(S&aq)*I;G[W+3]=m?(S&u)*K:255}y+=A>>>1}else throw"unknown bit count "+l}else if(X.v&O.d||m||X.v&O.B){if(l==8){if(X.v&O.d){for(var W=0;
W<A;W+=4)G[W+3]=g[y+(W>>2)]}else{G.fill(255);for(var W=0;W<A;W+=4)G[W]=G[W+1]=G[W+2]=g[y+(W>>2)]}y+=A>>>2}else if(l==16){G.fill(255);
for(var W=0;W<A;W+=4)G[W]=G[W+1]=G[W+2]=g[y+(W>>1)];y+=A>>>1}else throw"unknown bit count "+l}else if(X.v&O.X&&l==24){for(var W=0;
W<w;W++){var R=W*4,Q=W*3;G[R+0]=g[y+Q];G[R+1]=g[y+Q+1];G[R+2]=g[y+Q+2];G[R+3]=255}}else{console.log("unknown texture format, head flags: ",k.v.toString(2),"pixelFormat flags: ",X.v.toString(2));
throw"e"}as.push({width:F,height:Z,image:G.buffer});F=F>>>1;Z=Z>>>1}return as}function B(Y,g,y,a){if(a==null)a=[0,!0];
var Y=new Uint8Array(Y),k=["BC1","BC3","BC7","NON"][a[0]],X=a[1],_=new Uint8Array(124+g*y*6),F=0,Z=0;
UTEX.I.C(_,F,"DDS ");F+=4;H(_,g,y,X,k,F);F+=124;if(k=="BC7"){a4(_,F);F+=20}while(g*y!=0){if(k=="NON"){_.set(Y,F);
F+=Y.length}if(k=="BC1")F=UTEX.N(Y,g,y,_,F);if(k=="BC3")F=UTEX.u(Y,g,y,_,F);if(k=="BC7")F=UTEX.b(Y,g,y,_,F);
Y=UTEX.z(Y,g,y);g=g>>1;y=y>>1;Z++;if(!X)break}_[28]=Z;return _.buffer.slice(0,F)}function C(Y,g){var y={},a=UTEX.I.V,k=a(Y,g);
g+=4;if(k!=124)throw k;y.v=a(Y,g);g+=4;y.height=a(Y,g);g+=4;y.width=a(Y,g);g+=4;y.pitch=a(Y,g);g+=4;
y.depth=a(Y,g);g+=4;y.D=a(Y,g);g+=4;g+=11*4;y.S=o(Y,g);g+=32;y.a9=a(Y,g);g+=4;y.a0=a(Y,g);g+=4;y.a3=a(Y,g);
g+=4;y.a4=a(Y,g);g+=4;if(a(Y,g)!=0)console.log("not zeros",a(Y,g).toString(16));g+=4;return y}function H(Y,g,y,a,k,X){var _=UTEX.I.W,F=O.c|O.Y|O._|O.g,c=1;
F|=O.Q|(k?O.T:O.o);var Z=(a?O.f:0)|O.M|(a?O.r:0),as=k=="NON"?g*y*4:(g*y>>>1)*(k=="BC1"?1:2);_(Y,X,124);
X+=4;_(Y,X,F);X+=4;_(Y,X,y);X+=4;_(Y,X,g);X+=4;_(Y,X,as);X+=4;_(Y,X,c);X+=4;_(Y,X,10);X+=4;X+=11*4;f(Y,k,X);
X+=32;_(Y,X,Z);X+=4;X+=4*4}function o(Y,g){var y={},a=UTEX.I.V,k=a(Y,g);g+=4;if(k!=32&&k!=0)throw k;
y.v=a(Y,g);g+=4;y.n=UTEX.I.s(Y,g,4);g+=4;y.P=a(Y,g);g+=4;y.j=a(Y,g);g+=4;y.t=a(Y,g);g+=4;y.h=a(Y,g);
g+=4;y.Z=a(Y,g);g+=4;return y}function f(Y,g,y){var a=UTEX.I.W,k=g!="NON"?O.w:O.J|O.X;a(Y,y,32);y+=4;
a(Y,y,k);y+=4;UTEX.I.C(Y,y,{NON:" ",BC1:"DXT1",BC3:"DXT5",BC7:"DX10"}[g]);y+=4;if(g=="NON"){a(Y,y,32);
for(var X=0;X<4;X++)a(Y,y+4+X*4,255<<X*8)}y+=5*4}function aj(Y,g){var y={},a=UTEX.I.V;y.i=a(Y,g);g+=4;
y.a5=a(Y,g);g+=4;y.ad=a(Y,g);g+=4;y.a8=a(Y,g);g+=4;y.ac=a(Y,g);g+=4;return y}function a4(Y,g){var y=UTEX.I.W;
y(Y,g,98);g+=4;y(Y,g,3);g+=4;y(Y,g,0);g+=4;y(Y,g,1);g+=4;y(Y,g,0);g+=4}return{encode:B,decode:ag}}();
UTEX.VTF=function(){var O={};function ag(C){var H=new Uint8Array(C),o=0,f={};o=B(H,o,f);var aj=f.k,a4=f.p;
if(aj*a4!=0){var Y=new Uint8Array(aj*a4*4);o=UTEX.A(H,o,Y,aj,a4)}var g=f.F,y=f.L,a=[];for(var k=0;k<y;
k++){var X=f.width>>>y-1-k,_=f.height>>>y-1-k;for(var F=0;F<f.frames;F++){var Y=new Uint8Array(X*_*4);
if(g==0||g==12){var Z=o,as=g==0?[0,1,2,3]:[2,1,0,3],c=as[0],l=as[1],a0=as[2],J=as[3];for(var M=0;M<Y.length;
M+=4){Y[M+c]=H[Z++];Y[M+l]=H[Z++];Y[M+a0]=H[Z++];Y[M+J]=H[Z++]}o+=X*_*4}else if(g==2){for(var M=0;M<Y.length;
M+=4){Y[M]=H[o++];Y[M+1]=H[o++];Y[M+2]=H[o++];Y[M+3]=255}}else if(g==13)o=UTEX.A(H,o,Y,X,_);else if(g==14)o=UTEX.K(H,o,Y,X,_);
else if(g==15)o=UTEX.a(H,o,Y,X,_);else throw g;a.push({width:X,height:_,image:Y.buffer})}}return a}function B(C,H,o){var f=UTEX.I.V,aj=UTEX.I.e,a4=UTEX.I.s(C,H,4);
H+=4;var Y=f(C,H);H+=4;var g=f(C,H);H+=4;var y=f(C,H);H+=4;o.width=aj(C,H);H+=2;o.height=aj(C,H);H+=2;
o.v=f(C,H);H+=4;o.frames=aj(C,H);H+=2;o.aa=aj(C,H);H+=2;H+=4;H+=12;H+=4;H+=4;o.F=f(C,H);H+=4;o.L=C[H++];
o.a6=f(C,H);H+=4;o.k=C[H++];o.p=C[H++];if(g>=2){o.depth=aj(C,H);H+=2;if(g>=3){H+=3;o.a1=f(C,H);H+=4}}return y}return{decode:ag}}();
(function(){var P={};if(typeof module=="object"){module.exports=P}else{self.UTIF=P}function aI(){if(typeof process=="undefined"||process.env.NODE_ENV=="development")console.log.apply(console,arguments)}(function(P){(function(){"use strict";
var q=function $(){function q(n){this.message="JPEG error: "+n}q.prototype=new Error;q.prototype.name="JpegError";
q.constructor=q;return q}(),Y=function g(){var n=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),x=4017,T=799,J=3406,t=2276,b=1567,e=3784,C=5793,s=2896;
function Y(O){if(O==null)O={};if(O.w==null)O.w=-1;this.V=O.n;this.N=O.w}function A(O,r){var I=0,w=[],B,v,K=16,u;
while(K>0&&!O[K-1]){K--}w.push({children:[],index:0});var i=w[0];for(B=0;B<K;B++){for(v=0;v<O[B];v++){i=w.pop();
i.children[i.index]=r[I];while(i.index>0){i=w.pop()}i.index++;w.push(i);while(w.length<=B){w.push(u={children:[],index:0});
i.children[i.index]=u.children;i=u}I++}if(B+1<K){w.push(u={children:[],index:0});i.children[i.index]=u.children;
i=u}}return w[0].children}function M(O,r,I){return 64*((O.P+1)*r+I)}function _(O,r,I,w,B,v,K,u,i,a){if(a==null)a=!1;
var b1=I.m,F=I.Z,m=r,ba=0,X=0,j=0,L=0,aB,f=0,G,D,z,k,b5,az,a7=0,aA,ag,a0,a3;function aF(){if(X>0){X--;
return ba>>X&1}ba=O[r++];if(ba===255){var a$=O[r++];if(a$){if(a$===220&&a){r+=2;var aj=Q(O,r);r+=2;if(aj>0&&aj!==I.s){throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data",aj)}}else if(a$===217){if(a){var a2=f*8;
if(a2>0&&a2<I.s/10){throw new DNLMarkerError("Found EOI marker (0xFFD9) while parsing scan data, "+"possibly caused by incorrect `scanLines` parameter",a2)}}throw new EOIMarkerError("Found EOI marker (0xFFD9) while parsing scan data")}throw new q("unexpected marker")}}X=7;
return ba>>>7}function ar(a$){var aj=a$;while(!0){aj=aj[aF()];switch(typeof aj){case"number":return aj;
case"object":continue}throw new q("invalid huffman sequence")}}function b9(a$){var b5=0;while(a$>0){b5=b5<<1|aF();
a$--}return b5}function aw(a$){if(a$===1){return aF()===1?1:-1}var b5=b9(a$);if(b5>=1<<a$-1){return b5}return b5+(-1<<a$)+1}function aN(G,a$){var aj=ar(G.J),a2=aj===0?0:aw(aj),k=1;
G.D[a$]=G.Q+=a2;while(k<64){var ab=ar(G.i),ak=ab&15,aa=ab>>4;if(ak===0){if(aa<15){break}k+=16;continue}k+=aa;
var a6=n[k];G.D[a$+a6]=aw(ak);k++}}function aY(G,a$){var aj=ar(G.J),a2=aj===0?0:aw(aj)<<i;G.D[a$]=G.Q+=a2}function aR(G,a$){G.D[a$]|=aF()<<i}function aP(G,a$){if(j>0){j--;
return}var k=v,aj=K;while(k<=aj){var a2=ar(G.i),ab=a2&15,ak=a2>>4;if(ab===0){if(ak<15){j=b9(ak)+(1<<ak)-1;
break}k+=16;continue}k+=ak;var aa=n[k];G.D[a$+aa]=aw(ab)*(1<<i);k++}}function b7(G,a$){var k=v,aj=K,a2=0,ab,ak;
while(k<=aj){var aa=a$+n[k],a6=G.D[aa]<0?-1:1;switch(L){case 0:ak=ar(G.i);ab=ak&15;a2=ak>>4;if(ab===0){if(a2<15){j=b9(a2)+(1<<a2);
L=4}else{a2=16;L=1}}else{if(ab!==1){throw new q("invalid ACn encoding")}aB=aw(ab);L=a2?2:3}continue;
case 1:case 2:if(G.D[aa]){G.D[aa]+=a6*(aF()<<i)}else{a2--;if(a2===0){L=L===2?3:0}}break;case 3:if(G.D[aa]){G.D[aa]+=a6*(aF()<<i)}else{G.D[aa]=aB<<i;
L=0}break;case 4:if(G.D[aa]){G.D[aa]+=a6*(aF()<<i)}break}k++}if(L===4){j--;if(j===0){L=0}}}function ae(G,a$,a7,aj,a2){var ab=a7/b1|0,ak=a7%b1;
f=ab*G.A+aj;var aa=ak*G.h+a2,a6=M(G,f,aa);a$(G,a6)}function ac(G,a$,a7){f=a7/G.P|0;var aj=a7%G.P,a2=M(G,f,aj);
a$(G,a2)}var b8=w.length;if(F){if(v===0){az=u===0?aY:aR}else{az=u===0?aP:b7}}else{az=aN}if(b8===1){ag=w[0].P*w[0].c}else{ag=b1*I.R}while(a7<=ag){var au=B?Math.min(ag-a7,B):ag;
if(au>0){for(D=0;D<b8;D++){w[D].Q=0}j=0;if(b8===1){G=w[0];for(b5=0;b5<au;b5++){ac(G,az,a7);a7++}}else{for(b5=0;
b5<au;b5++){for(D=0;D<b8;D++){G=w[D];a0=G.h;a3=G.A;for(z=0;z<a3;z++){for(k=0;k<a0;k++){ae(G,az,a7,z,k)}}}a7++}}}X=0;
aA=y(O,r);if(!aA){break}if(aA.u){var as=au>0?"unexpected":"excessive";r=aA.offset}if(aA.M>=65488&&aA.M<=65495){r+=2}else{break}}return r-m}function U(O,r,I){var w=O.$,B=O.D,v,K,u,i,a,b1,F,m,ba,X,j,L,aB,f,G,a1,D;
if(!w){throw new q("missing required Quantization Table.")}for(var z=0;z<64;z+=8){ba=B[r+z];X=B[r+z+1];
j=B[r+z+2];L=B[r+z+3];aB=B[r+z+4];f=B[r+z+5];G=B[r+z+6];a1=B[r+z+7];ba*=w[z];if((X|j|L|aB|f|G|a1)===0){D=C*ba+512>>10;
I[z]=D;I[z+1]=D;I[z+2]=D;I[z+3]=D;I[z+4]=D;I[z+5]=D;I[z+6]=D;I[z+7]=D;continue}X*=w[z+1];j*=w[z+2];L*=w[z+3];
aB*=w[z+4];f*=w[z+5];G*=w[z+6];a1*=w[z+7];v=C*ba+128>>8;K=C*aB+128>>8;u=j;i=G;a=s*(X-a1)+128>>8;m=s*(X+a1)+128>>8;
b1=L<<4;F=f<<4;v=v+K+1>>1;K=v-K;D=u*e+i*b+128>>8;u=u*b-i*e+128>>8;i=D;a=a+F+1>>1;F=a-F;m=m+b1+1>>1;b1=m-b1;
v=v+i+1>>1;i=v-i;K=K+u+1>>1;u=K-u;D=a*t+m*J+2048>>12;a=a*J-m*t+2048>>12;m=D;D=b1*T+F*x+2048>>12;b1=b1*x-F*T+2048>>12;
F=D;I[z]=v+m;I[z+7]=v-m;I[z+1]=K+F;I[z+6]=K-F;I[z+2]=u+b1;I[z+5]=u-b1;I[z+3]=i+a;I[z+4]=i-a}for(var k=0;
k<8;++k){ba=I[k];X=I[k+8];j=I[k+16];L=I[k+24];aB=I[k+32];f=I[k+40];G=I[k+48];a1=I[k+56];if((X|j|L|aB|f|G|a1)===0){D=C*ba+8192>>14;
if(D<-2040){D=0}else if(D>=2024){D=255}else{D=D+2056>>4}B[r+k]=D;B[r+k+8]=D;B[r+k+16]=D;B[r+k+24]=D;
B[r+k+32]=D;B[r+k+40]=D;B[r+k+48]=D;B[r+k+56]=D;continue}v=C*ba+2048>>12;K=C*aB+2048>>12;u=j;i=G;a=s*(X-a1)+2048>>12;
m=s*(X+a1)+2048>>12;b1=L;F=f;v=(v+K+1>>1)+4112;K=v-K;D=u*e+i*b+2048>>12;u=u*b-i*e+2048>>12;i=D;a=a+F+1>>1;
F=a-F;m=m+b1+1>>1;b1=m-b1;v=v+i+1>>1;i=v-i;K=K+u+1>>1;u=K-u;D=a*t+m*J+2048>>12;a=a*J-m*t+2048>>12;m=D;
D=b1*T+F*x+2048>>12;b1=b1*x-F*T+2048>>12;F=D;ba=v+m;a1=v-m;X=K+F;G=K-F;j=u+b1;f=u-b1;L=i+a;aB=i-a;if(ba<16){ba=0}else if(ba>=4080){ba=255}else{ba>>=4}if(X<16){X=0}else if(X>=4080){X=255}else{X>>=4}if(j<16){j=0}else if(j>=4080){j=255}else{j>>=4}if(L<16){L=0}else if(L>=4080){L=255}else{L>>=4}if(aB<16){aB=0}else if(aB>=4080){aB=255}else{aB>>=4}if(f<16){f=0}else if(f>=4080){f=255}else{f>>=4}if(G<16){G=0}else if(G>=4080){G=255}else{G>>=4}if(a1<16){a1=0}else if(a1>=4080){a1=255}else{a1>>=4}B[r+k]=ba;
B[r+k+8]=X;B[r+k+16]=j;B[r+k+24]=L;B[r+k+32]=aB;B[r+k+40]=f;B[r+k+48]=G;B[r+k+56]=a1}}function c(O,r){var I=r.P,w=r.c,B=new Int16Array(64);
for(var v=0;v<w;v++){for(var K=0;K<I;K++){var u=M(r,v,K);U(r,u,B)}}return r.D}function y(O,r,I){if(I==null)I=r;
var w=O.length-1,B=I<r?I:r;if(r>=w){return null}var v=Q(O,r);if(v>=65472&&v<=65534){return{u:null,M:v,offset:r}}var K=Q(O,B);
while(!(K>=65472&&K<=65534)){if(++B>=w){return null}K=Q(O,B)}return{u:v.toString(16),M:K,offset:B}}Y.prototype={parse(O,r){if(r==null)r={};
var I=r.F,w=0,B=null,v=null,K,u,i=0;function a(){var aa=Q(O,w);w+=2;var a6=w+aa-2,X=y(O,a6,w);if(X&&X.u){a6=X.offset}var ad=O.subarray(w,a6);
w+=ad.length;return ad}function b1(K){var aa=Math.ceil(K.o/8/K.X),a6=Math.ceil(K.s/8/K.B);for(var j=0;
j<K.W.length;j++){aP=K.W[j];var ad=Math.ceil(Math.ceil(K.o/8)*aP.h/K.X),aW=Math.ceil(Math.ceil(K.s/8)*aP.A/K.B),aV=aa*aP.h,aX=a6*aP.A,bc=64*aX*(aV+1);
aP.D=new Int16Array(bc);aP.P=ad;aP.c=aW}K.m=aa;K.R=a6}var F=[],m=[],ba=[],X=Q(O,w);w+=2;if(X!==65496){throw new q("SOI not found")}X=Q(O,w);
w+=2;markerLoop:while(X!==65497){var j,L,aB;switch(X){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var f=a();
if(X===65504){if(f[0]===74&&f[1]===70&&f[2]===73&&f[3]===70&&f[4]===0){B={version:{d:f[5],T:f[6]},K:f[7],j:f[8]<<8|f[9],H:f[10]<<8|f[11],S:f[12],I:f[13],C:f.subarray(14,14+3*f[12]*f[13])}}}if(X===65518){if(f[0]===65&&f[1]===100&&f[2]===111&&f[3]===98&&f[4]===101){v={version:f[5]<<8|f[6],k:f[7]<<8|f[8],q:f[9]<<8|f[10],a:f[11]}}}break;
case 65499:var G=Q(O,w),a1;w+=2;var D=G+w-2;while(w<D){var z=O[w++],k=new Uint16Array(64);if(z>>4===0){for(L=0;
L<64;L++){a1=n[L];k[a1]=O[w++]}}else if(z>>4===1){for(L=0;L<64;L++){a1=n[L];k[a1]=Q(O,w);w+=2}}else{throw new q("DQT - invalid table spec")}F[z&15]=k}break;
case 65472:case 65473:case 65474:if(K){throw new q("Only single frame JPEGs supported")}w+=2;K={};K.G=X===65473;
K.Z=X===65474;K.precision=O[w++];var b5=Q(O,w),az,a7=0,aA=0;w+=2;K.s=I||b5;K.o=Q(O,w);w+=2;K.W=[];K._={};
var ag=O[w++];for(j=0;j<ag;j++){az=O[w];var a0=O[w+1]>>4,a3=O[w+1]&15;if(a7<a0){a7=a0}if(aA<a3){aA=a3}var aF=O[w+2];
aB=K.W.push({h:a0,A:a3,L:aF,$:null});K._[az]=aB-1;w+=3}K.X=a7;K.B=aA;b1(K);break;case 65476:var ar=Q(O,w);
w+=2;for(j=2;j<ar;){var b9=O[w++],aw=new Uint8Array(16),aN=0;for(L=0;L<16;L++,w++){aN+=aw[L]=O[w]}var aY=new Uint8Array(aN);
for(L=0;L<aN;L++,w++){aY[L]=O[w]}j+=17+aN;(b9>>4===0?ba:m)[b9&15]=A(aw,aY)}break;case 65501:w+=2;u=Q(O,w);
w+=2;break;case 65498:var aR=++i===1&&!I,aP;w+=2;var b7=O[w++],ae=[];for(j=0;j<b7;j++){var ac=O[w++],b8=K._[ac];
aP=K.W[b8];aP.index=ac;var au=O[w++];aP.J=ba[au>>4];aP.i=m[au&15];ae.push(aP)}var as=O[w++],a$=O[w++],aj=O[w++];
try{var a2=_(O,w,K,ae,u,as,a$,aj>>4,aj&15,aR);w+=a2}catch(ex){if(ex instanceof DNLMarkerError){return this.parse(O,{F:ex.s})}else if(ex instanceof EOIMarkerError){break markerLoop}throw ex}break;
case 65500:w+=4;break;case 65535:if(O[w]!==255){w--}break;default:var ab=y(O,w-2,w-3);if(ab&&ab.u){w=ab.offset;
break}if(w>=O.length-1){break markerLoop}throw new q("JpegImage.parse - unknown marker: "+X.toString(16))}X=Q(O,w);
w+=2}this.width=K.o;this.height=K.s;this.g=B;this.b=v;this.W=[];for(j=0;j<K.W.length;j++){aP=K.W[j];
var ak=F[aP.L];if(ak){aP.$=ak}this.W.push({index:aP.index,e:c(K,aP),l:aP.h/K.X,t:aP.A/K.B,P:aP.P,c:aP.c})}this.p=this.W.length;
return undefined},Y(O,r,I){if(I==null)I=!1;var w=this.width/O,B=this.height/r,v,K,u,i,a,b1,F,m,ba,X,j=0,L,aB=this.W.length,f=O*r*aB,G=new Uint8ClampedArray(f),a1=new Uint32Array(O),D=4294967288,z;
for(F=0;F<aB;F++){v=this.W[F];K=v.l*w;u=v.t*B;j=F;L=v.e;i=v.P+1<<3;if(K!==z){for(a=0;a<O;a++){m=0|a*K;
a1[a]=(m&D)<<3|m&7}z=K}for(b1=0;b1<r;b1++){m=0|b1*u;X=i*(m&D)|(m&7)<<3;for(a=0;a<O;a++){G[j]=L[X+a1[a]];
j+=aB}}}var k=this.V;if(!I&&aB===4&&!k){k=new Int32Array([-256,255,-256,255,-256,255,-256,255])}if(k){for(F=0;
F<f;){for(m=0,ba=0;m<aB;m++,F++,ba+=2){G[F]=(G[F]*k[ba]>>8)+k[ba+1]}}}return G},get f(){if(this.b){return!!this.b.a}if(this.p===3){if(this.N===0){return!1}else if(this.W[0].index===82&&this.W[1].index===71&&this.W[2].index===66){return!1}return!0}if(this.N===1){return!0}return!1},z:function V(O){var r,I,w;
for(var B=0,v=O.length;B<v;B+=3){r=O[B];I=O[B+1];w=O[B+2];O[B]=r-179.456+1.402*w;O[B+1]=r+135.459-.344*I-.714*w;
O[B+2]=r-226.816+1.772*I}return O},O:function p(O){var r,I,w,B,v=0;for(var K=0,u=O.length;K<u;K+=4){r=O[K];
I=O[K+1];w=O[K+2];B=O[K+3];O[v++]=-122.67195406894+I*(-660635669420364e-19*I+.000437130475926232*w-54080610064599e-18*r+.00048449797120281*B-.154362151871126)+w*(-.000957964378445773*w+.000817076911346625*r-.00477271405408747*B+1.53380253221734)+r*(.000961250184130688*r-.00266257332283933*B+.48357088451265)+B*(-.000336197177618394*B+.484791561490776);
O[v++]=107.268039397724+I*(219927104525741e-19*I-.000640992018297945*w+.000659397001245577*r+.000426105652938837*B-.176491792462875)+w*(-.000778269941513683*w+.00130872261408275*r+.000770482631801132*B-.151051492775562)+r*(.00126935368114843*r-.00265090189010898*B+.25802910206845)+B*(-.000318913117588328*B-.213742400323665);
O[v++]=-20.810012546947+I*(-.000570115196973677*I-263409051004589e-19*w+.0020741088115012*r-.00288260236853442*B+.814272968359295)+w*(-153496057440975e-19*w-.000132689043961446*r+.000560833691242812*B-.195152027534049)+r*(.00174418132927582*r-.00255243321439347*B+.116935020465145)+B*(-.000343531996510555*B+.24165260232407)}return O.subarray(0,v)},r:function l(O){var r,I,w;
for(var B=0,v=O.length;B<v;B+=4){r=O[B];I=O[B+1];w=O[B+2];O[B]=434.456-r-1.402*w;O[B+1]=119.541-r+.344*I+.714*w;
O[B+2]=481.816-r-1.772*I}return O},U:function N(O){var r,I,w,B,v=0;for(var K=0,u=O.length;K<u;K+=4){r=O[K];
I=O[K+1];w=O[K+2];B=O[K+3];O[v++]=255+r*(-6747147073602441e-20*r+.0008379262121013727*I+.0002894718188643294*w+.003264231057537806*B-1.1185611867203937)+I*(26374107616089404e-21*I-8626949158638572e-20*w-.0002748769067499491*B-.02155688794978967)+w*(-3878099212869363e-20*w-.0003267808279485286*B+.0686742238595345)-B*(.0003361971776183937*B+.7430659151342254);
O[v++]=255+r*(.00013596372813588848*r+.000924537132573585*I+.00010567359618683593*w+.0004791864687436512*B-.3109689587515875)+I*(-.00023545346108370344*I+.0002702845253534714*w+.0020200308977307156*B-.7488052167015494)+w*(6834815998235662e-20*w+.00015168452363460973*B-.09751927774728933)-B*(.0003189131175883281*B+.7364883807733168);
O[v++]=255+r*(13598650411385308e-21*r+.00012423956175490851*I+.0004751985097583589*w-36729317476630424e-22*B-.05562186980264034)+I*(.00016141380598724676*I+.0009692239130725186*w+.0007782692450036253*B-.44015232367526463)+w*(5.068882914068769e-7*w+.0017778369011375071*B-.7591454649749609)-B*(.0003435319965105553*B+.7063770186160144)}return O.subarray(0,v)},getData:function(O){var r=O.width,I=O.height,w=O.forceRGB,B=O.isSourcePDF;
if(this.p>4){throw new q("Unsupported color mode")}var v=this.Y(r,I,B);if(this.p===1&&w){var K=v.length,u=new Uint8ClampedArray(K*3),i=0;
for(var a=0;a<K;a++){var b1=v[a];u[i++]=b1;u[i++]=b1;u[i++]=b1}return u}else if(this.p===3&&this.f){return this.z(v)}else if(this.p===4){if(this.f){if(w){return this.O(v)}return this.r(v)}else if(w){return this.U(v)}}return v}};
return Y}();function W(n,x){return n[x]<<24>>24}function Q(n,x){return n[x]<<8|n[x+1]}function h(n,x){return(n[x]<<24|n[x+1]<<16|n[x+2]<<8|n[x+3])>>>0}P.JpegDecoder=Y}());
P.encodeImage=function(q,Y,$,g){var W={t256:[Y],t257:[$],t258:[8,8,8,8],t259:[1],t262:[2],t273:[1e3],t277:[4],t278:[$],t279:[Y*$*4],t282:[[72,1]],t283:[[72,1]],t284:[1],t286:[[0,1]],t287:[[0,1]],t296:[1],t305:["Photopea (UTIF.js)"],t338:[1]};
if(g)for(var h in g)W[h]=g[h];var n=new Uint8Array(P.encode([W])),x=new Uint8Array(q),T=new Uint8Array(1e3+Y*$*4);
for(var h=0;h<n.length;h++)T[h]=n[h];for(var h=0;h<x.length;h++)T[1e3+h]=x[h];return T.buffer};P.encode=function(q){var Y=!1,$=new Uint8Array(2e4),g=4,W=Y?P._binLE:P._binBE,Q=8;
$[0]=$[1]=Y?73:77;W.writeUshort($,2,42);W.writeUint($,g,Q);g+=4;for(var h=0;h<q.length;h++){var n=P._writeIFD(W,P._types.basic,$,Q,q[h]);
Q=n[1];if(h<q.length-1){if((Q&3)!=0)Q+=4-(Q&3);W.writeUint($,n[0],Q)}}return $.slice(0,Q).buffer};P.decode=function(q,Y){if(Y==null)Y={parseMN:!0,debug:!1};
var $=new Uint8Array(q),g=0,W=P._binBE.readASCII($,g,2);g+=2;var Q=W=="II"?P._binLE:P._binBE,h=Q.readUshort($,g);
g+=2;var n=Q.readUint($,g);g+=4;var x=[];while(!0){var T=Q.readUshort($,n),J=Q.readUshort($,n+4);if(T!=0)if(J<1||13<J){aI("error in TIFF");
break}P._readIFD(Q,$,n,x,0,Y);n=Q.readUint($,n+2+T*12);if(n==0)break}return x};P.decodeImage=function(q,Y,$){if(Y.data)return;
var g=new Uint8Array(q),W=P._binBE.readASCII(g,0,2),C=0;if(Y.t256==null)return;Y.isLE=W=="II";Y.width=Y.t256[0];
Y.height=Y.t257[0];var Q=Y.t259?Y.t259[0]:1,h=Y.t266?Y.t266[0]:1;if(Q==7&&Y.t258&&Y.t258.length>3)Y.t258=Y.t258.slice(0,3);
var n=Y.t258?Y.t258[0]:1,x=Y.t277?Y.t277[0]:1,T=Y.t284?Y.t284[0]:1;if(x!=3)T=1;if(T==2)aI("PlanarConfiguration 2 should not be used!");
var J=n*x;if(Q==1&&Y.t279!=null&&Y.t278&&Y.t262[0]==32803){J=Math.round(Y.t279[0]*8/(Y.width*Y.t278[0]))}if(Y.t50885&&Y.t50885[0]==4)J=Y.t258[0]*3;
var t=Math.ceil(Y.width*J/8)*8,b=Y.t273;if(b==null||Y.t322)b=Y.t324;var d=Y.t279;if(Q==1&&b.length==1)d=[Y.height*(t>>>3)];
if(d==null||Y.t322)d=Y.t325;var e=new Uint8Array(Y.height*(t>>>3));if(Y.t322!=null){var E=Y.t322[0],S=Y.t323[0],s=Math.floor((Y.width+E-1)/E),A=Math.floor((Y.height+S-1)/S),M=new Uint8Array(Math.ceil(E*S*J/8)|0);
console.log("====",s,A);for(var _=0;_<A;_++)for(var c=0;c<s;c++){var y=_*s+c;M.fill(0);P.decode._decompress(Y,$,g,b[y],d[y],Q,M,0,h,E,S);
if(Q==6)e=M;else P._copyTile(M,Math.ceil(E*J/8)|0,S,e,Math.ceil(Y.width*J/8)|0,Y.height,Math.ceil(c*E*J/8)|0,_*S)}C=e.length*8}else{if(b==null)return;
var V=Y.t278?Y.t278[0]:Y.height;V=Math.min(V,Y.height);for(var y=0;y<b.length;y++){if(T==1){var p=Math.ceil(C/8)|0;
P.decode._decompress(Y,$,g,b[y],d[y],Q,e,p,h,Y.width,V)}else{var l=new Uint8Array(Y.width*V);P.decode._decompress(Y,$,g,b[y],d[y],Q,l,0,h,Y.width,V);
var N=Math.ceil(b.length/3),p=y%N*Y.width*V*3,O=Math.floor(y/N);for(var r=0;r<l.length;r++)e[p+r*3+O]=l[r]}C+=t*V}C=Math.min(C,e.length*8)}Y.data=new Uint8Array(e.buffer,0,Math.ceil(C/8)|0)};
P.decode._decompress=function(q,Y,$,g,W,Q,h,n,x,T,J){if(q.t271&&q.t271[0]=="Panasonic"){if(q.t45&&q.t45[0]==6)Q=34316;
else if(Q==34828)Q=1}if(!1){}else if(Q==1)for(var t=0;t<W;t++)h[n+t]=$[g+t];else if(Q==2)P.decode._decodeG2($,g,W,h,n,T,x);
else if(Q==3)P.decode._decodeG3($,g,W,h,n,T,x,q.t292?(q.t292[0]&1)==1:!1);else if(Q==4)P.decode._decodeG4($,g,W,h,n,T,x);
else if(Q==5)P.decode._decodeLZW($,g,W,h,n,8);else if(Q==6)P.decode._decodeOldJPEG(q,$,g,W,h,n);else if(Q==7||Q==34892)P.decode._decodeNewJPEG(q,$,g,W,h,n);
else if(Q==8||Q==32946){var b=new Uint8Array($.buffer,g+2,W-6),d=P._inflateRaw(b);if(n+d.length<=h.length)h.set(d,n)}else if(Q==9)P.decode._decodeVC5($,g,W,h,n,q.t33422);
else if(Q==32767)P.decode._decodeARW(q,$,g,W,h,n);else if(Q==32773)P.decode._decodePackBits($,g,W,h,n);
else if(Q==32809)P.decode._decodeThunder($,g,W,h,n);else if(Q==34316)P.decode._decodePanasonic(q,$,g,W,h,n);
else if(Q==34713)P.decode._decodeNikon(q,Y,$,g,W,h,n);else if(Q==34676)P.decode._decodeLogLuv32(q,$,g,W,h,n);
else aI("Unknown compression",Q);var e=q.t284?q.t284[0]:1,C=q.t258?Math.min(32,q.t258[0]):1,E=e==2?1:q.t277?q.t277[0]:1,S=C*E>>>3,s=Math.ceil(C*E*T/8);
if(C==16&&!q.isLE&&q.t33422==null)for(var A=0;A<J;A++){var _=n+A*s;for(var c=1;c<s;c+=2){var y=h[_+c];
h[_+c]=h[_+c-1];h[_+c-1]=y}}if(q.t317&&q.t317[0]==2){for(var A=0;A<J;A++){var V=n+A*s;if(C==16)for(var t=S;
t<s;t+=2){var p=(h[V+t+1]<<8|h[V+t])+(h[V+t-S+1]<<8|h[V+t-S]);h[V+t]=p&255;h[V+t+1]=p>>>8&255}else if(E==3)for(var t=3;
t<s;t+=3){h[V+t]=h[V+t]+h[V+t-3]&255;h[V+t+1]=h[V+t+1]+h[V+t-2]&255;h[V+t+2]=h[V+t+2]+h[V+t-1]&255}else for(var t=S;
t<s;t++)h[V+t]=h[V+t]+h[V+t-S]&255}}};P.decode._decodePanasonic=function(q,Y,$,g,W,Q){var h=Y.buffer,n=q.t2[0],x=q.t3[0],T=q.t10[0],J=q.t45[0],t=0,b=0,d=0,e=0,C,E,S=J==6?new Uint32Array(18):new Uint8Array(16),s,A,M,_=[0,0],U=[0,0],c,y=0,V,p,l,N,O=new Uint8Array(16384),r=new Uint16Array(W.buffer);
function I(b3){if(d==0){var C=new Uint8Array(h,$+b+8184,16384-8184),E=new Uint8Array(h,$+b,8184);O.set(C);
O.set(E,C.length);b+=16384}if(J==5){for(s=0;s<16;s++){S[s]=O[d++];d&=16383}}else{d=d-b3&131071;e=d>>3^16368;
return(O[e]|O[e+1]<<8)>>(d&7)&~(-1<<b3)}}function w(s){return O[d+15-s]}function B(){S[0]=w(0)<<6|w(1)>>2;
S[1]=((w(1)&3)<<12|w(2)<<4|w(3)>>4)&16383;S[2]=w(3)>>2&3;S[3]=(w(3)&3)<<8|w(4);S[4]=w(5)<<2|w(6)>>6;
S[5]=(w(6)&63)<<4|w(7)>>4;S[6]=w(7)>>2&3;S[7]=(w(7)&3)<<8|w(8);S[8]=w(9)<<2&1020|w(10)>>6;S[9]=(w(10)<<4|w(11)>>4)&1023;
S[10]=w(11)>>2&3;S[11]=(w(11)&3)<<8|w(12);S[12]=(w(13)<<2&1020|w(14)>>6)&1023;S[13]=(w(14)<<4|w(15)>>4)&1023;
d+=16;e=0}function v(){S[0]=w(0)<<4|w(1)>>4;S[1]=((w(1)&15)<<8|w(2))&4095;S[2]=w(3)>>6&3;S[3]=(w(3)&63)<<2|w(4)>>6;
S[4]=(w(4)&63)<<2|w(5)>>6;S[5]=(w(5)&63)<<2|w(6)>>6;S[6]=w(6)>>4&3;S[7]=(w(6)&15)<<4|w(7)>>4;S[8]=(w(7)&15)<<4|w(8)>>4;
S[9]=(w(8)&15)<<4|w(9)>>4;S[10]=w(9)>>2&3;S[11]=(w(9)&3)<<6|w(10)>>2;S[12]=(w(10)&3)<<6|w(11)>>2;S[13]=(w(11)&3)<<6|w(12)>>2;
S[14]=w(12)&3;S[15]=w(13);S[16]=w(14);S[17]=w(15);d+=16;e=0}function K(){_[0]=0;_[1]=0;U[0]=0;U[1]=0}if(J==7){throw J}else if(J==6){var u=T==12,i=u?v:B,a=u?14:11,b1=u?128:512,b0=u?2048:8192,F=u?16383:65535,m=u?4095:16383,o=n/a,aJ=o*16,ba=u?18:14;
for(p=0;p<x-15;p+=16){var b6=Math.min(16,x-p),X=aJ*b6;O=new Uint8Array(h,$+t,X);d=0;t+=X;for(N=0,l=0;
N<b6;N++,l=0){y=(p+N)*n;for(var j=0;j<o;j++){i();K();M=0;V=0;for(s=0;s<a;s++){c=s&1;if(s%3==2){var aL=e<ba?S[e++]:0;
if(aL==3)aL=4;V=b1<<aL;M=1<<aL}var L=e<ba?S[e++]:0;if(_[c]){L*=M;if(V<b0&&U[c]>V)L+=U[c]-V;U[c]=L}else{_[c]=L;
if(L)U[c]=L;else L=U[c]}r[y+l++]=L-15<=F?L-15&F:L+2147483633>>31&m}}}}}else if(J==5){var aB=T==12?10:9;
for(p=0;p<x;p++){for(l=0;l<n;l+=aB){I(0);if(T==12){r[y++]=((S[1]&15)<<8)+S[0];r[y++]=16*S[2]+(S[1]>>4);
r[y++]=((S[4]&15)<<8)+S[3];r[y++]=16*S[5]+(S[4]>>4);r[y++]=((S[7]&15)<<8)+S[6];r[y++]=16*S[8]+(S[7]>>4);
r[y++]=((S[10]&15)<<8)+S[9];r[y++]=16*S[11]+(S[10]>>4);r[y++]=((S[13]&15)<<8)+S[12];r[y++]=16*S[14]+(S[13]>>4)}else if(T==14){r[y++]=S[0]+((S[1]&63)<<8);
r[y++]=(S[1]>>6)+4*S[2]+((S[3]&15)<<10);r[y++]=(S[3]>>4)+16*S[4]+((S[5]&3)<<12);r[y++]=((S[5]&252)>>2)+(S[6]<<6);
r[y++]=S[7]+((S[8]&63)<<8);r[y++]=(S[8]>>6)+4*S[9]+((S[10]&15)<<10);r[y++]=(S[10]>>4)+16*S[11]+((S[12]&3)<<12);
r[y++]=((S[12]&252)>>2)+(S[13]<<6);r[y++]=S[14]+((S[15]&63)<<8)}}}}else if(J==4){for(p=0;p<x;p++){for(l=0;
l<n;l++){s=l%14;c=s&1;if(s==0)K();if(s%3==2)M=4>>3-I(2);if(U[c]){A=I(8);if(A!=0){_[c]-=128<<M;if(_[c]<0||M==4)_[c]&=~(-1<<M);
_[c]+=A<<M}}else{U[c]=I(8);if(U[c]||s>11)_[c]=U[c]<<4|I(4)}r[y++]=_[l&1]}}}else throw J};P.decode._decodeVC5=function(){var q=[1,0,1,0,2,2,1,1,3,7,1,2,5,25,1,3,6,48,1,4,6,54,1,5,7,111,1,8,7,99,1,6,7,105,12,0,7,107,1,7,8,209,20,0,8,212,1,9,8,220,1,10,9,393,1,11,9,394,32,0,9,416,1,12,9,427,1,13,10,887,1,18,10,784,1,14,10,790,1,15,10,835,60,0,10,852,1,16,10,885,1,17,11,1571,1,19,11,1668,1,20,11,1669,100,0,11,1707,1,21,11,1772,1,22,12,3547,1,29,12,3164,1,24,12,3166,1,25,12,3140,1,23,12,3413,1,26,12,3537,1,27,12,3539,1,28,13,7093,1,35,13,6283,1,30,13,6331,1,31,13,6335,180,0,13,6824,1,32,13,7072,1,33,13,7077,320,0,13,7076,1,34,14,12565,1,36,14,12661,1,37,14,12669,1,38,14,13651,1,39,14,14184,1,40,15,28295,1,46,15,28371,1,47,15,25320,1,42,15,25336,1,43,15,25128,1,41,15,27300,1,44,15,28293,1,45,16,50259,1,48,16,50643,1,49,16,50675,1,50,16,56740,1,53,16,56584,1,51,16,56588,1,52,17,113483,1,61,17,113482,1,60,17,101285,1,55,17,101349,1,56,17,109205,1,57,17,109207,1,58,17,100516,1,54,17,113171,1,59,18,202568,1,62,18,202696,1,63,18,218408,1,64,18,218412,1,65,18,226340,1,66,18,226356,1,67,18,226358,1,68,19,402068,1,69,19,405138,1,70,19,405394,1,71,19,436818,1,72,19,436826,1,73,19,452714,1,75,19,452718,1,76,19,452682,1,74,20,804138,1,77,20,810279,1,78,20,810790,1,79,20,873638,1,80,20,873654,1,81,20,905366,1,82,20,905430,1,83,20,905438,1,84,21,1608278,1,85,21,1620557,1,86,21,1621582,1,87,21,1621583,1,88,21,1747310,1,89,21,1810734,1,90,21,1810735,1,91,21,1810863,1,92,21,1810879,1,93,22,3621725,1,99,22,3621757,1,100,22,3241112,1,94,22,3494556,1,95,22,3494557,1,96,22,3494622,1,97,22,3494623,1,98,23,6482227,1,102,23,6433117,1,101,23,6989117,1,103,23,6989119,1,105,23,6989118,1,104,23,7243449,1,106,23,7243512,1,107,24,13978233,1,111,24,12964453,1,109,24,12866232,1,108,24,14486897,1,113,24,13978232,1,110,24,14486896,1,112,24,14487026,1,114,24,14487027,1,115,25,25732598,1,225,25,25732597,1,189,25,25732596,1,188,25,25732595,1,203,25,25732594,1,202,25,25732593,1,197,25,25732592,1,207,25,25732591,1,169,25,25732590,1,223,25,25732589,1,159,25,25732522,1,235,25,25732579,1,152,25,25732575,1,192,25,25732489,1,179,25,25732573,1,201,25,25732472,1,172,25,25732576,1,149,25,25732488,1,178,25,25732566,1,120,25,25732571,1,219,25,25732577,1,150,25,25732487,1,127,25,25732506,1,211,25,25732548,1,125,25,25732588,1,158,25,25732486,1,247,25,25732467,1,238,25,25732508,1,163,25,25732552,1,228,25,25732603,1,183,25,25732513,1,217,25,25732587,1,168,25,25732520,1,122,25,25732484,1,128,25,25732562,1,249,25,25732505,1,187,25,25732504,1,186,25,25732483,1,136,25,25928905,1,181,25,25732560,1,255,25,25732500,1,230,25,25732482,1,135,25,25732555,1,233,25,25732568,1,222,25,25732583,1,145,25,25732481,1,134,25,25732586,1,167,25,25732521,1,248,25,25732518,1,209,25,25732480,1,243,25,25732512,1,216,25,25732509,1,164,25,25732547,1,140,25,25732479,1,157,25,25732544,1,239,25,25732574,1,191,25,25732564,1,251,25,25732478,1,156,25,25732546,1,139,25,25732498,1,242,25,25732557,1,133,25,25732477,1,162,25,25732515,1,213,25,25732584,1,165,25,25732514,1,212,25,25732476,1,227,25,25732494,1,198,25,25732531,1,236,25,25732530,1,234,25,25732529,1,117,25,25732528,1,215,25,25732527,1,124,25,25732526,1,123,25,25732525,1,254,25,25732524,1,253,25,25732523,1,148,25,25732570,1,218,25,25732580,1,146,25,25732581,1,147,25,25732569,1,224,25,25732533,1,143,25,25732540,1,184,25,25732541,1,185,25,25732585,1,166,25,25732556,1,132,25,25732485,1,129,25,25732563,1,250,25,25732578,1,151,25,25732501,1,119,25,25732502,1,193,25,25732536,1,176,25,25732496,1,245,25,25732553,1,229,25,25732516,1,206,25,25732582,1,144,25,25732517,1,208,25,25732558,1,137,25,25732543,1,241,25,25732466,1,237,25,25732507,1,190,25,25732542,1,240,25,25732551,1,131,25,25732554,1,232,25,25732565,1,252,25,25732475,1,171,25,25732493,1,205,25,25732492,1,204,25,25732491,1,118,25,25732490,1,214,25,25928904,1,180,25,25732549,1,126,25,25732602,1,182,25,25732539,1,175,25,25732545,1,141,25,25732559,1,138,25,25732537,1,177,25,25732534,1,153,25,25732503,1,194,25,25732606,1,160,25,25732567,1,121,25,25732538,1,174,25,25732497,1,246,25,25732550,1,130,25,25732572,1,200,25,25732474,1,170,25,25732511,1,221,25,25732601,1,196,25,25732532,1,142,25,25732519,1,210,25,25732495,1,199,25,25732605,1,155,25,25732535,1,154,25,25732499,1,244,25,25732510,1,220,25,25732600,1,195,25,25732607,1,161,25,25732604,1,231,25,25732473,1,173,25,25732599,1,226,26,51465122,1,116,26,51465123,0,1],Y,$,g,W=[3,3,3,3,2,2,2,1,1,1],Q=24576,h=16384,n=8192,T=h|n;
function J(M){var c=M[1],V=M[0][c>>>3]>>>7-(c&7)&1;M[1]++;return V}function t(M,c){if(Y==null){Y={};
for(var V=0;V<q.length;V+=4)Y[q[V+1]]=q.slice(V,V+4)}var l=J(M),O=Y[l];while(O==null){l=l<<1|J(M);O=Y[l]}var r=O[3];
if(r!=0)r=J(M)==0?r:-r;c[0]=O[2];c[1]=r}function d(M,c){for(var V=0;V<c;V++){if((M&1)==1)M++;M=M>>>1}return M}function e(M,c){return M>>c}function C(M,c,V,l,O,r){c[V]=e(e(11*M[O]-4*M[O+r]+M[O+r+r]+4,3)+M[l],1);
c[V+r]=e(e(5*M[O]+4*M[O+r]-M[O+r+r]+4,3)-M[l],1)}function E(M,c,V,l,O,r){var w=M[O-r]-M[O+r],v=M[O],u=M[l];
c[V]=e(e(w+4,3)+v+u,1);c[V+r]=e(e(-w+4,3)+v-u,1)}function S(M,c,V,l,O,r){c[V]=e(e(5*M[O]+4*M[O-r]-M[O-r-r]+4,3)+M[l],1);
c[V+r]=e(e(11*M[O]-4*M[O-r]+M[O-r-r]+4,3)-M[l],1)}function s(M){M=M<0?0:M>4095?4095:M;M=g[M]>>>2;return M}function A(M,c,V,l,O,r){l=new Uint16Array(l.buffer);
var w=Date.now(),v=P._binBE,u=c+V,i,b0,F,m,o,aJ,j,aL,L,b3,aQ,aZ,f,am,G,ao,a1,aK;c+=4;var D=r[0]==1;while(c<u){var H=v.readShort(M,c),R=v.readUshort(M,c+2);
c+=4;if(H==12)i=R;else if(H==20)b0=R;else if(H==21)F=R;else if(H==48)m=R;else if(H==53)o=R;else if(H==35)aJ=R;
else if(H==62)j=R;else if(H==101)aL=R;else if(H==109)L=R;else if(H==84)b3=R;else if(H==106)aQ=R;else if(H==107)aZ=R;
else if(H==108)f=R;else if(H==102)am=R;else if(H==104)G=R;else if(H==105)ao=R;else{var k=H<0?-H:H,a9=k&65280,aU=0;
if(k&T){if(k&n){aU=R&65535;aU+=(k&255)<<16}else{aU=R&65535}}if((k&Q)==Q){if(a1==null){a1=[];for(var aq=0;
aq<4;aq++)a1[aq]=new Int16Array((b0>>>1)*(F>>>1));aK=new Int16Array((b0>>>1)*(F>>>1));$=new Int16Array(1024);
for(var aq=0;aq<1024;aq++){var ap=aq-512,b2=Math.abs(ap),i=Math.floor(768*b2*b2*b2/(255*255*255))+b2;
$[aq]=Math.sign(ap)*i}g=new Uint16Array(4096);var az=(1<<16)-1;for(var aq=0;aq<4096;aq++){var ax=aq,aA=az*(Math.pow(113,ax/4095)-1)/112;
g[aq]=Math.min(aA,az)}}var a0=a1[j],aF=d(b0,1+W[m]),aw=d(F,1+W[m]);if(m==0){for(var aN=0;aN<aw;aN++)for(var aP=0;
aP<aF;aP++){var ae=c+(aN*aF+aP)*2;a0[aN*(b0>>>1)+aP]=M[ae]<<8|M[ae+1]}}else{var ac=[M,c*8],b8=[],au=0,as=aF*aw,a$=[0,0],aj=0,R=0;
while(au<as){t(ac,a$);aj=a$[0];R=a$[1];while(aj>0){b8[au++]=R;aj--}}var a2=(m-1)%3,ab=a2!=1?aF:0,ak=a2!=0?aw:0;
for(var aN=0;aN<aw;aN++){var aa=(aN+ak)*(b0>>>1)+ab,a6=aN*aF;for(var aP=0;aP<aF;aP++)a0[aa+aP]=$[b8[a6+aP]+512]*o}if(a2==2){var G=b0>>>1,ad=aF*2,aW=aw*2;
for(var aN=0;aN<aw;aN++){for(var aP=0;aP<ad;aP++){var aq=aN*2*G+aP,aV=aN*G+aP,aX=aw*G+aV;if(aN==0)C(a0,aK,aq,aX,aV,G);
else if(aN==aw-1)S(a0,aK,aq,aX,aV,G);else E(a0,aK,aq,aX,aV,G)}}var bc=a0;a0=aK;aK=bc;for(var aN=0;aN<aW;
aN++){for(var aP=0;aP<aF;aP++){var aq=aN*G+2*aP,aV=aN*G+aP,aX=aF+aV;if(aP==0)C(a0,aK,aq,aX,aV,1);else if(aP==aF-1)S(a0,aK,aq,aX,aV,1);
else E(a0,aK,aq,aX,aV,1)}}var bc=a0;a0=aK;aK=bc;var aH=[],av=2-~~((m-1)/3);for(var ai=0;ai<3;ai++)aH[ai]=L>>14-ai*2&3;
var af=aH[av];if(af!=0)for(var aN=0;aN<aW;aN++)for(var aP=0;aP<ad;aP++){var aq=aN*G+aP;a0[aq]=a0[aq]<<af}}}if(m==9&&j==3){var an=a1[0],b4=a1[1],bb=a1[2],aG=a1[3];
for(var aN=0;aN<F;aN+=2)for(var aP=0;aP<b0;aP+=2){var aE=aN*b0+aP,ae=(aN>>>1)*(b0>>>1)+(aP>>>1),at=an[ae],aC=b4[ae]-2048,a8=bb[ae]-2048,al=aG[ae]-2048,ah=(aC<<1)+at,aT=(a8<<1)+at,aD=at+al,ay=at-al;
if(D){l[aE]=s(aD);l[aE+1]=s(aT);l[aE+b0]=s(ah);l[aE+b0+1]=s(ay)}else{l[aE]=s(ah);l[aE+1]=s(aD);l[aE+b0]=s(ay);
l[aE+b0+1]=s(aT)}}}c+=aU*4}else if(k==16388){c+=aU*4}else if(a9==8192||a9==8448||a9==9216){}else throw k.toString(16)}}console.log(Date.now()-w)}return A}();
P.decode._decodeLogLuv32=function(q,Y,$,g,W,Q){var h=q.width,n=h*4,x=0,T=new Uint8Array(n);while(x<g){var J=0;
while(J<n){var t=Y[$+x];x++;if(t<128){for(var b=0;b<t;b++)T[J+b]=Y[$+x+b];J+=t;x+=t}else{t=t-126;for(var b=0;
b<t;b++)T[J+b]=Y[$+x];J+=t;x++}}for(var d=0;d<h;d++){W[Q+0]=T[d];W[Q+1]=T[d+h];W[Q+2]=T[d+h*2];W[Q+4]=T[d+h*3];
Q+=6}}};P.decode._ljpeg_diff=function(q,Y,$){var g=P.decode._getbithuff,W,Q;W=g(q,Y,$[0],$);Q=g(q,Y,W,0);
if((Q&1<<W-1)==0)Q-=(1<<W)-1;return Q};P.decode._decodeARW=function(q,Y,$,g,W,Q){var h=q.t256[0],n=q.t257[0],x=q.t258[0],T=q.isLE?P._binLE:P._binBE,J=h*n==g||h*n*1.5==g,s,S,l,N,O,r,I,w,B,e,v;
if(!J){n+=8;var t=[$,0,0,0],b=new Uint16Array(32770),d=[3857,3856,3599,3342,3085,2828,2571,2314,2057,1800,1543,1286,1029,772,771,768,514,513],e,C,E,S,s,A=0,M=P.decode._ljpeg_diff;
b[0]=15;for(E=e=0;e<18;e++){var _=32768>>>(d[e]>>>8);for(var C=0;C<_;C++)b[++E]=d[e]}for(S=h;S--;)for(s=0;
s<n+1;s+=2){if(s==n)s=1;A+=M(Y,t,b);if(s<n){var U=A&4095;P.decode._putsF(W,(s*h+S)*x,U<<16-x)}}return}if(h*n*1.5==g){for(var e=0;
e<g;e+=3){var c=Y[$+e+0],y=Y[$+e+1],V=Y[$+e+2];W[Q+e]=y<<4|c>>>4;W[Q+e+1]=c<<4|V>>>4;W[Q+e+2]=V<<4|y>>>4}return}var p=new Uint16Array(16),K=new Uint8Array(h+1);
for(s=0;s<n;s++){for(var u=0;u<h;u++)K[u]=Y[$++];for(v=0,S=0;S<h-30;v+=16){N=2047&(l=T.readUint(K,v));
O=2047&l>>>11;r=15&l>>>22;I=15&l>>>26;for(w=0;w<4&&128<<w<=N-O;w++);for(B=30,e=0;e<16;e++)if(e==r)p[e]=N;
else if(e==I)p[e]=O;else{p[e]=((T.readUshort(K,v+(B>>3))>>>(B&7)&127)<<w)+O;if(p[e]>2047)p[e]=2047;B+=7}for(e=0;
e<16;e++,S+=2){var U=p[e]<<1;P.decode._putsF(W,(s*h+S)*x,U<<16-x)}S-=S&1?1:31}}};P.decode._decodeNikon=function(q,Y,$,g,W,Q,h){var n=[[0,0,1,5,1,1,1,1,1,1,2,0,0,0,0,0,0,5,4,3,6,2,7,1,0,8,9,11,10,12],[0,0,1,5,1,1,1,1,1,1,2,0,0,0,0,0,0,57,90,56,39,22,5,4,3,2,1,0,11,12,12],[0,0,1,4,2,3,1,2,0,0,0,0,0,0,0,0,0,5,4,6,3,7,2,8,1,9,0,10,11,12],[0,0,1,4,3,1,1,1,1,1,2,0,0,0,0,0,0,5,6,4,7,8,3,9,2,1,0,10,11,12,13,14],[0,0,1,5,1,1,1,1,1,1,1,2,0,0,0,0,0,8,92,75,58,41,7,6,5,4,3,2,1,0,13,14],[0,0,1,4,2,2,3,1,2,0,0,0,0,0,0,0,0,7,6,8,5,9,4,10,3,11,12,2,0,1,13,14]],x=q.t256[0],T=q.t257[0],J=q.t258[0],t=0,b=0,d=P.decode._make_decoder,e=P.decode._getbithuff,C=Y[0].exifIFD.makerNote,E=C.t150?C.t150:C.t140,S=0,I=0,y,B,v,K,u,i,a=0;
if(C.t147&&C.t147[0]==2){var s=Math.ceil(x/10),A=s*16,M=x*3>>>1;for(var _=0;_<T;_++){for(var c=0;c<s;
c++){for(var y=0;y<15;y++)Q[_*M+c*15+y]=$[g+_*A+c*16+y]}}return}var V=E[S++],p=E[S++];if(V==73||p==88)S+=2110;
if(V==70)t=2;if(J==14)t+=3;var l=[[0,0],[0,0]],N=q.isLE?P._binLE:P._binBE;for(var y=0;y<2;y++)for(var O=0;
O<2;O++){l[y][O]=N.readShort(E,S);S+=2}var r=1<<J&32767,w=N.readShort(E,S);S+=2;if(w>1)I=Math.floor(r/(w-1));
if(V==68&&p==32&&I>0)b=N.readShort(E,562);var b1=[0,0],b0=d(n[t]),F=[g,0,0,0];for(a=B=0;B<T;B++){if(b&&B==b){b0=d(n[t+1])}for(v=0;
v<x;v++){y=e($,F,b0[0],b0);K=y&15;u=y>>>4;i=(e($,F,K-u,0)<<1)+1<<u>>>1;if((i&1<<K-1)==0)i-=(1<<K)-(u==0?1:0);
if(v<2)b1[v]=l[B&1][v]+=i;else b1[v&1]+=i;var m=Math.min(Math.max(b1[v&1],0),(1<<J)-1),o=(B*x+v)*J;P.decode._putsF(Q,o,m<<16-J)}}};
P.decode._putsF=function(q,Y,$){$=$<<8-(Y&7);var g=Y>>>3;q[g]|=$>>>16;q[g+1]|=$>>>8;q[g+2]|=$};P.decode._getbithuff=function(q,Y,$,g){var W=0,Q=P.decode._get_byte,h,n=Y[0],x=Y[1],T=Y[2],J=Y[3];
if($==0||T<0)return 0;while(!J&&T<$&&(h=q[n++])!=-1&&!(J=W&&h==255&&q[n++])){x=(x<<8)+h;T+=8}h=x<<32-T>>>32-$;
if(g){T-=g[h+1]>>>8;h=g[h+1]&255}else T-=$;if(T<0)throw"e";Y[0]=n;Y[1]=x;Y[2]=T;Y[3]=J;return h};P.decode._make_decoder=function(q){var Y,$,g,W,n,x=[],T=17;
for(Y=16;Y!=0&&!q[Y];Y--);x[0]=Y;for(g=$=1;$<=Y;$++)for(W=0;W<q[$];W++,++T)for(n=0;n<1<<Y-$;n++)if(g<=1<<Y)x[g++]=$<<8|q[T];
return x};P.decode._decodeNewJPEG=function(q,Y,$,g,W,Q){g=Math.min(g,Y.length-$);var h=q.t347,n=h?h.length:0,x=new Uint8Array(n+g);
if(h){var T=216,J=217,t=0;for(var b=0;b<n-1;b++){if(h[b]==255&&h[b+1]==J)break;x[t++]=h[b]}var d=Y[$],e=Y[$+1];
if(d!=255||e!=T){x[t++]=d;x[t++]=e}for(var b=2;b<g;b++)x[t++]=Y[$+b]}else for(var b=0;b<g;b++)x[b]=Y[$+b];
if(q.t262[0]==32803||q.t259[0]==7&&q.t262[0]==34892){var C=q.t258[0],E=P.LosslessJpegDecode(x),S=E[0],s=S.length;
if(E[3]==4&&q.t29456){var A=S.slice(0);A.fill(0);var M=E[1],_=E[2],U=M*2;for(var c=0;c<_;c++)for(var y=0;
y<M;y++){var V=c*M*4+y*2,p=V+y*2;A[V]=S[p];A[V+1]=S[p+1];A[V+U]=S[p+2];A[V+U+1]=S[p+3]}S=A}if(!1){}else if(C==16){if(q.isLE)for(var b=0;
b<s;b++){W[Q+(b<<1)]=S[b]&255;W[Q+(b<<1)+1]=S[b]>>>8}else for(var b=0;b<s;b++){W[Q+(b<<1)]=S[b]>>>8;
W[Q+(b<<1)+1]=S[b]&255}}else if(C==14||C==12||C==10){var l=16-C;for(var b=0;b<s;b++)P.decode._putsF(W,b*C,S[b]<<l)}else if(C==8){for(var b=0;
b<s;b++)W[Q+b]=S[b]}else throw new Error("unsupported bit depth "+C)}else{var N=new P.JpegDecoder;N.parse(x);
var O=N.getData({width:N.width,height:N.height,forceRGB:!0,isSourcePDF:!1});for(var b=0;b<O.length;b++)W[Q+b]=O[b]}if(q.t262[0]==6)q.t262[0]=2};
P.decode._decodeOldJPEGInit=function(q,Y,$,g){var W=216,Q=217,h=219,n=196,x=221,T=192,J=218,t=0,b=0,d,e,C=!1,E,S,s,A=q.t513,M=A?A[0]:0,_=q.t514,U=_?_[0]:0,c=q.t324||q.t273||A,y=q.t530,V=0,p=0,l=q.t277?q.t277[0]:1,N=q.t515;
if(c){b=c[0];C=c.length>1}if(!C){if(Y[$]==255&&Y[$+1]==W)return{jpegOffset:$};if(A!=null){if(Y[$+M]==255&&Y[$+M+1]==W)t=$+M;
else aI("JPEGInterchangeFormat does not point to SOI");if(_==null)aI("JPEGInterchangeFormatLength field is missing");
else if(M>=b||M+U<=b)aI("JPEGInterchangeFormatLength field value is invalid");if(t!=null)return{jpegOffset:t}}}if(y!=null){V=y[0];
p=y[1]}if(A!=null)if(_!=null)if(U>=2&&M+U<=b){if(Y[$+M+U-2]==255&&Y[$+M+U-1]==W)d=new Uint8Array(U-2);
else d=new Uint8Array(U);for(E=0;E<d.length;E++)d[E]=Y[$+M+E];aI("Incorrect JPEG interchange format: using JPEGInterchangeFormat offset to derive tables")}else aI("JPEGInterchangeFormat+JPEGInterchangeFormatLength > offset to first strip or tile");
if(d==null){var O=0,r=[];r[O++]=255;r[O++]=W;var I=q.t519;if(I==null)throw new Error("JPEGQTables tag is missing");
for(E=0;E<I.length;E++){r[O++]=255;r[O++]=h;r[O++]=0;r[O++]=67;r[O++]=E;for(S=0;S<64;S++)r[O++]=Y[$+I[E]+S]}for(s=0;
s<2;s++){var w=q[s==0?"t520":"t521"];if(w==null)throw new Error((s==0?"JPEGDCTables":"JPEGACTables")+" tag is missing");
for(E=0;E<w.length;E++){r[O++]=255;r[O++]=n;var B=19;for(S=0;S<16;S++)B+=Y[$+w[E]+S];r[O++]=B>>>8;r[O++]=B&255;
r[O++]=E|s<<4;for(S=0;S<16;S++)r[O++]=Y[$+w[E]+S];for(S=0;S<B;S++)r[O++]=Y[$+w[E]+16+S]}}r[O++]=255;
r[O++]=T;r[O++]=0;r[O++]=8+3*l;r[O++]=8;r[O++]=q.height>>>8&255;r[O++]=q.height&255;r[O++]=q.width>>>8&255;
r[O++]=q.width&255;r[O++]=l;if(l==1){r[O++]=1;r[O++]=17;r[O++]=0}else for(E=0;E<3;E++){r[O++]=E+1;r[O++]=E!=0?17:(V&15)<<4|p&15;
r[O++]=E}if(N!=null&&N[0]!=0){r[O++]=255;r[O++]=x;r[O++]=0;r[O++]=4;r[O++]=N[0]>>>8&255;r[O++]=N[0]&255}d=new Uint8Array(r)}var v=-1;
E=0;while(E<d.length-1){if(d[E]==255&&d[E+1]==T){v=E;break}E++}if(v==-1){var K=new Uint8Array(d.length+10+3*l);
K.set(d);var u=d.length;v=d.length;d=K;d[u++]=255;d[u++]=T;d[u++]=0;d[u++]=8+3*l;d[u++]=8;d[u++]=q.height>>>8&255;
d[u++]=q.height&255;d[u++]=q.width>>>8&255;d[u++]=q.width&255;d[u++]=l;if(l==1){d[u++]=1;d[u++]=17;d[u++]=0}else for(E=0;
E<3;E++){d[u++]=E+1;d[u++]=E!=0?17:(V&15)<<4|p&15;d[u++]=E}}if(Y[b]==255&&Y[b+1]==J){var i=Y[b+2]<<8|Y[b+3];
e=new Uint8Array(i+2);e[0]=Y[b];e[1]=Y[b+1];e[2]=Y[b+2];e[3]=Y[b+3];for(E=0;E<i-2;E++)e[E+4]=Y[b+E+4]}else{e=new Uint8Array(2+6+2*l);
var a=0;e[a++]=255;e[a++]=J;e[a++]=0;e[a++]=6+2*l;e[a++]=l;if(l==1){e[a++]=1;e[a++]=0}else for(E=0;E<3;
E++){e[a++]=E+1;e[a++]=E<<4|E}e[a++]=0;e[a++]=63;e[a++]=0}return{jpegOffset:$,tables:d,sosMarker:e,sofPosition:v}};
P.decode._decodeOldJPEG=function(q,Y,$,g,W,Q){var h,n,x,T,J,t=P.decode._decodeOldJPEGInit(q,Y,$,g);if(t.jpegOffset!=null){n=$+g-t.jpegOffset;
T=new Uint8Array(n);for(h=0;h<n;h++)T[h]=Y[t.jpegOffset+h]}else{x=t.tables.length;T=new Uint8Array(x+t.sosMarker.length+g+2);
T.set(t.tables);J=x;T[t.sofPosition+5]=q.height>>>8&255;T[t.sofPosition+6]=q.height&255;T[t.sofPosition+7]=q.width>>>8&255;
T[t.sofPosition+8]=q.width&255;if(Y[$]!=255||Y[$+1]!=SOS){T.set(t.sosMarker,J);J+=sosMarker.length}for(h=0;
h<g;h++)T[J++]=Y[$+h];T[J++]=255;T[J++]=EOI}var b=new P.JpegDecoder;b.parse(T);var d=b.getData({width:b.width,height:b.height,forceRGB:!0,isSourcePDF:!1});
for(var h=0;h<d.length;h++)W[Q+h]=d[h];if(q.t262&&q.t262[0]==6)q.t262[0]=2};P.decode._decodePackBits=function(q,Y,$,g,W){var Q=new Int8Array(q.buffer),h=new Int8Array(g.buffer),n=Y+$;
while(Y<n){var x=Q[Y];Y++;if(x>=0&&x<128)for(var T=0;T<x+1;T++){h[W]=Q[Y];W++;Y++}if(x>=-127&&x<0){for(var T=0;
T<-x+1;T++){h[W]=Q[Y];W++}Y++}}return W};P.decode._decodeThunder=function(q,Y,$,g,W){var Q=[0,1,0,-1],h=[0,1,2,3,0,-3,-2,-1],n=Y+$,x=W*2,T=0;
while(Y<n){var J=q[Y],t=J>>>6,b=J&63;Y++;if(t==3){T=b&15;g[x>>>1]|=T<<4*(1-x&1);x++}if(t==0)for(var d=0;
d<b;d++){g[x>>>1]|=T<<4*(1-x&1);x++}if(t==2)for(var d=0;d<2;d++){var e=b>>>3*(1-d)&7;if(e!=4){T+=h[e];
g[x>>>1]|=T<<4*(1-x&1);x++}}if(t==1)for(var d=0;d<3;d++){var e=b>>>2*(2-d)&3;if(e!=2){T+=Q[e];g[x>>>1]|=T<<4*(1-x&1);
x++}}}};P.decode._dmap={"1":0,"011":1,"000011":2,"0000011":3,"010":-1,"000010":-2,"0000010":-3};P.decode._lens=function(){var q=function(x,T,J,t){for(var b=0;
b<T.length;b++)x[T[b]]=J+b*t},Y="00110101,000111,0111,1000,1011,1100,1110,1111,10011,10100,00111,01000,001000,000011,110100,110101,"+"101010,101011,0100111,0001100,0001000,0010111,0000011,0000100,0101000,0101011,0010011,0100100,0011000,00000010,00000011,00011010,"+"00011011,00010010,00010011,00010100,00010101,00010110,00010111,00101000,00101001,00101010,00101011,00101100,00101101,00000100,00000101,00001010,"+"00001011,01010010,01010011,01010100,01010101,00100100,00100101,01011000,01011001,01011010,01011011,01001010,01001011,00110010,00110011,00110100",$="0000110111,010,11,10,011,0011,0010,00011,000101,000100,0000100,0000101,0000111,00000100,00000111,000011000,"+"0000010111,0000011000,0000001000,00001100111,00001101000,00001101100,00000110111,00000101000,00000010111,00000011000,000011001010,000011001011,000011001100,000011001101,000001101000,000001101001,"+"000001101010,000001101011,000011010010,000011010011,000011010100,000011010101,000011010110,000011010111,000001101100,000001101101,000011011010,000011011011,000001010100,000001010101,000001010110,000001010111,"+"000001100100,000001100101,000001010010,000001010011,000000100100,000000110111,000000111000,000000100111,000000101000,000001011000,000001011001,000000101011,000000101100,000001011010,000001100110,000001100111",g="11011,10010,010111,0110111,00110110,00110111,01100100,01100101,01101000,01100111,011001100,011001101,011010010,011010011,011010100,011010101,011010110,"+"011010111,011011000,011011001,011011010,011011011,010011000,010011001,010011010,011000,010011011",W="0000001111,000011001000,000011001001,000001011011,000000110011,000000110100,000000110101,0000001101100,0000001101101,0000001001010,0000001001011,0000001001100,"+"0000001001101,0000001110010,0000001110011,0000001110100,0000001110101,0000001110110,0000001110111,0000001010010,0000001010011,0000001010100,0000001010101,0000001011010,"+"0000001011011,0000001100100,0000001100101",Q="00000001000,00000001100,00000001101,000000010010,000000010011,000000010100,000000010101,000000010110,000000010111,000000011100,000000011101,000000011110,000000011111";
Y=Y.split(",");$=$.split(",");g=g.split(",");W=W.split(",");Q=Q.split(",");var h={},n={};q(h,Y,0,1);
q(h,g,64,64);q(h,Q,1792,64);q(n,$,0,1);q(n,W,64,64);q(n,Q,1792,64);return[h,n]}();P.decode._decodeG4=function(q,Y,$,g,W,Q,h){var n=P.decode,x=Y<<3,T=0,J="",t=[],b=[],e=0,C=0,E=0,S=0,s=0,A=0,_=0,c="",y=0;
for(var d=0;d<Q;d++)b.push(0);b=n._makeDiff(b);var V=Math.ceil(Q/8)*8;while(x>>>3<Y+$){S=n._findDiff(b,e+(e==0?0:1),1-A),s=n._findDiff(b,S,A);
var p=0;if(h==1)p=q[x>>>3]>>>7-(x&7)&1;if(h==2)p=q[x>>>3]>>>(x&7)&1;x++;J+=p;if(c=="H"){if(n._lens[A][J]!=null){var l=n._lens[A][J];
J="";T+=l;if(l<64){n._addNtimes(t,T,A);e+=T;A=1-A;T=0;y--;if(y==0)c=""}}}else{if(J=="0001"){J="";n._addNtimes(t,s-e,A);
e=s}if(J=="001"){J="";c="H";y=2}if(n._dmap[J]!=null){C=S+n._dmap[J];n._addNtimes(t,C-e,A);e=C;J="";A=1-A}}if(t.length==Q&&c==""){n._writeBits(t,g,W*8+_*V);
A=0;_++;e=0;b=n._makeDiff(t);t=[]}}};P.decode._findDiff=function(q,Y,$){for(var g=0;g<q.length;g+=2)if(q[g]>=Y&&q[g+1]==$)return q[g]};
P.decode._makeDiff=function(q){var Y=[];if(q[0]==1)Y.push(0,1);for(var $=1;$<q.length;$++)if(q[$-1]!=q[$])Y.push($,q[$]);
Y.push(q.length,0,q.length,1);return Y};P.decode._decodeG2=function(q,Y,$,g,W,Q,h){var n=P.decode,x=Y<<3,T=0,J="",t=[],b=0,d=0,e=Math.ceil(Q/8)*8;
while(x>>>3<Y+$){var C=0;if(h==1)C=q[x>>>3]>>>7-(x&7)&1;if(h==2)C=q[x>>>3]>>>(x&7)&1;x++;J+=C;T=n._lens[b][J];
if(T!=null){n._addNtimes(t,T,b);J="";if(T<64)b=1-b;if(t.length==Q){n._writeBits(t,g,W*8+d*e);t=[];d++;
b=0;if((x&7)!=0)x+=8-(x&7);if(T>=64)x+=8}}}};P.decode._decodeG3=function(q,Y,$,g,W,Q,h,n){var x=P.decode,T=Y<<3,J=0,t="",b=[],d=[],C=0,E=0,S=0,s=0,A=0,_=0,c="",y=0,V=!0;
for(var e=0;e<Q;e++)b.push(0);var U=-1,p=Math.ceil(Q/8)*8;while(T>>>3<Y+$){s=x._findDiff(d,C+(C==0?0:1),1-_),A=x._findDiff(d,s,_);
var l=0;if(h==1)l=q[T>>>3]>>>7-(T&7)&1;if(h==2)l=q[T>>>3]>>>(T&7)&1;T++;t+=l;if(V){if(x._lens[_][t]!=null){var N=x._lens[_][t];
t="";J+=N;if(N<64){x._addNtimes(b,J,_);_=1-_;J=0}}}else{if(c=="H"){if(x._lens[_][t]!=null){var N=x._lens[_][t];
t="";J+=N;if(N<64){x._addNtimes(b,J,_);C+=J;_=1-_;J=0;y--;if(y==0)c=""}}}else{if(t=="0001"){t="";x._addNtimes(b,A-C,_);
C=A}if(t=="001"){t="";c="H";y=2}if(x._dmap[t]!=null){E=s+x._dmap[t];x._addNtimes(b,E-C,_);C=E;t="";_=1-_}}}if(t.endsWith("000000000001")){if(U>=0)x._writeBits(b,g,W*8+U*p);
if(n){if(h==1)V=(q[T>>>3]>>>7-(T&7)&1)==1;if(h==2)V=(q[T>>>3]>>>(T&7)&1)==1;T++}t="";_=0;U++;C=0;d=x._makeDiff(b);
b=[]}}if(b.length==Q)x._writeBits(b,g,W*8+U*p)};P.decode._addNtimes=function(q,Y,$){for(var g=0;g<Y;
g++)q.push($)};P.decode._writeBits=function(q,Y,$){for(var g=0;g<q.length;g++)Y[$+g>>>3]|=q[g]<<7-($+g&7)};
P.decode._decodeLZW=P.decode._decodeLZW=function(){var q,Y,g,W,Q=0,h=0,n=0,x=0,T=function(){var S=q>>>3,A=Y[S]<<16|Y[S+1]<<8|Y[S+2],_=A>>>24-(q&7)-h&(1<<h)-1;
q+=h;return _},J=new Uint32Array(4096*4),t=0,b=function(S){if(S==t)return;t=S;n=1<<S;x=n+1;for(var A=0;
A<x+1;A++){J[4*A]=J[4*A+3]=A;J[4*A+1]=65535;J[4*A+2]=1}},d=function(S){h=S+1;Q=x+1},e=function(S){var A=S<<2,_=J[A+2],U=W+_-1;
while(A!=65535){g[U--]=J[A];A=J[A+1]}W+=_},C=function(S,A){var _=Q<<2,U=S<<2;J[_]=J[(A<<2)+3];J[_+1]=U;
J[_+2]=J[U+2]+1;J[_+3]=J[U+3];Q++;if(Q+1==1<<h&&h!=12)h++},E=function(S,A,_,U,c,V){q=A<<3;Y=S;g=U;W=c;
var p=A+_<<3,N=0,O=0;b(V);d(V);while(q<p&&(N=T())!=x){if(N==n){d(V);N=T();if(N==x)break;e(N)}else{if(N<Q){e(N);
C(O,N)}else{C(O,O);e(Q-1)}}O=N}return W};return E}();P.tags={};P._types=function(){var q=new Array(250);
q.fill(0);q=q.concat([0,0,0,0,4,3,3,3,3,3,0,0,3,0,0,0,3,0,0,2,2,2,2,4,3,0,0,3,4,4,3,3,5,5,3,2,5,5,0,0,0,0,4,4,0,0,3,3,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,2,2,3,5,5,3,0,3,3,4,4,4,3,4,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);
var Y={33432:2,33434:5,33437:5,34665:4,34850:3,34853:4,34855:3,34864:3,34866:4,36864:7,36867:2,36868:2,37121:7,37377:10,37378:5,37380:10,37381:5,37383:3,37384:3,37385:3,37386:5,37510:7,37520:2,37521:2,37522:2,40960:7,40961:3,40962:4,40963:4,40965:4,41486:5,41487:5,41488:3,41985:3,41986:3,41987:3,41988:5,41989:3,41990:3,41993:3,41994:3,41995:7,41996:3,42032:2,42033:2,42034:5,42036:2,42037:2,59932:7};
return{basic:{main:q,rest:Y},gps:{main:[1,2,5,2,5,1,5,5,0,9],rest:{18:2,29:2}}}}();P._readIFD=function(q,Y,$,g,W,Q){var h=q.readUshort(Y,$);
$+=2;var n={};if(Q.debug)aI(" ".repeat(W),g.length-1,">>>----------------");for(var x=0;x<h;x++){var T=q.readUshort(Y,$);
$+=2;var J=q.readUshort(Y,$);$+=2;var t=q.readUint(Y,$);$+=4;var b=q.readUint(Y,$);$+=4;var d=[];if(J==1||J==7){var e=t<5?$-4:b;
if(e+t>Y.buffer.byteLength)t=Y.buffer.byteLength-e;d=new Uint8Array(Y.buffer,e,t)}if(J==2){var C=t<5?$-4:b,E=Y[C],S=Math.max(0,Math.min(t-1,Y.length-C));
if(E<128||S==0)d.push(q.readASCII(Y,C,S));else d=new Uint8Array(Y.buffer,C,S)}if(J==3){for(var s=0;s<t;
s++)d.push(q.readUshort(Y,(t<3?$-4:b)+2*s))}if(J==4||J==13){for(var s=0;s<t;s++)d.push(q.readUint(Y,(t<2?$-4:b)+4*s))}if(J==5||J==10){var A=J==5?q.readUint:q.readInt;
for(var s=0;s<t;s++)d.push([A(Y,b+s*8),A(Y,b+s*8+4)])}if(J==8){for(var s=0;s<t;s++)d.push(q.readShort(Y,(t<3?$-4:b)+2*s))}if(J==9){for(var s=0;
s<t;s++)d.push(q.readInt(Y,(t<2?$-4:b)+4*s))}if(J==11){for(var s=0;s<t;s++)d.push(q.readFloat(Y,b+s*4))}if(J==12){for(var s=0;
s<t;s++)d.push(q.readDouble(Y,b+s*8))}if(t!=0&&d.length==0){aI(T,"unknown TIFF tag type: ",J,"num:",t);
if(x==0)return;continue}if(Q.debug)aI(" ".repeat(W),T,J,P.tags[T],d);n["t"+T]=d;if(T==330&&n.t272&&n.t272[0]=="DSLR-A100"){}else if(T==330||T==34665||T==34853||T==50740&&q.readUshort(Y,q.readUint(d,0))<300||T==61440){var M=T==50740?[q.readUint(d,0)]:d,_=[];
for(var s=0;s<M.length;s++)P._readIFD(q,Y,M[s],_,W+1,Q);if(T==330)n.subIFD=_;if(T==34665)n.exifIFD=_[0];
if(T==34853)n.gpsiIFD=_[0];if(T==50740)n.dngPrvt=_[0];if(T==61440)n.fujiIFD=_[0]}if(T==37500&&Q.parseMN){var U=d;
if(q.readASCII(U,0,5)=="Nikon")n.makerNote=P.decode(U.slice(10).buffer)[0];else if(q.readASCII(U,0,5)=="OLYMP"||q.readASCII(U,0,9)=="OM SYSTEM"){var c=[8208,8224,8240,8256,8272],y=[];
P._readIFD(q,U,U[1]==77?16:U[5]==85?12:8,y,W+1,Q);var V=n.makerNote=y.pop();for(var s=0;s<c.length;s++){var p="t"+c[s];
if(V[p]==null)continue;if(V[p].length==1)P._readIFD(q,U,V[p][0],y,W+1,Q);else P._readIFD(q,V[p],0,y,W+1,Q);
V[p]=y.pop()}if(V.t12288){P._readIFD(q,V.t12288,0,y,W+1,Q);V.t12288=y.pop()}}else if(q.readUshort(Y,b)<300&&q.readUshort(Y,b+4)<=12){var y=[];
P._readIFD(q,Y,b,y,W+1,Q);n.makerNote=y[0]}}}g.push(n);if(Q.debug)aI(" ".repeat(W),"<<<---------------");
return $};P._writeIFD=function(q,Y,$,g,W){var Q=Object.keys(W),h=Q.length;if(W.exifIFD)h--;if(W.gpsiIFD)h--;
q.writeUshort($,g,h);g+=2;var n=g+h*12+4;for(var x=0;x<Q.length;x++){var T=Q[x];if(T=="t34665"||T=="t34853")continue;
if(T=="exifIFD")T="t34665";if(T=="gpsiIFD")T="t34853";var J=parseInt(T.slice(1)),t=Y.main[J];if(t==null)t=Y.rest[J];
if(t==null||t==0)throw new Error("unknown type of tag: "+J);var b=W[T];if(J==34665){var d=P._writeIFD(q,Y,$,n,W.exifIFD);
b=[n];n=d[1]}if(J==34853){var d=P._writeIFD(q,P._types.gps,$,n,W.gpsiIFD);b=[n];n=d[1]}if(t==2)b=b[0]+"\0";
var e=b.length;q.writeUshort($,g,J);g+=2;q.writeUshort($,g,t);g+=2;q.writeUint($,g,e);g+=4;var C=[-1,1,1,2,4,8,0,1,0,4,8,0,8][t]*e,E=g;
if(C>4){q.writeUint($,g,n);E=n}if(t==1||t==7){for(var S=0;S<e;S++)$[E+S]=b[S]}else if(t==2){q.writeASCII($,E,b)}else if(t==3){for(var S=0;
S<e;S++)q.writeUshort($,E+2*S,b[S])}else if(t==4){for(var S=0;S<e;S++)q.writeUint($,E+4*S,b[S])}else if(t==5||t==10){var s=t==5?q.writeUint:q.writeInt;
for(var S=0;S<e;S++){var A=b[S],M=A[0],_=A[1];if(M==null)throw"e";s($,E+8*S,M);s($,E+8*S+4,_)}}else if(t==9){for(var S=0;
S<e;S++)q.writeInt($,E+4*S,b[S])}else if(t==12){for(var S=0;S<e;S++)q.writeDouble($,E+8*S,b[S])}else throw t;
if(C>4){C+=C&1;n+=C}g+=4}return[g,n]};P.toRGBA8=function(q,Y){function $(v){return v<.0031308?12.92*v:1.055*Math.pow(v,1/2.4)-.055}var g=q.width,W=q.height,h=g*W,n=h*4,x=q.data,T=new Uint8Array(h*4),J=q.t262?q.t262[0]:2,t=q.t258?Math.min(32,q.t258[0]):1;
if(q.t262==null&&t==1)J=0;var b=q.t277?q.t277[0]:q.t258?q.t258.length:[1,1,3,1,1,4,3][J],d=q.t339?q.t339[0]:null;
if(J==1&&t==32&&d!=3)throw"e";var e=Math.ceil(b*t*g/8);if(!1){}else if(J==0){Y=1/256;for(var C=0;C<W;
C++){var E=C*e,S=C*g;if(t==1)for(var s=0;s<g;s++){var A=S+s<<2,_=x[E+(s>>3)]>>7-(s&7)&1;T[A]=T[A+1]=T[A+2]=(1-_)*255;
T[A+3]=255}if(t==4)for(var s=0;s<g;s++){var A=S+s<<2,_=x[E+(s>>1)]>>4-4*(s&1)&15;T[A]=T[A+1]=T[A+2]=(15-_)*17;
T[A+3]=255}if(t==8)for(var s=0;s<g;s++){var A=S+s<<2,_=x[E+s];T[A]=T[A+1]=T[A+2]=255-_;T[A+3]=255}if(t==16)for(var s=0;
s<g;s++){var A=S+s<<2,c=E+2*s,_=x[c+1]<<8|x[c];T[A]=T[A+1]=T[A+2]=Math.min(255,255-~~(_*Y));T[A+3]=255}}}else if(J==1){if(Y==null)Y=1/256;
var y=(x.length&3)==0?new Float32Array(x.buffer):null;for(var C=0;C<W;C++){var E=C*e,S=C*g;if(t==1)for(var s=0;
s<g;s++){var A=S+s<<2,_=x[E+(s>>3)]>>7-(s&7)&1;T[A]=T[A+1]=T[A+2]=_*255;T[A+3]=255}if(t==2)for(var s=0;
s<g;s++){var A=S+s<<2,_=x[E+(s>>2)]>>6-2*(s&3)&3;T[A]=T[A+1]=T[A+2]=_*85;T[A+3]=255}if(t==8)for(var s=0;
s<g;s++){var A=S+s<<2,_=x[E+s*b];T[A]=T[A+1]=T[A+2]=_;T[A+3]=255}if(t==16)for(var s=0;s<g;s++){var A=S+s<<2,c=E+2*s,_=x[c+1]<<8|x[c];
T[A]=T[A+1]=T[A+2]=Math.min(255,~~(_*Y));T[A+3]=255}if(t==32)for(var s=0;s<g;s++){var A=S+s<<2,c=(E>>>2)+s,_=y[c];
T[A]=T[A+1]=T[A+2]=~~(.5+255*_);T[A+3]=255}}}else if(J==2){if(t==8){if(b==1)for(var s=0;s<h;s++){T[4*s]=T[4*s+1]=T[4*s+2]=x[s];
T[4*s+3]=255}if(b==3)for(var s=0;s<h;s++){var A=s<<2,V=s*3;T[A]=x[V];T[A+1]=x[V+1];T[A+2]=x[V+2];T[A+3]=255}if(b>=4)for(var s=0;
s<h;s++){var A=s<<2,V=s*b;T[A]=x[V];T[A+1]=x[V+1];T[A+2]=x[V+2];T[A+3]=x[V+3]}}else if(t==16){if(b==4)for(var s=0;
s<h;s++){var A=s<<2,V=s*8+1;T[A]=x[V];T[A+1]=x[V+2];T[A+2]=x[V+4];T[A+3]=x[V+6]}if(b==3)for(var s=0;
s<h;s++){var A=s<<2,V=s*6+1;T[A]=x[V];T[A+1]=x[V+2];T[A+2]=x[V+4];T[A+3]=255}}else if(t==32){var p=new Float32Array(x.buffer),l=0;
for(var s=0;s<p.length;s++)l=Math.min(l,p[s]);if(l<0)for(var s=0;s<x.length;s+=4){var N=x[s];x[s]=x[s+3];
x[s+3]=N;N=x[s+1];x[s+1]=x[s+2];x[s+2]=N}var O=[];for(var s=0;s<65536;s++)O.push($(s/65535));for(var s=0;
s<p.length;s++){var r=Math.max(0,Math.min(1,p[s]));p[s]=O[~~(.5+r*65535)]}if(b==3)for(var s=0;s<h;s++){var A=s<<2,V=s*3;
T[A]=~~(.5+p[V]*255);T[A+1]=~~(.5+p[V+1]*255);T[A+2]=~~(.5+p[V+2]*255);T[A+3]=255}else if(b==4)for(var s=0;
s<h;s++){var A=s<<2,V=s*4;T[A]=~~(.5+p[V]*255);T[A+1]=~~(.5+p[V+1]*255);T[A+2]=~~(.5+p[V+2]*255);T[A+3]=~~(.5+p[V+3]*255)}else throw b}else throw t}else if(J==3){var I=q.t320,w=1<<t,B=t==8&&b>1&&q.t338&&q.t338[0]!=0;
for(var C=0;C<W;C++)for(var v=0;v<g;v++){var s=C*g+v,A=s<<2,K=0,u=C*e;if(!1){}else if(t==1)K=x[u+(v>>>3)]>>>7-(v&7)&1;
else if(t==2)K=x[u+(v>>>2)]>>>6-2*(v&3)&3;else if(t==4)K=x[u+(v>>>1)]>>>4-4*(v&1)&15;else if(t==8)K=x[u+v*b];
else throw t;T[A]=I[K]>>8;T[A+1]=I[w+K]>>8;T[A+2]=I[w+w+K]>>8;T[A+3]=B?x[u+v*b+1]:255}}else if(J==5){var i=b>4?1:0;
for(var s=0;s<h;s++){var A=s<<2,a=s*b;if(window.UDOC){var b1=x[a],b0=x[a+1],F=x[a+2],m=x[a+3],o=UDOC.C.cmykToRgb([b1*(1/255),b0*(1/255),F*(1/255),m*(1/255)]);
T[A]=~~(.5+255*o[0]);T[A+1]=~~(.5+255*o[1]);T[A+2]=~~(.5+255*o[2])}else{var b1=255-x[a],b0=255-x[a+1],F=255-x[a+2],m=(255-x[a+3])*(1/255);
T[A]=~~(b1*m+.5);T[A+1]=~~(b0*m+.5);T[A+2]=~~(F*m+.5)}T[A+3]=255*(1-i)+x[a+4]*i}}else if(J==6&&q.t278){var aJ=q.t278[0];
for(var C=0;C<W;C+=aJ){var s=C*g,ba=aJ*g;for(var b6=0;b6<ba;b6++){var A=4*(s+b6),a=3*s+4*(b6>>>1),F=x[a+(b6&1)],X=x[a+2]-128,aL=x[a+3]-128,L=F+((aL>>2)+(aL>>3)+(aL>>5)),aB=F-((X>>2)+(X>>4)+(X>>5))-((aL>>1)+(aL>>3)+(aL>>4)+(aL>>5)),b3=F+(X+(X>>1)+(X>>2)+(X>>6));
T[A]=Math.max(0,Math.min(255,L));T[A+1]=Math.max(0,Math.min(255,aB));T[A+2]=Math.max(0,Math.min(255,b3));
T[A+3]=255}}}else if(J==8){if(b!=3||t!=16)throw"e";var aQ=new Uint16Array(x.buffer),aZ=new Int16Array(x.buffer),b0=[3.1338561,-1.6168667,-.4906146,-.9787684,1.9161415,.033454,.0719453,-.2289914,1.4052427];
for(var C=0;C<W;C++)for(var v=0;v<g;v++){var s=C*g+v,A=s*4,V=s*3,a4=aQ[V]*(100/65535),f=aZ[V+1]*(255/65535),b3=aZ[V+2]*(255/65535),am=903.3,G=.008856,ao=(a4+16)/116,a1=ao*ao*ao,aK=ao-b3/200,Z=aK*aK*aK,D=f/500+ao,H=D*D*D,R=Z>G?Z:(116*aK-16)/am,z=a1>G?a1:(116*ao-16)/am,k=H>G?H:(116*D-16)/am,a_=k*(96.42/100),F=z*(100/100),aS=R*(82.49/100);
T[A]=Math.max(0,Math.min(255,$(a_*b0[0]+F*b0[1]+aS*b0[2])*255));T[A+1]=Math.max(0,Math.min(255,$(a_*b0[3]+F*b0[4]+aS*b0[5])*255));
T[A+2]=Math.max(0,Math.min(255,$(a_*b0[6]+F*b0[7]+aS*b0[8])*255));T[A+3]=255}}else if(J==32845){for(var C=0;
C<W;C++)for(var v=0;v<g;v++){var a=(C*g+v)*6,A=(C*g+v)*4,a4=x[a+1]<<8|x[a],a4=Math.pow(2,(a4+.5)/256-64),aM=(x[a+3]+.5)/410,a9=(x[a+5]+.5)/410,aU=9*aM/(6*aM-16*a9+12),aO=4*a9/(6*aM-16*a9+12),aq=a4,a_=aU*aq/aO,F=aq,aS=(1-aU-aO)*aq/aO,L=2.69*a_-1.276*F-.414*aS,aB=-1.022*a_+1.978*F+.044*aS,b3=.061*a_-.224*F+1.163*aS;
T[A]=$(Math.min(L,1))*255;T[A+1]=$(Math.min(aB,1))*255;T[A+2]=$(Math.min(b3,1))*255;T[A+3]=255}}else aI("Unknown Photometric interpretation: "+J);
return T};P.replaceIMG=function(q){if(q==null)q=document.getElementsByTagName("img");var Y=["tif","tiff","dng","cr2","nef"];
for(var $=0;$<q.length;$++){var g=q[$],W=g.getAttribute("src");if(W==null)continue;var Q=W.split(".").pop().toLowerCase();
if(Y.indexOf(Q)==-1)continue;var n=new XMLHttpRequest;P._xhrs.push(n);P._imgs.push(g);n.open("GET",W);
n.responseType="arraybuffer";n.onload=P._imgLoaded;n.send()}};P._xhrs=[];P._imgs=[];P._imgLoaded=function(q){var Y=P._xhrs.indexOf(q.target),g=P._imgs[Y];
P._xhrs.splice(Y,1);P._imgs.splice(Y,1);g.setAttribute("src",P.bufferToURI(q.target.response))};P.bufferToURI=function(q){var Y=P.decode(q),$=Y,g=0,W=$[0];
if(Y[0].subIFD)$=$.concat(Y[0].subIFD);for(var Q=0;Q<$.length;Q++){var n=$[Q];if(n.t258==null||n.t258.length<3)continue;
var x=n.t256*n.t257;if(x>g){g=x;W=n}}P.decodeImage(q,W,Y);var T=P.toRGBA8(W),J=W.width,t=W.height,b=document.createElement("canvas");
b.width=J;b.height=t;var d=b.getContext("2d"),e=new ImageData(new Uint8ClampedArray(T.buffer),J,t);d.putImageData(e,0,0);
return b.toDataURL()};P._binBE={nextZero:function(q,Y){while(q[Y]!=0)Y++;return Y},readUshort:function(q,Y){return q[Y]<<8|q[Y+1]},readShort:function(q,Y){var $=P._binBE.ui8;
$[0]=q[Y+1];$[1]=q[Y+0];return P._binBE.i16[0]},readInt:function(q,Y){var $=P._binBE.ui8;$[0]=q[Y+3];
$[1]=q[Y+2];$[2]=q[Y+1];$[3]=q[Y+0];return P._binBE.i32[0]},readUint:function(q,Y){var $=P._binBE.ui8;
$[0]=q[Y+3];$[1]=q[Y+2];$[2]=q[Y+1];$[3]=q[Y+0];return P._binBE.ui32[0]},readASCII:function(q,Y,$){var g="";
for(var W=0;W<$;W++)g+=String.fromCharCode(q[Y+W]);return g},readFloat:function(q,Y){var $=P._binBE.ui8;
for(var g=0;g<4;g++)$[g]=q[Y+3-g];return P._binBE.fl32[0]},readDouble:function(q,Y){var $=P._binBE.ui8;
for(var g=0;g<8;g++)$[g]=q[Y+7-g];return P._binBE.fl64[0]},writeUshort:function(q,Y,$){q[Y]=$>>8&255;
q[Y+1]=$&255},writeInt:function(q,Y,$){var g=P._binBE.ui8;P._binBE.i32[0]=$;q[Y+3]=g[0];q[Y+2]=g[1];
q[Y+1]=g[2];q[Y+0]=g[3]},writeUint:function(q,Y,$){q[Y]=$>>24&255;q[Y+1]=$>>16&255;q[Y+2]=$>>8&255;q[Y+3]=$>>0&255},writeASCII:function(q,Y,$){for(var g=0;
g<$.length;g++)q[Y+g]=$.charCodeAt(g)},writeDouble:function(q,Y,$){P._binBE.fl64[0]=$;for(var g=0;g<8;
g++)q[Y+g]=P._binBE.ui8[7-g]}};P._binBE.ui8=new Uint8Array(8);P._binBE.i16=new Int16Array(P._binBE.ui8.buffer);
P._binBE.i32=new Int32Array(P._binBE.ui8.buffer);P._binBE.ui32=new Uint32Array(P._binBE.ui8.buffer);
P._binBE.fl32=new Float32Array(P._binBE.ui8.buffer);P._binBE.fl64=new Float64Array(P._binBE.ui8.buffer);
P._binLE={nextZero:P._binBE.nextZero,readUshort:function(q,Y){return q[Y+1]<<8|q[Y]},readShort:function(q,Y){var $=P._binBE.ui8;
$[0]=q[Y+0];$[1]=q[Y+1];return P._binBE.i16[0]},readInt:function(q,Y){var $=P._binBE.ui8;$[0]=q[Y+0];
$[1]=q[Y+1];$[2]=q[Y+2];$[3]=q[Y+3];return P._binBE.i32[0]},readUint:function(q,Y){var $=P._binBE.ui8;
$[0]=q[Y+0];$[1]=q[Y+1];$[2]=q[Y+2];$[3]=q[Y+3];return P._binBE.ui32[0]},readASCII:P._binBE.readASCII,readFloat:function(q,Y){var $=P._binBE.ui8;
for(var g=0;g<4;g++)$[g]=q[Y+g];return P._binBE.fl32[0]},readDouble:function(q,Y){var $=P._binBE.ui8;
for(var g=0;g<8;g++)$[g]=q[Y+g];return P._binBE.fl64[0]},writeUshort:function(q,Y,$){q[Y]=$&255;q[Y+1]=$>>8&255},writeInt:function(q,Y,$){var g=P._binBE.ui8;
P._binBE.i32[0]=$;q[Y+0]=g[0];q[Y+1]=g[1];q[Y+2]=g[2];q[Y+3]=g[3]},writeUint:function(q,Y,$){q[Y]=$>>>0&255;
q[Y+1]=$>>>8&255;q[Y+2]=$>>>16&255;q[Y+3]=$>>>24&255},writeASCII:P._binBE.writeASCII};P._copyTile=function(q,Y,$,g,W,Q,h,n){var x=Math.min(Y,W-h),T=Math.min($,Q-n);
for(var J=0;J<T;J++){var t=(n+J)*W+h,b=J*Y;for(var d=0;d<x;d++)g[t+d]=q[b+d]}};P._inflateRaw=function(){var q={};
q.H={};q.H.N=function(Y,$){var g=Uint8Array,W=0,Q=0,n=0,x=0,T=0,t=0,b=0,d=0,e=0,C,E;if(Y[0]==3&&Y[1]==0)return $?$:new g(0);
var S=q.H,_=S.b,U=S.e,c=S.R,V=S.n,l=S.A,N=S.Z,O=S.m,r=$==null;if(r)$=new g(Y.length>>>2<<5);while(W==0){W=_(Y,e,1);
Q=_(Y,e+1,2);e+=3;if(Q==0){if((e&7)!=0)e+=8-(e&7);var v=(e>>>3)+4,K=Y[v-4]|Y[v-3]<<8;if(r)$=q.H.W($,d+K);
$.set(new g(Y.buffer,Y.byteOffset+v,K),d);e=v+K<<3;d+=K;continue}if(r)$=q.H.W($,d+(1<<17));if(Q==1){C=O.J;
E=O.h;t=(1<<9)-1;b=(1<<5)-1}if(Q==2){n=U(Y,e,5)+257;x=U(Y,e+5,5)+1;T=U(Y,e+10,4)+4;e+=14;var a=e,b1=1;
for(var m=0;m<38;m+=2){O.Q[m]=0;O.Q[m+1]=0}for(var m=0;m<T;m++){var o=U(Y,e+m*3,3);O.Q[(O.X[m]<<1)+1]=o;
if(o>b1)b1=o}e+=3*T;V(O.Q,b1);l(O.Q,b1,O.u);C=O.w;E=O.d;e=c(O.u,(1<<b1)-1,n+x,Y,e,O.v);var aJ=S.V(O.v,0,n,O.C);
t=(1<<aJ)-1;var j=S.V(O.v,n,x,O.D);b=(1<<j)-1;V(O.C,aJ);l(O.C,aJ,C);V(O.D,j);l(O.D,j,E)}while(!0){var L=C[N(Y,e)&t];
e+=L&15;var aB=L>>>4;if(aB>>>8==0){$[d++]=aB}else if(aB==256){break}else{var b3=d+aB-254;if(aB>264){var aQ=O.q[aB-257];
b3=d+(aQ>>>3)+U(Y,e,aQ&7);e+=aQ&7}var aZ=E[N(Y,e)&b];e+=aZ&15;var a4=aZ>>>4,f=O.c[a4],am=(f>>>4)+_(Y,e,f&15);
e+=f&15;while(d<b3){$[d]=$[d++-am];$[d]=$[d++-am];$[d]=$[d++-am];$[d]=$[d++-am]}d=b3}}}return $.length==d?$:$.slice(0,d)};
q.H.W=function(Y,$){var g=Y.length;if($<=g)return Y;var W=new Uint8Array(g<<1);W.set(Y,0);return W};
q.H.R=function(Y,$,g,W,Q,h){var n=q.H.e,x=q.H.Z,J=0;while(J<g){var b=Y[x(W,Q)&$];Q+=b&15;var d=b>>>4;
if(d<=15){h[J]=d;J++}else{var e=0,C=0;if(d==16){C=3+n(W,Q,2);Q+=2;e=h[J-1]}else if(d==17){C=3+n(W,Q,3);
Q+=3}else if(d==18){C=11+n(W,Q,7);Q+=7}var E=J+C;while(J<E){h[J]=e;J++}}}return Q};q.H.V=function(Y,$,g,W){var Q=0,h=0,n=W.length>>>1;
while(h<g){var x=Y[h+$];W[h<<1]=0;W[(h<<1)+1]=x;if(x>Q)Q=x;h++}while(h<n){W[h<<1]=0;W[(h<<1)+1]=0;h++}return Q};
q.H.n=function(Y,$){var g=q.H.m,W=Y.length,Q,h,n,x,J,b=g.j;for(var x=0;x<=$;x++)b[x]=0;for(x=1;x<W;x+=2)b[Y[x]]++;
var d=g.K;Q=0;b[0]=0;for(h=1;h<=$;h++){Q=Q+b[h-1]<<1;d[h]=Q}for(n=0;n<W;n+=2){J=Y[n+1];if(J!=0){Y[n]=d[J];
d[J]++}}};q.H.A=function(Y,$,g){var W=Y.length,Q=q.H.m,h=Q.r;for(var n=0;n<W;n+=2)if(Y[n+1]!=0){var x=n>>1,J=Y[n+1],b=x<<4|J,d=$-J,e=Y[n]<<d,C=e+(1<<d);
while(e!=C){var E=h[e]>>>15-$;g[E]=b;e++}}};q.H.l=function(Y,$){var g=q.H.m.r,W=15-$;for(var Q=0;Q<Y.length;
Q+=2){var h=Y[Q]<<$-Y[Q+1];Y[Q]=g[h]>>>W}};q.H.M=function(Y,$,g){g=g<<($&7);var W=$>>>3;Y[W]|=g;Y[W+1]|=g>>>8};
q.H.I=function(Y,$,g){g=g<<($&7);var W=$>>>3;Y[W]|=g;Y[W+1]|=g>>>8;Y[W+2]|=g>>>16};q.H.e=function(Y,$,g){return(Y[$>>>3]|Y[($>>>3)+1]<<8)>>>($&7)&(1<<g)-1};
q.H.b=function(Y,$,g){return(Y[$>>>3]|Y[($>>>3)+1]<<8|Y[($>>>3)+2]<<16)>>>($&7)&(1<<g)-1};q.H.Z=function(Y,$){return(Y[$>>>3]|Y[($>>>3)+1]<<8|Y[($>>>3)+2]<<16)>>>($&7)};
q.H.i=function(Y,$){return(Y[$>>>3]|Y[($>>>3)+1]<<8|Y[($>>>3)+2]<<16|Y[($>>>3)+3]<<24)>>>($&7)};q.H.m=function(){var Y=Uint16Array,$=Uint32Array;
return{K:new Y(16),j:new Y(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 Y(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 $(32),J:new Y(512),_:[],h:new Y(32),$:[],w:new Y(32768),C:[],v:[],d:new Y(32768),D:[],u:new Y(512),Q:[],r:new Y(1<<15),s:new $(286),Y:new $(30),a:new $(19),t:new $(15e3),k:new Y(1<<16),g:new Y(1<<15)}}();
(function(){var Y=q.H.m,$=1<<15;for(var g=0;g<$;g++){var W=g;W=(W&2863311530)>>>1|(W&1431655765)<<1;
W=(W&3435973836)>>>2|(W&858993459)<<2;W=(W&4042322160)>>>4|(W&252645135)<<4;W=(W&4278255360)>>>8|(W&16711935)<<8;
Y.r[g]=(W>>>16|W<<16)>>>17}function Q(h,n,x){while(n--!=0)h.push(0,x)}for(var g=0;g<32;g++){Y.q[g]=Y.S[g]<<3|Y.T[g];
Y.c[g]=Y.p[g]<<4|Y.z[g]}Q(Y._,144,8);Q(Y._,255-143,9);Q(Y._,279-255,7);Q(Y._,287-279,8);q.H.n(Y._,9);
q.H.A(Y._,9,Y.J);q.H.l(Y._,9);Q(Y.$,32,5);q.H.n(Y.$,5);q.H.A(Y.$,5,Y.h);q.H.l(Y.$,5);Q(Y.Q,19,0);Q(Y.C,286,0);
Q(Y.D,30,0);Q(Y.v,320,0)}());return q.H.N}();P.LosslessJpegDecode=function(){var q,Y;function $(){return q[Y++]}function g(){return q[Y++]<<8|q[Y++]}function W(S){var s=$(),A=[0,0,0,255],M=[],_=8;
for(var U=0;U<16;U++)M[U]=$();for(var U=0;U<16;U++){for(var c=0;c<M[U];c++){var V=Q(A,0,U+1,1);A[V+3]=$()}}var N=new Uint8Array(1<<_);
S[s]=[new Uint8Array(A),N];for(var U=0;U<1<<_;U++){var O=_,K=U,i=0,a=0;while(A[i+3]==255&&O!=0){a=K>>--O&1;
i=A[i+a]}N[U]=i}}function Q(S,s,A,M){if(S[s+3]!=255)return 0;if(A==0)return s;for(var _=0;_<2;_++){if(S[s+_]==0){S[s+_]=S.length;
S.push(0,0,M,255)}var c=Q(S,S[s+_],A-1,M+1);if(c!=0)return c}return 0}function h(S){var s=S.c,A=S.f;
while(s<25&&S.d<S.a){var M=S.data[S.d++];if(M==255&&!S.b)S.d++;A=A<<8|M;s+=8}if(s<0)throw"e";S.c=s;S.f=A}function n(S,s){if(s.c<S)h(s);
return s.f>>(s.c-=S)&65535>>16-S}function x(S,s){var A=S[0],M=0,_=255,c=0;if(s.c<16)h(s);var V=s.f>>s.c-8&255;
M=S[1][V];_=A[M+3];s.c-=A[M+2];while(_==255){c=s.f>>--s.c&1;M=A[M+c];_=A[M+3]}return _}function T(S,s){if(S<32768>>16-s)S+=-(1<<s)+1;
return S}function J(S,s){var A=x(S,s);if(A==0)return 0;if(A==16)return-32768;var M=n(A,s);return T(M,A)}function t(S,s,A,M,_,c){var V=0;
for(var N=0;N<c;N++){var O=N*s;for(var K=0;K<s;K+=_){V++;for(var i=0;i<_;i++)S[O+K+i]=J(M[i],A)}if(A.e!=0&&V%A.e==0&&N!=0){var a=A.d,b0=A.data;
while(b0[a]!=255||!(208<=b0[a+1]&&b0[a+1]<=215))a--;A.d=a+2;A.f=0;A.c=0}}}function b(S,s){return T(n(S,s),S)}function d(S,s,A,M,_){var c=q.length-Y;
for(var V=0;V<c;V+=4){var N=q[Y+V];q[Y+V]=q[Y+V+3];q[Y+V+3]=N;var N=q[Y+V+1];q[Y+V+1]=q[Y+V+2];q[Y+V+2]=N}for(var O=0;
O<_;O++){var K=32768,i=32768;for(var a=0;a<s;a+=2){var b0=x(M,A),o=x(M,A);if(b0!=0)K+=b(b0,A);if(o!=0)i+=b(o,A);
S[O*s+a]=K&65535;S[O*s+a+1]=i&65535}}}function e(S){q=S;Y=0;if(g()!=65496)throw"e";var s=[],A=0,M=0,_=0,c=[],V=[],N=[],O=0,K=0,i=0;
while(!0){var a=g();if(a==65535){Y--;continue}var b0=g();if(a==65475){M=$();K=g();i=g();O=$();for(var o=0;
o<O;o++){var aJ=$(),ba=$(),b6=$();if(b6!=0)throw"e";s[aJ]=[o,ba>>4,ba&15]}}else if(a==65476){var X=Y+b0-2;
while(Y<X)W(V)}else if(a==65498){Y++;for(var o=0;o<O;o++){var b3=$(),f=s[b3];N[f[0]]=V[$()>>>4];c[f[0]]=f.slice(1)}A=$();
Y+=2;break}else if(a==65501){_=g()}else{Y+=b0-2}}var G=M>8?Uint16Array:Uint8Array,ao=new G(K*i*O),a1={c:0,f:0,b:A==8,d:Y,data:q,a:q.length,e:_};
if(a1.b)d(ao,i*O,a1,N[0],K);else{var aK=[],Z=0,D=0;for(var o=0;o<O;o++){var H=c[o],R=H[0],z=H[1];if(R>Z)Z=R;
if(z>D)D=z;aK.push(R*z)}if(Z!=1||D!=1){if(O!=3||aK[1]!=1||aK[2]!=1)throw"e";if(Z!=2||D!=1&&D!=2)throw"e";
var k=[],a_=0;for(var o=0;o<O;o++){for(var aS=0;aS<aK[o];aS++)k.push(N[o]);a_+=aK[o]}var aM=i/Z,a9=K/D,aU=aM*a9;
t(ao,aM*a_,a1,k,a_,a9);E(ao,A,aM,a9,a_-2,a_,a_,M);var aO=new Uint16Array(aU*aK[0]);if(Z==2&&D==2){for(var o=0;
o<aU;o++){aO[4*o]=ao[6*o];aO[4*o+1]=ao[6*o+1];aO[4*o+2]=ao[6*o+2];aO[4*o+3]=ao[6*o+3]}E(aO,A,aM*4,a9,0,1,1,M);
for(var o=0;o<aU;o++){ao[6*o]=aO[4*o];ao[6*o+1]=aO[4*o+1];ao[6*o+2]=aO[4*o+2];ao[6*o+3]=aO[4*o+3]}}if(Z==2&&D==1){for(var o=0;
o<aU;o++){aO[2*o]=ao[4*o];aO[2*o+1]=ao[4*o+1]}E(aO,A,aM*2,a9,0,1,1,M);for(var o=0;o<aU;o++){ao[4*o]=aO[2*o];
ao[4*o+1]=aO[2*o+1]}}var aq=ao.slice(0);for(var z=0;z<K;z++){if(D==2)for(var R=0;R<i;R++){var ap=(z*i+R)*O,b2=((z>>>1)*aM+(R>>>1))*a_,b5=(z&1)*2+(R&1);
ao[ap]=aq[b2+b5];ao[ap+1]=aq[b2+4];ao[ap+2]=aq[b2+5]}else for(var R=0;R<i;R++){var ap=(z*i+R)*O,b2=(z*aM+(R>>>1))*a_,b5=R&1;
ao[ap]=aq[b2+b5];ao[ap+1]=aq[b2+2];ao[ap+2]=aq[b2+3]}}}else{t(ao,i*O,a1,N,O,K);if(_==0)E(ao,A,i,K,0,O,O,M);
else{var az=Math.floor(_/i);for(var z=0;z<K;z+=az){var a5=ao.slice(z*i*O,(z+az)*i*O);E(a5,A,i,az,0,O,O,M);
ao.set(a5,z*i*O)}}}}return[ao,i,K,O]}function E(S,s,A,M,_,c,V,N){var O=A*V;for(var K=_;K<c;K++)S[K]+=1<<N-1;
for(var i=V;i<O;i+=V)for(var K=_;K<c;K++)S[i+K]+=S[i+K-V];for(var a=1;a<M;a++){var b0=a*O;for(var K=_;
K<c;K++)S[b0+K]+=S[b0+K-O];for(var i=V;i<O;i+=V){for(var K=_;K<c;K++){var o=b0+i+K,aJ=o-O,ba=S[o-V],b6=0;
if(s==0)b6=0;else if(s==1)b6=ba;else if(s==2)b6=S[aJ];else if(s==3)b6=S[aJ-V];else if(s==4)b6=ba+(S[aJ]-S[aJ-V]);
else if(s==5)b6=ba+(S[aJ]-S[aJ-V]>>>1);else if(s==6)b6=S[aJ]+(ba-S[aJ-V]>>>1);else if(s==7)b6=ba+S[aJ]>>>1;
else throw s;S[o]+=b6}}}}return e}();(function(){var q=0,Y=1,$=2,g=3,W=4,Q=5,n=6,x=7,T=8,J=9,t=10,b=11,d=12,C=13,S=14,s=15,A=16,M=17,U=18;
function c(X){var j=P._binBE.readUshort,Z={b:j(X,0),i:X[2],C:X[3],u:X[4],q:j(X,5),k:j(X,7),e:j(X,9),l:j(X,11),s:X[13],d:j(X,14)};
if(Z.b!=18771||Z.i>1||Z.q<6||Z.q%6||Z.e<768||Z.e%24||Z.l!=768||Z.k<Z.l||Z.k%Z.l||Z.k-Z.e>=Z.l||Z.s>16||Z.s!=Z.k/Z.l||Z.s!=Math.ceil(Z.e/Z.l)||Z.d!=Z.q/6||Z.u!=12&&Z.u!=14&&Z.u!=16||Z.C!=16&&Z.C!=0){throw"Invalid data"}if(Z.i==0){throw"Not implemented. We need this file!"}Z.h=Z.C==16;
Z.m=(Z.h?Z.l*2/3:Z.l>>>1)|0;Z.A=Z.m+2;Z.f=64;Z.g=(1<<Z.u)-1;Z.n=4*Z.u;return Z}function y(X,j){var Z=new Array(j.s),D=4*j.s,H=16+D;
if(D&12)H+=16-(D&12);for(var R=0,z=16;R<j.s;z+=4){var k=P._binBE.readUint(X,z);Z[R]=X.slice(H,H+k);Z[R].j=0;
Z[R].a=0;H+=k;R++}if(H!=X.length)throw"Invalid data";return Z}function V(X,j){for(var Z=-j[4],D=0;Z<=j[4];
D++,Z++){X[D]=Z<=-j[3]?-4:Z<=-j[2]?-3:Z<=-j[1]?-2:Z<-j[0]?-1:Z<=j[0]?0:Z<j[1]?1:Z<j[2]?2:Z<j[3]?3:4}}function p(X,j,Z){var D=[j,3*j+18,5*j+67,7*j+276,Z];
X.o=j;X.w=(D[4]+2*j)/(2*j+1)+1|0;X.v=Math.ceil(Math.log2(X.w));X.t=9;V(X.c,D)}function l(X){var j={c:new Int8Array(2<<X.u)};
p(j,0,X.g);return j}function I(X){var j=[[],[],[]],Z=Math.max(2,X.w+32>>>6);for(var D=0;D<3;D++){for(var H=0;
H<41;H++){j[D][H]=[Z,1]}}return j}function w(X){for(var j=-1,Z=0;!Z;j++){Z=X[X.j]>>>7-X.a&1;X.a++;X.a&=7;
if(!X.a)X.j++}return j}function v(X,j){var Z=0,D=8-X.a,H=X.j,R=X.a;if(j){if(j>=D){do{Z<<=D;j-=D;Z|=X[X.j]&(1<<D)-1;
X.j++;D=8}while(j>=8)}if(j){Z<<=j;D-=j;Z|=X[X.j]>>>D&(1<<j)-1}X.a=8-D}return Z}function a(X,j){var Z=0;
if(j<X){while(Z<=14&&j<<++Z<X);}return Z}function b1(X,j,Z,D,H,R,z,k){if(k==null)k=0;var a_=R+1,aS=a_%2,aM=0,a9=0,aU=0,aO,aq,ap=D[H],b2=D[H-1],b5=D[H-2][a_],az=b2[a_-1],a5=b2[a_],ax=b2[a_+1],a7=ap[a_-1],aA=ap[a_+1],ag=Math.abs,a0,a3,aF,ar;
if(aS){a0=ag(ax-a5);a3=ag(b5-a5);aF=ag(az-a5)}if(aS){ar=a0>aF&&a3<a0?b5+az:a0<aF&&a3<aF?b5+ax:ax+az;
ar=ar+2*a5>>>2;if(k){ap[a_]=ar;return}aO=j.t*j.c[X.g+a5-b5]+j.c[X.g+az-a5]}else{ar=a5>az&&a5>ax||a5<az&&a5<ax?aA+a7+2*a5>>>2:a7+aA>>>1;
aO=j.t*j.c[X.g+a5-az]+j.c[X.g+az-a7]}aq=ag(aO);var b9=w(Z);if(b9<X.n-j.v-1){var aw=a(z[aq][0],z[aq][1]);
aU=v(Z,aw)+(b9<<aw)}else{aU=v(Z,j.v)+1}aU=aU&1?-1-(aU>>>1):aU>>>1;z[aq][0]+=ag(aU);if(z[aq][1]==X.f){z[aq][0]>>>=1;
z[aq][1]>>>=1}z[aq][1]++;ar=aO<0?ar-aU:ar+aU;if(X.i){if(ar<0)ar+=j.w;else if(ar>X.g)ar-=j.w}ap[a_]=ar>=0?Math.min(ar,X.g):0}function b0(X,j,Z){var D=X[0].length;
for(var H=j;H<=Z;H++){X[H][0]=X[H-1][1];X[H][D-1]=X[H-1][D-2]}}function F(X){b0(X,x,d);b0(X,$,W);b0(X,s,M)}function m(X,j,Z,D,H,R,z,k,a_,aS,aM,a9,aU){var aO=0,aq=1,ap=H<C&&H>W;
while(aq<X.m){if(aO<X.m){b1(X,j,Z,D,H,aO,z[a_],X.h&&(ap&&aS||!ap&&(aM||(aO&a9)==aU)));b1(X,j,Z,D,R,aO,z[a_],X.h&&(!ap&&aS||ap&&(aM||(aO&a9)==aU)));
aO+=2}if(aO>8){b1(X,j,Z,D,H,aq,k[a_]);b1(X,j,Z,D,R,aq,k[a_]);aq+=2}}F(D)}function ba(X,j,Z,D,H,R){m(X,j,Z,D,$,x,H,R,0,0,1,0,8);
m(X,j,Z,D,T,s,H,R,1,0,1,0,8);m(X,j,Z,D,g,J,H,R,2,1,0,3,0);m(X,j,Z,D,t,A,H,R,0,0,0,3,2);m(X,j,Z,D,W,b,H,R,1,0,0,3,2);
m(X,j,Z,D,d,M,H,R,2,1,0,3,0)}function b6(X,j,Z,D,H,R){var z=R.length,k=X.l;if(H+1==X.s)k=X.e-H*X.l;var a_=6*X.e*D+H*X.l;
for(var aS=0;aS<6;aS++){for(var aM=0;aM<k;aM++){var a9=R[aS%z][aM%z],aU;if(a9==0){aU=$+(aS>>>1)}else if(a9==2){aU=s+(aS>>>1)}else{aU=x+aS}var aO=X.h?(aM*2/3&2147483646|aM%3&1)+(aM%3>>>1):aM>>>1;
j[a_+aM]=Z[aU][aO+1]}a_+=X.e}}P._decompressRAF=function(X,j){var Z=c(X),D=y(X,Z),H=l(Z),R=new Int16Array(Z.e*Z.q);
if(j==null){j=Z.h?[[1,1,0,1,1,2],[1,1,2,1,1,0],[2,0,1,0,2,1],[1,1,2,1,1,0],[1,1,0,1,1,2],[0,2,1,2,0,1]]:[[0,1],[3,2]]}var z=[[q,g],[Y,W],[Q,b],[n,d],[C,A],[S,M]],k=[];
for(var a_=0;a_<U;a_++){k[a_]=new Uint16Array(Z.A)}for(var aS=0;aS<Z.s;aS++){var aM=I(H),a9=I(H);for(var a_=0;
a_<U;a_++){for(var aU=0;aU<Z.A;aU++){k[a_][aU]=0}}for(var aO=0;aO<Z.d;aO++){ba(Z,H,D[aS],k,aM,a9);for(var a_=0;
a_<6;a_++){for(var aU=0;aU<Z.A;aU++){k[z[a_][0]][aU]=k[z[a_][1]][aU]}}b6(Z,R,k,aO,aS,j);for(var a_=$;
a_<U;a_++){if([Q,n,C,S].indexOf(a_)==-1){for(var aU=0;aU<Z.A;aU++){k[a_][aU]=0}}}F(k)}}return R}}())}(P))}())
"use strict";function GifWriter(l,e,c,h){var s=0,h=h===undefined?{}:h,v=h.loop===undefined?null:h.loop,F=h.palette===undefined?null:h.palette,u=0,q=0,d=!1;
if(e<=0||c<=0||e>65535||c>65535)throw new Error("Width/Height invalid.");function m(C){var j=C.length;
if(j<2||j>256||j&j-1){throw new Error("Invalid code/color length, must be power of 2 and 2 .. 256.")}return j}l[s++]=71;
l[s++]=73;l[s++]=70;l[s++]=56;l[s++]=57;l[s++]=97;if(F!==null){var i=m(F);while(i>>=1)++u;i=1<<u;--u;
if(h.background!==undefined){q=h.background;if(q>=i)throw new Error("Background index out of range.");
if(q===0)throw new Error("Background index explicitly passed as 0.")}}l[s++]=e&255;l[s++]=e>>8&255;l[s++]=c&255;
l[s++]=c>>8&255;l[s++]=(F!==null?128:0)|u;l[s++]=q;l[s++]=0;if(F!==null){for(var o=0,g=F.length;o<g;
++o){var f=F[o];l[s++]=f>>16&255;l[s++]=f>>8&255;l[s++]=f&255}}if(v!==null){if(v<0||v>65535)throw new Error("Loop count invalid.");
l[s++]=33;l[s++]=255;l[s++]=11;l[s++]=78;l[s++]=69;l[s++]=84;l[s++]=83;l[s++]=67;l[s++]=65;l[s++]=80;
l[s++]=69;l[s++]=50;l[s++]=46;l[s++]=48;l[s++]=3;l[s++]=1;l[s++]=v&255;l[s++]=v>>8&255;l[s++]=0}this.addFrame=function(C,j,z,b,w,E){if(d===!0){--s;
d=!1}E=E===undefined?{}:E;if(C<0||j<0||C>65535||j>65535)throw new Error("x/y invalid.");if(z<=0||b<=0||z>65535||b>65535)throw new Error("Width/Height invalid.");
if(w.length<z*b)throw new Error("Not enough pixels for the frame size.");var r=!0,k=E.palette,t=0,A=!1,D=0;
if(k===undefined||k===null){r=!1;k=F}if(k===undefined||k===null)throw new Error("Must supply either a local or global palette.");
var B=m(k);while(B>>=1)++t;B=1<<t;var G=E.delay===undefined?0:E.delay,a=E.disposal===undefined?0:E.disposal;
if(a<0||a>3)throw new Error("Disposal out of range.");if(E.transparent!==undefined&&E.transparent!==null){A=!0;
D=E.transparent;if(D<0||D>=B)throw new Error("Transparent color index.")}if(a!==0||A||G!==0){l[s++]=33;
l[s++]=249;l[s++]=4;l[s++]=a<<2|(A===!0?1:0);l[s++]=G&255;l[s++]=G>>8&255;l[s++]=D;l[s++]=0}l[s++]=44;
l[s++]=C&255;l[s++]=C>>8&255;l[s++]=j&255;l[s++]=j>>8&255;l[s++]=z&255;l[s++]=z>>8&255;l[s++]=b&255;
l[s++]=b>>8&255;l[s++]=r===!0?128|t-1:0;if(r===!0){for(var o=0,g=k.length;o<g;++o){var f=k[o];l[s++]=f>>16&255;
l[s++]=f>>8&255;l[s++]=f&255}}s=GifWriterOutputLZWCodeStream(l,s,t<2?2:t,w);return s};this.end=function(){if(d===!1){l[s++]=59;
d=!0}return s};this.getOutputBuffer=function(){return l};this.setOutputBuffer=function(C){l=C};this.getOutputBufferPosition=function(){return s};
this.setOutputBufferPosition=function(C){s=C}}function GifWriterOutputLZWCodeStream(l,e,c,h){l[e++]=c;
var s=e++,v=1<<c,F=v-1,m=v+1,u=m+1,q=c+1,i=0,o=0;function g(n){while(i>=n){l[e++]=o&255;o>>=8;i-=8;if(e===s+256){l[s]=255;
s=e++}}}function f(n){o|=n<<i;i+=q;g(8)}var d=h[0]&F,C={};f(v);for(var j=1,z=h.length;j<z;++j){var b=h[j]&F,w=d<<8|b,E=C[w];
if(E===undefined){o|=d<<i;i+=q;while(i>=8){l[e++]=o&255;o>>=8;i-=8;if(e===s+256){l[s]=255;s=e++}}if(u===4096){f(v);
u=m+1;q=c+1;C={}}else{if(u>=1<<q)++q;C[w]=u++}d=b}else{d=E}}f(d);f(m);g(1);if(s+1===e){l[s]=0}else{l[s]=e-s-1;
l[e++]=0}return e}
var UGIF=function(){var I=function(){var m,g,w,v,c=0,C=0,M=0,f=0,d=function(){var P=m>>>3,j=g[P+2]<<16|g[P+1]<<8|g[P],h=j>>>(m&7)&(1<<C)-1;
m+=C;return h},x=new Uint32Array(4096*4),n=0,J=function(P){if(P==n)return;n=P;M=1<<P;f=M+1;for(var j=0;
j<f+1;j++){x[4*j]=x[4*j+3]=j;x[4*j+1]=65535;x[4*j+2]=1}},y=function(P){C=P+1;c=f+1},t=function(P){var j=P<<2,h=x[j+2],q=v+h-1;
while(j!=65535){w[q--]=x[j];j=x[j+1]}v+=h},E=function(P,j){var h=c<<2,q=P<<2;x[h]=x[(j<<2)+3];x[h+1]=q;
x[h+2]=x[q+2]+1;x[h+3]=x[q+3];c++;if(c==1<<C&&C!=12)C++},G=function(P,j,h,q,r,b){m=j<<3;g=P;w=q;v=r;
var e=j+h<<3,L=0,l=65535;J(b);y(b);while(m<e&&(L=d())!=f){if(L==M){y(b);L=d();if(L==f)break;t(L)}else{if(L<c){t(L);
if(l!=65535)E(l,L)}else{E(l,l);t(c-1)}}l=L}return v};return G}(),z,H,A=new Uint8Array(128),B=function(){return z[H++]},s=function(){var m=z[H+1]<<8|z[H];
H+=2;return m},o=function(){while(z[H]!=0)H+=1+z[H];H++},p=function(m){z=new Uint8Array(m);H=6;var N=s(),g=s(),w=B(),v=B(),c=B(),a=w>>>7,C=w>>>4&7,M=w>>>3&1,f=w>>>0&7,d=H,x=0,O,J=0,y=0,t=0,E=260;
if(a==1)H+=3*(1<<f+1);var n=[];while(H+1<z.length){var G=B();if(G==33){var P=B();if(P==249){var j=B(),w=B();
J=w>>>2&7;y=s();E=B();if((w&1)==0)E=260;B()}else if(P==254){o()}else if(P==255){o()}else throw P}else if(G==44){var h=s(),q=s(),r=s(),b=s(),e=B(),L=e>>>7;
t=e>>>6&1;if(L==1){var f=e>>>0&7;x=H;H+=3*(1<<f+1)}O={x:h,y:q,c:r,e:b,b:J,delay:y,a:E,f:x==0?d:x,d:t};
n.push(O);x=0}else if(G<=8){var r=O.c,b=O.e,l=r*b,D=0;if(A.length<l*1.2)A=new Uint8Array(~~(l*1.3));
while(H<z.length&&z[H]!=0){var i=B();for(var k=0;k<i;k++)A[D+k]=z[H+k];D+=i;H+=i}if(H>=z.length){alert("Some frames are damaged.");
n.pop();break}B();O.g=new Uint8Array(l);var K=I(A,0,D,O.g,0,G)}else if(G==59)break;else throw G}return{width:N,height:g,data:z,frames:n}};
function u(m,N,z,g,w,v,c,a){for(var C=0;C<c;C++){var M=w[v+C];if(M!=a){var f=N+C<<2,d=g+M*3;m[f]=z[d];
m[f+1]=z[d+1];m[f+2]=z[d+2];m[f+3]=255}}}var F=function(m){var N=m.frames,g=m.width,w=m.height,v=new Uint8Array(g*w*4),c,a=[],z=m.data;
for(var C=0;C<N.length;C++){var M=N[C],f=M.x,d=M.y,x=M.c,O=M.e,J=M.b;if(J==3){if(c==null)c=v.slice(0);
else c.set(v)}var y=[];if(M.d==1){for(var t=0;t<O;t+=8)y.push(t);for(var t=4;t<O;t+=8)y.push(t);for(var t=2;
t<O;t+=4)y.push(t);for(var t=1;t<O;t+=2)y.push(t)}var E=M.g,G=M.f,P=M.a,j=M.d;for(var t=0;t<O;t++){var h=j==0?t:y[t];
u(v,(h+d)*g+f,z,G,E,t*x,x,P)}a.push(v.slice(0).buffer);if(J<2){}else if(J==2){for(var t=0;t<O;t++){var q=((d+t)*g+f)*4;
v.fill(0,q,q+x*4)}}else if(J==3)v.set(c)}return a};return{decode:p,toRGBA8:F}}()
var linear=function(){function f(j,k){this.data=new Array(j.length);for(var i=0,a=j[0].length;i<j.length;
i++){this.data[i]=new Array(a);for(var e=0;e<a;e++){this.data[i][e]=j[i][e]}}if(k){if(typeof k[0]!=="object"){for(var i=0;
i<k.length;i++){k[i]=[k[i]]}}this.mirror=new f(k)}}f.prototype.swap=function(j,k){if(this.mirror)this.mirror.swap(j,k);
var i=this.data[j];this.data[j]=this.data[k];this.data[k]=i};f.prototype.multline=function(j,k){if(this.mirror)this.mirror.multline(j,k);
var i=this.data[j];for(var a=i.length-1;a>=0;a--){i[a]*=k}};f.prototype.addmul=function(j,k,i){if(this.mirror)this.mirror.addmul(j,k,i);
var e=this.data[j],c=this.data[k];for(var b=e.length-1;b>=0;b--){e[b]=e[b]+i*c[b]}};f.prototype.hasNullLine=function(j){for(var k=0;
k<this.data[j].length;k++){if(this.data[j][k]!==0){return!1}}return!0};f.prototype.gauss=function(){var j=0,k=this.data.length,i=this.data[0].length,o=[];
for(var a=0;a<i;a++){var e=0,m=0;for(var c=j;c<k;c++){var b=this.data[c][a];if(Math.abs(b)>Math.abs(e)){m=c;
e=b}}if(e===0){o.push(j)}else{this.multline(m,1/e);this.swap(m,j);for(var n=0;n<k;n++){if(n!==j){this.addmul(n,j,-this.data[n][a])}}}j++}for(var n=0;
n<o.length;n++){if(!this.mirror.hasNullLine(o[n])){throw new Error("singular matrix")}}return this.mirror.data};
var d={};d.solve=function l(j,k){var i=new f(j,k).gauss();if(i.length>0&&i[0].length===1){for(var o=0;
o<i.length;o++)i[o]=i[o][0]}return i};function h(j){var k=new Array(j);for(var i=0;i<j;i++){k[i]=new Array(j);
for(var a=0;a<j;a++){k[i][a]=i===a?1:0}}return k}d.invert=function g(j){return new f(j,h(j.length)).gauss()};
return d}()
var Typr=function(){var T={};T.parse=function(K){var n=function(g,j,h,e){var Y=T.B,t=T.T,F={cmap:t.h,head:t.head,hhea:t.av,maxp:t.a6,hmtx:t.a$,name:t.name,"OS/2":t.q,post:t.b2,loca:t.aI,kern:t.d,glyf:t._,"CFF ":t.s,GSUB:t.ax,CBLC:t.aZ,CBDT:t.a8,"SVG ":t.bf,COLR:t.aQ,CPAL:t.ar,sbix:t.bd},V={_data:g,_index:j,_offset:h};
for(var S in F){var k=T.findTable(g,S,h);if(k){var W=k[0],I=e[W];if(I==null)I=F[S].a(g,W,k[1],V);V[S]=e[W]=I}}return V},Y=T.B,g=new Uint8Array(K),e={},d=Y.i(g,0,4);
if(d=="ttcf"){var h=4,b=Y.N(g,h);h+=2;var _=Y.N(g,h);h+=2;var m=Y.X(g,h);h+=4;var G=[];for(var v=0;v<m;
v++){var l=Y.X(g,h);h+=4;G.push(n(g,v,l,e))}return G}else return[n(g,0,0,e)]};T.findTable=function(K,n,Y){var g=T.B,e=g.N(K,Y+4),d=Y+12;
for(var h=0;h<e;h++){var _=g.i(K,d,4),m=g.X(K,d+4),G=g.X(K,d+8),v=g.X(K,d+12);if(_==n)return[G,v];d+=16}return null};
T.T={};T.B={v:function(K,n){return(K[n]<<8|K[n+1])+(K[n+2]<<8|K[n+3])/(256*256+4)},M:function(K,n){var Y=T.B.P(K,n);
return Y/16384},R:function(K,n){var Y=T.B.b.G;Y[0]=K[n+3];Y[1]=K[n+2];Y[2]=K[n+1];Y[3]=K[n];return T.B.b.aL[0]},o:function(K,n){var Y=T.B.b.G;
Y[0]=K[n];return T.B.b.aP[0]},P:function(K,n){var Y=T.B.b.aT;Y[0]=K[n]<<8|K[n+1];return T.B.b.a5[0]},N:function(K,n){return K[n]<<8|K[n+1]},aB:function(K,n,Y){K[n]=Y>>8&255;
K[n+1]=Y&255},aA:function(K,n,Y){var g=[];for(var e=0;e<Y;e++){var d=T.B.N(K,n+e*2);g.push(d)}return g},X:function(K,n){var Y=T.B.b.G;
Y[3]=K[n];Y[2]=K[n+1];Y[1]=K[n+2];Y[0]=K[n+3];return T.B.b.ao[0]},aF:function(K,n,Y){K[n]=Y>>24&255;
K[n+1]=Y>>16&255;K[n+2]=Y>>8&255;K[n+3]=Y>>0&255},g:function(K,n){return T.B.X(K,n)*(4294967295+1)+T.B.X(K,n+4)},i:function(K,n,Y){var g="";
for(var e=0;e<Y;e++)g+=String.fromCharCode(K[n+e]);return g},ac:function(K,n,Y){for(var g=0;g<Y.length;
g++)K[n+g]=Y.charCodeAt(g)},$:function(K,n,Y){var g="";for(var e=0;e<Y;e++){var d=K[n++]<<8|K[n++];g+=String.fromCharCode(d)}return g},aY:window.TextDecoder?new window.TextDecoder:null,a2:function(K,n,Y){var g=T.B.aY;
if(g&&n==0&&Y==K.length)return g.decode(K);return T.B.i(K,n,Y)},u:function(K,n,Y){var g=[];for(var e=0;
e<Y;e++)g.push(K[n+e]);return g},ba:function(K,n,Y){var g=[];for(var e=0;e<Y;e++)g.push(String.fromCharCode(K[n+e]));
return g},b:function(){var K=new ArrayBuffer(8);return{b5:K,aP:new Int8Array(K),G:new Uint8Array(K),a5:new Int16Array(K),aT:new Uint16Array(K),aL:new Int32Array(K),ao:new Uint32Array(K)}}()};
T.T.s={a:function(K,n,Y){var g=T.B,e=T.T.s;K=new Uint8Array(K.buffer,n,Y);n=0;var d=K[n];n++;var h=K[n];
n++;var b=K[n];n++;var _=K[n];n++;var m=[];n=e.H(K,n,m);var G=[];for(var v=0;v<m.length-1;v++)G.push(g.i(K,n+m[v],m[v+1]-m[v]));
n+=m[m.length-1];var l=[];n=e.H(K,n,l);var j=[];for(var v=0;v<l.length-1;v++)j.push(e.m(K,n+l[v],n+l[v+1]));
n+=l[l.length-1];var t=j[0],F=[];n=e.H(K,n,F);var V=[];for(var v=0;v<F.length-1;v++)V.push(g.i(K,n+F[v],F[v+1]-F[v]));
n+=F[F.length-1];e.n(K,n,t);if(t.CharStrings)t.CharStrings=e.u(K,t.CharStrings);if(t.ROS){n=t.FDArray;
var S=[];n=e.H(K,n,S);t.FDArray=[];for(var v=0;v<S.length-1;v++){var H=e.m(K,n+S[v],n+S[v+1]);e.F(K,H,V);
t.FDArray.push(H)}n+=S[S.length-1];n=t.FDSelect;t.FDSelect=[];var k=K[n];n++;if(k==3){var W=g.N(K,n);
n+=2;for(var v=0;v<W+1;v++){t.FDSelect.push(g.N(K,n),K[n+2]);n+=3}}else throw k}if(t.charset)t.charset=e.aU(K,t.charset,t.CharStrings.length);
e.F(K,t,V);return t},F:function(K,n,Y){var g=T.T.s,e;if(n.Private){e=n.Private[1];n.Private=g.m(K,e,e+n.Private[0]);
if(n.Private.Subrs)g.n(K,e+n.Private.Subrs,n.Private)}for(var d in n)if("FamilyName FontName FullName Notice version Copyright".split(" ").indexOf(d)!=-1)n[d]=Y[n[d]-426+35]},n:function(K,n,Y){Y.Subrs=T.T.s.u(K,n);
var g,e=Y.Subrs.length+1;if(!1)g=0;else if(e<1240)g=107;else if(e<33900)g=1131;else g=32768;Y.Bias=g},u:function(K,n){var Y=T.B,g=[];
n=T.T.s.H(K,n,g);var e=[],d=g.length-1,h=K.byteOffset+n;for(var b=0;b<d;b++){var _=g[b];e.push(new Uint8Array(K.buffer,h+_,g[b+1]-_))}return e},ad:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,0,111,112,113,114,0,115,116,117,118,119,120,121,122,0,123,0,124,125,126,127,128,129,130,131,0,132,133,0,134,135,136,137,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,0,139,0,0,0,0,140,141,142,143,0,0,0,0,0,144,0,0,0,145,0,0,146,147,148,149,0,0,0,0],a_:function(K,n){for(var Y=0;
Y<K.charset.length;Y++)if(K.charset[Y]==n)return Y;return-1},z:function(K,n){if(n<0||n>255)return-1;
return T.T.s.a_(K,T.T.s.ad[n])},aU:function(K,n,Y){var g=T.B,e=[".notdef"],d=K[n];n++;if(d==0){for(var h=0;
h<Y;h++){var _=g.N(K,n);n+=2;e.push(_)}}else if(d==1||d==2){while(e.length<Y){var _=g.N(K,n),m=0;n+=2;
if(d==1){m=K[n];n++}else{m=g.N(K,n);n+=2}for(var h=0;h<=m;h++){e.push(_);_++}}}else throw"error: format: "+d;
return e},H:function(K,n,Y){var g=T.B,e=g.N(K,n)+1;n+=2;var d=K[n];n++;if(d==1)for(var h=0;h<e;h++)Y.push(K[n+h]);
else if(d==2)for(var h=0;h<e;h++)Y.push(g.N(K,n+h*2));else if(d==3)for(var h=0;h<e;h++)Y.push(g.X(K,n+h*3-1)&16777215);
else if(d==4)for(var h=0;h<e;h++)Y.push(g.X(K,n+h*4));else if(e!=1)throw"unsupported offset size: "+d+", count: "+e;
n+=e*d;return n-1},at:function(K,n,Y){var g=T.B,e=K[n],d=K[n+1],h=K[n+2],b=K[n+3],_=K[n+4],m=1,G=null,v=null;
if(e<=20){G=e;m=1}if(e==12){G=e*100+d;m=2}if(21<=e&&e<=27){G=e;m=1}if(e==28){v=g.P(K,n+1);m=3}if(29<=e&&e<=31){G=e;
m=1}if(32<=e&&e<=246){v=e-139;m=1}if(247<=e&&e<=250){v=(e-247)*256+d+108;m=2}if(251<=e&&e<=254){v=-(e-251)*256-d-108;
m=2}if(e==255){v=g.R(K,n+1)/65535;m=5}Y.a7=v!=null?v:"o"+G;Y.size=m},b8:function(K,n,Y){var g=n+Y,e=T.B,d=[];
while(n<g){var h=K[n],b=K[n+1],_=K[n+2],m=K[n+3],G=K[n+4],v=1,l=null,j=null;if(h<=20){l=h;v=1}if(h==12){l=h*100+b;
v=2}if(h==19||h==20){l=h;v=2}if(21<=h&&h<=27){l=h;v=1}if(h==28){j=e.P(K,n+1);v=3}if(29<=h&&h<=31){l=h;
v=1}if(32<=h&&h<=246){j=h-139;v=1}if(247<=h&&h<=250){j=(h-247)*256+b+108;v=2}if(251<=h&&h<=254){j=-(h-251)*256-b-108;
v=2}if(h==255){j=e.R(K,n+1)/65535;v=5}d.push(j!=null?j:"o"+l);n+=v}return d},m:function(K,n,Y){var g=T.B,e={},d=[];
while(n<Y){var h=K[n],b=K[n+1],_=K[n+2],m=K[n+3],G=K[n+4],v=1,l=null,j=null;if(h==28){j=g.P(K,n+1);v=3}if(h==29){j=g.R(K,n+1);
v=5}if(32<=h&&h<=246){j=h-139;v=1}if(247<=h&&h<=250){j=(h-247)*256+b+108;v=2}if(251<=h&&h<=254){j=-(h-251)*256-b-108;
v=2}if(h==255){j=g.R(K,n+1)/65535;v=5;throw"unknown number"}if(h==30){var t=[],H="";v=1;while(!0){var F=K[n+v];
v++;var V=F>>4,S=F&15;if(V!=15)t.push(V);if(S!=15)t.push(S);if(S==15)break}var k=[0,1,2,3,4,5,6,7,8,9,".","e","e-","reserved","-","endOfNumber"];
for(var W=0;W<t.length;W++)H+=k[t[W]];j=parseFloat(H)}if(h<=21){var I="version Notice FullName FamilyName Weight FontBBox BlueValues OtherBlues FamilyBlues FamilyOtherBlues StdHW StdVW escape UniqueID XUID charset Encoding CharStrings Private Subrs defaultWidthX nominalWidthX".split(" ");
l=I[h];v=1;if(h==12){var I="Copyright isFixedPitch ItalicAngle UnderlinePosition UnderlineThickness PaintType CharstringType FontMatrix StrokeWidth BlueScale BlueShift BlueFuzz StemSnapH StemSnapV ForceBold LanguageGroup ExpansionFactor initialRandomSeed SyntheticBase PostScript BaseFontName BaseFontBlend ROS CIDFontVersion CIDFontRevision CIDFontType CIDCount UIDBase FDArray FDSelect FontName".split(" ");
l=I[b];v=2}}if(l!=null){e[l]=d.length==1?d[0]:d;d=[]}else d.push(j);n+=v}return e}};T.T.h={a:function(K,n,Y){var g={e:[],V:{},an:n};
K=new Uint8Array(K.buffer,n,Y);n=0;var e=n,d=T.B,h=d.N,b=T.T.h,_=h(K,n);n+=2;var m=h(K,n);n+=2;var G=[];
for(var v=0;v<m;v++){var l=h(K,n);n+=2;var j=h(K,n);n+=2;var t=d.X(K,n);n+=4;var F="p"+l+"e"+j,V=G.indexOf(t);
if(V==-1){V=g.e.length;var S={};G.push(t);var H=S.aO=h(K,t);if(H==0)S=b.am(K,t,S);else if(H==4)S=b.aE(K,t,S);
else if(H==6)S=b.aW(K,t,S);else if(H==12)S=b.a9(K,t,S);g.e.push(S)}if(g.V[F]!=null)console.log("multiple tables for one platform+encoding: "+F);
g.V[F]=V}return g},am:function(K,n,Y){var g=T.B;n+=2;var e=g.N(K,n);n+=2;var d=g.N(K,n);n+=2;Y.map=[];
for(var h=0;h<e-6;h++)Y.map.push(K[n+h]);return Y},aE:function(K,n,Y){var g=T.B,e=g.N,d=g.aA,h=n;n+=2;
var b=e(K,n);n+=2;var _=e(K,n);n+=2;var m=e(K,n);n+=2;var G=m>>>1;Y.aX=e(K,n);n+=2;Y.b6=e(K,n);n+=2;
Y.bc=e(K,n);n+=2;Y.as=d(K,n,G);n+=G*2;n+=2;Y.a3=d(K,n,G);n+=G*2;Y.aq=[];for(var v=0;v<G;v++){Y.aq.push(g.P(K,n));
n+=2}Y.f=d(K,n,G);n+=G*2;Y.l=d(K,n,h+b-n>>>1);return Y},aW:function(K,n,Y){var g=T.B,e=n;n+=2;var d=g.N(K,n);
n+=2;var h=g.N(K,n);n+=2;Y.al=g.N(K,n);n+=2;var b=g.N(K,n);n+=2;Y.l=[];for(var _=0;_<b;_++){Y.l.push(g.N(K,n));
n+=2}return Y},a9:function(K,n,Y){var g=T.B,e=g.X,d=n;n+=4;var h=e(K,n);n+=4;var b=e(K,n);n+=4;var _=e(K,n)*3;
n+=4;var m=Y.b9=new Uint32Array(_);for(var G=0;G<_;G+=3){m[G]=e(K,n+(G<<2));m[G+1]=e(K,n+(G<<2)+4);m[G+2]=e(K,n+(G<<2)+8)}return Y}};
T.T.aZ={a:function(K,n,Y){var g=T.B,e=n,d=g.N(K,n);n+=2;var h=g.N(K,n);n+=2;var b=g.X(K,n);n+=4;var _=[];
for(var m=0;m<b;m++){var G=g.X(K,n);n+=4;var v=g.X(K,n);n+=4;var l=g.X(K,n);n+=4;n+=4;n+=2*12;var j=g.N(K,n);
n+=2;var t=g.N(K,n);n+=2;n+=4;var F=e+G;for(var V=0;V<3;V++){var S=g.N(K,F);F+=2;var H=g.N(K,F);F+=2;
var k=g.X(K,F);F+=4;var W=H-S+1,I=e+G+k,X=g.N(K,I);I+=2;if(X!=1)throw X;var M=g.N(K,I);I+=2;var x=g.X(K,I);
I+=4;var Z=[];for(var i=0;i<W;i++){var N=g.X(K,I+i*4);Z.push(x+N)}_.push([S,H,M,Z])}}return _}};T.T.a8={a:function(K,n,Y){var g=T.B,e=n;
return new Uint8Array(K.buffer,K.byteOffset+n,Y)}};T.T._={a:function(K,n,Y,g){var e=[],d=g.maxp.numGlyphs;
for(var h=0;h<d;h++)e.push(null);return e},aV:function(K,n){var Y=T.B,g=K._data,e=K.loca;if(e[n]==e[n+1])return null;
var h=T.findTable(g,"glyf",K._offset)[0]+e[n],b={};b.B=Y.P(g,h);h+=2;b.ay=Y.P(g,h);h+=2;b.b0=Y.P(g,h);
h+=2;b.af=Y.P(g,h);h+=2;b.bb=Y.P(g,h);h+=2;if(b.ay>=b.af||b.b0>=b.bb)return null;if(b.B>0){b.j=[];for(var _=0;
_<b.B;_++){b.j.push(Y.N(g,h));h+=2}var m=Y.N(g,h),V=0,S=0;h+=2;if(g.length-h<m)return null;b.ag=Y.u(g,h,m);
h+=m;var G=b.j[b.B-1]+1;b.W=[];for(var _=0;_<G;_++){var v=g[h];h++;b.W.push(v);if((v&8)!=0){var l=g[h];
h++;for(var j=0;j<l;j++){b.W.push(v);_++}}}b.S=[];for(var _=0;_<G;_++){var t=(b.W[_]&2)!=0,F=(b.W[_]&16)!=0;
if(t){b.S.push(F?g[h]:-g[h]);h++}else{if(F)b.S.push(0);else{b.S.push(Y.P(g,h));h+=2}}}b.U=[];for(var _=0;
_<G;_++){var t=(b.W[_]&4)!=0,F=(b.W[_]&32)!=0;if(t){b.U.push(F?g[h]:-g[h]);h++}else{if(F)b.U.push(0);
else{b.U.push(Y.P(g,h));h+=2}}}for(var _=0;_<G;_++){V+=b.S[_];S+=b.U[_];b.S[_]=V;b.U[_]=S}}else{var H=1<<0,k=1<<1,W=1<<2,I=1<<3,x=1<<4,Z=1<<5,i=1<<6,N=1<<7,p=1<<8,E=1<<9,D=1<<10,y=1<<11,J=1<<12,O;
b.O=[];do{O=Y.N(g,h);h+=2;var o={c:{w:1,ap:0,aG:0,Q:1,aC:0,aK:0},b3:-1,aj:-1};b.O.push(o);o.ah=Y.N(g,h);
h+=2;if(O&H){var w=Y.P(g,h);h+=2;var R=Y.P(g,h);h+=2}else{var w=Y.o(g,h);h++;var R=Y.o(g,h);h++}if(O&k){o.c.aC=w;
o.c.aK=R}else{o.b3=w;o.aj=R}if(O&I){o.c.w=o.c.Q=Y.M(g,h);h+=2}else if(O&i){o.c.w=Y.M(g,h);h+=2;o.c.Q=Y.M(g,h);
h+=2}else if(O&N){o.c.w=Y.M(g,h);h+=2;o.c.ap=Y.M(g,h);h+=2;o.c.aG=Y.M(g,h);h+=2;o.c.Q=Y.M(g,h);h+=2}}while(O&Z);
if(O&p){var u=Y.N(g,h);h+=2;b.b4=[];for(var _=0;_<u;_++){b.b4.push(g[h]);h++}}}return b}};T.T.head={a:function(K,n,Y){var g=T.B,e={},d=g.v(K,n);
n+=4;e.fontRevision=g.v(K,n);n+=4;var h=g.X(K,n);n+=4;var b=g.X(K,n);n+=4;e.flags=g.N(K,n);n+=2;e.unitsPerEm=g.N(K,n);
n+=2;e.created=g.g(K,n);n+=8;e.modified=g.g(K,n);n+=8;e.xMin=g.P(K,n);n+=2;e.yMin=g.P(K,n);n+=2;e.xMax=g.P(K,n);
n+=2;e.yMax=g.P(K,n);n+=2;e.macStyle=g.N(K,n);n+=2;e.lowestRecPPEM=g.N(K,n);n+=2;e.fontDirectionHint=g.P(K,n);
n+=2;e.indexToLocFormat=g.P(K,n);n+=2;e.glyphDataFormat=g.P(K,n);n+=2;return e}};T.T.av={a:function(K,n,Y){var g=T.B,e={},d=g.v(K,n);
n+=4;var h="ascender descender lineGap advanceWidthMax minLeftSideBearing minRightSideBearing xMaxExtent caretSlopeRise caretSlopeRun caretOffset res0 res1 res2 res3 metricDataFormat numberOfHMetrics".split(" ");
for(var b=0;b<h.length;b++){var _=h[b],m=_=="advanceWidthMax"||_=="numberOfHMetrics"?g.N:g.P;e[_]=m(K,n+b*2)}return e}};
T.T.a$={a:function(K,n,Y,g){var e=T.B,d=[],h=[],b=g.maxp.numGlyphs,_=g.hhea.numberOfHMetrics,m=0,G=0,v=0;
while(v<_){m=e.N(K,n+(v<<2));G=e.P(K,n+(v<<2)+2);d.push(m);h.push(G);v++}while(v<b){d.push(m);h.push(G);
v++}return{aJ:d,au:h}}};T.T.d={a:function(K,n,Y,g){var e=T.B,d=T.T.d,h=e.N(K,n);if(h==1)return d.ab(K,n,Y,g);
var b=e.N(K,n+2);n+=4;var _={k:[],r:[]};for(var m=0;m<b;m++){n+=2;var Y=e.N(K,n);n+=2;var G=e.N(K,n);
n+=2;var v=G>>>8;v&=15;if(v==0)n=d.D(K,n,_)}return _},ab:function(K,n,Y,g){var e=T.B,d=T.T.d,h=e.v(K,n),b=e.X(K,n+4);
n+=8;var _={k:[],r:[]};for(var m=0;m<b;m++){var Y=e.X(K,n);n+=4;var G=e.N(K,n);n+=2;var v=e.N(K,n);n+=2;
var l=G&255;if(l==0)n=d.D(K,n,_)}return _},D:function(K,n,Y){var g=T.B,e=g.N,d=-1,h=e(K,n),b=e(K,n+2),_=e(K,n+4),m=e(K,n+6);
n+=8;for(var G=0;G<h;G++){var v=e(K,n);n+=2;var l=e(K,n);n+=2;var j=g.P(K,n);n+=2;if(v!=d){Y.k.push(v);
Y.r.push({aw:[],aN:[]})}var t=Y.r[Y.r.length-1];t.aw.push(l);t.aN.push(j);d=v}return n}};T.T.aI={a:function(K,n,Y,g){var e=T.B,d=[],h=g.head.indexToLocFormat,b=g.maxp.numGlyphs+1;
if(h==0)for(var _=0;_<b;_++)d.push(e.N(K,n+(_<<1))<<1);if(h==1)for(var _=0;_<b;_++)d.push(e.X(K,n+(_<<2)));
return d}};T.T.a6={a:function(K,n,Y){var g=T.B,e=g.N,d={},h=g.X(K,n);n+=4;d.numGlyphs=e(K,n);n+=2;return d}};
T.T.name={a:function(K,n,Y){var g=T.B,e={},d=g.N(K,n),X="fontFamily";n+=2;var h=g.N(K,n);n+=2;var b=g.N(K,n);
n+=2;var _="copyright fontFamily fontSubfamily ID fullName version postScriptName trademark manufacturer designer description urlVendor urlDesigner licence licenceURL --- typoFamilyName typoSubfamilyName compatibleFull sampleText postScriptCID wwsFamilyName wwsSubfamilyName lightPalette darkPalette".split(" "),m=n,G=g.N;
for(var v=0;v<h;v++){var l=G(K,n),k;n+=2;var j=G(K,n);n+=2;var t=G(K,n);n+=2;var F=G(K,n);n+=2;var V=G(K,n);
n+=2;var S=G(K,n);n+=2;var H=m+h*12+S;if(!1){}else if(l==0)k=g.$(K,H,V/2);else if(l==3&&j==0)k=g.$(K,H,V/2);
else if(l==1&&j==25)k=g.$(K,H,V/2);else if(j==0)k=g.i(K,H,V);else if(j==1)k=g.$(K,H,V/2);else if(j==3)k=g.$(K,H,V/2);
else if(j==4)k=g.$(K,H,V/2);else if(j==5)k=g.$(K,H,V/2);else if(j==10)k=g.$(K,H,V/2);else if(l==1){k=g.i(K,H,V);
console.log("reading unknown MAC encoding "+j+" as ASCII")}else{console.log("unknown encoding "+j+", platformID: "+l);
k=g.i(K,H,V)}var W="p"+l+","+t.toString(16);if(e[W]==null)e[W]={};e[W][_[F]]=k;e[W]._lang=t}var I=T.T.name.aa(e);
if(I[X]==null)for(var M in e)if(e[M][X]!=null)I[X]=e[M][X];return I},aa:function(K){var n="postScriptName",g;
for(var Y in K)if(K[Y][n]!=null&&K[Y]._lang==1033)return K[Y];for(var Y in K)if(K[Y][n]!=null&&K[Y]._lang==0)return K[Y];
for(var Y in K)if(K[Y][n]!=null&&K[Y]._lang==3084)return K[Y];for(var Y in K)if(K[Y][n]!=null)return K[Y];
for(var Y in K){g=K[Y];break}console.log("returning name table with languageID "+g.a4);if(g[n]==null&&g.ID!=null)g[n]=g.ID;
return g}};T.T.q={a:function(K,n,Y){var g=T.B,e=g.N(K,n);n+=2;var d=T.T.q,h={};if(e==0)d.C(K,n,h);else if(e==1)d.ak(K,n,h);
else if(e==2||e==3||e==4)d.az(K,n,h);else if(e==5)d.aR(K,n,h);else throw"unknown OS/2 table version: "+e;
return h},C:function(K,n,Y){var g=T.B;Y.xAvgCharWidth=g.P(K,n);n+=2;Y.usWeightClass=g.N(K,n);n+=2;Y.usWidthClass=g.N(K,n);
n+=2;Y.fsType=g.N(K,n);n+=2;Y.ySubscriptXSize=g.P(K,n);n+=2;Y.ySubscriptYSize=g.P(K,n);n+=2;Y.ySubscriptXOffset=g.P(K,n);
n+=2;Y.ySubscriptYOffset=g.P(K,n);n+=2;Y.ySuperscriptXSize=g.P(K,n);n+=2;Y.ySuperscriptYSize=g.P(K,n);
n+=2;Y.ySuperscriptXOffset=g.P(K,n);n+=2;Y.ySuperscriptYOffset=g.P(K,n);n+=2;Y.yStrikeoutSize=g.P(K,n);
n+=2;Y.yStrikeoutPosition=g.P(K,n);n+=2;Y.sFamilyClass=g.P(K,n);n+=2;Y.panose=g.u(K,n,10);n+=10;Y.ulUnicodeRange1=g.X(K,n);
n+=4;Y.ulUnicodeRange2=g.X(K,n);n+=4;Y.ulUnicodeRange3=g.X(K,n);n+=4;Y.ulUnicodeRange4=g.X(K,n);n+=4;
Y.achVendID=g.i(K,n,4);n+=4;Y.fsSelection=g.N(K,n);n+=2;Y.usFirstCharIndex=g.N(K,n);n+=2;Y.usLastCharIndex=g.N(K,n);
n+=2;Y.sTypoAscender=g.P(K,n);n+=2;Y.sTypoDescender=g.P(K,n);n+=2;Y.sTypoLineGap=g.P(K,n);n+=2;Y.usWinAscent=g.N(K,n);
n+=2;Y.usWinDescent=g.N(K,n);n+=2;return n},ak:function(K,n,Y){var g=T.B;n=T.T.q.C(K,n,Y);Y.ulCodePageRange1=g.X(K,n);
n+=4;Y.ulCodePageRange2=g.X(K,n);n+=4;return n},az:function(K,n,Y){var g=T.B,e=g.N;n=T.T.q.ak(K,n,Y);
Y.sxHeight=g.P(K,n);n+=2;Y.sCapHeight=g.P(K,n);n+=2;Y.usDefault=e(K,n);n+=2;Y.usBreak=e(K,n);n+=2;Y.usMaxContext=e(K,n);
n+=2;return n},aR:function(K,n,Y){var g=T.B.N;n=T.T.q.az(K,n,Y);Y.usLowerOpticalPointSize=g(K,n);n+=2;
Y.usUpperOpticalPointSize=g(K,n);n+=2;return n}};T.T.b2={a:function(K,n,Y){var g=T.B,e={};e.version=g.v(K,n);
n+=4;e.italicAngle=g.v(K,n);n+=4;e.underlinePosition=g.P(K,n);n+=2;e.underlineThickness=g.P(K,n);n+=2;
return e}};T.T.bf={a:function(K,n,Y){var g=T.B,e={entries:[],Y:[]},d=n,h=g.N(K,n);n+=2;var b=g.X(K,n);
n+=4;var _=g.X(K,n);n+=4;n=b+d;var m=g.N(K,n);n+=2;for(var G=0;G<m;G++){var v=g.N(K,n);n+=2;var l=g.N(K,n);
n+=2;var j=g.X(K,n);n+=4;var t=g.X(K,n);n+=4;var F=new Uint8Array(K.buffer,d+j+b,t);if(F[0]==31&&F[1]==139&&F[2]==8)F=pako.inflate(F);
var V=g.a2(F,0,F.length);for(var S=v;S<=l;S++){e.entries[S]=e.Y.length}e.Y.push(V)}return e}};T.T.bd={a:function(K,n,Y,g){var e=g.maxp.numGlyphs,d=n,h=T.B,b=h.X(K,n+4),_=[];
for(var m=b-1;m<b;m++){var G=d+h.X(K,n+8+m*4);for(var v=0;v<e;v++){var l=h.X(K,G+4+v*4),j=h.X(K,G+4+v*4+4);
if(l==j){_[v]=null;continue}var t=G+l,F=h.i(K,t+4,4);if(F!="png ")throw F;_[v]=new Uint8Array(K.buffer,K.byteOffset+t+8,j-l-8)}}return _}};
T.T.aQ={a:function(K,n,Y){var g=T.B,e=n;n+=2;var d=g.N(K,n);n+=2;var h=g.X(K,n);n+=4;var b=g.X(K,n);
n+=4;var _=g.N(K,n);n+=2;var m={},G=e+h;for(var v=0;v<d;v++){m["g"+g.N(K,G)]=[g.N(K,G+2),g.N(K,G+4)];
G+=6}var l=[];G=e+b;for(var v=0;v<_;v++){l.push(g.N(K,G),g.N(K,G+2));G+=4}return[m,l]}};T.T.ar={a:function(K,n,Y){var g=T.B,e=n,d=g.N(K,n);
n+=2;if(d==0){var h=g.N(K,n);n+=2;var b=g.N(K,n);n+=2;var _=g.N(K,n);n+=2;var m=g.X(K,n);n+=4;return new Uint8Array(K.buffer,e+m,_*4)}else throw d}};
T.T.ax={a:function(K,n,Y,g){var e=T.B,d=e.N,h=e.X,b=n,_=d(K,b);b+=2;var m=d(K,b);b+=2;var G=d(K,b);b+=2;
var v=d(K,b);b+=2;var l=d(K,b);b+=2;b=n+v;var j={},t=d(K,b);b+=2;for(var F=0;F<t;F++){var V=e.i(K,b,4);
b+=4;var S=d(K,b);b+=2;j[V]=!0}return j}};T.U={shape:function(K,n,Y){var g=function(K,e,t,Y){var F=e[t],V=e[t+1],S=K.kern;
if(S){var H=S.k.indexOf(F);if(H!=-1){var k=S.r[H].aw.indexOf(V);if(k!=-1)return[0,0,S.r[H].aN[k],0]}}return[0,0,0,0]},e=[],m=0,G=0;
for(var d=0;d<n.length;d++){var h=n.codePointAt(d);if(h>65535)d++;e.push(T.U.codeToGlyph(K,h))}var _=[];
for(var d=0;d<e.length;d++){var v=g(K,e,d,Y),l=e[d],j=K.hmtx.aJ[l]+v[2];_.push({g:l,cl:d,dx:0,dy:0,ax:j,ay:0});
m+=j}return _},shapeToPath:function(K,n,Y){var g={K:[],I:[]},e=0,d=0;for(var h=0;h<n.length;h++){var _=n[h],m=T.U.glyphToPath(K,_.g),G=m.crds;
for(var v=0;v<G.length;v+=2){g.I.push(G[v]+e+_.dx);g.I.push(G[v+1]+d+_.dy)}if(Y)g.K.push(Y);for(var v=0;
v<m.cmds.length;v++)g.K.push(m.cmds[v]);var l=g.K.length;if(Y)if(l!=0&&g.K[l-1]!="X")g.K.push("X");e+=_.ax;
d+=_.ay}return{cmds:g.K,crds:g.I}},codeToGlyph:function(){function K(d,h,_){var G=0,v=~~(d.length/h);
while(G+1!=v){var l=G+(v-G>>>1);if(d[l*h]<=_)G=l;else v=l}return G*h}var n=[9,10,11,12,13,32,133,160,5760,6158,8232,8233,8239,8288,12288,65279],Y={};
for(var g=0;g<n.length;g++)Y[n[g]]=1;for(var g=8192;g<=8205;g++)Y[g]=1;function e(d,h){if(d._ctab==null){var _=d.cmap,m=-1,G="p3e10 p0e4 p3e1 p1e0 p0e3 p0e1 p3e0 p3e5".split(" ");
for(var g=0;g<G.length;g++)if(_.V[G[g]]!=null){m=_.V[G[g]];break}if(m==-1)throw"no familiar platform and encoding!";
d._ctab=_.e[m]}var v=d._ctab,l=v.aO,j=-1;if(l==0){if(h>=v.map.length)j=0;else j=v.map[h]}else if(l==4){var t=v.as;
j=0;if(h<=t[t.length-1]){var F=K(t,1,h);if(t[F]<h)F++;if(h>=v.a3[F]){var V=0;if(v.f[F]!=0)V=v.l[h-v.a3[F]+(v.f[F]>>1)-(v.f.length-F)];
else V=h+v.aq[F];j=V&65535}}}else if(l==6){var S=h-v.al,H=v.l;if(S<0||S>=H.length)j=0;else j=H[S]}else if(l==12){var k=v.b9;
j=0;if(h<=k[k.length-2]){var g=K(k,3,h);if(k[g]<=h&&h<=k[g+1]){j=k[g+2]+(h-k[g])}}}else throw"unknown cmap table format "+v.aO;
var W=d["SVG "],I=d.loca;if(j!=0&&d["CFF "]==null&&(W==null||W.entries[j]==null)&&I&&I[j]==I[j+1]&&Y[h]==null)j=0;
return j}return e}(),glyphToPath:function(K,n,Y){var g={K:[],I:[]},e=K["SVG "],d=K["CFF "],h=K.COLR,b=K.CBLC,_=K.CBDT,m=K.sbix,G=window.UPNG,v=T.U,l=null;
if(b&&G)for(var j=0;j<b.length;j++)if(b[j][0]<=n&&n<=b[j][1])l=b[j];if(l||m&&m[n]){if(l&&l[2]!=17)throw"not a PNG";
if(K.__tmp==null)K.__tmp={};var t=K.__tmp["g"+n];if(t==null){var F,V,H="";if(m){F=m[n];V=F.length}else{var S=l[3][n-l[0]]+5;
V=_[S+1]<<16|_[S+2]<<8|_[S+3];S+=4;F=new Uint8Array(_.buffer,_.byteOffset+S,V)}for(var j=0;j<V;j++)H+=String.fromCharCode(F[j]);
t=K.__tmp["g"+n]="data:image/png;base64,"+btoa(H)}g.K.push(t);var k=K.head.unitsPerEm*1.15,W=Math.round(k),I=Math.round(k),X=Math.round(-I*.15);
g.I.push(0,I+X,W,I+X,W,X,0,X)}else if(e&&e.entries[n]){var M=e.entries[n];if(M!=null){if(typeof M=="number"){var x=e.Y[M];
if(typeof x=="string"){var Z=new DOMParser,i=Z.parseFromString(x,"image/svg+xml");x=e.Y[M]=i.getElementsByTagName("svg")[0]}M=v.SVG.aD(x,n);
e.entries[n]=M}g=M}}else if(Y!=!0&&h&&h[0]["g"+n]&&h[0]["g"+n][1]>1){function N(f){var r=f.toString(16);
return(r.length==1?"0":"")+r}var p=K.CPAL,E=h[0]["g"+n];for(var j=0;j<E[1];j++){var D=E[0]+j,y=h[1][2*D],J=h[1][2*D+1]*4,O=T.U.glyphToPath(K,y,y==n),o="#"+N(p[J+2])+N(p[J+1])+N(p[J+0]);
g.K.push(o);g.K=g.K.concat(O.cmds);g.I=g.I.concat(O.crds);g.K.push("X")}}else if(d){var w=d.Private,R={x:0,y:0,stack:[],A:0,T:!1,width:w?w.defaultWidthX:0,open:!1};
if(d.ROS){var u=0;while(d.FDSelect[u+2]<=n)u+=2;w=d.FDArray[d.FDSelect[u+1]].Private}v._drawCFF(d.CharStrings[n],R,d,w,g)}else if(K.glyf){v._drawGlyf(n,K,g)}return{cmds:g.K,crds:g.I}},_drawGlyf:function(K,n,Y){var g=n.glyf[K];
if(g==null)g=n.glyf[K]=T.T._.aV(n,K);if(g!=null){if(g.B>-1)T.U._simpleGlyph(g,Y);else T.U._compoGlyph(g,n,Y)}},_simpleGlyph:function(K,n){var Y=T.U.P;
for(var g=0;g<K.B;g++){var e=g==0?0:K.j[g-1]+1,d=K.j[g];for(var h=e;h<=d;h++){var _=h==e?d:h-1,m=h==d?e:h+1,G=K.W[h]&1,v=K.W[_]&1,l=K.W[m]&1,j=K.S[h],F=K.U[h];
if(h==e){if(G){if(v)Y.Z(n,K.S[_],K.U[_]);else{Y.Z(n,j,F);continue}}else{if(v)Y.Z(n,K.S[_],K.U[_]);else Y.Z(n,Math.floor((K.S[_]+j)*.5),Math.floor((K.U[_]+F)*.5))}}if(G){if(v)Y.L(n,j,F)}else{if(l)Y.a0(n,j,F,K.S[m],K.U[m]);
else Y.a0(n,j,F,Math.floor((j+K.S[m])*.5),Math.floor((F+K.U[m])*.5))}}Y.p(n)}},_compoGlyph:function(K,n,Y){for(var g=0;
g<K.O.length;g++){var e={K:[],I:[]},d=K.O[g];T.U._drawGlyf(d.ah,n,e);var h=d.c;for(var b=0;b<e.I.length;
b+=2){var m=e.I[b],G=e.I[b+1];Y.I.push(m*h.w+G*h.aG+h.aC);Y.I.push(m*h.ap+G*h.Q+h.aK)}for(var b=0;b<e.K.length;
b++)Y.K.push(e.K[b])}},pathToSVG:function(K,n){var Y=K.cmds,g=K.crds,b=0,m=0,G=0,v=0,l=0,j=0,t=0;if(n==null)n=5;
function e(N){return parseFloat(N.toFixed(n))}function d(N){var p=[],E=!1,D="";for(var F=0;F<N.length;
F++){var y=N[F],J=typeof y=="number";if(!J){if(y==D&&y.length==1&&y!="m")continue;D=y}if(E&&J&&y>=0)p.push(" ");
p.push(y);E=J}return p.join("")}var h=[],_={M:2,L:2,Q:4,C:6};for(var F=0;F<Y.length;F++){var V=Y[F],S=_[V]?_[V]:0,H=[],k,W,I,x;
if(V=="L"){k=g[b]-m;W=g[b+1]-G;I=e(k+v);x=e(W+l);if(Y[F+1]=="Z"&&g[b]==j&&g[b+1]==t){I=k;x=W}else if(I==0&&x==0){}else if(I==0)H.push("v",x);
else if(x==0)H.push("h",I);else{H.push("l",I,x)}}else{H.push(V.toLowerCase());for(var Z=0;Z<S;Z+=2){k=g[b+Z]-m;
W=g[b+Z+1]-G;I=e(k+v);x=e(W+l);H.push(I,x)}}if(S!=0){v+=k-I;l+=W-x}var i=H;for(var Z=0;Z<i.length;Z++)h.push(i[Z]);
if(S!=0){b+=S;m=g[b-2];G=g[b-1]}if(V=="M"){j=m;t=G}if(V=="Z"){m=j;G=t}}return d(h)},SVGToPath:function(K){var n={K:[],I:[]};
T.U.SVG.a1(K,n);return{cmds:n.K,crds:n.I}},pathToContext:function(){var K,n;function Y(e,d){var h=0,b=e.cmds,_=e.crds;
for(var m=0;m<b.length;m++){var G=b[m];if(G=="M"){d.moveTo(_[h],_[h+1]);h+=2}else if(G=="L"){d.lineTo(_[h],_[h+1]);
h+=2}else if(G=="C"){d.bezierCurveTo(_[h],_[h+1],_[h+2],_[h+3],_[h+4],_[h+5]);h+=6}else if(G=="Q"){d.quadraticCurveTo(_[h],_[h+1],_[h+2],_[h+3]);
h+=4}else if(G[0]=="d"){var v=window.UPNG,l=_[h],j=_[h+1],t=_[h+2],F=_[h+3],V=_[h+4],S=_[h+5],H=_[h+6],k=_[h+7];
h+=8;if(v==null){d.moveTo(l,j);d.lineTo(t,F);d.lineTo(V,S);d.lineTo(H,k);d.closePath();continue}var W=t-l,I=F-j,X=H-l,M=k-j,x=atob(G.slice(22)),Z=new Uint8Array(x.length);
for(var i=0;i<x.length;i++)Z[i]=x.charCodeAt(i);var N=v.decode(Z.buffer),p=N.width,E=N.height,D=new Uint8Array(v.toRGBA8(N)[0]),y=d.getTransform(),J=Math.sqrt(Math.abs(y.a*y.d-y.b*y.c))*Math.sqrt(X*X+M*M)/E;
while(J<.5){var O=g(D,p,E);D=O.b5;p=O.be;E=O.b7;J*=2}if(K==null){K=document.createElement("canvas");
n=K.getContext("2d")}if(K.width!=p||K.height!=E){K.width=p;K.height=E}n.putImageData(new ImageData(new Uint8ClampedArray(D.buffer),p,E),0,0);
d.save();d.transform(W,I,X,M,l,j);d.scale(1/p,1/E);d.drawImage(K,0,0);d.restore()}else if(G.charAt(0)=="#"||G.charAt(0)=="r"){d.beginPath();
d.fillStyle=G}else if(G.charAt(0)=="O"&&G!="OX"){d.beginPath();var o=G.split("-");d.lineWidth=parseFloat(o[2]);
d.lineCap=["butt","round","square"][parseFloat(o[3])];d.lineJoin=["miter","round","bevel"][parseFloat(o[4])];
d.miterLimit=parseFloat(o[5]);d.lineDashOffset=parseFloat(o[6]);d.setLineDash(o[7].split(",").map(parseFloat));
d.strokeStyle=o[1]}else if(G=="Z"){d.closePath()}else if(G=="X"){d.fill()}else if(G=="OX"){d.stroke()}}}function g(e,d,h,b){var _=d>>1,m=h>>1,G=b&&b.length==_*m*4?b:new Uint8Array(_*m*4),v=new Uint32Array(e.buffer),l=new Uint32Array(G.buffer);
for(var j=0;j<m;j++)for(var t=0;t<_;t++){var F=j*_+t,V=(j<<1)*d+(t<<1),S=v[V],H=v[V+1],k=v[V+d],W=v[V+d+1],x=S>>>24,Z=H>>>24,i=k>>>24,N=W>>>24,p=x+Z+i+N;
if(p==1020){var E=(S>>>0&255)+(H>>>0&255)+(k>>>0&255)+(W>>>0&255)+2>>>2,D=(S>>>8&255)+(H>>>8&255)+(k>>>8&255)+(W>>>8&255)+2>>>2,y=(S>>>16&255)+(H>>>16&255)+(k>>>16&255)+(W>>>16&255)+2>>>2;
l[F]=255<<24|y<<16|D<<8|E}else if(p==0)l[F]=0;else{var E=(S>>>0&255)*x+(H>>>0&255)*Z+(k>>>0&255)*i+(W>>>0&255)*N,D=(S>>>8&255)*x+(H>>>8&255)*Z+(k>>>8&255)*i+(W>>>8&255)*N,y=(S>>>16&255)*x+(H>>>16&255)*Z+(k>>>16&255)*i+(W>>>16&255)*N,J=1/p;
E=~~(E*J+.5);D=~~(D*J+.5);y=~~(y*J+.5);l[F]=p+2>>>2<<24|y<<16|D<<8|E}}return{b5:G,be:_,b7:m}}return Y}(),P:{Z:function(K,n,Y){K.K.push("M");
K.I.push(n,Y)},L:function(K,n,Y){K.K.push("L");K.I.push(n,Y)},J:function(K,n,Y,g,e,d,h){K.K.push("C");
K.I.push(n,Y,g,e,d,h)},a0:function(K,n,Y,g,e){K.K.push("Q");K.I.push(n,Y,g,e)},p:function(K){K.K.push("Z")}},_drawCFF:function(K,n,Y,g,e){var d=n.stack,h=n.A,b=n.T,_=n.width,m=n.open,G=0,v=n.x,l=n.y,j=0,F=0,V=0,S=0,H=0,k=0,W=0,I=0,x=0,Z=0,i=T.T.s,N=T.U.P,p=g.nominalWidthX,E={a7:0,size:0};
while(G<K.length){i.at(K,G,E);var D=E.a7;G+=E.size;if(!1){}else if(D=="o1"||D=="o18"){var y;y=d.length%2!==0;
if(y&&!b){_=d.shift()+p}h+=d.length>>1;d.length=0;b=!0}else if(D=="o3"||D=="o23"){var y;y=d.length%2!==0;
if(y&&!b){_=d.shift()+p}h+=d.length>>1;d.length=0;b=!0}else if(D=="o4"){if(d.length>1&&!b){_=d.shift()+p;
b=!0}if(m)N.p(e);l+=d.pop();N.Z(e,v,l);m=!0}else if(D=="o5"){while(d.length>0){v+=d.shift();l+=d.shift();
N.L(e,v,l)}}else if(D=="o6"||D=="o7"){var J=d.length,O=D=="o6";for(var o=0;o<J;o++){var w=d.shift();
if(O)v+=w;else l+=w;O=!O;N.L(e,v,l)}}else if(D=="o8"||D=="o24"){var J=d.length,R=0;while(R+6<=J){j=v+d.shift();
F=l+d.shift();V=j+d.shift();S=F+d.shift();v=V+d.shift();l=S+d.shift();N.J(e,j,F,V,S,v,l);R+=6}if(D=="o24"){v+=d.shift();
l+=d.shift();N.L(e,v,l)}}else if(D=="o11")break;else if(D=="o1234"||D=="o1235"||D=="o1236"||D=="o1237"){if(D=="o1234"){j=v+d.shift();
F=l;V=j+d.shift();S=F+d.shift();x=V+d.shift();Z=S;H=x+d.shift();k=S;W=H+d.shift();I=l;v=W+d.shift();
N.J(e,j,F,V,S,x,Z);N.J(e,H,k,W,I,v,l)}if(D=="o1235"){j=v+d.shift();F=l+d.shift();V=j+d.shift();S=F+d.shift();
x=V+d.shift();Z=S+d.shift();H=x+d.shift();k=Z+d.shift();W=H+d.shift();I=k+d.shift();v=W+d.shift();l=I+d.shift();
d.shift();N.J(e,j,F,V,S,x,Z);N.J(e,H,k,W,I,v,l)}if(D=="o1236"){j=v+d.shift();F=l+d.shift();V=j+d.shift();
S=F+d.shift();x=V+d.shift();Z=S;H=x+d.shift();k=S;W=H+d.shift();I=k+d.shift();v=W+d.shift();N.J(e,j,F,V,S,x,Z);
N.J(e,H,k,W,I,v,l)}if(D=="o1237"){j=v+d.shift();F=l+d.shift();V=j+d.shift();S=F+d.shift();x=V+d.shift();
Z=S+d.shift();H=x+d.shift();k=Z+d.shift();W=H+d.shift();I=k+d.shift();if(Math.abs(W-v)>Math.abs(I-l)){v=W+d.shift()}else{l=I+d.shift()}N.J(e,j,F,V,S,x,Z);
N.J(e,H,k,W,I,v,l)}}else if(D=="o14"){if(d.length>0&&d.length!=4&&!b){_=d.shift()+Y.nominalWidthX;b=!0}if(d.length==4){var u=0,f=d.shift(),r=d.shift(),a=d.shift(),af=d.shift(),al=i.z(Y,a),ak=i.z(Y,af);
T.U._drawCFF(Y.CharStrings[al],n,Y,g,e);n.x=f;n.y=r;T.U._drawCFF(Y.CharStrings[ak],n,Y,g,e)}if(m){N.p(e);
m=!1}}else if(D=="o19"||D=="o20"){var y;y=d.length%2!==0;if(y&&!b){_=d.shift()+p}h+=d.length>>1;d.length=0;
b=!0;G+=h+7>>3}else if(D=="o21"){if(d.length>2&&!b){_=d.shift()+p;b=!0}l+=d.pop();v+=d.pop();if(m)N.p(e);
N.Z(e,v,l);m=!0}else if(D=="o22"){if(d.length>1&&!b){_=d.shift()+p;b=!0}v+=d.pop();if(m)N.p(e);N.Z(e,v,l);
m=!0}else if(D=="o25"){while(d.length>6){v+=d.shift();l+=d.shift();N.L(e,v,l)}j=v+d.shift();F=l+d.shift();
V=j+d.shift();S=F+d.shift();v=V+d.shift();l=S+d.shift();N.J(e,j,F,V,S,v,l)}else if(D=="o26"){if(d.length%2){v+=d.shift()}while(d.length>0){j=v;
F=l+d.shift();V=j+d.shift();S=F+d.shift();v=V;l=S+d.shift();N.J(e,j,F,V,S,v,l)}}else if(D=="o27"){if(d.length%2){l+=d.shift()}while(d.length>0){j=v+d.shift();
F=l;V=j+d.shift();S=F+d.shift();v=V+d.shift();l=S;N.J(e,j,F,V,S,v,l)}}else if(D=="o10"||D=="o29"){var Q=D=="o10"?g:Y;
if(d.length==0){console.log("error: empty stack")}else{var ap=d.pop(),q=Q.Subrs[ap+Q.Bias];n.x=v;n.y=l;
n.A=h;n.T=b;n.width=_;n.open=m;T.U._drawCFF(q,n,Y,g,e);v=n.x;l=n.y;h=n.A;b=n.T;_=n.width;m=n.open}}else if(D=="o30"||D=="o31"){var J,z=d.length,R=0,P=D=="o31";
J=z&~2;R+=z-J;while(R<J){if(P){j=v+d.shift();F=l;V=j+d.shift();S=F+d.shift();l=S+d.shift();if(J-R==5){v=V+d.shift();
R++}else v=V;P=!1}else{j=v;F=l+d.shift();V=j+d.shift();S=F+d.shift();v=V+d.shift();if(J-R==5){l=S+d.shift();
R++}else l=S;P=!0}N.J(e,j,F,V,S,v,l);R+=4}}else if((D+"").charAt(0)=="o"){console.log("Unknown operation: "+D,K);
throw D}else d.push(D)}n.x=v;n.y=l;n.A=h;n.T=b;n.width=_;n.open=m},SVG:function(){var K={aM:function(v){return Math.sqrt(Math.abs(v[0]*v[3]-v[1]*v[2]))},translate:function(v,l,j){K.concat(v,[1,0,0,1,l,j])},rotate:function(v,l){K.concat(v,[Math.cos(l),-Math.sin(l),Math.sin(l),Math.cos(l),0,0])},scale:function(v,l,j){K.concat(v,[l,0,0,j,0,0])},concat:function(v,l){var j=v[0],t=v[1],F=v[2],V=v[3],S=v[4],H=v[5];
v[0]=j*l[0]+t*l[2];v[1]=j*l[1]+t*l[3];v[2]=F*l[0]+V*l[2];v[3]=F*l[1]+V*l[3];v[4]=S*l[0]+H*l[2]+l[4];
v[5]=S*l[1]+H*l[3]+l[5]},aS:function(v){var l=v[0],j=v[1],t=v[2],F=v[3],V=v[4],S=v[5],H=l*F-j*t;v[0]=F/H;
v[1]=-j/H;v[2]=-t/H;v[3]=l/H;v[4]=(t*S-F*V)/H;v[5]=(j*V-l*S)/H},aH:function(v,l){var j=l[0],F=l[1];return[j*v[0]+F*v[2]+v[4],j*v[1]+F*v[3]+v[5]]},b1:function(v,l){for(var j=0;
j<l.length;j+=2){var t=l[j],F=l[j+1];l[j]=t*v[0]+F*v[2]+v[4];l[j+1]=t*v[1]+F*v[3]+v[5]}}};function n(v,l,j){var t=[],F=0,V=0,S=0;
while(!0){var H=v.indexOf(l,V),k=v.indexOf(j,V);if(H==-1&&k==-1)break;if(k==-1||H!=-1&&H<k){if(S==0){t.push(v.slice(F,H).trim());
F=H+1}S++;V=H+1}else if(H==-1||k!=-1&&k<H){S--;if(S==0){t.push(v.slice(F,k).trim());F=k+1}V=k+1}}return t}function Y(v){var l=n(v,"{","}"),j={};
for(var t=0;t<l.length;t+=2){var F=l[t].split(",");for(var V=0;V<F.length;V++){var S=F[V].trim();if(j[S]==null)j[S]="";
j[S]+=l[t+1]}}return j}function g(v){var l=n(v,"(",")"),j=[1,0,0,1,0,0];for(var t=0;t<l.length;t+=2){var F=j;
j=e(l[t],l[t+1]);K.concat(j,F)}return j}function e(v,l){var j=[1,0,0,1,0,0],t=!0;for(var F=0;F<l.length;
F++){var V=l.charAt(F);if(V==","||V==" ")t=!0;else if(V=="."){if(!t){l=l.slice(0,F)+","+l.slice(F);F++}t=!1}else if(V=="-"&&F>0&&l[F-1]!="e"){l=l.slice(0,F)+" "+l.slice(F);
F++;t=!0}}l=l.split(/\s*[\s,]\s*/).map(parseFloat);if(!1){}else if(v=="translate"){if(l.length==1)K.translate(j,l[0],0);
else K.translate(j,l[0],l[1])}else if(v=="translateX"){K.translate(j,l[0],0)}else if(v=="translateY"){K.translate(j,0,l[0])}else if(v=="scale"){if(l.length==1)K.scale(j,l[0],l[0]);
else K.scale(j,l[0],l[1])}else if(v=="rotate"){var S=0,H=0;if(l.length!=1){S=l[1];H=l[2]}K.translate(j,-S,-H);
K.rotate(j,-Math.PI*l[0]/180);K.translate(j,S,H)}else if(v=="matrix")j=l;else if(v=="skewX")j=[1,Math.tan(l[0]*Math.PI/180),0,1,0,0];
else if(v=="skewY")j=[1,0,Math.tan(l[0]*Math.PI/180),1,0,0];else console.log("unknown transform: ",v);
return j}function d(v,l){var j={K:[],I:[]},t=v.getAttribute("viewBox");if(t)t=t.trim().split(" ").map(parseFloat);
else t=[0,0,1e3,1e3];var F=v;if(l!=null){var V=v.getElementById("glyph"+l);if(V)F=V}b(F.children,j,null,v);
for(var S=0;S<j.I.length;S+=2){var H=j.I[S],k=j.I[S+1];H-=t[0];k-=t[1];k=-k;j.I[S]=H;j.I[S+1]=k}return j}var h={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};
function b(v,l,j,t){for(var F=0;F<v.length;F++){var V=v[F],S=V.tagName,H=V.getAttribute("fill");if(H==null)H=j;
if(H&&H.startsWith("url")){var k=H.slice(5,-1),W=t.getElementById(k),I=W.children[0];if(I.getAttribute("stop-opacity")!=null)continue;
H=I.getAttribute("stop-color")}if(h[H])H=h[H];if(S=="g"||S=="use"){var X={I:[],K:[]};if(S=="g")b(V.children,X,H,t);
else{var M=V.getAttribute("xlink:href").slice(1),x=t.getElementById(M);b([x],X,H,t)}var Z=[1,0,0,1,0,0],i=V.getAttribute("x"),N=V.getAttribute("y");
i=i?parseFloat(i):0;N=N?parseFloat(N):0;K.concat(Z,[1,0,0,1,i,N]);var p=V.getAttribute("transform");
if(p)K.concat(Z,g(p));K.b1(Z,X.I);l.I=l.I.concat(X.I);l.K=l.K.concat(X.K)}else if(S=="path"||S=="circle"||S=="ellipse"){l.K.push(H?H:"#000000");
var E;if(S=="path")E=V.getAttribute("d");if(S=="circle"||S=="ellipse"){var D=[0,0,0,0],y=["cx","cy","rx","ry","r"];
for(var J=0;J<5;J++){var O=V.getAttribute(y[J]);if(O){O=parseFloat(O);if(J<4)D[J]=O;else D[2]=D[3]=O}}var o=D[0],w=D[1],R=D[2],f=D[3];
E=["M",o-R,w,"a",R,f,0,1,0,R*2,0,"a",R,f,0,1,0,-R*2,0].join(" ")}G(E,l);l.K.push("X")}else if(S=="image"){var r=parseFloat(V.getAttribute("width")),L=parseFloat(V.getAttribute("height"));
l.K.push(V.getAttribute("xlink:href"));l.I.push(0,0,r,0,r,L,0,L)}else if(S=="defs"){}else console.log(S)}}function _(v){var l=[],j=0,t=!1,F="",V="",S="",H=0;
while(j<v.length){var k=v.charCodeAt(j),W=v.charAt(j);j++;var I=48<=k&&k<=57||W=="."||W=="-"||W=="+"||W=="e"||W=="E";
if(t){if((W=="+"||W=="-")&&V!="e"||W=="."&&F.indexOf(".")!=-1||I&&(S=="a"||S=="A")&&(H%7==3||H%7==4)){l.push(parseFloat(F));
H++;F=W}else if(I)F+=W;else{l.push(parseFloat(F));H++;if(W!=","&&W!=" "){l.push(W);S=W;H=0}t=!1}}else{if(I){F=W;
t=!0}else if(W!=","&&W!=" "){l.push(W);S=W;H=0}}V=W}if(t)l.push(parseFloat(F));return l}function m(v,l,j){var t=l;
while(t<v.length){if(typeof v[t]=="string")break;t+=j}return(t-l)/j}function G(v,l){var j=_(v),t=0,F=0,V=0,S=0,H=0,k=l.I.length,W={M:2,L:2,H:1,V:1,T:2,S:4,A:7,Q:4,C:6},I=l.K,x=l.I;
while(t<j.length){var Z=j[t];t++;var i=Z.toUpperCase();if(i=="Z"){I.push("Z");F=S;V=H}else{var N=W[i],p=m(j,t,N);
for(var E=0;E<p;E++){if(E==1&&i=="M"){Z=Z==i?"L":"l";i="L"}var D=0,y=0;if(Z!=i){D=F;y=V}if(!1){}else if(i=="M"){F=D+j[t++];
V=y+j[t++];I.push("M");x.push(F,V);S=F;H=V}else if(i=="L"){F=D+j[t++];V=y+j[t++];I.push("L");x.push(F,V)}else if(i=="H"){F=D+j[t++];
I.push("L");x.push(F,V)}else if(i=="V"){V=y+j[t++];I.push("L");x.push(F,V)}else if(i=="Q"){var J=D+j[t++],O=y+j[t++],o=D+j[t++],w=y+j[t++];
I.push("Q");x.push(J,O,o,w);F=o;V=w}else if(i=="T"){var R=Math.max(x.length-(I[I.length-1]=="Q"?4:2),k),J=F+F-x[R],O=V+V-x[R+1],o=D+j[t++],w=y+j[t++];
I.push("Q");x.push(J,O,o,w);F=o;V=w}else if(i=="C"){var J=D+j[t++],O=y+j[t++],o=D+j[t++],w=y+j[t++],f=D+j[t++],r=y+j[t++];
I.push("C");x.push(J,O,o,w,f,r);F=f;V=r}else if(i=="S"){var R=Math.max(x.length-(I[I.length-1]=="C"?4:2),k),J=F+F-x[R],O=V+V-x[R+1],o=D+j[t++],w=y+j[t++],f=D+j[t++],r=y+j[t++];
I.push("C");x.push(J,O,o,w,f,r);F=f;V=r}else if(i=="A"){var J=F,O=V,L=j[t++],a=j[t++],af=j[t++]*(Math.PI/180),al=j[t++],ak=j[t++],o=D+j[t++],w=y+j[t++];
if(o==F&&w==V&&L==0&&a==0)continue;if(L==0||a==0){I.push("L");x.push(o,w);continue}var Q=(J-o)/2,ap=(O-w)/2,q=Math.cos(af),z=Math.sin(af),P=q*Q+z*ap,av=-z*Q+q*ap,ao=L*L,au=a*a,ai=P*P,am=av*av,a1=(ao*au-ao*am-au*ai)/(ao*am+au*ai),ah=(al!=ak?1:-1)*Math.sqrt(Math.max(a1,0)),a0=ah*(L*av)/a,ab=-ah*(a*P)/L,ad=q*a0-z*ab+(J+o)/2,ar=z*a0+q*ab+(O+w)/2,aj=function(U,B,C,A){var ae=Math.sqrt(U*U+B*B),a7=Math.sqrt(C*C+A*A),a3=(U*C+B*A)/(ae*a7);
return(U*A-B*C>=0?1:-1)*Math.acos(Math.max(-1,Math.min(1,a3)))},aq=(P-a0)/L,aa=(av-ab)/a,a9=aj(1,0,aq,aa),ac=aj(aq,aa,(-P-a0)/L,(-av-ab)/a);
ac=ac%(2*Math.PI);var as=function(at,F,V,U,B,C,A){var ae=function($,c){var a2=Math.sin(c),R=Math.cos(c),c=$[0],a6=$[1],a8=$[2],v=$[3];
$[0]=c*R+a6*a2;$[1]=-c*a2+a6*R;$[2]=a8*R+v*a2;$[3]=-a8*a2+v*R},a7=function($,c){for(var E=0;E<c.length;
E+=2){var F=c[E],V=c[E+1];c[E]=$[0]*F+$[2]*V+$[4];c[E+1]=$[1]*F+$[3]*V+$[5]}},a3=function($,c){for(var E=0;
E<c.length;E++)$.push(c[E])},a4=function($,U){a3($.K,U.K);a3($.I,U.I)};if(A)while(C>B)C-=2*Math.PI;else while(C<B)C+=2*Math.PI;
var an=(C-B)/4,ag=Math.cos(an/2),a5=-Math.sin(an/2),J=(4-ag)/3,O=a5==0?a5:(1-ag)*(3-ag)/(3*a5),o=J,w=-O,f=ag,r=-a5,N=[J,O,o,w,f,r],l={K:["C","C","C","C"],I:N.slice(0)},s=[1,0,0,1,0,0];
ae(s,-an);for(var E=0;E<3;E++){a7(s,N);a3(l.I,N)}ae(s,-B+an/2);s[0]*=U;s[1]*=U;s[2]*=U;s[3]*=U;s[4]=F;
s[5]=V;a7(s,l.I);a7(at.ae,l.I);a4(at.ai,l)},at={ai:l,ae:[L*q,L*z,-a*z,a*q,ad,ar]};as(at,0,0,1,a9,a9+ac,ak==0);
F=o;V=w}else console.log("Unknown SVG command "+Z)}}}}return{cssMap:Y,readTrnf:g,a1:G,aD:d}}(),initHB:function(K,n){var Y=function(g){var e=0;
if((g&4294967295-(1<<7)+1)==0){e=1}else if((g&4294967295-(1<<11)+1)==0){e=2}else if((g&4294967295-(1<<16)+1)==0){e=3}else if((g&4294967295-(1<<21)+1)==0){e=4}return e};
fetch(K).then(function(g){return g.arrayBuffer()}).then(function(g){return WebAssembly.instantiate(g)}).then(function(g){console.log("HB ready");
var e=g.instance.exports,d=e.memory,h,b,_,m,G,v,l,j;T.U.shapeHB=function(){var t=function(V){var S=e.hb_buffer_get_length(V),H=[],k=e.hb_buffer_get_glyph_infos(V,0)>>>2,W=e.hb_buffer_get_glyph_positions(V,0)>>>2;
for(var I=0;I<S;++I){var X=k+I*5,M=W+I*5;H.push({g:b[X+0],cl:b[X+2],ax:_[M+0],ay:_[M+1],dx:_[M+2],dy:_[M+3]})}return H},F;
return function(V,S,H,k){var W=V._data,I=V.name.postScriptName,N=0,o=0,w=0;h=new Uint8Array(d.buffer);
b=new Uint32Array(d.buffer);_=new Int32Array(d.buffer);if(m!=I){if(G!=null){e.hb_blob_destroy(G);e.free(v);
e.hb_face_destroy(l);e.hb_font_destroy(j)}v=e.malloc(W.byteLength);h.set(W,v);G=e.hb_blob_create(v,W.byteLength,2,0,0);
l=e.hb_face_create(G,V._index);j=e.hb_font_create(l);m=I}if(window.TextEncoder==null){alert("Your browser is too old. Please, update it.");
return}if(F==null)F=new window.TextEncoder("utf8");var X=e.hb_buffer_create(),M=F.encode(S),x=M.length,Z=e.malloc(x);
h.set(M,Z);e.hb_buffer_add_utf8(X,Z,x,0,x);e.free(Z);var i=T.B;if(k){N=e.malloc(16*k.length);for(var p=0;
p<k.length;p++){var E=k[p],D=N+p*16,y=D>>>2;i.ac(h,D,E[0].split("").reverse().join(""));b[y+1]=E[1];
b[y+2]=E[2];b[y+3]=E[3]}}e.hb_buffer_set_direction(X,H?4:5);e.hb_buffer_guess_segment_properties(X);
e.hb_shape(j,X,N,k?k.length:0);var J=t(X);e.hb_buffer_destroy(X);if(k)e.free(N);var O=J.slice(0);if(!H)O.reverse();
for(var p=1;p<O.length;p++){var R=O[p],u=R.cl;while(!0){var f=S.codePointAt(o),r=Y(f);if(w+r<=u){w+=r;
o+=f<=65535?1:2}else break}R.cl=o}return J}}();n()})}};return T}();
var UZIP={};(function(){var K={H:function(t,a){return t[a]|t[a+1]<<8},r:function(t,a,X){t[a]=X&255;t[a+1]=X>>8&255},k:function(t,a){return t[a+3]*(256*256*256)+(t[a+2]<<16|t[a+1]<<8|t[a])},c:function(t,a,X){t[a]=X&255;
t[a+1]=X>>8&255;t[a+2]=X>>16&255;t[a+3]=X>>24&255},j:function(t,a,X){var A="";for(var M=0;M<X;M++)A+=String.fromCharCode(t[a+M]);
return A},P:function(t,a,X){for(var A=0;A<X.length;A++)t[a+A]=X.charCodeAt(A)},G:function(t){return t.length<2?"0"+t:t},K:function(t,a,X){var A=[199,252,233,226,228,224,229,231,234,235,232,239,238,236,196,197,201,230,198,244,246,242,251,249,255,214,220,162,163,165,167,402,225,237,243,250,241,209,170,186,191,8976,172,189,188,161,171,187],V="";
for(var M=0;M<X;M++){var x=t[a+M];if(x<128)x=x;else if(x<176)x=A[x-128];else return null;V+=String.fromCharCode(x)}return V},Q:function(t,a,X){var A="",M;
for(var x=0;x<X;x++)A+="%"+K.G(t[a+x].toString(16));try{M=decodeURIComponent(A)}catch(S){return K.j(t,a,X)}return M},t:function(t,a,X){var A=X.length,V=0;
for(var M=0;M<A;M++){var x=X.charCodeAt(M);if((x&4294967295-(1<<7)+1)==0){t[a+V]=x;V++}else if((x&4294967295-(1<<11)+1)==0){t[a+V]=192|x>>6;
t[a+V+1]=128|x>>0&63;V+=2}else if((x&4294967295-(1<<16)+1)==0){t[a+V]=224|x>>12;t[a+V+1]=128|x>>6&63;
t[a+V+2]=128|x>>0&63;V+=3}else if((x&4294967295-(1<<21)+1)==0){t[a+V]=240|x>>18;t[a+V+1]=128|x>>12&63;
t[a+V+2]=128|x>>6&63;t[a+V+3]=128|x>>0&63;V+=4}else throw"e"}return V},a:function(t){var a=t.length,X=0;
for(var A=0;A<a;A++){var V=t.charCodeAt(A);if((V&4294967295-(1<<7)+1)==0){X++}else if((V&4294967295-(1<<11)+1)==0){X+=2}else if((V&4294967295-(1<<16)+1)==0){X+=3}else if((V&4294967295-(1<<21)+1)==0){X+=4}else throw"e"}return X}},Q={u:function(){var t=new Uint32Array(256);
for(var a=0;a<256;a++){var X=a;for(var A=0;A<8;A++){if(X&1)X=3988292384^X>>>1;else X=X>>>1}t[a]=X}return t}(),update:function(t,a,X,A){for(var V=0;
V<A;V++)t=Q.u[(t^a[X+V])&255]^t>>>8;return t},N:function(t,a,X){return Q.update(4294967295,t,a,X)^4294967295}};
function J(t,a,X){var A=1,V=0,M=a,x=a+X;while(M<x){var _=Math.min(M+5552,x);while(M<_){A+=t[M++];V+=A}A=A%65521;
V=V%65521}return V<<16|A}function B(t,a){var X=K.H,A=K.k,V=0,M={},x=new Uint8Array(t),_=x.length-4;while(A(x,_)!=101010256)_--;
var V=_;V+=4;V+=4;var m=X(x,V);V+=2;var j=X(x,V);V+=2;var g=A(x,V);V+=4;var k=A(x,V);V+=4;V=k;for(var r=0;
r<m;r++){var I=A(x,V),E=0;V+=4;V+=4;V+=4;var L=S(x,V);V+=4;var P=A(x,V);V+=4;var g=A(x,V);V+=4;var z=A(x,V);
V+=4;var O=X(x,V),C=X(x,V+2),l=X(x,V+4);V+=6;V+=8;var D=A(x,V);V+=4;V+=O;while(E<C){var R=X(x,V+E);E+=2;
var N=X(x,V+E);E+=2;if(R==1){if(z==4294967295){z=A(x,V+E);E+=8}if(g==4294967295){g=A(x,V+E);E+=8}if(D==4294967295){D=A(x,V+E);
E+=8}}else E+=N}V+=C+l;G(x,D,M,g,z,a)}return M}function S(t,a){var X=K.H(t,a),A=K.H(t,a+2),V=1980+(A>>>9),M=A>>>5&15,x=A&31,_=X>>>11,m=X>>>5&63,j=2*(X&31),g=new Date(V,M,x,_,m,j).getTime();
return g}function a6(t,a,X){var A=new Date(X),V=A.getFullYear()-1980<<9|A.getMonth()+1<<5|A.getDate(),M=A.getHours()<<11|A.getMinutes()<<5|A.getSeconds()>>>1;
K.r(t,a,M);K.r(t,a+2,V)}function G(t,a,X,A,V,M){var x=K.H,_=K.k,m=_(t,a);a+=4;var j=x(t,a);a+=2;var g=x(t,a);
a+=2;var k=x(t,a);a+=2;var r=S(t,a);a+=4;var I=_(t,a);a+=4;a+=8;var L=x(t,a);a+=2;var P=x(t,a);a+=2;
var z=(g&2048)==0?K.K(t,a,L):K.Q(t,a,L);if(z==null)z=K.Q(t,a,L);a+=L;a+=P;if(M){X[z]={size:V,F:A};return}var O=new Uint8Array(t.buffer,a);
if(g&1){X[z]=new Uint8Array(0);alert("ZIPs with a password are not supported.",3e3)}else if(k==0)X[z]=new Uint8Array(O.buffer.slice(a,a+A));
else if(k==8){var C=new Uint8Array(V);W(O,C);X[z]=C}else throw"unknown compression method: "+k}function W(t,a){return UZIP.F.inflate(t,a)}function a1(t,a){var X=t[0],A=t[1],V=X&15,M=X>>>4;
return W(new Uint8Array(t.buffer,t.byteOffset+2,t.length-6),a)}function a7(t,a){if(a==null)a={level:6};
var X=0,A=new Uint8Array(50+Math.floor(t.length*1.1));A[X]=120;A[X+1]=156;X+=2;X=UZIP.F.deflateRaw(t,A,X,a.level);
var Q=J(t,0,t.length);A[X+0]=Q>>>24&255;A[X+1]=Q>>>16&255;A[X+2]=Q>>>8&255;A[X+3]=Q>>>0&255;return new Uint8Array(A.buffer,0,X+4)}function a0(t,a){if(a==null)a={level:6};
var X=new Uint8Array(50+Math.floor(t.length*1.1)),A=UZIP.F.deflateRaw(t,X,A,a.level);return new Uint8Array(X.buffer,0,A)}function ae(t,a){if(a==null)a=!1;
var X=0,A=K.c,V=K.r,M={},k=0,L=0;for(var x in t){var _=!a2(x)&&!a,m=t[x],j=Q.N(m,0,m.length);M[x]={X:_,O:m.length,N:j,file:_?a0(m):m}}for(var x in M)X+=M[x].file.length+30+46+2*K.a(x);
X+=22;var g=new Uint8Array(X),r=[];for(var x in M){var I=M[x];r.push(k);k=a3(g,k,x,I,0)}var P=k;for(var x in M){var I=M[x];
r.push(k);k=a3(g,k,x,I,1,r[L++])}var z=k-P;A(g,k,101010256);k+=4;k+=4;V(g,k,L);k+=2;V(g,k,L);k+=2;A(g,k,z);
k+=4;A(g,k,P);k+=4;k+=2;return g.buffer}function a2(t){var a=t.split(".").pop().toLowerCase();return"png,jpg,jpeg,zip".indexOf(a)!=-1}function a3(t,a,X,A,V,x){var _=K.c,m=K.r,j=A.file;
_(t,a,V==0?67324752:33639248);a+=4;if(V==1)a+=2;m(t,a,20);a+=2;m(t,a,2048);a+=2;m(t,a,A.X?8:0);a+=2;
a6(t,a,Date.now());a+=4;_(t,a,A.N);a+=4;_(t,a,j.length);a+=4;_(t,a,A.O);a+=4;m(t,a,K.a(X));a+=2;m(t,a,0);
a+=2;if(V==1){a+=2;a+=2;a+=6;_(t,a,x);a+=4}var g=K.t(t,a,X);a+=g;if(V==0){t.set(j,a);a+=j.length}return a}UZIP.crc=Q;
UZIP.adler=J;UZIP.inflate=a1;UZIP.inflateRaw=W;UZIP.deflate=a7;UZIP.deflateRaw=a0;UZIP.parse=B;UZIP.encode=ae}());
(function(){var K=function(){var z=Uint16Array,O=Uint32Array;return{v:new z(16),W:new z(16),w:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],R:[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],d:[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],f:new z(32),T:[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],L:[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],B:new O(32),g:new z(512),I:[],S:new z(32),e:[],A:new z(32768),i:[],n:[],m:new z(32768),b:[],M:new z(512),U:[],Y:new z(1<<15),D:new O(286),q:new O(30),h:new O(19),p:new O(15e3),J:new z(1<<16),z:new z(1<<15)}}();
function Q(z,O){var C=z.length,l,D,E,R,N,H=K.W;for(var R=0;R<=O;R++)H[R]=0;for(R=1;R<C;R+=2)H[z[R]]++;
var s=K.v;l=0;H[0]=0;for(D=1;D<=O;D++){l=l+H[D-1]<<1;s[D]=l}for(E=0;E<C;E+=2){N=z[E+1];if(N!=0){z[E]=s[N];
s[N]++}}}function J(z,O,C){var l=z.length,D=K.Y;for(var E=0;E<l;E+=2)if(z[E+1]!=0){var R=E>>1,N=z[E+1],H=R<<4|N,s=O-N,Z=z[E]<<s,T=Z+(1<<s);
while(Z!=T){var v=D[Z]>>>15-O;C[v]=H;Z++}}}function B(z,O){var C=K.Y,l=15-O;for(var D=0;D<z.length;D+=2){var E=z[D]<<O-z[D+1];
z[D]=C[E]>>>l}}function S(z,O,C){C=C<<(O&7);var l=O>>>3;z[l]|=C;z[l+1]|=C>>>8}function a6(z,O,C){C=C<<(O&7);
var l=O>>>3;z[l]|=C;z[l+1]|=C>>>8;z[l+2]|=C>>>16}function G(z,O,C){return(z[O>>>3]|z[(O>>>3)+1]<<8)>>>(O&7)&(1<<C)-1}function W(z,O,C){return(z[O>>>3]|z[(O>>>3)+1]<<8|z[(O>>>3)+2]<<16)>>>(O&7)&(1<<C)-1}function a1(z,O){return(z[O>>>3]|z[(O>>>3)+1]<<8|z[(O>>>3)+2]<<16)>>>(O&7)}function a7(z,O){return(z[O>>>3]|z[(O>>>3)+1]<<8|z[(O>>>3)+2]<<16|z[(O>>>3)+3]<<24)>>>(O&7)}(function(){var z=1<<15;
for(var O=0;O<z;O++){var C=O;C=(C&2863311530)>>>1|(C&1431655765)<<1;C=(C&3435973836)>>>2|(C&858993459)<<2;
C=(C&4042322160)>>>4|(C&252645135)<<4;C=(C&4278255360)>>>8|(C&16711935)<<8;K.Y[O]=(C>>>16|C<<16)>>>17}function l(D,E,R){while(E--!=0)D.push(0,R)}for(var O=0;
O<32;O++){K.f[O]=K.R[O]<<3|K.d[O];K.B[O]=K.T[O]<<4|K.L[O]}l(K.I,144,8);l(K.I,255-143,9);l(K.I,279-255,7);
l(K.I,287-279,8);Q(K.I,9);J(K.I,9,K.g);B(K.I,9);l(K.e,32,5);Q(K.e,5);J(K.e,5,K.S);B(K.e,5);l(K.U,19,0);
l(K.i,286,0);l(K.b,30,0);l(K.n,320,0)}());function a0(z,O,C,l){var D=[[0,0,0,0,0],[4,4,8,4,0],[4,5,16,8,0],[4,6,16,16,0],[4,10,16,32,0],[8,16,32,32,0],[8,16,128,128,0],[8,32,128,256,0],[32,128,258,1024,1],[32,258,258,4096,1]],E=D[l],R=0,N=C<<3,H=0,s=z.length,c=0,$=0,w=0,n=0,Y=0,e=0,y=0,b=0;
if(l==0){while(R<s){var Z=Math.min(65535,s-R);S(O,N,R+Z==s?1:0);N=a(z,R,Z,O,N+8);R+=Z}return N>>>3}var T=K.p,v=K.J,f=K.z;
if(s>2){e=a3(z,0);v[e]=0}for(R=0;R<s;R++){Y=e;if(R+1<s-2){e=a3(z,R+1);var p=R+1&32767;f[p]=v[e];v[e]=p}if(H<=R){if((c>14e3||$>26697)&&s-R>100){if(H<R){T[c]=R-H;
c+=2;H=R}N=t(R==s-1||H==s?1:0,T,c,n,z,w,R-w,O,N);c=$=n=0;w=R}var F=0;if(R<s-2)F=ae(z,R,f,Y,Math.min(E[2],s-R),E[3]);
var Z=F>>>16,u=F&65535;if(F!=0){var Z=F>>>16,u=F&65535,h=k(Z,K.R);K.D[257+h]++;var o=k(u,K.T);K.q[o]++;
n+=K.d[h]+K.L[o];T[c]=Z<<23|R-H;T[c+1]=u<<16|h<<8|o;c+=2;H=R+Z}else{K.D[z[R]]++}$++}}if(w!=R||z.length==0){if(H<R){T[c]=R-H;
c+=2;H=R}N=t(1,T,c,n,z,w,R-w,O,N);c=0;$=0;c=$=n=0;w=R}while((N&7)!=0)N++;return N>>>3}function ae(z,O,C,l,D,E){var R=O&32767,N=C[R],H=R-N+(1<<15)&32767,s=0,Z=0;
if(N==R||l!=a3(z,O-H))return 0;var T=Math.min(32767,O);while(H<=T&&--E!=0&&N!=R){if(s==0||z[O+s]==z[O+s-H]){var v=a2(z,O,H);
if(v>s){s=v;Z=H;if(s>=D)break;if(H+2<v)v=H+2;var f=0;for(var c=0;c<v-2;c++){var $=O-H+c+(1<<15)&32767,w=C[$],n=$-w+(1<<15)&32767;
if(n>f){f=n;N=$}}}}R=N;N=C[R];H+=R-N+(1<<15)&32767}return s<<16|Z}function a2(z,O,C){if(z[O]!=z[O-C]||z[O+1]!=z[O+1-C]||z[O+2]!=z[O+2-C])return 0;
var l=O,D=Math.min(z.length,O+258);O+=3;while(O<D&&z[O]==z[O-C])O++;return O-l}function a3(z,O){return(z[O]<<8|z[O+1])+(z[O+2]<<4)&65535}function t(z,O,C,l,D,E,R,N,H){var s,Z,T,v,f,$,w,n,Y;
K.D[256]++;s=X();Z=s[0];T=s[1];v=s[2];f=s[3];$=s[4];w=s[5];n=s[6];Y=s[7];var e=((H+3&7)==0?0:8-(H+3&7))+32+(R<<3),y=l+M(K.I,K.D)+M(K.e,K.q),b=l+M(K.i,K.D)+M(K.b,K.q);
b+=14+3*w+M(K.U,K.h)+(K.h[16]*2+K.h[17]*3+K.h[18]*7);for(var p=0;p<286;p++)K.D[p]=0;for(var p=0;p<30;
p++)K.q[p]=0;for(var p=0;p<19;p++)K.h[p]=0;var F=e<y&&e<b?0:y<b?1:2;a6(N,H,z);a6(N,H+1,F);H+=3;var u=H;
if(F==0){while((H&7)!=0)H++;H=a(D,E,R,N,H)}else{var h,o;if(F==1){h=K.I;o=K.e}if(F==2){Q(K.i,Z);B(K.i,Z);
Q(K.b,T);B(K.b,T);Q(K.U,v);B(K.U,v);h=K.i;o=K.b;S(N,H,f-257);H+=5;S(N,H,$-1);H+=5;S(N,H,w-4);H+=4;for(var i=0;
i<w;i++)S(N,H+i*3,K.U[(K.w[i]<<1)+1]);H+=3*w;H=x(n,K.U,N,H);H=x(Y,K.U,N,H)}var a9=E;for(var q=0;q<C;
q+=2){var d=O[q],a5=d>>>23,ab=a9+(d&(1<<23)-1);while(a9<ab)H=r(D[a9++],h,N,H);if(a5!=0){var a8=O[q+1],aa=a8>>16,ac=a8>>8&255,ad=a8&255;
H=r(257+ac,h,N,H);S(N,H,a5-K.R[ac]);H+=K.d[ac];H=r(ad,o,N,H);a6(N,H,aa-K.T[ad]);H+=K.L[ad];a9+=a5}}H=r(256,h,N,H)}return H}function a(z,O,C,l,D){var E=D>>>3;
l[E]=C;l[E+1]=C>>>8;l[E+2]=255-l[E];l[E+3]=255-l[E+1];E+=4;l.set(new Uint8Array(z.buffer,O,C),E);return D+(C+4<<3)}function X(){var z=m(K.D,K.i,15),O=m(K.q,K.b,15),C=[],l=_(K.i,C),D=[],E=_(K.b,D),H=19;
for(var R=0;R<C.length;R+=2)K.h[C[R]]++;for(var R=0;R<D.length;R+=2)K.h[D[R]]++;var N=m(K.h,K.U,7);while(H>4&&K.U[(K.w[H-1]<<1)+1]==0)H--;
return[z,O,N,l,E,H,C,D]}function A(z){var O=[];for(var C=0;C<z.length;C+=2)O.push(z[C+1]);return O}function V(z){var O="";
for(var C=0;C<z.length;C+=2)if(z[C+1]!=0)O+=(C>>1)+",";return O}function M(z,O){var C=0;for(var l=0;
l<O.length;l++)C+=O[l]*z[(l<<1)+1];return C}function x(z,O,C,l){for(var D=0;D<z.length;D+=2){var E=z[D],R=z[D+1];
l=r(E,O,C,l);var N=E==16?2:E==17?3:7;if(E>15){S(C,l,R,N);l+=N}}return l}function _(z,O){var C=z.length;
while(C!=2&&z[C-1]==0)C-=2;for(var l=0;l<C;l+=2){var D=z[l+1],E=l+3<C?z[l+3]:-1,R=l+5<C?z[l+5]:-1,N=l==0?-1:z[l-1];
if(D==0&&E==D&&R==D){var H=l+5;while(H+2<C&&z[H+2]==D)H+=2;var s=Math.min(H+1-l>>>1,138);if(s<11)O.push(17,s-3);
else O.push(18,s-11);l+=s*2-2}else if(D==N&&E==D&&R==D){var H=l+5;while(H+2<C&&z[H+2]==D)H+=2;var s=Math.min(H+1-l>>>1,6);
O.push(16,s-3);l+=s*2-2}else O.push(D,0)}return C>>>1}function m(z,O,C){var l=[],D=z.length,E=O.length,R=0,v=0,f=1,c=2;
for(R=0;R<E;R+=2){O[R]=0;O[R+1]=0}for(R=0;R<D;R++)if(z[R]!=0)l.push({l:R,s:z[R]});var N=l.length,H=l.slice(0);
if(N==0)return 0;if(N==1){var s=l[0].l,H=s==0?1:0;O[(s<<1)+1]=1;O[(H<<1)+1]=1;return 1}l.sort(function(Z,T){return Z.s-T.s});
var Z=l[0],T=l[1];l[0]={l:-1,s:Z.s+T.s,o:Z,V:T,C:0};while(f!=N-1){if(v!=f&&(c==N||l[v].s<l[c].s)){Z=l[v++]}else{Z=l[c++]}if(v!=f&&(c==N||l[v].s<l[c].s)){T=l[v++]}else{T=l[c++]}l[f++]={l:-1,s:Z.s+T.s,o:Z,V:T}}var $=j(l[f-1],0);
if($>C){g(H,C,$);$=C}for(R=0;R<N;R++)O[(H[R].l<<1)+1]=H[R].C;return $}function j(z,O){if(z.l!=-1){z.C=O;
return O}return Math.max(j(z.o,O+1),j(z.V,O+1))}function g(z,O,C){var l=0,D=1<<C-O,E=0;z.sort(function(N,H){return H.C==N.C?N.s-H.s:H.C-N.C});
for(l=0;l<z.length;l++)if(z[l].C>O){var R=z[l].C;z[l].C=O;E+=D-(1<<C-R)}else break;E=E>>>C-O;while(E>0){var R=z[l].C;
if(R<O){z[l].C++;E-=1<<O-R-1}else l++}for(;l>=0;l--)if(z[l].C==O&&E<0){z[l].C--;E++}if(E!=0)console.log("debt left")}function k(z,O){var C=0;
if(O[C|16]<=z)C|=16;if(O[C|8]<=z)C|=8;if(O[C|4]<=z)C|=4;if(O[C|2]<=z)C|=2;if(O[C|1]<=z)C|=1;return C}function r(z,O,C,l){a6(C,l,O[z<<1]);
return l+O[(z<<1)+1]}function a4(z,O){var C=Uint8Array,D=0,E=0,R=0,N=0,H=0,s=0,Z=0,T=0,v=0,f,c;if(z[0]==3&&z[1]==0)return O?O:new C(0);
var l=O==null;if(l)O=new C(z.length>>>2<<3);while(D==0){D=W(z,v,1);E=W(z,v+1,2);v+=3;if(E==0){if((v&7)!=0)v+=8-(v&7);
var $=(v>>>3)+4,w=z[$-4]|z[$-3]<<8;if(l)O=I(O,T+w);O.set(new C(z.buffer,z.byteOffset+$,w),T);v=$+w<<3;
T+=w;continue}if(l)O=I(O,T+(1<<17));if(E==1){f=K.g;c=K.S;s=(1<<9)-1;Z=(1<<5)-1}if(E==2){R=G(z,v,5)+257;
N=G(z,v+5,5)+1;H=G(z,v+10,4)+4;v+=14;var n=v,e=1;for(var Y=0;Y<38;Y+=2){K.U[Y]=0;K.U[Y+1]=0}for(var Y=0;
Y<H;Y++){var y=G(z,v+Y*3,3);K.U[(K.w[Y]<<1)+1]=y;if(y>e)e=y}v+=3*H;Q(K.U,e);J(K.U,e,K.M);f=K.A;c=K.m;
v=L(K.M,(1<<e)-1,R+N,z,v,K.n);var b=P(K.n,0,R,K.i);s=(1<<b)-1;var p=P(K.n,R,N,K.b);Z=(1<<p)-1;Q(K.i,b);
J(K.i,b,f);Q(K.b,p);J(K.b,p,c)}while(!0){var F=f[a1(z,v)&s];v+=F&15;var u=F>>>4;if(u>>>8==0){O[T++]=u}else if(u==256){break}else{var h=T+u-254;
if(u>264){var o=K.f[u-257];h=T+(o>>>3)+G(z,v,o&7);v+=o&7}var i=c[a1(z,v)&Z];v+=i&15;var a9=i>>>4,q=K.B[a9],d=(q>>>4)+W(z,v,q&15);
v+=q&15;if(l)O=I(O,T+(1<<17));while(T<h){O[T]=O[T++-d];O[T]=O[T++-d];O[T]=O[T++-d];O[T]=O[T++-d]}T=h}}}return O.length==T?O:O.slice(0,T)}function I(z,O){var C=z.length;
if(O<=C)return z;var l=new Uint8Array(Math.max(C<<1,O));l.set(z,0);return l}function L(z,O,C,l,D,E){var R=0;
while(R<C){var N=z[a1(l,D)&O];D+=N&15;var H=N>>>4;if(H<=15){E[R]=H;R++}else{var s=0,Z=0;if(H==16){Z=3+G(l,D,2);
D+=2;s=E[R-1]}else if(H==17){Z=3+G(l,D,3);D+=3}else if(H==18){Z=11+G(l,D,7);D+=7}var T=R+Z;while(R<T){E[R]=s;
R++}}}return D}function P(z,O,C,l){var D=0,E=0,R=l.length>>>1;while(E<C){var N=z[E+O];l[E<<1]=0;l[(E<<1)+1]=N;
if(N>D)D=N;E++}while(E<R){l[E<<1]=0;l[(E<<1)+1]=0;E++}return D}UZIP.F={inflate:a4,deflateRaw:a0}}());
var paper=function(t,e){var i=(t=t||require("./node/self.js")).window,n=t.document,r=new function(){function t(t,e,r,s,a){function u(n,u){"string"==typeof(u=u||(u=o(e,n))&&(u.get?u:u.value))&&"#"===u[0]&&(u=t[u.substring(1)]||u);var c,f="function"==typeof u,d=u,_=a||f&&!u.base?u&&u.get?n in t:t[n]:null;a&&_||(f&&_&&(u.base=_),f&&!1!==s&&(c=n.match(/^([gs]et|is)(([A-Z])(.*))$/))&&(l[c[3].toLowerCase()+c[4]]=c[2]),d&&!f&&d.get&&"function"==typeof d.get&&i.isPlainObject(d)||(d={value:d,writable:!0}),(o(t,n)||{configurable:!0}).configurable&&(d.configurable=!0,d.enumerable=null!=r?r:!c),h(t,n,d))}var l={};if(e){for(var c in e)e.hasOwnProperty(c)&&!n.test(c)&&u(c);for(var c in l){var f=l[c],d=t["set"+f],_=t["get"+f]||d&&t["is"+f];!_||!0!==s&&0!==_.length||u(c,{get:_,set:d})}}return t}function i(){for(var t=0,e=arguments.length;t<e;t++){var i=arguments[t];i&&c(this,i)}return this}var n=/^(statics|enumerable|beans|preserve)$/,r=[],s=r.slice,a=Object.create,o=Object.getOwnPropertyDescriptor,h=Object.defineProperty,u=r.forEach||function(t,e){for(var i=0,n=this.length;i<n;i++)t.call(e,this[i],i,this)},l=function(t,e){for(var i in this)this.hasOwnProperty(i)&&t.call(e,this[i],i,this)},c=Object.assign||function(t){for(var e=1,i=arguments.length;e<i;e++){var n=arguments[e];for(var r in n)n.hasOwnProperty(r)&&(t[r]=n[r])}return t},f=function(t,e,i){if(t){var n=o(t,"length");(n&&"number"==typeof n.value?u:l).call(t,e,i=i||t)}return i};return t(i,{inject:function(e){if(e){var i=!0===e.statics?e:e.statics,n=e.beans,r=e.preserve;i!==e&&t(this.prototype,e,e.enumerable,n,r),t(this,i,null,n,r)}for(var s=1,a=arguments.length;s<a;s++)this.inject(arguments[s]);return this},extend:function(){for(var e,i,n,r=this,s=0,o=arguments.length;s<o&&(!e||!i);s++)n=arguments[s],e=e||n.initialize,i=i||n.prototype;return e=e||function(){r.apply(this,arguments)},i=e.prototype=i||a(this.prototype),h(i,"constructor",{value:e,writable:!0,configurable:!0}),t(e,this),arguments.length&&this.inject.apply(e,arguments),e.base=r,e}}).inject({enumerable:!1,initialize:i,set:i,inject:function(){for(var e=0,i=arguments.length;e<i;e++){var n=arguments[e];n&&t(this,n,n.enumerable,n.beans,n.preserve)}return this},extend:function(){var t=a(this);return t.inject.apply(t,arguments)},each:function(t,e){return f(this,t,e)},clone:function(){return new this.constructor(this)},statics:{set:c,each:f,create:a,define:h,describe:o,clone:function(t){return c(new t.constructor,t)},isPlainObject:function(t){var e=null!=t&&t.constructor;return e&&(e===Object||e===i||"Object"===e.name)},pick:function(t,i){return t!==e?t:i},slice:function(t,e,i){return s.call(t,e,i)}}})};"undefined"!=typeof module&&(module.exports=r),r.inject({enumerable:!1,toString:function(){return null!=this._id?(this._class||"Object")+(this._name?" '"+this._name+"'":" @"+this._id):"{ "+r.each(this,function(t,e){if(!/^_/.test(e)){var i=typeof t;this.push(e+": "+("number"===i?h.instance.number(t):"string"===i?"'"+t+"'":t))}},[]).join(", ")+" }"},getClassName:function(){return this._class||""},importJSON:function(t){return r.importJSON(t,this)},exportJSON:function(t){return r.exportJSON(this,t)},toJSON:function(){return r.serialize(this)},set:function(t,e){return t&&r.filter(this,t,e,this._prioritize),this}},{beans:!1,statics:{exports:{},extend:function t(){var e=t.base.apply(this,arguments),i=e.prototype._class;return i&&!r.exports[i]&&(r.exports[i]=e),e},equals:function(t,e){if(t===e)return!0;if(t&&t.equals)return t.equals(e);if(e&&e.equals)return e.equals(t);if(t&&e&&"object"==typeof t&&"object"==typeof e){if(Array.isArray(t)&&Array.isArray(e)){if((n=t.length)!==e.length)return!1;for(;n--;)if(!r.equals(t[n],e[n]))return!1}else{var i=Object.keys(t),n=i.length;if(n!==Object.keys(e).length)return!1;for(;n--;){var s=i[n];if(!e.hasOwnProperty(s)||!r.equals(t[s],e[s]))return!1}}return!0}return!1},read:function(t,i,n,s){if(this===r){var a=this.peek(t,i);return t.__index++,a}var o=this.prototype,h=o._readIndex,u=i||h&&t.__index||0,l=t.length,c=t[u];if(s=s||l-u,c instanceof this||n&&n.readNull&&null==c&&s<=1)return h&&(t.__index=u+1),c&&n&&n.clone?c.clone():c;if(c=r.create(o),h&&(c.__read=!0),c=c.initialize.apply(c,u>0||u+s<l?r.slice(t,u,u+s):t)||c,h){t.__index=u+c.__read;var f=c.__filtered;f&&(t.__filtered=f,c.__filtered=e),c.__read=e}return c},peek:function(t,e){return t[t.__index=e||t.__index||0]},remain:function(t){return t.length-(t.__index||0)},readList:function(t,e,i,n){for(var r,s=[],a=e||0,o=n?a+n:t.length,h=a;h<o;h++)s.push(Array.isArray(r=t[h])?this.read(r,0,i):this.read(t,h,i,1));return s},readNamed:function(t,i,n,s,a){var o=this.getNamed(t,i),h=o!==e;if(h){var u=t.__filtered;u||((u=t.__filtered=r.create(t[0])).__unfiltered=t[0]),u[i]=e}var l=h?[o]:t;return this.read(l,n,s,a)},getNamed:function(t,i){var n=t[0];if(t._hasObject===e&&(t._hasObject=1===t.length&&r.isPlainObject(n)),t._hasObject)return i?n[i]:t.__filtered||n},hasNamed:function(t,e){return!!this.getNamed(t,e)},filter:function(t,i,n,r){function s(r){if(!(n&&r in n||a&&r in a)){var s=i[r];s!==e&&(t[r]=s)}}var a;if(r){for(var o,h={},u=0,l=r.length;u<l;u++)(o=r[u])in i&&(s(o),h[o]=!0);a=h}return Object.keys(i.__unfiltered||i).forEach(s),t},isPlainValue:function(t,e){return r.isPlainObject(t)||Array.isArray(t)||e&&"string"==typeof t},serialize:function(t,e,i,n){e=e||{};var s,a=!n;if(a&&(e.formatter=new h(e.precision),n={length:0,definitions:{},references:{},add:function(t,e){var i="#"+t._id,n=this.references[i];if(!n){this.length++;var r=e.call(t),s=t._class;s&&r[0]!==s&&r.unshift(s),this.definitions[i]=r,n=this.references[i]=[i]}return n}}),t&&t._serialize){s=t._serialize(e,n);var o=t._class;!o||t._compactSerialize||!a&&i||s[0]===o||s.unshift(o)}else if(Array.isArray(t)){s=[];for(var u=0,l=t.length;u<l;u++)s[u]=r.serialize(t[u],e,i,n)}else if(r.isPlainObject(t)){s={};for(var c=Object.keys(t),u=0,l=c.length;u<l;u++){var f=c[u];s[f]=r.serialize(t[f],e,i,n)}}else s="number"==typeof t?e.formatter.number(t,e.precision):t;return a&&n.length>0?[["dictionary",n.definitions],s]:s},deserialize:function(t,e,i,n,s){var a=t,o=!i,h=o&&t&&t.length&&"dictionary"===t[0][0];if(i=i||{},Array.isArray(t)){var u=t[0],l="dictionary"===u;if(1==t.length&&/^#/.test(u))return i.dictionary[u];a=[];for(var c=(u=r.exports[u])?1:0,f=t.length;c<f;c++)a.push(r.deserialize(t[c],e,i,l,h));if(u){var d=a;e?a=e(u,d,o||s):(a=r.create(u.prototype),u.apply(a,d))}}else if(r.isPlainObject(t)){a={},n&&(i.dictionary=a);for(var _ in t)a[_]=r.deserialize(t[_],e,i)}return h?a[1]:a},exportJSON:function(t,e){var i=r.serialize(t,e);return e&&0==e.asString?i:JSON.stringify(i)},importJSON:function(t,e){return r.deserialize("string"==typeof t?JSON.parse(t):t,function(t,i,n){var s=n&&e&&e.constructor===t,a=s?e:r.create(t.prototype);if(1===i.length&&a instanceof w&&(s||!(a instanceof b))){var o=i[0];r.isPlainObject(o)&&(o.insert=!1)}return(s?a.set:t).apply(a,i),s&&(e=null),a})},splice:function(t,i,n,r){var s=i&&i.length,a=n===e;(n=a?t.length:n)>t.length&&(n=t.length);for(u=0;u<s;u++)i[u]._index=n+u;if(a)return t.push.apply(t,i),[];var o=[n,r];i&&o.push.apply(o,i);for(var h=t.splice.apply(t,o),u=0,l=h.length;u<l;u++)h[u]._index=e;for(var u=n+s,l=t.length;u<l;u++)t[u]._index=u;return h},capitalize:function(t){return t.replace(/\b[a-z]/g,function(t){return t.toUpperCase()})},camelize:function(t){return t.replace(/-(.)/g,function(t,e){return e.toUpperCase()})},hyphenate:function(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}}});var s={on:function(t,e){if("string"!=typeof t)r.each(t,function(t,e){this.on(e,t)},this);else{var i=this._eventTypes,n=i&&i[t],s=this._callbacks=this._callbacks||{};-1===(s=s[t]=s[t]||[]).indexOf(e)&&(s.push(e),n&&n.install&&1===s.length&&n.install.call(this,t))}return this},off:function(t,e){if("string"==typeof t){var i,n=this._eventTypes,s=n&&n[t],a=this._callbacks&&this._callbacks[t];return a&&(!e||-1!==(i=a.indexOf(e))&&1===a.length?(s&&s.uninstall&&s.uninstall.call(this,t),delete this._callbacks[t]):-1!==i&&a.splice(i,1)),this}r.each(t,function(t,e){this.off(e,t)},this)},once:function(t,e){return this.on(t,function(){e.apply(this,arguments),this.off(t,e)})},emit:function(t,e){var i=this._callbacks&&this._callbacks[t];if(!i)return!1;var n=r.slice(arguments,1),s=e&&e.target&&!e.currentTarget;i=i.slice(),s&&(e.currentTarget=this);for(var a=0,o=i.length;a<o;a++)if(0==i[a].apply(this,n)){e&&e.stop&&e.stop();break}return s&&delete e.currentTarget,!0},responds:function(t){return!(!this._callbacks||!this._callbacks[t])},attach:"#on",detach:"#off",fire:"#emit",_installEvents:function(t){var e=this._eventTypes,i=this._callbacks,n=t?"install":"uninstall";if(e)for(var r in i)if(i[r].length>0){var s=e[r],a=s&&s[n];a&&a.call(this,r)}},statics:{inject:function t(e){var i=e._events;if(i){var n={};r.each(i,function(t,i){var s="string"==typeof t,a=s?t:i,o=r.capitalize(a),h=a.substring(2).toLowerCase();n[h]=s?{}:t,a="_"+a,e["get"+o]=function(){return this[a]},e["set"+o]=function(t){var e=this[a];e&&this.off(h,e),t&&this.on(h,t),this[a]=t}}),e._eventTypes=n}return t.base.apply(this,arguments)}}},a=r.extend({_class:"PaperScope",initialize:function e(){paper=this,this.settings=new r({applyMatrix:!0,insertItems:!0,handleSize:4,hitTolerance:0}),this.project=null,this.projects=[],this.tools=[],this._id=e._id++,e._scopes[this._id]=this;var i=e.prototype;if(!this.support){var n=Q.getContext(1,1)||{};i.support={nativeDash:"setLineDash"in n||"mozDash"in n,nativeBlendModes:tt.nativeModes},Q.release(n)}if(!this.agent){var s=t.navigator.userAgent.toLowerCase(),a=(/(darwin|win|mac|linux|freebsd|sunos)/.exec(s)||[])[0],o="darwin"===a?"mac":a,h=i.agent=i.browser={platform:o};o&&(h[o]=!0),s.replace(/(opera|chrome|safari|webkit|firefox|msie|trident|atom|node)\/?\s*([.\d]+)(?:.*version\/([.\d]+))?(?:.*rv\:v?([.\d]+))?/g,function(t,e,i,n,r){if(!h.chrome){var s="opera"===e?n:/^(node|trident)$/.test(e)?r:i;h.version=s,h.versionNumber=parseFloat(s),e="trident"===e?"msie":e,h.name=e,h[e]=!0}}),h.chrome&&delete h.webkit,h.atom&&delete h.chrome}},version:"0.11.5",getView:function(){var t=this.project;return t&&t._view},getPaper:function(){return this},execute:function(t,e){paper.PaperScript.execute(t,this,e),U.updateFocus()},install:function(t){var e=this;r.each(["project","view","tool"],function(i){r.define(t,i,{configurable:!0,get:function(){return e[i]}})});for(var i in this)!/^_/.test(i)&&this[i]&&(t[i]=this[i])},setup:function(t){return paper=this,this.project=new y(t),this},createCanvas:function(t,e){return Q.getCanvas(t,e)},activate:function(){paper=this},clear:function(){for(var t=this.projects,e=this.tools,i=t.length-1;i>=0;i--)t[i].remove();for(i=e.length-1;i>=0;i--)e[i].remove()},remove:function(){this.clear(),delete a._scopes[this._id]},statics:new function(){function t(t){return t+="Attribute",function(e,i){return e[t](i)||e[t]("data-paper-"+i)}}return{_scopes:{},_id:0,get:function(t){return this._scopes[t]||null},getAttribute:t("get"),hasAttribute:t("has")}}}),o=r.extend(s,{initialize:function(t){this._scope=paper,this._index=this._scope[this._list].push(this)-1,!t&&this._scope[this._reference]||this.activate()},activate:function(){if(!this._scope)return!1;var t=this._scope[this._reference];return t&&t!==this&&t.emit("deactivate"),this._scope[this._reference]=this,this.emit("activate",t),!0},isActive:function(){return this._scope[this._reference]===this},remove:function(){return null!=this._index&&(r.splice(this._scope[this._list],null,this._index,1),this._scope[this._reference]==this&&(this._scope[this._reference]=null),this._scope=null,!0)},getView:function(){return this._scope.getView()}}),h=r.extend({initialize:function(t){this.precision=r.pick(t,5),this.multiplier=Math.pow(10,this.precision)},number:function(t){return this.precision<16?Math.round(t*this.multiplier)/this.multiplier:t},pair:function(t,e,i){return this.number(t)+(i||",")+this.number(e)},point:function(t,e){return this.number(t.x)+(e||",")+this.number(t.y)},size:function(t,e){return this.number(t.width)+(e||",")+this.number(t.height)},rectangle:function(t,e){return this.point(t,e)+(e||",")+this.size(t,e)}});h.instance=new h;var u=new function(){function t(t,e,i){return t<e?e:t>i?i:t}function e(t,e,i){function n(t){var e=134217729*t,i=t-e+e;return[i,t-i]}var r=e*e-t*i,a=e*e+t*i;if(3*s(r)<a){var o=n(t),h=n(e),u=n(i),l=e*e,c=t*i;r=l-c+(h[0]*h[0]-l+2*h[0]*h[1]+h[1]*h[1]-(o[0]*u[0]-c+o[0]*u[1]+o[1]*u[0]+o[1]*u[1]))}return r}function i(){var t=Math.max.apply(Math,arguments);return t&&(t<1e-8||t>1e8)?o(2,-Math.round(h(t))):0}var n=[[.5773502691896257],[0,.7745966692414834],[.33998104358485626,.8611363115940526],[0,.5384693101056831,.906179845938664],[.2386191860831969,.6612093864662645,.932469514203152],[0,.4058451513773972,.7415311855993945,.9491079123427585],[.1834346424956498,.525532409916329,.7966664774136267,.9602898564975363],[0,.3242534234038089,.6133714327005904,.8360311073266358,.9681602395076261],[.14887433898163122,.4333953941292472,.6794095682990244,.8650633666889845,.9739065285171717],[0,.26954315595234496,.5190961292068118,.7301520055740494,.8870625997680953,.978228658146057],[.1252334085114689,.3678314989981802,.5873179542866175,.7699026741943047,.9041172563704749,.9815606342467192],[0,.2304583159551348,.44849275103644687,.6423493394403402,.8015780907333099,.9175983992229779,.9841830547185881],[.10805494870734367,.31911236892788974,.5152486363581541,.6872929048116855,.827201315069765,.9284348836635735,.9862838086968123],[0,.20119409399743451,.3941513470775634,.5709721726085388,.7244177313601701,.8482065834104272,.937273392400706,.9879925180204854],[.09501250983763744,.2816035507792589,.45801677765722737,.6178762444026438,.755404408355003,.8656312023878318,.9445750230732326,.9894009349916499]],r=[[1],[.8888888888888888,.5555555555555556],[.6521451548625461,.34785484513745385],[.5688888888888889,.47862867049936647,.23692688505618908],[.46791393457269104,.3607615730481386,.17132449237917036],[.4179591836734694,.3818300505051189,.27970539148927664,.1294849661688697],[.362683783378362,.31370664587788727,.22238103445337448,.10122853629037626],[.3302393550012598,.31234707704000286,.26061069640293544,.1806481606948574,.08127438836157441],[.29552422471475287,.26926671930999635,.21908636251598204,.1494513491505806,.06667134430868814],[.2729250867779006,.26280454451024665,.23319376459199048,.18629021092773426,.1255803694649046,.05566856711617366],[.24914704581340277,.2334925365383548,.20316742672306592,.16007832854334622,.10693932599531843,.04717533638651183],[.2325515532308739,.22628318026289723,.2078160475368885,.17814598076194574,.13887351021978725,.09212149983772845,.04048400476531588],[.2152638534631578,.2051984637212956,.18553839747793782,.15720316715819355,.12151857068790319,.08015808715976021,.03511946033175186],[.2025782419255613,.19843148532711158,.1861610000155622,.16626920581699392,.13957067792615432,.10715922046717194,.07036604748810812,.03075324199611727],[.1894506104550685,.18260341504492358,.16915651939500254,.14959598881657674,.12462897125553388,.09515851168249279,.062253523938647894,.027152459411754096]],s=Math.abs,a=Math.sqrt,o=Math.pow,h=Math.log2||function(t){return Math.log(t)*Math.LOG2E};return{EPSILON:1e-12,MACHINE_EPSILON:1.12e-16,CURVETIME_EPSILON:1e-8,GEOMETRIC_EPSILON:1e-7,TRIGONOMETRIC_EPSILON:1e-8,KAPPA:4*(a(2)-1)/3,isZero:function(t){return t>=-1e-12&&t<=1e-12},clamp:t,integrate:function(t,e,i,s){for(var a=n[s-2],o=r[s-2],h=.5*(i-e),u=h+e,l=0,c=s+1>>1,f=1&s?o[l++]*t(u):0;l<c;){var d=h*a[l];f+=o[l++]*(t(u+d)+t(u-d))}return h*f},findRoot:function(e,i,n,r,a,o,h){for(var u=0;u<o;u++){var l=e(n),c=l/i(n),f=n-c;if(s(c)<h){n=f;break}l>0?(a=n,n=f<=r?.5*(r+a):f):(r=n,n=f>=a?.5*(r+a):f)}return t(n,r,a)},solveQuadratic:function(n,r,o,h,u,l){var c,f=1/0;if(s(n)<1e-12){if(s(r)<1e-12)return s(o)<1e-12?-1:0;c=-o/r}else{var d=e(n,r*=-.5,o);if(d&&s(d)<1.12e-16){var _=i(s(n),s(r),s(o));_&&(d=e(n*=_,r*=_,o*=_))}if(d>=-1.12e-16){var g=d<0?0:a(d),v=r+(r<0?-g:g);0===v?f=-(c=o/n):(c=v/n,f=o/v)}}var p=0,m=null==u,y=u-1e-12,w=l+1e-12;return isFinite(c)&&(m||c>y&&c<w)&&(h[p++]=m?c:t(c,u,l)),f!==c&&isFinite(f)&&(m||f>y&&f<w)&&(h[p++]=m?f:t(f,u,l)),p},solveCubic:function(e,n,r,h,l,c,f){function d(t){var i=e*(_=t);p=(i+(g=i+n))*_+(v=g*_+r),m=v*_+h}var _,g,v,p,m,y=i(s(e),s(n),s(r),s(h));if(y&&(e*=y,n*=y,r*=y,h*=y),s(e)<1e-12)e=n,g=r,v=h,_=1/0;else if(s(h)<1e-12)g=n,v=r,_=0;else{d(-n/e/3);var w=m/e,x=o(s(w),1/3),b=w<0?-1:1,C=-p/e,S=C>0?1.324717957244746*Math.max(x,a(C)):x,P=_-b*S;if(P!==_){do{d(P),P=0===p?_:_-m/p/(1+1.12e-16)}while(b*P>b*_);s(e)*_*_>s(h/_)&&(g=((v=-h/_)-r)/_)}}var I=u.solveQuadratic(e,g,v,l,c,f),M=null==c;return isFinite(_)&&(0===I||I>0&&_!==l[0]&&_!==l[1])&&(M||_>c-1e-12&&_<f+1e-12)&&(l[I++]=M?_:t(_,c,f)),I}}},l={_id:1,_pools:{},get:function(t){if(t){var e=this._pools[t];return e||(e=this._pools[t]={_id:1}),e._id++}return this._id++}},c=r.extend({_class:"Point",_readIndex:!0,initialize:function(t,e){var i=typeof t,n=this.__read,r=0;if("number"===i){var s="number"==typeof e;this._set(t,s?e:t),n&&(r=s?2:1)}else if("undefined"===i||null===t)this._set(0,0),n&&(r=null===t?1:0);else{var a="string"===i?t.split(/[\s,]+/)||[]:t;r=1,Array.isArray(a)?this._set(+a[0],+(a.length>1?a[1]:a[0])):"x"in a?this._set(a.x||0,a.y||0):"width"in a?this._set(a.width||0,a.height||0):"angle"in a?(this._set(a.length||0,0),this.setAngle(a.angle||0)):(this._set(0,0),r=0)}return n&&(this.__read=r),this},set:"#initialize",_set:function(t,e){return this.x=t,this.y=e,this},equals:function(t){return this===t||t&&(this.x===t.x&&this.y===t.y||Array.isArray(t)&&this.x===t[0]&&this.y===t[1])||!1},clone:function(){return new c(this.x,this.y)},toString:function(){var t=h.instance;return"{ x: "+t.number(this.x)+", y: "+t.number(this.y)+" }"},_serialize:function(t){var e=t.formatter;return[e.number(this.x),e.number(this.y)]},getLength:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},setLength:function(t){if(this.isZero()){var e=this._angle||0;this._set(Math.cos(e)*t,Math.sin(e)*t)}else{var i=t/this.getLength();u.isZero(i)&&this.getAngle(),this._set(this.x*i,this.y*i)}},getAngle:function(){return 180*this.getAngleInRadians.apply(this,arguments)/Math.PI},setAngle:function(t){this.setAngleInRadians.call(this,t*Math.PI/180)},getAngleInDegrees:"#getAngle",setAngleInDegrees:"#setAngle",getAngleInRadians:function(){if(arguments.length){var t=c.read(arguments),e=this.getLength()*t.getLength();if(u.isZero(e))return NaN;var i=this.dot(t)/e;return Math.acos(i<-1?-1:i>1?1:i)}return this.isZero()?this._angle||0:this._angle=Math.atan2(this.y,this.x)},setAngleInRadians:function(t){if(this._angle=t,!this.isZero()){var e=this.getLength();this._set(Math.cos(t)*e,Math.sin(t)*e)}},getQuadrant:function(){return this.x>=0?this.y>=0?1:4:this.y>=0?2:3}},{beans:!1,getDirectedAngle:function(){var t=c.read(arguments);return 180*Math.atan2(this.cross(t),this.dot(t))/Math.PI},getDistance:function(){var t=c.read(arguments),e=t.x-this.x,i=t.y-this.y,n=e*e+i*i;return r.read(arguments)?n:Math.sqrt(n)},normalize:function(t){t===e&&(t=1);var i=this.getLength(),n=0!==i?t/i:0,r=new c(this.x*n,this.y*n);return n>=0&&(r._angle=this._angle),r},rotate:function(t,e){if(0===t)return this.clone();t=t*Math.PI/180;var i=e?this.subtract(e):this,n=Math.sin(t),r=Math.cos(t);return i=new c(i.x*r-i.y*n,i.x*n+i.y*r),e?i.add(e):i},transform:function(t){return t?t._transformPoint(this):this},add:function(){var t=c.read(arguments);return new c(this.x+t.x,this.y+t.y)},subtract:function(){var t=c.read(arguments);return new c(this.x-t.x,this.y-t.y)},multiply:function(){var t=c.read(arguments);return new c(this.x*t.x,this.y*t.y)},divide:function(){var t=c.read(arguments);return new c(this.x/t.x,this.y/t.y)},modulo:function(){var t=c.read(arguments);return new c(this.x%t.x,this.y%t.y)},negate:function(){return new c(-this.x,-this.y)},isInside:function(){return g.read(arguments).contains(this)},isClose:function(){var t=c.read(arguments),e=r.read(arguments);return this.getDistance(t)<=e},isCollinear:function(){var t=c.read(arguments);return c.isCollinear(this.x,this.y,t.x,t.y)},isColinear:"#isCollinear",isOrthogonal:function(){var t=c.read(arguments);return c.isOrthogonal(this.x,this.y,t.x,t.y)},isZero:function(){var t=u.isZero;return t(this.x)&&t(this.y)},isNaN:function(){return isNaN(this.x)||isNaN(this.y)},isInQuadrant:function(t){return this.x*(t>1&&t<4?-1:1)>=0&&this.y*(t>2?-1:1)>=0},dot:function(){var t=c.read(arguments);return this.x*t.x+this.y*t.y},cross:function(){var t=c.read(arguments);return this.x*t.y-this.y*t.x},project:function(){var t=c.read(arguments),e=t.isZero()?0:this.dot(t)/t.dot(t);return new c(t.x*e,t.y*e)},statics:{min:function(){var t=c.read(arguments),e=c.read(arguments);return new c(Math.min(t.x,e.x),Math.min(t.y,e.y))},max:function(){var t=c.read(arguments),e=c.read(arguments);return new c(Math.max(t.x,e.x),Math.max(t.y,e.y))},random:function(){return new c(Math.random(),Math.random())},isCollinear:function(t,e,i,n){return Math.abs(t*n-e*i)<=1e-8*Math.sqrt((t*t+e*e)*(i*i+n*n))},isOrthogonal:function(t,e,i,n){return Math.abs(t*i+e*n)<=1e-8*Math.sqrt((t*t+e*e)*(i*i+n*n))}}},r.each(["round","ceil","floor","abs"],function(t){var e=Math[t];this[t]=function(){return new c(e(this.x),e(this.y))}},{})),f=c.extend({initialize:function(t,e,i,n){this._x=t,this._y=e,this._owner=i,this._setter=n},_set:function(t,e,i){return this._x=t,this._y=e,i||this._owner[this._setter](this),this},getX:function(){return this._x},setX:function(t){this._x=t,this._owner[this._setter](this)},getY:function(){return this._y},setY:function(t){this._y=t,this._owner[this._setter](this)},isSelected:function(){return!!(this._owner._selection&this._getSelection())},setSelected:function(t){this._owner._changeSelection(this._getSelection(),t)},_getSelection:function(){return"setPosition"===this._setter?4:0}}),d=r.extend({_class:"Size",_readIndex:!0,initialize:function(t,e){var i=typeof t,n=this.__read,r=0;if("number"===i){var s="number"==typeof e;this._set(t,s?e:t),n&&(r=s?2:1)}else if("undefined"===i||null===t)this._set(0,0),n&&(r=null===t?1:0);else{var a="string"===i?t.split(/[\s,]+/)||[]:t;r=1,Array.isArray(a)?this._set(+a[0],+(a.length>1?a[1]:a[0])):"width"in a?this._set(a.width||0,a.height||0):"x"in a?this._set(a.x||0,a.y||0):(this._set(0,0),r=0)}return n&&(this.__read=r),this},set:"#initialize",_set:function(t,e){return this.width=t,this.height=e,this},equals:function(t){return t===this||t&&(this.width===t.width&&this.height===t.height||Array.isArray(t)&&this.width===t[0]&&this.height===t[1])||!1},clone:function(){return new d(this.width,this.height)},toString:function(){var t=h.instance;return"{ width: "+t.number(this.width)+", height: "+t.number(this.height)+" }"},_serialize:function(t){var e=t.formatter;return[e.number(this.width),e.number(this.height)]},add:function(){var t=d.read(arguments);return new d(this.width+t.width,this.height+t.height)},subtract:function(){var t=d.read(arguments);return new d(this.width-t.width,this.height-t.height)},multiply:function(){var t=d.read(arguments);return new d(this.width*t.width,this.height*t.height)},divide:function(){var t=d.read(arguments);return new d(this.width/t.width,this.height/t.height)},modulo:function(){var t=d.read(arguments);return new d(this.width%t.width,this.height%t.height)},negate:function(){return new d(-this.width,-this.height)},isZero:function(){var t=u.isZero;return t(this.width)&&t(this.height)},isNaN:function(){return isNaN(this.width)||isNaN(this.height)},statics:{min:function(t,e){return new d(Math.min(t.width,e.width),Math.min(t.height,e.height))},max:function(t,e){return new d(Math.max(t.width,e.width),Math.max(t.height,e.height))},random:function(){return new d(Math.random(),Math.random())}}},r.each(["round","ceil","floor","abs"],function(t){var e=Math[t];this[t]=function(){return new d(e(this.width),e(this.height))}},{})),_=d.extend({initialize:function(t,e,i,n){this._width=t,this._height=e,this._owner=i,this._setter=n},_set:function(t,e,i){return this._width=t,this._height=e,i||this._owner[this._setter](this),this},getWidth:function(){return this._width},setWidth:function(t){this._width=t,this._owner[this._setter](this)},getHeight:function(){return this._height},setHeight:function(t){this._height=t,this._owner[this._setter](this)}}),g=r.extend({_class:"Rectangle",_readIndex:!0,beans:!0,initialize:function(t,i,n,s){var a,o=typeof t;if("number"===o?(this._set(t,i,n,s),a=4):"undefined"===o||null===t?(this._set(0,0,0,0),a=null===t?1:0):1===arguments.length&&(Array.isArray(t)?(this._set.apply(this,t),a=1):t.x!==e||t.width!==e?(this._set(t.x||0,t.y||0,t.width||0,t.height||0),a=1):t.from===e&&t.to===e&&(this._set(0,0,0,0),r.filter(this,t),a=1)),a===e){var h,u,l=c.readNamed(arguments,"from"),f=r.peek(arguments),_=l.x,g=l.y;if(f&&f.x!==e||r.hasNamed(arguments,"to")){var v=c.readNamed(arguments,"to");h=v.x-_,u=v.y-g,h<0&&(_=v.x,h=-h),u<0&&(g=v.y,u=-u)}else{var p=d.read(arguments);h=p.width,u=p.height}this._set(_,g,h,u),a=arguments.__index;var m=arguments.__filtered;m&&(this.__filtered=m)}return this.__read&&(this.__read=a),this},set:"#initialize",_set:function(t,e,i,n){return this.x=t,this.y=e,this.width=i,this.height=n,this},clone:function(){return new g(this.x,this.y,this.width,this.height)},equals:function(t){var e=r.isPlainValue(t)?g.read(arguments):t;return e===this||e&&this.x===e.x&&this.y===e.y&&this.width===e.width&&this.height===e.height||!1},toString:function(){var t=h.instance;return"{ x: "+t.number(this.x)+", y: "+t.number(this.y)+", width: "+t.number(this.width)+", height: "+t.number(this.height)+" }"},_serialize:function(t){var e=t.formatter;return[e.number(this.x),e.number(this.y),e.number(this.width),e.number(this.height)]},getPoint:function(t){return new(t?c:f)(this.x,this.y,this,"setPoint")},setPoint:function(){var t=c.read(arguments);this.x=t.x,this.y=t.y},getSize:function(t){return new(t?d:_)(this.width,this.height,this,"setSize")},_fw:1,_fh:1,setSize:function(){var t=d.read(arguments),e=this._sx,i=this._sy,n=t.width,r=t.height;e&&(this.x+=(this.width-n)*e),i&&(this.y+=(this.height-r)*i),this.width=n,this.height=r,this._fw=this._fh=1},getLeft:function(){return this.x},setLeft:function(t){if(!this._fw){var e=t-this.x;this.width-=.5===this._sx?2*e:e}this.x=t,this._sx=this._fw=0},getTop:function(){return this.y},setTop:function(t){if(!this._fh){var e=t-this.y;this.height-=.5===this._sy?2*e:e}this.y=t,this._sy=this._fh=0},getRight:function(){return this.x+this.width},setRight:function(t){if(!this._fw){var e=t-this.x;this.width=.5===this._sx?2*e:e}this.x=t-this.width,this._sx=1,this._fw=0},getBottom:function(){return this.y+this.height},setBottom:function(t){if(!this._fh){var e=t-this.y;this.height=.5===this._sy?2*e:e}this.y=t-this.height,this._sy=1,this._fh=0},getCenterX:function(){return this.x+this.width/2},setCenterX:function(t){this._fw||.5===this._sx?this.x=t-this.width/2:(this._sx&&(this.x+=2*(t-this.x)*this._sx),this.width=2*(t-this.x)),this._sx=.5,this._fw=0},getCenterY:function(){return this.y+this.height/2},setCenterY:function(t){this._fh||.5===this._sy?this.y=t-this.height/2:(this._sy&&(this.y+=2*(t-this.y)*this._sy),this.height=2*(t-this.y)),this._sy=.5,this._fh=0},getCenter:function(t){return new(t?c:f)(this.getCenterX(),this.getCenterY(),this,"setCenter")},setCenter:function(){var t=c.read(arguments);return this.setCenterX(t.x),this.setCenterY(t.y),this},getArea:function(){return this.width*this.height},isEmpty:function(){return 0===this.width||0===this.height},contains:function(t){return t&&t.width!==e||4===(Array.isArray(t)?t:arguments).length?this._containsRectangle(g.read(arguments)):this._containsPoint(c.read(arguments))},_containsPoint:function(t){var e=t.x,i=t.y;return e>=this.x&&i>=this.y&&e<=this.x+this.width&&i<=this.y+this.height},_containsRectangle:function(t){var e=t.x,i=t.y;return e>=this.x&&i>=this.y&&e+t.width<=this.x+this.width&&i+t.height<=this.y+this.height},intersects:function(){var t=g.read(arguments),e=r.read(arguments)||0;return t.x+t.width>this.x-e&&t.y+t.height>this.y-e&&t.x<this.x+this.width+e&&t.y<this.y+this.height+e},intersect:function(){var t=g.read(arguments),e=Math.max(this.x,t.x),i=Math.max(this.y,t.y),n=Math.min(this.x+this.width,t.x+t.width),r=Math.min(this.y+this.height,t.y+t.height);return new g(e,i,n-e,r-i)},unite:function(){var t=g.read(arguments),e=Math.min(this.x,t.x),i=Math.min(this.y,t.y),n=Math.max(this.x+this.width,t.x+t.width),r=Math.max(this.y+this.height,t.y+t.height);return new g(e,i,n-e,r-i)},include:function(){var t=c.read(arguments),e=Math.min(this.x,t.x),i=Math.min(this.y,t.y),n=Math.max(this.x+this.width,t.x),r=Math.max(this.y+this.height,t.y);return new g(e,i,n-e,r-i)},expand:function(){var t=d.read(arguments),e=t.width,i=t.height;return new g(this.x-e/2,this.y-i/2,this.width+e,this.height+i)},scale:function(t,i){return this.expand(this.width*t-this.width,this.height*(i===e?t:i)-this.height)}},r.each([["Top","Left"],["Top","Right"],["Bottom","Left"],["Bottom","Right"],["Left","Center"],["Top","Center"],["Right","Center"],["Bottom","Center"]],function(t,e){var i=t.join(""),n=/^[RL]/.test(i);e>=4&&(t[1]+=n?"Y":"X");var r=t[n?0:1],s=t[n?1:0],a="get"+r,o="get"+s,h="set"+r,u="set"+s,l="set"+i;this["get"+i]=function(t){return new(t?c:f)(this[a](),this[o](),this,l)},this[l]=function(){var t=c.read(arguments);this[h](t.x),this[u](t.y)}},{beans:!0})),v=g.extend({initialize:function(t,e,i,n,r,s){this._set(t,e,i,n,!0),this._owner=r,this._setter=s},_set:function(t,e,i,n,r){return this._x=t,this._y=e,this._width=i,this._height=n,r||this._owner[this._setter](this),this}},new function(){var t=g.prototype;return r.each(["x","y","width","height"],function(t){var e=r.capitalize(t),i="_"+t;this["get"+e]=function(){return this[i]},this["set"+e]=function(t){this[i]=t,this._dontNotify||this._owner[this._setter](this)}},r.each(["Point","Size","Center","Left","Top","Right","Bottom","CenterX","CenterY","TopLeft","TopRight","BottomLeft","BottomRight","LeftCenter","TopCenter","RightCenter","BottomCenter"],function(e){var i="set"+e;this[i]=function(){this._dontNotify=!0,t[i].apply(this,arguments),this._dontNotify=!1,this._owner[this._setter](this)}},{isSelected:function(){return!!(2&this._owner._selection)},setSelected:function(t){var e=this._owner;e._changeSelection&&e._changeSelection(2,t)}}))}),p=r.extend({_class:"Matrix",initialize:function t(e,i){var n=arguments.length,r=!0;if(n>=6?this._set.apply(this,arguments):1===n||2===n?e instanceof t?this._set(e._a,e._b,e._c,e._d,e._tx,e._ty,i):Array.isArray(e)?this._set.apply(this,i?e.concat([i]):e):r=!1:n?r=!1:this.reset(),!r)throw new Error("Unsupported matrix parameters");return this},set:"#initialize",_set:function(t,e,i,n,r,s,a){return this._a=t,this._b=e,this._c=i,this._d=n,this._tx=r,this._ty=s,a||this._changed(),this},_serialize:function(t,e){return r.serialize(this.getValues(),t,!0,e)},_changed:function(){var t=this._owner;t&&(t._applyMatrix?t.transform(null,!0):t._changed(9))},clone:function(){return new p(this._a,this._b,this._c,this._d,this._tx,this._ty)},equals:function(t){return t===this||t&&this._a===t._a&&this._b===t._b&&this._c===t._c&&this._d===t._d&&this._tx===t._tx&&this._ty===t._ty},toString:function(){var t=h.instance;return"[["+[t.number(this._a),t.number(this._c),t.number(this._tx)].join(", ")+"], ["+[t.number(this._b),t.number(this._d),t.number(this._ty)].join(", ")+"]]"},reset:function(t){return this._a=this._d=1,this._b=this._c=this._tx=this._ty=0,t||this._changed(),this},apply:function(t,e){var i=this._owner;return!!i&&(i.transform(null,!0,r.pick(t,!0),e),this.isIdentity())},translate:function(){var t=c.read(arguments),e=t.x,i=t.y;return this._tx+=e*this._a+i*this._c,this._ty+=e*this._b+i*this._d,this._changed(),this},scale:function(){var t=c.read(arguments),e=c.read(arguments,0,{readNull:!0});return e&&this.translate(e),this._a*=t.x,this._b*=t.x,this._c*=t.y,this._d*=t.y,e&&this.translate(e.negate()),this._changed(),this},rotate:function(t){t*=Math.PI/180;var e=c.read(arguments,1),i=e.x,n=e.y,r=Math.cos(t),s=Math.sin(t),a=i-i*r+n*s,o=n-i*s-n*r,h=this._a,u=this._b,l=this._c,f=this._d;return this._a=r*h+s*l,this._b=r*u+s*f,this._c=-s*h+r*l,this._d=-s*u+r*f,this._tx+=a*h+o*l,this._ty+=a*u+o*f,this._changed(),this},shear:function(){var t=c.read(arguments),e=c.read(arguments,0,{readNull:!0});e&&this.translate(e);var i=this._a,n=this._b;return this._a+=t.y*this._c,this._b+=t.y*this._d,this._c+=t.x*i,this._d+=t.x*n,e&&this.translate(e.negate()),this._changed(),this},skew:function(){var t=c.read(arguments),e=c.read(arguments,0,{readNull:!0}),i=Math.PI/180,n=new c(Math.tan(t.x*i),Math.tan(t.y*i));return this.shear(n,e)},append:function(t,e){if(t){var i=this._a,n=this._b,r=this._c,s=this._d,a=t._a,o=t._c,h=t._b,u=t._d,l=t._tx,c=t._ty;this._a=a*i+h*r,this._c=o*i+u*r,this._b=a*n+h*s,this._d=o*n+u*s,this._tx+=l*i+c*r,this._ty+=l*n+c*s,e||this._changed()}return this},prepend:function(t,e){if(t){var i=this._a,n=this._b,r=this._c,s=this._d,a=this._tx,o=this._ty,h=t._a,u=t._c,l=t._b,c=t._d,f=t._tx,d=t._ty;this._a=h*i+u*n,this._c=h*r+u*s,this._b=l*i+c*n,this._d=l*r+c*s,this._tx=h*a+u*o+f,this._ty=l*a+c*o+d,e||this._changed()}return this},appended:function(t){return this.clone().append(t)},prepended:function(t){return this.clone().prepend(t)},invert:function(){var t=this._a,e=this._b,i=this._c,n=this._d,r=this._tx,s=this._ty,a=t*n-e*i,o=null;return a&&!isNaN(a)&&isFinite(r)&&isFinite(s)&&(this._a=n/a,this._b=-e/a,this._c=-i/a,this._d=t/a,this._tx=(i*s-n*r)/a,this._ty=(e*r-t*s)/a,o=this),o},inverted:function(){return this.clone().invert()},concatenate:"#append",preConcatenate:"#prepend",chain:"#appended",_shiftless:function(){return new p(this._a,this._b,this._c,this._d,0,0)},_orNullIfIdentity:function(){return this.isIdentity()?null:this},isIdentity:function(){return 1===this._a&&0===this._b&&0===this._c&&1===this._d&&0===this._tx&&0===this._ty},isInvertible:function(){var t=this._a*this._d-this._c*this._b;return t&&!isNaN(t)&&isFinite(this._tx)&&isFinite(this._ty)},isSingular:function(){return!this.isInvertible()},transform:function(t,e,i){return arguments.length<3?this._transformPoint(c.read(arguments)):this._transformCoordinates(t,e,i)},_transformPoint:function(t,e,i){var n=t.x,r=t.y;return e||(e=new c),e._set(n*this._a+r*this._c+this._tx,n*this._b+r*this._d+this._ty,i)},_transformCoordinates:function(t,e,i){for(var n=0,r=2*i;n<r;n+=2){var s=t[n],a=t[n+1];e[n]=s*this._a+a*this._c+this._tx,e[n+1]=s*this._b+a*this._d+this._ty}return e},_transformCorners:function(t){var e=t.x,i=t.y,n=e+t.width,r=i+t.height,s=[e,i,n,i,n,r,e,r];return this._transformCoordinates(s,s,4)},_transformBounds:function(t,e,i){for(var n=this._transformCorners(t),r=n.slice(0,2),s=r.slice(),a=2;a<8;a++){var o=n[a],h=1&a;o<r[h]?r[h]=o:o>s[h]&&(s[h]=o)}return e||(e=new g),e._set(r[0],r[1],s[0]-r[0],s[1]-r[1],i)},inverseTransform:function(){return this._inverseTransform(c.read(arguments))},_inverseTransform:function(t,e,i){var n=this._a,r=this._b,s=this._c,a=this._d,o=this._tx,h=this._ty,u=n*a-r*s,l=null;if(u&&!isNaN(u)&&isFinite(o)&&isFinite(h)){var f=t.x-this._tx,d=t.y-this._ty;e||(e=new c),l=e._set((f*a-d*s)/u,(d*n-f*r)/u,i)}return l},decompose:function(){var t,e,i,n=this._a,r=this._b,s=this._c,a=this._d,o=n*a-r*s,h=Math.sqrt,u=Math.atan2,l=180/Math.PI;if(0!==n||0!==r){var f=h(n*n+r*r);t=Math.acos(n/f)*(r>0?1:-1),e=[f,o/f],i=[u(n*s+r*a,f*f),0]}else if(0!==s||0!==a){var d=h(s*s+a*a);t=Math.asin(s/d)*(a>0?1:-1),e=[o/d,d],i=[0,u(n*s+r*a,d*d)]}else t=0,i=e=[0,0];return{translation:this.getTranslation(),rotation:t*l,scaling:new c(e),skewing:new c(i[0]*l,i[1]*l)}},getValues:function(){return[this._a,this._b,this._c,this._d,this._tx,this._ty]},getTranslation:function(){return new c(this._tx,this._ty)},getScaling:function(){return(this.decompose()||{}).scaling},getRotation:function(){return(this.decompose()||{}).rotation},applyToContext:function(t){this.isIdentity()||t.transform(this._a,this._b,this._c,this._d,this._tx,this._ty)}},r.each(["a","b","c","d","tx","ty"],function(t){var e=r.capitalize(t),i="_"+t;this["get"+e]=function(){return this[i]},this["set"+e]=function(t){this[i]=t,this._changed()}},{})),m=r.extend({_class:"Line",initialize:function(t,e,i,n,r){var s=!1;arguments.length>=4?(this._px=t,this._py=e,this._vx=i,this._vy=n,s=r):(this._px=t.x,this._py=t.y,this._vx=e.x,this._vy=e.y,s=i),s||(this._vx-=this._px,this._vy-=this._py)},getPoint:function(){return new c(this._px,this._py)},getVector:function(){return new c(this._vx,this._vy)},getLength:function(){return this.getVector().getLength()},intersect:function(t,e){return m.intersect(this._px,this._py,this._vx,this._vy,t._px,t._py,t._vx,t._vy,!0,e)},getSide:function(t,e){return m.getSide(this._px,this._py,this._vx,this._vy,t.x,t.y,!0,e)},getDistance:function(t){return Math.abs(this.getSignedDistance(t))},getSignedDistance:function(t){return m.getSignedDistance(this._px,this._py,this._vx,this._vy,t.x,t.y,!0)},isCollinear:function(t){return c.isCollinear(this._vx,this._vy,t._vx,t._vy)},isOrthogonal:function(t){return c.isOrthogonal(this._vx,this._vy,t._vx,t._vy)},statics:{intersect:function(t,e,i,n,r,s,a,o,h,l){h||(i-=t,n-=e,a-=r,o-=s);var f=i*o-n*a;if(!u.isZero(f)){var d=t-r,_=e-s,g=(a*_-o*d)/f,v=(i*_-n*d)/f;if(l||-1e-12<g&&g<1+1e-12&&-1e-12<v&&v<1+1e-12)return l||(g=g<=0?0:g>=1?1:g),new c(t+g*i,e+g*n)}},getSide:function(t,e,i,n,r,s,a,o){a||(i-=t,n-=e);var h=r-t,l=h*n-(s-e)*i;return!o&&u.isZero(l)&&(l=(h*i+h*i)/(i*i+n*n))>=0&&l<=1&&(l=0),l<0?-1:l>0?1:0},getSignedDistance:function(t,e,i,n,r,s,a){return a||(i-=t,n-=e),0===i?n>0?r-t:t-r:0===n?i<0?s-e:e-s:((r-t)*n-(s-e)*i)/Math.sqrt(i*i+n*n)},getDistance:function(t,e,i,n,r,s,a){return Math.abs(m.getSignedDistance(t,e,i,n,r,s,a))}}}),y=o.extend({_class:"Project",_list:"projects",_reference:"project",_compactSerialize:!0,initialize:function(t){o.call(this,!0),this._children=[],this._namedChildren={},this._activeLayer=null,this._currentStyle=new V(null,null,this),this._view=U.create(this,t||Q.getCanvas(1,1)),this._selectionItems={},this._selectionCount=0,this._updateVersion=0},_serialize:function(t,e){return r.serialize(this._children,t,!0,e)},_changed:function(t,e){if(1&t){var i=this._view;i&&(i._needsUpdate=!0,!i._requested&&i._autoUpdate&&i.requestUpdate())}var n=this._changes;if(n&&e){var r=this._changesById,s=e._id,a=r[s];a?a.flags|=t:n.push(r[s]={item:e,flags:t})}},clear:function(){for(var t=this._children,e=t.length-1;e>=0;e--)t[e].remove()},isEmpty:function(){return!this._children.length},remove:function t(){return!!t.base.call(this)&&(this._view&&this._view.remove(),!0)},getView:function(){return this._view},getCurrentStyle:function(){return this._currentStyle},setCurrentStyle:function(t){this._currentStyle.set(t)},getIndex:function(){return this._index},getOptions:function(){return this._scope.settings},getLayers:function(){return this._children},getActiveLayer:function(){return this._activeLayer||new b({project:this,insert:!0})},getSymbolDefinitions:function(){var t=[],e={};return this.getItems({class:P,match:function(i){var n=i._definition,r=n._id;return e[r]||(e[r]=!0,t.push(n)),!1}}),t},getSymbols:"getSymbolDefinitions",getSelectedItems:function(){var t=this._selectionItems,e=[];for(var i in t){var n=t[i],r=n._selection;1&r&&n.isInserted()?e.push(n):r||this._updateSelection(n)}return e},_updateSelection:function(t){var e=t._id,i=this._selectionItems;t._selection?i[e]!==t&&(this._selectionCount++,i[e]=t):i[e]===t&&(this._selectionCount--,delete i[e])},selectAll:function(){for(var t=this._children,e=0,i=t.length;e<i;e++)t[e].setFullySelected(!0)},deselectAll:function(){var t=this._selectionItems;for(var e in t)t[e].setFullySelected(!1)},addLayer:function(t){return this.insertLayer(e,t)},insertLayer:function(t,e){if(e instanceof b){e._remove(!1,!0),r.splice(this._children,[e],t,0),e._setProject(this,!0);var i=e._name;i&&e.setName(i),this._changes&&e._changed(5),this._activeLayer||(this._activeLayer=e)}else e=null;return e},_insertItem:function(t,i,n){return i=this.insertLayer(t,i)||(this._activeLayer||this._insertItem(e,new b(w.NO_INSERT),!0)).insertChild(t,i),n&&i.activate&&i.activate(),i},getItems:function(t){return w._getItems(this,t)},getItem:function(t){return w._getItems(this,t,null,null,!0)[0]||null},importJSON:function(t){this.activate();var e=this._activeLayer;return r.importJSON(t,e&&e.isEmpty()&&e)},removeOn:function(t){var e=this._removeSets;if(e){"mouseup"===t&&(e.mousedrag=null);var i=e[t];if(i){for(var n in i){var r=i[n];for(var s in e){var a=e[s];a&&a!=i&&delete a[r._id]}r.remove()}e[t]=null}}},draw:function(t,e,i){this._updateVersion++,t.save(),e.applyToContext(t);for(var n=this._children,s=new r({offset:new c(0,0),pixelRatio:i,viewMatrix:e.isIdentity()?null:e,matrices:[new p],updateMatrix:!0}),a=0,o=n.length;a<o;a++)n[a].draw(t,s);if(t.restore(),this._selectionCount>0){t.save(),t.strokeWidth=1;var h=this._selectionItems,u=this._scope.settings.handleSize,l=this._updateVersion;for(var f in h)h[f]._drawSelection(t,e,u,h,l);t.restore()}}}),w=r.extend(s,{statics:{extend:function t(e){return e._serializeFields&&(e._serializeFields=r.set({},this.prototype._serializeFields,e._serializeFields)),t.base.apply(this,arguments)},NO_INSERT:{insert:!1}},_class:"Item",_name:null,_applyMatrix:!0,_canApplyMatrix:!0,_canScaleStroke:!1,_pivot:null,_visible:!0,_blendMode:"normal",_opacity:1,_locked:!1,_guide:!1,_clipMask:!1,_selection:0,_selectBounds:!0,_selectChildren:!1,_serializeFields:{name:null,applyMatrix:null,matrix:new p,pivot:null,visible:!0,blendMode:"normal",opacity:1,locked:!1,guide:!1,clipMask:!1,selected:!1,data:{}},_prioritize:["applyMatrix"]},new function(){var t=["onMouseDown","onMouseUp","onMouseDrag","onClick","onDoubleClick","onMouseMove","onMouseEnter","onMouseLeave"];return r.each(t,function(t){this._events[t]={install:function(t){this.getView()._countItemEvent(t,1)},uninstall:function(t){this.getView()._countItemEvent(t,-1)}}},{_events:{onFrame:{install:function(){this.getView()._animateItem(this,!0)},uninstall:function(){this.getView()._animateItem(this,!1)}},onLoad:{},onError:{}},statics:{_itemHandlers:t}})},{initialize:function(){},_initialize:function(t,i){var n=t&&r.isPlainObject(t),s=n&&!0===t.internal,a=this._matrix=new p,o=n&&t.project||paper.project,h=paper.settings;return this._id=s?null:l.get(),this._parent=this._index=null,this._applyMatrix=this._canApplyMatrix&&h.applyMatrix,i&&a.translate(i),a._owner=this,this._style=new V(o._currentStyle,this,o),s||n&&0==t.insert||!h.insertItems&&(!n||!0!==t.insert)?this._setProject(o):(n&&t.parent||o)._insertItem(e,this,!0),n&&t!==w.NO_INSERT&&this.set(t,{internal:!0,insert:!0,project:!0,parent:!0}),n},_serialize:function(t,e){function i(i){for(var a in i){var o=s[a];r.equals(o,"leading"===a?1.2*i.fontSize:i[a])||(n[a]=r.serialize(o,t,"data"!==a,e))}}var n={},s=this;return i(this._serializeFields),this instanceof x||i(this._style._defaults),[this._class,n]},_changed:function(t){var i=this._symbol,n=this._parent||i,r=this._project;8&t&&(this._bounds=this._position=this._decomposed=this._globalMatrix=e),n&&40&t&&w._clearBoundsCache(n),2&t&&w._clearBoundsCache(this),r&&r._changed(t,this),i&&i._changed(t)},getId:function(){return this._id},getName:function(){return this._name},setName:function(t){if(this._name&&this._removeNamed(),t===+t+"")throw new Error("Names consisting only of numbers are not supported.");var i=this._getOwner();if(t&&i){var n=i._children,r=i._namedChildren;(r[t]=r[t]||[]).push(this),t in n||(n[t]=this)}this._name=t||e,this._changed(128)},getStyle:function(){return this._style},setStyle:function(t){this.getStyle().set(t)}},r.each(["locked","visible","blendMode","opacity","guide"],function(t){var e=r.capitalize(t),i="_"+t,n={locked:128,visible:137};this["get"+e]=function(){return this[i]},this["set"+e]=function(e){e!=this[i]&&(this[i]=e,this._changed(n[t]||129))}},{}),{beans:!0,getSelection:function(){return this._selection},setSelection:function(t){if(t!==this._selection){this._selection=t;var e=this._project;e&&(e._updateSelection(this),this._changed(129))}},_changeSelection:function(t,e){var i=this._selection;this.setSelection(e?i|t:i&~t)},isSelected:function(){if(this._selectChildren)for(var t=this._children,e=0,i=t.length;e<i;e++)if(t[e].isSelected())return!0;return!!(1&this._selection)},setSelected:function(t){if(this._selectChildren)for(var e=this._children,i=0,n=e.length;i<n;i++)e[i].setSelected(t);this._changeSelection(1,t)},isFullySelected:function(){var t=this._children,e=!!(1&this._selection);if(t&&e){for(var i=0,n=t.length;i<n;i++)if(!t[i].isFullySelected())return!1;return!0}return e},setFullySelected:function(t){var e=this._children;if(e)for(var i=0,n=e.length;i<n;i++)e[i].setFullySelected(t);this._changeSelection(1,t)},isClipMask:function(){return this._clipMask},setClipMask:function(t){this._clipMask!=(t=!!t)&&(this._clipMask=t,t&&(this.setFillColor(null),this.setStrokeColor(null)),this._changed(129),this._parent&&this._parent._changed(1024))},getData:function(){return this._data||(this._data={}),this._data},setData:function(t){this._data=t},getPosition:function(t){var e=this._position,i=t?c:f;if(!e){var n=this._pivot;e=this._position=n?this._matrix._transformPoint(n):this.getBounds().getCenter(!0)}return new i(e.x,e.y,this,"setPosition")},setPosition:function(){this.translate(c.read(arguments).subtract(this.getPosition(!0)))},getPivot:function(){var t=this._pivot;return t?new f(t.x,t.y,this,"setPivot"):null},setPivot:function(){this._pivot=c.read(arguments,0,{clone:!0,readNull:!0}),this._position=e}},r.each({getStrokeBounds:{stroke:!0},getHandleBounds:{handle:!0},getInternalBounds:{internal:!0}},function(t,e){this[e]=function(e){return this.getBounds(e,t)}},{beans:!0,getBounds:function(t,e){var i=e||t instanceof p,n=r.set({},i?e:t,this._boundsOptions);n.stroke&&!this.getStrokeScaling()||(n.cacheItem=this);var s=this._getCachedBounds(i&&t,n).rect;return arguments.length?s:new v(s.x,s.y,s.width,s.height,this,"setBounds")},setBounds:function(){var t=g.read(arguments),e=this.getBounds(),i=this._matrix,n=new p,r=t.getCenter();n.translate(r),t.width==e.width&&t.height==e.height||(i.isInvertible()||(i.set(i._backup||(new p).translate(i.getTranslation())),e=this.getBounds()),n.scale(0!==e.width?t.width/e.width:0,0!==e.height?t.height/e.height:0)),r=e.getCenter(),n.translate(-r.x,-r.y),this.transform(n)},_getBounds:function(t,e){var i=this._children;return i&&i.length?(w._updateBoundsCache(this,e.cacheItem),w._getBounds(i,t,e)):new g},_getBoundsCacheKey:function(t,e){return[t.stroke?1:0,t.handle?1:0,e?1:0].join("")},_getCachedBounds:function(t,e,i){t=t&&t._orNullIfIdentity();var n=e.internal&&!i,r=e.cacheItem,s=n?null:this._matrix._orNullIfIdentity(),a=r&&(!t||t.equals(s))&&this._getBoundsCacheKey(e,n),o=this._bounds;if(w._updateBoundsCache(this._parent||this._symbol,r),a&&o&&a in o)return{rect:(f=o[a]).rect.clone(),nonscaling:f.nonscaling};var h=this._getBounds(t||s,e),u=h.rect||h,l=this._style,c=h.nonscaling||l.hasStroke()&&!l.getStrokeScaling();if(a){o||(this._bounds=o={});var f=o[a]={rect:u.clone(),nonscaling:c,internal:n}}return{rect:u,nonscaling:c}},_getStrokeMatrix:function(t,e){var i=this.getStrokeScaling()?null:e&&e.internal?this:this._parent||this._symbol&&this._symbol._item,n=i?i.getViewMatrix().invert():t;return n&&n._shiftless()},statics:{_updateBoundsCache:function(t,e){if(t&&e){var i=e._id,n=t._boundsCache=t._boundsCache||{ids:{},list:[]};n.ids[i]||(n.list.push(e),n.ids[i]=e)}},_clearBoundsCache:function(t){var i=t._boundsCache;if(i){t._bounds=t._position=t._boundsCache=e;for(var n=0,r=i.list,s=r.length;n<s;n++){var a=r[n];a!==t&&(a._bounds=a._position=e,a._boundsCache&&w._clearBoundsCache(a))}}},_getBounds:function(t,e,i){var n=1/0,r=-n,s=n,a=r,o=!1;i=i||{};for(var h=0,u=t.length;h<u;h++){var l=t[h];if(l._visible&&!l.isEmpty()){var c=l._getCachedBounds(e&&e.appended(l._matrix),i,!0),f=c.rect;n=Math.min(f.x,n),s=Math.min(f.y,s),r=Math.max(f.x+f.width,r),a=Math.max(f.y+f.height,a),c.nonscaling&&(o=!0)}}return{rect:isFinite(n)?new g(n,s,r-n,a-s):new g,nonscaling:o}}}}),{beans:!0,_decompose:function(){return this._applyMatrix?null:this._decomposed||(this._decomposed=this._matrix.decompose())},getRotation:function(){var t=this._decompose();return t?t.rotation:0},setRotation:function(t){var e=this.getRotation();if(null!=e&&null!=t){var i=this._decomposed;this.rotate(t-e),i&&(i.rotation=t,this._decomposed=i)}},getScaling:function(){var t=this._decompose(),e=t&&t.scaling;return new f(e?e.x:1,e?e.y:1,this,"setScaling")},setScaling:function(){var t=this.getScaling(),e=c.read(arguments,0,{clone:!0,readNull:!0});if(t&&e&&!t.equals(e)){var i=this.getRotation(),n=this._decomposed,r=new p,s=this.getPosition(!0);r.translate(s),i&&r.rotate(i),r.scale(e.x/t.x,e.y/t.y),i&&r.rotate(-i),r.translate(s.negate()),this.transform(r),n&&(n.scaling=e,this._decomposed=n)}},getMatrix:function(){return this._matrix},setMatrix:function(){var t=this._matrix;t.initialize.apply(t,arguments)},getGlobalMatrix:function(t){var e=this._globalMatrix,i=this._project._updateVersion;if(e&&e._updateVersion!==i&&(e=null),!e){e=this._globalMatrix=this._matrix.clone();var n=this._parent;n&&e.prepend(n.getGlobalMatrix(!0)),e._updateVersion=i}return t?e:e.clone()},getViewMatrix:function(){return this.getGlobalMatrix().prepend(this.getView()._matrix)},getApplyMatrix:function(){return this._applyMatrix},setApplyMatrix:function(t){(this._applyMatrix=this._canApplyMatrix&&!!t)&&this.transform(null,!0)},getTransformContent:"#getApplyMatrix",setTransformContent:"#setApplyMatrix"},{getProject:function(){return this._project},_setProject:function(t,e){if(this._project!==t){this._project&&this._installEvents(!1),this._project=t;for(var i=this._children,n=0,r=i&&i.length;n<r;n++)i[n]._setProject(t);e=!0}e&&this._installEvents(!0)},getView:function(){return this._project._view},_installEvents:function t(e){t.base.call(this,e);for(var i=this._children,n=0,r=i&&i.length;n<r;n++)i[n]._installEvents(e)},getLayer:function(){for(var t=this;t=t._parent;)if(t instanceof b)return t;return null},getParent:function(){return this._parent},setParent:function(t){return t.addChild(this)},_getOwner:"#getParent",getChildren:function(){return this._children},setChildren:function(t){this.removeChildren(),this.addChildren(t)},getFirstChild:function(){return this._children&&this._children[0]||null},getLastChild:function(){return this._children&&this._children[this._children.length-1]||null},getNextSibling:function(){var t=this._getOwner();return t&&t._children[this._index+1]||null},getPreviousSibling:function(){var t=this._getOwner();return t&&t._children[this._index-1]||null},getIndex:function(){return this._index},equals:function(t){return t===this||t&&this._class===t._class&&this._style.equals(t._style)&&this._matrix.equals(t._matrix)&&this._locked===t._locked&&this._visible===t._visible&&this._blendMode===t._blendMode&&this._opacity===t._opacity&&this._clipMask===t._clipMask&&this._guide===t._guide&&this._equals(t)||!1},_equals:function(t){return r.equals(this._children,t._children)},clone:function(t){var i=new this.constructor(w.NO_INSERT),n=this._children,s=r.pick(t?t.insert:e,t===e||!0===t),a=r.pick(t?t.deep:e,!0);n&&i.copyAttributes(this),n&&!a||i.copyContent(this),n||i.copyAttributes(this),s&&i.insertAbove(this);var o=this._name,h=this._parent;if(o&&h){for(var n=h._children,u=o,l=1;n[o];)o=u+" "+l++;o!==u&&i.setName(o)}return i},copyContent:function(t){for(var e=t._children,i=0,n=e&&e.length;i<n;i++)this.addChild(e[i].clone(!1),!0)},copyAttributes:function(t,e){this.setStyle(t._style);for(var i=["_locked","_visible","_blendMode","_opacity","_clipMask","_guide"],n=0,s=i.length;n<s;n++){var a=i[n];t.hasOwnProperty(a)&&(this[a]=t[a])}e||this._matrix.set(t._matrix,!0),this.setApplyMatrix(t._applyMatrix),this.setPivot(t._pivot),this.setSelection(t._selection);var o=t._data,h=t._name;this._data=o?r.clone(o):null,h&&this.setName(h)},rasterize:function(t,i){var n=this.getStrokeBounds(),s=(t||this.getView().getResolution())/72,a=n.getTopLeft().floor(),o=n.getBottomRight().ceil(),h=new d(o.subtract(a)),u=new S(w.NO_INSERT);if(!h.isZero()){var l=Q.getCanvas(h.multiply(s)),c=l.getContext("2d"),f=(new p).scale(s).translate(a.negate());c.save(),f.applyToContext(c),this.draw(c,new r({matrices:[f]})),c.restore(),u.setCanvas(l)}return u.transform((new p).translate(a.add(h.divide(2))).scale(1/s)),(i===e||i)&&u.insertAbove(this),u},contains:function(){return!!this._contains(this._matrix._inverseTransform(c.read(arguments)))},_contains:function(t){var e=this._children;if(e){for(var i=e.length-1;i>=0;i--)if(e[i].contains(t))return!0;return!1}return t.isInside(this.getInternalBounds())},isInside:function(){return g.read(arguments).contains(this.getBounds())},_asPathItem:function(){return new L.Rectangle({rectangle:this.getInternalBounds(),matrix:this._matrix,insert:!1})},intersects:function(t,e){return t instanceof w&&this._asPathItem().getIntersections(t._asPathItem(),null,e,!0).length>0}},new function(){function t(){return this._hitTest(c.read(arguments),M.getOptions(arguments))}function e(){var t=c.read(arguments),e=M.getOptions(arguments),i=[];return this._hitTest(t,r.set({all:i},e)),i}function i(t,e,i,n){var r=this._children;if(r)for(var s=r.length-1;s>=0;s--){var a=r[s],o=a!==n&&a._hitTest(t,e,i);if(o&&!e.all)return o}return null}return y.inject({hitTest:t,hitTestAll:e,_hitTest:i}),{hitTest:t,hitTestAll:e,_hitTestChildren:i}},{_hitTest:function(t,e,i){function n(t){return t&&_&&!_(t)&&(t=null),t&&e.all&&e.all.push(t),t}function s(e,i){var n=i?l["get"+i]():g.getPosition();if(t.subtract(n).divide(u).length<=1)return new M(e,g,{name:i?r.hyphenate(i):e,point:n})}if(this._locked||!this._visible||this._guide&&!e.guides||this.isEmpty())return null;var a=this._matrix,o=i?i.appended(a):this.getGlobalMatrix().prepend(this.getView()._matrix),h=Math.max(e.tolerance,1e-12),u=e._tolerancePadding=new d(L._getStrokePadding(h,a._shiftless().invert()));if(!(t=a._inverseTransform(t))||!this._children&&!this.getBounds({internal:!0,stroke:!0,handle:!0}).expand(u.multiply(2))._containsPoint(t))return null;var l,c,f=!(e.guides&&!this._guide||e.selected&&!this.isSelected()||e.type&&e.type!==r.hyphenate(this._class)||e.class&&!(this instanceof e.class)),_=e.match,g=this,v=e.position,p=e.center,m=e.bounds;if(f&&this._parent&&(v||p||m)){if((p||m)&&(l=this.getInternalBounds()),!(c=v&&s("position")||p&&s("center","Center"))&&m)for(var y=["TopLeft","TopRight","BottomLeft","BottomRight","LeftCenter","TopCenter","RightCenter","BottomCenter"],w=0;w<8&&!c;w++)c=s("bounds",y[w]);c=n(c)}return c||(c=this._hitTestChildren(t,e,o)||f&&n(this._hitTestSelf(t,e,o,this.getStrokeScaling()?null:o._shiftless().invert()))||null),c&&c.point&&(c.point=a.transform(c.point)),c},_hitTestSelf:function(t,e){if(e.fill&&this.hasFill()&&this._contains(t))return new M("fill",this)},matches:function(t,e){function i(t,e){for(var n in t)if(t.hasOwnProperty(n)){var s=t[n],a=e[n];if(r.isPlainObject(s)&&r.isPlainObject(a)){if(!i(s,a))return!1}else if(!r.equals(s,a))return!1}return!0}var n=typeof t;if("object"===n){for(var s in t)if(t.hasOwnProperty(s)&&!this.matches(s,t[s]))return!1;return!0}if("function"===n)return t(this);if("match"===t)return e(this);var a=/^(empty|editable)$/.test(t)?this["is"+r.capitalize(t)]():"type"===t?r.hyphenate(this._class):this[t];if("class"===t){if("function"==typeof e)return this instanceof e;a=this._class}if("function"==typeof e)return!!e(a);if(e){if(e.test)return e.test(a);if(r.isPlainObject(e))return i(e,a)}return r.equals(a,e)},getItems:function(t){return w._getItems(this,t,this._matrix)},getItem:function(t){return w._getItems(this,t,this._matrix,null,!0)[0]||null},statics:{_getItems:function t(e,i,n,s,a){if(!s){var o="object"==typeof i&&i,h=o&&o.overlapping,u=o&&o.inside,l=(w=h||u)&&g.read([w]);s={items:[],recursive:o&&!1!==o.recursive,inside:!!u,overlapping:!!h,rect:l,path:h&&new L.Rectangle({rectangle:l,insert:!1})},o&&(i=r.filter({},i,{recursive:!0,inside:!0,overlapping:!0}))}var c=e._children,f=s.items;n=(l=s.rect)&&(n||new p);for(var d=0,_=c&&c.length;d<_;d++){var v=c[d],m=n&&n.appended(v._matrix),y=!0;if(l){var w=v.getBounds(m);if(!l.intersects(w))continue;l.contains(w)||s.overlapping&&(w.contains(l)||s.path.intersects(v,m))||(y=!1)}if(y&&v.matches(i)&&(f.push(v),a))break;if(!1!==s.recursive&&t(v,i,m,s,a),a&&f.length>0)break}return f}}},{importJSON:function(t){var e=r.importJSON(t,this);return e!==this?this.addChild(e):e},addChild:function(t){return this.insertChild(e,t)},insertChild:function(t,e){var i=e?this.insertChildren(t,[e]):null;return i&&i[0]},addChildren:function(t){return this.insertChildren(this._children.length,t)},insertChildren:function(t,e){var i=this._children;if(i&&e&&e.length>0){for(var n={},s=(e=r.slice(e)).length-1;s>=0;s--){var a=(l=e[s])&&l._id;!l||n[a]?e.splice(s,1):(l._remove(!1,!0),n[a]=!0)}r.splice(i,e,t,0);for(var o=this._project,h=o._changes,s=0,u=e.length;s<u;s++){var l=e[s],c=l._name;l._parent=this,l._setProject(o,!0),c&&l.setName(c),h&&l._changed(5)}this._changed(11)}else e=null;return e},_insertItem:"#insertChild",_insertAt:function(t,e){var i=t&&t._getOwner(),n=t!==this&&i?this:null;return n&&(n._remove(!1,!0),i._insertItem(t._index+e,n)),n},insertAbove:function(t){return this._insertAt(t,1)},insertBelow:function(t){return this._insertAt(t,0)},sendToBack:function(){var t=this._getOwner();return t?t._insertItem(0,this):null},bringToFront:function(){var t=this._getOwner();return t?t._insertItem(e,this):null},appendTop:"#addChild",appendBottom:function(t){return this.insertChild(0,t)},moveAbove:"#insertAbove",moveBelow:"#insertBelow",addTo:function(t){return t._insertItem(e,this)},copyTo:function(t){return this.clone(!1).addTo(t)},reduce:function(t){var e=this._children;if(e&&1===e.length){var i=e[0].reduce(t);return this._parent?(i.insertAbove(this),this.remove()):i.remove(),i}return this},_removeNamed:function(){var t=this._getOwner();if(t){var e=t._children,i=t._namedChildren,n=this._name,r=i[n],s=r?r.indexOf(this):-1;-1!==s&&(e[n]==this&&delete e[n],r.splice(s,1),r.length?e[n]=r[0]:delete i[n])}},_remove:function(t,e){var i=this._getOwner(),n=this._project,s=this._index;return!!i&&(this._name&&this._removeNamed(),null!=s&&(n._activeLayer===this&&(n._activeLayer=this.getNextSibling()||this.getPreviousSibling()),r.splice(i._children,null,s,1)),this._installEvents(!1),t&&n._changes&&this._changed(5),e&&i._changed(11,this),this._parent=null,!0)},remove:function(){return this._remove(!0,!0)},replaceWith:function(t){var e=t&&t.insertBelow(this);return e&&this.remove(),e},removeChildren:function(t,e){if(!this._children)return null;t=t||0,e=r.pick(e,this._children.length);for(var i=r.splice(this._children,null,t,e-t),n=i.length-1;n>=0;n--)i[n]._remove(!0,!1);return i.length>0&&this._changed(11),i},clear:"#removeChildren",reverseChildren:function(){if(this._children){this._children.reverse();for(var t=0,e=this._children.length;t<e;t++)this._children[t]._index=t;this._changed(11)}},isEmpty:function(){var t=this._children;return!t||!t.length},isEditable:function(){for(var t=this;t;){if(!t._visible||t._locked)return!1;t=t._parent}return!0},hasFill:function(){return this.getStyle().hasFill()},hasStroke:function(){return this.getStyle().hasStroke()},hasShadow:function(){return this.getStyle().hasShadow()},_getOrder:function(t){function e(t){var e=[];do{e.unshift(t)}while(t=t._parent);return e}for(var i=e(this),n=e(t),r=0,s=Math.min(i.length,n.length);r<s;r++)if(i[r]!=n[r])return i[r]._index<n[r]._index?1:-1;return 0},hasChildren:function(){return this._children&&this._children.length>0},isInserted:function(){return!!this._parent&&this._parent.isInserted()},isAbove:function(t){return-1===this._getOrder(t)},isBelow:function(t){return 1===this._getOrder(t)},isParent:function(t){return this._parent===t},isChild:function(t){return t&&t._parent===this},isDescendant:function(t){for(var e=this;e=e._parent;)if(e===t)return!0;return!1},isAncestor:function(t){return!!t&&t.isDescendant(this)},isSibling:function(t){return this._parent===t._parent},isGroupedWith:function(t){for(var e=this._parent;e;){if(e._parent&&/^(Group|Layer|CompoundPath)$/.test(e._class)&&t.isDescendant(e))return!0;e=e._parent}return!1}},r.each(["rotate","scale","shear","skew"],function(t){var e="rotate"===t;this[t]=function(){var i=(e?r:c).read(arguments),n=c.read(arguments,0,{readNull:!0});return this.transform((new p)[t](i,n||this.getPosition(!0)))}},{translate:function(){var t=new p;return this.transform(t.translate.apply(t,arguments))},transform:function(t,e,i,n){var r=this._matrix,s=t&&!t.isIdentity(),a=(e||this._applyMatrix)&&(!r.isIdentity()||s||e&&i&&this._children);if(!s&&!a)return this;if(s){!t.isInvertible()&&r.isInvertible()&&(r._backup=r.getValues()),r.prepend(t,!0);var o=this._style,h=o.getFillColor(!0),u=o.getStrokeColor(!0);h&&h.transform(t),u&&u.transform(t)}if(a&&(a=this._transformContent(r,i,n))){var l=this._pivot;l&&r._transformPoint(l,l,!0),r.reset(!0),n&&this._canApplyMatrix&&(this._applyMatrix=!0)}var c=this._bounds,f=this._position;(s||a)&&this._changed(9);var d=s&&c&&t.decompose();if(d&&d.skewing.isZero()&&d.rotation%90==0){for(var _ in c){var g=c[_];if(g.nonscaling)delete c[_];else if(a||!g.internal){var v=g.rect;t._transformBounds(v,v)}}this._bounds=c;var p=c[this._getBoundsCacheKey(this._boundsOptions||{})];p&&(this._position=p.rect.getCenter(!0))}else s&&f&&this._pivot&&(this._position=t._transformPoint(f,f));return this},_transformContent:function(t,e,i){var n=this._children;if(n){for(var r=0,s=n.length;r<s;r++)n[r].transform(t,!0,e,i);return!0}},globalToLocal:function(){return this.getGlobalMatrix(!0)._inverseTransform(c.read(arguments))},localToGlobal:function(){return this.getGlobalMatrix(!0)._transformPoint(c.read(arguments))},parentToLocal:function(){return this._matrix._inverseTransform(c.read(arguments))},localToParent:function(){return this._matrix._transformPoint(c.read(arguments))},fitBounds:function(t,e){t=g.read(arguments);var i=this.getBounds(),n=i.height/i.width,r=t.height/t.width,s=(e?n>r:n<r)?t.width/i.width:t.height/i.height,a=new g(new c,new d(i.width*s,i.height*s));a.setCenter(t.getCenter()),this.setBounds(a)}}),{_setStyles:function(t,e,i){var n=this._style,r=this._matrix;if(n.hasFill()&&(t.fillStyle=n.getFillColor().toCanvasStyle(t,r)),n.hasStroke()){t.strokeStyle=n.getStrokeColor().toCanvasStyle(t,r),t.lineWidth=n.getStrokeWidth();var s=n.getStrokeJoin(),a=n.getStrokeCap(),o=n.getMiterLimit();if(s&&(t.lineJoin=s),a&&(t.lineCap=a),o&&(t.miterLimit=o),paper.support.nativeDash){var h=n.getDashArray(),u=n.getDashOffset();h&&h.length&&("setLineDash"in t?(t.setLineDash(h),t.lineDashOffset=u):(t.mozDash=h,t.mozDashOffset=u))}}if(n.hasShadow()){var l=e.pixelRatio||1,f=i._shiftless().prepend((new p).scale(l,l)),d=f.transform(new c(n.getShadowBlur(),0)),_=f.transform(this.getShadowOffset());t.shadowColor=n.getShadowColor().toCanvasStyle(t),t.shadowBlur=d.getLength(),t.shadowOffsetX=_.x,t.shadowOffsetY=_.y}},draw:function(t,e,i){var n=this._updateVersion=this._project._updateVersion;if(this._visible&&0!==this._opacity){var r=e.matrices,s=e.viewMatrix,a=this._matrix,o=r[r.length-1].appended(a);if(o.isInvertible()){s=s?s.appended(o):o,r.push(o),e.updateMatrix&&(o._updateVersion=n,this._globalMatrix=o);var h,u,l,c=this._blendMode,f=this._opacity,d="normal"===c,_=tt.nativeModes[c],g=d&&1===f||e.dontStart||e.clip||(_||d&&f<1)&&this._canComposite(),v=e.pixelRatio||1;if(!g){var p=this.getStrokeBounds(s);if(!p.width||!p.height)return;l=e.offset,u=e.offset=p.getTopLeft().floor(),h=t,t=Q.getContext(p.getSize().ceil().add(1).multiply(v)),1!==v&&t.scale(v,v)}t.save();var m=i?i.appended(a):this._canScaleStroke&&!this.getStrokeScaling(!0)&&s,y=!g&&e.clipItem,w=!m||y;if(g?(t.globalAlpha=f,_&&(t.globalCompositeOperation=c)):w&&t.translate(-u.x,-u.y),w&&(g?a:s).applyToContext(t),y&&e.clipItem.draw(t,e.extend({clip:!0})),m){t.setTransform(v,0,0,v,0,0);var x=e.offset;x&&t.translate(-x.x,-x.y)}this._draw(t,e,s,m),t.restore(),r.pop(),e.clip&&!e.dontFinish&&t.clip(),g||(tt.process(c,t,h,f,u.subtract(l).multiply(v)),Q.release(t),e.offset=l)}}},_isUpdated:function(t){var e=this._parent;if(e instanceof N)return e._isUpdated(t);var i=this._updateVersion===t;return!i&&e&&e._visible&&e._isUpdated(t)&&(this._updateVersion=t,i=!0),i},_drawSelection:function(t,e,i,n,r){var s=this._selection,a=1&s,o=2&s||a&&this._selectBounds,h=4&s;if(this._drawSelected||(a=!1),(a||o||h)&&this._isUpdated(r)){var u,l=this.getSelectedColor(!0)||(u=this.getLayer())&&u.getSelectedColor(!0),c=e.appended(this.getGlobalMatrix(!0)),f=i/2;if(t.strokeStyle=t.fillStyle=l?l.toCanvasStyle(t):"#009dec",a&&this._drawSelected(t,c,n),h){var d=this.getPosition(!0),_=d.x,g=d.y;t.beginPath(),t.arc(_,g,f,0,2*Math.PI,!0),t.stroke();for(var v=[[0,-1],[1,0],[0,1],[-1,0]],p=f,m=i+1,y=0;y<4;y++){var w=v[y],x=w[0],b=w[1];t.moveTo(_+x*p,g+b*p),t.lineTo(_+x*m,g+b*m),t.stroke()}}if(o){var C=c._transformCorners(this.getInternalBounds());t.beginPath();for(y=0;y<8;y++)t[y?"lineTo":"moveTo"](C[y],C[++y]);t.closePath(),t.stroke();for(y=0;y<8;y++)t.fillRect(C[y]-f,C[++y]-f,i,i)}}},_canComposite:function(){return!1}},r.each(["down","drag","up","move"],function(t){this["removeOn"+r.capitalize(t)]=function(){var e={};return e[t]=!0,this.removeOn(e)}},{removeOn:function(t){for(var e in t)if(t[e]){var i="mouse"+e,n=this._project,r=n._removeSets=n._removeSets||{};r[i]=r[i]||{},r[i][this._id]=this}return this}})),x=w.extend({_class:"Group",_selectBounds:!1,_selectChildren:!0,_serializeFields:{children:[]},initialize:function(t){this._children=[],this._namedChildren={},this._initialize(t)||this.addChildren(Array.isArray(t)?t:arguments)},_changed:function t(i){t.base.call(this,i),1026&i&&(this._clipItem=e)},_getClipItem:function(){var t=this._clipItem;if(t===e){t=null;for(var i=this._children,n=0,r=i.length;n<r;n++)if(i[n]._clipMask){t=i[n];break}this._clipItem=t}return t},isClipped:function(){return!!this._getClipItem()},setClipped:function(t){var e=this.getFirstChild();e&&e.setClipMask(t)},_getBounds:function t(e,i){var n=this._getClipItem();return n?n._getCachedBounds(e&&e.appended(n._matrix),r.set({},i,{stroke:!1})):t.base.call(this,e,i)},_hitTestChildren:function t(e,i,n){var r=this._getClipItem();return(!r||r.contains(e))&&t.base.call(this,e,i,n,r)},_draw:function(t,e){var i=e.clip,n=!i&&this._getClipItem();e=e.extend({clipItem:n,clip:!1}),i?(t.beginPath(),e.dontStart=e.dontFinish=!0):n&&n.draw(t,e.extend({clip:!0}));for(var r=this._children,s=0,a=r.length;s<a;s++){var o=r[s];o!==n&&o.draw(t,e)}}}),b=x.extend({_class:"Layer",initialize:function(){x.apply(this,arguments)},_getOwner:function(){return this._parent||null!=this._index&&this._project},isInserted:function t(){return this._parent?t.base.call(this):null!=this._index},activate:function(){this._project._activeLayer=this},_hitTestSelf:function(){}}),C=w.extend({_class:"Shape",_applyMatrix:!1,_canApplyMatrix:!1,_canScaleStroke:!0,_serializeFields:{type:null,size:null,radius:null},initialize:function(t,e){this._initialize(t,e)},_equals:function(t){return this._type===t._type&&this._size.equals(t._size)&&r.equals(this._radius,t._radius)},copyContent:function(t){this.setType(t._type),this.setSize(t._size),this.setRadius(t._radius)},getType:function(){return this._type},setType:function(t){this._type=t},getShape:"#getType",setShape:"#setType",getSize:function(){var t=this._size;return new _(t.width,t.height,this,"setSize")},setSize:function(){var t=d.read(arguments);if(this._size){if(!this._size.equals(t)){var e=this._type,i=t.width,n=t.height;"rectangle"===e?this._radius.set(d.min(this._radius,t.divide(2))):"circle"===e?(i=n=(i+n)/2,this._radius=i/2):"ellipse"===e&&this._radius._set(i/2,n/2),this._size._set(i,n),this._changed(9)}}else this._size=t.clone()},getRadius:function(){var t=this._radius;return"circle"===this._type?t:new _(t.width,t.height,this,"setRadius")},setRadius:function(t){var e=this._type;if("circle"===e){if(t===this._radius)return;i=2*t;this._radius=t,this._size._set(i,i)}else if(t=d.read(arguments),this._radius){if(this._radius.equals(t))return;if(this._radius.set(t),"rectangle"===e){var i=d.max(this._size,t.multiply(2));this._size.set(i)}else"ellipse"===e&&this._size._set(2*t.width,2*t.height)}else this._radius=t.clone();this._changed(9)},isEmpty:function(){return!1},toPath:function(t){var i=new(L[r.capitalize(this._type)])({center:new c,size:this._size,radius:this._radius,insert:!1});return i.copyAttributes(this),paper.settings.applyMatrix&&i.setApplyMatrix(!0),(t===e||t)&&i.insertAbove(this),i},toShape:"#clone",_asPathItem:function(){return this.toPath(!1)},_draw:function(t,e,i,n){var r=this._style,s=r.hasFill(),a=r.hasStroke(),o=e.dontFinish||e.clip,h=!n;if(s||a||o){var u=this._type,l=this._radius,c="circle"===u;if(e.dontStart||t.beginPath(),h&&c)t.arc(0,0,l,0,2*Math.PI,!0);else{var f=c?l:l.width,d=c?l:l.height,_=this._size,g=_.width,v=_.height;if(h&&"rectangle"===u&&0===f&&0===d)t.rect(-g/2,-v/2,g,v);else{var p=g/2,m=v/2,y=.44771525016920644,w=f*y,x=d*y,b=[-p,-m+d,-p,-m+x,-p+w,-m,-p+f,-m,p-f,-m,p-w,-m,p,-m+x,p,-m+d,p,m-d,p,m-x,p-w,m,p-f,m,-p+f,m,-p+w,m,-p,m-x,-p,m-d];n&&n.transform(b,b,32),t.moveTo(b[0],b[1]),t.bezierCurveTo(b[2],b[3],b[4],b[5],b[6],b[7]),p!==f&&t.lineTo(b[8],b[9]),t.bezierCurveTo(b[10],b[11],b[12],b[13],b[14],b[15]),m!==d&&t.lineTo(b[16],b[17]),t.bezierCurveTo(b[18],b[19],b[20],b[21],b[22],b[23]),p!==f&&t.lineTo(b[24],b[25]),t.bezierCurveTo(b[26],b[27],b[28],b[29],b[30],b[31])}}t.closePath()}o||!s&&!a||(this._setStyles(t,e,i),s&&(t.fill(r.getFillRule()),t.shadowColor="rgba(0,0,0,0)"),a&&t.stroke())},_canComposite:function(){return!(this.hasFill()&&this.hasStroke())},_getBounds:function(t,e){var i=new g(this._size).setCenter(0,0),n=this._style,r=e.stroke&&n.hasStroke()&&n.getStrokeWidth();return t&&(i=t._transformBounds(i)),r?i.expand(L._getStrokePadding(r,this._getStrokeMatrix(t,e))):i}},new function(){function t(t,e,i){var n=t._radius;if(!n.isZero())for(var r=t._size.divide(2),s=1;s<=4;s++){var a=new c(s>1&&s<4?-1:1,s>2?-1:1),o=a.multiply(r),h=o.subtract(a.multiply(n));if(new g(i?o.add(a.multiply(i)):o,h).contains(e))return{point:h,quadrant:s}}}function e(t,e,i,n){var r=t.divide(e);return(!n||r.isInQuadrant(n))&&r.subtract(r.normalize()).multiply(e).divide(i).length<=1}return{_contains:function e(i){if("rectangle"===this._type){var n=t(this,i);return n?i.subtract(n.point).divide(this._radius).getLength()<=1:e.base.call(this,i)}return i.divide(this.size).getLength()<=.5},_hitTestSelf:function i(n,r,s,a){var o=!1,h=this._style,u=r.stroke&&h.hasStroke(),l=r.fill&&h.hasFill();if(u||l){var c=this._type,f=this._radius,d=u?h.getStrokeWidth()/2:0,_=r._tolerancePadding.add(L._getStrokePadding(d,!h.getStrokeScaling()&&a));if("rectangle"===c){var v=_.multiply(2),p=t(this,n,v);if(p)o=e(n.subtract(p.point),f,_,p.quadrant);else{var m=new g(this._size).setCenter(0,0),y=m.expand(v),w=m.expand(v.negate());o=y._containsPoint(n)&&!w._containsPoint(n)}}else o=e(n,f,_)}return o?new M(u?"stroke":"fill",this):i.base.apply(this,arguments)}}},{statics:new function(){function t(t,e,i,n,s){var a=new C(r.getNamed(s),e);return a._type=t,a._size=i,a._radius=n,a}return{Circle:function(){var e=c.readNamed(arguments,"center"),i=r.readNamed(arguments,"radius");return t("circle",e,new d(2*i),i,arguments)},Rectangle:function(){var e=g.readNamed(arguments,"rectangle"),i=d.min(d.readNamed(arguments,"radius"),e.getSize(!0).divide(2));return t("rectangle",e.getCenter(!0),e.getSize(!0),i,arguments)},Ellipse:function(){var e=C._readEllipse(arguments),i=e.radius;return t("ellipse",e.center,i.multiply(2),i,arguments)},_readEllipse:function(t){var e,i;if(r.hasNamed(t,"radius"))e=c.readNamed(t,"center"),i=d.readNamed(t,"radius");else{var n=g.readNamed(t,"rectangle");e=n.getCenter(!0),i=n.getSize(!0).divide(2)}return{center:e,radius:i}}}}}),S=w.extend({_class:"Raster",_applyMatrix:!1,_canApplyMatrix:!1,_boundsOptions:{stroke:!1,handle:!1},_serializeFields:{crossOrigin:null,source:null},_prioritize:["crossOrigin"],initialize:function(t,i){if(!this._initialize(t,i!==e&&c.read(arguments,1))){var r="string"==typeof t?n.getElementById(t):t;r?this.setImage(r):this.setSource(t)}this._size||(this._size=new d,this._loaded=!1)},_equals:function(t){return this.getSource()===t.getSource()},copyContent:function(t){var e=t._image,i=t._canvas;if(e)this._setImage(e);else if(i){var n=Q.getCanvas(t._size);n.getContext("2d").drawImage(i,0,0),this._setImage(n)}this._crossOrigin=t._crossOrigin},getSize:function(){var t=this._size;return new _(t?t.width:0,t?t.height:0,this,"setSize")},setSize:function(){var t=d.read(arguments);if(!t.equals(this._size))if(t.width>0&&t.height>0){var e=this.getElement();this._setImage(Q.getCanvas(t)),e&&this.getContext(!0).drawImage(e,0,0,t.width,t.height)}else this._canvas&&Q.release(this._canvas),this._size=t.clone()},getWidth:function(){return this._size?this._size.width:0},setWidth:function(t){this.setSize(t,this.getHeight())},getHeight:function(){return this._size?this._size.height:0},setHeight:function(t){this.setSize(this.getWidth(),t)},getLoaded:function(){return this._loaded},isEmpty:function(){var t=this._size;return!t||0===t.width&&0===t.height},getResolution:function(){var t=this._matrix,e=new c(0,0).transform(t),i=new c(1,0).transform(t).subtract(e),n=new c(0,1).transform(t).subtract(e);return new d(72/i.getLength(),72/n.getLength())},getPpi:"#getResolution",getImage:function(){return this._image},setImage:function(t){function e(t){var e=i.getView(),n=t&&t.type||"load";e&&i.responds(n)&&(paper=e._scope,i.emit(n,new G(t)))}var i=this;this._setImage(t),this._loaded?setTimeout(e,0):t&&Z.add(t,{load:function(n){i._setImage(t),e(n)},error:e})},_setImage:function(t){this._canvas&&Q.release(this._canvas),t&&t.getContext?(this._image=null,this._canvas=t,this._loaded=!0):(this._image=t,this._canvas=null,this._loaded=!!(t&&t.src&&t.complete)),this._size=new d(t?t.naturalWidth||t.width:0,t?t.naturalHeight||t.height:0),this._context=null,this._changed(521)},getCanvas:function(){if(!this._canvas){var t=Q.getContext(this._size);try{this._image&&t.drawImage(this._image,0,0),this._canvas=t.canvas}catch(e){Q.release(t)}}return this._canvas},setCanvas:"#setImage",getContext:function(t){return this._context||(this._context=this.getCanvas().getContext("2d")),t&&(this._image=null,this._changed(513)),this._context},setContext:function(t){this._context=t},getSource:function(){var t=this._image;return t&&t.src||this.toDataURL()},setSource:function(e){var i=new t.Image,n=this._crossOrigin;n&&(i.crossOrigin=n),i.src=e,this.setImage(i)},getCrossOrigin:function(){var t=this._image;return t&&t.crossOrigin||this._crossOrigin||""},setCrossOrigin:function(t){this._crossOrigin=t;var e=this._image;e&&(e.crossOrigin=t)},getElement:function(){return this._canvas||this._loaded&&this._image}},{beans:!1,getSubCanvas:function(){var t=g.read(arguments),e=Q.getContext(t.getSize());return e.drawImage(this.getCanvas(),t.x,t.y,t.width,t.height,0,0,t.width,t.height),e.canvas},getSubRaster:function(){var t=g.read(arguments),e=new S(w.NO_INSERT);return e._setImage(this.getSubCanvas(t)),e.translate(t.getCenter().subtract(this.getSize().divide(2))),e._matrix.prepend(this._matrix),e.insertAbove(this),e},toDataURL:function(){var t=this._image,e=t&&t.src;if(/^data:/.test(e))return e;var i=this.getCanvas();return i?i.toDataURL.apply(i,arguments):null},drawImage:function(t){var e=c.read(arguments,1);this.getContext(!0).drawImage(t,e.x,e.y)},getAverageColor:function(t){var e,i;if(t?t instanceof A?(i=t,e=t.getBounds()):"object"==typeof t&&("width"in t?e=new g(t):"x"in t&&(e=new g(t.x-.5,t.y-.5,1,1))):e=this.getBounds(),!e)return null;var n=Math.min(e.width,32),s=Math.min(e.height,32),a=S._sampleContext;a?a.clearRect(0,0,33,33):a=S._sampleContext=Q.getContext(new d(32)),a.save();var o=(new p).scale(n/e.width,s/e.height).translate(-e.x,-e.y);o.applyToContext(a),i&&i.draw(a,new r({clip:!0,matrices:[o]})),this._matrix.applyToContext(a);var h=this.getElement(),u=this._size;h&&a.drawImage(h,-u.width/2,-u.height/2),a.restore();for(var l=a.getImageData(.5,.5,Math.ceil(n),Math.ceil(s)).data,c=[0,0,0],f=0,_=0,v=l.length;_<v;_+=4){var m=l[_+3];f+=m,m/=255,c[0]+=l[_]*m,c[1]+=l[_+1]*m,c[2]+=l[_+2]*m}for(_=0;_<3;_++)c[_]/=f;return f?F.read(c):null},getPixel:function(){var t=c.read(arguments),e=this.getContext().getImageData(t.x,t.y,1,1).data;return new F("rgb",[e[0]/255,e[1]/255,e[2]/255],e[3]/255)},setPixel:function(){var t=c.read(arguments),e=F.read(arguments),i=e._convert("rgb"),n=e._alpha,r=this.getContext(!0),s=r.createImageData(1,1),a=s.data;a[0]=255*i[0],a[1]=255*i[1],a[2]=255*i[2],a[3]=null!=n?255*n:255,r.putImageData(s,t.x,t.y)},createImageData:function(){var t=d.read(arguments);return this.getContext().createImageData(t.width,t.height)},getImageData:function(){var t=g.read(arguments);return t.isEmpty()&&(t=new g(this._size)),this.getContext().getImageData(t.x,t.y,t.width,t.height)},setImageData:function(t){var e=c.read(arguments,1);this.getContext(!0).putImageData(t,e.x,e.y)},_getBounds:function(t,e){var i=new g(this._size).setCenter(0,0);return t?t._transformBounds(i):i},_hitTestSelf:function(t){if(this._contains(t)){var e=this;return new M("pixel",e,{offset:t.add(e._size.divide(2)).round(),color:{get:function(){return e.getPixel(this.offset)}}})}},_draw:function(t){var e=this.getElement();e&&(t.globalAlpha=this._opacity,t.drawImage(e,-this._size.width/2,-this._size.height/2))},_canComposite:function(){return!0}}),P=w.extend({_class:"SymbolItem",_applyMatrix:!1,_canApplyMatrix:!1,_boundsOptions:{stroke:!0},_serializeFields:{symbol:null},initialize:function(t,i){this._initialize(t,i!==e&&c.read(arguments,1))||this.setDefinition(t instanceof I?t:new I(t))},_equals:function(t){return this._definition===t._definition},copyContent:function(t){this.setDefinition(t._definition)},getDefinition:function(){return this._definition},setDefinition:function(t){this._definition=t,this._changed(9)},getSymbol:"#getDefinition",setSymbol:"#setDefinition",isEmpty:function(){return this._definition._item.isEmpty()},_getBounds:function(t,e){var i=this._definition._item;return i._getCachedBounds(i._matrix.prepended(t),e)},_hitTestSelf:function(t,e,i){var n=this._definition._item._hitTest(t,e,i);return n&&(n.item=this),n},_draw:function(t,e){this._definition._item.draw(t,e)}}),I=r.extend({_class:"SymbolDefinition",initialize:function(t,e){this._id=l.get(),this.project=paper.project,t&&this.setItem(t,e)},_serialize:function(t,e){return e.add(this,function(){return r.serialize([this._class,this._item],t,!1,e)})},_changed:function(t){8&t&&w._clearBoundsCache(this),1&t&&this.project._changed(t)},getItem:function(){return this._item},setItem:function(t,e){t._symbol&&(t=t.clone()),this._item&&(this._item._symbol=null),this._item=t,t.remove(),t.setSelected(!1),e||t.setPosition(new c),t._symbol=this,this._changed(9)},getDefinition:"#getItem",setDefinition:"#setItem",place:function(t){return new P(this,t)},clone:function(){return new I(this._item.clone(!1))},equals:function(t){return t===this||t&&this._item.equals(t._item)||!1}}),M=r.extend({_class:"HitResult",initialize:function(t,e,i){this.type=t,this.item=e,i&&this.inject(i)},statics:{getOptions:function(t){var e=t&&r.read(t);return r.set({type:null,tolerance:paper.settings.hitTolerance,fill:!e,stroke:!e,segments:!e,handles:!1,ends:!1,position:!1,center:!1,bounds:!1,guides:!1,selected:!1},e)}}}),T=r.extend({_class:"Segment",beans:!0,_selection:0,initialize:function(t,i,n,r,s,a){var o,h,u,l,c=arguments.length;c>0&&(null==t||"object"==typeof t?1===c&&t&&"point"in t?(o=t.point,h=t.handleIn,u=t.handleOut,l=t.selection):(o=t,h=i,u=n,l=r):(o=[t,i],h=n!==e?[n,r]:null,u=s!==e?[s,a]:null)),new z(o,this,"_point"),new z(h,this,"_handleIn"),new z(u,this,"_handleOut"),l&&this.setSelection(l)},_serialize:function(t,e){var i=this._point,n=this._selection,s=n||this.hasHandles()?[i,this._handleIn,this._handleOut]:i;return n&&s.push(n),r.serialize(s,t,!0,e)},_changed:function(t){var e=this._path;if(e){var i,n=e._curves,r=this._index;n&&(t&&t!==this._point&&t!==this._handleIn||!(i=r>0?n[r-1]:e._closed?n[n.length-1]:null)||i._changed(),t&&t!==this._point&&t!==this._handleOut||!(i=n[r])||i._changed()),e._changed(25)}},getPoint:function(){return this._point},setPoint:function(){this._point.set(c.read(arguments))},getHandleIn:function(){return this._handleIn},setHandleIn:function(){this._handleIn.set(c.read(arguments))},getHandleOut:function(){return this._handleOut},setHandleOut:function(){this._handleOut.set(c.read(arguments))},hasHandles:function(){return!this._handleIn.isZero()||!this._handleOut.isZero()},isSmooth:function(){var t=this._handleIn,e=this._handleOut;return!t.isZero()&&!e.isZero()&&t.isCollinear(e)},clearHandles:function(){this._handleIn._set(0,0),this._handleOut._set(0,0)},getSelection:function(){return this._selection},setSelection:function(t){var e=this._selection,i=this._path;this._selection=t=t||0,i&&t!==e&&(i._updateSelection(this,e,t),i._changed(129))},_changeSelection:function(t,e){var i=this._selection;this.setSelection(e?i|t:i&~t)},isSelected:function(){return!!(7&this._selection)},setSelected:function(t){this._changeSelection(7,t)},getIndex:function(){return this._index!==e?this._index:null},getPath:function(){return this._path||null},getCurve:function(){var t=this._path,e=this._index;return t?(e>0&&!t._closed&&e===t._segments.length-1&&e--,t.getCurves()[e]||null):null},getLocation:function(){var t=this.getCurve();return t?new O(t,this===t._segment1?0:1):null},getNext:function(){var t=this._path&&this._path._segments;return t&&(t[this._index+1]||this._path._closed&&t[0])||null},smooth:function(t,i,n){var r=t||{},s=r.type,a=r.factor,o=this.getPrevious(),h=this.getNext(),u=(o||this)._point,l=this._point,f=(h||this)._point,d=u.getDistance(l),_=l.getDistance(f);if(s&&"catmull-rom"!==s){if("geometric"!==s)throw new Error("Smoothing method '"+s+"' not supported.");if(o&&h){var g=u.subtract(f),v=a===e?.4:a,p=v*d/(d+_);i||this.setHandleIn(g.multiply(p)),n||this.setHandleOut(g.multiply(p-v))}}else{var m=a===e?.5:a,y=Math.pow(d,m),w=y*y,x=Math.pow(_,m),b=x*x;if(!i&&o){var C=2*b+3*x*y+w,S=3*x*(x+y);this.setHandleIn(0!==S?new c((b*u._x+C*l._x-w*f._x)/S-l._x,(b*u._y+C*l._y-w*f._y)/S-l._y):new c)}if(!n&&h){var C=2*w+3*y*x+b,S=3*y*(y+x);this.setHandleOut(0!==S?new c((w*f._x+C*l._x-b*u._x)/S-l._x,(w*f._y+C*l._y-b*u._y)/S-l._y):new c)}}},getPrevious:function(){var t=this._path&&this._path._segments;return t&&(t[this._index-1]||this._path._closed&&t[t.length-1])||null},isFirst:function(){return!this._index},isLast:function(){var t=this._path;return t&&this._index===t._segments.length-1||!1},reverse:function(){var t=this._handleIn,e=this._handleOut,i=t.clone();t.set(e),e.set(i)},reversed:function(){return new T(this._point,this._handleOut,this._handleIn)},remove:function(){return!!this._path&&!!this._path.removeSegment(this._index)},clone:function(){return new T(this._point,this._handleIn,this._handleOut)},equals:function(t){return t===this||t&&this._class===t._class&&this._point.equals(t._point)&&this._handleIn.equals(t._handleIn)&&this._handleOut.equals(t._handleOut)||!1},toString:function(){var t=["point: "+this._point];return this._handleIn.isZero()||t.push("handleIn: "+this._handleIn),this._handleOut.isZero()||t.push("handleOut: "+this._handleOut),"{ "+t.join(", ")+" }"},transform:function(t){this._transformCoordinates(t,new Array(6),!0),this._changed()},interpolate:function(t,e,i){var n=1-i,r=i,s=t._point,a=e._point,o=t._handleIn,h=e._handleIn,u=e._handleOut,l=t._handleOut;this._point._set(n*s._x+r*a._x,n*s._y+r*a._y,!0),this._handleIn._set(n*o._x+r*h._x,n*o._y+r*h._y,!0),this._handleOut._set(n*l._x+r*u._x,n*l._y+r*u._y,!0),this._changed()},_transformCoordinates:function(t,e,i){var n=this._point,r=i&&this._handleIn.isZero()?null:this._handleIn,s=i&&this._handleOut.isZero()?null:this._handleOut,a=n._x,o=n._y,h=2;return e[0]=a,e[1]=o,r&&(e[h++]=r._x+a,e[h++]=r._y+o),s&&(e[h++]=s._x+a,e[h++]=s._y+o),t&&(t._transformCoordinates(e,e,h/2),a=e[0],o=e[1],i?(n._x=a,n._y=o,h=2,r&&(r._x=e[h++]-a,r._y=e[h++]-o),s&&(s._x=e[h++]-a,s._y=e[h++]-o)):(r||(e[h++]=a,e[h++]=o),s||(e[h++]=a,e[h++]=o))),e}}),z=c.extend({initialize:function(t,i,n){var r,s,a;if(t)if((r=t[0])!==e)s=t[1];else{var o=t;(r=o.x)===e&&(r=(o=c.read(arguments)).x),s=o.y,a=o.selected}else r=s=0;this._x=r,this._y=s,this._owner=i,i[n]=this,a&&this.setSelected(!0)},_set:function(t,e){return this._x=t,this._y=e,this._owner._changed(this),this},getX:function(){return this._x},setX:function(t){this._x=t,this._owner._changed(this)},getY:function(){return this._y},setY:function(t){this._y=t,this._owner._changed(this)},isZero:function(){var t=u.isZero;return t(this._x)&&t(this._y)},isSelected:function(){return!!(this._owner._selection&this._getSelection())},setSelected:function(t){this._owner._changeSelection(this._getSelection(),t)},_getSelection:function(){var t=this._owner;return this===t._point?1:this===t._handleIn?2:this===t._handleOut?4:0}}),k=r.extend({_class:"Curve",beans:!0,initialize:function(t,e,i,n,r,s,a,o){var h,u,l,c,f,d,_=arguments.length;3===_?(this._path=t,h=e,u=i):_?1===_?"segment1"in t?(h=new T(t.segment1),u=new T(t.segment2)):"point1"in t?(l=t.point1,f=t.handle1,d=t.handle2,c=t.point2):Array.isArray(t)&&(l=[t[0],t[1]],c=[t[6],t[7]],f=[t[2]-t[0],t[3]-t[1]],d=[t[4]-t[6],t[5]-t[7]]):2===_?(h=new T(t),u=new T(e)):4===_?(l=t,f=e,d=i,c=n):8===_&&(l=[t,e],c=[a,o],f=[i-t,n-e],d=[r-a,s-o]):(h=new T,u=new T),this._segment1=h||new T(l,null,f),this._segment2=u||new T(c,d,null)},_serialize:function(t,e){return r.serialize(this.hasHandles()?[this.getPoint1(),this.getHandle1(),this.getHandle2(),this.getPoint2()]:[this.getPoint1(),this.getPoint2()],t,!0,e)},_changed:function(){this._length=this._bounds=e},clone:function(){return new k(this._segment1,this._segment2)},toString:function(){var t=["point1: "+this._segment1._point];return this._segment1._handleOut.isZero()||t.push("handle1: "+this._segment1._handleOut),this._segment2._handleIn.isZero()||t.push("handle2: "+this._segment2._handleIn),t.push("point2: "+this._segment2._point),"{ "+t.join(", ")+" }"},classify:function(){return k.classify(this.getValues())},remove:function(){var t=!1;if(this._path){var e=this._segment2,i=e._handleOut;(t=e.remove())&&this._segment1._handleOut.set(i)}return t},getPoint1:function(){return this._segment1._point},setPoint1:function(){this._segment1._point.set(c.read(arguments))},getPoint2:function(){return this._segment2._point},setPoint2:function(){this._segment2._point.set(c.read(arguments))},getHandle1:function(){return this._segment1._handleOut},setHandle1:function(){this._segment1._handleOut.set(c.read(arguments))},getHandle2:function(){return this._segment2._handleIn},setHandle2:function(){this._segment2._handleIn.set(c.read(arguments))},getSegment1:function(){return this._segment1},getSegment2:function(){return this._segment2},getPath:function(){return this._path},getIndex:function(){return this._segment1._index},getNext:function(){var t=this._path&&this._path._curves;return t&&(t[this._segment1._index+1]||this._path._closed&&t[0])||null},getPrevious:function(){var t=this._path&&this._path._curves;return t&&(t[this._segment1._index-1]||this._path._closed&&t[t.length-1])||null},isFirst:function(){return!this._segment1._index},isLast:function(){var t=this._path;return t&&this._segment1._index===t._curves.length-1||!1},isSelected:function(){return this.getPoint1().isSelected()&&this.getHandle1().isSelected()&&this.getHandle2().isSelected()&&this.getPoint2().isSelected()},setSelected:function(t){this.getPoint1().setSelected(t),this.getHandle1().setSelected(t),this.getHandle2().setSelected(t),this.getPoint2().setSelected(t)},getValues:function(t){return k.getValues(this._segment1,this._segment2,t)},getPoints:function(){for(var t=this.getValues(),e=[],i=0;i<8;i+=2)e.push(new c(t[i],t[i+1]));return e}},{getLength:function(){return null==this._length&&(this._length=k.getLength(this.getValues(),0,1)),this._length},getArea:function(){return k.getArea(this.getValues())},getLine:function(){return new m(this._segment1._point,this._segment2._point)},getPart:function(t,e){return new k(k.getPart(this.getValues(),t,e))},getPartLength:function(t,e){return k.getLength(this.getValues(),t,e)},divideAt:function(t){return this.divideAtTime(t&&t.curve===this?t.time:this.getTimeAt(t))},divideAtTime:function(t,e){var i=null;if(t>=1e-8&&t<=1-1e-8){var n=k.subdivide(this.getValues(),t),r=n[0],s=n[1],a=e||this.hasHandles(),o=this._segment1,h=this._segment2,u=this._path;a&&(o._handleOut._set(r[2]-r[0],r[3]-r[1]),h._handleIn._set(s[4]-s[6],s[5]-s[7]));var l=r[6],f=r[7],d=new T(new c(l,f),a&&new c(r[4]-l,r[5]-f),a&&new c(s[2]-l,s[3]-f));u?(u.insert(o._index+1,d),i=this.getNext()):(this._segment2=d,this._changed(),i=new k(d,h))}return i},splitAt:function(t){var e=this._path;return e?e.splitAt(t):null},splitAtTime:function(t){return this.splitAt(this.getLocationAtTime(t))},divide:function(t,i){return this.divideAtTime(t===e?.5:i?t:this.getTimeAt(t))},split:function(t,i){return this.splitAtTime(t===e?.5:i?t:this.getTimeAt(t))},reversed:function(){return new k(this._segment2.reversed(),this._segment1.reversed())},clearHandles:function(){this._segment1._handleOut._set(0,0),this._segment2._handleIn._set(0,0)},statics:{getValues:function(t,e,i,n){var r=t._point,s=t._handleOut,a=e._handleIn,o=e._point,h=r.x,u=r.y,l=o.x,c=o.y,f=n?[h,u,h,u,l,c,l,c]:[h,u,h+s._x,u+s._y,l+a._x,c+a._y,l,c];return i&&i._transformCoordinates(f,f,4),f},subdivide:function(t,i){var n=t[0],r=t[1],s=t[2],a=t[3],o=t[4],h=t[5],u=t[6],l=t[7];i===e&&(i=.5);var c=1-i,f=c*n+i*s,d=c*r+i*a,_=c*s+i*o,g=c*a+i*h,v=c*o+i*u,p=c*h+i*l,m=c*f+i*_,y=c*d+i*g,w=c*_+i*v,x=c*g+i*p,b=c*m+i*w,C=c*y+i*x;return[[n,r,f,d,m,y,b,C],[b,C,w,x,v,p,u,l]]},getMonoCurves:function(t,e){var i=[],n=e?0:1,r=t[n+0],s=t[n+2],a=t[n+4],o=t[n+6];if(r>=s==s>=a&&s>=a==a>=o||k.isStraight(t))i.push(t);else{var h=3*(s-a)-r+o,l=2*(r+a)-4*s,c=s-r,f=[],d=u.solveQuadratic(h,l,c,f,1e-8,1-1e-8);if(d){f.sort();var _=f[0],g=k.subdivide(t,_);i.push(g[0]),d>1&&(_=(f[1]-_)/(1-_),g=k.subdivide(g[1],_),i.push(g[0])),i.push(g[1])}else i.push(t)}return i},solveCubic:function(t,e,i,n,r,s){var a=t[e],o=t[e+2],h=t[e+4],l=t[e+6],c=0;if(!(a<i&&l<i&&o<i&&h<i||a>i&&l>i&&o>i&&h>i)){var f=3*(o-a),d=3*(h-o)-f,_=l-a-f-d;c=u.solveCubic(_,d,f,a-i,n,r,s)}return c},getTimeOf:function(t,e){var i=new c(t[0],t[1]),n=new c(t[6],t[7]);if(null===(e.isClose(i,1e-12)?0:e.isClose(n,1e-12)?1:null))for(var r=[e.x,e.y],s=[],a=0;a<2;a++)for(var o=k.solveCubic(t,a,r[a],s,0,1),h=0;h<o;h++){var u=s[h];if(e.isClose(k.getPoint(t,u),1e-7))return u}return e.isClose(i,1e-7)?0:e.isClose(n,1e-7)?1:null},getNearestTime:function(t,e){function i(i){if(i>=0&&i<=1){var n=e.getDistance(k.getPoint(t,i),!0);if(n<u)return u=n,l=i,!0}}if(k.isStraight(t)){var n=t[0],r=t[1],s=t[6]-n,a=t[7]-r,o=s*s+a*a;if(0===o)return 0;var h=((e.x-n)*s+(e.y-r)*a)/o;return h<1e-12?0:h>.999999999999?1:k.getTimeOf(t,new c(n+h*s,r+h*a))}for(var u=1/0,l=0,f=0;f<=100;f++)i(f/100);for(var d=.005;d>1e-8;)i(l-d)||i(l+d)||(d/=2);return l},getPart:function(t,e,i){var n=e>i;if(n){var r=e;e=i,i=r}return e>0&&(t=k.subdivide(t,e)[1]),i<1&&(t=k.subdivide(t,(i-e)/(1-e))[0]),n?[t[6],t[7],t[4],t[5],t[2],t[3],t[0],t[1]]:t},isFlatEnough:function(t,e){var i=t[0],n=t[1],r=t[2],s=t[3],a=t[4],o=t[5],h=t[6],u=t[7],l=3*r-2*i-h,c=3*s-2*n-u,f=3*a-2*h-i,d=3*o-2*u-n;return Math.max(l*l,f*f)+Math.max(c*c,d*d)<=16*e*e},getArea:function(t){var e=t[0],i=t[1],n=t[2],r=t[3],s=t[4],a=t[5],o=t[6],h=t[7];return 3*((h-i)*(n+s)-(o-e)*(r+a)+r*(e-s)-n*(i-a)+h*(s+e/3)-o*(a+i/3))/20},getBounds:function(t){for(var e=t.slice(0,2),i=e.slice(),n=[0,0],r=0;r<2;r++)k._addBounds(t[r],t[r+2],t[r+4],t[r+6],r,0,e,i,n);return new g(e[0],e[1],i[0]-e[0],i[1]-e[1])},_addBounds:function(t,e,i,n,r,s,a,o,h){function l(t,e){var i=t-e,n=t+e;i<a[r]&&(a[r]=i),n>o[r]&&(o[r]=n)}s/=2;var c=a[r]-s,f=o[r]+s;if(t<c||e<c||i<c||n<c||t>f||e>f||i>f||n>f)if(e<t!=e<n&&i<t!=i<n)l(t,s),l(n,s);else{var d=3*(e-i)-t+n,_=2*(t+i)-4*e,g=e-t,v=u.solveQuadratic(d,_,g,h);l(n,0);for(var p=0;p<v;p++){var m=h[p],y=1-m;1e-8<=m&&m<=1-1e-8&&l(y*y*y*t+3*y*y*m*e+3*y*m*m*i+m*m*m*n,s)}}}}},r.each(["getBounds","getStrokeBounds","getHandleBounds"],function(t){this[t]=function(){this._bounds||(this._bounds={});var e=this._bounds[t];return e||(e=this._bounds[t]=L[t]([this._segment1,this._segment2],!1,this._path)),e.clone()}},{}),r.each({isStraight:function(t,e,i,n){if(e.isZero()&&i.isZero())return!0;var r=n.subtract(t);if(r.isZero())return!1;if(r.isCollinear(e)&&r.isCollinear(i)){var s=new m(t,n);if(s.getDistance(t.add(e))<1e-7&&s.getDistance(n.add(i))<1e-7){var a=r.dot(r),o=r.dot(e)/a,h=r.dot(i)/a;return o>=0&&o<=1&&h<=0&&h>=-1}}return!1},isLinear:function(t,e,i,n){var r=n.subtract(t).divide(3);return e.equals(r)&&i.negate().equals(r)}},function(t,e){this[e]=function(e){var i=this._segment1,n=this._segment2;return t(i._point,i._handleOut,n._handleIn,n._point,e)},this.statics[e]=function(e,i){var n=e[0],r=e[1],s=e[6],a=e[7];return t(new c(n,r),new c(e[2]-n,e[3]-r),new c(e[4]-s,e[5]-a),new c(s,a),i)}},{statics:{},hasHandles:function(){return!this._segment1._handleOut.isZero()||!this._segment2._handleIn.isZero()},hasLength:function(t){return(!this.getPoint1().equals(this.getPoint2())||this.hasHandles())&&this.getLength()>(t||0)},isCollinear:function(t){return t&&this.isStraight()&&t.isStraight()&&this.getLine().isCollinear(t.getLine())},isHorizontal:function(){return this.isStraight()&&Math.abs(this.getTangentAtTime(.5).y)<1e-8},isVertical:function(){return this.isStraight()&&Math.abs(this.getTangentAtTime(.5).x)<1e-8}}),{beans:!1,getLocationAt:function(t,e){return this.getLocationAtTime(e?t:this.getTimeAt(t))},getLocationAtTime:function(t){return null!=t&&t>=0&&t<=1?new O(this,t):null},getTimeAt:function(t,e){return k.getTimeAt(this.getValues(),t,e)},getParameterAt:"#getTimeAt",getOffsetAtTime:function(t){return this.getPartLength(0,t)},getLocationOf:function(){return this.getLocationAtTime(this.getTimeOf(c.read(arguments)))},getOffsetOf:function(){var t=this.getLocationOf.apply(this,arguments);return t?t.getOffset():null},getTimeOf:function(){return k.getTimeOf(this.getValues(),c.read(arguments))},getParameterOf:"#getTimeOf",getNearestLocation:function(){var t=c.read(arguments),e=this.getValues(),i=k.getNearestTime(e,t),n=k.getPoint(e,i);return new O(this,i,n,null,t.getDistance(n))},getNearestPoint:function(){var t=this.getNearestLocation.apply(this,arguments);return t?t.getPoint():t}},new function(){var t=["getPoint","getTangent","getNormal","getWeightedTangent","getWeightedNormal","getCurvature"];return r.each(t,function(t){this[t+"At"]=function(e,i){var n=this.getValues();return k[t](n,i?e:k.getTimeAt(n,e))},this[t+"AtTime"]=function(e){return k[t](this.getValues(),e)}},{statics:{_evaluateMethods:t}})},new function(){function t(t){var e=t[0],i=t[1],n=t[2],r=t[3],s=t[4],a=t[5],o=9*(n-s)+3*(t[6]-e),h=6*(e+s)-12*n,u=3*(n-e),l=9*(r-a)+3*(t[7]-i),c=6*(i+a)-12*r,f=3*(r-i);return function(t){var e=(o*t+h)*t+u,i=(l*t+c)*t+f;return Math.sqrt(e*e+i*i)}}function i(t,e){return Math.max(2,Math.min(16,Math.ceil(32*Math.abs(e-t))))}function n(t,e,i,n){if(null==e||e<0||e>1)return null;var r=t[0],s=t[1],a=t[2],o=t[3],h=t[4],l=t[5],f=t[6],d=t[7],_=u.isZero;_(a-r)&&_(o-s)&&(a=r,o=s),_(h-f)&&_(l-d)&&(h=f,l=d);var g,v,p=3*(a-r),m=3*(h-a)-p,y=f-r-p-m,w=3*(o-s),x=3*(l-o)-w,b=d-s-w-x;if(0===i)g=0===e?r:1===e?f:((y*e+m)*e+p)*e+r,v=0===e?s:1===e?d:((b*e+x)*e+w)*e+s;else{if(e<1e-8?(g=p,v=w):e>1-1e-8?(g=3*(f-h),v=3*(d-l)):(g=(3*y*e+2*m)*e+p,v=(3*b*e+2*x)*e+w),n){0===g&&0===v&&(e<1e-8||e>1-1e-8)&&(g=h-a,v=l-o);var C=Math.sqrt(g*g+v*v);C&&(g/=C,v/=C)}if(3===i){var h=6*y*e+2*m,l=6*b*e+2*x,S=Math.pow(g*g+v*v,1.5);g=0!==S?(g*l-v*h)/S:0,v=0}}return 2===i?new c(v,-g):new c(g,v)}return{statics:{classify:function(t){function i(t,i,n){var r=i!==e,s=r&&i>0&&i<1,a=r&&n>0&&n<1;return!r||(s||a)&&("loop"!==t||s&&a)||(t="arch",s=a=!1),{type:t,roots:s||a?s&&a?i<n?[i,n]:[n,i]:[s?i:n]:null}}var n=t[0],r=t[1],s=t[2],a=t[3],o=t[4],h=t[5],l=t[6],c=t[7],f=s*(r-c)+a*(l-n)+n*c-r*l,d=3*(o*(a-r)+h*(n-s)+s*r-a*n),_=d-f,g=_-f+(n*(c-h)+r*(o-l)+l*h-c*o),v=Math.sqrt(g*g+_*_+d*d),p=0!==v?1/v:0,m=u.isZero;if(g*=p,_*=p,d*=p,m(g))return m(_)?i(m(d)?"line":"quadratic"):i("serpentine",d/(3*_));var y=3*_*_-4*g*d;if(m(y))return i("cusp",_/(2*g));var w=y>0?Math.sqrt(y/3):Math.sqrt(-y),x=2*g;return i(y>0?"serpentine":"loop",(_+w)/x,(_-w)/x)},getLength:function(n,r,s,a){if(r===e&&(r=0),s===e&&(s=1),k.isStraight(n)){var o=n;s<1&&(o=k.subdivide(o,s)[0],r/=s),r>0&&(o=k.subdivide(o,r)[1]);var h=o[6]-o[0],l=o[7]-o[1];return Math.sqrt(h*h+l*l)}return u.integrate(a||t(n),r,s,i(r,s))},getTimeAt:function(n,r,s){if(s===e&&(s=r<0?1:0),0===r)return s;var a=Math.abs,o=r>0,h=o?s:0,l=o?1:s,c=t(n),f=k.getLength(n,h,l,c),d=a(r)-f;if(a(d)<1e-12)return o?l:h;if(d>1e-12)return null;var _=r/f,g=0;return u.findRoot(function(t){return g+=u.integrate(c,s,t,i(s,t)),s=t,g-r},c,s+_,h,l,32,1e-12)},getPoint:function(t,e){return n(t,e,0,!1)},getTangent:function(t,e){return n(t,e,1,!0)},getWeightedTangent:function(t,e){return n(t,e,1,!1)},getNormal:function(t,e){return n(t,e,2,!0)},getWeightedNormal:function(t,e){return n(t,e,2,!1)},getCurvature:function(t,e){return n(t,e,3,!1).x},getPeaks:function(t){var e=t[0],i=t[1],n=t[2],r=t[3],s=t[4],a=t[5],o=3*n-e-3*s+t[6],h=3*e-6*n+3*s,l=-3*e+3*n,c=3*r-i-3*a+t[7],f=3*i-6*r+3*a,d=-3*i+3*r,_=[];return u.solveCubic(9*(o*o+c*c),9*(o*h+f*c),2*(h*h+f*f)+3*(l*o+d*c),l*h+f*d,_,1e-8,1-1e-8),_.sort()}}}},new function(){function t(t,e,i,n,r,s,a){var o=!a&&i.getPrevious()===r,h=!a&&i!==r&&i.getNext()===r;if(null!==n&&n>=(o?1e-8:0)&&n<=(h?1-1e-8:1)&&null!==s&&s>=(h?1e-8:0)&&s<=(o?1-1e-8:1)){var u=new O(i,n,null,a),l=new O(r,s,null,a);u._intersection=l,l._intersection=u,e&&!e(u)||O.insert(t,u,!0)}}function e(r,s,a,o,h,u,l,c,f,d,_,g,v){if(++f>=4096||++c>=40)return f;var p,y,w=s[0],x=s[1],b=s[6],C=s[7],S=m.getSignedDistance,P=S(w,x,b,C,s[2],s[3]),I=S(w,x,b,C,s[4],s[5]),M=P*I>0?.75:4/9,T=M*Math.min(0,P,I),z=M*Math.max(0,P,I),O=S(w,x,b,C,r[0],r[1]),A=S(w,x,b,C,r[2],r[3]),L=S(w,x,b,C,r[4],r[5]),N=S(w,x,b,C,r[6],r[7]),B=i(O,A,L,N),D=B[0],j=B[1];if(0===P&&0===I&&0===O&&0===A&&0===L&&0===N||null==(p=n(D,j,T,z))||null==(y=n(D.reverse(),j.reverse(),T,z)))return f;var E=d+(_-d)*p,F=d+(_-d)*y;if(Math.max(v-g,F-E)<1e-9){var R=(E+F)/2,q=(g+v)/2;t(h,u,l?o:a,l?q:R,l?a:o,l?R:q)}else if(r=k.getPart(r,p,y),y-p>.8)if(F-E>v-g){R=(E+F)/2;f=e(s,(V=k.subdivide(r,.5))[0],o,a,h,u,!l,c,f,g,v,E,R),f=e(s,V[1],o,a,h,u,!l,c,f,g,v,R,F)}else{var V=k.subdivide(s,.5),q=(g+v)/2;f=e(V[0],r,o,a,h,u,!l,c,f,g,q,E,F),f=e(V[1],r,o,a,h,u,!l,c,f,q,v,E,F)}else f=v-g>=1e-9?e(s,r,o,a,h,u,!l,c,f,g,v,E,F):e(r,s,a,o,h,u,l,c,f,E,F,g,v);return f}function i(t,e,i,n){var r,s=[0,t],a=[1/3,e],o=[2/3,i],h=[1,n],u=e-(2*t+n)/3,l=i-(t+2*n)/3;if(u*l<0)r=[[s,a,h],[s,o,h]];else{var c=u/l;r=[c>=2?[s,a,h]:c<=.5?[s,o,h]:[s,a,o,h],[s,h]]}return(u||l)<0?r.reverse():r}function n(t,e,i,n){return t[0][1]<i?r(t,!0,i):e[0][1]>n?r(e,!1,n):t[0][0]}function r(t,e,i){for(var n=t[0][0],r=t[0][1],s=1,a=t.length;s<a;s++){var o=t[s][0],h=t[s][1];if(e?h>=i:h<=i)return h===i?o:n+(i-r)*(o-n)/(h-r);n=o,r=h}return null}function s(t,e,i,n,r){var s=u.isZero;if(s(n)&&s(r)){var a=k.getTimeOf(t,new c(e,i));return null===a?[]:[a]}for(var o=Math.atan2(-r,n),h=Math.sin(o),l=Math.cos(o),f=[],d=[],_=0;_<8;_+=2){var g=t[_]-e,v=t[_+1]-i;f.push(g*l-v*h,g*h+v*l)}return k.solveCubic(f,1,0,d,0,1),d}function a(e,i,n,r,a,o,h){for(var u=i[0],l=i[1],c=s(e,u,l,i[6]-u,i[7]-l),f=0,d=c.length;f<d;f++){var _=c[f],g=k.getPoint(e,_),v=k.getTimeOf(i,g);null!==v&&t(a,o,h?r:n,h?v:_,h?n:r,h?_:v)}}function o(e,i,n,r,s,a){var o=m.intersect(e[0],e[1],e[6],e[7],i[0],i[1],i[6],i[7]);o&&t(s,a,n,k.getTimeOf(e,o),r,k.getTimeOf(i,o))}function h(i,n,r,s,h,u){var l=Math.min,d=Math.max;if(d(i[0],i[2],i[4],i[6])+1e-12>l(n[0],n[2],n[4],n[6])&&l(i[0],i[2],i[4],i[6])-1e-12<d(n[0],n[2],n[4],n[6])&&d(i[1],i[3],i[5],i[7])+1e-12>l(n[1],n[3],n[5],n[7])&&l(i[1],i[3],i[5],i[7])-1e-12<d(n[1],n[3],n[5],n[7])){var _=f(i,n);if(_)for(x=0;x<2;x++){var g=_[x];t(h,u,r,g[0],s,g[1],!0)}else{var v=k.isStraight(i),p=k.isStraight(n),m=v&&p,y=v&&!p,w=h.length;if((m?o:v||p?a:e)(y?n:i,y?i:n,y?s:r,y?r:s,h,u,y,0,0,0,1,0,1),!m||h.length===w)for(var x=0;x<4;x++){var b=x>>1,C=1&x,S=6*b,P=6*C,I=new c(i[S],i[S+1]),M=new c(n[P],n[P+1]);I.isClose(M,1e-12)&&t(h,u,r,b,s,C)}}}return h}function l(e,i,n,r){var s=k.classify(e);if("loop"===s.type){var a=s.roots;t(n,r,i,a[0],i,a[1])}return n}function f(t,e){function i(t){var e=t[6]-t[0],i=t[7]-t[1];return e*e+i*i}var n=Math.abs,r=m.getDistance,s=k.isStraight(t),a=k.isStraight(e),o=s&&a,h=i(t)<i(e),u=h?e:t,l=h?t:e,f=u[0],d=u[1],_=u[6]-f,g=u[7]-d;if(r(f,d,_,g,l[0],l[1],!0)<1e-7&&r(f,d,_,g,l[6],l[7],!0)<1e-7)!o&&r(f,d,_,g,u[2],u[3],!0)<1e-7&&r(f,d,_,g,u[4],u[5],!0)<1e-7&&r(f,d,_,g,l[2],l[3],!0)<1e-7&&r(f,d,_,g,l[4],l[5],!0)<1e-7&&(s=a=o=!0);else if(o)return null;if(s^a)return null;for(var v=[t,e],p=[],y=0;y<4&&p.length<2;y++){var w=1&y,x=1^w,b=y>>1,C=k.getTimeOf(v[w],new c(v[x][b?6:0],v[x][b?7:1]));if(null!=C){var S=w?[b,C]:[C,b];(!p.length||n(S[0]-p[0][0])>1e-8&&n(S[1]-p[0][1])>1e-8)&&p.push(S)}if(y>2&&!p.length)break}if(2!==p.length)p=null;else if(!o){var P=k.getPart(t,p[0][0],p[1][0]),I=k.getPart(e,p[0][1],p[1][1]);(n(I[2]-P[2])>1e-7||n(I[3]-P[3])>1e-7||n(I[4]-P[4])>1e-7||n(I[5]-P[5])>1e-7)&&(p=null)}return p}return{getIntersections:function(t){var e=this.getValues(),i=t&&t!==this&&t.getValues();return i?h(e,i,this,t,[]):l(e,this,[])},statics:{getOverlaps:f,getIntersections:function(t,e,i,n,r,s){var a=!e;a&&(e=t);for(var o,u,c=t.length,f=e.length,d=[],_=[],g=0;g<f;g++)d[g]=e[g].getValues(r);for(g=0;g<c;g++){var v=t[g],p=a?d[g]:v.getValues(n),m=v.getPath();m!==u&&(u=m,o=[],_.push(o)),a&&l(p,v,o,i);for(var y=a?g+1:0;y<f;y++){if(s&&o.length)return o;h(p,d[y],v,e[y],o,i)}}o=[];for(var g=0,w=_.length;g<w;g++)o.push.apply(o,_[g]);return o},getCurveLineIntersections:s}}}),O=r.extend({_class:"CurveLocation",initialize:function(t,e,i,n,r){if(e>=.99999999){var s=t.getNext();s&&(e=0,t=s)}this._setCurve(t),this._time=e,this._point=i||t.getPointAtTime(e),this._overlap=n,this._distance=r,this._intersection=this._next=this._previous=null},_setCurve:function(t){var e=t._path;this._path=e,this._version=e?e._version:0,this._curve=t,this._segment=null,this._segment1=t._segment1,this._segment2=t._segment2},_setSegment:function(t){this._setCurve(t.getCurve()),this._segment=t,this._time=t===this._segment1?0:1,this._point=t._point.clone()},getSegment:function(){var t=this._segment;if(!t){var e=this.getCurve(),i=this.getTime();0===i?t=e._segment1:1===i?t=e._segment2:null!=i&&(t=e.getPartLength(0,i)<e.getPartLength(i,1)?e._segment1:e._segment2),this._segment=t}return t},getCurve:function(){function t(t){var e=t&&t.getCurve();if(e&&null!=(i._time=e.getTimeOf(i._point)))return i._setCurve(e),e}var e=this._path,i=this;return e&&e._version!==this._version&&(this._time=this._offset=this._curveOffset=this._curve=null),this._curve||t(this._segment)||t(this._segment1)||t(this._segment2.getPrevious())},getPath:function(){var t=this.getCurve();return t&&t._path},getIndex:function(){var t=this.getCurve();return t&&t.getIndex()},getTime:function(){var t=this.getCurve(),e=this._time;return t&&null==e?this._time=t.getTimeOf(this._point):e},getParameter:"#getTime",getPoint:function(){return this._point},getOffset:function(){var t=this._offset;if(null==t){t=0;var e=this.getPath(),i=this.getIndex();if(e&&null!=i)for(var n=e.getCurves(),r=0;r<i;r++)t+=n[r].getLength();this._offset=t+=this.getCurveOffset()}return t},getCurveOffset:function(){var t=this._curveOffset;if(null==t){var e=this.getCurve(),i=this.getTime();this._curveOffset=t=null!=i&&e&&e.getPartLength(0,i)}return t},getIntersection:function(){return this._intersection},getDistance:function(){return this._distance},divide:function(){var t=this.getCurve(),e=t&&t.divideAtTime(this.getTime());return e&&this._setSegment(e._segment1),e},split:function(){var t=this.getCurve(),e=t._path,i=t&&t.splitAtTime(this.getTime());return i&&this._setSegment(e.getLastSegment()),i},equals:function(t,e){var i=this===t;if(!i&&t instanceof O){var n=this.getCurve(),r=t.getCurve(),s=n._path;if(s===r._path){var a=Math.abs,o=a(this.getOffset()-t.getOffset()),h=!e&&this._intersection,u=!e&&t._intersection;i=(o<1e-7||s&&a(s.getLength()-o)<1e-7)&&(!h&&!u||h&&u&&h.equals(u,!0))}}return i},toString:function(){var t=[],e=this.getPoint(),i=h.instance;e&&t.push("point: "+e);var n=this.getIndex();null!=n&&t.push("index: "+n);var r=this.getTime();return null!=r&&t.push("time: "+i.number(r)),null!=this._distance&&t.push("distance: "+i.number(this._distance)),"{ "+t.join(", ")+" }"},isTouching:function(){var t=this._intersection;if(t&&this.getTangent().isCollinear(t.getTangent())){var e=this.getCurve(),i=t.getCurve();return!(e.isStraight()&&i.isStraight()&&e.getLine().intersect(i.getLine()))}return!1},isCrossing:function(){function t(t,e){var i=t.getValues(),n=k.classify(i).roots||k.getPeaks(i),r=n.length,s=e&&r>1?n[r-1]:r>0?n[0]:.5;c.push(k.getLength(i,e?s:0,e?1:s)/2)}function e(t,e,i){return e<i?t>e&&t<i:t>e||t<i}var i=this._intersection;if(!i)return!1;var n=this.getTime(),r=i.getTime(),s=n>=1e-8&&n<=1-1e-8,a=r>=1e-8&&r<=1-1e-8;if(s&&a)return!this.isTouching();var o=this.getCurve(),h=n<1e-8?o.getPrevious():o,u=i.getCurve(),l=r<1e-8?u.getPrevious():u;if(n>1-1e-8&&(o=o.getNext()),r>1-1e-8&&(u=u.getNext()),!(h&&o&&l&&u))return!1;var c=[];s||(t(h,!0),t(o,!1)),a||(t(l,!0),t(u,!1));var f=this.getPoint(),d=Math.min.apply(Math,c),_=s?o.getTangentAtTime(n):o.getPointAt(d).subtract(f),g=s?_.negate():h.getPointAt(-d).subtract(f),v=a?u.getTangentAtTime(r):u.getPointAt(d).subtract(f),p=a?v.negate():l.getPointAt(-d).subtract(f),m=g.getAngle(),y=_.getAngle(),w=p.getAngle(),x=v.getAngle();return!!(s?e(m,w,x)^e(y,w,x)&&e(m,x,w)^e(y,x,w):e(w,m,y)^e(x,m,y)&&e(w,y,m)^e(x,y,m))},hasOverlap:function(){return!!this._overlap}},r.each(k._evaluateMethods,function(t){var e=t+"At";this[t]=function(){var t=this.getCurve(),i=this.getTime();return null!=i&&t&&t[e](i,!0)}},{preserve:!0}),new function(){function t(t,e,i){function n(i,n){for(var s=i+n;s>=-1&&s<=r;s+=n){var a=t[(s%r+r)%r];if(!e.getPoint().isClose(a.getPoint(),1e-7))break;if(e.equals(a))return a}return null}for(var r=t.length,s=0,a=r-1;s<=a;){var o,h=s+a>>>1,u=t[h];if(i&&(o=e.equals(u)?u:n(h,-1)||n(h,1)))return e._overlap&&(o._overlap=o._intersection._overlap=!0),o;var l=e.getPath(),c=u.getPath();(l!==c?l._id-c._id:e.getIndex()+e.getTime()-(u.getIndex()+u.getTime()))<0?a=h-1:s=h+1}return t.splice(s,0,e),e}return{statics:{insert:t,expand:function(e){for(var i=e.slice(),n=e.length-1;n>=0;n--)t(i,e[n]._intersection,!1);return i}}}}),A=w.extend({_class:"PathItem",_selectBounds:!1,_canScaleStroke:!0,beans:!0,initialize:function(){},statics:{create:function(t){var e,i,n;if(r.isPlainObject(t)?(i=t.segments,e=t.pathData):Array.isArray(t)?i=t:"string"==typeof t&&(e=t),i){var s=i[0];n=s&&Array.isArray(s[0])}else e&&(n=(e.match(/m/gi)||[]).length>1||/z\s*\S+/i.test(e));return new(n?N:L)(t)}},_asPathItem:function(){return this},isClockwise:function(){return this.getArea()>=0},setClockwise:function(t){this.isClockwise()!=(t=!!t)&&this.reverse()},setPathData:function(t){function e(t,e){var i=+n[t];return o&&(i+=h[e]),i}function i(t){return new c(e(t,"x"),e(t+1,"y"))}var n,r,s,a=t&&t.match(/[mlhvcsqtaz][^mlhvcsqtaz]*/gi),o=!1,h=new c,u=new c;this.clear();for(var l=0,f=a&&a.length;l<f;l++){var _=a[l],g=_[0],v=g.toLowerCase(),p=(n=_.match(/[+-]?(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?/g))&&n.length;switch(o=g===v,"z"!==r||/[mz]/.test(v)||this.moveTo(h),v){case"m":case"l":for(var m="m"===v,y=0;y<p;y+=2)this[m?"moveTo":"lineTo"](h=i(y)),m&&(u=h,m=!1);s=h;break;case"h":case"v":var w="h"===v?"x":"y";h=h.clone();for(y=0;y<p;y++)h[w]=e(y,w),this.lineTo(h);s=h;break;case"c":for(y=0;y<p;y+=6)this.cubicCurveTo(i(y),s=i(y+2),h=i(y+4));break;case"s":for(y=0;y<p;y+=4)this.cubicCurveTo(/[cs]/.test(r)?h.multiply(2).subtract(s):h,s=i(y),h=i(y+2)),r=v;break;case"q":for(y=0;y<p;y+=4)this.quadraticCurveTo(s=i(y),h=i(y+2));break;case"t":for(y=0;y<p;y+=2)this.quadraticCurveTo(s=/[qt]/.test(r)?h.multiply(2).subtract(s):h,h=i(y)),r=v;break;case"a":for(y=0;y<p;y+=7)this.arcTo(h=i(y+5),new d(+n[y],+n[y+1]),+n[y+2],+n[y+4],+n[y+3]);break;case"z":this.closePath(1e-12),h=u}r=v}},_canComposite:function(){return!(this.hasFill()&&this.hasStroke())},_contains:function(t){var e=t.isInside(this.getBounds({internal:!0,handle:!0}))?this._getWinding(t):{};return e.onPath||!!("evenodd"===this.getFillRule()?1&e.windingL||1&e.windingR:e.winding)},getIntersections:function(t,e,i,n){var r=this===t||!t,s=this._matrix._orNullIfIdentity(),a=r?s:(i||t._matrix)._orNullIfIdentity();return r||this.getBounds(s).intersects(t.getBounds(a),1e-12)?k.getIntersections(this.getCurves(),!r&&t.getCurves(),e,s,a,n):[]},getCrossings:function(t){return this.getIntersections(t,function(t){return t.hasOverlap()||t.isCrossing()})},getNearestLocation:function(){for(var t=c.read(arguments),e=this.getCurves(),i=1/0,n=null,r=0,s=e.length;r<s;r++){var a=e[r].getNearestLocation(t);a._distance<i&&(i=a._distance,n=a)}return n},getNearestPoint:function(){var t=this.getNearestLocation.apply(this,arguments);return t?t.getPoint():t},interpolate:function(t,e,i){var n=!this._children,r=n?"_segments":"_children",s=t[r],a=e[r],o=this[r];if(!s||!a||s.length!==a.length)throw new Error("Invalid operands in interpolate() call: "+t+", "+e);var h=o.length,u=a.length;if(h<u)for(var l=n?T:L,c=h;c<u;c++)this.add(new l);else h>u&&this[n?"removeSegments":"removeChildren"](u,h);for(c=0;c<u;c++)o[c].interpolate(s[c],a[c],i);n&&(this.setClosed(t._closed),this._changed(9))},compare:function(t){var e=!1;if(t){var i=this._children||[this],n=t._children?t._children.slice():[t],r=i.length,s=n.length,a=[],o=0;e=!0;for(var h=r-1;h>=0&&e;h--){var u=i[h];e=!1;for(var l=s-1;l>=0&&!e;l--)u.compare(n[l])&&(a[l]||(a[l]=!0,o++),e=!0)}e=e&&o===s}return e}}),L=A.extend({_class:"Path",_serializeFields:{segments:[],closed:!1},initialize:function(t){this._closed=!1,this._segments=[],this._version=0;var i=Array.isArray(t)?"object"==typeof t[0]?t:arguments:!t||t.size!==e||t.x===e&&t.point===e?null:arguments;i&&i.length>0?this.setSegments(i):(this._curves=e,this._segmentSelection=0,i||"string"!=typeof t||(this.setPathData(t),t=null)),this._initialize(!i&&t)},_equals:function(t){return this._closed===t._closed&&r.equals(this._segments,t._segments)},copyContent:function(t){this.setSegments(t._segments),this._closed=t._closed},_changed:function t(i){if(t.base.call(this,i),8&i){if(this._length=this._area=e,16&i)this._version++;else if(this._curves)for(var n=0,r=this._curves.length;n<r;n++)this._curves[n]._changed()}else 32&i&&(this._bounds=e)},getStyle:function(){var t=this._parent;return(t instanceof N?t:this)._style},getSegments:function(){return this._segments},setSegments:function(t){var i=this.isFullySelected(),n=t&&t.length;if(this._segments.length=0,this._segmentSelection=0,this._curves=e,n){var r=t[n-1];"boolean"==typeof r&&(this.setClosed(r),n--),this._add(T.readList(t,0,{},n))}i&&this.setFullySelected(!0)},getFirstSegment:function(){return this._segments[0]},getLastSegment:function(){return this._segments[this._segments.length-1]},getCurves:function(){var t=this._curves,e=this._segments;if(!t){var i=this._countCurves();t=this._curves=new Array(i);for(var n=0;n<i;n++)t[n]=new k(this,e[n],e[n+1]||e[0])}return t},getFirstCurve:function(){return this.getCurves()[0]},getLastCurve:function(){var t=this.getCurves();return t[t.length-1]},isClosed:function(){return this._closed},setClosed:function(t){if(this._closed!=(t=!!t)){if(this._closed=t,this._curves){var e=this._curves.length=this._countCurves();t&&(this._curves[e-1]=new k(this,this._segments[e-1],this._segments[0]))}this._changed(25)}}},{beans:!0,getPathData:function(t,e){function i(e,i){if(e._transformCoordinates(t,g),n=g[0],r=g[1],v)p.push("M"+_.pair(n,r)),v=!1;else if(o=g[2],u=g[3],o===n&&u===r&&l===s&&c===a){if(!i){var h=n-s,f=r-a;p.push(0===h?"v"+_.number(f):0===f?"h"+_.number(h):"l"+_.pair(h,f))}}else p.push("c"+_.pair(l-s,c-a)+" "+_.pair(o-s,u-a)+" "+_.pair(n-s,r-a));s=n,a=r,l=g[4],c=g[5]}var n,r,s,a,o,u,l,c,f=this._segments,d=f.length,_=new h(e),g=new Array(6),v=!0,p=[];if(!d)return"";for(var m=0;m<d;m++)i(f[m]);return this._closed&&d>0&&(i(f[0],!0),p.push("z")),p.join("")},isEmpty:function(){return!this._segments.length},_transformContent:function(t){for(var e=this._segments,i=new Array(6),n=0,r=e.length;n<r;n++)e[n]._transformCoordinates(t,i,!0);return!0},_add:function(t,e){for(var i=this._segments,n=this._curves,r=t.length,s=null==e,e=s?i.length:e,a=0;a<r;a++){var o=t[a];o._path&&(o=t[a]=o.clone()),o._path=this,o._index=e+a,o._selection&&this._updateSelection(o,0,o._selection)}if(s)i.push.apply(i,t);else{i.splice.apply(i,[e,0].concat(t));for(var a=e+r,h=i.length;a<h;a++)i[a]._index=a}if(n){var u=this._countCurves(),l=e>0&&e+r-1===u?e-1:e,c=l,f=Math.min(l+r,u);t._curves&&(n.splice.apply(n,[l,0].concat(t._curves)),c+=t._curves.length);for(a=c;a<f;a++)n.splice(a,0,new k(this,null,null));this._adjustCurves(l,f)}return this._changed(25),t},_adjustCurves:function(t,e){for(var i,n=this._segments,r=this._curves,s=t;s<e;s++)(i=r[s])._path=this,i._segment1=n[s],i._segment2=n[s+1]||n[0],i._changed();(i=r[this._closed&&!t?n.length-1:t-1])&&(i._segment2=n[t]||n[0],i._changed()),(i=r[e])&&(i._segment1=n[e],i._changed())},_countCurves:function(){var t=this._segments.length;return!this._closed&&t>0?t-1:t},add:function(t){return arguments.length>1&&"number"!=typeof t?this._add(T.readList(arguments)):this._add([T.read(arguments)])[0]},insert:function(t,e){return arguments.length>2&&"number"!=typeof e?this._add(T.readList(arguments,1),t):this._add([T.read(arguments,1)],t)[0]},addSegment:function(){return this._add([T.read(arguments)])[0]},insertSegment:function(t){return this._add([T.read(arguments,1)],t)[0]},addSegments:function(t){return this._add(T.readList(t))},insertSegments:function(t,e){return this._add(T.readList(e),t)},removeSegment:function(t){return this.removeSegments(t,t+1)[0]||null},removeSegments:function(t,e,i){t=t||0,e=r.pick(e,this._segments.length);var n=this._segments,s=this._curves,a=n.length,o=n.splice(t,e-t),h=o.length;if(!h)return o;for(l=0;l<h;l++){var u=o[l];u._selection&&this._updateSelection(u,u._selection,0),u._index=u._path=null}for(var l=t,c=n.length;l<c;l++)n[l]._index=l;if(s){for(var f=t>0&&e===a+(this._closed?1:0)?t-1:t,l=(s=s.splice(f,h)).length-1;l>=0;l--)s[l]._path=null;i&&(o._curves=s.slice(1)),this._adjustCurves(f,f)}return this._changed(25),o},clear:"#removeSegments",hasHandles:function(){for(var t=this._segments,e=0,i=t.length;e<i;e++)if(t[e].hasHandles())return!0;return!1},clearHandles:function(){for(var t=this._segments,e=0,i=t.length;e<i;e++)t[e].clearHandles()},getLength:function(){if(null==this._length){for(var t=this.getCurves(),e=0,i=0,n=t.length;i<n;i++)e+=t[i].getLength();this._length=e}return this._length},getArea:function(){var t=this._area;if(null==t){var e=this._segments,i=this._closed;t=0;for(var n=0,r=e.length;n<r;n++){var s=n+1===r;t+=k.getArea(k.getValues(e[n],e[s?0:n+1],null,s&&!i))}this._area=t}return t},isFullySelected:function(){var t=this._segments.length;return this.isSelected()&&t>0&&this._segmentSelection===7*t},setFullySelected:function(t){t&&this._selectSegments(!0),this.setSelected(t)},setSelection:function t(e){1&e||this._selectSegments(!1),t.base.call(this,e)},_selectSegments:function(t){var e=this._segments,i=e.length,n=t?7:0;this._segmentSelection=n*i;for(var r=0;r<i;r++)e[r]._selection=n},_updateSelection:function(t,e,i){t._selection=i,(this._segmentSelection+=i-e)>0&&this.setSelected(!0)},divideAt:function(t){var e,i=this.getLocationAt(t);return i&&(e=i.getCurve().divideAt(i.getCurveOffset()))?e._segment1:null},splitAt:function(t){var e=this.getLocationAt(t),i=e&&e.index,n=e&&e.time;n>1-1e-8&&(i++,n=0);var r=this.getCurves();if(i>=0&&i<r.length){n>=1e-8&&r[i++].divideAtTime(n);var s,a=this.removeSegments(i,this._segments.length,!0);return this._closed?(this.setClosed(!1),s=this):((s=new L(w.NO_INSERT)).insertAbove(this),s.copyAttributes(this)),s._add(a,0),this.addSegment(a[0]),s}return null},split:function(t,i){var n,r=i===e?t:(n=this.getCurves()[t])&&n.getLocationAtTime(i);return null!=r?this.splitAt(r):null},join:function(t,e){var i=e||0;if(t&&t!==this){var n=t._segments,r=this.getLastSegment(),s=t.getLastSegment();if(!s)return this;r&&r._point.isClose(s._point,i)&&t.reverse();var a=t.getFirstSegment();if(r&&r._point.isClose(a._point,i))r.setHandleOut(a._handleOut),this._add(n.slice(1));else{var o=this.getFirstSegment();o&&o._point.isClose(a._point,i)&&t.reverse(),s=t.getLastSegment(),o&&o._point.isClose(s._point,i)?(o.setHandleIn(s._handleIn),this._add(n.slice(0,n.length-1),0)):this._add(n.slice())}t._closed&&this._add([n[0]]),t.remove()}var h=this.getFirstSegment(),u=this.getLastSegment();return h!==u&&h._point.isClose(u._point,i)&&(h.setHandleIn(u._handleIn),u.remove(),this.setClosed(!0)),this},reduce:function(t){for(var e=this.getCurves(),i=t&&t.simplify,n=i?1e-7:0,r=e.length-1;r>=0;r--){var s=e[r];!s.hasHandles()&&(!s.hasLength(n)||i&&s.isCollinear(s.getNext()))&&s.remove()}return this},reverse:function(){this._segments.reverse();for(var t=0,e=this._segments.length;t<e;t++){var i=this._segments[t],n=i._handleIn;i._handleIn=i._handleOut,i._handleOut=n,i._index=t}this._curves=null,this._changed(9)},flatten:function(t){for(var e=new B(this,t||.25,256,!0).parts,i=e.length,n=[],r=0;r<i;r++)n.push(new T(e[r].curve.slice(0,2)));!this._closed&&i>0&&n.push(new T(e[i-1].curve.slice(6))),this.setSegments(n)},simplify:function(t){var e=new D(this).fit(t||2.5);return e&&this.setSegments(e),!!e},smooth:function(t){function i(t,e){var i=t&&t.index;if(null!=i){var r=t.path;if(r&&r!==n)throw new Error(t._class+" "+i+" of "+r+" is not part of "+n);e&&t instanceof k&&i++}else i="number"==typeof t?t:e;return Math.min(i<0&&h?i%o:i<0?i+o:i,o-1)}var n=this,r=t||{},s=r.type||"asymmetric",a=this._segments,o=a.length,h=this._closed,u=h&&r.from===e&&r.to===e,l=i(r.from,0),c=i(r.to,o-1);if(l>c)if(h)l-=o;else{var f=l;l=c,c=f}if(/^(?:asymmetric|continuous)$/.test(s)){var d="asymmetric"===s,_=Math.min,g=c-l+1,v=g-1,p=u?_(g,4):1,m=p,y=p,w=[];if(h||(m=_(1,l),y=_(1,o-c-1)),(v+=m+y)<=1)return;for(var x=0,b=l-m;x<=v;x++,b++)w[x]=a[(b<0?b+o:b)%o]._point;for(var C=w[0]._x+2*w[1]._x,S=w[0]._y+2*w[1]._y,P=2,I=v-1,M=[C],T=[S],z=[P],O=[],A=[],x=1;x<v;x++){var L=x<I,N=L?1:d?1:2,B=L?4:d?2:7,D=L?4:d?3:8,j=L?2:d?0:1,E=N/P;P=z[x]=B-E,C=M[x]=D*w[x]._x+j*w[x+1]._x-E*C,S=T[x]=D*w[x]._y+j*w[x+1]._y-E*S}O[I]=M[I]/z[I],A[I]=T[I]/z[I];for(x=v-2;x>=0;x--)O[x]=(M[x]-O[x+1])/z[x],A[x]=(T[x]-A[x+1])/z[x];O[v]=(3*w[v]._x-O[I])/2,A[v]=(3*w[v]._y-A[I])/2;for(var x=m,F=v-y,b=l;x<=F;x++,b++){var R=a[b<0?b+o:b],q=R._point,V=O[x]-q._x,H=A[x]-q._y;(u||x<F)&&R.setHandleOut(V,H),(u||x>m)&&R.setHandleIn(-V,-H)}}else for(x=l;x<=c;x++)a[x<0?x+o:x].smooth(r,!u&&x===l,!u&&x===c)},toShape:function(t){function i(t,e){var i=l[t],n=i.getNext(),r=l[e],s=r.getNext();return i._handleOut.isZero()&&n._handleIn.isZero()&&r._handleOut.isZero()&&s._handleIn.isZero()&&n._point.subtract(i._point).isCollinear(s._point.subtract(r._point))}function n(t){var e=l[t],i=e.getNext(),n=e._handleOut,r=i._handleIn;if(n.isOrthogonal(r)){var s=e._point,a=i._point,o=new m(s,n,!0).intersect(new m(a,r,!0),!0);return o&&u.isZero(n.getLength()/o.subtract(s).getLength()-.5522847498307936)&&u.isZero(r.getLength()/o.subtract(a).getLength()-.5522847498307936)}return!1}function r(t,e){return l[t]._point.getDistance(l[e]._point)}if(!this._closed)return null;var s,a,o,h,l=this._segments;if(!this.hasHandles()&&4===l.length&&i(0,2)&&i(1,3)&&function(t){var e=l[t],i=e.getPrevious(),n=e.getNext();return i._handleOut.isZero()&&e._handleIn.isZero()&&e._handleOut.isZero()&&n._handleIn.isZero()&&e._point.subtract(i._point).isOrthogonal(n._point.subtract(e._point))}(1)?(s=C.Rectangle,a=new d(r(0,3),r(0,1)),h=l[1]._point.add(l[2]._point).divide(2)):8===l.length&&n(0)&&n(2)&&n(4)&&n(6)&&i(1,5)&&i(3,7)?(s=C.Rectangle,o=(a=new d(r(1,6),r(0,3))).subtract(new d(r(0,7),r(1,2))).divide(2),h=l[3]._point.add(l[4]._point).divide(2)):4===l.length&&n(0)&&n(1)&&n(2)&&n(3)&&(u.isZero(r(0,2)-r(1,3))?(s=C.Circle,o=r(0,2)/2):(s=C.Ellipse,o=new d(r(2,0)/2,r(3,1)/2)),h=l[1]._point),s){var c=this.getPosition(!0),f=new s({center:c,size:a,radius:o,insert:!1});return f.copyAttributes(this,!0),f._matrix.prepend(this._matrix),f.rotate(h.subtract(c).getAngle()+90),(t===e||t)&&f.insertAbove(this),f}return null},toPath:"#clone",compare:function t(e){if(!e||e instanceof N)return t.base.call(this,e);var i=this.getCurves(),n=e.getCurves(),r=i.length,s=n.length;if(!r||!s)return r==s;for(var a,o,h=i[0].getValues(),u=[],l=0,c=0,f=0;f<s;f++){g=n[f].getValues();if(u.push(g),v=k.getOverlaps(h,g)){a=!f&&v[0][0]>0?s-1:f,o=v[0][1];break}}for(var d,_=Math.abs,g=u[a];h&&g;){var v=k.getOverlaps(h,g);if(v&&_(v[0][0]-c)<1e-8){1===(c=v[1][0])&&(h=++l<r?i[l].getValues():null,c=0);var p=v[0][1];if(_(p-o)<1e-8){if(d||(d=[a,p]),1===(o=v[1][1])&&(++a>=s&&(a=0),g=u[a]||n[a].getValues(),o=0),!h)return d[0]===a&&d[1]===o;continue}}break}return!1},_hitTestSelf:function(t,e,i,n){function r(e,i){return t.subtract(e).divide(i).length<=1}function s(t,i,n){if(!e.selected||i.isSelected()){var s=t._point;if(i!==s&&(i=i.add(s)),r(i,x))return new M(n,g,{segment:t,point:i})}}function a(t,i){return(i||e.segments)&&s(t,t._point,"segment")||!i&&e.handles&&(s(t,t._handleIn,"handle-in")||s(t,t._handleOut,"handle-out"))}function o(t){f.add(t)}function h(e){var i=y||e._index>0&&e._index<m-1;if("round"===(i?u:l))return r(e._point,x);if(f=new L({internal:!0,closed:!0}),i?e.isSmooth()||L._addBevelJoin(e,u,P,c,null,n,o,!0):"square"===l&&L._addSquareCap(e,l,P,null,n,o,!0),!f.isEmpty()){var s;return f.contains(t)||(s=f.getNearestLocation(t))&&r(s.getPoint(),w)}}var u,l,c,f,d,_,g=this,v=this.getStyle(),p=this._segments,m=p.length,y=this._closed,w=e._tolerancePadding,x=w,b=e.stroke&&v.hasStroke(),C=e.fill&&v.hasFill(),S=e.curves,P=b?v.getStrokeWidth()/2:C&&e.tolerance>0||S?0:null;if(null!==P&&(P>0?(u=v.getStrokeJoin(),l=v.getStrokeCap(),c=v.getMiterLimit(),x=x.add(L._getStrokePadding(P,n))):u=l="round"),!e.ends||e.segments||y){if(e.segments||e.handles)for(T=0;T<m;T++)if(_=a(p[T]))return _}else if(_=a(p[0],!0)||a(p[m-1],!0))return _;if(null!==P){if(d=this.getNearestLocation(t)){var I=d.getTime();0===I||1===I&&m>1?h(d.getSegment())||(d=null):r(d.getPoint(),x)||(d=null)}if(!d&&"miter"===u&&m>1)for(var T=0;T<m;T++){var z=p[T];if(t.getDistance(z._point)<=c*P&&h(z)){d=z.getLocation();break}}}return!d&&C&&this._contains(t)||d&&!b&&!S?new M("fill",this):d?new M(b?"stroke":"curve",this,{location:d,point:d.getPoint()}):null}},r.each(k._evaluateMethods,function(t){this[t+"At"]=function(e){var i=this.getLocationAt(e);return i&&i[t]()}},{beans:!1,getLocationOf:function(){for(var t=c.read(arguments),e=this.getCurves(),i=0,n=e.length;i<n;i++){var r=e[i].getLocationOf(t);if(r)return r}return null},getOffsetOf:function(){var t=this.getLocationOf.apply(this,arguments);return t?t.getOffset():null},getLocationAt:function(t){if("number"==typeof t){for(var e=this.getCurves(),i=0,n=0,r=e.length;n<r;n++){var s=i,a=e[n];if((i+=a.getLength())>t)return a.getLocationAt(t-s)}if(e.length>0&&t<=this.getLength())return new O(e[e.length-1],1)}else if(t&&t.getPath&&t.getPath()===this)return t;return null}}),new function(){function t(t,e,i,n){function r(e){var i=h[e],n=h[e+1];s==i&&a==n||(t.beginPath(),t.moveTo(s,a),t.lineTo(i,n),t.stroke(),t.beginPath(),t.arc(i,n,o,0,2*Math.PI,!0),t.fill())}for(var s,a,o=n/2,h=new Array(6),u=0,l=e.length;u<l;u++){var c=e[u],f=c._selection;if(c._transformCoordinates(i,h),s=h[0],a=h[1],2&f&&r(2),4&f&&r(4),t.fillRect(s-o,a-o,n,n),!(1&f)){var d=t.fillStyle;t.fillStyle="#ffffff",t.fillRect(s-o+1,a-o+1,n-2,n-2),t.fillStyle=d}}}function e(t,e,i){function n(e){if(i)e._transformCoordinates(i,_),r=_[0],s=_[1];else{var n=e._point;r=n._x,s=n._y}if(g)t.moveTo(r,s),g=!1;else{if(i)h=_[2],u=_[3];else{f=e._handleIn;h=r+f._x,u=s+f._y}h===r&&u===s&&l===a&&c===o?t.lineTo(r,s):t.bezierCurveTo(l,c,h,u,r,s)}if(a=r,o=s,i)l=_[4],c=_[5];else{var f=e._handleOut;l=a+f._x,c=o+f._y}}for(var r,s,a,o,h,u,l,c,f=e._segments,d=f.length,_=new Array(6),g=!0,v=0;v<d;v++)n(f[v]);e._closed&&d>0&&n(f[0])}return{_draw:function(t,i,n,r){function s(t){return c[(t%f+f)%f]}var a=i.dontStart,o=i.dontFinish||i.clip,h=this.getStyle(),u=h.hasFill(),l=h.hasStroke(),c=h.getDashArray(),f=!paper.support.nativeDash&&l&&c&&c.length;if(a||t.beginPath(),(u||l&&!f||o)&&(e(t,this,r),this._closed&&t.closePath()),!o&&(u||l)&&(this._setStyles(t,i,n),u&&(t.fill(h.getFillRule()),t.shadowColor="rgba(0,0,0,0)"),l)){if(f){a||t.beginPath();var d,_=new B(this,.25,32,!1,r),g=_.length,v=-h.getDashOffset(),p=0;for(v%=g;v>0;)v-=s(p--)+s(p--);for(;v<g;)d=v+s(p++),(v>0||d>0)&&_.drawPart(t,Math.max(v,0),Math.max(d,0)),v=d+s(p++)}t.stroke()}},_drawSelected:function(i,n){i.beginPath(),e(i,this,n),i.stroke(),t(i,this._segments,n,paper.settings.handleSize)}}},new function(){function t(t){var e=t._segments;if(!e.length)throw new Error("Use a moveTo() command first");return e[e.length-1]}return{moveTo:function(){var t=this._segments;1===t.length&&this.removeSegment(0),t.length||this._add([new T(c.read(arguments))])},moveBy:function(){throw new Error("moveBy() is unsupported on Path items.")},lineTo:function(){this._add([new T(c.read(arguments))])},cubicCurveTo:function(){var e=c.read(arguments),i=c.read(arguments),n=c.read(arguments),r=t(this);r.setHandleOut(e.subtract(r._point)),this._add([new T(n,i.subtract(n))])},quadraticCurveTo:function(){var e=c.read(arguments),i=c.read(arguments),n=t(this)._point;this.cubicCurveTo(e.add(n.subtract(e).multiply(1/3)),e.add(i.subtract(e).multiply(1/3)),i)},curveTo:function(){var e=c.read(arguments),i=c.read(arguments),n=r.pick(r.read(arguments),.5),s=1-n,a=t(this)._point,o=e.subtract(a.multiply(s*s)).subtract(i.multiply(n*n)).divide(2*n*s);if(o.isNaN())throw new Error("Cannot put a curve through points with parameter = "+n);this.quadraticCurveTo(o,i)},arcTo:function(){var e,i,n,s,a=Math.abs,o=Math.sqrt,h=t(this),l=h._point,f=c.read(arguments),_=r.peek(arguments);if("boolean"==typeof(x=r.pick(_,!0)))var g=(C=l.add(f).divide(2)).add(C.subtract(l).rotate(x?-90:90));else if(r.remain(arguments)<=2)g=f,f=c.read(arguments);else{var v=d.read(arguments),y=u.isZero;if(y(v.width)||y(v.height))return this.lineTo(f);var w=r.read(arguments),x=!!r.read(arguments),b=!!r.read(arguments),C=l.add(f).divide(2),S=(W=l.subtract(C).rotate(-w)).x,P=W.y,I=a(v.width),M=a(v.height),z=I*I,k=M*M,O=S*S,A=P*P,L=o(O/z+A/k);if(L>1&&(z=(I*=L)*I,k=(M*=L)*M),L=(z*k-z*A-k*O)/(z*A+k*O),a(L)<1e-12&&(L=0),L<0)throw new Error("Cannot create an arc with the given arguments");e=new c(I*P/M,-M*S/I).multiply((b===x?-1:1)*o(L)).rotate(w).add(C),i=(n=(s=(new p).translate(e).rotate(w).scale(I,M))._inverseTransform(l)).getDirectedAngle(s._inverseTransform(f)),!x&&i>0?i-=360:x&&i<0&&(i+=360)}if(g){var N=new m(l.add(g).divide(2),g.subtract(l).rotate(90),!0),B=new m(g.add(f).divide(2),f.subtract(g).rotate(90),!0),D=new m(l,f),j=D.getSide(g);if(!(e=N.intersect(B,!0))){if(!j)return this.lineTo(f);throw new Error("Cannot create an arc with the given arguments")}i=(n=l.subtract(e)).getDirectedAngle(f.subtract(e));var E=D.getSide(e);0===E?i=j*a(i):j===E&&(i+=i<0?360:-360)}for(var F=a(i),R=F>=360?4:Math.ceil((F-1e-7)/90),q=i/R,V=q*Math.PI/360,H=4/3*Math.sin(V)/(1+Math.cos(V)),Z=[],U=0;U<=R;U++){var W=f,G=null;if(U<R&&(G=n.rotate(90).multiply(H),s?(W=s._transformPoint(n),G=s._transformPoint(n.add(G)).subtract(W)):W=e.add(n)),U){var J=n.rotate(-90).multiply(H);s&&(J=s._transformPoint(n.add(J)).subtract(W)),Z.push(new T(W,J,G))}else h.setHandleOut(G);n=n.rotate(q)}this._add(Z)},lineBy:function(){var e=c.read(arguments),i=t(this)._point;this.lineTo(i.add(e))},curveBy:function(){var e=c.read(arguments),i=c.read(arguments),n=r.read(arguments),s=t(this)._point;this.curveTo(s.add(e),s.add(i),n)},cubicCurveBy:function(){var e=c.read(arguments),i=c.read(arguments),n=c.read(arguments),r=t(this)._point;this.cubicCurveTo(r.add(e),r.add(i),r.add(n))},quadraticCurveBy:function(){var e=c.read(arguments),i=c.read(arguments),n=t(this)._point;this.quadraticCurveTo(n.add(e),n.add(i))},arcBy:function(){var e=t(this)._point,i=e.add(c.read(arguments)),n=r.pick(r.peek(arguments),!0);"boolean"==typeof n?this.arcTo(i,n):this.arcTo(i,e.add(c.read(arguments)))},closePath:function(t){this.setClosed(!0),this.join(this,t)}}},{_getBounds:function(t,e){var i=e.handle?"getHandleBounds":e.stroke?"getStrokeBounds":"getBounds";return L[i](this._segments,this._closed,this,t,e)},statics:{getBounds:function(t,e,i,n,r,s){function a(t){t._transformCoordinates(n,h);for(var e=0;e<2;e++)k._addBounds(u[e],u[e+4],h[e+2],h[e],e,s?s[e]:0,l,c,f);var i=u;u=h,h=i}var o=t[0];if(!o)return new g;for(var h=new Array(6),u=o._transformCoordinates(n,new Array(6)),l=u.slice(0,2),c=l.slice(),f=new Array(2),d=1,_=t.length;d<_;d++)a(t[d]);return e&&a(o),new g(l[0],l[1],c[0]-l[0],c[1]-l[1])},getStrokeBounds:function(t,e,i,n,r){function s(t){v=v.include(t)}function a(t){v=v.unite(x.setCenter(t._point.transform(n)))}function o(t,e){"round"===e||t.isSmooth()?a(t):L._addBevelJoin(t,e,p,w,n,f,s)}function h(t,e){"round"===e?a(t):L._addSquareCap(t,e,p,n,f,s)}var u=i.getStyle(),l=u.hasStroke(),c=u.getStrokeWidth(),f=l&&i._getStrokeMatrix(n,r),_=l&&L._getStrokePadding(c,f),v=L.getBounds(t,e,i,n,r,_);if(!l)return v;for(var p=c/2,m=u.getStrokeJoin(),y=u.getStrokeCap(),w=u.getMiterLimit(),x=new g(new d(_)),b=t.length-(e?0:1),C=1;C<b;C++)o(t[C],m);return e?o(t[0],m):b>0&&(h(t[0],y),h(t[t.length-1],y)),v},_getStrokePadding:function(t,e){if(!e)return[t,t];var i=new c(t,0).transform(e),n=new c(0,t).transform(e),r=i.getAngleInRadians(),s=i.getLength(),a=n.getLength(),o=Math.sin(r),h=Math.cos(r),u=Math.tan(r),l=Math.atan2(a*u,s),f=Math.atan2(a,u*s);return[Math.abs(s*Math.cos(l)*h+a*Math.sin(l)*o),Math.abs(a*Math.sin(f)*h+s*Math.cos(f)*o)]},_addBevelJoin:function(t,e,i,n,r,s,a,o){var h=t.getCurve(),u=h.getPrevious(),l=h.getPoint1().transform(r),f=u.getNormalAtTime(1).multiply(i).transform(s),d=h.getNormalAtTime(0).multiply(i).transform(s);if(f.getDirectedAngle(d)<0&&(f=f.negate(),d=d.negate()),o&&a(l),a(l.add(f)),"miter"===e){var _=new m(l.add(f),new c(-f.y,f.x),!0).intersect(new m(l.add(d),new c(-d.y,d.x),!0),!0);_&&l.getDistance(_)<=n*i&&a(_)}a(l.add(d))},_addSquareCap:function(t,e,i,n,r,s,a){var o=t._point.transform(n),h=t.getLocation(),u=h.getNormal().multiply(0===h.getTime()?i:-i).transform(r);"square"===e&&(a&&(s(o.subtract(u)),s(o.add(u))),o=o.add(u.rotate(-90))),s(o.add(u)),s(o.subtract(u))},getHandleBounds:function(t,e,i,n,r){var s,a,o=i.getStyle();if(r.stroke&&o.hasStroke()){var h=i._getStrokeMatrix(n,r),u=o.getStrokeWidth()/2,l=u;"miter"===o.getStrokeJoin()&&(l=u*o.getMiterLimit()),"square"===o.getStrokeCap()&&(l=Math.max(l,u*Math.SQRT2)),s=L._getStrokePadding(u,h),a=L._getStrokePadding(l,h)}for(var c=new Array(6),f=1/0,d=-f,_=f,v=d,p=0,m=t.length;p<m;p++){t[p]._transformCoordinates(n,c);for(var y=0;y<6;y+=2){var w=y?s:a,x=w?w[0]:0,b=w?w[1]:0,C=c[y],S=c[y+1],P=C-x,I=C+x,M=S-b,T=S+b;P<f&&(f=P),I>d&&(d=I),M<_&&(_=M),T>v&&(v=T)}}return new g(f,_,d-f,v-_)}}});L.inject({statics:new function(){function t(t,e,i){var n=r.getNamed(i),s=new L(n&&0==n.insert&&w.NO_INSERT);return s._add(t),s._closed=e,s.set(n,{insert:!0})}function e(e,i,r){for(var s=new Array(4),a=0;a<4;a++){var o=n[a];s[a]=new T(o._point.multiply(i).add(e),o._handleIn.multiply(i),o._handleOut.multiply(i))}return t(s,!0,r)}var i=.5522847498307936,n=[new T([-1,0],[0,i],[0,-i]),new T([0,-1],[-i,0],[i,0]),new T([1,0],[0,-i],[0,i]),new T([0,1],[i,0],[-i,0])];return{Line:function(){return t([new T(c.readNamed(arguments,"from")),new T(c.readNamed(arguments,"to"))],!1,arguments)},Circle:function(){var t=c.readNamed(arguments,"center"),i=r.readNamed(arguments,"radius");return e(t,new d(i),arguments)},Rectangle:function(){var e,n=g.readNamed(arguments,"rectangle"),r=d.readNamed(arguments,"radius",0,{readNull:!0}),s=n.getBottomLeft(!0),a=n.getTopLeft(!0),o=n.getTopRight(!0),h=n.getBottomRight(!0);if(!r||r.isZero())e=[new T(s),new T(a),new T(o),new T(h)];else{var u=(r=d.min(r,n.getSize(!0).divide(2))).width,l=r.height,c=u*i,f=l*i;e=[new T(s.add(u,0),null,[-c,0]),new T(s.subtract(0,l),[0,f]),new T(a.add(0,l),null,[0,-f]),new T(a.add(u,0),[-c,0],null),new T(o.subtract(u,0),null,[c,0]),new T(o.add(0,l),[0,-f],null),new T(h.subtract(0,l),null,[0,f]),new T(h.subtract(u,0),[c,0])]}return t(e,!0,arguments)},RoundRectangle:"#Rectangle",Ellipse:function(){var t=C._readEllipse(arguments);return e(t.center,t.radius,arguments)},Oval:"#Ellipse",Arc:function(){var t=c.readNamed(arguments,"from"),e=c.readNamed(arguments,"through"),i=c.readNamed(arguments,"to"),n=r.getNamed(arguments),s=new L(n&&0==n.insert&&w.NO_INSERT);return s.moveTo(t),s.arcTo(e,i),s.set(n)},RegularPolygon:function(){for(var e=c.readNamed(arguments,"center"),i=r.readNamed(arguments,"sides"),n=r.readNamed(arguments,"radius"),s=360/i,a=i%3==0,o=new c(0,a?-n:n),h=a?-1:.5,u=new Array(i),l=0;l<i;l++)u[l]=new T(e.add(o.rotate((l+h)*s)));return t(u,!0,arguments)},Star:function(){for(var e=c.readNamed(arguments,"center"),i=2*r.readNamed(arguments,"points"),n=r.readNamed(arguments,"radius1"),s=r.readNamed(arguments,"radius2"),a=360/i,o=new c(0,-1),h=new Array(i),u=0;u<i;u++)h[u]=new T(e.add(o.rotate(a*u).multiply(u%2?s:n)));return t(h,!0,arguments)}}}});var N=A.extend({_class:"CompoundPath",_serializeFields:{children:[]},beans:!0,initialize:function(t){this._children=[],this._namedChildren={},this._initialize(t)||("string"==typeof t?this.setPathData(t):this.addChildren(Array.isArray(t)?t:arguments))},insertChildren:function t(e,i){var n=i,s=n[0];s&&"number"==typeof s[0]&&(n=[n]);for(var a=i.length-1;a>=0;a--){var o=n[a];n!==i||o instanceof L||(n=r.slice(n)),Array.isArray(o)?n[a]=new L({segments:o,insert:!1}):o instanceof N&&(n.splice.apply(n,[a,1].concat(o.removeChildren())),o.remove())}return t.base.call(this,e,n)},reduce:function t(e){for(var i=this._children,n=i.length-1;n>=0;n--)(r=i[n].reduce(e)).isEmpty()&&r.remove();if(!i.length){var r=new L(w.NO_INSERT);return r.copyAttributes(this),r.insertAbove(this),this.remove(),r}return t.base.call(this)},isClosed:function(){for(var t=this._children,e=0,i=t.length;e<i;e++)if(!t[e]._closed)return!1;return!0},setClosed:function(t){for(var e=this._children,i=0,n=e.length;i<n;i++)e[i].setClosed(t)},getFirstSegment:function(){var t=this.getFirstChild();return t&&t.getFirstSegment()},getLastSegment:function(){var t=this.getLastChild();return t&&t.getLastSegment()},getCurves:function(){for(var t=this._children,e=[],i=0,n=t.length;i<n;i++)e.push.apply(e,t[i].getCurves());return e},getFirstCurve:function(){var t=this.getFirstChild();return t&&t.getFirstCurve()},getLastCurve:function(){var t=this.getLastChild();return t&&t.getLastCurve()},getArea:function(){for(var t=this._children,e=0,i=0,n=t.length;i<n;i++)e+=t[i].getArea();return e},getLength:function(){for(var t=this._children,e=0,i=0,n=t.length;i<n;i++)e+=t[i].getLength();return e},getPathData:function(t,e){for(var i=this._children,n=[],r=0,s=i.length;r<s;r++){var a=i[r],o=a._matrix;n.push(a.getPathData(t&&!o.isIdentity()?t.appended(o):t,e))}return n.join("")},_hitTestChildren:function t(e,i,n){return t.base.call(this,e,i.class===L||"path"===i.type?i:r.set({},i,{fill:!1}),n)},_draw:function(t,e,i,n){var r=this._children;if(r.length){e=e.extend({dontStart:!0,dontFinish:!0}),t.beginPath();for(var s=0,a=r.length;s<a;s++)r[s].draw(t,e,n);if(!e.clip){this._setStyles(t,e,i);var o=this._style;o.hasFill()&&(t.fill(o.getFillRule()),t.shadowColor="rgba(0,0,0,0)"),o.hasStroke()&&t.stroke()}}},_drawSelected:function(t,e,i){for(var n=this._children,r=0,s=n.length;r<s;r++){var a=n[r],o=a._matrix;i[a._id]||a._drawSelected(t,o.isIdentity()?e:e.appended(o))}}},new function(){function t(t,e){var i=t._children;if(e&&!i.length)throw new Error("Use a moveTo() command first");return i[i.length-1]}return r.each(["lineTo","cubicCurveTo","quadraticCurveTo","curveTo","arcTo","lineBy","cubicCurveBy","quadraticCurveBy","curveBy","arcBy"],function(e){this[e]=function(){var i=t(this,!0);i[e].apply(i,arguments)}},{moveTo:function(){var e=t(this),i=e&&e.isEmpty()?e:new L(w.NO_INSERT);i!==e&&this.addChild(i),i.moveTo.apply(i,arguments)},moveBy:function(){var e=t(this,!0),i=e&&e.getLastSegment(),n=c.read(arguments);this.moveTo(i?n.add(i._point):n)},closePath:function(e){t(this,!0).closePath(e)}})},r.each(["reverse","flatten","simplify","smooth"],function(t){this[t]=function(e){for(var i,n=this._children,r=0,s=n.length;r<s;r++)i=n[r][t](e)||i;return i}},{}));A.inject(new function(){function t(t,e){var i=t.clone(!1).reduce({simplify:!0}).transform(null,!0,!0);return e?i.resolveCrossings().reorient("nonzero"===i.getFillRule(),!0):i}function i(t,e,i,n,r){var s=new N(w.NO_INSERT);return s.addChildren(t,!0),s=s.reduce({simplify:e}),r&&0==r.insert||s.insertAbove(n&&i.isSibling(n)&&i.getIndex()<n.getIndex()?n:i),s.copyAttributes(i,!0),s}function n(e,n,r,a){function o(t){for(var e=0,i=t.length;e<i;e++){var n=t[e];w.push.apply(w,n._segments),x.push.apply(x,n.getCurves()),n._overlapsOnly=!0}}if(a&&(0==a.trace||a.stroke)&&/^(subtract|intersect)$/.test(r))return s(e,n,r);var u=t(e,!0),c=n&&e!==n&&t(n,!0),_=p[r];_[r]=!0,c&&(_.subtract||_.exclude)^c.isClockwise()^u.isClockwise()&&c.reverse();var g,v=l(O.expand(u.getCrossings(c))),m=u._children||[u],y=c&&(c._children||[c]),w=[],x=[];if(v.length){o(m),y&&o(y);for(var b=0,C=v.length;b<C;b++)f(v[b]._segment,u,c,x,_);for(var b=0,C=w.length;b<C;b++){var S=w[b],P=S._intersection;S._winding||f(S,u,c,x,_),P&&P._overlap||(S._path._overlapsOnly=!1)}g=d(w,_)}else g=h(y?m.concat(y):m.slice(),function(t){return!!_[t]});return i(g,!0,e,n,a)}function s(e,n,r){function s(t){if(!c[t._id]&&(l||o.contains(t.getPointAt(t.getLength()/2))^u))return f.unshift(t),c[t._id]=!0}for(var a=t(e),o=t(n),h=a.getCrossings(o),u="subtract"===r,l="divide"===r,c={},f=[],d=h.length-1;d>=0;d--){var _=h[d].split();_&&(s(_)&&_.getFirstSegment().setHandleIn(0,0),a.getLastSegment().setHandleOut(0,0))}return s(a),i(f,!1,e,n)}function a(t,e){for(var i=t;i;){if(i===e)return;i=i._previous}for(;t._next&&t._next!==e;)t=t._next;if(!t._next){for(;e._previous;)e=e._previous;t._next=e,e._previous=t}}function o(t){for(var e=t.length-1;e>=0;e--)t[e].clearHandles()}function h(t,e,i){var n=t&&t.length;if(n){var s=r.each(t,function(t,e){this[t._id]={container:null,winding:t.isClockwise()?1:-1,index:e}},{}),a=t.slice().sort(function(t,e){return v(e.getArea())-v(t.getArea())}),o=a[0];null==i&&(i=o.isClockwise());for(var h=0;h<n;h++){for(var u=a[h],l=s[u._id],c=u.getInteriorPoint(),f=0,d=h-1;d>=0;d--){var _=a[d];if(_.contains(c)){var g=s[_._id];f=g.winding,l.winding+=f,l.container=g.exclude?g.container:_;break}}if(e(l.winding)===e(f))l.exclude=!0,t[l.index]=null;else{var p=l.container;u.setClockwise(p?!p.isClockwise():i)}}}return t}function l(t,e,i){function n(t){return t._path._id+"."+t._segment1._index}for(var r,s,h,u=e&&[],l=!1,c=i||[],f=i&&{},d=(i&&i.length)-1;d>=0;d--)(y=i[d])._path&&(f[n(y)]=!0);for(d=t.length-1;d>=0;d--){var _,g=t[d],v=g._time,p=v,m=e&&!e(g),y=g._curve;if(y&&(y!==s?(l=!y.hasHandles()||f&&f[n(y)],r=[],h=null,s=y):h>=1e-8&&(v/=h)),m)r&&r.push(g);else{if(e&&u.unshift(g),h=p,v<1e-8)_=y._segment1;else if(v>1-1e-8)_=y._segment2;else{var w=y.divideAtTime(v,!0);l&&c.push(y,w),_=w._segment1;for(var x=r.length-1;x>=0;x--){var b=r[x];b._time=(b._time-v)/(1-v)}}g._setSegment(_);var C=_._intersection,S=g._intersection;if(C){a(C,S);for(var P=C;P;)a(P._intersection,C),P=P._next}else _._intersection=S}}return i||o(c),u||t}function c(t,e,i,n,r){function s(s){var a=s[l+0],h=s[l+6];if(!(p<_(a,h)||p>g(a,h))){var f=s[u+0],v=s[u+2],x=s[u+4],b=s[u+6];if(a!==h){var I=p===a?0:p===h?1:y>g(f,v,x,b)||w<_(f,v,x,b)?1:k.solveCubic(s,l,p,T,0,1)>0?T[0]:1,z=0===I?f:1===I?b:k.getPoint(s,I)[i?"y":"x"],O=a>h?1:-1,A=o[l]>o[l+6]?1:-1,L=o[u+6];return p!==a?(z<y?C+=O:z>w?S+=O:P=!0,z>d-m&&z<d+m&&(M/=2)):(O!==A?f<y?C+=O:f>w&&(S+=O):f!=L&&(L<w&&z>w?(S+=O,P=!0):L>y&&z<y&&(C+=O,P=!0)),M=0),o=s,!r&&z>y&&z<w&&0===k.getTangent(s,I)[i?"x":"y"]&&c(t,e,!i,n,!0)}(f<w&&b>y||b<w&&f>y)&&(P=!0)}}function a(t){var e=t[l+0],n=t[l+2],r=t[l+4],a=t[l+6];if(p<=g(e,n,r,a)&&p>=_(e,n,r,a))for(var o,h=t[u+0],c=t[u+2],f=t[u+4],d=t[u+6],v=y>g(h,c,f,d)||w<_(h,c,f,d)?[t]:k.getMonoCurves(t,i),m=0,x=v.length;m<x;m++)if(o=s(v[m]))return o}for(var o,h,u=i?1:0,l=1^u,f=[t.x,t.y],d=f[u],p=f[l],m=1e-6,y=d-1e-9,w=d+1e-9,x=0,b=0,C=0,S=0,P=!1,I=!1,M=1,T=[],z=0,O=e.length;z<O;z++){var A,L=e[z],N=L._path,B=L.getValues();if(!(z&&e[z-1]._path===N||(o=null,N._closed||(h=k.getValues(N.getLastCurve().getSegment2(),L.getSegment1(),null,!n))[l]!==h[l+6]&&(o=h),o))){o=B;for(var D=N.getLastCurve();D&&D!==L;){var j=D.getValues();if(j[l]!==j[l+6]){o=j;break}D=D.getPrevious()}}if(A=a(B))return A;if(z+1===O||e[z+1]._path!==N){if(h&&(A=a(h)))return A;!P||C||S||(C=S=N.isClockwise(n)^i?1:-1),x+=C,b+=S,C=S=0,P&&(I=!0,P=!1),h=null}}return x=v(x),b=v(b),{winding:g(x,b),windingL:x,windingR:b,quality:M,onPath:I}}function f(t,e,i,n,r){var s=[],a=t,o=0;do{d=(y=t.getCurve()).getLength();s.push({segment:t,curve:y,length:d}),o+=d,t=t.getNext()}while(t&&!t._intersection&&t!==a);for(var h=[.5,.25,.75],l={winding:0,quality:-1},f=0;f<h.length&&l.quality<.5;f++)for(var d=o*h[f],_=0,g=s.length;_<g;_++){var p=s[_],m=p.length;if(d<=m){var y=p.curve,w=y._path,x=w._parent,b=x instanceof N?x:w,C=u.clamp(y.getTimeAt(d),1e-8,1-1e-8),S=y.getPointAtTime(C),P=v(y.getTangentAtTime(C).y)<Math.SQRT1_2,I=r.subtract&&i&&(b===e&&i._getWinding(S,P,!0).winding||b===i&&!e._getWinding(S,P,!0).winding)?{winding:0,quality:1}:c(S,n,P,!0);I.quality>l.quality&&(l=I);break}d-=m}for(_=s.length-1;_>=0;_--)s[_].segment._winding=l}function d(t,e){function i(t){var i;return!(!t||t._visited||e&&(!e[(i=t._winding||{}).winding]||e.unite&&2===i.winding&&i.windingL&&i.windingR))}function n(t){if(t)for(var e=0,i=s.length;e<i;e++)if(t===s[e])return!0;return!1}function r(t){for(var e=t._segments,i=0,n=e.length;i<n;i++)e[i]._visited=!0}var s,a=[];t.sort(function(t,e){var i=t._intersection,n=e._intersection,r=!(!i||!i._overlap),s=!(!n||!n._overlap),a=t._path,o=e._path;return r^s?r?1:-1:!i^!n?i?1:-1:a!==o?a._id-o._id:t._index-e._index});for(var o=0,h=t.length;o<h;o++){var u,l,c,f=t[o],d=i(f),_=null,g=!1,v=!0,p=[];if(d&&f._path._overlapsOnly){var m=f._path,y=f._intersection._segment._path;m.compare(y)&&(m.getArea()&&a.push(m.clone(!1)),r(m),r(y),d=!1)}for(;d;){var x=!_,b=function(t,e){function r(r,a){for(;r&&r!==a;){var o=r._segment,u=o&&o._path;if(u){var l=o.getNext()||u.getFirstSegment(),c=l._intersection;o!==t&&(n(o)||n(l)||l&&i(o)&&(i(l)||c&&i(c._segment)))&&h.push(o),e&&s.push(o)}r=r._next}}var a=t._intersection,o=a,h=[];if(e&&(s=[t]),a){for(r(a);a&&a._prev;)a=a._prev;r(a,o)}return h}(f,x),C=b.shift(),S=!(g=!x&&(n(f)||n(C)))&&C;if(x&&(_=new L(w.NO_INSERT),u=null),g){(f.isFirst()||f.isLast())&&(v=f._path._closed),f._visited=!0;break}if(S&&u&&(p.push(u),u=null),u||(S&&b.push(f),u={start:_._segments.length,crossings:b,visited:l=[],handleIn:c}),S&&(f=C),!i(f)){_.removeSegments(u.start);for(var P=0,I=l.length;P<I;P++)l[P]._visited=!1;l.length=0;do{(f=u&&u.crossings.shift())&&f._path||(f=null,(u=p.pop())&&(l=u.visited,c=u.handleIn))}while(u&&!i(f));if(!f)break}var M=f.getNext();_.add(new T(f._point,c,M&&f._handleOut)),f._visited=!0,l.push(f),f=M||f._path.getFirstSegment(),c=M&&M._handleIn}g&&(v&&(_.getFirstSegment().setHandleIn(c),_.setClosed(v)),0!==_.getArea()&&a.push(_))}return a}var _=Math.min,g=Math.max,v=Math.abs,p={unite:{1:!0,2:!0},intersect:{2:!0},subtract:{1:!0},exclude:{1:!0,"-1":!0}};return{_getWinding:function(t,e,i){return c(t,this.getCurves(),e,i)},unite:function(t,e){return n(this,t,"unite",e)},intersect:function(t,e){return n(this,t,"intersect",e)},subtract:function(t,e){return n(this,t,"subtract",e)},exclude:function(t,e){return n(this,t,"exclude",e)},divide:function(t,e){return e&&(0==e.trace||e.stroke)?s(this,t,"divide"):i([this.subtract(t,e),this.intersect(t,e)],!0,this,t,e)},resolveCrossings:function(){function t(t,e){var i=t&&t._intersection;return i&&i._overlap&&i._path===e}var e=this._children,i=e||[this],n=!1,s=!1,a=this.getIntersections(null,function(t){return t.hasOverlap()&&(n=!0)||t.isCrossing()&&(s=!0)}),h=n&&s&&[];if(a=O.expand(a),n)for(var u=l(a,function(t){return t.hasOverlap()},h),c=u.length-1;c>=0;c--){var f=u[c],_=f._path,g=f._segment,v=g.getPrevious(),p=g.getNext();t(v,_)&&t(p,_)&&(g.remove(),v._handleOut._set(0,0),p._handleIn._set(0,0),v===g||v.getCurve().hasLength()||(p._handleIn.set(v._handleIn),v.remove()))}s&&(l(a,n&&function(t){var e=t.getCurve(),i=t.getSegment(),n=t._intersection,r=n._curve,s=n._segment;if(e&&r&&e._path&&r._path)return!0;i&&(i._intersection=null),s&&(s._intersection=null)},h),h&&o(h),i=d(r.each(i,function(t){this.push.apply(this,t._segments)},[])));var m,y=i.length;return y>1&&e?(i!==e&&this.setChildren(i),m=this):1!==y||e||(i[0]!==this&&this.setSegments(i[0].removeSegments()),m=this),m||((m=new N(w.NO_INSERT)).addChildren(i),(m=m.reduce()).copyAttributes(this),this.replaceWith(m)),m},reorient:function(t,i){var n=this._children;return n&&n.length?this.setChildren(h(this.removeChildren(),function(e){return!!(t?e:1&e)},i)):i!==e&&this.setClockwise(i),this},getInteriorPoint:function(){var t=this.getBounds().getCenter(!0);if(!this.contains(t)){for(var e=this.getCurves(),i=t.y,n=[],r=[],s=0,a=e.length;s<a;s++){var o=e[s].getValues(),h=o[1],u=o[3],l=o[5],c=o[7];if(i>=_(h,u,l,c)&&i<=g(h,u,l,c))for(var f=k.getMonoCurves(o),d=0,v=f.length;d<v;d++){var p=f[d],m=p[1],y=p[7];if(m!==y&&(i>=m&&i<=y||i>=y&&i<=m)){var w=i===m?p[0]:i===y?p[6]:1===k.solveCubic(p,1,i,r,0,1)?k.getPoint(p,r[0]).x:(p[0]+p[6])/2;n.push(w)}}}n.length>1&&(n.sort(function(t,e){return t-e}),t.x=(n[0]+n[1])/2)}return t}}});var B=r.extend({_class:"PathFlattener",initialize:function(t,e,i,n,r){function s(t,e){var i=k.getValues(t,e,r);h.push(i),a(i,t._index,0,1)}function a(t,i,r,s){if(!(s-r>c)||n&&k.isStraight(t)||k.isFlatEnough(t,e||.25)){var o=t[6]-t[0],h=t[7]-t[1],f=Math.sqrt(o*o+h*h);f>0&&(l+=f,u.push({offset:l,curve:t,index:i,time:s}))}else{var d=k.subdivide(t,.5),_=(r+s)/2;a(d[0],i,r,_),a(d[1],i,_,s)}}for(var o,h=[],u=[],l=0,c=1/(i||32),f=t._segments,d=f[0],_=1,g=f.length;_<g;_++)s(d,o=f[_]),d=o;t._closed&&s(o,f[0]),this.curves=h,this.parts=u,this.length=l,this.index=0},_get:function(t){for(var e,i=this.parts,n=i.length,r=this.index;e=r,r&&!(i[--r].offset<t););for(;e<n;e++){var s=i[e];if(s.offset>=t){this.index=e;var a=i[e-1],o=a&&a.index===s.index?a.time:0,h=a?a.offset:0;return{index:s.index,time:o+(s.time-o)*(t-h)/(s.offset-h)}}}return{index:i[n-1].index,time:1}},drawPart:function(t,e,i){for(var n=this._get(e),r=this._get(i),s=n.index,a=r.index;s<=a;s++){var o=k.getPart(this.curves[s],s===n.index?n.time:0,s===r.index?r.time:1);s===n.index&&t.moveTo(o[0],o[1]),t.bezierCurveTo.apply(t,o.slice(2))}}},r.each(k._evaluateMethods,function(t){this[t+"At"]=function(e){var i=this._get(e);return k[t](this.curves[i.index],i.time)}},{})),D=r.extend({initialize:function(t){for(var e,i=this.points=[],n=t._segments,r=t._closed,s=0,a=n.length;s<a;s++){var o=n[s].point;e&&e.equals(o)||i.push(e=o.clone())}r&&(i.unshift(i[i.length-1]),i.push(i[1])),this.closed=r},fit:function(t){var e=this.points,i=e.length,n=null;return i>0&&(n=[new T(e[0])],i>1&&(this.fitCubic(n,t,0,i-1,e[1].subtract(e[0]),e[i-2].subtract(e[i-1])),this.closed&&(n.shift(),n.pop()))),n},fitCubic:function(t,e,i,n,r,s){var a=this.points;if(n-i!=1){for(var o,h=this.chordLengthParameterize(i,n),u=Math.max(e,e*e),l=!0,c=0;c<=4;c++){var f=this.generateBezier(i,n,h,r,s),d=this.findMaxError(i,n,f,h);if(d.error<e&&l)return void this.addCurve(t,f);if(o=d.index,d.error>=u)break;l=this.reparameterize(i,n,h,f),u=d.error}var _=a[o-1].subtract(a[o+1]);this.fitCubic(t,e,i,o,r,_),this.fitCubic(t,e,o,n,_.negate(),s)}else{var g=a[i],v=a[n],p=g.getDistance(v)/3;this.addCurve(t,[g,g.add(r.normalize(p)),v.add(s.normalize(p)),v])}},addCurve:function(t,e){t[t.length-1].setHandleOut(e[1].subtract(e[0])),t.push(new T(e[3],e[2].subtract(e[3])))},generateBezier:function(t,e,i,n,r){for(var s=Math.abs,a=this.points,o=a[t],h=a[e],u=[[0,0],[0,0]],l=[0,0],c=0,f=e-t+1;c<f;c++){var d=i[c],_=1-d,g=3*d*_,v=_*_*_,p=g*_,m=g*d,y=d*d*d,w=n.normalize(p),x=r.normalize(m),b=a[t+c].subtract(o.multiply(v+p)).subtract(h.multiply(m+y));u[0][0]+=w.dot(w),u[0][1]+=w.dot(x),u[1][0]=u[0][1],u[1][1]+=x.dot(x),l[0]+=w.dot(b),l[1]+=x.dot(b)}var C,S,P=u[0][0]*u[1][1]-u[1][0]*u[0][1];if(s(P)>1e-12){var I=u[0][0]*l[1]-u[1][0]*l[0];C=(l[0]*u[1][1]-l[1]*u[0][1])/P,S=I/P}else{var M=u[0][0]+u[0][1],T=u[1][0]+u[1][1];C=S=s(M)>1e-12?l[0]/M:s(T)>1e-12?l[1]/T:0}var z,k,O=h.getDistance(o),A=1e-12*O;if(C<A||S<A)C=S=O/3;else{var L=h.subtract(o);z=n.normalize(C),k=r.normalize(S),z.dot(L)-k.dot(L)>O*O&&(C=S=O/3,z=k=null)}return[o,o.add(z||n.normalize(C)),h.add(k||r.normalize(S)),h]},reparameterize:function(t,e,i,n){for(r=t;r<=e;r++)i[r-t]=this.findRoot(n,this.points[r],i[r-t]);for(var r=1,s=i.length;r<s;r++)if(i[r]<=i[r-1])return!1;return!0},findRoot:function(t,e,i){for(var n=[],r=[],s=0;s<=2;s++)n[s]=t[s+1].subtract(t[s]).multiply(3);for(s=0;s<=1;s++)r[s]=n[s+1].subtract(n[s]).multiply(2);var a=this.evaluate(3,t,i),o=this.evaluate(2,n,i),h=this.evaluate(1,r,i),l=a.subtract(e),c=o.dot(o)+l.dot(h);return u.isZero(c)?i:i-l.dot(o)/c},evaluate:function(t,e,i){for(var n=e.slice(),r=1;r<=t;r++)for(var s=0;s<=t-r;s++)n[s]=n[s].multiply(1-i).add(n[s+1].multiply(i));return n[0]},chordLengthParameterize:function(t,e){for(var i=[0],n=t+1;n<=e;n++)i[n-t]=i[n-t-1]+this.points[n].getDistance(this.points[n-1]);for(var n=1,r=e-t;n<=r;n++)i[n]/=i[r];return i},findMaxError:function(t,e,i,n){for(var r=Math.floor((e-t+1)/2),s=0,a=t+1;a<e;a++){var o=this.evaluate(3,i,n[a-t]).subtract(this.points[a]),h=o.x*o.x+o.y*o.y;h>=s&&(s=h,r=a)}return{error:s,index:r}}}),j=w.extend({_class:"TextItem",_applyMatrix:!1,_canApplyMatrix:!1,_serializeFields:{content:null},_boundsOptions:{stroke:!1,handle:!1},initialize:function(t){this._content="",this._lines=[];var i=t&&r.isPlainObject(t)&&t.x===e&&t.y===e;this._initialize(i&&t,!i&&c.read(arguments))},_equals:function(t){return this._content===t._content},copyContent:function(t){this.setContent(t._content)},getContent:function(){return this._content},setContent:function(t){this._content=""+t,this._lines=this._content.split(/\r\n|\n|\r/gm),this._changed(265)},isEmpty:function(){return!this._content},getCharacterStyle:"#getStyle",setCharacterStyle:"#setStyle",getParagraphStyle:"#getStyle",setParagraphStyle:"#setStyle"}),E=j.extend({_class:"PointText",initialize:function(){j.apply(this,arguments)},getPoint:function(){var t=this._matrix.getTranslation();return new f(t.x,t.y,this,"setPoint")},setPoint:function(){var t=c.read(arguments);this.translate(t.subtract(this._matrix.getTranslation()))},_draw:function(t,e,i){if(this._content){this._setStyles(t,e,i);var n=this._lines,r=this._style,s=r.hasFill(),a=r.hasStroke(),o=r.getLeading(),h=t.shadowColor;t.font=r.getFontStyle(),t.textAlign=r.getJustification();for(var u=0,l=n.length;u<l;u++){t.shadowColor=h;var c=n[u];s&&(t.fillText(c,0,0),t.shadowColor="rgba(0,0,0,0)"),a&&t.strokeText(c,0,0),t.translate(0,o)}}},_getBounds:function(t,e){var i=this._style,n=this._lines,r=n.length,s=i.getJustification(),a=i.getLeading(),o=this.getView().getTextWidth(i.getFontStyle(),n),h=0;"left"!==s&&(h-=o/("center"===s?2:1));var u=new g(h,r?-.75*a:0,o,r*a);return t?t._transformBounds(u,u):u}}),F=r.extend(new function(){function t(t){var n,r=t.match(/^#(\w{1,2})(\w{1,2})(\w{1,2})$/);if(r){n=[0,0,0];for(s=0;s<3;s++){h=r[s+1];n[s]=parseInt(1==h.length?h+h:h,16)/255}}else if(r=t.match(/^rgba?\((.*)\)$/))for(var s=0,o=(n=r[1].split(",")).length;s<o;s++){var h=+n[s];n[s]=s<3?h/255:h}else if(i){var u=a[t];if(!u){e||((e=Q.getContext(1,1)).globalCompositeOperation="copy"),e.fillStyle="rgba(0,0,0,0)",e.fillStyle=t,e.fillRect(0,0,1,1);var l=e.getImageData(0,0,1,1).data;u=a[t]=[l[0]/255,l[1]/255,l[2]/255]}n=u.slice()}else n=[0,0,0];return n}var e,n={gray:["gray"],rgb:["red","green","blue"],hsb:["hue","saturation","brightness"],hsl:["hue","saturation","lightness"],gradient:["gradient","origin","destination","highlight"]},s={},a={},o=[[0,3,1],[2,0,1],[1,0,3],[1,2,0],[3,1,0],[0,1,2]],u={"rgb-hsb":function(t,e,i){var n=Math.max(t,e,i),r=n-Math.min(t,e,i);return[0===r?0:60*(n==t?(e-i)/r+(e<i?6:0):n==e?(i-t)/r+2:(t-e)/r+4),0===n?0:r/n,n]},"hsb-rgb":function(t,e,i){t=(t/60%6+6)%6;var n=Math.floor(t),r=t-n,s=[i,i*(1-e),i*(1-e*r),i*(1-e*(1-r))];return[s[(n=o[n])[0]],s[n[1]],s[n[2]]]},"rgb-hsl":function(t,e,i){var n=Math.max(t,e,i),r=Math.min(t,e,i),s=n-r,a=0===s,o=(n+r)/2;return[a?0:60*(n==t?(e-i)/s+(e<i?6:0):n==e?(i-t)/s+2:(t-e)/s+4),a?0:o<.5?s/(n+r):s/(2-n-r),o]},"hsl-rgb":function(t,e,i){if(t=(t/360%1+1)%1,0===e)return[i,i,i];for(var n=[t+1/3,t,t-1/3],r=i<.5?i*(1+e):i+e-i*e,s=2*i-r,a=[],o=0;o<3;o++){var h=n[o];h<0&&(h+=1),h>1&&(h-=1),a[o]=6*h<1?s+6*(r-s)*h:2*h<1?r:3*h<2?s+(r-s)*(2/3-h)*6:s}return a},"rgb-gray":function(t,e,i){return[.2989*t+.587*e+.114*i]},"gray-rgb":function(t){return[t,t,t]},"gray-hsb":function(t){return[0,0,t]},"gray-hsl":function(t){return[0,0,t]},"gradient-rgb":function(){return[]},"rgb-gradient":function(){return[]}};return r.each(n,function(t,e){s[e]=[],r.each(t,function(t,i){var a=r.capitalize(t),o=/^(hue|saturation)$/.test(t),h=s[e][i]="gradient"===t?function(t){var e=this._components[0];return t=R.read(Array.isArray(t)?t:arguments,0,{readNull:!0}),e!==t&&(e&&e._removeOwner(this),t&&t._addOwner(this)),t}:"gradient"===e?function(){return c.read(arguments,0,{readNull:"highlight"===t,clone:!0})}:function(t){return null==t||isNaN(t)?0:t};this["get"+a]=function(){return this._type===e||o&&/^hs[bl]$/.test(this._type)?this._components[i]:this._convert(e)[i]},this["set"+a]=function(t){this._type===e||o&&/^hs[bl]$/.test(this._type)||(this._components=this._convert(e),this._properties=n[e],this._type=e),this._components[i]=h.call(this,t),this._changed()}},this)},{_class:"Color",_readIndex:!0,initialize:function e(i){var a,o,h,u,l=arguments,c=this.__read,f=0;Array.isArray(i)&&(i=(l=i)[0]);var d=null!=i&&typeof i;if("string"===d&&i in n&&(a=i,i=l[1],Array.isArray(i)?(o=i,h=l[2]):(c&&(f=1),l=r.slice(l,1),d=typeof i)),!o){if(u="number"===d?l:"object"===d&&null!=i.length?i:null){a||(a=u.length>=3?"rgb":"gray");var _=n[a].length;h=u[_],c&&(f+=u===arguments?_+(null!=h?1:0):1),u.length>_&&(u=r.slice(u,0,_))}else if("string"===d)a="rgb",4===(o=t(i)).length&&(h=o[3],o.length--);else if("object"===d)if(i.constructor===e){if(a=i._type,o=i._components.slice(),h=i._alpha,"gradient"===a)for(var g=1,v=o.length;g<v;g++){var p=o[g];p&&(o[g]=p.clone())}}else if(i.constructor===R)a="gradient",u=l;else{var m=n[a="hue"in i?"lightness"in i?"hsl":"hsb":"gradient"in i||"stops"in i||"radial"in i?"gradient":"gray"in i?"gray":"rgb"],y=s[a];this._components=o=[];for(var g=0,v=m.length;g<v;g++)null==(w=i[m[g]])&&!g&&"gradient"===a&&"stops"in i&&(w={stops:i.stops,radial:i.radial}),null!=(w=y[g].call(this,w))&&(o[g]=w);h=i.alpha}c&&a&&(f=1)}if(this._type=a||"rgb",!o){this._components=o=[];for(var g=0,v=(y=s[this._type]).length;g<v;g++){var w=y[g].call(this,u&&u[g]);null!=w&&(o[g]=w)}}return this._components=o,this._properties=n[this._type],this._alpha=h,c&&(this.__read=f),this},set:"#initialize",_serialize:function(t,e){var i=this.getComponents();return r.serialize(/^(gray|rgb)$/.test(this._type)?i:[this._type].concat(i),t,!0,e)},_changed:function(){this._canvasStyle=null,this._owner&&this._owner._changed(65)},_convert:function(t){var e;return this._type===t?this._components.slice():(e=u[this._type+"-"+t])?e.apply(this,this._components):u["rgb-"+t].apply(this,u[this._type+"-rgb"].apply(this,this._components))},convert:function(t){return new F(t,this._convert(t),this._alpha)},getType:function(){return this._type},setType:function(t){this._components=this._convert(t),this._properties=n[t],this._type=t},getComponents:function(){var t=this._components.slice();return null!=this._alpha&&t.push(this._alpha),t},getAlpha:function(){return null!=this._alpha?this._alpha:1},setAlpha:function(t){this._alpha=null==t?null:Math.min(Math.max(t,0),1),this._changed()},hasAlpha:function(){return null!=this._alpha},equals:function(t){var e=r.isPlainValue(t,!0)?F.read(arguments):t;return e===this||e&&this._class===e._class&&this._type===e._type&&this.getAlpha()===e.getAlpha()&&r.equals(this._components,e._components)||!1},toString:function(){for(var t=this._properties,e=[],i="gradient"===this._type,n=h.instance,r=0,s=t.length;r<s;r++){var a=this._components[r];null!=a&&e.push(t[r]+": "+(i?a:n.number(a)))}return null!=this._alpha&&e.push("alpha: "+n.number(this._alpha)),"{ "+e.join(", ")+" }"},toCSS:function(t){function e(t){return Math.round(255*(t<0?0:t>1?1:t))}var i=this._convert("rgb"),n=t||null==this._alpha?1:this._alpha;return i=[e(i[0]),e(i[1]),e(i[2])],n<1&&i.push(n<0?0:n),t?"#"+((1<<24)+(i[0]<<16)+(i[1]<<8)+i[2]).toString(16).slice(1):(4==i.length?"rgba(":"rgb(")+i.join(",")+")"},toCanvasStyle:function(t,e){if(this._canvasStyle)return this._canvasStyle;if("gradient"!==this._type)return this._canvasStyle=this.toCSS();var i,n=this._components,r=n[0],s=r._stops,a=n[1],o=n[2],h=n[3],u=e&&e.inverted();if(u&&(a=u._transformPoint(a),o=u._transformPoint(o),h&&(h=u._transformPoint(h))),r._radial){var l=o.getDistance(a);if(h){var c=h.subtract(a);c.getLength()>l&&(h=a.add(c.normalize(l-.1)))}var f=h||a;i=t.createRadialGradient(f.x,f.y,0,a.x,a.y,l)}else i=t.createLinearGradient(a.x,a.y,o.x,o.y);for(var d=0,_=s.length;d<_;d++){var g=s[d],v=g._offset;i.addColorStop(null==v?d/(_-1):v,g._color.toCanvasStyle())}return this._canvasStyle=i},transform:function(t){if("gradient"===this._type){for(var e=this._components,i=1,n=e.length;i<n;i++){var r=e[i];t._transformPoint(r,r,!0)}this._changed()}},statics:{_types:n,random:function(){var t=Math.random;return new F(t(),t(),t())}}})},new function(){var t={add:function(t,e){return t+e},subtract:function(t,e){return t-e},multiply:function(t,e){return t*e},divide:function(t,e){return t/e}};return r.each(t,function(t,e){this[e]=function(e){e=F.read(arguments);for(var i=this._type,n=this._components,r=e._convert(i),s=0,a=n.length;s<a;s++)r[s]=t(n[s],r[s]);return new F(i,r,null!=this._alpha?t(this._alpha,e.getAlpha()):null)}},{})}),R=r.extend({_class:"Gradient",initialize:function(t,e){this._id=l.get(),t&&r.isPlainObject(t)&&(this.set(t),t=e=null),null==this._stops&&this.setStops(t||["white","black"]),null==this._radial&&this.setRadial("string"==typeof e&&"radial"===e||e||!1)},_serialize:function(t,e){return e.add(this,function(){return r.serialize([this._stops,this._radial],t,!0,e)})},_changed:function(){for(var t=0,e=this._owners&&this._owners.length;t<e;t++)this._owners[t]._changed()},_addOwner:function(t){this._owners||(this._owners=[]),this._owners.push(t)},_removeOwner:function(t){var i=this._owners?this._owners.indexOf(t):-1;-1!=i&&(this._owners.splice(i,1),this._owners.length||(this._owners=e))},clone:function(){for(var t=[],e=0,i=this._stops.length;e<i;e++)t[e]=this._stops[e].clone();return new R(t,this._radial)},getStops:function(){return this._stops},setStops:function(t){if(t.length<2)throw new Error("Gradient stop list needs to contain at least two stops.");var i=this._stops;if(i)for(var n=0,r=i.length;n<r;n++)i[n]._owner=e;for(var n=0,r=(i=this._stops=q.readList(t,0,{clone:!0})).length;n<r;n++)i[n]._owner=this;this._changed()},getRadial:function(){return this._radial},setRadial:function(t){this._radial=t,this._changed()},equals:function(t){if(t===this)return!0;if(t&&this._class===t._class){var e=this._stops,i=t._stops,n=e.length;if(n===i.length){for(var r=0;r<n;r++)if(!e[r].equals(i[r]))return!1;return!0}}return!1}}),q=r.extend({_class:"GradientStop",initialize:function(t,i){var n=t,r=i;"object"==typeof t&&i===e&&(Array.isArray(t)&&"number"!=typeof t[0]?(n=t[0],r=t[1]):("color"in t||"offset"in t||"rampPoint"in t)&&(n=t.color,r=t.offset||t.rampPoint||0)),this.setColor(n),this.setOffset(r)},clone:function(){return new q(this._color.clone(),this._offset)},_serialize:function(t,e){var i=this._color,n=this._offset;return r.serialize(null==n?[i]:[i,n],t,!0,e)},_changed:function(){this._owner&&this._owner._changed(65)},getOffset:function(){return this._offset},setOffset:function(t){this._offset=t,this._changed()},getRampPoint:"#getOffset",setRampPoint:"#setOffset",getColor:function(){return this._color},setColor:function(){var t=F.read(arguments,0,{clone:!0});t&&(t._owner=this),this._color=t,this._changed()},equals:function(t){return t===this||t&&this._class===t._class&&this._color.equals(t._color)&&this._offset==t._offset||!1}}),V=r.extend(new function(){var t={fillColor:null,fillRule:"nonzero",strokeColor:null,strokeWidth:1,strokeCap:"butt",strokeJoin:"miter",strokeScaling:!0,miterLimit:10,dashOffset:0,dashArray:[],shadowColor:null,shadowBlur:0,shadowOffset:new c,selectedColor:null},i=r.set({},t,{fontFamily:"sans-serif",fontWeight:"normal",fontSize:12,leading:null,justification:"left"}),n=r.set({},i,{fillColor:new F}),s={strokeWidth:97,strokeCap:97,strokeJoin:97,strokeScaling:105,miterLimit:97,fontFamily:9,fontWeight:9,fontSize:9,font:9,leading:9,justification:9},a={beans:!0},o={_class:"Style",beans:!0,initialize:function(e,r,s){this._values={},this._owner=r,this._project=r&&r._project||s||paper.project,this._defaults=!r||r instanceof x?i:r instanceof j?n:t,e&&this.set(e)}};return r.each(i,function(t,i){var n=/Color$/.test(i),h="shadowOffset"===i,u=r.capitalize(i),l=s[i],f="set"+u,d="get"+u;o[f]=function(t){var r=this._owner,s=r&&r._children;if(s&&s.length>0&&!(r instanceof N))for(var a=0,o=s.length;a<o;a++)s[a]._style[f](t);else if(i in this._defaults){var h=this._values[i];h!==t&&(n&&(h&&h._owner!==e&&(h._owner=e),t&&t.constructor===F&&(t._owner&&(t=t.clone()),t._owner=r)),this._values[i]=t,r&&r._changed(l||65))}},o[d]=function(t){var s,a=this._owner,o=a&&a._children;if(i in this._defaults&&(!o||!o.length||t||a instanceof N))if((s=this._values[i])===e)(s=this._defaults[i])&&s.clone&&(s=s.clone());else{var u=n?F:h?c:null;!u||s&&s.constructor===u||(this._values[i]=s=u.read([s],0,{readNull:!0,clone:!0}),s&&n&&(s._owner=a))}else if(o)for(var l=0,f=o.length;l<f;l++){var _=o[l]._style[d]();if(l){if(!r.equals(s,_))return e}else s=_}return s},a[d]=function(t){return this._style[d](t)},a[f]=function(t){this._style[f](t)}}),r.each({Font:"FontFamily",WindingRule:"FillRule"},function(t,e){var i="get"+e,n="set"+e;o[i]=a[i]="#get"+t,o[n]=a[n]="#set"+t}),w.inject(a),o},{set:function(t){var e=t instanceof V,i=e?t._values:t;if(i)for(var n in i)if(n in this._defaults){var r=i[n];this[n]=r&&e&&r.clone?r.clone():r}},equals:function(t){function i(t,i,n){var s=t._values,a=i._values,o=i._defaults;for(var h in s){var u=s[h],l=a[h];if(!(n&&h in a||r.equals(u,l===e?o[h]:l)))return!1}return!0}return t===this||t&&this._class===t._class&&i(this,t)&&i(t,this,!0)||!1},hasFill:function(){var t=this.getFillColor();return!!t&&t.alpha>0},hasStroke:function(){var t=this.getStrokeColor();return!!t&&t.alpha>0&&this.getStrokeWidth()>0},hasShadow:function(){var t=this.getShadowColor();return!!t&&t.alpha>0&&(this.getShadowBlur()>0||!this.getShadowOffset().isZero())},getView:function(){return this._project._view},getFontStyle:function(){var t=this.getFontSize();return this.getFontWeight()+" "+t+(/[a-z]/i.test(t+"")?" ":"px ")+this.getFontFamily()},getFont:"#getFontFamily",setFont:"#setFontFamily",getLeading:function t(){var e=t.base.call(this),i=this.getFontSize();return/pt|em|%|px/.test(i)&&(i=this.getView().getPixelSize(i)),null!=e?e:1.2*i}}),H=new function(){function t(t,e,i,n){for(var r=["","webkit","moz","Moz","ms","o"],s=e[0].toUpperCase()+e.substring(1),a=0;a<6;a++){var o=r[a],h=o?o+s:e;if(h in t){if(!i)return t[h];t[h]=n;break}}}return{getStyles:function(t){var e=t&&9!==t.nodeType?t.ownerDocument:t,i=e&&e.defaultView;return i&&i.getComputedStyle(t,"")},getBounds:function(t,e){var i,n=t.ownerDocument,r=n.body,s=n.documentElement;try{i=t.getBoundingClientRect()}catch(t){i={left:0,top:0,width:0,height:0}}var a=i.left-(s.clientLeft||r.clientLeft||0),o=i.top-(s.clientTop||r.clientTop||0);if(!e){var h=n.defaultView;a+=h.pageXOffset||s.scrollLeft||r.scrollLeft,o+=h.pageYOffset||s.scrollTop||r.scrollTop}return new g(a,o,i.width,i.height)},getViewportBounds:function(t){var e=t.ownerDocument,i=e.defaultView,n=e.documentElement;return new g(0,0,i.innerWidth||n.clientWidth,i.innerHeight||n.clientHeight)},getOffset:function(t,e){return H.getBounds(t,e).getPoint()},getSize:function(t){return H.getBounds(t,!0).getSize()},isInvisible:function(t){return H.getSize(t).equals(new d(0,0))},isInView:function(t){return!H.isInvisible(t)&&H.getViewportBounds(t).intersects(H.getBounds(t,!0))},isInserted:function(t){return n.body.contains(t)},getPrefixed:function(e,i){return e&&t(e,i)},setPrefixed:function(e,i,n){if("object"==typeof i)for(var r in i)t(e,r,!0,i[r]);else t(e,i,!0,n)}}},Z={add:function(t,e){if(t)for(var i in e)for(var n=e[i],r=i.split(/[\s,]+/g),s=0,a=r.length;s<a;s++)t.addEventListener(r[s],n,!1)},remove:function(t,e){if(t)for(var i in e)for(var n=e[i],r=i.split(/[\s,]+/g),s=0,a=r.length;s<a;s++)t.removeEventListener(r[s],n,!1)},getPoint:function(t){var e=t.targetTouches?t.targetTouches.length?t.targetTouches[0]:t.changedTouches[0]:t;return new c(e.pageX||e.clientX+n.documentElement.scrollLeft,e.pageY||e.clientY+n.documentElement.scrollTop)},getTarget:function(t){return t.target||t.srcElement},getRelatedTarget:function(t){return t.relatedTarget||t.toElement},getOffset:function(t,e){return Z.getPoint(t).subtract(H.getOffset(e||Z.getTarget(t)))}};Z.requestAnimationFrame=new function(){function t(){var e=s;s=[];for(var i=0,a=e.length;i<a;i++)e[i]();(r=n&&s.length)&&n(t)}var e,n=H.getPrefixed(i,"requestAnimationFrame"),r=!1,s=[];return function(i){s.push(i),n?r||(n(t),r=!0):e||(e=setInterval(t,1e3/60))}};var U=r.extend(s,{_class:"View",initialize:function t(e,r){function s(t){return r[t]||parseInt(r.getAttribute(t),10)}function o(){var t=H.getSize(r);return t.isNaN()||t.isZero()?new d(s("width"),s("height")):t}var h;if(i&&r){this._id=r.getAttribute("id"),null==this._id&&r.setAttribute("id",this._id="view-"+t._id++),Z.add(r,this._viewEvents);if(H.setPrefixed(r.style,{userDrag:"none",userSelect:"none",touchCallout:"none",contentZooming:"none",tapHighlightColor:"rgba(0,0,0,0)"}),a.hasAttribute(r,"resize")){var u=this;Z.add(i,this._windowEvents={resize:function(){u.setViewSize(o())}})}if(h=o(),a.hasAttribute(r,"stats")&&"undefined"!=typeof Stats){this._stats=new Stats;var l=this._stats.domElement,c=l.style,f=H.getOffset(r);c.position="absolute",c.left=f.x+"px",c.top=f.y+"px",n.body.appendChild(l)}}else h=new d(r),r=null;this._project=e,this._scope=e._scope,this._element=r,this._pixelRatio||(this._pixelRatio=i&&i.devicePixelRatio||1),this._setElementSize(h.width,h.height),this._viewSize=h,t._views.push(this),t._viewsById[this._id]=this,(this._matrix=new p)._owner=this,t._focused||(t._focused=this),this._frameItems={},this._frameItemCount=0,this._itemEvents={native:{},virtual:{}},this._autoUpdate=!paper.agent.node,this._needsUpdate=!1},remove:function(){if(!this._project)return!1;U._focused===this&&(U._focused=null),U._views.splice(U._views.indexOf(this),1),delete U._viewsById[this._id];var t=this._project;return t._view===this&&(t._view=null),Z.remove(this._element,this._viewEvents),Z.remove(i,this._windowEvents),this._element=this._project=null,this.off("frame"),this._animate=!1,this._frameItems={},!0},_events:r.each(w._itemHandlers.concat(["onResize","onKeyDown","onKeyUp"]),function(t){this[t]={}},{onFrame:{install:function(){this.play()},uninstall:function(){this.pause()}}}),_animate:!1,_time:0,_count:0,getAutoUpdate:function(){return this._autoUpdate},setAutoUpdate:function(t){this._autoUpdate=t,t&&this.requestUpdate()},update:function(){},draw:function(){this.update()},requestUpdate:function(){if(!this._requested){var t=this;Z.requestAnimationFrame(function(){if(t._requested=!1,t._animate){t.requestUpdate();var e=t._element;H.getPrefixed(n,"hidden")&&"true"!==a.getAttribute(e,"keepalive")||!H.isInView(e)||t._handleFrame()}t._autoUpdate&&t.update()}),this._requested=!0}},play:function(){this._animate=!0,this.requestUpdate()},pause:function(){this._animate=!1},_handleFrame:function(){paper=this._scope;var t=Date.now()/1e3,e=this._last?t-this._last:0;this._last=t,this.emit("frame",new r({delta:e,time:this._time+=e,count:this._count++})),this._stats&&this._stats.update()},_animateItem:function(t,e){var i=this._frameItems;e?(i[t._id]={item:t,time:0,count:0},1==++this._frameItemCount&&this.on("frame",this._handleFrameItems)):(delete i[t._id],0==--this._frameItemCount&&this.off("frame",this._handleFrameItems))},_handleFrameItems:function(t){for(var e in this._frameItems){var i=this._frameItems[e];i.item.emit("frame",new r(t,{time:i.time+=t.delta,count:i.count++}))}},_changed:function(){this._project._changed(2049),this._bounds=this._decomposed=e},getElement:function(){return this._element},getPixelRatio:function(){return this._pixelRatio},getResolution:function(){return 72*this._pixelRatio},getViewSize:function(){var t=this._viewSize;return new _(t.width,t.height,this,"setViewSize")},setViewSize:function(){var t=d.read(arguments),e=t.subtract(this._viewSize);e.isZero()||(this._setElementSize(t.width,t.height),this._viewSize.set(t),this._changed(),this.emit("resize",{size:t,delta:e}),this._autoUpdate&&this.update())},_setElementSize:function(t,e){var i=this._element;i&&(i.width!==t&&(i.width=t),i.height!==e&&(i.height=e))},getBounds:function(){return this._bounds||(this._bounds=this._matrix.inverted()._transformBounds(new g(new c,this._viewSize))),this._bounds},getSize:function(){return this.getBounds().getSize()},isVisible:function(){return H.isInView(this._element)},isInserted:function(){return H.isInserted(this._element)},getPixelSize:function(t){var e,i=this._element;if(i){var r=i.parentNode,s=n.createElement("div");s.style.fontSize=t,r.appendChild(s),e=parseFloat(H.getStyles(s).fontSize),r.removeChild(s)}else e=parseFloat(e);return e},getTextWidth:function(t,e){return 0}},r.each(["rotate","scale","shear","skew"],function(t){var e="rotate"===t;this[t]=function(){var i=(e?r:c).read(arguments),n=c.read(arguments,0,{readNull:!0});return this.transform((new p)[t](i,n||this.getCenter(!0)))}},{_decompose:function(){return this._decomposed||(this._decomposed=this._matrix.decompose())},translate:function(){var t=new p;return this.transform(t.translate.apply(t,arguments))},getCenter:function(){return this.getBounds().getCenter()},setCenter:function(){var t=c.read(arguments);this.translate(this.getCenter().subtract(t))},getZoom:function(){var t=this._decompose(),e=t&&t.scaling;return e?(e.x+e.y)/2:0},setZoom:function(t){this.transform((new p).scale(t/this.getZoom(),this.getCenter()))},getRotation:function(){var t=this._decompose();return t&&t.rotation},setRotation:function(t){var e=this.getRotation();null!=e&&null!=t&&this.rotate(t-e)},getScaling:function(){var t=this._decompose(),i=t&&t.scaling;return i?new f(i.x,i.y,this,"setScaling"):e},setScaling:function(){var t=this.getScaling(),e=c.read(arguments,0,{clone:!0,readNull:!0});t&&e&&this.scale(e.x/t.x,e.y/t.y)},getMatrix:function(){return this._matrix},setMatrix:function(){var t=this._matrix;t.initialize.apply(t,arguments)},transform:function(t){this._matrix.append(t)},scrollBy:function(){this.translate(c.read(arguments).negate())}}),{projectToView:function(){return this._matrix._transformPoint(c.read(arguments))},viewToProject:function(){return this._matrix._inverseTransform(c.read(arguments))},getEventPoint:function(t){return this.viewToProject(Z.getOffset(t,this._element))}},{statics:{_views:[],_viewsById:{},_id:0,create:function(t,e){return n&&"string"==typeof e&&(e=n.getElementById(e)),new(i?W:U)(t,e)}}},new function(){function t(t){var e=Z.getTarget(t);return e.getAttribute&&U._viewsById[e.getAttribute("id")]}function e(){var t=U._focused;if(!t||!t.isVisible())for(var e=0,i=U._views.length;e<i;e++)if((t=U._views[e]).isVisible()){U._focused=h=t;break}}function r(t,e,i){t._handleMouseEvent("mousemove",e,i)}function s(t,e,i,n,r,s,a){function o(t,i){if(t.responds(i)){if(h||(h=new X(i,n,r,e||t,s?r.subtract(s):null)),t.emit(i,h)&&(I=!0,h.prevented&&(M=!0),h.stopped))return u=!0}else{var a=T[i];if(a)return o(t,a)}}for(var h,u=!1;t&&t!==a&&!o(t,i);)t=t._parent;return u}function a(t,e,i,n,r,a){return t._project.removeOn(i),M=I=!1,b&&s(b,null,i,n,r,a)||e&&e!==b&&!e.isDescendant(b)&&s(e,null,i,n,r,a,b)||s(t,b||e||t,i,n,r,a)}if(i){var o,h,u,l,c,f=!1,d=!1,_=i.navigator;_.pointerEnabled||_.msPointerEnabled?(u="pointerdown MSPointerDown",l="pointermove MSPointerMove",c="pointerup pointercancel MSPointerUp MSPointerCancel"):(u="touchstart",l="touchmove",c="touchend touchcancel","ontouchstart"in i&&_.userAgent.match(/mobile|tablet|ip(ad|hone|od)|android|silk/i)||(u+=" mousedown",l+=" mousemove",c+=" mouseup"));var g={},v={mouseout:function(t){var e=U._focused,i=Z.getRelatedTarget(t);if(e&&(!i||"HTML"===i.nodeName)){var n=Z.getOffset(t,e._element),s=n.x,a=Math.abs,o=a(s),h=o-(1<<25);n.x=a(h)<o?h*(s<0?-1:1):s,r(e,t,e.viewToProject(n))}},scroll:e};g[u]=function(e){var i=U._focused=t(e);f||(f=!0,i._handleMouseEvent("mousedown",e))},v[l]=function(i){var n=U._focused;if(!d){var s=t(i);s?n!==s&&(n&&r(n,i),o||(o=n),n=U._focused=h=s):h&&h===n&&(o&&!o.isInserted()&&(o=null),n=U._focused=o,o=null,e())}n&&r(n,i)},v[u]=function(){d=!0},v[c]=function(t){var e=U._focused;e&&f&&e._handleMouseEvent("mouseup",t),d=f=!1},Z.add(n,v),Z.add(i,{load:e});var p,m,y,w,x,b,C,S,P,I=!1,M=!1,T={doubleclick:"click",mousedrag:"mousemove"},z=!1,k={mousedown:{mousedown:1,mousedrag:1,click:1,doubleclick:1},mouseup:{mouseup:1,mousedrag:1,click:1,doubleclick:1},mousemove:{mousedrag:1,mousemove:1,mouseenter:1,mouseleave:1}};return{_viewEvents:g,_handleMouseEvent:function(t,e,i){function n(t){return r.virtual[t]||l.responds(t)||u&&u.responds(t)}var r=this._itemEvents,o=r.native[t],h="mousemove"===t,u=this._scope.tool,l=this;h&&f&&n("mousedrag")&&(t="mousedrag"),i||(i=this.getEventPoint(e));var c=this.getBounds().contains(i),d=o&&c&&l._project.hitTest(i,{tolerance:0,fill:!0,stroke:!0}),_=d&&d.item||null,g=!1,v={};if(v[t.substr(5)]=!0,o&&_!==x&&(x&&s(x,null,"mouseleave",e,i),_&&s(_,null,"mouseenter",e,i),x=_),z^c&&(s(this,null,c?"mouseenter":"mouseleave",e,i),p=c?this:null,g=!0),!c&&!v.drag||i.equals(y)||(a(this,_,h?t:"mousemove",e,i,y),g=!0),z=c,v.down&&c||v.up&&m){if(a(this,_,t,e,i,m),v.down){if(P=_===C&&Date.now()-S<300,w=C=_,!M&&_){for(var T=_;T&&!T.responds("mousedrag");)T=T._parent;T&&(b=_)}m=i}else v.up&&(M||_!==w||(S=Date.now(),a(this,_,P?"doubleclick":"click",e,i,m),P=!1),w=b=null);z=!1,g=!0}y=i,g&&u&&(I=u._handleMouseEvent(t,e,i,v)||I),(I&&!v.move||v.down&&n("mouseup"))&&e.preventDefault()},_handleKeyEvent:function(t,e,i,n){function r(r){r.responds(t)&&(paper=a,r.emit(t,s=s||new J(t,e,i,n)))}var s,a=this._scope,o=a.tool;this.isVisible()&&(r(this),o&&o.responds(t)&&r(o))},_countItemEvent:function(t,e){var i=this._itemEvents,n=i.native,r=i.virtual;for(var s in k)n[s]=(n[s]||0)+(k[s][t]||0)*e;r[t]=(r[t]||0)+e},statics:{updateFocus:e}}}}),W=U.extend({_class:"CanvasView",initialize:function(t,e){if(!(e instanceof i.HTMLCanvasElement)){var n=d.read(arguments,1);if(n.isZero())throw new Error("Cannot create CanvasView with the provided argument: "+r.slice(arguments,1));e=Q.getCanvas(n)}var s=this._context=e.getContext("2d");if(s.save(),this._pixelRatio=1,!/^off|false$/.test(a.getAttribute(e,"hidpi"))){var o=i.devicePixelRatio||1,h=H.getPrefixed(s,"backingStorePixelRatio")||1;this._pixelRatio=o/h}U.call(this,t,e),this._needsUpdate=!0},remove:function t(){return this._context.restore(),t.base.call(this)},_setElementSize:function t(e,i){var n=this._pixelRatio;if(t.base.call(this,e*n,i*n),1!==n){var r=this._element,s=this._context;if(!a.hasAttribute(r,"resize")){var o=r.style;o.width=e+"px",o.height=i+"px"}s.restore(),s.save(),s.scale(n,n)}},getPixelSize:function t(e){var i,n=paper.agent;if(n&&n.firefox)i=t.base.call(this,e);else{var r=this._context,s=r.font;r.font=e+" serif",i=parseFloat(r.font),r.font=s}return i},getTextWidth:function(t,e){var i=this._context,n=i.font,r=0;i.font=t;for(var s=0,a=e.length;s<a;s++)r=Math.max(r,i.measureText(e[s]).width);return i.font=n,r},update:function(){if(!this._needsUpdate)return!1;var t=this._project,e=this._context,i=this._viewSize;return e.clearRect(0,0,i.width+1,i.height+1),t&&t.draw(e,this._matrix,this._pixelRatio),this._needsUpdate=!1,!0}}),G=r.extend({_class:"Event",initialize:function(t){this.event=t,this.type=t&&t.type},prevented:!1,stopped:!1,preventDefault:function(){this.prevented=!0,this.event.preventDefault()},stopPropagation:function(){this.stopped=!0,this.event.stopPropagation()},stop:function(){this.stopPropagation(),this.preventDefault()},getTimeStamp:function(){return this.event.timeStamp},getModifiers:function(){return $.modifiers}}),J=G.extend({_class:"KeyEvent",initialize:function(t,e,i,n){this.type=t,this.event=e,this.key=i,this.character=n},toString:function(){return"{ type: '"+this.type+"', key: '"+this.key+"', character: '"+this.character+"', modifiers: "+this.getModifiers()+" }"}}),$=new function(){function t(t){var i=t.key||t.keyIdentifier;return i=/^U\+/.test(i)?String.fromCharCode(parseInt(i.substr(2),16)):/^Arrow[A-Z]/.test(i)?i.substr(5):"Unidentified"===i||i===e?String.fromCharCode(t.keyCode):i,h[i]||(i.length>1?r.hyphenate(i):i.toLowerCase())}function s(t,e,i,n){var o,h=U._focused;if(l[e]=t,t?c[e]=i:delete c[e],e.length>1&&(o=r.camelize(e))in f){f[o]=t;var u=paper&&paper.agent;if("meta"===o&&u&&u.mac)if(t)a={};else{for(var d in a)d in c&&s(!1,d,a[d],n);a=null}}else t&&a&&(a[e]=i);h&&h._handleKeyEvent(t?"keydown":"keyup",n,e,i)}var a,o,h={"\t":"tab"," ":"space","\b":"backspace","":"delete",Spacebar:"space",Del:"delete",Win:"meta",Esc:"escape"},u={tab:"\t",space:" ",enter:"\r"},l={},c={},f=new r({shift:!1,control:!1,alt:!1,meta:!1,capsLock:!1,space:!1}).inject({option:{get:function(){return this.alt}},command:{get:function(){var t=paper&&paper.agent;return t&&t.mac?this.meta:this.control}}});return Z.add(n,{keydown:function(e){var i=t(e),n=paper&&paper.agent;i.length>1||n&&n.chrome&&(e.altKey||n.mac&&e.metaKey||!n.mac&&e.ctrlKey)?s(!0,i,u[i]||(i.length>1?"":i),e):o=i},keypress:function(e){if(o){var i=t(e),n=e.charCode,r=n>=32?String.fromCharCode(n):i.length>1?"":i;i!==o&&(i=r.toLowerCase()),s(!0,i,r,e),o=null}},keyup:function(e){var i=t(e);i in c&&s(!1,i,c[i],e)}}),Z.add(i,{blur:function(t){for(var e in c)s(!1,e,c[e],t)}}),{modifiers:f,isDown:function(t){return!!l[t]}}},X=G.extend({_class:"MouseEvent",initialize:function(t,e,i,n,r){this.type=t,this.event=e,this.point=i,this.target=n,this.delta=r},toString:function(){return"{ type: '"+this.type+"', point: "+this.point+", target: "+this.target+(this.delta?", delta: "+this.delta:"")+", modifiers: "+this.getModifiers()+" }"}}),Y=G.extend({_class:"ToolEvent",_item:null,initialize:function(t,e,i){this.tool=t,this.type=e,this.event=i},_choosePoint:function(t,e){return t||(e?e.clone():null)},getPoint:function(){return this._choosePoint(this._point,this.tool._point)},setPoint:function(t){this._point=t},getLastPoint:function(){return this._choosePoint(this._lastPoint,this.tool._lastPoint)},setLastPoint:function(t){this._lastPoint=t},getDownPoint:function(){return this._choosePoint(this._downPoint,this.tool._downPoint)},setDownPoint:function(t){this._downPoint=t},getMiddlePoint:function(){return!this._middlePoint&&this.tool._lastPoint?this.tool._point.add(this.tool._lastPoint).divide(2):this._middlePoint},setMiddlePoint:function(t){this._middlePoint=t},getDelta:function(){return!this._delta&&this.tool._lastPoint?this.tool._point.subtract(this.tool._lastPoint):this._delta},setDelta:function(t){this._delta=t},getCount:function(){return this.tool[/^mouse(down|up)$/.test(this.type)?"_downCount":"_moveCount"]},setCount:function(t){this.tool[/^mouse(down|up)$/.test(this.type)?"downCount":"count"]=t},getItem:function(){if(!this._item){var t=this.tool._scope.project.hitTest(this.getPoint());if(t){for(var e=t.item,i=e._parent;/^(Group|CompoundPath)$/.test(i._class);)e=i,i=i._parent;this._item=e}}return this._item},setItem:function(t){this._item=t},toString:function(){return"{ type: "+this.type+", point: "+this.getPoint()+", count: "+this.getCount()+", modifiers: "+this.getModifiers()+" }"}}),K=(o.extend({_class:"Tool",_list:"tools",_reference:"tool",_events:["onMouseDown","onMouseUp","onMouseDrag","onMouseMove","onActivate","onDeactivate","onEditOptions","onKeyDown","onKeyUp"],initialize:function(t){o.call(this),this._moveCount=-1,this._downCount=-1,this.set(t)},getMinDistance:function(){return this._minDistance},setMinDistance:function(t){this._minDistance=t,null!=t&&null!=this._maxDistance&&t>this._maxDistance&&(this._maxDistance=t)},getMaxDistance:function(){return this._maxDistance},setMaxDistance:function(t){this._maxDistance=t,null!=this._minDistance&&null!=t&&t<this._minDistance&&(this._minDistance=t)},getFixedDistance:function(){return this._minDistance==this._maxDistance?this._minDistance:null},setFixedDistance:function(t){this._minDistance=this._maxDistance=t},_handleMouseEvent:function(t,e,i,n){function r(t,e){var r=i,s=a?c._point:c._downPoint||r;if(a){if(c._moveCount&&r.equals(s))return!1;if(s&&(null!=t||null!=e)){var o=r.subtract(s),h=o.getLength();if(h<(t||0))return!1;e&&(r=s.add(o.normalize(Math.min(h,e))))}c._moveCount++}return c._point=r,c._lastPoint=s||r,n.down&&(c._moveCount=-1,c._downPoint=r,c._downCount++),!0}function s(){o&&(l=c.emit(t,new Y(c,t,e))||l)}paper=this._scope,n.drag&&!this.responds(t)&&(t="mousemove");var a=n.move||n.drag,o=this.responds(t),h=this.minDistance,u=this.maxDistance,l=!1,c=this;if(n.down)r(),s();else if(n.up)r(null,u),s();else if(o)for(;r(h,u);)s();return l}}),{request:function(e){var i=new t.XMLHttpRequest;return i.open((e.method||"get").toUpperCase(),e.url,r.pick(e.async,!0)),e.mimeType&&i.overrideMimeType(e.mimeType),i.onload=function(){var t=i.status;0===t||200===t?e.onLoad&&e.onLoad.call(i,i.responseText):i.onerror()},i.onerror=function(){var t=i.status,n='Could not load "'+e.url+'" (Status: '+t+")";if(!e.onError)throw new Error(n);e.onError(n,t)},i.send(null)}}),Q={canvases:[],getCanvas:function(t,e){if(!i)return null;var r,s=!0;"object"==typeof t&&(e=t.height,t=t.width),this.canvases.length?r=this.canvases.pop():(r=n.createElement("canvas"),s=!1);var a=r.getContext("2d",{"willReadFrequently":true});if(!a)throw new Error("Canvas "+r+" is unable to provide a 2D context.");return r.width===t&&r.height===e?s&&a.clearRect(0,0,t+1,e+1):(r.width=t,r.height=e),a.save(),r},getContext:function(t,e){var i=this.getCanvas(t,e);return i?i.getContext("2d"):null},release:function(t){var e=t&&t.canvas?t.canvas:t;e&&e.getContext&&(e.getContext("2d").restore(),this.canvases.push(e))}},tt=new function(){function t(t,e,i){return.2989*t+.587*e+.114*i}function e(e,i,n,r){var s=r-t(e,i,n),r=t(d=e+s,_=i+s,g=n+s),a=v(d,_,g),o=p(d,_,g);if(a<0){var h=r-a;d=r+(d-r)*r/h,_=r+(_-r)*r/h,g=r+(g-r)*r/h}if(o>255){var u=255-r,l=o-r;d=r+(d-r)*u/l,_=r+(_-r)*u/l,g=r+(g-r)*u/l}}function i(t,e,i){return p(t,e,i)-v(t,e,i)}function n(t,e,i,n){var r,s=[t,e,i],a=p(t,e,i),o=v(t,e,i);r=0===v(o=o===t?0:o===e?1:2,a=a===t?0:a===e?1:2)?1===p(o,a)?2:1:0,s[a]>s[o]?(s[r]=(s[r]-s[o])*n/(s[a]-s[o]),s[a]=n):s[r]=s[a]=0,s[o]=0,d=s[0],_=s[1],g=s[2]}var s,a,o,h,u,l,c,f,d,_,g,v=Math.min,p=Math.max,m=Math.abs,y={multiply:function(){d=u*s/255,_=l*a/255,g=c*o/255},screen:function(){d=u+s-u*s/255,_=l+a-l*a/255,g=c+o-c*o/255},overlay:function(){d=u<128?2*u*s/255:255-2*(255-u)*(255-s)/255,_=l<128?2*l*a/255:255-2*(255-l)*(255-a)/255,g=c<128?2*c*o/255:255-2*(255-c)*(255-o)/255},"soft-light":function(){var t=s*u/255;d=t+u*(255-(255-u)*(255-s)/255-t)/255,_=(t=a*l/255)+l*(255-(255-l)*(255-a)/255-t)/255,g=(t=o*c/255)+c*(255-(255-c)*(255-o)/255-t)/255},"hard-light":function(){d=s<128?2*s*u/255:255-2*(255-s)*(255-u)/255,_=a<128?2*a*l/255:255-2*(255-a)*(255-l)/255,g=o<128?2*o*c/255:255-2*(255-o)*(255-c)/255},"color-dodge":function(){d=0===u?0:255===s?255:v(255,255*u/(255-s)),_=0===l?0:255===a?255:v(255,255*l/(255-a)),g=0===c?0:255===o?255:v(255,255*c/(255-o))},"color-burn":function(){d=255===u?255:0===s?0:p(0,255-255*(255-u)/s),_=255===l?255:0===a?0:p(0,255-255*(255-l)/a),g=255===c?255:0===o?0:p(0,255-255*(255-c)/o)},darken:function(){d=u<s?u:s,_=l<a?l:a,g=c<o?c:o},lighten:function(){d=u>s?u:s,_=l>a?l:a,g=c>o?c:o},difference:function(){(d=u-s)<0&&(d=-d),(_=l-a)<0&&(_=-_),(g=c-o)<0&&(g=-g)},exclusion:function(){d=u+s*(255-u-u)/255,_=l+a*(255-l-l)/255,g=c+o*(255-c-c)/255},hue:function(){n(s,a,o,i(u,l,c)),e(d,_,g,t(u,l,c))},saturation:function(){n(u,l,c,i(s,a,o)),e(d,_,g,t(u,l,c))},luminosity:function(){e(u,l,c,t(s,a,o))},color:function(){e(s,a,o,t(u,l,c))},add:function(){d=v(u+s,255),_=v(l+a,255),g=v(c+o,255)},subtract:function(){d=p(u-s,0),_=p(l-a,0),g=p(c-o,0)},average:function(){d=(u+s)/2,_=(l+a)/2,g=(c+o)/2},negation:function(){d=255-m(255-s-u),_=255-m(255-a-l),g=255-m(255-o-c)}},w=this.nativeModes=r.each(["source-over","source-in","source-out","source-atop","destination-over","destination-in","destination-out","destination-atop","lighter","darker","copy","xor"],function(t){this[t]=!0},{}),x=Q.getContext(1,1);x&&(r.each(y,function(t,e){var i="darken"===e,n=!1;x.save();try{x.fillStyle=i?"#300":"#a00",x.fillRect(0,0,1,1),x.globalCompositeOperation=e,x.globalCompositeOperation===e&&(x.fillStyle=i?"#a00":"#300",x.fillRect(0,0,1,1),n=x.getImageData(0,0,1,1).data[0]!==i?170:51)}catch(t){}x.restore(),w[e]=n}),Q.release(x)),this.process=function(t,e,i,n,r){var v=e.canvas,p="normal"===t;if(p||w[t])i.save(),i.setTransform(1,0,0,1,0,0),i.globalAlpha=n,p||(i.globalCompositeOperation=t),i.drawImage(v,r.x,r.y),i.restore();else{var m=y[t];if(!m)return;for(var x=i.getImageData(r.x,r.y,v.width,v.height),b=x.data,C=e.getImageData(0,0,v.width,v.height).data,S=0,P=b.length;S<P;S+=4){s=C[S],u=b[S],a=C[S+1],l=b[S+1],o=C[S+2],c=b[S+2],h=C[S+3],f=b[S+3],m();var I=h*n/255,M=1-I;b[S]=I*d+M*u,b[S+1]=I*_+M*l,b[S+2]=I*g+M*c,b[S+3]=h*n+M*f}i.putImageData(x,r.x,r.y)}}},et=new function(){function t(t,e,i){for(var n in e){var r=e[n],a=s[n];"number"==typeof r&&i&&(r=i.number(r)),a?t.setAttributeNS(a,n,r):t.setAttribute(n,r)}return t}var e="http://www.w3.org/2000/svg",i="http://www.w3.org/2000/xmlns",r="http://www.w3.org/1999/xlink",s={href:r,xlink:i,xmlns:i+"/","xmlns:xlink":i+"/"};return{svg:e,xmlns:i,xlink:r,create:function(i,r,s){return t(n.createElementNS(e,i),r,s)},get:function(t,e){var i=s[e],n=i?t.getAttributeNS(i,e):t.getAttribute(e);return"null"===n?null:n},set:t}},it=r.each({fillColor:["fill","color"],fillRule:["fill-rule","string"],strokeColor:["stroke","color"],strokeWidth:["stroke-width","number"],strokeCap:["stroke-linecap","string"],strokeJoin:["stroke-linejoin","string"],strokeScaling:["vector-effect","lookup",{true:"none",false:"non-scaling-stroke"},function(t,e){return!e&&(t instanceof A||t instanceof C||t instanceof j)}],miterLimit:["stroke-miterlimit","number"],dashArray:["stroke-dasharray","array"],dashOffset:["stroke-dashoffset","number"],fontFamily:["font-family","string"],fontWeight:["font-weight","string"],fontSize:["font-size","number"],justification:["text-anchor","lookup",{left:"start",center:"middle",right:"end"}],opacity:["opacity","number"],blendMode:["mix-blend-mode","style"]},function(t,e){var i=r.capitalize(e),n=t[2];this[e]={type:t[1],property:e,attribute:t[0],toSVG:n,fromSVG:n&&r.each(n,function(t,e){this[t]=e},{}),exportFilter:t[3],get:"get"+i,set:"set"+i}},{});return new function(){function e(t,e,i){var n=new r,s=t.getTranslation();if(e){var a=(t=t._shiftless())._inverseTransform(s);n[i?"cx":"x"]=a.x,n[i?"cy":"y"]=a.y,s=null}if(!t.isIdentity()){var o=t.decompose();if(o){var h=[],l=o.rotation,c=o.scaling,f=o.skewing;s&&!s.isZero()&&h.push("translate("+v.point(s)+")"),l&&h.push("rotate("+v.number(l)+")"),u.isZero(c.x-1)&&u.isZero(c.y-1)||h.push("scale("+v.point(c)+")"),f.x&&h.push("skewX("+v.number(f.x)+")"),f.y&&h.push("skewY("+v.number(f.y)+")"),n.transform=h.join(" ")}else n.transform="matrix("+t.getValues().join(",")+")"}return n}function i(t,i){for(var n=e(t._matrix),r=t._children,s=et.create("g",n,v),a=0,o=r.length;a<o;a++){var h=r[a],u=d(h,i);if(u)if(h.isClipMask()){var l=et.create("clipPath");l.appendChild(u),c(h,l,"clip"),et.set(s,{"clip-path":"url(#"+l.id+")"})}else s.appendChild(u)}return s}function n(t){var i=t._type,n=t._radius,r=e(t._matrix,!0,"rectangle"!==i);if("rectangle"===i){i="rect";var s=t._size,a=s.width,o=s.height;r.x-=a/2,r.y-=o/2,r.width=a,r.height=o,n.isZero()&&(n=null)}return n&&("circle"===i?r.r=n:(r.rx=n.width,r.ry=n.height)),et.create(i,r,v)}function s(t){var e=o(t,"color");if(!e){var i,n=t.getGradient(),r=n._radial,s=t.getOrigin(),a=t.getDestination();if(r){i={cx:s.x,cy:s.y,r:s.getDistance(a)};var h=t.getHighlight();h&&(i.fx=h.x,i.fy=h.y)}else i={x1:s.x,y1:s.y,x2:a.x,y2:a.y};i.gradientUnits="userSpaceOnUse",e=et.create((r?"radial":"linear")+"Gradient",i,v);for(var u=n._stops,l=0,f=u.length;l<f;l++){var d=u[l],_=d._color,g=_.getAlpha(),p=d._offset;i={offset:null==p?l/(f-1):p},_&&(i["stop-color"]=_.toCSS(!0)),g<1&&(i["stop-opacity"]=g),e.appendChild(et.create("stop",i,v))}c(t,e,"color")}return"url(#"+e.id+")"}function a(t,e,i){var n={},a=!i&&t.getParent(),o=[];return null!=t._name&&(n.id=t._name),r.each(it,function(e){var i=e.get,h=e.type,u=t[i]();if(e.exportFilter?e.exportFilter(t,u):!a||!r.equals(a[i](),u)){if("color"===h&&null!=u){var l=u.getAlpha();l<1&&(n[e.attribute+"-opacity"]=l)}"style"===h?o.push(e.attribute+": "+u):n[e.attribute]=null==u?"none":"color"===h?u.gradient?s(u,t):u.toCSS(!0):"array"===h?u.join(","):"lookup"===h?e.toSVG[u]:u}}),o.length&&(n.style=o.join(";")),1===n.opacity&&delete n.opacity,t._visible||(n.visibility="hidden"),et.set(e,n,v)}function o(t,e){return m||(m={ids:{},svgs:{}}),t&&m.svgs[e+"-"+(t._id||t.__id||(t.__id=l.get("svg")))]}function c(t,e,i){m||o();var n=m.ids[i]=(m.ids[i]||0)+1;e.id=i+"-"+n,m.svgs[i+"-"+(t._id||t.__id)]=e}function f(e,i){var n=e,r=null;if(m){n="svg"===e.nodeName.toLowerCase()&&e;for(var s in m.svgs)r||(n||(n=et.create("svg")).appendChild(e),r=n.insertBefore(et.create("defs"),n.firstChild)),r.appendChild(m.svgs[s]);m=null}return i.asString?(new t.XMLSerializer).serializeToString(n):n}function d(t,e,i){var n=x[t._class],r=n&&n(t,e);if(r){var s=e.onExport;s&&(r=s(t,r,e)||r);var o=JSON.stringify(t._data);o&&"{}"!==o&&"null"!==o&&r.setAttribute("data-paper-data",o)}return r&&a(t,r,i)}function _(t){return t||(t={}),v=new h(t.precision),t}var v,m,x={Group:i,Layer:i,Raster:function(t,i){var n=e(t._matrix,!0),r=t.getSize(),s=t.getImage();return n.x-=r.width/2,n.y-=r.height/2,n.width=r.width,n.height=r.height,n.href=0==i.embedImages&&s&&s.src||t.toDataURL(),et.create("image",n,v)},Path:function(t,i){var r=i.matchShapes;if(r){var s=t.toShape(!1);if(s)return n(s)}var a,o=t._segments,h=o.length,u=e(t._matrix);if(r&&h>=2&&!t.hasHandles())if(h>2){a=t._closed?"polygon":"polyline";for(var l=[],c=0;c<h;c++)l.push(v.point(o[c]._point));u.points=l.join(" ")}else{a="line";var f=o[0]._point,d=o[1]._point;u.set({x1:f.x,y1:f.y,x2:d.x,y2:d.y})}else a="path",u.d=t.getPathData(null,i.precision);return et.create(a,u,v)},Shape:n,CompoundPath:function(t,i){var n=e(t._matrix),r=t.getPathData(null,i.precision);return r&&(n.d=r),et.create("path",n,v)},SymbolItem:function(t,i){var n=e(t._matrix,!0),r=t._definition,s=o(r,"symbol"),a=r._item,h=a.getBounds();return s||((s=et.create("symbol",{viewBox:v.rectangle(h)})).appendChild(d(a,i)),c(r,s,"symbol")),n.href="#"+s.id,n.x+=h.x,n.y+=h.y,n.width=h.width,n.height=h.height,n.overflow="visible",et.create("use",n,v)},PointText:function(t){var i=et.create("text",e(t._matrix,!0),v);return i.textContent=t._content,i}};w.inject({exportSVG:function(t){return t=_(t),f(d(this,t,!0),t)}}),y.inject({exportSVG:function(t){t=_(t);var i=this._children,n=this.getView(),s=r.pick(t.bounds,"view"),a=t.matrix||"view"===s&&n._matrix,o=a&&p.read([a]),h="view"===s?new g([0,0],n.getViewSize()):"content"===s?w._getBounds(i,o,{stroke:!0}).rect:g.read([s],0,{readNull:!0}),u={version:"1.1",xmlns:et.svg,"xmlns:xlink":et.xlink};h&&(u.width=h.width,u.height=h.height,(h.x||h.y)&&(u.viewBox=v.rectangle(h)));var l=et.create("svg",u,v),c=l;o&&!o.isIdentity()&&(c=l.appendChild(et.create("g",e(o),v)));for(var m=0,y=i.length;m<y;m++)c.appendChild(d(i[m],t,!0));return f(l,t)}})},new function(){function s(t,e,i,n,r){var s=et.get(t,e),a=null==s?n?null:i?"":0:i?s:parseFloat(s);return/%\s*$/.test(s)?a/100*(r?1:z[/x|^width/.test(e)?"width":"height"]):a}function a(t,e,i,n,r){return e=s(t,e||"x",!1,n,r),i=s(t,i||"y",!1,n,r),!n||null!=e&&null!=i?new c(e,i):null}function o(t,e,i,n,r){return e=s(t,e||"width",!1,n,r),i=s(t,i||"height",!1,n,r),!n||null!=e&&null!=i?new d(e,i):null}function h(t,e,i){return"none"===t?null:"number"===e?parseFloat(t):"array"===e?t?t.split(/[\s,]+/g).map(parseFloat):[]:"color"===e?P(t)||t:"lookup"===e?i[t]:t}function u(t,e,i,n){var r=t.childNodes,s="clippath"===e,a="defs"===e,o=new x,h=o._project,u=h._currentStyle,l=[];if(s||a||(o=b(o,t,n),h._currentStyle=o._style.clone()),n)for(var c=t.querySelectorAll("defs"),f=0,d=c.length;f<d;f++)M(c[f],i,!1);for(var f=0,d=r.length;f<d;f++){var _,g=r[f];1!==g.nodeType||/^defs$/i.test(g.nodeName)||!(_=M(g,i,!1))||_ instanceof I||l.push(_)}return o.addChildren(l),s&&(o=b(o.reduce(),t,n)),h._currentStyle=u,(s||a)&&(o.remove(),o=null),o}function l(t,e){for(var i=t.getAttribute("points").match(/[+-]?(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?/g),n=[],r=0,s=i.length;r<s;r+=2)n.push(new c(parseFloat(i[r]),parseFloat(i[r+1])));var a=new L(n);return"polygon"===e&&a.closePath(),a}function f(t,e){var i,n=(s(t,"href",!0)||"").substring(1),r="radialgradient"===e;if(n)(i=k[n].getGradient())._radial^r&&((i=i.clone())._radial=r);else{for(var o=t.childNodes,h=[],u=0,l=o.length;u<l;u++){var c=o[u];1===c.nodeType&&h.push(b(new q,c))}i=new R(h,r)}var f,d,_,g="userSpaceOnUse"!==s(t,"gradientUnits",!0);return r?(d=(f=a(t,"cx","cy",!1,g)).add(s(t,"r",!1,!1,g),0),_=a(t,"fx","fy",!0,g)):(f=a(t,"x1","y1",!1,g),d=a(t,"x2","y2",!1,g)),b(new F(i,f,d,_),t)._scaleToBounds=g,null}function _(t,e,i,n){if(t.transform){for(var r=(n.getAttribute(i)||"").split(/\)\s*/g),s=new p,a=0,o=r.length;a<o;a++){var h=r[a];if(!h)break;for(var u=h.split(/\(\s*/),l=u[0],c=u[1].split(/[\s,]+/g),f=0,d=c.length;f<d;f++)c[f]=parseFloat(c[f]);switch(l){case"matrix":s.append(new p(c[0],c[1],c[2],c[3],c[4],c[5]));break;case"rotate":s.rotate(c[0],c[1],c[2]);break;case"translate":s.translate(c[0],c[1]);break;case"scale":s.scale(c);break;case"skewX":s.skew(c[0],0);break;case"skewY":s.skew(0,c[0])}}t.transform(s)}}function v(t,e,i){var n="fill-opacity"===i?"getFillColor":"getStrokeColor",r=t[n]&&t[n]();r&&r.setAlpha(parseFloat(e))}function m(t,i,n){var s=t.attributes[i],a=s&&s.value;if(!a){var o=r.camelize(i);(a=t.style[o])||n.node[o]===n.parent[o]||(a=n.node[o])}return a?"none"===a?null:a:e}function b(t,i,n){if(i.style){var s=i.parentNode,a={node:H.getStyles(i)||{},parent:!n&&!/^defs$/i.test(s.tagName)&&H.getStyles(s)||{}};r.each(N,function(n,r){var s=m(i,r,a);t=s!==e&&n(t,s,r,i,a)||t})}return t}function P(t){var e=t&&t.match(/\((?:["'#]*)([^"')]+)/),n=e&&e[1],r=n&&k[i?n.replace(i.location.href.split("#")[0]+"#",""):n];return r&&r._scaleToBounds&&((r=r.clone())._scaleToBounds=!0),r}function M(t,e,i){var s,a,h,u=t.nodeName.toLowerCase(),l="#document"!==u,c=n.body;i&&l&&(z=paper.getView().getSize(),z=o(t,null,null,!0)||z,s=et.create("svg",{style:"stroke-width: 1px; stroke-miterlimit: 10"}),a=t.parentNode,h=t.nextSibling,s.appendChild(t),c.appendChild(s));var f=paper.settings,d=f.applyMatrix,_=f.insertItems;f.applyMatrix=!1,f.insertItems=!1;var g=O[u],v=g&&g(t,u,e,i)||null;if(f.insertItems=_,f.applyMatrix=d,v){!l||v instanceof x||(v=b(v,t,i));var p=e.onImport,m=l&&t.getAttribute("data-paper-data");p&&(v=p(t,v,e)||v),e.expandShapes&&v instanceof C&&(v.remove(),v=v.toPath()),m&&(v._data=JSON.parse(m))}return s&&(c.removeChild(s),a&&(h?a.insertBefore(t,h):a.appendChild(t))),i&&(k={},v&&r.pick(e.applyMatrix,d)&&v.matrix.apply(!0,!0)),v}function T(i,r,s){function a(n){try{var a="object"==typeof n?n:(new t.DOMParser).parseFromString(n,"image/svg+xml");if(!a.nodeName)throw a=null,new Error("Unsupported SVG source: "+i);paper=h,u=M(a,r,!0),r&&!1===r.insert||s._insertItem(e,u);var l=r.onLoad;l&&l(u,n)}catch(t){o(t)}}function o(t,e){var i=r.onError;if(!i)throw new Error(t);i(t,e)}if(!i)return null;r="function"==typeof r?{onLoad:r}:r||{};var h=paper,u=null;if("string"!=typeof i||/^.*</.test(i)){if("undefined"!=typeof File&&i instanceof File){var l=new FileReader;return l.onload=function(){a(l.result)},l.onerror=function(){o(l.error)},l.readAsText(i)}a(i)}else{var c=n.getElementById(i);c?a(c):K.request({url:i,async:!0,onLoad:a,onError:o})}return u}var z,k={},O={"#document":function(t,e,i,n){for(var r=t.childNodes,s=0,a=r.length;s<a;s++){var o=r[s];if(1===o.nodeType)return M(o,i,n)}},g:u,svg:u,clippath:u,polygon:l,polyline:l,path:function(t){return A.create(t.getAttribute("d"))},lineargradient:f,radialgradient:f,image:function(t){var e=new S(s(t,"href",!0));return e.on("load",function(){var e=o(t);this.setSize(e);var i=this._matrix._transformPoint(a(t).add(e.divide(2)));this.translate(i)}),e},symbol:function(t,e,i,n){return new I(u(t,e,i,n),!0)},defs:u,use:function(t){var e=(s(t,"href",!0)||"").substring(1),i=k[e],n=a(t);return i?i instanceof I?i.place(n):i.clone().translate(n):null},circle:function(t){return new C.Circle(a(t,"cx","cy"),s(t,"r"))},ellipse:function(t){return new C.Ellipse({center:a(t,"cx","cy"),radius:o(t,"rx","ry")})},rect:function(t){return new C.Rectangle(new g(a(t),o(t)),o(t,"rx","ry"))},line:function(t){return new L.Line(a(t,"x1","y1"),a(t,"x2","y2"))},text:function(t){var e=new E(a(t).add(a(t,"dx","dy")));return e.setContent(t.textContent.trim()||""),e}},N=r.set(r.each(it,function(t){this[t.attribute]=function(e,i){if(e[t.set]&&(e[t.set](h(i,t.type,t.fromSVG)),"color"===t.type)){var n=e[t.get]();if(n&&n._scaleToBounds){var r=e.getBounds();n.transform((new p).translate(r.getPoint()).scale(r.getSize()))}}}},{}),{id:function(t,e){k[e]=t,t.setName&&t.setName(e)},"clip-path":function(t,e){var i=P(e);if(i){if((i=i.clone()).setClipMask(!0),!(t instanceof x))return new x(i,t);t.insertChild(0,i)}},gradientTransform:_,transform:_,"fill-opacity":v,"stroke-opacity":v,visibility:function(t,e){t.setVisible&&t.setVisible("visible"===e)},display:function(t,e){t.setVisible&&t.setVisible(null!==e)},"stop-color":function(t,e){t.setColor&&t.setColor(e)},"stop-opacity":function(t,e){t._color&&t._color.setAlpha(parseFloat(e))},offset:function(t,e){if(t.setOffset){var i=e.match(/(.*)%$/);t.setOffset(i?i[1]/100:parseFloat(e))}},viewBox:function(t,e,i,n,r){var s,a=new g(h(e,"array")),u=o(n,null,null,!0);if(t instanceof x){var l=u?u.divide(a.getSize()):1,c=(new p).scale(l).translate(a.getPoint().negate());s=t}else t instanceof I&&(u&&a.setSize(u),s=t._item);if(s){if("visible"!==m(n,"overflow",r)){var f=new C.Rectangle(a);f.setClipMask(!0),s.addChild(f)}c&&s.transform(c)}}});w.inject({importSVG:function(t,e){return T(t,e,this)}}),y.inject({importSVG:function(t,e){return this.activate(),T(t,e,this)}})},(paper=new(a.inject(r.exports,{Base:r,Numerical:u,Key:$,DomEvent:Z,DomElement:H,document:n,window:i,Symbol:I,PlacedSymbol:P}))).agent.node&&require("./node/extend.js")(paper),"function"==typeof define&&define.amd?define("paper",paper):"object"==typeof module&&module&&(module.exports=paper),paper}.call(this,"object"==typeof self?self:null);
if (typeof NETXUS === 'undefined')
var NETXUS = function() {};
NETXUS.RectanglePacker = function ( width, height ) {
this.root = {};
// initialize
this.reset( width, height );
}
NETXUS.RectanglePacker.prototype.reset = function ( width, height ) {
this.root.x = 0;
this.root.y = 0;
this.root.w = width;
this.root.h = height;
delete this.root.lft;
delete this.root.rgt;
this.usedWidth = 0;
this.usedHeight = 0;
}
NETXUS.RectanglePacker.prototype.getDimensions = function () {
return { w: this.usedWidth, h: this.usedHeight };
}
NETXUS.RectanglePacker.prototype.findCoords = function ( w, h ) {
function recursiveFindCoords ( node, w, h ) {
function cloneNode ( node ) {
return {
x: node.x,
y: node.y,
w: node.w,
h: node.h
};
}
if ( node.lft ) {
var coords = recursiveFindCoords( node.lft, w, h );
return coords ? coords : recursiveFindCoords( node.rgt, w, h );
}
else
{
if ( node.used || w > node.w || h > node.h )
return null;
if ( w == node.w && h == node.h ) {
node.used = true;
return { x: node.x, y: node.y };
}
node.lft = cloneNode( node );
node.rgt = cloneNode( node );
if ( node.w - w > node.h - h ) {
node.lft.w = w;
node.rgt.x = node.x + w;
node.rgt.w = node.w - w;
} else {
node.lft.h = h;
node.rgt.y = node.y + h;
node.rgt.h = node.h - h;
}
return recursiveFindCoords( node.lft, w, h );
}
}
var coords = recursiveFindCoords( this.root, w, h );
if (coords) {
if ( this.usedWidth < coords.x + w )
this.usedWidth = coords.x + w;
if ( this.usedHeight < coords.y + h )
this.usedHeight = coords.y + h;
}
return coords;
}
function UnionFind(count) {
this.roots = new Array(count);
this.ranks = new Array(count);
for(var i=0; i<count; ++i) {
this.roots[i] = i;
this.ranks[i] = 0;
}
}
// Two calls find(x) always return the same result, if link(..) has not been called in between (unique representatives)
UnionFind.prototype.find = function(x) {
var x0 = x;
var roots = this.roots;
while(roots[x] != x) x = roots[x];
while(roots[x0] != x) {
var y = roots[x0];
roots[x0] = x;
x0 = y;
}
return x;
}
UnionFind.prototype.link = function(x, y) {
var xr = this.find(x), yr = this.find(y);
if(xr == yr) return;
var ranks = this.ranks, roots = this.roots, xd = ranks[xr], yd = ranks[yr];
if (xd < yd) { roots[xr] = yr; }
else if(yd < xd) { roots[yr] = xr; }
else { roots[yr] = xr; ++ranks[xr]; }
}
var ICC=function(){var k=new Int16Array(1),T=new Uint8Array(k.buffer);function w(U,c){return U[c]<<8|U[c+1]}function p(U,c){T[0]=U[c+1];
T[1]=U[c];return k[0]}function a(U,c){return U[c]<<24|U[c+1]<<16|U[c+2]<<8|U[c+3]}function D(U,c,Q){var d="";
for(var S=0;S<Q;S++)d+=String.fromCharCode(U[c+S]);return d}function N(U,c,Q){var d=[];for(var S=0;S<Q;
S++)d.push(String.fromCharCode(U[c+S]));return d}function i(U,c,Q){var d="";for(var S=0;S<Q;S++){var M=U[c++]<<8|U[c++];
d+=String.fromCharCode(M)}return d}function P(U){var c=new Uint8Array(U),Q=t(c,128);if(Q==null)return null;
return{header:g(c,0),tags:Q}}function g(U,c){var Q=D,d=a,S={cmmType:Q(U,4,4),version:U[8]+"."+(U[9]>>>4)+"."+(U[9]&15),profileClass:Q(U,12,4),spaceIn:Q(U,16,4),spaceOut:Q(U,20,4),date:w(U,24),platform:Q(U,40,4),flags:d(U,44),deviceManufac:Q(U,48,4),deviceModel:d(U,52),deviceAttribs:[d(U,56),d(U,60)],rendIntent:d(U,64),illuminant:A(U,68),creator:Q(U,80,4)};
for(var M=0;M<5;M++)S.date+="."+w(U,26+2*M);return S}function t(U,c){var Q=a,d={},S=Q(U,c);c+=4;if(S>100)return null;
for(var M=0;M<S;M++){var j=D(U,c,4);c+=4;var u=Q(U,c);c+=4;var E=Q(U,c);c+=4;d[j]=q(U,u,E)}return d}function q(U,c,Q){var d=D(U,c,4),S={e:d,p:Q};
c+=4;c+=4;if(d=="mluc"){var M=[];for(var j=0;j<Q;j++)M.push(U[c-8+j])}if(d=="mluc")b(S,U,c,Q);else if(d=="text")K(S,U,c,Q);
else if(d=="desc")x(S,U,c,Q);else if(d=="mAB ")F(S,U,c,Q);else if(d=="mft1")r(S,U,c,Q);else if(d=="mft2")V(S,U,c,Q);
else if(d=="XYZ ")y(S,U,c,Q);else if(d=="para")C(S,U,c,Q);else if(d=="curv")f(S,U,c,Q);else if(d=="sf32")h(S,U,c,Q);
if((S.p&3)!=0)S.p+=4-(S.p&3);return S}function b(U,c,Q,d){var S=Q-8,M=a(c,Q);Q+=4;var j=a(c,Q);Q+=4;
U.l=[];for(var u=0;u<M;u++){var E={};U.l.push(E);E.code=D(c,Q,4);var l=a(c,Q+4),n=a(c,Q+8);Q+=12;E.text=i(c,S+n,l>>>1)}}function x(U,c,Q,d){var S=a(c,Q);
Q+=4;U.z=D(c,Q,S-1);Q+=S;var M=a(c,Q);Q+=4;var j=a(c,Q);Q+=4;U.C=i(c,Q,j);Q+=j;var u=w(c,Q);Q+=2;var E=c[Q];
Q++;U.j=D(c,Q,E)}function F(U,c,Q,d){var S=Q-8;U.F=c[Q];Q++;U.J=c[Q];Q++;Q+=2;var M=a(c,Q);Q+=4;var j=a(c,Q);
Q+=4;var u=a(c,Q);Q+=4;var E=a(c,Q);Q+=4;var l=a(c,Q);Q+=4;if(M!=0){U.G=[];Q=S+M;for(var n=0;n<U.J;n++){var z=q(c,Q,0);
Q+=z.p;U.G.push(z)}}if(j!=0){U.I=[];for(var n=0;n<12;n++)U.I.push(I(c,S+j+n*4))}if(u!=0){U.a=[];Q=S+u;
for(var n=0;n<U.J;n++){var z=q(c,Q,0);Q+=z.p;U.a.push(z)}}if(E!=0){U.s=[];Q=S+E;U.D=[];for(var n=0;n<U.F;
n++)U.D.push(c[Q+n]);Q+=16;var R=c[Q];Q+=4;var J=U.J;for(var n=0;n<U.F;n++)J*=U.D[n];if(R==1)for(var n=0;
n<J;n++)U.s.push(c[Q+n]*(1/255));if(R==2)for(var n=0;n<J;n++)U.s.push(w(c,Q+2*n)*(1/65535))}if(l!=0){U.f=[];
Q=S+l;for(var n=0;n<U.F;n++){var z=q(c,Q,0);Q+=z.p;U.f.push(z)}}}function r(U,c,Q,d){s(U,c,Q);Q+=40;
U.n=O(c,Q,U.F,256);Q+=U.F*256;U.s=[];var S=Math.round(Math.pow(U.m,U.F))*U.J;for(var M=0;M<S;M++)U.s.push(c[Q+M]*(1/255));
Q+=S;U.h=O(c,Q,U.J,256);Q+=U.J*256}function V(U,c,Q,d){s(U,c,Q);Q+=40;var S=w(c,Q);Q+=2;var M=w(c,Q);
Q+=2;U.n=v(c,Q,U.F,S);Q+=2*U.F*S;U.s=[];var j=Math.round(Math.pow(U.m,U.F))*U.J;for(var u=0;u<j;u++)U.s.push(w(c,Q+u*2)*(1/65535));
Q+=j*2;U.h=v(c,Q,U.J,M);Q+=2*U.J*M}function s(U,c,Q){U.F=c[Q];Q++;U.J=c[Q];Q++;U.m=c[Q];Q++;Q++;U.I=[];
for(var d=0;d<9;d++){U.I.push(I(c,Q));Q+=4}}function O(U,c,Q,d){var S=[];for(var M=0;M<Q;M++){var j=[];
S.push(j);for(var u=0;u<d;u++){j.push(U[c]*(1/255));c++}}return S}function v(U,c,Q,d){var S=[];for(var M=0;
M<Q;M++){var j=[];S.push(j);for(var u=0;u<d;u++){j.push(w(U,c)*(1/65535));c+=2}}return S}function C(U,c,Q,d){U.d=w(c,Q);
Q+=2;Q+=2;var S=[1,3,4,5,7];U.l=[];for(var M=0;M<S[U.d];M++)U.l.push(I(c,Q+M*4))}function f(U,c,Q,d){var S=a(c,Q);
Q+=4;U.l=[];if(S==1)U.l.push(L(c,Q));else for(var M=0;M<S;M++)U.l.push(w(c,Q+M*2)*(1/65535));U.p=12+2*S}function y(U,c,Q){U.value=A(c,Q)}function K(U,c,Q,d){U.value=D(c,Q,d-9)}function L(U,c){return U[c]+U[c+1]/256}function I(U,c){return p(U,c)+w(U,c+2)*(1/65536)}function A(U,c){var Q=[];
for(var d=0;d<3;d++)Q.push(I(U,c+d*4));return Q}function h(U,c,Q,d){var S=d/4-2;U.value=[];for(var M=0;
M<S;M++)U.value.push(I(c,Q+M*4))}return{R:P}}();ICC.U=function(){var k=[.9642,1,.8249],T={b:[3.1338561,-1.6168667,-.4906146,-.9787684,1.9161415,.033454,.0719453,-.2289914,1.4052427],q:[.4360747,.3850649,.14308038,.2225045,.7168786,.0606169,.0139322,.0971045,.7141733],u:function(L){return L<.0031308?12.92*L:1.055*Math.pow(L,1/2.4)-.055},v:function(L){return L<.04045?L/12.92:Math.pow((L+.055)/1.055,2.4)},K:function(L,I,A){var h=T.k[0],c=T.k[1];
L=h[~~(.5+L*4e3)];I=h[~~(.5+I*4e3)];A=h[~~(.5+A*4e3)];var Q=T.q,d=Q[0]*L+Q[1]*I+Q[2]*A,S=Q[3]*L+Q[4]*I+Q[5]*A,M=Q[6]*L+Q[7]*I+Q[8]*A;
return T.g(d,S,M)},g:function(L,I,A,h){if(h==null)h=k;L=L*(1/h[0]);I=I*(1/h[1]);A=A<0?0:A*(1/h[2]);var c=T.k[1],Q=c[~~(.5+L*4e3)],d=c[~~(.5+I*4e3)],S=c[~~(.5+A*4e3)];
return{t:116*d-16,c:500*(Q-d),r:200*(d-S)}},w:function(L,I,A,h){if(h==null)h=k;var c=903.3,Q=.008856,d=(L+16)/116,S=d*d*d,M=d-A/200,j=M*M*M,u=I/500+d,E=u*u*u,n=j>Q?j:(116*M-16)/c,z=S>Q?S:(116*d-16)/c,R=E>Q?E:(116*u-16)/c,J=R*h[0],o=z*h[1],A=n*h[2],m=T.b,G=[m[0]*J+m[1]*o+m[2]*A,m[3]*J+m[4]*o+m[5]*A,m[6]*J+m[7]*o+m[8]*A];
for(var B=0;B<3;B++)G[B]=Math.max(0,Math.min(1,T.u(G[B])));return{H:G[0],m:G[1],r:G[2]}}};T.k=function(){var L=[],I=[];
for(var A=0;A<8e3;A++){var h=A/4e3;L[A]=T.v(h);I[A]=h>.008856?Math.pow(h,1/3):(903.3*h+16)*(1/116)}return[L,I]}();
function w(L,I,A){var h=1/(L-1),c=[],Q=[];for(var d=0;d<L;d++)for(var S=0;S<L;S++)for(var M=0;M<L;M++){if(I==3){c.push([d*h,S*h,M*h,0]);
Q.push(0,0,0);if(A==4)Q.push(0)}else for(var j=0;j<L;j++){c.push([d*h,S*h,M*h,j*h]);Q.push(0,0,0);if(A==4)Q.push(0)}}return[c,Q]}function p(L,I,A){var h=L.tags,c=L.header,Q=c.spaceIn.toLowerCase(),d=c.spaceOut.toLowerCase();
if(A){var S=Q;Q=d;d=S}console.log(A,Q,d);var M=Q=="cmyk"?4:3,j=d=="cmyk"?4:3,u=w(I,M,j),E=u[0],l=u[1],n=h.wtpt?h.wtpt.value:null;
if(Q=="cmyk")n=null;var R=A?"B2A0":"A2B0";for(var J=0;J<E.length;J++){var o=E[J];if(Q=="rgb "){}else if(Q=="cmyk"){}else if(Q=="lab ")a(o,0,T.K(o[0],o[1],o[2]));
else throw Q;if(h.rTRC){var m=h.rTRC,G=h.gTRC,B=h.bTRC;t(o,m,G,B)}if(h.rXYZ){var m=h.rXYZ.value,G=h.gXYZ.value,B=h.bXYZ.value;
P(o,m,G,B)}if(h[R]){var W=h[R],e=W.e;if(e=="mAB ")N(o,W);else if(e=="mft1"||e=="mft2")D(o,W);else throw e}if(d=="rgb "){}else if(d=="xyz "||d=="lab "){if(d=="xyz ")a(o,0,T.g(o[0],o[1],o[2],n));
var H=T.w(o[0]*100,-127.5+255*o[1],-127.5+255*o[2],n);o[0]=H.H;o[1]=H.m;o[2]=H.r}else if(d=="cmyk"){}else throw d;
l[J*j]=o[0];l[J*j+1]=o[1];l[J*j+2]=o[2];if(j==4)l[J*j+3]=o[3]}return l}function a(L,I,A){L[I]=A.t/100;
L[I+1]=(127.5+A.c)/255;L[I+2]=(127.5+A.r)/255}function D(L,I){for(var A=0;A<I.F;A++)L[A]=b(L[A],I.n[A]);
if(I.F==3){if(I.J==3)v(I.s,I.m,L,L);if(I.J==4)O(I.s,I.m,L,L)}if(I.F==4)f(I.s,I.m,L,L);if(I.h)for(var A=0;
A<I.J;A++)L[A]=b(L[A],I.h[A])}function N(L,I){if(I.s)v(I.s,I.D[0],L,L);if(I.a)t(L,I.a[0],I.a[1],I.a[2]);
if(I.I)i(L,I.I)}function i(L,I){var A=L[0],h=L[1],c=L[2];L[0]=Math.max(0,Math.min(1,I[0]*A+I[1]*h+I[2]*c+I[9]));
L[1]=Math.max(0,Math.min(1,I[3]*A+I[4]*h+I[5]*c+I[10]));L[2]=Math.max(0,Math.min(1,I[6]*A+I[7]*h+I[8]*c+I[11]))}function P(L,I,A,h){var c=L[0],Q=L[1],d=L[2];
L[0]=c*I[0]+Q*A[0]+d*h[0];L[1]=c*I[1]+Q*A[1]+d*h[1];L[2]=c*I[2]+Q*A[2]+d*h[2]}function g(L,I){var A=L[0],h=L[1],c=L[2];
L[0]=A*I[0]+h*I[1]+c*I[2];L[1]=A*I[3]+h*I[4]+c*I[5];L[2]=A*I[6]+h*I[7]+c*I[8]}function t(L,I,A,h){L[0]=q(L[0],I);
L[1]=q(L[1],A);L[2]=q(L[2],h)}function q(L,I){var A=I.e,h=I.l;if(A=="curv")return b(L,h);else if(A=="para")return x(L,h);
else throw A}function b(L,I){var A=I.length;if(A==0)return L;if(A==1)return Math.pow(L,I[0]);var h=L*(A-1)*.9999999,c=~~h,Q=h-c;
return(1-Q)*I[c]+Q*I[c+1]}function x(L,I){var A=I.length,h=L,c=I[0],Q=I[1],d=I[2],S=I[3],M=I[4],j=I[5],u=I[6];
if(A==1)h=Math.pow(L,c);else if(A==3)h=L>=-d/Q?Math.pow(Q*L+d,c):0;else if(A==4)h=L>=-d/Q?Math.pow(Q*L+d,c)+S:S;
else if(A==5)h=L>=M?Math.pow(Q*L+d,c):S*L;else if(A==7)h=L>=M?Math.pow(Q*L+d,c)+j:S*L+u;return h}function F(L,I,A,h,c,Q,d){var S=~~L,M=~~I,j=~~A,u=h*h,E=j+h*M+h*h*S,l=j+h*(M+1)+h*h*S;
if(d==3){r(E,E+1,c,A-j,0,Q);r(l,l+1,c,A-j,1,Q);r(E+u,E+1+u,c,A-j,2,Q);r(l+u,l+1+u,c,A-j,3,Q);r(0,1,Q,I-M,0,Q);
r(2,3,Q,I-M,2,Q);r(0,2,Q,L-S,0,Q)}else{V(E,E+1,c,A-j,0,Q);V(l,l+1,c,A-j,1,Q);V(E+u,E+1+u,c,A-j,2,Q);
V(l+u,l+1+u,c,A-j,3,Q);V(0,1,Q,I-M,0,Q);V(2,3,Q,I-M,2,Q);V(0,2,Q,L-S,0,Q)}}function r(L,I,A,h,c,Q){var d=1-h;
L*=3;I*=3;c*=3;Q[c+0]=d*A[L]+h*A[I];Q[c+1]=d*A[L+1]+h*A[I+1];Q[c+2]=d*A[L+2]+h*A[I+2]}function V(L,I,A,h,c,Q){var d=1-h;
L*=4;I*=4;c*=4;Q[c+0]=d*A[L]+h*A[I];Q[c+1]=d*A[L+1]+h*A[I+1];Q[c+2]=d*A[L+2]+h*A[I+2];Q[c+3]=d*A[L+3]+h*A[I+3]}function s(L,I){function A(M){return M<0?0:M>1?1:M}var h=I*I*I,c=new Uint8Array(h*4);
for(var Q=0;Q<h;Q++){var d=Q*3,S=d+Q;c[S]=~~(.5+A(L[d])*255);c[S+1]=~~(.5+A(L[d+1])*255);c[S+2]=~~(.5+A(L[d+2])*255);
c[S+3]=255}return c}function O(L,I,A,h){var c=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],Q=I-1.000001;F(Q*A[0],Q*A[1],Q*A[2],I,L,c,4);
h[0]=c[0];h[1]=c[1];h[2]=c[2];h[3]=c[3]}function v(L,I,A,h){var c=[0,0,0,0,0,0,0,0,0,0,0,0],Q=I-1.000001,d=A.length;
for(var S=0;S<d;S+=3){F(Q*A[S],Q*A[S+1],Q*A[S+2],I,L,c,3);h[S]=c[0];h[S+1]=c[1];h[S+2]=c[2]}}function C(L,I,A,h){var c=[0,0,0,0,0,0,0,0,0,0,0,0],Q=(I-1.000001)/255,d=A.length;
for(var S=0;S<d;S+=4){F(Q*A[S],Q*A[S+1],Q*A[S+2],I,L,c,3);h[S]=~~(.5+c[0]*255);h[S+1]=~~(.5+c[1]*255);
h[S+2]=~~(.5+c[2]*255)}}function f(L,I,A,h,c){var Q=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],d=I-1.000001,S=0,M=A.length,j=I*I*I;
if(c)d/=255;for(var u=S;u<M;u+=4){var E=d*A[u],l=d*A[u+1],n=d*A[u+2],R=d*A[u+3],J=~~E;F(l,n,R+J*j,I,L,Q,3);
Q[12]=Q[0];Q[13]=Q[1];Q[14]=Q[2];F(l,n,R+(J+1)*j,I,L,Q,3);r(4,0,Q,E-J,0,Q);if(c){h[u]=~~(.5+Q[0]*255);
h[u+1]=~~(.5+Q[1]*255);h[u+2]=~~(.5+Q[2]*255)}else{var o=(u>>>2)*3;h[o]=Q[0];h[o+1]=Q[1];h[o+2]=Q[2]}}}function y(L,I,A,h){f(L,I,A,h,!0)}function K(L){var I=L.tags.desc;
if(I.z)return I.z;return I.l[0].text}return{lutToRGBA8:s,sampleLUT:p,applyLUT:C,applyLUT4:y,applyLUTFloat:v,applyLUT4Float:f,applyLUT3to4Float:O,profileName:K}}();
/*
* [js-sha1]{@link https://github.com/emn178/js-sha1}
*
* @version 0.6.0
* @author Chen, Yi-Cyuan [emn178@gmail.com]
* @copyright Chen, Yi-Cyuan 2014-2017
* @license MIT
*/
!function(){"use strict";function t(t){t?(f[0]=f[16]=f[1]=f[2]=f[3]=f[4]=f[5]=f[6]=f[7]=f[8]=f[9]=f[10]=f[11]=f[12]=f[13]=f[14]=f[15]=0,this.blocks=f):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.h0=1732584193,this.h1=4023233417,this.h2=2562383102,this.h3=271733878,this.h4=3285377520,this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0}var h="object"==typeof window?window:{},s=!h.JS_SHA1_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node;s&&(h=global);var i=!h.JS_SHA1_NO_COMMON_JS&&"object"==typeof module&&module.exports,e="function"==typeof define&&define.amd,r="0123456789abcdef".split(""),o=[-2147483648,8388608,32768,128],n=[24,16,8,0],a=["hex","array","digest","arrayBuffer"],f=[],u=function(h){return function(s){return new t(!0).update(s)[h]()}},c=function(){var h=u("hex");s&&(h=p(h)),h.create=function(){return new t},h.update=function(t){return h.create().update(t)};for(var i=0;i<a.length;++i){var e=a[i];h[e]=u(e)}return h},p=function(t){var h=eval("require('crypto')"),s=eval("require('buffer').Buffer"),i=function(i){if("string"==typeof i)return h.createHash("sha1").update(i,"utf8").digest("hex");if(i.constructor===ArrayBuffer)i=new Uint8Array(i);else if(void 0===i.length)return t(i);return h.createHash("sha1").update(new s(i)).digest("hex")};return i};t.prototype.update=function(t){if(!this.finalized){var s="string"!=typeof t;s&&t.constructor===h.ArrayBuffer&&(t=new Uint8Array(t));for(var i,e,r=0,o=t.length||0,a=this.blocks;r<o;){if(this.hashed&&(this.hashed=!1,a[0]=this.block,a[16]=a[1]=a[2]=a[3]=a[4]=a[5]=a[6]=a[7]=a[8]=a[9]=a[10]=a[11]=a[12]=a[13]=a[14]=a[15]=0),s)for(e=this.start;r<o&&e<64;++r)a[e>>2]|=t[r]<<n[3&e++];else for(e=this.start;r<o&&e<64;++r)(i=t.charCodeAt(r))<128?a[e>>2]|=i<<n[3&e++]:i<2048?(a[e>>2]|=(192|i>>6)<<n[3&e++],a[e>>2]|=(128|63&i)<<n[3&e++]):i<55296||i>=57344?(a[e>>2]|=(224|i>>12)<<n[3&e++],a[e>>2]|=(128|i>>6&63)<<n[3&e++],a[e>>2]|=(128|63&i)<<n[3&e++]):(i=65536+((1023&i)<<10|1023&t.charCodeAt(++r)),a[e>>2]|=(240|i>>18)<<n[3&e++],a[e>>2]|=(128|i>>12&63)<<n[3&e++],a[e>>2]|=(128|i>>6&63)<<n[3&e++],a[e>>2]|=(128|63&i)<<n[3&e++]);this.lastByteIndex=e,this.bytes+=e-this.start,e>=64?(this.block=a[16],this.start=e-64,this.hash(),this.hashed=!0):this.start=e}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},t.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var t=this.blocks,h=this.lastByteIndex;t[16]=this.block,t[h>>2]|=o[3&h],this.block=t[16],h>=56&&(this.hashed||this.hash(),t[0]=this.block,t[16]=t[1]=t[2]=t[3]=t[4]=t[5]=t[6]=t[7]=t[8]=t[9]=t[10]=t[11]=t[12]=t[13]=t[14]=t[15]=0),t[14]=this.hBytes<<3|this.bytes>>>29,t[15]=this.bytes<<3,this.hash()}},t.prototype.hash=function(){var t,h,s=this.h0,i=this.h1,e=this.h2,r=this.h3,o=this.h4,n=this.blocks;for(t=16;t<80;++t)h=n[t-3]^n[t-8]^n[t-14]^n[t-16],n[t]=h<<1|h>>>31;for(t=0;t<20;t+=5)s=(h=(i=(h=(e=(h=(r=(h=(o=(h=s<<5|s>>>27)+(i&e|~i&r)+o+1518500249+n[t]<<0)<<5|o>>>27)+(s&(i=i<<30|i>>>2)|~s&e)+r+1518500249+n[t+1]<<0)<<5|r>>>27)+(o&(s=s<<30|s>>>2)|~o&i)+e+1518500249+n[t+2]<<0)<<5|e>>>27)+(r&(o=o<<30|o>>>2)|~r&s)+i+1518500249+n[t+3]<<0)<<5|i>>>27)+(e&(r=r<<30|r>>>2)|~e&o)+s+1518500249+n[t+4]<<0,e=e<<30|e>>>2;for(;t<40;t+=5)s=(h=(i=(h=(e=(h=(r=(h=(o=(h=s<<5|s>>>27)+(i^e^r)+o+1859775393+n[t]<<0)<<5|o>>>27)+(s^(i=i<<30|i>>>2)^e)+r+1859775393+n[t+1]<<0)<<5|r>>>27)+(o^(s=s<<30|s>>>2)^i)+e+1859775393+n[t+2]<<0)<<5|e>>>27)+(r^(o=o<<30|o>>>2)^s)+i+1859775393+n[t+3]<<0)<<5|i>>>27)+(e^(r=r<<30|r>>>2)^o)+s+1859775393+n[t+4]<<0,e=e<<30|e>>>2;for(;t<60;t+=5)s=(h=(i=(h=(e=(h=(r=(h=(o=(h=s<<5|s>>>27)+(i&e|i&r|e&r)+o-1894007588+n[t]<<0)<<5|o>>>27)+(s&(i=i<<30|i>>>2)|s&e|i&e)+r-1894007588+n[t+1]<<0)<<5|r>>>27)+(o&(s=s<<30|s>>>2)|o&i|s&i)+e-1894007588+n[t+2]<<0)<<5|e>>>27)+(r&(o=o<<30|o>>>2)|r&s|o&s)+i-1894007588+n[t+3]<<0)<<5|i>>>27)+(e&(r=r<<30|r>>>2)|e&o|r&o)+s-1894007588+n[t+4]<<0,e=e<<30|e>>>2;for(;t<80;t+=5)s=(h=(i=(h=(e=(h=(r=(h=(o=(h=s<<5|s>>>27)+(i^e^r)+o-899497514+n[t]<<0)<<5|o>>>27)+(s^(i=i<<30|i>>>2)^e)+r-899497514+n[t+1]<<0)<<5|r>>>27)+(o^(s=s<<30|s>>>2)^i)+e-899497514+n[t+2]<<0)<<5|e>>>27)+(r^(o=o<<30|o>>>2)^s)+i-899497514+n[t+3]<<0)<<5|i>>>27)+(e^(r=r<<30|r>>>2)^o)+s-899497514+n[t+4]<<0,e=e<<30|e>>>2;this.h0=this.h0+s<<0,this.h1=this.h1+i<<0,this.h2=this.h2+e<<0,this.h3=this.h3+r<<0,this.h4=this.h4+o<<0},t.prototype.hex=function(){this.finalize();var t=this.h0,h=this.h1,s=this.h2,i=this.h3,e=this.h4;return r[t>>28&15]+r[t>>24&15]+r[t>>20&15]+r[t>>16&15]+r[t>>12&15]+r[t>>8&15]+r[t>>4&15]+r[15&t]+r[h>>28&15]+r[h>>24&15]+r[h>>20&15]+r[h>>16&15]+r[h>>12&15]+r[h>>8&15]+r[h>>4&15]+r[15&h]+r[s>>28&15]+r[s>>24&15]+r[s>>20&15]+r[s>>16&15]+r[s>>12&15]+r[s>>8&15]+r[s>>4&15]+r[15&s]+r[i>>28&15]+r[i>>24&15]+r[i>>20&15]+r[i>>16&15]+r[i>>12&15]+r[i>>8&15]+r[i>>4&15]+r[15&i]+r[e>>28&15]+r[e>>24&15]+r[e>>20&15]+r[e>>16&15]+r[e>>12&15]+r[e>>8&15]+r[e>>4&15]+r[15&e]},t.prototype.toString=t.prototype.hex,t.prototype.digest=function(){this.finalize();var t=this.h0,h=this.h1,s=this.h2,i=this.h3,e=this.h4;return[t>>24&255,t>>16&255,t>>8&255,255&t,h>>24&255,h>>16&255,h>>8&255,255&h,s>>24&255,s>>16&255,s>>8&255,255&s,i>>24&255,i>>16&255,i>>8&255,255&i,e>>24&255,e>>16&255,e>>8&255,255&e]},t.prototype.array=t.prototype.digest,t.prototype.arrayBuffer=function(){this.finalize();var t=new ArrayBuffer(20),h=new DataView(t);return h.setUint32(0,this.h0),h.setUint32(4,this.h1),h.setUint32(8,this.h2),h.setUint32(12,this.h3),h.setUint32(16,this.h4),t};var y=c();i?module.exports=y:(h.sha1=y,e&&define(function(){return y}))}();var EXRLoader={parse:function(e){var r={FloatType:1,UnsignedByteType:2,HalfFloatType:3,RGBEFormat:4};this.type=r.FloatType;var a=65536,n=a>>3,t=14,i=65537,o=1<<t,f=o-1,l=32768,u=65535,s=59,v=63,c=2+v-s,h=8,w=4,p=4,y=2,d=1,g=0,A=1,S=0,U=1,b=2,m=Math.pow(2.7182818,2.2),M=new DataView(new ArrayBuffer(8));function C(e){if(0===e)return[e,0];M.setFloat64(0,e);var r=M.getUint32(0)>>>20&2047;0===r&&(M.setFloat64(0,e*Math.pow(2,64)),r=(M.getUint32(0)>>>20&2047)-64);var a=r-1022;return[function(e,r){for(var a=Math.min(3,Math.ceil(Math.abs(r)/1023)),n=e,t=0;t<a;t++)n*=Math.pow(2,Math.floor((r+t)/a));return n}(e,-a),a]}var O={l:0,c:0,lc:0};function I(e,r,a,n,t){for(;a<e;)r=r<<8|te(n,t),a+=8;a-=e,O.l=r>>a&(1<<e)-1,O.c=r,O.lc=a}var E=new Array(59);function R(e,r,a,n,t,o,f){for(var l=a,u=0,h=0;t<=o;t++){if(l.value-a.value>n)return!1;I(6,u,h,e,l);var w=O.l;if(u=O.c,h=O.lc,f[t]=w,w==v){if(l.value-a.value>n)throw"Something wrong with hufUnpackEncTable";I(8,u,h,e,l);var p=O.l+c;if(u=O.c,h=O.lc,t+p>o+1)throw"Something wrong with hufUnpackEncTable";for(;p--;)f[t++]=0;t--}else if(w>=s){if(t+(p=w-s+2)>o+1)throw"Something wrong with hufUnpackEncTable";for(;p--;)f[t++]=0;t--}}!function(e){for(var r=0;r<=58;++r)E[r]=0;for(r=0;r<i;++r)E[e[r]]+=1;var a=0;for(r=58;r>0;--r){var n=a+E[r]>>1;E[r]=a,a=n}for(r=0;r<i;++r){var t=e[r];t>0&&(e[r]=t|E[t]++<<6)}}(f)}function x(e){return 63&e}function P(e){return e>>6}var z={c:0,lc:0};function N(e,r,a,n){e=e<<8|te(a,n),r+=8,z.c=e,z.lc=r}var T={c:0,lc:0};function k(e,r,a,n,t,i,o,f,l,u){if(e==r){n<8&&(N(a,n,t,o),a=z.c,n=z.lc);var s=a>>(n-=8);s=new Uint8Array([s])[0];if(l.value+s>u)return!1;for(var v=f[l.value-1];s-- >0;)f[l.value++]=v}else{if(!(l.value<u))return!1;f[l.value++]=e}T.c=a,T.lc=n}function _(e){return 65535&e}function D(e){var r=_(e);return r>32767?r-65536:r}var F={a:0,b:0};function B(e,r){var a=D(e),n=D(r),t=a+(1&n)+(n>>1),i=t,o=t-n;F.a=i,F.b=o}function L(e,r){var a=_(e),n=_(r),t=a-(n>>1)&u,i=n+t-l&u;F.a=i,F.b=t}function X(e,r,a,n,t,i,o){for(var f,l=o<16384,u=a>t?t:a,s=1;s<=u;)s<<=1;for(f=s>>=1,s>>=1;s>=1;){for(var v,c,h,w,p=0,y=p+i*(t-f),d=i*s,g=i*f,A=n*s,S=n*f;p<=y;p+=g){for(var U=p,b=p+n*(a-f);U<=b;U+=S){var m=U+A,M=(C=U+d)+A;l?(B(e[U+r],e[C+r]),v=F.a,h=F.b,B(e[m+r],e[M+r]),c=F.a,w=F.b,B(v,c),e[U+r]=F.a,e[m+r]=F.b,B(h,w),e[C+r]=F.a,e[M+r]=F.b):(L(e[U+r],e[C+r]),v=F.a,h=F.b,L(e[m+r],e[M+r]),c=F.a,w=F.b,L(v,c),e[U+r]=F.a,e[m+r]=F.b,L(h,w),e[C+r]=F.a,e[M+r]=F.b)}if(a&s){var C=U+d;l?B(e[U+r],e[C+r]):L(e[U+r],e[C+r]),v=F.a,e[C+r]=F.b,e[U+r]=v}}if(t&s)for(U=p,b=p+n*(a-f);U<=b;U+=S){m=U+A;l?B(e[U+r],e[m+r]):L(e[U+r],e[m+r]),v=F.a,e[m+r]=F.b,e[U+r]=v}f=s,s>>=1}return p}function V(e,r,a,n,l,u){var s=a.value,v=ne(r,a),c=ne(r,a);a.value+=4;var h=ne(r,a);if(a.value+=4,v<0||v>=i||c<0||c>=i)throw"Something wrong with HUF_ENCSIZE";var w=new Array(i),p=new Array(o);if(function(e){for(var r=0;r<o;r++)e[r]={},e[r].len=0,e[r].lit=0,e[r].p=null}(p),R(e,0,a,n-(a.value-s),v,c,w),h>8*(n-(a.value-s)))throw"Something wrong with hufUncompress";!function(e,r,a,n){for(;r<=a;r++){var i=P(e[r]),o=x(e[r]);if(i>>o)throw"Invalid table entry";if(o>t){if((s=n[i>>o-t]).len)throw"Invalid table entry";if(s.lit++,s.p){var f=s.p;s.p=new Array(s.lit);for(var l=0;l<s.lit-1;++l)s.p[l]=f[l]}else s.p=new Array(1);s.p[s.lit-1]=r}else if(o){var u=0;for(l=1<<t-o;l>0;l--){var s;if((s=n[(i<<t-o)+u]).len||s.p)throw"Invalid table entry";s.len=o,s.lit=r,u++}}}}(w,v,c,p),function(e,r,a,n,i,o,l,u,s,v){for(var c=0,h=0,w=u,p=Math.trunc(i.value+(o+7)/8);i.value<p;)for(N(c,h,a,i),c=z.c,h=z.lc;h>=t;)if((A=r[c>>h-t&f]).len)h-=A.len,k(A.lit,l,c,h,a,0,i,s,v,w),c=T.c,h=T.lc;else{if(!A.p)throw"hufDecode issues";var y;for(y=0;y<A.lit;y++){for(var d=x(e[A.p[y]]);h<d&&i.value<p;)N(c,h,a,i),c=z.c,h=z.lc;if(h>=d&&P(e[A.p[y]])==(c>>h-d&(1<<d)-1)){h-=d,k(A.p[y],l,c,h,a,0,i,s,v,w),c=T.c,h=T.lc;break}}if(y==A.lit)throw"hufDecode issues"}var g=8-o&7;for(c>>=g,h-=g;h>0;){var A;if(!(A=r[c<<t-h&f]).len)throw"hufDecode issues";h-=A.len,k(A.lit,l,c,h,a,0,i,s,v,w),c=T.c,h=T.lc}}(w,p,e,0,a,h,c,u,l,{value:0})}function Z(e){for(var r=1;r<e.length;r++){var a=e[r-1]+e[r]-128;e[r]=a}}function H(e,r){for(var a=0,n=Math.floor((e.length+1)/2),t=0,i=e.length-1;!(t>i||(r[t++]=e[a++],t>i));)r[t++]=e[n++]}function W(e){for(var r=e.byteLength,a=new Array,n=0,t=new DataView(e);r>0;){var i=t.getInt8(n++);if(i<0){r-=(f=-i)+1;for(var o=0;o<f;o++)a.push(t.getUint8(n++))}else{var f=i;r-=2;var l=t.getUint8(n++);for(o=0;o<f+1;o++)a.push(l)}}return a}function G(e,r,a){for(var n,t=1;t<64;)65280==(n=r[e.value])?t=64:n>>8==255?t+=255&n:(a[t]=n,t++),e.value++}function Y(e,r){r[0]=le(e[0]),r[1]=le(e[1]),r[2]=le(e[5]),r[3]=le(e[6]),r[4]=le(e[14]),r[5]=le(e[15]),r[6]=le(e[27]),r[7]=le(e[28]),r[8]=le(e[2]),r[9]=le(e[4]),r[10]=le(e[7]),r[11]=le(e[13]),r[12]=le(e[16]),r[13]=le(e[26]),r[14]=le(e[29]),r[15]=le(e[42]),r[16]=le(e[3]),r[17]=le(e[8]),r[18]=le(e[12]),r[19]=le(e[17]),r[20]=le(e[25]),r[21]=le(e[30]),r[22]=le(e[41]),r[23]=le(e[43]),r[24]=le(e[9]),r[25]=le(e[11]),r[26]=le(e[18]),r[27]=le(e[24]),r[28]=le(e[31]),r[29]=le(e[40]),r[30]=le(e[44]),r[31]=le(e[53]),r[32]=le(e[10]),r[33]=le(e[19]),r[34]=le(e[23]),r[35]=le(e[32]),r[36]=le(e[39]),r[37]=le(e[45]),r[38]=le(e[52]),r[39]=le(e[54]),r[40]=le(e[20]),r[41]=le(e[22]),r[42]=le(e[33]),r[43]=le(e[38]),r[44]=le(e[46]),r[45]=le(e[51]),r[46]=le(e[55]),r[47]=le(e[60]),r[48]=le(e[21]),r[49]=le(e[34]),r[50]=le(e[37]),r[51]=le(e[47]),r[52]=le(e[50]),r[53]=le(e[56]),r[54]=le(e[59]),r[55]=le(e[61]),r[56]=le(e[35]),r[57]=le(e[36]),r[58]=le(e[48]),r[59]=le(e[49]),r[60]=le(e[57]),r[61]=le(e[58]),r[62]=le(e[62]),r[63]=le(e[63])}function j(e){for(var r=.5*Math.cos(.7853975),a=.5*Math.cos(.196349375),n=.5*Math.cos(.39269875),t=.5*Math.cos(3*3.14159/16),i=.5*Math.cos(.981746875),o=.5*Math.cos(3*3.14159/8),f=.5*Math.cos(1.374445625),l=new Array(4),u=new Array(4),s=new Array(4),v=new Array(4),c=0;c<8;++c){var h=8*c;l[0]=n*e[h+2],l[1]=o*e[h+2],l[2]=n*e[h+6],l[3]=o*e[h+6],u[0]=a*e[h+1]+t*e[h+3]+i*e[h+5]+f*e[h+7],u[1]=t*e[h+1]-f*e[h+3]-a*e[h+5]-i*e[h+7],u[2]=i*e[h+1]-a*e[h+3]+f*e[h+5]+t*e[h+7],u[3]=f*e[h+1]-i*e[h+3]+t*e[h+5]-a*e[h+7],s[0]=r*(e[h+0]+e[h+4]),s[3]=r*(e[h+0]-e[h+4]),s[1]=l[0]+l[3],s[2]=l[1]-l[2],v[0]=s[0]+s[1],v[1]=s[3]+s[2],v[2]=s[3]-s[2],v[3]=s[0]-s[1],e[h+0]=v[0]+u[0],e[h+1]=v[1]+u[1],e[h+2]=v[2]+u[2],e[h+3]=v[3]+u[3],e[h+4]=v[3]-u[3],e[h+5]=v[2]-u[2],e[h+6]=v[1]-u[1],e[h+7]=v[0]-u[0]}for(var w=0;w<8;++w)l[0]=n*e[16+w],l[1]=o*e[16+w],l[2]=n*e[48+w],l[3]=o*e[48+w],u[0]=a*e[8+w]+t*e[24+w]+i*e[40+w]+f*e[56+w],u[1]=t*e[8+w]-f*e[24+w]-a*e[40+w]-i*e[56+w],u[2]=i*e[8+w]-a*e[24+w]+f*e[40+w]+t*e[56+w],u[3]=f*e[8+w]-i*e[24+w]+t*e[40+w]-a*e[56+w],s[0]=r*(e[w]+e[32+w]),s[3]=r*(e[w]-e[32+w]),s[1]=l[0]+l[3],s[2]=l[1]-l[2],v[0]=s[0]+s[1],v[1]=s[3]+s[2],v[2]=s[3]-s[2],v[3]=s[0]-s[1],e[0+w]=v[0]+u[0],e[8+w]=v[1]+u[1],e[16+w]=v[2]+u[2],e[24+w]=v[3]+u[3],e[32+w]=v[3]-u[3],e[40+w]=v[2]-u[2],e[48+w]=v[1]-u[1],e[56+w]=v[0]-u[0]}function q(e){for(var r=0;r<64;++r){var a=e[0][r],n=e[1][r],t=e[2][r];e[0][r]=a+1.5747*t,e[1][r]=a-.1873*n-.4682*t,e[2][r]=a+1.8556*n}}function J(e,r,a){for(var n=0;n<64;++n)r[a+n]=ue(K(e[n]))}function K(e){return e<=1?Math.sign(e)*Math.pow(Math.abs(e),2.2):Math.sign(e)*Math.pow(m,Math.abs(e)-1)}function Q(e){var r=e.array.slice(e.offset.value,e.offset.value+e.size),a=new Uint8Array(pako.inflate(r).buffer),n=new Uint8Array(a.length);return Z(a),H(a,n),new DataView(n.buffer)}function $(e){var r=e.viewer,a={value:e.offset.value},n=new Uint8Array(e.width*e.lines*(we.channels.length*e.type*y)),t={version:oe(r,a),unknownUncompressedSize:oe(r,a),unknownCompressedSize:oe(r,a),acCompressedSize:oe(r,a),dcCompressedSize:oe(r,a),rleCompressedSize:oe(r,a),rleUncompressedSize:oe(r,a),rleRawSize:oe(r,a),totalAcUncompressedCount:oe(r,a),totalDcUncompressedCount:oe(r,a),acCompression:oe(r,a)};if(t.version<2)throw"EXRLoader.parse: "+we.compression+" version "+t.version+" is unsupported";for(var i=new Array,o=se(r,a)-y;o>0;){var f=ee(r.buffer,a),l=ie(r,a),u=l>>2&3,s=new Int8Array([(l>>4)-1])[0],v=ie(r,a);i.push({name:f,index:s,type:v,compression:u}),o-=f.length+3}for(var c=we.channels,h=new Array(e.channels),w=0;w<e.channels;++w){var p=h[w]={},d=c[w];p.name=d.name,p.compression=S,p.decoded=!1,p.type=d.pixelType,p.pLinear=d.pLinear,p.width=e.width,p.height=e.lines}for(var m={idx:new Array(3)},M=0;M<e.channels;++M)for(p=h[M],w=0;w<i.length;++w){var C=i[w];p.name==C.name&&(p.compression=C.compression,C.index>=0&&(m.idx[C.index]=M),p.offset=M)}if(t.acCompressedSize>0)switch(t.acCompression){case g:var O=new Uint16Array(t.totalAcUncompressedCount);V(e.array,r,a,t.acCompressedSize,O,t.totalAcUncompressedCount);break;case A:var I=e.array.slice(a.value,a.value+t.totalAcUncompressedCount);O=new Uint16Array(pako.inflate(I).buffer);a.value+=t.totalAcUncompressedCount}if(t.dcCompressedSize>0){var E={array:e.array,offset:a,size:t.dcCompressedSize},R=new Uint16Array(Q(E).buffer);a.value+=t.dcCompressedSize}if(t.rleRawSize>0){I=e.array.slice(a.value,a.value+t.rleCompressedSize);var x=W(pako.inflate(I).buffer);a.value+=t.rleCompressedSize}var P=0,z=new Array(h.length);for(w=0;w<z.length;++w)z[w]=new Array;for(var N=0;N<e.lines;++N)for(var T=0;T<h.length;++T)z[T].push(P),P+=h[T].width*e.type*y;!function(e,r,a,n,t,i){for(var o=new DataView(i.buffer),f=a[e.idx[0]].width,l=a[e.idx[0]].height,u=Math.floor(f/8),s=Math.ceil(f/8),v=Math.ceil(l/8),c=f-8*(s-1),h=l-8*(v-1),w={value:0},p=new Array(3),d=new Array(3),g=new Array(3),A=new Array(3),S=new Array(3),U=0;U<3;++U)S[U]=r[e.idx[U]],p[U]=U<1?0:p[U-1]+s*v,d[U]=new Float32Array(64),g[U]=new Uint16Array(64),A[U]=new Uint16Array(64*s);for(var b=0;b<v;++b){var m=8;b==v-1&&(m=h);for(var M=8,C=0;C<s;++C){for(C==s-1&&(M=c),U=0;U<3;++U)g[U].fill(0),g[U][0]=t[p[U]++],G(w,n,g[U]),Y(g[U],d[U]),j(d[U]);for(q(d),U=0;U<3;++U)J(d[U],A[U],64*C)}var O=0;for(U=0;U<3;++U){for(var I=a[e.idx[U]].type,E=8*b;E<8*b+m;++E)for(O=S[U][E],C=0;C<u;++C){var R=64*C+8*(7&E);o.setUint16(O+0*y*I,A[U][R+0],!0),o.setUint16(O+1*y*I,A[U][R+1],!0),o.setUint16(O+2*y*I,A[U][R+2],!0),o.setUint16(O+3*y*I,A[U][R+3],!0),o.setUint16(O+4*y*I,A[U][R+4],!0),o.setUint16(O+5*y*I,A[U][R+5],!0),o.setUint16(O+6*y*I,A[U][R+6],!0),o.setUint16(O+7*y*I,A[U][R+7],!0),O+=8*y*I}if(u!=s)for(E=8*b;E<8*b+m;++E){O=S[U][E]+8*u*y*I,R=64*u+8*(7&E);for(var x=0;x<M;++x)o.setUint16(O+x*y*I,A[U][R+x],!0)}}}var P=new Uint16Array(f);for(o=new DataView(i.buffer),U=0;U<3;++U)if(a[e.idx[U]].decoded=!0,I=a[e.idx[U]].type,2==a[U].type)for(E=0;E<l;++E){for(O=S[U][E],x=0;x<f;++x)P[x]=o.getUint16(O+x*y*I,!0);for(x=0;x<f;++x)o.setFloat32(O+x*y*I,le(P[x]),!0)}}(m,z,h,O,R,n);for(w=0;w<h.length;++w){if(!(p=h[w]).decoded)switch(p.compression){case b:var k=0,_=0;for(N=0;N<e.lines;++N){for(var D=z[w][k],F=0;F<p.width;++F){for(var B=0;B<y*p.type;++B)n[D++]=x[_+B*p.width*p.height];_++}k++}break;case U:default:throw"EXRLoader.parse: unsupported channel compression"}}return new DataView(n.buffer)}function ee(e,r){for(var a=new Uint8Array(e),n=0;0!=a[r.value+n];)n+=1;var t=(new TextDecoder).decode(a.slice(r.value,r.value+n));return r.value=r.value+n+1,t}function re(e,r){var a=e.getUint32(0,!0);return r.value=r.value+h,a}function ae(e,r){var a=e.getInt32(r.value,!0);return r.value=r.value+p,a}function ne(e,r){var a=e.getUint32(r.value,!0);return r.value=r.value+p,a}function te(e,r){var a=e[r.value];return r.value=r.value+d,a}function ie(e,r){var a=e.getUint8(r.value);return r.value=r.value+d,a}function oe(e,r){var a=Number(e.getBigInt64(r.value,!0));return r.value+=h,a}function fe(e,r){var a=e.getFloat32(r.value,!0);return r.value+=w,a}function le(e){var r=(31744&e)>>10,a=1023&e;return(e>>15?-1:1)*(r?31===r?a?NaN:1/0:Math.pow(2,r-15)*(1+a/1024):a/1024*6103515625e-14)}function ue(e){M.setFloat32(0,e);var r=M.getInt32(0),a=r>>16&32768,n=r>>12&2047,t=r>>23&255;return t<103?a:t>142?(a|=31744,a|=(255==t?0:1)&&8388607&r):t<113?a|=((n|=2048)>>114-t)+(n>>113-t&1):(a|=t-112<<10|n>>1,a+=1&n)}function se(e,r){var a=e.getUint16(r.value,!0);return r.value+=y,a}function ve(e,r,a,n,t){return"string"===n||"stringvector"===n||"iccProfile"===n?function(e,r,a){var n=(new TextDecoder).decode(new Uint8Array(e).slice(r.value,r.value+a));return r.value=r.value+a,n}(r,a,t):"chlist"===n?function(e,r,a,n){for(var t=a.value,i=[];a.value<t+n-1;){var o=ee(r,a),f=ae(e,a),l=ie(e,a);a.value+=3;var u=ae(e,a),s=ae(e,a);i.push({name:o,pixelType:f,pLinear:l,xSampling:u,ySampling:s})}return a.value+=1,i}(e,r,a,t):"chromaticities"===n?function(e,r){return{redX:fe(e,r),redY:fe(e,r),greenX:fe(e,r),greenY:fe(e,r),blueX:fe(e,r),blueY:fe(e,r),whiteX:fe(e,r),whiteY:fe(e,r)}}(e,a):"compression"===n?function(e,r){return["NO_COMPRESSION","RLE_COMPRESSION","ZIPS_COMPRESSION","ZIP_COMPRESSION","PIZ_COMPRESSION","PXR24_COMPRESSION","B44_COMPRESSION","B44A_COMPRESSION","DWAA_COMPRESSION","DWAB_COMPRESSION"][ie(e,r)]}(e,a):"box2i"===n?function(e,r){return{xMin:ne(e,r),yMin:ne(e,r),xMax:ne(e,r),yMax:ne(e,r)}}(e,a):"lineOrder"===n?function(e,r){return["INCREASING_Y"][ie(e,r)]}(e,a):"float"===n?fe(e,a):"v2f"===n?function(e,r){return[fe(e,r),fe(e,r)]}(e,a):"v3f"===n?function(e,r){return[fe(e,r),fe(e,r),fe(e,r)]}(e,a):"int"===n?ae(e,a):"rational"===n?function(e,r){return[ae(e,r),ne(e,r)]}(e,a):"timecode"===n?function(e,r){return[ne(e,r),ne(e,r)]}(e,a):(a.value+=t,void console.log("Cannot parse value for unsupported type: "+n))}var ce=new DataView(e),he=new Uint8Array(e),we={};ce.getUint32(0,!0),ce.getUint8(4,!0),ce.getUint8(5,!0);for(var pe={value:8},ye=!0;ye;){var de=ee(e,pe);if(0==de)ye=!1;else{var ge=ve(ce,e,pe,ee(e,pe),ne(ce,pe));we[de]=ge}}var Ae,Se,Ue,be,me=we.dataWindow.yMax+1;switch(we.compression){case"NO_COMPRESSION":Se=1,Ae=function(e){return new DataView(e.array.buffer,e.offset.value,e.size)};break;case"RLE_COMPRESSION":Se=1,Ae=function(e){var r=e.viewer.buffer.slice(e.offset.value,e.offset.value+e.size),a=new Uint8Array(W(r)),n=new Uint8Array(a.length);return Z(a),H(a,n),new DataView(n.buffer)};break;case"ZIPS_COMPRESSION":Se=1,Ae=Q;break;case"ZIP_COMPRESSION":Se=16,Ae=Q;break;case"PXR24_COMPRESSION":Se=16,Ae=function(e){for(var r=e.array.slice(e.offset.value,e.offset.value+e.size),a=new Uint8Array(pako.inflate(r).buffer),n=new Uint8Array(a.length),t=n,i=Ee,o=0;o<t.length;o+=2*i){for(var f=0;f<i;f++)t[o+2*f]=a[o+f+i],t[o+2*f+1]=a[o+f];var l=new Uint16Array(t.buffer,o,i);for(f=1;f<i;f++)l[f]=l[f-1]+l[f]&65535}return new DataView(n.buffer)};break;case"PIZ_COMPRESSION":Se=32,Ae=function(e){for(var r=e.viewer,t={value:e.offset.value},i=e.width*Se*(we.channels.length*e.type),o=new Uint16Array(i),f=new Uint8Array(n),l=0,u=new Array(e.channels),s=0;s<e.channels;s++)u[s]={},u[s].start=l,u[s].end=u[s].start,u[s].nx=e.width,u[s].ny=e.lines,u[s].size=e.type,l+=u[s].nx*u[s].ny*u[s].size;var v=se(r,t),c=se(r,t);if(c>=n)throw"Something is wrong with PIZ_COMPRESSION BITMAP_SIZE";if(v<=c)for(s=0;s<c-v+1;s++)f[s+v]=ie(r,t);var h=new Uint16Array(a),w=function(e,r){for(var n=0,t=0;t<a;++t)(0==t||e[t>>3]&1<<(7&t))&&(r[n++]=t);for(var i=n-1;n<a;)r[n++]=0;return i}(f,h),p=ne(r,t);for(V(e.array,r,t,p,o,l),s=0;s<e.channels;++s)for(var d=u[s],g=0;g<u[s].size;++g)X(o,d.start+g,d.nx,d.size,d.ny,d.nx*d.size,w);!function(e,r,a){for(var n=0;n<a;++n)r[n]=e[r[n]]}(h,o,l);for(var A=0,S=new Uint8Array(o.buffer.byteLength),U=0;U<e.lines;U++)for(var b=0;b<e.channels;b++){var m=(d=u[b]).nx*d.size,M=new Uint8Array(o.buffer,d.end*y,m*y);S.set(M,A),A+=m*y,d.end+=m}return new DataView(S.buffer)};break;case"DWAA_COMPRESSION":Se=32,Ae=$;break;case"DWAB_COMPRESSION":Se=256,Ae=$;break;default:throw"EXRLoader.parse: "+we.compression+" is unsupported"}var Me=we.channels[0].pixelType;if(1===Me)switch(this.type){case r.UnsignedByteType:case r.FloatType:be=function(e,r){return le(se(e,r))},Ue=y;break;case r.HalfFloatType:be=se,Ue=y}else{if(2!==Me)throw"EXRLoader.parse: unsupported pixelType "+Me+" for "+we.compression+".";switch(this.type){case r.UnsignedByteType:case r.FloatType:be=fe,Ue=w;break;case r.HalfFloatType:be=function(e,r){return ue(fe(e,r))},Ue=w}}for(var Ce=me/Se,Oe=0;Oe<Ce;Oe++)re(ce,pe);var Ie=we.dataWindow,Ee=Ie.xMax-Ie.xMin+1,Re=Ie.yMax-Ie.yMin+1,xe=Ee*Re*4;switch(this.type){case r.UnsignedByteType:case r.FloatType:var Pe=new Float32Array(xe);we.channels.length<4&&Pe.fill(1,0,xe);break;case r.HalfFloatType:Pe=new Uint16Array(xe);we.channels.length<4&&Pe.fill(15360,0,xe);break;default:console.error("THREE.EXRLoader: unsupported type: ",this.type)}for(var ze,Ne,Te={R:0,G:1,B:2,A:3},ke={size:0,width:Ee,lines:Se,offset:pe,array:he,viewer:ce,type:Me,channels:we.channels.length},_e={value:0},De=0;De<Re/Se;De++){ze=ne(ce,pe),xe=ne(ce,pe),ke.lines=ze+Se>Re?Re-ze:Se,ke.offset=pe,ke.size=xe,Ne=Ae(ke),pe.value+=xe;for(var Fe=0;Fe<Se;Fe++){var Be=Fe+De*Se;if(Be>=Re)break;for(var Le=0;Le<we.channels.length;Le++)for(var Xe=Te[we.channels[Le].name],Ve=0;Ve<Ee;Ve++){var Ze=Fe*(we.channels.length*Ee)+Le*Ee+Ve;_e.value=Ze*Ue;var He=be(Ne,_e);Pe[4*Ee*(Re-1-Be)+4*Ve+Xe]=He}}}if(this.type===r.UnsignedByteType){xe=Pe.length;for(var We,Ge=new Uint8Array(xe),Ye=0;Ye<Re;++Ye)for(var je=0;je<Ee;++je){var qe=Pe[Oe=Ye*Ee*4+4*je],Je=Pe[Oe+1],Ke=Pe[Oe+2];if((We=Ke>(We=qe>Je?qe:Je)?Ke:We)<1e-32)Ge[Oe]=Ge[Oe+1]=Ge[Oe+2]=Ge[Oe+3]=0;else{var Qe=C(We);We=256*Qe[0]/We,Ge[Oe]=qe*We,Ge[Oe+1]=Je*We,Ge[Oe+2]=Ke*We,Ge[Oe+3]=Qe[1]+128}}Pe=Ge}var $e=this.type===r.UnsignedByteType?r.RGBEFormat:r.RGBAFormat;return{header:we,width:Ee,height:Re,data:Pe,format:$e,type:this.type}}};