canvaskit-wasm
Version:
A WASM version of Skia's Canvas API
108 lines (105 loc) • 125 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 r;r||(r=typeof CanvasKitInit !== 'undefined' ? CanvasKitInit : {});var da,fa;r.ready=new Promise(function(a,b){da=a;fa=b});
(function(a){a.Sd=a.Sd||[];a.Sd.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.Od=c;return b};a.MakeCanvasSurface||(a.MakeCanvasSurface=a.MakeSWCanvasSurface);a.MakeSurface=function(b,c){var f={width:b,height:c,colorType:a.ColorType.RGBA_8888,alphaType:a.AlphaType.Unpremul,colorSpace:a.ColorSpace.SRGB},h=b*c*4,m=a._malloc(h);if(f=a.Surface._makeRasterDirect(f,
m,4*b))f.Od=null,f.Bf=b,f.yf=c,f.Af=h,f.ef=m,f.getCanvas().clear(a.TRANSPARENT);return f};a.MakeRasterDirectSurface=function(b,c,f){return a.Surface._makeRasterDirect(b,c.byteOffset,f)};a.Surface.prototype.flush=function(b){this._flush();if(this.Od){var c=new Uint8ClampedArray(a.HEAPU8.buffer,this.ef,this.Af);c=new ImageData(c,this.Bf,this.yf);b?this.Od.getContext("2d").putImageData(c,0,0,b[0],b[1],b[2]-b[0],b[3]-b[1]):this.Od.getContext("2d").putImageData(c,0,0)}};a.Surface.prototype.dispose=function(){this.ef&&
a._free(this.ef);this.delete()};a.currentContext=a.currentContext||function(){};a.setCurrentContext=a.setCurrentContext||function(){}})})(r);
(function(a){a.Sd=a.Sd||[];a.Sd.push(function(){function b(c,f,h){return c&&c.hasOwnProperty(f)?c[f]:h}a.GetWebGLContext=function(c,f){if(!c)throw"null canvas passed into makeWebGLContext";var h={alpha:b(f,"alpha",1),depth:b(f,"depth",1),stencil:b(f,"stencil",8),antialias:b(f,"antialias",0),premultipliedAlpha:b(f,"premultipliedAlpha",1),preserveDrawingBuffer:b(f,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:b(f,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:b(f,"failIfMajorPerformanceCaveat",
0),enableExtensionsByDefault:b(f,"enableExtensionsByDefault",1),explicitSwapControl:b(f,"explicitSwapControl",0),renderViaOffscreenBackBuffer:b(f,"renderViaOffscreenBackBuffer",0)};h.majorVersion=f&&f.majorVersion?f.majorVersion:"undefined"!==typeof WebGL2RenderingContext?2:1;if(h.explicitSwapControl)throw"explicitSwapControl is not supported";if(c=1<h.majorVersion?c.getContext("webgl2",h):c.getContext("webgl",h)){f=ia(ja);var m={Tf:f,attributes:h,version:h.majorVersion,Je:c};c.canvas&&(c.canvas.pf=
m);ja[f]=m;("undefined"===typeof h.Hf||h.Hf)&&la(m);h=f}else h=0;if(!h)return 0;ma(h);return h};a.deleteContext=function(c){u===ja[c]&&(u=null);"object"===typeof JSEvents&&JSEvents.Dg(ja[c].Je.canvas);ja[c]&&ja[c].Je.canvas&&(ja[c].Je.canvas.pf=void 0);ja[c]=null};a.MakeWebGLCanvasSurface=function(c,f,h){f=f||null;var m=c,q="undefined"!==typeof OffscreenCanvas&&m instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&m instanceof HTMLCanvasElement||q||(m=document.getElementById(c),
m)))throw"Canvas with id "+c+" was not found";c=this.GetWebGLContext(m,h);if(!c||0>c)throw"failed to create webgl context: err "+c;h=this.MakeGrContext(c);f=this.MakeOnScreenGLSurface(h,m.width,m.height,f);if(!f)return f=m.cloneNode(!0),m.parentNode.replaceChild(f,m),f.classList.add("ck-replaced"),a.MakeSWCanvasSurface(f);f.oe=c;f.grContext=h;f.openGLversion=m.pf.version;return f};a.MakeCanvasSurface=a.MakeWebGLCanvasSurface})})(r);
(function(a){function b(e,d,g,l,p){for(var y=0;y<e.length;y++)d[y*g+(y*p+l+g)%g]=e[y];return d}function c(e){for(var d=e*e,g=Array(d);d--;)g[d]=0===d%(e+1)?1:0;return g}function f(e){return e?e.constructor===Float32Array&&4===e.length:!1}function h(e){return(t(255*e[3])<<24|t(255*e[0])<<16|t(255*e[1])<<8|t(255*e[2])<<0)>>>0}function m(e){if(e instanceof Float32Array){for(var d=Math.floor(e.length/4),g=new Uint32Array(d),l=0;l<d;l++)g[l]=h(e.slice(4*l,4*(l+1)));return g}if(e instanceof Uint32Array)return e;
if(e instanceof Array&&e[0]instanceof Float32Array)return e.map(h)}function q(e){if(void 0===e)return 1;var d=parseFloat(e);return e&&-1!==e.indexOf("%")?d/100:d}function t(e){return Math.round(Math.max(0,Math.min(e||0,255)))}function z(e,d){d&&!d._ck&&a._free(e)}function w(e,d,g){if(!e||!e.length)return R;if(e._ck)return e.byteOffset;var l=a[d].BYTES_PER_ELEMENT;g||(g=a._malloc(e.length*l));a[d].set(e,g/l);return g}function I(e){var d={de:R,count:e.length,Qe:a.ColorType.RGBA_F32};if(e instanceof
Float32Array)d.de=w(e,"HEAPF32"),d.count=e.length/4;else if(e instanceof Uint32Array)d.de=w(e,"HEAPU32"),d.Qe=a.ColorType.RGBA_8888;else if(e instanceof Array){if(e&&e.length){for(var g=a._malloc(16*e.length),l=0,p=g/4,y=0;y<e.length;y++)for(var C=0;4>C;C++)a.HEAPF32[p+l]=e[y][C],l++;e=g}else e=R;d.de=e}else throw"Invalid argument to copyFlexibleColorArray, Not a color array "+typeof e;return d}function K(e){if(!e)return R;if(e.length){if(6===e.length||9===e.length)return w(e,"HEAPF32",Ka),6===e.length&&
a.HEAPF32.set(Jd,6+Ka/4),Ka;if(16===e.length){var d=Bb.toTypedArray();d[0]=e[0];d[1]=e[1];d[2]=e[3];d[3]=e[4];d[4]=e[5];d[5]=e[7];d[6]=e[12];d[7]=e[13];d[8]=e[15];return Ka}throw"invalid matrix size";}d=Bb.toTypedArray();d[0]=e.m11;d[1]=e.m21;d[2]=e.m41;d[3]=e.m12;d[4]=e.m22;d[5]=e.m42;d[6]=e.m14;d[7]=e.m24;d[8]=e.m44;return Ka}function Q(e){if(!e)return R;var d=hc.toTypedArray();if(e.length){if(16!==e.length&&6!==e.length&&9!==e.length)throw"invalid matrix size";if(16===e.length)return w(e,"HEAPF32",
La);d.fill(0);d[0]=e[0];d[1]=e[1];d[3]=e[2];d[4]=e[3];d[5]=e[4];d[7]=e[5];d[12]=e[6];d[13]=e[7];d[15]=e[8];6===e.length&&(d[12]=0,d[13]=0,d[15]=1);return La}d[0]=e.m11;d[1]=e.m21;d[2]=e.m31;d[3]=e.m41;d[4]=e.m12;d[5]=e.m22;d[6]=e.m32;d[7]=e.m42;d[8]=e.m13;d[9]=e.m23;d[10]=e.m33;d[11]=e.m43;d[12]=e.m14;d[13]=e.m24;d[14]=e.m34;d[15]=e.m44;return La}function A(e){for(var d=Array(16),g=0;16>g;g++)d[g]=a.HEAPF32[e/4+g];return d}function M(e,d){return w(e,"HEAPF32",d||ib)}function Y(e,d,g,l){var p=ic.toTypedArray();
p[0]=e;p[1]=d;p[2]=g;p[3]=l;return ib}function ea(e){for(var d=new Float32Array(4),g=0;4>g;g++)d[g]=a.HEAPF32[e/4+g];return d}function aa(e,d){return w(e,"HEAPF32",d||ba)}function oa(e,d){return w(e,"HEAPF32",d||jc)}function Cb(e,d){if(Oc)require("fs").writeFile(d,new Buffer(e),function(l){if(l)throw l;});else{url=window.URL.createObjectURL(new Blob([e],{type:"application/octet-stream"}));var g=document.createElement("a");document.body.appendChild(g);g.href=url;g.download=d;g.click();setTimeout(function(){URL.revokeObjectURL(url);
g.remove()},50)}}function jb(){for(var e=0,d=0;d<arguments.length-1;d+=2)e+=arguments[d]*arguments[d+1];return e}function Pc(e,d,g){for(var l=Array(e.length),p=0;p<g;p++)for(var y=0;y<g;y++){for(var C=0,J=0;J<g;J++)C+=e[g*p+J]*d[g*J+y];l[p*g+y]=C}return l}function Qc(e,d){for(var g=Pc(d[0],d[1],e),l=2;l<d.length;)g=Pc(g,d[l],e),l++;return g}a.Color=function(e,d,g,l){void 0===l&&(l=1);return a.Color4f(t(e)/255,t(d)/255,t(g)/255,l)};a.ColorAsInt=function(e,d,g,l){void 0===l&&(l=255);return(t(l)<<24|
t(e)<<16|t(d)<<8|t(g)<<0&268435455)>>>0};a.Color4f=function(e,d,g,l){void 0===l&&(l=1);return Float32Array.of(e,d,g,l)};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(e){return[Math.floor(255*e[0]),Math.floor(255*e[1]),Math.floor(255*e[2]),e[3]]};a.parseColorString=function(e,d){e=e.toLowerCase();if(e.startsWith("#")){d=
255;switch(e.length){case 9:d=parseInt(e.slice(7,9),16);case 7:var g=parseInt(e.slice(1,3),16);var l=parseInt(e.slice(3,5),16);var p=parseInt(e.slice(5,7),16);break;case 5:d=17*parseInt(e.slice(4,5),16);case 4:g=17*parseInt(e.slice(1,2),16),l=17*parseInt(e.slice(2,3),16),p=17*parseInt(e.slice(3,4),16)}return a.Color(g,l,p,d/255)}return e.startsWith("rgba")?(e=e.slice(5,-1),e=e.split(","),a.Color(+e[0],+e[1],+e[2],q(e[3]))):e.startsWith("rgb")?(e=e.slice(4,-1),e=e.split(","),a.Color(+e[0],+e[1],+e[2],
q(e[3]))):e.startsWith("gray(")||e.startsWith("hsl")||!d||(e=d[e],void 0===e)?a.BLACK:e};a.multiplyByAlpha=function(e,d){e=e.slice();e[3]=Math.max(0,Math.min(e[3]*d,1));return e};a.Malloc=function(e,d){var g=a._malloc(d*e.BYTES_PER_ELEMENT);return{_ck:!0,length:d,byteOffset:g,qe:null,subarray:function(l,p){l=this.toTypedArray().subarray(l,p);l._ck=!0;return l},toTypedArray:function(){if(this.qe&&this.qe.length)return this.qe;this.qe=new e(a.HEAPU8.buffer,g,d);this.qe._ck=!0;return this.qe}}};a.Free=
function(e){a._free(e.byteOffset);e.byteOffset=R;e.toTypedArray=null;e.qe=null};var Ka=R,Bb,La=R,hc,ib=R,ic,qa,ba=R,Rc,Ua=R,Sc,kc=R,Tc,lc=R,Uc,mc=R,Vc,jc=R,Wc,Xc=R,Jd=Float32Array.of(0,0,1),nc={};a.re=function(){this.ne=[];this.Wd=null;Object.defineProperty(this,"length",{enumerable:!0,get:function(){return this.ne.length/4}})};a.re.prototype.push=function(e,d,g,l){this.Wd||this.ne.push(e,d,g,l)};a.re.prototype.set=function(e,d,g,l,p){0>e||e>=this.ne.length/4||(e*=4,this.Wd?(e=this.Wd/4+e,a.HEAPF32[e]=
d,a.HEAPF32[e+1]=g,a.HEAPF32[e+2]=l,a.HEAPF32[e+3]=p):(this.ne[e]=d,this.ne[e+1]=g,this.ne[e+2]=l,this.ne[e+3]=p))};a.re.prototype.build=function(){return this.Wd?this.Wd:this.Wd=w(this.ne,"HEAPF32")};a.re.prototype.delete=function(){this.Wd&&(a._free(this.Wd),this.Wd=null)};a.Ke=function(){this.Pe=[];this.Wd=null;Object.defineProperty(this,"length",{enumerable:!0,get:function(){return this.Pe.length}})};a.Ke.prototype.push=function(e){this.Wd||this.Pe.push(e)};a.Ke.prototype.set=function(e,d){0>
e||e>=this.Pe.length||(e*=4,this.Wd?a.HEAPU32[this.Wd/4+e]=d:this.Pe[e]=d)};a.Ke.prototype.build=function(){return this.Wd?this.Wd:this.Wd=w(this.Pe,"HEAPU32")};a.Ke.prototype.delete=function(){this.Wd&&(a._free(this.Wd),this.Wd=null)};a.RectBuilder=a.re;a.RSXFormBuilder=a.re;a.ColorBuilder=a.Ke;var R=0,Oc=!(new Function("try {return this===window;}catch(e){ return false;}"))();a.onRuntimeInitialized=function(){function e(d,g,l,p,y,C){C||(C=4*p.width,p.colorType===a.ColorType.RGBA_F16?C*=2:p.colorType===
a.ColorType.RGBA_F32&&(C*=4));var J=C*p.height;var N=y?y.byteOffset:a._malloc(J);if(!d._readPixels(p,N,C,g,l))return y||a._free(N),null;if(y)return y.toTypedArray();switch(p.colorType){case a.ColorType.RGBA_8888:case a.ColorType.RGBA_F16:d=(new Uint8Array(a.HEAPU8.buffer,N,J)).slice();break;case a.ColorType.RGBA_F32:d=(new Float32Array(a.HEAPU8.buffer,N,J)).slice();break;default:return null}a._free(N);return d}ic=a.Malloc(Float32Array,4);ib=ic.byteOffset;hc=a.Malloc(Float32Array,16);La=hc.byteOffset;
Bb=a.Malloc(Float32Array,9);Ka=Bb.byteOffset;Vc=a.Malloc(Float32Array,12);jc=Vc.byteOffset;Wc=a.Malloc(Float32Array,12);Xc=Wc.byteOffset;qa=a.Malloc(Float32Array,4);ba=qa.byteOffset;Rc=a.Malloc(Float32Array,4);Ua=Rc.byteOffset;Sc=a.Malloc(Float32Array,3);kc=Sc.byteOffset;Tc=a.Malloc(Float32Array,3);lc=Tc.byteOffset;Uc=a.Malloc(Int32Array,4);mc=Uc.byteOffset;a.ColorSpace.SRGB=a.ColorSpace._MakeSRGB();a.ColorSpace.DISPLAY_P3=a.ColorSpace._MakeDisplayP3();a.ColorSpace.ADOBE_RGB=a.ColorSpace._MakeAdobeRGB();
a.Path.MakeFromCmds=function(d){for(var g=0,l=0;l<d.length;l++)g+=d[l].length;if(nc[g])var p=nc[g];else p=new Float32Array(g),nc[g]=p;var y=0;for(l=0;l<d.length;l++)for(var C=0;C<d[l].length;C++)p[y]=d[l][C],y++;d=[w(p,"HEAPF32"),g];g=a.Path._MakeFromCmds(d[0],d[1]);a._free(d[0]);return g};a.Path.MakeFromVerbsPointsWeights=function(d,g,l){var p=w(d,"HEAPU8"),y=w(g,"HEAPF32"),C=w(l,"HEAPF32"),J=a.Path._MakeFromVerbsPointsWeights(p,d.length,y,g.length,C,l&&l.length||0);z(p,d);z(y,g);z(C,l);return J};
a.Path.prototype.addArc=function(d,g,l){d=aa(d);this._addArc(d,g,l);return this};a.Path.prototype.addOval=function(d,g,l){void 0===l&&(l=1);d=aa(d);this._addOval(d,!!g,l);return this};a.Path.prototype.addPath=function(){var d=Array.prototype.slice.call(arguments),g=d[0],l=!1;"boolean"===typeof d[d.length-1]&&(l=d.pop());if(1===d.length)this._addPath(g,1,0,0,0,1,0,0,0,1,l);else if(2===d.length)d=d[1],this._addPath(g,d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1,l);else if(7===d.length||10===
d.length)this._addPath(g,d[1],d[2],d[3],d[4],d[5],d[6],d[7]||0,d[8]||0,d[9]||1,l);else return null;return this};a.Path.prototype.addPoly=function(d,g){var l=w(d,"HEAPF32");this._addPoly(l,d.length/2,g);z(l,d);return this};a.Path.prototype.addRect=function(d,g){d=aa(d);this._addRect(d,!!g);return this};a.Path.prototype.addRRect=function(d,g){d=oa(d);this._addRRect(d,!!g);return this};a.Path.prototype.addVerbsPointsWeights=function(d,g,l){var p=w(d,"HEAPU8"),y=w(g,"HEAPF32"),C=w(l,"HEAPF32");this._addVerbsPointsWeights(p,
d.length,y,g.length,C,l&&l.length||0);z(p,d);z(y,g);z(C,l)};a.Path.prototype.arc=function(d,g,l,p,y,C){d=a.LTRBRect(d-l,g-l,d+l,g+l);y=(y-p)/Math.PI*180-360*!!C;C=new a.Path;C.addArc(d,p/Math.PI*180,y);this.addPath(C,!0);C.delete();return this};a.Path.prototype.arcToOval=function(d,g,l,p){d=aa(d);this._arcToOval(d,g,l,p);return this};a.Path.prototype.arcToRotated=function(d,g,l,p,y,C,J){this._arcToRotated(d,g,l,!!p,!!y,C,J);return this};a.Path.prototype.arcToTangent=function(d,g,l,p,y){this._arcToTangent(d,
g,l,p,y);return this};a.Path.prototype.close=function(){this._close();return this};a.Path.prototype.conicTo=function(d,g,l,p,y){this._conicTo(d,g,l,p,y);return this};a.Path.prototype.computeTightBounds=function(d){this._computeTightBounds(ba);var g=qa.toTypedArray();return d?(d.set(g),d):g.slice()};a.Path.prototype.cubicTo=function(d,g,l,p,y,C){this._cubicTo(d,g,l,p,y,C);return this};a.Path.prototype.dash=function(d,g,l){return this._dash(d,g,l)?this:null};a.Path.prototype.getBounds=function(d){this._getBounds(ba);
var g=qa.toTypedArray();return d?(d.set(g),d):g.slice()};a.Path.prototype.lineTo=function(d,g){this._lineTo(d,g);return this};a.Path.prototype.moveTo=function(d,g){this._moveTo(d,g);return this};a.Path.prototype.offset=function(d,g){this._transform(1,0,d,0,1,g,0,0,1);return this};a.Path.prototype.quadTo=function(d,g,l,p){this._quadTo(d,g,l,p);return this};a.Path.prototype.rArcTo=function(d,g,l,p,y,C,J){this._rArcTo(d,g,l,p,y,C,J);return this};a.Path.prototype.rConicTo=function(d,g,l,p,y){this._rConicTo(d,
g,l,p,y);return this};a.Path.prototype.rCubicTo=function(d,g,l,p,y,C){this._rCubicTo(d,g,l,p,y,C);return this};a.Path.prototype.rLineTo=function(d,g){this._rLineTo(d,g);return this};a.Path.prototype.rMoveTo=function(d,g){this._rMoveTo(d,g);return this};a.Path.prototype.rQuadTo=function(d,g,l,p){this._rQuadTo(d,g,l,p);return this};a.Path.prototype.stroke=function(d){d=d||{};d.width=d.width||1;d.miter_limit=d.miter_limit||4;d.cap=d.cap||a.StrokeCap.Butt;d.join=d.join||a.StrokeJoin.Miter;d.precision=
d.precision||1;return this._stroke(d)?this:null};a.Path.prototype.transform=function(){if(1===arguments.length){var d=arguments[0];this._transform(d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1)}else if(6===arguments.length||9===arguments.length)d=arguments,this._transform(d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1);else throw"transform expected to take 1 or 9 arguments. Got "+arguments.length;return this};a.Path.prototype.trim=function(d,g,l){return this._trim(d,g,!!l)?this:null};
a.Image.prototype.makeShaderCubic=function(d,g,l,p,y){y=K(y);return this._makeShaderCubic(d,g,l,p,y)};a.Image.prototype.makeShaderOptions=function(d,g,l,p,y){y=K(y);return this._makeShaderOptions(d,g,l,p,y)};a.Image.prototype.readPixels=function(d,g,l,p,y){return e(this,d,g,l,p,y)};a.Canvas.prototype.clear=function(d){d=M(d);this._clear(d)};a.Canvas.prototype.clipRRect=function(d,g,l){d=oa(d);this._clipRRect(d,g,l)};a.Canvas.prototype.clipRect=function(d,g,l){d=aa(d);this._clipRect(d,g,l)};a.Canvas.prototype.concat=
function(d){d=Q(d);this._concat(d)};a.Canvas.prototype.drawArc=function(d,g,l,p,y){d=aa(d);this._drawArc(d,g,l,p,y)};a.Canvas.prototype.drawAtlas=function(d,g,l,p,y,C){if(d&&p&&g&&l&&g.length===l.length){y||(y=a.BlendMode.SrcOver);var J;g.build?J=g.build():J=w(g,"HEAPF32");if(l.build){var N=l.build();var O=l.length}else N=w(l,"HEAPF32"),O=l.length/4;var S=R;C&&(C.build?S=C.build():S=w(m(C),"HEAPU32"));this._drawAtlas(d,N,J,S,O,y,p);J&&!g.build&&z(J,g);N&&!l.build&&z(N,l);S&&!C.build&&z(S,C)}};a.Canvas.prototype.drawColor=
function(d,g){d=M(d);void 0!==g?this._drawColor(d,g):this._drawColor(d)};a.Canvas.prototype.drawColorComponents=function(d,g,l,p,y){d=Y(d,g,l,p);void 0!==y?this._drawColor(d,y):this._drawColor(d)};a.Canvas.prototype.drawDRRect=function(d,g,l){d=oa(d,jc);g=oa(g,Xc);this._drawDRRect(d,g,l)};a.Canvas.prototype.drawImageNine=function(d,g,l,p,y){g=w(g,"HEAP32",mc);l=aa(l);this._drawImageNine(d,g,l,p,y||null)};a.Canvas.prototype.drawImageRect=function(d,g,l,p,y){aa(g,ba);aa(l,Ua);this._drawImageRect(d,
ba,Ua,p,!!y)};a.Canvas.prototype.drawImageRectCubic=function(d,g,l,p,y,C){aa(g,ba);aa(l,Ua);this._drawImageRectCubic(d,ba,Ua,p,y,C||null)};a.Canvas.prototype.drawImageRectOptions=function(d,g,l,p,y,C){aa(g,ba);aa(l,Ua);this._drawImageRectOptions(d,ba,Ua,p,y,C||null)};a.Canvas.prototype.drawOval=function(d,g){d=aa(d);this._drawOval(d,g)};a.Canvas.prototype.drawPoints=function(d,g,l){var p=w(g,"HEAPF32");this._drawPoints(d,p,g.length/2,l);z(p,g)};a.Canvas.prototype.drawRRect=function(d,g){d=oa(d);this._drawRRect(d,
g)};a.Canvas.prototype.drawRect=function(d,g){d=aa(d);this._drawRect(d,g)};a.Canvas.prototype.drawShadow=function(d,g,l,p,y,C,J){var N=w(y,"HEAPF32"),O=w(C,"HEAPF32");g=w(g,"HEAPF32",kc);l=w(l,"HEAPF32",lc);this._drawShadow(d,g,l,p,N,O,J);z(N,y);z(O,C)};a.getShadowLocalBounds=function(d,g,l,p,y,C,J){d=K(d);l=w(l,"HEAPF32",kc);p=w(p,"HEAPF32",lc);if(!this._getShadowLocalBounds(d,g,l,p,y,C,ba))return null;g=qa.toTypedArray();return J?(J.set(g),J):g.slice()};a.Canvas.prototype.getLocalToDevice=function(){this._getLocalToDevice(La);
return A(La)};a.Canvas.prototype.findMarkedCTM=function(d){return this._findMarkedCTM(d,La)?A(La):null};a.Canvas.prototype.getTotalMatrix=function(){this._getTotalMatrix(Ka);for(var d=Array(9),g=0;9>g;g++)d[g]=a.HEAPF32[Ka/4+g];return d};a.Canvas.prototype.readPixels=function(d,g,l,p,y){return e(this,d,g,l,p,y)};a.Canvas.prototype.saveLayer=function(d,g,l,p){g=aa(g);return this._saveLayer(d||null,g,l||null,p||0)};a.Canvas.prototype.writePixels=function(d,g,l,p,y,C,J,N){if(d.byteLength%(g*l))throw"pixels length must be a multiple of the srcWidth * srcHeight";
var O=d.byteLength/(g*l);C=C||a.AlphaType.Unpremul;J=J||a.ColorType.RGBA_8888;N=N||a.ColorSpace.SRGB;var S=O*g;O=w(d,"HEAPU8");g=this._writePixels({width:g,height:l,colorType:J,alphaType:C,colorSpace:N},O,S,p,y);z(O,d);return g};a.ColorFilter.MakeBlend=function(d,g){d=M(d);return a.ColorFilter._MakeBlend(d,g)};a.ColorFilter.MakeMatrix=function(d){if(!d||20!==d.length)throw"invalid color matrix";var g=w(d,"HEAPF32"),l=a.ColorFilter._makeMatrix(g);z(g,d);return l};a.ContourMeasure.prototype.getPosTan=
function(d,g){this._getPosTan(d,ba);d=qa.toTypedArray();return g?(g.set(d),g):d.slice()};a.ImageFilter.MakeMatrixTransform=function(d,g,l){d=K(d);return a.ImageFilter._MakeMatrixTransform(d,g,l)};a.Paint.prototype.getColor=function(){this._getColor(ib);return ea(ib)};a.Paint.prototype.setColor=function(d,g){g=g||null;d=M(d);this._setColor(d,g)};a.Paint.prototype.setColorComponents=function(d,g,l,p,y){y=y||null;d=Y(d,g,l,p);this._setColor(d,y)};a.Path.prototype.getPoint=function(d,g){this._getPoint(d,
ba);d=qa.toTypedArray();return g?(g[0]=d[0],g[1]=d[1],g):d.slice(0,2)};a.PictureRecorder.prototype.beginRecording=function(d){d=aa(d);return this._beginRecording(d)};a.Surface.prototype.makeImageSnapshot=function(d){d=w(d,"HEAP32",mc);return this._makeImageSnapshot(d)};a.Surface.prototype.requestAnimationFrame=function(d,g){this.Le||(this.Le=this.getCanvas());requestAnimationFrame(function(){void 0!==this.oe&&a.setCurrentContext(this.oe);d(this.Le);this.flush(g)}.bind(this))};a.Surface.prototype.drawOnce=
function(d,g){this.Le||(this.Le=this.getCanvas());requestAnimationFrame(function(){void 0!==this.oe&&a.setCurrentContext(this.oe);d(this.Le);this.flush(g);this.dispose()}.bind(this))};a.PathEffect.MakeDash=function(d,g){g||(g=0);if(!d.length||1===d.length%2)throw"Intervals array must have even length";var l=w(d,"HEAPF32");g=a.PathEffect._MakeDash(l,d.length,g);z(l,d);return g};a.Shader.MakeColor=function(d,g){g=g||null;d=M(d);return a.Shader._MakeColor(d,g)};a.Shader.Blend=a.Shader.MakeBlend;a.Shader.Color=
a.Shader.MakeColor;a.Shader.Lerp=a.Shader.MakeLerp;a.Shader.MakeLinearGradient=function(d,g,l,p,y,C,J,N){N=N||null;var O=I(l),S=w(p,"HEAPF32");J=J||0;C=K(C);var v=qa.toTypedArray();v.set(d);v.set(g,2);d=a.Shader._MakeLinearGradient(ba,O.de,O.Qe,S,O.count,y,J,C,N);z(O.de,l);p&&z(S,p);return d};a.Shader.MakeRadialGradient=function(d,g,l,p,y,C,J,N){N=N||null;var O=I(l),S=w(p,"HEAPF32");J=J||0;C=K(C);d=a.Shader._MakeRadialGradient(d[0],d[1],g,O.de,O.Qe,S,O.count,y,J,C,N);z(O.de,l);p&&z(S,p);return d};
a.Shader.MakeSweepGradient=function(d,g,l,p,y,C,J,N,O,S){S=S||null;var v=I(l),H=w(p,"HEAPF32");J=J||0;N=N||0;O=O||360;C=K(C);d=a.Shader._MakeSweepGradient(d,g,v.de,v.Qe,H,v.count,y,N,O,J,C,S);z(v.de,l);p&&z(H,p);return d};a.Shader.MakeTwoPointConicalGradient=function(d,g,l,p,y,C,J,N,O,S){S=S||null;var v=I(y),H=w(C,"HEAPF32");O=O||0;N=K(N);var T=qa.toTypedArray();T.set(d);T.set(l,2);d=a.Shader._MakeTwoPointConicalGradient(ba,g,p,v.de,v.Qe,H,v.count,J,O,N,S);z(v.de,y);C&&z(H,C);return d};a.Vertices.prototype.bounds=
function(d){this._bounds(ba);var g=qa.toTypedArray();return d?(d.set(g),d):g.slice()};a.Sd&&a.Sd.forEach(function(d){d()})};a.computeTonalColors=function(e){var d=w(e.ambient,"HEAPF32"),g=w(e.spot,"HEAPF32");this._computeTonalColors(d,g);var l={ambient:ea(d),spot:ea(g)};z(d,e.ambient);z(g,e.spot);return l};a.LTRBRect=function(e,d,g,l){return Float32Array.of(e,d,g,l)};a.XYWHRect=function(e,d,g,l){return Float32Array.of(e,d,e+g,d+l)};a.LTRBiRect=function(e,d,g,l){return Int32Array.of(e,d,g,l)};a.XYWHiRect=
function(e,d,g,l){return Int32Array.of(e,d,e+g,d+l)};a.RRectXY=function(e,d,g){return Float32Array.of(e[0],e[1],e[2],e[3],d,g,d,g,d,g,d,g)};a.MakeAnimatedImageFromEncoded=function(e){e=new Uint8Array(e);var d=a._malloc(e.byteLength);a.HEAPU8.set(e,d);return(e=a._decodeAnimatedImage(d,e.byteLength))?e:null};a.MakeImageFromEncoded=function(e){e=new Uint8Array(e);var d=a._malloc(e.byteLength);a.HEAPU8.set(e,d);return(e=a._decodeImage(d,e.byteLength))?e:null};var kb=null;a.MakeImageFromCanvasImageSource=
function(e){var d=e.width,g=e.height;kb||(kb=document.createElement("canvas"));kb.width=d;kb.height=g;var l=kb.getContext("2d");l.drawImage(e,0,0);e=l.getImageData(0,0,d,g);return a.MakeImage({width:d,height:g,alphaType:a.AlphaType.Unpremul,colorType:a.ColorType.RGBA_8888,colorSpace:a.ColorSpace.SRGB},e.data,4*d)};a.MakeImage=function(e,d,g){var l=a._malloc(d.length);a.HEAPU8.set(d,l);return a._MakeImage(e,l,d.length,g)};a.MakeVertices=function(e,d,g,l,p,y){var C=p&&p.length||0,J=0;g&&g.length&&(J|=
1);l&&l.length&&(J|=2);void 0===y||y||(J|=4);e=new a._VerticesBuilder(e,d.length/2,C,J);w(d,"HEAPF32",e.positions());e.texCoords()&&w(g,"HEAPF32",e.texCoords());if(e.colors()){if(l.build)throw"Color builder not accepted by MakeVertices, use array of ints";w(m(l),"HEAPU32",e.colors())}e.indices()&&w(p,"HEAPU16",e.indices());return e.detach()};a.Matrix={};a.Matrix.identity=function(){return c(3)};a.Matrix.invert=function(e){var d=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 d?[(e[4]*e[8]-e[5]*e[7])/d,(e[2]*e[7]-e[1]*e[8])/d,(e[1]*e[5]-e[2]*e[4])/d,(e[5]*e[6]-e[3]*e[8])/d,(e[0]*e[8]-e[2]*e[6])/d,(e[2]*e[3]-e[0]*e[5])/d,(e[3]*e[7]-e[4]*e[6])/d,(e[1]*e[6]-e[0]*e[7])/d,(e[0]*e[4]-e[1]*e[3])/d]:null};a.Matrix.mapPoints=function(e,d){for(var g=0;g<d.length;g+=2){var l=d[g],p=d[g+1],y=e[6]*l+e[7]*p+e[8],C=e[3]*l+e[4]*p+e[5];d[g]=(e[0]*l+e[1]*p+e[2])/y;d[g+1]=C/y}return d};a.Matrix.multiply=function(){return Qc(3,arguments)};a.Matrix.rotated=function(e,
d,g){d=d||0;g=g||0;var l=Math.sin(e);e=Math.cos(e);return[e,-l,jb(l,g,1-e,d),l,e,jb(-l,d,1-e,g),0,0,1]};a.Matrix.scaled=function(e,d,g,l){g=g||0;l=l||0;var p=b([e,d],c(3),3,0,1);return b([g-e*g,l-d*l],p,3,2,0)};a.Matrix.skewed=function(e,d,g,l){g=g||0;l=l||0;var p=b([e,d],c(3),3,1,-1);return b([-e*g,-d*l],p,3,2,0)};a.Matrix.translated=function(e,d){return b(arguments,c(3),3,2,0)};a.Vector={};a.Vector.dot=function(e,d){return e.map(function(g,l){return g*d[l]}).reduce(function(g,l){return g+l})};a.Vector.lengthSquared=
function(e){return a.Vector.dot(e,e)};a.Vector.length=function(e){return Math.sqrt(a.Vector.lengthSquared(e))};a.Vector.mulScalar=function(e,d){return e.map(function(g){return g*d})};a.Vector.add=function(e,d){return e.map(function(g,l){return g+d[l]})};a.Vector.sub=function(e,d){return e.map(function(g,l){return g-d[l]})};a.Vector.dist=function(e,d){return a.Vector.length(a.Vector.sub(e,d))};a.Vector.normalize=function(e){return a.Vector.mulScalar(e,1/a.Vector.length(e))};a.Vector.cross=function(e,
d){return[e[1]*d[2]-e[2]*d[1],e[2]*d[0]-e[0]*d[2],e[0]*d[1]-e[1]*d[0]]};a.M44={};a.M44.identity=function(){return c(4)};a.M44.translated=function(e){return b(e,c(4),4,3,0)};a.M44.scaled=function(e){return b(e,c(4),4,0,1)};a.M44.rotated=function(e,d){return a.M44.rotatedUnitSinCos(a.Vector.normalize(e),Math.sin(d),Math.cos(d))};a.M44.rotatedUnitSinCos=function(e,d,g){var l=e[0],p=e[1];e=e[2];var y=1-g;return[y*l*l+g,y*l*p-d*e,y*l*e+d*p,0,y*l*p+d*e,y*p*p+g,y*p*e-d*l,0,y*l*e-d*p,y*p*e+d*l,y*e*e+g,0,
0,0,0,1]};a.M44.lookat=function(e,d,g){d=a.Vector.normalize(a.Vector.sub(d,e));g=a.Vector.normalize(g);g=a.Vector.normalize(a.Vector.cross(d,g));var l=a.M44.identity();b(g,l,4,0,0);b(a.Vector.cross(g,d),l,4,1,0);b(a.Vector.mulScalar(d,-1),l,4,2,0);b(e,l,4,3,0);e=a.M44.invert(l);return null===e?a.M44.identity():e};a.M44.perspective=function(e,d,g){var l=1/(d-e);g/=2;g=Math.cos(g)/Math.sin(g);return[g,0,0,0,0,g,0,0,0,0,(d+e)*l,2*d*e*l,0,0,-1,1]};a.M44.rc=function(e,d,g){return e[4*d+g]};a.M44.multiply=
function(){return Qc(4,arguments)};a.M44.invert=function(e){var d=e[0],g=e[4],l=e[8],p=e[12],y=e[1],C=e[5],J=e[9],N=e[13],O=e[2],S=e[6],v=e[10],H=e[14],T=e[3],ca=e[7],ra=e[11];e=e[15];var wa=d*C-g*y,xa=d*J-l*y,ka=d*N-p*y,F=g*J-l*C,k=g*N-p*C,n=l*N-p*J,x=O*ca-S*T,B=O*ra-v*T,D=O*e-H*T,E=S*ra-v*ca,L=S*e-H*ca,Z=v*e-H*ra,pa=wa*Z-xa*L+ka*E+F*D-k*B+n*x,ha=1/pa;if(0===pa||Infinity===ha)return null;wa*=ha;xa*=ha;ka*=ha;F*=ha;k*=ha;n*=ha;x*=ha;B*=ha;D*=ha;E*=ha;L*=ha;Z*=ha;d=[C*Z-J*L+N*E,J*D-y*Z-N*B,y*L-C*D+
N*x,C*B-y*E-J*x,l*L-g*Z-p*E,d*Z-l*D+p*B,g*D-d*L-p*x,d*E-g*B+l*x,ca*n-ra*k+e*F,ra*ka-T*n-e*xa,T*k-ca*ka+e*wa,ca*xa-T*F-ra*wa,v*k-S*n-H*F,O*n-v*ka+H*xa,S*ka-O*k-H*wa,O*F-S*xa+v*wa];return d.every(function(Fa){return!isNaN(Fa)&&Infinity!==Fa&&-Infinity!==Fa})?d:null};a.M44.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.M44.mustInvert=function(e){e=a.M44.invert(e);if(null===e)throw"Matrix not invertible";return e};a.M44.setupCamera=
function(e,d,g){var l=a.M44.lookat(g.eye,g.coa,g.up);g=a.M44.perspective(g.near,g.far,g.angle);d=[(e[2]-e[0])/2,(e[3]-e[1])/2,d];e=a.M44.multiply(a.M44.translated([(e[0]+e[2])/2,(e[1]+e[3])/2,0]),a.M44.scaled(d));return a.M44.multiply(e,g,l,a.M44.mustInvert(e))};a.ColorMatrix={};a.ColorMatrix.identity=function(){var e=new Float32Array(20);e[0]=1;e[6]=1;e[12]=1;e[18]=1;return e};a.ColorMatrix.scaled=function(e,d,g,l){var p=new Float32Array(20);p[0]=e;p[6]=d;p[12]=g;p[18]=l;return p};var Kd=[[6,7,11,
12],[0,10,2,12],[0,1,5,6]];a.ColorMatrix.rotated=function(e,d,g){var l=a.ColorMatrix.identity();e=Kd[e];l[e[0]]=g;l[e[1]]=d;l[e[2]]=-d;l[e[3]]=g;return l};a.ColorMatrix.postTranslate=function(e,d,g,l,p){e[4]+=d;e[9]+=g;e[14]+=l;e[19]+=p;return e};a.ColorMatrix.concat=function(e,d){for(var g=new Float32Array(20),l=0,p=0;20>p;p+=5){for(var y=0;4>y;y++)g[l++]=e[p]*d[y]+e[p+1]*d[y+5]+e[p+2]*d[y+10]+e[p+3]*d[y+15];g[l++]=e[p]*d[4]+e[p+1]*d[9]+e[p+2]*d[14]+e[p+3]*d[19]+e[p+4]}return g};(function(e){e.Sd=
e.Sd||[];e.Sd.push(function(){function d(v){if(!v||!v.length)return[];for(var H=[],T=0;T<v.length;T+=5){var ca=e.LTRBRect(v[T],v[T+1],v[T+2],v[T+3]);ca.direction=0===v[T+4]?e.TextDirection.RTL:e.TextDirection.LTR;H.push(ca)}e._free(v.byteOffset);return H}function g(v){v=v||{};void 0===v.weight&&(v.weight=e.FontWeight.Normal);v.width=v.width||e.FontWidth.Normal;v.slant=v.slant||e.FontSlant.Upright;return v}function l(v){if(!v||!v.length)return R;for(var H=[],T=0;T<v.length;T++){var ca=p(v[T]);H.push(ca)}return w(H,
"HEAPU32")}function p(v){if(J[v])return J[v];var H=na(v)+1,T=e._malloc(H);sa(v,G,T,H);return J[v]=T}function y(v){v._colorPtr=M(v.color);v._foregroundColorPtr=R;v._backgroundColorPtr=R;v._decorationColorPtr=R;v.foregroundColor&&(v._foregroundColorPtr=M(v.foregroundColor,N));v.backgroundColor&&(v._backgroundColorPtr=M(v.backgroundColor,O));v.decorationColor&&(v._decorationColorPtr=M(v.decorationColor,S));Array.isArray(v.fontFamilies)&&v.fontFamilies.length?(v._fontFamiliesPtr=l(v.fontFamilies),v._fontFamiliesLen=
v.fontFamilies.length):(v._fontFamiliesPtr=R,v._fontFamiliesLen=0)}function C(v){e._free(v._fontFamiliesPtr)}e.Paragraph.prototype.getRectsForRange=function(v,H,T,ca){v=this._getRectsForRange(v,H,T,ca);return d(v)};e.Paragraph.prototype.getRectsForPlaceholders=function(){var v=this._getRectsForPlaceholders();return d(v)};e.TypefaceFontProvider.prototype.registerFont=function(v,H){v=e.FontMgr.RefDefault().MakeTypefaceFromData(v);if(!v)return null;H=p(H);this._registerFont(v,H)};e.ParagraphStyle=function(v){v.disableHinting=
v.disableHinting||!1;if(v.ellipsis){var H=v.ellipsis;v._ellipsisPtr=p(H);v._ellipsisLen=na(H)+1}else v._ellipsisPtr=R,v._ellipsisLen=0;v.heightMultiplier=v.heightMultiplier||0;v.maxLines=v.maxLines||0;v.textAlign=v.textAlign||e.TextAlign.Start;v.textDirection=v.textDirection||e.TextDirection.LTR;v.textStyle=e.TextStyle(v.textStyle);H=(H=v.strutStyle)||{};H.strutEnabled=H.strutEnabled||!1;H.strutEnabled&&Array.isArray(H.fontFamilies)&&H.fontFamilies.length?(H._fontFamiliesPtr=l(H.fontFamilies),H._fontFamiliesLen=
H.fontFamilies.length):(H._fontFamiliesPtr=R,H._fontFamiliesLen=0);H.fontStyle=g(H.fontStyle);H.fontSize=H.fontSize||0;H.heightMultiplier=H.heightMultiplier||0;H.leading=H.leading||0;H.forceStrutHeight=H.forceStrutHeight||!1;v.strutStyle=H;return v};e.TextStyle=function(v){v.color||(v.color=e.BLACK);v.decoration=v.decoration||0;v.decorationThickness=v.decorationThickness||0;v.decorationStyle=v.decorationStyle||e.DecorationStyle.Solid;v.textBaseline=v.textBaseline||e.TextBaseline.Alphabetic;v.fontSize=
v.fontSize||0;v.letterSpacing=v.letterSpacing||0;v.wordSpacing=v.wordSpacing||0;v.heightMultiplier=v.heightMultiplier||0;if(v.locale){var H=v.locale;v._localePtr=p(H);v._localeLen=na(H)+1}else v._localePtr=R,v._localeLen=0;v.fontStyle=g(v.fontStyle);if(v.shadows){H=v.shadows;var T=H.map(function(F){return F.color||e.BLACK}),ca=H.map(function(F){return F.blurRadius||0});v._shadowLen=H.length;for(var ra=e._malloc(2*H.length,"HEAPF32"),wa=ra/4,xa=0;xa<H.length;xa++){var ka=H[xa].offset||[0,0];e.HEAPF32[wa]=
ka[0];e.HEAPF32[wa+1]=ka[1];wa+=2}v._shadowColorsPtr=I(T).de;v._shadowOffsetsPtr=ra;v._shadowBlurRadiiPtr=w(ca,"HEAPF32")}else v._shadowLen=0,v._shadowColorsPtr=R,v._shadowOffsetsPtr=R,v._shadowBlurRadiiPtr=R;v.fontFeatures?(H=v.fontFeatures,T=H.map(function(F){return F.name}),ca=H.map(function(F){return F.value}),v._fontFeatureLen=H.length,v._fontFeatureNamesPtr=l(T),v._fontFeatureValuesPtr=w(ca,"HEAPU32")):(v._fontFeatureLen=0,v._fontFeatureNamesPtr=R,v._fontFeatureValuesPtr=R);return v};var J=
{},N=e._malloc(16),O=e._malloc(16),S=e._malloc(16);e.ParagraphBuilder.Make=function(v,H){y(v.textStyle);H=e.ParagraphBuilder._Make(v,H);C(v.textStyle);return H};e.ParagraphBuilder.MakeFromFontProvider=function(v,H){y(v.textStyle);H=e.ParagraphBuilder._MakeFromFontProvider(v,H);C(v.textStyle);return H};e.ParagraphBuilder.prototype.pushStyle=function(v){y(v);this._pushStyle(v);C(v)};e.ParagraphBuilder.prototype.pushPaintStyle=function(v,H,T){y(v);this._pushPaintStyle(v,H,T);C(v)};e.ParagraphBuilder.prototype.addPlaceholder=
function(v,H,T,ca,ra){T=T||e.PlaceholderAlignment.Baseline;ca=ca||e.TextBaseline.Alphabetic;this._addPlaceholder(v||0,H||0,T,ca,ra||0)}})})(r);a.MakeManagedAnimation=function(e,d,g,l,p){if(!a._MakeManagedAnimation)throw"Not compiled with MakeManagedAnimation";g||(g="");if(!d)return a._MakeManagedAnimation(e,0,R,R,R,g,l,p);for(var y=[],C=[],J=[],N=Object.keys(d||{}),O=0;O<N.length;O++){var S=N[O],v=new Uint8Array(d[S]),H=a._malloc(v.byteLength);a.HEAPU8.set(v,H);C.push(H);J.push(v.byteLength);v=na(S)+
1;H=a._malloc(v);sa(S,G,H,v);y.push(H)}d=w(y,"HEAPU32");C=w(C,"HEAPU32");J=w(J,"HEAPU32");e=a._MakeManagedAnimation(e,N.length,d,C,J,g,l,p);a._free(d);a._free(C);a._free(J);return e};(function(e){e.Sd=e.Sd||[];e.Sd.push(function(){e.Animation.prototype.render=function(d,g){aa(g,ba);this._render(d,ba)};e.Animation.prototype.size=function(d){this._size(ba);var g=qa.toTypedArray();return d?(d[0]=g[0],d[1]=g[1],d):g.slice(0,2)};e.ManagedAnimation&&(e.ManagedAnimation.prototype.render=function(d,g){aa(g,
ba);this._render(d,ba)},e.ManagedAnimation.prototype.seek=function(d,g){this._seek(d,ba);d=qa.toTypedArray();return g?(g.set(d),g):d.slice()},e.ManagedAnimation.prototype.seekFrame=function(d,g){this._seekFrame(d,ba);d=qa.toTypedArray();return g?(g.set(d),g):d.slice()},e.ManagedAnimation.prototype.setColor=function(d,g){g=M(g);this._setColor(d,g)},e.ManagedAnimation.prototype.size=function(d){this._size(ba);var g=qa.toTypedArray();return d?(d[0]=g[0],d[1]=g[1],d):g.slice(0,2)})})})(r);a.MakeParticles=
function(e,d){if(!a._MakeParticles)throw"Not compiled with MakeParticles";if(!d)return a._MakeParticles(e,0,R,R,R);for(var g=[],l=[],p=[],y=Object.keys(d||{}),C=0;C<y.length;C++){var J=y[C],N=new Uint8Array(d[J]),O=a._malloc(N.byteLength);a.HEAPU8.set(N,O);l.push(O);p.push(N.byteLength);N=na(J)+1;O=a._malloc(N);sa(J,G,O,N);g.push(O)}d=w(g,"HEAPU32");l=w(l,"HEAPU32");p=w(p,"HEAPU32");e=a._MakeParticles(e,y.length,d,l,p);a._free(d);a._free(l);a._free(p);return e};a.Sd=a.Sd||[];a.Sd.push(function(){a.ParticleEffect.prototype.uniforms=
function(){var e=this._uniformPtr(),d=this.getUniformFloatCount();return!e||0>=d?new Float32Array:new Float32Array(a.HEAPU8.buffer,e,d)};a.ParticleEffect.prototype.setPosition=function(e){this._setPosition(e[0],e[1])}});a.Sd=a.Sd||[];a.Sd.push(function(){a.Path.prototype.op=function(e,d){return this._op(e,d)?this:null};a.Path.prototype.simplify=function(){return this._simplify()?this:null}});a.Sd=a.Sd||[];a.Sd.push(function(){a.Canvas.prototype.drawText=function(e,d,g,l,p){var y=na(e),C=a._malloc(y+
1);sa(e,G,C,y+1);this._drawSimpleText(C,y,d,g,p,l);a._free(C)};a.Font.prototype.getGlyphBounds=function(e,d,g){var l=w(e,"HEAPU16"),p=a._malloc(16*e.length);this._getGlyphWidthBounds(l,e.length,R,p,d||null);d=new Float32Array(a.HEAPU8.buffer,p,4*e.length);z(l,e);if(g)return g.set(d),a._free(p),g;e=Float32Array.from(d);a._free(p);return e};a.Font.prototype.getGlyphIDs=function(e,d,g){d||(d=e.length);var l=na(e)+1,p=a._malloc(l);sa(e,G,p,l);e=a._malloc(2*d);d=this._getGlyphIDs(p,l-1,d,e);a._free(p);
if(0>d)return a._free(e),null;p=new Uint16Array(a.HEAPU8.buffer,e,d);if(g)return g.set(p),a._free(e),g;g=Uint32Array.from(p);a._free(e);return g};a.Font.prototype.getGlyphWidths=function(e,d,g){var l=w(e,"HEAPU16"),p=a._malloc(4*e.length);this._getGlyphWidthBounds(l,e.length,p,R,d||null);d=new Float32Array(a.HEAPU8.buffer,p,e.length);z(l,e);if(g)return g.set(d),a._free(p),g;e=Float32Array.from(d);a._free(p);return e};a.FontMgr.FromData=function(){if(!arguments.length)return null;var e=arguments;1===
e.length&&Array.isArray(e[0])&&(e=arguments[0]);if(!e.length)return null;for(var d=[],g=[],l=0;l<e.length;l++){var p=new Uint8Array(e[l]),y=w(p,"HEAPU8");d.push(y);g.push(p.byteLength)}d=w(d,"HEAPU32");g=w(g,"HEAPU32");e=a.FontMgr._fromData(d,g,e.length);a._free(d);a._free(g);return e};a.FontMgr.prototype.MakeTypefaceFromData=function(e){e=new Uint8Array(e);var d=w(e,"HEAPU8");return(e=this._makeTypefaceFromData(d,e.byteLength))?e:null};a.TextBlob.MakeOnPath=function(e,d,g,l){if(e&&e.length&&d&&d.countPoints()){if(1===
d.countPoints())return this.MakeFromText(e,g);l||(l=0);var p=g.getGlyphIDs(e),y=g.getGlyphWidths(p);p=new a.RSXFormBuilder;d=new a.ContourMeasureIter(d,!1,1);for(var C=d.next(),J=new Float32Array(4),N=0;N<e.length&&C;N++){var O=y[N];l+=O/2;if(l>C.length()){C.delete();C=d.next();if(!C){e=e.substring(0,N);break}l=O/2}C.getPosTan(l,J);var S=J[2],v=J[3];p.push(S,v,J[0]-O/2*S,J[1]-O/2*v);l+=O/2}e=this.MakeFromRSXform(e,p,g);p.delete();C&&C.delete();d.delete();return e}};a.TextBlob.MakeFromRSXform=function(e,
d,g){var l=na(e)+1,p=a._malloc(l);sa(e,G,p,l);e=R;d.build?e=d.build():e=w(d,"HEAPF32");d=a.TextBlob._MakeFromRSXform(p,l-1,e,g);a._free(p);return d?d:null};a.TextBlob.MakeFromRSXformGlyphs=function(e,d,g){var l=w(e,"HEAPU16"),p=R;d.build?p=d.build():p=w(d,"HEAPF32");d=a.TextBlob._MakeFromRSXformGlyphs(l,2*e.length,p,g);z(l,e);return d?d:null};a.TextBlob.MakeFromGlyphs=function(e,d){var g=w(e,"HEAPU16");d=a.TextBlob._MakeFromGlyphs(g,2*e.length,d);z(g,e);return d?d:null};a.TextBlob.MakeFromText=function(e,
d){var g=na(e)+1,l=a._malloc(g);sa(e,G,l,g);e=a.TextBlob._MakeFromText(l,g-1,d);a._free(l);return e?e:null};a.MallocGlyphIDs=function(e){return a.Malloc(Uint16Array,e)}});a.Sd=a.Sd||[];a.Sd.push(function(){a.MakePicture=function(e){e=new Uint8Array(e);var d=a._malloc(e.byteLength);a.HEAPU8.set(e,d);return(e=a._MakePicture(d,e.byteLength))?e:null};a.Picture.prototype.saveAsFile=function(e){var d=this.serialize();d&&Cb(d,e)}});a.Sd=a.Sd||[];a.Sd.push(function(){a.RuntimeEffect.Make=function(e,d){return a.RuntimeEffect._Make(e,
{onError:d||function(g){console.log("RuntimeEffect error",g)}})};a.RuntimeEffect.prototype.makeShader=function(e,d,g){var l=w(e,"HEAPF32");g=K(g);return this._makeShader(l,4*e.length,!!d,g)};a.RuntimeEffect.prototype.makeShaderWithChildren=function(e,d,g,l){var p=w(e,"HEAPF32");l=K(l);for(var y=[],C=0;C<g.length;C++)y.push(g[C].Nd.Rd);g=w(y,"HEAPU32");return this._makeShaderWithChildren(p,4*e.length,!!d,g,y.length,l)}});(function(){function e(F){for(var k=0;k<F.length;k++)if(void 0!==F[k]&&!Number.isFinite(F[k]))return!1;
return!0}function d(F){var k=a.getColorComponents(F);F=k[0];var n=k[1],x=k[2];k=k[3];if(1===k)return F=F.toString(16).toLowerCase(),n=n.toString(16).toLowerCase(),x=x.toString(16).toLowerCase(),F=1===F.length?"0"+F:F,n=1===n.length?"0"+n:n,x=1===x.length?"0"+x:x,"#"+F+n+x;k=0===k||1===k?k:k.toFixed(8);return"rgba("+F+", "+n+", "+x+", "+k+")"}function g(F){return a.parseColorString(F,wa)}function l(F){F=xa.exec(F);if(!F)return null;var k=parseFloat(F[4]),n=16;switch(F[5]){case "em":case "rem":n=16*
k;break;case "pt":n=4*k/3;break;case "px":n=k;break;case "pc":n=16*k;break;case "in":n=96*k;break;case "cm":n=96*k/2.54;break;case "mm":n=96/25.4*k;break;case "q":n=96/25.4/4*k;break;case "%":n=16/75*k}return{style:F[1],variant:F[2],weight:F[3],sizePx:n,family:F[6].trim()}}function p(F){this.Od=F;this.Qd=new a.Paint;this.Qd.setAntiAlias(!0);this.Qd.setStrokeMiter(10);this.Qd.setStrokeCap(a.StrokeCap.Butt);this.Qd.setStrokeJoin(a.StrokeJoin.Miter);this.Xe="10px monospace";this.ue=new a.Font(null,10);
this.ue.setSubpixel(!0);this.ce=this.ie=a.BLACK;this.xe=0;this.Ne=a.TRANSPARENT;this.ze=this.ye=0;this.Oe=this.ke=1;this.Me=0;this.we=[];this.Pd=a.BlendMode.SrcOver;this.Qd.setStrokeWidth(this.Oe);this.Qd.setBlendMode(this.Pd);this.Ud=new a.Path;this.Vd=a.Matrix.identity();this.qf=[];this.De=[];this.me=function(){this.Ud.delete();this.Qd.delete();this.ue.delete();this.De.forEach(function(k){k.me()})};Object.defineProperty(this,"currentTransform",{enumerable:!0,get:function(){return{a:this.Vd[0],c:this.Vd[1],
e:this.Vd[2],b:this.Vd[3],d:this.Vd[4],f:this.Vd[5]}},set:function(k){k.a&&this.setTransform(k.a,k.b,k.c,k.d,k.e,k.f)}});Object.defineProperty(this,"fillStyle",{enumerable:!0,get:function(){return f(this.ce)?d(this.ce):this.ce},set:function(k){"string"===typeof k?this.ce=g(k):k.ve&&(this.ce=k)}});Object.defineProperty(this,"font",{enumerable:!0,get:function(){return this.Xe},set:function(k){var n=l(k),x=n.family;n.typeface=ka[x]?ka[x][(n.style||"normal")+"|"+(n.variant||"normal")+"|"+(n.weight||"normal")]||
ka[x]["*"]:null;n&&(this.ue.setSize(n.sizePx),this.ue.setTypeface(n.typeface),this.Xe=k)}});Object.defineProperty(this,"globalAlpha",{enumerable:!0,get:function(){return this.ke},set:function(k){!isFinite(k)||0>k||1<k||(this.ke=k)}});Object.defineProperty(this,"globalCompositeOperation",{enumerable:!0,get:function(){switch(this.Pd){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(k){switch(k){case "source-over":this.Pd=a.BlendMode.SrcOver;break;case "destination-over":this.Pd=a.BlendMode.DstOver;break;case "copy":this.Pd=a.BlendMode.Src;break;case "destination":this.Pd=a.BlendMode.Dst;break;case "clear":this.Pd=a.BlendMode.Clear;break;case "source-in":this.Pd=a.BlendMode.SrcIn;break;case "destination-in":this.Pd=a.BlendMode.DstIn;break;case "source-out":this.Pd=a.BlendMode.SrcOut;break;case "destination-out":this.Pd=a.BlendMode.DstOut;break;case "source-atop":this.Pd=
a.BlendMode.SrcATop;break;case "destination-atop":this.Pd=a.BlendMode.DstATop;break;case "xor":this.Pd=a.BlendMode.Xor;break;case "lighter":this.Pd=a.BlendMode.Plus;break;case "plus-lighter":this.Pd=a.BlendMode.Plus;break;case "plus-darker":throw"plus-darker is not supported";case "multiply":this.Pd=a.BlendMode.Multiply;break;case "screen":this.Pd=a.BlendMode.Screen;break;case "overlay":this.Pd=a.BlendMode.Overlay;break;case "darken":this.Pd=a.BlendMode.Darken;break;case "lighten":this.Pd=a.BlendMode.Lighten;
break;case "color-dodge":this.Pd=a.BlendMode.ColorDodge;break;case "color-burn":this.Pd=a.BlendMode.ColorBurn;break;case "hard-light":this.Pd=a.BlendMode.HardLight;break;case "soft-light":this.Pd=a.BlendMode.SoftLight;break;case "difference":this.Pd=a.BlendMode.Difference;break;case "exclusion":this.Pd=a.BlendMode.Exclusion;break;case "hue":this.Pd=a.BlendMode.Hue;break;case "saturation":this.Pd=a.BlendMode.Saturation;break;case "color":this.Pd=a.BlendMode.Color;break;case "luminosity":this.Pd=a.BlendMode.Luminosity;
break;default:return}this.Qd.setBlendMode(this.Pd)}});Object.defineProperty(this,"imageSmoothingEnabled",{enumerable:!0,get:function(){return!0},set:function(){}});Object.defineProperty(this,"imageSmoothingQuality",{enumerable:!0,get:function(){return"high"},set:function(){}});Object.defineProperty(this,"lineCap",{enumerable:!0,get:function(){switch(this.Qd.getStrokeCap()){case a.StrokeCap.Butt:return"butt";case a.StrokeCap.Round:return"round";case a.StrokeCap.Square:return"square"}},set:function(k){switch(k){case "butt":this.Qd.setStrokeCap(a.StrokeCap.Butt);
break;case "round":this.Qd.setStrokeCap(a.StrokeCap.Round);break;case "square":this.Qd.setStrokeCap(a.StrokeCap.Square)}}});Object.defineProperty(this,"lineDashOffset",{enumerable:!0,get:function(){return this.Me},set:function(k){isFinite(k)&&(this.Me=k)}});Object.defineProperty(this,"lineJoin",{enumerable:!0,get:function(){switch(this.Qd.getStrokeJoin()){case a.StrokeJoin.Miter:return"miter";case a.StrokeJoin.Round:return"round";case a.StrokeJoin.Bevel:return"bevel"}},set:function(k){switch(k){case "miter":this.Qd.setStrokeJoin(a.StrokeJoin.Miter);
break;case "round":this.Qd.setStrokeJoin(a.StrokeJoin.Round);break;case "bevel":this.Qd.setStrokeJoin(a.StrokeJoin.Bevel)}}});Object.defineProperty(this,"lineWidth",{enumerable:!0,get:function(){return this.Qd.getStrokeWidth()},set:function(k){0>=k||!k||(this.Oe=k,this.Qd.setStrokeWidth(k))}});Object.defineProperty(this,"miterLimit",{enumerable:!0,get:function(){return this.Qd.getStrokeMiter()},set:function(k){0>=k||!k||this.Qd.setStrokeMiter(k)}});Object.defineProperty(this,"shadowBlur",{enumerable:!0,
get:function(){return this.xe},set:function(k){0>k||!isFinite(k)||(this.xe=k)}});Object.defineProperty(this,"shadowColor",{enumerable:!0,get:function(){return d(this.Ne)},set:function(k){this.Ne=g(k)}});Object.defineProperty(this,"shadowOffsetX",{enumerable:!0,get:function(){return this.ye},set:function(k){isFinite(k)&&(this.ye=k)}});Object.defineProperty(this,"shadowOffsetY",{enumerable:!0,get:function(){return this.ze},set:function(k){isFinite(k)&&(this.ze=k)}});Object.defineProperty(this,"strokeStyle",
{enumerable:!0,get:function(){return d(this.ie)},set:function(k){"string"===typeof k?this.ie=g(k):k.ve&&(this.ie=k)}});this.arc=function(k,n,x,B,D,E){v(this.Ud,k,n,x,x,0,B,D,E)};this.arcTo=function(k,n,x,B,D){N(this.Ud,k,n,x,B,D)};this.beginPath=function(){this.Ud.delete();this.Ud=new a.Path};this.bezierCurveTo=function(k,n,x,B,D,E){var L=this.Ud;e([k,n,x,B,D,E])&&(L.isEmpty()&&L.moveTo(k,n),L.cubicTo(k,n,x,B,D,E))};this.clearRect=function(k,n,x,B){this.Qd.setStyle(a.PaintStyle.Fill);this.Qd.setBlendMode(a.BlendMode.Clear);
this.Od.drawRect(a.XYWHRect(k,n,x,B),this.Qd);this.Qd.setBlendMode(this.Pd)};this.clip=function(k,n){"string"===typeof k?(n=k,k=this.Ud):k&&k.df&&(k=k.Xd);k||(k=this.Ud);k=k.copy();n&&"evenodd"===n.toLowerCase()?k.setFillType(a.FillType.EvenOdd):k.setFillType(a.FillType.Winding);this.Od.clipPath(k,a.ClipOp.Intersect,!0);k.delete()};this.closePath=function(){O(this.Ud)};this.createImageData=function(){if(1===arguments.length){var k=arguments[0];return new C(new Uint8ClampedArray(4*k.width*k.height),
k.width,k.height)}if(2===arguments.length){k=arguments[0];var n=arguments[1];return new C(new Uint8ClampedArray(4*k*n),k,n)}throw"createImageData expects 1 or 2 arguments, got "+arguments.length;};this.createLinearGradient=function(k,n,x,B){if(e(arguments)){var D=new J(k,n,x,B);this.De.push(D);return D}};this.createPattern=function(k,n){k=new ca(k,n);this.De.push(k);return k};this.createRadialGradient=function(k,n,x,B,D,E){if(e(arguments)){var L=new ra(k,n,x,B,D,E);this.De.push(L);return L}};this.drawImage=
function(k){var n=this.We();if(3===arguments.length||5===arguments.length)var x=a.XYWHRect(arguments[1],arguments[2],arguments[3]||k.width(),arguments[4]||k.height()),B=a.XYWHRect(0,0,k.width(),k.height());else if(9===arguments.length)x=a.XYWHRect(arguments[5],arguments[6],arguments[7],arguments[8]),B=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.Od.drawImageRect(k,B,x,n,!1);n.dispose()};
this.ellipse=function(k,n,x,B,D,E,L,Z){v(this.Ud,k,n,x,B,D,E,L,Z)};this.We=function(){var k=this.Qd.copy();k.setStyle(a.PaintStyle.Fill);if(f(this.ce)){var n=a.multiplyByAlpha(this.ce,this.ke);k.setColor(n)}else n=this.ce.ve(this.Vd),k.setColor(a.Color(0,0,0,this.ke)),k.setShader(n);k.dispose=function(){this.delete()};return k};this.fill=function(k,n){"string"===typeof k?(n=k,k=this.Ud):k&&k.df&&(k=k.Xd);if("evenodd"===n)this.Ud.setFillType(a.FillType.EvenOdd);else{if("nonzero"!==n&&n)throw"invalid fill rule";
this.Ud.setFillType(a.FillType.Winding)}k||(k=this.Ud);n=this.We();var x=this.Ae(n);x&&(this.Od.save(),this.se(),this.Od.drawPath(k,x),this.Od.restore(),x.dispose());this.Od.drawPath(k,n);n.dispose()};this.fillRect=function(k,n,x,B){var D=this.We(),E=this.Ae(D);E&&(this.Od.save(),this.se(),this.Od.drawRect(a.XYWHRect(k,n,x,B),E),this.Od.restore(),E.dispose());this.Od.drawRect(a.XYWHRect(k,n,x,B),D);D.dispose()};this.fillText=function(k,n,x){var B=this.We();k=a.TextBlob.MakeFromText(k,this.ue);var D=
this.Ae(B);D&&(this.Od.save(),this.se(),this.Od.drawTextBlob(k,n,x,D),this.Od.restore(),D.dispose());this.Od.drawTextBlob(k,n,x,B);k.delete();B.dispose()};this.getImageData=function(k,n,x,B){return(k=this.Od.readPixels(k,n,{width:x,height:B,colorType:a.ColorType.RGBA_8888,alphaType:a.AlphaType.Unpremul,colorSpace:a.ColorSpace.SRGB}))?new C(new Uint8ClampedArray(k.buffer),x,B):null};this.getLineDash=function(){return this.we.slice()};this.rf=function(k){var n=a.Matrix.invert(this.Vd);a.Matrix.mapPoints(n,
k);return k};this.isPointInPath=function(k,n,x){var B=arguments;if(3===B.length)var D=this.Ud;else if(4===B.length)D=B[0],k=B[1],n=B[2],x=B[3];else throw"invalid arg count, need 3 or 4, got "+B.length;if(!isFinite(k