canvasengine 2.0.0-beta.60 → 2.0.0-beta.61
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/dist/components/Canvas.d.ts.map +1 -1
- package/dist/components/Graphic.d.ts.map +1 -1
- package/dist/components/Text.d.ts +2 -3
- package/dist/components/Text.d.ts.map +1 -1
- package/dist/directives/Scheduler.d.ts +1 -0
- package/dist/directives/Scheduler.d.ts.map +1 -1
- package/dist/engine/bootstrap.d.ts +8 -4
- package/dist/engine/bootstrap.d.ts.map +1 -1
- package/dist/engine/reactive.d.ts +1 -0
- package/dist/engine/reactive.d.ts.map +1 -1
- package/dist/engine/signal.d.ts +3 -1
- package/dist/engine/signal.d.ts.map +1 -1
- package/dist/index.global.js +6 -3
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +6134 -1194
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
- package/src/components/Canvas.ts +24 -9
- package/src/components/DisplayObject.ts +3 -0
- package/src/components/Graphic.ts +16 -11
- package/src/components/Text.ts +151 -14
- package/src/directives/Scheduler.ts +9 -1
- package/src/engine/bootstrap.ts +57 -13
- package/src/engine/reactive.ts +1 -1
- package/src/engine/signal.ts +136 -30
package/dist/index.global.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
var CanvasEngine=(function(e,t){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var n=Object.create,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,c=(e,t)=>()=>(e&&(t=e(e=0)),t),l=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),u=(e,t)=>{let n={};for(var i in e)r(n,i,{get:e[i],enumerable:!0});return t||r(n,Symbol.toStringTag,{value:`Module`}),n},d=(e,t,n,o)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=a(t),l=0,u=c.length,d;l<u;l++)d=c[l],!s.call(e,d)&&d!==n&&r(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(o=i(t,d))||o.enumerable});return e},f=(e,t,i)=>(i=e==null?{}:n(o(e)),d(t||!e||!e.__esModule?r(i,`default`,{value:e,enumerable:!0}):i,e));t=f(t,1);var p=function(e,t){return p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},p(e,t)};function m(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Class extends value `+String(t)+` is not a constructor or null`);p(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function h(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}function g(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o=Object.create((typeof Iterator==`function`?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}function _(e){var t=typeof Symbol==`function`&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length==`number`)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)}function v(e,t){var n=typeof Symbol==`function`&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,a=[],o;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function y(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}function b(e){return this instanceof b?(this.v=e,this):new b(e)}function x(e,t,n){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var r=n.apply(e,t||[]),i,a=[];return i=Object.create((typeof AsyncIterator==`function`?AsyncIterator:Object).prototype),s(`next`),s(`throw`),s(`return`,o),i[Symbol.asyncIterator]=function(){return this},i;function o(e){return function(t){return Promise.resolve(t).then(e,d)}}function s(e,t){r[e]&&(i[e]=function(t){return new Promise(function(n,r){a.push([e,t,n,r])>1||c(e,t)})},t&&(i[e]=t(i[e])))}function c(e,t){try{l(r[e](t))}catch(e){f(a[0][3],e)}}function l(e){e.value instanceof b?Promise.resolve(e.value.v).then(u,d):f(a[0][2],e)}function u(e){c(`next`,e)}function d(e){c(`throw`,e)}function f(e,t){e(t),a.shift(),a.length&&c(a[0][0],a[0][1])}}function
|
|
1
|
+
var CanvasEngine=(function(e,t){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var n=Object.create,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,c=(e,t)=>()=>(e&&(t=e(e=0)),t),l=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),u=(e,t)=>{let n={};for(var i in e)r(n,i,{get:e[i],enumerable:!0});return t||r(n,Symbol.toStringTag,{value:`Module`}),n},d=(e,t,n,o)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=a(t),l=0,u=c.length,d;l<u;l++)d=c[l],!s.call(e,d)&&d!==n&&r(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(o=i(t,d))||o.enumerable});return e},f=(e,t,i)=>(i=e==null?{}:n(o(e)),d(t||!e||!e.__esModule?r(i,`default`,{value:e,enumerable:!0}):i,e));t=f(t,1);var p=function(e,t){return p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},p(e,t)};function m(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Class extends value `+String(t)+` is not a constructor or null`);p(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function h(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}function g(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o=Object.create((typeof Iterator==`function`?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}function _(e){var t=typeof Symbol==`function`&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length==`number`)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)}function v(e,t){var n=typeof Symbol==`function`&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,a=[],o;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function y(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}function b(e){return this instanceof b?(this.v=e,this):new b(e)}function x(e,t,n){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var r=n.apply(e,t||[]),i,a=[];return i=Object.create((typeof AsyncIterator==`function`?AsyncIterator:Object).prototype),s(`next`),s(`throw`),s(`return`,o),i[Symbol.asyncIterator]=function(){return this},i;function o(e){return function(t){return Promise.resolve(t).then(e,d)}}function s(e,t){r[e]&&(i[e]=function(t){return new Promise(function(n,r){a.push([e,t,n,r])>1||c(e,t)})},t&&(i[e]=t(i[e])))}function c(e,t){try{l(r[e](t))}catch(e){f(a[0][3],e)}}function l(e){e.value instanceof b?Promise.resolve(e.value.v).then(u,d):f(a[0][2],e)}function u(e){c(`next`,e)}function d(e){c(`throw`,e)}function f(e,t){e(t),a.shift(),a.length&&c(a[0][0],a[0][1])}}function S(e){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof _==`function`?_(e):e[Symbol.iterator](),n={},r(`next`),r(`throw`),r(`return`),n[Symbol.asyncIterator]=function(){return this},n);function r(t){n[t]=e[t]&&function(n){return new Promise(function(r,a){n=e[t](n),i(r,a,n.done,n.value)})}}function i(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)}}function C(e){return typeof e==`function`}function ee(e){var t=e(function(e){Error.call(e),e.stack=Error().stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var w=ee(function(e){return function(t){e(this),this.message=t?t.length+` errors occurred during unsubscription:
|
|
2
2
|
`+t.map(function(e,t){return t+1+`) `+e.toString()}).join(`
|
|
3
|
-
`):``,this.name=`UnsubscriptionError`,this.errors=t}});function re(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}}var ie=function(){function e(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var e,t,n,r,i;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var o=_(a),s=o.next();!s.done;s=o.next())s.value.remove(this)}catch(t){e={error:t}}finally{try{s&&!s.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}else a.remove(this);var c=this.initialTeardown;if(S(c))try{c()}catch(e){i=e instanceof ne?e.errors:[e]}var l=this._finalizers;if(l){this._finalizers=null;try{for(var u=_(l),d=u.next();!d.done;d=u.next()){var f=d.value;try{se(f)}catch(e){i??=[],e instanceof ne?i=y(y([],v(i)),v(e.errors)):i.push(e)}}}catch(e){n={error:e}}finally{try{d&&!d.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}}if(i)throw new ne(i)}},e.prototype.add=function(t){if(t&&t!==this)if(this.closed)se(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=this._finalizers??[]).push(t)}},e.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},e.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},e.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&re(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&re(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=(function(){var t=new e;return t.closed=!0,t})(),e}(),ae=ie.EMPTY;function oe(e){return e instanceof ie||e&&`closed`in e&&S(e.remove)&&S(e.add)&&S(e.unsubscribe)}function se(e){S(e)?e():e.unsubscribe()}var C={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},ce={setTimeout:function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=ce.delegate;return i?.setTimeout?i.setTimeout.apply(i,y([e,t],v(n))):setTimeout.apply(void 0,y([e,t],v(n)))},clearTimeout:function(e){return(ce.delegate?.clearTimeout||clearTimeout)(e)},delegate:void 0};function le(e){ce.setTimeout(function(){var t=C.onUnhandledError;if(t)t(e);else throw e})}function ue(){}var de=(function(){return me(`C`,void 0,void 0)})();function fe(e){return me(`E`,void 0,e)}function pe(e){return me(`N`,e,void 0)}function me(e,t,n){return{kind:e,value:t,error:n}}var he=null;function w(e){if(C.useDeprecatedSynchronousErrorHandling){var t=!he;if(t&&(he={errorThrown:!1,error:null}),e(),t){var n=he,r=n.errorThrown,i=n.error;if(he=null,r)throw i}}else e()}function ge(e){C.useDeprecatedSynchronousErrorHandling&&he&&(he.errorThrown=!0,he.error=e)}var _e=function(e){m(t,e);function t(t){var n=e.call(this)||this;return n.isStopped=!1,t?(n.destination=t,oe(t)&&t.add(n)):n.destination=Ce,n}return t.create=function(e,t,n){return new be(e,t,n)},t.prototype.next=function(e){this.isStopped?E(pe(e),this):this._next(e)},t.prototype.error=function(e){this.isStopped?E(fe(e),this):(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped?E(de,this):(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){try{this.destination.error(e)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(ie),ve=Function.prototype.bind;function T(e,t){return ve.call(e,t)}var ye=function(){function e(e){this.partialObserver=e}return e.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(e){xe(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){xe(e)}else xe(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){xe(e)}},e}(),be=function(e){m(t,e);function t(t,n,r){var i=e.call(this)||this,a;if(S(t)||!t)a={next:t??void 0,error:n??void 0,complete:r??void 0};else{var o;i&&C.useDeprecatedNextContext?(o=Object.create(t),o.unsubscribe=function(){return i.unsubscribe()},a={next:t.next&&T(t.next,o),error:t.error&&T(t.error,o),complete:t.complete&&T(t.complete,o)}):a=t}return i.destination=new ye(a),i}return t}(_e);function xe(e){C.useDeprecatedSynchronousErrorHandling?ge(e):le(e)}function Se(e){throw e}function E(e,t){var n=C.onStoppedNotification;n&&ce.setTimeout(function(){return n(e,t)})}var Ce={closed:!0,next:ue,error:Se,complete:ue},we=(function(){return typeof Symbol==`function`&&Symbol.observable||`@@observable`})();function Te(e){return e}function Ee(e){return e.length===0?Te:e.length===1?e[0]:function(t){return e.reduce(function(e,t){return t(e)},t)}}var D=function(){function e(e){e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r=this,i=ke(e)?e:new be(e,t,n);return w(function(){var e=r,t=e.operator,n=e.source;i.add(t?t.call(i,n):n?r._subscribe(i):r._trySubscribe(i))}),i},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return t=De(t),new t(function(t,r){var i=new be({next:function(t){try{e(t)}catch(e){r(e),i.unsubscribe()}},error:r,complete:t});n.subscribe(i)})},e.prototype._subscribe=function(e){return this.source?.subscribe(e)},e.prototype[we]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Ee(e)(this)},e.prototype.toPromise=function(e){var t=this;return e=De(e),new e(function(e,n){var r;t.subscribe(function(e){return r=e},function(e){return n(e)},function(){return e(r)})})},e.create=function(t){return new e(t)},e}();function De(e){return e??C.Promise??Promise}function Oe(e){return e&&S(e.next)&&S(e.error)&&S(e.complete)}function ke(e){return e&&e instanceof _e||Oe(e)&&oe(e)}function Ae(e){return S(e?.lift)}function je(e){return function(t){if(Ae(t))return t.lift(function(t){try{return e(t,this)}catch(e){this.error(e)}});throw TypeError(`Unable to lift unknown Observable type`)}}function Me(e,t,n,r,i){return new Ne(e,t,n,r,i)}var Ne=function(e){m(t,e);function t(t,n,r,i,a,o){var s=e.call(this,t)||this;return s.onFinalize=a,s.shouldUnsubscribe=o,s._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,s._error=i?function(e){try{i(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,s._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,s}return t.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&((t=this.onFinalize)==null||t.call(this))}},t}(_e),Pe=te(function(e){return function(){e(this),this.name=`ObjectUnsubscribedError`,this.message=`object unsubscribed`}}),Fe=function(e){m(t,e);function t(){var t=e.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return t.prototype.lift=function(e){var t=new Ie(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new Pe},t.prototype.next=function(e){var t=this;w(function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||=Array.from(t.observers);try{for(var i=_(t.currentObservers),a=i.next();!a.done;a=i.next())a.value.next(e)}catch(e){n={error:e}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}})},t.prototype.error=function(e){var t=this;w(function(){if(t._throwIfClosed(),!t.isStopped){t.hasError=t.isStopped=!0,t.thrownError=e;for(var n=t.observers;n.length;)n.shift().error(e)}})},t.prototype.complete=function(){var e=this;w(function(){if(e._throwIfClosed(),!e.isStopped){e.isStopped=!0;for(var t=e.observers;t.length;)t.shift().complete()}})},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,`observed`,{get:function(){return this.observers?.length>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,n=this,r=n.hasError,i=n.isStopped,a=n.observers;return r||i?ae:(this.currentObservers=null,a.push(e),new ie(function(){t.currentObservers=null,re(a,e)}))},t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t.hasError,r=t.thrownError,i=t.isStopped;n?e.error(r):i&&e.complete()},t.prototype.asObservable=function(){var e=new D;return e.source=this,e},t.create=function(e,t){return new Ie(e,t)},t}(D),Ie=function(e){m(t,e);function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return t.prototype.next=function(e){var t,n;(n=(t=this.destination)?.next)==null||n.call(t,e)},t.prototype.error=function(e){var t,n;(n=(t=this.destination)?.error)==null||n.call(t,e)},t.prototype.complete=function(){var e,t;(t=(e=this.destination)?.complete)==null||t.call(e)},t.prototype._subscribe=function(e){return this.source?.subscribe(e)??ae},t}(Fe),Le=function(e){m(t,e);function t(t){var n=e.call(this)||this;return n._value=t,n}return Object.defineProperty(t.prototype,`value`,{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){var e=this,t=e.hasError,n=e.thrownError,r=e._value;if(t)throw n;return this._throwIfClosed(),r},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(Fe),Re={now:function(){return(Re.delegate||Date).now()},delegate:void 0},ze=function(e){m(t,e);function t(t,n,r){t===void 0&&(t=1/0),n===void 0&&(n=1/0),r===void 0&&(r=Re);var i=e.call(this)||this;return i._bufferSize=t,i._windowTime=n,i._timestampProvider=r,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=n===1/0,i._bufferSize=Math.max(1,t),i._windowTime=Math.max(1,n),i}return t.prototype.next=function(t){var n=this,r=n.isStopped,i=n._buffer,a=n._infiniteTimeWindow,o=n._timestampProvider,s=n._windowTime;r||(i.push(t),!a&&i.push(o.now()+s)),this._trimBuffer(),e.prototype.next.call(this,t)},t.prototype._subscribe=function(e){this._throwIfClosed(),this._trimBuffer();for(var t=this._innerSubscribe(e),n=this,r=n._infiniteTimeWindow,i=n._buffer.slice(),a=0;a<i.length&&!e.closed;a+=r?1:2)e.next(i[a]);return this._checkFinalizedStatuses(e),t},t.prototype._trimBuffer=function(){var e=this,t=e._bufferSize,n=e._timestampProvider,r=e._buffer,i=e._infiniteTimeWindow,a=(i?1:2)*t;if(t<1/0&&a<r.length&&r.splice(0,r.length-a),!i){for(var o=n.now(),s=0,c=1;c<r.length&&r[c]<=o;c+=2)s=c;s&&r.splice(0,s+1)}},t}(Fe);function Be(e){return e&&S(e.schedule)}function Ve(e){return e[e.length-1]}function He(e){return S(Ve(e))?e.pop():void 0}function Ue(e){return Be(Ve(e))?e.pop():void 0}var We=(function(e){return e&&typeof e.length==`number`&&typeof e!=`function`});function Ge(e){return S(e?.then)}function Ke(e){return S(e[we])}function qe(e){return Symbol.asyncIterator&&S(e?.[Symbol.asyncIterator])}function Je(e){return TypeError(`You provided `+(typeof e==`object`&&e?`an invalid object`:`'`+e+`'`)+` where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}function Ye(){return typeof Symbol!=`function`||!Symbol.iterator?`@@iterator`:Symbol.iterator}var Xe=Ye();function Ze(e){return S(e?.[Xe])}function Qe(e){return x(this,arguments,function(){var t,n,r,i;return g(this,function(a){switch(a.label){case 0:t=e.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,b(t.read())];case 3:return n=a.sent(),r=n.value,i=n.done,i?[4,b(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,b(r)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function $e(e){return S(e?.getReader)}function et(e){if(e instanceof D)return e;if(e!=null){if(Ke(e))return tt(e);if(We(e))return nt(e);if(Ge(e))return rt(e);if(qe(e))return at(e);if(Ze(e))return it(e);if($e(e))return O(e)}throw Je(e)}function tt(e){return new D(function(t){var n=e[we]();if(S(n.subscribe))return n.subscribe(t);throw TypeError(`Provided object does not correctly implement Symbol.observable`)})}function nt(e){return new D(function(t){for(var n=0;n<e.length&&!t.closed;n++)t.next(e[n]);t.complete()})}function rt(e){return new D(function(t){e.then(function(e){t.closed||(t.next(e),t.complete())},function(e){return t.error(e)}).then(null,le)})}function it(e){return new D(function(t){var n,r;try{for(var i=_(e),a=i.next();!a.done;a=i.next()){var o=a.value;if(t.next(o),t.closed)return}}catch(e){n={error:e}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}t.complete()})}function at(e){return new D(function(t){ot(e,t).catch(function(e){return t.error(e)})})}function O(e){return at(Qe(e))}function ot(e,t){var n,r,i,a;return h(this,void 0,void 0,function(){var o,s;return g(this,function(c){switch(c.label){case 0:c.trys.push([0,5,6,11]),n=ee(e),c.label=1;case 1:return[4,n.next()];case 2:if(r=c.sent(),r.done)return[3,4];if(o=r.value,t.next(o),t.closed)return[2];c.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return s=c.sent(),i={error:s},[3,11];case 6:return c.trys.push([6,,9,10]),r&&!r.done&&(a=n.return)?[4,a.call(n)]:[3,8];case 7:c.sent(),c.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}})})}function k(e,t,n,r,i){r===void 0&&(r=0),i===void 0&&(i=!1);var a=t.schedule(function(){n(),i?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(a),!i)return a}function st(e,t){return t===void 0&&(t=0),je(function(n,r){n.subscribe(Me(r,function(n){return k(r,e,function(){return r.next(n)},t)},function(){return k(r,e,function(){return r.complete()},t)},function(n){return k(r,e,function(){return r.error(n)},t)}))})}function ct(e,t){return t===void 0&&(t=0),je(function(n,r){r.add(e.schedule(function(){return n.subscribe(r)},t))})}function lt(e,t){return et(e).pipe(ct(t),st(t))}function ut(e,t){return et(e).pipe(ct(t),st(t))}function dt(e,t){return new D(function(n){var r=0;return t.schedule(function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())})})}function ft(e,t){return new D(function(n){var r;return k(n,t,function(){r=e[Xe](),k(n,t,function(){var e,t,i;try{e=r.next(),t=e.value,i=e.done}catch(e){n.error(e);return}i?n.complete():n.next(t)},0,!0)}),function(){return S(r?.return)&&r.return()}})}function pt(e,t){if(!e)throw Error(`Iterable cannot be null`);return new D(function(n){k(n,t,function(){var r=e[Symbol.asyncIterator]();k(n,t,function(){r.next().then(function(e){e.done?n.complete():n.next(e.value)})},0,!0)})})}function mt(e,t){return pt(Qe(e),t)}function ht(e,t){if(e!=null){if(Ke(e))return lt(e,t);if(We(e))return dt(e,t);if(Ge(e))return ut(e,t);if(qe(e))return pt(e,t);if(Ze(e))return ft(e,t);if($e(e))return mt(e,t)}throw Je(e)}function gt(e,t){return t?ht(e,t):et(e)}function _t(e){return!!e&&(e instanceof D||S(e.lift)&&S(e.subscribe))}function vt(e,t){return je(function(n,r){var i=0;n.subscribe(Me(r,function(n){r.next(e.call(t,n,i++))}))})}var yt=Array.isArray;function bt(e,t){return yt(t)?e.apply(void 0,y([],v(t))):e(t)}function xt(e){return vt(function(t){return bt(e,t)})}var St=Array.isArray,Ct=Object.getPrototypeOf,wt=Object.prototype,Tt=Object.keys;function Et(e){if(e.length===1){var t=e[0];if(St(t))return{args:t,keys:null};if(Dt(t)){var n=Tt(t);return{args:n.map(function(e){return t[e]}),keys:n}}}return{args:e,keys:null}}function Dt(e){return e&&typeof e==`object`&&Ct(e)===wt}function Ot(e,t){return e.reduce(function(e,n,r){return e[n]=t[r],e},{})}function kt(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Ue(e),r=He(e),i=Et(e),a=i.args,o=i.keys;if(a.length===0)return gt([],n);var s=new D(At(a,n,o?function(e){return Ot(o,e)}:Te));return r?s.pipe(xt(r)):s}function At(e,t,n){return n===void 0&&(n=Te),function(r){jt(t,function(){for(var i=e.length,a=Array(i),o=i,s=i,c=function(i){jt(t,function(){var c=gt(e[i],t),l=!1;c.subscribe(Me(r,function(e){a[i]=e,l||(l=!0,s--),s||r.next(n(a.slice()))},function(){--o||r.complete()}))},r)},l=0;l<i;l++)c(l)},r)}}function jt(e,t,n){e?k(n,e,t):t()}function Mt(e){return new D(function(t){et(e()).subscribe(t)})}function Nt(e,t){return je(function(n,r){var i=0;n.subscribe(Me(r,function(n){return e.call(t,n,i++)&&r.next(n)}))})}function Pt(e){return je(function(t,n){try{t.subscribe(n)}finally{n.add(e)}})}function Ft(e){e===void 0&&(e={});var t=e.connector,n=t===void 0?function(){return new Fe}:t,r=e.resetOnError,i=r===void 0?!0:r,a=e.resetOnComplete,o=a===void 0?!0:a,s=e.resetOnRefCountZero,c=s===void 0?!0:s;return function(e){var t,r,a,s=0,l=!1,u=!1,d=function(){r?.unsubscribe(),r=void 0},f=function(){d(),t=a=void 0,l=u=!1},p=function(){var e=t;f(),e?.unsubscribe()};return je(function(e,m){s++,!u&&!l&&d();var h=a??=n();m.add(function(){s--,s===0&&!u&&!l&&(r=It(p,c))}),h.subscribe(m),!t&&s>0&&(t=new be({next:function(e){return h.next(e)},error:function(e){u=!0,d(),r=It(f,i,e),h.error(e)},complete:function(){l=!0,d(),r=It(f,o),h.complete()}}),et(e).subscribe(t))})(e)}}function It(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(t===!0){e();return}if(t!==!1){var i=new be({next:function(){i.unsubscribe(),e()}});return et(t.apply(void 0,y([],v(n)))).subscribe(i)}}function Lt(e,t,n){var r,i,a,o,s=!1;return e&&typeof e==`object`?(r=e.bufferSize,o=r===void 0?1/0:r,i=e.windowTime,t=i===void 0?1/0:i,a=e.refCount,s=a===void 0?!1:a,n=e.scheduler):o=e??1/0,Ft({connector:function(){return new ze(o,t,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:s})}var Rt=u({arrayEquals:()=>Ut,calculateDistance:()=>en,error:()=>Qt,fps2ms:()=>Vt,get:()=>Xt,isBrowser:()=>zt,isFunction:()=>Kt,isObject:()=>qt,isObservable:()=>Jt,isPromise:()=>Ht,log:()=>Zt,preciseNow:()=>Bt,set:()=>Yt,setObservablePoint:()=>$t});function zt(){return typeof window<`u`}function Bt(){return typeof performance<`u`?performance.now():Date.now()}function Vt(e){return 1e3/e}function Ht(e){return e&&e instanceof Promise}function Ut(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){let r=e[n],i=t[n];if(typeof r==`object`&&r){if(typeof i!=`object`||!i)return!1;if(Array.isArray(r)){if(!Array.isArray(i)||!Ut(r,i))return!1}else if(!Wt(r,i))return!1}else if(r!==i)return!1}return!0}function Wt(e,t){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!t.hasOwnProperty(r)||!Gt(e[r],t[r]))return!1;return!0}function Gt(e,t){return e===t?!0:typeof e==typeof t&&typeof e==`object`&&e?Array.isArray(e)?Array.isArray(t)&&Ut(e,t):Wt(e,t):!1}function Kt(e){return{}.toString.call(e)===`[object Function]`}function qt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&e.constructor===Object}function Jt(e){return e instanceof D}function Yt(e,t,n,r=!1){if(Object(e)!==e)return e;typeof t==`string`&&(t=t.split(`.`));let i=t.length;if(!i)return e;let a=e;for(let e=0;e<i-1;e++){let n=t[e],i=t[e+1],o=!isNaN(Number(i))&&isFinite(Number(i));(!a[n]||typeof a[n]!=`object`)&&(a[n]=o&&!r?[]:{}),a=a[n]}return a[t[i-1]]=n,e}function Xt(e,t){let n=t.split(`.`),r=e;for(let e of n){if(r[e]===void 0)return;r=r[e]}return r}function Zt(e){console.log(e)}function Qt(e){console.error(e)}function $t(e,t){typeof t==`number`?e.set(t):Array.isArray(t)?e.set(t[0],t[1]):qt(t)&&`value`in t?e.set(t.value.x,t.value.y):e.set(t.x,t.y)}function en(e,t,n,r){let i=e-n,a=t-r;return Math.sqrt(i*i+a*a)}var tn=class{constructor(){this.boundKeys={},this.stop=!1,this._controlsOptions={},this.serverFps=60}start(){this.setupListeners(),this.interval=setInterval(()=>{this.preStep()},Vt(this.serverFps??60))}destroy(){this.interval&&clearInterval(this.interval),this.cleanup()}bindKey(e,t,n,r){Array.isArray(e)||(e=[e]);let i=Object.assign({repeat:!1},n);e.forEach(e=>{this.boundKeys[e]={actionName:t,options:i,parameters:r}})}applyInput(e){let t=this.boundKeys[e];if(!t)return;let{repeat:n,keyDown:r}=t.options;if(r){let e=t.parameters;typeof e==`function`&&(e=e()),r(t)}}getControl(e){return this.boundKeys[e]}getControls(){return this.boundKeys}stopInputs(){this.stop=!0}listenInputs(){this.stop=!1}setInputs(e){if(e){this.boundKeys={};for(let t in e){let n=e[t],{bind:r}=n,i=r;Array.isArray(i)||(i=[r]);for(let e of i)this.bindKey(e,t,n)}this._controlsOptions=e}}get options(){return this._controlsOptions}},nn=function(e){return e.Break=`break`,e.Backspace=`backspace`,e.Tab=`tab`,e.Clear=`clear`,e.Enter=`enter`,e.Shift=`shift`,e.Ctrl=`ctrl`,e.Alt=`alt`,e.Pause=`pause/break`,e.CapsLock=`caps lock`,e.Escape=`escape`,e.Conversion=`conversion`,e.NonConversion=`non-conversion`,e.Space=`space`,e.PageUp=`page up`,e.PageDown=`page down`,e.End=`end`,e.Home=`home`,e[e.Left=4]=`Left`,e[e.Up=1]=`Up`,e[e.Right=2]=`Right`,e[e.Down=3]=`Down`,e.Select=`select`,e.Print=`print`,e.Execute=`execute`,e.PrintScreen=`Print Screen`,e.Insert=`insert`,e.Delete=`delete`,e.Zero=`0`,e.One=`1`,e.Two=`2`,e.Three=`3`,e.Four=`4`,e.Five=`5`,e.Six=`6`,e.Seven=`7`,e.Height=`8`,e.Nine=`9`,e.Equal=`=`,e.Semicolon=`semicolon (firefox), equals`,e.LessThan=`<`,e.Equals=`equals (firefox)`,e.Beta=`ß`,e.At=`@`,e.A=`a`,e.B=`b`,e.C=`c`,e.D=`d`,e.E=`e`,e.F=`f`,e.G=`g`,e.H=`h`,e.I=`i`,e.J=`j`,e.K=`k`,e.L=`l`,e.M=`m`,e.N=`n`,e.O=`o`,e.P=`p`,e.Q=`q`,e.R=`r`,e.S=`s`,e.T=`t`,e.U=`u`,e.V=`v`,e.W=`w`,e.X=`x`,e.Y=`y`,e.Z=`z`,e.SearchKey=`Windows Key / Left ⌘ / Chromebook Search key`,e.NumPad0=`numpad 0`,e.NumPad1=`numpad 1`,e.NumPad2=`numpad 2`,e.NumPad3=`numpad 3`,e.NumPad4=`numpad 4`,e.NumPad5=`numpad 5`,e.NumPad6=`numpad 6`,e.NumPad7=`numpad 7`,e.NumPad8=`numpad 8`,e.NumPad9=`numpad 9`,e.Multiply=`multiply`,e.Add=`add`,e.Subtract=`subtract`,e.DecimalPoint=`decimal point`,e.Divide=`divide`,e.F1=`f1`,e.F2=`f2`,e.F3=`f3`,e.F4=`f4`,e.F5=`f5`,e.F6=`f6`,e.F7=`f7`,e.F8=`f8`,e.F9=`f9`,e.F10=`f10`,e.F11=`f11`,e.F12=`f12`,e.F13=`f13`,e.F14=`f14`,e.F15=`f15`,e.F16=`f16`,e.F17=`f17`,e.F18=`f18`,e.F19=`f19`,e.F20=`f20`,e.F21=`f21`,e.F22=`f22`,e.F23=`f23`,e.F24=`f24`,e.NumLock=`num lock`,e.ScrollLock=`scroll lock`,e.CircumflexAccent=`^`,e.ExclamationMark=`!`,e.Hash=`#`,e.Dollar=`$`,e.AccentU=`ù`,e.PageBackward=`page backward`,e.PageForWard=`page forward`,e.Star=`*`,e.DecreaseVolume=`decrease volume level`,e.IncreaseVolume=`increase volume level`,e.Next=`next`,e.Previous=`previous`,e.Stop=`stop`,e.PlayPause=`play/pause`,e.Email=`e-mail`,e.SemiColon=`semi-colon / ñ`,e.EqualSign=`equal sign`,e.Comma=`comma`,e.Dash=`dash`,e.FowardSlach=`forward slash / ç`,e.GraveAccent=`grave accent / ñ / æ`,e.OpenBracket=`open bracket`,e.BackSlach=`back slash`,e.CloseBracket=`close bracket / å`,e.SingleQuote=`single quote / ø`,e.BackQuote="`",e.Altgr=`altgr`,e}({}),rn={3:`break`,8:`backspace`,9:`tab`,12:`clear`,13:`enter`,16:`shift`,17:`ctrl`,18:`alt`,19:`pause/break`,20:`caps lock`,27:`escape`,28:`conversion`,29:`non-conversion`,32:`space`,33:`page up`,34:`page down`,35:`end`,36:`home`,37:`left`,38:`up`,39:`right`,40:`down`,41:`select`,42:`print`,43:`execute`,44:`Print Screen`,45:`insert`,46:`delete`,48:`n0`,49:`n1`,50:`n2`,51:`n3`,52:`n4`,53:`n5`,54:`n6`,55:`n7`,56:`n8`,57:`n9`,58:`:`,59:`semicolon (firefox), equals`,60:`<`,61:`equals (firefox)`,63:`ß`,64:`@`,65:`a`,66:`b`,67:`c`,68:`d`,69:`e`,70:`f`,71:`g`,72:`h`,73:`i`,74:`j`,75:`k`,76:`l`,77:`m`,78:`n`,79:`o`,80:`p`,81:`q`,82:`r`,83:`s`,84:`t`,85:`u`,86:`v`,87:`w`,88:`x`,89:`y`,90:`z`,91:`Windows Key / Left ⌘ / Chromebook Search key`,92:`right window key`,93:`Windows Menu / Right ⌘`,96:`numpad 0`,97:`numpad 1`,98:`numpad 2`,99:`numpad 3`,100:`numpad 4`,101:`numpad 5`,102:`numpad 6`,103:`numpad 7`,104:`numpad 8`,105:`numpad 9`,106:`multiply`,107:`add`,108:`numpad period (firefox)`,109:`subtract`,110:`decimal point`,111:`divide`,112:`f1`,113:`f2`,114:`f3`,115:`f4`,116:`f5`,117:`f6`,118:`f7`,119:`f8`,120:`f9`,121:`f10`,122:`f11`,123:`f12`,124:`f13`,125:`f14`,126:`f15`,127:`f16`,128:`f17`,129:`f18`,130:`f19`,131:`f20`,132:`f21`,133:`f22`,134:`f23`,135:`f24`,144:`num lock`,145:`scroll lock`,160:`^`,161:`!`,163:`#`,164:`$`,165:`ù`,166:`page backward`,167:`page forward`,169:`closing paren (AZERTY)`,170:`*`,171:`~ + * key`,173:`minus (firefox), mute/unmute`,174:`decrease volume level`,175:`increase volume level`,176:`next`,177:`previous`,178:`stop`,179:`play/pause`,180:`e-mail`,181:`mute/unmute (firefox)`,182:`decrease volume level (firefox)`,183:`increase volume level (firefox)`,186:`semi-colon / ñ`,187:`equal sign`,188:`comma`,189:`dash`,190:`period`,191:`forward slash / ç`,192:`grave accent / ñ / æ`,193:`?, / or °`,194:`numpad period (chrome)`,219:`open bracket`,220:`back slash`,221:`close bracket / å`,222:`single quote / ø`,223:"`",224:`left or right ⌘ key (firefox)`,225:`altgr`,226:`< /git >`,230:`GNOME Compose Key`,231:`ç`,233:`XF86Forward`,234:`XF86Back`,240:`alphanumeric`,242:`hiragana/katakana`,243:`half-width/full-width`,244:`kanji`,255:`toggle touchpad`},an=(e=>{let t={};for(let n in e){let r=e[n];t[r]=n}return t})(rn),on=class extends tn{constructor(...e){super(...e),this.keyState={},this.lastKeyPressed=null,this.lastActionTimes={},this.directionState={up:!1,down:!1,left:!1,right:!1}}setupListeners(){document.addEventListener(`keydown`,e=>{this.onKeyChange(e,!0)}),document.addEventListener(`keyup`,e=>{this.onKeyChange(e,!1)})}cleanup(){document.removeEventListener(`keydown`,e=>{this.onKeyChange(e,!0)}),document.removeEventListener(`keyup`,e=>{this.onKeyChange(e,!1)})}preStep(){if(this.stop)return;let e=this.getDirection();if(e!==`none`){let t=this.boundKeys[e];if(t){let{keyDown:n}=t.options;n&&this.applyInput(e)}}else{let e=Object.keys(this.boundKeys);for(let t of e)this.applyInput(t)}}applyInput(e){let t=this.keyState[e];if(!t)return;let{isDown:n,count:r}=t;if(n){let t=this.boundKeys[e];if(!t)return;let{repeat:n,keyDown:i,throttle:a}=t.options;if(n||r==0){if(typeof a==`number`){let e=Date.now();if(e-(this.lastActionTimes[t.actionName]??0)<a)return;this.lastActionTimes[t.actionName]=e}let n=t.parameters;typeof n==`function`&&(n=n()),i&&i(t),this.keyState[e].count++}}}applyKeyDown(e){let t=an[e],n=new Event(`keydown`);n.keyCode=t,this.onKeyChange(n,!0)}applyKeyUp(e){let t=an[e],n=new Event(`keyup`);n.keyCode=t,this.onKeyChange(n,!1)}applyKeyPress(e){return new Promise(t=>{this.applyKeyDown(e),setTimeout(()=>{this.applyKeyUp(e),t()},200)})}onKeyChange(e,t){e||=window.event;let n=rn[e.keyCode];if(n&&this.boundKeys[n]){if(this.keyState[n]??(this.keyState[n]={count:0,isDown:!0}),this.keyState[n].isDown=t,!t){this.keyState[n].count=0;let{keyUp:e}=this.boundKeys[n].options;e&&e(this.boundKeys[n])}this.lastKeyPressed=t?e.keyCode:null}n&&this.updateDirectionState(n,t)}updateDirectionState(e,t){switch(e){case`up`:this.directionState.up=t;break;case`down`:this.directionState.down=t;break;case`left`:this.directionState.left=t;break;case`right`:this.directionState.right=t;break}}getDirection(){let{up:e,down:t,left:n,right:r}=this.directionState;return e&&n?`up_left`:e&&r?`up_right`:t&&n?`down_left`:t&&r?`down_right`:e?`up`:t?`down`:n?`left`:r?`right`:`none`}async applyControl(e,t){let n=this._controlsOptions[e];if(n){let e=Array.isArray(n.bind)?n.bind[0]:n.bind;t===void 0?await this.applyKeyPress(e):t?this.applyKeyDown(e):this.applyKeyUp(e)}}listenInputs(){super.listenInputs(),this.keyState={}}},sn={events:{},publish:function(e,t){this.events.hasOwnProperty(e)&&this.events[e].forEach(function(e){return e(t)})},subscribe:function(e,t){return this.events.hasOwnProperty(e)||(this.events[e]=[]),this.events[e].push(t),{unsubscribe:(function(){var n=this.events[e].indexOf(t);n!==-1&&this.events[e].splice(n,1)}).bind(this)}}},A={CONNECT:{NATIVE:`gamepadconnected`,ALIAS:`connect`},DISCONNECT:{NATIVE:`gamepaddisconnected`,ALIAS:`disconnect`},BUTTON_PRESS:{NATIVE:null,ALIAS:`button_press`},BUTTON_RELEASE:{NATIVE:null,ALIAS:`button_release`},AXIS_MOVEMENT:{NATIVE:null,ALIAS:`axis_move`}},cn={LEFT:{NAME:`left_stick`,AXES:{X:0,Y:1}},RIGHT:{NAME:`right_stick`,AXES:{X:2,Y:3}}},ln={LEFT:`left`,RIGHT:`right`,TOP:`top`,BOTTOM:`bottom`},un={button_0:0,button_1:1,button_2:2,button_3:3,button_4:4,button_5:5,button_6:6,button_7:7,button_8:8,button_9:9,button_10:10,button_11:11,button_12:12,button_13:13,button_14:14,button_15:15,button_16:16,button_17:17},dn=.8,fn=function(e){console.warn&&typeof console.warn==`function`?console.warn(e):console.log(e)},pn=function(e,t){var n=[];return Object.keys(t).forEach(function(r){(t[r]===e||Array.isArray(t[r])&&t[r].indexOf(e)!==-1)&&n.push(r)}),n},mn=function(e){return!!e&&!!e.type&&!!e.playEffect&&typeof e.playEffect==`function`||!1},hn=function(){return!!window.navigator.getGamepads&&typeof window.navigator.getGamepads==`function`||!1},j={loopStarted:!1,instances:{},buttonEvents:{joypad:[]},settings:{axisMovementThreshold:dn},remove:function(e){return delete this.instances[e]},on:function(e,t){switch(e){case A.CONNECT.ALIAS:return sn.subscribe(A.CONNECT.ALIAS,t);case A.DISCONNECT.ALIAS:return sn.subscribe(A.DISCONNECT.ALIAS,t);case A.BUTTON_PRESS.ALIAS:return sn.subscribe(A.BUTTON_PRESS.ALIAS,t);case A.BUTTON_RELEASE.ALIAS:return sn.subscribe(A.BUTTON_RELEASE.ALIAS,t);case A.AXIS_MOVEMENT.ALIAS:return sn.subscribe(A.AXIS_MOVEMENT.ALIAS,t)}},vibrate:function(e,t){var n=e.vibrationActuator,r=t||this.settings.vibration;if(mn(n)){var i=n.type;return e.vibrationActuator.playEffect(i,r)}fn(`No vibration actuator interface found - https://developer.mozilla.org/en-US/docs/Web/API/GamepadHapticActuator`)},set:function(e){var t=e.axisMovementThreshold,n=e.vibration,r=e.customButtonMapping,i=parseFloat(t);isNaN(i)||(this.settings.axisMovementThreshold=i),this.settings.vibration=n,this.settings.customButtonMapping=r},trigger:function(e,t){return sn.publish(e,t)}},gn=function(e){e.buttons.forEach(function(t,n){var r=pn(n,j.settings.customButtonMapping||un),i=j.buttonEvents;r&&r.length&&r.forEach(function(r){t.pressed?(i.joypad[e.index][r]||(i.joypad[e.index][r]={pressed:!0,hold:!1,released:!1}),i.joypad[e.index][r].button=t,i.joypad[e.index][r].index=n,i.joypad[e.index][r].gamepad=e):!t.pressed&&i.joypad[e.index][r]&&(i.joypad[e.index][r].released=!0,i.joypad[e.index][r].hold=!1)})})},_n=function(e){var t=function(e){return new CustomEvent(A.AXIS_MOVEMENT.ALIAS,{detail:e})},n=j.settings.axisMovementThreshold,r=e.axes,i=r.length/2;r.forEach(function(r,a){if(Math.abs(r)>n){var o=null,s=null,c=r;o=a<i?cn.LEFT.NAME:cn.RIGHT.NAME,(a===cn.LEFT.AXES.X||a===cn.RIGHT.AXES.X)&&(s=r<0?ln.LEFT:ln.RIGHT),(a===cn.LEFT.AXES.Y||a===cn.RIGHT.AXES.Y)&&(s=r<0?ln.TOP:ln.BOTTOM);var l={gamepad:e,totalSticks:i,stickMoved:o,directionOfMovement:s,axisMovementValue:c,axis:a};return window.dispatchEvent(t(l))}})},vn=function(e,t){t[e].pressed?(xn(A.BUTTON_PRESS.ALIAS,t,e),t[e].pressed=!1,t[e].hold=!0,t[e].last_event=A.BUTTON_PRESS.ALIAS):t[e].hold||t[e].released&&t[e].last_event===A.BUTTON_PRESS.ALIAS&&(xn(A.BUTTON_RELEASE.ALIAS,t,e),delete t[e])},yn={id:null,start:function(){var e=window.requestAnimationFrame||window.webkitRequestAnimationFrame,t=j.buttonEvents,n=window.navigator.getGamepads();n=Array.prototype.slice.call(n),n.forEach(function(e,n){e&&(t.joypad[n]||(t.joypad[n]={}),j.instances[n]=e,gn(e),_n(e))}),t.joypad.forEach(function(e){e&&Object.keys(e).forEach(function(t){vn(t,e)})}),this.id=e(this.start.bind(this))},stop:function(e){return(window.cancelAnimationFrame||window.webkitCancelAnimationFrame)(e)}},bn=function(){window.addEventListener(A.CONNECT.NATIVE,function(e){if(sn.publish(A.CONNECT.ALIAS,e),!j.loopStarted)return j.loopStarted=!0,yn.start()}),window.addEventListener(A.DISCONNECT.NATIVE,function(e){if(sn.publish(A.DISCONNECT.ALIAS,e),j.remove(e.gamepad.index),j.buttonEvents.joypad[e.gamepad.index]=null,!Object.keys(j.instances).length)return j.loopStarted=!1,yn.stop(yn.id)}),window.addEventListener(A.BUTTON_PRESS.ALIAS,function(e){return sn.publish(A.BUTTON_PRESS.ALIAS,e)}),window.addEventListener(A.BUTTON_RELEASE.ALIAS,function(e){return sn.publish(A.BUTTON_RELEASE.ALIAS,e)}),window.addEventListener(A.AXIS_MOVEMENT.ALIAS,function(e){return sn.publish(A.AXIS_MOVEMENT.ALIAS,e)})},xn=function(e,t,n){var r=function(t){return new CustomEvent(e,{detail:t})},i=t[n],a=i.index,o=i.gamepad,s={buttonName:n,button:t[n].button,index:a,gamepad:o};window.dispatchEvent(r(s))};bn(),hn()?window.joypad=j:(window.joypad={},fn(`Your browser does not support the Gamepad API - https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API`));var Sn={button_0:`action`,button_1:`back`,button_9:`back`},Cn={top:`up`,bottom:`down`,left:`left`,right:`right`},wn=class extends tn{constructor(...e){super(...e),this.gamepadEnabled=!0,this.gamepadConfig={enabled:!0,buttonMapping:Sn,axisMapping:Cn,axisThreshold:.5,moveInterval:400},this.gamepadMoving=!1,this.gamepadDirections={},this.gamepadAxisDate=0,this.gamepadMoveInterval=null,this.joypad=null,this.connectCallbacks=[],this.disconnectCallbacks=[],this.currentPower=0}setupListeners(){this.initGamepad()}cleanup(){this.gamepadMoveInterval&&=(clearInterval(this.gamepadMoveInterval),null)}initGamepad(){if(typeof window>`u`)return;let e=window.joypad;if(!e){this.gamepadConfig.gamepadConnected&&this.gamepadConfig.gamepadConnected.set(!1);return}this.joypad=e,this.joypad.on(`connect`,()=>this.handleGamepadConnect()),this.joypad.on(`disconnect`,()=>this.handleGamepadDisconnect()),this.joypad.on(`button_press`,e=>this.handleGamepadButtonPress(e)),this.joypad.on(`axis_move`,e=>this.handleGamepadAxisMove(e))}handleGamepadConnect(){!this.gamepadEnabled||!this.gamepadConfig.enabled||(this.gamepadMoveInterval=setInterval(()=>{this.processGamepadMovement()},this.gamepadConfig.moveInterval||400),this.gamepadConfig.gamepadConnected&&this.gamepadConfig.gamepadConnected.set(!0),this.connectCallbacks.forEach(e=>e()))}handleGamepadDisconnect(){this.gamepadMoveInterval&&=(clearInterval(this.gamepadMoveInterval),null),this.gamepadMoving=!1,this.gamepadDirections={},this.gamepadAxisDate=0,this.currentPower=0,this.gamepadConfig.gamepadConnected&&this.gamepadConfig.gamepadConnected.set(!1),this.disconnectCallbacks.forEach(e=>e())}handleGamepadButtonPress(e){if(!this.gamepadEnabled||!this.gamepadConfig.enabled||this.stop)return;let{buttonName:t}=e.detail,n=(this.gamepadConfig.buttonMapping||Sn)[t];n&&this.applyControl(n).catch(()=>{})}handleGamepadAxisMove(e){if(!this.gamepadEnabled||!this.gamepadConfig.enabled||this.stop)return;this.gamepadMoving=!0,this.gamepadAxisDate=Date.now();let t=e.detail.directionOfMovement,n=this.gamepadConfig.axisMapping||Cn;if(t===`top`?t=n.top||`up`:t===`bottom`?t=n.bottom||`down`:t===`left`?t=n.left||`left`:t===`right`&&(t=n.right||`right`),this.joypad&&this.joypad.instances){let e=Object.values(this.joypad.instances);if(e.length>0){let t=e[0],n=t.axes?.[0]||0,r=t.axes?.[1]||0;this.currentPower=Math.min(1,Math.sqrt(n*n+r*r))}}this.gamepadDirections={[t]:!0};for(let e of[`up`,`down`,`left`,`right`])this.gamepadDirections[e]||this.applyControl(e,!1).catch(()=>{});this.processGamepadMovement()}processGamepadMovement(){if(this.gamepadMoving&&!this.stop){if(this.joypad&&this.joypad.instances){let e=Object.values(this.joypad.instances);if(e.length>0){let t=e[0],n=t.axes?.[0]||0,r=t.axes?.[1]||0;this.currentPower=Math.min(1,Math.sqrt(n*n+r*r))}}for(let e in this.gamepadDirections)this.gamepadDirections[e]&&this.applyControl(e,!0,{power:this.currentPower}).catch(()=>{})}}preStep(){if(!this.stop&&Date.now()-this.gamepadAxisDate>100&&this.gamepadMoving)for(let e of[`up`,`down`,`left`,`right`])this.gamepadDirections={},this.gamepadMoving=!1,this.applyControl(e,!1).catch(()=>{})}updateGamepadConfig(e){this.gamepadConfig.onConnect&&this.offConnect(this.gamepadConfig.onConnect),this.gamepadConfig.onDisconnect&&this.offDisconnect(this.gamepadConfig.onDisconnect),this.gamepadConfig={enabled:e.enabled===void 0?!0:e.enabled,buttonMapping:e.buttonMapping||Sn,axisMapping:e.axisMapping||Cn,axisThreshold:e.axisThreshold||.5,moveInterval:e.moveInterval||400,onConnect:e.onConnect,onDisconnect:e.onDisconnect,gamepadConnected:e.gamepadConnected},this.gamepadConfig.onConnect&&this.onConnect(this.gamepadConfig.onConnect),this.gamepadConfig.onDisconnect&&this.onDisconnect(this.gamepadConfig.onDisconnect)}extractGamepadConfig(e){e.gamepad&&this.updateGamepadConfig(e.gamepad)}getGamepadConfig(){return this.gamepadConfig}async applyControl(e,t,n){if(!this._controlsOptions[e])return;let r=Object.keys(this.boundKeys);for(let i of r){let r=this.boundKeys[i];if(r.actionName===String(e)){if(t===void 0){if(r.options.keyDown){let e=n??r.parameters;typeof e==`function`&&(e=e()),r.options.keyDown(r,e)}return new Promise(e=>{setTimeout(()=>{if(r.options.keyUp){let e=n??r.parameters;typeof e==`function`&&(e=e()),r.options.keyUp(r,e)}e()},200)})}else if(t){if(r.options.keyDown){let e=n??r.parameters;typeof e==`function`&&(e=e()),r.options.keyDown(r,e)}}else if(r.options.keyUp){let e=n??r.parameters;typeof e==`function`&&(e=e()),r.options.keyUp(r,e)}break}}}setInputs(e){super.setInputs(e),this.extractGamepadConfig(e)}onConnect(e){this.connectCallbacks.push(e)}onDisconnect(e){this.disconnectCallbacks.push(e)}offConnect(e){let t=this.connectCallbacks.indexOf(e);t>-1&&this.connectCallbacks.splice(t,1)}offDisconnect(e){let t=this.disconnectCallbacks.indexOf(e);t>-1&&this.disconnectCallbacks.splice(t,1)}isConnected(){return this.gamepadMoveInterval!==null}reinit(){this.joypad||this.initGamepad()}},Tn={top:`up`,bottom:`down`,left:`left`,right:`right`,top_left:[`up`,`left`],top_right:[`up`,`right`],bottom_left:[`down`,`left`],bottom_right:[`down`,`right`]},En=class extends tn{constructor(...e){super(...e),this.joystickEnabled=!0,this.joystickConfig={enabled:!0,directionMapping:Tn,moveInterval:50,threshold:.1},this.joystickMoving=!1,this.joystickDirections={},this.joystickLastUpdate=0,this.joystickMoveInterval=null,this.currentPower=0}setupListeners(){}cleanup(){this.joystickMoveInterval&&=(clearInterval(this.joystickMoveInterval),null)}preStep(){this.stop}handleJoystickChange(e){if(!this.joystickEnabled||!this.joystickConfig.enabled||this.stop)return;if(this.joystickLastUpdate=Date.now(),this.currentPower=e.power,e.power<(this.joystickConfig.threshold||.1)){this.stopAllMovements();return}let t=(this.joystickConfig.directionMapping||Tn)[e.direction];if(!t){this.stopAllMovements();return}let n=Array.isArray(t)?t:[t],r=this.joystickDirections,i={};n.forEach(e=>{i[e]=!0});let a=new Set([...Object.keys(this.joystickDirections),...Object.keys(i)]);for(let e of a){let t=this.joystickDirections[e],n=i[e]||!1;t&&!n&&this.applyControl(e,!1).catch(()=>{})}this.joystickDirections={...i},this.joystickMoving=!0;let o=n.filter(e=>!r[e]);for(let t of o)this.applyControl(t,!0,{power:e.power}).catch(()=>{});this.joystickMoveInterval||=setInterval(()=>{this.processJoystickMovement()},this.joystickConfig.moveInterval||50)}handleJoystickStart(){!this.joystickEnabled||!this.joystickConfig.enabled||this.stop}handleJoystickEnd(){!this.joystickEnabled||!this.joystickConfig.enabled||this.stopAllMovements()}stopAllMovements(){this.joystickMoveInterval&&=(clearInterval(this.joystickMoveInterval),null);let e=Object.keys(this.joystickDirections);for(let t of e)this.applyControl(t,!1).catch(()=>{});this.joystickDirections={},this.joystickMoving=!1,this.currentPower=0}processJoystickMovement(){if(this.joystickMoving&&!this.stop)for(let e in this.joystickDirections)this.joystickDirections[e]&&this.applyControl(e,!0,{power:this.currentPower}).catch(()=>{})}updateJoystickConfig(e){this.joystickConfig={enabled:e.enabled===void 0?!0:e.enabled,directionMapping:e.directionMapping||Tn,moveInterval:e.moveInterval||50,threshold:e.threshold||.1}}extractJoystickConfig(e){e.joystick&&this.updateJoystickConfig(e.joystick)}getJoystickConfig(){return this.joystickConfig}async applyControl(e,t,n){if(!this._controlsOptions[e])return;let r=Object.keys(this.boundKeys);for(let i of r){let r=this.boundKeys[i];if(r.actionName===String(e)){if(t===void 0){if(r.options.keyDown){let e=n??r.parameters;typeof e==`function`&&(e=e()),r.options.keyDown(r,e)}return new Promise(e=>{setTimeout(()=>{if(r.options.keyUp){let e=n??r.parameters;typeof e==`function`&&(e=e()),r.options.keyUp(r,e)}e()},200)})}else if(t){if(r.options.keyDown){let e=n??r.parameters;typeof e==`function`&&(e=e()),r.options.keyDown(r,e)}}else if(r.options.keyUp){let e=n??r.parameters;typeof e==`function`&&(e=e()),r.options.keyUp(r,e)}break}}}setInputs(e){super.setInputs(e),this.extractJoystickConfig(e)}isActive(){return this.joystickMoving}},Dn={},M=class{};function On(e,t){Dn[e]=t}function kn(e,t){if(!Dn[t])return null;let n=new Dn[t];return n.onInit?.(e),n}var An=Object.defineProperty,N=(e,t)=>An(e,`name`,{value:t,configurable:!0}),jn=class extends Le{static{N(this,`ArraySubject`)}_items=[];constructor(e=[]){super({type:`init`,items:e}),this.createProxy(e)}createProxy(e){this._items=new Proxy(e,{get:N((e,t,n)=>{let r=e[t];return typeof r==`function`?(...n)=>{let i=`update`,a,o=!1,s=[],c=!0;switch(t){case`push`:a=e.length,i=`add`,o=!0;break;case`pop`:a=e.length-1,i=`remove`,o=!0;break;case`unshift`:a=0,i=`add`,o=!0;break;case`shift`:a=0,i=`remove`,o=!0;break;case`splice`:a=n[0];let t=n[1],r=n.slice(2);s=r,t>0&&r.length===0?i=`remove`:t===0&&r.length>0?i=`add`:t===0&&r.length===0?c=!1:i=`update`,o=!0;break}let l=r.apply(e,n);return o&&c&&(t===`splice`?this.next({type:i,index:a,items:s}):this.next({type:i,index:a,items:n})),l}:Reflect.get(e,t,n)},`get`),set:N((e,t,n)=>{let r=isNaN(Number(t))?void 0:Number(t);return e[t]=n,this.next({type:`update`,index:r,items:[n]}),!0},`set`)})}get items(){return this._items}set items(e){this.createProxy(e),this.next({type:`reset`,items:e})}},Mn=N(e=>`_items`in e,`isArraySubject`),Nn=class extends Le{static{N(this,`ObjectSubject`)}_obj;constructor(e={}){super({type:`init`,value:e}),this.createProxy(e)}createProxy(e){this._obj=new Proxy(e,{get:N((e,t,n)=>Reflect.get(e,t,n),`get`),set:N((e,t,n,r)=>{let i=t,a=i in e?`update`:`add`;return e[i]=n,this.next({type:a,key:i,value:n}),!0},`set`),deleteProperty:N((e,t)=>{let n=t;if(n in e){let t=e[n];return delete e[n],this.next({type:`remove`,key:n,value:t}),!0}return!1},`deleteProperty`)})}get obj(){return this._obj}set obj(e){this.createProxy(e),this.next({type:`reset`,value:e})}},Pn=N(e=>`_obj`in e,`isObjectSubject`),P=N(()=>{let e=`__REACTIVE_STORE__`;if(typeof globalThis<`u`)return globalThis[e]||(globalThis[e]={currentDependencyTracker:null,currentSubscriptionsTracker:null}),globalThis[e];let t;if(typeof window<`u`)t=window;else if(typeof process<`u`&&process.versions&&process.versions.node)t=Function(`return this`)();else if(typeof self<`u`)t=self;else return console.warn(`Unable to find global object, using local instance`),{currentDependencyTracker:null,currentSubscriptionsTracker:null};return t[e]||(t[e]={currentDependencyTracker:null,currentSubscriptionsTracker:null}),t[e]},`getGlobalReactiveStore`)(),Fn=N(e=>{P.currentDependencyTracker&&P.currentDependencyTracker(e)},`trackDependency`);function F(e,t){let n;n=Array.isArray(e)?new jn(e):typeof e==`object`&&e?new Nn(e):new Le(e);let r=N(()=>n instanceof jn?n.items:n instanceof Nn?n.obj:n.value,`getValue`),i=N(function(){return Fn(i),r()},`fn`);return i.set=e=>{let i=r(),a=!0;a=t?.equal?!t.equal(i,e):i!==e,a&&(n instanceof jn?n.items=e:n instanceof Nn?n.obj=e:n.next(e))},i._isFrozen=!1,i.freeze=()=>{i._isFrozen=!0},i.unfreeze=()=>{i._isFrozen=!1,n instanceof jn?n.next({type:`init`,items:n.items}):n instanceof Nn?n.next({type:`init`,value:n.obj}):n.next(n.value)},i.mutate=e=>{e(r())},i.update=e=>{let t=e(r());i.set(t)},i.observable=n.asObservable().pipe(Nt(()=>!i._isFrozen)),i._subject=n,i}N(F,`signal`);function I(e){return!!(e&&e.observable)}N(I,`isSignal`);function In(e){return I(e)&&!!e.dependencies}N(In,`isComputed`);function L(e,t){let n=new Set,r=!0,i,a=P.currentDependencyTracker;P.currentDependencyTracker=e=>{n.add(e)},i=e(),e.isEffect&&(t=i),P.currentDependencyTracker=a;let o=kt([...n].map(e=>{if(In(e)&&`dependencies`in e){let t=e;if(t.dependencies.size===0)return new Le(t()).asObservable()}return e.observable})).pipe(Nt(()=>!r),vt(()=>e()),Pt(()=>t?.())),s=N(function(){return Fn(s),i},`fn`);return s.observable=o,s.subscription=o.subscribe(e=>{i=e}),s.dependencies=n,P.currentSubscriptionsTracker?.(s.subscription),r=!1,s}N(L,`computed`);function Ln(e,t){let n=new Set,r=!0,i,a,o,s,c,l,u=!1,d,f=0,p=null;if(typeof e==`function`)a=e,c=t?.equal;else{let t=e;if(o=t.source,s=t.computation,c=t.equal,typeof o==`function`&&!I(o)){let e=o;a=N(()=>{let t=e();if(s.length>1){let e=s(t,l);return l={source:t,value:e},e}else{let e=s(t);return l={source:t,value:e},e}},`computeFunction`)}else{let e=o;a=N(()=>{let t=e();if(s.length>1){let e=s(t,l);return l={source:t,value:e},e}else{let e=s(t);return l={source:t,value:e},e}},`computeFunction`)}}let m=P.currentDependencyTracker;P.currentDependencyTracker=e=>{n.add(e)},o&&typeof o==`function`&&!I(o)||o&&I(o)&&n.add(o),i=a(),P.currentDependencyTracker=m;let h=new Le(i),g=[...n].map(e=>{if(In(e)&&`dependencies`in e){let t=e;if(t.dependencies.size===0)return new Le(t()).asObservable()}return e.observable}),_;_=g.length>0?kt(g).pipe(Nt(()=>!r),vt(()=>{let e=a();return c?c(i,e)||(i=e,u=!1):i!==e&&(i=e,u=!1),i})):h.asObservable().pipe(Nt(()=>!r));let v=N(function(){if(Fn(v),u&&n.size>0){if(p!==f){let e=a();return u=!1,d=void 0,i=e,p=null,e}return d}return u?d:(n.size===0&&(i=a()),i)},`fn`);return v.observable=new D(e=>{let t=_.subscribe(t=>{n.size>0?(f++,u=!1,p=null,i=t):i=t,e.next(t)}),a;return n.size===0&&(a=h.pipe(Nt(()=>!r)).subscribe(t=>{e.next(t)})),e.next(i),()=>{t.unsubscribe(),a&&a.unsubscribe()}}),v.subscription=v.observable.subscribe(()=>{}),v.dependencies=n,v._subject=h,v.set=e=>{u||(p=f,s&&o&&(l={source:Rn(()=>{if(typeof o==`function`){let e=o;return I(e)?e():o()}return o()}),value:e})),u=!0,d=e,i=e,h.next(e)},P.currentSubscriptionsTracker?.(v.subscription),r=!1,v}N(Ln,`linkedSignal`);function Rn(e){let t=P.currentDependencyTracker,n=P.currentSubscriptionsTracker;P.currentDependencyTracker=null,P.currentSubscriptionsTracker=null;try{return e()}finally{P.currentDependencyTracker=t,P.currentSubscriptionsTracker=n}}N(Rn,`untracked`);function R(e){return e.isEffect=!0,L(e)}N(R,`effect`);function zn(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}var Bn=(e,t,n)=>Math.min(Math.max(n,e),t),Vn=.001,Hn=.01,Un=.05;function Wn({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,a,o=1-t;o=Bn(Un,1,o),e=Bn(Hn,10,e/1e3),o<1?(i=t=>{let r=t*o,i=r*e,a=r-n,s=qn(t,o),c=Math.exp(-i);return Vn-a/s*c},a=t=>{let r=t*o*e,a=r*n+n,s=o**2*t**2*e,c=Math.exp(-r),l=qn(t**2,o);return(-i(t)+Vn>0?-1:1)*((a-s)*c)/l}):(i=t=>{let r=Math.exp(-t*e),i=(t-n)*e+1;return-Vn+r*i},a=t=>Math.exp(-t*e)*((n-t)*(e*e)));let s=5/e,c=Kn(i,a,s);if(e*=1e3,isNaN(c))return{stiffness:100,damping:10,duration:e};{let t=c**2*r;return{stiffness:t,damping:o*2*Math.sqrt(r*t),duration:e}}}var Gn=12;function Kn(e,t,n){let r=n;for(let n=1;n<Gn;n++)r-=e(r)/t(r);return r}function qn(e,t){return e*Math.sqrt(1-t*t)}var Jn=[`duration`,`bounce`],Yn=[`stiffness`,`damping`,`mass`];function Xn(e,t){return t.some(t=>e[t]!==void 0)}function Zn(e){let t=Object.assign({velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1},e);if(!Xn(e,Yn)&&Xn(e,Jn)){let n=Wn(e);t=Object.assign(Object.assign(Object.assign({},t),n),{velocity:0,mass:1}),t.isResolvedFromDuration=!0}return t}function Qn(e){var{from:t=0,to:n=1,restSpeed:r=2,restDelta:i}=e,a=zn(e,[`from`,`to`,`restSpeed`,`restDelta`]);let o={done:!1,value:t},{stiffness:s,damping:c,mass:l,velocity:u,duration:d,isResolvedFromDuration:f}=Zn(a),p=$n,m=$n;function h(){let e=u?-(u/1e3):0,r=n-t,a=c/(2*Math.sqrt(s*l)),o=Math.sqrt(s/l)/1e3;if(i===void 0&&(i=Math.min(Math.abs(n-t)/100,.4)),a<1){let t=qn(o,a);p=i=>{let s=Math.exp(-a*o*i);return n-s*((e+a*o*r)/t*Math.sin(t*i)+r*Math.cos(t*i))},m=n=>{let i=Math.exp(-a*o*n);return a*o*i*(Math.sin(t*n)*(e+a*o*r)/t+r*Math.cos(t*n))-i*(Math.cos(t*n)*(e+a*o*r)-t*r*Math.sin(t*n))}}else if(a===1)p=t=>n-Math.exp(-o*t)*(r+(e+o*r)*t);else{let t=o*Math.sqrt(a*a-1);p=i=>{let s=Math.exp(-a*o*i),c=Math.min(t*i,300);return n-s*((e+a*o*r)*Math.sinh(c)+t*r*Math.cosh(c))/t}}}return h(),{next:e=>{let t=p(e);if(f)o.done=e>=d;else{let a=m(e)*1e3,s=Math.abs(a)<=r,c=Math.abs(n-t)<=i;o.done=s&&c}return o.value=o.done?n:t,o},flipTarget:()=>{u=-u,[t,n]=[n,t],h()}}}Qn.needsInterpolation=(e,t)=>typeof e==`string`||typeof t==`string`;var $n=e=>0,er=(e,t,n)=>{let r=t-e;return r===0?1:(n-e)/r},tr=(e,t,n)=>-n*e+n*t+e,nr=(e,t)=>n=>Math.max(Math.min(n,t),e),rr=e=>e%1?Number(e.toFixed(5)):e,ir=/(-)?([\d]*\.?[\d])+/g,ar=/(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,or=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function sr(e){return typeof e==`string`}var cr={test:e=>typeof e==`number`,parse:parseFloat,transform:e=>e},lr=Object.assign(Object.assign({},cr),{transform:nr(0,1)});Object.assign(Object.assign({},cr),{default:1});var ur=(e=>({test:t=>sr(t)&&t.endsWith(e)&&t.split(` `).length===1,parse:parseFloat,transform:t=>`${t}${e}`}))(`%`);Object.assign(Object.assign({},ur),{parse:e=>ur.parse(e)/100,transform:e=>ur.transform(e*100)});var dr=(e,t)=>n=>!!(sr(n)&&or.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),fr=(e,t,n)=>r=>{if(!sr(r))return r;let[i,a,o,s]=r.match(ir);return{[e]:parseFloat(i),[t]:parseFloat(a),[n]:parseFloat(o),alpha:s===void 0?1:parseFloat(s)}},pr={test:dr(`hsl`,`hue`),parse:fr(`hue`,`saturation`,`lightness`),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>`hsla(`+Math.round(e)+`, `+ur.transform(rr(t))+`, `+ur.transform(rr(n))+`, `+rr(lr.transform(r))+`)`},mr=nr(0,255),hr=Object.assign(Object.assign({},cr),{transform:e=>Math.round(mr(e))}),gr={test:dr(`rgb`,`red`),parse:fr(`red`,`green`,`blue`),transform:({red:e,green:t,blue:n,alpha:r=1})=>`rgba(`+hr.transform(e)+`, `+hr.transform(t)+`, `+hr.transform(n)+`, `+rr(lr.transform(r))+`)`};function _r(e){let t=``,n=``,r=``,i=``;return e.length>5?(t=e.substr(1,2),n=e.substr(3,2),r=e.substr(5,2),i=e.substr(7,2)):(t=e.substr(1,1),n=e.substr(2,1),r=e.substr(3,1),i=e.substr(4,1),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}var vr={test:dr(`#`),parse:_r,transform:gr.transform},yr={test:e=>gr.test(e)||vr.test(e)||pr.test(e),parse:e=>gr.test(e)?gr.parse(e):pr.test(e)?pr.parse(e):vr.parse(e),transform:e=>sr(e)?e:e.hasOwnProperty(`red`)?gr.transform(e):pr.transform(e)},br="${c}",xr="${n}";function Sr(e){return isNaN(e)&&sr(e)&&(e.match(ir)?.length??0)+(e.match(ar)?.length??0)>0}function Cr(e){typeof e==`number`&&(e=`${e}`);let t=[],n=0,r=e.match(ar);r&&(n=r.length,e=e.replace(ar,br),t.push(...r.map(yr.parse)));let i=e.match(ir);return i&&(e=e.replace(ir,xr),t.push(...i.map(cr.parse))),{values:t,numColors:n,tokenised:e}}function wr(e){return Cr(e).values}function Tr(e){let{values:t,numColors:n,tokenised:r}=Cr(e),i=t.length;return e=>{let t=r;for(let r=0;r<i;r++)t=t.replace(r<n?br:xr,r<n?yr.transform(e[r]):rr(e[r]));return t}}var Er=e=>typeof e==`number`?0:e;function Dr(e){let t=wr(e);return Tr(e)(t.map(Er))}var Or={test:Sr,parse:wr,createTransformer:Tr,getAnimatableNone:Dr};function kr(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Ar({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,a=0,o=0;if(!t)i=a=o=n;else{let r=n<.5?n*(1+t):n+t-n*t,s=2*n-r;i=kr(s,r,e+1/3),a=kr(s,r,e),o=kr(s,r,e-1/3)}return{red:Math.round(i*255),green:Math.round(a*255),blue:Math.round(o*255),alpha:r}}var jr=(e,t,n)=>{let r=e*e,i=t*t;return Math.sqrt(Math.max(0,n*(i-r)+r))},Mr=[vr,gr,pr],Nr=e=>Mr.find(t=>t.test(e)),Pr=e=>`'${e}' is not an animatable color. Use the equivalent color code instead.`,Fr=(e,t)=>{let n=Nr(e),r=Nr(t);Pr(e),Pr(t);let i=n.parse(e),a=r.parse(t);n===pr&&(i=Ar(i),n=gr),r===pr&&(a=Ar(a),r=gr);let o=Object.assign({},i);return e=>{for(let t in o)t!==`alpha`&&(o[t]=jr(i[t],a[t],e));return o.alpha=tr(i.alpha,a.alpha,e),n.transform(o)}},Ir=e=>typeof e==`number`,Lr=(e,t)=>n=>t(e(n)),Rr=(...e)=>e.reduce(Lr);function zr(e,t){return Ir(e)?n=>tr(e,t,n):yr.test(e)?Fr(e,t):Ur(e,t)}var Br=(e,t)=>{let n=[...e],r=n.length,i=e.map((e,n)=>zr(e,t[n]));return e=>{for(let t=0;t<r;t++)n[t]=i[t](e);return n}},Vr=(e,t)=>{let n=Object.assign(Object.assign({},e),t),r={};for(let i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=zr(e[i],t[i]));return e=>{for(let t in r)n[t]=r[t](e);return n}};function Hr(e){let t=Or.parse(e),n=t.length,r=0,i=0,a=0;for(let e=0;e<n;e++)r||typeof t[e]==`number`?r++:t[e].hue===void 0?i++:a++;return{parsed:t,numNumbers:r,numRGB:i,numHSL:a}}var Ur=(e,t)=>{let n=Or.createTransformer(t),r=Hr(e),i=Hr(t);return r.numHSL===i.numHSL&&r.numRGB===i.numRGB&&r.numNumbers>=i.numNumbers?Rr(Br(r.parsed,i.parsed),n):(`${e}${t}`,n=>`${n>0?t:e}`)},Wr=(e,t)=>n=>tr(e,t,n);function Gr(e){if(typeof e==`number`)return Wr;if(typeof e==`string`)return yr.test(e)?Fr:Ur;if(Array.isArray(e))return Br;if(typeof e==`object`)return Vr}function Kr(e,t,n){let r=[],i=n||Gr(e[0]),a=e.length-1;for(let n=0;n<a;n++){let a=i(e[n],e[n+1]);t&&(a=Rr(Array.isArray(t)?t[n]:t,a)),r.push(a)}return r}function qr([e,t],[n]){return r=>n(er(e,t,r))}function Jr(e,t){let n=e.length,r=n-1;return i=>{let a=0,o=!1;if(i<=e[0]?o=!0:i>=e[r]&&(a=r-1,o=!0),!o){let t=1;for(;t<n&&!(e[t]>i||t===r);t++);a=t-1}let s=er(e[a],e[a+1],i);return t[a](s)}}function Yr(e,t,{clamp:n=!0,ease:r,mixer:i}={}){let a=e.length;t.length,!r||!Array.isArray(r)||(r.length,a-1),e[0]>e[a-1]&&(e=[].concat(e),t=[].concat(t),e.reverse(),t.reverse());let o=Kr(t,r,i),s=a===2?qr(e,o):Jr(e,o);return n?t=>s(Bn(e[0],e[a-1],t)):s}var Xr=e=>t=>1-e(1-t),Zr=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Qr=e=>t=>t**+e,$r=e=>t=>t*t*((e+1)*t-e),ei=e=>{let t=$r(e);return e=>(e*=2)<1?.5*t(e):.5*(2-2**(-10*(e-1)))},ti=1.525,ni=4/11,ri=8/11,ii=9/10,ai=e=>e,oi=Qr(2),si=Xr(oi),ci=Zr(oi),li=e=>1-Math.sin(Math.acos(e)),ui=Xr(li),di=Zr(ui),fi=$r(ti),pi=Xr(fi),mi=Zr(fi),hi=ei(ti),gi=4356/361,_i=35442/1805,vi=16061/1805,yi=e=>{if(e===1||e===0)return e;let t=e*e;return e<ni?7.5625*t:e<ri?9.075*t-9.9*e+3.4:e<ii?gi*t-_i*e+vi:10.8*e*e-20.52*e+10.72},bi=Xr(yi),xi=e=>e<.5?.5*(1-yi(1-e*2)):.5*yi(e*2-1)+.5;function Si(e,t){return e.map(()=>t||ci).splice(0,e.length-1)}function Ci(e){let t=e.length;return e.map((e,n)=>n===0?0:n/(t-1))}function wi(e,t){return e.map(e=>e*t)}function Ti({from:e=0,to:t=1,ease:n,offset:r,duration:i=300}){let a={done:!1,value:e},o=Array.isArray(t)?t:[e,t],s=wi(r&&r.length===o.length?r:Ci(o),i);function c(){return Yr(s,o,{ease:Array.isArray(n)?n:Si(o,n)})}let l=c();return{next:e=>(a.value=l(e),a.done=e>=i,a),flipTarget:()=>{o.reverse(),l=c()}}}function Ei({velocity:e=0,from:t=0,power:n=.8,timeConstant:r=350,restDelta:i=.5,modifyTarget:a}){let o={done:!1,value:t},s=n*e,c=t+s,l=a===void 0?c:a(c);return l!==c&&(s=l-t),{next:e=>{let t=-s*Math.exp(-e/r);return o.done=!(t>i||t<-i),o.value=o.done?l:l+t,o},flipTarget:()=>{}}}var Di={keyframes:Ti,spring:Qn,decay:Ei};function Oi(e){if(Array.isArray(e.to))return Ti;if(Di[e.type])return Di[e.type];let t=new Set(Object.keys(e));return t.has(`ease`)||t.has(`duration`)&&!t.has(`dampingRatio`)?Ti:t.has(`dampingRatio`)||t.has(`stiffness`)||t.has(`mass`)||t.has(`damping`)||t.has(`restSpeed`)||t.has(`restDelta`)?Qn:Ti}var ki=1/60*1e3,Ai=typeof performance<`u`?()=>performance.now():()=>Date.now(),ji=typeof window<`u`?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(Ai()),ki);function Mi(e){let t=[],n=[],r=0,i=!1,a=!1,o=new WeakSet,s={schedule:(e,a=!1,s=!1)=>{let c=s&&i,l=c?t:n;return a&&o.add(e),l.indexOf(e)===-1&&(l.push(e),c&&i&&(r=t.length)),e},cancel:e=>{let t=n.indexOf(e);t!==-1&&n.splice(t,1),o.delete(e)},process:c=>{if(i){a=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let n=0;n<r;n++){let r=t[n];r(c),o.has(r)&&(s.schedule(r),e())}i=!1,a&&(a=!1,s.process(c))}};return s}var Ni=40,Pi=!0,Fi=!1,Ii=!1,Li={delta:0,timestamp:0},Ri=[`read`,`update`,`preRender`,`render`,`postRender`],zi=Ri.reduce((e,t)=>(e[t]=Mi(()=>Fi=!0),e),{}),Bi=Ri.reduce((e,t)=>{let n=zi[t];return e[t]=(e,t=!1,r=!1)=>(Fi||Wi(),n.schedule(e,t,r)),e},{}),Vi=Ri.reduce((e,t)=>(e[t]=zi[t].cancel,e),{});Ri.reduce((e,t)=>(e[t]=()=>zi[t].process(Li),e),{});var Hi=e=>zi[e].process(Li),Ui=e=>{Fi=!1,Li.delta=Pi?ki:Math.max(Math.min(e-Li.timestamp,Ni),1),Li.timestamp=e,Ii=!0,Ri.forEach(Hi),Ii=!1,Fi&&(Pi=!1,ji(Ui))},Wi=()=>{Fi=!0,Pi=!0,Ii||ji(Ui)};function Gi(e,t,n=0){return e-t-n}function Ki(e,t,n=0,r=!0){return r?Gi(t+-e,t,n):t-(e-t)+n}function qi(e,t,n,r){return r?e>=t+n:e<=-n}var Ji=e=>{let t=({delta:t})=>e(t);return{start:()=>Bi.update(t,!0),stop:()=>Vi.update(t)}};function Yi(e){var t,{from:n,autoplay:r=!0,driver:i=Ji,elapsed:a=0,repeat:o=0,repeatType:s=`loop`,repeatDelay:c=0,onPlay:l,onStop:u,onComplete:d,onRepeat:f,onUpdate:p}=e,m=zn(e,[`from`,`autoplay`,`driver`,`elapsed`,`repeat`,`repeatType`,`repeatDelay`,`onPlay`,`onStop`,`onComplete`,`onRepeat`,`onUpdate`]);let{to:h}=m,g,_=0,v=m.duration,y,b=!1,x=!0,ee,S=Oi(m);(t=S).needsInterpolation?.call(t,n,h)&&(ee=Yr([0,100],[n,h],{clamp:!1}),n=0,h=100);let te=S(Object.assign(Object.assign({},m),{from:n,to:h}));function ne(){_++,s===`reverse`?(x=_%2==0,a=Ki(a,v,c,x)):(a=Gi(a,v,c),s===`mirror`&&te.flipTarget()),b=!1,f&&f()}function re(){g.stop(),d&&d()}function ie(e){if(x||(e=-e),a+=e,!b){let e=te.next(Math.max(0,a));y=e.value,ee&&(y=ee(y)),b=x?e.done:a<=0}p?.(y),b&&(_===0&&(v??=a),_<o?qi(a,v,c,x)&&ne():re())}function ae(){l?.(),g=i(ie),g.start()}return r&&ae(),{stop:()=>{u?.(),g.stop()}}}var Xi=e=>{if(typeof e==`number`)return t=>Math.round(t/e)*e;{let t=0,n=e.length;return r=>{let i=Math.abs(e[0]-r);for(t=1;t<n;t++){let a=e[t],o=Math.abs(a-r);if(o===0)return a;if(o>i)return e[t-1];if(t===n-1)return a;i=o}}}};function Zi(){return globalThis.__CANVAS_ENGINE_TICK__}function Qi(e){return e.animatedState!==void 0}function $i(e,t={}){let n={current:e,start:e,end:e},r=null,i=!1,a=F(e),o=F(n);R(()=>{let e=o();a.set(e.current)});function s(e,n={}){if(e===void 0)return o();let a=o(),s={current:a.current,start:a.current,end:e};o.set(s),r&&=(r.stop(),null),i=!1;let c={...t,...n},l=c.duration??20,u=c.ease??(e=>e);c.tick||Zi();let d=a.current,f=e,p=n.onComplete??t.onComplete;r=Yi({from:d,to:f,duration:l,ease:u,onUpdate:e=>{if(i)return;let t=e;o.update(e=>({...e,current:t})),c.onUpdate?.(t),n.onUpdate?.(t)},onComplete:()=>{o.update(e=>({...e,current:f})),p?.()}})}let c=function(){return o().current};for(let e in a)c[e]=a[e];return c.animatedState=o,c.update=e=>{s(e(o().current))},c.set=async(e,n={})=>new Promise(r=>{let i=n.onComplete;s(e,{...n,onComplete:()=>{i?i():t.onComplete&&t.onComplete(),r()}})}),c.pause=()=>{i||(i=!0,r&&=(r.stop(),null))},c.resume=()=>{if(!i)return;i=!1;let e=o();e.current!==e.end&&s(e.end,t)},c}async function ea(e){for(let t of e)Array.isArray(t)?await Promise.all(t.map(e=>e())):await t()}var ta={},na=e=>e&&typeof e==`object`&&`tag`in e&&`props`in e&&`componentInstance`in e,ra=e=>typeof e==`string`||typeof e==`number`||typeof e==`boolean`||e==null,ia={Sprite:`DOMSprite`},aa=new Set([`DOMContainer`,`DOMElement`,`DOMSprite`]),oa=new Set([`Canvas`,`Container`,`Graphics`,`Rect`,`Circle`,`Ellipse`,`Triangle`,`Svg`,`Mesh`,`Scene`,`ParticlesEmitter`,`Sprite`,`Video`,`Text`,`TilingSprite`,`Viewport`,`NineSliceSprite`,`Button`,`Joystick`,`FocusContainer`]),sa=e=>{let t=e;for(;t;){if(t.tag===`DOMContainer`||t.tag===`DOMElement`)return!0;t=t.parent}return!1},ca=e=>{e.propSubscriptions?.forEach(e=>e.unsubscribe()),e.effectSubscriptions?.forEach(e=>e.unsubscribe()),e.effectUnmounts?.forEach(e=>e?.())},la=(e,t)=>{if(!sa(e)||aa.has(t.tag))return t;let n=ia[t.tag];if(n)return ca(t),V(n,t.propObservables??t.props);if(oa.has(t.tag))throw Error(`Component ${t.tag} is not implemented for DOMContainer context yet. Only Sprite is supported.`);return t};function z(e,t){ta[e]=t}var ua=!1;function da(){ua||=!0}async function fa(e){return(await Promise.all(e.map(async e=>I(e)?e():Ht(e)?await e:e))).every(e=>e!==void 0)}function pa(e){return new Promise(async t=>{if(await fa(e)){t();return}let n=e.filter(e=>I(e));if(n.length===0)return;let r=kt(n.map(e=>e.observable)).subscribe(async()=>{await fa(e)&&(r.unsubscribe(),t())})})}function ma(e){if(!e)return!1;let t=e.propObservables?.freeze??e.props?.freeze;if(t!=null){if(I(t)){if(t()===!0)return!0}else if(t===!0)return!0}return e.parent?ma(e.parent):!1}function ha(e,t){if(!e.propObservables)return;let n=e=>{if(I(e)&&Qi(e)){let n=e;t?n.pause():n.resume()}else qt(e)&&!na(e)&&Object.values(e).forEach(n)};Object.values(e.propObservables).forEach(n)}function B(e){if(Array.isArray(e)){e.forEach(e=>B(e));return}if(e){if(e.props?.children)for(let t of e.props.children)B(t);for(let t in e.directives)e.directives[t].onDestroy?.(e);e.componentInstance&&e.componentInstance.onDestroy?e.componentInstance.onDestroy(e.parent,()=>{e.propSubscriptions?.forEach(e=>e.unsubscribe()),e.effectSubscriptions?.forEach(e=>e.unsubscribe()),e.effectUnmounts?.forEach(e=>{Ht(e)?e.then(e=>{e?.()}):e?.()})}):(e.propSubscriptions?.forEach(e=>e.unsubscribe()),e.effectSubscriptions?.forEach(e=>e.unsubscribe()),e.effectUnmounts?.forEach(e=>e?.()))}}function V(e,t){if(!ta[e])throw Error(`Component ${e} is not registered`);let n=new ta[e],r={tag:e,props:{},componentInstance:n,propSubscriptions:[],propObservables:t,parent:null,directives:{},effectUnmounts:[],effectSubscriptions:[],effectMounts:[],destroy(){B(this)},allElements:new Fe,isFrozen:!1};if(t){let e=(t,i=``)=>{let a=(e,t,n)=>{if(e==``){r.props[t]=n;return}Yt(r.props,e+`.`+t,n)};Object.entries(t).forEach(([t,o])=>{if(I(o)){let e=o;if(`dependencies`in e&&e.dependencies.size==0){a(i,t,e()),t===`freeze`&&(r.isFrozen=e()===!0);return}if(t===`freeze`){r.isFrozen=e()===!0,ha(r,r.isFrozen),r.propSubscriptions.push(e.observable.subscribe(e=>{let t=r.isFrozen;r.isFrozen=e===!0,t!==r.isFrozen&&ha(r,r.isFrozen)}));return}r.propSubscriptions.push(e.observable.subscribe(o=>{if(ma(r)){Qi(e)&&e.pause();return}if(Qi(e)&&e.resume(),a(i,t,o),r.directives[t]&&r.directives[t].onUpdate?.(o,r),t==`tick`)return ma(r),void 0;n.onUpdate?.(i==``?{[t]:o}:Yt({},i+`.`+t,o))}))}else t===`freeze`&&(r.isFrozen=o===!0,ha(r,r.isFrozen)),qt(o)&&t!=`context`&&!na(o)?e(o,(i?i+`.`:``)+t):a(i,t,o)})};e(t)}n.onInit?.(r.props);let i=new Fe;if(t?.isRoot&&(r.allElements=i,r.props.context.rootElement=r,r.componentInstance.onMount?.(r),c(r)),t)for(let e in t){let t=kn(r,e);t&&(r.directives[e]=t)}function a(e,t,n,r){let i=n.filter(e=>I(e));if(n.filter(e=>Ht(e)),i.length===0)return;let a=kt(i.map(e=>e.observable)).subscribe(async()=>{if(await fa(n)){a.unsubscribe();let n=t.propSubscriptions.indexOf(a);n>-1&&t.propSubscriptions.splice(n,1),o(e,t,r),c(t)}});t.propSubscriptions.push(a)}function o(e,t,n){t.componentInstance.onMount?.(t,n);for(let e in t.directives)t.directives[e].onMount?.(t);t.effectMounts.forEach(e=>{t.effectUnmounts.push(e(t))})}async function s(e,t,n){let r=e;for(;r?.tag===`fragment`;)r=r.parent;if(t.props.context=r.props.context,t.parent=r,!t.propObservables?.freeze&&!t.props?.freeze&&ma(r)&&(t.isFrozen=!0),t.props.dependencies&&Array.isArray(t.props.dependencies)){let e=t.props.dependencies;if(!await fa(e)){a(r,t,e,n);return}}o(r,t,n)}async function c(e){if(e.props.attach&&(I(e.propObservables?.attach)?await new Promise(t=>{let n=null;e.propSubscriptions.push(e.propObservables.attach.observable.subscribe(async r=>{let i=r?.value??r;if(!i)throw Error(`attach in ${e.tag} is undefined or null, add a component`);n&&B(n),n=i,await l(e,i),t(void 0)}))}):e.props.children.push(e.props.attach)),e.props.children)for(let t=0;t<e.props.children.length;t++){let n=e.props.children[t];n&&await l(e,n,t)}}async function l(e,t,n){Ht(t)&&(t=await t);let r=e.__childGroups??=[],a=n??(e.props.children?e.props.children.indexOf(t):-1),o={order:a>=0?a:r.length,mounted:new Map};r.push(o);let u=t=>{let n=e.componentInstance?.children;if(!t||!n)return;let r=n.indexOf(t.componentInstance);return r>=0?r:void 0},d=()=>{let e=r.filter(e=>e!==o&&e.order>o.order).sort((e,t)=>e.order-t.order);for(let t of e)for(let e of t.mounted.values()){let t=u(e);if(t!==void 0)return t}},f=(e,t)=>{for(let n=e+1;n<t.length;n++){let e=u(o.mounted.get(t[n]));if(e!==void 0)return e}return d()};if(t instanceof D){let n=o.mounted,r=()=>({tag:`fragment`,props:{children:[]},componentInstance:{},propSubscriptions:[],effectSubscriptions:[],effectMounts:[],effectUnmounts:[],propObservables:{},parent:e,directives:{},destroy(){B(this)},allElements:new Fe,isFrozen:!1}),a=(t,r,i)=>{if(n.has(t))return;let a=la(e,t);n.set(t,a),s(e,a,f(r,i)),c(a)},u=e=>{n.forEach((t,r)=>{e.has(r)||(n.delete(r),t!==r&&B(t))})},d=(e,t,i,o)=>{if(e instanceof D){if(t.add(e),!n.has(e)){let t=r();n.set(e,t),l(t,e)}return}if(Array.isArray(e)){e.forEach(e=>d(e,t,i,o));return}na(e)&&(t.add(e),a(e,i,o))},p=t.subscribe(t=>{if(t&&typeof t==`object`&&`elements`in t){let{elements:n,prev:r}=t,i=n.filter(e=>e!==null),a=new Set;if(r){i.forEach(t=>{d(t,a,e.props.children.indexOf(r.props.key)+1,i)}),u(a);return}i.forEach((e,t)=>{d(e,a,t,i)}),u(a)}else if(na(t)){let n=la(e,t);o.mounted.set(t,n),s(e,n,f(0,[t])),c(n)}else if(Array.isArray(t)){let e=new Set;t.forEach((n,r)=>{d(n,e,r,t)}),u(e)}i.next(void 0)});p.add(()=>{n.forEach(e=>{B(e)}),n.clear()}),e.effectSubscriptions.push(p)}else if(na(t)){let n=la(e,t);o.mounted.set(t,n),s(e,n,f(0,[t])),await c(n)}}return r}function ga(e,t){return In(e)&&e.dependencies.size==0?e=F(e()):I(e)||(e=F(e)),Mt(()=>{let n=[],r=new Map,i=!0,a=e=>e?na(e)?e:{tag:`fragment`,props:{children:Array.isArray(e)?e:[e]},componentInstance:{},propSubscriptions:[],effectSubscriptions:[],effectMounts:[],effectUnmounts:[],propObservables:{},parent:null,directives:{},destroy(){B(this)},allElements:new Fe,isFrozen:!1}:null,o=e=>Array.isArray(e());return new D(s=>{let c=o(e)?e.observable.subscribe(o=>{if(i){i=!1,n.forEach(e=>e.destroy()),n=[],r.clear();let o=e();o&&o.forEach((e,i)=>{let o=a(t(e,i));o&&(n.push(o),r.set(i,o))}),s.next({elements:[...n]});return}let c=Array.isArray(o)||o&&typeof o==`object`&&!(`type`in o);if(o.type===`init`||o.type===`reset`||c){n.forEach(e=>B(e)),n=[],r.clear();let i=e();i&&i.forEach((e,i)=>{let o=a(t(e,i));o&&(n.push(o),r.set(i,o))})}else if(o.type===`add`&&o.index!==void 0){let e=o.items.map((e,n)=>{let i=a(t(e,o.index+n));return i&&r.set(o.index+n,i),i}).filter(e=>e!==null);n.splice(o.index,0,...e)}else if(o.type===`remove`&&o.index!==void 0)n.splice(o.index,1).forEach(e=>{B(e),r.delete(o.index)});else if(o.type===`update`&&o.index!==void 0&&o.items.length===1){let e=o.index,i=o.items[0];if(e>=n.length||n[e]===void 0||!r.has(e)){let o=a(t(i,e));o?(n.splice(e,0,o),r.set(e,o)):console.warn(`Element creation returned null for index ${e} during add-like update.`)}else{let o=n[e];B(o);let s=a(t(i,e));s?(n[e]=s,r.set(e,s)):(n.splice(e,1),r.delete(e))}}s.next({elements:[...n]})}):e.observable.subscribe(o=>{let c=o.key;if(i){i=!1,n.forEach(e=>B(e)),n=[],r.clear();let o=e();o&&Object.entries(o).forEach(([e,i])=>{let o=a(t(i,e));o&&(n.push(o),r.set(e,o))}),s.next({elements:[...n]});return}if(o.type===`init`||o.type===`reset`){n.forEach(e=>B(e)),n=[],r.clear();let i=e();i&&Object.entries(i).forEach(([e,i])=>{let o=a(t(i,e));o&&(n.push(o),r.set(e,o))})}else if(o.type===`add`&&o.key&&o.value!==void 0){let e=a(t(o.value,c));e&&(n.push(e),r.set(c,e))}else if(o.type===`remove`&&o.key){let e=n.findIndex(e=>r.get(c)===e);if(e!==-1){let[t]=n.splice(e,1);B(t),r.delete(c)}}else if(o.type===`update`&&o.key&&o.value!==void 0){let e=n.findIndex(e=>r.get(c)===e);if(e!==-1){let i=n[e];B(i);let s=a(t(o.value,c));s&&(n[e]=s,r.set(c,s))}}s.next({elements:[...n]})});return()=>{c.unsubscribe(),n.forEach(e=>B(e))}})}).pipe(Lt({bufferSize:1,refCount:!0}))}function _a(e,t,...n){let r=null,i=-1,a=[],o=null,s=e=>I(e)?e:typeof e==`function`?L(e):F(e);for(let e of n)if(Array.isArray(e))a.push({condition:s(e[0]),elementFn:e[1]});else if(typeof e==`function`){o=e;break}let c=[{condition:s(e),elementFn:t},...a];return new D(e=>{let t=[],n=()=>{let t=-1;for(let e=0;e<c.length;e++){let n=c[e].condition;if(n()){t=e;break}}let n=t===-1&&o,a=n?-2:t;if(a!==i)if(r&&=(B(r),null),i=a,n){let t=o();Ht(t)?gt(t).subscribe(t=>{r=t,e.next({type:`init`,elements:[t]})}):(r=t,e.next({type:`init`,elements:[r]}))}else if(t>=0){let n=c[t].elementFn();Ht(n)?gt(n).subscribe(t=>{r=t,e.next({type:`init`,elements:[t]})}):(r=n,e.next({type:`init`,elements:[r]}))}else e.next({elements:[]})};return c.forEach(({condition:e})=>{let r=e;t.push(r.observable.subscribe(()=>{n()}))}),n(),()=>{t.forEach(e=>e.unsubscribe()),r&&B(r)}}).pipe(Ft())}var va=class extends M{constructor(...e){super(...e),this.keyboardControls=null,this.gamepadControls=null,this.joystickControls=null,this.freezeSubscription=null,this.element=null}onInit(e){this.element=e;let t=e.props.controls?.value??e.props.controls;if(!t)return;this.keyboardControls=new on,this.keyboardControls.setInputs(t),this.keyboardControls.start();let n=t.gamepad;n!==void 0&&n.enabled!==!1&&(this.gamepadControls=new wn,this.gamepadControls.setInputs(t),this.gamepadControls.start());let r=t.joystick;r!==void 0&&r.enabled!==!1&&(this.joystickControls=new En,this.joystickControls.setInputs(t),this.joystickControls.start()),ma(e)&&this.stopInputs();let i=e.propObservables?.freeze??e.props?.freeze;I(i)&&(this.freezeSubscription=i.observable.subscribe(e=>{e?this.stopInputs():this.listenInputs()}))}onMount(e){}onUpdate(e,t){let n=e.controls?.value??e.controls;n&&(this.keyboardControls&&this.keyboardControls.setInputs(n),this.gamepadControls&&this.gamepadControls.setInputs(n)),e.freeze!==void 0&&this.element&&(ma(this.element)?this.stopInputs():this.listenInputs())}onDestroy(e){this.freezeSubscription&&=(this.freezeSubscription.unsubscribe(),null),this.keyboardControls&&=(this.keyboardControls.destroy(),null),this.gamepadControls&&=(this.gamepadControls.destroy(),null),this.joystickControls&&=(this.joystickControls.destroy(),null),this.element=null}getControl(e){return this.keyboardControls?.getControl(e)}getControls(){return this.keyboardControls?.getControls()||{}}async applyControl(e,t,n){this.keyboardControls&&await this.keyboardControls.applyControl(e,t),this.gamepadControls&&await this.gamepadControls.applyControl(e,t,n),this.joystickControls&&await this.joystickControls.applyControl(e,t,n)}stopInputs(){this.keyboardControls&&this.keyboardControls.stopInputs(),this.gamepadControls&&this.gamepadControls.stopInputs(),this.joystickControls&&this.joystickControls.stopInputs()}listenInputs(){this.keyboardControls&&this.keyboardControls.listenInputs(),this.gamepadControls&&this.gamepadControls.listenInputs(),this.joystickControls&&this.joystickControls.listenInputs()}get options(){return this.keyboardControls?.options||{}}get keyboard(){return this.keyboardControls}get gamepad(){return this.gamepadControls}get joystick(){return this.joystickControls}};On(`controls`,va);var ya=class extends M{constructor(...e){super(...e),this.fps=60,this.deltaTime=0,this.frame=0,this.timestamp=0,this.requestedDelay=0,this.lastTimestamp=0,this._stop=!1}onInit(e){this.tick=e.propObservables?.tick}onDestroy(){}onMount(e){}onUpdate(e){}nextTick(e){let t=typeof e==`number`&&e>0?e:Bt();this.lastTimestamp===0?(this.lastTimestamp=t,this.deltaTime=0):(this.deltaTime=t-this.lastTimestamp,this.lastTimestamp=t),this.timestamp=t,this.tick.set({timestamp:this.timestamp,deltaTime:this.deltaTime,frame:this.frame,deltaRatio:~~this.deltaTime/~~Vt(this.fps)}),this.lastTimestamp=this.timestamp,this.frame++}start(e={}){e.maxFps&&(this.maxFps=e.maxFps),e.fps&&(this.fps=e.fps),e.delay&&(this.requestedDelay=e.delay);let t=e=>{zt()?window.requestAnimationFrame(e.bind(this)):setTimeout(()=>{this.requestedDelay=0,e(Bt())},Vt(this.fps)+this.requestedDelay)};if(this.maxFps){let e=Vt(this.maxFps),n=Bt(),r=Bt(),i=a=>{if(this._stop)return;t(i),n=Bt();let o=n-r;o>e&&(r=n-o%e,this.nextTick(a))};t(i)}else{let e=n=>{t(e),this.nextTick(n)};t(e)}return this}stop(){this._stop=!0}};On(`tick`,ya);var H=(e,t={})=>{if(I(e))return e();let n={};for(let t in e){let r=e[t];n[t]=ra(r)?F(r):r}for(let e in t)e in n||(n[e]=ra(t[e])?F(t[e]):t[e]);return n},ba=e=>t=>{let n=I(e)?e():e,r={};for(let e in t){let i=t[e],a=n[e],o;if(typeof i==`function`)xa(e,a,[i]),o=a;else if(Array.isArray(i))xa(e,a,i),o=a;else if(i&&typeof i==`object`){if(i.required&&a===void 0)throw Error(`Missing required prop: ${e}`);if(i.type&&xa(e,a,Array.isArray(i.type)?i.type:[i.type]),i.validator&&!i.validator(a,n))throw Error(`Invalid prop: custom validation failed for prop "${e}"`);o=a===void 0&&`default`in i?typeof i.default==`function`?i.default(n):i.default:a}r[e]=I(o)?o:F(o)}return{...H(n),...r}};function xa(e,t,n){if(t==null)return;let r=I(t)?t():t;if(!n.some(e=>e===Number?typeof r==`number`:e===String?typeof r==`string`:e===Boolean?typeof r==`boolean`:e===Function?typeof r==`function`:e===Object?typeof r==`object`:e===Array?Array.isArray(r):e===null?r===null:r instanceof e))throw Error(`Invalid prop: type check failed for prop "${e}". Expected ${n.map(e=>e.name).join(` or `)}`)}var Sa=class extends M{onInit(e){}onMount(e){this.onUpdate(e.props.viewportFollow,e)}onUpdate(e,t){let n=t.props.context?.viewport;if(!n){if(e)throw Qt(`ViewportFollow directive requires a Viewport component to be mounted in the same context`);return}if(e)if(e===!0)n.follow(t.componentInstance);else{let r=H(e,{speed:void 0,acceleration:void 0,radius:void 0});n.follow(t.componentInstance,{speed:r.speed(),acceleration:r.acceleration(),radius:r.radius()})}else e===null&&n.plugins.remove(`follow`)}onDestroy(e){let{viewportFollow:t}=e.props,n=e.props.context?.viewport;t&&n&&n.plugins.remove(`follow`)}};On(`viewportFollow`,Sa);var Ca=f(l((e=>{(function(){"use strict";var t=function(){this.init()};t.prototype={init:function(){var e=this||n;return e._counter=1e3,e._html5AudioPool=[],e.html5PoolSize=10,e._codecs={},e._howls=[],e._muted=!1,e._volume=1,e._canPlayEvent=`canplaythrough`,e._navigator=typeof window<`u`&&window.navigator?window.navigator:null,e.masterGain=null,e.noAudio=!1,e.usingWebAudio=!0,e.autoSuspend=!0,e.ctx=null,e.autoUnlock=!0,e._setup(),e},volume:function(e){var t=this||n;if(e=parseFloat(e),t.ctx||u(),e!==void 0&&e>=0&&e<=1){if(t._volume=e,t._muted)return t;t.usingWebAudio&&t.masterGain.gain.setValueAtTime(e,n.ctx.currentTime);for(var r=0;r<t._howls.length;r++)if(!t._howls[r]._webAudio)for(var i=t._howls[r]._getSoundIds(),a=0;a<i.length;a++){var o=t._howls[r]._soundById(i[a]);o&&o._node&&(o._node.volume=o._volume*e)}return t}return t._volume},mute:function(e){var t=this||n;t.ctx||u(),t._muted=e,t.usingWebAudio&&t.masterGain.gain.setValueAtTime(e?0:t._volume,n.ctx.currentTime);for(var r=0;r<t._howls.length;r++)if(!t._howls[r]._webAudio)for(var i=t._howls[r]._getSoundIds(),a=0;a<i.length;a++){var o=t._howls[r]._soundById(i[a]);o&&o._node&&(o._node.muted=e?!0:o._muted)}return t},stop:function(){for(var e=this||n,t=0;t<e._howls.length;t++)e._howls[t].stop();return e},unload:function(){for(var e=this||n,t=e._howls.length-1;t>=0;t--)e._howls[t].unload();return e.usingWebAudio&&e.ctx&&e.ctx.close!==void 0&&(e.ctx.close(),e.ctx=null,u()),e},codecs:function(e){return(this||n)._codecs[e.replace(/^x-/,``)]},_setup:function(){var e=this||n;if(e.state=e.ctx&&e.ctx.state||`suspended`,e._autoSuspend(),!e.usingWebAudio)if(typeof Audio<`u`)try{var t=new Audio;t.oncanplaythrough===void 0&&(e._canPlayEvent=`canplay`)}catch{e.noAudio=!0}else e.noAudio=!0;try{var t=new Audio;t.muted&&(e.noAudio=!0)}catch{}return e.noAudio||e._setupCodecs(),e},_setupCodecs:function(){var e=this||n,t=null;try{t=typeof Audio<`u`?new Audio:null}catch{return e}if(!t||typeof t.canPlayType!=`function`)return e;var r=t.canPlayType(`audio/mpeg;`).replace(/^no$/,``),i=e._navigator?e._navigator.userAgent:``,a=i.match(/OPR\/(\d+)/g),o=a&&parseInt(a[0].split(`/`)[1],10)<33,s=i.indexOf(`Safari`)!==-1&&i.indexOf(`Chrome`)===-1,c=i.match(/Version\/(.*?) /),l=s&&c&&parseInt(c[1],10)<15;return e._codecs={mp3:!!(!o&&(r||t.canPlayType(`audio/mp3;`).replace(/^no$/,``))),mpeg:!!r,opus:!!t.canPlayType(`audio/ogg; codecs="opus"`).replace(/^no$/,``),ogg:!!t.canPlayType(`audio/ogg; codecs="vorbis"`).replace(/^no$/,``),oga:!!t.canPlayType(`audio/ogg; codecs="vorbis"`).replace(/^no$/,``),wav:!!(t.canPlayType(`audio/wav; codecs="1"`)||t.canPlayType(`audio/wav`)).replace(/^no$/,``),aac:!!t.canPlayType(`audio/aac;`).replace(/^no$/,``),caf:!!t.canPlayType(`audio/x-caf;`).replace(/^no$/,``),m4a:!!(t.canPlayType(`audio/x-m4a;`)||t.canPlayType(`audio/m4a;`)||t.canPlayType(`audio/aac;`)).replace(/^no$/,``),m4b:!!(t.canPlayType(`audio/x-m4b;`)||t.canPlayType(`audio/m4b;`)||t.canPlayType(`audio/aac;`)).replace(/^no$/,``),mp4:!!(t.canPlayType(`audio/x-mp4;`)||t.canPlayType(`audio/mp4;`)||t.canPlayType(`audio/aac;`)).replace(/^no$/,``),weba:!!(!l&&t.canPlayType(`audio/webm; codecs="vorbis"`).replace(/^no$/,``)),webm:!!(!l&&t.canPlayType(`audio/webm; codecs="vorbis"`).replace(/^no$/,``)),dolby:!!t.canPlayType(`audio/mp4; codecs="ec-3"`).replace(/^no$/,``),flac:!!(t.canPlayType(`audio/x-flac;`)||t.canPlayType(`audio/flac;`)).replace(/^no$/,``)},e},_unlockAudio:function(){var e=this||n;if(!(e._audioUnlocked||!e.ctx)){e._audioUnlocked=!1,e.autoUnlock=!1,!e._mobileUnloaded&&e.ctx.sampleRate!==44100&&(e._mobileUnloaded=!0,e.unload()),e._scratchBuffer=e.ctx.createBuffer(1,1,22050);var t=function(n){for(;e._html5AudioPool.length<e.html5PoolSize;)try{var r=new Audio;r._unlocked=!0,e._releaseHtml5Audio(r)}catch{e.noAudio=!0;break}for(var i=0;i<e._howls.length;i++)if(!e._howls[i]._webAudio)for(var a=e._howls[i]._getSoundIds(),o=0;o<a.length;o++){var s=e._howls[i]._soundById(a[o]);s&&s._node&&!s._node._unlocked&&(s._node._unlocked=!0,s._node.load())}e._autoResume();var c=e.ctx.createBufferSource();c.buffer=e._scratchBuffer,c.connect(e.ctx.destination),c.start===void 0?c.noteOn(0):c.start(0),typeof e.ctx.resume==`function`&&e.ctx.resume(),c.onended=function(){c.disconnect(0),e._audioUnlocked=!0,document.removeEventListener(`touchstart`,t,!0),document.removeEventListener(`touchend`,t,!0),document.removeEventListener(`click`,t,!0),document.removeEventListener(`keydown`,t,!0);for(var n=0;n<e._howls.length;n++)e._howls[n]._emit(`unlock`)}};return document.addEventListener(`touchstart`,t,!0),document.addEventListener(`touchend`,t,!0),document.addEventListener(`click`,t,!0),document.addEventListener(`keydown`,t,!0),e}},_obtainHtml5Audio:function(){var e=this||n;if(e._html5AudioPool.length)return e._html5AudioPool.pop();var t=new Audio().play();return t&&typeof Promise<`u`&&(t instanceof Promise||typeof t.then==`function`)&&t.catch(function(){console.warn(`HTML5 Audio pool exhausted, returning potentially locked audio object.`)}),new Audio},_releaseHtml5Audio:function(e){var t=this||n;return e._unlocked&&t._html5AudioPool.push(e),t},_autoSuspend:function(){var e=this;if(!(!e.autoSuspend||!e.ctx||e.ctx.suspend===void 0||!n.usingWebAudio)){for(var t=0;t<e._howls.length;t++)if(e._howls[t]._webAudio){for(var r=0;r<e._howls[t]._sounds.length;r++)if(!e._howls[t]._sounds[r]._paused)return e}return e._suspendTimer&&clearTimeout(e._suspendTimer),e._suspendTimer=setTimeout(function(){if(e.autoSuspend){e._suspendTimer=null,e.state=`suspending`;var t=function(){e.state=`suspended`,e._resumeAfterSuspend&&(delete e._resumeAfterSuspend,e._autoResume())};e.ctx.suspend().then(t,t)}},3e4),e}},_autoResume:function(){var e=this;if(!(!e.ctx||e.ctx.resume===void 0||!n.usingWebAudio))return e.state===`running`&&e.ctx.state!==`interrupted`&&e._suspendTimer?(clearTimeout(e._suspendTimer),e._suspendTimer=null):e.state===`suspended`||e.state===`running`&&e.ctx.state===`interrupted`?(e.ctx.resume().then(function(){e.state=`running`;for(var t=0;t<e._howls.length;t++)e._howls[t]._emit(`resume`)}),e._suspendTimer&&=(clearTimeout(e._suspendTimer),null)):e.state===`suspending`&&(e._resumeAfterSuspend=!0),e}};var n=new t,r=function(e){var t=this;if(!e.src||e.src.length===0){console.error(`An array of source files must be passed with any new Howl.`);return}t.init(e)};r.prototype={init:function(e){var t=this;return n.ctx||u(),t._autoplay=e.autoplay||!1,t._format=typeof e.format==`string`?[e.format]:e.format,t._html5=e.html5||!1,t._muted=e.mute||!1,t._loop=e.loop||!1,t._pool=e.pool||5,t._preload=typeof e.preload==`boolean`||e.preload===`metadata`?e.preload:!0,t._rate=e.rate||1,t._sprite=e.sprite||{},t._src=typeof e.src==`string`?[e.src]:e.src,t._volume=e.volume===void 0?1:e.volume,t._xhr={method:e.xhr&&e.xhr.method?e.xhr.method:`GET`,headers:e.xhr&&e.xhr.headers?e.xhr.headers:null,withCredentials:e.xhr&&e.xhr.withCredentials?e.xhr.withCredentials:!1},t._duration=0,t._state=`unloaded`,t._sounds=[],t._endTimers={},t._queue=[],t._playLock=!1,t._onend=e.onend?[{fn:e.onend}]:[],t._onfade=e.onfade?[{fn:e.onfade}]:[],t._onload=e.onload?[{fn:e.onload}]:[],t._onloaderror=e.onloaderror?[{fn:e.onloaderror}]:[],t._onplayerror=e.onplayerror?[{fn:e.onplayerror}]:[],t._onpause=e.onpause?[{fn:e.onpause}]:[],t._onplay=e.onplay?[{fn:e.onplay}]:[],t._onstop=e.onstop?[{fn:e.onstop}]:[],t._onmute=e.onmute?[{fn:e.onmute}]:[],t._onvolume=e.onvolume?[{fn:e.onvolume}]:[],t._onrate=e.onrate?[{fn:e.onrate}]:[],t._onseek=e.onseek?[{fn:e.onseek}]:[],t._onunlock=e.onunlock?[{fn:e.onunlock}]:[],t._onresume=[],t._webAudio=n.usingWebAudio&&!t._html5,n.ctx!==void 0&&n.ctx&&n.autoUnlock&&n._unlockAudio(),n._howls.push(t),t._autoplay&&t._queue.push({event:`play`,action:function(){t.play()}}),t._preload&&t._preload!==`none`&&t.load(),t},load:function(){var e=this,t=null;if(n.noAudio){e._emit(`loaderror`,null,`No audio support.`);return}typeof e._src==`string`&&(e._src=[e._src]);for(var r=0;r<e._src.length;r++){var a,s;if(e._format&&e._format[r])a=e._format[r];else{if(s=e._src[r],typeof s!=`string`){e._emit(`loaderror`,null,`Non-string found in selected audio sources - ignoring.`);continue}a=/^data:audio\/([^;,]+);/i.exec(s),a||=/\.([^.]+)$/.exec(s.split(`?`,1)[0]),a&&=a[1].toLowerCase()}if(a||console.warn(`No file extension was found. Consider using the "format" property or specify an extension.`),a&&n.codecs(a)){t=e._src[r];break}}if(!t){e._emit(`loaderror`,null,`No codec support for selected audio sources.`);return}return e._src=t,e._state=`loading`,window.location.protocol===`https:`&&t.slice(0,5)===`http:`&&(e._html5=!0,e._webAudio=!1),new i(e),e._webAudio&&o(e),e},play:function(e,t){var r=this,i=null;if(typeof e==`number`)i=e,e=null;else if(typeof e==`string`&&r._state===`loaded`&&!r._sprite[e])return null;else if(e===void 0&&(e=`__default`,!r._playLock)){for(var a=0,o=0;o<r._sounds.length;o++)r._sounds[o]._paused&&!r._sounds[o]._ended&&(a++,i=r._sounds[o]._id);a===1?e=null:i=null}var s=i?r._soundById(i):r._inactiveSound();if(!s)return null;if(i&&!e&&(e=s._sprite||`__default`),r._state!==`loaded`){s._sprite=e,s._ended=!1;var c=s._id;return r._queue.push({event:`play`,action:function(){r.play(c)}}),c}if(i&&!s._paused)return t||r._loadQueue(`play`),s._id;r._webAudio&&n._autoResume();var l=Math.max(0,s._seek>0?s._seek:r._sprite[e][0]/1e3),u=Math.max(0,(r._sprite[e][0]+r._sprite[e][1])/1e3-l),d=u*1e3/Math.abs(s._rate),f=r._sprite[e][0]/1e3,p=(r._sprite[e][0]+r._sprite[e][1])/1e3;s._sprite=e,s._ended=!1;var m=function(){s._paused=!1,s._seek=l,s._start=f,s._stop=p,s._loop=!!(s._loop||r._sprite[e][2])};if(l>=p){r._ended(s);return}var h=s._node;if(r._webAudio){var g=function(){r._playLock=!1,m(),r._refreshBuffer(s);var e=s._muted||r._muted?0:s._volume;h.gain.setValueAtTime(e,n.ctx.currentTime),s._playStart=n.ctx.currentTime,h.bufferSource.start===void 0?s._loop?h.bufferSource.noteGrainOn(0,l,86400):h.bufferSource.noteGrainOn(0,l,u):s._loop?h.bufferSource.start(0,l,86400):h.bufferSource.start(0,l,u),d!==1/0&&(r._endTimers[s._id]=setTimeout(r._ended.bind(r,s),d)),t||setTimeout(function(){r._emit(`play`,s._id),r._loadQueue()},0)};n.state===`running`&&n.ctx.state!==`interrupted`?g():(r._playLock=!0,r.once(`resume`,g),r._clearTimer(s._id))}else{var _=function(){h.currentTime=l,h.muted=s._muted||r._muted||n._muted||h.muted,h.volume=s._volume*n.volume(),h.playbackRate=s._rate;try{var i=h.play();if(i&&typeof Promise<`u`&&(i instanceof Promise||typeof i.then==`function`)?(r._playLock=!0,m(),i.then(function(){r._playLock=!1,h._unlocked=!0,t?r._loadQueue():r._emit(`play`,s._id)}).catch(function(){r._playLock=!1,r._emit(`playerror`,s._id,`Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.`),s._ended=!0,s._paused=!0})):t||(r._playLock=!1,m(),r._emit(`play`,s._id)),h.playbackRate=s._rate,h.paused){r._emit(`playerror`,s._id,`Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.`);return}e!==`__default`||s._loop?r._endTimers[s._id]=setTimeout(r._ended.bind(r,s),d):(r._endTimers[s._id]=function(){r._ended(s),h.removeEventListener(`ended`,r._endTimers[s._id],!1)},h.addEventListener(`ended`,r._endTimers[s._id],!1))}catch(e){r._emit(`playerror`,s._id,e)}};h.src===`data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA`&&(h.src=r._src,h.load());var v=window&&window.ejecta||!h.readyState&&n._navigator.isCocoonJS;if(h.readyState>=3||v)_();else{r._playLock=!0,r._state=`loading`;var y=function(){r._state=`loaded`,_(),h.removeEventListener(n._canPlayEvent,y,!1)};h.addEventListener(n._canPlayEvent,y,!1),r._clearTimer(s._id)}}return s._id},pause:function(e){var t=this;if(t._state!==`loaded`||t._playLock)return t._queue.push({event:`pause`,action:function(){t.pause(e)}}),t;for(var n=t._getSoundIds(e),r=0;r<n.length;r++){t._clearTimer(n[r]);var i=t._soundById(n[r]);if(i&&!i._paused&&(i._seek=t.seek(n[r]),i._rateSeek=0,i._paused=!0,t._stopFade(n[r]),i._node))if(t._webAudio){if(!i._node.bufferSource)continue;i._node.bufferSource.stop===void 0?i._node.bufferSource.noteOff(0):i._node.bufferSource.stop(0),t._cleanBuffer(i._node)}else (!isNaN(i._node.duration)||i._node.duration===1/0)&&i._node.pause();arguments[1]||t._emit(`pause`,i?i._id:null)}return t},stop:function(e,t){var n=this;if(n._state!==`loaded`||n._playLock)return n._queue.push({event:`stop`,action:function(){n.stop(e)}}),n;for(var r=n._getSoundIds(e),i=0;i<r.length;i++){n._clearTimer(r[i]);var a=n._soundById(r[i]);a&&(a._seek=a._start||0,a._rateSeek=0,a._paused=!0,a._ended=!0,n._stopFade(r[i]),a._node&&(n._webAudio?a._node.bufferSource&&(a._node.bufferSource.stop===void 0?a._node.bufferSource.noteOff(0):a._node.bufferSource.stop(0),n._cleanBuffer(a._node)):(!isNaN(a._node.duration)||a._node.duration===1/0)&&(a._node.currentTime=a._start||0,a._node.pause(),a._node.duration===1/0&&n._clearSound(a._node))),t||n._emit(`stop`,a._id))}return n},mute:function(e,t){var r=this;if(r._state!==`loaded`||r._playLock)return r._queue.push({event:`mute`,action:function(){r.mute(e,t)}}),r;if(t===void 0)if(typeof e==`boolean`)r._muted=e;else return r._muted;for(var i=r._getSoundIds(t),a=0;a<i.length;a++){var o=r._soundById(i[a]);o&&(o._muted=e,o._interval&&r._stopFade(o._id),r._webAudio&&o._node?o._node.gain.setValueAtTime(e?0:o._volume,n.ctx.currentTime):o._node&&(o._node.muted=n._muted?!0:e),r._emit(`mute`,o._id))}return r},volume:function(){var e=this,t=arguments,r,i;if(t.length===0)return e._volume;t.length===1||t.length===2&&t[1]===void 0?e._getSoundIds().indexOf(t[0])>=0?i=parseInt(t[0],10):r=parseFloat(t[0]):t.length>=2&&(r=parseFloat(t[0]),i=parseInt(t[1],10));var a;if(r!==void 0&&r>=0&&r<=1){if(e._state!==`loaded`||e._playLock)return e._queue.push({event:`volume`,action:function(){e.volume.apply(e,t)}}),e;i===void 0&&(e._volume=r),i=e._getSoundIds(i);for(var o=0;o<i.length;o++)a=e._soundById(i[o]),a&&(a._volume=r,t[2]||e._stopFade(i[o]),e._webAudio&&a._node&&!a._muted?a._node.gain.setValueAtTime(r,n.ctx.currentTime):a._node&&!a._muted&&(a._node.volume=r*n.volume()),e._emit(`volume`,a._id))}else return a=i?e._soundById(i):e._sounds[0],a?a._volume:0;return e},fade:function(e,t,r,i){var a=this;if(a._state!==`loaded`||a._playLock)return a._queue.push({event:`fade`,action:function(){a.fade(e,t,r,i)}}),a;e=Math.min(Math.max(0,parseFloat(e)),1),t=Math.min(Math.max(0,parseFloat(t)),1),r=parseFloat(r),a.volume(e,i);for(var o=a._getSoundIds(i),s=0;s<o.length;s++){var c=a._soundById(o[s]);if(c){if(i||a._stopFade(o[s]),a._webAudio&&!c._muted){var l=n.ctx.currentTime,u=l+r/1e3;c._volume=e,c._node.gain.setValueAtTime(e,l),c._node.gain.linearRampToValueAtTime(t,u)}a._startFadeInterval(c,e,t,r,o[s],i===void 0)}}return a},_startFadeInterval:function(e,t,n,r,i,a){var o=this,s=t,c=n-t,l=Math.abs(c/.01),u=Math.max(4,l>0?r/l:r),d=Date.now();e._fadeTo=n,e._interval=setInterval(function(){var i=(Date.now()-d)/r;d=Date.now(),s+=c*i,s=Math.round(s*100)/100,s=c<0?Math.max(n,s):Math.min(n,s),o._webAudio?e._volume=s:o.volume(s,e._id,!0),a&&(o._volume=s),(n<t&&s<=n||n>t&&s>=n)&&(clearInterval(e._interval),e._interval=null,e._fadeTo=null,o.volume(n,e._id),o._emit(`fade`,e._id))},u)},_stopFade:function(e){var t=this,r=t._soundById(e);return r&&r._interval&&(t._webAudio&&r._node.gain.cancelScheduledValues(n.ctx.currentTime),clearInterval(r._interval),r._interval=null,t.volume(r._fadeTo,e),r._fadeTo=null,t._emit(`fade`,e)),t},loop:function(){var e=this,t=arguments,n,r,i;if(t.length===0)return e._loop;if(t.length===1)if(typeof t[0]==`boolean`)n=t[0],e._loop=n;else return i=e._soundById(parseInt(t[0],10)),i?i._loop:!1;else t.length===2&&(n=t[0],r=parseInt(t[1],10));for(var a=e._getSoundIds(r),o=0;o<a.length;o++)i=e._soundById(a[o]),i&&(i._loop=n,e._webAudio&&i._node&&i._node.bufferSource&&(i._node.bufferSource.loop=n,n&&(i._node.bufferSource.loopStart=i._start||0,i._node.bufferSource.loopEnd=i._stop,e.playing(a[o])&&(e.pause(a[o],!0),e.play(a[o],!0)))));return e},rate:function(){var e=this,t=arguments,r,i;t.length===0?i=e._sounds[0]._id:t.length===1?e._getSoundIds().indexOf(t[0])>=0?i=parseInt(t[0],10):r=parseFloat(t[0]):t.length===2&&(r=parseFloat(t[0]),i=parseInt(t[1],10));var a;if(typeof r==`number`){if(e._state!==`loaded`||e._playLock)return e._queue.push({event:`rate`,action:function(){e.rate.apply(e,t)}}),e;i===void 0&&(e._rate=r),i=e._getSoundIds(i);for(var o=0;o<i.length;o++)if(a=e._soundById(i[o]),a){e.playing(i[o])&&(a._rateSeek=e.seek(i[o]),a._playStart=e._webAudio?n.ctx.currentTime:a._playStart),a._rate=r,e._webAudio&&a._node&&a._node.bufferSource?a._node.bufferSource.playbackRate.setValueAtTime(r,n.ctx.currentTime):a._node&&(a._node.playbackRate=r);var s=e.seek(i[o]),c=((e._sprite[a._sprite][0]+e._sprite[a._sprite][1])/1e3-s)*1e3/Math.abs(a._rate);(e._endTimers[i[o]]||!a._paused)&&(e._clearTimer(i[o]),e._endTimers[i[o]]=setTimeout(e._ended.bind(e,a),c)),e._emit(`rate`,a._id)}}else return a=e._soundById(i),a?a._rate:e._rate;return e},seek:function(){var e=this,t=arguments,r,i;if(t.length===0?e._sounds.length&&(i=e._sounds[0]._id):t.length===1?e._getSoundIds().indexOf(t[0])>=0?i=parseInt(t[0],10):e._sounds.length&&(i=e._sounds[0]._id,r=parseFloat(t[0])):t.length===2&&(r=parseFloat(t[0]),i=parseInt(t[1],10)),i===void 0)return 0;if(typeof r==`number`&&(e._state!==`loaded`||e._playLock))return e._queue.push({event:`seek`,action:function(){e.seek.apply(e,t)}}),e;var a=e._soundById(i);if(a)if(typeof r==`number`&&r>=0){var o=e.playing(i);o&&e.pause(i,!0),a._seek=r,a._ended=!1,e._clearTimer(i),!e._webAudio&&a._node&&!isNaN(a._node.duration)&&(a._node.currentTime=r);var s=function(){o&&e.play(i,!0),e._emit(`seek`,i)};if(o&&!e._webAudio){var c=function(){e._playLock?setTimeout(c,0):s()};setTimeout(c,0)}else s()}else if(e._webAudio){var l=e.playing(i)?n.ctx.currentTime-a._playStart:0,u=a._rateSeek?a._rateSeek-a._seek:0;return a._seek+(u+l*Math.abs(a._rate))}else return a._node.currentTime;return e},playing:function(e){var t=this;if(typeof e==`number`){var n=t._soundById(e);return n?!n._paused:!1}for(var r=0;r<t._sounds.length;r++)if(!t._sounds[r]._paused)return!0;return!1},duration:function(e){var t=this,n=t._duration,r=t._soundById(e);return r&&(n=t._sprite[r._sprite][1]/1e3),n},state:function(){return this._state},unload:function(){for(var e=this,t=e._sounds,r=0;r<t.length;r++)t[r]._paused||e.stop(t[r]._id),e._webAudio||(e._clearSound(t[r]._node),t[r]._node.removeEventListener(`error`,t[r]._errorFn,!1),t[r]._node.removeEventListener(n._canPlayEvent,t[r]._loadFn,!1),t[r]._node.removeEventListener(`ended`,t[r]._endFn,!1),n._releaseHtml5Audio(t[r]._node)),delete t[r]._node,e._clearTimer(t[r]._id);var i=n._howls.indexOf(e);i>=0&&n._howls.splice(i,1);var o=!0;for(r=0;r<n._howls.length;r++)if(n._howls[r]._src===e._src||e._src.indexOf(n._howls[r]._src)>=0){o=!1;break}return a&&o&&delete a[e._src],n.noAudio=!1,e._state=`unloaded`,e._sounds=[],e=null,null},on:function(e,t,n,r){var i=this,a=i[`_on`+e];return typeof t==`function`&&a.push(r?{id:n,fn:t,once:r}:{id:n,fn:t}),i},off:function(e,t,n){var r=this,i=r[`_on`+e],a=0;if(typeof t==`number`&&(n=t,t=null),t||n)for(a=0;a<i.length;a++){var o=n===i[a].id;if(t===i[a].fn&&o||!t&&o){i.splice(a,1);break}}else if(e)r[`_on`+e]=[];else{var s=Object.keys(r);for(a=0;a<s.length;a++)s[a].indexOf(`_on`)===0&&Array.isArray(r[s[a]])&&(r[s[a]]=[])}return r},once:function(e,t,n){var r=this;return r.on(e,t,n,1),r},_emit:function(e,t,n){for(var r=this,i=r[`_on`+e],a=i.length-1;a>=0;a--)(!i[a].id||i[a].id===t||e===`load`)&&(setTimeout(function(e){e.call(this,t,n)}.bind(r,i[a].fn),0),i[a].once&&r.off(e,i[a].fn,i[a].id));return r._loadQueue(e),r},_loadQueue:function(e){var t=this;if(t._queue.length>0){var n=t._queue[0];n.event===e&&(t._queue.shift(),t._loadQueue()),e||n.action()}return t},_ended:function(e){var t=this,r=e._sprite;if(!t._webAudio&&e._node&&!e._node.paused&&!e._node.ended&&e._node.currentTime<e._stop)return setTimeout(t._ended.bind(t,e),100),t;var i=!!(e._loop||t._sprite[r][2]);if(t._emit(`end`,e._id),!t._webAudio&&i&&t.stop(e._id,!0).play(e._id),t._webAudio&&i){t._emit(`play`,e._id),e._seek=e._start||0,e._rateSeek=0,e._playStart=n.ctx.currentTime;var a=(e._stop-e._start)*1e3/Math.abs(e._rate);t._endTimers[e._id]=setTimeout(t._ended.bind(t,e),a)}return t._webAudio&&!i&&(e._paused=!0,e._ended=!0,e._seek=e._start||0,e._rateSeek=0,t._clearTimer(e._id),t._cleanBuffer(e._node),n._autoSuspend()),!t._webAudio&&!i&&t.stop(e._id,!0),t},_clearTimer:function(e){var t=this;if(t._endTimers[e]){if(typeof t._endTimers[e]!=`function`)clearTimeout(t._endTimers[e]);else{var n=t._soundById(e);n&&n._node&&n._node.removeEventListener(`ended`,t._endTimers[e],!1)}delete t._endTimers[e]}return t},_soundById:function(e){for(var t=this,n=0;n<t._sounds.length;n++)if(e===t._sounds[n]._id)return t._sounds[n];return null},_inactiveSound:function(){var e=this;e._drain();for(var t=0;t<e._sounds.length;t++)if(e._sounds[t]._ended)return e._sounds[t].reset();return new i(e)},_drain:function(){var e=this,t=e._pool,n=0,r=0;if(!(e._sounds.length<t)){for(r=0;r<e._sounds.length;r++)e._sounds[r]._ended&&n++;for(r=e._sounds.length-1;r>=0;r--){if(n<=t)return;e._sounds[r]._ended&&(e._webAudio&&e._sounds[r]._node&&e._sounds[r]._node.disconnect(0),e._sounds.splice(r,1),n--)}}},_getSoundIds:function(e){var t=this;if(e===void 0){for(var n=[],r=0;r<t._sounds.length;r++)n.push(t._sounds[r]._id);return n}else return[e]},_refreshBuffer:function(e){var t=this;return e._node.bufferSource=n.ctx.createBufferSource(),e._node.bufferSource.buffer=a[t._src],e._panner?e._node.bufferSource.connect(e._panner):e._node.bufferSource.connect(e._node),e._node.bufferSource.loop=e._loop,e._loop&&(e._node.bufferSource.loopStart=e._start||0,e._node.bufferSource.loopEnd=e._stop||0),e._node.bufferSource.playbackRate.setValueAtTime(e._rate,n.ctx.currentTime),t},_cleanBuffer:function(e){var t=this,r=n._navigator&&n._navigator.vendor.indexOf(`Apple`)>=0;if(!e.bufferSource)return t;if(n._scratchBuffer&&e.bufferSource&&(e.bufferSource.onended=null,e.bufferSource.disconnect(0),r))try{e.bufferSource.buffer=n._scratchBuffer}catch{}return e.bufferSource=null,t},_clearSound:function(e){/MSIE |Trident\//.test(n._navigator&&n._navigator.userAgent)||(e.src=`data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA`)}};var i=function(e){this._parent=e,this.init()};i.prototype={init:function(){var e=this,t=e._parent;return e._muted=t._muted,e._loop=t._loop,e._volume=t._volume,e._rate=t._rate,e._seek=0,e._paused=!0,e._ended=!0,e._sprite=`__default`,e._id=++n._counter,t._sounds.push(e),e.create(),e},create:function(){var e=this,t=e._parent,r=n._muted||e._muted||e._parent._muted?0:e._volume;return t._webAudio?(e._node=n.ctx.createGain===void 0?n.ctx.createGainNode():n.ctx.createGain(),e._node.gain.setValueAtTime(r,n.ctx.currentTime),e._node.paused=!0,e._node.connect(n.masterGain)):n.noAudio||(e._node=n._obtainHtml5Audio(),e._errorFn=e._errorListener.bind(e),e._node.addEventListener(`error`,e._errorFn,!1),e._loadFn=e._loadListener.bind(e),e._node.addEventListener(n._canPlayEvent,e._loadFn,!1),e._endFn=e._endListener.bind(e),e._node.addEventListener(`ended`,e._endFn,!1),e._node.src=t._src,e._node.preload=t._preload===!0?`auto`:t._preload,e._node.volume=r*n.volume(),e._node.load()),e},reset:function(){var e=this,t=e._parent;return e._muted=t._muted,e._loop=t._loop,e._volume=t._volume,e._rate=t._rate,e._seek=0,e._rateSeek=0,e._paused=!0,e._ended=!0,e._sprite=`__default`,e._id=++n._counter,e},_errorListener:function(){var e=this;e._parent._emit(`loaderror`,e._id,e._node.error?e._node.error.code:0),e._node.removeEventListener(`error`,e._errorFn,!1)},_loadListener:function(){var e=this,t=e._parent;t._duration=Math.ceil(e._node.duration*10)/10,Object.keys(t._sprite).length===0&&(t._sprite={__default:[0,t._duration*1e3]}),t._state!==`loaded`&&(t._state=`loaded`,t._emit(`load`),t._loadQueue()),e._node.removeEventListener(n._canPlayEvent,e._loadFn,!1)},_endListener:function(){var e=this,t=e._parent;t._duration===1/0&&(t._duration=Math.ceil(e._node.duration*10)/10,t._sprite.__default[1]===1/0&&(t._sprite.__default[1]=t._duration*1e3),t._ended(e)),e._node.removeEventListener(`ended`,e._endFn,!1)}};var a={},o=function(e){var t=e._src;if(a[t]){e._duration=a[t].duration,l(e);return}if(/^data:[^;]+;base64,/.test(t)){for(var n=atob(t.split(`,`)[1]),r=new Uint8Array(n.length),i=0;i<n.length;++i)r[i]=n.charCodeAt(i);c(r.buffer,e)}else{var o=new XMLHttpRequest;o.open(e._xhr.method,t,!0),o.withCredentials=e._xhr.withCredentials,o.responseType=`arraybuffer`,e._xhr.headers&&Object.keys(e._xhr.headers).forEach(function(t){o.setRequestHeader(t,e._xhr.headers[t])}),o.onload=function(){var t=(o.status+``)[0];if(t!==`0`&&t!==`2`&&t!==`3`){e._emit(`loaderror`,null,`Failed loading audio file with status: `+o.status+`.`);return}c(o.response,e)},o.onerror=function(){e._webAudio&&(e._html5=!0,e._webAudio=!1,e._sounds=[],delete a[t],e.load())},s(o)}},s=function(e){try{e.send()}catch{e.onerror()}},c=function(e,t){var r=function(){t._emit(`loaderror`,null,`Decoding audio data failed.`)},i=function(e){e&&t._sounds.length>0?(a[t._src]=e,l(t,e)):r()};typeof Promise<`u`&&n.ctx.decodeAudioData.length===1?n.ctx.decodeAudioData(e).then(i).catch(r):n.ctx.decodeAudioData(e,i,r)},l=function(e,t){t&&!e._duration&&(e._duration=t.duration),Object.keys(e._sprite).length===0&&(e._sprite={__default:[0,e._duration*1e3]}),e._state!==`loaded`&&(e._state=`loaded`,e._emit(`load`),e._loadQueue())},u=function(){if(n.usingWebAudio){try{typeof AudioContext<`u`?n.ctx=new AudioContext:typeof webkitAudioContext<`u`?n.ctx=new webkitAudioContext:n.usingWebAudio=!1}catch{n.usingWebAudio=!1}n.ctx||(n.usingWebAudio=!1);var e=/iP(hone|od|ad)/.test(n._navigator&&n._navigator.platform),t=n._navigator&&n._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),r=t?parseInt(t[1],10):null;if(e&&r&&r<9){var i=/safari/.test(n._navigator&&n._navigator.userAgent.toLowerCase());n._navigator&&!i&&(n.usingWebAudio=!1)}n.usingWebAudio&&(n.masterGain=n.ctx.createGain===void 0?n.ctx.createGainNode():n.ctx.createGain(),n.masterGain.gain.setValueAtTime(n._muted?0:n._volume,n.ctx.currentTime),n.masterGain.connect(n.ctx.destination)),n._setup()}};typeof define==`function`&&define.amd&&define([],function(){return{Howler:n,Howl:r}}),e!==void 0&&(e.Howler=n,e.Howl=r),typeof global<`u`?(global.HowlerGlobal=t,global.Howler=n,global.Howl=r,global.Sound=i):typeof window<`u`&&(window.HowlerGlobal=t,window.Howler=n,window.Howl=r,window.Sound=i)})(),(function(){"use strict";HowlerGlobal.prototype._pos=[0,0,0],HowlerGlobal.prototype._orientation=[0,0,-1,0,1,0],HowlerGlobal.prototype.stereo=function(e){var t=this;if(!t.ctx||!t.ctx.listener)return t;for(var n=t._howls.length-1;n>=0;n--)t._howls[n].stereo(e);return t},HowlerGlobal.prototype.pos=function(e,t,n){var r=this;if(!r.ctx||!r.ctx.listener)return r;if(t=typeof t==`number`?t:r._pos[1],n=typeof n==`number`?n:r._pos[2],typeof e==`number`)r._pos=[e,t,n],r.ctx.listener.positionX===void 0?r.ctx.listener.setPosition(r._pos[0],r._pos[1],r._pos[2]):(r.ctx.listener.positionX.setTargetAtTime(r._pos[0],Howler.ctx.currentTime,.1),r.ctx.listener.positionY.setTargetAtTime(r._pos[1],Howler.ctx.currentTime,.1),r.ctx.listener.positionZ.setTargetAtTime(r._pos[2],Howler.ctx.currentTime,.1));else return r._pos;return r},HowlerGlobal.prototype.orientation=function(e,t,n,r,i,a){var o=this;if(!o.ctx||!o.ctx.listener)return o;var s=o._orientation;if(t=typeof t==`number`?t:s[1],n=typeof n==`number`?n:s[2],r=typeof r==`number`?r:s[3],i=typeof i==`number`?i:s[4],a=typeof a==`number`?a:s[5],typeof e==`number`)o._orientation=[e,t,n,r,i,a],o.ctx.listener.forwardX===void 0?o.ctx.listener.setOrientation(e,t,n,r,i,a):(o.ctx.listener.forwardX.setTargetAtTime(e,Howler.ctx.currentTime,.1),o.ctx.listener.forwardY.setTargetAtTime(t,Howler.ctx.currentTime,.1),o.ctx.listener.forwardZ.setTargetAtTime(n,Howler.ctx.currentTime,.1),o.ctx.listener.upX.setTargetAtTime(r,Howler.ctx.currentTime,.1),o.ctx.listener.upY.setTargetAtTime(i,Howler.ctx.currentTime,.1),o.ctx.listener.upZ.setTargetAtTime(a,Howler.ctx.currentTime,.1));else return s;return o},Howl.prototype.init=(function(e){return function(t){var n=this;return n._orientation=t.orientation||[1,0,0],n._stereo=t.stereo||null,n._pos=t.pos||null,n._pannerAttr={coneInnerAngle:t.coneInnerAngle===void 0?360:t.coneInnerAngle,coneOuterAngle:t.coneOuterAngle===void 0?360:t.coneOuterAngle,coneOuterGain:t.coneOuterGain===void 0?0:t.coneOuterGain,distanceModel:t.distanceModel===void 0?`inverse`:t.distanceModel,maxDistance:t.maxDistance===void 0?1e4:t.maxDistance,panningModel:t.panningModel===void 0?`HRTF`:t.panningModel,refDistance:t.refDistance===void 0?1:t.refDistance,rolloffFactor:t.rolloffFactor===void 0?1:t.rolloffFactor},n._onstereo=t.onstereo?[{fn:t.onstereo}]:[],n._onpos=t.onpos?[{fn:t.onpos}]:[],n._onorientation=t.onorientation?[{fn:t.onorientation}]:[],e.call(this,t)}})(Howl.prototype.init),Howl.prototype.stereo=function(t,n){var r=this;if(!r._webAudio)return r;if(r._state!==`loaded`)return r._queue.push({event:`stereo`,action:function(){r.stereo(t,n)}}),r;var i=Howler.ctx.createStereoPanner===void 0?`spatial`:`stereo`;if(n===void 0)if(typeof t==`number`)r._stereo=t,r._pos=[t,0,0];else return r._stereo;for(var a=r._getSoundIds(n),o=0;o<a.length;o++){var s=r._soundById(a[o]);if(s)if(typeof t==`number`)s._stereo=t,s._pos=[t,0,0],s._node&&(s._pannerAttr.panningModel=`equalpower`,(!s._panner||!s._panner.pan)&&e(s,i),i===`spatial`?s._panner.positionX===void 0?s._panner.setPosition(t,0,0):(s._panner.positionX.setValueAtTime(t,Howler.ctx.currentTime),s._panner.positionY.setValueAtTime(0,Howler.ctx.currentTime),s._panner.positionZ.setValueAtTime(0,Howler.ctx.currentTime)):s._panner.pan.setValueAtTime(t,Howler.ctx.currentTime)),r._emit(`stereo`,s._id);else return s._stereo}return r},Howl.prototype.pos=function(t,n,r,i){var a=this;if(!a._webAudio)return a;if(a._state!==`loaded`)return a._queue.push({event:`pos`,action:function(){a.pos(t,n,r,i)}}),a;if(n=typeof n==`number`?n:0,r=typeof r==`number`?r:-.5,i===void 0)if(typeof t==`number`)a._pos=[t,n,r];else return a._pos;for(var o=a._getSoundIds(i),s=0;s<o.length;s++){var c=a._soundById(o[s]);if(c)if(typeof t==`number`)c._pos=[t,n,r],c._node&&((!c._panner||c._panner.pan)&&e(c,`spatial`),c._panner.positionX===void 0?c._panner.setPosition(t,n,r):(c._panner.positionX.setValueAtTime(t,Howler.ctx.currentTime),c._panner.positionY.setValueAtTime(n,Howler.ctx.currentTime),c._panner.positionZ.setValueAtTime(r,Howler.ctx.currentTime))),a._emit(`pos`,c._id);else return c._pos}return a},Howl.prototype.orientation=function(t,n,r,i){var a=this;if(!a._webAudio)return a;if(a._state!==`loaded`)return a._queue.push({event:`orientation`,action:function(){a.orientation(t,n,r,i)}}),a;if(n=typeof n==`number`?n:a._orientation[1],r=typeof r==`number`?r:a._orientation[2],i===void 0)if(typeof t==`number`)a._orientation=[t,n,r];else return a._orientation;for(var o=a._getSoundIds(i),s=0;s<o.length;s++){var c=a._soundById(o[s]);if(c)if(typeof t==`number`)c._orientation=[t,n,r],c._node&&(c._panner||(c._pos||=a._pos||[0,0,-.5],e(c,`spatial`)),c._panner.orientationX===void 0?c._panner.setOrientation(t,n,r):(c._panner.orientationX.setValueAtTime(t,Howler.ctx.currentTime),c._panner.orientationY.setValueAtTime(n,Howler.ctx.currentTime),c._panner.orientationZ.setValueAtTime(r,Howler.ctx.currentTime))),a._emit(`orientation`,c._id);else return c._orientation}return a},Howl.prototype.pannerAttr=function(){var t=this,n=arguments,r,i,a;if(!t._webAudio)return t;if(n.length===0)return t._pannerAttr;if(n.length===1)if(typeof n[0]==`object`)r=n[0],i===void 0&&(r.pannerAttr||={coneInnerAngle:r.coneInnerAngle,coneOuterAngle:r.coneOuterAngle,coneOuterGain:r.coneOuterGain,distanceModel:r.distanceModel,maxDistance:r.maxDistance,refDistance:r.refDistance,rolloffFactor:r.rolloffFactor,panningModel:r.panningModel},t._pannerAttr={coneInnerAngle:r.pannerAttr.coneInnerAngle===void 0?t._coneInnerAngle:r.pannerAttr.coneInnerAngle,coneOuterAngle:r.pannerAttr.coneOuterAngle===void 0?t._coneOuterAngle:r.pannerAttr.coneOuterAngle,coneOuterGain:r.pannerAttr.coneOuterGain===void 0?t._coneOuterGain:r.pannerAttr.coneOuterGain,distanceModel:r.pannerAttr.distanceModel===void 0?t._distanceModel:r.pannerAttr.distanceModel,maxDistance:r.pannerAttr.maxDistance===void 0?t._maxDistance:r.pannerAttr.maxDistance,refDistance:r.pannerAttr.refDistance===void 0?t._refDistance:r.pannerAttr.refDistance,rolloffFactor:r.pannerAttr.rolloffFactor===void 0?t._rolloffFactor:r.pannerAttr.rolloffFactor,panningModel:r.pannerAttr.panningModel===void 0?t._panningModel:r.pannerAttr.panningModel});else return a=t._soundById(parseInt(n[0],10)),a?a._pannerAttr:t._pannerAttr;else n.length===2&&(r=n[0],i=parseInt(n[1],10));for(var o=t._getSoundIds(i),s=0;s<o.length;s++)if(a=t._soundById(o[s]),a){var c=a._pannerAttr;c={coneInnerAngle:r.coneInnerAngle===void 0?c.coneInnerAngle:r.coneInnerAngle,coneOuterAngle:r.coneOuterAngle===void 0?c.coneOuterAngle:r.coneOuterAngle,coneOuterGain:r.coneOuterGain===void 0?c.coneOuterGain:r.coneOuterGain,distanceModel:r.distanceModel===void 0?c.distanceModel:r.distanceModel,maxDistance:r.maxDistance===void 0?c.maxDistance:r.maxDistance,refDistance:r.refDistance===void 0?c.refDistance:r.refDistance,rolloffFactor:r.rolloffFactor===void 0?c.rolloffFactor:r.rolloffFactor,panningModel:r.panningModel===void 0?c.panningModel:r.panningModel};var l=a._panner;l||=(a._pos||=t._pos||[0,0,-.5],e(a,`spatial`),a._panner),l.coneInnerAngle=c.coneInnerAngle,l.coneOuterAngle=c.coneOuterAngle,l.coneOuterGain=c.coneOuterGain,l.distanceModel=c.distanceModel,l.maxDistance=c.maxDistance,l.refDistance=c.refDistance,l.rolloffFactor=c.rolloffFactor,l.panningModel=c.panningModel}return t},Sound.prototype.init=(function(e){return function(){var t=this,n=t._parent;t._orientation=n._orientation,t._stereo=n._stereo,t._pos=n._pos,t._pannerAttr=n._pannerAttr,e.call(this),t._stereo?n.stereo(t._stereo):t._pos&&n.pos(t._pos[0],t._pos[1],t._pos[2],t._id)}})(Sound.prototype.init),Sound.prototype.reset=(function(e){return function(){var t=this,n=t._parent;return t._orientation=n._orientation,t._stereo=n._stereo,t._pos=n._pos,t._pannerAttr=n._pannerAttr,t._stereo?n.stereo(t._stereo):t._pos?n.pos(t._pos[0],t._pos[1],t._pos[2],t._id):t._panner&&(t._panner.disconnect(0),t._panner=void 0,n._refreshBuffer(t)),e.call(this)}})(Sound.prototype.reset);var e=function(e,t){t||=`spatial`,t===`spatial`?(e._panner=Howler.ctx.createPanner(),e._panner.coneInnerAngle=e._pannerAttr.coneInnerAngle,e._panner.coneOuterAngle=e._pannerAttr.coneOuterAngle,e._panner.coneOuterGain=e._pannerAttr.coneOuterGain,e._panner.distanceModel=e._pannerAttr.distanceModel,e._panner.maxDistance=e._pannerAttr.maxDistance,e._panner.refDistance=e._pannerAttr.refDistance,e._panner.rolloffFactor=e._pannerAttr.rolloffFactor,e._panner.panningModel=e._pannerAttr.panningModel,e._panner.positionX===void 0?e._panner.setPosition(e._pos[0],e._pos[1],e._pos[2]):(e._panner.positionX.setValueAtTime(e._pos[0],Howler.ctx.currentTime),e._panner.positionY.setValueAtTime(e._pos[1],Howler.ctx.currentTime),e._panner.positionZ.setValueAtTime(e._pos[2],Howler.ctx.currentTime)),e._panner.orientationX===void 0?e._panner.setOrientation(e._orientation[0],e._orientation[1],e._orientation[2]):(e._panner.orientationX.setValueAtTime(e._orientation[0],Howler.ctx.currentTime),e._panner.orientationY.setValueAtTime(e._orientation[1],Howler.ctx.currentTime),e._panner.orientationZ.setValueAtTime(e._orientation[2],Howler.ctx.currentTime))):(e._panner=Howler.ctx.createStereoPanner(),e._panner.pan.setValueAtTime(e._stereo,Howler.ctx.currentTime)),e._panner.connect(e._node),e._paused||e._parent.pause(e._id,!0).play(e._id,!0)}})()}))(),1),wa=[`load`,`loaderror`,`playerror`,`play`,`end`,`pause`,`stop`,`mute`,`volume`,`rate`,`seek`,`fade`,`unlock`],Ta=class extends M{constructor(...e){super(...e),this.sounds=[],this.eventsFn=[],this.maxVolume=1,this.maxDistance=100}onInit(e){}onMount(e){let{props:t}=e,n=t.context.tick,r=t.sound.value??t.sound;if(!r.src)return;let{src:i,autoplay:a,loop:o,volume:s,spatial:c}=r,l=Array.isArray(i)?i:[i];for(let e of l){if(!e)continue;let t=new Ca.Howl({src:e,autoplay:a,loop:o,volume:s});for(let e of wa){if(!r[e])continue;let n=r[e];this.eventsFn.push(n),t.on(e,n)}this.sounds.push(t)}if(c&&this.sounds.length>0){let{soundListenerPosition:r}=t.context;if(!r)throw new Qt(`SoundListenerPosition directive is required for spatial sound in component parent`);let{x:i,y:a}=r;this.tickSubscription=R(()=>{n();let{x:t,y:r}=e.componentInstance,o=en(t,r,i(),a()),s=Math.max(this.maxVolume-o/this.maxDistance,0);this.sounds.forEach(e=>e.volume(s))}).subscription}this.onUpdate(r)}onUpdate(e){let{volume:t,loop:n,mute:r,seek:i,playing:a,rate:o,spatial:s}=e.value??e;this.sounds.forEach(e=>{t!==void 0&&e.volume(t),n!==void 0&&e.loop(n),r!==void 0&&e.mute(r),i!==void 0&&e.seek(i),a!==void 0&&(a?e.play():e.pause()),o!==void 0&&e.rate(o)}),s&&(this.maxVolume=s.maxVolume??this.maxVolume,this.maxDistance=s.maxDistance??this.maxDistance)}onDestroy(){this.sounds.forEach(e=>{e.stop();for(let t of wa){let n=this.eventsFn.find(e=>e===this.eventsFn[t]);n&&e.off(t,n)}}),this.sounds=[],this.eventsFn=[],this.tickSubscription?.unsubscribe()}},Ea=class extends M{onMount(e){e.props.context.soundListenerPosition=e.propObservables?.soundListenerPosition}onInit(e){}onUpdate(e){}onDestroy(){}};On(`sound`,Ta),On(`soundListenerPosition`,Ea);var Da=(e,t,n)=>{e.props.context={...e.props.context??{},[t]:n}},Oa=class extends M{constructor(...e){super(...e),this.elementRef=null}onInit(e){this.elementRef=e}onMount(e){Da(e,`drop`,e)}onUpdate(){}onDestroy(){this.elementRef=null}},ka=class extends M{constructor(...e){super(...e),this.elementRef=null,this.stageRef=null,this.offsetInParent=new t.Point,this.isDragging=!1,this.viewport=null,this.animationFrameId=null,this.lastPointerPosition=new t.Point,this.pressedKeys=new Set,this.pointerIsDown=!1,this.onDragMoveHandler=()=>{},this.onDragEndHandler=()=>{},this.onDragStartHandler=()=>{},this.onKeyDownHandler=()=>{},this.onKeyUpHandler=()=>{},this.subscriptions=[]}onInit(e){this.elementRef=e,this.onDragMoveHandler=this.onDragMove.bind(this),this.onDragEndHandler=this.onDragEnd.bind(this),this.onDragStartHandler=this.onPointerDown.bind(this),this.onKeyDownHandler=this.onKeyDown.bind(this),this.onKeyUpHandler=this.onKeyUp.bind(this)}onMount(e){let{rootElement:n,canvasSize:r,viewport:i,tick:a}=e.props.context,o=e.componentInstance,s=this.dragProps;if(Object.keys(s).length===0){this.onDestroy();return}if(!o||(this.stageRef=n.componentInstance,!this.stageRef))return;this.viewport=i,o.eventMode=`static`,this.stageRef.eventMode=`static`;let c=R(()=>{this.stageRef&&(this.stageRef.hitArea=new t.Rectangle(0,0,r().width,r().height))});o.on(`pointerdown`,this.onDragStartHandler),this.stageRef.on(`pointerup`,this.onDragEndHandler),this.stageRef.on(`pointerupoutside`,this.onDragEndHandler),s.keyToPress&&s.keyToPress,window.addEventListener(`keydown`,this.onKeyDownHandler),window.addEventListener(`keyup`,this.onKeyUpHandler),this.subscriptions=[a.observable.subscribe(()=>{this.isDragging&&this.viewport&&this.updateViewportPosition(this.lastPointerPosition)}),c.subscription]}get dragProps(){let e=this.elementRef?.props.drag,t=H(e?.value??e,{snap:0,viewport:{},direction:`all`,keyToPress:[]});return t.viewport=H(t.viewport,{edgeThreshold:300,maxSpeed:40}),t}get axis(){let e=this.dragProps.direction(),t={x:!0,y:!0};return e===`x`&&(t.y=!1),e===`y`&&(t.x=!1),t}onDragMove(e){if(!this.isDragging||!this.elementRef?.componentInstance||!this.elementRef.componentInstance.parent)return;let t=this.elementRef.componentInstance,n=t.parent,r=this.dragProps,i=this.elementRef.propObservables,a=Xi(r?.snap()??0);r?.move?.(e);let o=n.toLocal(e.global),s=o.x-this.offsetInParent.x,c=o.y-this.offsetInParent.y;r?.snap()?(t.position.x=a(s),t.position.y=a(c)):(this.axis.x&&(t.position.x=s),this.axis.y&&(t.position.y=c)),this.lastPointerPosition.copyFrom(e.global);let{x:l,y:u}=i,d=(e,t)=>{In(e)?e.dependencies.forEach(e=>{e.set(t)}):I(e)&&e.set(t)};l!==void 0&&d(l,t.position.x),u!==void 0&&d(u,t.position.y)}updateViewportPosition(e){if(!this.viewport||!this.elementRef)return;let t=this.dragProps,n=t?.viewport?.edgeThreshold(),r=t?.viewport?.maxSpeed(),i=this.viewport.screenWidth,a=this.viewport.screenHeight,o=this.elementRef.componentInstance,s=e.x-0,c=i-e.x,l=e.y-0,u=a-e.y,d=0,f=0;if(s<n?d=-(r*(1-s/n)):c<n&&(d=r*(1-c/n)),l<n?f=-(r*(1-l/n)):u<n&&(f=r*(1-u/n)),d!==0||f!==0){let e=this.viewport.center;this.viewport.moveCenter(this.viewport.center.x+d,this.viewport.center.y+f),this.axis.x&&e.x!==this.viewport.center.x&&(o.position.x+=d),this.axis.y&&e.y!==this.viewport.center.y&&(o.position.y+=f)}}onDragEnd(){if(this.pointerIsDown=!1,!this.isDragging)return;let e=this.dragProps;this.isDragging=!1,e?.end?.(),this.stageRef&&this.stageRef.off(`pointermove`,this.onDragMoveHandler)}onKeyDown(e){this.pressedKeys.add(e.code),this.pressedKeys.add(e.key.toLowerCase()),this.pointerIsDown&&!this.isDragging&&this.areRequiredKeysPressed()&&this.startDrag()}onKeyUp(e){this.pressedKeys.delete(e.code),this.pressedKeys.delete(e.key.toLowerCase()),this.isDragging&&!this.areRequiredKeysPressed()&&this.onDragEnd()}areRequiredKeysPressed(){let e=this.dragProps.keyToPress?this.dragProps.keyToPress:[];return!e||e.length===0?!0:e.some(e=>this.pressedKeys.has(e)?!0:e.toLowerCase()===`space`?this.pressedKeys.has(`Space`)||this.pressedKeys.has(` `):e.toLowerCase()===`shift`?this.pressedKeys.has(`ShiftLeft`)||this.pressedKeys.has(`ShiftRight`):e.toLowerCase()===`control`||e.toLowerCase()===`ctrl`?this.pressedKeys.has(`ControlLeft`)||this.pressedKeys.has(`ControlRight`):e.toLowerCase()===`alt`?this.pressedKeys.has(`AltLeft`)||this.pressedKeys.has(`AltRight`):!1)}onPointerDown(e){if(!this.elementRef?.componentInstance||!this.stageRef||!this.elementRef.componentInstance.parent)return;this.pointerIsDown=!0;let t=this.elementRef.componentInstance,n=t.parent.toLocal(e.global);this.offsetInParent.x=n.x-t.position.x,this.offsetInParent.y=n.y-t.position.y,this.lastPointerPosition.copyFrom(e.global),this.areRequiredKeysPressed()&&this.startDrag()}startDrag(){this.isDragging||!this.stageRef||(this.isDragging=!0,this.dragProps?.start?.(),this.stageRef.on(`pointermove`,this.onDragMoveHandler))}onUpdate(e){e.type&&e.type===`reset`&&(this.onDestroy(),this.onMount(this.elementRef))}onDestroy(){this.subscriptions.forEach(e=>e.unsubscribe());let e=this.elementRef?.componentInstance;e&&e.off(`pointerdown`,this.onDragStartHandler),this.stageRef&&(this.stageRef.off(`pointermove`,this.onDragMoveHandler),this.stageRef.off(`pointerup`,this.onDragEndHandler),this.stageRef.off(`pointerupoutside`,this.onDragEndHandler)),window.removeEventListener(`keydown`,this.onKeyDownHandler),window.removeEventListener(`keyup`,this.onKeyUpHandler),this.stageRef=null,this.viewport=null,this.pressedKeys.clear(),this.pointerIsDown=!1}};On(`drag`,ka),On(`drop`,Oa);var Aa=class extends M{onInit(e){}onMount(e){let{image:n}=e.props.transition,r=new t.Sprite(t.Texture.from(n));r.texture.baseTexture.wrapMode=t.WRAP_MODES.REPEAT;let i=new t.DisplacementFilter(r),a=e.componentInstance;a.filters=[i],a.addChild(r),setTimeout(()=>{Yi({from:0,to:1,duration:500,onUpdate:e=>{i.scale.x=e,i.scale.y=e}})},5e3)}onUpdate(e){}onDestroy(){}};On(`transition`,Aa);function ja(e){return e?.start&&e?.listen}function Ma(e){let t=F({config:e,value:0,resolve:e=>void 0});return{start:n=>new Promise(r=>{let i=Math.random();t.set({config:{...e,...n},resolve:r,value:i})}),listen:()=>({config:e,seed:t()})}}function Na(e,t){if(!ja(e))throw Error(`In 'on(arg)' must have a trigger signal type`);let n;return R(()=>{let r=e.listen(),i=r?.seed;if(i){if(n===void 0){n=i.value;return}if(i.value!==n){n=i.value;try{let e=t(r?.seed.config);e&&typeof e.then==`function`?e.then(e=>i.resolve(e)).catch(()=>i.resolve(void 0)):i.resolve(e)}catch{i.resolve(void 0)}}}}).subscription}var Pa=class extends M{constructor(...e){super(...e),this.elementRef=null,this.originalPosition=new t.Point,this.progressSignal=null,this.shakeSubscription=null,this.positionEffect=null,this.currentShakeConfig=null}onInit(e){this.elementRef=e}onMount(e){let t=e.componentInstance;if(!t)return;let n=this.shakeProps;!n.trigger||!ja(n.trigger)||(this.originalPosition.set(t.position.x,t.position.y),this.shakeSubscription&&=(this.shakeSubscription.unsubscribe(),null),this.shakeSubscription=Na(n.trigger,async e=>{await this.performShake(e)}))}get shakeProps(){let e=this.elementRef?.props.shake;return H(e?.value??e,{intensity:10,duration:500,frequency:10,direction:`both`})}resolveSignalValue(e){return I(e)?e():e}async performShake(e){if(!this.elementRef?.componentInstance)return;let t=this.elementRef.componentInstance,n=this.shakeProps,r=e?.intensity??this.resolveSignalValue(n.intensity),i=e?.duration??this.resolveSignalValue(n.duration),a=e?.frequency??this.resolveSignalValue(n.frequency),o=e?.direction??this.resolveSignalValue(n.direction);this.positionEffect&&=(this.positionEffect.unsubscribe(),null);let s=this.originalPosition.x===0&&this.originalPosition.y===0&&t.parent,c=t.position.x!==this.originalPosition.x||t.position.y!==this.originalPosition.y;(s||c)&&this.originalPosition.set(t.position.x,t.position.y),t.position.x=this.originalPosition.x,t.position.y=this.originalPosition.y,n.onStart?.(),this.currentShakeConfig={intensity:r,frequency:a,direction:o,randomSeed:Math.random()*1e3},this.progressSignal?await this.progressSignal.set(0,{duration:0}):this.progressSignal=$i(0,{duration:i,ease:e=>e});let l=o!==`y`,u=o!==`x`;this.positionEffect=R(()=>{if(!t||!this.progressSignal||!this.currentShakeConfig)return;let e=this.progressSignal(),n=this.currentShakeConfig,r=1-e,i=e*n.frequency,a=Math.sin(i*Math.PI*2),o=Math.sin(n.randomSeed+e*10)*.25+1,s=l?a*n.intensity*r*o:0,c=u?a*n.intensity*r*o:0;t.position.x=this.originalPosition.x+s,t.position.y=this.originalPosition.y+c}).subscription,await this.progressSignal.set(1,{duration:i}),t&&(t.position.x=this.originalPosition.x,t.position.y=this.originalPosition.y),this.positionEffect&&=(this.positionEffect.unsubscribe(),null),this.currentShakeConfig=null,n.onComplete?.()}onUpdate(e){e.type&&e.type===`reset`&&(this.onDestroy(),this.elementRef&&this.onMount(this.elementRef))}onDestroy(){if(this.progressSignal&&=(this.progressSignal.set(0,{duration:0}),null),this.positionEffect&&=(this.positionEffect.unsubscribe(),null),this.currentShakeConfig=null,this.elementRef?.componentInstance){let e=this.elementRef.componentInstance;e.position.x=this.originalPosition.x,e.position.y=this.originalPosition.y}this.shakeSubscription&&=(this.shakeSubscription.unsubscribe(),null),this.elementRef=null}};On(`shake`,Pa);var Fa=class extends M{constructor(...e){super(...e),this.elementRef=null,this.progressSignal=null,this.flashSubscription=null,this.alphaEffect=null,this.tintEffect=null,this.originalAlpha=1,this.originalTint=16777215,this.currentFlashConfig=null}onInit(e){this.elementRef=e}onMount(e){let t=e.componentInstance;if(!t)return;let n=this.flashProps;if(!n.trigger||!ja(n.trigger))return;this.originalAlpha===1&&!n.originalAlpha?this.originalAlpha=t.alpha??1:n.originalAlpha!==void 0&&(this.originalAlpha=n.originalAlpha);let r=t.tint;this.originalTint===16777215&&!n.originalTint?this.originalTint=(I(r)?r():r)??16777215:n.originalTint!==void 0&&(this.originalTint=n.originalTint),this.flashSubscription=Na(n.trigger,async e=>{await this.performFlash(e)})}get flashProps(){let e=this.elementRef?.props.flash;return H(e?.value??e,{type:`alpha`,duration:300,cycles:1,alpha:.3,tint:16777215})}async performFlash(e){if(!this.elementRef?.componentInstance)return;let t=this.elementRef.componentInstance,n=this.flashProps,r=e?.type??(typeof n.type==`function`?n.type():n.type),i=e?.duration??(typeof n.duration==`function`?n.duration():n.duration),a=e?.cycles??(typeof n.cycles==`function`?n.cycles():n.cycles),o=e?.alpha??(typeof n.alpha==`function`?n.alpha():n.alpha),s=e?.tint??(typeof n.tint==`function`?n.tint():n.tint);this.alphaEffect&&=(this.alphaEffect.unsubscribe(),null),this.tintEffect&&=(this.tintEffect.unsubscribe(),null),t.alpha=this.originalAlpha;let c=t.tint;if(c!==void 0){let e=typeof this.originalTint==`number`?this.originalTint:16777215;I(c)?c.set(e):t.tint=e}n.onStart?.(),this.progressSignal&&await this.progressSignal.set(0,{duration:0});let l={type:r,duration:i,cycles:a,flashAlpha:o,flashTint:s};if(this.currentFlashConfig=l,this.progressSignal||=$i(0,{duration:i,ease:e=>e}),(r===`alpha`||r===`both`)&&(this.alphaEffect=R(()=>{if(!t||!this.progressSignal||!this.currentFlashConfig)return;let e=this.progressSignal(),n=this.currentFlashConfig,r=e*n.cycles%1,i=r<.5?r*2:1-(r-.5)*2;t.alpha=this.originalAlpha+(n.flashAlpha-this.originalAlpha)*i}).subscription),(r===`tint`||r===`both`)&&(this.tintEffect=R(()=>{if(!t||!this.progressSignal||!this.currentFlashConfig)return;let e=t.tint;if(e===void 0)return;let n=I(e),r=this.progressSignal(),i=this.currentFlashConfig,a=r*i.cycles%1,o=a<.5?a*2:1-(a-.5)*2,s=this.originalTint>>16&255,c=this.originalTint>>8&255,l=this.originalTint&255,u=i.flashTint>>16&255,d=i.flashTint>>8&255,f=i.flashTint&255,p=Math.round(s+(u-s)*o),m=Math.round(c+(d-c)*o),h=Math.round(l+(f-l)*o),g=p<<16|m<<8|h;n?e.set(g):t.tint=g}).subscription),await this.progressSignal.set(1,{duration:i}),this.currentFlashConfig===l&&t){t.alpha=this.originalAlpha;let e=t.tint;if(e!==void 0){let n=typeof this.originalTint==`number`?this.originalTint:16777215;I(e)?e.set(n):t.tint=n}this.alphaEffect&&=(this.alphaEffect.unsubscribe(),null),this.tintEffect&&=(this.tintEffect.unsubscribe(),null),this.currentFlashConfig=null}n.onComplete?.()}onUpdate(e){e.type&&e.type===`reset`&&(this.onDestroy(),this.elementRef&&this.onMount(this.elementRef))}onDestroy(){if(this.progressSignal&&=(this.progressSignal.set(0,{duration:0}),null),this.alphaEffect&&=(this.alphaEffect.unsubscribe(),null),this.tintEffect&&=(this.tintEffect.unsubscribe(),null),this.currentFlashConfig=null,this.elementRef?.componentInstance){let e=this.elementRef.componentInstance;e.alpha=this.originalAlpha;let t=e.tint;if(t!==void 0){let n=typeof this.originalTint==`number`?this.originalTint:16777215;I(t)?t.set(n):e.tint=n}}this.flashSubscription&&=null,this.elementRef=null}};On(`flash`,Fa);var Ia=(e,t,n)=>Math.max(t,Math.min(n,e)),La=class extends M{constructor(...e){super(...e),this.elementRef=null,this.tickSubscription=null,this.sampleAccumulatorMs=0,this.managesAlpha=!1}onInit(e){this.elementRef=e}onMount(e){this.elementRef=e,this.evaluateVisibility(),this.bindTick()}onUpdate(){this.sampleAccumulatorMs=0,this.evaluateVisibility()}onDestroy(){let e=this.elementRef?.componentInstance;e&&(e.visible=this.readBaseVisible(),this.managesAlpha&&(e.alpha=this.readBaseAlpha())),this.tickSubscription?.unsubscribe(),this.tickSubscription=null,this.sampleAccumulatorMs=0,this.managesAlpha=!1,this.elementRef=null}bindTick(){this.tickSubscription?.unsubscribe(),this.tickSubscription=null;let e=this.elementRef?.props?.context?.tick;e?.observable&&(this.tickSubscription=e.observable.subscribe(e=>{let t=e?.value??e,n=Number(t?.deltaTime),r=this.readOptions(),i=1e3/r.sampleHz;this.sampleAccumulatorMs+=Number.isFinite(n)?n:i,!(this.sampleAccumulatorMs<i)&&(this.sampleAccumulatorMs=0,this.evaluateVisibility(r))}))}resolveSignalValue(e,t){return e==null?t:I(e)?e()??t:e}readOptions(){let e=this.elementRef?.props?.fogVisibility,t=e?.value??e??{},n=this.resolveSignalValue(t.controller,null),r=this.resolveSignalValue(t.mode,`visible`),i=Ia(Number(this.resolveSignalValue(t.threshold,.65)),0,1),a=this.resolveSignalValue(t.hideAs,`visible`),o=Ia(Number(this.resolveSignalValue(t.hiddenAlpha,0)),0,1),s=Ia(Number(this.resolveSignalValue(t.sampleHz,30)),1,240),c=t.point?this.resolveSignalValue(t.point,void 0):void 0;return{controller:n&&typeof n==`object`?n:null,mode:r,threshold:i,hideAs:a,hiddenAlpha:o,sampleHz:s,point:c}}readBaseVisible(){let e=this.elementRef?.propObservables?.visible??this.elementRef?.props?.visible;return!!this.resolveSignalValue(e,!0)}readBaseAlpha(){let e=this.elementRef?.propObservables?.alpha??this.elementRef?.props?.alpha,t=Number(this.resolveSignalValue(e,1));return Number.isFinite(t)?Ia(t,0,1):1}samplePoint(e){if(e.point&&typeof e.point==`object`){let t=Number(this.resolveSignalValue(e.point.x,NaN)),n=Number(this.resolveSignalValue(e.point.y,NaN));if(Number.isFinite(t)&&Number.isFinite(n))return{x:t,y:n}}let t=this.elementRef?.componentInstance;return{x:Number(t?.x??0),y:Number(t?.y??0)}}resolveVisibleState(e,t,n,r){if(typeof e.isVisibleAt==`function`)return!!e.isVisibleAt(t,n,r);if(typeof e.clarityAt==`function`){let i=Number(e.clarityAt(t,n));return Number.isFinite(i)?i>=r:!0}return typeof e.stateAt==`function`?e.stateAt(t,n,r)===`visible`:!0}resolveExploredState(e,t,n,r){return typeof e.isExploredAt==`function`?!!e.isExploredAt(t,n):typeof e.stateAt==`function`?e.stateAt(t,n,r)!==`unknown`:this.resolveVisibleState(e,t,n,r)}evaluateVisibility(e){let t=this.elementRef?.componentInstance;if(!t)return;let n=e??this.readOptions(),r=this.readBaseVisible(),i=this.readBaseAlpha();if(!n.controller){t.visible=r,this.managesAlpha&&=(t.alpha=i,!1);return}typeof n.controller.version==`function`&&n.controller.version();let{x:a,y:o}=this.samplePoint(n),s=!0;if(s=n.mode===`explored`?this.resolveExploredState(n.controller,a,o,n.threshold):this.resolveVisibleState(n.controller,a,o,n.threshold),n.hideAs===`alpha`){t.visible=r,t.alpha=s?i:Math.min(i,n.hiddenAlpha),this.managesAlpha=!0;return}t.visible=r&&s,this.managesAlpha&&=(t.alpha=i,!1)}};On(`fogVisibility`,La);function U(e){return e&&typeof e==`string`?e.endsWith(`%`):!1}var Ra=`added.childAdded.childRemoved.click.clickcapture.destroyed.globalmousemove.globalpointermove.globaltouchmove.mousedown.mousedowncapture.mouseenter.mouseentercapture.mouseleave.mouseleavecapture.mousemove.mousemovecapture.mouseout.mouseoutcapture.mouseover.mouseovercapture.mouseup.mouseupcapture.mouseupoutside.mouseupoutsidecapture.pointercancel.pointercancelcapture.pointerdown.pointerdowncapture.pointerenter.pointerentercapture.pointerleave.pointerleavecapture.pointermove.pointermovecapture.pointerout.pointeroutcapture.pointerover.pointerovercapture.pointertap.pointertapcapture.pointerup.pointerupcapture.pointerupoutside.pointerupoutsidecapture.removed.rightclick.rightclickcapture.rightdown.rightdowncapture.rightup.rightupcapture.rightupoutside.rightupoutsidecapture.tap.tapcapture.touchcancel.touchcancelcapture.touchend.touchendcapture.touchendoutside.touchendoutsidecapture.touchmove.touchmovecapture.touchstart.touchstartcapture.wheel.wheelcapture`.split(`.`);function za(e){return class extends e{constructor(...e){super(...e),this.#e=null,this.isFlex=!1,this.fullProps={},this.isMounted=!1,this._anchorPoints=new t.ObservablePoint({_onUpdate:()=>{}},0,0),this.isCustomAnchor=!1,this.displayWidth=F(0),this.displayHeight=F(0),this.overrideProps=[],this.layout=null,this.onBeforeDestroy=null,this.onAfterMount=null,this.subjectInit=new Le(null),this.disableLayout=!1,this.#t=new Map,this.#n=null,this.#r=null}#e;#t;#n;#r;getElement(){return this.#r}onLayoutComputed(e){}get deltaRatio(){return this.#e?.scheduler?.tick.value.deltaRatio}get parentIsFlex(){return this.disableLayout?!1:this.parent?.isFlex}onInit(e){Object.prototype.hasOwnProperty.call(this,`layout`)&&delete this.layout,this._id=e.id;for(let t of Ra)if(e[t]&&!this.overrideProps.includes(t)){this.eventMode=`static`;let n=e[t],r=(...e)=>{if(!(this.#r&&ma(this.#r)))return n(...e)};t===`click`?(this.on(`pointertap`,r),this.#t.set(`pointertap`,r)):(this.on(t,r),this.#t.set(t,r))}(e.onBeforeDestroy||e[`on-before-destroy`])&&(this.onBeforeDestroy=e.onBeforeDestroy||e[`on-before-destroy`]),(e.onAfterMount||e[`on-after-mount`])&&(this.onAfterMount=e.onAfterMount||e[`on-after-mount`]),(e.justifyContent||e.alignItems||e.flexDirection||e.flexWrap||e.alignContent||e.display==`flex`||U(e.width)||U(e.height)||e.isRoot)&&(this.layout={},this.isFlex=!0),this.subjectInit.next(this)}async onMount(e,t){if(!this.destroyed&&(this.#r=e,this.#e=e.props.context,e.parent)){let n=e.parent,r=n.componentInstance;if(typeof r?.addChild!=`function`){let t=n.parent;for(;t&&typeof t.componentInstance?.addChild!=`function`;)t=t.parent;if(t&&typeof t.componentInstance?.addChild==`function`)n=t,r=n.componentInstance;else{console.warn(`DisplayObject mount skipped: parent has no addChild`,{child:e.tag,parent:e.parent?.tag});return}}if(r.isFlex&&!this.layout&&!this.disableLayout)try{this.layout={}}catch(e){console.warn(`Failed to set layout:`,e)}t===void 0||n!==e.parent||typeof r?.addChildAt!=`function`?r.addChild(this):r.addChildAt(this,t),this.isMounted=!0,this.onUpdate(e.props);let i=e=>{e.computedLayout&&(this.#n={width:e.computedLayout.width,height:e.computedLayout.height}),this.onLayoutComputed(e)};this.on(`layout`,i),this.#t.set(`layout`,i),this.onAfterMount&&await this.onAfterMount()}}onUpdate(e){if(this.fullProps={...this.fullProps,...e},this.destroyed||!this.#e||!this.parent)return;if(e.x!==void 0&&this.setX(e.x),e.y!==void 0&&this.setY(e.y),e.scale!==void 0&&$t(this.scale,e.scale),e.anchor!==void 0&&!this.isCustomAnchor&&$t(this.anchor,e.anchor),e.width!==void 0&&this.setWidth(e.width),e.height!==void 0&&this.setHeight(e.height),e.minWidth!==void 0&&this.setMinWidth(e.minWidth),e.minHeight!==void 0&&this.setMinHeight(e.minHeight),e.maxWidth!==void 0&&this.setMaxWidth(e.maxWidth),e.maxHeight!==void 0&&this.setMaxHeight(e.maxHeight),e.aspectRatio!==void 0&&this.setAspectRatio(e.aspectRatio),e.flexGrow!==void 0&&this.setFlexGrow(e.flexGrow),e.flexShrink!==void 0&&this.setFlexShrink(e.flexShrink),e.flexBasis!==void 0&&this.setFlexBasis(e.flexBasis),e.rowGap!==void 0&&this.setRowGap(e.rowGap),e.columnGap!==void 0&&this.setColumnGap(e.columnGap),e.top!==void 0&&this.setTop(e.top),e.left!==void 0&&this.setLeft(e.left),e.right!==void 0&&this.setRight(e.right),e.bottom!==void 0&&this.setBottom(e.bottom),e.objectFit!==void 0&&this.setObjectFit(e.objectFit),e.objectPosition!==void 0&&this.setObjectPosition(e.objectPosition),e.transformOrigin!==void 0&&this.setTransformOrigin(e.transformOrigin),e.skew!==void 0&&$t(this.skew,e.skew),e.tint&&(this.tint=e.tint),e.rotation!==void 0&&(this.rotation=e.rotation),e.angle!==void 0&&(this.angle=e.angle),e.zIndex!==void 0&&(this.zIndex=e.zIndex),e.roundPixels!==void 0&&(this.roundPixels=e.roundPixels),e.cursor&&(this.cursor=e.cursor),e.visible!==void 0&&(this.visible=e.visible),e.alpha!==void 0&&(this.alpha=e.alpha),e.pivot&&$t(this.pivot,e.pivot),e.flexDirection&&this.setFlexDirection(e.flexDirection),e.flexWrap&&this.setFlexWrap(e.flexWrap),e.justifyContent&&this.setJustifyContent(e.justifyContent),e.alignItems&&this.setAlignItems(e.alignItems),e.alignContent&&this.setAlignContent(e.alignContent),e.alignSelf&&this.setAlignSelf(e.alignSelf),e.margin&&this.setMargin(e.margin),e.padding&&this.setPadding(e.padding),e.gap&&this.setGap(e.gap),e.border&&this.setBorder(e.border),e.positionType&&this.setPositionType(e.positionType),e.filters&&(this.filters=e.filters),e.maskOf&&na(e.maskOf)&&(e.maskOf.componentInstance.mask=this),e.shadowCaster!==void 0){let t=e.shadowCaster?.value??e.shadowCaster;if(t&&typeof t==`object`&&!Array.isArray(t)){let e=this.shadowCaster??{};this.shadowCaster={...e,...t}}else this.shadowCaster=t}if(e.footprintCaster!==void 0){let t=e.footprintCaster?.value??e.footprintCaster;if(t&&typeof t==`object`&&!Array.isArray(t)){let e=this.footprintCaster??{};this.footprintCaster={...e,...t}}else this.footprintCaster=t}e.blendMode&&(this.blendMode=e.blendMode),e.filterArea&&(this.filterArea=e.filterArea);let n=this.filters||[];if(e.blur){let r=n.find(e=>e instanceof t.BlurFilter);r||(r=new t.BlurFilter(typeof e.blur==`number`?{strength:e.blur}:e.blur),n.push(r)),Object.assign(r,e.blur)}this.filters=n}async onDestroy(e,t){for(let[e,t]of this.#t)this.off(e,t);this.#t.clear(),this.#r=null,this.onBeforeDestroy&&await this.onBeforeDestroy(),t&&t(),super.destroy()}setFlexDirection(e){this.layout={flexDirection:e}}setFlexWrap(e){this.layout={flexWrap:e}}setAlignContent(e){this.layout={alignContent:e}}setAlignSelf(e){this.layout={alignSelf:e}}setAlignItems(e){this.layout={alignItems:e}}setJustifyContent(e){this.layout={justifyContent:e}}setPosition(e){e instanceof Array?e.length===2?this.layout={positionY:e[0],positionX:e[1]}:e.length===4&&(this.layout={positionTop:e[0],positionRight:e[1],positionBottom:e[2],positionLeft:e[3]}):this.layout={position:e}}setX(e){e+=this.getWidth()*this._anchorPoints.x,this.parentIsFlex?(this.x=e,this.layout={x:e}):this.x=e}setY(e){e+=this.getHeight()*this._anchorPoints.y,this.parentIsFlex?(this.y=e,this.layout={y:e}):this.y=e}setPadding(e){e instanceof Array?e.length===2?this.layout={paddingVertical:e[0],paddingHorizontal:e[1]}:e.length===4&&(this.layout={paddingTop:e[0],paddingRight:e[1],paddingBottom:e[2],paddingLeft:e[3]}):this.layout={padding:e}}setMargin(e){e instanceof Array?e.length===2?this.layout={marginVertical:e[0],marginHorizontal:e[1]}:e.length===4&&(this.layout={marginTop:e[0],marginRight:e[1],marginBottom:e[2],marginLeft:e[3]}):this.layout={margin:e}}setGap(e){this.layout={gap:e}}setBorder(e){e instanceof Array?e.length===2?this.layout={borderVertical:e[0],borderHorizontal:e[1]}:e.length===4&&(this.layout={borderTop:e[0],borderRight:e[1],borderBottom:e[2],borderLeft:e[3]}):this.layout={border:e}}setPositionType(e){this.layout={position:e}}setWidth(e){this.displayWidth.set(e),this.parentIsFlex?this.layout={width:e}:this.width=e}setHeight(e){this.displayHeight.set(e),this.parentIsFlex?this.layout={height:e}:this.height=e}getWidth(){return U(this.fullProps.width)?this.#n?.width===void 0?typeof this.width==`number`?this.width:0:this.#n.width:typeof this.width==`number`&&this.width>0?this.width:typeof this.displayWidth()==`number`?this.displayWidth():0}getHeight(){return U(this.fullProps.height)?this.#n?.height===void 0?typeof this.height==`number`?this.height:0:this.#n.height:typeof this.height==`number`&&this.height>0?this.height:typeof this.displayHeight()==`number`?this.displayHeight():0}setMinWidth(e){this.layout={minWidth:e}}setMinHeight(e){this.layout={minHeight:e}}setMaxWidth(e){this.layout={maxWidth:e}}setMaxHeight(e){this.layout={maxHeight:e}}setAspectRatio(e){this.layout={aspectRatio:e}}setFlexGrow(e){this.layout={flexGrow:e}}setFlexShrink(e){this.layout={flexShrink:e}}setFlexBasis(e){this.layout={flexBasis:e}}setRowGap(e){this.layout={rowGap:e}}setColumnGap(e){this.layout={columnGap:e}}setTop(e){this.layout={top:e}}setLeft(e){this.layout={left:e}}setRight(e){this.layout={right:e}}setBottom(e){this.layout={bottom:e}}setObjectFit(e){try{this.layout={objectFit:e}}catch{}}setObjectPosition(e){try{this.layout={objectPosition:e}}catch{}}setTransformOrigin(e){try{this.layout={transformOrigin:e}}catch{}}}}var Ba=class{constructor(){this.assets=new Map,this.onProgressCallbacks=new Set,this.onCompleteCallbacks=new Set,this.assetCounter=0,this.isComplete=!1}registerAsset(e){let t=`asset_${this.assetCounter++}_${e}`;return this.assets.set(t,{progress:0,completed:!1}),this.isComplete=!1,this.updateGlobalProgress(),t}updateProgress(e,t){let n=this.assets.get(e);if(!n){console.warn(`Asset ${e} not found in tracker`);return}n.progress=Math.max(0,Math.min(1,t)),this.updateGlobalProgress()}completeAsset(e){let t=this.assets.get(e);if(!t){console.warn(`Asset ${e} not found in tracker`);return}t.progress=1,t.completed=!0,this.updateGlobalProgress(),this.checkCompletion()}removeAsset(e){this.assets.delete(e),this.updateGlobalProgress()}onProgress(e){this.onProgressCallbacks.add(e);try{e(this.getGlobalProgress())}catch(e){console.error(`Error in onProgress callback:`,e)}return()=>{this.onProgressCallbacks.delete(e)}}onComplete(e){return this.onCompleteCallbacks.add(e),this.isComplete&&e(),()=>{this.onCompleteCallbacks.delete(e)}}getGlobalProgress(){if(this.assets.size===0)return 1;let e=0;for(let t of this.assets.values())e+=t.progress;return e/this.assets.size}getAssetCount(){return this.assets.size}getCompletedCount(){let e=0;for(let t of this.assets.values())t.completed&&e++;return e}checkCompletion(){this.isComplete||Array.from(this.assets.values()).every(e=>e.completed)&&this.assets.size>0&&(this.isComplete=!0,this.onCompleteCallbacks.forEach(e=>{try{e()}catch(e){console.error(`Error in onComplete callback:`,e)}}))}updateGlobalProgress(){let e=this.getGlobalProgress();Array.from(this.onProgressCallbacks).forEach(t=>{try{t(e)}catch(e){console.error(`Error in onProgress callback:`,e)}})}reset(){this.assets.clear(),this.onProgressCallbacks.clear(),this.onCompleteCallbacks.clear(),this.assetCounter=0,this.isComplete=!1}};z(`Canvas`,class extends za(t.Container){});var Va=async(e={})=>{let{cursorStyles:t,width:n,height:r,class:i}=H(e);e.width||(n=F(800)),e.height||(r=F(600));let a=F({width:0,height:0});e.isRoot=!0;let o=new Ba,s={...e,context:{canvasSize:a,app:F(null),globalLoader:o},width:n?.(),height:r?.()};e.tick?s.context.tick=e.tick:s.context.tick=s.tick=F({timestamp:0,deltaTime:0,frame:0,deltaRatio:1}),globalThis.__CANVAS_ENGINE_TICK__=s.context.tick;let c=V(`Canvas`,s);return c.render=(n,r)=>{if(!r)return;let o=r.renderer,l=o.view.canvas;globalThis.__PIXI_STAGE__=c.componentInstance,globalThis.__PIXI_RENDERER__=o,e.tickStart!==!1&&c.directives.tick.start(),R(()=>{c.propObservables.tick(),o.render(c.componentInstance)}),r.stage=c.componentInstance,r.stage.layout={width:r.screen.width,height:r.screen.height,justifyContent:e.justifyContent,alignItems:e.alignItems},a.set({width:r.screen.width,height:r.screen.height}),r.renderer.on(`resize`,(e,t)=>{a.set({width:e,height:t}),r.stage.layout&&(r.stage.layout={width:e,height:t})}),e.tickStart!==!1&&c.directives.tick.start(),r.ticker.add(()=>{c.propObservables.tick()}),t&&R(()=>{o.events.cursorStyles=t()}),i&&R(()=>{l.classList.add(i())});let u=n.querySelector(`canvas`);u?n.replaceChild(l,u):n.appendChild(l),s.context.app.set(r)},c},Ha=class extends za(t.Container){constructor(...e){super(...e),this.isCustomAnchor=!0}onUpdate(e){e.anchor&&($t(this._anchorPoints,e.anchor),e.pivot=[this.getWidth()*this._anchorPoints.x,this.getHeight()*this._anchorPoints.y]),super.onUpdate(e),e.sortableChildren!=null&&(this.sortableChildren=e.sortableChildren)}async onMount(e){await super.onMount(e);let{componentInstance:t,props:n}=e,{pixiChildren:r}=n;r&&r.forEach(e=>{t.addChild(e)});let i=U(n.width),a=U(n.height);(i||a)&&this.on(`layout`,e=>{let t=e.computedLayout;i&&t.width!==void 0&&this.displayWidth.set(t.width),a&&t.height!==void 0&&this.displayHeight.set(t.height)})}};z(`Container`,Ha);var Ua=e=>(z(`Container`,Ha),V(`Container`,e));z(`Graphics`,class extends za(t.Graphics){constructor(...e){super(...e),this.isCustomAnchor=!0}async onInit(e){await super.onInit(e),this.setObjectFit(`none`)}async onMount(e,t){await super.onMount(e,t);let{props:n,propObservables:r}=e,i=I(r?.width)?r.width:F(n.width||0),a=I(r?.height)?r.height:F(n.height||0),o=I(r?.anchor)?r.anchor:F(n.anchor||[0,0]);this._width=i,this._height=a;let s=U(i()),c=U(a());n.draw&&(this.clearEffect=R(()=>{let e=i(),t=a(),r=o();typeof e==`string`||typeof t==`string`||(this.clear(),n.draw?.(this,e,t,r),this.subjectInit.next(this))})),this.on(`layout`,e=>{let t=e.computedLayout;s&&I(i)&&i()!==t.width&&i.set(t.width),c&&I(a)&&a()!==t.height&&a.set(t.height)})}onUpdate(e){super.onUpdate(e),e.width!==void 0&&this._width&&this._width()!==e.width&&this._width.set(e.width),e.height!==void 0&&this._height&&this._height()!==e.height&&this._height.set(e.height)}async onDestroy(e,t){await super.onDestroy(e,async()=>{this.clearEffect?.subscription.unsubscribe(),t()})}});function Wa(e){return V(`Graphics`,e)}var Ga=(e,n,r)=>{let i=new t.ObservablePoint({_onUpdate:()=>{}},0,0);$t(i,e);let a=i.x,o=i.y;return{x:-a*n,y:-o*r}};function Ka(e){let{color:t,borderRadius:n,border:r}=H(e,{borderRadius:null,border:null});return Wa({draw:(e,i,a,o)=>{let{x:s,y:c}=Ga(o,i,a);n()?e.roundRect(s,c,i,a,n()):e.rect(s,c,i,a),r&&e.stroke(r),e.fill(t())},...e})}function qa(e){let{color:t,border:n,radius:r}=H(e,{border:null,radius:null});return Wa({draw:(e,i,a,o)=>{let{x:s,y:c}=Ga(o,i,a);i==a||a==0?e.circle(s,c,r()||i):e.ellipse(s,c,i,a),n()&&e.stroke(n()),e.fill(t())},...e})}function Ja(e){return qa(e)}function Ya(e){let{color:t,border:n}=H(e,{border:null,color:`#000`});return Wa({draw:(e,r,i,a)=>{let{x:o,y:s}=Ga(a,r,i);e.moveTo(o,s+i),e.lineTo(o+r/2,s),e.lineTo(o+r,s+i),e.lineTo(o,s+i),e.fill(t()),n&&e.stroke(n)},...e})}function Xa(e){return Wa({draw:async n=>{e.src?n.context=new t.Graphics(await t.Assets.load({src:e.src,data:{parseAsGraphicsContext:!0}})).context:e.content?n.svg(e.content):e.svg&&n.svg(e.svg)},...e})}z(`Mesh`,class extends za(t.Mesh){constructor(){super({geometry:new t.Geometry})}onInit(e){if(super.onInit(e),e.geometry)try{this.geometry=e.geometry}catch(e){console.warn(`Failed to set geometry:`,e)}e.shader&&(this.shader=e.shader)}async onUpdate(e){if(super.onUpdate(e),e.geometry)try{this.geometry=e.geometry}catch(e){console.warn(`Failed to update geometry:`,e)}e.shader&&(this.shader=e.shader),e.texture?typeof e.texture==`string`?this.texture=await t.Assets.load(e.texture):this.texture=e.texture:e.image&&(this.texture=await t.Assets.load(e.image)),e.tint!==void 0&&(this.tint=e.tint),e.blendMode!==void 0&&(this.blendMode=e.blendMode),e.roundPixels!==void 0&&(this.roundPixels=e.roundPixels)}async onDestroy(e,t){await super.onDestroy(e,async()=>{t()})}});var Za=e=>V(`Mesh`,e),Qa=null,$a=null;function eo(e){$a?.(e)}function to(e){eo(t=>{let{context:n}=t.props,r;return n.tick&&(r=n.tick.observable.subscribe(({value:n})=>{ma(t)||e(n,t)})),()=>{r?.unsubscribe()}})}function no(e,t={},n){let r=new Set,i=new Set;Qa=e=>{r.add(e)},$a=e=>{i.add(e)},n[0]instanceof Array&&(n=n[0]);let a;return a=Array.isArray(e)?e.length===1?e[0]:no(Ua,{},e):`tag`in e||e instanceof D?e:e({...t,children:n}),a||={},a.effectSubscriptions=Array.from(r),a.effectMounts=[...Array.from(i),...a.effectMounts??[]],t?.dependencies&&(a.props=a.props||{},a.props.dependencies=t.dependencies),a instanceof Promise&&a.then(e=>{e.props.isRoot&&i.forEach(t=>t(e))}),Qa=null,$a=null,a}function W(e,t={},...n){return t?.dependencies?!t.dependencies.some(Ht)&&t.dependencies.every(e=>I(e)?e()!==void 0:e!==void 0)?no(e,t,n):new D(r=>{pa(t.dependencies).then(()=>{let i=no(e,t,n);r.next(i)})}):no(e,t,n)}function ro(e){return W(Ua)}var io=class{constructor(e){this.segments=[],this.countingLengths=[],this.totalLength=0,this.init(e)}init(e){if(!e||!e.length)this.segments.push({p1:{x:0,y:0},p2:{x:0,y:0},l:0});else if(Array.isArray(e[0]))for(let t=0;t<e.length;++t){let n=e[t],r=n[0];for(let e=1;e<n.length;++e){let t=n[e];this.segments.push({p1:r,p2:t,l:0}),r=t}}else{let t=e[0];for(let n=1;n<e.length;++n){let r=e[n];this.segments.push({p1:t,p2:r,l:0}),t=r}}for(let e=0;e<this.segments.length;++e){let{p1:t,p2:n}=this.segments[e],r=Math.sqrt((n.x-t.x)*(n.x-t.x)+(n.y-t.y)*(n.y-t.y));this.segments[e].l=r,this.totalLength+=r,this.countingLengths.push(this.totalLength)}}getRandPos(e){let t=Math.random()*this.totalLength,n,r;if(this.segments.length===1)n=this.segments[0],r=t;else for(let e=0;e<this.countingLengths.length;++e)if(t<this.countingLengths[e]){n=this.segments[e],r=e===0?t:t-this.countingLengths[e-1];break}r/=n.l||1;let{p1:i,p2:a}=n;e.x=i.x+r*(a.x-i.x),e.y=i.y+r*(a.y-i.y)}};io.type=`polygonalChain`,io.editorConfig=null;var ao=class{constructor(e){this.x=e.x,this.y=e.y,this.w=e.w,this.h=e.h}getRandPos(e){e.x=Math.random()*this.w+this.x,e.y=Math.random()*this.h+this.y}};ao.type=`rect`,ao.editorConfig=null;var oo=class e{constructor(e,t,n){this.value=e,this.time=t,this.next=null,this.isStepped=!1,n?this.ease=typeof n==`function`?n:go(n):this.ease=null}static createList(t){if(`list`in t){let n=t.list,r,{value:i,time:a}=n[0],o=r=new e(typeof i==`string`?ho(i):i,a,t.ease);if(n.length>2||n.length===2&&n[1].value!==i)for(let t=1;t<n.length;++t){let{value:i,time:a}=n[t];r.next=new e(typeof i==`string`?ho(i):i,a),r=r.next}return o.isStepped=!!t.isStepped,o}let n=new e(typeof t.start==`string`?ho(t.start):t.start,0);return t.end!==t.start&&(n.next=new e(typeof t.end==`string`?ho(t.end):t.end,1)),n}},so=t.Texture.from,co=Math.PI/180;function lo(e,t){if(!e)return;let n=Math.sin(e),r=Math.cos(e),i=t.x*r-t.y*n,a=t.x*n+t.y*r;t.x=i,t.y=a}function uo(e,t,n){return e<<16|t<<8|n}function fo(e){return Math.sqrt(e.x*e.x+e.y*e.y)}function po(e){let t=1/fo(e);e.x*=t,e.y*=t}function mo(e,t){e.x*=t,e.y*=t}function ho(e,t){t||={},e.charAt(0)===`#`?e=e.substr(1):e.indexOf(`0x`)===0&&(e=e.substr(2));let n;return e.length===8&&(n=e.substr(0,2),e=e.substr(2)),t.r=parseInt(e.substr(0,2),16),t.g=parseInt(e.substr(2,2),16),t.b=parseInt(e.substr(4,2),16),n&&(t.a=parseInt(n,16)),t}function go(e){let t=e.length,n=1/t;return function(r){let i=t*r|0,a=(r-i*n)*t,o=e[i]||e[t-1];return o.s+a*(2*(1-a)*(o.cp-o.s)+a*(o.e-o.s))}}function _o(e){return e||`normal`}var vo=class{constructor(e){this.x=e.x||0,this.y=e.y||0,this.radius=e.radius,this.innerRadius=e.innerRadius||0,this.rotation=!!e.affectRotation}getRandPos(e){this.innerRadius===this.radius?e.x=this.radius:e.x=Math.random()*(this.radius-this.innerRadius)+this.innerRadius,e.y=0;let t=Math.random()*Math.PI*2;this.rotation&&(e.rotation+=t),lo(t,e.position),e.position.x+=this.x,e.position.y+=this.y}};vo.type=`torus`,vo.editorConfig=null;var G;(function(e){e[e.Spawn=0]=`Spawn`,e[e.Normal=2]=`Normal`,e[e.Late=5]=`Late`})(G||={});var yo=class{constructor(e){this.order=G.Late,this.minStart=e.minStart,this.maxStart=e.maxStart,this.accel=e.accel,this.rotate=!!e.rotate,this.maxSpeed=e.maxSpeed??0}initParticles(e){let n=e;for(;n;){let e=Math.random()*(this.maxStart-this.minStart)+this.minStart;n.config.velocity?n.config.velocity.set(e,0):n.config.velocity=new t.Point(e,0),lo(n.rotation,n.config.velocity),n=n.next}}updateParticle(e,t){let n=e.config.velocity,r=n.x,i=n.y;if(n.x+=this.accel.x*t,n.y+=this.accel.y*t,this.maxSpeed){let e=fo(n);e>this.maxSpeed&&mo(n,this.maxSpeed/e)}e.x+=(r+n.x)/2*t,e.y+=(i+n.y)/2*t,this.rotate&&(e.rotation=Math.atan2(n.y,n.x))}};yo.type=`moveAcceleration`,yo.editorConfig=null;function bo(e){return this.ease&&(e=this.ease(e)),(this.first.next.value-this.first.value)*e+this.first.value}function xo(e){this.ease&&(e=this.ease(e));let t=this.first.value,n=this.first.next.value;return uo((n.r-t.r)*e+t.r,(n.g-t.g)*e+t.g,(n.b-t.b)*e+t.b)}function So(e){this.ease&&(e=this.ease(e));let t=this.first,n=t.next;for(;e>n.time;)t=n,n=n.next;return e=(e-t.time)/(n.time-t.time),(n.value-t.value)*e+t.value}function Co(e){this.ease&&(e=this.ease(e));let t=this.first,n=t.next;for(;e>n.time;)t=n,n=n.next;e=(e-t.time)/(n.time-t.time);let r=t.value,i=n.value;return uo((i.r-r.r)*e+r.r,(i.g-r.g)*e+r.g,(i.b-r.b)*e+r.b)}function wo(e){this.ease&&(e=this.ease(e));let t=this.first;for(;t.next&&e>t.next.time;)t=t.next;return t.value}function To(e){this.ease&&(e=this.ease(e));let t=this.first;for(;t.next&&e>t.next.time;)t=t.next;let n=t.value;return uo(n.r,n.g,n.b)}var Eo=class{constructor(e=!1){this.first=null,this.isColor=!!e,this.interpolate=null,this.ease=null}reset(e){this.first=e,e.next&&e.next.time>=1?this.interpolate=this.isColor?xo:bo:e.isStepped?this.interpolate=this.isColor?To:wo:this.interpolate=this.isColor?Co:So,this.ease=this.first.ease}},Do=class{constructor(e){this.order=G.Normal,this.list=new Eo(!1),this.list.reset(oo.createList(e.alpha))}initParticles(e){let t=e;for(;t;)t.alpha=this.list.first.value,t=t.next}updateParticle(e){e.alpha=this.list.interpolate(e.agePercent)}};Do.type=`alpha`,Do.editorConfig=null;var Oo=class{constructor(e){this.order=G.Normal,this.value=e.alpha}initParticles(e){let t=e;for(;t;)t.alpha=this.value,t=t.next}};Oo.type=`alphaStatic`,Oo.editorConfig=null;function ko(e){let n=[];for(let r=0;r<e.length;++r){let i=e[r];if(typeof i==`string`)n.push(so(i));else if(i instanceof t.Texture)n.push(i);else{let e=i.count||1;for(i=typeof i.texture==`string`?so(i.texture):i.texture;e>0;--e)n.push(i)}}return n}var Ao=class{constructor(e){this.order=G.Normal,this.anims=[];for(let t=0;t<e.anims.length;++t){let n=e.anims[t],r=ko(n.textures),i=n.framerate<0?-1:n.framerate>0?n.framerate:60,a={textures:r,duration:i>0?r.length/i:0,framerate:i,loop:i>0?!!n.loop:!1};this.anims.push(a)}}initParticles(e){let t=e;for(;t;){let e=Math.floor(Math.random()*this.anims.length),n=t.config.anim=this.anims[e];t.texture=n.textures[0],t.config.animElapsed=0,n.framerate===-1?(t.config.animDuration=t.maxLife,t.config.animFramerate=n.textures.length/t.maxLife):(t.config.animDuration=n.duration,t.config.animFramerate=n.framerate),t=t.next}}updateParticle(e,n){let r=e.config,i=r.anim;r.animElapsed+=n,r.animElapsed>=r.animDuration&&(r.anim.loop?r.animElapsed%=r.animDuration:r.animElapsed=r.animDuration-1e-6);let a=r.animElapsed*r.animFramerate+1e-7|0;e.texture=i.textures[a]||i.textures[i.textures.length-1]||t.Texture.EMPTY}};Ao.type=`animatedRandom`,Ao.editorConfig=null;var jo=class{constructor(e){this.order=G.Normal;let t=e.anim,n=ko(t.textures),r=t.framerate<0?-1:t.framerate>0?t.framerate:60;this.anim={textures:n,duration:r>0?n.length/r:0,framerate:r,loop:r>0?!!t.loop:!1}}initParticles(e){let t=e,n=this.anim;for(;t;)t.texture=n.textures[0],t.config.animElapsed=0,n.framerate===-1?(t.config.animDuration=t.maxLife,t.config.animFramerate=n.textures.length/t.maxLife):(t.config.animDuration=n.duration,t.config.animFramerate=n.framerate),t=t.next}updateParticle(e,n){let r=this.anim,i=e.config;i.animElapsed+=n,i.animElapsed>=i.animDuration&&(r.loop?i.animElapsed%=i.animDuration:i.animElapsed=i.animDuration-1e-6);let a=i.animElapsed*i.animFramerate+1e-7|0;e.texture=r.textures[a]||r.textures[r.textures.length-1]||t.Texture.EMPTY}};jo.type=`animatedSingle`,jo.editorConfig=null;var Mo=class{constructor(e){this.order=G.Normal,this.value=e.blendMode}initParticles(e){let t=e;for(;t;)t.blendMode=_o(this.value),t=t.next}};Mo.type=`blendMode`,Mo.editorConfig=null;var No=class{constructor(e){this.order=G.Spawn,this.spacing=e.spacing*co,this.start=e.start*co,this.distance=e.distance}initParticles(e){let t=0,n=e;for(;n;){let e;e=this.spacing?this.start+this.spacing*t:Math.random()*Math.PI*2,n.rotation=e,this.distance&&(n.position.x=this.distance,lo(e,n.position)),n=n.next,++t}}};No.type=`spawnBurst`,No.editorConfig=null;var Po=class{constructor(e){this.order=G.Normal,this.list=new Eo(!0),this.list.reset(oo.createList(e.color))}initParticles(e){let t=e,n=this.list.first.value,r=uo(n.r,n.g,n.b);for(;t;)t.tint=r,t=t.next}updateParticle(e){e.tint=this.list.interpolate(e.agePercent)}};Po.type=`color`,Po.editorConfig=null;var Fo=class{constructor(e){this.order=G.Normal;let t=e.color;t.charAt(0)===`#`?t=t.substr(1):t.indexOf(`0x`)===0&&(t=t.substr(2)),this.value=parseInt(t,16)}initParticles(e){let t=e;for(;t;)t.tint=this.value,t=t.next}};Fo.type=`colorStatic`,Fo.editorConfig=null;var Io=class{constructor(e){this.order=G.Normal,this.index=0,this.textures=e.textures.map(e=>typeof e==`string`?so(e):e)}initParticles(e){let t=e;for(;t;)t.texture=this.textures[this.index],++this.index>=this.textures.length&&(this.index=0),t=t.next}};Io.type=`textureOrdered`,Io.editorConfig=null;var Lo=new t.Point,Ro=`E.LN2.LN10.LOG2E.LOG10E.PI.SQRT1_2.SQRT2.abs.acos.acosh.asin.asinh.atan.atanh.atan2.cbrt.ceil.cos.cosh.exp.expm1.floor.fround.hypot.log.log1p.log10.log2.max.min.pow.random.round.sign.sin.sinh.sqrt.tan.tanh`.split(`.`),zo=new RegExp([`[01234567890\\.\\*\\-\\+\\/\\(\\)x ,]`].concat(Ro).join(`|`),`g`);function Bo(e){let t=e.match(zo);for(let e=t.length-1;e>=0;--e)Ro.indexOf(t[e])>=0&&(t[e]=`Math.${t[e]}`);return e=t.join(``),Function(`x`,`return ${e};`)}var Vo=class{constructor(e){if(this.order=G.Late,e.path)if(typeof e.path==`function`)this.path=e.path;else try{this.path=Bo(e.path)}catch{this.path=null}else this.path=e=>e;this.list=new Eo(!1),this.list.reset(oo.createList(e.speed)),this.minMult=e.minMult??1}initParticles(e){let n=e;for(;n;){n.config.initRotation=n.rotation,n.config.initPosition?n.config.initPosition.copyFrom(n.position):n.config.initPosition=new t.Point(n.x,n.y),n.config.movement=0;let e=Math.random()*(1-this.minMult)+this.minMult;n.config.speedMult=e,n=n.next}}updateParticle(e,t){let n=this.list.interpolate(e.agePercent)*e.config.speedMult;e.config.movement+=n*t,Lo.x=e.config.movement,Lo.y=this.path(Lo.x),lo(e.config.initRotation,Lo),e.position.x=e.config.initPosition.x+Lo.x,e.position.y=e.config.initPosition.y+Lo.y}};Vo.type=`movePath`,Vo.editorConfig=null;var Ho=class{constructor(){this.order=G.Spawn}initParticles(e){}};Ho.type=`spawnPoint`,Ho.editorConfig=null;var Uo=class{constructor(e){this.order=G.Normal,this.textures=e.textures.map(e=>typeof e==`string`?so(e):e)}initParticles(e){let t=e;for(;t;){let e=Math.floor(Math.random()*this.textures.length);t.texture=this.textures[e],t=t.next}}};Uo.type=`textureRandom`,Uo.editorConfig=null;var Wo=class{constructor(e){this.order=G.Normal,this.minStart=e.minStart*co,this.maxStart=e.maxStart*co,this.minSpeed=e.minSpeed*co,this.maxSpeed=e.maxSpeed*co,this.accel=e.accel*co}initParticles(e){let t=e;for(;t;)this.minStart===this.maxStart?t.rotation+=this.maxStart:t.rotation+=Math.random()*(this.maxStart-this.minStart)+this.minStart,t.config.rotSpeed=Math.random()*(this.maxSpeed-this.minSpeed)+this.minSpeed,t=t.next}updateParticle(e,t){if(this.accel){let n=e.config.rotSpeed;e.config.rotSpeed+=this.accel*t,e.rotation+=(e.config.rotSpeed+n)/2*t}else e.rotation+=e.config.rotSpeed*t}};Wo.type=`rotation`,Wo.editorConfig=null;var Go=class{constructor(e){this.order=G.Normal,this.min=e.min*co,this.max=e.max*co}initParticles(e){let t=e;for(;t;)this.min===this.max?t.rotation+=this.max:t.rotation+=Math.random()*(this.max-this.min)+this.min,t=t.next}};Go.type=`rotationStatic`,Go.editorConfig=null;var Ko=class{constructor(e){this.order=G.Late+1,this.rotation=(e.rotation||0)*co}initParticles(e){let t=e;for(;t;)t.rotation=this.rotation,t=t.next}};Ko.type=`noRotation`,Ko.editorConfig=null;var qo=class{constructor(e){this.order=G.Normal,this.list=new Eo(!1),this.list.reset(oo.createList(e.scale)),this.minMult=e.minMult??1}initParticles(e){let t=e;for(;t;){let e=Math.random()*(1-this.minMult)+this.minMult;t.config.scaleMult=e,t.scale.x=t.scale.y=this.list.first.value*e,t=t.next}}updateParticle(e){e.scale.x=e.scale.y=this.list.interpolate(e.agePercent)*e.config.scaleMult}};qo.type=`scale`,qo.editorConfig=null;var Jo=class{constructor(e){this.order=G.Normal,this.min=e.min,this.max=e.max}initParticles(e){let t=e;for(;t;){let e=Math.random()*(this.max-this.min)+this.min;t.scale.x=t.scale.y=e,t=t.next}}};Jo.type=`scaleStatic`,Jo.editorConfig=null;var Yo=class e{static registerShape(t,n){e.shapes[n||t.type]=t}constructor(t){this.order=G.Spawn;let n=e.shapes[t.type];if(!n)throw Error(`No shape found with type '${t.type}'`);this.shape=new n(t.data)}initParticles(e){let t=e;for(;t;)this.shape.getRandPos(t),t=t.next}};Yo.type=`spawnShape`,Yo.editorConfig=null,Yo.shapes={},Yo.registerShape(io),Yo.registerShape(ao),Yo.registerShape(vo),Yo.registerShape(vo,`circle`);var Xo=class{constructor(e){this.order=G.Normal,this.texture=typeof e.texture==`string`?so(e.texture):e.texture}initParticles(e){let t=e;for(;t;)t.texture=this.texture,t=t.next}};Xo.type=`textureSingle`,Xo.editorConfig=null;var Zo=class{constructor(e){this.order=G.Late,this.list=new Eo(!1),this.list.reset(oo.createList(e.speed)),this.minMult=e.minMult??1}initParticles(e){let n=e;for(;n;){let e=Math.random()*(1-this.minMult)+this.minMult;n.config.speedMult=e,n.config.velocity?n.config.velocity.set(this.list.first.value*e,0):n.config.velocity=new t.Point(this.list.first.value*e,0),lo(n.rotation,n.config.velocity),n=n.next}}updateParticle(e,t){let n=this.list.interpolate(e.agePercent)*e.config.speedMult,r=e.config.velocity;po(r),mo(r,n),e.x+=r.x*t,e.y+=r.y*t}};Zo.type=`moveSpeed`,Zo.editorConfig=null;var Qo=class{constructor(e){this.order=G.Late,this.min=e.min,this.max=e.max}initParticles(e){let n=e;for(;n;){let e=Math.random()*(this.max-this.min)+this.min;n.config.velocity?n.config.velocity.set(e,0):n.config.velocity=new t.Point(e,0),lo(n.rotation,n.config.velocity),n=n.next}}updateParticle(e,t){let n=e.config.velocity;e.x+=n.x*t,e.y+=n.y*t}};Qo.type=`moveSpeedStatic`,Qo.editorConfig=null;var $o=class extends t.Sprite{constructor(e){super(),this.prevChild=this.nextChild=null,this.emitter=e,this.config={},this.anchor.x=this.anchor.y=.5,this.maxLife=0,this.age=0,this.agePercent=0,this.oneOverLife=0,this.next=null,this.prev=null,this.init=this.init,this.kill=this.kill}init(e){this.maxLife=e,this.age=this.agePercent=0,this.rotation=0,this.position.x=this.position.y=0,this.scale.x=this.scale.y=1,this.tint=16777215,this.alpha=1,this.oneOverLife=1/this.maxLife,this.visible=!0}kill(){this.emitter.recycle(this)}destroy(){this.parent&&this.parent.removeChild(this),this.emitter=this.next=this.prev=null,super.destroy()}},es=t.Ticker.shared,ts=Symbol(`Position particle per emitter position`),K=class e{static registerBehavior(t){e.knownBehaviors[t.type]=t}constructor(e,n){this.initBehaviors=[],this.updateBehaviors=[],this.recycleBehaviors=[],this.minLifetime=0,this.maxLifetime=0,this.customEase=null,this._frequency=1,this.spawnChance=1,this.maxParticles=1e3,this.emitterLifetime=-1,this.spawnPos=new t.Point,this.particlesPerWave=1,this.rotation=0,this.ownerPos=new t.Point,this._prevEmitterPos=new t.Point,this._prevPosIsValid=!1,this._posChanged=!1,this._parent=null,this.addAtBack=!1,this.particleCount=0,this._emit=!1,this._spawnTimer=0,this._emitterLife=-1,this._activeParticlesFirst=null,this._activeParticlesLast=null,this._poolFirst=null,this._origConfig=null,this._autoUpdate=!1,this._destroyWhenComplete=!1,this._completeCallback=null,this.parent=e,n&&this.init(n),this.recycle=this.recycle,this.update=this.update,this.rotate=this.rotate,this.updateSpawnPos=this.updateSpawnPos,this.updateOwnerPos=this.updateOwnerPos}get frequency(){return this._frequency}set frequency(e){typeof e==`number`&&e>0?this._frequency=e:this._frequency=1}get parent(){return this._parent}set parent(e){this.cleanup(),this._parent=e}init(t){if(!t)return;this.cleanup(),this._origConfig=t,this.minLifetime=t.lifetime.min,this.maxLifetime=t.lifetime.max,t.ease?this.customEase=typeof t.ease==`function`?t.ease:go(t.ease):this.customEase=null,this.particlesPerWave=1,t.particlesPerWave&&t.particlesPerWave>1&&(this.particlesPerWave=t.particlesPerWave),this.frequency=t.frequency,this.spawnChance=typeof t.spawnChance==`number`&&t.spawnChance>0?t.spawnChance:1,this.emitterLifetime=t.emitterLifetime||-1,this.maxParticles=t.maxParticles>0?t.maxParticles:1e3,this.addAtBack=!!t.addAtBack,this.rotation=0,this.ownerPos.set(0),t.pos?this.spawnPos.copyFrom(t.pos):this.spawnPos.set(0),this._prevEmitterPos.copyFrom(this.spawnPos),this._prevPosIsValid=!1,this._spawnTimer=0,this.emit=t.emit===void 0?!0:!!t.emit,this.autoUpdate=!!t.autoUpdate;let n=t.behaviors.map(t=>{let n=e.knownBehaviors[t.type];return n?new n(t.config):(console.error(`Unknown behavior: ${t.type}`),null)}).filter(e=>!!e);n.push(ts),n.sort((e,t)=>e===ts?t.order===G.Spawn?1:-1:t===ts?e.order===G.Spawn?-1:1:e.order-t.order),this.initBehaviors=n.slice(),this.updateBehaviors=n.filter(e=>e!==ts&&e.updateParticle),this.recycleBehaviors=n.filter(e=>e!==ts&&e.recycleParticle)}getBehavior(t){return e.knownBehaviors[t]&&this.initBehaviors.find(n=>n instanceof e.knownBehaviors[t])||null}fillPool(e){for(;e>0;--e){let e=new $o(this);e.next=this._poolFirst,this._poolFirst=e}}recycle(e,t=!1){for(let n=0;n<this.recycleBehaviors.length;++n)this.recycleBehaviors[n].recycleParticle(e,!t);e.next&&(e.next.prev=e.prev),e.prev&&(e.prev.next=e.next),e===this._activeParticlesLast&&(this._activeParticlesLast=e.prev),e===this._activeParticlesFirst&&(this._activeParticlesFirst=e.next),e.prev=null,e.next=this._poolFirst,this._poolFirst=e,e.parent&&e.parent.removeChild(e),--this.particleCount}rotate(e){if(this.rotation===e)return;let t=e-this.rotation;this.rotation=e,lo(t,this.spawnPos),this._posChanged=!0}updateSpawnPos(e,t){this._posChanged=!0,this.spawnPos.x=e,this.spawnPos.y=t}updateOwnerPos(e,t){this._posChanged=!0,this.ownerPos.x=e,this.ownerPos.y=t}resetPositionTracking(){this._prevPosIsValid=!1}get emit(){return this._emit}set emit(e){this._emit=!!e,this._emitterLife=this.emitterLifetime}get autoUpdate(){return this._autoUpdate}set autoUpdate(e){this._autoUpdate&&!e?es.remove(this.update,this):!this._autoUpdate&&e&&es.add(this.update,this),this._autoUpdate=!!e}playOnceAndDestroy(e){this.autoUpdate=!0,this.emit=!0,this._destroyWhenComplete=!0,this._completeCallback=e}playOnce(e){this.emit=!0,this._completeCallback=e}update(e){if(typeof e!=`number`&&(e=e.deltaTime),this._autoUpdate&&(e=es.elapsedMS*.001),!this._parent)return;for(let t=this._activeParticlesFirst,n;t;t=n)if(n=t.next,t.age+=e,t.age>t.maxLife||t.age<0)this.recycle(t);else{let n=t.age*t.oneOverLife;this.customEase&&(n=this.customEase.length===4?this.customEase(n,0,1,1):this.customEase(n)),t.agePercent=n;for(let n=0;n<this.updateBehaviors.length;++n)if(this.updateBehaviors[n].updateParticle(t,e)){this.recycle(t);break}}let t,n;this._prevPosIsValid&&(t=this._prevEmitterPos.x,n=this._prevEmitterPos.y);let r=this.ownerPos.x+this.spawnPos.x,i=this.ownerPos.y+this.spawnPos.y;if(this._emit)for(this._spawnTimer-=e<0?0:e;this._spawnTimer<=0;){if(this._emitterLife>=0&&(this._emitterLife-=this._frequency,this._emitterLife<=0)){this._spawnTimer=0,this._emitterLife=0,this.emit=!1;break}if(this.particleCount>=this.maxParticles){this._spawnTimer+=this._frequency;continue}let a,o;if(this._prevPosIsValid&&this._posChanged){let s=1+this._spawnTimer/e;a=(r-t)*s+t,o=(i-n)*s+n}else a=r,o=i;let s=null,c=null;for(let e=Math.min(this.particlesPerWave,this.maxParticles-this.particleCount),t=0;t<e;++t){if(this.spawnChance<1&&Math.random()>=this.spawnChance)continue;let e;if(e=this.minLifetime===this.maxLifetime?this.minLifetime:Math.random()*(this.maxLifetime-this.minLifetime)+this.minLifetime,-this._spawnTimer>=e)continue;let t;this._poolFirst?(t=this._poolFirst,this._poolFirst=this._poolFirst.next,t.next=null):t=new $o(this),t.init(e),this.addAtBack?this._parent.addChildAt(t,0):this._parent.addChild(t),s?(c.next=t,t.prev=c,c=t):c=s=t,++this.particleCount}if(s){this._activeParticlesLast?(this._activeParticlesLast.next=s,s.prev=this._activeParticlesLast,this._activeParticlesLast=c):(this._activeParticlesFirst=s,this._activeParticlesLast=c);for(let e=0;e<this.initBehaviors.length;++e){let t=this.initBehaviors[e];if(t===ts)for(let e=s,t;e;e=t){t=e.next,this.rotation!==0&&(lo(this.rotation,e.position),e.rotation+=this.rotation),e.position.x+=a,e.position.y+=o,e.age+=-this._spawnTimer;let n=e.age*e.oneOverLife;this.customEase&&(n=this.customEase.length===4?this.customEase(n,0,1,1):this.customEase(n)),e.agePercent=n}else t.initParticles(s)}for(let e=s,t;e;e=t){t=e.next;for(let t=0;t<this.updateBehaviors.length;++t)if(this.updateBehaviors[t].updateParticle(e,-this._spawnTimer)){this.recycle(e);break}}}this._spawnTimer+=this._frequency}if(this._posChanged&&=(this._prevEmitterPos.x=r,this._prevEmitterPos.y=i,this._prevPosIsValid=!0,!1),!this._emit&&!this._activeParticlesFirst){if(this._completeCallback){let e=this._completeCallback;this._completeCallback=null,e()}this._destroyWhenComplete&&this.destroy()}}emitNow(){let e=this.ownerPos.x+this.spawnPos.x,t=this.ownerPos.y+this.spawnPos.y,n=null,r=null;for(let e=Math.min(this.particlesPerWave,this.maxParticles-this.particleCount),t=0;t<e;++t){if(this.spawnChance<1&&Math.random()>=this.spawnChance)continue;let e;this._poolFirst?(e=this._poolFirst,this._poolFirst=this._poolFirst.next,e.next=null):e=new $o(this);let t;t=this.minLifetime===this.maxLifetime?this.minLifetime:Math.random()*(this.maxLifetime-this.minLifetime)+this.minLifetime,e.init(t),this.addAtBack?this._parent.addChildAt(e,0):this._parent.addChild(e),n?(r.next=e,e.prev=r,r=e):r=n=e,++this.particleCount}if(n){this._activeParticlesLast?(this._activeParticlesLast.next=n,n.prev=this._activeParticlesLast,this._activeParticlesLast=r):(this._activeParticlesFirst=n,this._activeParticlesLast=r);for(let r=0;r<this.initBehaviors.length;++r){let i=this.initBehaviors[r];if(i===ts)for(let r=n,i;r;r=i)i=r.next,this.rotation!==0&&(lo(this.rotation,r.position),r.rotation+=this.rotation),r.position.x+=e,r.position.y+=t;else i.initParticles(n)}}}cleanup(){let e,t;for(e=this._activeParticlesFirst;e;e=t)t=e.next,this.recycle(e,!0);this._activeParticlesFirst=this._activeParticlesLast=null,this.particleCount=0}get destroyed(){return!(this._parent&&this.initBehaviors.length)}destroy(){this.autoUpdate=!1,this.cleanup();let e;for(let t=this._poolFirst;t;t=e)e=t.next,t.destroy();this._poolFirst=this._parent=this.spawnPos=this.ownerPos=this.customEase=this._completeCallback=null,this.initBehaviors.length=this.updateBehaviors.length=this.recycleBehaviors.length=0}};K.knownBehaviors={},K.registerBehavior(yo),K.registerBehavior(Do),K.registerBehavior(Oo),K.registerBehavior(Ao),K.registerBehavior(jo),K.registerBehavior(Mo),K.registerBehavior(No),K.registerBehavior(Po),K.registerBehavior(Fo),K.registerBehavior(Io),K.registerBehavior(Vo),K.registerBehavior(Ho),K.registerBehavior(Uo),K.registerBehavior(Wo),K.registerBehavior(Go),K.registerBehavior(Ko),K.registerBehavior(qo),K.registerBehavior(Jo),K.registerBehavior(Yo),K.registerBehavior(Xo),K.registerBehavior(Zo),K.registerBehavior(Qo),z(`ParticlesEmitter`,class extends Ha{constructor(...e){super(...e),this.elapsed=Date.now()}async onMount(e){await super.onMount(e);let{props:t}=e,n=t.context.tick;this.emitter=new K(this,t.config),this.subscriptionTick=n.observable.subscribe(e=>{if(!this.emitter)return;let t=Date.now();this.emitter.update((t-this.elapsed)*.001),this.elapsed=t})}onUpdate(e){}async onDestroy(e,t){await super.onDestroy(e,async()=>{this.emitter?.destroy(),this.emitter=null,this.subscriptionTick.unsubscribe(),t()})}});function ns(e){return V(`ParticlesEmitter`,e)}var rs=console.log,is=function(e){return e.Stand=`stand`,e.Walk=`walk`,e}({}),as=class extends za(t.Sprite){constructor(...e){super(...e),this.hitbox=null,this.currentAnimation=null,this.time=0,this.frameIndex=0,this.animations=new Map,this.subscriptionSheet=[],this.sheetParams={},this.sheetCurrentAnimation=is.Stand,this.app=null,this.globalLoader=null,this.trackedAssetIds=new Set,this.currentAnimationContainer=null}get renderer(){return this.app?.renderer}async detectImageDimensions(e){if(!e||typeof e!=`string`||e.trim()===``)throw Error(`Invalid image path provided to detectImageDimensions: ${e}`);let n=null;this.globalLoader&&(n=this.globalLoader.registerAsset(e),this.trackedAssetIds.add(n));let r=await t.Assets.load(e,e=>{this.globalLoader&&n&&this.globalLoader.updateProgress(n,e)});return this.globalLoader&&n&&this.globalLoader.completeAsset(n),{width:r.width,height:r.height}}async createTextures(e){let{width:n,height:r,framesHeight:i,framesWidth:a,image:o,offset:s}=e;if(!o||typeof o!=`string`||o.trim()===``)return console.warn(`Invalid image path provided to createTextures:`,o),[];let c=null;this.globalLoader&&(c=this.globalLoader.registerAsset(o),this.trackedAssetIds.add(c));let l=await t.Assets.load(o,e=>{this.globalLoader&&c&&this.globalLoader.updateProgress(c,e)});this.globalLoader&&c&&this.globalLoader.completeAsset(c),(!n||n<=0)&&(n=l.width,e.width=n),(!r||r<=0)&&(r=l.height,e.height=r);let u=e.spriteWidth,d=e.spriteHeight,f=[],p=s&&s.x||0,m=s&&s.y||0;for(let e=0;e<i;e++){f[e]=[];for(let i=0;i<a;i++){let a=i*u+p,o=e*d+m;if(o>r)throw rs(`Warning, there is a problem with the height of the "${this.id}" spritesheet. When cutting into frames, the frame exceeds the height of the image.`);if(a>n)throw rs(`Warning, there is a problem with the width of the "${this.id}" spritesheet. When cutting into frames, the frame exceeds the width of the image.`);f[e].push(new t.Texture({source:l.source,frame:new t.Rectangle(a,o,u,d)}))}}return f}async createAnimations(){let{textures:e}=this.spritesheet;if(e)for(let t in e){let n={...[`width`,`height`,`framesHeight`,`framesWidth`,`rectWidth`,`rectHeight`,`offset`,`image`,`sound`].reduce((e,t)=>({...e,[t]:this.spritesheet[t]}),{}),...e[t]},{rectWidth:r,width:i=0,framesWidth:a=1,rectHeight:o,height:s=0,framesHeight:c=1,image:l}=n,u=i,d=s;if(l&&(!u||u<=0||!d||d<=0)){let e=await this.detectImageDimensions(l);(!u||u<=0)&&(u=e.width,n.width=u),(!d||d<=0)&&(d=e.height,n.height=d)}n.spriteWidth=r||u/a,n.spriteHeight=o||d/c,this.animations.set(t,{frames:await this.createTextures(n),name:t,animations:e[t].animations,params:[],data:n,sprites:[]})}}async onMount(e){this[`#element`]=e;let{props:t,propObservables:n}=e,r=t.context.tick,i=t.sheet??{},a=t.sheet?.definition??{};if(this.app=t.context.app(),this.globalLoader=t.context?.globalLoader||null,i?.onFinish&&(this.onFinish=i.onFinish),this.subscriptionTick=r.observable.subscribe(e=>{this.destroyed||this.update(e)}),a){let e=a instanceof Promise?await a:a;this.spritesheet=e.value??e,await this.createAnimations()}if(i?.params&&(this.sheetParams=i.params),i?.playing&&this.has(i.playing)&&(this.sheetCurrentAnimation=i.playing,this.play(this.sheetCurrentAnimation,[this.sheetParams])),i.params)for(let e in n?.sheet.params){let t=n?.sheet.params[e];if(I(t))this.subscriptionSheet.push(t.observable.subscribe(t=>{this.animations.size!=0&&this.has(this.sheetCurrentAnimation)&&this.play(this.sheetCurrentAnimation,[{...this.sheetParams,[e]:t}])}));else{if(!this.has(this.sheetCurrentAnimation))continue;this.play(this.sheetCurrentAnimation,[{...this.sheetParams,[e]:t}])}}let o=L(()=>{let{x:e,y:t}=n??{};if(!e||!t)return!1;let r=e,i=t,a=Qi(r)&&r.animatedState().current!==r.animatedState().end,o=Qi(i)&&i.animatedState().current!==i.animatedState().end;return a||o});R(()=>{let e=o();if(!this.isMounted)return;let t=this.getMovementAnimationName(e);t&&(this.sheetCurrentAnimation=t,this.spritesheet&&this.play(this.sheetCurrentAnimation,[this.sheetParams]))}),super.onMount(e)}async onUpdate(e){if(this.destroyed)return;super.onUpdate(e),!this.globalLoader&&e.context?.globalLoader&&(this.globalLoader=e.context.globalLoader);let n=async e=>{if(!e||typeof e!=`string`||e.trim()===``)return console.warn(`Invalid image path provided to setTexture:`,e),null;let n=null;this.globalLoader&&(n=this.globalLoader.registerAsset(e),this.trackedAssetIds.add(n));let r=this.fullProps.loader?.onProgress,i=await t.Assets.load(e,e=>{if(this.globalLoader&&n&&this.globalLoader.updateProgress(n,e),r&&r(e),e==1){this.globalLoader&&n&&this.globalLoader.completeAsset(n);let e=this.fullProps.loader?.onComplete;e&&setTimeout(()=>{e(i)})}});return i},r=e.sheet,i=e.sheet?.definition??{};if(i?.type===`reset`){let e=i.value instanceof Promise?await i.value:i.value;this.spritesheet=e??i,await this.resetAnimations()}if(r?.params&&(this.sheetParams=r?.params),r?.playing&&this.isMounted&&this.spritesheet&&this.animations.size>0&&(this.sheetCurrentAnimation=r?.playing,this.play(this.sheetCurrentAnimation,[this.sheetParams])),e.hitbox!==void 0&&(this.hitbox=this.normalizeHitbox(e.hitbox)),e.scaleMode)this.baseTexture.scaleMode=e.scaleMode;else if(e.image&&this.fullProps.rectangle===void 0){let e=await n(this.fullProps.image);e&&(this.texture=e)}else e.texture&&(na(e.texture)?(e.texture.componentInstance.subjectInit.subscribe(),this.texture=this.renderer?.generateTexture(e.texture.componentInstance)):this.texture=e.texture);if(e.rectangle!==void 0){let{x:r,y:i,width:a,height:o}=e.rectangle?.value??e.rectangle,s=await n(this.fullProps.image);s&&(this.texture=new t.Texture({source:s.source,frame:new t.Rectangle(r,i,a,o)}))}this.hitbox&&!this.spritesheet&&this.applyHitboxAnchor(this.texture.width,this.texture.height)}async onDestroy(e,n){await super.onDestroy(e,async()=>{this.globalLoader&&(this.trackedAssetIds.forEach(e=>{this.globalLoader.removeAsset(e)}),this.trackedAssetIds.clear()),this.subscriptionSheet.forEach(e=>e.unsubscribe()),this.subscriptionTick.unsubscribe(),this.currentAnimationContainer&&this.parent instanceof t.Container&&this.parent.removeChild(this.currentAnimationContainer),n&&n()})}has(e){return this.animations.has(e)}get(e){return this.animations.get(e)}isPlaying(e){return e?this.currentAnimation==null?!1:this.currentAnimation.name==e:!!this.currentAnimation}getFirstAnimationName(){return this.animations.keys().next().value}getPlayableAnimationName(e){return e&&this.has(e)?e:this.getFirstAnimationName()}getMovementAnimationName(e){let t=e?is.Walk:is.Stand;if(this.has(t))return t;if(this.sheetCurrentAnimation&&this.has(this.sheetCurrentAnimation))return this.sheetCurrentAnimation;if(this.currentAnimation?.name&&this.has(this.currentAnimation.name))return this.currentAnimation.name}stop(){this.currentAnimation=null}play(e,n=[]){let r=this.currentAnimation?.params;if(this.isPlaying(e)&&Ut(n,r||[]))return;let i=this.get(e);if(!i)throw Error(`Impossible to play the ${e} animation because it doesn't exist on the "${this.id}" spritesheet`);let a=structuredClone(n);this.removeChildren(),i.sprites=[],this.currentAnimation=i,this.currentAnimation.params=a,this.time=0,this.frameIndex=0;let o=i.animations;o=Kt(o)?o(...a):o,this.currentAnimationContainer=new t.Container;for(let e of o){let n=new t.Sprite;for(let t of e)this.currentAnimation.sprites.push(t);this.currentAnimationContainer.addChild(n)}let s=this.currentAnimation.data.sound;s&&new Ca.Howl({src:s,autoplay:!0,loop:!1,volume:1}),this.update({deltaRatio:1})}async resetAnimations(){if(this.stop(),this.animations.clear(),this.currentAnimation=null,this.currentAnimationContainer=null,this.time=0,this.frameIndex=0,this.removeChildren(),this.spritesheet){await this.createAnimations();let e=this.getPlayableAnimationName(this.sheetCurrentAnimation);e&&(this.sheetCurrentAnimation=e,this.play(e,[this.sheetParams]))}}update({deltaRatio:e}){let t=this.getElement();if(t&&ma(t)||!this.isPlaying()||!this.currentAnimation||!this.currentAnimationContainer)return;let n=this,{frames:r,sprites:i,data:a}=this.currentAnimation,o=i[this.frameIndex],s=i[this.frameIndex+1];for(let e of this.currentAnimationContainer.children){if(!o||o.frameY==null||o.frameX==null)continue;this.texture=r[o.frameY][o.frameX];let e=e=>o[e]??a[e]??this.spritesheet[e],t=t=>{let n=e(t);n&&this[t].set(...n)};function i(t,r){let i=e(r||t);i!==void 0&&(n[t]=i)}this.applyTransform&&(o={...o,...this.applyTransform(o,a,this.spritesheet)});let s=e(`spriteRealSize`);o.sound,this.applyHitboxAnchor(a.spriteWidth,a.spriteHeight,s),t(`anchor`),t(`scale`),t(`skew`),t(`pivot`),i(`alpha`,`opacity`),i(`x`),i(`y`),i(`angle`),i(`rotation`),i(`visible`)}if(!s){this.time=0,this.frameIndex=0,this.onFinish&&i.length>1&&this.onFinish();return}this.time+=e??1,this.time>=s.time&&this.frameIndex++}applyHitboxAnchor(e,t,n){if(!this.hitbox||!e||!t)return;let r=(typeof n==`number`?n:n?.height)??t,i=Math.max(0,(t-r)/2),a=this.clamp((e-this.hitbox.w)/2/e),o=this.clamp((t-this.hitbox.h-i)/t),s=this.clamp(a+this.hitbox.w/2/e),c=this.clamp(o+this.hitbox.h/2/t),l=this.clamp((t-i)/t),u=a,d=o;switch(this.hitbox.anchorMode??`top-left`){case`center`:u=s,d=c;break;case`foot`:u=s,d=l;break;default:break}this.anchor.set(u,d)}normalizeHitbox(e){let t=e?.value??e;if(!t||typeof t!=`object`)return null;let{w:n,h:r,anchorMode:i}=t;return typeof n!=`number`||typeof r!=`number`?null:{w:n,h:r,anchorMode:i}}clamp(e){return Math.min(1,Math.max(0,e))}};z(`Sprite`,as);var os=e=>(z(`Sprite`,as),V(`Sprite`,e));function ss(e){let t={audioprocess:null,canplay:null,canplaythrough:null,complete:null,durationchange:null,emptied:null,ended:null,loadeddata:null,loadedmetadata:null,pause:null,play:null,playing:null,progress:null,ratechange:null,seeked:null,seeking:null,stalled:null,suspend:null,timeupdate:null,volumechange:null,waiting:null},n=F(null),{play:r,loop:i,muted:a}=ba(e)({play:{type:Boolean,default:!0},loop:{type:Boolean,default:!1},muted:{type:Boolean,default:!1}});return R(()=>{let e=n(),t=r();e&&t!==void 0&&(t?e.play():e.pause()),e&&i()&&(e.loop=i()),e&&a()&&(e.muted=a())}),eo(()=>()=>{for(let e in t)t[e]&&n().removeEventListener(e,t[e])}),W(os,{...e,image:e.src,loader:{onComplete:r=>{let i=r.source.resource;n.set(i),e?.loader?.onComplete&&e.loader.onComplete(r);for(let n in t)if(e[n]){let r=t=>{e[n](t)};t[n]=r,i.addEventListener(n,r)}}}})}z(`Text`,class extends za(t.Text){constructor(...e){super(...e),this.fullText=``,this.currentIndex=0,this.typewriterSpeed=1,this._wordWrapWidth=0,this.typewriterOptions={},this.lastSoundTime=0,this.soundDuration=0}async onMount(e,t){let{props:n}=e;await super.onMount(e,t);let r=n.context.tick;n.text&&n.typewriter&&(this.fullText=n.text,this.text=``,this.currentIndex=0,n.typewriter&&(this.typewriterOptions=n.typewriter,this.typewriterOptions.skip&&ja(this.typewriterOptions.skip)&&Na(this.typewriterOptions.skip,()=>{this.skipTypewriter()}),this.typewriterOptions.sound&&this.initializeTypewriterSound()),this.updateLayout()),this.subscriptionTick=r.observable.subscribe(()=>{n.typewriter&&this.typewriterEffect()})}onUpdate(e){if(super.onUpdate(e),e.typewriter&&e.typewriter&&(this.typewriterOptions=e.typewriter,e.typewriter.sound&&this.initializeTypewriterSound()),e.text!==void 0&&(this.text=``+e.text),e.text!==void 0&&e.text!==this.fullText&&this.fullProps.typewriter&&(this.text=``,this.currentIndex=0,this.fullText=e.text,this.updateLayout()),e.style){for(let t in e.style)this.style[t]=e.style[t];e.style.wordWrapWidth&&(this._wordWrapWidth=e.style.wordWrapWidth)}e.color&&(this.style.fill=e.color),e.size&&(this.style.fontSize=e.size),e.fontFamily&&(this.style.fontFamily=e.fontFamily),this.updateLayout()}get onCompleteCallback(){return this.typewriterOptions.onComplete}initializeTypewriterSound(){this.typewriterOptions.sound?.src&&(this.typewriterSound=new Ca.Howl({src:[this.typewriterOptions.sound.src],volume:this.typewriterOptions.sound.volume??.5,rate:this.typewriterOptions.sound.rate??1,preload:!0,onload:()=>{if(this.typewriterSound){let e=this.typewriterSound.duration(),t=this.typewriterOptions.sound?.rate??1;this.soundDuration=e/t*1e3}}}))}playTypewriterSound(e){!this.typewriterSound||!this.typewriterOptions.sound||this.soundDuration>0&&e-this.lastSoundTime<this.soundDuration||(this.typewriterSound.play(),this.lastSoundTime=e)}updateLayout(){this._wordWrapWidth?this.setWidth(this._wordWrapWidth):this.setWidth(this.width),this.setHeight(this.height)}typewriterEffect(){if(this.currentIndex<this.fullText.length){let e=Math.min(this.currentIndex+(this.typewriterOptions.speed??1),this.fullText.length);this.text=this.fullText.slice(0,e),this.currentIndex=e,this.typewriterOptions.sound&&this.playTypewriterSound(Date.now()),this.updateLayout(),this.currentIndex===this.fullText.length&&this.onCompleteCallback&&this.onCompleteCallback()}}skipTypewriter(){this.skipSignal&&this.skipSignal(),this.text=this.fullText,this.currentIndex=this.fullText.length,this.updateLayout()}async onDestroy(e,t){await super.onDestroy(e,async()=>{this.subscriptionTick&&this.subscriptionTick.unsubscribe(),this.typewriterSound&&=(this.typewriterSound.stop(),this.typewriterSound.unload(),void 0),t&&t()})}});function cs(e){return V(`Text`,e)}z(`TilingSprite`,class extends za(t.TilingSprite){onUpdate(e){super.onUpdate(e),e.image&&(this.texture=t.Texture.from(e.image)),e.tileScale&&this.tileScale.set(e.tileScale.x,e.tileScale.y),e.tilePosition&&this.tilePosition.set(e.tilePosition.x,e.tilePosition.y),e.width!==void 0&&(this.width=e.width),e.height!==void 0&&(this.height=e.height)}});function ls(e){return V(`TilingSprite`,e)}var us=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{};function ds(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var fs={exports:{}};(function(e,t){(function(){var t={linear:function(e,t,n,r){return n*e/r+t},easeInQuad:function(e,t,n,r){return n*(e/=r)*e+t},easeOutQuad:function(e,t,n,r){return-n*(e/=r)*(e-2)+t},easeInOutQuad:function(e,t,n,r){return(e/=r/2)<1?n/2*e*e+t:-n/2*(--e*(e-2)-1)+t},easeInCubic:function(e,t,n,r){return n*(e/=r)*e*e+t},easeOutCubic:function(e,t,n,r){return n*((e=e/r-1)*e*e+1)+t},easeInOutCubic:function(e,t,n,r){return(e/=r/2)<1?n/2*e*e*e+t:n/2*((e-=2)*e*e+2)+t},easeInQuart:function(e,t,n,r){return n*(e/=r)*e*e*e+t},easeOutQuart:function(e,t,n,r){return-n*((e=e/r-1)*e*e*e-1)+t},easeInOutQuart:function(e,t,n,r){return(e/=r/2)<1?n/2*e*e*e*e+t:-n/2*((e-=2)*e*e*e-2)+t},easeInQuint:function(e,t,n,r){return n*(e/=r)*e*e*e*e+t},easeOutQuint:function(e,t,n,r){return n*((e=e/r-1)*e*e*e*e+1)+t},easeInOutQuint:function(e,t,n,r){return(e/=r/2)<1?n/2*e*e*e*e*e+t:n/2*((e-=2)*e*e*e*e+2)+t},easeInSine:function(e,t,n,r){return-n*Math.cos(e/r*(Math.PI/2))+n+t},easeOutSine:function(e,t,n,r){return n*Math.sin(e/r*(Math.PI/2))+t},easeInOutSine:function(e,t,n,r){return-n/2*(Math.cos(Math.PI*e/r)-1)+t},easeInExpo:function(e,t,n,r){return e===0?t:n*2**(10*(e/r-1))+t},easeOutExpo:function(e,t,n,r){return e===r?t+n:n*(-(2**(-10*e/r))+1)+t},easeInOutExpo:function(e,t,n,r){return(e/=r/2)<1?n/2*2**(10*(e-1))+t:n/2*(-(2**(-10*--e))+2)+t},easeInCirc:function(e,t,n,r){return-n*(Math.sqrt(1-(e/=r)*e)-1)+t},easeOutCirc:function(e,t,n,r){return n*Math.sqrt(1-(e=e/r-1)*e)+t},easeInOutCirc:function(e,t,n,r){return(e/=r/2)<1?-n/2*(Math.sqrt(1-e*e)-1)+t:n/2*(Math.sqrt(1-(e-=2)*e)+1)+t},easeInElastic:function(e,t,n,r){var i,a,o;return o=1.70158,a=0,i=n,e===0||(e/=r),a||=r*.3,i<Math.abs(n)?(i=n,o=a/4):o=a/(2*Math.PI)*Math.asin(n/i),-(i*2**(10*--e)*Math.sin((e*r-o)*(2*Math.PI)/a))+t},easeOutElastic:function(e,t,n,r){var i,a,o;return o=1.70158,a=0,i=n,e===0||(e/=r),a||=r*.3,i<Math.abs(n)?(i=n,o=a/4):o=a/(2*Math.PI)*Math.asin(n/i),i*2**(-10*e)*Math.sin((e*r-o)*(2*Math.PI)/a)+n+t},easeInOutElastic:function(e,t,n,r){var i,a,o;return o=1.70158,a=0,i=n,e===0||(e/=r/2),a||=.3*1.5*r,i<Math.abs(n)?(i=n,o=a/4):o=a/(2*Math.PI)*Math.asin(n/i),e<1?-.5*(i*2**(10*--e)*Math.sin((e*r-o)*(2*Math.PI)/a))+t:i*2**(-10*--e)*Math.sin((e*r-o)*(2*Math.PI)/a)*.5+n+t},easeInBack:function(e,t,n,r,i){return i===void 0&&(i=1.70158),n*(e/=r)*e*((i+1)*e-i)+t},easeOutBack:function(e,t,n,r,i){return i===void 0&&(i=1.70158),n*((e=e/r-1)*e*((i+1)*e+i)+1)+t},easeInOutBack:function(e,t,n,r,i){return i===void 0&&(i=1.70158),(e/=r/2)<1?n/2*(e*e*(((i*=1.525)+1)*e-i))+t:n/2*((e-=2)*e*(((i*=1.525)+1)*e+i)+2)+t},easeInBounce:function(e,n,r,i){var a;return a=t.easeOutBounce(i-e,0,r,i),r-a+n},easeOutBounce:function(e,t,n,r){return(e/=r)<1/2.75?n*(7.5625*e*e)+t:e<2/2.75?n*(7.5625*(e-=1.5/2.75)*e+.75)+t:e<2.5/2.75?n*(7.5625*(e-=2.25/2.75)*e+.9375)+t:n*(7.5625*(e-=2.625/2.75)*e+.984375)+t},easeInOutBounce:function(e,n,r,i){var a;return e<i/2?(a=t.easeInBounce(e*2,0,r,i),a*.5+n):(a=t.easeOutBounce(e*2-i,0,r,i),a*.5+r*.5+n)}};(function(t){return e.exports=t})(t)}).call(us)})(fs);var ps=fs.exports,ms=ds(ps);function hs(e,t){if(e){if(typeof e==`function`)return e;if(typeof e==`string`)return ms[e]}else return ms[t]}var gs=class{constructor(e){this.viewport=e,this.touches=[],this.addListeners()}addListeners(){this.viewport.eventMode=`static`,this.viewport.forceHitArea||(this.viewport.hitArea=new t.Rectangle(0,0,this.viewport.worldWidth,this.viewport.worldHeight)),this.viewport.on(`pointerdown`,this.down,this),this.viewport.options.allowPreserveDragOutside?this.viewport.on(`globalpointermove`,this.move,this):this.viewport.on(`pointermove`,this.move,this),this.viewport.on(`pointerup`,this.up,this),this.viewport.on(`pointerupoutside`,this.up,this),this.viewport.on(`pointercancel`,this.up,this),this.viewport.options.allowPreserveDragOutside||this.viewport.on(`pointerleave`,this.up,this),this.wheelFunction=e=>this.handleWheel(e),this.viewport.options.events.domElement.addEventListener(`wheel`,this.wheelFunction,{passive:this.viewport.options.passiveWheel}),this.isMouseDown=!1}destroy(){var e;(e=this.viewport.options.events.domElement)==null||e.removeEventListener(`wheel`,this.wheelFunction)}down(e){if(!(this.viewport.pause||!this.viewport.visible)){if(e.pointerType===`mouse`?this.isMouseDown=!0:this.get(e.pointerId)||this.touches.push({id:e.pointerId,last:null}),this.count()===1){this.last=e.global.clone();let t=this.viewport.plugins.get(`decelerate`,!0),n=this.viewport.plugins.get(`bounce`,!0);(!t||!t.isActive())&&(!n||!n.isActive())?this.clickedAvailable=!0:this.clickedAvailable=!1}else this.clickedAvailable=!1;this.viewport.plugins.down(e)&&this.viewport.options.stopPropagation&&e.stopPropagation()}}clear(){this.isMouseDown=!1,this.touches=[],this.last=null}checkThreshold(e){return Math.abs(e)>=this.viewport.threshold}move(e){if(this.viewport.pause||!this.viewport.visible)return;let t=this.viewport.plugins.move(e);if(this.clickedAvailable&&this.last){let t=e.global.x-this.last.x,n=e.global.y-this.last.y;(this.checkThreshold(t)||this.checkThreshold(n))&&(this.clickedAvailable=!1)}t&&this.viewport.options.stopPropagation&&e.stopPropagation()}up(e){if(this.viewport.pause||!this.viewport.visible)return;e.pointerType===`mouse`&&(this.isMouseDown=!1),e.pointerType!==`mouse`&&this.remove(e.pointerId);let t=this.viewport.plugins.up(e);this.clickedAvailable&&this.count()===0&&this.last&&(this.viewport.emit(`clicked`,{event:e,screen:this.last,world:this.viewport.toWorld(this.last),viewport:this.viewport}),this.clickedAvailable=!1),t&&this.viewport.options.stopPropagation&&e.stopPropagation()}getPointerPosition(e){let n=new t.Point;return this.viewport.options.events.mapPositionToPoint(n,e.clientX,e.clientY),n}handleWheel(e){if(this.viewport.pause||!this.viewport.visible)return;let t=this.viewport.toLocal(this.getPointerPosition(e));this.viewport.left<=t.x&&t.x<=this.viewport.right&&this.viewport.top<=t.y&&t.y<=this.viewport.bottom&&this.viewport.plugins.wheel(e)&&!this.viewport.options.passiveWheel&&e.preventDefault()}pause(){this.touches=[],this.isMouseDown=!1}get(e){for(let t of this.touches)if(t.id===e)return t;return null}remove(e){for(let t=0;t<this.touches.length;t++)if(this.touches[t].id===e){this.touches.splice(t,1);return}}count(){return+!!this.isMouseDown+this.touches.length}},_s=[`drag`,`pinch`,`wheel`,`follow`,`mouse-edges`,`decelerate`,`animate`,`bounce`,`snap-zoom`,`clamp-zoom`,`snap`,`clamp`],vs=class{constructor(e){this.viewport=e,this.list=[],this.plugins={}}add(e,t,n=_s.length){let r=this.plugins[e];r&&r.destroy(),this.plugins[e]=t;let i=_s.indexOf(e);i!==-1&&_s.splice(i,1),_s.splice(n,0,e),this.sort()}get(e,t){var n;return t&&(n=this.plugins[e])!=null&&n.paused?null:this.plugins[e]}update(e){for(let t of this.list)t.update(e)}resize(){for(let e of this.list)e.resize()}reset(){for(let e of this.list)e.reset()}removeAll(){this.list.forEach(e=>{e.destroy()}),this.plugins={},this.sort()}remove(e){var t;this.plugins[e]&&((t=this.plugins[e])==null||t.destroy(),delete this.plugins[e],this.viewport.emit(`plugin-remove`,e),this.sort())}pause(e){var t;(t=this.plugins[e])==null||t.pause()}resume(e){var t;(t=this.plugins[e])==null||t.resume()}sort(){this.list=[];for(let e of _s)this.plugins[e]&&this.list.push(this.plugins[e])}down(e){let t=!1;for(let n of this.list)n.down(e)&&(t=!0);return t}move(e){let t=!1;for(let n of this.viewport.plugins.list)n.move(e)&&(t=!0);return t}up(e){let t=!1;for(let n of this.list)n.up(e)&&(t=!0);return t}wheel(e){let t=!1;for(let n of this.list)n.wheel(e)&&(t=!0);return t}},q=class{constructor(e){this.parent=e,this.paused=!1}destroy(){}down(e){return!1}move(e){return!1}up(e){return!1}wheel(e){return!1}update(e){}resize(){}reset(){}pause(){this.paused=!0}resume(){this.paused=!1}},ys={removeOnInterrupt:!1,ease:`linear`,time:1e3},bs=class extends q{constructor(e,t={}){super(e),this.startWidth=null,this.startHeight=null,this.deltaWidth=null,this.deltaHeight=null,this.width=null,this.height=null,this.time=0,this.options=Object.assign({},ys,t),this.options.ease=hs(this.options.ease),this.setupPosition(),this.setupZoom(),this.time=0}setupPosition(){typeof this.options.position<`u`?(this.startX=this.parent.center.x,this.startY=this.parent.center.y,this.deltaX=this.options.position.x-this.parent.center.x,this.deltaY=this.options.position.y-this.parent.center.y,this.keepCenter=!1):this.keepCenter=!0}setupZoom(){this.width=null,this.height=null,typeof this.options.scale<`u`?this.width=this.parent.screenWidth/this.options.scale:typeof this.options.scaleX<`u`||typeof this.options.scaleY<`u`?(typeof this.options.scaleX<`u`&&(this.width=this.parent.screenWidth/this.options.scaleX),typeof this.options.scaleY<`u`&&(this.height=this.parent.screenHeight/this.options.scaleY)):(typeof this.options.width<`u`&&(this.width=this.options.width),typeof this.options.height<`u`&&(this.height=this.options.height)),this.width!==null&&(this.startWidth=this.parent.screenWidthInWorldPixels,this.deltaWidth=this.width-this.startWidth),this.height!==null&&(this.startHeight=this.parent.screenHeightInWorldPixels,this.deltaHeight=this.height-this.startHeight)}down(){return this.options.removeOnInterrupt&&this.parent.plugins.remove(`animate`),!1}complete(){this.parent.plugins.remove(`animate`),this.width!==null&&this.parent.fitWidth(this.width,this.keepCenter,this.height===null),this.height!==null&&this.parent.fitHeight(this.height,this.keepCenter,this.width===null),!this.keepCenter&&this.options.position&&this.parent.moveCenter(this.options.position),this.parent.emit(`animate-end`,this.parent),this.options.callbackOnComplete&&this.options.callbackOnComplete(this.parent)}update(e){if(this.paused)return;this.time+=e;let n=new t.Point(this.parent.scale.x,this.parent.scale.y);if(this.time>=this.options.time){let e=this.parent.width,t=this.parent.height;this.complete(),(e!==this.parent.width||t!==this.parent.height)&&this.parent.emit(`zoomed`,{viewport:this.parent,original:n,type:`animate`})}else{let e=this.options.ease(this.time,0,1,this.options.time);if(this.width!==null){let t=this.startWidth,n=this.deltaWidth;this.parent.fitWidth(t+n*e,this.keepCenter,this.height===null)}if(this.height!==null){let t=this.startHeight,n=this.deltaHeight;this.parent.fitHeight(t+n*e,this.keepCenter,this.width===null)}if(this.width===null?this.parent.scale.x=this.parent.scale.y:this.height===null&&(this.parent.scale.y=this.parent.scale.x),!this.keepCenter){let n=this.startX,r=this.startY,i=this.deltaX,a=this.deltaY,o=new t.Point(this.parent.x,this.parent.y);this.parent.moveCenter(n+i*e,r+a*e),this.parent.emit(`moved`,{viewport:this.parent,original:o,type:`animate`})}(this.width||this.height)&&this.parent.emit(`zoomed`,{viewport:this.parent,original:n,type:`animate`})}}},xs={sides:`all`,friction:.5,time:150,ease:`easeInOutSine`,underflow:`center`,bounceBox:null},Ss=class extends q{constructor(e,t={}){super(e),this.options=Object.assign({},xs,t),this.ease=hs(this.options.ease,`easeInOutSine`),this.options.sides?this.options.sides===`all`?this.top=this.bottom=this.left=this.right=!0:this.options.sides===`horizontal`?(this.right=this.left=!0,this.top=this.bottom=!1):this.options.sides===`vertical`?(this.left=this.right=!1,this.top=this.bottom=!0):(this.top=this.options.sides.indexOf(`top`)!==-1,this.bottom=this.options.sides.indexOf(`bottom`)!==-1,this.left=this.options.sides.indexOf(`left`)!==-1,this.right=this.options.sides.indexOf(`right`)!==-1):this.left=this.top=this.right=this.bottom=!1;let n=this.options.underflow.toLowerCase();n===`center`?(this.underflowX=0,this.underflowY=0):(this.underflowX=n.indexOf(`left`)===-1?n.indexOf(`right`)===-1?0:1:-1,this.underflowY=n.indexOf(`top`)===-1?n.indexOf(`bottom`)===-1?0:1:-1),this.reset()}isActive(){return this.toX!==null||this.toY!==null}down(){return this.toX=this.toY=null,!1}up(){return this.bounce(),!1}update(e){if(!this.paused){if(this.bounce(),this.toX){let t=this.toX;t.time+=e,this.parent.emit(`moved`,{viewport:this.parent,type:`bounce-x`}),t.time>=this.options.time?(this.parent.x=t.end,this.toX=null,this.parent.emit(`bounce-x-end`,this.parent)):this.parent.x=this.ease(t.time,t.start,t.delta,this.options.time)}if(this.toY){let t=this.toY;t.time+=e,this.parent.emit(`moved`,{viewport:this.parent,type:`bounce-y`}),t.time>=this.options.time?(this.parent.y=t.end,this.toY=null,this.parent.emit(`bounce-y-end`,this.parent)):this.parent.y=this.ease(t.time,t.start,t.delta,this.options.time)}}}calcUnderflowX(){let e;switch(this.underflowX){case-1:e=0;break;case 1:e=this.parent.screenWidth-this.parent.screenWorldWidth;break;default:e=(this.parent.screenWidth-this.parent.screenWorldWidth)/2}return e}calcUnderflowY(){let e;switch(this.underflowY){case-1:e=0;break;case 1:e=this.parent.screenHeight-this.parent.screenWorldHeight;break;default:e=(this.parent.screenHeight-this.parent.screenWorldHeight)/2}return e}oob(){let e=this.options.bounceBox;if(e){let n=typeof e.x>`u`?0:e.x,r=typeof e.y>`u`?0:e.y,i=typeof e.width>`u`?this.parent.worldWidth:e.width,a=typeof e.height>`u`?this.parent.worldHeight:e.height;return{left:this.parent.left<n,right:this.parent.right>i,top:this.parent.top<r,bottom:this.parent.bottom>a,topLeft:new t.Point(n*this.parent.scale.x,r*this.parent.scale.y),bottomRight:new t.Point(i*this.parent.scale.x-this.parent.screenWidth,a*this.parent.scale.y-this.parent.screenHeight)}}return{left:this.parent.left<0,right:this.parent.right>this.parent.worldWidth,top:this.parent.top<0,bottom:this.parent.bottom>this.parent.worldHeight,topLeft:new t.Point(0,0),bottomRight:new t.Point(this.parent.worldWidth*this.parent.scale.x-this.parent.screenWidth,this.parent.worldHeight*this.parent.scale.y-this.parent.screenHeight)}}bounce(){if(this.paused)return;let e,t=this.parent.plugins.get(`decelerate`,!0);t&&(t.x||t.y)&&(t.x&&t.percentChangeX===t.options?.friction||t.y&&t.percentChangeY===t.options?.friction)&&(e=this.oob(),(e.left&&this.left||e.right&&this.right)&&(t.percentChangeX=this.options.friction),(e.top&&this.top||e.bottom&&this.bottom)&&(t.percentChangeY=this.options.friction));let n=this.parent.plugins.get(`drag`,!0)||{},r=this.parent.plugins.get(`pinch`,!0)||{};if(t||={},!(n!=null&&n.active)&&!(r!=null&&r.active)&&(!this.toX||!this.toY)&&(!t.x||!t.y)){e||=this.oob();let n=e.topLeft,r=e.bottomRight;if(!this.toX&&!t.x){let t=null;e.left&&this.left?t=this.parent.screenWorldWidth<this.parent.screenWidth?this.calcUnderflowX():-n.x:e.right&&this.right&&(t=this.parent.screenWorldWidth<this.parent.screenWidth?this.calcUnderflowX():-r.x),t!==null&&this.parent.x!==t&&(this.toX={time:0,start:this.parent.x,delta:t-this.parent.x,end:t},this.parent.emit(`bounce-x-start`,this.parent))}if(!this.toY&&!t.y){let t=null;e.top&&this.top?t=this.parent.screenWorldHeight<this.parent.screenHeight?this.calcUnderflowY():-n.y:e.bottom&&this.bottom&&(t=this.parent.screenWorldHeight<this.parent.screenHeight?this.calcUnderflowY():-r.y),t!==null&&this.parent.y!==t&&(this.toY={time:0,start:this.parent.y,delta:t-this.parent.y,end:t},this.parent.emit(`bounce-y-start`,this.parent))}}}reset(){this.toX=this.toY=null,this.bounce()}},Cs={left:!1,right:!1,top:!1,bottom:!1,direction:null,underflow:`center`},ws=class extends q{constructor(e,t={}){super(e),this.options=Object.assign({},Cs,t),this.options.direction&&(this.options.left=this.options.direction===`x`||this.options.direction===`all`?!0:null,this.options.right=this.options.direction===`x`||this.options.direction===`all`?!0:null,this.options.top=this.options.direction===`y`||this.options.direction===`all`?!0:null,this.options.bottom=this.options.direction===`y`||this.options.direction===`all`?!0:null),this.parseUnderflow(),this.last={x:null,y:null,scaleX:null,scaleY:null},this.update()}parseUnderflow(){let e=this.options.underflow.toLowerCase();e===`none`?this.noUnderflow=!0:e===`center`?(this.underflowX=this.underflowY=0,this.noUnderflow=!1):(this.underflowX=e.indexOf(`left`)===-1?e.indexOf(`right`)===-1?0:1:-1,this.underflowY=e.indexOf(`top`)===-1?e.indexOf(`bottom`)===-1?0:1:-1,this.noUnderflow=!1)}move(){return this.update(),!1}update(){if(this.paused||this.parent.x===this.last.x&&this.parent.y===this.last.y&&this.parent.scale.x===this.last.scaleX&&this.parent.scale.y===this.last.scaleY)return;let e=new t.Point(this.parent.x,this.parent.y),n=this.parent.plugins.decelerate||{};if(this.options.left!==null||this.options.right!==null){let t=!1;if(!this.noUnderflow&&this.parent.screenWorldWidth<this.parent.screenWidth)switch(this.underflowX){case-1:this.parent.x!==0&&(this.parent.x=0,t=!0);break;case 1:this.parent.x!==this.parent.screenWidth-this.parent.screenWorldWidth&&(this.parent.x=this.parent.screenWidth-this.parent.screenWorldWidth,t=!0);break;default:this.parent.x!==(this.parent.screenWidth-this.parent.screenWorldWidth)/2&&(this.parent.x=(this.parent.screenWidth-this.parent.screenWorldWidth)/2,t=!0)}else this.options.left!==null&&this.parent.left<(this.options.left===!0?0:this.options.left)&&(this.parent.x=-(this.options.left===!0?0:this.options.left)*this.parent.scale.x,n.x=0,t=!0),this.options.right!==null&&this.parent.right>(this.options.right===!0?this.parent.worldWidth:this.options.right)&&(this.parent.x=-(this.options.right===!0?this.parent.worldWidth:this.options.right)*this.parent.scale.x+this.parent.screenWidth,n.x=0,t=!0);t&&this.parent.emit(`moved`,{viewport:this.parent,original:e,type:`clamp-x`})}if(this.options.top!==null||this.options.bottom!==null){let t=!1;if(!this.noUnderflow&&this.parent.screenWorldHeight<this.parent.screenHeight)switch(this.underflowY){case-1:this.parent.y!==0&&(this.parent.y=0,t=!0);break;case 1:this.parent.y!==this.parent.screenHeight-this.parent.screenWorldHeight&&(this.parent.y=this.parent.screenHeight-this.parent.screenWorldHeight,t=!0);break;default:this.parent.y!==(this.parent.screenHeight-this.parent.screenWorldHeight)/2&&(this.parent.y=(this.parent.screenHeight-this.parent.screenWorldHeight)/2,t=!0)}else this.options.top!==null&&this.parent.top<(this.options.top===!0?0:this.options.top)&&(this.parent.y=-(this.options.top===!0?0:this.options.top)*this.parent.scale.y,n.y=0,t=!0),this.options.bottom!==null&&this.parent.bottom>(this.options.bottom===!0?this.parent.worldHeight:this.options.bottom)&&(this.parent.y=-(this.options.bottom===!0?this.parent.worldHeight:this.options.bottom)*this.parent.scale.y+this.parent.screenHeight,n.y=0,t=!0);t&&this.parent.emit(`moved`,{viewport:this.parent,original:e,type:`clamp-y`})}this.last.x=this.parent.x,this.last.y=this.parent.y,this.last.scaleX=this.parent.scale.x,this.last.scaleY=this.parent.scale.y}reset(){this.update()}},Ts={minWidth:null,minHeight:null,maxWidth:null,maxHeight:null,minScale:null,maxScale:null},Es=class extends q{constructor(e,t={}){super(e),this.options=Object.assign({},Ts,t),this.clamp()}resize(){this.clamp()}clamp(){if(!this.paused){if(this.options.minWidth||this.options.minHeight||this.options.maxWidth||this.options.maxHeight){let e=this.parent.worldScreenWidth,t=this.parent.worldScreenHeight;if(this.options.minWidth!==null&&e<this.options.minWidth){let n=this.parent.scale.x;this.parent.fitWidth(this.options.minWidth,!1,!1,!0),this.parent.scale.y*=this.parent.scale.x/n,e=this.parent.worldScreenWidth,t=this.parent.worldScreenHeight,this.parent.emit(`zoomed`,{viewport:this.parent,type:`clamp-zoom`})}if(this.options.maxWidth!==null&&e>this.options.maxWidth){let n=this.parent.scale.x;this.parent.fitWidth(this.options.maxWidth,!1,!1,!0),this.parent.scale.y*=this.parent.scale.x/n,e=this.parent.worldScreenWidth,t=this.parent.worldScreenHeight,this.parent.emit(`zoomed`,{viewport:this.parent,type:`clamp-zoom`})}if(this.options.minHeight!==null&&t<this.options.minHeight){let n=this.parent.scale.y;this.parent.fitHeight(this.options.minHeight,!1,!1,!0),this.parent.scale.x*=this.parent.scale.y/n,e=this.parent.worldScreenWidth,t=this.parent.worldScreenHeight,this.parent.emit(`zoomed`,{viewport:this.parent,type:`clamp-zoom`})}if(this.options.maxHeight!==null&&t>this.options.maxHeight){let e=this.parent.scale.y;this.parent.fitHeight(this.options.maxHeight,!1,!1,!0),this.parent.scale.x*=this.parent.scale.y/e,this.parent.emit(`zoomed`,{viewport:this.parent,type:`clamp-zoom`})}}else if(this.options.minScale||this.options.maxScale){let e={x:null,y:null},t={x:null,y:null};if(typeof this.options.minScale==`number`)e.x=this.options.minScale,e.y=this.options.minScale;else if(this.options.minScale!==null){let t=this.options.minScale;e.x=typeof t.x>`u`?null:t.x,e.y=typeof t.y>`u`?null:t.y}if(typeof this.options.maxScale==`number`)t.x=this.options.maxScale,t.y=this.options.maxScale;else if(this.options.maxScale!==null){let e=this.options.maxScale;t.x=typeof e.x>`u`?null:e.x,t.y=typeof e.y>`u`?null:e.y}let n=this.parent.scale.x,r=this.parent.scale.y;e.x!==null&&n<e.x&&(n=e.x),t.x!==null&&n>t.x&&(n=t.x),e.y!==null&&r<e.y&&(r=e.y),t.y!==null&&r>t.y&&(r=t.y),(n!==this.parent.scale.x||r!==this.parent.scale.y)&&(this.parent.scale.set(n,r),this.parent.emit(`zoomed`,{viewport:this.parent,type:`clamp-zoom`}))}}}reset(){this.clamp()}},Ds={friction:.98,bounce:.8,minSpeed:.01},Os=16,ks=class extends q{constructor(e,t={}){super(e),this.options=Object.assign({},Ds,t),this.saved=[],this.timeSinceRelease=0,this.reset(),this.parent.on(`moved`,e=>this.handleMoved(e))}down(){return this.saved=[],this.x=this.y=null,!1}isActive(){return!!(this.x||this.y)}move(){if(this.paused)return!1;let e=this.parent.input.count();return(e===1||e>1&&!this.parent.plugins.get(`pinch`,!0))&&(this.saved.push({x:this.parent.x,y:this.parent.y,time:performance.now()}),this.saved.length>60&&this.saved.splice(0,30)),!1}handleMoved(e){if(this.saved.length){let t=this.saved[this.saved.length-1];e.type===`clamp-x`&&e.original?t.x===e.original.x&&(t.x=this.parent.x):e.type===`clamp-y`&&e.original&&t.y===e.original.y&&(t.y=this.parent.y)}}up(){if(this.parent.input.count()===0&&this.saved.length){let e=performance.now();for(let t of this.saved)if(t.time>=e-100){let n=e-t.time;this.x=(this.parent.x-t.x)/n,this.y=(this.parent.y-t.y)/n,this.percentChangeX=this.percentChangeY=this.options.friction,this.timeSinceRelease=0;break}}return!1}activate(e){e||={},typeof e.x<`u`&&(this.x=e.x,this.percentChangeX=this.options.friction),typeof e.y<`u`&&(this.y=e.y,this.percentChangeY=this.options.friction)}update(e){if(this.paused)return;let t=this.x||this.y,n=this.timeSinceRelease,r=this.timeSinceRelease+e;if(this.x){let t=this.percentChangeX,i=Math.log(t);this.parent.x+=this.x*Os/i*(t**+(r/Os)-t**+(n/Os)),this.x*=this.percentChangeX**+(e/Os)}if(this.y){let t=this.percentChangeY,i=Math.log(t);this.parent.y+=this.y*Os/i*(t**+(r/Os)-t**+(n/Os)),this.y*=this.percentChangeY**+(e/Os)}this.timeSinceRelease+=e,this.x&&this.y?Math.abs(this.x)<this.options.minSpeed&&Math.abs(this.y)<this.options.minSpeed&&(this.x=0,this.y=0):(Math.abs(this.x||0)<this.options.minSpeed&&(this.x=0),Math.abs(this.y||0)<this.options.minSpeed&&(this.y=0)),t&&this.parent.emit(`moved`,{viewport:this.parent,type:`decelerate`})}reset(){this.x=this.y=null}},As={direction:`all`,pressDrag:!0,wheel:!0,wheelScroll:1,reverse:!1,clampWheel:!1,underflow:`center`,factor:1,mouseButtons:`all`,keyToPress:null,ignoreKeyToPressOnTouch:!1,lineHeight:20,wheelSwapAxes:!1},js=class extends q{constructor(e,t={}){super(e),this.windowEventHandlers=[],this.options=Object.assign({},As,t),this.moved=!1,this.reverse=this.options.reverse?1:-1,this.xDirection=!this.options.direction||this.options.direction===`all`||this.options.direction===`x`,this.yDirection=!this.options.direction||this.options.direction===`all`||this.options.direction===`y`,this.keyIsPressed=!1,this.parseUnderflow(),this.mouseButtons(this.options.mouseButtons),this.options.keyToPress&&this.handleKeyPresses(this.options.keyToPress)}handleKeyPresses(e){this.addWindowEventHandler(`keyup`,t=>{e.includes(t.code)&&(this.keyIsPressed=!1)}),this.addWindowEventHandler(`keydown`,t=>{e.includes(t.code)&&(this.keyIsPressed=!0)})}addWindowEventHandler(e,t){typeof window>`u`||(window.addEventListener(e,t),this.windowEventHandlers.push({event:e,handler:t}))}destroy(){typeof window>`u`||this.windowEventHandlers.forEach(({event:e,handler:t})=>{window.removeEventListener(e,t)})}mouseButtons(e){!e||e===`all`?this.mouse=[!0,!0,!0]:this.mouse=[e.indexOf(`left`)!==-1,e.indexOf(`middle`)!==-1,e.indexOf(`right`)!==-1]}parseUnderflow(){let e=this.options.underflow.toLowerCase();e===`center`?(this.underflowX=0,this.underflowY=0):(e.includes(`left`)?this.underflowX=-1:e.includes(`right`)?this.underflowX=1:this.underflowX=0,e.includes(`top`)?this.underflowY=-1:e.includes(`bottom`)?this.underflowY=1:this.underflowY=0)}checkButtons(e){let t=e.pointerType===`mouse`,n=this.parent.input.count();return!!((n===1||n>1&&!this.parent.plugins.get(`pinch`,!0))&&(!t||this.mouse[e.button]))}checkKeyPress(e){return!this.options.keyToPress||this.keyIsPressed||this.options.ignoreKeyToPressOnTouch&&e.data.pointerType===`touch`}down(e){return this.paused||!this.options.pressDrag?!1:this.checkButtons(e)&&this.checkKeyPress(e)?(this.last={x:e.global.x,y:e.global.y},(this.parent.parent||this.parent).toLocal(this.last,void 0,this.last),this.current=e.pointerId,!0):(this.last=null,!1)}get active(){return this.moved}move(e){if(this.paused||!this.options.pressDrag)return!1;if(this.last&&this.current===e.data.pointerId){let n=e.global.x,r=e.global.y,i=this.parent.input.count();if(i===1||i>1&&!this.parent.plugins.get(`pinch`,!0)){let i={x:n,y:r};(this.parent.parent||this.parent).toLocal(i,void 0,i);let a=i.x-this.last.x,o=i.y-this.last.y;if(this.moved||this.xDirection&&this.parent.input.checkThreshold(a)||this.yDirection&&this.parent.input.checkThreshold(o))return this.xDirection&&(this.parent.x+=(i.x-this.last.x)*this.options.factor),this.yDirection&&(this.parent.y+=(i.y-this.last.y)*this.options.factor),this.last=i,this.moved||this.parent.emit(`drag-start`,{event:e,screen:new t.Point(this.last.x,this.last.y),world:this.parent.toWorld(new t.Point(this.last.x,this.last.y)),viewport:this.parent}),this.moved=!0,this.parent.emit(`moved`,{viewport:this.parent,type:`drag`}),!0}else this.moved=!1}return!1}up(e){if(this.paused)return!1;let n=this.parent.input.touches;if(n.length===1){let e=n[0];return e.last&&(this.last={x:e.last.x,y:e.last.y},this.current=e.id),this.moved=!1,!0}else if(this.last&&this.moved){let n=new t.Point(this.last.x,this.last.y);return(this.parent.parent||this.parent).toGlobal(n,n,!0),this.parent.emit(`drag-end`,{event:e,screen:n,world:this.parent.toWorld(n),viewport:this.parent}),this.last=null,this.moved=!1,!0}return!1}wheel(e){if(this.paused)return!1;if(this.options.wheel){let t=this.parent.plugins.get(`wheel`,!0);if(!t||!t.options.wheelZoom&&!e.ctrlKey){let t=e.deltaMode?this.options.lineHeight:1,n=[e.deltaX,e.deltaY],[r,i]=this.options.wheelSwapAxes?n.reverse():n;return this.xDirection&&(this.parent.x+=r*t*this.options.wheelScroll*this.reverse),this.yDirection&&(this.parent.y+=i*t*this.options.wheelScroll*this.reverse),this.options.clampWheel&&this.clamp(),this.parent.emit(`wheel-scroll`,this.parent),this.parent.emit(`moved`,{viewport:this.parent,type:`wheel`}),this.parent.options.passiveWheel||e.preventDefault(),this.parent.options.stopPropagation&&e.stopPropagation(),!0}}return!1}resume(){this.last=null,this.paused=!1}clamp(){let e=this.parent.plugins.get(`decelerate`,!0)||{};if(this.options.clampWheel!==`y`)if(this.parent.screenWorldWidth<this.parent.screenWidth)switch(this.underflowX){case-1:this.parent.x=0;break;case 1:this.parent.x=this.parent.screenWidth-this.parent.screenWorldWidth;break;default:this.parent.x=(this.parent.screenWidth-this.parent.screenWorldWidth)/2}else this.parent.left<0?(this.parent.x=0,e.x=0):this.parent.right>this.parent.worldWidth&&(this.parent.x=-this.parent.worldWidth*this.parent.scale.x+this.parent.screenWidth,e.x=0);if(this.options.clampWheel!==`x`)if(this.parent.screenWorldHeight<this.parent.screenHeight)switch(this.underflowY){case-1:this.parent.y=0;break;case 1:this.parent.y=this.parent.screenHeight-this.parent.screenWorldHeight;break;default:this.parent.y=(this.parent.screenHeight-this.parent.screenWorldHeight)/2}else this.parent.top<0&&(this.parent.y=0,e.y=0),this.parent.bottom>this.parent.worldHeight&&(this.parent.y=-this.parent.worldHeight*this.parent.scale.y+this.parent.screenHeight,e.y=0)}},Ms={speed:0,acceleration:null,radius:null},Ns=class extends q{constructor(e,t,n={}){super(e),this.target=t,this.options=Object.assign({},Ms,n),this.velocity={x:0,y:0}}update(e){if(this.paused)return;let t=this.parent.center,n=this.target.x,r=this.target.y;if(this.options.radius)if(Math.sqrt((this.target.y-t.y)**2+(this.target.x-t.x)**2)>this.options.radius){let e=Math.atan2(this.target.y-t.y,this.target.x-t.x);n=this.target.x-Math.cos(e)*this.options.radius,r=this.target.y-Math.sin(e)*this.options.radius}else return;let i=n-t.x,a=r-t.y;if(i||a)if(this.options.speed)if(this.options.acceleration){let o=Math.atan2(r-t.y,n-t.x),s=Math.sqrt(i**2+a**2);if(s){s>(this.velocity.x**2+this.velocity.y**2)/(2*this.options.acceleration)?this.velocity={x:Math.min(this.velocity.x+(this.options.acceleration*e,this.options.speed)),y:Math.min(this.velocity.y+(this.options.acceleration*e,this.options.speed))}:this.velocity={x:Math.max(this.velocity.x-this.options.acceleration*this.options.speed,0),y:Math.max(this.velocity.y-this.options.acceleration*this.options.speed,0)};let c=Math.cos(o)*this.velocity.x,l=Math.sin(o)*this.velocity.y,u=Math.abs(c)>Math.abs(i)?n:t.x+c,d=Math.abs(l)>Math.abs(a)?r:t.y+l;this.parent.moveCenter(u,d),this.parent.emit(`moved`,{viewport:this.parent,type:`follow`})}}else{let e=Math.atan2(r-t.y,n-t.x),o=Math.cos(e)*this.options.speed,s=Math.sin(e)*this.options.speed,c=Math.abs(o)>Math.abs(i)?n:t.x+o,l=Math.abs(s)>Math.abs(a)?r:t.y+s;this.parent.moveCenter(c,l),this.parent.emit(`moved`,{viewport:this.parent,type:`follow`})}else this.parent.moveCenter(n,r),this.parent.emit(`moved`,{viewport:this.parent,type:`follow`})}},Ps={radius:null,distance:null,top:null,bottom:null,left:null,right:null,speed:8,reverse:!1,noDecelerate:!1,linear:!1,allowButtons:!1},Fs=class extends q{constructor(e,t={}){super(e),this.options=Object.assign({},Ps,t),this.reverse=this.options.reverse?1:-1,this.radiusSquared=typeof this.options.radius==`number`?this.options.radius**2:null,this.resize()}resize(){let e=this.options.distance;e===null?this.options.radius||(this.left=this.options.left,this.top=this.options.top,this.right=this.options.right===null?null:this.parent.screenWidth-this.options.right,this.bottom=this.options.bottom===null?null:this.parent.screenHeight-this.options.bottom):(this.left=e,this.top=e,this.right=this.parent.screenWidth-e,this.bottom=this.parent.screenHeight-e)}down(){return this.paused||this.options.allowButtons||(this.horizontal=this.vertical=null),!1}move(e){if(this.paused||e.pointerType!==`mouse`&&e.pointerId!==1||!this.options.allowButtons&&e.buttons!==0)return!1;let t=e.global.x,n=e.global.y;if(this.radiusSquared){let e=this.parent.toScreen(this.parent.center);if((e.x-t)**2+(e.y-n)**2>=this.radiusSquared){let r=Math.atan2(e.y-n,e.x-t);this.options.linear?(this.horizontal=Math.round(Math.cos(r))*this.options.speed*this.reverse*(60/1e3),this.vertical=Math.round(Math.sin(r))*this.options.speed*this.reverse*(60/1e3)):(this.horizontal=Math.cos(r)*this.options.speed*this.reverse*(60/1e3),this.vertical=Math.sin(r)*this.options.speed*this.reverse*(60/1e3))}else this.horizontal&&this.decelerateHorizontal(),this.vertical&&this.decelerateVertical(),this.horizontal=this.vertical=0}else this.left!==null&&t<this.left?this.horizontal=Number(this.reverse)*this.options.speed*(60/1e3):this.right!==null&&t>this.right?this.horizontal=-1*this.reverse*this.options.speed*(60/1e3):(this.decelerateHorizontal(),this.horizontal=0),this.top!==null&&n<this.top?this.vertical=Number(this.reverse)*this.options.speed*(60/1e3):this.bottom!==null&&n>this.bottom?this.vertical=-1*this.reverse*this.options.speed*(60/1e3):(this.decelerateVertical(),this.vertical=0);return!1}decelerateHorizontal(){let e=this.parent.plugins.get(`decelerate`,!0);this.horizontal&&e&&!this.options.noDecelerate&&e.activate({x:this.horizontal*this.options.speed*this.reverse/(1e3/60)})}decelerateVertical(){let e=this.parent.plugins.get(`decelerate`,!0);this.vertical&&e&&!this.options.noDecelerate&&e.activate({y:this.vertical*this.options.speed*this.reverse/(1e3/60)})}up(){return this.paused||(this.horizontal&&this.decelerateHorizontal(),this.vertical&&this.decelerateVertical(),this.horizontal=this.vertical=null),!1}update(){if(!this.paused&&(this.horizontal||this.vertical)){let e=this.parent.center;this.horizontal&&(e.x+=this.horizontal*this.options.speed),this.vertical&&(e.y+=this.vertical*this.options.speed),this.parent.moveCenter(e),this.parent.emit(`moved`,{viewport:this.parent,type:`mouse-edges`})}}},Is={noDrag:!1,percent:1,center:null,factor:1,axis:`all`},Ls=new t.Point,Rs=class extends q{constructor(e,t={}){super(e),this.active=!1,this.pinching=!1,this.moved=!1,this.options=Object.assign({},Is,t)}down(){return this.parent.input.count()>=2?(this.active=!0,!0):!1}isAxisX(){return[`all`,`x`].includes(this.options.axis)}isAxisY(){return[`all`,`y`].includes(this.options.axis)}move(e){if(this.paused||!this.active)return!1;let{x:n,y:r}=(this.parent.parent||this.parent).toLocal(e.global,void 0,Ls),i=this.parent.input.touches;if(i.length>=2){let a=i[0],o=i[1],s=a.last&&o.last?Math.sqrt((o.last.x-a.last.x)**2+(o.last.y-a.last.y)**2):null;if(a.id===e.pointerId?a.last={x:n,y:r,data:e}:o.id===e.pointerId&&(o.last={x:n,y:r,data:e}),s){let e,n=new t.Point(a.last.x+(o.last.x-a.last.x)/2,a.last.y+(o.last.y-a.last.y)/2);this.options.center||(e=this.parent.toLocal(n,this.parent.parent||this.parent));let r=Math.sqrt((o.last.x-a.last.x)**2+(o.last.y-a.last.y)**2);r=r===0?r=1e-10:r;let i=(1-s/r)*this.options.percent*(this.isAxisX()?this.parent.scale.x:this.parent.scale.y);this.isAxisX()&&(this.parent.scale.x+=i),this.isAxisY()&&(this.parent.scale.y+=i),this.parent.emit(`zoomed`,{viewport:this.parent,type:`pinch`,center:n});let c=this.parent.plugins.get(`clamp-zoom`,!0);if(c&&c.clamp(),this.options.center)this.parent.moveCenter(this.options.center);else{let t=(this.parent.parent||this.parent).toLocal(e,this.parent);this.parent.x+=(n.x-t.x)*this.options.factor,this.parent.y+=(n.y-t.y)*this.options.factor,this.parent.emit(`moved`,{viewport:this.parent,type:`pinch`})}!this.options.noDrag&&this.lastCenter&&(this.parent.x+=(n.x-this.lastCenter.x)*this.options.factor,this.parent.y+=(n.y-this.lastCenter.y)*this.options.factor,this.parent.emit(`moved`,{viewport:this.parent,type:`pinch`})),this.lastCenter=n,this.moved=!0}else this.pinching||=(this.parent.emit(`pinch-start`,this.parent),!0);return!0}return!1}up(){return this.pinching&&this.parent.input.touches.length<=1?(this.active=!1,this.lastCenter=null,this.pinching=!1,this.moved=!1,this.parent.emit(`pinch-end`,this.parent),!0):!1}},zs={topLeft:!1,friction:.8,time:1e3,ease:`easeInOutSine`,interrupt:!0,removeOnComplete:!1,removeOnInterrupt:!1,forceStart:!1},Bs=class extends q{constructor(e,t,n,r={}){super(e),this.options=Object.assign({},zs,r),this.ease=hs(r.ease,`easeInOutSine`),this.x=t,this.y=n,this.options.forceStart&&this.snapStart()}snapStart(){this.percent=0,this.snapping={time:0};let e=this.options.topLeft?this.parent.corner:this.parent.center;this.deltaX=this.x-e.x,this.deltaY=this.y-e.y,this.startX=e.x,this.startY=e.y,this.parent.emit(`snap-start`,this.parent)}wheel(){return this.options.removeOnInterrupt&&this.parent.plugins.remove(`snap`),!1}down(){return this.options.removeOnInterrupt?this.parent.plugins.remove(`snap`):this.options.interrupt&&(this.snapping=null),!1}up(){if(this.parent.input.count()===0){let e=this.parent.plugins.get(`decelerate`,!0);e&&(e.x||e.y)&&(e.percentChangeX=e.percentChangeY=this.options.friction)}return!1}update(e){if(!this.paused&&!(this.options.interrupt&&this.parent.input.count()!==0))if(this.snapping){let t=this.snapping;t.time+=e;let n,r,i,a=this.startX,o=this.startY,s=this.deltaX,c=this.deltaY;if(t.time>this.options.time)n=!0,r=a+s,i=o+c;else{let e=this.ease(t.time,0,1,this.options.time);r=a+s*e,i=o+c*e}this.options.topLeft?this.parent.moveCorner(r,i):this.parent.moveCenter(r,i),this.parent.emit(`moved`,{viewport:this.parent,type:`snap`}),n&&(this.options.removeOnComplete&&this.parent.plugins.remove(`snap`),this.parent.emit(`snap-end`,this.parent),this.snapping=null)}else{let e=this.options.topLeft?this.parent.corner:this.parent.center;(e.x!==this.x||e.y!==this.y)&&this.snapStart()}}},Vs={width:0,height:0,time:1e3,ease:`easeInOutSine`,center:null,interrupt:!0,removeOnComplete:!1,removeOnInterrupt:!1,forceStart:!1,noMove:!1},Hs=class extends q{constructor(e,t={}){super(e),this.options=Object.assign({},Vs,t),this.ease=hs(this.options.ease),this.xIndependent=!1,this.yIndependent=!1,this.xScale=0,this.yScale=0,this.options.width>0&&(this.xScale=e.screenWidth/this.options.width,this.xIndependent=!0),this.options.height>0&&(this.yScale=e.screenHeight/this.options.height,this.yIndependent=!0),this.xScale=this.xIndependent?this.xScale:this.yScale,this.yScale=this.yIndependent?this.yScale:this.xScale,this.options.time===0?(e.container.scale.x=this.xScale,e.container.scale.y=this.yScale,this.options.removeOnComplete&&this.parent.plugins.remove(`snap-zoom`)):t.forceStart&&this.createSnapping()}createSnapping(){let e=this.parent.worldScreenWidth,t=this.parent.worldScreenHeight,n=this.parent.screenWidth/this.xScale,r=this.parent.screenHeight/this.yScale;this.snapping={time:0,startX:e,startY:t,deltaX:n-e,deltaY:r-t},this.parent.emit(`snap-zoom-start`,this.parent)}resize(){this.snapping=null,this.options.width>0&&(this.xScale=this.parent.screenWidth/this.options.width),this.options.height>0&&(this.yScale=this.parent.screenHeight/this.options.height),this.xScale=this.xIndependent?this.xScale:this.yScale,this.yScale=this.yIndependent?this.yScale:this.xScale}wheel(){return this.options.removeOnInterrupt&&this.parent.plugins.remove(`snap-zoom`),!1}down(){return this.options.removeOnInterrupt?this.parent.plugins.remove(`snap-zoom`):this.options.interrupt&&(this.snapping=null),!1}update(e){if(this.paused||this.options.interrupt&&this.parent.input.count()!==0)return;let t;if(!this.options.center&&!this.options.noMove&&(t=this.parent.center),!this.snapping)(this.parent.scale.x!==this.xScale||this.parent.scale.y!==this.yScale)&&this.createSnapping();else if(this.snapping){let n=this.snapping;if(n.time+=e,n.time>=this.options.time)this.parent.scale.set(this.xScale,this.yScale),this.options.removeOnComplete&&this.parent.plugins.remove(`snap-zoom`),this.parent.emit(`snap-zoom-end`,this.parent),this.snapping=null;else{let e=this.snapping,t=this.ease(e.time,e.startX,e.deltaX,this.options.time),n=this.ease(e.time,e.startY,e.deltaY,this.options.time);this.parent.scale.x=this.parent.screenWidth/t,this.parent.scale.y=this.parent.screenHeight/n}let r=this.parent.plugins.get(`clamp-zoom`,!0);r&&r.clamp(),this.options.noMove||(this.options.center?this.parent.moveCenter(this.options.center):this.parent.moveCenter(t))}}resume(){this.snapping=null,super.resume()}},Us={percent:.1,smooth:!1,interrupt:!0,reverse:!1,center:null,lineHeight:20,axis:`all`,keyToPress:null,trackpadPinch:!1,wheelZoom:!0},Ws=class extends q{constructor(e,t={}){super(e),this.options=Object.assign({},Us,t),this.keyIsPressed=!1,this.options.keyToPress&&this.handleKeyPresses(this.options.keyToPress)}handleKeyPresses(e){typeof window>`u`||(window.addEventListener(`keydown`,t=>{e.includes(t.code)&&(this.keyIsPressed=!0)}),window.addEventListener(`keyup`,t=>{e.includes(t.code)&&(this.keyIsPressed=!1)}))}checkKeyPress(){return!this.options.keyToPress||this.keyIsPressed}down(){return this.options.interrupt&&(this.smoothing=null),!1}isAxisX(){return[`all`,`x`].includes(this.options.axis)}isAxisY(){return[`all`,`y`].includes(this.options.axis)}update(){if(this.smoothing){let e=this.smoothingCenter,t=this.smoothing,n;this.options.center||(n=this.parent.toLocal(e)),this.isAxisX()&&(this.parent.scale.x+=t.x),this.isAxisY()&&(this.parent.scale.y+=t.y),this.parent.emit(`zoomed`,{viewport:this.parent,type:`wheel`});let r=this.parent.plugins.get(`clamp-zoom`,!0);if(r&&r.clamp(),this.options.center)this.parent.moveCenter(this.options.center);else{let t=this.parent.parent||this.parent;t.toLocal(n,this.parent,n);let r=t.toLocal(e);this.parent.x+=r.x-n.x,this.parent.y+=r.y-n.y}this.parent.emit(`moved`,{viewport:this.parent,type:`wheel`}),this.smoothingCount++,typeof this.options.smooth==`number`&&this.smoothingCount>=this.options.smooth&&(this.smoothing=null)}}pinch(e){if(this.paused)return;let t=this.parent.input.getPointerPosition(e),n=-e.deltaY*(e.deltaMode?this.options.lineHeight:1)/200,r=2**((1+this.options.percent)*n),i;this.options.center||(i=this.parent.toLocal(t)),this.isAxisX()&&(this.parent.scale.x*=r),this.isAxisY()&&(this.parent.scale.y*=r),this.parent.emit(`zoomed`,{viewport:this.parent,type:`wheel`});let a=this.parent.plugins.get(`clamp-zoom`,!0);if(a&&a.clamp(),this.options.center)this.parent.moveCenter(this.options.center);else{let e=this.parent.parent||this.parent;e.toLocal(i,this.parent,i);let n=e.toLocal(t);this.parent.x+=n.x-i.x,this.parent.y+=n.y-i.y}this.parent.emit(`moved`,{viewport:this.parent,type:`wheel`}),this.parent.emit(`wheel-start`,{event:e,viewport:this.parent})}wheel(e){if(this.paused||!this.checkKeyPress())return!1;if(e.ctrlKey&&this.options.trackpadPinch)this.pinch(e);else if(this.options.wheelZoom){let t=this.parent.input.getPointerPosition(e),n=(this.options.reverse?-1:1)*-e.deltaY*(e.deltaMode?this.options.lineHeight:1)/500,r=2**((1+this.options.percent)*n);if(this.options.smooth){let e={x:this.smoothing?this.smoothing.x*(this.options.smooth-this.smoothingCount):0,y:this.smoothing?this.smoothing.y*(this.options.smooth-this.smoothingCount):0};this.smoothing={x:((this.parent.scale.x+e.x)*r-this.parent.scale.x)/this.options.smooth,y:((this.parent.scale.y+e.y)*r-this.parent.scale.y)/this.options.smooth},this.smoothingCount=0,this.smoothingCenter=t}else{let e;this.options.center||(e=this.parent.toLocal(t)),this.isAxisX()&&(this.parent.scale.x*=r),this.isAxisY()&&(this.parent.scale.y*=r),this.parent.emit(`zoomed`,{viewport:this.parent,type:`wheel`});let n=this.parent.plugins.get(`clamp-zoom`,!0);if(n&&n.clamp(),this.options.center)this.parent.moveCenter(this.options.center);else{let n=this.parent.parent||this.parent;n.toLocal(e,this.parent,e);let r=n.toLocal(t);this.parent.x+=r.x-e.x,this.parent.y+=r.y-e.y}}this.parent.emit(`moved`,{viewport:this.parent,type:`wheel`}),this.parent.emit(`wheel-start`,{event:e,viewport:this.parent})}return!this.parent.options.passiveWheel}},Gs={screenWidth:typeof window>`u`?0:window.innerWidth,screenHeight:typeof window>`u`?0:window.innerHeight,worldWidth:null,worldHeight:null,threshold:5,passiveWheel:!0,stopPropagation:!1,forceHitArea:null,noTicker:!1,disableOnContextMenu:!1,ticker:t.Ticker.shared,allowPreserveDragOutside:!1},Ks=class extends t.Container{constructor(e){super(),this._disableOnContextMenu=e=>e.preventDefault(),this.options={...Gs,...e},this.screenWidth=this.options.screenWidth,this.screenHeight=this.options.screenHeight,this._worldWidth=this.options.worldWidth,this._worldHeight=this.options.worldHeight,this.forceHitArea=this.options.forceHitArea,this.threshold=this.options.threshold,this.options.disableOnContextMenu&&this.options.events.domElement.addEventListener(`contextmenu`,this._disableOnContextMenu),this.options.noTicker||(this.tickerFunction=()=>this.update(this.options.ticker.elapsedMS),this.options.ticker.add(this.tickerFunction)),this.input=new gs(this),this.plugins=new vs(this)}destroy(e){var t;!this.options.noTicker&&this.tickerFunction&&this.options.ticker.remove(this.tickerFunction),this.options.disableOnContextMenu&&((t=this.options.events.domElement)==null||t.removeEventListener(`contextmenu`,this._disableOnContextMenu)),this.input.destroy(),super.destroy(e)}update(e){this.pause||(this.plugins.update(e),this.lastViewport&&(this.lastViewport.x!==this.x||this.lastViewport.y!==this.y?this.moving=!0:this.moving&&=(this.emit(`moved-end`,this),!1),this.lastViewport.scaleX!==this.scale.x||this.lastViewport.scaleY!==this.scale.y?this.zooming=!0:this.zooming&&=(this.emit(`zoomed-end`,this),!1)),this.forceHitArea||(this._hitAreaDefault=new t.Rectangle(this.left,this.top,this.worldScreenWidth,this.worldScreenHeight),this.hitArea=this._hitAreaDefault),this._dirty=this._dirty||!this.lastViewport||this.lastViewport.x!==this.x||this.lastViewport.y!==this.y||this.lastViewport.scaleX!==this.scale.x||this.lastViewport.scaleY!==this.scale.y,this.lastViewport={x:this.x,y:this.y,scaleX:this.scale.x,scaleY:this.scale.y},this.emit(`frame-end`,this))}resize(e=typeof window>`u`?0:window.innerWidth,t=typeof window>`u`?0:window.innerHeight,n,r){this.screenWidth=e,this.screenHeight=t,typeof n<`u`&&(this._worldWidth=n),typeof r<`u`&&(this._worldHeight=r),this.plugins.resize(),this.dirty=!0}get worldWidth(){return this._worldWidth?this._worldWidth:this.width/this.scale.x}set worldWidth(e){this._worldWidth=e,this.plugins.resize()}get worldHeight(){return this._worldHeight?this._worldHeight:this.height/this.scale.y}set worldHeight(e){this._worldHeight=e,this.plugins.resize()}getVisibleBounds(){return new t.Rectangle(this.left,this.top,this.worldScreenWidth,this.worldScreenHeight)}toWorld(e,n){return arguments.length===2?this.toLocal(new t.Point(e,n)):this.toLocal(e)}toScreen(e,n){return arguments.length===2?this.toGlobal(new t.Point(e,n)):this.toGlobal(e)}get worldScreenWidth(){return this.screenWidth/this.scale.x}get worldScreenHeight(){return this.screenHeight/this.scale.y}get screenWorldWidth(){return this.worldWidth*this.scale.x}get screenWorldHeight(){return this.worldHeight*this.scale.y}get center(){return new t.Point(this.worldScreenWidth/2-this.x/this.scale.x,this.worldScreenHeight/2-this.y/this.scale.y)}set center(e){this.moveCenter(e)}moveCenter(...e){let t,n;typeof e[0]==`number`?(t=e[0],n=e[1]):(t=e[0].x,n=e[0].y);let r=(this.worldScreenWidth/2-t)*this.scale.x,i=(this.worldScreenHeight/2-n)*this.scale.y;return(this.x!==r||this.y!==i)&&(this.position.set(r,i),this.plugins.reset(),this.dirty=!0),this}get corner(){return new t.Point(-this.x/this.scale.x,-this.y/this.scale.y)}set corner(e){this.moveCorner(e)}moveCorner(...e){let t,n;return e.length===1?(t=-e[0].x*this.scale.x,n=-e[0].y*this.scale.y):(t=-e[0]*this.scale.x,n=-e[1]*this.scale.y),(t!==this.x||n!==this.y)&&(this.position.set(t,n),this.plugins.reset(),this.dirty=!0),this}get screenWidthInWorldPixels(){return this.screenWidth/this.scale.x}get screenHeightInWorldPixels(){return this.screenHeight/this.scale.y}findFitWidth(e){return this.screenWidth/e}findFitHeight(e){return this.screenHeight/e}findFit(e,t){let n=this.screenWidth/e,r=this.screenHeight/t;return Math.min(n,r)}findCover(e,t){let n=this.screenWidth/e,r=this.screenHeight/t;return Math.max(n,r)}fitWidth(e=this.worldWidth,t,n=!0,r){let i;t&&(i=this.center),this.scale.x=this.screenWidth/e,n&&(this.scale.y=this.scale.x);let a=this.plugins.get(`clamp-zoom`,!0);return!r&&a&&a.clamp(),t&&i&&this.moveCenter(i),this}fitHeight(e=this.worldHeight,t,n=!0,r){let i;t&&(i=this.center),this.scale.y=this.screenHeight/e,n&&(this.scale.x=this.scale.y);let a=this.plugins.get(`clamp-zoom`,!0);return!r&&a&&a.clamp(),t&&i&&this.moveCenter(i),this}fitWorld(e){let t;e&&(t=this.center),this.scale.x=this.screenWidth/this.worldWidth,this.scale.y=this.screenHeight/this.worldHeight,this.scale.x<this.scale.y?this.scale.y=this.scale.x:this.scale.x=this.scale.y;let n=this.plugins.get(`clamp-zoom`,!0);return n&&n.clamp(),e&&t&&this.moveCenter(t),this}fit(e,t=this.worldWidth,n=this.worldHeight){let r;e&&(r=this.center),this.scale.x=this.screenWidth/t,this.scale.y=this.screenHeight/n,this.scale.x<this.scale.y?this.scale.y=this.scale.x:this.scale.x=this.scale.y;let i=this.plugins.get(`clamp-zoom`,!0);return i&&i.clamp(),e&&r&&this.moveCenter(r),this}setZoom(e,t){let n;t&&(n=this.center),this.scale.set(e);let r=this.plugins.get(`clamp-zoom`,!0);return r&&r.clamp(),t&&n&&this.moveCenter(n),this}zoomPercent(e,t){return this.setZoom(this.scale.x+this.scale.x*e,t)}zoom(e,t){return this.fitWidth(e+this.worldScreenWidth,t),this}get scaled(){return this.scale.x}set scaled(e){this.setZoom(e,!0)}snapZoom(e){return this.plugins.add(`snap-zoom`,new Hs(this,e)),this}OOB(){return{left:this.left<0,right:this.right>this.worldWidth,top:this.top<0,bottom:this.bottom>this.worldHeight,cornerPoint:new t.Point(this.worldWidth*this.scale.x-this.screenWidth,this.worldHeight*this.scale.y-this.screenHeight)}}get right(){return-this.x/this.scale.x+this.worldScreenWidth}set right(e){this.x=-e*this.scale.x+this.screenWidth,this.plugins.reset()}get left(){return-this.x/this.scale.x}set left(e){this.x=-e*this.scale.x,this.plugins.reset()}get top(){return-this.y/this.scale.y}set top(e){this.y=-e*this.scale.y,this.plugins.reset()}get bottom(){return-this.y/this.scale.y+this.worldScreenHeight}set bottom(e){this.y=-e*this.scale.y+this.screenHeight,this.plugins.reset()}get dirty(){return!!this._dirty}set dirty(e){this._dirty=e}get forceHitArea(){return this._forceHitArea}set forceHitArea(e){e?(this._forceHitArea=e,this.hitArea=e):(this._forceHitArea=null,this.hitArea=new t.Rectangle(0,0,this.worldWidth,this.worldHeight))}drag(e){return this.plugins.add(`drag`,new js(this,e)),this}clamp(e){return this.plugins.add(`clamp`,new ws(this,e)),this}decelerate(e){return this.plugins.add(`decelerate`,new ks(this,e)),this}bounce(e){return this.plugins.add(`bounce`,new Ss(this,e)),this}pinch(e){return this.plugins.add(`pinch`,new Rs(this,e)),this}snap(e,t,n){return this.plugins.add(`snap`,new Bs(this,e,t,n)),this}follow(e,t){return this.plugins.add(`follow`,new Ns(this,e,t)),this}wheel(e){return this.plugins.add(`wheel`,new Ws(this,e)),this}animate(e){return this.plugins.add(`animate`,new bs(this,e)),this}clampZoom(e){return this.plugins.add(`clamp-zoom`,new Es(this,e)),this}mouseEdges(e){return this.plugins.add(`mouse-edges`,new Fs(this,e)),this}get pause(){return!!this._pause}set pause(e){this._pause=e,this.lastViewport=null,this.moving=!1,this.zooming=!1,e&&this.input.pause()}ensureVisible(e,t,n,r,i){i&&(n>this.worldScreenWidth||r>this.worldScreenHeight)&&(this.fit(!0,n,r),this.emit(`zoomed`,{viewport:this,type:`ensureVisible`}));let a=!1;e<this.left?(this.left=e,a=!0):e+n>this.right&&(this.right=e+n,a=!0),t<this.top?(this.top=t,a=!0):t+r>this.bottom&&(this.bottom=t+r,a=!0),a&&this.emit(`moved`,{viewport:this,type:`ensureVisible`})}},qs=[`bounce-x-end`,`bounce-x-start`,`bounce-y-end`,`bounce-y-start`,`clicked`,`drag-end`,`drag-start`,`frame-end`,`mouse-edge-end`,`mouse-edge-start`,`moved`,`moved-end`,`pinch-end`,`pinch-start`,`snap-end`,`snap-start`,`snap-zoom-end`,`snap-zoom-start`,`wheel-scroll`,`zoomed`,`zoomed-end`];z(`Viewport`,class extends za(t.Container){#e;constructor(){super(),this.overrideProps=[`wheel`];let e={noTicker:!0,events:{domElement:{addEventListener:()=>{}}}};this.viewport=new Ks(e),super.addChild(this.viewport),this.#e=new t.Graphics,super.addChild(this.#e),this.mask=this.#e}addChild(...e){return this.viewport.addChild(...e)}addChildAt(e,t){return this.viewport.addChildAt(e,t)}onInit(e){super.onInit(e);for(let t of qs)e[t]&&this.viewport.on(t,e[t])}async onMount(e,t){e.props.context.viewport=this.viewport,await super.onMount(e,t);let{props:n}=e,{tick:r,app:i,canvasSize:a}=n.context;R(()=>{n.screenWidth===void 0&&(this.viewport.screenWidth=a().width),n.screenHeight===void 0&&(this.viewport.screenHeight=a().height),this.updateMask()}),R(()=>{let e=i();if(!e)return;let t=e.renderer;t.events.domElement.addEventListener(`wheel`,this.viewport.input.wheelFunction),this.viewport.options.events=t.events}),this.tickSubscription=r.observable.subscribe(({value:e})=>{this.viewport.update(e.deltaTime)}),this.updateViewportSettings(n)}onUpdate(e){super.onUpdate(e),this.updateViewportSettings(e)}updateViewportSettings(e){e.screenWidth!==void 0&&(this.viewport.screenWidth=e.screenWidth),e.screenHeight!==void 0&&(this.viewport.screenHeight=e.screenHeight),this.updateMask(),e.worldWidth!==void 0&&(this.viewport.worldWidth=e.worldWidth),e.worldHeight!==void 0&&(this.viewport.worldHeight=e.worldHeight),e.sortableChildren!==void 0&&(this.viewport.sortableChildren=e.sortableChildren),e.drag&&this.viewport.drag(e.drag),e.clamp&&this.viewport.clamp(e.clamp.value??e.clamp),e.wheel&&(e.wheel===!0?this.viewport.wheel():this.viewport.wheel(e.wheel)),e.decelerate&&(e.decelerate===!0?this.viewport.decelerate():this.viewport.decelerate(e.decelerate)),e.pinch&&(e.pinch===!0?this.viewport.pinch():this.viewport.pinch(e.pinch))}updateMask(){this.#e&&(this.#e.clear(),this.#e.beginFill(16777215),this.#e.drawRect(0,0,this.viewport.screenWidth,this.viewport.screenHeight),this.#e.endFill())}async onDestroy(e,t){await super.onDestroy(e,async()=>{this.tickSubscription.unsubscribe(),t()})}follow(...e){return this.viewport.follow(...e)}get plugins(){return this.viewport.plugins}});function Js(e){return V(`Viewport`,e)}z(`NineSliceSprite`,class extends za(t.NineSliceSprite){constructor(){super({width:0,height:0})}async onUpdate(e){for(let[n,r]of Object.entries(e))r!==void 0&&(n===`image`?this.texture=await t.Assets.load(r):n in this&&(this[n]=r))}});function Ys(e){return V(`NineSliceSprite`,e)}var Xs=`click.mouseover.mouseout.mouseenter.mouseleave.mousemove.mouseup.mousedown.touchstart.touchend.touchmove.touchcancel.wheel.scroll.resize.focus.blur.change.input.submit.reset.keydown.keyup.keypress.contextmenu.drag.dragend.dragenter.dragleave.dragover.drop.dragstart.select.selectstart.selectend.selectall.selectnone`.split(`.`),Zs=class{constructor(){this.eventListeners=new Map,this.onBeforeDestroy=null,this.valueSignal=null,this.isFormElementType=!1,this.classSubscriptions=[],this.childTextSubscriptions=[]}isFormElement(e){return[`input`,`textarea`,`select`].includes(e.toLowerCase())}collectClassTokens(e,t){if(e){if(I(e)){this.collectClassTokens(e(),t);return}if(typeof e==`string`){e.split(/\s+/).filter(Boolean).forEach(e=>t.push(e));return}if(Array.isArray(e)){e.forEach(e=>this.collectClassTokens(e,t));return}if(typeof e==`object`)for(let[n,r]of Object.entries(e))(I(r)?r():r)&&t.push(n)}}collectClassSignals(e,t){if(e){if(I(e)){t.add(e);return}if(Array.isArray(e)){e.forEach(e=>this.collectClassSignals(e,t));return}typeof e==`object`&&Object.values(e).forEach(e=>this.collectClassSignals(e,t))}}applyClassList(e){if(this.element.className=``,typeof e==`string`){this.element.className=e;return}let t=[];this.collectClassTokens(e,t),t.length>0&&this.element.classList.add(...t)}syncClassSubscriptions(e){for(let e of this.classSubscriptions)e.unsubscribe();this.classSubscriptions=[];let t=new Set;this.collectClassSignals(e,t),t.size!==0&&t.forEach(t=>{if(!t?.observable?.subscribe)return;let n=t.observable.subscribe(()=>{this.applyClassList(e)});this.classSubscriptions.push(n)})}appendChildElement(e){if(e==null||e===!1)return;if(typeof e==`string`||typeof e==`number`){this.element.appendChild(document.createTextNode(String(e)));return}if(I(e)){let t=document.createTextNode(e()==null?``:String(e()));if(this.element.appendChild(t),e.observable?.subscribe){let n=e.observable.subscribe(e=>{t.textContent=e==null?``:String(e)});this.childTextSubscriptions.push(n)}return}if(Jt(e)){e.subscribe(e=>{e&&typeof e==`object`&&`elements`in e?(e.elements||[]).forEach(e=>this.appendChildElement(e)):Array.isArray(e)?e.forEach(e=>this.appendChildElement(e)):this.appendChildElement(e)});return}if(Array.isArray(e)){e.forEach(e=>this.appendChildElement(e));return}let t=e?.componentInstance?.element;if(t){this.element.appendChild(t);return}let n=e?.props?.children;n&&this.appendChildElement(n)}onInit(e){if(typeof e.element==`string`)this.element=document.createElement(e.element),this.isFormElementType=this.isFormElement(e.element);else{if(this.element=e.element?.value,!this.element)throw Error(`DOMElement requires a valid element.`);this.isFormElementType=this.isFormElement(this.element.tagName)}(e.onBeforeDestroy||e[`on-before-destroy`])&&(this.onBeforeDestroy=e.onBeforeDestroy||e[`on-before-destroy`]);for(let t of Xs)if(e.attrs?.[t]){let n=n=>{if(t===`submit`&&this.element.tagName.toLowerCase()===`form`){n.preventDefault();let r=new FormData(this.element),i={};r.forEach((e,t)=>{i[t]?Array.isArray(i[t])?i[t].push(e):i[t]=[i[t],e]:i[t]=e}),e.attrs[t]?.(n,i)}else e.attrs[t]?.(n)};this.eventListeners.set(t,n),this.element.addEventListener(t,n,!1)}e.children&&this.appendChildElement(e.children),this.onUpdate(e)}onMount(e){let t=e.propObservables.attrs;if(this.isFormElementType&&t?.value&&I(t.value)){this.valueSignal=t.value,this.element.value=this.valueSignal();let e=e=>{let t=e.target;this.valueSignal.set(t.value)};this.eventListeners.set(`input`,e),this.element.addEventListener(`input`,e,!1)}}onUpdate(e){if(this.element){for(let[t,n]of Object.entries(e.attrs||{}))if(t===`tabindex`){let e=I(n)?n():n;e==null?this.element.removeAttribute(`tabindex`):this.element.setAttribute(`tabindex`,String(e))}else if(t===`class`){let e=n.items||n.value||n,t=I(e)?e():e;this.applyClassList(t),this.syncClassSubscriptions(t)}else if(t===`style`){let e=n.items||n.value||n;if(typeof e==`string`)this.element.setAttribute(`style`,e);else if(typeof e==`object`&&e)for(let[t,n]of Object.entries(e))n!=null&&(this.element.style[t]=n)}else if(t===`value`&&this.isFormElementType)if(I(n)){let e=this.element.value,t=n();e!==t&&(this.element.value=t)}else this.element.value=n;else Xs.includes(t)||this.element.setAttribute(t,n);if(`textContent`in e){let t=e.textContent;this.element.textContent=t==null?``:String(t)}}}async onDestroy(e,t){if(this.element){this.onBeforeDestroy&&await this.onBeforeDestroy();for(let[e,t]of this.eventListeners)this.element.removeEventListener(e,t,!1);this.eventListeners.clear();for(let e of this.classSubscriptions)e.unsubscribe();this.classSubscriptions=[];for(let e of this.childTextSubscriptions)e.unsubscribe();this.childTextSubscriptions=[],this.element.remove(),t&&t()}}};z(`DOMElement`,Zs);var Qs=e=>V(`DOMElement`,e);z(`DOMContainer`,class e extends za(t.DOMContainer){constructor(...e){super(...e),this.disableLayout=!0,this.canvasSizeEffect=null}static{this.DOM_ROUTING_MAP={Sprite:`DOMSprite`}}static{this.DOM_ALLOWED_TAGS=new Set([`DOMContainer`,`DOMElement`,`DOMSprite`])}static{this.DOM_UNSUPPORTED_TAGS=new Set([`Canvas`,`Container`,`Graphics`,`Rect`,`Circle`,`Ellipse`,`Triangle`,`Svg`,`Mesh`,`Scene`,`ParticlesEmitter`,`Sprite`,`Video`,`Text`,`TilingSprite`,`Viewport`,`NineSliceSprite`,`Button`,`Joystick`,`FocusContainer`])}hasDomContainerAncestor(){let e=this.getElement()?.parent;for(;e;){if(e.tag===`DOMContainer`)return!0;e=e.parent}return!1}getPercentRatio(e){let t=parseFloat(e);return Number.isNaN(t)?null:t/100}getCanvasSize(){let e=this.fullProps?.context?.canvasSize;return typeof e==`function`?e():e}shouldUseCanvasPercent(){let e=this.fullProps?.width,t=this.fullProps?.height;return!U(e)&&!U(t)?!1:!this.hasDomContainerAncestor()}syncCanvasSizeEffect(){let e=this.shouldUseCanvasPercent();if(e&&!this.canvasSizeEffect){let e=this.fullProps?.context?.canvasSize;typeof e==`function`&&(this.canvasSizeEffect=R(()=>{e(),this.applyElementSize()}))}else !e&&this.canvasSizeEffect&&(this.canvasSizeEffect.subscription?.unsubscribe(),this.canvasSizeEffect=null)}applyElementSize(){if(!this.element)return;let e=this.fullProps?.width,t=this.fullProps?.height,n=this.shouldUseCanvasPercent(),r=n?this.getCanvasSize():null;if(e!==void 0)if(U(e))if(n){let t=this.getPercentRatio(e);if(t!==null){let e=r?.width===void 0?this.getWidth():r.width;this.element.style.width=`${e*t}px`}}else this.element.style.width=e;else typeof e==`number`?this.element.style.width=`${e}px`:typeof e==`string`&&(this.element.style.width=e);if(t!==void 0)if(U(t))if(n){let e=this.getPercentRatio(t);if(e!==null){let t=r?.height===void 0?this.getHeight():r.height;this.element.style.height=`${t*e}px`}}else this.element.style.height=t;else typeof t==`number`?this.element.style.height=`${t}px`:typeof t==`string`&&(this.element.style.height=t)}routeDomChildren(t){if(!t)return t;if(Array.isArray(t))return t.map(e=>this.routeDomChildren(e));if(na(t)){if(e.DOM_ALLOWED_TAGS.has(t.tag))return t;let n=e.DOM_ROUTING_MAP[t.tag];if(n)return t.propSubscriptions?.forEach(e=>e.unsubscribe()),t.effectSubscriptions?.forEach(e=>e.unsubscribe()),t.effectUnmounts?.forEach(e=>e?.()),V(n,t.propObservables??t.props);if(e.DOM_UNSUPPORTED_TAGS.has(t.tag))throw Error(`Component ${t.tag} is not implemented for DOMContainer context yet. Only Sprite is supported.`);return t.props?.children&&(t.props.children=this.routeDomChildren(t.props.children)),t}return t}onInit(e){let t=e._scopeClass,n={element:`div`},r={...e.attrs||{}},i=e=>{if(!t)return e;if(e==null)return t;if(typeof e==`string`)return`${t} ${e}`;if(Array.isArray(e))return[t,...e];if(typeof e==`object`){if(`items`in e){let n=e.items;return{...e,items:[t,n]}}if(`value`in e){let n=e.value;return{...e,value:[t,n]}}return{[t]:!0,...e}}return[t,e]};e.class!==void 0&&(r.class?r.class=[e.class,r.class]:r.class=e.class),e.style!==void 0&&(typeof r.style==`object`&&r.style!==null&&typeof e.style==`object`&&e.style!==null?r.style={...r.style,...e.style}:r.style===void 0?r.style=e.style:typeof r.style==`string`&&typeof e.style==`string`?r.style=`${r.style}; ${e.style}`:r.style=e.style),e.zIndex!==void 0&&(typeof r.style==`object`&&r.style!==null?r.style={...r.style,zIndex:e.zIndex}:typeof r.style==`string`?r.style=`${r.style}; z-index: ${e.zIndex}`:r.style={zIndex:e.zIndex}),t?(n.attrs={...r},n.attrs.class=i(n.attrs.class)):Object.keys(r).length>0&&(n.attrs=r);let a=this.routeDomChildren(e.children);e.children=a;let o=W(Qs,n,a);this.element=o.componentInstance.element}async onMount(e,t){await super.onMount(e,t),this.syncCanvasSizeEffect(),this.applyElementSize()}onUpdate(e){super.onUpdate(e),this.syncCanvasSizeEffect(),this.applyElementSize()}onLayoutComputed(){this.applyElementSize()}async onDestroy(e,t){await super.onDestroy(e,()=>{this.canvasSizeEffect&&=(this.canvasSizeEffect.subscription?.unsubscribe(),null),t&&t()})}});var $s=e=>V(`DOMContainer`,e),ec=`click.mouseover.mouseout.mouseenter.mouseleave.mousemove.mouseup.mousedown.touchstart.touchend.touchmove.touchcancel.wheel.scroll.resize.focus.blur.change.input.submit.reset.keydown.keyup.keypress.contextmenu.drag.dragend.dragenter.dragleave.dragover.drop.dragstart.select.selectstart.selectend.selectall.selectnone`.split(`.`);z(`DOMSprite`,class extends Zs{constructor(...e){super(...e),this.frameIndex=0,this.frames=[],this.fps=120,this.loop=!0,this.playing=!0,this.hasExternalFrameIndex=!1,this.elapsed=0,this.sheetSubscriptions=[],this.sheetAnimations=new Map,this.sheetParams={},this.sheetTime=0,this.sheetFrameIndex=0,this.sheetFinished=!1,this.sheetLoadToken=0,this.renderElementType=`div`,this.wrapperElementType=`div`,this.isAnimating=!1,this.frameWidth=0,this.frameHeight=0,this.isContained=!1}onInit(e){let t=e,n=t.sheet===void 0&&t.image?`img`:`div`;this.renderElementType=t.element??n;let r=this.resolveValue(t.objectFit);this.fitMode=r??void 0,this.wrapperElementType=this.fitMode===`contain`&&this.renderElementType===`img`?`div`:this.renderElementType;let i=this.mergeEventAttrs({...t,element:this.wrapperElementType});this.tickSignal=i.context?.tick,this.applyProps(i),super.onInit(i),this.syncRenderElement(),this.applyDisplayProps(i),this.render(),this.updateAnimationLoop()}onMount(e){this.tickSignal=e.props.context?.tick,super.onMount(e),this.bindPlayingSignal(e),this.bindSheetParams(e),this.updateAnimationLoop()}onUpdate(e){let t=this.mergeEventAttrs(e);super.onUpdate(t),this.applyProps(t),this.syncRenderElement(),this.applyDisplayProps(t),this.render(),this.updateAnimationLoop()}async onDestroy(e,t){this.playingSubscription&&=(this.playingSubscription.unsubscribe(),void 0),this.sheetSubscriptions.length>0&&(this.sheetSubscriptions.forEach(e=>e.unsubscribe()),this.sheetSubscriptions=[]),this.stopAnimationLoop(),await super.onDestroy(e,t)}resolveRectangle(e){if(!e)return;let t=I(e)?e():e;if(!t)return;let n=t.value??t;if(n)return n}resolveSheetDefinition(e){if(!e)return;let t=I(e)?e():e;if(t)return t.value??t}async detectImageDimensions(e){return!zt()||!e?{width:0,height:0}:new Promise((t,n)=>{let r=new Image;r.onload=()=>t({width:r.naturalWidth,height:r.naturalHeight}),r.onerror=()=>n(Error(`Failed to load image: ${e}`)),r.src=e})}async createSheetAnimations(e){this.sheetAnimations.clear();let{textures:t}=e;if(!t)return;let n=[`width`,`height`,`framesHeight`,`framesWidth`,`rectWidth`,`rectHeight`,`offset`];for(let r in t){let i={...n.reduce((t,n)=>({...t,[n]:e[n]}),{}),...t[r],spriteWidth:0,spriteHeight:0};i.image=t[r].image??e.image;let{rectWidth:a,rectHeight:o,framesWidth:s=1,framesHeight:c=1,image:l}=i,u=i.width||0,d=i.height||0;if(l&&(!u||u<=0||!d||d<=0)){let e=await this.detectImageDimensions(l);(!u||u<=0)&&(u=e.width),(!d||d<=0)&&(d=e.height)}!u||!d||!s||!c||(i.width=u,i.height=d,i.spriteWidth=a||u/s,i.spriteHeight=o||d/c,this.sheetAnimations.set(r,{frames:[],name:r,animations:t[r].animations,params:[],data:i}))}}async setSheetDefinition(e){let t=++this.sheetLoadToken;if(!e){this.sheetDefinition=void 0,this.sheetAnimations.clear(),this.sheetCurrentAnimation=void 0,this.sheetCurrentName=void 0;return}let n=await e;if(t!==this.sheetLoadToken)return;if(!n){this.sheetDefinition=void 0,this.sheetAnimations.clear(),this.sheetCurrentAnimation=void 0,this.sheetCurrentName=void 0;return}this.sheetDefinition=n,n.image&&(this.image=n.image),await this.createSheetAnimations(n);let r=n.textures?Object.keys(n.textures):[],i=this.sheetCurrentName||(r.includes(`stand`)?`stand`:r[0])||void 0;i&&this.playSheet(i,[this.sheetParams]),this.render(),this.updateAnimationLoop()}playSheet(e,t=[]){let n=this.sheetCurrentAnimation?.params;if(this.sheetCurrentAnimation&&this.sheetCurrentAnimation.name===e&&Ut(t,n||[]))return;let r=this.sheetAnimations.get(e);if(!r)throw Error(`Impossible to play the ${e} animation because it doesn't exist on the spritesheet`);let i=structuredClone(t),a=r.animations;a=Kt(a)?a(...i):a,r.frames=[],r.params=i,this.sheetCurrentAnimation=r,this.sheetCurrentName=e,this.sheetTime=0,this.sheetFrameIndex=0,this.sheetFinished=!1;let o=r.data,s=o.spriteWidth,c=o.spriteHeight,l=o.offset?.x??0,u=o.offset?.y??0;for(let e of a)for(let t of e){let e=t.frameX??0,n=t.frameY??0;r.frames.push({...t,x:e*s+l,y:n*c+u,width:s,height:c})}this.render(),this.updateAnimationLoop()}getCurrentSheetFrame(){return!this.sheetCurrentAnimation||this.sheetCurrentAnimation.frames.length===0?null:this.sheetCurrentAnimation.frames[this.sheetFrameIndex]??null}advanceSheet(e){if(!this.playing||!this.sheetCurrentAnimation)return;let t=this.sheetCurrentAnimation.frames;if(t.length<=1)return;let n=this.fps>0?this.fps:60,r=0;e.deltaTime?r=e.deltaTime/Vt(n):typeof e.deltaRatio==`number`&&(r=e.deltaRatio*(n/60));let i=t[this.sheetFrameIndex+1];if(!i){if(this.loop){this.sheetTime=0,this.sheetFrameIndex=0,this.applyFrame(t[0]);return}else this.sheetFinished||(this.sheetFinished=!0,this.sheetOnFinish&&this.sheetOnFinish());this.applyFrame(t[t.length-1]);return}this.sheetTime+=r||0,this.sheetTime>=i.time&&(this.sheetFrameIndex+=1),this.applyFrame(t[this.sheetFrameIndex])}mergeEventAttrs(e){let t=e.attrs?{...e.attrs}:void 0;for(let n of ec){let r=e[n];r&&!t?.[n]&&(t||={},t[n]=r)}return e.class!==void 0&&(t||={},t.class?t.class=[e.class,t.class]:t.class=e.class),e.style!==void 0&&(t||={},typeof t.style==`object`&&t.style!==null&&typeof e.style==`object`&&e.style!==null?t.style={...t.style,...e.style}:t.style===void 0?t.style=e.style:typeof t.style==`string`&&typeof e.style==`string`?t.style=`${t.style}; ${e.style}`:t.style=e.style),t?{...e,attrs:t}:e}applyProps(e){if(e.image!==void 0&&(this.image=I(e.image)?e.image():e.image),e.rectangle!==void 0&&(this.rectangle=this.resolveRectangle(e.rectangle)),e.frames!==void 0){let t=I(e.frames)?e.frames():e.frames;this.frames=t??[]}if(e.sheet!==void 0){let t=I(e.sheet)?e.sheet():e.sheet;if(t?.definition!==void 0){let e=this.resolveSheetDefinition(t.definition);(e instanceof Promise||e&&e!==this.sheetDefinition)&&this.setSheetDefinition(e)}t?.params!==void 0&&(this.sheetParams={...this.sheetParams,...t.params}),t?.playing!==void 0&&(this.sheetCurrentName=t.playing),t?.onFinish!==void 0&&(this.sheetOnFinish=t.onFinish),this.sheetAnimations.size>0&&this.sheetCurrentName&&this.playSheet(this.sheetCurrentName,[this.sheetParams])}if(e.frameIndex!==void 0){let t=I(e.frameIndex),n=t?e.frameIndex():e.frameIndex;n!==void 0&&(this.frameIndex=n),this.hasExternalFrameIndex=t}if(e.fps!==void 0){let t=I(e.fps)?e.fps():e.fps;t!==void 0&&(this.fps=t)}if(e.playing!==void 0){let t=I(e.playing)?e.playing():e.playing;this.playing=t===!0,this.playing||(this.elapsed=0)}if(e.loop!==void 0){let t=I(e.loop)?e.loop():e.loop;t!==void 0&&(this.loop=t)}if(e.objectFit!==void 0){let t=this.resolveValue(e.objectFit);this.fitMode=t??void 0}}resolveValue(e){if(e===void 0)return;let t=I(e)?e():e;return t&&typeof t==`object`&&`value`in t?t.value:t}resolvePoint(e){let t=this.resolveValue(e);if(t!=null){if(typeof t==`number`)return{x:t,y:t};if(Array.isArray(t)){let[e,n]=t;return{x:e??0,y:n??e??0}}if(typeof t==`object`)return{x:t.x??0,y:t.y??0}}}resolveSize(e){let t=this.resolveValue(e);if(t!=null){if(typeof t==`number`)return`${t}px`;if(typeof t==`string`)return t}}resolvePixelSize(e){if(e){if(e.endsWith(`px`)){let t=parseFloat(e);return Number.isNaN(t)?void 0:t}if(/^\d+(\.\d+)?$/.test(e)){let t=parseFloat(e);return Number.isNaN(t)?void 0:t}}}toCssColor(e){return`#${Math.max(0,Math.min(16777215,e)).toString(16).padStart(6,`0`)}`}applyDisplayProps(e){if(!this.element)return;if(e.width===void 0?this.explicitWidth=void 0:this.explicitWidth=this.resolveSize(e.width),e.height===void 0?this.explicitHeight=void 0:this.explicitHeight=this.resolveSize(e.height),this.explicitWidth!==void 0&&(this.element.style.width=this.explicitWidth),this.explicitHeight!==void 0&&(this.element.style.height=this.explicitHeight),e.alpha!==void 0){let t=this.resolveValue(e.alpha);t!==void 0&&(this.element.style.opacity=String(t))}if(e.visible!==void 0){let t=this.resolveValue(e.visible);this.element.style.display=t===!1?`none`:``}if(e.zIndex!==void 0){let t=this.resolveValue(e.zIndex);t!==void 0&&(this.element.style.zIndex=String(t))}if(e.cursor!==void 0){let t=this.resolveValue(e.cursor);t!==void 0&&(this.element.style.cursor=String(t))}if(e.tint!==void 0){let t=this.resolveValue(e.tint);typeof t==`number`&&(this.element.style.filter=`drop-shadow(0 0 0 ${this.toCssColor(t)})`)}if([e.x,e.y,e.scale,e.rotation,e.angle,e.skew,e.roundPixels].some(e=>e!==void 0)){let t=this.resolveValue(e.x)??0,n=this.resolveValue(e.y)??0;this.resolveValue(e.roundPixels)&&(t=Math.round(t),n=Math.round(n));let r=this.resolvePoint(e.scale)??{x:1,y:1},i=this.resolvePoint(e.skew),a=this.resolveValue(e.angle),o=this.resolveValue(e.rotation),s=a===void 0?o===void 0?0:o*180/Math.PI:a,c=[`translate3d(${t}px, ${n}px, 0)`];if(s!==0&&c.push(`rotate(${s}deg)`),i){let e=i.x*180/Math.PI,t=i.y*180/Math.PI;(e!==0||t!==0)&&c.push(`skew(${e}deg, ${t}deg)`)}(r.x!==1||r.y!==1)&&c.push(`scale(${r.x}, ${r.y})`),this.element.style.transform=c.join(` `)}let t=this.resolvePoint(e.pivot),n=this.resolvePoint(e.anchor);t?this.element.style.transformOrigin=`${t.x}px ${t.y}px`:n&&(this.element.style.transformOrigin=`${n.x*100}% ${n.y*100}%`)}syncRenderElement(){if(this.element){if(this.fitMode===`contain`&&!(this.element instanceof HTMLImageElement)){if(!this.isContained){let e=document.createElement(this.renderElementType);this.element.style.position=`relative`,this.element.style.overflow=`hidden`,e.style.position=`absolute`,e.style.left=`0`,e.style.top=`0`,e.style.transformOrigin=`0 0`,this.element.appendChild(e),this.renderElement=e,this.isContained=!0}return}this.isContained&&=(this.renderElement&&this.renderElement!==this.element&&this.renderElement.remove(),this.renderElement=void 0,!1)}}getRenderElement(){return this.renderElement??this.element}applyContainScale(){if(!this.isContained)return;let e=this.getRenderElement();if(!e||!this.element||this.frameWidth<=0||this.frameHeight<=0)return;let t=this.resolvePixelSize(this.explicitWidth)??this.element.clientWidth,n=this.resolvePixelSize(this.explicitHeight)??this.element.clientHeight;if(!t||!n)return;let r=Math.min(t/this.frameWidth,n/this.frameHeight);!Number.isFinite(r)||r<=0||(e.style.transform=`scale(${r})`)}bindPlayingSignal(e){let t=e.propObservables?.playing;!t||!I(t)||this.playingSignal!==t&&(this.playingSubscription&&=(this.playingSubscription.unsubscribe(),void 0),this.playingSignal=t,this.playing=t(),this.playingSubscription=t.observable.subscribe(e=>{this.playing=e===!0,this.playing||(this.elapsed=0),this.updateAnimationLoop()}))}bindSheetParams(e){let t=e.propObservables?.sheet?.params;if(!(!t||typeof t!=`object`))for(let e in t){let n=t[e];I(n)&&this.sheetSubscriptions.push(n.observable.subscribe(t=>{this.sheetParams={...this.sheetParams,[e]:t},this.sheetCurrentName&&this.playSheet(this.sheetCurrentName,[this.sheetParams])}))}}getFrames(){return this.frames&&this.frames.length>0?this.frames:this.rectangle?[this.rectangle]:[]}normalizeIndex(e,t){if(t<=0)return 0;if(this.loop){let n=e%t;return n<0?n+t:n}return e<0?0:e>=t?t-1:e}render(){if(!this.element)return;let e=this.getRenderElement(),t=this.getCurrentSheetFrame();if(t){this.applyFrame(t);return}let n=this.getFrames();if(n.length===0){this.renderElementType===`img`&&this.image&&e?e.src=this.image:this.image&&(e.style.backgroundImage=`url("${this.image}")`);return}let r=this.normalizeIndex(this.frameIndex,n.length);r!==this.frameIndex&&!this.loop&&(this.frameIndex=r);let i=n[r];this.applyFrame(i)}applyFrame(e){if(!this.element)return;let t=this.getRenderElement();if(!t)return;this.frameWidth=e.width,this.frameHeight=e.height,this.fitMode===`contain`?(t.style.width=`${e.width}px`,t.style.height=`${e.height}px`):(t.style.width=this.explicitWidth??`${e.width}px`,t.style.height=this.explicitHeight??`${e.height}px`);let n=e.x??0,r=e.y??0;if(this.renderElementType===`img`){let e=t;this.image&&(e.src=this.image),e.style.objectFit=`none`,e.style.objectPosition=`-${n}px -${r}px`,this.applyContainScale();return}this.image&&(t.style.backgroundImage=`url("${this.image}")`),t.style.backgroundRepeat=`no-repeat`,t.style.backgroundPosition=`-${n}px -${r}px`,this.applyContainScale()}updateAnimationLoop(){let e=this.sheetCurrentAnimation?.frames??[];(this.sheetCurrentAnimation?this.playing&&e.length>1:this.playing&&!this.hasExternalFrameIndex&&this.getFrames().length>1&&this.fps>0)?this.startAnimationLoop():this.stopAnimationLoop()}startAnimationLoop(){if((this.tickSubscription||this.rafId!==void 0)&&this.stopAnimationLoop(),this.isAnimating=!0,this.elapsed=0,this.lastTickTimestamp=void 0,this.tickSignal?.observable){this.tickSubscription=this.tickSignal.observable.subscribe(e=>{let t=e?.value??e;if(!t)return;if(this.sheetCurrentAnimation){this.advanceSheet(t);return}let n=t.deltaTime||0;if(n<=0){let e=Bt();if(this.lastTickTimestamp===void 0){this.lastTickTimestamp=e;return}n=e-this.lastTickTimestamp,this.lastTickTimestamp=e}n>0&&this.advance(n)});return}let e=t=>{if(!this.playing||this.hasExternalFrameIndex){this.stopAnimationLoop();return}this.lastRafTimestamp===void 0&&(this.lastRafTimestamp=t);let n=t-this.lastRafTimestamp;this.lastRafTimestamp=t,this.sheetCurrentAnimation?this.advanceSheet({timestamp:t,deltaTime:n,frame:0,deltaRatio:n/Vt(this.fps)}):this.advance(n),zt()?this.rafId=window.requestAnimationFrame(e):this.rafId=setTimeout(()=>{e(Bt())},Vt(this.fps))};zt()?this.rafId=window.requestAnimationFrame(e):this.rafId=setTimeout(()=>{e(Bt())},Vt(this.fps))}stopAnimationLoop(){this.isAnimating=!1,this.tickSubscription&&=(this.tickSubscription.unsubscribe(),void 0),this.rafId!==void 0&&(zt()?window.cancelAnimationFrame(this.rafId):clearTimeout(this.rafId),this.rafId=void 0,this.lastRafTimestamp=void 0),this.lastTickTimestamp=void 0}advance(e){let t=this.getFrames();if(!this.playing||t.length<=1||this.fps<=0)return;this.elapsed+=e;let n=Vt(this.fps);for(;this.elapsed>=n;)if(this.elapsed-=n,this.frameIndex+=1,!this.loop&&this.frameIndex>=t.length){this.frameIndex=t.length-1;break}this.render()}});var tc=e=>V(`DOMSprite`,e),nc=function(e){return e.Normal=`normal`,e.Hover=`hover`,e.Pressed=`pressed`,e.Disabled=`disabled`,e}({});function rc(e){let t=F(nc.Normal),n=F(!1),r=F(!1),{text:i,disabled:a,width:o,height:s,style:c,shape:l,controlName:u}=ba(e)({text:{type:String,default:``},disabled:{type:Boolean,default:!1},width:{type:Number,default:120},height:{type:Number,default:40},style:{type:Object,default:()=>({})},shape:{type:String,default:`rect`},controlName:{type:String,default:void 0}}),d=()=>e.controls?I(e.controls)?e.controls():e.controls:null;R(()=>{let e=a(),i=n(),o=r();e?t.set(nc.Disabled):i?t.set(nc.Pressed):o?t.set(nc.Hover):t.set(nc.Normal)});let f={pointerenter:t=>{a()||(r.set(!0),e.hoverEnter?.(t))},pointerleave:t=>{r.set(!1),n.set(!1),e.hoverLeave?.(t)},pointerdown:async t=>{if(!a()){n.set(!0),e.pressDown?.(t);let r=d(),i=u();r&&i&&r.applyControl&&await r.applyControl(i,!0)}},pointerup:async t=>{if(!a()&&n()){n.set(!1),e.pressUp?.(t);let r=d(),i=u();r&&i&&r.applyControl&&await r.applyControl(i,!1)}},pointertap:async t=>{if(!a()){e.click?.(t);let n=d(),r=u();n&&r&&n.applyControl&&await n.applyControl(r)}}},p=()=>{if(e.background)return e.background;let n=l(),r=L(()=>{let e=c().backgroundColor||{[nc.Normal]:`#007bff`,[nc.Hover]:`#0056b3`,[nc.Pressed]:`#004085`,[nc.Disabled]:`#6c757d`};return e[t()]||e[nc.Normal]});return n===`circle`?W(qa,{radius:L(()=>Math.min(o(),s())/2),x:L(()=>o()/2),y:L(()=>s()/2),color:r}):W(n===`ellipse`?Ja:Ka,{width:o,height:s,color:r})},m=()=>e.children&&e.children.length>0?e.children:[W(cs,{text:i,x:L(()=>o()/2),y:L(()=>s()/2),anchor:{x:.5,y:.5},style:L(()=>{let e=c().text||{};return{fontSize:e.fontSize||16,fontFamily:e.fontFamily||`Arial`,fill:e.color||`#ffffff`}})()})];return W(Ua,{x:e.x,y:e.y,width:e.width,height:e.height,alpha:e.alpha,visible:e.visible,cursor:e.cursor||`pointer`,tabindex:e.tabindex,...f},[p(),...m()])}var J=function(e){return e.LEFT=`left`,e.TOP=`top`,e.BOTTOM=`bottom`,e.RIGHT=`right`,e.TOP_LEFT=`top_left`,e.TOP_RIGHT=`top_right`,e.BOTTOM_LEFT=`bottom_left`,e.BOTTOM_RIGHT=`bottom_right`,e}({});function ic(e={}){let n=Object.assign({outerScale:{x:1,y:1},innerScale:{x:1,y:1},innerColor:`black`,outerColor:`black`},e),r=()=>I(n.controls)?n.controls():n.controls,i=.5,a=!1,o=null,s=0,c=F(0),l=F(0),u=F(i);function d(e){let t=e.x-0,n=e.y-0;return Math.min(1,Math.sqrt(t*t+n*n)/70)}function f(e){let t=Math.atan2(e.y,e.x);return t>=-Math.PI/8&&t<0||t>=0&&t<Math.PI/8?J.RIGHT:t>=Math.PI/8&&t<3*Math.PI/8?J.BOTTOM_RIGHT:t>=3*Math.PI/8&&t<5*Math.PI/8?J.BOTTOM:t>=5*Math.PI/8&&t<7*Math.PI/8?J.BOTTOM_LEFT:t>=7*Math.PI/8&&t<Math.PI||t>=-Math.PI&&t<-7*Math.PI/8?J.LEFT:t>=-7*Math.PI/8&&t<-5*Math.PI/8?J.TOP_LEFT:t>=-5*Math.PI/8&&t<-3*Math.PI/8?J.TOP:J.TOP_RIGHT}function p(e){let t=e.currentTarget||e.target;o=e.getLocalPosition(t),a=!0,u.set(1),n.onStart?.();let i=r();i&&(i.handleJoystickStart?i.handleJoystickStart():i.joystick&&i.joystick.handleJoystickStart&&i.joystick.handleJoystickStart())}function m(){if(!a)return;c.set(0),l.set(0),a=!1,u.set(i),n.onEnd?.();let e=r();e&&(e.handleJoystickEnd?e.handleJoystickEnd():e.joystick&&e.joystick.handleJoystickEnd&&e.joystick.handleJoystickEnd())}function h(e){if(a==0)return;let i=e.currentTarget||e.target,u=e.getLocalPosition(i),p=u.x-(o?.x??0),m=u.y-(o?.y??0),h=new t.Point(0,0),g=0;if(p==0&&m==0)return;p*p+m*m;let _=J.LEFT;if(p==0){m>0?(h.set(0,m>70?70:m),g=270,_=J.BOTTOM):(h.set(0,-(Math.abs(m)>70?70:Math.abs(m))),g=90,_=J.TOP),c.set(h.x),l.set(h.y),s=d(h);let e={angle:g,direction:_,power:s};n.onChange?.(e);let t=r();t&&(t.handleJoystickChange?t.handleJoystickChange(e):t.joystick&&t.joystick.handleJoystickChange&&t.joystick.handleJoystickChange(e));return}if(m==0){p>0?(h.set(Math.abs(p)>70?70:Math.abs(p),0),g=0,_=J.RIGHT):(h.set(-(Math.abs(p)>70?70:Math.abs(p)),0),g=180,_=J.LEFT),c.set(h.x),l.set(h.y),s=d(h);let e={angle:g,direction:_,power:s};n.onChange?.(e);let t=r();t&&(t.handleJoystickChange?t.handleJoystickChange(e):t.joystick&&t.joystick.handleJoystickChange&&t.joystick.handleJoystickChange(e));return}let v=Math.abs(m/p),y=Math.atan(v);g=y*180/Math.PI;let b=0,x=0;p*p+m*m>=4900?(b=70*Math.cos(y),x=70*Math.sin(y)):(b=Math.abs(p)>70?70:Math.abs(p),x=Math.abs(m)>70?70:Math.abs(m)),m<0&&(x=-Math.abs(x)),p<0&&(b=-Math.abs(b)),p>0&&m<0||(p<0&&m<0?g=180-g:p<0&&m>0?g+=180:p>0&&m>0&&(g=360-g)),h.set(b,x),s=d(h),_=f(h),c.set(h.x),l.set(h.y);let ee={angle:g,direction:_,power:s};n.onChange?.(ee);let S=r();S&&(S.handleJoystickChange?S.handleJoystickChange(ee):S.joystick&&S.joystick.handleJoystickChange&&S.joystick.handleJoystickChange(ee))}let g,_;_=n.outer?W(os,{image:n.outer,anchor:{x:.5,y:.5},scale:n.outerScale}):W(Wa,{draw:e=>{e.circle(0,0,70).fill(n.outerColor)},alpha:.5});let v={scale:n.innerScale,x:c,y:l,alpha:u};return g=n.inner?n.inner:W(Wa,{draw:e=>{e.circle(0,0,10*2.5).fill(n.innerColor)},...v}),W(Ua,{...e,pointerdown:p,pointerup:m,pointerupoutside:m,pointermove:h},_,g)}var ac=class e{constructor(){this.containers=new Map,this.scrollAnimations=new Map}static{this.instance=null}static getInstance(){return e.instance||=new e,e.instance}registerContainer(e,t){this.containers.set(e,{...t,id:e})}updateContainer(e,t){let n=this.containers.get(e);n&&this.containers.set(e,{...n,...t})}setTabindex(e,t){let n=this.containers.get(e);if(!n)return;if(n.tabindexSubscription&&n.tabindexSubscription.unsubscribe(),t==null){n.tabindex=void 0;return}n.tabindex=t;let r=I(t)?t():t;typeof r==`number`&&this.setIndex(e,r),I(t)&&(n.tabindexSubscription=t.observable.subscribe(t=>{t!==null&&t!==n.currentIndex()&&this.setIndex(e,t)}))}unregisterContainer(e){this.containers.delete(e),this.scrollAnimations.delete(e)}registerFocusable(e,t,n){let r=this.containers.get(e);if(!r){console.warn(`FocusContainer with id "${e}" not found`);return}r.focusables.set(n,t);let i=I(r.tabindex)?r.tabindex():r.tabindex;(r.pendingIndex===n||i===n&&r.currentIndex()===null)&&(r.pendingIndex=void 0,this.applyFocus(r,e,n,t))}unregisterFocusable(e,t){let n=this.containers.get(e);n&&n.focusables.delete(t)}navigate(e,t){let n=this.containers.get(e);if(!n||n.element&&ma(n.element))return;let r=n.currentIndex(),i=Array.from(n.focusables.keys()).sort((e,t)=>e-t);if(i.length===0)return;let a=null;if(r===null)a=t===`next`?i[0]:i[i.length-1];else{let e=i.indexOf(r);a=t===`next`?e<i.length-1?i[e+1]:i[0]:e>0?i[e-1]:i[i.length-1]}if(a!==null){let t=n.tabindex;I(t)&&typeof t.set==`function`?t.set(a):this.setIndex(e,a)}}setIndex(e,t){let n=this.containers.get(e);if(!n)return;let r=n.focusables.get(t);if(!r){n.pendingIndex=t;return}this.applyFocus(n,e,t,r)}applyFocus(e,t,n,r){e.currentIndex.set(n),e.focusedElement.set(r);let i=e.tabindex;I(i)&&i()!==n&&typeof i.set==`function`&&i.set(n),e.onFocusChange&&e.onFocusChange(n,r);let a=r.componentInstance;if(a&&a.element&&typeof a.element.focus==`function`){let e=a.element;e.focus(),typeof e.scrollIntoView==`function`&&e.scrollIntoView({block:`center`,behavior:`smooth`})}if(e.autoScroll){let r=e.viewport;if(r){let i=typeof e.autoScroll==`boolean`?{center:!0}:e.autoScroll;this.scrollToElement(t,n,r,i)}}}getElement(e,t){let n=this.containers.get(e);return n&&n.focusables.get(t)||null}getCurrentIndexSignal(e){let t=this.containers.get(e);return t?t.currentIndex:null}getFocusedElementSignal(e){let t=this.containers.get(e);return t?t.focusedElement:null}isElementVisible(e,t){if(!t)return!0;let n=this.getElementBounds(e),r=t.getVisibleBounds();return n.x<r.right&&n.x+n.width>r.left&&n.y<r.bottom&&n.y+n.height>r.top}getElementBounds(e){let t=e.componentInstance;if(!t)return{x:0,y:0,width:0,height:0};let n=t.getLocalBounds?.();if(!n)return{x:0,y:0,width:0,height:0};let r=t.getGlobalPosition?.();return r?{x:r.x,y:r.y,width:n.width,height:n.height}:{x:0,y:0,width:0,height:0}}scrollToElement(e,t,n,r={}){let i=this.containers.get(e);if(!i)return;let a=i.focusables.get(t);if(!a)return;let o=n||i.viewport;if(!o)return;let s=this.getElementBounds(a);o.getVisibleBounds();let c=r.padding||0,l=r.center!==!1,u=r.smooth||!1,d=r.duration||300;if(this.isElementVisible(a,o)){if(l){let t=s.x+s.width/2,n=s.y+s.height/2;u?this.animateScroll(e,o,t,n,d):o.moveCenter(t,n)}return}if(l){let t=s.x+s.width/2,n=s.y+s.height/2;u?this.animateScroll(e,o,t,n,d):o.moveCenter(t,n)}else{let t=s.x-c,n=s.y-c,r=s.width+c*2,i=s.height+c*2;if(u){let t=s.x+s.width/2,n=s.y+s.height/2;this.animateScroll(e,o,t,n,d)}else o.fit(t,n,r,i,c)}}animateScroll(e,t,n,r,i){let a=t.center,o=a.x,s=a.y,c={startTime:Date.now(),startX:o,startY:s,targetX:n,targetY:r,duration:i};this.scrollAnimations.set(e,c);let l=()=>{let n=this.scrollAnimations.get(e);if(!n)return;let r=Date.now()-n.startTime,i=Math.min(r/n.duration,1),a=1-(1-i)**3,o=n.startX+(n.targetX-n.startX)*a,s=n.startY+(n.targetY-n.startY)*a;t.moveCenter(o,s),i<1?requestAnimationFrame(l):this.scrollAnimations.delete(e)};requestAnimationFrame(l)}},Y=ac.getInstance();On(`focusNavigation`,class extends M{constructor(...e){super(...e),this.element=null,this.controlsDirective=null,this.controlsSubscription=null}onInit(e){this.element=e}onMount(e){if(this.controlsDirective=e.directives?.controls,!this.controlsDirective){let t=kn(e,`controls`);t&&(e.directives||={},e.directives.controls=t,this.controlsDirective=t)}let t=e.props.controls;if(t){let n=I(t)?t():t;n&&this.controlsDirective?.onUpdate({controls:n},e)}I(t)&&(this.controlsSubscription=t.observable.subscribe(t=>{t&&this.controlsDirective?.onUpdate({controls:t},e)}))}onUpdate(e,t){if(e.controls!==void 0){let n=I(e.controls)?e.controls():e.controls;n&&this.controlsDirective?.onUpdate({controls:n},t)}}onDestroy(e){this.controlsSubscription&&=(this.controlsSubscription.unsubscribe(),null),this.element=null,this.controlsDirective=null}}),z(`Navigation`,class{constructor(){this.containerId=``,this.currentIndexSignal=null,this.focusedElementSignal=null,this.registeredFocusables=new Set}onInit(e){this.containerId=`focus-container-${Date.now()}-${Math.random().toString(36).substr(2,9)}`;let t=F(null),n=F(null);this.currentIndexSignal=t,this.focusedElementSignal=n;let r=e.viewport||e.context?.viewport;Y.registerContainer(this.containerId,{focusables:new Map,currentIndex:t,focusedElement:n,onFocusChange:e.onFocusChange,autoScroll:e.autoScroll,viewport:r})}async onMount(e){if(Y.updateContainer(this.containerId,{element:e}),e.props.controls){let t=kn(e,`focusNavigation`);t&&!e.directives&&(e.directives={}),t&&(e.directives.focusNavigation=t,t.onInit(e),t.onMount(e))}if(e.allElements){let t=e.allElements.subscribe(()=>{this.registerChildren(e)});e.effectSubscriptions||=[],e.effectSubscriptions.push(t)}Y.setTabindex(this.containerId,e.propObservables?.tabindex),setTimeout(()=>{this.registerChildren(e)},0)}onUpdate(e){let t=e.viewport||e.context?.viewport;Y.updateContainer(this.containerId,{viewport:t,autoScroll:e.autoScroll,onFocusChange:e.onFocusChange})}async onDestroy(e,t){for(let e of this.registeredFocusables)Y.unregisterFocusable(this.containerId,e);this.registeredFocusables.clear(),Y.unregisterContainer(this.containerId),t&&t()}registerChildren(e){if(!e.props.children)return;let t=0,n=e=>{for(let t of e)if(t){if(I(t)||t&&typeof t.subscribe==`function`){(I(t)?t.observable:t).subscribe(e=>{if(e&&typeof e==`object`&&`elements`in e){let t=e.elements||[];Array.isArray(t)&&n(t)}else Array.isArray(e)?n(e):e&&r(e)});continue}if(Array.isArray(t)){n(t);continue}r(t)}},r=i=>{if(!i||!i.componentInstance||(i.tag===`Navigation`||i.tag===`FocusContainer`)&&i!==e)return;let a;if(i.props?.attrs?.tabindex!==void 0){let e=i.props.attrs.tabindex;a=I(e)?e():e}else if(i.props?.tabindex!==void 0){let e=i.props.tabindex;a=I(e)?e():e}if(a!==void 0&&a>=0&&(this.registeredFocusables.has(a)||(Y.registerFocusable(this.containerId,i,a),this.registeredFocusables.add(a),t++)),i.props&&i.props.children)if(Array.isArray(i.props.children))n(i.props.children);else if(I(i.props.children)||i.props.children&&typeof i.props.children.subscribe==`function`){let e=(I(i.props.children)?i.props.children.observable:i.props.children).subscribe(e=>{if(e&&typeof e==`object`&&`elements`in e){let t=e.elements||[];Array.isArray(t)&&n(t)}else Array.isArray(e)?n(e):e&&r(e)});i.effectSubscriptions&&i.effectSubscriptions.push(e)}else r(i.props.children)};if(Array.isArray(e.props.children))n(e.props.children);else if(e.props.children)if(I(e.props.children)||e.props.children&&typeof e.props.children.subscribe==`function`){let t=(I(e.props.children)?e.props.children.observable:e.props.children).subscribe(e=>{if(e&&typeof e==`object`&&`elements`in e){let t=e.elements||[];Array.isArray(t)&&n(t)}else Array.isArray(e)?n(e):e&&r(e)});e.effectSubscriptions||=[],e.effectSubscriptions.push(t)}else r(e.props.children)}getContainerId(){return this.containerId}getCurrentIndexSignal(){return this.currentIndexSignal}getFocusedElementSignal(){return this.focusedElementSignal}});var oc=e=>V(`Navigation`,e),sc=oc,cc,lc=c((()=>{cc=(()=>{var e={}.url;return(function(t){t||={};var n;n||=t===void 0?{}:t;var r,i;n.ready=new Promise(function(e,t){r=e,i=t});var a=Object.assign({},n),o=``;typeof document<`u`&&document.currentScript&&(o=document.currentScript.src),e&&(o=e),o=o.indexOf(`blob:`)===0?``:o.substr(0,o.replace(/[?#].*/,``).lastIndexOf(`/`)+1);var s=n.print||console.log.bind(console),c=n.printErr||console.warn.bind(console);Object.assign(n,a),a=null;var l;n.wasmBinary&&(l=n.wasmBinary),n.noExitRuntime,typeof WebAssembly!=`object`&&C(`no native wasm support detected`);var u,d=!1;function f(e,t,n){n=t+n;for(var r=``;!(t>=n);){var i=e[t++];if(!i)break;if(i&128){var a=e[t++]&63;if((i&224)==192)r+=String.fromCharCode((i&31)<<6|a);else{var o=e[t++]&63;i=(i&240)==224?(i&15)<<12|a<<6|o:(i&7)<<18|a<<12|o<<6|e[t++]&63,65536>i?r+=String.fromCharCode(i):(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|i&1023))}}else r+=String.fromCharCode(i)}return r}var p,m,h,g,_,v,y,b,x;function ee(){var e=u.buffer;p=e,n.HEAP8=m=new Int8Array(e),n.HEAP16=g=new Int16Array(e),n.HEAP32=v=new Int32Array(e),n.HEAPU8=h=new Uint8Array(e),n.HEAPU16=_=new Uint16Array(e),n.HEAPU32=y=new Uint32Array(e),n.HEAPF32=b=new Float32Array(e),n.HEAPF64=x=new Float64Array(e)}var S,te=[],ne=[],re=[];function ie(){var e=n.preRun.shift();te.unshift(e)}var ae=0,oe=null,se=null;function C(e){throw n.onAbort&&n.onAbort(e),e=`Aborted(`+e+`)`,c(e),d=!0,e=new WebAssembly.RuntimeError(e+`. Build with -sASSERTIONS for more info.`),i(e),e}function ce(e){return e.startsWith(`data:application/octet-stream;base64,`)}var le=`data:application/octet-stream;base64,AGFzbQEAAAABugM3YAF/AGACf38AYAF/AX9gA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWADf398AGAAAGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAV/f39/fwBgAn9/AX1gBX9/f319AX1gAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBn9/f319fQF9YAR/f31/AGADf399AX1gBn98f39/fwF/YAR/fHx/AGACf30AYAh/f39/f39/fwBgDX9/f39/f39/f39/f38AYAp/f39/f39/f39/AGAFf39/f38BfGAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gB39/f319f38AYAJ+fwF/YAN/fX0BfWABfAF8YAN/fHwAYAR/f319AGAHf39/fX19fQF9YA1/fX99f31/fX19fX1/AX9gC39/f39/f399fX19AX9gCH9/f39/f319AGAEf39+fgBgB39/f39/f38Bf2ACfH8BfGAFf398fH8AYAN/f38BfGAEf39/fABgA39/fQBgBn9/fX99fwF/ArUBHgFhAWEAHwFhAWIAAwFhAWMACQFhAWQAFgFhAWUAEQFhAWYAIAFhAWcAAAFhAWgAIQFhAWkAAwFhAWoAAAFhAWsAFwFhAWwACgFhAW0ABQFhAW4AAwFhAW8AAQFhAXAAFwFhAXEABgFhAXIAAAFhAXMAIgFhAXQACgFhAXUADQFhAXYAFgFhAXcAAgFhAXgAAwFhAXkAGAFhAXoAAgFhAUEAAQFhAUIAEQFhAUMAAQFhAUQAAAOiAqACAgMSBwcACRkDAAoRBgYKEwAPDxMBBiMTCgcHGgMUASQFJRQHAwMKCgMmAQYYDxobFAAKBw8KBwMDAgkCAAAFGwACBwIHBgIDAQMIDAABKAkHBQURACkZASoAAAIrLAIALQcHBy4HLwkFCgMCMA0xAgMJAgACAQYKAQIBBQEACQIFAQEABQAODQ0GFQIBHBUGAgkCEAAAAAUyDzMMBQYINAUCAwUODg41AgMCAgIDBgICNgIBDAwMAQsLCwsLCx0CAAIAAAABABABBQICAQMCEgMMCwEBAQEBAQsLAQICAwICAgICAgIDAgIICAEICAgEBAQEBAQEBAQABAQABAQEBAAE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GiABQQA2AvADIAFCADcC6AMgAigC7AMiAyACKALoAyIERwRAIAMgBGsiBEEASA0FIAEgBBAeIgM2AuwDIAEgAzYC6AMgASADIARqNgLwAyACKALoAyIEIAIoAuwDIghHBEADQCADIAQoAgA2AgAgA0EEaiEDIARBBGoiBCAIRw0ACwsgASADNgLsAwsgASACKQL0AzcC9AMgASACKAKEBDYChAQgASACKQL8AzcC/AMgAUEANgLkAwsgBSABNgIAIAEgADYC5AMLIAZBAWohBiAFQQRqIgUgB0cNAAsLDwsQAgALUAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUEwahBDDwsgACABIAFBMGogAxBEDwsgACABIAFBMGoQQg8LECQACyAAIAEgAUEwaiADEEULcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QdwlaigCACACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt5AgF/AX0jAEEQayIDJAAgA0EIaiAAIAFBAnRB7CVqKAIAIAIQU0MAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC1QAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBwgBqEEMPCyAAIAEgAUHCAGogAxBEDwsgACABIAFBwgBqEEIPCxAkAAsgACABIAFBwgBqIAMQRQsvACAAIAJFQQF0IgIgASADEGAgACACIAEQS5IgACACIAEgAxB/IAAgAiABEFKSkgvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akH2AGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyADQRBqJAALzgECA38CfSMAQRBrIgMk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AWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwscACAAIAFBCCACpyACQiCIpyADpyADQiCIpxAVCwUAEFgACzkAIABFBEBBAA8LAn8gAUGAf3FBgL8DRiABQf8ATXJFBEBB/DtBGTYCAEF/DAELIAAgAToAAEEBCwvEAgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACgsMCgsCAwQFDAsMDAoLBwgJCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCwALIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LAAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQegAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQOQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIANBEGokAAtdAQR/IAAoAgAhAgNAIAIsAAAiAxBXBEBBfyEEIAAgAkEBaiICNgIAIAFBzJmz5gBNBH9BfyADQTBrIgMgAUEKbCIEaiADIARB/////wdzShsFIAQLIQEMAQsLIAELrhQCEn8BfiMAQdAAayIIJAAgCCABNgJMIAhBN2ohFyAIQThqIRQCQAJAAkACQANAIAEhDSAHIA5B/////wdzSg0BIAcgDmohDgJAAkACQCANIgctAAAiCQRAA0ACQAJAIAlB/wFxIgFFBEAgByEBDAELIAFBJUcNASAH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IQEgAEIANwIEIAAgATYCACABIAA2AgQgAkEQaiQAIAALGwEBfyAABEAgACgCACIBBEAgARAjCyAAECMLC0kBAn9BBBAeIQFBIBAeIgBBADYCHCAAQoCAgICAgIDAPzcCFCAAQgA3AgwgAEEAOgAIIABBAzYCBCAAQQA2AgAgASAANgIAIAELIAAgAkEFR0EAIAIbRQRAQbgwIAMgBBBJDwsgAyAEEHALIgEBfiABIAKtIAOtQiCGhCAEIAARFQAiBUIgiKckASAFpwuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGECsaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEECsaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACCwQAQgALBABBAAuKBQIGfgJ/IAEgASgCAEEHakF4cSIBQRBqNgIAIAAhCSABKQMAIQMgASkDCCEGIwBBIGsiCCQAAkAgBkL///////////8AgyIEQoCAgICAgMCAPH0gBEKAgICAgIDA/8MAfVQEQCAGQgSGIANCPIiEIQQgA0L//////////w+DIgNCgYCAgICAgIAIWgRAIARCgYCAgICAgIDAAHwhAgwCCyAEQoCAgICAgICAQH0hAiADQoCAgICAgICACFINASACIARCAYN8IQIMAQsgA1AgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRG0UEQCAGQgSGIANCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiAEQv///////7//wwBWDQBCACECIARCMIinIgBBkfcASQ0AIAMhAiAGQv///////z+DQoCAgICAgMAAhCIFIQcCQCAAQYH3AGsiAUHAAHEEQCACIAFBQGqthiEHQgAhAgwBCyABRQ0AIAcgAa0iBIYgAkHAACABa62IhCEHIAIgBIYhAgsgCCACNwMQIAggBzcDGAJAQYH4ACAAayIAQcAAcQRAIAUgAEFAaq2IIQNCACEFDAELIABFDQAgBUHAACAAa62GIAMgAK0iAoiEIQMgBSACiCEFCyAIIAM3AwAgCCAF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ASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCAALCQAgASAAEQIACwUAQcM7Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAqCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRHgALBQBBvjsLIQAgACABKAIAIAEgASwAC0EASBtBuzsgAigCABAQNgIACyoBAX9BDBAeIgFBADoABCABIAAoAgA2AgggAEEANgIAIAFB2Cc2AgAgAQsFAEG7OwsFAEG4OwshACAAIAEoAgAgASABLAALQQBIG0GkOyACKAIAEBA2AgAL2AEBBH8jAEEgayIDJAAgASgCACIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIFEB4hBiADIAVBgICAgHhyNgIQIAMgBjYCCCADIAQ2AgwgBCAGaiEFDAELIAMgBDoAEyADQQhqIgYgBGohBSAERQ0BCyAGIAFBBGogBBArGgsgBUEAOgAAIAMgAjYCACADQRhqIANBCGogAyAAEQMAIAMoAhgQHSADKAIYIgAQBiADKAIAEAYgAywAE0EASARAIAMoAggQIwsgA0EgaiQAIAAPCxACAAsqAQF/QQwQHiIBQQA6AAQgASAAKAIANgIIIABBADYCACABQeAmNgIAIAELBQBBpDsLaQECfyMAQRBrIgYkACABIAAoAgQiB0EBdWohASAAKAIAIQAgBiABIAIgAyAEIAUgB0EBcQR/IAEoAgAgAGooAgAFIAALERAAQRAQHiIAIAYpAwg3AwggACAGKQMANwMAIAZBEGokACAACwUAQaA7Cx0AIAAoAgAiACAALQAAQfcBcUEIQQAgARtyOgAAC6oBAgJ/AX0jAEEQayICJAAgACgCACEAIAFB/wFxIgNBBkkEQAJ/AkACQAJAIANBBGsOAgABAgsgAEHUA2ogAC0AiANBA3FBAkYNAhogAEHMA2oMAgsgAEHMA2ogAC0AiANBA3FBAkYNARogAEHUA2oMAQsgACABQf8BcUECdGpBzANqCyoCACEEIAJBEGokACAEuw8LIAJB7hA2AgAgAEEFQdglIAIQLBAkAAuqAQICfwF9IwBBEGsiAiQAIAAoAgAhACABQf8BcSIDQQZJBEACfwJAAkACQCADQQRrDgIAAQILIABBxANqIAAtAIgDQQNxQQJGDQIaIABBvANqDAILIABBvANqIAAtAIgDQQNxQQJGDQEaIABBxANqDAELIAAgAUH/AXFBAnRqQbwDagsqAgAhBCACQRBqJAAgBLsPCyACQe4QNgIAIABBBUHYJSACECwQJAALqgECAn8BfSMAQRBrIgIkACAAKAIAIQAgAUH/AXEiA0EGSQRAAn8CQAJAAkAgA0EEaw4CAAECCyAAQbQDaiAALQCIA0EDcUECRg0CGiAAQawDagwCCyAAQawDaiAALQCIA0EDcUECRg0BGiAAQbQDagwBCyAAIAFB/wFxQQJ0akGsA2oLKgIAIQQgAkEQaiQAIAS7DwsgAkHuEDYCACAAQQVB2CUgAhAsECQAC08AIAAgASgCACIBKgKcA7s5AwAgACABKgKkA7s5AwggACABKgKgA7s5AxAgACABKgKoA7s5AxggACABKgKMA7s5AyAgACABKgKQA7s5AygLDAAgACgCACoCkAO7CwwAIAAoAgAqAowDuwsMACAAKAIAKgKoA7sLDAAgACgCACoCoAO7CwwAIAAoAgAqAqQDuwsMACAAKAIAKgKcA7sL6AMCBH0FfyMAQUBqIgokACAAKAIAIQAgCkEIakEAQTgQKhpB8DpB8DooAgBBAWo2AgAgABB4IAAtABRBA3EiCCADQQEgA0H/AXEbIAgbIQkgAEEUaiEIIAG2IQQgACoC+AMhBQJ9AkACQAJAIAAtAPwDQQFrDgIBAAILIAUgBJRDCtcjPJQhBQsgBUMAAAAAYEUNACAAIAlB/wFxQQAgBCAEEDEgCEECQQEgBBAiIAhBAkEBIAQQIZKSDAELIAggCUH/AXFBACAEIAQQLSIFIAVbBEBBAiELIAggCUH/AXFBACAEIAQQLQwBCyAEIARcIQsgBAshByACtiEFIAAqAoAEIQYgACAHAn0CQAJAAkAgAC0AhARBAWsOAgEAAgsgBiAFlEMK1yM8lCEGCyAGQwAAAABgRQ0AIAAgCUH/AXFBASAFIAQQMSAIQQBBASAEECIgCEEAQQEgBBAhkpIMAQsgCCAJQf8BcSIJQQEgBSAEEC0iBiAGWwRAQQIhDCAIIAlBASAFIAQQLQwBCyAFIAVcIQwgBQsgA0H/AXEgCyAMIAQgBUEBQQAgCkEIakEAQfA6KAIAED0EQCAAIAAtAIgDQQNxIAQgBRB2IABEAAAAAAAAAABEAAAAAAAAAAAQcwsgCkFAayQACw0AIAAoAgAtAABBAXELFQAgACgCACIAIAAtAABB/gFxOgAACxAAIAAoAgAtAABBBHFBAnYLegECfyMAQRBrIgEkACAAKAIAIgAoAggEQANAIAAtAAAiAkEEcUUEQCAAIAJBBHI6AAAgACgCECICBEAgACACEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQELCyABQRBqJAAPCyABQYAINgIAIABBBUHYJSABECwQJAALLgEBfyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALIAAoAgBBADYCEAsXACAAKAIEKAIIIgAgACgCACgCCBEAAAsuAQF/IAAoAgghAiAAIAE2AgggAgRAIAIgAigCACgCBBEAAAsgACgCAEEFNgIQCz4BAX8gACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAAKAIAIgBBADYCCCAAIAAtAABB7wFxOgAAC0kBAX8jAEEQayIGJAAgBiABKAIEKAIEIgEgAiADIAQgBSABKAIAKAIIERAAIAAgBisDALY4AgAgACAGKwMItjgCBCAGQRBqJAALcwECfyMAQRBrIgIkACAAKAIEIQMgACABNgIEIAMEQCADIAMoAgAoAgQRAAALIAAoAgAiACgC6AMgACgC7ANHBEAgAkH5IzYCACAAQQVB2CUgAhAsECQACyAAQQQ2AgggACAALQAAQRByOgAAIAJBEGokAAs8AQF/AkAgACgCACIAKALsAyAAKALoAyIAa0ECdSABTQ0AIAAgAUECdGooAgAiAEUNACAAKAIEIQILIAILGQAgACgCACgC5AMiAEUEQEEADwsgACgCBAsXACAAKAIAIgAoAuwDIAAoAugDa0ECdQuOAwEDfyMAQdACayICJAACQCAAKAIAIgAoAuwDIAAoAugDRg0AIAEoAgAiAygC5AMhASAAIAMQb0UNACAAIAFGBEAgAkEIakEAQcQCECoaIAJBADoAGCACQgA3AxAgAkGAgID+BzYCDCACQRxqQQBBxAEQKhogAkHgAWohBCACQSBqIQEDQCABQoCAgPyLgIDAv383AhAgAUKBgICAEDcCCCABQoCAgPyLgIDAv383AgAgAUEYaiIBIARHDQALIAJCgICA/IuAgMC/fzcD8AEgAkKBgICAEDcD6AEgAkKAgID8i4CAwL9/NwPgASACQoCAgP6HgIDg/wA3AoQCIAJCgICA/oeAgOD/ADcC/AEgAiACLQD4AUH4AXE6APgBIAJBjAJqQQBBwAAQKhogA0GYAWogAkEIakHEAhArGiADQQA2AuQDCwNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIAJB0AJqJAAL4AcBCH8jAEHQAGsiByQAIAAoAgAhAAJAAkAgASgCACIIKALkA0UEQCAAKAIIDQEgCC0AF0EQdEGAgDBxQYCAIEYEQCAAIAAoAuADQQFqNgLgAwsgACgC6AMiASACQQJ0aiEGAkAgACgC7AMiBCAAQfADaiIDKAIAIgVJBEAgBCAGRgRAIAYgCDYCACAAIAZBBGo2AuwDDAILIAQgBCICQQRrIgFLBEADQCACIAEoAgA2AgAgAkEEaiECIAFBBGoiASAESQ0ACwsgACACNgLsAyAGQQRqIgEgBEcEQCAEIAQgAWsiAUF8cWsgBiABEDMaCyAGIAg2AgAMAQsgBCABa0ECdUEBaiIEQYCAgIAETw0DAkAgB0EgakH/////AyAFIAFrIgFBAXUiBSAEIAQgBUkbIAFB/P///wdPGyACIAMQSiIDKAIIIgIgAygCDEcNACADKAIEIgEgAygCACIESwRAIAMgASABIARrQQJ1QQFqQX5tQQJ0IgRqIAEgAiABayIBEDMgAWoiAjYCCCADIAMoAgQgBGo2AgQMAQsgB0E4akEBIAIgBGtBAXUgAiAERhsiASABQQJ2IAMoAhAQSiIFKAIIIQQCfyADKAIIIgIgAygCBCIBRgRAIAQhAiABDAELIAQgAiABa2ohAgNAIAQgASgCADYCACABQQRqIQEgBEEEaiIEIAJHDQALIAMoAgghASADKAIECyEEIAMoAgAhCSADIAUoAgA2AgAgBSAJNgIAIAMgBSgCBDYCBCAFIAQ2AgQgAyACNgIIIAUgATYCCCADKAIMIQogAyAFKAIMNgIMIAUgCjYCDCABIARHBEAgBSABIAQgAWtBA2pBfHFqNgIICyAJRQ0AIAkQIyADKAIIIQILIAIgCDYCACADIAMoAghBBGo2AgggAyADKAIEIAYgACgC6AMiAWsiAmsgASACEDM2AgQgAygCCCAGIAAoAuwDIAZrIgQQMyEGIAAoAugDIQEgACADKAIENgLoAyADIAE2AgQgACgC7AMhAiAAIAQgBmo2AuwDIAMgAjYCCCAAKALwAyEEIAAgAygCDDYC8AMgAyABNgIAIAMgBDYCDCABIAJHBEAgAyACIAEgAmtBA2pBfHFqNgIICyABRQ0AIAEQIwsgCCAANgLkAwNAIAAtAAAiAUEEcUUEQCAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQELCyAHQdAAaiQADwsgB0HEIzYCECAAQQVB2CUgB0EQahAsECQACyAHQckkNgIAIABBBUHYJSAHECwQJAALEAIACxAAIAAoAgAtAABBAnFBAXYLWQIBfwF9IwBBEGsiAiQAIAJBCGogACgCACIAQfwAaiAAIAFB/wFxQQF0ai8BaBAfQwAAwH8hAwJAAkAgAi0ADA4EAQAAAQALIAIqAgghAwsgAkEQaiQAIAMLTgEBfyMAQRBrIgMkACADQQhqIAEoAgAiAUH8AGogASACQf8BcUEBdGovAUQQHyADLQAMIQEgACADKgIIuzkDCCAAIAE2AgAgA0EQaiQAC14CAX8BfCMAQRBrIgIkACACQQhqIAAoAgAiAEH8AGogACABQf8BcUEBdGovAVYQH0QAAAAAAAD4fyEDAkACQCACLQAMDgQBAAABAAsgAioCCLshAwsgAkEQaiQAIAMLJAEBfUMAAMB/IAAoAgAiAEH8AGogAC8BehAgIgEgASABXBu7C0QBAX8jAEEQayICJAAgAkEIaiABKAIAIgFB/ABqIAEvAXgQHyACLQAMIQEgACACKgIIuzkDCCAAIAE2AgAgAkEQaiQAC0QBAX8jAEEQayICJAAgAkEIaiABKAIAIgFB/ABqIAEvAXYQHyACLQAMIQEgACACKgIIuzkDCCAAIAE2AgAgAkEQaiQAC0QBAX8jAEEQayICJAAgAkEIaiABKAIAIgFB/ABqIAEvAXQQHyACLQAMIQEgACACKgIIuzkDCCAAIAE2AgAgAkEQaiQAC0QBAX8jAEEQayICJAAgAkEIaiABKAIAIgFB/ABqIAEvAXIQHyACLQAMIQEgACACKgIIuzkDCCAAIAE2AgAgAkEQaiQAC0QBAX8jAEEQayICJAAgAkEIaiABKAIAIgFB/ABqIAEvAXAQHyACLQAMIQEgACACKgIIuzkDCCAAIAE2AgAgAkEQaiQAC0QBAX8jAEEQayICJAAgAkEIaiABKAIAIgFB/ABqIAEvAW4QHyACLQAMIQEgACACKgIIuzkDCCAAIAE2AgAgAkEQaiQAC0gCAX8BfQJ9IAAoAgAiAEH8AGoiASAALwEcECAiAiACXARAQwAAgD9DAAAAACAAKAL0Ay0ACEEBcRsMAQsgASAALwEcECALuws2AgF/AX0gACgCACIAQfwAaiIBIAAvARoQICICIAJcBEBEAAAAAAAAAAAPCyABIAAvARoQILsLRAEBfyMAQRBrIgIkACACQQhqIAEoAgAiAUH8AGogAS8BHhAfIAItAAwhASAAIAIqAgi7OQMIIAAgATYCACACQRBqJAALEAAgACgCAC0AF0ECdkEDcQsNACAAKAIALQAXQQNxC04BAX8jAEEQayIDJAAgA0EIaiABKAIAIgFB/ABqIAEgAkH/AXFBAXRqLwEgEB8gAy0ADCEBIAAgAyoCCLs5AwggACABNgIAIANBEGokAAsQACAAKAIALQAUQQR2QQdxCw0AIAAoAgAvABVBDnYLDQAgACgCAC0AFEEDcQsQACAAKAIALQAUQQJ2QQNxCw0AIAAoAgAvABZBD3ELEAAgACgCAC8AFUEEdkEPcQsNACAAKAIALwAVQQ9xC04BAX8jAEEQayIDJAAgA0EIaiABKAIAIgFB/ABqIAEgAkH/AXFBAXRqLwEyEB8gAy0ADCEBIAAgAyoCCLs5AwggACABNgIAIANBEGokAAsQACAAKAIALwAVQQx2QQNxCxAAIAAoAgAtABdBBHZBAXELgQECA38BfSMAQRBrIgMkACAAKAIAIQQCfSACtiIGIAZcBEBBACEAQwAAwH8MAQtBAEECIAZDAACAf1sgBkMAAID/W3IiBRshAEMAAMB/IAYgBRsLIQYgAyAAOgAMIAMgBjgCCCADIAMpAwg3AwAgBCABQf8BcSADEIgBIANBEGokAAt5AgF9An8jAEEQayIEJAAgACgCACEFIAQCfyACtiIDIANcBEBDAADAfyEDQQAMAQtDAADAfyADIANDAACAf1sgA0MAAID/W3IiABshAyAARQs6AAwgBCADOAIIIAQgBCkDCDcDACAFIAFB/wFxIAQQiAEgBEEQaiQAC3EBAX8CQCAAKAIAIgAtAAAiAkECcUEBdiABRg0AIAAgAkH9AXFBAkEAIAEbcjoAAANAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLC4EBAgN/AX0jAEEQayIDJAAgACgCACEEAn0gArYiBiAGXARAQQAhAEMAAMB/DAELQQBBAiAGQwAAgH9bIAZDAACA/1tyIgUbIQBDAADAfyAGIAUbCyEGIAMgADoADCADIAY4AgggAyADKQMINwMAIAQgAUH/AXEgAxCOASADQRBqJAALeQIBfQJ/IwBBEGsiBCQAIAAoAgAhBSAEAn8gArYiAyADXARAQwAAwH8hA0EADAELQwAAwH8gAyADQwAAgH9bIANDAACA/1tyIgAbIQMgAEULOgAMIAQgAzgCCCAEIAQpAwg3AwAgBSABQf8BcSAEEI4BIARBEGokAAv5AQICfQR/IwBBEGsiBSQAIAAoAgAhAAJ/IAK2IgMgA1wEQEMAAMB/IQNBAAwBC0MAAMB/IAMgA0MAAIB/WyADQwAAgP9bciIGGyEDIAZFCyEGQQEhByAFQQhqIABB/ABqIgggACABQf8BcUEBdGpB1gBqIgEvAQAQHwJAAkAgAyAFKgIIIgRcBH8gBCAEWw0BIAMgA1wFIAcLRQ0AIAUtAAwgBkYNAQsgCCABIAMgBhA5A0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC5AMiAA0ACwsgBUEQaiQAC7UBAgN/An0CQCAAKAIAIgBB/ABqIgMgAEH6AGoiAi8BABAgIgYgAbYiBVsNACAFIAVbIgRFIAYgBlxxDQACQCAEIAVDAAAAAFsgBYtDAACAf1tyRXFFBEAgAiACLwEAQfj/A3E7AQAMAQsgAyACIAVBAxBMCwNAIAAtAAAiAkEEcQ0BIAAgAkEEcjoAACAAKAIQIgIEQCAAIAIRAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLC3wCA38BfSMAQRBrIgIkACAAKAIAIQMCfSABtiIFIAVcBEBBACEAQwAAwH8MAQtBAEECIAVDAACAf1sgBUMAAID/W3IiBBshAEMAAMB/IAUgBBsLIQUgAiAAOgAMIAIgBTgCCCACIAIpAwg3AwAgA0EBIAIQVSACQRBqJAALdAIBfQJ/IwBBEGsiAyQAIAAoAgAhBCADAn8gAbYiAiACXARAQwAAwH8hAkEADAELQwAAwH8gAiACQwAAgH9bIAJDAACA/1tyIgAbIQIgAEULOgAMIAMgAjgCCCADIAMpAwg3AwAgBEEBIAMQVSADQRBqJAALfAIDfwF9IwBBEGsiAiQAIAAoAgAhAwJ9IAG2IgUgBVwEQEEAIQBDAADAfwwBC0EAQQIgBUMAAIB/WyAFQwAAgP9bciIEGyEAQwAAwH8gBSAEGwshBSACIAA6AAwgAiAFOAIIIAIgAikDCDcDACADQQAgAhBVIAJBEGokAAt0AgF9An8jAEEQayIDJAAgACgCACEEIAMCfyABtiICIAJcBEBDAADAfyECQQAMAQtDAADAfyACIAJDAACAf1sgAkMAAID/W3IiABshAiAARQs6AAwgAyACOAIIIAMgAykDCDcDACAEQQAgAxBVIANBEGokAAt8AgN/AX0jAEEQayICJAAgACgCACEDAn0gAbYiBSAFXARAQQAhAEMAAMB/DAELQQBBAiAFQwAAgH9bIAVDAACA/1tyIgQbIQBDAADAfyAFIAQbCyEFIAIgADoADCACIAU4AgggAiACKQMINwMAIANBASACEFYgAkEQaiQAC3QCAX0CfyMAQRBrIgMkACAAKAIAIQQgAwJ/IAG2IgIgAlwEQEMAAMB/IQJBAAwBC0MAAMB/IAIgAkMAAIB/WyACQwAAgP9bciIAGyECIABFCzoADCADIAI4AgggAyADKQMINwMAIARBASADEFYgA0EQaiQAC3wCA38BfSMAQRBrIgIkACAAKAIAIQMCfSABtiIFIAVcBEBBACEAQwAAwH8MAQtBAEECIAVDAACAf1sgBUMAAID/W3IiBBshAEMAAMB/IAUgBBsLIQUgAiAAOgAMIAIgBTgCCCACIAIpAwg3AwAgA0EAIAIQViACQRBqJAALdAIBfQJ/IwBBEGsiAyQAIAAoAgAhBCADAn8gAbYiAiACXARAQwAAwH8hAkEADAELQwAAwH8gAiACQwAAgH9bIAJDAACA/1tyIgAbIQIgAEULOgAMIAMgAjgCCCADIAMpAwg3AwAgBEEAIAMQViADQRBqJAALPwEBfyMAQRBrIgEkACAAKAIAIQAgAUEDOgAMIAFBgICA/gc2AgggASABKQMINwMAIABBASABEEYgAUEQaiQAC3wCA38BfSMAQRBrIgIkACAAKAIAIQMCfSABtiIFIAVcBEBBACEAQwAAwH8MAQtBAEECIAVDAACAf1sgBUMAAID/W3IiBBshAEMAAMB/IAUgBBsLIQUgAiAAOgAMIAIgBTgCCCACIAIpAwg3AwAgA0EBIAIQRiACQRBqJAALdAIBfQJ/IwBBEGsiAyQAIAAoAgAhBCADAn8gAbYiAiACXARAQwAAwH8hAkEADAELQwAAwH8gAiACQwAAgH9bIAJDAACA/1tyIgAbIQIgAEULOgAMIAMgAjgCCCADIAMpAwg3AwAgBEEBIAMQRiADQRBqJAALPwEBfyMAQRBrIgEkACAAKAIAIQAgAUEDOgAMIAFBgICA/gc2AgggASABKQMINwMAIABBACABEEYgAUEQaiQAC3wCA38BfSMAQRBrIgIkACAAKAIAIQMCfSABtiIFIAVcBEBBACEAQwAAwH8MAQtBAEECIAVDAACAf1sgBUMAAID/W3IiBBshAEMAAMB/IAUgBBsLIQUgAiAAOgAMIAIgBTgCCCACIAIpAwg3AwAgA0EAIAIQRiACQRBqJAALdAIBfQJ/IwBBEGsiAyQAIAAoAgAhBCADAn8gAbYiAiACXARAQwAAwH8hAkEADAELQwAAwH8gAiACQwAAgH9bIAJDAACA/1tyIgAbIQIgAEULOgAMIAMgAjgCCCADIAMpAwg3AwAgBEEAIAMQRiADQRBqJAALoAECA38CfQJAIAAoAgAiAEH8AGoiAyAAQRxqIgIvAQAQICIGIAG2IgVbDQAgBSAFWyIERSAGIAZccQ0AAkAgBEUEQCACIAIvAQBB+P8DcTsBAAwBCyADIAIgBUEDEEwLA0AgAC0AACICQQRxDQEgACACQQRyOgAAIAAoAhAiAgRAIAAgAhEAAAsgAEGAgID+BzYCnAEgACgC5AMiAA0ACwsLoAECA38CfQJAIAAoAgAiAEH8AGoiAyAAQRpqIgIvAQAQICIGIAG2IgVbDQAgBSAFWyIERSAGIAZccQ0AAkAgBEUEQCACIAIvAQBB+P8DcTsBAAwBCyADIAIgBUEDEEwLA0AgAC0AACICQQRxDQEgACACQQRyOgAAIAAoAhAiAgRAIAAgAhEAAAsgAEGAgID+BzYCnAEgACgC5AMiAA0ACwsLPQEBfyMAQRBrIgEkACAAKAIAIQAgAUEDOgAMIAFBgICA/gc2AgggASABKQMINwMAIAAgARBrIAFBEGokAAt6AgN/AX0jAEEQayICJAAgACgCACEDAn0gAbYiBSAFXARAQQAhAEMAAMB/DAELQQBBAiAFQwAAgH9bIAVDAACA/1tyIgQbIQBDAADAfyAFIAQbCyEFIAIgADoADCACIAU4AgggAiACKQMINwMAIAMgAhBrIAJBEGokAAtyAgF9An8jAEEQayIDJAAgACgCACEEIAMCfyABtiICIAJcBEBDAADAfyECQQAMAQtDAADAfyACIAJDAACAf1sgAkMAAID/W3IiABshAiAARQs6AAwgAyACOAIIIAMgAykDCDcDACAEIAMQayADQRBqJAALoAECA38CfQJAIAAoAgAiAEH8AGoiAyAAQRhqIgIvAQAQICIGIAG2IgVbDQAgBSAFWyIERSAGIAZccQ0AAkAgBEUEQCACIAIvAQBB+P8DcTsBAAwBCyADIAIgBUEDEEwLA0AgAC0AACICQQRxDQEgACACQQRyOgAAIAAoAhAiAgRAIAAgAhEAAAsgAEGAgID+BzYCnAEgACgC5AMiAA0ACwsLkAEBAX8CQCAAKAIAIgBBF2otAAAiAkECdkEDcSABQf8BcUYNACAAIAAvABUgAkEQdHIiAjsAFSAAIAJB///PB3EgAUEDcUESdHJBEHY6ABcDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCwuNAQEBfwJAIAAoAgAiAEEXai0AACICQQNxIAFB/wFxRg0AIAAgAC8AFSACQRB0ciICOwAVIAAgAkH///MHcSABQQNxQRB0ckEQdjoAFwNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLC0MBAX8jAEEQayICJAAgACgCACEAIAJBAzoADCACQYCAgP4HNgIIIAIgAikDCDcDACAAIAFB/wFxIAIQZSACQRBqJAALgAECA38BfSMAQRBrIgMkACAAKAIAIQQCfSACtiIGIAZcBEBBACEAQwAAwH8MAQtBAEECIAZDAACAf1sgBkMAAID/W3IiBRshAEMAAMB/IAYgBRsLIQYgAyAAOgAMIAMgBjgCCCADIAMpAwg3AwAgBCABQf8BcSADEGUgA0EQaiQAC3gCAX0CfyMAQRBrIgQkACAAKAIAIQUgBAJ/IAK2IgMgA1wEQEMAAMB/IQNBAAwBC0MAAMB/IAMgA0MAAIB/WyADQwAAgP9bciIAGyEDIABFCzoADCAEIAM4AgggBCAEKQMINwMAIAUgAUH/AXEgBBBlIARBEGokAAt3AQF/AkAgACgCACIALQAUIgJBBHZBB3EgAUH/AXFGDQAgACACQY8BcSABQQR0QfAAcXI6ABQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCwuJAQEBfwJAIAFB/wFxIAAoAgAiAC8AFSICQQ52Rg0AIABBF2ogAiAALQAXQRB0ciICQRB2OgAAIAAgAkH//wBxIAFBDnRyOwAVA0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC5AMiAA0ACwsLcAEBfwJAIAAoAgAiAC0AFCICQQNxIAFB/wFxRg0AIAAgAkH8AXEgAUEDcXI6ABQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCwt2AQF/AkAgACgCACIALQAUIgJBAnZBA3EgAUH/AXFGDQAgACACQfMBcSABQQJ0QQxxcjoAFANAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLC48BAQF/AkAgACgCACIALwAVIgJBCHZBD3EgAUH/AXFGDQAgAEEXaiACIAAtABdBEHRyIgJBEHY6AAAgACACQf/hA3EgAUEPcUEIdHI7ABUDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCwuPAQEBfwJAIAFB/wFxIAAoAgAiAC8AFSAAQRdqLQAAQRB0ciICQfABcUEEdkYNACAAIAJBEHY6ABcgACACQY/+A3EgAUEEdEHwAXFyOwAVA0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC5AMiAA0ACwsLhwEBAX8CQCAAKAIAIgAvABUgAEEXai0AAEEQdHIiAkEPcSABQf8BcUYNACAAIAJBEHY6ABcgACACQfD/A3EgAUEPcXI7ABUDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCwtDAQF/IwBBEGsiAiQAIAAoAgAhACACQQM6AAwgAkGAgID+BzYCCCACIAIpAwg3AwAgACABQf8BcSACEGcgAkEQaiQAC4ABAgN/AX0jAEEQayIDJAAgACgCACEEAn0gArYiBiAGXARAQQAhAEMAAMB/DAELQQBBAiAGQwAAgH9bIAZDAACA/1tyIgUbIQBDAADAfyAGIAUbCyEGIAMgADoADCADIAY4AgggAyADKQMINwMAIAQgAUH/AXEgAxBnIANBEGokAAt4AgF9An8jAEEQayIEJAAgACgCACEFIAQCfyACtiIDIANcBEBDAADAfyEDQQAMAQtDAADAfyADIANDAACAf1sgA0MAAID/W3IiABshAyAARQs6AAwgBCADOAIIIAQgBCkDCDcDACAFIAFB/wFxIAQQZyAEQRBqJAALjwEBAX8CQCAAKAIAIgAvABUiAkEMdkEDcSABQf8BcUYNACAAQRdqIAIgAC0AF0EQdHIiAkEQdjoAACAAIAJB/58DcSABQQNxQQx0cjsAFQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLC5ABAQF/AkAgACgCACIAQRdqLQAAIgJBBHZBAXEgAUH/AXFGDQAgACAALwAVIAJBEHRyIgI7ABUgACACQf//vwdxIAFBAXFBFHRyQRB2OgAXA0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC5AMiAA0ACwsL9g0CCH8CfSMAQRBrIgIkAAJAAkAgASgCACIFLQAUIAAoAgAiAS0AFHNB/wBxDQAgBS8AFSAFLQAXQRB0ciABLwAVIAEtABdBEHRyc0H//z9xDQAgBUH8AGohByABQfwAaiEIAkAgAS8AGCIAQQdxRQRAIAUtABhBB3FFDQELIAggABAgIgogByAFLwAYECAiC1sNACAKIApbIAsgC1tyDQELAkAgAS8AGiIAQQdxRQRAIAUtABpBB3FFDQELIAggABAgIgogByAFLwAaECAiC1sNACAKIApbIAsgC1tyDQELAkAgAS8AHCIAQQdxRQRAIAUtABxBB3FFDQELIAggABAgIgogByAFLwAcECAiC1sNACAKIApbIAsgC1tyDQELAkAgAS8AHiIAQQdxRQRAIAUtAB5BB3FFDQELIAJBCGogCCAAEB8gAiAHIAUvAB4QH0EBIQAgAioCCCIKIAIqAgAiC1wEfyAKIApbDQIgCyALXAUgAAtFDQEgAi0ADCACLQAERw0BCyAFQSBqIQAgAUEgaiEGA0ACQCAGIANBAXRqLwAAIgRBB3FFBEAgAC0AAEEHcUUNAQsgAkEIaiAIIAQQHyACIAcgAC8AABAfQQEhBCACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSAEC0UNAiACLQAMIAItAARHDQILIABBAmohACADQQFqIgNBCUcNAAsgBUEyaiEAIAFBMmohBkEAIQMDQAJAIAYgA0EBdGovAAAiBEEHcUUEQCAALQAAQQdxRQ0BCyACQQhqIAggBBAfIAIgByAALwAAEB9BASEEIAIqAggiCiACKgIAIgtcBH8gCiAKWw0DIAsgC1wFIAQLRQ0CIAItAAwgAi0ABEcNAgsgAEECaiEAIANBAWoiA0EJRw0ACyAFQcQAaiEAIAFBxABqIQZBACEDA0ACQCAGIANBAXRqLwAAIgRBB3FFBEAgAC0AAEEHcUUNAQsgAkEIaiAIIAQQHyACIAcgAC8AABAfQQEhBCACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSAEC0UNAiACLQAMIAItAARHDQILIABBAmohACADQQFqIgNBCUcNAAsgBUHWAGohACABQdYAaiEGQQAhAwNAAkAgBiADQQF0ai8AACIEQQdxRQRAIAAtAABBB3FFDQELIAJBCGogCCAEEB8gAiAHIAAvAAAQH0EBIQQgAioCCCIKIAIqAgAiC1wEfyAKIApbDQMgCyALXAUgBAtFDQIgAi0ADCACLQAERw0CCyAAQQJqIQAgA0EBaiIDQQlHDQALIAVB6ABqIQAgAUHoAGohBkEAIQMDQAJAIAYgA0EBdGovAAAiBEEHcUUEQCAALQAAQQdxRQ0BCyACQQhqIAggBBAfIAIgByAALwAAEB9BASEEIAIqAggiCiACKgIAIgtcBH8gCiAKWw0DIAsgC1wFIAQLRQ0CIAItAAwgAi0ABEcNAgsgAEECaiEAIANBAWoiA0EDRw0ACyAFQe4AaiEAIAFB7gBqIQlBACEEQQAhAwNAAkAgCSADQQF0ai8AACIGQQdxRQRAIAAtAABBB3FFDQELIAJBCGogCCAGEB8gAiAHIAAvAAAQH0EBIQMgAioCCCIKIAIqAgAiC1wEfyAKIApbDQMgCyALXAUgAwtFDQIgAi0ADCACLQAERw0CCyAAQQJqIQBBASEDIAQhBkEBIQQgBkUNAAsgBUHyAGohACABQfIAaiEJQQAhBEEAIQMDQAJAIAkgA0EBdGovAAAiBkEHcUUEQCAALQAAQQdxRQ0BCyACQQhqIAggBhAfIAIgByAALwAAEB9BASEDIAIqAggiCiACKgIAIgtcBH8gCiAKWw0DIAsgC1wFIAMLRQ0CIAItAAwgAi0ABEcNAgsgAEECaiEAQQEhAyAEIQZBASEEIAZFDQALIAVB9gBqIQAgAUH2AGohCUEAIQRBACEDA0ACQCAJIANBAXRqLwAAIgZBB3FFBEAgAC0AAEEHcUUNAQsgAkEIaiAIIAYQHyACIAcgAC8AABAfQQEhAyACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSADC0UNAiACLQAMIAItAARHDQILIABBAmohAEEBIQMgBCEGQQEhBCAGRQ0ACyABLwB6IgBBB3FFBEAgBS0AekEHcUUNAgsgCCAAECAiCiAHIAUvAHoQICILWw0BIAogClsNACALIAtcDQELIAFBFGogBUEUakHoABArGiABQfwAaiAFQfwAahCgAQNAIAEtAAAiAEEEcQ0BIAEgAEEEcjoAACABKAIQIgAEQCABIAARAAALIAFBgICA/gc2ApwBIAEoAuQDIgENAAsLIAJBEGokAAvGAwEEfyMAQaAEayICJAAgACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALAkAgACgCACIAKALoAyAAKALsA0YEQCAAKALkAw0BIAAgAkEYaiAAKAL0AxBcIgEpAgA3AgAgACABKAIQNgIQIAAgASkCCDcCCCAAQRRqIAFBFGpB6AAQKxogACABKQKMATcCjAEgACABKQKEATcChAEgACABKQJ8NwJ8IAEoApQBIQQgAUEANgKUASAAKAKUASEDIAAgBDYClAEgAwRAIAMQWwsgAEGYAWogAUGYAWpB0AIQKxogACgC6AMiAwRAIAAgAzYC7AMgAxAjCyAAIAEoAugDNgLoAyAAIAEoAuwDNgLsAyAAIAEoAvADNgLwAyABQQA2AvADIAFCADcC6AMgACABKQL8AzcC/AMgACABKQL0AzcC9AMgACABKAKEBDYChAQgASgClAEhACABQQA2ApQBIAAEQCAAEFsLIAJBoARqJAAPCyACQfAcNgIQIABBBUHYJSACQRBqECwQJAALIAJB5hE2AgAgAEEFQdglIAIQLBAkAAsLAEEMEB4gABCiAQsLAEEMEB5BABCiAQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhQLGQAgAUH/AXEEQBACAAsgACgCACgCEEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLJgAgASAAKAIAIgAoAhRHBEAgACABNgIUIAAgACgCDEEBajYCDAsLkgEBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGAEQCABIAAqAhhcBEAgACABOAIYIAAgACgCDEEBajYCDAsgAkEQaiQADwsgAkGIFDYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQbgwQdglIAIQSRoMAQsgAEEAQQVB2CUgAiAAKAIEEQ0AGgsgA0EQaiQAECQACz8AIAFB/wFxRQRAIAIgACgCACIAKAIQIgFBAXFHBEAgACABQX5xIAJyNgIQIAAgACgCDEEBajYCDAsPCxACAAsL4CYjAEGACAuBHk9ubHkgbGVhZiBub2RlcyB3aXRoIGN1c3RvbSBtZWFzdXJlIGZ1bmN0aW9ucyBzaG91bGQgbWFudWFsbHkgbWFyayB0aGVtc2VsdmVzIGFzIGRpcnR5AGlzRGlydHkAbWFya0RpcnR5AGRlc3Ryb3kAc2V0RGlzcGxheQBnZXREaXNwbGF5AHNldEZsZXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABzZXRGbGV4R3JvdwBnZXRGbGV4R3JvdwBzZXRPdmVyZmxvdwBnZXRPdmVyZmxvdwBoYXNOZXdMYXlvdXQAY2FsY3VsYXRlTGF5b3V0AGdldENvbXB1dGVkTGF5b3V0AHVuc2lnbmVkIHNob3J0AGdldENoaWxkQ291bnQAdW5zaWduZWQgaW50AHNldEp1c3RpZnlDb250ZW50AGdldEp1c3RpZnlDb250ZW50AGF2YWlsYWJsZUhlaWdodCBpcyBpbmRlZmluaXRlIHNvIGhlaWdodFNpemluZ01vZGUgbXVzdCBiZSBTaXppbmdNb2RlOjpNYXhDb250ZW50AGF2YWlsYWJsZVdpZHRoIGlzIGluZGVmaW5pdGUgc28gd2lkdGhTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABzZXRBbGlnbkNvbnRlbnQAZ2V0QWxpZ25Db250ZW50AGdldFBhcmVudABpbXBsZW1lbnQAc2V0TWF4SGVpZ2h0UGVyY2VudABzZXRIZWlnaHRQZXJjZW50AHNldE1pbkhlaWdodFBlcmNlbnQAc2V0RmxleEJhc2lzUGVyY2VudABzZXRHYXBQZXJjZW50AHNldFBvc2l0aW9uUGVyY2VudABzZXRNYXJnaW5QZXJjZW50AHNldE1heFdpZHRoUGVyY2VudABzZXRXaWR0aFBlcmNlbnQAc2V0TWluV2lkdGhQZXJjZW50AHNldFBhZGRpbmdQZXJjZW50AGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6UG9pbnQgfHwgaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQZXJjZW50AGNyZWF0ZURlZmF1bHQAdW5pdAByaWdodABoZWlnaHQAc2V0TWF4SGVpZ2h0AGdldE1heEhlaWdodABzZXRIZWlnaHQAZ2V0SGVpZ2h0AHNldE1pbkhlaWdodABnZXRNaW5IZWlnaHQAZ2V0Q29tcHV0ZWRIZWlnaHQAZ2V0Q29tcHV0ZWRSaWdodABsZWZ0AGdldENvbXB1dGVkTGVmdAByZXNldABfX2Rlc3RydWN0AGZsb2F0AHVpbnQ2NF90AHVzZVdlYkRlZmF1bHRzAHNldFVzZVdlYkRlZmF1bHRzAHNldEFsaWduSXRlbXMAZ2V0QWxpZ25JdGVtcwBzZXRGbGV4QmFzaXMAZ2V0RmxleEJhc2lzAENhbm5vdCBnZXQgbGF5b3V0IHByb3BlcnRpZXMgb2YgbXVsdGktZWRnZSBzaG9ydGhhbmRzAHNldFBvaW50U2NhbGVGYWN0b3IATWVhc3VyZUNhbGxiYWNrV3JhcHBlcgBEaXJ0aWVkQ2FsbGJhY2tXcmFwcGVyAENhbm5vdCByZXNldCBhIG5vZGUgc3RpbGwgYXR0YWNoZWQgdG8gYSBvd25lcgBzZXRCb3JkZXIAZ2V0Qm9yZGVyAGdldENvbXB1dGVkQm9yZGVyAGdldE51bWJlcgBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6Ok51bWJlcgB1bnNpZ25lZCBjaGFyAHRvcABnZXRDb21wdXRlZFRvcABzZXRGbGV4V3JhcABnZXRGbGV4V3JhcABzZXRHYXAAZ2V0R2FwACVwAHNldEhlaWdodEF1dG8Ac2V0RmxleEJhc2lzQXV0bwBzZXRQb3NpdGlvbkF1dG8Ac2V0TWFyZ2luQXV0bwBzZXRXaWR0aEF1dG8AU2NhbGUgZmFjdG9yIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuIHplcm8Ac2V0QXNwZWN0UmF0aW8AZ2V0QXNwZWN0UmF0aW8Ac2V0UG9zaXRpb24AZ2V0UG9zaXRpb24Abm90aWZ5T25EZXN0cnVjdGlvbgBzZXRGbGV4RGlyZWN0aW9uAGdldEZsZXhEaXJlY3Rpb24Ac2V0RGlyZWN0aW9uAGdldERpcmVjdGlvbgBzZXRNYXJnaW4AZ2V0TWFyZ2luAGdldENvbXB1dGVkTWFyZ2luAG1hcmtMYXlvdXRTZWVuAG5hbgBib3R0b20AZ2V0Q29tcHV0ZWRCb3R0b20AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0RmxleFNocmluawBnZXRGbGV4U2hyaW5rAHNldEFsd2F5c0Zvcm1zQ29udGFpbmluZ0Jsb2NrAE1lYXN1cmVDYWxsYmFjawBEaXJ0aWVkQ2FsbGJhY2sAZ2V0TGVuZ3RoAHdpZHRoAHNldE1heFdpZHRoAGdldE1heFdpZHRoAHNldFdpZHRoAGdldFdpZHRoAHNldE1pbldpZHRoAGdldE1pbldpZHRoAGdldENvbXB1dGVkV2lkdGgAcHVzaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1NtYWxsVmFsdWVCdWZmZXIuaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1N0eWxlVmFsdWVQb29sLmgAdW5zaWduZWQgbG9uZwBzZXRCb3hTaXppbmcAZ2V0Qm94U2l6aW5nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEATWVhc3VyZSBmdW5jdGlvbiByZXR1cm5lZCBhbiBpbnZhbGlkIGRpbWVuc2lvbiB0byBZb2dhOiBbd2lkdGg9JWYsIGhlaWdodD0lZl0ARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVk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`;if(!ce(le)){var ue=le;le=n.locateFile?n.locateFile(ue,o):o+ue}function de(){var e=le;try{if(e==le&&l)return new Uint8Array(l);if(ce(e))try{var t=Ot(e.slice(37)),n=new Uint8Array(t.length);for(e=0;e<t.length;++e)n[e]=t.charCodeAt(e);var r=n}catch{throw Error(`Converting base64 string to bytes failed.`)}else r=void 0;var i=r;if(i)return i;throw`both async and sync fetching of the wasm failed`}catch(e){C(e)}}function fe(){return l||typeof fetch!=`function`?Promise.resolve().then(function(){return de()}):fetch(le,{credentials:`same-origin`}).then(function(e){if(!e.ok)throw`failed to load wasm binary file at '`+le+`'`;return e.arrayBuffer()}).catch(function(){return de()})}function pe(e){for(;0<e.length;)e.shift()(n)}function me(e){if(e===void 0)return`_unknown`;e=e.replace(/[^a-zA-Z0-9_]/g,`$`);var t=e.charCodeAt(0);return 48<=t&&57>=t?`_`+e:e}function he(e,t){return e=me(e),function(){return t.apply(this,arguments)}}var w=[{},{value:void 0},{value:null},{value:!0},{value:!1}],ge=[];function _e(e){var t=Error,n=he(e,function(t){this.name=e,this.message=t,t=Error(t).stack,t!==void 0&&(this.stack=this.toString()+`
|
|
4
|
-
`+t.replace(/^Error(:[^\n]*)?\n/,``))});return n.prototype=Object.create(t.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return this.message===void 0?this.name:this.name+`: `+this.message},n}var ve=void 0;function T(e){throw new ve(e)}var ye=e=>(e||T(`Cannot use deleted val. handle = `+e),w[e].value),be=e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=ge.length?ge.pop():w.length;return w[t]={ga:1,value:e},t}},xe=void 0,Se=void 0;function E(e){for(var t=``;h[e];)t+=Se[h[e++]];return t}var Ce=[];function we(){for(;Ce.length;){var e=Ce.pop();e.M.$=!1,e.delete()}}var Te=void 0,Ee={};function D(e,t){for(t===void 0&&T(`ptr should not be undefined`);e.R;)t=e.ba(t),e=e.R;return t}var De={};function Oe(e){e=At(e);var t=E(e);return Mt(e),t}function ke(e,t){var n=De[e];return n===void 0&&T(t+` has unknown type `+Oe(e)),n}function Ae(){}var je=!1;function Me(e){--e.count.value,e.count.value===0&&(e.T?e.U.W(e.T):e.P.N.W(e.O))}function Ne(e,t,n){return t===n?e:n.R===void 0?null:(e=Ne(e,t,n.R),e===null?null:n.na(e))}var Pe={};function Fe(e,t){return t=D(e,t),Ee[t]}var Ie=void 0;function Le(e){throw new Ie(e)}function Re(e,t){return t.P&&t.O||Le(`makeClassHandle requires ptr and ptrType`),!!t.U!=!!t.T&&Le(`Both smartPtrType and smartPtr must be specified`),t.count={value:1},ze(Object.create(e,{M:{value:t}}))}function ze(e){return typeof FinalizationRegistry>`u`?(ze=e=>e,e):(je=new FinalizationRegistry(e=>{Me(e.M)}),ze=e=>{var t=e.M;return t.T&&je.register(e,{M:t},e),e},Ae=e=>{je.unregister(e)},ze(e))}var Be={};function Ve(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function He(e){return this.fromWireType(v[e>>2])}var Ue={},We={};function Ge(e,t,n){function r(t){t=n(t),t.length!==e.length&&Le(`Mismatched type converter count`);for(var r=0;r<e.length;++r)qe(e[r],t[r])}e.forEach(function(e){We[e]=t});var i=Array(t.length),a=[],o=0;t.forEach((e,t)=>{De.hasOwnProperty(e)?i[t]=De[e]:(a.push(e),Ue.hasOwnProperty(e)||(Ue[e]=[]),Ue[e].push(()=>{i[t]=De[e],++o,o===a.length&&r(i)}))}),a.length===0&&r(i)}function Ke(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw TypeError(`Unknown type size: `+e)}}function qe(e,t,n={}){if(!(`argPackAdvance`in t))throw TypeError(`registerType registeredInstance requires argPackAdvance`);var r=t.name;if(e||T(`type "`+r+`" must have a positive integer typeid pointer`),De.hasOwnProperty(e)){if(n.ua)return;T(`Cannot register type '`+r+`' twice`)}De[e]=t,delete We[e],Ue.hasOwnProperty(e)&&(t=Ue[e],delete Ue[e],t.forEach(e=>e()))}function Je(e){T(e.M.P.N.name+` instance already deleted`)}function Ye(){}function Xe(e,t,n){if(e[t].S===void 0){var r=e[t];e[t]=function(){return e[t].S.hasOwnProperty(arguments.length)||T(`Function '`+n+`' called with an invalid number of arguments (`+arguments.length+`) - expects one of (`+e[t].S+`)!`),e[t].S[arguments.length].apply(this,arguments)},e[t].S=[],e[t].S[r.Z]=r}}function Ze(e,t){n.hasOwnProperty(e)?(T(`Cannot register public name '`+e+`' twice`),Xe(n,e,e),n.hasOwnProperty(void 0)&&T(`Cannot register multiple overloads of a function with the same number of arguments (undefined)!`),n[e].S[void 0]=t):n[e]=t}function Qe(e,t,n,r,i,a,o,s){this.name=e,this.constructor=t,this.X=n,this.W=r,this.R=i,this.pa=a,this.ba=o,this.na=s,this.ja=[]}function $e(e,t,n){for(;t!==n;)t.ba||T(`Expected null or instance of `+n.name+`, got an instance of `+t.name),e=t.ba(e),t=t.R;return e}function et(e,t){return t===null?(this.ea&&T(`null is not a valid `+this.name),0):(t.M||T(`Cannot pass "`+ut(t)+`" as a `+this.name),t.M.O||T(`Cannot pass deleted object as a pointer of type `+this.name),$e(t.M.O,t.M.P.N,this.N))}function tt(e,t){if(t===null){if(this.ea&&T(`null is not a valid `+this.name),this.da){var n=this.fa();return e!==null&&e.push(this.W,n),n}return 0}if(t.M||T(`Cannot pass "`+ut(t)+`" as a `+this.name),t.M.O||T(`Cannot pass deleted object as a pointer of type `+this.name),!this.ca&&t.M.P.ca&&T(`Cannot convert argument of type `+(t.M.U?t.M.U.name:t.M.P.name)+` to parameter type `+this.name),n=$e(t.M.O,t.M.P.N,this.N),this.da)switch(t.M.T===void 0&&T(`Passing raw pointer to smart pointer is illegal`),this.Ba){case 0:t.M.U===this?n=t.M.T:T(`Cannot convert argument of type `+(t.M.U?t.M.U.name:t.M.P.name)+` to parameter type `+this.name);break;case 1:n=t.M.T;break;case 2:if(t.M.U===this)n=t.M.T;else{var r=t.clone();n=this.xa(n,be(function(){r.delete()})),e!==null&&e.push(this.W,n)}break;default:T(`Unsupporting sharing policy`)}return n}function nt(e,t){return t===null?(this.ea&&T(`null is not a valid `+this.name),0):(t.M||T(`Cannot pass "`+ut(t)+`" as a `+this.name),t.M.O||T(`Cannot pass deleted object as a pointer of type `+this.name),t.M.P.ca&&T(`Cannot convert argument of type `+t.M.P.name+` to parameter type `+this.name),$e(t.M.O,t.M.P.N,this.N))}function rt(e,t,n,r){this.name=e,this.N=t,this.ea=n,this.ca=r,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,t.R===void 0?(this.toWireType=r?et:nt,this.V=null):this.toWireType=tt}function it(e,t){n.hasOwnProperty(e)||Le(`Replacing nonexistant public symbol`),n[e]=t,n[e].Z=void 0}function at(e,t){var r=[];return function(){if(r.length=0,Object.assign(r,arguments),e.includes(`j`)){var i=n[`dynCall_`+e];i=r&&r.length?i.apply(null,[t].concat(r)):i.call(null,t)}else i=S.get(t).apply(null,r);return i}}function O(e,t){e=E(e);var n=e.includes(`j`)?at(e,t):S.get(t);return typeof n!=`function`&&T(`unknown function pointer with signature `+e+`: `+t),n}var ot=void 0;function k(e,t){function n(e){i[e]||De[e]||(We[e]?We[e].forEach(n):(r.push(e),i[e]=!0))}var r=[],i={};throw t.forEach(n),new ot(e+`: `+r.map(Oe).join([`, `]))}function st(e,t,n,r,i){var a=t.length;2>a&&T(`argTypes array size mismatch! Must at least get return value and 'this' types!`);var o=t[1]!==null&&n!==null,s=!1;for(n=1;n<t.length;++n)if(t[n]!==null&&t[n].V===void 0){s=!0;break}var c=t[0].name!==`void`,l=a-2,u=Array(l),d=[],f=[];return function(){if(arguments.length!==l&&T(`function `+e+` called with `+arguments.length+` arguments, expected `+l+` args!`),f.length=0,d.length=o?2:1,d[0]=i,o){var n=t[1].toWireType(f,this);d[1]=n}for(var a=0;a<l;++a)u[a]=t[a+2].toWireType(f,arguments[a]),d.push(u[a]);if(a=r.apply(null,d),s)Ve(f);else for(var p=o?1:2;p<t.length;p++){var m=p===1?n:u[p-2];t[p].V!==null&&t[p].V(m)}return n=c?t[0].fromWireType(a):void 0,n}}function ct(e,t){for(var n=[],r=0;r<e;r++)n.push(y[t+4*r>>2]);return n}function lt(e){4<e&&--w[e].ga===0&&(w[e]=void 0,ge.push(e))}function ut(e){if(e===null)return`null`;var t=typeof e;return t===`object`||t===`array`||t===`function`?e.toString():``+e}function dt(e,t){switch(t){case 2:return function(e){return this.fromWireType(b[e>>2])};case 3:return function(e){return this.fromWireType(x[e>>3])};default:throw TypeError(`Unknown float type: `+e)}}function ft(e,t,n){switch(t){case 0:return n?function(e){return m[e]}:function(e){return h[e]};case 1:return n?function(e){return g[e>>1]}:function(e){return _[e>>1]};case 2:return n?function(e){return v[e>>2]}:function(e){return y[e>>2]};default:throw TypeError(`Unknown integer type: `+e)}}function pt(e,t){for(var n=``,r=0;!(r>=t/2);++r){var i=g[e+2*r>>1];if(i==0)break;n+=String.fromCharCode(i)}return n}function mt(e,t,n){if(n===void 0&&(n=2147483647),2>n)return 0;n-=2;var r=t;n=n<2*e.length?n/2:e.length;for(var i=0;i<n;++i)g[t>>1]=e.charCodeAt(i),t+=2;return g[t>>1]=0,t-r}function ht(e){return 2*e.length}function gt(e,t){for(var n=0,r=``;!(n>=t/4);){var i=v[e+4*n>>2];if(i==0)break;++n,65536<=i?(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|i&1023)):r+=String.fromCharCode(i)}return r}function _t(e,t,n){if(n===void 0&&(n=2147483647),4>n)return 0;var r=t;n=r+n-4;for(var i=0;i<e.length;++i){var a=e.charCodeAt(i);if(55296<=a&&57343>=a){var o=e.charCodeAt(++i);a=65536+((a&1023)<<10)|o&1023}if(v[t>>2]=a,t+=4,t+4>n)break}return v[t>>2]=0,t-r}function vt(e){for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);55296<=r&&57343>=r&&++n,t+=4}return t}var yt={};function bt(e){var t=yt[e];return t===void 0?E(e):t}var xt=[];function St(e){var t=xt.length;return xt.push(e),t}function Ct(e,t){for(var n=Array(e),r=0;r<e;++r)n[r]=ke(y[t+4*r>>2],`parameter `+r);return n}var wt=[],Tt=[null,[],[]];ve=n.BindingError=_e(`BindingError`),n.count_emval_handles=function(){for(var e=0,t=5;t<w.length;++t)w[t]!==void 0&&++e;return e},n.get_first_emval=function(){for(var e=5;e<w.length;++e)if(w[e]!==void 0)return w[e];return null},xe=n.PureVirtualError=_e(`PureVirtualError`);for(var Et=Array(256),Dt=0;256>Dt;++Dt)Et[Dt]=String.fromCharCode(Dt);Se=Et,n.getInheritedInstanceCount=function(){return Object.keys(Ee).length},n.getLiveInheritedInstances=function(){var e=[],t;for(t in Ee)Ee.hasOwnProperty(t)&&e.push(Ee[t]);return e},n.flushPendingDeletes=we,n.setDelayFunction=function(e){Te=e,Ce.length&&Te&&Te(we)},Ie=n.InternalError=_e(`InternalError`),Ye.prototype.isAliasOf=function(e){if(!(this instanceof Ye&&e instanceof Ye))return!1;var t=this.M.P.N,n=this.M.O,r=e.M.P.N;for(e=e.M.O;t.R;)n=t.ba(n),t=t.R;for(;r.R;)e=r.ba(e),r=r.R;return t===r&&n===e},Ye.prototype.clone=function(){if(this.M.O||Je(this),this.M.aa)return this.M.count.value+=1,this;var e=ze,t=Object,n=t.create,r=Object.getPrototypeOf(this),i=this.M;return e=e(n.call(t,r,{M:{value:{count:i.count,$:i.$,aa:i.aa,O:i.O,P:i.P,T:i.T,U:i.U}}})),e.M.count.value+=1,e.M.$=!1,e},Ye.prototype.delete=function(){this.M.O||Je(this),this.M.$&&!this.M.aa&&T(`Object already scheduled for deletion`),Ae(this),Me(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},Ye.prototype.isDeleted=function(){return!this.M.O},Ye.prototype.deleteLater=function(){return this.M.O||Je(this),this.M.$&&!this.M.aa&&T(`Object already scheduled for deletion`),Ce.push(this),Ce.length===1&&Te&&Te(we),this.M.$=!0,this},rt.prototype.qa=function(e){return this.ka&&(e=this.ka(e)),e},rt.prototype.ha=function(e){this.W&&this.W(e)},rt.prototype.argPackAdvance=8,rt.prototype.readValueFromPointer=He,rt.prototype.deleteObject=function(e){e!==null&&e.delete()},rt.prototype.fromWireType=function(e){function t(){return this.da?Re(this.N.X,{P:this.wa,O:n,U:this,T:e}):Re(this.N.X,{P:this,O:e})}var n=this.qa(e);if(!n)return this.ha(e),null;var r=Fe(this.N,n);if(r!==void 0)return r.M.count.value===0?(r.M.O=n,r.M.T=e,r.clone()):(r=r.clone(),this.ha(e),r);if(r=this.N.pa(n),r=Pe[r],!r)return t.call(this);r=this.ca?r.la:r.pointerType;var i=Ne(n,this.N,r.N);return i===null?t.call(this):this.da?Re(r.N.X,{P:r,O:i,U:this,T:e}):Re(r.N.X,{P:r,O:i})},ot=n.UnboundTypeError=_e(`UnboundTypeError`);var Ot=typeof atob==`function`?atob:function(e){var t=``,n=0;e=e.replace(/[^A-Za-z0-9\+\/=]/g,``);do{var r=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.indexOf(e.charAt(n++)),i=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.indexOf(e.charAt(n++)),a=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.indexOf(e.charAt(n++)),o=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.indexOf(e.charAt(n++));r=r<<2|i>>4,i=(i&15)<<4|a>>2;var s=(a&3)<<6|o;t+=String.fromCharCode(r),a!==64&&(t+=String.fromCharCode(i)),o!==64&&(t+=String.fromCharCode(s))}while(n<e.length);return t},kt={l:function(e,t,n,r){C(`Assertion failed: `+(e?f(h,e):``)+`, at: `+[t?t?f(h,t):``:`unknown filename`,n,r?r?f(h,r):``:`unknown function`])},q:function(e,t,n){e=E(e),t=ke(t,`wrapper`),n=ye(n);var r=[].slice,i=t.N,a=i.X,o=i.R.X,s=i.R.constructor;for(var c in e=he(e,function(){i.R.ja.forEach(function(e){if(this[e]===o[e])throw new xe(`Pure virtual function `+e+` must be implemented in JavaScript`)}.bind(this)),Object.defineProperty(this,`__parent`,{value:a}),this.__construct.apply(this,r.call(arguments))}),a.__construct=function(){this===a&&T(`Pass correct 'this' to __construct`);var e=s.implement.apply(void 0,[this].concat(r.call(arguments)));Ae(e);var t=e.M;e.notifyOnDestruction(),t.aa=!0,Object.defineProperties(this,{M:{value:t}}),ze(this),e=t.O,e=D(i,e),Ee.hasOwnProperty(e)?T(`Tried to register registered instance: `+e):Ee[e]=this},a.__destruct=function(){this===a&&T(`Pass correct 'this' to __destruct`),Ae(this);var e=this.M.O;e=D(i,e),Ee.hasOwnProperty(e)?delete Ee[e]:T(`Tried to unregister unregistered instance: `+e)},e.prototype=Object.create(a),n)e.prototype[c]=n[c];return be(e)},j:function(e){var t=Be[e];delete Be[e];var n=t.fa,r=t.W,i=t.ia,a=i.map(e=>e.ta).concat(i.map(e=>e.za));Ge([e],a,e=>{var a={};return i.forEach((t,n)=>{var r=e[n],o=t.ra,s=t.sa,c=e[n+i.length],l=t.ya,u=t.Aa;a[t.oa]={read:e=>r.fromWireType(o(s,e)),write:(e,t)=>{var n=[];l(u,e,c.toWireType(n,t)),Ve(n)}}}),[{name:t.name,fromWireType:function(e){var t={},n;for(n in a)t[n]=a[n].read(e);return r(e),t},toWireType:function(e,t){for(var i in a)if(!(i in t))throw TypeError(`Missing field: "`+i+`"`);var o=n();for(i in a)a[i].write(o,t[i]);return e!==null&&e.push(r,o),o},argPackAdvance:8,readValueFromPointer:He,V:r}]})},v:function(){},B:function(e,t,n,r,i){var a=Ke(n);t=E(t),qe(e,{name:t,fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:i},argPackAdvance:8,readValueFromPointer:function(e){if(n===1)var r=m;else if(n===2)r=g;else if(n===4)r=v;else throw TypeError(`Unknown boolean type size: `+t);return this.fromWireType(r[e>>a])},V:null})},f:function(e,t,n,r,i,a,o,s,c,l,u,d,f){u=E(u),a=O(i,a),s&&=O(o,s),l&&=O(c,l),f=O(d,f);var p=me(u);Ze(p,function(){k(`Cannot construct `+u+` due to unbound types`,[r])}),Ge([e,t,n],r?[r]:[],function(t){if(t=t[0],r)var n=t.N,i=n.X;else i=Ye.prototype;t=he(p,function(){if(Object.getPrototypeOf(this)!==o)throw new ve(`Use 'new' to construct `+u);if(c.Y===void 0)throw new ve(u+` has no accessible constructor`);var e=c.Y[arguments.length];if(e===void 0)throw new ve(`Tried to invoke ctor of `+u+` with invalid number of parameters (`+arguments.length+`) - expected (`+Object.keys(c.Y).toString()+`) parameters instead!`);return e.apply(this,arguments)});var o=Object.create(i,{constructor:{value:t}});t.prototype=o;var c=new Qe(u,t,o,f,n,a,s,l);n=new rt(u,c,!0,!1),i=new rt(u+`*`,c,!1,!1);var d=new rt(u+` const*`,c,!1,!0);return Pe[e]={pointerType:i,la:d},it(p,t),[n,i,d]})},d:function(e,t,n,r,i,a,o){var s=ct(n,r);t=E(t),a=O(i,a),Ge([],[e],function(e){function r(){k(`Cannot call `+i+` due to unbound types`,s)}e=e[0];var i=e.name+`.`+t;t.startsWith(`@@`)&&(t=Symbol[t.substring(2)]);var c=e.N.constructor;return c[t]===void 0?(r.Z=n-1,c[t]=r):(Xe(c,t,i),c[t].S[n-1]=r),Ge([],s,function(e){return e=st(i,[e[0],null].concat(e.slice(1)),null,a,o),c[t].S===void 0?(e.Z=n-1,c[t]=e):c[t].S[n-1]=e,[]}),[]})},p:function(e,t,n,r,i,a){0<t||C();var o=ct(t,n);i=O(r,i),Ge([],[e],function(e){e=e[0];var n=`constructor `+e.name;if(e.N.Y===void 0&&(e.N.Y=[]),e.N.Y[t-1]!==void 0)throw new ve(`Cannot register multiple constructors with identical number of parameters (`+(t-1)+`) for class '`+e.name+`'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.N.Y[t-1]=()=>{k(`Cannot construct `+e.name+` due to unbound types`,o)},Ge([],o,function(r){return r.splice(1,0,null),e.N.Y[t-1]=st(n,r,null,i,a),[]}),[]})},a:function(e,t,n,r,i,a,o,s){var c=ct(n,r);t=E(t),a=O(i,a),Ge([],[e],function(e){function r(){k(`Cannot call `+i+` due to unbound types`,c)}e=e[0];var i=e.name+`.`+t;t.startsWith(`@@`)&&(t=Symbol[t.substring(2)]),s&&e.N.ja.push(t);var l=e.N.X,u=l[t];return u===void 0||u.S===void 0&&u.className!==e.name&&u.Z===n-2?(r.Z=n-2,r.className=e.name,l[t]=r):(Xe(l,t,i),l[t].S[n-2]=r),Ge([],c,function(r){return r=st(i,r,e,a,o),l[t].S===void 0?(r.Z=n-2,l[t]=r):l[t].S[n-2]=r,[]}),[]})},A:function(e,t){t=E(t),qe(e,{name:t,fromWireType:function(e){var t=ye(e);return lt(e),t},toWireType:function(e,t){return be(t)},argPackAdvance:8,readValueFromPointer:He,V:null})},n:function(e,t,n){n=Ke(n),t=E(t),qe(e,{name:t,fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:dt(t,n),V:null})},e:function(e,t,n,r,i){t=E(t),i===-1&&(i=4294967295),i=Ke(n);var a=e=>e;if(r===0){var o=32-8*n;a=e=>e<<o>>>o}n=t.includes(`unsigned`)?function(e,t){return t>>>0}:function(e,t){return t},qe(e,{name:t,fromWireType:a,toWireType:n,argPackAdvance:8,readValueFromPointer:ft(t,i,r!==0),V:null})},b:function(e,t,n){function r(e){e>>=2;var t=y;return new i(p,t[e+1],t[e])}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];n=E(n),qe(e,{name:n,fromWireType:r,argPackAdvance:8,readValueFromPointer:r},{ua:!0})},o:function(e,t){t=E(t);var n=t===`std::string`;qe(e,{name:t,fromWireType:function(e){var t=y[e>>2],r=e+4;if(n)for(var i=r,a=0;a<=t;++a){var o=r+a;if(a==t||h[o]==0){if(i=i?f(h,i,o-i):``,s===void 0)var s=i;else s+=`\0`,s+=i;i=o+1}}else{for(s=Array(t),a=0;a<t;++a)s[a]=String.fromCharCode(h[r+a]);s=s.join(``)}return Mt(e),s},toWireType:function(e,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var r,i=typeof t==`string`;if(i||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||T(`Cannot pass non-string to std::string`),n&&i){var a=0;for(r=0;r<t.length;++r){var o=t.charCodeAt(r);127>=o?a++:2047>=o?a+=2:55296<=o&&57343>=o?(a+=4,++r):a+=3}r=a}else r=t.length;if(a=jt(4+r+1),o=a+4,y[a>>2]=r,n&&i){if(i=o,o=r+1,r=h,0<o){o=i+o-1;for(var s=0;s<t.length;++s){var c=t.charCodeAt(s);if(55296<=c&&57343>=c){var l=t.charCodeAt(++s);c=65536+((c&1023)<<10)|l&1023}if(127>=c){if(i>=o)break;r[i++]=c}else{if(2047>=c){if(i+1>=o)break;r[i++]=192|c>>6}else{if(65535>=c){if(i+2>=o)break;r[i++]=224|c>>12}else{if(i+3>=o)break;r[i++]=240|c>>18,r[i++]=128|c>>12&63}r[i++]=128|c>>6&63}r[i++]=128|c&63}}r[i]=0}}else if(i)for(i=0;i<r;++i)s=t.charCodeAt(i),255<s&&(Mt(o),T(`String has UTF-16 code units that do not fit in 8 bits`)),h[o+i]=s;else for(i=0;i<r;++i)h[o+i]=t[i];return e!==null&&e.push(Mt,a),a},argPackAdvance:8,readValueFromPointer:He,V:function(e){Mt(e)}})},i:function(e,t,n){if(n=E(n),t===2)var r=pt,i=mt,a=ht,o=()=>_,s=1;else t===4&&(r=gt,i=_t,a=vt,o=()=>y,s=2);qe(e,{name:n,fromWireType:function(e){for(var n=y[e>>2],i=o(),a,c=e+4,l=0;l<=n;++l){var u=e+4+l*t;(l==n||i[u>>s]==0)&&(c=r(c,u-c),a===void 0?a=c:(a+=`\0`,a+=c),c=u+t)}return Mt(e),a},toWireType:function(e,r){typeof r!=`string`&&T(`Cannot pass non-string to C++ string type `+n);var o=a(r),c=jt(4+o+t);return y[c>>2]=o>>s,i(r,c+4,o+t),e!==null&&e.push(Mt,c),c},argPackAdvance:8,readValueFromPointer:He,V:function(e){Mt(e)}})},k:function(e,t,n,r,i,a){Be[e]={name:E(t),fa:O(n,r),W:O(i,a),ia:[]}},h:function(e,t,n,r,i,a,o,s,c,l){Be[e].ia.push({oa:E(t),ta:n,ra:O(r,i),sa:a,za:o,ya:O(s,c),Aa:l})},C:function(e,t){t=E(t),qe(e,{va:!0,name:t,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(e,t,n,r,i){e=xt[e],t=ye(t),n=bt(n);var a=[];return y[r>>2]=be(a),e(t,n,a,i)},t:function(e,t,n,r){e=xt[e],t=ye(t),n=bt(n),e(t,n,null,r)},g:lt,m:function(e,t){var n=Ct(e,t),r=n[0];t=r.name+`_$`+n.slice(1).map(function(e){return e.name}).join(`_`)+`$`;var i=wt[t];if(i!==void 0)return i;var a=Array(e-1);return i=St((t,i,o,s)=>{for(var c=0,l=0;l<e-1;++l)a[l]=n[l+1].readValueFromPointer(s+c),c+=n[l+1].argPackAdvance;for(t=t[i].apply(t,a),l=0;l<e-1;++l)n[l+1].ma&&n[l+1].ma(a[l]);if(!r.va)return r.toWireType(o,t)}),wt[t]=i},D:function(e){4<e&&(w[e].ga+=1)},r:function(e){Ve(ye(e)),lt(e)},c:function(){C(``)},x:function(e,t,n){h.copyWithin(e,t,t+n)},w:function(e){var t=h.length;if(e>>>=0,2147483648<e)return!1;for(var n=1;4>=n;n*=2){var r=t*(1+.2/n);r=Math.min(r,e+100663296);var i=Math;r=Math.max(e,r),i=i.min.call(i,2147483648,r+(65536-r%65536)%65536);a:{try{u.grow(i-p.byteLength+65535>>>16),ee();var a=1;break a}catch{}a=void 0}if(a)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(e,t,n,r){for(var i=0,a=0;a<n;a++){var o=y[t>>2],l=y[t+4>>2];t+=8;for(var u=0;u<l;u++){var d=h[o+u],p=Tt[e];d===0||d===10?((e===1?s:c)(f(p,0)),p.length=0):p.push(d)}i+=l}return y[r>>2]=i,0}};(function(){function e(e){n.asm=e.exports,u=n.asm.E,ee(),S=n.asm.J,ne.unshift(n.asm.F),ae--,n.monitorRunDependencies&&n.monitorRunDependencies(ae),ae==0&&(oe!==null&&(clearInterval(oe),oe=null),se&&(e=se,se=null,e()))}function t(t){e(t.instance)}function r(e){return fe().then(function(e){return WebAssembly.instantiate(e,a)}).then(function(e){return e}).then(e,function(e){c(`failed to asynchronously prepare wasm: `+e),C(e)})}var a={a:kt};if(ae++,n.monitorRunDependencies&&n.monitorRunDependencies(ae),n.instantiateWasm)try{return n.instantiateWasm(a,e)}catch(e){c(`Module.instantiateWasm callback failed with error: `+e),i(e)}return(function(){return l||typeof WebAssembly.instantiateStreaming!=`function`||ce(le)||typeof fetch!=`function`?r(t):fetch(le,{credentials:`same-origin`}).then(function(e){return WebAssembly.instantiateStreaming(e,a).then(t,function(e){return c(`wasm streaming compile failed: `+e),c(`falling back to ArrayBuffer instantiation`),r(t)})})})().catch(i),{}})(),n.___wasm_call_ctors=function(){return(n.___wasm_call_ctors=n.asm.F).apply(null,arguments)};var At=n.___getTypeName=function(){return(At=n.___getTypeName=n.asm.G).apply(null,arguments)};n.__embind_initialize_bindings=function(){return(n.__embind_initialize_bindings=n.asm.H).apply(null,arguments)};var jt=n._malloc=function(){return(jt=n._malloc=n.asm.I).apply(null,arguments)},Mt=n._free=function(){return(Mt=n._free=n.asm.K).apply(null,arguments)};n.dynCall_jiji=function(){return(n.dynCall_jiji=n.asm.L).apply(null,arguments)};var Nt;se=function e(){Nt||Pt(),Nt||(se=e)};function Pt(){function e(){if(!Nt&&(Nt=!0,n.calledRun=!0,!d)){if(pe(ne),r(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n.postRun)for(typeof n.postRun==`function`&&(n.postRun=[n.postRun]);n.postRun.length;){var e=n.postRun.shift();re.unshift(e)}pe(re)}}if(!(0<ae)){if(n.preRun)for(typeof n.preRun==`function`&&(n.preRun=[n.preRun]);n.preRun.length;)ie();pe(te),0<ae||(n.setStatus?(n.setStatus(`Running...`),setTimeout(function(){setTimeout(function(){n.setStatus(``)},1),e()},1)):e())}}if(n.preInit)for(typeof n.preInit==`function`&&(n.preInit=[n.preInit]);0<n.preInit.length;)n.preInit.pop()();return Pt(),t.ready})})()})),X,uc,dc,fc,pc,Z,mc,hc,gc,_c,Q,vc,yc,bc,xc,Sc,Cc,wc,Tc,Ec=c((()=>{X=function(e){return e[e.Auto=0]=`Auto`,e[e.FlexStart=1]=`FlexStart`,e[e.Center=2]=`Center`,e[e.FlexEnd=3]=`FlexEnd`,e[e.Stretch=4]=`Stretch`,e[e.Baseline=5]=`Baseline`,e[e.SpaceBetween=6]=`SpaceBetween`,e[e.SpaceAround=7]=`SpaceAround`,e[e.SpaceEvenly=8]=`SpaceEvenly`,e}({}),uc=function(e){return e[e.BorderBox=0]=`BorderBox`,e[e.ContentBox=1]=`ContentBox`,e}({}),dc=function(e){return e[e.Width=0]=`Width`,e[e.Height=1]=`Height`,e}({}),fc=function(e){return e[e.Inherit=0]=`Inherit`,e[e.LTR=1]=`LTR`,e[e.RTL=2]=`RTL`,e}({}),pc=function(e){return e[e.Flex=0]=`Flex`,e[e.None=1]=`None`,e[e.Contents=2]=`Contents`,e}({}),Z=function(e){return e[e.Left=0]=`Left`,e[e.Top=1]=`Top`,e[e.Right=2]=`Right`,e[e.Bottom=3]=`Bottom`,e[e.Start=4]=`Start`,e[e.End=5]=`End`,e[e.Horizontal=6]=`Horizontal`,e[e.Vertical=7]=`Vertical`,e[e.All=8]=`All`,e}({}),mc=function(e){return e[e.None=0]=`None`,e[e.StretchFlexBasis=1]=`StretchFlexBasis`,e[e.AbsolutePositionWithoutInsetsExcludesPadding=2]=`AbsolutePositionWithoutInsetsExcludesPadding`,e[e.AbsolutePercentAgainstInnerSize=4]=`AbsolutePercentAgainstInnerSize`,e[e.All=2147483647]=`All`,e[e.Classic=2147483646]=`Classic`,e}({}),hc=function(e){return e[e.WebFlexBasis=0]=`WebFlexBasis`,e}({}),gc=function(e){return e[e.Column=0]=`Column`,e[e.ColumnReverse=1]=`ColumnReverse`,e[e.Row=2]=`Row`,e[e.RowReverse=3]=`RowReverse`,e}({}),_c=function(e){return e[e.Column=0]=`Column`,e[e.Row=1]=`Row`,e[e.All=2]=`All`,e}({}),Q=function(e){return e[e.FlexStart=0]=`FlexStart`,e[e.Center=1]=`Center`,e[e.FlexEnd=2]=`FlexEnd`,e[e.SpaceBetween=3]=`SpaceBetween`,e[e.SpaceAround=4]=`SpaceAround`,e[e.SpaceEvenly=5]=`SpaceEvenly`,e}({}),vc=function(e){return e[e.Error=0]=`Error`,e[e.Warn=1]=`Warn`,e[e.Info=2]=`Info`,e[e.Debug=3]=`Debug`,e[e.Verbose=4]=`Verbose`,e[e.Fatal=5]=`Fatal`,e}({}),yc=function(e){return e[e.Undefined=0]=`Undefined`,e[e.Exactly=1]=`Exactly`,e[e.AtMost=2]=`AtMost`,e}({}),bc=function(e){return e[e.Default=0]=`Default`,e[e.Text=1]=`Text`,e}({}),xc=function(e){return e[e.Visible=0]=`Visible`,e[e.Hidden=1]=`Hidden`,e[e.Scroll=2]=`Scroll`,e}({}),Sc=function(e){return e[e.Static=0]=`Static`,e[e.Relative=1]=`Relative`,e[e.Absolute=2]=`Absolute`,e}({}),Cc=function(e){return e[e.Undefined=0]=`Undefined`,e[e.Point=1]=`Point`,e[e.Percent=2]=`Percent`,e[e.Auto=3]=`Auto`,e}({}),wc=function(e){return e[e.NoWrap=0]=`NoWrap`,e[e.Wrap=1]=`Wrap`,e[e.WrapReverse=2]=`WrapReverse`,e}({}),Tc={ALIGN_AUTO:X.Auto,ALIGN_FLEX_START:X.FlexStart,ALIGN_CENTER:X.Center,ALIGN_FLEX_END:X.FlexEnd,ALIGN_STRETCH:X.Stretch,ALIGN_BASELINE:X.Baseline,ALIGN_SPACE_BETWEEN:X.SpaceBetween,ALIGN_SPACE_AROUND:X.SpaceAround,ALIGN_SPACE_EVENLY:X.SpaceEvenly,BOX_SIZING_BORDER_BOX:uc.BorderBox,BOX_SIZING_CONTENT_BOX:uc.ContentBox,DIMENSION_WIDTH:dc.Width,DIMENSION_HEIGHT:dc.Height,DIRECTION_INHERIT:fc.Inherit,DIRECTION_LTR:fc.LTR,DIRECTION_RTL:fc.RTL,DISPLAY_FLEX:pc.Flex,DISPLAY_NONE:pc.None,DISPLAY_CONTENTS:pc.Contents,EDGE_LEFT:Z.Left,EDGE_TOP:Z.Top,EDGE_RIGHT:Z.Right,EDGE_BOTTOM:Z.Bottom,EDGE_START:Z.Start,EDGE_END:Z.End,EDGE_HORIZONTAL:Z.Horizontal,EDGE_VERTICAL:Z.Vertical,EDGE_ALL:Z.All,ERRATA_NONE:mc.None,ERRATA_STRETCH_FLEX_BASIS:mc.StretchFlexBasis,ERRATA_ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING:mc.AbsolutePositionWithoutInsetsExcludesPadding,ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE:mc.AbsolutePercentAgainstInnerSize,ERRATA_ALL:mc.All,ERRATA_CLASSIC:mc.Classic,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:hc.WebFlexBasis,FLEX_DIRECTION_COLUMN:gc.Column,FLEX_DIRECTION_COLUMN_REVERSE:gc.ColumnReverse,FLEX_DIRECTION_ROW:gc.Row,FLEX_DIRECTION_ROW_REVERSE:gc.RowReverse,GUTTER_COLUMN:_c.Column,GUTTER_ROW:_c.Row,GUTTER_ALL:_c.All,JUSTIFY_FLEX_START:Q.FlexStart,JUSTIFY_CENTER:Q.Center,JUSTIFY_FLEX_END:Q.FlexEnd,JUSTIFY_SPACE_BETWEEN:Q.SpaceBetween,JUSTIFY_SPACE_AROUND:Q.SpaceAround,JUSTIFY_SPACE_EVENLY:Q.SpaceEvenly,LOG_LEVEL_ERROR:vc.Error,LOG_LEVEL_WARN:vc.Warn,LOG_LEVEL_INFO:vc.Info,LOG_LEVEL_DEBUG:vc.Debug,LOG_LEVEL_VERBOSE:vc.Verbose,LOG_LEVEL_FATAL:vc.Fatal,MEASURE_MODE_UNDEFINED:yc.Undefined,MEASURE_MODE_EXACTLY:yc.Exactly,MEASURE_MODE_AT_MOST:yc.AtMost,NODE_TYPE_DEFAULT:bc.Default,NODE_TYPE_TEXT:bc.Text,OVERFLOW_VISIBLE:xc.Visible,OVERFLOW_HIDDEN:xc.Hidden,OVERFLOW_SCROLL:xc.Scroll,POSITION_TYPE_STATIC:Sc.Static,POSITION_TYPE_RELATIVE:Sc.Relative,POSITION_TYPE_ABSOLUTE:Sc.Absolute,UNIT_UNDEFINED:Cc.Undefined,UNIT_POINT:Cc.Point,UNIT_PERCENT:Cc.Percent,UNIT_AUTO:Cc.Auto,WRAP_NO_WRAP:wc.NoWrap,WRAP_WRAP:wc.Wrap,WRAP_WRAP_REVERSE:wc.WrapReverse}}));function Dc(e){function t(e,t,n){let r=e[t];e[t]=function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];return n.call(this,r,...t)}}for(let n of[`setPosition`,`setMargin`,`setFlexBasis`,`setWidth`,`setHeight`,`setMinWidth`,`setMinHeight`,`setMaxWidth`,`setMaxHeight`,`setPadding`,`setGap`]){let r={[Cc.Point]:e.Node.prototype[n],[Cc.Percent]:e.Node.prototype[`${n}Percent`],[Cc.Auto]:e.Node.prototype[`${n}Auto`]};t(e.Node.prototype,n,function(e){for(var t=arguments.length,i=Array(t>1?t-1:0),a=1;a<t;a++)i[a-1]=arguments[a];let o=i.pop(),s,c;if(o===`auto`)s=Cc.Auto,c=void 0;else if(typeof o==`object`)s=o.unit,c=o.valueOf();else if(s=typeof o==`string`&&o.endsWith(`%`)?Cc.Percent:Cc.Point,c=parseFloat(o),o!==void 0&&!Number.isNaN(o)&&Number.isNaN(c))throw Error(`Invalid value ${o} for ${n}`);if(!r[s])throw Error(`Failed to execute "${n}": Unsupported unit '${o}'`);return c===void 0?r[s].call(this,...i):r[s].call(this,...i,c)})}function n(t){return e.MeasureCallback.implement({measure:function(){let{width:e,height:n}=t(...arguments);return{width:e??NaN,height:n??NaN}}})}t(e.Node.prototype,`setMeasureFunc`,function(e,t){return t?e.call(this,n(t)):this.unsetMeasureFunc()});function r(t){return e.DirtiedCallback.implement({dirtied:t})}return t(e.Node.prototype,`setDirtiedFunc`,function(e,t){e.call(this,r(t))}),t(e.Config.prototype,`free`,function(){e.Config.destroy(this)}),t(e.Node,`create`,(t,n)=>n?e.Node.createWithConfig(n):e.Node.createDefault()),t(e.Node.prototype,`free`,function(){e.Node.destroy(this)}),t(e.Node.prototype,`freeRecursive`,function(){for(let e=0,t=this.getChildCount();e<t;++e)this.getChild(0).freeRecursive();this.free()}),t(e.Node.prototype,`calculateLayout`,function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:fc.LTR;return e.call(this,t,n,r)}),{Config:e.Config,Node:e.Node,...Tc}}var Oc=c((()=>{Ec()}));async function kc(){return Dc(await cc())}var Ac=c((()=>{lc(),Oc(),Ec()}));function jc(){return Fc}function Mc(e){Fc=e}function Nc(e){Ic=e}function Pc(){return Ic}var Fc,Ic,Lc=c((()=>{}));function Rc(e,t){return e?typeof e==`number`?e:typeof e==`string`&&e.endsWith(`%`)?(t??=1,parseFloat(e)/100*t):Number.isNaN(parseFloat(e))?0:parseFloat(e):0}function zc(e){return typeof e==`number`?`number`:e.endsWith(`%`)?`percentage`:Number.isNaN(parseInt(e,10))?`keyword`:`number`}var Bc=c((()=>{}));function Vc(e,t,n){return(t[e]-n[e])/2}function Hc(e,t,n,r,i){let a=t===`percentage`?r[n]-i[n]:1;return Rc(e)*a}function Uc(e,t,n){let[r,i]=e,a=zc(r),o=zc(i),s={x:void 0,y:void 0};switch(r){case`top`:s.y=0;break;case`bottom`:s.y=t.height-n.height;break;case`center`:i===`left`||i===`right`?s.y=Vc(`height`,t,n):s.x=Vc(`width`,t,n);break;case`left`:s.x=0;break;case`right`:s.x=t.width-n.width;break;default:{let e=i===`top`||i===`bottom`||o!==`keyword`?`width`:`height`,c=e===`width`?`x`:`y`;s[c]=Hc(r,a,e,t,n)}}switch(i){case`top`:s.y=0;break;case`bottom`:s.y=t.height-n.height;break;case`center`:s.y===void 0?s.y=Vc(`height`,t,n):s.x=Vc(`width`,t,n);break;case`left`:s.x=0;break;case`right`:s.x=t.width-n.width;break;default:{let e=s.y===void 0?`y`:`x`;s[e]=Hc(i,o,e===`y`?`height`:`width`,t,n)}}return s}var Wc=c((()=>{Bc()}));function Gc(e,t,n,r){let i=e===`right`||e===`bottom`,a=n===`percentage`?t*r:t;return i?-a:a}function Kc(e,t,n){let[r,i,a,o]=e,s=zc(r),c=zc(i),l=zc(a),u=zc(o);if(c===`keyword`||u===`keyword`)throw Error(`Invalid objectPosition value: second and fourth values must be numbers or percentages`);if(s!==`keyword`||l!==`keyword`)throw Error(`Invalid objectPosition value: first and third values must be keywords`);let d=Uc([r,a],t,n),f={...d},p=Rc(i),m=Rc(o);return r===`left`||r===`right`?f.x=d.x+Gc(r,p,c,n.width):(r===`top`||r===`bottom`)&&(f.y=d.y+Gc(r,p,c,n.height)),a===`left`||a===`right`?f.x=d.x+Gc(a,m,u,n.width):(a===`top`||a===`bottom`)&&(f.y=d.y+Gc(a,m,u,n.height)),f}var qc=c((()=>{Bc(),Wc()}));function Jc(e,t,n){let r=e[0],i={x:void 0,y:void 0};switch(r){case`top`:i.y=0,i.x=(t.width-n.width)/2;break;case`bottom`:i.y=t.height-n.height,i.x=(t.width-n.width)/2;break;case`left`:i.x=0,i.y=(t.height-n.height)/2;break;case`right`:i.x=t.width-n.width,i.y=(t.height-n.height)/2;break;case`center`:i.x=(t.width-n.width)/2,i.y=(t.height-n.height)/2;break;default:{let e=zc(r)===`percentage`?t.width-n.width:1;i.x=Rc(r)*e,i.y=(t.height-n.height)/2}}return i}var Yc=c((()=>{Bc()}));function Xc(e,t,n){if(!e)return{x:0,y:0};let r=typeof e==`string`?e.split(` `):[e];switch(r.length){case 1:return Jc(r,t,n);case 2:return Uc(r,t,n);case 4:return Kc(r,t,n);default:throw Error(`Invalid objectPosition value: must have 1, 2, or 4 values`)}}var Zc=c((()=>{Wc(),qc(),Yc()}));function Qc(e){let t=e.target.getLocalBounds(),n=e.target.scale;return $c.width=Math.abs(t.width*n.x),$c.height=Math.abs(t.height*n.y),$c}var $c,el=c((()=>{$c={width:0,height:0}}));function tl(e,t,n=.49){return Math.abs(e-t)<n}var nl=c((()=>{}));function rl(e,t=0,n={}){let r,i,a=n.maxWait?n.maxWait:t,o,s,c,l=0,u=!!n.leading,d=`maxWait`in n,f=n.trailing??!0,p=t!==0&&typeof globalThis.requestAnimationFrame==`function`;if(typeof e!=`function`)throw TypeError(`Expected a function`);function m(t){let n=r,a=i;return r=i=void 0,l=t,o=e.apply(a,n),o}function h(e,t){return p?(typeof s==`number`&&globalThis.cancelAnimationFrame(s),globalThis.requestAnimationFrame(e)):setTimeout(e,t)}function g(e){if(p){globalThis.cancelAnimationFrame(e);return}clearTimeout(e)}function _(e){return l=e,s=h(b,t),u?m(e):o}function v(e){let n=e-(c||0),r=e-l,i=t-n;return d?Math.min(i,a-r):i}function y(e){let n=e-(c||0),r=e-l;return c===void 0||n>=t||n<0||d&&r>=a}function b(){let e=Date.now();if(y(e))return x(e);s=h(b,v(e))}function x(e){return s=void 0,f&&r?m(e):(r=i=void 0,o)}function ee(){s!==void 0&&g(s),l=0,r=c=i=s=void 0}function S(){return s===void 0?o:x(Date.now())}function te(){return s!==void 0}function ne(...e){let n=Date.now(),a=y(n);if(r=e,i=this,c=n,a){if(s===void 0)return _(c);if(d)return s=h(b,t),m(c)}return s===void 0&&(s=h(b,t)),o}return ne.cancel=ee,ne.flush=S,ne.pending=te,ne}function il(e,t,n={}){let r=n.leading??!0,i=n.trailing??!0;if(typeof e!=`function`)throw TypeError(`Expected a function`);return rl(e,t,{leading:r,trailing:i,maxWait:t})}var al=c((()=>{}));function ol(e,t){let n=`getComputed${t.charAt(0).toUpperCase()+t.slice(1)}`;return{top:e.yoga[n](Z.Top),right:e.yoga[n](Z.Right),bottom:e.yoga[n](Z.Bottom),left:e.yoga[n](Z.Left)}}function sl(e,t){let{width:n,height:r}=e.computedLayout,i=ol(e,`margin`),a=ol(e,`border`),o=ol(e,`padding`),s=t.get(`margin`);s.outer.x=-i.left,s.outer.y=-i.top,s.outer.width=n+i.left+i.right,s.outer.height=r+i.top+i.bottom,s.inner.x=0,s.inner.y=0,s.inner.width=n,s.inner.height=r;let c=t.get(`border`);c.outer.x=0,c.outer.y=0,c.outer.width=n,c.outer.height=r,c.inner.x=a.left,c.inner.y=a.top,c.inner.width=n-a.left-a.right,c.inner.height=r-a.top-a.bottom;let l=t.get(`padding`);l.outer.copyFrom(c.inner),l.inner.x=o.left+a.left,l.inner.y=o.top+a.top,l.inner.width=n-o.left-o.right-a.left-a.right,l.inner.height=r-o.top-o.bottom-a.top-a.bottom,cl(e,t)}function cl(e,n){var r;let i=n.get(`flex`),a=n.get(`padding`);i.outer.copyFrom(a.inner);let o=new t.Bounds,s=e.yoga.getChildCount();for(let n=0;n<s;n++){let r=e.yoga.getChild(n).getComputedLayout();o.addRect(new t.Rectangle(r.left,r.top,r.width,r.height))}let c=e.yoga.getFlexDirection();c===gc.Column||c===gc.ColumnReverse?(o.width=i.outer.width,o.x=i.outer.x):(o.height=i.outer.height,o.y=i.outer.y),(r=i.inner)==null||r.copyFrom(o.rectangle),n.get(`content`).outer.copyFrom(o.rectangle)}var ll,ul=c((()=>{Ac(),ll=(e=>(e.Margin=`margin`,e.Padding=`padding`,e.Border=`border`,e.Flex=`flex`,e.Content=`content`,e))(ll||{})}));function dl(e,t,n){return`rgb(${Math.round(e[0]+(t[0]-e[0])*n)},${Math.round(e[1]+(t[1]-e[1])*n)},${Math.round(e[2]+(t[2]-e[2])*n)})`}var fl,pl,ml,hl,gl=c((()=>{ul(),fl=Object.defineProperty,pl=(e,t,n)=>t in e?fl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ml=(e,t,n)=>pl(e,typeof t==`symbol`?t:t+``,n),hl=class extends t.Container{constructor(){super(),ml(this,`graphics`),ml(this,`heatGraphics`),this.graphics=new Map,Object.values(ll).forEach(e=>{let n=new t.Graphics;this.graphics.set(e,n),this.addChild(n)}),this.heatGraphics=new t.Graphics,this.addChild(this.heatGraphics)}init(e){let{target:t,alpha:n,heat:r}=e;e.heatOnly||Object.entries(e).forEach(([e,t])=>{if(e===`target`||e===`alpha`||e===`heat`||e===`heatOnly`)return;t=t;let r=this.graphics.get(e);if(!(!r||!t.draw))if(t.inner)this.drawCutBox(r,t.outer,t.inner,t.color,n);else{let{x:e,y:i,width:a,height:o}=t.outer;r.rect(e,i,a,Math.max(o,1)),r.fill({color:t.color,alpha:n})}});let{invalidationCount:i,draw:a}=r;if(i>0&&a){let t=Math.min(i/20,1),n=e[ll.Margin],r=dl([255,255,0],[255,0,0],t);this.heatGraphics.rect(n.outer.x,n.outer.y,n.outer.width,n.outer.height),this.heatGraphics.fill({color:r,alpha:Math.min(.3,t)}),this.heatGraphics.stroke({color:r,alpha:Math.max(.3,t),pixelLine:!0})}this.position.set(t.x,t.y)}reset(){this.graphics.forEach(e=>e.clear()),this.heatGraphics.clear(),this.removeFromParent()}drawCutBox(e,t,n,r,i){let{x:a,y:o,width:s,height:c}=t,{x:l,y:u,width:d,height:f}=n;e.rect(a,o,s,c),e.fill({color:r,alpha:i}),e.rect(l,u,d,f),e.cut()}}})),_l=u({DebugRenderer:()=>xl}),vl,yl,bl,xl,Sl=c((()=>{ul(),gl(),vl=Object.defineProperty,yl=(e,t,n)=>t in e?vl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bl=(e,t,n)=>yl(e,typeof t==`symbol`?t:t+``,n),xl=class{constructor(){bl(this,`holder`,new t.Container),bl(this,`regions`,new Map),bl(this,`colors`,{[ll.Margin]:`#B68655`,[ll.Padding]:`#BAC57F`,[ll.Border]:`#E7C583`,[ll.Content]:`#89B1BE`,[ll.Flex]:`#6E28D9`}),bl(this,`alpha`,.75),Object.values(ll).forEach(e=>{this.regions.set(e,{outer:new t.Rectangle,inner:new t.Rectangle})}),this.holder.__devtoolIgnore=!0,this.holder.__devtoolIgnoreChildren=!0,this.holder.eventMode=`none`,this.holder.interactiveChildren=!1}reset(){for(let e=this.holder.children.length-1;e>=0;e--){let n=this.holder.children[e];t.BigPool.return(n)}}render(e){sl(e,this.regions);let n=Object.values(ll).reduce((t,n)=>{let r=this.regions.get(n);if(!r)return t;let i=`debugDraw${n.charAt(0).toUpperCase()}${n.slice(1)}`;return t[n]={...r,color:this.colors[n],draw:e._styles.custom[i]??!0},t},{}),{left:r,top:i}=e.computedLayout,a=e.target.getGlobalPosition(),o=t.BigPool.get(hl,{...n,target:{x:a.x+r,y:a.y+i},alpha:this.alpha,heat:{invalidationCount:e._modificationCount,draw:e._styles.custom.debugHeat!==!1},heatOnly:!e._styles.custom.debug});this.holder.addChildAt(o,0)}destroy(){this.reset(),this.holder.destroy(),this.regions.clear()}}})),Cl,wl,Tl,El,Dl=c((()=>{Ac(),Lc(),Zc(),el(),nl(),al(),Cl=Object.defineProperty,wl=(e,t,n)=>t in e?Cl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Tl=(e,t,n)=>wl(e,typeof t==`symbol`?t:t+``,n),El=class{constructor(){Tl(this,`autoUpdate`,!0),Tl(this,`_debugEnabled`,!1),Tl(this,`_debugRenderer`,null),Tl(this,`_throttledUpdateSize`),Tl(this,`_throttle`,100),Tl(this,`_modificationCount`,50)}async init(e){Mc(await kc()),Nc(jc().Config.create());let{layout:t}=e??{},{autoUpdate:n,enableDebug:r,throttle:i,debugModificationCount:a}=t??{};r&&this.enableDebug(!0),n!==void 0&&(this.autoUpdate=n),this._throttle=i??this._throttle,this._throttledUpdateSize=il(e=>this._updateSize(e),this._throttle,{leading:!0,trailing:!0}),this._modificationCount=a??this._modificationCount}async enableDebug(e=!this._debugEnabled){if(this._debugEnabled=e,!this._debugRenderer){let e=await Promise.resolve().then(()=>(Sl(),_l));this._debugRenderer=new e.DebugRenderer}this._debugEnabled||this._debugRenderer.reset()}update(e){this._debugEnabled&&this._debugRenderer&&(this._debugRenderer.reset(),e.addChild(this._debugRenderer.holder)),this._throttle===0?this._updateSize(e):this._throttledUpdateSize(e),this.updateLayout(e)}prerender({container:e}){this.autoUpdate&&this.update(e)}_updateSize(e){if(e.destroyed)return;let t=e._layout;if(t){let n=t.style;if(n.width===`intrinsic`||n.height===`intrinsic`){let e=Qc(t);if(n.width===`intrinsic`){let n=t.yoga.getWidth().value;tl(n,e.width)||(t.yoga.setWidth(e.width),t.invalidateRoot())}if(n.height===`intrinsic`){let n=t.yoga.getHeight().value;tl(n,e.height)||(t.yoga.setHeight(e.height),t.invalidateRoot())}}if(!e.visible){t._onChildRemoved();return}}for(let t=0;t<e.children.length;t++)this._updateSize(e.children[t])}updateLayout(e){var t,n;let r=e._layout;if(e.visible){if(r){let i=r.yoga,a=r.style,o=e.parent?.isOverflowContainer;if(!e.parent?._layout&&!o&&r._isDirty&&(r._isDirty=!1,i.calculateLayout(a.width,a.height,i.getDirection()??fc.LTR)),i.hasNewLayout()||r._forceUpdate){i.markLayoutSeen(),r._forceUpdate=!1,r._computedLayout=i.getComputedLayout();let n=Xc(a.transformOrigin,r._computedLayout,{width:0,height:0});r._computedPixiLayout={...e.computeLayoutData(r._computedLayout),originX:n.x,originY:n.y},e.emit(`layout`,r),(t=e.onLayout)==null||t.call(e,r),e._onUpdate()}this._debugEnabled&&(r._styles.custom.debug||r._modificationCount>this._modificationCount&&r._styles.custom.debugHeat!==!1)&&((n=this._debugRenderer)==null||n.render(r))}for(let t=0;t<e.children.length;t++)this.updateLayout(e.children[t])}}destroy(){!this._debugEnabled&&this._debugRenderer&&this._debugRenderer.destroy()}},Tl(El,`extension`,{type:[t.ExtensionType.WebGLSystem,t.ExtensionType.WebGPUSystem],name:`layout`})}));function Ol(e){if(e in Bl)return Bl[e];throw Error(`"${e}" is not a valid value for alignContent`)}function kl(e){if(e in Vl)return Vl[e];throw Error(`"${e}" is not a valid value for alignItems`)}function Al(e){if(e in Hl)return Hl[e];throw Error(`"${e}" is not a valid value for alignSelf`)}function jl(e){if(e in Ul)return Ul[e];throw Error(`"${e}" is not a valid value for boxSizing`)}function Ml(e){if(e in Wl)return Wl[e];throw Error(`"${e}" is not a valid value for direction`)}function Nl(e){if(e in Gl)return Gl[e];throw Error(`"${e}" is not a valid value for display`)}function Pl(e){if(e in Kl)return Kl[e];throw Error(`"${e}" is not a valid value for flexDirection`)}function Fl(e){if(e in ql)return ql[e];throw Error(`"${e}" is not a valid value for flexWrap`)}function Il(e){if(e in Jl)return Jl[e];throw Error(`"${e}" is not a valid value for justifyContent`)}function Ll(e){if(e in Yl)return Yl[e];throw Error(`"${e}" is not a valid value for overflow`)}function Rl(e){if(e in Xl)return Xl[e];throw Error(`"${e}" is not a valid value for position`)}function zl(e,t={}){for(let[n,r]of Object.entries(t))try{let t=Zl[n];t&&t(e,r)}catch{}if(t.width!==void 0){let n=t.left!==void 0&&t.right!==void 0?`auto`:t.width;e.setWidth(n)}if(t.height!==void 0){let n=t.top!==void 0&&t.bottom!==void 0?`auto`:t.height;e.setHeight(n)}}var Bl,Vl,Hl,Ul,Wl,Gl,Kl,ql,Jl,Yl,Xl,Zl,Ql=c((()=>{Ac(),Bl={"flex-start":X.FlexStart,"flex-end":X.FlexEnd,center:X.Center,stretch:X.Stretch,"space-between":X.SpaceBetween,"space-around":X.SpaceAround,"space-evenly":X.SpaceEvenly},Vl={"flex-start":X.FlexStart,"flex-end":X.FlexEnd,center:X.Center,stretch:X.Stretch,baseline:X.Baseline},Hl={auto:X.Auto,"flex-start":X.FlexStart,"flex-end":X.FlexEnd,center:X.Center,stretch:X.Stretch,baseline:X.Baseline},Ul={"border-box":uc.BorderBox,"content-box":uc.ContentBox},Wl={ltr:fc.LTR,rtl:fc.RTL},Gl={none:pc.None,flex:pc.Flex,contents:pc.Contents},Kl={row:gc.Row,column:gc.Column,"row-reverse":gc.RowReverse,"column-reverse":gc.ColumnReverse},ql={wrap:wc.Wrap,nowrap:wc.NoWrap,"wrap-reverse":wc.WrapReverse},Jl={"flex-start":Q.FlexStart,"flex-end":Q.FlexEnd,center:Q.Center,"space-between":Q.SpaceBetween,"space-around":Q.SpaceAround,"space-evenly":Q.SpaceEvenly},Yl={visible:xc.Visible,hidden:xc.Hidden,scroll:xc.Scroll},Xl={absolute:Sc.Absolute,relative:Sc.Relative,static:Sc.Static},Zl={alignContent:(e,t)=>e.setAlignContent(Ol(t)),alignItems:(e,t)=>e.setAlignItems(kl(t)),alignSelf:(e,t)=>e.setAlignSelf(Al(t)),aspectRatio:(e,t)=>e.setAspectRatio(t),borderBottomWidth:(e,t)=>e.setBorder(Z.Bottom,t),borderEndWidth:(e,t)=>e.setBorder(Z.End,t),borderLeftWidth:(e,t)=>e.setBorder(Z.Left,t),borderRightWidth:(e,t)=>e.setBorder(Z.Right,t),borderStartWidth:(e,t)=>e.setBorder(Z.Start,t),borderTopWidth:(e,t)=>e.setBorder(Z.Top,t),borderWidth:(e,t)=>e.setBorder(Z.All,t),borderInlineWidth:(e,t)=>e.setBorder(Z.Horizontal,t),borderBlockWidth:(e,t)=>e.setBorder(Z.Vertical,t),bottom:(e,t)=>e.setPosition(Z.Bottom,t),boxSizing:(e,t)=>e.setBoxSizing(jl(t)),direction:(e,t)=>e.setDirection(Ml(t)),display:(e,t)=>e.setDisplay(Nl(t)),end:(e,t)=>e.setPosition(Z.End,t),flex:(e,t)=>e.setFlex(t),flexBasis:(e,t)=>e.setFlexBasis(t),flexDirection:(e,t)=>e.setFlexDirection(Pl(t)),rowGap:(e,t)=>e.setGap(_c.Row,t),gap:(e,t)=>e.setGap(_c.All,t),columnGap:(e,t)=>e.setGap(_c.Column,t),flexGrow:(e,t)=>e.setFlexGrow(t),flexShrink:(e,t)=>e.setFlexShrink(t),flexWrap:(e,t)=>e.setFlexWrap(Fl(t)),height:(e,t)=>e.setHeight(t),justifyContent:(e,t)=>e.setJustifyContent(Il(t)),left:(e,t)=>e.setPosition(Z.Left,t),margin:(e,t)=>e.setMargin(Z.All,t),marginBottom:(e,t)=>e.setMargin(Z.Bottom,t),marginEnd:(e,t)=>e.setMargin(Z.End,t),marginLeft:(e,t)=>e.setMargin(Z.Left,t),marginRight:(e,t)=>e.setMargin(Z.Right,t),marginStart:(e,t)=>e.setMargin(Z.Start,t),marginTop:(e,t)=>e.setMargin(Z.Top,t),marginInline:(e,t)=>e.setMargin(Z.Horizontal,t),marginBlock:(e,t)=>e.setMargin(Z.Vertical,t),maxHeight:(e,t)=>e.setMaxHeight(t),maxWidth:(e,t)=>e.setMaxWidth(t),minHeight:(e,t)=>e.setMinHeight(t),minWidth:(e,t)=>e.setMinWidth(t),overflow:(e,t)=>e.setOverflow(Ll(t)),padding:(e,t)=>e.setPadding(Z.All,t),paddingBottom:(e,t)=>e.setPadding(Z.Bottom,t),paddingEnd:(e,t)=>e.setPadding(Z.End,t),paddingLeft:(e,t)=>e.setPadding(Z.Left,t),paddingRight:(e,t)=>e.setPadding(Z.Right,t),paddingStart:(e,t)=>e.setPadding(Z.Start,t),paddingTop:(e,t)=>e.setPadding(Z.Top,t),paddingInline:(e,t)=>e.setPadding(Z.Horizontal,t),paddingBlock:(e,t)=>e.setPadding(Z.Vertical,t),position:(e,t)=>e.setPositionType(Rl(t)),right:(e,t)=>e.setPosition(Z.Right,t),start:(e,t)=>e.setPosition(Z.Start,t),top:(e,t)=>e.setPosition(Z.Top,t),insetInline:(e,t)=>e.setPosition(Z.Horizontal,t),insetBlock:(e,t)=>e.setPosition(Z.Vertical,t),inset:(e,t)=>e.setPosition(Z.All,t),width:(e,t)=>e.setWidth(t)}}));function $l(e,n){let r={...e._styles.custom,...n};r={...su.defaultStyle.shared,...e.target instanceof t.ViewContainer||r.isLeaf||su.defaultStyle.shared.isLeaf?su.defaultStyle.leaf:su.defaultStyle.container,...r};let i={...r},a=r.width===`intrinsic`,o=r.height===`intrinsic`;if(a||o){let{width:t,height:n}=Qc(e);a&&(i.width=t),o&&(i.height=n)}return{custom:r,yoga:i}}var eu=c((()=>{cu(),el()}));function tu(e,t){let n=t.layout,r;if(!n&&t.isOverflowContainer&&(r=t,n=r.parent?.layout,t=r.parent),!n)return!1;let i=e.yoga.getParent();i&&i.removeChild(e.yoga);let a=nu(e,t,r);return a===-1?!1:(n.yoga.getChildCount(),n.yoga.insertChild(e.yoga,a),!0)}function nu(e,t,n){let r=e.target,i=0;if(n){for(let e of t.children){if(e===n){for(let e of n.children)if(!(!e.layout||!e.visible)){if(e===r)return i;i++}return-1}e.layout&&e.visible&&i++}return-1}for(let e of t.children)if(!(!e.layout||!e.visible)){if(e===r)return i;i++}return-1}function ru(e){let t=e.yoga.getParent();t&&t.removeChild(e.yoga)}var iu=c((()=>{})),au,ou,$,su,cu=c((()=>{Lc(),Ql(),eu(),iu(),au=Object.defineProperty,ou=(e,t,n)=>t in e?au(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$=(e,t,n)=>ou(e,typeof t==`symbol`?t:t+``,n),su=class{constructor({target:e}){$(this,`yoga`),$(this,`target`),$(this,`destroyed`,!1),$(this,`_isDirty`,!1),$(this,`_computedPixiLayout`,{x:0,y:0,offsetX:0,offsetY:0,scaleX:1,scaleY:1,originX:0,originY:0}),$(this,`_computedLayout`,{left:0,right:0,top:0,bottom:0,width:0,height:0}),$(this,`_styles`,{custom:{},yoga:{}}),$(this,`_modificationCount`,0),$(this,`_forceUpdate`,!1),$(this,`hasParent`,!1),$(this,`_trackedStyleKeys`,[`borderRadius`,`borderColor`,`backgroundColor`,`objectFit`,`objectPosition`,`transformOrigin`,`isLeaf`]),this.target=e,this.yoga=jc().Node.create(Pc()),e.on(`added`,this._onChildAdded,this),e.on(`removed`,this._onChildRemoved,this),e.on(`destroyed`,this.destroy,this)}get style(){return this._styles.custom}get computedLayout(){return this._computedLayout}get computedPixiLayout(){return this._computedPixiLayout}get realX(){return this.target.localTransform.tx}get realY(){return this.target.localTransform.ty}get realScaleX(){return this.target.localTransform.a}get realScaleY(){return this.target.localTransform.d}setStyle(e){let t=$l(this,e),n=JSON.stringify(this._styles.custom)!==JSON.stringify(t.custom),r=JSON.stringify(this._styles.yoga)!==JSON.stringify(t.yoga),i=n||r,a=this._trackedStyleKeys.some(e=>t.custom[e]!==this._styles.custom[e]);this._styles=t,a&&(this._forceUpdate=!0),i&&(zl(this.yoga,this._styles.yoga),this.target._onUpdate(),this.invalidateRoot())}invalidateRoot(e){let t=this.getRoot(e);t.destroyed||(t._layout._isDirty=!0,t._onUpdate(),this._modificationCount++)}forceUpdate(){this._forceUpdate=!0}getRoot(e){let t=e||this.target;for(;t.parent?._layout||t.parent?.isOverflowContainer;)t=t.parent,t.isOverflowContainer&&(t=t.parent);return t}_onChildAdded(e){this.hasParent||tu(this,e)!==!1&&(this.hasParent=!0,this.invalidateRoot())}_onChildRemoved(e){this.hasParent&&(this.hasParent=!1,this.invalidateRoot(e),ru(this))}destroy(){this.destroyed||(this.destroyed=!0,this.invalidateRoot(),this.yoga.free(),this.target.off(`added`,this._onChildAdded,this),this.target.off(`removed`,this._onChildRemoved,this),this._styles=null,this._computedPixiLayout=null,this._computedLayout=null,this.target=null,this.hasParent=!1)}},$(su,`defaultStyle`,{leaf:{width:`intrinsic`,height:`intrinsic`},container:{width:`auto`,height:`auto`},shared:{transformOrigin:`50%`,objectPosition:`center`,flexShrink:1,flexDirection:`row`,alignContent:`stretch`,flexWrap:`nowrap`,overflow:`visible`}})}));function lu(e,t,n){let r=1,i=1;switch(e){case`fill`:r=t.width/n.width,i=t.height/n.height;break;case`contain`:{let e=Math.min(t.width/n.width,t.height/n.height);r=e,i=e;break}case`cover`:{let e=Math.max(t.width/n.width,t.height/n.height);r=e,i=e;break}case`none`:r=1,i=1;break;case`scale-down`:{let e=Math.min(1,t.width/n.width,t.height/n.height);r=e,i=e;break}}return{offsetScaleX:r,offsetScaleY:i}}var uu=c((()=>{}));function du(e,n,r,i){let a=e.getLocalBounds(),{offsetScaleX:o,offsetScaleY:s}=lu(e.layout.style.objectFit||r,n,a),c={width:a.width*o,height:a.height*s},{x:l,y:u}=Xc(e.layout.style.objectPosition,n,c);i?(l+=a.width*o*i._x,u+=a.height*s*i._y):(l-=a.minX*o,u-=a.minY*s);let d=e.layout.style.applySizeDirectly;return(d===!0||d==null&&(e instanceof t.TilingSprite||e instanceof t.NineSliceSprite))&&(e.width=a.width*o,e.height=a.height*s,o=1,s=1),{x:n.left,y:n.top,offsetX:l,offsetY:u,scaleX:o,scaleY:s}}var fu=c((()=>{uu(),Zc()})),pu,mu=c((()=>{cu(),fu(),pu=Object.getOwnPropertyDescriptor(t.Container.prototype,`visible`),t.extensions.mixin(t.Container,{_layout:null,get layout(){return this._layout??null},set layout(e){if(e=e===!0?{}:e,!e){this._layout&&(this._layout.destroy(),this._layout=null,this.updateLocalTransform=t.Container.prototype.updateLocalTransform,Object.defineProperty(t.Container.prototype,`visible`,pu));return}if(!this._layout){this._layout=new su({target:this}),Object.defineProperty(t.Container.prototype,`visible`,{...pu,set(e){pu.set.call(this,e),this.layout&&(e&&this.parent?this.layout._onChildAdded(this.parent):this.layout._onChildRemoved())}});for(let e of this.children)e.layout&&e.visible&&(e.layout._onChildRemoved(),e.layout._onChildAdded(this));this.parent&&this.visible&&this._layout._onChildAdded(this.parent)}this._layout.setStyle(e),this.updateLocalTransform=this.updateLocalTransformWithLayout,this._onUpdate()},updateLocalTransformWithLayout(){let e=this._didContainerChangeTick;if(this._didLocalTransformChangeId===e)return;this._didLocalTransformChangeId=e;let{x:t,y:n,offsetX:r,offsetY:i,scaleX:a,scaleY:o,originX:s,originY:c}=this._layout._computedPixiLayout,l=this.localTransform,{rotation:u,skew:d,scale:f,position:p}=this,m=u+d._y,h=u-d._x,g=Math.cos(m)*f._x,_=Math.sin(m)*f._x,v=-Math.sin(h)*f._y,y=Math.cos(h)*f._y,b=p._x+t-s*g-c*v,x=p._y+n-s*_-c*y;l.a=g*a,l.b=_*a,l.c=v*o,l.d=y*o,l.tx=b+(r*g+i*v)+s,l.ty=x+(r*_+i*y)+c},computeLayoutData(e){let{isLeaf:t}=this._layout._styles.custom;return t?du(this,e,`fill`):{x:e.left,y:e.top,offsetX:0,offsetY:0,scaleX:1,scaleY:1}}})})),hu,gu,_u=c((()=>{uu(),Zc(),hu=new t.Point(0,0),t.extensions.mixin(t.AbstractText,{computeLayoutData(e){let t=this._style;hu.copyFrom(this.scale),this.scale=1,t.wordWrap&&(t.wordWrapWidth=e.width);let n=this.getLocalBounds(),{offsetScaleX:r,offsetScaleY:i}=lu(this.layout.style.objectFit||`scale-down`,e,n);t.wordWrap&&(t.wordWrapWidth=e.width/Math.min(1,Math.max(r,i))),n=this.getLocalBounds();let a={width:n.width*r,height:n.height*i},{x:o,y:s}=Xc(this.layout.style.objectPosition,e,a);return o+=n.width*r*this.anchor._x,s+=n.height*i*this.anchor._y,this.layout.style.applySizeDirectly===!0&&(this.width=n.width*r,this.height=n.height*i),this.scale.copyFrom(hu),{x:e.left,y:e.top,offsetX:o,offsetY:s,scaleX:r,scaleY:i}}}),gu=Object.getOwnPropertyDescriptor(t.AbstractText.prototype,`text`),Object.defineProperty(t.AbstractText.prototype,`text`,{...gu,set(e){var t;let n=gu.get.call(this);gu.set.call(this,e),n!==e&&((t=this.layout)==null||t.forceUpdate())}})})),vu=c((()=>{fu(),t.extensions.mixin(t.ViewContainer,{computeLayoutData(e){return du(this,e,`fill`,this._anchor)}})})),yu=u({DebugRenderer:()=>xl,Layout:()=>su,LayoutSystem:()=>El,applyStyle:()=>zl,formatStyles:()=>$l,getNumberFromStyle:()=>Rc,getPixiSize:()=>Qc,getTypeFromStyle:()=>zc,getYoga:()=>jc,getYogaConfig:()=>Pc,nearlyEqual:()=>tl,onChildAdded:()=>tu,onChildRemoved:()=>ru,setYoga:()=>Mc,setYogaConfig:()=>Nc}),bu=c((()=>{Dl(),mu(),_u(),vu(),Sl(),cu(),Ql(),eu(),Bc(),el(),nl(),iu(),Lc(),t.extensions.add(El)})),xu=async(e,n,r)=>{let{components:i,autoRegister:a,enableLayout:o,...s}=r??{};o!==!1&&await Promise.resolve().then(()=>(bu(),yu)),i?(a!==!1&&da(),Object.entries(i).forEach(([e,t])=>{z(e,t)})):da();let c=new t.Application;await c.init({resizeTo:e,autoStart:!1,antialias:!0,...s});let l=await W(n);if(l.tag!=`Canvas`)throw Error(`Canvas is required`);l.render(e,c);let{backgroundColor:u}=H(l.props,{backgroundColor:`black`});return c.renderer.background.color=u(),{canvasElement:l,app:c}};function Su(e){return Y.getCurrentIndexSignal(e)}function Cu(e){return Y.getFocusedElementSignal(e)}function wu(e,t){let n=Y.getCurrentIndexSignal(e),r=Y.getFocusedElementSignal(e);if(!n||!r)return console.warn(`FocusContainer with id "${e}" not found`),()=>{};let i=R(()=>{t(n(),r())});return()=>{i.subscription?.unsubscribe()}}var Tu={linear:ai,easeIn:oi,easeInOut:ci,easeOut:si,circIn:li,circInOut:di,circOut:ui,backIn:fi,backInOut:mi,backOut:pi,anticipate:hi,bounceIn:bi,bounceInOut:xi,bounceOut:yi},Eu=class{constructor(e,n,r,i,a,o,s=0){this.x0=e,this.y0=n,this.x1=r,this.y1=i,this.x2=a,this.y2=o,this.focalPoint=s,this.gradient=null,this.texture=null,this.size=600,this.size=e;let c=this.size*.5;this.canvas=t.DOMAdapter.get().createCanvas(),this.canvas.width=this.size,this.canvas.height=this.size,this.ctx=this.canvas.getContext(`2d`),this.ctx&&(this.gradient=this.ctx.createRadialGradient(c*(1-s),c,0,c,c,c-.5))}addColorStop(e,t){this.gradient&&this.gradient.addColorStop(e,t)}render({translate:e}={}){let{x0:n,y0:r,x1:i,y1:a,x2:o,y2:s,focalPoint:c}=this,l=this.size;if(this.ctx&&this.gradient){this.ctx.fillStyle=this.gradient,this.ctx.fillRect(0,0,l,l),this.texture=new t.Texture({source:new t.ImageSource({resource:this.canvas,addressModeU:`clamp-to-edge`,addressModeV:`clamp-to-edge`})});let c=new t.Matrix,u=Math.sqrt((i-n)*(i-n)+(a-r)*(a-r)),d=Math.sqrt((o-n)*(o-n)+(s-r)*(s-r)),f=Math.atan2(a-r,i-n),p=u/l,m=d/l;c.rotate(-f),c.scale(p,m),e&&c.translate(e.x,e.y),this.transform=c}return{texture:this.texture,matrix:this.transform}}};function Du(e){if(`count`in e){let t=e.count();if(!Number.isFinite(t)||t<=0)return null;let n=e.min??0;return{min:n,max:n+t-1,size:t}}let t=e.min,n=e.max;return!Number.isFinite(t)||!Number.isFinite(n)||n<t?null:{min:t,max:n,size:n-t+1}}function Ou(e,t,n,r){if(r===`clamp`)return Math.min(n.max,Math.max(n.min,e));if(r===`none`)return e<n.min||e>n.max?t:e;let i=n.size;if(i<=0)return t;let a=((e-n.min)%i+i)%i;return n.min+a}function ku(e,t,n=`wrap`){let r=r=>{let i=e(),a=Du(t);if(!a)return;let o=Ou(r,i,a,n);o!==i&&e.set(o)};return{next:t=>r(e()+t),set:e=>r(e)}}return e.ArraySubject=jn,e.Button=rc,e.ButtonState=nc,e.Canvas=Va,e.Circle=qa,e.Container=Ua,e.ControlsBase=tn,e.ControlsDirective=va,e.DOMContainer=$s,e.DOMElement=Qs,e.DOMSprite=tc,e.DisplayObject=za,e.Drag=ka,e.Drop=Oa,e.EVENTS=Ra,e.Easing=Tu,e.Ellipse=Ja,e.Flash=Fa,e.FocusContainer=oc,e.FocusManager=ac,e.FogVisibility=La,e.GamepadControls=wn,e.Graphics=Wa,Object.defineProperty(e,`Howl`,{enumerable:!0,get:function(){return Ca}}),Object.defineProperty(e,`Howler`,{enumerable:!0,get:function(){return Ca.Howler}}),e.Input=nn,e.Joystick=ic,e.JoystickControls=En,e.KeyboardControls=on,e.Mesh=Za,e.Navigation=sc,e.NineSliceSprite=Ys,e.ObjectSubject=Nn,e.ParticlesEmitter=ns,e.RadialGradient=Eu,e.Rect=Ka,e.Scene=ro,e.Scheduler=ya,e.Shake=Pa,e.Sound=Ta,e.Sprite=os,e.Svg=Xa,e.Text=cs,e.TilingSprite=ls,e.Transition=Aa,e.Triangle=Ya,Object.defineProperty(e,`Utils`,{enumerable:!0,get:function(){return Rt}}),e.Video=ss,e.Viewport=Js,e.ViewportFollow=Sa,e.animatedSequence=ea,e.animatedSignal=$i,e.bootstrapCanvas=xu,e.checkDependencies=fa,e.computed=L,e.cond=_a,e.createComponent=V,e.createTabindexNavigator=ku,Object.defineProperty(e,`currentSubscriptionsTracker`,{enumerable:!0,get:function(){return Qa}}),e.effect=R,e.focusManager=Y,e.h=W,e.isAnimatedSignal=Qi,e.isArraySubject=Mn,e.isComputed=In,e.isElement=na,e.isElementFrozen=ma,e.isObjectSubject=Pn,e.isObservable=_t,e.isPrimitive=ra,e.isSignal=I,e.isTrigger=ja,e.linkedSignal=Ln,e.loop=ga,e.mount=eo,Object.defineProperty(e,`mountTracker`,{enumerable:!0,get:function(){return $a}}),e.on=Na,e.registerAllComponents=da,e.registerComponent=z,e.signal=F,e.tick=to,e.trigger=Ma,e.untracked=Rn,e.useDefineProps=ba,e.useFocusChange=wu,e.useFocusIndex=Su,e.useFocusedElement=Cu,e.useProps=H,e.waitForDependencies=pa,e})({},PIXI);
|
|
3
|
+
`):``,this.name=`UnsubscriptionError`,this.errors=t}});function te(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}}var ne=function(){function e(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var e,t,n,r,i;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var o=_(a),s=o.next();!s.done;s=o.next())s.value.remove(this)}catch(t){e={error:t}}finally{try{s&&!s.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}else a.remove(this);var c=this.initialTeardown;if(C(c))try{c()}catch(e){i=e instanceof w?e.errors:[e]}var l=this._finalizers;if(l){this._finalizers=null;try{for(var u=_(l),d=u.next();!d.done;d=u.next()){var f=d.value;try{ie(f)}catch(e){i??=[],e instanceof w?i=y(y([],v(i)),v(e.errors)):i.push(e)}}}catch(e){n={error:e}}finally{try{d&&!d.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}}if(i)throw new w(i)}},e.prototype.add=function(t){if(t&&t!==this)if(this.closed)ie(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=this._finalizers??[]).push(t)}},e.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},e.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},e.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&te(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&te(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=(function(){var t=new e;return t.closed=!0,t})(),e}(),T=ne.EMPTY;function re(e){return e instanceof ne||e&&`closed`in e&&C(e.remove)&&C(e.add)&&C(e.unsubscribe)}function ie(e){C(e)?e():e.unsubscribe()}var E={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},ae={setTimeout:function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=ae.delegate;return i?.setTimeout?i.setTimeout.apply(i,y([e,t],v(n))):setTimeout.apply(void 0,y([e,t],v(n)))},clearTimeout:function(e){return(ae.delegate?.clearTimeout||clearTimeout)(e)},delegate:void 0};function oe(e){ae.setTimeout(function(){var t=E.onUnhandledError;if(t)t(e);else throw e})}function se(){}var ce=(function(){return de(`C`,void 0,void 0)})();function le(e){return de(`E`,void 0,e)}function ue(e){return de(`N`,e,void 0)}function de(e,t,n){return{kind:e,value:t,error:n}}var fe=null;function D(e){if(E.useDeprecatedSynchronousErrorHandling){var t=!fe;if(t&&(fe={errorThrown:!1,error:null}),e(),t){var n=fe,r=n.errorThrown,i=n.error;if(fe=null,r)throw i}}else e()}function pe(e){E.useDeprecatedSynchronousErrorHandling&&fe&&(fe.errorThrown=!0,fe.error=e)}var me=function(e){m(t,e);function t(t){var n=e.call(this)||this;return n.isStopped=!1,t?(n.destination=t,re(t)&&t.add(n)):n.destination=be,n}return t.create=function(e,t,n){return new _e(e,t,n)},t.prototype.next=function(e){this.isStopped?k(ue(e),this):this._next(e)},t.prototype.error=function(e){this.isStopped?k(le(e),this):(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped?k(ce,this):(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){try{this.destination.error(e)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(ne),he=Function.prototype.bind;function O(e,t){return he.call(e,t)}var ge=function(){function e(e){this.partialObserver=e}return e.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(e){ve(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){ve(e)}else ve(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){ve(e)}},e}(),_e=function(e){m(t,e);function t(t,n,r){var i=e.call(this)||this,a;if(C(t)||!t)a={next:t??void 0,error:n??void 0,complete:r??void 0};else{var o;i&&E.useDeprecatedNextContext?(o=Object.create(t),o.unsubscribe=function(){return i.unsubscribe()},a={next:t.next&&O(t.next,o),error:t.error&&O(t.error,o),complete:t.complete&&O(t.complete,o)}):a=t}return i.destination=new ge(a),i}return t}(me);function ve(e){E.useDeprecatedSynchronousErrorHandling?pe(e):oe(e)}function ye(e){throw e}function k(e,t){var n=E.onStoppedNotification;n&&ae.setTimeout(function(){return n(e,t)})}var be={closed:!0,next:se,error:ye,complete:se},xe=(function(){return typeof Symbol==`function`&&Symbol.observable||`@@observable`})();function Se(e){return e}function Ce(e){return e.length===0?Se:e.length===1?e[0]:function(t){return e.reduce(function(e,t){return t(e)},t)}}var A=function(){function e(e){e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r=this,i=Ee(e)?e:new _e(e,t,n);return D(function(){var e=r,t=e.operator,n=e.source;i.add(t?t.call(i,n):n?r._subscribe(i):r._trySubscribe(i))}),i},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return t=we(t),new t(function(t,r){var i=new _e({next:function(t){try{e(t)}catch(e){r(e),i.unsubscribe()}},error:r,complete:t});n.subscribe(i)})},e.prototype._subscribe=function(e){return this.source?.subscribe(e)},e.prototype[xe]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Ce(e)(this)},e.prototype.toPromise=function(e){var t=this;return e=we(e),new e(function(e,n){var r;t.subscribe(function(e){return r=e},function(e){return n(e)},function(){return e(r)})})},e.create=function(t){return new e(t)},e}();function we(e){return e??E.Promise??Promise}function Te(e){return e&&C(e.next)&&C(e.error)&&C(e.complete)}function Ee(e){return e&&e instanceof me||Te(e)&&re(e)}function De(e){return C(e?.lift)}function Oe(e){return function(t){if(De(t))return t.lift(function(t){try{return e(t,this)}catch(e){this.error(e)}});throw TypeError(`Unable to lift unknown Observable type`)}}function ke(e,t,n,r,i){return new Ae(e,t,n,r,i)}var Ae=function(e){m(t,e);function t(t,n,r,i,a,o){var s=e.call(this,t)||this;return s.onFinalize=a,s.shouldUnsubscribe=o,s._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,s._error=i?function(e){try{i(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,s._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,s}return t.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&((t=this.onFinalize)==null||t.call(this))}},t}(me),je=ee(function(e){return function(){e(this),this.name=`ObjectUnsubscribedError`,this.message=`object unsubscribed`}}),Me=function(e){m(t,e);function t(){var t=e.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return t.prototype.lift=function(e){var t=new Ne(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new je},t.prototype.next=function(e){var t=this;D(function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||=Array.from(t.observers);try{for(var i=_(t.currentObservers),a=i.next();!a.done;a=i.next())a.value.next(e)}catch(e){n={error:e}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}})},t.prototype.error=function(e){var t=this;D(function(){if(t._throwIfClosed(),!t.isStopped){t.hasError=t.isStopped=!0,t.thrownError=e;for(var n=t.observers;n.length;)n.shift().error(e)}})},t.prototype.complete=function(){var e=this;D(function(){if(e._throwIfClosed(),!e.isStopped){e.isStopped=!0;for(var t=e.observers;t.length;)t.shift().complete()}})},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,`observed`,{get:function(){return this.observers?.length>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,n=this,r=n.hasError,i=n.isStopped,a=n.observers;return r||i?T:(this.currentObservers=null,a.push(e),new ne(function(){t.currentObservers=null,te(a,e)}))},t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t.hasError,r=t.thrownError,i=t.isStopped;n?e.error(r):i&&e.complete()},t.prototype.asObservable=function(){var e=new A;return e.source=this,e},t.create=function(e,t){return new Ne(e,t)},t}(A),Ne=function(e){m(t,e);function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return t.prototype.next=function(e){var t,n;(n=(t=this.destination)?.next)==null||n.call(t,e)},t.prototype.error=function(e){var t,n;(n=(t=this.destination)?.error)==null||n.call(t,e)},t.prototype.complete=function(){var e,t;(t=(e=this.destination)?.complete)==null||t.call(e)},t.prototype._subscribe=function(e){return this.source?.subscribe(e)??T},t}(Me),Pe=function(e){m(t,e);function t(t){var n=e.call(this)||this;return n._value=t,n}return Object.defineProperty(t.prototype,`value`,{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){var e=this,t=e.hasError,n=e.thrownError,r=e._value;if(t)throw n;return this._throwIfClosed(),r},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(Me),Fe={now:function(){return(Fe.delegate||Date).now()},delegate:void 0},Ie=function(e){m(t,e);function t(t,n,r){t===void 0&&(t=1/0),n===void 0&&(n=1/0),r===void 0&&(r=Fe);var i=e.call(this)||this;return i._bufferSize=t,i._windowTime=n,i._timestampProvider=r,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=n===1/0,i._bufferSize=Math.max(1,t),i._windowTime=Math.max(1,n),i}return t.prototype.next=function(t){var n=this,r=n.isStopped,i=n._buffer,a=n._infiniteTimeWindow,o=n._timestampProvider,s=n._windowTime;r||(i.push(t),!a&&i.push(o.now()+s)),this._trimBuffer(),e.prototype.next.call(this,t)},t.prototype._subscribe=function(e){this._throwIfClosed(),this._trimBuffer();for(var t=this._innerSubscribe(e),n=this,r=n._infiniteTimeWindow,i=n._buffer.slice(),a=0;a<i.length&&!e.closed;a+=r?1:2)e.next(i[a]);return this._checkFinalizedStatuses(e),t},t.prototype._trimBuffer=function(){var e=this,t=e._bufferSize,n=e._timestampProvider,r=e._buffer,i=e._infiniteTimeWindow,a=(i?1:2)*t;if(t<1/0&&a<r.length&&r.splice(0,r.length-a),!i){for(var o=n.now(),s=0,c=1;c<r.length&&r[c]<=o;c+=2)s=c;s&&r.splice(0,s+1)}},t}(Me);function Le(e){return e&&C(e.schedule)}function Re(e){return e[e.length-1]}function ze(e){return C(Re(e))?e.pop():void 0}function Be(e){return Le(Re(e))?e.pop():void 0}var Ve=(function(e){return e&&typeof e.length==`number`&&typeof e!=`function`});function He(e){return C(e?.then)}function Ue(e){return C(e[xe])}function We(e){return Symbol.asyncIterator&&C(e?.[Symbol.asyncIterator])}function Ge(e){return TypeError(`You provided `+(typeof e==`object`&&e?`an invalid object`:`'`+e+`'`)+` where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}function Ke(){return typeof Symbol!=`function`||!Symbol.iterator?`@@iterator`:Symbol.iterator}var qe=Ke();function Je(e){return C(e?.[qe])}function Ye(e){return x(this,arguments,function(){var t,n,r,i;return g(this,function(a){switch(a.label){case 0:t=e.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,b(t.read())];case 3:return n=a.sent(),r=n.value,i=n.done,i?[4,b(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,b(r)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function Xe(e){return C(e?.getReader)}function Ze(e){if(e instanceof A)return e;if(e!=null){if(Ue(e))return Qe(e);if(Ve(e))return $e(e);if(He(e))return et(e);if(We(e))return nt(e);if(Je(e))return tt(e);if(Xe(e))return j(e)}throw Ge(e)}function Qe(e){return new A(function(t){var n=e[xe]();if(C(n.subscribe))return n.subscribe(t);throw TypeError(`Provided object does not correctly implement Symbol.observable`)})}function $e(e){return new A(function(t){for(var n=0;n<e.length&&!t.closed;n++)t.next(e[n]);t.complete()})}function et(e){return new A(function(t){e.then(function(e){t.closed||(t.next(e),t.complete())},function(e){return t.error(e)}).then(null,oe)})}function tt(e){return new A(function(t){var n,r;try{for(var i=_(e),a=i.next();!a.done;a=i.next()){var o=a.value;if(t.next(o),t.closed)return}}catch(e){n={error:e}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}t.complete()})}function nt(e){return new A(function(t){rt(e,t).catch(function(e){return t.error(e)})})}function j(e){return nt(Ye(e))}function rt(e,t){var n,r,i,a;return h(this,void 0,void 0,function(){var o,s;return g(this,function(c){switch(c.label){case 0:c.trys.push([0,5,6,11]),n=S(e),c.label=1;case 1:return[4,n.next()];case 2:if(r=c.sent(),r.done)return[3,4];if(o=r.value,t.next(o),t.closed)return[2];c.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return s=c.sent(),i={error:s},[3,11];case 6:return c.trys.push([6,,9,10]),r&&!r.done&&(a=n.return)?[4,a.call(n)]:[3,8];case 7:c.sent(),c.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}})})}function it(e,t,n,r,i){r===void 0&&(r=0),i===void 0&&(i=!1);var a=t.schedule(function(){n(),i?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(a),!i)return a}function at(e,t){return t===void 0&&(t=0),Oe(function(n,r){n.subscribe(ke(r,function(n){return it(r,e,function(){return r.next(n)},t)},function(){return it(r,e,function(){return r.complete()},t)},function(n){return it(r,e,function(){return r.error(n)},t)}))})}function ot(e,t){return t===void 0&&(t=0),Oe(function(n,r){r.add(e.schedule(function(){return n.subscribe(r)},t))})}function st(e,t){return Ze(e).pipe(ot(t),at(t))}function ct(e,t){return Ze(e).pipe(ot(t),at(t))}function lt(e,t){return new A(function(n){var r=0;return t.schedule(function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())})})}function ut(e,t){return new A(function(n){var r;return it(n,t,function(){r=e[qe](),it(n,t,function(){var e,t,i;try{e=r.next(),t=e.value,i=e.done}catch(e){n.error(e);return}i?n.complete():n.next(t)},0,!0)}),function(){return C(r?.return)&&r.return()}})}function dt(e,t){if(!e)throw Error(`Iterable cannot be null`);return new A(function(n){it(n,t,function(){var r=e[Symbol.asyncIterator]();it(n,t,function(){r.next().then(function(e){e.done?n.complete():n.next(e.value)})},0,!0)})})}function ft(e,t){return dt(Ye(e),t)}function pt(e,t){if(e!=null){if(Ue(e))return st(e,t);if(Ve(e))return lt(e,t);if(He(e))return ct(e,t);if(We(e))return dt(e,t);if(Je(e))return ut(e,t);if(Xe(e))return ft(e,t)}throw Ge(e)}function mt(e,t){return t?pt(e,t):Ze(e)}function ht(e){return!!e&&(e instanceof A||C(e.lift)&&C(e.subscribe))}function gt(e,t){return Oe(function(n,r){var i=0;n.subscribe(ke(r,function(n){r.next(e.call(t,n,i++))}))})}var _t=Array.isArray;function vt(e,t){return _t(t)?e.apply(void 0,y([],v(t))):e(t)}function yt(e){return gt(function(t){return vt(e,t)})}var bt=Array.isArray,xt=Object.getPrototypeOf,St=Object.prototype,Ct=Object.keys;function wt(e){if(e.length===1){var t=e[0];if(bt(t))return{args:t,keys:null};if(Tt(t)){var n=Ct(t);return{args:n.map(function(e){return t[e]}),keys:n}}}return{args:e,keys:null}}function Tt(e){return e&&typeof e==`object`&&xt(e)===St}function Et(e,t){return e.reduce(function(e,n,r){return e[n]=t[r],e},{})}function Dt(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Be(e),r=ze(e),i=wt(e),a=i.args,o=i.keys;if(a.length===0)return mt([],n);var s=new A(Ot(a,n,o?function(e){return Et(o,e)}:Se));return r?s.pipe(yt(r)):s}function Ot(e,t,n){return n===void 0&&(n=Se),function(r){kt(t,function(){for(var i=e.length,a=Array(i),o=i,s=i,c=function(i){kt(t,function(){var c=mt(e[i],t),l=!1;c.subscribe(ke(r,function(e){a[i]=e,l||(l=!0,s--),s||r.next(n(a.slice()))},function(){--o||r.complete()}))},r)},l=0;l<i;l++)c(l)},r)}}function kt(e,t,n){e?it(n,e,t):t()}function At(e){return new A(function(t){Ze(e()).subscribe(t)})}function jt(e,t){return Oe(function(n,r){var i=0;n.subscribe(ke(r,function(n){return e.call(t,n,i++)&&r.next(n)}))})}function Mt(e){return Oe(function(t,n){try{t.subscribe(n)}finally{n.add(e)}})}function Nt(e){e===void 0&&(e={});var t=e.connector,n=t===void 0?function(){return new Me}:t,r=e.resetOnError,i=r===void 0?!0:r,a=e.resetOnComplete,o=a===void 0?!0:a,s=e.resetOnRefCountZero,c=s===void 0?!0:s;return function(e){var t,r,a,s=0,l=!1,u=!1,d=function(){r?.unsubscribe(),r=void 0},f=function(){d(),t=a=void 0,l=u=!1},p=function(){var e=t;f(),e?.unsubscribe()};return Oe(function(e,m){s++,!u&&!l&&d();var h=a??=n();m.add(function(){s--,s===0&&!u&&!l&&(r=Pt(p,c))}),h.subscribe(m),!t&&s>0&&(t=new _e({next:function(e){return h.next(e)},error:function(e){u=!0,d(),r=Pt(f,i,e),h.error(e)},complete:function(){l=!0,d(),r=Pt(f,o),h.complete()}}),Ze(e).subscribe(t))})(e)}}function Pt(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(t===!0){e();return}if(t!==!1){var i=new _e({next:function(){i.unsubscribe(),e()}});return Ze(t.apply(void 0,y([],v(n)))).subscribe(i)}}function Ft(e,t,n){var r,i,a,o,s=!1;return e&&typeof e==`object`?(r=e.bufferSize,o=r===void 0?1/0:r,i=e.windowTime,t=i===void 0?1/0:i,a=e.refCount,s=a===void 0?!1:a,n=e.scheduler):o=e??1/0,Nt({connector:function(){return new Ie(o,t,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:s})}var It=u({arrayEquals:()=>Vt,calculateDistance:()=>Qt,error:()=>Xt,fps2ms:()=>zt,get:()=>Jt,isBrowser:()=>Lt,isFunction:()=>Wt,isObject:()=>Gt,isObservable:()=>Kt,isPromise:()=>Bt,log:()=>Yt,preciseNow:()=>Rt,set:()=>qt,setObservablePoint:()=>Zt});function Lt(){return typeof window<`u`}function Rt(){return typeof performance<`u`?performance.now():Date.now()}function zt(e){return 1e3/e}function Bt(e){return e&&e instanceof Promise}function Vt(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){let r=e[n],i=t[n];if(typeof r==`object`&&r){if(typeof i!=`object`||!i)return!1;if(Array.isArray(r)){if(!Array.isArray(i)||!Vt(r,i))return!1}else if(!Ht(r,i))return!1}else if(r!==i)return!1}return!0}function Ht(e,t){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!t.hasOwnProperty(r)||!Ut(e[r],t[r]))return!1;return!0}function Ut(e,t){return e===t?!0:typeof e==typeof t&&typeof e==`object`&&e?Array.isArray(e)?Array.isArray(t)&&Vt(e,t):Ht(e,t):!1}function Wt(e){return{}.toString.call(e)===`[object Function]`}function Gt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&e.constructor===Object}function Kt(e){return e instanceof A}function qt(e,t,n,r=!1){if(Object(e)!==e)return e;typeof t==`string`&&(t=t.split(`.`));let i=t.length;if(!i)return e;let a=e;for(let e=0;e<i-1;e++){let n=t[e],i=t[e+1],o=!isNaN(Number(i))&&isFinite(Number(i));(!a[n]||typeof a[n]!=`object`)&&(a[n]=o&&!r?[]:{}),a=a[n]}return a[t[i-1]]=n,e}function Jt(e,t){let n=t.split(`.`),r=e;for(let e of n){if(r[e]===void 0)return;r=r[e]}return r}function Yt(e){console.log(e)}function Xt(e){console.error(e)}function Zt(e,t){typeof t==`number`?e.set(t):Array.isArray(t)?e.set(t[0],t[1]):Gt(t)&&`value`in t?e.set(t.value.x,t.value.y):e.set(t.x,t.y)}function Qt(e,t,n,r){let i=e-n,a=t-r;return Math.sqrt(i*i+a*a)}var $t=class{constructor(){this.boundKeys={},this.stop=!1,this._controlsOptions={},this.serverFps=60}start(){this.setupListeners(),this.interval=setInterval(()=>{this.preStep()},zt(this.serverFps??60))}destroy(){this.interval&&clearInterval(this.interval),this.cleanup()}bindKey(e,t,n,r){Array.isArray(e)||(e=[e]);let i=Object.assign({repeat:!1},n);e.forEach(e=>{this.boundKeys[e]={actionName:t,options:i,parameters:r}})}applyInput(e){let t=this.boundKeys[e];if(!t)return;let{repeat:n,keyDown:r}=t.options;if(r){let e=t.parameters;typeof e==`function`&&(e=e()),r(t)}}getControl(e){return this.boundKeys[e]}getControls(){return this.boundKeys}stopInputs(){this.stop=!0}listenInputs(){this.stop=!1}setInputs(e){if(e){this.boundKeys={};for(let t in e){let n=e[t],{bind:r}=n,i=r;Array.isArray(i)||(i=[r]);for(let e of i)this.bindKey(e,t,n)}this._controlsOptions=e}}get options(){return this._controlsOptions}},en=function(e){return e.Break=`break`,e.Backspace=`backspace`,e.Tab=`tab`,e.Clear=`clear`,e.Enter=`enter`,e.Shift=`shift`,e.Ctrl=`ctrl`,e.Alt=`alt`,e.Pause=`pause/break`,e.CapsLock=`caps lock`,e.Escape=`escape`,e.Conversion=`conversion`,e.NonConversion=`non-conversion`,e.Space=`space`,e.PageUp=`page up`,e.PageDown=`page down`,e.End=`end`,e.Home=`home`,e[e.Left=4]=`Left`,e[e.Up=1]=`Up`,e[e.Right=2]=`Right`,e[e.Down=3]=`Down`,e.Select=`select`,e.Print=`print`,e.Execute=`execute`,e.PrintScreen=`Print Screen`,e.Insert=`insert`,e.Delete=`delete`,e.Zero=`0`,e.One=`1`,e.Two=`2`,e.Three=`3`,e.Four=`4`,e.Five=`5`,e.Six=`6`,e.Seven=`7`,e.Height=`8`,e.Nine=`9`,e.Equal=`=`,e.Semicolon=`semicolon (firefox), equals`,e.LessThan=`<`,e.Equals=`equals (firefox)`,e.Beta=`ß`,e.At=`@`,e.A=`a`,e.B=`b`,e.C=`c`,e.D=`d`,e.E=`e`,e.F=`f`,e.G=`g`,e.H=`h`,e.I=`i`,e.J=`j`,e.K=`k`,e.L=`l`,e.M=`m`,e.N=`n`,e.O=`o`,e.P=`p`,e.Q=`q`,e.R=`r`,e.S=`s`,e.T=`t`,e.U=`u`,e.V=`v`,e.W=`w`,e.X=`x`,e.Y=`y`,e.Z=`z`,e.SearchKey=`Windows Key / Left ⌘ / Chromebook Search key`,e.NumPad0=`numpad 0`,e.NumPad1=`numpad 1`,e.NumPad2=`numpad 2`,e.NumPad3=`numpad 3`,e.NumPad4=`numpad 4`,e.NumPad5=`numpad 5`,e.NumPad6=`numpad 6`,e.NumPad7=`numpad 7`,e.NumPad8=`numpad 8`,e.NumPad9=`numpad 9`,e.Multiply=`multiply`,e.Add=`add`,e.Subtract=`subtract`,e.DecimalPoint=`decimal point`,e.Divide=`divide`,e.F1=`f1`,e.F2=`f2`,e.F3=`f3`,e.F4=`f4`,e.F5=`f5`,e.F6=`f6`,e.F7=`f7`,e.F8=`f8`,e.F9=`f9`,e.F10=`f10`,e.F11=`f11`,e.F12=`f12`,e.F13=`f13`,e.F14=`f14`,e.F15=`f15`,e.F16=`f16`,e.F17=`f17`,e.F18=`f18`,e.F19=`f19`,e.F20=`f20`,e.F21=`f21`,e.F22=`f22`,e.F23=`f23`,e.F24=`f24`,e.NumLock=`num lock`,e.ScrollLock=`scroll lock`,e.CircumflexAccent=`^`,e.ExclamationMark=`!`,e.Hash=`#`,e.Dollar=`$`,e.AccentU=`ù`,e.PageBackward=`page backward`,e.PageForWard=`page forward`,e.Star=`*`,e.DecreaseVolume=`decrease volume level`,e.IncreaseVolume=`increase volume level`,e.Next=`next`,e.Previous=`previous`,e.Stop=`stop`,e.PlayPause=`play/pause`,e.Email=`e-mail`,e.SemiColon=`semi-colon / ñ`,e.EqualSign=`equal sign`,e.Comma=`comma`,e.Dash=`dash`,e.FowardSlach=`forward slash / ç`,e.GraveAccent=`grave accent / ñ / æ`,e.OpenBracket=`open bracket`,e.BackSlach=`back slash`,e.CloseBracket=`close bracket / å`,e.SingleQuote=`single quote / ø`,e.BackQuote="`",e.Altgr=`altgr`,e}({}),tn={3:`break`,8:`backspace`,9:`tab`,12:`clear`,13:`enter`,16:`shift`,17:`ctrl`,18:`alt`,19:`pause/break`,20:`caps lock`,27:`escape`,28:`conversion`,29:`non-conversion`,32:`space`,33:`page up`,34:`page down`,35:`end`,36:`home`,37:`left`,38:`up`,39:`right`,40:`down`,41:`select`,42:`print`,43:`execute`,44:`Print Screen`,45:`insert`,46:`delete`,48:`n0`,49:`n1`,50:`n2`,51:`n3`,52:`n4`,53:`n5`,54:`n6`,55:`n7`,56:`n8`,57:`n9`,58:`:`,59:`semicolon (firefox), equals`,60:`<`,61:`equals (firefox)`,63:`ß`,64:`@`,65:`a`,66:`b`,67:`c`,68:`d`,69:`e`,70:`f`,71:`g`,72:`h`,73:`i`,74:`j`,75:`k`,76:`l`,77:`m`,78:`n`,79:`o`,80:`p`,81:`q`,82:`r`,83:`s`,84:`t`,85:`u`,86:`v`,87:`w`,88:`x`,89:`y`,90:`z`,91:`Windows Key / Left ⌘ / Chromebook Search key`,92:`right window key`,93:`Windows Menu / Right ⌘`,96:`numpad 0`,97:`numpad 1`,98:`numpad 2`,99:`numpad 3`,100:`numpad 4`,101:`numpad 5`,102:`numpad 6`,103:`numpad 7`,104:`numpad 8`,105:`numpad 9`,106:`multiply`,107:`add`,108:`numpad period (firefox)`,109:`subtract`,110:`decimal point`,111:`divide`,112:`f1`,113:`f2`,114:`f3`,115:`f4`,116:`f5`,117:`f6`,118:`f7`,119:`f8`,120:`f9`,121:`f10`,122:`f11`,123:`f12`,124:`f13`,125:`f14`,126:`f15`,127:`f16`,128:`f17`,129:`f18`,130:`f19`,131:`f20`,132:`f21`,133:`f22`,134:`f23`,135:`f24`,144:`num lock`,145:`scroll lock`,160:`^`,161:`!`,163:`#`,164:`$`,165:`ù`,166:`page backward`,167:`page forward`,169:`closing paren (AZERTY)`,170:`*`,171:`~ + * key`,173:`minus (firefox), mute/unmute`,174:`decrease volume level`,175:`increase volume level`,176:`next`,177:`previous`,178:`stop`,179:`play/pause`,180:`e-mail`,181:`mute/unmute (firefox)`,182:`decrease volume level (firefox)`,183:`increase volume level (firefox)`,186:`semi-colon / ñ`,187:`equal sign`,188:`comma`,189:`dash`,190:`period`,191:`forward slash / ç`,192:`grave accent / ñ / æ`,193:`?, / or °`,194:`numpad period (chrome)`,219:`open bracket`,220:`back slash`,221:`close bracket / å`,222:`single quote / ø`,223:"`",224:`left or right ⌘ key (firefox)`,225:`altgr`,226:`< /git >`,230:`GNOME Compose Key`,231:`ç`,233:`XF86Forward`,234:`XF86Back`,240:`alphanumeric`,242:`hiragana/katakana`,243:`half-width/full-width`,244:`kanji`,255:`toggle touchpad`},nn=(e=>{let t={};for(let n in e){let r=e[n];t[r]=n}return t})(tn),rn=class extends $t{constructor(...e){super(...e),this.keyState={},this.lastKeyPressed=null,this.lastActionTimes={},this.directionState={up:!1,down:!1,left:!1,right:!1}}setupListeners(){document.addEventListener(`keydown`,e=>{this.onKeyChange(e,!0)}),document.addEventListener(`keyup`,e=>{this.onKeyChange(e,!1)})}cleanup(){document.removeEventListener(`keydown`,e=>{this.onKeyChange(e,!0)}),document.removeEventListener(`keyup`,e=>{this.onKeyChange(e,!1)})}preStep(){if(this.stop)return;let e=this.getDirection();if(e!==`none`){let t=this.boundKeys[e];if(t){let{keyDown:n}=t.options;n&&this.applyInput(e)}}else{let e=Object.keys(this.boundKeys);for(let t of e)this.applyInput(t)}}applyInput(e){let t=this.keyState[e];if(!t)return;let{isDown:n,count:r}=t;if(n){let t=this.boundKeys[e];if(!t)return;let{repeat:n,keyDown:i,throttle:a}=t.options;if(n||r==0){if(typeof a==`number`){let e=Date.now();if(e-(this.lastActionTimes[t.actionName]??0)<a)return;this.lastActionTimes[t.actionName]=e}let n=t.parameters;typeof n==`function`&&(n=n()),i&&i(t),this.keyState[e].count++}}}applyKeyDown(e){let t=nn[e],n=new Event(`keydown`);n.keyCode=t,this.onKeyChange(n,!0)}applyKeyUp(e){let t=nn[e],n=new Event(`keyup`);n.keyCode=t,this.onKeyChange(n,!1)}applyKeyPress(e){return new Promise(t=>{this.applyKeyDown(e),setTimeout(()=>{this.applyKeyUp(e),t()},200)})}onKeyChange(e,t){e||=window.event;let n=tn[e.keyCode];if(n&&this.boundKeys[n]){if(this.keyState[n]??(this.keyState[n]={count:0,isDown:!0}),this.keyState[n].isDown=t,!t){this.keyState[n].count=0;let{keyUp:e}=this.boundKeys[n].options;e&&e(this.boundKeys[n])}this.lastKeyPressed=t?e.keyCode:null}n&&this.updateDirectionState(n,t)}updateDirectionState(e,t){switch(e){case`up`:this.directionState.up=t;break;case`down`:this.directionState.down=t;break;case`left`:this.directionState.left=t;break;case`right`:this.directionState.right=t;break}}getDirection(){let{up:e,down:t,left:n,right:r}=this.directionState;return e&&n?`up_left`:e&&r?`up_right`:t&&n?`down_left`:t&&r?`down_right`:e?`up`:t?`down`:n?`left`:r?`right`:`none`}async applyControl(e,t){let n=this._controlsOptions[e];if(n){let e=Array.isArray(n.bind)?n.bind[0]:n.bind;t===void 0?await this.applyKeyPress(e):t?this.applyKeyDown(e):this.applyKeyUp(e)}}listenInputs(){super.listenInputs(),this.keyState={}}},an={events:{},publish:function(e,t){this.events.hasOwnProperty(e)&&this.events[e].forEach(function(e){return e(t)})},subscribe:function(e,t){return this.events.hasOwnProperty(e)||(this.events[e]=[]),this.events[e].push(t),{unsubscribe:(function(){var n=this.events[e].indexOf(t);n!==-1&&this.events[e].splice(n,1)}).bind(this)}}},M={CONNECT:{NATIVE:`gamepadconnected`,ALIAS:`connect`},DISCONNECT:{NATIVE:`gamepaddisconnected`,ALIAS:`disconnect`},BUTTON_PRESS:{NATIVE:null,ALIAS:`button_press`},BUTTON_RELEASE:{NATIVE:null,ALIAS:`button_release`},AXIS_MOVEMENT:{NATIVE:null,ALIAS:`axis_move`}},on={LEFT:{NAME:`left_stick`,AXES:{X:0,Y:1}},RIGHT:{NAME:`right_stick`,AXES:{X:2,Y:3}}},sn={LEFT:`left`,RIGHT:`right`,TOP:`top`,BOTTOM:`bottom`},cn={button_0:0,button_1:1,button_2:2,button_3:3,button_4:4,button_5:5,button_6:6,button_7:7,button_8:8,button_9:9,button_10:10,button_11:11,button_12:12,button_13:13,button_14:14,button_15:15,button_16:16,button_17:17},ln=.8,un=function(e){console.warn&&typeof console.warn==`function`?console.warn(e):console.log(e)},dn=function(e,t){var n=[];return Object.keys(t).forEach(function(r){(t[r]===e||Array.isArray(t[r])&&t[r].indexOf(e)!==-1)&&n.push(r)}),n},fn=function(e){return!!e&&!!e.type&&!!e.playEffect&&typeof e.playEffect==`function`||!1},pn=function(){return!!window.navigator.getGamepads&&typeof window.navigator.getGamepads==`function`||!1},N={loopStarted:!1,instances:{},buttonEvents:{joypad:[]},settings:{axisMovementThreshold:ln},remove:function(e){return delete this.instances[e]},on:function(e,t){switch(e){case M.CONNECT.ALIAS:return an.subscribe(M.CONNECT.ALIAS,t);case M.DISCONNECT.ALIAS:return an.subscribe(M.DISCONNECT.ALIAS,t);case M.BUTTON_PRESS.ALIAS:return an.subscribe(M.BUTTON_PRESS.ALIAS,t);case M.BUTTON_RELEASE.ALIAS:return an.subscribe(M.BUTTON_RELEASE.ALIAS,t);case M.AXIS_MOVEMENT.ALIAS:return an.subscribe(M.AXIS_MOVEMENT.ALIAS,t)}},vibrate:function(e,t){var n=e.vibrationActuator,r=t||this.settings.vibration;if(fn(n)){var i=n.type;return e.vibrationActuator.playEffect(i,r)}un(`No vibration actuator interface found - https://developer.mozilla.org/en-US/docs/Web/API/GamepadHapticActuator`)},set:function(e){var t=e.axisMovementThreshold,n=e.vibration,r=e.customButtonMapping,i=parseFloat(t);isNaN(i)||(this.settings.axisMovementThreshold=i),this.settings.vibration=n,this.settings.customButtonMapping=r},trigger:function(e,t){return an.publish(e,t)}},mn=function(e){e.buttons.forEach(function(t,n){var r=dn(n,N.settings.customButtonMapping||cn),i=N.buttonEvents;r&&r.length&&r.forEach(function(r){t.pressed?(i.joypad[e.index][r]||(i.joypad[e.index][r]={pressed:!0,hold:!1,released:!1}),i.joypad[e.index][r].button=t,i.joypad[e.index][r].index=n,i.joypad[e.index][r].gamepad=e):!t.pressed&&i.joypad[e.index][r]&&(i.joypad[e.index][r].released=!0,i.joypad[e.index][r].hold=!1)})})},hn=function(e){var t=function(e){return new CustomEvent(M.AXIS_MOVEMENT.ALIAS,{detail:e})},n=N.settings.axisMovementThreshold,r=e.axes,i=r.length/2;r.forEach(function(r,a){if(Math.abs(r)>n){var o=null,s=null,c=r;o=a<i?on.LEFT.NAME:on.RIGHT.NAME,(a===on.LEFT.AXES.X||a===on.RIGHT.AXES.X)&&(s=r<0?sn.LEFT:sn.RIGHT),(a===on.LEFT.AXES.Y||a===on.RIGHT.AXES.Y)&&(s=r<0?sn.TOP:sn.BOTTOM);var l={gamepad:e,totalSticks:i,stickMoved:o,directionOfMovement:s,axisMovementValue:c,axis:a};return window.dispatchEvent(t(l))}})},gn=function(e,t){t[e].pressed?(yn(M.BUTTON_PRESS.ALIAS,t,e),t[e].pressed=!1,t[e].hold=!0,t[e].last_event=M.BUTTON_PRESS.ALIAS):t[e].hold||t[e].released&&t[e].last_event===M.BUTTON_PRESS.ALIAS&&(yn(M.BUTTON_RELEASE.ALIAS,t,e),delete t[e])},_n={id:null,start:function(){var e=window.requestAnimationFrame||window.webkitRequestAnimationFrame,t=N.buttonEvents,n=window.navigator.getGamepads();n=Array.prototype.slice.call(n),n.forEach(function(e,n){e&&(t.joypad[n]||(t.joypad[n]={}),N.instances[n]=e,mn(e),hn(e))}),t.joypad.forEach(function(e){e&&Object.keys(e).forEach(function(t){gn(t,e)})}),this.id=e(this.start.bind(this))},stop:function(e){return(window.cancelAnimationFrame||window.webkitCancelAnimationFrame)(e)}},vn=function(){window.addEventListener(M.CONNECT.NATIVE,function(e){if(an.publish(M.CONNECT.ALIAS,e),!N.loopStarted)return N.loopStarted=!0,_n.start()}),window.addEventListener(M.DISCONNECT.NATIVE,function(e){if(an.publish(M.DISCONNECT.ALIAS,e),N.remove(e.gamepad.index),N.buttonEvents.joypad[e.gamepad.index]=null,!Object.keys(N.instances).length)return N.loopStarted=!1,_n.stop(_n.id)}),window.addEventListener(M.BUTTON_PRESS.ALIAS,function(e){return an.publish(M.BUTTON_PRESS.ALIAS,e)}),window.addEventListener(M.BUTTON_RELEASE.ALIAS,function(e){return an.publish(M.BUTTON_RELEASE.ALIAS,e)}),window.addEventListener(M.AXIS_MOVEMENT.ALIAS,function(e){return an.publish(M.AXIS_MOVEMENT.ALIAS,e)})},yn=function(e,t,n){var r=function(t){return new CustomEvent(e,{detail:t})},i=t[n],a=i.index,o=i.gamepad,s={buttonName:n,button:t[n].button,index:a,gamepad:o};window.dispatchEvent(r(s))};vn(),pn()?window.joypad=N:(window.joypad={},un(`Your browser does not support the Gamepad API - https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API`));var bn={button_0:`action`,button_1:`back`,button_9:`back`},xn={top:`up`,bottom:`down`,left:`left`,right:`right`},Sn=class extends $t{constructor(...e){super(...e),this.gamepadEnabled=!0,this.gamepadConfig={enabled:!0,buttonMapping:bn,axisMapping:xn,axisThreshold:.5,moveInterval:400},this.gamepadMoving=!1,this.gamepadDirections={},this.gamepadAxisDate=0,this.gamepadMoveInterval=null,this.joypad=null,this.connectCallbacks=[],this.disconnectCallbacks=[],this.currentPower=0}setupListeners(){this.initGamepad()}cleanup(){this.gamepadMoveInterval&&=(clearInterval(this.gamepadMoveInterval),null)}initGamepad(){if(typeof window>`u`)return;let e=window.joypad;if(!e){this.gamepadConfig.gamepadConnected&&this.gamepadConfig.gamepadConnected.set(!1);return}this.joypad=e,this.joypad.on(`connect`,()=>this.handleGamepadConnect()),this.joypad.on(`disconnect`,()=>this.handleGamepadDisconnect()),this.joypad.on(`button_press`,e=>this.handleGamepadButtonPress(e)),this.joypad.on(`axis_move`,e=>this.handleGamepadAxisMove(e))}handleGamepadConnect(){!this.gamepadEnabled||!this.gamepadConfig.enabled||(this.gamepadMoveInterval=setInterval(()=>{this.processGamepadMovement()},this.gamepadConfig.moveInterval||400),this.gamepadConfig.gamepadConnected&&this.gamepadConfig.gamepadConnected.set(!0),this.connectCallbacks.forEach(e=>e()))}handleGamepadDisconnect(){this.gamepadMoveInterval&&=(clearInterval(this.gamepadMoveInterval),null),this.gamepadMoving=!1,this.gamepadDirections={},this.gamepadAxisDate=0,this.currentPower=0,this.gamepadConfig.gamepadConnected&&this.gamepadConfig.gamepadConnected.set(!1),this.disconnectCallbacks.forEach(e=>e())}handleGamepadButtonPress(e){if(!this.gamepadEnabled||!this.gamepadConfig.enabled||this.stop)return;let{buttonName:t}=e.detail,n=(this.gamepadConfig.buttonMapping||bn)[t];n&&this.applyControl(n).catch(()=>{})}handleGamepadAxisMove(e){if(!this.gamepadEnabled||!this.gamepadConfig.enabled||this.stop)return;this.gamepadMoving=!0,this.gamepadAxisDate=Date.now();let t=e.detail.directionOfMovement,n=this.gamepadConfig.axisMapping||xn;if(t===`top`?t=n.top||`up`:t===`bottom`?t=n.bottom||`down`:t===`left`?t=n.left||`left`:t===`right`&&(t=n.right||`right`),this.joypad&&this.joypad.instances){let e=Object.values(this.joypad.instances);if(e.length>0){let t=e[0],n=t.axes?.[0]||0,r=t.axes?.[1]||0;this.currentPower=Math.min(1,Math.sqrt(n*n+r*r))}}this.gamepadDirections={[t]:!0};for(let e of[`up`,`down`,`left`,`right`])this.gamepadDirections[e]||this.applyControl(e,!1).catch(()=>{});this.processGamepadMovement()}processGamepadMovement(){if(this.gamepadMoving&&!this.stop){if(this.joypad&&this.joypad.instances){let e=Object.values(this.joypad.instances);if(e.length>0){let t=e[0],n=t.axes?.[0]||0,r=t.axes?.[1]||0;this.currentPower=Math.min(1,Math.sqrt(n*n+r*r))}}for(let e in this.gamepadDirections)this.gamepadDirections[e]&&this.applyControl(e,!0,{power:this.currentPower}).catch(()=>{})}}preStep(){if(!this.stop&&Date.now()-this.gamepadAxisDate>100&&this.gamepadMoving)for(let e of[`up`,`down`,`left`,`right`])this.gamepadDirections={},this.gamepadMoving=!1,this.applyControl(e,!1).catch(()=>{})}updateGamepadConfig(e){this.gamepadConfig.onConnect&&this.offConnect(this.gamepadConfig.onConnect),this.gamepadConfig.onDisconnect&&this.offDisconnect(this.gamepadConfig.onDisconnect),this.gamepadConfig={enabled:e.enabled===void 0?!0:e.enabled,buttonMapping:e.buttonMapping||bn,axisMapping:e.axisMapping||xn,axisThreshold:e.axisThreshold||.5,moveInterval:e.moveInterval||400,onConnect:e.onConnect,onDisconnect:e.onDisconnect,gamepadConnected:e.gamepadConnected},this.gamepadConfig.onConnect&&this.onConnect(this.gamepadConfig.onConnect),this.gamepadConfig.onDisconnect&&this.onDisconnect(this.gamepadConfig.onDisconnect)}extractGamepadConfig(e){e.gamepad&&this.updateGamepadConfig(e.gamepad)}getGamepadConfig(){return this.gamepadConfig}async applyControl(e,t,n){if(!this._controlsOptions[e])return;let r=Object.keys(this.boundKeys);for(let i of r){let r=this.boundKeys[i];if(r.actionName===String(e)){if(t===void 0){if(r.options.keyDown){let e=n??r.parameters;typeof e==`function`&&(e=e()),r.options.keyDown(r,e)}return new Promise(e=>{setTimeout(()=>{if(r.options.keyUp){let e=n??r.parameters;typeof e==`function`&&(e=e()),r.options.keyUp(r,e)}e()},200)})}else if(t){if(r.options.keyDown){let e=n??r.parameters;typeof e==`function`&&(e=e()),r.options.keyDown(r,e)}}else if(r.options.keyUp){let e=n??r.parameters;typeof e==`function`&&(e=e()),r.options.keyUp(r,e)}break}}}setInputs(e){super.setInputs(e),this.extractGamepadConfig(e)}onConnect(e){this.connectCallbacks.push(e)}onDisconnect(e){this.disconnectCallbacks.push(e)}offConnect(e){let t=this.connectCallbacks.indexOf(e);t>-1&&this.connectCallbacks.splice(t,1)}offDisconnect(e){let t=this.disconnectCallbacks.indexOf(e);t>-1&&this.disconnectCallbacks.splice(t,1)}isConnected(){return this.gamepadMoveInterval!==null}reinit(){this.joypad||this.initGamepad()}},Cn={top:`up`,bottom:`down`,left:`left`,right:`right`,top_left:[`up`,`left`],top_right:[`up`,`right`],bottom_left:[`down`,`left`],bottom_right:[`down`,`right`]},wn=class extends $t{constructor(...e){super(...e),this.joystickEnabled=!0,this.joystickConfig={enabled:!0,directionMapping:Cn,moveInterval:50,threshold:.1},this.joystickMoving=!1,this.joystickDirections={},this.joystickLastUpdate=0,this.joystickMoveInterval=null,this.currentPower=0}setupListeners(){}cleanup(){this.joystickMoveInterval&&=(clearInterval(this.joystickMoveInterval),null)}preStep(){this.stop}handleJoystickChange(e){if(!this.joystickEnabled||!this.joystickConfig.enabled||this.stop)return;if(this.joystickLastUpdate=Date.now(),this.currentPower=e.power,e.power<(this.joystickConfig.threshold||.1)){this.stopAllMovements();return}let t=(this.joystickConfig.directionMapping||Cn)[e.direction];if(!t){this.stopAllMovements();return}let n=Array.isArray(t)?t:[t],r=this.joystickDirections,i={};n.forEach(e=>{i[e]=!0});let a=new Set([...Object.keys(this.joystickDirections),...Object.keys(i)]);for(let e of a){let t=this.joystickDirections[e],n=i[e]||!1;t&&!n&&this.applyControl(e,!1).catch(()=>{})}this.joystickDirections={...i},this.joystickMoving=!0;let o=n.filter(e=>!r[e]);for(let t of o)this.applyControl(t,!0,{power:e.power}).catch(()=>{});this.joystickMoveInterval||=setInterval(()=>{this.processJoystickMovement()},this.joystickConfig.moveInterval||50)}handleJoystickStart(){!this.joystickEnabled||!this.joystickConfig.enabled||this.stop}handleJoystickEnd(){!this.joystickEnabled||!this.joystickConfig.enabled||this.stopAllMovements()}stopAllMovements(){this.joystickMoveInterval&&=(clearInterval(this.joystickMoveInterval),null);let e=Object.keys(this.joystickDirections);for(let t of e)this.applyControl(t,!1).catch(()=>{});this.joystickDirections={},this.joystickMoving=!1,this.currentPower=0}processJoystickMovement(){if(this.joystickMoving&&!this.stop)for(let e in this.joystickDirections)this.joystickDirections[e]&&this.applyControl(e,!0,{power:this.currentPower}).catch(()=>{})}updateJoystickConfig(e){this.joystickConfig={enabled:e.enabled===void 0?!0:e.enabled,directionMapping:e.directionMapping||Cn,moveInterval:e.moveInterval||50,threshold:e.threshold||.1}}extractJoystickConfig(e){e.joystick&&this.updateJoystickConfig(e.joystick)}getJoystickConfig(){return this.joystickConfig}async applyControl(e,t,n){if(!this._controlsOptions[e])return;let r=Object.keys(this.boundKeys);for(let i of r){let r=this.boundKeys[i];if(r.actionName===String(e)){if(t===void 0){if(r.options.keyDown){let e=n??r.parameters;typeof e==`function`&&(e=e()),r.options.keyDown(r,e)}return new Promise(e=>{setTimeout(()=>{if(r.options.keyUp){let e=n??r.parameters;typeof e==`function`&&(e=e()),r.options.keyUp(r,e)}e()},200)})}else if(t){if(r.options.keyDown){let e=n??r.parameters;typeof e==`function`&&(e=e()),r.options.keyDown(r,e)}}else if(r.options.keyUp){let e=n??r.parameters;typeof e==`function`&&(e=e()),r.options.keyUp(r,e)}break}}}setInputs(e){super.setInputs(e),this.extractJoystickConfig(e)}isActive(){return this.joystickMoving}},Tn={},P=class{};function F(e,t){Tn[e]=t}function En(e,t){if(!Tn[t])return null;let n=new Tn[t];return n.onInit?.(e),n}var Dn=Object.defineProperty,I=(e,t)=>Dn(e,`name`,{value:t,configurable:!0}),On=class extends Pe{static{I(this,`ArraySubject`)}_items=[];constructor(e=[]){super({type:`init`,items:e}),this.createProxy(e)}createProxy(e){this._items=new Proxy(e,{get:I((e,t,n)=>{let r=e[t];return typeof r==`function`?(...n)=>{let i=`update`,a,o=!1,s=[],c=!0;switch(t){case`push`:a=e.length,i=`add`,o=!0;break;case`pop`:a=e.length-1,i=`remove`,o=!0;break;case`unshift`:a=0,i=`add`,o=!0;break;case`shift`:a=0,i=`remove`,o=!0;break;case`splice`:a=n[0];let t=n[1],r=n.slice(2);s=r,t>0&&r.length===0?i=`remove`:t===0&&r.length>0?i=`add`:t===0&&r.length===0?c=!1:i=`update`,o=!0;break}let l=r.apply(e,n);return o&&c&&(t===`splice`?this.next({type:i,index:a,items:s}):this.next({type:i,index:a,items:n})),l}:Reflect.get(e,t,n)},`get`),set:I((e,t,n)=>{let r=isNaN(Number(t))?void 0:Number(t);return e[t]=n,this.next({type:`update`,index:r,items:[n]}),!0},`set`)})}get items(){return this._items}set items(e){this.createProxy(e),this.next({type:`reset`,items:e})}},kn=I(e=>`_items`in e,`isArraySubject`),An=class extends Pe{static{I(this,`ObjectSubject`)}_obj;constructor(e={}){super({type:`init`,value:e}),this.createProxy(e)}createProxy(e){this._obj=new Proxy(e,{get:I((e,t,n)=>Reflect.get(e,t,n),`get`),set:I((e,t,n,r)=>{let i=t,a=i in e?`update`:`add`;return e[i]=n,this.next({type:a,key:i,value:n}),!0},`set`),deleteProperty:I((e,t)=>{let n=t;if(n in e){let t=e[n];return delete e[n],this.next({type:`remove`,key:n,value:t}),!0}return!1},`deleteProperty`)})}get obj(){return this._obj}set obj(e){this.createProxy(e),this.next({type:`reset`,value:e})}},jn=I(e=>`_obj`in e,`isObjectSubject`),L=I(()=>{let e=`__REACTIVE_STORE__`;if(typeof globalThis<`u`)return globalThis[e]||(globalThis[e]={currentDependencyTracker:null,currentSubscriptionsTracker:null}),globalThis[e];let t;if(typeof window<`u`)t=window;else if(typeof process<`u`&&process.versions&&process.versions.node)t=Function(`return this`)();else if(typeof self<`u`)t=self;else return console.warn(`Unable to find global object, using local instance`),{currentDependencyTracker:null,currentSubscriptionsTracker:null};return t[e]||(t[e]={currentDependencyTracker:null,currentSubscriptionsTracker:null}),t[e]},`getGlobalReactiveStore`)(),Mn=I(e=>{L.currentDependencyTracker&&L.currentDependencyTracker(e)},`trackDependency`);function R(e,t){let n;n=Array.isArray(e)?new On(e):typeof e==`object`&&e?new An(e):new Pe(e);let r=I(()=>n instanceof On?n.items:n instanceof An?n.obj:n.value,`getValue`),i=I(function(){return Mn(i),r()},`fn`);return i.set=e=>{let i=r(),a=!0;a=t?.equal?!t.equal(i,e):i!==e,a&&(n instanceof On?n.items=e:n instanceof An?n.obj=e:n.next(e))},i._isFrozen=!1,i.freeze=()=>{i._isFrozen=!0},i.unfreeze=()=>{i._isFrozen=!1,n instanceof On?n.next({type:`init`,items:n.items}):n instanceof An?n.next({type:`init`,value:n.obj}):n.next(n.value)},i.mutate=e=>{e(r())},i.update=e=>{let t=e(r());i.set(t)},i.observable=n.asObservable().pipe(jt(()=>!i._isFrozen)),i._subject=n,i}I(R,`signal`);function z(e){return!!(e&&e.observable)}I(z,`isSignal`);function Nn(e){return z(e)&&!!e.dependencies}I(Nn,`isComputed`);function B(e,t){let n=new Set,r=!0,i,a=L.currentDependencyTracker;L.currentDependencyTracker=e=>{n.add(e)},i=e(),e.isEffect&&(t=i),L.currentDependencyTracker=a;let o=Dt([...n].map(e=>{if(Nn(e)&&`dependencies`in e){let t=e;if(t.dependencies.size===0)return new Pe(t()).asObservable()}return e.observable})).pipe(jt(()=>!r),gt(()=>e()),Mt(()=>t?.())),s=I(function(){return Mn(s),i},`fn`);return s.observable=o,s.subscription=o.subscribe(e=>{i=e}),s.dependencies=n,L.currentSubscriptionsTracker?.(s.subscription),r=!1,s}I(B,`computed`);function Pn(e,t){let n=new Set,r=!0,i,a,o,s,c,l,u=!1,d,f=0,p=null;if(typeof e==`function`)a=e,c=t?.equal;else{let t=e;if(o=t.source,s=t.computation,c=t.equal,typeof o==`function`&&!z(o)){let e=o;a=I(()=>{let t=e();if(s.length>1){let e=s(t,l);return l={source:t,value:e},e}else{let e=s(t);return l={source:t,value:e},e}},`computeFunction`)}else{let e=o;a=I(()=>{let t=e();if(s.length>1){let e=s(t,l);return l={source:t,value:e},e}else{let e=s(t);return l={source:t,value:e},e}},`computeFunction`)}}let m=L.currentDependencyTracker;L.currentDependencyTracker=e=>{n.add(e)},o&&typeof o==`function`&&!z(o)||o&&z(o)&&n.add(o),i=a(),L.currentDependencyTracker=m;let h=new Pe(i),g=[...n].map(e=>{if(Nn(e)&&`dependencies`in e){let t=e;if(t.dependencies.size===0)return new Pe(t()).asObservable()}return e.observable}),_;_=g.length>0?Dt(g).pipe(jt(()=>!r),gt(()=>{let e=a();return c?c(i,e)||(i=e,u=!1):i!==e&&(i=e,u=!1),i})):h.asObservable().pipe(jt(()=>!r));let v=I(function(){if(Mn(v),u&&n.size>0){if(p!==f){let e=a();return u=!1,d=void 0,i=e,p=null,e}return d}return u?d:(n.size===0&&(i=a()),i)},`fn`);return v.observable=new A(e=>{let t=_.subscribe(t=>{n.size>0?(f++,u=!1,p=null,i=t):i=t,e.next(t)}),a;return n.size===0&&(a=h.pipe(jt(()=>!r)).subscribe(t=>{e.next(t)})),e.next(i),()=>{t.unsubscribe(),a&&a.unsubscribe()}}),v.subscription=v.observable.subscribe(()=>{}),v.dependencies=n,v._subject=h,v.set=e=>{u||(p=f,s&&o&&(l={source:Fn(()=>{if(typeof o==`function`){let e=o;return z(e)?e():o()}return o()}),value:e})),u=!0,d=e,i=e,h.next(e)},L.currentSubscriptionsTracker?.(v.subscription),r=!1,v}I(Pn,`linkedSignal`);function Fn(e){let t=L.currentDependencyTracker,n=L.currentSubscriptionsTracker;L.currentDependencyTracker=null,L.currentSubscriptionsTracker=null;try{return e()}finally{L.currentDependencyTracker=t,L.currentSubscriptionsTracker=n}}I(Fn,`untracked`);function V(e){return e.isEffect=!0,B(e)}I(V,`effect`);function In(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}var Ln=(e,t,n)=>Math.min(Math.max(n,e),t),Rn=.001,zn=.01,Bn=.05;function Vn({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,a,o=1-t;o=Ln(Bn,1,o),e=Ln(zn,10,e/1e3),o<1?(i=t=>{let r=t*o,i=r*e,a=r-n,s=Wn(t,o),c=Math.exp(-i);return Rn-a/s*c},a=t=>{let r=t*o*e,a=r*n+n,s=o**2*t**2*e,c=Math.exp(-r),l=Wn(t**2,o);return(-i(t)+Rn>0?-1:1)*((a-s)*c)/l}):(i=t=>{let r=Math.exp(-t*e),i=(t-n)*e+1;return-Rn+r*i},a=t=>Math.exp(-t*e)*((n-t)*(e*e)));let s=5/e,c=Un(i,a,s);if(e*=1e3,isNaN(c))return{stiffness:100,damping:10,duration:e};{let t=c**2*r;return{stiffness:t,damping:o*2*Math.sqrt(r*t),duration:e}}}var Hn=12;function Un(e,t,n){let r=n;for(let n=1;n<Hn;n++)r-=e(r)/t(r);return r}function Wn(e,t){return e*Math.sqrt(1-t*t)}var Gn=[`duration`,`bounce`],Kn=[`stiffness`,`damping`,`mass`];function qn(e,t){return t.some(t=>e[t]!==void 0)}function Jn(e){let t=Object.assign({velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1},e);if(!qn(e,Kn)&&qn(e,Gn)){let n=Vn(e);t=Object.assign(Object.assign(Object.assign({},t),n),{velocity:0,mass:1}),t.isResolvedFromDuration=!0}return t}function Yn(e){var{from:t=0,to:n=1,restSpeed:r=2,restDelta:i}=e,a=In(e,[`from`,`to`,`restSpeed`,`restDelta`]);let o={done:!1,value:t},{stiffness:s,damping:c,mass:l,velocity:u,duration:d,isResolvedFromDuration:f}=Jn(a),p=Xn,m=Xn;function h(){let e=u?-(u/1e3):0,r=n-t,a=c/(2*Math.sqrt(s*l)),o=Math.sqrt(s/l)/1e3;if(i===void 0&&(i=Math.min(Math.abs(n-t)/100,.4)),a<1){let t=Wn(o,a);p=i=>{let s=Math.exp(-a*o*i);return n-s*((e+a*o*r)/t*Math.sin(t*i)+r*Math.cos(t*i))},m=n=>{let i=Math.exp(-a*o*n);return a*o*i*(Math.sin(t*n)*(e+a*o*r)/t+r*Math.cos(t*n))-i*(Math.cos(t*n)*(e+a*o*r)-t*r*Math.sin(t*n))}}else if(a===1)p=t=>n-Math.exp(-o*t)*(r+(e+o*r)*t);else{let t=o*Math.sqrt(a*a-1);p=i=>{let s=Math.exp(-a*o*i),c=Math.min(t*i,300);return n-s*((e+a*o*r)*Math.sinh(c)+t*r*Math.cosh(c))/t}}}return h(),{next:e=>{let t=p(e);if(f)o.done=e>=d;else{let a=m(e)*1e3,s=Math.abs(a)<=r,c=Math.abs(n-t)<=i;o.done=s&&c}return o.value=o.done?n:t,o},flipTarget:()=>{u=-u,[t,n]=[n,t],h()}}}Yn.needsInterpolation=(e,t)=>typeof e==`string`||typeof t==`string`;var Xn=e=>0,Zn=(e,t,n)=>{let r=t-e;return r===0?1:(n-e)/r},Qn=(e,t,n)=>-n*e+n*t+e,$n=(e,t)=>n=>Math.max(Math.min(n,t),e),er=e=>e%1?Number(e.toFixed(5)):e,tr=/(-)?([\d]*\.?[\d])+/g,nr=/(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,rr=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function ir(e){return typeof e==`string`}var ar={test:e=>typeof e==`number`,parse:parseFloat,transform:e=>e},or=Object.assign(Object.assign({},ar),{transform:$n(0,1)});Object.assign(Object.assign({},ar),{default:1});var sr=(e=>({test:t=>ir(t)&&t.endsWith(e)&&t.split(` `).length===1,parse:parseFloat,transform:t=>`${t}${e}`}))(`%`);Object.assign(Object.assign({},sr),{parse:e=>sr.parse(e)/100,transform:e=>sr.transform(e*100)});var cr=(e,t)=>n=>!!(ir(n)&&rr.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),lr=(e,t,n)=>r=>{if(!ir(r))return r;let[i,a,o,s]=r.match(tr);return{[e]:parseFloat(i),[t]:parseFloat(a),[n]:parseFloat(o),alpha:s===void 0?1:parseFloat(s)}},ur={test:cr(`hsl`,`hue`),parse:lr(`hue`,`saturation`,`lightness`),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>`hsla(`+Math.round(e)+`, `+sr.transform(er(t))+`, `+sr.transform(er(n))+`, `+er(or.transform(r))+`)`},dr=$n(0,255),fr=Object.assign(Object.assign({},ar),{transform:e=>Math.round(dr(e))}),pr={test:cr(`rgb`,`red`),parse:lr(`red`,`green`,`blue`),transform:({red:e,green:t,blue:n,alpha:r=1})=>`rgba(`+fr.transform(e)+`, `+fr.transform(t)+`, `+fr.transform(n)+`, `+er(or.transform(r))+`)`};function mr(e){let t=``,n=``,r=``,i=``;return e.length>5?(t=e.substr(1,2),n=e.substr(3,2),r=e.substr(5,2),i=e.substr(7,2)):(t=e.substr(1,1),n=e.substr(2,1),r=e.substr(3,1),i=e.substr(4,1),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}var hr={test:cr(`#`),parse:mr,transform:pr.transform},gr={test:e=>pr.test(e)||hr.test(e)||ur.test(e),parse:e=>pr.test(e)?pr.parse(e):ur.test(e)?ur.parse(e):hr.parse(e),transform:e=>ir(e)?e:e.hasOwnProperty(`red`)?pr.transform(e):ur.transform(e)},_r="${c}",vr="${n}";function yr(e){return isNaN(e)&&ir(e)&&(e.match(tr)?.length??0)+(e.match(nr)?.length??0)>0}function br(e){typeof e==`number`&&(e=`${e}`);let t=[],n=0,r=e.match(nr);r&&(n=r.length,e=e.replace(nr,_r),t.push(...r.map(gr.parse)));let i=e.match(tr);return i&&(e=e.replace(tr,vr),t.push(...i.map(ar.parse))),{values:t,numColors:n,tokenised:e}}function xr(e){return br(e).values}function Sr(e){let{values:t,numColors:n,tokenised:r}=br(e),i=t.length;return e=>{let t=r;for(let r=0;r<i;r++)t=t.replace(r<n?_r:vr,r<n?gr.transform(e[r]):er(e[r]));return t}}var Cr=e=>typeof e==`number`?0:e;function wr(e){let t=xr(e);return Sr(e)(t.map(Cr))}var Tr={test:yr,parse:xr,createTransformer:Sr,getAnimatableNone:wr};function Er(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Dr({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,a=0,o=0;if(!t)i=a=o=n;else{let r=n<.5?n*(1+t):n+t-n*t,s=2*n-r;i=Er(s,r,e+1/3),a=Er(s,r,e),o=Er(s,r,e-1/3)}return{red:Math.round(i*255),green:Math.round(a*255),blue:Math.round(o*255),alpha:r}}var Or=(e,t,n)=>{let r=e*e,i=t*t;return Math.sqrt(Math.max(0,n*(i-r)+r))},kr=[hr,pr,ur],Ar=e=>kr.find(t=>t.test(e)),jr=e=>`'${e}' is not an animatable color. Use the equivalent color code instead.`,Mr=(e,t)=>{let n=Ar(e),r=Ar(t);jr(e),jr(t);let i=n.parse(e),a=r.parse(t);n===ur&&(i=Dr(i),n=pr),r===ur&&(a=Dr(a),r=pr);let o=Object.assign({},i);return e=>{for(let t in o)t!==`alpha`&&(o[t]=Or(i[t],a[t],e));return o.alpha=Qn(i.alpha,a.alpha,e),n.transform(o)}},Nr=e=>typeof e==`number`,Pr=(e,t)=>n=>t(e(n)),Fr=(...e)=>e.reduce(Pr);function Ir(e,t){return Nr(e)?n=>Qn(e,t,n):gr.test(e)?Mr(e,t):Br(e,t)}var Lr=(e,t)=>{let n=[...e],r=n.length,i=e.map((e,n)=>Ir(e,t[n]));return e=>{for(let t=0;t<r;t++)n[t]=i[t](e);return n}},Rr=(e,t)=>{let n=Object.assign(Object.assign({},e),t),r={};for(let i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=Ir(e[i],t[i]));return e=>{for(let t in r)n[t]=r[t](e);return n}};function zr(e){let t=Tr.parse(e),n=t.length,r=0,i=0,a=0;for(let e=0;e<n;e++)r||typeof t[e]==`number`?r++:t[e].hue===void 0?i++:a++;return{parsed:t,numNumbers:r,numRGB:i,numHSL:a}}var Br=(e,t)=>{let n=Tr.createTransformer(t),r=zr(e),i=zr(t);return r.numHSL===i.numHSL&&r.numRGB===i.numRGB&&r.numNumbers>=i.numNumbers?Fr(Lr(r.parsed,i.parsed),n):(`${e}${t}`,n=>`${n>0?t:e}`)},Vr=(e,t)=>n=>Qn(e,t,n);function Hr(e){if(typeof e==`number`)return Vr;if(typeof e==`string`)return gr.test(e)?Mr:Br;if(Array.isArray(e))return Lr;if(typeof e==`object`)return Rr}function Ur(e,t,n){let r=[],i=n||Hr(e[0]),a=e.length-1;for(let n=0;n<a;n++){let a=i(e[n],e[n+1]);t&&(a=Fr(Array.isArray(t)?t[n]:t,a)),r.push(a)}return r}function Wr([e,t],[n]){return r=>n(Zn(e,t,r))}function Gr(e,t){let n=e.length,r=n-1;return i=>{let a=0,o=!1;if(i<=e[0]?o=!0:i>=e[r]&&(a=r-1,o=!0),!o){let t=1;for(;t<n&&!(e[t]>i||t===r);t++);a=t-1}let s=Zn(e[a],e[a+1],i);return t[a](s)}}function Kr(e,t,{clamp:n=!0,ease:r,mixer:i}={}){let a=e.length;t.length,!r||!Array.isArray(r)||(r.length,a-1),e[0]>e[a-1]&&(e=[].concat(e),t=[].concat(t),e.reverse(),t.reverse());let o=Ur(t,r,i),s=a===2?Wr(e,o):Gr(e,o);return n?t=>s(Ln(e[0],e[a-1],t)):s}var qr=e=>t=>1-e(1-t),Jr=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Yr=e=>t=>t**+e,Xr=e=>t=>t*t*((e+1)*t-e),Zr=e=>{let t=Xr(e);return e=>(e*=2)<1?.5*t(e):.5*(2-2**(-10*(e-1)))},Qr=1.525,$r=4/11,ei=8/11,ti=9/10,ni=e=>e,ri=Yr(2),ii=qr(ri),ai=Jr(ri),oi=e=>1-Math.sin(Math.acos(e)),si=qr(oi),ci=Jr(si),li=Xr(Qr),ui=qr(li),di=Jr(li),fi=Zr(Qr),pi=4356/361,mi=35442/1805,hi=16061/1805,gi=e=>{if(e===1||e===0)return e;let t=e*e;return e<$r?7.5625*t:e<ei?9.075*t-9.9*e+3.4:e<ti?pi*t-mi*e+hi:10.8*e*e-20.52*e+10.72},_i=qr(gi),vi=e=>e<.5?.5*(1-gi(1-e*2)):.5*gi(e*2-1)+.5;function yi(e,t){return e.map(()=>t||ai).splice(0,e.length-1)}function bi(e){let t=e.length;return e.map((e,n)=>n===0?0:n/(t-1))}function xi(e,t){return e.map(e=>e*t)}function Si({from:e=0,to:t=1,ease:n,offset:r,duration:i=300}){let a={done:!1,value:e},o=Array.isArray(t)?t:[e,t],s=xi(r&&r.length===o.length?r:bi(o),i);function c(){return Kr(s,o,{ease:Array.isArray(n)?n:yi(o,n)})}let l=c();return{next:e=>(a.value=l(e),a.done=e>=i,a),flipTarget:()=>{o.reverse(),l=c()}}}function Ci({velocity:e=0,from:t=0,power:n=.8,timeConstant:r=350,restDelta:i=.5,modifyTarget:a}){let o={done:!1,value:t},s=n*e,c=t+s,l=a===void 0?c:a(c);return l!==c&&(s=l-t),{next:e=>{let t=-s*Math.exp(-e/r);return o.done=!(t>i||t<-i),o.value=o.done?l:l+t,o},flipTarget:()=>{}}}var wi={keyframes:Si,spring:Yn,decay:Ci};function Ti(e){if(Array.isArray(e.to))return Si;if(wi[e.type])return wi[e.type];let t=new Set(Object.keys(e));return t.has(`ease`)||t.has(`duration`)&&!t.has(`dampingRatio`)?Si:t.has(`dampingRatio`)||t.has(`stiffness`)||t.has(`mass`)||t.has(`damping`)||t.has(`restSpeed`)||t.has(`restDelta`)?Yn:Si}var Ei=1/60*1e3,Di=typeof performance<`u`?()=>performance.now():()=>Date.now(),Oi=typeof window<`u`?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(Di()),Ei);function ki(e){let t=[],n=[],r=0,i=!1,a=!1,o=new WeakSet,s={schedule:(e,a=!1,s=!1)=>{let c=s&&i,l=c?t:n;return a&&o.add(e),l.indexOf(e)===-1&&(l.push(e),c&&i&&(r=t.length)),e},cancel:e=>{let t=n.indexOf(e);t!==-1&&n.splice(t,1),o.delete(e)},process:c=>{if(i){a=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let n=0;n<r;n++){let r=t[n];r(c),o.has(r)&&(s.schedule(r),e())}i=!1,a&&(a=!1,s.process(c))}};return s}var Ai=40,ji=!0,Mi=!1,Ni=!1,Pi={delta:0,timestamp:0},Fi=[`read`,`update`,`preRender`,`render`,`postRender`],Ii=Fi.reduce((e,t)=>(e[t]=ki(()=>Mi=!0),e),{}),Li=Fi.reduce((e,t)=>{let n=Ii[t];return e[t]=(e,t=!1,r=!1)=>(Mi||Vi(),n.schedule(e,t,r)),e},{}),Ri=Fi.reduce((e,t)=>(e[t]=Ii[t].cancel,e),{});Fi.reduce((e,t)=>(e[t]=()=>Ii[t].process(Pi),e),{});var zi=e=>Ii[e].process(Pi),Bi=e=>{Mi=!1,Pi.delta=ji?Ei:Math.max(Math.min(e-Pi.timestamp,Ai),1),Pi.timestamp=e,Ni=!0,Fi.forEach(zi),Ni=!1,Mi&&(ji=!1,Oi(Bi))},Vi=()=>{Mi=!0,ji=!0,Ni||Oi(Bi)};function Hi(e,t,n=0){return e-t-n}function Ui(e,t,n=0,r=!0){return r?Hi(t+-e,t,n):t-(e-t)+n}function Wi(e,t,n,r){return r?e>=t+n:e<=-n}var Gi=e=>{let t=({delta:t})=>e(t);return{start:()=>Li.update(t,!0),stop:()=>Ri.update(t)}};function Ki(e){var t,{from:n,autoplay:r=!0,driver:i=Gi,elapsed:a=0,repeat:o=0,repeatType:s=`loop`,repeatDelay:c=0,onPlay:l,onStop:u,onComplete:d,onRepeat:f,onUpdate:p}=e,m=In(e,[`from`,`autoplay`,`driver`,`elapsed`,`repeat`,`repeatType`,`repeatDelay`,`onPlay`,`onStop`,`onComplete`,`onRepeat`,`onUpdate`]);let{to:h}=m,g,_=0,v=m.duration,y,b=!1,x=!0,S,C=Ti(m);(t=C).needsInterpolation?.call(t,n,h)&&(S=Kr([0,100],[n,h],{clamp:!1}),n=0,h=100);let ee=C(Object.assign(Object.assign({},m),{from:n,to:h}));function w(){_++,s===`reverse`?(x=_%2==0,a=Ui(a,v,c,x)):(a=Hi(a,v,c),s===`mirror`&&ee.flipTarget()),b=!1,f&&f()}function te(){g.stop(),d&&d()}function ne(e){if(x||(e=-e),a+=e,!b){let e=ee.next(Math.max(0,a));y=e.value,S&&(y=S(y)),b=x?e.done:a<=0}p?.(y),b&&(_===0&&(v??=a),_<o?Wi(a,v,c,x)&&w():te())}function T(){l?.(),g=i(ne),g.start()}return r&&T(),{stop:()=>{u?.(),g.stop()}}}var qi=e=>{if(typeof e==`number`)return t=>Math.round(t/e)*e;{let t=0,n=e.length;return r=>{let i=Math.abs(e[0]-r);for(t=1;t<n;t++){let a=e[t],o=Math.abs(a-r);if(o===0)return a;if(o>i)return e[t-1];if(t===n-1)return a;i=o}}}};function Ji(){return globalThis.__CANVAS_ENGINE_TICK__}function Yi(e){return e.animatedState!==void 0}function Xi(e,t={}){let n={current:e,start:e,end:e},r=null,i=!1,a=R(e),o=R(n);V(()=>{let e=o();a.set(e.current)});function s(e,n={}){if(e===void 0)return o();let a=o(),s={current:a.current,start:a.current,end:e};o.set(s),r&&=(r.stop(),null),i=!1;let c={...t,...n},l=c.duration??20,u=c.ease??(e=>e);c.tick||Ji();let d=a.current,f=e,p=n.onComplete??t.onComplete;r=Ki({from:d,to:f,duration:l,ease:u,onUpdate:e=>{if(i)return;let t=e;o.update(e=>({...e,current:t})),c.onUpdate?.(t),n.onUpdate?.(t)},onComplete:()=>{o.update(e=>({...e,current:f})),p?.()}})}let c=function(){return o().current};for(let e in a)c[e]=a[e];return c.animatedState=o,c.update=e=>{s(e(o().current))},c.set=async(e,n={})=>new Promise(r=>{let i=n.onComplete;s(e,{...n,onComplete:()=>{i?i():t.onComplete&&t.onComplete(),r()}})}),c.pause=()=>{i||(i=!0,r&&=(r.stop(),null))},c.resume=()=>{if(!i)return;i=!1;let e=o();e.current!==e.end&&s(e.end,t)},c}async function Zi(e){for(let t of e)Array.isArray(t)?await Promise.all(t.map(e=>e())):await t()}var Qi={},$i=e=>e&&typeof e==`object`&&`tag`in e&&`props`in e&&`componentInstance`in e,ea=e=>typeof e==`string`||typeof e==`number`||typeof e==`boolean`||e==null,ta={Sprite:`DOMSprite`},na=new Set([`DOMContainer`,`DOMElement`,`DOMSprite`]),ra=new Set([`Canvas`,`Container`,`Graphics`,`Rect`,`Circle`,`Ellipse`,`Triangle`,`Svg`,`Mesh`,`Scene`,`ParticlesEmitter`,`Sprite`,`Video`,`Text`,`TilingSprite`,`Viewport`,`NineSliceSprite`,`Button`,`Joystick`,`FocusContainer`]),ia=e=>{let t=e;for(;t;){if(t.tag===`DOMContainer`||t.tag===`DOMElement`)return!0;t=t.parent}return!1},aa=e=>{e.propSubscriptions?.forEach(e=>e.unsubscribe()),e.effectSubscriptions?.forEach(e=>e.unsubscribe()),e.effectUnmounts?.forEach(e=>e?.())},oa=(e,t)=>{if(!ia(e)||na.has(t.tag))return t;let n=ta[t.tag];if(n)return aa(t),W(n,t.propObservables??t.props);if(ra.has(t.tag))throw Error(`Component ${t.tag} is not implemented for DOMContainer context yet. Only Sprite is supported.`);return t};function H(e,t){Qi[e]=t}var sa=!1;function ca(){sa||=!0}async function la(e){return(await Promise.all(e.map(async e=>z(e)?e():Bt(e)?await e:e))).every(e=>e!==void 0)}function ua(e){return new Promise(async t=>{if(await la(e)){t();return}let n=e.filter(e=>z(e));if(n.length===0)return;let r=Dt(n.map(e=>e.observable)).subscribe(async()=>{await la(e)&&(r.unsubscribe(),t())})})}function da(e){if(!e)return!1;let t=e.propObservables?.freeze??e.props?.freeze;if(t!=null){if(z(t)){if(t()===!0)return!0}else if(t===!0)return!0}return e.parent?da(e.parent):!1}function fa(e,t){if(!e.propObservables)return;let n=e=>{if(z(e)&&Yi(e)){let n=e;t?n.pause():n.resume()}else Gt(e)&&!$i(e)&&Object.values(e).forEach(n)};Object.values(e.propObservables).forEach(n)}function U(e){if(Array.isArray(e)){e.forEach(e=>U(e));return}if(e){if(e.props?.children)for(let t of e.props.children)U(t);for(let t in e.directives)e.directives[t].onDestroy?.(e);e.componentInstance&&e.componentInstance.onDestroy?e.componentInstance.onDestroy(e.parent,()=>{e.propSubscriptions?.forEach(e=>e.unsubscribe()),e.effectSubscriptions?.forEach(e=>e.unsubscribe()),e.effectUnmounts?.forEach(e=>{Bt(e)?e.then(e=>{e?.()}):e?.()})}):(e.propSubscriptions?.forEach(e=>e.unsubscribe()),e.effectSubscriptions?.forEach(e=>e.unsubscribe()),e.effectUnmounts?.forEach(e=>e?.()))}}function W(e,t){if(!Qi[e])throw Error(`Component ${e} is not registered`);let n=new Qi[e],r={tag:e,props:{},componentInstance:n,propSubscriptions:[],propObservables:t,parent:null,directives:{},effectUnmounts:[],effectSubscriptions:[],effectMounts:[],destroy(){U(this)},allElements:new Me,isFrozen:!1};if(t){let e=(t,i=``)=>{let a=(e,t,n)=>{if(e==``){r.props[t]=n;return}qt(r.props,e+`.`+t,n)};Object.entries(t).forEach(([t,o])=>{if(z(o)){let e=o;if(`dependencies`in e&&e.dependencies.size==0){a(i,t,e()),t===`freeze`&&(r.isFrozen=e()===!0);return}if(t===`freeze`){r.isFrozen=e()===!0,fa(r,r.isFrozen),r.propSubscriptions.push(e.observable.subscribe(e=>{let t=r.isFrozen;r.isFrozen=e===!0,t!==r.isFrozen&&fa(r,r.isFrozen)}));return}r.propSubscriptions.push(e.observable.subscribe(o=>{if(da(r)){Yi(e)&&e.pause();return}if(Yi(e)&&e.resume(),a(i,t,o),r.directives[t]&&r.directives[t].onUpdate?.(o,r),t==`tick`)return da(r),void 0;n.onUpdate?.(i==``?{[t]:o}:qt({},i+`.`+t,o))}))}else t===`freeze`&&(r.isFrozen=o===!0,fa(r,r.isFrozen)),Gt(o)&&t!=`context`&&!$i(o)?e(o,(i?i+`.`:``)+t):a(i,t,o)})};e(t)}n.onInit?.(r.props);let i=new Me;if(t?.isRoot&&(r.allElements=i,r.props.context.rootElement=r,r.componentInstance.onMount?.(r),c(r)),t)for(let e in t){let t=En(r,e);t&&(r.directives[e]=t)}function a(e,t,n,r){let i=n.filter(e=>z(e));if(n.filter(e=>Bt(e)),i.length===0)return;let a=Dt(i.map(e=>e.observable)).subscribe(async()=>{if(await la(n)){a.unsubscribe();let n=t.propSubscriptions.indexOf(a);n>-1&&t.propSubscriptions.splice(n,1),o(e,t,r),c(t)}});t.propSubscriptions.push(a)}function o(e,t,n){t.componentInstance.onMount?.(t,n);for(let e in t.directives)t.directives[e].onMount?.(t);t.effectMounts.forEach(e=>{t.effectUnmounts.push(e(t))})}async function s(e,t,n){let r=e;for(;r?.tag===`fragment`;)r=r.parent;if(t.props.context=r.props.context,t.parent=r,!t.propObservables?.freeze&&!t.props?.freeze&&da(r)&&(t.isFrozen=!0),t.props.dependencies&&Array.isArray(t.props.dependencies)){let e=t.props.dependencies;if(!await la(e)){a(r,t,e,n);return}}o(r,t,n)}async function c(e){if(e.props.attach&&(z(e.propObservables?.attach)?await new Promise(t=>{let n=null;e.propSubscriptions.push(e.propObservables.attach.observable.subscribe(async r=>{let i=r?.value??r;if(!i)throw Error(`attach in ${e.tag} is undefined or null, add a component`);n&&U(n),n=i,await l(e,i),t(void 0)}))}):e.props.children.push(e.props.attach)),e.props.children)for(let t=0;t<e.props.children.length;t++){let n=e.props.children[t];n&&await l(e,n,t)}}async function l(e,t,n){Bt(t)&&(t=await t);let r=e.__childGroups??=[],a=n??(e.props.children?e.props.children.indexOf(t):-1),o={order:a>=0?a:r.length,mounted:new Map};r.push(o);let u=t=>{let n=e.componentInstance?.children;if(!t||!n)return;let r=n.indexOf(t.componentInstance);return r>=0?r:void 0},d=()=>{let e=r.filter(e=>e!==o&&e.order>o.order).sort((e,t)=>e.order-t.order);for(let t of e)for(let e of t.mounted.values()){let t=u(e);if(t!==void 0)return t}},f=(e,t)=>{for(let n=e+1;n<t.length;n++){let e=u(o.mounted.get(t[n]));if(e!==void 0)return e}return d()};if(t instanceof A){let n=o.mounted,r=()=>({tag:`fragment`,props:{children:[]},componentInstance:{},propSubscriptions:[],effectSubscriptions:[],effectMounts:[],effectUnmounts:[],propObservables:{},parent:e,directives:{},destroy(){U(this)},allElements:new Me,isFrozen:!1}),a=(t,r,i)=>{if(n.has(t))return;let a=oa(e,t);n.set(t,a),s(e,a,f(r,i)),c(a)},u=e=>{n.forEach((t,r)=>{e.has(r)||(n.delete(r),t!==r&&U(t))})},d=(e,t,i,o)=>{if(e instanceof A){if(t.add(e),!n.has(e)){let t=r();n.set(e,t),l(t,e)}return}if(Array.isArray(e)){e.forEach(e=>d(e,t,i,o));return}$i(e)&&(t.add(e),a(e,i,o))},p=t.subscribe(t=>{if(t&&typeof t==`object`&&`elements`in t){let{elements:n,prev:r}=t,i=n.filter(e=>e!==null),a=new Set;if(r){i.forEach(t=>{d(t,a,e.props.children.indexOf(r.props.key)+1,i)}),u(a);return}i.forEach((e,t)=>{d(e,a,t,i)}),u(a)}else if($i(t)){let n=oa(e,t);o.mounted.set(t,n),s(e,n,f(0,[t])),c(n)}else if(Array.isArray(t)){let e=new Set;t.forEach((n,r)=>{d(n,e,r,t)}),u(e)}i.next(void 0)});p.add(()=>{n.forEach(e=>{U(e)}),n.clear()}),e.effectSubscriptions.push(p)}else if($i(t)){let n=oa(e,t);o.mounted.set(t,n),s(e,n,f(0,[t])),await c(n)}}return r}function pa(e,t){return Nn(e)&&e.dependencies.size==0?e=R(e()):z(e)||(e=R(e)),At(()=>{let n=[],r=new Map,i=!0,a=e=>e?$i(e)?e:{tag:`fragment`,props:{children:Array.isArray(e)?e:[e]},componentInstance:{},propSubscriptions:[],effectSubscriptions:[],effectMounts:[],effectUnmounts:[],propObservables:{},parent:null,directives:{},destroy(){U(this)},allElements:new Me,isFrozen:!1}:null,o=e=>Array.isArray(e());return new A(s=>{let c=o(e)?e.observable.subscribe(o=>{if(i){i=!1,n.forEach(e=>e.destroy()),n=[],r.clear();let o=e();o&&o.forEach((e,i)=>{let o=a(t(e,i));o&&(n.push(o),r.set(i,o))}),s.next({elements:[...n]});return}let c=Array.isArray(o)||o&&typeof o==`object`&&!(`type`in o);if(o.type===`init`||o.type===`reset`||c){n.forEach(e=>U(e)),n=[],r.clear();let i=e();i&&i.forEach((e,i)=>{let o=a(t(e,i));o&&(n.push(o),r.set(i,o))})}else if(o.type===`add`&&o.index!==void 0){let e=o.items.map((e,n)=>{let i=a(t(e,o.index+n));return i&&r.set(o.index+n,i),i}).filter(e=>e!==null);n.splice(o.index,0,...e)}else if(o.type===`remove`&&o.index!==void 0)n.splice(o.index,1).forEach(e=>{U(e),r.delete(o.index)});else if(o.type===`update`&&o.index!==void 0&&o.items.length===1){let e=o.index,i=o.items[0];if(e>=n.length||n[e]===void 0||!r.has(e)){let o=a(t(i,e));o?(n.splice(e,0,o),r.set(e,o)):console.warn(`Element creation returned null for index ${e} during add-like update.`)}else{let o=n[e];U(o);let s=a(t(i,e));s?(n[e]=s,r.set(e,s)):(n.splice(e,1),r.delete(e))}}s.next({elements:[...n]})}):e.observable.subscribe(o=>{let c=o.key;if(i){i=!1,n.forEach(e=>U(e)),n=[],r.clear();let o=e();o&&Object.entries(o).forEach(([e,i])=>{let o=a(t(i,e));o&&(n.push(o),r.set(e,o))}),s.next({elements:[...n]});return}if(o.type===`init`||o.type===`reset`){n.forEach(e=>U(e)),n=[],r.clear();let i=e();i&&Object.entries(i).forEach(([e,i])=>{let o=a(t(i,e));o&&(n.push(o),r.set(e,o))})}else if(o.type===`add`&&o.key&&o.value!==void 0){let e=a(t(o.value,c));e&&(n.push(e),r.set(c,e))}else if(o.type===`remove`&&o.key){let e=n.findIndex(e=>r.get(c)===e);if(e!==-1){let[t]=n.splice(e,1);U(t),r.delete(c)}}else if(o.type===`update`&&o.key&&o.value!==void 0){let e=n.findIndex(e=>r.get(c)===e);if(e!==-1){let i=n[e];U(i);let s=a(t(o.value,c));s&&(n[e]=s,r.set(c,s))}}s.next({elements:[...n]})});return()=>{c.unsubscribe(),n.forEach(e=>U(e))}})}).pipe(Ft({bufferSize:1,refCount:!0}))}function ma(e,t,...n){let r=null,i=-1,a=[],o=null,s=e=>z(e)?e:typeof e==`function`?B(e):R(e);for(let e of n)if(Array.isArray(e))a.push({condition:s(e[0]),elementFn:e[1]});else if(typeof e==`function`){o=e;break}let c=[{condition:s(e),elementFn:t},...a];return new A(e=>{let t=[],n=()=>{let t=-1;for(let e=0;e<c.length;e++){let n=c[e].condition;if(n()){t=e;break}}let n=t===-1&&o,a=n?-2:t;if(a!==i)if(r&&=(U(r),null),i=a,n){let t=o();Bt(t)?mt(t).subscribe(t=>{r=t,e.next({type:`init`,elements:[t]})}):(r=t,e.next({type:`init`,elements:[r]}))}else if(t>=0){let n=c[t].elementFn();Bt(n)?mt(n).subscribe(t=>{r=t,e.next({type:`init`,elements:[t]})}):(r=n,e.next({type:`init`,elements:[r]}))}else e.next({elements:[]})};return c.forEach(({condition:e})=>{let r=e;t.push(r.observable.subscribe(()=>{n()}))}),n(),()=>{t.forEach(e=>e.unsubscribe()),r&&U(r)}}).pipe(Nt())}var ha=class extends P{constructor(...e){super(...e),this.keyboardControls=null,this.gamepadControls=null,this.joystickControls=null,this.freezeSubscription=null,this.element=null}onInit(e){this.element=e;let t=e.props.controls?.value??e.props.controls;if(!t)return;this.keyboardControls=new rn,this.keyboardControls.setInputs(t),this.keyboardControls.start();let n=t.gamepad;n!==void 0&&n.enabled!==!1&&(this.gamepadControls=new Sn,this.gamepadControls.setInputs(t),this.gamepadControls.start());let r=t.joystick;r!==void 0&&r.enabled!==!1&&(this.joystickControls=new wn,this.joystickControls.setInputs(t),this.joystickControls.start()),da(e)&&this.stopInputs();let i=e.propObservables?.freeze??e.props?.freeze;z(i)&&(this.freezeSubscription=i.observable.subscribe(e=>{e?this.stopInputs():this.listenInputs()}))}onMount(e){}onUpdate(e,t){let n=e.controls?.value??e.controls;n&&(this.keyboardControls&&this.keyboardControls.setInputs(n),this.gamepadControls&&this.gamepadControls.setInputs(n)),e.freeze!==void 0&&this.element&&(da(this.element)?this.stopInputs():this.listenInputs())}onDestroy(e){this.freezeSubscription&&=(this.freezeSubscription.unsubscribe(),null),this.keyboardControls&&=(this.keyboardControls.destroy(),null),this.gamepadControls&&=(this.gamepadControls.destroy(),null),this.joystickControls&&=(this.joystickControls.destroy(),null),this.element=null}getControl(e){return this.keyboardControls?.getControl(e)}getControls(){return this.keyboardControls?.getControls()||{}}async applyControl(e,t,n){this.keyboardControls&&await this.keyboardControls.applyControl(e,t),this.gamepadControls&&await this.gamepadControls.applyControl(e,t,n),this.joystickControls&&await this.joystickControls.applyControl(e,t,n)}stopInputs(){this.keyboardControls&&this.keyboardControls.stopInputs(),this.gamepadControls&&this.gamepadControls.stopInputs(),this.joystickControls&&this.joystickControls.stopInputs()}listenInputs(){this.keyboardControls&&this.keyboardControls.listenInputs(),this.gamepadControls&&this.gamepadControls.listenInputs(),this.joystickControls&&this.joystickControls.listenInputs()}get options(){return this.keyboardControls?.options||{}}get keyboard(){return this.keyboardControls}get gamepad(){return this.gamepadControls}get joystick(){return this.joystickControls}};F(`controls`,ha);var ga=class extends P{constructor(...e){super(...e),this.fps=60,this.deltaTime=0,this.frame=0,this.timestamp=0,this.requestedDelay=0,this.lastTimestamp=0,this._stop=!1,this.running=!1}onInit(e){this.tick=e.propObservables?.tick}onDestroy(){this.stop()}onMount(e){}onUpdate(e){}nextTick(e){let t=typeof e==`number`&&e>0?e:Rt();this.lastTimestamp===0?(this.lastTimestamp=t,this.deltaTime=0):(this.deltaTime=t-this.lastTimestamp,this.lastTimestamp=t),this.timestamp=t,this.tick.set({timestamp:this.timestamp,deltaTime:this.deltaTime,frame:this.frame,deltaRatio:~~this.deltaTime/~~zt(this.fps)}),this.lastTimestamp=this.timestamp,this.frame++}start(e={}){if(this.running)return this;this._stop=!1,this.running=!0,e.maxFps&&(this.maxFps=e.maxFps),e.fps&&(this.fps=e.fps),e.delay&&(this.requestedDelay=e.delay);let t=e=>{Lt()?window.requestAnimationFrame(e.bind(this)):setTimeout(()=>{this.requestedDelay=0,e(Rt())},zt(this.fps)+this.requestedDelay)};if(this.maxFps){let e=zt(this.maxFps),n=Rt(),r=Rt(),i=a=>{if(this._stop)return;t(i),n=Rt();let o=n-r;o>e&&(r=n-o%e,this.nextTick(a))};t(i)}else{let e=n=>{this._stop||(t(e),this.nextTick(n))};t(e)}return this}stop(){this._stop=!0,this.running=!1}};F(`tick`,ga);var _a=(e,t={})=>{if(z(e))return e();let n={};for(let t in e){let r=e[t];n[t]=ea(r)?R(r):r}for(let e in t)e in n||(n[e]=ea(t[e])?R(t[e]):t[e]);return n},va=e=>t=>{let n=z(e)?e():e,r={};for(let e in t){let i=t[e],a=n[e],o;if(typeof i==`function`)ya(e,a,[i]),o=a;else if(Array.isArray(i))ya(e,a,i),o=a;else if(i&&typeof i==`object`){if(i.required&&a===void 0)throw Error(`Missing required prop: ${e}`);if(i.type&&ya(e,a,Array.isArray(i.type)?i.type:[i.type]),i.validator&&!i.validator(a,n))throw Error(`Invalid prop: custom validation failed for prop "${e}"`);o=a===void 0&&`default`in i?typeof i.default==`function`?i.default(n):i.default:a}r[e]=z(o)?o:R(o)}return{..._a(n),...r}};function ya(e,t,n){if(t==null)return;let r=z(t)?t():t;if(!n.some(e=>e===Number?typeof r==`number`:e===String?typeof r==`string`:e===Boolean?typeof r==`boolean`:e===Function?typeof r==`function`:e===Object?typeof r==`object`:e===Array?Array.isArray(r):e===null?r===null:r instanceof e))throw Error(`Invalid prop: type check failed for prop "${e}". Expected ${n.map(e=>e.name).join(` or `)}`)}var ba=class extends P{onInit(e){}onMount(e){this.onUpdate(e.props.viewportFollow,e)}onUpdate(e,t){let n=t.props.context?.viewport;if(!n){if(e)throw Xt(`ViewportFollow directive requires a Viewport component to be mounted in the same context`);return}if(e)if(e===!0)n.follow(t.componentInstance);else{let r=_a(e,{speed:void 0,acceleration:void 0,radius:void 0});n.follow(t.componentInstance,{speed:r.speed(),acceleration:r.acceleration(),radius:r.radius()})}else e===null&&n.plugins.remove(`follow`)}onDestroy(e){let{viewportFollow:t}=e.props,n=e.props.context?.viewport;t&&n&&n.plugins.remove(`follow`)}};F(`viewportFollow`,ba);var xa=f(l((e=>{(function(){"use strict";var t=function(){this.init()};t.prototype={init:function(){var e=this||n;return e._counter=1e3,e._html5AudioPool=[],e.html5PoolSize=10,e._codecs={},e._howls=[],e._muted=!1,e._volume=1,e._canPlayEvent=`canplaythrough`,e._navigator=typeof window<`u`&&window.navigator?window.navigator:null,e.masterGain=null,e.noAudio=!1,e.usingWebAudio=!0,e.autoSuspend=!0,e.ctx=null,e.autoUnlock=!0,e._setup(),e},volume:function(e){var t=this||n;if(e=parseFloat(e),t.ctx||u(),e!==void 0&&e>=0&&e<=1){if(t._volume=e,t._muted)return t;t.usingWebAudio&&t.masterGain.gain.setValueAtTime(e,n.ctx.currentTime);for(var r=0;r<t._howls.length;r++)if(!t._howls[r]._webAudio)for(var i=t._howls[r]._getSoundIds(),a=0;a<i.length;a++){var o=t._howls[r]._soundById(i[a]);o&&o._node&&(o._node.volume=o._volume*e)}return t}return t._volume},mute:function(e){var t=this||n;t.ctx||u(),t._muted=e,t.usingWebAudio&&t.masterGain.gain.setValueAtTime(e?0:t._volume,n.ctx.currentTime);for(var r=0;r<t._howls.length;r++)if(!t._howls[r]._webAudio)for(var i=t._howls[r]._getSoundIds(),a=0;a<i.length;a++){var o=t._howls[r]._soundById(i[a]);o&&o._node&&(o._node.muted=e?!0:o._muted)}return t},stop:function(){for(var e=this||n,t=0;t<e._howls.length;t++)e._howls[t].stop();return e},unload:function(){for(var e=this||n,t=e._howls.length-1;t>=0;t--)e._howls[t].unload();return e.usingWebAudio&&e.ctx&&e.ctx.close!==void 0&&(e.ctx.close(),e.ctx=null,u()),e},codecs:function(e){return(this||n)._codecs[e.replace(/^x-/,``)]},_setup:function(){var e=this||n;if(e.state=e.ctx&&e.ctx.state||`suspended`,e._autoSuspend(),!e.usingWebAudio)if(typeof Audio<`u`)try{var t=new Audio;t.oncanplaythrough===void 0&&(e._canPlayEvent=`canplay`)}catch{e.noAudio=!0}else e.noAudio=!0;try{var t=new Audio;t.muted&&(e.noAudio=!0)}catch{}return e.noAudio||e._setupCodecs(),e},_setupCodecs:function(){var e=this||n,t=null;try{t=typeof Audio<`u`?new Audio:null}catch{return e}if(!t||typeof t.canPlayType!=`function`)return e;var r=t.canPlayType(`audio/mpeg;`).replace(/^no$/,``),i=e._navigator?e._navigator.userAgent:``,a=i.match(/OPR\/(\d+)/g),o=a&&parseInt(a[0].split(`/`)[1],10)<33,s=i.indexOf(`Safari`)!==-1&&i.indexOf(`Chrome`)===-1,c=i.match(/Version\/(.*?) /),l=s&&c&&parseInt(c[1],10)<15;return e._codecs={mp3:!!(!o&&(r||t.canPlayType(`audio/mp3;`).replace(/^no$/,``))),mpeg:!!r,opus:!!t.canPlayType(`audio/ogg; codecs="opus"`).replace(/^no$/,``),ogg:!!t.canPlayType(`audio/ogg; codecs="vorbis"`).replace(/^no$/,``),oga:!!t.canPlayType(`audio/ogg; codecs="vorbis"`).replace(/^no$/,``),wav:!!(t.canPlayType(`audio/wav; codecs="1"`)||t.canPlayType(`audio/wav`)).replace(/^no$/,``),aac:!!t.canPlayType(`audio/aac;`).replace(/^no$/,``),caf:!!t.canPlayType(`audio/x-caf;`).replace(/^no$/,``),m4a:!!(t.canPlayType(`audio/x-m4a;`)||t.canPlayType(`audio/m4a;`)||t.canPlayType(`audio/aac;`)).replace(/^no$/,``),m4b:!!(t.canPlayType(`audio/x-m4b;`)||t.canPlayType(`audio/m4b;`)||t.canPlayType(`audio/aac;`)).replace(/^no$/,``),mp4:!!(t.canPlayType(`audio/x-mp4;`)||t.canPlayType(`audio/mp4;`)||t.canPlayType(`audio/aac;`)).replace(/^no$/,``),weba:!!(!l&&t.canPlayType(`audio/webm; codecs="vorbis"`).replace(/^no$/,``)),webm:!!(!l&&t.canPlayType(`audio/webm; codecs="vorbis"`).replace(/^no$/,``)),dolby:!!t.canPlayType(`audio/mp4; codecs="ec-3"`).replace(/^no$/,``),flac:!!(t.canPlayType(`audio/x-flac;`)||t.canPlayType(`audio/flac;`)).replace(/^no$/,``)},e},_unlockAudio:function(){var e=this||n;if(!(e._audioUnlocked||!e.ctx)){e._audioUnlocked=!1,e.autoUnlock=!1,!e._mobileUnloaded&&e.ctx.sampleRate!==44100&&(e._mobileUnloaded=!0,e.unload()),e._scratchBuffer=e.ctx.createBuffer(1,1,22050);var t=function(n){for(;e._html5AudioPool.length<e.html5PoolSize;)try{var r=new Audio;r._unlocked=!0,e._releaseHtml5Audio(r)}catch{e.noAudio=!0;break}for(var i=0;i<e._howls.length;i++)if(!e._howls[i]._webAudio)for(var a=e._howls[i]._getSoundIds(),o=0;o<a.length;o++){var s=e._howls[i]._soundById(a[o]);s&&s._node&&!s._node._unlocked&&(s._node._unlocked=!0,s._node.load())}e._autoResume();var c=e.ctx.createBufferSource();c.buffer=e._scratchBuffer,c.connect(e.ctx.destination),c.start===void 0?c.noteOn(0):c.start(0),typeof e.ctx.resume==`function`&&e.ctx.resume(),c.onended=function(){c.disconnect(0),e._audioUnlocked=!0,document.removeEventListener(`touchstart`,t,!0),document.removeEventListener(`touchend`,t,!0),document.removeEventListener(`click`,t,!0),document.removeEventListener(`keydown`,t,!0);for(var n=0;n<e._howls.length;n++)e._howls[n]._emit(`unlock`)}};return document.addEventListener(`touchstart`,t,!0),document.addEventListener(`touchend`,t,!0),document.addEventListener(`click`,t,!0),document.addEventListener(`keydown`,t,!0),e}},_obtainHtml5Audio:function(){var e=this||n;if(e._html5AudioPool.length)return e._html5AudioPool.pop();var t=new Audio().play();return t&&typeof Promise<`u`&&(t instanceof Promise||typeof t.then==`function`)&&t.catch(function(){console.warn(`HTML5 Audio pool exhausted, returning potentially locked audio object.`)}),new Audio},_releaseHtml5Audio:function(e){var t=this||n;return e._unlocked&&t._html5AudioPool.push(e),t},_autoSuspend:function(){var e=this;if(!(!e.autoSuspend||!e.ctx||e.ctx.suspend===void 0||!n.usingWebAudio)){for(var t=0;t<e._howls.length;t++)if(e._howls[t]._webAudio){for(var r=0;r<e._howls[t]._sounds.length;r++)if(!e._howls[t]._sounds[r]._paused)return e}return e._suspendTimer&&clearTimeout(e._suspendTimer),e._suspendTimer=setTimeout(function(){if(e.autoSuspend){e._suspendTimer=null,e.state=`suspending`;var t=function(){e.state=`suspended`,e._resumeAfterSuspend&&(delete e._resumeAfterSuspend,e._autoResume())};e.ctx.suspend().then(t,t)}},3e4),e}},_autoResume:function(){var e=this;if(!(!e.ctx||e.ctx.resume===void 0||!n.usingWebAudio))return e.state===`running`&&e.ctx.state!==`interrupted`&&e._suspendTimer?(clearTimeout(e._suspendTimer),e._suspendTimer=null):e.state===`suspended`||e.state===`running`&&e.ctx.state===`interrupted`?(e.ctx.resume().then(function(){e.state=`running`;for(var t=0;t<e._howls.length;t++)e._howls[t]._emit(`resume`)}),e._suspendTimer&&=(clearTimeout(e._suspendTimer),null)):e.state===`suspending`&&(e._resumeAfterSuspend=!0),e}};var n=new t,r=function(e){var t=this;if(!e.src||e.src.length===0){console.error(`An array of source files must be passed with any new Howl.`);return}t.init(e)};r.prototype={init:function(e){var t=this;return n.ctx||u(),t._autoplay=e.autoplay||!1,t._format=typeof e.format==`string`?[e.format]:e.format,t._html5=e.html5||!1,t._muted=e.mute||!1,t._loop=e.loop||!1,t._pool=e.pool||5,t._preload=typeof e.preload==`boolean`||e.preload===`metadata`?e.preload:!0,t._rate=e.rate||1,t._sprite=e.sprite||{},t._src=typeof e.src==`string`?[e.src]:e.src,t._volume=e.volume===void 0?1:e.volume,t._xhr={method:e.xhr&&e.xhr.method?e.xhr.method:`GET`,headers:e.xhr&&e.xhr.headers?e.xhr.headers:null,withCredentials:e.xhr&&e.xhr.withCredentials?e.xhr.withCredentials:!1},t._duration=0,t._state=`unloaded`,t._sounds=[],t._endTimers={},t._queue=[],t._playLock=!1,t._onend=e.onend?[{fn:e.onend}]:[],t._onfade=e.onfade?[{fn:e.onfade}]:[],t._onload=e.onload?[{fn:e.onload}]:[],t._onloaderror=e.onloaderror?[{fn:e.onloaderror}]:[],t._onplayerror=e.onplayerror?[{fn:e.onplayerror}]:[],t._onpause=e.onpause?[{fn:e.onpause}]:[],t._onplay=e.onplay?[{fn:e.onplay}]:[],t._onstop=e.onstop?[{fn:e.onstop}]:[],t._onmute=e.onmute?[{fn:e.onmute}]:[],t._onvolume=e.onvolume?[{fn:e.onvolume}]:[],t._onrate=e.onrate?[{fn:e.onrate}]:[],t._onseek=e.onseek?[{fn:e.onseek}]:[],t._onunlock=e.onunlock?[{fn:e.onunlock}]:[],t._onresume=[],t._webAudio=n.usingWebAudio&&!t._html5,n.ctx!==void 0&&n.ctx&&n.autoUnlock&&n._unlockAudio(),n._howls.push(t),t._autoplay&&t._queue.push({event:`play`,action:function(){t.play()}}),t._preload&&t._preload!==`none`&&t.load(),t},load:function(){var e=this,t=null;if(n.noAudio){e._emit(`loaderror`,null,`No audio support.`);return}typeof e._src==`string`&&(e._src=[e._src]);for(var r=0;r<e._src.length;r++){var a,s;if(e._format&&e._format[r])a=e._format[r];else{if(s=e._src[r],typeof s!=`string`){e._emit(`loaderror`,null,`Non-string found in selected audio sources - ignoring.`);continue}a=/^data:audio\/([^;,]+);/i.exec(s),a||=/\.([^.]+)$/.exec(s.split(`?`,1)[0]),a&&=a[1].toLowerCase()}if(a||console.warn(`No file extension was found. Consider using the "format" property or specify an extension.`),a&&n.codecs(a)){t=e._src[r];break}}if(!t){e._emit(`loaderror`,null,`No codec support for selected audio sources.`);return}return e._src=t,e._state=`loading`,window.location.protocol===`https:`&&t.slice(0,5)===`http:`&&(e._html5=!0,e._webAudio=!1),new i(e),e._webAudio&&o(e),e},play:function(e,t){var r=this,i=null;if(typeof e==`number`)i=e,e=null;else if(typeof e==`string`&&r._state===`loaded`&&!r._sprite[e])return null;else if(e===void 0&&(e=`__default`,!r._playLock)){for(var a=0,o=0;o<r._sounds.length;o++)r._sounds[o]._paused&&!r._sounds[o]._ended&&(a++,i=r._sounds[o]._id);a===1?e=null:i=null}var s=i?r._soundById(i):r._inactiveSound();if(!s)return null;if(i&&!e&&(e=s._sprite||`__default`),r._state!==`loaded`){s._sprite=e,s._ended=!1;var c=s._id;return r._queue.push({event:`play`,action:function(){r.play(c)}}),c}if(i&&!s._paused)return t||r._loadQueue(`play`),s._id;r._webAudio&&n._autoResume();var l=Math.max(0,s._seek>0?s._seek:r._sprite[e][0]/1e3),u=Math.max(0,(r._sprite[e][0]+r._sprite[e][1])/1e3-l),d=u*1e3/Math.abs(s._rate),f=r._sprite[e][0]/1e3,p=(r._sprite[e][0]+r._sprite[e][1])/1e3;s._sprite=e,s._ended=!1;var m=function(){s._paused=!1,s._seek=l,s._start=f,s._stop=p,s._loop=!!(s._loop||r._sprite[e][2])};if(l>=p){r._ended(s);return}var h=s._node;if(r._webAudio){var g=function(){r._playLock=!1,m(),r._refreshBuffer(s);var e=s._muted||r._muted?0:s._volume;h.gain.setValueAtTime(e,n.ctx.currentTime),s._playStart=n.ctx.currentTime,h.bufferSource.start===void 0?s._loop?h.bufferSource.noteGrainOn(0,l,86400):h.bufferSource.noteGrainOn(0,l,u):s._loop?h.bufferSource.start(0,l,86400):h.bufferSource.start(0,l,u),d!==1/0&&(r._endTimers[s._id]=setTimeout(r._ended.bind(r,s),d)),t||setTimeout(function(){r._emit(`play`,s._id),r._loadQueue()},0)};n.state===`running`&&n.ctx.state!==`interrupted`?g():(r._playLock=!0,r.once(`resume`,g),r._clearTimer(s._id))}else{var _=function(){h.currentTime=l,h.muted=s._muted||r._muted||n._muted||h.muted,h.volume=s._volume*n.volume(),h.playbackRate=s._rate;try{var i=h.play();if(i&&typeof Promise<`u`&&(i instanceof Promise||typeof i.then==`function`)?(r._playLock=!0,m(),i.then(function(){r._playLock=!1,h._unlocked=!0,t?r._loadQueue():r._emit(`play`,s._id)}).catch(function(){r._playLock=!1,r._emit(`playerror`,s._id,`Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.`),s._ended=!0,s._paused=!0})):t||(r._playLock=!1,m(),r._emit(`play`,s._id)),h.playbackRate=s._rate,h.paused){r._emit(`playerror`,s._id,`Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.`);return}e!==`__default`||s._loop?r._endTimers[s._id]=setTimeout(r._ended.bind(r,s),d):(r._endTimers[s._id]=function(){r._ended(s),h.removeEventListener(`ended`,r._endTimers[s._id],!1)},h.addEventListener(`ended`,r._endTimers[s._id],!1))}catch(e){r._emit(`playerror`,s._id,e)}};h.src===`data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA`&&(h.src=r._src,h.load());var v=window&&window.ejecta||!h.readyState&&n._navigator.isCocoonJS;if(h.readyState>=3||v)_();else{r._playLock=!0,r._state=`loading`;var y=function(){r._state=`loaded`,_(),h.removeEventListener(n._canPlayEvent,y,!1)};h.addEventListener(n._canPlayEvent,y,!1),r._clearTimer(s._id)}}return s._id},pause:function(e){var t=this;if(t._state!==`loaded`||t._playLock)return t._queue.push({event:`pause`,action:function(){t.pause(e)}}),t;for(var n=t._getSoundIds(e),r=0;r<n.length;r++){t._clearTimer(n[r]);var i=t._soundById(n[r]);if(i&&!i._paused&&(i._seek=t.seek(n[r]),i._rateSeek=0,i._paused=!0,t._stopFade(n[r]),i._node))if(t._webAudio){if(!i._node.bufferSource)continue;i._node.bufferSource.stop===void 0?i._node.bufferSource.noteOff(0):i._node.bufferSource.stop(0),t._cleanBuffer(i._node)}else (!isNaN(i._node.duration)||i._node.duration===1/0)&&i._node.pause();arguments[1]||t._emit(`pause`,i?i._id:null)}return t},stop:function(e,t){var n=this;if(n._state!==`loaded`||n._playLock)return n._queue.push({event:`stop`,action:function(){n.stop(e)}}),n;for(var r=n._getSoundIds(e),i=0;i<r.length;i++){n._clearTimer(r[i]);var a=n._soundById(r[i]);a&&(a._seek=a._start||0,a._rateSeek=0,a._paused=!0,a._ended=!0,n._stopFade(r[i]),a._node&&(n._webAudio?a._node.bufferSource&&(a._node.bufferSource.stop===void 0?a._node.bufferSource.noteOff(0):a._node.bufferSource.stop(0),n._cleanBuffer(a._node)):(!isNaN(a._node.duration)||a._node.duration===1/0)&&(a._node.currentTime=a._start||0,a._node.pause(),a._node.duration===1/0&&n._clearSound(a._node))),t||n._emit(`stop`,a._id))}return n},mute:function(e,t){var r=this;if(r._state!==`loaded`||r._playLock)return r._queue.push({event:`mute`,action:function(){r.mute(e,t)}}),r;if(t===void 0)if(typeof e==`boolean`)r._muted=e;else return r._muted;for(var i=r._getSoundIds(t),a=0;a<i.length;a++){var o=r._soundById(i[a]);o&&(o._muted=e,o._interval&&r._stopFade(o._id),r._webAudio&&o._node?o._node.gain.setValueAtTime(e?0:o._volume,n.ctx.currentTime):o._node&&(o._node.muted=n._muted?!0:e),r._emit(`mute`,o._id))}return r},volume:function(){var e=this,t=arguments,r,i;if(t.length===0)return e._volume;t.length===1||t.length===2&&t[1]===void 0?e._getSoundIds().indexOf(t[0])>=0?i=parseInt(t[0],10):r=parseFloat(t[0]):t.length>=2&&(r=parseFloat(t[0]),i=parseInt(t[1],10));var a;if(r!==void 0&&r>=0&&r<=1){if(e._state!==`loaded`||e._playLock)return e._queue.push({event:`volume`,action:function(){e.volume.apply(e,t)}}),e;i===void 0&&(e._volume=r),i=e._getSoundIds(i);for(var o=0;o<i.length;o++)a=e._soundById(i[o]),a&&(a._volume=r,t[2]||e._stopFade(i[o]),e._webAudio&&a._node&&!a._muted?a._node.gain.setValueAtTime(r,n.ctx.currentTime):a._node&&!a._muted&&(a._node.volume=r*n.volume()),e._emit(`volume`,a._id))}else return a=i?e._soundById(i):e._sounds[0],a?a._volume:0;return e},fade:function(e,t,r,i){var a=this;if(a._state!==`loaded`||a._playLock)return a._queue.push({event:`fade`,action:function(){a.fade(e,t,r,i)}}),a;e=Math.min(Math.max(0,parseFloat(e)),1),t=Math.min(Math.max(0,parseFloat(t)),1),r=parseFloat(r),a.volume(e,i);for(var o=a._getSoundIds(i),s=0;s<o.length;s++){var c=a._soundById(o[s]);if(c){if(i||a._stopFade(o[s]),a._webAudio&&!c._muted){var l=n.ctx.currentTime,u=l+r/1e3;c._volume=e,c._node.gain.setValueAtTime(e,l),c._node.gain.linearRampToValueAtTime(t,u)}a._startFadeInterval(c,e,t,r,o[s],i===void 0)}}return a},_startFadeInterval:function(e,t,n,r,i,a){var o=this,s=t,c=n-t,l=Math.abs(c/.01),u=Math.max(4,l>0?r/l:r),d=Date.now();e._fadeTo=n,e._interval=setInterval(function(){var i=(Date.now()-d)/r;d=Date.now(),s+=c*i,s=Math.round(s*100)/100,s=c<0?Math.max(n,s):Math.min(n,s),o._webAudio?e._volume=s:o.volume(s,e._id,!0),a&&(o._volume=s),(n<t&&s<=n||n>t&&s>=n)&&(clearInterval(e._interval),e._interval=null,e._fadeTo=null,o.volume(n,e._id),o._emit(`fade`,e._id))},u)},_stopFade:function(e){var t=this,r=t._soundById(e);return r&&r._interval&&(t._webAudio&&r._node.gain.cancelScheduledValues(n.ctx.currentTime),clearInterval(r._interval),r._interval=null,t.volume(r._fadeTo,e),r._fadeTo=null,t._emit(`fade`,e)),t},loop:function(){var e=this,t=arguments,n,r,i;if(t.length===0)return e._loop;if(t.length===1)if(typeof t[0]==`boolean`)n=t[0],e._loop=n;else return i=e._soundById(parseInt(t[0],10)),i?i._loop:!1;else t.length===2&&(n=t[0],r=parseInt(t[1],10));for(var a=e._getSoundIds(r),o=0;o<a.length;o++)i=e._soundById(a[o]),i&&(i._loop=n,e._webAudio&&i._node&&i._node.bufferSource&&(i._node.bufferSource.loop=n,n&&(i._node.bufferSource.loopStart=i._start||0,i._node.bufferSource.loopEnd=i._stop,e.playing(a[o])&&(e.pause(a[o],!0),e.play(a[o],!0)))));return e},rate:function(){var e=this,t=arguments,r,i;t.length===0?i=e._sounds[0]._id:t.length===1?e._getSoundIds().indexOf(t[0])>=0?i=parseInt(t[0],10):r=parseFloat(t[0]):t.length===2&&(r=parseFloat(t[0]),i=parseInt(t[1],10));var a;if(typeof r==`number`){if(e._state!==`loaded`||e._playLock)return e._queue.push({event:`rate`,action:function(){e.rate.apply(e,t)}}),e;i===void 0&&(e._rate=r),i=e._getSoundIds(i);for(var o=0;o<i.length;o++)if(a=e._soundById(i[o]),a){e.playing(i[o])&&(a._rateSeek=e.seek(i[o]),a._playStart=e._webAudio?n.ctx.currentTime:a._playStart),a._rate=r,e._webAudio&&a._node&&a._node.bufferSource?a._node.bufferSource.playbackRate.setValueAtTime(r,n.ctx.currentTime):a._node&&(a._node.playbackRate=r);var s=e.seek(i[o]),c=((e._sprite[a._sprite][0]+e._sprite[a._sprite][1])/1e3-s)*1e3/Math.abs(a._rate);(e._endTimers[i[o]]||!a._paused)&&(e._clearTimer(i[o]),e._endTimers[i[o]]=setTimeout(e._ended.bind(e,a),c)),e._emit(`rate`,a._id)}}else return a=e._soundById(i),a?a._rate:e._rate;return e},seek:function(){var e=this,t=arguments,r,i;if(t.length===0?e._sounds.length&&(i=e._sounds[0]._id):t.length===1?e._getSoundIds().indexOf(t[0])>=0?i=parseInt(t[0],10):e._sounds.length&&(i=e._sounds[0]._id,r=parseFloat(t[0])):t.length===2&&(r=parseFloat(t[0]),i=parseInt(t[1],10)),i===void 0)return 0;if(typeof r==`number`&&(e._state!==`loaded`||e._playLock))return e._queue.push({event:`seek`,action:function(){e.seek.apply(e,t)}}),e;var a=e._soundById(i);if(a)if(typeof r==`number`&&r>=0){var o=e.playing(i);o&&e.pause(i,!0),a._seek=r,a._ended=!1,e._clearTimer(i),!e._webAudio&&a._node&&!isNaN(a._node.duration)&&(a._node.currentTime=r);var s=function(){o&&e.play(i,!0),e._emit(`seek`,i)};if(o&&!e._webAudio){var c=function(){e._playLock?setTimeout(c,0):s()};setTimeout(c,0)}else s()}else if(e._webAudio){var l=e.playing(i)?n.ctx.currentTime-a._playStart:0,u=a._rateSeek?a._rateSeek-a._seek:0;return a._seek+(u+l*Math.abs(a._rate))}else return a._node.currentTime;return e},playing:function(e){var t=this;if(typeof e==`number`){var n=t._soundById(e);return n?!n._paused:!1}for(var r=0;r<t._sounds.length;r++)if(!t._sounds[r]._paused)return!0;return!1},duration:function(e){var t=this,n=t._duration,r=t._soundById(e);return r&&(n=t._sprite[r._sprite][1]/1e3),n},state:function(){return this._state},unload:function(){for(var e=this,t=e._sounds,r=0;r<t.length;r++)t[r]._paused||e.stop(t[r]._id),e._webAudio||(e._clearSound(t[r]._node),t[r]._node.removeEventListener(`error`,t[r]._errorFn,!1),t[r]._node.removeEventListener(n._canPlayEvent,t[r]._loadFn,!1),t[r]._node.removeEventListener(`ended`,t[r]._endFn,!1),n._releaseHtml5Audio(t[r]._node)),delete t[r]._node,e._clearTimer(t[r]._id);var i=n._howls.indexOf(e);i>=0&&n._howls.splice(i,1);var o=!0;for(r=0;r<n._howls.length;r++)if(n._howls[r]._src===e._src||e._src.indexOf(n._howls[r]._src)>=0){o=!1;break}return a&&o&&delete a[e._src],n.noAudio=!1,e._state=`unloaded`,e._sounds=[],e=null,null},on:function(e,t,n,r){var i=this,a=i[`_on`+e];return typeof t==`function`&&a.push(r?{id:n,fn:t,once:r}:{id:n,fn:t}),i},off:function(e,t,n){var r=this,i=r[`_on`+e],a=0;if(typeof t==`number`&&(n=t,t=null),t||n)for(a=0;a<i.length;a++){var o=n===i[a].id;if(t===i[a].fn&&o||!t&&o){i.splice(a,1);break}}else if(e)r[`_on`+e]=[];else{var s=Object.keys(r);for(a=0;a<s.length;a++)s[a].indexOf(`_on`)===0&&Array.isArray(r[s[a]])&&(r[s[a]]=[])}return r},once:function(e,t,n){var r=this;return r.on(e,t,n,1),r},_emit:function(e,t,n){for(var r=this,i=r[`_on`+e],a=i.length-1;a>=0;a--)(!i[a].id||i[a].id===t||e===`load`)&&(setTimeout(function(e){e.call(this,t,n)}.bind(r,i[a].fn),0),i[a].once&&r.off(e,i[a].fn,i[a].id));return r._loadQueue(e),r},_loadQueue:function(e){var t=this;if(t._queue.length>0){var n=t._queue[0];n.event===e&&(t._queue.shift(),t._loadQueue()),e||n.action()}return t},_ended:function(e){var t=this,r=e._sprite;if(!t._webAudio&&e._node&&!e._node.paused&&!e._node.ended&&e._node.currentTime<e._stop)return setTimeout(t._ended.bind(t,e),100),t;var i=!!(e._loop||t._sprite[r][2]);if(t._emit(`end`,e._id),!t._webAudio&&i&&t.stop(e._id,!0).play(e._id),t._webAudio&&i){t._emit(`play`,e._id),e._seek=e._start||0,e._rateSeek=0,e._playStart=n.ctx.currentTime;var a=(e._stop-e._start)*1e3/Math.abs(e._rate);t._endTimers[e._id]=setTimeout(t._ended.bind(t,e),a)}return t._webAudio&&!i&&(e._paused=!0,e._ended=!0,e._seek=e._start||0,e._rateSeek=0,t._clearTimer(e._id),t._cleanBuffer(e._node),n._autoSuspend()),!t._webAudio&&!i&&t.stop(e._id,!0),t},_clearTimer:function(e){var t=this;if(t._endTimers[e]){if(typeof t._endTimers[e]!=`function`)clearTimeout(t._endTimers[e]);else{var n=t._soundById(e);n&&n._node&&n._node.removeEventListener(`ended`,t._endTimers[e],!1)}delete t._endTimers[e]}return t},_soundById:function(e){for(var t=this,n=0;n<t._sounds.length;n++)if(e===t._sounds[n]._id)return t._sounds[n];return null},_inactiveSound:function(){var e=this;e._drain();for(var t=0;t<e._sounds.length;t++)if(e._sounds[t]._ended)return e._sounds[t].reset();return new i(e)},_drain:function(){var e=this,t=e._pool,n=0,r=0;if(!(e._sounds.length<t)){for(r=0;r<e._sounds.length;r++)e._sounds[r]._ended&&n++;for(r=e._sounds.length-1;r>=0;r--){if(n<=t)return;e._sounds[r]._ended&&(e._webAudio&&e._sounds[r]._node&&e._sounds[r]._node.disconnect(0),e._sounds.splice(r,1),n--)}}},_getSoundIds:function(e){var t=this;if(e===void 0){for(var n=[],r=0;r<t._sounds.length;r++)n.push(t._sounds[r]._id);return n}else return[e]},_refreshBuffer:function(e){var t=this;return e._node.bufferSource=n.ctx.createBufferSource(),e._node.bufferSource.buffer=a[t._src],e._panner?e._node.bufferSource.connect(e._panner):e._node.bufferSource.connect(e._node),e._node.bufferSource.loop=e._loop,e._loop&&(e._node.bufferSource.loopStart=e._start||0,e._node.bufferSource.loopEnd=e._stop||0),e._node.bufferSource.playbackRate.setValueAtTime(e._rate,n.ctx.currentTime),t},_cleanBuffer:function(e){var t=this,r=n._navigator&&n._navigator.vendor.indexOf(`Apple`)>=0;if(!e.bufferSource)return t;if(n._scratchBuffer&&e.bufferSource&&(e.bufferSource.onended=null,e.bufferSource.disconnect(0),r))try{e.bufferSource.buffer=n._scratchBuffer}catch{}return e.bufferSource=null,t},_clearSound:function(e){/MSIE |Trident\//.test(n._navigator&&n._navigator.userAgent)||(e.src=`data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA`)}};var i=function(e){this._parent=e,this.init()};i.prototype={init:function(){var e=this,t=e._parent;return e._muted=t._muted,e._loop=t._loop,e._volume=t._volume,e._rate=t._rate,e._seek=0,e._paused=!0,e._ended=!0,e._sprite=`__default`,e._id=++n._counter,t._sounds.push(e),e.create(),e},create:function(){var e=this,t=e._parent,r=n._muted||e._muted||e._parent._muted?0:e._volume;return t._webAudio?(e._node=n.ctx.createGain===void 0?n.ctx.createGainNode():n.ctx.createGain(),e._node.gain.setValueAtTime(r,n.ctx.currentTime),e._node.paused=!0,e._node.connect(n.masterGain)):n.noAudio||(e._node=n._obtainHtml5Audio(),e._errorFn=e._errorListener.bind(e),e._node.addEventListener(`error`,e._errorFn,!1),e._loadFn=e._loadListener.bind(e),e._node.addEventListener(n._canPlayEvent,e._loadFn,!1),e._endFn=e._endListener.bind(e),e._node.addEventListener(`ended`,e._endFn,!1),e._node.src=t._src,e._node.preload=t._preload===!0?`auto`:t._preload,e._node.volume=r*n.volume(),e._node.load()),e},reset:function(){var e=this,t=e._parent;return e._muted=t._muted,e._loop=t._loop,e._volume=t._volume,e._rate=t._rate,e._seek=0,e._rateSeek=0,e._paused=!0,e._ended=!0,e._sprite=`__default`,e._id=++n._counter,e},_errorListener:function(){var e=this;e._parent._emit(`loaderror`,e._id,e._node.error?e._node.error.code:0),e._node.removeEventListener(`error`,e._errorFn,!1)},_loadListener:function(){var e=this,t=e._parent;t._duration=Math.ceil(e._node.duration*10)/10,Object.keys(t._sprite).length===0&&(t._sprite={__default:[0,t._duration*1e3]}),t._state!==`loaded`&&(t._state=`loaded`,t._emit(`load`),t._loadQueue()),e._node.removeEventListener(n._canPlayEvent,e._loadFn,!1)},_endListener:function(){var e=this,t=e._parent;t._duration===1/0&&(t._duration=Math.ceil(e._node.duration*10)/10,t._sprite.__default[1]===1/0&&(t._sprite.__default[1]=t._duration*1e3),t._ended(e)),e._node.removeEventListener(`ended`,e._endFn,!1)}};var a={},o=function(e){var t=e._src;if(a[t]){e._duration=a[t].duration,l(e);return}if(/^data:[^;]+;base64,/.test(t)){for(var n=atob(t.split(`,`)[1]),r=new Uint8Array(n.length),i=0;i<n.length;++i)r[i]=n.charCodeAt(i);c(r.buffer,e)}else{var o=new XMLHttpRequest;o.open(e._xhr.method,t,!0),o.withCredentials=e._xhr.withCredentials,o.responseType=`arraybuffer`,e._xhr.headers&&Object.keys(e._xhr.headers).forEach(function(t){o.setRequestHeader(t,e._xhr.headers[t])}),o.onload=function(){var t=(o.status+``)[0];if(t!==`0`&&t!==`2`&&t!==`3`){e._emit(`loaderror`,null,`Failed loading audio file with status: `+o.status+`.`);return}c(o.response,e)},o.onerror=function(){e._webAudio&&(e._html5=!0,e._webAudio=!1,e._sounds=[],delete a[t],e.load())},s(o)}},s=function(e){try{e.send()}catch{e.onerror()}},c=function(e,t){var r=function(){t._emit(`loaderror`,null,`Decoding audio data failed.`)},i=function(e){e&&t._sounds.length>0?(a[t._src]=e,l(t,e)):r()};typeof Promise<`u`&&n.ctx.decodeAudioData.length===1?n.ctx.decodeAudioData(e).then(i).catch(r):n.ctx.decodeAudioData(e,i,r)},l=function(e,t){t&&!e._duration&&(e._duration=t.duration),Object.keys(e._sprite).length===0&&(e._sprite={__default:[0,e._duration*1e3]}),e._state!==`loaded`&&(e._state=`loaded`,e._emit(`load`),e._loadQueue())},u=function(){if(n.usingWebAudio){try{typeof AudioContext<`u`?n.ctx=new AudioContext:typeof webkitAudioContext<`u`?n.ctx=new webkitAudioContext:n.usingWebAudio=!1}catch{n.usingWebAudio=!1}n.ctx||(n.usingWebAudio=!1);var e=/iP(hone|od|ad)/.test(n._navigator&&n._navigator.platform),t=n._navigator&&n._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),r=t?parseInt(t[1],10):null;if(e&&r&&r<9){var i=/safari/.test(n._navigator&&n._navigator.userAgent.toLowerCase());n._navigator&&!i&&(n.usingWebAudio=!1)}n.usingWebAudio&&(n.masterGain=n.ctx.createGain===void 0?n.ctx.createGainNode():n.ctx.createGain(),n.masterGain.gain.setValueAtTime(n._muted?0:n._volume,n.ctx.currentTime),n.masterGain.connect(n.ctx.destination)),n._setup()}};typeof define==`function`&&define.amd&&define([],function(){return{Howler:n,Howl:r}}),e!==void 0&&(e.Howler=n,e.Howl=r),typeof global<`u`?(global.HowlerGlobal=t,global.Howler=n,global.Howl=r,global.Sound=i):typeof window<`u`&&(window.HowlerGlobal=t,window.Howler=n,window.Howl=r,window.Sound=i)})(),(function(){"use strict";HowlerGlobal.prototype._pos=[0,0,0],HowlerGlobal.prototype._orientation=[0,0,-1,0,1,0],HowlerGlobal.prototype.stereo=function(e){var t=this;if(!t.ctx||!t.ctx.listener)return t;for(var n=t._howls.length-1;n>=0;n--)t._howls[n].stereo(e);return t},HowlerGlobal.prototype.pos=function(e,t,n){var r=this;if(!r.ctx||!r.ctx.listener)return r;if(t=typeof t==`number`?t:r._pos[1],n=typeof n==`number`?n:r._pos[2],typeof e==`number`)r._pos=[e,t,n],r.ctx.listener.positionX===void 0?r.ctx.listener.setPosition(r._pos[0],r._pos[1],r._pos[2]):(r.ctx.listener.positionX.setTargetAtTime(r._pos[0],Howler.ctx.currentTime,.1),r.ctx.listener.positionY.setTargetAtTime(r._pos[1],Howler.ctx.currentTime,.1),r.ctx.listener.positionZ.setTargetAtTime(r._pos[2],Howler.ctx.currentTime,.1));else return r._pos;return r},HowlerGlobal.prototype.orientation=function(e,t,n,r,i,a){var o=this;if(!o.ctx||!o.ctx.listener)return o;var s=o._orientation;if(t=typeof t==`number`?t:s[1],n=typeof n==`number`?n:s[2],r=typeof r==`number`?r:s[3],i=typeof i==`number`?i:s[4],a=typeof a==`number`?a:s[5],typeof e==`number`)o._orientation=[e,t,n,r,i,a],o.ctx.listener.forwardX===void 0?o.ctx.listener.setOrientation(e,t,n,r,i,a):(o.ctx.listener.forwardX.setTargetAtTime(e,Howler.ctx.currentTime,.1),o.ctx.listener.forwardY.setTargetAtTime(t,Howler.ctx.currentTime,.1),o.ctx.listener.forwardZ.setTargetAtTime(n,Howler.ctx.currentTime,.1),o.ctx.listener.upX.setTargetAtTime(r,Howler.ctx.currentTime,.1),o.ctx.listener.upY.setTargetAtTime(i,Howler.ctx.currentTime,.1),o.ctx.listener.upZ.setTargetAtTime(a,Howler.ctx.currentTime,.1));else return s;return o},Howl.prototype.init=(function(e){return function(t){var n=this;return n._orientation=t.orientation||[1,0,0],n._stereo=t.stereo||null,n._pos=t.pos||null,n._pannerAttr={coneInnerAngle:t.coneInnerAngle===void 0?360:t.coneInnerAngle,coneOuterAngle:t.coneOuterAngle===void 0?360:t.coneOuterAngle,coneOuterGain:t.coneOuterGain===void 0?0:t.coneOuterGain,distanceModel:t.distanceModel===void 0?`inverse`:t.distanceModel,maxDistance:t.maxDistance===void 0?1e4:t.maxDistance,panningModel:t.panningModel===void 0?`HRTF`:t.panningModel,refDistance:t.refDistance===void 0?1:t.refDistance,rolloffFactor:t.rolloffFactor===void 0?1:t.rolloffFactor},n._onstereo=t.onstereo?[{fn:t.onstereo}]:[],n._onpos=t.onpos?[{fn:t.onpos}]:[],n._onorientation=t.onorientation?[{fn:t.onorientation}]:[],e.call(this,t)}})(Howl.prototype.init),Howl.prototype.stereo=function(t,n){var r=this;if(!r._webAudio)return r;if(r._state!==`loaded`)return r._queue.push({event:`stereo`,action:function(){r.stereo(t,n)}}),r;var i=Howler.ctx.createStereoPanner===void 0?`spatial`:`stereo`;if(n===void 0)if(typeof t==`number`)r._stereo=t,r._pos=[t,0,0];else return r._stereo;for(var a=r._getSoundIds(n),o=0;o<a.length;o++){var s=r._soundById(a[o]);if(s)if(typeof t==`number`)s._stereo=t,s._pos=[t,0,0],s._node&&(s._pannerAttr.panningModel=`equalpower`,(!s._panner||!s._panner.pan)&&e(s,i),i===`spatial`?s._panner.positionX===void 0?s._panner.setPosition(t,0,0):(s._panner.positionX.setValueAtTime(t,Howler.ctx.currentTime),s._panner.positionY.setValueAtTime(0,Howler.ctx.currentTime),s._panner.positionZ.setValueAtTime(0,Howler.ctx.currentTime)):s._panner.pan.setValueAtTime(t,Howler.ctx.currentTime)),r._emit(`stereo`,s._id);else return s._stereo}return r},Howl.prototype.pos=function(t,n,r,i){var a=this;if(!a._webAudio)return a;if(a._state!==`loaded`)return a._queue.push({event:`pos`,action:function(){a.pos(t,n,r,i)}}),a;if(n=typeof n==`number`?n:0,r=typeof r==`number`?r:-.5,i===void 0)if(typeof t==`number`)a._pos=[t,n,r];else return a._pos;for(var o=a._getSoundIds(i),s=0;s<o.length;s++){var c=a._soundById(o[s]);if(c)if(typeof t==`number`)c._pos=[t,n,r],c._node&&((!c._panner||c._panner.pan)&&e(c,`spatial`),c._panner.positionX===void 0?c._panner.setPosition(t,n,r):(c._panner.positionX.setValueAtTime(t,Howler.ctx.currentTime),c._panner.positionY.setValueAtTime(n,Howler.ctx.currentTime),c._panner.positionZ.setValueAtTime(r,Howler.ctx.currentTime))),a._emit(`pos`,c._id);else return c._pos}return a},Howl.prototype.orientation=function(t,n,r,i){var a=this;if(!a._webAudio)return a;if(a._state!==`loaded`)return a._queue.push({event:`orientation`,action:function(){a.orientation(t,n,r,i)}}),a;if(n=typeof n==`number`?n:a._orientation[1],r=typeof r==`number`?r:a._orientation[2],i===void 0)if(typeof t==`number`)a._orientation=[t,n,r];else return a._orientation;for(var o=a._getSoundIds(i),s=0;s<o.length;s++){var c=a._soundById(o[s]);if(c)if(typeof t==`number`)c._orientation=[t,n,r],c._node&&(c._panner||(c._pos||=a._pos||[0,0,-.5],e(c,`spatial`)),c._panner.orientationX===void 0?c._panner.setOrientation(t,n,r):(c._panner.orientationX.setValueAtTime(t,Howler.ctx.currentTime),c._panner.orientationY.setValueAtTime(n,Howler.ctx.currentTime),c._panner.orientationZ.setValueAtTime(r,Howler.ctx.currentTime))),a._emit(`orientation`,c._id);else return c._orientation}return a},Howl.prototype.pannerAttr=function(){var t=this,n=arguments,r,i,a;if(!t._webAudio)return t;if(n.length===0)return t._pannerAttr;if(n.length===1)if(typeof n[0]==`object`)r=n[0],i===void 0&&(r.pannerAttr||={coneInnerAngle:r.coneInnerAngle,coneOuterAngle:r.coneOuterAngle,coneOuterGain:r.coneOuterGain,distanceModel:r.distanceModel,maxDistance:r.maxDistance,refDistance:r.refDistance,rolloffFactor:r.rolloffFactor,panningModel:r.panningModel},t._pannerAttr={coneInnerAngle:r.pannerAttr.coneInnerAngle===void 0?t._coneInnerAngle:r.pannerAttr.coneInnerAngle,coneOuterAngle:r.pannerAttr.coneOuterAngle===void 0?t._coneOuterAngle:r.pannerAttr.coneOuterAngle,coneOuterGain:r.pannerAttr.coneOuterGain===void 0?t._coneOuterGain:r.pannerAttr.coneOuterGain,distanceModel:r.pannerAttr.distanceModel===void 0?t._distanceModel:r.pannerAttr.distanceModel,maxDistance:r.pannerAttr.maxDistance===void 0?t._maxDistance:r.pannerAttr.maxDistance,refDistance:r.pannerAttr.refDistance===void 0?t._refDistance:r.pannerAttr.refDistance,rolloffFactor:r.pannerAttr.rolloffFactor===void 0?t._rolloffFactor:r.pannerAttr.rolloffFactor,panningModel:r.pannerAttr.panningModel===void 0?t._panningModel:r.pannerAttr.panningModel});else return a=t._soundById(parseInt(n[0],10)),a?a._pannerAttr:t._pannerAttr;else n.length===2&&(r=n[0],i=parseInt(n[1],10));for(var o=t._getSoundIds(i),s=0;s<o.length;s++)if(a=t._soundById(o[s]),a){var c=a._pannerAttr;c={coneInnerAngle:r.coneInnerAngle===void 0?c.coneInnerAngle:r.coneInnerAngle,coneOuterAngle:r.coneOuterAngle===void 0?c.coneOuterAngle:r.coneOuterAngle,coneOuterGain:r.coneOuterGain===void 0?c.coneOuterGain:r.coneOuterGain,distanceModel:r.distanceModel===void 0?c.distanceModel:r.distanceModel,maxDistance:r.maxDistance===void 0?c.maxDistance:r.maxDistance,refDistance:r.refDistance===void 0?c.refDistance:r.refDistance,rolloffFactor:r.rolloffFactor===void 0?c.rolloffFactor:r.rolloffFactor,panningModel:r.panningModel===void 0?c.panningModel:r.panningModel};var l=a._panner;l||=(a._pos||=t._pos||[0,0,-.5],e(a,`spatial`),a._panner),l.coneInnerAngle=c.coneInnerAngle,l.coneOuterAngle=c.coneOuterAngle,l.coneOuterGain=c.coneOuterGain,l.distanceModel=c.distanceModel,l.maxDistance=c.maxDistance,l.refDistance=c.refDistance,l.rolloffFactor=c.rolloffFactor,l.panningModel=c.panningModel}return t},Sound.prototype.init=(function(e){return function(){var t=this,n=t._parent;t._orientation=n._orientation,t._stereo=n._stereo,t._pos=n._pos,t._pannerAttr=n._pannerAttr,e.call(this),t._stereo?n.stereo(t._stereo):t._pos&&n.pos(t._pos[0],t._pos[1],t._pos[2],t._id)}})(Sound.prototype.init),Sound.prototype.reset=(function(e){return function(){var t=this,n=t._parent;return t._orientation=n._orientation,t._stereo=n._stereo,t._pos=n._pos,t._pannerAttr=n._pannerAttr,t._stereo?n.stereo(t._stereo):t._pos?n.pos(t._pos[0],t._pos[1],t._pos[2],t._id):t._panner&&(t._panner.disconnect(0),t._panner=void 0,n._refreshBuffer(t)),e.call(this)}})(Sound.prototype.reset);var e=function(e,t){t||=`spatial`,t===`spatial`?(e._panner=Howler.ctx.createPanner(),e._panner.coneInnerAngle=e._pannerAttr.coneInnerAngle,e._panner.coneOuterAngle=e._pannerAttr.coneOuterAngle,e._panner.coneOuterGain=e._pannerAttr.coneOuterGain,e._panner.distanceModel=e._pannerAttr.distanceModel,e._panner.maxDistance=e._pannerAttr.maxDistance,e._panner.refDistance=e._pannerAttr.refDistance,e._panner.rolloffFactor=e._pannerAttr.rolloffFactor,e._panner.panningModel=e._pannerAttr.panningModel,e._panner.positionX===void 0?e._panner.setPosition(e._pos[0],e._pos[1],e._pos[2]):(e._panner.positionX.setValueAtTime(e._pos[0],Howler.ctx.currentTime),e._panner.positionY.setValueAtTime(e._pos[1],Howler.ctx.currentTime),e._panner.positionZ.setValueAtTime(e._pos[2],Howler.ctx.currentTime)),e._panner.orientationX===void 0?e._panner.setOrientation(e._orientation[0],e._orientation[1],e._orientation[2]):(e._panner.orientationX.setValueAtTime(e._orientation[0],Howler.ctx.currentTime),e._panner.orientationY.setValueAtTime(e._orientation[1],Howler.ctx.currentTime),e._panner.orientationZ.setValueAtTime(e._orientation[2],Howler.ctx.currentTime))):(e._panner=Howler.ctx.createStereoPanner(),e._panner.pan.setValueAtTime(e._stereo,Howler.ctx.currentTime)),e._panner.connect(e._node),e._paused||e._parent.pause(e._id,!0).play(e._id,!0)}})()}))(),1),Sa=[`load`,`loaderror`,`playerror`,`play`,`end`,`pause`,`stop`,`mute`,`volume`,`rate`,`seek`,`fade`,`unlock`],Ca=class extends P{constructor(...e){super(...e),this.sounds=[],this.eventsFn=[],this.maxVolume=1,this.maxDistance=100}onInit(e){}onMount(e){let{props:t}=e,n=t.context.tick,r=t.sound.value??t.sound;if(!r.src)return;let{src:i,autoplay:a,loop:o,volume:s,spatial:c}=r,l=Array.isArray(i)?i:[i];for(let e of l){if(!e)continue;let t=new xa.Howl({src:e,autoplay:a,loop:o,volume:s});for(let e of Sa){if(!r[e])continue;let n=r[e];this.eventsFn.push(n),t.on(e,n)}this.sounds.push(t)}if(c&&this.sounds.length>0){let{soundListenerPosition:r}=t.context;if(!r)throw new Xt(`SoundListenerPosition directive is required for spatial sound in component parent`);let{x:i,y:a}=r;this.tickSubscription=V(()=>{n();let{x:t,y:r}=e.componentInstance,o=Qt(t,r,i(),a()),s=Math.max(this.maxVolume-o/this.maxDistance,0);this.sounds.forEach(e=>e.volume(s))}).subscription}this.onUpdate(r)}onUpdate(e){let{volume:t,loop:n,mute:r,seek:i,playing:a,rate:o,spatial:s}=e.value??e;this.sounds.forEach(e=>{t!==void 0&&e.volume(t),n!==void 0&&e.loop(n),r!==void 0&&e.mute(r),i!==void 0&&e.seek(i),a!==void 0&&(a?e.play():e.pause()),o!==void 0&&e.rate(o)}),s&&(this.maxVolume=s.maxVolume??this.maxVolume,this.maxDistance=s.maxDistance??this.maxDistance)}onDestroy(){this.sounds.forEach(e=>{e.stop();for(let t of Sa){let n=this.eventsFn.find(e=>e===this.eventsFn[t]);n&&e.off(t,n)}}),this.sounds=[],this.eventsFn=[],this.tickSubscription?.unsubscribe()}},wa=class extends P{onMount(e){e.props.context.soundListenerPosition=e.propObservables?.soundListenerPosition}onInit(e){}onUpdate(e){}onDestroy(){}};F(`sound`,Ca),F(`soundListenerPosition`,wa);var Ta=(e,t,n)=>{e.props.context={...e.props.context??{},[t]:n}},Ea=class extends P{constructor(...e){super(...e),this.elementRef=null}onInit(e){this.elementRef=e}onMount(e){Ta(e,`drop`,e)}onUpdate(){}onDestroy(){this.elementRef=null}},Da=class extends P{constructor(...e){super(...e),this.elementRef=null,this.stageRef=null,this.offsetInParent=new t.Point,this.isDragging=!1,this.viewport=null,this.animationFrameId=null,this.lastPointerPosition=new t.Point,this.pressedKeys=new Set,this.pointerIsDown=!1,this.onDragMoveHandler=()=>{},this.onDragEndHandler=()=>{},this.onDragStartHandler=()=>{},this.onKeyDownHandler=()=>{},this.onKeyUpHandler=()=>{},this.subscriptions=[]}onInit(e){this.elementRef=e,this.onDragMoveHandler=this.onDragMove.bind(this),this.onDragEndHandler=this.onDragEnd.bind(this),this.onDragStartHandler=this.onPointerDown.bind(this),this.onKeyDownHandler=this.onKeyDown.bind(this),this.onKeyUpHandler=this.onKeyUp.bind(this)}onMount(e){let{rootElement:n,canvasSize:r,viewport:i,tick:a}=e.props.context,o=e.componentInstance,s=this.dragProps;if(Object.keys(s).length===0){this.onDestroy();return}if(!o||(this.stageRef=n.componentInstance,!this.stageRef))return;this.viewport=i,o.eventMode=`static`,this.stageRef.eventMode=`static`;let c=V(()=>{this.stageRef&&(this.stageRef.hitArea=new t.Rectangle(0,0,r().width,r().height))});o.on(`pointerdown`,this.onDragStartHandler),this.stageRef.on(`pointerup`,this.onDragEndHandler),this.stageRef.on(`pointerupoutside`,this.onDragEndHandler),s.keyToPress&&s.keyToPress,window.addEventListener(`keydown`,this.onKeyDownHandler),window.addEventListener(`keyup`,this.onKeyUpHandler),this.subscriptions=[a.observable.subscribe(()=>{this.isDragging&&this.viewport&&this.updateViewportPosition(this.lastPointerPosition)}),c.subscription]}get dragProps(){let e=this.elementRef?.props.drag,t=_a(e?.value??e,{snap:0,viewport:{},direction:`all`,keyToPress:[]});return t.viewport=_a(t.viewport,{edgeThreshold:300,maxSpeed:40}),t}get axis(){let e=this.dragProps.direction(),t={x:!0,y:!0};return e===`x`&&(t.y=!1),e===`y`&&(t.x=!1),t}onDragMove(e){if(!this.isDragging||!this.elementRef?.componentInstance||!this.elementRef.componentInstance.parent)return;let t=this.elementRef.componentInstance,n=t.parent,r=this.dragProps,i=this.elementRef.propObservables,a=qi(r?.snap()??0);r?.move?.(e);let o=n.toLocal(e.global),s=o.x-this.offsetInParent.x,c=o.y-this.offsetInParent.y;r?.snap()?(t.position.x=a(s),t.position.y=a(c)):(this.axis.x&&(t.position.x=s),this.axis.y&&(t.position.y=c)),this.lastPointerPosition.copyFrom(e.global);let{x:l,y:u}=i,d=(e,t)=>{Nn(e)?e.dependencies.forEach(e=>{e.set(t)}):z(e)&&e.set(t)};l!==void 0&&d(l,t.position.x),u!==void 0&&d(u,t.position.y)}updateViewportPosition(e){if(!this.viewport||!this.elementRef)return;let t=this.dragProps,n=t?.viewport?.edgeThreshold(),r=t?.viewport?.maxSpeed(),i=this.viewport.screenWidth,a=this.viewport.screenHeight,o=this.elementRef.componentInstance,s=e.x-0,c=i-e.x,l=e.y-0,u=a-e.y,d=0,f=0;if(s<n?d=-(r*(1-s/n)):c<n&&(d=r*(1-c/n)),l<n?f=-(r*(1-l/n)):u<n&&(f=r*(1-u/n)),d!==0||f!==0){let e=this.viewport.center;this.viewport.moveCenter(this.viewport.center.x+d,this.viewport.center.y+f),this.axis.x&&e.x!==this.viewport.center.x&&(o.position.x+=d),this.axis.y&&e.y!==this.viewport.center.y&&(o.position.y+=f)}}onDragEnd(){if(this.pointerIsDown=!1,!this.isDragging)return;let e=this.dragProps;this.isDragging=!1,e?.end?.(),this.stageRef&&this.stageRef.off(`pointermove`,this.onDragMoveHandler)}onKeyDown(e){this.pressedKeys.add(e.code),this.pressedKeys.add(e.key.toLowerCase()),this.pointerIsDown&&!this.isDragging&&this.areRequiredKeysPressed()&&this.startDrag()}onKeyUp(e){this.pressedKeys.delete(e.code),this.pressedKeys.delete(e.key.toLowerCase()),this.isDragging&&!this.areRequiredKeysPressed()&&this.onDragEnd()}areRequiredKeysPressed(){let e=this.dragProps.keyToPress?this.dragProps.keyToPress:[];return!e||e.length===0?!0:e.some(e=>this.pressedKeys.has(e)?!0:e.toLowerCase()===`space`?this.pressedKeys.has(`Space`)||this.pressedKeys.has(` `):e.toLowerCase()===`shift`?this.pressedKeys.has(`ShiftLeft`)||this.pressedKeys.has(`ShiftRight`):e.toLowerCase()===`control`||e.toLowerCase()===`ctrl`?this.pressedKeys.has(`ControlLeft`)||this.pressedKeys.has(`ControlRight`):e.toLowerCase()===`alt`?this.pressedKeys.has(`AltLeft`)||this.pressedKeys.has(`AltRight`):!1)}onPointerDown(e){if(!this.elementRef?.componentInstance||!this.stageRef||!this.elementRef.componentInstance.parent)return;this.pointerIsDown=!0;let t=this.elementRef.componentInstance,n=t.parent.toLocal(e.global);this.offsetInParent.x=n.x-t.position.x,this.offsetInParent.y=n.y-t.position.y,this.lastPointerPosition.copyFrom(e.global),this.areRequiredKeysPressed()&&this.startDrag()}startDrag(){this.isDragging||!this.stageRef||(this.isDragging=!0,this.dragProps?.start?.(),this.stageRef.on(`pointermove`,this.onDragMoveHandler))}onUpdate(e){e.type&&e.type===`reset`&&(this.onDestroy(),this.onMount(this.elementRef))}onDestroy(){this.subscriptions.forEach(e=>e.unsubscribe());let e=this.elementRef?.componentInstance;e&&e.off(`pointerdown`,this.onDragStartHandler),this.stageRef&&(this.stageRef.off(`pointermove`,this.onDragMoveHandler),this.stageRef.off(`pointerup`,this.onDragEndHandler),this.stageRef.off(`pointerupoutside`,this.onDragEndHandler)),window.removeEventListener(`keydown`,this.onKeyDownHandler),window.removeEventListener(`keyup`,this.onKeyUpHandler),this.stageRef=null,this.viewport=null,this.pressedKeys.clear(),this.pointerIsDown=!1}};F(`drag`,Da),F(`drop`,Ea);var Oa=class extends P{onInit(e){}onMount(e){let{image:n}=e.props.transition,r=new t.Sprite(t.Texture.from(n));r.texture.baseTexture.wrapMode=t.WRAP_MODES.REPEAT;let i=new t.DisplacementFilter(r),a=e.componentInstance;a.filters=[i],a.addChild(r),setTimeout(()=>{Ki({from:0,to:1,duration:500,onUpdate:e=>{i.scale.x=e,i.scale.y=e}})},5e3)}onUpdate(e){}onDestroy(){}};F(`transition`,Oa);function ka(e){return e?.start&&e?.listen}function Aa(e){let t=R({config:e,value:0,resolve:e=>void 0});return{start:n=>new Promise(r=>{let i=Math.random();t.set({config:{...e,...n},resolve:r,value:i})}),listen:()=>({config:e,seed:t()})}}function ja(e,t){if(!ka(e))throw Error(`In 'on(arg)' must have a trigger signal type`);let n;return V(()=>{let r=e.listen(),i=r?.seed;if(i){if(n===void 0){n=i.value;return}if(i.value!==n){n=i.value;try{let e=t(r?.seed.config);e&&typeof e.then==`function`?e.then(e=>i.resolve(e)).catch(()=>i.resolve(void 0)):i.resolve(e)}catch{i.resolve(void 0)}}}}).subscription}var Ma=class extends P{constructor(...e){super(...e),this.elementRef=null,this.originalPosition=new t.Point,this.progressSignal=null,this.shakeSubscription=null,this.positionEffect=null,this.currentShakeConfig=null}onInit(e){this.elementRef=e}onMount(e){let t=e.componentInstance;if(!t)return;let n=this.shakeProps;!n.trigger||!ka(n.trigger)||(this.originalPosition.set(t.position.x,t.position.y),this.shakeSubscription&&=(this.shakeSubscription.unsubscribe(),null),this.shakeSubscription=ja(n.trigger,async e=>{await this.performShake(e)}))}get shakeProps(){let e=this.elementRef?.props.shake;return _a(e?.value??e,{intensity:10,duration:500,frequency:10,direction:`both`})}resolveSignalValue(e){return z(e)?e():e}async performShake(e){if(!this.elementRef?.componentInstance)return;let t=this.elementRef.componentInstance,n=this.shakeProps,r=e?.intensity??this.resolveSignalValue(n.intensity),i=e?.duration??this.resolveSignalValue(n.duration),a=e?.frequency??this.resolveSignalValue(n.frequency),o=e?.direction??this.resolveSignalValue(n.direction);this.positionEffect&&=(this.positionEffect.unsubscribe(),null);let s=this.originalPosition.x===0&&this.originalPosition.y===0&&t.parent,c=t.position.x!==this.originalPosition.x||t.position.y!==this.originalPosition.y;(s||c)&&this.originalPosition.set(t.position.x,t.position.y),t.position.x=this.originalPosition.x,t.position.y=this.originalPosition.y,n.onStart?.(),this.currentShakeConfig={intensity:r,frequency:a,direction:o,randomSeed:Math.random()*1e3},this.progressSignal?await this.progressSignal.set(0,{duration:0}):this.progressSignal=Xi(0,{duration:i,ease:e=>e});let l=o!==`y`,u=o!==`x`;this.positionEffect=V(()=>{if(!t||!this.progressSignal||!this.currentShakeConfig)return;let e=this.progressSignal(),n=this.currentShakeConfig,r=1-e,i=e*n.frequency,a=Math.sin(i*Math.PI*2),o=Math.sin(n.randomSeed+e*10)*.25+1,s=l?a*n.intensity*r*o:0,c=u?a*n.intensity*r*o:0;t.position.x=this.originalPosition.x+s,t.position.y=this.originalPosition.y+c}).subscription,await this.progressSignal.set(1,{duration:i}),t&&(t.position.x=this.originalPosition.x,t.position.y=this.originalPosition.y),this.positionEffect&&=(this.positionEffect.unsubscribe(),null),this.currentShakeConfig=null,n.onComplete?.()}onUpdate(e){e.type&&e.type===`reset`&&(this.onDestroy(),this.elementRef&&this.onMount(this.elementRef))}onDestroy(){if(this.progressSignal&&=(this.progressSignal.set(0,{duration:0}),null),this.positionEffect&&=(this.positionEffect.unsubscribe(),null),this.currentShakeConfig=null,this.elementRef?.componentInstance){let e=this.elementRef.componentInstance;e.position.x=this.originalPosition.x,e.position.y=this.originalPosition.y}this.shakeSubscription&&=(this.shakeSubscription.unsubscribe(),null),this.elementRef=null}};F(`shake`,Ma);var Na=class extends P{constructor(...e){super(...e),this.elementRef=null,this.progressSignal=null,this.flashSubscription=null,this.alphaEffect=null,this.tintEffect=null,this.originalAlpha=1,this.originalTint=16777215,this.currentFlashConfig=null}onInit(e){this.elementRef=e}onMount(e){let t=e.componentInstance;if(!t)return;let n=this.flashProps;if(!n.trigger||!ka(n.trigger))return;this.originalAlpha===1&&!n.originalAlpha?this.originalAlpha=t.alpha??1:n.originalAlpha!==void 0&&(this.originalAlpha=n.originalAlpha);let r=t.tint;this.originalTint===16777215&&!n.originalTint?this.originalTint=(z(r)?r():r)??16777215:n.originalTint!==void 0&&(this.originalTint=n.originalTint),this.flashSubscription=ja(n.trigger,async e=>{await this.performFlash(e)})}get flashProps(){let e=this.elementRef?.props.flash;return _a(e?.value??e,{type:`alpha`,duration:300,cycles:1,alpha:.3,tint:16777215})}async performFlash(e){if(!this.elementRef?.componentInstance)return;let t=this.elementRef.componentInstance,n=this.flashProps,r=e?.type??(typeof n.type==`function`?n.type():n.type),i=e?.duration??(typeof n.duration==`function`?n.duration():n.duration),a=e?.cycles??(typeof n.cycles==`function`?n.cycles():n.cycles),o=e?.alpha??(typeof n.alpha==`function`?n.alpha():n.alpha),s=e?.tint??(typeof n.tint==`function`?n.tint():n.tint);this.alphaEffect&&=(this.alphaEffect.unsubscribe(),null),this.tintEffect&&=(this.tintEffect.unsubscribe(),null),t.alpha=this.originalAlpha;let c=t.tint;if(c!==void 0){let e=typeof this.originalTint==`number`?this.originalTint:16777215;z(c)?c.set(e):t.tint=e}n.onStart?.(),this.progressSignal&&await this.progressSignal.set(0,{duration:0});let l={type:r,duration:i,cycles:a,flashAlpha:o,flashTint:s};if(this.currentFlashConfig=l,this.progressSignal||=Xi(0,{duration:i,ease:e=>e}),(r===`alpha`||r===`both`)&&(this.alphaEffect=V(()=>{if(!t||!this.progressSignal||!this.currentFlashConfig)return;let e=this.progressSignal(),n=this.currentFlashConfig,r=e*n.cycles%1,i=r<.5?r*2:1-(r-.5)*2;t.alpha=this.originalAlpha+(n.flashAlpha-this.originalAlpha)*i}).subscription),(r===`tint`||r===`both`)&&(this.tintEffect=V(()=>{if(!t||!this.progressSignal||!this.currentFlashConfig)return;let e=t.tint;if(e===void 0)return;let n=z(e),r=this.progressSignal(),i=this.currentFlashConfig,a=r*i.cycles%1,o=a<.5?a*2:1-(a-.5)*2,s=this.originalTint>>16&255,c=this.originalTint>>8&255,l=this.originalTint&255,u=i.flashTint>>16&255,d=i.flashTint>>8&255,f=i.flashTint&255,p=Math.round(s+(u-s)*o),m=Math.round(c+(d-c)*o),h=Math.round(l+(f-l)*o),g=p<<16|m<<8|h;n?e.set(g):t.tint=g}).subscription),await this.progressSignal.set(1,{duration:i}),this.currentFlashConfig===l&&t){t.alpha=this.originalAlpha;let e=t.tint;if(e!==void 0){let n=typeof this.originalTint==`number`?this.originalTint:16777215;z(e)?e.set(n):t.tint=n}this.alphaEffect&&=(this.alphaEffect.unsubscribe(),null),this.tintEffect&&=(this.tintEffect.unsubscribe(),null),this.currentFlashConfig=null}n.onComplete?.()}onUpdate(e){e.type&&e.type===`reset`&&(this.onDestroy(),this.elementRef&&this.onMount(this.elementRef))}onDestroy(){if(this.progressSignal&&=(this.progressSignal.set(0,{duration:0}),null),this.alphaEffect&&=(this.alphaEffect.unsubscribe(),null),this.tintEffect&&=(this.tintEffect.unsubscribe(),null),this.currentFlashConfig=null,this.elementRef?.componentInstance){let e=this.elementRef.componentInstance;e.alpha=this.originalAlpha;let t=e.tint;if(t!==void 0){let n=typeof this.originalTint==`number`?this.originalTint:16777215;z(t)?t.set(n):e.tint=n}}this.flashSubscription&&=null,this.elementRef=null}};F(`flash`,Na);var Pa=(e,t,n)=>Math.max(t,Math.min(n,e)),Fa=class extends P{constructor(...e){super(...e),this.elementRef=null,this.tickSubscription=null,this.sampleAccumulatorMs=0,this.managesAlpha=!1}onInit(e){this.elementRef=e}onMount(e){this.elementRef=e,this.evaluateVisibility(),this.bindTick()}onUpdate(){this.sampleAccumulatorMs=0,this.evaluateVisibility()}onDestroy(){let e=this.elementRef?.componentInstance;e&&(e.visible=this.readBaseVisible(),this.managesAlpha&&(e.alpha=this.readBaseAlpha())),this.tickSubscription?.unsubscribe(),this.tickSubscription=null,this.sampleAccumulatorMs=0,this.managesAlpha=!1,this.elementRef=null}bindTick(){this.tickSubscription?.unsubscribe(),this.tickSubscription=null;let e=this.elementRef?.props?.context?.tick;e?.observable&&(this.tickSubscription=e.observable.subscribe(e=>{let t=e?.value??e,n=Number(t?.deltaTime),r=this.readOptions(),i=1e3/r.sampleHz;this.sampleAccumulatorMs+=Number.isFinite(n)?n:i,!(this.sampleAccumulatorMs<i)&&(this.sampleAccumulatorMs=0,this.evaluateVisibility(r))}))}resolveSignalValue(e,t){return e==null?t:z(e)?e()??t:e}readOptions(){let e=this.elementRef?.props?.fogVisibility,t=e?.value??e??{},n=this.resolveSignalValue(t.controller,null),r=this.resolveSignalValue(t.mode,`visible`),i=Pa(Number(this.resolveSignalValue(t.threshold,.65)),0,1),a=this.resolveSignalValue(t.hideAs,`visible`),o=Pa(Number(this.resolveSignalValue(t.hiddenAlpha,0)),0,1),s=Pa(Number(this.resolveSignalValue(t.sampleHz,30)),1,240),c=t.point?this.resolveSignalValue(t.point,void 0):void 0;return{controller:n&&typeof n==`object`?n:null,mode:r,threshold:i,hideAs:a,hiddenAlpha:o,sampleHz:s,point:c}}readBaseVisible(){let e=this.elementRef?.propObservables?.visible??this.elementRef?.props?.visible;return!!this.resolveSignalValue(e,!0)}readBaseAlpha(){let e=this.elementRef?.propObservables?.alpha??this.elementRef?.props?.alpha,t=Number(this.resolveSignalValue(e,1));return Number.isFinite(t)?Pa(t,0,1):1}samplePoint(e){if(e.point&&typeof e.point==`object`){let t=Number(this.resolveSignalValue(e.point.x,NaN)),n=Number(this.resolveSignalValue(e.point.y,NaN));if(Number.isFinite(t)&&Number.isFinite(n))return{x:t,y:n}}let t=this.elementRef?.componentInstance;return{x:Number(t?.x??0),y:Number(t?.y??0)}}resolveVisibleState(e,t,n,r){if(typeof e.isVisibleAt==`function`)return!!e.isVisibleAt(t,n,r);if(typeof e.clarityAt==`function`){let i=Number(e.clarityAt(t,n));return Number.isFinite(i)?i>=r:!0}return typeof e.stateAt==`function`?e.stateAt(t,n,r)===`visible`:!0}resolveExploredState(e,t,n,r){return typeof e.isExploredAt==`function`?!!e.isExploredAt(t,n):typeof e.stateAt==`function`?e.stateAt(t,n,r)!==`unknown`:this.resolveVisibleState(e,t,n,r)}evaluateVisibility(e){let t=this.elementRef?.componentInstance;if(!t)return;let n=e??this.readOptions(),r=this.readBaseVisible(),i=this.readBaseAlpha();if(!n.controller){t.visible=r,this.managesAlpha&&=(t.alpha=i,!1);return}typeof n.controller.version==`function`&&n.controller.version();let{x:a,y:o}=this.samplePoint(n),s=!0;if(s=n.mode===`explored`?this.resolveExploredState(n.controller,a,o,n.threshold):this.resolveVisibleState(n.controller,a,o,n.threshold),n.hideAs===`alpha`){t.visible=r,t.alpha=s?i:Math.min(i,n.hiddenAlpha),this.managesAlpha=!0;return}t.visible=r&&s,this.managesAlpha&&=(t.alpha=i,!1)}};F(`fogVisibility`,Fa);function Ia(e){return e&&typeof e==`string`?e.endsWith(`%`):!1}var La=`added.childAdded.childRemoved.click.clickcapture.destroyed.globalmousemove.globalpointermove.globaltouchmove.mousedown.mousedowncapture.mouseenter.mouseentercapture.mouseleave.mouseleavecapture.mousemove.mousemovecapture.mouseout.mouseoutcapture.mouseover.mouseovercapture.mouseup.mouseupcapture.mouseupoutside.mouseupoutsidecapture.pointercancel.pointercancelcapture.pointerdown.pointerdowncapture.pointerenter.pointerentercapture.pointerleave.pointerleavecapture.pointermove.pointermovecapture.pointerout.pointeroutcapture.pointerover.pointerovercapture.pointertap.pointertapcapture.pointerup.pointerupcapture.pointerupoutside.pointerupoutsidecapture.removed.rightclick.rightclickcapture.rightdown.rightdowncapture.rightup.rightupcapture.rightupoutside.rightupoutsidecapture.tap.tapcapture.touchcancel.touchcancelcapture.touchend.touchendcapture.touchendoutside.touchendoutsidecapture.touchmove.touchmovecapture.touchstart.touchstartcapture.wheel.wheelcapture`.split(`.`);function Ra(e){return class extends e{constructor(...e){super(...e),this.#e=null,this.isFlex=!1,this.fullProps={},this.isMounted=!1,this._anchorPoints=new t.ObservablePoint({_onUpdate:()=>{}},0,0),this.isCustomAnchor=!1,this.displayWidth=R(0),this.displayHeight=R(0),this.overrideProps=[],this.layout=null,this.onBeforeDestroy=null,this.onAfterMount=null,this.subjectInit=new Pe(null),this.disableLayout=!1,this.#t=new Map,this.#n=null,this.#r=null}#e;#t;#n;#r;getElement(){return this.#r}onLayoutComputed(e){}get deltaRatio(){return this.#e?.scheduler?.tick.value.deltaRatio}get parentIsFlex(){return this.disableLayout?!1:this.parent?.isFlex}onInit(e){Object.prototype.hasOwnProperty.call(this,`layout`)&&delete this.layout,this._id=e.id;for(let t of La)if(e[t]&&!this.overrideProps.includes(t)){this.eventMode=`static`;let n=e[t],r=(...e)=>{if(!(this.#r&&da(this.#r)))return n(...e)};t===`click`?(this.on(`pointertap`,r),this.#t.set(`pointertap`,r)):(this.on(t,r),this.#t.set(t,r))}(e.onBeforeDestroy||e[`on-before-destroy`])&&(this.onBeforeDestroy=e.onBeforeDestroy||e[`on-before-destroy`]),(e.onAfterMount||e[`on-after-mount`])&&(this.onAfterMount=e.onAfterMount||e[`on-after-mount`]),(e.justifyContent||e.alignItems||e.flexDirection||e.flexWrap||e.alignContent||e.display==`flex`||Ia(e.width)||Ia(e.height)||e.isRoot)&&(this.layout={},this.isFlex=!0),this.subjectInit.next(this)}async onMount(e,t){if(!this.destroyed&&(this.#r=e,this.#e=e.props.context,e.parent)){let n=e.parent,r=n.componentInstance;if(typeof r?.addChild!=`function`){let t=n.parent;for(;t&&typeof t.componentInstance?.addChild!=`function`;)t=t.parent;if(t&&typeof t.componentInstance?.addChild==`function`)n=t,r=n.componentInstance;else{console.warn(`DisplayObject mount skipped: parent has no addChild`,{child:e.tag,parent:e.parent?.tag});return}}if(r.isFlex&&!this.layout&&!this.disableLayout)try{this.layout={}}catch(e){console.warn(`Failed to set layout:`,e)}t===void 0||n!==e.parent||typeof r?.addChildAt!=`function`?r.addChild(this):r.addChildAt(this,t),this.isMounted=!0,this.onUpdate(e.props);let i=e=>{e.computedLayout&&(this.#n={width:e.computedLayout.width,height:e.computedLayout.height}),this.onLayoutComputed(e)};this.on(`layout`,i),this.#t.set(`layout`,i),this.onAfterMount&&await this.onAfterMount()}}onUpdate(e){if(this.fullProps={...this.fullProps,...e},this.destroyed||!this.#e||!this.parent)return;if(e.x!==void 0&&this.setX(e.x),e.y!==void 0&&this.setY(e.y),e.scale!==void 0&&Zt(this.scale,e.scale),e.anchor!==void 0&&!this.isCustomAnchor&&Zt(this.anchor,e.anchor),e.width!==void 0&&this.setWidth(e.width),e.height!==void 0&&this.setHeight(e.height),e.minWidth!==void 0&&this.setMinWidth(e.minWidth),e.minHeight!==void 0&&this.setMinHeight(e.minHeight),e.maxWidth!==void 0&&this.setMaxWidth(e.maxWidth),e.maxHeight!==void 0&&this.setMaxHeight(e.maxHeight),e.aspectRatio!==void 0&&this.setAspectRatio(e.aspectRatio),e.flexGrow!==void 0&&this.setFlexGrow(e.flexGrow),e.flexShrink!==void 0&&this.setFlexShrink(e.flexShrink),e.flexBasis!==void 0&&this.setFlexBasis(e.flexBasis),e.rowGap!==void 0&&this.setRowGap(e.rowGap),e.columnGap!==void 0&&this.setColumnGap(e.columnGap),e.top!==void 0&&this.setTop(e.top),e.left!==void 0&&this.setLeft(e.left),e.right!==void 0&&this.setRight(e.right),e.bottom!==void 0&&this.setBottom(e.bottom),e.objectFit!==void 0&&this.setObjectFit(e.objectFit),e.objectPosition!==void 0&&this.setObjectPosition(e.objectPosition),e.transformOrigin!==void 0&&this.setTransformOrigin(e.transformOrigin),e.skew!==void 0&&Zt(this.skew,e.skew),e.tint&&(this.tint=e.tint),e.rotation!==void 0&&(this.rotation=e.rotation),e.angle!==void 0&&(this.angle=e.angle),e.zIndex!==void 0&&(this.zIndex=e.zIndex),e.roundPixels!==void 0&&(this.roundPixels=e.roundPixels),e.cursor&&(this.cursor=e.cursor),e.visible!==void 0&&(this.visible=e.visible),e.alpha!==void 0&&(this.alpha=e.alpha),e.pivot&&Zt(this.pivot,e.pivot),e.flexDirection&&this.setFlexDirection(e.flexDirection),e.flexWrap&&this.setFlexWrap(e.flexWrap),e.justifyContent&&this.setJustifyContent(e.justifyContent),e.alignItems&&this.setAlignItems(e.alignItems),e.alignContent&&this.setAlignContent(e.alignContent),e.alignSelf&&this.setAlignSelf(e.alignSelf),e.margin&&this.setMargin(e.margin),e.padding&&this.setPadding(e.padding),e.gap&&this.setGap(e.gap),e.border&&this.setBorder(e.border),e.positionType&&this.setPositionType(e.positionType),e.filters&&(this.filters=e.filters),e.maskOf&&$i(e.maskOf)&&(e.maskOf.componentInstance.mask=this),e.shadowCaster!==void 0){let t=e.shadowCaster?.value??e.shadowCaster;if(t&&typeof t==`object`&&!Array.isArray(t)){let e=this.shadowCaster??{};this.shadowCaster={...e,...t}}else this.shadowCaster=t}if(e.footprintCaster!==void 0){let t=e.footprintCaster?.value??e.footprintCaster;if(t&&typeof t==`object`&&!Array.isArray(t)){let e=this.footprintCaster??{};this.footprintCaster={...e,...t}}else this.footprintCaster=t}e.blendMode&&(this.blendMode=e.blendMode),e.filterArea&&(this.filterArea=e.filterArea);let n=this.filters||[];if(e.blur){let r=n.find(e=>e instanceof t.BlurFilter);r||(r=new t.BlurFilter(typeof e.blur==`number`?{strength:e.blur}:e.blur),n.push(r)),Object.assign(r,e.blur)}this.filters=n}async onDestroy(e,t){for(let[e,t]of this.#t)this.off(e,t);this.#t.clear(),this.#r=null,this.onBeforeDestroy&&await this.onBeforeDestroy(),t&&t(),this.parent&&typeof this.parent.removeChild==`function`&&this.parent.removeChild(this),super.destroy()}setFlexDirection(e){this.layout={flexDirection:e}}setFlexWrap(e){this.layout={flexWrap:e}}setAlignContent(e){this.layout={alignContent:e}}setAlignSelf(e){this.layout={alignSelf:e}}setAlignItems(e){this.layout={alignItems:e}}setJustifyContent(e){this.layout={justifyContent:e}}setPosition(e){e instanceof Array?e.length===2?this.layout={positionY:e[0],positionX:e[1]}:e.length===4&&(this.layout={positionTop:e[0],positionRight:e[1],positionBottom:e[2],positionLeft:e[3]}):this.layout={position:e}}setX(e){e+=this.getWidth()*this._anchorPoints.x,this.parentIsFlex?(this.x=e,this.layout={x:e}):this.x=e}setY(e){e+=this.getHeight()*this._anchorPoints.y,this.parentIsFlex?(this.y=e,this.layout={y:e}):this.y=e}setPadding(e){e instanceof Array?e.length===2?this.layout={paddingVertical:e[0],paddingHorizontal:e[1]}:e.length===4&&(this.layout={paddingTop:e[0],paddingRight:e[1],paddingBottom:e[2],paddingLeft:e[3]}):this.layout={padding:e}}setMargin(e){e instanceof Array?e.length===2?this.layout={marginVertical:e[0],marginHorizontal:e[1]}:e.length===4&&(this.layout={marginTop:e[0],marginRight:e[1],marginBottom:e[2],marginLeft:e[3]}):this.layout={margin:e}}setGap(e){this.layout={gap:e}}setBorder(e){e instanceof Array?e.length===2?this.layout={borderVertical:e[0],borderHorizontal:e[1]}:e.length===4&&(this.layout={borderTop:e[0],borderRight:e[1],borderBottom:e[2],borderLeft:e[3]}):this.layout={border:e}}setPositionType(e){this.layout={position:e}}setWidth(e){this.displayWidth.set(e),this.parentIsFlex?this.layout={width:e}:this.width=e}setHeight(e){this.displayHeight.set(e),this.parentIsFlex?this.layout={height:e}:this.height=e}getWidth(){return Ia(this.fullProps.width)?this.#n?.width===void 0?typeof this.width==`number`?this.width:0:this.#n.width:typeof this.width==`number`&&this.width>0?this.width:typeof this.displayWidth()==`number`?this.displayWidth():0}getHeight(){return Ia(this.fullProps.height)?this.#n?.height===void 0?typeof this.height==`number`?this.height:0:this.#n.height:typeof this.height==`number`&&this.height>0?this.height:typeof this.displayHeight()==`number`?this.displayHeight():0}setMinWidth(e){this.layout={minWidth:e}}setMinHeight(e){this.layout={minHeight:e}}setMaxWidth(e){this.layout={maxWidth:e}}setMaxHeight(e){this.layout={maxHeight:e}}setAspectRatio(e){this.layout={aspectRatio:e}}setFlexGrow(e){this.layout={flexGrow:e}}setFlexShrink(e){this.layout={flexShrink:e}}setFlexBasis(e){this.layout={flexBasis:e}}setRowGap(e){this.layout={rowGap:e}}setColumnGap(e){this.layout={columnGap:e}}setTop(e){this.layout={top:e}}setLeft(e){this.layout={left:e}}setRight(e){this.layout={right:e}}setBottom(e){this.layout={bottom:e}}setObjectFit(e){try{this.layout={objectFit:e}}catch{}}setObjectPosition(e){try{this.layout={objectPosition:e}}catch{}}setTransformOrigin(e){try{this.layout={transformOrigin:e}}catch{}}}}var za=class{constructor(){this.assets=new Map,this.onProgressCallbacks=new Set,this.onCompleteCallbacks=new Set,this.assetCounter=0,this.isComplete=!1}registerAsset(e){let t=`asset_${this.assetCounter++}_${e}`;return this.assets.set(t,{progress:0,completed:!1}),this.isComplete=!1,this.updateGlobalProgress(),t}updateProgress(e,t){let n=this.assets.get(e);if(!n){console.warn(`Asset ${e} not found in tracker`);return}n.progress=Math.max(0,Math.min(1,t)),this.updateGlobalProgress()}completeAsset(e){let t=this.assets.get(e);if(!t){console.warn(`Asset ${e} not found in tracker`);return}t.progress=1,t.completed=!0,this.updateGlobalProgress(),this.checkCompletion()}removeAsset(e){this.assets.delete(e),this.updateGlobalProgress()}onProgress(e){this.onProgressCallbacks.add(e);try{e(this.getGlobalProgress())}catch(e){console.error(`Error in onProgress callback:`,e)}return()=>{this.onProgressCallbacks.delete(e)}}onComplete(e){return this.onCompleteCallbacks.add(e),this.isComplete&&e(),()=>{this.onCompleteCallbacks.delete(e)}}getGlobalProgress(){if(this.assets.size===0)return 1;let e=0;for(let t of this.assets.values())e+=t.progress;return e/this.assets.size}getAssetCount(){return this.assets.size}getCompletedCount(){let e=0;for(let t of this.assets.values())t.completed&&e++;return e}checkCompletion(){this.isComplete||Array.from(this.assets.values()).every(e=>e.completed)&&this.assets.size>0&&(this.isComplete=!0,this.onCompleteCallbacks.forEach(e=>{try{e()}catch(e){console.error(`Error in onComplete callback:`,e)}}))}updateGlobalProgress(){let e=this.getGlobalProgress();Array.from(this.onProgressCallbacks).forEach(t=>{try{t(e)}catch(e){console.error(`Error in onProgress callback:`,e)}})}reset(){this.assets.clear(),this.onProgressCallbacks.clear(),this.onCompleteCallbacks.clear(),this.assetCounter=0,this.isComplete=!1}};H(`Canvas`,class extends Ra(t.Container){});var Ba=async(e={})=>{let{cursorStyles:t,width:n,height:r,class:i}=_a(e);e.width||(n=R(800)),e.height||(r=R(600));let a=R({width:0,height:0});e.isRoot=!0;let o=new za,s={...e,context:{canvasSize:a,app:R(null),globalLoader:o},width:n?.(),height:r?.()};e.tick?s.context.tick=e.tick:s.context.tick=s.tick=R({timestamp:0,deltaTime:0,frame:0,deltaRatio:1}),globalThis.__CANVAS_ENGINE_TICK__=s.context.tick;let c=W(`Canvas`,s);return c.render=(n,r)=>{if(!r)return;let o=r.renderer,l=o.view.canvas;globalThis.__PIXI_STAGE__=c.componentInstance,globalThis.__PIXI_RENDERER__=o,e.tickStart!==!1&&c.directives.tick.start();let u=V(()=>{c.propObservables.tick(),o.render(c.componentInstance)});r.stage=c.componentInstance,r.stage.layout={width:r.screen.width,height:r.screen.height,justifyContent:e.justifyContent,alignItems:e.alignItems},a.set({width:r.screen.width,height:r.screen.height});let d=(e,t)=>{a.set({width:e,height:t}),r.stage.layout&&(r.stage.layout={width:e,height:t})};r.renderer.on(`resize`,d),e.tickStart!==!1&&c.directives.tick.start();let f=()=>{c.propObservables.tick()};r.ticker.add(f);let p;t&&(p=V(()=>{o.events.cursorStyles=t()}));let m;i&&(m=V(()=>{l.classList.add(i())}));let h=n.querySelector(`canvas`);h&&h!==l?n.replaceChild(l,h):h||n.appendChild(l),c.effectUnmounts.push(()=>{u?.subscription?.unsubscribe?.(),p?.subscription?.unsubscribe?.(),m?.subscription?.unsubscribe?.(),r.ticker.remove(f),r.renderer.off?.(`resize`,d),c.directives.tick?.stop()}),s.context.app.set(r)},c},Va=class extends Ra(t.Container){constructor(...e){super(...e),this.isCustomAnchor=!0}onUpdate(e){e.anchor&&(Zt(this._anchorPoints,e.anchor),e.pivot=[this.getWidth()*this._anchorPoints.x,this.getHeight()*this._anchorPoints.y]),super.onUpdate(e),e.sortableChildren!=null&&(this.sortableChildren=e.sortableChildren)}async onMount(e){await super.onMount(e);let{componentInstance:t,props:n}=e,{pixiChildren:r}=n;r&&r.forEach(e=>{t.addChild(e)});let i=Ia(n.width),a=Ia(n.height);(i||a)&&this.on(`layout`,e=>{let t=e.computedLayout;i&&t.width!==void 0&&this.displayWidth.set(t.width),a&&t.height!==void 0&&this.displayHeight.set(t.height)})}};H(`Container`,Va);var Ha=e=>(H(`Container`,Va),W(`Container`,e));H(`Graphics`,class extends Ra(t.Graphics){constructor(...e){super(...e),this.isCustomAnchor=!0}async onInit(e){await super.onInit(e),this.setObjectFit(`none`)}async onMount(e,t){await super.onMount(e,t);let{props:n,propObservables:r}=e,i=z(r?.width)?r.width:R(n.width||0),a=z(r?.height)?r.height:R(n.height||0),o=z(r?.anchor)?r.anchor:R(n.anchor||[0,0]);this._width=i,this._height=a;let s=Ia(i()),c=Ia(a());n.draw&&(this.clearEffect=V(()=>{let e=i(),t=a(),r=o();typeof e==`string`||typeof t==`string`||(this.clear(),n.draw?.(this,e,t,r),this.subjectInit.next(this))})),this.on(`layout`,e=>{let t=e.computedLayout;s&&z(i)&&i()!==t.width&&i.set(t.width),c&&z(a)&&a()!==t.height&&a.set(t.height)})}onUpdate(e){super.onUpdate(e),e.width!==void 0&&this._width&&this._width()!==e.width&&this._width.set(e.width),e.height!==void 0&&this._height&&this._height()!==e.height&&this._height.set(e.height)}async onDestroy(e,t){await super.onDestroy(e,async()=>{this.clearEffect?.subscription.unsubscribe(),t()})}});function Ua(e){return W(`Graphics`,e)}var Wa=(e,n,r)=>{let i=new t.ObservablePoint({_onUpdate:()=>{}},0,0);Zt(i,e);let a=i.x,o=i.y;return{x:-a*n,y:-o*r}},Ga=e=>z(e)?e():e;function Ka(e){let{color:t,borderRadius:n,border:r}=_a(e,{borderRadius:null,border:null});return Ua({draw:(e,i,a,o)=>{let{x:s,y:c}=Wa(o,i,a);n()?e.roundRect(s,c,i,a,n()):e.rect(s,c,i,a);let l=Ga(r);l&&e.stroke(l),e.fill(Ga(t))},...e})}function qa(e){let{color:t,border:n,radius:r}=_a(e,{border:null,radius:null});return Ua({draw:(e,i,a,o)=>{let{x:s,y:c}=Wa(o,i,a);i==a||a==0?e.circle(s,c,Ga(r)||i):e.ellipse(s,c,i,a);let l=Ga(n);l&&e.stroke(l),e.fill(Ga(t))},...e})}function Ja(e){return qa(e)}function Ya(e){let{color:t,border:n}=_a(e,{border:null,color:`#000`});return Ua({draw:(e,r,i,a)=>{let{x:o,y:s}=Wa(a,r,i);e.moveTo(o,s+i),e.lineTo(o+r/2,s),e.lineTo(o+r,s+i),e.lineTo(o,s+i),e.fill(Ga(t));let c=Ga(n);c&&e.stroke(c)},...e})}function Xa(e){return Ua({draw:async n=>{e.src?n.context=new t.Graphics(await t.Assets.load({src:e.src,data:{parseAsGraphicsContext:!0}})).context:e.content?n.svg(e.content):e.svg&&n.svg(e.svg)},...e})}H(`Mesh`,class extends Ra(t.Mesh){constructor(){super({geometry:new t.Geometry})}onInit(e){if(super.onInit(e),e.geometry)try{this.geometry=e.geometry}catch(e){console.warn(`Failed to set geometry:`,e)}e.shader&&(this.shader=e.shader)}async onUpdate(e){if(super.onUpdate(e),e.geometry)try{this.geometry=e.geometry}catch(e){console.warn(`Failed to update geometry:`,e)}e.shader&&(this.shader=e.shader),e.texture?typeof e.texture==`string`?this.texture=await t.Assets.load(e.texture):this.texture=e.texture:e.image&&(this.texture=await t.Assets.load(e.image)),e.tint!==void 0&&(this.tint=e.tint),e.blendMode!==void 0&&(this.blendMode=e.blendMode),e.roundPixels!==void 0&&(this.roundPixels=e.roundPixels)}async onDestroy(e,t){await super.onDestroy(e,async()=>{t()})}});var Za=e=>W(`Mesh`,e),Qa=null,$a=null,eo=()=>{let e=globalThis;return e.__CANVAS_ENGINE_HOT_COMPONENTS__||=new Map,e.__CANVAS_ENGINE_HOT_COMPONENTS__};function to(e){$a?.(e)}function no(e){to(t=>{let{context:n}=t.props,r;return n.tick&&(r=n.tick.observable.subscribe(({value:n})=>{da(t)||e(n,t)})),()=>{r?.unsubscribe()}})}function ro(e,t={},n){n[0]instanceof Array&&(n=n[0]);let r;return r=Array.isArray(e)?e.length===1?e[0]:ro(Ha,{},e):`tag`in e||e instanceof A?e:io(e,{...t,children:n}),r||={},t?.dependencies&&(r.props=r.props||{},r.props.dependencies=t.dependencies),r}function io(e,t){let n=new Set,r=new Set;Qa=e=>{n.add(e)},$a=e=>{r.add(e)};let i;try{i=e(t)}finally{Qa=null,$a=null}let a=e=>{e&&(e.effectSubscriptions=[...Array.from(n),...e.effectSubscriptions??[]],e.effectMounts=[...Array.from(r),...e.effectMounts??[]])};return i instanceof Promise?i.then(e=>{a(e),e?.props?.isRoot&&r.forEach(t=>t(e))}):i instanceof A?(i.effectSubscriptions=[...Array.from(n),...i.effectSubscriptions??[]],i.effectMounts=[...Array.from(r),...i.effectMounts??[]]):a(i),i}function ao(e,t){let n=eo(),r=n.get(e);return r?(r.component=t,r.updates.next()):(r={component:t,updates:new Me},n.set(e,r)),r.wrapper||=(e=>new A(t=>{let n=!1,i=null,a=()=>{let a=io(r.component,e),o=e=>{n||(t.next({elements:e?[e]:[]}),i&&i!==e&&U(i),i=e??null)};a instanceof Promise?a.then(o).catch(e=>t.error(e)):o(a)};a();let o=r.updates.subscribe(a);return()=>{n=!0,i&&=(U(i),null),o.unsubscribe()}})),r.wrapper}function G(e,t={},...n){return t?.dependencies?!t.dependencies.some(Bt)&&t.dependencies.every(e=>z(e)?e()!==void 0:e!==void 0)?ro(e,t,n):new A(r=>{ua(t.dependencies).then(()=>{let i=ro(e,t,n);r.next(i)})}):ro(e,t,n)}function oo(e){return G(Ha)}var so=class{constructor(e){this.segments=[],this.countingLengths=[],this.totalLength=0,this.init(e)}init(e){if(!e||!e.length)this.segments.push({p1:{x:0,y:0},p2:{x:0,y:0},l:0});else if(Array.isArray(e[0]))for(let t=0;t<e.length;++t){let n=e[t],r=n[0];for(let e=1;e<n.length;++e){let t=n[e];this.segments.push({p1:r,p2:t,l:0}),r=t}}else{let t=e[0];for(let n=1;n<e.length;++n){let r=e[n];this.segments.push({p1:t,p2:r,l:0}),t=r}}for(let e=0;e<this.segments.length;++e){let{p1:t,p2:n}=this.segments[e],r=Math.sqrt((n.x-t.x)*(n.x-t.x)+(n.y-t.y)*(n.y-t.y));this.segments[e].l=r,this.totalLength+=r,this.countingLengths.push(this.totalLength)}}getRandPos(e){let t=Math.random()*this.totalLength,n,r;if(this.segments.length===1)n=this.segments[0],r=t;else for(let e=0;e<this.countingLengths.length;++e)if(t<this.countingLengths[e]){n=this.segments[e],r=e===0?t:t-this.countingLengths[e-1];break}r/=n.l||1;let{p1:i,p2:a}=n;e.x=i.x+r*(a.x-i.x),e.y=i.y+r*(a.y-i.y)}};so.type=`polygonalChain`,so.editorConfig=null;var co=class{constructor(e){this.x=e.x,this.y=e.y,this.w=e.w,this.h=e.h}getRandPos(e){e.x=Math.random()*this.w+this.x,e.y=Math.random()*this.h+this.y}};co.type=`rect`,co.editorConfig=null;var lo=class e{constructor(e,t,n){this.value=e,this.time=t,this.next=null,this.isStepped=!1,n?this.ease=typeof n==`function`?n:yo(n):this.ease=null}static createList(t){if(`list`in t){let n=t.list,r,{value:i,time:a}=n[0],o=r=new e(typeof i==`string`?vo(i):i,a,t.ease);if(n.length>2||n.length===2&&n[1].value!==i)for(let t=1;t<n.length;++t){let{value:i,time:a}=n[t];r.next=new e(typeof i==`string`?vo(i):i,a),r=r.next}return o.isStepped=!!t.isStepped,o}let n=new e(typeof t.start==`string`?vo(t.start):t.start,0);return t.end!==t.start&&(n.next=new e(typeof t.end==`string`?vo(t.end):t.end,1)),n}},uo=t.Texture.from,fo=Math.PI/180;function po(e,t){if(!e)return;let n=Math.sin(e),r=Math.cos(e),i=t.x*r-t.y*n,a=t.x*n+t.y*r;t.x=i,t.y=a}function mo(e,t,n){return e<<16|t<<8|n}function ho(e){return Math.sqrt(e.x*e.x+e.y*e.y)}function go(e){let t=1/ho(e);e.x*=t,e.y*=t}function _o(e,t){e.x*=t,e.y*=t}function vo(e,t){t||={},e.charAt(0)===`#`?e=e.substr(1):e.indexOf(`0x`)===0&&(e=e.substr(2));let n;return e.length===8&&(n=e.substr(0,2),e=e.substr(2)),t.r=parseInt(e.substr(0,2),16),t.g=parseInt(e.substr(2,2),16),t.b=parseInt(e.substr(4,2),16),n&&(t.a=parseInt(n,16)),t}function yo(e){let t=e.length,n=1/t;return function(r){let i=t*r|0,a=(r-i*n)*t,o=e[i]||e[t-1];return o.s+a*(2*(1-a)*(o.cp-o.s)+a*(o.e-o.s))}}function bo(e){return e||`normal`}var xo=class{constructor(e){this.x=e.x||0,this.y=e.y||0,this.radius=e.radius,this.innerRadius=e.innerRadius||0,this.rotation=!!e.affectRotation}getRandPos(e){this.innerRadius===this.radius?e.x=this.radius:e.x=Math.random()*(this.radius-this.innerRadius)+this.innerRadius,e.y=0;let t=Math.random()*Math.PI*2;this.rotation&&(e.rotation+=t),po(t,e.position),e.position.x+=this.x,e.position.y+=this.y}};xo.type=`torus`,xo.editorConfig=null;var K;(function(e){e[e.Spawn=0]=`Spawn`,e[e.Normal=2]=`Normal`,e[e.Late=5]=`Late`})(K||={});var So=class{constructor(e){this.order=K.Late,this.minStart=e.minStart,this.maxStart=e.maxStart,this.accel=e.accel,this.rotate=!!e.rotate,this.maxSpeed=e.maxSpeed??0}initParticles(e){let n=e;for(;n;){let e=Math.random()*(this.maxStart-this.minStart)+this.minStart;n.config.velocity?n.config.velocity.set(e,0):n.config.velocity=new t.Point(e,0),po(n.rotation,n.config.velocity),n=n.next}}updateParticle(e,t){let n=e.config.velocity,r=n.x,i=n.y;if(n.x+=this.accel.x*t,n.y+=this.accel.y*t,this.maxSpeed){let e=ho(n);e>this.maxSpeed&&_o(n,this.maxSpeed/e)}e.x+=(r+n.x)/2*t,e.y+=(i+n.y)/2*t,this.rotate&&(e.rotation=Math.atan2(n.y,n.x))}};So.type=`moveAcceleration`,So.editorConfig=null;function Co(e){return this.ease&&(e=this.ease(e)),(this.first.next.value-this.first.value)*e+this.first.value}function wo(e){this.ease&&(e=this.ease(e));let t=this.first.value,n=this.first.next.value;return mo((n.r-t.r)*e+t.r,(n.g-t.g)*e+t.g,(n.b-t.b)*e+t.b)}function To(e){this.ease&&(e=this.ease(e));let t=this.first,n=t.next;for(;e>n.time;)t=n,n=n.next;return e=(e-t.time)/(n.time-t.time),(n.value-t.value)*e+t.value}function Eo(e){this.ease&&(e=this.ease(e));let t=this.first,n=t.next;for(;e>n.time;)t=n,n=n.next;e=(e-t.time)/(n.time-t.time);let r=t.value,i=n.value;return mo((i.r-r.r)*e+r.r,(i.g-r.g)*e+r.g,(i.b-r.b)*e+r.b)}function Do(e){this.ease&&(e=this.ease(e));let t=this.first;for(;t.next&&e>t.next.time;)t=t.next;return t.value}function Oo(e){this.ease&&(e=this.ease(e));let t=this.first;for(;t.next&&e>t.next.time;)t=t.next;let n=t.value;return mo(n.r,n.g,n.b)}var ko=class{constructor(e=!1){this.first=null,this.isColor=!!e,this.interpolate=null,this.ease=null}reset(e){this.first=e,e.next&&e.next.time>=1?this.interpolate=this.isColor?wo:Co:e.isStepped?this.interpolate=this.isColor?Oo:Do:this.interpolate=this.isColor?Eo:To,this.ease=this.first.ease}},Ao=class{constructor(e){this.order=K.Normal,this.list=new ko(!1),this.list.reset(lo.createList(e.alpha))}initParticles(e){let t=e;for(;t;)t.alpha=this.list.first.value,t=t.next}updateParticle(e){e.alpha=this.list.interpolate(e.agePercent)}};Ao.type=`alpha`,Ao.editorConfig=null;var jo=class{constructor(e){this.order=K.Normal,this.value=e.alpha}initParticles(e){let t=e;for(;t;)t.alpha=this.value,t=t.next}};jo.type=`alphaStatic`,jo.editorConfig=null;function Mo(e){let n=[];for(let r=0;r<e.length;++r){let i=e[r];if(typeof i==`string`)n.push(uo(i));else if(i instanceof t.Texture)n.push(i);else{let e=i.count||1;for(i=typeof i.texture==`string`?uo(i.texture):i.texture;e>0;--e)n.push(i)}}return n}var No=class{constructor(e){this.order=K.Normal,this.anims=[];for(let t=0;t<e.anims.length;++t){let n=e.anims[t],r=Mo(n.textures),i=n.framerate<0?-1:n.framerate>0?n.framerate:60,a={textures:r,duration:i>0?r.length/i:0,framerate:i,loop:i>0?!!n.loop:!1};this.anims.push(a)}}initParticles(e){let t=e;for(;t;){let e=Math.floor(Math.random()*this.anims.length),n=t.config.anim=this.anims[e];t.texture=n.textures[0],t.config.animElapsed=0,n.framerate===-1?(t.config.animDuration=t.maxLife,t.config.animFramerate=n.textures.length/t.maxLife):(t.config.animDuration=n.duration,t.config.animFramerate=n.framerate),t=t.next}}updateParticle(e,n){let r=e.config,i=r.anim;r.animElapsed+=n,r.animElapsed>=r.animDuration&&(r.anim.loop?r.animElapsed%=r.animDuration:r.animElapsed=r.animDuration-1e-6);let a=r.animElapsed*r.animFramerate+1e-7|0;e.texture=i.textures[a]||i.textures[i.textures.length-1]||t.Texture.EMPTY}};No.type=`animatedRandom`,No.editorConfig=null;var Po=class{constructor(e){this.order=K.Normal;let t=e.anim,n=Mo(t.textures),r=t.framerate<0?-1:t.framerate>0?t.framerate:60;this.anim={textures:n,duration:r>0?n.length/r:0,framerate:r,loop:r>0?!!t.loop:!1}}initParticles(e){let t=e,n=this.anim;for(;t;)t.texture=n.textures[0],t.config.animElapsed=0,n.framerate===-1?(t.config.animDuration=t.maxLife,t.config.animFramerate=n.textures.length/t.maxLife):(t.config.animDuration=n.duration,t.config.animFramerate=n.framerate),t=t.next}updateParticle(e,n){let r=this.anim,i=e.config;i.animElapsed+=n,i.animElapsed>=i.animDuration&&(r.loop?i.animElapsed%=i.animDuration:i.animElapsed=i.animDuration-1e-6);let a=i.animElapsed*i.animFramerate+1e-7|0;e.texture=r.textures[a]||r.textures[r.textures.length-1]||t.Texture.EMPTY}};Po.type=`animatedSingle`,Po.editorConfig=null;var Fo=class{constructor(e){this.order=K.Normal,this.value=e.blendMode}initParticles(e){let t=e;for(;t;)t.blendMode=bo(this.value),t=t.next}};Fo.type=`blendMode`,Fo.editorConfig=null;var Io=class{constructor(e){this.order=K.Spawn,this.spacing=e.spacing*fo,this.start=e.start*fo,this.distance=e.distance}initParticles(e){let t=0,n=e;for(;n;){let e;e=this.spacing?this.start+this.spacing*t:Math.random()*Math.PI*2,n.rotation=e,this.distance&&(n.position.x=this.distance,po(e,n.position)),n=n.next,++t}}};Io.type=`spawnBurst`,Io.editorConfig=null;var Lo=class{constructor(e){this.order=K.Normal,this.list=new ko(!0),this.list.reset(lo.createList(e.color))}initParticles(e){let t=e,n=this.list.first.value,r=mo(n.r,n.g,n.b);for(;t;)t.tint=r,t=t.next}updateParticle(e){e.tint=this.list.interpolate(e.agePercent)}};Lo.type=`color`,Lo.editorConfig=null;var Ro=class{constructor(e){this.order=K.Normal;let t=e.color;t.charAt(0)===`#`?t=t.substr(1):t.indexOf(`0x`)===0&&(t=t.substr(2)),this.value=parseInt(t,16)}initParticles(e){let t=e;for(;t;)t.tint=this.value,t=t.next}};Ro.type=`colorStatic`,Ro.editorConfig=null;var zo=class{constructor(e){this.order=K.Normal,this.index=0,this.textures=e.textures.map(e=>typeof e==`string`?uo(e):e)}initParticles(e){let t=e;for(;t;)t.texture=this.textures[this.index],++this.index>=this.textures.length&&(this.index=0),t=t.next}};zo.type=`textureOrdered`,zo.editorConfig=null;var Bo=new t.Point,Vo=`E.LN2.LN10.LOG2E.LOG10E.PI.SQRT1_2.SQRT2.abs.acos.acosh.asin.asinh.atan.atanh.atan2.cbrt.ceil.cos.cosh.exp.expm1.floor.fround.hypot.log.log1p.log10.log2.max.min.pow.random.round.sign.sin.sinh.sqrt.tan.tanh`.split(`.`),Ho=new RegExp([`[01234567890\\.\\*\\-\\+\\/\\(\\)x ,]`].concat(Vo).join(`|`),`g`);function Uo(e){let t=e.match(Ho);for(let e=t.length-1;e>=0;--e)Vo.indexOf(t[e])>=0&&(t[e]=`Math.${t[e]}`);return e=t.join(``),Function(`x`,`return ${e};`)}var Wo=class{constructor(e){if(this.order=K.Late,e.path)if(typeof e.path==`function`)this.path=e.path;else try{this.path=Uo(e.path)}catch{this.path=null}else this.path=e=>e;this.list=new ko(!1),this.list.reset(lo.createList(e.speed)),this.minMult=e.minMult??1}initParticles(e){let n=e;for(;n;){n.config.initRotation=n.rotation,n.config.initPosition?n.config.initPosition.copyFrom(n.position):n.config.initPosition=new t.Point(n.x,n.y),n.config.movement=0;let e=Math.random()*(1-this.minMult)+this.minMult;n.config.speedMult=e,n=n.next}}updateParticle(e,t){let n=this.list.interpolate(e.agePercent)*e.config.speedMult;e.config.movement+=n*t,Bo.x=e.config.movement,Bo.y=this.path(Bo.x),po(e.config.initRotation,Bo),e.position.x=e.config.initPosition.x+Bo.x,e.position.y=e.config.initPosition.y+Bo.y}};Wo.type=`movePath`,Wo.editorConfig=null;var Go=class{constructor(){this.order=K.Spawn}initParticles(e){}};Go.type=`spawnPoint`,Go.editorConfig=null;var Ko=class{constructor(e){this.order=K.Normal,this.textures=e.textures.map(e=>typeof e==`string`?uo(e):e)}initParticles(e){let t=e;for(;t;){let e=Math.floor(Math.random()*this.textures.length);t.texture=this.textures[e],t=t.next}}};Ko.type=`textureRandom`,Ko.editorConfig=null;var qo=class{constructor(e){this.order=K.Normal,this.minStart=e.minStart*fo,this.maxStart=e.maxStart*fo,this.minSpeed=e.minSpeed*fo,this.maxSpeed=e.maxSpeed*fo,this.accel=e.accel*fo}initParticles(e){let t=e;for(;t;)this.minStart===this.maxStart?t.rotation+=this.maxStart:t.rotation+=Math.random()*(this.maxStart-this.minStart)+this.minStart,t.config.rotSpeed=Math.random()*(this.maxSpeed-this.minSpeed)+this.minSpeed,t=t.next}updateParticle(e,t){if(this.accel){let n=e.config.rotSpeed;e.config.rotSpeed+=this.accel*t,e.rotation+=(e.config.rotSpeed+n)/2*t}else e.rotation+=e.config.rotSpeed*t}};qo.type=`rotation`,qo.editorConfig=null;var Jo=class{constructor(e){this.order=K.Normal,this.min=e.min*fo,this.max=e.max*fo}initParticles(e){let t=e;for(;t;)this.min===this.max?t.rotation+=this.max:t.rotation+=Math.random()*(this.max-this.min)+this.min,t=t.next}};Jo.type=`rotationStatic`,Jo.editorConfig=null;var Yo=class{constructor(e){this.order=K.Late+1,this.rotation=(e.rotation||0)*fo}initParticles(e){let t=e;for(;t;)t.rotation=this.rotation,t=t.next}};Yo.type=`noRotation`,Yo.editorConfig=null;var Xo=class{constructor(e){this.order=K.Normal,this.list=new ko(!1),this.list.reset(lo.createList(e.scale)),this.minMult=e.minMult??1}initParticles(e){let t=e;for(;t;){let e=Math.random()*(1-this.minMult)+this.minMult;t.config.scaleMult=e,t.scale.x=t.scale.y=this.list.first.value*e,t=t.next}}updateParticle(e){e.scale.x=e.scale.y=this.list.interpolate(e.agePercent)*e.config.scaleMult}};Xo.type=`scale`,Xo.editorConfig=null;var Zo=class{constructor(e){this.order=K.Normal,this.min=e.min,this.max=e.max}initParticles(e){let t=e;for(;t;){let e=Math.random()*(this.max-this.min)+this.min;t.scale.x=t.scale.y=e,t=t.next}}};Zo.type=`scaleStatic`,Zo.editorConfig=null;var Qo=class e{static registerShape(t,n){e.shapes[n||t.type]=t}constructor(t){this.order=K.Spawn;let n=e.shapes[t.type];if(!n)throw Error(`No shape found with type '${t.type}'`);this.shape=new n(t.data)}initParticles(e){let t=e;for(;t;)this.shape.getRandPos(t),t=t.next}};Qo.type=`spawnShape`,Qo.editorConfig=null,Qo.shapes={},Qo.registerShape(so),Qo.registerShape(co),Qo.registerShape(xo),Qo.registerShape(xo,`circle`);var $o=class{constructor(e){this.order=K.Normal,this.texture=typeof e.texture==`string`?uo(e.texture):e.texture}initParticles(e){let t=e;for(;t;)t.texture=this.texture,t=t.next}};$o.type=`textureSingle`,$o.editorConfig=null;var es=class{constructor(e){this.order=K.Late,this.list=new ko(!1),this.list.reset(lo.createList(e.speed)),this.minMult=e.minMult??1}initParticles(e){let n=e;for(;n;){let e=Math.random()*(1-this.minMult)+this.minMult;n.config.speedMult=e,n.config.velocity?n.config.velocity.set(this.list.first.value*e,0):n.config.velocity=new t.Point(this.list.first.value*e,0),po(n.rotation,n.config.velocity),n=n.next}}updateParticle(e,t){let n=this.list.interpolate(e.agePercent)*e.config.speedMult,r=e.config.velocity;go(r),_o(r,n),e.x+=r.x*t,e.y+=r.y*t}};es.type=`moveSpeed`,es.editorConfig=null;var ts=class{constructor(e){this.order=K.Late,this.min=e.min,this.max=e.max}initParticles(e){let n=e;for(;n;){let e=Math.random()*(this.max-this.min)+this.min;n.config.velocity?n.config.velocity.set(e,0):n.config.velocity=new t.Point(e,0),po(n.rotation,n.config.velocity),n=n.next}}updateParticle(e,t){let n=e.config.velocity;e.x+=n.x*t,e.y+=n.y*t}};ts.type=`moveSpeedStatic`,ts.editorConfig=null;var ns=class extends t.Sprite{constructor(e){super(),this.prevChild=this.nextChild=null,this.emitter=e,this.config={},this.anchor.x=this.anchor.y=.5,this.maxLife=0,this.age=0,this.agePercent=0,this.oneOverLife=0,this.next=null,this.prev=null,this.init=this.init,this.kill=this.kill}init(e){this.maxLife=e,this.age=this.agePercent=0,this.rotation=0,this.position.x=this.position.y=0,this.scale.x=this.scale.y=1,this.tint=16777215,this.alpha=1,this.oneOverLife=1/this.maxLife,this.visible=!0}kill(){this.emitter.recycle(this)}destroy(){this.parent&&this.parent.removeChild(this),this.emitter=this.next=this.prev=null,super.destroy()}},rs=t.Ticker.shared,is=Symbol(`Position particle per emitter position`),q=class e{static registerBehavior(t){e.knownBehaviors[t.type]=t}constructor(e,n){this.initBehaviors=[],this.updateBehaviors=[],this.recycleBehaviors=[],this.minLifetime=0,this.maxLifetime=0,this.customEase=null,this._frequency=1,this.spawnChance=1,this.maxParticles=1e3,this.emitterLifetime=-1,this.spawnPos=new t.Point,this.particlesPerWave=1,this.rotation=0,this.ownerPos=new t.Point,this._prevEmitterPos=new t.Point,this._prevPosIsValid=!1,this._posChanged=!1,this._parent=null,this.addAtBack=!1,this.particleCount=0,this._emit=!1,this._spawnTimer=0,this._emitterLife=-1,this._activeParticlesFirst=null,this._activeParticlesLast=null,this._poolFirst=null,this._origConfig=null,this._autoUpdate=!1,this._destroyWhenComplete=!1,this._completeCallback=null,this.parent=e,n&&this.init(n),this.recycle=this.recycle,this.update=this.update,this.rotate=this.rotate,this.updateSpawnPos=this.updateSpawnPos,this.updateOwnerPos=this.updateOwnerPos}get frequency(){return this._frequency}set frequency(e){typeof e==`number`&&e>0?this._frequency=e:this._frequency=1}get parent(){return this._parent}set parent(e){this.cleanup(),this._parent=e}init(t){if(!t)return;this.cleanup(),this._origConfig=t,this.minLifetime=t.lifetime.min,this.maxLifetime=t.lifetime.max,t.ease?this.customEase=typeof t.ease==`function`?t.ease:yo(t.ease):this.customEase=null,this.particlesPerWave=1,t.particlesPerWave&&t.particlesPerWave>1&&(this.particlesPerWave=t.particlesPerWave),this.frequency=t.frequency,this.spawnChance=typeof t.spawnChance==`number`&&t.spawnChance>0?t.spawnChance:1,this.emitterLifetime=t.emitterLifetime||-1,this.maxParticles=t.maxParticles>0?t.maxParticles:1e3,this.addAtBack=!!t.addAtBack,this.rotation=0,this.ownerPos.set(0),t.pos?this.spawnPos.copyFrom(t.pos):this.spawnPos.set(0),this._prevEmitterPos.copyFrom(this.spawnPos),this._prevPosIsValid=!1,this._spawnTimer=0,this.emit=t.emit===void 0?!0:!!t.emit,this.autoUpdate=!!t.autoUpdate;let n=t.behaviors.map(t=>{let n=e.knownBehaviors[t.type];return n?new n(t.config):(console.error(`Unknown behavior: ${t.type}`),null)}).filter(e=>!!e);n.push(is),n.sort((e,t)=>e===is?t.order===K.Spawn?1:-1:t===is?e.order===K.Spawn?-1:1:e.order-t.order),this.initBehaviors=n.slice(),this.updateBehaviors=n.filter(e=>e!==is&&e.updateParticle),this.recycleBehaviors=n.filter(e=>e!==is&&e.recycleParticle)}getBehavior(t){return e.knownBehaviors[t]&&this.initBehaviors.find(n=>n instanceof e.knownBehaviors[t])||null}fillPool(e){for(;e>0;--e){let e=new ns(this);e.next=this._poolFirst,this._poolFirst=e}}recycle(e,t=!1){for(let n=0;n<this.recycleBehaviors.length;++n)this.recycleBehaviors[n].recycleParticle(e,!t);e.next&&(e.next.prev=e.prev),e.prev&&(e.prev.next=e.next),e===this._activeParticlesLast&&(this._activeParticlesLast=e.prev),e===this._activeParticlesFirst&&(this._activeParticlesFirst=e.next),e.prev=null,e.next=this._poolFirst,this._poolFirst=e,e.parent&&e.parent.removeChild(e),--this.particleCount}rotate(e){if(this.rotation===e)return;let t=e-this.rotation;this.rotation=e,po(t,this.spawnPos),this._posChanged=!0}updateSpawnPos(e,t){this._posChanged=!0,this.spawnPos.x=e,this.spawnPos.y=t}updateOwnerPos(e,t){this._posChanged=!0,this.ownerPos.x=e,this.ownerPos.y=t}resetPositionTracking(){this._prevPosIsValid=!1}get emit(){return this._emit}set emit(e){this._emit=!!e,this._emitterLife=this.emitterLifetime}get autoUpdate(){return this._autoUpdate}set autoUpdate(e){this._autoUpdate&&!e?rs.remove(this.update,this):!this._autoUpdate&&e&&rs.add(this.update,this),this._autoUpdate=!!e}playOnceAndDestroy(e){this.autoUpdate=!0,this.emit=!0,this._destroyWhenComplete=!0,this._completeCallback=e}playOnce(e){this.emit=!0,this._completeCallback=e}update(e){if(typeof e!=`number`&&(e=e.deltaTime),this._autoUpdate&&(e=rs.elapsedMS*.001),!this._parent)return;for(let t=this._activeParticlesFirst,n;t;t=n)if(n=t.next,t.age+=e,t.age>t.maxLife||t.age<0)this.recycle(t);else{let n=t.age*t.oneOverLife;this.customEase&&(n=this.customEase.length===4?this.customEase(n,0,1,1):this.customEase(n)),t.agePercent=n;for(let n=0;n<this.updateBehaviors.length;++n)if(this.updateBehaviors[n].updateParticle(t,e)){this.recycle(t);break}}let t,n;this._prevPosIsValid&&(t=this._prevEmitterPos.x,n=this._prevEmitterPos.y);let r=this.ownerPos.x+this.spawnPos.x,i=this.ownerPos.y+this.spawnPos.y;if(this._emit)for(this._spawnTimer-=e<0?0:e;this._spawnTimer<=0;){if(this._emitterLife>=0&&(this._emitterLife-=this._frequency,this._emitterLife<=0)){this._spawnTimer=0,this._emitterLife=0,this.emit=!1;break}if(this.particleCount>=this.maxParticles){this._spawnTimer+=this._frequency;continue}let a,o;if(this._prevPosIsValid&&this._posChanged){let s=1+this._spawnTimer/e;a=(r-t)*s+t,o=(i-n)*s+n}else a=r,o=i;let s=null,c=null;for(let e=Math.min(this.particlesPerWave,this.maxParticles-this.particleCount),t=0;t<e;++t){if(this.spawnChance<1&&Math.random()>=this.spawnChance)continue;let e;if(e=this.minLifetime===this.maxLifetime?this.minLifetime:Math.random()*(this.maxLifetime-this.minLifetime)+this.minLifetime,-this._spawnTimer>=e)continue;let t;this._poolFirst?(t=this._poolFirst,this._poolFirst=this._poolFirst.next,t.next=null):t=new ns(this),t.init(e),this.addAtBack?this._parent.addChildAt(t,0):this._parent.addChild(t),s?(c.next=t,t.prev=c,c=t):c=s=t,++this.particleCount}if(s){this._activeParticlesLast?(this._activeParticlesLast.next=s,s.prev=this._activeParticlesLast,this._activeParticlesLast=c):(this._activeParticlesFirst=s,this._activeParticlesLast=c);for(let e=0;e<this.initBehaviors.length;++e){let t=this.initBehaviors[e];if(t===is)for(let e=s,t;e;e=t){t=e.next,this.rotation!==0&&(po(this.rotation,e.position),e.rotation+=this.rotation),e.position.x+=a,e.position.y+=o,e.age+=-this._spawnTimer;let n=e.age*e.oneOverLife;this.customEase&&(n=this.customEase.length===4?this.customEase(n,0,1,1):this.customEase(n)),e.agePercent=n}else t.initParticles(s)}for(let e=s,t;e;e=t){t=e.next;for(let t=0;t<this.updateBehaviors.length;++t)if(this.updateBehaviors[t].updateParticle(e,-this._spawnTimer)){this.recycle(e);break}}}this._spawnTimer+=this._frequency}if(this._posChanged&&=(this._prevEmitterPos.x=r,this._prevEmitterPos.y=i,this._prevPosIsValid=!0,!1),!this._emit&&!this._activeParticlesFirst){if(this._completeCallback){let e=this._completeCallback;this._completeCallback=null,e()}this._destroyWhenComplete&&this.destroy()}}emitNow(){let e=this.ownerPos.x+this.spawnPos.x,t=this.ownerPos.y+this.spawnPos.y,n=null,r=null;for(let e=Math.min(this.particlesPerWave,this.maxParticles-this.particleCount),t=0;t<e;++t){if(this.spawnChance<1&&Math.random()>=this.spawnChance)continue;let e;this._poolFirst?(e=this._poolFirst,this._poolFirst=this._poolFirst.next,e.next=null):e=new ns(this);let t;t=this.minLifetime===this.maxLifetime?this.minLifetime:Math.random()*(this.maxLifetime-this.minLifetime)+this.minLifetime,e.init(t),this.addAtBack?this._parent.addChildAt(e,0):this._parent.addChild(e),n?(r.next=e,e.prev=r,r=e):r=n=e,++this.particleCount}if(n){this._activeParticlesLast?(this._activeParticlesLast.next=n,n.prev=this._activeParticlesLast,this._activeParticlesLast=r):(this._activeParticlesFirst=n,this._activeParticlesLast=r);for(let r=0;r<this.initBehaviors.length;++r){let i=this.initBehaviors[r];if(i===is)for(let r=n,i;r;r=i)i=r.next,this.rotation!==0&&(po(this.rotation,r.position),r.rotation+=this.rotation),r.position.x+=e,r.position.y+=t;else i.initParticles(n)}}}cleanup(){let e,t;for(e=this._activeParticlesFirst;e;e=t)t=e.next,this.recycle(e,!0);this._activeParticlesFirst=this._activeParticlesLast=null,this.particleCount=0}get destroyed(){return!(this._parent&&this.initBehaviors.length)}destroy(){this.autoUpdate=!1,this.cleanup();let e;for(let t=this._poolFirst;t;t=e)e=t.next,t.destroy();this._poolFirst=this._parent=this.spawnPos=this.ownerPos=this.customEase=this._completeCallback=null,this.initBehaviors.length=this.updateBehaviors.length=this.recycleBehaviors.length=0}};q.knownBehaviors={},q.registerBehavior(So),q.registerBehavior(Ao),q.registerBehavior(jo),q.registerBehavior(No),q.registerBehavior(Po),q.registerBehavior(Fo),q.registerBehavior(Io),q.registerBehavior(Lo),q.registerBehavior(Ro),q.registerBehavior(zo),q.registerBehavior(Wo),q.registerBehavior(Go),q.registerBehavior(Ko),q.registerBehavior(qo),q.registerBehavior(Jo),q.registerBehavior(Yo),q.registerBehavior(Xo),q.registerBehavior(Zo),q.registerBehavior(Qo),q.registerBehavior($o),q.registerBehavior(es),q.registerBehavior(ts),H(`ParticlesEmitter`,class extends Va{constructor(...e){super(...e),this.elapsed=Date.now()}async onMount(e){await super.onMount(e);let{props:t}=e,n=t.context.tick;this.emitter=new q(this,t.config),this.subscriptionTick=n.observable.subscribe(e=>{if(!this.emitter)return;let t=Date.now();this.emitter.update((t-this.elapsed)*.001),this.elapsed=t})}onUpdate(e){}async onDestroy(e,t){await super.onDestroy(e,async()=>{this.emitter?.destroy(),this.emitter=null,this.subscriptionTick.unsubscribe(),t()})}});function as(e){return W(`ParticlesEmitter`,e)}var os=console.log,ss=function(e){return e.Stand=`stand`,e.Walk=`walk`,e}({}),cs=class extends Ra(t.Sprite){constructor(...e){super(...e),this.hitbox=null,this.currentAnimation=null,this.time=0,this.frameIndex=0,this.animations=new Map,this.subscriptionSheet=[],this.sheetParams={},this.sheetCurrentAnimation=ss.Stand,this.app=null,this.globalLoader=null,this.trackedAssetIds=new Set,this.currentAnimationContainer=null}get renderer(){return this.app?.renderer}async detectImageDimensions(e){if(!e||typeof e!=`string`||e.trim()===``)throw Error(`Invalid image path provided to detectImageDimensions: ${e}`);let n=null;this.globalLoader&&(n=this.globalLoader.registerAsset(e),this.trackedAssetIds.add(n));let r=await t.Assets.load(e,e=>{this.globalLoader&&n&&this.globalLoader.updateProgress(n,e)});return this.globalLoader&&n&&this.globalLoader.completeAsset(n),{width:r.width,height:r.height}}async createTextures(e){let{width:n,height:r,framesHeight:i,framesWidth:a,image:o,offset:s}=e;if(!o||typeof o!=`string`||o.trim()===``)return console.warn(`Invalid image path provided to createTextures:`,o),[];let c=null;this.globalLoader&&(c=this.globalLoader.registerAsset(o),this.trackedAssetIds.add(c));let l=await t.Assets.load(o,e=>{this.globalLoader&&c&&this.globalLoader.updateProgress(c,e)});this.globalLoader&&c&&this.globalLoader.completeAsset(c),(!n||n<=0)&&(n=l.width,e.width=n),(!r||r<=0)&&(r=l.height,e.height=r);let u=e.spriteWidth,d=e.spriteHeight,f=[],p=s&&s.x||0,m=s&&s.y||0;for(let e=0;e<i;e++){f[e]=[];for(let i=0;i<a;i++){let a=i*u+p,o=e*d+m;if(o>r)throw os(`Warning, there is a problem with the height of the "${this.id}" spritesheet. When cutting into frames, the frame exceeds the height of the image.`);if(a>n)throw os(`Warning, there is a problem with the width of the "${this.id}" spritesheet. When cutting into frames, the frame exceeds the width of the image.`);f[e].push(new t.Texture({source:l.source,frame:new t.Rectangle(a,o,u,d)}))}}return f}async createAnimations(){let{textures:e}=this.spritesheet;if(e)for(let t in e){let n={...[`width`,`height`,`framesHeight`,`framesWidth`,`rectWidth`,`rectHeight`,`offset`,`image`,`sound`].reduce((e,t)=>({...e,[t]:this.spritesheet[t]}),{}),...e[t]},{rectWidth:r,width:i=0,framesWidth:a=1,rectHeight:o,height:s=0,framesHeight:c=1,image:l}=n,u=i,d=s;if(l&&(!u||u<=0||!d||d<=0)){let e=await this.detectImageDimensions(l);(!u||u<=0)&&(u=e.width,n.width=u),(!d||d<=0)&&(d=e.height,n.height=d)}n.spriteWidth=r||u/a,n.spriteHeight=o||d/c,this.animations.set(t,{frames:await this.createTextures(n),name:t,animations:e[t].animations,params:[],data:n,sprites:[]})}}async onMount(e){this[`#element`]=e;let{props:t,propObservables:n}=e,r=t.context.tick,i=t.sheet??{},a=t.sheet?.definition??{};if(this.app=t.context.app(),this.globalLoader=t.context?.globalLoader||null,i?.onFinish&&(this.onFinish=i.onFinish),this.subscriptionTick=r.observable.subscribe(e=>{this.destroyed||this.update(e)}),a){let e=a instanceof Promise?await a:a;this.spritesheet=e.value??e,await this.createAnimations()}if(i?.params&&(this.sheetParams=i.params),i?.playing&&this.has(i.playing)&&(this.sheetCurrentAnimation=i.playing,this.play(this.sheetCurrentAnimation,[this.sheetParams])),i.params)for(let e in n?.sheet.params){let t=n?.sheet.params[e];if(z(t))this.subscriptionSheet.push(t.observable.subscribe(t=>{this.animations.size!=0&&this.has(this.sheetCurrentAnimation)&&this.play(this.sheetCurrentAnimation,[{...this.sheetParams,[e]:t}])}));else{if(!this.has(this.sheetCurrentAnimation))continue;this.play(this.sheetCurrentAnimation,[{...this.sheetParams,[e]:t}])}}let o=B(()=>{let{x:e,y:t}=n??{};if(!e||!t)return!1;let r=e,i=t,a=Yi(r)&&r.animatedState().current!==r.animatedState().end,o=Yi(i)&&i.animatedState().current!==i.animatedState().end;return a||o});V(()=>{let e=o();if(!this.isMounted)return;let t=this.getMovementAnimationName(e);t&&(this.sheetCurrentAnimation=t,this.spritesheet&&this.play(this.sheetCurrentAnimation,[this.sheetParams]))}),super.onMount(e)}async onUpdate(e){if(this.destroyed)return;super.onUpdate(e),!this.globalLoader&&e.context?.globalLoader&&(this.globalLoader=e.context.globalLoader);let n=async e=>{if(!e||typeof e!=`string`||e.trim()===``)return console.warn(`Invalid image path provided to setTexture:`,e),null;let n=null;this.globalLoader&&(n=this.globalLoader.registerAsset(e),this.trackedAssetIds.add(n));let r=this.fullProps.loader?.onProgress,i=await t.Assets.load(e,e=>{if(this.globalLoader&&n&&this.globalLoader.updateProgress(n,e),r&&r(e),e==1){this.globalLoader&&n&&this.globalLoader.completeAsset(n);let e=this.fullProps.loader?.onComplete;e&&setTimeout(()=>{e(i)})}});return i},r=e.sheet,i=e.sheet?.definition??{};if(i?.type===`reset`){let e=i.value instanceof Promise?await i.value:i.value;this.spritesheet=e??i,await this.resetAnimations()}if(r?.params&&(this.sheetParams=r?.params),r?.playing&&this.isMounted&&this.spritesheet&&this.animations.size>0&&(this.sheetCurrentAnimation=r?.playing,this.play(this.sheetCurrentAnimation,[this.sheetParams])),e.hitbox!==void 0&&(this.hitbox=this.normalizeHitbox(e.hitbox)),e.scaleMode)this.baseTexture.scaleMode=e.scaleMode;else if(e.image&&this.fullProps.rectangle===void 0){let e=await n(this.fullProps.image);e&&(this.texture=e)}else e.texture&&($i(e.texture)?(e.texture.componentInstance.subjectInit.subscribe(),this.texture=this.renderer?.generateTexture(e.texture.componentInstance)):this.texture=e.texture);if(e.rectangle!==void 0){let{x:r,y:i,width:a,height:o}=e.rectangle?.value??e.rectangle,s=await n(this.fullProps.image);s&&(this.texture=new t.Texture({source:s.source,frame:new t.Rectangle(r,i,a,o)}))}this.hitbox&&!this.spritesheet&&this.applyHitboxAnchor(this.texture.width,this.texture.height)}async onDestroy(e,n){await super.onDestroy(e,async()=>{this.globalLoader&&(this.trackedAssetIds.forEach(e=>{this.globalLoader.removeAsset(e)}),this.trackedAssetIds.clear()),this.subscriptionSheet.forEach(e=>e.unsubscribe()),this.subscriptionTick.unsubscribe(),this.currentAnimationContainer&&this.parent instanceof t.Container&&this.parent.removeChild(this.currentAnimationContainer),n&&n()})}has(e){return this.animations.has(e)}get(e){return this.animations.get(e)}isPlaying(e){return e?this.currentAnimation==null?!1:this.currentAnimation.name==e:!!this.currentAnimation}getFirstAnimationName(){return this.animations.keys().next().value}getPlayableAnimationName(e){return e&&this.has(e)?e:this.getFirstAnimationName()}getMovementAnimationName(e){let t=e?ss.Walk:ss.Stand;if(this.has(t))return t;if(this.sheetCurrentAnimation&&this.has(this.sheetCurrentAnimation))return this.sheetCurrentAnimation;if(this.currentAnimation?.name&&this.has(this.currentAnimation.name))return this.currentAnimation.name}stop(){this.currentAnimation=null}play(e,n=[]){let r=this.currentAnimation?.params;if(this.isPlaying(e)&&Vt(n,r||[]))return;let i=this.get(e);if(!i)throw Error(`Impossible to play the ${e} animation because it doesn't exist on the "${this.id}" spritesheet`);let a=structuredClone(n);this.removeChildren(),i.sprites=[],this.currentAnimation=i,this.currentAnimation.params=a,this.time=0,this.frameIndex=0;let o=i.animations;o=Wt(o)?o(...a):o,this.currentAnimationContainer=new t.Container;for(let e of o){let n=new t.Sprite;for(let t of e)this.currentAnimation.sprites.push(t);this.currentAnimationContainer.addChild(n)}let s=this.currentAnimation.data.sound;s&&new xa.Howl({src:s,autoplay:!0,loop:!1,volume:1}),this.update({deltaRatio:1})}async resetAnimations(){if(this.stop(),this.animations.clear(),this.currentAnimation=null,this.currentAnimationContainer=null,this.time=0,this.frameIndex=0,this.removeChildren(),this.spritesheet){await this.createAnimations();let e=this.getPlayableAnimationName(this.sheetCurrentAnimation);e&&(this.sheetCurrentAnimation=e,this.play(e,[this.sheetParams]))}}update({deltaRatio:e}){let t=this.getElement();if(t&&da(t)||!this.isPlaying()||!this.currentAnimation||!this.currentAnimationContainer)return;let n=this,{frames:r,sprites:i,data:a}=this.currentAnimation,o=i[this.frameIndex],s=i[this.frameIndex+1];for(let e of this.currentAnimationContainer.children){if(!o||o.frameY==null||o.frameX==null)continue;this.texture=r[o.frameY][o.frameX];let e=e=>o[e]??a[e]??this.spritesheet[e],t=t=>{let n=e(t);n&&this[t].set(...n)};function i(t,r){let i=e(r||t);i!==void 0&&(n[t]=i)}this.applyTransform&&(o={...o,...this.applyTransform(o,a,this.spritesheet)});let s=e(`spriteRealSize`);o.sound,this.applyHitboxAnchor(a.spriteWidth,a.spriteHeight,s),t(`anchor`),t(`scale`),t(`skew`),t(`pivot`),i(`alpha`,`opacity`),i(`x`),i(`y`),i(`angle`),i(`rotation`),i(`visible`)}if(!s){this.time=0,this.frameIndex=0,this.onFinish&&i.length>1&&this.onFinish();return}this.time+=e??1,this.time>=s.time&&this.frameIndex++}applyHitboxAnchor(e,t,n){if(!this.hitbox||!e||!t)return;let r=(typeof n==`number`?n:n?.height)??t,i=Math.max(0,(t-r)/2),a=this.clamp((e-this.hitbox.w)/2/e),o=this.clamp((t-this.hitbox.h-i)/t),s=this.clamp(a+this.hitbox.w/2/e),c=this.clamp(o+this.hitbox.h/2/t),l=this.clamp((t-i)/t),u=a,d=o;switch(this.hitbox.anchorMode??`top-left`){case`center`:u=s,d=c;break;case`foot`:u=s,d=l;break;default:break}this.anchor.set(u,d)}normalizeHitbox(e){let t=e?.value??e;if(!t||typeof t!=`object`)return null;let{w:n,h:r,anchorMode:i}=t;return typeof n!=`number`||typeof r!=`number`?null:{w:n,h:r,anchorMode:i}}clamp(e){return Math.min(1,Math.max(0,e))}};H(`Sprite`,cs);var ls=e=>(H(`Sprite`,cs),W(`Sprite`,e));function us(e){let t={audioprocess:null,canplay:null,canplaythrough:null,complete:null,durationchange:null,emptied:null,ended:null,loadeddata:null,loadedmetadata:null,pause:null,play:null,playing:null,progress:null,ratechange:null,seeked:null,seeking:null,stalled:null,suspend:null,timeupdate:null,volumechange:null,waiting:null},n=R(null),{play:r,loop:i,muted:a}=va(e)({play:{type:Boolean,default:!0},loop:{type:Boolean,default:!1},muted:{type:Boolean,default:!1}});return V(()=>{let e=n(),t=r();e&&t!==void 0&&(t?e.play():e.pause()),e&&i()&&(e.loop=i()),e&&a()&&(e.muted=a())}),to(()=>()=>{for(let e in t)t[e]&&n().removeEventListener(e,t[e])}),G(ls,{...e,image:e.src,loader:{onComplete:r=>{let i=r.source.resource;n.set(i),e?.loader?.onComplete&&e.loader.onComplete(r);for(let n in t)if(e[n]){let r=t=>{e[n](t)};t[n]=r,i.addEventListener(n,r)}}}})}var ds=`BN.BN.BN.BN.BN.BN.BN.BN.BN.S.B.S.WS.B.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.B.B.B.S.WS.ON.ON.ET.ET.ET.ON.ON.ON.ON.ON.ES.CS.ES.CS.CS.EN.EN.EN.EN.EN.EN.EN.EN.EN.EN.CS.ON.ON.ON.ON.ON.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.ON.ON.ON.ON.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.ON.ON.ON.BN.BN.BN.BN.BN.BN.B.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.CS.ON.ET.ET.ET.ET.ON.ON.ON.ON.L.ON.ON.BN.ON.ON.ET.ET.EN.EN.ON.L.ON.ON.ON.EN.L.ON.ON.ON.ON.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.L.L.L.L.L.L.L.L`.split(`.`),fs=[[697,698,`ON`],[706,719,`ON`],[722,735,`ON`],[741,749,`ON`],[751,767,`ON`],[768,879,`NSM`],[884,885,`ON`],[894,894,`ON`],[900,901,`ON`],[903,903,`ON`],[1014,1014,`ON`],[1155,1161,`NSM`],[1418,1418,`ON`],[1421,1422,`ON`],[1423,1423,`ET`],[1424,1424,`R`],[1425,1469,`NSM`],[1470,1470,`R`],[1471,1471,`NSM`],[1472,1472,`R`],[1473,1474,`NSM`],[1475,1475,`R`],[1476,1477,`NSM`],[1478,1478,`R`],[1479,1479,`NSM`],[1480,1535,`R`],[1536,1541,`AN`],[1542,1543,`ON`],[1544,1544,`AL`],[1545,1546,`ET`],[1547,1547,`AL`],[1548,1548,`CS`],[1549,1549,`AL`],[1550,1551,`ON`],[1552,1562,`NSM`],[1563,1610,`AL`],[1611,1631,`NSM`],[1632,1641,`AN`],[1642,1642,`ET`],[1643,1644,`AN`],[1645,1647,`AL`],[1648,1648,`NSM`],[1649,1749,`AL`],[1750,1756,`NSM`],[1757,1757,`AN`],[1758,1758,`ON`],[1759,1764,`NSM`],[1765,1766,`AL`],[1767,1768,`NSM`],[1769,1769,`ON`],[1770,1773,`NSM`],[1774,1775,`AL`],[1776,1785,`EN`],[1786,1808,`AL`],[1809,1809,`NSM`],[1810,1839,`AL`],[1840,1866,`NSM`],[1867,1957,`AL`],[1958,1968,`NSM`],[1969,1983,`AL`],[1984,2026,`R`],[2027,2035,`NSM`],[2036,2037,`R`],[2038,2041,`ON`],[2042,2044,`R`],[2045,2045,`NSM`],[2046,2069,`R`],[2070,2073,`NSM`],[2074,2074,`R`],[2075,2083,`NSM`],[2084,2084,`R`],[2085,2087,`NSM`],[2088,2088,`R`],[2089,2093,`NSM`],[2094,2136,`R`],[2137,2139,`NSM`],[2140,2143,`R`],[2144,2191,`AL`],[2192,2193,`AN`],[2194,2198,`AL`],[2199,2207,`NSM`],[2208,2249,`AL`],[2250,2273,`NSM`],[2274,2274,`AN`],[2275,2306,`NSM`],[2362,2362,`NSM`],[2364,2364,`NSM`],[2369,2376,`NSM`],[2381,2381,`NSM`],[2385,2391,`NSM`],[2402,2403,`NSM`],[2433,2433,`NSM`],[2492,2492,`NSM`],[2497,2500,`NSM`],[2509,2509,`NSM`],[2530,2531,`NSM`],[2546,2547,`ET`],[2555,2555,`ET`],[2558,2558,`NSM`],[2561,2562,`NSM`],[2620,2620,`NSM`],[2625,2626,`NSM`],[2631,2632,`NSM`],[2635,2637,`NSM`],[2641,2641,`NSM`],[2672,2673,`NSM`],[2677,2677,`NSM`],[2689,2690,`NSM`],[2748,2748,`NSM`],[2753,2757,`NSM`],[2759,2760,`NSM`],[2765,2765,`NSM`],[2786,2787,`NSM`],[2801,2801,`ET`],[2810,2815,`NSM`],[2817,2817,`NSM`],[2876,2876,`NSM`],[2879,2879,`NSM`],[2881,2884,`NSM`],[2893,2893,`NSM`],[2901,2902,`NSM`],[2914,2915,`NSM`],[2946,2946,`NSM`],[3008,3008,`NSM`],[3021,3021,`NSM`],[3059,3064,`ON`],[3065,3065,`ET`],[3066,3066,`ON`],[3072,3072,`NSM`],[3076,3076,`NSM`],[3132,3132,`NSM`],[3134,3136,`NSM`],[3142,3144,`NSM`],[3146,3149,`NSM`],[3157,3158,`NSM`],[3170,3171,`NSM`],[3192,3198,`ON`],[3201,3201,`NSM`],[3260,3260,`NSM`],[3276,3277,`NSM`],[3298,3299,`NSM`],[3328,3329,`NSM`],[3387,3388,`NSM`],[3393,3396,`NSM`],[3405,3405,`NSM`],[3426,3427,`NSM`],[3457,3457,`NSM`],[3530,3530,`NSM`],[3538,3540,`NSM`],[3542,3542,`NSM`],[3633,3633,`NSM`],[3636,3642,`NSM`],[3647,3647,`ET`],[3655,3662,`NSM`],[3761,3761,`NSM`],[3764,3772,`NSM`],[3784,3790,`NSM`],[3864,3865,`NSM`],[3893,3893,`NSM`],[3895,3895,`NSM`],[3897,3897,`NSM`],[3898,3901,`ON`],[3953,3966,`NSM`],[3968,3972,`NSM`],[3974,3975,`NSM`],[3981,3991,`NSM`],[3993,4028,`NSM`],[4038,4038,`NSM`],[4141,4144,`NSM`],[4146,4151,`NSM`],[4153,4154,`NSM`],[4157,4158,`NSM`],[4184,4185,`NSM`],[4190,4192,`NSM`],[4209,4212,`NSM`],[4226,4226,`NSM`],[4229,4230,`NSM`],[4237,4237,`NSM`],[4253,4253,`NSM`],[4957,4959,`NSM`],[5008,5017,`ON`],[5120,5120,`ON`],[5760,5760,`WS`],[5787,5788,`ON`],[5906,5908,`NSM`],[5938,5939,`NSM`],[5970,5971,`NSM`],[6002,6003,`NSM`],[6068,6069,`NSM`],[6071,6077,`NSM`],[6086,6086,`NSM`],[6089,6099,`NSM`],[6107,6107,`ET`],[6109,6109,`NSM`],[6128,6137,`ON`],[6144,6154,`ON`],[6155,6157,`NSM`],[6158,6158,`BN`],[6159,6159,`NSM`],[6277,6278,`NSM`],[6313,6313,`NSM`],[6432,6434,`NSM`],[6439,6440,`NSM`],[6450,6450,`NSM`],[6457,6459,`NSM`],[6464,6464,`ON`],[6468,6469,`ON`],[6622,6655,`ON`],[6679,6680,`NSM`],[6683,6683,`NSM`],[6742,6742,`NSM`],[6744,6750,`NSM`],[6752,6752,`NSM`],[6754,6754,`NSM`],[6757,6764,`NSM`],[6771,6780,`NSM`],[6783,6783,`NSM`],[6832,6877,`NSM`],[6880,6891,`NSM`],[6912,6915,`NSM`],[6964,6964,`NSM`],[6966,6970,`NSM`],[6972,6972,`NSM`],[6978,6978,`NSM`],[7019,7027,`NSM`],[7040,7041,`NSM`],[7074,7077,`NSM`],[7080,7081,`NSM`],[7083,7085,`NSM`],[7142,7142,`NSM`],[7144,7145,`NSM`],[7149,7149,`NSM`],[7151,7153,`NSM`],[7212,7219,`NSM`],[7222,7223,`NSM`],[7376,7378,`NSM`],[7380,7392,`NSM`],[7394,7400,`NSM`],[7405,7405,`NSM`],[7412,7412,`NSM`],[7416,7417,`NSM`],[7616,7679,`NSM`],[8125,8125,`ON`],[8127,8129,`ON`],[8141,8143,`ON`],[8157,8159,`ON`],[8173,8175,`ON`],[8189,8190,`ON`],[8192,8202,`WS`],[8203,8205,`BN`],[8207,8207,`R`],[8208,8231,`ON`],[8232,8232,`WS`],[8233,8233,`B`],[8234,8238,`BN`],[8239,8239,`CS`],[8240,8244,`ET`],[8245,8259,`ON`],[8260,8260,`CS`],[8261,8286,`ON`],[8287,8287,`WS`],[8288,8303,`BN`],[8304,8304,`EN`],[8308,8313,`EN`],[8314,8315,`ES`],[8316,8318,`ON`],[8320,8329,`EN`],[8330,8331,`ES`],[8332,8334,`ON`],[8352,8399,`ET`],[8400,8432,`NSM`],[8448,8449,`ON`],[8451,8454,`ON`],[8456,8457,`ON`],[8468,8468,`ON`],[8470,8472,`ON`],[8478,8483,`ON`],[8485,8485,`ON`],[8487,8487,`ON`],[8489,8489,`ON`],[8494,8494,`ET`],[8506,8507,`ON`],[8512,8516,`ON`],[8522,8525,`ON`],[8528,8543,`ON`],[8585,8587,`ON`],[8592,8721,`ON`],[8722,8722,`ES`],[8723,8723,`ET`],[8724,9013,`ON`],[9083,9108,`ON`],[9110,9257,`ON`],[9280,9290,`ON`],[9312,9351,`ON`],[9352,9371,`EN`],[9450,9899,`ON`],[9901,10239,`ON`],[10496,11123,`ON`],[11126,11263,`ON`],[11493,11498,`ON`],[11503,11505,`NSM`],[11513,11519,`ON`],[11647,11647,`NSM`],[11744,11775,`NSM`],[11776,11869,`ON`],[11904,11929,`ON`],[11931,12019,`ON`],[12032,12245,`ON`],[12272,12287,`ON`],[12288,12288,`WS`],[12289,12292,`ON`],[12296,12320,`ON`],[12330,12333,`NSM`],[12336,12336,`ON`],[12342,12343,`ON`],[12349,12351,`ON`],[12441,12442,`NSM`],[12443,12444,`ON`],[12448,12448,`ON`],[12539,12539,`ON`],[12736,12773,`ON`],[12783,12783,`ON`],[12829,12830,`ON`],[12880,12895,`ON`],[12924,12926,`ON`],[12977,12991,`ON`],[13004,13007,`ON`],[13175,13178,`ON`],[13278,13279,`ON`],[13311,13311,`ON`],[19904,19967,`ON`],[42128,42182,`ON`],[42509,42511,`ON`],[42607,42610,`NSM`],[42611,42611,`ON`],[42612,42621,`NSM`],[42622,42623,`ON`],[42654,42655,`NSM`],[42736,42737,`NSM`],[42752,42785,`ON`],[42888,42888,`ON`],[43010,43010,`NSM`],[43014,43014,`NSM`],[43019,43019,`NSM`],[43045,43046,`NSM`],[43048,43051,`ON`],[43052,43052,`NSM`],[43064,43065,`ET`],[43124,43127,`ON`],[43204,43205,`NSM`],[43232,43249,`NSM`],[43263,43263,`NSM`],[43302,43309,`NSM`],[43335,43345,`NSM`],[43392,43394,`NSM`],[43443,43443,`NSM`],[43446,43449,`NSM`],[43452,43453,`NSM`],[43493,43493,`NSM`],[43561,43566,`NSM`],[43569,43570,`NSM`],[43573,43574,`NSM`],[43587,43587,`NSM`],[43596,43596,`NSM`],[43644,43644,`NSM`],[43696,43696,`NSM`],[43698,43700,`NSM`],[43703,43704,`NSM`],[43710,43711,`NSM`],[43713,43713,`NSM`],[43756,43757,`NSM`],[43766,43766,`NSM`],[43882,43883,`ON`],[44005,44005,`NSM`],[44008,44008,`NSM`],[44013,44013,`NSM`],[64285,64285,`R`],[64286,64286,`NSM`],[64287,64296,`R`],[64297,64297,`ES`],[64298,64335,`R`],[64336,64450,`AL`],[64451,64466,`ON`],[64467,64829,`AL`],[64830,64847,`ON`],[64848,64911,`AL`],[64912,64913,`ON`],[64914,64967,`AL`],[64968,64975,`ON`],[64976,65007,`BN`],[65008,65020,`AL`],[65021,65023,`ON`],[65024,65039,`NSM`],[65040,65049,`ON`],[65056,65071,`NSM`],[65072,65103,`ON`],[65104,65104,`CS`],[65105,65105,`ON`],[65106,65106,`CS`],[65108,65108,`ON`],[65109,65109,`CS`],[65110,65118,`ON`],[65119,65119,`ET`],[65120,65121,`ON`],[65122,65123,`ES`],[65124,65126,`ON`],[65128,65128,`ON`],[65129,65130,`ET`],[65131,65131,`ON`],[65136,65278,`AL`],[65279,65279,`BN`],[65281,65282,`ON`],[65283,65285,`ET`],[65286,65290,`ON`],[65291,65291,`ES`],[65292,65292,`CS`],[65293,65293,`ES`],[65294,65295,`CS`],[65296,65305,`EN`],[65306,65306,`CS`],[65307,65312,`ON`],[65339,65344,`ON`],[65371,65381,`ON`],[65504,65505,`ET`],[65506,65508,`ON`],[65509,65510,`ET`],[65512,65518,`ON`],[65520,65528,`BN`],[65529,65533,`ON`],[65534,65535,`BN`],[65793,65793,`ON`],[65856,65932,`ON`],[65936,65948,`ON`],[65952,65952,`ON`],[66045,66045,`NSM`],[66272,66272,`NSM`],[66273,66299,`EN`],[66422,66426,`NSM`],[67584,67870,`R`],[67871,67871,`ON`],[67872,68096,`R`],[68097,68099,`NSM`],[68100,68100,`R`],[68101,68102,`NSM`],[68103,68107,`R`],[68108,68111,`NSM`],[68112,68151,`R`],[68152,68154,`NSM`],[68155,68158,`R`],[68159,68159,`NSM`],[68160,68324,`R`],[68325,68326,`NSM`],[68327,68408,`R`],[68409,68415,`ON`],[68416,68863,`R`],[68864,68899,`AL`],[68900,68903,`NSM`],[68904,68911,`AL`],[68912,68921,`AN`],[68922,68927,`AL`],[68928,68937,`AN`],[68938,68968,`R`],[68969,68973,`NSM`],[68974,68974,`ON`],[68975,69215,`R`],[69216,69246,`AN`],[69247,69290,`R`],[69291,69292,`NSM`],[69293,69311,`R`],[69312,69327,`AL`],[69328,69336,`ON`],[69337,69369,`AL`],[69370,69375,`NSM`],[69376,69423,`R`],[69424,69445,`AL`],[69446,69456,`NSM`],[69457,69487,`AL`],[69488,69505,`R`],[69506,69509,`NSM`],[69510,69631,`R`],[69633,69633,`NSM`],[69688,69702,`NSM`],[69714,69733,`ON`],[69744,69744,`NSM`],[69747,69748,`NSM`],[69759,69761,`NSM`],[69811,69814,`NSM`],[69817,69818,`NSM`],[69826,69826,`NSM`],[69888,69890,`NSM`],[69927,69931,`NSM`],[69933,69940,`NSM`],[70003,70003,`NSM`],[70016,70017,`NSM`],[70070,70078,`NSM`],[70089,70092,`NSM`],[70095,70095,`NSM`],[70191,70193,`NSM`],[70196,70196,`NSM`],[70198,70199,`NSM`],[70206,70206,`NSM`],[70209,70209,`NSM`],[70367,70367,`NSM`],[70371,70378,`NSM`],[70400,70401,`NSM`],[70459,70460,`NSM`],[70464,70464,`NSM`],[70502,70508,`NSM`],[70512,70516,`NSM`],[70587,70592,`NSM`],[70606,70606,`NSM`],[70608,70608,`NSM`],[70610,70610,`NSM`],[70625,70626,`NSM`],[70712,70719,`NSM`],[70722,70724,`NSM`],[70726,70726,`NSM`],[70750,70750,`NSM`],[70835,70840,`NSM`],[70842,70842,`NSM`],[70847,70848,`NSM`],[70850,70851,`NSM`],[71090,71093,`NSM`],[71100,71101,`NSM`],[71103,71104,`NSM`],[71132,71133,`NSM`],[71219,71226,`NSM`],[71229,71229,`NSM`],[71231,71232,`NSM`],[71264,71276,`ON`],[71339,71339,`NSM`],[71341,71341,`NSM`],[71344,71349,`NSM`],[71351,71351,`NSM`],[71453,71453,`NSM`],[71455,71455,`NSM`],[71458,71461,`NSM`],[71463,71467,`NSM`],[71727,71735,`NSM`],[71737,71738,`NSM`],[71995,71996,`NSM`],[71998,71998,`NSM`],[72003,72003,`NSM`],[72148,72151,`NSM`],[72154,72155,`NSM`],[72160,72160,`NSM`],[72193,72198,`NSM`],[72201,72202,`NSM`],[72243,72248,`NSM`],[72251,72254,`NSM`],[72263,72263,`NSM`],[72273,72278,`NSM`],[72281,72283,`NSM`],[72330,72342,`NSM`],[72344,72345,`NSM`],[72544,72544,`NSM`],[72546,72548,`NSM`],[72550,72550,`NSM`],[72752,72758,`NSM`],[72760,72765,`NSM`],[72850,72871,`NSM`],[72874,72880,`NSM`],[72882,72883,`NSM`],[72885,72886,`NSM`],[73009,73014,`NSM`],[73018,73018,`NSM`],[73020,73021,`NSM`],[73023,73029,`NSM`],[73031,73031,`NSM`],[73104,73105,`NSM`],[73109,73109,`NSM`],[73111,73111,`NSM`],[73459,73460,`NSM`],[73472,73473,`NSM`],[73526,73530,`NSM`],[73536,73536,`NSM`],[73538,73538,`NSM`],[73562,73562,`NSM`],[73685,73692,`ON`],[73693,73696,`ET`],[73697,73713,`ON`],[78912,78912,`NSM`],[78919,78933,`NSM`],[90398,90409,`NSM`],[90413,90415,`NSM`],[92912,92916,`NSM`],[92976,92982,`NSM`],[94031,94031,`NSM`],[94095,94098,`NSM`],[94178,94178,`ON`],[94180,94180,`NSM`],[113821,113822,`NSM`],[113824,113827,`BN`],[117760,117973,`ON`],[118e3,118009,`EN`],[118010,118012,`ON`],[118016,118451,`ON`],[118458,118480,`ON`],[118496,118512,`ON`],[118528,118573,`NSM`],[118576,118598,`NSM`],[119143,119145,`NSM`],[119155,119162,`BN`],[119163,119170,`NSM`],[119173,119179,`NSM`],[119210,119213,`NSM`],[119273,119274,`ON`],[119296,119361,`ON`],[119362,119364,`NSM`],[119365,119365,`ON`],[119552,119638,`ON`],[120513,120513,`ON`],[120539,120539,`ON`],[120571,120571,`ON`],[120597,120597,`ON`],[120629,120629,`ON`],[120655,120655,`ON`],[120687,120687,`ON`],[120713,120713,`ON`],[120745,120745,`ON`],[120771,120771,`ON`],[120782,120831,`EN`],[121344,121398,`NSM`],[121403,121452,`NSM`],[121461,121461,`NSM`],[121476,121476,`NSM`],[121499,121503,`NSM`],[121505,121519,`NSM`],[122880,122886,`NSM`],[122888,122904,`NSM`],[122907,122913,`NSM`],[122915,122916,`NSM`],[122918,122922,`NSM`],[123023,123023,`NSM`],[123184,123190,`NSM`],[123566,123566,`NSM`],[123628,123631,`NSM`],[123647,123647,`ET`],[124140,124143,`NSM`],[124398,124399,`NSM`],[124643,124643,`NSM`],[124646,124646,`NSM`],[124654,124655,`NSM`],[124661,124661,`NSM`],[124928,125135,`R`],[125136,125142,`NSM`],[125143,125251,`R`],[125252,125258,`NSM`],[125259,126063,`R`],[126064,126143,`AL`],[126144,126207,`R`],[126208,126287,`AL`],[126288,126463,`R`],[126464,126703,`AL`],[126704,126705,`ON`],[126706,126719,`AL`],[126720,126975,`R`],[126976,127019,`ON`],[127024,127123,`ON`],[127136,127150,`ON`],[127153,127167,`ON`],[127169,127183,`ON`],[127185,127221,`ON`],[127232,127242,`EN`],[127243,127247,`ON`],[127279,127279,`ON`],[127338,127343,`ON`],[127405,127405,`ON`],[127584,127589,`ON`],[127744,128728,`ON`],[128732,128748,`ON`],[128752,128764,`ON`],[128768,128985,`ON`],[128992,129003,`ON`],[129008,129008,`ON`],[129024,129035,`ON`],[129040,129095,`ON`],[129104,129113,`ON`],[129120,129159,`ON`],[129168,129197,`ON`],[129200,129211,`ON`],[129216,129217,`ON`],[129232,129240,`ON`],[129280,129623,`ON`],[129632,129645,`ON`],[129648,129660,`ON`],[129664,129674,`ON`],[129678,129734,`ON`],[129736,129736,`ON`],[129741,129756,`ON`],[129759,129770,`ON`],[129775,129784,`ON`],[129792,129938,`ON`],[129940,130031,`ON`],[130032,130041,`EN`],[130042,130042,`ON`],[131070,131071,`BN`],[196606,196607,`BN`],[262142,262143,`BN`],[327678,327679,`BN`],[393214,393215,`BN`],[458750,458751,`BN`],[524286,524287,`BN`],[589822,589823,`BN`],[655358,655359,`BN`],[720894,720895,`BN`],[786430,786431,`BN`],[851966,851967,`BN`],[917502,917759,`BN`],[917760,917999,`NSM`],[918e3,921599,`BN`],[983038,983039,`BN`],[1048574,1048575,`BN`],[1114110,1114111,`BN`]];function ps(e){if(e<=255)return ds[e];let t=0,n=fs.length-1;for(;t<=n;){let r=t+n>>1,i=fs[r];if(e<i[0]){n=r-1;continue}if(e>i[1]){t=r+1;continue}return i[2]}return`L`}function ms(e){let t=e.length;if(t===0)return null;let n=Array(t),r=!1;for(let i=0;i<t;){let a=e.charCodeAt(i),o=a,s=1;if(a>=55296&&a<=56319&&i+1<t){let t=e.charCodeAt(i+1);t>=56320&&t<=57343&&(o=(a-55296<<10)+(t-56320)+65536,s=2)}let c=ps(o);(c===`R`||c===`AL`||c===`AN`)&&(r=!0);for(let e=0;e<s;e++)n[i+e]=c;i+=s}if(!r)return null;let i=0;for(let e=0;e<t;e++){let t=n[e];if(t===`L`){i=0;break}if(t===`R`||t===`AL`){i=1;break}}let a=new Int8Array(t);for(let e=0;e<t;e++)a[e]=i;let o=i&1?`R`:`L`,s=o,c=s;for(let e=0;e<t;e++)n[e]===`NSM`?n[e]=c:c=n[e];c=s;for(let e=0;e<t;e++){let t=n[e];t===`EN`?n[e]=c===`AL`?`AN`:`EN`:(t===`R`||t===`L`||t===`AL`)&&(c=t)}for(let e=0;e<t;e++)n[e]===`AL`&&(n[e]=`R`);for(let e=1;e<t-1;e++)n[e]===`ES`&&n[e-1]===`EN`&&n[e+1]===`EN`&&(n[e]=`EN`),n[e]===`CS`&&(n[e-1]===`EN`||n[e-1]===`AN`)&&n[e+1]===n[e-1]&&(n[e]=n[e-1]);for(let e=0;e<t;e++){if(n[e]!==`EN`)continue;let r;for(r=e-1;r>=0&&n[r]===`ET`;r--)n[r]=`EN`;for(r=e+1;r<t&&n[r]===`ET`;r++)n[r]=`EN`}for(let e=0;e<t;e++){let t=n[e];(t===`WS`||t===`ES`||t===`ET`||t===`CS`)&&(n[e]=`ON`)}c=s;for(let e=0;e<t;e++){let t=n[e];t===`EN`?n[e]=c===`L`?`L`:`EN`:(t===`R`||t===`L`)&&(c=t)}for(let e=0;e<t;e++){if(n[e]!==`ON`)continue;let r=e+1;for(;r<t&&n[r]===`ON`;)r++;let i=e>0?n[e-1]:s,a=r<t?n[r]:s,o=i===`L`?`L`:`R`;if(o===(a===`L`?`L`:`R`))for(let t=e;t<r;t++)n[t]=o;e=r-1}for(let e=0;e<t;e++)n[e]===`ON`&&(n[e]=o);for(let e=0;e<t;e++){let t=n[e];a[e]&1?(t===`L`||t===`AN`||t===`EN`)&&a[e]++:t===`R`?a[e]++:(t===`AN`||t===`EN`)&&(a[e]+=2)}return a}function hs(e,t){let n=ms(e);if(n===null)return null;let r=new Int8Array(t.length);for(let e=0;e<t.length;e++)r[e]=n[t[e]];return r}var gs=/[ \t\n\r\f]+/g,_s=/[\t\n\r\f]| {2,}|^ | $/;function vs(e){let t=e??`normal`;return t===`pre-wrap`?{mode:t,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:t,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function ys(e){if(!_s.test(e))return e;let t=e.replace(gs,` `);return t.charCodeAt(0)===32&&(t=t.slice(1)),t.length>0&&t.charCodeAt(t.length-1)===32&&(t=t.slice(0,-1)),t}function bs(e){return/[\r\f]/.test(e)?e.replace(/\r\n/g,`
|
|
4
|
+
`).replace(/[\r\f]/g,`
|
|
5
|
+
`):e}var xs=null,Ss;function Cs(){return xs===null&&(xs=new Intl.Segmenter(Ss,{granularity:`word`})),xs}var ws=/\p{Script=Arabic}/u,Ts=/\p{M}/u,Es=/\p{Nd}/u;function Ds(e){return ws.test(e)}function Os(e){return e>=19968&&e<=40959||e>=13312&&e<=19903||e>=131072&&e<=173791||e>=173824&&e<=177983||e>=177984&&e<=178207||e>=178208&&e<=183983||e>=183984&&e<=191471||e>=191472&&e<=192093||e>=194560&&e<=195103||e>=196608&&e<=201551||e>=201552&&e<=205743||e>=205744&&e<=210041||e>=63744&&e<=64255||e>=12288&&e<=12351||e>=12352&&e<=12447||e>=12448&&e<=12543||e>=12592&&e<=12687||e>=44032&&e<=55215||e>=65280&&e<=65519}function ks(e){for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(!(n<12288)){if(n>=55296&&n<=56319&&t+1<e.length){let r=e.charCodeAt(t+1);if(r>=56320&&r<=57343){if(Os((n-55296<<10)+(r-56320)+65536))return!0;t++;continue}}if(Os(n))return!0}}return!1}function As(e){let t=qs(e);return t!==null&&(Fs.has(t)||Rs.has(t))}var js=new Set([`\xA0`,` `,``,``]);function Ms(e){return ks(e)}function Ns(e){let t=qs(e);return t!==null&&js.has(t)}function Ps(e){return!As(e)&&!Ns(e)}var Fs=new Set(`,...!.:.;.?.、.。.・.).〕.〉.》.」.』.】.〗.〙.〛.ー.々.〻.ゝ.ゞ.ヽ.ヾ`.split(`.`)),Is=new Set([`"`,`(`,`[`,`{`,`“`,`‘`,`«`,`‹`,`(`,`〔`,`〈`,`《`,`「`,`『`,`【`,`〖`,`〘`,`〚`]),Ls=new Set([`'`,`’`]),Rs=new Set(`.(,(!(?(:(;(،(؛(؟(।(॥(၊(။(၌(၍(၏()(](}(%("(”(’(»(›(…`.split(`(`)),zs=new Set([`:`,`.`,`،`,`؛`]),Bs=new Set([`၏`]),Vs=new Set([`”`,`’`,`»`,`›`,`」`,`』`,`】`,`》`,`〉`,`〕`,`)`]);function Hs(e){if(Gs(e))return!0;let t=!1;for(let n of e){if(Rs.has(n)){t=!0;continue}if(!(t&&Ts.test(n)))return!1}return t}function Us(e){for(let t of e)if(!Fs.has(t)&&!Rs.has(t))return!1;return e.length>0}function Ws(e){if(Gs(e))return!0;for(let t of e)if(!Is.has(t)&&!Ls.has(t)&&!Ts.test(t))return!1;return e.length>0}function Gs(e){let t=!1;for(let n of e)if(!(n===`\\`||Ts.test(n))){if(Is.has(n)||Rs.has(n)||Ls.has(n)){t=!0;continue}return!1}return t}function Ks(e,t){let n=t-1;if(n<=0)return Math.max(n,0);let r=e.charCodeAt(n);if(r<56320||r>57343)return n;let i=n-1;if(i<0)return n;let a=e.charCodeAt(i);return a>=55296&&a<=56319?i:n}function qs(e){if(e.length===0)return null;let t=Ks(e,e.length);return e.slice(t)}function Js(e){let t=Array.from(e),n=t.length;for(;n>0;){let e=t[n-1];if(Ts.test(e)){n--;continue}if(Is.has(e)||Ls.has(e)){n--;continue}break}return n<=0||n===t.length?null:{head:t.slice(0,n).join(``),tail:t.slice(n).join(``)}}function Ys(e,t,n){return n===`text`&&!t&&e.length===1&&e!==`-`&&e!==`—`?e:null}function Xs(e,t,n,r){let i=t[r],a=e[r];if(i==null)return a;let o=n[r];if(a.length===o)return a;let s=i.repeat(o);return e[r]=s,s}function Zs(e,t){return e&&t!==null&&zs.has(t)}function Qs(e){let t=qs(e);return t!==null&&Bs.has(t)}function $s(e){if(e.length<2||e[0]!==` `)return null;let t=e.slice(1);return/^\p{M}+$/u.test(t)?{space:` `,marks:t}:null}function ec(e){let t=e.length;for(;t>0;){let n=Ks(e,t),r=e.slice(n,t);if(Vs.has(r))return!0;if(!Rs.has(r))return!1;t=n}return!1}function tc(e,t){if(t.preserveOrdinarySpaces||t.preserveHardBreaks){if(e===` `)return`preserved-space`;if(e===` `)return`tab`;if(t.preserveHardBreaks&&e===`
|
|
6
|
+
`)return`hard-break`}return e===` `?`space`:e===`\xA0`||e===` `||e===``||e===``?`glue`:e===``?`zero-width-break`:e===``?`soft-hyphen`:`text`}var nc=/[\x20\t\n\xA0\xAD\u200B\u202F\u2060\uFEFF]/;function rc(e){return e.length===1?e[0]:e.join(``)}function ic(e,t){let n=[];for(let t=e.length-1;t>=0;t--)n.push(e[t]);return n.push(t),rc(n)}function ac(e,t,n,r){if(!nc.test(e))return[{text:e,isWordLike:t,kind:`text`,start:n}];let i=[],a=null,o=[],s=n,c=!1,l=0;for(let u of e){let e=tc(u,r),d=e===`text`&&t;if(a!==null&&e===a&&d===c){o.push(u),l+=u.length;continue}a!==null&&i.push({text:rc(o),isWordLike:c,kind:a,start:s}),a=e,o=[u],s=n+l,c=d,l+=u.length}return a!==null&&i.push({text:rc(o),isWordLike:c,kind:a,start:s}),i}function oc(e){return e===`space`||e===`preserved-space`||e===`zero-width-break`||e===`hard-break`}var sc=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function cc(e,t){let n=e.texts[t];return n.startsWith(`www.`)?!0:sc.test(n)&&t+1<e.len&&e.kinds[t+1]===`text`&&e.texts[t+1]===`//`}function lc(e){return e.includes(`?`)&&(e.includes(`://`)||e.startsWith(`www.`))}function uc(e){let t=e.texts.slice(),n=e.isWordLike.slice(),r=e.kinds.slice(),i=e.starts.slice();for(let i=0;i<e.len;i++){if(r[i]!==`text`||!cc(e,i))continue;let a=[t[i]],o=i+1;for(;o<e.len&&!oc(r[o]);){a.push(t[o]),n[i]=!0;let e=t[o].includes(`?`);if(r[o]=`text`,t[o]=``,o++,e)break}t[i]=rc(a)}let a=0;for(let e=0;e<t.length;e++){let o=t[e];o.length!==0&&(a!==e&&(t[a]=o,n[a]=n[e],r[a]=r[e],i[a]=i[e]),a++)}return t.length=a,n.length=a,r.length=a,i.length=a,{len:a,texts:t,isWordLike:n,kinds:r,starts:i}}function dc(e){let t=[],n=[],r=[],i=[];for(let a=0;a<e.len;a++){let o=e.texts[a];if(t.push(o),n.push(e.isWordLike[a]),r.push(e.kinds[a]),i.push(e.starts[a]),!lc(o))continue;let s=a+1;if(s>=e.len||oc(e.kinds[s]))continue;let c=[],l=e.starts[s],u=s;for(;u<e.len&&!oc(e.kinds[u]);)c.push(e.texts[u]),u++;c.length>0&&(t.push(rc(c)),n.push(!0),r.push(`text`),i.push(l),a=u-1)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}var fc=new Set([`:`,`-`,`/`,`×`,`,`,`.`,`+`,`–`,`—`]),pc=/^[A-Za-z0-9_]+[,:;]*$/,mc=/[,:;]+$/;function hc(e){for(let t of e)if(Es.test(t))return!0;return!1}function gc(e){if(e.length===0)return!1;for(let t of e)if(!(Es.test(t)||fc.has(t)))return!1;return!0}function _c(e){let t=[],n=[],r=[],i=[];for(let a=0;a<e.len;a++){let o=e.texts[a],s=e.kinds[a];if(s===`text`&&gc(o)&&hc(o)){let s=[o],c=a+1;for(;c<e.len&&e.kinds[c]===`text`&&gc(e.texts[c]);)s.push(e.texts[c]),c++;t.push(rc(s)),n.push(!0),r.push(`text`),i.push(e.starts[a]),a=c-1;continue}t.push(o),n.push(e.isWordLike[a]),r.push(s),i.push(e.starts[a])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function vc(e){let t=[],n=[],r=[],i=[];for(let a=0;a<e.len;a++){let o=e.texts[a],s=e.kinds[a],c=e.isWordLike[a];if(s===`text`&&c&&pc.test(o)){let s=[o],c=mc.test(o),l=a+1;for(;c&&l<e.len&&e.kinds[l]===`text`&&e.isWordLike[l]&&pc.test(e.texts[l]);){let t=e.texts[l];s.push(t),c=mc.test(t),l++}t.push(rc(s)),n.push(!0),r.push(`text`),i.push(e.starts[a]),a=l-1;continue}t.push(o),n.push(c),r.push(s),i.push(e.starts[a])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function yc(e){let t=[],n=[],r=[],i=[];for(let a=0;a<e.len;a++){let o=e.texts[a];if(e.kinds[a]===`text`&&o.includes(`-`)){let s=o.split(`-`),c=s.length>1;for(let e=0;e<s.length;e++){let t=s[e];if(!c)break;(t.length===0||!hc(t)||!gc(t))&&(c=!1)}if(c){let o=0;for(let c=0;c<s.length;c++){let l=s[c],u=c<s.length-1?`${l}-`:l;t.push(u),n.push(!0),r.push(`text`),i.push(e.starts[a]+o),o+=u.length}continue}}t.push(o),n.push(e.isWordLike[a]),r.push(e.kinds[a]),i.push(e.starts[a])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function bc(e){let t=[],n=[],r=[],i=[],a=0;for(;a<e.len;){let o=[e.texts[a]],s=e.isWordLike[a],c=e.kinds[a],l=e.starts[a];if(c===`glue`){let u=[o[0]],d=l;for(a++;a<e.len&&e.kinds[a]===`glue`;)u.push(e.texts[a]),a++;let f=rc(u);if(a<e.len&&e.kinds[a]===`text`)o[0]=f,o.push(e.texts[a]),s=e.isWordLike[a],c=`text`,l=d,a++;else{t.push(f),n.push(!1),r.push(`glue`),i.push(d);continue}}else a++;if(c===`text`)for(;a<e.len&&e.kinds[a]===`glue`;){let t=[];for(;a<e.len&&e.kinds[a]===`glue`;)t.push(e.texts[a]),a++;let n=rc(t);if(a<e.len&&e.kinds[a]===`text`){o.push(n,e.texts[a]),s||=e.isWordLike[a],a++;continue}o.push(n)}t.push(rc(o)),n.push(s),r.push(c),i.push(l)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function xc(e){let t=e.texts.slice(),n=e.isWordLike.slice(),r=e.kinds.slice(),i=e.starts.slice();for(let e=0;e<t.length-1;e++){if(r[e]!==`text`||r[e+1]!==`text`||!ks(t[e])||!ks(t[e+1]))continue;let n=Js(t[e]);n!==null&&(t[e]=n.head,t[e+1]=n.tail+t[e+1],i[e+1]=i[e]+n.head.length)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Sc(e,t,n){let r=Cs(),i=0,a=[],o=[],s=[],c=[],l=[],u=[],d=[],f=[],p=[],m=[],h=[],g=[];for(let v of r.segment(e))for(let e of ac(v.segment,v.isWordLike??!1,v.index,n)){let n=e.kind===`text`,r=Ys(e.text,e.isWordLike,e.kind),v=ks(e.text),y=Ds(e.text),b=qs(e.text),x=ec(e.text),S=Qs(e.text),C=i-1;function _(){u[C]!==null&&(o[C]=[Xs(a,u,d,C)],u[C]=null),o[C].push(e.text),s[C]=s[C]||e.isWordLike,f[C]=f[C]||v,p[C]=p[C]||y,m[C]=x,h[C]=S,g[C]=Zs(p[C],b)}t.carryCJKAfterClosingQuote&&n&&i>0&&c[C]===`text`&&v&&f[C]&&m[C]||n&&i>0&&c[C]===`text`&&Us(e.text)&&f[C]||n&&i>0&&c[C]===`text`&&h[C]?_():n&&i>0&&c[C]===`text`&&e.isWordLike&&y&&g[C]?(_(),s[C]=!0):r!==null&&i>0&&c[C]===`text`&&u[C]===r?d[C]=(d[C]??1)+1:n&&!e.isWordLike&&i>0&&c[C]===`text`&&!f[C]&&(Hs(e.text)||e.text===`-`&&s[C])?_():(a[i]=e.text,o[i]=[e.text],s[i]=e.isWordLike,c[i]=e.kind,l[i]=e.start,u[i]=r,d[i]=r===null?0:1,f[i]=v,p[i]=y,m[i]=x,h[i]=S,g[i]=Zs(y,b),i++)}for(let e=0;e<i;e++){if(u[e]!==null){a[e]=Xs(a,u,d,e);continue}a[e]=rc(o[e])}for(let e=1;e<i;e++)c[e]===`text`&&!s[e]&&Gs(a[e])&&c[e-1]===`text`&&!f[e-1]&&(a[e-1]+=a[e],s[e-1]=s[e-1]||s[e],a[e]=``);let v=Array.from({length:i},()=>null),y=-1;for(let e=i-1;e>=0;e--){let t=a[e];if(t.length!==0){if(c[e]===`text`&&!s[e]&&Ws(t)&&y>=0&&c[y]===`text`){let n=v[y]??[];n.push(t),v[y]=n,l[y]=l[e],a[e]=``;continue}y=e}}for(let e=0;e<i;e++){let t=v[e];t!=null&&(a[e]=ic(t,a[e]))}let b=0;for(let e=0;e<i;e++){let t=a[e];t.length!==0&&(b!==e&&(a[b]=t,s[b]=s[e],c[b]=c[e],l[b]=l[e]),b++)}a.length=b,s.length=b,c.length=b,l.length=b;let x=xc(vc(yc(_c(dc(uc(bc({len:b,texts:a,isWordLike:s,kinds:c,starts:l})))))));for(let e=0;e<x.len-1;e++){let t=$s(x.texts[e]);t!==null&&(x.kinds[e]!==`space`&&x.kinds[e]!==`preserved-space`||x.kinds[e+1]!==`text`||!Ds(x.texts[e+1])||(x.texts[e]=t.space,x.isWordLike[e]=!1,x.kinds[e]=x.kinds[e]===`preserved-space`?`preserved-space`:`space`,x.texts[e+1]=t.marks+x.texts[e+1],x.starts[e+1]=x.starts[e]+t.space.length))}return x}function Cc(e,t){if(e.len===0)return[];if(!t.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}];let n=[],r=0;for(let t=0;t<e.len;t++)e.kinds[t]===`hard-break`&&(n.push({startSegmentIndex:r,endSegmentIndex:t,consumedEndSegmentIndex:t+1}),r=t+1);return r<e.len&&n.push({startSegmentIndex:r,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}),n}function wc(e){if(e.len<=1)return e;let t=[],n=[],r=[],i=[],a=null,o=!1,s=0,c=!1,l=!1;function u(){a!==null&&(t.push(rc(a)),n.push(o),r.push(`text`),i.push(s),a=null)}for(let d=0;d<e.len;d++){let f=e.texts[d],p=e.kinds[d],m=e.isWordLike[d],h=e.starts[d];if(p===`text`){let e=Ms(f),t=Ps(f);if(a!==null&&c&&l){a.push(f),o||=m,c||=e,l=t;continue}u(),a=[f],o=m,s=h,c=e,l=t;continue}u(),t.push(f),n.push(m),r.push(p),i.push(h)}return u(),{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Tc(e,t,n=`normal`,r=`normal`){let i=vs(n),a=i.mode===`pre-wrap`?bs(e):ys(e);if(a.length===0)return{normalized:a,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let o=r===`keep-all`?wc(Sc(a,t,i)):Sc(a,t,i);return{normalized:a,chunks:Cc(o,i),...o}}var Ec=null,Dc=new Map,Oc=null,kc=96,Ac=/\p{Emoji_Presentation}/u,jc=/[\p{Emoji_Presentation}\p{Extended_Pictographic}\p{Regional_Indicator}\uFE0F\u20E3]/u,Mc=null,Nc=new Map;function Pc(){if(Ec!==null)return Ec;if(typeof OffscreenCanvas<`u`)return Ec=new OffscreenCanvas(1,1).getContext(`2d`),Ec;if(typeof document<`u`)return Ec=document.createElement(`canvas`).getContext(`2d`),Ec;throw Error(`Text measurement requires OffscreenCanvas or a DOM canvas context.`)}function Fc(e){let t=Dc.get(e);return t||(t=new Map,Dc.set(e,t)),t}function Ic(e,t){let n=t.get(e);return n===void 0&&(n={width:Pc().measureText(e).width,containsCJK:ks(e)},t.set(e,n)),n}function Lc(){if(Oc!==null)return Oc;if(typeof navigator>`u`)return Oc={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},Oc;let e=navigator.userAgent,t=navigator.vendor===`Apple Computer, Inc.`&&e.includes(`Safari/`)&&!e.includes(`Chrome/`)&&!e.includes(`Chromium/`)&&!e.includes(`CriOS/`)&&!e.includes(`FxiOS/`)&&!e.includes(`EdgiOS/`),n=e.includes(`Chrome/`)||e.includes(`Chromium/`)||e.includes(`CriOS/`)||e.includes(`Edg/`);return Oc={lineFitEpsilon:t?1/64:.005,carryCJKAfterClosingQuote:n,preferPrefixWidthsForBreakableRuns:t,preferEarlySoftHyphenBreak:t},Oc}function Rc(e){let t=e.match(/(\d+(?:\.\d+)?)\s*px/);return t?parseFloat(t[1]):16}function zc(){return Mc===null&&(Mc=new Intl.Segmenter(void 0,{granularity:`grapheme`})),Mc}function Bc(e){return Ac.test(e)||e.includes(`️`)}function Vc(e){return jc.test(e)}function Hc(e,t){let n=Nc.get(e);if(n!==void 0)return n;let r=Pc();r.font=e;let i=r.measureText(`😀`).width;if(n=0,i>t+.5&&typeof document<`u`&&document.body!==null){let t=document.createElement(`span`);t.style.font=e,t.style.display=`inline-block`,t.style.visibility=`hidden`,t.style.position=`absolute`,t.textContent=`😀`,document.body.appendChild(t);let r=t.getBoundingClientRect().width;document.body.removeChild(t),i-r>.5&&(n=i-r)}return Nc.set(e,n),n}function Uc(e){let t=0,n=zc();for(let r of n.segment(e))Bc(r.segment)&&t++;return t}function Wc(e,t){return t.emojiCount===void 0&&(t.emojiCount=Uc(e)),t.emojiCount}function Gc(e,t,n){return n===0?t.width:t.width-Wc(e,t)*n}function Kc(e,t,n,r,i){if(t.breakableFitAdvances!==void 0&&t.breakableFitMode===i)return t.breakableFitAdvances;t.breakableFitMode=i;let a=zc(),o=[];for(let t of a.segment(e))o.push(t.segment);if(o.length<=1)return t.breakableFitAdvances=null,t.breakableFitAdvances;if(i===`sum-graphemes`){let e=[];for(let t of o){let i=Ic(t,n);e.push(Gc(t,i,r))}return t.breakableFitAdvances=e,t.breakableFitAdvances}if(i===`pair-context`||o.length>kc){let e=[],i=null,a=0;for(let t of o){let o=Gc(t,Ic(t,n),r);if(i===null)e.push(o);else{let o=i+t,s=Ic(o,n);e.push(Gc(o,s,r)-a)}i=t,a=o}return t.breakableFitAdvances=e,t.breakableFitAdvances}let s=[],c=``,l=0;for(let e of o){c+=e;let t=Ic(c,n),i=Gc(c,t,r);s.push(i-l),l=i}return t.breakableFitAdvances=s,t.breakableFitAdvances}function qc(e,t){let n=Pc();n.font=e;let r=Fc(e),i=Rc(e);return{cache:r,fontSize:i,emojiCorrection:t?Hc(e,i):0}}function Jc(e){return e===`space`||e===`zero-width-break`||e===`soft-hyphen`}function Yc(e){return e===`space`||e===`preserved-space`||e===`tab`||e===`zero-width-break`||e===`soft-hyphen`}function Xc(e,t,n=e.widths.length){for(;t<n;){let n=e.kinds[t];if(!Jc(n))break;t++}return t}function Zc(e,t){if(t<=0)return 0;let n=e%t;return Math.abs(n)<=1e-6?t:t-n}function Qc(e,t,n){return e.letterSpacing!==0&&t&&e.spacingGraphemeCounts[n]>0?e.letterSpacing:0}function $c(e,t){return t===0?0:e+t}function el(e,t){return e.letterSpacing!==0&&e.spacingGraphemeCounts[t]>0?e.letterSpacing:0}function tl(e,t,n,r,i){return $c(r,t===`tab`?i+el(e,n):e.lineEndFitAdvances[n])}function nl(e,t,n,r){return $c(r,t===`tab`?0:e.lineEndFitAdvances[n])}function rl(e,t,n,r,i){return $c(r,t===`tab`?i:e.lineEndPaintAdvances[n])}function il(e,t,n){return e.letterSpacing!==0&&t?n+e.letterSpacing:n}function al(e,t){return e.letterSpacing===0?t:t+e.letterSpacing}function ol(e,t,n,r,i,a){let o=0,s=t;for(;o<e.length;){let t=s+e[o]+a;if((o+1<e.length?t+i:t)>n+r)break;s=t,o++}return{fitCount:o,fittedWidth:s}}function sl(e,t){return ll(e,t)}function cl(e,t,n){let{widths:r,kinds:i,breakableFitAdvances:a}=e;if(r.length===0)return 0;let o=t+Lc().lineFitEpsilon,s=0,c=0,l=!1,u=0,d=0,f=0,p=0,m=-1,h=0;function g(){m=-1,h=0}function _(e=f,t=p,r=c){s++,n?.(r,u,d,e,t),c=0,l=!1,g()}function v(e,t){l=!0,u=e,d=0,f=e+1,p=0,c=t}function y(e,t,n){l=!0,u=e,d=t,f=e,p=t+1,c=n}function b(e,t){if(!l){v(e,t);return}c+=t,f=e+1,p=0}function x(e,t){let n=a[e];for(let r=t;r<n.length;r++){let t=n[r];l?c+t>o?(_(),y(e,r,t)):(c+=t,f=e,p=r+1):y(e,r,t)}l&&f===e&&p===n.length&&(f=e+1,p=0)}let S=0;for(;S<r.length&&!(!l&&(S=Xc(e,S),S>=r.length));){let e=r[S],t=i[S],n=Yc(t);if(!l){e>o&&a[S]!==null?x(S,0):v(S,e),n&&(m=S+1,h=c-e),S++;continue}if(c+e>o){if(n){b(S,e),_(S+1,0,c-e),S++;continue}if(m>=0){if(f>m||f===m&&p>0){_();continue}_(m,0,h);continue}if(e>o&&a[S]!==null){_(),x(S,0),S++;continue}_();continue}b(S,e),n&&(m=S+1,h=c-e),S++}return l&&_(),s}function ll(e,t,n){if(e.simpleLineWalkFastPath)return cl(e,t,n);let{widths:r,kinds:i,breakableFitAdvances:a,discretionaryHyphenWidth:o,chunks:s}=e;if(r.length===0||s.length===0)return 0;let c=Lc(),l=c.lineFitEpsilon,u=t+l,d=0,f=0,p=!1,m=0,h=0,g=0,_=0,v=-1,y=0,b=0,x=null;function S(){v=-1,y=0,b=0,x=null}function C(e=g,t=_,r=f){d++,n?.(r,m,h,e,t),f=0,p=!1,S()}function ee(e,t){p=!0,m=e,h=0,g=e+1,_=0,f=t}function w(e,t,n){p=!0,m=e,h=t,g=e,_=t+1,f=n}function te(e,t){if(!p){ee(e,t);return}f+=t,g=e+1,_=0}function ne(t,n,r,i,a,o){if(!n)return;let s=nl(e,t,r,a),c=rl(e,t,r,a,i);v=r+1,y=f-o+s,b=f-o+c,x=t}function T(t,n){let r=a[t];for(let i=n;i<r.length;i++){let n=r[i];if(!p)w(t,i,n);else{let r=il(e,!0,n),a=f+r;al(e,a)>u?(C(),w(t,i,n)):(f=a,g=t,_=i+1)}}p&&g===t&&_===r.length&&(g=t+1,_=0)}function re(n){if(x!==`soft-hyphen`)return!1;let r=a[n];if(r==null)return!1;let{fitCount:i,fittedWidth:s}=ol(r,f,t,l,o,e.letterSpacing);return i===0?!1:(f=s,g=n,_=i,S(),i===r.length?(g=n+1,_=0,!0):(C(n,i,s+o),T(n,i),!0))}function ie(e){d++,n?.(0,e.startSegmentIndex,0,e.consumedEndSegmentIndex,0),S()}for(let t=0;t<s.length;t++){let n=s[t];if(n.startSegmentIndex===n.endSegmentIndex){ie(n);continue}p=!1,f=0,m=n.startSegmentIndex,h=0,g=n.startSegmentIndex,_=0,S();let l=n.startSegmentIndex;for(;l<n.endSegmentIndex&&!(!p&&(l=Xc(e,l,n.endSegmentIndex),l>=n.endSegmentIndex));){let t=i[l],n=Yc(t),s=Qc(e,p,l),d=t===`tab`?Zc(f+s,e.tabStopAdvance):r[l],m=s+d,h=tl(e,t,l,s,d);if(t===`soft-hyphen`){p&&(g=l+1,_=0,v=l+1,y=f+o,b=f+o,x=t),l++;continue}if(!p){h>u&&a[l]!==null?T(l,0):ee(l,d),ne(t,n,l,d,s,m),l++;continue}if(f+h>u){let r=f+nl(e,t,l,s),i=f+rl(e,t,l,s,d);if(x===`soft-hyphen`&&c.preferEarlySoftHyphenBreak&&y<=u){C(v,0,b);continue}if(x===`soft-hyphen`&&re(l)){l++;continue}if(n&&r<=u){te(l,m),C(l+1,0,i),l++;continue}if(v>=0&&y<=u){if(g>v||g===v&&_>0){C();continue}let e=v;C(e,0,b),l=e;continue}if(h>u&&a[l]!==null){C(),T(l,0),l++;continue}C();continue}te(l,m),ne(t,n,l,d,s,m),l++}if(p){let e=v===n.consumedEndSegmentIndex?b:f;C(n.consumedEndSegmentIndex,0,e)}}return d}var ul=null;function dl(){return ul===null&&(ul=new Intl.Segmenter(void 0,{granularity:`grapheme`})),ul}function fl(e){return e?{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],letterSpacing:0,spacingGraphemeCounts:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[],segments:[]}:{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],letterSpacing:0,spacingGraphemeCounts:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[]}}function pl(e,t){let n=[],r=[],i=0,a=!1,o=!1,s=!1;function c(){r.length!==0&&(n.push({text:r.length===1?r[0]:r.join(``),start:i}),r=[],a=!1,o=!1,s=!1)}function l(e,t,n){r=[e],i=t,a=n,o=ec(e),s=Is.has(e)}function u(e,t){r.push(e),a||=t;let n=ec(e);e.length===1&&Rs.has(e)?o||=n:o=n,s=!1}for(let n of dl().segment(e)){let e=n.segment,i=ks(e);if(r.length===0){l(e,n.index,i);continue}if(s||Fs.has(e)||Rs.has(e)||t.carryCJKAfterClosingQuote&&i&&o){u(e,i);continue}if(!a&&!i){u(e,i);continue}c(),l(e,n.index,i)}return c(),n}function ml(e){if(e.length<=1)return e;let t=[],n=[e[0].text],r=e[0].start,i=ks(e[0].text),a=Ps(e[0].text);function o(){t.push({text:n.length===1?n[0]:n.join(``),start:r})}for(let t=1;t<e.length;t++){let s=e[t],c=ks(s.text),l=Ps(s.text);if(i&&a){n.push(s.text),i||=c,a=l;continue}o(),n=[s.text],r=s.start,i=c,a=l}return o(),t}function hl(e,t){if(t===`zero-width-break`||t===`soft-hyphen`||t===`hard-break`)return 0;if(t===`tab`)return 1;let n=0,r=dl();for(let t of r.segment(e))n++;return n}function gl(e,t,n){return t>1?e+(t-1)*n:e}function _l(e,t,n,r,i){let a=Lc(),{cache:o,emojiCorrection:s}=qc(t,Vc(e.normalized)),c=Gc(`-`,Ic(`-`,o),s)+(i===0?0:i),l=Gc(` `,Ic(` `,o),s)*8,u=i!==0;if(e.len===0)return fl(n);let d=[],f=[],p=[],m=[],h=e.chunks.length<=1&&!u,g=n?[]:null,_=[],v=[],y=n?[]:null,b=Array.from({length:e.len});function x(e,t,n,r,i,a,o,s){i!==`text`&&i!==`space`&&i!==`zero-width-break`&&(h=!1),d.push(t),f.push(n),p.push(r),m.push(i),g?.push(a),_.push(o),u&&v.push(s),y!==null&&y.push(e)}function S(e,t,n,r,c){let l=Ic(e,o),d=u?hl(e,t):0,f=gl(Gc(e,l,s),d,i),p=t===`space`||t===`preserved-space`||t===`zero-width-break`?0:f,m=p===0?0:p+(d>0?i:0),h=t===`space`||t===`zero-width-break`?0:f;if(c&&r&&e.length>1){let r=`sum-graphemes`;i===0?gc(e)?r=`pair-context`:a.preferPrefixWidthsForBreakableRuns&&(r=`segment-prefixes`):r=`segment-prefixes`,x(e,f,m,h,t,n,Kc(e,l,o,s,r),d);return}x(e,f,m,h,t,n,null,d)}for(let t=0;t<e.len;t++){b[t]=d.length;let n=e.texts[t],i=e.isWordLike[t],s=e.kinds[t],l=e.starts[t];if(s===`soft-hyphen`){x(n,0,c,c,s,l,null,0);continue}if(s===`hard-break`){x(n,0,0,0,s,l,null,0);continue}if(s===`tab`){x(n,0,0,0,s,l,null,u?hl(n,s):0);continue}let f=Ic(n,o);if(s===`text`&&f.containsCJK){let e=pl(n,a),t=r===`keep-all`?ml(e):e;for(let e=0;e<t.length;e++){let n=t[e];S(n.text,`text`,l+n.start,i,r===`keep-all`||!ks(n.text))}continue}S(n,s,l,i,!0)}let C=vl(e.chunks,b,d.length),ee=g===null?null:hs(e.normalized,g);return y===null?{widths:d,lineEndFitAdvances:f,lineEndPaintAdvances:p,kinds:m,simpleLineWalkFastPath:h,segLevels:ee,breakableFitAdvances:_,letterSpacing:i,spacingGraphemeCounts:v,discretionaryHyphenWidth:c,tabStopAdvance:l,chunks:C}:{widths:d,lineEndFitAdvances:f,lineEndPaintAdvances:p,kinds:m,simpleLineWalkFastPath:h,segLevels:ee,breakableFitAdvances:_,letterSpacing:i,spacingGraphemeCounts:v,discretionaryHyphenWidth:c,tabStopAdvance:l,chunks:C,segments:y}}function vl(e,t,n){let r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a.startSegmentIndex<t.length?t[a.startSegmentIndex]:n,s=a.endSegmentIndex<t.length?t[a.endSegmentIndex]:n,c=a.consumedEndSegmentIndex<t.length?t[a.consumedEndSegmentIndex]:n;r.push({startSegmentIndex:o,endSegmentIndex:s,consumedEndSegmentIndex:c})}return r}function yl(e,t,n,r){let i=r?.wordBreak??`normal`,a=r?.letterSpacing??0;return _l(Tc(e,Lc(),r?.whiteSpace,i),t,n,i,a)}function bl(e,t,n){return yl(e,t,!1,n)}function xl(e){return e}function Sl(e,t,n){let r=sl(xl(e),t);return{lineCount:r,height:r*n}}var Cl=e=>{if(typeof e==`number`)return Number.isFinite(e)?e:null;if(typeof e==`string`){let t=Number.parseFloat(e);return Number.isFinite(t)?t:null}return null};H(`Text`,class extends Ra(t.Text){constructor(...e){super(...e),this.fullText=``,this.currentIndex=0,this.typewriterSpeed=1,this._wordWrapWidth=0,this.typewriterOptions={},this.lastSoundTime=0,this.soundDuration=0,this.pretextPrepared=null,this.pretextPrepareKey=``,this.measuredLayout=null}async onMount(e,t){let{props:n}=e;await super.onMount(e,t);let r=n.context.tick;n.text&&n.typewriter&&(this.fullText=n.text,this.text=``,this.currentIndex=0,n.typewriter&&(this.typewriterOptions=n.typewriter,this.typewriterOptions.skip&&ka(this.typewriterOptions.skip)&&ja(this.typewriterOptions.skip,()=>{this.skipTypewriter()}),this.typewriterOptions.sound&&this.initializeTypewriterSound()),this.updateLayout()),this.subscriptionTick=r.observable.subscribe(()=>{n.typewriter&&this.typewriterEffect()})}onUpdate(e){super.onUpdate(e),e.typewriter&&e.typewriter&&(this.typewriterOptions=e.typewriter,e.typewriter.sound&&this.initializeTypewriterSound()),e.text!==void 0&&(this.text=``+e.text),e.text!==void 0&&e.text!==this.fullText&&this.fullProps.typewriter&&(this.text=``,this.currentIndex=0,this.fullText=e.text,this.updateLayout()),e.style&&this.applyTextStyle(e.style),e.color&&(this.style.fill=e.color),e.size&&(this.style.fontSize=e.size),e.fontFamily&&(this.style.fontFamily=e.fontFamily),this.updateWordWrapWidth(),this.updateLayout()}get onCompleteCallback(){return this.typewriterOptions.onComplete}initializeTypewriterSound(){this.typewriterOptions.sound?.src&&(this.typewriterSound=new xa.Howl({src:[this.typewriterOptions.sound.src],volume:this.typewriterOptions.sound.volume??.5,rate:this.typewriterOptions.sound.rate??1,preload:!0,onload:()=>{if(this.typewriterSound){let e=this.typewriterSound.duration(),t=this.typewriterOptions.sound?.rate??1;this.soundDuration=e/t*1e3}}}))}playTypewriterSound(e){!this.typewriterSound||!this.typewriterOptions.sound||this.soundDuration>0&&e-this.lastSoundTime<this.soundDuration||(this.typewriterSound.play(),this.lastSoundTime=e)}updateLayout(){let e=this.measurePretextLayout(),t=e?.width??this.width,n=e?.height??this.height;this.measuredLayout=e??{width:t,height:n},this.setMeasuredLayout(t,n)}applyTextStyle(e){let t=this.style.assign;if(typeof t==`function`){t.call(this.style,e);return}for(let t in e)this.style[t]=e[t]}updateWordWrapWidth(){if(!this.style.wordWrap){this._wordWrapWidth=0;return}let e=Cl(this.style.wordWrapWidth);this._wordWrapWidth=e!==null&&e>0?e:0}measurePretextLayout(){if(!this.style.wordWrap||this._wordWrapWidth<=0)return this.pretextPrepared=null,this.pretextPrepareKey=``,null;let e=`${this.text??``}`,t=this.resolvePretextFont(),n=this.resolveLineHeight(),r=this.resolvePretextOptions(),i=JSON.stringify([e,t,r.whiteSpace,r.wordBreak,r.letterSpacing]);try{(this.pretextPrepareKey!==i||!this.pretextPrepared)&&(this.pretextPrepared=bl(e,t,r),this.pretextPrepareKey=i);let a=Sl(this.pretextPrepared,this._wordWrapWidth,n);return{width:this._wordWrapWidth,height:a.height}}catch{return this.pretextPrepared=null,this.pretextPrepareKey=``,null}}resolvePretextFont(){let e=this.style._fontString;if(e)return e;let t=this.resolveFontSize(),n=Array.isArray(this.style.fontFamily)?this.style.fontFamily.join(`,`):this.style.fontFamily;return`${this.style.fontStyle} ${this.style.fontVariant} ${this.style.fontWeight} ${t}px ${n}`}resolvePretextOptions(){return{whiteSpace:this.style.whiteSpace===`normal`?`normal`:`pre-wrap`,letterSpacing:this.style.letterSpacing||void 0}}resolveLineHeight(){let e=Cl(this.style.lineHeight);return e!==null&&e>0?e:this.resolveFontSize()}resolveFontSize(){let e=Cl(this.style.fontSize);return e!==null&&e>0?e:16}setMeasuredLayout(e,t){let n={};this.fullProps.width===void 0&&(this.displayWidth.set(e),this.parentIsFlex&&(n.width=e)),this.fullProps.height===void 0&&(this.displayHeight.set(t),this.parentIsFlex&&(n.height=t)),this.parentIsFlex&&(n.width!==void 0||n.height!==void 0)&&(this.layout=n)}getWidth(){return this.fullProps.width===void 0&&this.measuredLayout?this.measuredLayout.width:super.getWidth()}getHeight(){return this.fullProps.height===void 0&&this.measuredLayout?this.measuredLayout.height:super.getHeight()}typewriterEffect(){if(this.currentIndex<this.fullText.length){let e=Math.min(this.currentIndex+(this.typewriterOptions.speed??1),this.fullText.length);this.text=this.fullText.slice(0,e),this.currentIndex=e,this.typewriterOptions.sound&&this.playTypewriterSound(Date.now()),this.updateLayout(),this.currentIndex===this.fullText.length&&this.onCompleteCallback&&this.onCompleteCallback()}}skipTypewriter(){this.skipSignal&&this.skipSignal(),this.text=this.fullText,this.currentIndex=this.fullText.length,this.updateLayout()}async onDestroy(e,t){await super.onDestroy(e,async()=>{this.subscriptionTick&&this.subscriptionTick.unsubscribe(),this.typewriterSound&&=(this.typewriterSound.stop(),this.typewriterSound.unload(),void 0),this.pretextPrepared=null,this.pretextPrepareKey=``,this.measuredLayout=null,t&&t()})}});function wl(e){return W(`Text`,e)}H(`TilingSprite`,class extends Ra(t.TilingSprite){onUpdate(e){super.onUpdate(e),e.image&&(this.texture=t.Texture.from(e.image)),e.tileScale&&this.tileScale.set(e.tileScale.x,e.tileScale.y),e.tilePosition&&this.tilePosition.set(e.tilePosition.x,e.tilePosition.y),e.width!==void 0&&(this.width=e.width),e.height!==void 0&&(this.height=e.height)}});function Tl(e){return W(`TilingSprite`,e)}var El=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{};function Dl(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var Ol={exports:{}};(function(e,t){(function(){var t={linear:function(e,t,n,r){return n*e/r+t},easeInQuad:function(e,t,n,r){return n*(e/=r)*e+t},easeOutQuad:function(e,t,n,r){return-n*(e/=r)*(e-2)+t},easeInOutQuad:function(e,t,n,r){return(e/=r/2)<1?n/2*e*e+t:-n/2*(--e*(e-2)-1)+t},easeInCubic:function(e,t,n,r){return n*(e/=r)*e*e+t},easeOutCubic:function(e,t,n,r){return n*((e=e/r-1)*e*e+1)+t},easeInOutCubic:function(e,t,n,r){return(e/=r/2)<1?n/2*e*e*e+t:n/2*((e-=2)*e*e+2)+t},easeInQuart:function(e,t,n,r){return n*(e/=r)*e*e*e+t},easeOutQuart:function(e,t,n,r){return-n*((e=e/r-1)*e*e*e-1)+t},easeInOutQuart:function(e,t,n,r){return(e/=r/2)<1?n/2*e*e*e*e+t:-n/2*((e-=2)*e*e*e-2)+t},easeInQuint:function(e,t,n,r){return n*(e/=r)*e*e*e*e+t},easeOutQuint:function(e,t,n,r){return n*((e=e/r-1)*e*e*e*e+1)+t},easeInOutQuint:function(e,t,n,r){return(e/=r/2)<1?n/2*e*e*e*e*e+t:n/2*((e-=2)*e*e*e*e+2)+t},easeInSine:function(e,t,n,r){return-n*Math.cos(e/r*(Math.PI/2))+n+t},easeOutSine:function(e,t,n,r){return n*Math.sin(e/r*(Math.PI/2))+t},easeInOutSine:function(e,t,n,r){return-n/2*(Math.cos(Math.PI*e/r)-1)+t},easeInExpo:function(e,t,n,r){return e===0?t:n*2**(10*(e/r-1))+t},easeOutExpo:function(e,t,n,r){return e===r?t+n:n*(-(2**(-10*e/r))+1)+t},easeInOutExpo:function(e,t,n,r){return(e/=r/2)<1?n/2*2**(10*(e-1))+t:n/2*(-(2**(-10*--e))+2)+t},easeInCirc:function(e,t,n,r){return-n*(Math.sqrt(1-(e/=r)*e)-1)+t},easeOutCirc:function(e,t,n,r){return n*Math.sqrt(1-(e=e/r-1)*e)+t},easeInOutCirc:function(e,t,n,r){return(e/=r/2)<1?-n/2*(Math.sqrt(1-e*e)-1)+t:n/2*(Math.sqrt(1-(e-=2)*e)+1)+t},easeInElastic:function(e,t,n,r){var i,a,o;return o=1.70158,a=0,i=n,e===0||(e/=r),a||=r*.3,i<Math.abs(n)?(i=n,o=a/4):o=a/(2*Math.PI)*Math.asin(n/i),-(i*2**(10*--e)*Math.sin((e*r-o)*(2*Math.PI)/a))+t},easeOutElastic:function(e,t,n,r){var i,a,o;return o=1.70158,a=0,i=n,e===0||(e/=r),a||=r*.3,i<Math.abs(n)?(i=n,o=a/4):o=a/(2*Math.PI)*Math.asin(n/i),i*2**(-10*e)*Math.sin((e*r-o)*(2*Math.PI)/a)+n+t},easeInOutElastic:function(e,t,n,r){var i,a,o;return o=1.70158,a=0,i=n,e===0||(e/=r/2),a||=.3*1.5*r,i<Math.abs(n)?(i=n,o=a/4):o=a/(2*Math.PI)*Math.asin(n/i),e<1?-.5*(i*2**(10*--e)*Math.sin((e*r-o)*(2*Math.PI)/a))+t:i*2**(-10*--e)*Math.sin((e*r-o)*(2*Math.PI)/a)*.5+n+t},easeInBack:function(e,t,n,r,i){return i===void 0&&(i=1.70158),n*(e/=r)*e*((i+1)*e-i)+t},easeOutBack:function(e,t,n,r,i){return i===void 0&&(i=1.70158),n*((e=e/r-1)*e*((i+1)*e+i)+1)+t},easeInOutBack:function(e,t,n,r,i){return i===void 0&&(i=1.70158),(e/=r/2)<1?n/2*(e*e*(((i*=1.525)+1)*e-i))+t:n/2*((e-=2)*e*(((i*=1.525)+1)*e+i)+2)+t},easeInBounce:function(e,n,r,i){var a;return a=t.easeOutBounce(i-e,0,r,i),r-a+n},easeOutBounce:function(e,t,n,r){return(e/=r)<1/2.75?n*(7.5625*e*e)+t:e<2/2.75?n*(7.5625*(e-=1.5/2.75)*e+.75)+t:e<2.5/2.75?n*(7.5625*(e-=2.25/2.75)*e+.9375)+t:n*(7.5625*(e-=2.625/2.75)*e+.984375)+t},easeInOutBounce:function(e,n,r,i){var a;return e<i/2?(a=t.easeInBounce(e*2,0,r,i),a*.5+n):(a=t.easeOutBounce(e*2-i,0,r,i),a*.5+r*.5+n)}};(function(t){return e.exports=t})(t)}).call(El)})(Ol);var kl=Ol.exports,Al=Dl(kl);function jl(e,t){if(e){if(typeof e==`function`)return e;if(typeof e==`string`)return Al[e]}else return Al[t]}var Ml=class{constructor(e){this.viewport=e,this.touches=[],this.addListeners()}addListeners(){this.viewport.eventMode=`static`,this.viewport.forceHitArea||(this.viewport.hitArea=new t.Rectangle(0,0,this.viewport.worldWidth,this.viewport.worldHeight)),this.viewport.on(`pointerdown`,this.down,this),this.viewport.options.allowPreserveDragOutside?this.viewport.on(`globalpointermove`,this.move,this):this.viewport.on(`pointermove`,this.move,this),this.viewport.on(`pointerup`,this.up,this),this.viewport.on(`pointerupoutside`,this.up,this),this.viewport.on(`pointercancel`,this.up,this),this.viewport.options.allowPreserveDragOutside||this.viewport.on(`pointerleave`,this.up,this),this.wheelFunction=e=>this.handleWheel(e),this.viewport.options.events.domElement.addEventListener(`wheel`,this.wheelFunction,{passive:this.viewport.options.passiveWheel}),this.isMouseDown=!1}destroy(){var e;(e=this.viewport.options.events.domElement)==null||e.removeEventListener(`wheel`,this.wheelFunction)}down(e){if(!(this.viewport.pause||!this.viewport.visible)){if(e.pointerType===`mouse`?this.isMouseDown=!0:this.get(e.pointerId)||this.touches.push({id:e.pointerId,last:null}),this.count()===1){this.last=e.global.clone();let t=this.viewport.plugins.get(`decelerate`,!0),n=this.viewport.plugins.get(`bounce`,!0);(!t||!t.isActive())&&(!n||!n.isActive())?this.clickedAvailable=!0:this.clickedAvailable=!1}else this.clickedAvailable=!1;this.viewport.plugins.down(e)&&this.viewport.options.stopPropagation&&e.stopPropagation()}}clear(){this.isMouseDown=!1,this.touches=[],this.last=null}checkThreshold(e){return Math.abs(e)>=this.viewport.threshold}move(e){if(this.viewport.pause||!this.viewport.visible)return;let t=this.viewport.plugins.move(e);if(this.clickedAvailable&&this.last){let t=e.global.x-this.last.x,n=e.global.y-this.last.y;(this.checkThreshold(t)||this.checkThreshold(n))&&(this.clickedAvailable=!1)}t&&this.viewport.options.stopPropagation&&e.stopPropagation()}up(e){if(this.viewport.pause||!this.viewport.visible)return;e.pointerType===`mouse`&&(this.isMouseDown=!1),e.pointerType!==`mouse`&&this.remove(e.pointerId);let t=this.viewport.plugins.up(e);this.clickedAvailable&&this.count()===0&&this.last&&(this.viewport.emit(`clicked`,{event:e,screen:this.last,world:this.viewport.toWorld(this.last),viewport:this.viewport}),this.clickedAvailable=!1),t&&this.viewport.options.stopPropagation&&e.stopPropagation()}getPointerPosition(e){let n=new t.Point;return this.viewport.options.events.mapPositionToPoint(n,e.clientX,e.clientY),n}handleWheel(e){if(this.viewport.pause||!this.viewport.visible)return;let t=this.viewport.toLocal(this.getPointerPosition(e));this.viewport.left<=t.x&&t.x<=this.viewport.right&&this.viewport.top<=t.y&&t.y<=this.viewport.bottom&&this.viewport.plugins.wheel(e)&&!this.viewport.options.passiveWheel&&e.preventDefault()}pause(){this.touches=[],this.isMouseDown=!1}get(e){for(let t of this.touches)if(t.id===e)return t;return null}remove(e){for(let t=0;t<this.touches.length;t++)if(this.touches[t].id===e){this.touches.splice(t,1);return}}count(){return+!!this.isMouseDown+this.touches.length}},Nl=[`drag`,`pinch`,`wheel`,`follow`,`mouse-edges`,`decelerate`,`animate`,`bounce`,`snap-zoom`,`clamp-zoom`,`snap`,`clamp`],Pl=class{constructor(e){this.viewport=e,this.list=[],this.plugins={}}add(e,t,n=Nl.length){let r=this.plugins[e];r&&r.destroy(),this.plugins[e]=t;let i=Nl.indexOf(e);i!==-1&&Nl.splice(i,1),Nl.splice(n,0,e),this.sort()}get(e,t){var n;return t&&(n=this.plugins[e])!=null&&n.paused?null:this.plugins[e]}update(e){for(let t of this.list)t.update(e)}resize(){for(let e of this.list)e.resize()}reset(){for(let e of this.list)e.reset()}removeAll(){this.list.forEach(e=>{e.destroy()}),this.plugins={},this.sort()}remove(e){var t;this.plugins[e]&&((t=this.plugins[e])==null||t.destroy(),delete this.plugins[e],this.viewport.emit(`plugin-remove`,e),this.sort())}pause(e){var t;(t=this.plugins[e])==null||t.pause()}resume(e){var t;(t=this.plugins[e])==null||t.resume()}sort(){this.list=[];for(let e of Nl)this.plugins[e]&&this.list.push(this.plugins[e])}down(e){let t=!1;for(let n of this.list)n.down(e)&&(t=!0);return t}move(e){let t=!1;for(let n of this.viewport.plugins.list)n.move(e)&&(t=!0);return t}up(e){let t=!1;for(let n of this.list)n.up(e)&&(t=!0);return t}wheel(e){let t=!1;for(let n of this.list)n.wheel(e)&&(t=!0);return t}},Fl=class{constructor(e){this.parent=e,this.paused=!1}destroy(){}down(e){return!1}move(e){return!1}up(e){return!1}wheel(e){return!1}update(e){}resize(){}reset(){}pause(){this.paused=!0}resume(){this.paused=!1}},Il={removeOnInterrupt:!1,ease:`linear`,time:1e3},Ll=class extends Fl{constructor(e,t={}){super(e),this.startWidth=null,this.startHeight=null,this.deltaWidth=null,this.deltaHeight=null,this.width=null,this.height=null,this.time=0,this.options=Object.assign({},Il,t),this.options.ease=jl(this.options.ease),this.setupPosition(),this.setupZoom(),this.time=0}setupPosition(){typeof this.options.position<`u`?(this.startX=this.parent.center.x,this.startY=this.parent.center.y,this.deltaX=this.options.position.x-this.parent.center.x,this.deltaY=this.options.position.y-this.parent.center.y,this.keepCenter=!1):this.keepCenter=!0}setupZoom(){this.width=null,this.height=null,typeof this.options.scale<`u`?this.width=this.parent.screenWidth/this.options.scale:typeof this.options.scaleX<`u`||typeof this.options.scaleY<`u`?(typeof this.options.scaleX<`u`&&(this.width=this.parent.screenWidth/this.options.scaleX),typeof this.options.scaleY<`u`&&(this.height=this.parent.screenHeight/this.options.scaleY)):(typeof this.options.width<`u`&&(this.width=this.options.width),typeof this.options.height<`u`&&(this.height=this.options.height)),this.width!==null&&(this.startWidth=this.parent.screenWidthInWorldPixels,this.deltaWidth=this.width-this.startWidth),this.height!==null&&(this.startHeight=this.parent.screenHeightInWorldPixels,this.deltaHeight=this.height-this.startHeight)}down(){return this.options.removeOnInterrupt&&this.parent.plugins.remove(`animate`),!1}complete(){this.parent.plugins.remove(`animate`),this.width!==null&&this.parent.fitWidth(this.width,this.keepCenter,this.height===null),this.height!==null&&this.parent.fitHeight(this.height,this.keepCenter,this.width===null),!this.keepCenter&&this.options.position&&this.parent.moveCenter(this.options.position),this.parent.emit(`animate-end`,this.parent),this.options.callbackOnComplete&&this.options.callbackOnComplete(this.parent)}update(e){if(this.paused)return;this.time+=e;let n=new t.Point(this.parent.scale.x,this.parent.scale.y);if(this.time>=this.options.time){let e=this.parent.width,t=this.parent.height;this.complete(),(e!==this.parent.width||t!==this.parent.height)&&this.parent.emit(`zoomed`,{viewport:this.parent,original:n,type:`animate`})}else{let e=this.options.ease(this.time,0,1,this.options.time);if(this.width!==null){let t=this.startWidth,n=this.deltaWidth;this.parent.fitWidth(t+n*e,this.keepCenter,this.height===null)}if(this.height!==null){let t=this.startHeight,n=this.deltaHeight;this.parent.fitHeight(t+n*e,this.keepCenter,this.width===null)}if(this.width===null?this.parent.scale.x=this.parent.scale.y:this.height===null&&(this.parent.scale.y=this.parent.scale.x),!this.keepCenter){let n=this.startX,r=this.startY,i=this.deltaX,a=this.deltaY,o=new t.Point(this.parent.x,this.parent.y);this.parent.moveCenter(n+i*e,r+a*e),this.parent.emit(`moved`,{viewport:this.parent,original:o,type:`animate`})}(this.width||this.height)&&this.parent.emit(`zoomed`,{viewport:this.parent,original:n,type:`animate`})}}},Rl={sides:`all`,friction:.5,time:150,ease:`easeInOutSine`,underflow:`center`,bounceBox:null},zl=class extends Fl{constructor(e,t={}){super(e),this.options=Object.assign({},Rl,t),this.ease=jl(this.options.ease,`easeInOutSine`),this.options.sides?this.options.sides===`all`?this.top=this.bottom=this.left=this.right=!0:this.options.sides===`horizontal`?(this.right=this.left=!0,this.top=this.bottom=!1):this.options.sides===`vertical`?(this.left=this.right=!1,this.top=this.bottom=!0):(this.top=this.options.sides.indexOf(`top`)!==-1,this.bottom=this.options.sides.indexOf(`bottom`)!==-1,this.left=this.options.sides.indexOf(`left`)!==-1,this.right=this.options.sides.indexOf(`right`)!==-1):this.left=this.top=this.right=this.bottom=!1;let n=this.options.underflow.toLowerCase();n===`center`?(this.underflowX=0,this.underflowY=0):(this.underflowX=n.indexOf(`left`)===-1?n.indexOf(`right`)===-1?0:1:-1,this.underflowY=n.indexOf(`top`)===-1?n.indexOf(`bottom`)===-1?0:1:-1),this.reset()}isActive(){return this.toX!==null||this.toY!==null}down(){return this.toX=this.toY=null,!1}up(){return this.bounce(),!1}update(e){if(!this.paused){if(this.bounce(),this.toX){let t=this.toX;t.time+=e,this.parent.emit(`moved`,{viewport:this.parent,type:`bounce-x`}),t.time>=this.options.time?(this.parent.x=t.end,this.toX=null,this.parent.emit(`bounce-x-end`,this.parent)):this.parent.x=this.ease(t.time,t.start,t.delta,this.options.time)}if(this.toY){let t=this.toY;t.time+=e,this.parent.emit(`moved`,{viewport:this.parent,type:`bounce-y`}),t.time>=this.options.time?(this.parent.y=t.end,this.toY=null,this.parent.emit(`bounce-y-end`,this.parent)):this.parent.y=this.ease(t.time,t.start,t.delta,this.options.time)}}}calcUnderflowX(){let e;switch(this.underflowX){case-1:e=0;break;case 1:e=this.parent.screenWidth-this.parent.screenWorldWidth;break;default:e=(this.parent.screenWidth-this.parent.screenWorldWidth)/2}return e}calcUnderflowY(){let e;switch(this.underflowY){case-1:e=0;break;case 1:e=this.parent.screenHeight-this.parent.screenWorldHeight;break;default:e=(this.parent.screenHeight-this.parent.screenWorldHeight)/2}return e}oob(){let e=this.options.bounceBox;if(e){let n=typeof e.x>`u`?0:e.x,r=typeof e.y>`u`?0:e.y,i=typeof e.width>`u`?this.parent.worldWidth:e.width,a=typeof e.height>`u`?this.parent.worldHeight:e.height;return{left:this.parent.left<n,right:this.parent.right>i,top:this.parent.top<r,bottom:this.parent.bottom>a,topLeft:new t.Point(n*this.parent.scale.x,r*this.parent.scale.y),bottomRight:new t.Point(i*this.parent.scale.x-this.parent.screenWidth,a*this.parent.scale.y-this.parent.screenHeight)}}return{left:this.parent.left<0,right:this.parent.right>this.parent.worldWidth,top:this.parent.top<0,bottom:this.parent.bottom>this.parent.worldHeight,topLeft:new t.Point(0,0),bottomRight:new t.Point(this.parent.worldWidth*this.parent.scale.x-this.parent.screenWidth,this.parent.worldHeight*this.parent.scale.y-this.parent.screenHeight)}}bounce(){if(this.paused)return;let e,t=this.parent.plugins.get(`decelerate`,!0);t&&(t.x||t.y)&&(t.x&&t.percentChangeX===t.options?.friction||t.y&&t.percentChangeY===t.options?.friction)&&(e=this.oob(),(e.left&&this.left||e.right&&this.right)&&(t.percentChangeX=this.options.friction),(e.top&&this.top||e.bottom&&this.bottom)&&(t.percentChangeY=this.options.friction));let n=this.parent.plugins.get(`drag`,!0)||{},r=this.parent.plugins.get(`pinch`,!0)||{};if(t||={},!(n!=null&&n.active)&&!(r!=null&&r.active)&&(!this.toX||!this.toY)&&(!t.x||!t.y)){e||=this.oob();let n=e.topLeft,r=e.bottomRight;if(!this.toX&&!t.x){let t=null;e.left&&this.left?t=this.parent.screenWorldWidth<this.parent.screenWidth?this.calcUnderflowX():-n.x:e.right&&this.right&&(t=this.parent.screenWorldWidth<this.parent.screenWidth?this.calcUnderflowX():-r.x),t!==null&&this.parent.x!==t&&(this.toX={time:0,start:this.parent.x,delta:t-this.parent.x,end:t},this.parent.emit(`bounce-x-start`,this.parent))}if(!this.toY&&!t.y){let t=null;e.top&&this.top?t=this.parent.screenWorldHeight<this.parent.screenHeight?this.calcUnderflowY():-n.y:e.bottom&&this.bottom&&(t=this.parent.screenWorldHeight<this.parent.screenHeight?this.calcUnderflowY():-r.y),t!==null&&this.parent.y!==t&&(this.toY={time:0,start:this.parent.y,delta:t-this.parent.y,end:t},this.parent.emit(`bounce-y-start`,this.parent))}}}reset(){this.toX=this.toY=null,this.bounce()}},Bl={left:!1,right:!1,top:!1,bottom:!1,direction:null,underflow:`center`},Vl=class extends Fl{constructor(e,t={}){super(e),this.options=Object.assign({},Bl,t),this.options.direction&&(this.options.left=this.options.direction===`x`||this.options.direction===`all`?!0:null,this.options.right=this.options.direction===`x`||this.options.direction===`all`?!0:null,this.options.top=this.options.direction===`y`||this.options.direction===`all`?!0:null,this.options.bottom=this.options.direction===`y`||this.options.direction===`all`?!0:null),this.parseUnderflow(),this.last={x:null,y:null,scaleX:null,scaleY:null},this.update()}parseUnderflow(){let e=this.options.underflow.toLowerCase();e===`none`?this.noUnderflow=!0:e===`center`?(this.underflowX=this.underflowY=0,this.noUnderflow=!1):(this.underflowX=e.indexOf(`left`)===-1?e.indexOf(`right`)===-1?0:1:-1,this.underflowY=e.indexOf(`top`)===-1?e.indexOf(`bottom`)===-1?0:1:-1,this.noUnderflow=!1)}move(){return this.update(),!1}update(){if(this.paused||this.parent.x===this.last.x&&this.parent.y===this.last.y&&this.parent.scale.x===this.last.scaleX&&this.parent.scale.y===this.last.scaleY)return;let e=new t.Point(this.parent.x,this.parent.y),n=this.parent.plugins.decelerate||{};if(this.options.left!==null||this.options.right!==null){let t=!1;if(!this.noUnderflow&&this.parent.screenWorldWidth<this.parent.screenWidth)switch(this.underflowX){case-1:this.parent.x!==0&&(this.parent.x=0,t=!0);break;case 1:this.parent.x!==this.parent.screenWidth-this.parent.screenWorldWidth&&(this.parent.x=this.parent.screenWidth-this.parent.screenWorldWidth,t=!0);break;default:this.parent.x!==(this.parent.screenWidth-this.parent.screenWorldWidth)/2&&(this.parent.x=(this.parent.screenWidth-this.parent.screenWorldWidth)/2,t=!0)}else this.options.left!==null&&this.parent.left<(this.options.left===!0?0:this.options.left)&&(this.parent.x=-(this.options.left===!0?0:this.options.left)*this.parent.scale.x,n.x=0,t=!0),this.options.right!==null&&this.parent.right>(this.options.right===!0?this.parent.worldWidth:this.options.right)&&(this.parent.x=-(this.options.right===!0?this.parent.worldWidth:this.options.right)*this.parent.scale.x+this.parent.screenWidth,n.x=0,t=!0);t&&this.parent.emit(`moved`,{viewport:this.parent,original:e,type:`clamp-x`})}if(this.options.top!==null||this.options.bottom!==null){let t=!1;if(!this.noUnderflow&&this.parent.screenWorldHeight<this.parent.screenHeight)switch(this.underflowY){case-1:this.parent.y!==0&&(this.parent.y=0,t=!0);break;case 1:this.parent.y!==this.parent.screenHeight-this.parent.screenWorldHeight&&(this.parent.y=this.parent.screenHeight-this.parent.screenWorldHeight,t=!0);break;default:this.parent.y!==(this.parent.screenHeight-this.parent.screenWorldHeight)/2&&(this.parent.y=(this.parent.screenHeight-this.parent.screenWorldHeight)/2,t=!0)}else this.options.top!==null&&this.parent.top<(this.options.top===!0?0:this.options.top)&&(this.parent.y=-(this.options.top===!0?0:this.options.top)*this.parent.scale.y,n.y=0,t=!0),this.options.bottom!==null&&this.parent.bottom>(this.options.bottom===!0?this.parent.worldHeight:this.options.bottom)&&(this.parent.y=-(this.options.bottom===!0?this.parent.worldHeight:this.options.bottom)*this.parent.scale.y+this.parent.screenHeight,n.y=0,t=!0);t&&this.parent.emit(`moved`,{viewport:this.parent,original:e,type:`clamp-y`})}this.last.x=this.parent.x,this.last.y=this.parent.y,this.last.scaleX=this.parent.scale.x,this.last.scaleY=this.parent.scale.y}reset(){this.update()}},Hl={minWidth:null,minHeight:null,maxWidth:null,maxHeight:null,minScale:null,maxScale:null},Ul=class extends Fl{constructor(e,t={}){super(e),this.options=Object.assign({},Hl,t),this.clamp()}resize(){this.clamp()}clamp(){if(!this.paused){if(this.options.minWidth||this.options.minHeight||this.options.maxWidth||this.options.maxHeight){let e=this.parent.worldScreenWidth,t=this.parent.worldScreenHeight;if(this.options.minWidth!==null&&e<this.options.minWidth){let n=this.parent.scale.x;this.parent.fitWidth(this.options.minWidth,!1,!1,!0),this.parent.scale.y*=this.parent.scale.x/n,e=this.parent.worldScreenWidth,t=this.parent.worldScreenHeight,this.parent.emit(`zoomed`,{viewport:this.parent,type:`clamp-zoom`})}if(this.options.maxWidth!==null&&e>this.options.maxWidth){let n=this.parent.scale.x;this.parent.fitWidth(this.options.maxWidth,!1,!1,!0),this.parent.scale.y*=this.parent.scale.x/n,e=this.parent.worldScreenWidth,t=this.parent.worldScreenHeight,this.parent.emit(`zoomed`,{viewport:this.parent,type:`clamp-zoom`})}if(this.options.minHeight!==null&&t<this.options.minHeight){let n=this.parent.scale.y;this.parent.fitHeight(this.options.minHeight,!1,!1,!0),this.parent.scale.x*=this.parent.scale.y/n,e=this.parent.worldScreenWidth,t=this.parent.worldScreenHeight,this.parent.emit(`zoomed`,{viewport:this.parent,type:`clamp-zoom`})}if(this.options.maxHeight!==null&&t>this.options.maxHeight){let e=this.parent.scale.y;this.parent.fitHeight(this.options.maxHeight,!1,!1,!0),this.parent.scale.x*=this.parent.scale.y/e,this.parent.emit(`zoomed`,{viewport:this.parent,type:`clamp-zoom`})}}else if(this.options.minScale||this.options.maxScale){let e={x:null,y:null},t={x:null,y:null};if(typeof this.options.minScale==`number`)e.x=this.options.minScale,e.y=this.options.minScale;else if(this.options.minScale!==null){let t=this.options.minScale;e.x=typeof t.x>`u`?null:t.x,e.y=typeof t.y>`u`?null:t.y}if(typeof this.options.maxScale==`number`)t.x=this.options.maxScale,t.y=this.options.maxScale;else if(this.options.maxScale!==null){let e=this.options.maxScale;t.x=typeof e.x>`u`?null:e.x,t.y=typeof e.y>`u`?null:e.y}let n=this.parent.scale.x,r=this.parent.scale.y;e.x!==null&&n<e.x&&(n=e.x),t.x!==null&&n>t.x&&(n=t.x),e.y!==null&&r<e.y&&(r=e.y),t.y!==null&&r>t.y&&(r=t.y),(n!==this.parent.scale.x||r!==this.parent.scale.y)&&(this.parent.scale.set(n,r),this.parent.emit(`zoomed`,{viewport:this.parent,type:`clamp-zoom`}))}}}reset(){this.clamp()}},Wl={friction:.98,bounce:.8,minSpeed:.01},Gl=16,Kl=class extends Fl{constructor(e,t={}){super(e),this.options=Object.assign({},Wl,t),this.saved=[],this.timeSinceRelease=0,this.reset(),this.parent.on(`moved`,e=>this.handleMoved(e))}down(){return this.saved=[],this.x=this.y=null,!1}isActive(){return!!(this.x||this.y)}move(){if(this.paused)return!1;let e=this.parent.input.count();return(e===1||e>1&&!this.parent.plugins.get(`pinch`,!0))&&(this.saved.push({x:this.parent.x,y:this.parent.y,time:performance.now()}),this.saved.length>60&&this.saved.splice(0,30)),!1}handleMoved(e){if(this.saved.length){let t=this.saved[this.saved.length-1];e.type===`clamp-x`&&e.original?t.x===e.original.x&&(t.x=this.parent.x):e.type===`clamp-y`&&e.original&&t.y===e.original.y&&(t.y=this.parent.y)}}up(){if(this.parent.input.count()===0&&this.saved.length){let e=performance.now();for(let t of this.saved)if(t.time>=e-100){let n=e-t.time;this.x=(this.parent.x-t.x)/n,this.y=(this.parent.y-t.y)/n,this.percentChangeX=this.percentChangeY=this.options.friction,this.timeSinceRelease=0;break}}return!1}activate(e){e||={},typeof e.x<`u`&&(this.x=e.x,this.percentChangeX=this.options.friction),typeof e.y<`u`&&(this.y=e.y,this.percentChangeY=this.options.friction)}update(e){if(this.paused)return;let t=this.x||this.y,n=this.timeSinceRelease,r=this.timeSinceRelease+e;if(this.x){let t=this.percentChangeX,i=Math.log(t);this.parent.x+=this.x*Gl/i*(t**+(r/Gl)-t**+(n/Gl)),this.x*=this.percentChangeX**+(e/Gl)}if(this.y){let t=this.percentChangeY,i=Math.log(t);this.parent.y+=this.y*Gl/i*(t**+(r/Gl)-t**+(n/Gl)),this.y*=this.percentChangeY**+(e/Gl)}this.timeSinceRelease+=e,this.x&&this.y?Math.abs(this.x)<this.options.minSpeed&&Math.abs(this.y)<this.options.minSpeed&&(this.x=0,this.y=0):(Math.abs(this.x||0)<this.options.minSpeed&&(this.x=0),Math.abs(this.y||0)<this.options.minSpeed&&(this.y=0)),t&&this.parent.emit(`moved`,{viewport:this.parent,type:`decelerate`})}reset(){this.x=this.y=null}},ql={direction:`all`,pressDrag:!0,wheel:!0,wheelScroll:1,reverse:!1,clampWheel:!1,underflow:`center`,factor:1,mouseButtons:`all`,keyToPress:null,ignoreKeyToPressOnTouch:!1,lineHeight:20,wheelSwapAxes:!1},Jl=class extends Fl{constructor(e,t={}){super(e),this.windowEventHandlers=[],this.options=Object.assign({},ql,t),this.moved=!1,this.reverse=this.options.reverse?1:-1,this.xDirection=!this.options.direction||this.options.direction===`all`||this.options.direction===`x`,this.yDirection=!this.options.direction||this.options.direction===`all`||this.options.direction===`y`,this.keyIsPressed=!1,this.parseUnderflow(),this.mouseButtons(this.options.mouseButtons),this.options.keyToPress&&this.handleKeyPresses(this.options.keyToPress)}handleKeyPresses(e){this.addWindowEventHandler(`keyup`,t=>{e.includes(t.code)&&(this.keyIsPressed=!1)}),this.addWindowEventHandler(`keydown`,t=>{e.includes(t.code)&&(this.keyIsPressed=!0)})}addWindowEventHandler(e,t){typeof window>`u`||(window.addEventListener(e,t),this.windowEventHandlers.push({event:e,handler:t}))}destroy(){typeof window>`u`||this.windowEventHandlers.forEach(({event:e,handler:t})=>{window.removeEventListener(e,t)})}mouseButtons(e){!e||e===`all`?this.mouse=[!0,!0,!0]:this.mouse=[e.indexOf(`left`)!==-1,e.indexOf(`middle`)!==-1,e.indexOf(`right`)!==-1]}parseUnderflow(){let e=this.options.underflow.toLowerCase();e===`center`?(this.underflowX=0,this.underflowY=0):(e.includes(`left`)?this.underflowX=-1:e.includes(`right`)?this.underflowX=1:this.underflowX=0,e.includes(`top`)?this.underflowY=-1:e.includes(`bottom`)?this.underflowY=1:this.underflowY=0)}checkButtons(e){let t=e.pointerType===`mouse`,n=this.parent.input.count();return!!((n===1||n>1&&!this.parent.plugins.get(`pinch`,!0))&&(!t||this.mouse[e.button]))}checkKeyPress(e){return!this.options.keyToPress||this.keyIsPressed||this.options.ignoreKeyToPressOnTouch&&e.data.pointerType===`touch`}down(e){return this.paused||!this.options.pressDrag?!1:this.checkButtons(e)&&this.checkKeyPress(e)?(this.last={x:e.global.x,y:e.global.y},(this.parent.parent||this.parent).toLocal(this.last,void 0,this.last),this.current=e.pointerId,!0):(this.last=null,!1)}get active(){return this.moved}move(e){if(this.paused||!this.options.pressDrag)return!1;if(this.last&&this.current===e.data.pointerId){let n=e.global.x,r=e.global.y,i=this.parent.input.count();if(i===1||i>1&&!this.parent.plugins.get(`pinch`,!0)){let i={x:n,y:r};(this.parent.parent||this.parent).toLocal(i,void 0,i);let a=i.x-this.last.x,o=i.y-this.last.y;if(this.moved||this.xDirection&&this.parent.input.checkThreshold(a)||this.yDirection&&this.parent.input.checkThreshold(o))return this.xDirection&&(this.parent.x+=(i.x-this.last.x)*this.options.factor),this.yDirection&&(this.parent.y+=(i.y-this.last.y)*this.options.factor),this.last=i,this.moved||this.parent.emit(`drag-start`,{event:e,screen:new t.Point(this.last.x,this.last.y),world:this.parent.toWorld(new t.Point(this.last.x,this.last.y)),viewport:this.parent}),this.moved=!0,this.parent.emit(`moved`,{viewport:this.parent,type:`drag`}),!0}else this.moved=!1}return!1}up(e){if(this.paused)return!1;let n=this.parent.input.touches;if(n.length===1){let e=n[0];return e.last&&(this.last={x:e.last.x,y:e.last.y},this.current=e.id),this.moved=!1,!0}else if(this.last&&this.moved){let n=new t.Point(this.last.x,this.last.y);return(this.parent.parent||this.parent).toGlobal(n,n,!0),this.parent.emit(`drag-end`,{event:e,screen:n,world:this.parent.toWorld(n),viewport:this.parent}),this.last=null,this.moved=!1,!0}return!1}wheel(e){if(this.paused)return!1;if(this.options.wheel){let t=this.parent.plugins.get(`wheel`,!0);if(!t||!t.options.wheelZoom&&!e.ctrlKey){let t=e.deltaMode?this.options.lineHeight:1,n=[e.deltaX,e.deltaY],[r,i]=this.options.wheelSwapAxes?n.reverse():n;return this.xDirection&&(this.parent.x+=r*t*this.options.wheelScroll*this.reverse),this.yDirection&&(this.parent.y+=i*t*this.options.wheelScroll*this.reverse),this.options.clampWheel&&this.clamp(),this.parent.emit(`wheel-scroll`,this.parent),this.parent.emit(`moved`,{viewport:this.parent,type:`wheel`}),this.parent.options.passiveWheel||e.preventDefault(),this.parent.options.stopPropagation&&e.stopPropagation(),!0}}return!1}resume(){this.last=null,this.paused=!1}clamp(){let e=this.parent.plugins.get(`decelerate`,!0)||{};if(this.options.clampWheel!==`y`)if(this.parent.screenWorldWidth<this.parent.screenWidth)switch(this.underflowX){case-1:this.parent.x=0;break;case 1:this.parent.x=this.parent.screenWidth-this.parent.screenWorldWidth;break;default:this.parent.x=(this.parent.screenWidth-this.parent.screenWorldWidth)/2}else this.parent.left<0?(this.parent.x=0,e.x=0):this.parent.right>this.parent.worldWidth&&(this.parent.x=-this.parent.worldWidth*this.parent.scale.x+this.parent.screenWidth,e.x=0);if(this.options.clampWheel!==`x`)if(this.parent.screenWorldHeight<this.parent.screenHeight)switch(this.underflowY){case-1:this.parent.y=0;break;case 1:this.parent.y=this.parent.screenHeight-this.parent.screenWorldHeight;break;default:this.parent.y=(this.parent.screenHeight-this.parent.screenWorldHeight)/2}else this.parent.top<0&&(this.parent.y=0,e.y=0),this.parent.bottom>this.parent.worldHeight&&(this.parent.y=-this.parent.worldHeight*this.parent.scale.y+this.parent.screenHeight,e.y=0)}},Yl={speed:0,acceleration:null,radius:null},Xl=class extends Fl{constructor(e,t,n={}){super(e),this.target=t,this.options=Object.assign({},Yl,n),this.velocity={x:0,y:0}}update(e){if(this.paused)return;let t=this.parent.center,n=this.target.x,r=this.target.y;if(this.options.radius)if(Math.sqrt((this.target.y-t.y)**2+(this.target.x-t.x)**2)>this.options.radius){let e=Math.atan2(this.target.y-t.y,this.target.x-t.x);n=this.target.x-Math.cos(e)*this.options.radius,r=this.target.y-Math.sin(e)*this.options.radius}else return;let i=n-t.x,a=r-t.y;if(i||a)if(this.options.speed)if(this.options.acceleration){let o=Math.atan2(r-t.y,n-t.x),s=Math.sqrt(i**2+a**2);if(s){s>(this.velocity.x**2+this.velocity.y**2)/(2*this.options.acceleration)?this.velocity={x:Math.min(this.velocity.x+(this.options.acceleration*e,this.options.speed)),y:Math.min(this.velocity.y+(this.options.acceleration*e,this.options.speed))}:this.velocity={x:Math.max(this.velocity.x-this.options.acceleration*this.options.speed,0),y:Math.max(this.velocity.y-this.options.acceleration*this.options.speed,0)};let c=Math.cos(o)*this.velocity.x,l=Math.sin(o)*this.velocity.y,u=Math.abs(c)>Math.abs(i)?n:t.x+c,d=Math.abs(l)>Math.abs(a)?r:t.y+l;this.parent.moveCenter(u,d),this.parent.emit(`moved`,{viewport:this.parent,type:`follow`})}}else{let e=Math.atan2(r-t.y,n-t.x),o=Math.cos(e)*this.options.speed,s=Math.sin(e)*this.options.speed,c=Math.abs(o)>Math.abs(i)?n:t.x+o,l=Math.abs(s)>Math.abs(a)?r:t.y+s;this.parent.moveCenter(c,l),this.parent.emit(`moved`,{viewport:this.parent,type:`follow`})}else this.parent.moveCenter(n,r),this.parent.emit(`moved`,{viewport:this.parent,type:`follow`})}},Zl={radius:null,distance:null,top:null,bottom:null,left:null,right:null,speed:8,reverse:!1,noDecelerate:!1,linear:!1,allowButtons:!1},Ql=class extends Fl{constructor(e,t={}){super(e),this.options=Object.assign({},Zl,t),this.reverse=this.options.reverse?1:-1,this.radiusSquared=typeof this.options.radius==`number`?this.options.radius**2:null,this.resize()}resize(){let e=this.options.distance;e===null?this.options.radius||(this.left=this.options.left,this.top=this.options.top,this.right=this.options.right===null?null:this.parent.screenWidth-this.options.right,this.bottom=this.options.bottom===null?null:this.parent.screenHeight-this.options.bottom):(this.left=e,this.top=e,this.right=this.parent.screenWidth-e,this.bottom=this.parent.screenHeight-e)}down(){return this.paused||this.options.allowButtons||(this.horizontal=this.vertical=null),!1}move(e){if(this.paused||e.pointerType!==`mouse`&&e.pointerId!==1||!this.options.allowButtons&&e.buttons!==0)return!1;let t=e.global.x,n=e.global.y;if(this.radiusSquared){let e=this.parent.toScreen(this.parent.center);if((e.x-t)**2+(e.y-n)**2>=this.radiusSquared){let r=Math.atan2(e.y-n,e.x-t);this.options.linear?(this.horizontal=Math.round(Math.cos(r))*this.options.speed*this.reverse*(60/1e3),this.vertical=Math.round(Math.sin(r))*this.options.speed*this.reverse*(60/1e3)):(this.horizontal=Math.cos(r)*this.options.speed*this.reverse*(60/1e3),this.vertical=Math.sin(r)*this.options.speed*this.reverse*(60/1e3))}else this.horizontal&&this.decelerateHorizontal(),this.vertical&&this.decelerateVertical(),this.horizontal=this.vertical=0}else this.left!==null&&t<this.left?this.horizontal=Number(this.reverse)*this.options.speed*(60/1e3):this.right!==null&&t>this.right?this.horizontal=-1*this.reverse*this.options.speed*(60/1e3):(this.decelerateHorizontal(),this.horizontal=0),this.top!==null&&n<this.top?this.vertical=Number(this.reverse)*this.options.speed*(60/1e3):this.bottom!==null&&n>this.bottom?this.vertical=-1*this.reverse*this.options.speed*(60/1e3):(this.decelerateVertical(),this.vertical=0);return!1}decelerateHorizontal(){let e=this.parent.plugins.get(`decelerate`,!0);this.horizontal&&e&&!this.options.noDecelerate&&e.activate({x:this.horizontal*this.options.speed*this.reverse/(1e3/60)})}decelerateVertical(){let e=this.parent.plugins.get(`decelerate`,!0);this.vertical&&e&&!this.options.noDecelerate&&e.activate({y:this.vertical*this.options.speed*this.reverse/(1e3/60)})}up(){return this.paused||(this.horizontal&&this.decelerateHorizontal(),this.vertical&&this.decelerateVertical(),this.horizontal=this.vertical=null),!1}update(){if(!this.paused&&(this.horizontal||this.vertical)){let e=this.parent.center;this.horizontal&&(e.x+=this.horizontal*this.options.speed),this.vertical&&(e.y+=this.vertical*this.options.speed),this.parent.moveCenter(e),this.parent.emit(`moved`,{viewport:this.parent,type:`mouse-edges`})}}},$l={noDrag:!1,percent:1,center:null,factor:1,axis:`all`},eu=new t.Point,tu=class extends Fl{constructor(e,t={}){super(e),this.active=!1,this.pinching=!1,this.moved=!1,this.options=Object.assign({},$l,t)}down(){return this.parent.input.count()>=2?(this.active=!0,!0):!1}isAxisX(){return[`all`,`x`].includes(this.options.axis)}isAxisY(){return[`all`,`y`].includes(this.options.axis)}move(e){if(this.paused||!this.active)return!1;let{x:n,y:r}=(this.parent.parent||this.parent).toLocal(e.global,void 0,eu),i=this.parent.input.touches;if(i.length>=2){let a=i[0],o=i[1],s=a.last&&o.last?Math.sqrt((o.last.x-a.last.x)**2+(o.last.y-a.last.y)**2):null;if(a.id===e.pointerId?a.last={x:n,y:r,data:e}:o.id===e.pointerId&&(o.last={x:n,y:r,data:e}),s){let e,n=new t.Point(a.last.x+(o.last.x-a.last.x)/2,a.last.y+(o.last.y-a.last.y)/2);this.options.center||(e=this.parent.toLocal(n,this.parent.parent||this.parent));let r=Math.sqrt((o.last.x-a.last.x)**2+(o.last.y-a.last.y)**2);r=r===0?r=1e-10:r;let i=(1-s/r)*this.options.percent*(this.isAxisX()?this.parent.scale.x:this.parent.scale.y);this.isAxisX()&&(this.parent.scale.x+=i),this.isAxisY()&&(this.parent.scale.y+=i),this.parent.emit(`zoomed`,{viewport:this.parent,type:`pinch`,center:n});let c=this.parent.plugins.get(`clamp-zoom`,!0);if(c&&c.clamp(),this.options.center)this.parent.moveCenter(this.options.center);else{let t=(this.parent.parent||this.parent).toLocal(e,this.parent);this.parent.x+=(n.x-t.x)*this.options.factor,this.parent.y+=(n.y-t.y)*this.options.factor,this.parent.emit(`moved`,{viewport:this.parent,type:`pinch`})}!this.options.noDrag&&this.lastCenter&&(this.parent.x+=(n.x-this.lastCenter.x)*this.options.factor,this.parent.y+=(n.y-this.lastCenter.y)*this.options.factor,this.parent.emit(`moved`,{viewport:this.parent,type:`pinch`})),this.lastCenter=n,this.moved=!0}else this.pinching||=(this.parent.emit(`pinch-start`,this.parent),!0);return!0}return!1}up(){return this.pinching&&this.parent.input.touches.length<=1?(this.active=!1,this.lastCenter=null,this.pinching=!1,this.moved=!1,this.parent.emit(`pinch-end`,this.parent),!0):!1}},nu={topLeft:!1,friction:.8,time:1e3,ease:`easeInOutSine`,interrupt:!0,removeOnComplete:!1,removeOnInterrupt:!1,forceStart:!1},ru=class extends Fl{constructor(e,t,n,r={}){super(e),this.options=Object.assign({},nu,r),this.ease=jl(r.ease,`easeInOutSine`),this.x=t,this.y=n,this.options.forceStart&&this.snapStart()}snapStart(){this.percent=0,this.snapping={time:0};let e=this.options.topLeft?this.parent.corner:this.parent.center;this.deltaX=this.x-e.x,this.deltaY=this.y-e.y,this.startX=e.x,this.startY=e.y,this.parent.emit(`snap-start`,this.parent)}wheel(){return this.options.removeOnInterrupt&&this.parent.plugins.remove(`snap`),!1}down(){return this.options.removeOnInterrupt?this.parent.plugins.remove(`snap`):this.options.interrupt&&(this.snapping=null),!1}up(){if(this.parent.input.count()===0){let e=this.parent.plugins.get(`decelerate`,!0);e&&(e.x||e.y)&&(e.percentChangeX=e.percentChangeY=this.options.friction)}return!1}update(e){if(!this.paused&&!(this.options.interrupt&&this.parent.input.count()!==0))if(this.snapping){let t=this.snapping;t.time+=e;let n,r,i,a=this.startX,o=this.startY,s=this.deltaX,c=this.deltaY;if(t.time>this.options.time)n=!0,r=a+s,i=o+c;else{let e=this.ease(t.time,0,1,this.options.time);r=a+s*e,i=o+c*e}this.options.topLeft?this.parent.moveCorner(r,i):this.parent.moveCenter(r,i),this.parent.emit(`moved`,{viewport:this.parent,type:`snap`}),n&&(this.options.removeOnComplete&&this.parent.plugins.remove(`snap`),this.parent.emit(`snap-end`,this.parent),this.snapping=null)}else{let e=this.options.topLeft?this.parent.corner:this.parent.center;(e.x!==this.x||e.y!==this.y)&&this.snapStart()}}},iu={width:0,height:0,time:1e3,ease:`easeInOutSine`,center:null,interrupt:!0,removeOnComplete:!1,removeOnInterrupt:!1,forceStart:!1,noMove:!1},au=class extends Fl{constructor(e,t={}){super(e),this.options=Object.assign({},iu,t),this.ease=jl(this.options.ease),this.xIndependent=!1,this.yIndependent=!1,this.xScale=0,this.yScale=0,this.options.width>0&&(this.xScale=e.screenWidth/this.options.width,this.xIndependent=!0),this.options.height>0&&(this.yScale=e.screenHeight/this.options.height,this.yIndependent=!0),this.xScale=this.xIndependent?this.xScale:this.yScale,this.yScale=this.yIndependent?this.yScale:this.xScale,this.options.time===0?(e.container.scale.x=this.xScale,e.container.scale.y=this.yScale,this.options.removeOnComplete&&this.parent.plugins.remove(`snap-zoom`)):t.forceStart&&this.createSnapping()}createSnapping(){let e=this.parent.worldScreenWidth,t=this.parent.worldScreenHeight,n=this.parent.screenWidth/this.xScale,r=this.parent.screenHeight/this.yScale;this.snapping={time:0,startX:e,startY:t,deltaX:n-e,deltaY:r-t},this.parent.emit(`snap-zoom-start`,this.parent)}resize(){this.snapping=null,this.options.width>0&&(this.xScale=this.parent.screenWidth/this.options.width),this.options.height>0&&(this.yScale=this.parent.screenHeight/this.options.height),this.xScale=this.xIndependent?this.xScale:this.yScale,this.yScale=this.yIndependent?this.yScale:this.xScale}wheel(){return this.options.removeOnInterrupt&&this.parent.plugins.remove(`snap-zoom`),!1}down(){return this.options.removeOnInterrupt?this.parent.plugins.remove(`snap-zoom`):this.options.interrupt&&(this.snapping=null),!1}update(e){if(this.paused||this.options.interrupt&&this.parent.input.count()!==0)return;let t;if(!this.options.center&&!this.options.noMove&&(t=this.parent.center),!this.snapping)(this.parent.scale.x!==this.xScale||this.parent.scale.y!==this.yScale)&&this.createSnapping();else if(this.snapping){let n=this.snapping;if(n.time+=e,n.time>=this.options.time)this.parent.scale.set(this.xScale,this.yScale),this.options.removeOnComplete&&this.parent.plugins.remove(`snap-zoom`),this.parent.emit(`snap-zoom-end`,this.parent),this.snapping=null;else{let e=this.snapping,t=this.ease(e.time,e.startX,e.deltaX,this.options.time),n=this.ease(e.time,e.startY,e.deltaY,this.options.time);this.parent.scale.x=this.parent.screenWidth/t,this.parent.scale.y=this.parent.screenHeight/n}let r=this.parent.plugins.get(`clamp-zoom`,!0);r&&r.clamp(),this.options.noMove||(this.options.center?this.parent.moveCenter(this.options.center):this.parent.moveCenter(t))}}resume(){this.snapping=null,super.resume()}},ou={percent:.1,smooth:!1,interrupt:!0,reverse:!1,center:null,lineHeight:20,axis:`all`,keyToPress:null,trackpadPinch:!1,wheelZoom:!0},su=class extends Fl{constructor(e,t={}){super(e),this.options=Object.assign({},ou,t),this.keyIsPressed=!1,this.options.keyToPress&&this.handleKeyPresses(this.options.keyToPress)}handleKeyPresses(e){typeof window>`u`||(window.addEventListener(`keydown`,t=>{e.includes(t.code)&&(this.keyIsPressed=!0)}),window.addEventListener(`keyup`,t=>{e.includes(t.code)&&(this.keyIsPressed=!1)}))}checkKeyPress(){return!this.options.keyToPress||this.keyIsPressed}down(){return this.options.interrupt&&(this.smoothing=null),!1}isAxisX(){return[`all`,`x`].includes(this.options.axis)}isAxisY(){return[`all`,`y`].includes(this.options.axis)}update(){if(this.smoothing){let e=this.smoothingCenter,t=this.smoothing,n;this.options.center||(n=this.parent.toLocal(e)),this.isAxisX()&&(this.parent.scale.x+=t.x),this.isAxisY()&&(this.parent.scale.y+=t.y),this.parent.emit(`zoomed`,{viewport:this.parent,type:`wheel`});let r=this.parent.plugins.get(`clamp-zoom`,!0);if(r&&r.clamp(),this.options.center)this.parent.moveCenter(this.options.center);else{let t=this.parent.parent||this.parent;t.toLocal(n,this.parent,n);let r=t.toLocal(e);this.parent.x+=r.x-n.x,this.parent.y+=r.y-n.y}this.parent.emit(`moved`,{viewport:this.parent,type:`wheel`}),this.smoothingCount++,typeof this.options.smooth==`number`&&this.smoothingCount>=this.options.smooth&&(this.smoothing=null)}}pinch(e){if(this.paused)return;let t=this.parent.input.getPointerPosition(e),n=-e.deltaY*(e.deltaMode?this.options.lineHeight:1)/200,r=2**((1+this.options.percent)*n),i;this.options.center||(i=this.parent.toLocal(t)),this.isAxisX()&&(this.parent.scale.x*=r),this.isAxisY()&&(this.parent.scale.y*=r),this.parent.emit(`zoomed`,{viewport:this.parent,type:`wheel`});let a=this.parent.plugins.get(`clamp-zoom`,!0);if(a&&a.clamp(),this.options.center)this.parent.moveCenter(this.options.center);else{let e=this.parent.parent||this.parent;e.toLocal(i,this.parent,i);let n=e.toLocal(t);this.parent.x+=n.x-i.x,this.parent.y+=n.y-i.y}this.parent.emit(`moved`,{viewport:this.parent,type:`wheel`}),this.parent.emit(`wheel-start`,{event:e,viewport:this.parent})}wheel(e){if(this.paused||!this.checkKeyPress())return!1;if(e.ctrlKey&&this.options.trackpadPinch)this.pinch(e);else if(this.options.wheelZoom){let t=this.parent.input.getPointerPosition(e),n=(this.options.reverse?-1:1)*-e.deltaY*(e.deltaMode?this.options.lineHeight:1)/500,r=2**((1+this.options.percent)*n);if(this.options.smooth){let e={x:this.smoothing?this.smoothing.x*(this.options.smooth-this.smoothingCount):0,y:this.smoothing?this.smoothing.y*(this.options.smooth-this.smoothingCount):0};this.smoothing={x:((this.parent.scale.x+e.x)*r-this.parent.scale.x)/this.options.smooth,y:((this.parent.scale.y+e.y)*r-this.parent.scale.y)/this.options.smooth},this.smoothingCount=0,this.smoothingCenter=t}else{let e;this.options.center||(e=this.parent.toLocal(t)),this.isAxisX()&&(this.parent.scale.x*=r),this.isAxisY()&&(this.parent.scale.y*=r),this.parent.emit(`zoomed`,{viewport:this.parent,type:`wheel`});let n=this.parent.plugins.get(`clamp-zoom`,!0);if(n&&n.clamp(),this.options.center)this.parent.moveCenter(this.options.center);else{let n=this.parent.parent||this.parent;n.toLocal(e,this.parent,e);let r=n.toLocal(t);this.parent.x+=r.x-e.x,this.parent.y+=r.y-e.y}}this.parent.emit(`moved`,{viewport:this.parent,type:`wheel`}),this.parent.emit(`wheel-start`,{event:e,viewport:this.parent})}return!this.parent.options.passiveWheel}},cu={screenWidth:typeof window>`u`?0:window.innerWidth,screenHeight:typeof window>`u`?0:window.innerHeight,worldWidth:null,worldHeight:null,threshold:5,passiveWheel:!0,stopPropagation:!1,forceHitArea:null,noTicker:!1,disableOnContextMenu:!1,ticker:t.Ticker.shared,allowPreserveDragOutside:!1},lu=class extends t.Container{constructor(e){super(),this._disableOnContextMenu=e=>e.preventDefault(),this.options={...cu,...e},this.screenWidth=this.options.screenWidth,this.screenHeight=this.options.screenHeight,this._worldWidth=this.options.worldWidth,this._worldHeight=this.options.worldHeight,this.forceHitArea=this.options.forceHitArea,this.threshold=this.options.threshold,this.options.disableOnContextMenu&&this.options.events.domElement.addEventListener(`contextmenu`,this._disableOnContextMenu),this.options.noTicker||(this.tickerFunction=()=>this.update(this.options.ticker.elapsedMS),this.options.ticker.add(this.tickerFunction)),this.input=new Ml(this),this.plugins=new Pl(this)}destroy(e){var t;!this.options.noTicker&&this.tickerFunction&&this.options.ticker.remove(this.tickerFunction),this.options.disableOnContextMenu&&((t=this.options.events.domElement)==null||t.removeEventListener(`contextmenu`,this._disableOnContextMenu)),this.input.destroy(),super.destroy(e)}update(e){this.pause||(this.plugins.update(e),this.lastViewport&&(this.lastViewport.x!==this.x||this.lastViewport.y!==this.y?this.moving=!0:this.moving&&=(this.emit(`moved-end`,this),!1),this.lastViewport.scaleX!==this.scale.x||this.lastViewport.scaleY!==this.scale.y?this.zooming=!0:this.zooming&&=(this.emit(`zoomed-end`,this),!1)),this.forceHitArea||(this._hitAreaDefault=new t.Rectangle(this.left,this.top,this.worldScreenWidth,this.worldScreenHeight),this.hitArea=this._hitAreaDefault),this._dirty=this._dirty||!this.lastViewport||this.lastViewport.x!==this.x||this.lastViewport.y!==this.y||this.lastViewport.scaleX!==this.scale.x||this.lastViewport.scaleY!==this.scale.y,this.lastViewport={x:this.x,y:this.y,scaleX:this.scale.x,scaleY:this.scale.y},this.emit(`frame-end`,this))}resize(e=typeof window>`u`?0:window.innerWidth,t=typeof window>`u`?0:window.innerHeight,n,r){this.screenWidth=e,this.screenHeight=t,typeof n<`u`&&(this._worldWidth=n),typeof r<`u`&&(this._worldHeight=r),this.plugins.resize(),this.dirty=!0}get worldWidth(){return this._worldWidth?this._worldWidth:this.width/this.scale.x}set worldWidth(e){this._worldWidth=e,this.plugins.resize()}get worldHeight(){return this._worldHeight?this._worldHeight:this.height/this.scale.y}set worldHeight(e){this._worldHeight=e,this.plugins.resize()}getVisibleBounds(){return new t.Rectangle(this.left,this.top,this.worldScreenWidth,this.worldScreenHeight)}toWorld(e,n){return arguments.length===2?this.toLocal(new t.Point(e,n)):this.toLocal(e)}toScreen(e,n){return arguments.length===2?this.toGlobal(new t.Point(e,n)):this.toGlobal(e)}get worldScreenWidth(){return this.screenWidth/this.scale.x}get worldScreenHeight(){return this.screenHeight/this.scale.y}get screenWorldWidth(){return this.worldWidth*this.scale.x}get screenWorldHeight(){return this.worldHeight*this.scale.y}get center(){return new t.Point(this.worldScreenWidth/2-this.x/this.scale.x,this.worldScreenHeight/2-this.y/this.scale.y)}set center(e){this.moveCenter(e)}moveCenter(...e){let t,n;typeof e[0]==`number`?(t=e[0],n=e[1]):(t=e[0].x,n=e[0].y);let r=(this.worldScreenWidth/2-t)*this.scale.x,i=(this.worldScreenHeight/2-n)*this.scale.y;return(this.x!==r||this.y!==i)&&(this.position.set(r,i),this.plugins.reset(),this.dirty=!0),this}get corner(){return new t.Point(-this.x/this.scale.x,-this.y/this.scale.y)}set corner(e){this.moveCorner(e)}moveCorner(...e){let t,n;return e.length===1?(t=-e[0].x*this.scale.x,n=-e[0].y*this.scale.y):(t=-e[0]*this.scale.x,n=-e[1]*this.scale.y),(t!==this.x||n!==this.y)&&(this.position.set(t,n),this.plugins.reset(),this.dirty=!0),this}get screenWidthInWorldPixels(){return this.screenWidth/this.scale.x}get screenHeightInWorldPixels(){return this.screenHeight/this.scale.y}findFitWidth(e){return this.screenWidth/e}findFitHeight(e){return this.screenHeight/e}findFit(e,t){let n=this.screenWidth/e,r=this.screenHeight/t;return Math.min(n,r)}findCover(e,t){let n=this.screenWidth/e,r=this.screenHeight/t;return Math.max(n,r)}fitWidth(e=this.worldWidth,t,n=!0,r){let i;t&&(i=this.center),this.scale.x=this.screenWidth/e,n&&(this.scale.y=this.scale.x);let a=this.plugins.get(`clamp-zoom`,!0);return!r&&a&&a.clamp(),t&&i&&this.moveCenter(i),this}fitHeight(e=this.worldHeight,t,n=!0,r){let i;t&&(i=this.center),this.scale.y=this.screenHeight/e,n&&(this.scale.x=this.scale.y);let a=this.plugins.get(`clamp-zoom`,!0);return!r&&a&&a.clamp(),t&&i&&this.moveCenter(i),this}fitWorld(e){let t;e&&(t=this.center),this.scale.x=this.screenWidth/this.worldWidth,this.scale.y=this.screenHeight/this.worldHeight,this.scale.x<this.scale.y?this.scale.y=this.scale.x:this.scale.x=this.scale.y;let n=this.plugins.get(`clamp-zoom`,!0);return n&&n.clamp(),e&&t&&this.moveCenter(t),this}fit(e,t=this.worldWidth,n=this.worldHeight){let r;e&&(r=this.center),this.scale.x=this.screenWidth/t,this.scale.y=this.screenHeight/n,this.scale.x<this.scale.y?this.scale.y=this.scale.x:this.scale.x=this.scale.y;let i=this.plugins.get(`clamp-zoom`,!0);return i&&i.clamp(),e&&r&&this.moveCenter(r),this}setZoom(e,t){let n;t&&(n=this.center),this.scale.set(e);let r=this.plugins.get(`clamp-zoom`,!0);return r&&r.clamp(),t&&n&&this.moveCenter(n),this}zoomPercent(e,t){return this.setZoom(this.scale.x+this.scale.x*e,t)}zoom(e,t){return this.fitWidth(e+this.worldScreenWidth,t),this}get scaled(){return this.scale.x}set scaled(e){this.setZoom(e,!0)}snapZoom(e){return this.plugins.add(`snap-zoom`,new au(this,e)),this}OOB(){return{left:this.left<0,right:this.right>this.worldWidth,top:this.top<0,bottom:this.bottom>this.worldHeight,cornerPoint:new t.Point(this.worldWidth*this.scale.x-this.screenWidth,this.worldHeight*this.scale.y-this.screenHeight)}}get right(){return-this.x/this.scale.x+this.worldScreenWidth}set right(e){this.x=-e*this.scale.x+this.screenWidth,this.plugins.reset()}get left(){return-this.x/this.scale.x}set left(e){this.x=-e*this.scale.x,this.plugins.reset()}get top(){return-this.y/this.scale.y}set top(e){this.y=-e*this.scale.y,this.plugins.reset()}get bottom(){return-this.y/this.scale.y+this.worldScreenHeight}set bottom(e){this.y=-e*this.scale.y+this.screenHeight,this.plugins.reset()}get dirty(){return!!this._dirty}set dirty(e){this._dirty=e}get forceHitArea(){return this._forceHitArea}set forceHitArea(e){e?(this._forceHitArea=e,this.hitArea=e):(this._forceHitArea=null,this.hitArea=new t.Rectangle(0,0,this.worldWidth,this.worldHeight))}drag(e){return this.plugins.add(`drag`,new Jl(this,e)),this}clamp(e){return this.plugins.add(`clamp`,new Vl(this,e)),this}decelerate(e){return this.plugins.add(`decelerate`,new Kl(this,e)),this}bounce(e){return this.plugins.add(`bounce`,new zl(this,e)),this}pinch(e){return this.plugins.add(`pinch`,new tu(this,e)),this}snap(e,t,n){return this.plugins.add(`snap`,new ru(this,e,t,n)),this}follow(e,t){return this.plugins.add(`follow`,new Xl(this,e,t)),this}wheel(e){return this.plugins.add(`wheel`,new su(this,e)),this}animate(e){return this.plugins.add(`animate`,new Ll(this,e)),this}clampZoom(e){return this.plugins.add(`clamp-zoom`,new Ul(this,e)),this}mouseEdges(e){return this.plugins.add(`mouse-edges`,new Ql(this,e)),this}get pause(){return!!this._pause}set pause(e){this._pause=e,this.lastViewport=null,this.moving=!1,this.zooming=!1,e&&this.input.pause()}ensureVisible(e,t,n,r,i){i&&(n>this.worldScreenWidth||r>this.worldScreenHeight)&&(this.fit(!0,n,r),this.emit(`zoomed`,{viewport:this,type:`ensureVisible`}));let a=!1;e<this.left?(this.left=e,a=!0):e+n>this.right&&(this.right=e+n,a=!0),t<this.top?(this.top=t,a=!0):t+r>this.bottom&&(this.bottom=t+r,a=!0),a&&this.emit(`moved`,{viewport:this,type:`ensureVisible`})}},uu=[`bounce-x-end`,`bounce-x-start`,`bounce-y-end`,`bounce-y-start`,`clicked`,`drag-end`,`drag-start`,`frame-end`,`mouse-edge-end`,`mouse-edge-start`,`moved`,`moved-end`,`pinch-end`,`pinch-start`,`snap-end`,`snap-start`,`snap-zoom-end`,`snap-zoom-start`,`wheel-scroll`,`zoomed`,`zoomed-end`];H(`Viewport`,class extends Ra(t.Container){#e;constructor(){super(),this.overrideProps=[`wheel`];let e={noTicker:!0,events:{domElement:{addEventListener:()=>{}}}};this.viewport=new lu(e),super.addChild(this.viewport),this.#e=new t.Graphics,super.addChild(this.#e),this.mask=this.#e}addChild(...e){return this.viewport.addChild(...e)}addChildAt(e,t){return this.viewport.addChildAt(e,t)}onInit(e){super.onInit(e);for(let t of uu)e[t]&&this.viewport.on(t,e[t])}async onMount(e,t){e.props.context.viewport=this.viewport,await super.onMount(e,t);let{props:n}=e,{tick:r,app:i,canvasSize:a}=n.context;V(()=>{n.screenWidth===void 0&&(this.viewport.screenWidth=a().width),n.screenHeight===void 0&&(this.viewport.screenHeight=a().height),this.updateMask()}),V(()=>{let e=i();if(!e)return;let t=e.renderer;t.events.domElement.addEventListener(`wheel`,this.viewport.input.wheelFunction),this.viewport.options.events=t.events}),this.tickSubscription=r.observable.subscribe(({value:e})=>{this.viewport.update(e.deltaTime)}),this.updateViewportSettings(n)}onUpdate(e){super.onUpdate(e),this.updateViewportSettings(e)}updateViewportSettings(e){e.screenWidth!==void 0&&(this.viewport.screenWidth=e.screenWidth),e.screenHeight!==void 0&&(this.viewport.screenHeight=e.screenHeight),this.updateMask(),e.worldWidth!==void 0&&(this.viewport.worldWidth=e.worldWidth),e.worldHeight!==void 0&&(this.viewport.worldHeight=e.worldHeight),e.sortableChildren!==void 0&&(this.viewport.sortableChildren=e.sortableChildren),e.drag&&this.viewport.drag(e.drag),e.clamp&&this.viewport.clamp(e.clamp.value??e.clamp),e.wheel&&(e.wheel===!0?this.viewport.wheel():this.viewport.wheel(e.wheel)),e.decelerate&&(e.decelerate===!0?this.viewport.decelerate():this.viewport.decelerate(e.decelerate)),e.pinch&&(e.pinch===!0?this.viewport.pinch():this.viewport.pinch(e.pinch))}updateMask(){this.#e&&(this.#e.clear(),this.#e.beginFill(16777215),this.#e.drawRect(0,0,this.viewport.screenWidth,this.viewport.screenHeight),this.#e.endFill())}async onDestroy(e,t){await super.onDestroy(e,async()=>{this.tickSubscription.unsubscribe(),t()})}follow(...e){return this.viewport.follow(...e)}get plugins(){return this.viewport.plugins}});function du(e){return W(`Viewport`,e)}H(`NineSliceSprite`,class extends Ra(t.NineSliceSprite){constructor(){super({width:0,height:0})}async onUpdate(e){for(let[n,r]of Object.entries(e))r!==void 0&&(n===`image`?this.texture=await t.Assets.load(r):n in this&&(this[n]=r))}});function fu(e){return W(`NineSliceSprite`,e)}var pu=`click.mouseover.mouseout.mouseenter.mouseleave.mousemove.mouseup.mousedown.touchstart.touchend.touchmove.touchcancel.wheel.scroll.resize.focus.blur.change.input.submit.reset.keydown.keyup.keypress.contextmenu.drag.dragend.dragenter.dragleave.dragover.drop.dragstart.select.selectstart.selectend.selectall.selectnone`.split(`.`),mu=class{constructor(){this.eventListeners=new Map,this.onBeforeDestroy=null,this.valueSignal=null,this.isFormElementType=!1,this.classSubscriptions=[],this.childTextSubscriptions=[]}isFormElement(e){return[`input`,`textarea`,`select`].includes(e.toLowerCase())}collectClassTokens(e,t){if(e){if(z(e)){this.collectClassTokens(e(),t);return}if(typeof e==`string`){e.split(/\s+/).filter(Boolean).forEach(e=>t.push(e));return}if(Array.isArray(e)){e.forEach(e=>this.collectClassTokens(e,t));return}if(typeof e==`object`)for(let[n,r]of Object.entries(e))(z(r)?r():r)&&t.push(n)}}collectClassSignals(e,t){if(e){if(z(e)){t.add(e);return}if(Array.isArray(e)){e.forEach(e=>this.collectClassSignals(e,t));return}typeof e==`object`&&Object.values(e).forEach(e=>this.collectClassSignals(e,t))}}applyClassList(e){if(this.element.className=``,typeof e==`string`){this.element.className=e;return}let t=[];this.collectClassTokens(e,t),t.length>0&&this.element.classList.add(...t)}syncClassSubscriptions(e){for(let e of this.classSubscriptions)e.unsubscribe();this.classSubscriptions=[];let t=new Set;this.collectClassSignals(e,t),t.size!==0&&t.forEach(t=>{if(!t?.observable?.subscribe)return;let n=t.observable.subscribe(()=>{this.applyClassList(e)});this.classSubscriptions.push(n)})}appendChildElement(e){if(e==null||e===!1)return;if(typeof e==`string`||typeof e==`number`){this.element.appendChild(document.createTextNode(String(e)));return}if(z(e)){let t=document.createTextNode(e()==null?``:String(e()));if(this.element.appendChild(t),e.observable?.subscribe){let n=e.observable.subscribe(e=>{t.textContent=e==null?``:String(e)});this.childTextSubscriptions.push(n)}return}if(Kt(e)){e.subscribe(e=>{e&&typeof e==`object`&&`elements`in e?(e.elements||[]).forEach(e=>this.appendChildElement(e)):Array.isArray(e)?e.forEach(e=>this.appendChildElement(e)):this.appendChildElement(e)});return}if(Array.isArray(e)){e.forEach(e=>this.appendChildElement(e));return}let t=e?.componentInstance?.element;if(t){this.element.appendChild(t);return}let n=e?.props?.children;n&&this.appendChildElement(n)}onInit(e){if(typeof e.element==`string`)this.element=document.createElement(e.element),this.isFormElementType=this.isFormElement(e.element);else{if(this.element=e.element?.value,!this.element)throw Error(`DOMElement requires a valid element.`);this.isFormElementType=this.isFormElement(this.element.tagName)}(e.onBeforeDestroy||e[`on-before-destroy`])&&(this.onBeforeDestroy=e.onBeforeDestroy||e[`on-before-destroy`]);for(let t of pu)if(e.attrs?.[t]){let n=n=>{if(t===`submit`&&this.element.tagName.toLowerCase()===`form`){n.preventDefault();let r=new FormData(this.element),i={};r.forEach((e,t)=>{i[t]?Array.isArray(i[t])?i[t].push(e):i[t]=[i[t],e]:i[t]=e}),e.attrs[t]?.(n,i)}else e.attrs[t]?.(n)};this.eventListeners.set(t,n),this.element.addEventListener(t,n,!1)}e.children&&this.appendChildElement(e.children),this.onUpdate(e)}onMount(e){let t=e.propObservables.attrs;if(this.isFormElementType&&t?.value&&z(t.value)){this.valueSignal=t.value,this.element.value=this.valueSignal();let e=e=>{let t=e.target;this.valueSignal.set(t.value)};this.eventListeners.set(`input`,e),this.element.addEventListener(`input`,e,!1)}}onUpdate(e){if(this.element){for(let[t,n]of Object.entries(e.attrs||{}))if(t===`tabindex`){let e=z(n)?n():n;e==null?this.element.removeAttribute(`tabindex`):this.element.setAttribute(`tabindex`,String(e))}else if(t===`class`){let e=n.items||n.value||n,t=z(e)?e():e;this.applyClassList(t),this.syncClassSubscriptions(t)}else if(t===`style`){let e=n.items||n.value||n;if(typeof e==`string`)this.element.setAttribute(`style`,e);else if(typeof e==`object`&&e)for(let[t,n]of Object.entries(e))n!=null&&(this.element.style[t]=n)}else if(t===`value`&&this.isFormElementType)if(z(n)){let e=this.element.value,t=n();e!==t&&(this.element.value=t)}else this.element.value=n;else pu.includes(t)||this.element.setAttribute(t,n);if(`textContent`in e){let t=e.textContent;this.element.textContent=t==null?``:String(t)}}}async onDestroy(e,t){if(this.element){this.onBeforeDestroy&&await this.onBeforeDestroy();for(let[e,t]of this.eventListeners)this.element.removeEventListener(e,t,!1);this.eventListeners.clear();for(let e of this.classSubscriptions)e.unsubscribe();this.classSubscriptions=[];for(let e of this.childTextSubscriptions)e.unsubscribe();this.childTextSubscriptions=[],this.element.remove(),t&&t()}}};H(`DOMElement`,mu);var hu=e=>W(`DOMElement`,e);H(`DOMContainer`,class e extends Ra(t.DOMContainer){constructor(...e){super(...e),this.disableLayout=!0,this.canvasSizeEffect=null}static{this.DOM_ROUTING_MAP={Sprite:`DOMSprite`}}static{this.DOM_ALLOWED_TAGS=new Set([`DOMContainer`,`DOMElement`,`DOMSprite`])}static{this.DOM_UNSUPPORTED_TAGS=new Set([`Canvas`,`Container`,`Graphics`,`Rect`,`Circle`,`Ellipse`,`Triangle`,`Svg`,`Mesh`,`Scene`,`ParticlesEmitter`,`Sprite`,`Video`,`Text`,`TilingSprite`,`Viewport`,`NineSliceSprite`,`Button`,`Joystick`,`FocusContainer`])}hasDomContainerAncestor(){let e=this.getElement()?.parent;for(;e;){if(e.tag===`DOMContainer`)return!0;e=e.parent}return!1}getPercentRatio(e){let t=parseFloat(e);return Number.isNaN(t)?null:t/100}getCanvasSize(){let e=this.fullProps?.context?.canvasSize;return typeof e==`function`?e():e}shouldUseCanvasPercent(){let e=this.fullProps?.width,t=this.fullProps?.height;return!Ia(e)&&!Ia(t)?!1:!this.hasDomContainerAncestor()}syncCanvasSizeEffect(){let e=this.shouldUseCanvasPercent();if(e&&!this.canvasSizeEffect){let e=this.fullProps?.context?.canvasSize;typeof e==`function`&&(this.canvasSizeEffect=V(()=>{e(),this.applyElementSize()}))}else !e&&this.canvasSizeEffect&&(this.canvasSizeEffect.subscription?.unsubscribe(),this.canvasSizeEffect=null)}applyElementSize(){if(!this.element)return;let e=this.fullProps?.width,t=this.fullProps?.height,n=this.shouldUseCanvasPercent(),r=n?this.getCanvasSize():null;if(e!==void 0)if(Ia(e))if(n){let t=this.getPercentRatio(e);if(t!==null){let e=r?.width===void 0?this.getWidth():r.width;this.element.style.width=`${e*t}px`}}else this.element.style.width=e;else typeof e==`number`?this.element.style.width=`${e}px`:typeof e==`string`&&(this.element.style.width=e);if(t!==void 0)if(Ia(t))if(n){let e=this.getPercentRatio(t);if(e!==null){let t=r?.height===void 0?this.getHeight():r.height;this.element.style.height=`${t*e}px`}}else this.element.style.height=t;else typeof t==`number`?this.element.style.height=`${t}px`:typeof t==`string`&&(this.element.style.height=t)}routeDomChildren(t){if(!t)return t;if(Array.isArray(t))return t.map(e=>this.routeDomChildren(e));if($i(t)){if(e.DOM_ALLOWED_TAGS.has(t.tag))return t;let n=e.DOM_ROUTING_MAP[t.tag];if(n)return t.propSubscriptions?.forEach(e=>e.unsubscribe()),t.effectSubscriptions?.forEach(e=>e.unsubscribe()),t.effectUnmounts?.forEach(e=>e?.()),W(n,t.propObservables??t.props);if(e.DOM_UNSUPPORTED_TAGS.has(t.tag))throw Error(`Component ${t.tag} is not implemented for DOMContainer context yet. Only Sprite is supported.`);return t.props?.children&&(t.props.children=this.routeDomChildren(t.props.children)),t}return t}onInit(e){let t=e._scopeClass,n={element:`div`},r={...e.attrs||{}},i=e=>{if(!t)return e;if(e==null)return t;if(typeof e==`string`)return`${t} ${e}`;if(Array.isArray(e))return[t,...e];if(typeof e==`object`){if(`items`in e){let n=e.items;return{...e,items:[t,n]}}if(`value`in e){let n=e.value;return{...e,value:[t,n]}}return{[t]:!0,...e}}return[t,e]};e.class!==void 0&&(r.class?r.class=[e.class,r.class]:r.class=e.class),e.style!==void 0&&(typeof r.style==`object`&&r.style!==null&&typeof e.style==`object`&&e.style!==null?r.style={...r.style,...e.style}:r.style===void 0?r.style=e.style:typeof r.style==`string`&&typeof e.style==`string`?r.style=`${r.style}; ${e.style}`:r.style=e.style),e.zIndex!==void 0&&(typeof r.style==`object`&&r.style!==null?r.style={...r.style,zIndex:e.zIndex}:typeof r.style==`string`?r.style=`${r.style}; z-index: ${e.zIndex}`:r.style={zIndex:e.zIndex}),t?(n.attrs={...r},n.attrs.class=i(n.attrs.class)):Object.keys(r).length>0&&(n.attrs=r);let a=this.routeDomChildren(e.children);e.children=a;let o=G(hu,n,a);this.element=o.componentInstance.element}async onMount(e,t){await super.onMount(e,t),this.syncCanvasSizeEffect(),this.applyElementSize()}onUpdate(e){super.onUpdate(e),this.syncCanvasSizeEffect(),this.applyElementSize()}onLayoutComputed(){this.applyElementSize()}async onDestroy(e,t){await super.onDestroy(e,()=>{this.canvasSizeEffect&&=(this.canvasSizeEffect.subscription?.unsubscribe(),null),t&&t()})}});var gu=e=>W(`DOMContainer`,e),_u=`click.mouseover.mouseout.mouseenter.mouseleave.mousemove.mouseup.mousedown.touchstart.touchend.touchmove.touchcancel.wheel.scroll.resize.focus.blur.change.input.submit.reset.keydown.keyup.keypress.contextmenu.drag.dragend.dragenter.dragleave.dragover.drop.dragstart.select.selectstart.selectend.selectall.selectnone`.split(`.`);H(`DOMSprite`,class extends mu{constructor(...e){super(...e),this.frameIndex=0,this.frames=[],this.fps=120,this.loop=!0,this.playing=!0,this.hasExternalFrameIndex=!1,this.elapsed=0,this.sheetSubscriptions=[],this.sheetAnimations=new Map,this.sheetParams={},this.sheetTime=0,this.sheetFrameIndex=0,this.sheetFinished=!1,this.sheetLoadToken=0,this.renderElementType=`div`,this.wrapperElementType=`div`,this.isAnimating=!1,this.frameWidth=0,this.frameHeight=0,this.isContained=!1}onInit(e){let t=e,n=t.sheet===void 0&&t.image?`img`:`div`;this.renderElementType=t.element??n;let r=this.resolveValue(t.objectFit);this.fitMode=r??void 0,this.wrapperElementType=this.fitMode===`contain`&&this.renderElementType===`img`?`div`:this.renderElementType;let i=this.mergeEventAttrs({...t,element:this.wrapperElementType});this.tickSignal=i.context?.tick,this.applyProps(i),super.onInit(i),this.syncRenderElement(),this.applyDisplayProps(i),this.render(),this.updateAnimationLoop()}onMount(e){this.tickSignal=e.props.context?.tick,super.onMount(e),this.bindPlayingSignal(e),this.bindSheetParams(e),this.updateAnimationLoop()}onUpdate(e){let t=this.mergeEventAttrs(e);super.onUpdate(t),this.applyProps(t),this.syncRenderElement(),this.applyDisplayProps(t),this.render(),this.updateAnimationLoop()}async onDestroy(e,t){this.playingSubscription&&=(this.playingSubscription.unsubscribe(),void 0),this.sheetSubscriptions.length>0&&(this.sheetSubscriptions.forEach(e=>e.unsubscribe()),this.sheetSubscriptions=[]),this.stopAnimationLoop(),await super.onDestroy(e,t)}resolveRectangle(e){if(!e)return;let t=z(e)?e():e;if(!t)return;let n=t.value??t;if(n)return n}resolveSheetDefinition(e){if(!e)return;let t=z(e)?e():e;if(t)return t.value??t}async detectImageDimensions(e){return!Lt()||!e?{width:0,height:0}:new Promise((t,n)=>{let r=new Image;r.onload=()=>t({width:r.naturalWidth,height:r.naturalHeight}),r.onerror=()=>n(Error(`Failed to load image: ${e}`)),r.src=e})}async createSheetAnimations(e){this.sheetAnimations.clear();let{textures:t}=e;if(!t)return;let n=[`width`,`height`,`framesHeight`,`framesWidth`,`rectWidth`,`rectHeight`,`offset`];for(let r in t){let i={...n.reduce((t,n)=>({...t,[n]:e[n]}),{}),...t[r],spriteWidth:0,spriteHeight:0};i.image=t[r].image??e.image;let{rectWidth:a,rectHeight:o,framesWidth:s=1,framesHeight:c=1,image:l}=i,u=i.width||0,d=i.height||0;if(l&&(!u||u<=0||!d||d<=0)){let e=await this.detectImageDimensions(l);(!u||u<=0)&&(u=e.width),(!d||d<=0)&&(d=e.height)}!u||!d||!s||!c||(i.width=u,i.height=d,i.spriteWidth=a||u/s,i.spriteHeight=o||d/c,this.sheetAnimations.set(r,{frames:[],name:r,animations:t[r].animations,params:[],data:i}))}}async setSheetDefinition(e){let t=++this.sheetLoadToken;if(!e){this.sheetDefinition=void 0,this.sheetAnimations.clear(),this.sheetCurrentAnimation=void 0,this.sheetCurrentName=void 0;return}let n=await e;if(t!==this.sheetLoadToken)return;if(!n){this.sheetDefinition=void 0,this.sheetAnimations.clear(),this.sheetCurrentAnimation=void 0,this.sheetCurrentName=void 0;return}this.sheetDefinition=n,n.image&&(this.image=n.image),await this.createSheetAnimations(n);let r=n.textures?Object.keys(n.textures):[],i=this.sheetCurrentName||(r.includes(`stand`)?`stand`:r[0])||void 0;i&&this.playSheet(i,[this.sheetParams]),this.render(),this.updateAnimationLoop()}playSheet(e,t=[]){let n=this.sheetCurrentAnimation?.params;if(this.sheetCurrentAnimation&&this.sheetCurrentAnimation.name===e&&Vt(t,n||[]))return;let r=this.sheetAnimations.get(e);if(!r)throw Error(`Impossible to play the ${e} animation because it doesn't exist on the spritesheet`);let i=structuredClone(t),a=r.animations;a=Wt(a)?a(...i):a,r.frames=[],r.params=i,this.sheetCurrentAnimation=r,this.sheetCurrentName=e,this.sheetTime=0,this.sheetFrameIndex=0,this.sheetFinished=!1;let o=r.data,s=o.spriteWidth,c=o.spriteHeight,l=o.offset?.x??0,u=o.offset?.y??0;for(let e of a)for(let t of e){let e=t.frameX??0,n=t.frameY??0;r.frames.push({...t,x:e*s+l,y:n*c+u,width:s,height:c})}this.render(),this.updateAnimationLoop()}getCurrentSheetFrame(){return!this.sheetCurrentAnimation||this.sheetCurrentAnimation.frames.length===0?null:this.sheetCurrentAnimation.frames[this.sheetFrameIndex]??null}advanceSheet(e){if(!this.playing||!this.sheetCurrentAnimation)return;let t=this.sheetCurrentAnimation.frames;if(t.length<=1)return;let n=this.fps>0?this.fps:60,r=0;e.deltaTime?r=e.deltaTime/zt(n):typeof e.deltaRatio==`number`&&(r=e.deltaRatio*(n/60));let i=t[this.sheetFrameIndex+1];if(!i){if(this.loop){this.sheetTime=0,this.sheetFrameIndex=0,this.applyFrame(t[0]);return}else this.sheetFinished||(this.sheetFinished=!0,this.sheetOnFinish&&this.sheetOnFinish());this.applyFrame(t[t.length-1]);return}this.sheetTime+=r||0,this.sheetTime>=i.time&&(this.sheetFrameIndex+=1),this.applyFrame(t[this.sheetFrameIndex])}mergeEventAttrs(e){let t=e.attrs?{...e.attrs}:void 0;for(let n of _u){let r=e[n];r&&!t?.[n]&&(t||={},t[n]=r)}return e.class!==void 0&&(t||={},t.class?t.class=[e.class,t.class]:t.class=e.class),e.style!==void 0&&(t||={},typeof t.style==`object`&&t.style!==null&&typeof e.style==`object`&&e.style!==null?t.style={...t.style,...e.style}:t.style===void 0?t.style=e.style:typeof t.style==`string`&&typeof e.style==`string`?t.style=`${t.style}; ${e.style}`:t.style=e.style),t?{...e,attrs:t}:e}applyProps(e){if(e.image!==void 0&&(this.image=z(e.image)?e.image():e.image),e.rectangle!==void 0&&(this.rectangle=this.resolveRectangle(e.rectangle)),e.frames!==void 0){let t=z(e.frames)?e.frames():e.frames;this.frames=t??[]}if(e.sheet!==void 0){let t=z(e.sheet)?e.sheet():e.sheet;if(t?.definition!==void 0){let e=this.resolveSheetDefinition(t.definition);(e instanceof Promise||e&&e!==this.sheetDefinition)&&this.setSheetDefinition(e)}t?.params!==void 0&&(this.sheetParams={...this.sheetParams,...t.params}),t?.playing!==void 0&&(this.sheetCurrentName=t.playing),t?.onFinish!==void 0&&(this.sheetOnFinish=t.onFinish),this.sheetAnimations.size>0&&this.sheetCurrentName&&this.playSheet(this.sheetCurrentName,[this.sheetParams])}if(e.frameIndex!==void 0){let t=z(e.frameIndex),n=t?e.frameIndex():e.frameIndex;n!==void 0&&(this.frameIndex=n),this.hasExternalFrameIndex=t}if(e.fps!==void 0){let t=z(e.fps)?e.fps():e.fps;t!==void 0&&(this.fps=t)}if(e.playing!==void 0){let t=z(e.playing)?e.playing():e.playing;this.playing=t===!0,this.playing||(this.elapsed=0)}if(e.loop!==void 0){let t=z(e.loop)?e.loop():e.loop;t!==void 0&&(this.loop=t)}if(e.objectFit!==void 0){let t=this.resolveValue(e.objectFit);this.fitMode=t??void 0}}resolveValue(e){if(e===void 0)return;let t=z(e)?e():e;return t&&typeof t==`object`&&`value`in t?t.value:t}resolvePoint(e){let t=this.resolveValue(e);if(t!=null){if(typeof t==`number`)return{x:t,y:t};if(Array.isArray(t)){let[e,n]=t;return{x:e??0,y:n??e??0}}if(typeof t==`object`)return{x:t.x??0,y:t.y??0}}}resolveSize(e){let t=this.resolveValue(e);if(t!=null){if(typeof t==`number`)return`${t}px`;if(typeof t==`string`)return t}}resolvePixelSize(e){if(e){if(e.endsWith(`px`)){let t=parseFloat(e);return Number.isNaN(t)?void 0:t}if(/^\d+(\.\d+)?$/.test(e)){let t=parseFloat(e);return Number.isNaN(t)?void 0:t}}}toCssColor(e){return`#${Math.max(0,Math.min(16777215,e)).toString(16).padStart(6,`0`)}`}applyDisplayProps(e){if(!this.element)return;if(e.width===void 0?this.explicitWidth=void 0:this.explicitWidth=this.resolveSize(e.width),e.height===void 0?this.explicitHeight=void 0:this.explicitHeight=this.resolveSize(e.height),this.explicitWidth!==void 0&&(this.element.style.width=this.explicitWidth),this.explicitHeight!==void 0&&(this.element.style.height=this.explicitHeight),e.alpha!==void 0){let t=this.resolveValue(e.alpha);t!==void 0&&(this.element.style.opacity=String(t))}if(e.visible!==void 0){let t=this.resolveValue(e.visible);this.element.style.display=t===!1?`none`:``}if(e.zIndex!==void 0){let t=this.resolveValue(e.zIndex);t!==void 0&&(this.element.style.zIndex=String(t))}if(e.cursor!==void 0){let t=this.resolveValue(e.cursor);t!==void 0&&(this.element.style.cursor=String(t))}if(e.tint!==void 0){let t=this.resolveValue(e.tint);typeof t==`number`&&(this.element.style.filter=`drop-shadow(0 0 0 ${this.toCssColor(t)})`)}if([e.x,e.y,e.scale,e.rotation,e.angle,e.skew,e.roundPixels].some(e=>e!==void 0)){let t=this.resolveValue(e.x)??0,n=this.resolveValue(e.y)??0;this.resolveValue(e.roundPixels)&&(t=Math.round(t),n=Math.round(n));let r=this.resolvePoint(e.scale)??{x:1,y:1},i=this.resolvePoint(e.skew),a=this.resolveValue(e.angle),o=this.resolveValue(e.rotation),s=a===void 0?o===void 0?0:o*180/Math.PI:a,c=[`translate3d(${t}px, ${n}px, 0)`];if(s!==0&&c.push(`rotate(${s}deg)`),i){let e=i.x*180/Math.PI,t=i.y*180/Math.PI;(e!==0||t!==0)&&c.push(`skew(${e}deg, ${t}deg)`)}(r.x!==1||r.y!==1)&&c.push(`scale(${r.x}, ${r.y})`),this.element.style.transform=c.join(` `)}let t=this.resolvePoint(e.pivot),n=this.resolvePoint(e.anchor);t?this.element.style.transformOrigin=`${t.x}px ${t.y}px`:n&&(this.element.style.transformOrigin=`${n.x*100}% ${n.y*100}%`)}syncRenderElement(){if(this.element){if(this.fitMode===`contain`&&!(this.element instanceof HTMLImageElement)){if(!this.isContained){let e=document.createElement(this.renderElementType);this.element.style.position=`relative`,this.element.style.overflow=`hidden`,e.style.position=`absolute`,e.style.left=`0`,e.style.top=`0`,e.style.transformOrigin=`0 0`,this.element.appendChild(e),this.renderElement=e,this.isContained=!0}return}this.isContained&&=(this.renderElement&&this.renderElement!==this.element&&this.renderElement.remove(),this.renderElement=void 0,!1)}}getRenderElement(){return this.renderElement??this.element}applyContainScale(){if(!this.isContained)return;let e=this.getRenderElement();if(!e||!this.element||this.frameWidth<=0||this.frameHeight<=0)return;let t=this.resolvePixelSize(this.explicitWidth)??this.element.clientWidth,n=this.resolvePixelSize(this.explicitHeight)??this.element.clientHeight;if(!t||!n)return;let r=Math.min(t/this.frameWidth,n/this.frameHeight);!Number.isFinite(r)||r<=0||(e.style.transform=`scale(${r})`)}bindPlayingSignal(e){let t=e.propObservables?.playing;!t||!z(t)||this.playingSignal!==t&&(this.playingSubscription&&=(this.playingSubscription.unsubscribe(),void 0),this.playingSignal=t,this.playing=t(),this.playingSubscription=t.observable.subscribe(e=>{this.playing=e===!0,this.playing||(this.elapsed=0),this.updateAnimationLoop()}))}bindSheetParams(e){let t=e.propObservables?.sheet?.params;if(!(!t||typeof t!=`object`))for(let e in t){let n=t[e];z(n)&&this.sheetSubscriptions.push(n.observable.subscribe(t=>{this.sheetParams={...this.sheetParams,[e]:t},this.sheetCurrentName&&this.playSheet(this.sheetCurrentName,[this.sheetParams])}))}}getFrames(){return this.frames&&this.frames.length>0?this.frames:this.rectangle?[this.rectangle]:[]}normalizeIndex(e,t){if(t<=0)return 0;if(this.loop){let n=e%t;return n<0?n+t:n}return e<0?0:e>=t?t-1:e}render(){if(!this.element)return;let e=this.getRenderElement(),t=this.getCurrentSheetFrame();if(t){this.applyFrame(t);return}let n=this.getFrames();if(n.length===0){this.renderElementType===`img`&&this.image&&e?e.src=this.image:this.image&&(e.style.backgroundImage=`url("${this.image}")`);return}let r=this.normalizeIndex(this.frameIndex,n.length);r!==this.frameIndex&&!this.loop&&(this.frameIndex=r);let i=n[r];this.applyFrame(i)}applyFrame(e){if(!this.element)return;let t=this.getRenderElement();if(!t)return;this.frameWidth=e.width,this.frameHeight=e.height,this.fitMode===`contain`?(t.style.width=`${e.width}px`,t.style.height=`${e.height}px`):(t.style.width=this.explicitWidth??`${e.width}px`,t.style.height=this.explicitHeight??`${e.height}px`);let n=e.x??0,r=e.y??0;if(this.renderElementType===`img`){let e=t;this.image&&(e.src=this.image),e.style.objectFit=`none`,e.style.objectPosition=`-${n}px -${r}px`,this.applyContainScale();return}this.image&&(t.style.backgroundImage=`url("${this.image}")`),t.style.backgroundRepeat=`no-repeat`,t.style.backgroundPosition=`-${n}px -${r}px`,this.applyContainScale()}updateAnimationLoop(){let e=this.sheetCurrentAnimation?.frames??[];(this.sheetCurrentAnimation?this.playing&&e.length>1:this.playing&&!this.hasExternalFrameIndex&&this.getFrames().length>1&&this.fps>0)?this.startAnimationLoop():this.stopAnimationLoop()}startAnimationLoop(){if((this.tickSubscription||this.rafId!==void 0)&&this.stopAnimationLoop(),this.isAnimating=!0,this.elapsed=0,this.lastTickTimestamp=void 0,this.tickSignal?.observable){this.tickSubscription=this.tickSignal.observable.subscribe(e=>{let t=e?.value??e;if(!t)return;if(this.sheetCurrentAnimation){this.advanceSheet(t);return}let n=t.deltaTime||0;if(n<=0){let e=Rt();if(this.lastTickTimestamp===void 0){this.lastTickTimestamp=e;return}n=e-this.lastTickTimestamp,this.lastTickTimestamp=e}n>0&&this.advance(n)});return}let e=t=>{if(!this.playing||this.hasExternalFrameIndex){this.stopAnimationLoop();return}this.lastRafTimestamp===void 0&&(this.lastRafTimestamp=t);let n=t-this.lastRafTimestamp;this.lastRafTimestamp=t,this.sheetCurrentAnimation?this.advanceSheet({timestamp:t,deltaTime:n,frame:0,deltaRatio:n/zt(this.fps)}):this.advance(n),Lt()?this.rafId=window.requestAnimationFrame(e):this.rafId=setTimeout(()=>{e(Rt())},zt(this.fps))};Lt()?this.rafId=window.requestAnimationFrame(e):this.rafId=setTimeout(()=>{e(Rt())},zt(this.fps))}stopAnimationLoop(){this.isAnimating=!1,this.tickSubscription&&=(this.tickSubscription.unsubscribe(),void 0),this.rafId!==void 0&&(Lt()?window.cancelAnimationFrame(this.rafId):clearTimeout(this.rafId),this.rafId=void 0,this.lastRafTimestamp=void 0),this.lastTickTimestamp=void 0}advance(e){let t=this.getFrames();if(!this.playing||t.length<=1||this.fps<=0)return;this.elapsed+=e;let n=zt(this.fps);for(;this.elapsed>=n;)if(this.elapsed-=n,this.frameIndex+=1,!this.loop&&this.frameIndex>=t.length){this.frameIndex=t.length-1;break}this.render()}});var vu=e=>W(`DOMSprite`,e),yu=function(e){return e.Normal=`normal`,e.Hover=`hover`,e.Pressed=`pressed`,e.Disabled=`disabled`,e}({});function bu(e){let t=R(yu.Normal),n=R(!1),r=R(!1),{text:i,disabled:a,width:o,height:s,style:c,shape:l,controlName:u}=va(e)({text:{type:String,default:``},disabled:{type:Boolean,default:!1},width:{type:Number,default:120},height:{type:Number,default:40},style:{type:Object,default:()=>({})},shape:{type:String,default:`rect`},controlName:{type:String,default:void 0}}),d=()=>e.controls?z(e.controls)?e.controls():e.controls:null;V(()=>{let e=a(),i=n(),o=r();e?t.set(yu.Disabled):i?t.set(yu.Pressed):o?t.set(yu.Hover):t.set(yu.Normal)});let f={pointerenter:t=>{a()||(r.set(!0),e.hoverEnter?.(t))},pointerleave:t=>{r.set(!1),n.set(!1),e.hoverLeave?.(t)},pointerdown:async t=>{if(!a()){n.set(!0),e.pressDown?.(t);let r=d(),i=u();r&&i&&r.applyControl&&await r.applyControl(i,!0)}},pointerup:async t=>{if(!a()&&n()){n.set(!1),e.pressUp?.(t);let r=d(),i=u();r&&i&&r.applyControl&&await r.applyControl(i,!1)}},pointertap:async t=>{if(!a()){e.click?.(t);let n=d(),r=u();n&&r&&n.applyControl&&await n.applyControl(r)}}},p=()=>{if(e.background)return e.background;let n=l(),r=B(()=>{let e=c().backgroundColor||{[yu.Normal]:`#007bff`,[yu.Hover]:`#0056b3`,[yu.Pressed]:`#004085`,[yu.Disabled]:`#6c757d`};return e[t()]||e[yu.Normal]});return n===`circle`?G(qa,{radius:B(()=>Math.min(o(),s())/2),x:B(()=>o()/2),y:B(()=>s()/2),color:r}):G(n===`ellipse`?Ja:Ka,{width:o,height:s,color:r})},m=()=>e.children&&e.children.length>0?e.children:[G(wl,{text:i,x:B(()=>o()/2),y:B(()=>s()/2),anchor:{x:.5,y:.5},style:B(()=>{let e=c().text||{};return{fontSize:e.fontSize||16,fontFamily:e.fontFamily||`Arial`,fill:e.color||`#ffffff`}})()})];return G(Ha,{x:e.x,y:e.y,width:e.width,height:e.height,alpha:e.alpha,visible:e.visible,cursor:e.cursor||`pointer`,tabindex:e.tabindex,...f},[p(),...m()])}var J=function(e){return e.LEFT=`left`,e.TOP=`top`,e.BOTTOM=`bottom`,e.RIGHT=`right`,e.TOP_LEFT=`top_left`,e.TOP_RIGHT=`top_right`,e.BOTTOM_LEFT=`bottom_left`,e.BOTTOM_RIGHT=`bottom_right`,e}({});function xu(e={}){let n=Object.assign({outerScale:{x:1,y:1},innerScale:{x:1,y:1},innerColor:`black`,outerColor:`black`},e),r=()=>z(n.controls)?n.controls():n.controls,i=.5,a=!1,o=null,s=0,c=R(0),l=R(0),u=R(i);function d(e){let t=e.x-0,n=e.y-0;return Math.min(1,Math.sqrt(t*t+n*n)/70)}function f(e){let t=Math.atan2(e.y,e.x);return t>=-Math.PI/8&&t<0||t>=0&&t<Math.PI/8?J.RIGHT:t>=Math.PI/8&&t<3*Math.PI/8?J.BOTTOM_RIGHT:t>=3*Math.PI/8&&t<5*Math.PI/8?J.BOTTOM:t>=5*Math.PI/8&&t<7*Math.PI/8?J.BOTTOM_LEFT:t>=7*Math.PI/8&&t<Math.PI||t>=-Math.PI&&t<-7*Math.PI/8?J.LEFT:t>=-7*Math.PI/8&&t<-5*Math.PI/8?J.TOP_LEFT:t>=-5*Math.PI/8&&t<-3*Math.PI/8?J.TOP:J.TOP_RIGHT}function p(e){let t=e.currentTarget||e.target;o=e.getLocalPosition(t),a=!0,u.set(1),n.onStart?.();let i=r();i&&(i.handleJoystickStart?i.handleJoystickStart():i.joystick&&i.joystick.handleJoystickStart&&i.joystick.handleJoystickStart())}function m(){if(!a)return;c.set(0),l.set(0),a=!1,u.set(i),n.onEnd?.();let e=r();e&&(e.handleJoystickEnd?e.handleJoystickEnd():e.joystick&&e.joystick.handleJoystickEnd&&e.joystick.handleJoystickEnd())}function h(e){if(a==0)return;let i=e.currentTarget||e.target,u=e.getLocalPosition(i),p=u.x-(o?.x??0),m=u.y-(o?.y??0),h=new t.Point(0,0),g=0;if(p==0&&m==0)return;p*p+m*m;let _=J.LEFT;if(p==0){m>0?(h.set(0,m>70?70:m),g=270,_=J.BOTTOM):(h.set(0,-(Math.abs(m)>70?70:Math.abs(m))),g=90,_=J.TOP),c.set(h.x),l.set(h.y),s=d(h);let e={angle:g,direction:_,power:s};n.onChange?.(e);let t=r();t&&(t.handleJoystickChange?t.handleJoystickChange(e):t.joystick&&t.joystick.handleJoystickChange&&t.joystick.handleJoystickChange(e));return}if(m==0){p>0?(h.set(Math.abs(p)>70?70:Math.abs(p),0),g=0,_=J.RIGHT):(h.set(-(Math.abs(p)>70?70:Math.abs(p)),0),g=180,_=J.LEFT),c.set(h.x),l.set(h.y),s=d(h);let e={angle:g,direction:_,power:s};n.onChange?.(e);let t=r();t&&(t.handleJoystickChange?t.handleJoystickChange(e):t.joystick&&t.joystick.handleJoystickChange&&t.joystick.handleJoystickChange(e));return}let v=Math.abs(m/p),y=Math.atan(v);g=y*180/Math.PI;let b=0,x=0;p*p+m*m>=4900?(b=70*Math.cos(y),x=70*Math.sin(y)):(b=Math.abs(p)>70?70:Math.abs(p),x=Math.abs(m)>70?70:Math.abs(m)),m<0&&(x=-Math.abs(x)),p<0&&(b=-Math.abs(b)),p>0&&m<0||(p<0&&m<0?g=180-g:p<0&&m>0?g+=180:p>0&&m>0&&(g=360-g)),h.set(b,x),s=d(h),_=f(h),c.set(h.x),l.set(h.y);let S={angle:g,direction:_,power:s};n.onChange?.(S);let C=r();C&&(C.handleJoystickChange?C.handleJoystickChange(S):C.joystick&&C.joystick.handleJoystickChange&&C.joystick.handleJoystickChange(S))}let g,_;_=n.outer?G(ls,{image:n.outer,anchor:{x:.5,y:.5},scale:n.outerScale}):G(Ua,{draw:e=>{e.circle(0,0,70).fill(n.outerColor)},alpha:.5});let v={scale:n.innerScale,x:c,y:l,alpha:u};return g=n.inner?n.inner:G(Ua,{draw:e=>{e.circle(0,0,10*2.5).fill(n.innerColor)},...v}),G(Ha,{...e,pointerdown:p,pointerup:m,pointerupoutside:m,pointermove:h},_,g)}var Su=class e{constructor(){this.containers=new Map,this.scrollAnimations=new Map}static{this.instance=null}static getInstance(){return e.instance||=new e,e.instance}registerContainer(e,t){this.containers.set(e,{...t,id:e})}updateContainer(e,t){let n=this.containers.get(e);n&&this.containers.set(e,{...n,...t})}setTabindex(e,t){let n=this.containers.get(e);if(!n)return;if(n.tabindexSubscription&&n.tabindexSubscription.unsubscribe(),t==null){n.tabindex=void 0;return}n.tabindex=t;let r=z(t)?t():t;typeof r==`number`&&this.setIndex(e,r),z(t)&&(n.tabindexSubscription=t.observable.subscribe(t=>{t!==null&&t!==n.currentIndex()&&this.setIndex(e,t)}))}unregisterContainer(e){this.containers.delete(e),this.scrollAnimations.delete(e)}registerFocusable(e,t,n){let r=this.containers.get(e);if(!r){console.warn(`FocusContainer with id "${e}" not found`);return}r.focusables.set(n,t);let i=z(r.tabindex)?r.tabindex():r.tabindex;(r.pendingIndex===n||i===n&&r.currentIndex()===null)&&(r.pendingIndex=void 0,this.applyFocus(r,e,n,t))}unregisterFocusable(e,t){let n=this.containers.get(e);n&&n.focusables.delete(t)}navigate(e,t){let n=this.containers.get(e);if(!n||n.element&&da(n.element))return;let r=n.currentIndex(),i=Array.from(n.focusables.keys()).sort((e,t)=>e-t);if(i.length===0)return;let a=null;if(r===null)a=t===`next`?i[0]:i[i.length-1];else{let e=i.indexOf(r);a=t===`next`?e<i.length-1?i[e+1]:i[0]:e>0?i[e-1]:i[i.length-1]}if(a!==null){let t=n.tabindex;z(t)&&typeof t.set==`function`?t.set(a):this.setIndex(e,a)}}setIndex(e,t){let n=this.containers.get(e);if(!n)return;let r=n.focusables.get(t);if(!r){n.pendingIndex=t;return}this.applyFocus(n,e,t,r)}applyFocus(e,t,n,r){e.currentIndex.set(n),e.focusedElement.set(r);let i=e.tabindex;z(i)&&i()!==n&&typeof i.set==`function`&&i.set(n),e.onFocusChange&&e.onFocusChange(n,r);let a=r.componentInstance;if(a&&a.element&&typeof a.element.focus==`function`){let e=a.element;e.focus(),typeof e.scrollIntoView==`function`&&e.scrollIntoView({block:`center`,behavior:`smooth`})}if(e.autoScroll){let r=e.viewport;if(r){let i=typeof e.autoScroll==`boolean`?{center:!0}:e.autoScroll;this.scrollToElement(t,n,r,i)}}}getElement(e,t){let n=this.containers.get(e);return n&&n.focusables.get(t)||null}getCurrentIndexSignal(e){let t=this.containers.get(e);return t?t.currentIndex:null}getFocusedElementSignal(e){let t=this.containers.get(e);return t?t.focusedElement:null}isElementVisible(e,t){if(!t)return!0;let n=this.getElementBounds(e),r=t.getVisibleBounds();return n.x<r.right&&n.x+n.width>r.left&&n.y<r.bottom&&n.y+n.height>r.top}getElementBounds(e){let t=e.componentInstance;if(!t)return{x:0,y:0,width:0,height:0};let n=t.getLocalBounds?.();if(!n)return{x:0,y:0,width:0,height:0};let r=t.getGlobalPosition?.();return r?{x:r.x,y:r.y,width:n.width,height:n.height}:{x:0,y:0,width:0,height:0}}scrollToElement(e,t,n,r={}){let i=this.containers.get(e);if(!i)return;let a=i.focusables.get(t);if(!a)return;let o=n||i.viewport;if(!o)return;let s=this.getElementBounds(a);o.getVisibleBounds();let c=r.padding||0,l=r.center!==!1,u=r.smooth||!1,d=r.duration||300;if(this.isElementVisible(a,o)){if(l){let t=s.x+s.width/2,n=s.y+s.height/2;u?this.animateScroll(e,o,t,n,d):o.moveCenter(t,n)}return}if(l){let t=s.x+s.width/2,n=s.y+s.height/2;u?this.animateScroll(e,o,t,n,d):o.moveCenter(t,n)}else{let t=s.x-c,n=s.y-c,r=s.width+c*2,i=s.height+c*2;if(u){let t=s.x+s.width/2,n=s.y+s.height/2;this.animateScroll(e,o,t,n,d)}else o.fit(t,n,r,i,c)}}animateScroll(e,t,n,r,i){let a=t.center,o=a.x,s=a.y,c={startTime:Date.now(),startX:o,startY:s,targetX:n,targetY:r,duration:i};this.scrollAnimations.set(e,c);let l=()=>{let n=this.scrollAnimations.get(e);if(!n)return;let r=Date.now()-n.startTime,i=Math.min(r/n.duration,1),a=1-(1-i)**3,o=n.startX+(n.targetX-n.startX)*a,s=n.startY+(n.targetY-n.startY)*a;t.moveCenter(o,s),i<1?requestAnimationFrame(l):this.scrollAnimations.delete(e)};requestAnimationFrame(l)}},Y=Su.getInstance();F(`focusNavigation`,class extends P{constructor(...e){super(...e),this.element=null,this.controlsDirective=null,this.controlsSubscription=null}onInit(e){this.element=e}onMount(e){if(this.controlsDirective=e.directives?.controls,!this.controlsDirective){let t=En(e,`controls`);t&&(e.directives||={},e.directives.controls=t,this.controlsDirective=t)}let t=e.props.controls;if(t){let n=z(t)?t():t;n&&this.controlsDirective?.onUpdate({controls:n},e)}z(t)&&(this.controlsSubscription=t.observable.subscribe(t=>{t&&this.controlsDirective?.onUpdate({controls:t},e)}))}onUpdate(e,t){if(e.controls!==void 0){let n=z(e.controls)?e.controls():e.controls;n&&this.controlsDirective?.onUpdate({controls:n},t)}}onDestroy(e){this.controlsSubscription&&=(this.controlsSubscription.unsubscribe(),null),this.element=null,this.controlsDirective=null}}),H(`Navigation`,class{constructor(){this.containerId=``,this.currentIndexSignal=null,this.focusedElementSignal=null,this.registeredFocusables=new Set}onInit(e){this.containerId=`focus-container-${Date.now()}-${Math.random().toString(36).substr(2,9)}`;let t=R(null),n=R(null);this.currentIndexSignal=t,this.focusedElementSignal=n;let r=e.viewport||e.context?.viewport;Y.registerContainer(this.containerId,{focusables:new Map,currentIndex:t,focusedElement:n,onFocusChange:e.onFocusChange,autoScroll:e.autoScroll,viewport:r})}async onMount(e){if(Y.updateContainer(this.containerId,{element:e}),e.props.controls){let t=En(e,`focusNavigation`);t&&!e.directives&&(e.directives={}),t&&(e.directives.focusNavigation=t,t.onInit(e),t.onMount(e))}if(e.allElements){let t=e.allElements.subscribe(()=>{this.registerChildren(e)});e.effectSubscriptions||=[],e.effectSubscriptions.push(t)}Y.setTabindex(this.containerId,e.propObservables?.tabindex),setTimeout(()=>{this.registerChildren(e)},0)}onUpdate(e){let t=e.viewport||e.context?.viewport;Y.updateContainer(this.containerId,{viewport:t,autoScroll:e.autoScroll,onFocusChange:e.onFocusChange})}async onDestroy(e,t){for(let e of this.registeredFocusables)Y.unregisterFocusable(this.containerId,e);this.registeredFocusables.clear(),Y.unregisterContainer(this.containerId),t&&t()}registerChildren(e){if(!e.props.children)return;let t=0,n=e=>{for(let t of e)if(t){if(z(t)||t&&typeof t.subscribe==`function`){(z(t)?t.observable:t).subscribe(e=>{if(e&&typeof e==`object`&&`elements`in e){let t=e.elements||[];Array.isArray(t)&&n(t)}else Array.isArray(e)?n(e):e&&r(e)});continue}if(Array.isArray(t)){n(t);continue}r(t)}},r=i=>{if(!i||!i.componentInstance||(i.tag===`Navigation`||i.tag===`FocusContainer`)&&i!==e)return;let a;if(i.props?.attrs?.tabindex!==void 0){let e=i.props.attrs.tabindex;a=z(e)?e():e}else if(i.props?.tabindex!==void 0){let e=i.props.tabindex;a=z(e)?e():e}if(a!==void 0&&a>=0&&(this.registeredFocusables.has(a)||(Y.registerFocusable(this.containerId,i,a),this.registeredFocusables.add(a),t++)),i.props&&i.props.children)if(Array.isArray(i.props.children))n(i.props.children);else if(z(i.props.children)||i.props.children&&typeof i.props.children.subscribe==`function`){let e=(z(i.props.children)?i.props.children.observable:i.props.children).subscribe(e=>{if(e&&typeof e==`object`&&`elements`in e){let t=e.elements||[];Array.isArray(t)&&n(t)}else Array.isArray(e)?n(e):e&&r(e)});i.effectSubscriptions&&i.effectSubscriptions.push(e)}else r(i.props.children)};if(Array.isArray(e.props.children))n(e.props.children);else if(e.props.children)if(z(e.props.children)||e.props.children&&typeof e.props.children.subscribe==`function`){let t=(z(e.props.children)?e.props.children.observable:e.props.children).subscribe(e=>{if(e&&typeof e==`object`&&`elements`in e){let t=e.elements||[];Array.isArray(t)&&n(t)}else Array.isArray(e)?n(e):e&&r(e)});e.effectSubscriptions||=[],e.effectSubscriptions.push(t)}else r(e.props.children)}getContainerId(){return this.containerId}getCurrentIndexSignal(){return this.currentIndexSignal}getFocusedElementSignal(){return this.focusedElementSignal}});var Cu=e=>W(`Navigation`,e),wu=Cu,Tu,Eu=c((()=>{Tu=(()=>{var e={}.url;return(function(t){t||={};var n;n||=t===void 0?{}:t;var r,i;n.ready=new Promise(function(e,t){r=e,i=t});var a=Object.assign({},n),o=``;typeof document<`u`&&document.currentScript&&(o=document.currentScript.src),e&&(o=e),o=o.indexOf(`blob:`)===0?``:o.substr(0,o.replace(/[?#].*/,``).lastIndexOf(`/`)+1);var s=n.print||console.log.bind(console),c=n.printErr||console.warn.bind(console);Object.assign(n,a),a=null;var l;n.wasmBinary&&(l=n.wasmBinary),n.noExitRuntime,typeof WebAssembly!=`object`&&E(`no native wasm support detected`);var u,d=!1;function f(e,t,n){n=t+n;for(var r=``;!(t>=n);){var i=e[t++];if(!i)break;if(i&128){var a=e[t++]&63;if((i&224)==192)r+=String.fromCharCode((i&31)<<6|a);else{var o=e[t++]&63;i=(i&240)==224?(i&15)<<12|a<<6|o:(i&7)<<18|a<<12|o<<6|e[t++]&63,65536>i?r+=String.fromCharCode(i):(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|i&1023))}}else r+=String.fromCharCode(i)}return r}var p,m,h,g,_,v,y,b,x;function S(){var e=u.buffer;p=e,n.HEAP8=m=new Int8Array(e),n.HEAP16=g=new Int16Array(e),n.HEAP32=v=new Int32Array(e),n.HEAPU8=h=new Uint8Array(e),n.HEAPU16=_=new Uint16Array(e),n.HEAPU32=y=new Uint32Array(e),n.HEAPF32=b=new Float32Array(e),n.HEAPF64=x=new Float64Array(e)}var C,ee=[],w=[],te=[];function ne(){var e=n.preRun.shift();ee.unshift(e)}var T=0,re=null,ie=null;function E(e){throw n.onAbort&&n.onAbort(e),e=`Aborted(`+e+`)`,c(e),d=!0,e=new WebAssembly.RuntimeError(e+`. Build with -sASSERTIONS for more info.`),i(e),e}function ae(e){return e.startsWith(`data:application/octet-stream;base64,`)}var oe=`data:application/octet-stream;base64,AGFzbQEAAAABugM3YAF/AGACf38AYAF/AX9gA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWADf398AGAAAGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAV/f39/fwBgAn9/AX1gBX9/f319AX1gAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBn9/f319fQF9YAR/f31/AGADf399AX1gBn98f39/fwF/YAR/fHx/AGACf30AYAh/f39/f39/fwBgDX9/f39/f39/f39/f38AYAp/f39/f39/f39/AGAFf39/f38BfGAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gB39/f319f38AYAJ+fwF/YAN/fX0BfWABfAF8YAN/fHwAYAR/f319AGAHf39/fX19fQF9YA1/fX99f31/fX19fX1/AX9gC39/f39/f399fX19AX9gCH9/f39/f319AGAEf39+fgBgB39/f39/f38Bf2ACfH8BfGAFf398fH8AYAN/f38BfGAEf39/fABgA39/fQBgBn9/fX99fwF/ArUBHgFhAWEAHwFhAWIAAwFhAWMACQFhAWQAFgFhAWUAEQFhAWYAIAFhAWcAAAFhAWgAIQFhAWkAAwFhAWoAAAFhAWsAFwFhAWwACgFhAW0ABQFhAW4AAwFhAW8AAQFhAXAAFwFhAXEABgFhAXIAAAFhAXMAIgFhAXQACgFhAXUADQFhAXYAFgFhAXcAAgFhAXgAAwFhAXkAGAFhAXoAAgFhAUEAAQFhAUIAEQFhAUMAAQFhAUQAAAOiAqACAgMSBwcACRkDAAoRBgYKEwAPDxMBBiMTCgcHGgMUASQFJRQHAwMKCgMmAQYYDxobFAAKBw8KBwMDAgkCAAAFGwACBwIHBgIDAQMIDAABKAkHBQURACkZASoAAAIrLAIALQcHBy4HLwkFCgMCMA0xAgMJAgACAQYKAQIBBQEACQIFAQEABQAODQ0GFQIBHBUGAgkCEAAAAAUyDzMMBQYINAUCAwUODg41AgMCAgIDBgICNgIBDAwMAQsLCwsLCx0CAAIAAAABABABBQICAQMCEgMMCwEBAQEBAQsLAQICAwICAgICAgIDAgIICAEICAgEBAQEBAQEBAQABAQABAQEBAAE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GiABQQA2AvADIAFCADcC6AMgAigC7AMiAyACKALoAyIERwRAIAMgBGsiBEEASA0FIAEgBBAeIgM2AuwDIAEgAzYC6AMgASADIARqNgLwAyACKALoAyIEIAIoAuwDIghHBEADQCADIAQoAgA2AgAgA0EEaiEDIARBBGoiBCAIRw0ACwsgASADNgLsAwsgASACKQL0AzcC9AMgASACKAKEBDYChAQgASACKQL8AzcC/AMgAUEANgLkAwsgBSABNgIAIAEgADYC5AMLIAZBAWohBiAFQQRqIgUgB0cNAAsLDwsQAgALUAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUEwahBDDwsgACABIAFBMGogAxBEDwsgACABIAFBMGoQQg8LECQACyAAIAEgAUEwaiADEEULcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QdwlaigCACACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt5AgF/AX0jAEEQayIDJAAgA0EIaiAAIAFBAnRB7CVqKAIAIAIQU0MAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC1QAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBwgBqEEMPCyAAIAEgAUHCAGogAxBEDwsgACABIAFBwgBqEEIPCxAkAAsgACABIAFBwgBqIAMQRQsvACAAIAJFQQF0IgIgASADEGAgACACIAEQS5IgACACIAEgAxB/IAAgAiABEFKSkgvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akH2AGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyADQRBqJAALzgECA38CfSMAQRBrIgMk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AWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwscACAAIAFBCCACpyACQiCIpyADpyADQiCIpxAVCwUAEFgACzkAIABFBEBBAA8LAn8gAUGAf3FBgL8DRiABQf8ATXJFBEBB/DtBGTYCAEF/DAELIAAgAToAAEEBCwvEAgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACgsMCgsCAwQFDAsMDAoLBwgJCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCwALIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LAAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQegAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQOQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIANBEGokAAtdAQR/IAAoAgAhAgNAIAIsAAAiAxBXBEBBfyEEIAAgAkEBaiICNgIAIAFBzJmz5gBNBH9BfyADQTBrIgMgAUEKbCIEaiADIARB/////wdzShsFIAQLIQEMAQsLIAELrhQCEn8BfiMAQdAAayIIJAAgCCABNgJMIAhBN2ohFyAIQThqIRQCQAJAAkACQANAIAEhDSAHIA5B/////wdzSg0BIAcgDmohDgJAAkACQCANIgctAAAiCQRAA0ACQAJAIAlB/wFxIgFFBEAgByEBDAELIAFBJUcNASAH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IQEgAEIANwIEIAAgATYCACABIAA2AgQgAkEQaiQAIAALGwEBfyAABEAgACgCACIBBEAgARAjCyAAECMLC0kBAn9BBBAeIQFBIBAeIgBBADYCHCAAQoCAgICAgIDAPzcCFCAAQgA3AgwgAEEAOgAIIABBAzYCBCAAQQA2AgAgASAANgIAIAELIAAgAkEFR0EAIAIbRQRAQbgwIAMgBBBJDwsgAyAEEHALIgEBfiABIAKtIAOtQiCGhCAEIAARFQAiBUIgiKckASAFpwuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGECsaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEECsaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACCwQAQgALBABBAAuKBQIGfgJ/IAEgASgCAEEHakF4cSIBQRBqNgIAIAAhCSABKQMAIQMgASkDCCEGIwBBIGsiCCQAAkAgBkL///////////8AgyIEQoCAgICAgMCAPH0gBEKAgICAgIDA/8MAfVQEQCAGQgSGIANCPIiEIQQgA0L//////////w+DIgNCgYCAgICAgIAIWgRAIARCgYCAgICAgIDAAHwhAgwCCyAEQoCAgICAgICAQH0hAiADQoCAgICAgICACFINASACIARCAYN8IQIMAQsgA1AgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRG0UEQCAGQgSGIANCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiAEQv///////7//wwBWDQBCACECIARCMIinIgBBkfcASQ0AIAMhAiAGQv///////z+DQoCAgICAgMAAhCIFIQcCQCAAQYH3AGsiAUHAAHEEQCACIAFBQGqthiEHQgAhAgwBCyABRQ0AIAcgAa0iBIYgAkHAACABa62IhCEHIAIgBIYhAgsgCCACNwMQIAggBzcDGAJAQYH4ACAAayIAQcAAcQRAIAUgAEFAaq2IIQNCACEFDAELIABFDQAgBUHAACAAa62GIAMgAK0iAoiEIQMgBSACiCEFCyAIIAM3AwAgCCAF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ASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCAALCQAgASAAEQIACwUAQcM7Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAqCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRHgALBQBBvjsLIQAgACABKAIAIAEgASwAC0EASBtBuzsgAigCABAQNgIACyoBAX9BDBAeIgFBADoABCABIAAoAgA2AgggAEEANgIAIAFB2Cc2AgAgAQsFAEG7OwsFAEG4OwshACAAIAEoAgAgASABLAALQQBIG0GkOyACKAIAEBA2AgAL2AEBBH8jAEEgayIDJAAgASgCACIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIFEB4hBiADIAVBgICAgHhyNgIQIAMgBjYCCCADIAQ2AgwgBCAGaiEFDAELIAMgBDoAEyADQQhqIgYgBGohBSAERQ0BCyAGIAFBBGogBBArGgsgBUEAOgAAIAMgAjYCACADQRhqIANBCGogAyAAEQMAIAMoAhgQHSADKAIYIgAQBiADKAIAEAYgAywAE0EASARAIAMoAggQIwsgA0EgaiQAIAAPCxACAAsqAQF/QQwQHiIBQQA6AAQgASAAKAIANgIIIABBADYCACABQeAmNgIA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AkEIaiAIIAYQHyACIAcgAC8AABAfQQEhAyACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSADC0UNAiACLQAMIAItAARHDQILIABBAmohAEEBIQMgBCEGQQEhBCAGRQ0ACyABLwB6IgBBB3FFBEAgBS0AekEHcUUNAgsgCCAAECAiCiAHIAUvAHoQICILWw0BIAogClsNACALIAtcDQELIAFBFGogBUEUakHoABArGiABQfwAaiAFQfwAahCgAQNAIAEtAAAiAEEEcQ0BIAEgAEEEcjoAACABKAIQIgAEQCABIAARAAALIAFBgICA/gc2ApwBIAEoAuQDIgENAAsLIAJBEGokAAvGAwEEfyMAQaAEayICJAAgACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALAkAgACgCACIAKALoAyAAKALsA0YEQCAAKALkAw0BIAAgAkEYaiAAKAL0AxBcIgEpAgA3AgAgACABKAIQNgIQIAAgASkCCDcCCCAAQRRqIAFBFGpB6AAQKxogACABKQKMATcCjAEgACABKQKEATcChAEgACABKQJ8NwJ8IAEoApQBIQQgAUEANgKUASAAKAKUASEDIAAgBDYClAEgAwRAIAMQWwsgAEGYAWogAUGYAWpB0AIQKxogACgC6AMiAwRAIAAgAzYC7AMgAxAjCyAAIAEoAugDNgLoAyAAIAEoAuwDNgLsAyAAIAEoAvADNgLwAyABQQA2AvADIAFCADcC6AMgACABKQL8AzcC/AMgACABKQL0AzcC9AMgACABKAKEBDYChAQgASgClAEhACABQQA2ApQBIAAEQCAAEFsLIAJBoARqJAAPCyACQfAcNgIQIABBBUHYJSACQRBqECwQJAALIAJB5hE2AgAgAEEFQdglIAIQLBAkAAsLAEEMEB4gABCiAQsLAEEMEB5BABCiAQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhQLGQAgAUH/AXEEQBACAAsgACgCACgCEEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLJgAgASAAKAIAIgAoAhRHBEAgACABNgIUIAAgACgCDEEBajYCDAsLkgEBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGAEQCABIAAqAhhcBEAgACABOAIYIAAgACgCDEEBajYCDAsgAkEQaiQADwsgAkGIFDYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQbgwQdglIAIQSRoMAQsgAEEAQQVB2CUgAiAAKAIEEQ0AGgsgA0EQaiQAECQACz8AIAFB/wFxRQRAIAIgACgCACIAKAIQIgFBAXFHBEAgACABQX5xIAJyNgIQIAAgACgCDEEBajYCDAsPCxACAAsL4CYjAEGACAuBHk9ubHkgbGVhZiBub2RlcyB3aXRoIGN1c3RvbSBtZWFzdXJlIGZ1bmN0aW9ucyBzaG91bGQgbWFudWFsbHkgbWFyayB0aGVtc2VsdmVzIGFzIGRpcnR5AGlzRGlydHkAbWFya0RpcnR5AGRlc3Ryb3kAc2V0RGlzcGxheQBnZXREaXNwbGF5AHNldEZsZXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABzZXRGbGV4R3JvdwBnZXRGbGV4R3JvdwBzZXRPdmVyZmxvdwBnZXRPdmVyZmxvdwBoYXNOZXdMYXlvdXQAY2FsY3VsYXRlTGF5b3V0AGdldENvbXB1dGVkTGF5b3V0AHVuc2lnbmVkIHNob3J0AGdldENoaWxkQ291bnQAdW5zaWduZWQgaW50AHNldEp1c3RpZnlDb250ZW50AGdldEp1c3RpZnlDb250ZW50AGF2YWlsYWJsZUhlaWdodCBpcyBpbmRlZmluaXRlIHNvIGhlaWdodFNpemluZ01vZGUgbXVzdCBiZSBTaXppbmdNb2RlOjpNYXhDb250ZW50AGF2YWlsYWJsZVdpZHRoIGlzIGluZGVmaW5pdGUgc28gd2lkdGhTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABzZXRBbGlnbkNvbnRlbnQAZ2V0QWxpZ25Db250ZW50AGdldFBhcmVudABpbXBsZW1lbnQAc2V0TWF4SGVpZ2h0UGVyY2VudABzZXRIZWlnaHRQZXJjZW50AHNldE1pbkhlaWdodFBlcmNlbnQAc2V0RmxleEJhc2lzUGVyY2VudABzZXRHYXBQZXJjZW50AHNldFBvc2l0aW9uUGVyY2VudABzZXRNYXJnaW5QZXJjZW50AHNldE1heFdpZHRoUGVyY2VudABzZXRXaWR0aFBlcmNlbnQAc2V0TWluV2lkdGhQZXJjZW50AHNldFBhZGRpbmdQZXJjZW50AGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6UG9pbnQgfHwgaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQZXJjZW50AGNyZWF0ZURlZmF1bHQAdW5pdAByaWdodABoZWlnaHQAc2V0TWF4SGVpZ2h0AGdldE1heEhlaWdodABzZXRIZWlnaHQAZ2V0SGVpZ2h0AHNldE1pbkhlaWdodABnZXRNaW5IZWlnaHQAZ2V0Q29tcHV0ZWRIZWlnaHQAZ2V0Q29tcHV0ZWRSaWdodABsZWZ0AGdldENvbXB1dGVkTGVmdAByZXNldABfX2Rlc3RydWN0AGZsb2F0AHVpbnQ2NF90AHVzZVdlYkRlZmF1bHRzAHNldFVzZVdlYkRlZmF1bHRzAHNldEFsaWduSXRlbXMAZ2V0QWxpZ25JdGVtcwBzZXRGbGV4QmFzaXMAZ2V0RmxleEJhc2lzAENhbm5vdCBnZXQgbGF5b3V0IHByb3BlcnRpZXMgb2YgbXVsdGktZWRnZSBzaG9ydGhhbmRzAHNldFBvaW50U2NhbGVGYWN0b3IATWVhc3VyZUNhbGxiYWNrV3JhcHBlcgBEaXJ0aWVkQ2FsbGJhY2tXcmFwcGVyAENhbm5vdCByZXNldCBhIG5vZGUgc3RpbGwgYXR0YWNoZWQgdG8gYSBvd25lcgBzZXRCb3JkZXIAZ2V0Qm9yZGVyAGdldENvbXB1dGVkQm9yZGVyAGdldE51bWJlcgBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6Ok51bWJlcgB1bnNpZ25lZCBjaGFyAHRvcABnZXRDb21wdXRlZFRvcABzZXRGbGV4V3JhcABnZXRGbGV4V3JhcABzZXRHYXAAZ2V0R2FwACVwAHNldEhlaWdodEF1dG8Ac2V0RmxleEJhc2lzQXV0bwBzZXRQb3NpdGlvbkF1dG8Ac2V0TWFyZ2luQXV0bwBzZXRXaWR0aEF1dG8AU2NhbGUgZmFjdG9yIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuIHplcm8Ac2V0QXNwZWN0UmF0aW8AZ2V0QXNwZWN0UmF0aW8Ac2V0UG9zaXRpb24AZ2V0UG9zaXRpb24Abm90aWZ5T25EZXN0cnVjdGlvbgBzZXRGbGV4RGlyZWN0aW9uAGdldEZsZXhEaXJlY3Rpb24Ac2V0RGlyZWN0aW9uAGdldERpcmVjdGlvbgBzZXRNYXJnaW4AZ2V0TWFyZ2luAGdldENvbXB1dGVkTWFyZ2luAG1hcmtMYXlvdXRTZWVuAG5hbgBib3R0b20AZ2V0Q29tcHV0ZWRCb3R0b20AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0RmxleFNocmluawBnZXRGbGV4U2hyaW5rAHNldEFsd2F5c0Zvcm1zQ29udGFpbmluZ0Jsb2NrAE1lYXN1cmVDYWxsYmFjawBEaXJ0aWVkQ2FsbGJhY2sAZ2V0TGVuZ3RoAHdpZHRoAHNldE1heFdpZHRoAGdldE1heFdpZHRoAHNldFdpZHRoAGdldFdpZHRoAHNldE1pbldpZHRoAGdldE1pbldpZHRoAGdldENvbXB1dGVkV2lkdGgAcHVzaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1NtYWxsVmFsdWVCdWZmZXIuaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1N0eWxlVmFsdWVQb29sLmgAdW5zaWduZWQgbG9uZwBzZXRCb3hTaXppbmcAZ2V0Qm94U2l6aW5nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEATWVhc3VyZSBmdW5jdGlvbiByZXR1cm5lZCBhbiBpbnZhbGlkIGRpbWVuc2lvbiB0byBZb2dhOiBbd2lkdGg9JWYsIGhlaWdodD0lZl0ARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVk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`;if(!ae(oe)){var se=oe;oe=n.locateFile?n.locateFile(se,o):o+se}function ce(){var e=oe;try{if(e==oe&&l)return new Uint8Array(l);if(ae(e))try{var t=Et(e.slice(37)),n=new Uint8Array(t.length);for(e=0;e<t.length;++e)n[e]=t.charCodeAt(e);var r=n}catch{throw Error(`Converting base64 string to bytes failed.`)}else r=void 0;var i=r;if(i)return i;throw`both async and sync fetching of the wasm failed`}catch(e){E(e)}}function le(){return l||typeof fetch!=`function`?Promise.resolve().then(function(){return ce()}):fetch(oe,{credentials:`same-origin`}).then(function(e){if(!e.ok)throw`failed to load wasm binary file at '`+oe+`'`;return e.arrayBuffer()}).catch(function(){return ce()})}function ue(e){for(;0<e.length;)e.shift()(n)}function de(e){if(e===void 0)return`_unknown`;e=e.replace(/[^a-zA-Z0-9_]/g,`$`);var t=e.charCodeAt(0);return 48<=t&&57>=t?`_`+e:e}function fe(e,t){return e=de(e),function(){return t.apply(this,arguments)}}var D=[{},{value:void 0},{value:null},{value:!0},{value:!1}],pe=[];function me(e){var t=Error,n=fe(e,function(t){this.name=e,this.message=t,t=Error(t).stack,t!==void 0&&(this.stack=this.toString()+`
|
|
7
|
+
`+t.replace(/^Error(:[^\n]*)?\n/,``))});return n.prototype=Object.create(t.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return this.message===void 0?this.name:this.name+`: `+this.message},n}var he=void 0;function O(e){throw new he(e)}var ge=e=>(e||O(`Cannot use deleted val. handle = `+e),D[e].value),_e=e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=pe.length?pe.pop():D.length;return D[t]={ga:1,value:e},t}},ve=void 0,ye=void 0;function k(e){for(var t=``;h[e];)t+=ye[h[e++]];return t}var be=[];function xe(){for(;be.length;){var e=be.pop();e.M.$=!1,e.delete()}}var Se=void 0,Ce={};function A(e,t){for(t===void 0&&O(`ptr should not be undefined`);e.R;)t=e.ba(t),e=e.R;return t}var we={};function Te(e){e=Ot(e);var t=k(e);return At(e),t}function Ee(e,t){var n=we[e];return n===void 0&&O(t+` has unknown type `+Te(e)),n}function De(){}var Oe=!1;function ke(e){--e.count.value,e.count.value===0&&(e.T?e.U.W(e.T):e.P.N.W(e.O))}function Ae(e,t,n){return t===n?e:n.R===void 0?null:(e=Ae(e,t,n.R),e===null?null:n.na(e))}var je={};function Me(e,t){return t=A(e,t),Ce[t]}var Ne=void 0;function Pe(e){throw new Ne(e)}function Fe(e,t){return t.P&&t.O||Pe(`makeClassHandle requires ptr and ptrType`),!!t.U!=!!t.T&&Pe(`Both smartPtrType and smartPtr must be specified`),t.count={value:1},Ie(Object.create(e,{M:{value:t}}))}function Ie(e){return typeof FinalizationRegistry>`u`?(Ie=e=>e,e):(Oe=new FinalizationRegistry(e=>{ke(e.M)}),Ie=e=>{var t=e.M;return t.T&&Oe.register(e,{M:t},e),e},De=e=>{Oe.unregister(e)},Ie(e))}var Le={};function Re(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function ze(e){return this.fromWireType(v[e>>2])}var Be={},Ve={};function He(e,t,n){function r(t){t=n(t),t.length!==e.length&&Pe(`Mismatched type converter count`);for(var r=0;r<e.length;++r)We(e[r],t[r])}e.forEach(function(e){Ve[e]=t});var i=Array(t.length),a=[],o=0;t.forEach((e,t)=>{we.hasOwnProperty(e)?i[t]=we[e]:(a.push(e),Be.hasOwnProperty(e)||(Be[e]=[]),Be[e].push(()=>{i[t]=we[e],++o,o===a.length&&r(i)}))}),a.length===0&&r(i)}function Ue(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw TypeError(`Unknown type size: `+e)}}function We(e,t,n={}){if(!(`argPackAdvance`in t))throw TypeError(`registerType registeredInstance requires argPackAdvance`);var r=t.name;if(e||O(`type "`+r+`" must have a positive integer typeid pointer`),we.hasOwnProperty(e)){if(n.ua)return;O(`Cannot register type '`+r+`' twice`)}we[e]=t,delete Ve[e],Be.hasOwnProperty(e)&&(t=Be[e],delete Be[e],t.forEach(e=>e()))}function Ge(e){O(e.M.P.N.name+` instance already deleted`)}function Ke(){}function qe(e,t,n){if(e[t].S===void 0){var r=e[t];e[t]=function(){return e[t].S.hasOwnProperty(arguments.length)||O(`Function '`+n+`' called with an invalid number of arguments (`+arguments.length+`) - expects one of (`+e[t].S+`)!`),e[t].S[arguments.length].apply(this,arguments)},e[t].S=[],e[t].S[r.Z]=r}}function Je(e,t){n.hasOwnProperty(e)?(O(`Cannot register public name '`+e+`' twice`),qe(n,e,e),n.hasOwnProperty(void 0)&&O(`Cannot register multiple overloads of a function with the same number of arguments (undefined)!`),n[e].S[void 0]=t):n[e]=t}function Ye(e,t,n,r,i,a,o,s){this.name=e,this.constructor=t,this.X=n,this.W=r,this.R=i,this.pa=a,this.ba=o,this.na=s,this.ja=[]}function Xe(e,t,n){for(;t!==n;)t.ba||O(`Expected null or instance of `+n.name+`, got an instance of `+t.name),e=t.ba(e),t=t.R;return e}function Ze(e,t){return t===null?(this.ea&&O(`null is not a valid `+this.name),0):(t.M||O(`Cannot pass "`+ct(t)+`" as a `+this.name),t.M.O||O(`Cannot pass deleted object as a pointer of type `+this.name),Xe(t.M.O,t.M.P.N,this.N))}function Qe(e,t){if(t===null){if(this.ea&&O(`null is not a valid `+this.name),this.da){var n=this.fa();return e!==null&&e.push(this.W,n),n}return 0}if(t.M||O(`Cannot pass "`+ct(t)+`" as a `+this.name),t.M.O||O(`Cannot pass deleted object as a pointer of type `+this.name),!this.ca&&t.M.P.ca&&O(`Cannot convert argument of type `+(t.M.U?t.M.U.name:t.M.P.name)+` to parameter type `+this.name),n=Xe(t.M.O,t.M.P.N,this.N),this.da)switch(t.M.T===void 0&&O(`Passing raw pointer to smart pointer is illegal`),this.Ba){case 0:t.M.U===this?n=t.M.T:O(`Cannot convert argument of type `+(t.M.U?t.M.U.name:t.M.P.name)+` to parameter type `+this.name);break;case 1:n=t.M.T;break;case 2:if(t.M.U===this)n=t.M.T;else{var r=t.clone();n=this.xa(n,_e(function(){r.delete()})),e!==null&&e.push(this.W,n)}break;default:O(`Unsupporting sharing policy`)}return n}function $e(e,t){return t===null?(this.ea&&O(`null is not a valid `+this.name),0):(t.M||O(`Cannot pass "`+ct(t)+`" as a `+this.name),t.M.O||O(`Cannot pass deleted object as a pointer of type `+this.name),t.M.P.ca&&O(`Cannot convert argument of type `+t.M.P.name+` to parameter type `+this.name),Xe(t.M.O,t.M.P.N,this.N))}function et(e,t,n,r){this.name=e,this.N=t,this.ea=n,this.ca=r,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,t.R===void 0?(this.toWireType=r?Ze:$e,this.V=null):this.toWireType=Qe}function tt(e,t){n.hasOwnProperty(e)||Pe(`Replacing nonexistant public symbol`),n[e]=t,n[e].Z=void 0}function nt(e,t){var r=[];return function(){if(r.length=0,Object.assign(r,arguments),e.includes(`j`)){var i=n[`dynCall_`+e];i=r&&r.length?i.apply(null,[t].concat(r)):i.call(null,t)}else i=C.get(t).apply(null,r);return i}}function j(e,t){e=k(e);var n=e.includes(`j`)?nt(e,t):C.get(t);return typeof n!=`function`&&O(`unknown function pointer with signature `+e+`: `+t),n}var rt=void 0;function it(e,t){function n(e){i[e]||we[e]||(Ve[e]?Ve[e].forEach(n):(r.push(e),i[e]=!0))}var r=[],i={};throw t.forEach(n),new rt(e+`: `+r.map(Te).join([`, `]))}function at(e,t,n,r,i){var a=t.length;2>a&&O(`argTypes array size mismatch! Must at least get return value and 'this' types!`);var o=t[1]!==null&&n!==null,s=!1;for(n=1;n<t.length;++n)if(t[n]!==null&&t[n].V===void 0){s=!0;break}var c=t[0].name!==`void`,l=a-2,u=Array(l),d=[],f=[];return function(){if(arguments.length!==l&&O(`function `+e+` called with `+arguments.length+` arguments, expected `+l+` args!`),f.length=0,d.length=o?2:1,d[0]=i,o){var n=t[1].toWireType(f,this);d[1]=n}for(var a=0;a<l;++a)u[a]=t[a+2].toWireType(f,arguments[a]),d.push(u[a]);if(a=r.apply(null,d),s)Re(f);else for(var p=o?1:2;p<t.length;p++){var m=p===1?n:u[p-2];t[p].V!==null&&t[p].V(m)}return n=c?t[0].fromWireType(a):void 0,n}}function ot(e,t){for(var n=[],r=0;r<e;r++)n.push(y[t+4*r>>2]);return n}function st(e){4<e&&--D[e].ga===0&&(D[e]=void 0,pe.push(e))}function ct(e){if(e===null)return`null`;var t=typeof e;return t===`object`||t===`array`||t===`function`?e.toString():``+e}function lt(e,t){switch(t){case 2:return function(e){return this.fromWireType(b[e>>2])};case 3:return function(e){return this.fromWireType(x[e>>3])};default:throw TypeError(`Unknown float type: `+e)}}function ut(e,t,n){switch(t){case 0:return n?function(e){return m[e]}:function(e){return h[e]};case 1:return n?function(e){return g[e>>1]}:function(e){return _[e>>1]};case 2:return n?function(e){return v[e>>2]}:function(e){return y[e>>2]};default:throw TypeError(`Unknown integer type: `+e)}}function dt(e,t){for(var n=``,r=0;!(r>=t/2);++r){var i=g[e+2*r>>1];if(i==0)break;n+=String.fromCharCode(i)}return n}function ft(e,t,n){if(n===void 0&&(n=2147483647),2>n)return 0;n-=2;var r=t;n=n<2*e.length?n/2:e.length;for(var i=0;i<n;++i)g[t>>1]=e.charCodeAt(i),t+=2;return g[t>>1]=0,t-r}function pt(e){return 2*e.length}function mt(e,t){for(var n=0,r=``;!(n>=t/4);){var i=v[e+4*n>>2];if(i==0)break;++n,65536<=i?(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|i&1023)):r+=String.fromCharCode(i)}return r}function ht(e,t,n){if(n===void 0&&(n=2147483647),4>n)return 0;var r=t;n=r+n-4;for(var i=0;i<e.length;++i){var a=e.charCodeAt(i);if(55296<=a&&57343>=a){var o=e.charCodeAt(++i);a=65536+((a&1023)<<10)|o&1023}if(v[t>>2]=a,t+=4,t+4>n)break}return v[t>>2]=0,t-r}function gt(e){for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);55296<=r&&57343>=r&&++n,t+=4}return t}var _t={};function vt(e){var t=_t[e];return t===void 0?k(e):t}var yt=[];function bt(e){var t=yt.length;return yt.push(e),t}function xt(e,t){for(var n=Array(e),r=0;r<e;++r)n[r]=Ee(y[t+4*r>>2],`parameter `+r);return n}var St=[],Ct=[null,[],[]];he=n.BindingError=me(`BindingError`),n.count_emval_handles=function(){for(var e=0,t=5;t<D.length;++t)D[t]!==void 0&&++e;return e},n.get_first_emval=function(){for(var e=5;e<D.length;++e)if(D[e]!==void 0)return D[e];return null},ve=n.PureVirtualError=me(`PureVirtualError`);for(var wt=Array(256),Tt=0;256>Tt;++Tt)wt[Tt]=String.fromCharCode(Tt);ye=wt,n.getInheritedInstanceCount=function(){return Object.keys(Ce).length},n.getLiveInheritedInstances=function(){var e=[],t;for(t in Ce)Ce.hasOwnProperty(t)&&e.push(Ce[t]);return e},n.flushPendingDeletes=xe,n.setDelayFunction=function(e){Se=e,be.length&&Se&&Se(xe)},Ne=n.InternalError=me(`InternalError`),Ke.prototype.isAliasOf=function(e){if(!(this instanceof Ke&&e instanceof Ke))return!1;var t=this.M.P.N,n=this.M.O,r=e.M.P.N;for(e=e.M.O;t.R;)n=t.ba(n),t=t.R;for(;r.R;)e=r.ba(e),r=r.R;return t===r&&n===e},Ke.prototype.clone=function(){if(this.M.O||Ge(this),this.M.aa)return this.M.count.value+=1,this;var e=Ie,t=Object,n=t.create,r=Object.getPrototypeOf(this),i=this.M;return e=e(n.call(t,r,{M:{value:{count:i.count,$:i.$,aa:i.aa,O:i.O,P:i.P,T:i.T,U:i.U}}})),e.M.count.value+=1,e.M.$=!1,e},Ke.prototype.delete=function(){this.M.O||Ge(this),this.M.$&&!this.M.aa&&O(`Object already scheduled for deletion`),De(this),ke(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},Ke.prototype.isDeleted=function(){return!this.M.O},Ke.prototype.deleteLater=function(){return this.M.O||Ge(this),this.M.$&&!this.M.aa&&O(`Object already scheduled for deletion`),be.push(this),be.length===1&&Se&&Se(xe),this.M.$=!0,this},et.prototype.qa=function(e){return this.ka&&(e=this.ka(e)),e},et.prototype.ha=function(e){this.W&&this.W(e)},et.prototype.argPackAdvance=8,et.prototype.readValueFromPointer=ze,et.prototype.deleteObject=function(e){e!==null&&e.delete()},et.prototype.fromWireType=function(e){function t(){return this.da?Fe(this.N.X,{P:this.wa,O:n,U:this,T:e}):Fe(this.N.X,{P:this,O:e})}var n=this.qa(e);if(!n)return this.ha(e),null;var r=Me(this.N,n);if(r!==void 0)return r.M.count.value===0?(r.M.O=n,r.M.T=e,r.clone()):(r=r.clone(),this.ha(e),r);if(r=this.N.pa(n),r=je[r],!r)return t.call(this);r=this.ca?r.la:r.pointerType;var i=Ae(n,this.N,r.N);return i===null?t.call(this):this.da?Fe(r.N.X,{P:r,O:i,U:this,T:e}):Fe(r.N.X,{P:r,O:i})},rt=n.UnboundTypeError=me(`UnboundTypeError`);var Et=typeof atob==`function`?atob:function(e){var t=``,n=0;e=e.replace(/[^A-Za-z0-9\+\/=]/g,``);do{var r=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.indexOf(e.charAt(n++)),i=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.indexOf(e.charAt(n++)),a=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.indexOf(e.charAt(n++)),o=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.indexOf(e.charAt(n++));r=r<<2|i>>4,i=(i&15)<<4|a>>2;var s=(a&3)<<6|o;t+=String.fromCharCode(r),a!==64&&(t+=String.fromCharCode(i)),o!==64&&(t+=String.fromCharCode(s))}while(n<e.length);return t},Dt={l:function(e,t,n,r){E(`Assertion failed: `+(e?f(h,e):``)+`, at: `+[t?t?f(h,t):``:`unknown filename`,n,r?r?f(h,r):``:`unknown function`])},q:function(e,t,n){e=k(e),t=Ee(t,`wrapper`),n=ge(n);var r=[].slice,i=t.N,a=i.X,o=i.R.X,s=i.R.constructor;for(var c in e=fe(e,function(){i.R.ja.forEach(function(e){if(this[e]===o[e])throw new ve(`Pure virtual function `+e+` must be implemented in JavaScript`)}.bind(this)),Object.defineProperty(this,`__parent`,{value:a}),this.__construct.apply(this,r.call(arguments))}),a.__construct=function(){this===a&&O(`Pass correct 'this' to __construct`);var e=s.implement.apply(void 0,[this].concat(r.call(arguments)));De(e);var t=e.M;e.notifyOnDestruction(),t.aa=!0,Object.defineProperties(this,{M:{value:t}}),Ie(this),e=t.O,e=A(i,e),Ce.hasOwnProperty(e)?O(`Tried to register registered instance: `+e):Ce[e]=this},a.__destruct=function(){this===a&&O(`Pass correct 'this' to __destruct`),De(this);var e=this.M.O;e=A(i,e),Ce.hasOwnProperty(e)?delete Ce[e]:O(`Tried to unregister unregistered instance: `+e)},e.prototype=Object.create(a),n)e.prototype[c]=n[c];return _e(e)},j:function(e){var t=Le[e];delete Le[e];var n=t.fa,r=t.W,i=t.ia,a=i.map(e=>e.ta).concat(i.map(e=>e.za));He([e],a,e=>{var a={};return i.forEach((t,n)=>{var r=e[n],o=t.ra,s=t.sa,c=e[n+i.length],l=t.ya,u=t.Aa;a[t.oa]={read:e=>r.fromWireType(o(s,e)),write:(e,t)=>{var n=[];l(u,e,c.toWireType(n,t)),Re(n)}}}),[{name:t.name,fromWireType:function(e){var t={},n;for(n in a)t[n]=a[n].read(e);return r(e),t},toWireType:function(e,t){for(var i in a)if(!(i in t))throw TypeError(`Missing field: "`+i+`"`);var o=n();for(i in a)a[i].write(o,t[i]);return e!==null&&e.push(r,o),o},argPackAdvance:8,readValueFromPointer:ze,V:r}]})},v:function(){},B:function(e,t,n,r,i){var a=Ue(n);t=k(t),We(e,{name:t,fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:i},argPackAdvance:8,readValueFromPointer:function(e){if(n===1)var r=m;else if(n===2)r=g;else if(n===4)r=v;else throw TypeError(`Unknown boolean type size: `+t);return this.fromWireType(r[e>>a])},V:null})},f:function(e,t,n,r,i,a,o,s,c,l,u,d,f){u=k(u),a=j(i,a),s&&=j(o,s),l&&=j(c,l),f=j(d,f);var p=de(u);Je(p,function(){it(`Cannot construct `+u+` due to unbound types`,[r])}),He([e,t,n],r?[r]:[],function(t){if(t=t[0],r)var n=t.N,i=n.X;else i=Ke.prototype;t=fe(p,function(){if(Object.getPrototypeOf(this)!==o)throw new he(`Use 'new' to construct `+u);if(c.Y===void 0)throw new he(u+` has no accessible constructor`);var e=c.Y[arguments.length];if(e===void 0)throw new he(`Tried to invoke ctor of `+u+` with invalid number of parameters (`+arguments.length+`) - expected (`+Object.keys(c.Y).toString()+`) parameters instead!`);return e.apply(this,arguments)});var o=Object.create(i,{constructor:{value:t}});t.prototype=o;var c=new Ye(u,t,o,f,n,a,s,l);n=new et(u,c,!0,!1),i=new et(u+`*`,c,!1,!1);var d=new et(u+` const*`,c,!1,!0);return je[e]={pointerType:i,la:d},tt(p,t),[n,i,d]})},d:function(e,t,n,r,i,a,o){var s=ot(n,r);t=k(t),a=j(i,a),He([],[e],function(e){function r(){it(`Cannot call `+i+` due to unbound types`,s)}e=e[0];var i=e.name+`.`+t;t.startsWith(`@@`)&&(t=Symbol[t.substring(2)]);var c=e.N.constructor;return c[t]===void 0?(r.Z=n-1,c[t]=r):(qe(c,t,i),c[t].S[n-1]=r),He([],s,function(e){return e=at(i,[e[0],null].concat(e.slice(1)),null,a,o),c[t].S===void 0?(e.Z=n-1,c[t]=e):c[t].S[n-1]=e,[]}),[]})},p:function(e,t,n,r,i,a){0<t||E();var o=ot(t,n);i=j(r,i),He([],[e],function(e){e=e[0];var n=`constructor `+e.name;if(e.N.Y===void 0&&(e.N.Y=[]),e.N.Y[t-1]!==void 0)throw new he(`Cannot register multiple constructors with identical number of parameters (`+(t-1)+`) for class '`+e.name+`'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.N.Y[t-1]=()=>{it(`Cannot construct `+e.name+` due to unbound types`,o)},He([],o,function(r){return r.splice(1,0,null),e.N.Y[t-1]=at(n,r,null,i,a),[]}),[]})},a:function(e,t,n,r,i,a,o,s){var c=ot(n,r);t=k(t),a=j(i,a),He([],[e],function(e){function r(){it(`Cannot call `+i+` due to unbound types`,c)}e=e[0];var i=e.name+`.`+t;t.startsWith(`@@`)&&(t=Symbol[t.substring(2)]),s&&e.N.ja.push(t);var l=e.N.X,u=l[t];return u===void 0||u.S===void 0&&u.className!==e.name&&u.Z===n-2?(r.Z=n-2,r.className=e.name,l[t]=r):(qe(l,t,i),l[t].S[n-2]=r),He([],c,function(r){return r=at(i,r,e,a,o),l[t].S===void 0?(r.Z=n-2,l[t]=r):l[t].S[n-2]=r,[]}),[]})},A:function(e,t){t=k(t),We(e,{name:t,fromWireType:function(e){var t=ge(e);return st(e),t},toWireType:function(e,t){return _e(t)},argPackAdvance:8,readValueFromPointer:ze,V:null})},n:function(e,t,n){n=Ue(n),t=k(t),We(e,{name:t,fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:lt(t,n),V:null})},e:function(e,t,n,r,i){t=k(t),i===-1&&(i=4294967295),i=Ue(n);var a=e=>e;if(r===0){var o=32-8*n;a=e=>e<<o>>>o}n=t.includes(`unsigned`)?function(e,t){return t>>>0}:function(e,t){return t},We(e,{name:t,fromWireType:a,toWireType:n,argPackAdvance:8,readValueFromPointer:ut(t,i,r!==0),V:null})},b:function(e,t,n){function r(e){e>>=2;var t=y;return new i(p,t[e+1],t[e])}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];n=k(n),We(e,{name:n,fromWireType:r,argPackAdvance:8,readValueFromPointer:r},{ua:!0})},o:function(e,t){t=k(t);var n=t===`std::string`;We(e,{name:t,fromWireType:function(e){var t=y[e>>2],r=e+4;if(n)for(var i=r,a=0;a<=t;++a){var o=r+a;if(a==t||h[o]==0){if(i=i?f(h,i,o-i):``,s===void 0)var s=i;else s+=`\0`,s+=i;i=o+1}}else{for(s=Array(t),a=0;a<t;++a)s[a]=String.fromCharCode(h[r+a]);s=s.join(``)}return At(e),s},toWireType:function(e,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var r,i=typeof t==`string`;if(i||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||O(`Cannot pass non-string to std::string`),n&&i){var a=0;for(r=0;r<t.length;++r){var o=t.charCodeAt(r);127>=o?a++:2047>=o?a+=2:55296<=o&&57343>=o?(a+=4,++r):a+=3}r=a}else r=t.length;if(a=kt(4+r+1),o=a+4,y[a>>2]=r,n&&i){if(i=o,o=r+1,r=h,0<o){o=i+o-1;for(var s=0;s<t.length;++s){var c=t.charCodeAt(s);if(55296<=c&&57343>=c){var l=t.charCodeAt(++s);c=65536+((c&1023)<<10)|l&1023}if(127>=c){if(i>=o)break;r[i++]=c}else{if(2047>=c){if(i+1>=o)break;r[i++]=192|c>>6}else{if(65535>=c){if(i+2>=o)break;r[i++]=224|c>>12}else{if(i+3>=o)break;r[i++]=240|c>>18,r[i++]=128|c>>12&63}r[i++]=128|c>>6&63}r[i++]=128|c&63}}r[i]=0}}else if(i)for(i=0;i<r;++i)s=t.charCodeAt(i),255<s&&(At(o),O(`String has UTF-16 code units that do not fit in 8 bits`)),h[o+i]=s;else for(i=0;i<r;++i)h[o+i]=t[i];return e!==null&&e.push(At,a),a},argPackAdvance:8,readValueFromPointer:ze,V:function(e){At(e)}})},i:function(e,t,n){if(n=k(n),t===2)var r=dt,i=ft,a=pt,o=()=>_,s=1;else t===4&&(r=mt,i=ht,a=gt,o=()=>y,s=2);We(e,{name:n,fromWireType:function(e){for(var n=y[e>>2],i=o(),a,c=e+4,l=0;l<=n;++l){var u=e+4+l*t;(l==n||i[u>>s]==0)&&(c=r(c,u-c),a===void 0?a=c:(a+=`\0`,a+=c),c=u+t)}return At(e),a},toWireType:function(e,r){typeof r!=`string`&&O(`Cannot pass non-string to C++ string type `+n);var o=a(r),c=kt(4+o+t);return y[c>>2]=o>>s,i(r,c+4,o+t),e!==null&&e.push(At,c),c},argPackAdvance:8,readValueFromPointer:ze,V:function(e){At(e)}})},k:function(e,t,n,r,i,a){Le[e]={name:k(t),fa:j(n,r),W:j(i,a),ia:[]}},h:function(e,t,n,r,i,a,o,s,c,l){Le[e].ia.push({oa:k(t),ta:n,ra:j(r,i),sa:a,za:o,ya:j(s,c),Aa:l})},C:function(e,t){t=k(t),We(e,{va:!0,name:t,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(e,t,n,r,i){e=yt[e],t=ge(t),n=vt(n);var a=[];return y[r>>2]=_e(a),e(t,n,a,i)},t:function(e,t,n,r){e=yt[e],t=ge(t),n=vt(n),e(t,n,null,r)},g:st,m:function(e,t){var n=xt(e,t),r=n[0];t=r.name+`_$`+n.slice(1).map(function(e){return e.name}).join(`_`)+`$`;var i=St[t];if(i!==void 0)return i;var a=Array(e-1);return i=bt((t,i,o,s)=>{for(var c=0,l=0;l<e-1;++l)a[l]=n[l+1].readValueFromPointer(s+c),c+=n[l+1].argPackAdvance;for(t=t[i].apply(t,a),l=0;l<e-1;++l)n[l+1].ma&&n[l+1].ma(a[l]);if(!r.va)return r.toWireType(o,t)}),St[t]=i},D:function(e){4<e&&(D[e].ga+=1)},r:function(e){Re(ge(e)),st(e)},c:function(){E(``)},x:function(e,t,n){h.copyWithin(e,t,t+n)},w:function(e){var t=h.length;if(e>>>=0,2147483648<e)return!1;for(var n=1;4>=n;n*=2){var r=t*(1+.2/n);r=Math.min(r,e+100663296);var i=Math;r=Math.max(e,r),i=i.min.call(i,2147483648,r+(65536-r%65536)%65536);a:{try{u.grow(i-p.byteLength+65535>>>16),S();var a=1;break a}catch{}a=void 0}if(a)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(e,t,n,r){for(var i=0,a=0;a<n;a++){var o=y[t>>2],l=y[t+4>>2];t+=8;for(var u=0;u<l;u++){var d=h[o+u],p=Ct[e];d===0||d===10?((e===1?s:c)(f(p,0)),p.length=0):p.push(d)}i+=l}return y[r>>2]=i,0}};(function(){function e(e){n.asm=e.exports,u=n.asm.E,S(),C=n.asm.J,w.unshift(n.asm.F),T--,n.monitorRunDependencies&&n.monitorRunDependencies(T),T==0&&(re!==null&&(clearInterval(re),re=null),ie&&(e=ie,ie=null,e()))}function t(t){e(t.instance)}function r(e){return le().then(function(e){return WebAssembly.instantiate(e,a)}).then(function(e){return e}).then(e,function(e){c(`failed to asynchronously prepare wasm: `+e),E(e)})}var a={a:Dt};if(T++,n.monitorRunDependencies&&n.monitorRunDependencies(T),n.instantiateWasm)try{return n.instantiateWasm(a,e)}catch(e){c(`Module.instantiateWasm callback failed with error: `+e),i(e)}return(function(){return l||typeof WebAssembly.instantiateStreaming!=`function`||ae(oe)||typeof fetch!=`function`?r(t):fetch(oe,{credentials:`same-origin`}).then(function(e){return WebAssembly.instantiateStreaming(e,a).then(t,function(e){return c(`wasm streaming compile failed: `+e),c(`falling back to ArrayBuffer instantiation`),r(t)})})})().catch(i),{}})(),n.___wasm_call_ctors=function(){return(n.___wasm_call_ctors=n.asm.F).apply(null,arguments)};var Ot=n.___getTypeName=function(){return(Ot=n.___getTypeName=n.asm.G).apply(null,arguments)};n.__embind_initialize_bindings=function(){return(n.__embind_initialize_bindings=n.asm.H).apply(null,arguments)};var kt=n._malloc=function(){return(kt=n._malloc=n.asm.I).apply(null,arguments)},At=n._free=function(){return(At=n._free=n.asm.K).apply(null,arguments)};n.dynCall_jiji=function(){return(n.dynCall_jiji=n.asm.L).apply(null,arguments)};var jt;ie=function e(){jt||Mt(),jt||(ie=e)};function Mt(){function e(){if(!jt&&(jt=!0,n.calledRun=!0,!d)){if(ue(w),r(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n.postRun)for(typeof n.postRun==`function`&&(n.postRun=[n.postRun]);n.postRun.length;){var e=n.postRun.shift();te.unshift(e)}ue(te)}}if(!(0<T)){if(n.preRun)for(typeof n.preRun==`function`&&(n.preRun=[n.preRun]);n.preRun.length;)ne();ue(ee),0<T||(n.setStatus?(n.setStatus(`Running...`),setTimeout(function(){setTimeout(function(){n.setStatus(``)},1),e()},1)):e())}}if(n.preInit)for(typeof n.preInit==`function`&&(n.preInit=[n.preInit]);0<n.preInit.length;)n.preInit.pop()();return Mt(),t.ready})})()})),X,Du,Ou,ku,Au,Z,ju,Mu,Nu,Pu,Q,Fu,Iu,Lu,Ru,zu,Bu,Vu,Hu,Uu=c((()=>{X=function(e){return e[e.Auto=0]=`Auto`,e[e.FlexStart=1]=`FlexStart`,e[e.Center=2]=`Center`,e[e.FlexEnd=3]=`FlexEnd`,e[e.Stretch=4]=`Stretch`,e[e.Baseline=5]=`Baseline`,e[e.SpaceBetween=6]=`SpaceBetween`,e[e.SpaceAround=7]=`SpaceAround`,e[e.SpaceEvenly=8]=`SpaceEvenly`,e}({}),Du=function(e){return e[e.BorderBox=0]=`BorderBox`,e[e.ContentBox=1]=`ContentBox`,e}({}),Ou=function(e){return e[e.Width=0]=`Width`,e[e.Height=1]=`Height`,e}({}),ku=function(e){return e[e.Inherit=0]=`Inherit`,e[e.LTR=1]=`LTR`,e[e.RTL=2]=`RTL`,e}({}),Au=function(e){return e[e.Flex=0]=`Flex`,e[e.None=1]=`None`,e[e.Contents=2]=`Contents`,e}({}),Z=function(e){return e[e.Left=0]=`Left`,e[e.Top=1]=`Top`,e[e.Right=2]=`Right`,e[e.Bottom=3]=`Bottom`,e[e.Start=4]=`Start`,e[e.End=5]=`End`,e[e.Horizontal=6]=`Horizontal`,e[e.Vertical=7]=`Vertical`,e[e.All=8]=`All`,e}({}),ju=function(e){return e[e.None=0]=`None`,e[e.StretchFlexBasis=1]=`StretchFlexBasis`,e[e.AbsolutePositionWithoutInsetsExcludesPadding=2]=`AbsolutePositionWithoutInsetsExcludesPadding`,e[e.AbsolutePercentAgainstInnerSize=4]=`AbsolutePercentAgainstInnerSize`,e[e.All=2147483647]=`All`,e[e.Classic=2147483646]=`Classic`,e}({}),Mu=function(e){return e[e.WebFlexBasis=0]=`WebFlexBasis`,e}({}),Nu=function(e){return e[e.Column=0]=`Column`,e[e.ColumnReverse=1]=`ColumnReverse`,e[e.Row=2]=`Row`,e[e.RowReverse=3]=`RowReverse`,e}({}),Pu=function(e){return e[e.Column=0]=`Column`,e[e.Row=1]=`Row`,e[e.All=2]=`All`,e}({}),Q=function(e){return e[e.FlexStart=0]=`FlexStart`,e[e.Center=1]=`Center`,e[e.FlexEnd=2]=`FlexEnd`,e[e.SpaceBetween=3]=`SpaceBetween`,e[e.SpaceAround=4]=`SpaceAround`,e[e.SpaceEvenly=5]=`SpaceEvenly`,e}({}),Fu=function(e){return e[e.Error=0]=`Error`,e[e.Warn=1]=`Warn`,e[e.Info=2]=`Info`,e[e.Debug=3]=`Debug`,e[e.Verbose=4]=`Verbose`,e[e.Fatal=5]=`Fatal`,e}({}),Iu=function(e){return e[e.Undefined=0]=`Undefined`,e[e.Exactly=1]=`Exactly`,e[e.AtMost=2]=`AtMost`,e}({}),Lu=function(e){return e[e.Default=0]=`Default`,e[e.Text=1]=`Text`,e}({}),Ru=function(e){return e[e.Visible=0]=`Visible`,e[e.Hidden=1]=`Hidden`,e[e.Scroll=2]=`Scroll`,e}({}),zu=function(e){return e[e.Static=0]=`Static`,e[e.Relative=1]=`Relative`,e[e.Absolute=2]=`Absolute`,e}({}),Bu=function(e){return e[e.Undefined=0]=`Undefined`,e[e.Point=1]=`Point`,e[e.Percent=2]=`Percent`,e[e.Auto=3]=`Auto`,e}({}),Vu=function(e){return e[e.NoWrap=0]=`NoWrap`,e[e.Wrap=1]=`Wrap`,e[e.WrapReverse=2]=`WrapReverse`,e}({}),Hu={ALIGN_AUTO:X.Auto,ALIGN_FLEX_START:X.FlexStart,ALIGN_CENTER:X.Center,ALIGN_FLEX_END:X.FlexEnd,ALIGN_STRETCH:X.Stretch,ALIGN_BASELINE:X.Baseline,ALIGN_SPACE_BETWEEN:X.SpaceBetween,ALIGN_SPACE_AROUND:X.SpaceAround,ALIGN_SPACE_EVENLY:X.SpaceEvenly,BOX_SIZING_BORDER_BOX:Du.BorderBox,BOX_SIZING_CONTENT_BOX:Du.ContentBox,DIMENSION_WIDTH:Ou.Width,DIMENSION_HEIGHT:Ou.Height,DIRECTION_INHERIT:ku.Inherit,DIRECTION_LTR:ku.LTR,DIRECTION_RTL:ku.RTL,DISPLAY_FLEX:Au.Flex,DISPLAY_NONE:Au.None,DISPLAY_CONTENTS:Au.Contents,EDGE_LEFT:Z.Left,EDGE_TOP:Z.Top,EDGE_RIGHT:Z.Right,EDGE_BOTTOM:Z.Bottom,EDGE_START:Z.Start,EDGE_END:Z.End,EDGE_HORIZONTAL:Z.Horizontal,EDGE_VERTICAL:Z.Vertical,EDGE_ALL:Z.All,ERRATA_NONE:ju.None,ERRATA_STRETCH_FLEX_BASIS:ju.StretchFlexBasis,ERRATA_ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING:ju.AbsolutePositionWithoutInsetsExcludesPadding,ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE:ju.AbsolutePercentAgainstInnerSize,ERRATA_ALL:ju.All,ERRATA_CLASSIC:ju.Classic,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:Mu.WebFlexBasis,FLEX_DIRECTION_COLUMN:Nu.Column,FLEX_DIRECTION_COLUMN_REVERSE:Nu.ColumnReverse,FLEX_DIRECTION_ROW:Nu.Row,FLEX_DIRECTION_ROW_REVERSE:Nu.RowReverse,GUTTER_COLUMN:Pu.Column,GUTTER_ROW:Pu.Row,GUTTER_ALL:Pu.All,JUSTIFY_FLEX_START:Q.FlexStart,JUSTIFY_CENTER:Q.Center,JUSTIFY_FLEX_END:Q.FlexEnd,JUSTIFY_SPACE_BETWEEN:Q.SpaceBetween,JUSTIFY_SPACE_AROUND:Q.SpaceAround,JUSTIFY_SPACE_EVENLY:Q.SpaceEvenly,LOG_LEVEL_ERROR:Fu.Error,LOG_LEVEL_WARN:Fu.Warn,LOG_LEVEL_INFO:Fu.Info,LOG_LEVEL_DEBUG:Fu.Debug,LOG_LEVEL_VERBOSE:Fu.Verbose,LOG_LEVEL_FATAL:Fu.Fatal,MEASURE_MODE_UNDEFINED:Iu.Undefined,MEASURE_MODE_EXACTLY:Iu.Exactly,MEASURE_MODE_AT_MOST:Iu.AtMost,NODE_TYPE_DEFAULT:Lu.Default,NODE_TYPE_TEXT:Lu.Text,OVERFLOW_VISIBLE:Ru.Visible,OVERFLOW_HIDDEN:Ru.Hidden,OVERFLOW_SCROLL:Ru.Scroll,POSITION_TYPE_STATIC:zu.Static,POSITION_TYPE_RELATIVE:zu.Relative,POSITION_TYPE_ABSOLUTE:zu.Absolute,UNIT_UNDEFINED:Bu.Undefined,UNIT_POINT:Bu.Point,UNIT_PERCENT:Bu.Percent,UNIT_AUTO:Bu.Auto,WRAP_NO_WRAP:Vu.NoWrap,WRAP_WRAP:Vu.Wrap,WRAP_WRAP_REVERSE:Vu.WrapReverse}}));function Wu(e){function t(e,t,n){let r=e[t];e[t]=function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];return n.call(this,r,...t)}}for(let n of[`setPosition`,`setMargin`,`setFlexBasis`,`setWidth`,`setHeight`,`setMinWidth`,`setMinHeight`,`setMaxWidth`,`setMaxHeight`,`setPadding`,`setGap`]){let r={[Bu.Point]:e.Node.prototype[n],[Bu.Percent]:e.Node.prototype[`${n}Percent`],[Bu.Auto]:e.Node.prototype[`${n}Auto`]};t(e.Node.prototype,n,function(e){for(var t=arguments.length,i=Array(t>1?t-1:0),a=1;a<t;a++)i[a-1]=arguments[a];let o=i.pop(),s,c;if(o===`auto`)s=Bu.Auto,c=void 0;else if(typeof o==`object`)s=o.unit,c=o.valueOf();else if(s=typeof o==`string`&&o.endsWith(`%`)?Bu.Percent:Bu.Point,c=parseFloat(o),o!==void 0&&!Number.isNaN(o)&&Number.isNaN(c))throw Error(`Invalid value ${o} for ${n}`);if(!r[s])throw Error(`Failed to execute "${n}": Unsupported unit '${o}'`);return c===void 0?r[s].call(this,...i):r[s].call(this,...i,c)})}function n(t){return e.MeasureCallback.implement({measure:function(){let{width:e,height:n}=t(...arguments);return{width:e??NaN,height:n??NaN}}})}t(e.Node.prototype,`setMeasureFunc`,function(e,t){return t?e.call(this,n(t)):this.unsetMeasureFunc()});function r(t){return e.DirtiedCallback.implement({dirtied:t})}return t(e.Node.prototype,`setDirtiedFunc`,function(e,t){e.call(this,r(t))}),t(e.Config.prototype,`free`,function(){e.Config.destroy(this)}),t(e.Node,`create`,(t,n)=>n?e.Node.createWithConfig(n):e.Node.createDefault()),t(e.Node.prototype,`free`,function(){e.Node.destroy(this)}),t(e.Node.prototype,`freeRecursive`,function(){for(let e=0,t=this.getChildCount();e<t;++e)this.getChild(0).freeRecursive();this.free()}),t(e.Node.prototype,`calculateLayout`,function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:ku.LTR;return e.call(this,t,n,r)}),{Config:e.Config,Node:e.Node,...Hu}}var Gu=c((()=>{Uu()}));async function Ku(){return Wu(await Tu())}var qu=c((()=>{Eu(),Gu(),Uu()}));function Ju(){return Qu}function Yu(e){Qu=e}function Xu(e){$u=e}function Zu(){return $u}var Qu,$u,ed=c((()=>{}));function td(e,t){return e?typeof e==`number`?e:typeof e==`string`&&e.endsWith(`%`)?(t??=1,parseFloat(e)/100*t):Number.isNaN(parseFloat(e))?0:parseFloat(e):0}function nd(e){return typeof e==`number`?`number`:e.endsWith(`%`)?`percentage`:Number.isNaN(parseInt(e,10))?`keyword`:`number`}var rd=c((()=>{}));function id(e,t,n){return(t[e]-n[e])/2}function ad(e,t,n,r,i){let a=t===`percentage`?r[n]-i[n]:1;return td(e)*a}function od(e,t,n){let[r,i]=e,a=nd(r),o=nd(i),s={x:void 0,y:void 0};switch(r){case`top`:s.y=0;break;case`bottom`:s.y=t.height-n.height;break;case`center`:i===`left`||i===`right`?s.y=id(`height`,t,n):s.x=id(`width`,t,n);break;case`left`:s.x=0;break;case`right`:s.x=t.width-n.width;break;default:{let e=i===`top`||i===`bottom`||o!==`keyword`?`width`:`height`,c=e===`width`?`x`:`y`;s[c]=ad(r,a,e,t,n)}}switch(i){case`top`:s.y=0;break;case`bottom`:s.y=t.height-n.height;break;case`center`:s.y===void 0?s.y=id(`height`,t,n):s.x=id(`width`,t,n);break;case`left`:s.x=0;break;case`right`:s.x=t.width-n.width;break;default:{let e=s.y===void 0?`y`:`x`;s[e]=ad(i,o,e===`y`?`height`:`width`,t,n)}}return s}var sd=c((()=>{rd()}));function cd(e,t,n,r){let i=e===`right`||e===`bottom`,a=n===`percentage`?t*r:t;return i?-a:a}function ld(e,t,n){let[r,i,a,o]=e,s=nd(r),c=nd(i),l=nd(a),u=nd(o);if(c===`keyword`||u===`keyword`)throw Error(`Invalid objectPosition value: second and fourth values must be numbers or percentages`);if(s!==`keyword`||l!==`keyword`)throw Error(`Invalid objectPosition value: first and third values must be keywords`);let d=od([r,a],t,n),f={...d},p=td(i),m=td(o);return r===`left`||r===`right`?f.x=d.x+cd(r,p,c,n.width):(r===`top`||r===`bottom`)&&(f.y=d.y+cd(r,p,c,n.height)),a===`left`||a===`right`?f.x=d.x+cd(a,m,u,n.width):(a===`top`||a===`bottom`)&&(f.y=d.y+cd(a,m,u,n.height)),f}var ud=c((()=>{rd(),sd()}));function dd(e,t,n){let r=e[0],i={x:void 0,y:void 0};switch(r){case`top`:i.y=0,i.x=(t.width-n.width)/2;break;case`bottom`:i.y=t.height-n.height,i.x=(t.width-n.width)/2;break;case`left`:i.x=0,i.y=(t.height-n.height)/2;break;case`right`:i.x=t.width-n.width,i.y=(t.height-n.height)/2;break;case`center`:i.x=(t.width-n.width)/2,i.y=(t.height-n.height)/2;break;default:{let e=nd(r)===`percentage`?t.width-n.width:1;i.x=td(r)*e,i.y=(t.height-n.height)/2}}return i}var fd=c((()=>{rd()}));function pd(e,t,n){if(!e)return{x:0,y:0};let r=typeof e==`string`?e.split(` `):[e];switch(r.length){case 1:return dd(r,t,n);case 2:return od(r,t,n);case 4:return ld(r,t,n);default:throw Error(`Invalid objectPosition value: must have 1, 2, or 4 values`)}}var md=c((()=>{sd(),ud(),fd()}));function hd(e){let t=e.target.getLocalBounds(),n=e.target.scale;return gd.width=Math.abs(t.width*n.x),gd.height=Math.abs(t.height*n.y),gd}var gd,_d=c((()=>{gd={width:0,height:0}}));function vd(e,t,n=.49){return Math.abs(e-t)<n}var yd=c((()=>{}));function bd(e,t=0,n={}){let r,i,a=n.maxWait?n.maxWait:t,o,s,c,l=0,u=!!n.leading,d=`maxWait`in n,f=n.trailing??!0,p=t!==0&&typeof globalThis.requestAnimationFrame==`function`;if(typeof e!=`function`)throw TypeError(`Expected a function`);function m(t){let n=r,a=i;return r=i=void 0,l=t,o=e.apply(a,n),o}function h(e,t){return p?(typeof s==`number`&&globalThis.cancelAnimationFrame(s),globalThis.requestAnimationFrame(e)):setTimeout(e,t)}function g(e){if(p){globalThis.cancelAnimationFrame(e);return}clearTimeout(e)}function _(e){return l=e,s=h(b,t),u?m(e):o}function v(e){let n=e-(c||0),r=e-l,i=t-n;return d?Math.min(i,a-r):i}function y(e){let n=e-(c||0),r=e-l;return c===void 0||n>=t||n<0||d&&r>=a}function b(){let e=Date.now();if(y(e))return x(e);s=h(b,v(e))}function x(e){return s=void 0,f&&r?m(e):(r=i=void 0,o)}function S(){s!==void 0&&g(s),l=0,r=c=i=s=void 0}function C(){return s===void 0?o:x(Date.now())}function ee(){return s!==void 0}function w(...e){let n=Date.now(),a=y(n);if(r=e,i=this,c=n,a){if(s===void 0)return _(c);if(d)return s=h(b,t),m(c)}return s===void 0&&(s=h(b,t)),o}return w.cancel=S,w.flush=C,w.pending=ee,w}function xd(e,t,n={}){let r=n.leading??!0,i=n.trailing??!0;if(typeof e!=`function`)throw TypeError(`Expected a function`);return bd(e,t,{leading:r,trailing:i,maxWait:t})}var Sd=c((()=>{}));function Cd(e,t){let n=`getComputed${t.charAt(0).toUpperCase()+t.slice(1)}`;return{top:e.yoga[n](Z.Top),right:e.yoga[n](Z.Right),bottom:e.yoga[n](Z.Bottom),left:e.yoga[n](Z.Left)}}function wd(e,t){let{width:n,height:r}=e.computedLayout,i=Cd(e,`margin`),a=Cd(e,`border`),o=Cd(e,`padding`),s=t.get(`margin`);s.outer.x=-i.left,s.outer.y=-i.top,s.outer.width=n+i.left+i.right,s.outer.height=r+i.top+i.bottom,s.inner.x=0,s.inner.y=0,s.inner.width=n,s.inner.height=r;let c=t.get(`border`);c.outer.x=0,c.outer.y=0,c.outer.width=n,c.outer.height=r,c.inner.x=a.left,c.inner.y=a.top,c.inner.width=n-a.left-a.right,c.inner.height=r-a.top-a.bottom;let l=t.get(`padding`);l.outer.copyFrom(c.inner),l.inner.x=o.left+a.left,l.inner.y=o.top+a.top,l.inner.width=n-o.left-o.right-a.left-a.right,l.inner.height=r-o.top-o.bottom-a.top-a.bottom,Td(e,t)}function Td(e,n){var r;let i=n.get(`flex`),a=n.get(`padding`);i.outer.copyFrom(a.inner);let o=new t.Bounds,s=e.yoga.getChildCount();for(let n=0;n<s;n++){let r=e.yoga.getChild(n).getComputedLayout();o.addRect(new t.Rectangle(r.left,r.top,r.width,r.height))}let c=e.yoga.getFlexDirection();c===Nu.Column||c===Nu.ColumnReverse?(o.width=i.outer.width,o.x=i.outer.x):(o.height=i.outer.height,o.y=i.outer.y),(r=i.inner)==null||r.copyFrom(o.rectangle),n.get(`content`).outer.copyFrom(o.rectangle)}var Ed,Dd=c((()=>{qu(),Ed=(e=>(e.Margin=`margin`,e.Padding=`padding`,e.Border=`border`,e.Flex=`flex`,e.Content=`content`,e))(Ed||{})}));function Od(e,t,n){return`rgb(${Math.round(e[0]+(t[0]-e[0])*n)},${Math.round(e[1]+(t[1]-e[1])*n)},${Math.round(e[2]+(t[2]-e[2])*n)})`}var kd,Ad,jd,Md,Nd=c((()=>{Dd(),kd=Object.defineProperty,Ad=(e,t,n)=>t in e?kd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,jd=(e,t,n)=>Ad(e,typeof t==`symbol`?t:t+``,n),Md=class extends t.Container{constructor(){super(),jd(this,`graphics`),jd(this,`heatGraphics`),this.graphics=new Map,Object.values(Ed).forEach(e=>{let n=new t.Graphics;this.graphics.set(e,n),this.addChild(n)}),this.heatGraphics=new t.Graphics,this.addChild(this.heatGraphics)}init(e){let{target:t,alpha:n,heat:r}=e;e.heatOnly||Object.entries(e).forEach(([e,t])=>{if(e===`target`||e===`alpha`||e===`heat`||e===`heatOnly`)return;t=t;let r=this.graphics.get(e);if(!(!r||!t.draw))if(t.inner)this.drawCutBox(r,t.outer,t.inner,t.color,n);else{let{x:e,y:i,width:a,height:o}=t.outer;r.rect(e,i,a,Math.max(o,1)),r.fill({color:t.color,alpha:n})}});let{invalidationCount:i,draw:a}=r;if(i>0&&a){let t=Math.min(i/20,1),n=e[Ed.Margin],r=Od([255,255,0],[255,0,0],t);this.heatGraphics.rect(n.outer.x,n.outer.y,n.outer.width,n.outer.height),this.heatGraphics.fill({color:r,alpha:Math.min(.3,t)}),this.heatGraphics.stroke({color:r,alpha:Math.max(.3,t),pixelLine:!0})}this.position.set(t.x,t.y)}reset(){this.graphics.forEach(e=>e.clear()),this.heatGraphics.clear(),this.removeFromParent()}drawCutBox(e,t,n,r,i){let{x:a,y:o,width:s,height:c}=t,{x:l,y:u,width:d,height:f}=n;e.rect(a,o,s,c),e.fill({color:r,alpha:i}),e.rect(l,u,d,f),e.cut()}}})),Pd=u({DebugRenderer:()=>Rd}),Fd,Id,Ld,Rd,zd=c((()=>{Dd(),Nd(),Fd=Object.defineProperty,Id=(e,t,n)=>t in e?Fd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ld=(e,t,n)=>Id(e,typeof t==`symbol`?t:t+``,n),Rd=class{constructor(){Ld(this,`holder`,new t.Container),Ld(this,`regions`,new Map),Ld(this,`colors`,{[Ed.Margin]:`#B68655`,[Ed.Padding]:`#BAC57F`,[Ed.Border]:`#E7C583`,[Ed.Content]:`#89B1BE`,[Ed.Flex]:`#6E28D9`}),Ld(this,`alpha`,.75),Object.values(Ed).forEach(e=>{this.regions.set(e,{outer:new t.Rectangle,inner:new t.Rectangle})}),this.holder.__devtoolIgnore=!0,this.holder.__devtoolIgnoreChildren=!0,this.holder.eventMode=`none`,this.holder.interactiveChildren=!1}reset(){for(let e=this.holder.children.length-1;e>=0;e--){let n=this.holder.children[e];t.BigPool.return(n)}}render(e){wd(e,this.regions);let n=Object.values(Ed).reduce((t,n)=>{let r=this.regions.get(n);if(!r)return t;let i=`debugDraw${n.charAt(0).toUpperCase()}${n.slice(1)}`;return t[n]={...r,color:this.colors[n],draw:e._styles.custom[i]??!0},t},{}),{left:r,top:i}=e.computedLayout,a=e.target.getGlobalPosition(),o=t.BigPool.get(Md,{...n,target:{x:a.x+r,y:a.y+i},alpha:this.alpha,heat:{invalidationCount:e._modificationCount,draw:e._styles.custom.debugHeat!==!1},heatOnly:!e._styles.custom.debug});this.holder.addChildAt(o,0)}destroy(){this.reset(),this.holder.destroy(),this.regions.clear()}}})),Bd,Vd,Hd,Ud,Wd=c((()=>{qu(),ed(),md(),_d(),yd(),Sd(),Bd=Object.defineProperty,Vd=(e,t,n)=>t in e?Bd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Hd=(e,t,n)=>Vd(e,typeof t==`symbol`?t:t+``,n),Ud=class{constructor(){Hd(this,`autoUpdate`,!0),Hd(this,`_debugEnabled`,!1),Hd(this,`_debugRenderer`,null),Hd(this,`_throttledUpdateSize`),Hd(this,`_throttle`,100),Hd(this,`_modificationCount`,50)}async init(e){Yu(await Ku()),Xu(Ju().Config.create());let{layout:t}=e??{},{autoUpdate:n,enableDebug:r,throttle:i,debugModificationCount:a}=t??{};r&&this.enableDebug(!0),n!==void 0&&(this.autoUpdate=n),this._throttle=i??this._throttle,this._throttledUpdateSize=xd(e=>this._updateSize(e),this._throttle,{leading:!0,trailing:!0}),this._modificationCount=a??this._modificationCount}async enableDebug(e=!this._debugEnabled){if(this._debugEnabled=e,!this._debugRenderer){let e=await Promise.resolve().then(()=>(zd(),Pd));this._debugRenderer=new e.DebugRenderer}this._debugEnabled||this._debugRenderer.reset()}update(e){this._debugEnabled&&this._debugRenderer&&(this._debugRenderer.reset(),e.addChild(this._debugRenderer.holder)),this._throttle===0?this._updateSize(e):this._throttledUpdateSize(e),this.updateLayout(e)}prerender({container:e}){this.autoUpdate&&this.update(e)}_updateSize(e){if(e.destroyed)return;let t=e._layout;if(t){let n=t.style;if(n.width===`intrinsic`||n.height===`intrinsic`){let e=hd(t);if(n.width===`intrinsic`){let n=t.yoga.getWidth().value;vd(n,e.width)||(t.yoga.setWidth(e.width),t.invalidateRoot())}if(n.height===`intrinsic`){let n=t.yoga.getHeight().value;vd(n,e.height)||(t.yoga.setHeight(e.height),t.invalidateRoot())}}if(!e.visible){t._onChildRemoved();return}}for(let t=0;t<e.children.length;t++)this._updateSize(e.children[t])}updateLayout(e){var t,n;let r=e._layout;if(e.visible){if(r){let i=r.yoga,a=r.style,o=e.parent?.isOverflowContainer;if(!e.parent?._layout&&!o&&r._isDirty&&(r._isDirty=!1,i.calculateLayout(a.width,a.height,i.getDirection()??ku.LTR)),i.hasNewLayout()||r._forceUpdate){i.markLayoutSeen(),r._forceUpdate=!1,r._computedLayout=i.getComputedLayout();let n=pd(a.transformOrigin,r._computedLayout,{width:0,height:0});r._computedPixiLayout={...e.computeLayoutData(r._computedLayout),originX:n.x,originY:n.y},e.emit(`layout`,r),(t=e.onLayout)==null||t.call(e,r),e._onUpdate()}this._debugEnabled&&(r._styles.custom.debug||r._modificationCount>this._modificationCount&&r._styles.custom.debugHeat!==!1)&&((n=this._debugRenderer)==null||n.render(r))}for(let t=0;t<e.children.length;t++)this.updateLayout(e.children[t])}}destroy(){!this._debugEnabled&&this._debugRenderer&&this._debugRenderer.destroy()}},Hd(Ud,`extension`,{type:[t.ExtensionType.WebGLSystem,t.ExtensionType.WebGPUSystem],name:`layout`})}));function Gd(e){if(e in rf)return rf[e];throw Error(`"${e}" is not a valid value for alignContent`)}function Kd(e){if(e in af)return af[e];throw Error(`"${e}" is not a valid value for alignItems`)}function qd(e){if(e in of)return of[e];throw Error(`"${e}" is not a valid value for alignSelf`)}function Jd(e){if(e in sf)return sf[e];throw Error(`"${e}" is not a valid value for boxSizing`)}function Yd(e){if(e in cf)return cf[e];throw Error(`"${e}" is not a valid value for direction`)}function Xd(e){if(e in lf)return lf[e];throw Error(`"${e}" is not a valid value for display`)}function Zd(e){if(e in uf)return uf[e];throw Error(`"${e}" is not a valid value for flexDirection`)}function Qd(e){if(e in df)return df[e];throw Error(`"${e}" is not a valid value for flexWrap`)}function $d(e){if(e in ff)return ff[e];throw Error(`"${e}" is not a valid value for justifyContent`)}function ef(e){if(e in pf)return pf[e];throw Error(`"${e}" is not a valid value for overflow`)}function tf(e){if(e in mf)return mf[e];throw Error(`"${e}" is not a valid value for position`)}function nf(e,t={}){for(let[n,r]of Object.entries(t))try{let t=hf[n];t&&t(e,r)}catch{}if(t.width!==void 0){let n=t.left!==void 0&&t.right!==void 0?`auto`:t.width;e.setWidth(n)}if(t.height!==void 0){let n=t.top!==void 0&&t.bottom!==void 0?`auto`:t.height;e.setHeight(n)}}var rf,af,of,sf,cf,lf,uf,df,ff,pf,mf,hf,gf=c((()=>{qu(),rf={"flex-start":X.FlexStart,"flex-end":X.FlexEnd,center:X.Center,stretch:X.Stretch,"space-between":X.SpaceBetween,"space-around":X.SpaceAround,"space-evenly":X.SpaceEvenly},af={"flex-start":X.FlexStart,"flex-end":X.FlexEnd,center:X.Center,stretch:X.Stretch,baseline:X.Baseline},of={auto:X.Auto,"flex-start":X.FlexStart,"flex-end":X.FlexEnd,center:X.Center,stretch:X.Stretch,baseline:X.Baseline},sf={"border-box":Du.BorderBox,"content-box":Du.ContentBox},cf={ltr:ku.LTR,rtl:ku.RTL},lf={none:Au.None,flex:Au.Flex,contents:Au.Contents},uf={row:Nu.Row,column:Nu.Column,"row-reverse":Nu.RowReverse,"column-reverse":Nu.ColumnReverse},df={wrap:Vu.Wrap,nowrap:Vu.NoWrap,"wrap-reverse":Vu.WrapReverse},ff={"flex-start":Q.FlexStart,"flex-end":Q.FlexEnd,center:Q.Center,"space-between":Q.SpaceBetween,"space-around":Q.SpaceAround,"space-evenly":Q.SpaceEvenly},pf={visible:Ru.Visible,hidden:Ru.Hidden,scroll:Ru.Scroll},mf={absolute:zu.Absolute,relative:zu.Relative,static:zu.Static},hf={alignContent:(e,t)=>e.setAlignContent(Gd(t)),alignItems:(e,t)=>e.setAlignItems(Kd(t)),alignSelf:(e,t)=>e.setAlignSelf(qd(t)),aspectRatio:(e,t)=>e.setAspectRatio(t),borderBottomWidth:(e,t)=>e.setBorder(Z.Bottom,t),borderEndWidth:(e,t)=>e.setBorder(Z.End,t),borderLeftWidth:(e,t)=>e.setBorder(Z.Left,t),borderRightWidth:(e,t)=>e.setBorder(Z.Right,t),borderStartWidth:(e,t)=>e.setBorder(Z.Start,t),borderTopWidth:(e,t)=>e.setBorder(Z.Top,t),borderWidth:(e,t)=>e.setBorder(Z.All,t),borderInlineWidth:(e,t)=>e.setBorder(Z.Horizontal,t),borderBlockWidth:(e,t)=>e.setBorder(Z.Vertical,t),bottom:(e,t)=>e.setPosition(Z.Bottom,t),boxSizing:(e,t)=>e.setBoxSizing(Jd(t)),direction:(e,t)=>e.setDirection(Yd(t)),display:(e,t)=>e.setDisplay(Xd(t)),end:(e,t)=>e.setPosition(Z.End,t),flex:(e,t)=>e.setFlex(t),flexBasis:(e,t)=>e.setFlexBasis(t),flexDirection:(e,t)=>e.setFlexDirection(Zd(t)),rowGap:(e,t)=>e.setGap(Pu.Row,t),gap:(e,t)=>e.setGap(Pu.All,t),columnGap:(e,t)=>e.setGap(Pu.Column,t),flexGrow:(e,t)=>e.setFlexGrow(t),flexShrink:(e,t)=>e.setFlexShrink(t),flexWrap:(e,t)=>e.setFlexWrap(Qd(t)),height:(e,t)=>e.setHeight(t),justifyContent:(e,t)=>e.setJustifyContent($d(t)),left:(e,t)=>e.setPosition(Z.Left,t),margin:(e,t)=>e.setMargin(Z.All,t),marginBottom:(e,t)=>e.setMargin(Z.Bottom,t),marginEnd:(e,t)=>e.setMargin(Z.End,t),marginLeft:(e,t)=>e.setMargin(Z.Left,t),marginRight:(e,t)=>e.setMargin(Z.Right,t),marginStart:(e,t)=>e.setMargin(Z.Start,t),marginTop:(e,t)=>e.setMargin(Z.Top,t),marginInline:(e,t)=>e.setMargin(Z.Horizontal,t),marginBlock:(e,t)=>e.setMargin(Z.Vertical,t),maxHeight:(e,t)=>e.setMaxHeight(t),maxWidth:(e,t)=>e.setMaxWidth(t),minHeight:(e,t)=>e.setMinHeight(t),minWidth:(e,t)=>e.setMinWidth(t),overflow:(e,t)=>e.setOverflow(ef(t)),padding:(e,t)=>e.setPadding(Z.All,t),paddingBottom:(e,t)=>e.setPadding(Z.Bottom,t),paddingEnd:(e,t)=>e.setPadding(Z.End,t),paddingLeft:(e,t)=>e.setPadding(Z.Left,t),paddingRight:(e,t)=>e.setPadding(Z.Right,t),paddingStart:(e,t)=>e.setPadding(Z.Start,t),paddingTop:(e,t)=>e.setPadding(Z.Top,t),paddingInline:(e,t)=>e.setPadding(Z.Horizontal,t),paddingBlock:(e,t)=>e.setPadding(Z.Vertical,t),position:(e,t)=>e.setPositionType(tf(t)),right:(e,t)=>e.setPosition(Z.Right,t),start:(e,t)=>e.setPosition(Z.Start,t),top:(e,t)=>e.setPosition(Z.Top,t),insetInline:(e,t)=>e.setPosition(Z.Horizontal,t),insetBlock:(e,t)=>e.setPosition(Z.Vertical,t),inset:(e,t)=>e.setPosition(Z.All,t),width:(e,t)=>e.setWidth(t)}}));function _f(e,n){let r={...e._styles.custom,...n};r={...Tf.defaultStyle.shared,...e.target instanceof t.ViewContainer||r.isLeaf||Tf.defaultStyle.shared.isLeaf?Tf.defaultStyle.leaf:Tf.defaultStyle.container,...r};let i={...r},a=r.width===`intrinsic`,o=r.height===`intrinsic`;if(a||o){let{width:t,height:n}=hd(e);a&&(i.width=t),o&&(i.height=n)}return{custom:r,yoga:i}}var vf=c((()=>{Ef(),_d()}));function yf(e,t){let n=t.layout,r;if(!n&&t.isOverflowContainer&&(r=t,n=r.parent?.layout,t=r.parent),!n)return!1;let i=e.yoga.getParent();i&&i.removeChild(e.yoga);let a=bf(e,t,r);return a===-1?!1:(n.yoga.getChildCount(),n.yoga.insertChild(e.yoga,a),!0)}function bf(e,t,n){let r=e.target,i=0;if(n){for(let e of t.children){if(e===n){for(let e of n.children)if(!(!e.layout||!e.visible)){if(e===r)return i;i++}return-1}e.layout&&e.visible&&i++}return-1}for(let e of t.children)if(!(!e.layout||!e.visible)){if(e===r)return i;i++}return-1}function xf(e){let t=e.yoga.getParent();t&&t.removeChild(e.yoga)}var Sf=c((()=>{})),Cf,wf,$,Tf,Ef=c((()=>{ed(),gf(),vf(),Sf(),Cf=Object.defineProperty,wf=(e,t,n)=>t in e?Cf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$=(e,t,n)=>wf(e,typeof t==`symbol`?t:t+``,n),Tf=class{constructor({target:e}){$(this,`yoga`),$(this,`target`),$(this,`destroyed`,!1),$(this,`_isDirty`,!1),$(this,`_computedPixiLayout`,{x:0,y:0,offsetX:0,offsetY:0,scaleX:1,scaleY:1,originX:0,originY:0}),$(this,`_computedLayout`,{left:0,right:0,top:0,bottom:0,width:0,height:0}),$(this,`_styles`,{custom:{},yoga:{}}),$(this,`_modificationCount`,0),$(this,`_forceUpdate`,!1),$(this,`hasParent`,!1),$(this,`_trackedStyleKeys`,[`borderRadius`,`borderColor`,`backgroundColor`,`objectFit`,`objectPosition`,`transformOrigin`,`isLeaf`]),this.target=e,this.yoga=Ju().Node.create(Zu()),e.on(`added`,this._onChildAdded,this),e.on(`removed`,this._onChildRemoved,this),e.on(`destroyed`,this.destroy,this)}get style(){return this._styles.custom}get computedLayout(){return this._computedLayout}get computedPixiLayout(){return this._computedPixiLayout}get realX(){return this.target.localTransform.tx}get realY(){return this.target.localTransform.ty}get realScaleX(){return this.target.localTransform.a}get realScaleY(){return this.target.localTransform.d}setStyle(e){let t=_f(this,e),n=JSON.stringify(this._styles.custom)!==JSON.stringify(t.custom),r=JSON.stringify(this._styles.yoga)!==JSON.stringify(t.yoga),i=n||r,a=this._trackedStyleKeys.some(e=>t.custom[e]!==this._styles.custom[e]);this._styles=t,a&&(this._forceUpdate=!0),i&&(nf(this.yoga,this._styles.yoga),this.target._onUpdate(),this.invalidateRoot())}invalidateRoot(e){let t=this.getRoot(e);t.destroyed||(t._layout._isDirty=!0,t._onUpdate(),this._modificationCount++)}forceUpdate(){this._forceUpdate=!0}getRoot(e){let t=e||this.target;for(;t.parent?._layout||t.parent?.isOverflowContainer;)t=t.parent,t.isOverflowContainer&&(t=t.parent);return t}_onChildAdded(e){this.hasParent||yf(this,e)!==!1&&(this.hasParent=!0,this.invalidateRoot())}_onChildRemoved(e){this.hasParent&&(this.hasParent=!1,this.invalidateRoot(e),xf(this))}destroy(){this.destroyed||(this.destroyed=!0,this.invalidateRoot(),this.yoga.free(),this.target.off(`added`,this._onChildAdded,this),this.target.off(`removed`,this._onChildRemoved,this),this._styles=null,this._computedPixiLayout=null,this._computedLayout=null,this.target=null,this.hasParent=!1)}},$(Tf,`defaultStyle`,{leaf:{width:`intrinsic`,height:`intrinsic`},container:{width:`auto`,height:`auto`},shared:{transformOrigin:`50%`,objectPosition:`center`,flexShrink:1,flexDirection:`row`,alignContent:`stretch`,flexWrap:`nowrap`,overflow:`visible`}})}));function Df(e,t,n){let r=1,i=1;switch(e){case`fill`:r=t.width/n.width,i=t.height/n.height;break;case`contain`:{let e=Math.min(t.width/n.width,t.height/n.height);r=e,i=e;break}case`cover`:{let e=Math.max(t.width/n.width,t.height/n.height);r=e,i=e;break}case`none`:r=1,i=1;break;case`scale-down`:{let e=Math.min(1,t.width/n.width,t.height/n.height);r=e,i=e;break}}return{offsetScaleX:r,offsetScaleY:i}}var Of=c((()=>{}));function kf(e,n,r,i){let a=e.getLocalBounds(),{offsetScaleX:o,offsetScaleY:s}=Df(e.layout.style.objectFit||r,n,a),c={width:a.width*o,height:a.height*s},{x:l,y:u}=pd(e.layout.style.objectPosition,n,c);i?(l+=a.width*o*i._x,u+=a.height*s*i._y):(l-=a.minX*o,u-=a.minY*s);let d=e.layout.style.applySizeDirectly;return(d===!0||d==null&&(e instanceof t.TilingSprite||e instanceof t.NineSliceSprite))&&(e.width=a.width*o,e.height=a.height*s,o=1,s=1),{x:n.left,y:n.top,offsetX:l,offsetY:u,scaleX:o,scaleY:s}}var Af=c((()=>{Of(),md()})),jf,Mf=c((()=>{Ef(),Af(),jf=Object.getOwnPropertyDescriptor(t.Container.prototype,`visible`),t.extensions.mixin(t.Container,{_layout:null,get layout(){return this._layout??null},set layout(e){if(e=e===!0?{}:e,!e){this._layout&&(this._layout.destroy(),this._layout=null,this.updateLocalTransform=t.Container.prototype.updateLocalTransform,Object.defineProperty(t.Container.prototype,`visible`,jf));return}if(!this._layout){this._layout=new Tf({target:this}),Object.defineProperty(t.Container.prototype,`visible`,{...jf,set(e){jf.set.call(this,e),this.layout&&(e&&this.parent?this.layout._onChildAdded(this.parent):this.layout._onChildRemoved())}});for(let e of this.children)e.layout&&e.visible&&(e.layout._onChildRemoved(),e.layout._onChildAdded(this));this.parent&&this.visible&&this._layout._onChildAdded(this.parent)}this._layout.setStyle(e),this.updateLocalTransform=this.updateLocalTransformWithLayout,this._onUpdate()},updateLocalTransformWithLayout(){let e=this._didContainerChangeTick;if(this._didLocalTransformChangeId===e)return;this._didLocalTransformChangeId=e;let{x:t,y:n,offsetX:r,offsetY:i,scaleX:a,scaleY:o,originX:s,originY:c}=this._layout._computedPixiLayout,l=this.localTransform,{rotation:u,skew:d,scale:f,position:p}=this,m=u+d._y,h=u-d._x,g=Math.cos(m)*f._x,_=Math.sin(m)*f._x,v=-Math.sin(h)*f._y,y=Math.cos(h)*f._y,b=p._x+t-s*g-c*v,x=p._y+n-s*_-c*y;l.a=g*a,l.b=_*a,l.c=v*o,l.d=y*o,l.tx=b+(r*g+i*v)+s,l.ty=x+(r*_+i*y)+c},computeLayoutData(e){let{isLeaf:t}=this._layout._styles.custom;return t?kf(this,e,`fill`):{x:e.left,y:e.top,offsetX:0,offsetY:0,scaleX:1,scaleY:1}}})})),Nf,Pf,Ff=c((()=>{Of(),md(),Nf=new t.Point(0,0),t.extensions.mixin(t.AbstractText,{computeLayoutData(e){let t=this._style;Nf.copyFrom(this.scale),this.scale=1,t.wordWrap&&(t.wordWrapWidth=e.width);let n=this.getLocalBounds(),{offsetScaleX:r,offsetScaleY:i}=Df(this.layout.style.objectFit||`scale-down`,e,n);t.wordWrap&&(t.wordWrapWidth=e.width/Math.min(1,Math.max(r,i))),n=this.getLocalBounds();let a={width:n.width*r,height:n.height*i},{x:o,y:s}=pd(this.layout.style.objectPosition,e,a);return o+=n.width*r*this.anchor._x,s+=n.height*i*this.anchor._y,this.layout.style.applySizeDirectly===!0&&(this.width=n.width*r,this.height=n.height*i),this.scale.copyFrom(Nf),{x:e.left,y:e.top,offsetX:o,offsetY:s,scaleX:r,scaleY:i}}}),Pf=Object.getOwnPropertyDescriptor(t.AbstractText.prototype,`text`),Object.defineProperty(t.AbstractText.prototype,`text`,{...Pf,set(e){var t;let n=Pf.get.call(this);Pf.set.call(this,e),n!==e&&((t=this.layout)==null||t.forceUpdate())}})})),If=c((()=>{Af(),t.extensions.mixin(t.ViewContainer,{computeLayoutData(e){return kf(this,e,`fill`,this._anchor)}})})),Lf=u({DebugRenderer:()=>Rd,Layout:()=>Tf,LayoutSystem:()=>Ud,applyStyle:()=>nf,formatStyles:()=>_f,getNumberFromStyle:()=>td,getPixiSize:()=>hd,getTypeFromStyle:()=>nd,getYoga:()=>Ju,getYogaConfig:()=>Zu,nearlyEqual:()=>vd,onChildAdded:()=>yf,onChildRemoved:()=>xf,setYoga:()=>Yu,setYogaConfig:()=>Xu}),Rf=c((()=>{Wd(),Mf(),Ff(),If(),zd(),Ef(),gf(),vf(),rd(),_d(),yd(),Sf(),ed(),t.extensions.add(Ud)})),zf=async(e,n,r)=>{let{components:i,autoRegister:a,enableLayout:o,...s}=r??{};o!==!1&&await Promise.resolve().then(()=>(Rf(),Lf)),i?(a!==!1&&ca(),Object.entries(i).forEach(([e,t])=>{H(e,t)})):ca();let c=new t.Application;await c.init({resizeTo:e,autoStart:!1,antialias:!0,...s});let l=t=>{if(t.tag!=`Canvas`)throw Error(`Canvas is required`);t.render(e,c);let{backgroundColor:n}=_a(t.props,{backgroundColor:`black`});return c.renderer.background.color=n(),{canvasElement:t,app:c}},u=G(n);return u instanceof A?new Promise((e,t)=>{let n=!1,r;r=u.subscribe({next(i){try{let t=i?.elements?.[0]??i;if(!t)return;let a=l(t);n||(n=!0,Promise.resolve().then(()=>{e({...a,hmrSubscription:r})}))}catch(e){t(e)}},error:t})}):l(await u)};function Bf(e){return Y.getCurrentIndexSignal(e)}function Vf(e){return Y.getFocusedElementSignal(e)}function Hf(e,t){let n=Y.getCurrentIndexSignal(e),r=Y.getFocusedElementSignal(e);if(!n||!r)return console.warn(`FocusContainer with id "${e}" not found`),()=>{};let i=V(()=>{t(n(),r())});return()=>{i.subscription?.unsubscribe()}}var Uf={linear:ni,easeIn:ri,easeInOut:ai,easeOut:ii,circIn:oi,circInOut:ci,circOut:si,backIn:li,backInOut:di,backOut:ui,anticipate:fi,bounceIn:_i,bounceInOut:vi,bounceOut:gi},Wf=class{constructor(e,n,r,i,a,o,s=0){this.x0=e,this.y0=n,this.x1=r,this.y1=i,this.x2=a,this.y2=o,this.focalPoint=s,this.gradient=null,this.texture=null,this.size=600,this.size=e;let c=this.size*.5;this.canvas=t.DOMAdapter.get().createCanvas(),this.canvas.width=this.size,this.canvas.height=this.size,this.ctx=this.canvas.getContext(`2d`),this.ctx&&(this.gradient=this.ctx.createRadialGradient(c*(1-s),c,0,c,c,c-.5))}addColorStop(e,t){this.gradient&&this.gradient.addColorStop(e,t)}render({translate:e}={}){let{x0:n,y0:r,x1:i,y1:a,x2:o,y2:s,focalPoint:c}=this,l=this.size;if(this.ctx&&this.gradient){this.ctx.fillStyle=this.gradient,this.ctx.fillRect(0,0,l,l),this.texture=new t.Texture({source:new t.ImageSource({resource:this.canvas,addressModeU:`clamp-to-edge`,addressModeV:`clamp-to-edge`})});let c=new t.Matrix,u=Math.sqrt((i-n)*(i-n)+(a-r)*(a-r)),d=Math.sqrt((o-n)*(o-n)+(s-r)*(s-r)),f=Math.atan2(a-r,i-n),p=u/l,m=d/l;c.rotate(-f),c.scale(p,m),e&&c.translate(e.x,e.y),this.transform=c}return{texture:this.texture,matrix:this.transform}}};function Gf(e){if(`count`in e){let t=e.count();if(!Number.isFinite(t)||t<=0)return null;let n=e.min??0;return{min:n,max:n+t-1,size:t}}let t=e.min,n=e.max;return!Number.isFinite(t)||!Number.isFinite(n)||n<t?null:{min:t,max:n,size:n-t+1}}function Kf(e,t,n,r){if(r===`clamp`)return Math.min(n.max,Math.max(n.min,e));if(r===`none`)return e<n.min||e>n.max?t:e;let i=n.size;if(i<=0)return t;let a=((e-n.min)%i+i)%i;return n.min+a}function qf(e,t,n=`wrap`){let r=r=>{let i=e(),a=Gf(t);if(!a)return;let o=Kf(r,i,a,n);o!==i&&e.set(o)};return{next:t=>r(e()+t),set:e=>r(e)}}return e.ArraySubject=On,e.Button=bu,e.ButtonState=yu,e.Canvas=Ba,e.Circle=qa,e.Container=Ha,e.ControlsBase=$t,e.ControlsDirective=ha,e.DOMContainer=gu,e.DOMElement=hu,e.DOMSprite=vu,e.DisplayObject=Ra,e.Drag=Da,e.Drop=Ea,e.EVENTS=La,e.Easing=Uf,e.Ellipse=Ja,e.Flash=Na,e.FocusContainer=Cu,e.FocusManager=Su,e.FogVisibility=Fa,e.GamepadControls=Sn,e.Graphics=Ua,Object.defineProperty(e,`Howl`,{enumerable:!0,get:function(){return xa}}),Object.defineProperty(e,`Howler`,{enumerable:!0,get:function(){return xa.Howler}}),e.Input=en,e.Joystick=xu,e.JoystickControls=wn,e.KeyboardControls=rn,e.Mesh=Za,e.Navigation=wu,e.NineSliceSprite=fu,e.ObjectSubject=An,e.ParticlesEmitter=as,e.RadialGradient=Wf,e.Rect=Ka,e.Scene=oo,e.Scheduler=ga,e.Shake=Ma,e.Sound=Ca,e.Sprite=ls,e.Svg=Xa,e.Text=wl,e.TilingSprite=Tl,e.Transition=Oa,e.Triangle=Ya,Object.defineProperty(e,`Utils`,{enumerable:!0,get:function(){return It}}),e.Video=us,e.Viewport=du,e.ViewportFollow=ba,e.animatedSequence=Zi,e.animatedSignal=Xi,e.bootstrapCanvas=zf,e.checkDependencies=la,e.computed=B,e.cond=ma,e.createComponent=W,e.createHotComponent=ao,e.createTabindexNavigator=qf,Object.defineProperty(e,`currentSubscriptionsTracker`,{enumerable:!0,get:function(){return Qa}}),e.destroyElement=U,e.effect=V,e.focusManager=Y,e.h=G,e.isAnimatedSignal=Yi,e.isArraySubject=kn,e.isComputed=Nn,e.isElement=$i,e.isElementFrozen=da,e.isObjectSubject=jn,e.isObservable=ht,e.isPrimitive=ea,e.isSignal=z,e.isTrigger=ka,e.linkedSignal=Pn,e.loop=pa,e.mount=to,Object.defineProperty(e,`mountTracker`,{enumerable:!0,get:function(){return $a}}),e.on=ja,e.registerAllComponents=ca,e.registerComponent=H,e.signal=R,e.tick=no,e.trigger=Aa,e.untracked=Fn,e.useDefineProps=va,e.useFocusChange=Hf,e.useFocusIndex=Bf,e.useFocusedElement=Vf,e.useProps=_a,e.waitForDependencies=ua,e})({},PIXI);
|
|
5
8
|
//# sourceMappingURL=index.global.js.map
|