@rive-app/webgl2-threads 0.0.0-stage → 2.47.0

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.
package/rive.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rive.js","mappings":"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","sources":["webpack://rive/webpack/universalModuleDefinition","webpack://rive/./src/animation/index.ts","webpack://rive/./src/animation/Animation.ts","webpack://rive/./src/runtimeLoader.ts","webpack://rive/./npm/webgl2_advanced/webgl2_advanced.mjs","webpack://rive/./npm/webgl2_threads/webgl2_threads.mjs","webpack://rive/./src/semantics/index.ts","webpack://rive/./src/semantics/semanticTreeModel.ts","webpack://rive/./src/semantics/types.ts","webpack://rive/./src/semantics/accessibilityOverlay.ts","webpack://rive/./src/semantics/claimedKeyEvents.ts","webpack://rive/./src/utils/canvasOffset.ts","webpack://rive/./src/utils/index.ts","webpack://rive/./src/utils/registerTouchInteractions.ts","webpack://rive/./src/utils/registerKeyboardInteractions.ts","webpack://rive/./src/utils/keyMap.ts","webpack://rive/./src/utils/textInputProxy.ts","webpack://rive/./src/utils/sanitizeUrl.ts","webpack://rive/./src/utils/finalizationRegistry.ts","webpack://rive/./src/utils/riveFont.ts","webpack://rive/webpack/bootstrap","webpack://rive/webpack/runtime/define property getters","webpack://rive/webpack/runtime/hasOwnProperty shorthand","webpack://rive/webpack/runtime/make namespace object","webpack://rive/./src/rive.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"rive\"] = factory();\n\telse\n\t\troot[\"rive\"] = factory();\n})(this, () => {\nreturn ","export { Animation } from \"./Animation\";\n","import type {\n LinearAnimationInstance,\n LinearAnimation,\n Artboard,\n RiveCanvas,\n} from \"./../rive_advanced.mjs\";\n\n/**\n * Represents an animation that can be played on an Artboard. \n * Wraps animations and instances from the runtime and keeps track of playback state.\n *\n * The `Animation` class manages the state and behavior of a single animation instance,\n * including its current time, loop count, and ability to scrub to a specific time.\n *\n * The class provides methods to advance the animation, apply its interpolated keyframe\n * values to the Artboard, and clean up the underlying animation instance when the\n * animation is no longer needed.\n */\nexport class Animation {\n public loopCount = 0;\n public readonly instance: LinearAnimationInstance;\n\n /**\n * The time to which the animation should move to on the next render.\n * If not null, the animation will scrub to this time instead of advancing by the given time.\n */\n public scrubTo: number | null = null;\n\n /**\n * Constructs a new animation\n * @constructor\n * @param {any} animation: runtime animation object\n * @param {any} instance: runtime animation instance object\n */\n constructor(\n private animation: LinearAnimation,\n private artboard: Artboard,\n runtime: RiveCanvas,\n public playing: boolean\n ) {\n this.instance = new runtime.LinearAnimationInstance(animation, artboard);\n }\n\n /**\n * Returns the animation's name\n */\n public get name(): string {\n return this.animation.name;\n }\n\n /**\n * Returns the animation's name\n */\n public get time(): number {\n return this.instance.time;\n }\n\n /**\n * Sets the animation's current time\n */\n public set time(value: number) {\n this.instance.time = value;\n }\n\n /**\n * Returns the animation's loop type\n */\n public get loopValue(): number {\n return this.animation.loopValue;\n }\n\n /**\n * Indicates whether the animation needs to be scrubbed.\n * @returns `true` if the animation needs to be scrubbed, `false` otherwise.\n */\n public get needsScrub(): boolean {\n return this.scrubTo !== null;\n }\n\n /**\n * Advances the animation by the give time. If the animation needs scrubbing,\n * time is ignored and the stored scrub value is used.\n * @param time the time to advance the animation by if no scrubbing required\n */\n public advance(time: number) {\n if (this.scrubTo === null) {\n this.instance.advance(time);\n } else {\n this.instance.time = 0;\n this.instance.advance(this.scrubTo);\n this.scrubTo = null;\n }\n }\n\n /**\n * Apply interpolated keyframe values to the artboard. This should be called after calling\n * .advance() on an animation instance so that new values are applied to properties.\n *\n * Note: This does not advance the artboard, which updates all objects on the artboard\n * @param mix - Mix value for the animation from 0 to 1\n */\n public apply(mix: number) {\n this.instance.apply(mix);\n }\n\n /**\n * Deletes the backing Wasm animation instance; once this is called, this\n * animation is no more.\n */\n public cleanup() {\n this.instance.delete();\n }\n}\n","import * as rc from \"./rive_advanced.mjs\";\nimport * as threads from \"./rive_threads.mjs\";\nimport packageData from \"package.json\";\n\n// Callback type when looking for a runtime instance\nexport type RuntimeCallback = (rive: rc.RiveCanvas) => void;\n\n// A module with a shared memory, an atomic load and a SIMD constant.\nconst threadsProbe = new Uint8Array([\n 0x00, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00, 0x01, 0x09, 0x02, 0x60, 0x00,\n 0x01, 0x7f, 0x60, 0x00, 0x01, 0x7b, 0x03, 0x03, 0x02, 0x00, 0x01, 0x05, 0x04,\n 0x01, 0x03, 0x01, 0x01, 0x0a, 0x1f, 0x02, 0x08, 0x00, 0x41, 0x00, 0xfe, 0x10,\n 0x02, 0x00, 0x0b, 0x14, 0x00, 0xfd, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b,\n]);\n\n// Null when this page can run the threaded build, else why not. A page that\n// is not isolated gets no shared memory, and the threaded build never loads.\nfunction threadsRefusal(): string | null {\n if (globalThis.crossOriginIsolated !== true) {\n return \"the page is not cross origin isolated\";\n }\n try {\n new MessageChannel().port1.postMessage(new SharedArrayBuffer(1));\n } catch {\n return \"the page cannot share memory with workers\";\n }\n if (!WebAssembly.validate(threadsProbe)) {\n return \"the browser cannot run wasm threads with SIMD\";\n }\n return null;\n}\n\n// Runtime singleton; use getInstance to provide a callback that returns the\n// Rive runtime\nexport class RuntimeLoader {\n // Singleton helpers\n private static runtime: rc.RiveCanvas;\n // Flag to indicate that loading has started/completed\n private static isLoading = false;\n // List of callbacks for the runtime that come in while loading\n private static callBackQueue: RuntimeCallback[] = [];\n // Instance of the Rive runtime\n private static rive: rc.RiveCanvas;\n // Path to the Wasm file; default path works for testing only;\n // if embedded wasm is used then this is never used.\n private static wasmURL = `https://unpkg.com/${packageData.name}@${packageData.version}/rive.wasm`;\n\n // Fallback WASM URL tried when the primary URL fails. Set to null to disable\n // the fallback entirely. Defaults to pulling from the jsdelivr CDN.\n private static wasmFallbackURL: string | null = `https://cdn.jsdelivr.net/npm/${packageData.name}@${packageData.version}/rive_fallback.wasm`;\n\n private static wasmBinary: ArrayBuffer | null = null;\n\n // The threaded build's wasm, tried first on a page that can run it. Null\n // in packages without one, or to stay on the build without threads.\n private static wasmThreadsURL: string | null =\n typeof threads.default === \"function\"\n ? `https://unpkg.com/${packageData.name}@${packageData.version}/rive_threads.wasm`\n : null;\n\n private static triedThreads = false;\n\n // Error callbacks enqueued from .getInstance()\n private static errorCallbackQueue: ((error: Error) => void)[] = [];\n\n // Class is never instantiated\n private constructor() {}\n\n /**\n * When true, performance.mark / performance.measure entries are emitted for\n * WASM initialization.\n */\n public static enablePerfMarks: boolean = false;\n\n // Rejects all pending awaitInstance() promises and resets loading state so\n // the next call to getInstance() / awaitInstance() can retry with a new URL.\n private static notifyError(error: Error): void {\n RuntimeLoader.isLoading = false;\n while (RuntimeLoader.errorCallbackQueue.length > 0) {\n RuntimeLoader.errorCallbackQueue.shift()?.(error);\n }\n RuntimeLoader.callBackQueue = [];\n }\n\n private static loaded(rive: rc.RiveCanvas): void {\n if (RuntimeLoader.enablePerfMarks) {\n performance.mark('rive:wasm-init:end');\n performance.measure('rive:wasm-init', 'rive:wasm-init:start', 'rive:wasm-init:end');\n }\n RuntimeLoader.runtime = rive;\n RuntimeLoader.errorCallbackQueue = [];\n // Fire all the callbacks\n while (RuntimeLoader.callBackQueue.length > 0) {\n RuntimeLoader.callBackQueue.shift()?.(RuntimeLoader.runtime);\n }\n }\n\n // Loads the runtime, threaded once per page where it can be, and otherwise\n // without threads.\n private static loadRuntime(): void {\n // Other packages bundle an empty module here, which webpack's interop\n // hands over as an object rather than undefined.\n const threaded = threads.default;\n const threadsUrl = RuntimeLoader.wasmThreadsURL;\n // A host's own binary is a build without threads.\n if (\n typeof threaded !== \"function\" ||\n threadsUrl === null ||\n RuntimeLoader.wasmBinary !== null ||\n RuntimeLoader.triedThreads\n ) {\n RuntimeLoader.loadUnthreaded();\n return;\n }\n RuntimeLoader.triedThreads = true;\n const refusal = threadsRefusal();\n if (refusal !== null) {\n console.warn(`Rive is running without threads: ${refusal}.`);\n RuntimeLoader.loadUnthreaded();\n return;\n }\n if (RuntimeLoader.enablePerfMarks) performance.mark('rive:wasm-init:start');\n // Not a catch, which would also take a throw from a callback.\n threaded({ locateFile: () => threadsUrl }).then(\n RuntimeLoader.loaded,\n (error) => {\n console.warn(\n `Rive is running without threads: the threaded build failed to load (${error?.message ?? error}).`,\n );\n RuntimeLoader.loadUnthreaded();\n },\n );\n }\n\n private static loadUnthreaded(): void {\n // Capture the URL at call time so the catch closure always refers to the\n // URL this particular attempt used, even if wasmURL is mutated for a retry.\n const attemptedUrl = RuntimeLoader.wasmURL;\n const wasmBinary = RuntimeLoader.wasmBinary;\n if (RuntimeLoader.enablePerfMarks) performance.mark('rive:wasm-init:start');\n rc.default({\n // Loads Wasm bundle\n locateFile: () => attemptedUrl,\n ...(wasmBinary ? { wasmBinary } : {})\n })\n .then(RuntimeLoader.loaded)\n .catch((error) => {\n // Capture specific error details\n const errorDetails = {\n message: error?.message || \"Unknown error\",\n type: error?.name || \"Error\",\n // Some browsers may provide additional WebAssembly-specific details\n wasmError:\n error instanceof WebAssembly.CompileError ||\n error instanceof WebAssembly.RuntimeError,\n originalError: error,\n };\n\n // Log detailed error for debugging\n console.debug(\"Rive WASM load error details:\", errorDetails);\n\n // In case the primary URL fails, or the wasm was not supported, try the\n // fallback URL (a rive_fallback.wasm compiled for older architectures).\n // The fallback can be customised or disabled via setWasmFallbackUrl().\n // TODO: (Gordon): preemptively test browser support and load the correct wasm file. Then use the fallback only if the primary fails.\n const fallbackUrl = RuntimeLoader.wasmFallbackURL;\n const alreadyOnFallback =\n fallbackUrl !== null &&\n attemptedUrl.toLowerCase() === fallbackUrl.toLowerCase();\n\n if (fallbackUrl !== null && !alreadyOnFallback) {\n console.warn(\n `Failed to load WASM from ${attemptedUrl} (${errorDetails.message}), trying fallback URL: ${fallbackUrl}`,\n );\n // Clear wasmBinary so the retry actually fetches via locateFile\n // instead of re-using the same (failing) in-memory binary.\n RuntimeLoader.wasmBinary = null;\n RuntimeLoader.setWasmUrl(fallbackUrl);\n RuntimeLoader.loadUnthreaded();\n } else {\n // When alreadyOnFallback is true, wasmURL has already been overwritten\n // with the fallback URL, so we can no longer recover the original\n // primary URL here. The primary URL was logged in the earlier warning.\n const triedUrls = alreadyOnFallback\n ? `the configured WASM URL or its fallback (${fallbackUrl})`\n : attemptedUrl;\n const errorMessage = [\n `Could not load Rive WASM file from ${triedUrls}.`,\n \"Possible reasons:\",\n \"- Network connection is down\",\n \"- WebAssembly is not supported in this environment\",\n \"- The WASM file is corrupted or incompatible\",\n \"\\nError details:\",\n `- Type: ${errorDetails.type}`,\n `- Message: ${errorDetails.message}`,\n `- WebAssembly-specific error: ${errorDetails.wasmError}`,\n \"\\nTo resolve, you may need to:\",\n \"1. Check your network connection\",\n \"2. Set a new WASM source via RuntimeLoader.setWasmUrl()\",\n \"3. Call RuntimeLoader.awaitInstance() again\",\n ].join(\"\\n\");\n\n console.error(errorMessage);\n RuntimeLoader.notifyError(new Error(errorMessage));\n }\n });\n }\n\n // Provides a runtime instance via a callback\n public static getInstance(callback: RuntimeCallback, onError?: (error: Error) => void): void {\n // If it's not loading, start loading runtime\n if (!RuntimeLoader.isLoading) {\n RuntimeLoader.isLoading = true;\n RuntimeLoader.loadRuntime();\n }\n if (!RuntimeLoader.runtime) {\n RuntimeLoader.callBackQueue.push(callback);\n if (onError) {\n RuntimeLoader.errorCallbackQueue.push(onError);\n }\n } else {\n callback(RuntimeLoader.runtime);\n }\n }\n\n // Provides a runtime instance via a promise; rejects if WASM fails to load.\n public static awaitInstance(): Promise<rc.RiveCanvas> {\n return new Promise<rc.RiveCanvas>((resolve, reject) =>\n RuntimeLoader.getInstance(resolve, reject),\n );\n }\n\n // Manually sets the wasm url\n public static setWasmUrl(url: string): void {\n RuntimeLoader.wasmURL = url;\n }\n\n // Gets the current wasm url\n public static getWasmUrl(): string {\n return RuntimeLoader.wasmURL;\n }\n\n /**\n * Sets the URL used as a fallback when the primary WASM URL fails to load.\n * Pass `null` to disable the fallback entirely.\n *\n * Defaults to pulling from the jsdelivr CDN.\n */\n public static setWasmFallbackUrl(url: string | null): void {\n RuntimeLoader.wasmFallbackURL = url;\n }\n\n // Gets the current fallback wasm url (null means fallback is disabled)\n public static getWasmFallbackUrl(): string | null {\n return RuntimeLoader.wasmFallbackURL;\n }\n\n /**\n * Sets the URL of the threaded build's wasm, which\n * `@rive-app/webgl2-threads` loads on a cross origin isolated page. Pass\n * `null` to always load the build without threads. Other packages have no\n * threaded build and ignore it.\n *\n * Defaults to pulling from the unpkg CDN.\n */\n public static setWasmThreadsUrl(url: string | null): void {\n RuntimeLoader.wasmThreadsURL = url;\n }\n\n // Gets the threaded build's wasm url (null means threads are off)\n public static getWasmThreadsUrl(): string | null {\n return RuntimeLoader.wasmThreadsURL;\n }\n\n // Manually sets the wasm binary or clears it with null\n public static setWasmBinary(value: ArrayBuffer | null): void {\n if ((value instanceof ArrayBuffer) || value === null) {\n RuntimeLoader.wasmBinary = value;\n return;\n }\n console.error(\"setWasmBinary expects an ArrayBuffer or null\");\n }\n\n // Gets the current wasm build as ArrayBuffer or null\n public static getWasmBinary(): ArrayBuffer | null {\n return RuntimeLoader.wasmBinary;\n }\n}\n","var Rive=(()=>{var _scriptName=globalThis.document?.currentScript?.src;return async function(moduleArg={}){var moduleRtn;var I=moduleArg,la=!!globalThis.window,sa=!!globalThis.WorkerGlobalScope;\nfunction ta(){function d(D){const F=q;l=e=0;q=new Map;F.forEach(J=>{try{J(D)}catch(N){console.error(N)}});this.lb();z&&z.Zb()}let e=0,l=0,q=new Map,z=null,C=null;this.requestAnimationFrame=function(D){e||=requestAnimationFrame(d.bind(this));const F=++l;q.set(F,D);return F};this.cancelAnimationFrame=function(D){q.delete(D);e&&0==q.size&&(cancelAnimationFrame(e),e=0)};this.Tb=function(D){C&&(document.body.remove(C),C=null);D||(C=document.createElement(\"div\"),C.style.backgroundColor=\"black\",C.style.position=\n\"fixed\",C.style.right=0,C.style.top=0,C.style.color=\"white\",C.style.padding=\"4px\",C.innerHTML=\"RIVE FPS\",D=function(F){C.innerHTML=\"RIVE FPS \"+F.toFixed(1)},document.body.appendChild(C));z=new function(){let F=0,J=0;this.Zb=function(){var N=performance.now();J?(++F,N-=J,1E3<N&&(D(1E3*F/N),F=J=0)):(J=N,F=0)}}};this.lb=function(){}}\nfunction xa(){console.assert(!0);const d=new Map;let e=-Infinity;this.push=function(l){l=l+255>>8;d.has(l)&&clearTimeout(d.get(l));d.set(l,setTimeout(function(){d.delete(l);0==d.length?e=-Infinity:l==e&&(e=Math.max(...d.keys()),console.assert(e<l))},1E3));e=Math.max(l,e);return e<<8}}function ya(d){return function(){d();const e=I.riveScripting;if(e)for(const l of e.frameBoundary())console.warn(l)}}const Da=I.onRuntimeInitialized;\nI.onRuntimeInitialized=function(){Da&&Da();I.startFileScripts=function(D){const F=I.riveScripting;return D&&F&&D.startScripts?F.prepare().then(function(){D.startScripts();return D}):Promise.resolve(D)};let d=I.decodeAudio;I.decodeAudio=function(D,F,J=null){D=d(D,J??null);F(D)};let e=I.decodeFont;I.decodeFont=function(D,F,J=null){D=e(D,J??null);F(D)};const l=I.FileAsset.prototype.decode;I.FileAsset.prototype.decode=function(D,F){return l.call(this,D,F??null)};let q=I.setFallbackFontCb;I.setFallbackFontCallback=\n\"function\"===typeof q?function(D){q(D)}:function(){console.warn(\"Module.setFallbackFontCallback called, but text support is not enabled in this build.\")};const z=I.FileAssetLoader;I.ptrToAsset=D=>{let F=I.ptrToFileAsset(D);return F.isImage?I.ptrToImageAsset(D):F.isFont?I.ptrToFontAsset(D):F.isAudio?I.ptrToAudioAsset(D):F};I.CustomFileAssetLoader=z.extend(\"CustomFileAssetLoader\",{__construct:function({loadContents:D}){this.__parent.__construct.call(this);this.Cb=D},loadContents:function(D,F){D=I.ptrToAsset(D);\nreturn this.Cb(D,F)}});I.CDNFileAssetLoader=z.extend(\"CDNFileAssetLoader\",{__construct:function(D){this.__parent.__construct.call(this);this.Eb=D??null},loadContents:function(D){let F=I.ptrToAsset(D);D=F.cdnUuid;if(\"\"===D)return!1;const J=this.Eb??null;(function(N,R){var T=new XMLHttpRequest;T.responseType=\"arraybuffer\";T.onreadystatechange=function(){4==T.readyState&&200==T.status&&R(T)};T.open(\"GET\",N,!0);T.send(null)})(F.cdnBaseUrl+\"/\"+D,N=>{F.decode(new Uint8Array(N.response),J)});return!0}});\nI.FallbackFileAssetLoader=z.extend(\"FallbackFileAssetLoader\",{__construct:function(){this.__parent.__construct.call(this);this.jb=[]},addLoader:function(D){this.jb.push(D)},loadContents:function(D,F){for(let J of this.jb)if(J.loadContents(D,F))return!0;return!1}});let C=I.computeAlignment;I.computeAlignment=function(D,F,J,N,R=1){return C.call(this,D,F,J,N,R)}};\n(function(){function d(r,a,f=null){const c=r.Lb,n=r.la,p=r.ka,v=r.wa??{i:!1};let k=null;const b=()=>{const A=a().buffer;if(null===k||k.buffer!==A)k=new Uint8Array(A);return k},g=(A,w)=>{if(0>w||(A>>>0)+w>b().length)throw new RangeError(\"module range out of bounds\");A=4096<w?r.Ta(w):r.Ea(w);if(0===A)throw Error(`could not stage ${w} bytes for the host`);return A},h=(A,w)=>{const t=g(A,w);A>>>=0;r.W().set(k.subarray(A,A+w),t);v.i&&(v.ua+=w);return t},m=(A,w)=>{0!==A&&4096<w&&r.ca(A)},x=(A,w,t)=>{0!==\nt&&(b().set(r.W().subarray(A,A+t),w>>>0),v.i&&(v.sa+=t))},K=(A,w)=>{const t=z(a().buffer,A),y=n();let u=0;try{u=h(A,t),w(u,t)}finally{m(u,t),p(y)}},S=A=>w=>K(w,(t,y)=>c.Xd(A,t,y));return{env:{seed:()=>Date.now()*Math.random(),emscripten_get_now:()=>performance.now(),emscripten_date_now:()=>Date.now(),trace:(A,w,t,y,u,E,M)=>K(A,(P,pa)=>c.aj(P,pa,w,t,y,u,E,M)),\"console.log\":S(0),\"console.debug\":S(0),\"console.info\":S(0),\"console.warn\":S(0),\"console.error\":S(0),\"console.time\":S(1),\"console.timeLog\":S(2),\n\"console.timeEnd\":S(3)},rive_rt_v1:(null===f||\"rive_rt_v1\"===f)&&{log:(A,w,t)=>{const y=n();let u=0;try{u=h(w,t),c.$h(A,u,t)}finally{m(u,t),p(y)}},mark_needs_update:c.ai,budget_exceeded:c.Uh,error:(A,w)=>{const t=n();let y=0;try{y=h(A,w),c.Yh(y,w)}finally{m(y,w),p(t)}},now:()=>performance.now(),date_now:()=>Date.now(),debug_enter:c.Vh,debug_line:c.Xh,debug_leave:c.Wh,utc_offset:c.bi,is_dst:c.Zh,zone_name:(A,w,t)=>{const y=n();let u=0;try{u=h(w,t);const E=c.ci(A,u,t);x(u,w,t);return E}finally{m(u,\nt),p(y)}}},rive_data_v1:(null===f||\"rive_data_v1\"===f)&&{view_model:c.Te,root_view_model:c.Ne,global_view_model:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.te(A,u,t)}finally{m(u,t),p(y)}},global_view_model_names:(A,w,t)=>{const y=n();let u=0;try{u=h(w,t);const E=c.ue(A,u,t);x(u,w,t);return E}finally{m(u,t),p(y)}},context:c.ie,context_parent:c.je,context_view_model:c.le,context_release:c.ke,has_view_model:(A,w)=>{const t=n();let y=0;try{return y=h(A,w),c.ve(y,w)}finally{m(y,w),p(t)}},new_view_model:(A,\nw,t,y)=>{const u=n();let E=0,M=0;try{return E=h(A,w),M=h(t,y),c.Je(E,w,M,y)}finally{m(M,y),m(E,w),p(u)}},vmi_release:c.hf,vmi_number:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.ff(A,u,t)}finally{m(u,t),p(y)}},vmi_boolean:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.Ye(A,u,t)}finally{m(u,t),p(y)}},vmi_string:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.jf(A,u,t)}finally{m(u,t),p(y)}},vmi_trigger:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.lf(A,u,t)}finally{m(u,t),p(y)}},\nvmi_color:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.Ze(A,u,t)}finally{m(u,t),p(y)}},vmi_view_model:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.mf(A,u,t)}finally{m(u,t),p(y)}},vmi_property:(A,w,t,y,u)=>{const E=n();let M=0,P=0;try{M=h(w,t);P=h(y,4*u);const pa=c.gf(A,M,t,P,u);x(P,y,4*u);return pa}finally{m(P,4*u),m(M,t),p(E)}},vmi_instance:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.df(A,u,t)}finally{m(u,t),p(y)}},vmi_symbol_index:c.kf,vmi_equal:c.af,view_model_get:c.Ue,vmi_list:(A,\nw,t)=>{const y=n();let u=0;try{return u=h(w,t),c.ef(A,u,t)}finally{m(u,t),p(y)}},vmi_enum:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.$e(A,u,t)}finally{m(u,t),p(y)}},vmi_image:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.cf(A,u,t)}finally{m(u,t),p(y)}},vmi_font:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.bf(A,u,t)}finally{m(u,t),p(y)}},vmi_blob:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.Xe(A,u,t)}finally{m(u,t),p(y)}},vmi_artboard:(A,w,t)=>{const y=n();let u=0;try{return u=\nh(w,t),c.We(A,u,t)}finally{m(u,t),p(y)}},image_get:c.we,image_set:c.xe,font_get:c.qe,font_set:c.se,font_release:c.re,blob_present:c.ce,blob_get:(A,w,t)=>{const y=n();let u=0;try{u=h(w,t);const E=c.ae(A,u,t);x(u,w,t);return E}finally{m(u,t),p(y)}},blob_name:(A,w,t)=>{const y=n();let u=0;try{u=h(w,t);const E=c.be(A,u,t);x(u,w,t);return E}finally{m(u,t),p(y)}},blob_set:(A,w,t)=>{const y=n();let u=0;try{u=h(w,t),c.de(A,u,t)}finally{m(u,t),p(y)}},blob_clear:c.$d,artboard_get:c.Yd,artboard_set:c.Zd,enum_get:(A,\nw,t)=>{const y=n();let u=0;try{u=h(w,t);const E=c.ne(A,u,t);x(u,w,t);return E}finally{m(u,t),p(y)}},enum_set:(A,w,t)=>{const y=n();let u=0;try{u=h(w,t),c.oe(A,u,t)}finally{m(u,t),p(y)}},enum_values:(A,w,t)=>{const y=n();let u=0;try{u=h(w,t);const E=c.pe(A,u,t);x(u,w,t);return E}finally{m(u,t),p(y)}},prop_release:c.Me,trigger_fire:c.Re,list_length:c.Be,list_push:c.De,list_pop:c.Ce,list_shift:c.He,list_clear:c.ye,list_swap:c.Ie,list_insert:c.Ae,list_remove:c.Ee,list_remove_at:c.Ge,list_remove_all_of:c.Fe,\nlist_get:c.ze,view_model_set:c.Ve,color_get:c.ge,color_set:c.he,number_get:c.Ke,number_set:c.Le,boolean_get:c.ee,boolean_set:c.fe,string_get:(A,w,t)=>{const y=n();let u=0;try{u=h(w,t);const E=c.Pe(A,u,t);x(u,w,t);return E}finally{m(u,t),p(y)}},string_changed:c.Oe,string_set:(A,w,t)=>{const y=n();let u=0;try{u=h(w,t),c.Qe(A,u,t)}finally{m(u,t),p(y)}},watch:c.nf,unwatch:c.Se,convert_result:(A,w,t,y,u,E)=>{const M=n();let P=0;try{P=h(u,E),c.me(A,w,t,y,P,E)}finally{m(P,E),p(M)}}},rive_artboard_v1:(null===\nf||\"rive_artboard_v1\"===f)&&{release:c.fd,advance:c.zc,draw:c.Hc,instance:c.Rc,data:c.Gc,width:c.ld,height:c.Qc,set_width:c.kd,set_height:c.jd,frame_origin:c.Oc,set_frame_origin:c.hd,bounds:(A,w,t)=>{const y=n();let u=0;try{u=h(w,4*t),c.Fc(A,u,t),x(u,w,4*t)}finally{m(u,4*t),p(y)}},pointer_event:c.dd,scroll_event:c.gd,gamepad_event:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.Pc(A,u,t)}finally{m(u,t),p(y)}},animation:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.Ac(A,u,t)}finally{m(u,\nt),p(y)}},animation_release:c.Dc,animation_duration:c.Cc,animation_advance:c.Bc,animation_set_time:c.Ec,add_to_path:c.yc,node:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.Sc(A,u,t)}finally{m(u,t),p(y)}},node_release:c.Zc,node_transform:(A,w,t)=>{const y=n();let u=0;try{u=h(w,4*t),c.bd(A,u,t),x(u,w,4*t)}finally{m(u,4*t),p(y)}},node_set:c.$c,node_world_transform:(A,w,t)=>{const y=n();let u=0;try{u=h(w,4*t),c.cd(A,u,t),x(u,w,4*t)}finally{m(u,4*t),p(y)}},node_set_world_transform:(A,w,t)=>{const y=\nn();let u=0;try{u=h(w,4*t),c.ad(A,u,t)}finally{m(u,4*t),p(y)}},node_decompose:(A,w,t)=>{const y=n();let u=0;try{u=h(w,4*t),c.Uc(A,u,t)}finally{m(u,4*t),p(y)}},node_path_verbs:(A,w,t)=>{const y=n();let u=0;try{u=h(w,t);const E=c.Yc(A,u,t);x(u,w,t);return E}finally{m(u,t),p(y)}},node_path_points:(A,w,t)=>{const y=n();let u=0;try{u=h(w,4*t);const E=c.Xc(A,u,t);x(u,w,4*t);return E}finally{m(u,4*t),p(y)}},node_paint:(A,w,t)=>{const y=n();let u=0;try{u=h(w,4*t);const E=c.Vc(A,u,t);x(u,w,4*t);return E}finally{m(u,\n4*t),p(y)}},node_children:(A,w,t)=>{const y=n();let u=0;try{u=h(w,4*t);const E=c.Tc(A,u,t);x(u,w,4*t);return E}finally{m(u,4*t),p(y)}},node_parent:c.Wc,property_key:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.ed(A,u,t)}finally{m(u,t),p(y)}},draw_visit:c.Jc,draw_modulated:c.Ic,drawable_draw:c.Kc,drawable_value:(A,w,t,y)=>{const u=n();let E=0;try{E=h(t,4*y);const M=c.Nc(A,w,E,y);x(E,t,4*y);return M}finally{m(E,4*y),p(u)}},drawable_string:(A,w,t,y)=>{const u=n();let E=0;try{E=h(t,y);const M=\nc.Mc(A,w,E,y);x(E,t,y);return M}finally{m(E,y),p(u)}},drawable_properties:(A,w,t)=>{const y=n();let u=0;try{u=h(w,t);const E=c.Lc(A,u,t);x(u,w,t);return E}finally{m(u,t),p(y)}}},rive_audio_v1:(null===f||\"rive_audio_v1\"===f)&&{source:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.Ed(A,u,t)}finally{m(u,t),p(y)}},source_release:c.Hd,source_duration:c.Gd,source_sample_rate:c.Id,source_channels:c.Fd,play:c.md,play_at_time:c.od,play_in_time:c.qd,play_at_frame:c.nd,play_in_frame:c.pd,time:c.Jd,time_frame:c.Kd,\nsample_rate:c.rd,sound_release:c.vd,sound_play:c.ud,sound_pause:c.td,sound_resume:c.wd,sound_stop:c.Ad,sound_seek:c.xd,sound_seek_frame:c.yd,sound_completed:c.sd,sound_time:c.Bd,sound_time_frame:c.Cd,sound_volume:c.Dd,sound_set_volume:c.zd},rive_path_v1:(null===f||\"rive_path_v1\"===f)&&{\"new\":c.Fh,update:(A,w,t,y,u,E)=>{const M=n();let P=0,pa=0;try{P=h(w,t),pa=h(y,4*u),c.Ih(A,P,t,pa,u,E)}finally{m(pa,4*u),m(P,t),p(M)}},release:c.Hh,add:c.Dh,verbs:(A,w,t)=>{const y=n();let u=0;try{u=h(w,t);const E=\nc.Jh(A,u,t);x(u,w,t);return E}finally{m(u,t),p(y)}},points:(A,w,t)=>{const y=n();let u=0;try{u=h(w,4*t);const E=c.Gh(A,u,t);x(u,w,4*t);return E}finally{m(u,4*t),p(y)}},effect_result:(A,w,t,y)=>{const u=n();let E=0,M=0;try{E=h(A,w),M=h(t,4*y),c.Eh(E,w,M,y)}finally{m(M,4*y),m(E,w),p(u)}}},rive_measure_v1:(null===f||\"rive_measure_v1\"===f)&&{path_new:(A,w,t,y)=>{const u=n();let E=0,M=0;try{return E=h(A,w),M=h(t,4*y),c.ih(E,w,M,y)}finally{m(M,4*y),m(E,w),p(u)}},contours_new:(A,w,t,y)=>{const u=n();let E=\n0,M=0;try{return E=h(A,w),M=h(t,4*y),c.dh(E,w,M,y)}finally{m(M,4*y),m(E,w),p(u)}},contour_next:c.bh,length:c.hh,is_closed:c.gh,pos_tan:(A,w,t,y)=>{const u=n();let E=0;try{E=h(t,4*y),c.jh(A,w,E,y),x(E,t,4*y)}finally{m(E,4*y),p(u)}},warp:(A,w,t,y,u)=>{const E=n();let M=0;try{M=h(y,4*u),c.lh(A,w,t,M,u),x(M,y,4*u)}finally{m(M,4*u),p(E)}},extract:c.eh,extract_read:(A,w,t,y,u)=>{const E=n();let M=0,P=0;try{M=h(w,t);P=h(y,4*u);const pa=c.fh(A,M,t,P,u);x(M,w,t);x(P,y,4*u);return pa}finally{m(P,4*u),m(M,t),\np(E)}},release:c.kh},rive_paint_v1:(null===f||\"rive_paint_v1\"===f)&&{\"new\":c.xh,release:c.yh,style:c.Bh,color:c.uh,thickness:c.Ch,join:c.wh,cap:c.th,blend_mode:c.sh,feather:c.vh,shader:c.zh,shader_transform:(A,w,t)=>{const y=n();let u=0;try{u=h(w,4*t),c.Ah(A,u,t)}finally{m(u,4*t),p(y)}}},rive_canvas_v1:(null===f||\"rive_canvas_v1\"===f)&&{\"new\":c.Td,release:c.Ud,width:c.Wd,height:c.Rd,resize:c.Vd,image:c.Sd,begin_frame:c.Pd,end_frame:c.Qd},rive_gpu_v1:(null===f||\"rive_gpu_v1\"===f)&&{features:(A,w)=>\n{const t=n();let y=0;try{y=h(A,4*w);const u=c.cg(y,w);x(y,A,4*w);return u}finally{m(y,4*w),p(t)}},canvas_new:c.$f,canvas_release:c.ag,canvas_color_view:(A,w,t)=>{const y=n();let u=0;try{u=h(w,4*t);const E=c.Yf(A,u,t);x(u,w,4*t);return E}finally{m(u,4*t),p(y)}},canvas_image:c.Zf,canvas_resize:(A,w,t,y,u)=>{const E=n();let M=0;try{M=h(y,4*u);const P=c.bg(A,w,t,M,u);x(M,y,4*u);return P}finally{m(M,4*u),p(E)}},target_view:(A,w,t)=>{const y=n();let u=0;try{u=h(w,4*t);const E=c.Bg(A,u,t);x(u,w,4*t);return E}finally{m(u,\n4*t),p(y)}},pass_begin:(A,w,t,y)=>{const u=n();let E=0,M=0;try{return E=h(A,w),M=h(t,y),c.eg(E,w,M,y)}finally{m(M,y),m(E,w),p(u)}},pass_set_pipeline:c.mg,pass_set_vertex_buffer:c.pg,pass_set_index_buffer:c.lg,pass_set_bind_group:(A,w,t,y,u)=>{const E=n();let M=0;try{M=h(y,u),c.jg(A,w,t,M,u)}finally{m(M,u),p(E)}},pass_set_viewport:c.qg,pass_set_scissor:c.ng,pass_set_stencil_reference:c.og,pass_set_blend_color:c.kg,pass_draw:c.fg,pass_draw_indexed:c.gg,pass_finish:c.hg,pass_release:c.ig,image_view:c.dg,\nbuffer_new:(A,w,t,y,u)=>{const E=n();let M=0;try{return M=h(y,u),c.Tf(A,w,t,M,u)}finally{m(M,u),p(E)}},buffer_update:(A,w,t,y)=>{const u=n();let E=0;try{E=h(t,y),c.Wf(A,w,E,y)}finally{m(E,y),p(u)}},buffer_update_blob:c.Xf,buffer_new_blob:c.Uf,buffer_release:c.Vf,texture_new:(A,w)=>{const t=n();let y=0;try{return y=h(A,w),c.Cg(y,w)}finally{m(y,w),p(t)}},texture_upload:(A,w,t,y,u)=>{const E=n();let M=0,P=0;try{M=h(w,t),P=h(y,u),c.Eg(A,M,t,P,u)}finally{m(P,u),m(M,t),p(E)}},texture_release:c.Dg,sampler_new:(A,\nw)=>{const t=n();let y=0;try{return y=h(A,w),c.tg(y,w)}finally{m(y,w),p(t)}},sampler_release:c.ug,texture_view_new:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.Fg(A,u,t)}finally{m(u,t),p(y)}},texture_view_release:c.Gg,shader_target:c.Ag,shader_asset_bytes:(A,w,t,y,u)=>{const E=n();let M=0,P=0;try{M=h(w,t);P=h(y,u);const pa=c.vg(A,M,t,P,u);x(P,y,u);return pa}finally{m(P,u),m(M,t),p(E)}},shader_asset_id:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.wg(A,u,t)}finally{m(u,t),p(y)}},shader_module_from_asset:(A,\nw,t,y)=>{const u=n();let E=0;try{return E=h(w,t),c.xg(A,E,t,y)}finally{m(E,t),p(u)}},shader_module_from_rstb:(A,w,t,y)=>{const u=n();let E=0;try{return E=h(A,w),c.yg(E,w,t,y)}finally{m(E,w),p(u)}},shader_module_release:c.zg,bind_group_layout_new:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.Pf(A,u,t)}finally{m(u,t),p(y)}},bind_group_layout_release:c.Qf,bind_group_layout_from_shader:(A,w,t,y)=>{const u=n();let E=0;try{return E=h(t,4*y),c.Nf(A,w,E,y)}finally{m(E,4*y),p(u)}},bind_group_layout_from_shaders:(A,\nw,t,y,u)=>{const E=n();let M=0;try{return M=h(y,4*u),c.Of(A,w,t,M,u)}finally{m(M,4*u),p(E)}},bind_group_layout_from_entries:(A,w,t,y,u,E,M)=>{const P=n();let pa=0,Ba=0;try{return pa=h(w,t),Ba=h(u,E),c.Mf(A,pa,t,y,Ba,E,M)}finally{m(Ba,E),m(pa,t),p(P)}},bind_group_new:(A,w,t,y,u,E,M)=>{const P=n();let pa=0,Ba=0,Ka=0;try{return pa=h(w,t),Ba=h(y,u),Ka=h(E,M),c.Rf(A,pa,t,Ba,u,Ka,M)}finally{m(Ka,M),m(Ba,u),m(pa,t),p(P)}},bind_group_release:c.Sf,pipeline_new:(A,w,t,y)=>{const u=n();let E=0,M=0;try{return E=\nh(A,w),M=h(t,y),c.rg(E,w,M,y)}finally{m(M,y),m(E,w),p(u)}},pipeline_release:c.sg},rive_mat4_v1:(null===f||\"rive_mat4_v1\"===f)&&{multiply:(A,w,t,y,u,E)=>{const M=n();let P=0,pa=0,Ba=0;try{P=h(A,w),pa=h(t,y),Ba=h(u,E),c.ah(P,w,pa,y,Ba,E),x(P,A,w)}finally{m(Ba,E),m(pa,y),m(P,w),p(M)}},invert:(A,w,t,y)=>{const u=n();let E=0,M=0;try{E=h(A,w);M=h(t,y);const P=c.$g(E,w,M,y);x(E,A,w);return P}finally{m(M,y),m(E,w),p(u)}}},rive_buffer_v1:(null===f||\"rive_buffer_v1\"===f)&&{\"new\":c.Md,update:(A,w,t)=>{const y=\nn();let u=0;try{u=h(w,t),c.Od(A,u,t)}finally{m(u,t),p(y)}},release:c.Nd},rive_mesh_instances_v1:(null===f||\"rive_mesh_instances_v1\"===f)&&{\"new\":c.mh,resize:c.oh,update:(A,w,t,y)=>{const u=n();let E=0;try{E=h(t,y),c.ph(A,w,E,y)}finally{m(E,y),p(u)}},release:c.nh},rive_blob_v1:(null===f||\"rive_blob_v1\"===f)&&{asset_bytes:(A,w,t,y,u)=>{const E=n();let M=0,P=0;try{M=h(w,t);P=h(y,u);const pa=c.Ld(A,M,t,P,u);x(P,y,u);return pa}finally{m(P,u),m(M,t),p(E)}}},rive_image_v1:(null===f||\"rive_image_v1\"===f)&&\n{from_asset:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.Jg(A,u,t)}finally{m(u,t),p(y)}},width:c.Mg,height:c.Kg,release:c.Lg,decode:(A,w,t)=>{const y=n();let u=0;try{return u=h(A,w),c.Hg(u,w,t)}finally{m(u,w),p(y)}},decode_cancel:c.Ig},rive_font_v1:(null===f||\"rive_font_v1\"===f)&&{from_asset:(A,w,t)=>{const y=n();let u=0;try{return u=h(w,t),c.Df(A,u,t)}finally{m(u,t),p(y)}},decode:(A,w)=>{const t=n();let y=0;try{return y=h(A,w),c.Bf(y,w)}finally{m(y,w),p(t)}},release:c.Jf,metrics:(A,w,t)=>\n{const y=n();let u=0;try{u=h(w,4*t),c.If(A,u,t),x(u,w,4*t)}finally{m(u,4*t),p(y)}},weight:c.Kf,is_italic:c.Hf,axis_count:c.zf,axis:(A,w,t,y)=>{const u=n();let E=0;try{E=h(t,4*y),c.yf(A,w,E,y),x(E,t,4*y)}finally{m(E,4*y),p(u)}},axis_value:c.Af,features:(A,w,t)=>{const y=n();let u=0;try{u=h(w,4*t);const E=c.Cf(A,u,t);x(u,w,4*t);return E}finally{m(u,4*t),p(y)}},has_glyph:c.Gf,with_options:(A,w,t,y,u)=>{const E=n();let M=0,P=0;try{return M=h(w,4*t),P=h(y,4*u),c.Lf(A,M,t,P,u)}finally{m(P,4*u),m(M,4*t),\np(E)}},glyph_verbs:(A,w,t,y)=>{const u=n();let E=0;try{E=h(t,y);const M=c.Ff(A,w,E,y);x(E,t,y);return M}finally{m(E,y),p(u)}},glyph_points:(A,w,t,y)=>{const u=n();let E=0;try{E=h(t,4*y);const M=c.Ef(A,w,E,y);x(E,t,4*y);return M}finally{m(E,4*y),p(u)}}},rive_text_v1:(null===f||\"rive_text_v1\"===f)&&{\"new\":c.Xi,release:c.Yi,append:(A,w,t,y,u,E,M,P,pa)=>{const Ba=n();let Ka=0;try{Ka=h(w,t),c.Ni(A,Ka,t,y,u,E,M,P,pa)}finally{m(Ka,t),p(Ba)}},clear:c.Qi,layout:(A,w,t)=>{const y=n();let u=0;try{u=h(w,t),c.Ui(A,\nu,t)}finally{m(u,t),p(y)}},draw:c.Ri,bounds:(A,w,t)=>{const y=n();let u=0;try{u=h(w,4*t),c.Oi(A,u,t),x(u,w,4*t)}finally{m(u,4*t),p(y)}},length:c.Vi,lines:(A,w,t)=>{const y=n();let u=0;try{u=h(w,4*t);const E=c.Wi(A,u,t);x(u,w,4*t);return E}finally{m(u,4*t),p(y)}},runs:(A,w,t)=>{const y=n();let u=0;try{u=h(w,4*t);const E=c.Zi(A,u,t);x(u,w,4*t);return E}finally{m(u,4*t),p(y)}},glyphs:(A,w,t)=>{const y=n();let u=0;try{u=h(w,4*t);const E=c.Si(A,u,t);x(u,w,4*t);return E}finally{m(u,4*t),p(y)}},hit_test:c.Ti,\ncaret:(A,w,t,y)=>{const u=n();let E=0;try{E=h(t,4*y);const M=c.Pi(A,w,E,y);x(E,t,4*y);return M}finally{m(E,4*y),p(u)}},selection_rects:(A,w,t,y,u)=>{const E=n();let M=0;try{M=h(y,4*u);const P=c.$i(A,w,t,M,u);x(M,y,4*u);return P}finally{m(M,4*u),p(E)}}},rive_shader_v1:(null===f||\"rive_shader_v1\"===f)&&{linear:c.di,radial:c.ei,release:c.fi},rive_test_v1:(null===f||\"rive_test_v1\"===f)&&{blob:(A,w,t,y)=>{const u=n();let E=0,M=0;try{E=h(A,w);M=h(t,y);const P=c.Mi(E,w,M,y);x(M,t,y);return P}finally{m(M,\ny),m(E,w),p(u)}}},rive_transition_v1:(null===f||\"rive_transition_v1\"===f)&&{child_draw:c.bj,child_width:c.dj,child_height:c.cj},rive_renderer_v1:(null===f||\"rive_renderer_v1\"===f)&&{save:c.Sh,restore:c.Rh,transform:c.Th,draw_path:c.Oh,clip_path:c.Kh,modulate_opacity:c.Qh,modulate_color:c.Ph,draw_image:c.Lh,draw_image_mesh:c.Mh,draw_image_mesh_instanced:c.Nh},rive_net_v1:(null===f||\"rive_net_v1\"===f)&&{fetch:(A,w,t)=>{const y=n();let u=0;try{return u=h(A,w),c.qh(u,w,t)}finally{m(u,w),p(y)}},fetch_cancel:c.rh},\nrive_file_v1:(null===f||\"rive_file_v1\"===f)&&{decode:(A,w,t,y)=>{const u=n();let E=0,M=0;try{E=h(A,w);M=h(t,4*y);const P=c.wf(E,w,M,y);x(M,t,4*y);return P}finally{m(M,4*y),m(E,w),p(u)}},release:c.xf,artboard_count:c.pf,artboard_name:(A,w,t,y)=>{const u=n();let E=0;try{E=h(t,y);const M=c.qf(A,w,E,y);x(E,t,y);return M}finally{m(E,y),p(u)}},bindable:(A,w,t,y)=>{const u=n();let E=0;try{return E=h(w,t),c.rf(A,E,t,y)}finally{m(E,t),p(u)}},bindable_release:c.vf,bindable_name:(A,w,t)=>{const y=n();let u=\n0;try{u=h(w,t);const E=c.uf(A,u,t);x(u,w,t);return E}finally{m(u,t),p(y)}},bindable_data:c.sf,bindable_equal:c.tf},rive_lanes_v1:(null===f||\"rive_lanes_v1\"===f)&&{start:(A,w,t,y,u,E)=>{const M=n();let P=0,pa=0;try{return P=h(t,y),pa=h(u,4*E),c.Ug(A,w,P,y,pa,E)}finally{m(pa,4*E),m(P,y),p(M)}},state:c.Vg,failed:(A,w,t)=>{const y=n();let u=0;try{u=g(w,t);const E=c.Rg(A,u,t);x(u,w,E>>>0<=t?E>>>0:0);return E}finally{m(u,t),p(y)}},stop:c.Wg,release:c.Sg,result:c.Tg,watch:c.Zg,wait:c.Xg,cancel_wait:c.Qg,\nwait_within:c.Yg},rive_jobs_v1:(null===f||\"rive_jobs_v1\"===f)&&{threads:c.Pg,join:c.Ng,join_any:(A,w,t)=>{const y=n();let u=0;try{return u=h(A,4*w),c.Og(u,w,t)}finally{m(u,4*w),p(y)}}},rive_shared_v1:(null===f||\"rive_shared_v1\"===f)&&{region_create:c.pi,region_size:c.ui,region_lock:c.ri,region_unlock:c.vi,region_read:(A,w,t,y)=>{const u=n();let E=0;try{E=g(t,y);const M=c.ti(A,w,E,y);x(E,t,0!==M?y:0);return M}finally{m(E,y),p(u)}},region_write:(A,w,t,y)=>{const u=n();let E=0;try{return E=h(t,y),c.wi(A,\nw,E,y)}finally{m(E,y),p(u)}},region_poisoned:c.si,atomic_load:c.ii,atomic_store:c.ki,atomic_add:c.gi,atomic_cas:c.hi,ring_create:c.zi,ring_write:(A,w,t,y,u)=>{const E=n();let M=0,P=0;try{return M=h(w,t),P=h(y,4*u),c.Ei(A,M,t,P,u)}finally{m(P,4*u),m(M,t),p(E)}},ring_read:(A,w,t)=>{const y=n();let u=0;try{u=g(w,t);const E=c.Bi(A,u,t);A=E-1;x(u,w,A>>>0<=t?A>>>0:0);return E}finally{m(u,t),p(y)}},ring_drop:c.Ai,ring_used:c.Di,ring_signal:c.Ci,snapshot_create:c.Ii,snapshot_publish:(A,w,t,y,u)=>{const E=\nn();let M=0,P=0;try{return M=h(w,t),P=h(y,4*u),c.Ji(A,M,t,P,u)}finally{m(P,4*u),m(M,t),p(E)}},snapshot_read:(A,w,t)=>{const y=n();let u=0;try{u=g(w,t);const E=c.Ki(A,u,t);A=E-1;x(u,w,A>>>0<=t?A>>>0:0);return E}finally{m(u,t),p(y)}},snapshot_seq:c.Li,read_done:c.oi,signal_create:c.Fi,signal_notify:c.Gi,signal_seq:c.Hi,blob_create:(A,w)=>{const t=n();let y=0;try{return y=h(A,w),c.li(y,w)}finally{m(y,w),p(t)}},blob_size:c.ni,blob_read:(A,w,t,y)=>{const u=n();let E=0;try{E=g(t,y);const M=c.mi(A,w,E,y);\nx(E,t,M>>>0<=y?M>>>0:0);return M}finally{m(E,y),p(u)}},retain:c.yi,release:c.xi}}}function e(r,a,f=null){const c=a.wa??{i:!1},n=()=>{const k=Error(a.j);a.j=null;throw k;},p=()=>{throw Error(\"librive faulted in a nested script call\");},v=()=>{throw Error(\"script VM was released\");};return{$h:(null===f||\"rive_rt_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(0)),ai:(null===f||\"rive_rt_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;\ntry{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(1)),Uh:(null===f||\"rive_rt_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(2)),Yh:(null===f||\"rive_rt_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(3)),Vh:(null===f||\"rive_rt_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(4)),\nXh:(null===f||\"rive_rt_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(5)),Wh:(null===f||\"rive_rt_v1\"===f)&&(k=>()=>{0===a.g&&v();c.i&&c.l++;try{k(a.g)}catch(g){var b=g;a.h=!0;throw b;}a.h&&p();null!==a.j&&n()})(r(6)),bi:(null===f||\"rive_rt_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(7)),Zh:(null===f||\"rive_rt_v1\"===f)&&(k=>b=>{0===\na.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(8)),ci:(null===f||\"rive_rt_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(9)),Te:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(10)),Ne:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;\nlet g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(11)),te:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(12)),ue:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(13)),ie:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;\ntry{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(14)),je:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(15)),le:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(16)),ke:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=\ng,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(17)),ve:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(18)),Je:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n();return x})(r(19)),hf:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();\nnull!==a.j&&n()})(r(20)),ff:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(21)),Ye:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(22)),jf:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();\nnull!==a.j&&n();return m})(r(23)),lf:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(24)),Ze:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(25)),mf:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&\np();null!==a.j&&n();return m})(r(26)),gf:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h,m,x)=>{0===a.g&&v();c.i&&c.l++;let K;try{K=k(a.g,b,g,h,m,x)}catch(S){throw b=S,a.h=!0,b;}a.h&&p();null!==a.j&&n();return K})(r(27)),df:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(28)),kf:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;\n}a.h&&p();null!==a.j&&n();return g})(r(29)),af:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(30)),Ue:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(31)),ef:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&\np();null!==a.j&&n();return m})(r(32)),$e:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(33)),cf:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(34)),bf:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,\nb;}a.h&&p();null!==a.j&&n();return m})(r(35)),Xe:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(36)),We:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(37)),we:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;\n}a.h&&p();null!==a.j&&n();return g})(r(38)),xe:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(39)),qe:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(40)),se:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(41)),\nre:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(42)),ce:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(43)),ae:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(44)),be:(null===f||\"rive_data_v1\"===\nf)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(45)),de:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(46)),$d:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(47)),Yd:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;\nlet g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(48)),Zd:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(49)),ne:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(50)),oe:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h)}catch(m){throw b=\nm,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(51)),pe:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(52)),Me:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(53)),Re:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(54)),\nBe:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(55)),De:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(56)),Ce:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(57)),He:(null===f||\"rive_data_v1\"===f)&&\n(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(58)),ye:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(59)),Ie:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(60)),Ae:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,\nb,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(61)),Ee:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(62)),Ge:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(63)),Fe:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&\nn()})(r(64)),ze:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(65)),Ve:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(66)),ge:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(67)),he:(null===f||\n\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(68)),Ke:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(69)),Le:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(70)),ee:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&\nc.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(71)),fe:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(72)),Pe:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(73)),Oe:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,\nb)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(74)),Qe:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(75)),nf:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(76)),Se:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==\na.j&&n()})(r(77)),me:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h,m,x,K)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m,x,K)}catch(S){throw b=S,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(78)),fd:(null===f||\"rive_artboard_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(79)),zc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(80)),Hc:(null===\nf||\"rive_artboard_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(81)),Rc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(82)),Gc:(null===f||\"rive_artboard_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(83)),ld:(null===f||\"rive_artboard_v1\"===\nf)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(84)),Qc:(null===f||\"rive_artboard_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(85)),kd:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(86)),jd:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g)=>{0===\na.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(87)),Oc:(null===f||\"rive_artboard_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(88)),hd:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(89)),Fc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,\nb,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(90)),dd:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h,m,x)=>{0===a.g&&v();c.i&&c.l++;let K;try{K=k(a.g,b,g,h,m,x)}catch(S){throw b=S,a.h=!0,b;}a.h&&p();null!==a.j&&n();return K})(r(91)),gd:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h,m,x,K,S,A,w)=>{0===a.g&&v();c.i&&c.l++;let t;try{t=k(a.g,b,g,h,m,x,K,S,A,w)}catch(y){throw b=y,a.h=!0,b;}a.h&&p();null!==a.j&&n();return t})(r(92)),Pc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>\n{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(93)),Ac:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(94)),Dc:(null===f||\"rive_artboard_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(95)),Cc:(null===f||\"rive_artboard_v1\"===f)&&(k=>b=>{0===a.g&&v();\nc.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(96)),Bc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(97)),Ec:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(98)),yc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h,m,x,K,S,A)=>{0===a.g&&\nv();c.i&&c.l++;try{k(a.g,b,g,h,m,x,K,S,A)}catch(w){throw b=w,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(99)),Sc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(100)),Zc:(null===f||\"rive_artboard_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(101)),bd:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;\ntry{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(102)),$c:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(103)),cd:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(104)),ad:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h)}catch(m){throw b=\nm,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(105)),Uc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(106)),Yc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(107)),Xc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,\na.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(108)),Vc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(109)),Tc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(110)),Wc:(null===f||\"rive_artboard_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=\nh,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(111)),ed:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(112)),Jc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(113)),Ic:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=\n!0,b;}a.h&&p();null!==a.j&&n()})(r(114)),Kc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(115)),Nc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n();return x})(r(116)),Mc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=\n!0,b;}a.h&&p();null!==a.j&&n();return x})(r(117)),Lc:(null===f||\"rive_artboard_v1\"===f)&&(k=>void 0===k?l(\"rive_artboard_v1\",\"drawable_properties\"):(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(118)),Ed:(null===f||\"rive_audio_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(119)),Hd:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&\nv();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(120)),Gd:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(121)),Id:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(122)),Fd:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,\nb)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(123)),md:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(124)),od:(null===f||\"rive_audio_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(125)),qd:(null===f||\"rive_audio_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=\nm,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(126)),nd:(null===f||\"rive_audio_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(127)),pd:(null===f||\"rive_audio_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(128)),Jd:(null===f||\"rive_audio_v1\"===f)&&(k=>()=>{0===a.g&&v();c.i&&c.l++;try{var b=k(a.g)}catch(g){throw b=g,a.h=\n!0,b;}a.h&&p();null!==a.j&&n();return b})(r(129)),Kd:(null===f||\"rive_audio_v1\"===f)&&(k=>()=>{0===a.g&&v();c.i&&c.l++;try{var b=k(a.g)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n();return b})(r(130)),rd:(null===f||\"rive_audio_v1\"===f)&&(k=>()=>{0===a.g&&v();c.i&&c.l++;try{var b=k(a.g)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n();return b})(r(131)),vd:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(132)),\nud:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(133)),td:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(134)),wd:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(135)),Ad:(null===f||\"rive_audio_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&\nc.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(136)),xd:(null===f||\"rive_audio_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(137)),yd:(null===f||\"rive_audio_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(138)),sd:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=\nk(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(139)),Bd:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(140)),Cd:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(141)),Dd:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=\nh,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(142)),zd:(null===f||\"rive_audio_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(143)),Fh:(null===f||\"rive_path_v1\"===f)&&(k=>()=>{0===a.g&&v();c.i&&c.l++;try{var b=k(a.g)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n();return b})(r(144)),Ih:(null===f||\"rive_path_v1\"===f)&&(k=>(b,g,h,m,x,K)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m,x,K)}catch(S){throw b=S,a.h=!0,b;}a.h&&\np();null!==a.j&&n()})(r(145)),Hh:(null===f||\"rive_path_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(146)),Dh:(null===f||\"rive_path_v1\"===f)&&(k=>(b,g,h,m,x,K,S,A)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m,x,K,S,A)}catch(w){throw b=w,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(147)),Jh:(null===f||\"rive_path_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(148)),\nGh:(null===f||\"rive_path_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(149)),Eh:(null===f||\"rive_path_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(150)),ih:(null===f||\"rive_measure_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n();return x})(r(151)),\ndh:(null===f||\"rive_measure_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n();return x})(r(152)),bh:(null===f||\"rive_measure_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(153)),hh:(null===f||\"rive_measure_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(154)),\ngh:(null===f||\"rive_measure_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(155)),jh:(null===f||\"rive_measure_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(156)),lh:(null===f||\"rive_measure_v1\"===f)&&(k=>(b,g,h,m,x)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m,x)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(157)),eh:(null===\nf||\"rive_measure_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n();return x})(r(158)),fh:(null===f||\"rive_measure_v1\"===f)&&(k=>(b,g,h,m,x)=>{0===a.g&&v();c.i&&c.l++;let K;try{K=k(a.g,b,g,h,m,x)}catch(S){throw b=S,a.h=!0,b;}a.h&&p();null!==a.j&&n();return K})(r(159)),kh:(null===f||\"rive_measure_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(160)),xh:(null===\nf||\"rive_paint_v1\"===f)&&(k=>()=>{0===a.g&&v();c.i&&c.l++;try{var b=k(a.g)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n();return b})(r(161)),yh:(null===f||\"rive_paint_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(162)),Bh:(null===f||\"rive_paint_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(163)),uh:(null===f||\"rive_paint_v1\"===f)&&(k=>(b,g)=>{0===a.g&&\nv();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(164)),Ch:(null===f||\"rive_paint_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(165)),wh:(null===f||\"rive_paint_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(166)),th:(null===f||\"rive_paint_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,\na.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(167)),sh:(null===f||\"rive_paint_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(168)),vh:(null===f||\"rive_paint_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(169)),zh:(null===f||\"rive_paint_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(170)),Ah:(null===\nf||\"rive_paint_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(171)),Td:(null===f||\"rive_canvas_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(172)),Ud:(null===f||\"rive_canvas_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(173)),Wd:(null===f||\"rive_canvas_v1\"===f)&&(k=>b=>\n{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(174)),Rd:(null===f||\"rive_canvas_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(175)),Vd:(null===f||\"rive_canvas_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(176)),Sd:(null===f||\"rive_canvas_v1\"===f)&&(k=>b=>{0===\na.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(177)),Pd:(null===f||\"rive_canvas_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(178)),Qd:(null===f||\"rive_canvas_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(179)),cg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;\ntry{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(180)),$f:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(181)),ag:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(182)),Yf:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=\nx,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(183)),Zf:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(184)),bg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,x)=>{0===a.g&&v();c.i&&c.l++;let K;try{K=k(a.g,b,g,h,m,x)}catch(S){throw b=S,a.h=!0,b;}a.h&&p();null!==a.j&&n();return K})(r(185)),Bg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=\nx,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(186)),eg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n();return x})(r(187)),mg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(188)),pg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m)}catch(x){throw b=x,a.h=!0,b;}a.h&&\np();null!==a.j&&n()})(r(189)),lg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(190)),jg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,x)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m,x)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(191)),qg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,x,K,S)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m,x,K,S)}catch(A){throw b=A,a.h=!0,b;}a.h&&p();null!==a.j&&\nn()})(r(192)),ng:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,x)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m,x)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(193)),og:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(194)),kg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,x)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m,x)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(195)),fg:(null===f||\"rive_gpu_v1\"===\nf)&&(k=>(b,g,h,m,x)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m,x)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(196)),gg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,x,K)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m,x,K)}catch(S){throw b=S,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(197)),hg:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(198)),ig:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;\ntry{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(199)),dg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(200)),Tf:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,x)=>{0===a.g&&v();c.i&&c.l++;let K;try{K=k(a.g,b,g,h,m,x)}catch(S){throw b=S,a.h=!0,b;}a.h&&p();null!==a.j&&n();return K})(r(201)),Wf:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,\nb,g,h,m)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(202)),Xf:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,x)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m,x)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(203)),Uf:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,x)=>{0===a.g&&v();c.i&&c.l++;let K;try{K=k(a.g,b,g,h,m,x)}catch(S){throw b=S,a.h=!0,b;}a.h&&p();null!==a.j&&n();return K})(r(204)),Vf:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=\ng,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(205)),Cg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(206)),Eg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,x)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m,x)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(207)),Dg:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&\nn()})(r(208)),tg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(209)),ug:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(210)),Fg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(211)),Gg:(null===\nf||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(212)),Ag:(null===f||\"rive_gpu_v1\"===f)&&(k=>()=>{0===a.g&&v();c.i&&c.l++;try{var b=k(a.g)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n();return b})(r(213)),vg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,x)=>{0===a.g&&v();c.i&&c.l++;let K;try{K=k(a.g,b,g,h,m,x)}catch(S){throw b=S,a.h=!0,b;}a.h&&p();null!==a.j&&n();return K})(r(214)),wg:(null===f||\"rive_gpu_v1\"===f)&&\n(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(215)),xg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n();return x})(r(216)),yg:(null===f||\"rive_gpu_v1\"===f)&&(k=>void 0===k?l(\"rive_gpu_v1\",\"shader_module_from_rstb\"):(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();\nnull!==a.j&&n();return x})(r(217)),zg:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(218)),Pf:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(219)),Qf:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(220)),Nf:(null===\nf||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n();return x})(r(221)),Of:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,x)=>{0===a.g&&v();c.i&&c.l++;let K;try{K=k(a.g,b,g,h,m,x)}catch(S){throw b=S,a.h=!0,b;}a.h&&p();null!==a.j&&n();return K})(r(222)),Mf:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,x,K,S)=>{0===a.g&&v();c.i&&c.l++;let A;try{A=k(a.g,b,g,h,m,x,K,S)}catch(w){throw b=w,a.h=!0,b;}a.h&&p();null!==a.j&&\nn();return A})(r(223)),Rf:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,x,K,S)=>{0===a.g&&v();c.i&&c.l++;let A;try{A=k(a.g,b,g,h,m,x,K,S)}catch(w){throw b=w,a.h=!0,b;}a.h&&p();null!==a.j&&n();return A})(r(224)),Sf:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(225)),rg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&\nn();return x})(r(226)),sg:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(227)),ah:(null===f||\"rive_mat4_v1\"===f)&&(k=>(b,g,h,m,x,K)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m,x,K)}catch(S){throw b=S,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(228)),$g:(null===f||\"rive_mat4_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n();return x})(r(229)),\nMd:(null===f||\"rive_buffer_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(230)),Od:(null===f||\"rive_buffer_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(231)),Nd:(null===f||\"rive_buffer_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(232)),mh:(null===f||\"rive_mesh_instances_v1\"===\nf)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(233)),oh:(null===f||\"rive_mesh_instances_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(234)),ph:(null===f||\"rive_mesh_instances_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(235)),nh:(null===f||\"rive_mesh_instances_v1\"===f)&&\n(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(236)),Ld:(null===f||\"rive_blob_v1\"===f)&&(k=>(b,g,h,m,x)=>{0===a.g&&v();c.i&&c.l++;let K;try{K=k(a.g,b,g,h,m,x)}catch(S){throw b=S,a.h=!0,b;}a.h&&p();null!==a.j&&n();return K})(r(237)),Jg:(null===f||\"rive_image_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(238)),Mg:(null===f||\"rive_image_v1\"===f)&&(k=>b=>\n{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(239)),Kg:(null===f||\"rive_image_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(240)),Lg:(null===f||\"rive_image_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(241)),Hg:(null===f||\"rive_image_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;\ntry{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(242)),Ig:(null===f||\"rive_image_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(243)),Df:(null===f||\"rive_font_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(244)),Bf:(null===f||\"rive_font_v1\"===f)&&(k=>void 0===k?l(\"rive_font_v1\",\"decode\"):(b,g)=>{0===a.g&&\nv();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(245)),Jf:(null===f||\"rive_font_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(246)),If:(null===f||\"rive_font_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(247)),Kf:(null===f||\"rive_font_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=\nh,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(248)),Hf:(null===f||\"rive_font_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(249)),zf:(null===f||\"rive_font_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(250)),yf:(null===f||\"rive_font_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m)}catch(x){throw b=x,a.h=!0,b;}a.h&&\np();null!==a.j&&n()})(r(251)),Af:(null===f||\"rive_font_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(252)),Cf:(null===f||\"rive_font_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(253)),Gf:(null===f||\"rive_font_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==\na.j&&n();return h})(r(254)),Lf:(null===f||\"rive_font_v1\"===f)&&(k=>(b,g,h,m,x)=>{0===a.g&&v();c.i&&c.l++;let K;try{K=k(a.g,b,g,h,m,x)}catch(S){throw b=S,a.h=!0,b;}a.h&&p();null!==a.j&&n();return K})(r(255)),Ff:(null===f||\"rive_font_v1\"===f)&&(k=>void 0===k?l(\"rive_font_v1\",\"glyph_verbs\"):(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n();return x})(r(256)),Ef:(null===f||\"rive_font_v1\"===f)&&(k=>void 0===k?l(\"rive_font_v1\",\"glyph_points\"):\n(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n();return x})(r(257)),Xi:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"new\"):()=>{0===a.g&&v();c.i&&c.l++;try{var b=k(a.g)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n();return b})(r(258)),Yi:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"release\"):b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(259)),\nNi:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"append\"):(b,g,h,m,x,K,S,A,w)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m,x,K,S,A,w)}catch(t){throw b=t,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(260)),Qi:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"clear\"):b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(261)),Ui:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"layout\"):(b,g,h)=>{0===a.g&&v();c.i&&\nc.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(262)),Ri:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"draw\"):(b,g,h)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(263)),Oi:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"bounds\"):(b,g,h)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(264)),Vi:(null===f||\"rive_text_v1\"===f)&&\n(k=>void 0===k?l(\"rive_text_v1\",\"length\"):b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(265)),Wi:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"lines\"):(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(266)),Zi:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"runs\"):(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,\ng,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(267)),Si:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"glyphs\"):(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(268)),Ti:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"hit_test\"):(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(269)),Pi:(null===\nf||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"caret\"):(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n();return x})(r(270)),$i:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"selection_rects\"):(b,g,h,m,x)=>{0===a.g&&v();c.i&&c.l++;let K;try{K=k(a.g,b,g,h,m,x)}catch(S){throw b=S,a.h=!0,b;}a.h&&p();null!==a.j&&n();return K})(r(271)),di:(null===f||\"rive_shader_v1\"===f)&&(k=>(b,g,h,m,x,K,S)=>{0===a.g&&v();c.i&&\nc.l++;let A;try{A=k(a.g,b,g,h,m,x,K,S)}catch(w){throw b=w,a.h=!0,b;}a.h&&p();null!==a.j&&n();return A})(r(272)),ei:(null===f||\"rive_shader_v1\"===f)&&(k=>(b,g,h,m,x,K)=>{0===a.g&&v();c.i&&c.l++;let S;try{S=k(a.g,b,g,h,m,x,K)}catch(A){throw b=A,a.h=!0,b;}a.h&&p();null!==a.j&&n();return S})(r(273)),fi:(null===f||\"rive_shader_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(274)),Mi:(null===f||\"rive_test_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&\nv();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n();return x})(r(275)),bj:(null===f||\"rive_transition_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(276)),dj:(null===f||\"rive_transition_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(277)),cj:(null===f||\"rive_transition_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&\nc.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(278)),Sh:(null===f||\"rive_renderer_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(279)),Rh:(null===f||\"rive_renderer_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(280)),Th:(null===f||\"rive_renderer_v1\"===f)&&(k=>(b,g,h,m,x,K,S)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m,x,\nK,S)}catch(A){throw b=A,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(281)),Oh:(null===f||\"rive_renderer_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(282)),Kh:(null===f||\"rive_renderer_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(283)),Qh:(null===f||\"rive_renderer_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&\np();null!==a.j&&n()})(r(284)),Ph:(null===f||\"rive_renderer_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(285)),Lh:(null===f||\"rive_renderer_v1\"===f)&&(k=>(b,g,h,m,x)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m,x)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(286)),Mh:(null===f||\"rive_renderer_v1\"===f)&&(k=>(b,g,h,m,x,K,S,A)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m,x,K,S,A)}catch(w){throw b=w,a.h=!0,b;}a.h&&\np();null!==a.j&&n()})(r(287)),Nh:(null===f||\"rive_renderer_v1\"===f)&&(k=>(b,g,h,m,x,K,S)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m,x,K,S)}catch(A){throw b=A,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(288)),qh:(null===f||\"rive_net_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(289)),rh:(null===f||\"rive_net_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&\nn()})(r(290)),wf:(null===f||\"rive_file_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n();return x})(r(291)),xf:(null===f||\"rive_file_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(292)),pf:(null===f||\"rive_file_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(293)),qf:(null===\nf||\"rive_file_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n();return x})(r(294)),rf:(null===f||\"rive_file_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n();return x})(r(295)),vf:(null===f||\"rive_file_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(296)),uf:(null===f||\"rive_file_v1\"===\nf)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(297)),sf:(null===f||\"rive_file_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(298)),tf:(null===f||\"rive_file_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(299)),Ug:(null===f||\"rive_lanes_v1\"===f)&&\n(k=>(b,g,h,m,x,K)=>{0===a.g&&v();c.i&&c.l++;let S;try{S=k(a.g,b,g,h,m,x,K)}catch(A){throw b=A,a.h=!0,b;}a.h&&p();null!==a.j&&n();return S})(r(300)),Vg:(null===f||\"rive_lanes_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(301)),Rg:(null===f||\"rive_lanes_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(302)),Wg:(null===f||\"rive_lanes_v1\"===\nf)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(303)),Sg:(null===f||\"rive_lanes_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(304)),Tg:(null===f||\"rive_lanes_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(305)),Zg:(null===f||\"rive_lanes_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;\ntry{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(306)),Xg:(null===f||\"rive_lanes_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(307)),Qg:(null===f||\"rive_lanes_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(308)),Yg:(null===f||\"rive_lanes_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,\nh)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(309)),Pg:(null===f||\"rive_jobs_v1\"===f)&&(k=>()=>{0===a.g&&v();c.i&&c.l++;try{var b=k(a.g)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n();return b})(r(310)),Ng:(null===f||\"rive_jobs_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(311)),Og:(null===f||\"rive_jobs_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=\nx,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(312)),pi:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(313)),ui:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(314)),ri:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=\n!0,b;}a.h&&p();null!==a.j&&n();return h})(r(315)),vi:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(316)),ti:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n();return x})(r(317)),wi:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,\nb;}a.h&&p();null!==a.j&&n();return x})(r(318)),si:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(319)),ii:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(320)),ki:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=\n!0,b;}a.h&&p();null!==a.j&&n();return m})(r(321)),gi:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(322)),hi:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n();return x})(r(323)),zi:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=\nh,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(324)),Ei:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g,h,m,x)=>{0===a.g&&v();c.i&&c.l++;let K;try{K=k(a.g,b,g,h,m,x)}catch(S){throw b=S,a.h=!0,b;}a.h&&p();null!==a.j&&n();return K})(r(325)),Bi:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(326)),Ai:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,\nb,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(327)),Di:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(328)),Ci:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(329)),Ii:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=\nh,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(330)),Ji:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g,h,m,x)=>{0===a.g&&v();c.i&&c.l++;let K;try{K=k(a.g,b,g,h,m,x)}catch(S){throw b=S,a.h=!0,b;}a.h&&p();null!==a.j&&n();return K})(r(331)),Ki:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;let m;try{m=k(a.g,b,g,h)}catch(x){throw b=x,a.h=!0,b;}a.h&&p();null!==a.j&&n();return m})(r(332)),Li:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=\nh,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(333)),oi:(null===f||\"rive_shared_v1\"===f)&&(k=>()=>{0===a.g&&v();c.i&&c.l++;try{k(a.g)}catch(g){var b=g;a.h=!0;throw b;}a.h&&p();null!==a.j&&n()})(r(334)),Fi:(null===f||\"rive_shared_v1\"===f)&&(k=>()=>{0===a.g&&v();c.i&&c.l++;try{var b=k(a.g)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n();return b})(r(335)),Gi:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(336)),\nHi:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(337)),li:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();c.i&&c.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n();return h})(r(338)),ni:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(339)),mi:(null===\nf||\"rive_shared_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();c.i&&c.l++;let x;try{x=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&p();null!==a.j&&n();return x})(r(340)),yi:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&p();null!==a.j&&n();return g})(r(341)),xi:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(342)),Xd:(null===f||\"env\"===f)&&\n(k=>(b,g,h)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(343)),aj:(null===f||\"env\"===f)&&(k=>(b,g,h,m,x,K,S,A)=>{0===a.g&&v();c.i&&c.l++;try{k(a.g,b,g,h,m,x,K,S,A)}catch(w){throw b=w,a.h=!0,b;}a.h&&p();null!==a.j&&n()})(r(344))}}function l(r,a){return()=>{throw Error(\"failed to call unlinked import function \"+r+\".\"+a);}}function q(r,a,f){if(a+f>r.byteLength)throw Error(\"out of bounds memory access\");}function z(r,a){a>>>=0;if(4>a)return 0;q(r,\na,0);const f=(new DataView(r)).getUint32(a-4,!0);q(r,a,f);return f}function C(r,a,f){a>>>=0;f>>>=0;q(r,a,f);if(\"undefined\"!==typeof TextDecoder)return(new TextDecoder(\"utf-16le\",{ignoreBOM:!0})).decode(new Uint8Array(r,a,f));r=0===a%2?new Uint16Array(r,a,f>>1):new Uint16Array(r.slice(a,a+f-f%2));a=\"\";for(f=0;f<r.length;f+=4096)a+=String.fromCharCode.apply(null,r.subarray(f,f+4096));return a}function D(r,a){let f=Fc.get(a);if(void 0===f){for(let c=0;32>c&&void 0===f;c++){const n=a+16+4*c>>>2;0===Atomics.compareExchange(r,\nn,0,1)&&(f={fa:n,Ya:2+c})}f??={fa:-1,Ya:34+Atomics.add(r,a+144>>>2,1)};Fc.set(a,f)}return f}function F(r,a,f,c,n=null,p=()=>{}){a>>>=0;const v=f%4294967296,k=Math.floor(f/4294967296);let b=null,g=null,h=null,m=null,x=null,K=null;const S=()=>{const G=r();G!==b&&(b=G,g=new Uint8Array(b),h=new Int32Array(b),m=new Uint32Array(b))};S();const A=D(h,a);null!==n&&Atomics.store(n,2,A.Ya);const w=(G,W)=>{const X=c().buffer;X!==x&&(x=X,K=new Uint8Array(X));return G+W<=K.length?K:null},t=(G,W,X,Y,ca)=>{for(let da=\n0;da<ca;da++)G[W+da]=X[Y+da]},y=G=>{for(null!==n&&Atomics.store(n,3,G);0!==Atomics.compareExchange(h,G>>>2,0,A.Ya););},u=G=>{Atomics.store(h,G>>>2,0);null!==n&&Atomics.store(n,3,0)};let E=0;const M=(G,W)=>{S();G>>>=0;if(0===(G&2147483648))return 0;var X=(G&2147483647)>>>12,Y=Atomics.load(m,a+148+4*(X>>>10)>>>2);if(0===Y)return 0;X=Y+24*(X&1023);Y=X>>>2;if(0<=A.fa){if(Atomics.store(m,A.fa,X),Y=Atomics.load(m,Y),0===(Y&4096)||0!==((Y^G)&4095))return Atomics.store(m,A.fa,1),0}else for(;;){const ca=Atomics.load(m,\nY);if(0===(ca&4096)||0!==((ca^G)&4095))return 0;if(Atomics.compareExchange(m,Y,ca,ca+8192)===ca)break}E=X;G=Atomics.load(m,X+4>>>2);return m[G>>>2]!==W||m[X+16>>>2]!==v||m[X+20>>>2]!==k?(P(),0):G},P=()=>{0<=A.fa?Atomics.store(m,A.fa,1):Atomics.sub(m,E+0>>>2,8192)},pa=G=>{G=M(G,3);if(0!==G){4294967295===Atomics.add(m,G+24>>>2,1)&&Atomics.add(m,G+28>>>2,1);y(G+4);try{const W=m[G+16>>>2],X=m[G+32>>>2]>>>2;for(let Y=0;Y<W;Y++){const ca=m[X+Y]+0>>>2;Atomics.add(h,ca,1);Atomics.notify(h,ca)}}finally{u(G+\n4),P()}}},Ba=(G,W,X,Y,ca)=>{const da=Math.min(ca,m[G+8>>>2]-W);t(g,G+32+W,X,Y,da);t(g,G+32,X,Y+da,ca-da)},Ka=(G,W,X,Y,ca)=>{var da=m[G+8>>>2];W%=da;da=Math.min(ca,da-W);t(X,Y,g,G+32+W,da);t(X,Y+da,g,G+32,ca-da)},mb=new Uint8Array(4),ub=new Uint32Array(mb.buffer),Sa=()=>{p(\"a processor cannot pass shared objects through rings or snapshots, as the audio thread may not hold or give them back; pass them in Audio.start's argument\");return 0},ha=(G,W,X,Y)=>{G=M(G,1);if(0===G)return 0;let ca=0,da=0;y(G+\n4);try{const Ea=m[G+20>>>2];if(0===Ea)return 0;const Ca=m[G+16>>>2];Ka(G,Ca,mb,0,4);da=ub[0];if(0!==(da&2147483648))return Sa();if(null===W){if(da<=Y)return 0}else{if(0===X||da>Y)return da+1;Ka(G,Ca+4,W,X,da)}m[G+16>>>2]=(Ca+4+da)%m[G+8>>>2];m[G+20>>>2]=Ea-4-da;ca=m[G+28>>>2]}finally{u(G+4),P()}pa(ca);return da+1},za=(G,W,X)=>{G=M(G,0);if(0===G)return-1;try{W>>>=0;var Y=0!==(W&3)||W+4>m[G+8>>>2]?-1:G+32+W>>>2;return 0>Y?-1:X(Y)>>>0}finally{P()}};return{region_create:()=>0,region_size:G=>{G=M(G,0);\nif(0===G)return 0;G=m[G+8>>>2];P();return G},region_lock:()=>0,region_unlock:()=>{},region_read:()=>0,region_write:()=>0,region_poisoned:G=>{G=M(G,0);if(0===G)return 0;G=0!==m[G+16>>>2]?1:0;P();return G},atomic_load:(G,W)=>za(G,W,X=>Atomics.load(h,X)),atomic_store:(G,W,X)=>za(G,W,Y=>{Atomics.store(h,Y,X|0);return 0}),atomic_add:(G,W,X)=>za(G,W,Y=>Atomics.add(h,Y,X|0)),atomic_cas:(G,W,X,Y)=>za(G,W,ca=>Atomics.compareExchange(h,ca,X|0,Y|0)),ring_create:()=>0,ring_write:(G,W,X,Y,ca)=>{W>>>=0;X>>>=0;\nY=w(W,X);G=null!==Y?M(G,1):0;if(0===G)return 0;if(0!==ca)return P(),Sa();ca=0;y(G+4);try{const da=m[G+8>>>2];if(4+X>da)return 2;const Ea=m[G+20>>>2];if(Ea+4+X>da)return 0;const Ca=m[G+16>>>2];ub[0]=X;Ba(G,(Ca+Ea)%da,mb,0,4);Ba(G,(Ca+Ea+4)%da,Y,W,X);m[G+20>>>2]=Ea+4+X;ca=m[G+24>>>2]}finally{u(G+4),P()}pa(ca);return 1},ring_read:(G,W,X)=>{W>>>=0;X>>>=0;const Y=w(W,X);return null!==Y?ha(G,Y,W,X):0},ring_drop:(G,W)=>ha(G,null,0,W>>>0),ring_used:G=>{G=M(G,1);if(0===G)return 0;y(G+4);const W=m[G+20>>>2];\nu(G+4);P();return W},ring_signal:(G,W)=>{G=M(G,1);if(0===G)return 0;W=m[G+(0!==W?28:24)>>>2];P();return W},snapshot_create:()=>0,snapshot_publish:(G,W,X,Y,ca)=>{W>>>=0;X>>>=0;Y=w(W,X);G=null!==Y?M(G,2):0;if(0===G)return 0;try{const Ea=m[G+8>>>2];if(0!==ca)return Sa();if(X>Ea)return 0;y(G+4);try{ca=G+16>>>2;var da=Atomics.load(m,ca);const Ca=G+40>>>2;if(0!==((0!==da?Atomics.load(m,Ca+da-1):0)&2147483648))return Sa();da%=2;const Ta=(G+32>>>2)+da,Ua=Atomics.load(m,Ta)|1;Atomics.store(m,Ta,Ua);Atomics.load(m,\nTa);t(g,G+48+da*Ea,Y,W,X);Atomics.store(m,Ca+da,X);Atomics.store(m,Ta,Ua+1);Atomics.store(m,ca,da+1);4294967295===Atomics.add(m,G+24>>>2,1)&&Atomics.add(m,G+28>>>2,1)}finally{u(G+4)}return 1}finally{P()}},snapshot_read:(G,W,X)=>{W>>>=0;X>>>=0;const Y=w(W,X);G=null!==Y?M(G,2):0;if(0===G)return 0;try{for(;;){const da=Atomics.load(m,G+16>>>2);if(0===da)return 0;var ca=da-1;const Ea=(G+32>>>2)+ca,Ca=Atomics.load(m,Ea);if(0!==(Ca&1))continue;const Ta=Atomics.load(m,(G+40>>>2)+ca),Ua=m[G+8>>>2];ca=G+48+\nca*Ua;const Kb=0!==(Ta&2147483648),fb=Math.min(Ta,Ua);!Kb&&0!==W&&fb<=X&&t(Y,W,g,ca,fb);if(Atomics.compareExchange(m,Ea,Ca,Ca)===Ca)return Kb?Sa():fb+1}}finally{P()}},snapshot_seq:G=>{G=M(G,2);if(0===G)return 0;G=4294967296*Atomics.load(m,G+28>>>2)+Atomics.load(m,G+24>>>2);P();return G},signal_create:()=>0,signal_notify:G=>pa(G),signal_seq:G=>{G=M(G,3);if(0===G)return 0;G=4294967296*Atomics.load(m,G+28>>>2)+Atomics.load(m,G+24>>>2);P();return G},blob_create:()=>0,blob_size:G=>{G=M(G,4);if(0===G)return 0;\nG=m[G+8>>>2];P();return G},blob_read:(G,W,X,Y)=>{W>>>=0;X>>>=0;Y>>>=0;const ca=w(X,Y);G=null!==ca?M(G,4):0;if(0===G)return 0;const da=m[G+8>>>2];Y=W<da?Math.min(Y,da-W):0;t(ca,X,g,G+16+W,Y);P();return Y},retain:()=>0,release:()=>{}}}function J(r,a,f){const c=Atomics.load(f,2);2>c||(r=new Int32Array(r()),f=Atomics.load(f,3),0!==f&&Atomics.compareExchange(r,f>>>2,c,0),34>c&&Atomics.store(r,((a>>>0)+16>>>2)+c-2,0))}function N(r){return String(r?.message??r)}function R(r,a,f=new Map){const c=v=>{const k=\nr().buffer;return C(k,v,z(k,v))},n={};for(var p of wa)n[p]=v=>a(c(v));p=v=>k=>{k=c(k);const b=f.get(k);void 0===b?a(`Timer '${k}' does not exist`):(v&&f.delete(k),a(`${k}: ${(gb()-b).toFixed(3)}ms`))};n[\"console.time\"]=v=>f.set(c(v),gb());n[\"console.timeLog\"]=p(!1);n[\"console.timeEnd\"]=p(!0);return n}function T(r){let a=null,f=null;const c=p=>f??N(p),n={env:R(()=>a,r.log,r.Ga),rive_shared_v1:r.Wa(()=>a),rive_lane_v1:{error:(p,v)=>{f=C(a.buffer,p,v);r.pc?.(f)},fuel_check:r.Oa??Ld}};void 0!==r.Ua&&\n(n[r.Ua]=r.mb(()=>a));try{const p=(new WebAssembly.Instance(r.module,n)).exports;a=p.memory;return{exports:p,memory:a,Na:c}}catch(p){return{error:f??N(p)}}}function V(r,a,f=!1){try{const c=r.exports;c[f?\"__riveLaneReset\":\"__riveLiftedStart\"]?.();const n=a.input,p=c.__rive_lane_alloc(n.length)>>>0;(new Uint8Array(r.memory.buffer,p,n.length)).set(n);const v=c[a.prefix+a.Ma](p,n.length,...(a.Fb??[]));a.ca&&c.__rive_lane_free(p);return{result:v}}catch(c){return{error:r.Na(c)}}}function na(r){const a=\nT(r);r=void 0===a.error?V(a,r):a;return void 0===r.error?{...a,result:r.result}:r}function qa(r,a,f,c,n,p){let v=null;const k=S=>{v??=S};var b=gb()+1E3,g=\"processor init overran its budget\";const h=na({module:r,Wa:S=>n(S,k),log:p,Oa:()=>{if(gb()>b)throw g;},prefix:vb.processor,Ma:a,input:f,Fb:[c.sampleRate,c.nc,c.channels],ca:!0});if(void 0!==h.error||null!==v)return{error:h.error??v};b=Infinity;g=\"processor overran its block budget\";const m=h.exports,x=h.memory;let K=null;return{ja:{xc(S,A,w,t=0){0<\nt&&(b=gb()+t);try{const y=m.__rive_processor_process(S,A)>>>0;if(null!==v)return v;const u=S*c.channels;if(null===K||K.buffer!==x.buffer||K.byteOffset!==y||K.length!==u)K=new Float32Array(x.buffer,y,u);w(K);m.__riveFrameMinor?.();return null}catch(y){return h.Na(y)}finally{b=Infinity}}}}}function U(r){r=[0,...r,11];return new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,r.length+2,1,r.length,...r])}function ba(r){let a=0,f=8;const c=()=>{const [g,h]=fa(r,f);f=h;return g},n=()=>{const g=\nr[f++];123===g&&(a=Math.max(a,1));return 99!==g&&100!==g},p=()=>{var g=r[f++];if(253===g)g=c(),a=Math.max(a,256<=g&&275>=g?2:1),11>=g||92===g||93===g?(c()&64&&c(),c()):12===g||13===g?f+=16:21<=g&&34>=g?f+=1:84<=g&&91>=g&&(c()&64&&c(),c(),f+=1);else if(252===g){g=c();if(g>=Gc.length)return!1;for(let h=0;h<Gc[g];h++)c()}else if(254===g)3===c()?f+=1:(c()&64&&c(),c());else if(40<=g&&62>=g)c()&64&&c(),c();else if(2<=g&&4>=g)123===r[f]&&(a=Math.max(a,1)),c();else if(14===g)for(g=c();0<=g&&f<r.length;g--)c();\nelse if(28===g)for(g=c();0<g&&f<r.length;g--){if(!n())return!1}else if(17===g||19===g)c(),c();else if(67===g||68===g)f+=67===g?4:8;else if(32<=g&&38>=g||Md.includes(g))c();else if(!(1>=g||5===g||11===g||15===g||26===g||27===g||209===g||69<=g&&196>=g))return!1;return!0};for(;f<r.length;){var v=r[f];const [g,h]=fa(r,f+1);f=h;if(1===v)for(v=c();0<v&&f<r.length;v--){if(96!==r[f++])return-1;for(var k=0;2>k;k++)for(var b=c();0<b&&f<r.length;b--)if(!n())return-1}else if(10===v)for(v=c();0<v&&f<r.length;v--){k=\nMath.min(c()+f,r.length);for(b=c();0<b&&f<k;b--)if(c(),!n())return-1;for(;f<k;)if(!p())return-1}f=h+g}return a}function fa(r,a){let f=0,c=0,n;do n=r[a++],f|=(n&127)<<c,c+=7;while(n&128);return[f>>>0,a]}function ea(r){const a=[];do{const f=r&127;r>>>=7;a.push(r?f|128:f)}while(r);return a}function ka(r){const a=[];for(let f=8;f<r.length;){const [c,n]=fa(r,f+1);a.push({id:r[f],at:f,body:n,end:n+c});f=n+c}return a}function va(r){const a=[];for(const f of ka(r)){if(0!==f.id)continue;const [c,n]=fa(r,f.body);\nNd.some(p=>p.length===c&&p.every((v,k)=>r[n+k]===v))&&a.push(r.subarray(n+c,f.end))}return a}function ra(r){var a=ka(r);const f=a.find(v=>8===v.id);var c=a.filter(v=>v!==f);if(void 0===f||!c.some(v=>7===v.id))return r;const n=fa(r,f.body)[0];a=[r.subarray(0,8)];for(var p of c){c=r.subarray(p.body,p.end);if(7===p.id){const [v,k]=fa(r,p.body);c=Array.from(\"__riveLiftedStart\",b=>b.charCodeAt(0));c=Uint8Array.from([...ea(v+1),...r.subarray(k,p.end),...ea(c.length),...c,0,...ea(n)])}a.push(Uint8Array.from([p.id,\n...ea(c.length)]),c)}r=new Uint8Array(a.reduce((v,k)=>v+k.length,0));p=0;for(const v of a)r.set(v,p),p+=v.length;return r}function Va(r,a,f,c){switch(c){case 0:return r();case 1:return r(a[f]);case 2:return r(a[f],a[f+1]);case 3:return r(a[f],a[f+1],a[f+2]);case 4:return r(a[f],a[f+1],a[f+2],a[f+3]);case 5:return r(a[f],a[f+1],a[f+2],a[f+3],a[f+4]);case 6:return r(a[f],a[f+1],a[f+2],a[f+3],a[f+4],a[f+5]);case 7:return r(a[f],a[f+1],a[f+2],a[f+3],a[f+4],a[f+5],a[f+6]);case 8:return r(a[f],a[f+1],a[f+\n2],a[f+3],a[f+4],a[f+5],a[f+6],a[f+7]);default:return r(...a.subarray(f,f+c))}}const wa=[\"console.log\",\"console.debug\",\"console.info\",\"console.warn\",\"console.error\"],ua=[[\"rive_lanes_v1\",\"wait_within\",[],\"blocks on a signal, which only the main lane may; a worker awaits Signal.next or Port.receive instead\"],[\"rive_shared_v1\",\"region_lock\",[\"job\",\"worker\"],\"locks a shared region, which the audio thread may not wait on; share through atomics, rings and snapshots instead\"],[\"rive_shared_v1\",\"read_done\",\n[],null],[\"rive_shared_v1\",null,[\"job\",\"worker\",\"processor\"],null],[\"rive_lane_v1\",null,[\"job\",\"worker\",\"processor\"],null],[\"rive_job_v1\",null,[\"job\"],null],[\"rive_worker_v1\",null,[\"worker\"],null],[\"env\",\"console.log\",[\"job\",\"worker\",\"processor\"],null],[\"env\",\"console.debug\",[\"job\",\"worker\",\"processor\"],null],[\"env\",\"console.info\",[\"job\",\"worker\",\"processor\"],null],[\"env\",\"console.warn\",[\"job\",\"worker\",\"processor\"],null],[\"env\",\"console.error\",[\"job\",\"worker\",\"processor\"],null],[\"env\",\"console.time\",\n[\"job\",\"worker\"],null],[\"env\",\"console.timeLog\",[\"job\",\"worker\"],null],[\"env\",\"console.timeEnd\",[\"job\",\"worker\"],null]],nb=[[\"rive.jobs\",\"job\"],[\"rive.workers\",\"worker\"],[\"rive.audio\",\"processor\"]],vb={job:\"__rive_job_\",worker:\"__rive_worker_\",processor:\"__rive_processor_\"},Hc={starting:0,running:1,done:2,failed:3,stopped:4},Fc=new Map,gb=void 0!==globalThis.performance?()=>globalThis.performance.now():Date.now,Ld=()=>{},ac=[253,12,...Array(16).fill(0)],Od=U([...ac]),Pd=U([...ac,...ac,253,128,2]),\nGc=[0,0,0,0,0,0,0,0,2,1,2,1,2,1,2,1,1,1],Md=[12,13,16,18,63,64,65,66,208,210],Nd=nb.map(([r])=>Array.from(r,a=>a.charCodeAt(0)));(function(r){function a(B,H=null){return{Lb:e(ha.fc,B,H),W:ha.W,la:ha.la,Ea:ha.Ea,ka:ha.ka,Ta:ha.Ta,ca:ha.ca,wa:G}}function f(B){Y??={ub:W(Od),sb:W(Pd)};B=[B,...va(B)];if(Y.ub&&Y.sb||B.every(H=>W(H)))return null;B=Math.max(...B.map(ba));return!Y.ub&&0<B?\"this browser lacks WebAssembly SIMD, so this file's scripts are off; bake with wasmSimd: off to support it\":Y.sb||2!==\nB?null:\"this browser lacks WebAssembly relaxed SIMD, so this file's scripts are off; bake with wasmSimd: on to support it\"}function c(B,H){const O=d(a(B.I),()=>{if(null===B.memory)throw Error(\"script passed memory to the host while its module was still starting\");return B.memory});for(const Q of WebAssembly.Module.imports(H))if(\"function\"===Q.kind){let aa,ia,ma,ja;(ma=(aa=O)[ia=Q.module]??(aa[ia]={}))[ja=Q.name]??(ma[ja]=l(Q.module,Q.name))}return O}function n(B,H){const O=ha.la();for(const {name:Q}of WebAssembly.Module.exports(H)){if(!Q.startsWith(\"__rive\"))continue;\nH=3*Q.length+1;const aa=ha.Ea(H);ha.yb(Q,aa,H);ha.exports._rive_web_vm_module_export(B.I.g,aa)}ha.ka(O);B=ha.exports._rive_web_vm_start_refusal(B.I.g);if(0!==B)throw Error(ha.oa(B));}function p(B,H){B.memory=H.exports.memory;B.U=null;B.Kb=Object.keys(H.exports).filter(oa=>oa.startsWith(\"__riveCall\")).map(oa=>H.exports[oa]).filter(oa=>{if(!(oa instanceof WebAssembly.Global))return!1;try{return oa.value=oa.value,!0}catch{return!1}});B.Jb=[];const O=ha.exports._rive_web_vm_start_fuel(B.I.g),Q=H.exports.__riveFuelArm,\naa=H.exports.__riveFuelEnd,ia=0<O&&void 0!==Q&&void 0!==aa,ma=ha.exports._rive_web_vm_booting;ma(B.I.g);const ja=ha.la();B.instance=H;try{ia&&Q(O),H.exports.__riveLiftedStart?.(),ia&&aa()}catch(oa){throw B.instance=null,ha.ka(ja),B.I.j=null,oa;}finally{ma(0)}}async function v(B){try{const Q=await WebAssembly.compile(ra(B.U));if(0!==B.I.g){n(B,Q);var H=m(Q),O=await WebAssembly.instantiate(Q,c(B,Q));await H;0!==B.I.g&&p(B,O)}}catch(Q){B.error=N(Q)}}function k(B,H){if(B.length!==H.length)return!1;for(let O=\n0;O<B.length;O++)if(B[O]!==H[O])return!1;return!0}function b(B,H,O){B={U:B,module:H,error:O,ia:new Set,Qa:null};ca.push(B);8<ca.length&&ca.shift();return B}function g(B,H){if(!Ea(B)){b(B,H,null);for(const O of da())O.postMessage({riveLane:{bytes:B,module:H}})}}function h(B,H){for(const aa of WebAssembly.Module.imports(B)){a:{B=H;var O=aa.module,Q=aa.name;for(const [ia,ma,ja,oa]of ua)if(O===ia&&(null===ma||Q===ma)){B=ja.includes(B)?null:oa??\"\";break a}B=\"\"}if(null!==B)throw Error(\"lane module imports \"+\naa.module+\".\"+aa.name+\", which it cannot reach\");}}function m(B,H=!1){const O=[];for(const [Q,aa]of nb)for(const ia of WebAssembly.Module.customSections(B,Q)){const ma=ra(new Uint8Array(ia));if(Ea(ma))continue;const ja=oa=>{h(oa,aa);g(ma,oa)};if(H)try{ja(new WebAssembly.Module(ma))}catch(oa){}else O.push(WebAssembly.compile(ma).then(ja).catch(()=>{}))}return Promise.all(O)}function x(B,H,O){let Q=ca.find(aa=>aa.ia.has(B));if(void 0===Q){const aa=H();Q=ca.find(ia=>k(ia.U,aa));if(void 0===Q){Q=b(aa,\nnull,null);try{const ia=new WebAssembly.Module(aa);h(ia,O);Q.module=ia}catch(ia){Q.error=N(ia)}}Q.ia.add(B);8<Q.ia.size&&Q.ia.delete(Q.ia.values().next().value)}return Q}function K(B=!1,H=0){return(O,Q)=>B?F(()=>ha.W().buffer,ha.exports._rive_shared_table(),H,O,null,Q):d(a({g:1,j:null,h:!1,wa:G},\"rive_shared_v1\"),O,\"rive_shared_v1\").rive_shared_v1}function S(B){B=ha.mc(B);if(null!==B)throw B;}function A(B){const H=B.Qa;B.Qa=null;if(null!==H)return H.Ga.clear(),H;const O={ja:0,eb:null,Ga:new Map,reset:!1};\nreturn Object.assign(O,T({module:B.module,Ua:\"rive_job_v1\",mb:()=>({cancelled:()=>O.eb()}),Wa:K(),log:Q=>ha.Sa(O.ja,Q),Ga:O.Ga,Oa:()=>S(O.ja)}))}function w(){let B=[],H=null;return{Y(O){null!==H?H(O):B.push(O)},open(O){H=O;for(const Q of B)H(Q);B=[]},Wb(O){for(const Q of B)Sa({id:Q.id,kind:\"failed\",text:O});B=[]}}}function t(B){return{numberOfInputs:0,numberOfOutputs:1,outputChannelCount:[2],processorOptions:{memory:ha.memory(),table:ha.exports._rive_shared_table(),counter:B.buffer}}}function y(B){for(const H of[...Aa.X.keys()])Sa({id:H,\nkind:\"failed\",text:B})}function u(B,H,O,Q,aa,ia=aa){let ma=!1,ja=-1,oa=0;const Ia=setInterval(()=>{if(\"closed\"===B.state)clearInterval(Ia),ia(\"script audio context closed\");else{var Fa=Atomics.load(H,0),bc=(0<Aa.X.size||0<oa)&&\"running\"===B.state;oa=Fa===ja&&bc?oa+1:0;ja=Fa;Fa=ma?0!==Atomics.load(H,1)?30:Q:O;oa>=Fa&&(clearInterval(Ia),aa(ma?\"processor stalled the audio thread\":\"script audio worklet never answered\"))}},50);return{ready(){ma=!0;oa=0},stop:()=>clearInterval(Ia)}}function E(B,H,O=!0){B.qb.Wb(H);\nAa.output===B&&(Aa.output=null);O&&void 0===Ga.audioContext&&B.context.close?.()}function M(B){let H=cc.get(B);void 0===H&&(H={$a:new Int32Array(new SharedArrayBuffer(16)),Xa:!1},cc.set(B,H),B.addEventListener(\"statechange\",()=>{\"closed\"!==B.state||H.Xa||Ic(H.$a)}));return H}function P(){const B=new AudioContext,H=[\"pointerdown\",\"pointerup\",\"keydown\",\"touchend\"],O=()=>B.resume(),Q=setTimeout(()=>console.warn(\"script audio waits for a click, tap or key press on the page\"),1E3),aa=()=>{if(\"running\"===\nB.state||\"closed\"===B.state){clearTimeout(Q);B.removeEventListener(\"statechange\",aa);for(const ia of H)globalThis.removeEventListener(ia,O,{capture:!0})}};for(const ia of H)globalThis.addEventListener(ia,O,{capture:!0});B.addEventListener(\"statechange\",aa);aa();return B}function pa(){const B=Ga.audioContext??P(),H=w(),O={context:B,Y:H.Y,ea:new Set,qb:H},Q=M(B);let aa=null;const ia=ja=>{Aa.output===O&&(ma.stop(),y(ja),E(O,ja,!1))},ma=u(B,Q.$a,Infinity,20,ja=>{Q.Xa=!0;aa.port.onmessage=null;aa.port.postMessage({kind:\"end\"});\naa.disconnect();y(ja);E(O,ja,!1)},ia);B.addEventListener(\"statechange\",()=>{\"closed\"===B.state&&ia(\"script audio context closed\")});B.audioWorklet.addModule(Ga.audioWorkletUrl).then(()=>{aa=new AudioWorkletNode(B,\"rive-processors\",t(Q.$a));aa.port.onmessage=ja=>Sa(ja.data);aa.connect(B.destination);ma.ready();H.open(ja=>aa.port.postMessage(ja))}).catch(ja=>{ma.stop();E(O,dc(ja))});return O}function Ba(){const B=Ga.audioWorkletUrl;let H=Ga.audioContext;void 0===H&&(globalThis.nrdp.audio.output.open(),\nH=new AudioContext);H.forceStart?.();const O=w(),Q={context:H,Y:O.Y,ea:new Set,qb:O},aa=new Int32Array(new SharedArrayBuffer(16));let ia=null,ma=!1,ja=!1;const oa=Ja=>{if(!ja){ja=!0;Ia.stop();ia?.terminate();if(ma){for(const ob=gb()+200;gb()<ob;);Ic(aa);y(Ja)}E(Q,Ja)}},Ia=u(H,aa,40,2,oa),Fa=Ja=>(...ob)=>{try{Ja(...ob)}catch(Lb){oa(dc(Lb))}},bc=Fa(()=>{(new AudioWorkletNode(H,\"rive-processors\",t(aa))).connect(H.destination);ma=!0;Ia.ready();O.open(Ja=>ia.send(Ja))});fetch(B).then(Ja=>{if(!Ja.ok)throw Error(B+\n\" answered HTTP \"+Ja.status);return Ja.text()}).then(Ja=>{if(!ja){var ob=H.audioWorklet;ob.active=!0;ob.init(Fa(()=>{ja||(ia=globalThis.nrdp.thread.start({url:B,source:Ja,audio:H}),ia.addEventListener(\"raw-message\",Lb=>\"ready\"===Lb.kind?bc():Sa(Lb)))}))}}).catch(Ja=>oa(dc(Ja)));return Q}function Ka(){let B;(B=Aa).output??(B.output=void 0!==globalThis.nrdp?.audio?.output?Ba():pa());return Aa.output}function mb(B){const H=new Set([...Aa.X.values()].map(O=>O.kb));for(const O of B.ea){if(8>=B.ea.size)break;\nH.has(O)||(B.ea.delete(O),B.Y({kind:\"forget\",moduleId:O}))}}function ub(B,H,O){const Q=H.Nb;B.ea.add(H.kb);B.Y({...H.start,bytes:O?Q.U:null})}function Sa(B){const H=Aa.X.get(B.id);void 0!==H&&(\"resend\"===B.kind?null!==Aa.output&&ub(Aa.output,H,!0):ha.uc(H.qc,Qd[B.kind],B.text??\"\"))}let ha=null;const za=new Map,G={i:!1,l:0,ua:0,sa:0,ta:0,va:0},W=r.riveScriptingValidate??(B=>WebAssembly.validate(B)),X=!0===r.riveScriptingLaneTwin;let Y=null;const ca=[];let da=()=>[];const Ea=B=>ca.some(H=>k(H.U,B)),\nCa=B=>{B=B?.riveLane;void 0!==B&&g(B.bytes,B.module)},Ta=globalThis.process?.nj?.(\"worker_threads\");!1===Ta?.oj?Ta.rj.i(\"message\",Ca):void 0!==globalThis.WorkerGlobalScope&&globalThis.addEventListener(\"message\",B=>Ca(B.data));const Ua=new Map;let Kb=1;const fb=new Map;let Rd=1;const Aa={output:null,X:new Map,next:1},Ic=B=>J(()=>ha.memory().buffer,ha.exports._rive_shared_table(),B),dc=B=>\"script audio has no worklet: \"+N(B),cc=new WeakMap,Qd={running:Hc.running,failed:Hc.failed,log:4294967295},Ga=\n{Hb(B){ha??=B},lj(B){da=B},register(B,H){H=H.slice();za.set(B,{I:{g:B,j:null,h:!1,wa:G},U:H,instance:null,memory:null,Z:null,error:f(H),names:new Map})},release(B){const H=za.get(B);H&&(H.I.g=0,za.delete(B))},tc(){const B=[];for(const H of za.values())if(null===H.instance&&null===H.error){let O;(O=H).Z??(O.Z=v(H));B.push(H.Z)}return Promise.all(B)},start(B){B=za.get(B);if(!B)return\"script module was never registered\";if(null===B.instance&&null===B.error){if(null!==B.Z)return\"script module is still being prepared\";\ntry{const H=new WebAssembly.Module(ra(B.U));n(B,H);m(H,!0);p(B,new WebAssembly.Instance(H,c(B,H)))}catch(H){B.error=N(H)}}return B.error},Z(B){B=za.get(B);return null===B?.instance&&null===B.error&&null!==B.Z?1:0},ec(B,H){return\"function\"===typeof za.get(B)?.instance?.exports[ha.oa(H)]?1:0},call(B,H,O,Q,aa,ia,ma){B=za.get(B);if(!B||null===B.instance)return 1;let ja=B.names.get(H);void 0===ja&&(ja=B.instance.exports[ha.oa(H)]??null,B.names.set(H,ja));if(\"function\"!==typeof ja)return 1;H=B.Kb;const oa=\nB.Jb,Ia=oa.length;for(let Fa=0;Fa<H.length;Fa++)oa.push(H[Fa].value);try{const Fa=Va(ja,ha.ib(),Q>>3,O);ha.ib()[aa>>3]=\"number\"===typeof Fa?Fa:0;return 0}catch(Fa){return B.I.j=null,ha.yb(N(Fa),ia,ma),B.I.h?3:2}finally{for(O=0;O<H.length;O++)H[O].value=oa[Ia+O];oa.length=Ia}},vc(B,H){if(B=za.get(B))B.I.j=ha.oa(H)},read(B,H,O,Q){B=za.get(B)?.memory;if(!B||H+Q>B.buffer.byteLength)return 0;ha.W().set(new Uint8Array(B.buffer,H,Q),O);G.i&&(G.ta+=Q);return 1},write(B,H,O,Q){B=za.get(B)?.memory;if(!B||H+\nQ>B.buffer.byteLength)return 0;(new Uint8Array(B.buffer,H,Q)).set(ha.W().subarray(O,O+Q));G.i&&(G.va+=Q);return 1},jj(B,H){B=za.get(B)?.memory;if(!B||H>=B.buffer.byteLength)return-1;B=(new Uint8Array(B.buffer)).indexOf(0,H);return 0>B?-1:B-H},rc(B){return(B=za.get(B)?.memory)?B.buffer.byteLength/65536:0},Yb(){const B=[];for(const H of za.keys()){const O=ha.exports._rive_web_vm_frame_boundary(H);0!==O&&B.push(ha.oa(O))}return B},Pb(B){G.i=!!B;G.l=0;G.ua=0;G.sa=0;G.ta=0;G.va=0},hc(){return{hostCalls:G.l,\nbytesStaged:G.ua,bytesCopiedOut:G.sa,bytesRead:G.ta,bytesWritten:G.va}},runJob:function(B,H,O,Q,aa,ia){H=x(H,O,\"job\");if(null!==H.error)return{ok:!1,error:H.error};O=A(H);if(void 0!==O.error)return{ok:!1,error:O.error};O.ja=B;O.eb=ia;B=V(O,{prefix:vb.job,Ma:Q,input:aa},O.reset);if(void 0!==B.error)return{ok:!1,error:B.error};try{const ma=O.memory.buffer,ja=new Uint32Array(ma,B.result>>>0,2),oa=0===ja[1]?new Uint8Array(0):new Uint8Array(ma,ja[0],ja[1]);void 0!==O.exports.__riveLaneReset&&16777216>=\nma.byteLength&&!ia()&&(O.reset=!0,H.Qa=O);return{ok:!0,output:oa}}catch(ma){return{ok:!1,error:O.Na(ma)}}},workerStart:function(B,H,O,Q,aa,ia){H=x(H,O,\"worker\");if(null!==H.error)return{ok:!1,error:H.error};Q=na({module:H.module,Ua:\"rive_worker_v1\",mb:ma=>({finished:(ja,oa,Ia)=>ia.finished(ja,new Uint8Array(ma().buffer,oa>>>0,Ia>>>0)),wait:ia.wait,stopping:ia.ij}),pc:ma=>ha.lc(B,ma),Wa:K(),log:ma=>ha.Sa(B,ma),Oa:()=>S(B),prefix:vb.worker,Ma:Q,input:aa,ca:!0});if(void 0!==Q.error)return{ok:!1,error:Q.error};\naa=Kb++;Ua.set(aa,{wake:Q.exports.__rive_worker_wake,Mb:Q.exports.__riveFrameMinor});return{ok:!0,id:aa}},workerWake:function(B,H,O){try{return Ua.get(B).wake(H,O),null}catch(Q){return N(Q)}},workerCollect:function(B){try{return Ua.get(B)?.Mb?.(),null}catch(H){return N(H)}},workerEnd:function(B){Ua.delete(B)},processorStart:function(B,H,O,Q,aa,ia,ma){H=x(H,O,\"processor\");if(null!==H.error)return{ok:!1,error:H.error};Q=qa(H.module,Q,aa,ia,K(X,ma),ja=>ha.Sa(B,ja));if(void 0!==Q.error)return{ok:!1,error:Q.error};\naa=Rd++;fb.set(aa,Q.ja);return{ok:!0,id:aa}},processorRender:function(B,H,O,Q){return fb.get(B).xc(H,O,Q)},processorEnd:function(B){fb.delete(B)},audioRefusal:function(){if(void 0===globalThis.nrdp?.audio?.output&&!0!==globalThis.crossOriginIsolated)return\"real time audio needs cross origin isolation\";if(\"undefined\"===typeof SharedArrayBuffer||!(ha.memory().buffer instanceof SharedArrayBuffer))return\"real time audio needs librive built with threads\";if(\"string\"!==typeof Ga.audioWorkletUrl)return\"real time audio needs riveScripting.audioWorkletUrl\";\nif(\"undefined\"===typeof AudioContext)return\"real time audio needs Web Audio\";const B=Ga.audioContext;return\"closed\"===B?.state?\"real time audio cannot start on a closed AudioContext\":cc.get(B)?.Xa?\"real time audio stalled the host's AudioContext; hand riveScripting a new one\":null},audioSampleRate:()=>Ka().context.sampleRate,audioStart:function(B,H,O,Q,aa,ia,ma,ja){const oa=x(H,O,\"processor\");if(null!==oa.error)return{ok:!1,error:oa.error};O=Ka();const Ia=Aa.next++;B={qc:B,kb:H,Nb:oa,start:{kind:\"start\",\nid:Ia,moduleId:H,entry:Q,input:aa,format:{sampleRate:ia.sampleRate,maxFrames:ia.nc,channels:ia.channels},hardBlocks:ma,sharedOwner:ja}};Aa.X.set(Ia,B);ub(O,B,!O.ea.has(H));mb(O);return{ok:!0,id:Ia}},audioStop:function(B){Aa.X.delete(B);null!==Aa.output&&(Aa.output.Y({kind:\"stop\",id:B}),mb(Aa.output))},audioState:()=>({context:Aa.output?.context.state??\"none\",processors:Aa.X.size})};Ga.prepare=Ga.tc;Ga.frameBoundary=Ga.Yb;Ga.countHostCalls=Ga.Pb;Ga.hostCallCounts=Ga.hc;return r.riveScripting=Ga})(I)})();\nconst Ha=I.onRuntimeInitialized;\nI.onRuntimeInitialized=function(){function d(U){this.G=U;this.Bb=U.getContext(\"2d\");this.bb=q;this.O=[];this.ga=0;this.clear=function(){console.assert(0==this.ga);this.O=[];z.delete(this)};this.save=function(){++this.ga;this.O.push(q.save.bind(q))};this.restore=function(){0<this.ga&&(this.O.push(q.restore.bind(q)),--this.ga)};this.transform=function(ba){this.O.push(q.transform.bind(q,ba))};this.align=function(ba,fa,ea,ka,va=1){this.O.push(q.align.bind(q,ba,fa,ea,ka,va))};this.flush=function(){console.assert(0==\nthis.ga);z.add(this);q.ab||l()};this.bindContext=function(){const ba=this.bb;ba&&ba.T&&La(ba.T)};this[\"delete\"]=function(){}}function e(U,ba=!1,fa=!1){var ea={alpha:!0,depth:ba||fa,stencil:ba||fa,antialias:ba&&!fa,premultipliedAlpha:!0,preserveDrawingBuffer:0,powerPreference:\"high-performance\",failIfMajorPerformanceCaveat:0,enableExtensionsByDefault:!1,explicitSwapControl:0,renderViaOffscreenBackBuffer:0};ba=U.getContext(\"webgl2\",ea);if(!ba)return null;ea=Ma(ba,ea);La(ea);const ka=C(U.width,U.height);\nka.T=ea;ka.G=U;ka.Ka=U.width;ka.Ja=U.height;ka.P=ba;ka.Ib=function(){this.T&&La(this.T)};var va=ka.delete;ka.delete=function(){this.Ib();va.call(this);var ra=this.T;Na===Oa[ra]&&(Na=null);\"object\"==typeof JSEvents&&JSEvents.sj(Oa[ra].F.canvas);Oa[ra]?.F.canvas&&(Oa[ra].F.canvas.zb=void 0);this.T=this.G=this.Ka=this.Ja=this.P=Oa[ra]=null};fa&&ka.setInkbleed(!0);return ka}function l(){if(q){var U=q.Db,ba=0,fa=0,ea=0,ka=Array(z.size),va=0;for(var ra of z)ra.aa=Math.min(ra.G.width,U),ra.$=Math.min(ra.G.height,\nU),ra.Ha=ra.$*ra.aa,ba=Math.max(ba,ra.aa),fa=Math.max(fa,ra.$),ea+=ra.Ha,ka[va++]=ra;z.clear();if(!(0>=ea)){ba=1<<(0>=ba?0:32-Math.clz32(ba-1));for(fa=1<<(0>=fa?0:32-Math.clz32(fa-1));fa*ba<ea;)ba<=fa?ba*=2:fa*=2;ba=Math.min(ba,U);fa=Math.min(fa,U);ka.sort((nb,vb)=>vb.Ha-nb.Ha);q.cb||(q.cb=new I.DynamicRectanizer(U),q.Ab=new I.Mat2D);ea=q.cb;va=q.Ab;for(var Va=0;Va<ka.length;){ea.reset(ba,fa);for(ra=Va;ra<ka.length;++ra){var wa=ka[ra],ua=ea.addRect(wa.aa,wa.$);if(0>ua){console.assert(ra>Va);break}wa.qa=\nua&65535;wa.ra=ua>>16}wa=J.push(ea.drawWidth());ua=N.push(ea.drawHeight());console.assert(wa>=ea.drawWidth());console.assert(ua>=ea.drawHeight());console.assert(wa<=U);console.assert(ua<=U);q.G.width!=wa&&(q.G.width=wa);q.G.height!=ua&&(q.G.height=ua);q.clear();for(wa=Va;wa<ra;++wa){ua=ka[wa];q.saveClipRect(ua.qa,ua.ra,ua.qa+ua.aa,ua.ra+ua.$);va.xx=ua.aa/ua.G.width;va.yy=ua.$/ua.G.height;va.xy=va.yx=0;va.tx=ua.qa;va.ty=ua.ra;q.transform(va);for(const nb of ua.O)nb();q.restoreClipRect();ua.O=[]}for(q.flush();Va<\nra;++Va)wa=ka[Va],ua=wa.Bb,ua.globalCompositeOperation=\"copy\",ua.drawImage(q.G,wa.qa,wa.ra,wa.aa,wa.$,0,0,wa.G.width,wa.G.height);Va=ra}}}}Ha&&Ha();let q=null;const z=new Set,C=I.makeRenderer;I.makeRenderer=function(U,ba,fa){fa=!(!fa||!fa.inkbleed);if(!q){function ea(ka){var va=document.createElement(\"canvas\");va.width=1;va.height=1;q=e(va,ka);if(!q)return null;q.ab=!!q.P.getExtension(\"WEBGL_shader_pixel_local_storage\");q.Db=Math.min(q.P.getParameter(q.P.MAX_RENDERBUFFER_SIZE),q.P.getParameter(q.P.MAX_TEXTURE_SIZE));\nq.Ia=!q.ab;if(ka=q.P.getExtension(\"WEBGL_debug_renderer_info\"))va=q.P.getParameter(ka.UNMASKED_RENDERER_WEBGL),q.P.getParameter(ka.UNMASKED_VENDOR_WEBGL).includes(\"Google\")&&va.includes(\"ANGLE Metal Renderer\")&&(q.Ia=!1);return q}q=ea(!0);if(!q)throw\"Unable to create WebGL context, your environment may not support WebGL. Try out @rive-app/canvas as an alternative.\";q.Ia||(q=ea(!1))}return ba?new d(U):e(U,q.Ia,fa)};const D=I.Artboard.prototype[\"delete\"];I.Artboard.prototype[\"delete\"]=function(){this.Gb=\n!0;D.call(this)};const F=I.Artboard.prototype.draw;I.Artboard.prototype.draw=function(U){U.O?U.O.push(()=>{this.Gb||F.call(this,U.bb)}):F.call(this,U)};const J=new xa,N=new xa,R=new ta;I.requestAnimationFrame=R.requestAnimationFrame.bind(R);I.cancelAnimationFrame=R.cancelAnimationFrame.bind(R);I.enableFPSCounter=R.Tb.bind(R);const T=ya(l);R.lb=T;I.resolveAnimationFrame=T;let V=I.load;I.load=function(U,ba,fa=!0,ea=null){const ka=new I.FallbackFileAssetLoader;void 0!==ba&&ka.addLoader(ba);fa&&(ba=new I.CDNFileAssetLoader(ea),\nka.addLoader(ba));return I.startFileScripts(V(U,ka,ea??null))};const na=I.WebGL2Renderer.prototype.clear;I.WebGL2Renderer.prototype.clear=function(){La(this.T);const U=this.G;if(this.Ka!=U.width||this.Ja!=U.height)this.resize(U.width,U.height),this.Ka=U.width,this.Ja=U.height;na.call(this)};I.decodeImage=function(U,ba,fa=null){U=I.decodeWebGL2Image(U,fa??null);ba(U)};let qa=I.Renderer.prototype.align;I.Renderer.prototype.align=function(U,ba,fa,ea,ka=1){qa.call(this,U,ba,fa,ea,ka)}};var Pa=\"./this.program\";\nsa&&(_scriptName=self.location.href);var Qa=\"\",Ra,Wa;\nif(la||sa){try{Qa=(new URL(\".\",_scriptName)).href}catch{}sa&&(Wa=d=>{var e=new XMLHttpRequest;e.open(\"GET\",d,!1);e.responseType=\"arraybuffer\";e.send(null);return new Uint8Array(e.response)});Ra=async d=>{if(Xa(d))return new Promise((l,q)=>{var z=new XMLHttpRequest;z.open(\"GET\",d,!0);z.responseType=\"arraybuffer\";z.onload=()=>{200==z.status||0==z.status&&z.response?l(z.response):q(z.status)};z.onerror=q;z.send(null)});var e=await fetch(d,{credentials:\"same-origin\"});if(e.ok)return e.arrayBuffer();throw Error(e.status+\n\" : \"+e.url);}}var Ya=console.log.bind(console),Za=console.error.bind(console),$a,ab=!1,Xa=d=>d.startsWith(\"file://\"),bb,cb,db,eb,hb,ib,L,jb,kb,lb,pb=!1;function qb(){var d=rb.buffer;I.HEAP8=db=new Int8Array(d);hb=new Int16Array(d);I.HEAPU8=eb=new Uint8Array(d);I.HEAPU16=ib=new Uint16Array(d);I.HEAP32=L=new Int32Array(d);I.HEAPU32=jb=new Uint32Array(d);I.HEAPF32=kb=new Float32Array(d);lb=new Float64Array(d)}\nfunction sb(d){I.onAbort?.(d);d=\"Aborted(\"+d+\")\";Za(d);ab=!0;d=new WebAssembly.RuntimeError(d+\". Build with -sASSERTIONS for more info.\");cb?.(d);throw d;}var tb;async function wb(d){if(!$a)try{var e=await Ra(d);return new Uint8Array(e)}catch{}if(d==tb&&$a)d=new Uint8Array($a);else if(Wa)d=Wa(d);else throw\"both async and sync fetching of the wasm failed\";return d}\nasync function xb(d,e){try{var l=await wb(d);return await WebAssembly.instantiate(l,e)}catch(q){Za(`failed to asynchronously prepare wasm: ${q}`),sb(q)}}async function yb(d){var e=tb;if(!$a&&!Xa(e))try{var l=fetch(e,{credentials:\"same-origin\"});return await WebAssembly.instantiateStreaming(l,d)}catch(q){Za(`wasm streaming compile failed: ${q}`),Za(\"falling back to ArrayBuffer instantiation\")}return xb(e,d)}\nvar zb,Ab,Bb=d=>{for(;0<d.length;)d.shift()(I)},Cb=[],Db=[],Eb=()=>{var d=I.preRun.shift();Db.push(d)},Gb=d=>Fb(d),Ib=()=>Hb(),Jb=globalThis.TextDecoder&&new TextDecoder,Mb=(d,e,l,q)=>{l=e+l;if(q)return l;for(;d[e]&&!(e>=l);)++e;return e},Nb=(d,e=0,l,q)=>{l=Mb(d,e,l,q);if(16<l-e&&d.buffer&&Jb)return Jb.decode(d.subarray(e,l));for(q=\"\";e<l;){var z=d[e++];if(z&128){var C=d[e++]&63;if(192==(z&224))q+=String.fromCharCode((z&31)<<6|C);else{var D=d[e++]&63;z=224==(z&240)?(z&15)<<12|C<<6|D:(z&7)<<18|C<<\n12|D<<6|d[e++]&63;65536>z?q+=String.fromCharCode(z):(z-=65536,q+=String.fromCharCode(55296|z>>10,56320|z&1023))}}else q+=String.fromCharCode(z)}return q},Ob=(d,e)=>Object.defineProperty(e,\"name\",{value:d}),Pb=[],Qb=[0,1,,1,null,1,!0,1,!1,1],Rb=class extends Error{constructor(d){super(d);this.name=\"BindingError\"}},Sb=d=>{if(!d)throw new Rb(`Cannot use deleted val. handle = ${d}`);return Qb[d]},Tb=d=>{switch(d){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const e=\nPb.pop()||Qb.length;Qb[e]=d;Qb[e+1]=1;return e}};class Ub extends Error{}\nvar Vb=d=>{for(var e=\"\";;){var l=eb[d++];if(!l)return e;e+=String.fromCharCode(l)}},Wb={},Xb=(d,e)=>{if(void 0===e)throw new Rb(\"ptr should not be undefined\");for(;d.C;)e=d.na(e),d=d.C;return e},Yb={},ec=d=>{d=Zb(d);var e=Vb(d);$b(d);return e},fc=(d,e)=>{var l=Yb[d];if(void 0===l)throw d=`${e} has unknown type ${ec(d)}`,new Rb(d);return l},gc=()=>{},hc=!1,ic=d=>{if(!globalThis.FinalizationRegistry)return ic=e=>e,d;hc=new FinalizationRegistry(e=>{e=e.m;--e.count.value;0===e.count.value&&(e.D?e.K.N(e.D):\ne.v.o.N(e.u))});ic=e=>{var l=e.m;l.D&&hc.register(e,{m:l},e);return e};gc=e=>{hc.unregister(e)};return ic(d)},jc={},kc=d=>{for(;d.length;){var e=d.pop();d.pop()(e)}};function lc(d){return this.s(jb[d>>2])}\nvar mc={},nc={},oc=class extends Error{constructor(d){super(d);this.name=\"InternalError\"}},qc=(d,e,l)=>{function q(F){F=l(F);if(F.length!==d.length)throw new oc(\"Mismatched type converter count\");for(var J=0;J<d.length;++J)pc(d[J],F[J])}d.forEach(F=>nc[F]=e);var z=Array(e.length),C=[],D=0;for(let [F,J]of e.entries())Yb.hasOwnProperty(J)?z[F]=Yb[J]:(C.push(J),mc.hasOwnProperty(J)||(mc[J]=[]),mc[J].push(()=>{z[F]=Yb[J];++D;D===C.length&&q(z)}));0===C.length&&q(z)};\nfunction rc(d,e,l={}){var q=e.name;if(!d)throw new Rb(`type \"${q}\" must have a positive integer typeid pointer`);if(Yb.hasOwnProperty(d)){if(l.ic)return;throw new Rb(`Cannot register type '${q}' twice`);}Yb[d]=e;delete nc[d];mc.hasOwnProperty(d)&&(e=mc[d],delete mc[d],e.forEach(z=>z()))}function pc(d,e,l={}){return rc(d,e,l)}var sc=d=>{throw new Rb(d.m.v.o.name+\" instance already deleted\");},tc=[];function uc(){}\nvar vc={},wc=(d,e,l)=>{if(void 0===d[e].A){var q=d[e];d[e]=function(...z){if(!d[e].A.hasOwnProperty(z.length))throw new Rb(`Function '${l}' called with an invalid number of arguments (${z.length}) - expects one of (${d[e].A})!`);return d[e].A[z.length].apply(this,z)};d[e].A=[];d[e].A[q.R]=q}},xc=(d,e,l)=>{if(I.hasOwnProperty(d)){if(void 0===l||void 0!==I[d].A&&void 0!==I[d].A[l])throw new Rb(`Cannot register public name '${d}' twice`);wc(I,d,d);if(I[d].A.hasOwnProperty(l))throw new Rb(`Cannot register multiple overloads of a function with the same number of arguments (${l})!`);\nI[d].A[l]=e}else I[d]=e,I[d].R=l},yc=d=>{d=d.replace(/[^a-zA-Z0-9_]/g,\"$\");var e=d.charCodeAt(0);return 48<=e&&57>=e?`_${d}`:d};function zc(d,e,l,q,z,C,D,F){this.name=d;this.constructor=e;this.M=l;this.N=q;this.C=z;this.$b=C;this.na=D;this.Rb=F;this.ob=[]}\nvar Ac=(d,e,l)=>{for(;e!==l;){if(!e.na)throw new Rb(`Expected null or instance of ${l.name}, got an instance of ${e.name}`);d=e.na(d);e=e.C}return d},Bc=d=>{if(null===d)return\"null\";var e=typeof d;return\"object\"===e||\"array\"===e||\"function\"===e?d.toString():\"\"+d};\nfunction Cc(d,e){if(null===e){if(this.Pa)throw new Rb(`null is not a valid ${this.name}`);return 0}if(!e.m)throw new Rb(`Cannot pass \"${Bc(e)}\" as a ${this.name}`);if(!e.m.u)throw new Rb(`Cannot pass deleted object as a pointer of type ${this.name}`);return Ac(e.m.u,e.m.v.o,this.o)}\nfunction Dc(d,e){if(null===e){if(this.Pa)throw new Rb(`null is not a valid ${this.name}`);if(this.za){var l=this.Va();null!==d&&d.push(this.N,l);return l}return 0}if(!e||!e.m)throw new Rb(`Cannot pass \"${Bc(e)}\" as a ${this.name}`);if(!e.m.u)throw new Rb(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.ya&&e.m.v.ya)throw new Rb(`Cannot convert argument of type ${e.m.K?e.m.K.name:e.m.v.name} to parameter type ${this.name}`);l=Ac(e.m.u,e.m.v.o,this.o);if(this.za){if(void 0===\ne.m.D)throw new Rb(\"Passing raw pointer to smart pointer is illegal\");switch(this.hj){case 0:if(e.m.K===this)l=e.m.D;else throw new Rb(`Cannot convert argument of type ${e.m.K?e.m.K.name:e.m.v.name} to parameter type ${this.name}`);break;case 1:l=e.m.D;break;case 2:if(e.m.K===this)l=e.m.D;else{var q=e.clone();l=this.wc(l,Tb(()=>q[\"delete\"]()));null!==d&&d.push(this.N,l)}break;default:throw new Rb(\"Unsupported sharing policy\");}}return l}\nfunction Ec(d,e){if(null===e){if(this.Pa)throw new Rb(`null is not a valid ${this.name}`);return 0}if(!e.m)throw new Rb(`Cannot pass \"${Bc(e)}\" as a ${this.name}`);if(!e.m.u)throw new Rb(`Cannot pass deleted object as a pointer of type ${this.name}`);if(e.m.v.ya)throw new Rb(`Cannot convert argument of type ${e.m.v.name} to parameter type ${this.name}`);return Ac(e.m.u,e.m.v.o,this.o)}\nvar Jc=(d,e,l)=>{if(e===l)return d;if(void 0===l.C)return null;d=Jc(d,e,l.C);return null===d?null:l.Rb(d)},Kc=(d,e)=>{e=Xb(d,e);return Wb[e]},Lc=(d,e)=>{if(!e.v||!e.u)throw new oc(\"makeClassHandle requires ptr and ptrType\");if(!!e.K!==!!e.D)throw new oc(\"Both smartPtrType and smartPtr must be specified\");e.count={value:1};return ic(Object.create(d,{m:{value:e,writable:!0}}))};\nfunction Mc(d,e,l,q,z,C,D,F,J,N,R){this.name=d;this.o=e;this.Pa=l;this.ya=q;this.za=z;this.sc=C;this.hj=D;this.rb=F;this.Va=J;this.wc=N;this.N=R;z||void 0!==e.C?this.B=Dc:(this.B=q?Cc:Ec,this.H=null)}\nvar Nc=(d,e,l)=>{if(!I.hasOwnProperty(d))throw new oc(\"Replacing nonexistent public symbol\");void 0!==I[d].A&&void 0!==l?I[d].A[l]=e:(I[d]=e,I[d].R=l)},Oc={},Qc=(d,e,l=[])=>{d.includes(\"j\")?(d=d.replace(/p/g,\"i\"),e=(0,Oc[d])(e,...l)):e=Pc.get(e)(...l);return e},Rc=(d,e)=>(...l)=>Qc(d,e,l),Sc=(d,e)=>{d=Vb(d);var l=d.includes(\"j\")?Rc(d,e):Pc.get(e);if(\"function\"!=typeof l)throw new Rb(`unknown function pointer with signature ${d}: ${e}`);return l};class Tc extends Error{}\nvar Uc=(d,e)=>{function l(C){z[C]||Yb[C]||(nc[C]?nc[C].forEach(l):(q.push(C),z[C]=!0))}var q=[],z={};e.forEach(l);throw new Tc(`${d}: `+q.map(ec).join([\", \"]));};function Vc(d){for(var e=1;e<d.length;++e)if(null!==d[e]&&void 0===d[e].H)return!0;return!1}\nfunction Wc(d,e,l,q,z){var C=e.length;if(2>C)throw new Rb(\"argTypes array size mismatch! Must at least get return value and 'this' types!\");var D=null!==e[1]&&null!==l,F=Vc(e),J=!e[0].kc,N=C-2,R=Array(N),T=[],V=[];return Ob(d,function(...na){V.length=0;T.length=D?2:1;T[0]=z;if(D){var qa=e[1].B(V,this);T[1]=qa}for(var U=0;U<N;++U)R[U]=e[U+2].B(V,na[U]),T.push(R[U]);na=q(...T);if(F)kc(V);else for(U=D?1:2;U<e.length;U++){var ba=1===U?qa:R[U-2];null!==e[U].H&&e[U].H(ba)}qa=J?e[0].s(na):void 0;return qa})}\nvar Xc=(d,e)=>{for(var l=[],q=0;q<d;q++)l.push(jb[e+4*q>>2]);return l},Yc=d=>{d=d.trim();const e=d.indexOf(\"(\");return-1===e?d:d.slice(0,e)},Zc=(d,e,l)=>{if(!(d instanceof Object))throw new Rb(`${l} with invalid \"this\": ${d}`);if(!(d instanceof e.o.constructor))throw new Rb(`${l} incompatible with \"this\" of type ${d.constructor.name}`);if(!d.m.u)throw new Rb(`cannot call emscripten binding method ${l} on deleted object`);return Ac(d.m.u,d.m.v.o,e.o)},$c=d=>{9<d&&0===--Qb[d+1]&&(Qb[d]=void 0,Pb.push(d))},\nad={name:\"emscripten::val\",s:d=>{var e=Sb(d);$c(d);return e},B:(d,e)=>Tb(e),J:lc,H:null},bd=(d,e,l)=>{switch(e){case 1:return l?function(q){return this.s(db[q])}:function(q){return this.s(eb[q])};case 2:return l?function(q){return this.s(hb[q>>1])}:function(q){return this.s(ib[q>>1])};case 4:return l?function(q){return this.s(L[q>>2])}:function(q){return this.s(jb[q>>2])};default:throw new TypeError(`invalid integer width (${e}): ${d}`);}},cd=(d,e)=>{switch(e){case 4:return function(l){return this.s(kb[l>>\n2])};case 8:return function(l){return this.s(lb[l>>3])};default:throw new TypeError(`invalid float width (${e}): ${d}`);}},dd=(d,e,l)=>{switch(e){case 1:return l?q=>db[q]:q=>eb[q];case 2:return l?q=>hb[q>>1]:q=>ib[q>>1];case 4:return l?q=>L[q>>2]:q=>jb[q>>2];default:throw new TypeError(`invalid integer width (${e}): ${d}`);}},ed=(d,e,l)=>{var q=eb;if(!(0<l))return 0;var z=e;l=e+l-1;for(var C=0;C<d.length;++C){var D=d.codePointAt(C);if(127>=D){if(e>=l)break;q[e++]=D}else if(2047>=D){if(e+1>=l)break;\nq[e++]=192|D>>6;q[e++]=128|D&63}else if(65535>=D){if(e+2>=l)break;q[e++]=224|D>>12;q[e++]=128|D>>6&63;q[e++]=128|D&63}else{if(e+3>=l)break;q[e++]=240|D>>18;q[e++]=128|D>>12&63;q[e++]=128|D>>6&63;q[e++]=128|D&63;C++}}q[e]=0;return e-z},fd=d=>{for(var e=0,l=0;l<d.length;++l){var q=d.charCodeAt(l);127>=q?e++:2047>=q?e+=2:55296<=q&&57343>=q?(e+=4,++l):e+=3}return e},gd=globalThis.TextDecoder?new TextDecoder(\"utf-16le\"):void 0,hd=(d,e,l)=>{d>>=1;e=Mb(ib,d,e/2,l);if(16<e-d&&gd)return gd.decode(ib.subarray(d,\ne));for(l=\"\";d<e;++d)l+=String.fromCharCode(ib[d]);return l},jd=(d,e,l)=>{l??=2147483647;if(2>l)return 0;l-=2;var q=e;l=l<2*d.length?l/2:d.length;for(var z=0;z<l;++z)hb[e>>1]=d.charCodeAt(z),e+=2;hb[e>>1]=0;return e-q},kd=d=>2*d.length,ld=(d,e,l)=>{var q=\"\";d>>=2;for(var z=0;!(z>=e/4);z++){var C=jb[d+z];if(!C&&!l)break;q+=String.fromCodePoint(C)}return q},md=(d,e,l)=>{l??=2147483647;if(4>l)return 0;var q=e;l=q+l-4;for(var z=0;z<d.length;++z){var C=d.codePointAt(z);65535<C&&z++;L[e>>2]=C;e+=4;if(e+\n4>l)break}L[e>>2]=0;return e-q},nd=d=>{for(var e=0,l=0;l<d.length;++l)65535<d.codePointAt(l)&&l++,e+=4;return e},od=[],pd=d=>{var e=od.length;od.push(d);return e},qd=(d,e)=>{for(var l=Array(d),q=0;q<d;++q)l[q]=fc(jb[e+4*q>>2],`parameter ${q}`);return l},rd={},sd=d=>{var e=rd[d];return void 0===e?Vb(d):e},td=[0,31,60,91,121,152,182,213,244,274,305,335],ud=[0,31,59,90,120,151,181,212,243,273,304,334],vd=[],wd=d=>{d.mj=d.getExtension(\"WEBGL_draw_instanced_base_vertex_base_instance\")},xd=d=>{d.qj=d.getExtension(\"WEBGL_multi_draw_instanced_base_vertex_base_instance\")},\nZ,yd=d=>{var e=\"EXT_color_buffer_float EXT_conservative_depth EXT_disjoint_timer_query_webgl2 EXT_texture_norm16 NV_shader_noperspective_interpolation WEBGL_clip_cull_distance EXT_clip_control EXT_color_buffer_half_float EXT_depth_clamp EXT_float_blend EXT_polygon_offset_clamp EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic KHR_parallel_shader_compile OES_texture_float_linear WEBGL_blend_func_extended WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_multi_draw WEBGL_polygon_mode\".split(\" \");\nreturn(d.getSupportedExtensions()||[]).filter(l=>e.includes(l))},zd=1,Ad=[],Bd=[],Cd=[],Dd=[],Ed=[],Fd=[],Gd=[],Oa=[],Hd=[],Id=[],Jd={},Kd={},Sd=4,Td=0,Ud=d=>{for(var e=zd++,l=d.length;l<e;l++)d[l]=null;return e},Wd=(d,e,l,q)=>{for(var z=0;z<d;z++){var C=Z[l](),D=C&&Ud(q);C?(C.name=D,q[D]=C):Vd||=1282;L[e+4*z>>2]=D}},Ma=(d,e)=>{var l=Ud(Oa),q={handle:l,attributes:e,version:e.pj,F:d};d.canvas&&(d.canvas.zb=q);Oa[l]=q;if(\"undefined\"==typeof e.Sb||e.Sb)if((d=q)||(d=Na),!d.jc){d.jc=!0;e=d.F;e.oc=e.getExtension(\"WEBGL_multi_draw\");\ne.Vb=e.getExtension(\"EXT_polygon_offset_clamp\");e.Ub=e.getExtension(\"EXT_clip_control\");e.kj=e.getExtension(\"WEBGL_polygon_mode\");wd(e);xd(e);2<=d.version&&(e.gb=e.getExtension(\"EXT_disjoint_timer_query_webgl2\"));if(2>d.version||!e.gb)e.gb=e.getExtension(\"EXT_disjoint_timer_query\");for(var z of yd(e))z.includes(\"lose_context\")||z.includes(\"debug\")||e.getExtension(z)}return l},La=d=>{Na=Oa[d];I.ctx=Z=Na?.F;return!(d&&!Z)},Vd,Na,Xd={},Zd=()=>{if(!Yd){var d={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",\nPWD:\"/\",HOME:\"/home/web_user\",LANG:(globalThis.navigator?.language??\"C\").replace(\"-\",\"_\")+\".UTF-8\",_:Pa||\"./this.program\"},e;for(e in Xd)void 0===Xd[e]?delete d[e]:d[e]=Xd[e];var l=[];for(e in d)l.push(`${e}=${d[e]}`);Yd=l}return Yd},Yd,$d=[null,[],[]],ae=[],be=()=>{var d=yd(Z);return d=d.concat(d.map(e=>\"GL_\"+e))},ce=(d,e,l)=>{if(e){var q=void 0;switch(d){case 36346:q=1;break;case 36344:0!=l&&1!=l&&(Vd||=1280);return;case 34814:case 36345:q=0;break;case 34466:var z=Z.getParameter(34467);q=z?z.length:\n0;break;case 33309:if(2>Na.version){Vd||=1282;return}q=be().length;break;case 33307:case 33308:if(2>Na.version){Vd||=1280;return}q=33307==d?3:0}if(void 0===q)switch(z=Z.getParameter(d),typeof z){case \"number\":q=z;break;case \"boolean\":q=z?1:0;break;case \"string\":Vd||=1280;return;case \"object\":if(null===z)switch(d){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:q=\n0;break;default:Vd||=1280;return}else{if(z instanceof Float32Array||z instanceof Uint32Array||z instanceof Int32Array||z instanceof Array){for(d=0;d<z.length;++d)switch(l){case 0:L[e+4*d>>2]=z[d];break;case 2:kb[e+4*d>>2]=z[d];break;case 4:db[e+d]=z[d]?1:0}return}try{q=z.name|0}catch(C){Vd||=1280;Za(`GL_INVALID_ENUM in glGet${l}v: Unknown object returned from WebGL getParameter(${d})! (error: ${C})`);return}}break;default:Vd||=1280;Za(`GL_INVALID_ENUM in glGet${l}v: Native code calling glGet${l}v(${d}) and it returns ${z} of type ${typeof z}!`);\nreturn}switch(l){case 1:l=q;jb[e>>2]=l;jb[e+4>>2]=(l-jb[e>>2])/4294967296;break;case 0:L[e>>2]=q;break;case 2:kb[e>>2]=q;break;case 4:db[e]=q?1:0}}else Vd||=1281},ee=d=>{var e=fd(d)+1,l=de(e);l&&ed(d,l,e);return l},fe=d=>\"]\"==d.slice(-1)&&d.lastIndexOf(\"[\"),ge=d=>{d-=5120;return 0==d?db:1==d?eb:2==d?hb:4==d?L:6==d?kb:5==d||28922==d||28520==d||30779==d||30782==d?jb:ib},ie=d=>he(d);\n(()=>{let d=uc.prototype;Object.assign(d,{isAliasOf:function(l){if(!(this instanceof uc&&l instanceof uc))return!1;var q=this.m.v.o,z=this.m.u;l.m=l.m;var C=l.m.v.o;for(l=l.m.u;q.C;)z=q.na(z),q=q.C;for(;C.C;)l=C.na(l),C=C.C;return q===C&&z===l},clone:function(){this.m.u||sc(this);if(this.m.da)return this.m.count.value+=1,this;var l=ic,q=Object,z=q.create,C=Object.getPrototypeOf(this),D=this.m;l=l(z.call(q,C,{m:{value:{count:D.count,ha:D.ha,da:D.da,u:D.u,v:D.v,D:D.D,K:D.K}}}));l.m.count.value+=1;l.m.ha=\n!1;return l},[\"delete\"](){this.m.u||sc(this);if(this.m.ha&&!this.m.da)throw new Rb(\"Object already scheduled for deletion\");gc(this);var l=this.m;--l.count.value;0===l.count.value&&(l.D?l.K.N(l.D):l.v.o.N(l.u));this.m.da||(this.m.D=void 0,this.m.u=void 0)},isDeleted:function(){return!this.m.u},deleteLater:function(){this.m.u||sc(this);if(this.m.ha&&!this.m.da)throw new Rb(\"Object already scheduled for deletion\");tc.push(this);this.m.ha=!0;return this}});const e=Symbol.dispose;e&&(d[e]=d[\"delete\"])})();\nObject.assign(Mc.prototype,{ac(d){this.rb&&(d=this.rb(d));return d},fb(d){this.N?.(d)},J:lc,s:function(d){function e(){return this.za?Lc(this.o.M,{v:this.sc,u:l,K:this,D:d}):Lc(this.o.M,{v:this,u:d})}var l=this.ac(d);if(!l)return this.fb(d),null;var q=Kc(this.o,l);if(void 0!==q){if(0===q.m.count.value)return q.m.u=l,q.m.D=d,q.clone();q=q.clone();this.fb(d);return q}q=this.o.$b(l);q=vc[q];if(!q)return e.call(this);q=this.ya?q.Ob:q.pointerType;var z=Jc(l,this.o,q.o);return null===z?e.call(this):this.za?\nLc(q.o.M,{v:q,u:z,K:this,D:d}):Lc(q.o.M,{v:q,u:z})}});for(let d=0;32>d;++d)ae.push(Array(d));I.print&&(Ya=I.print);I.printErr&&(Za=I.printErr);I.wasmBinary&&($a=I.wasmBinary);I.thisProgram&&(Pa=I.thisProgram);if(I.preInit)for(\"function\"==typeof I.preInit&&(I.preInit=[I.preInit]);0<I.preInit.length;)I.preInit.shift()();\nvar me={359126:(d,e,l,q,z)=>{if(\"undefined\"===typeof window||void 0===(window.AudioContext||window.webkitAudioContext))return 0;if(\"undefined\"===typeof window.miniaudio){window.miniaudio={referenceCount:0};window.miniaudio.device_type={};window.miniaudio.device_type.playback=d;window.miniaudio.device_type.capture=e;window.miniaudio.device_type.duplex=l;window.miniaudio.device_state={};window.miniaudio.device_state.stopped=q;window.miniaudio.device_state.started=z;let C=window.miniaudio;C.devices=\n[];C.track_device=function(D){for(var F=0;F<C.devices.length;++F)if(null==C.devices[F])return C.devices[F]=D,F;C.devices.push(D);return C.devices.length-1};C.untrack_device_by_index=function(D){for(C.devices[D]=null;0<C.devices.length;)if(null==C.devices[C.devices.length-1])C.devices.pop();else break};C.untrack_device=function(D){for(var F=0;F<C.devices.length;++F)if(C.devices[F]==D)return C.untrack_device_by_index(F)};C.get_device_by_index=function(D){return C.devices[D]};C.unlock_event_types=[\"touchend\",\n\"click\"];C.unlock=function(){for(var D=0;D<C.devices.length;++D){var F=C.devices[D];null!=F&&null!=F.L&&F.state===C.device_state.started&&F.L.resume().then(()=>{je(F.nb)},J=>{console.error(\"Failed to resume audiocontext\",J)})}C.unlock_event_types.map(function(J){document.removeEventListener(J,C.unlock,!0)})};C.unlock_event_types.map(function(D){document.addEventListener(D,C.unlock,!0)})}window.miniaudio.referenceCount+=1;return 1},361304:()=>{\"undefined\"!==typeof window.miniaudio&&(window.miniaudio.unlock_event_types.map(function(d){document.removeEventListener(d,\nwindow.miniaudio.unlock,!0)}),--window.miniaudio.referenceCount,0===window.miniaudio.referenceCount&&delete window.miniaudio)},361608:()=>void 0!==navigator.mediaDevices&&void 0!==navigator.mediaDevices.getUserMedia,361712:()=>{try{var d=new (window.AudioContext||window.webkitAudioContext),e=d.sampleRate;d.close();return e}catch(l){return 0}},361883:(d,e,l,q,z,C)=>{if(\"undefined\"===typeof window.miniaudio)return-1;var D={},F={};d==window.miniaudio.device_type.playback&&0!=l&&(F.sampleRate=l);D.L=\nnew (window.AudioContext||window.webkitAudioContext)(F);D.L.suspend();D.state=window.miniaudio.device_state.stopped;l=0;d!=window.miniaudio.device_type.playback&&(l=e);D.S=D.L.createScriptProcessor(q,l,e);D.S.onaudioprocess=function(J){if(null==D.xa||0==D.xa.length)D.xa=new Float32Array(kb.buffer,z,q*e);if(d==window.miniaudio.device_type.capture||d==window.miniaudio.device_type.duplex){for(var N=0;N<e;N+=1)for(var R=J.inputBuffer.getChannelData(N),T=D.xa,V=0;V<q;V+=1)T[V*e+N]=R[V];ke(C,q,z)}if(d==\nwindow.miniaudio.device_type.playback||d==window.miniaudio.device_type.duplex)for(le(C,q,z),N=0;N<J.outputBuffer.numberOfChannels;++N)for(R=J.outputBuffer.getChannelData(N),T=D.xa,V=0;V<q;V+=1)R[V]=T[V*e+N];else for(N=0;N<J.outputBuffer.numberOfChannels;++N)J.outputBuffer.getChannelData(N).fill(0)};d!=window.miniaudio.device_type.capture&&d!=window.miniaudio.device_type.duplex||navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then(function(J){D.Fa=D.L.createMediaStreamSource(J);D.Fa.connect(D.S);\nD.S.connect(D.L.destination)}).catch(function(J){console.log(\"Failed to get user media: \"+J)});d==window.miniaudio.device_type.playback&&D.S.connect(D.L.destination);D.nb=C;return window.miniaudio.track_device(D)},364760:d=>window.miniaudio.get_device_by_index(d).L.sampleRate,364833:d=>{d=window.miniaudio.get_device_by_index(d);void 0!==d.S&&(d.S.onaudioprocess=function(){},d.S.disconnect(),d.S=void 0);void 0!==d.Fa&&(d.Fa.disconnect(),d.Fa=void 0);d.L.close();d.L=void 0;d.nb=void 0},365233:d=>{window.miniaudio.untrack_device_by_index(d)},\n365283:d=>{d=window.miniaudio.get_device_by_index(d);d.L.resume();d.state=window.miniaudio.device_state.started},365422:d=>{d=window.miniaudio.get_device_by_index(d);d.L.suspend();d.state=window.miniaudio.device_state.stopped}},$b,de,Zb,ne,oe,pe,qe,re,se,te,ue,ve,we,xe,je,ke,le,ye,ze,Fb,he,Hb,rb,Pc,Be={__syscall_fcntl64:function(){return 0},__syscall_ioctl:function(){return 0},__syscall_openat:function(){},_abort_js:()=>sb(\"\"),_embind_create_inheriting_constructor:(d,e,l)=>{d=Vb(d);e=fc(e,\"wrapper\");\nl=Sb(l);var q=e.o,z=q.M,C=q.C.M,D=q.C.constructor;d=Ob(d,function(...F){for(var J of q.C.ob)if(this[J]===C[J])throw new Ub(`Pure virtual function ${J} must be implemented in JavaScript`);Object.defineProperty(this,\"__parent\",{value:z});this.__construct(...F)});z.__construct=function(...F){if(this===z)throw new Rb(\"Pass correct 'this' to __construct\");F=D.implement(this,...F);gc(F);var J=F.m;F.notifyOnDestruction();J.da=!0;Object.defineProperties(this,{m:{value:J}});ic(this);F=J.u;F=Xb(q,F);if(Wb.hasOwnProperty(F))throw new Rb(`Tried to register registered instance: ${F}`);\nWb[F]=this};z.__destruct=function(){if(this===z)throw new Rb(\"Pass correct 'this' to __destruct\");gc(this);var F=this.m.u;F=Xb(q,F);if(Wb.hasOwnProperty(F))delete Wb[F];else throw new Rb(`Tried to unregister unregistered instance: ${F}`);};d.prototype=Object.create(z);Object.assign(d.prototype,l);return Tb(d)},_embind_finalize_value_object:d=>{var e=jc[d];delete jc[d];var l=e.Va,q=e.N,z=e.hb,C=z.map(D=>D.dc).concat(z.map(D=>D.fj));qc([d],C,D=>{var F={},J,N;for([J,N]of z.entries()){const R=D[J],T=\nN.bc,V=N.cc,na=D[J+z.length],qa=N.ej,U=N.gj;F[N.Xb]={read:ba=>R.s(T(V,ba)),write:(ba,fa)=>{var ea=[];qa(U,ba,na.B(ea,fa));kc(ea)},optional:R.optional}}return[{name:e.name,s:R=>{var T={},V;for(V in F)T[V]=F[V].read(R);q(R);return T},B:(R,T)=>{for(var V in F)if(!(V in T||F[V].optional))throw new TypeError(`Missing field: \"${V}\"`);var na=l();for(V in F)F[V].write(na,T[V]);null!==R&&R.push(q,na);return na},J:lc,H:q}]})},_embind_register_bigint:()=>{},_embind_register_bool:(d,e,l,q)=>{e=Vb(e);pc(d,{name:e,\ns:function(z){return!!z},B:function(z,C){return C?l:q},J:function(z){return this.s(eb[z])},H:null})},_embind_register_class:(d,e,l,q,z,C,D,F,J,N,R,T,V)=>{R=Vb(R);C=Sc(z,C);F&&=Sc(D,F);N&&=Sc(J,N);V=Sc(T,V);var na=yc(R);xc(na,function(){Uc(`Cannot construct ${R} due to unbound types`,[q])});qc([d,e,l],q?[q]:[],qa=>{qa=qa[0];if(q){var U=qa.o;var ba=U.M}else ba=uc.prototype;qa=Ob(R,function(...va){if(Object.getPrototypeOf(this)!==fa)throw new Rb(`Use 'new' to construct ${R}`);if(void 0===ea.V)throw new Rb(`${R} has no accessible constructor`);\nvar ra=ea.V[va.length];if(void 0===ra)throw new Rb(`Tried to invoke ctor of ${R} with invalid number of parameters (${va.length}) - expected (${Object.keys(ea.V).toString()}) parameters instead!`);return ra.apply(this,va)});var fa=Object.create(ba,{constructor:{value:qa}});qa.prototype=fa;var ea=new zc(R,qa,fa,V,U,C,F,N);if(ea.C){var ka;(ka=ea.C).pa??(ka.pa=[]);ea.C.pa.push(ea)}U=new Mc(R,ea,!0,!1,!1);ka=new Mc(R+\"*\",ea,!1,!1,!1);ba=new Mc(R+\" const*\",ea,!1,!0,!1);vc[d]={pointerType:ka,Ob:ba};Nc(na,\nqa);return[U,ka,ba]})},_embind_register_class_class_function:(d,e,l,q,z,C,D)=>{var F=Xc(l,q);e=Vb(e);e=Yc(e);C=Sc(z,C);qc([],[d],J=>{function N(){Uc(`Cannot call ${R} due to unbound types`,F)}J=J[0];var R=`${J.name}.${e}`;e.startsWith(\"@@\")&&(e=Symbol[e.substring(2)]);var T=J.o.constructor;void 0===T[e]?(N.R=l-1,T[e]=N):(wc(T,e,R),T[e].A[l-1]=N);qc([],F,V=>{V=Wc(R,[V[0],null].concat(V.slice(1)),null,C,D);void 0===T[e].A?(V.R=l-1,T[e]=V):T[e].A[l-1]=V;if(J.o.pa)for(const na of J.o.pa)na.constructor.hasOwnProperty(e)||\n(na.constructor[e]=V);return[]});return[]})},_embind_register_class_class_property:(d,e,l,q,z,C,D,F)=>{e=Vb(e);C=Sc(z,C);qc([],[d],J=>{J=J[0];var N=`${J.name}.${e}`,R={get(){Uc(`Cannot access ${N} due to unbound types`,[l])},enumerable:!0,configurable:!0};R.set=F?()=>{Uc(`Cannot access ${N} due to unbound types`,[l])}:()=>{throw new Rb(`${N} is a read-only property`);};Object.defineProperty(J.o.constructor,e,R);qc([],[l],T=>{T=T[0];var V={get(){return T.s(C(q))},enumerable:!0};F&&(F=Sc(D,F),V.set=\nna=>{var qa=[];F(q,T.B(qa,na));kc(qa)});Object.defineProperty(J.o.constructor,e,V);return[]});return[]})},_embind_register_class_constructor:(d,e,l,q,z,C)=>{var D=Xc(e,l);z=Sc(q,z);qc([],[d],F=>{F=F[0];var J=`constructor ${F.name}`;void 0===F.o.V&&(F.o.V=[]);if(void 0!==F.o.V[e-1])throw new Rb(`Cannot register multiple constructors with identical number of parameters (${e-1}) for class '${F.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);\nF.o.V[e-1]=()=>{Uc(`Cannot construct ${F.name} due to unbound types`,D)};qc([],D,N=>{N.splice(1,0,null);F.o.V[e-1]=Wc(J,N,null,z,C);return[]});return[]})},_embind_register_class_function:(d,e,l,q,z,C,D,F)=>{var J=Xc(l,q);e=Vb(e);e=Yc(e);C=Sc(z,C);qc([],[d],N=>{function R(){Uc(`Cannot call ${T} due to unbound types`,J)}N=N[0];var T=`${N.name}.${e}`;e.startsWith(\"@@\")&&(e=Symbol[e.substring(2)]);F&&N.o.ob.push(e);var V=N.o.M,na=V[e];void 0===na||void 0===na.A&&na.className!==N.name&&na.R===l-2?(R.R=\nl-2,R.className=N.name,V[e]=R):(wc(V,e,T),V[e].A[l-2]=R);qc([],J,qa=>{qa=Wc(T,qa,N,C,D);void 0===V[e].A?(qa.R=l-2,V[e]=qa):V[e].A[l-2]=qa;return[]});return[]})},_embind_register_class_property:(d,e,l,q,z,C,D,F,J,N)=>{e=Vb(e);z=Sc(q,z);qc([],[d],R=>{R=R[0];var T=`${R.name}.${e}`,V={get(){Uc(`Cannot access ${T} due to unbound types`,[l,D])},enumerable:!0,configurable:!0};V.set=J?()=>Uc(`Cannot access ${T} due to unbound types`,[l,D]):()=>{throw new Rb(T+\" is a read-only property\");};Object.defineProperty(R.o.M,\ne,V);qc([],J?[l,D]:[l],na=>{var qa=na[0],U={get(){var fa=Zc(this,R,T+\" getter\");return qa.s(z(C,fa))},enumerable:!0};if(J){J=Sc(F,J);var ba=na[1];U.set=function(fa){var ea=Zc(this,R,T+\" setter\"),ka=[];J(N,ea,ba.B(ka,fa));kc(ka)}}Object.defineProperty(R.o.M,e,U);return[]});return[]})},_embind_register_emval:d=>pc(d,ad),_embind_register_enum:(d,e,l,q,z)=>{e=Vb(e);z=0===z?\"object\":1===z?\"number\":\"string\";switch(z){case \"object\":function D(){}D.values={};pc(d,{name:e,constructor:D,valueType:z,s:function(F){return this.constructor.values[F]},\nB:(F,J)=>J.value,J:bd(e,l,q),H:null});xc(e,D);break;case \"number\":var C={};pc(d,{name:e,Ra:C,valueType:z,s:F=>F,B:(F,J)=>J,J:bd(e,l,q),H:null});xc(e,C);delete I[e].R;break;case \"string\":C={},pc(d,{name:e,xb:{},tb:{},Ra:C,valueType:z,s:function(F){return this.tb[F]},B:function(F,J){return this.xb[J]},J:bd(e,l,q),H:null}),xc(e,C),delete I[e].R}},_embind_register_enum_value:(d,e,l)=>{var q=fc(d,\"enum\");e=Vb(e);switch(q.valueType){case \"object\":d=q.constructor;q=Object.create(q.constructor.prototype,\n{value:{value:l},constructor:{value:Ob(`${q.name}_${e}`,function(){})}});d.values[l]=q;d[e]=q;break;case \"number\":q.Ra[e]=l;break;case \"string\":q.xb[e]=l,q.tb[l]=e,q.Ra[e]=e}},_embind_register_float:(d,e,l)=>{e=Vb(e);pc(d,{name:e,s:q=>q,B:(q,z)=>z,J:cd(e,l),H:null})},_embind_register_function:(d,e,l,q,z,C)=>{var D=Xc(e,l);d=Vb(d);d=Yc(d);z=Sc(q,z);xc(d,function(){Uc(`Cannot call ${d} due to unbound types`,D)},e-1);qc([],D,F=>{Nc(d,Wc(d,[F[0],null].concat(F.slice(1)),null,z,C),e-1);return[]})},_embind_register_integer:(d,\ne,l,q,z)=>{e=Vb(e);let C=F=>F;if(0===q){var D=32-8*l;C=F=>F<<D>>>D;z=C(z)}pc(d,{name:e,s:C,B:(F,J)=>J,J:dd(e,l,0!==q),H:null})},_embind_register_memory_view:(d,e,l)=>{function q(C){return new z(db.buffer,jb[C+4>>2],jb[C>>2])}var z=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][e];l=Vb(l);pc(d,{name:l,s:q,J:q},{ic:!0})},_embind_register_std_string:(d,e)=>{e=Vb(e);pc(d,{name:e,s(l){var q=(q=l+4)?Nb(eb,q,jb[l>>2],!0):\"\";$b(l);return q},B(l,q){q instanceof\nArrayBuffer&&(q=new Uint8Array(q));var z=\"string\"==typeof q;if(!(z||ArrayBuffer.isView(q)&&1==q.BYTES_PER_ELEMENT))throw new Rb(\"Cannot pass non-string to std::string\");var C=z?fd(q):q.length;var D=de(4+C+1),F=D+4;jb[D>>2]=C;z?ed(q,F,C+1):eb.set(q,F);null!==l&&l.push($b,D);return D},J:lc,H(l){$b(l)}})},_embind_register_std_wstring:(d,e,l)=>{l=Vb(l);if(2===e){var q=hd;var z=jd;var C=kd}else q=ld,z=md,C=nd;pc(d,{name:l,s:D=>{var F=q(D+4,jb[D>>2]*e,!0);$b(D);return F},B:(D,F)=>{if(\"string\"!=typeof F)throw new Rb(`Cannot pass non-string to C++ string type ${l}`);\nvar J=C(F),N=de(4+J+e);jb[N>>2]=J/e;z(F,N+4,J+e);null!==D&&D.push($b,N);return N},J:lc,H(D){$b(D)}})},_embind_register_value_object:(d,e,l,q,z,C)=>{jc[d]={name:Vb(e),Va:Sc(l,q),N:Sc(z,C),hb:[]}},_embind_register_value_object_field:(d,e,l,q,z,C,D,F,J,N)=>{jc[d].hb.push({Xb:Vb(e),dc:l,bc:Sc(q,z),cc:C,fj:D,ej:Sc(F,J),gj:N})},_embind_register_void:(d,e)=>{e=Vb(e);pc(d,{kc:!0,name:e,s:()=>{},B:()=>{}})},_emscripten_throw_longjmp:()=>{throw Infinity;},_emval_create_invoker:(d,e,l)=>{var [q,...z]=qd(d,e),\nC=q.B.bind(q),D=z.map(J=>J.J.bind(J));d--;var F=Array(d);e=`methodCaller<(${z.map(J=>J.name)}) => ${q.name}>`;return pd(Ob(e,(J,N,R,T)=>{for(var V=0,na=0;na<d;++na)F[na]=D[na](T+V),V+=8;switch(l){case 0:var qa=Sb(J).apply(null,F);break;case 2:qa=Reflect.construct(Sb(J),F);break;case 3:qa=F[0];break;case 1:qa=Sb(J)[sd(N)](...F)}J=[];qa=C(J,qa);J.length&&(jb[R>>2]=Tb(J));return qa}))},_emval_decref:$c,_emval_get_property:(d,e)=>{d=Sb(d);e=Sb(e);return Tb(d[e])},_emval_incref:d=>{9<d&&(Qb[d+1]+=1)},\n_emval_invoke:(d,e,l,q,z)=>od[d](e,l,q,z),_emval_new_array:()=>Tb([]),_emval_new_cstring:d=>Tb(sd(d)),_emval_new_object:()=>Tb({}),_emval_run_destructors:d=>{var e=Sb(d);kc(e);$c(d)},_emval_set_property:(d,e,l)=>{d=Sb(d);e=Sb(e);l=Sb(l);d[e]=l},_gmtime_js:function(d,e,l){d=new Date(1E3*(e+2097152>>>0<4194305-!!d?(d>>>0)+4294967296*e:NaN));L[l>>2]=d.getUTCSeconds();L[l+4>>2]=d.getUTCMinutes();L[l+8>>2]=d.getUTCHours();L[l+12>>2]=d.getUTCDate();L[l+16>>2]=d.getUTCMonth();L[l+20>>2]=d.getUTCFullYear()-\n1900;L[l+24>>2]=d.getUTCDay();L[l+28>>2]=(d.getTime()-Date.UTC(d.getUTCFullYear(),0,1,0,0,0,0))/864E5|0},_localtime_js:function(d,e,l){d=new Date(1E3*(e+2097152>>>0<4194305-!!d?(d>>>0)+4294967296*e:NaN));L[l>>2]=d.getSeconds();L[l+4>>2]=d.getMinutes();L[l+8>>2]=d.getHours();L[l+12>>2]=d.getDate();L[l+16>>2]=d.getMonth();L[l+20>>2]=d.getFullYear()-1900;L[l+24>>2]=d.getDay();e=d.getFullYear();L[l+28>>2]=(0!==e%4||0===e%100&&0!==e%400?ud:td)[d.getMonth()]+d.getDate()-1|0;L[l+36>>2]=-(60*d.getTimezoneOffset());\ne=(new Date(d.getFullYear(),6,1)).getTimezoneOffset();var q=(new Date(d.getFullYear(),0,1)).getTimezoneOffset();L[l+32>>2]=(e!=q&&d.getTimezoneOffset()==Math.min(q,e))|0},_timegm_js:function(d){var e=new Date(Date.UTC(L[d+20>>2]+1900,L[d+16>>2],L[d+12>>2],L[d+8>>2],L[d+4>>2],L[d>>2],0));L[d+24>>2]=e.getUTCDay();L[d+28>>2]=(e.getTime()-Date.UTC(e.getUTCFullYear(),0,1,0,0,0,0))/864E5|0;d=e.getTime()/1E3;ze((zb=d,1<=+Math.abs(zb)?0<zb?+Math.floor(zb/4294967296)>>>0:~~+Math.ceil((zb-+(~~zb>>>0))/4294967296)>>>\n0:0));return d>>>0},_tzset_js:(d,e,l,q)=>{var z=(new Date).getFullYear(),C=(new Date(z,0,1)).getTimezoneOffset();z=(new Date(z,6,1)).getTimezoneOffset();jb[d>>2]=60*Math.max(C,z);L[e>>2]=Number(C!=z);e=D=>{var F=Math.abs(D);return`UTC${0<=D?\"-\":\"+\"}${String(Math.floor(F/60)).padStart(2,\"0\")}${String(F%60).padStart(2,\"0\")}`};d=e(C);e=e(z);z<C?(ed(d,l,17),ed(e,q,17)):(ed(d,q,17),ed(e,l,17))},beginPixelLocalStorageWEBGL:function(d,e,l){(d=Oa[d].F.Da)&&d.beginPixelLocalStorageWEBGL(new Uint32Array(rb.buffer,\n4*l,e))},clock_time_get:function(d,e,l,q){if(!(0<=d&&3>=d))return 28;d=Math.round(1E6*(0===d?Date.now():performance.now()));Ab=[d>>>0,(zb=d,1<=+Math.abs(zb)?0<zb?+Math.floor(zb/4294967296)>>>0:~~+Math.ceil((zb-+(~~zb>>>0))/4294967296)>>>0:0)];L[q>>2]=Ab[0];L[q+4>>2]=Ab[1];return 0},decode_image:function(d,e,l){var q=I.images;q||(q=new Map,I.images=q);var z=new Image;q.set(d,z);e=I.HEAP8.subarray(e,e+l);l=new Uint8Array(l);l.set(e);z.src=URL.createObjectURL(new Blob([l],{type:\"image/png\"}));z.onload=\nfunction(){I._setWebImage(d,z.width,z.height)}},delete_image:function(d){var e=I.images;e&&e.get(d)&&e.delete(d)},emscripten_asm_const_int:(d,e,l)=>{vd.length=0;for(var q;q=eb[e++];){var z=105!=q;z&=112!=q;l+=z&&l%8?4:0;vd.push(112==q?jb[l>>2]:105==q?L[l>>2]:lb[l>>3]);l+=z?8:4}return me[d](...vd)},emscripten_date_now:()=>Date.now(),emscripten_get_now:()=>performance.now(),emscripten_is_main_browser_thread:()=>!sa,emscripten_resize_heap:d=>{var e=eb.length;d>>>=0;if(2147483648<d)return!1;for(var l=\n1;4>=l;l*=2){var q=e*(1+.2/l);q=Math.min(q,d+100663296);a:{q=(Math.min(2147483648,65536*Math.ceil(Math.max(d,q)/65536))-rb.buffer.byteLength+65535)/65536|0;try{rb.grow(q);qb();var z=1;break a}catch(C){}z=void 0}if(z)return!0}return!1},emscripten_webgl_enable_extension:(d,e)=>{d=Oa[d];e=e?Nb(eb,e):\"\";e.startsWith(\"GL_\")&&(e=e.slice(3));\"WEBGL_draw_instanced_base_vertex_base_instance\"==e&&wd(Z);\"WEBGL_multi_draw_instanced_base_vertex_base_instance\"==e&&xd(Z);\"WEBGL_multi_draw\"==e&&(Z.oc=Z.getExtension(\"WEBGL_multi_draw\"));\n\"EXT_polygon_offset_clamp\"==e&&(Z.Vb=Z.getExtension(\"EXT_polygon_offset_clamp\"));\"EXT_clip_control\"==e&&(Z.Ub=Z.getExtension(\"EXT_clip_control\"));\"WEBGL_polygon_mode\"==e&&(Z.kj=Z.getExtension(\"WEBGL_polygon_mode\"));return!!d.F.getExtension(e)},emscripten_webgl_get_current_context:()=>Na?Na.handle:0,emscripten_webgl_make_context_current:d=>La(d)?0:-5,enable_WEBGL_provoking_vertex:function(d){d=Oa[d].F;d.pb=d.getExtension(\"WEBGL_provoking_vertex\");return!!d.pb},enable_WEBGL_shader_pixel_local_storage_coherent:function(d){d=\nOa[d].F;const e=d.getExtension(\"WEBGL_shader_pixel_local_storage\");if(e&&e.isCoherent()){if(5==e.framebufferTexturePixelLocalStorageWEBGL.length)return d.Da=e,!0;console.warn(\"WEBGL_shader_pixel_local_storage is advertised, but a deprecated version has been detected. Disabling.\")}return!1},endPixelLocalStorageWEBGL:function(d,e,l){(d=Oa[d].F.Da)&&d.endPixelLocalStorageWEBGL(new Uint32Array(rb.buffer,4*l,e))},environ_get:(d,e)=>{var l=0,q=0,z;for(z of Zd()){var C=e+l;jb[d+q>>2]=C;l+=ed(z,C,Infinity)+\n1;q+=4}return 0},environ_sizes_get:(d,e)=>{var l=Zd();jb[d>>2]=l.length;d=0;for(var q of l)d+=fd(q)+1;jb[e>>2]=d;return 0},fd_close:()=>52,fd_read:()=>52,fd_seek:function(){return 70},fd_write:(d,e,l,q)=>{for(var z=0,C=0;C<l;C++){var D=jb[e>>2],F=jb[e+4>>2];e+=8;for(var J=0;J<F;J++){var N=d,R=eb[D+J],T=$d[N];0===R||10===R?((1===N?Ya:Za)(Nb(T)),T.length=0):T.push(R)}z+=F}jb[q>>2]=z;return 0},framebufferPixelLocalClearValuefvWEBGL:function(d,e,l,q,z,C){(d=Oa[d].F.Da)&&d.framebufferPixelLocalClearValuefvWEBGL(e,\n[l,q,z,C])},framebufferTexturePixelLocalStorageWEBGL:function(d,e,l,q,z,C){(d=Oa[d].F.Da)&&d.framebufferTexturePixelLocalStorageWEBGL(e,Ed[l],q,z,C)},glActiveTexture:d=>Z.activeTexture(d),glAttachShader:(d,e)=>{Z.attachShader(Bd[d],Fd[e])},glBindAttribLocation:(d,e,l)=>{Z.bindAttribLocation(Bd[d],e,l?Nb(eb,l):\"\")},glBindBuffer:(d,e)=>{35051==d?Z.La=e:35052==d&&(Z.ba=e);Z.bindBuffer(d,Ad[e])},glBindBufferRange:(d,e,l,q,z)=>{Z.bindBufferRange(d,e,Ad[l],q,z)},glBindFramebuffer:(d,e)=>{Z.bindFramebuffer(d,\nCd[e])},glBindRenderbuffer:(d,e)=>{Z.bindRenderbuffer(d,Dd[e])},glBindSampler:(d,e)=>{Z.bindSampler(d,Hd[e])},glBindTexture:(d,e)=>{Z.bindTexture(d,Ed[e])},glBindVertexArray:d=>{Z.bindVertexArray(Gd[d])},glBlendColor:(d,e,l,q)=>Z.blendColor(d,e,l,q),glBlendEquation:d=>Z.blendEquation(d),glBlendEquationSeparate:(d,e)=>Z.blendEquationSeparate(d,e),glBlendFunc:(d,e)=>Z.blendFunc(d,e),glBlendFuncSeparate:(d,e,l,q)=>Z.blendFuncSeparate(d,e,l,q),glBlitFramebuffer:(d,e,l,q,z,C,D,F,J,N)=>Z.blitFramebuffer(d,\ne,l,q,z,C,D,F,J,N),glBufferData:(d,e,l,q)=>{l&&e?Z.bufferData(d,eb,q,l,e):Z.bufferData(d,e,q)},glBufferSubData:(d,e,l,q)=>{l&&Z.bufferSubData(d,e,eb,q,l)},glCheckFramebufferStatus:d=>Z.checkFramebufferStatus(d),glClear:d=>Z.clear(d),glClearBufferfi:(d,e,l,q)=>Z.clearBufferfi(d,e,l,q),glClearBufferfv:(d,e,l)=>{Z.clearBufferfv(d,e,kb,l>>2)},glClearBufferiv:(d,e,l)=>{Z.clearBufferiv(d,e,L,l>>2)},glClearBufferuiv:(d,e,l)=>{Z.clearBufferuiv(d,e,jb,l>>2)},glClearColor:(d,e,l,q)=>Z.clearColor(d,e,l,q),glClearDepthf:d=>\nZ.clearDepth(d),glClearStencil:d=>Z.clearStencil(d),glClientWaitSync:(d,e,l,q)=>Z.clientWaitSync(Id[d],e,(l>>>0)+4294967296*q),glColorMask:(d,e,l,q)=>{Z.colorMask(!!d,!!e,!!l,!!q)},glCompileShader:d=>{Z.compileShader(Fd[d])},glCompressedTexSubImage2D:(d,e,l,q,z,C,D,F,J)=>{Z.ba||!F?Z.compressedTexSubImage2D(d,e,l,q,z,C,D,F,J):Z.compressedTexSubImage2D(d,e,l,q,z,C,D,eb,J,F)},glCompressedTexSubImage3D:(d,e,l,q,z,C,D,F,J,N,R)=>{Z.ba?Z.compressedTexSubImage3D(d,e,l,q,z,C,D,F,J,N,R):Z.compressedTexSubImage3D(d,\ne,l,q,z,C,D,F,J,eb,R,N)},glCreateProgram:()=>{var d=Ud(Bd),e=Z.createProgram();e.name=d;e.Ca=e.Aa=e.Ba=0;e.Za=1;Bd[d]=e;return d},glCreateShader:d=>{var e=Ud(Fd);Fd[e]=Z.createShader(d);return e},glCullFace:d=>Z.cullFace(d),glDeleteBuffers:(d,e)=>{for(var l=0;l<d;l++){var q=L[e+4*l>>2],z=Ad[q];z&&(Z.deleteBuffer(z),z.name=0,Ad[q]=null,q==Z.La&&(Z.La=0),q==Z.ba&&(Z.ba=0))}},glDeleteFramebuffers:(d,e)=>{for(var l=0;l<d;++l){var q=L[e+4*l>>2],z=Cd[q];z&&(Z.deleteFramebuffer(z),z.name=0,Cd[q]=null)}},\nglDeleteProgram:d=>{if(d){var e=Bd[d];e?(Z.deleteProgram(e),e.name=0,Bd[d]=null):Vd||=1281}},glDeleteRenderbuffers:(d,e)=>{for(var l=0;l<d;l++){var q=L[e+4*l>>2],z=Dd[q];z&&(Z.deleteRenderbuffer(z),z.name=0,Dd[q]=null)}},glDeleteSamplers:(d,e)=>{for(var l=0;l<d;l++){var q=L[e+4*l>>2],z=Hd[q];z&&(Z.deleteSampler(z),z.name=0,Hd[q]=null)}},glDeleteShader:d=>{if(d){var e=Fd[d];e?(Z.deleteShader(e),Fd[d]=null):Vd||=1281}},glDeleteSync:d=>{if(d){var e=Id[d];e?(Z.deleteSync(e),e.name=0,Id[d]=null):Vd||=\n1281}},glDeleteTextures:(d,e)=>{for(var l=0;l<d;l++){var q=L[e+4*l>>2],z=Ed[q];z&&(Z.deleteTexture(z),z.name=0,Ed[q]=null)}},glDeleteVertexArrays:(d,e)=>{for(var l=0;l<d;l++){var q=L[e+4*l>>2];Z.deleteVertexArray(Gd[q]);Gd[q]=null}},glDepthFunc:d=>Z.depthFunc(d),glDepthMask:d=>{Z.depthMask(!!d)},glDepthRangef:(d,e)=>Z.depthRange(d,e),glDisable:d=>Z.disable(d),glDisableVertexAttribArray:d=>{Z.disableVertexAttribArray(d)},glDrawArrays:(d,e,l)=>{Z.drawArrays(d,e,l)},glDrawArraysInstanced:(d,e,l,q)=>\n{Z.drawArraysInstanced(d,e,l,q)},glDrawBuffers:(d,e)=>{for(var l=ae[d],q=0;q<d;q++)l[q]=L[e+4*q>>2];Z.drawBuffers(l)},glDrawElements:(d,e,l,q)=>{Z.drawElements(d,e,l,q)},glDrawElementsInstanced:(d,e,l,q,z)=>{Z.drawElementsInstanced(d,e,l,q,z)},glEnable:d=>Z.enable(d),glEnableVertexAttribArray:d=>{Z.enableVertexAttribArray(d)},glFenceSync:(d,e)=>(d=Z.fenceSync(d,e))?(e=Ud(Id),d.name=e,Id[e]=d,e):0,glFlush:()=>Z.flush(),glFramebufferRenderbuffer:(d,e,l,q)=>{Z.framebufferRenderbuffer(d,e,l,Dd[q])},glFramebufferTexture2D:(d,\ne,l,q,z)=>{Z.framebufferTexture2D(d,e,l,Ed[q],z)},glFramebufferTextureLayer:(d,e,l,q,z)=>{Z.framebufferTextureLayer(d,e,Ed[l],q,z)},glFrontFace:d=>Z.frontFace(d),glGenBuffers:(d,e)=>{Wd(d,e,\"createBuffer\",Ad)},glGenFramebuffers:(d,e)=>{Wd(d,e,\"createFramebuffer\",Cd)},glGenRenderbuffers:(d,e)=>{Wd(d,e,\"createRenderbuffer\",Dd)},glGenSamplers:(d,e)=>{Wd(d,e,\"createSampler\",Hd)},glGenTextures:(d,e)=>{Wd(d,e,\"createTexture\",Ed)},glGenVertexArrays:(d,e)=>{Wd(d,e,\"createVertexArray\",Gd)},glGenerateMipmap:d=>\nZ.generateMipmap(d),glGetFloatv:(d,e)=>ce(d,e,2),glGetFramebufferAttachmentParameteriv:(d,e,l,q)=>{d=Z.getFramebufferAttachmentParameter(d,e,l);if(d instanceof WebGLRenderbuffer||d instanceof WebGLTexture)d=d.name|0;L[q>>2]=d},glGetIntegerv:(d,e)=>ce(d,e,0),glGetProgramInfoLog:(d,e,l,q)=>{d=Z.getProgramInfoLog(Bd[d]);null===d&&(d=\"(unknown error)\");e=0<e&&q?ed(d,q,e):0;l&&(L[l>>2]=e)},glGetProgramiv:(d,e,l)=>{if(l)if(d>=zd)Vd||=1281;else if(d=Bd[d],35716==e)d=Z.getProgramInfoLog(d),null===d&&(d=\"(unknown error)\"),\nL[l>>2]=d.length+1;else if(35719==e){if(!d.Ca){var q=Z.getProgramParameter(d,35718);for(e=0;e<q;++e)d.Ca=Math.max(d.Ca,Z.getActiveUniform(d,e).name.length+1)}L[l>>2]=d.Ca}else if(35722==e){if(!d.Aa)for(q=Z.getProgramParameter(d,35721),e=0;e<q;++e)d.Aa=Math.max(d.Aa,Z.getActiveAttrib(d,e).name.length+1);L[l>>2]=d.Aa}else if(35381==e){if(!d.Ba)for(q=Z.getProgramParameter(d,35382),e=0;e<q;++e)d.Ba=Math.max(d.Ba,Z.getActiveUniformBlockName(d,e).length+1);L[l>>2]=d.Ba}else L[l>>2]=Z.getProgramParameter(d,\ne);else Vd||=1281},glGetShaderInfoLog:(d,e,l,q)=>{d=Z.getShaderInfoLog(Fd[d]);null===d&&(d=\"(unknown error)\");e=0<e&&q?ed(d,q,e):0;l&&(L[l>>2]=e)},glGetShaderiv:(d,e,l)=>{l?35716==e?(d=Z.getShaderInfoLog(Fd[d]),null===d&&(d=\"(unknown error)\"),L[l>>2]=d?d.length+1:0):35720==e?(d=Z.getShaderSource(Fd[d]),L[l>>2]=d?d.length+1:0):L[l>>2]=Z.getShaderParameter(Fd[d],e):Vd||=1281},glGetString:d=>{var e=Jd[d];if(!e){switch(d){case 7939:e=ee(be().join(\" \"));break;case 7936:case 7937:case 37445:case 37446:(e=\nZ.getParameter(d))||(Vd||=1280);e=e?ee(e):0;break;case 7938:e=ee(`OpenGL ES 3.0 (${Z.getParameter(7938)})`);break;case 35724:e=Z.getParameter(35724);var l=e.match(/^WebGL GLSL ES ([0-9]\\.[0-9][0-9]?)(?:$| .*)/);null!==l&&(3==l[1].length&&(l[1]+=\"0\"),e=`OpenGL ES GLSL ES ${l[1]} (${e})`);e=ee(e);break;default:Vd||=1280}Jd[d]=e}return e},glGetStringi:(d,e)=>{if(2>Na.version)return Vd||=1282,0;var l=Kd[d];if(l)return 0>e||e>=l.length?(Vd||=1281,0):l[e];switch(d){case 7939:return l=be().map(ee),l=Kd[d]=\nl,0>e||e>=l.length?(Vd||=1281,0):l[e];default:return Vd||=1280,0}},glGetUniformBlockIndex:(d,e)=>Z.getUniformBlockIndex(Bd[d],e?Nb(eb,e):\"\"),glGetUniformLocation:(d,e)=>{e=e?Nb(eb,e):\"\";if(d=Bd[d]){var l=d,q=l.ma,z=l.wb,C;if(!q){l.ma=q={};l.vb={};var D=Z.getProgramParameter(l,35718);for(C=0;C<D;++C){var F=Z.getActiveUniform(l,C);var J=F.name;F=F.size;var N=fe(J);N=0<N?J.slice(0,N):J;var R=l.Za;l.Za+=F;z[N]=[F,R];for(J=0;J<F;++J)q[R]=J,l.vb[R++]=N}}l=d.ma;q=0;z=e;C=fe(e);0<C&&(q=parseInt(e.slice(C+\n1))>>>0,z=e.slice(0,C));if((z=d.wb[z])&&q<z[0]&&(q+=z[1],l[q]=l[q]||Z.getUniformLocation(d,e)))return q}else Vd||=1281;return-1},glInvalidateFramebuffer:(d,e,l)=>{for(var q=ae[e],z=0;z<e;z++)q[z]=L[l+4*z>>2];Z.invalidateFramebuffer(d,q)},glLinkProgram:d=>{d=Bd[d];Z.linkProgram(d);d.ma=0;d.wb={}},glPixelStorei:(d,e)=>{3317==d?Sd=e:3314==d&&(Td=e);Z.pixelStorei(d,e)},glPolygonOffset:(d,e)=>Z.polygonOffset(d,e),glReadBuffer:d=>Z.readBuffer(d),glReadPixels:(d,e,l,q,z,C,D)=>{if(Z.La)Z.readPixels(d,e,l,\nq,z,C,D);else{var F=ge(C);D>>>=31-Math.clz32(F.BYTES_PER_ELEMENT);Z.readPixels(d,e,l,q,z,C,F,D)}},glRenderbufferStorage:(d,e,l,q)=>Z.renderbufferStorage(d,e,l,q),glRenderbufferStorageMultisample:(d,e,l,q,z)=>Z.renderbufferStorageMultisample(d,e,l,q,z),glSamplerParameterf:(d,e,l)=>{Z.samplerParameterf(Hd[d],e,l)},glSamplerParameteri:(d,e,l)=>{Z.samplerParameteri(Hd[d],e,l)},glScissor:(d,e,l,q)=>Z.scissor(d,e,l,q),glShaderSource:(d,e,l,q)=>{for(var z=\"\",C=0;C<e;++C){var D=(D=jb[l+4*C>>2])?Nb(eb,D,q?\njb[q+4*C>>2]:void 0):\"\";z+=D}Z.shaderSource(Fd[d],z)},glStencilFunc:(d,e,l)=>Z.stencilFunc(d,e,l),glStencilFuncSeparate:(d,e,l,q)=>Z.stencilFuncSeparate(d,e,l,q),glStencilMask:d=>Z.stencilMask(d),glStencilMaskSeparate:(d,e)=>Z.stencilMaskSeparate(d,e),glStencilOp:(d,e,l)=>Z.stencilOp(d,e,l),glStencilOpSeparate:(d,e,l,q)=>Z.stencilOpSeparate(d,e,l,q),glTexParameteri:(d,e,l)=>Z.texParameteri(d,e,l),glTexStorage2D:(d,e,l,q,z)=>Z.texStorage2D(d,e,l,q,z),glTexStorage3D:(d,e,l,q,z,C)=>Z.texStorage3D(d,\ne,l,q,z,C),glTexSubImage2D:(d,e,l,q,z,C,D,F,J)=>{if(Z.ba)Z.texSubImage2D(d,e,l,q,z,C,D,F,J);else if(J){var N=ge(F);Z.texSubImage2D(d,e,l,q,z,C,D,F,N,J>>>31-Math.clz32(N.BYTES_PER_ELEMENT))}else{if(J){N=ge(F);var R=C*((Td||z)*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[D-6402]||1)*N.BYTES_PER_ELEMENT+Sd-1&-Sd);J=N.subarray(J>>>31-Math.clz32(N.BYTES_PER_ELEMENT),J+R>>>31-Math.clz32(N.BYTES_PER_ELEMENT))}else J=null;Z.texSubImage2D(d,e,l,q,z,C,D,F,J)}},glTexSubImage3D:(d,e,l,q,z,C,\nD,F,J,N,R)=>{if(Z.ba)Z.texSubImage3D(d,e,l,q,z,C,D,F,J,N,R);else if(R){var T=ge(N);Z.texSubImage3D(d,e,l,q,z,C,D,F,J,N,T,R>>>31-Math.clz32(T.BYTES_PER_ELEMENT))}else Z.texSubImage3D(d,e,l,q,z,C,D,F,J,N,null)},glUniform1i:(d,e)=>{var l=Z,q=l.uniform1i;var z=Z.Qb;if(z){var C=z.ma[d];\"number\"==typeof C&&(z.ma[d]=C=Z.getUniformLocation(z,z.vb[d]+(0<C?`[${C}]`:\"\")));d=C}else Vd||=1282,d=void 0;q.call(l,d,e)},glUniformBlockBinding:(d,e,l)=>{d=Bd[d];Z.uniformBlockBinding(d,e,l)},glUseProgram:d=>{d=Bd[d];\nZ.useProgram(d);Z.Qb=d},glVertexAttribDivisor:(d,e)=>{Z.vertexAttribDivisor(d,e)},glVertexAttribIPointer:(d,e,l,q,z)=>{Z.vertexAttribIPointer(d,e,l,q,z)},glVertexAttribPointer:(d,e,l,q,z,C)=>{Z.vertexAttribPointer(d,e,l,!!q,z,C)},glViewport:(d,e,l,q)=>Z.viewport(d,e,l,q),invoke_vii:Ae,isWindowsBrowser:function(){return-1<navigator.platform.indexOf(\"Win\")},provokingVertexWEBGL:function(d,e){(d=Oa[d].F.pb)&&d.provokingVertexWEBGL(e)},riveWebAttach:function(){const d=I.riveScripting;if(!d)return 0;const e=\n(l,q)=>{l=ee(l);q(l);$b(l)};d.Hb({exports:I,fc:l=>{l=jb[(ue()>>2)+l];return 0===l?void 0:Pc.get(l)},W:()=>eb,ib:()=>lb,la:Ib,Ea:ie,ka:Gb,Ta:de,ca:$b,oa:l=>l?Nb(eb,l):\"\",yb:(l,q,z)=>ed(l,q,z),memory:()=>rb,uc:(l,q,z)=>e(z,C=>I._rive_web_processor_event(l,q,C)),Sa:(l,q)=>e(q,z=>se(l,z)),lc:(l,q)=>e(q,z=>re(l,z)),mc:l=>{l=te(l);return 0===l?null:l?Nb(eb,l):\"\"}});return 1},riveWebAudioRefusal:function(){const d=I.riveScripting.audioRefusal();return null===d?0:ee(d)},riveWebCall:function(d,e,l,q,z,C,D){return I.riveScripting.call(d,\ne,l,q,z,C,D)},riveWebHasExport:function(d,e){return I.riveScripting.ec(d,e)},riveWebJobRun:function(d,e,l,q,z,C,D,F,J){d=I.riveScripting.runJob(d,e,()=>eb.slice(l,l+q),z,eb.slice(C,C+D),()=>Atomics.load(L,F>>2));if(!d.ok)return ee(d.error);J=qe(J,d.output.length);eb.set(d.output,J);return 0},riveWebMemoryPages:function(d){return I.riveScripting.rc(d)},riveWebPreparing:function(d){return I.riveScripting.Z(d)},riveWebRaise:function(d,e){I.riveScripting.vc(d,e)},riveWebReadMemory:function(d,e,l,q){return I.riveScripting.read(d,\ne>>>0,l,q>>>0)},riveWebRegister:function(d,e,l){I.riveScripting.register(d,eb.subarray(e,e+l))},riveWebRelease:function(d){I.riveScripting?.release(d)},riveWebStart:function(d){d=I.riveScripting.start(d);return null===d?0:ee(d)},riveWebStringLength:function(d,e){return I.riveScripting.jj(d,e>>>0)},riveWebWorkerCollect:function(d){d=I.riveScripting.workerCollect(d);return null===d?0:ee(d)},riveWebWorkerEnd:function(d){I.riveScripting.workerEnd(d)},riveWebWorkerStart:function(d,e,l,q,z,C,D,F,J,N){let R=\n!1;e=I.riveScripting.workerStart(e,l,()=>eb.slice(q,q+z),C,eb.slice(D,D+F),{wait:(T,V,na)=>ve(d,T,V,na),finished:(T,V)=>{if(!R){R=!0;if(T){const na=qe(J,V.length);eb.set(V,na)}we(d,T)}},ij:()=>xe(d)});if(!e.ok)return ee(e.error);jb[N>>2]=e.id;return 0},riveWebWorkerWake:function(d,e,l){d=I.riveScripting.workerWake(d,e,l);return null===d?0:ee(d)},riveWebWriteMemory:function(d,e,l,q){return I.riveScripting.write(d,e>>>0,l,q>>>0)},upload_image:function(d,e){var l=I.images;l&&(e=l.get(e))&&(d=Oa[d].F,\nd.pixelStorei(d.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),d.texImage2D(d.TEXTURE_2D,0,d.RGBA,d.RGBA,d.UNSIGNED_BYTE,e),d.pixelStorei(d.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1))},wasm_start_image_decode:function(d,e,l){e=new Uint8Array(rb.buffer,e,l);var q=new Uint8Array(l);q.set(e);Promise.resolve().then(function(){return createImageBitmap(new Blob([q]))}).then(function(z){var C=(new OffscreenCanvas(z.width,z.height)).getContext(\"2d\");C.drawImage(z,0,0);C=C.getImageData(0,0,z.width,z.height);var D=C.data.length,\nF=ne(D);F?((new Uint8Array(rb.buffer,F,D)).set(C.data),oe(d,z.width,z.height,F,D)):pe(d)}).catch(function(){pe(d)})}};function Ae(d,e,l){var q=Hb();try{Pc.get(d)(e,l)}catch(z){Fb(q);if(z!==z+0)throw z;ye(1,0)}}var Ce;\nCe=await (async function(){function d(l){l=Ce=l.exports;$b=l.free;de=l.malloc;I._setWebImage=l.setWebImage;Zb=l.__getTypeName;ne=I._wasm_image_decode_alloc=l.wasm_image_decode_alloc;oe=I._wasm_image_decode_complete=l.wasm_image_decode_complete;pe=I._wasm_image_decode_error=l.wasm_image_decode_error;I._rive_web_vm_module_export=l.rive_web_vm_module_export;I._rive_web_vm_frame_boundary=l.rive_web_vm_frame_boundary;qe=I._rive_web_job_output=l.rive_web_job_output;re=I._rive_web_lane_fail=l.rive_web_lane_fail;\nse=I._rive_web_lane_log=l.rive_web_lane_log;te=I._rive_web_lane_fuel=l.rive_web_lane_fuel;I._rive_web_vm_booting=l.rive_web_vm_booting;I._rive_web_vm_start_fuel=l.rive_web_vm_start_fuel;I._rive_web_vm_start_refusal=l.rive_web_vm_start_refusal;ue=I._rive_web_calls=l.rive_web_calls;ve=I._rive_web_worker_wait=l.rive_web_worker_wait;we=I._rive_web_worker_finished=l.rive_web_worker_finished;xe=I._rive_web_worker_stopping=l.rive_web_worker_stopping;je=I._ma_device__on_notification_unlocked=l.ma_device__on_notification_unlocked;\nI._ma_malloc_emscripten=l.ma_malloc_emscripten;I._ma_free_emscripten=l.ma_free_emscripten;ke=I._ma_device_process_pcm_frames_capture__webaudio=l.ma_device_process_pcm_frames_capture__webaudio;le=I._ma_device_process_pcm_frames_playback__webaudio=l.ma_device_process_pcm_frames_playback__webaudio;ye=l.setThrew;ze=l._emscripten_tempret_set;Fb=l._emscripten_stack_restore;he=l._emscripten_stack_alloc;Hb=l.emscripten_stack_get_current;Oc.vij=l.dynCall_vij;Oc.iij=l.dynCall_iij;Oc.ji=l.dynCall_ji;Oc.iijii=\nl.dynCall_iijii;Oc.iiiji=l.dynCall_iiiji;Oc.iiji=l.dynCall_iiji;Oc.jii=l.dynCall_jii;Oc.vijj=l.dynCall_vijj;Oc.jiji=l.dynCall_jiji;rb=l.memory;Pc=l.__indirect_function_table;qb();return Ce}var e={env:Be,wasi_snapshot_preview1:Be};if(I.instantiateWasm)return new Promise(l=>{I.instantiateWasm(e,(q,z)=>{l(d(q,z))})});tb??=I.locateFile?I.locateFile(\"webgl2_advanced.wasm\",Qa):Qa+\"webgl2_advanced.wasm\";return d((await yb(e)).instance)}());\n(function(){function d(){I.calledRun=!0;if(!ab){pb=!0;Ce.__wasm_call_ctors();bb?.(I);I.onRuntimeInitialized?.();if(I.postRun)for(\"function\"==typeof I.postRun&&(I.postRun=[I.postRun]);I.postRun.length;){var e=I.postRun.shift();Cb.push(e)}Bb(Cb)}}if(I.preRun)for(\"function\"==typeof I.preRun&&(I.preRun=[I.preRun]);I.preRun.length;)Eb();Bb(Db);I.setStatus?(I.setStatus(\"Running...\"),setTimeout(()=>{setTimeout(()=>I.setStatus(\"\"),1);d()},1)):d()})();pb?moduleRtn=I:moduleRtn=new Promise((d,e)=>{bb=d;cb=e});\n;return moduleRtn}})();\nexport default Rive;\n","function riveGlue() {\nvar Rive=(()=>{var _scriptName=globalThis.document?.currentScript?.src;return async function(moduleArg={}){var moduleRtn;var G=moduleArg,ma=!!globalThis.window,sa=!!globalThis.WorkerGlobalScope,ua=sa&&self.name?.startsWith(\"em-pthread\");const wa=G.onAbort;G.onAbort=function(c){ua||za();wa&&wa(c)};\nfunction Aa(){function c(D){const F=n;l=e=0;n=new Map;F.forEach(J=>{try{J(D)}catch(O){console.error(O)}});this.rb();x&&x.fc()}let e=0,l=0,n=new Map,x=null,B=null;this.requestAnimationFrame=function(D){e||=requestAnimationFrame(c.bind(this));const F=++l;n.set(F,D);return F};this.cancelAnimationFrame=function(D){n.delete(D);e&&0==n.size&&(cancelAnimationFrame(e),e=0)};this.$b=function(D){B&&(document.body.remove(B),B=null);D||(B=document.createElement(\"div\"),B.style.backgroundColor=\"black\",B.style.position=\n\"fixed\",B.style.right=0,B.style.top=0,B.style.color=\"white\",B.style.padding=\"4px\",B.innerHTML=\"RIVE FPS\",D=function(F){B.innerHTML=\"RIVE FPS \"+F.toFixed(1)},document.body.appendChild(B));x=new function(){let F=0,J=0;this.fc=function(){var O=performance.now();J?(++F,O-=J,1E3<O&&(D(1E3*F/O),F=J=0)):(J=O,F=0)}}};this.rb=function(){}}\nfunction Fa(){console.assert(!0);const c=new Map;let e=-Infinity;this.push=function(l){l=l+255>>8;c.has(l)&&clearTimeout(c.get(l));c.set(l,setTimeout(function(){c.delete(l);0==c.length?e=-Infinity:l==e&&(e=Math.max(...c.keys()),console.assert(e<l))},1E3));e=Math.max(l,e);return e<<8}}function Ja(c){return function(){c();const e=G.riveScripting;if(e)for(const l of e.frameBoundary())console.warn(l)}}const Ma=G.onRuntimeInitialized;\nG.onRuntimeInitialized=function(){Ma&&Ma();G.startFileScripts=function(D){const F=G.riveScripting;return D&&F&&D.startScripts?F.prepare().then(function(){D.startScripts();return D}):Promise.resolve(D)};let c=G.decodeAudio;G.decodeAudio=function(D,F,J=null){D=c(D,J??null);F(D)};let e=G.decodeFont;G.decodeFont=function(D,F,J=null){D=e(D,J??null);F(D)};const l=G.FileAsset.prototype.decode;G.FileAsset.prototype.decode=function(D,F){return l.call(this,D,F??null)};let n=G.setFallbackFontCb;G.setFallbackFontCallback=\n\"function\"===typeof n?function(D){n(D)}:function(){console.warn(\"Module.setFallbackFontCallback called, but text support is not enabled in this build.\")};const x=G.FileAssetLoader;G.ptrToAsset=D=>{let F=G.ptrToFileAsset(D);return F.isImage?G.ptrToImageAsset(D):F.isFont?G.ptrToFontAsset(D):F.isAudio?G.ptrToAudioAsset(D):F};G.CustomFileAssetLoader=x.extend(\"CustomFileAssetLoader\",{__construct:function({loadContents:D}){this.__parent.__construct.call(this);this.Jb=D},loadContents:function(D,F){D=G.ptrToAsset(D);\nreturn this.Jb(D,F)}});G.CDNFileAssetLoader=x.extend(\"CDNFileAssetLoader\",{__construct:function(D){this.__parent.__construct.call(this);this.Lb=D??null},loadContents:function(D){let F=G.ptrToAsset(D);D=F.cdnUuid;if(\"\"===D)return!1;const J=this.Lb??null;(function(O,Q){var U=new XMLHttpRequest;U.responseType=\"arraybuffer\";U.onreadystatechange=function(){4==U.readyState&&200==U.status&&Q(U)};U.open(\"GET\",O,!0);U.send(null)})(F.cdnBaseUrl+\"/\"+D,O=>{F.decode(new Uint8Array(O.response),J)});return!0}});\nG.FallbackFileAssetLoader=x.extend(\"FallbackFileAssetLoader\",{__construct:function(){this.__parent.__construct.call(this);this.ob=[]},addLoader:function(D){this.ob.push(D)},loadContents:function(D,F){for(let J of this.ob)if(J.loadContents(D,F))return!0;return!1}});let B=G.computeAlignment;G.computeAlignment=function(D,F,J,O,Q=1){return B.call(this,D,F,J,O,Q)}};\n(function(){function c(r,a,f=null){const d=r.Sb,p=r.na,q=r.ma,v=r.ya??{i:!1};let k=null;const b=()=>{const A=a().buffer;if(null===k||k.buffer!==A)k=new Uint8Array(A);return k},g=(A,w)=>{if(0>w||(A>>>0)+w>b().length)throw new RangeError(\"module range out of bounds\");A=4096<w?r.Ya(w):r.Ga(w);if(0===A)throw Error(`could not stage ${w} bytes for the host`);return A},h=(A,w)=>{const t=g(A,w);A>>>=0;r.Y().set(k.subarray(A,A+w),t);v.i&&(v.wa+=w);return t},m=(A,w)=>{0!==A&&4096<w&&r.ea(A)},y=(A,w,t)=>{0!==\nt&&(b().set(r.Y().subarray(A,A+t),w>>>0),v.i&&(v.ua+=t))},K=(A,w)=>{const t=x(a().buffer,A),z=p();let u=0;try{u=h(A,t),w(u,t)}finally{m(u,t),q(z)}},T=A=>w=>K(w,(t,z)=>d.ee(A,t,z));return{env:{seed:()=>Date.now()*Math.random(),emscripten_get_now:()=>performance.now(),emscripten_date_now:()=>Date.now(),trace:(A,w,t,z,u,E,M)=>K(A,(R,qa)=>d.ij(R,qa,w,t,z,u,E,M)),\"console.log\":T(0),\"console.debug\":T(0),\"console.info\":T(0),\"console.warn\":T(0),\"console.error\":T(0),\"console.time\":T(1),\"console.timeLog\":T(2),\n\"console.timeEnd\":T(3)},rive_rt_v1:(null===f||\"rive_rt_v1\"===f)&&{log:(A,w,t)=>{const z=p();let u=0;try{u=h(w,t),d.hi(A,u,t)}finally{m(u,t),q(z)}},mark_needs_update:d.ii,budget_exceeded:d.bi,error:(A,w)=>{const t=p();let z=0;try{z=h(A,w),d.fi(z,w)}finally{m(z,w),q(t)}},now:()=>performance.now(),date_now:()=>Date.now(),debug_enter:d.ci,debug_line:d.ei,debug_leave:d.di,utc_offset:d.ki,is_dst:d.gi,zone_name:(A,w,t)=>{const z=p();let u=0;try{u=h(w,t);const E=d.li(A,u,t);y(u,w,t);return E}finally{m(u,\nt),q(z)}}},rive_data_v1:(null===f||\"rive_data_v1\"===f)&&{view_model:d.af,root_view_model:d.Ve,global_view_model:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.Be(A,u,t)}finally{m(u,t),q(z)}},global_view_model_names:(A,w,t)=>{const z=p();let u=0;try{u=h(w,t);const E=d.Ce(A,u,t);y(u,w,t);return E}finally{m(u,t),q(z)}},context:d.qe,context_parent:d.re,context_view_model:d.te,context_release:d.se,has_view_model:(A,w)=>{const t=p();let z=0;try{return z=h(A,w),d.De(z,w)}finally{m(z,w),q(t)}},new_view_model:(A,\nw,t,z)=>{const u=p();let E=0,M=0;try{return E=h(A,w),M=h(t,z),d.Re(E,w,M,z)}finally{m(M,z),m(E,w),q(u)}},vmi_release:d.rf,vmi_number:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.pf(A,u,t)}finally{m(u,t),q(z)}},vmi_boolean:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.ff(A,u,t)}finally{m(u,t),q(z)}},vmi_string:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.sf(A,u,t)}finally{m(u,t),q(z)}},vmi_trigger:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.uf(A,u,t)}finally{m(u,t),q(z)}},\nvmi_color:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.gf(A,u,t)}finally{m(u,t),q(z)}},vmi_view_model:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.vf(A,u,t)}finally{m(u,t),q(z)}},vmi_property:(A,w,t,z,u)=>{const E=p();let M=0,R=0;try{M=h(w,t);R=h(z,4*u);const qa=d.qf(A,M,t,R,u);y(R,z,4*u);return qa}finally{m(R,4*u),m(M,t),q(E)}},vmi_instance:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.mf(A,u,t)}finally{m(u,t),q(z)}},vmi_symbol_index:d.tf,vmi_equal:d.jf,view_model_get:d.bf,vmi_list:(A,\nw,t)=>{const z=p();let u=0;try{return u=h(w,t),d.nf(A,u,t)}finally{m(u,t),q(z)}},vmi_enum:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.hf(A,u,t)}finally{m(u,t),q(z)}},vmi_image:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.lf(A,u,t)}finally{m(u,t),q(z)}},vmi_font:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.kf(A,u,t)}finally{m(u,t),q(z)}},vmi_blob:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.ef(A,u,t)}finally{m(u,t),q(z)}},vmi_artboard:(A,w,t)=>{const z=p();let u=0;try{return u=\nh(w,t),d.df(A,u,t)}finally{m(u,t),q(z)}},image_get:d.Ee,image_set:d.Fe,font_get:d.ye,font_set:d.Ae,font_release:d.ze,blob_present:d.ke,blob_get:(A,w,t)=>{const z=p();let u=0;try{u=h(w,t);const E=d.ie(A,u,t);y(u,w,t);return E}finally{m(u,t),q(z)}},blob_name:(A,w,t)=>{const z=p();let u=0;try{u=h(w,t);const E=d.je(A,u,t);y(u,w,t);return E}finally{m(u,t),q(z)}},blob_set:(A,w,t)=>{const z=p();let u=0;try{u=h(w,t),d.le(A,u,t)}finally{m(u,t),q(z)}},blob_clear:d.he,artboard_get:d.fe,artboard_set:d.ge,enum_get:(A,\nw,t)=>{const z=p();let u=0;try{u=h(w,t);const E=d.ve(A,u,t);y(u,w,t);return E}finally{m(u,t),q(z)}},enum_set:(A,w,t)=>{const z=p();let u=0;try{u=h(w,t),d.we(A,u,t)}finally{m(u,t),q(z)}},enum_values:(A,w,t)=>{const z=p();let u=0;try{u=h(w,t);const E=d.xe(A,u,t);y(u,w,t);return E}finally{m(u,t),q(z)}},prop_release:d.Ue,trigger_fire:d.Ze,list_length:d.Je,list_push:d.Le,list_pop:d.Ke,list_shift:d.Pe,list_clear:d.Ge,list_swap:d.Qe,list_insert:d.Ie,list_remove:d.Me,list_remove_at:d.Oe,list_remove_all_of:d.Ne,\nlist_get:d.He,view_model_set:d.cf,color_get:d.oe,color_set:d.pe,number_get:d.Se,number_set:d.Te,boolean_get:d.me,boolean_set:d.ne,string_get:(A,w,t)=>{const z=p();let u=0;try{u=h(w,t);const E=d.Xe(A,u,t);y(u,w,t);return E}finally{m(u,t),q(z)}},string_changed:d.We,string_set:(A,w,t)=>{const z=p();let u=0;try{u=h(w,t),d.Ye(A,u,t)}finally{m(u,t),q(z)}},watch:d.wf,unwatch:d.$e,convert_result:(A,w,t,z,u,E)=>{const M=p();let R=0;try{R=h(u,E),d.ue(A,w,t,z,R,E)}finally{m(R,E),q(M)}}},rive_artboard_v1:(null===\nf||\"rive_artboard_v1\"===f)&&{release:d.od,advance:d.Hc,draw:d.Pc,instance:d.Zc,data:d.Oc,width:d.td,height:d.Yc,set_width:d.sd,set_height:d.rd,frame_origin:d.Wc,set_frame_origin:d.qd,bounds:(A,w,t)=>{const z=p();let u=0;try{u=h(w,4*t),d.Nc(A,u,t),y(u,w,4*t)}finally{m(u,4*t),q(z)}},pointer_event:d.md,scroll_event:d.pd,gamepad_event:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.Xc(A,u,t)}finally{m(u,t),q(z)}},animation:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.Ic(A,u,t)}finally{m(u,\nt),q(z)}},animation_release:d.Lc,animation_duration:d.Kc,animation_advance:d.Jc,animation_set_time:d.Mc,add_to_path:d.Gc,node:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.$c(A,u,t)}finally{m(u,t),q(z)}},node_release:d.gd,node_transform:(A,w,t)=>{const z=p();let u=0;try{u=h(w,4*t),d.kd(A,u,t),y(u,w,4*t)}finally{m(u,4*t),q(z)}},node_set:d.hd,node_world_transform:(A,w,t)=>{const z=p();let u=0;try{u=h(w,4*t),d.ld(A,u,t),y(u,w,4*t)}finally{m(u,4*t),q(z)}},node_set_world_transform:(A,w,t)=>{const z=\np();let u=0;try{u=h(w,4*t),d.jd(A,u,t)}finally{m(u,4*t),q(z)}},node_decompose:(A,w,t)=>{const z=p();let u=0;try{u=h(w,4*t),d.bd(A,u,t)}finally{m(u,4*t),q(z)}},node_path_verbs:(A,w,t)=>{const z=p();let u=0;try{u=h(w,t);const E=d.fd(A,u,t);y(u,w,t);return E}finally{m(u,t),q(z)}},node_path_points:(A,w,t)=>{const z=p();let u=0;try{u=h(w,4*t);const E=d.ed(A,u,t);y(u,w,4*t);return E}finally{m(u,4*t),q(z)}},node_paint:(A,w,t)=>{const z=p();let u=0;try{u=h(w,4*t);const E=d.cd(A,u,t);y(u,w,4*t);return E}finally{m(u,\n4*t),q(z)}},node_children:(A,w,t)=>{const z=p();let u=0;try{u=h(w,4*t);const E=d.ad(A,u,t);y(u,w,4*t);return E}finally{m(u,4*t),q(z)}},node_parent:d.dd,property_key:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.nd(A,u,t)}finally{m(u,t),q(z)}},draw_visit:d.Rc,draw_modulated:d.Qc,drawable_draw:d.Sc,drawable_value:(A,w,t,z)=>{const u=p();let E=0;try{E=h(t,4*z);const M=d.Vc(A,w,E,z);y(E,t,4*z);return M}finally{m(E,4*z),q(u)}},drawable_string:(A,w,t,z)=>{const u=p();let E=0;try{E=h(t,z);const M=\nd.Uc(A,w,E,z);y(E,t,z);return M}finally{m(E,z),q(u)}},drawable_properties:(A,w,t)=>{const z=p();let u=0;try{u=h(w,t);const E=d.Tc(A,u,t);y(u,w,t);return E}finally{m(u,t),q(z)}}},rive_audio_v1:(null===f||\"rive_audio_v1\"===f)&&{source:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.Md(A,u,t)}finally{m(u,t),q(z)}},source_release:d.Pd,source_duration:d.Od,source_sample_rate:d.Qd,source_channels:d.Nd,play:d.ud,play_at_time:d.wd,play_in_time:d.yd,play_at_frame:d.vd,play_in_frame:d.xd,time:d.Rd,time_frame:d.Sd,\nsample_rate:d.zd,sound_release:d.Dd,sound_play:d.Cd,sound_pause:d.Bd,sound_resume:d.Ed,sound_stop:d.Id,sound_seek:d.Fd,sound_seek_frame:d.Gd,sound_completed:d.Ad,sound_time:d.Jd,sound_time_frame:d.Kd,sound_volume:d.Ld,sound_set_volume:d.Hd},rive_path_v1:(null===f||\"rive_path_v1\"===f)&&{\"new\":d.Nh,update:(A,w,t,z,u,E)=>{const M=p();let R=0,qa=0;try{R=h(w,t),qa=h(z,4*u),d.Qh(A,R,t,qa,u,E)}finally{m(qa,4*u),m(R,t),q(M)}},release:d.Ph,add:d.Lh,verbs:(A,w,t)=>{const z=p();let u=0;try{u=h(w,t);const E=\nd.Rh(A,u,t);y(u,w,t);return E}finally{m(u,t),q(z)}},points:(A,w,t)=>{const z=p();let u=0;try{u=h(w,4*t);const E=d.Oh(A,u,t);y(u,w,4*t);return E}finally{m(u,4*t),q(z)}},effect_result:(A,w,t,z)=>{const u=p();let E=0,M=0;try{E=h(A,w),M=h(t,4*z),d.Mh(E,w,M,z)}finally{m(M,4*z),m(E,w),q(u)}}},rive_measure_v1:(null===f||\"rive_measure_v1\"===f)&&{path_new:(A,w,t,z)=>{const u=p();let E=0,M=0;try{return E=h(A,w),M=h(t,4*z),d.qh(E,w,M,z)}finally{m(M,4*z),m(E,w),q(u)}},contours_new:(A,w,t,z)=>{const u=p();let E=\n0,M=0;try{return E=h(A,w),M=h(t,4*z),d.lh(E,w,M,z)}finally{m(M,4*z),m(E,w),q(u)}},contour_next:d.kh,length:d.ph,is_closed:d.oh,pos_tan:(A,w,t,z)=>{const u=p();let E=0;try{E=h(t,4*z),d.rh(A,w,E,z),y(E,t,4*z)}finally{m(E,4*z),q(u)}},warp:(A,w,t,z,u)=>{const E=p();let M=0;try{M=h(z,4*u),d.th(A,w,t,M,u),y(M,z,4*u)}finally{m(M,4*u),q(E)}},extract:d.mh,extract_read:(A,w,t,z,u)=>{const E=p();let M=0,R=0;try{M=h(w,t);R=h(z,4*u);const qa=d.nh(A,M,t,R,u);y(M,w,t);y(R,z,4*u);return qa}finally{m(R,4*u),m(M,t),\nq(E)}},release:d.sh},rive_paint_v1:(null===f||\"rive_paint_v1\"===f)&&{\"new\":d.Fh,release:d.Gh,style:d.Jh,color:d.Ch,thickness:d.Kh,join:d.Eh,cap:d.Bh,blend_mode:d.Ah,feather:d.Dh,shader:d.Hh,shader_transform:(A,w,t)=>{const z=p();let u=0;try{u=h(w,4*t),d.Ih(A,u,t)}finally{m(u,4*t),q(z)}}},rive_canvas_v1:(null===f||\"rive_canvas_v1\"===f)&&{\"new\":d.ae,release:d.be,width:d.de,height:d.Zd,resize:d.ce,image:d.$d,begin_frame:d.Xd,end_frame:d.Yd},rive_gpu_v1:(null===f||\"rive_gpu_v1\"===f)&&{features:(A,w)=>\n{const t=p();let z=0;try{z=h(A,4*w);const u=d.kg(z,w);y(z,A,4*w);return u}finally{m(z,4*w),q(t)}},canvas_new:d.hg,canvas_release:d.ig,canvas_color_view:(A,w,t)=>{const z=p();let u=0;try{u=h(w,4*t);const E=d.fg(A,u,t);y(u,w,4*t);return E}finally{m(u,4*t),q(z)}},canvas_image:d.gg,canvas_resize:(A,w,t,z,u)=>{const E=p();let M=0;try{M=h(z,4*u);const R=d.jg(A,w,t,M,u);y(M,z,4*u);return R}finally{m(M,4*u),q(E)}},target_view:(A,w,t)=>{const z=p();let u=0;try{u=h(w,4*t);const E=d.Jg(A,u,t);y(u,w,4*t);return E}finally{m(u,\n4*t),q(z)}},pass_begin:(A,w,t,z)=>{const u=p();let E=0,M=0;try{return E=h(A,w),M=h(t,z),d.mg(E,w,M,z)}finally{m(M,z),m(E,w),q(u)}},pass_set_pipeline:d.ug,pass_set_vertex_buffer:d.xg,pass_set_index_buffer:d.tg,pass_set_bind_group:(A,w,t,z,u)=>{const E=p();let M=0;try{M=h(z,u),d.rg(A,w,t,M,u)}finally{m(M,u),q(E)}},pass_set_viewport:d.yg,pass_set_scissor:d.vg,pass_set_stencil_reference:d.wg,pass_set_blend_color:d.sg,pass_draw:d.ng,pass_draw_indexed:d.og,pass_finish:d.pg,pass_release:d.qg,image_view:d.lg,\nbuffer_new:(A,w,t,z,u)=>{const E=p();let M=0;try{return M=h(z,u),d.ag(A,w,t,M,u)}finally{m(M,u),q(E)}},buffer_update:(A,w,t,z)=>{const u=p();let E=0;try{E=h(t,z),d.dg(A,w,E,z)}finally{m(E,z),q(u)}},buffer_update_blob:d.eg,buffer_new_blob:d.bg,buffer_release:d.cg,texture_new:(A,w)=>{const t=p();let z=0;try{return z=h(A,w),d.Kg(z,w)}finally{m(z,w),q(t)}},texture_upload:(A,w,t,z,u)=>{const E=p();let M=0,R=0;try{M=h(w,t),R=h(z,u),d.Mg(A,M,t,R,u)}finally{m(R,u),m(M,t),q(E)}},texture_release:d.Lg,sampler_new:(A,\nw)=>{const t=p();let z=0;try{return z=h(A,w),d.Bg(z,w)}finally{m(z,w),q(t)}},sampler_release:d.Cg,texture_view_new:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.Ng(A,u,t)}finally{m(u,t),q(z)}},texture_view_release:d.Og,shader_target:d.Ig,shader_asset_bytes:(A,w,t,z,u)=>{const E=p();let M=0,R=0;try{M=h(w,t);R=h(z,u);const qa=d.Dg(A,M,t,R,u);y(R,z,u);return qa}finally{m(R,u),m(M,t),q(E)}},shader_asset_id:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.Eg(A,u,t)}finally{m(u,t),q(z)}},shader_module_from_asset:(A,\nw,t,z)=>{const u=p();let E=0;try{return E=h(w,t),d.Fg(A,E,t,z)}finally{m(E,t),q(u)}},shader_module_from_rstb:(A,w,t,z)=>{const u=p();let E=0;try{return E=h(A,w),d.Gg(E,w,t,z)}finally{m(E,w),q(u)}},shader_module_release:d.Hg,bind_group_layout_new:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.Xf(A,u,t)}finally{m(u,t),q(z)}},bind_group_layout_release:d.Yf,bind_group_layout_from_shader:(A,w,t,z)=>{const u=p();let E=0;try{return E=h(t,4*z),d.Vf(A,w,E,z)}finally{m(E,4*z),q(u)}},bind_group_layout_from_shaders:(A,\nw,t,z,u)=>{const E=p();let M=0;try{return M=h(z,4*u),d.Wf(A,w,t,M,u)}finally{m(M,4*u),q(E)}},bind_group_layout_from_entries:(A,w,t,z,u,E,M)=>{const R=p();let qa=0,Da=0;try{return qa=h(w,t),Da=h(u,E),d.Uf(A,qa,t,z,Da,E,M)}finally{m(Da,E),m(qa,t),q(R)}},bind_group_new:(A,w,t,z,u,E,M)=>{const R=p();let qa=0,Da=0,Oa=0;try{return qa=h(w,t),Da=h(z,u),Oa=h(E,M),d.Zf(A,qa,t,Da,u,Oa,M)}finally{m(Oa,M),m(Da,u),m(qa,t),q(R)}},bind_group_release:d.$f,pipeline_new:(A,w,t,z)=>{const u=p();let E=0,M=0;try{return E=\nh(A,w),M=h(t,z),d.zg(E,w,M,z)}finally{m(M,z),m(E,w),q(u)}},pipeline_release:d.Ag},rive_mat4_v1:(null===f||\"rive_mat4_v1\"===f)&&{multiply:(A,w,t,z,u,E)=>{const M=p();let R=0,qa=0,Da=0;try{R=h(A,w),qa=h(t,z),Da=h(u,E),d.jh(R,w,qa,z,Da,E),y(R,A,w)}finally{m(Da,E),m(qa,z),m(R,w),q(M)}},invert:(A,w,t,z)=>{const u=p();let E=0,M=0;try{E=h(A,w);M=h(t,z);const R=d.ih(E,w,M,z);y(E,A,w);return R}finally{m(M,z),m(E,w),q(u)}}},rive_buffer_v1:(null===f||\"rive_buffer_v1\"===f)&&{\"new\":d.Ud,update:(A,w,t)=>{const z=\np();let u=0;try{u=h(w,t),d.Wd(A,u,t)}finally{m(u,t),q(z)}},release:d.Vd},rive_mesh_instances_v1:(null===f||\"rive_mesh_instances_v1\"===f)&&{\"new\":d.uh,resize:d.wh,update:(A,w,t,z)=>{const u=p();let E=0;try{E=h(t,z),d.xh(A,w,E,z)}finally{m(E,z),q(u)}},release:d.vh},rive_blob_v1:(null===f||\"rive_blob_v1\"===f)&&{asset_bytes:(A,w,t,z,u)=>{const E=p();let M=0,R=0;try{M=h(w,t);R=h(z,u);const qa=d.Td(A,M,t,R,u);y(R,z,u);return qa}finally{m(R,u),m(M,t),q(E)}}},rive_image_v1:(null===f||\"rive_image_v1\"===f)&&\n{from_asset:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.Rg(A,u,t)}finally{m(u,t),q(z)}},width:d.Ug,height:d.Sg,release:d.Tg,decode:(A,w,t)=>{const z=p();let u=0;try{return u=h(A,w),d.Pg(u,w,t)}finally{m(u,w),q(z)}},decode_cancel:d.Qg},rive_font_v1:(null===f||\"rive_font_v1\"===f)&&{from_asset:(A,w,t)=>{const z=p();let u=0;try{return u=h(w,t),d.Lf(A,u,t)}finally{m(u,t),q(z)}},decode:(A,w)=>{const t=p();let z=0;try{return z=h(A,w),d.Jf(z,w)}finally{m(z,w),q(t)}},release:d.Rf,metrics:(A,w,t)=>\n{const z=p();let u=0;try{u=h(w,4*t),d.Qf(A,u,t),y(u,w,4*t)}finally{m(u,4*t),q(z)}},weight:d.Sf,is_italic:d.Pf,axis_count:d.Hf,axis:(A,w,t,z)=>{const u=p();let E=0;try{E=h(t,4*z),d.Gf(A,w,E,z),y(E,t,4*z)}finally{m(E,4*z),q(u)}},axis_value:d.If,features:(A,w,t)=>{const z=p();let u=0;try{u=h(w,4*t);const E=d.Kf(A,u,t);y(u,w,4*t);return E}finally{m(u,4*t),q(z)}},has_glyph:d.Of,with_options:(A,w,t,z,u)=>{const E=p();let M=0,R=0;try{return M=h(w,4*t),R=h(z,4*u),d.Tf(A,M,t,R,u)}finally{m(R,4*u),m(M,4*t),\nq(E)}},glyph_verbs:(A,w,t,z)=>{const u=p();let E=0;try{E=h(t,z);const M=d.Nf(A,w,E,z);y(E,t,z);return M}finally{m(E,z),q(u)}},glyph_points:(A,w,t,z)=>{const u=p();let E=0;try{E=h(t,4*z);const M=d.Mf(A,w,E,z);y(E,t,4*z);return M}finally{m(E,4*z),q(u)}}},rive_text_v1:(null===f||\"rive_text_v1\"===f)&&{\"new\":d.ej,release:d.fj,append:(A,w,t,z,u,E,M,R,qa)=>{const Da=p();let Oa=0;try{Oa=h(w,t),d.Vi(A,Oa,t,z,u,E,M,R,qa)}finally{m(Oa,t),q(Da)}},clear:d.Yi,layout:(A,w,t)=>{const z=p();let u=0;try{u=h(w,t),d.bj(A,\nu,t)}finally{m(u,t),q(z)}},draw:d.Zi,bounds:(A,w,t)=>{const z=p();let u=0;try{u=h(w,4*t),d.Wi(A,u,t),y(u,w,4*t)}finally{m(u,4*t),q(z)}},length:d.cj,lines:(A,w,t)=>{const z=p();let u=0;try{u=h(w,4*t);const E=d.dj(A,u,t);y(u,w,4*t);return E}finally{m(u,4*t),q(z)}},runs:(A,w,t)=>{const z=p();let u=0;try{u=h(w,4*t);const E=d.gj(A,u,t);y(u,w,4*t);return E}finally{m(u,4*t),q(z)}},glyphs:(A,w,t)=>{const z=p();let u=0;try{u=h(w,4*t);const E=d.$i(A,u,t);y(u,w,4*t);return E}finally{m(u,4*t),q(z)}},hit_test:d.aj,\ncaret:(A,w,t,z)=>{const u=p();let E=0;try{E=h(t,4*z);const M=d.Xi(A,w,E,z);y(E,t,4*z);return M}finally{m(E,4*z),q(u)}},selection_rects:(A,w,t,z,u)=>{const E=p();let M=0;try{M=h(z,4*u);const R=d.hj(A,w,t,M,u);y(M,z,4*u);return R}finally{m(M,4*u),q(E)}}},rive_shader_v1:(null===f||\"rive_shader_v1\"===f)&&{linear:d.mi,radial:d.ni,release:d.oi},rive_test_v1:(null===f||\"rive_test_v1\"===f)&&{blob:(A,w,t,z)=>{const u=p();let E=0,M=0;try{E=h(A,w);M=h(t,z);const R=d.Ui(E,w,M,z);y(M,t,z);return R}finally{m(M,\nz),m(E,w),q(u)}}},rive_transition_v1:(null===f||\"rive_transition_v1\"===f)&&{child_draw:d.jj,child_width:d.lj,child_height:d.kj},rive_renderer_v1:(null===f||\"rive_renderer_v1\"===f)&&{save:d.$h,restore:d.Zh,transform:d.ai,draw_path:d.Wh,clip_path:d.Sh,modulate_opacity:d.Yh,modulate_color:d.Xh,draw_image:d.Th,draw_image_mesh:d.Uh,draw_image_mesh_instanced:d.Vh},rive_net_v1:(null===f||\"rive_net_v1\"===f)&&{fetch:(A,w,t)=>{const z=p();let u=0;try{return u=h(A,w),d.yh(u,w,t)}finally{m(u,w),q(z)}},fetch_cancel:d.zh},\nrive_file_v1:(null===f||\"rive_file_v1\"===f)&&{decode:(A,w,t,z)=>{const u=p();let E=0,M=0;try{E=h(A,w);M=h(t,4*z);const R=d.Ef(E,w,M,z);y(M,t,4*z);return R}finally{m(M,4*z),m(E,w),q(u)}},release:d.Ff,artboard_count:d.xf,artboard_name:(A,w,t,z)=>{const u=p();let E=0;try{E=h(t,z);const M=d.yf(A,w,E,z);y(E,t,z);return M}finally{m(E,z),q(u)}},bindable:(A,w,t,z)=>{const u=p();let E=0;try{return E=h(w,t),d.zf(A,E,t,z)}finally{m(E,t),q(u)}},bindable_release:d.Df,bindable_name:(A,w,t)=>{const z=p();let u=\n0;try{u=h(w,t);const E=d.Cf(A,u,t);y(u,w,t);return E}finally{m(u,t),q(z)}},bindable_data:d.Af,bindable_equal:d.Bf},rive_lanes_v1:(null===f||\"rive_lanes_v1\"===f)&&{start:(A,w,t,z,u,E)=>{const M=p();let R=0,qa=0;try{return R=h(t,z),qa=h(u,4*E),d.bh(A,w,R,z,qa,E)}finally{m(qa,4*E),m(R,z),q(M)}},state:d.dh,failed:(A,w,t)=>{const z=p();let u=0;try{u=g(w,t);const E=d.Zg(A,u,t);y(u,w,E>>>0<=t?E>>>0:0);return E}finally{m(u,t),q(z)}},stop:d.eh,release:d.$g,result:d.ah,watch:d.hh,wait:d.fh,cancel_wait:d.Yg,\nwait_within:d.gh},rive_jobs_v1:(null===f||\"rive_jobs_v1\"===f)&&{threads:d.Xg,join:d.Vg,join_any:(A,w,t)=>{const z=p();let u=0;try{return u=h(A,4*w),d.Wg(u,w,t)}finally{m(u,4*w),q(z)}}},rive_shared_v1:(null===f||\"rive_shared_v1\"===f)&&{region_create:d.yi,region_size:d.Ci,region_lock:d.zi,region_unlock:d.Di,region_read:(A,w,t,z)=>{const u=p();let E=0;try{E=g(t,z);const M=d.Bi(A,w,E,z);y(E,t,0!==M?z:0);return M}finally{m(E,z),q(u)}},region_write:(A,w,t,z)=>{const u=p();let E=0;try{return E=h(t,z),d.Ei(A,\nw,E,z)}finally{m(E,z),q(u)}},region_poisoned:d.Ai,atomic_load:d.si,atomic_store:d.ti,atomic_add:d.pi,atomic_cas:d.ri,ring_create:d.Hi,ring_write:(A,w,t,z,u)=>{const E=p();let M=0,R=0;try{return M=h(w,t),R=h(z,4*u),d.Mi(A,M,t,R,u)}finally{m(R,4*u),m(M,t),q(E)}},ring_read:(A,w,t)=>{const z=p();let u=0;try{u=g(w,t);const E=d.Ji(A,u,t);A=E-1;y(u,w,A>>>0<=t?A>>>0:0);return E}finally{m(u,t),q(z)}},ring_drop:d.Ii,ring_used:d.Li,ring_signal:d.Ki,snapshot_create:d.Qi,snapshot_publish:(A,w,t,z,u)=>{const E=\np();let M=0,R=0;try{return M=h(w,t),R=h(z,4*u),d.Ri(A,M,t,R,u)}finally{m(R,4*u),m(M,t),q(E)}},snapshot_read:(A,w,t)=>{const z=p();let u=0;try{u=g(w,t);const E=d.Si(A,u,t);A=E-1;y(u,w,A>>>0<=t?A>>>0:0);return E}finally{m(u,t),q(z)}},snapshot_seq:d.Ti,read_done:d.xi,signal_create:d.Ni,signal_notify:d.Oi,signal_seq:d.Pi,blob_create:(A,w)=>{const t=p();let z=0;try{return z=h(A,w),d.ui(z,w)}finally{m(z,w),q(t)}},blob_size:d.wi,blob_read:(A,w,t,z)=>{const u=p();let E=0;try{E=g(t,z);const M=d.vi(A,w,E,z);\ny(E,t,M>>>0<=z?M>>>0:0);return M}finally{m(E,z),q(u)}},retain:d.Gi,release:d.Fi}}}function e(r,a,f=null){const d=a.ya??{i:!1},p=()=>{const k=Error(a.j);a.j=null;throw k;},q=()=>{throw Error(\"librive faulted in a nested script call\");},v=()=>{throw Error(\"script VM was released\");};return{hi:(null===f||\"rive_rt_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(0)),ii:(null===f||\"rive_rt_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;\ntry{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(1)),bi:(null===f||\"rive_rt_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(2)),fi:(null===f||\"rive_rt_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(3)),ci:(null===f||\"rive_rt_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(4)),\nei:(null===f||\"rive_rt_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(5)),di:(null===f||\"rive_rt_v1\"===f)&&(k=>()=>{0===a.g&&v();d.i&&d.l++;try{k(a.g)}catch(g){var b=g;a.h=!0;throw b;}a.h&&q();null!==a.j&&p()})(r(6)),ki:(null===f||\"rive_rt_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(7)),gi:(null===f||\"rive_rt_v1\"===f)&&(k=>b=>{0===\na.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(8)),li:(null===f||\"rive_rt_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(9)),af:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(10)),Ve:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;\nlet g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(11)),Be:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(12)),Ce:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(13)),qe:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;\ntry{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(14)),re:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(15)),te:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(16)),se:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=\ng,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(17)),De:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(18)),Re:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p();return y})(r(19)),rf:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();\nnull!==a.j&&p()})(r(20)),pf:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(21)),ff:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(22)),sf:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();\nnull!==a.j&&p();return m})(r(23)),uf:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(24)),gf:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(25)),vf:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&\nq();null!==a.j&&p();return m})(r(26)),qf:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h,m,y)=>{0===a.g&&v();d.i&&d.l++;let K;try{K=k(a.g,b,g,h,m,y)}catch(T){throw b=T,a.h=!0,b;}a.h&&q();null!==a.j&&p();return K})(r(27)),mf:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(28)),tf:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;\n}a.h&&q();null!==a.j&&p();return g})(r(29)),jf:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(30)),bf:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(31)),nf:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&\nq();null!==a.j&&p();return m})(r(32)),hf:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(33)),lf:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(34)),kf:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,\nb;}a.h&&q();null!==a.j&&p();return m})(r(35)),ef:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(36)),df:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(37)),Ee:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;\n}a.h&&q();null!==a.j&&p();return g})(r(38)),Fe:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(39)),ye:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(40)),Ae:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(41)),\nze:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(42)),ke:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(43)),ie:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(44)),je:(null===f||\"rive_data_v1\"===\nf)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(45)),le:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(46)),he:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(47)),fe:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;\nlet g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(48)),ge:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(49)),ve:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(50)),we:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h)}catch(m){throw b=\nm,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(51)),xe:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(52)),Ue:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(53)),Ze:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(54)),\nJe:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(55)),Le:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(56)),Ke:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(57)),Pe:(null===f||\"rive_data_v1\"===f)&&\n(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(58)),Ge:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(59)),Qe:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(60)),Ie:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,\nb,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(61)),Me:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(62)),Oe:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(63)),Ne:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&\np()})(r(64)),He:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(65)),cf:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(66)),oe:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(67)),pe:(null===f||\n\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(68)),Se:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(69)),Te:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(70)),me:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&\nd.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(71)),ne:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(72)),Xe:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(73)),We:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,\nb)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(74)),Ye:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(75)),wf:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(76)),$e:(null===f||\"rive_data_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==\na.j&&p()})(r(77)),ue:(null===f||\"rive_data_v1\"===f)&&(k=>(b,g,h,m,y,K)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m,y,K)}catch(T){throw b=T,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(78)),od:(null===f||\"rive_artboard_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(79)),Hc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(80)),Pc:(null===\nf||\"rive_artboard_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(81)),Zc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(82)),Oc:(null===f||\"rive_artboard_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(83)),td:(null===f||\"rive_artboard_v1\"===\nf)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(84)),Yc:(null===f||\"rive_artboard_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(85)),sd:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(86)),rd:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g)=>{0===\na.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(87)),Wc:(null===f||\"rive_artboard_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(88)),qd:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(89)),Nc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,\nb,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(90)),md:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h,m,y)=>{0===a.g&&v();d.i&&d.l++;let K;try{K=k(a.g,b,g,h,m,y)}catch(T){throw b=T,a.h=!0,b;}a.h&&q();null!==a.j&&p();return K})(r(91)),pd:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h,m,y,K,T,A,w)=>{0===a.g&&v();d.i&&d.l++;let t;try{t=k(a.g,b,g,h,m,y,K,T,A,w)}catch(z){throw b=z,a.h=!0,b;}a.h&&q();null!==a.j&&p();return t})(r(92)),Xc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>\n{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(93)),Ic:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(94)),Lc:(null===f||\"rive_artboard_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(95)),Kc:(null===f||\"rive_artboard_v1\"===f)&&(k=>b=>{0===a.g&&v();\nd.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(96)),Jc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(97)),Mc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(98)),Gc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h,m,y,K,T,A)=>{0===a.g&&\nv();d.i&&d.l++;try{k(a.g,b,g,h,m,y,K,T,A)}catch(w){throw b=w,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(99)),$c:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(100)),gd:(null===f||\"rive_artboard_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(101)),kd:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;\ntry{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(102)),hd:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(103)),ld:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(104)),jd:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h)}catch(m){throw b=\nm,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(105)),bd:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(106)),fd:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(107)),ed:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,\na.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(108)),cd:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(109)),ad:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(110)),dd:(null===f||\"rive_artboard_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=\nh,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(111)),nd:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(112)),Rc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(113)),Qc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=\n!0,b;}a.h&&q();null!==a.j&&p()})(r(114)),Sc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(115)),Vc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p();return y})(r(116)),Uc:(null===f||\"rive_artboard_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=\n!0,b;}a.h&&q();null!==a.j&&p();return y})(r(117)),Tc:(null===f||\"rive_artboard_v1\"===f)&&(k=>void 0===k?l(\"rive_artboard_v1\",\"drawable_properties\"):(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(118)),Md:(null===f||\"rive_audio_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(119)),Pd:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&\nv();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(120)),Od:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(121)),Qd:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(122)),Nd:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,\nb)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(123)),ud:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(124)),wd:(null===f||\"rive_audio_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(125)),yd:(null===f||\"rive_audio_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=\nm,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(126)),vd:(null===f||\"rive_audio_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(127)),xd:(null===f||\"rive_audio_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(128)),Rd:(null===f||\"rive_audio_v1\"===f)&&(k=>()=>{0===a.g&&v();d.i&&d.l++;try{var b=k(a.g)}catch(g){throw b=g,a.h=\n!0,b;}a.h&&q();null!==a.j&&p();return b})(r(129)),Sd:(null===f||\"rive_audio_v1\"===f)&&(k=>()=>{0===a.g&&v();d.i&&d.l++;try{var b=k(a.g)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p();return b})(r(130)),zd:(null===f||\"rive_audio_v1\"===f)&&(k=>()=>{0===a.g&&v();d.i&&d.l++;try{var b=k(a.g)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p();return b})(r(131)),Dd:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(132)),\nCd:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(133)),Bd:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(134)),Ed:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(135)),Id:(null===f||\"rive_audio_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&\nd.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(136)),Fd:(null===f||\"rive_audio_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(137)),Gd:(null===f||\"rive_audio_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(138)),Ad:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=\nk(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(139)),Jd:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(140)),Kd:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(141)),Ld:(null===f||\"rive_audio_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=\nh,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(142)),Hd:(null===f||\"rive_audio_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(143)),Nh:(null===f||\"rive_path_v1\"===f)&&(k=>()=>{0===a.g&&v();d.i&&d.l++;try{var b=k(a.g)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p();return b})(r(144)),Qh:(null===f||\"rive_path_v1\"===f)&&(k=>(b,g,h,m,y,K)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m,y,K)}catch(T){throw b=T,a.h=!0,b;}a.h&&\nq();null!==a.j&&p()})(r(145)),Ph:(null===f||\"rive_path_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(146)),Lh:(null===f||\"rive_path_v1\"===f)&&(k=>(b,g,h,m,y,K,T,A)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m,y,K,T,A)}catch(w){throw b=w,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(147)),Rh:(null===f||\"rive_path_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(148)),\nOh:(null===f||\"rive_path_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(149)),Mh:(null===f||\"rive_path_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(150)),qh:(null===f||\"rive_measure_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p();return y})(r(151)),\nlh:(null===f||\"rive_measure_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p();return y})(r(152)),kh:(null===f||\"rive_measure_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(153)),ph:(null===f||\"rive_measure_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(154)),\noh:(null===f||\"rive_measure_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(155)),rh:(null===f||\"rive_measure_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(156)),th:(null===f||\"rive_measure_v1\"===f)&&(k=>(b,g,h,m,y)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m,y)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(157)),mh:(null===\nf||\"rive_measure_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p();return y})(r(158)),nh:(null===f||\"rive_measure_v1\"===f)&&(k=>(b,g,h,m,y)=>{0===a.g&&v();d.i&&d.l++;let K;try{K=k(a.g,b,g,h,m,y)}catch(T){throw b=T,a.h=!0,b;}a.h&&q();null!==a.j&&p();return K})(r(159)),sh:(null===f||\"rive_measure_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(160)),Fh:(null===\nf||\"rive_paint_v1\"===f)&&(k=>()=>{0===a.g&&v();d.i&&d.l++;try{var b=k(a.g)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p();return b})(r(161)),Gh:(null===f||\"rive_paint_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(162)),Jh:(null===f||\"rive_paint_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(163)),Ch:(null===f||\"rive_paint_v1\"===f)&&(k=>(b,g)=>{0===a.g&&\nv();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(164)),Kh:(null===f||\"rive_paint_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(165)),Eh:(null===f||\"rive_paint_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(166)),Bh:(null===f||\"rive_paint_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,\na.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(167)),Ah:(null===f||\"rive_paint_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(168)),Dh:(null===f||\"rive_paint_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(169)),Hh:(null===f||\"rive_paint_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(170)),Ih:(null===\nf||\"rive_paint_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(171)),ae:(null===f||\"rive_canvas_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(172)),be:(null===f||\"rive_canvas_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(173)),de:(null===f||\"rive_canvas_v1\"===f)&&(k=>b=>\n{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(174)),Zd:(null===f||\"rive_canvas_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(175)),ce:(null===f||\"rive_canvas_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(176)),$d:(null===f||\"rive_canvas_v1\"===f)&&(k=>b=>{0===\na.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(177)),Xd:(null===f||\"rive_canvas_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(178)),Yd:(null===f||\"rive_canvas_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(179)),kg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;\ntry{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(180)),hg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(181)),ig:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(182)),fg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=\ny,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(183)),gg:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(184)),jg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,y)=>{0===a.g&&v();d.i&&d.l++;let K;try{K=k(a.g,b,g,h,m,y)}catch(T){throw b=T,a.h=!0,b;}a.h&&q();null!==a.j&&p();return K})(r(185)),Jg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=\ny,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(186)),mg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p();return y})(r(187)),ug:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(188)),xg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m)}catch(y){throw b=y,a.h=!0,b;}a.h&&\nq();null!==a.j&&p()})(r(189)),tg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(190)),rg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,y)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m,y)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(191)),yg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,y,K,T)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m,y,K,T)}catch(A){throw b=A,a.h=!0,b;}a.h&&q();null!==a.j&&\np()})(r(192)),vg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,y)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m,y)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(193)),wg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(194)),sg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,y)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m,y)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(195)),ng:(null===f||\"rive_gpu_v1\"===\nf)&&(k=>(b,g,h,m,y)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m,y)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(196)),og:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,y,K)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m,y,K)}catch(T){throw b=T,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(197)),pg:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(198)),qg:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;\ntry{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(199)),lg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(200)),ag:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,y)=>{0===a.g&&v();d.i&&d.l++;let K;try{K=k(a.g,b,g,h,m,y)}catch(T){throw b=T,a.h=!0,b;}a.h&&q();null!==a.j&&p();return K})(r(201)),dg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,\nb,g,h,m)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(202)),eg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,y)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m,y)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(203)),bg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,y)=>{0===a.g&&v();d.i&&d.l++;let K;try{K=k(a.g,b,g,h,m,y)}catch(T){throw b=T,a.h=!0,b;}a.h&&q();null!==a.j&&p();return K})(r(204)),cg:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=\ng,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(205)),Kg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(206)),Mg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,y)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m,y)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(207)),Lg:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&\np()})(r(208)),Bg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(209)),Cg:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(210)),Ng:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(211)),Og:(null===\nf||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(212)),Ig:(null===f||\"rive_gpu_v1\"===f)&&(k=>()=>{0===a.g&&v();d.i&&d.l++;try{var b=k(a.g)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p();return b})(r(213)),Dg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,y)=>{0===a.g&&v();d.i&&d.l++;let K;try{K=k(a.g,b,g,h,m,y)}catch(T){throw b=T,a.h=!0,b;}a.h&&q();null!==a.j&&p();return K})(r(214)),Eg:(null===f||\"rive_gpu_v1\"===f)&&\n(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(215)),Fg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p();return y})(r(216)),Gg:(null===f||\"rive_gpu_v1\"===f)&&(k=>void 0===k?l(\"rive_gpu_v1\",\"shader_module_from_rstb\"):(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();\nnull!==a.j&&p();return y})(r(217)),Hg:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(218)),Xf:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(219)),Yf:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(220)),Vf:(null===\nf||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p();return y})(r(221)),Wf:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,y)=>{0===a.g&&v();d.i&&d.l++;let K;try{K=k(a.g,b,g,h,m,y)}catch(T){throw b=T,a.h=!0,b;}a.h&&q();null!==a.j&&p();return K})(r(222)),Uf:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,y,K,T)=>{0===a.g&&v();d.i&&d.l++;let A;try{A=k(a.g,b,g,h,m,y,K,T)}catch(w){throw b=w,a.h=!0,b;}a.h&&q();null!==a.j&&\np();return A})(r(223)),Zf:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m,y,K,T)=>{0===a.g&&v();d.i&&d.l++;let A;try{A=k(a.g,b,g,h,m,y,K,T)}catch(w){throw b=w,a.h=!0,b;}a.h&&q();null!==a.j&&p();return A})(r(224)),$f:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(225)),zg:(null===f||\"rive_gpu_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&\np();return y})(r(226)),Ag:(null===f||\"rive_gpu_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(227)),jh:(null===f||\"rive_mat4_v1\"===f)&&(k=>(b,g,h,m,y,K)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m,y,K)}catch(T){throw b=T,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(228)),ih:(null===f||\"rive_mat4_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p();return y})(r(229)),\nUd:(null===f||\"rive_buffer_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(230)),Wd:(null===f||\"rive_buffer_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(231)),Vd:(null===f||\"rive_buffer_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(232)),uh:(null===f||\"rive_mesh_instances_v1\"===\nf)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(233)),wh:(null===f||\"rive_mesh_instances_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(234)),xh:(null===f||\"rive_mesh_instances_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(235)),vh:(null===f||\"rive_mesh_instances_v1\"===f)&&\n(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(236)),Td:(null===f||\"rive_blob_v1\"===f)&&(k=>(b,g,h,m,y)=>{0===a.g&&v();d.i&&d.l++;let K;try{K=k(a.g,b,g,h,m,y)}catch(T){throw b=T,a.h=!0,b;}a.h&&q();null!==a.j&&p();return K})(r(237)),Rg:(null===f||\"rive_image_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(238)),Ug:(null===f||\"rive_image_v1\"===f)&&(k=>b=>\n{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(239)),Sg:(null===f||\"rive_image_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(240)),Tg:(null===f||\"rive_image_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(241)),Pg:(null===f||\"rive_image_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;\ntry{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(242)),Qg:(null===f||\"rive_image_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(243)),Lf:(null===f||\"rive_font_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(244)),Jf:(null===f||\"rive_font_v1\"===f)&&(k=>void 0===k?l(\"rive_font_v1\",\"decode\"):(b,g)=>{0===a.g&&\nv();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(245)),Rf:(null===f||\"rive_font_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(246)),Qf:(null===f||\"rive_font_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(247)),Sf:(null===f||\"rive_font_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=\nh,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(248)),Pf:(null===f||\"rive_font_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(249)),Hf:(null===f||\"rive_font_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(250)),Gf:(null===f||\"rive_font_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m)}catch(y){throw b=y,a.h=!0,b;}a.h&&\nq();null!==a.j&&p()})(r(251)),If:(null===f||\"rive_font_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(252)),Kf:(null===f||\"rive_font_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(253)),Of:(null===f||\"rive_font_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==\na.j&&p();return h})(r(254)),Tf:(null===f||\"rive_font_v1\"===f)&&(k=>(b,g,h,m,y)=>{0===a.g&&v();d.i&&d.l++;let K;try{K=k(a.g,b,g,h,m,y)}catch(T){throw b=T,a.h=!0,b;}a.h&&q();null!==a.j&&p();return K})(r(255)),Nf:(null===f||\"rive_font_v1\"===f)&&(k=>void 0===k?l(\"rive_font_v1\",\"glyph_verbs\"):(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p();return y})(r(256)),Mf:(null===f||\"rive_font_v1\"===f)&&(k=>void 0===k?l(\"rive_font_v1\",\"glyph_points\"):\n(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p();return y})(r(257)),ej:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"new\"):()=>{0===a.g&&v();d.i&&d.l++;try{var b=k(a.g)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p();return b})(r(258)),fj:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"release\"):b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(259)),\nVi:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"append\"):(b,g,h,m,y,K,T,A,w)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m,y,K,T,A,w)}catch(t){throw b=t,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(260)),Yi:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"clear\"):b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(261)),bj:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"layout\"):(b,g,h)=>{0===a.g&&v();d.i&&\nd.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(262)),Zi:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"draw\"):(b,g,h)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(263)),Wi:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"bounds\"):(b,g,h)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(264)),cj:(null===f||\"rive_text_v1\"===f)&&\n(k=>void 0===k?l(\"rive_text_v1\",\"length\"):b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(265)),dj:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"lines\"):(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(266)),gj:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"runs\"):(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,\ng,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(267)),$i:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"glyphs\"):(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(268)),aj:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"hit_test\"):(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(269)),Xi:(null===\nf||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"caret\"):(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p();return y})(r(270)),hj:(null===f||\"rive_text_v1\"===f)&&(k=>void 0===k?l(\"rive_text_v1\",\"selection_rects\"):(b,g,h,m,y)=>{0===a.g&&v();d.i&&d.l++;let K;try{K=k(a.g,b,g,h,m,y)}catch(T){throw b=T,a.h=!0,b;}a.h&&q();null!==a.j&&p();return K})(r(271)),mi:(null===f||\"rive_shader_v1\"===f)&&(k=>(b,g,h,m,y,K,T)=>{0===a.g&&v();d.i&&\nd.l++;let A;try{A=k(a.g,b,g,h,m,y,K,T)}catch(w){throw b=w,a.h=!0,b;}a.h&&q();null!==a.j&&p();return A})(r(272)),ni:(null===f||\"rive_shader_v1\"===f)&&(k=>(b,g,h,m,y,K)=>{0===a.g&&v();d.i&&d.l++;let T;try{T=k(a.g,b,g,h,m,y,K)}catch(A){throw b=A,a.h=!0,b;}a.h&&q();null!==a.j&&p();return T})(r(273)),oi:(null===f||\"rive_shader_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(274)),Ui:(null===f||\"rive_test_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&\nv();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p();return y})(r(275)),jj:(null===f||\"rive_transition_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(276)),lj:(null===f||\"rive_transition_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(277)),kj:(null===f||\"rive_transition_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&\nd.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(278)),$h:(null===f||\"rive_renderer_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(279)),Zh:(null===f||\"rive_renderer_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(280)),ai:(null===f||\"rive_renderer_v1\"===f)&&(k=>(b,g,h,m,y,K,T)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m,y,\nK,T)}catch(A){throw b=A,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(281)),Wh:(null===f||\"rive_renderer_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(282)),Sh:(null===f||\"rive_renderer_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(283)),Yh:(null===f||\"rive_renderer_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g)}catch(h){throw b=h,a.h=!0,b;}a.h&&\nq();null!==a.j&&p()})(r(284)),Xh:(null===f||\"rive_renderer_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(285)),Th:(null===f||\"rive_renderer_v1\"===f)&&(k=>(b,g,h,m,y)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m,y)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(286)),Uh:(null===f||\"rive_renderer_v1\"===f)&&(k=>(b,g,h,m,y,K,T,A)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m,y,K,T,A)}catch(w){throw b=w,a.h=!0,b;}a.h&&\nq();null!==a.j&&p()})(r(287)),Vh:(null===f||\"rive_renderer_v1\"===f)&&(k=>(b,g,h,m,y,K,T)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m,y,K,T)}catch(A){throw b=A,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(288)),yh:(null===f||\"rive_net_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(289)),zh:(null===f||\"rive_net_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&\np()})(r(290)),Ef:(null===f||\"rive_file_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p();return y})(r(291)),Ff:(null===f||\"rive_file_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(292)),xf:(null===f||\"rive_file_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(293)),yf:(null===\nf||\"rive_file_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p();return y})(r(294)),zf:(null===f||\"rive_file_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p();return y})(r(295)),Df:(null===f||\"rive_file_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(296)),Cf:(null===f||\"rive_file_v1\"===\nf)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(297)),Af:(null===f||\"rive_file_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(298)),Bf:(null===f||\"rive_file_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(299)),bh:(null===f||\"rive_lanes_v1\"===f)&&\n(k=>(b,g,h,m,y,K)=>{0===a.g&&v();d.i&&d.l++;let T;try{T=k(a.g,b,g,h,m,y,K)}catch(A){throw b=A,a.h=!0,b;}a.h&&q();null!==a.j&&p();return T})(r(300)),dh:(null===f||\"rive_lanes_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(301)),Zg:(null===f||\"rive_lanes_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(302)),eh:(null===f||\"rive_lanes_v1\"===\nf)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(303)),$g:(null===f||\"rive_lanes_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(304)),ah:(null===f||\"rive_lanes_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(305)),hh:(null===f||\"rive_lanes_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;\ntry{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(306)),fh:(null===f||\"rive_lanes_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(307)),Yg:(null===f||\"rive_lanes_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(308)),gh:(null===f||\"rive_lanes_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,\nh)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(309)),Xg:(null===f||\"rive_jobs_v1\"===f)&&(k=>()=>{0===a.g&&v();d.i&&d.l++;try{var b=k(a.g)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p();return b})(r(310)),Vg:(null===f||\"rive_jobs_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(311)),Wg:(null===f||\"rive_jobs_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=\ny,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(312)),yi:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(313)),Ci:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(314)),zi:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=\n!0,b;}a.h&&q();null!==a.j&&p();return h})(r(315)),Di:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(316)),Bi:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p();return y})(r(317)),Ei:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,\nb;}a.h&&q();null!==a.j&&p();return y})(r(318)),Ai:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(319)),si:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(320)),ti:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=\n!0,b;}a.h&&q();null!==a.j&&p();return m})(r(321)),pi:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(322)),ri:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p();return y})(r(323)),Hi:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=\nh,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(324)),Mi:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g,h,m,y)=>{0===a.g&&v();d.i&&d.l++;let K;try{K=k(a.g,b,g,h,m,y)}catch(T){throw b=T,a.h=!0,b;}a.h&&q();null!==a.j&&p();return K})(r(325)),Ji:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(326)),Ii:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,\nb,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(327)),Li:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(328)),Ki:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(329)),Qi:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=\nh,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(330)),Ri:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g,h,m,y)=>{0===a.g&&v();d.i&&d.l++;let K;try{K=k(a.g,b,g,h,m,y)}catch(T){throw b=T,a.h=!0,b;}a.h&&q();null!==a.j&&p();return K})(r(331)),Si:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;let m;try{m=k(a.g,b,g,h)}catch(y){throw b=y,a.h=!0,b;}a.h&&q();null!==a.j&&p();return m})(r(332)),Ti:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=\nh,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(333)),xi:(null===f||\"rive_shared_v1\"===f)&&(k=>()=>{0===a.g&&v();d.i&&d.l++;try{k(a.g)}catch(g){var b=g;a.h=!0;throw b;}a.h&&q();null!==a.j&&p()})(r(334)),Ni:(null===f||\"rive_shared_v1\"===f)&&(k=>()=>{0===a.g&&v();d.i&&d.l++;try{var b=k(a.g)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p();return b})(r(335)),Oi:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(336)),\nPi:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(337)),ui:(null===f||\"rive_shared_v1\"===f)&&(k=>(b,g)=>{0===a.g&&v();d.i&&d.l++;let h;try{h=k(a.g,b,g)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p();return h})(r(338)),wi:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(339)),vi:(null===\nf||\"rive_shared_v1\"===f)&&(k=>(b,g,h,m)=>{0===a.g&&v();d.i&&d.l++;let y;try{y=k(a.g,b,g,h,m)}catch(K){throw b=K,a.h=!0,b;}a.h&&q();null!==a.j&&p();return y})(r(340)),Gi:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;let g;try{g=k(a.g,b)}catch(h){throw b=h,a.h=!0,b;}a.h&&q();null!==a.j&&p();return g})(r(341)),Fi:(null===f||\"rive_shared_v1\"===f)&&(k=>b=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b)}catch(g){throw b=g,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(342)),ee:(null===f||\"env\"===f)&&\n(k=>(b,g,h)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h)}catch(m){throw b=m,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(343)),ij:(null===f||\"env\"===f)&&(k=>(b,g,h,m,y,K,T,A)=>{0===a.g&&v();d.i&&d.l++;try{k(a.g,b,g,h,m,y,K,T,A)}catch(w){throw b=w,a.h=!0,b;}a.h&&q();null!==a.j&&p()})(r(344))}}function l(r,a){return()=>{throw Error(\"failed to call unlinked import function \"+r+\".\"+a);}}function n(r,a,f){if(a+f>r.byteLength)throw Error(\"out of bounds memory access\");}function x(r,a){a>>>=0;if(4>a)return 0;n(r,\na,0);const f=(new DataView(r)).getUint32(a-4,!0);n(r,a,f);return f}function B(r,a,f){a>>>=0;f>>>=0;n(r,a,f);if(\"undefined\"!==typeof TextDecoder)return(new TextDecoder(\"utf-16le\",{ignoreBOM:!0})).decode(new Uint8Array(r,a,f));r=0===a%2?new Uint16Array(r,a,f>>1):new Uint16Array(r.slice(a,a+f-f%2));a=\"\";for(f=0;f<r.length;f+=4096)a+=String.fromCharCode.apply(null,r.subarray(f,f+4096));return a}function D(r,a){let f=kd.get(a);if(void 0===f){for(let d=0;32>d&&void 0===f;d++){const p=a+16+4*d>>>2;0===Atomics.compareExchange(r,\np,0,1)&&(f={ha:p,cb:2+d})}f??={ha:-1,cb:34+Atomics.add(r,a+144>>>2,1)};kd.set(a,f)}return f}function F(r,a,f,d,p=null,q=()=>{}){a>>>=0;const v=f%4294967296,k=Math.floor(f/4294967296);let b=null,g=null,h=null,m=null,y=null,K=null;const T=()=>{const H=r();H!==b&&(b=H,g=new Uint8Array(b),h=new Int32Array(b),m=new Uint32Array(b))};T();const A=D(h,a);null!==p&&Atomics.store(p,2,A.cb);const w=(H,X)=>{const Y=d().buffer;Y!==y&&(y=Y,K=new Uint8Array(Y));return H+X<=K.length?K:null},t=(H,X,Y,aa,da)=>{for(let ea=\n0;ea<da;ea++)H[X+ea]=Y[aa+ea]},z=H=>{for(null!==p&&Atomics.store(p,3,H);0!==Atomics.compareExchange(h,H>>>2,0,A.cb););},u=H=>{Atomics.store(h,H>>>2,0);null!==p&&Atomics.store(p,3,0)};let E=0;const M=(H,X)=>{T();H>>>=0;if(0===(H&2147483648))return 0;var Y=(H&2147483647)>>>12,aa=Atomics.load(m,a+148+4*(Y>>>10)>>>2);if(0===aa)return 0;Y=aa+24*(Y&1023);aa=Y>>>2;if(0<=A.ha){if(Atomics.store(m,A.ha,Y),aa=Atomics.load(m,aa),0===(aa&4096)||0!==((aa^H)&4095))return Atomics.store(m,A.ha,1),0}else for(;;){const da=\nAtomics.load(m,aa);if(0===(da&4096)||0!==((da^H)&4095))return 0;if(Atomics.compareExchange(m,aa,da,da+8192)===da)break}E=Y;H=Atomics.load(m,Y+4>>>2);return m[H>>>2]!==X||m[Y+16>>>2]!==v||m[Y+20>>>2]!==k?(R(),0):H},R=()=>{0<=A.ha?Atomics.store(m,A.ha,1):Atomics.sub(m,E+0>>>2,8192)},qa=H=>{H=M(H,3);if(0!==H){4294967295===Atomics.add(m,H+24>>>2,1)&&Atomics.add(m,H+28>>>2,1);z(H+4);try{const X=m[H+16>>>2],Y=m[H+32>>>2]>>>2;for(let aa=0;aa<X;aa++){const da=m[Y+aa]+0>>>2;Atomics.add(h,da,1);Atomics.notify(h,\nda)}}finally{u(H+4),R()}}},Da=(H,X,Y,aa,da)=>{const ea=Math.min(da,m[H+8>>>2]-X);t(g,H+32+X,Y,aa,ea);t(g,H+32,Y,aa+ea,da-ea)},Oa=(H,X,Y,aa,da)=>{var ea=m[H+8>>>2];X%=ea;ea=Math.min(da,ea-X);t(Y,aa,g,H+32+X,ea);t(Y,aa+ea,g,H+32,da-ea)},sb=new Uint8Array(4),Fb=new Uint32Array(sb.buffer),Ya=()=>{q(\"a processor cannot pass shared objects through rings or snapshots, as the audio thread may not hold or give them back; pass them in Audio.start's argument\");return 0},ia=(H,X,Y,aa)=>{H=M(H,1);if(0===H)return 0;\nlet da=0,ea=0;z(H+4);try{const Ga=m[H+20>>>2];if(0===Ga)return 0;const Ea=m[H+16>>>2];Oa(H,Ea,sb,0,4);ea=Fb[0];if(0!==(ea&2147483648))return Ya();if(null===X){if(ea<=aa)return 0}else{if(0===Y||ea>aa)return ea+1;Oa(H,Ea+4,X,Y,ea)}m[H+16>>>2]=(Ea+4+ea)%m[H+8>>>2];m[H+20>>>2]=Ga-4-ea;da=m[H+28>>>2]}finally{u(H+4),R()}qa(da);return ea+1},Ba=(H,X,Y)=>{H=M(H,0);if(0===H)return-1;try{X>>>=0;var aa=0!==(X&3)||X+4>m[H+8>>>2]?-1:H+32+X>>>2;return 0>aa?-1:Y(aa)>>>0}finally{R()}};return{region_create:()=>0,region_size:H=>\n{H=M(H,0);if(0===H)return 0;H=m[H+8>>>2];R();return H},region_lock:()=>0,region_unlock:()=>{},region_read:()=>0,region_write:()=>0,region_poisoned:H=>{H=M(H,0);if(0===H)return 0;H=0!==m[H+16>>>2]?1:0;R();return H},atomic_load:(H,X)=>Ba(H,X,Y=>Atomics.load(h,Y)),atomic_store:(H,X,Y)=>Ba(H,X,aa=>{Atomics.store(h,aa,Y|0);return 0}),atomic_add:(H,X,Y)=>Ba(H,X,aa=>Atomics.add(h,aa,Y|0)),atomic_cas:(H,X,Y,aa)=>Ba(H,X,da=>Atomics.compareExchange(h,da,Y|0,aa|0)),ring_create:()=>0,ring_write:(H,X,Y,aa,da)=>\n{X>>>=0;Y>>>=0;aa=w(X,Y);H=null!==aa?M(H,1):0;if(0===H)return 0;if(0!==da)return R(),Ya();da=0;z(H+4);try{const ea=m[H+8>>>2];if(4+Y>ea)return 2;const Ga=m[H+20>>>2];if(Ga+4+Y>ea)return 0;const Ea=m[H+16>>>2];Fb[0]=Y;Da(H,(Ea+Ga)%ea,sb,0,4);Da(H,(Ea+Ga+4)%ea,aa,X,Y);m[H+20>>>2]=Ga+4+Y;da=m[H+24>>>2]}finally{u(H+4),R()}qa(da);return 1},ring_read:(H,X,Y)=>{X>>>=0;Y>>>=0;const aa=w(X,Y);return null!==aa?ia(H,aa,X,Y):0},ring_drop:(H,X)=>ia(H,null,0,X>>>0),ring_used:H=>{H=M(H,1);if(0===H)return 0;z(H+\n4);const X=m[H+20>>>2];u(H+4);R();return X},ring_signal:(H,X)=>{H=M(H,1);if(0===H)return 0;X=m[H+(0!==X?28:24)>>>2];R();return X},snapshot_create:()=>0,snapshot_publish:(H,X,Y,aa,da)=>{X>>>=0;Y>>>=0;aa=w(X,Y);H=null!==aa?M(H,2):0;if(0===H)return 0;try{const Ga=m[H+8>>>2];if(0!==da)return Ya();if(Y>Ga)return 0;z(H+4);try{da=H+16>>>2;var ea=Atomics.load(m,da);const Ea=H+40>>>2;if(0!==((0!==ea?Atomics.load(m,Ea+ea-1):0)&2147483648))return Ya();ea%=2;const Za=(H+32>>>2)+ea,$a=Atomics.load(m,Za)|1;Atomics.store(m,\nZa,$a);Atomics.load(m,Za);t(g,H+48+ea*Ga,aa,X,Y);Atomics.store(m,Ea+ea,Y);Atomics.store(m,Za,$a+1);Atomics.store(m,da,ea+1);4294967295===Atomics.add(m,H+24>>>2,1)&&Atomics.add(m,H+28>>>2,1)}finally{u(H+4)}return 1}finally{R()}},snapshot_read:(H,X,Y)=>{X>>>=0;Y>>>=0;const aa=w(X,Y);H=null!==aa?M(H,2):0;if(0===H)return 0;try{for(;;){const ea=Atomics.load(m,H+16>>>2);if(0===ea)return 0;var da=ea-1;const Ga=(H+32>>>2)+da,Ea=Atomics.load(m,Ga);if(0!==(Ea&1))continue;const Za=Atomics.load(m,(H+40>>>2)+\nda),$a=m[H+8>>>2];da=H+48+da*$a;const Zb=0!==(Za&2147483648),kb=Math.min(Za,$a);!Zb&&0!==X&&kb<=Y&&t(aa,X,g,da,kb);if(Atomics.compareExchange(m,Ga,Ea,Ea)===Ea)return Zb?Ya():kb+1}}finally{R()}},snapshot_seq:H=>{H=M(H,2);if(0===H)return 0;H=4294967296*Atomics.load(m,H+28>>>2)+Atomics.load(m,H+24>>>2);R();return H},signal_create:()=>0,signal_notify:H=>qa(H),signal_seq:H=>{H=M(H,3);if(0===H)return 0;H=4294967296*Atomics.load(m,H+28>>>2)+Atomics.load(m,H+24>>>2);R();return H},blob_create:()=>0,blob_size:H=>\n{H=M(H,4);if(0===H)return 0;H=m[H+8>>>2];R();return H},blob_read:(H,X,Y,aa)=>{X>>>=0;Y>>>=0;aa>>>=0;const da=w(Y,aa);H=null!==da?M(H,4):0;if(0===H)return 0;const ea=m[H+8>>>2];aa=X<ea?Math.min(aa,ea-X):0;t(da,Y,g,H+16+X,aa);R();return aa},retain:()=>0,release:()=>{}}}function J(r,a,f){const d=Atomics.load(f,2);2>d||(r=new Int32Array(r()),f=Atomics.load(f,3),0!==f&&Atomics.compareExchange(r,f>>>2,d,0),34>d&&Atomics.store(r,((a>>>0)+16>>>2)+d-2,0))}function O(r){return String(r?.message??r)}function Q(r,\na,f=new Map){const d=v=>{const k=r().buffer;return B(k,v,x(k,v))},p={};for(var q of ya)p[q]=v=>a(d(v));q=v=>k=>{k=d(k);const b=f.get(k);void 0===b?a(`Timer '${k}' does not exist`):(v&&f.delete(k),a(`${k}: ${(lb()-b).toFixed(3)}ms`))};p[\"console.time\"]=v=>f.set(d(v),lb());p[\"console.timeLog\"]=q(!1);p[\"console.timeEnd\"]=q(!0);return p}function U(r){let a=null,f=null;const d=q=>f??O(q),p={env:Q(()=>a,r.log,r.Ja),rive_shared_v1:r.ab(()=>a),rive_lane_v1:{error:(q,v)=>{f=B(a.buffer,q,v);r.xc?.(f)},fuel_check:r.Ta??\nQe}};void 0!==r.Za&&(p[r.Za]=r.sb(()=>a));try{const q=(new WebAssembly.Instance(r.module,p)).exports;a=q.memory;return{exports:q,memory:a,Sa:d}}catch(q){return{error:f??O(q)}}}function V(r,a,f=!1){try{const d=r.exports;d[f?\"__riveLaneReset\":\"__riveLiftedStart\"]?.();const p=a.input,q=d.__rive_lane_alloc(p.length)>>>0;(new Uint8Array(r.memory.buffer,q,p.length)).set(p);const v=d[a.prefix+a.Ra](q,p.length,...(a.Pa??[]));a.ea&&d.__rive_lane_free(q);return{result:v}}catch(d){return{error:r.Sa(d)}}}function oa(r){const a=\nU(r);r=void 0===a.error?V(a,r):a;return void 0===r.error?{...a,result:r.result}:r}function ra(r,a,f,d,p,q){let v=null;const k=T=>{v??=T};var b=lb()+1E3,g=\"processor init overran its budget\";const h=oa({module:r,ab:T=>p(T,k),log:q,Ta:()=>{if(lb()>b)throw g;},prefix:Gb.processor,Ra:a,input:f,Pa:[d.sampleRate,d.pb,d.channels],ea:!0});if(void 0!==h.error||null!==v)return{error:h.error??v};b=Infinity;g=\"processor overran its block budget\";const m=h.exports,y=h.memory;let K=null;return{la:{Fc(T,A,w,t=0){0<\nt&&(b=lb()+t);try{const z=m.__rive_processor_process(T,A)>>>0;if(null!==v)return v;const u=T*d.channels;if(null===K||K.buffer!==y.buffer||K.byteOffset!==z||K.length!==u)K=new Float32Array(y.buffer,z,u);w(K);m.__riveFrameMinor?.();return null}catch(z){return h.Sa(z)}finally{b=Infinity}}}}}function W(r){r=[0,...r,11];return new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,r.length+2,1,r.length,...r])}function ca(r){let a=0,f=8;const d=()=>{const [g,h]=ha(r,f);f=h;return g},p=()=>{const g=\nr[f++];123===g&&(a=Math.max(a,1));return 99!==g&&100!==g},q=()=>{var g=r[f++];if(253===g)g=d(),a=Math.max(a,256<=g&&275>=g?2:1),11>=g||92===g||93===g?(d()&64&&d(),d()):12===g||13===g?f+=16:21<=g&&34>=g?f+=1:84<=g&&91>=g&&(d()&64&&d(),d(),f+=1);else if(252===g){g=d();if(g>=ld.length)return!1;for(let h=0;h<ld[g];h++)d()}else if(254===g)3===d()?f+=1:(d()&64&&d(),d());else if(40<=g&&62>=g)d()&64&&d(),d();else if(2<=g&&4>=g)123===r[f]&&(a=Math.max(a,1)),d();else if(14===g)for(g=d();0<=g&&f<r.length;g--)d();\nelse if(28===g)for(g=d();0<g&&f<r.length;g--){if(!p())return!1}else if(17===g||19===g)d(),d();else if(67===g||68===g)f+=67===g?4:8;else if(32<=g&&38>=g||Re.includes(g))d();else if(!(1>=g||5===g||11===g||15===g||26===g||27===g||209===g||69<=g&&196>=g))return!1;return!0};for(;f<r.length;){var v=r[f];const [g,h]=ha(r,f+1);f=h;if(1===v)for(v=d();0<v&&f<r.length;v--){if(96!==r[f++])return-1;for(var k=0;2>k;k++)for(var b=d();0<b&&f<r.length;b--)if(!p())return-1}else if(10===v)for(v=d();0<v&&f<r.length;v--){k=\nMath.min(d()+f,r.length);for(b=d();0<b&&f<k;b--)if(d(),!p())return-1;for(;f<k;)if(!q())return-1}f=h+g}return a}function ha(r,a){let f=0,d=0,p;do p=r[a++],f|=(p&127)<<d,d+=7;while(p&128);return[f>>>0,a]}function fa(r){const a=[];do{const f=r&127;r>>>=7;a.push(r?f|128:f)}while(r);return a}function la(r){const a=[];for(let f=8;f<r.length;){const [d,p]=ha(r,f+1);a.push({id:r[f],at:f,body:p,end:p+d});f=p+d}return a}function xa(r){const a=[];for(const f of la(r)){if(0!==f.id)continue;const [d,p]=ha(r,f.body);\nSe.some(q=>q.length===d&&q.every((v,k)=>r[p+k]===v))&&a.push(r.subarray(p+d,f.end))}return a}function ta(r){var a=la(r);const f=a.find(v=>8===v.id);var d=a.filter(v=>v!==f);if(void 0===f||!d.some(v=>7===v.id))return r;const p=ha(r,f.body)[0];a=[r.subarray(0,8)];for(var q of d){d=r.subarray(q.body,q.end);if(7===q.id){const [v,k]=ha(r,q.body);d=Array.from(\"__riveLiftedStart\",b=>b.charCodeAt(0));d=Uint8Array.from([...fa(v+1),...r.subarray(k,q.end),...fa(d.length),...d,0,...fa(p)])}a.push(Uint8Array.from([q.id,\n...fa(d.length)]),d)}r=new Uint8Array(a.reduce((v,k)=>v+k.length,0));q=0;for(const v of a)r.set(v,q),q+=v.length;return r}function ab(r,a,f,d){switch(d){case 0:return r();case 1:return r(a[f]);case 2:return r(a[f],a[f+1]);case 3:return r(a[f],a[f+1],a[f+2]);case 4:return r(a[f],a[f+1],a[f+2],a[f+3]);case 5:return r(a[f],a[f+1],a[f+2],a[f+3],a[f+4]);case 6:return r(a[f],a[f+1],a[f+2],a[f+3],a[f+4],a[f+5]);case 7:return r(a[f],a[f+1],a[f+2],a[f+3],a[f+4],a[f+5],a[f+6]);case 8:return r(a[f],a[f+1],a[f+\n2],a[f+3],a[f+4],a[f+5],a[f+6],a[f+7]);default:return r(...a.subarray(f,f+d))}}const ya=[\"console.log\",\"console.debug\",\"console.info\",\"console.warn\",\"console.error\"],va=[[\"rive_lanes_v1\",\"wait_within\",[],\"blocks on a signal, which only the main lane may; a worker awaits Signal.next or Port.receive instead\"],[\"rive_shared_v1\",\"region_lock\",[\"job\",\"worker\"],\"locks a shared region, which the audio thread may not wait on; share through atomics, rings and snapshots instead\"],[\"rive_shared_v1\",\"read_done\",\n[],null],[\"rive_shared_v1\",null,[\"job\",\"worker\",\"processor\"],null],[\"rive_lane_v1\",null,[\"job\",\"worker\",\"processor\"],null],[\"rive_job_v1\",null,[\"job\"],null],[\"rive_worker_v1\",null,[\"worker\"],null],[\"env\",\"console.log\",[\"job\",\"worker\",\"processor\"],null],[\"env\",\"console.debug\",[\"job\",\"worker\",\"processor\"],null],[\"env\",\"console.info\",[\"job\",\"worker\",\"processor\"],null],[\"env\",\"console.warn\",[\"job\",\"worker\",\"processor\"],null],[\"env\",\"console.error\",[\"job\",\"worker\",\"processor\"],null],[\"env\",\"console.time\",\n[\"job\",\"worker\"],null],[\"env\",\"console.timeLog\",[\"job\",\"worker\"],null],[\"env\",\"console.timeEnd\",[\"job\",\"worker\"],null]],tb=[[\"rive.jobs\",\"job\"],[\"rive.workers\",\"worker\"],[\"rive.audio\",\"processor\"]],Gb={job:\"__rive_job_\",worker:\"__rive_worker_\",processor:\"__rive_processor_\"},md={starting:0,running:1,done:2,failed:3,stopped:4},kd=new Map,lb=void 0!==globalThis.performance?()=>globalThis.performance.now():Date.now,Qe=()=>{},tc=[253,12,...Array(16).fill(0)],Te=W([...tc]),Ue=W([...tc,...tc,253,128,2]),\nld=[0,0,0,0,0,0,0,0,2,1,2,1,2,1,2,1,1,1],Re=[12,13,16,18,63,64,65,66,208,210],Se=tb.map(([r])=>Array.from(r,a=>a.charCodeAt(0)));(function(r){function a(C,I=null){return{Sb:e(ia.pc,C,I),Y:ia.Y,na:ia.na,Ga:ia.Ga,ma:ia.ma,Ya:ia.Ya,ea:ia.ea,ya:H}}function f(C){aa??={Ab:X(Te),yb:X(Ue)};C=[C,...xa(C)];if(aa.Ab&&aa.yb||C.every(I=>X(I)))return null;C=Math.max(...C.map(ca));return!aa.Ab&&0<C?\"this browser lacks WebAssembly SIMD, so this file's scripts are off; bake with wasmSimd: off to support it\":aa.yb||\n2!==C?null:\"this browser lacks WebAssembly relaxed SIMD, so this file's scripts are off; bake with wasmSimd: on to support it\"}function d(C,I){const P=c(a(C.I),()=>{if(null===C.memory)throw Error(\"script passed memory to the host while its module was still starting\");return C.memory});for(const S of WebAssembly.Module.imports(I))if(\"function\"===S.kind){let ba,ja,na,ka;(na=(ba=P)[ja=S.module]??(ba[ja]={}))[ka=S.name]??(na[ka]=l(S.module,S.name))}return P}function p(C,I){const P=ia.na();for(const {name:S}of WebAssembly.Module.exports(I)){if(!S.startsWith(\"__rive\"))continue;\nI=3*S.length+1;const ba=ia.Ga(I);ia.Fb(S,ba,I);ia.exports._rive_web_vm_module_export(C.I.g,ba)}ia.ma(P);C=ia.exports._rive_web_vm_start_refusal(C.I.g);if(0!==C)throw Error(ia.qa(C));}function q(C,I){C.memory=I.exports.memory;C.W=null;C.Rb=Object.keys(I.exports).filter(pa=>pa.startsWith(\"__riveCall\")).map(pa=>I.exports[pa]).filter(pa=>{if(!(pa instanceof WebAssembly.Global))return!1;try{return pa.value=pa.value,!0}catch{return!1}});C.Qb=[];const P=ia.exports._rive_web_vm_start_fuel(C.I.g),S=I.exports.__riveFuelArm,\nba=I.exports.__riveFuelEnd,ja=0<P&&void 0!==S&&void 0!==ba,na=ia.exports._rive_web_vm_booting;na(C.I.g);const ka=ia.na();C.instance=I;try{ja&&S(P),I.exports.__riveLiftedStart?.(),ja&&ba()}catch(pa){throw C.instance=null,ia.ma(ka),C.I.j=null,pa;}finally{na(0)}}async function v(C){try{const S=await WebAssembly.compile(ta(C.W));if(0!==C.I.g){p(C,S);var I=m(S),P=await WebAssembly.instantiate(S,d(C,S));await I;0!==C.I.g&&q(C,P)}}catch(S){C.error=O(S)}}function k(C,I){if(C.length!==I.length)return!1;for(let P=\n0;P<C.length;P++)if(C[P]!==I[P])return!1;return!0}function b(C,I,P){C={W:C,module:I,error:P,ka:new Set,Va:null};da.push(C);8<da.length&&da.shift();return C}function g(C,I){if(!Ga(C)){b(C,I,null);for(const P of ea())P.postMessage({riveLane:{bytes:C,module:I}})}}function h(C,I){for(const ba of WebAssembly.Module.imports(C)){a:{C=I;var P=ba.module,S=ba.name;for(const [ja,na,ka,pa]of va)if(P===ja&&(null===na||S===na)){C=ka.includes(C)?null:pa??\"\";break a}C=\"\"}if(null!==C)throw Error(\"lane module imports \"+\nba.module+\".\"+ba.name+\", which it cannot reach\");}}function m(C,I=!1){const P=[];for(const [S,ba]of tb)for(const ja of WebAssembly.Module.customSections(C,S)){const na=ta(new Uint8Array(ja));if(Ga(na))continue;const ka=pa=>{h(pa,ba);g(na,pa)};if(I)try{ka(new WebAssembly.Module(na))}catch(pa){}else P.push(WebAssembly.compile(na).then(ka).catch(()=>{}))}return Promise.all(P)}function y(C,I,P){let S=da.find(ba=>ba.ka.has(C));if(void 0===S){const ba=I();S=da.find(ja=>k(ja.W,ba));if(void 0===S){S=b(ba,\nnull,null);try{const ja=new WebAssembly.Module(ba);h(ja,P);S.module=ja}catch(ja){S.error=O(ja)}}S.ka.add(C);8<S.ka.size&&S.ka.delete(S.ka.values().next().value)}return S}function K(C=!1,I=0){return(P,S)=>C?F(()=>ia.Y().buffer,ia.exports._rive_shared_table(),I,P,null,S):c(a({g:1,j:null,h:!1,ya:H},\"rive_shared_v1\"),P,\"rive_shared_v1\").rive_shared_v1}function T(C){C=ia.vc(C);if(null!==C)throw C;}function A(C){const I=C.Va;C.Va=null;if(null!==I)return I.Ja.clear(),I;const P={la:0,jb:null,Ja:new Map,reset:!1};\nreturn Object.assign(P,U({module:C.module,Za:\"rive_job_v1\",sb:()=>({cancelled:()=>P.jb()}),ab:K(),log:S=>ia.Xa(P.la,S),Ja:P.Ja,Ta:()=>T(P.la)}))}function w(){let C=[],I=null;return{$(P){null!==I?I(P):C.push(P)},open(P){I=P;for(const S of C)I(S);C=[]},cc(P){for(const S of C)Ya({id:S.id,kind:\"failed\",text:P});C=[]}}}function t(C){return{numberOfInputs:0,numberOfOutputs:1,outputChannelCount:[2],processorOptions:{memory:ia.memory(),table:ia.exports._rive_shared_table(),counter:C.buffer}}}function z(C){for(const I of[...Ca.Z.keys()])Ya({id:I,\nkind:\"failed\",text:C})}function u(C,I,P,S,ba,ja=ba){let na=!1,ka=-1,pa=0;const Ka=setInterval(()=>{if(\"closed\"===C.state)clearInterval(Ka),ja(\"script audio context closed\");else{var Ha=Atomics.load(I,0),uc=(0<Ca.Z.size||0<pa)&&\"running\"===C.state;pa=Ha===ka&&uc?pa+1:0;ka=Ha;Ha=na?0!==Atomics.load(I,1)?30:S:P;pa>=Ha&&(clearInterval(Ka),ba(na?\"processor stalled the audio thread\":\"script audio worklet never answered\"))}},50);return{ready(){na=!0;pa=0},stop:()=>clearInterval(Ka)}}function E(C,I,P=!0){C.wb.cc(I);\nCa.output===C&&(Ca.output=null);P&&void 0===Ia.audioContext&&C.context.close?.()}function M(C){let I=vc.get(C);void 0===I&&(I={fb:new Int32Array(new SharedArrayBuffer(16)),bb:!1},vc.set(C,I),C.addEventListener(\"statechange\",()=>{\"closed\"!==C.state||I.bb||nd(I.fb)}));return I}function R(){const C=new AudioContext,I=[\"pointerdown\",\"pointerup\",\"keydown\",\"touchend\"],P=()=>C.resume(),S=setTimeout(()=>console.warn(\"script audio waits for a click, tap or key press on the page\"),1E3),ba=()=>{if(\"running\"===\nC.state||\"closed\"===C.state){clearTimeout(S);C.removeEventListener(\"statechange\",ba);for(const ja of I)globalThis.removeEventListener(ja,P,{capture:!0})}};for(const ja of I)globalThis.addEventListener(ja,P,{capture:!0});C.addEventListener(\"statechange\",ba);ba();return C}function qa(){const C=Ia.audioContext??R(),I=w(),P={context:C,$:I.$,ga:new Set,wb:I},S=M(C);let ba=null;const ja=ka=>{Ca.output===P&&(na.stop(),z(ka),E(P,ka,!1))},na=u(C,S.fb,Infinity,20,ka=>{S.bb=!0;ba.port.onmessage=null;ba.port.postMessage({kind:\"end\"});\nba.disconnect();z(ka);E(P,ka,!1)},ja);C.addEventListener(\"statechange\",()=>{\"closed\"===C.state&&ja(\"script audio context closed\")});C.audioWorklet.addModule(Ia.audioWorkletUrl).then(()=>{ba=new AudioWorkletNode(C,\"rive-processors\",t(S.fb));ba.port.onmessage=ka=>Ya(ka.data);ba.connect(C.destination);na.ready();I.open(ka=>ba.port.postMessage(ka))}).catch(ka=>{na.stop();E(P,wc(ka))});return P}function Da(){const C=Ia.audioWorkletUrl;let I=Ia.audioContext;void 0===I&&(globalThis.nrdp.audio.output.open(),\nI=new AudioContext);I.forceStart?.();const P=w(),S={context:I,$:P.$,ga:new Set,wb:P},ba=new Int32Array(new SharedArrayBuffer(16));let ja=null,na=!1,ka=!1;const pa=La=>{if(!ka){ka=!0;Ka.stop();ja?.terminate();if(na){for(const ub=lb()+200;lb()<ub;);nd(ba);z(La)}E(S,La)}},Ka=u(I,ba,40,2,pa),Ha=La=>(...ub)=>{try{La(...ub)}catch($b){pa(wc($b))}},uc=Ha(()=>{(new AudioWorkletNode(I,\"rive-processors\",t(ba))).connect(I.destination);na=!0;Ka.ready();P.open(La=>ja.send(La))});fetch(C).then(La=>{if(!La.ok)throw Error(C+\n\" answered HTTP \"+La.status);return La.text()}).then(La=>{if(!ka){var ub=I.audioWorklet;ub.active=!0;ub.init(Ha(()=>{ka||(ja=globalThis.nrdp.thread.start({url:C,source:La,audio:I}),ja.addEventListener(\"raw-message\",$b=>\"ready\"===$b.kind?uc():Ya($b)))}))}}).catch(La=>pa(wc(La)));return S}function Oa(){let C;(C=Ca).output??(C.output=void 0!==globalThis.nrdp?.audio?.output?Da():qa());return Ca.output}function sb(C){const I=new Set([...Ca.Z.values()].map(P=>P.qb));for(const P of C.ga){if(8>=C.ga.size)break;\nI.has(P)||(C.ga.delete(P),C.$({kind:\"forget\",moduleId:P}))}}function Fb(C,I,P){const S=I.Ub;C.ga.add(I.qb);C.$({...I.start,bytes:P?S.W:null})}function Ya(C){const I=Ca.Z.get(C.id);void 0!==I&&(\"resend\"===C.kind?null!==Ca.output&&Fb(Ca.output,I,!0):ia.Cc(I.yc,Ve[C.kind],C.text??\"\"))}let ia=null;const Ba=new Map,H={i:!1,l:0,wa:0,ua:0,va:0,xa:0},X=r.riveScriptingValidate??(C=>WebAssembly.validate(C)),Y=!0===r.riveScriptingLaneTwin;let aa=null;const da=[];let ea=()=>[];const Ga=C=>da.some(I=>k(I.W,C)),\nEa=C=>{C=C?.riveLane;void 0!==C&&g(C.bytes,C.module)},Za=globalThis.process?.zj?.(\"worker_threads\");!1===Za?.Aj?Za.Dj.i(\"message\",Ea):void 0!==globalThis.WorkerGlobalScope&&globalThis.addEventListener(\"message\",C=>Ea(C.data));const $a=new Map;let Zb=1;const kb=new Map;let We=1;const Ca={output:null,Z:new Map,next:1},nd=C=>J(()=>ia.memory().buffer,ia.exports._rive_shared_table(),C),wc=C=>\"script audio has no worklet: \"+O(C),vc=new WeakMap,Ve={running:md.running,failed:md.failed,log:4294967295},Ia=\n{Nb(C){ia??=C},Ob(C){ea=C},register(C,I){I=I.slice();Ba.set(C,{I:{g:C,j:null,h:!1,ya:H},W:I,instance:null,memory:null,aa:null,error:f(I),names:new Map})},release(C){const I=Ba.get(C);I&&(I.I.g=0,Ba.delete(C))},Bc(){const C=[];for(const I of Ba.values())if(null===I.instance&&null===I.error){let P;(P=I).aa??(P.aa=v(I));C.push(I.aa)}return Promise.all(C)},start(C){C=Ba.get(C);if(!C)return\"script module was never registered\";if(null===C.instance&&null===C.error){if(null!==C.aa)return\"script module is still being prepared\";\ntry{const I=new WebAssembly.Module(ta(C.W));p(C,I);m(I,!0);q(C,new WebAssembly.Instance(I,d(C,I)))}catch(I){C.error=O(I)}}return C.error},aa(C){C=Ba.get(C);return null===C?.instance&&null===C.error&&null!==C.aa?1:0},oc(C,I){return\"function\"===typeof Ba.get(C)?.instance?.exports[ia.qa(I)]?1:0},call(C,I,P,S,ba,ja,na){C=Ba.get(C);if(!C||null===C.instance)return 1;let ka=C.names.get(I);void 0===ka&&(ka=C.instance.exports[ia.qa(I)]??null,C.names.set(I,ka));if(\"function\"!==typeof ka)return 1;I=C.Rb;const pa=\nC.Qb,Ka=pa.length;for(let Ha=0;Ha<I.length;Ha++)pa.push(I[Ha].value);try{const Ha=ab(ka,ia.nb(),S>>3,P);ia.nb()[ba>>3]=\"number\"===typeof Ha?Ha:0;return 0}catch(Ha){return C.I.j=null,ia.Fb(O(Ha),ja,na),C.I.h?3:2}finally{for(P=0;P<I.length;P++)I[P].value=pa[Ka+P];pa.length=Ka}},Dc(C,I){if(C=Ba.get(C))C.I.j=ia.qa(I)},read(C,I,P,S){C=Ba.get(C)?.memory;if(!C||I+S>C.buffer.byteLength)return 0;ia.Y().set(new Uint8Array(C.buffer,I,S),P);H.i&&(H.va+=S);return 1},write(C,I,P,S){C=Ba.get(C)?.memory;if(!C||I+\nS>C.buffer.byteLength)return 0;(new Uint8Array(C.buffer,I,S)).set(ia.Y().subarray(P,P+S));H.i&&(H.xa+=S);return 1},tj(C,I){C=Ba.get(C)?.memory;if(!C||I>=C.buffer.byteLength)return-1;C=(new Uint8Array(C.buffer)).indexOf(0,I);return 0>C?-1:C-I},zc(C){return(C=Ba.get(C)?.memory)?C.buffer.byteLength/65536:0},ec(){const C=[];for(const I of Ba.keys()){const P=ia.exports._rive_web_vm_frame_boundary(I);0!==P&&C.push(ia.qa(P))}return C},Wb(C){H.i=!!C;H.l=0;H.wa=0;H.ua=0;H.va=0;H.xa=0},qc(){return{hostCalls:H.l,\nbytesStaged:H.wa,bytesCopiedOut:H.ua,bytesRead:H.va,bytesWritten:H.xa}},runJob:function(C,I,P,S,ba,ja){I=y(I,P,\"job\");if(null!==I.error)return{ok:!1,error:I.error};P=A(I);if(void 0!==P.error)return{ok:!1,error:P.error};P.la=C;P.jb=ja;C=V(P,{prefix:Gb.job,Ra:S,input:ba},P.reset);if(void 0!==C.error)return{ok:!1,error:C.error};try{const na=P.memory.buffer,ka=new Uint32Array(na,C.result>>>0,2),pa=0===ka[1]?new Uint8Array(0):new Uint8Array(na,ka[0],ka[1]);void 0!==P.exports.__riveLaneReset&&16777216>=\nna.byteLength&&!ja()&&(P.reset=!0,I.Va=P);return{ok:!0,output:pa}}catch(na){return{ok:!1,error:P.Sa(na)}}},workerStart:function(C,I,P,S,ba,ja){I=y(I,P,\"worker\");if(null!==I.error)return{ok:!1,error:I.error};S=oa({module:I.module,Za:\"rive_worker_v1\",sb:na=>({finished:(ka,pa,Ka)=>ja.finished(ka,new Uint8Array(na().buffer,pa>>>0,Ka>>>0)),wait:ja.wait,stopping:ja.sj}),xc:na=>ia.uc(C,na),ab:K(),log:na=>ia.Xa(C,na),Ta:()=>T(C),prefix:Gb.worker,Ra:S,input:ba,ea:!0});if(void 0!==S.error)return{ok:!1,error:S.error};\nba=Zb++;$a.set(ba,{wake:S.exports.__rive_worker_wake,Tb:S.exports.__riveFrameMinor});return{ok:!0,id:ba}},workerWake:function(C,I,P){try{return $a.get(C).wake(I,P),null}catch(S){return O(S)}},workerCollect:function(C){try{return $a.get(C)?.Tb?.(),null}catch(I){return O(I)}},workerEnd:function(C){$a.delete(C)},processorStart:function(C,I,P,S,ba,ja,na){I=y(I,P,\"processor\");if(null!==I.error)return{ok:!1,error:I.error};S=ra(I.module,S,ba,ja,K(Y,na),ka=>ia.Xa(C,ka));if(void 0!==S.error)return{ok:!1,error:S.error};\nba=We++;kb.set(ba,S.la);return{ok:!0,id:ba}},processorRender:function(C,I,P,S){return kb.get(C).Fc(I,P,S)},processorEnd:function(C){kb.delete(C)},audioRefusal:function(){if(void 0===globalThis.nrdp?.audio?.output&&!0!==globalThis.crossOriginIsolated)return\"real time audio needs cross origin isolation\";if(\"undefined\"===typeof SharedArrayBuffer||!(ia.memory().buffer instanceof SharedArrayBuffer))return\"real time audio needs librive built with threads\";if(\"string\"!==typeof Ia.audioWorkletUrl)return\"real time audio needs riveScripting.audioWorkletUrl\";\nif(\"undefined\"===typeof AudioContext)return\"real time audio needs Web Audio\";const C=Ia.audioContext;return\"closed\"===C?.state?\"real time audio cannot start on a closed AudioContext\":vc.get(C)?.bb?\"real time audio stalled the host's AudioContext; hand riveScripting a new one\":null},audioSampleRate:()=>Oa().context.sampleRate,audioStart:function(C,I,P,S,ba,ja,na,ka){const pa=y(I,P,\"processor\");if(null!==pa.error)return{ok:!1,error:pa.error};P=Oa();const Ka=Ca.next++;C={yc:C,qb:I,Ub:pa,start:{kind:\"start\",\nid:Ka,moduleId:I,entry:S,input:ba,format:{sampleRate:ja.sampleRate,maxFrames:ja.pb,channels:ja.channels},hardBlocks:na,sharedOwner:ka}};Ca.Z.set(Ka,C);Fb(P,C,!P.ga.has(I));sb(P);return{ok:!0,id:Ka}},audioStop:function(C){Ca.Z.delete(C);null!==Ca.output&&(Ca.output.$({kind:\"stop\",id:C}),sb(Ca.output))},audioState:()=>({context:Ca.output?.context.state??\"none\",processors:Ca.Z.size})};Ia.prepare=Ia.Bc;Ia.frameBoundary=Ia.ec;Ia.countHostCalls=Ia.Wb;Ia.hostCallCounts=Ia.qc;return r.riveScripting=Ia})(G)})();\nconst Na=G.onRuntimeInitialized;\nG.onRuntimeInitialized=function(){function c(W){this.G=W;this.Ib=W.getContext(\"2d\");this.hb=n;this.P=[];this.ia=0;this.clear=function(){console.assert(0==this.ia);this.P=[];x.delete(this)};this.save=function(){++this.ia;this.P.push(n.save.bind(n))};this.restore=function(){0<this.ia&&(this.P.push(n.restore.bind(n)),--this.ia)};this.transform=function(ca){this.P.push(n.transform.bind(n,ca))};this.align=function(ca,ha,fa,la,xa=1){this.P.push(n.align.bind(n,ca,ha,fa,la,xa))};this.flush=function(){console.assert(0==\nthis.ia);x.add(this);n.gb||l()};this.bindContext=function(){const ca=this.hb;ca&&ca.V&&Pa(ca.V)};this[\"delete\"]=function(){}}function e(W,ca=!1,ha=!1){var fa={alpha:!0,depth:ca||ha,stencil:ca||ha,antialias:ca&&!ha,premultipliedAlpha:!0,preserveDrawingBuffer:0,powerPreference:\"high-performance\",failIfMajorPerformanceCaveat:0,enableExtensionsByDefault:!1,explicitSwapControl:0,renderViaOffscreenBackBuffer:0};ca=W.getContext(\"webgl2\",fa);if(!ca)return null;fa=Qa(ca,fa);Pa(fa);const la=B(W.width,W.height);\nla.V=fa;la.G=W;la.Na=W.width;la.Ma=W.height;la.R=ca;la.Pb=function(){this.V&&Pa(this.V)};var xa=la.delete;la.delete=function(){this.Pb();xa.call(this);var ta=this.V;Ra===Sa[ta]&&(Ra=null);\"object\"==typeof JSEvents&&JSEvents.Ej(Sa[ta].F.canvas);Sa[ta]?.F.canvas&&(Sa[ta].F.canvas.Gb=void 0);Ta(Sa[ta].handle);this.V=this.G=this.Na=this.Ma=this.R=Sa[ta]=null};ha&&la.setInkbleed(!0);return la}function l(){if(n){var W=n.Kb,ca=0,ha=0,fa=0,la=Array(x.size),xa=0;for(var ta of x)ta.ca=Math.min(ta.G.width,W),\nta.ba=Math.min(ta.G.height,W),ta.Ka=ta.ba*ta.ca,ca=Math.max(ca,ta.ca),ha=Math.max(ha,ta.ba),fa+=ta.Ka,la[xa++]=ta;x.clear();if(!(0>=fa)){ca=1<<(0>=ca?0:32-Math.clz32(ca-1));for(ha=1<<(0>=ha?0:32-Math.clz32(ha-1));ha*ca<fa;)ca<=ha?ca*=2:ha*=2;ca=Math.min(ca,W);ha=Math.min(ha,W);la.sort((tb,Gb)=>Gb.Ka-tb.Ka);n.ib||(n.ib=new G.DynamicRectanizer(W),n.Hb=new G.Mat2D);fa=n.ib;xa=n.Hb;for(var ab=0;ab<la.length;){fa.reset(ca,ha);for(ta=ab;ta<la.length;++ta){var ya=la[ta],va=fa.addRect(ya.ca,ya.ba);if(0>va){console.assert(ta>\nab);break}ya.sa=va&65535;ya.ta=va>>16}ya=J.push(fa.drawWidth());va=O.push(fa.drawHeight());console.assert(ya>=fa.drawWidth());console.assert(va>=fa.drawHeight());console.assert(ya<=W);console.assert(va<=W);n.G.width!=ya&&(n.G.width=ya);n.G.height!=va&&(n.G.height=va);n.clear();for(ya=ab;ya<ta;++ya){va=la[ya];n.saveClipRect(va.sa,va.ta,va.sa+va.ca,va.ta+va.ba);xa.xx=va.ca/va.G.width;xa.yy=va.ba/va.G.height;xa.xy=xa.yx=0;xa.tx=va.sa;xa.ty=va.ta;n.transform(xa);for(const tb of va.P)tb();n.restoreClipRect();\nva.P=[]}for(n.flush();ab<ta;++ab)ya=la[ab],va=ya.Ib,va.globalCompositeOperation=\"copy\",va.drawImage(n.G,ya.sa,ya.ta,ya.ca,ya.ba,0,0,ya.G.width,ya.G.height);ab=ta}}}}Na&&Na();let n=null;const x=new Set,B=G.makeRenderer;G.makeRenderer=function(W,ca,ha){ha=!(!ha||!ha.inkbleed);if(!n){function fa(la){var xa=document.createElement(\"canvas\");xa.width=1;xa.height=1;n=e(xa,la);if(!n)return null;n.gb=!!n.R.getExtension(\"WEBGL_shader_pixel_local_storage\");n.Kb=Math.min(n.R.getParameter(n.R.MAX_RENDERBUFFER_SIZE),\nn.R.getParameter(n.R.MAX_TEXTURE_SIZE));n.La=!n.gb;if(la=n.R.getExtension(\"WEBGL_debug_renderer_info\"))xa=n.R.getParameter(la.UNMASKED_RENDERER_WEBGL),n.R.getParameter(la.UNMASKED_VENDOR_WEBGL).includes(\"Google\")&&xa.includes(\"ANGLE Metal Renderer\")&&(n.La=!1);return n}n=fa(!0);if(!n)throw\"Unable to create WebGL context, your environment may not support WebGL. Try out @rive-app/canvas as an alternative.\";n.La||(n=fa(!1))}return ca?new c(W):e(W,n.La,ha)};const D=G.Artboard.prototype[\"delete\"];G.Artboard.prototype[\"delete\"]=\nfunction(){this.Mb=!0;D.call(this)};const F=G.Artboard.prototype.draw;G.Artboard.prototype.draw=function(W){W.P?W.P.push(()=>{this.Mb||F.call(this,W.hb)}):F.call(this,W)};const J=new Fa,O=new Fa,Q=new Aa;G.requestAnimationFrame=Q.requestAnimationFrame.bind(Q);G.cancelAnimationFrame=Q.cancelAnimationFrame.bind(Q);G.enableFPSCounter=Q.$b.bind(Q);const U=Ja(l);Q.rb=U;G.resolveAnimationFrame=U;let V=G.load;G.load=function(W,ca,ha=!0,fa=null){const la=new G.FallbackFileAssetLoader;void 0!==ca&&la.addLoader(ca);\nha&&(ca=new G.CDNFileAssetLoader(fa),la.addLoader(ca));return G.startFileScripts(V(W,la,fa??null))};const oa=G.WebGL2Renderer.prototype.clear;G.WebGL2Renderer.prototype.clear=function(){Pa(this.V);const W=this.G;if(this.Na!=W.width||this.Ma!=W.height)this.resize(W.width,W.height),this.Na=W.width,this.Ma=W.height;oa.call(this)};G.decodeImage=function(W,ca,ha=null){W=G.decodeWebGL2Image(W,ha??null);ca(W)};let ra=G.Renderer.prototype.align;G.Renderer.prototype.align=function(W,ca,ha,fa,la=1){ra.call(this,\nW,ca,ha,fa,la)}};var Ua=\"./this.program\";sa&&(_scriptName=self.location.href);var Va=\"\",Wa,Xa;\nif(ma||sa){try{Va=(new URL(\".\",_scriptName)).href}catch{}sa&&(Xa=c=>{var e=new XMLHttpRequest;e.open(\"GET\",c,!1);e.responseType=\"arraybuffer\";e.send(null);return new Uint8Array(e.response)});Wa=async c=>{if(bb(c))return new Promise((l,n)=>{var x=new XMLHttpRequest;x.open(\"GET\",c,!0);x.responseType=\"arraybuffer\";x.onload=()=>{200==x.status||0==x.status&&x.response?l(x.response):n(x.status)};x.onerror=n;x.send(null)});var e=await fetch(c,{credentials:\"same-origin\"});if(e.ok)return e.arrayBuffer();throw Error(e.status+\n\" : \"+e.url);}}var cb=console.log.bind(console),db=console.error.bind(console),eb,fb,gb=!1,hb,bb=c=>c.startsWith(\"file://\");function L(){ib.buffer!=jb.buffer&&mb()}var nb,ob,pb;\nif(ua){var qb=!1;self.onunhandledrejection=e=>{throw e.reason||e;};function c(e){try{var l=e.data,n=l.T;if(\"load\"===n){let x=[];self.onmessage=B=>x.push(B);pb=()=>{postMessage({T:\"loaded\"});for(let B of x)c(B);self.onmessage=c};for(const B of l.nc)if(!G[B]||G[B].proxy)G[B]=(...D)=>{postMessage({T:\"callHandler\",mc:B,Pa:D})},\"print\"==B&&(cb=G[B]),\"printErr\"==B&&(db=G[B]);ib=l.vj;mb();fb=l.wj;rb();vb()}else if(\"run\"===n){wb(l.N);xb(l.N,0,0,1,0,0);yb();zb(l.N);qb||(Ab(),qb=!0);try{Bb(l.rj,l.Oa)}catch(x){if(\"unwind\"!=\nx)throw x;}}else\"setimmediate\"!==l.target&&(\"checkMailbox\"===n?qb&&Cb():n&&(db(`worker: received unknown command ${n}`),db(l)))}catch(x){throw Db(),x;}}self.onmessage=c}var jb,Eb,Hb,Ib,N,Jb,Kb,Lb,Mb=!1;function mb(){var c=ib.buffer;G.HEAP8=jb=new Int8Array(c);Hb=new Int16Array(c);G.HEAPU8=Eb=new Uint8Array(c);G.HEAPU16=Ib=new Uint16Array(c);G.HEAP32=N=new Int32Array(c);G.HEAPU32=Jb=new Uint32Array(c);G.HEAPF32=Kb=new Float32Array(c);Lb=new Float64Array(c)}\nfunction Nb(){Mb=!0;ua?pb():Ob.__wasm_call_ctors()}function Pb(c){G.onAbort?.(c);c=\"Aborted(\"+c+\")\";db(c);gb=!0;c=new WebAssembly.RuntimeError(c+\". Build with -sASSERTIONS for more info.\");ob?.(c);throw c;}var Qb;async function Rb(c){if(!eb)try{var e=await Wa(c);return new Uint8Array(e)}catch{}if(c==Qb&&eb)c=new Uint8Array(eb);else if(Xa)c=Xa(c);else throw\"both async and sync fetching of the wasm failed\";return c}\nasync function Sb(c,e){try{var l=await Rb(c);return await WebAssembly.instantiate(l,e)}catch(n){db(`failed to asynchronously prepare wasm: ${n}`),Pb(n)}}async function Tb(c){var e=Qb;if(!eb&&!bb(e))try{var l=fetch(e,{credentials:\"same-origin\"});return await WebAssembly.instantiateStreaming(l,c)}catch(n){db(`wasm streaming compile failed: ${n}`),db(\"falling back to ArrayBuffer instantiation\")}return Sb(e,c)}\nfunction Ub(){Vb={__pthread_create_js:Wb,__syscall_fcntl64:Xb,__syscall_ioctl:Yb,__syscall_openat:ac,_abort_js:bc,_embind_create_inheriting_constructor:cc,_embind_finalize_value_object:dc,_embind_register_bigint:ec,_embind_register_bool:fc,_embind_register_class:gc,_embind_register_class_class_function:hc,_embind_register_class_class_property:ic,_embind_register_class_constructor:jc,_embind_register_class_function:kc,_embind_register_class_property:lc,_embind_register_emval:mc,_embind_register_enum:nc,\n_embind_register_enum_value:oc,_embind_register_float:pc,_embind_register_function:qc,_embind_register_integer:rc,_embind_register_memory_view:sc,_embind_register_std_string:xc,_embind_register_std_wstring:yc,_embind_register_value_object:zc,_embind_register_value_object_field:Ac,_embind_register_void:Bc,_emscripten_init_main_thread_js:Cc,_emscripten_notify_mailbox_postmessage:Dc,_emscripten_receive_on_main_thread_js:Ec,_emscripten_thread_cleanup:Fc,_emscripten_thread_mailbox_await:zb,_emscripten_thread_set_strongref:Gc,\n_emscripten_throw_longjmp:Hc,_emval_create_invoker:Ic,_emval_decref:Jc,_emval_get_property:Kc,_emval_incref:Lc,_emval_invoke:Mc,_emval_new_array:Nc,_emval_new_cstring:Oc,_emval_new_object:Pc,_emval_run_destructors:Qc,_emval_set_property:Rc,_gmtime_js:Sc,_localtime_js:Tc,_timegm_js:Uc,_tzset_js:Vc,beginPixelLocalStorageWEBGL:Wc,clock_time_get:Xc,decode_image:Yc,delete_image:Zc,emscripten_asm_const_int:$c,emscripten_check_blocking_allowed:ad,emscripten_date_now:bd,emscripten_exit_with_live_runtime:cd,\nemscripten_get_heap_max:dd,emscripten_get_now:ed,emscripten_num_logical_cores:fd,emscripten_resize_heap:gd,emscripten_webgl_enable_extension:hd,emscripten_webgl_get_current_context:jd,emscripten_webgl_make_context_current:od,enable_WEBGL_provoking_vertex:pd,enable_WEBGL_shader_pixel_local_storage_coherent:qd,endPixelLocalStorageWEBGL:rd,environ_get:sd,environ_sizes_get:td,exit:ud,fd_close:vd,fd_read:wd,fd_seek:xd,fd_write:yd,framebufferPixelLocalClearValuefvWEBGL:zd,framebufferTexturePixelLocalStorageWEBGL:Ad,\nglActiveTexture:Bd,glAttachShader:Cd,glBindAttribLocation:Dd,glBindBuffer:Ed,glBindBufferRange:Fd,glBindFramebuffer:Gd,glBindRenderbuffer:Hd,glBindSampler:Id,glBindTexture:Jd,glBindVertexArray:Kd,glBlendColor:Ld,glBlendEquation:Md,glBlendEquationSeparate:Nd,glBlendFunc:Od,glBlendFuncSeparate:Pd,glBlitFramebuffer:Qd,glBufferData:Rd,glBufferSubData:Sd,glCheckFramebufferStatus:Td,glClear:Ud,glClearBufferfi:Vd,glClearBufferfv:Wd,glClearBufferiv:Xd,glClearBufferuiv:Yd,glClearColor:Zd,glClearDepthf:$d,\nglClearStencil:ae,glClientWaitSync:be,glColorMask:ce,glCompileShader:de,glCompressedTexSubImage2D:ee,glCompressedTexSubImage3D:fe,glCreateProgram:ge,glCreateShader:he,glCullFace:ie,glDeleteBuffers:je,glDeleteFramebuffers:ke,glDeleteProgram:le,glDeleteRenderbuffers:me,glDeleteSamplers:ne,glDeleteShader:oe,glDeleteSync:pe,glDeleteTextures:qe,glDeleteVertexArrays:re,glDepthFunc:se,glDepthMask:te,glDepthRangef:ue,glDisable:ve,glDisableVertexAttribArray:we,glDrawArrays:xe,glDrawArraysInstanced:ye,glDrawBuffers:ze,\nglDrawElements:Ae,glDrawElementsInstanced:Be,glEnable:Ce,glEnableVertexAttribArray:De,glFenceSync:Ee,glFlush:Fe,glFramebufferRenderbuffer:Ge,glFramebufferTexture2D:He,glFramebufferTextureLayer:Ie,glFrontFace:Je,glGenBuffers:Ke,glGenFramebuffers:Le,glGenRenderbuffers:Me,glGenSamplers:Ne,glGenTextures:Oe,glGenVertexArrays:Pe,glGenerateMipmap:Xe,glGetFloatv:Ye,glGetFramebufferAttachmentParameteriv:Ze,glGetIntegerv:$e,glGetProgramInfoLog:af,glGetProgramiv:bf,glGetShaderInfoLog:cf,glGetShaderiv:df,glGetString:ef,\nglGetStringi:ff,glGetUniformBlockIndex:gf,glGetUniformLocation:hf,glInvalidateFramebuffer:jf,glLinkProgram:kf,glPixelStorei:lf,glPolygonOffset:mf,glReadBuffer:nf,glReadPixels:of,glRenderbufferStorage:pf,glRenderbufferStorageMultisample:qf,glSamplerParameterf:rf,glSamplerParameteri:sf,glScissor:tf,glShaderSource:uf,glStencilFunc:vf,glStencilFuncSeparate:wf,glStencilMask:xf,glStencilMaskSeparate:yf,glStencilOp:zf,glStencilOpSeparate:Af,glTexParameteri:Bf,glTexStorage2D:Cf,glTexStorage3D:Df,glTexSubImage2D:Ef,\nglTexSubImage3D:Ff,glUniform1i:Gf,glUniformBlockBinding:Hf,glUseProgram:If,glVertexAttribDivisor:Jf,glVertexAttribIPointer:Kf,glVertexAttribPointer:Lf,glViewport:Mf,invoke_vii:Nf,isWindowsBrowser:Of,memory:ib,provokingVertexWEBGL:Pf,riveWebAttach:Qf,riveWebAttachThreads:Rf,riveWebAudioRefusal:Sf,riveWebAudioSampleRate:Tf,riveWebAudioStart:Uf,riveWebAudioStop:Vf,riveWebCall:Wf,riveWebHasExport:Xf,riveWebJobRun:Yf,riveWebMemoryPages:Zf,riveWebPreparing:$f,riveWebProcessorEnd:ag,riveWebRaise:bg,riveWebReadMemory:cg,\nriveWebRegister:dg,riveWebRelease:eg,riveWebStart:fg,riveWebStringLength:gg,riveWebWorkerCollect:hg,riveWebWorkerEnd:ig,riveWebWorkerStart:jg,riveWebWorkerWake:kg,riveWebWriteMemory:lg,upload_image:mg,wasm_start_image_decode:ng};return{env:Vb,wasi_snapshot_preview1:Vb}}\nasync function rb(){function c(n,x){Ob=n.exports;og.push(Ob._emscripten_tls_init);n=Ob;Ta=n.free;pg=n.malloc;qg=n.pthread_self;G._setWebImage=n.setWebImage;rg=n.__getTypeName;Ab=n._embind_initialize_bindings;sg=G._wasm_image_decode_alloc=n.wasm_image_decode_alloc;tg=G._wasm_image_decode_complete=n.wasm_image_decode_complete;ug=G._wasm_image_decode_error=n.wasm_image_decode_error;G._rive_web_vm_module_export=n.rive_web_vm_module_export;G._rive_web_vm_frame_boundary=n.rive_web_vm_frame_boundary;vg=\nG._rive_web_job_output=n.rive_web_job_output;wg=G._rive_web_lane_fail=n.rive_web_lane_fail;xg=G._rive_web_lane_log=n.rive_web_lane_log;yg=G._rive_web_lane_fuel=n.rive_web_lane_fuel;G._rive_web_processor_event=n.rive_web_processor_event;G._rive_web_vm_booting=n.rive_web_vm_booting;G._rive_web_vm_start_fuel=n.rive_web_vm_start_fuel;G._rive_web_vm_start_refusal=n.rive_web_vm_start_refusal;zg=G._rive_web_calls=n.rive_web_calls;G._rive_shared_table=n.rive_shared_table;Ag=G._rive_web_worker_wait=n.rive_web_worker_wait;\nBg=G._rive_web_worker_finished=n.rive_web_worker_finished;Cg=G._rive_web_worker_stopping=n.rive_web_worker_stopping;Dg=G._ma_device__on_notification_unlocked=n.ma_device__on_notification_unlocked;G._ma_malloc_emscripten=n.ma_malloc_emscripten;G._ma_free_emscripten=n.ma_free_emscripten;Eg=G._ma_device_process_pcm_frames_capture__webaudio=n.ma_device_process_pcm_frames_capture__webaudio;Fg=G._ma_device_process_pcm_frames_playback__webaudio=n.ma_device_process_pcm_frames_playback__webaudio;xb=n._emscripten_thread_init;\nDb=n._emscripten_thread_crashed;Gg=n._emscripten_run_js_on_main_thread;Hg=n._emscripten_thread_free_data;Ig=n._emscripten_thread_exit;Jg=n._emscripten_check_mailbox;Kg=n.setThrew;Lg=n._emscripten_tempret_set;Mg=n.emscripten_stack_set_limits;Ng=n._emscripten_stack_restore;Og=n._emscripten_stack_alloc;Pg=n.emscripten_stack_get_current;Qg.vij=n.dynCall_vij;Qg.iij=n.dynCall_iij;Qg.ji=n.dynCall_ji;Qg.iijii=n.dynCall_iijii;Qg.iiiji=n.dynCall_iiiji;Qg.iiji=n.dynCall_iiji;Qg.jii=n.dynCall_jii;Qg.vijj=n.dynCall_vijj;\nQg.jiji=n.dynCall_jiji;Rg=n.__indirect_function_table;fb=x;return Ob}var e=Ub();if(G.instantiateWasm)return new Promise(n=>{G.instantiateWasm(e,(x,B)=>{n(c(x,B))})});if(ua){var l=new WebAssembly.Instance(fb,Ub());return c(l,fb)}Qb??=G.locateFile?G.locateFile(\"webgl2_advanced.wasm\",Va):Va+\"webgl2_advanced.wasm\";return function(n){return c(n.instance,n.module)}(await Tb(e))}var Sg,Tg;class Ug{name=\"ExitStatus\";constructor(c){this.message=`Program terminated with exit(${c})`;this.status=c}}\nvar Vg=c=>{c.terminate();c.onmessage=()=>{}},Wg=c=>{for(;0<c.length;)c.shift()(G)},Xg=[],Yg=0,Zg=null,eh=c=>{0==$g.length&&(ah(),bh($g[0]));var e=$g.pop();if(!e)return 6;ch.push(e);dh[c.N]=e;e.N=c.N;e.postMessage({T:\"run\",rj:c.qj,Oa:c.Oa,N:c.N},c.Bb);return 0},fh=0,gh=()=>Pg(),hh=c=>Ng(c),ih=c=>Og(c),jh=(c,e,...l)=>{var n=8*l.length,x=Pg(),B=Og(n),D=B>>3,F;for(F of l)(L(),Lb)[D++]=F;c=Gg(c,0,n,B,e);Ng(x);return c};\nfunction kh(c){if(ua)return jh(0,1,c);hb=c;lh||0<fh||(za(),G.onExit?.(c),gb=!0);throw new Ug(c);}function mh(c){if(ua)return jh(1,0,c);ud(c)}var ud=c=>{hb=c;if(ua)throw mh(c),\"unwind\";kh(c)},$g=[],ch=[],og=[],dh={};function nh(){for(var c=16;c--;)ah();Xg.push(async()=>{var e=oh();Yg++;G.monitorRunDependencies?.(Yg);await e;Yg--;G.monitorRunDependencies?.(Yg);0==Yg&&Zg&&(e=Zg,Zg=null,e())})}\nvar za=()=>{for(var c of ch)Vg(c);for(c of $g)Vg(c);$g=[];ch=[];dh={}},ph=c=>{var e=c.N;delete dh[e];$g.push(c);ch.splice(ch.indexOf(c),1);c.N=0;Hg(e)};function yb(){og.forEach(c=>c())}\nvar bh=c=>new Promise(e=>{c.onmessage=B=>{var D=B.data;B=D.T;if(D.Ia&&D.Ia!=qg()){var F=dh[D.Ia];F?F.postMessage(D,D.Bb):db(`Internal error! Worker sent a message \"${B}\" to target pthread ${D.Ia}, but that thread no longer exists!`)}else if(\"checkMailbox\"===B)Cb();else if(\"spawnThread\"===B)eh(D);else if(\"cleanupThread\"===B)qh(()=>{ph(dh[D.uj])});else if(\"loaded\"===B)c.loaded=!0,e(c);else if(\"setimmediate\"===D.target)c.postMessage(D);else if(\"callHandler\"===B)G[D.mc](...D.Pa);else B&&db(`worker sent an unknown command ${B}`)};\nc.onerror=B=>{db(`${\"worker sent an error!\"} ${B.filename}:${B.lineno}: ${B.message}`);throw B;};var l=[],n=[\"onExit\",\"onAbort\",\"print\",\"printErr\"],x;for(x of n)G.propertyIsEnumerable(x)&&l.push(x);c.postMessage({T:\"load\",nc:l,vj:ib,wj:fb})});async function oh(){if(!ua)return Promise.all($g.map(bh))}function ah(){var c=_scriptName;G.mainScriptUrlOrBlob&&(c=G.mainScriptUrlOrBlob,\"string\"!=typeof c&&(c=URL.createObjectURL(c)));c=new Worker(c,{name:\"em-pthread\"});$g.push(c)}var rh=[];\nfunction wb(c){var e=(L(),Jb)[c+52>>2];c=(L(),Jb)[c+56>>2];Mg(e,e-c);Ng(e)}var Bb=(c,e)=>{lh=fh=0;c=Rg.get(c)(e);lh||0<fh?hb=c:Ig(c)},lh=!0,ib;function sh(c,e,l,n){return ua?jh(2,1,c,e,l,n):Wb(c,e,l,n)}\nvar Wb=(c,e,l,n)=>{if(!globalThis.SharedArrayBuffer)return 6;var x=[];if(ua&&0===x.length)return sh(c,e,l,n);c={qj:l,N:c,Oa:n,Bb:x};return ua?(c.T=\"spawnThread\",postMessage(c,x),0):eh(c)},th=globalThis.TextDecoder&&new TextDecoder,uh=(c,e,l,n)=>{l=e+l;if(n)return l;for(;c[e]&&!(e>=l);)++e;return e},vh=(c,e=0,l,n)=>{l=uh(c,e,l,n);if(16<l-e&&c.buffer&&th)return th.decode(c.slice(e,l));for(n=\"\";e<l;){var x=c[e++];if(x&128){var B=c[e++]&63;if(192==(x&224))n+=String.fromCharCode((x&31)<<6|B);else{var D=\nc[e++]&63;x=224==(x&240)?(x&15)<<12|B<<6|D:(x&7)<<18|B<<12|D<<6|c[e++]&63;65536>x?n+=String.fromCharCode(x):(x-=65536,n+=String.fromCharCode(55296|x>>10,56320|x&1023))}}else n+=String.fromCharCode(x)}return n},wh=(c,e,l)=>c?vh((L(),Eb),c,e,l):\"\";function Xb(c,e,l){return ua?jh(3,1,c,e,l):0}function Yb(c,e,l){return ua?jh(4,1,c,e,l):0}function ac(c,e,l,n){if(ua)return jh(5,1,c,e,l,n)}\nvar bc=()=>Pb(\"\"),xh=(c,e)=>Object.defineProperty(e,\"name\",{value:c}),yh=[],zh=[0,1,,1,null,1,!0,1,!1,1],Ah=class extends Error{constructor(c){super(c);this.name=\"BindingError\"}},Bh=c=>{if(!c)throw new Ah(`Cannot use deleted val. handle = ${c}`);return zh[c]},Ch=c=>{switch(c){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const e=yh.pop()||zh.length;zh[e]=c;zh[e+1]=1;return e}};class Dh extends Error{}\nvar Eh=c=>{for(var e=\"\";;){var l=(L(),Eb)[c++];if(!l)return e;e+=String.fromCharCode(l)}},Fh={},Gh=(c,e)=>{if(void 0===e)throw new Ah(\"ptr should not be undefined\");for(;c.C;)e=c.pa(e),c=c.C;return e},Hh={},Ih=c=>{c=rg(c);var e=Eh(c);Ta(c);return e},Jh=(c,e)=>{var l=Hh[c];if(void 0===l)throw c=`${e} has unknown type ${Ih(c)}`,new Ah(c);return l},Kh=()=>{},Lh=!1,Mh=c=>{if(!globalThis.FinalizationRegistry)return Mh=e=>e,c;Lh=new FinalizationRegistry(e=>{e=e.m;--e.count.value;0===e.count.value&&(e.D?\ne.K.O(e.D):e.v.o.O(e.u))});Mh=e=>{var l=e.m;l.D&&Lh.register(e,{m:l},e);return e};Kh=e=>{Lh.unregister(e)};return Mh(c)},cc=(c,e,l)=>{c=Eh(c);e=Jh(e,\"wrapper\");l=Bh(l);var n=e.o,x=n.M,B=n.C.M,D=n.C.constructor;c=xh(c,function(...F){for(var J of n.C.ub)if(this[J]===B[J])throw new Dh(`Pure virtual function ${J} must be implemented in JavaScript`);Object.defineProperty(this,\"__parent\",{value:x});this.__construct(...F)});x.__construct=function(...F){if(this===x)throw new Ah(\"Pass correct 'this' to __construct\");\nF=D.implement(this,...F);Kh(F);var J=F.m;F.notifyOnDestruction();J.fa=!0;Object.defineProperties(this,{m:{value:J}});Mh(this);F=J.u;F=Gh(n,F);if(Fh.hasOwnProperty(F))throw new Ah(`Tried to register registered instance: ${F}`);Fh[F]=this};x.__destruct=function(){if(this===x)throw new Ah(\"Pass correct 'this' to __destruct\");Kh(this);var F=this.m.u;F=Gh(n,F);if(Fh.hasOwnProperty(F))delete Fh[F];else throw new Ah(`Tried to unregister unregistered instance: ${F}`);};c.prototype=Object.create(x);Object.assign(c.prototype,\nl);return Ch(c)},Nh={},Oh=c=>{for(;c.length;){var e=c.pop();c.pop()(e)}};function Ph(c){return this.s((L(),Jb)[c>>2])}\nvar Qh={},Rh={},Sh=class extends Error{constructor(c){super(c);this.name=\"InternalError\"}},Uh=(c,e,l)=>{function n(F){F=l(F);if(F.length!==c.length)throw new Sh(\"Mismatched type converter count\");for(var J=0;J<c.length;++J)Th(c[J],F[J])}c.forEach(F=>Rh[F]=e);var x=Array(e.length),B=[],D=0;for(let [F,J]of e.entries())Hh.hasOwnProperty(J)?x[F]=Hh[J]:(B.push(J),Qh.hasOwnProperty(J)||(Qh[J]=[]),Qh[J].push(()=>{x[F]=Hh[J];++D;D===B.length&&n(x)}));0===B.length&&n(x)},dc=c=>{var e=Nh[c];delete Nh[c];var l=\ne.$a,n=e.O,x=e.mb,B=x.map(D=>D.lc).concat(x.map(D=>D.nj));Uh([c],B,D=>{var F={},J,O;for([J,O]of x.entries()){const Q=D[J],U=O.jc,V=O.kc,oa=D[J+x.length],ra=O.mj,W=O.oj;F[O.dc]={read:ca=>Q.s(U(V,ca)),write:(ca,ha)=>{var fa=[];ra(W,ca,oa.B(fa,ha));Oh(fa)},optional:Q.optional}}return[{name:e.name,s:Q=>{var U={},V;for(V in F)U[V]=F[V].read(Q);n(Q);return U},B:(Q,U)=>{for(var V in F)if(!(V in U||F[V].optional))throw new TypeError(`Missing field: \"${V}\"`);var oa=l();for(V in F)F[V].write(oa,U[V]);null!==\nQ&&Q.push(n,oa);return oa},J:Ph,H:n}]})},ec=()=>{};function Vh(c,e,l={}){var n=e.name;if(!c)throw new Ah(`type \"${n}\" must have a positive integer typeid pointer`);if(Hh.hasOwnProperty(c)){if(l.rc)return;throw new Ah(`Cannot register type '${n}' twice`);}Hh[c]=e;delete Rh[c];Qh.hasOwnProperty(c)&&(e=Qh[c],delete Qh[c],e.forEach(x=>x()))}function Th(c,e,l={}){return Vh(c,e,l)}\nvar fc=(c,e,l,n)=>{e=Eh(e);Th(c,{name:e,s:function(x){return!!x},B:function(x,B){return B?l:n},J:function(x){return this.s((L(),Eb)[x])},H:null})},Wh=c=>{throw new Ah(c.m.v.o.name+\" instance already deleted\");},Xh=[];function Yh(){}\nvar Zh={},$h=(c,e,l)=>{if(void 0===c[e].A){var n=c[e];c[e]=function(...x){if(!c[e].A.hasOwnProperty(x.length))throw new Ah(`Function '${l}' called with an invalid number of arguments (${x.length}) - expects one of (${c[e].A})!`);return c[e].A[x.length].apply(this,x)};c[e].A=[];c[e].A[n.S]=n}},ai=(c,e,l)=>{if(G.hasOwnProperty(c)){if(void 0===l||void 0!==G[c].A&&void 0!==G[c].A[l])throw new Ah(`Cannot register public name '${c}' twice`);$h(G,c,c);if(G[c].A.hasOwnProperty(l))throw new Ah(`Cannot register multiple overloads of a function with the same number of arguments (${l})!`);\nG[c].A[l]=e}else G[c]=e,G[c].S=l},bi=c=>{c=c.replace(/[^a-zA-Z0-9_]/g,\"$\");var e=c.charCodeAt(0);return 48<=e&&57>=e?`_${c}`:c};function ci(c,e,l,n,x,B,D,F){this.name=c;this.constructor=e;this.M=l;this.O=n;this.C=x;this.hc=B;this.pa=D;this.Yb=F;this.ub=[]}\nvar di=(c,e,l)=>{for(;e!==l;){if(!e.pa)throw new Ah(`Expected null or instance of ${l.name}, got an instance of ${e.name}`);c=e.pa(c);e=e.C}return c},ei=c=>{if(null===c)return\"null\";var e=typeof c;return\"object\"===e||\"array\"===e||\"function\"===e?c.toString():\"\"+c};\nfunction fi(c,e){if(null===e){if(this.Ua)throw new Ah(`null is not a valid ${this.name}`);return 0}if(!e.m)throw new Ah(`Cannot pass \"${ei(e)}\" as a ${this.name}`);if(!e.m.u)throw new Ah(`Cannot pass deleted object as a pointer of type ${this.name}`);return di(e.m.u,e.m.v.o,this.o)}\nfunction gi(c,e){if(null===e){if(this.Ua)throw new Ah(`null is not a valid ${this.name}`);if(this.Ba){var l=this.$a();null!==c&&c.push(this.O,l);return l}return 0}if(!e||!e.m)throw new Ah(`Cannot pass \"${ei(e)}\" as a ${this.name}`);if(!e.m.u)throw new Ah(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.Aa&&e.m.v.Aa)throw new Ah(`Cannot convert argument of type ${e.m.K?e.m.K.name:e.m.v.name} to parameter type ${this.name}`);l=di(e.m.u,e.m.v.o,this.o);if(this.Ba){if(void 0===\ne.m.D)throw new Ah(\"Passing raw pointer to smart pointer is illegal\");switch(this.pj){case 0:if(e.m.K===this)l=e.m.D;else throw new Ah(`Cannot convert argument of type ${e.m.K?e.m.K.name:e.m.v.name} to parameter type ${this.name}`);break;case 1:l=e.m.D;break;case 2:if(e.m.K===this)l=e.m.D;else{var n=e.clone();l=this.Ec(l,Ch(()=>n[\"delete\"]()));null!==c&&c.push(this.O,l)}break;default:throw new Ah(\"Unsupported sharing policy\");}}return l}\nfunction hi(c,e){if(null===e){if(this.Ua)throw new Ah(`null is not a valid ${this.name}`);return 0}if(!e.m)throw new Ah(`Cannot pass \"${ei(e)}\" as a ${this.name}`);if(!e.m.u)throw new Ah(`Cannot pass deleted object as a pointer of type ${this.name}`);if(e.m.v.Aa)throw new Ah(`Cannot convert argument of type ${e.m.v.name} to parameter type ${this.name}`);return di(e.m.u,e.m.v.o,this.o)}\nvar ii=(c,e,l)=>{if(e===l)return c;if(void 0===l.C)return null;c=ii(c,e,l.C);return null===c?null:l.Yb(c)},ji=(c,e)=>{e=Gh(c,e);return Fh[e]},ki=(c,e)=>{if(!e.v||!e.u)throw new Sh(\"makeClassHandle requires ptr and ptrType\");if(!!e.K!==!!e.D)throw new Sh(\"Both smartPtrType and smartPtr must be specified\");e.count={value:1};return Mh(Object.create(c,{m:{value:e,writable:!0}}))};\nfunction li(c,e,l,n,x,B,D,F,J,O,Q){this.name=c;this.o=e;this.Ua=l;this.Aa=n;this.Ba=x;this.Ac=B;this.pj=D;this.xb=F;this.$a=J;this.Ec=O;this.O=Q;x||void 0!==e.C?this.B=gi:(this.B=n?fi:hi,this.H=null)}\nvar mi=(c,e,l)=>{if(!G.hasOwnProperty(c))throw new Sh(\"Replacing nonexistent public symbol\");void 0!==G[c].A&&void 0!==l?G[c].A[l]=e:(G[c]=e,G[c].S=l)},Qg={},ni=(c,e,l=[])=>{c.includes(\"j\")?(c=c.replace(/p/g,\"i\"),e=(0,Qg[c])(e,...l)):e=Rg.get(e)(...l);return e},oi=(c,e)=>(...l)=>ni(c,e,l),pi=(c,e)=>{c=Eh(c);var l=c.includes(\"j\")?oi(c,e):Rg.get(e);if(\"function\"!=typeof l)throw new Ah(`unknown function pointer with signature ${c}: ${e}`);return l};class qi extends Error{}\nvar ri=(c,e)=>{function l(B){x[B]||Hh[B]||(Rh[B]?Rh[B].forEach(l):(n.push(B),x[B]=!0))}var n=[],x={};e.forEach(l);throw new qi(`${c}: `+n.map(Ih).join([\", \"]));},gc=(c,e,l,n,x,B,D,F,J,O,Q,U,V)=>{Q=Eh(Q);B=pi(x,B);F&&=pi(D,F);O&&=pi(J,O);V=pi(U,V);var oa=bi(Q);ai(oa,function(){ri(`Cannot construct ${Q} due to unbound types`,[n])});Uh([c,e,l],n?[n]:[],ra=>{ra=ra[0];if(n){var W=ra.o;var ca=W.M}else ca=Yh.prototype;ra=xh(Q,function(...xa){if(Object.getPrototypeOf(this)!==ha)throw new Ah(`Use 'new' to construct ${Q}`);\nif(void 0===fa.X)throw new Ah(`${Q} has no accessible constructor`);var ta=fa.X[xa.length];if(void 0===ta)throw new Ah(`Tried to invoke ctor of ${Q} with invalid number of parameters (${xa.length}) - expected (${Object.keys(fa.X).toString()}) parameters instead!`);return ta.apply(this,xa)});var ha=Object.create(ca,{constructor:{value:ra}});ra.prototype=ha;var fa=new ci(Q,ra,ha,V,W,B,F,O);if(fa.C){var la;(la=fa.C).ra??(la.ra=[]);fa.C.ra.push(fa)}W=new li(Q,fa,!0,!1,!1);la=new li(Q+\"*\",fa,!1,!1,!1);\nca=new li(Q+\" const*\",fa,!1,!0,!1);Zh[c]={pointerType:la,Vb:ca};mi(oa,ra);return[W,la,ca]})};function si(c){for(var e=1;e<c.length;++e)if(null!==c[e]&&void 0===c[e].H)return!0;return!1}\nfunction ti(c,e,l,n,x){var B=e.length;if(2>B)throw new Ah(\"argTypes array size mismatch! Must at least get return value and 'this' types!\");var D=null!==e[1]&&null!==l,F=si(e),J=!e[0].tc,O=B-2,Q=Array(O),U=[],V=[];return xh(c,function(...oa){V.length=0;U.length=D?2:1;U[0]=x;if(D){var ra=e[1].B(V,this);U[1]=ra}for(var W=0;W<O;++W)Q[W]=e[W+2].B(V,oa[W]),U.push(Q[W]);oa=n(...U);if(F)Oh(V);else for(W=D?1:2;W<e.length;W++){var ca=1===W?ra:Q[W-2];null!==e[W].H&&e[W].H(ca)}ra=J?e[0].s(oa):void 0;return ra})}\nvar ui=(c,e)=>{for(var l=[],n=0;n<c;n++)l.push((L(),Jb)[e+4*n>>2]);return l},vi=c=>{c=c.trim();const e=c.indexOf(\"(\");return-1===e?c:c.slice(0,e)},hc=(c,e,l,n,x,B,D)=>{var F=ui(l,n);e=Eh(e);e=vi(e);B=pi(x,B);Uh([],[c],J=>{function O(){ri(`Cannot call ${Q} due to unbound types`,F)}J=J[0];var Q=`${J.name}.${e}`;e.startsWith(\"@@\")&&(e=Symbol[e.substring(2)]);var U=J.o.constructor;void 0===U[e]?(O.S=l-1,U[e]=O):($h(U,e,Q),U[e].A[l-1]=O);Uh([],F,V=>{V=ti(Q,[V[0],null].concat(V.slice(1)),null,B,D);void 0===\nU[e].A?(V.S=l-1,U[e]=V):U[e].A[l-1]=V;if(J.o.ra)for(const oa of J.o.ra)oa.constructor.hasOwnProperty(e)||(oa.constructor[e]=V);return[]});return[]})},ic=(c,e,l,n,x,B,D,F)=>{e=Eh(e);B=pi(x,B);Uh([],[c],J=>{J=J[0];var O=`${J.name}.${e}`,Q={get(){ri(`Cannot access ${O} due to unbound types`,[l])},enumerable:!0,configurable:!0};Q.set=F?()=>{ri(`Cannot access ${O} due to unbound types`,[l])}:()=>{throw new Ah(`${O} is a read-only property`);};Object.defineProperty(J.o.constructor,e,Q);Uh([],[l],U=>{U=\nU[0];var V={get(){return U.s(B(n))},enumerable:!0};F&&(F=pi(D,F),V.set=oa=>{var ra=[];F(n,U.B(ra,oa));Oh(ra)});Object.defineProperty(J.o.constructor,e,V);return[]});return[]})},jc=(c,e,l,n,x,B)=>{var D=ui(e,l);x=pi(n,x);Uh([],[c],F=>{F=F[0];var J=`constructor ${F.name}`;void 0===F.o.X&&(F.o.X=[]);if(void 0!==F.o.X[e-1])throw new Ah(`Cannot register multiple constructors with identical number of parameters (${e-1}) for class '${F.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);\nF.o.X[e-1]=()=>{ri(`Cannot construct ${F.name} due to unbound types`,D)};Uh([],D,O=>{O.splice(1,0,null);F.o.X[e-1]=ti(J,O,null,x,B);return[]});return[]})},kc=(c,e,l,n,x,B,D,F)=>{var J=ui(l,n);e=Eh(e);e=vi(e);B=pi(x,B);Uh([],[c],O=>{function Q(){ri(`Cannot call ${U} due to unbound types`,J)}O=O[0];var U=`${O.name}.${e}`;e.startsWith(\"@@\")&&(e=Symbol[e.substring(2)]);F&&O.o.ub.push(e);var V=O.o.M,oa=V[e];void 0===oa||void 0===oa.A&&oa.className!==O.name&&oa.S===l-2?(Q.S=l-2,Q.className=O.name,V[e]=\nQ):($h(V,e,U),V[e].A[l-2]=Q);Uh([],J,ra=>{ra=ti(U,ra,O,B,D);void 0===V[e].A?(ra.S=l-2,V[e]=ra):V[e].A[l-2]=ra;return[]});return[]})},wi=(c,e,l)=>{if(!(c instanceof Object))throw new Ah(`${l} with invalid \"this\": ${c}`);if(!(c instanceof e.o.constructor))throw new Ah(`${l} incompatible with \"this\" of type ${c.constructor.name}`);if(!c.m.u)throw new Ah(`cannot call emscripten binding method ${l} on deleted object`);return di(c.m.u,c.m.v.o,e.o)},lc=(c,e,l,n,x,B,D,F,J,O)=>{e=Eh(e);x=pi(n,x);Uh([],[c],\nQ=>{Q=Q[0];var U=`${Q.name}.${e}`,V={get(){ri(`Cannot access ${U} due to unbound types`,[l,D])},enumerable:!0,configurable:!0};V.set=J?()=>ri(`Cannot access ${U} due to unbound types`,[l,D]):()=>{throw new Ah(U+\" is a read-only property\");};Object.defineProperty(Q.o.M,e,V);Uh([],J?[l,D]:[l],oa=>{var ra=oa[0],W={get(){var ha=wi(this,Q,U+\" getter\");return ra.s(x(B,ha))},enumerable:!0};if(J){J=pi(F,J);var ca=oa[1];W.set=function(ha){var fa=wi(this,Q,U+\" setter\"),la=[];J(O,fa,ca.B(la,ha));Oh(la)}}Object.defineProperty(Q.o.M,\ne,W);return[]});return[]})},Jc=c=>{9<c&&0===--zh[c+1]&&(zh[c]=void 0,yh.push(c))},xi={name:\"emscripten::val\",s:c=>{var e=Bh(c);Jc(c);return e},B:(c,e)=>Ch(e),J:Ph,H:null},mc=c=>Th(c,xi),yi=(c,e,l)=>{switch(e){case 1:return l?function(n){return this.s((L(),jb)[n])}:function(n){return this.s((L(),Eb)[n])};case 2:return l?function(n){return this.s((L(),Hb)[n>>1])}:function(n){return this.s((L(),Ib)[n>>1])};case 4:return l?function(n){return this.s((L(),N)[n>>2])}:function(n){return this.s((L(),Jb)[n>>\n2])};default:throw new TypeError(`invalid integer width (${e}): ${c}`);}},nc=(c,e,l,n,x)=>{e=Eh(e);x=0===x?\"object\":1===x?\"number\":\"string\";switch(x){case \"object\":function D(){}D.values={};Th(c,{name:e,constructor:D,valueType:x,s:function(F){return this.constructor.values[F]},B:(F,J)=>J.value,J:yi(e,l,n),H:null});ai(e,D);break;case \"number\":var B={};Th(c,{name:e,Wa:B,valueType:x,s:F=>F,B:(F,J)=>J,J:yi(e,l,n),H:null});ai(e,B);delete G[e].S;break;case \"string\":B={},Th(c,{name:e,Eb:{},zb:{},Wa:B,valueType:x,\ns:function(F){return this.zb[F]},B:function(F,J){return this.Eb[J]},J:yi(e,l,n),H:null}),ai(e,B),delete G[e].S}},oc=(c,e,l)=>{var n=Jh(c,\"enum\");e=Eh(e);switch(n.valueType){case \"object\":c=n.constructor;n=Object.create(n.constructor.prototype,{value:{value:l},constructor:{value:xh(`${n.name}_${e}`,function(){})}});c.values[l]=n;c[e]=n;break;case \"number\":n.Wa[e]=l;break;case \"string\":n.Eb[e]=l,n.zb[l]=e,n.Wa[e]=e}},zi=(c,e)=>{switch(e){case 4:return function(l){return this.s((L(),Kb)[l>>2])};case 8:return function(l){return this.s((L(),\nLb)[l>>3])};default:throw new TypeError(`invalid float width (${e}): ${c}`);}},pc=(c,e,l)=>{e=Eh(e);Th(c,{name:e,s:n=>n,B:(n,x)=>x,J:zi(e,l),H:null})},qc=(c,e,l,n,x,B)=>{var D=ui(e,l);c=Eh(c);c=vi(c);x=pi(n,x);ai(c,function(){ri(`Cannot call ${c} due to unbound types`,D)},e-1);Uh([],D,F=>{mi(c,ti(c,[F[0],null].concat(F.slice(1)),null,x,B),e-1);return[]})},Ai=(c,e,l)=>{switch(e){case 1:return l?n=>(L(),jb)[n]:n=>(L(),Eb)[n];case 2:return l?n=>(L(),Hb)[n>>1]:n=>(L(),Ib)[n>>1];case 4:return l?n=>(L(),\nN)[n>>2]:n=>(L(),Jb)[n>>2];default:throw new TypeError(`invalid integer width (${e}): ${c}`);}},rc=(c,e,l,n,x)=>{e=Eh(e);let B=F=>F;if(0===n){var D=32-8*l;B=F=>F<<D>>>D;x=B(x)}Th(c,{name:e,s:B,B:(F,J)=>J,J:Ai(e,l,0!==n),H:null})},sc=(c,e,l)=>{function n(B){var D=(L(),Jb)[B>>2];B=(L(),Jb)[B+4>>2];return new x((L(),jb).buffer,B,D)}var x=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][e];l=Eh(l);Th(c,{name:l,s:n,J:n},{rc:!0})},Bi=(c,e,l)=>{var n=(L(),Eb);\nif(0<l){var x=e;l=e+l-1;for(var B=0;B<c.length;++B){var D=c.codePointAt(B);if(127>=D){if(e>=l)break;n[e++]=D}else if(2047>=D){if(e+1>=l)break;n[e++]=192|D>>6;n[e++]=128|D&63}else if(65535>=D){if(e+2>=l)break;n[e++]=224|D>>12;n[e++]=128|D>>6&63;n[e++]=128|D&63}else{if(e+3>=l)break;n[e++]=240|D>>18;n[e++]=128|D>>12&63;n[e++]=128|D>>6&63;n[e++]=128|D&63;B++}}n[e]=0;c=e-x}else c=0;return c},Ci=c=>{for(var e=0,l=0;l<c.length;++l){var n=c.charCodeAt(l);127>=n?e++:2047>=n?e+=2:55296<=n&&57343>=n?(e+=4,++l):\ne+=3}return e},xc=(c,e)=>{e=Eh(e);Th(c,{name:e,s(l){var n=(L(),Jb)[l>>2];n=wh(l+4,n,!0);Ta(l);return n},B(l,n){n instanceof ArrayBuffer&&(n=new Uint8Array(n));var x=\"string\"==typeof n;if(!(x||ArrayBuffer.isView(n)&&1==n.BYTES_PER_ELEMENT))throw new Ah(\"Cannot pass non-string to std::string\");var B=x?Ci(n):n.length;var D=pg(4+B+1),F=D+4;(L(),Jb)[D>>2]=B;x?Bi(n,F,B+1):(L(),Eb).set(n,F);null!==l&&l.push(Ta,D);return D},J:Ph,H(l){Ta(l)}})},Di=globalThis.TextDecoder?new TextDecoder(\"utf-16le\"):void 0,\nEi=(c,e,l)=>{c>>=1;e=uh((L(),Ib),c,e/2,l);if(16<e-c&&Di)return Di.decode((L(),Ib).slice(c,e));for(l=\"\";c<e;++c){var n=(L(),Ib)[c];l+=String.fromCharCode(n)}return l},Fi=(c,e,l)=>{l??=2147483647;if(2>l)return 0;l-=2;var n=e;l=l<2*c.length?l/2:c.length;for(var x=0;x<l;++x){var B=c.charCodeAt(x);(L(),Hb)[e>>1]=B;e+=2}(L(),Hb)[e>>1]=0;return e-n},Gi=c=>2*c.length,Hi=(c,e,l)=>{var n=\"\";c>>=2;for(var x=0;!(x>=e/4);x++){var B=(L(),Jb)[c+x];if(!B&&!l)break;n+=String.fromCodePoint(B)}return n},Ii=(c,e,l)=>\n{l??=2147483647;if(4>l)return 0;var n=e;l=n+l-4;for(var x=0;x<c.length;++x){var B=c.codePointAt(x);65535<B&&x++;(L(),N)[e>>2]=B;e+=4;if(e+4>l)break}(L(),N)[e>>2]=0;return e-n},Ji=c=>{for(var e=0,l=0;l<c.length;++l)65535<c.codePointAt(l)&&l++,e+=4;return e},yc=(c,e,l)=>{l=Eh(l);if(2===e){var n=Ei;var x=Fi;var B=Gi}else n=Hi,x=Ii,B=Ji;Th(c,{name:l,s:D=>{var F=(L(),Jb)[D>>2];F=n(D+4,F*e,!0);Ta(D);return F},B:(D,F)=>{if(\"string\"!=typeof F)throw new Ah(`Cannot pass non-string to C++ string type ${l}`);\nvar J=B(F),O=pg(4+J+e);(L(),Jb)[O>>2]=J/e;x(F,O+4,J+e);null!==D&&D.push(Ta,O);return O},J:Ph,H(D){Ta(D)}})},zc=(c,e,l,n,x,B)=>{Nh[c]={name:Eh(e),$a:pi(l,n),O:pi(x,B),mb:[]}},Ac=(c,e,l,n,x,B,D,F,J,O)=>{Nh[c].mb.push({dc:Eh(e),lc:l,jc:pi(n,x),kc:B,nj:D,mj:pi(F,J),oj:O})},Bc=(c,e)=>{e=Eh(e);Th(c,{tc:!0,name:e,s:()=>{},B:()=>{}})},Cc=c=>{xb(c,!sa,1,!ma,262144,!1);yb()},Ki=c=>{if(!(c instanceof Ug||\"unwind\"==c))throw c;},qh=c=>{if(!gb)try{if(c(),!(lh||0<fh))try{ua?qg()&&Ig(hb):ud(hb)}catch(e){Ki(e)}}catch(e){Ki(e)}},\nLi=!Atomics.waitAsync||globalThis.navigator?.userAgent&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\\/([0-9]+)\\./)||[])[2]),zb=c=>{Li||(Atomics.waitAsync((L(),N),c>>2,c).value.then(Cb),c+=128,Atomics.store((L(),N),c>>2,1))},Cb=()=>qh(()=>{var c=qg();c&&(zb(c),Jg())}),Dc=(c,e)=>{c==e?setTimeout(Cb):ua?postMessage({Ia:c,T:\"checkMailbox\"}):(c=dh[c])&&c.postMessage({T:\"checkMailbox\"})},Mi=[],Ec=(c,e,l,n,x)=>{Mi.length=0;l=x>>3;for(n=x+n>>3;l<n;)x=(L(),Lb)[l++],Mi.push(x);return(e?Ni[e]:Oi[c])(...Mi)},\nFc=c=>{ua?postMessage({T:\"cleanupThread\",uj:c}):ph(dh[c])},Gc=()=>{},Hc=()=>{throw Infinity;},Pi=[],Qi=c=>{var e=Pi.length;Pi.push(c);return e},Ri=(c,e)=>{for(var l=Array(c),n=0;n<c;++n)l[n]=Jh((L(),Jb)[e+4*n>>2],`parameter ${n}`);return l},Si={},Ti=c=>{var e=Si[c];return void 0===e?Eh(c):e},Ic=(c,e,l)=>{var [n,...x]=Ri(c,e),B=n.B.bind(n),D=x.map(J=>J.J.bind(J));c--;var F=Array(c);e=`methodCaller<(${x.map(J=>J.name)}) => ${n.name}>`;return Qi(xh(e,(J,O,Q,U)=>{for(var V=0,oa=0;oa<c;++oa)F[oa]=D[oa](U+\nV),V+=8;switch(l){case 0:var ra=Bh(J).apply(null,F);break;case 2:ra=Reflect.construct(Bh(J),F);break;case 3:ra=F[0];break;case 1:ra=Bh(J)[Ti(O)](...F)}J=[];ra=B(J,ra);J.length&&((L(),Jb)[Q>>2]=Ch(J));return ra}))},Kc=(c,e)=>{c=Bh(c);e=Bh(e);return Ch(c[e])},Lc=c=>{9<c&&(zh[c+1]+=1)},Mc=(c,e,l,n,x)=>Pi[c](e,l,n,x),Nc=()=>Ch([]),Oc=c=>Ch(Ti(c)),Pc=()=>Ch({}),Qc=c=>{var e=Bh(c);Oh(e);Jc(c)},Rc=(c,e,l)=>{c=Bh(c);e=Bh(e);l=Bh(l);c[e]=l};\nfunction Sc(c,e,l){c=new Date(1E3*(e+2097152>>>0<4194305-!!c?(c>>>0)+4294967296*e:NaN));(L(),N)[l>>2]=c.getUTCSeconds();(L(),N)[l+4>>2]=c.getUTCMinutes();(L(),N)[l+8>>2]=c.getUTCHours();(L(),N)[l+12>>2]=c.getUTCDate();(L(),N)[l+16>>2]=c.getUTCMonth();(L(),N)[l+20>>2]=c.getUTCFullYear()-1900;(L(),N)[l+24>>2]=c.getUTCDay();c=(c.getTime()-Date.UTC(c.getUTCFullYear(),0,1,0,0,0,0))/864E5|0;(L(),N)[l+28>>2]=c}\nvar Ui=[0,31,60,91,121,152,182,213,244,274,305,335],Vi=[0,31,59,90,120,151,181,212,243,273,304,334];\nfunction Tc(c,e,l){c=new Date(1E3*(e+2097152>>>0<4194305-!!c?(c>>>0)+4294967296*e:NaN));(L(),N)[l>>2]=c.getSeconds();(L(),N)[l+4>>2]=c.getMinutes();(L(),N)[l+8>>2]=c.getHours();(L(),N)[l+12>>2]=c.getDate();(L(),N)[l+16>>2]=c.getMonth();(L(),N)[l+20>>2]=c.getFullYear()-1900;(L(),N)[l+24>>2]=c.getDay();e=c.getFullYear();e=(0!==e%4||0===e%100&&0!==e%400?Vi:Ui)[c.getMonth()]+c.getDate()-1|0;(L(),N)[l+28>>2]=e;(L(),N)[l+36>>2]=-(60*c.getTimezoneOffset());e=(new Date(c.getFullYear(),6,1)).getTimezoneOffset();\nvar n=(new Date(c.getFullYear(),0,1)).getTimezoneOffset();c=(e!=n&&c.getTimezoneOffset()==Math.min(n,e))|0;(L(),N)[l+32>>2]=c}\nfunction Uc(c){var e=Date.UTC((L(),N)[c+20>>2]+1900,(L(),N)[c+16>>2],(L(),N)[c+12>>2],(L(),N)[c+8>>2],(L(),N)[c+4>>2],(L(),N)[c>>2],0);e=new Date(e);(L(),N)[c+24>>2]=e.getUTCDay();var l=(e.getTime()-Date.UTC(e.getUTCFullYear(),0,1,0,0,0,0))/864E5|0;(L(),N)[c+28>>2]=l;c=e.getTime()/1E3;Lg((Sg=c,1<=+Math.abs(Sg)?0<Sg?+Math.floor(Sg/4294967296)>>>0:~~+Math.ceil((Sg-+(~~Sg>>>0))/4294967296)>>>0:0));return c>>>0}\nvar Vc=(c,e,l,n)=>{var x=(new Date).getFullYear(),B=(new Date(x,0,1)).getTimezoneOffset();x=(new Date(x,6,1)).getTimezoneOffset();var D=Math.max(B,x);(L(),Jb)[c>>2]=60*D;(L(),N)[e>>2]=Number(B!=x);e=F=>{var J=Math.abs(F);return`UTC${0<=F?\"-\":\"+\"}${String(Math.floor(J/60)).padStart(2,\"0\")}${String(J%60).padStart(2,\"0\")}`};c=e(B);e=e(x);x<B?(Bi(c,l,17),Bi(e,n,17)):(Bi(c,n,17),Bi(e,l,17))},ed=()=>performance.timeOrigin+performance.now(),bd=()=>Date.now(),Wi=1;\nfunction Xc(c,e,l,n){if(!(0<=c&&3>=c))return 28;if(0===c)c=Date.now();else if(Wi)c=performance.timeOrigin+performance.now();else return 52;c=Math.round(1E6*c);Tg=[c>>>0,(Sg=c,1<=+Math.abs(Sg)?0<Sg?+Math.floor(Sg/4294967296)>>>0:~~+Math.ceil((Sg-+(~~Sg>>>0))/4294967296)>>>0:0)];(L(),N)[n>>2]=Tg[0];(L(),N)[n+4>>2]=Tg[1];return 0}\nvar Xi=[],$c=(c,e,l)=>{Xi.length=0;for(var n;n=(L(),Eb)[e++];){var x=105!=n;x&=112!=n;l+=x&&l%8?4:0;Xi.push(112==n?(L(),Jb)[l>>2]:105==n?(L(),N)[l>>2]:(L(),Lb)[l>>3]);l+=x?8:4}return Ni[c](...Xi)},ad=()=>{},cd=()=>{fh+=1;throw\"unwind\";},dd=()=>2147483648,fd=()=>navigator.hardwareConcurrency,gd=c=>{var e=(L(),Eb).length;c>>>=0;if(c<=e||2147483648<c)return!1;for(var l=1;4>=l;l*=2){var n=e*(1+.2/l);n=Math.min(n,c+100663296);a:{n=(Math.min(2147483648,65536*Math.ceil(Math.max(c,n)/65536))-ib.buffer.byteLength+\n65535)/65536|0;try{ib.grow(n);mb();var x=1;break a}catch(B){}x=void 0}if(x)return!0}return!1},Yi=c=>{c.yj=c.getExtension(\"WEBGL_draw_instanced_base_vertex_base_instance\")},Zi=c=>{c.Cj=c.getExtension(\"WEBGL_multi_draw_instanced_base_vertex_base_instance\")},Z,$i=c=>{var e=\"EXT_color_buffer_float EXT_conservative_depth EXT_disjoint_timer_query_webgl2 EXT_texture_norm16 NV_shader_noperspective_interpolation WEBGL_clip_cull_distance EXT_clip_control EXT_color_buffer_half_float EXT_depth_clamp EXT_float_blend EXT_polygon_offset_clamp EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic KHR_parallel_shader_compile OES_texture_float_linear WEBGL_blend_func_extended WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_multi_draw WEBGL_polygon_mode\".split(\" \");\nreturn(c.getSupportedExtensions()||[]).filter(l=>e.includes(l))},aj=1,bj=[],cj=[],dj=[],ej=[],fj=[],gj=[],hj=[],Sa={},ij=[],jj=[],kj={},lj={},mj=4,nj=0,oj=c=>{for(var e=aj++,l=c.length;l<e;l++)c[l]=null;return e},qj=(c,e,l,n)=>{for(var x=0;x<c;x++){var B=Z[l](),D=B&&oj(n);B?(B.name=D,n[D]=B):pj||=1282;(L(),N)[e+4*x>>2]=D}},Qa=(c,e)=>{var l=pg(8);(L(),Jb)[l+4>>2]=qg();var n={handle:l,attributes:e,version:e.Bj,F:c};c.canvas&&(c.canvas.Gb=n);Sa[l]=n;if(\"undefined\"==typeof e.Zb||e.Zb)if((c=n)||(c=Ra),\n!c.sc){c.sc=!0;e=c.F;e.wc=e.getExtension(\"WEBGL_multi_draw\");e.bc=e.getExtension(\"EXT_polygon_offset_clamp\");e.ac=e.getExtension(\"EXT_clip_control\");e.xj=e.getExtension(\"WEBGL_polygon_mode\");Yi(e);Zi(e);2<=c.version&&(e.lb=e.getExtension(\"EXT_disjoint_timer_query_webgl2\"));if(2>c.version||!e.lb)e.lb=e.getExtension(\"EXT_disjoint_timer_query\");for(var x of $i(e))x.includes(\"lose_context\")||x.includes(\"debug\")||e.getExtension(x)}return l},Pa=c=>{Ra=Sa[c];G.ctx=Z=Ra?.F;return!(c&&!Z)},pj,Ra,hd=(c,e)=>\n{c=Sa[c];e=wh(e);e.startsWith(\"GL_\")&&(e=e.slice(3));\"WEBGL_draw_instanced_base_vertex_base_instance\"==e&&Yi(Z);\"WEBGL_multi_draw_instanced_base_vertex_base_instance\"==e&&Zi(Z);\"WEBGL_multi_draw\"==e&&(Z.wc=Z.getExtension(\"WEBGL_multi_draw\"));\"EXT_polygon_offset_clamp\"==e&&(Z.bc=Z.getExtension(\"EXT_polygon_offset_clamp\"));\"EXT_clip_control\"==e&&(Z.ac=Z.getExtension(\"EXT_clip_control\"));\"WEBGL_polygon_mode\"==e&&(Z.xj=Z.getExtension(\"WEBGL_polygon_mode\"));return!!c.F.getExtension(e)},jd=()=>Ra?Ra.handle:\n0,od=c=>Pa(c)?0:-5,rj={},tj=()=>{if(!sj){var c={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:(globalThis.navigator?.language??\"C\").replace(\"-\",\"_\")+\".UTF-8\",_:Ua||\"./this.program\"},e;for(e in rj)void 0===rj[e]?delete c[e]:c[e]=rj[e];var l=[];for(e in c)l.push(`${e}=${c[e]}`);sj=l}return sj},sj;function sd(c,e){if(ua)return jh(6,1,c,e);var l=0,n=0,x;for(x of tj()){var B=e+l;(L(),Jb)[c+n>>2]=B;l+=Bi(x,B,Infinity)+1;n+=4}return 0}\nfunction td(c,e){if(ua)return jh(7,1,c,e);var l=tj();(L(),Jb)[c>>2]=l.length;c=0;for(var n of l)c+=Ci(n)+1;(L(),Jb)[e>>2]=c;return 0}function vd(c){return ua?jh(8,1,c):52}function wd(c,e,l,n){return ua?jh(9,1,c,e,l,n):52}function xd(c,e,l,n,x){return ua?jh(10,1,c,e,l,n,x):70}var uj=[null,[],[]];\nfunction yd(c,e,l,n){if(ua)return jh(11,1,c,e,l,n);for(var x=0,B=0;B<l;B++){var D=(L(),Jb)[e>>2],F=(L(),Jb)[e+4>>2];e+=8;for(var J=0;J<F;J++){var O=c,Q=(L(),Eb)[D+J],U=uj[O];0===Q||10===Q?((1===O?cb:db)(vh(U)),U.length=0):U.push(Q)}x+=F}(L(),Jb)[n>>2]=x;return 0}\nvar Bd=c=>Z.activeTexture(c),Cd=(c,e)=>{Z.attachShader(cj[c],gj[e])},Dd=(c,e,l)=>{Z.bindAttribLocation(cj[c],e,wh(l))},Ed=(c,e)=>{35051==c?Z.Qa=e:35052==c&&(Z.da=e);Z.bindBuffer(c,bj[e])},Fd=(c,e,l,n,x)=>{Z.bindBufferRange(c,e,bj[l],n,x)},Gd=(c,e)=>{Z.bindFramebuffer(c,dj[e])},Hd=(c,e)=>{Z.bindRenderbuffer(c,ej[e])},Id=(c,e)=>{Z.bindSampler(c,ij[e])},Jd=(c,e)=>{Z.bindTexture(c,fj[e])},Kd=c=>{Z.bindVertexArray(hj[c])},Ld=(c,e,l,n)=>Z.blendColor(c,e,l,n),Md=c=>Z.blendEquation(c),Nd=(c,e)=>Z.blendEquationSeparate(c,\ne),Od=(c,e)=>Z.blendFunc(c,e),Pd=(c,e,l,n)=>Z.blendFuncSeparate(c,e,l,n),Qd=(c,e,l,n,x,B,D,F,J,O)=>Z.blitFramebuffer(c,e,l,n,x,B,D,F,J,O),Rd=(c,e,l,n)=>{l&&e?Z.bufferData(c,(L(),Eb),n,l,e):Z.bufferData(c,e,n)},Sd=(c,e,l,n)=>{l&&Z.bufferSubData(c,e,(L(),Eb),n,l)},Td=c=>Z.checkFramebufferStatus(c),Ud=c=>Z.clear(c),Vd=(c,e,l,n)=>Z.clearBufferfi(c,e,l,n),Wd=(c,e,l)=>{Z.clearBufferfv(c,e,(L(),Kb),l>>2)},Xd=(c,e,l)=>{Z.clearBufferiv(c,e,(L(),N),l>>2)},Yd=(c,e,l)=>{Z.clearBufferuiv(c,e,(L(),Jb),l>>2)},Zd=\n(c,e,l,n)=>Z.clearColor(c,e,l,n),$d=c=>Z.clearDepth(c),ae=c=>Z.clearStencil(c),be=(c,e,l,n)=>Z.clientWaitSync(jj[c],e,(l>>>0)+4294967296*n),ce=(c,e,l,n)=>{Z.colorMask(!!c,!!e,!!l,!!n)},de=c=>{Z.compileShader(gj[c])},ee=(c,e,l,n,x,B,D,F,J)=>{Z.da||!F?Z.compressedTexSubImage2D(c,e,l,n,x,B,D,F,J):Z.compressedTexSubImage2D(c,e,l,n,x,B,D,(L(),Eb),J,F)},fe=(c,e,l,n,x,B,D,F,J,O,Q)=>{Z.da?Z.compressedTexSubImage3D(c,e,l,n,x,B,D,F,J,O,Q):Z.compressedTexSubImage3D(c,e,l,n,x,B,D,F,J,(L(),Eb),Q,O)},ge=()=>{var c=\noj(cj),e=Z.createProgram();e.name=c;e.Ea=e.Ca=e.Da=0;e.eb=1;cj[c]=e;return c},he=c=>{var e=oj(gj);gj[e]=Z.createShader(c);return e},ie=c=>Z.cullFace(c),je=(c,e)=>{for(var l=0;l<c;l++){var n=(L(),N)[e+4*l>>2],x=bj[n];x&&(Z.deleteBuffer(x),x.name=0,bj[n]=null,n==Z.Qa&&(Z.Qa=0),n==Z.da&&(Z.da=0))}},ke=(c,e)=>{for(var l=0;l<c;++l){var n=(L(),N)[e+4*l>>2],x=dj[n];x&&(Z.deleteFramebuffer(x),x.name=0,dj[n]=null)}},le=c=>{if(c){var e=cj[c];e?(Z.deleteProgram(e),e.name=0,cj[c]=null):pj||=1281}},me=(c,e)=>\n{for(var l=0;l<c;l++){var n=(L(),N)[e+4*l>>2],x=ej[n];x&&(Z.deleteRenderbuffer(x),x.name=0,ej[n]=null)}},ne=(c,e)=>{for(var l=0;l<c;l++){var n=(L(),N)[e+4*l>>2],x=ij[n];x&&(Z.deleteSampler(x),x.name=0,ij[n]=null)}},oe=c=>{if(c){var e=gj[c];e?(Z.deleteShader(e),gj[c]=null):pj||=1281}},pe=c=>{if(c){var e=jj[c];e?(Z.deleteSync(e),e.name=0,jj[c]=null):pj||=1281}},qe=(c,e)=>{for(var l=0;l<c;l++){var n=(L(),N)[e+4*l>>2],x=fj[n];x&&(Z.deleteTexture(x),x.name=0,fj[n]=null)}},re=(c,e)=>{for(var l=0;l<c;l++){var n=\n(L(),N)[e+4*l>>2];Z.deleteVertexArray(hj[n]);hj[n]=null}},se=c=>Z.depthFunc(c),te=c=>{Z.depthMask(!!c)},ue=(c,e)=>Z.depthRange(c,e),ve=c=>Z.disable(c),we=c=>{Z.disableVertexAttribArray(c)},xe=(c,e,l)=>{Z.drawArrays(c,e,l)},ye=(c,e,l,n)=>{Z.drawArraysInstanced(c,e,l,n)},vj=[],ze=(c,e)=>{for(var l=vj[c],n=0;n<c;n++)l[n]=(L(),N)[e+4*n>>2];Z.drawBuffers(l)},Ae=(c,e,l,n)=>{Z.drawElements(c,e,l,n)},Be=(c,e,l,n,x)=>{Z.drawElementsInstanced(c,e,l,n,x)},Ce=c=>Z.enable(c),De=c=>{Z.enableVertexAttribArray(c)},\nEe=(c,e)=>(c=Z.fenceSync(c,e))?(e=oj(jj),c.name=e,jj[e]=c,e):0,Fe=()=>Z.flush(),Ge=(c,e,l,n)=>{Z.framebufferRenderbuffer(c,e,l,ej[n])},He=(c,e,l,n,x)=>{Z.framebufferTexture2D(c,e,l,fj[n],x)},Ie=(c,e,l,n,x)=>{Z.framebufferTextureLayer(c,e,fj[l],n,x)},Je=c=>Z.frontFace(c),Ke=(c,e)=>{qj(c,e,\"createBuffer\",bj)},Le=(c,e)=>{qj(c,e,\"createFramebuffer\",dj)},Me=(c,e)=>{qj(c,e,\"createRenderbuffer\",ej)},Ne=(c,e)=>{qj(c,e,\"createSampler\",ij)},Oe=(c,e)=>{qj(c,e,\"createTexture\",fj)},Pe=(c,e)=>{qj(c,e,\"createVertexArray\",\nhj)},Xe=c=>Z.generateMipmap(c),wj=()=>{var c=$i(Z);return c=c.concat(c.map(e=>\"GL_\"+e))},xj=(c,e,l)=>{if(e){var n=void 0;switch(c){case 36346:n=1;break;case 36344:0!=l&&1!=l&&(pj||=1280);return;case 34814:case 36345:n=0;break;case 34466:var x=Z.getParameter(34467);n=x?x.length:0;break;case 33309:if(2>Ra.version){pj||=1282;return}n=wj().length;break;case 33307:case 33308:if(2>Ra.version){pj||=1280;return}n=33307==c?3:0}if(void 0===n)switch(x=Z.getParameter(c),typeof x){case \"number\":n=x;break;case \"boolean\":n=\nx?1:0;break;case \"string\":pj||=1280;return;case \"object\":if(null===x)switch(c){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:pj||=1280;return}else{if(x instanceof Float32Array||x instanceof Uint32Array||x instanceof Int32Array||x instanceof Array){for(c=0;c<x.length;++c)switch(l){case 0:(L(),N)[e+4*c>>2]=x[c];break;case 2:(L(),\nKb)[e+4*c>>2]=x[c];break;case 4:(L(),jb)[e+c]=x[c]?1:0}return}try{n=x.name|0}catch(B){pj||=1280;db(`GL_INVALID_ENUM in glGet${l}v: Unknown object returned from WebGL getParameter(${c})! (error: ${B})`);return}}break;default:pj||=1280;db(`GL_INVALID_ENUM in glGet${l}v: Native code calling glGet${l}v(${c}) and it returns ${x} of type ${typeof x}!`);return}switch(l){case 1:l=n;(L(),Jb)[e>>2]=l;c=(L(),Jb)[e>>2];(L(),Jb)[e+4>>2]=(l-c)/4294967296;break;case 0:(L(),N)[e>>2]=n;break;case 2:(L(),Kb)[e>>2]=\nn;break;case 4:(L(),jb)[e]=n?1:0}}else pj||=1281},Ye=(c,e)=>xj(c,e,2),Ze=(c,e,l,n)=>{c=Z.getFramebufferAttachmentParameter(c,e,l);if(c instanceof WebGLRenderbuffer||c instanceof WebGLTexture)c=c.name|0;(L(),N)[n>>2]=c},$e=(c,e)=>xj(c,e,0),af=(c,e,l,n)=>{c=Z.getProgramInfoLog(cj[c]);null===c&&(c=\"(unknown error)\");e=0<e&&n?Bi(c,n,e):0;l&&((L(),N)[l>>2]=e)},bf=(c,e,l)=>{if(l)if(c>=aj)pj||=1281;else if(c=cj[c],35716==e)c=Z.getProgramInfoLog(c),null===c&&(c=\"(unknown error)\"),(L(),N)[l>>2]=c.length+1;\nelse if(35719==e){if(!c.Ea){var n=Z.getProgramParameter(c,35718);for(e=0;e<n;++e)c.Ea=Math.max(c.Ea,Z.getActiveUniform(c,e).name.length+1)}(L(),N)[l>>2]=c.Ea}else if(35722==e){if(!c.Ca)for(n=Z.getProgramParameter(c,35721),e=0;e<n;++e)c.Ca=Math.max(c.Ca,Z.getActiveAttrib(c,e).name.length+1);(L(),N)[l>>2]=c.Ca}else if(35381==e){if(!c.Da)for(n=Z.getProgramParameter(c,35382),e=0;e<n;++e)c.Da=Math.max(c.Da,Z.getActiveUniformBlockName(c,e).length+1);(L(),N)[l>>2]=c.Da}else(L(),N)[l>>2]=Z.getProgramParameter(c,\ne);else pj||=1281},cf=(c,e,l,n)=>{c=Z.getShaderInfoLog(gj[c]);null===c&&(c=\"(unknown error)\");e=0<e&&n?Bi(c,n,e):0;l&&((L(),N)[l>>2]=e)},df=(c,e,l)=>{l?35716==e?(c=Z.getShaderInfoLog(gj[c]),null===c&&(c=\"(unknown error)\"),c=c?c.length+1:0,(L(),N)[l>>2]=c):35720==e?(c=(c=Z.getShaderSource(gj[c]))?c.length+1:0,(L(),N)[l>>2]=c):(L(),N)[l>>2]=Z.getShaderParameter(gj[c],e):pj||=1281},yj=c=>{var e=Ci(c)+1,l=pg(e);l&&Bi(c,l,e);return l},ef=c=>{var e=kj[c];if(!e){switch(c){case 7939:e=yj(wj().join(\" \"));\nbreak;case 7936:case 7937:case 37445:case 37446:(e=Z.getParameter(c))||(pj||=1280);e=e?yj(e):0;break;case 7938:e=yj(`OpenGL ES 3.0 (${Z.getParameter(7938)})`);break;case 35724:e=Z.getParameter(35724);var l=e.match(/^WebGL GLSL ES ([0-9]\\.[0-9][0-9]?)(?:$| .*)/);null!==l&&(3==l[1].length&&(l[1]+=\"0\"),e=`OpenGL ES GLSL ES ${l[1]} (${e})`);e=yj(e);break;default:pj||=1280}kj[c]=e}return e},ff=(c,e)=>{if(2>Ra.version)return pj||=1282,0;var l=lj[c];if(l)return 0>e||e>=l.length?(pj||=1281,0):l[e];switch(c){case 7939:return l=\nwj().map(yj),l=lj[c]=l,0>e||e>=l.length?(pj||=1281,0):l[e];default:return pj||=1280,0}},gf=(c,e)=>Z.getUniformBlockIndex(cj[c],wh(e)),zj=c=>\"]\"==c.slice(-1)&&c.lastIndexOf(\"[\"),hf=(c,e)=>{e=wh(e);if(c=cj[c]){var l=c,n=l.oa,x=l.Db,B;if(!n){l.oa=n={};l.Cb={};var D=Z.getProgramParameter(l,35718);for(B=0;B<D;++B){var F=Z.getActiveUniform(l,B);var J=F.name;F=F.size;var O=zj(J);O=0<O?J.slice(0,O):J;var Q=l.eb;l.eb+=F;x[O]=[F,Q];for(J=0;J<F;++J)n[Q]=J,l.Cb[Q++]=O}}l=c.oa;n=0;x=e;B=zj(e);0<B&&(n=parseInt(e.slice(B+\n1))>>>0,x=e.slice(0,B));if((x=c.Db[x])&&n<x[0]&&(n+=x[1],l[n]=l[n]||Z.getUniformLocation(c,e)))return n}else pj||=1281;return-1},jf=(c,e,l)=>{for(var n=vj[e],x=0;x<e;x++)n[x]=(L(),N)[l+4*x>>2];Z.invalidateFramebuffer(c,n)},kf=c=>{c=cj[c];Z.linkProgram(c);c.oa=0;c.Db={}},lf=(c,e)=>{3317==c?mj=e:3314==c&&(nj=e);Z.pixelStorei(c,e)},mf=(c,e)=>Z.polygonOffset(c,e),nf=c=>Z.readBuffer(c),Aj=c=>{c-=5120;return 0==c?(L(),jb):1==c?(L(),Eb):2==c?(L(),Hb):4==c?(L(),N):6==c?(L(),Kb):5==c||28922==c||28520==c||\n30779==c||30782==c?(L(),Jb):(L(),Ib)},of=(c,e,l,n,x,B,D)=>{if(Z.Qa)Z.readPixels(c,e,l,n,x,B,D);else{var F=Aj(B);D>>>=31-Math.clz32(F.BYTES_PER_ELEMENT);Z.readPixels(c,e,l,n,x,B,F,D)}},pf=(c,e,l,n)=>Z.renderbufferStorage(c,e,l,n),qf=(c,e,l,n,x)=>Z.renderbufferStorageMultisample(c,e,l,n,x),rf=(c,e,l)=>{Z.samplerParameterf(ij[c],e,l)},sf=(c,e,l)=>{Z.samplerParameteri(ij[c],e,l)},tf=(c,e,l,n)=>Z.scissor(c,e,l,n),uf=(c,e,l,n)=>{for(var x=\"\",B=0;B<e;++B){var D=n?(L(),Jb)[n+4*B>>2]:void 0;x+=wh((L(),Jb)[l+\n4*B>>2],D)}Z.shaderSource(gj[c],x)},vf=(c,e,l)=>Z.stencilFunc(c,e,l),wf=(c,e,l,n)=>Z.stencilFuncSeparate(c,e,l,n),xf=c=>Z.stencilMask(c),yf=(c,e)=>Z.stencilMaskSeparate(c,e),zf=(c,e,l)=>Z.stencilOp(c,e,l),Af=(c,e,l,n)=>Z.stencilOpSeparate(c,e,l,n),Bf=(c,e,l)=>Z.texParameteri(c,e,l),Cf=(c,e,l,n,x)=>Z.texStorage2D(c,e,l,n,x),Df=(c,e,l,n,x,B)=>Z.texStorage3D(c,e,l,n,x,B),Ef=(c,e,l,n,x,B,D,F,J)=>{if(Z.da)Z.texSubImage2D(c,e,l,n,x,B,D,F,J);else if(J){var O=Aj(F);Z.texSubImage2D(c,e,l,n,x,B,D,F,O,J>>>31-\nMath.clz32(O.BYTES_PER_ELEMENT))}else{if(J){O=Aj(F);var Q=B*((nj||x)*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[D-6402]||1)*O.BYTES_PER_ELEMENT+mj-1&-mj);J=O.subarray(J>>>31-Math.clz32(O.BYTES_PER_ELEMENT),J+Q>>>31-Math.clz32(O.BYTES_PER_ELEMENT))}else J=null;Z.texSubImage2D(c,e,l,n,x,B,D,F,J)}},Ff=(c,e,l,n,x,B,D,F,J,O,Q)=>{if(Z.da)Z.texSubImage3D(c,e,l,n,x,B,D,F,J,O,Q);else if(Q){var U=Aj(O);Z.texSubImage3D(c,e,l,n,x,B,D,F,J,O,U,Q>>>31-Math.clz32(U.BYTES_PER_ELEMENT))}else Z.texSubImage3D(c,\ne,l,n,x,B,D,F,J,O,null)},Gf=(c,e)=>{var l=Z,n=l.uniform1i;var x=Z.Xb;if(x){var B=x.oa[c];\"number\"==typeof B&&(x.oa[c]=B=Z.getUniformLocation(x,x.Cb[c]+(0<B?`[${B}]`:\"\")));c=B}else pj||=1282,c=void 0;n.call(l,c,e)},Hf=(c,e,l)=>{c=cj[c];Z.uniformBlockBinding(c,e,l)},If=c=>{c=cj[c];Z.useProgram(c);Z.Xb=c},Jf=(c,e)=>{Z.vertexAttribDivisor(c,e)},Kf=(c,e,l,n,x)=>{Z.vertexAttribIPointer(c,e,l,n,x)},Lf=(c,e,l,n,x,B)=>{Z.vertexAttribPointer(c,e,l,!!n,x,B)},Mf=(c,e,l,n)=>Z.viewport(c,e,l,n);ua||nh();\n(()=>{let c=Yh.prototype;Object.assign(c,{isAliasOf:function(l){if(!(this instanceof Yh&&l instanceof Yh))return!1;var n=this.m.v.o,x=this.m.u;l.m=l.m;var B=l.m.v.o;for(l=l.m.u;n.C;)x=n.pa(x),n=n.C;for(;B.C;)l=B.pa(l),B=B.C;return n===B&&x===l},clone:function(){this.m.u||Wh(this);if(this.m.fa)return this.m.count.value+=1,this;var l=Mh,n=Object,x=n.create,B=Object.getPrototypeOf(this),D=this.m;l=l(x.call(n,B,{m:{value:{count:D.count,ja:D.ja,fa:D.fa,u:D.u,v:D.v,D:D.D,K:D.K}}}));l.m.count.value+=1;l.m.ja=\n!1;return l},[\"delete\"](){this.m.u||Wh(this);if(this.m.ja&&!this.m.fa)throw new Ah(\"Object already scheduled for deletion\");Kh(this);var l=this.m;--l.count.value;0===l.count.value&&(l.D?l.K.O(l.D):l.v.o.O(l.u));this.m.fa||(this.m.D=void 0,this.m.u=void 0)},isDeleted:function(){return!this.m.u},deleteLater:function(){this.m.u||Wh(this);if(this.m.ja&&!this.m.fa)throw new Ah(\"Object already scheduled for deletion\");Xh.push(this);this.m.ja=!0;return this}});const e=Symbol.dispose;e&&(c[e]=c[\"delete\"])})();\nObject.assign(li.prototype,{ic(c){this.xb&&(c=this.xb(c));return c},kb(c){this.O?.(c)},J:Ph,s:function(c){function e(){return this.Ba?ki(this.o.M,{v:this.Ac,u:l,K:this,D:c}):ki(this.o.M,{v:this,u:c})}var l=this.ic(c);if(!l)return this.kb(c),null;var n=ji(this.o,l);if(void 0!==n){if(0===n.m.count.value)return n.m.u=l,n.m.D=c,n.clone();n=n.clone();this.kb(c);return n}n=this.o.hc(l);n=Zh[n];if(!n)return e.call(this);n=this.Aa?n.Vb:n.pointerType;var x=ii(l,this.o,n.o);return null===x?e.call(this):this.Ba?\nki(n.o.M,{v:n,u:x,K:this,D:c}):ki(n.o.M,{v:n,u:x})}});for(let c=0;32>c;++c)vj.push(Array(c));ua||(G.wasmMemory?ib=G.wasmMemory:ib=new WebAssembly.Memory({initial:(G.INITIAL_MEMORY||16777216)/65536,maximum:32768,shared:!0}),mb());G.noExitRuntime&&(lh=G.noExitRuntime);G.print&&(cb=G.print);G.printErr&&(db=G.printErr);G.wasmBinary&&(eb=G.wasmBinary);G.thisProgram&&(Ua=G.thisProgram);if(G.preInit)for(\"function\"==typeof G.preInit&&(G.preInit=[G.preInit]);0<G.preInit.length;)G.preInit.shift()();\nvar Oi=[kh,mh,sh,Xb,Yb,ac,sd,td,vd,wd,xd,yd],Ni={363146:(c,e,l,n,x)=>{if(\"undefined\"===typeof window||void 0===(window.AudioContext||window.webkitAudioContext))return 0;if(\"undefined\"===typeof window.miniaudio){window.miniaudio={referenceCount:0};window.miniaudio.device_type={};window.miniaudio.device_type.playback=c;window.miniaudio.device_type.capture=e;window.miniaudio.device_type.duplex=l;window.miniaudio.device_state={};window.miniaudio.device_state.stopped=n;window.miniaudio.device_state.started=\nx;let B=window.miniaudio;B.devices=[];B.track_device=function(D){for(var F=0;F<B.devices.length;++F)if(null==B.devices[F])return B.devices[F]=D,F;B.devices.push(D);return B.devices.length-1};B.untrack_device_by_index=function(D){for(B.devices[D]=null;0<B.devices.length;)if(null==B.devices[B.devices.length-1])B.devices.pop();else break};B.untrack_device=function(D){for(var F=0;F<B.devices.length;++F)if(B.devices[F]==D)return B.untrack_device_by_index(F)};B.get_device_by_index=function(D){return B.devices[D]};\nB.unlock_event_types=[\"touchend\",\"click\"];B.unlock=function(){for(var D=0;D<B.devices.length;++D){var F=B.devices[D];null!=F&&null!=F.L&&F.state===B.device_state.started&&F.L.resume().then(()=>{Dg(F.tb)},J=>{console.error(\"Failed to resume audiocontext\",J)})}B.unlock_event_types.map(function(J){document.removeEventListener(J,B.unlock,!0)})};B.unlock_event_types.map(function(D){document.addEventListener(D,B.unlock,!0)})}window.miniaudio.referenceCount+=1;return 1},365324:()=>{\"undefined\"!==typeof window.miniaudio&&\n(window.miniaudio.unlock_event_types.map(function(c){document.removeEventListener(c,window.miniaudio.unlock,!0)}),--window.miniaudio.referenceCount,0===window.miniaudio.referenceCount&&delete window.miniaudio)},365628:()=>void 0!==navigator.mediaDevices&&void 0!==navigator.mediaDevices.getUserMedia,365732:()=>{try{var c=new (window.AudioContext||window.webkitAudioContext),e=c.sampleRate;c.close();return e}catch(l){return 0}},365903:(c,e,l,n,x,B)=>{if(\"undefined\"===typeof window.miniaudio)return-1;\nvar D={},F={};c==window.miniaudio.device_type.playback&&0!=l&&(F.sampleRate=l);D.L=new (window.AudioContext||window.webkitAudioContext)(F);D.L.suspend();D.state=window.miniaudio.device_state.stopped;l=0;c!=window.miniaudio.device_type.playback&&(l=e);D.U=D.L.createScriptProcessor(n,l,e);D.U.onaudioprocess=function(J){if(null==D.za||0==D.za.length)D.za=new Float32Array((L(),Kb).buffer,x,n*e);if(c==window.miniaudio.device_type.capture||c==window.miniaudio.device_type.duplex){for(var O=0;O<e;O+=1)for(var Q=\nJ.inputBuffer.getChannelData(O),U=D.za,V=0;V<n;V+=1)U[V*e+O]=Q[V];Eg(B,n,x)}if(c==window.miniaudio.device_type.playback||c==window.miniaudio.device_type.duplex)for(Fg(B,n,x),O=0;O<J.outputBuffer.numberOfChannels;++O)for(Q=J.outputBuffer.getChannelData(O),U=D.za,V=0;V<n;V+=1)Q[V]=U[V*e+O];else for(O=0;O<J.outputBuffer.numberOfChannels;++O)J.outputBuffer.getChannelData(O).fill(0)};c!=window.miniaudio.device_type.capture&&c!=window.miniaudio.device_type.duplex||navigator.mediaDevices.getUserMedia({audio:!0,\nvideo:!1}).then(function(J){D.Ha=D.L.createMediaStreamSource(J);D.Ha.connect(D.U);D.U.connect(D.L.destination)}).catch(function(J){console.log(\"Failed to get user media: \"+J)});c==window.miniaudio.device_type.playback&&D.U.connect(D.L.destination);D.tb=B;return window.miniaudio.track_device(D)},368780:c=>window.miniaudio.get_device_by_index(c).L.sampleRate,368853:c=>{c=window.miniaudio.get_device_by_index(c);void 0!==c.U&&(c.U.onaudioprocess=function(){},c.U.disconnect(),c.U=void 0);void 0!==c.Ha&&\n(c.Ha.disconnect(),c.Ha=void 0);c.L.close();c.L=void 0;c.tb=void 0},369253:c=>{window.miniaudio.untrack_device_by_index(c)},369303:c=>{c=window.miniaudio.get_device_by_index(c);c.L.resume();c.state=window.miniaudio.device_state.started},369442:c=>{c=window.miniaudio.get_device_by_index(c);c.L.suspend();c.state=window.miniaudio.device_state.stopped}};\nfunction Yc(c,e,l){var n=G.images;n||(n=new Map,G.images=n);var x=new Image;n.set(c,x);e=G.HEAP8.subarray(e,e+l);l=new Uint8Array(l);l.set(e);x.src=URL.createObjectURL(new Blob([l],{type:\"image/png\"}));x.onload=function(){G._setWebImage(c,x.width,x.height)}}function mg(c,e){var l=G.images;l&&(e=l.get(e))&&(c=Sa[c].F,c.pixelStorei(c.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),c.texImage2D(c.TEXTURE_2D,0,c.RGBA,c.RGBA,c.UNSIGNED_BYTE,e),c.pixelStorei(c.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1))}\nfunction Zc(c){var e=G.images;e&&e.get(c)&&e.delete(c)}function ng(c,e,l){e=new Uint8Array(ib.buffer,e,l);var n=new Uint8Array(l);n.set(e);Promise.resolve().then(function(){return createImageBitmap(new Blob([n]))}).then(function(x){var B=(new OffscreenCanvas(x.width,x.height)).getContext(\"2d\");B.drawImage(x,0,0);B=B.getImageData(0,0,x.width,x.height);var D=B.data.length,F=sg(D);F?((new Uint8Array(ib.buffer,F,D)).set(B.data),tg(c,x.width,x.height,F,D)):ug(c)}).catch(function(){ug(c)})}\nfunction Qf(){const c=G.riveScripting;if(!c)return 0;const e=(l,n)=>{l=yj(l);n(l);Ta(l)};c.Nb({exports:G,pc:l=>{l=(L(),Jb)[(zg()>>2)+l];return 0===l?void 0:Rg.get(l)},Y:()=>(L(),Eb),nb:()=>(L(),Lb),na:gh,Ga:ih,ma:hh,Ya:pg,ea:Ta,qa:l=>wh(l),Fb:(l,n,x)=>Bi(l,n,x),memory:()=>ib,Cc:(l,n,x)=>e(x,B=>G._rive_web_processor_event(l,n,B)),Xa:(l,n)=>e(n,x=>xg(l,x)),uc:(l,n)=>e(n,x=>wg(l,x)),vc:l=>{l=yg(l);return 0===l?null:wh(l)}});return 1}function Rf(){G.riveScripting.Ob(()=>$g)}\nfunction dg(c,e,l){G.riveScripting.register(c,(L(),Eb).subarray(e,e+l))}function eg(c){G.riveScripting?.release(c)}function fg(c){c=G.riveScripting.start(c);return null===c?0:yj(c)}function $f(c){return G.riveScripting.aa(c)}function Xf(c,e){return G.riveScripting.oc(c,e)}function Wf(c,e,l,n,x,B,D){return G.riveScripting.call(c,e,l,n,x,B,D)}function bg(c,e){G.riveScripting.Dc(c,e)}function cg(c,e,l,n){return G.riveScripting.read(c,e>>>0,l,n>>>0)}\nfunction lg(c,e,l,n){return G.riveScripting.write(c,e>>>0,l,n>>>0)}function gg(c,e){return G.riveScripting.tj(c,e>>>0)}function Zf(c){return G.riveScripting.zc(c)}function Of(){return-1<navigator.platform.indexOf(\"Win\")}function Yf(c,e,l,n,x,B,D,F,J){c=G.riveScripting.runJob(c,e,()=>(L(),Eb).slice(l,l+n),x,(L(),Eb).slice(B,B+D),()=>Atomics.load((L(),N),F>>2));if(!c.ok)return yj(c.error);J=vg(J,c.output.length);(L(),Eb).set(c.output,J);return 0}\nfunction Sf(){const c=G.riveScripting.audioRefusal();return null===c?0:yj(c)}function ag(c){G.riveScripting.processorEnd(c)}function Tf(){return G.riveScripting.audioSampleRate()}function Uf(c,e,l,n,x,B,D,F,J,O,Q,U,V){c=G.riveScripting.audioStart(c,e,()=>(L(),Eb).slice(l,l+n),x,(L(),Eb).slice(B,B+D),{sampleRate:F,pb:J,channels:O},Q,U);if(!c.ok)return yj(c.error);(L(),Jb)[V>>2]=c.id;return 0}function Vf(c){G.riveScripting.audioStop(c)}\nfunction jg(c,e,l,n,x,B,D,F,J,O){let Q=!1;e=G.riveScripting.workerStart(e,l,()=>(L(),Eb).slice(n,n+x),B,(L(),Eb).slice(D,D+F),{wait:(U,V,oa)=>Ag(c,U,V,oa),finished:(U,V)=>{if(!Q){Q=!0;if(U){const oa=vg(J,V.length);(L(),Eb).set(V,oa)}Bg(c,U)}},sj:()=>Cg(c)});if(!e.ok)return yj(e.error);(L(),Jb)[O>>2]=e.id;return 0}function kg(c,e,l){c=G.riveScripting.workerWake(c,e,l);return null===c?0:yj(c)}function hg(c){c=G.riveScripting.workerCollect(c);return null===c?0:yj(c)}\nfunction ig(c){G.riveScripting.workerEnd(c)}function qd(c){c=Sa[c].F;const e=c.getExtension(\"WEBGL_shader_pixel_local_storage\");if(e&&e.isCoherent()){if(5==e.framebufferTexturePixelLocalStorageWEBGL.length)return c.Fa=e,!0;console.warn(\"WEBGL_shader_pixel_local_storage is advertised, but a deprecated version has been detected. Disabling.\")}return!1}function Ad(c,e,l,n,x,B){(c=Sa[c].F.Fa)&&c.framebufferTexturePixelLocalStorageWEBGL(e,fj[l],n,x,B)}\nfunction zd(c,e,l,n,x,B){(c=Sa[c].F.Fa)&&c.framebufferPixelLocalClearValuefvWEBGL(e,[l,n,x,B])}function Wc(c,e,l){(c=Sa[c].F.Fa)&&c.beginPixelLocalStorageWEBGL(new Uint32Array(ib.buffer,4*l,e))}function rd(c,e,l){(c=Sa[c].F.Fa)&&c.endPixelLocalStorageWEBGL(new Uint32Array(ib.buffer,4*l,e))}function pd(c){c=Sa[c].F;c.vb=c.getExtension(\"WEBGL_provoking_vertex\");return!!c.vb}function Pf(c,e){(c=Sa[c].F.vb)&&c.provokingVertexWEBGL(e)}\nvar Ta,pg,qg,rg,Ab,sg,tg,ug,vg,wg,xg,yg,zg,Ag,Bg,Cg,Dg,Eg,Fg,xb,Db,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Rg,Vb;function Nf(c,e,l){var n=Pg();try{Rg.get(c)(e,l)}catch(x){Ng(n);if(x!==x+0)throw x;Kg(1,0)}}\nfunction vb(){function c(){G.calledRun=!0;if(!gb&&(Nb(),nb?.(G),G.onRuntimeInitialized?.(),!ua)){if(G.postRun)for(\"function\"==typeof G.postRun&&(G.postRun=[G.postRun]);G.postRun.length;){var e=G.postRun.shift();rh.push(e)}Wg(rh)}}if(0<Yg)Zg=vb;else if(ua)nb?.(G),Nb();else{if(G.preRun)for(\"function\"==typeof G.preRun&&(G.preRun=[G.preRun]);G.preRun.length;)Xg.push(G.preRun.shift());Wg(Xg);0<Yg?Zg=vb:G.setStatus?(G.setStatus(\"Running...\"),setTimeout(()=>{setTimeout(()=>G.setStatus(\"\"),1);c()},1)):c()}}\nvar Ob;ua||(Ob=await (rb()),vb());Mb?moduleRtn=G:moduleRtn=new Promise((c,e)=>{nb=c;ob=e});\n;return moduleRtn}})();\nvar isPthread=globalThis.self?.name?.startsWith(\"em-pthread\");isPthread&&Rive();\nreturn Rive;\n}\nconst Rive = riveGlue();\n\nlet riveWorker;\nexport default (moduleArg = {}) =>\n Rive({\n mainScriptUrlOrBlob: (riveWorker ??= new Blob([\"(\" + riveGlue + \")()\"], {\n type: \"text/javascript\",\n })),\n ...moduleArg,\n });\n","export { SemanticTreeModel } from \"./semanticTreeModel\";\nexport { AccessibilityOverlay } from \"./accessibilityOverlay\";\nexport type { AccessibilityOverlayOptions } from \"./accessibilityOverlay\";\nexport {\n SemanticRole,\n SemanticState,\n SemanticCheckState,\n SemanticTrait,\n SemanticActionType,\n SemanticMode,\n CHECK_STATE_OFFSET,\n CHECK_STATE_MASK,\n checkStateOf,\n hasState,\n hasTrait,\n roleName,\n stateNames,\n traitNames,\n} from \"./types\";\nexport type {\n SemanticsDiffNode,\n SemanticsDiff,\n SemanticNodeData,\n RiveSemanticsOptions,\n} from \"./types\";\n","import type {\n SemanticsDiff,\n SemanticsDiffNode,\n SemanticNodeData,\n} from \"./types\";\nimport { hasState, roleName, SemanticState, stateNames, traitNames } from \"./types\";\n\n/**\n * Maintains an in-memory semantic tree built from incremental\n * {@link SemanticsDiff} updates received each frame from the WASM runtime.\n *\n * Processing order within {@link applyDiff} follows the contract defined in\n * `semantic_snapshot.hpp`: removed → added → moved → childrenUpdated →\n * updatedSemantic → updatedGeometry.\n */\nexport class SemanticTreeModel {\n private _nodesById: Map<number, SemanticNodeData> = new Map();\n private _roots: number[] = [];\n private _semanticVersion = 0;\n private _geometryVersion = 0;\n private _geometryChangedIds: Set<number> = new Set();\n private _semanticChangedIds: Set<number> = new Set();\n\n get nodeCount(): number {\n return this._nodesById.size;\n }\n\n /** Bumped when semantic content or tree structure changes. */\n get semanticVersion(): number {\n return this._semanticVersion;\n }\n\n /** Bumped when node bounds change without a semantic/structural change. */\n get geometryVersion(): number {\n return this._geometryVersion;\n }\n\n /** Node IDs whose bounds changed in the most recent {@link applyDiff}. */\n get geometryChangedIds(): ReadonlySet<number> {\n return this._geometryChangedIds;\n }\n\n /**\n * Node IDs whose semantic fields (role/label/value/hint/flags/headingLevel)\n * changed in the most recent {@link applyDiff}. Structural changes (moves,\n * child reorders, removals) bump {@link semanticVersion} but don't mark\n * nodes here — element attributes don't depend on tree position.\n */\n get semanticChangedIds(): ReadonlySet<number> {\n return this._semanticChangedIds;\n }\n\n /** Root node IDs in sibling order. */\n get roots(): readonly number[] {\n return this._roots;\n }\n\n /** Look up a node by its ID, or undefined if not in the tree. */\n nodeById(id: number): SemanticNodeData | undefined {\n return this._nodesById.get(id);\n }\n\n /** The node with SemanticState.Focused, or undefined. */\n focusedNode(): SemanticNodeData | undefined {\n // Manual iteration: runs every frame and must stop at the first hit (the\n // TS target forbids for-of over Map iterators).\n const it = this._nodesById.values();\n for (let r = it.next(); !r.done; r = it.next()) {\n if (hasState(r.value.stateFlags, SemanticState.Focused)) return r.value;\n }\n return;\n }\n\n /** Current index of a node among its siblings (or roots), or -1 if absent. */\n private siblingIndexOf(id: number): number {\n const node = this._nodesById.get(id);\n if (!node) return -1;\n if (node.parentId < 0) return this._roots.indexOf(id);\n const parent = this._nodesById.get(node.parentId);\n return parent ? parent.children.indexOf(id) : -1;\n }\n\n /** Detach a node from its current parent (or from roots). */\n private detach(id: number): void {\n const node = this._nodesById.get(id);\n if (!node) return;\n if (node.parentId < 0) {\n const idx = this._roots.indexOf(id);\n if (idx !== -1) this._roots.splice(idx, 1);\n } else {\n const parent = this._nodesById.get(node.parentId);\n if (parent) {\n const idx = parent.children.indexOf(id);\n if (idx !== -1) parent.children.splice(idx, 1);\n }\n }\n }\n\n /** Attach a node under a parent at a given sibling index (or as root). */\n private attach(id: number, parentId: number, siblingIndex: number): void {\n const node = this._nodesById.get(id);\n if (!node) return;\n if (parentId < 0) {\n node.parentId = -1;\n const idx = clamp(siblingIndex, 0, this._roots.length);\n this._roots.splice(idx, 0, id);\n } else {\n const parent = this._nodesById.get(parentId);\n if (!parent) {\n node.parentId = -1;\n this._roots.push(id);\n } else {\n node.parentId = parentId;\n const idx = clamp(siblingIndex, 0, parent.children.length);\n parent.children.splice(idx, 0, id);\n }\n }\n }\n\n /** Recursively remove a node and all descendants. */\n private removeSubtree(id: number): void {\n const node = this._nodesById.get(id);\n if (!node) return;\n // Copy children array — we're mutating during traversal\n const kids = [...node.children];\n for (const child of kids) {\n this.removeSubtree(child);\n }\n this.detach(id);\n this._nodesById.delete(id);\n }\n\n /**\n * Apply an incremental diff to the tree. Bumps version counters and notifies\n * listeners only when the tree actually changed.\n *\n * No-op diffs (field values identical to current model) do not bump\n * versions — the native side guards against emitting these, but applyDiff\n * defends its subscribers regardless.\n */\n applyDiff(diff: SemanticsDiff): void {\n this._geometryChangedIds.clear();\n this._semanticChangedIds.clear();\n let semanticChanged = false;\n let geometryChanged = false;\n\n const markSemantic = (): void => {\n semanticChanged = true;\n };\n const markSemanticNode = (id: number): void => {\n semanticChanged = true;\n this._semanticChangedIds.add(id);\n };\n const markGeometry = (id: number): void => {\n geometryChanged = true;\n this._geometryChangedIds.add(id);\n };\n\n // 1. removed\n for (const id of diff.removed) {\n if (this._nodesById.has(id)) {\n this.removeSubtree(id);\n markSemantic();\n }\n }\n\n // 2. added\n for (const n of diff.added) {\n const existing = this._nodesById.get(n.id);\n if (existing) {\n if (semanticFieldsDiffer(existing, n)) {\n applySemantic(existing, n);\n markSemanticNode(n.id);\n }\n if (geometryFieldsDiffer(existing, n)) {\n applyGeometry(existing, n);\n markGeometry(n.id);\n }\n } else {\n this._nodesById.set(n.id, nodeFromDiff(n));\n markSemanticNode(n.id);\n markGeometry(n.id);\n }\n this.detach(n.id);\n this.attach(n.id, n.parentId, n.siblingIndex);\n }\n\n // 3. moved\n // The runtime emits a node as \"moved\" when its parentId OR siblingIndex\n // changes, so a reorder-only move (same parent, new index) is still a\n // structural/semantic change. Compare the actual position before and after\n // re-attaching so that geometry-only or no-op moves don't bump the semantic\n // version (which would defeat the semantic/geometry version split).\n for (const n of diff.moved) {\n const existing = this._nodesById.get(n.id);\n if (!existing) continue;\n const parentChanged = existing.parentId !== n.parentId;\n const oldIndex = this.siblingIndexOf(n.id);\n const geomChanged = geometryFieldsDiffer(existing, n);\n if (geomChanged) {\n applyGeometry(existing, n);\n markGeometry(n.id);\n }\n this.detach(n.id);\n this.attach(n.id, n.parentId, n.siblingIndex);\n if (parentChanged || this.siblingIndexOf(n.id) !== oldIndex) {\n markSemantic();\n }\n }\n\n // 4. childrenUpdated\n for (const update of diff.childrenUpdated) {\n if (update.parentId < 0) {\n const next = update.childIds.filter((id) => this._nodesById.has(id));\n if (!arraysEqual(this._roots, next)) {\n this._roots.length = 0;\n this._roots.push(...next);\n for (const id of this._roots) {\n const node = this._nodesById.get(id);\n if (node) node.parentId = -1;\n }\n markSemantic();\n }\n } else {\n const parent = this._nodesById.get(update.parentId);\n if (!parent) continue;\n const next = update.childIds.filter((id) => this._nodesById.has(id));\n if (!arraysEqual(parent.children, next)) {\n parent.children.length = 0;\n parent.children.push(...next);\n for (const id of parent.children) {\n const node = this._nodesById.get(id);\n if (node) node.parentId = update.parentId;\n }\n markSemantic();\n }\n }\n }\n\n // 5. updatedSemantic — semantic fields updated\n for (const n of diff.updatedSemantic) {\n const existing = this._nodesById.get(n.id);\n if (!existing) continue;\n if (!semanticFieldsDiffer(existing, n)) continue;\n applySemantic(existing, n);\n markSemanticNode(n.id);\n }\n\n // 6. updatedGeometry — bounds of a semantic node updated\n for (const n of diff.updatedGeometry) {\n const existing = this._nodesById.get(n.id);\n if (!existing) continue;\n if (!geometryFieldsDiffer(existing, n)) continue;\n applyGeometry(existing, n);\n markGeometry(n.id);\n }\n\n if (!semanticChanged && !geometryChanged) return;\n if (semanticChanged) this._semanticVersion++;\n if (geometryChanged) this._geometryVersion++;\n if (this._debug) {\n this.logDiff(diff, semanticChanged, geometryChanged);\n }\n }\n\n private _debug = false;\n\n /** Enable/disable debug logging of diffs to the console. */\n set debug(enabled: boolean) {\n this._debug = enabled;\n }\n\n private logDiff(\n diff: SemanticsDiff,\n semanticChanged: boolean,\n geometryChanged: boolean,\n ): void {\n const lines: string[] = [\n `[rive:semantics] semantic v${this._semanticVersion}` +\n (geometryChanged ? ` geometry v${this._geometryVersion}` : \"\") +\n (semanticChanged ? \"\" : \" (geometry-only)\"),\n ];\n for (const id of diff.removed) {\n lines.push(` - removed #${id}`);\n }\n for (const n of diff.added) {\n lines.push(\n ` + added #${n.id} ${roleName(n.role)}` +\n (n.label ? ` \"${n.label}\"` : \"\") +\n ` bounds:(${n.minX.toFixed(1)},${n.minY.toFixed(1)})-(${n.maxX.toFixed(1)},${n.maxY.toFixed(1)})` +\n ` states=[${stateNames(n.stateFlags)}]` +\n ` traits=[${traitNames(n.traitFlags)}]`\n );\n }\n for (const n of diff.moved) {\n lines.push(\n ` ~ moved #${n.id} → parent=${n.parentId} idx=${n.siblingIndex}` +\n ` bounds:(${n.minX.toFixed(1)},${n.minY.toFixed(1)})-(${n.maxX.toFixed(1)},${n.maxY.toFixed(1)})`\n );\n }\n for (const u of diff.childrenUpdated) {\n lines.push(\n ` ↕ children of ${\n u.parentId < 0 ? \"root\" : \"#\" + u.parentId\n }: [${u.childIds.join(\", \")}]`\n );\n }\n for (const n of diff.updatedSemantic) {\n lines.push(\n ` ✎ semantic #${n.id} ${roleName(n.role)}` +\n (n.label ? ` \"${n.label}\"` : \"\") +\n ` states=[${stateNames(n.stateFlags)}]` +\n ` traits=[${traitNames(n.traitFlags)}]`\n );\n }\n for (const n of diff.updatedGeometry) {\n lines.push(\n ` ⊞ geometry #${n.id} (${n.minX.toFixed(1)},${n.minY.toFixed(1)})-(${n.maxX.toFixed(1)},${n.maxY.toFixed(1)})`\n );\n }\n console.log(lines.join(\"\\n\"));\n }\n\n /**\n * Returns every node in depth-first order, paired with its depth level.\n * Useful for debug logging / rendering a flat list.\n */\n flattened(): Array<{ depth: number; node: SemanticNodeData }> {\n const out: Array<{ depth: number; node: SemanticNodeData }> = [];\n const walk = (id: number, depth: number) => {\n const node = this._nodesById.get(id);\n if (!node) return;\n out.push({ depth, node });\n for (const child of node.children) {\n walk(child, depth + 1);\n }\n };\n for (const root of this._roots) {\n walk(root, 0);\n }\n return out;\n }\n}\n\nfunction clamp(v: number, min: number, max: number): number {\n return v < min ? min : v > max ? max : v;\n}\n\nfunction arraysEqual(a: number[], b: number[]): boolean {\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n}\n\nfunction nodeFromDiff(n: SemanticsDiffNode): SemanticNodeData {\n return {\n id: n.id,\n parentId: -1,\n role: n.role,\n label: n.label,\n value: n.value,\n hint: n.hint,\n stateFlags: n.stateFlags,\n traitFlags: n.traitFlags,\n headingLevel: n.headingLevel,\n minX: n.minX,\n minY: n.minY,\n maxX: n.maxX,\n maxY: n.maxY,\n children: [],\n };\n}\n\n/** Compare role/label/value/hint/stateFlags/traitFlags/headingLevel. */\nfunction semanticFieldsDiffer(\n a: SemanticNodeData,\n b: SemanticsDiffNode\n): boolean {\n return (\n a.role !== b.role ||\n a.label !== b.label ||\n a.value !== b.value ||\n a.hint !== b.hint ||\n a.stateFlags !== b.stateFlags ||\n a.traitFlags !== b.traitFlags ||\n a.headingLevel !== b.headingLevel\n );\n}\n\n/** Compare only bounds (minX/minY/maxX/maxY). */\nfunction geometryFieldsDiffer(\n a: SemanticNodeData,\n b: { minX: number; minY: number; maxX: number; maxY: number }\n): boolean {\n return (\n a.minX !== b.minX ||\n a.minY !== b.minY ||\n a.maxX !== b.maxX ||\n a.maxY !== b.maxY\n );\n}\n\nfunction applySemantic(target: SemanticNodeData, src: SemanticsDiffNode): void {\n target.role = src.role;\n target.label = src.label;\n target.value = src.value;\n target.hint = src.hint;\n target.stateFlags = src.stateFlags;\n target.traitFlags = src.traitFlags;\n target.headingLevel = src.headingLevel;\n}\n\nfunction applyGeometry(\n target: SemanticNodeData,\n src: { minX: number; minY: number; maxX: number; maxY: number }\n): void {\n target.minX = src.minX;\n target.minY = src.minY;\n target.maxX = src.maxX;\n target.maxY = src.maxY;\n}\n","import type {\n SemanticsDiffNode,\n SemanticsDiff,\n} from \"../rive_advanced.mjs\";\n\nexport type {\n SemanticsDiffNode,\n SemanticsDiff,\n};\n\n// ---------------------------------------------------------------------------\n// SemanticRole — mirrors rive::SemanticRole\n// ---------------------------------------------------------------------------\nexport const SemanticRole = {\n none: 0,\n button: 1,\n link: 2,\n checkbox: 3,\n switchControl: 4,\n slider: 5,\n textField: 6,\n text: 7,\n image: 8,\n group: 9,\n list: 10,\n listItem: 11,\n tab: 12,\n tabList: 13,\n dialog: 14,\n alertDialog: 15,\n radioGroup: 16,\n radioButton: 17,\n} as const;\n\nexport type SemanticRole = (typeof SemanticRole)[keyof typeof SemanticRole];\n\n// ---------------------------------------------------------------------------\n// SemanticState — mirrors rive::SemanticState bitmask\n//\n// Bits 0-7 are trait-gated (only meaningful when the corresponding\n// SemanticTrait is set). Bits 8-13 are non-trait states.\n//\n// Check state is the exception: it is a two-bit *field* at bits 2-3 rather\n// than a flag, because a checkbox is tri-state. It is not a member of this\n// table — read it with checkStateOf().\n// ---------------------------------------------------------------------------\nexport const SemanticState = {\n None: 0,\n\n // Trait-gated\n Expanded: 1 << 0, // requires Expandable\n Selected: 1 << 1, // requires Selectable\n // Bits 2-3 are the check state field, not independent flags -- see SemanticCheckState.\n Toggled: 1 << 4, // requires Toggleable\n Required: 1 << 5, // requires Requirable\n Disabled: 1 << 6, // requires Enablable\n Focused: 1 << 7, // requires Focusable\n\n // Non-trait\n Hidden: 1 << 8,\n LiveRegion: 1 << 9,\n ReadOnly: 1 << 10,\n Modal: 1 << 11,\n Obscured: 1 << 12,\n Multiline: 1 << 13,\n} as const;\n\nexport function hasState(flags: number, state: number): boolean {\n return (flags & state) !== 0;\n}\n\n// SemanticCheckState — mirrors rive::SemanticCheckState\n//\n// The tri-state of a checkable node. Occupies two bits of stateFlags at\n// CHECK_STATE_OFFSET, so it is read as a value rather than tested as a flag.\n// Only meaningful when the Checkable trait is set.\nexport const SemanticCheckState = {\n Unchecked: 0,\n Checked: 1,\n Mixed: 2,\n} as const;\n\nexport type SemanticCheckState =\n (typeof SemanticCheckState)[keyof typeof SemanticCheckState];\n\n/** Bit offset of the check field within stateFlags. */\nexport const CHECK_STATE_OFFSET = 2;\n\n/** Mask of the check field within stateFlags. */\nexport const CHECK_STATE_MASK = 0b11 << CHECK_STATE_OFFSET;\n\n/**\n * Decodes the check field out of `flags`. The field is two bits. Returns 0, 1, or 2\n * per the mapping in SemanticCheckState.\n */\nexport function checkStateOf(flags: number): SemanticCheckState {\n const value = (flags & CHECK_STATE_MASK) >> CHECK_STATE_OFFSET;\n return value >= SemanticCheckState.Mixed\n ? SemanticCheckState.Mixed\n : (value as SemanticCheckState);\n}\n\n/**\n * Controls when the instance builds semantic trees and accessibility overlays.\n *\n * - `disabled`: no semantics work.\n * - `enabled`: semantics and overlay are active immediately after load.\n */\nexport const SemanticMode = {\n Disabled: \"disabled\",\n Enabled: \"enabled\",\n} as const;\n\nexport type SemanticMode = (typeof SemanticMode)[keyof typeof SemanticMode];\n\nexport interface RiveSemanticsOptions {\n /**\n * aria-label for the semantic DOM container element\n */\n riveCanvasLabel?: string;\n}\n\n// ---------------------------------------------------------------------------\n// SemanticTrait — mirrors rive::SemanticTrait bitmask\n//\n// Traits declare what *capabilities* a node has. A state flag is only\n// meaningful when its corresponding trait is set.\n// ---------------------------------------------------------------------------\nexport const SemanticTrait = {\n None: 0,\n Expandable: 1 << 0,\n Selectable: 1 << 1,\n Checkable: 1 << 2,\n Toggleable: 1 << 3,\n Requirable: 1 << 4,\n Enablable: 1 << 5,\n Focusable: 1 << 6,\n} as const;\n\nexport function hasTrait(flags: number, trait: number): boolean {\n return (flags & trait) !== 0;\n}\n\n// ---------------------------------------------------------------------------\n// SemanticActionType — mirrors rive::SemanticActionType\n// ---------------------------------------------------------------------------\nexport const SemanticActionType = {\n tap: 0,\n increase: 1,\n decrease: 2,\n} as const;\n\nexport type SemanticActionType =\n (typeof SemanticActionType)[keyof typeof SemanticActionType];\n\n// ---------------------------------------------------------------------------\n// SemanticNodeData — in-memory representation of a single node in the tree\n// ---------------------------------------------------------------------------\nexport interface SemanticNodeData {\n readonly id: number;\n parentId: number;\n role: number;\n label: string;\n value: string;\n hint: string;\n stateFlags: number;\n traitFlags: number;\n headingLevel: number;\n minX: number;\n minY: number;\n maxX: number;\n maxY: number;\n children: number[];\n}\n\n// ---------------------------------------------------------------------------\n// Helpers — readable names for bitmask flags\n// ---------------------------------------------------------------------------\n\nconst _roleNames: Record<number, string> = {};\nfor (const [name, val] of Object.entries(SemanticRole)) {\n _roleNames[val as number] = name;\n}\n\nconst _stateEntries = Object.entries(SemanticState).filter(\n ([, v]) => v !== 0\n) as [string, number][];\n\nconst _traitEntries = Object.entries(SemanticTrait).filter(\n ([, v]) => v !== 0\n) as [string, number][];\n\nexport function roleName(role: number): string {\n return _roleNames[role] ?? `unknown(${role})`;\n}\n\nexport function stateNames(flags: number): string {\n if (flags === 0) return \"none\";\n const active: string[] = [];\n for (const [name, bit] of _stateEntries) {\n if (flags & bit) active.push(name);\n }\n switch (checkStateOf(flags)) {\n case SemanticCheckState.Checked:\n active.push(\"Checked\");\n break;\n case SemanticCheckState.Mixed:\n active.push(\"Mixed\");\n break;\n }\n return active.join(\", \") || \"none\";\n}\n\nexport function traitNames(flags: number): string {\n if (flags === 0) return \"none\";\n const active: string[] = [];\n for (const [name, bit] of _traitEntries) {\n if (flags & bit) active.push(name);\n }\n return active.join(\", \") || \"none\";\n}\n","import type * as rc from \"../rive_advanced.mjs\";\nimport type { SemanticTreeModel } from \"./semanticTreeModel\";\nimport type { SemanticNodeData } from \"./types\";\nimport { claimKeyEvent } from \"./claimedKeyEvents\";\nimport { canvasOffset } from \"../utils/canvasOffset\";\nimport {\n SemanticRole,\n SemanticState,\n SemanticCheckState,\n SemanticTrait,\n SemanticActionType,\n RiveSemanticsOptions,\n checkStateOf,\n hasState,\n hasTrait,\n} from \"./types\";\n\nlet warnedUnpositionedWrapper = false;\n\n/**\n * Warns once per page when no positioned element sits at or inside the canvas's\n * nearest scroll container: the overlay then can't scroll with the canvas. Reads only.\n */\nfunction warnIfWrapperUnpositioned(canvas: HTMLCanvasElement): void {\n if (warnedUnpositionedWrapper) return;\n // Null when detached (or display:none / fixed); nothing to judge yet.\n const offsetParent = canvas.offsetParent;\n if (!offsetParent) return;\n\n const scrolls = (v: string): boolean => v === \"auto\" || v === \"scroll\" || v === \"overlay\";\n let scroller: Element | null = null;\n let el = canvas.parentElement;\n // Bounds pathological nesting.\n const MAX_ANCESTOR_WALK = 32;\n for (\n let i = 0;\n el && el !== document.documentElement && i < MAX_ANCESTOR_WALK;\n i++, el = el.parentElement\n ) {\n const style = getComputedStyle(el);\n if (scrolls(style.overflowX) || scrolls(style.overflowY)) {\n scroller = el;\n break;\n }\n }\n // Only the viewport scrolls: any offsetParent scrolls with the page.\n if (!scroller || scroller.contains(offsetParent)) return;\n\n warnedUnpositionedWrapper = true;\n console.warn(\n '[Rive] Semantics: give the element wrapping the <canvas> \"position: relative\" (or another positioned value) so the semantic overlay scrolls with the canvas. Without it, screen readers may scroll to stale positions when the canvas is inside a scrolling container.'\n );\n}\n\n// ---------------------------------------------------------------------------\n// Public interface\n// ---------------------------------------------------------------------------\n\nexport interface AccessibilityOverlayOptions {\n canvas: HTMLCanvasElement;\n /** Unique string per Rive instance (used for prefixed IDs). */\n instanceId: string;\n /** Optional options for controlling semantic tree behavior and rendering */\n semanticsOptions: RiveSemanticsOptions;\n /** Callback to fire a semantic action back into the state machine. */\n fireAction: (nodeId: number, actionType: SemanticActionType) => void;\n /** Callback when AT focuses a semantic node (routes to SemanticManager::requestFocus). */\n requestFocus: (nodeId: number) => void;\n /** Callback when AT focus leaves a semantic node. */\n clearFocus: () => void;\n /**\n * When false (default), the overlay only moves focus while focus is already\n * inside Rive (overlay or canvas); when true it may also pull focus from outside Rive.\n */\n allowFocusInterrupt?: boolean;\n /**\n * True while a text input session holds DOM focus on the hidden text-input proxy.\n * Defaults to false when text input isn't wired.\n */\n isEditingHostFocused?: () => boolean;\n}\n\n/**\n * Indication of what changed since the last overlay update.\n *\n * - `semanticChanged` — semantic tree content/structure changed; attributes,\n * DOM order, and stale removal need reconciling.\n * - `nodeGeometryChanged` — node bounds changed in the tree model.\n * - `layoutChanged` — canvas size/position changed (or the transform container\n * hasn't been created yet); the artboard→canvas transform must be recomputed.\n */\nexport interface OverlayChange {\n semanticChanged: boolean;\n nodeGeometryChanged: boolean;\n layoutChanged: boolean;\n}\n\n/**\n * What the overlay needs from the element capturing text for a focused Rive text\n * field (the hidden text-input proxy).\n */\nexport interface EditingHost {\n /** Apply accessibility attributes; a null value removes that attribute. */\n decorate(attrs: Record<string, string | null>): void;\n resetDecoration(): void;\n /** Capture as a secure (password) field while standing in for an obscured one. */\n setSecure(secure: boolean): void;\n hasDomFocus(): boolean;\n}\n\n/**\n * Creates and manages an invisible DOM tree overlaying a Rive canvas. This is for\n * screen readers to discover and interact with the Rive content.\n *\n * Each semantic node in the {@link SemanticTreeModel} gets a corresponding\n * DOM element with appropriate ARIA role, states, and action handlers so\n * assistive technologies (i.e. screen readers) can discover\n * and interact with the Rive content.\n *\n * Each node receives a prefixed ID (`id=rive-{instanceId}-sem-{nodeId}`) to avoid host-page ID collisions.\n * The nodeID is Rive's semantic node ID from core runtime.\n * Each node is styled with `pointer-events: none`. Interactive nodes can receive\n * programmatic focus and keydown events without entering the browser Tab order.\n */\nexport class AccessibilityOverlay {\n private container: HTMLDivElement;\n private canvas: HTMLCanvasElement;\n private semanticsOptions: RiveSemanticsOptions;\n private elements: Map<number, HTMLElement> = new Map();\n /** Visually-hidden description spans keyed by node ID, referenced by aria-describedby. */\n private descElements: Map<number, HTMLSpanElement> = new Map();\n private instanceId: string;\n private fireAction: (nodeId: number, actionType: SemanticActionType) => void;\n private requestFocus: (nodeId: number) => void;\n private clearFocus: () => void;\n private lastSemanticVersion = -1;\n private lastGeometryVersion = -1;\n /** Text elements whose fit-scale needs recomputing, batched per update (see flushTextGeometry). */\n private pendingTextGeometry: HTMLElement[] = [];\n /** Last measured box-size|text key per text element, to skip redundant re-measures. */\n private textGeometryKeys: WeakMap<HTMLElement, string> = new WeakMap();\n /** Node data last passed to applyAttributes per element; see {@link setEditingHostNode}. */\n private appliedNodes: WeakMap<HTMLElement, SemanticNodeData> = new WeakMap();\n private lastCanvasPositioning: { width: number; height: number; offsetTop: number; offsetLeft: number } = {\n width: -1, height: -1, offsetTop: -1, offsetLeft: -1,\n }\n /**\n * Set when a ResizeObserver/window-resize signals the canvas geometry may have\n * changed, cleared once the transform is re-synced. Lets {@link needsUpdate}\n * report geometry changes without a per-frame `getBoundingClientRect()` reflow.\n * Starts true so the first update computes the transform.\n */\n private _geometryDirty = true;\n /** True while reconciling the DOM (reserved for future focus-sync guards). */\n private isUpdating = false;\n /** See {@link AccessibilityOverlayOptions.allowFocusInterrupt}. */\n private allowFocusInterrupt: boolean;\n /** See {@link AccessibilityOverlayOptions.isEditingHostFocused}. */\n private isEditingHostFocused: () => boolean;\n /** Node whose element the editing host stands in for, or null. */\n private editingHostNodeId: number | null = null;\n /** Semantic version last folded into the editing host's decoration. */\n private editingHostSemanticVersion = -1;\n /**\n * Single child div of the overlay container that carries the artboard→CSS\n * transform. All semantic node elements are children of this div and express\n * their positions in raw artboard-space coordinates. The CSS transform on\n * this container maps artboard units to CSS pixels in one GPU pass — no\n * per-node matrix multiplication required.\n */\n private transformContainer: HTMLDivElement | null = null;\n private _artboardBounds: rc.AABB = { minX: 0, minY: 0, maxX: 0, maxY: 0 };\n\n private repositionTimer: ReturnType<typeof setTimeout> | null = null;\n private canvasResizeObserver: ResizeObserver | null = null;\n private parentResizeObserver: ResizeObserver | null = null;\n /**\n * Detects canvas *position* drift. See {@link observePosition}.\n */\n private positionObserver: IntersectionObserver | null = null;\n private readonly _onWindowResize = (): void => this.scheduleReposition();\n\n constructor(options: AccessibilityOverlayOptions) {\n this.instanceId = options.instanceId;\n this.fireAction = options.fireAction;\n this.requestFocus = options.requestFocus;\n this.clearFocus = options.clearFocus;\n this.canvas = options.canvas;\n this.semanticsOptions = options.semanticsOptions;\n this.allowFocusInterrupt = options.allowFocusInterrupt ?? false;\n this.isEditingHostFocused = options.isEditingHostFocused ?? (() => false);\n this.container = this.createContainer(options.canvas);\n this.attachPositionObservers();\n warnIfWrapperUnpositioned(options.canvas);\n }\n\n /**\n * Hide the stood-in node's element (no duplicate textbox for AT); re-derive the previous\n * one's aria-hidden.\n */\n setEditingHostNode(nodeId: number | null): void {\n if (this.editingHostNodeId === nodeId) return;\n const previous = this.editingHostNodeId;\n this.editingHostNodeId = nodeId;\n if (previous !== null) {\n const previousEl = this.elements.get(previous);\n // Re-derive rather than un-hide: the node may have become Hidden mid-session.\n if (previousEl) {\n const previousNode = this.appliedNodes.get(previousEl);\n if (previousNode && this.isAriaHidden(previousNode)) {\n setAttr(previousEl, \"aria-hidden\", \"true\");\n } else {\n removeAttr(previousEl, \"aria-hidden\");\n }\n }\n }\n if (nodeId !== null) {\n const el = this.elements.get(nodeId);\n if (el) setAttr(el, \"aria-hidden\", \"true\");\n }\n }\n\n /**\n * Describe the focused text field on the host and hide its element; no-op unless\n * semantics changed.\n * @param force - apply even if semantics are unchanged (session start).\n */\n syncEditingHost(tree: SemanticTreeModel, host: EditingHost, force: boolean): void {\n if (!force && tree.semanticVersion === this.editingHostSemanticVersion) return;\n this.editingHostSemanticVersion = tree.semanticVersion;\n\n const node = tree.focusedNode();\n if (node === undefined || node.role !== SemanticRole.textField) {\n // Nothing to describe; drop the stale description rather than misname the host.\n if (this.editingHostNodeId !== null) {\n host.resetDecoration();\n this.setEditingHostNode(null);\n }\n return;\n }\n\n // Every key is passed on every call, nulls included, so nothing survives from\n // the previously described field.\n host.setSecure(hasState(node.stateFlags, SemanticState.Obscured));\n host.decorate({\n \"aria-label\": node.label || null,\n \"aria-readonly\": hasState(node.stateFlags, SemanticState.ReadOnly) ? \"true\" : null,\n \"aria-multiline\": hasState(node.stateFlags, SemanticState.Multiline) ? \"true\" : null,\n // Trait-gated to match applyAttributes.\n \"aria-required\":\n hasTrait(node.traitFlags, SemanticTrait.Requirable) &&\n hasState(node.stateFlags, SemanticState.Required)\n ? \"true\"\n : null,\n // The hint span applyAttributes maintains (update() runs earlier in the frame).\n \"aria-describedby\": (node.hint && this.descElements.get(node.id)?.id) || null,\n });\n this.setEditingHostNode(node.id);\n }\n\n /** True while the editing host stands in for a node's element. */\n hasEditingHost(): boolean {\n return this.editingHostNodeId !== null;\n }\n\n /**\n * Undo the stand-in; if the host still has DOM focus, move it to the focused node's\n * element so AT announces it.\n */\n releaseEditingHost(tree: SemanticTreeModel | null, host: EditingHost | null): void {\n host?.resetDecoration();\n this.setEditingHostNode(null);\n this.editingHostSemanticVersion = -1;\n if (!host?.hasDomFocus()) return;\n const focusedNodeId = tree?.focusedNode()?.id;\n if (focusedNodeId !== undefined) this.focusNodeElement(focusedNodeId);\n }\n\n /** Move DOM focus onto a node's element. No-op for a node with no element. */\n focusNodeElement(nodeId: number): void {\n const el = this.elements.get(nodeId);\n if (!el) return;\n this.focusElementInPlace(el);\n }\n\n // The overlay is positioned outside the canvas's scroll chain, so a plain focus()\n // would scroll the root instead; scroll the canvas into view through its real ancestors.\n private focusElementInPlace(el: HTMLElement): void {\n this.syncContainerBeforeFocus();\n el.focus({ preventScroll: true });\n this.canvas.scrollIntoView?.({\n block: \"nearest\",\n inline: \"nearest\",\n behavior: \"instant\" as ScrollBehavior,\n });\n // The scroll moved the canvas; re-align now rather than after the observer throttle.\n this.syncContainerGeometry();\n this.observePosition();\n }\n\n getSemanticOverlayContainer(): HTMLDivElement {\n return this.container;\n }\n\n // ---- Container lifecycle ----\n\n // Keep the a11y tree overlay matched to the canvas's position and size:\n // 1. The canvas resized — ResizeObserver\n // 2. The canvas's parent resized — ResizeObserver\n // 3. The window resized — resize event\n // 4. The canvas moved/drifted — IntersectionObserver (see observePosition)\n\n private attachPositionObservers(): void {\n this.canvasResizeObserver = new ResizeObserver(() => this.scheduleReposition());\n this.canvasResizeObserver.observe(this.canvas);\n\n const parent = this.canvas.parentElement;\n if (parent) {\n this.parentResizeObserver = new ResizeObserver(() => this.scheduleReposition());\n this.parentResizeObserver.observe(parent);\n }\n\n window.addEventListener(\"resize\", this._onWindowResize);\n\n this.observePosition();\n }\n\n /**\n * Arms an IntersectionObserver whose root box is bounded to the canvas, so it\n * fires when the canvas moves relative to the viewport — position drift that\n * no ResizeObserver reports. Lets us re-sync the overlay container on a move\n * instead of recalculating the canvas bounding box every frame.\n */\n private observePosition(): void {\n if (typeof IntersectionObserver === \"undefined\") return;\n this.positionObserver?.disconnect();\n this.positionObserver = null;\n\n const rect = this.canvas.getBoundingClientRect();\n // Can't frame a zero-area element; it will re-arm on the next reposition.\n if (!rect.width || !rect.height) return;\n\n // Shrink the viewport root box down to exactly the canvas: a negative inset\n // from each viewport edge to the matching canvas edge, in CSS shorthand\n // order (top, right, bottom, left). Rounded so sub-pixel jitter doesn't trip\n // the 1.0 threshold.\n const insetToPx = (v: number): string => `${-Math.round(v)}px`;\n const rootMargin = [\n rect.top, // top: viewport top → canvas top\n window.innerWidth - rect.right, // right: viewport right → canvas right\n window.innerHeight - rect.bottom, // bottom: viewport bottom → canvas bottom\n rect.left, // left: viewport left → canvas left\n ]\n .map(insetToPx)\n .join(\" \");\n\n // The observer emits an initial notification for the current (contained)\n // state; ignore that and only react to a subsequent move.\n let armed = false;\n this.positionObserver = new IntersectionObserver(\n () => {\n if (!armed) {\n armed = true;\n return;\n }\n this.scheduleReposition();\n },\n { threshold: 1.0, rootMargin }\n );\n this.positionObserver.observe(this.canvas);\n }\n\n private scheduleReposition(): void {\n // A resize/move may have changed canvas size/scale/position; force a\n // transform recompute on the next frame's update.\n this._geometryDirty = true;\n if (this.repositionTimer !== null) return;\n this.repositionTimer = setTimeout(() => {\n this.repositionTimer = null;\n this.syncContainerGeometry();\n // Re-arm the position observer at the canvas's new location.\n this.observePosition();\n }, 500); // Throttle to avoid rapid style recalculations\n }\n\n /** Returns true when the container's size changed (node transforms need recomputing). */\n private syncContainerGeometry(): boolean {\n const rect = this.canvas.getBoundingClientRect();\n const { top, left } = canvasOffset(this.canvas);\n const sizeChanged =\n rect.width !== this.lastCanvasPositioning.width ||\n rect.height !== this.lastCanvasPositioning.height;\n if (\n !sizeChanged &&\n top === this.lastCanvasPositioning.offsetTop &&\n left === this.lastCanvasPositioning.offsetLeft\n ) return false;\n this.container.style.top = top + \"px\";\n this.container.style.left = left + \"px\";\n this.container.style.width = rect.width + \"px\";\n this.container.style.height = rect.height + \"px\";\n this.container.tabIndex = -1;\n this.lastCanvasPositioning.width = rect.width;\n this.lastCanvasPositioning.height = rect.height;\n this.lastCanvasPositioning.offsetTop = top;\n this.lastCanvasPositioning.offsetLeft = left;\n return sizeChanged;\n }\n\n /**\n * Re-align the container right before focusing one of its elements. The position\n * observer re-syncs after scrolling on a throttle; focusing an element while the\n * container is stale would make the browser scroll the page to where it sits.\n */\n private syncContainerBeforeFocus(): void {\n if (this.syncContainerGeometry()) this._geometryDirty = true;\n }\n\n private createContainer(canvas: HTMLCanvasElement): HTMLDivElement {\n const container = document.createElement(\"div\");\n container.id = `rive-a11y-${this.instanceId}`;\n container.setAttribute(\"role\", \"region\");\n container.setAttribute(\"aria-label\", this.semanticsOptions?.riveCanvasLabel ?? \"Rive animation\");\n // Size to the canvas's CSS layout box, not the parent container.\n const rect = canvas.getBoundingClientRect();\n const { top, left } = canvasOffset(this.canvas);\n container.style.cssText = [\n \"position:absolute\",\n `top:${top}px`,\n `left:${left}px`,\n \"line-height:normal\",\n \"font-size:16px\",\n `width:${rect.width}px`,\n `height:${rect.height}px`,\n \"overflow:hidden\",\n \"pointer-events:none\",\n // Visually hidden but still in the accessibility tree.\n // `display:none` and `visibility:hidden` would hide from AT.\n \"opacity:0\",\n ].join(\";\");\n\n canvas.insertAdjacentElement(\"afterend\", container);\n return container;\n }\n\n /**\n * Returns what changed since the last update, or null if nothing changed.\n *\n * Callers use this to avoid recomputing the (relatively expensive)\n * artboard→canvas transform on frames where only node bounds changed in the\n * tree: the transform only needs recomputing when `layoutChanged` is true.\n */\n needsUpdate(tree: SemanticTreeModel): OverlayChange | null {\n const semanticChanged = tree.semanticVersion !== this.lastSemanticVersion;\n const nodeGeometryChanged =\n tree.geometryVersion !== this.lastGeometryVersion;\n const layoutChanged = this._geometryDirty || !this.transformContainer;\n if (!semanticChanged && !nodeGeometryChanged && !layoutChanged) return null;\n return { semanticChanged, nodeGeometryChanged, layoutChanged };\n }\n\n /**\n * Update the overlay DOM to reflect the current state of the semantic tree.\n * Call once per frame after `applyDiff` when {@link needsUpdate} reports a\n * change, when layout/transform inputs are dirty, or when a fresh\n * `forwardMat` is supplied (even if the tree versions are unchanged).\n *\n * @param tree The in-memory semantic tree model\n * @param forwardMat Artboard→canvas-pixel transform from `computeAlignment`,\n * or null to reuse the existing CSS transform on the\n * transform container\n * @param dpr Device pixel ratio used for the canvas backing store\n * @param artboardBounds The artboard's own bounding rectangle\n */\n update(\n tree: SemanticTreeModel,\n forwardMat: rc.Mat2D | null,\n dpr: number,\n artboardBounds: rc.AABB,\n change?: OverlayChange | null\n ): void {\n let overlayChange = change ?? this.needsUpdate(tree);\n if (!overlayChange && forwardMat) {\n overlayChange = {\n semanticChanged: false,\n nodeGeometryChanged: false,\n layoutChanged: true,\n };\n }\n if (!overlayChange) return;\n this.performUpdate(tree, forwardMat, dpr, artboardBounds, overlayChange);\n }\n\n private performUpdate(\n tree: SemanticTreeModel,\n forwardMat: rc.Mat2D | null,\n dpr: number,\n artboardBounds: rc.AABB,\n change: OverlayChange\n ): void {\n const { semanticChanged, nodeGeometryChanged } = change;\n // Per-node change sets only describe the most recent applyDiff. If more\n // than one semantic version elapsed since our last update (first build,\n // or a diff we never consumed), fall back to re-applying attributes on\n // every node rather than trusting an incomplete set.\n const reapplyAllAttributes =\n tree.semanticVersion - this.lastSemanticVersion > 1;\n this.lastSemanticVersion = tree.semanticVersion;\n this.lastGeometryVersion = tree.geometryVersion;\n\n this.isUpdating = true;\n\n this._artboardBounds = artboardBounds;\n\n // Container box + artboard transform only run when a fresh forwardMat was\n // supplied (layout/transform dirty). Node-only bounds updates reuse the\n // existing CSS transform and go through updateGeometryForChangedNodes.\n // Skipping syncContainerGeometry here on semantic-only frames avoids a\n // getBoundingClientRect() reflow on every animation frame. The throttled\n // scheduleReposition() path still keeps the container aligned when the page\n // layout shifts.\n if (forwardMat) {\n this.syncContainerGeometry();\n this.syncTransformContainer(forwardMat, dpr, artboardBounds);\n // Transform is now in sync with the latest layout.\n this._geometryDirty = false;\n }\n\n if (semanticChanged) {\n const rootEl = this.transformContainer ?? this.container;\n const activeIds = new Set<number>();\n\n this.rebuildChildren(\n rootEl,\n tree.roots as number[],\n tree,\n 0, // parentLeft in artboard space (transform container origin)\n 0, // parentTop in artboard space\n activeIds,\n reapplyAllAttributes\n );\n\n const staleIds: number[] = [];\n this.elements.forEach((_el, id) => {\n if (!activeIds.has(id)) staleIds.push(id);\n });\n for (const id of staleIds) {\n const el = this.elements.get(id);\n if (el && el.parentNode) el.parentNode.removeChild(el);\n this.elements.delete(id);\n const desc = this.descElements.get(id);\n if (desc && desc.parentNode) desc.parentNode.removeChild(desc);\n this.descElements.delete(id);\n }\n } else if (nodeGeometryChanged) {\n this.updateGeometryForChangedNodes(tree);\n }\n\n // Text scaling needs layout reads; batch them into one pass after all\n // position/attribute writes so each frame forces at most one reflow.\n this.flushTextGeometry();\n\n this.isUpdating = false;\n }\n\n /** Remove the overlay from the DOM entirely. */\n destroy(): void {\n if (this.repositionTimer !== null) {\n clearTimeout(this.repositionTimer);\n this.repositionTimer = null;\n }\n window.removeEventListener(\"resize\", this._onWindowResize);\n this.canvasResizeObserver?.disconnect();\n this.parentResizeObserver?.disconnect();\n this.positionObserver?.disconnect();\n if (this.container.parentNode) {\n this.container.parentNode.removeChild(this.container);\n }\n this.elements.clear();\n this.descElements.clear();\n this.pendingTextGeometry.length = 0;\n }\n\n // ---- Tree → DOM reconciliation ----\n\n /**\n * Reconcile a parent DOM element's children with an ordered list of\n * semantic node IDs. Creates, updates, and reorders elements as needed.\n *\n * Node positions are expressed in artboard-space coordinates. The CSS\n * transform on the transform container maps artboard units to CSS pixels,\n * so no per-node matrix multiplication is required here.\n *\n * @param parentArtboardLeft Absolute artboard minX of the parent node (0 for roots)\n * @param parentArtboardTop Absolute artboard minY of the parent node (0 for roots)\n */\n private rebuildChildren(\n parentEl: HTMLElement,\n childIds: number[],\n tree: SemanticTreeModel,\n parentArtboardLeft: number,\n parentArtboardTop: number,\n activeIds: Set<number>,\n applyAllAttributes: boolean\n ): void {\n for (let i = 0; i < childIds.length; i++) {\n const nodeId = childIds[i];\n const nodeData = tree.nodeById(nodeId);\n if (!nodeData) continue;\n\n activeIds.add(nodeId);\n\n let el = this.elements.get(nodeId);\n const isNew = !el;\n if (!el) {\n el = this.createElement(nodeData);\n this.elements.set(nodeId, el);\n }\n\n // Attributes are only applied to new elements and nodes whose semantic\n // fields changed in the latest diff. Skipping redundant setAttribute\n // calls eliminates WebKit AX notifications that knock VoiceOver off its\n // current element.\n if (isNew || applyAllAttributes || tree.semanticChangedIds.has(nodeId)) {\n this.applyAttributes(el, nodeData);\n }\n this.applyPosition(el, nodeData, parentArtboardLeft, parentArtboardTop);\n\n // Only touch the DOM tree if the element isn't already in the correct\n // position. Moving a focused element can blur it and knock AT off the\n // current node.\n const currentChild = parentEl.children[i] as HTMLElement | undefined;\n if (currentChild !== el) {\n if (currentChild) {\n parentEl.insertBefore(el, currentChild);\n } else {\n parentEl.appendChild(el);\n }\n }\n\n // Reflect the runtime Focused state into DOM focus. Runs after insertion\n // so the element is attached, and skips elements that already hold focus.\n // The cheap trait/state flag checks gate the (per-node) DOM queries below,\n // so the activeElement/closest/contains walks only run for a node that is\n // actually focusable + focused — not for every node on every frame.\n if (\n hasTrait(nodeData.traitFlags, SemanticTrait.Focusable) &&\n hasState(nodeData.stateFlags, SemanticState.Focused)\n ) {\n const active = document.activeElement as Element | null;\n // While focus is inside one of our modal dialogs, don't pull it back\n // out to a background node.\n const focusedModal = active?.closest('[aria-modal=\"true\"]');\n const trappedByModal =\n !!focusedModal &&\n this.container.contains(focusedModal) &&\n !focusedModal.contains(el);\n // Not while the proxy has focus (would steal the caret, drop the keyboard) nor onto\n // its aria-hidden stand-in.\n if (\n nodeId !== this.editingHostNodeId &&\n active !== el &&\n !trappedByModal &&\n !this.isEditingHostFocused() &&\n this.canMoveFocus()\n ) {\n // No scrollIntoView: this runs on semantic diffs and must not drag the page.\n this.syncContainerBeforeFocus();\n el.focus({ preventScroll: true });\n }\n }\n\n // Recurse into children with this node's absolute artboard position.\n if (nodeData.children.length > 0) {\n this.rebuildChildren(\n el,\n nodeData.children,\n tree,\n nodeData.minX,\n nodeData.minY,\n activeIds,\n applyAllAttributes\n );\n }\n\n // Focus a modal/alert dialog when it first appears (after children are\n // built so the focus target can be resolved from the subtree).\n if (isNew) this.autoFocusDialogOnAppear(el, nodeData, tree);\n }\n }\n\n /**\n * Reposition only the subtrees whose bounds changed in the latest diff.\n * Descendants are included because node CSS positions are parent-relative.\n */\n private updateGeometryForChangedNodes(tree: SemanticTreeModel): void {\n for (const nodeId of Array.from(tree.geometryChangedIds)) {\n const nodeData = tree.nodeById(nodeId);\n if (!nodeData) continue;\n\n let parentLeft = 0;\n let parentTop = 0;\n let parentEl: HTMLElement = this.transformContainer ?? this.container;\n if (nodeData.parentId >= 0) {\n const parent = tree.nodeById(nodeData.parentId);\n if (parent) {\n parentLeft = parent.minX;\n parentTop = parent.minY;\n parentEl = this.elements.get(nodeData.parentId) ?? parentEl;\n }\n }\n\n this.updateNodeGeometrySubtree(\n tree,\n nodeId,\n parentLeft,\n parentTop,\n parentEl\n );\n }\n }\n\n private updateNodeGeometrySubtree(\n tree: SemanticTreeModel,\n nodeId: number,\n parentArtboardLeft: number,\n parentArtboardTop: number,\n _parentEl: HTMLElement\n ): void {\n const nodeData = tree.nodeById(nodeId);\n if (!nodeData) return;\n const el = this.elements.get(nodeId);\n if (!el) return;\n\n this.applyPosition(el, nodeData, parentArtboardLeft, parentArtboardTop);\n\n for (const childId of nodeData.children) {\n this.updateNodeGeometrySubtree(\n tree,\n childId,\n nodeData.minX,\n nodeData.minY,\n el\n );\n }\n }\n\n /**\n * Whether the overlay may move focus now. Following focus already inside this\n * instance is always allowed; pulling it in from the host page is gated behind\n * allowFocusInterrupt (from the Rive class).\n */\n private canMoveFocus(): boolean {\n const active = document.activeElement as Element | null;\n const focusAlreadyInScope =\n active === this.canvas || this.container.contains(active);\n return focusAlreadyInScope || this.allowFocusInterrupt;\n }\n\n /**\n * Move focus into a newly appeared modal/alert dialog so screen readers\n * announce and read its content (web ATs don't auto-enter a freshly mounted\n * dialog). Skips when focus can't move (see canMoveFocus) or a descendant\n * already holds it. The dialog's aria-modal keeps focus trapped inside.\n */\n private autoFocusDialogOnAppear(\n el: HTMLElement,\n node: SemanticNodeData,\n tree: SemanticTreeModel\n ): void {\n if (!isModalDialogRole(node.role, node.stateFlags)) return;\n if (!this.canMoveFocus()) return;\n\n // A descendant already holds focus — don't override it.\n const active = document.activeElement;\n if (active && active !== el && el.contains(active)) return;\n\n const target = this.routeDefaultFocusTarget(node, tree) ?? el;\n if (!target.hasAttribute(\"tabindex\")) target.setAttribute(\"tabindex\", \"-1\");\n if (document.activeElement !== target) target.focus({ preventScroll: true });\n }\n\n /**\n * Resolve the element assistive technologies (AT) should focus on appearance. Walks the subtree\n * depth-first and returns the first focusable node's host element, else the\n * inner <span> of the first labeled leaf. Container and unlabeled nodes are\n * descended into but never focused. Returns null if nothing qualifies.\n */\n private routeDefaultFocusTarget(\n node: SemanticNodeData,\n tree: SemanticTreeModel\n ): HTMLElement | null {\n for (const childId of node.children) {\n const child = tree.nodeById(childId);\n if (!child) continue;\n const childEl = this.elements.get(childId);\n\n // Focusable node → its host element (even if it has children).\n if (childEl && isFocusableNode(child)) return childEl;\n\n // Container or unlabeled node → descend without focusing it.\n if (child.children.length > 0 || !child.label) {\n const nested = this.routeDefaultFocusTarget(child, tree);\n if (nested) return nested;\n continue;\n }\n\n // Labeled leaf → its inner label span.\n if (childEl) {\n return (childEl.querySelector(\":scope > span\") as HTMLElement | null) ?? childEl;\n }\n }\n return null;\n }\n\n // ---- Element creation ----\n\n /** Shared `id` prefix for all semantic node elements of this instance. */\n private get nodeIdPrefix(): string {\n return `rive-${this.instanceId}-sem-`;\n }\n\n /** Recover the semantic node ID from an overlay element, or null. */\n private nodeIdFromElement(el: Element): number | null {\n if (!el.id.startsWith(this.nodeIdPrefix)) return null;\n const raw = el.id.slice(this.nodeIdPrefix.length);\n // Guard the empty string explicitly: Number(\"\") is 0, not NaN.\n if (!raw) return null;\n const id = Number(raw);\n return Number.isNaN(id) ? null : id;\n }\n\n private createElement(node: SemanticNodeData): HTMLElement {\n const tag = tagForRole(node.role);\n const el = document.createElement(tag);\n el.id = `${this.nodeIdPrefix}${node.id}`;\n el.style.cssText = BASE_NODE_STYLE;\n\n if (node.role === SemanticRole.text) {\n // The positioned outer div is the AX element\n // VoiceOver uses for its highlight box; an inner <span> carries the text\n // without position:absolute (which would strip the span from VoiceOver's\n // bounds calculation).\n const textSpan = document.createElement(\"span\");\n textSpan.style.cssText = SPAN_EXP;\n el.appendChild(textSpan);\n }\n\n this.attachActionHandlers(el, node);\n return el;\n }\n\n // ---- Action handlers ----\n\n /**\n * Wire arrow-key roving focus for a group member (tab, radio). Arrow keys\n * move focus to the next/previous member (wrapping), optionally Home/End jump\n * to first/last, and the newly focused member receives a tap action.\n */\n private attachRovingNav(\n el: HTMLElement,\n opts: { members: () => HTMLElement[]; includeHomeEnd: boolean }\n ): void {\n el.addEventListener(\"keydown\", (e) => {\n let target: \"next\" | \"prev\" | \"first\" | \"last\" | null = null;\n if (e.key === \"ArrowRight\" || e.key === \"ArrowDown\") target = \"next\";\n else if (e.key === \"ArrowLeft\" || e.key === \"ArrowUp\") target = \"prev\";\n else if (opts.includeHomeEnd && e.key === \"Home\") target = \"first\";\n else if (opts.includeHomeEnd && e.key === \"End\") target = \"last\";\n if (!target) return;\n\n claimKeyEvent(e);\n const members = opts.members();\n const idx = members.indexOf(el);\n if (idx < 0) return;\n\n const n = members.length;\n const next =\n target === \"next\" ? members[(idx + 1) % n]\n : target === \"prev\" ? members[(idx - 1 + n) % n]\n : target === \"first\" ? members[0]\n : members[n - 1];\n\n if (next && next !== el) {\n this.focusElementInPlace(next);\n const nextId = this.nodeIdFromElement(next);\n if (nextId !== null) this.fireAction(nextId, SemanticActionType.tap);\n }\n });\n }\n\n private attachActionHandlers(el: HTMLElement, node: SemanticNodeData): void {\n const role = node.role;\n const nodeId = node.id;\n\n if (isClickableRole(role)) {\n el.addEventListener(\"click\", () => {\n this.fireAction(nodeId, SemanticActionType.tap);\n });\n // Links activate on Enter only (Space scrolls the page per browser\n // convention). All other clickable roles accept both Enter and Space.\n const activationKeys =\n role === SemanticRole.link ? [\"Enter\"] : [\"Enter\", \" \"];\n el.addEventListener(\"keydown\", (e) => {\n if (activationKeys.includes(e.key)) {\n claimKeyEvent(e);\n this.fireAction(nodeId, SemanticActionType.tap);\n }\n });\n }\n\n if (role === SemanticRole.slider) {\n el.addEventListener(\"keydown\", (e) => {\n if (e.key === \"ArrowRight\" || e.key === \"ArrowUp\") {\n claimKeyEvent(e);\n this.fireAction(nodeId, SemanticActionType.increase);\n } else if (e.key === \"ArrowLeft\" || e.key === \"ArrowDown\") {\n claimKeyEvent(e);\n this.fireAction(nodeId, SemanticActionType.decrease);\n }\n });\n }\n\n if (role === SemanticRole.tab) {\n this.attachRovingNav(el, {\n includeHomeEnd: true,\n members: () => {\n const parent = el.parentElement;\n if (!parent) return [];\n return Array.from(parent.children).filter(\n (c): c is HTMLElement =>\n c instanceof HTMLElement && c.getAttribute(\"role\") === \"tab\"\n );\n },\n });\n }\n\n if (role === SemanticRole.radioButton) {\n this.attachRovingNav(el, {\n includeHomeEnd: false,\n members: () => {\n const group =\n el.closest<HTMLElement>('[role=\"radiogroup\"]') ?? el.parentElement;\n if (!group) return [];\n return Array.from(group.querySelectorAll<HTMLElement>('[role=\"radio\"]'));\n },\n });\n }\n\n // Focus handler for nodes with the Focusable trait. When AT focuses an\n // element, notify the C++ runtime so it can update internal focus state\n // (visual focus rings, etc.). Gated on Focusable trait\n if (hasTrait(node.traitFlags, SemanticTrait.Focusable)) {\n el.addEventListener(\"focus\", () => {\n this.requestFocus(nodeId);\n });\n }\n }\n\n // ---- Attribute application ----\n\n private isAriaHidden(node: SemanticNodeData): boolean {\n const role = node.role;\n const flags = node.stateFlags;\n // Hide from AT when explicitly hidden, or when an image has no accessible\n // name — a nameless role=\"img\" is a WCAG 1.1.1 violation; treat it as\n // decorative instead.\n const isDecorativeImage = role === SemanticRole.image && !node.label;\n // The <input> proxy is the accessible element for the node it stands in for.\n const isEditingHostStandIn = node.id === this.editingHostNodeId;\n return (\n hasState(flags, SemanticState.Hidden) ||\n // Obscured text fields stay reachable (value withheld, like a native password input).\n (hasState(flags, SemanticState.Obscured) && role !== SemanticRole.textField) ||\n isDecorativeImage ||\n isEditingHostStandIn\n );\n }\n\n private applyAttributes(el: HTMLElement, node: SemanticNodeData): void {\n this.appliedNodes.set(el, node);\n const role = node.role;\n const flags = node.stateFlags;\n const traits = node.traitFlags;\n\n // Role\n const ariaRole = ariaRoleForSemantic(role);\n if (ariaRole) {\n setAttr(el, \"role\", ariaRole);\n } else {\n removeAttr(el, \"role\");\n }\n\n // Links: a bare <a> with no href has no link semantics, so set the role\n // explicitly (ariaRoleForSemantic returns null for link → native <a>).\n if (role === SemanticRole.link) {\n setAttr(el, \"role\", \"link\");\n }\n\n // Tabindex — keep the screen-reader overlay out of the browser's sequential\n // Tab order. Interactive/focusable nodes remain programmatically focusable\n // so AT/runtime focus sync can still target them when needed. List items are\n // included because Mobile Safari won't iterate them otherwise.\n if (\n isInteractiveRole(role) ||\n hasTrait(traits, SemanticTrait.Focusable) ||\n role === SemanticRole.listItem\n ) {\n setAttr(el, \"tabindex\", \"-1\");\n } else {\n removeAttr(el, \"tabindex\");\n }\n\n // Label / value / hint\n if (node.label) {\n setAttr(el, \"aria-label\", node.label);\n } else {\n removeAttr(el, \"aria-label\");\n }\n\n if (role === SemanticRole.slider) {\n if (node.value) {\n // aria-valuenow must be numeric; keep the display string (e.g. \"75%\")\n // in aria-valuetext only.\n const numericValue = parseFloat(node.value);\n if (Number.isFinite(numericValue)) {\n setAttr(el, \"aria-valuenow\", String(numericValue));\n } else {\n removeAttr(el, \"aria-valuenow\");\n }\n setAttr(el, \"aria-valuetext\", node.value);\n } else {\n removeAttr(el, \"aria-valuenow\");\n removeAttr(el, \"aria-valuetext\");\n }\n // TODO: aria-valuemin / aria-valuemax are required by ARIA.\n // Defaulting to horizontal; vertical sliders need orientation data from C++.\n setAttr(el, \"aria-orientation\", \"horizontal\");\n setBoolAttr(el, \"aria-readonly\", hasState(flags, SemanticState.ReadOnly));\n } else {\n removeAttr(el, \"aria-valuenow\");\n removeAttr(el, \"aria-valuetext\");\n removeAttr(el, \"aria-orientation\");\n removeAttr(el, \"aria-readonly\");\n }\n\n if (node.hint) {\n const descId = `rive-${this.instanceId}-desc-${node.id}`;\n let descEl = this.descElements.get(node.id);\n if (!descEl) {\n descEl = document.createElement(\"span\");\n descEl.id = descId;\n descEl.style.cssText = DESC_SPAN_STYLE;\n this.container.appendChild(descEl);\n this.descElements.set(node.id, descEl);\n }\n if (descEl.textContent !== node.hint) descEl.textContent = node.hint;\n setAttr(el, \"aria-describedby\", descId);\n } else {\n removeAttr(el, \"aria-describedby\");\n const staleDesc = this.descElements.get(node.id);\n if (staleDesc) {\n if (staleDesc.parentNode) staleDesc.parentNode.removeChild(staleDesc);\n this.descElements.delete(node.id);\n }\n }\n\n // Text nodes: use textContent rather than aria-label so screen readers\n // announce the text in virtual/browse mode (aria-label on a bare <span>\n // with no widget role is ignored by some AT in document browse mode).\n if (role === SemanticRole.text) {\n const textSpan = el.querySelector(\":scope > span\") ?? el;\n const text = node.label ?? \"\";\n if (textSpan.textContent !== text) textSpan.textContent = text;\n removeAttr(el, \"aria-label\");\n if (node.headingLevel > 0) {\n setAttr(el, \"role\", \"heading\");\n setAttr(el, \"aria-level\", String(node.headingLevel));\n } else {\n // The generic role branch above already cleared role=\"heading\";\n // aria-level must go with it when a heading reverts to plain text.\n removeAttr(el, \"aria-level\");\n }\n }\n\n // ---- Trait-gated states ----\n // Only set the ARIA property when the trait is present. When the trait\n // is absent, remove the attribute so AT sees \"not applicable\" rather\n // than \"false\".\n\n if (hasTrait(traits, SemanticTrait.Expandable) && ARIA_EXPANDED_ROLES.has(role)) {\n setBoolAttr(el, \"aria-expanded\", hasState(flags, SemanticState.Expanded));\n } else {\n removeAttr(el, \"aria-expanded\");\n }\n\n // aria-selected is required on ALL tabs per ARIA spec regardless of trait;\n // for other roles it is trait-gated and guarded to ARIA_SELECTED_ROLES.\n if (role === SemanticRole.tab) {\n setBoolAttr(el, \"aria-selected\", hasState(flags, SemanticState.Selected));\n } else if (hasTrait(traits, SemanticTrait.Selectable) && ARIA_SELECTED_ROLES.has(role)) {\n setBoolAttr(el, \"aria-selected\", hasState(flags, SemanticState.Selected));\n } else {\n removeAttr(el, \"aria-selected\");\n }\n\n if (hasTrait(traits, SemanticTrait.Checkable) && ARIA_CHECKED_ROLES.has(role)) {\n // Check state is a tri-state field, but not every checkable role\n // accepts all three values — see ARIA_MIXED_ROLES.\n const checkState = checkStateOf(flags);\n if (\n checkState === SemanticCheckState.Mixed &&\n ARIA_MIXED_ROLES.has(role)\n ) {\n setAttr(el, \"aria-checked\", \"mixed\");\n } else {\n setBoolAttr(\n el,\n \"aria-checked\",\n checkState === SemanticCheckState.Checked\n );\n }\n } else {\n removeAttr(el, \"aria-checked\");\n }\n\n if (hasTrait(traits, SemanticTrait.Toggleable)) {\n if (ARIA_PRESSED_ROLES.has(role)) {\n setBoolAttr(el, \"aria-pressed\", hasState(flags, SemanticState.Toggled));\n } else {\n removeAttr(el, \"aria-pressed\");\n }\n // switch uses aria-checked (not aria-pressed) for its on/off state.\n if (role === SemanticRole.switchControl) {\n setBoolAttr(el, \"aria-checked\", hasState(flags, SemanticState.Toggled));\n }\n } else {\n removeAttr(el, \"aria-pressed\");\n }\n\n if (hasTrait(traits, SemanticTrait.Requirable) && ARIA_REQUIRED_ROLES.has(role)) {\n setBoolAttr(el, \"aria-required\", hasState(flags, SemanticState.Required));\n } else {\n removeAttr(el, \"aria-required\");\n }\n\n if (hasTrait(traits, SemanticTrait.Enablable)) {\n setBoolAttr(\n el,\n \"aria-disabled\",\n hasState(flags, SemanticState.Disabled)\n );\n } else {\n removeAttr(el, \"aria-disabled\");\n }\n\n // ---- Non-trait states ----\n\n if (this.isAriaHidden(node)) {\n setAttr(el, \"aria-hidden\", \"true\");\n } else {\n removeAttr(el, \"aria-hidden\");\n }\n\n if (hasState(flags, SemanticState.LiveRegion)) {\n setAttr(el, \"aria-live\", \"polite\");\n } else {\n removeAttr(el, \"aria-live\");\n }\n\n // textField-specific\n // TODO: Details here may change once we implement text inputs\n if (role === SemanticRole.textField) {\n setBoolAttr(el, \"aria-readonly\", hasState(flags, SemanticState.ReadOnly));\n setBoolAttr(\n el,\n \"aria-multiline\",\n hasState(flags, SemanticState.Multiline)\n );\n // Surface the current field value as DOM text so screen readers can\n // announce it. Only safe when the node has no semantic children —\n // setting textContent would remove any child elements from the DOM.\n if (node.children.length === 0) {\n const value = hasState(flags, SemanticState.Obscured) ? \"\" : (node.value ?? \"\");\n if (el.textContent !== value) el.textContent = value;\n } else {\n // A value rendered earlier (before the node had children) must not linger,\n // least of all once the field turns Obscured.\n for (const child of Array.from(el.childNodes)) {\n if (child.nodeType === Node.TEXT_NODE) child.remove();\n }\n }\n } else {\n removeAttr(el, \"aria-multiline\");\n }\n\n // alertDialog is always modal per WAI-ARIA; a plain dialog only when the Modal state flag is set.\n if (isModalDialogRole(role, flags)) {\n setAttr(el, \"aria-modal\", \"true\");\n } else {\n removeAttr(el, \"aria-modal\");\n }\n }\n\n // ---- Positioning ----\n\n /**\n * Positions an element in artboard-space coordinates relative to its parent.\n *\n * Node bounds stay in raw artboard units — the CSS `transform: matrix(...)`\n * on the transform container maps artboard units to CSS pixels in one GPU\n * pass. No per-node forwardMat multiplication or DPR division needed here.\n *\n * Round to whole artboard units before comparing to avoid triggering AX\n * layout notifications from sub-unit floating-point animation jitter.\n */\n private applyPosition(\n el: HTMLElement,\n node: SemanticNodeData,\n parentArtboardLeft: number,\n parentArtboardTop: number\n ): void {\n // Clamp each node's rect to the artboard viewport before computing CSS.\n // Without this, nodes whose artboard bounds exceed the artboard (e.g. a\n // scroll list container whose height is the full content, not the viewport)\n // produce CSS heights that overflow the transform container. WebKit then\n // unions all descendant AX rects and extends the container's AX origin\n // above the canvas regardless of overflow:hidden on ancestors.\n const ab = this._artboardBounds;\n const clampedMinX = Math.max(node.minX, ab.minX);\n const clampedMinY = Math.max(node.minY, ab.minY);\n const clampedMaxX = Math.min(node.maxX, ab.maxX);\n const clampedMaxY = Math.min(node.maxY, ab.maxY);\n\n const elLeft = clampedMinX - parentArtboardLeft;\n const elTop = clampedMinY - parentArtboardTop;\n const elWidth = Math.max(0, clampedMaxX - clampedMinX);\n const elHeight = Math.max(0, clampedMaxY - clampedMinY);\n\n const tx = Math.round(elLeft);\n const ty = Math.round(elTop);\n const pxWidth = Math.round(elWidth) + \"px\";\n const pxHeight = Math.round(elHeight) + \"px\";\n\n // Use left/top layout properties for positioning. VoiceOver reliably\n // handles layout position + a single ancestor CSS transform (the transform\n // container). Chaining CSS transforms across multiple stacking contexts\n // (transform container → node identity → item translate) caused VoiceOver\n // to compute the correct SIZE but wrong POSITION. Artboard clamping above\n // guarantees tx/ty are always ≥ 0, so the negative-top overflow problem\n // that originally prompted the switch to CSS transforms no longer applies.\n const pxLeft = tx + \"px\";\n const pxTop = ty + \"px\";\n if (el.style.left !== pxLeft) el.style.left = pxLeft;\n if (el.style.top !== pxTop) el.style.top = pxTop;\n if (el.style.width !== pxWidth) el.style.width = pxWidth;\n if (el.style.height !== pxHeight) el.style.height = pxHeight;\n // Clear any CSS transform from a previous render pass.\n if (el.style.transform) el.style.transform = \"\";\n\n if (node.role === SemanticRole.text) {\n this.pendingTextGeometry.push(el);\n }\n }\n\n /**\n * Scale each queued text span to fit its layout box, batched so a frame\n * pays at most one synchronous layout: all measurement-reset writes first,\n * then all rect reads, then all transform writes. Interleaving\n * write→read→write per node would force a reflow per text node instead.\n *\n * Nodes whose box size and text are unchanged since the last pass are\n * skipped entirely (their existing transform is still correct — the scale\n * is a ratio of two rects, so ancestor transform changes cancel out).\n */\n private flushTextGeometry(): void {\n if (this.pendingTextGeometry.length === 0) return;\n\n // Phase 1 — writes: reset spans to their natural size for measurement.\n // The previous pass's scale must be cleared, or the rect reads below\n // would measure the scaled span and compound the correction.\n const toMeasure: Array<{ host: HTMLElement; span: HTMLElement; key: string }> = [];\n for (const host of this.pendingTextGeometry) {\n const span = (host.querySelector(\":scope > span\") as HTMLElement | null) ?? host;\n const key = `${host.style.width}|${host.style.height}|${span.textContent}`;\n if (this.textGeometryKeys.get(host) === key) continue;\n span.style.width = \"auto\";\n span.style.height = \"auto\";\n span.style.transformOrigin = \"0 0\";\n span.style.transform = \"\";\n toMeasure.push({ host, span, key });\n }\n this.pendingTextGeometry.length = 0;\n\n // Phase 2 — reads: one layout pass covers every rect measurement.\n const transforms = toMeasure.map(({ host, span }) => {\n const parentRect = host.getBoundingClientRect();\n const natural = span.getBoundingClientRect();\n if (natural.width > 0 && natural.height > 0) {\n const scaleX = parentRect.width / natural.width;\n const scaleY = parentRect.height / natural.height;\n return `scale(${scaleX}, ${scaleY})`;\n }\n return \"none\";\n });\n\n // Phase 3 — writes: apply all transforms.\n for (let i = 0; i < toMeasure.length; i++) {\n const { host, span, key } = toMeasure[i];\n span.style.transform = transforms[i];\n this.textGeometryKeys.set(host, key);\n }\n }\n\n // ---- Transform container ----\n\n /**\n * Creates (on first call) and updates the artboard-space transform container.\n *\n * The container is sized to the artboard dimensions and carries a CSS\n * `transform: matrix(...)` that maps artboard coordinates to the canvas's CSS box\n * (forwardMat in backing-store pixels, scaled by CSS size / backing-store size). All semantic\n * node elements are children of this container and use raw artboard\n * coordinates as their CSS `left/top/width/height`, so the CSS compositor\n * applies the artboard→screen mapping in one pass.\n */\n private syncTransformContainer(\n forwardMat: rc.Mat2D,\n dpr: number,\n artboardBounds: rc.AABB\n ): void {\n if (!this.transformContainer) {\n const tc = document.createElement(\"div\");\n tc.style.cssText = [\n \"position:absolute\",\n \"top:0\",\n \"left:0\",\n // overflow:visible — artboard viewport clamping is done per-node in\n // applyPosition\n \"overflow:visible\",\n \"pointer-events:none\",\n \"transform-origin:0 0\",\n ].join(\";\");\n this.container.appendChild(tc);\n this.transformContainer = tc;\n }\n\n const w = artboardBounds.maxX - artboardBounds.minX;\n const h = artboardBounds.maxY - artboardBounds.minY;\n this.transformContainer.style.width = Math.round(w) + \"px\";\n this.transformContainer.style.height = Math.round(h) + \"px\";\n\n // Backing-store pixels → CSS pixels. Measured rather than 1/dpr: a canvas can be\n // stretched by CSS, or have a stale backing store after a resize, and the drawn\n // content follows the CSS box either way. Equal to 1/dpr when they match.\n const cssWidth = this.lastCanvasPositioning.width;\n const cssHeight = this.lastCanvasPositioning.height;\n const fallback = 1 / (dpr || 1);\n const sx = this.canvas.width > 0 && cssWidth > 0 ? cssWidth / this.canvas.width : fallback;\n const sy = this.canvas.height > 0 && cssHeight > 0 ? cssHeight / this.canvas.height : fallback;\n const a = forwardMat.xx * sx;\n const b = forwardMat.xy * sy;\n const c = forwardMat.yx * sx;\n const d = forwardMat.yy * sy;\n const tx = forwardMat.tx * sx;\n const ty = forwardMat.ty * sy;\n this.transformContainer.style.transform =\n `matrix(${a},${b},${c},${d},${tx},${ty})`;\n }\n}\n\n// ---------------------------------------------------------------------------\n// Static helpers (module-private)\n// ---------------------------------------------------------------------------\n\n// ---------------------------------------------------------------------------\n// ARIA attribute eligibility — role sets\n//\n// Each set lists the Rive roles for which a given ARIA attribute is valid per\n// WAI-ARIA 1.2 (\"Used in roles\" + \"Inherits into roles\"). The trait-gated\n// blocks in applyAttributes check these before setting an attribute so that\n// C++ nodes with unexpected trait combinations never produce invalid markup.\n//\n// To add a new role: append it to the relevant set(s) here — no other changes\n// needed in applyAttributes.\n// ---------------------------------------------------------------------------\n\n/** aria-expanded: button, link, checkbox, switch (inherits button), tab. */\nconst ARIA_EXPANDED_ROLES: Set<number> = new Set([\n SemanticRole.button,\n SemanticRole.link,\n SemanticRole.checkbox,\n SemanticRole.switchControl,\n SemanticRole.tab,\n]);\n\n/**\n * aria-selected: tab is the only role in our current set that natively\n * supports it. Tab is also handled by an explicit unconditional branch in\n * applyAttributes (ARIA requires it there regardless of Selectable trait), but\n * the set still lists it so the constraint is visible in one place.\n */\nconst ARIA_SELECTED_ROLES: Set<number> = new Set([\n SemanticRole.tab,\n]);\n\n/** aria-checked: checkbox, radio, switch. */\nconst ARIA_CHECKED_ROLES: Set<number> = new Set([\n SemanticRole.checkbox,\n SemanticRole.radioButton,\n SemanticRole.switchControl,\n]);\n\n/**\n * aria-checked=\"mixed\": checkbox only. ARIA defines checkbox as three-valued\n * (true/false/mixed) but radio and switch as two-valued (true/false), so an\n * indeterminate check state degrades to false for those roles rather than\n * emitting a value they do not support.\n */\nconst ARIA_MIXED_ROLES: Set<number> = new Set([\n SemanticRole.checkbox,\n]);\n\n/**\n * aria-pressed: button only. switch is a button subclass in ARIA but uses\n * aria-checked (not aria-pressed) for its on/off state — it is intentionally\n * excluded here and handled separately in the Toggleable block.\n */\nconst ARIA_PRESSED_ROLES: Set<number> = new Set([\n SemanticRole.button,\n]);\n\n/** aria-required: checkbox, textbox, radiogroup. */\nconst ARIA_REQUIRED_ROLES: Set<number> = new Set([\n SemanticRole.checkbox,\n SemanticRole.textField,\n SemanticRole.radioGroup,\n]);\n\n// ---------------------------------------------------------------------------\n\n/** Style for visually-hidden description spans used with aria-describedby. */\nconst DESC_SPAN_STYLE = [\n \"position:absolute\",\n \"width:1px\",\n \"height:1px\",\n \"overflow:hidden\",\n \"pointer-events:none\",\n \"left:-9999px\",\n].join(\";\");\n\nconst BASE_NODE_STYLE = [\n \"position:absolute\",\n \"pointer-events:none\",\n \"box-sizing:border-box\",\n \"overflow:visible\",\n \"margin:0\",\n \"padding:0\",\n \"transform-origin: 0px 0px 0px\",\n \"border:none\",\n \"background:transparent\",\n \"color:transparent\",\n // \"list-style:none\",\n].join(\";\");\n\nconst SPAN_EXP = [\n \"display:inline-block\",\n \"white-space:nowrap\",\n \"pointer-events:none\",\n].join(\";\");\n\n/**\n * Attribute writers that skip same-value mutations. Even a no-op setAttribute\n * fires a mutation record, and whether AX layers dedupe those is\n * browser-specific — skipping the write is the only browser-proof guard.\n */\nfunction setAttr(el: Element, attr: string, value: string): void {\n if (el.getAttribute(attr) !== value) el.setAttribute(attr, value);\n}\n\nfunction removeAttr(el: Element, attr: string): void {\n if (el.hasAttribute(attr)) el.removeAttribute(attr);\n}\n\nfunction setBoolAttr(el: HTMLElement, attr: string, value: boolean): void {\n setAttr(el, attr, value ? \"true\" : \"false\");\n}\n\n/** Roles that receive click/Enter/Space action handlers. */\nfunction isClickableRole(role: number): boolean {\n switch (role) {\n case SemanticRole.button:\n case SemanticRole.link:\n case SemanticRole.checkbox:\n case SemanticRole.switchControl:\n case SemanticRole.tab:\n case SemanticRole.radioButton:\n return true;\n default:\n return false;\n }\n}\n\n/** Roles that receive tabindex=\"-1\" for programmatic/AT focus (not Tab order). */\nfunction isInteractiveRole(role: number): boolean {\n switch (role) {\n case SemanticRole.button:\n case SemanticRole.link:\n case SemanticRole.checkbox:\n case SemanticRole.switchControl:\n case SemanticRole.slider:\n case SemanticRole.tab:\n case SemanticRole.radioButton:\n case SemanticRole.textField:\n return true;\n default:\n return false;\n }\n}\n\n/**\n * A modal/alert dialog: alertDialog is always modal per WAI-ARIA, a plain\n * dialog only when the Modal state flag is set.\n */\nfunction isModalDialogRole(role: number, flags: number): boolean {\n return (\n role === SemanticRole.alertDialog ||\n (role === SemanticRole.dialog && hasState(flags, SemanticState.Modal))\n );\n}\n\n/** Whether a node can receive focus: an interactive role or the Focusable trait. */\nfunction isFocusableNode(node: SemanticNodeData): boolean {\n return (\n isInteractiveRole(node.role) ||\n hasTrait(node.traitFlags, SemanticTrait.Focusable)\n );\n}\n\n/**\n * Choose an HTML tag for a given role. Prefer native semantic elements\n * where they exist — screen readers treat them more reliably than\n * generic elements with ARIA role overrides.\n */\nfunction tagForRole(role: number): string {\n switch (role) {\n case SemanticRole.link:\n return \"a\";\n case SemanticRole.text:\n // The outer div is the positioned AX element VoiceOver measures for its\n // highlight box. The text itself lives in a child <span> (see createElement).\n return \"div\";\n default:\n return \"div\";\n }\n}\n\n/**\n * Maps a Rive SemanticRole to an ARIA `role` attribute value.\n * Returns null for roles that don't need an explicit role attribute here\n * (e.g. text nodes use an outer div + inner span with textContent; heading\n * role is applied separately when headingLevel > 0).\n */\nfunction ariaRoleForSemantic(role: number): string | null {\n switch (role) {\n case SemanticRole.none:\n // TODO: Role \"none\" removes the node from the accessibility tree. For now, setting to Group, but maybe we want to switch to \"none\"\n // or \"presentation\".\n return \"group\";\n case SemanticRole.button:\n return \"button\";\n case SemanticRole.link:\n return null; // native <a>\n case SemanticRole.checkbox:\n return \"checkbox\";\n case SemanticRole.switchControl:\n return \"switch\";\n case SemanticRole.slider:\n return \"slider\";\n case SemanticRole.textField:\n return \"textbox\";\n case SemanticRole.image:\n return \"img\";\n case SemanticRole.group:\n return \"group\";\n case SemanticRole.list:\n return \"list\";\n case SemanticRole.listItem:\n return \"listitem\";\n case SemanticRole.tab:\n return \"tab\";\n case SemanticRole.tabList:\n return \"tablist\";\n case SemanticRole.dialog:\n return \"dialog\";\n case SemanticRole.alertDialog:\n return \"alertdialog\";\n case SemanticRole.radioGroup:\n return \"radiogroup\";\n case SemanticRole.radioButton:\n return \"radio\";\n case SemanticRole.text:\n // Text nodes use <span>; heading role is applied separately\n // when headingLevel > 0.\n return null;\n default:\n return null;\n }\n}\n","const claimed = new WeakSet<Event>();\n\n/**\n * Marks a key event as handled by a semantic overlay widget (and prevents its\n * default), so the Rive keyboard handler leaves it alone. A plain\n * `defaultPrevented` check can't tell these apart from host-page handlers.\n */\nexport function claimKeyEvent(event: Event): void {\n event.preventDefault();\n claimed.add(event);\n}\n\nexport function isKeyEventClaimed(event: Event): boolean {\n return claimed.has(event);\n}\n","/**\n * Canvas offset within its offsetParent, minus the scroll of ancestors in between (they\n * move the canvas, not absolutely positioned siblings).\n */\nexport function canvasOffset(canvas: HTMLElement): { top: number; left: number } {\n let top = canvas.offsetTop;\n let left = canvas.offsetLeft;\n const offsetParent = canvas.offsetParent;\n if (!offsetParent) return { top, left };\n for (let el = canvas.parentElement; el && el !== offsetParent; el = el.parentElement) {\n top -= el.scrollTop;\n left -= el.scrollLeft;\n }\n return { top, left };\n}\n","export { registerTouchInteractions } from \"./registerTouchInteractions\";\nexport { KeyboardInteractions, FocusSessionState } from \"./registerKeyboardInteractions\";\nexport type { KeyboardInteractionsParams } from \"./registerKeyboardInteractions\";\nexport { BLANK_URL, sanitizeUrl } from \"./sanitizeUrl\";\nexport {\n Finalizable,\n ImageWrapper,\n AudioWrapper,\n FontWrapper,\n FileAssetWrapper,\n ImageAssetWrapper,\n AudioAssetWrapper,\n FontAssetWrapper,\n finalizationRegistry,\n CustomFileAssetLoaderWrapper,\n AssetLoadCallbackWrapper,\n FileFinalizer,\n createFinalization,\n} from \"./finalizationRegistry\";\nexport { RiveFont } from \"./riveFont\";","import * as rc from \"../rive_advanced.mjs\";\n\n// A detented wheel reports lines; the runtime wants pixels.\nconst PIXELS_PER_LINE = 16;\n// ScrollPhase.update. The DOM reports no gesture phase, so every wheel event\n// is an update and the runtime closes the gesture once it goes quiet.\nconst SCROLL_PHASE_UPDATE = 1;\n\nexport interface TouchInteractionsParams {\n canvas: HTMLCanvasElement | OffscreenCanvas;\n artboard: rc.Artboard;\n stateMachines: rc.StateMachineInstance[];\n renderer: rc.Renderer;\n rive: rc.RiveCanvas;\n fit: rc.Fit;\n alignment: rc.Alignment;\n isTouchScrollEnabled?: boolean;\n dispatchPointerExit?: boolean;\n enableMultiTouch?: boolean;\n layoutScaleFactor?: number;\n // Handles advancing the state machine and draining events/view model property callbacks, applicable to certain pointer interactions\n // pointerDown: the drain runs inside touchstart/mousedown\n advanceAndDrain: (\n elapsedTime: number,\n options?: { pointerDown?: boolean },\n ) => void;\n summonKeyboard?: () => void;\n // True while the text input proxy holds DOM focus\n isTextProxyFocused?: () => boolean;\n}\n\n/**\n * Last known client position of each touch that reached the scene, by\n * identifier.\n */\ntype TrackedTouches = Map<number, { clientX: number; clientY: number }>;\n\ninterface CanvasTouchState {\n touches: TrackedTouches;\n // The finger single-touch mode follows; null when none is down\n primaryTouchId: number | null;\n}\n\n/**\n * Touch state per canvas. It outlives a single registration, because Rive\n * re-registers the listeners (on play and pause) while a finger can still be\n * down.\n */\nconst touchStateByCanvas = new WeakMap<\n HTMLCanvasElement | OffscreenCanvas,\n CanvasTouchState\n>();\n\ninterface ClientCoordinates {\n clientX: number;\n clientY: number;\n identifier: number;\n transformedX?: number | undefined;\n transformedY?: number | undefined;\n}\n\n/**\n * Extracts ClientCoordinates from a TouchList, respecting multi-touch vs.\n * single-touch mode. In single-touch mode, only the touch matching\n * primaryTouchId is returned (or the first touch when primaryTouchId is null).\n */\nconst getTouchCoordinates = (\n changedTouches: TouchList,\n enableMultiTouch: boolean,\n primaryTouchId: number | null,\n): ClientCoordinates[] => {\n const coordinates: ClientCoordinates[] = [];\n if (enableMultiTouch) {\n for (let i = 0; i < changedTouches.length; i++) {\n const touch = changedTouches[i];\n coordinates.push({\n clientX: touch.clientX,\n clientY: touch.clientY,\n identifier: touch.identifier,\n });\n }\n } else {\n // In \"single-touch mode\", only track the primary finger identified at touchstart.\n // Search changedTouches for the touch matching the recorded primary touch identifier, or (on initial touchstart)\n // take the first available touch identifier.\n let primaryTouch: Touch | null =\n primaryTouchId !== null\n ? Array.from(changedTouches).find(\n (t) => t.identifier === primaryTouchId,\n ) ?? null\n : changedTouches[0];\n if (primaryTouch) {\n coordinates.push({\n clientX: primaryTouch.clientX,\n clientY: primaryTouch.clientY,\n identifier: primaryTouch.identifier,\n });\n }\n }\n return coordinates;\n};\n\n/**\n * Returns the clientX and clientY properties from touch or mouse events. Also\n * calls preventDefault() on the event if it is a touchstart or touchmove to prevent\n * scrolling the page on mobile devices\n * @param event - Either a TouchEvent or a MouseEvent\n * @param isTouchScrollEnabled - Whether touch scrolling is enabled\n * @param enableMultiTouch - Whether to process multiple simultaneous touches\n * @param primaryTouchId - When working with single touches, only process the touch\n * with this identifier. Pass null to accept any touch (used during touchstart to\n * capture the first finger down).\n * @returns - Coordinates of the clientX and clientY properties from the touch/mouse event\n */\nconst getClientCoordinates = (\n event: MouseEvent | TouchEvent,\n isTouchScrollEnabled: boolean,\n enableMultiTouch: boolean,\n primaryTouchId: number | null,\n): ClientCoordinates[] => {\n const touchEvent = event as TouchEvent;\n if (touchEvent.changedTouches?.length) {\n // This flag, if false, prevents touch events on the canvas default behavior\n // which may prevent scrolling if a drag motion on the canvas is performed\n if (!isTouchScrollEnabled && [\"touchstart\", \"touchmove\"].includes(event.type)) {\n event.preventDefault();\n }\n return getTouchCoordinates(touchEvent.changedTouches, enableMultiTouch, primaryTouchId);\n }\n return [\n {\n clientX: (event as MouseEvent).clientX,\n clientY: (event as MouseEvent).clientY,\n identifier: 0,\n },\n ];\n};\n\n/**\n * Registers mouse move/up/down and wheel callback handlers on the canvas to send meaningful\n * coordinates to the state machine pointer move/up/down/scroll functions based on cursor\n * interaction\n */\nexport const registerTouchInteractions = ({\n canvas,\n artboard,\n stateMachines = [],\n renderer,\n rive,\n fit,\n alignment,\n isTouchScrollEnabled = false,\n dispatchPointerExit = true,\n enableMultiTouch = false,\n layoutScaleFactor = 1.0,\n advanceAndDrain,\n summonKeyboard,\n isTextProxyFocused,\n}: TouchInteractionsParams) => {\n if (\n !canvas ||\n !stateMachines.length ||\n !renderer ||\n !rive ||\n !artboard ||\n typeof window === \"undefined\"\n ) {\n return null;\n }\n // A gesture latched before the previous listeners came down (a pause, say)\n // never reached its idle timeout, and would take the next wheel wherever\n // it lands. These instances are live here; at teardown they may not be.\n for (const stateMachine of stateMachines) {\n stateMachine.cancelScroll();\n }\n /**\n * After a touchend event, some browsers may fire synthetic mouse events\n * (mouseover, mousedown, mousemove, mouseup) if the touch interaction did not cause\n * any default action (such as scrolling).\n *\n * This is done to simulate the behavior of a mouse for applications that do not support\n * touch events.\n *\n * We're keeping track of the previous event to not send the synthetic mouse events if the\n * touch event was a click (touchstart -> touchend).\n *\n * Emulated events only occur when `isTouchScrollEnabled` is true; when false,\n * touchstart is default-prevented, which suppresses them.\n * Emulated mousedown is prevented while the proxy is focused, or it would blur it and\n * drop the keyboard.\n **/\n let _prevEventType: string | null = null;\n let _syntheticEventsActive = false;\n\n /**\n * primaryTouchId: when enableMultiTouch is false (\"single-touch mode\"),\n * we track the identifier of the first finger that touched down. All\n * subsequent touch events are filtered to this identifier so that a second\n * finger moving cannot displace the tracked pointer position. Reset to null\n * when the primary finger lifts (or touchcancel is called).\n *\n * touches: a cancel may report no position, or none at all for some\n * touches, so it ends them where they were last seen.\n */\n const _touchState: CanvasTouchState = touchStateByCanvas.get(canvas) ?? {\n touches: new Map(),\n primaryTouchId: null,\n };\n touchStateByCanvas.set(canvas, _touchState);\n const _activeTouches = _touchState.touches;\n\n /**\n * A finger can lift while no listeners are registered (after stop(), say),\n * so its touchend never arrives. A touchstart or touchmove lists every\n * finger still down in `touches`; forget the rest.\n */\n const forgetLiftedTouches = ({ touches, changedTouches }: TouchEvent) => {\n if (!touches) {\n return;\n }\n const down = new Set<number>();\n for (let i = 0; i < touches.length; i++) {\n down.add(touches[i].identifier);\n }\n for (let i = 0; i < (changedTouches?.length ?? 0); i++) {\n down.add(changedTouches[i].identifier);\n }\n _activeTouches.forEach((_, identifier) => {\n if (!down.has(identifier)) {\n _activeTouches.delete(identifier);\n }\n });\n if (\n _touchState.primaryTouchId !== null &&\n !down.has(_touchState.primaryTouchId)\n ) {\n _touchState.primaryTouchId = null;\n }\n };\n\n /**\n * Maps client-space points into Artboard space through the fit and alignment\n * of the canvas.\n */\n const mapToArtboard = (\n boundingRect: DOMRect,\n points: { clientX: number; clientY: number }[],\n ): { x: number; y: number }[] => {\n const forwardMatrix = rive.computeAlignment(\n fit,\n alignment,\n {\n minX: 0,\n minY: 0,\n maxX: boundingRect.width,\n maxY: boundingRect.height,\n },\n artboard.bounds,\n layoutScaleFactor,\n );\n const invertedMatrix = new rive.Mat2D();\n forwardMatrix.invert(invertedMatrix);\n\n const mapped = points.map(({ clientX, clientY }) => {\n const canvasX = clientX - boundingRect.left;\n const canvasY = clientY - boundingRect.top;\n const canvasCoordinatesVector = new rive.Vec2D(canvasX, canvasY);\n const transformedVector = rive.mapXY(\n invertedMatrix,\n canvasCoordinatesVector,\n );\n const point = { x: transformedVector.x(), y: transformedVector.y() };\n transformedVector.delete();\n canvasCoordinatesVector.delete();\n return point;\n });\n\n invertedMatrix.delete();\n forwardMatrix.delete();\n return mapped;\n };\n\n const processEventCallback = (event: MouseEvent | TouchEvent) => {\n // Exit early out of all synthetic mouse events\n // https://stackoverflow.com/questions/9656990/how-to-prevent-simulated-mouse-events-in-mobile-browsers\n // https://stackoverflow.com/questions/25572070/javascript-touchend-versus-click-dilemma\n if (_syntheticEventsActive && event instanceof MouseEvent) {\n if (event.type === \"mousedown\" && isTextProxyFocused?.()) {\n event.preventDefault();\n }\n // Synthetic event finished\n if (event.type == \"mouseup\") {\n _syntheticEventsActive = false;\n }\n\n return;\n }\n\n // Test if it's a \"touch click\". This could cause the browser to send\n // synthetic mouse events.\n _syntheticEventsActive =\n isTouchScrollEnabled &&\n event.type === \"touchend\" &&\n _prevEventType === \"touchstart\";\n\n _prevEventType = event.type;\n\n const boundingRect = (\n event.currentTarget as HTMLCanvasElement\n ).getBoundingClientRect();\n\n if (event.type === \"touchstart\" || event.type === \"touchmove\") {\n forgetLiftedTouches(event as TouchEvent);\n }\n\n // On touchstart in single-touch mode, record the first new finger as the primary\n // touch if we aren't already tracking one.\n if (!enableMultiTouch && event.type === \"touchstart\" && _touchState.primaryTouchId === null) {\n const firstTouch = (event as TouchEvent).changedTouches?.[0];\n if (firstTouch) {\n _touchState.primaryTouchId = firstTouch.identifier;\n }\n }\n\n const coordinateSets = getClientCoordinates(\n event,\n isTouchScrollEnabled,\n enableMultiTouch,\n enableMultiTouch ? null : _touchState.primaryTouchId,\n );\n const positionedSets = coordinateSets.filter(\n (coordinateSet) => coordinateSet.clientX || coordinateSet.clientY,\n );\n mapToArtboard(boundingRect, positionedSets).forEach((point, i) => {\n positionedSets[i].transformedX = point.x;\n positionedSets[i].transformedY = point.y;\n });\n\n // Only a touchstart the scene saw starts tracking a touch, so a finger\n // that single-touch mode ignored can never be ended by a cancel. Any\n // finger that lifts stops being tracked, whether or not the scene saw it.\n if (event.type === \"touchend\") {\n const lifted: ArrayLike<Touch> =\n (event as TouchEvent).changedTouches ?? [];\n for (let i = 0; i < lifted.length; i++) {\n _activeTouches.delete(lifted[i].identifier);\n }\n } else if (event.type === \"touchstart\" || event.type === \"touchmove\") {\n coordinateSets.forEach(({ clientX, clientY, identifier }) => {\n const tracked = _activeTouches.has(identifier);\n if (event.type === \"touchstart\" && !tracked) {\n _activeTouches.set(identifier, { clientX, clientY });\n } else if (tracked && (clientX || clientY)) {\n _activeTouches.set(identifier, { clientX, clientY });\n }\n });\n }\n\n switch (event.type) {\n /**\n * There's a 2px buffer for a hitRadius when translating the pointer coordinates\n * down to the state machine. In cases where the hitbox is about that much away\n * from the Artboard border, we don't have exact precision on determining pointer\n * exit. We're therefore adding to the translated coordinates on mouseout of a canvas\n * to ensure that we report the mouse has truly exited the hitarea.\n * https://github.com/rive-app/rive-cpp/blob/master/src/animation/state_machine_instance.cpp#L336\n *\n */\n case \"mouseout\":\n for (const stateMachine of stateMachines) {\n if (dispatchPointerExit) {\n coordinateSets.forEach((coordinateSet) => {\n stateMachine.pointerExit(\n coordinateSet.transformedX,\n coordinateSet.transformedY,\n coordinateSet.identifier,\n );\n });\n } else {\n coordinateSets.forEach((coordinateSet) => {\n stateMachine.pointerMove(\n coordinateSet.transformedX,\n coordinateSet.transformedY,\n coordinateSet.identifier,\n );\n });\n }\n }\n break;\n\n // Pointer moving/hovering on the canvas\n case \"touchmove\":\n case \"mouseover\":\n case \"mousemove\": {\n for (const stateMachine of stateMachines) {\n coordinateSets.forEach((coordinateSet) => {\n stateMachine.pointerMove(\n coordinateSet.transformedX,\n coordinateSet.transformedY,\n coordinateSet.identifier,\n );\n });\n }\n break;\n }\n // Pointer click initiated but not released yet on the canvas\n case \"touchstart\":\n case \"mousedown\": {\n for (const stateMachine of stateMachines) {\n coordinateSets.forEach((coordinateSet) => {\n stateMachine.pointerDown(\n coordinateSet.transformedX,\n coordinateSet.transformedY,\n coordinateSet.identifier,\n );\n });\n }\n // Advance the state machine immediately so pointer down(s) takes effect synchronously\n advanceAndDrain(0, { pointerDown: true });\n break;\n }\n // Pointer click released on the canvas\n case \"touchend\": {\n for (const stateMachine of stateMachines) {\n coordinateSets.forEach((coordinateSet) => {\n stateMachine.pointerUp(\n coordinateSet.transformedX,\n coordinateSet.transformedY,\n coordinateSet.identifier,\n );\n stateMachine.pointerExit(\n coordinateSet.transformedX,\n coordinateSet.transformedY,\n coordinateSet.identifier,\n );\n });\n }\n // Advance the state machine immediately so pointer up(s) takes effect synchronously\n advanceAndDrain(0);\n // Still inside the touch gesture — summon the keyboard if the tap focused a\n // text input\n summonKeyboard?.();\n // Release the primary touch lock once that finger lifts so the next\n // touchstart can claim a new primary finger.\n if (\n !enableMultiTouch &&\n coordinateSets.some(\n (c) => c.identifier === _touchState.primaryTouchId,\n )\n ) {\n _touchState.primaryTouchId = null;\n }\n break;\n }\n case \"mouseup\": {\n for (const stateMachine of stateMachines) {\n coordinateSets.forEach((coordinateSet) => {\n stateMachine.pointerUp(\n coordinateSet.transformedX,\n coordinateSet.transformedY,\n coordinateSet.identifier,\n );\n });\n }\n // Advance the state machine immediately so pointer up(s) takes effect synchronously\n advanceAndDrain(0);\n summonKeyboard?.();\n break;\n }\n default:\n }\n };\n\n /**\n * The browser cancels a touch when the system takes the gesture: a home\n * indicator or edge swipe, an app switch, an alert. Each cancelled touch\n * gets pointerUp then pointerExit, like a lifted finger, so anything\n * waiting for the release doesn't stay pressed. It skips the tap-only side\n * effects (keyboard, emulated mouse events). A page scroll does not cancel\n * the touch in iOS Safari or Android Chrome (it ends with a touchend), so\n * this holds with touch scrolling enabled too.\n */\n const touchCancelCallback = (event: TouchEvent) => {\n const cancelled = new Set<number>();\n const changedTouches: ArrayLike<Touch> = event.changedTouches ?? [];\n for (let i = 0; i < changedTouches.length; i++) {\n const { identifier, clientX, clientY } = changedTouches[i];\n // Touches the scene never saw (a secondary finger in single-touch\n // mode, or one that already ended) are not tracked.\n if (!_activeTouches.has(identifier)) {\n continue;\n }\n cancelled.add(identifier);\n if (clientX || clientY) {\n _activeTouches.set(identifier, { clientX, clientY });\n }\n }\n // A cancel can name only some of the touches, or none. `touches` lists\n // every finger still down, so end any tracked touch missing from it.\n const down = new Set<number>();\n const touches: ArrayLike<Touch> = event.touches ?? [];\n for (let i = 0; i < touches.length; i++) {\n down.add(touches[i].identifier);\n }\n _activeTouches.forEach((_, identifier) => {\n if (!down.has(identifier)) {\n cancelled.add(identifier);\n }\n });\n if (\n _touchState.primaryTouchId === null ||\n cancelled.has(_touchState.primaryTouchId)\n ) {\n _touchState.primaryTouchId = null;\n }\n if (!cancelled.size) {\n return;\n }\n\n const identifiers = Array.from(cancelled);\n const points = mapToArtboard(\n (event.currentTarget as HTMLCanvasElement).getBoundingClientRect(),\n identifiers.map((identifier) => _activeTouches.get(identifier)!),\n );\n identifiers.forEach((identifier) => _activeTouches.delete(identifier));\n for (const stateMachine of stateMachines) {\n identifiers.forEach((identifier, i) => {\n const { x, y } = points[i];\n stateMachine.pointerUp(x, y, identifier);\n stateMachine.pointerExit(x, y, identifier);\n });\n }\n // Advance immediately so the release takes effect synchronously\n advanceAndDrain(0);\n };\n\n /**\n * Forwards wheel and trackpad scrolling to the state machines. The page keeps\n * the wheel unless a scroll view actually moves, so it still scrolls when\n * Rive has nothing to scroll or a view sits at its edge.\n */\n const wheelCallback = (event: WheelEvent) => {\n // Pinch zoom arrives as a ctrl+wheel and belongs to the page. A wheel that\n // can't be cancelled is part of a sequence the page is already scrolling;\n // taking it too would move both.\n if (event.ctrlKey || !event.cancelable) {\n return;\n }\n // Read before the deltas: Firefox reports pixels once a delta has been\n // read first.\n const deltaMode = event.deltaMode;\n let deltaX = event.deltaX;\n let deltaY = event.deltaY;\n // Shift+wheel scrolls sideways. Most browsers already report it on the x\n // axis; a vertical-only view would decline it on y.\n if (event.shiftKey && !deltaX) {\n deltaX = deltaY;\n deltaY = 0;\n }\n\n const boundingRect = (\n event.currentTarget as HTMLCanvasElement\n ).getBoundingClientRect();\n // A page is the canvas's visible size, the nearest the host can get to the\n // scroll view's own.\n const toPixelsX =\n deltaMode === WheelEvent.DOM_DELTA_LINE\n ? PIXELS_PER_LINE\n : deltaMode === WheelEvent.DOM_DELTA_PAGE\n ? boundingRect.width\n : 1;\n const toPixelsY =\n deltaMode === WheelEvent.DOM_DELTA_LINE\n ? PIXELS_PER_LINE\n : deltaMode === WheelEvent.DOM_DELTA_PAGE\n ? boundingRect.height\n : 1;\n // The DOM reports how far to scroll; the runtime wants how far content\n // travels.\n const scrollX = -deltaX * toPixelsX;\n const scrollY = -deltaY * toPixelsY;\n if (!scrollX && !scrollY) {\n return;\n }\n\n // Mapping both ends of the delta keeps only the scale of the fit.\n const [position, moved] = mapToArtboard(boundingRect, [\n { clientX: event.clientX, clientY: event.clientY },\n { clientX: event.clientX + scrollX, clientY: event.clientY + scrollY },\n ]);\n // The DOM never says whether a pixel delta came from a trackpad, so it\n // counts as precise either way, as it does in the browser's own scrolling.\n const precise = deltaMode === WheelEvent.DOM_DELTA_PIXEL;\n const timeStamp = event.timeStamp / 1000;\n\n // A latched state machine owns the rest of its gesture, even past its edge.\n const latched = stateMachines.filter((sm) => sm.hasScrollLatch());\n const ordered = latched.concat(\n stateMachines.filter((sm) => latched.indexOf(sm) === -1),\n );\n const consumed = ordered.some(\n (stateMachine) =>\n stateMachine.pointerScroll(\n position.x,\n position.y,\n moved.x - position.x,\n moved.y - position.y,\n SCROLL_PHASE_UPDATE,\n precise,\n timeStamp,\n 0,\n ) !== 0,\n );\n if (!consumed) {\n return;\n }\n event.preventDefault();\n // Advance now so the scroll lands on the next frame drawn.\n advanceAndDrain(0);\n };\n\n const callback = processEventCallback.bind(this);\n canvas.addEventListener(\"mouseover\", callback);\n canvas.addEventListener(\"mouseout\", callback);\n canvas.addEventListener(\"mousemove\", callback);\n canvas.addEventListener(\"mousedown\", callback);\n canvas.addEventListener(\"mouseup\", callback);\n canvas.addEventListener(\"touchmove\", callback, {\n passive: isTouchScrollEnabled,\n });\n canvas.addEventListener(\"touchstart\", callback, {\n passive: isTouchScrollEnabled,\n });\n canvas.addEventListener(\"touchend\", callback);\n canvas.addEventListener(\"touchcancel\", touchCancelCallback);\n // Not passive, or preventDefault could not keep the page from scrolling.\n canvas.addEventListener(\"wheel\", wheelCallback, { passive: false });\n return () => {\n canvas.removeEventListener(\"mouseover\", callback);\n canvas.removeEventListener(\"mouseout\", callback);\n canvas.removeEventListener(\"mousemove\", callback);\n canvas.removeEventListener(\"mousedown\", callback);\n canvas.removeEventListener(\"mouseup\", callback);\n canvas.removeEventListener(\"touchmove\", callback);\n canvas.removeEventListener(\"touchstart\", callback);\n canvas.removeEventListener(\"touchend\", callback);\n canvas.removeEventListener(\"touchcancel\", touchCancelCallback);\n canvas.removeEventListener(\"wheel\", wheelCallback);\n };\n};\n","import * as rc from \"../rive_advanced.mjs\";\nimport { Key, keyboardEventToRiveKey, modifiersFromEvent } from \"./keyMap\";\nimport { isKeyEventClaimed } from \"../semantics/claimedKeyEvents\";\nimport { TextInputProxy } from \"./textInputProxy\";\n\n/**\n * Defaults suppressed while typing (scroll/navigate/submit). Tab is traversal's; proxy\n * Space returns earlier as a printable.\n */\nconst EDITING_NAV_CODES = new Set<string>([\n \"Space\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"ArrowUp\",\n \"ArrowDown\",\n \"Backspace\",\n \"Delete\",\n \"Home\",\n \"End\",\n \"Enter\",\n \"NumpadEnter\",\n]);\n\n/** A keystroke that types a character (not a Ctrl/Cmd shortcut). */\nfunction isPrintable(event: KeyboardEvent): boolean {\n return event.key.length === 1 && !event.ctrlKey && !event.metaKey;\n}\n\nfunction isArrowKey(key: number): boolean {\n return (\n key === Key.left || key === Key.right || key === Key.up || key === Key.down\n );\n}\n\n/**\n * Alt/Ctrl/Meta arrows are browser/OS shortcuts (Alt+Left = back, Cmd+Arrow, etc.).\n * Shift is allowed: it is the spatial-navigation chord in Vivaldi/Opera.\n */\nfunction hasShortcutModifier(event: KeyboardEvent): boolean {\n return event.altKey || event.ctrlKey || event.metaKey;\n}\n\nexport interface KeyboardInteractionsParams {\n canvas: HTMLCanvasElement;\n stateMachine: rc.StateMachineInstance;\n /**\n * Whether this canvas has focus nodes that should participate in tab traversal.\n * When true, Tab/Shift+Tab will be intercepted and routed to the Rive focus manager.\n * Tab is released to the page only when focusNext() returns false and Rive no longer holds\n * focus; a Stop edge also returns false but keeps focus, so Tab stays trapped.\n */\n hasFocusNodes: boolean;\n /**\n * Optional accessibility overlay that should be treated as part of this Rive\n * instance's focus domain. This is lazy because the overlay may be created\n * after keyboard listeners are registered.\n */\n getOverlayElement?: () => HTMLElement | null;\n}\n\n/**\n * Tracks the relationship between DOM focus inside this Rive focus domain (canvas or semantic overlay)\n * and Rive's internal focus for the current focus session.\n *\n * NotFocused — DOM focus left the domain, Rive released focus internally, or Tab walked\n * off the end of the tree. Keyboard input isn't ours, so Tab is ignored and\n * reaches the next page element.\n * EntryPending — DOM focus is inside the domain but Rive holds no node yet, so the next Tab\n * enters the focus tree. Set by pointer focus on the canvas, by assistive technology (AT) focus landing\n * in the overlay, and by keyboard focus whose entry attempt found no eligible node.\n * RiveFocused — a Rive node holds focus. Tab/Shift+Tab route to the Rive focus manager and stay\n * inside the domain until either Rive reports focus ended (pollFocusState) or\n * Tab walks off the edge of the tree (focusNext()/focusPrevious() returns false and\n * Rive no longer holds focus).\n *\n * Keyboard focus on the canvas enters the tree immediately: onCanvasFocus infers direction from\n * where focus came from and goes straight to RiveFocused when a node accepts.\n */\nexport enum FocusSessionState {\n NotFocused = \"notFocused\",\n EntryPending = \"entryPending\",\n RiveFocused = \"riveFocused\",\n}\n\n/**\n * Manages keyboard and DOM focus interactions for Rive's focus domain (<canvas>, semantic\n * overlay, text input proxy). Owns the proxy and the text input session state.\n * Because keyboard events can apply on either part of the domain, we need to track what events we should\n * handle/intercept, and when to release focus back to the page outside of the domain.\n *\n * Tracks the canvas focus session state (focusSessionState) and routes\n * Tab/Shift+Tab to the Rive state machine's focus manager. Exposes shared\n * state as properties so the Rive render loop can read them directly.\n */\nexport class KeyboardInteractions {\n public focusSessionState: FocusSessionState = FocusSessionState.NotFocused;\n\n private canvas: HTMLCanvasElement;\n private mainSm: rc.StateMachineInstance;\n private hasFocusNodes: boolean;\n /** Cached callback that returns the accessibility overlay element once created. */\n private getOverlayElement?: () => HTMLElement | null;\n\n /** Whether the canvas currently has browser DOM focus. */\n private canvasHasFocus = false;\n /** After Tab exits the last Rive node, ignore keydowns until focus re-enters the focus domain. */\n private focusDomainReleased = false;\n /** Overlay element currently wired with focusin/keydown listeners, if any. */\n private currentOverlayElement: HTMLElement | null = null;\n /** Canvas parent (or document) watched for focusin to attach overlay listeners lazily. */\n private focusDomainHost: HTMLElement | Document;\n /** Codes whose keydown an overlay widget took, so their keyup is skipped too. */\n private claimedKeyCodes = new Set<string>();\n\n // One hidden <input> per instance: C++ has one primary focus, so only one text input\n // session is live at a time. It holds no value; it only forwards input.\n private readonly inputProxy: TextInputProxy;\n private textInputSessionActive = false;\n\n constructor({\n canvas,\n stateMachine,\n hasFocusNodes,\n getOverlayElement,\n }: KeyboardInteractionsParams) {\n this.canvas = canvas;\n this.mainSm = stateMachine;\n this.hasFocusNodes = hasFocusNodes;\n this.getOverlayElement = getOverlayElement;\n this.focusDomainHost = canvas.parentElement ?? document;\n\n canvas.addEventListener(\"focus\", this.onCanvasFocus);\n canvas.addEventListener(\"blur\", this.onCanvasBlur);\n canvas.addEventListener(\"keydown\", this.onKeyDown);\n canvas.addEventListener(\"keyup\", this.onKeyUp);\n this.focusDomainHost.addEventListener(\"focusin\", this.onFocusDomainHostFocusIn);\n this.syncOverlayListener();\n\n this.inputProxy = new TextInputProxy({\n container: canvas.parentElement ?? document.body,\n canvas,\n textInput: (text) => this.mainSm.textInput(text),\n // Proxy keystrokes go through the same handlers as the canvas.\n onKeyDown: this.onKeyDown,\n onKeyUp: this.onKeyUp,\n onCopy: this.onCopy,\n onBlur: (relatedTarget) => this.handleProxyBlur(relatedTarget),\n });\n }\n\n public isTextInputSessionActive(): boolean {\n return this.textInputSessionActive;\n }\n\n /** Session active and the proxy holds DOM focus. */\n public isEditingHostFocused(): boolean {\n return this.textInputSessionActive && this.inputProxy.hasDomFocus();\n }\n\n /** @param focusProxy move DOM focus to the proxy; false leaves it where it is. */\n public beginTextInputSession(focusProxy: boolean): void {\n this.textInputSessionActive = true;\n this.focusSessionState = FocusSessionState.RiveFocused;\n if (focusProxy) this.inputProxy.focus();\n }\n\n /** @param fromBlur focus is already leaving; don't park it on the canvas. */\n public endTextInputSession(fromBlur = false): void {\n if (!this.textInputSessionActive) return;\n this.textInputSessionActive = false;\n this.inputProxy.endSession();\n if (fromBlur || !this.inputProxy.hasDomFocus()) return;\n // Nothing took DOM focus from the proxy (e.g. semantics is off). Park it on the\n // canvas so keys keep reaching Rive; onCanvasFocus ignores focus from the input proxy.\n this.canvas.focus({ preventScroll: true });\n }\n\n /** Must run synchronously in the pointer gesture or mobile keyboards won't open. */\n public summonForPointer(): void {\n if (this.textInputSessionActive) this.inputProxy.focus();\n else this.beginTextInputSession(true);\n }\n\n /** The text-input proxy, for the semantics layer to decorate while editing. */\n public get editingHost(): TextInputProxy {\n return this.inputProxy;\n }\n\n /**\n * The proxy is always empty: copy Rive's selection; always preventDefault.\n */\n private onCopy = (event: ClipboardEvent) => {\n event.preventDefault();\n const selected = this.mainSm.selectedText();\n if (selected) event.clipboardData?.setData(\"text/plain\", selected);\n };\n\n private handleProxyBlur(relatedTarget: EventTarget | null): void {\n // Teardown already in progress (endTextInputSession blurred the proxy).\n if (!this.textInputSessionActive) return;\n // Still in Rive or the document blurred: keep the session (pollFocusState tears down).\n if (this.blurStaysWithRive(relatedTarget)) return;\n // Blurred out of Rive entirely: release C++ focus and end the session.\n this.mainSm.clearFocus();\n this.endTextInputSession(true);\n this.focusSessionState = FocusSessionState.NotFocused;\n }\n\n /**\n * Set the FocusSessionState. Useful for invoking a Rive \"blur\" without actually blurring from the <canvas>. This\n * helps put the DOM focus state on the canvas rather than the <body>, so the user doesn't lose the spot in page navigation\n *\n * @param state FocusSessionState enum\n */\n public setFocusSessionState(state: FocusSessionState): void {\n this.focusSessionState = state;\n }\n\n /**\n * Called by pollFocusState on the Rive instance when it observes hasFocus=true. Rive acquired\n * focus internally (e.g. via a listener action or state transition) without a DOM focus event,\n * so mark the session RiveFocused. This cannot resurrect a session that a DOM blur ended,\n * because onCanvasBlur clears Rive's focus alongside it.\n */\n public notifyRiveFocused(): void {\n this.focusSessionState = FocusSessionState.RiveFocused;\n }\n\n /**\n * Handles the canvas gaining browser focus. The behavior differs based on how focus was gained -\n *\n * Pointer-driven focus: the canvas now has focus but Rive holds nothing yet, so we move to EntryPending — this lets the\n * next Tab enter the focus tree even when the focus is pointer-driven\n *\n * Keyboard-driven focus: we enter the Rive focus tree immediately once canvas gains focus.\n * The direction is inferred from where focus came from: an element before the canvas in DOM order\n * means a forward Tab (focusNext), one after means a Shift+Tab (focusPrevious). :focus-visible\n * gates this so a click doesn't yank Rive focus to the first node on the focus event itself.\n */\n public onCanvasFocus = (event: FocusEvent) => {\n this.syncOverlayListener();\n this.canvasHasFocus = true;\n this.focusDomainReleased = false;\n\n if (\n this.isInFocusDomain(event.relatedTarget) ||\n !this.hasFocusNodes ||\n this.mainSm.focusState().hasFocus\n ) {\n return;\n }\n\n this.focusSessionState = FocusSessionState.EntryPending;\n\n // Pointer focus waits for the user's next Tab (handled in onKeyDown). Keyboard focus enters now.\n if (!this.isKeyboardDrivenFocus()) return;\n const forward = this.cameFromBeforeCanvas(event.relatedTarget as Node | null);\n if (forward ? this.mainSm.focusNext() : this.mainSm.focusPrevious()) {\n this.focusSessionState = FocusSessionState.RiveFocused;\n }\n };\n\n /**\n * Marks internal state that the canvas has lost DOM focus. Do not actually clear\n * Rive focus though if:\n * 1. DOM focus is still within Rive domain (i.e., semantic overlay)\n * 2. Document just lost focus (i.e. tab switching)\n * \n * When we're not in either of those buckets, it's safe to call `clearFocus()` on the SMI.\n */\n public onCanvasBlur = (event: FocusEvent) => {\n // Must stay before the state reset because beginTextInputSession sets the session state and\n // then focuses the proxy, which synchronously blurs the canvas.\n if (this.inputProxy.owns(event.relatedTarget)) return;\n this.focusSessionState = FocusSessionState.NotFocused;\n this.canvasHasFocus = false;\n\n if (this.blurStaysWithRive(event.relatedTarget)) return;\n\n this.mainSm.clearFocus();\n };\n\n /** Blur into the focus domain, or the whole document losing focus (tab/window switch). */\n private blurStaysWithRive(relatedTarget: EventTarget | null): boolean {\n return (\n this.isInFocusDomain(relatedTarget) ||\n (relatedTarget === null && !document.hasFocus())\n );\n }\n\n /**\n * Assistive technology (AT) focus landing inside the overlay is DOM focus inside the Rive focus domain, so open a\n * session even when no Rive node holds focus yet. shouldRiveHandleKeyEvent treats NotFocused\n * as authoritative, so without this the overlay's Tab keydowns reach onKeyDown and get dropped\n * at that gate — the browser would move focus out of Rive instead of to the next focus node.\n */\n private onOverlayFocusIn = (event: FocusEvent) => {\n if (!this.isInOverlay(event.target)) return;\n this.focusDomainReleased = false;\n\n if (!this.hasFocusNodes) return;\n if (this.focusSessionState !== FocusSessionState.NotFocused) return;\n this.focusSessionState = this.mainSm.focusState().hasFocus\n ? FocusSessionState.RiveFocused\n : FocusSessionState.EntryPending;\n };\n\n /** Overlay listeners attach lazily, so the first focusin only ever lands here. */\n private onFocusDomainHostFocusIn = (event: FocusEvent) => {\n this.syncOverlayListener();\n this.onOverlayFocusIn(event);\n // Focus entering the proxy re-enters the focus domain, so clear any earlier Tab-out\n // release, or onKeyDown would drop the session's keystrokes.\n if (this.inputProxy.owns(event.target)) {\n this.focusDomainReleased = false;\n }\n };\n\n /**\n * Handles keydown events in the Rive focus domain. We route certain keys to different functions, with the following\n * fallback behavior:\n * 1. Tab/Shift+Tab - check if keyInput() takes this key, if not, call focusNext/Previous traversal if there are focus nodes\n * 2. Check - if a semantic overlay element's key handler claimed the event, don't intercept the key event further\n * 3. Send key to `keyInput()` on Rive state machine if applicable.\n * 4. If the keyInput returned false, and the key is directional arrow keys, call directional focus methods on state machine\n * 5. Printables: in a session the proxy's input event supplies text; otherwise textInput().\n * A printable fires both keyInput and textInput even if a listener claims it.\n * @param event KeyboardEvent\n * @returns void\n */\n public onKeyDown = (event: KeyboardEvent) => {\n this.syncOverlayListener();\n\n // Keys that are part of an IME composition belong to the IME (candidate\n // navigation, commit). Safari reports the first one as keyCode 229 with\n // isComposing still false.\n if (event.isComposing || event.keyCode === 229) return;\n\n // After Tab exits the last Rive node, ignore keys until focus re-enters the focus domain.\n if (this.focusDomainReleased) return;\n\n if (!this.shouldRiveHandleKeyEvent(event)) return;\n\n if (event.key === \"Tab\" && this.hasFocusNodes) {\n // Tab listeners are matched per phase (down/repeat/up), as in the editor, so\n // each event is offered on its own; one that isn't claimed traverses.\n if (\n this.mainSm.focusState().hasFocus &&\n this.mainSm.keyInput(Key.tab, modifiersFromEvent(event), true, event.repeat)\n ) {\n event.preventDefault();\n return;\n }\n\n const forward = !event.shiftKey;\n const focusMoved = forward ? this.mainSm.focusNext() : this.mainSm.focusPrevious();\n const focusState = this.mainSm.focusState();\n // focusMoved is false both at a Stop edge (focus stays put) and after walking off\n // the tree (focus cleared), so hasFocus discerns Stop edge from Rive releasing focus\n if (focusMoved || focusState.hasFocus) {\n // A Rive node holds focus — keep trapping Tab inside Rive.\n this.focusSessionState = FocusSessionState.RiveFocused;\n event.preventDefault();\n } else {\n // No more traversable nodes — release Tab to the page.\n if (\n document.activeElement !== this.canvas &&\n this.isInFocusDomain(document.activeElement)\n ) {\n // The browser's default Tab starts from the focused element; from an overlay element,\n // the nearest stop backward is the canvas itself. Start it from the\n // canvas instead, so a Shift+Tab goes to the proper element before Rive.\n this.canvas.focus({ preventScroll: true });\n }\n this.focusSessionState = FocusSessionState.NotFocused;\n this.focusDomainReleased = true;\n this.canvasHasFocus = false;\n }\n this.syncOverlayListener();\n return;\n }\n\n // A semantic overlay widget (roving radio/tab group, slider, Enter/Space activation)\n // already acted on this key at its target, so don't act on it twice.\n if (isKeyEventClaimed(event)) {\n this.claimedKeyCodes.add(event.code);\n return;\n }\n // A new unclaimed press: drop any claim whose keyup never arrived.\n this.claimedKeyCodes.delete(event.code);\n\n const fromProxy = this.textInputSessionActive && this.inputProxy.owns(event.target);\n const expectsKeyboardInput = this.mainSm.focusState().expectsKeyboardInput;\n\n // The focused node gets first refusal (a TextInput's caret, or a keyboard listener\n // on that key). Keys with no Rive equivalent map to null and aren't dispatched.\n const key = keyboardEventToRiveKey(event);\n let consumed =\n key !== null &&\n this.mainSm.keyInput(key, modifiersFromEvent(event), true, event.repeat);\n\n // An arrow key with no consumed key input moves focus spatially. While a Rive node holds focus,\n // arrows never scroll the page\n if (!consumed && key !== null && isArrowKey(key) && !hasShortcutModifier(event)) {\n consumed =\n this.focusInDirection(key) || this.mainSm.focusState().hasFocus;\n }\n\n if (isPrintable(event)) {\n // During a session the printable must reach the proxy: its input event is the\n // (IME- and dead-key-correct) text source, and C++ inserts nothing from keyInput.\n if (fromProxy) return;\n // Session live but focus elsewhere in Rive: refocus the proxy so the default inserts there.\n if (this.textInputSessionActive && this.isInFocusDomain(event.target)) {\n this.inputProxy.focus();\n return;\n }\n if (!this.textInputSessionActive && expectsKeyboardInput) {\n this.mainSm.textInput(event.key);\n }\n }\n\n // Rive consumed it, or an unmodified editing key while typing (would scroll/submit).\n const typing = fromProxy || expectsKeyboardInput;\n if (\n consumed ||\n (typing && !hasShortcutModifier(event) && EDITING_NAV_CODES.has(event.code))\n ) {\n event.preventDefault();\n }\n };\n\n public onKeyUp = (event: KeyboardEvent) => {\n if (event.isComposing || event.keyCode === 229) return;\n if (this.claimedKeyCodes.delete(event.code)) return;\n if (this.focusSessionState === FocusSessionState.NotFocused) return;\n\n const key = keyboardEventToRiveKey(event);\n if (key === null) return;\n this.mainSm.keyInput(key, modifiersFromEvent(event), false, false);\n };\n\n /** Arrow keys map to directional focus; anything else is not a focus move. */\n private focusInDirection(key: number): boolean {\n switch (key) {\n case Key.left:\n return this.mainSm.focusLeft();\n case Key.right:\n return this.mainSm.focusRight();\n case Key.up:\n return this.mainSm.focusUp();\n case Key.down:\n return this.mainSm.focusDown();\n default:\n return false;\n }\n }\n\n /**\n * Determine if Rive should handle keyboard input. If session state is `NotFocused` - no.\n * DOM focus stays parked on the canvas after Rive releases focus internally, and that Tab\n * has to reach the page rather than re-enter the tree.\n *\n * Otherwise, the event still has to belong to Rive:\n * 1. If the current DOM focus is in Rive domain (canvas or semantic overlay)\n * 2. If the target for the key input is for the semantic overlay, or the canvas\n */\n private shouldRiveHandleKeyEvent(event: KeyboardEvent): boolean {\n if (this.focusSessionState === FocusSessionState.NotFocused) return false;\n\n const inFocusDomain =\n this.isInFocusDomain(document.activeElement) ||\n this.isInOverlay(event.target);\n const eventOnCanvas = event.target === this.canvas;\n return inFocusDomain || this.canvasHasFocus || eventOnCanvas;\n }\n\n /** DOM that counts as inside Rive for focus: canvas, overlay subtree, text-input proxy. */\n public isInFocusDomain(target: EventTarget | null): boolean {\n if (target === this.canvas) return true;\n if (this.inputProxy.owns(target)) return true;\n return this.isInOverlay(target);\n }\n\n /** Overlay only (excludes the canvas) — the accessibility overlay subtree. */\n private isInOverlay(target: EventTarget | null): boolean {\n if (!(target instanceof Node)) return false;\n return this.getOverlayElement?.()?.contains(target) ?? false;\n }\n\n private syncOverlayListener(): void {\n const nextOverlayElement = this.getOverlayElement?.() ?? null;\n if (nextOverlayElement === this.currentOverlayElement) return;\n\n this.currentOverlayElement?.removeEventListener(\n \"focusin\",\n this.onOverlayFocusIn,\n );\n this.currentOverlayElement?.removeEventListener(\"keydown\", this.onKeyDown);\n this.currentOverlayElement?.removeEventListener(\"keyup\", this.onKeyUp);\n this.currentOverlayElement = nextOverlayElement;\n this.currentOverlayElement?.addEventListener(\n \"focusin\",\n this.onOverlayFocusIn,\n );\n // Bubble phase, so a semantic widget's own key handler runs first and can claim\n // the key via claimKeyEvent (see onKeyDown).\n this.currentOverlayElement?.addEventListener(\"keydown\", this.onKeyDown);\n this.currentOverlayElement?.addEventListener(\"keyup\", this.onKeyUp);\n }\n\n /**\n * Whether the canvas currently matches :focus-visible — the browser's heuristic for keyboard-\n * (vs pointer-) driven focus. For older browser versions that don't support this selector, return false\n * so that we don't incorrectly assume pointer vs keyboard focus. Next tab would enter the focus tree in those edge cases.\n */\n private isKeyboardDrivenFocus(): boolean {\n try {\n return this.canvas.matches(\":focus-visible\");\n } catch {\n return false;\n }\n }\n\n private cameFromBeforeCanvas(from: Node | null): boolean {\n if (!from) return true;\n const position = this.canvas.compareDocumentPosition(from);\n if (position & Node.DOCUMENT_POSITION_PRECEDING) return true;\n if (position & Node.DOCUMENT_POSITION_FOLLOWING) return false;\n return true;\n }\n\n public cleanup(): void {\n this.canvas.removeEventListener(\"focus\", this.onCanvasFocus);\n this.canvas.removeEventListener(\"blur\", this.onCanvasBlur);\n this.canvas.removeEventListener(\"keydown\", this.onKeyDown);\n this.canvas.removeEventListener(\"keyup\", this.onKeyUp);\n this.claimedKeyCodes.clear();\n this.focusDomainHost.removeEventListener(\"focusin\", this.onFocusDomainHostFocusIn);\n this.currentOverlayElement?.removeEventListener(\n \"focusin\",\n this.onOverlayFocusIn,\n );\n this.currentOverlayElement?.removeEventListener(\"keydown\", this.onKeyDown);\n this.currentOverlayElement?.removeEventListener(\"keyup\", this.onKeyUp);\n // Removing a focused element drops focus to <body> with no blur; park on the canvas.\n if (this.inputProxy.hasDomFocus()) {\n this.canvas.focus({ preventScroll: true });\n }\n this.inputProxy.cleanup();\n this.textInputSessionActive = false;\n }\n}\n","/*\n * Maps DOM keyboard events to the GLFW-style key codes and modifier bitmask\n * that StateMachineInstance.keyInput() expects. Values mirror `enum class Key`\n * and `enum class KeyModifiers` in rive-runtime focusable.hpp;\n * they are stable GLFW codes, so they live here as constants instead of an\n * embind enum.\n */\n\nexport const Key = {\n space: 32,\n apostrophe: 39, // '\n comma: 44, // ,\n minus: 45, // -\n period: 46, // .\n slash: 47, // /\n key0: 48,\n key1: 49,\n key2: 50,\n key3: 51,\n key4: 52,\n key5: 53,\n key6: 54,\n key7: 55,\n key8: 56,\n key9: 57,\n semicolon: 59, // ;\n equal: 61, // =\n a: 65,\n b: 66,\n c: 67,\n d: 68,\n e: 69,\n f: 70,\n g: 71,\n h: 72,\n i: 73,\n j: 74,\n k: 75,\n l: 76,\n m: 77,\n n: 78,\n o: 79,\n p: 80,\n q: 81,\n r: 82,\n s: 83,\n t: 84,\n u: 85,\n v: 86,\n w: 87,\n x: 88,\n y: 89,\n z: 90,\n leftBracket: 91, // [\n backslash: 92, // \\\n rightBracket: 93, // ]\n graveAccent: 96, // `\n world1: 161, // non-US #1\n world2: 162, // non-US #2\n escape: 256,\n enter: 257,\n tab: 258,\n backspace: 259,\n insert: 260,\n deleteKey: 261,\n right: 262,\n left: 263,\n down: 264,\n up: 265,\n pageUp: 266,\n pageDown: 267,\n home: 268,\n end: 269,\n capsLock: 280,\n scrollLock: 281,\n numLock: 282,\n printScreen: 283,\n pause: 284,\n f1: 290,\n f2: 291,\n f3: 292,\n f4: 293,\n f5: 294,\n f6: 295,\n f7: 296,\n f8: 297,\n f9: 298,\n f10: 299,\n f11: 300,\n f12: 301,\n f13: 302,\n f14: 303,\n f15: 304,\n f16: 305,\n f17: 306,\n f18: 307,\n f19: 308,\n f20: 309,\n f21: 310,\n f22: 311,\n f23: 312,\n f24: 313,\n f25: 314,\n kp0: 320,\n kp1: 321,\n kp2: 322,\n kp3: 323,\n kp4: 324,\n kp5: 325,\n kp6: 326,\n kp7: 327,\n kp8: 328,\n kp9: 329,\n kpDecimal: 330,\n kpDivide: 331,\n kpMultiply: 332,\n kpSubtract: 333,\n kpAdd: 334,\n kpEnter: 335,\n kpEqual: 336,\n leftShift: 340,\n leftControl: 341,\n leftAlt: 342,\n leftSuper: 343,\n rightShift: 344,\n rightControl: 345,\n rightAlt: 346,\n rightSuper: 347,\n menu: 348,\n} as const;\n\nexport const KeyModifiers = {\n none: 0,\n shift: 1 << 0,\n ctrl: 1 << 1,\n alt: 1 << 2,\n meta: 1 << 3,\n} as const;\n\n// Physical key (KeyboardEvent.code) to Rive key, by US-QWERTY position.\nconst CODE_TO_KEY: Readonly<Record<string, number>> = {\n // Modifiers are keys too (the editor sends them), and are also in the bitmask.\n ShiftLeft: Key.leftShift,\n ShiftRight: Key.rightShift,\n ControlLeft: Key.leftControl,\n ControlRight: Key.rightControl,\n AltLeft: Key.leftAlt,\n AltRight: Key.rightAlt,\n MetaLeft: Key.leftSuper,\n MetaRight: Key.rightSuper,\n\n KeyA: Key.a,\n KeyB: Key.b,\n KeyC: Key.c,\n KeyD: Key.d,\n KeyE: Key.e,\n KeyF: Key.f,\n KeyG: Key.g,\n KeyH: Key.h,\n KeyI: Key.i,\n KeyJ: Key.j,\n KeyK: Key.k,\n KeyL: Key.l,\n KeyM: Key.m,\n KeyN: Key.n,\n KeyO: Key.o,\n KeyP: Key.p,\n KeyQ: Key.q,\n KeyR: Key.r,\n KeyS: Key.s,\n KeyT: Key.t,\n KeyU: Key.u,\n KeyV: Key.v,\n KeyW: Key.w,\n KeyX: Key.x,\n KeyY: Key.y,\n KeyZ: Key.z,\n\n Digit0: Key.key0,\n Digit1: Key.key1,\n Digit2: Key.key2,\n Digit3: Key.key3,\n Digit4: Key.key4,\n Digit5: Key.key5,\n Digit6: Key.key6,\n Digit7: Key.key7,\n Digit8: Key.key8,\n Digit9: Key.key9,\n\n Numpad0: Key.kp0,\n Numpad1: Key.kp1,\n Numpad2: Key.kp2,\n Numpad3: Key.kp3,\n Numpad4: Key.kp4,\n Numpad5: Key.kp5,\n Numpad6: Key.kp6,\n Numpad7: Key.kp7,\n Numpad8: Key.kp8,\n Numpad9: Key.kp9,\n NumpadDecimal: Key.kpDecimal,\n NumpadDivide: Key.kpDivide,\n NumpadMultiply: Key.kpMultiply,\n NumpadSubtract: Key.kpSubtract,\n NumpadAdd: Key.kpAdd,\n NumpadEnter: Key.kpEnter,\n NumpadEqual: Key.kpEqual,\n\n Minus: Key.minus,\n Equal: Key.equal,\n BracketLeft: Key.leftBracket,\n BracketRight: Key.rightBracket,\n Backslash: Key.backslash,\n Semicolon: Key.semicolon,\n Quote: Key.apostrophe,\n Backquote: Key.graveAccent,\n Comma: Key.comma,\n Period: Key.period,\n Slash: Key.slash,\n IntlBackslash: Key.world1,\n IntlRo: Key.world2,\n\n Space: Key.space,\n Enter: Key.enter,\n Tab: Key.tab,\n Backspace: Key.backspace,\n Insert: Key.insert,\n Delete: Key.deleteKey,\n Escape: Key.escape,\n ArrowRight: Key.right,\n ArrowLeft: Key.left,\n ArrowDown: Key.down,\n ArrowUp: Key.up,\n PageUp: Key.pageUp,\n PageDown: Key.pageDown,\n Home: Key.home,\n End: Key.end,\n\n CapsLock: Key.capsLock,\n ScrollLock: Key.scrollLock,\n NumLock: Key.numLock,\n PrintScreen: Key.printScreen,\n Pause: Key.pause,\n ContextMenu: Key.menu,\n\n F1: Key.f1,\n F2: Key.f2,\n F3: Key.f3,\n F4: Key.f4,\n F5: Key.f5,\n F6: Key.f6,\n F7: Key.f7,\n F8: Key.f8,\n F9: Key.f9,\n F10: Key.f10,\n F11: Key.f11,\n F12: Key.f12,\n F13: Key.f13,\n F14: Key.f14,\n F15: Key.f15,\n F16: Key.f16,\n F17: Key.f17,\n F18: Key.f18,\n F19: Key.f19,\n F20: Key.f20,\n F21: Key.f21,\n F22: Key.f22,\n F23: Key.f23,\n F24: Key.f24,\n F25: Key.f25,\n};\n\n// Unshifted characters (event.key, lowercased) that name a Rive key.\nconst CHAR_TO_KEY: Readonly<Record<string, number>> = (() => {\n const map: Record<string, number> = {\n \" \": Key.space,\n \"'\": Key.apostrophe,\n \",\": Key.comma,\n \"-\": Key.minus,\n \".\": Key.period,\n \"/\": Key.slash,\n \";\": Key.semicolon,\n \"=\": Key.equal,\n \"[\": Key.leftBracket,\n \"\\\\\": Key.backslash,\n \"]\": Key.rightBracket,\n \"`\": Key.graveAccent,\n };\n for (let c = 0; c < 26; c++) map[String.fromCharCode(97 + c)] = Key.a + c;\n for (let d = 0; d <= 9; d++) map[String(d)] = Key.key0 + d;\n return map;\n})();\n\n// Non-printable event.key values; each shares its name with its code.\nconst NAMED_KEYS = new Set<string>([\n \"Enter\",\n \"Tab\",\n \"Backspace\",\n \"Insert\",\n \"Delete\",\n \"Escape\",\n \"ArrowRight\",\n \"ArrowLeft\",\n \"ArrowDown\",\n \"ArrowUp\",\n \"PageUp\",\n \"PageDown\",\n \"Home\",\n \"End\",\n \"CapsLock\",\n \"ScrollLock\",\n \"NumLock\",\n \"PrintScreen\",\n \"Pause\",\n \"ContextMenu\",\n ...Array.from({ length: 25 }, (_, i) => `F${i + 1}`),\n]);\n\n/**\n * Maps a KeyboardEvent to a Rive key, or null if Rive has no equivalent.\n *\n * Resolves the logical key: what the user's layout labels the key, ignoring\n * Shift, so a listener on \"A\" fires on AZERTY's A too. `event.key` is preferred;\n * `event.code` is the fallback when `key` isn't a plain unshifted character\n * (shifted symbols, Option/AltGr output, non-Latin letters, dead keys).\n * Digit-row and numpad keys skip the character lookup so AZERTY's digit row\n * still reports digits and numpad digits stay distinct from the digit row.\n */\nexport function keyboardEventToRiveKey(event: KeyboardEvent): number | null {\n const { code, key } = event;\n if (NAMED_KEYS.has(key)) {\n // NumpadEnter reports key \"Enter\"; keep it distinct.\n return code === \"NumpadEnter\" ? Key.kpEnter : CODE_TO_KEY[key] ?? null;\n }\n if (!code.startsWith(\"Digit\") && !code.startsWith(\"Numpad\") && key) {\n const fromChar = CHAR_TO_KEY[key.toLowerCase()];\n if (fromChar !== undefined) return fromChar;\n }\n return CODE_TO_KEY[code] ?? null;\n}\n\nexport function modifiersFromEvent(event: KeyboardEvent): number {\n let modifiers = KeyModifiers.none;\n if (event.shiftKey) modifiers |= KeyModifiers.shift;\n if (event.ctrlKey) modifiers |= KeyModifiers.ctrl;\n if (event.altKey) modifiers |= KeyModifiers.alt;\n if (event.metaKey) modifiers |= KeyModifiers.meta;\n return modifiers;\n}\n","import { canvasOffset } from \"./canvasOffset\";\n\n// 16px: the smallest font size at which iOS Safari doesn't zoom on focus\nconst FONT_SIZE_PX = 16;\n\nexport interface TextInputProxyParams {\n /** Where to mount the proxy — the canvas's parent so it scrolls/positions with it. */\n container: HTMLElement;\n /** The Rive canvas, used to position the proxy over it (iOS scroll-jump avoidance) and for domain checks. */\n canvas: HTMLElement;\n /** Forward committed text (typing, IME/dead-key commits, paste) into the focus tree. */\n textInput: (text: string) => boolean;\n /** Physical key events on the proxy route back through KeyboardInteractions' shared policy. */\n onKeyDown: (event: KeyboardEvent) => void;\n onKeyUp: (event: KeyboardEvent) => void;\n /** The field is empty; fill the clipboard from Rive's selection. */\n onCopy: (event: ClipboardEvent) => void;\n /** Called when the proxy loses DOM focus; the receiver decides whether to tear the session down. */\n onBlur: (relatedTarget: EventTarget | null) => void;\n}\n\n/** Capture-critical attributes decorate() must not touch. */\nconst PROTECTED_ATTRS = new Set<string>([\n \"type\",\n \"value\",\n \"style\",\n \"tabindex\",\n \"autocapitalize\",\n \"autocomplete\",\n \"autocorrect\",\n \"spellcheck\",\n]);\n\n/**\n * Invisible per-instance <input> capturing IME/dead-key/paste text; focusable inside a\n * gesture to raise mobile keyboards. Always empty: C++ owns value and caret. Decorated\n * for AT only while it holds DOM focus.\n */\nexport class TextInputProxy {\n private params: TextInputProxyParams;\n private element: HTMLInputElement;\n // True between compositionstart/compositionend; we never commit mid-composition.\n private composing = false;\n // Names set by decorate(), removed by resetDecoration().\n private decoratedKeys = new Set<string>();\n // Last written left/top, to skip no-op style writes.\n private lastLeft = NaN;\n private lastTop = NaN;\n\n constructor(params: TextInputProxyParams) {\n this.params = params;\n this.element = this.createElement();\n this.positionOverCanvas();\n // Order vs. the overlay is unspecified; fine, Tab release starts from the canvas.\n this.params.container.appendChild(this.element);\n }\n\n // Registered first so it runs before the key handler inserts or moves the caret.\n private listeners(): [string, EventListener][] {\n return [\n [\"keydown\", this.reposition],\n [\"beforeinput\", this.reposition],\n [\"keydown\", this.params.onKeyDown as EventListener],\n [\"keyup\", this.params.onKeyUp as EventListener],\n [\"input\", this.onInput],\n [\"compositionstart\", this.onCompositionStart],\n [\"compositionend\", this.onCompositionEnd],\n [\"paste\", this.onPaste as EventListener],\n [\"copy\", this.params.onCopy as EventListener],\n [\"blur\", this.onBlur as EventListener],\n ];\n }\n\n private createElement(): HTMLInputElement {\n const el = document.createElement(\"input\");\n el.type = \"text\";\n // Focusable but never in native tab order (Rive drives traversal synthetically),\n // and invisible without display:none (which would forbid focus).\n el.tabIndex = -1;\n el.setAttribute(\"aria-hidden\", \"true\");\n // Always empty, so autocapitalize/autocorrect would misfire.\n el.setAttribute(\"autocapitalize\", \"off\");\n el.setAttribute(\"autocomplete\", \"off\");\n el.setAttribute(\"autocorrect\", \"off\");\n el.spellcheck = false;\n // Over the canvas (not display:none) so iOS doesn't scroll-jump on keyboard open.\n // font-size must stay 16px or iOS Safari zooms on focus.\n el.style.cssText =\n \"position:absolute;width:1px;height:1px;padding:0;margin:0;border:0;\" +\n \"outline:none;opacity:0;background:transparent;color:transparent;\" +\n \"caret-color:transparent;overflow:hidden;resize:none;z-index:0;\" +\n // Focused programmatically only; must not swallow clicks\n \"pointer-events:none;\" +\n `font-size:${FONT_SIZE_PX}px;line-height:1;`;\n for (const [type, listener] of this.listeners()) el.addEventListener(type, listener);\n return el;\n }\n\n private positionOverCanvas(): void {\n // Track the canvas (browsers scroll to the caret); clamp on-screen, one caret line box\n // (FONT_SIZE_PX) from the far edges, or the root scrolls to reveal it.\n let { top, left } = canvasOffset(this.params.canvas);\n if (window.innerHeight > 0) {\n const r = this.params.canvas.getBoundingClientRect();\n top += clamp(r.top, 0, window.innerHeight - FONT_SIZE_PX) - r.top;\n left += clamp(r.left, 0, window.innerWidth - FONT_SIZE_PX) - r.left;\n }\n if (left !== this.lastLeft) {\n this.element.style.left = `${left}px`;\n this.lastLeft = left;\n }\n if (top !== this.lastTop) {\n this.element.style.top = `${top}px`;\n this.lastTop = top;\n }\n }\n\n /** Re-sync before input: the canvas may have scrolled since the session began. */\n private reposition = () => this.positionOverCanvas();\n\n private onCompositionStart = () => {\n this.composing = true;\n };\n\n private onCompositionEnd = () => {\n this.composing = false;\n // The composed text is now committed in element.value; forward it here. A\n // trailing `input` event (order varies by browser) then sees an empty field.\n this.commit();\n };\n\n private onInput = () => {\n if (this.composing) return;\n this.commit();\n };\n\n /** \n * Forward the field's text to Rive and clear it. \n * \n * TODO: iOS won't autorepeat Backspace in an empty field (needs a text mirror).\n * */\n private commit(): void {\n const text = this.element.value;\n if (!text) return;\n this.element.value = \"\";\n this.params.textInput(text);\n }\n\n // An <input type=text> strips line breaks from its value, so forward the clipboard\n // text directly. Core's single-line fields strip them themselves.\n private onPaste = (event: ClipboardEvent) => {\n const text = event.clipboardData?.getData(\"text/plain\");\n if (!text) return;\n event.preventDefault();\n this.params.textInput(text.replace(/\\r\\n?/g, \"\\n\"));\n };\n\n private onBlur = (event: FocusEvent) => {\n this.params.onBlur(event.relatedTarget);\n };\n\n /** Clear any transient value and decoration. Does not blur the element. */\n endSession(): void {\n this.element.value = \"\";\n // Browsers fire compositionend on blur, but a stuck flag would drop every\n // keystroke of the next session.\n this.composing = false;\n // Also covers blur-out, which bypasses the overlay.\n this.resetDecoration();\n }\n\n /** Must be called synchronously inside a gesture on iOS to raise the keyboard. */\n focus(): void {\n // Reposition first: iOS scrolls the focused input into view when the keyboard opens.\n this.positionOverCanvas();\n this.element.focus({ preventScroll: true });\n }\n\n hasDomFocus(): boolean {\n return document.activeElement === this.element;\n }\n\n owns(target: EventTarget | null): boolean {\n return target === this.element;\n }\n\n /** See EditingHost.decorate. */\n decorate(attrs: Record<string, string | null>): void {\n // aria-hidden outranks every attribute set below, so it must come off before this\n // element can stand in as the accessible element for the focused node.\n this.element.removeAttribute(\"aria-hidden\");\n for (const [name, value] of Object.entries(attrs)) {\n // Never override capture attrs.\n if (PROTECTED_ATTRS.has(name.toLowerCase())) continue;\n if (value === null) {\n this.element.removeAttribute(name);\n this.decoratedKeys.delete(name);\n } else {\n // Skip no-op writes: setting an attribute to the value it already has still\n // emits a mutation, and assistive tech is focused on this element mid-edit.\n if (this.element.getAttribute(name) !== value) {\n this.element.setAttribute(name, value);\n }\n this.decoratedKeys.add(name);\n }\n }\n }\n\n /**\n * type=password for obscured fields so AT doesn't echo keys.\n * TODO: source \"type\" from Core, not semantics.\n */\n setSecure(secure: boolean): void {\n const type = secure ? \"password\" : \"text\";\n if (this.element.type !== type) this.element.type = type;\n }\n\n /** Drop all decoration and return to the AT-invisible baseline. */\n resetDecoration(): void {\n this.setSecure(false);\n this.decoratedKeys.forEach((name) => this.element.removeAttribute(name));\n this.decoratedKeys.clear();\n this.element.setAttribute(\"aria-hidden\", \"true\");\n }\n\n cleanup(): void {\n for (const [type, listener] of this.listeners()) {\n this.element.removeEventListener(type, listener);\n }\n this.element.remove();\n }\n}\n\nfunction clamp(v: number, min: number, max: number): number {\n return Math.min(Math.max(v, min), Math.max(min, max));\n}\n","// Reference: https://github.com/braintree/sanitize-url/tree/main\nconst invalidProtocolRegex = /^([^\\w]*)(javascript|data|vbscript)/im;\nconst htmlEntitiesRegex = /&#(\\w+)(^\\w|;)?/g;\nconst htmlCtrlEntityRegex = /&(newline|tab);/gi;\nconst ctrlCharactersRegex =\n /[\\u0000-\\u001F\\u007F-\\u009F\\u2000-\\u200D\\uFEFF]/gim;\nconst urlSchemeRegex = /^.+(:|&colon;)/gim;\nconst relativeFirstCharacters = [\".\", \"/\"];\nexport const BLANK_URL = \"about:blank\";\n\nfunction isRelativeUrlWithoutProtocol(url: string): boolean {\n return relativeFirstCharacters.indexOf(url[0]) > -1;\n}\n\n// adapted from https://stackoverflow.com/a/29824550/2601552\nfunction decodeHtmlCharacters(str: string) {\n const removedNullByte = str.replace(ctrlCharactersRegex, \"\");\n return removedNullByte.replace(htmlEntitiesRegex, (match, dec) => {\n return String.fromCharCode(dec);\n });\n}\n\nexport function sanitizeUrl(url?: string): string {\n if (!url) {\n return BLANK_URL;\n }\n\n const sanitizedUrl = decodeHtmlCharacters(url)\n .replace(htmlCtrlEntityRegex, \"\")\n .replace(ctrlCharactersRegex, \"\")\n .trim();\n\n if (!sanitizedUrl) {\n return BLANK_URL;\n }\n\n if (isRelativeUrlWithoutProtocol(sanitizedUrl)) {\n return sanitizedUrl;\n }\n\n const urlSchemeParseResults = sanitizedUrl.match(urlSchemeRegex);\n\n if (!urlSchemeParseResults) {\n return sanitizedUrl;\n }\n\n const urlScheme = urlSchemeParseResults[0];\n\n if (invalidProtocolRegex.test(urlScheme)) {\n return BLANK_URL;\n }\n\n return sanitizedUrl;\n}\n","import * as rc from \"../rive_advanced.mjs\";\n\ninterface Finalizable {\n unref: () => void;\n}\n\nclass FileFinalizer implements Finalizable {\n private _file: rc.File;\n // Nothing else reclaims a session on GC, so a RiveFile dropped without\n // cleanup() would leak it and everything recorded into it.\n private _session: rc.DeferredSession | null;\n public selfUnref: boolean = false;\n constructor(file: rc.File, session: rc.DeferredSession | null = null) {\n this._file = file;\n this._session = session;\n }\n\n public unref() {\n if (this._file) {\n this._file.unref();\n }\n // After the file, never before: the file's resources belong to the session.\n if (this._session) {\n this._session.delete();\n this._session = null;\n }\n }\n\n // Disarms the GC path for a file cleanup() already released.\n public release() {\n this._file = null;\n this._session = null;\n }\n}\n\nclass ObjectFinalizer<T extends Finalizable> {\n private _finalizableObject: T;\n constructor(finalizableObject: T) {\n this._finalizableObject = finalizableObject;\n }\n\n public unref() {\n this._finalizableObject.unref();\n }\n}\n\n\nclass AssetWrapper implements rc.FinalizableTarget {\n public selfUnref: boolean = false;\n public unref() {}\n}\n\nclass ImageWrapper extends AssetWrapper {\n private _nativeImage: rc.Image;\n\n constructor(image: rc.Image) {\n super();\n this._nativeImage = image;\n }\n\n public get nativeImage(): rc.ImageInternal {\n return this._nativeImage;\n }\n\n public unref() {\n if (this.selfUnref) {\n this._nativeImage.unref();\n }\n }\n}\n\nclass AudioWrapper extends AssetWrapper {\n private _nativeAudio: rc.Audio;\n\n constructor(audio: rc.Audio) {\n super();\n this._nativeAudio = audio;\n }\n\n public get nativeAudio(): rc.AudioInternal {\n return this._nativeAudio;\n }\n\n public unref() {\n if (this.selfUnref) {\n this._nativeAudio.unref();\n }\n }\n}\n\nclass FontWrapper extends AssetWrapper {\n private _nativeFont: rc.Font;\n\n constructor(font: rc.Font) {\n super();\n this._nativeFont = font;\n }\n\n public get nativeFont(): rc.FontInternal {\n return this._nativeFont;\n }\n\n public unref() {\n if (this.selfUnref) {\n this._nativeFont.unref();\n }\n }\n}\n\nexport type AssetLoadCallbackWrapper = (\n asset: rc.FileAssetInternal,\n bytes: Uint8Array,\n) => Boolean;\n\nclass CustomFileAssetLoaderWrapper {\n assetLoader: rc.CustomFileAssetLoader;\n _assetLoaderCallback: AssetLoadCallbackWrapper;\n // Session of the file being imported, null for an immediate file. Assets of\n // a deferred file have to decode through the factory that imported it.\n _session: rc.DeferredSession | null;\n\n constructor(\n runtime: rc.RiveCanvas,\n loaderCallback: AssetLoadCallbackWrapper,\n session: rc.DeferredSession | null = null,\n ) {\n this._assetLoaderCallback = loaderCallback;\n this._session = session;\n this.assetLoader = new runtime.CustomFileAssetLoader({\n loadContents: this.loadContents.bind(this),\n });\n }\n\n loadContents(asset: rc.FileAsset, bytes: any) {\n let assetWrapper: FileAssetWrapper;\n if (asset.isImage) {\n assetWrapper = new ImageAssetWrapper(asset, this._session);\n } else if (asset.isAudio) {\n assetWrapper = new AudioAssetWrapper(asset, this._session);\n } else if (asset.isFont) {\n assetWrapper = new FontAssetWrapper(asset, this._session);\n } else {\n return false;\n }\n return this._assetLoaderCallback(assetWrapper, bytes);\n }\n}\n\n/**\n * Rive class representing a FileAsset with relevant metadata fields to describe\n * an asset associated wtih the Rive File\n */\nclass FileAssetWrapper {\n _nativeFileAsset: rc.FileAssetInternal;\n _session: rc.DeferredSession | null;\n\n constructor(\n nativeAsset: rc.FileAssetInternal,\n session: rc.DeferredSession | null = null,\n ) {\n this._nativeFileAsset = nativeAsset;\n this._session = session;\n }\n\n decode(bytes: Uint8Array): void {\n // The session travels with the asset so a deferred file's assets are\n // session-typed without the caller needing to know the file's rendering mode.\n this._nativeFileAsset.decode(bytes, this._session);\n }\n\n get name(): string {\n return this._nativeFileAsset.name;\n }\n\n get fileExtension(): string {\n return this._nativeFileAsset.fileExtension;\n }\n\n get uniqueFilename(): string {\n return this._nativeFileAsset.uniqueFilename;\n }\n\n get isAudio(): boolean {\n return this._nativeFileAsset.isAudio;\n }\n\n get isImage(): boolean {\n return this._nativeFileAsset.isImage;\n }\n\n get isFont(): boolean {\n return this._nativeFileAsset.isFont;\n }\n\n get cdnUuid(): string {\n return this._nativeFileAsset.cdnUuid;\n }\n\n get nativeFileAsset() {\n return this._nativeFileAsset;\n }\n}\n\n/**\n * Rive class extending the FileAsset that exposes a `setRenderImage()` API with a\n * decoded Image (via the `decodeImage()` API) to set a new Image on the Rive FileAsset\n */\nclass ImageAssetWrapper extends FileAssetWrapper {\n setRenderImage(image: ImageWrapper): void {\n (this._nativeFileAsset as rc.ImageAssetInternal).setRenderImage(\n image.nativeImage,\n );\n }\n}\n\n/**\n * Rive class extending the FileAsset that exposes a `setAudioSource()` API with a\n * decoded Audio (via the `decodeAudio()` API) to set a new Audio on the Rive FileAsset\n */\nclass AudioAssetWrapper extends FileAssetWrapper {\n setAudioSource(audio: AudioWrapper): void {\n (this._nativeFileAsset as rc.AudioAssetInternal).setAudioSource(\n audio.nativeAudio,\n );\n }\n}\n\n/**\n * Rive class extending the FileAsset that exposes a `setFont()` API with a\n * decoded Font (via the `decodeFont()` API) to set a new Font on the Rive FileAsset\n */\nclass FontAssetWrapper extends FileAssetWrapper {\n setFont(font: FontWrapper): void {\n (this._nativeFileAsset as rc.FontAssetInternal).setFont(font.nativeFont);\n }\n}\n\ndeclare const FinalizationRegistry: {\n new (fn: Function): typeof FinalizationRegistry;\n\n register<T extends rc.FinalizableTarget>(\n object: T,\n description: Finalizable,\n ): void;\n\n unregister<T>(object: T): void;\n};\n\nclass FakeFinalizationRegistry {\n constructor(_: Function) {}\n register(object: rc.FinalizableTarget) {\n object.selfUnref = true;\n }\n\n unregister<T>(_: T) {}\n}\nconst MyFinalizationRegistry =\n typeof FinalizationRegistry !== \"undefined\"\n ? FinalizationRegistry\n : FakeFinalizationRegistry;\n\nconst finalizationRegistry = new MyFinalizationRegistry((ob: Finalizable) => {\n ob?.unref();\n});\n\nconst createFinalization = <T extends Finalizable>(\n target: rc.FinalizableTarget,\n finalizable: T,\n) => {\n const finalizer = new ObjectFinalizer<T>(finalizable);\n finalizationRegistry.register(target, finalizer);\n};\n\nexport {\n finalizationRegistry,\n createFinalization,\n Finalizable,\n ImageWrapper,\n AudioWrapper,\n FontWrapper,\n ImageAssetWrapper,\n AudioAssetWrapper,\n FontAssetWrapper,\n CustomFileAssetLoaderWrapper,\n FileAssetWrapper,\n FileFinalizer,\n};\n","import * as rc from \"../rive_advanced.mjs\";\nimport { RuntimeLoader } from \"../runtimeLoader\";\nimport type { FontWrapper } from \"./finalizationRegistry\";\n\n// Callback type for the fallback fonts callback\nexport type FallbackFontsCallback = (missingGlyph: number, weight: number) => FontWrapper | FontWrapper[] | null | undefined;\n\ntype CallbackToPointerValue = (missingGlyph: number, fallbackFontIndex: number, weight: number) => number | null;\n\n// Class to manage fallback fonts for Rive.\nexport class RiveFont {\n private static _fallbackFontCallback: FallbackFontsCallback | null = null;\n\n // Class is never instantiated\n private constructor() {}\n\n\n /**\n * Set a callback to dynamically set a list of fallback fonts based on the missing glyph and/or style of the default font.\n * Set null to clear the callback.\n * @param fontCallback Callback to set a list of fallback fonts.\n */\n public static setFallbackFontCallback(fontCallback: FallbackFontsCallback | null): void {\n RiveFont._fallbackFontCallback = fontCallback ?? null;\n RiveFont._wireFallbackProc();\n }\n\n // Get the pointer value to the Embind Font object from FontWrapper\n private static _fontToPtr(\n fontWrapper: FontWrapper | null | undefined\n ): number | null {\n if (fontWrapper == null) return null;\n const embindFont = fontWrapper.nativeFont as rc.Font;\n const ptr = embindFont?.ptr?.();\n return ptr ?? null;\n }\n\n private static _getFallbackPtr(\n fonts: FontWrapper[] | null | undefined,\n index: number\n ): number | null {\n if (index < 0 || index >= fonts.length) return null;\n return RiveFont._fontToPtr(fonts![index]);\n }\n\n // Create the callback Rive expects to use for fallback fonts (regardless if set via a user-supplied static list, or callback)\n // 1. Ensure WASM is ready\n // 2. Bias for checking user callback over static list of fonts and pass it down to Rive to store as reference\n // - When calling the user callback, check if we have any fonts left to check, and if not, return null to indicate there are no more fallbacks to try.\n // - If the user callback returns an array of fonts, pass the pointer value to Rive of the font to try\n // 3. If no callback is provided, or the callback returns null, try the static list of fonts if they set any\n // 4. If no fallback method is set, return null.\n private static _wireFallbackProc(): void {\n RuntimeLoader.getInstance((rive: rc.RiveCanvas) => {\n const { _fallbackFontCallback: cb } = RiveFont;\n if (cb) {\n rive.setFallbackFontCallback(\n ((missingGlyph: number, fallbackFontIndex: number, weight: number) => {\n const fontsReturned = cb(missingGlyph, weight);\n if (fontsReturned) {\n if (Array.isArray(fontsReturned)) {\n return RiveFont._getFallbackPtr(\n fontsReturned,\n fallbackFontIndex\n );\n }\n // If the user callback only returns a single font, provide it to Rive the first time, otherwise if Rive\n // calls back a second time, return null to indicate there are no more fallbacks to try.\n return fallbackFontIndex === 0 ? RiveFont._fontToPtr(fontsReturned) : null;\n }\n return null;\n }) as CallbackToPointerValue\n );\n } else {\n rive.setFallbackFontCallback(null);\n }\n });\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import * as rc from \"./rive_advanced.mjs\";\nimport { Animation } from \"./animation\";\nimport { RuntimeLoader, type RuntimeCallback } from \"./runtimeLoader\";\nimport {\n SemanticTreeModel,\n AccessibilityOverlay,\n SemanticMode,\n SemanticRole,\n type RiveSemanticsOptions,\n type SemanticActionType,\n} from \"./semantics\";\nimport {\n registerTouchInteractions,\n KeyboardInteractions,\n FocusSessionState,\n sanitizeUrl,\n BLANK_URL,\n ImageWrapper,\n AudioWrapper,\n FontWrapper,\n finalizationRegistry,\n CustomFileAssetLoaderWrapper,\n FileFinalizer,\n createFinalization,\n RiveFont as RiveFontClassUtil,\n} from \"./utils\";\nexport type AssetLoadCallback = (\n asset: rc.FileAsset,\n bytes: Uint8Array,\n) => boolean;\n\nclass RiveError extends Error {\n public isHandledError = true;\n}\n\nexport { RiveFontClassUtil as RiveFont };\nexport { SemanticMode };\nexport type { RiveSemanticsOptions };\n\n// Note: Re-exporting a few types from rive_advanced.mjs to expose for high-level\n// API usage without re-defining their type definition here. May want to revisit\n// and see if we want to expose both types from rive.ts and rive_advanced.mjs in\n// the future\nexport type {\n FileAsset,\n AudioAsset,\n FontAsset,\n ImageAsset,\n} from \"./rive_advanced.mjs\";\n\n/**\n * Generic type for a parameterless void callback\n */\nexport type VoidCallback = () => void;\n\ninterface SetupRiveListenersOptions {\n isTouchScrollEnabled?: boolean;\n}\n\n/**\n * Type for artboard bounds\n */\nexport type Bounds = rc.AABB;\n\n// #regions helpers\nconst resolveErrorMessage = (error: any): string =>\n error && error.isHandledError\n ? error.message\n : \"Problem loading file; may be corrupt!\";\n\n// #region layout\n\n// Fit options for the canvas\nexport enum Fit {\n Cover = \"cover\",\n Contain = \"contain\",\n Fill = \"fill\",\n FitWidth = \"fitWidth\",\n FitHeight = \"fitHeight\",\n None = \"none\",\n ScaleDown = \"scaleDown\",\n Layout = \"layout\",\n}\n\n// Alignment options for the canvas\nexport enum Alignment {\n Center = \"center\",\n TopLeft = \"topLeft\",\n TopCenter = \"topCenter\",\n TopRight = \"topRight\",\n CenterLeft = \"centerLeft\",\n CenterRight = \"centerRight\",\n BottomLeft = \"bottomLeft\",\n BottomCenter = \"bottomCenter\",\n BottomRight = \"bottomRight\",\n}\n\n// Drawing optimization options\nexport enum DrawOptimizationOptions {\n AlwaysDraw = \"alwaysDraw\",\n DrawOnChanged = \"drawOnChanged\",\n}\n\n// Options for Rive focus management\nexport interface RiveFocusOptions {\n /**\n * When true, allows Rive to interrupt browser focus and programmatically\n * set/release focus on the canvas when the state machine reports focus\n * changes in Rive. This allows apps to direct focus to/from the canvas or\n * related elements as needed if not currently focused, which can happen at\n * any point in the Rive render loop.\n *\n * Note: Nodes in the Rive graphic may still receive/release focus respecting\n * any focus rules defined in the state machine.\n *\n * @default false to prevent unwanted focus interruptions\n */\n allowFocusInterrupt: boolean;\n}\n\n// Interface for the Layout static method constructor\nexport interface LayoutParameters {\n fit?: Fit;\n alignment?: Alignment;\n layoutScaleFactor?: number;\n minX?: number;\n minY?: number;\n maxX?: number;\n maxY?: number;\n}\n\n// Alignment options for Rive animations in a HTML canvas\nexport class Layout {\n // Runtime fit and alignment are accessed every frame, so we cache their\n // values to save cycles\n private cachedRuntimeFit: rc.Fit;\n private cachedRuntimeAlignment: rc.Alignment;\n\n public readonly fit: Fit;\n public readonly alignment: Alignment;\n public readonly layoutScaleFactor: number;\n public readonly minX: number;\n public readonly minY: number;\n public readonly maxX: number;\n public readonly maxY: number;\n\n constructor(params?: LayoutParameters) {\n this.fit = params?.fit ?? Fit.Contain;\n this.alignment = params?.alignment ?? Alignment.Center;\n this.layoutScaleFactor = params?.layoutScaleFactor ?? 1;\n this.minX = params?.minX ?? 0;\n this.minY = params?.minY ?? 0;\n this.maxX = params?.maxX ?? 0;\n this.maxY = params?.maxY ?? 0;\n }\n\n // Alternative constructor to build a Layout from an interface/object\n static new({\n fit,\n alignment,\n minX,\n minY,\n maxX,\n maxY,\n }: LayoutParameters): Layout {\n warnOnce(\n DeprecationKeys.legacyConstructors,\n \"This function is deprecated: please use `new Layout({})` instead\",\n );\n return new Layout({ fit, alignment, minX, minY, maxX, maxY });\n }\n\n /**\n * Makes a copy of the layout, replacing any specified parameters\n */\n public copyWith({\n fit,\n alignment,\n layoutScaleFactor,\n minX,\n minY,\n maxX,\n maxY,\n }: LayoutParameters): Layout {\n return new Layout({\n fit: fit ?? this.fit,\n alignment: alignment ?? this.alignment,\n layoutScaleFactor: layoutScaleFactor ?? this.layoutScaleFactor,\n minX: minX ?? this.minX,\n minY: minY ?? this.minY,\n maxX: maxX ?? this.maxX,\n maxY: maxY ?? this.maxY,\n });\n }\n\n // Returns fit for the Wasm runtime format\n public runtimeFit(rive: rc.RiveCanvas): rc.Fit {\n if (this.cachedRuntimeFit) return this.cachedRuntimeFit;\n\n let fit;\n if (this.fit === Fit.Cover) fit = rive.Fit.cover;\n else if (this.fit === Fit.Contain) fit = rive.Fit.contain;\n else if (this.fit === Fit.Fill) fit = rive.Fit.fill;\n else if (this.fit === Fit.FitWidth) fit = rive.Fit.fitWidth;\n else if (this.fit === Fit.FitHeight) fit = rive.Fit.fitHeight;\n else if (this.fit === Fit.ScaleDown) fit = rive.Fit.scaleDown;\n else if (this.fit === Fit.Layout) fit = rive.Fit.layout;\n else fit = rive.Fit.none;\n\n this.cachedRuntimeFit = fit;\n return fit;\n }\n\n // Returns alignment for the Wasm runtime format\n public runtimeAlignment(rive: rc.RiveCanvas): rc.Alignment {\n if (this.cachedRuntimeAlignment) return this.cachedRuntimeAlignment;\n\n let alignment;\n if (this.alignment === Alignment.TopLeft)\n alignment = rive.Alignment.topLeft;\n else if (this.alignment === Alignment.TopCenter)\n alignment = rive.Alignment.topCenter;\n else if (this.alignment === Alignment.TopRight)\n alignment = rive.Alignment.topRight;\n else if (this.alignment === Alignment.CenterLeft)\n alignment = rive.Alignment.centerLeft;\n else if (this.alignment === Alignment.CenterRight)\n alignment = rive.Alignment.centerRight;\n else if (this.alignment === Alignment.BottomLeft)\n alignment = rive.Alignment.bottomLeft;\n else if (this.alignment === Alignment.BottomCenter)\n alignment = rive.Alignment.bottomCenter;\n else if (this.alignment === Alignment.BottomRight)\n alignment = rive.Alignment.bottomRight;\n else alignment = rive.Alignment.center;\n\n this.cachedRuntimeAlignment = alignment;\n return alignment;\n }\n}\n\n// #endregion\n\n// #region runtime\n\nexport { RuntimeLoader, type RuntimeCallback };\n\n// #endregion\n\n// #region state machines\n\n/**\n * @deprecated State machine inputs are deprecated and will be removed in a\n * future major version: please use data binding properties instead. See\n * {@link https://rive.app/docs/editor/data-binding/migration-guide#state-machine-inputs}\n * for how to migrate.\n */\nexport enum StateMachineInputType {\n Number = 56,\n Trigger = 58,\n Boolean = 59,\n}\n\n/**\n * An input for a state machine\n * @deprecated State machine inputs are deprecated and will be removed in a\n * future major version: please use data binding properties instead. See\n * {@link https://rive.app/docs/editor/data-binding/migration-guide#state-machine-inputs}\n * for how to migrate.\n */\nexport class StateMachineInput {\n constructor(\n public readonly type: StateMachineInputType,\n private runtimeInput: rc.SMIInput,\n ) {}\n\n /**\n * Returns the name of the input\n */\n public get name(): string {\n return this.runtimeInput.name;\n }\n\n /**\n * Returns the current value of the input\n */\n public get value(): number | boolean {\n return this.runtimeInput.value;\n }\n\n /**\n * Sets the value of the input\n */\n public set value(value: number | boolean) {\n this.runtimeInput.value = value;\n }\n\n /**\n * Fires a trigger; does nothing on Number or Boolean input types\n */\n public fire(): void {\n if (this.type === StateMachineInputType.Trigger) {\n this.runtimeInput.fire();\n }\n }\n\n /**\n * Deletes the input\n */\n public delete(): void {\n this.runtimeInput = null;\n }\n}\n\n/**\n * @deprecated Subscribing to Rive Events at runtime is deprecated and will be removed in a future major\n * version: please use data binding instead. See\n * {@link https://rive.app/docs/runtimes/web/rive-events} for how to migrate.\n */\nexport enum RiveEventType {\n General = 128,\n OpenUrl = 131,\n}\n\nclass BaseArtboard {\n public isBindableArtboard: boolean = false;\n constructor(_isBindableArtboard: boolean) {\n this.isBindableArtboard = _isBindableArtboard;\n }\n}\n\nclass Artboard extends BaseArtboard {\n public nativeArtboard: rc.Artboard;\n public file: RiveFile;\n constructor(artboard: rc.Artboard, _file: RiveFile) {\n super(false);\n this.nativeArtboard = artboard;\n this.file = _file;\n }\n}\n\nclass BindableArtboard extends BaseArtboard implements rc.FinalizableTarget {\n public selfUnref: boolean = false;\n public nativeArtboard: rc.BindableArtboard;\n public nativeViewModel: rc.ViewModelInstance | null;\n constructor(artboard: rc.BindableArtboard) {\n super(true);\n this.nativeArtboard = artboard;\n }\n public set viewModel(value: ViewModelInstance) {\n this.nativeViewModel = value.nativeInstance;\n }\n destroy() {\n if (this.selfUnref) {\n this.nativeArtboard.unref();\n this.nativeViewModel?.unref();\n }\n }\n}\n\nclass StateMachine {\n /**\n * Caches the inputs from the runtime\n */\n public readonly inputs: StateMachineInput[] = [];\n\n /**\n * Runtime state machine instance\n */\n public readonly instance: rc.StateMachineInstance;\n\n /**\n * Whether this state machine has focus nodes\n */\n public get hasFocusNodes(): boolean {\n return this.instance.hasFocusNodes();\n }\n\n /**\n * @constructor\n * @param stateMachine runtime state machine object\n * @param instance runtime state machine instance object\n */\n constructor(\n private stateMachine: rc.StateMachine,\n runtime: rc.RiveCanvas,\n public playing: boolean,\n private artboard: rc.Artboard,\n ) {\n this.instance = new runtime.StateMachineInstance(stateMachine, artboard);\n this.initInputs(runtime);\n }\n\n public get name(): string {\n return this.stateMachine.name;\n }\n\n /**\n * Returns a list of state names that have changed on this frame\n */\n public get statesChanged(): string[] {\n const names: string[] = [];\n for (let i = 0; i < this.instance.stateChangedCount(); i++) {\n names.push(this.instance.stateChangedNameByIndex(i));\n }\n return names;\n }\n\n /**\n * Advances the state machine instance by a given time.\n * @param time - the time to advance the animation by in seconds\n */\n public advance(time: number) {\n this.instance.advance(time);\n }\n\n /**\n * Advances the state machine instance by a given time and apply changes to artboard.\n * @param time - the time to advance the animation by in seconds\n */\n public advanceAndApply(time: number) {\n this.instance.advanceAndApply(time);\n }\n\n /**\n * Enables semantic tree tracking for this state machine instance.\n */\n public enableSemantics() {\n this.instance.enableSemantics();\n }\n\n /**\n * Returns the incremental semantic diff since the last call, or null\n * if semantics is not enabled or nothing changed.\n */\n public drainSemanticsDiff(): rc.SemanticsDiff | null {\n return this.instance.drainSemanticsDiff();\n }\n\n /**\n * Fire a semantic action (tap, increase, decrease) on a node.\n * @param nodeId - The semantic node ID to target\n * @param actionType - 0 = tap, 1 = increase, 2 = decrease\n */\n public fireSemanticAction(nodeId: number, actionType: SemanticActionType) {\n this.instance.fireSemanticAction(nodeId, actionType);\n }\n\n /**\n * When tools that enable accessible experiences traverse elements with focus,\n * we should call this method to focus the semantic node. It will also trigger\n * focus on any Focus listeners for this node\n * @param nodeId ID of the Semantic Node to focus\n * @returns boolean - True if focus was set, false otherwise\n */\n public focusSemanticNode(nodeId: number): boolean {\n return this.instance.focusSemanticNode(nodeId);\n }\n\n /**\n * Returns the number of events reported from the last advance call\n * @returns Number of events reported\n */\n public reportedEventCount(): number {\n return this.instance.reportedEventCount();\n }\n\n /**\n * Returns a RiveEvent object emitted from the last advance call at the given index\n * of a list of potentially multiple events. If an event at the index is not found,\n * undefined is returned.\n * @param i index of the event reported in a list of potentially multiple events\n * @returns RiveEvent or extended RiveEvent object returned, or undefined\n */\n reportedEventAt(i: number): rc.OpenUrlEvent | rc.RiveEvent | undefined {\n return this.instance.reportedEventAt(i);\n }\n\n /**\n * Fetches references to the state machine's inputs and caches them\n * @param runtime an instance of the runtime; needed for the SMIInput types\n */\n private initInputs(runtime: rc.RiveCanvas): void {\n // Fetch the inputs from the runtime if we don't have them\n for (let i = 0; i < this.instance.inputCount(); i++) {\n const input = this.instance.input(i);\n this.inputs.push(this.mapRuntimeInput(input, runtime));\n }\n }\n\n /**\n * Maps a runtime input to it's appropriate type\n * @param input\n */\n private mapRuntimeInput(\n input: rc.SMIInput,\n runtime: rc.RiveCanvas,\n ): StateMachineInput {\n if (input.type === runtime.SMIInput.bool) {\n return new StateMachineInput(\n StateMachineInputType.Boolean,\n input.asBool(),\n );\n } else if (input.type === runtime.SMIInput.number) {\n return new StateMachineInput(\n StateMachineInputType.Number,\n input.asNumber(),\n );\n } else if (input.type === runtime.SMIInput.trigger) {\n return new StateMachineInput(\n StateMachineInputType.Trigger,\n input.asTrigger(),\n );\n }\n }\n\n /**\n * Deletes the backing Wasm state machine instance; once this is called, this\n * state machine is no more.\n */\n public cleanup() {\n this.inputs.forEach((input) => {\n input.delete();\n });\n this.inputs.length = 0;\n this.instance.delete();\n }\n\n public bindViewModelInstance(viewModelInstance: ViewModelInstance) {\n if (viewModelInstance.runtimeInstance != null) {\n this.instance.bindViewModelInstance(viewModelInstance.runtimeInstance);\n }\n }\n\n /**\n * Get metadata about the state of focus if applicable for this state machine.\n * @returns FocusState - { hasFocus: boolean, expectsKeyboardInput: boolean }\n */\n public focusState(): rc.FocusState { \n return this.instance.focusState();\n }\n\n /**\n * Clear focus from the Rive focus node tree.\n */\n public clearFocus(): void {\n this.instance.clearFocus();\n }\n}\n\n// #endregion\n\n// #region animator\n\n/**\n * Manages animation\n */\nclass Animator {\n /**\n * Constructs a new animator\n * @constructor\n * @param runtime Rive runtime; needed to instance animations & state machines\n * @param artboard the artboard that holds all animations and state machines\n * @param animations optional list of animations\n * @param stateMachines optional list of state machines\n */\n constructor(\n private runtime: rc.RiveCanvas,\n private artboard: rc.Artboard,\n private eventManager: EventManager,\n public readonly animations: Animation[] = [],\n public readonly stateMachines: StateMachine[] = [],\n ) {}\n\n /**\n * Adds animations and state machines by their names. If names are shared\n * between animations & state machines, then the first one found will be\n * created. Best not to use the same names for these in your Rive file.\n * @param animatable the name(s) of animations and state machines to add\n * @returns a list of names of the playing animations and state machines\n */\n public add(\n animatables: string | string[],\n playing: boolean,\n fireEvent = true,\n semanticsActive = false,\n ): string[] {\n animatables = mapToStringArray(animatables);\n // If animatables is empty, play or pause everything\n if (animatables.length === 0) {\n this.animations.forEach((a) => (a.playing = playing));\n this.stateMachines.forEach((m) => (m.playing = playing));\n } else {\n // Play/pause already instanced items, or create new instances\n const instancedAnimationNames = this.animations.map((a) => a.name);\n const instancedMachineNames = this.stateMachines.map((m) => m.name);\n for (let i = 0; i < animatables.length; i++) {\n const aIndex = instancedAnimationNames.indexOf(animatables[i]);\n const mIndex = instancedMachineNames.indexOf(animatables[i]);\n if (aIndex >= 0 || mIndex >= 0) {\n if (aIndex >= 0) {\n // Animation is instanced, play/pause it\n this.animations[aIndex].playing = playing;\n } else {\n // State machine is instanced, play/pause it\n this.stateMachines[mIndex].playing = playing;\n }\n } else {\n // Try to create a new animation instance\n const anim = this.artboard.animationByName(animatables[i]);\n if (anim) {\n const newAnimation = new Animation(\n anim,\n this.artboard,\n this.runtime,\n playing,\n );\n // Display the first frame of the specified animation\n newAnimation.advance(0);\n newAnimation.apply(1.0);\n this.animations.push(newAnimation);\n } else {\n // Try to create a new state machine instance\n const sm = this.artboard.stateMachineByName(animatables[i]);\n if (sm) {\n const newStateMachine = new StateMachine(\n sm,\n this.runtime,\n playing,\n this.artboard,\n );\n if (semanticsActive) {\n newStateMachine.enableSemantics();\n }\n this.stateMachines.push(newStateMachine);\n }\n }\n }\n }\n }\n // Fire play/paused events for animations\n if (fireEvent) {\n if (playing) {\n this.eventManager.fire({\n type: EventType.Play,\n data: this.playing,\n });\n } else {\n this.eventManager.fire({\n type: EventType.Pause,\n data: this.paused,\n });\n }\n }\n\n return playing ? this.playing : this.paused;\n }\n\n /**\n * Adds linear animations by their names.\n * @param animatables the name(s) of animations to add\n * @param playing whether animations should play on instantiation\n */\n public initLinearAnimations(animatables: string[], playing: boolean, isFallingBackFromStateMachines = false) {\n // Play/pause already instanced items, or create new instances\n // This validation is kept to maintain compatibility with current behavior.\n // But given that it this is called during artboard initialization\n // it should probably be safe to remove.\n const instancedAnimationNames = this.animations.map((a) => a.name);\n for (let i = 0; i < animatables.length; i++) {\n const aIndex = instancedAnimationNames.indexOf(animatables[i]);\n if (aIndex >= 0) {\n this.animations[aIndex].playing = playing;\n } else {\n // Try to create a new animation instance\n const anim = this.artboard.animationByName(animatables[i]);\n if (anim) {\n const newAnimation = new Animation(\n anim,\n this.artboard,\n this.runtime,\n playing,\n );\n // Display the first frame of the specified animation\n newAnimation.advance(0);\n newAnimation.apply(1.0);\n this.animations.push(newAnimation);\n } else if (isFallingBackFromStateMachines) { // Throw LoadError if we cannot load the state machine name at all\n const smInitializationMessage = `State Machine with name ${animatables[i]} not found`;\n throw new RiveError(smInitializationMessage);\n } else {\n console.error(`Animation with name ${animatables[i]} not found.`);\n }\n }\n }\n }\n\n /**\n * Adds state machines by their names.\n * @param animatables the name(s) of state machines to add\n * @param playing whether state machines should play on instantiation\n */\n public initStateMachines(animatables: string[], playing: boolean, semanticsActive: boolean) {\n // Play/pause already instanced items, or create new instances\n // This validation is kept to maintain compatibility with current behavior.\n // But given that it this is called during artboard initialization\n // it should probably be safe to remove.\n const instancedStateMachineNames = this.stateMachines.map((a) => a.name);\n for (let i = 0; i < animatables.length; i++) {\n const aIndex = instancedStateMachineNames.indexOf(animatables[i]);\n if (aIndex >= 0) {\n this.stateMachines[aIndex].playing = playing;\n } else {\n // Try to create a new state machine instance\n const sm = this.artboard.stateMachineByName(animatables[i]);\n if (sm) {\n const newStateMachine = new StateMachine(\n sm,\n this.runtime,\n playing,\n this.artboard,\n );\n if (semanticsActive) {\n newStateMachine.enableSemantics();\n }\n this.stateMachines.push(newStateMachine);\n } else {\n console.warn(`State Machine with name ${animatables[i]} not found. Falling back to find an animation with the same name.`);\n \n // TODO: Remove this fallback in next major release as it complicates initialization.\n // In order to maintain compatibility with current behavior, if a state machine is not found\n // we look for an animation with the same name\n this.initLinearAnimations([animatables[i]], playing, true);\n }\n }\n }\n }\n\n /**\n * Play the named animations/state machines\n * @param animatables the names of the animations/machines to play; plays all if empty\n * @returns a list of the playing items\n */\n public play(animatables: string | string[]): string[] {\n return this.add(animatables, true);\n }\n\n /**\n * Advance state machines if they are paused after initialization\n */\n public advanceIfPaused(): void {\n this.stateMachines.forEach((sm) => {\n if (!sm.playing) {\n sm.advanceAndApply(0);\n }\n });\n }\n\n /**\n * Pauses named animations and state machines, or everything if nothing is\n * specified\n * @param animatables names of the animations and state machines to pause\n * @returns a list of names of the animations and state machines paused\n */\n public pause(animatables: string[]): string[] {\n return this.add(animatables, false);\n }\n\n /**\n * Set time of named animations\n * @param animations names of the animations to scrub\n * @param value time scrub value, a floating point number to which the playhead is jumped\n * @returns a list of names of the animations that were scrubbed\n */\n public scrub(animatables: string[], value: number): string[] {\n const forScrubbing = this.animations.filter((a) =>\n animatables.includes(a.name),\n );\n forScrubbing.forEach((a) => (a.scrubTo = value));\n return forScrubbing.map((a) => a.name);\n }\n\n /**\n * Returns a list of names of all animations and state machines currently\n * playing\n */\n public get playing(): string[] {\n return this.animations\n .filter((a) => a.playing)\n .map((a) => a.name)\n .concat(this.stateMachines.filter((m) => m.playing).map((m) => m.name));\n }\n\n /**\n * Returns a list of names of all animations and state machines currently\n * paused\n */\n public get paused(): string[] {\n return this.animations\n .filter((a) => !a.playing)\n .map((a) => a.name)\n .concat(this.stateMachines.filter((m) => !m.playing).map((m) => m.name));\n }\n\n /**\n * Stops and removes all named animations and state machines\n * @param animatables animations and state machines to remove\n * @returns a list of names of removed items\n */\n public stop(animatables?: string[] | string): string[] {\n animatables = mapToStringArray(animatables);\n\n // If nothing's specified, wipe them out, all of them\n let removedNames: string[] = [];\n // Stop everything\n if (animatables.length === 0) {\n removedNames = this.animations\n .map((a) => a.name)\n .concat(this.stateMachines.map((m) => m.name));\n // Clean up before emptying the arrays\n this.animations.forEach((a) => a.cleanup());\n this.stateMachines.forEach((m) => m.cleanup());\n // Empty out the arrays\n this.animations.splice(0, this.animations.length);\n this.stateMachines.splice(0, this.stateMachines.length);\n } else {\n // Remove only the named animations/state machines\n const animationsToRemove = this.animations.filter((a) =>\n animatables.includes(a.name),\n );\n\n animationsToRemove.forEach((a) => {\n a.cleanup();\n this.animations.splice(this.animations.indexOf(a), 1);\n });\n const machinesToRemove = this.stateMachines.filter((m) =>\n animatables.includes(m.name),\n );\n machinesToRemove.forEach((m) => {\n m.cleanup();\n this.stateMachines.splice(this.stateMachines.indexOf(m), 1);\n });\n removedNames = animationsToRemove\n .map((a) => a.name)\n .concat(machinesToRemove.map((m) => m.name));\n }\n\n this.eventManager.fire({\n type: EventType.Stop,\n data: removedNames,\n });\n\n // Return the list of animations removed\n return removedNames;\n }\n\n /**\n * Returns true if at least one animation is active\n */\n public get isPlaying(): boolean {\n return (\n this.animations.reduce((acc, curr) => acc || curr.playing, false) ||\n this.stateMachines.reduce((acc, curr) => acc || curr.playing, false)\n );\n }\n\n /**\n * Returns true if all animations are paused and there's at least one animation\n */\n public get isPaused(): boolean {\n return (\n !this.isPlaying &&\n (this.animations.length > 0 || this.stateMachines.length > 0)\n );\n }\n\n /**\n * Returns true if there are no playing or paused animations/state machines\n */\n public get isStopped(): boolean {\n return this.animations.length === 0 && this.stateMachines.length === 0;\n }\n\n /**\n * If there are no animations or state machines, add the first one found\n * @returns the name of the animation or state machine instanced\n */\n public atLeastOne(playing: boolean, fireEvent = true, semanticsActive = false): string {\n let instancedName: string;\n if (this.animations.length === 0 && this.stateMachines.length === 0) {\n if (this.artboard.animationCount() > 0) {\n // Warn only when the v3 default would actually change what plays\n if (this.artboard.stateMachineCount() > 0) {\n warnOnce(\n DeprecationKeys.defaultStateMachine,\n \"No `stateMachine` was specified, so the artboard's first linear animation is playing by default. \" +\n \"In the next major version, the artboard's state machine will be played by default instead when one exists. \" +\n \"Pass the `stateMachine` parameter to adopt that behavior now.\",\n );\n }\n // Add the first animation\n this.add(\n [(instancedName = this.artboard.animationByIndex(0).name)],\n playing,\n fireEvent,\n );\n } else if (this.artboard.stateMachineCount() > 0) {\n // Add the first state machine\n this.add(\n [(instancedName = this.artboard.stateMachineByIndex(0).name)],\n playing,\n fireEvent,\n semanticsActive,\n );\n }\n }\n return instancedName;\n }\n\n /**\n * Checks if any animations have looped and if so, fire the appropriate event\n */\n public handleLooping() {\n for (const animation of this.animations.filter((a) => a.playing)) {\n // Emit if the animation looped\n if (animation.loopValue === 0 && animation.loopCount) {\n animation.loopCount = 0;\n // This is a one-shot; if it has ended, delete the instance\n this.stop(animation.name);\n } else if (animation.loopValue === 1 && animation.loopCount) {\n this.eventManager.fire({\n type: EventType.Loop,\n data: { animation: animation.name, type: LoopType.Loop },\n });\n animation.loopCount = 0;\n }\n // Wasm indicates a loop at each time the animation\n // changes direction, so a full loop/lap occurs every\n // two loop counts\n else if (animation.loopValue === 2 && animation.loopCount > 1) {\n this.eventManager.fire({\n type: EventType.Loop,\n data: { animation: animation.name, type: LoopType.PingPong },\n });\n animation.loopCount = 0;\n }\n }\n }\n\n /**\n * Checks if states have changed in state machines and fires a statechange\n * event\n */\n public handleStateChanges() {\n const statesChanged: string[] = [];\n for (const stateMachine of this.stateMachines.filter((sm) => sm.playing)) {\n statesChanged.push(...stateMachine.statesChanged);\n }\n if (statesChanged.length > 0) {\n this.eventManager.fire({\n type: EventType.StateChange,\n data: statesChanged,\n });\n }\n }\n\n public handleAdvancing(time: number) {\n this.eventManager.fire({\n type: EventType.Advance,\n data: time,\n });\n }\n}\n\n// #endregion\n\n// #region events\n\n/**\n * Supported event types triggered in Rive\n */\nexport enum EventType {\n Load = \"load\",\n LoadError = \"loaderror\",\n Play = \"play\",\n Pause = \"pause\",\n Stop = \"stop\",\n /**\n * @deprecated Loop events are deprecated and will be removed in a future\n * major version: they are only reported for linear animation playback, which\n * is deprecated. Use a state machine to control playback and data binding to\n * react to changes instead. See\n * {@link https://rive.app/docs/editor/data-binding/migration-guide} for how\n * to migrate.\n */\n Loop = \"loop\",\n Draw = \"draw\",\n Advance = \"advance\",\n /**\n * @deprecated Subscribing to state change events at runtime is deprecated\n * and will be removed in a future major version: use data binding (view model\n * property observers) or state machine actions to react to changes from your\n * graphic instead. See\n * {@link https://rive.app/docs/editor/state-machine/states#actions} for more details.\n */\n StateChange = \"statechange\",\n /**\n * @deprecated Subscribing to Rive Events at runtime is deprecated and will be removed in a future\n * major version: please use data binding instead. See\n * {@link https://rive.app/docs/runtimes/web/rive-events} for how to migrate.\n */\n RiveEvent = \"riveevent\",\n AudioStatusChange = \"audiostatuschange\", // internal event. TODO: split\n}\n\n/**\n * @deprecated Subscribing to Rive Events at runtime is deprecated and will be removed in a future major\n * version: please use data binding instead. See\n * {@link https://rive.app/docs/runtimes/web/rive-events} for how to migrate.\n */\nexport type RiveEventPayload = rc.RiveEvent | rc.OpenUrlEvent;\n\nconst riveEventsDeprecationWarning =\n \"Subscribing to Rive Events at runtime is deprecated and will be removed in a future major version: \" +\n \"please use data binding instead. See \" +\n \"https://rive.app/docs/runtimes/web/rive-events for how to migrate.\";\n\nconst stateMachineInputsDeprecationWarning =\n \"State machine inputs are deprecated and will be removed in a future major version: \" +\n \"please use data binding properties instead. See \" +\n \"https://rive.app/docs/editor/data-binding/migration-guide#state-machine-inputs for how to migrate.\";\n\nconst textRunsDeprecationWarning =\n \"Text run APIs are deprecated and will be removed in a future major version: \" +\n \"please use data binding instead. See \" +\n \"https://rive.app/docs/editor/data-binding/migration-guide#updating-text-runs-at-runtime for how to migrate.\";\n\nconst loopEventsDeprecationWarning =\n \"Loop events are deprecated and will be removed in a future major version: \" +\n \"they are only reported for linear animation playback, which is deprecated. \" +\n \"Use a state machine to control playback and data binding to react to changes instead. See \" +\n \"https://rive.app/docs/editor/data-binding/migration-guide for how to migrate.\";\n\nconst stateChangeEventsDeprecationWarning =\n \"Subscribing to state change events at runtime is deprecated and will be removed in a future major version: \" +\n \"use data binding (view model property observers) or state machine actions to react to \" + \n \"changes from your graphic instead. See \" +\n \"https://rive.app/docs/editor/state-machine/states#actions for how to migrate.\";\n\n/**\n * The deprecations this runtime warns about. Each warning prints its own id, so\n * the value can be copied straight out of the console into\n * {@link Rive.suppressDeprecationWarnings}.\n */\nexport const DeprecationKeys = {\n animationNames: \"animation-names\",\n animationsParam: \"animations-param\",\n defaultStateMachine: \"default-state-machine\",\n legacyConstructors: \"legacy-constructors\",\n legacyUnsubscribe: \"legacy-unsubscribe\",\n loopEvents: \"loop-events\",\n namesArray: \"names-array\",\n riveEvents: \"rive-events\",\n scrub: \"scrub\",\n stateChangeEvents: \"state-change-events\",\n stateMachineInputs: \"state-machine-inputs\",\n stateMachinesParam: \"state-machines-param\",\n textRuns: \"text-runs\",\n} as const;\n\n/**\n * An id accepted by {@link Rive.suppressDeprecationWarnings}, as either a\n * {@link DeprecationKeys} entry or the string literal it holds.\n */\nexport type DeprecationId =\n (typeof DeprecationKeys)[keyof typeof DeprecationKeys];\n\n// Derived from `DeprecationKeys`\nconst deprecationIds = new Set<string>(\n Object.keys(DeprecationKeys).map(\n (name) => DeprecationKeys[name as keyof typeof DeprecationKeys],\n ),\n);\n\n// Deprecations that a consumer has opted out of. Kept at module scope so\n// `warnOnce` can read it without referencing the `Rive` class\nconst suppressedDeprecations = new Set<DeprecationId>();\n\n/** @internal Backing store for `Rive.suppressDeprecationWarnings`. */\nconst setSuppressedDeprecations = (ids: readonly DeprecationId[]): void => {\n suppressedDeprecations.clear();\n if (!Array.isArray(ids)) {\n console.warn(\n \"[Rive] `suppressDeprecationWarnings` expects an array of deprecation ids, \" +\n `received ${typeof ids}. Nothing was suppressed.`,\n );\n return;\n }\n for (const id of ids) {\n if (deprecationIds.has(id)) {\n suppressedDeprecations.add(id);\n }\n }\n};\n\n// Deprecation warnings already emitted; each is logged at most once per page\n// session to avoid flooding the console when many instances are created.\nconst emittedWarnings = new Set<string>();\n\n/**\n * Logs a deprecation warning at most once per page session, unless its id has\n * been passed to `Rive.suppressDeprecationWarnings`.\n */\nconst warnOnce = (id: DeprecationId, message: string) => {\n if (suppressedDeprecations.has(id)) {\n return;\n }\n const key = `${id}:${message}`;\n if (emittedWarnings.has(key)) {\n return;\n }\n emittedWarnings.add(key);\n console.warn(\n `[Rive: ${id}] ${message}\\n` +\n `To suppress this warning, set Rive.suppressDeprecationWarnings = [\"${id}\"]`,\n );\n};\n\n/**\n * Warns that a playback-control method received an array of names; the next\n * major version restricts these parameters to a single string, since playing\n * multiple animations or state machines at once will not be supported.\n */\nconst warnIfNamesArray = (\n names: string | string[] | undefined,\n methodName: string,\n) => {\n if (Array.isArray(names)) {\n warnOnce(\n DeprecationKeys.namesArray,\n `Passing an array of names to \\`${methodName}()\\` is deprecated: in the next major version this parameter will be a single string, and playing multiple animations or state machines at once will not be supported.`,\n );\n }\n};\n\n/**\n * Warns that a playback-control method received linear animation names;\n * name-based control remains supported for state machines only, so\n * user-specified linear animation names are going away in a future major\n * version.\n */\nconst warnDeprecatedAnimationNames = (methodName: string) => {\n warnOnce(\n DeprecationKeys.animationNames,\n `Passing linear animation names to \\`${methodName}()\\` is deprecated and will be removed in a future major version: ` +\n \"Pass a single state machine name to control playback instead.\",\n );\n};\n\n// Event reported by Rive for significant events during animation playback (i.e. play, pause, stop, etc.),\n// as well as for custom Rive events reported from the state machine defined at design-time.\nexport interface Event {\n type: EventType;\n data?: string | string[] | LoopEvent | number | RiveEventPayload | RiveFile;\n}\n\n/**\n * Looping types: one-shot, loop, and ping-pong\n * @deprecated Loop events are deprecated and will be removed in a future major\n * version: they are only reported for linear animation playback, which is\n * deprecated. Use a state machine to control playback and data binding to\n * react to changes instead.\n */\nexport enum LoopType {\n OneShot = \"oneshot\", // has value 0 in runtime\n Loop = \"loop\", // has value 1 in runtime\n PingPong = \"pingpong\", // has value 2 in runtime\n}\n\n/**\n * Loop events are returned through onloop callbacks\n * @deprecated Loop events are deprecated and will be removed in a future major\n * version: they are only reported for linear animation playback, which is\n * deprecated. Use a state machine to control playback and data binding to\n * react to changes instead.\n */\nexport interface LoopEvent {\n animation: string;\n type: LoopType;\n}\n\n/**\n * Loop events are returned through onloop callbacks\n */\nexport type EventCallback = (event: Event) => void;\n\n/**\n * Event listeners registered with the event manager\n */\nexport interface EventListener {\n type: EventType;\n callback: EventCallback;\n}\n\n/**\n * FPS Reporting through callbacks sent to the WASM runtime\n */\nexport type FPSCallback = (fps: number) => void;\n\n// Manages Rive events and listeners\nclass EventManager {\n constructor(private listeners: EventListener[] = []) {}\n\n // Gets listeners of specified type\n private getListeners(type: EventType): EventListener[] {\n return this.listeners.filter((e) => e.type === type);\n }\n\n // Adds a listener\n public add(listener: EventListener): void {\n if (!this.listeners.includes(listener)) {\n this.listeners.push(listener);\n }\n }\n\n /**\n * Removes a listener\n * @param listener the listener with the callback to be removed\n */\n public remove(listener: EventListener): void {\n // We can't simply look for the listener as it'll be a different instance to\n // one originally subscribed. Find all the listeners of the right type and\n // then check their callbacks which should match.\n for (let i = 0; i < this.listeners.length; i++) {\n const currentListener = this.listeners[i];\n if (currentListener.type === listener.type) {\n if (currentListener.callback === listener.callback) {\n this.listeners.splice(i, 1);\n break;\n }\n }\n }\n }\n\n /**\n * Clears all listeners of specified type, or every listener if no type is\n * specified\n * @param type the type of listeners to clear, or all listeners if not\n * specified\n */\n public removeAll(type?: EventType) {\n if (!type) {\n this.listeners.splice(0, this.listeners.length);\n } else {\n this.listeners\n .filter((l) => l.type === type)\n .forEach((l) => this.remove(l));\n }\n }\n\n // Fires an event\n public fire(event: Event): void {\n const eventListeners = this.getListeners(event.type);\n eventListeners.forEach((listener) => listener.callback(event));\n }\n}\n\n// #endregion\n\n// #region Manages a queue of tasks\n\n// A task in the queue; will fire the action when the queue is processed; will\n// also optionally fire an event.\nexport interface Task {\n action?: VoidCallback;\n event?: Event;\n}\n\n// Manages a queue of tasks\nclass TaskQueueManager {\n private queue: Task[] = [];\n\n constructor(private eventManager: EventManager) {}\n\n // Adds a task top the queue\n public add(task: Task): void {\n this.queue.push(task);\n }\n\n // Processes all tasks in the queue\n public process(): void {\n while (this.queue.length > 0) {\n const task = this.queue.shift();\n if (task?.action) {\n task.action();\n }\n if (task?.event) {\n this.eventManager.fire(task.event);\n }\n }\n }\n}\n\n// #endregion\n\n// #region Audio\n\nenum SystemAudioStatus {\n AVAILABLE,\n UNAVAILABLE,\n}\n\n// Class to handle audio context availability and status changes\nclass AudioManager extends EventManager {\n private _started: boolean = false;\n private _enabled: boolean = false;\n\n private _status: SystemAudioStatus = SystemAudioStatus.UNAVAILABLE;\n private _audioContext: AudioContext;\n\n private async delay(time: number) {\n return new Promise((resolve) => setTimeout(resolve, time));\n }\n\n private async timeout() {\n return new Promise((_, reject) => setTimeout(reject, 50));\n }\n\n // Alerts animations on status changes and removes the listeners to avoid alerting twice.\n private reportToListeners() {\n this.fire({ type: EventType.AudioStatusChange });\n this.removeAll();\n }\n\n /**\n * The audio context has been resolved.\n * Alert any listeners that we can now play audio.\n * Rive will now play audio at the configured volume.\n */\n private async enableAudio() {\n if (!this._enabled) {\n this._enabled = true;\n this._status = SystemAudioStatus.AVAILABLE;\n this.reportToListeners();\n }\n }\n\n /**\n * Check if we are able to play audio.\n *\n * We currently check the audio context, when resume() returns before a timeout we know that the\n * audio context is running and we can enable audio.\n */\n private async testAudio() {\n if (\n this._status === SystemAudioStatus.UNAVAILABLE &&\n this._audioContext !== null\n ) {\n // if the audio context is not available, it will never resume,\n // so the timeout will throw after 50ms and a new cycle will start\n try {\n await Promise.race([this._audioContext.resume(), this.timeout()]);\n this.enableAudio();\n } catch {\n // we expect the promise race to timeout, which we ignore.\n }\n }\n }\n\n /**\n * Establish audio for use with rive.\n * We both test if we can use audio intermittently and listen for user interaction.\n * The aim is to enable audio playback as soon as the browser allows this.\n */\n private async _establishAudio() {\n if (!this._started) {\n this._started = true;\n // If window doesn't exist we assume they are not in a browser context\n // so audio will not be blocked\n if (typeof window == \"undefined\") {\n this.enableAudio();\n } else {\n this._audioContext = new AudioContext();\n this.listenForUserAction();\n while (this._status === SystemAudioStatus.UNAVAILABLE) {\n await this.testAudio();\n await this.delay(1000);\n }\n }\n }\n }\n\n private listenForUserAction() {\n // NOTE: AudioContexts are ready immediately if requested in a ui callback\n // we *could* re request one in this listener.\n const _clickListener = async () => {\n // note this has \"better\" results than calling `await this.testAudio()`\n // as we force audio to be enabled in the current thread, rather than chancing\n // the thread to be passed over for some other async context\n\n this.enableAudio();\n };\n // NOTE: we should test this on mobile/pads\n document.addEventListener(\"pointerdown\", _clickListener, {\n once: true,\n });\n }\n\n /**\n * Establish the audio context for rive, this lets rive know that we can play audio.\n */\n public async establishAudio() {\n this._establishAudio();\n }\n\n public get systemVolume() {\n if (this._status === SystemAudioStatus.UNAVAILABLE) {\n // We do an immediate test to avoid depending on the delay of the running test\n this.testAudio();\n return 0;\n }\n return 1;\n }\n\n public get status(): SystemAudioStatus {\n return this._status;\n }\n}\n\nconst audioManager = new AudioManager();\n\n// #endregion\n\n// #region Observers\n\ntype ObservedObject = {\n onResize: Function;\n element: HTMLCanvasElement;\n};\n\ntype MyResizeObserverType = {\n observe: Function;\n unobserve: Function;\n disconnect: Function;\n};\n\nclass FakeResizeObserver {\n observe() {}\n unobserve() {}\n disconnect() {}\n}\n\nconst MyResizeObserver = globalThis.ResizeObserver || FakeResizeObserver;\n\n/**\n * This class takes care of any observers that will be attached to an animation.\n * It should be treated as a singleton because observers are much more performant\n * when used for observing multiple elements by a single instance.\n */\n\nclass ObjectObservers {\n private _elementsMap: Map<HTMLCanvasElement, ObservedObject> = new Map();\n\n private _resizeObserver: MyResizeObserverType;\n\n constructor() {\n this._resizeObserver = new MyResizeObserver(this._onObserved);\n }\n\n /**\n * Resize observers trigger both when the element changes its size and also when the\n * element is added or removed from the document.\n */\n private _onObservedEntry = (entry: ResizeObserverEntry) => {\n const observed = this._elementsMap.get(entry.target as HTMLCanvasElement);\n if (observed !== null) {\n observed.onResize(\n entry.target.clientWidth == 0 || entry.target.clientHeight == 0,\n );\n } else {\n this._resizeObserver.unobserve(entry.target);\n }\n };\n\n private _onObserved = (entries: ResizeObserverEntry[]) => {\n entries.forEach(this._onObservedEntry);\n };\n\n // Adds an observable element\n public add(element: HTMLCanvasElement, onResize: Function) {\n let observed: ObservedObject = {\n onResize,\n element,\n };\n this._elementsMap.set(element, observed);\n this._resizeObserver.observe(element);\n return observed;\n }\n\n // Removes an observable element\n public remove(observed: ObservedObject) {\n this._resizeObserver.unobserve(observed.element);\n this._elementsMap.delete(observed.element);\n }\n}\n\nconst observers = new ObjectObservers();\n\n// #endregion\n\n// #region Rive\n\nlet nextRiveInstanceId = 0;\n\n// Interface for the Rive static method contructor\nexport interface RiveParameters {\n canvas: HTMLCanvasElement | OffscreenCanvas; // canvas is required\n /**\n * URI of the `.riv` file to load. Will be fetched by the runtime. Can be used instead of\n * `buffer` or `riveFile`.\n */\n src?: string;\n /**\n * ArrayBuffer of .riv file contents. Can be used instead of `src` or `riveFile` if you\n * fetch the file contents yourself.\n */\n buffer?: ArrayBuffer;\n /**\n * RiveFile instance if created separately. Useful if you reuse a Rive file across multiple instances.\n * Can be used instead of `src` or `buffer`.\n */\n riveFile?: RiveFile;\n /**\n * Name of the artboard to display.\n */\n artboard?: string;\n /**\n * Name of the state machine to play.\n */\n stateMachine?: string;\n /**\n * @deprecated Use the `stateMachine` parameter to play a state machine\n * instead. Support for starting playback with named animations will be\n * removed in a future major version.\n */\n animations?: string | string[];\n /**\n * @deprecated Use `stateMachine` with a single state machine name instead.\n * Support for playing multiple state machines at once will be removed in a\n * future major version.\n */\n stateMachines?: string | string[];\n layout?: Layout;\n autoplay?: boolean;\n useOffscreenRenderer?: boolean;\n /**\n * @experimental (WebGL2 only) Renders with inkbleed antialiasing instead of MSAA, which\n * disables the canvas's native MSAA. Fills that don't use the clockwise fill rule are\n * converted to clockwise on a best-effort basis. Toggle it later\n * with `rive.inkbleed`, which only works if enabled here.\n */\n enableInkbleed?: boolean;\n /**\n * Optional tab index to set for the canvas element if there are any Focus nodes within the graphic\n */\n tabIndex?: number;\n /**\n * Optional settings for focus behavior\n */\n focusOptions?: RiveFocusOptions;\n /**\n * Allow the runtime to automatically load assets hosted in Rive's CDN.\n * enabled by default.\n */\n enableRiveAssetCDN?: boolean;\n /**\n * @experimental This API is early and may encounter breaking behavior change without a major version bump\n *\n * When to build semantic trees and the accessibility DOM overlay.\n * Defaults to {@link SemanticMode.Disabled}.\n */\n semanticsMode?: SemanticMode;\n /**\n * @experimental This API is early and may encounter breaking behavior change without a major version bump\n *\n * Optional options for the accessibility overlay container.\n */\n semanticsOptions?: RiveSemanticsOptions;\n /**\n * Turn off Rive Listeners. This means state machines that have Listeners\n * will not be invoked, and also, no event listeners pertaining to Listeners\n * will be attached to the <canvas> element\n */\n shouldDisableRiveListeners?: boolean;\n /**\n * For Rive Listeners, allows scrolling behavior to still occur on canvas elements\n * when a touch/drag action is performed on touch-enabled devices. Otherwise,\n * scroll behavior may be prevented on touch/drag actions on the canvas by default.\n */\n isTouchScrollEnabled?: boolean;\n /**\n * Enable Rive Events to be handled by the runtime. This means any special Rive Event may have\n * a side effect that takes place implicitly.\n *\n * For example, if during the render loop an OpenUrlEvent is detected, the\n * browser may try to open the specified URL in the payload.\n *\n * This flag is false by default to prevent any unwanted behaviors from taking place.\n * This means any special Rive Event will have to be handled manually by subscribing to\n * EventType.RiveEvent\n *\n * @deprecated Subscribing to Rive Events at runtime is deprecated and will be removed in a future\n * major version: please use data binding instead. See\n * {@link https://rive.app/docs/runtimes/web/rive-events} for how to migrate.\n */\n automaticallyHandleEvents?: boolean;\n /**\n * Rive will look for a default view model and view model instance to bind to the artboard\n */\n autoBind?: boolean;\n /**\n * For Rive Listeners, dispatch a pointer exit when the pointer exits the canvas.\n */\n dispatchPointerExit?: boolean;\n /**\n * Enables multi touch support\n */\n enableMultiTouch?: boolean;\n /**\n * Enum with drawing options for optimizations\n */\n drawingOptions?: DrawOptimizationOptions;\n /**\n * @experimental This API is early and may encounter breaking behavior change without a major version bump\n *\n * Render GPU Canvas content, which draws through the deferred renderer.\n *\n * Only applies when this instance loads its own file (`src`/`buffer`), where it\n * is forwarded to that file as {@link RiveFileParameters.enableGPUCanvas}. With a\n * supplied `riveFile` the file's own flag wins, since a file's mode is fixed at\n * import. False by default.\n */\n enableGPUCanvas?: boolean;\n /**\n * Emit performance.mark / performance.measure entries for load lifecycle\n * events and the first 3 render frames. Useful for profiling Rive's\n * contribution to load and render time in browser devtools.\n * False by default.\n */\n enablePerfMarks?: boolean;\n onLoad?: EventCallback;\n onLoadError?: EventCallback;\n onPlay?: EventCallback;\n onPause?: EventCallback;\n onStop?: EventCallback;\n /**\n * @deprecated Loop events are deprecated and will be removed in a future\n * major version: they are only reported for linear animation playback, which\n * is deprecated. Use a state machine to control playback and data binding to\n * react to changes instead. See\n * {@link https://rive.app/docs/editor/data-binding/migration-guide} for how\n * to migrate.\n */\n onLoop?: EventCallback;\n /**\n * @deprecated Subscribing to state change events at runtime is deprecated\n * and will be removed in a future major version: use data binding (view model\n * property observers) or state machine actions to react to changes from your\n * graphic instead. See\n * {@link https://rive.app/docs/editor/state-machine/states#actions} for how\n * to migrate.\n */\n onStateChange?: EventCallback;\n onAdvance?: EventCallback;\n assetLoader?: AssetLoadCallback;\n /**\n * @deprecated Use `onLoad()` instead\n */\n onload?: EventCallback;\n /**\n * @deprecated Use `onLoadError()` instead\n */\n onloaderror?: EventCallback;\n /**\n * @deprecated Use `onPlay()` instead\n */\n onplay?: EventCallback;\n /**\n * @deprecated Use `onPause()` instead\n */\n onpause?: EventCallback;\n /**\n * @deprecated Use `onStop()` instead\n */\n onstop?: EventCallback;\n /**\n * @deprecated Use `onLoop()` instead\n */\n onloop?: EventCallback;\n /**\n * @deprecated Use `onStateChange()` instead\n */\n onstatechange?: EventCallback;\n}\n\n// Interface to Rive.load function\nexport interface RiveLoadParameters {\n src?: string;\n buffer?: ArrayBuffer;\n riveFile?: RiveFile;\n autoplay?: boolean;\n autoBind?: boolean;\n artboard?: string;\n /**\n * Name of the state machine to play.\n */\n stateMachine?: string;\n /**\n * @deprecated Use the `stateMachine` parameter to play a state machine\n * instead. Support for starting playback with named animations will be\n * removed in a future major version.\n */\n animations?: string | string[];\n /**\n * @deprecated Use `stateMachine` with a single state machine name instead.\n * Support for playing multiple state machines at once will be removed in a\n * future major version.\n */\n stateMachines?: string | string[];\n useOffscreenRenderer?: boolean;\n shouldDisableRiveListeners?: boolean;\n tabIndex?: number;\n semanticsMode?: SemanticMode;\n semanticsOptions?: RiveSemanticsOptions;\n /**\n * @experimental This API is early and may encounter breaking behavior change without a major version bump\n *\n * Render GPU Canvas content, which draws through the deferred renderer. Forwarded\n * to the file this instance loads; with a supplied `riveFile` the file's flag wins.\n * False by default.\n */\n enableGPUCanvas?: boolean;\n}\n\n// Interface ot Rive.reset function\nexport interface RiveResetParameters {\n artboard?: string;\n /**\n * Name of the state machine to play.\n */\n stateMachine?: string;\n /**\n * @deprecated Use the `stateMachine` parameter to play a state machine\n * instead. Support for starting playback with named animations will be\n * removed in a future major version.\n */\n animations?: string | string[];\n /**\n * @deprecated Use `stateMachine` with a single state machine name instead.\n * Support for playing multiple state machines at once will be removed in a\n * future major version.\n */\n stateMachines?: string | string[];\n autoplay?: boolean;\n autoBind?: boolean;\n}\n// Interface to RiveFile.load function\nexport interface RiveFileParameters {\n src?: string;\n buffer?: ArrayBuffer;\n assetLoader?: AssetLoadCallback;\n enableRiveAssetCDN?: boolean;\n onLoad?: EventCallback;\n onLoadError?: EventCallback;\n /**\n * Emit performance.mark / performance.measure entries for load lifecycle\n * events. False by default.\n */\n enablePerfMarks?: boolean;\n /**\n * @experimental This API is early and may encounter breaking behavior change without a major version bump\n *\n * Render GPU Canvas content in this file, importing it through a deferred\n * rendering session.\n *\n * Fixed at import and has no setter: a file's resources are typed by the factory\n * that made them and can never switch. The session records for the one canvas that\n * displays the file, so a second Rive instance sharing this file re-imports it into\n * a session of its own.\n * False by default.\n */\n enableGPUCanvas?: boolean;\n}\n\n/**\n * Resolves which animation/state machine names playback should start with.\n * The `stateMachine` parameter takes priority; the deprecated plural\n * `animations`/`stateMachines` parameters apply only when it\n * is not provided.\n */\nconst resolveStartingPlayback = ({\n stateMachine,\n animations,\n stateMachines,\n}: {\n stateMachine?: string;\n animations?: string | string[];\n stateMachines?: string | string[];\n}): {\n startingAnimationNames: string[];\n startingStateMachineNames: string[];\n} => {\n if (animations !== undefined) {\n warnOnce(\n DeprecationKeys.animationsParam,\n \"The `animations` parameter is deprecated and will be removed in a future major version: please use the `stateMachine` parameter to play a state machine instead.\",\n );\n }\n if (stateMachines !== undefined) {\n warnOnce(\n DeprecationKeys.stateMachinesParam,\n \"The `stateMachines` parameter is deprecated: please use `stateMachine` with a single state machine name instead.\",\n );\n }\n if (stateMachine) {\n return {\n startingAnimationNames: [],\n startingStateMachineNames: [stateMachine],\n };\n }\n return {\n startingAnimationNames: mapToStringArray(animations),\n startingStateMachineNames: mapToStringArray(stateMachines),\n };\n};\n\nexport class RiveFile implements rc.FinalizableTarget {\n // Error message for missing source or buffer\n private static readonly missingErrorMessage: string =\n \"Rive source file or data buffer required\";\n\n // Error message for file load error\n private static readonly fileLoadErrorMessage: string =\n \"The file failed to load\";\n\n // A url to a Rive file; may be undefined if a buffer is specified\n private src: string;\n\n // Raw Rive file data; may be undefined if a src is specified\n private buffer: ArrayBuffer;\n\n // Wasm runtime\n private runtime: rc.RiveCanvas;\n\n // Runtime file\n private file: rc.File;\n\n // AssetLoadCallback: allows customizing asset loading for images and fonts.\n private assetLoader: AssetLoadCallback;\n\n // Allow the runtime to automatically load assets hosted in Rive's runtime.\n private enableRiveAssetCDN: boolean = true;\n\n // When true, emits performance.mark/measure entries during RiveFile load.\n private enablePerfMarks: boolean = false;\n\n // Holds event listeners\n private eventManager: EventManager;\n\n private referenceCount: number = 0;\n\n private destroyed: boolean = false;\n\n public selfUnref: boolean = false;\n\n private bindableArtboards: BindableArtboard[] = [];\n\n // Deferred rendering was requested; the session may still be null if this\n // build has no deferred support.\n private deferred: boolean = false;\n\n // The session this file imported through, null when immediate. Owned here:\n // it has to outlive the file, so it is deleted after the file is released.\n private session: rc.DeferredSession | null = null;\n\n // Attaching is once per session: a detached session can never replay again,\n // so a claimed file re-imports for the next instance implicitly. Mirrors the native\n // latch (WebGL2DeferredSession::everBound, C2DDeferredSession::claim).\n private _sessionClaimed: boolean = false;\n\n // Releasing this file has to be deterministic once a session owns its\n // resources, so the finalizer is disarmed rather than left to GC.\n private fileFinalizer: FileFinalizer | null = null;\n\n private boundElsewhereWarned: boolean = false;\n\n // Deferred support is per build, so the warning is per page, not per file.\n private static deferredUnsupportedWarned: boolean = false;\n\n constructor(params: RiveFileParameters) {\n this.src = params.src;\n this.buffer = params.buffer;\n this.deferred = !!params.enableGPUCanvas;\n\n if (params.assetLoader) this.assetLoader = params.assetLoader;\n this.enableRiveAssetCDN =\n typeof params.enableRiveAssetCDN == \"boolean\"\n ? params.enableRiveAssetCDN\n : true;\n this.enablePerfMarks = !!params.enablePerfMarks;\n if (this.enablePerfMarks) RuntimeLoader.enablePerfMarks = true;\n\n // New event management system\n this.eventManager = new EventManager();\n if (params.onLoad) this.on(EventType.Load, params.onLoad);\n if (params.onLoadError) this.on(EventType.LoadError, params.onLoadError);\n }\n\n private releaseFile() {\n // Release here rather than leaving it to the finalization registry. The\n // native file frees GL-backed resources when its last reference goes, and\n // callers reach this with the renderer's context current; a finalizer runs\n // with none, so those deletes would silently do nothing.\n this.fileFinalizer?.release();\n this.file?.unref();\n this.fileFinalizer = null;\n this.file = null;\n }\n\n private releaseSession() {\n // Known limitation: cleanup() on a file an instance is still drawing\n // deletes the session under it. A RiveFile's creator holds no reference of\n // its own, so their cleanup() can take the count to zero.\n this.session?.delete();\n this.session = null;\n }\n\n private releaseBindableArtboards() {\n this.bindableArtboards.forEach((bindableArtboard) =>\n bindableArtboard.destroy(),\n );\n }\n\n private async initData() {\n if (this.src && !this.buffer) {\n try {\n this.buffer = await loadRiveFile(this.src);\n } catch (error) {\n if (error instanceof Error) {\n throw error;\n }\n throw new RiveError(RiveFile.fileLoadErrorMessage);\n }\n }\n if (this.destroyed) {\n return;\n }\n if (this.deferred && this.session === null) {\n this.session = RiveFile.makeDeferredSession(this.runtime);\n }\n let loader;\n if (this.assetLoader) {\n // The session reaches out of band assets through here: a resource made\n // by any other factory is dropped when this file draws.\n const loaderWrapper = new CustomFileAssetLoaderWrapper(\n this.runtime,\n this.assetLoader,\n this.session,\n );\n loader = loaderWrapper.assetLoader;\n }\n // Load the Rive file\n if (this.enablePerfMarks) performance.mark('rive:file-load:start');\n try {\n this.file = await this.runtime.load(\n new Uint8Array(this.buffer),\n loader,\n this.enableRiveAssetCDN,\n this.session,\n );\n } catch (error) {\n // The finalizer that would reclaim the session is only registered once\n // the import succeeds, so a failed load has to release it here.\n this.releaseSession();\n throw error;\n }\n if (this.enablePerfMarks) {\n performance.mark('rive:file-load:end');\n performance.measure('rive:file-load', 'rive:file-load:start', 'rive:file-load:end');\n }\n if (this.destroyed) {\n this.releaseFile();\n this.releaseSession();\n return;\n }\n if (this.file === null) {\n // A malformed file resolves to null rather than rejecting. Release the\n // session now: a finalizer for a file that does not exist would keep it\n // alive until GC, or for as long as the caller holds the failed RiveFile.\n this.releaseSession();\n this.fireLoadError(RiveFile.fileLoadErrorMessage);\n return;\n }\n // The finalizer carries the session too: a RiveFile that becomes\n // unreachable without cleanup() would otherwise unref its file on GC and\n // strand the session, which nothing else reclaims.\n const fileFinalizer = new FileFinalizer(this.file, this.session);\n this.fileFinalizer = fileFinalizer;\n finalizationRegistry.register(this, fileFinalizer);\n\n this.eventManager.fire({\n type: EventType.Load,\n data: this,\n });\n }\n\n private async loadRiveFileBytes(): Promise<ArrayBuffer> {\n if (this.enablePerfMarks) performance.mark('rive:fetch-riv:start');\n const bufferPromise: Promise<ArrayBuffer> = this.src\n ? loadRiveFile(this.src)\n : Promise.resolve(this.buffer);\n if (this.enablePerfMarks && this.src) {\n bufferPromise.then(() => {\n performance.mark('rive:fetch-riv:end');\n performance.measure('rive:fetch-riv', 'rive:fetch-riv:start', 'rive:fetch-riv:end');\n })\n }\n return bufferPromise;\n }\n\n private async loadRuntime(): Promise<rc.RiveCanvas> {\n if (this.enablePerfMarks) performance.mark('rive:await-wasm:start');\n const runtimePromise = RuntimeLoader.awaitInstance();\n if (this.enablePerfMarks) {\n runtimePromise.then(() => {\n performance.mark('rive:await-wasm:end');\n performance.measure('rive:await-wasm', 'rive:await-wasm:start', 'rive:await-wasm:end');\n })\n }\n return runtimePromise;\n }\n\n public async init() {\n // If no source file url specified, it's a bust\n if (!this.src && !this.buffer) {\n this.fireLoadError(RiveFile.missingErrorMessage);\n return;\n }\n\n try {\n // Kick off the .riv file fetch and WASM module init simultaneously —\n // they have no dependency on each other so both can be in-flight at once.\n const [bufferResolved, runtimeResolved] = await Promise.all([this.loadRiveFileBytes(), this.loadRuntime()]);\n\n if (this.destroyed) {\n return;\n }\n // .riv file buffer and WASM runtime instance\n this.buffer = bufferResolved;\n this.runtime = runtimeResolved;\n\n if (this.enablePerfMarks) performance.mark('rive:init-data:start');\n await this.initData();\n if (this.enablePerfMarks) {\n performance.mark('rive:init-data:end');\n performance.measure('rive:init-data', 'rive:init-data:start', 'rive:init-data:end');\n }\n } catch (error) {\n this.fireLoadError(\n error instanceof Error ? error.message : RiveFile.fileLoadErrorMessage,\n );\n }\n }\n\n private fireLoadError(message: string): void {\n this.eventManager.fire({\n type: EventType.LoadError,\n data: message,\n });\n\n throw new RiveError(message);\n }\n\n /**\n * Subscribe to Rive-generated events\n * @param type the type of event to subscribe to\n * @param callback callback to fire when the event occurs\n */\n public on(type: EventType, callback: EventCallback) {\n this.eventManager.add({\n type: type,\n callback: callback,\n });\n }\n\n /**\n * Unsubscribes from a Rive-generated event\n * @param type the type of event to unsubscribe from\n * @param callback the callback to unsubscribe\n */\n public off(type: EventType, callback: EventCallback) {\n this.eventManager.remove({\n type: type,\n callback: callback,\n });\n }\n\n public cleanup() {\n this.referenceCount -= 1;\n if (this.referenceCount <= 0) {\n this.removeAllRiveEventListeners();\n this.releaseFile();\n this.releaseBindableArtboards();\n // Everything imported through the session is gone; the session can go.\n this.releaseSession();\n this.destroyed = true;\n }\n }\n\n // Deferred is only compiled into some runtime builds, so feature detect it\n // and degrade to an immediate import rather than failing the load.\n private static makeDeferredSession(\n runtime: rc.RiveCanvas,\n ): rc.DeferredSession | null {\n const session = runtime.makeDeferredSession?.() ?? null;\n if (session === null && !RiveFile.deferredUnsupportedWarned) {\n RiveFile.deferredUnsupportedWarned = true;\n console.warn(\n \"Rive: `enableGPUCanvas: true` was ignored because this runtime build has no GPU Canvas support; importing in immediate mode. Use a @rive-app/webgl2 or @rive-app/canvas build with deferred rendering compiled in.\",\n );\n }\n return session;\n }\n\n /**\n * @internal The deferred session this file imported through, or null if it\n * was imported in immediate mode.\n */\n public get deferredSession(): rc.DeferredSession | null {\n return this.session;\n }\n\n /**\n * @internal Whether deferred was asked for, even when this build could not\n * honor it and imported immediate.\n */\n public get deferredRequested(): boolean {\n return this.deferred;\n }\n\n /**\n * @internal Whether this file's session has ever been attached to a renderer.\n * Attaching is once per session, so a claimed file re-imports for the next\n * instance even after the renderer it was bound to is gone.\n */\n public get sessionClaimed(): boolean {\n return this._sessionClaimed;\n }\n\n /**\n * @internal Marks this file's session as spent. There is no matching release:\n * a session that has been attached can never replay for another renderer.\n */\n public claimSession(): void {\n this._sessionClaimed = true;\n }\n\n /**\n * @internal One warning per file however many instances collide on it.\n */\n public warnBoundElsewhereOnce(): void {\n if (this.boundElsewhereWarned) {\n return;\n }\n this.boundElsewhereWarned = true;\n console.warn(\n \"Rive: this deferred RiveFile is already bound to another Rive instance's canvas, and a deferred session cannot span canvases. Re-importing the file for this instance (an extra parse of the retained buffer, no extra network request).\",\n );\n }\n\n /**\n * @internal Re-imports this file from its retained buffer into a mode of its\n * own. The copy is owned by whoever asked for it and never joins this file's\n * reference count.\n */\n public async reimport(deferred: boolean): Promise<RiveFile> {\n const copy = new RiveFile({\n buffer: this.buffer,\n assetLoader: this.assetLoader,\n enableRiveAssetCDN: this.enableRiveAssetCDN,\n enablePerfMarks: this.enablePerfMarks,\n enableGPUCanvas: deferred,\n });\n await copy.init();\n return copy;\n }\n\n /**\n * Unsubscribes all Rive listeners from an event type, or everything if no type is\n * given\n * @param type the type of event to unsubscribe from, or all types if\n * undefined\n */\n public removeAllRiveEventListeners(type?: EventType) {\n this.eventManager.removeAll(type);\n }\n\n public getInstance(): rc.File {\n if (this.file !== null) {\n this.referenceCount += 1;\n return this.file;\n }\n }\n\n public destroyIfUnused() {\n if (this.referenceCount <= 0) {\n this.cleanup();\n }\n }\n\n private createBindableArtboard(\n nativeBindableArtboard: rc.BindableArtboard,\n ): BindableArtboard | null {\n if (nativeBindableArtboard != null) {\n const bindableArtboard = new BindableArtboard(nativeBindableArtboard);\n createFinalization(bindableArtboard, bindableArtboard.nativeArtboard);\n this.bindableArtboards.push(bindableArtboard);\n return bindableArtboard;\n }\n return null;\n }\n\n /**\n * @deprecated This function is deprecated. For better stability and memory management\n * use `getBindableArtboard()` instead.\n * @param {string} name - The name of the artboard.\n * @returns {Artboard} The artboard to bind to.\n */\n public getArtboard(name: string): Artboard | null {\n const nativeArtboard = this.file.artboardByName(name);\n if (nativeArtboard != null) {\n return new Artboard(nativeArtboard, this);\n }\n }\n\n public getBindableArtboard(name: string): BindableArtboard | null {\n const nativeArtboard = this.file.bindableArtboardByName(name);\n return this.createBindableArtboard(nativeArtboard);\n }\n\n public getDefaultBindableArtboard(): BindableArtboard | null {\n const nativeArtboard = this.file.bindableArtboardDefault();\n return this.createBindableArtboard(nativeArtboard);\n }\n\n public internalBindableArtboardFromArtboard(\n artboard: rc.Artboard,\n ): BindableArtboard | null {\n const nativeBindableArtboard =\n this.file.internalBindableArtboardFromArtboard(artboard);\n return this.createBindableArtboard(nativeBindableArtboard);\n }\n\n public viewModelByName(name: string): ViewModel | null {\n const viewModel = this.file.viewModelByName(name);\n if (viewModel !== null) {\n return new ViewModel(viewModel);\n }\n return null;\n }\n\n /**\n * @returns the names of the file's global view models, in file order.\n */\n public globalViewModelNames(): string[] {\n return this.file.globalViewModelNames();\n }\n}\n\nexport class Rive {\n // Canvas in which to render the artboard\n private readonly canvas: HTMLCanvasElement | OffscreenCanvas;\n\n // A url to a Rive file; may be undefined if a buffer is specified\n private src: string;\n\n // Raw Rive file data; may be undefined if a src is specified\n private buffer: ArrayBuffer;\n\n // The layout for rendering in the canvas\n private _layout: Layout;\n\n // The runtime renderer\n private renderer: rc.WrappedRenderer;\n\n // Tracks if a Rive file is loaded\n private loaded = false;\n\n // Tracks if a Rive file is destroyed\n private destroyed = false;\n\n // Reference of an object that handles any observers for the animation\n private _observed: ObservedObject | null = null;\n\n /**\n * Tracks if a Rive file is loaded; we need this in addition to loaded as some\n * commands (e.g. contents) can be called as soon as the file is loaded.\n * However, playback commands need to be queued and run in order once initial\n * animations and autoplay has been sorted out. This applies to play, pause,\n * and start.\n */\n private readyForPlaying = false;\n\n // Wasm runtime\n private runtime: rc.RiveCanvas;\n\n // Deferred rendering was requested for this instance. The file it renders\n // has the final say, since a file's mode is fixed at import.\n private deferredRenderer: boolean = false;\n\n // Decides the context attributes on every init(); cleared if the renderer can't inkbleed.\n private _inkbleedCapable = false;\n private _inkbleed = false;\n private static inkbleedUnsupportedWarned = false;\n private static inkbleedNotCapableWarned = false;\n\n // Whether this instance imported the file in `riveFile` (true) or the caller\n // supplied it (false). Only a file we imported may be released without a\n // matching getInstance(): a caller's file is theirs however this init ends.\n private ownsRiveFile: boolean = false;\n\n // Runtime artboard\n private artboard: rc.Artboard | null = null;\n\n // place to clear up pointer/touch event listeners\n private eventCleanup: VoidCallback | null = null;\n\n // Manages keyboard and DOM-focus interactions for the canvas.\n private _keyboardInteractions: KeyboardInteractions | null = null;\n\n // Runtime file\n private file: rc.File;\n\n // Rive file instance\n private riveFile: RiveFile;\n\n // Holds event listeners\n private eventManager: EventManager;\n\n // Manages the loading task queue\n private taskQueue: TaskQueueManager;\n\n // Animator: manages animations and state machines\n private animator: Animator;\n\n // AssetLoadCallback: allows customizing asset loading for images and fonts.\n private assetLoader: AssetLoadCallback;\n\n // Error message for missing source or buffer\n private static readonly missingErrorMessage: string =\n \"Rive source file or data buffer required\";\n\n // Error message for removed rive file\n private static readonly cleanupErrorMessage: string =\n \"Attempt to use file after calling cleanup.\";\n\n /**\n * Deprecation warnings to silence, by {@link DeprecationId}. Each warning\n * prints the id needed to silence it, so you can copy it out of the console.\n *\n * ```ts\n * Rive.suppressDeprecationWarnings = [\"rive-events\", \"text-runs\"];\n * ```\n *\n * Assigning replaces the whole list.\n * There is no option to silence everything\n */\n public static get suppressDeprecationWarnings(): readonly DeprecationId[] {\n return Object.freeze(Array.from(suppressedDeprecations));\n }\n\n public static set suppressDeprecationWarnings(ids: readonly DeprecationId[]) {\n setSuppressedDeprecations(ids);\n }\n\n private shouldDisableRiveListeners = false;\n\n private automaticallyHandleEvents = false;\n\n private dispatchPointerExit = true;\n\n // Allow all pointers to be passed to the runtime\n private enableMultiTouch = false;\n\n // Allow the runtime to automatically load assets hosted in Rive's runtime.\n private enableRiveAssetCDN = true;\n\n private semanticsMode: SemanticMode = SemanticMode.Disabled;\n\n private semanticsOptions: RiveSemanticsOptions = {\n riveCanvasLabel: \"Rive animation\",\n };\n\n /** True when this instance may drain semantics and render the overlay. */\n private _semanticsActive = false;\n\n // Keep a local value of the set volume to update it asynchronously\n private _volume = 1;\n\n // Keep a local value of the set width to update it asynchronously\n private _artboardWidth: number | undefined = undefined;\n\n // Keep a local value of the set height to update it asynchronously\n private _artboardHeight: number | undefined = undefined;\n\n // Keep a local value of the device pixel ratio used in rendering and canvas/artboard resizing\n private _devicePixelRatioUsed = 1;\n\n // Whether the canvas element's size is 0\n private _hasZeroSize = false;\n\n // Whether a draw operation needs to be forced\n private _needsRedraw = false;\n\n // Canvas width and height. Values are lazily updated so they might\n // not be in sync with current canvas size.\n private _currentCanvasWidth = 0;\n private _currentCanvasHeight = 0;\n\n // Audio event listener\n private _audioEventListener: EventListener | null = null;\n\n // draw method bound to the class\n private _boundDraw: (t: number) => void | null = null;\n\n // Page visibility handler — prevents state machine advancing / rAF from being invoked with large time delta\n // when the browser tab is switched back to after being hidden.\n private _pageVisibilityHandler: (() => void) | null = null;\n // True only when the page visibility handler itself cancelled an active frame.\n // Set by stopRendering(), cleared by startRendering(). Prevents the\n // visibilitychange handler from restarting a rendering loop the caller intentionally stopped.\n private _explicitlyStoppedRendering = false;\n\n private _viewModelInstance: ViewModelInstance | null = null;\n // User-provided global view model instances, keyed by their global view\n // model's name. Globals not present here are still driven by the default\n // instances the runtime seeds; the getter only surfaces instances the user\n // has explicitly set.\n private _globalViewModelInstances: Map<string, ViewModelInstance> = new Map();\n private _dataEnums: DataEnum[] | null = null;\n\n private _tabIndex: number | null = null;\n private _prevHasFocus = false;\n private _prevWantsTextInputSession = false;\n // Pointer-down defers the proxy focus: mousedown's default would refocus the canvas and\n // touchstart isn't user activation; pointer-up focuses it.\n private _inPointerDownDrain = false;\n private _focusOptions: RiveFocusOptions = {\n allowFocusInterrupt: false,\n };\n\n // Tracks the semantic tree for the given graphic\n private _semanticTree: SemanticTreeModel | null = null;\n private _accessibilityOverlay: AccessibilityOverlay | null = null;\n /**\n * True when an input to the accessibility overlay's artboard→canvas transform\n * (layout fit/alignment/bounds, devicePixelRatio, or layout scale) has changed\n * and the matrix must be recomputed on the next overlay update. Avoids calling\n * computeAlignment every frame when only the semantic tree changed.\n */\n private _overlayTransformDirty = true;\n // Module-level counter for unique instance IDs for semantic overlay containers\n private readonly _instanceId = `${nextRiveInstanceId++}`;\n\n private drawOptimization: DrawOptimizationOptions =\n DrawOptimizationOptions.DrawOnChanged;\n\n // When true, emits performance.mark/measure entries for load and render.\n private enablePerfMarks: boolean = false;\n\n // Durations to generate a frame for the last second. Used for performance profiling.\n public durations: number[] = [];\n public frameTimes: number[] = [];\n public frameCount = 0;\n public isTouchScrollEnabled = false;\n\n constructor(params: RiveParameters) {\n this._boundDraw = this.draw.bind(this);\n if (typeof document !== 'undefined') {\n this._pageVisibilityHandler = this._onPageVisibilityChange.bind(this);\n document.addEventListener('visibilitychange', this._pageVisibilityHandler);\n }\n this.canvas = params.canvas;\n if (params.canvas.constructor === HTMLCanvasElement) {\n this._observed = observers.add(\n this.canvas as HTMLCanvasElement,\n this.onCanvasResize,\n );\n }\n this._currentCanvasWidth = this.canvas.width;\n this._currentCanvasHeight = this.canvas.height;\n this.src = params.src;\n this.buffer = params.buffer;\n this.riveFile = params.riveFile;\n this.layout = params.layout ?? new Layout();\n this.shouldDisableRiveListeners = !!params.shouldDisableRiveListeners;\n this.isTouchScrollEnabled = !!params.isTouchScrollEnabled;\n if (params.automaticallyHandleEvents) {\n warnOnce(\n DeprecationKeys.riveEvents,\n \"The `automaticallyHandleEvents` parameter is deprecated. \" +\n riveEventsDeprecationWarning,\n );\n }\n this.automaticallyHandleEvents = !!params.automaticallyHandleEvents;\n this.dispatchPointerExit =\n params.dispatchPointerExit === false\n ? params.dispatchPointerExit\n : this.dispatchPointerExit;\n this.enableMultiTouch = !!params.enableMultiTouch;\n this.drawOptimization = params.drawingOptions ?? this.drawOptimization;\n this.enableRiveAssetCDN =\n params.enableRiveAssetCDN === undefined\n ? true\n : params.enableRiveAssetCDN;\n this.enablePerfMarks = !!params.enablePerfMarks;\n if (this.enablePerfMarks) RuntimeLoader.enablePerfMarks = true;\n this._focusOptions = params.focusOptions ?? this._focusOptions;\n this._tabIndex = params.tabIndex ?? null;\n this.deferredRenderer = !!params.enableGPUCanvas;\n this._inkbleedCapable = !!params.enableInkbleed;\n this._inkbleed = this._inkbleedCapable;\n\n // New event management system\n this.eventManager = new EventManager();\n if (params.onLoad) this.on(EventType.Load, params.onLoad);\n if (params.onLoadError) this.on(EventType.LoadError, params.onLoadError);\n if (params.onPlay) this.on(EventType.Play, params.onPlay);\n if (params.onPause) this.on(EventType.Pause, params.onPause);\n if (params.onStop) this.on(EventType.Stop, params.onStop);\n if (params.onLoop) this.on(EventType.Loop, params.onLoop);\n if (params.onStateChange)\n this.on(EventType.StateChange, params.onStateChange);\n if (params.onAdvance) this.on(EventType.Advance, params.onAdvance);\n\n /**\n * @deprecated Use camelCase'd versions instead.\n */\n if (params.onload && !params.onLoad) this.on(EventType.Load, params.onload);\n if (params.onloaderror && !params.onLoadError)\n this.on(EventType.LoadError, params.onloaderror);\n if (params.onplay && !params.onPlay) this.on(EventType.Play, params.onplay);\n if (params.onpause && !params.onPause)\n this.on(EventType.Pause, params.onpause);\n if (params.onstop && !params.onStop) this.on(EventType.Stop, params.onstop);\n if (params.onloop && !params.onLoop) this.on(EventType.Loop, params.onloop);\n if (params.onstatechange && !params.onStateChange)\n this.on(EventType.StateChange, params.onstatechange);\n\n /**\n * Asset loading\n */\n if (params.assetLoader) this.assetLoader = params.assetLoader;\n\n // Hook up the task queue\n this.taskQueue = new TaskQueueManager(this.eventManager);\n\n this.init({\n src: this.src,\n buffer: this.buffer,\n riveFile: this.riveFile,\n autoplay: params.autoplay,\n autoBind: params.autoBind,\n stateMachine: params.stateMachine,\n animations: params.animations,\n stateMachines: params.stateMachines,\n artboard: params.artboard,\n useOffscreenRenderer: params.useOffscreenRenderer,\n tabIndex: params.tabIndex,\n semanticsMode: params.semanticsMode,\n semanticsOptions: params.semanticsOptions,\n enableGPUCanvas: this.deferredRenderer,\n });\n }\n\n public get viewModelCount(): number {\n return this.file.viewModelCount();\n }\n\n // Alternative constructor to build a Rive instance from an interface/object\n public static new(params: RiveParameters): Rive {\n warnOnce(\n DeprecationKeys.legacyConstructors,\n \"This function is deprecated: please use `new Rive({})` instead\",\n );\n return new Rive(params);\n }\n\n /**\n * @experimental Turns on semantics and the accessibility overlay for this\n * instance. Idempotent; safe to call before or after load. Use this to drive\n * a consumer-controlled accessibility toggle when constructed with the\n * default {@link SemanticMode.Disabled}.\n */\n public enableSemantics(): void {\n this.semanticsMode = SemanticMode.Enabled;\n this.activateSemantics();\n }\n\n private activateSemantics(): void {\n if (this._semanticsActive || this.semanticsMode === SemanticMode.Disabled) {\n return;\n }\n this._semanticsActive = true;\n this.syncSemanticsOnStateMachines();\n }\n\n private syncSemanticsOnStateMachines(): void {\n if (!this._semanticsActive || !this.animator) {\n return;\n }\n for (const stateMachine of this.animator.stateMachines) {\n stateMachine.enableSemantics();\n }\n }\n\n /**\n * Tears down the semantic tree and accessibility overlay. The overlay captures the\n * active state machine in its action closures, so it must not outlive the\n * instances it points at (reset/load delete them)\n */\n private cleanupSemantics(): void {\n this._semanticTree = null;\n if (this._accessibilityOverlay) {\n this._accessibilityOverlay.destroy();\n this._accessibilityOverlay = null;\n }\n }\n\n // Event handler for when audio context becomes available\n private onSystemAudioChanged() {\n this.volume = this._volume;\n }\n\n private onCanvasResize = (hasZeroSize: boolean) => {\n const toggledDisplay = this._hasZeroSize !== hasZeroSize;\n this._hasZeroSize = hasZeroSize;\n if (!hasZeroSize) {\n if (toggledDisplay) {\n this.resizeDrawingSurfaceToCanvas();\n }\n } else if (!this._layout.maxX || !this._layout.maxY) {\n this.resizeToCanvas();\n }\n };\n\n // Initializes the Rive object either from constructor or load()\n private init({\n src,\n buffer,\n riveFile,\n stateMachine,\n animations,\n stateMachines,\n artboard,\n autoplay = false,\n useOffscreenRenderer = false,\n autoBind = false,\n tabIndex,\n semanticsMode,\n semanticsOptions,\n enableGPUCanvas,\n }: RiveLoadParameters): void {\n if (this.destroyed) {\n return;\n }\n // Validated before any state changes, so a call with no source leaves a\n // running instance untouched.\n if (!src && !buffer && !riveFile) {\n throw new RiveError(Rive.missingErrorMessage);\n }\n // Reload releases the outgoing file in the same order cleanup() uses:\n // artboard, then the renderer's session, then the file. The artboard goes\n // first because it holds an rcp<File> and its resources came from the\n // session about to be released. stop() has already deleted the animation\n // and state machine instances; reload deliberately skips cleanupInstances(),\n // which would also drop the event listeners load() keeps in place.\n if (this.artboard) {\n // Free GPU-backed resources with their own context current. No-op on\n // the canvas2d build.\n this.renderer?.bindContext?.();\n this.animator?.stop();\n this.artboard.delete();\n this.artboard = null;\n }\n // Detach before the session is deleted: the handle dies with it.\n if (this.renderer) {\n this.renderer.detachSession?.();\n }\n this.releaseCurrentRiveFile(/* isTeardown */ false);\n this.src = src;\n this.buffer = buffer;\n this.riveFile = riveFile;\n // initData flips this if it ends up importing the file itself.\n this.ownsRiveFile = false;\n // Sticky across reloads so a constructor-set flag survives; an explicit\n // `false` still turns it off.\n this.deferredRenderer = enableGPUCanvas ?? this.deferredRenderer;\n this._tabIndex = tabIndex ?? null;\n this.semanticsMode = semanticsMode ?? SemanticMode.Disabled;\n this.semanticsOptions = semanticsOptions ?? this.semanticsOptions;\n\n // Names of the animations and state machines that should be initialized\n const { startingAnimationNames, startingStateMachineNames } =\n resolveStartingPlayback({\n stateMachine,\n animations,\n stateMachines,\n });\n\n // Ensure loaded is marked as false if loading new file\n this.loaded = false;\n this.readyForPlaying = false;\n\n // Ensure the runtime is loaded\n RuntimeLoader.awaitInstance()\n .then((runtime) => {\n if (this.destroyed) {\n return;\n }\n this.runtime = runtime;\n\n this.removeRiveListeners();\n // load() reinitializes without cleanupInstances(); drop any stale overlay\n // bound to the previous file's state machines (no-op on first construct).\n this.cleanupSemantics();\n this.deleteRiveRenderer();\n\n // Get the canvas where you want to render the animation and create a renderer\n if (this.enablePerfMarks) performance.mark('rive:make-renderer:start');\n try {\n // Always immediate at creation; a deferred file attaches its session\n // to this renderer once the file has loaded.\n this.renderer = this.runtime.makeRenderer(\n this.canvas,\n useOffscreenRenderer,\n { inkbleed: this._inkbleedCapable },\n );\n if (!this.renderer) {\n throw new Error(\"Renderer is null, cannot render Rive on the canvas.\");\n }\n } catch (e) {\n console.error(e);\n throw new RiveError(\"Unable to create the renderer, your environment may not support WebGL. Try the @rive-app/canvas runtime as an alternative.\");\n }\n if (this._inkbleedCapable) {\n this.applyInkbleed();\n }\n if (this.enablePerfMarks) {\n performance.mark('rive:make-renderer:end');\n performance.measure('rive:make-renderer', 'rive:make-renderer:start', 'rive:make-renderer:end');\n }\n\n // Initial size adjustment based on devicePixelRatio if no width/height are\n // specified explicitly\n if (!(this.canvas.width || this.canvas.height)) {\n this.resizeDrawingSurfaceToCanvas();\n }\n\n // Load Rive data from a source uri or a data buffer\n this.initData(\n artboard,\n startingAnimationNames,\n startingStateMachineNames,\n autoplay,\n autoBind,\n )\n .then((hasInitialized: boolean) => {\n if (hasInitialized) {\n return this.setupRiveListeners();\n }\n })\n .catch((e) => {\n // initData already catches RiveErrors for load issues like artboard/state machine initialization\n // failures, so just console error and catch here so we don't double-fire the LoadError event\n console.error(e);\n });\n })\n .catch((e: Error) => { // Catching errors from loading WASM\n this.eventManager.fire({ type: EventType.LoadError, data: e.message });\n });\n }\n\n /**\n * Setup Rive Listeners on the canvas\n * @param riveListenerOptions - Enables TouchEvent events on the canvas. Set to true to allow\n * touch scrolling on the canvas element on touch-enabled devices\n * i.e. { isTouchScrollEnabled: true }\n */\n public setupRiveListeners(\n riveListenerOptions?: SetupRiveListenersOptions,\n ): void {\n if (this.eventCleanup) {\n this.eventCleanup();\n }\n this.cleanupKeyboardInteractions();\n if (!this.shouldDisableRiveListeners) {\n const playingStateMachines = this.animator.stateMachines.filter((sm) => sm.playing);\n const activeStateMachines = playingStateMachines\n .filter((sm) => this.runtime.hasListeners(sm.instance))\n .map((sm) => sm.instance);\n let touchScrollEnabledOption = this.isTouchScrollEnabled;\n let dispatchPointerExit = this.dispatchPointerExit;\n let enableMultiTouch = this.enableMultiTouch;\n if (\n riveListenerOptions &&\n \"isTouchScrollEnabled\" in riveListenerOptions\n ) {\n touchScrollEnabledOption = riveListenerOptions.isTouchScrollEnabled;\n }\n this.eventCleanup = registerTouchInteractions({\n canvas: this.canvas,\n artboard: this.artboard,\n stateMachines: activeStateMachines,\n renderer: this.renderer,\n rive: this.runtime,\n fit: this._layout.runtimeFit(this.runtime),\n alignment: this._layout.runtimeAlignment(this.runtime),\n isTouchScrollEnabled: touchScrollEnabledOption,\n dispatchPointerExit: dispatchPointerExit,\n enableMultiTouch: enableMultiTouch,\n layoutScaleFactor: this._layout.layoutScaleFactor,\n advanceAndDrain: this.advanceAndDrainForPointer.bind(this),\n summonKeyboard: this.summonKeyboardForGesture.bind(this),\n isTextProxyFocused: this.isEditingHostFocused,\n });\n\n this.ensureKeyboardInteractions();\n }\n }\n\n private isEditingHostFocused = (): boolean =>\n this._keyboardInteractions?.isEditingHostFocused() ?? false;\n\n // Assumes a single state machine drives focus.\n private get focusStateMachine(): StateMachine | undefined {\n return this.animator.stateMachines.find((sm) => sm.playing && sm.hasFocusNodes);\n }\n\n /**\n * Wire keyboard interactions when a playing state machine has focus nodes.\n * Called at listener setup and lazily each frame so late-bound bindable artboards work.\n */\n private ensureKeyboardInteractions(): void {\n if (\n this._keyboardInteractions ||\n this.shouldDisableRiveListeners ||\n typeof window === \"undefined\" ||\n !(this.canvas instanceof HTMLCanvasElement)\n ) {\n return;\n }\n\n const smWithFocusNodes = this.focusStateMachine;\n if (!smWithFocusNodes) {\n return;\n }\n\n const currentCanvasTabIndex = this.canvas.tabIndex;\n if (currentCanvasTabIndex === -1 || isNaN(currentCanvasTabIndex)) {\n this.canvas.tabIndex = (this._tabIndex !== null ? this._tabIndex : 0);\n }\n\n this._keyboardInteractions = new KeyboardInteractions({\n canvas: this.canvas as HTMLCanvasElement,\n stateMachine: smWithFocusNodes.instance,\n hasFocusNodes: true,\n getOverlayElement: () =>\n this._accessibilityOverlay?.getSemanticOverlayContainer() ?? null,\n });\n }\n\n /** Runs inside touchend/mouseup so focusing the proxy raises the mobile keyboard. */\n private summonKeyboardForGesture(): void {\n if (!this._keyboardInteractions) return;\n const activeSm = this.focusStateMachine;\n if (!activeSm) return;\n if (this.wantsTextInputSession(activeSm.focusState().expectsKeyboardInput)) {\n this._keyboardInteractions.summonForPointer();\n }\n }\n\n /** expectsKeyboardInput, and (with semantics on) the focused node is a textField. */\n private wantsTextInputSession(expectsKeyboardInput: boolean): boolean {\n if (!expectsKeyboardInput) return false;\n const node = this._semanticTree?.focusedNode();\n return node === undefined || node.role === SemanticRole.textField;\n }\n\n private advanceAndDrainForPointer(\n elapsedTime: number,\n options?: { pointerDown?: boolean },\n ): void {\n if (!options?.pointerDown) {\n this.advanceAndReportChanges(elapsedTime);\n return;\n }\n this._inPointerDownDrain = true;\n try {\n this.advanceAndReportChanges(elapsedTime);\n } finally {\n this._inPointerDownDrain = false;\n }\n }\n\n private cleanupKeyboardInteractions(): void {\n if (this._keyboardInteractions) {\n this._keyboardInteractions.cleanup();\n this._keyboardInteractions = null;\n }\n this._prevWantsTextInputSession = false;\n this._accessibilityOverlay?.releaseEditingHost(null, null);\n }\n\n /**\n * Remove Rive Listeners setup on the canvas\n */\n public removeRiveListeners(): void {\n if (this.eventCleanup) {\n this.eventCleanup();\n this.eventCleanup = null;\n }\n this.cleanupKeyboardInteractions();\n }\n\n /**\n * If the instance has audio and the system audio is not ready\n * we hook the instance to the audio manager\n */\n private initializeAudio() {\n // Initialize audio if needed\n if (audioManager.status == SystemAudioStatus.UNAVAILABLE) {\n if (\n this.file.hasAudio ||\n (this.artboard?.hasAudio && this._audioEventListener === null)\n ) {\n this._audioEventListener = {\n type: EventType.AudioStatusChange,\n callback: () => this.onSystemAudioChanged(),\n };\n audioManager.add(this._audioEventListener);\n audioManager.establishAudio();\n }\n }\n }\n\n private initArtboardSize() {\n if (!this.artboard) return;\n\n // Use preset values if they are not undefined\n this._artboardWidth = this.artboard.width =\n this._artboardWidth || this.artboard.width;\n this._artboardHeight = this.artboard.height =\n this._artboardHeight || this.artboard.height;\n }\n\n // Initializes runtime with Rive data and preps for playing.\n // Returns true for successful initialization.\n private async initData(\n artboardName: string,\n animationNames: string[],\n stateMachineNames: string[],\n autoplay: boolean,\n autoBind: boolean,\n ): Promise<boolean> {\n try {\n // A caller-supplied riveFile is theirs to release; one we import here is\n // ours, which matters if a deferred fallback replaces it below.\n this.ownsRiveFile = this.riveFile == null;\n if (this.ownsRiveFile) {\n const riveFile = new RiveFile({\n src: this.src,\n buffer: this.buffer,\n enableRiveAssetCDN: this.enableRiveAssetCDN,\n assetLoader: this.assetLoader,\n enablePerfMarks: this.enablePerfMarks,\n // The instance owns this file, so its flag is the file's flag.\n enableGPUCanvas: this.deferredRenderer,\n });\n this.riveFile = riveFile;\n await riveFile.init();\n if (this.destroyed) {\n // In the very unlikely scenario where the rive file created by this Rive is shared by\n // another rive file, we only want to destroy it if this file is the only owner.\n riveFile.destroyIfUnused();\n return false;\n }\n }\n // May replace this.riveFile with a re-import, so it runs before the\n // instance takes its reference. Skipped unless something deferred is in\n // play, so the default path stays synchronous through to the load event.\n if (this.riveFile.deferredSession !== null || this.deferredRenderer) {\n await this.resolveDeferredRendering();\n if (this.destroyed) {\n // cleanup() ran during a re-import. Taking a reference now would\n // resurrect a file this instance is never going to draw. Only ours\n // to release — a caller-supplied file stays theirs.\n if (this.ownsRiveFile) {\n this.riveFile?.destroyIfUnused();\n }\n return false;\n }\n }\n this.file = this.riveFile.getInstance();\n this.reportDisplayScale();\n // Initialize and draw frame\n this.initArtboard(\n artboardName,\n animationNames,\n stateMachineNames,\n autoplay,\n autoBind,\n );\n\n // Initialize the artboard size\n this.initArtboardSize();\n\n // Check for audio\n this.initializeAudio();\n\n if (this.semanticsMode === SemanticMode.Enabled) {\n this.activateSemantics();\n } else if (this._semanticsActive) {\n this.syncSemanticsOnStateMachines();\n }\n\n // Everything's set up, emit a load event\n try {\n this.loaded = true;\n this.eventManager.fire({\n type: EventType.Load,\n data: this.src ?? \"buffer\",\n });\n } catch (e) {\n // If any synchronous errors surface from the user-supplied onLoad callback,\n // this will console.error the error but will not invoke LoadError (onLoadError).\n // Notably, this will not interfere with Rive rendering\n console.error(e);\n }\n\n // Only initialize paused state machines after the load event has been fired\n // to allow users to initialize inputs and view models before the first advance\n this.animator.advanceIfPaused();\n\n // Flag ready for playback commands and clear the task queue; this order\n // is important or it may infinitely recurse\n this.readyForPlaying = true;\n this.taskQueue.process();\n\n this.drawFrame();\n\n return true;\n } catch (error) {\n // Invoke LoadError for errors with loading the configured Artboard + State Machine\n const msg = resolveErrorMessage(error);\n this.eventManager.fire({ type: EventType.LoadError, data: msg });\n return Promise.reject(msg);\n }\n }\n\n /**\n * Settles which rendering mode this Rive instance runs in. The file dictates: its rendering mode\n * is fixed at import, and an immediate renderer silently drops a deferred\n * file's resources. Every mismatch warns and degrades to something that\n * renders, so users shouldn't have a blank canvas. A fallback self-reimport replaces `this.riveFile`;\n * only a file this instance imported is released when that happens.\n */\n private async resolveDeferredRendering(): Promise<void> {\n const file = this.riveFile;\n const ownsFile = this.ownsRiveFile;\n const renderer = this.renderer;\n const session = file.deferredSession;\n if (session === null) {\n // No second warning when the file asked for deferred and the build\n // could not honor it; the unsupported-build warning already fired, and\n // telling the user to set a flag they set would mislead.\n if (this.deferredRenderer && !file.deferredRequested) {\n console.warn(\n \"Rive: `enableGPUCanvas: true` was ignored because this RiveFile was imported without it. The mode is fixed at import: construct the RiveFile with `enableGPUCanvas: true` to opt in.\",\n );\n }\n return;\n }\n if (!this.deferredRenderer) {\n console.warn(\n \"Rive: this RiveFile was imported with `enableGPUCanvas: true`, so this instance renders deferred even though `enableGPUCanvas` is false on the instance. An immediate renderer would drop the file's deferred resources and draw nothing.\",\n );\n }\n const attachSession = renderer?.attachSession;\n if (typeof attachSession !== \"function\") {\n // Offscreen renderers share one context across canvases, which a session\n // cannot record for. An immediate copy of the file still renders.\n console.warn(\n \"Rive: this renderer cannot replay a deferred session (`useOffscreenRenderer` is not supported with deferred rendering). Re-importing the file in immediate mode for this instance.\",\n );\n const immediate = await file.reimport(false);\n if (this.destroyed) {\n // cleanup() ran while we were importing; nothing will use this copy.\n immediate.destroyIfUnused();\n return;\n }\n this.riveFile = immediate;\n this.ownsRiveFile = true;\n if (ownsFile) {\n // Nothing else can reach the deferred import we just walked away from.\n file.destroyIfUnused();\n }\n return;\n }\n // Never re-offered once claimed, even if that renderer is gone: the\n // resources the session's stream refers to died with it.\n if (!file.sessionClaimed && attachSession.call(renderer, session)) {\n file.claimSession();\n return;\n }\n // Bound to another instance. Re-import from the retained buffer into a\n // session of our own.\n file.warnBoundElsewhereOnce();\n const copy = await file.reimport(true);\n if (this.destroyed) {\n // The renderer was deleted while we imported; attaching to it would hand\n // embind a deleted object.\n copy.destroyIfUnused();\n return;\n }\n this.riveFile = copy;\n this.ownsRiveFile = true;\n const copySession = copy.deferredSession;\n if (copySession !== null && attachSession.call(renderer, copySession)) {\n copy.claimSession();\n return;\n }\n // The copy's session could not take this canvas either (this renderer\n // already holds one). An immediate re-import still renders; a deferred file\n // on an immediate renderer would drop its resources and draw nothing.\n console.warn(\n \"Rive: could not attach the re-imported file's deferred session to this canvas; falling back to immediate rendering for this instance.\",\n );\n // If a leftover session is why the attach failed, it would keep routing\n // the immediate file's draws into its recorder, which drops them.\n renderer.detachSession?.();\n const fallback = await file.reimport(false);\n // The deferred copy was only ever ours, so it always goes.\n copy.destroyIfUnused();\n if (this.destroyed) {\n fallback.destroyIfUnused();\n return;\n }\n this.riveFile = fallback;\n this.ownsRiveFile = true;\n if (ownsFile) {\n file.destroyIfUnused();\n }\n }\n\n // Initialize for playback\n private initArtboard(\n artboardName: string,\n animationNames: string[],\n stateMachineNames: string[],\n autoplay: boolean,\n autoBind: boolean,\n ): void {\n if (!this.file) {\n return;\n }\n // Fetch the artboard\n const rootArtboard = artboardName\n ? this.file.artboardByName(artboardName)\n : this.file.defaultArtboard();\n\n // Check we have a working artboard\n if (!rootArtboard) {\n throw new RiveError(\"Invalid artboard name or no default artboard\");\n }\n\n this.artboard = rootArtboard;\n rootArtboard.volume = this._volume * audioManager.systemVolume;\n\n // Initialize the animator\n this.animator = new Animator(\n this.runtime,\n this.artboard,\n this.eventManager,\n );\n\n // Initialize the animations; as loaded hasn't happened yet, we need to\n // suppress firing the play/pause events until the load event has fired. To\n // do this we tell the animator to suppress firing events, and add event\n // firing to the task queue.\n let instanceNames: string[];\n if (animationNames.length > 0 || stateMachineNames.length > 0) {\n instanceNames = animationNames.concat(stateMachineNames);\n this.animator.initLinearAnimations(animationNames, autoplay);\n this.animator.initStateMachines(stateMachineNames, autoplay, this._semanticsActive);\n } else {\n instanceNames = [this.animator.atLeastOne(autoplay, false, this._semanticsActive)];\n }\n // Queue up firing the playback events\n this.taskQueue.add({\n event: {\n type: autoplay ? EventType.Play : EventType.Pause,\n data: instanceNames,\n },\n });\n\n if (autoBind) {\n // Set the main view model instance (if the artboard has one)...\n const viewModel = this.file.defaultArtboardViewModel(rootArtboard);\n if (viewModel !== null) {\n const runtimeInstance = viewModel.defaultInstance();\n if (runtimeInstance !== null) {\n const viewModelInstance = new ViewModelInstance(\n runtimeInstance,\n null,\n );\n createFinalization(\n viewModelInstance,\n viewModelInstance.runtimeInstance,\n );\n this.setViewModelInstance(viewModelInstance);\n }\n }\n // ...and a default instance for each global view model (no longer\n // auto-created by the runtime), then apply everything in one rebind.\n for (const name of this.file.globalViewModelNames()) {\n const globalViewModel = this.file.viewModelByName(name);\n if (globalViewModel !== null) {\n const instance = new ViewModel(globalViewModel).defaultInstance();\n if (instance !== null) {\n this.setGlobalViewModelInstance(name, instance);\n }\n }\n }\n this.bind();\n }\n }\n\n // Draws the current artboard frame\n public drawFrame() {\n if (document?.timeline?.currentTime) {\n if (this.loaded && this.artboard && !this.frameRequestId) {\n this._boundDraw(document!.timeline!.currentTime as number);\n this.runtime?.resolveAnimationFrame();\n }\n } else {\n this.scheduleRendering();\n }\n }\n\n private _canvasSizeChanged(): boolean {\n let changed = false;\n if (this.canvas) {\n if (this.canvas.width !== this._currentCanvasWidth) {\n this._currentCanvasWidth = this.canvas.width;\n changed = true;\n }\n if (this.canvas.height !== this._currentCanvasHeight) {\n this._currentCanvasHeight = this.canvas.height;\n changed = true;\n }\n }\n return changed;\n }\n\n // Content the artboard's change flag cannot see: ore and GPU canvas commands\n // scripts record straight into the session. Must be read before the renderer\n // clears — clearing marks the stream, so a later read is true every frame.\n private _deferredWorkPending(): boolean {\n return this.riveFile?.deferredSession?.recordedThisFrame() ?? false;\n }\n\n /** Rive can move focus on its own, so reconcile the text session and DOM focus each frame. */\n private pollFocusState() {\n this.ensureKeyboardInteractions();\n const ki = this._keyboardInteractions;\n const activeSm = ki ? this.focusStateMachine : undefined;\n if (!ki || !activeSm || !(this.canvas instanceof HTMLCanvasElement)) {\n this._prevHasFocus = false;\n this._prevWantsTextInputSession = false;\n return;\n }\n\n const { hasFocus, expectsKeyboardInput } = activeSm.focusState();\n this.syncTextInputSession(ki, this.wantsTextInputSession(expectsKeyboardInput));\n this.syncRiveFocus(ki, this.canvas, hasFocus);\n }\n\n /** Begin/end the text session on wantsSession edges; decorate the proxy while it has DOM focus. */\n private syncTextInputSession(ki: KeyboardInteractions, wantsSession: boolean) {\n const host = ki.editingHost;\n const overlay = this._accessibilityOverlay;\n if (wantsSession) {\n const began = !this._prevWantsTextInputSession;\n if (began) {\n // In-domain or opted-in only; during pointer-down, pointer-up focuses instead.\n const focusProxy =\n !this._inPointerDownDrain &&\n (ki.isInFocusDomain(document.activeElement) ||\n !!this._focusOptions.allowFocusInterrupt);\n ki.beginTextInputSession(focusProxy);\n }\n // The <input> proxy stands in for the semantic DOM field only while it holds DOM focus.\n if (overlay && this._semanticTree) {\n if (host.hasDomFocus()) {\n overlay.syncEditingHost(this._semanticTree, host, began || !overlay.hasEditingHost());\n } else if (overlay.hasEditingHost()) {\n overlay.releaseEditingHost(this._semanticTree, host);\n }\n }\n } else if (this._prevWantsTextInputSession) {\n // Overlay hand-off first, ahead of endTextInputSession's park-on-canvas fallback.\n overlay?.releaseEditingHost(this._semanticTree, host);\n ki.endTextInputSession();\n }\n this._prevWantsTextInputSession = wantsSession;\n }\n\n /** Mirror Rive's hasFocus into the keyboard session state and, on opt-in, canvas focus. */\n private syncRiveFocus(\n ki: KeyboardInteractions,\n canvas: HTMLCanvasElement,\n hasFocus: boolean,\n ) {\n if (hasFocus) {\n ki.notifyRiveFocused();\n // Pull focus from outside Rive only with allowFocusInterrupt.\n if (!this._prevHasFocus) {\n if (\n !ki.isInFocusDomain(document.activeElement) &&\n this._focusOptions.allowFocusInterrupt\n ) {\n canvas.focus();\n }\n this._prevHasFocus = true;\n }\n } else {\n this._prevHasFocus = false;\n // Rive released focus internally (e.g. a state change): drop the Tab trap so the next\n // Tab leaves the canvas.\n if (ki.focusSessionState === FocusSessionState.RiveFocused) {\n ki.setFocusSessionState(FocusSessionState.NotFocused);\n }\n }\n }\n\n // Tracks the last timestamp at which the animation was rendered. Used only in\n // draw().\n private lastRenderTime: number;\n\n // Tracks the current animation frame request\n private frameRequestId: number | null = null;\n\n /**\n * Used be draw to track when a second of active rendering time has passed.\n * Used for debugging purposes\n */\n private renderSecondTimer = 0;\n\n /**\n * Handles important sequence of reporting Rive events, advancing the state machine or animation, and invoking various callbacks\n * due to state changes, view model property changes, etc.\n * \n * @param elapsedTime time to advance the state machine by\n */\n private advanceAndReportChanges(elapsedTime: number): void {\n // - Advance non-paused animations by the elapsed number of seconds\n // - Advance any animations that require scrubbing\n // - Advance to the first frame even when autoplay is false\n const activeAnimations = this.animator.animations\n .filter((a) => a.playing || a.needsScrub)\n // The scrubbed animations must be applied first to prevent weird artifacts\n // if the playing animations conflict with the scrubbed animating attribuates.\n .sort((first) => (first.needsScrub ? -1 : 1));\n for (const animation of activeAnimations) {\n animation.advance(elapsedTime);\n if (animation.instance.didLoop) {\n animation.loopCount += 1;\n }\n animation.apply(1.0);\n }\n\n // - Advance non-paused state machines by the elapsed number of seconds\n // - Advance to the first frame even when autoplay is false\n const activeStateMachines = this.animator.stateMachines.filter(\n (a) => a.playing,\n );\n // Instrument the first 3 frames so the Performance timeline shows precise\n // per-call latency for advance, draw, and flush without polluting the trace.\n const _perfFrame =\n this.enablePerfMarks && this.frameCount < 3 ? this.frameCount : -1;\n for (const stateMachine of activeStateMachines) {\n // Check for events before the current frame's state machine advance\n const numEventsReported = stateMachine.reportedEventCount();\n if (numEventsReported) {\n for (let i = 0; i < numEventsReported; i++) {\n const event = stateMachine.reportedEventAt(i);\n\n if (event) {\n if (event.type === RiveEventType.OpenUrl) {\n this.eventManager.fire({\n type: EventType.RiveEvent,\n data: event as rc.OpenUrlEvent,\n });\n // Handle the event side effect if explicitly enabled\n if (this.automaticallyHandleEvents) {\n const newAnchorTag = document.createElement(\"a\");\n const { url, target } = event as rc.OpenUrlEvent;\n\n const sanitizedUrl = sanitizeUrl(url);\n url && newAnchorTag.setAttribute(\"href\", sanitizedUrl);\n target && newAnchorTag.setAttribute(\"target\", target);\n if (sanitizedUrl && sanitizedUrl !== BLANK_URL) {\n newAnchorTag.click();\n }\n }\n } else {\n this.eventManager.fire({\n type: EventType.RiveEvent,\n data: event as rc.RiveEvent,\n });\n }\n }\n }\n }\n if (_perfFrame >= 0) performance.mark(`rive:sm-advance:start:f${_perfFrame}`);\n stateMachine.advanceAndApply(elapsedTime);\n if (_perfFrame >= 0) {\n performance.mark(`rive:sm-advance:end:f${_perfFrame}`);\n performance.measure(`rive:sm-advance:f${_perfFrame}`, `rive:sm-advance:start:f${_perfFrame}`, `rive:sm-advance:end:f${_perfFrame}`);\n }\n\n if (this._semanticsActive) {\n const diff = stateMachine.drainSemanticsDiff();\n if (diff) {\n if (!this._semanticTree) {\n this._semanticTree = new SemanticTreeModel();\n }\n this._semanticTree.applyDiff(diff);\n }\n }\n }\n\n // Update the accessibility overlay after all state machines have\n // been advanced and their diffs applied to the tree model.\n if (\n this._semanticsActive &&\n this._semanticTree &&\n activeStateMachines.length > 0 &&\n this.canvas instanceof HTMLCanvasElement\n ) {\n if (!this._accessibilityOverlay) {\n const mainSm = activeStateMachines[0];\n this._accessibilityOverlay = new AccessibilityOverlay({\n canvas: this.canvas,\n instanceId: this._instanceId,\n semanticsOptions: this.semanticsOptions,\n allowFocusInterrupt: this._focusOptions.allowFocusInterrupt,\n isEditingHostFocused: this.isEditingHostFocused,\n fireAction: (nodeId, actionType) => {\n mainSm.fireSemanticAction(nodeId, actionType);\n },\n requestFocus: (nodeId) =>\n mainSm.focusSemanticNode(nodeId),\n clearFocus: () =>\n mainSm.instance.clearFocus(),\n });\n }\n const overlayChange = this._accessibilityOverlay?.needsUpdate(this._semanticTree);\n if (overlayChange || this._overlayTransformDirty) {\n // Only recompute the artboard→canvas transform when something that\n // affects it changed (canvas geometry or a layout/dpr input). When only\n // the semantic tree changed we pass null and reuse the existing CSS\n // transform on the overlay container.\n let forwardMat: rc.Mat2D | null = null;\n if (overlayChange?.layoutChanged || this._overlayTransformDirty) {\n const fit = this._layout.runtimeFit(this.runtime);\n const alignment = this._layout.runtimeAlignment(this.runtime);\n forwardMat = this.runtime.computeAlignment(\n fit,\n alignment,\n {\n minX: this._layout.minX,\n minY: this._layout.minY,\n maxX: this._layout.maxX,\n maxY: this._layout.maxY,\n },\n this.artboard.bounds,\n this._devicePixelRatioUsed * this._layout.layoutScaleFactor,\n );\n this._overlayTransformDirty = false;\n }\n this._accessibilityOverlay!.update(\n this._semanticTree,\n forwardMat,\n this._devicePixelRatioUsed,\n this.artboard.bounds,\n overlayChange,\n );\n forwardMat?.delete();\n }\n }\n\n // For linear animations that have been applied to the artboard, advance it\n // by the elapsed time.\n if (this.animator.stateMachines.length == 0) {\n this.artboard.advance(elapsedTime);\n }\n\n // Check for any animations that looped\n this.animator.handleLooping();\n\n // Check for any state machines that had a state change\n this.animator.handleStateChanges();\n\n // Report advanced time\n this.animator.handleAdvancing(elapsedTime);\n\n // Poll focus state to see whether or not to blur or pull up a virtual keyboard for any change to a text input node.\n this.pollFocusState();\n\n // Handle callbacks for main view model property changes\n this._viewModelInstance?.handleCallbacks();\n\n // Handle callbacks for global view model property changes\n this._globalViewModelInstances.forEach((instance) => {\n if (instance) {\n instance.handleCallbacks();\n }\n });\n }\n\n /**\n * Draw rendering loop; renders animation frames at the correct time interval.\n * @param time the time at which to render a frame\n */\n private draw(time: number, onSecond?: VoidCallback): void {\n // Clear the frameRequestId, as we're now rendering a fresh frame\n this.frameRequestId = null;\n // load() tears the artboard down and re-inits asynchronously; a frame\n // queued before that lands here with nothing to draw.\n if (!this.artboard) {\n return;\n }\n const before = performance.now();\n\n // Instrument the first 3 frames so the Performance timeline shows precise\n // per-call latency for advance, draw, and flush without polluting the trace.\n const _perfFrame =\n this.enablePerfMarks && this.frameCount < 3 ? this.frameCount : -1;\n\n // On the first pass, make sure lastTime has a valid value\n if (!this.lastRenderTime) {\n this.lastRenderTime = time;\n }\n\n // Handle the onSecond callback\n this.renderSecondTimer += time - this.lastRenderTime;\n if (this.renderSecondTimer > 5000) {\n this.renderSecondTimer = 0;\n onSecond?.();\n }\n\n // Calculate the elapsed time between frames in seconds\n const elapsedTime = (time - this.lastRenderTime) / 1000;\n this.lastRenderTime = time;\n\n this.advanceAndReportChanges(elapsedTime);\n\n const { renderer } = this;\n // Do not draw on 0 canvas size\n if (!this._hasZeroSize) {\n // If there was no dirt on this frame, do not clear and draw. The deferred\n // term has to be read here, before `clear()` below: clearing opens the\n // session's recording window and marks its stream, so a read taken after\n // it reports every frame as dirty and nothing is ever skipped.\n if (\n this.drawOptimization == DrawOptimizationOptions.AlwaysDraw ||\n this.artboard.didChange() ||\n this._deferredWorkPending() ||\n this._needsRedraw ||\n this._canvasSizeChanged()\n ) {\n // Canvas must be wiped to prevent artifacts\n renderer.clear();\n renderer.save();\n\n // Update the renderer alignment if necessary\n if (_perfFrame >= 0) performance.mark(`rive:align-renderer:start:f${_perfFrame}`);\n this.alignRenderer();\n if (_perfFrame >= 0) {\n performance.mark(`rive:align-renderer:end:f${_perfFrame}`);\n performance.measure(`rive:align-renderer:f${_perfFrame}`, `rive:align-renderer:start:f${_perfFrame}`, `rive:align-renderer:end:f${_perfFrame}`);\n }\n\n if (_perfFrame >= 0) performance.mark(`rive:artboard-draw:start:f${_perfFrame}`);\n this.artboard.draw(renderer);\n if (_perfFrame >= 0) {\n performance.mark(`rive:artboard-draw:end:f${_perfFrame}`);\n performance.measure(`rive:artboard-draw:f${_perfFrame}`, `rive:artboard-draw:start:f${_perfFrame}`, `rive:artboard-draw:end:f${_perfFrame}`);\n }\n\n renderer.restore();\n\n if (_perfFrame >= 0) performance.mark(`rive:renderer-flush:start:f${_perfFrame}`);\n renderer.flush();\n if (_perfFrame >= 0) {\n performance.mark(`rive:renderer-flush:end:f${_perfFrame}`);\n performance.measure(`rive:renderer-flush:f${_perfFrame}`, `rive:renderer-flush:start:f${_perfFrame}`, `rive:renderer-flush:end:f${_perfFrame}`);\n }\n\n this._needsRedraw = false;\n }\n }\n\n // Add duration to create frame to durations array\n this.frameCount++;\n const after = performance.now();\n this.frameTimes.push(after);\n this.durations.push(after - before);\n while (this.frameTimes[0] <= after - 1000) {\n this.frameTimes.shift();\n this.durations.shift();\n }\n\n // Calling requestAnimationFrame will rerun draw() at the correct rate:\n // https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Basic_animations\n if (this.animator.isPlaying) {\n // Request a new rendering frame\n this.scheduleRendering();\n } else if (this.animator.isPaused) {\n // Reset the end time so on playback it starts at the correct frame\n this.lastRenderTime = 0;\n } else if (this.animator.isStopped) {\n // Reset animation instances, artboard and time\n // TODO: implement this properly when we have instancing\n // this.initArtboard();\n // this.drawFrame();\n this.lastRenderTime = 0;\n }\n }\n\n /**\n * Align the renderer\n */\n private alignRenderer(): void {\n const { renderer, runtime, _layout, artboard } = this;\n // Align things up safe in the knowledge we can restore if changed\n renderer.align(\n _layout.runtimeFit(runtime),\n _layout.runtimeAlignment(runtime),\n {\n minX: _layout.minX,\n minY: _layout.minY,\n maxX: _layout.maxX,\n maxY: _layout.maxY,\n },\n artboard.bounds,\n this._devicePixelRatioUsed * _layout.layoutScaleFactor,\n );\n }\n\n public get fps() {\n return this.durations.length;\n }\n\n public get frameTime() {\n if (this.durations.length === 0) {\n return 0;\n }\n return (\n this.durations.reduce((a, b) => a + b, 0) / this.durations.length\n ).toFixed(4);\n }\n\n /**\n * Cleans up all Wasm-generated objects that need to be manually destroyed:\n * artboard instances, animation instances, state machine instances,\n * renderer instance, file and runtime.\n *\n * Once this is called, you will need to initialise a new instance of the\n * Rive class\n */\n public cleanup() {\n this.destroyed = true;\n // Stop the renderer if it hasn't already been stopped.\n this.stopRendering();\n // Make the GL context backing this renderer current before any WASM teardown\n // that frees GPU resources. Binding here covers the artboard/file deletes;\n // deleteRiveRenderer() re-binds for the renderer's own delete. No-op on the\n // canvas2d build\n this.renderer?.bindContext?.();\n // Clean up any artboard, animation or state machine instances.\n this.cleanupInstances();\n // Remove from observer\n if (this._observed !== null) {\n observers.remove(this._observed);\n }\n this.removeRiveListeners();\n // The file and its session go before the renderer: the session's replay\n // state lives in the renderer's context. But the renderer must let go of\n // the session first — its detach handle dies with session.delete(), and a\n // later detach would pass embind a deleted object.\n if (this.renderer) {\n this.renderer.detachSession?.();\n }\n this.releaseCurrentRiveFile(/* isTeardown */ true);\n this.riveFile = null;\n this.deleteRiveRenderer();\n if (this._audioEventListener !== null) {\n audioManager.remove(this._audioEventListener);\n this._audioEventListener = null;\n }\n if (this._pageVisibilityHandler) {\n document.removeEventListener('visibilitychange', this._pageVisibilityHandler);\n this._pageVisibilityHandler = null;\n }\n this._viewModelInstance?.cleanup();\n this._viewModelInstance = null;\n this._globalViewModelInstances.forEach((instance) => instance.cleanup());\n this._globalViewModelInstances.clear();\n this._dataEnums = null;\n }\n\n /**\n * Drops this instance's hold on `this.riveFile`. A reference taken through\n * getInstance() is given back; a file we imported but never referenced is\n * released outright so its session goes with it. A caller-supplied file we\n * never referenced is left alone.\n *\n * `isTeardown` distinguishes cleanup() from a reload. Teardown always hands\n * the reference back, as it always has. A reload must not do that for a\n * caller-supplied file: a RiveFile carries no reference for its creator, so\n * releasing here would take the last one and destroy a file the caller still\n * holds.\n */\n private releaseCurrentRiveFile(isTeardown: boolean): void {\n if (this.file) {\n if (isTeardown || this.ownsRiveFile) {\n this.riveFile?.cleanup();\n }\n this.file = null;\n } else if (this.ownsRiveFile) {\n this.riveFile?.destroyIfUnused();\n }\n }\n\n /**\n * Cleans up the Renderer object. Only call this API if you no longer\n * need to render Rive content in your session.\n */\n public deleteRiveRenderer() {\n if (this.renderer) {\n // A session outliving this renderer has to stop pointing at it, and its\n // replay state has to drop while this context is still alive. No-op when\n // nothing was ever attached.\n this.renderer.detachSession?.();\n this.renderer.delete();\n }\n this.renderer = null;\n }\n\n /**\n * @experimental This API is early and may encounter breaking behavior change without a major version bump\n *\n * Whether this instance is rendering through a deferred session. False whenever\n * a fallback ran, whatever was requested.\n */\n public get deferredRendererActive(): boolean {\n return this.renderer?.deferredActive?.() ?? false;\n }\n\n /**\n * Cleans up any Wasm-generated objects that need to be manually destroyed:\n * artboard instances, animation instances, state machine instances.\n *\n * Once this is called, things will need to be reinitialized or bad things\n * might happen.\n */\n public cleanupInstances() {\n if (this.eventCleanup !== null) {\n this.eventCleanup();\n }\n this.cleanupKeyboardInteractions();\n // Tear down semantics before deleting state machines — the overlay's action\n // closures point at instances that stop() is about to free.\n this.cleanupSemantics();\n // Delete all animation and state machine instances synchronously via the\n // animator\n this.animator?.stop();\n if (this.artboard) {\n this.artboard.delete();\n this.artboard = null;\n }\n }\n\n /**\n * Tries to query the setup Artboard for a text run node with the given name.\n *\n * @param textRunName - Name of the text run node associated with a text object\n * @returns - TextValueRun node or undefined if the text run cannot be queried\n */\n private retrieveTextRun(textRunName: string): rc.TextValueRun | undefined {\n if (!textRunName) {\n console.warn(\"No text run name provided\");\n return;\n }\n if (!this.artboard) {\n console.warn(\"Tried to access text run, but the Artboard is null\");\n return;\n }\n const textRun: rc.TextValueRun = this.artboard.textRun(textRunName);\n if (!textRun) {\n console.warn(\n `Could not access a text run with name '${textRunName}' in the '${this.artboard?.name}' Artboard. Note that you must rename a text run node in the Rive editor to make it queryable at runtime.`,\n );\n return;\n }\n return textRun;\n }\n\n /**\n * Returns a string from a given text run node name, or undefined if the text run\n * cannot be queried.\n *\n * @deprecated Text run APIs are deprecated: use data binding instead. See\n * {@link https://rive.app/docs/editor/data-binding/migration-guide#updating-text-runs-at-runtime}\n * for how to migrate.\n * @param textRunName - Name of the text run node associated with a text object\n * @returns - String value of the text run node or undefined\n */\n public getTextRunValue(textRunName: string): string | undefined {\n warnOnce(DeprecationKeys.textRuns, textRunsDeprecationWarning);\n const textRun = this.retrieveTextRun(textRunName);\n return textRun ? textRun.text : undefined;\n }\n\n /**\n * Sets a text value for a given text run node name if possible\n *\n * @deprecated Text run APIs are deprecated: use data binding instead. See\n * {@link https://rive.app/docs/editor/data-binding/migration-guide#updating-text-runs-at-runtime}\n * for how to migrate.\n * @param textRunName - Name of the text run node associated with a text object\n * @param textRunValue - String value to set on the text run node\n */\n public setTextRunValue(textRunName: string, textRunValue: string): void {\n warnOnce(DeprecationKeys.textRuns, textRunsDeprecationWarning);\n const textRun = this.retrieveTextRun(textRunName);\n if (textRun) {\n textRun.text = textRunValue;\n }\n }\n\n /**\n * Warns when playback-control names match linear animations in the\n * Animator's instanced context; state machine playback remain supported.\n *\n * Remove for v3 release\n */\n private warnIfLinearAnimationNames(names: string[], methodName: string): void {\n if (\n this.animator &&\n this.animator.animations.some((a) => names.includes(a.name))\n ) {\n warnDeprecatedAnimationNames(methodName);\n }\n }\n\n /**\n * Plays specified animations or state machines; if none specified, it\n * unpauses everything.\n * @param animationNames Animation or state machine name(s) to play.\n * \n * Deprecated usage: passing linear animation names (control playback with a\n * state machine instead) and passing an array of names (this parameter\n * becomes a single string in the next major version).\n */\n public play(animationNames?: string | string[], autoplay?: true): void {\n warnIfNamesArray(animationNames, \"play\");\n const names = mapToStringArray(animationNames);\n\n // If the file's not loaded, queue up the play\n if (!this.readyForPlaying) {\n this.taskQueue.add({\n action: () => this.play(animationNames, autoplay),\n });\n return;\n }\n this.animator.play(names);\n this.warnIfLinearAnimationNames(names, \"play\");\n this.syncSemanticsOnStateMachines();\n if (this.eventCleanup) {\n this.eventCleanup();\n }\n this.cleanupKeyboardInteractions();\n this.setupRiveListeners();\n this.startRendering();\n }\n\n /**\n * Pauses specified animations or state machines; if none specified, pauses\n * all.\n * @param animationNames Animation or state machine name(s) to pause.\n * \n * Deprecated usage: passing linear animation names (control playback with a\n * state machine instead) and passing an array of names (this parameter\n * becomes a single string in the next major version).\n */\n public pause(animationNames?: string | string[]): void {\n warnIfNamesArray(animationNames, \"pause\");\n const names = mapToStringArray(animationNames);\n\n // If the file's not loaded, early out, nothing to pause\n if (!this.readyForPlaying) {\n this.taskQueue.add({\n action: () => this.pause(animationNames),\n });\n return;\n }\n if (this.eventCleanup) {\n this.eventCleanup();\n }\n this.cleanupKeyboardInteractions();\n this.animator.pause(names);\n this.warnIfLinearAnimationNames(names, \"pause\");\n }\n\n /**\n * Scrubs specified animations to the given time; if none specified, scrubs\n * all of them.\n * @deprecated `scrub()` will be removed in a future major version: use a\n * state machine to control playback instead\n */\n public scrub(animationNames?: string | string[], value?: number): void {\n warnOnce(\n DeprecationKeys.scrub,\n \"`scrub()` is deprecated and will be removed in a future major version: \" +\n \"use a state machine to control playback instead.\",\n );\n const names = mapToStringArray(animationNames);\n\n // If the file's not loaded, early out, nothing to pause\n if (!this.readyForPlaying) {\n this.taskQueue.add({\n action: () => this.scrub(animationNames, value),\n });\n return;\n }\n // Scrub the animation time; we draw a single frame here so that if\n // nothing's currently playing, the scrubbed animation is still rendered/\n this.animator.scrub(names, value || 0);\n this.drawFrame();\n }\n\n /**\n * Stops specified animations or state machines; if none specified, stops\n * them all.\n * @param animationNames Animation or state machine name(s) to stop.\n * \n * Deprecated usage: passing linear animation names (control playback with a\n * state machine instead) and passing an array of names (this parameter\n * becomes a single string in the next major version).\n */\n public stop(animationNames?: string | string[] | undefined): void {\n warnIfNamesArray(animationNames, \"stop\");\n const names = mapToStringArray(animationNames);\n // If the file's not loaded, early out, nothing to pause\n if (!this.readyForPlaying) {\n this.taskQueue.add({\n action: () => this.stop(animationNames),\n });\n return;\n }\n this.warnIfLinearAnimationNames(names, \"stop\");\n // If there is no artboard, this.animator will be undefined\n if (this.animator) {\n this.animator.stop(names);\n }\n if (this.eventCleanup) {\n this.eventCleanup();\n }\n this.cleanupKeyboardInteractions();\n this.cleanupSemantics();\n }\n\n /**\n * Resets the animation\n * @param artboard the name of the artboard, or default if none given\n * @param stateMachine the name of the state machine for playback\n * @param autoplay whether to autoplay when reset, defaults to false\n *\n */\n public reset(params?: RiveResetParameters): void {\n // Get the current artboard, animations, state machines, and playback states\n const artBoardName = params?.artboard;\n const {\n startingAnimationNames: animationNames,\n startingStateMachineNames: stateMachineNames,\n } = resolveStartingPlayback({\n stateMachine: params?.stateMachine,\n animations: params?.animations,\n stateMachines: params?.stateMachines,\n });\n const autoplay = params?.autoplay ?? false;\n const autoBind = params?.autoBind ?? false;\n\n // Stop everything and clean up\n this.cleanupInstances();\n\n // Reinitialize an artboard instance with the state\n this.initArtboard(\n artBoardName,\n animationNames,\n stateMachineNames,\n autoplay,\n autoBind,\n );\n // Only drain the task queue once playback commands can execute; tasks\n // queued before then re-add themselves in a loop.\n if (this.readyForPlaying) {\n this.taskQueue.process();\n }\n }\n\n // Loads a new Rive file, keeping listeners in place\n public load(params: RiveLoadParameters): void {\n // Before stop(), so a call with no source leaves playback running.\n if (!params.src && !params.buffer && !params.riveFile) {\n throw new RiveError(Rive.missingErrorMessage);\n }\n // Stop all animations\n this.stop();\n // Reinitialize\n this.init(params);\n }\n\n // Sets a new layout\n public set layout(layout: Layout) {\n this._layout = layout;\n this.reportDisplayScale();\n // Fit/alignment/bounds feed the overlay transform.\n this._overlayTransformDirty = true;\n // If the maxX or maxY are 0, then set them to the canvas width and height\n if (!layout.maxX || !layout.maxY) {\n this.resizeToCanvas();\n }\n if (this.loaded && !this.animator.isPlaying) {\n this.drawFrame();\n }\n }\n\n /**\n * Returns the current layout. Note that layout should be treated as\n * immutable. If you want to change the layout, create a new one use the\n * layout setter\n */\n public get layout() {\n return this._layout;\n }\n\n /**\n * Sets the layout bounds to the current canvas size; this is typically called\n * when the canvas is resized\n */\n public resizeToCanvas() {\n this._layout = this.layout.copyWith({\n minX: 0,\n minY: 0,\n maxX: this.canvas.width,\n maxY: this.canvas.height,\n });\n // Layout bounds feed the overlay transform.\n this._overlayTransformDirty = true;\n }\n\n /**\n * Accounts for devicePixelRatio as a multiplier to render the size of the canvas drawing surface.\n * Uses the size of the backing canvas to set new width/height attributes. Need to re-render\n * and resize the layout to match the new drawing surface afterwards.\n * Useful function for consumers to include in a window resize listener.\n *\n * This method will set the {@link devicePixelRatioUsed} property.\n *\n * Optionally, you can provide a {@link customDevicePixelRatio} to provide a\n * custom value.\n */\n public resizeDrawingSurfaceToCanvas(customDevicePixelRatio?: number) {\n if (this.canvas instanceof HTMLCanvasElement && !!window) {\n const { width, height } = this.canvas.getBoundingClientRect();\n const dpr = customDevicePixelRatio || window.devicePixelRatio || 1;\n this.devicePixelRatioUsed = dpr;\n this.canvas.width = dpr * width;\n this.canvas.height = dpr * height;\n this._needsRedraw = true;\n this.resizeToCanvas();\n\n if (this.layout.fit === Fit.Layout && this.artboard) {\n const scaleFactor = this._layout.layoutScaleFactor;\n this.artboard.width = width / scaleFactor;\n this.artboard.height = height / scaleFactor;\n }\n\n this.drawFrame();\n }\n }\n\n // Returns the animation source, which may be undefined\n public get source(): string {\n return this.src;\n }\n\n /**\n * Returns the name of the active artboard\n */\n public get activeArtboard(): string {\n return this.artboard ? this.artboard.name : \"\";\n }\n\n /**\n * Returns the semantic tree model when semantics are enabled, or null.\n * The overlay and external consumers use this to inspect the\n * current state of the semantic tree.\n */\n public get semanticTree(): SemanticTreeModel | null {\n return this._semanticTree;\n }\n\n /**\n * Returns the accessibility overlay when semantics are enabled, or null.\n * External consumers can use this to inspect the\n * current state of the accessibility overlay for this instance.\n */\n public get accessibilityOverlay(): AccessibilityOverlay | null {\n return this._accessibilityOverlay;\n }\n\n // Returns a list of animation names on the chosen artboard\n public get animationNames(): string[] {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded || !this.artboard) {\n return [];\n }\n const animationNames: string[] = [];\n for (let i = 0; i < this.artboard.animationCount(); i++) {\n animationNames.push(this.artboard.animationByIndex(i).name);\n }\n return animationNames;\n }\n\n /**\n * Returns a list of state machine names from the current artboard\n */\n public get stateMachineNames(): string[] {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded || !this.artboard) {\n return [];\n }\n const stateMachineNames: string[] = [];\n for (let i = 0; i < this.artboard.stateMachineCount(); i++) {\n stateMachineNames.push(this.artboard.stateMachineByIndex(i).name);\n }\n return stateMachineNames;\n }\n\n /**\n * Returns the inputs for the specified instanced state machine, or an empty\n * list if the name is invalid or the state machine is not instanced. Returns\n * undefined if the file is not loaded yet.\n * \n * @deprecated State machine inputs are deprecated: use data binding\n * properties instead. See\n * {@link https://rive.app/docs/editor/data-binding/migration-guide#state-machine-inputs}\n * for how to migrate.\n * @param name the state machine name\n * @returns the inputs for the named state machine or undefined\n */\n public stateMachineInputs(name: string): StateMachineInput[] | undefined {\n warnOnce(\n DeprecationKeys.stateMachineInputs,\n stateMachineInputsDeprecationWarning,\n );\n // If the file's not loaded, early out, nothing to pause\n if (!this.loaded) {\n return;\n }\n const stateMachine = this.animator.stateMachines.find(\n (m) => m.name === name,\n );\n return stateMachine?.inputs;\n }\n\n // Returns the input with the provided name at the given path\n private retrieveInputAtPath(\n name: string,\n path: string,\n ): rc.SMIInput | undefined {\n if (!name) {\n console.warn(`No input name provided for path '${path}'`);\n return;\n }\n if (!this.artboard) {\n console.warn(\n `Tried to access input: '${name}', at path: '${path}', but the Artboard is null`,\n );\n return;\n }\n const input: rc.SMIInput = this.artboard.inputByPath(name, path);\n\n if (!input) {\n console.warn(\n `Could not access an input with name: '${name}', at path:'${path}'`,\n );\n return;\n }\n return input;\n }\n\n /**\n * Set the boolean input with the provided name at the given path with value\n * @deprecated State machine inputs are deprecated: use data binding\n * properties instead. See\n * {@link https://rive.app/docs/editor/data-binding/migration-guide#state-machine-inputs}\n * for how to migrate.\n * @param input the state machine input name\n * @param value the value to set the input to\n * @param path the path the input is located at an artboard level\n */\n public setBooleanStateAtPath(\n inputName: string,\n value: boolean,\n path: string,\n ) {\n warnOnce(\n DeprecationKeys.stateMachineInputs,\n stateMachineInputsDeprecationWarning,\n );\n const input: rc.SMIInput = this.retrieveInputAtPath(inputName, path);\n if (!input) return;\n\n if (input.type === StateMachineInputType.Boolean) {\n input.asBool().value = value;\n } else {\n console.warn(\n `Input with name: '${inputName}', at path:'${path}' is not a boolean`,\n );\n }\n }\n\n /**\n * Set the number input with the provided name at the given path with value\n * @deprecated State machine inputs are deprecated: use data binding\n * properties instead. See\n * {@link https://rive.app/docs/editor/data-binding/migration-guide#state-machine-inputs}\n * for how to migrate.\n * @param input the state machine input name\n * @param value the value to set the input to\n * @param path the path the input is located at an artboard level\n */\n public setNumberStateAtPath(inputName: string, value: number, path: string) {\n warnOnce(\n DeprecationKeys.stateMachineInputs,\n stateMachineInputsDeprecationWarning,\n );\n const input: rc.SMIInput = this.retrieveInputAtPath(inputName, path);\n if (!input) return;\n\n if (input.type === StateMachineInputType.Number) {\n input.asNumber().value = value;\n } else {\n console.warn(\n `Input with name: '${inputName}', at path:'${path}' is not a number`,\n );\n }\n }\n\n /**\n * Fire the trigger with the provided name at the given path\n * @deprecated State machine inputs are deprecated: use data binding\n * properties instead. See\n * {@link https://rive.app/docs/editor/data-binding/migration-guide#state-machine-inputs}\n * for how to migrate.\n * @param input the state machine input name\n * @param path the path the input is located at an artboard level\n */\n public fireStateAtPath(inputName: string, path: string) {\n warnOnce(\n DeprecationKeys.stateMachineInputs,\n stateMachineInputsDeprecationWarning,\n );\n const input: rc.SMIInput = this.retrieveInputAtPath(inputName, path);\n if (!input) return;\n\n if (input.type === StateMachineInputType.Trigger) {\n input.asTrigger().fire();\n } else {\n console.warn(\n `Input with name: '${inputName}', at path:'${path}' is not a trigger`,\n );\n }\n }\n\n // Returns the TextValueRun object for the provided name at the given path\n private retrieveTextAtPath(\n name: string,\n path: string,\n ): rc.TextValueRun | undefined {\n if (!name) {\n console.warn(`No text name provided for path '${path}'`);\n return;\n }\n if (!path) {\n console.warn(`No path provided for text '${name}'`);\n return;\n }\n if (!this.artboard) {\n console.warn(\n `Tried to access text: '${name}', at path: '${path}', but the Artboard is null`,\n );\n return;\n }\n const text: rc.TextValueRun = this.artboard.textByPath(name, path);\n if (!text) {\n console.warn(\n `Could not access text with name: '${name}', at path:'${path}'`,\n );\n return;\n }\n return text;\n }\n\n /**\n * Retrieves the text value for a specified text run at a given path\n * @param textName The name of the text run\n * @param path The path to the text run within the artboard\n * @returns The text value of the text run, or undefined if not found\n *\n * @example\n * // Get the text value for a text run named \"title\" at one nested artboard deep\n * const titleText = riveInstance.getTextRunValueAtPath(\"title\", \"artboard1\");\n *\n * @example\n * // Get the text value for a text run named \"subtitle\" within a nested group two artboards deep\n * const subtitleText = riveInstance.getTextRunValueAtPath(\"subtitle\", \"group/nestedGroup\");\n *\n * @remarks\n * If the text run cannot be found at the specified path, a warning will be logged to the console.\n *\n * @deprecated Text run APIs are deprecated: use data binding instead. See\n * {@link https://rive.app/docs/editor/data-binding/migration-guide#updating-text-runs-at-runtime}\n * for how to migrate.\n */\n public getTextRunValueAtPath(\n textName: string,\n path: string,\n ): string | undefined {\n warnOnce(DeprecationKeys.textRuns, textRunsDeprecationWarning);\n const run: rc.TextValueRun = this.retrieveTextAtPath(textName, path);\n if (!run) {\n console.warn(\n `Could not get text with name: '${textName}', at path:'${path}'`,\n );\n return;\n }\n return run.text;\n }\n\n /**\n * Sets the text value for a specified text run at a given path\n * @param textName The name of the text run\n * @param value The new text value to set\n * @param path The path to the text run within the artboard\n * @returns void\n *\n * @example\n * // Set the text value for a text run named \"title\" at one nested artboard deep\n * riveInstance.setTextRunValueAtPath(\"title\", \"New Title\", \"artboard1\");\n *\n * @example\n * // Set the text value for a text run named \"subtitle\" within a nested group two artboards deep\n * riveInstance.setTextRunValueAtPath(\"subtitle\", \"New Subtitle\", \"group/nestedGroup\");\n *\n * @remarks\n * If the text run cannot be found at the specified path, a warning will be logged to the console.\n *\n * @deprecated Text run APIs are deprecated: use data binding instead. See\n * {@link https://rive.app/docs/editor/data-binding/migration-guide#updating-text-runs-at-runtime}\n * for how to migrate.\n */\n public setTextRunValueAtPath(textName: string, value: string, path: string) {\n warnOnce(DeprecationKeys.textRuns, textRunsDeprecationWarning);\n const run: rc.TextValueRun = this.retrieveTextAtPath(textName, path);\n if (!run) {\n console.warn(\n `Could not set text with name: '${textName}', at path:'${path}'`,\n );\n return;\n }\n run.text = value;\n }\n\n // Returns a list of playing machine names\n public get playingStateMachineNames(): string[] {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded) {\n return [];\n }\n return this.animator.stateMachines\n .filter((m) => m.playing)\n .map((m) => m.name);\n }\n\n // Returns a list of playing animation names\n public get playingAnimationNames(): string[] {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded) {\n return [];\n }\n return this.animator.animations.filter((a) => a.playing).map((a) => a.name);\n }\n\n // Returns a list of paused animation names\n public get pausedAnimationNames(): string[] {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded) {\n return [];\n }\n return this.animator.animations\n .filter((a) => !a.playing)\n .map((a) => a.name);\n }\n\n /**\n * Returns a list of paused machine names\n * @returns a list of state machine names that are paused\n */\n public get pausedStateMachineNames(): string[] {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded) {\n return [];\n }\n return this.animator.stateMachines\n .filter((m) => !m.playing)\n .map((m) => m.name);\n }\n\n /**\n * @returns true if any animation is playing\n */\n public get isPlaying(): boolean {\n return this.animator.isPlaying;\n }\n\n /**\n * @returns true if all instanced animations are paused\n */\n public get isPaused(): boolean {\n return this.animator.isPaused;\n }\n\n /**\n * @returns true if no animations are playing or paused\n */\n public get isStopped(): boolean {\n return this.animator?.isStopped ?? true;\n }\n\n /**\n * @returns the bounds of the current artboard, or undefined if the artboard\n * isn't loaded yet.\n */\n public get bounds(): Bounds {\n return this.artboard ? this.artboard.bounds : undefined;\n }\n\n /**\n * Subscribe to Rive-generated events\n *\n * Note: subscribing to {@link EventType.RiveEvent},\n * {@link EventType.StateChange}, or {@link EventType.Loop} is deprecated;\n * use data binding instead. See\n * {@link https://rive.app/docs/runtimes/web/rive-events} (Rive Events) and\n * {@link https://rive.app/docs/editor/data-binding/migration-guide} for how\n * to migrate Rive graphics to a data binding workflow instead.\n * @param type the type of event to subscribe to\n * @param callback callback to fire when the event occurs\n */\n public on(type: EventType, callback: EventCallback) {\n if (type === EventType.RiveEvent) {\n warnOnce(DeprecationKeys.riveEvents, riveEventsDeprecationWarning);\n } else if (type === EventType.StateChange) {\n warnOnce(\n DeprecationKeys.stateChangeEvents,\n stateChangeEventsDeprecationWarning,\n );\n } else if (type === EventType.Loop) {\n warnOnce(DeprecationKeys.loopEvents, loopEventsDeprecationWarning);\n }\n this.eventManager.add({\n type: type,\n callback: callback,\n });\n }\n\n /**\n * Unsubscribes from a Rive-generated event\n * @param type the type of event to unsubscribe from\n * @param callback the callback to unsubscribe\n */\n public off(type: EventType, callback: EventCallback) {\n this.eventManager.remove({\n type: type,\n callback: callback,\n });\n }\n\n /**\n * Unsubscribes from a Rive-generated event\n * @deprecated\n * @param callback the callback to unsubscribe from\n */\n public unsubscribe(type: EventType, callback: EventCallback) {\n warnOnce(\n DeprecationKeys.legacyUnsubscribe,\n \"This function is deprecated: please use `off()` instead.\",\n );\n this.off(type, callback);\n }\n\n /**\n * Unsubscribes all Rive listeners from an event type, or everything if no type is\n * given\n * @param type the type of event to unsubscribe from, or all types if\n * undefined\n */\n public removeAllRiveEventListeners(type?: EventType) {\n this.eventManager.removeAll(type);\n }\n\n /**\n * Unsubscribes all listeners from an event type, or everything if no type is\n * given\n * @deprecated\n * @param type the type of event to unsubscribe from, or all types if\n * undefined\n */\n public unsubscribeAll(type?: EventType) {\n warnOnce(\n DeprecationKeys.legacyUnsubscribe,\n \"This function is deprecated: please use `removeAllRiveEventListeners()` instead.\",\n );\n this.removeAllRiveEventListeners(type);\n }\n\n /**\n * Stops the rendering loop; this is different from pausing in that it doesn't\n * change the state of any animation. It stops rendering from occurring. This\n * is designed for situations such as when Rive isn't visible.\n *\n * The only way to start rendering again is to call `startRendering`.\n * Animations that are marked as playing will start from the position that\n * they would have been at if rendering had not been stopped.\n */\n public stopRendering() {\n this._explicitlyStoppedRendering = true;\n if (this.loaded && this.frameRequestId) {\n if (this.runtime.cancelAnimationFrame) {\n this.runtime.cancelAnimationFrame(this.frameRequestId);\n } else {\n cancelAnimationFrame(this.frameRequestId);\n }\n this.frameRequestId = null;\n }\n }\n\n /**\n * Starts the rendering loop if it has been previously stopped. If the\n * renderer is already active, then this will have zero effect.\n */\n public startRendering() {\n this._explicitlyStoppedRendering = false;\n this.drawFrame();\n }\n\n private scheduleRendering() {\n if (this.loaded && this.artboard && !this.frameRequestId) {\n if (this.runtime.requestAnimationFrame) {\n this.frameRequestId = this.runtime.requestAnimationFrame(\n this._boundDraw,\n );\n } else {\n this.frameRequestId = requestAnimationFrame(this._boundDraw);\n }\n }\n }\n\n /**\n * Called when document.visibilitychange fires (tab change, window minimize, etc.). \n * Cancels the rAF loop on hide and resets the time reference so that no accumulated time is\n * applied to state machines when the tab becomes visible again. This prevents state machine\n * advances with large time deltas when rAF starts up again.\n */\n private _onPageVisibilityChange(): void {\n if (document.hidden) {\n if (this.frameRequestId !== null) {\n if (this.runtime?.cancelAnimationFrame) {\n this.runtime.cancelAnimationFrame(this.frameRequestId);\n } else {\n cancelAnimationFrame(this.frameRequestId);\n }\n this.frameRequestId = null;\n }\n // Reset so the first resumed frame starts with elapsedTime === 0.\n this.lastRenderTime = 0;\n } else if (this.animator?.isPlaying && !this._explicitlyStoppedRendering) {\n this.scheduleRendering();\n }\n }\n\n /**\n * Enables frames-per-second (FPS) reporting for the runtime\n * If no callback is provided, Rive will append a fixed-position div at the top-right corner of\n * the page with the FPS reading\n * @param fpsCallback - Callback from the runtime during the RAF loop that supplies the FPS value\n */\n public enableFPSCounter(fpsCallback?: FPSCallback) {\n this.runtime.enableFPSCounter(fpsCallback);\n }\n\n /**\n * Disables frames-per-second (FPS) reporting for the runtime\n */\n public disableFPSCounter() {\n this.runtime.disableFPSCounter();\n }\n\n /**\n * Returns the contents of a Rive file: the artboards, animations, and state machines\n */\n public get contents(): RiveFileContents {\n if (!this.loaded) {\n return undefined;\n }\n const riveContents: RiveFileContents = {\n artboards: [],\n };\n for (let i = 0; i < this.file.artboardCount(); i++) {\n const artboard = this.file.artboardByIndex(i);\n const artboardContents: ArtboardContents = {\n name: artboard.name,\n animations: [],\n stateMachines: [],\n };\n for (let j = 0; j < artboard.animationCount(); j++) {\n const animation = artboard.animationByIndex(j);\n artboardContents.animations.push(animation.name);\n }\n for (let k = 0; k < artboard.stateMachineCount(); k++) {\n const stateMachine = artboard.stateMachineByIndex(k);\n const name = stateMachine.name;\n const instance = new this.runtime.StateMachineInstance(\n stateMachine,\n artboard,\n );\n const inputContents: StateMachineInputContents[] = [];\n for (let l = 0; l < instance.inputCount(); l++) {\n const input = instance.input(l);\n inputContents.push({ name: input.name, type: input.type });\n }\n artboardContents.stateMachines.push({\n name: name,\n inputs: inputContents,\n });\n }\n riveContents.artboards.push(artboardContents);\n }\n return riveContents;\n }\n\n /**\n * Getter / Setter for the volume of the artboard\n */\n public get volume(): number {\n if (this.artboard && this.artboard.volume !== this._volume) {\n this._volume = this.artboard.volume;\n }\n return this._volume;\n }\n\n public set volume(value: number) {\n this._volume = value;\n if (this.artboard) {\n this.artboard.volume = value * audioManager.systemVolume;\n }\n }\n\n /**\n * The width of the artboard.\n *\n * This will return 0 if the artboard is not loaded yet and a custom\n * width has not been set.\n *\n * Do not set this value manually when using {@link resizeDrawingSurfaceToCanvas}\n * with a {@link Layout.fit} of {@link Fit.Layout}, as the artboard width is\n * automatically set.\n */\n public get artboardWidth(): number {\n if (this.artboard) {\n return this.artboard.width;\n }\n return this._artboardWidth ?? 0;\n }\n\n public set artboardWidth(value: number) {\n this._artboardWidth = value;\n if (this.artboard) {\n this.artboard.width = value;\n }\n }\n\n /**\n * The height of the artboard.\n *\n * This will return 0 if the artboard is not loaded yet and a custom\n * height has not been set.\n *\n * Do not set this value manually when using {@link resizeDrawingSurfaceToCanvas}\n * with a {@link Layout.fit} of {@link Fit.Layout}, as the artboard height is\n * automatically set.\n */\n public get artboardHeight(): number {\n if (this.artboard) {\n return this.artboard.height;\n }\n return this._artboardHeight ?? 0;\n }\n\n public set artboardHeight(value: number) {\n this._artboardHeight = value;\n\n if (this.artboard) {\n this.artboard.height = value;\n }\n }\n\n /**\n * Reset the artboard size to its original values.\n */\n public resetArtboardSize() {\n if (this.artboard) {\n this.artboard.resetArtboardSize();\n this._artboardWidth = this.artboard.width;\n this._artboardHeight = this.artboard.height;\n } else {\n // If the artboard isn't loaded, we need to reset the custom width and height\n this._artboardWidth = undefined;\n this._artboardHeight = undefined;\n }\n }\n\n /**\n * The device pixel ratio used in rendering and canvas/artboard resizing.\n *\n * This value will be overidden by the device pixel ratio used in\n * {@link resizeDrawingSurfaceToCanvas}. If you use that method, do not set this value.\n */\n public get devicePixelRatioUsed(): number {\n return this._devicePixelRatioUsed;\n }\n\n public set devicePixelRatioUsed(value: number) {\n if (value !== this._devicePixelRatioUsed) {\n this._overlayTransformDirty = true;\n }\n this._devicePixelRatioUsed = value;\n this.reportDisplayScale();\n }\n\n /**\n * @experimental (WebGL2 only) Whether inkbleed antialiasing is in effect. Can only be\n * turned on if `enableInkbleed: true` was passed at construction.\n */\n public get inkbleed(): boolean {\n return this._inkbleedCapable && this._inkbleed;\n }\n\n public set inkbleed(value: boolean) {\n if (!this._inkbleedCapable) {\n if (value && !Rive.inkbleedNotCapableWarned) {\n Rive.inkbleedNotCapableWarned = true;\n console.warn(\n \"Rive: `inkbleed` can't be enabled on this instance. It needs `enableInkbleed: true` at construction, on @rive-app/webgl2 without `useOffscreenRenderer`.\",\n );\n }\n return;\n }\n this._inkbleed = value;\n if (this.renderer) {\n this.applyInkbleed();\n }\n this._needsRedraw = true;\n this.drawFrame();\n }\n\n private applyInkbleed(): void {\n const enabled = this._inkbleed;\n const setInkbleed = this.renderer.setInkbleed;\n const supported =\n typeof setInkbleed === \"function\"\n ? setInkbleed.call(this.renderer, enabled)\n : !enabled;\n if (!supported) {\n this._inkbleedCapable = false;\n if (!Rive.inkbleedUnsupportedWarned) {\n Rive.inkbleedUnsupportedWarned = true;\n console.warn(\n \"Rive: `inkbleed` is not supported by this renderer (it needs @rive-app/webgl2 without `useOffscreenRenderer`, and a canvas context with depth and stencil). Rendering without it.\",\n );\n }\n }\n }\n\n // Not per frame: the scale is per file, and instances sharing one would trade\n // it every frame.\n private reportDisplayScale(): void {\n this.file?.displayScale(\n this._devicePixelRatioUsed * this._layout.layoutScaleFactor,\n );\n }\n\n /**\n * Sets the main view model instance and applies it (rebinds). Equivalent to\n * `setViewModelInstance(vmi)` followed by `bind()`.\n */\n public bindViewModelInstance(viewModelInstance: ViewModelInstance | null) {\n if (!viewModelInstance) {\n return;\n }\n this.setViewModelInstance(viewModelInstance);\n this.bind();\n }\n\n /**\n * Sets the main view model instance in the data context WITHOUT rebinding.\n * Call {@link bind} to apply. Use this with {@link setGlobalViewModelInstance}\n * to batch multiple changes into a single rebind.\n */\n public setViewModelInstance(viewModelInstance: ViewModelInstance | null) {\n const runtimeInstance = viewModelInstance?.runtimeInstance;\n if (\n !this.artboard ||\n this.destroyed ||\n !viewModelInstance ||\n !runtimeInstance\n ) {\n return;\n }\n viewModelInstance.internalIncrementReferenceCount();\n this._viewModelInstance?.cleanup();\n this._viewModelInstance = viewModelInstance;\n if (this.animator.stateMachines.length > 0) {\n this.animator.stateMachines.forEach((stateMachine) =>\n stateMachine.instance.setViewModelInstance(runtimeInstance),\n );\n } else {\n this.artboard.setViewModelInstance(runtimeInstance);\n }\n }\n\n /**\n * Applies any pending `set*` view model instance changes by rebinding the\n * data binds once.\n * Implicitly creates and binds any view models that have not been set.\n */\n public bind() {\n if (!this.artboard || this.destroyed) {\n return;\n }\n if (this.animator.stateMachines.length > 0) {\n this.animator.stateMachines.forEach((stateMachine) =>\n stateMachine.instance.bind(),\n );\n } else {\n this.artboard.bind();\n }\n }\n\n public get viewModelInstance(): ViewModelInstance | null {\n return this._viewModelInstance;\n }\n\n /**\n * Sets (or replaces) the global view model instance for the given global view\n * model name in the data context WITHOUT rebinding. The main instance and any\n * other globals keep their order. Call {@link bind} to apply — batch several\n * `set*` calls then a single `bind()` to avoid rebinding per set.\n * @param name - the name of the global view model\n * @param viewModelInstance - the instance to set for that global\n * @returns whether the instance was set (false if `name` does not match a\n * global view model in the file)\n */\n public setGlobalViewModelInstance(\n name: string,\n viewModelInstance: ViewModelInstance,\n ): boolean {\n const runtimeInstance = viewModelInstance?.runtimeInstance;\n if (!this.artboard || this.destroyed || !runtimeInstance) {\n return false;\n }\n let bound = false;\n if (this.animator.stateMachines.length > 0) {\n this.animator.stateMachines.forEach((stateMachine) => {\n if (\n stateMachine.instance.setGlobalViewModelInstance(\n name,\n runtimeInstance,\n )\n ) {\n bound = true;\n }\n });\n } else {\n bound = this.artboard.setGlobalViewModelInstance(name, runtimeInstance);\n }\n if (bound) {\n viewModelInstance.internalIncrementReferenceCount();\n this._globalViewModelInstances.get(name)?.cleanup();\n this._globalViewModelInstances.set(name, viewModelInstance);\n }\n return bound;\n }\n\n /**\n * @param name - the name of the global view model\n * @returns the global view model instance bound under the given name — the\n * instance set via {@link setGlobalViewModelInstance} or one created by\n * auto-bind — or null if none has been set/created for that name (globals are\n * not auto-created; the getter never creates one).\n */\n public globalViewModelInstance(name: string): ViewModelInstance | null {\n const cached = this._globalViewModelInstances.get(name);\n if (cached) {\n return cached;\n }\n if (!this.artboard || this.destroyed) {\n return null;\n }\n // State machines share the artboard's data context; query the first one\n // when present (mirroring how the setter routes), otherwise the artboard.\n // This is a pure read — it returns null unless an instance was set/bound.\n const runtimeInstance =\n this.animator.stateMachines.length > 0\n ? this.animator.stateMachines[0].instance.globalViewModelInstance(name)\n : this.artboard.globalViewModelInstance(name);\n if (runtimeInstance === null) {\n return null;\n }\n const viewModelInstance = new ViewModelInstance(runtimeInstance, null);\n createFinalization(viewModelInstance, runtimeInstance);\n viewModelInstance.internalIncrementReferenceCount();\n this._globalViewModelInstances.set(name, viewModelInstance);\n return viewModelInstance;\n }\n\n /**\n * @returns the names of the file's global view models, in file order. Use\n * these with {@link setGlobalViewModelInstance} / {@link globalViewModelInstance}.\n */\n public globalViewModelNames(): string[] {\n return this.file?.globalViewModelNames() ?? [];\n }\n\n public viewModelByIndex(index: number): ViewModel | null {\n const viewModel = this.file.viewModelByIndex(index);\n if (viewModel !== null) {\n return new ViewModel(viewModel);\n }\n return null;\n }\n\n public viewModelByName(name: string): ViewModel | null {\n return this.riveFile?.viewModelByName(name);\n }\n\n public enums(): DataEnum[] {\n if (this._dataEnums === null) {\n const dataEnums = this.file.enums();\n this._dataEnums = dataEnums.map((dataEnum) => {\n return new DataEnum(dataEnum);\n });\n }\n return this._dataEnums;\n }\n\n public defaultViewModel(): ViewModel | null {\n if (this.artboard) {\n const viewModel = this.file.defaultArtboardViewModel(this.artboard);\n if (viewModel) {\n return new ViewModel(viewModel);\n }\n }\n return null;\n }\n\n /**\n * @deprecated This function is deprecated. For better stability and memory management\n * use `getBindableArtboard()` instead.\n * @param {string} name - The name of the artboard.\n * @returns {Artboard} The artboard to bind to.\n */\n public getArtboard(name: string): Artboard | null {\n return this.riveFile?.getArtboard(name) ?? null;\n }\n\n public getBindableArtboard(name: string): BindableArtboard | null {\n return this.riveFile?.getBindableArtboard(name) ?? null;\n }\n\n public getDefaultBindableArtboard(): BindableArtboard | null {\n return this.riveFile?.getDefaultBindableArtboard() ?? null;\n }\n\n /**\n * Clear focus applicable to active state machines with focus nodes. Useful if users want to\n * reset focus state and behavior within the Rive graphic at any point (i.e. blurring off the canvas)\n */\n public clearFocus(): void {\n const playingStateMachines = this.animator.stateMachines.filter((sm) => sm.playing && sm.hasFocusNodes);\n playingStateMachines.forEach((sm) => sm.clearFocus());\n }\n\n}\n\nexport enum DataType {\n none = 'none',\n string = 'string',\n number = 'number',\n boolean = 'boolean',\n color = 'color',\n list = 'list',\n enumType = 'enumType',\n trigger = 'trigger',\n viewModel = 'viewModel',\n integer = 'integer',\n listIndex = 'listIndex',\n image = 'image',\n artboard = 'artboard',\n}\n\nexport class ViewModel {\n private _viewModel: rc.ViewModel;\n\n constructor(viewModel: rc.ViewModel) {\n this._viewModel = viewModel;\n }\n\n public get instanceCount(): number {\n return this._viewModel.instanceCount;\n }\n\n public get name(): string {\n return this._viewModel.name;\n }\n\n public instanceByIndex(index: number): ViewModelInstance | null {\n const instance = this._viewModel.instanceByIndex(index);\n if (instance !== null) {\n const viewModelInstance = new ViewModelInstance(instance, null);\n createFinalization(viewModelInstance, instance);\n return viewModelInstance;\n }\n return null;\n }\n\n public instanceByName(name: string): ViewModelInstance | null {\n const instance = this._viewModel.instanceByName(name);\n if (instance !== null) {\n const viewModelInstance = new ViewModelInstance(instance, null);\n createFinalization(viewModelInstance, instance);\n return viewModelInstance;\n }\n return null;\n }\n\n public defaultInstance(): ViewModelInstance | null {\n const runtimeInstance = this._viewModel.defaultInstance();\n if (runtimeInstance !== null) {\n const viewModelInstance = new ViewModelInstance(runtimeInstance, null);\n createFinalization(viewModelInstance, runtimeInstance);\n return viewModelInstance;\n }\n return null;\n }\n\n public instance(): ViewModelInstance {\n const runtimeInstance = this._viewModel.instance();\n if (runtimeInstance !== null) {\n const viewModelInstance = new ViewModelInstance(runtimeInstance, null);\n createFinalization(viewModelInstance, runtimeInstance);\n return viewModelInstance;\n }\n return null;\n }\n\n public get properties(): rc.ViewModelProperty[] {\n return this._viewModel.getProperties();\n }\n\n public get instanceNames(): string[] {\n return this._viewModel.getInstanceNames();\n }\n}\n\nexport class DataEnum {\n private _dataEnum: rc.DataEnum;\n\n constructor(dataEnum: rc.DataEnum) {\n this._dataEnum = dataEnum;\n }\n\n public get name(): string {\n return this._dataEnum.name;\n }\n\n public get values(): string[] {\n return this._dataEnum.values;\n }\n}\n\nenum PropertyType {\n Number = \"number\",\n String = \"string\",\n Boolean = \"boolean\",\n Color = \"color\",\n Trigger = \"trigger\",\n Enum = \"enum\",\n List = \"list\",\n Image = \"image\",\n Font = \"font\",\n Artboard = \"artboard\",\n}\n\nexport class ViewModelInstance {\n private _runtimeInstance: rc.ViewModelInstance | null;\n\n private _parents: ViewModelInstance[] = [];\n\n private _children: ViewModelInstance[] = [];\n\n private _viewModelInstances: Map<string, ViewModelInstance> = new Map();\n\n private _propertiesWithCallbacks: ViewModelInstanceValue[] = [];\n\n private _referenceCount = 0;\n\n public selfUnref: boolean = false;\n\n constructor(\n runtimeInstance: rc.ViewModelInstance,\n parent: ViewModelInstance | null,\n ) {\n this._runtimeInstance = runtimeInstance;\n if (parent !== null) {\n this._parents.push(parent);\n }\n }\n\n public get runtimeInstance(): rc.ViewModelInstance | null {\n return this._runtimeInstance;\n }\n\n public get nativeInstance(): rc.ViewModelInstance | null {\n return this._runtimeInstance;\n }\n\n public handleCallbacks() {\n if (this._propertiesWithCallbacks.length !== 0) {\n this._propertiesWithCallbacks.forEach((property) => {\n property.handleCallbacks();\n });\n this._propertiesWithCallbacks.forEach((property) => {\n property.clearChanges();\n });\n }\n this._children.forEach((child) => child.handleCallbacks());\n }\n\n public addParent(parent: ViewModelInstance) {\n if (!this._parents.includes(parent)) {\n this._parents.push(parent);\n if (\n this._propertiesWithCallbacks.length > 0 ||\n this._children.length > 0\n ) {\n parent.addToViewModelCallbacks(this);\n }\n }\n }\n\n public removeParent(parent: ViewModelInstance) {\n const index = this._parents.indexOf(parent);\n if (index !== -1) {\n const parent = this._parents[index];\n parent.removeFromViewModelCallbacks(this);\n this._parents.splice(index, 1);\n }\n }\n\n /*\n * method for internal use, it shouldn't be called externally\n */\n public addToPropertyCallbacks(property: ViewModelInstanceValue) {\n if (!this._propertiesWithCallbacks.includes(property)) {\n this._propertiesWithCallbacks.push(property);\n if (this._propertiesWithCallbacks.length > 0) {\n this._parents.forEach((parent) => {\n parent.addToViewModelCallbacks(this);\n });\n }\n }\n }\n\n /*\n * method for internal use, it shouldn't be called externally\n */\n public removeFromPropertyCallbacks(property: ViewModelInstanceValue) {\n if (this._propertiesWithCallbacks.includes(property)) {\n this._propertiesWithCallbacks = this._propertiesWithCallbacks.filter(\n (prop) => prop !== property,\n );\n if (\n this._children.length === 0 &&\n this._propertiesWithCallbacks.length === 0\n ) {\n this._parents.forEach((parent) => {\n parent.removeFromViewModelCallbacks(this);\n });\n }\n }\n }\n\n /*\n * method for internal use, it shouldn't be called externally\n */\n public addToViewModelCallbacks(instance: ViewModelInstance) {\n if (!this._children.includes(instance)) {\n this._children.push(instance);\n this._parents.forEach((parent) => {\n parent.addToViewModelCallbacks(this);\n });\n }\n }\n\n /*\n * method for internal use, it shouldn't be called externally\n */\n public removeFromViewModelCallbacks(instance: ViewModelInstance) {\n if (this._children.includes(instance)) {\n this._children = this._children.filter((child) => child !== instance);\n if (\n this._children.length === 0 &&\n this._propertiesWithCallbacks.length === 0\n ) {\n this._parents.forEach((parent) => {\n parent.removeFromViewModelCallbacks(this);\n });\n }\n }\n }\n\n private clearCallbacks() {\n this._propertiesWithCallbacks.forEach((property) => {\n property.clearCallbacks();\n });\n }\n\n private propertyFromPath(\n path: string,\n type: PropertyType,\n ): ViewModelInstanceValue | null {\n const pathSegments = path.split(\"/\");\n return this.propertyFromPathSegments(pathSegments, 0, type);\n }\n\n private viewModelFromPathSegments(\n pathSegments: string[],\n index: number,\n ): ViewModelInstance | null {\n const viewModelInstance = this.internalViewModelInstance(\n pathSegments[index],\n );\n if (viewModelInstance !== null) {\n if (index == pathSegments.length - 1) {\n return viewModelInstance;\n } else {\n return viewModelInstance.viewModelFromPathSegments(\n pathSegments,\n index++,\n );\n }\n }\n return null;\n }\n\n private propertyFromPathSegments(\n pathSegments: string[],\n index: number,\n type: PropertyType,\n ): ViewModelInstanceValue | null {\n if (index < pathSegments.length - 1) {\n const viewModelInstance = this.internalViewModelInstance(\n pathSegments[index],\n );\n if (viewModelInstance !== null) {\n return viewModelInstance.propertyFromPathSegments(\n pathSegments,\n index + 1,\n type,\n );\n } else {\n return null;\n }\n }\n let instance: rc.ViewModelInstanceValue | null = null;\n switch (type) {\n case PropertyType.Number:\n instance = this._runtimeInstance?.number(pathSegments[index]) ?? null;\n if (instance !== null) {\n return new ViewModelInstanceNumber(\n instance as rc.ViewModelInstanceNumber,\n this,\n );\n }\n break;\n case PropertyType.String:\n instance = this._runtimeInstance?.string(pathSegments[index]) ?? null;\n if (instance !== null) {\n return new ViewModelInstanceString(\n instance as rc.ViewModelInstanceString,\n this,\n );\n }\n break;\n case PropertyType.Boolean:\n instance = this._runtimeInstance?.boolean(pathSegments[index]) ?? null;\n if (instance !== null) {\n return new ViewModelInstanceBoolean(\n instance as rc.ViewModelInstanceBoolean,\n this,\n );\n }\n break;\n case PropertyType.Color:\n instance = this._runtimeInstance?.color(pathSegments[index]) ?? null;\n if (instance !== null) {\n return new ViewModelInstanceColor(\n instance as rc.ViewModelInstanceColor,\n this,\n );\n }\n break;\n case PropertyType.Trigger:\n instance = this._runtimeInstance?.trigger(pathSegments[index]) ?? null;\n if (instance !== null) {\n return new ViewModelInstanceTrigger(\n instance as rc.ViewModelInstanceTrigger,\n this,\n );\n }\n break;\n case PropertyType.Enum:\n instance = this._runtimeInstance?.enum(pathSegments[index]) ?? null;\n if (instance !== null) {\n return new ViewModelInstanceEnum(\n instance as rc.ViewModelInstanceEnum,\n this,\n );\n }\n break;\n case PropertyType.List:\n instance = this._runtimeInstance?.list(pathSegments[index]) ?? null;\n if (instance !== null) {\n return new ViewModelInstanceList(\n instance as rc.ViewModelInstanceList,\n this,\n );\n }\n break;\n case PropertyType.Image:\n instance = this._runtimeInstance?.image(pathSegments[index]) ?? null;\n if (instance !== null) {\n return new ViewModelInstanceAssetImage(\n instance as rc.ViewModelInstanceAssetImage,\n this,\n );\n }\n break;\n case PropertyType.Font:\n instance = this._runtimeInstance?.font(pathSegments[index]) ?? null;\n if (instance !== null) {\n return new ViewModelInstanceAssetFont(\n instance as rc.ViewModelInstanceAssetFont,\n this,\n );\n }\n break;\n case PropertyType.Artboard:\n instance = this._runtimeInstance?.artboard(pathSegments[index]) ?? null;\n if (instance !== null) {\n return new ViewModelInstanceArtboard(\n instance as rc.ViewModelInstanceArtboard,\n this,\n );\n }\n break;\n }\n return null;\n }\n\n private internalViewModelInstance(name: string): ViewModelInstance | null {\n if (this._viewModelInstances.has(name)) {\n return this._viewModelInstances.get(name)!;\n }\n const viewModelRuntimeInstance = this._runtimeInstance?.viewModel(name);\n if (viewModelRuntimeInstance !== null) {\n const viewModelInstance = new ViewModelInstance(\n viewModelRuntimeInstance!,\n this,\n );\n createFinalization(viewModelInstance, viewModelRuntimeInstance);\n viewModelInstance.internalIncrementReferenceCount();\n this._viewModelInstances.set(name, viewModelInstance);\n return viewModelInstance;\n }\n return null;\n }\n\n /**\n * method to access a property instance of type number belonging\n * to the view model instance or to a nested view model instance\n * @param path - path to the number property\n */\n public number(path: string): ViewModelInstanceNumber | null {\n const viewmodelInstanceValue = this.propertyFromPath(\n path,\n PropertyType.Number,\n );\n return viewmodelInstanceValue as ViewModelInstanceNumber;\n }\n\n /**\n * method to access a property instance of type string belonging\n * to the view model instance or to a nested view model instance\n * @param path - path to the string property\n */\n public string(path: string): ViewModelInstanceString | null {\n const viewmodelInstanceValue = this.propertyFromPath(\n path,\n PropertyType.String,\n );\n return viewmodelInstanceValue as ViewModelInstanceString | null;\n }\n\n /**\n * method to access a property instance of type boolean belonging\n * to the view model instance or to a nested view model instance\n * @param path - path to the boolean property\n */\n public boolean(path: string): ViewModelInstanceBoolean | null {\n const viewmodelInstanceValue = this.propertyFromPath(\n path,\n PropertyType.Boolean,\n );\n return viewmodelInstanceValue as ViewModelInstanceBoolean | null;\n }\n\n /**\n * method to access a property instance of type color belonging\n * to the view model instance or to a nested view model instance\n * @param path - path to the ttrigger property\n */\n public color(path: string): ViewModelInstanceColor | null {\n const viewmodelInstanceValue = this.propertyFromPath(\n path,\n PropertyType.Color,\n );\n return viewmodelInstanceValue as ViewModelInstanceColor | null;\n }\n\n /**\n * method to access a property instance of type trigger belonging\n * to the view model instance or to a nested view model instance\n * @param path - path to the trigger property\n */\n public trigger(path: string): ViewModelInstanceTrigger | null {\n const viewmodelInstanceValue = this.propertyFromPath(\n path,\n PropertyType.Trigger,\n );\n return viewmodelInstanceValue as ViewModelInstanceTrigger | null;\n }\n\n /**\n * method to access a property instance of type enum belonging\n * to the view model instance or to a nested view model instance\n * @param path - path to the enum property\n */\n public enum(path: string): ViewModelInstanceEnum | null {\n const viewmodelInstanceValue = this.propertyFromPath(\n path,\n PropertyType.Enum,\n );\n return viewmodelInstanceValue as ViewModelInstanceEnum | null;\n }\n\n /**\n * method to access a property instance of type list belonging\n * to the view model instance or to a nested view model instance\n * @param path - path to the list property\n */\n public list(path: string): ViewModelInstanceList | null {\n const viewmodelInstanceValue = this.propertyFromPath(\n path,\n PropertyType.List,\n );\n return viewmodelInstanceValue as ViewModelInstanceList | null;\n }\n\n /**\n * method to access a view model property instance belonging\n * to the view model instance or to a nested view model instance\n * @param path - path to the image property\n */\n public image(path: string): ViewModelInstanceAssetImage | null {\n const viewmodelInstanceValue = this.propertyFromPath(\n path,\n PropertyType.Image,\n );\n return viewmodelInstanceValue as ViewModelInstanceAssetImage | null;\n }\n\n /**\n * method to access a view model property instance belonging\n * to the view model instance or to a nested view model instance\n * @param path - path to the font property\n */\n public font(path: string): ViewModelInstanceAssetFont | null {\n const viewmodelInstanceValue = this.propertyFromPath(\n path,\n PropertyType.Font,\n );\n return viewmodelInstanceValue as ViewModelInstanceAssetFont | null;\n }\n\n /**\n * method to access an artboard property instance belonging\n * to the view model instance or to a nested view model instance\n * @param path - path to the image property\n */\n public artboard(path: string): ViewModelInstanceArtboard | null {\n const viewmodelInstanceValue = this.propertyFromPath(\n path,\n PropertyType.Artboard,\n );\n return viewmodelInstanceValue as ViewModelInstanceArtboard | null;\n }\n\n /**\n * method to access a view model property instance belonging\n * to the view model instance or to a nested view model instance\n * @param path - path to the view model property\n */\n public viewModel(path: string): ViewModelInstance | null {\n const pathSegments = path.split(\"/\");\n const parentViewModelInstance =\n pathSegments.length > 1\n ? this.viewModelFromPathSegments(\n pathSegments.slice(0, pathSegments.length - 1),\n 0,\n )\n : this;\n if (parentViewModelInstance != null) {\n return parentViewModelInstance.internalViewModelInstance(\n pathSegments[pathSegments.length - 1],\n );\n }\n return null;\n }\n\n public internalReplaceViewModel(\n name: string,\n value: ViewModelInstance,\n ): boolean {\n if (value.runtimeInstance !== null) {\n const result =\n this._runtimeInstance?.replaceViewModel(name, value.runtimeInstance!) ||\n false;\n if (result) {\n value.internalIncrementReferenceCount();\n const oldInstance = this.internalViewModelInstance(name);\n if (oldInstance !== null) {\n oldInstance.removeParent(this);\n if (this._children.includes(oldInstance)) {\n this._children = this._children.filter(\n (child) => child !== oldInstance,\n );\n }\n oldInstance.cleanup();\n }\n this._viewModelInstances.set(name, value);\n value.addParent(this);\n }\n return result;\n }\n return false;\n }\n\n /**\n * method to replace a view model property with another view model value\n * @param path - path to the view model property\n * @param value - view model that will replace the original\n */\n public replaceViewModel(path: string, value: ViewModelInstance): boolean {\n const pathSegments = path.split(\"/\");\n const viewModelInstance =\n pathSegments.length > 1\n ? this.viewModelFromPathSegments(\n pathSegments.slice(0, pathSegments.length - 1),\n 0,\n )\n : this;\n return (\n viewModelInstance?.internalReplaceViewModel(\n pathSegments[pathSegments.length - 1],\n value,\n ) ?? false\n );\n }\n\n /*\n * method to add one to the reference counter of the instance.\n * Use if the file owning the reference is destroyed but the instance needs to stay around\n */\n public incrementReferenceCount() {\n this._referenceCount++;\n this._runtimeInstance?.incrementReferenceCount();\n }\n\n /*\n * method to subtract one to the reference counter of the instance.\n * Use if incrementReferenceCount has been called\n */\n public decrementReferenceCount() {\n this._referenceCount--;\n this._runtimeInstance?.decrementReferenceCount();\n }\n\n public get properties(): rc.ViewModelProperty[] {\n return (\n this._runtimeInstance?.getProperties().map((prop) => ({ ...prop })) || []\n );\n }\n\n /**\n * Get the name of the ViewModel definition this instance was created from.\n */\n public get viewModelName(): string {\n return this._runtimeInstance?.getViewModelName() ?? \"\";\n }\n\n public internalIncrementReferenceCount() {\n this._referenceCount++;\n }\n\n public cleanup() {\n this._referenceCount--;\n if (this._referenceCount <= 0) {\n if (this.selfUnref) {\n this._runtimeInstance?.unref();\n }\n this._runtimeInstance = null;\n this.clearCallbacks();\n this._propertiesWithCallbacks = [];\n this._viewModelInstances.forEach((value) => {\n value.cleanup();\n });\n this._viewModelInstances.clear();\n const children = [...this._children];\n this._children.length = 0;\n const parents = [...this._parents];\n this._parents.length = 0;\n children.forEach((child) => {\n child.removeParent(this);\n });\n parents.forEach((parent) => {\n parent.removeFromViewModelCallbacks(this);\n });\n }\n }\n}\n\nexport class ViewModelInstanceValue {\n protected _parentViewModel: ViewModelInstance;\n protected callbacks: EventCallback[] = [];\n protected _viewModelInstanceValue: rc.ViewModelInstanceValue;\n constructor(instance: rc.ViewModelInstanceValue, parent: ViewModelInstance) {\n this._viewModelInstanceValue = instance;\n this._parentViewModel = parent;\n }\n\n public on(callback: EventCallback) {\n // Since we don't clean the changed flag for properties that don't have listeners,\n // we clean it the first time we add a listener to it\n if (this.callbacks.length === 0) {\n this._viewModelInstanceValue.clearChanges();\n }\n if (!this.callbacks.includes(callback)) {\n this.callbacks.push(callback);\n this._parentViewModel.addToPropertyCallbacks(this);\n }\n }\n public off(callback?: EventCallback) {\n if (!callback) {\n this.callbacks.length = 0;\n } else {\n this.callbacks = this.callbacks.filter((cb) => cb !== callback);\n }\n if (this.callbacks.length === 0) {\n this._parentViewModel.removeFromPropertyCallbacks(this);\n }\n }\n public internalHandleCallback(callback: Function) {}\n\n public handleCallbacks() {\n if (this._viewModelInstanceValue.hasChanged) {\n this.callbacks.forEach((callback) => {\n this.internalHandleCallback(callback);\n });\n }\n }\n\n public clearChanges() {\n this._viewModelInstanceValue.clearChanges();\n }\n\n public clearCallbacks() {\n this.callbacks.length = 0;\n }\n\n public get name() {\n return this._viewModelInstanceValue.name;\n }\n}\n\nexport class ViewModelInstanceString extends ViewModelInstanceValue {\n constructor(instance: rc.ViewModelInstanceString, parent: ViewModelInstance) {\n super(instance, parent);\n }\n\n public get value(): string {\n return (this._viewModelInstanceValue as rc.ViewModelInstanceString).value;\n }\n\n public set value(val: string) {\n (this._viewModelInstanceValue as rc.ViewModelInstanceString).value = val;\n }\n public internalHandleCallback(callback: Function) {\n callback(this.value);\n }\n}\n\nexport class ViewModelInstanceNumber extends ViewModelInstanceValue {\n constructor(instance: rc.ViewModelInstanceNumber, parent: ViewModelInstance) {\n super(instance, parent);\n }\n\n public get value(): number {\n return (this._viewModelInstanceValue as rc.ViewModelInstanceNumber).value;\n }\n\n public set value(val: number) {\n (this._viewModelInstanceValue as rc.ViewModelInstanceNumber).value = val;\n }\n public internalHandleCallback(callback: Function) {\n callback(this.value);\n }\n}\n\nexport class ViewModelInstanceBoolean extends ViewModelInstanceValue {\n constructor(\n instance: rc.ViewModelInstanceBoolean,\n parent: ViewModelInstance,\n ) {\n super(instance, parent);\n }\n\n public get value(): boolean {\n return (this._viewModelInstanceValue as rc.ViewModelInstanceBoolean).value;\n }\n\n public set value(val: boolean) {\n (this._viewModelInstanceValue as rc.ViewModelInstanceBoolean).value = val;\n }\n public internalHandleCallback(callback: Function) {\n callback(this.value);\n }\n}\n\nexport class ViewModelInstanceTrigger extends ViewModelInstanceValue {\n constructor(\n instance: rc.ViewModelInstanceTrigger,\n parent: ViewModelInstance,\n ) {\n super(instance, parent);\n }\n\n public trigger(): void {\n return (\n this._viewModelInstanceValue as rc.ViewModelInstanceTrigger\n ).trigger();\n }\n\n public internalHandleCallback(callback: Function) {\n callback();\n }\n}\n\nexport class ViewModelInstanceEnum extends ViewModelInstanceValue {\n constructor(instance: rc.ViewModelInstanceEnum, parent: ViewModelInstance) {\n super(instance, parent);\n }\n\n public get value(): string {\n return (this._viewModelInstanceValue as rc.ViewModelInstanceEnum).value;\n }\n\n public set value(val: string) {\n (this._viewModelInstanceValue as rc.ViewModelInstanceEnum).value = val;\n }\n\n public set valueIndex(val: number) {\n (this._viewModelInstanceValue as rc.ViewModelInstanceEnum).valueIndex = val;\n }\n\n public get valueIndex(): number {\n return (this._viewModelInstanceValue as rc.ViewModelInstanceEnum)\n .valueIndex;\n }\n\n public get values(): string[] {\n return (this._viewModelInstanceValue as rc.ViewModelInstanceEnum).values;\n }\n\n public internalHandleCallback(callback: Function) {\n callback(this.value);\n }\n}\n\nexport class ViewModelInstanceList extends ViewModelInstanceValue {\n constructor(instance: rc.ViewModelInstanceList, parent: ViewModelInstance) {\n super(instance, parent);\n }\n\n public get length(): number {\n return (this._viewModelInstanceValue as rc.ViewModelInstanceList).size;\n }\n\n public addInstance(instance: ViewModelInstance) {\n if (instance.runtimeInstance != null) {\n (this._viewModelInstanceValue as rc.ViewModelInstanceList).addInstance(\n instance.runtimeInstance!,\n );\n instance.addParent(this._parentViewModel);\n }\n }\n\n public addInstanceAt(instance: ViewModelInstance, index: number): boolean {\n if (instance.runtimeInstance != null) {\n if (\n (\n this._viewModelInstanceValue as rc.ViewModelInstanceList\n ).addInstanceAt(instance.runtimeInstance!, index)\n ) {\n instance.addParent(this._parentViewModel);\n return true;\n }\n }\n return false;\n }\n\n public removeInstance(instance: ViewModelInstance) {\n if (instance.runtimeInstance != null) {\n (this._viewModelInstanceValue as rc.ViewModelInstanceList).removeInstance(\n instance.runtimeInstance!,\n );\n instance.removeParent(this._parentViewModel);\n }\n }\n\n public removeInstanceAt(index: number) {\n (this._viewModelInstanceValue as rc.ViewModelInstanceList).removeInstanceAt(\n index,\n );\n }\n\n public instanceAt(index: number): ViewModelInstance | null {\n const runtimeInstance = (\n this._viewModelInstanceValue as rc.ViewModelInstanceList\n ).instanceAt(index);\n if (runtimeInstance != null) {\n const viewModelInstance = new ViewModelInstance(\n runtimeInstance,\n this._parentViewModel,\n );\n createFinalization(viewModelInstance, runtimeInstance);\n return viewModelInstance;\n }\n return null;\n }\n\n public swap(a: number, b: number) {\n (this._viewModelInstanceValue as rc.ViewModelInstanceList).swap(a, b);\n }\n\n public internalHandleCallback(callback: Function) {\n callback();\n }\n}\n\nexport class ViewModelInstanceColor extends ViewModelInstanceValue {\n constructor(instance: rc.ViewModelInstanceColor, parent: ViewModelInstance) {\n super(instance, parent);\n }\n\n public get value(): number {\n return (this._viewModelInstanceValue as rc.ViewModelInstanceColor).value;\n }\n\n public set value(val: number) {\n (this._viewModelInstanceValue as rc.ViewModelInstanceColor).value = val;\n }\n\n public rgb(r: number, g: number, b: number) {\n (this._viewModelInstanceValue as rc.ViewModelInstanceColor).rgb(r, g, b);\n }\n\n public rgba(r: number, g: number, b: number, a: number) {\n (this._viewModelInstanceValue as rc.ViewModelInstanceColor).argb(\n a,\n r,\n g,\n b,\n );\n }\n\n public argb(a: number, r: number, g: number, b: number) {\n (this._viewModelInstanceValue as rc.ViewModelInstanceColor).argb(\n a,\n r,\n g,\n b,\n );\n }\n\n // Value 0 to 255\n public alpha(a: number) {\n (this._viewModelInstanceValue as rc.ViewModelInstanceColor).alpha(a);\n }\n\n // Value 0 to 1\n public opacity(o: number) {\n (this._viewModelInstanceValue as rc.ViewModelInstanceColor).alpha(\n Math.round(Math.max(0, Math.min(1, o)) * 255),\n );\n }\n public internalHandleCallback(callback: Function) {\n callback(this.value);\n }\n}\n\nexport class ViewModelInstanceAssetImage extends ViewModelInstanceValue {\n constructor(\n instance: rc.ViewModelInstanceAssetImage,\n root: ViewModelInstance,\n ) {\n super(instance, root);\n }\n\n public set value(image: rc.Image | null) {\n (this._viewModelInstanceValue as rc.ViewModelInstanceAssetImage).value(\n image?.nativeImage ?? null,\n );\n }\n\n public internalHandleCallback(callback: Function) {\n callback();\n }\n}\n\nexport class ViewModelInstanceAssetFont extends ViewModelInstanceValue {\n constructor(\n instance: rc.ViewModelInstanceAssetFont,\n root: ViewModelInstance,\n ) {\n super(instance, root);\n }\n\n public set value(font: rc.Font | null) {\n (this._viewModelInstanceValue as rc.ViewModelInstanceAssetFont).value(\n font?.nativeFont ?? null,\n );\n }\n\n public internalHandleCallback(callback: Function) {\n callback();\n }\n}\n\nexport class ViewModelInstanceArtboard extends ViewModelInstanceValue {\n constructor(instance: rc.ViewModelInstanceArtboard, root: ViewModelInstance) {\n super(instance, root);\n }\n\n public set value(artboard: BaseArtboard | null) {\n let bindableArtboard: BindableArtboard;\n if (artboard.isBindableArtboard) {\n bindableArtboard = artboard as BindableArtboard;\n } else {\n bindableArtboard = (\n artboard as Artboard\n ).file.internalBindableArtboardFromArtboard(\n (artboard as Artboard).nativeArtboard,\n );\n }\n (this._viewModelInstanceValue as rc.ViewModelInstanceArtboard).value(\n bindableArtboard?.nativeArtboard ?? null,\n );\n if (bindableArtboard?.nativeViewModel) {\n (\n this._viewModelInstanceValue as rc.ViewModelInstanceArtboard\n ).viewModelInstance(bindableArtboard?.nativeViewModel ?? null);\n }\n }\n\n public internalHandleCallback(callback: Function) {\n callback();\n }\n}\n\n/**\n * Contents of a state machine input\n */\ninterface StateMachineInputContents {\n name: string;\n type: StateMachineInputType;\n initialValue?: boolean | number;\n}\n\n/**\n * Contents of a state machine\n */\ninterface StateMachineContents {\n name: string;\n inputs: StateMachineInputContents[];\n}\n\n/**\n * Contents of an artboard\n */\ninterface ArtboardContents {\n animations: string[];\n stateMachines: StateMachineContents[];\n name: string;\n}\n\n/**\n * contents of a Rive file\n */\ninterface RiveFileContents {\n artboards?: ArtboardContents[];\n}\n\n// Loads Rive data from a URI via fetch.\nconst loadRiveFile = async (src: string): Promise<ArrayBuffer> => {\n const req = new Request(src);\n const res = await fetch(req);\n if (!res.ok) {\n throw new Error(`Failed to fetch the Rive file: HTTP ${res.status}`);\n }\n const buffer = await res.arrayBuffer();\n return buffer;\n};\n\n// #endregion\n\n// #region utility functions\n\n/*\n * Utility function to ensure an object is a string array\n */\nconst mapToStringArray = (obj?: string[] | string | undefined): string[] => {\n if (typeof obj === \"string\") {\n return [obj];\n } else if (obj instanceof Array) {\n return obj;\n }\n // If obj is undefined, return empty array\n return [];\n};\n\n// #endregion\n\n// #region testing utilities\n\n// Exports to only be used for tests\nexport const Testing = {\n EventManager: EventManager,\n TaskQueueManager: TaskQueueManager,\n};\n\n// #endregion\n\n// #region asset loaders\n\n/**\n * Decodes bytes into an audio asset.\n *\n * Be sure to call `.unref()` on the audio once it is no longer needed. This\n * allows the engine to clean it up when it is not used by any more animations.\n */\nexport const decodeAudio = async (\n bytes: Uint8Array,\n): Promise<AudioWrapper> => {\n const decodedPromise = new Promise<rc.Audio>((resolve) =>\n RuntimeLoader.getInstance((rive: rc.RiveCanvas): void => {\n rive.decodeAudio(bytes, resolve, null);\n }),\n );\n const audio: rc.Audio = await decodedPromise;\n const audioWrapper = new AudioWrapper(audio);\n finalizationRegistry.register(audioWrapper, audio);\n return audioWrapper;\n};\n\n/**\n * Decodes bytes into an image.\n *\n * Be sure to call `.unref()` on the image once it is no longer needed. This\n * allows the engine to clean it up when it is not used by any more animations.\n */\nexport const decodeImage = async (\n bytes: Uint8Array,\n): Promise<ImageWrapper> => {\n // Immediate-typed on purpose, even for deferred files: the recorder routes\n // images it didn't make through the session's ForeignImageRegistry at draw,\n // so callers never need to know which mode their file imported in.\n const decodedPromise = new Promise<rc.Image>((resolve) =>\n RuntimeLoader.getInstance((rive: rc.RiveCanvas): void => {\n rive.decodeImage(bytes, resolve, null);\n }),\n );\n const image: rc.Image = await decodedPromise;\n const imageWrapper = new ImageWrapper(image);\n finalizationRegistry.register(imageWrapper, image);\n return imageWrapper;\n};\n\n/**\n * Decodes bytes into a font.\n *\n * Be sure to call `.unref()` on the font once it is no longer needed. This\n * allows the engine to clean it up when it is not used by any more animations.\n */\nexport const decodeFont = async (\n bytes: Uint8Array,\n): Promise<FontWrapper> => {\n const decodedPromise = new Promise<rc.Font>((resolve) =>\n RuntimeLoader.getInstance((rive: rc.RiveCanvas): void => {\n rive.decodeFont(bytes, resolve, null);\n }),\n );\n const font: rc.Font = await decodedPromise;\n const fontWrapper = new FontWrapper(font);\n finalizationRegistry.register(fontWrapper, font);\n return fontWrapper;\n};\n\n// #endregion\n"],"names":[],"sourceRoot":""}