canvaskit-wasm
Version:
A WASM version of Skia's Canvas API
278 lines • 123 kB
JavaScript
var CanvasKitInit = (function() {
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
return (
function(CanvasKitInit) {
CanvasKitInit = CanvasKitInit || {};
null;var f;f||(f=typeof CanvasKitInit !== 'undefined' ? CanvasKitInit : {});var aa,ca;f.ready=new Promise(function(a,b){aa=a;ca=b});
(function(a){a.Hf=a.Hf||[];a.Hf.push(function(){a.MakeSWCanvasSurface=function(b){var c=b;if("CANVAS"!==c.tagName&&(c=document.getElementById(b),!c))throw"Canvas with id "+b+" was not found";if(b=a.MakeSurface(c.width,c.height))b.ef=c;return b};a.MakeCanvasSurface||(a.MakeCanvasSurface=a.MakeSWCanvasSurface);a.MakeSurface=function(b,c){var d={width:b,height:c,colorType:a.ColorType.RGBA_8888,alphaType:a.AlphaType.Unpremul,colorSpace:a.SkColorSpace.SRGB},g=b*c*4,l=a._malloc(g);if(d=this._getRasterDirectSurface(d,
l,4*b))d.ef=null,d.$g=b,d.Wg=c,d.Zg=g,d.zg=l,d.getCanvas().clear(a.TRANSPARENT);return d};a.SkSurface.prototype.flush=function(b){this._flush();if(this.ef){var c=new Uint8ClampedArray(a.HEAPU8.buffer,this.zg,this.Zg);c=new ImageData(c,this.$g,this.Wg);b?this.ef.getContext("2d").putImageData(c,0,0,b[0],b[1],b[2]-b[0],b[3]-b[1]):this.ef.getContext("2d").putImageData(c,0,0)}};a.SkSurface.prototype.dispose=function(){this.zg&&a._free(this.zg);this.delete()};a.currentContext=a.currentContext||function(){};
a.setCurrentContext=a.setCurrentContext||function(){}})})(f);
(function(a){a.Hf=a.Hf||[];a.Hf.push(function(){function b(c,d,g){return c&&c.hasOwnProperty(d)?c[d]:g}a.GetWebGLContext=function(c,d){if(!c)throw"null canvas passed into makeWebGLContext";var g={alpha:b(d,"alpha",1),depth:b(d,"depth",1),stencil:b(d,"stencil",8),antialias:b(d,"antialias",0),premultipliedAlpha:b(d,"premultipliedAlpha",1),preserveDrawingBuffer:b(d,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:b(d,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:b(d,"failIfMajorPerformanceCaveat",
0),enableExtensionsByDefault:b(d,"enableExtensionsByDefault",1),explicitSwapControl:b(d,"explicitSwapControl",0),renderViaOffscreenBackBuffer:b(d,"renderViaOffscreenBackBuffer",0)};g.majorVersion=d&&d.majorVersion?d.majorVersion:"undefined"!==typeof WebGL2RenderingContext?2:1;if(g.explicitSwapControl)throw"explicitSwapControl is not supported";if(c=1<g.majorVersion?c.getContext("webgl2",g):c.getContext("webgl",g)){d=da(ea);var l={mh:d,attributes:g,version:g.majorVersion,Ng:c};c.canvas&&(c.canvas.Ug=
l);ea[d]=l;("undefined"===typeof g.eh||g.eh)&&ia(l);g=d}else g=0;if(!g)return 0;la(g);return g};a.MakeWebGLCanvasSurface=function(c,d,g){d=d||null;var l=c,p="undefined"!==typeof OffscreenCanvas&&l instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&l instanceof HTMLCanvasElement||p||(l=document.getElementById(c),l)))throw"Canvas with id "+c+" was not found";c=this.GetWebGLContext(l,g);g=l.Ug.version;if(!c||0>c)throw"failed to create webgl context: err "+c;p=this.MakeGrContext(c);
d=this.MakeOnScreenGLSurface(p,l.width,l.height,d);if(!d)return d=l.cloneNode(!0),l.parentNode.replaceChild(d,l),d.classList.add("ck-replaced"),a.MakeSWCanvasSurface(d);d.Gf=c;d.grContext=p;d.openGLversion=g;return d};a.MakeCanvasSurface=a.MakeWebGLCanvasSurface})})(f);
(function(a){function b(m){return Math.round(Math.max(0,Math.min(m||0,255)))}function c(m){return m?m.constructor===Float32Array&&4===m.length:!1}function d(m){return(b(255*m[3])<<24|b(255*m[0])<<16|b(255*m[1])<<8|b(255*m[2])<<0)>>>0}function g(m){if(m instanceof Float32Array){for(var v=Math.floor(m.length/4),I=new Uint32Array(v),J=0;J<v;J++)I[J]=d(m.slice(4*J,4*(J+1)));return I}if(m instanceof Uint32Array)return m;if(m instanceof Array&&m[0]instanceof Float32Array)return m.map(d)}function l(m){if(void 0===
m)return 1;var v=parseFloat(m);return m&&-1!==m.indexOf("%")?v/100:v}function p(m,v,I){if(!m||!m.length)return 0;if(m._ck)return m.byteOffset;var J=a[v].BYTES_PER_ELEMENT;I||(I=a._malloc(m.length*J));a[v].set(m,I/J);return I}function r(m,v,I){if(!m||!m.length)return 0;var J=a[v].BYTES_PER_ELEMENT;I||(I=a._malloc(m.length*m[0].length*J));v=a[v];var ba=0;J=I/J;for(var ua=0;ua<m.length;ua++)for(var e=0;e<m[0].length;e++)v[J+ba]=m[ua][e],ba++;return I}function y(m){var v={yf:0,count:m.length,jg:a.ColorType.RGBA_F32};
if(m instanceof Float32Array)v.yf=p(m,"HEAPF32"),v.count=m.length/4;else if(m instanceof Uint32Array)v.yf=p(m,"HEAPU32"),v.jg=a.ColorType.RGBA_8888;else if(m instanceof Array&&m[0]instanceof Float32Array)v.yf=r(m,"HEAPF32");else throw"Invalid argument to copyFlexibleColorArray, Not a color array "+typeof m;return v}function B(m){if(!m)return 0;if(m.length){if(6!==m.length&&9!==m.length)throw"invalid matrix size";var v=p(m,"HEAPF32",Ca);6===m.length&&a.HEAPF32.set(zb,6+v/4);return v}v=bc.toTypedArray();
v[0]=m.m11;v[1]=m.m21;v[2]=m.m41;v[3]=m.m12;v[4]=m.m22;v[5]=m.m42;v[6]=m.m14;v[7]=m.m24;v[8]=m.m44;return Ca}function F(m){if(!m)return 0;var v=cc.toTypedArray();if(m.length){if(16!==m.length&&6!==m.length&&9!==m.length)throw"invalid matrix size";if(16===m.length)return p(m,"HEAPF32",Da);v.fill(0);v[0]=m[0];v[1]=m[1];v[3]=m[2];v[4]=m[3];v[5]=m[4];v[7]=m[5];v[12]=m[6];v[13]=m[7];v[15]=m[8];6===m.length&&(v[12]=0,v[13]=0,v[15]=1);return Da}v[0]=m.m11;v[1]=m.m21;v[2]=m.m31;v[3]=m.m41;v[4]=m.m12;v[5]=
m.m22;v[6]=m.m32;v[7]=m.m42;v[8]=m.m13;v[9]=m.m23;v[10]=m.m33;v[11]=m.m43;v[12]=m.m14;v[13]=m.m24;v[14]=m.m34;v[15]=m.m44;return Da}function L(m){for(var v=Array(16),I=0;16>I;I++)v[I]=a.HEAPF32[m/4+I];return v}function N(m,v){return p(m,"HEAPF32",v||gb)}function x(m,v,I,J){var ba=dc.toTypedArray();ba[0]=m;ba[1]=v;ba[2]=I;ba[3]=J;return gb}function M(m){for(var v=new Float32Array(4),I=0;4>I;I++)v[I]=a.HEAPF32[m/4+I];return v}function S(m,v){return p(m,"HEAPF32",v||Ta)}function Z(m,v){return p(m,"HEAPF32",
v||ec)}function T(m,v){v&&!v._ck&&a._free(m)}a.Color=function(m,v,I,J){void 0===J&&(J=1);return a.Color4f(b(m)/255,b(v)/255,b(I)/255,J)};a.ColorAsInt=function(m,v,I,J){void 0===J&&(J=255);return(b(J)<<24|b(m)<<16|b(v)<<8|b(I)<<0&268435455)>>>0};a.Color4f=function(m,v,I,J){void 0===J&&(J=1);return Float32Array.of(m,v,I,J)};Object.defineProperty(a,"TRANSPARENT",{get:function(){return a.Color4f(0,0,0,0)}});Object.defineProperty(a,"BLACK",{get:function(){return a.Color4f(0,0,0,1)}});Object.defineProperty(a,
"WHITE",{get:function(){return a.Color4f(1,1,1,1)}});Object.defineProperty(a,"RED",{get:function(){return a.Color4f(1,0,0,1)}});Object.defineProperty(a,"GREEN",{get:function(){return a.Color4f(0,1,0,1)}});Object.defineProperty(a,"BLUE",{get:function(){return a.Color4f(0,0,1,1)}});Object.defineProperty(a,"YELLOW",{get:function(){return a.Color4f(1,1,0,1)}});Object.defineProperty(a,"CYAN",{get:function(){return a.Color4f(0,1,1,1)}});Object.defineProperty(a,"MAGENTA",{get:function(){return a.Color4f(1,
0,1,1)}});a.getColorComponents=function(m){return[Math.floor(255*m[0]),Math.floor(255*m[1]),Math.floor(255*m[2]),m[3]]};a.parseColorString=function(m,v){m=m.toLowerCase();if(m.startsWith("#")){v=255;switch(m.length){case 9:v=parseInt(m.slice(7,9),16);case 7:var I=parseInt(m.slice(1,3),16);var J=parseInt(m.slice(3,5),16);var ba=parseInt(m.slice(5,7),16);break;case 5:v=17*parseInt(m.slice(4,5),16);case 4:I=17*parseInt(m.slice(1,2),16),J=17*parseInt(m.slice(2,3),16),ba=17*parseInt(m.slice(3,4),16)}return a.Color(I,
J,ba,v/255)}return m.startsWith("rgba")?(m=m.slice(5,-1),m=m.split(","),a.Color(+m[0],+m[1],+m[2],l(m[3]))):m.startsWith("rgb")?(m=m.slice(4,-1),m=m.split(","),a.Color(+m[0],+m[1],+m[2],l(m[3]))):m.startsWith("gray(")||m.startsWith("hsl")||!v||(m=v[m],void 0===m)?a.BLACK:m};a.multiplyByAlpha=function(m,v){m=m.slice();m[3]=Math.max(0,Math.min(m[3]*v,1));return m};var ja=!(new Function("try {return this===window;}catch(e){ return false;}"))(),zb=Float32Array.of(0,0,1),Ca=0,bc,Da=0,cc,gb=0,dc,hb,Ta=
0,Jc,Kc=0,Lc,fc=0,Mc,ec=0,Nc,Oc=0,hc={};a.Mf=function(){this.Ff=[];this.mf=null;Object.defineProperty(this,"length",{enumerable:!0,get:function(){return this.Ff.length/4}})};a.Mf.prototype.push=function(m,v,I,J){this.mf||this.Ff.push(m,v,I,J)};a.Mf.prototype.set=function(m,v,I,J,ba){0>m||m>=this.Ff.length/4||(m*=4,this.mf?(m=this.mf/4+m,a.HEAPF32[m]=v,a.HEAPF32[m+1]=I,a.HEAPF32[m+2]=J,a.HEAPF32[m+3]=ba):(this.Ff[m]=v,this.Ff[m+1]=I,this.Ff[m+2]=J,this.Ff[m+3]=ba))};a.Mf.prototype.build=function(){return this.mf?
this.mf:this.mf=p(this.Ff,"HEAPF32")};a.Mf.prototype.delete=function(){this.mf&&(a._free(this.mf),this.mf=null)};a.cg=function(){this.ig=[];this.mf=null;Object.defineProperty(this,"length",{enumerable:!0,get:function(){return this.ig.length}})};a.cg.prototype.push=function(m){this.mf||this.ig.push(m)};a.cg.prototype.set=function(m,v){0>m||m>=this.ig.length||(m*=4,this.mf?a.HEAPU32[this.mf/4+m]=v:this.ig[m]=v)};a.cg.prototype.build=function(){return this.mf?this.mf:this.mf=p(this.ig,"HEAPU32")};a.cg.prototype.delete=
function(){this.mf&&(a._free(this.mf),this.mf=null)};a.SkRectBuilder=a.Mf;a.RSXFormBuilder=a.Mf;a.SkColorBuilder=a.cg;a.Malloc=function(m,v){var I=a._malloc(v*m.BYTES_PER_ELEMENT);return{_ck:!0,length:v,byteOffset:I,Lf:null,subarray:function(J,ba){J=this.toTypedArray().subarray(J,ba);J._ck=!0;return J},toTypedArray:function(){if(this.Lf&&this.Lf.length)return this.Lf;this.Lf=new m(a.HEAPU8.buffer,I,v);this.Lf._ck=!0;return this.Lf}}};a.Free=function(m){a._free(m.byteOffset);m.byteOffset=0;m.toTypedArray=
null;m.Lf=null};a.onRuntimeInitialized=function(){function m(e,k,q,u,A){for(var D=0;D<e.length;D++)k[D*q+(D*A+u+q)%q]=e[D];return k}function v(e){for(var k=e*e,q=Array(k);k--;)q[k]=0==k%(e+1)?1:0;return q}function I(){for(var e=0,k=0;k<arguments.length-1;k+=2)e+=arguments[k]*arguments[k+1];return e}function J(e,k,q){for(var u=Array(e.length),A=0;A<q;A++)for(var D=0;D<q;D++){for(var O=0,Q=0;Q<q;Q++)O+=e[q*A+Q]*k[q*Q+D];u[A*q+D]=O}return u}function ba(e,k){for(var q=J(k[0],k[1],e),u=2;u<k.length;)q=
J(q,k[u],e),u++;return q}dc=a.Malloc(Float32Array,4);gb=dc.byteOffset;cc=a.Malloc(Float32Array,16);Da=cc.byteOffset;bc=a.Malloc(Float32Array,9);Ca=bc.byteOffset;Mc=a.Malloc(Float32Array,12);ec=Mc.byteOffset;Nc=a.Malloc(Float32Array,12);Oc=Nc.byteOffset;hb=a.Malloc(Float32Array,4);Ta=hb.byteOffset;Jc=a.Malloc(Float32Array,4);Kc=Jc.byteOffset;Lc=a.Malloc(Int32Array,4);fc=Lc.byteOffset;a.SkColorSpace.SRGB=a.SkColorSpace._MakeSRGB();a.SkColorSpace.DISPLAY_P3=a.SkColorSpace._MakeDisplayP3();a.SkColorSpace.ADOBE_RGB=
a.SkColorSpace._MakeAdobeRGB();a.SkMatrix={};a.SkMatrix.identity=function(){return v(3)};a.SkMatrix.invert=function(e){var k=e[0]*e[4]*e[8]+e[1]*e[5]*e[6]+e[2]*e[3]*e[7]-e[2]*e[4]*e[6]-e[1]*e[3]*e[8]-e[0]*e[5]*e[7];return k?[(e[4]*e[8]-e[5]*e[7])/k,(e[2]*e[7]-e[1]*e[8])/k,(e[1]*e[5]-e[2]*e[4])/k,(e[5]*e[6]-e[3]*e[8])/k,(e[0]*e[8]-e[2]*e[6])/k,(e[2]*e[3]-e[0]*e[5])/k,(e[3]*e[7]-e[4]*e[6])/k,(e[1]*e[6]-e[0]*e[7])/k,(e[0]*e[4]-e[1]*e[3])/k]:null};a.SkMatrix.mapPoints=function(e,k){for(var q=0;q<k.length;q+=
2){var u=k[q],A=k[q+1],D=e[6]*u+e[7]*A+e[8],O=e[3]*u+e[4]*A+e[5];k[q]=(e[0]*u+e[1]*A+e[2])/D;k[q+1]=O/D}return k};a.SkMatrix.multiply=function(){return ba(3,arguments)};a.SkMatrix.rotated=function(e,k,q){k=k||0;q=q||0;var u=Math.sin(e);e=Math.cos(e);return[e,-u,I(u,q,1-e,k),u,e,I(-u,k,1-e,q),0,0,1]};a.SkMatrix.scaled=function(e,k,q,u){q=q||0;u=u||0;var A=m([e,k],v(3),3,0,1);return m([q-e*q,u-k*u],A,3,2,0)};a.SkMatrix.skewed=function(e,k,q,u){q=q||0;u=u||0;var A=m([e,k],v(3),3,1,-1);return m([-e*q,
-k*u],A,3,2,0)};a.SkMatrix.translated=function(e,k){return m(arguments,v(3),3,2,0)};a.SkVector={};a.SkVector.dot=function(e,k){return e.map(function(q,u){return q*k[u]}).reduce(function(q,u){return q+u})};a.SkVector.lengthSquared=function(e){return a.SkVector.dot(e,e)};a.SkVector.length=function(e){return Math.sqrt(a.SkVector.lengthSquared(e))};a.SkVector.mulScalar=function(e,k){return e.map(function(q){return q*k})};a.SkVector.add=function(e,k){return e.map(function(q,u){return q+k[u]})};a.SkVector.sub=
function(e,k){return e.map(function(q,u){return q-k[u]})};a.SkVector.dist=function(e,k){return a.SkVector.length(a.SkVector.sub(e,k))};a.SkVector.normalize=function(e){return a.SkVector.mulScalar(e,1/a.SkVector.length(e))};a.SkVector.cross=function(e,k){return[e[1]*k[2]-e[2]*k[1],e[2]*k[0]-e[0]*k[2],e[0]*k[1]-e[1]*k[0]]};a.SkM44={};a.SkM44.identity=function(){return v(4)};a.SkM44.translated=function(e){return m(e,v(4),4,3,0)};a.SkM44.scaled=function(e){return m(e,v(4),4,0,1)};a.SkM44.rotated=function(e,
k){return a.SkM44.rotatedUnitSinCos(a.SkVector.normalize(e),Math.sin(k),Math.cos(k))};a.SkM44.rotatedUnitSinCos=function(e,k,q){var u=e[0],A=e[1];e=e[2];var D=1-q;return[D*u*u+q,D*u*A-k*e,D*u*e+k*A,0,D*u*A+k*e,D*A*A+q,D*A*e-k*u,0,D*u*e-k*A,D*A*e+k*u,D*e*e+q,0,0,0,0,1]};a.SkM44.lookat=function(e,k,q){k=a.SkVector.normalize(a.SkVector.sub(k,e));q=a.SkVector.normalize(q);q=a.SkVector.normalize(a.SkVector.cross(k,q));var u=a.SkM44.identity();m(q,u,4,0,0);m(a.SkVector.cross(q,k),u,4,1,0);m(a.SkVector.mulScalar(k,
-1),u,4,2,0);m(e,u,4,3,0);e=a.SkM44.invert(u);return null===e?a.SkM44.identity():e};a.SkM44.perspective=function(e,k,q){var u=1/(k-e);q/=2;q=Math.cos(q)/Math.sin(q);return[q,0,0,0,0,q,0,0,0,0,(k+e)*u,2*k*e*u,0,0,-1,1]};a.SkM44.rc=function(e,k,q){return e[4*k+q]};a.SkM44.multiply=function(){return ba(4,arguments)};a.SkM44.invert=function(e){var k=e[0],q=e[4],u=e[8],A=e[12],D=e[1],O=e[5],Q=e[9],R=e[13],U=e[2],ha=e[6],ka=e[10],oa=e[14],G=e[3],h=e[7],n=e[11];e=e[15];var w=k*O-q*D,z=k*Q-u*D,C=k*R-A*D,
E=q*Q-u*O,K=q*R-A*O,X=u*R-A*Q,fa=U*h-ha*G,pa=U*n-ka*G,qa=U*e-oa*G,Ua=ha*n-ka*h,Va=ha*e-oa*h,Wa=ka*e-oa*n,Pc=w*Wa-z*Va+C*Ua+E*qa-K*pa+X*fa,ra=1/Pc;if(0===Pc||Infinity===ra)return null;w*=ra;z*=ra;C*=ra;E*=ra;K*=ra;X*=ra;fa*=ra;pa*=ra;qa*=ra;Ua*=ra;Va*=ra;Wa*=ra;k=[O*Wa-Q*Va+R*Ua,Q*qa-D*Wa-R*pa,D*Va-O*qa+R*fa,O*pa-D*Ua-Q*fa,u*Va-q*Wa-A*Ua,k*Wa-u*qa+A*pa,q*qa-k*Va-A*fa,k*Ua-q*pa+u*fa,h*X-n*K+e*E,n*C-G*X-e*z,G*K-h*C+e*w,h*z-G*E-n*w,ka*K-ha*X-oa*E,U*X-ka*C+oa*z,ha*C-U*K-oa*w,U*E-ha*z+ka*w];return k.every(function(Qc){return Infinity!==
Qc&&-Infinity!==Qc})?k:null};a.SkM44.transpose=function(e){return[e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]]};a.SkM44.mustInvert=function(e){e=a.SkM44.invert(e);if(null===e)throw"Matrix not invertible";return e};a.SkM44.setupCamera=function(e,k,q){var u=a.SkM44.lookat(q.eye,q.coa,q.up);q=a.SkM44.perspective(q.near,q.far,q.angle);k=[(e[2]-e[0])/2,(e[3]-e[1])/2,k];e=a.SkM44.multiply(a.SkM44.translated([(e[0]+e[2])/2,(e[1]+e[3])/2,0]),a.SkM44.scaled(k));return a.SkM44.multiply(e,
q,u,a.SkM44.mustInvert(e))};a.SkColorMatrix={};a.SkColorMatrix.identity=function(){var e=new Float32Array(20);e[0]=1;e[6]=1;e[12]=1;e[18]=1;return e};a.SkColorMatrix.scaled=function(e,k,q,u){var A=new Float32Array(20);A[0]=e;A[6]=k;A[12]=q;A[18]=u;return A};var ua=[[6,7,11,12],[0,10,2,12],[0,1,5,6]];a.SkColorMatrix.rotated=function(e,k,q){var u=a.SkColorMatrix.identity();e=ua[e];u[e[0]]=q;u[e[1]]=k;u[e[2]]=-k;u[e[3]]=q;return u};a.SkColorMatrix.postTranslate=function(e,k,q,u,A){e[4]+=k;e[9]+=q;e[14]+=
u;e[19]+=A;return e};a.SkColorMatrix.concat=function(e,k){for(var q=new Float32Array(20),u=0,A=0;20>A;A+=5){for(var D=0;4>D;D++)q[u++]=e[A]*k[D]+e[A+1]*k[D+5]+e[A+2]*k[D+10]+e[A+3]*k[D+15];q[u++]=e[A]*k[4]+e[A+1]*k[9]+e[A+2]*k[14]+e[A+3]*k[19]+e[A+4]}return q};a.SkPath.MakeFromCmds=function(e){for(var k=0,q=0;q<e.length;q++)k+=e[q].length;if(hc[k])var u=hc[k];else u=new Float32Array(k),hc[k]=u;var A=0;for(q=0;q<e.length;q++)for(var D=0;D<e[q].length;D++)u[A]=e[q][D],A++;e=[p(u,"HEAPF32"),k];k=a.SkPath._MakeFromCmds(e[0],
e[1]);a._free(e[0]);return k};a.MakePathFromCmds=a.SkPath.MakeFromCmds;a.SkPath.MakeFromVerbsPointsWeights=function(e,k,q){var u=p(e,"HEAPU8"),A=p(k,"HEAPF32"),D=p(q,"HEAPF32"),O=a.SkPath._MakeFromVerbsPointsWeights(u,e.length,A,k.length,D,q&&q.length||0);T(u,e);T(A,k);T(D,q);return O};a.SkPath.prototype.addArc=function(e,k,q){e=S(e);this._addArc(e,k,q);return this};a.SkPath.prototype.addOval=function(e,k,q){void 0===q&&(q=1);e=S(e);this._addOval(e,!!k,q);return this};a.SkPath.prototype.addPath=function(){var e=
Array.prototype.slice.call(arguments),k=e[0],q=!1;"boolean"===typeof e[e.length-1]&&(q=e.pop());if(1===e.length)this._addPath(k,1,0,0,0,1,0,0,0,1,q);else if(2===e.length)e=e[1],this._addPath(k,e[0],e[1],e[2],e[3],e[4],e[5],e[6]||0,e[7]||0,e[8]||1,q);else if(7===e.length||10===e.length)this._addPath(k,e[1],e[2],e[3],e[4],e[5],e[6],e[7]||0,e[8]||0,e[9]||1,q);else return null;return this};a.SkPath.prototype.addPoly=function(e,k){if(e._ck){var q=e.byteOffset;var u=e.length/2}else q=r(e,"HEAPF32"),u=e.length;
this._addPoly(q,u,k);T(q,e);return this};a.SkPath.prototype.addRect=function(e,k){e=S(e);this._addRect(e,!!k);return this};a.SkPath.prototype.addRRect=function(e,k){e=Z(e);this._addRRect(e,!!k);return this};a.SkPath.prototype.addVerbsPointsWeights=function(e,k,q){var u=p(e,"HEAPU8"),A=p(k,"HEAPF32"),D=p(q,"HEAPF32");this._addVerbsPointsWeights(u,e.length,A,k.length,D,q&&q.length||0);T(u,e);T(A,k);T(D,q)};a.SkPath.prototype.arc=function(e,k,q,u,A,D){e=a.LTRBRect(e-q,k-q,e+q,k+q);A=(A-u)/Math.PI*180-
360*!!D;D=new a.SkPath;D.addArc(e,u/Math.PI*180,A);this.addPath(D,!0);D.delete();return this};a.SkPath.prototype.arcToOval=function(e,k,q,u){e=S(e);this._arcToOval(e,k,q,u);return this};a.SkPath.prototype.arcToRotated=function(e,k,q,u,A,D,O){this._arcToRotated(e,k,q,!!u,!!A,D,O);return this};a.SkPath.prototype.arcToTangent=function(e,k,q,u,A){this._arcToTangent(e,k,q,u,A);return this};a.SkPath.prototype.close=function(){this._close();return this};a.SkPath.prototype.conicTo=function(e,k,q,u,A){this._conicTo(e,
k,q,u,A);return this};a.SkPath.prototype.computeTightBounds=function(e){this._computeTightBounds(Ta);var k=hb.toTypedArray();return e?(e.set(k),e):k.slice()};a.SkPath.prototype.cubicTo=function(e,k,q,u,A,D){this._cubicTo(e,k,q,u,A,D);return this};a.SkPath.prototype.dash=function(e,k,q){return this._dash(e,k,q)?this:null};a.SkPath.prototype.getBounds=function(e){this._getBounds(Ta);var k=hb.toTypedArray();return e?(e.set(k),e):k.slice()};a.SkPath.prototype.lineTo=function(e,k){this._lineTo(e,k);return this};
a.SkPath.prototype.moveTo=function(e,k){this._moveTo(e,k);return this};a.SkPath.prototype.offset=function(e,k){this._transform(1,0,e,0,1,k,0,0,1);return this};a.SkPath.prototype.quadTo=function(e,k,q,u){this._quadTo(e,k,q,u);return this};a.SkPath.prototype.rArcTo=function(e,k,q,u,A,D,O){this._rArcTo(e,k,q,u,A,D,O);return this};a.SkPath.prototype.rConicTo=function(e,k,q,u,A){this._rConicTo(e,k,q,u,A);return this};a.SkPath.prototype.rCubicTo=function(e,k,q,u,A,D){this._rCubicTo(e,k,q,u,A,D);return this};
a.SkPath.prototype.rLineTo=function(e,k){this._rLineTo(e,k);return this};a.SkPath.prototype.rMoveTo=function(e,k){this._rMoveTo(e,k);return this};a.SkPath.prototype.rQuadTo=function(e,k,q,u){this._rQuadTo(e,k,q,u);return this};a.SkPath.prototype.stroke=function(e){e=e||{};e.width=e.width||1;e.miter_limit=e.miter_limit||4;e.cap=e.cap||a.StrokeCap.Butt;e.join=e.join||a.StrokeJoin.Miter;e.precision=e.precision||1;return this._stroke(e)?this:null};a.SkPath.prototype.transform=function(){if(1===arguments.length){var e=
arguments[0];this._transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6]||0,e[7]||0,e[8]||1)}else if(6===arguments.length||9===arguments.length)e=arguments,this._transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6]||0,e[7]||0,e[8]||1);else throw"transform expected to take 1 or 9 arguments. Got "+arguments.length;return this};a.SkPath.prototype.trim=function(e,k,q){return this._trim(e,k,!!q)?this:null};a.SkImage.prototype.encodeToData=function(){if(!arguments.length)return this._encodeToData();if(2===arguments.length){var e=
arguments;return this._encodeToDataWithFormat(e[0],e[1])}throw"encodeToData expected to take 0 or 2 arguments. Got "+arguments.length;};a.SkImage.prototype.makeShader=function(e,k,q){q=B(q);return this._makeShader(e,k,q)};a.SkImage.prototype.readPixels=function(e,k,q){switch(e.colorType){case a.ColorType.RGBA_8888:var u=4*e.width;break;case a.ColorType.RGBA_F32:u=16*e.width;break;default:return}var A=u*e.height,D=a._malloc(A);if(!this._readPixels(e,D,u,k,q))return null;k=null;switch(e.colorType){case a.ColorType.RGBA_8888:k=
(new Uint8Array(a.HEAPU8.buffer,D,A)).slice();break;case a.ColorType.RGBA_F32:k=(new Float32Array(a.HEAPU8.buffer,D,A)).slice()}a._free(D);return k};a.SkCanvas.prototype.clear=function(e){e=N(e);this._clear(e)};a.SkCanvas.prototype.clipRRect=function(e,k,q){e=Z(e);this._clipRRect(e,k,q)};a.SkCanvas.prototype.clipRect=function(e,k,q){e=S(e);this._clipRect(e,k,q)};a.SkCanvas.prototype.concat=function(e){e=F(e);this._concat(e)};a.SkCanvas.prototype.concat44=a.SkCanvas.prototype.concat;a.SkCanvas.prototype.drawArc=
function(e,k,q,u,A){e=S(e);this._drawArc(e,k,q,u,A)};a.SkCanvas.prototype.drawAtlas=function(e,k,q,u,A,D){if(e&&u&&k&&q&&k.length===q.length){A||(A=a.BlendMode.SrcOver);var O;k.build?O=k.build():O=p(k,"HEAPF32");if(q.build){var Q=q.build();var R=q.length}else Q=p(q,"HEAPF32"),R=q.length/4;var U=0;D&&(D.build?U=D.build():U=p(g(D),"HEAPU32"));this._drawAtlas(e,Q,O,U,R,A,u);O&&!k.build&&T(O,k);Q&&!q.build&&T(Q,q);U&&!D.build&&T(U,D)}};a.SkCanvas.prototype.drawColor=function(e,k){e=N(e);void 0!==k?this._drawColor(e,
k):this._drawColor(e)};a.SkCanvas.prototype.drawColorComponents=function(e,k,q,u,A){e=x(e,k,q,u);void 0!==A?this._drawColor(e,A):this._drawColor(e)};a.SkCanvas.prototype.drawDRRect=function(e,k,q){e=Z(e,ec);k=Z(k,Oc);this._drawDRRect(e,k,q)};a.SkCanvas.prototype.drawImageNine=function(e,k,q,u){k=p(k,"HEAP32",fc);q=S(q);this._drawImageNine(e,k,q,u)};a.SkCanvas.prototype.drawImageRect=function(e,k,q,u,A){k=S(k,Ta);q=S(q,Kc);this._drawImageRect(e,k,q,u,!!A)};a.SkCanvas.prototype.drawOval=function(e,
k){e=S(e);this._drawOval(e,k)};a.SkCanvas.prototype.drawPoints=function(e,k,q){if(k._ck){var u=k.byteOffset;var A=k.length/2}else u=r(k,"HEAPF32"),A=k.length;this._drawPoints(e,u,A,q);T(u,k)};a.SkCanvas.prototype.drawRRect=function(e,k){e=Z(e);this._drawRRect(e,k)};a.SkCanvas.prototype.drawRect=function(e,k){e=S(e);this._drawRect(e,k)};a.SkCanvas.prototype.drawShadow=function(e,k,q,u,A,D,O){var Q=p(A,"HEAPF32"),R=p(D,"HEAPF32");this._drawShadow(e,k,q,u,Q,R,O);T(Q,A);T(R,D)};a.SkCanvas.prototype.getLocalToDevice=
function(){this._getLocalToDevice(Da);return L(Da)};a.SkCanvas.prototype.findMarkedCTM=function(e){return this._findMarkedCTM(e,Da)?L(Da):null};a.SkCanvas.prototype.getTotalMatrix=function(){this._getTotalMatrix(Ca);for(var e=Array(9),k=0;9>k;k++)e[k]=a.HEAPF32[Ca/4+k];return e};a.SkCanvas.prototype.readPixels=function(e,k,q,u,A,D,O,Q){A=A||a.AlphaType.Unpremul;D=D||a.ColorType.RGBA_8888;O=O||a.SkColorSpace.SRGB;var R=4;D===a.ColorType.RGBA_F16&&(R=8);Q=Q||R*q;var U=u*Q;R=a._malloc(U);if(!this._readPixels({width:q,
height:u,colorType:D,alphaType:A,colorSpace:O},R,Q,e,k))return a._free(R),null;e=(new Uint8Array(a.HEAPU8.buffer,R,U)).slice();a._free(R);return e};a.SkCanvas.prototype.saveLayer=function(e,k,q,u){k=S(k);return this._saveLayer(e||null,k,q||null,u||0)};a.SkCanvas.prototype.writePixels=function(e,k,q,u,A,D,O,Q){if(e.byteLength%(k*q))throw"pixels length must be a multiple of the srcWidth * srcHeight";var R=e.byteLength/(k*q);D=D||a.AlphaType.Unpremul;O=O||a.ColorType.RGBA_8888;Q=Q||a.SkColorSpace.SRGB;
var U=R*k;R=p(e,"HEAPU8");k=this._writePixels({width:k,height:q,colorType:O,alphaType:D,colorSpace:Q},R,U,u,A);T(R,e);return k};a.SkColorFilter.MakeBlend=function(e,k){e=N(e);return a.SkColorFilter._MakeBlend(e,k)};a.SkColorFilter.MakeMatrix=function(e){if(!e||20!==e.length)throw"invalid color matrix";var k=p(e,"HEAPF32"),q=a.SkColorFilter._makeMatrix(k);T(k,e);return q};a.SkImageFilter.MakeMatrixTransform=function(e,k,q){e=B(e);return a.SkImageFilter._MakeMatrixTransform(e,k,q)};a.SkPaint.prototype.getColor=
function(){this._getColor(gb);return M(gb)};a.SkPaint.prototype.setColor=function(e,k){k=k||null;e=N(e);this._setColor(e,k)};a.SkPaint.prototype.setColorComponents=function(e,k,q,u,A){A=A||null;e=x(e,k,q,u);this._setColor(e,A)};a.SkPictureRecorder.prototype.beginRecording=function(e){e=S(e);return this._beginRecording(e)};a.SkSurface.prototype.captureFrameAsSkPicture=function(e){var k=new a.SkPictureRecorder,q=k.beginRecording(a.LTRBRect(0,0,this.width(),this.height()));e(q);e=k.finishRecordingAsPicture();
k.delete();return e};a.SkSurface.prototype.makeImageSnapshot=function(e){e=p(e,"HEAP32",fc);return this._makeImageSnapshot(e)};a.SkSurface.prototype.requestAnimationFrame=function(e,k){this.dg||(this.dg=this.getCanvas());requestAnimationFrame(function(){void 0!==this.Gf&&a.setCurrentContext(this.Gf);e(this.dg);this.flush(k)}.bind(this))};a.SkSurface.prototype.drawOnce=function(e,k){this.dg||(this.dg=this.getCanvas());requestAnimationFrame(function(){void 0!==this.Gf&&a.setCurrentContext(this.Gf);
e(this.dg);this.flush(k);this.dispose()}.bind(this))};a.SkPathEffect.MakeDash=function(e,k){k||(k=0);if(!e.length||1===e.length%2)throw"Intervals array must have even length";var q=p(e,"HEAPF32");k=a.SkPathEffect._MakeDash(q,e.length,k);T(q,e);return k};a.SkShader.Color=function(e,k){k=k||null;e=N(e);return a.SkShader._Color(e,k)};a.SkShader.MakeLinearGradient=function(e,k,q,u,A,D,O,Q){Q=Q||null;var R=y(q),U=p(u,"HEAPF32");O=O||0;D=B(D);e=a._MakeLinearGradientShader(e,k,R.yf,R.jg,U,R.count,A,O,D,
Q);T(R.yf,q);u&&T(U,u);return e};a.SkShader.MakeRadialGradient=function(e,k,q,u,A,D,O,Q){Q=Q||null;var R=y(q),U=p(u,"HEAPF32");O=O||0;D=B(D);e=a._MakeRadialGradientShader(e,k,R.yf,R.jg,U,R.count,A,O,D,Q);T(R.yf,q);u&&T(U,u);return e};a.SkShader.MakeSweepGradient=function(e,k,q,u,A,D,O,Q,R,U){U=U||null;var ha=y(q),ka=p(u,"HEAPF32");O=O||0;Q=Q||0;R=R||360;D=B(D);e=a._MakeSweepGradientShader(e,k,ha.yf,ha.jg,ka,ha.count,A,Q,R,O,D,U);T(ha.yf,q);u&&T(ka,u);return e};a.SkShader.MakeTwoPointConicalGradient=
function(e,k,q,u,A,D,O,Q,R,U){U=U||null;var ha=y(A),ka=p(D,"HEAPF32");R=R||0;Q=B(Q);e=a._MakeTwoPointConicalGradientShader(e,k,q,u,ha.yf,ha.jg,ka,ha.count,O,R,Q,U);T(ha.yf,A);D&&T(ka,D);return e};a.SkVertices.prototype.bounds=function(e){this._bounds(Ta);var k=hb.toTypedArray();return e?(e.set(k),e):k.slice()};a.Lh=a.SkPathEffect.MakeDash;a.Jh=a.SkShader.MakeLinearGradient;a.Kh=a.SkShader.MakeRadialGradient;a.Mh=a.SkShader.MakeTwoPointConicalGradient;a.Hf&&a.Hf.forEach(function(e){e()})};a.computeTonalColors=
function(m){var v=p(m.ambient,"HEAPF32"),I=p(m.spot,"HEAPF32");this._computeTonalColors(v,I);var J={ambient:M(v),spot:M(I)};T(v,m.ambient);T(I,m.spot);return J};a.LTRBRect=function(m,v,I,J){return Float32Array.of(m,v,I,J)};a.XYWHRect=function(m,v,I,J){return Float32Array.of(m,v,m+I,v+J)};a.LTRBiRect=function(m,v,I,J){return Int32Array.of(m,v,I,J)};a.XYWHiRect=function(m,v,I,J){return Int32Array.of(m,v,m+I,v+J)};a.RRectXY=function(m,v,I){return Float32Array.of(m[0],m[1],m[2],m[3],v,I,v,I,v,I,v,I)};
a.MakeAnimatedImageFromEncoded=function(m){m=new Uint8Array(m);var v=a._malloc(m.byteLength);a.HEAPU8.set(m,v);return(m=a._decodeAnimatedImage(v,m.byteLength))?m:null};a.MakeImageFromEncoded=function(m){m=new Uint8Array(m);var v=a._malloc(m.byteLength);a.HEAPU8.set(m,v);return(m=a._decodeImage(v,m.byteLength))?m:null};var ib=null;a.MakeImageFromCanvasImageSource=function(m){var v=m.width,I=m.height;ib||(ib=document.createElement("canvas"));ib.width=v;ib.height=I;var J=ib.getContext("2d");J.drawImage(m,
0,0);m=J.getImageData(0,0,v,I);return a.MakeImage(m.data,v,I,a.AlphaType.Unpremul,a.ColorType.RGBA_8888,a.SkColorSpace.SRGB)};a.MakeImage=function(m,v,I,J,ba,ua){var e=m.length/(v*I);I={width:v,height:I,alphaType:J,colorType:ba,colorSpace:ua};J=p(m,"HEAPU8");return a._MakeImage(I,J,m.length,v*e)};a.MakeSkVertices=function(m,v,I,J,ba,ua){var e=ba&&ba.length||0,k=0;I&&I.length&&(k|=1);J&&J.length&&(k|=2);void 0===ua||ua||(k|=4);m=new a._SkVerticesBuilder(m,v.length,e,k);r(v,"HEAPF32",m.positions());
m.texCoords()&&r(I,"HEAPF32",m.texCoords());if(m.colors()){if(J.build)throw"Color builder not accepted by MakeSkVertices, use array of ints";p(g(J),"HEAPU32",m.colors())}m.indices()&&p(ba,"HEAPU16",m.indices());return m.detach()};(function(){function m(G){for(var h=0;h<G.length;h++)if(void 0!==G[h]&&!Number.isFinite(G[h]))return!1;return!0}function v(G){var h=a.getColorComponents(G);G=h[0];var n=h[1],w=h[2];h=h[3];if(1===h)return G=G.toString(16).toLowerCase(),n=n.toString(16).toLowerCase(),w=w.toString(16).toLowerCase(),
G=1===G.length?"0"+G:G,n=1===n.length?"0"+n:n,w=1===w.length?"0"+w:w,"#"+G+n+w;h=0===h||1===h?h:h.toFixed(8);return"rgba("+G+", "+n+", "+w+", "+h+")"}function I(G){return a.parseColorString(G,ha)}function J(G){G=ka.exec(G);if(!G)return null;var h=parseFloat(G[4]),n=16;switch(G[5]){case "em":case "rem":n=16*h;break;case "pt":n=4*h/3;break;case "px":n=h;break;case "pc":n=16*h;break;case "in":n=96*h;break;case "cm":n=96*h/2.54;break;case "mm":n=96/25.4*h;break;case "q":n=96/25.4/4*h;break;case "%":n=
16/75*h}return{style:G[1],variant:G[2],weight:G[3],sizePx:n,family:G[6].trim()}}function ba(G){this.ef=G;this.gf=new a.SkPaint;this.gf.setAntiAlias(!0);this.gf.setStrokeMiter(10);this.gf.setStrokeCap(a.StrokeCap.Butt);this.gf.setStrokeJoin(a.StrokeJoin.Miter);this.rg="10px monospace";this.If=new a.SkFont(null,10);this.If.setSubpixel(!0);this.uf=this.Bf=a.BLACK;this.Rf=0;this.gg=a.TRANSPARENT;this.Tf=this.Sf=0;this.hg=this.Df=1;this.fg=0;this.Qf=[];this.ff=a.BlendMode.SrcOver;this.Jf=a.FilterQuality.Low;
this.eg=!0;this.gf.setStrokeWidth(this.hg);this.gf.setBlendMode(this.ff);this.jf=new a.SkPath;this.lf=a.SkMatrix.identity();this.Og=[];this.Xf=[];this.Ef=function(){this.jf.delete();this.gf.delete();this.If.delete();this.Xf.forEach(function(h){h.Ef()})};Object.defineProperty(this,"currentTransform",{enumerable:!0,get:function(){return{a:this.lf[0],c:this.lf[1],e:this.lf[2],b:this.lf[3],d:this.lf[4],f:this.lf[5]}},set:function(h){h.a&&this.setTransform(h.a,h.b,h.c,h.d,h.e,h.f)}});Object.defineProperty(this,
"fillStyle",{enumerable:!0,get:function(){return c(this.uf)?v(this.uf):this.uf},set:function(h){"string"===typeof h?this.uf=I(h):h.Pf&&(this.uf=h)}});Object.defineProperty(this,"font",{enumerable:!0,get:function(){return this.rg},set:function(h){var n=J(h),w=n.family;n.typeface=oa[w]?oa[w][(n.style||"normal")+"|"+(n.variant||"normal")+"|"+(n.weight||"normal")]||oa[w]["*"]:null;n&&(this.If.setSize(n.sizePx),this.If.setTypeface(n.typeface),this.rg=h)}});Object.defineProperty(this,"globalAlpha",{enumerable:!0,
get:function(){return this.Df},set:function(h){!isFinite(h)||0>h||1<h||(this.Df=h)}});Object.defineProperty(this,"globalCompositeOperation",{enumerable:!0,get:function(){switch(this.ff){case a.BlendMode.SrcOver:return"source-over";case a.BlendMode.DstOver:return"destination-over";case a.BlendMode.Src:return"copy";case a.BlendMode.Dst:return"destination";case a.BlendMode.Clear:return"clear";case a.BlendMode.SrcIn:return"source-in";case a.BlendMode.DstIn:return"destination-in";case a.BlendMode.SrcOut:return"source-out";
case a.BlendMode.DstOut:return"destination-out";case a.BlendMode.SrcATop:return"source-atop";case a.BlendMode.DstATop:return"destination-atop";case a.BlendMode.Xor:return"xor";case a.BlendMode.Plus:return"lighter";case a.BlendMode.Multiply:return"multiply";case a.BlendMode.Screen:return"screen";case a.BlendMode.Overlay:return"overlay";case a.BlendMode.Darken:return"darken";case a.BlendMode.Lighten:return"lighten";case a.BlendMode.ColorDodge:return"color-dodge";case a.BlendMode.ColorBurn:return"color-burn";
case a.BlendMode.HardLight:return"hard-light";case a.BlendMode.SoftLight:return"soft-light";case a.BlendMode.Difference:return"difference";case a.BlendMode.Exclusion:return"exclusion";case a.BlendMode.Hue:return"hue";case a.BlendMode.Saturation:return"saturation";case a.BlendMode.Color:return"color";case a.BlendMode.Luminosity:return"luminosity"}},set:function(h){switch(h){case "source-over":this.ff=a.BlendMode.SrcOver;break;case "destination-over":this.ff=a.BlendMode.DstOver;break;case "copy":this.ff=
a.BlendMode.Src;break;case "destination":this.ff=a.BlendMode.Dst;break;case "clear":this.ff=a.BlendMode.Clear;break;case "source-in":this.ff=a.BlendMode.SrcIn;break;case "destination-in":this.ff=a.BlendMode.DstIn;break;case "source-out":this.ff=a.BlendMode.SrcOut;break;case "destination-out":this.ff=a.BlendMode.DstOut;break;case "source-atop":this.ff=a.BlendMode.SrcATop;break;case "destination-atop":this.ff=a.BlendMode.DstATop;break;case "xor":this.ff=a.BlendMode.Xor;break;case "lighter":this.ff=
a.BlendMode.Plus;break;case "plus-lighter":this.ff=a.BlendMode.Plus;break;case "plus-darker":throw"plus-darker is not supported";case "multiply":this.ff=a.BlendMode.Multiply;break;case "screen":this.ff=a.BlendMode.Screen;break;case "overlay":this.ff=a.BlendMode.Overlay;break;case "darken":this.ff=a.BlendMode.Darken;break;case "lighten":this.ff=a.BlendMode.Lighten;break;case "color-dodge":this.ff=a.BlendMode.ColorDodge;break;case "color-burn":this.ff=a.BlendMode.ColorBurn;break;case "hard-light":this.ff=
a.BlendMode.HardLight;break;case "soft-light":this.ff=a.BlendMode.SoftLight;break;case "difference":this.ff=a.BlendMode.Difference;break;case "exclusion":this.ff=a.BlendMode.Exclusion;break;case "hue":this.ff=a.BlendMode.Hue;break;case "saturation":this.ff=a.BlendMode.Saturation;break;case "color":this.ff=a.BlendMode.Color;break;case "luminosity":this.ff=a.BlendMode.Luminosity;break;default:return}this.gf.setBlendMode(this.ff)}});Object.defineProperty(this,"imageSmoothingEnabled",{enumerable:!0,get:function(){return this.eg},
set:function(h){this.eg=!!h}});Object.defineProperty(this,"imageSmoothingQuality",{enumerable:!0,get:function(){switch(this.Jf){case a.FilterQuality.Low:return"low";case a.FilterQuality.Medium:return"medium";case a.FilterQuality.High:return"high"}},set:function(h){switch(h){case "low":this.Jf=a.FilterQuality.Low;break;case "medium":this.Jf=a.FilterQuality.Medium;break;case "high":this.Jf=a.FilterQuality.High}}});Object.defineProperty(this,"lineCap",{enumerable:!0,get:function(){switch(this.gf.getStrokeCap()){case a.StrokeCap.Butt:return"butt";
case a.StrokeCap.Round:return"round";case a.StrokeCap.Square:return"square"}},set:function(h){switch(h){case "butt":this.gf.setStrokeCap(a.StrokeCap.Butt);break;case "round":this.gf.setStrokeCap(a.StrokeCap.Round);break;case "square":this.gf.setStrokeCap(a.StrokeCap.Square)}}});Object.defineProperty(this,"lineDashOffset",{enumerable:!0,get:function(){return this.fg},set:function(h){isFinite(h)&&(this.fg=h)}});Object.defineProperty(this,"lineJoin",{enumerable:!0,get:function(){switch(this.gf.getStrokeJoin()){case a.StrokeJoin.Miter:return"miter";
case a.StrokeJoin.Round:return"round";case a.StrokeJoin.Bevel:return"bevel"}},set:function(h){switch(h){case "miter":this.gf.setStrokeJoin(a.StrokeJoin.Miter);break;case "round":this.gf.setStrokeJoin(a.StrokeJoin.Round);break;case "bevel":this.gf.setStrokeJoin(a.StrokeJoin.Bevel)}}});Object.defineProperty(this,"lineWidth",{enumerable:!0,get:function(){return this.gf.getStrokeWidth()},set:function(h){0>=h||!h||(this.hg=h,this.gf.setStrokeWidth(h))}});Object.defineProperty(this,"miterLimit",{enumerable:!0,
get:function(){return this.gf.getStrokeMiter()},set:function(h){0>=h||!h||this.gf.setStrokeMiter(h)}});Object.defineProperty(this,"shadowBlur",{enumerable:!0,get:function(){return this.Rf},set:function(h){0>h||!isFinite(h)||(this.Rf=h)}});Object.defineProperty(this,"shadowColor",{enumerable:!0,get:function(){return v(this.gg)},set:function(h){this.gg=I(h)}});Object.defineProperty(this,"shadowOffsetX",{enumerable:!0,get:function(){return this.Sf},set:function(h){isFinite(h)&&(this.Sf=h)}});Object.defineProperty(this,
"shadowOffsetY",{enumerable:!0,get:function(){return this.Tf},set:function(h){isFinite(h)&&(this.Tf=h)}});Object.defineProperty(this,"strokeStyle",{enumerable:!0,get:function(){return v(this.Bf)},set:function(h){"string"===typeof h?this.Bf=I(h):h.Pf&&(this.Bf=h)}});this.arc=function(h,n,w,z,C,E){D(this.jf,h,n,w,w,0,z,C,E)};this.arcTo=function(h,n,w,z,C){q(this.jf,h,n,w,z,C)};this.beginPath=function(){this.jf.delete();this.jf=new a.SkPath};this.bezierCurveTo=function(h,n,w,z,C,E){var K=this.jf;m([h,
n,w,z,C,E])&&(K.isEmpty()&&K.moveTo(h,n),K.cubicTo(h,n,w,z,C,E))};this.clearRect=function(h,n,w,z){this.gf.setStyle(a.PaintStyle.Fill);this.gf.setBlendMode(a.BlendMode.Clear);this.ef.drawRect(a.XYWHRect(h,n,w,z),this.gf);this.gf.setBlendMode(this.ff)};this.clip=function(h,n){"string"===typeof h?(n=h,h=this.jf):h&&h.yg&&(h=h.nf);h||(h=this.jf);h=h.copy();n&&"evenodd"===n.toLowerCase()?h.setFillType(a.FillType.EvenOdd):h.setFillType(a.FillType.Winding);this.ef.clipPath(h,a.ClipOp.Intersect,!0);h.delete()};
this.closePath=function(){u(this.jf)};this.createImageData=function(){if(1===arguments.length){var h=arguments[0];return new e(new Uint8ClampedArray(4*h.width*h.height),h.width,h.height)}if(2===arguments.length){h=arguments[0];var n=arguments[1];return new e(new Uint8ClampedArray(4*h*n),h,n)}throw"createImageData expects 1 or 2 arguments, got "+arguments.length;};this.createLinearGradient=function(h,n,w,z){if(m(arguments)){var C=new k(h,n,w,z);this.Xf.push(C);return C}};this.createPattern=function(h,
n){h=new R(h,n);this.Xf.push(h);return h};this.createRadialGradient=function(h,n,w,z,C,E){if(m(arguments)){var K=new U(h,n,w,z,C,E);this.Xf.push(K);return K}};this.Yg=function(){var h=this.qg();this.eg?h.setFilterQuality(this.Jf):h.setFilterQuality(a.FilterQuality.None);return h};this.drawImage=function(h){var n=this.Yg();if(3===arguments.length||5===arguments.length)var w=a.XYWHRect(arguments[1],arguments[2],arguments[3]||h.width(),arguments[4]||h.height()),z=a.XYWHRect(0,0,h.width(),h.height());
else if(9===arguments.length)w=a.XYWHRect(arguments[5],arguments[6],arguments[7],arguments[8]),z=a.XYWHRect(arguments[1],arguments[2],arguments[3],arguments[4]);else throw"invalid number of args for drawImage, need 3, 5, or 9; got "+arguments.length;this.ef.drawImageRect(h,z,w,n,!1);n.dispose()};this.ellipse=function(h,n,w,z,C,E,K,X){D(this.jf,h,n,w,z,C,E,K,X)};this.qg=function(){var h=this.gf.copy();h.setStyle(a.PaintStyle.Fill);if(c(this.uf)){var n=a.multiplyByAlpha(this.uf,this.Df);h.setColor(n)}else n=
this.uf.Pf(this.lf),h.setColor(a.Color(0,0,0,this.Df)),h.setShader(n);h.dispose=function(){this.delete()};return h};this.fill=function(h,n){"string"===typeof h?(n=h,h=this.jf):h&&h.yg&&(h=h.nf);if("evenodd"===n)this.jf.setFillType(a.FillType.EvenOdd);else{if("nonzero"!==n&&n)throw"invalid fill rule";this.jf.setFillType(a.FillType.Winding)}h||(h=this.jf);n=this.qg();var w=this.Uf(n);w&&(this.ef.save(),this.Nf(),this.ef.drawPath(h,w),this.ef.restore(),w.dispose());this.ef.drawPath(h,n);n.dispose()};
this.fillRect=function(h,n,w,z){var C=this.qg(),E=this.Uf(C);E&&(this.ef.save(),this.Nf(),this.ef.drawRect(a.XYWHRect(h,n,w,z),E),this.ef.restore(),E.dispose());this.ef.drawRect(a.XYWHRect(h,n,w,z),C);C.dispose()};this.fillText=function(h,n,w){var z=this.qg();h=a.SkTextBlob.MakeFromText(h,this.If);var C=this.Uf(z);C&&(this.ef.save(),this.Nf(),this.ef.drawTextBlob(h,n,w,C),this.ef.restore(),C.dispose());this.ef.drawTextBlob(h,n,w,z);h.delete();z.dispose()};this.getImageData=function(h,n,w,z){return(h=
this.ef.readPixels(h,n,w,z))?new e(new Uint8ClampedArray(h.buffer),w,z):null};this.getLineDash=function(){return this.Qf.slice()};this.Pg=function(h){var n=a.SkMatrix.invert(this.lf);a.SkMatrix.mapPoints(n,h);return h};this.isPointInPath=function(h,n,w){var z=arguments;if(3===z.length)var C=this.jf;else if(4===z.length)C=z[0],h=z[1],n=z[2],w=z[3];else throw"invalid arg count, need 3 or 4, got "+z.length;if(!isFinite(h)||!isFinite(n))return!1;w=w||"nonzero";if("nonzero"!==w&&"evenodd"!==w)return!1;
z=this.Pg([h,n]);h=z[0];n=z[1];C.setFillType("nonzero"===w?a.FillType.Winding:a.FillType.EvenOdd);return C.contains(h,n)};this.isPointInStroke=function(h,n){var w=arguments;if(2===w.length)var z=this.jf;else if(3===w.length)z=w[0],h=w[1],n=w[2];else throw"invalid arg count, need 2 or 3, got "+w.length;if(!isFinite(h)||!isFinite(n))return!1;w=this.Pg([h,n]);h=w[0];n=w[1];z=z.copy();z.setFillType(a.FillType.Winding);z.stroke({width:this.lineWidth,miter_limit:this.miterLimit,cap:this.gf.getStrokeCap(),
join:this.gf.getStrokeJoin(),precision:.3});w=z.contains(h,n);z.delete();return w};this.lineTo=function(h,n){O(this.jf,h,n)};this.measureText=function(h){return{width:this.If.measureText(h)}};this.moveTo=function(h,n){var w=this.jf;m([h,n])&&w.moveTo(h,n)};this.putImageData=function(h,n,w,z,C,E,K){if(m([n,w,z,C,E,K]))if(void 0===z)this.ef.writePixels(h.data,h.width,h.height,n,w);else if(z=z||0,C=C||0,E=E||h.width,K=K||h.height,0>E&&(z+=E,E=Math.abs(E)),0>K&&(C+=K,K=Math.abs(K)),0>z&&(E+=z,z=0),0>
C&&(K+=C,C=0),!(0>=E||0>=K)){h=a.MakeImage(h.data,h.width,h.height,a.AlphaType.Unpremul,a.ColorType.RGBA_8888,a.SkColorSpace.SRGB);var X=a.XYWHRect(z,C,E,K);n=a.XYWHRect(n+z,w+C,E,K);w=a.SkMatrix.invert(this.lf);this.ef.save();this.ef.concat(w);this.ef.drawImageRect(h,X,n,null,!1);this.ef.restore();h.delete()}};this.quadraticCurveTo=function(h,n,w,z){var C=this.jf;m([h,n,w,z])&&(C.isEmpty()&&C.moveTo(h,n),C.quadTo(h,n,w,z))};this.rect=function(h,n,w,z){var C=this.jf;h=a.XYWHRect(h,n,w,z);m(h)&&C.addRect(h)};
this.resetTransform=function(){this.jf.transform(this.lf);var h=a.SkMatrix.invert(this.lf);this.ef.concat(h);this.lf=this.ef.getTotalMatrix()};this.restore=function(){var h=this.Og.pop();if(h){var n=a.SkMatrix.multiply(this.lf,a.SkMatrix.invert(h.bh));this.jf.transform(n);this.gf.delete();this.gf=h.uh;this.Qf=h.sh;this.hg=h.Eh;this.Bf=h.Dh;this.uf=h.fs;this.Sf=h.Bh;this.Tf=h.Ch;this.Rf=h.yh;this.gg=h.Ah;this.Df=h.ih;this.ff=h.jh;this.fg=h.th;this.eg=h.qh;this.Jf=h.rh;this.rg=h.gh;this.ef.restore();
this.lf=this.ef.getTotalMatrix()}};this.rotate=function(h){if(isFinite(h)){var n=a.SkMatrix.rotated(-h);this.jf.transform(n);this.ef.rotate(h/Math.PI*180,0,0);this.lf=this.ef.getTotalMatrix()}};this.save=function(){if(this.uf.Of){var h=this.uf.Of();this.Xf.push(h)}else h=this.uf;if(this.Bf.Of){var n=this.Bf.Of();this.Xf.push(n)}else n=this.Bf;this.Og.push({bh:this.lf.slice(),sh:this.Qf.slice(),Eh:this.hg,Dh:n,fs:h,Bh:this.Sf,Ch:this.Tf,yh:this.Rf,Ah:this.gg,ih:this.Df,th:this.fg,jh:this.ff,qh:this.eg,
rh:this.Jf,uh:this.gf.copy(),gh:this.rg});this.ef.save()};this.scale=function(h,n){if(m(arguments)){var w=a.SkMatrix.scaled(1/h,1/n);this.jf.transform(w);this.ef.scale(h,n);this.lf=this.ef.getTotalMatrix()}};this.setLineDash=function(h){for(var n=0;n<h.length;n++)if(!isFinite(h[n])||0>h[n])return;1===h.length%2&&Array.prototype.push.apply(h,h);this.Qf=h};this.setTransform=function(h,n,w,z,C,E){m(arguments)&&(this.resetTransform(),this.transform(h,n,w,z,C,E))};this.Nf=function(){var h=a.SkMatrix.invert(this.lf);
this.ef.concat(h);this.ef.concat(a.SkMatrix.translated(this.Sf,this.Tf));this.ef.concat(this.lf)};this.Uf=function(h){var n=a.multiplyByAlpha(this.gg,this.Df);if(!a.getColorComponents(n)[3]||!(this.Rf||this.Tf||this.Sf))return null;h=h.copy();h.setColor(n);var w=a.SkMaskFilter.MakeBlur(a.BlurStyle.Normal,this.Rf/2,!1);h.setMaskFilter(w);h.dispose=function(){w.delete();this.delete()};return h};this.Ag=function(){var h=this.gf.copy();h.setStyle(a.PaintStyle.Stroke);if(c(this.Bf)){var n=a.multiplyByAlpha(this.Bf,
this.Df);h.setColor(n)}else n=this.Bf.Pf(this.lf),h.setColor(a.Color(0,0,0,this.Df)),h.setShader(n);h.setStrokeWidth(this.hg);if(this.Qf.length){var w=a.SkPathEffect.MakeDash(this.Qf,this.fg);h.setPathEffect(w)}h.dispose=function(){w&&w.delete();this.delete()};return h};this.stroke=function(h){h=h?h.nf:this.jf;var n=this.Ag(),w=this.Uf(n);w&&(this.ef.save(),this.Nf(),this.ef.drawPath(h,w),this.ef.restore(),w.dispose());this.ef.drawPath(h,n);n.dispose()};this.strokeRect=function(h,n,w,z){var C=this.Ag(),
E=this.Uf(C);E&&(this.ef.save(),this.Nf(),this.ef.drawRect(a.XYWHRect(h,n,w,z),E),this.ef.restore(),E.dispose());this.ef.drawRect(a.XYWHRect(h,n,w,z),C);C.dispose()};this.strokeText=function(h,n,w){var z=this.Ag();h=a.SkTextBlob.MakeFromText(h,this.If);var C=this.Uf(z);C&&(this.ef.save(),this.Nf(),this.ef.drawTextBlob(h,n,w,C),this.ef.restore(),C.dispose());this.ef.drawTextBlob(h,n,w,z);h.delete();z.dispose()};this.translate=function(h,n){if(m(arguments)){var w=a.SkMatrix.translated(-h,-n);this.jf.transform(w);
this.ef.translate(h,n);this.lf=this.ef.getTotalMatrix()}};this.transform=function(h,n,w,z,C,E){h=[h,w,C,n,z,E,0,0,1];n=a.SkMatrix.invert(h);this.jf.transform(n);this.ef.concat(h);this.lf=this.ef.getTotalMatrix()};this.addHitRegion=function(){};this.clearHitRegions=function(){};this.drawFocusIfNeeded=function(){};this.removeHitRegion=function(){};this.scrollPathIntoView=function(){};Object.defineProperty(this,"canvas",{value:null,writable:!1})}function ua(G){this.Bg=G;this.Gf=new ba(G.getCanvas());
this.sg=[];this.Vg=a.SkFontMgr.RefDefault();this.decodeImage=function(h){h=a.MakeImageFromEncoded(h);if(!h)throw"Invalid input";this.sg.push(h);return h};this.loadFont=function(h,n){h=this.Vg.MakeTypefaceFromData(h);if(!h)return null;this.sg.push(h);var w=(n.style||"normal")+"|"+(n.variant||"normal")+"|"+(n.weight||"normal");n=n.family;oa[n]||(oa[n]={"*":h});oa[n][w]=h};this.makePath2D=function(h){h=new Q(h);this.sg.push(h.nf);return h};this.getContext=function(h){return"2d"===h?this.Gf:null};this.toDataURL=
function(h,n){this.Bg.flush();var w=this.Bg.makeImageSnapshot();if(w){h=h||"image/png";var z=a.ImageFormat.PNG;"image/jpeg"===h&&(z=a.ImageFormat.JPEG);if(n=w.encodeToData(z,n||.92)){n=a.getSkDataBytes(n);h="data:"+h+";base64,";if(ja)n=Buffer.from(n).toString("base64");else{w=0;z=n.length;for(var C="",E;w<z;)E=n.slice(w,Math.min(w+32768,z)),C+=String.fromCharCode.apply(null,E),w+=32768;n=btoa(C)}return h+n}}};this.dispose=function(){this.Gf.Ef();this.sg.forEach(function(h){h.delete()});this.Bg.dispose()}}
function e(G,h,n){if(!h||0===n)throw"invalid dimensions, width and height must be non-zero";if(G.length%4)throw"arr must be a multiple of 4";n=n||G.length/(4*h);Object.defineProperty(this,"data",{value:G,writable:!1});Object.defineProperty(this,"height",{value:n,writable:!1});Object.defineProperty(this,"width",{value:h,writable:!1})}function k(G,h,n,w){this.qf=null;this.xf=[];this.sf=[];this.addColorStop=function(z,C){if(0>z||1<z||!isFinite(z))throw"offset must be between 0 and 1 inclusively";C=I(C);
var E=this.sf.indexOf(z);if(-1!==E)this.xf[E]=C;else{for(E=0;E<this.sf.length&&!(this.sf[E]>z);E++);this.sf.splice(E,0,z);this.xf.splice(E,0,C)}};this.Of=function(){var z=new k(G,h,n,w);z.xf=this.xf.slice();z.sf=this.sf.slice();return z};this.Ef=function(){this.qf&&(this.qf.delete(),this.qf=null)};this.Pf=function(z){var C=[G,h,n,w];a.SkMatrix.mapPoints(z,C);z=C[0];var E=C[1],K=C[2];C=C[3];this.Ef();return this.qf=a.SkShader.MakeLinearGradient([z,E],[K,C],this.xf,this.sf,a.TileMode.Clamp)}}function q(G,
h,n,w,z,C){if(m([h,n,w,z,C])){if(0>C)throw"radii cannot be negative";G.isEmpty()&&G.moveTo(h,n);G.arcToTangent(h,n,w,z,C)}}function u(G){if(!G.isEmpty()){var h=G.getBounds();(h[3]-h[1]||h[2]-h[0])&&G.close()}}function A(G,h,n,w,z,C,E){E=(E-C)/Math.PI*180;C=C/Math.PI*180;h=a.LTRBRect(h-w,n-z,h+w,n+z);1E-5>Math.abs(Math.abs(E)-360)?(n=E/2,G.arcToOval(h,C,n,!1),G.arcToOval(h,C+n,n,!1)):G.arcToOval(h,C,E,!1)}function D(G,h,n,w,z,C,E,K,X){if(m([h,n,w,z,C,E,K])){if(0>w||0>z)throw"radii cannot be negative";
var fa=2*Math.PI,pa=E%fa;0>pa&&(pa+=fa);var qa=pa-E;E=pa;K+=qa;!X&&K-E>=fa?K=E+fa:X&&E-K>=fa?K=E-fa:!X&&E>K?K=E+(fa-(E-K)%fa):X&&E<K&&(K=E-(fa-(K-E)%fa));C?(X=a.SkMatrix.rotated(C,h,n),C=a.SkMatrix.rotated(-C,h,n),G.transform(C),A(G,h,n,w,z,E,K),G.transform(X)):A(G,h,n,w,z,E,K)}}function O(G,h,n){m([h,n])&&(G.isEmpty()&&G.moveTo(h,n),G.lineTo(h,n))}function Q(G){this.nf=null;"string"===typeof G?this.nf=a.MakePathFromSVGString(G):G&&G.yg?this.nf=G.nf.copy():this.nf=new a.SkPath;this.yg=function(){return this.nf};
this.addPath=function(h,n){n||(n={a:1,c:0,e:0,b:0,d:1,f:0});this.nf.addPath(h.nf,[n.a,n.c,n.e,n.b,n.d,n.f])};this.arc=function(h,n,w,z,C,E){D(this.nf,h,n,w,w,0,z,C,E)};this.arcTo=function(h,n,w,z,C){q(this.nf,h,n,w,z,C)};this.bezierCurveTo=function(h,n,w,z,C,E){var K=this.nf;m([h,n,w,z,C,E])&&(K.isEmpty()&&K.moveTo(h,n),K.cubicTo(h,n,w,z,C,E))};this.closePath=function(){u(this.nf)};this.ellipse=function(h,n,w,z,C,E,K,X){D(this.nf,h,n,w,z,C,E,K,X)};this.lineTo=function(h,n){O(this.nf,h,n)};this.moveTo=
function(h,n){var w=this.nf;m([h,n])&&w.moveTo(h,n)};this.quadraticCurveTo=function(h,n,w,z){var C=this.nf;m([h,n,w,z])&&(C.isEmpty()&&C.moveTo(h,n),C.quadTo(h,n,w,z))};this.rect=function(h,n,w,z){var C=this.nf;h=a.XYWHRect(h,n,w,z);m(h)&&C.addRect(h)}}function R(G,h){this.qf=null;this.Xg=G;this._transform=a.SkMatrix.identity();""===h&&(h="repeat");switch(h){case "repeat-x":this.Vf=a.TileMode.Repeat;this.Wf=a.TileMode.Decal;break;case "repeat-y":this.Vf=a.TileMode.Decal;this.Wf=a.TileMode.Repeat;
break;case "repeat":this.Wf=this.Vf=a.TileMode.Repeat;break;case "no-repeat":this.Wf=this.Vf=a.TileMode.Decal;break;default:throw"invalid repetition mode "+h;}this.setTransform=function(n){n=[n.a,n.c,n.e,n.b,n.d,n.f,0,0,1];m(n)&&(this._transform=n)};this.Of=function(){var n=new R;n.Vf=this.Vf;n.Wf=this.Wf;return n};this.Ef=function(){this.qf&&(this.qf.delete(),this.qf=null)};this.Pf=function(){this.Ef();return this.qf=this.Xg.makeShader(this.Vf,this.Wf,this._transform)}}function U(G,h,n,w,z,C){this.qf=
null;this.xf=[];this.sf=[];this.addColorStop=function(E,K){if(0>E||1<E||!isFinite(E))throw"offset must be between 0 and 1 inclusively";K=I(K);var X=this.sf.indexOf(E);if(-1!==X)this.xf[X]=K;else{for(X=0;X<this.sf.length&&!(this.sf[X]>E);X++);this.sf.splice(X,0,E);this.xf.splice(X,0,K)}};this.Of=function(){var E=new U(G,h,n,w,z,C);E.xf=this.xf.slice();E.sf=this.sf.slice();return E};this.Ef=function(){this.qf&&(this.qf.delete(),this.qf=null)};this.Pf=function(E){var K=[G,h,w,z];a.SkMatrix.mapPoints(E,
K);var X=K[0],fa=K[1],pa=K[2];K=K[3];var qa=(Math.abs(E[0])+Math.abs(E[4]))/2;E=n*qa;qa*=C;this.Ef();return this.qf=a.SkShader.MakeTwoPointConicalGradient([X,fa],E,[pa,K],qa,this.xf,this.sf,a.TileMode.Clamp)}}a._testing={};var ha={aliceblue:Float32Array.of(.941,.973,1,1),antiquewhite:Float32Array.of(.98,.922,.843,1),aqua:Float32Array.of(0,1,1,1),aquamarine:Float32Array.of(.498,1,.831,1),azure:Float32Array.of(.941,1,1,1),beige:Float32Array.of(.961,.961,.863,1),bisque:Float32Array.of(1,.894,.769,1),
black:Float32Array.of(0,0,0,1),blanchedalmond:Float32Array.of(1,.922,.804,1),blue:Float32Array.of(0,0,1,1),blueviolet:Float32Array.of(.541,.169,.886,1),brown:Float32Array.of(.647,.165,.165,1),burlywood:Float32Array.of(.871,.722,.529,1),cadetblue:Float32Array.of(.373,.62,.627,1),chartreuse:Float32Array.of(.498,1,0,1),chocolate:Float32Array.of(.824,.412,.118,1),coral:Float32Array.of(1,.498,.314,1),cornflowerblue:Float32Array.of(.392,.584,.929,1),cornsilk:Float32Array.of(1,.973,.863,1),crimson:Float32Array.of(.863,
.078,.235,1),cyan:Float32Array.of(0,1,1,1),darkblue:Float32Array.of(0,0,.545,1),darkcyan:Float32Array.of(0,.545,.545,1),darkgoldenrod:Float32Array.of(.722,.525,.043,1),darkgray:Float32Array.of(.663,.663,.663,1),darkgreen:Float32Array.of(0,.392,0,1),darkgrey:Float32Array.of(.663,.663,.663,1),darkkhaki:Float32Array.of(.741,.718,.42,1),darkmagenta:Float32Array.of(.545,0,.545,1),darkolivegreen:Float32Array.of(.333,.42,.184,1),darkorange:Float32Array.of(1,.549,0,1),darkorchid:Float32Array.of(.6,.196,.8,
1),darkred:Float32Array.of(.545,0,0,1),darksalmon:Float32Array.of(.914,.588,.478,1),darkseagreen:Float32Array.of(.561,.737,.561,1),darkslateblue:Float32Array.of(.282,.239,.545,1),darkslategray:Float32Array.of(.184,.31,.31,1),darkslategrey:Float32Array.of(.184,.31,.31,1),darkturquoise:Float32Array.of(0,.808,.82,1),darkviolet:Float32Array.of(.58,0,.827,1),deeppink:Float32Array.of(1,.078,.576,1),deepskyblue:Float32Array.of(0,.749,1,1),dimgray:Float32Array.of(.412,.412,.412,1),dimgrey:Float32Array.of(.412,
.412,.412,1),dodgerblue:Float32Array.of(.118,.565,1,1),firebrick:Float32Array.of(.698,.133,.133,1),floralwhite:Float32Array.of(1,.98,.941,1),forestgreen:Float32Array.of(.133,.545,.133,1),fuchsia:Float32Array.of(1,0,1,1),gainsboro:Float32Array.of(.863,.863,.863,1),ghostwhite:Float32Array.of(.973,.973,1,1),gold:Float32Array.of(1,.843,0,1),goldenrod:Float32Array.of(.855,.647,.125,1),gray:Float32Array.of(.502,.502,.502,1),green:Float32Array.of(0,.502,0,1),greenyellow:Float32Array.of(.678,1,.184,1),grey:Float32Array.of(.502,
.502,.502,1),honeydew:Float32Array.of(.941,1,.941,1),hotpink:Float32Array.of(1,.412,.706,1),indianred:Float32Array.of(.804,.361,.361,1),indigo:Float32Array.of(.294,0,.51,1),ivory:Float32Array.of(1,1,.941,1),khaki:Float32Array.of(.941,.902,.549,1),lavender:Float32Array.of(.902,.902,.98,1),lavenderblush:Float32Array.of(1,.941,.961,1),lawngreen:Float32Array.of(.486,.988,0,1),lemonchiffon:Float32Array.of(1,.98,.804,1),lightblue:Float32Array.of(.678,.847,.902,1),lightcoral:Float32Array.of(.941,.502,.502,
1),lightcyan:Float32Array.of(.878,1,1,1),lightgoldenrodyellow:Float32Array.of(.98,.98,.824,1),lightgray:Float32Array.of(.827,.827,.827,1),lightgreen:Float32Array.of(.565,.933,.565,1),lightgrey:Float32Array.of(.827,.827,.827,1),lightpink:Float32Array.of(1,.714,.757,1),lightsalmon:Float32Array.of(1,.627,.478,1),lightseagreen:Float32Array.of(.125,.698,.667,1),lightskyblue:Float32Array.of(.529,.808,.98,1),lightslategray:Float32Array.of(.467,.533,.6,1),lightslategrey:Float32Array.of(.467,.533,.6,1),lightsteelblue:Float32Array.of(.69,
.769,.871,1),lightyellow:Float32Array.of(1,1,.878,1),lime:Float32Array.of(0,1,0,1),limegreen:Float32Array.of(.196,.804,.196,1),linen:Float32Array.of(.98,.941,.902,1),magenta:Float32Array.of(1,0,1,1),maroon:Float32Array.of(.502,0,0,1),mediumaquamarine:Float32Array.of(.4,.804,.667,1),mediumblue:Float32Array.of(0,0,.804,1),mediumorchid:Float32Array.of(.729,.333,.827,1),mediumpurple:Float32Array.of(.576,.439,.859,1),mediumseagreen:Float32Array.of(.235,.702,.443,1),mediumslateblue:Float32Array.of(.482,
.408,.933,1),mediumspringgreen:Float32Array.of(0,.98,.604,1),mediumturquoise:Float32Array.of(.282,.82,.8,1),mediumvioletred:Float32Array.of(.78,.082,.522,1),midnightblue:Float32Array.of(.098,.098,.439,1),mintcream:Float32Array.of(.961,1,.98,1),mistyrose:Float32Array.of(1,.894,.882,1),moccasin:Float32Array.of(1,.894,.71,1),navajowhite:Float32Array.of(1,.871,.678,1),navy:Float32Array.of(0,0,.502,1),oldlace:Float32Array.of(.992,.961,.902,1),olive:Float32Array.of(.502,.502,0,1),olivedrab:Float32Array.of(.42,
.557,.137,1),orange:Float32Array.of(1,.647,0,1),orangered:Float32Array.of(1,.271,0,1),orchid:Float32Array.of(.855,.439,.839,1),palegoldenrod:Float32Array.of(.933,.91,.667,1),palegreen:Float32Array.of(.596,.984,.596,1),paleturquoise:Float32Array.of(.686,.933,.933,1),palevioletred:Float32Array.of(.859,.439,.576,1),papayawhip:Float32Array.of(1,.937,.835,1),peachpuff:Float32Array.of(1,.855,.725,1),peru:Float32Array.of(.804,.522,.247,1),pink:Float32Array.of(1,.753,.796,1),plum:Float32Array.of(.867,.627,
.867,1),powderblue:Float32Array.of(.69,.878,.902,1),purple:Float32Array.of(.502,0,.502,1),rebeccapurple:Float32Array.of(.4,.2,.6,1),red:Float32Array.of(1,0,0,1),rosybrown:Float32Array.of(.737,.561,.561,1),royalblue:Float32Array.of(.255,.412,.882,1),saddlebrown:Float32Array.of(.545,.271,.075,1),salmon:Float32Array.of(.98,.502,.447,1),sandybrown:Float32Array.of(.957,.643,.376,1),seagreen:Float32Array.of(.18,.545,.341,1),seashell:Float32Array.of(1,.961,.933,1),sienna:Float32Array.of(.627,.322,.176,1),
silver:Float32Array.of(.753,.753,.753,1),skyblue:Float32Array.of(.529,.808,.922,1),slateblue:Float32Array.of(.416,.353,.804,1),slategray:Float32Array.of(.439,.502,.565,1),slategrey:Float32Array.of(.439,.502,.565,1),snow:Float32Array.of(1,.98,.98,1),springgreen:Float32Array.of(0,1,.498,1),steelblue:Float32Array.of(.275,.51,.706,1),tan:Float32Array.of(.824,.706,.549,1),teal:Float32Array.of(0,.502,.502,1),thistle:Float32Array.of(.847,.749,.847,1),tomato:Float32Array.of(1,.388,.278,1),transparent:Float32Array.of(0,
0,0,0),turquoise:Float32Array.of(.251,.878,.816,1),violet:Float32Array.of(.933,.51,.933,1),wheat:Float32Array.of(.961,.871,.702,1),white:Float32Array.of(1,1,1,1),whitesmoke:Float32Array.of(.961,.961,.961,1),yellow:Float32Array.of(1,1,0,1),yellowgreen:Float32Array.of(.604,.804,.196,1)};a._testing.parseColor=I;a._testing.colorToString=v;var ka=/(italic|oblique|normal|)\s*(small-caps|normal|)\s*(bold|bolder|lighter|[1-9]00|normal|)\s*([\d\.]+)(px|pt|pc|in|cm|mm|%|em|ex|ch|rem|q)(.+)/,oa={"Noto Mono":{"*":null},
monospace:{"*":null}};a._testing.parseFontString=J;a.MakeCanvas=function(G,h){return(G=a.MakeSurface(G,h))?new ua(G):null};a.ImageData=function(){if(2===arguments.length){var G=arguments[0],h=arguments[1];return new e(new Uint8ClampedArray(4*G*h),G,h)}if(3===arguments.length){var n=arguments[0];if(n.prototype.constructor!==Uint8ClampedArray)throw"bytes must be given as a Uint8ClampedArray";G=arguments[1];h=arguments[2];if(n%4)throw"bytes must be given in a multiple of 4";if(n%G)throw"bytes must divide evenly by width";
if(h&&h!==n/(4*G))throw"invalid height given";return new e(n,G,n/(4*G))}throw"invalid number of arguments - takes 2 or 3, saw "+arguments.length;}})()})(f);var ma={},na;for(na in f)f.hasOwnProperty(na)&&(ma[na]=f[na]);var sa="./this.program";function ta(a,b){throw b;}var va=!1,wa=!1,xa=!1,ya=!1;va="object"===typeof window;wa="function"===typeof importScripts;xa="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node;ya=!va&&!xa&&!wa;
var za="",Aa,Ba,Ea,Fa;
if(xa)za=wa?require("path").dirname(za)+"/":__dirname+"/",Aa=function(a,b){Ea||(Ea=require("fs"));Fa||(Fa=require("path"));a=Fa.normalize(a);return Ea.readFileSync(a,b?null:"utf8")},Ba=function(a){a=Aa(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a},1<process.argv.length&&(sa=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),process.on("uncaughtException",function(a){if(!(a instanceof Ga))throw a;}),process.on("unhandledRejection",Ha),ta=function(a){process.exit(a)},f.inspect=
function(){return"[Emscripten Module object]"};else if(ya)"undefined"!=typeof read&&(Aa=function(a){return read(a)}),Ba=function(a){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(a));a=read(a,"binary");assert("object"===typeof a);return a},"function"===typeof quit&&(ta=function(a){quit(a)}),"undefined"!==typeof print&&("undefined"===typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!==typeof printErr?printErr:print);else if(va||wa)wa?za=self.location.href:
document.currentScript&&(za=document.currentScript.src),_scriptDir&&(za=_scriptDir),0!==za.indexOf("blob:")?za=za.substr(0,za.lastIndexOf("/")+1):za="",Aa=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},wa&&(Ba=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});var Ia=f.print||console.log.bind(console),Ja=f.printErr||console.warn.bind(console);
for(na in ma)ma.hasOwnProperty(na)&&(f[na]=ma[na]);ma=null;f.thisProgram&&(sa=f.thisProgram);f.quit&&(ta=f.quit);var Ka=0,La;f.wasmBinary&&(La=f.wasmBinary);var noExitRuntime;f.noExitRuntime&&(noExitRuntime=f.noExitRuntime);"object"!==typeof WebAssembly&&Ha("no native wasm support detected");var Ma,Na=new WebAssembly.Table({initial:6130,maximum:6130,element:"anyfunc"}),Oa=!1;function assert(a,b){a||Ha("Assertion failed: "+b)}var Pa="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
function Qa(a,b,c){var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16<c-b&&a.subarray&&Pa)return Pa.decode(a.subarray(b,c));for(d="";b<c;){var g=a[b++];if(g&128){var l=a[b++]&63;if(192==(g&224))d+=String.fromCharCode((g&31)<<6|l);else{var p=a[b++]&63;g=224==(g&240)?(g&15)<<12|l<<6|p:(g&7)<<18|l<<12|p<<6|a[b++]&63;65536>g?d+=String.fromCharCode(g):(g-=65536,d+=String.fromCharCode(55296|g>>10,56320|g&1023))}}else d+=String.fromCharCode(g)}return d}function Ra(a,b){return a?Qa(Sa,a,b):""}
function Xa(a,b,c,d){if(!(0<d))return 0;var g=c;d=c+d-1;for(var l=0;l<a.length;++l){var p=a.charCodeAt(l);if(55296<=p&&57343>=p){var r=a.charCodeAt(++l);p=65536+((p&1023)<<10)|r&1023}if(127>=p){if(c>=d)break;b[c++]=p}else{if(2047>=p){if(c+1>=d)break;b[c++]=192|p>>6}else{if(65535>=p){if(c+2>=d)break;b[c++]=224|p>>12}else{if(c+3>=d)break;b[c++]=240|p>>18;b[c++]=128|p>>12&63}b[c++]=128|p>>6&63}b[c++]=128|p&63}}b[c]=0;return c-g}
function Ya(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:b+4}return b}var Za="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function $a(a,b){var c=a>>1;for(var d=c+b/2;!(c>=d)&&ab[c];)++c;c<<=1;if(32<c-a&&Za)return Za.decode(Sa.subarray(a,c));c=0;for(d="";;){var g=bb[a+2*c>>1];if(0==g||c==b/2)return d;++c;d+=String.fromCharCode(g)}}
function cb(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var g=0;g<c;++g)bb[b>>1]=a.charCodeAt(g),b+=2;bb[b>>1]=0;return b-d}function db(a){return 2*a.length}function eb(a,b){for(var c=0,d="";!(c>=b/4);){var g=t[a+4*c>>2];if(0==g)break;++c;65536<=g?(g-=65536,d+=String.fromCharCode(55296|g>>10,56320|g&1023)):d+=String.fromCharCode(g)}return d}
function fb(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var g=0;g<a.length;++g){var l=a.charCodeAt(g);if(55296<=l&&57343>=l){var p=a.charCodeAt(++g);l=65536+((l&1023)<<10)|p&1023}t[b>>2]=l;b+=4;if(b+4>c)break}t[b>>2]=0;return b-d}function jb(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var kb,lb,Sa,bb,ab,t,mb,H,nb;
function ob(a){kb=a;f.HEAP8=lb=new Int8Array(a);f.HEAP16=bb=new Int16Array(a);f.HEAP32=t=new Int32Array(a);f.HEAPU8=Sa=new Uint8Array(a);f.HEAPU16=ab=new Uint16Array(a);f.HEAPU32=mb=new Uint32Array(a);f.HEAPF32=H=new Float32Array(a);f.HEAPF64=nb=new Float64Array(a)}var pb=f.INITIAL_MEMORY||134217728;f.wasmMemory?Ma=f.wasmMemory:Ma=new WebAssembly.Memory({initial:pb/65536,maximum:32768});Ma&&(kb=Ma.buffer);pb=kb.byteLength;ob(kb);t[88860]=5598480;
function qb(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(f);else{var c=b.hh;"number"===typeof c?void 0===b.Cg?f.dynCall_v(c):f.dynCall_vi(c,b.Cg):c(void 0===b.Cg?null:b.Cg)}}}var rb=[],sb=[],tb=[],ub=[];function vb(){var a=f.preRun.shift();rb.unshift(a)}var wb=Math.ceil,xb=Math.floor,yb=0,Ab=null,Bb=null;f.preloadedImages={};f.preloadedAudios={};
function Ha(a){if(f.onAbort)f.onAbort(a);Ja(a);Oa=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ca(a);throw a;}function Cb(a){var b=Db;return String.prototype.startsWith?b.startsWith(a):0===b.indexOf(a)}function Eb(){return Cb("data:application/octet-stream;base64,")}var Db="canvaskit.wasm";if(!Eb()){var Fb=Db;Db=f.locateFile?f.locateFile(Fb,za):za+Fb}
function Gb(){try{if(La)return new Uint8Array(La);if(Ba)return Ba(Db);throw"both async and sync fetching of the wasm failed";}catch(a){Ha(a)}}function Hb(){return La||!va&&!wa||"function"!==typeof fetch||Cb("file://")?new Promise(function(a){a(Gb())}):fetch(Db,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+Db+"'";return a.arrayBuffer()}).catch(function(){return Gb()})}sb.push({hh:function(){Ib()}});var Jb={},Kb=[null,[],[]],Lb={};
function Mb(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function Nb(a){return this.fromWireType(mb[a>>2])}var Ob={},Pb={},Qb={};function Rb(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function Sb(a,b){a=Rb(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}
function Tb(a){var b=Error,c=Sb(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var Ub=void 0;function Vb(a){throw new Ub(a);}
function Wb(a,b,c){function d(r){r=c(r);r.length!==a.length&&Vb("Mismatched type converter count");for(var y=0;y<a.length;++y)Xb(a[y],r[y])}a.forEach(function(r){Qb[r]=b});var g=Array(b.length),l=[],p=0;b.forEach(function(r,y){Pb.hasOwnProperty(r)?g[y]=Pb[r]:(l.push(r),Ob.hasOwnProperty(r)||(Ob[r]=[]),Ob[r].push(function(){g[y]=Pb[r];++p;p===l.length&&d(g)}))});0===l.length&&d(g)}var Yb={};
function Zb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var $b=void 0;function ac(a){for(var b="";Sa[a];)b+=$b[Sa[a++]];return b}var ic=void 0;function P(a){throw new ic(a);}
function Xb(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||P('type "'+d+'" must have a positive integer typeid pointer');if(Pb.hasOwnProperty(a)){if(c.nh)return;P("Cannot register type '"+d+"' twice")}Pb[a]=b;delete Qb[a];Ob.hasOwnProperty(a)&&(b=Ob[a],delete Ob[a],b.forEach(function(g){g()}))}function jc(a){return{count:a.count,$f:a.$f,mg:a.mg,kf:a.kf,pf:a.pf,wf:a.wf,Af:a.Af}}
function kc(a){P(a.df.pf.hf.name+" instance already deleted")}var lc=!1;function mc(){}function nc(a){--a.count.value;0===a.count.value&&(a.wf?a.Af.zf(a.wf):a.pf.hf.zf(a.kf))}
function oc(a){if("undefined"===typeof FinalizationGroup)return oc=function(b){return b},a;lc=new FinalizationGroup(function(b){for(var c=b.next();!c.done;c=b.next())c=c.value,c.kf?nc(c):console.warn("object already deleted: "+c.kf)});oc=function(b){lc.register(b,b.df,b.df);return b};mc=function(b){lc.unregister(b.df)};return oc(a)}var pc=void 0,qc=[];function rc(){for(;qc.length;){var a=qc.pop();a.df.$f=!1;a["delete"]()}}function sc(){}var tc={};
function uc(a,b,c){if(void 0===a[b].rf){var d=a[b];a[b]=function(){a[b].rf.hasOwnProperty(arguments.length)||P("Function '"+c+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+a[b].rf+")!");return a[b].rf[arguments.length].apply(this,arguments)};a[b].rf=[];a[b].rf[d.Yf]=d}}
function vc(a,b,c){f.hasOwnProperty(a)?((void 0===c||void 0!==f[a].rf&&void 0!==f[a].rf[c])&&P("Cannot register public name '"+a+"' twice"),uc(f,a,a),f.hasOwnProperty(c)&&P("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),f[a].rf[c]=b):(f[a]=b,void 0!==c&&(f[a].Uh=c))}function wc(a,b,c,d,g,l,p,r){this.name=a;this.constructor=b;this.ag=c;this.zf=d;this.Cf=g;this.kh=l;this.pg=p;this.dh=r;this.wh=[]}
function xc(a,b,c){for(;b!==c;)b.pg||P("Expected null or instance of "+c.name+", got an instance of "+b.name),a=b.pg(a),b=b.Cf;return a}function yc(a,b){if(null===b)return this.Hg&&P("null is not a valid "+this.name),0;b.df||P('Cannot pass "'+zc(b)+'" as a '+this.name);b.df.kf||P("Cannot pass deleted object as a pointer of type "+this.name);return xc(b.df.kf,b.df.pf.hf,this.hf)}
function Ac(a,b){if(null===b){this.Hg&&P("null is not a valid "+this.name);if(this.ug){var c=this.ng();null!==a&&a.push(this.zf,c);return c}return 0}b.df||P('Cannot pass "'+zc(b)+'" as a '+this.name);b.df.kf||P("Cannot pass deleted object as a pointer of type "+this.name);!this.tg&&b.df.pf.tg&&P("Cannot convert argument of type "+(b.df.Af?b.df.Af.name:b.df.pf.name)+" to parameter type "+this.name);c=xc(b.df.kf,b.df.pf.hf,this.hf);if(this.ug)switch(void 0===b.df.wf&&P("Passing raw pointer to smart pointer is illegal"),
this.zh){case 0:b.df.Af===this?c=b.df.wf:P("Cannot convert argument of type "+(b.df.Af?b.df.Af.name:b.df.pf.name)+" to parameter type "+this.name);break;case 1:c=b.df.wf;break;case 2:if(b.df.Af===this)c=b.df.wf;else{var d=b.clone();c=this.xh(c,Bc(function(){d["delete"]()}));null!==a&&a.push(this.zf,c)}break;default:P("Unsupporting sharing policy")}return c}
function Cc(a,b){if(null===b)return this.Hg&&P("null is not a valid "+this.name),0;b.df||P('Cannot pass "'+zc(b)+'" as a '+this.name);b.df.kf||P("Cannot pass deleted object as a pointer of type "+this.name);b.df.pf.tg&&P("Cannot convert argument of type "+b.df.pf.name+" to parameter type "+this.name);return xc(b.df.kf,b.df.pf.hf,this.hf)}function Dc(a,b,c){if(b===c)return a;if(void 0===c.Cf)return null;a=Dc(a,b,c.Cf);return null===a?null:c.dh(a)}var Ec={};
function Fc(a,b){for(void 0===b&&P("ptr should not be undefined");a.Cf;)b=a.pg(b),a=a.Cf;return Ec[b]}function Gc(a,b){b.pf&&b.kf||Vb("makeClassHandle requires ptr and ptrType");!!b.Af!==!!b.wf&&Vb("Both smartPtrType and smartPtr must be specified");b.count={value:1};return oc(Object.create(a,{df:{value:b}}))}
function Hc(a,b,c,d,g,l,p,r,y,B,F){this.name=a;this.hf=b;this.Hg=c;this.tg=d;this.ug=g;this.vh=l;this.zh=p;this.Sg=r;this.ng=y;this.xh=B;this.zf=F;g||void 0!==b.Cf?this.toWireType=Ac:(this.toWireType=d?yc:Cc,this.vf=null)}function Ic(a,b,c){f.hasOwnProperty(a)||Vb("Replacing nonexistant public symbol");void 0!==f[a].rf&&void 0!==c?f[a].rf[c]=b:(f[a]=b,f[a].Yf=c)}
function Rc(a,b){a=ac(a);var c=f["dynCall_"+a];for(var d=[],g=1;g<a.length;++g)d.push("a"+g);g="return function dynCall_"+(a+"_"+b)+"("+d.join(", ")+") {\n";g+=" return dynCall(rawFunction"+(d.length?", ":"")+d.join(", ")+");\n";c=(new Function("dynCall","rawFunction",g+"};\n"))(c,b);"function"!==typeof c&&P("unknown function pointer with signature "+a+": "+b);return c}var Sc=void 0;function Tc(a){a=Uc(a);var b=ac(a);Vc(a);return b}
function Wc(a,b){function c(l){g[l]||Pb[l]||(Qb[l]?Qb[l].forEach(c):(d.push(l),g[l]=!0))}var d=[],g={};b.forEach(c);throw new Sc(a+": "+d.map(Tc).join([", "]));}function Xc(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=Sb(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
function Yc(a,b,c,d,g){var l=b.length;2>l&&P("argTypes array size mismatch! Must at least get return value and 'this' types!");var p=null!==b[1]&&null!==c,r=!1;for(c=1;c<b.length;++c)if(null!==b[c]&&void 0===b[c].vf){r=!0;break}var y="void"!==b[0].name,B="",F="";for(c=0;c<l-2;++c)B+=(0!==c?", ":"")+"arg"+c,F+=(0!==c?", ":"")+"arg"+c+"Wired";a="return function "+Rb(a)+"("+B+") {\nif (arguments.length !== "+(l-2)+") {\nthrowBindingError('function "+a+" called with ' + arguments.length + ' arguments, expected "+
(l-2)+" args!');\n}\n";r&&(a+="var destructors = [];\n");var L=r?"destructors":"null";B="throwBindingError invoker fn runDestructors retType classParam".split(" ");d=[P,d,g,Mb,b[0],b[1]];p&&(a+="var thisWired = classParam.toWireType("+L+", this);\n");for(c=0;c<l-2;++c)a+="var arg"+c+"Wired = argType"+c+".toWireType("+L+", arg"+c+"); // "+b[c+2].name+"\n",B.push("argType"+c),d.push(b[c+2]);p&&(F="thisWired"+(0<F.length?", ":"")+F);a+=(y?"var rv = ":"")+"invoker(fn"+(0<F.length?", ":"")+F+");\n";if(r)a+=
"runDestructors(destructors);\n";else for(c=p?1:2;c<b.length;++c)l=1===c?"thisWired":"arg"+(c-2)+"Wired",null!==b[c].vf&&(a+=l+"_dtor("+l+"); // "+b[c].name+"\n",B.push(l+"_dtor"),d.push(b[c].vf));y&&(a+="var ret = retType.fromWireType(rv);\nreturn ret;\n");B.push(a+"}\n");return Xc(B).apply(null,d)}function Zc(a,b){for(var c=[],d=0;d<a;d++)c.push(t[(b>>2)+d]);return c}var $c=[],ad=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function bd(a){4<a&&0===--ad[a].Jg&&(ad[a]=void 0,$c.push(a))}function Bc(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=$c.length?$c.pop():ad.length;ad[b]={Jg:1,value:a};return b}}
function cd(a,b,c){switch(b){case 0:return function(d){return this.fromWireType((c?lb:Sa)[d])};case 1:return function(d){return this.fromWireType((c?bb:ab)[d>>1])};case 2:return function(d){return this.fromWireType((c?t:mb)[d>>2])};default:throw new TypeError("Unknown integer type: "+a);}}function dd(a,b){var c=Pb[a];void 0===c&&P(b+" has unknown type "+Tc(a));return c}function zc(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function ed(a,b){switch(b){case 2:return function(c){return this.fromWireType(H[c>>2])};case 3:return function(c){return this.fromWireType(nb[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}
function fd(a,b,c){switch(b){case 0:return c?function(d){return lb[d]}:function(d){return Sa[d]};case 1:return c?function(d){return bb[d>>1]}:function(d){return ab[d>>1]};case 2:return c?function(d){return t[d>>2]}:function(d){return mb[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var gd={};function hd(a){var b=gd[a];return void 0===b?ac(a):b}var id=[];function jd(a){var b=id.length;id.push(a);return b}
function kd(a,b){for(var c=Array(a),d=0;d<a;++d)c[d]=dd(t[(b>>2)+d],"parameter "+d);return c}var ld;xa?ld=function(){var a=process.hrtime();return 1E3*a[0]+a[1]/1E6}:"undefined"!==typeof dateNow?ld=dateNow:ld=function(){return performance.now()};
function md(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=function(c,d){b.vertexAttribDivisorANGLE(c,d)},a.drawArraysInstanced=function(c,d,g,l){b.drawArraysInstancedANGLE(c,d,g,l)},a.drawElementsInstanced=function(c,d,g,l,p){b.drawElementsInstancedANGLE(c,d,g,l,p)})}
function nd(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=function(){return b.createVertexArrayOES()},a.deleteVertexArray=function(c){b.deleteVertexArrayOES(c)},a.bindVertexArray=function(c){b.bindVertexArrayOES(c)},a.isVertexArray=function(c){return b.isVertexArrayOES(c)})}function od(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=function(c,d){b.drawBuffersWEBGL(c,d)})}
var pd=1,qd=[],rd=[],sd=[],td=[],ud=[],V=[],vd=[],wd=[],ea=[],xd=[],yd=[],zd={},Ad={},Bd={},Cd=4;function Dd(a){Ed||(Ed=a)}function da(a){for(var b=pd++,c=a.length;c<b;c++)a[c]=null;return b}function la(a){W=ea[a];f.Oh=Y=W&&W.Ng;return!(a&&!Y)}
function ia(a){a||(a=W);if(!a.oh){a.oh=!0;var b=a.Ng;md(b);nd(b);od(b);b.Ph=b.getExtension("WEBGL_draw_instanced_base_vertex_base_instance");b.Qh=b.getExtension("EXT_disjoint_timer_query");b.Th=b.getExtension("WEBGL_multi_draw");var c="OES_texture_float OES_texture_half_float OES_standard_derivatives OES_vertex_array_object WEBGL_compressed_texture_s3tc WEBGL_depth_texture OES_element_index_uint EXT_texture_filter_anisotropic EXT_frag_depth WEBGL_draw_buffers ANGLE_instanced_arrays OES_texture_float_linear OES_texture_half_float_linear EXT_blend_minmax EXT_shader_texture_lod EXT_texture_norm16 WEBGL_compressed_texture_pvrtc EXT_color_buffer_half_float WEBGL_color_buffer_float EXT_sRGB WEBGL_compressed_texture_etc1 EXT_disjoint_timer_query WEBGL_compressed_texture_etc WEBGL_compressed_texture_astc EXT_color_buffer_float WEBGL_compressed_texture_s3tc_srgb EXT_disjoint_timer_query_webgl2 WEBKIT_WEBGL_compressed_texture_pvrtc".split(" ");(b.getSupportedExtensions()||
[]).forEach(function(d){-1!=c.indexOf(d)&&b.getExtension(d)})}}var Ed,W,Fd=[];function Gd(a,b,c,d){for(var g=0;g<a;g++){var l=Y[c](),p=l&&da(d);l?(l.name=p,d[p]=l):Dd(1282);t[b+4*g>>2]=p}}
function Hd(a,b){if(b){var c=void 0;switch(a){case 36346:c=1;break;case 36344:return;case 34814:case 36345:c=0;break;case 34466:var d=Y.getParameter(34467);c=d?d.length:0;break;case 33309:if(2>W.version){Dd(1282);return}c=2*(Y.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(2>W.version){Dd(1280);return}c=33307==a?3:0}if(void 0===c)switch(d=Y.getParameter(a),typeof d){case "number":c=d;break;case "boolean":c=d?1:0;break;case "string":Dd(1280);return;case "object":if(null===d)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:c=
0;break;default:Dd(1280);return}else{if(d instanceof Float32Array||d instanceof Uint32Array||d instanceof Int32Array||d instanceof Array){for(a=0;a<d.length;++a)t[b+4*a>>2]=d[a];return}try{c=d.name|0}catch(g){Dd(1280);Ja("GL_INVALID_ENUM in glGet0v: Unknown object returned from WebGL getParameter("+a+")! (error: "+g+")");return}}break;default:Dd(1280);Ja("GL_INVALID_ENUM in glGet0v: Native code calling glGet0v("+a+") and it returns "+d+" of type "+typeof d+"!");return}t[b>>2]=c}else Dd(1281)}
function Id(a){var b=Ya(a)+1,c=Jd(b);Xa(a,Sa,c,b);return c}function Kd(a){a-=5120;return 0==a?lb:1==a?Sa:2==a?bb:4==a?t:6==a?H:5==a||28922==a||28520==a||30779==a||30782==a?mb:ab}function Ld(a,b,c,d,g){a=Kd(a);var l=31-Math.clz32(a.BYTES_PER_ELEMENT),p=Cd;return a.subarray(g>>l,g+d*(c*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[b-6402]||1)*(1<<l)+p-1&-p)>>l)}var Md=[],Nd=[],Od={};
function Pd(){if(!Qd){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:sa||"./this.program"},b;for(b in Od)a[b]=Od[b];var c=[];for(b in a)c.push(b+"="+a[b]);Qd=c}return Qd}var Qd;function Rd(a){return 0===a%4&&(0!==a%100||0===a%400)}function Sd(a,b){for(var c=0,d=0;d<=b;c+=a[d++]);return c}
var Td=[31,29,31,30,31,30,31,31,30,31,30,31],Ud=[31,28,31,30,31,30,31,31,30,31,30,31];function Vd(a,b){for(a=new Date(a.getTime());0<b;){var c=a.getMonth(),d=(Rd(a.getFullYear())?Td:Ud)[c];if(b>d-a.getDate())b-=d-a.getDate()+1,a.setDate(1),11>c?a.setMonth(c+1):(a.setMonth(0),a.setFullYear(a.getFullYear()+1));else{a.setDate(a.getDate()+b);break}}return a}
function Wd(a,b,c,d){function g(x,M,S){for(x="number"===typeof x?x.toString():x||"";x.length<M;)x=S[0]+x;return x}function l(x,M){return g(x,M,"0")}function p(x,M){function S(T){return 0>T?-1:0<T?1:0}var Z;0===(Z=S(x.getFullYear()-M.getFullYear()))&&0===(Z=S(x.getMonth()-M.getMonth()))&&(Z=S(x.getDate()-M.getDate()));return Z}function r(x){switch(x.getDay()){case 0:return new Date(x.getFullYear()-1,11,29);case 1:return x;case 2:return new Date(x.getFullYear(),0,3);case 3:return new Date(x.getFullYear(),
0,2);case 4:return new Date(x.getFullYear(),0,1);case 5:return new Date(x.getFullYear()-1,11,31);case 6:return new Date(x.getFullYear()-1,11,30)}}function y(x){x=Vd(new Date(x.tf+1900,0,1),x.xg);var M=new Date(x.getFullYear()+1,0,4),S=r(new Date(x.getFullYear(),0,4));M=r(M);return 0>=p(S,x)?0>=p(M,x)?x.getFullYear()+1:x.getFullYear():x.getFullYear()-1}var B=t[d+40>>2];d={Hh:t[d>>2],Gh:t[d+4>>2],vg:t[d+8>>2],og:t[d+12>>2],bg:t[d+16>>2],tf:t[d+20>>2],wg:t[d+24>>2],xg:t[d+28>>2],Vh:t[d+32>>2],Fh:t[d+
36>>2],Ih:B?Ra(B):""};c=Ra(c);B={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var F in B)c=c.replace(new RegExp(F,"g"),B[F]);var L="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
N="January February March April May June July August September October November December".split(" ");B={"%a":function(x){return L[x.wg].substring(0,3)},"%A":function(x){return L[x.wg]},"%b":function(x){return N[x.bg].substring(0,3)},"%B":function(x){return N[x.bg]},"%C":function(x){return l((x.tf+1900)/100|0,2)},"%d":function(x){return l(x.og,2)},"%e":function(x){return g(x.og,2," ")},"%g":function(x){return y(x).toString().substring(2)},"%G":function(x){return y(x)},"%H":function(x){return l(x.vg,
2)},"%I":function(x){x=x.vg;0==x?x=12:12<x&&(x-=12);return l(x,2)},"%j":function(x){return l(x.og+Sd(Rd(x.tf+1900)?Td:Ud,x.bg-1),3)},"%m":function(x){return l(x.bg+1,2)},"%M":function(x){return l(x.Gh,2)},"%n":function(){return"\n"},"%p":function(x){return 0<=x.vg&&12>x.vg?"AM":"PM"},"%S":function(x){return l(x.Hh,2)},"%t":function(){return"\t"},"%u":function(x){return x.wg||7},"%U":function(x){var M=new Date(x.tf+1900,0,1),S=0===M.getDay()?M:Vd(M,7-M.getDay());x=new Date(x.tf+1900,x.bg,x.og);return 0>
p(S,x)?l(Math.ceil((31-S.getDate()+(Sd(Rd(x.getFullYear())?Td:Ud,x.getMonth()-1)-31)+x.getDate())/7),2):0===p(S,M)?"01":"00"},"%V":function(x){var M=new Date(x.tf+1901,0,4),S=r(new Date(x.tf+1900,0,4));M=r(M);var Z=Vd(new Date(x.tf+1900,0,1),x.xg);return 0>p(Z,S)?"53":0>=p(M,Z)?"01":l(Math.ceil((S.getFullYear()<x.tf+1900?x.xg+32-S.getDate():x.xg+1-S.getDate())/7),2)},"%w":function(x){return x.wg},"%W":function(x){var M=new Date(x.tf,0,1),S=1===M.getDay()?M:Vd(M,0===M.getDay()?1:7-M.getDay()+1);x=
new Date(x.tf+1900,x.bg,x.og);return 0>p(S,x)?l(Math.ceil((31-S.getDate()+(Sd(Rd(x.getFullYear())?Td:Ud,x.getMonth()-1)-31)+x.getDate())/7),2):0===p(S,M)?"01":"00"},"%y":function(x){return(x.tf+1900).toString().substring(2)},"%Y":function(x){return x.tf+1900},"%z":function(x){x=x.Fh;var M=0<=x;x=Math.abs(x)/60;return(M?"+":"-")+String("0000"+(x/60*100+x%60)).slice(-4)},"%Z":function(x){return x.Ih},"%%":function(){return"%"}};for(F in B)0<=c.indexOf(F)&&(c=c.replace(new RegExp(F,"g"),B[F](d)));F=
Xd(c);if(F.length>b)return 0;lb.set(F,a);return F.length-1}Ub=f.InternalError=Tb("InternalError");for(var Yd=Array(256),Zd=0;256>Zd;++Zd)Yd[Zd]=String.fromCharCode(Zd);$b=Yd;ic=f.BindingError=Tb("BindingError");sc.prototype.isAliasOf=function(a){if(!(this instanceof sc&&a instanceof sc))return!1;var b=this.df.pf.hf,c=this.df.kf,d=a.df.pf.hf;for(a=a.df.kf;b.Cf;)c=b.pg(c),b=b.Cf;for(;d.Cf;)a=d.pg(a),d=d.Cf;return b===d&&c===a};
sc.prototype.clone=function(){this.df.kf||kc(this);if(this.df.mg)return this.df.count.value+=1,this;var a=oc(Object.create(Object.getPrototypeOf(this),{df:{value:jc(this.df)}}));a.df.count.value+=1;a.df.$f=!1;return a};sc.prototype["delete"]=function(){this.df.kf||kc(this);this.df.$f&&!this.df.mg&&P("Object already scheduled for deletion");mc(this);nc(this.df);this.df.mg||(this.df.wf=void 0,this.df.kf=void 0)};sc.prototype.isDeleted=function(){return!this.df.kf};
sc.prototype.deleteLater=function(){this.df.kf||kc(this);this.df.$f&&!this.df.mg&&P("Object already scheduled for deletion");qc.push(this);1===qc.length&&pc&&pc(rc);this.df.$f=!0;return this};Hc.prototype.lh=function(a){this.Sg&&(a=this.Sg(a));return a};Hc.prototype.Qg=function(a){this.zf&&this.zf(a)};Hc.prototype.argPackAdvance=8;Hc.prototype.readValueFromPointer=Nb;Hc.prototype.deleteObject=function(a){if(null!==a)a["delete"]()};
Hc.prototype.fromWireType=function(a){function b(){return this.ug?Gc(this.hf.ag,{pf:this.vh,kf:c,Af:this,wf:a}):Gc(this.hf.ag,{pf:this,kf:a})}var c=this.lh(a);if(!c)return this.Qg(a),null;var d=Fc(this.hf,c);if(void 0!==d){if(0===d.df.count.value)return d.df.kf=c,d.df.wf=a,d.clone();d=d.clone();this.Qg(a);return d}d=this.hf.kh(c);d=tc[d];if(!d)return b.call(this);d=this.tg?d.ah:d.pointerType;var g=Dc(c,this.hf,d.hf);return null===g?b.call(this):this.ug?Gc(d.hf.ag,{pf:d,kf:g,Af:this,wf:a}):Gc(d.hf.ag,
{pf:d,kf:g})};f.getInheritedInstanceCount=function(){return Object.keys(Ec).length};f.getLiveInheritedInstances=function(){var a=[],b;for(b in Ec)Ec.hasOwnProperty(b)&&a.push(Ec[b]);return a};f.flushPendingDeletes=rc;f.setDelayFunction=function(a){pc=a;qc.length&&pc&&pc(rc)};Sc=f.UnboundTypeError=Tb("UnboundTypeError");f.count_emval_handles=function(){for(var a=0,b=5;b<ad.length;++b)void 0!==ad[b]&&++a;return a};
f.get_first_emval=function(){for(var a=5;a<ad.length;++a)if(void 0!==ad[a])return ad[a];return null};for(var Y,$d=0;32>$d;++$d)Fd.push(Array($d));var ae=new Float32Array(288);for($d=0;288>$d;++$d)Md[$d]=ae.subarray(0,$d+1);var be=new Int32Array(288);for($d=0;288>$d;++$d)Nd[$d]=be.subarray(0,$d+1);function Xd(a){var b=Array(Ya(a)+1);Xa(a,b,0,b.length);return b}
var re={ob:function(){t[ce()>>2]=63;return-1},pb:function(a,b){if(-1===(a|0)||0===b)a=-28;else{var c=Jb[a];c&&b===c.Rh&&(Jb[a]=null,c.Nh&&Vc(c.Sh));a=0}return a},B:function(a){var b=Lb[a];delete Lb[a];var c=b.elements,d=c.length,g=c.map(function(r){return r.Gg}).concat(c.map(function(r){return r.Lg})),l=b.ng,p=b.zf;Wb([a],g,function(r){c.forEach(function(y,B){var F=r[B],L=y.Eg,N=y.Fg,x=r[B+d],M=y.Kg,S=y.Mg;y.read=function(Z){return F.fromWireType(L(N,Z))};y.write=function(Z,T){var ja=[];M(S,Z,x.toWireType(ja,
T));Mb(ja)}});return[{name:b.name,fromWireType:function(y){for(var B=Array(d),F=0;F<d;++F)B[F]=c[F].read(y);p(y);return B},toWireType:function(y,B){if(d!==B.length)throw new TypeError("Incorrect number of tuple elements for "+b.name+": expected="+d+", actual="+B.length);for(var F=l(),L=0;L<d;++L)c[L].write(F,B[L]);null!==y&&y.push(p,F);return F},argPackAdvance:8,readValueFromPointer:Nb,vf:p}]})},z:function(a){var b=Yb[a];delete Yb[a];var c=b.ng,d=b.zf,g=b.Rg,l=g.map(function(p){return p.Gg}).concat(g.map(function(p){return p.Lg}));
Wb([a],l,function(p){var r={};g.forEach(function(y,B){var F=p[B],L=y.Eg,N=y.Fg,x=p[B+g.length],M=y.Kg,S=y.Mg;r[y.fh]={read:function(Z){return F.fromWireType(L(N,Z))},write:function(Z,T){var ja=[];M(S,Z,x.toWireType(ja,T));Mb(ja)}}});return[{name:b.name,fromWireType:function(y){var B={},F;for(F in r)B[F]=r[F].read(y);d(y);return B},toWireType:function(y,B){for(var F in r)if(!(F in B))throw new TypeError('Missing field: "'+F+'"');var L=c();for(F in r)r[F].write(L,B[F]);null!==y&&y.push(d,L);return L},
argPackAdvance:8,readValueFromPointer:Nb,vf:d}]})},sb:function(a,b,c,d,g){var l=Zb(c);b=ac(b);Xb(a,{name:b,fromWireType:function(p){return!!p},toWireType:function(p,r){return r?d:g},argPackAdvance:8,readValueFromPointer:function(p){if(1===c)var r=lb;else if(2===c)r=bb;else if(4===c)r=t;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(r[p>>l])},vf:null})},l:function(a,b,c,d,g,l,p,r,y,B,F,L,N){F=ac(F);l=Rc(g,l);r&&(r=Rc(p,r));B&&(B=Rc(y,B));N=Rc(L,N);var x=Rb(F);vc(x,
function(){Wc("Cannot construct "+F+" due to unbound types",[d])});Wb([a,b,c],d?[d]:[],function(M){M=M[0];if(d){var S=M.hf;var Z=S.ag}else Z=sc.prototype;M=Sb(x,function(){if(Object.getPrototypeOf(this)!==T)throw new ic("Use 'new' to construct "+F);if(void 0===ja.Kf)throw new ic(F+" has no accessible constructor");var Ca=ja.Kf[arguments.length];if(void 0===Ca)throw new ic("Tried to invoke ctor of "+F+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(ja.Kf).toString()+
") parameters instead!");return Ca.apply(this,arguments)});var T=Object.create(Z,{constructor:{value:M}});M.prototype=T;var ja=new wc(F,M,T,N,S,l,r,B);S=new Hc(F,ja,!0,!1,!1);Z=new Hc(F+"*",ja,!1,!1,!1);var zb=new Hc(F+" const*",ja,!1,!0,!1);tc[a]={pointerType:Z,ah:zb};Ic(x,M);return[S,Z,zb]})},k:function(a,b,c,d,g,l,p){var r=Zc(c,d);b=ac(b);l=Rc(g,l);Wb([],[a],function(y){function B(){Wc("Cannot call "+F+" due to unbound types",r)}y=y[0];var F=y.name+"."+b,L=y.hf.constructor;void 0===L[b]?(B.Yf=
c-1,L[b]=B):(uc(L,b,F),L[b].rf[c-1]=B);Wb([],r,function(N){N=[N[0],null].concat(N.slice(1));N=Yc(F,N,null,l,p);void 0===L[b].rf?(N.Yf=c-1,L[b]=N):L[b].rf[c-1]=N;return[]});return[]})},v:function(a,b,c,d,g,l){assert(0<b);var p=Zc(b,c);g=Rc(d,g);var r=[l],y=[];Wb([],[a],function(B){B=B[0];var F="constructor "+B.name;void 0===B.hf.Kf&&(B.hf.Kf=[]);if(void 0!==B.hf.Kf[b-1])throw new ic("Cannot register multiple constructors with identical number of parameters ("+(b-1)+") for class '"+B.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");
B.hf.Kf[b-1]=function(){Wc("Cannot construct "+B.name+" due to unbound types",p)};Wb([],p,function(L){B.hf.Kf[b-1]=function(){arguments.length!==b-1&&P(F+" called with "+arguments.length+" arguments, expected "+(b-1));y.length=0;r.length=b;for(var N=1;N<b;++N)r[N]=L[N].toWireType(y,arguments[N-1]);N=g.apply(null,r);Mb(y);return L[0].fromWireType(N)};return[]});return[]})},c:function(a,b,c,d,g,l,p,r){var y=Zc(c,d);b=ac(b);l=Rc(g,l);Wb([],[a],function(B){function F(){Wc("Cannot call "+L+" due to unbound types",
y)}B=B[0];var L=B.name+"."+b;r&&B.hf.wh.push(b);var N=B.hf.ag,x=N[b];void 0===x||void 0===x.rf&&x.className!==B.name&&x.Yf===c-2?(F.Yf=c-2,F.className=B.name,N[b]=F):(uc(N,b,L),N[b].rf[c-2]=F);Wb([],y,function(M){M=Yc(L,M,B,l,p);void 0===N[b].rf?(M.Yf=c-2,N[b]=M):N[b].rf[c-2]=M;return[]});return[]})},N:function(a,b,c){a=ac(a);Wb([],[b],function(d){d=d[0];f[a]=d.fromWireType(c);return[]})},rb:function(a,b){b=ac(b);Xb(a,{name:b,fromWireType:function(c){var d=ad[c].value;bd(c);return d},toWireType:function(c,
d){return Bc(d)},argPackAdvance:8,readValueFromPointer:Nb,vf:null})},q:function(a,b,c,d){function g(){}c=Zb(c);b=ac(b);g.values={};Xb(a,{name:b,constructor:g,fromWireType:function(l){return this.constructor.values[l]},toWireType:function(l,p){return p.value},argPackAdvance:8,readValueFromPointer:cd(b,c,d),vf:null});vc(b,g)},p:function(a,b,c){var d=dd(a,"enum");b=ac(b);a=d.constructor;d=Object.create(d.constructor.prototype,{value:{value:c},constructor:{value:Sb(d.name+"_"+b,function(){})}});a.values[c]=
d;a[b]=d},K:function(a,b,c){c=Zb(c);b=ac(b);Xb(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,g){if("number"!==typeof g&&"boolean"!==typeof g)throw new TypeError('Cannot convert "'+zc(g)+'" to '+this.name);return g},argPackAdvance:8,readValueFromPointer:ed(b,c),vf:null})},j:function(a,b,c,d,g,l){var p=Zc(b,c);a=ac(a);g=Rc(d,g);vc(a,function(){Wc("Cannot call "+a+" due to unbound types",p)},b-1);Wb([],p,function(r){r=[r[0],null].concat(r.slice(1));Ic(a,Yc(a,r,null,g,l),b-1);return[]})},
t:function(a,b,c,d,g){function l(B){return B}b=ac(b);-1===g&&(g=4294967295);var p=Zb(c);if(0===d){var r=32-8*c;l=function(B){return B<<r>>>r}}var y=-1!=b.indexOf("unsigned");Xb(a,{name:b,fromWireType:l,toWireType:function(B,F){if("number"!==typeof F&&"boolean"!==typeof F)throw new TypeError('Cannot convert "'+zc(F)+'" to '+this.name);if(F<d||F>g)throw new TypeError('Passing a number "'+zc(F)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+g+
"]!");return y?F>>>0:F|0},argPackAdvance:8,readValueFromPointer:fd(b,p,0!==d),vf:null})},s:function(a,b,c){function d(l){l>>=2;var p=mb;return new g(kb,p[l+1],p[l])}var g=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=ac(c);Xb(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{nh:!0})},n:function(a,b,c,d,g,l,p,r,y,B,F,L){c=ac(c);l=Rc(g,l);r=Rc(p,r);B=Rc(y,B);L=Rc(F,L);Wb([a],[b],function(N){N=N[0];return[new Hc(c,N.hf,!1,!1,!0,N,
d,l,r,B,L)]})},L:function(a,b){b=ac(b);var c="std::string"===b;Xb(a,{name:b,fromWireType:function(d){var g=mb[d>>2];if(c)for(var l=d+4,p=0;p<=g;++p){var r=d+4+p;if(p==g||0==Sa[r]){l=Ra(l,r-l);if(void 0===y)var y=l;else y+=String.fromCharCode(0),y+=l;l=r+1}}else{y=Array(g);for(p=0;p<g;++p)y[p]=String.fromCharCode(Sa[d+4+p]);y=y.join("")}Vc(d);return y},toWireType:function(d,g){g instanceof ArrayBuffer&&(g=new Uint8Array(g));var l="string"===typeof g;l||g instanceof Uint8Array||g instanceof Uint8ClampedArray||
g instanceof Int8Array||P("Cannot pass non-string to std::string");var p=(c&&l?function(){return Ya(g)}:function(){return g.length})(),r=Jd(4+p+1);mb[r>>2]=p;if(c&&l)Xa(g,Sa,r+4,p+1);else if(l)for(l=0;l<p;++l){var y=g.charCodeAt(l);255<y&&(Vc(r),P("String has UTF-16 code units that do not fit in 8 bits"));Sa[r+4+l]=y}else for(l=0;l<p;++l)Sa[r+4+l]=g[l];null!==d&&d.push(Vc,r);return r},argPackAdvance:8,readValueFromPointer:Nb,vf:function(d){Vc(d)}})},E:function(a,b,c){c=ac(c);if(2===b){var d=$a;var g=
cb;var l=db;var p=function(){return ab};var r=1}else 4===b&&(d=eb,g=fb,l=jb,p=function(){return mb},r=2);Xb(a,{name:c,fromWireType:function(y){for(var B=mb[y>>2],F=p(),L,N=y+4,x=0;x<=B;++x){var M=y+4+x*b;if(x==B||0==F[M>>r])N=d(N,M-N),void 0===L?L=N:(L+=String.fromCharCode(0),L+=N),N=M+b}Vc(y);return L},toWireType:function(y,B){"string"!==typeof B&&P("Cannot pass non-string to C++ string type "+c);var F=l(B),L=Jd(4+F+b);mb[L>>2]=F>>r;g(B,L+4,F+b);null!==y&&y.push(Vc,L);return L},argPackAdvance:8,
readValueFromPointer:Nb,vf:function(y){Vc(y)}})},D:function(a,b,c,d,g,l){Lb[a]={name:ac(b),ng:Rc(c,d),zf:Rc(g,l),elements:[]}},C:function(a,b,c,d,g,l,p,r,y){Lb[a].elements.push({Gg:b,Eg:Rc(c,d),Fg:g,Lg:l,Kg:Rc(p,r),Mg:y})},A:function(a,b,c,d,g,l){Yb[a]={name:ac(b),ng:Rc(c,d),zf:Rc(g,l),Rg:[]}},u:function(a,b,c,d,g,l,p,r,y,B){Yb[a].Rg.push({fh:ac(b),Gg:c,Eg:Rc(d,g),Fg:l,Lg:p,Kg:Rc(r,y),Mg:B})},tb:function(a,b){b=ac(b);Xb(a,{ph:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},
x:function(a,b,c,d){a=id[a];b||P("Cannot use deleted val. handle = "+b);b=ad[b].value;c=hd(c);a(b,c,null,d)},Z:bd,w:function(a,b){b=kd(a,b);for(var c=b[0],d=c.name+"_$"+b.slice(1).map(function(B){return B.name}).join("_")+"$",g=["retType"],l=[c],p="",r=0;r<a-1;++r)p+=(0!==r?", ":"")+"arg"+r,g.push("argType"+r),l.push(b[1+r]);d="return function "+Rb("methodCaller_"+d)+"(handle, name, destructors, args) {\n";var y=0;for(r=0;r<a-1;++r)d+=" var arg"+r+" = argType"+r+".readValueFromPointer(args"+(y?
"+"+y:"")+");\n",y+=b[r+1].argPackAdvance;d+=" var rv = handle[name]("+p+");\n";for(r=0;r<a-1;++r)b[r+1].deleteObject&&(d+=" argType"+r+".deleteObject(arg"+r+");\n");c.ph||(d+=" return retType.toWireType(destructors, rv);\n");g.push(d+"};\n");a=Xc(g).apply(null,l);return jd(a)},fb:function(a){4<a&&(ad[a].Jg+=1)},ia:function(){return Bc([])},Da:function(a){return Bc(hd(a))},F:function(a,b){a=dd(a,"_emval_take_value");a=a.readValueFromPointer(b);return Bc(a)},d:function(){Ha()},kb:function(a,
b){if(0===a)a=Date.now();else if(1===a||4===a)a=ld();else return t[ce()>>2]=28,-1;t[b>>2]=a/1E3|0;t[b+4>>2]=a%1E3*1E6|0;return 0},Kc:function(a){Y.activeTexture(a)},Lc:function(a,b){Y.attachShader(rd[a],vd[b])},Mc:function(a,b,c){Y.bindAttribLocation(rd[a],b,Ra(c))},Nc:function(a,b){35051==a?Y.Dg=b:35052==a&&(Y.Zf=b);Y.bindBuffer(a,qd[b])},Rb:function(a,b){Y.bindFramebuffer(a,sd[b])},Sb:function(a,b){Y.bindRenderbuffer(a,td[b])},Db:function(a,b){Y.bindSampler(a,xd[b])},Oc:function(a,b){Y.bindTexture(a,
ud[b])},gc:function(a){Y.bindVertexArray(wd[a])},jc:function(a){Y.bindVertexArray(wd[a])},P:function(a,b,c,d){Y.blendColor(a,b,c,d)},Q:function(a){Y.blendEquation(a)},R:function(a,b){Y.blendFunc(a,b)},Kb:function(a,b,c,d,g,l,p,r,y,B){Y.blitFramebuffer(a,b,c,d,g,l,p,r,y,B)},S:function(a,b,c,d){2<=W.version?c?Y.bufferData(a,Sa,d,c,b):Y.bufferData(a,b,d):Y.bufferData(a,c?Sa.subarray(c,c+b):b,d)},T:function(a,b,c,d){2<=W.version?Y.bufferSubData(a,b,Sa,d,c):Y.bufferSubData(a,b,Sa.subarray(d,d+c))},Tb:function(a){return Y.checkFramebufferStatus(a)},
U:function(a){Y.clear(a)},V:function(a,b,c,d){Y.clearColor(a,b,c,d)},W:function(a){Y.clearStencil(a)},$a:function(a,b,c,d){return Y.clientWaitSync(yd[a],b,(c>>>0)+4294967296*d)},X:function(a,b,c,d){Y.colorMask(!!a,!!b,!!c,!!d)},Y:function(a){Y.compileShader(vd[a])},_:function(a,b,c,d,g,l,p,r){2<=W.version?Y.Zf?Y.compressedTexImage2D(a,b,c,d,g,l,p,r):Y.compressedTexImage2D(a,b,c,d,g,l,Sa,r,p):Y.compressedTexImage2D(a,b,c,d,g,l,r?Sa.subarray(r,r+p):null)},$:function(a,b,c,d,g,l,p,r,y){2<=W.version?
Y.Zf?Y.compressedTexSubImage2D(a,b,c,d,g,l,p,r,y):Y.compressedTexSubImage2D(a,b,c,d,g,l,p,Sa,y,r):Y.compressedTexSubImage2D(a,b,c,d,g,l,p,y?Sa.subarray(y,y+r):null)},aa:function(a,b,c,d,g,l,p,r){Y.copyTexSubImage2D(a,b,c,d,g,l,p,r)},ba:function(){var a=da(rd),b=Y.createProgram();b.name=a;rd[a]=b;return a},ca:function(a){var b=da(vd);vd[b]=Y.createShader(a);return b},da:function(a){Y.cullFace(a)},ea:function(a,b){for(var c=0;c<a;c++){var d=t[b+4*c>>2],g=qd[d];g&&(Y.deleteBuffer(g),g.name=0,qd[d]=null,
d==Y.Dg&&(Y.Dg=0),d==Y.Zf&&(Y.Zf=0))}},Ub:function(a,b){for(var c=0;c<a;++c){var d=t[b+4*c>>2],g=sd[d];g&&(Y.deleteFramebuffer(g),g.name=0,sd[d]=null)}},fa:function(a){if(a){var b=rd[a];b?(Y.deleteProgram(b),b.name=0,rd[a]=null,zd[a]=null):Dd(1281)}},Vb:function(a,b){for(var c=0;c<a;c++){var d=t[b+4*c>>2],g=td[d];g&&(Y.deleteRenderbuffer(g),g.name=0,td[d]=null)}},Eb:function(a,b){for(var c=0;c<a;c++){var d=t[b+4*c>>2],g=xd[d];g&&(Y.deleteSampler(g),g.name=0,xd[d]=null)}},ga:function(a){if(a){var b=
vd[a];b?(Y.deleteShader(b),vd[a]=null):Dd(1281)}},Mb:function(a){if(a){var b=yd[a];b?(Y.deleteSync(b),b.name=0,yd[a]=null):Dd(1281)}},ha:function(a,b){for(var c=0;c<a;c++){var d=t[b+4*c>>2],g=ud[d];g&&(Y.deleteTexture(g),g.name=0,ud[d]=null)}},hc:function(a,b){for(var c=0;c<a;c++){var d=t[b+4*c>>2];Y.deleteVertexArray(wd[d]);wd[d]=null}},kc:function(a,b){for(var c=0;c<a;c++){var d=t[b+4*c>>2];Y.deleteVertexArray(wd[d]);wd[d]=null}},ja:function(a){Y.depthMask(!!a)},ka:function(a){Y.disable(a)},la:function(a){Y.disableVertexAttribArray(a)},
ma:function(a,b,c){Y.drawArrays(a,b,c)},ec:function(a,b,c,d){Y.drawArraysInstanced(a,b,c,d)},cc:function(a,b){for(var c=Fd[a],d=0;d<a;d++)c[d]=t[b+4*d>>2];Y.drawBuffers(c)},na:function(a,b,c,d){Y.drawElements(a,b,c,d)},fc:function(a,b,c,d,g){Y.drawElementsInstanced(a,b,c,d,g)},_b:function(a,b,c,d,g,l){Y.drawElements(a,d,g,l)},oa:function(a){Y.enable(a)},pa:function(a){Y.enableVertexAttribArray(a)},Ib:function(a,b){return(a=Y.fenceSync(a,b))?(b=da(yd),a.name=b,yd[b]=a,b):0},qa:function(){Y.finish()},
ra:function(){Y.flush()},Wb:function(a,b,c,d){Y.framebufferRenderbuffer(a,b,c,td[d])},Xb:function(a,b,c,d,g){Y.framebufferTexture2D(a,b,c,ud[d],g)},sa:function(a){Y.frontFace(a)},ta:function(a,b){Gd(a,b,"createBuffer",qd)},Yb:function(a,b){Gd(a,b,"createFramebuffer",sd)},Zb:function(a,b){Gd(a,b,"createRenderbuffer",td)},Fb:function(a,b){Gd(a,b,"createSampler",xd)},ua:function(a,b){Gd(a,b,"createTexture",ud)},ic:function(a,b){Gd(a,b,"createVertexArray",wd)},lc:function(a,b){Gd(a,b,"createVertexArray",
wd)},Nb:function(a){Y.generateMipmap(a)},va:function(a,b,c){c?t[c>>2]=Y.getBufferParameter(a,b):Dd(1281)},wa:function(){var a=Y.getError()||Ed;Ed=0;return a},Ob:function(a,b,c,d){a=Y.getFramebufferAttachmentParameter(a,b,c);if(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)a=a.name|0;t[d>>2]=a},Za:function(a,b){Hd(a,b)},xa:function(a,b,c,d){a=Y.getProgramInfoLog(rd[a]);null===a&&(a="(unknown error)");b=0<b&&d?Xa(a,Sa,d,b):0;c&&(t[c>>2]=b)},ya:function(a,b,c){if(c)if(a>=pd)Dd(1281);else{var d=
zd[a];if(d)if(35716==b)a=Y.getProgramInfoLog(rd[a]),null===a&&(a="(unknown error)"),t[c>>2]=a.length+1;else if(35719==b)t[c>>2]=d.Ig;else if(35722==b){if(-1==d.kg){a=rd[a];var g=Y.getProgramParameter(a,35721);for(b=d.kg=0;b<g;++b)d.kg=Math.max(d.kg,Y.getActiveAttrib(a,b).name.length+1)}t[c>>2]=d.kg}else if(35381==b){if(-1==d.lg)for(a=rd[a],g=Y.getProgramParameter(a,35382),b=d.lg=0;b<g;++b)d.lg=Math.max(d.lg,Y.getActiveUniformBlockName(a,b).length+1);t[c>>2]=d.lg}else t[c>>2]=Y.getProgramParameter(rd[a],
b);else Dd(1282)}else Dd(1281)},Pb:function(a,b,c){c?t[c>>2]=Y.getRenderbufferParameter(a,b):Dd(1281)},za:function(a,b,c,d){a=Y.getShaderInfoLog(vd[a]);null===a&&(a="(unknown error)");b=0<b&&d?Xa(a,Sa,d,b):0;c&&(t[c>>2]=b)},Ab:function(a,b,c,d){a=Y.getShaderPrecisionFormat(a,b);t[c>>2]=a.rangeMin;t[c+4>>2]=a.rangeMax;t[d>>2]=a.precision},Aa:function(a,b,c){c?35716==b?(a=Y.getShaderInfoLog(vd[a]),null===a&&(a="(unknown error)"),t[c>>2]=a?a.length+1:0):35720==b?(a=Y.getShaderSource(vd[a]),t[c>>2]=a?
a.length+1:0):t[c>>2]=Y.getShaderParameter(vd[a],b):Dd(1281)},H:function(a){if(Ad[a])return Ad[a];switch(a){case 7939:var b=Y.getSupportedExtensions()||[];b=b.concat(b.map(function(d){return"GL_"+d}));b=Id(b.join(" "));break;case 7936:case 7937:case 37445:case 37446:(b=Y.getParameter(a))||Dd(1280);b=Id(b);break;case 7938:b=Y.getParameter(7938);b=2<=W.version?"OpenGL ES 3.0 ("+b+")":"OpenGL ES 2.0 ("+b+")";b=Id(b);break;case 35724:b=Y.getParameter(35724);var c=b.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);
null!==c&&(3==c[1].length&&(c[1]+="0"),b="OpenGL ES GLSL ES "+c[1]+" ("+b+")");b=Id(b);break;default:return Dd(1280),0}return Ad[a]=b},_a:function(a,b){if(2>W.version)return Dd(1282),0;var c=Bd[a];if(c)return 0>b||b>=c.length?(Dd(1281),0):c[b];switch(a){case 7939:return c=Y.getSupportedExtensions()||[],c=c.concat(c.map(function(d){return"GL_"+d})),c=c.map(function(d){return Id(d)}),c=Bd[a]=c,0>b||b>=c.length?(Dd(1281),0):c[b];default:return Dd(1280),0}},Ba:function(a,b){b=Ra(b);var c=0;if("]"==b[b.length-
1]){var d=b.lastIndexOf("[");c="]"!=b[d+1]?parseInt(b.slice(d+1)):0;b=b.slice(0,d)}return(a=zd[a]&&zd[a].Tg[b])&&0<=c&&c<a[0]?a[1]+c:-1},Bb:function(a,b,c){for(var d=Fd[b],g=0;g<b;g++)d[g]=t[c+4*g>>2];Y.invalidateFramebuffer(a,d)},Cb:function(a,b,c,d,g,l,p){for(var r=Fd[b],y=0;y<b;y++)r[y]=t[c+4*y>>2];Y.invalidateSubFramebuffer(a,r,d,g,l,p)},Jb:function(a){return Y.isSync(yd[a])},Ca:function(a){return(a=ud[a])?Y.isTexture(a):0},Ea:function(a){Y.lineWidth(a)},Fa:function(a){Y.linkProgram(rd[a]);var b=
rd[a];a=zd[a]={Tg:{},Ig:0,kg:-1,lg:-1};for(var c=a.Tg,d=Y.getProgramParameter(b,35718),g=0;g<d;++g){var l=Y.getActiveUniform(b,g),p=l.name;a.Ig=Math.max(a.Ig,p.length+1);"]"==p.slice(-1)&&(p=p.slice(0,p.lastIndexOf("[")));var r=Y.getUniformLocation(b,p);if(r){var y=da(V);c[p]=[l.size,y];V[y]=r;for(var B=1;B<l.size;++B)r=Y.getUniformLocation(b,p+"["+B+"]"),y=da(V),V[y]=r}}},Ga:function(a,b){3317==a&&(Cd=b);Y.pixelStorei(a,b)},dc:function(a){Y.readBuffer(a)},Ha:function(a,b,c,d,g,l,p){if(2<=W.version)if(Y.Dg)Y.readPixels(a,
b,c,d,g,l,p);else{var r=Kd(l);Y.readPixels(a,b,c,d,g,l,r,p>>31-Math.clz32(r.BYTES_PER_ELEMENT))}else(p=Ld(l,g,c,d,p))?Y.readPixels(a,b,c,d,g,l,p):Dd(1280)},Qb:function(a,b,c,d){Y.renderbufferStorage(a,b,c,d)},Lb:function(a,b,c,d,g){Y.renderbufferStorageMultisample(a,b,c,d,g)},Gb:function(a,b,c){Y.samplerParameteri(xd[a],b,c)},Hb:function(a,b,c){Y.samplerParameteri(xd[a],b,t[c>>2])},Ia:function(a,b,c,d){Y.scissor(a,b,c,d)},Ja:function(a,b,c,d){for(var g="",l=0;l<b;++l){var p=d?t[d+4*l>>2]:-1;g+=Ra(t[c+
4*l>>2],0>p?void 0:p)}Y.shaderSource(vd[a],g)},Ka:function(a,b,c){Y.stencilFunc(a,b,c)},La:function(a,b,c,d){Y.stencilFuncSeparate(a,b,c,d)},Ma:function(a){Y.stencilMask(a)},Na:function(a,b){Y.stencilMaskSeparate(a,b)},Oa:function(a,b,c){Y.stencilOp(a,b,c)},Pa:function(a,b,c,d){Y.stencilOpSeparate(a,b,c,d)},Qa:function(a,b,c,d,g,l,p,r,y){if(2<=W.version)if(Y.Zf)Y.texImage2D(a,b,c,d,g,l,p,r,y);else if(y){var B=Kd(r);Y.texImage2D(a,b,c,d,g,l,p,r,B,y>>31-Math.clz32(B.BYTES_PER_ELEMENT))}else Y.texImage2D(a,
b,c,d,g,l,p,r,null);else Y.texImage2D(a,b,c,d,g,l,p,r,y?Ld(r,p,d,g,y):null)},Ra:function(a,b,c){Y.texParameterf(a,b,c)},Sa:function(a,b,c){Y.texParameterf(a,b,H[c>>2])},Ta:function(a,b,c){Y.texParameteri(a,b,c)},Ua:function(a,b,c){Y.texParameteri(a,b,t[c>>2])},$b:function(a,b,c,d,g){Y.texStorage2D(a,b,c,d,g)},Va:function(a,b,c,d,g,l,p,r,y){if(2<=W.version)if(Y.Zf)Y.texSubImage2D(a,b,c,d,g,l,p,r,y);else if(y){var B=Kd(r);Y.texSubImage2D(a,b,c,d,g,l,p,r,B,y>>31-Math.clz32(B.BYTES_PER_ELEMENT))}else Y.texSubImage2D(a,
b,c,d,g,l,p,r,null);else B=null,y&&(B=Ld(r,p,g,l,y)),Y.texSubImage2D(a,b,c,d,g,l,p,r,B)},Wa:function(a,b){Y.uniform1f(V[a],b)},Xa:function(a,b,c){if(2<=W.version)Y.uniform1fv(V[a],H,c>>2,b);else{if(288>=b)for(var d=Md[b-1],g=0;g<b;++g)d[g]=H[c+4*g>>2];else d=H.subarray(c>>2,c+4*b>>2);Y.uniform1fv(V[a],d)}},Gc:function(a,b){Y.uniform1i(V[a],b)},Hc:function(a,b,c){if(2<=W.version)Y.uniform1iv(V[a],t,c>>2,b);else{if(288>=b)for(var d=Nd[b-1],g=0;g<b;++g)d[g]=t[c+4*g>>2];else d=t.subarray(c>>2,c+4*b>>
2);Y.uniform1iv(V[a],d)}},Ic:function(a,b,c){Y.uniform2f(V[a],b,c)},Jc:function(a,b,c){if(2<=W.version)Y.uniform2fv(V[a],H,c>>2,2*b);else{if(144>=b)for(var d=Md[2*b-1],g=0;g<2*b;g+=2)d[g]=H[c+4*g>>2],d[g+1]=H[c+(4*g+4)>>2];else d=H.subarray(c>>2,c+8*b>>2);Y.uniform2fv(V[a],d)}},Fc:function(a,b,c){Y.uniform2i(V[a],b,c)},Ec:function(a,b,c){if(2<=W.version)Y.uniform2iv(V[a],t,c>>2,2*b);else{if(144>=b)for(var d=Nd[2*b-1],g=0;g<2*b;g+=2)d[g]=t[c+4*g>>2],d[g+1]=t[c+(4*g+4)>>2];else d=t.subarray(c>>2,c+
8*b>>2);Y.uniform2iv(V[a],d)}},Dc:function(a,b,c,d){Y.uniform3f(V[a],b,c,d)},Cc:function(a,b,c){if(2<=W.version)Y.uniform3fv(V[a],H,c>>2,3*b);else{if(96>=b)for(var d=Md[3*b-1],g=0;g<3*b;g+=3)d[g]=H[c+4*g>>2],d[g+1]=H[c+(4*g+4)>>2],d[g+2]=H[c+(4*g+8)>>2];else d=H.subarray(c>>2,c+12*b>>2);Y.uniform3fv(V[a],d)}},Bc:function(a,b,c,d){Y.uniform3i(V[a],b,c,d)},Ac:function(a,b,c){if(2<=W.version)Y.uniform3iv(V[a],t,c>>2,3*b);else{if(96>=b)for(var d=Nd[3*b-1],g=0;g<3*b;g+=3)d[g]=t[c+4*g>>2],d[g+1]=t[c+(4*
g+4)>>2],d[g+2]=t[c+(4*g+8)>>2];else d=t.subarray(c>>2,c+12*b>>2);Y.uniform3iv(V[a],d)}},zc:function(a,b,c,d,g){Y.uniform4f(V[a],b,c,d,g)},yc:function(a,b,c){if(2<=W.version)Y.uniform4fv(V[a],H,c>>2,4*b);else{if(72>=b){var d=Md[4*b-1],g=H;c>>=2;for(var l=0;l<4*b;l+=4){var p=c+l;d[l]=g[p];d[l+1]=g[p+1];d[l+2]=g[p+2];d[l+3]=g[p+3]}}else d=H.subarray(c>>2,c+16*b>>2);Y.uniform4fv(V[a],d)}},mc:function(a,b,c,d,g){Y.uniform4i(V[a],b,c,d,g)},nc:function(a,b,c){if(2<=W.version)Y.uniform4iv(V[a],t,c>>2,4*
b);else{if(72>=b)for(var d=Nd[4*b-1],g=0;g<4*b;g+=4)d[g]=t[c+4*g>>2],d[g+1]=t[c+(4*g+4)>>2],d[g+2]=t[c+(4*g+8)>>2],d[g+3]=t[c+(4*g+12)>>2];else d=t.subarray(c>>2,c+16*b>>2);Y.uniform4iv(V[a],d)}},oc:function(a,b,c,d){if(2<=W.version)Y.uniformMatrix2fv(V[a],!!c,H,d>>2,4*b);else{if(72>=b)for(var g=Md[4*b-1],l=0;l<4*b;l+=4)g[l]=H[d+4*l>>2],g[l+1]=H[d+(4*l+4)>>2],g[l+2]=H[d+(4*l+8)>>2],g[l+3]=H[d+(4*l+12)>>2];else g=H.subarray(d>>2,d+16*b>>2);Y.uniformMatrix2fv(V[a],!!c,g)}},pc:function(a,b,c,d){if(2<=
W.version)Y.uniformMatrix3fv(V[a],!!c,H,d>>2,9*b);else{if(32>=b)for(var g=Md[9*b-1],l=0;l<9*b;l+=9)g[l]=H[d+4*l>>2],g[l+1]=H[d+(4*l+4)>>2],g[l+2]=H[d+(4*l+8)>>2],g[l+3]=H[d+(4*l+12)>>2],g[l+4]=H[d+(4*l+16)>>2],g[l+5]=H[d+(4*l+20)>>2],g[l+6]=H[d+(4*l+24)>>2],g[l+7]=H[d+(4*l+28)>>2],g[l+8]=H[d+(4*l+32)>>2];else g=H.subarray(d>>2,d+36*b>>2);Y.uniformMatrix3fv(V[a],!!c,g)}},qc:function(a,b,c,d){if(2<=W.version)Y.uniformMatrix4fv(V[a],!!c,H,d>>2,16*b);else{if(18>=b){var g=Md[16*b-1],l=H;d>>=2;for(var p=
0;p<16*b;p+=16){var r=d+p;g[p]=l[r];g[p+1]=l[r+1];g[p+2]=l[r+2];g[p+3]=l[r+3];g[p+4]=l[r+4];g[p+5]=l[r+5];g[p+6]=l[r+6];g[p+7]=l[r+7];g[p+8]=l[r+8];g[p+9]=l[r+9];g[p+10]=l[r+10];g[p+11]=l[r+11];g[p+12]=l[r+12];g[p+13]=l[r+13];g[p+14]=l[r+14];g[p+15]=l[r+15]}}else g=H.subarray(d>>2,d+64*b>>2);Y.uniformMatrix4fv(V[a],!!c,g)}},rc:function(a){Y.useProgram(rd[a])},sc:function(a,b){Y.vertexAttrib1f(a,b)},tc:function(a,b){Y.vertexAttrib2f(a,H[b>>2],H[b+4>>2])},uc:function(a,b){Y.vertexAttrib3f(a,H[b>>2],
H[b+4>>2],H[b+8>>2])},vc:function(a,b){Y.vertexAttrib4f(a,H[b>>2],H[b+4>>2],H[b+8>>2],H[b+12>>2])},ac:function(a,b){Y.vertexAttribDivisor(a,b)},bc:function(a,b,c,d,g){Y.vertexAttribIPointer(a,b,c,d,g)},wc:function(a,b,c,d,g,l){Y.vertexAttribPointer(a,b,c,!!d,g,l)},xc:function(a,b,c,d){Y.viewport(a,b,c,d)},ab:function(a,b,c,d){Y.waitSync(yd[a],b,(c>>>0)+4294967296*d)},e:function(a,b){de(a,b||1);throw"longjmp";},hb:function(a,b,c){Sa.copyWithin(a,b,b+c)},ib:function(a){a>>>=0;var b=Sa.length;if(2147483648<
a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(16777216,a,d);0<d%65536&&(d+=65536-d%65536);a:{try{Ma.grow(Math.min(2147483648,d)-kb.byteLength+65535>>>16);ob(Ma.buffer);var g=1;break a}catch(l){}g=void 0}if(g)return!0}return!1},Pc:function(){return W?W.mh:0},O:function(a){return la(a)?0:-5},mb:function(a,b){var c=0;Pd().forEach(function(d,g){var l=b+c;g=t[a+4*g>>2]=l;for(l=0;l<d.length;++l)lb[g++>>0]=d.charCodeAt(l);lb[g>>0]=0;c+=d.length+1});return 0},nb:function(a,
b){var c=Pd();t[a>>2]=c.length;var d=0;c.forEach(function(g){d+=g.length+1});t[b>>2]=d;return 0},ub:function(a){if(!noExitRuntime&&(Oa=!0,f.onExit))f.onExit(a);ta(a,new Ga(a))},qb:function(){return 0},gb:function(){},J:function(a,b,c,d){for(var g=0,l=0;l<c;l++){for(var p=t[b+8*l>>2],r=t[b+(8*l+4)>>2],y=0;y<r;y++){var B=Sa[p+y],F=Kb[a];0===B||10===B?((1===a?Ia:Ja)(Qa(F,0)),F.length=0):F.push(B)}g+=r}t[d>>2]=g;return 0},a:function(){return Ka|0},Qc:function(a,b){Y.bindFramebuffer(a,sd[b])},Ya:function(a){Y.clear(a)},
lb:function(a,b,c,d){Y.clearColor(a,b,c,d)},eb:function(a){Y.clearStencil(a)},G:function(a,b){Hd(a,b)},g:ee,o:fe,f:ge,M:he,zb:ie,yb:je,h:ke,i:le,r:me,m:ne,xb:oe,vb:pe,wb:qe,memory:Ma,y:function(a){a=+a;return 0<=a?+xb(a+.5):+wb(a-.5)},db:function(){},I:function(){},cb:function(){},bb:function(){},b:function(a){Ka=a|0},jb:function(a,b,c,d){return Wd(a,b,c,d)},table:Na};
(function(){function a(g){f.asm=g.exports;yb--;f.monitorRunDependencies&&f.monitorRunDependencies(yb);0==yb&&(null!==Ab&&(clearInterval(Ab),Ab=null),Bb&&(g=Bb,Bb=null,g()))}function b(g){a(g.instance)}function c(g){return Hb().then(function(l){return WebAssembly.instantiate(l,d)}).then(g,function(l){Ja("failed to asynchronously prepare wasm: "+l);Ha(l)})}var d={a:re};yb++;f.monitorRunDependencies&&f.monitorRunDependencies(yb);if(f.instantiateWasm)try{return f.instantiateWasm(d,a)}catch(g){return Ja("Module.instantiateWasm callback failed with error: "+
g),!1}(function(){if(La||"function"!==typeof WebAssembly.instantiateStreaming||Eb()||Cb("file://")||"function"!==typeof fetch)return c(b);fetch(Db,{credentials:"same-origin"}).then(function(g){return WebAssembly.instantiateStreaming(g,d).then(b,function(l){Ja("wasm streaming compile failed: "+l);Ja("falling back to ArrayBuffer instantiation");return c(b)})})})();return{}})();
var Ib=f.___wasm_call_ctors=function(){return(Ib=f.___wasm_call_ctors=f.asm.Rc).apply(null,arguments)},ce=f.___errno_location=function(){return(ce=f.___errno_location=f.asm.Sc).apply(null,arguments)},Vc=f._free=function(){return(Vc=f._free=f.asm.Tc).apply(null,arguments)},Jd=f._malloc=function(){return(Jd=f._malloc=f.asm.Uc).apply(null,arguments)},Uc=f.___getTypeName=function(){return(Uc=f.___getTypeName=f.asm.Vc).apply(null,arguments)};
f.___embind_register_native_and_builtin_types=function(){return(f.___embind_register_native_and_builtin_types=f.asm.Wc).apply(null,arguments)};
var de=f._setThrew=function(){return(de=f._setThrew=f.asm.Xc).apply(null,arguments)},se=f.stackSave=function(){return(se=f.stackSave=f.asm.Yc).apply(null,arguments)},te=f.stackRestore=function(){return(te=f.stackRestore=f.asm.Zc).apply(null,arguments)},ue=f.dynCall_vi=function(){return(ue=f.dynCall_vi=f.asm._c).apply(null,arguments)},ve=f.dynCall_vii=function(){return(ve=f.dynCall_vii=f.asm.$c).apply(null,arguments)},we=f.dynCall_viii=function(){return(we=f.dynCall_viii=f.asm.ad).apply(null,arguments)},
xe=f.dynCall_viiii=function(){return(xe=f.dynCall_viiii=f.asm.bd).apply(null,arguments)},ye=f.dynCall_viiiii=function(){return(ye=f.dynCall_viiiii=f.asm.cd).apply(null,arguments)},ze=f.dynCall_viiiiii=function(){return(ze=f.dynCall_viiiiii=f.asm.dd).apply(null,arguments)},Ae=f.dynCall_viiiiiiiii=function(){return(Ae=f.dynCall_viiiiiiiii=f.asm.ed).apply(null,arguments)},Be=f.dynCall_ii=function(){return(Be=f.dynCall_ii=f.asm.fd).apply(null,arguments)},Ce=f.dynCall_iii=function(){return(Ce=f.dynCall_iii=
f.asm.gd).apply(null,arguments)},De=f.dynCall_iiii=function(){return(De=f.dynCall_iiii=f.asm.hd).apply(null,arguments)},Ee=f.dynCall_iiiii=function(){return(Ee=f.dynCall_iiiii=f.asm.id).apply(null,arguments)},Fe=f.dynCall_iiiiii=function(){return(Fe=f.dynCall_iiiiii=f.asm.jd).apply(null,arguments)},Ge=f.dynCall_iiiiiii=function(){return(Ge=f.dynCall_iiiiiii=f.asm.kd).apply(null,arguments)};f.dynCall_i=function(){return(f.dynCall_i=f.asm.ld).apply(null,arguments)};
f.dynCall_vif=function(){return(f.dynCall_vif=f.asm.md).apply(null,arguments)};f.dynCall_viffi=function(){return(f.dynCall_viffi=f.asm.nd).apply(null,arguments)};f.dynCall_viifi=function(){return(f.dynCall_viifi=f.asm.od).apply(null,arguments)};f.dynCall_viiiiiiiiiii=function(){return(f.dynCall_viiiiiiiiiii=f.asm.pd).apply(null,arguments)};f.dynCall_viifiiiiiiii=function(){return(f.dynCall_viifiiiiiiii=f.asm.qd).apply(null,arguments)};
f.dynCall_viffiiiiiffiii=function(){return(f.dynCall_viffiiiiiffiii=f.asm.rd).apply(null,arguments)};f.dynCall_viififiiiiiiii=function(){return(f.dynCall_viififiiiiiiii=f.asm.sd).apply(null,arguments)};f.dynCall_viiffii=function(){return(f.dynCall_viiffii=f.asm.td).apply(null,arguments)};f.dynCall_viiiiiiii=function(){return(f.dynCall_viiiiiiii=f.asm.ud).apply(null,arguments)};f.dynCall_vifffi=function(){return(f.dynCall_vifffi=f.asm.vd).apply(null,arguments)};
f.dynCall_viiffi=function(){return(f.dynCall_viiffi=f.asm.wd).apply(null,arguments)};f.dynCall_viffffi=function(){return(f.dynCall_viffffi=f.asm.xd).apply(null,arguments)};f.dynCall_viiiifiii=function(){return(f.dynCall_viiiifiii=f.asm.yd).apply(null,arguments)};f.dynCall_vifff=function(){return(f.dynCall_vifff=f.asm.zd).apply(null,arguments)};f.dynCall_viff=function(){return(f.dynCall_viff=f.asm.Ad).apply(null,arguments)};f.dynCall_iifii=function(){return(f.dynCall_iifii=f.asm.Bd).apply(null,arguments)};
f.dynCall_vifii=function(){return(f.dynCall_vifii=f.asm.Cd).apply(null,arguments)};f.dynCall_viif=function(){return(f.dynCall_viif=f.asm.Dd).apply(null,arguments)};f.dynCall_fi=function(){return(f.dynCall_fi=f.asm.Ed).apply(null,arguments)};f.dynCall_iiffii=function(){return(f.dynCall_iiffii=f.asm.Fd).apply(null,arguments)};f.dynCall_viffii=function(){return(f.dynCall_viffii=f.asm.Gd).apply(null,arguments)};f.dynCall_iiifi=function(){return(f.dynCall_iiifi=f.asm.Hd).apply(null,arguments)};
f.dynCall_iif=function(){return(f.dynCall_iif=f.asm.Id).apply(null,arguments)};f.dynCall_iiiif=function(){return(f.dynCall_iiiif=f.asm.Jd).apply(null,arguments)};f.dynCall_viiif=function(){return(f.dynCall_viiif=f.asm.Kd).apply(null,arguments)};f.dynCall_iiffi=function(){return(f.dynCall_iiffi=f.asm.Ld).apply(null,arguments)};f.dynCall_iiiiiiii=function(){return(f.dynCall_iiiiiiii=f.asm.Md).apply(null,arguments)};f.dynCall_viiiiiii=function(){return(f.dynCall_viiiiiii=f.asm.Nd).apply(null,arguments)};
f.dynCall_viiff=function(){return(f.dynCall_viiff=f.asm.Od).apply(null,arguments)};f.dynCall_viifffffffffi=function(){return(f.dynCall_viifffffffffi=f.asm.Pd).apply(null,arguments)};f.dynCall_vifffiiff=function(){return(f.dynCall_vifffiiff=f.asm.Qd).apply(null,arguments)};f.dynCall_vifffff=function(){return(f.dynCall_vifffff=f.asm.Rd).apply(null,arguments)};f.dynCall_iiff=function(){return(f.dynCall_iiff=f.asm.Sd).apply(null,arguments)};
f.dynCall_viffffff=function(){return(f.dynCall_viffffff=f.asm.Td).apply(null,arguments)};f.dynCall_viffff=function(){return(f.dynCall_viffff=f.asm.Ud).apply(null,arguments)};f.dynCall_vifffffffff=function(){return(f.dynCall_vifffffffff=f.asm.Vd).apply(null,arguments)};f.dynCall_iifff=function(){return(f.dynCall_iifff=f.asm.Wd).apply(null,arguments)};f.dynCall_iiiiiiiiiiii=function(){return(f.dynCall_iiiiiiiiiiii=f.asm.Xd).apply(null,arguments)};
f.dynCall_iiifiiiiiiii=function(){return(f.dynCall_iiifiiiiiiii=f.asm.Yd).apply(null,arguments)};f.dynCall_iiffiiiiiffiii=function(){return(f.dynCall_iiffiiiiiffiii=f.asm.Zd).apply(null,arguments)};f.dynCall_iiififiiiiiiii=function(){return(f.dynCall_iiififiiiiiiii=f.asm._d).apply(null,arguments)};f.dynCall_viiiffii=function(){return(f.dynCall_viiiffii=f.asm.$d).apply(null,arguments)};f.dynCall_viifffi=function(){return(f.dynCall_viifffi=f.asm.ae).apply(null,arguments)};
f.dynCall_viiiffi=function(){return(f.dynCall_viiiffi=f.asm.be).apply(null,arguments)};f.dynCall_viiffffi=function(){return(f.dynCall_viiffffi=f.asm.ce).apply(null,arguments)};f.dynCall_viiiiifiii=function(){return(f.dynCall_viiiiifiii=f.asm.de).apply(null,arguments)};f.dynCall_viifff=function(){return(f.dynCall_viifff=f.asm.ee).apply(null,arguments)};f.dynCall_iiif=function(){return(f.dynCall_iiif=f.asm.fe).apply(null,arguments)};
f.dynCall_iiiffi=function(){return(f.dynCall_iiiffi=f.asm.ge).apply(null,arguments)};f.dynCall_fii=function(){return(f.dynCall_fii=f.asm.he).apply(null,arguments)};f.dynCall_viiiff=function(){return(f.dynCall_viiiff=f.asm.ie).apply(null,arguments)};f.dynCall_viiifffffffffi=function(){return(f.dynCall_viiifffffffffi=f.asm.je).apply(null,arguments)};f.dynCall_viifffiiff=function(){return(f.dynCall_viifffiiff=f.asm.ke).apply(null,arguments)};
f.dynCall_viifffff=function(){return(f.dynCall_viifffff=f.asm.le).apply(null,arguments)};f.dynCall_iiiff=function(){return(f.dynCall_iiiff=f.asm.me).apply(null,arguments)};f.dynCall_viiffffff=function(){return(f.dynCall_viiffffff=f.asm.ne).apply(null,arguments)};f.dynCall_viiffff=function(){return(f.dynCall_viiffff=f.asm.oe).apply(null,arguments)};f.dynCall_viifffffffff=function(){return(f.dynCall_viifffffffff=f.asm.pe).apply(null,arguments)};
f.dynCall_iiifff=function(){return(f.dynCall_iiifff=f.asm.qe).apply(null,arguments)};f.dynCall_v=function(){return(f.dynCall_v=f.asm.re).apply(null,arguments)};f.dynCall_viifii=function(){return(f.dynCall_viifii=f.asm.se).apply(null,arguments)};f.dynCall_viiiiiiiiiiii=function(){return(f.dynCall_viiiiiiiiiiii=f.asm.te).apply(null,arguments)};f.dynCall_iidi=function(){return(f.dynCall_iidi=f.asm.ue).apply(null,arguments)};
f.dynCall_viiiiiiiiiiiiiii=function(){return(f.dynCall_viiiiiiiiiiiiiii=f.asm.ve).apply(null,arguments)};f.dynCall_viji=function(){return(f.dynCall_viji=f.asm.we).apply(null,arguments)};f.dynCall_vijiii=function(){return(f.dynCall_vijiii=f.asm.xe).apply(null,arguments)};f.dynCall_viiiiij=function(){return(f.dynCall_viiiiij=f.asm.ye).apply(null,arguments)};f.dynCall_fiff=function(){return(f.dynCall_fiff=f.asm.ze).apply(null,arguments)};
f.dynCall_viiiiiffii=function(){return(f.dynCall_viiiiiffii=f.asm.Ae).apply(null,arguments)};f.dynCall_iiiiiiiii=function(){return(f.dynCall_iiiiiiiii=f.asm.Be).apply(null,arguments)};f.dynCall_viid=function(){return(f.dynCall_viid=f.asm.Ce).apply(null,arguments)};f.dynCall_viddi=function(){return(f.dynCall_viddi=f.asm.De).apply(null,arguments)};f.dynCall_jii=function(){return(f.dynCall_jii=f.asm.Ee).apply(null,arguments)};
f.dynCall_iiiiiiiiii=function(){return(f.dynCall_iiiiiiiiii=f.asm.Fe).apply(null,arguments)};f.dynCall_viijii=function(){return(f.dynCall_viijii=f.asm.Ge).apply(null,arguments)};f.dynCall_vijii=function(){return(f.dynCall_vijii=f.asm.He).apply(null,arguments)};f.dynCall_viifd=function(){return(f.dynCall_viifd=f.asm.Ie).apply(null,arguments)};f.dynCall_viiiiff=function(){return(f.dynCall_viiiiff=f.asm.Je).apply(null,arguments)};
f.dynCall_viiiiiiiiii=function(){return(f.dynCall_viiiiiiiiii=f.asm.Ke).apply(null,arguments)};f.dynCall_vf=function(){return(f.dynCall_vf=f.asm.Le).apply(null,arguments)};f.dynCall_vffff=function(){return(f.dynCall_vffff=f.asm.Me).apply(null,arguments)};f.dynCall_iiij=function(){return(f.dynCall_iiij=f.asm.Ne).apply(null,arguments)};f.dynCall_viij=function(){return(f.dynCall_viij=f.asm.Oe).apply(null,arguments)};f.dynCall_iiiij=function(){return(f.dynCall_iiiij=f.asm.Pe).apply(null,arguments)};
f.dynCall_viiij=function(){return(f.dynCall_viiij=f.asm.Qe).apply(null,arguments)};f.dynCall_ji=function(){return(f.dynCall_ji=f.asm.Re).apply(null,arguments)};f.dynCall_fiii=function(){return(f.dynCall_fiii=f.asm.Se).apply(null,arguments)};f.dynCall_iij=function(){return(f.dynCall_iij=f.asm.Te).apply(null,arguments)};f.dynCall_vij=function(){return(f.dynCall_vij=f.asm.Ue).apply(null,arguments)};f.dynCall_iiiiiiiiiii=function(){return(f.dynCall_iiiiiiiiiii=f.asm.Ve).apply(null,arguments)};
f.dynCall_jiiii=function(){return(f.dynCall_jiiii=f.asm.We).apply(null,arguments)};f.dynCall_jiiiiii=function(){return(f.dynCall_jiiiiii=f.asm.Xe).apply(null,arguments)};f.dynCall_iijj=function(){return(f.dynCall_iijj=f.asm.Ye).apply(null,arguments)};f.dynCall_iidiiii=function(){return(f.dynCall_iidiiii=f.asm.Ze).apply(null,arguments)};f.dynCall_jiji=function(){return(f.dynCall_jiji=f.asm._e).apply(null,arguments)};f.dynCall_iiiiij=function(){return(f.dynCall_iiiiij=f.asm.$e).apply(null,arguments)};
f.dynCall_iiiiid=function(){return(f.dynCall_iiiiid=f.asm.af).apply(null,arguments)};f.dynCall_iiiiijj=function(){return(f.dynCall_iiiiijj=f.asm.bf).apply(null,arguments)};f.dynCall_iiiiiijj=function(){return(f.dynCall_iiiiiijj=f.asm.cf).apply(null,arguments)};function ee(a,b){var c=se();try{return Be(a,b)}catch(d){te(c);if(d!==d+0&&"longjmp"!==d)throw d;de(1,0)}}function fe(a,b,c){var d=se();try{return Ce(a,b,c)}catch(g){te(d);if(g!==g+0&&"longjmp"!==g)throw g;de(1,0)}}
function le(a,b,c){var d=se();try{ve(a,b,c)}catch(g){te(d);if(g!==g+0&&"longjmp"!==g)throw g;de(1,0)}}function ge(a,b,c,d){var g=se();try{return De(a,b,c,d)}catch(l){te(g);if(l!==l+0&&"longjmp"!==l)throw l;de(1,0)}}function ke(a,b){var c=se();try{ue(a,b)}catch(d){te(c);if(d!==d+0&&"longjmp"!==d)throw d;de(1,0)}}function me(a,b,c,d){var g=se();try{we(a,b,c,d)}catch(l){te(g);if(l!==l+0&&"longjmp"!==l)throw l;de(1,0)}}
function ie(a,b,c,d,g,l){var p=se();try{return Fe(a,b,c,d,g,l)}catch(r){te(p);if(r!==r+0&&"longjmp"!==r)throw r;de(1,0)}}function ne(a,b,c,d,g){var l=se();try{xe(a,b,c,d,g)}catch(p){te(l);if(p!==p+0&&"longjmp"!==p)throw p;de(1,0)}}function je(a,b,c,d,g,l,p){var r=se();try{return Ge(a,b,c,d,g,l,p)}catch(y){te(r);if(y!==y+0&&"longjmp"!==y)throw y;de(1,0)}}function oe(a,b,c,d,g,l){var p=se();try{ye(a,b,c,d,g,l)}catch(r){te(p);if(r!==r+0&&"longjmp"!==r)throw r;de(1,0)}}
function he(a,b,c,d,g){var l=se();try{return Ee(a,b,c,d,g)}catch(p){te(l);if(p!==p+0&&"longjmp"!==p)throw p;de(1,0)}}function qe(a,b,c,d,g,l,p,r,y,B){var F=se();try{Ae(a,b,c,d,g,l,p,r,y,B)}catch(L){te(F);if(L!==L+0&&"longjmp"!==L)throw L;de(1,0)}}function pe(a,b,c,d,g,l,p){var r=se();try{ze(a,b,c,d,g,l,p)}catch(y){te(r);if(y!==y+0&&"longjmp"!==y)throw y;de(1,0)}}var He;function Ga(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}
Bb=function Ie(){He||Je();He||(Bb=Ie)};
function Je(){function a(){if(!He&&(He=!0,f.calledRun=!0,!Oa)){qb(sb);qb(tb);aa(f);if(f.onRuntimeInitialized)f.onRuntimeInitialized();if(f.postRun)for("function"==typeof f.postRun&&(f.postRun=[f.postRun]);f.postRun.length;){var b=f.postRun.shift();ub.unshift(b)}qb(ub)}}if(!(0<yb)){if(f.preRun)for("function"==typeof f.preRun&&(f.preRun=[f.preRun]);f.preRun.length;)vb();qb(rb);0<yb||(f.setStatus?(f.setStatus("Running..."),setTimeout(function(){setTimeout(function(){f.setStatus("")},1);a()},1)):a())}}
f.run=Je;if(f.preInit)for("function"==typeof f.preInit&&(f.preInit=[f.preInit]);0<f.preInit.length;)f.preInit.pop()();noExitRuntime=!0;Je();
return CanvasKitInit.ready
}
);
})();
if (typeof exports === 'object' && typeof module === 'object')
module.exports = CanvasKitInit;
else if (typeof define === 'function' && define['amd'])
define([], function() { return CanvasKitInit; });
else if (typeof exports === 'object')
exports["CanvasKitInit"] = CanvasKitInit;