@rive-app/canvas-advanced-lite 2.42.2 → 2.43.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,99 +1,100 @@
1
- var Rive=(()=>{var _scriptName=globalThis.document?.currentScript?.src;return async function(moduleArg={}){var moduleRtn;var h=moduleArg,ba=!!globalThis.window,ca=!!globalThis.WorkerGlobalScope;
2
- function fa(){function b(g){const f=d;c=a=0;d=new Map;f.forEach(m=>{try{m(g)}catch(n){console.error(n)}});this.rb();e&&e.Qb()}let a=0,c=0,d=new Map,e=null,k=null;this.requestAnimationFrame=function(g){a||=requestAnimationFrame(b.bind(this));const f=++c;d.set(f,g);return f};this.cancelAnimationFrame=function(g){d.delete(g);a&&0==d.size&&(cancelAnimationFrame(a),a=0)};this.Ob=function(g){k&&(document.body.remove(k),k=null);g||(k=document.createElement("div"),k.style.backgroundColor="black",k.style.position=
3
- "fixed",k.style.right=0,k.style.top=0,k.style.color="white",k.style.padding="4px",k.innerHTML="RIVE FPS",g=function(f){k.innerHTML="RIVE FPS "+f.toFixed(1)},document.body.appendChild(k));e=new function(){let f=0,m=0;this.Qb=function(){var n=performance.now();m?(++f,n-=m,1E3<n&&(g(1E3*f/n),f=m=0)):(m=n,f=0)}}};this.Lb=function(){k&&(document.body.remove(k),k=null);e=null};this.rb=function(){}}
4
- function ia(b){console.assert(!0);const a=new Map;let c=-Infinity;this.push=function(d){d=d+((1<<b)-1)>>b;a.has(d)&&clearTimeout(a.get(d));a.set(d,setTimeout(function(){a.delete(d);0==a.length?c=-Infinity:d==c&&(c=Math.max(...a.keys()),console.assert(c<d))},1E3));c=Math.max(d,c);return c<<b}}const ja=h.onRuntimeInitialized;
5
- h.onRuntimeInitialized=function(){ja&&ja();let b=h.decodeAudio;h.decodeAudio=function(g,f,m=null){g=b(g,m??null);f(g)};let a=h.decodeFont;h.decodeFont=function(g,f,m=null){g=a(g,m??null);f(g)};const c=h.FileAsset.prototype.decode;h.FileAsset.prototype.decode=function(g,f){return c.call(this,g,f??null)};let d=h.setFallbackFontCb;h.setFallbackFontCallback="function"===typeof d?function(g){d(g)}:function(){console.warn("Module.setFallbackFontCallback called, but text support is not enabled in this build.")};
6
- const e=h.FileAssetLoader;h.ptrToAsset=g=>{let f=h.ptrToFileAsset(g);return f.isImage?h.ptrToImageAsset(g):f.isFont?h.ptrToFontAsset(g):f.isAudio?h.ptrToAudioAsset(g):f};h.CustomFileAssetLoader=e.extend("CustomFileAssetLoader",{__construct:function({loadContents:g}){this.__parent.__construct.call(this);this.Fb=g},loadContents:function(g,f){g=h.ptrToAsset(g);return this.Fb(g,f)}});h.CDNFileAssetLoader=e.extend("CDNFileAssetLoader",{__construct:function(g){this.__parent.__construct.call(this);this.Gb=
7
- g??null},loadContents:function(g){let f=h.ptrToAsset(g);g=f.cdnUuid;if(""===g)return!1;const m=this.Gb??null;(function(n,r){var w=new XMLHttpRequest;w.responseType="arraybuffer";w.onreadystatechange=function(){4==w.readyState&&200==w.status&&r(w)};w.open("GET",n,!0);w.send(null)})(f.cdnBaseUrl+"/"+g,n=>{f.decode(new Uint8Array(n.response),m)});return!0}});h.FallbackFileAssetLoader=e.extend("FallbackFileAssetLoader",{__construct:function(){this.__parent.__construct.call(this);this.qb=[]},addLoader:function(g){this.qb.push(g)},
8
- loadContents:function(g,f){for(let m of this.qb)if(m.loadContents(g,f))return!0;return!1}});let k=h.computeAlignment;h.computeAlignment=function(g,f,m,n,r=1){return k.call(this,g,f,m,n,r)}};
1
+ var Rive=(()=>{var _scriptName=globalThis.document?.currentScript?.src;return async function(moduleArg={}){var moduleRtn;var h=moduleArg,aa=!!globalThis.window,ca=!!globalThis.WorkerGlobalScope;
2
+ function da(){function b(g){const f=d;c=a=0;d=new Map;f.forEach(m=>{try{m(g)}catch(n){console.error(n)}});this.Ja();e&&e.ib()}let a=0,c=0,d=new Map,e=null,k=null;this.requestAnimationFrame=function(g){a||=requestAnimationFrame(b.bind(this));const f=++c;d.set(f,g);return f};this.cancelAnimationFrame=function(g){d.delete(g);a&&0==d.size&&(cancelAnimationFrame(a),a=0)};this.gb=function(g){k&&(document.body.remove(k),k=null);g||(k=document.createElement("div"),k.style.backgroundColor="black",k.style.position=
3
+ "fixed",k.style.right=0,k.style.top=0,k.style.color="white",k.style.padding="4px",k.innerHTML="RIVE FPS",g=function(f){k.innerHTML="RIVE FPS "+f.toFixed(1)},document.body.appendChild(k));e=new function(){let f=0,m=0;this.ib=function(){var n=performance.now();m?(++f,n-=m,1E3<n&&(g(1E3*f/n),f=m=0)):(m=n,f=0)}}};this.cb=function(){k&&(document.body.remove(k),k=null);e=null};this.Ja=function(){}}
4
+ function ea(b){console.assert(!0);const a=new Map;let c=-Infinity;this.push=function(d){d=d+((1<<b)-1)>>b;a.has(d)&&clearTimeout(a.get(d));a.set(d,setTimeout(function(){a.delete(d);0==a.length?c=-Infinity:d==c&&(c=Math.max(...a.keys()),console.assert(c<d))},1E3));c=Math.max(d,c);return c<<b}}const ia=h.onRuntimeInitialized;
5
+ h.onRuntimeInitialized=function(){ia&&ia();let b=h.decodeAudio;h.decodeAudio=function(g,f,m=null){g=b(g,m??null);f(g)};let a=h.decodeFont;h.decodeFont=function(g,f,m=null){g=a(g,m??null);f(g)};const c=h.FileAsset.prototype.decode;h.FileAsset.prototype.decode=function(g,f){return c.call(this,g,f??null)};let d=h.setFallbackFontCb;h.setFallbackFontCallback="function"===typeof d?function(g){d(g)}:function(){console.warn("Module.setFallbackFontCallback called, but text support is not enabled in this build.")};
6
+ const e=h.FileAssetLoader;h.ptrToAsset=g=>{let f=h.ptrToFileAsset(g);return f.isImage?h.ptrToImageAsset(g):f.isFont?h.ptrToFontAsset(g):f.isAudio?h.ptrToAudioAsset(g):f};h.CustomFileAssetLoader=e.extend("CustomFileAssetLoader",{__construct:function({loadContents:g}){this.__parent.__construct.call(this);this.Xa=g},loadContents:function(g,f){g=h.ptrToAsset(g);return this.Xa(g,f)}});h.CDNFileAssetLoader=e.extend("CDNFileAssetLoader",{__construct:function(g){this.__parent.__construct.call(this);this.Ya=
7
+ g??null},loadContents:function(g){let f=h.ptrToAsset(g);g=f.cdnUuid;if(""===g)return!1;const m=this.Ya??null;(function(n,r){var w=new XMLHttpRequest;w.responseType="arraybuffer";w.onreadystatechange=function(){4==w.readyState&&200==w.status&&r(w)};w.open("GET",n,!0);w.send(null)})(f.cdnBaseUrl+"/"+g,n=>{f.decode(new Uint8Array(n.response),m)});return!0}});h.FallbackFileAssetLoader=e.extend("FallbackFileAssetLoader",{__construct:function(){this.__parent.__construct.call(this);this.Ia=[]},addLoader:function(g){this.Ia.push(g)},
8
+ loadContents:function(g,f){for(let m of this.Ia)if(m.loadContents(g,f))return!0;return!1}});let k=h.computeAlignment;h.computeAlignment=function(g,f,m,n,r=1){return k.call(this,g,f,m,n,r)}};
9
9
  const ka="createConicGradient createImageData createLinearGradient createPattern createRadialGradient getContextAttributes getImageData getLineDash getTransform isContextLost isPointInPath isPointInStroke measureText".split(" "),la=new function(){function b(){if(!a){var v=document.createElement("canvas"),x={alpha:1,depth:0,stencil:0,antialias:0,premultipliedAlpha:1,preserveDrawingBuffer:0,powerPreference:"high-performance",failIfMajorPerformanceCaveat:0,enableExtensionsByDefault:1,explicitSwapControl:1,
10
10
  renderViaOffscreenBackBuffer:1};let q;if(/iPhone|iPad|iPod/i.test(navigator.userAgent)){if(q=v.getContext("webgl",x),c=1,!q)return console.log("No WebGL support. Image mesh will not be drawn."),!1}else if(q=v.getContext("webgl2",x))c=2;else if(q=v.getContext("webgl",x))c=1;else return console.log("No WebGL support. Image mesh will not be drawn."),!1;q=new Proxy(q,{get(I,u){if(I.isContextLost()){if(m||(console.error("Cannot render the mesh because the GL Context was lost. Tried to invoke ",u),m=!0),
11
11
  "function"===typeof I[u])return function(){}}else return"function"===typeof I[u]?function(...J){return I[u].apply(I,J)}:I[u]},set(I,u,J){if(I.isContextLost())m||(console.error("Cannot render the mesh because the GL Context was lost. Tried to set property "+u),m=!0);else return I[u]=J,!0}});d=Math.min(q.getParameter(q.MAX_RENDERBUFFER_SIZE),q.getParameter(q.MAX_TEXTURE_SIZE));function L(I,u,J){u=q.createShader(u);q.shaderSource(u,J);q.compileShader(u);J=q.getShaderInfoLog(u);if(0<(J||"").length)throw J;
12
12
  q.attachShader(I,u)}v=q.createProgram();L(v,q.VERTEX_SHADER,"attribute vec2 vertex;\n attribute vec2 uv;\n uniform vec4 mat;\n uniform vec2 translate;\n varying vec2 st;\n void main() {\n st = uv;\n gl_Position = vec4(mat2(mat) * vertex + translate, 0, 1);\n }");L(v,q.FRAGMENT_SHADER,"precision highp float;\n uniform sampler2D image;\n varying vec2 st;\n void main() {\n gl_FragColor = texture2D(image, st);\n }");
13
13
  q.bindAttribLocation(v,0,"vertex");q.bindAttribLocation(v,1,"uv");q.linkProgram(v);x=q.getProgramInfoLog(v);if(0<(x||"").trim().length)throw x;e=q.getUniformLocation(v,"mat");k=q.getUniformLocation(v,"translate");q.useProgram(v);q.bindBuffer(q.ARRAY_BUFFER,q.createBuffer());q.enableVertexAttribArray(0);q.enableVertexAttribArray(1);q.bindBuffer(q.ELEMENT_ARRAY_BUFFER,q.createBuffer());q.uniform1i(q.getUniformLocation(v,"image"),0);q.pixelStorei(q.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);a=q}return!0}let a=
14
- null,c=0,d=0,e=null,k=null,g=0,f=0,m=!1;b();this.Zb=function(){b();return d};this.Kb=function(v){a&&a.deleteTexture&&a.deleteTexture(v)};this.Jb=function(v){if(!b())return null;const x=a.createTexture();if(!x)return null;a.bindTexture(a.TEXTURE_2D,x);a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,v);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR);2==
15
- c?(a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR_MIPMAP_LINEAR),a.generateMipmap(a.TEXTURE_2D)):a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR);return x};const n=new ia(8),r=new ia(8),w=new ia(10),z=new ia(10);this.Nb=function(v,x,q,L,I){if(b()){var u=n.push(v),J=r.push(x);if(a.canvas){if(a.canvas.width!=u||a.canvas.height!=J)a.canvas.width=u,a.canvas.height=J;a.viewport(0,J-x,v,x);a.disable(a.SCISSOR_TEST);a.clearColor(0,0,0,0);a.clear(a.COLOR_BUFFER_BIT);a.enable(a.SCISSOR_TEST);
16
- q.sort((E,aa)=>aa.vb-E.vb);u=w.push(L);g!=u&&(a.bufferData(a.ARRAY_BUFFER,8*u,a.DYNAMIC_DRAW),g=u);u=0;for(var K of q)a.bufferSubData(a.ARRAY_BUFFER,u,K.ab),u+=4*K.ab.length;console.assert(u==4*L);for(var R of q)a.bufferSubData(a.ARRAY_BUFFER,u,R.yb),u+=4*R.yb.length;console.assert(u==8*L);u=z.push(I);f!=u&&(a.bufferData(a.ELEMENT_ARRAY_BUFFER,2*u,a.DYNAMIC_DRAW),f=u);K=0;for(var X of q)a.bufferSubData(a.ELEMENT_ARRAY_BUFFER,K,X.indices),K+=2*X.indices.length;console.assert(K==2*I);X=0;R=!0;u=K=0;
17
- for(const E of q){E.image.Va!=X&&(a.bindTexture(a.TEXTURE_2D,E.image.Ta||null),X=E.image.Va);E.bc?(a.scissor(E.ib,J-E.jb-E.pb,E.jc,E.pb),R=!0):R&&(a.scissor(0,J-x,v,x),R=!1);q=2/v;const aa=-2/x;a.uniform4f(e,E.wa[0]*q*E.La,E.wa[1]*aa*E.Ma,E.wa[2]*q*E.La,E.wa[3]*aa*E.Ma);a.uniform2f(k,E.wa[4]*q*E.La+q*(E.ib-E.$b*E.La)-1,E.wa[5]*aa*E.Ma+aa*(E.jb-E.ac*E.Ma)+1);a.vertexAttribPointer(0,2,a.FLOAT,!1,0,u);a.vertexAttribPointer(1,2,a.FLOAT,!1,0,u+4*L);a.drawElements(a.TRIANGLES,E.indices.length,a.UNSIGNED_SHORT,
18
- K);u+=4*E.ab.length;K+=2*E.indices.length}console.assert(u==4*L);console.assert(K==2*I)}}};this.canvas=function(){return b()&&a.canvas}},ma=h.onRuntimeInitialized;
19
- h.onRuntimeInitialized=function(){function b(l){switch(l){case n.srcOver:return"source-over";case n.screen:return"screen";case n.overlay:return"overlay";case n.darken:return"darken";case n.lighten:return"lighten";case n.colorDodge:return"color-dodge";case n.colorBurn:return"color-burn";case n.hardLight:return"hard-light";case n.softLight:return"soft-light";case n.difference:return"difference";case n.exclusion:return"exclusion";case n.multiply:return"multiply";case n.hue:return"hue";case n.saturation:return"saturation";
20
- case n.color:return"color";case n.luminosity:return"luminosity"}}function a(l){return"rgba("+((16711680&l)>>>16)+","+((65280&l)>>>8)+","+((255&l)>>>0)+","+((4278190080&l)>>>24)/255+")"}function c(){0<R.length&&(la.Nb(K.drawWidth(),K.drawHeight(),R,X,E),R=[],E=X=0,K.reset(512,512));for(const l of u){for(const p of l.na)p();l.na=[]}u.clear()}ma&&ma();var d=h.RenderPaintStyle;const e=h.RenderPath,k=h.RenderPaint,g=h.Renderer,f=h.StrokeCap,m=h.StrokeJoin,n=h.BlendMode,r=d.fill,w=d.stroke,z=h.FillRule.evenOdd;
21
- let v=1;var x=h.RenderImage.extend("CanvasRenderImage",{__construct:function({Ba:l,Ka:p}={}){this.__parent.__construct.call(this);this.Va=v;v=v+1&2147483647||1;this.Ba=l;this.Ka=p},__destruct:function(){this.Ta&&(la.Kb(this.Ta),URL.revokeObjectURL(this.gb));this.__parent.__destruct.call(this)},decode:function(l){var p=this;p.Ka&&p.Ka(p);var A=new Image;p.gb=URL.createObjectURL(new Blob([l],{type:"image/png"}));A.onload=function(){p.Eb=A;p.Ta=la.Jb(A);p.size(A.width,A.height);p.Ba&&p.Ba(p)};A.src=
22
- p.gb}});class q{constructor(){this.Da=this.Ha=0;this.sa=new Path2D}clear(){this.Da=this.Ha=0;this.sa=new Path2D}Hb(l){for(0<this.Ha&&this.Da<l.length&&this.clear();this.Da<l.length;)l[this.Da++](this.sa);this.Ha++;return this.sa}release(l){l===this.sa&&this.Ha--}}var L=e.extend("CanvasRenderPath",{__construct:function(){this.__parent.__construct.call(this);this.Ra=[];this.sa=new q;this.Qa=!1;this.za=null},rewind:function(){this.Ra.length=0;this.sa.clear();this.Qa=!1;this.za=null},addPath:function(l,
23
- p,A,t,G,B,C){const y=l.Ab();this.ya(F=>{const H=new DOMMatrix;H.a=p;H.b=A;H.c=t;H.d=G;H.e=B;H.f=C;F.addPath(y,H)})},fillRule:function(l){this.fb=l},moveTo:function(l,p){this.Qa=!0;const A={kb:!0};this.za=A;this.ya(t=>{t.moveTo(l,p);A.kb&&t.lineTo(l,p)})},lineTo:function(l,p){this.eb();this.Oa();this.ya(A=>{A.lineTo(l,p)})},cubicTo:function(l,p,A,t,G,B){this.eb();this.Oa();this.ya(C=>{C.bezierCurveTo(l,p,A,t,G,B)})},close:function(){this.Oa();this.ya(l=>{l.closePath()})},eb:function(){this.Qa||this.moveTo(0,
24
- 0)},Oa:function(){null!==this.za&&(this.za.kb=!1,this.za=null)},ya:function(l){this.Ra.push(l)},Na:function(){return this.sa.Hb(this.Ra)},hb:function(l){this.sa.release(l)},Ab:function(){const l=this.Na();this.sa.clear();return l}}),I=k.extend("CanvasRenderPaint",{__construct:function(){this.__parent.__construct.call(this);this.la=[];this.Pa=0;this.Sa=r;this.Wa=a(4278190080);this.Ua=1;this.Ga="miter";this.Fa="butt";this.bb=b(n.srcOver);this.va=null},color:function(l){this.la.push(()=>{this.Wa=a(l)})},
25
- thickness:function(l){this.la.push(()=>{this.Ua=Math.abs(l)})},join:function(l){this.la.push(()=>{switch(l){case m.miter:this.Ga="miter";break;case m.round:this.Ga="round";break;case m.bevel:this.Ga="bevel"}})},cap:function(l){this.la.push(()=>{switch(l){case f.butt:this.Fa="butt";break;case f.round:this.Fa="round";break;case f.square:this.Fa="square"}})},style:function(l){this.la.push(()=>{this.Sa=l})},blendMode:function(l){this.la.push(()=>{this.bb=b(l)})},clearGradient:function(){this.la.push(()=>
26
- {this.va=null})},linearGradient:function(l,p,A,t){this.la.push(()=>{this.va={wb:l,xb:p,mb:A,nb:t,$a:[]}})},radialGradient:function(l,p,A,t){this.la.push(()=>{this.va={wb:l,xb:p,mb:A,nb:t,$a:[],Xb:!0}})},addStop:function(l,p){this.la.push(()=>{this.va.$a.push({color:l,stop:p})})},completeGradient:function(){},Bb:function(l,p,A,t){if(this.Sa!==w||0<this.Ua){var G=this.Sa,B=this.Wa,C=this.va,y=l.globalCompositeOperation,F=l.globalAlpha;l.globalCompositeOperation=this.bb;l.globalAlpha=t;if(null!=C){B=
27
- C.wb;const O=C.xb,Q=C.mb;var H=C.nb;t=C.$a;C.Xb?(C=Q-B,H-=O,B=l.createRadialGradient(B,O,0,B,O,Math.sqrt(C*C+H*H))):B=l.createLinearGradient(B,O,Q,H);for(let S=0,Aa=t.length;S<Aa;S++)C=t[S],B.addColorStop(C.stop,a(C.color));this.Wa=B;this.va=null}switch(G){case w:l.strokeStyle=B;l.lineWidth=this.Ua;l.lineCap=this.Fa;l.lineJoin=this.Ga;l.stroke(p);break;case r:l.fillStyle=B,l.fill(p,A)}l.globalCompositeOperation=y;l.globalAlpha=F}},Db:function(){return this.Pa+this.la.length},Cb:function(l){const p=
28
- l-this.Pa;for(let A=0;A<p;A++)this.la[A]();this.la.splice(0,p);this.Pa=l}});const u=new Set,J=Object.prototype.hasOwnProperty;let K=null,R=[],X=0,E=0;var aa=h.CanvasRenderer=g.extend("Renderer",{__construct:function(l){this.__parent.__construct.call(this);this.ra=[1,0,0,1,0,0];this.ja=[1];this.ha=l.getContext("2d");this.cb=l;this.na=[]},save:function(){this.ra.push(...this.ra.slice(this.ra.length-6));this.ja.push(this.ja[this.ja.length-1]);this.na.push(this.ha.save.bind(this.ha))},restore:function(){const l=
29
- this.ra.length-6;if(6>l)throw"restore() called without matching save().";this.ra.splice(l);this.ja.pop();this.na.push(this.ha.restore.bind(this.ha))},transform:function(l,p,A,t,G,B){const C=this.ra,y=C.length-6;C.splice(y,6,C[y]*l+C[y+2]*p,C[y+1]*l+C[y+3]*p,C[y]*A+C[y+2]*t,C[y+1]*A+C[y+3]*t,C[y]*G+C[y+2]*B+C[y+4],C[y+1]*G+C[y+3]*B+C[y+5]);this.na.push(this.ha.transform.bind(this.ha,l,p,A,t,G,B))},rotate:function(l){const p=Math.sin(l);l=Math.cos(l);this.transform(l,p,-p,l,0,0)},modulateOpacity:function(l){this.ja[this.ja.length-
30
- 1]*=l},_drawPath:function(l,p){const A=l.fb===z?"evenodd":"nonzero",t=Math.max(0,this.ja[this.ja.length-1]),G=l.Na(),B=p.Db();this.na.push(()=>{p.Cb(B);p.Bb(this.ha,G,A,t);l.hb(G)})},_drawRiveImage:function(l,p,A){var t=l.Eb;if(t){var G=this.ha,B=b(p),C=Math.max(0,A*this.ja[this.ja.length-1]);this.na.push(function(){G.globalCompositeOperation=B;G.globalAlpha=C;G.drawImage(t,0,0);G.globalAlpha=1})}},_getMatrix:function(l){const p=this.ra,A=p.length-6;for(let t=0;6>t;++t)l[t]=p[A+t]},_drawImageMesh:function(l,
31
- p,A,t,G,B,C,y,F,H,O,Q,S){let Aa,ob,pb;try{Aa=h.HEAPF32.slice(t>>2,(t>>2)+G),ob=h.HEAPF32.slice(B>>2,(B>>2)+C),pb=h.HEAPU16.slice(y>>1,(y>>1)+F)}catch(Ra){console.error("[Rive] _drawImageMesh: failed to read mesh data from WASM heap. Mesh skipped for this frame.");return}t=this.ha.canvas.width;B=this.ha.canvas.height;C=Q-H;y=S-O;H=Math.max(H,0);O=Math.max(O,0);Q=Math.min(Q,t);S=Math.min(S,B);const pa=Q-H,qa=S-O;console.assert(pa<=Math.min(C,t));console.assert(qa<=Math.min(y,B));if(!(0>=pa||0>=qa)){Q=
32
- pa<C||qa<y;t=S=1;var da=Math.ceil(pa*S),ea=Math.ceil(qa*t);B=la.Zb();da>B&&(S*=B/da,da=B);ea>B&&(t*=B/ea,ea=B);K||(K=new h.DynamicRectanizer(B),K.reset(512,512));B=K.addRect(da,ea);0>B&&(c(),u.add(this),B=K.addRect(da,ea),console.assert(0<=B));var qb=B&65535,rb=B>>16;R.push({wa:this.ra.slice(this.ra.length-6),image:l,ib:qb,jb:rb,$b:H,ac:O,jc:da,pb:ea,La:S,Ma:t,ab:Aa,yb:ob,indices:pb,bc:Q,vb:l.Va<<1|(Q?1:0)});X+=G;E+=F;var ha=this.ha,cc=b(p),dc=Math.max(0,A*this.ja[this.ja.length-1]);this.na.push(function(){ha.save();
33
- ha.resetTransform();ha.globalCompositeOperation=cc;ha.globalAlpha=dc;const Ra=la.canvas();Ra&&ha.drawImage(Ra,qb,rb,da,ea,H,O,pa,qa);ha.restore()})}},_clipPath:function(l){const p=l.fb===z?"evenodd":"nonzero",A=l.Na();this.na.push(()=>{this.ha.clip(A,p);l.hb(A)})},beginFrame:function(l=!0){u.add(this);l&&this.na.push(this.ha.clearRect.bind(this.ha,0,0,this.cb.width,this.cb.height))},clear:function(){this.beginFrame(!0)},flush:function(){},translate:function(l,p){this.transform(1,0,0,1,l,p)}});h.makeRenderer=
34
- function(l){const p=new aa(l),A=p.ha;let t=null,G=null;const B={attachSession:function(y){if(y&&t===y)return!0;if(!y||t||"function"!==typeof h.c2dDeferredClaim||"function"!==typeof h.c2dDeferredRenderer||!h.c2dDeferredClaim(y))return!1;const F=h.c2dDeferredRenderer(y);if(!F)return!1;t=y;G=F;return!0},detachSession:function(){t&&h.c2dDeferredDetach(t);G=t=null},deferredActive:function(){return null!==G}},C={save:function(){h.c2dDeferredSave(t)},restore:function(){h.c2dDeferredRestore(t)},transform:function(y,
35
- F,H,O,Q,S){h.c2dDeferredTransform(t,y,F,H,O,Q,S)},translate:function(y,F){h.c2dDeferredTransform(t,1,0,0,1,y,F)},rotate:function(y){const F=Math.sin(y);y=Math.cos(y);h.c2dDeferredTransform(t,y,F,-F,y,0,0)},align:function(y,F,H,O,Q){h.c2dDeferredAlign(t,y,F,H.minX,H.minY,H.maxX,H.maxY,O.minX,O.minY,O.maxX,O.maxY,void 0===Q?1:Q)},beginFrame:function(y=!0){p.beginFrame(y);h.c2dDeferredBeginFrame(t)},clear:function(){p.beginFrame(!0);h.c2dDeferredBeginFrame(t)},flush:function(){h.c2dDeferredReplay(t,
36
- p)}};return new Proxy(p,{get(y,F){if(J.call(B,F))return B[F];if("_deferredRecorder"===F)return G;if(null!==G&&J.call(C,F))return C[F];if("function"===typeof y[F])return function(...H){return y[F].apply(y,H)};if("function"===typeof A[F]){if(-1<ka.indexOf(F))throw Error("RiveException: Method call to '"+F+"()' is not allowed, as the renderer cannot immediately pass through the return values of any canvas 2d context methods.");return function(...H){p.na.push(A[F].bind(A,...H))}}return y[F]},
37
- set(y,F,H){if(F in A)return p.na.push(()=>{A[F]=H}),!0}})};h.decodeImage=function(l,p){(new x({Ba:p})).decode(l)};h.renderFactory={makeRenderPaint:function(){return new I},makeRenderPath:function(){return new L},makeRenderImage:function(){let l=Sa;return new x({Ka:()=>{l.total++},Ba:()=>{l.loaded++;if(l.loaded===l.total){const p=l.ready;p&&(p(),l.ready=null)}}})}};let ec=h.load,Sa=null;h.load=function(l,p,A=!0,t=null){const G=new h.FallbackFileAssetLoader;void 0!==p&&G.addLoader(p);A&&(p=new h.CDNFileAssetLoader(t),
38
- G.addLoader(p));return new Promise(function(B){let C=null;Sa={total:0,loaded:0,ready:function(){B(C)}};C=ec(l,G,t??null);0==Sa.total&&B(C)})};const fc=h.Artboard.prototype.draw;h.Artboard.prototype.draw=function(l){fc.call(this,l._deferredRecorder||l)};let gc=h.RendererWrapper.prototype.align;h.RendererWrapper.prototype.align=function(l,p,A,t,G=1){gc.call(this,l,p,A,t,G)};d=new fa;h.requestAnimationFrame=d.requestAnimationFrame.bind(d);h.cancelAnimationFrame=d.cancelAnimationFrame.bind(d);h.enableFPSCounter=
39
- d.Ob.bind(d);h.disableFPSCounter=d.Lb;d.rb=c;h.resolveAnimationFrame=c;h.cleanup=function(){K&&K.delete()}};var na="./this.program";ca&&(_scriptName=self.location.href);var oa="",ra,sa;
40
- if(ba||ca){try{oa=(new URL(".",_scriptName)).href}catch{}ca&&(sa=b=>{var a=new XMLHttpRequest;a.open("GET",b,!1);a.responseType="arraybuffer";a.send(null);return new Uint8Array(a.response)});ra=async b=>{if(ta(b))return new Promise((c,d)=>{var e=new XMLHttpRequest;e.open("GET",b,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?c(e.response):d(e.status)};e.onerror=d;e.send(null)});var a=await fetch(b,{credentials:"same-origin"});if(a.ok)return a.arrayBuffer();throw Error(a.status+
41
- " : "+a.url);}}var ua=console.log.bind(console),va=console.error.bind(console),wa,xa=!1,ya,ta=b=>b.startsWith("file://"),za,Ba,Ca,D,Da,Ea,Fa,M,Ga,Ha,Ia,Ja,Ka=!1;function La(){var b=Ma.buffer;h.HEAP8=Ca=new Int8Array(b);Da=new Int16Array(b);h.HEAPU8=D=new Uint8Array(b);h.HEAPU16=Ea=new Uint16Array(b);h.HEAP32=Fa=new Int32Array(b);h.HEAPU32=M=new Uint32Array(b);h.HEAPF32=Ga=new Float32Array(b);Ha=new Float64Array(b);Ia=new BigInt64Array(b);Ja=new BigUint64Array(b)}
42
- function Na(b){h.onAbort?.(b);b="Aborted("+b+")";va(b);xa=!0;b=new WebAssembly.RuntimeError(b+". Build with -sASSERTIONS for more info.");Ba?.(b);throw b;}var Oa;async function Pa(b){if(!wa)try{var a=await ra(b);return new Uint8Array(a)}catch{}if(b==Oa&&wa)b=new Uint8Array(wa);else if(sa)b=sa(b);else throw"both async and sync fetching of the wasm failed";return b}
43
- async function Qa(b,a){try{var c=await Pa(b);return await WebAssembly.instantiate(c,a)}catch(d){va(`failed to asynchronously prepare wasm: ${d}`),Na(d)}}async function Ta(b){var a=Oa;if(!wa&&!ta(a))try{var c=fetch(a,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(c,b)}catch(d){va(`wasm streaming compile failed: ${d}`),va("falling back to ArrayBuffer instantiation")}return Qa(a,b)}
44
- class Ua{name="ExitStatus";constructor(b){this.message=`Program terminated with exit(${b})`;this.status=b}}
14
+ null,c=0,d=0,e=null,k=null,g=0,f=0,m=!1;b();this.rb=function(){b();return d};this.bb=function(v){a&&a.deleteTexture&&a.deleteTexture(v)};this.ab=function(v){if(!b())return null;const x=a.createTexture();if(!x)return null;a.bindTexture(a.TEXTURE_2D,x);a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,v);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR);2==
15
+ c?(a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR_MIPMAP_LINEAR),a.generateMipmap(a.TEXTURE_2D)):a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR);return x};const n=new ea(8),r=new ea(8),w=new ea(10),z=new ea(10);this.fb=function(v,x,q,L,I){if(b()){var u=n.push(v),J=r.push(x);if(a.canvas){if(a.canvas.width!=u||a.canvas.height!=J)a.canvas.width=u,a.canvas.height=J;a.viewport(0,J-x,v,x);a.disable(a.SCISSOR_TEST);a.clearColor(0,0,0,0);a.clear(a.COLOR_BUFFER_BIT);a.enable(a.SCISSOR_TEST);
16
+ q.sort((E,ba)=>ba.Na-E.Na);u=w.push(L);g!=u&&(a.bufferData(a.ARRAY_BUFFER,8*u,a.DYNAMIC_DRAW),g=u);u=0;for(var K of q)a.bufferSubData(a.ARRAY_BUFFER,u,K.ta),u+=4*K.ta.length;console.assert(u==4*L);for(var R of q)a.bufferSubData(a.ARRAY_BUFFER,u,R.Qa),u+=4*R.Qa.length;console.assert(u==8*L);u=z.push(I);f!=u&&(a.bufferData(a.ELEMENT_ARRAY_BUFFER,2*u,a.DYNAMIC_DRAW),f=u);K=0;for(var X of q)a.bufferSubData(a.ELEMENT_ARRAY_BUFFER,K,X.indices),K+=2*X.indices.length;console.assert(K==2*I);X=0;R=!0;u=K=0;
17
+ for(const E of q){E.image.na!=X&&(a.bindTexture(a.TEXTURE_2D,E.image.la||null),X=E.image.na);E.ub?(a.scissor(E.Aa,J-E.Ba-E.Ha,E.Bb,E.Ha),R=!0):R&&(a.scissor(0,J-x,v,x),R=!1);q=2/v;const ba=-2/x;a.uniform4f(e,E.O[0]*q*E.da,E.O[1]*ba*E.ea,E.O[2]*q*E.da,E.O[3]*ba*E.ea);a.uniform2f(k,E.O[4]*q*E.da+q*(E.Aa-E.sb*E.da)-1,E.O[5]*ba*E.ea+ba*(E.Ba-E.tb*E.ea)+1);a.vertexAttribPointer(0,2,a.FLOAT,!1,0,u);a.vertexAttribPointer(1,2,a.FLOAT,!1,0,u+4*L);a.drawElements(a.TRIANGLES,E.indices.length,a.UNSIGNED_SHORT,
18
+ K);u+=4*E.ta.length;K+=2*E.indices.length}console.assert(u==4*L);console.assert(K==2*I)}}};this.canvas=function(){return b()&&a.canvas}},ma=h.onRuntimeInitialized;
19
+ h.onRuntimeInitialized=function(){function b(l){switch(l){case n.srcOver:return"source-over";case n.Cb:return"plus-lighter";case n.screen:return"screen";case n.overlay:return"overlay";case n.darken:return"darken";case n.lighten:return"lighten";case n.colorDodge:return"color-dodge";case n.colorBurn:return"color-burn";case n.hardLight:return"hard-light";case n.softLight:return"soft-light";case n.difference:return"difference";case n.exclusion:return"exclusion";case n.multiply:return"multiply";case n.hue:return"hue";
20
+ case n.saturation:return"saturation";case n.color:return"color";case n.luminosity:return"luminosity"}}function a(l){return"rgba("+((16711680&l)>>>16)+","+((65280&l)>>>8)+","+((255&l)>>>0)+","+((4278190080&l)>>>24)/255+")"}function c(){0<R.length&&(la.fb(K.drawWidth(),K.drawHeight(),R,X,E),R=[],E=X=0,K.reset(512,512));for(const l of u){for(const p of l.D)p();l.D=[]}u.clear()}ma&&ma();var d=h.RenderPaintStyle;const e=h.RenderPath,k=h.RenderPaint,g=h.Renderer,f=h.StrokeCap,m=h.StrokeJoin,n=h.BlendMode,
21
+ r=d.fill,w=d.stroke,z=h.FillRule.evenOdd;let v=1;var x=h.RenderImage.extend("CanvasRenderImage",{__construct:function({U:l,ca:p}={}){this.__parent.__construct.call(this);this.na=v;v=v+1&2147483647||1;this.U=l;this.ca=p},__destruct:function(){this.la&&(la.bb(this.la),URL.revokeObjectURL(this.ya));this.__parent.__destruct.call(this)},decode:function(l){var p=this;p.ca&&p.ca(p);var A=new Image;p.ya=URL.createObjectURL(new Blob([l],{type:"image/png"}));A.onload=function(){p.Wa=A;p.la=la.ab(A);p.size(A.width,
22
+ A.height);p.U&&p.U(p)};A.src=p.ya}});class q{constructor(){this.Z=this.$=0;this.K=new Path2D}clear(){this.Z=this.$=0;this.K=new Path2D}Za(l){for(0<this.$&&this.Z<l.length&&this.clear();this.Z<l.length;)l[this.Z++](this.K);this.$++;return this.K}release(l){l===this.K&&this.$--}}var L=e.extend("CanvasRenderPath",{__construct:function(){this.__parent.__construct.call(this);this.ja=[];this.K=new q;this.ia=!1;this.S=null},rewind:function(){this.ja.length=0;this.K.clear();this.ia=!1;this.S=null},addPath:function(l,
23
+ p,A,t,G,B,C){const y=l.Sa();this.R(F=>{const H=new DOMMatrix;H.a=p;H.b=A;H.c=t;H.d=G;H.e=B;H.f=C;F.addPath(y,H)})},fillRule:function(l){this.xa=l},moveTo:function(l,p){this.ia=!0;const A={Ca:!0};this.S=A;this.R(t=>{t.moveTo(l,p);A.Ca&&t.lineTo(l,p)})},lineTo:function(l,p){this.wa();this.ga();this.R(A=>{A.lineTo(l,p)})},cubicTo:function(l,p,A,t,G,B){this.wa();this.ga();this.R(C=>{C.bezierCurveTo(l,p,A,t,G,B)})},close:function(){this.ga();this.R(l=>{l.closePath()})},wa:function(){this.ia||this.moveTo(0,
24
+ 0)},ga:function(){null!==this.S&&(this.S.Ca=!1,this.S=null)},R:function(l){this.ja.push(l)},fa:function(){return this.K.Za(this.ja)},za:function(l){this.K.release(l)},Sa:function(){const l=this.fa();this.K.clear();return l}}),I=k.extend("CanvasRenderPaint",{__construct:function(){this.__parent.__construct.call(this);this.B=[];this.ha=0;this.ka=r;this.oa=a(4278190080);this.ma=1;this.Y="miter";this.X="butt";this.ua=b(n.srcOver);this.N=null},color:function(l){this.B.push(()=>{this.oa=a(l)})},thickness:function(l){this.B.push(()=>
25
+ {this.ma=Math.abs(l)})},join:function(l){this.B.push(()=>{switch(l){case m.miter:this.Y="miter";break;case m.round:this.Y="round";break;case m.bevel:this.Y="bevel"}})},cap:function(l){this.B.push(()=>{switch(l){case f.butt:this.X="butt";break;case f.round:this.X="round";break;case f.square:this.X="square"}})},style:function(l){this.B.push(()=>{this.ka=l})},blendMode:function(l){this.B.push(()=>{this.ua=b(l)})},clearGradient:function(){this.B.push(()=>{this.N=null})},linearGradient:function(l,p,A,
26
+ t){this.B.push(()=>{this.N={Oa:l,Pa:p,Ea:A,Fa:t,sa:[]}})},radialGradient:function(l,p,A,t){this.B.push(()=>{this.N={Oa:l,Pa:p,Ea:A,Fa:t,sa:[],pb:!0}})},addStop:function(l,p){this.B.push(()=>{this.N.sa.push({color:l,stop:p})})},completeGradient:function(){},Ta:function(l,p,A,t){if(this.ka!==w||0<this.ma){var G=this.ka,B=this.oa,C=this.N,y=l.globalCompositeOperation,F=l.globalAlpha;l.globalCompositeOperation=this.ua;l.globalAlpha=t;if(null!=C){B=C.Oa;const O=C.Pa,Q=C.Ea;var H=C.Fa;t=C.sa;C.pb?(C=Q-
27
+ B,H-=O,B=l.createRadialGradient(B,O,0,B,O,Math.sqrt(C*C+H*H))):B=l.createLinearGradient(B,O,Q,H);for(let S=0,Ca=t.length;S<Ca;S++)C=t[S],B.addColorStop(C.stop,a(C.color));this.oa=B;this.N=null}switch(G){case w:l.strokeStyle=B;l.lineWidth=this.ma;l.lineCap=this.X;l.lineJoin=this.Y;l.stroke(p);break;case r:l.fillStyle=B,l.fill(p,A)}l.globalCompositeOperation=y;l.globalAlpha=F}},Va:function(){return this.ha+this.B.length},Ua:function(l){const p=l-this.ha;for(let A=0;A<p;A++)this.B[A]();this.B.splice(0,
28
+ p);this.ha=l}});const u=new Set,J=Object.prototype.hasOwnProperty;let K=null,R=[],X=0,E=0;var ba=h.CanvasRenderer=g.extend("Renderer",{__construct:function(l){this.__parent.__construct.call(this);this.J=[1,0,0,1,0,0];this.A=[1];this.u=l.getContext("2d");this.va=l;this.D=[]},save:function(){this.J.push(...this.J.slice(this.J.length-6));this.A.push(this.A[this.A.length-1]);this.D.push(this.u.save.bind(this.u))},restore:function(){const l=this.J.length-6;if(6>l)throw"restore() called without matching save().";
29
+ this.J.splice(l);this.A.pop();this.D.push(this.u.restore.bind(this.u))},transform:function(l,p,A,t,G,B){const C=this.J,y=C.length-6;C.splice(y,6,C[y]*l+C[y+2]*p,C[y+1]*l+C[y+3]*p,C[y]*A+C[y+2]*t,C[y+1]*A+C[y+3]*t,C[y]*G+C[y+2]*B+C[y+4],C[y+1]*G+C[y+3]*B+C[y+5]);this.D.push(this.u.transform.bind(this.u,l,p,A,t,G,B))},rotate:function(l){const p=Math.sin(l);l=Math.cos(l);this.transform(l,p,-p,l,0,0)},modulateOpacity:function(l){this.A[this.A.length-1]*=l},_drawPath:function(l,p){const A=l.xa===z?"evenodd":
30
+ "nonzero",t=Math.max(0,this.A[this.A.length-1]),G=l.fa(),B=p.Va();this.D.push(()=>{p.Ua(B);p.Ta(this.u,G,A,t);l.za(G)})},_drawRiveImage:function(l,p,A){var t=l.Wa;if(t){var G=this.u,B=b(p),C=Math.max(0,A*this.A[this.A.length-1]);this.D.push(function(){G.globalCompositeOperation=B;G.globalAlpha=C;G.drawImage(t,0,0);G.globalAlpha=1})}},_getMatrix:function(l){const p=this.J,A=p.length-6;for(let t=0;6>t;++t)l[t]=p[A+t]},_drawImageMesh:function(l,p,A,t,G,B,C,y,F,H,O,Q,S){let Ca,rb,sb;try{Ca=h.HEAPF32.slice(t>>
31
+ 2,(t>>2)+G),rb=h.HEAPF32.slice(B>>2,(B>>2)+C),sb=h.HEAPU16.slice(y>>1,(y>>1)+F)}catch(Ta){console.error("[Rive] _drawImageMesh: failed to read mesh data from WASM heap. Mesh skipped for this frame.");return}t=this.u.canvas.width;B=this.u.canvas.height;C=Q-H;y=S-O;H=Math.max(H,0);O=Math.max(O,0);Q=Math.min(Q,t);S=Math.min(S,B);const ra=Q-H,sa=S-O;console.assert(ra<=Math.min(C,t));console.assert(sa<=Math.min(y,B));if(!(0>=ra||0>=sa)){Q=ra<C||sa<y;t=S=1;var fa=Math.ceil(ra*S),ha=Math.ceil(sa*t);B=la.rb();
32
+ fa>B&&(S*=B/fa,fa=B);ha>B&&(t*=B/ha,ha=B);K||(K=new h.DynamicRectanizer(B),K.reset(512,512));B=K.addRect(fa,ha);0>B&&(c(),u.add(this),B=K.addRect(fa,ha),console.assert(0<=B));var tb=B&65535,ub=B>>16;R.push({O:this.J.slice(this.J.length-6),image:l,Aa:tb,Ba:ub,sb:H,tb:O,Bb:fa,Ha:ha,da:S,ea:t,ta:Ca,Qa:rb,indices:sb,ub:Q,Na:l.na<<1|(Q?1:0)});X+=G;E+=F;var ja=this.u,dc=b(p),ec=Math.max(0,A*this.A[this.A.length-1]);this.D.push(function(){ja.save();ja.resetTransform();ja.globalCompositeOperation=dc;ja.globalAlpha=
33
+ ec;const Ta=la.canvas();Ta&&ja.drawImage(Ta,tb,ub,fa,ha,H,O,ra,sa);ja.restore()})}},_clipPath:function(l){const p=l.xa===z?"evenodd":"nonzero",A=l.fa();this.D.push(()=>{this.u.clip(A,p);l.za(A)})},beginFrame:function(l=!0){u.add(this);l&&this.D.push(this.u.clearRect.bind(this.u,0,0,this.va.width,this.va.height))},clear:function(){this.beginFrame(!0)},flush:function(){},translate:function(l,p){this.transform(1,0,0,1,l,p)}});h.makeRenderer=function(l){const p=new ba(l),A=p.u;let t=null,G=null;const B=
34
+ {attachSession:function(y){if(y&&t===y)return!0;if(!y||t||"function"!==typeof h.c2dDeferredClaim||"function"!==typeof h.c2dDeferredRenderer||!h.c2dDeferredClaim(y))return!1;const F=h.c2dDeferredRenderer(y);if(!F)return!1;t=y;G=F;return!0},detachSession:function(){t&&h.c2dDeferredDetach(t);G=t=null},deferredActive:function(){return null!==G}},C={save:function(){h.c2dDeferredSave(t)},restore:function(){h.c2dDeferredRestore(t)},transform:function(y,F,H,O,Q,S){h.c2dDeferredTransform(t,y,F,H,O,Q,S)},translate:function(y,
35
+ F){h.c2dDeferredTransform(t,1,0,0,1,y,F)},rotate:function(y){const F=Math.sin(y);y=Math.cos(y);h.c2dDeferredTransform(t,y,F,-F,y,0,0)},align:function(y,F,H,O,Q){h.c2dDeferredAlign(t,y,F,H.minX,H.minY,H.maxX,H.maxY,O.minX,O.minY,O.maxX,O.maxY,void 0===Q?1:Q)},beginFrame:function(y=!0){p.beginFrame(y);h.c2dDeferredBeginFrame(t)},clear:function(){p.beginFrame(!0);h.c2dDeferredBeginFrame(t)},flush:function(){h.c2dDeferredReplay(t,p)}};return new Proxy(p,{get(y,F){if(J.call(B,F))return B[F];if("_deferredRecorder"===
36
+ F)return G;if(null!==G&&J.call(C,F))return C[F];if("function"===typeof y[F])return function(...H){return y[F].apply(y,H)};if("function"===typeof A[F]){if(-1<ka.indexOf(F))throw Error("RiveException: Method call to '"+F+"()' is not allowed, as the renderer cannot immediately pass through the return values of any canvas 2d context methods.");return function(...H){p.D.push(A[F].bind(A,...H))}}return y[F]},set(y,F,H){if(F in A)return p.D.push(()=>{A[F]=H}),!0}})};h.decodeImage=function(l,
37
+ p){(new x({U:p})).decode(l)};h.renderFactory={makeRenderPaint:function(){return new I},makeRenderPath:function(){return new L},makeRenderImage:function(){let l=Ua;return new x({ca:()=>{l.total++},U:()=>{l.loaded++;if(l.loaded===l.total){const p=l.ready;p&&(p(),l.ready=null)}}})}};let fc=h.load,Ua=null;h.load=function(l,p,A=!0,t=null){const G=new h.FallbackFileAssetLoader;void 0!==p&&G.addLoader(p);A&&(p=new h.CDNFileAssetLoader(t),G.addLoader(p));return new Promise(function(B){let C=null;Ua={total:0,
38
+ loaded:0,ready:function(){B(C)}};C=fc(l,G,t??null);0==Ua.total&&B(C)})};const gc=h.Artboard.prototype.draw;h.Artboard.prototype.draw=function(l){gc.call(this,l._deferredRecorder||l)};let hc=h.RendererWrapper.prototype.align;h.RendererWrapper.prototype.align=function(l,p,A,t,G=1){hc.call(this,l,p,A,t,G)};d=new da;h.requestAnimationFrame=d.requestAnimationFrame.bind(d);h.cancelAnimationFrame=d.cancelAnimationFrame.bind(d);h.enableFPSCounter=d.gb.bind(d);h.disableFPSCounter=d.cb;d.Ja=c;h.resolveAnimationFrame=
39
+ c;h.cleanup=function(){K&&K.delete()}};var na="./this.program";ca&&(_scriptName=self.location.href);var oa="",pa,qa;
40
+ if(aa||ca){try{oa=(new URL(".",_scriptName)).href}catch{}ca&&(qa=b=>{var a=new XMLHttpRequest;a.open("GET",b,!1);a.responseType="arraybuffer";a.send(null);return new Uint8Array(a.response)});pa=async b=>{if(ta(b))return new Promise((c,d)=>{var e=new XMLHttpRequest;e.open("GET",b,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?c(e.response):d(e.status)};e.onerror=d;e.send(null)});var a=await fetch(b,{credentials:"same-origin"});if(a.ok)return a.arrayBuffer();throw Error(a.status+
41
+ " : "+a.url);}}var ua=console.log.bind(console),va=console.error.bind(console),wa,xa=!1,ya,ta=b=>b.startsWith("file://"),za,Aa,Ba,D,Da,Ea,Fa,M,Ga,Ha,Ia=!1;function Ja(){var b=Ka.buffer;h.HEAP8=Ba=new Int8Array(b);Da=new Int16Array(b);h.HEAPU8=D=new Uint8Array(b);h.HEAPU16=Ea=new Uint16Array(b);h.HEAP32=Fa=new Int32Array(b);h.HEAPU32=M=new Uint32Array(b);h.HEAPF32=Ga=new Float32Array(b);Ha=new Float64Array(b)}
42
+ function La(b){h.onAbort?.(b);b="Aborted("+b+")";va(b);xa=!0;b=new WebAssembly.RuntimeError(b+". Build with -sASSERTIONS for more info.");Aa?.(b);throw b;}var Ma;async function Na(b){if(!wa)try{var a=await pa(b);return new Uint8Array(a)}catch{}if(b==Ma&&wa)b=new Uint8Array(wa);else if(qa)b=qa(b);else throw"both async and sync fetching of the wasm failed";return b}
43
+ async function Oa(b,a){try{var c=await Na(b);return await WebAssembly.instantiate(c,a)}catch(d){va(`failed to asynchronously prepare wasm: ${d}`),La(d)}}async function Pa(b){var a=Ma;if(!wa&&!ta(a))try{var c=fetch(a,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(c,b)}catch(d){va(`wasm streaming compile failed: ${d}`),va("falling back to ArrayBuffer instantiation")}return Oa(a,b)}var Qa,Ra;
44
+ class Sa{name="ExitStatus";constructor(b){this.message=`Program terminated with exit(${b})`;this.status=b}}
45
45
  var Va=b=>{for(;0<b.length;)b.shift()(h)},Wa=[],Xa=[],Ya=()=>{var b=h.preRun.shift();Xa.push(b)},Za=!0,$a=(b,a)=>Object.defineProperty(a,"name",{value:b}),ab=[],bb=[0,1,,1,null,1,!0,1,!1,1],N=class extends Error{constructor(b){super(b);this.name="BindingError"}},P=b=>{if(!b)throw new N(`Cannot use deleted val. handle = ${b}`);return bb[b]},T=b=>{switch(b){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const a=ab.pop()||bb.length;bb[a]=b;bb[a+1]=1;return a}};
46
46
  class cb extends Error{}
47
- var U=b=>{for(var a="";;){var c=D[b++];if(!c)return a;a+=String.fromCharCode(c)}},db={},eb=(b,a)=>{if(void 0===a)throw new N("ptr should not be undefined");for(;b.ga;)a=b.Ca(a),b=b.ga;return a},fb={},ib=b=>{b=gb(b);var a=U(b);hb(b);return a},jb=(b,a)=>{var c=fb[b];if(void 0===c)throw b=`${a} has unknown type ${ib(b)}`,new N(b);return c},kb=()=>{},lb=!1,mb=b=>{if(!globalThis.FinalizationRegistry)return mb=a=>a,b;lb=new FinalizationRegistry(a=>{a=a.$;--a.count.value;0===a.count.value&&(a.ia?a.oa.qa(a.ia):
48
- a.da.aa.qa(a.ca))});mb=a=>{var c=a.$;c.ia&&lb.register(a,{$:c},a);return a};kb=a=>{lb.unregister(a)};return mb(b)},nb={},sb=b=>{for(;b.length;){var a=b.pop();b.pop()(a)}};function tb(b){return this.ba(M[b>>2])}
49
- var ub={},vb={},wb=class extends Error{constructor(b){super(b);this.name="InternalError"}},W=(b,a,c)=>{function d(f){f=c(f);if(f.length!==b.length)throw new wb("Mismatched type converter count");for(var m=0;m<b.length;++m)V(b[m],f[m])}b.forEach(f=>vb[f]=a);var e=Array(a.length),k=[],g=0;for(let [f,m]of a.entries())fb.hasOwnProperty(m)?e[f]=fb[m]:(k.push(m),ub.hasOwnProperty(m)||(ub[m]=[]),ub[m].push(()=>{e[f]=fb[m];++g;g===k.length&&d(e)}));0===k.length&&d(e)};
50
- function xb(b,a,c={}){var d=a.name;if(!b)throw new N(`type "${d}" must have a positive integer typeid pointer`);if(fb.hasOwnProperty(b)){if(c.Wb)return;throw new N(`Cannot register type '${d}' twice`);}fb[b]=a;delete vb[b];ub.hasOwnProperty(b)&&(a=ub[b],delete ub[b],a.forEach(e=>e()))}function V(b,a,c={}){return xb(b,a,c)}
51
- var yb=(b,a,c)=>{switch(a){case 1:return c?d=>Ca[d]:d=>D[d];case 2:return c?d=>Da[d>>1]:d=>Ea[d>>1];case 4:return c?d=>Fa[d>>2]:d=>M[d>>2];case 8:return c?d=>Ia[d>>3]:d=>Ja[d>>3];default:throw new TypeError(`invalid integer width (${a}): ${b}`);}},zb=b=>{throw new N(b.$.da.aa.name+" instance already deleted");},Ab=[];function Bb(){}
52
- var Cb={},Db=(b,a,c)=>{if(void 0===b[a].fa){var d=b[a];b[a]=function(...e){if(!b[a].fa.hasOwnProperty(e.length))throw new N(`Function '${c}' called with an invalid number of arguments (${e.length}) - expects one of (${b[a].fa})!`);return b[a].fa[e.length].apply(this,e)};b[a].fa=[];b[a].fa[d.ta]=d}},Eb=(b,a,c)=>{if(h.hasOwnProperty(b)){if(void 0===c||void 0!==h[b].fa&&void 0!==h[b].fa[c])throw new N(`Cannot register public name '${b}' twice`);Db(h,b,b);if(h[b].fa.hasOwnProperty(c))throw new N(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`);
53
- h[b].fa[c]=a}else h[b]=a,h[b].ta=c},Fb=b=>{b=b.replace(/[^a-zA-Z0-9_]/g,"$");var a=b.charCodeAt(0);return 48<=a&&57>=a?`_${b}`:b};function Gb(b,a,c,d,e,k,g,f){this.name=b;this.constructor=a;this.pa=c;this.qa=d;this.ga=e;this.Rb=k;this.Ca=g;this.Mb=f;this.sb=[]}
54
- var Hb=(b,a,c)=>{for(;a!==c;){if(!a.Ca)throw new N(`Expected null or instance of ${c.name}, got an instance of ${a.name}`);b=a.Ca(b);a=a.ga}return b},Ib=b=>{if(null===b)return"null";var a=typeof b;return"object"===a||"array"===a||"function"===a?b.toString():""+b};
55
- function Jb(b,a){if(null===a){if(this.Xa)throw new N(`null is not a valid ${this.name}`);return 0}if(!a.$)throw new N(`Cannot pass "${Ib(a)}" as a ${this.name}`);if(!a.$.ca)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);return Hb(a.$.ca,a.$.da.aa,this.aa)}
56
- function Kb(b,a){if(null===a){if(this.Xa)throw new N(`null is not a valid ${this.name}`);if(this.Ja){var c=this.Za();null!==b&&b.push(this.qa,c);return c}return 0}if(!a||!a.$)throw new N(`Cannot pass "${Ib(a)}" as a ${this.name}`);if(!a.$.ca)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.Ia&&a.$.da.Ia)throw new N(`Cannot convert argument of type ${a.$.oa?a.$.oa.name:a.$.da.name} to parameter type ${this.name}`);c=Hb(a.$.ca,a.$.da.aa,this.aa);if(this.Ja){if(void 0===
57
- a.$.ia)throw new N("Passing raw pointer to smart pointer is illegal");switch(this.ic){case 0:if(a.$.oa===this)c=a.$.ia;else throw new N(`Cannot convert argument of type ${a.$.oa?a.$.oa.name:a.$.da.name} to parameter type ${this.name}`);break;case 1:c=a.$.ia;break;case 2:if(a.$.oa===this)c=a.$.ia;else{var d=a.clone();c=this.dc(c,T(()=>d["delete"]()));null!==b&&b.push(this.qa,c)}break;default:throw new N("Unsupported sharing policy");}}return c}
58
- function Lb(b,a){if(null===a){if(this.Xa)throw new N(`null is not a valid ${this.name}`);return 0}if(!a.$)throw new N(`Cannot pass "${Ib(a)}" as a ${this.name}`);if(!a.$.ca)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);if(a.$.da.Ia)throw new N(`Cannot convert argument of type ${a.$.da.name} to parameter type ${this.name}`);return Hb(a.$.ca,a.$.da.aa,this.aa)}
59
- var Mb=(b,a,c)=>{if(a===c)return b;if(void 0===c.ga)return null;b=Mb(b,a,c.ga);return null===b?null:c.Mb(b)},Nb=(b,a)=>{a=eb(b,a);return db[a]},Ob=(b,a)=>{if(!a.da||!a.ca)throw new wb("makeClassHandle requires ptr and ptrType");if(!!a.oa!==!!a.ia)throw new wb("Both smartPtrType and smartPtr must be specified");a.count={value:1};return mb(Object.create(b,{$:{value:a,writable:!0}}))};
60
- function Pb(b,a,c,d,e,k,g,f,m,n,r){this.name=b;this.aa=a;this.Xa=c;this.Ia=d;this.Ja=e;this.cc=k;this.ic=g;this.tb=f;this.Za=m;this.dc=n;this.qa=r;e||void 0!==a.ga?this.ea=Kb:(this.ea=d?Jb:Lb,this.ka=null)}var Qb=(b,a,c)=>{if(!h.hasOwnProperty(b))throw new wb("Replacing nonexistent public symbol");void 0!==h[b].fa&&void 0!==c?h[b].fa[c]=a:(h[b]=a,h[b].ta=c)},Y=(b,a)=>{b=U(b);var c=Rb.get(a);if("function"!=typeof c)throw new N(`unknown function pointer with signature ${b}: ${a}`);return c};
61
- class Sb extends Error{}var Z=(b,a)=>{function c(k){e[k]||fb[k]||(vb[k]?vb[k].forEach(c):(d.push(k),e[k]=!0))}var d=[],e={};a.forEach(c);throw new Sb(`${b}: `+d.map(ib).join([", "]));};function Tb(b){for(var a=1;a<b.length;++a)if(null!==b[a]&&void 0===b[a].ka)return!0;return!1}
62
- function Ub(b,a,c,d,e){var k=a.length;if(2>k)throw new N("argTypes array size mismatch! Must at least get return value and 'this' types!");var g=null!==a[1]&&null!==c,f=Tb(a),m=!a[0].Yb,n=k-2,r=Array(n),w=[],z=[];return $a(b,function(...v){z.length=0;w.length=g?2:1;w[0]=e;if(g){var x=a[1].ea(z,this);w[1]=x}for(var q=0;q<n;++q)r[q]=a[q+2].ea(z,v[q]),w.push(r[q]);v=d(...w);if(f)sb(z);else for(q=g?1:2;q<a.length;q++){var L=1===q?x:r[q-2];null!==a[q].ka&&a[q].ka(L)}x=m?a[0].ba(v):void 0;return x})}
63
- var Vb=(b,a)=>{for(var c=[],d=0;d<b;d++)c.push(M[a+4*d>>2]);return c},Wb=b=>{b=b.trim();const a=b.indexOf("(");return-1===a?b:b.slice(0,a)},Xb=(b,a,c)=>{if(!(b instanceof Object))throw new N(`${c} with invalid "this": ${b}`);if(!(b instanceof a.aa.constructor))throw new N(`${c} incompatible with "this" of type ${b.constructor.name}`);if(!b.$.ca)throw new N(`cannot call emscripten binding method ${c} on deleted object`);return Hb(b.$.ca,b.$.da.aa,a.aa)},Yb=b=>{9<b&&0===--bb[b+1]&&(bb[b]=void 0,ab.push(b))},
64
- Zb={name:"emscripten::val",ba:b=>{var a=P(b);Yb(b);return a},ea:(b,a)=>T(a),ma:tb,ka:null},$b=(b,a,c)=>{switch(a){case 1:return c?function(d){return this.ba(Ca[d])}:function(d){return this.ba(D[d])};case 2:return c?function(d){return this.ba(Da[d>>1])}:function(d){return this.ba(Ea[d>>1])};case 4:return c?function(d){return this.ba(Fa[d>>2])}:function(d){return this.ba(M[d>>2])};default:throw new TypeError(`invalid integer width (${a}): ${b}`);}},ac=(b,a)=>{switch(a){case 4:return function(c){return this.ba(Ga[c>>
65
- 2])};case 8:return function(c){return this.ba(Ha[c>>3])};default:throw new TypeError(`invalid float width (${a}): ${b}`);}},bc=(b,a,c)=>{var d=D;if(!(0<c))return 0;var e=a;c=a+c-1;for(var k=0;k<b.length;++k){var g=b.codePointAt(k);if(127>=g){if(a>=c)break;d[a++]=g}else if(2047>=g){if(a+1>=c)break;d[a++]=192|g>>6;d[a++]=128|g&63}else if(65535>=g){if(a+2>=c)break;d[a++]=224|g>>12;d[a++]=128|g>>6&63;d[a++]=128|g&63}else{if(a+3>=c)break;d[a++]=240|g>>18;d[a++]=128|g>>12&63;d[a++]=128|g>>6&63;d[a++]=128|
66
- g&63;k++}}d[a]=0;return a-e},hc=b=>{for(var a=0,c=0;c<b.length;++c){var d=b.charCodeAt(c);127>=d?a++:2047>=d?a+=2:55296<=d&&57343>=d?(a+=4,++c):a+=3}return a},ic=globalThis.TextDecoder&&new TextDecoder,jc=(b,a,c,d)=>{c=a+c;if(d)return c;for(;b[a]&&!(a>=c);)++a;return a},kc=(b,a=0,c,d)=>{c=jc(b,a,c,d);if(16<c-a&&b.buffer&&ic)return ic.decode(b.subarray(a,c));for(d="";a<c;){var e=b[a++];if(e&128){var k=b[a++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|k);else{var g=b[a++]&63;e=224==(e&240)?
67
- (e&15)<<12|k<<6|g:(e&7)<<18|k<<12|g<<6|b[a++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d},lc=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,mc=(b,a,c)=>{b>>=1;a=jc(Ea,b,a/2,c);if(16<a-b&&lc)return lc.decode(Ea.subarray(b,a));for(c="";b<a;++b)c+=String.fromCharCode(Ea[b]);return c},nc=(b,a,c)=>{c??=2147483647;if(2>c)return 0;c-=2;var d=a;c=c<2*b.length?c/2:b.length;for(var e=0;e<c;++e)Da[a>>1]=
68
- b.charCodeAt(e),a+=2;Da[a>>1]=0;return a-d},oc=b=>2*b.length,pc=(b,a,c)=>{var d="";b>>=2;for(var e=0;!(e>=a/4);e++){var k=M[b+e];if(!k&&!c)break;d+=String.fromCodePoint(k)}return d},qc=(b,a,c)=>{c??=2147483647;if(4>c)return 0;var d=a;c=d+c-4;for(var e=0;e<b.length;++e){var k=b.codePointAt(e);65535<k&&e++;Fa[a>>2]=k;a+=4;if(a+4>c)break}Fa[a>>2]=0;return a-d},rc=b=>{for(var a=0,c=0;c<b.length;++c)65535<b.codePointAt(c)&&c++,a+=4;return a},sc=0,tc=[],uc=b=>{var a=tc.length;tc.push(b);return a},vc=(b,
69
- a)=>{for(var c=Array(b),d=0;d<b;++d)c[d]=jb(M[a+4*d>>2],`parameter ${d}`);return c},wc={},xc=b=>{var a=wc[b];return void 0===a?U(b):a},yc={},zc=b=>{if(!(b instanceof Ua||"unwind"==b))throw b;},Ac=b=>{ya=b;Za||0<sc||(h.onExit?.(b),xa=!0);throw new Ua(b);},Bc=b=>{if(!xa)try{if(b(),!(Za||0<sc))try{ya=b=ya,Ac(b)}catch(a){zc(a)}}catch(a){zc(a)}},Cc={},Ec=()=>{if(!Dc){var b={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-",
70
- "_")+".UTF-8",_:na||"./this.program"},a;for(a in Cc)void 0===Cc[a]?delete b[a]:b[a]=Cc[a];var c=[];for(a in b)c.push(`${a}=${b[a]}`);Dc=c}return Dc},Dc,Fc=[null,[],[]];
71
- (()=>{let b=Bb.prototype;Object.assign(b,{isAliasOf:function(c){if(!(this instanceof Bb&&c instanceof Bb))return!1;var d=this.$.da.aa,e=this.$.ca;c.$=c.$;var k=c.$.da.aa;for(c=c.$.ca;d.ga;)e=d.Ca(e),d=d.ga;for(;k.ga;)c=k.Ca(c),k=k.ga;return d===k&&e===c},clone:function(){this.$.ca||zb(this);if(this.$.xa)return this.$.count.value+=1,this;var c=mb,d=Object,e=d.create,k=Object.getPrototypeOf(this),g=this.$;c=c(e.call(d,k,{$:{value:{count:g.count,Aa:g.Aa,xa:g.xa,ca:g.ca,da:g.da,ia:g.ia,oa:g.oa}}}));c.$.count.value+=
72
- 1;c.$.Aa=!1;return c},["delete"](){this.$.ca||zb(this);if(this.$.Aa&&!this.$.xa)throw new N("Object already scheduled for deletion");kb(this);var c=this.$;--c.count.value;0===c.count.value&&(c.ia?c.oa.qa(c.ia):c.da.aa.qa(c.ca));this.$.xa||(this.$.ia=void 0,this.$.ca=void 0)},isDeleted:function(){return!this.$.ca},deleteLater:function(){this.$.ca||zb(this);if(this.$.Aa&&!this.$.xa)throw new N("Object already scheduled for deletion");Ab.push(this);this.$.Aa=!0;return this}});const a=Symbol.dispose;
73
- a&&(b[a]=b["delete"])})();
74
- Object.assign(Pb.prototype,{Sb(b){this.tb&&(b=this.tb(b));return b},lb(b){this.qa?.(b)},ma:tb,ba:function(b){function a(){return this.Ja?Ob(this.aa.pa,{da:this.cc,ca:c,oa:this,ia:b}):Ob(this.aa.pa,{da:this,ca:b})}var c=this.Sb(b);if(!c)return this.lb(b),null;var d=Nb(this.aa,c);if(void 0!==d){if(0===d.$.count.value)return d.$.ca=c,d.$.ia=b,d.clone();d=d.clone();this.lb(b);return d}d=this.aa.Rb(c);d=Cb[d];if(!d)return a.call(this);d=this.Ia?d.Ib:d.pointerType;var e=Mb(c,this.aa,d.aa);return null===
75
- e?a.call(this):this.Ja?Ob(d.aa.pa,{da:d,ca:e,oa:this,ia:b}):Ob(d.aa.pa,{da:d,ca:e})}});h.noExitRuntime&&(Za=h.noExitRuntime);h.print&&(ua=h.print);h.printErr&&(va=h.printErr);h.wasmBinary&&(wa=h.wasmBinary);h.thisProgram&&(na=h.thisProgram);if(h.preInit)for("function"==typeof h.preInit&&(h.preInit=[h.preInit]);0<h.preInit.length;)h.preInit.shift()();
76
- var hb,Gc,gb,Hc,Ma,Rb,Ic={E:()=>Na(""),n:(b,a,c)=>{b=U(b);a=jb(a,"wrapper");c=P(c);var d=a.aa,e=d.pa,k=d.ga.pa,g=d.ga.constructor;b=$a(b,function(...f){for(var m of d.ga.sb)if(this[m]===k[m])throw new cb(`Pure virtual function ${m} must be implemented in JavaScript`);Object.defineProperty(this,"__parent",{value:e});this.__construct(...f)});e.__construct=function(...f){if(this===e)throw new N("Pass correct 'this' to __construct");f=g.implement(this,...f);kb(f);var m=f.$;f.notifyOnDestruction();m.xa=
77
- !0;Object.defineProperties(this,{$:{value:m}});mb(this);f=m.ca;f=eb(d,f);if(db.hasOwnProperty(f))throw new N(`Tried to register registered instance: ${f}`);db[f]=this};e.__destruct=function(){if(this===e)throw new N("Pass correct 'this' to __destruct");kb(this);var f=this.$.ca;f=eb(d,f);if(db.hasOwnProperty(f))delete db[f];else throw new N(`Tried to unregister unregistered instance: ${f}`);};b.prototype=Object.create(e);Object.assign(b.prototype,c);return T(b)},N:b=>{var a=nb[b];delete nb[b];var c=
78
- a.Za,d=a.qa,e=a.ob,k=e.map(g=>g.Vb).concat(e.map(g=>g.fc));W([b],k,g=>{var f={},m,n;for([m,n]of e.entries()){const r=g[m],w=n.Tb,z=n.Ub,v=g[m+e.length],x=n.ec,q=n.hc;f[n.Pb]={read:L=>r.ba(w(z,L)),write:(L,I)=>{var u=[];x(q,L,v.ea(u,I));sb(u)},optional:r.optional}}return[{name:a.name,ba:r=>{var w={},z;for(z in f)w[z]=f[z].read(r);d(r);return w},ea:(r,w)=>{for(var z in f)if(!(z in w||f[z].optional))throw new TypeError(`Missing field: "${z}"`);var v=c();for(z in f)f[z].write(v,w[z]);null!==r&&r.push(d,
79
- v);return v},ma:tb,ka:d}]})},r:(b,a,c,d,e)=>{a=U(a);d=0n===d;let k=g=>g;if(d){const g=8*c;k=f=>BigInt.asUintN(g,f);e=k(e)}V(b,{name:a,ba:k,ea:(g,f)=>{"number"==typeof f&&(f=BigInt(f));return f},ma:yb(a,c,!d),ka:null})},H:(b,a,c,d)=>{a=U(a);V(b,{name:a,ba:function(e){return!!e},ea:function(e,k){return k?c:d},ma:function(e){return this.ba(D[e])},ka:null})},c:(b,a,c,d,e,k,g,f,m,n,r,w,z)=>{r=U(r);k=Y(e,k);f&&=Y(g,f);n&&=Y(m,n);z=Y(w,z);var v=Fb(r);Eb(v,function(){Z(`Cannot construct ${r} due to unbound types`,
80
- [d])});W([b,a,c],d?[d]:[],x=>{x=x[0];if(d){var q=x.aa;var L=q.pa}else L=Bb.prototype;x=$a(r,function(...K){if(Object.getPrototypeOf(this)!==I)throw new N(`Use 'new' to construct ${r}`);if(void 0===u.ua)throw new N(`${r} has no accessible constructor`);var R=u.ua[K.length];if(void 0===R)throw new N(`Tried to invoke ctor of ${r} with invalid number of parameters (${K.length}) - expected (${Object.keys(u.ua).toString()}) parameters instead!`);return R.apply(this,K)});var I=Object.create(L,{constructor:{value:x}});
81
- x.prototype=I;var u=new Gb(r,x,I,z,q,k,f,n);if(u.ga){var J;(J=u.ga).Ea??(J.Ea=[]);u.ga.Ea.push(u)}q=new Pb(r,u,!0,!1,!1);J=new Pb(r+"*",u,!1,!1,!1);L=new Pb(r+" const*",u,!1,!0,!1);Cb[b]={pointerType:J,Ib:L};Qb(v,x);return[q,J,L]})},j:(b,a,c,d,e,k,g)=>{var f=Vb(c,d);a=U(a);a=Wb(a);k=Y(e,k);W([],[b],m=>{function n(){Z(`Cannot call ${r} due to unbound types`,f)}m=m[0];var r=`${m.name}.${a}`;a.startsWith("@@")&&(a=Symbol[a.substring(2)]);var w=m.aa.constructor;void 0===w[a]?(n.ta=c-1,w[a]=n):(Db(w,a,
82
- r),w[a].fa[c-1]=n);W([],f,z=>{z=Ub(r,[z[0],null].concat(z.slice(1)),null,k,g);void 0===w[a].fa?(z.ta=c-1,w[a]=z):w[a].fa[c-1]=z;if(m.aa.Ea)for(const v of m.aa.Ea)v.constructor.hasOwnProperty(a)||(v.constructor[a]=z);return[]});return[]})},p:(b,a,c,d,e,k,g,f)=>{a=U(a);k=Y(e,k);W([],[b],m=>{m=m[0];var n=`${m.name}.${a}`,r={get(){Z(`Cannot access ${n} due to unbound types`,[c])},enumerable:!0,configurable:!0};r.set=f?()=>{Z(`Cannot access ${n} due to unbound types`,[c])}:()=>{throw new N(`${n} is a read-only property`);
83
- };Object.defineProperty(m.aa.constructor,a,r);W([],[c],w=>{w=w[0];var z={get(){return w.ba(k(d))},enumerable:!0};f&&(f=Y(g,f),z.set=v=>{var x=[];f(d,w.ea(x,v));sb(x)});Object.defineProperty(m.aa.constructor,a,z);return[]});return[]})},m:(b,a,c,d,e,k)=>{var g=Vb(a,c);e=Y(d,e);W([],[b],f=>{f=f[0];var m=`constructor ${f.name}`;void 0===f.aa.ua&&(f.aa.ua=[]);if(void 0!==f.aa.ua[a-1])throw new N(`Cannot register multiple constructors with identical number of parameters (${a-1}) for class '${f.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);
84
- f.aa.ua[a-1]=()=>{Z(`Cannot construct ${f.name} due to unbound types`,g)};W([],g,n=>{n.splice(1,0,null);f.aa.ua[a-1]=Ub(m,n,null,e,k);return[]});return[]})},a:(b,a,c,d,e,k,g,f)=>{var m=Vb(c,d);a=U(a);a=Wb(a);k=Y(e,k);W([],[b],n=>{function r(){Z(`Cannot call ${w} due to unbound types`,m)}n=n[0];var w=`${n.name}.${a}`;a.startsWith("@@")&&(a=Symbol[a.substring(2)]);f&&n.aa.sb.push(a);var z=n.aa.pa,v=z[a];void 0===v||void 0===v.fa&&v.className!==n.name&&v.ta===c-2?(r.ta=c-2,r.className=n.name,z[a]=r):
85
- (Db(z,a,w),z[a].fa[c-2]=r);W([],m,x=>{x=Ub(w,x,n,k,g);void 0===z[a].fa?(x.ta=c-2,z[a]=x):z[a].fa[c-2]=x;return[]});return[]})},b:(b,a,c,d,e,k,g,f,m,n)=>{a=U(a);e=Y(d,e);W([],[b],r=>{r=r[0];var w=`${r.name}.${a}`,z={get(){Z(`Cannot access ${w} due to unbound types`,[c,g])},enumerable:!0,configurable:!0};z.set=m?()=>Z(`Cannot access ${w} due to unbound types`,[c,g]):()=>{throw new N(w+" is a read-only property");};Object.defineProperty(r.aa.pa,a,z);W([],m?[c,g]:[c],v=>{var x=v[0],q={get(){var I=Xb(this,
86
- r,w+" getter");return x.ba(e(k,I))},enumerable:!0};if(m){m=Y(f,m);var L=v[1];q.set=function(I){var u=Xb(this,r,w+" setter"),J=[];m(n,u,L.ea(J,I));sb(J)}}Object.defineProperty(r.aa.pa,a,q);return[]});return[]})},F:b=>V(b,Zb),l:(b,a,c,d,e)=>{a=U(a);e=0===e?"object":1===e?"number":"string";switch(e){case "object":function g(){}g.values={};V(b,{name:a,constructor:g,valueType:e,ba:function(f){return this.constructor.values[f]},ea:(f,m)=>m.value,ma:$b(a,c,d),ka:null});Eb(a,g);break;case "number":var k=
87
- {};V(b,{name:a,Ya:k,valueType:e,ba:f=>f,ea:(f,m)=>m,ma:$b(a,c,d),ka:null});Eb(a,k);delete h[a].ta;break;case "string":k={},V(b,{name:a,zb:{},ub:{},Ya:k,valueType:e,ba:function(f){return this.ub[f]},ea:function(f,m){return this.zb[m]},ma:$b(a,c,d),ka:null}),Eb(a,k),delete h[a].ta}},d:(b,a,c)=>{var d=jb(b,"enum");a=U(a);switch(d.valueType){case "object":b=d.constructor;d=Object.create(d.constructor.prototype,{value:{value:c},constructor:{value:$a(`${d.name}_${a}`,function(){})}});b.values[c]=d;b[a]=
88
- d;break;case "number":d.Ya[a]=c;break;case "string":d.zb[a]=c,d.ub[c]=a,d.Ya[a]=a}},q:(b,a,c)=>{a=U(a);V(b,{name:a,ba:d=>d,ea:(d,e)=>e,ma:ac(a,c),ka:null})},h:(b,a,c,d,e,k)=>{var g=Vb(a,c);b=U(b);b=Wb(b);e=Y(d,e);Eb(b,function(){Z(`Cannot call ${b} due to unbound types`,g)},a-1);W([],g,f=>{Qb(b,Ub(b,[f[0],null].concat(f.slice(1)),null,e,k),a-1);return[]})},k:(b,a,c,d,e)=>{a=U(a);let k=f=>f;if(0===d){var g=32-8*c;k=f=>f<<g>>>g;e=k(e)}V(b,{name:a,ba:k,ea:(f,m)=>m,ma:yb(a,c,0!==d),ka:null})},i:(b,a,
89
- c)=>{function d(k){return new e(Ca.buffer,M[k+4>>2],M[k>>2])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][a];c=U(c);V(b,{name:c,ba:d,ma:d},{Wb:!0})},G:(b,a)=>{a=U(a);V(b,{name:a,ba(c){var d=(d=c+4)?kc(D,d,M[c>>2],!0):"";hb(c);return d},ea(c,d){d instanceof ArrayBuffer&&(d=new Uint8Array(d));var e="string"==typeof d;if(!(e||ArrayBuffer.isView(d)&&1==d.BYTES_PER_ELEMENT))throw new N("Cannot pass non-string to std::string");
90
- var k=e?hc(d):d.length;var g=Gc(4+k+1),f=g+4;M[g>>2]=k;e?bc(d,f,k+1):D.set(d,f);null!==c&&c.push(hb,g);return g},ma:tb,ka(c){hb(c)}})},o:(b,a,c)=>{c=U(c);if(2===a){var d=mc;var e=nc;var k=oc}else d=pc,e=qc,k=rc;V(b,{name:c,ba:g=>{var f=d(g+4,M[g>>2]*a,!0);hb(g);return f},ea:(g,f)=>{if("string"!=typeof f)throw new N(`Cannot pass non-string to C++ string type ${c}`);var m=k(f),n=Gc(4+m+a);M[n>>2]=m/a;e(f,n+4,m+a);null!==g&&g.push(hb,n);return n},ma:tb,ka(g){hb(g)}})},P:(b,a,c,d,e,k)=>{nb[b]={name:U(a),
91
- Za:Y(c,d),qa:Y(e,k),ob:[]}},O:(b,a,c,d,e,k,g,f,m,n)=>{nb[b].ob.push({Pb:U(a),Vb:c,Tb:Y(d,e),Ub:k,fc:g,ec:Y(f,m),hc:n})},I:(b,a)=>{a=U(a);V(b,{Yb:!0,name:a,ba:()=>{},ea:()=>{}})},u:()=>{Za=!1;sc=0},f:(b,a,c)=>{var [d,...e]=vc(b,a),k=d.ea.bind(d),g=e.map(m=>m.ma.bind(m));b--;var f=Array(b);a=`methodCaller<(${e.map(m=>m.name)}) => ${d.name}>`;return uc($a(a,(m,n,r,w)=>{for(var z=0,v=0;v<b;++v)f[v]=g[v](w+z),z+=8;switch(c){case 0:var x=P(m).apply(null,f);break;case 2:x=Reflect.construct(P(m),f);break;
92
- case 3:x=f[0];break;case 1:x=P(m)[xc(n)](...f)}m=[];x=k(m,x);m.length&&(M[r>>2]=T(m));return x}))},R:Yb,J:b=>{b=xc(b);return T(h[b])},K:(b,a)=>{b=P(b);a=P(a);return T(b[a])},L:b=>{9<b&&(bb[b+1]+=1)},e:(b,a,c,d,e)=>tc[b](a,c,d,e),M:()=>T([]),s:b=>T(xc(b)),S:()=>T({}),Q:b=>{var a=P(b);sb(a);Yb(b)},g:(b,a,c)=>{b=P(b);a=P(a);c=P(c);b[a]=c},v:(b,a)=>{yc[b]&&(clearTimeout(yc[b].id),delete yc[b]);if(!a)return 0;var c=setTimeout(()=>{delete yc[b];Bc(()=>Hc(b,performance.now()))},a);yc[b]={id:c,kc:a};return 0},
93
- w:(b,a,c,d)=>{var e=(new Date).getFullYear(),k=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();M[b>>2]=60*Math.max(k,e);Fa[a>>2]=Number(k!=e);a=g=>{var f=Math.abs(g);return`UTC${0<=g?"-":"+"}${String(Math.floor(f/60)).padStart(2,"0")}${String(f%60).padStart(2,"0")}`};b=a(k);a=a(e);e<k?(bc(b,c,17),bc(a,d,17)):(bc(b,d,17),bc(a,c,17))},x:function(b,a,c){if(!(0<=b&&3>=b))return 28;Ia[c>>3]=BigInt(Math.round(1E6*(0===b?Date.now():performance.now())));return 0},y:b=>{var a=
94
- D.length;b>>>=0;if(2147483648<b)return!1;for(var c=1;4>=c;c*=2){var d=a*(1+.2/c);d=Math.min(d,b+100663296);a:{d=(Math.min(2147483648,65536*Math.ceil(Math.max(b,d)/65536))-Ma.buffer.byteLength+65535)/65536|0;try{Ma.grow(d);La();var e=1;break a}catch(k){}e=void 0}if(e)return!0}return!1},C:(b,a)=>{var c=0,d=0,e;for(e of Ec()){var k=a+c;M[b+d>>2]=k;c+=bc(e,k,Infinity)+1;d+=4}return 0},D:(b,a)=>{var c=Ec();M[b>>2]=c.length;b=0;for(var d of c)b+=hc(d)+1;M[a>>2]=b;return 0},B:()=>52,z:function(){return 70},
95
- A:(b,a,c,d)=>{for(var e=0,k=0;k<c;k++){var g=M[a>>2],f=M[a+4>>2];a+=8;for(var m=0;m<f;m++){var n=b,r=D[g+m],w=Fc[n];0===r||10===r?((1===n?ua:va)(kc(w)),w.length=0):w.push(r)}e+=f}M[d>>2]=e;return 0},t:Ac},Jc;
96
- Jc=await (async function(){function b(c){c=Jc=c.exports;hb=c.V;Gc=c.W;gb=c.X;Hc=c.Z;Ma=c.T;Rb=c.Y;La();return Jc}var a={a:Ic};if(h.instantiateWasm)return new Promise(c=>{h.instantiateWasm(a,(d,e)=>{c(b(d,e))})});Oa??=h.locateFile?h.locateFile("canvas_advanced.wasm",oa):oa+"canvas_advanced.wasm";return b((await Ta(a)).instance)}());
97
- (function(){function b(){h.calledRun=!0;if(!xa){Ka=!0;Jc.U();za?.(h);h.onRuntimeInitialized?.();if(h.postRun)for("function"==typeof h.postRun&&(h.postRun=[h.postRun]);h.postRun.length;){var a=h.postRun.shift();Wa.push(a)}Va(Wa)}}if(h.preRun)for("function"==typeof h.preRun&&(h.preRun=[h.preRun]);h.preRun.length;)Ya();Va(Xa);h.setStatus?(h.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>h.setStatus(""),1);b()},1)):b()})();Ka?moduleRtn=h:moduleRtn=new Promise((b,a)=>{za=b;Ba=a});
47
+ var U=b=>{for(var a="";;){var c=D[b++];if(!c)return a;a+=String.fromCharCode(c)}},db={},eb=(b,a)=>{if(void 0===a)throw new N("ptr should not be undefined");for(;b.s;)a=b.V(a),b=b.s;return a},fb={},ib=b=>{b=gb(b);var a=U(b);hb(b);return a},jb=(b,a)=>{var c=fb[b];if(void 0===c)throw b=`${a} has unknown type ${ib(b)}`,new N(b);return c},kb=()=>{},lb=!1,mb=b=>{if(!globalThis.FinalizationRegistry)return mb=a=>a,b;lb=new FinalizationRegistry(a=>{a=a.g;--a.count.value;0===a.count.value&&(a.v?a.G.I(a.v):
48
+ a.l.h.I(a.j))});mb=a=>{var c=a.g;c.v&&lb.register(a,{g:c},a);return a};kb=a=>{lb.unregister(a)};return mb(b)},nb={},ob=b=>{for(;b.length;){var a=b.pop();b.pop()(a)}};function pb(b){return this.i(M[b>>2])}
49
+ var qb={},vb={},wb=class extends Error{constructor(b){super(b);this.name="InternalError"}},W=(b,a,c)=>{function d(f){f=c(f);if(f.length!==b.length)throw new wb("Mismatched type converter count");for(var m=0;m<b.length;++m)V(b[m],f[m])}b.forEach(f=>vb[f]=a);var e=Array(a.length),k=[],g=0;for(let [f,m]of a.entries())fb.hasOwnProperty(m)?e[f]=fb[m]:(k.push(m),qb.hasOwnProperty(m)||(qb[m]=[]),qb[m].push(()=>{e[f]=fb[m];++g;g===k.length&&d(e)}));0===k.length&&d(e)};
50
+ function xb(b,a,c={}){var d=a.name;if(!b)throw new N(`type "${d}" must have a positive integer typeid pointer`);if(fb.hasOwnProperty(b)){if(c.ob)return;throw new N(`Cannot register type '${d}' twice`);}fb[b]=a;delete vb[b];qb.hasOwnProperty(b)&&(a=qb[b],delete qb[b],a.forEach(e=>e()))}function V(b,a,c={}){return xb(b,a,c)}var yb=b=>{throw new N(b.g.l.h.name+" instance already deleted");},zb=[];function Ab(){}
51
+ var Bb={},Cb=(b,a,c)=>{if(void 0===b[a].m){var d=b[a];b[a]=function(...e){if(!b[a].m.hasOwnProperty(e.length))throw new N(`Function '${c}' called with an invalid number of arguments (${e.length}) - expects one of (${b[a].m})!`);return b[a].m[e.length].apply(this,e)};b[a].m=[];b[a].m[d.L]=d}},Db=(b,a,c)=>{if(h.hasOwnProperty(b)){if(void 0===c||void 0!==h[b].m&&void 0!==h[b].m[c])throw new N(`Cannot register public name '${b}' twice`);Cb(h,b,b);if(h[b].m.hasOwnProperty(c))throw new N(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`);
52
+ h[b].m[c]=a}else h[b]=a,h[b].L=c},Eb=b=>{b=b.replace(/[^a-zA-Z0-9_]/g,"$");var a=b.charCodeAt(0);return 48<=a&&57>=a?`_${b}`:b};function Fb(b,a,c,d,e,k,g,f){this.name=b;this.constructor=a;this.H=c;this.I=d;this.s=e;this.jb=k;this.V=g;this.eb=f;this.Ka=[]}
53
+ var Gb=(b,a,c)=>{for(;a!==c;){if(!a.V)throw new N(`Expected null or instance of ${c.name}, got an instance of ${a.name}`);b=a.V(b);a=a.s}return b},Hb=b=>{if(null===b)return"null";var a=typeof b;return"object"===a||"array"===a||"function"===a?b.toString():""+b};
54
+ function Ib(b,a){if(null===a){if(this.pa)throw new N(`null is not a valid ${this.name}`);return 0}if(!a.g)throw new N(`Cannot pass "${Hb(a)}" as a ${this.name}`);if(!a.g.j)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);return Gb(a.g.j,a.g.l.h,this.h)}
55
+ function Jb(b,a){if(null===a){if(this.pa)throw new N(`null is not a valid ${this.name}`);if(this.ba){var c=this.ra();null!==b&&b.push(this.I,c);return c}return 0}if(!a||!a.g)throw new N(`Cannot pass "${Hb(a)}" as a ${this.name}`);if(!a.g.j)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.aa&&a.g.l.aa)throw new N(`Cannot convert argument of type ${a.g.G?a.g.G.name:a.g.l.name} to parameter type ${this.name}`);c=Gb(a.g.j,a.g.l.h,this.h);if(this.ba){if(void 0===a.g.v)throw new N("Passing raw pointer to smart pointer is illegal");
56
+ switch(this.Ab){case 0:if(a.g.G===this)c=a.g.v;else throw new N(`Cannot convert argument of type ${a.g.G?a.g.G.name:a.g.l.name} to parameter type ${this.name}`);break;case 1:c=a.g.v;break;case 2:if(a.g.G===this)c=a.g.v;else{var d=a.clone();c=this.wb(c,T(()=>d["delete"]()));null!==b&&b.push(this.I,c)}break;default:throw new N("Unsupported sharing policy");}}return c}
57
+ function Kb(b,a){if(null===a){if(this.pa)throw new N(`null is not a valid ${this.name}`);return 0}if(!a.g)throw new N(`Cannot pass "${Hb(a)}" as a ${this.name}`);if(!a.g.j)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);if(a.g.l.aa)throw new N(`Cannot convert argument of type ${a.g.l.name} to parameter type ${this.name}`);return Gb(a.g.j,a.g.l.h,this.h)}
58
+ var Lb=(b,a,c)=>{if(a===c)return b;if(void 0===c.s)return null;b=Lb(b,a,c.s);return null===b?null:c.eb(b)},Mb=(b,a)=>{a=eb(b,a);return db[a]},Nb=(b,a)=>{if(!a.l||!a.j)throw new wb("makeClassHandle requires ptr and ptrType");if(!!a.G!==!!a.v)throw new wb("Both smartPtrType and smartPtr must be specified");a.count={value:1};return mb(Object.create(b,{g:{value:a,writable:!0}}))};
59
+ function Ob(b,a,c,d,e,k,g,f,m,n,r){this.name=b;this.h=a;this.pa=c;this.aa=d;this.ba=e;this.vb=k;this.Ab=g;this.La=f;this.ra=m;this.wb=n;this.I=r;e||void 0!==a.s?this.o=Jb:(this.o=d?Ib:Kb,this.C=null)}
60
+ var Pb=(b,a,c)=>{if(!h.hasOwnProperty(b))throw new wb("Replacing nonexistent public symbol");void 0!==h[b].m&&void 0!==c?h[b].m[c]=a:(h[b]=a,h[b].L=c)},Y={},Rb=(b,a,c=[])=>{b.includes("j")?(b=b.replace(/p/g,"i"),a=(0,Y[b])(a,...c)):a=Qb.get(a)(...c);return a},Sb=(b,a)=>(...c)=>Rb(b,a,c),Z=(b,a)=>{b=U(b);var c=b.includes("j")?Sb(b,a):Qb.get(a);if("function"!=typeof c)throw new N(`unknown function pointer with signature ${b}: ${a}`);return c};class Tb extends Error{}
61
+ var Ub=(b,a)=>{function c(k){e[k]||fb[k]||(vb[k]?vb[k].forEach(c):(d.push(k),e[k]=!0))}var d=[],e={};a.forEach(c);throw new Tb(`${b}: `+d.map(ib).join([", "]));};function Vb(b){for(var a=1;a<b.length;++a)if(null!==b[a]&&void 0===b[a].C)return!0;return!1}
62
+ function Wb(b,a,c,d,e){var k=a.length;if(2>k)throw new N("argTypes array size mismatch! Must at least get return value and 'this' types!");var g=null!==a[1]&&null!==c,f=Vb(a),m=!a[0].qb,n=k-2,r=Array(n),w=[],z=[];return $a(b,function(...v){z.length=0;w.length=g?2:1;w[0]=e;if(g){var x=a[1].o(z,this);w[1]=x}for(var q=0;q<n;++q)r[q]=a[q+2].o(z,v[q]),w.push(r[q]);v=d(...w);if(f)ob(z);else for(q=g?1:2;q<a.length;q++){var L=1===q?x:r[q-2];null!==a[q].C&&a[q].C(L)}x=m?a[0].i(v):void 0;return x})}
63
+ var Xb=(b,a)=>{for(var c=[],d=0;d<b;d++)c.push(M[a+4*d>>2]);return c},Yb=b=>{b=b.trim();const a=b.indexOf("(");return-1===a?b:b.slice(0,a)},Zb=(b,a,c)=>{if(!(b instanceof Object))throw new N(`${c} with invalid "this": ${b}`);if(!(b instanceof a.h.constructor))throw new N(`${c} incompatible with "this" of type ${b.constructor.name}`);if(!b.g.j)throw new N(`cannot call emscripten binding method ${c} on deleted object`);return Gb(b.g.j,b.g.l.h,a.h)},$b=b=>{9<b&&0===--bb[b+1]&&(bb[b]=void 0,ab.push(b))},
64
+ ac={name:"emscripten::val",i:b=>{var a=P(b);$b(b);return a},o:(b,a)=>T(a),F:pb,C:null},bc=(b,a,c)=>{switch(a){case 1:return c?function(d){return this.i(Ba[d])}:function(d){return this.i(D[d])};case 2:return c?function(d){return this.i(Da[d>>1])}:function(d){return this.i(Ea[d>>1])};case 4:return c?function(d){return this.i(Fa[d>>2])}:function(d){return this.i(M[d>>2])};default:throw new TypeError(`invalid integer width (${a}): ${b}`);}},cc=(b,a)=>{switch(a){case 4:return function(c){return this.i(Ga[c>>
65
+ 2])};case 8:return function(c){return this.i(Ha[c>>3])};default:throw new TypeError(`invalid float width (${a}): ${b}`);}},ic=(b,a,c)=>{switch(a){case 1:return c?d=>Ba[d]:d=>D[d];case 2:return c?d=>Da[d>>1]:d=>Ea[d>>1];case 4:return c?d=>Fa[d>>2]:d=>M[d>>2];default:throw new TypeError(`invalid integer width (${a}): ${b}`);}},jc=(b,a,c)=>{var d=D;if(!(0<c))return 0;var e=a;c=a+c-1;for(var k=0;k<b.length;++k){var g=b.codePointAt(k);if(127>=g){if(a>=c)break;d[a++]=g}else if(2047>=g){if(a+1>=c)break;
66
+ d[a++]=192|g>>6;d[a++]=128|g&63}else if(65535>=g){if(a+2>=c)break;d[a++]=224|g>>12;d[a++]=128|g>>6&63;d[a++]=128|g&63}else{if(a+3>=c)break;d[a++]=240|g>>18;d[a++]=128|g>>12&63;d[a++]=128|g>>6&63;d[a++]=128|g&63;k++}}d[a]=0;return a-e},kc=b=>{for(var a=0,c=0;c<b.length;++c){var d=b.charCodeAt(c);127>=d?a++:2047>=d?a+=2:55296<=d&&57343>=d?(a+=4,++c):a+=3}return a},lc=globalThis.TextDecoder&&new TextDecoder,mc=(b,a,c,d)=>{c=a+c;if(d)return c;for(;b[a]&&!(a>=c);)++a;return a},nc=(b,a=0,c,d)=>{c=mc(b,
67
+ a,c,d);if(16<c-a&&b.buffer&&lc)return lc.decode(b.subarray(a,c));for(d="";a<c;){var e=b[a++];if(e&128){var k=b[a++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|k);else{var g=b[a++]&63;e=224==(e&240)?(e&15)<<12|k<<6|g:(e&7)<<18|k<<12|g<<6|b[a++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d},oc=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,pc=(b,a,c)=>{b>>=1;a=mc(Ea,b,a/2,c);if(16<a-b&&oc)return oc.decode(Ea.subarray(b,
68
+ a));for(c="";b<a;++b)c+=String.fromCharCode(Ea[b]);return c},qc=(b,a,c)=>{c??=2147483647;if(2>c)return 0;c-=2;var d=a;c=c<2*b.length?c/2:b.length;for(var e=0;e<c;++e)Da[a>>1]=b.charCodeAt(e),a+=2;Da[a>>1]=0;return a-d},rc=b=>2*b.length,sc=(b,a,c)=>{var d="";b>>=2;for(var e=0;!(e>=a/4);e++){var k=M[b+e];if(!k&&!c)break;d+=String.fromCodePoint(k)}return d},tc=(b,a,c)=>{c??=2147483647;if(4>c)return 0;var d=a;c=d+c-4;for(var e=0;e<b.length;++e){var k=b.codePointAt(e);65535<k&&e++;Fa[a>>2]=k;a+=4;if(a+
69
+ 4>c)break}Fa[a>>2]=0;return a-d},uc=b=>{for(var a=0,c=0;c<b.length;++c)65535<b.codePointAt(c)&&c++,a+=4;return a},vc=0,wc=[],xc=b=>{var a=wc.length;wc.push(b);return a},yc=(b,a)=>{for(var c=Array(b),d=0;d<b;++d)c[d]=jb(M[a+4*d>>2],`parameter ${d}`);return c},zc={},Ac=b=>{var a=zc[b];return void 0===a?U(b):a},Bc={},Cc=b=>{if(!(b instanceof Sa||"unwind"==b))throw b;},Dc=b=>{ya=b;Za||0<vc||(h.onExit?.(b),xa=!0);throw new Sa(b);},Ec=b=>{if(!xa)try{if(b(),!(Za||0<vc))try{ya=b=ya,Dc(b)}catch(a){Cc(a)}}catch(a){Cc(a)}},
70
+ Fc={},Hc=()=>{if(!Gc){var b={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:na||"./this.program"},a;for(a in Fc)void 0===Fc[a]?delete b[a]:b[a]=Fc[a];var c=[];for(a in b)c.push(`${a}=${b[a]}`);Gc=c}return Gc},Gc,Ic=[null,[],[]];
71
+ (()=>{let b=Ab.prototype;Object.assign(b,{isAliasOf:function(c){if(!(this instanceof Ab&&c instanceof Ab))return!1;var d=this.g.l.h,e=this.g.j;c.g=c.g;var k=c.g.l.h;for(c=c.g.j;d.s;)e=d.V(e),d=d.s;for(;k.s;)c=k.V(c),k=k.s;return d===k&&e===c},clone:function(){this.g.j||yb(this);if(this.g.P)return this.g.count.value+=1,this;var c=mb,d=Object,e=d.create,k=Object.getPrototypeOf(this),g=this.g;c=c(e.call(d,k,{g:{value:{count:g.count,T:g.T,P:g.P,j:g.j,l:g.l,v:g.v,G:g.G}}}));c.g.count.value+=1;c.g.T=!1;
72
+ return c},["delete"](){this.g.j||yb(this);if(this.g.T&&!this.g.P)throw new N("Object already scheduled for deletion");kb(this);var c=this.g;--c.count.value;0===c.count.value&&(c.v?c.G.I(c.v):c.l.h.I(c.j));this.g.P||(this.g.v=void 0,this.g.j=void 0)},isDeleted:function(){return!this.g.j},deleteLater:function(){this.g.j||yb(this);if(this.g.T&&!this.g.P)throw new N("Object already scheduled for deletion");zb.push(this);this.g.T=!0;return this}});const a=Symbol.dispose;a&&(b[a]=b["delete"])})();
73
+ Object.assign(Ob.prototype,{kb(b){this.La&&(b=this.La(b));return b},Da(b){this.I?.(b)},F:pb,i:function(b){function a(){return this.ba?Nb(this.h.H,{l:this.vb,j:c,G:this,v:b}):Nb(this.h.H,{l:this,j:b})}var c=this.kb(b);if(!c)return this.Da(b),null;var d=Mb(this.h,c);if(void 0!==d){if(0===d.g.count.value)return d.g.j=c,d.g.v=b,d.clone();d=d.clone();this.Da(b);return d}d=this.h.jb(c);d=Bb[d];if(!d)return a.call(this);d=this.aa?d.$a:d.pointerType;var e=Lb(c,this.h,d.h);return null===e?a.call(this):this.ba?
74
+ Nb(d.h.H,{l:d,j:e,G:this,v:b}):Nb(d.h.H,{l:d,j:e})}});h.noExitRuntime&&(Za=h.noExitRuntime);h.print&&(ua=h.print);h.printErr&&(va=h.printErr);h.wasmBinary&&(wa=h.wasmBinary);h.thisProgram&&(na=h.thisProgram);if(h.preInit)for("function"==typeof h.preInit&&(h.preInit=[h.preInit]);0<h.preInit.length;)h.preInit.shift()();
75
+ var hb,Jc,gb,Kc,Ka,Qb,Lc={_abort_js:()=>La(""),_embind_create_inheriting_constructor:(b,a,c)=>{b=U(b);a=jb(a,"wrapper");c=P(c);var d=a.h,e=d.H,k=d.s.H,g=d.s.constructor;b=$a(b,function(...f){for(var m of d.s.Ka)if(this[m]===k[m])throw new cb(`Pure virtual function ${m} must be implemented in JavaScript`);Object.defineProperty(this,"__parent",{value:e});this.__construct(...f)});e.__construct=function(...f){if(this===e)throw new N("Pass correct 'this' to __construct");f=g.implement(this,...f);kb(f);
76
+ var m=f.g;f.notifyOnDestruction();m.P=!0;Object.defineProperties(this,{g:{value:m}});mb(this);f=m.j;f=eb(d,f);if(db.hasOwnProperty(f))throw new N(`Tried to register registered instance: ${f}`);db[f]=this};e.__destruct=function(){if(this===e)throw new N("Pass correct 'this' to __destruct");kb(this);var f=this.g.j;f=eb(d,f);if(db.hasOwnProperty(f))delete db[f];else throw new N(`Tried to unregister unregistered instance: ${f}`);};b.prototype=Object.create(e);Object.assign(b.prototype,c);return T(b)},
77
+ _embind_finalize_value_object:b=>{var a=nb[b];delete nb[b];var c=a.ra,d=a.I,e=a.Ga,k=e.map(g=>g.nb).concat(e.map(g=>g.yb));W([b],k,g=>{var f={},m,n;for([m,n]of e.entries()){const r=g[m],w=n.lb,z=n.mb,v=g[m+e.length],x=n.xb,q=n.zb;f[n.hb]={read:L=>r.i(w(z,L)),write:(L,I)=>{var u=[];x(q,L,v.o(u,I));ob(u)},optional:r.optional}}return[{name:a.name,i:r=>{var w={},z;for(z in f)w[z]=f[z].read(r);d(r);return w},o:(r,w)=>{for(var z in f)if(!(z in w||f[z].optional))throw new TypeError(`Missing field: "${z}"`);
78
+ var v=c();for(z in f)f[z].write(v,w[z]);null!==r&&r.push(d,v);return v},F:pb,C:d}]})},_embind_register_bigint:()=>{},_embind_register_bool:(b,a,c,d)=>{a=U(a);V(b,{name:a,i:function(e){return!!e},o:function(e,k){return k?c:d},F:function(e){return this.i(D[e])},C:null})},_embind_register_class:(b,a,c,d,e,k,g,f,m,n,r,w,z)=>{r=U(r);k=Z(e,k);f&&=Z(g,f);n&&=Z(m,n);z=Z(w,z);var v=Eb(r);Db(v,function(){Ub(`Cannot construct ${r} due to unbound types`,[d])});W([b,a,c],d?[d]:[],x=>{x=x[0];if(d){var q=x.h;var L=
79
+ q.H}else L=Ab.prototype;x=$a(r,function(...K){if(Object.getPrototypeOf(this)!==I)throw new N(`Use 'new' to construct ${r}`);if(void 0===u.M)throw new N(`${r} has no accessible constructor`);var R=u.M[K.length];if(void 0===R)throw new N(`Tried to invoke ctor of ${r} with invalid number of parameters (${K.length}) - expected (${Object.keys(u.M).toString()}) parameters instead!`);return R.apply(this,K)});var I=Object.create(L,{constructor:{value:x}});x.prototype=I;var u=new Fb(r,x,I,z,q,k,f,n);if(u.s){var J;
80
+ (J=u.s).W??(J.W=[]);u.s.W.push(u)}q=new Ob(r,u,!0,!1,!1);J=new Ob(r+"*",u,!1,!1,!1);L=new Ob(r+" const*",u,!1,!0,!1);Bb[b]={pointerType:J,$a:L};Pb(v,x);return[q,J,L]})},_embind_register_class_class_function:(b,a,c,d,e,k,g)=>{var f=Xb(c,d);a=U(a);a=Yb(a);k=Z(e,k);W([],[b],m=>{function n(){Ub(`Cannot call ${r} due to unbound types`,f)}m=m[0];var r=`${m.name}.${a}`;a.startsWith("@@")&&(a=Symbol[a.substring(2)]);var w=m.h.constructor;void 0===w[a]?(n.L=c-1,w[a]=n):(Cb(w,a,r),w[a].m[c-1]=n);W([],f,z=>
81
+ {z=Wb(r,[z[0],null].concat(z.slice(1)),null,k,g);void 0===w[a].m?(z.L=c-1,w[a]=z):w[a].m[c-1]=z;if(m.h.W)for(const v of m.h.W)v.constructor.hasOwnProperty(a)||(v.constructor[a]=z);return[]});return[]})},_embind_register_class_class_property:(b,a,c,d,e,k,g,f)=>{a=U(a);k=Z(e,k);W([],[b],m=>{m=m[0];var n=`${m.name}.${a}`,r={get(){Ub(`Cannot access ${n} due to unbound types`,[c])},enumerable:!0,configurable:!0};r.set=f?()=>{Ub(`Cannot access ${n} due to unbound types`,[c])}:()=>{throw new N(`${n} is a read-only property`);
82
+ };Object.defineProperty(m.h.constructor,a,r);W([],[c],w=>{w=w[0];var z={get(){return w.i(k(d))},enumerable:!0};f&&(f=Z(g,f),z.set=v=>{var x=[];f(d,w.o(x,v));ob(x)});Object.defineProperty(m.h.constructor,a,z);return[]});return[]})},_embind_register_class_constructor:(b,a,c,d,e,k)=>{var g=Xb(a,c);e=Z(d,e);W([],[b],f=>{f=f[0];var m=`constructor ${f.name}`;void 0===f.h.M&&(f.h.M=[]);if(void 0!==f.h.M[a-1])throw new N(`Cannot register multiple constructors with identical number of parameters (${a-1}) for class '${f.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);
83
+ f.h.M[a-1]=()=>{Ub(`Cannot construct ${f.name} due to unbound types`,g)};W([],g,n=>{n.splice(1,0,null);f.h.M[a-1]=Wb(m,n,null,e,k);return[]});return[]})},_embind_register_class_function:(b,a,c,d,e,k,g,f)=>{var m=Xb(c,d);a=U(a);a=Yb(a);k=Z(e,k);W([],[b],n=>{function r(){Ub(`Cannot call ${w} due to unbound types`,m)}n=n[0];var w=`${n.name}.${a}`;a.startsWith("@@")&&(a=Symbol[a.substring(2)]);f&&n.h.Ka.push(a);var z=n.h.H,v=z[a];void 0===v||void 0===v.m&&v.className!==n.name&&v.L===c-2?(r.L=c-2,r.className=
84
+ n.name,z[a]=r):(Cb(z,a,w),z[a].m[c-2]=r);W([],m,x=>{x=Wb(w,x,n,k,g);void 0===z[a].m?(x.L=c-2,z[a]=x):z[a].m[c-2]=x;return[]});return[]})},_embind_register_class_property:(b,a,c,d,e,k,g,f,m,n)=>{a=U(a);e=Z(d,e);W([],[b],r=>{r=r[0];var w=`${r.name}.${a}`,z={get(){Ub(`Cannot access ${w} due to unbound types`,[c,g])},enumerable:!0,configurable:!0};z.set=m?()=>Ub(`Cannot access ${w} due to unbound types`,[c,g]):()=>{throw new N(w+" is a read-only property");};Object.defineProperty(r.h.H,a,z);W([],m?[c,
85
+ g]:[c],v=>{var x=v[0],q={get(){var I=Zb(this,r,w+" getter");return x.i(e(k,I))},enumerable:!0};if(m){m=Z(f,m);var L=v[1];q.set=function(I){var u=Zb(this,r,w+" setter"),J=[];m(n,u,L.o(J,I));ob(J)}}Object.defineProperty(r.h.H,a,q);return[]});return[]})},_embind_register_emval:b=>V(b,ac),_embind_register_enum:(b,a,c,d,e)=>{a=U(a);e=0===e?"object":1===e?"number":"string";switch(e){case "object":function g(){}g.values={};V(b,{name:a,constructor:g,valueType:e,i:function(f){return this.constructor.values[f]},
86
+ o:(f,m)=>m.value,F:bc(a,c,d),C:null});Db(a,g);break;case "number":var k={};V(b,{name:a,qa:k,valueType:e,i:f=>f,o:(f,m)=>m,F:bc(a,c,d),C:null});Db(a,k);delete h[a].L;break;case "string":k={},V(b,{name:a,Ra:{},Ma:{},qa:k,valueType:e,i:function(f){return this.Ma[f]},o:function(f,m){return this.Ra[m]},F:bc(a,c,d),C:null}),Db(a,k),delete h[a].L}},_embind_register_enum_value:(b,a,c)=>{var d=jb(b,"enum");a=U(a);switch(d.valueType){case "object":b=d.constructor;d=Object.create(d.constructor.prototype,{value:{value:c},
87
+ constructor:{value:$a(`${d.name}_${a}`,function(){})}});b.values[c]=d;b[a]=d;break;case "number":d.qa[a]=c;break;case "string":d.Ra[a]=c,d.Ma[c]=a,d.qa[a]=a}},_embind_register_float:(b,a,c)=>{a=U(a);V(b,{name:a,i:d=>d,o:(d,e)=>e,F:cc(a,c),C:null})},_embind_register_function:(b,a,c,d,e,k)=>{var g=Xb(a,c);b=U(b);b=Yb(b);e=Z(d,e);Db(b,function(){Ub(`Cannot call ${b} due to unbound types`,g)},a-1);W([],g,f=>{Pb(b,Wb(b,[f[0],null].concat(f.slice(1)),null,e,k),a-1);return[]})},_embind_register_integer:(b,
88
+ a,c,d,e)=>{a=U(a);let k=f=>f;if(0===d){var g=32-8*c;k=f=>f<<g>>>g;e=k(e)}V(b,{name:a,i:k,o:(f,m)=>m,F:ic(a,c,0!==d),C:null})},_embind_register_memory_view:(b,a,c)=>{function d(k){return new e(Ba.buffer,M[k+4>>2],M[k>>2])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][a];c=U(c);V(b,{name:c,i:d,F:d},{ob:!0})},_embind_register_std_string:(b,a)=>{a=U(a);V(b,{name:a,i(c){var d=(d=c+4)?nc(D,d,M[c>>2],!0):"";hb(c);return d},o(c,d){d instanceof ArrayBuffer&&
89
+ (d=new Uint8Array(d));var e="string"==typeof d;if(!(e||ArrayBuffer.isView(d)&&1==d.BYTES_PER_ELEMENT))throw new N("Cannot pass non-string to std::string");var k=e?kc(d):d.length;var g=Jc(4+k+1),f=g+4;M[g>>2]=k;e?jc(d,f,k+1):D.set(d,f);null!==c&&c.push(hb,g);return g},F:pb,C(c){hb(c)}})},_embind_register_std_wstring:(b,a,c)=>{c=U(c);if(2===a){var d=pc;var e=qc;var k=rc}else d=sc,e=tc,k=uc;V(b,{name:c,i:g=>{var f=d(g+4,M[g>>2]*a,!0);hb(g);return f},o:(g,f)=>{if("string"!=typeof f)throw new N(`Cannot pass non-string to C++ string type ${c}`);
90
+ var m=k(f),n=Jc(4+m+a);M[n>>2]=m/a;e(f,n+4,m+a);null!==g&&g.push(hb,n);return n},F:pb,C(g){hb(g)}})},_embind_register_value_object:(b,a,c,d,e,k)=>{nb[b]={name:U(a),ra:Z(c,d),I:Z(e,k),Ga:[]}},_embind_register_value_object_field:(b,a,c,d,e,k,g,f,m,n)=>{nb[b].Ga.push({hb:U(a),nb:c,lb:Z(d,e),mb:k,yb:g,xb:Z(f,m),zb:n})},_embind_register_void:(b,a)=>{a=U(a);V(b,{qb:!0,name:a,i:()=>{},o:()=>{}})},_emscripten_runtime_keepalive_clear:()=>{Za=!1;vc=0},_emval_create_invoker:(b,a,c)=>{var [d,...e]=yc(b,a),k=
91
+ d.o.bind(d),g=e.map(m=>m.F.bind(m));b--;var f=Array(b);a=`methodCaller<(${e.map(m=>m.name)}) => ${d.name}>`;return xc($a(a,(m,n,r,w)=>{for(var z=0,v=0;v<b;++v)f[v]=g[v](w+z),z+=8;switch(c){case 0:var x=P(m).apply(null,f);break;case 2:x=Reflect.construct(P(m),f);break;case 3:x=f[0];break;case 1:x=P(m)[Ac(n)](...f)}m=[];x=k(m,x);m.length&&(M[r>>2]=T(m));return x}))},_emval_decref:$b,_emval_get_module_property:b=>{b=Ac(b);return T(h[b])},_emval_get_property:(b,a)=>{b=P(b);a=P(a);return T(b[a])},_emval_incref:b=>
92
+ {9<b&&(bb[b+1]+=1)},_emval_invoke:(b,a,c,d,e)=>wc[b](a,c,d,e),_emval_new_array:()=>T([]),_emval_new_cstring:b=>T(Ac(b)),_emval_new_object:()=>T({}),_emval_run_destructors:b=>{var a=P(b);ob(a);$b(b)},_emval_set_property:(b,a,c)=>{b=P(b);a=P(a);c=P(c);b[a]=c},_setitimer_js:(b,a)=>{Bc[b]&&(clearTimeout(Bc[b].id),delete Bc[b]);if(!a)return 0;var c=setTimeout(()=>{delete Bc[b];Ec(()=>Kc(b,performance.now()))},a);Bc[b]={id:c,Db:a};return 0},_tzset_js:(b,a,c,d)=>{var e=(new Date).getFullYear(),k=(new Date(e,
93
+ 0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();M[b>>2]=60*Math.max(k,e);Fa[a>>2]=Number(k!=e);a=g=>{var f=Math.abs(g);return`UTC${0<=g?"-":"+"}${String(Math.floor(f/60)).padStart(2,"0")}${String(f%60).padStart(2,"0")}`};b=a(k);a=a(e);e<k?(jc(b,c,17),jc(a,d,17)):(jc(b,d,17),jc(a,c,17))},clock_time_get:function(b,a,c,d){if(!(0<=b&&3>=b))return 28;b=Math.round(1E6*(0===b?Date.now():performance.now()));Ra=[b>>>0,(Qa=b,1<=+Math.abs(Qa)?0<Qa?+Math.floor(Qa/4294967296)>>>0:~~+Math.ceil((Qa-
94
+ +(~~Qa>>>0))/4294967296)>>>0:0)];Fa[d>>2]=Ra[0];Fa[d+4>>2]=Ra[1];return 0},emscripten_resize_heap:b=>{var a=D.length;b>>>=0;if(2147483648<b)return!1;for(var c=1;4>=c;c*=2){var d=a*(1+.2/c);d=Math.min(d,b+100663296);a:{d=(Math.min(2147483648,65536*Math.ceil(Math.max(b,d)/65536))-Ka.buffer.byteLength+65535)/65536|0;try{Ka.grow(d);Ja();var e=1;break a}catch(k){}e=void 0}if(e)return!0}return!1},environ_get:(b,a)=>{var c=0,d=0,e;for(e of Hc()){var k=a+c;M[b+d>>2]=k;c+=jc(e,k,Infinity)+1;d+=4}return 0},
95
+ environ_sizes_get:(b,a)=>{var c=Hc();M[b>>2]=c.length;b=0;for(var d of c)b+=kc(d)+1;M[a>>2]=b;return 0},fd_close:()=>52,fd_seek:function(){return 70},fd_write:(b,a,c,d)=>{for(var e=0,k=0;k<c;k++){var g=M[a>>2],f=M[a+4>>2];a+=8;for(var m=0;m<f;m++){var n=b,r=D[g+m],w=Ic[n];0===r||10===r?((1===n?ua:va)(nc(w)),w.length=0):w.push(r)}e+=f}M[d>>2]=e;return 0},proc_exit:Dc},Mc;
96
+ Mc=await (async function(){function b(c){c=Mc=c.exports;hb=c.free;Jc=c.malloc;gb=c.__getTypeName;Kc=c._emscripten_timeout;Y.vij=c.dynCall_vij;Y.iij=c.dynCall_iij;Y.ji=c.dynCall_ji;Y.jiji=c.dynCall_jiji;Y.viijii=c.dynCall_viijii;Y.iiiiij=c.dynCall_iiiiij;Y.iiiiijj=c.dynCall_iiiiijj;Y.iiiiiijj=c.dynCall_iiiiiijj;Ka=c.memory;Qb=c.__indirect_function_table;Ja();return Mc}var a={env:Lc,wasi_snapshot_preview1:Lc};if(h.instantiateWasm)return new Promise(c=>{h.instantiateWasm(a,(d,e)=>{c(b(d,e))})});
97
+ Ma??=h.locateFile?h.locateFile("canvas_advanced.wasm",oa):oa+"canvas_advanced.wasm";return b((await Pa(a)).instance)}());
98
+ (function(){function b(){h.calledRun=!0;if(!xa){Ia=!0;Mc.__wasm_call_ctors();za?.(h);h.onRuntimeInitialized?.();if(h.postRun)for("function"==typeof h.postRun&&(h.postRun=[h.postRun]);h.postRun.length;){var a=h.postRun.shift();Wa.push(a)}Va(Wa)}}if(h.preRun)for("function"==typeof h.preRun&&(h.preRun=[h.preRun]);h.preRun.length;)Ya();Va(Xa);h.setStatus?(h.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>h.setStatus(""),1);b()},1)):b()})();Ia?moduleRtn=h:moduleRtn=new Promise((b,a)=>{za=b;Aa=a});
98
99
  ;return moduleRtn}})();
99
100
  export default Rive;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rive-app/canvas-advanced-lite",
3
- "version": "2.42.2",
3
+ "version": "2.43.1",
4
4
  "description": "Rive's lite low-level canvas based web api.",
5
5
  "main": "canvas_advanced.mjs",
6
6
  "homepage": "https://rive.app",
package/rive.wasm CHANGED
Binary file
@@ -1036,6 +1036,30 @@ export declare class StateMachineInstance {
1036
1036
  */
1037
1037
  focusPrevious(): boolean;
1038
1038
 
1039
+ /**
1040
+ * Move focus to the nearest focusable node to the left of the current focus, by on-screen position.
1041
+ * @returns false if nothing is focused or no node lies in that direction
1042
+ */
1043
+ focusLeft(): boolean;
1044
+
1045
+ /**
1046
+ * Move focus to the nearest focusable node to the right of the current focus, by on-screen position.
1047
+ * @returns false if nothing is focused or no node lies in that direction
1048
+ */
1049
+ focusRight(): boolean;
1050
+
1051
+ /**
1052
+ * Move focus to the nearest focusable node to the up of the current focus, by on-screen position.
1053
+ * @returns false if nothing is focused or no node lies in that direction
1054
+ */
1055
+ focusUp(): boolean;
1056
+
1057
+ /**
1058
+ * Move focus to the nearest focusable node to the down of the current focus, by on-screen position.
1059
+ * @returns false if nothing is focused or no node lies in that direction
1060
+ */
1061
+ focusDown(): boolean;
1062
+
1039
1063
  /**
1040
1064
  * Clear focus from the Rive focus tree.
1041
1065
  */
@@ -1048,6 +1072,28 @@ export declare class StateMachineInstance {
1048
1072
  */
1049
1073
  focusState(): FocusState;
1050
1074
 
1075
+ /**
1076
+ * Forward a key press/release to the focus tree via the state machine's focus manager.
1077
+ * The event bubbles from the primary focus node up its ancestors until a handler consumes it.
1078
+ * Standalone modifier keys must never be sent; fold held modifiers into the `modifiers` bitmask.
1079
+ * @param key - GLFW-style key code (see js/src/utils/keyMap.ts)
1080
+ * @param modifiers - KeyModifiers bitmask (shift=1, ctrl=2, alt=4, meta=8)
1081
+ * @param isPressed - true for keydown, false for keyup
1082
+ * @param isRepeat - true if this is an auto-repeat keydown
1083
+ * @returns true if a node in the focus chain consumed the event
1084
+ */
1085
+ keyInput(key: number, modifiers: number, isPressed: boolean, isRepeat: boolean): boolean;
1086
+
1087
+ /**
1088
+ * Forward committed text (a printable stroke, IME composition result, or paste) to the focus
1089
+ * tree. This is the only way characters get inserted into a focused text field; `keyInput`
1090
+ * never inserts text. For a printable stroke, hosts typically call both: `keyInput` so
1091
+ * keyboard listeners on that key fire, then `textInput` for the characters.
1092
+ * @param text - the committed text
1093
+ * @returns true if a node in the focus chain consumed the text
1094
+ */
1095
+ textInput(text: string): boolean;
1096
+
1051
1097
  /**
1052
1098
  * Deletes the underlying instance created via the WASM. It's important to clean up this instance
1053
1099
  * when no longer in use
@@ -1354,6 +1400,7 @@ export enum StrokeJoin {
1354
1400
 
1355
1401
  export enum BlendMode {
1356
1402
  srcOver = 3,
1403
+ additive = 12,
1357
1404
  screen = 14,
1358
1405
  overlay = 15,
1359
1406
  darken = 16,
Binary file