angry-pixel 1.2.15 → 1.2.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../packages/math/lib/index.esm.js","../../../packages/core/lib/index.esm.js","../../../packages/input/lib/index.esm.js","../../../packages/2d-physics/lib/index.esm.js"],"sourcesContent":["var t=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}(),e=function(){function e(e,i,n,o){this._position=new t,this._center=new t,this._width=0,this._height=0,this.set(e,i,n,o)}return Object.defineProperty(e.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),e.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},e.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},e.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},e.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},e.prototype.contains=function(i){return i instanceof e?i.x1<=this.x1&&i.x>=this.x&&i.y1<=this.y1&&i.y>=this.y:i instanceof t&&!(i.x<this.x||i.y<this.y||i.x>=this.x1||i.y>=this.y1)},e}(),i=function(t,e,i){return Math.min(i,Math.max(e,t))},n=function(t,e){return Math.round(Math.random()*(e-t))+t},o=function(t,e,i){return void 0===i&&(i=2),r(Math.random()*(e-t)+t,i)},r=function(t,e){return Math.round(t*Math.pow(10,e))/Math.pow(10,e)},s=function(t,e,i){void 0===i&&(i=1);for(var n=[],o=t;o<=e;o+=i)n.push(o);return n},u=function(t,e,i){return t>=e&&t<=i},h=function(){function e(e,i){void 0===e&&(e=null),void 0===i&&(i=null),this._degrees=0,this._radians=0,this._direction=new t,e?this.radians=e:i&&(this.degrees=i)}return Object.defineProperty(e.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),e.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))},e}();export{e as Rectangle,h as Rotation,t as Vector2,u as between,i as clamp,r as fixedRound,o as randomFloat,n as randomInt,s as range};\n//# sourceMappingURL=index.esm.js.map\n","var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};function e(e,i){if(\"function\"!=typeof i&&null!==i)throw new TypeError(\"Class extends value \"+String(i)+\" is not a constructor or null\");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}var i,n=function(){return n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},n.apply(this,arguments)};function r(t,e,i){if(i||2===arguments.length)for(var n,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);return t.concat(n||Array.prototype.slice.call(e))}\"function\"==typeof SuppressedError&&SuppressedError,function(t){t[t.Init=0]=\"Init\",t[t.Start=1]=\"Start\",t[t.Update=2]=\"Update\",t[t.UpdateEngine=3]=\"UpdateEngine\",t[t.UpdateCollider=4]=\"UpdateCollider\",t[t.UpdatePhysics=5]=\"UpdatePhysics\",t[t.UpdateTransform=6]=\"UpdateTransform\",t[t.UpdatePreRender=7]=\"UpdatePreRender\",t[t.UpdateCamera=8]=\"UpdateCamera\",t[t.UpdateRender=9]=\"UpdateRender\",t[t.Destroy=10]=\"Destroy\",t[t.StopGame=11]=\"StopGame\"}(i||(i={}));var o,s,a,h=function(){function t(t,e,n,r,o,s,a){this.timeManager=t,this.physicsManager=e,this.renderManager=n,this.inputManager=r,this.gameObjectManager=o,this.sceneManager=s,this.canvasColor=a,this.running=!1,this.gameLoopAccumulator=0,this.gameObjects=[],this.components=[],this.changingScene=!1,this.sceneEvents=[i.Start,i.Update,i.StopGame],this.gameObjectEvents=[i.Start,i.Update]}return t.prototype.start=function(){this.startLoop(!0)},t.prototype.pause=function(){this.running=!1},t.prototype.resume=function(){this.startLoop(!1)},t.prototype.stop=function(){this.running=!1,this.dispatchFrameEvent(i.StopGame),this.physicsManager.clear(),this.renderManager.clearScreen(this.canvasColor)},t.prototype.startLoop=function(t){this.running||(this.running=!0,t&&this.sceneManager.loadOpeningScene(),this.requestAnimationLoop(window.performance.now()),this.timeManager.gameFramerate!==this.timeManager.physicsFramerate&&this.asyncPhysicsLoop())},t.prototype.requestAnimationLoop=function(t){var e=this;this.running&&(this.timeManager.updateForBrowser(.001*t),this.sceneManager.pendingSceneToload()&&(this.sceneManager.loadPendingScene(),this.changingScene=!1),this.gameLoopAccumulator+=this.timeManager.browserDeltaTime,this.gameLoopAccumulator>=this.timeManager.minGameDeltatime&&(this.gameLogicIteration(.001*t),this.gameLoopAccumulator-=this.timeManager.minGameDeltatime),this.renderIteration(),this.sceneManager.pendingSceneToload()&&(this.changingScene=!0,this.sceneManager.unloadCurrentScene()),window.requestAnimationFrame((function(t){return e.requestAnimationLoop(t)})))},t.prototype.gameLogicIteration=function(t){this.timeManager.updateForGame(t),this.load(),this.dispatchFrameEvent(i.Start),this.inputManager.update(),this.dispatchFrameEvent(i.Update),this.dispatchFrameEvent(i.UpdateEngine),this.dispatchFrameEvent(i.UpdateTransform),this.timeManager.gameFramerate===this.timeManager.physicsFramerate&&(this.timeManager.updateForPhysics(t),this.physicsIteration()),this.dispatchFrameEvent(i.UpdatePreRender)},t.prototype.renderIteration=function(){this.dispatchFrameEvent(i.UpdatePreRender),this.dispatchFrameEvent(i.UpdateCamera),this.dispatchFrameEvent(i.UpdateRender),this.renderManager.clearScreen(this.canvasColor),this.renderManager.render(),this.renderManager.clearData()},t.prototype.physicsIteration=function(){this.timeManager.timeScale<=0||this.changingScene||(this.dispatchFrameEvent(i.UpdatePhysics),this.dispatchFrameEvent(i.UpdateCollider),this.dispatchFrameEvent(i.UpdateTransform),this.physicsManager.resolve(this.timeManager.physicsDeltaTime))},t.prototype.asyncPhysicsLoop=function(){var t=this;this.physicsIntervalId=window.setInterval((function(){if(!t.running)return window.clearInterval(t.physicsIntervalId);t.timeManager.updateForPhysics(.001*window.performance.now()),document.hidden||t.physicsIteration()}),1e3/this.timeManager.physicsFramerate)},t.prototype.load=function(){var t=this;this.loadedScene=this.sceneManager.getLoadedScene(),this.gameObjects=this.gameObjectManager.findGameObjects().filter((function(t){return t.active})),this.components=[],this.gameObjects.forEach((function(e){return e.getComponents().filter((function(t){return t.active})).forEach((function(e){return t.components.push(e)}))}))},t.prototype.dispatchFrameEvent=function(t){this.sceneEvents.includes(t)&&this.loadedScene.dispatch(t),this.gameObjectEvents.includes(t)&&this.gameObjects.forEach((function(e){e.active&&e.dispatch(t)})),this.components.forEach((function(e){e.active&&e.dispatch(t)}))},t}(),c=function(){function t(t){this.updateEvent=i.Update,this.started=!1,this.container=t,this.gameConfig=this.container.getConstant(\"GameConfig\"),this.gameConfig.headless||(this.assetManager=this.container.getSingleton(\"AssetManager\"),this.domManager=this.container.getSingleton(\"DomManager\"),this.inputManager=this.container.getSingleton(\"InputManager\"),this.renderManager=this.container.getSingleton(\"RenderManager\")),this.gameObjectManager=this.container.getSingleton(\"GameObjectManager\"),this.physicsManager=this.container.getSingleton(\"PhysicsManager\"),this.sceneManager=this.container.getSingleton(\"SceneManager\"),this.timeManager=this.container.getSingleton(\"TimeManager\")}return t.prototype.dispatch=function(t,e){t===i.Init&&this.init?this.init(e):t!==i.Start||this.started?t===this.updateEvent&&this.started&&this.update?this.update():t===i.Destroy?(this.onDestroy&&this.onDestroy(),this._destroy()):t===i.StopGame&&(this.onDestroy&&this.onDestroy(),this._stopGame()):(this.start&&this.start(),this.started=!0)},t.prototype.addGameObject=function(t,e,i){return\"string\"==typeof e&&(i=e,e={}),this.gameObjectManager.addGameObject(t,e,void 0,i)},t.prototype.findGameObjects=function(t){return t?this.gameObjectManager.findGameObjects(t):this.gameObjectManager.findGameObjects()},t.prototype.findGameObject=function(t){return this.gameObjectManager.findGameObject(t)},t.prototype.findGameObjectsByTag=function(t){return this.gameObjectManager.findGameObjectsByTag(t)},t.prototype.destroyGameObject=function(t){this.gameObjectManager.destroyGameObject(t)},t}(),l=function(t){function i(e,i,n){void 0===n&&(n=\"\");var r=t.call(this,e)||this;return r.allowMultiple=!0,r._active=!0,r.gameObject=i,r.name=n,r}return e(i,t),Object.defineProperty(i.prototype,\"active\",{get:function(){return this._active},set:function(t){this._active!==t&&(this._active=t,this.onActiveChange())},enumerable:!1,configurable:!0}),i.prototype.onActiveChange=function(){},i.prototype.getCurrentScene=function(){return this.sceneManager.getLoadedScene()},i.prototype.getGameObject=function(){return this.gameObject},i.prototype.getComponents=function(t){return t?this.gameObject.getComponents(t):this.gameObject.getComponents()},i.prototype.getComponent=function(t){return this.gameObject.getComponent(t)},i.prototype.hasComponent=function(t){return this.gameObject.hasComponent(t)},i.prototype.removeComponent=function(t){this.gameObject.removeComponent(t)},i.prototype._destroy=function(){var t=this;Object.keys(this).forEach((function(e){return delete t[e]}))},i.prototype._stopGame=function(){},i}(c),u=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateEngine,e}return e(n,t),n}(l),p=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateCollider,e}return e(n,t),n}(l),d=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdatePhysics,e}return e(n,t),n}(l),f=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateTransform,e}return e(n,t),n}(l),g=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdatePreRender,e}return e(n,t),n}(l),m=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateCamera,e}return e(n,t),n}(l),y=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateRender,e}return e(n,t),n}(l);!function(t){t[t.Polygon=0]=\"Polygon\",t[t.Circumference=1]=\"Circumference\",t[t.Line=2]=\"Line\"}(o||(o={})),function(t){t[t.WorldSpace=0]=\"WorldSpace\",t[t.ViewPort=1]=\"ViewPort\"}(s||(s={})),function(t){t[t.Sprite=0]=\"Sprite\",t[t.Text=1]=\"Text\",t[t.Tilemap=2]=\"Tilemap\",t[t.Mask=3]=\"Mask\",t[t.Geometric=4]=\"Geometric\",t[t.Video=5]=\"Video\"}(a||(a={}));var v=function(){function t(t){this.gl=t,this.viewport={x:0,x1:0,y:0,y1:0},this.object={x:0,x1:0,y:0,y1:0}}return t.prototype.setViewport=function(t,e){var i=t.position,n=t.zoom;e===s.WorldSpace?(this.viewport.x=i.x-this.gl.canvas.width/n/2,this.viewport.x1=i.x+this.gl.canvas.width/n/2,this.viewport.y=i.y-this.gl.canvas.height/n/2,this.viewport.y1=i.y+this.gl.canvas.height/n/2):(this.viewport.x=-this.gl.canvas.width/2,this.viewport.x1=this.gl.canvas.width/2,this.viewport.y=-this.gl.canvas.height/2,this.viewport.y1=this.gl.canvas.height/2)},t.prototype.setObjectForResizeable=function(t){var e=t.position,i=t.width,n=t.height,r=t.rotation,o=void 0===r?0:r,s=Math.abs(Math.sin(o)),a=Math.abs(Math.cos(o)),h=s*n+a*i,c=s*i+a*n;this.object.x=e.x-h/2,this.object.x1=e.x+h/2,this.object.y=e.y-c/2,this.object.y1=e.y+c/2},t.prototype.setObjectForText=function(t){var e=t.position,i=t.text,n=t.fontSize,r=t.lineSeparation,o=t.letterSpacing,s=t.rotation,a=i.split(\"\\n\").reduce((function(t,e){return Math.max(t,e.length)}),0)*(n+(null!=o?o:0))*2,h=i.split(\"\\n\").length*(n+(null!=r?r:0));this.setObjectForResizeable({position:e,width:a,height:h,rotation:s})},t.prototype.setObjectForGeometric=function(t){var e=this,i=t.position,n=t.vertexModel,r=t.shape,s=t.radius;r===o.Circumference?(this.object.x=i.x-s,this.object.y=i.y-s,this.object.x1=i.x+s,this.object.y1=i.y+s):(this.object.x=Number.MAX_SAFE_INTEGER,this.object.y=Number.MAX_SAFE_INTEGER,this.object.x1=Number.MIN_SAFE_INTEGER,this.object.y1=Number.MIN_SAFE_INTEGER,n.forEach((function(t){e.object.x=Math.min(t.x+i.x,e.object.x),e.object.y=Math.min(t.y+i.y,e.object.y),e.object.x1=Math.max(t.x+i.x,e.object.x1),e.object.y1=Math.max(t.y+i.y,e.object.y1)})))},t.prototype.setObjectForTilemap=function(t){t.tilemap.height=Math.ceil(t.tiles.length/t.tilemap.width),this.setObjectForResizeable({position:t.renderPosition,width:t.tilemap.width*t.tilemap.tileWidth,height:t.tilemap.height*t.tilemap.tileHeight,rotation:t.rotation})},t.prototype.applyCullingInTiles=function(t){var e=this,i=t.tiles,n=t.tilemap,r=n.width,o=n.tileWidth,s=n.tileHeight;t.culledTiles=i.map((function(t,i){return e.viewport.x1>=e.object.x+i%r*o&&e.viewport.x<=e.object.x+i%r*o+o&&e.viewport.y1>=e.object.y1-((i/r|0)*s+s)&&e.viewport.y<=e.object.y1-(i/r|0)*s?t:0}))},t.prototype.isInViewPort=function(t,e){switch(this.setViewport(e,t.location),t.type){case a.Video:case a.Mask:case a.Sprite:this.setObjectForResizeable(t);break;case a.Geometric:this.setObjectForGeometric(t);break;case a.Text:this.setObjectForText(t);break;case a.Tilemap:this.setObjectForTilemap(t)}return this.viewport.x1>=this.object.x&&this.viewport.x<=this.object.x1&&this.viewport.y1>=this.object.y&&this.viewport.y<=this.object.y1},t.prototype.applyCulling=function(t,e){var i=this;return e.filter((function(e){return!!i.isInViewPort(e,t)&&(e.type===a.Tilemap&&i.applyCullingInTiles(e),!0)}))},t}(),x=function(){return x=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},x.apply(this,arguments)};function b(t,e,i){if(i||2===arguments.length)for(var n,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);return t.concat(n||Array.prototype.slice.call(e))}\"function\"==typeof SuppressedError&&SuppressedError;var M,_=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}();!function(){function t(t,e,i,n){this._position=new _,this._center=new _,this._width=0,this._height=0,this.set(t,e,i,n)}Object.defineProperty(t.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},t.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},t.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},t.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},t.prototype.contains=function(e){return e instanceof t?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof _&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)}}(),function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new _,t?this.radians=t:e&&(this.degrees=e)}Object.defineProperty(t.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),t.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}(),function(t){t[t.Center=0]=\"Center\",t[t.RightUp=1]=\"RightUp\",t[t.RightDown=2]=\"RightDown\",t[t.RightCenter=3]=\"RightCenter\"}(M||(M={}));var w,C=function(){function t(t,e){this.webglManager=t,this.cullingManager=e,this.renderData=[],this.cameraData=[]}return t.prototype.addRenderData=function(t){this.renderData.push(t)},t.prototype.addCameraData=function(t){this.cameraData.push(t)},t.prototype.render=function(){var t=this;this.cameraData.sort((function(t,e){return t.depth-e.depth})).forEach((function(e){return t.renderByCamera(e)}))},t.prototype.renderByCamera=function(t){var e=this;this.cullingManager.applyCulling(t,this.renderData.filter((function(e){return t.layers.includes(e.layer)})).sort((function(e,i){return t.layers.indexOf(e.layer)-t.layers.indexOf(i.layer)})).map((function(t){return t.type===a.Tilemap?function(t){var e=x(x({},t),{culledTiles:[],tilemap:x(x({},t.tilemap),{height:Math.ceil(t.tiles.length/t.tilemap.width),realWidth:t.tilemap.width*t.tilemap.tileWidth,realHeight:0}),renderPosition:new _});return e.tilemap.realHeight=e.tilemap.height*e.tilemap.tileHeight,function(t){t.renderPosition.set(t.position.x+(t.orientation!==M.Center?t.tilemap.realWidth/2:0),t.position.y+(t.orientation===M.RightDown?-t.tilemap.realHeight/2:t.orientation===M.RightUp?t.tilemap.realHeight/2:0))}(e),e}(t):t}))).forEach((function(i){return e.webglManager.render(i,t)}))},t.prototype.clearData=function(){this.renderData=[],this.cameraData=[]},t.prototype.clearScreen=function(t){this.webglManager.clearCanvas(t)},t.prototype.preloadTexture=function(t){this.webglManager.createTexture(t)},t}();!function(t){t.LegacyWebGL=\"webgl\",t.WebGL2=\"webgl2\"}(w||(w={}));var j=function(){function t(t){if(this.canvas=t,this.contextVersion=this.getContextVersion(),!this.contextVersion)throw new Error(\"Your browser does not support WebGL.\");this.gl=this.canvas.getContext(this.contextVersion)}return t.prototype.getContextVersion=function(){return null!==this.canvas.getContext(w.WebGL2)?w.WebGL2:null!==this.canvas.getContext(w.LegacyWebGL)?w.LegacyWebGL:void 0},t}(),O=function(){function t(){this.fontAtlas=new Map}return t.prototype.hasFontAtlas=function(t){return this.fontAtlas.has(this.symbol(t))},t.prototype.getFontAtlas=function(t){return this.fontAtlas.get(this.symbol(t))},t.prototype.getOrCreate=function(t,e,i){var n;return null!==(n=this.getFontAtlas(e))&&void 0!==n?n:this.create(t,e,i)},t.prototype.create=function(t,e,i){this.bitmapSize=i,this.chars=[];for(var n=0;n<t.length;n+=2)for(var r=t[n];r<=t[n+1];r++)this.chars.push(String.fromCharCode(r));var o=this.renderAtlas(e instanceof FontFace?e.family:e);return this.fontAtlas.set(this.symbol(e),o),o},t.prototype.symbol=function(t){return Symbol.for(t instanceof FontFace?t.family:t)},t.prototype.renderAtlas=function(t){var e=new P(t,this.bitmapSize,Math.ceil(Math.sqrt(this.chars.length))),i=e.canvas.getContext(\"2d\");i.clearRect(0,0,e.canvas.width,e.canvas.height),i.textBaseline=\"top\",i.fillStyle=\"#000\",i.font=\"\".concat(this.bitmapSize,\"px \").concat(t);for(var n=0,r=0,o=0;o<this.chars.length;o++)i.fillText(this.chars[o],n,r),e.glyphs.set(this.chars[o],{id:o,width:i.measureText(this.chars[o]).width}),(n+=this.bitmapSize)>e.canvas.width-this.bitmapSize&&(n=0,r+=this.bitmapSize);return e},t}(),P=function(t,e,i){this.fontFaceFamily=t,this.bitmapFontSize=e,this.gridSize=i,this.canvas=document.createElement(\"canvas\"),this.glyphs=new Map,this.canvas.width=this.gridSize*this.bitmapFontSize,this.canvas.height=this.canvas.width},R=function(){function t(t,e){this.gl=t,this.shaderLoader=e}return t.prototype.create=function(t,e){var i=this.gl.createProgram(),n=this.shaderLoader.load(this.gl.VERTEX_SHADER,t),r=this.shaderLoader.load(this.gl.FRAGMENT_SHADER,e);this.gl.attachShader(i,n),this.gl.attachShader(i,r),this.gl.linkProgram(i);var o=this.gl.LINK_STATUS;if(!this.gl.getProgramParameter(i,o)){var s=this.gl.getProgramInfoLog(i);throw this.gl.deleteProgram(i),new Error(\"Unable to initialize the Program: \".concat(s))}return i},t}(),A=function(){function t(t,e,i){this.gl=t,this.contextVersion=e,this.programFactory=i}return t.prototype.loadProgram=function(){this.program=this.contextVersion===w.WebGL2?this.programFactory.create(\"#version 300 es\\n\\nin vec4 positionCoords;\\nin vec2 textureCoords;\\n\\nout vec2 texCoords;\\n\\nuniform mat4 projectionMatrix;\\nuniform mat4 modelMatrix;\\nuniform mat4 textureMatrix;\\n\\nvoid main()\\n{\\n gl_Position = projectionMatrix * modelMatrix * positionCoords;\\n texCoords = (textureMatrix * vec4(textureCoords, 0, 1)).xy;\\n}\",\"#version 300 es\\nprecision highp float;\\n\\nout vec4 fragColor;\\n\\nin vec2 texCoords;\\n\\nuniform int u_renderTexture;\\nuniform sampler2D u_texImage;\\nuniform vec4 u_solidColor;\\n\\nuniform int u_useTintColor;\\nuniform vec4 u_tintColor;\\n\\nuniform int u_useMaskColor;\\nuniform vec4 u_maskColor;\\nuniform float u_maskColorMix;\\n\\nuniform float u_alpha;\\n\\nvoid main()\\n{\\n if (u_renderTexture == 1) {\\n vec4 texColor = texture(u_texImage, texCoords);\\n\\n if (texColor.a < 0.0001) {\\n discard;\\n }\\n\\n if (u_useTintColor == 1) {\\n texColor = u_tintColor * texColor;\\n }\\n\\n if (u_useMaskColor == 1) {\\n texColor = mix(texColor, u_maskColor, clamp(u_maskColorMix, 0.0, 1.0));\\n }\\n\\n fragColor = vec4(texColor.rgb, u_alpha * texColor.a); \\n } else {\\n fragColor = vec4(u_solidColor.rgb, u_alpha);\\n }\\n}\"):this.programFactory.create(\"precision mediump float;\\n\\nattribute vec2 positionCoords;\\nattribute vec2 textureCoords;\\n\\nvarying vec2 texCoords;\\n\\nuniform mat4 projectionMatrix;\\nuniform mat4 modelMatrix;\\nuniform mat4 textureMatrix;\\n\\nvoid main()\\n{\\n gl_Position = projectionMatrix * modelMatrix * vec4(positionCoords, 0, 1);\\n texCoords = (textureMatrix * vec4(textureCoords, 0, 1)).xy;\\n}\",\"precision mediump float;\\n\\nvarying vec2 texCoords;\\n\\nuniform int u_renderTexture;\\nuniform sampler2D u_texImage;\\nuniform vec4 u_solidColor;\\n\\nuniform int u_useTintColor;\\nuniform vec4 u_tintColor;\\n\\nuniform int u_useMaskColor;\\nuniform vec4 u_maskColor;\\nuniform float u_maskColorMix;\\n\\nuniform float u_alpha;\\n\\nvoid main()\\n{\\n if (u_renderTexture == 1) {\\n vec4 texColor = texture2D(u_texImage, texCoords);\\n\\n if (texColor.a < 0.0001) {\\n discard;\\n }\\n\\n if (u_useTintColor == 1) {\\n texColor = u_tintColor * texColor;\\n }\\n\\n if (u_useMaskColor == 1) {\\n texColor = mix(texColor, u_maskColor, clamp(u_maskColorMix, 0.0, 1.0));\\n }\\n\\n gl_FragColor = vec4(texColor.rgb, u_alpha * texColor.a);\\n } else {\\n gl_FragColor = vec4(u_solidColor.rgb, u_alpha);\\n }\\n}\"),this.positionBuffer=this.gl.createBuffer(),this.textureBuffer=this.gl.createBuffer(),this.positionCoordsAttr=this.gl.getAttribLocation(this.program,\"positionCoords\"),this.texCoordsAttr=this.gl.getAttribLocation(this.program,\"textureCoords\"),this.modelMatrixUniform=this.gl.getUniformLocation(this.program,\"modelMatrix\"),this.projectionMatrixUniform=this.gl.getUniformLocation(this.program,\"projectionMatrix\"),this.textureMatrixUniform=this.gl.getUniformLocation(this.program,\"textureMatrix\"),this.renderTextureUniform=this.gl.getUniformLocation(this.program,\"u_renderTexture\"),this.textureUniform=this.gl.getUniformLocation(this.program,\"u_texImage\"),this.solidColorUniform=this.gl.getUniformLocation(this.program,\"u_solidColor\"),this.useTintColorUniform=this.gl.getUniformLocation(this.program,\"u_useTintColor\"),this.tintColorUniform=this.gl.getUniformLocation(this.program,\"u_tintColor\"),this.useMaskColorUniform=this.gl.getUniformLocation(this.program,\"u_useMaskColor\"),this.maskColorUniform=this.gl.getUniformLocation(this.program,\"u_maskColor\"),this.maskColorMixUniform=this.gl.getUniformLocation(this.program,\"u_maskColorMix\"),this.alphaUniform=this.gl.getUniformLocation(this.program,\"u_alpha\"),this.gl.useProgram(this.program),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.enableVertexAttribArray(this.positionCoordsAttr),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionBuffer),this.gl.vertexAttribPointer(this.positionCoordsAttr,2,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.texCoordsAttr),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.textureBuffer),this.gl.vertexAttribPointer(this.texCoordsAttr,2,this.gl.FLOAT,!1,0,0)},t}(),S=function(){function t(t){this.gl=t}return t.prototype.load=function(t,e){var i=this.gl.createShader(t);this.gl.shaderSource(i,e),this.gl.compileShader(i);var n=this.gl.COMPILE_STATUS;if(!this.gl.getShaderParameter(i,n)){var r=this.gl.getShaderInfoLog(i);throw this.gl.deleteShader(i),new Error(\"Unable to initialize the shader program: \".concat(r))}return i},t}(),E=\"undefined\"!=typeof Float32Array?Float32Array:Array;function T(){var t=new E(16);return E!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function D(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function F(t,e,i){var n,r,o,s,a,h,c,l,u,p,d,f,g=i[0],m=i[1],y=i[2];return e===t?(t[12]=e[0]*g+e[4]*m+e[8]*y+e[12],t[13]=e[1]*g+e[5]*m+e[9]*y+e[13],t[14]=e[2]*g+e[6]*m+e[10]*y+e[14],t[15]=e[3]*g+e[7]*m+e[11]*y+e[15]):(n=e[0],r=e[1],o=e[2],s=e[3],a=e[4],h=e[5],c=e[6],l=e[7],u=e[8],p=e[9],d=e[10],f=e[11],t[0]=n,t[1]=r,t[2]=o,t[3]=s,t[4]=a,t[5]=h,t[6]=c,t[7]=l,t[8]=u,t[9]=p,t[10]=d,t[11]=f,t[12]=n*g+a*m+u*y+e[12],t[13]=r*g+h*m+p*y+e[13],t[14]=o*g+c*m+d*y+e[14],t[15]=s*g+l*m+f*y+e[15]),t}function B(t,e,i){var n=i[0],r=i[1],o=i[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*o,t[9]=e[9]*o,t[10]=e[10]*o,t[11]=e[11]*o,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function U(t,e,i){var n=Math.sin(i),r=Math.cos(i),o=e[0],s=e[1],a=e[2],h=e[3],c=e[4],l=e[5],u=e[6],p=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=o*r+c*n,t[1]=s*r+l*n,t[2]=a*r+u*n,t[3]=h*r+p*n,t[4]=c*r-o*n,t[5]=l*r-s*n,t[6]=u*r-a*n,t[7]=p*r-h*n,t}Math.hypot||(Math.hypot=function(){for(var t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)});var I,L=function(t){var e=/^#?([a-f\\d]{2})?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(t);return e?{r:parseInt(e[2],16)/256,g:parseInt(e[3],16)/256,b:parseInt(e[4],16)/256,a:void 0!==e[1]?parseInt(e[1],16)/256:1}:null},V=function(t,e,i,n){var r,o;(function(t,e,i,n,r,o,s){var a=1/(e-i),h=1/(n-r),c=1/(o-s);t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*h,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+i)*a,t[13]=(r+n)*h,t[14]=(s+o)*c,t[15]=1})(t=D(t),-e.canvas.width/2,e.canvas.width/2,-e.canvas.height/2,e.canvas.height/2,-1,1),n===s.WorldSpace&&(B(t,t,[null!==(r=i.zoom)&&void 0!==r?r:1,null!==(o=i.zoom)&&void 0!==o?o:1,1]),F(t,t,[-i.position.x,-i.position.y,0]))},k=function(){function t(t,e){this.gl=t,this.programManager=e,this.vertices=new Map,this.lastVertices=null,this.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T();var i=2*Math.PI/60;this.circumferenceVertices=new Float32Array(function(t,e,i){void 0===i&&(i=1);for(var n=[],r=1;r<=60;r+=i)n.push(r);return n}(0,0,1).reduce((function(t,e){return b(b([],t,!0),[Math.cos(e*i),Math.sin(e*i)],!1)}),[]))}return t.prototype.render=function(t,e,i){switch(t.shape){case o.Polygon:this.renderLines(t,e,this.gl.LINE_LOOP,i);break;case o.Line:this.renderLines(t,e,this.gl.LINES,i);break;case o.Circumference:this.renderCircumference(t,e)}},t.prototype.renderLines=function(t,e,i,n){var r,o=this.generateVerticesKey(t.vertexModel);!1===this.vertices.has(o)&&this.vertices.set(o,new Float32Array(this.generatePolygonVertices(t.vertexModel)));var s=this.vertices.get(o);this.lastVertices===o&&n===a.Geometric||(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,s,this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,s,this.gl.DYNAMIC_DRAW)),this.lastVertices=o,this.modelMatrix=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(r=t.rotation)&&void 0!==r?r:0),V(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.uniform1i(this.programManager.renderTextureUniform,0);var h=L(t.color),c=h.r,l=h.g,u=h.b,p=h.a;this.gl.uniform4f(this.programManager.solidColorUniform,c,l,u,p),this.gl.uniform1f(this.programManager.alphaUniform,1),this.gl.drawArrays(i,0,s.length/2)},t.prototype.generateVerticesKey=function(t){return Symbol.for(t.reduce((function(t,e){return\"\".concat(t).concat(e.x).concat(e.y)}),t.length.toString()))},t.prototype.generatePolygonVertices=function(t){for(var e=[],i=0;i<t.length;i++)e.push(t[i].x,t[i].y);return e},t.prototype.renderCircumference=function(t,e){this.lastVertices=null,this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.circumferenceVertices,this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.circumferenceVertices,this.gl.DYNAMIC_DRAW),this.modelMatrix=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),B(this.modelMatrix,this.modelMatrix,[t.radius,t.radius,1]),V(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.uniform1i(this.programManager.renderTextureUniform,0);var i=L(t.color),n=i.r,r=i.g,o=i.b,s=i.a;this.gl.uniform4f(this.programManager.solidColorUniform,n,r,o,s),this.gl.uniform1f(this.programManager.alphaUniform,1),this.gl.drawArrays(this.gl.LINE_LOOP,0,this.circumferenceVertices.length/2)},t}();!function(t){t[t.Rectangle=0]=\"Rectangle\",t[t.Circumference=1]=\"Circumference\"}(I||(I={}));var G,W=function(){function t(t,e){this.gl=t,this.programManager=e,this.type=a.Mask,this.rectangleVertices=new Float32Array([-.5,-.5,-.5,.5,.5,-.5,.5,-.5,-.5,.5,.5,.5]),this.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T();for(var i=2*Math.PI/60,n=[0,0],r=0;r<=60;r++)n.push(Math.cos(r*i),Math.sin(r*i));this.circumferenceVertices=new Float32Array(n)}return t.prototype.render=function(t,e,i){var n,r;i===a.Mask&&this.lastShape===t.shape||(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,t.shape===I.Rectangle?this.rectangleVertices:this.circumferenceVertices,this.gl.STATIC_DRAW)),this.modelMatrix=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,t.shape===I.Rectangle?[t.width,t.height,1]:[t.radius,t.radius,1]),V(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),t.alpha>=0&&t.alpha<1?this.gl.enable(this.gl.BLEND):this.gl.disable(this.gl.BLEND),this.gl.uniform1i(this.programManager.renderTextureUniform,0);var o=L(t.color),s=o.r,h=o.g,c=o.b,l=o.a;this.gl.uniform4f(this.programManager.solidColorUniform,s,h,c,l),this.gl.uniform1f(this.programManager.alphaUniform,null!==(r=t.alpha)&&void 0!==r?r:1),t.shape===I.Rectangle?this.gl.drawArrays(this.gl.TRIANGLES,0,6):this.gl.drawArrays(this.gl.TRIANGLE_FAN,0,this.circumferenceVertices.length/2),this.lastShape=t.shape},t}(),H=function(){function t(t,e,i){this.gl=t,this.programManager=e,this.textureManager=i,this.lastTexture=null,this.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T(),this.posVertices=new Float32Array([-.5,-.5,-.5,.5,.5,-.5,.5,-.5,-.5,.5,.5,.5]),this.texVertices=new Float32Array([0,1,0,0,1,1,1,1,0,0,1,0])}return t.prototype.render=function(t,e,i){var n,r,o,s;i!==t.type&&(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.posVertices,this.gl.STATIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.texVertices,this.gl.STATIC_DRAW)),this.modelMatrix=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,[t.width*(t.flipHorizontal?-1:1),t.height*(t.flipVertical?-1:1),1]),this.textureMatrix=D(this.textureMatrix),t.slice&&(F(this.textureMatrix,this.textureMatrix,[t.slice.x/t.image.naturalWidth,t.slice.y/t.image.naturalHeight,0]),B(this.textureMatrix,this.textureMatrix,[t.slice.width/t.image.naturalWidth,t.slice.height/t.image.naturalHeight,1])),V(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.enable(this.gl.BLEND);var a=this.textureManager.getOrCreateTextureFromImage(t.image,t.smooth);if(this.lastTexture===a&&i===t.type||(this.gl.bindTexture(this.gl.TEXTURE_2D,a),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=a),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,null!==(r=t.alpha)&&void 0!==r?r:1),this.gl.uniform1i(this.programManager.useTintColorUniform,t.tintColor?1:0),t.tintColor){var h=L(t.tintColor),c=h.r,l=h.g,u=h.b,p=h.a;this.gl.uniform4f(this.programManager.tintColorUniform,c,l,u,p)}if(this.gl.uniform1i(this.programManager.useMaskColorUniform,t.maskColor?1:0),t.maskColor){var d=L(t.maskColor);c=d.r,l=d.g,u=d.b,this.gl.uniform4f(this.programManager.maskColorUniform,c,l,u,null!==(o=t.alpha)&&void 0!==o?o:1),this.gl.uniform1f(this.programManager.maskColorMixUniform,null!==(s=t.maskColorMix)&&void 0!==s?s:1)}this.gl.drawArrays(this.gl.TRIANGLES,0,6)},t}();!function(t){t[t.Center=0]=\"Center\",t[t.RightUp=1]=\"RightUp\",t[t.RightDown=2]=\"RightDown\",t[t.RightCenter=3]=\"RightCenter\"}(G||(G={}));var z=new _,N=new _,Y=[32,126,161,255],X=G.Center,q=function(){function t(t,e,i,n){this.gl=t,this.programManager=e,this.textureManager=i,this.fontAtlasFactory=n,this.type=a.Text,this.posVertices=[],this.texVertices=[],this.lastTexture=null,this.textSize=new _,this.modelPosition=new _,this.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T()}return t.prototype.render=function(t,e,i){var n;if(!t.text)throw new Error(\"Nothing to render\");this.setDefaultValues(t);var r=this.fontAtlasFactory.getOrCreate(t.bitmap.charRanges,t.font,t.bitmap.fontSize);this.generateTextVertices(r,t),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this.posVertices),this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this.texVertices),this.gl.DYNAMIC_DRAW),this.modelMatrix=D(this.modelMatrix),this.setPositionFromOrientation(t),F(this.modelMatrix,this.modelMatrix,[this.modelPosition.x,this.modelPosition.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,[t.fontSize,t.fontSize,1]),this.textureMatrix=D(this.textureMatrix),V(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),t.alpha<1?this.gl.enable(this.gl.BLEND):this.gl.disable(this.gl.BLEND);var o=this.textureManager.getOrCreateTextureFromCanvas(\"FontFamily:\"+r.fontFaceFamily,r.canvas,t.smooth);this.lastTexture===o&&i===a.Text||(this.gl.bindTexture(this.gl.TEXTURE_2D,o),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=o),this.gl.uniform1i(this.programManager.useTintColorUniform,0),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,t.alpha);var s=L(t.color),h=s.r,c=s.g,l=s.b,u=s.a;this.gl.uniform4f(this.programManager.maskColorUniform,h,c,l,u),this.gl.uniform1f(this.programManager.maskColorMixUniform,1),this.gl.uniform1i(this.programManager.useMaskColorUniform,1),this.gl.drawArrays(this.gl.TRIANGLES,0,this.posVertices.length/2)},t.prototype.setDefaultValues=function(t){var e,i,n,r,o,s,a,h,c,l;t.bitmap?(t.bitmap.margin=null!==(e=t.bitmap.margin)&&void 0!==e?e:z,t.bitmap.spacing=null!==(i=t.bitmap.spacing)&&void 0!==i?i:N,t.bitmap.fontSize=null!==(n=t.bitmap.fontSize)&&void 0!==n?n:64,t.bitmap.charRanges=null!==(r=t.bitmap.charRanges)&&void 0!==r?r:Y):t.bitmap={margin:z,spacing:N,fontSize:64,charRanges:Y},t.color=null!==(o=t.color)&&void 0!==o?o:\"#000000\",t.letterSpacing=null!==(s=t.letterSpacing)&&void 0!==s?s:0,t.lineSeparation=null!==(a=t.lineSeparation)&&void 0!==a?a:0,t.alpha=null!==(h=t.alpha)&&void 0!==h?h:1,t.orientation=null!==(c=t.orientation)&&void 0!==c?c:X,t.rotation=null!==(l=t.rotation)&&void 0!==l?l:0},t.prototype.generateTextVertices=function(t,e){var i=e.text,n=e.fontSize,r=e.bitmap,o=e.letterSpacing,s=e.lineSeparation;this.posVertices=[],this.texVertices=[];var a=0,h=0,c=0;o/=n,s/=n;for(var l=0;l<i.length;l++){var u=i[l];if(\"\\n\"!==u){var p=t.glyphs.get(u);if(p){var d=p.width/t.bitmapFontSize;this.posVertices.push(a,h-1,a+d,h-1,a,h,a,h,a+d,h-1,a+d,h);var f=p.id%t.gridSize*t.bitmapFontSize,g=(p.id/t.gridSize|0)*t.bitmapFontSize,m=(f+r.margin.x)/t.canvas.width,y=(g+r.margin.y)/t.canvas.width,v=(f+p.width+r.spacing.x)/t.canvas.width,x=(g+t.bitmapFontSize+r.spacing.y)/t.canvas.width;this.texVertices.push(m,x,v,x,m,y,m,y,v,x,v,y),a+=d+o}}else c=Math.max(c,a),a=0,h-=1+s}this.textSize.set(Math.max(c,a)*n,Math.abs(h-1)*n)},t.prototype.setPositionFromOrientation=function(t){this.modelPosition.set(t.position.x+(t.orientation===G.Center?-this.textSize.x/2:0),t.position.y+(t.orientation===G.Center||t.orientation===G.RightCenter?this.textSize.y/2:t.orientation===G.RightUp?this.textSize.y:0))},t}(),K=function(){function t(t,e,i){this.gl=t,this.programManager=e,this.textureManager=i,this.posVertices=[],this.texVertices=[],this.lastTexture=null,this.tileset={width:0,tileWidth:0,tileHeight:0,texMargin:new _,texSpacing:new _,texWidth:0,texHeight:0,texCorrection:new _},this.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T()}return t.prototype.render=function(t,e,i){var n,r,o,s;if(0===t.culledTiles.reduce((function(t,e){return t+e}),0))throw new Error(\"Nothing to render\");if(this.processTileset(t),this.generateVertices(t),0===this.posVertices.length)throw new Error(\"Nothing to render\");this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this.posVertices),this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this.texVertices),this.gl.DYNAMIC_DRAW),this.modelMatrix=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.renderPosition.x,t.renderPosition.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,[t.tilemap.tileWidth*(t.flipHorizontal?-1:1),t.tilemap.tileHeight*(t.flipVertical?-1:1),1]),this.textureMatrix=D(this.textureMatrix),B(this.textureMatrix,this.textureMatrix,[this.tileset.tileWidth/t.tileset.image.naturalWidth,this.tileset.tileHeight/t.tileset.image.naturalHeight,1]),V(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.enable(this.gl.BLEND);var h=this.textureManager.getOrCreateTextureFromImage(t.tileset.image,t.smooth);if(this.lastTexture===h&&i===a.Tilemap||(this.gl.bindTexture(this.gl.TEXTURE_2D,h),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=h),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,null!==(r=t.alpha)&&void 0!==r?r:1),this.gl.uniform1i(this.programManager.useTintColorUniform,t.tintColor?1:0),t.tintColor){var c=L(t.tintColor),l=c.r,u=c.g,p=c.b,d=c.a;this.gl.uniform4f(this.programManager.tintColorUniform,l,u,p,d)}if(this.gl.uniform1i(this.programManager.useMaskColorUniform,t.maskColor?1:0),t.maskColor){var f=L(t.maskColor);l=f.r,u=f.g,p=f.b,this.gl.uniform4f(this.programManager.maskColorUniform,l,u,p,null!==(o=t.alpha)&&void 0!==o?o:1),this.gl.uniform1f(this.programManager.maskColorMixUniform,null!==(s=t.maskColorMix)&&void 0!==s?s:1)}this.gl.drawArrays(this.gl.TRIANGLES,0,this.posVertices.length/2)},t.prototype.processTileset=function(t){var e,i,n,r,o,s,a,h=t.tileset;h.margin=null!==(e=h.margin)&&void 0!==e?e:new _,h.spacing=null!==(i=h.spacing)&&void 0!==i?i:new _,h.correction=null!==(n=h.correction)&&void 0!==n?n:new _,this.tileset.width=h.width,this.tileset.tileWidth=h.tileWidth+(null!==(r=h.margin.x)&&void 0!==r?r:0)+(null!==(o=h.spacing.x)&&void 0!==o?o:0),this.tileset.tileHeight=h.tileHeight+(null!==(s=h.margin.y)&&void 0!==s?s:0)+(null!==(a=h.spacing.y)&&void 0!==a?a:0),this.tileset.texMargin.set(h.margin.x/this.tileset.tileWidth,h.margin.y/this.tileset.tileHeight),this.tileset.texSpacing.set(h.spacing.x/this.tileset.tileWidth,h.spacing.y/this.tileset.tileHeight),this.tileset.texCorrection.set(h.correction.x/this.tileset.tileWidth,h.correction.y/this.tileset.tileHeight),this.tileset.texWidth=1-this.tileset.texMargin.x-this.tileset.texSpacing.x-2*this.tileset.texCorrection.x,this.tileset.texHeight=1-this.tileset.texMargin.y-this.tileset.texSpacing.y-2*this.tileset.texCorrection.y},t.prototype.generateVertices=function(t){var e=this,i=t.culledTiles,n=t.tilemap;this.posVertices=[],this.texVertices=[];var r=Math.floor(i.length/n.width);i.forEach((function(t,i){if(0!==t){var o=i%n.width-n.width/2,s=r/2-Math.floor(i/n.width);e.posVertices.push(o,s-1,o+1,s-1,o,s,o,s,o+1,s-1,o+1,s);var a=(t-1)%e.tileset.width+e.tileset.texMargin.x+e.tileset.texCorrection.x,h=Math.floor((t-1)/e.tileset.width)+e.tileset.texMargin.y+e.tileset.texCorrection.y;e.texVertices.push(a,h+e.tileset.texHeight,a+e.tileset.texWidth,h+e.tileset.texHeight,a,h,a,h,a+e.tileset.texWidth,h+e.tileset.texHeight,a+e.tileset.texWidth,h)}}))},t}(),Q=function(){function t(t,e,i){this.gl=t,this.programManager=e,this.textureManager=i,this.lastTexture=null,this.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T(),this.posVertices=new Float32Array([-.5,-.5,-.5,.5,.5,-.5,.5,-.5,-.5,.5,.5,.5]),this.texVertices=new Float32Array([0,1,0,0,1,1,1,1,0,0,1,0])}return t.prototype.render=function(t,e,i){var n,r,o,s;i!==t.type&&(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.posVertices,this.gl.STATIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.texVertices,this.gl.STATIC_DRAW)),this.modelMatrix=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,[t.width*(t.flipHorizontal?-1:1),t.height*(t.flipVertical?-1:1),1]),this.textureMatrix=D(this.textureMatrix),t.slice&&(F(this.textureMatrix,this.textureMatrix,[t.slice.x/t.video.videoWidth,t.slice.y/t.video.videoHeight,0]),B(this.textureMatrix,this.textureMatrix,[t.slice.width/t.video.videoWidth,t.slice.height/t.video.videoHeight,1])),V(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.enable(this.gl.BLEND);var a=this.textureManager.getOrCreateTextureFromVideo(t.video);if(this.lastTexture===a&&i===t.type||(this.gl.bindTexture(this.gl.TEXTURE_2D,a),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=a),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,t.video),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,null!==(r=t.alpha)&&void 0!==r?r:1),this.gl.uniform1i(this.programManager.useTintColorUniform,t.tintColor?1:0),t.tintColor){var h=L(t.tintColor),c=h.r,l=h.g,u=h.b,p=h.a;this.gl.uniform4f(this.programManager.tintColorUniform,c,l,u,p)}if(this.gl.uniform1i(this.programManager.useMaskColorUniform,t.maskColor?1:0),t.maskColor){var d=L(t.maskColor);c=d.r,l=d.g,u=d.b,this.gl.uniform4f(this.programManager.maskColorUniform,c,l,u,null!==(o=t.alpha)&&void 0!==o?o:1),this.gl.uniform1f(this.programManager.maskColorMixUniform,null!==(s=t.maskColorMix)&&void 0!==s?s:1)}this.gl.drawArrays(this.gl.TRIANGLES,0,6)},t}(),$=function(){function t(t){this.gl=t}return t.prototype.createFromImage=function(t,e,i){var n=this;return void 0===e&&(e=!0),void 0===i&&(i=null),i=null!=i?i:this.gl.createTexture(),t.naturalWidth?this.createFromSource(t,i,e):t.addEventListener(\"load\",(function(){return n.createFromSource(t,i,e)})),i},t.prototype.createFromCanvas=function(t,e,i){return void 0===e&&(e=!0),void 0===i&&(i=null),i=null!=i?i:this.gl.createTexture(),this.createFromSource(t,i,e),i},t.prototype.createPixelTexture=function(){var t=this.gl.createTexture();return this.gl.bindTexture(this.gl.TEXTURE_2D,t),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,1,1,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,new Uint8Array([0,0,0,255])),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR),this.gl.bindTexture(this.gl.TEXTURE_2D,null),t},t.prototype.createFromSource=function(t,e,i){void 0===i&&(i=!0),this.gl.bindTexture(this.gl.TEXTURE_2D,e),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,t),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),!1===i?(this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.NEAREST),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.NEAREST)):(this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR)),this.gl.bindTexture(this.gl.TEXTURE_2D,null)},t}(),J=function(){function t(t){this.textureFactory=t,this.textures=new Map}return t.prototype.getOrCreateTextureFromImage=function(t,e){var i;return void 0===e&&(e=!0),null!==(i=this.textures.get(Symbol.for(t.src)))&&void 0!==i?i:this.createTextureFromImage(t,e)},t.prototype.createTextureFromImage=function(t,e){void 0===e&&(e=!0);var i=this.textureFactory.createFromImage(t,e);return this.textures.set(Symbol.for(t.src),i),i},t.prototype.getOrCreateTextureFromCanvas=function(t,e,i){var n;return void 0===i&&(i=!0),null!==(n=this.textures.get(Symbol.for(t)))&&void 0!==n?n:this.createTextureFromCanvas(t,e,i)},t.prototype.createTextureFromCanvas=function(t,e,i){void 0===i&&(i=!0);var n=this.textureFactory.createFromCanvas(e,i);return this.textures.set(Symbol.for(t),n),n},t.prototype.getOrCreateTextureFromVideo=function(t){var e;return null!==(e=this.textures.get(Symbol.for(t.src)))&&void 0!==e?e:this.createTextureFromVideo(t)},t.prototype.createTextureFromVideo=function(t){var e=this.textureFactory.createPixelTexture();return this.textures.set(Symbol.for(t.src),e),e},t}(),Z=function(){function t(t,e,i,n){this.gl=t,this.textureManager=i,this.renderers=n,e.loadProgram()}return t.prototype.render=function(t,e){try{this.renderers.get(t.type).render(t,e,this.lastRender),this.lastRender=t.type}catch(t){return}},t.prototype.clearCanvas=function(t){var e=L(t);this.gl.clearColor(e.r,e.g,e.b,e.a),this.gl.clear(this.gl.COLOR_BUFFER_BIT)},t.prototype.createTexture=function(t,e){void 0===e&&(e=!1),this.textureManager.createTextureFromImage(t,e)},t}(),tt=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}(),et=function(){function t(t,e,i,n){this._position=new tt,this._center=new tt,this._width=0,this._height=0,this.set(t,e,i,n)}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},t.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},t.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},t.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},t.prototype.contains=function(e){return e instanceof t?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof tt&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)},t}(),it=function(t,e,i){return Math.min(i,Math.max(e,t))};!function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new tt,t?this.radians=t:e&&(this.degrees=e)}Object.defineProperty(t.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),t.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}();var nt,rt=function(){function t(){}return t.prototype.create=function(t){var e=t.shape,i=t.layer,n=t.updateCollisions,r=t.physics,o=t.position,s=t.rotation,a=t.group,h=t.onCollision;return{id:0,active:!0,layer:i,shape:e,updateCollisions:n,physics:r,position:null!=o?o:new tt,rotation:null!=s?s:0,group:a,onCollision:h}},t}(),ot=function(){function t(t,e){void 0===e&&(e=0),this.area=new et(0,0,0,0),this.depth=0,this.items=[],this.children=[],this.depth=e,this.resize(t)}return t.prototype.resize=function(t){this.clear(),this.area.copy(t)},t.prototype.clear=function(){this.items=[],this.children.forEach((function(t){return t.clear()})),this.children=[]},t.prototype.insert=function(t,e){0===this.children.length&&this.items.length>16&&this.depth<8&&this.split(),this.children.length>0?this.insertItemIntoChildren(t,e):this.items.push([t,e])},t.prototype.split=function(){var e=this,i=this.area.width/2,n=this.area.height/2;this.children=[new et(this.area.x,this.area.y,i,n),new et(this.area.x,this.area.y+n,i,n),new et(this.area.x+i,this.area.y+n,i,n),new et(this.area.x+i,this.area.y,i,n)].map((function(i){return new t(i,e.depth+1)})),this.items.forEach((function(t){return e.insertItemIntoChildren(t[0],t[1])})),this.items=[]},t.prototype.insertItemIntoChildren=function(t,e){this.getChildrenForArea(e).forEach((function(i){return i.insert(t,e)}))},t.prototype.retrieve=function(t){var e=[];return this.children.length>0?this.getChildrenForArea(t).forEach((function(i){return e.push.apply(e,i.retrieve(t))})):this.items.forEach((function(t){return e.push(t[0])})),e},t.prototype.getChildrenForArea=function(t){var e=[];return t.x<=this.area.center.x&&t.y<=this.area.center.y&&e.push(this.children[0]),t.x<=this.area.center.x&&t.y1>=this.area.center.y&&e.push(this.children[1]),t.x1>=this.area.center.x&&t.y1>=this.area.center.y&&e.push(this.children[2]),t.x1>=this.area.center.x&&t.y<=this.area.center.y&&e.push(this.children[3]),e},t}(),st=function(t,e,i,n){return Math.min((t-e)/i|0,n-1)},at=function(){function t(t){this.coordinates={x0:0,x1:0,y0:0,y1:0},this._subdivisions=1,this.resize(t)}return Object.defineProperty(t.prototype,\"subdivisions\",{get:function(){return this._subdivisions},set:function(t){this._subdivisions=it(t,1,20)},enumerable:!1,configurable:!0}),t.prototype.resize=function(t){this.area=t,this.cellWidth=Math.ceil(t.width/this._subdivisions),this.cellHeight=Math.ceil(t.height/this._subdivisions),this.itemsInCells=[];for(var e=0;e<this._subdivisions;e++){this.itemsInCells[e]=[];for(var i=0;i<this._subdivisions;i++)this.itemsInCells[e][i]=[]}},t.prototype.clear=function(){for(var t=0;t<this._subdivisions;t++)for(var e=0;e<this._subdivisions;e++)this.itemsInCells[t][e]=[]},t.prototype.insert=function(t,e){this.updateCoordinates(e);for(var i=this.coordinates.x0;i<=this.coordinates.x1;i++)for(var n=this.coordinates.y0;n<=this.coordinates.y1;n++)this.itemsInCells[i][n].push(t)},t.prototype.retrieve=function(t){var e=[];this.updateCoordinates(t);for(var i=this.coordinates.x0;i<=this.coordinates.x1;i++)for(var n=this.coordinates.y0;n<=this.coordinates.y1;n++)this.itemsInCells[i][n].forEach((function(t){return e.includes(t)?null:e.push(t)}));return e},t.prototype.updateCoordinates=function(t){this.coordinates.x0=st(t.x,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.x1=st(t.x1,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.y0=st(t.y,this.area.y,this.cellHeight,this._subdivisions),this.coordinates.y1=st(t.y1,this.area.y,this.cellHeight,this._subdivisions)},t}();!function(t){t[t.QuadTree=0]=\"QuadTree\",t[t.SpartialGrid=1]=\"SpartialGrid\"}(nt||(nt={}));var ht,ct=function(){function t(t,e,i,n){this.collisions=[],this.lastCollidersAmount=0,this.minArea=new tt,this.maxArea=new tt,this.newArea=new et(0,0,0,0),this.method=t,this.colliders=[],this.activeColliders=[],this.collisionMatrix=n,this.setupBroadPhaseResolver(null!=e?e:nt.QuadTree,i)}return t.prototype.setupBroadPhaseResolver=function(t,e){this.collisionArea=null!=e?e:new et(0,0,0,0),this.fixedCollisionArea=!!e,t===nt.SpartialGrid?this.broadPhaseResolver=new at(this.collisionArea):this.broadPhaseResolver=new ot(this.collisionArea)},t.prototype.addCollider=function(t){t.id=this.colliders.length,this.colliders.push(t)},t.prototype.getCollider=function(t){return this.colliders[t]},t.prototype.removeCollider=function(t){this.colliders.splice(t.id,1),this.colliders.forEach((function(t,e){return t.id=e}))},t.prototype.clearColliders=function(){this.colliders=[]},t.prototype.getCollisionsForCollider=function(t){return t.active?this.collisions.filter((function(e){return e.localCollider.id===t.id})):[]},t.prototype.refreshCollisionsForCollider=function(t){this.colliders[t.id]&&t.active&&(this.collisions=this.collisions.filter((function(e){return e.localCollider.id!==t.id&&e.remoteCollider.id!==t.id})),this.updateShape(t),this.narrowPhase(t,this.broadPhase(t)))},t.prototype.resolve=function(){var t=this;this.collisions=[],0!==this.colliders.length&&(this.activeColliders=this.colliders.filter((function(t){return t.active})),this.broadPhaseResolver.clear(),this.activeColliders.forEach((function(e){t.updateShape(e)})),!1===this.fixedCollisionArea&&(this.updateNewArea(),!1===this.newArea.equals(this.collisionArea)&&(this.collisionArea.copy(this.newArea),this.broadPhaseResolver.resize(this.collisionArea))),this.checkForSpartialGridResize(),this.activeColliders.forEach((function(e){var i=e.id,n=e.shape.boundingBox;return t.broadPhaseResolver.insert(i,n)})),this.updateCollisions())},t.prototype.updateShape=function(t){t.shape.position=t.position,t.shape.rotation=t.rotation,t.shape.update()},t.prototype.updateNewArea=function(){var t=this;this.activeColliders.forEach((function(e){var i=e.shape.boundingBox;t.minArea.set(Math.min(i.x,t.minArea.x),Math.min(i.y,t.minArea.y)),t.maxArea.set(Math.max(i.x1,t.maxArea.x),Math.max(i.y1,t.maxArea.y))})),this.newArea.set(this.minArea.x,this.minArea.y,this.maxArea.x-this.minArea.x,this.maxArea.y-this.minArea.y)},t.prototype.checkForSpartialGridResize=function(){this.broadPhaseResolver instanceof at&&this.lastCollidersAmount!==this.activeColliders.length&&(this.broadPhaseResolver.subdivisions=1+(this.activeColliders.length/10|0),this.broadPhaseResolver.resize(this.collisionArea),this.lastCollidersAmount=this.activeColliders.length)},t.prototype.updateCollisions=function(){var t=this;this.activeColliders.filter((function(t){return t.updateCollisions})).forEach((function(e){return t.narrowPhase(e,t.broadPhase(e))}))},t.prototype.broadPhase=function(t){var e=this;return this.collisionMatrix?this.broadPhaseResolver.retrieve(t.shape.boundingBox).map((function(t){return e.colliders[t]})).filter((function(t){return t.active})).filter((function(i){return e.collisionMatrix.some((function(e){return e[0]===t.layer&&e[1]===i.layer||e[1]===t.layer&&e[0]===i.layer}))})):this.broadPhaseResolver.retrieve(t.shape.boundingBox).map((function(t){return e.colliders[t]})).filter((function(t){return t.active}))},t.prototype.narrowPhase=function(t,e){var i=this;e.filter((function(e){return!(t.group&&e.group&&e.group===t.group||t.id===e.id)})).forEach((function(e){if(!i.isResolved(t,e)){var n=i.method.getCollisionResolution(t.shape,e.shape);null!==n&&(i.collisions.push({localCollider:t,remoteCollider:e,resolution:n},{localCollider:e,remoteCollider:t,resolution:{direction:n.displacementDirection,displacementDirection:n.direction,penetration:n.penetration}}),t.onCollision&&t.onCollision(n))}}))},t.prototype.isResolved=function(t,e){for(var i=0,n=this.collisions;i<n.length;i++){var r=n[i];if(r.localCollider.id===t.id&&r.remoteCollider.id===e.id)return!0}return!1},t}();!function(t){t[t.Polygon=0]=\"Polygon\",t[t.Circumference=1]=\"Circumference\",t[t.Line=2]=\"Line\"}(ht||(ht={}));var lt,ut=function(){function t(t,e,i){this.AABBResolver=t,this.circumferenceAABBResolver=e,this.circumferenceResolver=i}return t.prototype.getCollisionResolution=function(t,e){return t.type===ht.Polygon&&e.type===ht.Polygon?this.AABBResolver.resolve(t,e):t.type===ht.Circumference&&e.type===ht.Polygon?this.circumferenceAABBResolver.resolve(t,e):t.type===ht.Polygon&&e.type===ht.Circumference?this.circumferenceAABBResolver.resolve(e,t,!0):t.type===ht.Circumference&&e.type===ht.Circumference?this.circumferenceResolver.resolve(t,e):null},t}();!function(t){t[t.AABB=0]=\"AABB\",t[t.SAT=1]=\"SAT\"}(lt||(lt={}));var pt=function(){function t(t,e){this.circumferenceResolver=t,this.satResolver=e}return t.prototype.getCollisionResolution=function(t,e){return t.type===ht.Circumference&&e.type===ht.Circumference?this.circumferenceResolver.resolve(t,e):this.satResolver.resolve(t,e)},t}(),dt=function(){function t(){this.direction=new tt,this.displacementDirection=new tt}return t.prototype.resolve=function(t,e){var i=t.boundingBox,n=e.boundingBox;return this.overlapX=Math.min(i.x1,n.x1)-Math.max(i.x,n.x),this.overlapY=Math.min(i.y1,n.y1)-Math.max(i.y,n.y),this.overlapX<0||this.overlapY<0?null:(this.checkOverlapForLines(i,n),this.direction.set(Math.sign(n.center.x-i.center.x),Math.sign(n.center.y-i.center.y)),this.preventContainment(i,n),this.overlapY<this.overlapX?(this.minOverlap=this.overlapY,this.displacementDirection.set(0,-this.direction.y)):(this.minOverlap=this.overlapX,this.displacementDirection.set(-this.direction.x,this.overlapY===this.overlapX?-this.direction.y:0)),tt.unit(this.displacementDirection,this.displacementDirection),{direction:tt.scale(new tt,this.displacementDirection,-1),displacementDirection:this.displacementDirection.clone(),penetration:this.minOverlap})},t.prototype.checkOverlapForLines=function(t,e){0!==t.width&&0!==e.width||0!==this.overlapX||(this.overlapX=Math.min(Math.abs(t.x-e.x),Math.abs(t.x1-e.x1))),0!==t.height&&0!==e.height||0!==this.overlapY||(this.overlapY=Math.min(Math.abs(t.y-e.y),Math.abs(t.y1-e.y1)))},t.prototype.preventContainment=function(t,e){if(this.overlapY>0&&(t.y1>e.y1&&t.y<e.y||t.y1<e.y1&&t.y>e.y)){var i=Math.abs(t.y-e.y),n=Math.abs(t.y1-e.y1);this.overlapY+=i<n?i:n}this.overlapX>0&&(t.x1>e.x1&&t.x<e.x||t.x1<e.x1&&t.x>e.x)&&(i=Math.abs(t.x-e.x),n=Math.abs(t.x1-e.x1),this.overlapX+=i<n?i:n)},t}(),ft=function(){function t(){this.closestPoint=new tt,this.distance=new tt,this.direction=new tt}return t.prototype.resolve=function(t,e,i){return void 0===i&&(i=!1),this.closestPoint.set(it(t.position.x,e.boundingBox.x,e.boundingBox.x1),it(t.position.y,e.boundingBox.y,e.boundingBox.y1)),tt.subtract(this.distance,this.closestPoint,t.position),this.distance.magnitude>t.radius?null:(tt.unit(this.direction,this.distance),{direction:i?tt.scale(new tt,this.direction,-1):this.direction.clone(),displacementDirection:i?this.direction.clone():tt.scale(new tt,this.direction,-1),penetration:t.radius-this.distance.magnitude})},t}(),gt=function(){function t(){this.distance=new tt,this.direction=new tt}return t.prototype.resolve=function(t,e){return tt.subtract(this.distance,e.position,t.position),this.distance.magnitude>t.radius+e.radius?null:(tt.unit(this.direction,this.distance),{direction:this.direction.clone(),displacementDirection:tt.scale(new tt,this.direction,-1),penetration:t.radius+e.radius-this.distance.magnitude})},t}(),mt=function(t,e){return mt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},mt(t,e)};function yt(t,e,i){if(i||2===arguments.length)for(var n,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);return t.concat(n||Array.prototype.slice.call(e))}\"function\"==typeof SuppressedError&&SuppressedError;var vt,xt=function(){function t(){this.projA={min:0,max:0},this.projB={min:0,max:0},this.smallestAxis=new tt,this.distance=new tt(1/0,1/0),this.cache=new tt}return t.prototype.resolve=function(t,e){var i=this;this.minOverlap=1/0,t.type===ht.Circumference?this.setCircumferenceAxis(t,e):e.type===ht.Circumference&&this.setCircumferenceAxis(e,t),this.axes=yt([],t.projectionAxes,!0),e.projectionAxes.forEach((function(t){return i.axes.some((function(e){return e.equals(t)}))?null:i.axes.push(t)}));for(var n=0;n<this.axes.length;n++){if(t.type===ht.Circumference?this.setCircumferenceVertices(t,this.axes[n]):e.type===ht.Circumference&&this.setCircumferenceVertices(e,this.axes[n]),this.projectShapeOntoAxis(this.projA,t,this.axes[n]),this.projectShapeOntoAxis(this.projB,e,this.axes[n]),this.currentOverlap=Math.min(this.projA.max,this.projB.max)-Math.max(this.projA.min,this.projB.min),this.currentOverlap<0)return null;if(this.invertAxis=!0,this.projA.max>this.projB.max&&this.projA.min<this.projB.min||this.projA.max<this.projB.max&&this.projA.min>this.projB.min){var r=Math.abs(this.projA.min-this.projB.min),o=Math.abs(this.projA.max-this.projB.max);r<o?this.currentOverlap+=r:(this.currentOverlap+=o,tt.scale(this.axes[n],this.axes[n],-1),this.invertAxis=!1)}this.currentOverlap<this.minOverlap&&(this.minOverlap=this.currentOverlap,this.smallestAxis.copy(this.axes[n]),this.invertAxis&&this.projA.max<this.projB.max&&tt.scale(this.smallestAxis,this.axes[n],-1))}return{direction:tt.scale(new tt,this.smallestAxis,-1),displacementDirection:this.smallestAxis.clone(),penetration:this.minOverlap}},t.prototype.projectShapeOntoAxis=function(t,e,i){return t.min=1/0,t.max=-1/0,e.vertices.forEach((function(e){t.min=Math.min(tt.dot(i,e),t.min),t.max=Math.max(tt.dot(i,e),t.max)})),t},t.prototype.setCircumferenceAxis=function(t,e){var i=this;this.distance.set(1/0,1/0),e.vertices.forEach((function(e){tt.subtract(i.cache,e,t.position),i.cache.magnitude<i.distance.magnitude&&i.distance.copy(i.cache)})),tt.unit(t.projectionAxes[0],this.distance)},t.prototype.setCircumferenceVertices=function(t,e){tt.add(t.vertices[0],t.position,tt.scale(this.cache,tt.unit(this.cache,e),-t.radius)),tt.add(t.vertices[1],t.position,tt.scale(this.cache,tt.unit(this.cache,e),t.radius))},t}(),bt=function(){function t(t,e,i,n){this.collisionManager=t,this.colliderFactory=e,this.rigidBodyManager=i,this.rigidBodyFactory=n}return t.prototype.addCollider=function(t){var e=this.colliderFactory.create(t);return this.collisionManager.addCollider(e),e},t.prototype.removeCollider=function(t){this.collisionManager.removeCollider(t)},t.prototype.getCollisionsForCollider=function(t){return this.collisionManager.getCollisionsForCollider(t)},t.prototype.addRigidBody=function(t){var e=this.rigidBodyFactory.create(t);return this.rigidBodyManager.addRigidBody(e),e},t.prototype.removeRigidBody=function(t){this.rigidBodyManager.removeRigidBody(t)},t.prototype.resolve=function(t){this.collisionManager.resolve(),this.rigidBodyManager.resolve(t)},t.prototype.clear=function(){this.collisionManager.clearColliders(),this.rigidBodyManager.clearRigidBodies()},t}(),Mt=function(){function t(){}return t.prototype.create=function(t){var e=t.colliderIds,i=t.type,n=t.gravity,r=t.position,o=t.velocity,s=t.onResolve;if(0===e.length)throw new Error(\"RigidBody needs at least one collider\");return{active:!0,colliderIds:e,type:i,gravity:null!=n?n:0,position:null!=r?r:new tt,velocity:null!=o?o:new tt,onResolve:s}},t}();!function(t){t[t.Static=0]=\"Static\",t[t.Dynamic=1]=\"Dynamic\",t[t.Kinematic=2]=\"Kinematic\"}(vt||(vt={}));var _t=[\"x\",\"y\"],wt=function(){function t(t){this.collisionManager=t,this.rigidBodies=[],this.activeRigidBodies=[],this.colliders=[],this.velocity=new tt,this.displacement=new tt,this.cacheDisplacement=0}return t.prototype.addRigidBody=function(t){this.rigidBodies.push(t)},t.prototype.removeRigidBody=function(t){var e=this.rigidBodies.indexOf(t);e>=0&&this.rigidBodies.splice(e,1)},t.prototype.clearRigidBodies=function(){this.rigidBodies=[]},t.prototype.resolve=function(t){var e=this;this.activeRigidBodies=this.rigidBodies.filter((function(t){return t.active})),this.colliders=this.activeRigidBodies.reduce((function(t,e){return yt(yt([],t,!0),e.colliderIds,!0)}),[]),this.activeRigidBodies.forEach((function(i){i.type===vt.Dynamic?e.dynamicUpdate(i,t):i.type===vt.Kinematic&&e.kinematicUpdate(i,t),i.onResolve&&i.onResolve(i)}))},t.prototype.dynamicUpdate=function(t,e){var i=this;this.applyGravity(t,e),_t.forEach((function(n){i.applyVelocity(t,e,n),i.obtainDisplacement(t,n),i.applyReposition(t,n)}))},t.prototype.kinematicUpdate=function(t,e){var i=this;tt.add(t.position,t.position,tt.scale(this.velocity,t.velocity,e)),t.colliderIds.map((function(t){return i.collisionManager.getCollider(t)})).forEach((function(t){tt.add(t.position,t.position,i.velocity),i.collisionManager.refreshCollisionsForCollider(t)}))},t.prototype.applyGravity=function(t,e){t.gravity>0&&(t.velocity.y-=t.gravity*e)},t.prototype.applyVelocity=function(t,e,i){var n=this;this.velocity[i]=t.velocity[i]*e,0!==this.velocity[i]&&(t.position[i]+=this.velocity[i],t.colliderIds.map((function(t){return n.collisionManager.getCollider(t)})).forEach((function(t){t.position[i]+=n.velocity[i],n.collisionManager.refreshCollisionsForCollider(t)})))},t.prototype.obtainDisplacement=function(t,e){var i=this;this.displacement[e]=0,this.getCollisions(t).forEach((function(t){i.cacheDisplacement=t.resolution.displacementDirection[e]*t.resolution.penetration,i.displacement[e]=Math.abs(i.displacement[e])>Math.abs(i.cacheDisplacement)?i.displacement[e]:i.cacheDisplacement}))},t.prototype.applyReposition=function(t,e){var i=this;0!==this.displacement[e]&&(t.position[e]+=this.displacement[e],t.colliderIds.map((function(t){return i.collisionManager.getCollider(t)})).forEach((function(t){t.position[e]+=i.displacement[e],i.collisionManager.refreshCollisionsForCollider(t)})),Math.sign(this.displacement[e])!==Math.sign(t.velocity[e])&&(t.velocity[e]=0))},t.prototype.getCollisions=function(t){var e=this;return t.colliderIds.map((function(t){return e.collisionManager.getCollider(t)})).filter((function(t){return t.active&&t.physics})).reduce((function(t,i){return t.push.apply(t,e.collisionManager.getCollisionsForCollider(i).filter((function(t){return t.remoteCollider.physics&&e.colliders.includes(t.remoteCollider.id)}))),t}),[])},t}(),Ct=function(){function t(t){this.radius=t,this.type=ht.Circumference,this.boundingBox=new et(0,0,0,0),this.vertices=[new tt,new tt],this.projectionAxes=[new tt],this._position=new tt}return Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),t.prototype.update=function(){this.updateBoundingBox()},t.prototype.updateBoundingBox=function(){this.boundingBox.set(this.position.x-this.radius,this.position.y-this.radius,2*this.radius,2*this.radius)},t}(),jt=function(){function t(t){this.vertexModel=t,this.type=ht.Polygon,this.vertices=[new tt,new tt],this.projectionAxes=[new tt],this.boundingBox=new et(0,0,0,0),this.rotation=0,this._position=new tt}return t.prototype.update=function(){this.updateVertices(),this.updateBoundingBox(),this.updateProjectionAxes()},Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),t.prototype.updateVertices=function(){for(var t=0;t<this.vertexModel.length;t++)this.vertices[t].set(this.vertexModel[t].x*Math.cos(this.rotation)-this.vertexModel[t].y*Math.sin(this.rotation)+this._position.x,this.vertexModel[t].x*Math.sin(this.rotation)+this.vertexModel[t].y*Math.cos(this.rotation)+this._position.y)},t.prototype.updateBoundingBox=function(){this.boundingBox.x=Math.min(this.vertices[0].x,this.vertices[1].x),this.boundingBox.y=Math.min(this.vertices[0].y,this.vertices[1].y),this.boundingBox.width=Math.max(this.vertices[0].x,this.vertices[1].x)-this.boundingBox.x,this.boundingBox.height=Math.max(this.vertices[0].y,this.vertices[1].y)-this.boundingBox.y},t.prototype.updateProjectionAxes=function(){tt.normal(this.projectionAxes[0],tt.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0]))},t}(),Ot=function(){function t(t){this.vertexModel=t,this.type=ht.Polygon,this.vertices=[],this.boundingBox=new et(0,0,0,0),this.rotation=0,this._projectionAxes=[],this._position=new tt,this.boxMinX=Number.MAX_SAFE_INTEGER,this.boxMinY=Number.MAX_SAFE_INTEGER,this.boxMaxX=-Number.MAX_SAFE_INTEGER,this.boxMaxY=-Number.MAX_SAFE_INTEGER;for(var e=0;e<this.vertexModel.length;e++)this.vertices.push(new tt),this._projectionAxes.push(new tt)}return Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"projectionAxes\",{get:function(){return this._projectionAxes},enumerable:!1,configurable:!0}),t.prototype.update=function(){this.updateVertices(),this.updateBoundingBox(),this.updateProjectionAxes()},t.prototype.updateVertices=function(){for(var t=0;t<this.vertexModel.length;t++)this.vertices[t].set(this.vertexModel[t].x*Math.cos(this.rotation)-this.vertexModel[t].y*Math.sin(this.rotation)+this._position.x,this.vertexModel[t].x*Math.sin(this.rotation)+this.vertexModel[t].y*Math.cos(this.rotation)+this._position.y)},t.prototype.updateBoundingBox=function(){var t=this;this.boxMinX=this.vertices[0].x,this.boxMinY=this.vertices[0].y,this.boxMaxX=this.vertices[0].x,this.boxMaxY=this.vertices[0].y,this.vertices.forEach((function(e){t.boxMinX=Math.min(e.x,t.boxMinX),t.boxMinY=Math.min(e.y,t.boxMinY),t.boxMaxX=Math.max(e.x,t.boxMaxX),t.boxMaxY=Math.max(e.y,t.boxMaxY)})),this.boundingBox.set(this.boxMinX,this.boxMinY,this.boxMaxX-this.boxMinX,this.boxMaxY-this.boxMinY)},t.prototype.updateProjectionAxes=function(){for(var t,e=0;e<this.vertices.length;e++)tt.normal(this._projectionAxes[e],tt.subtract(this._projectionAxes[e],null!==(t=this.vertices[e+1])&&void 0!==t?t:this.vertices[0],this.vertices[e]))},t}(),Pt=function(t){function e(e,i){var n=t.call(this,[new tt(-e/2,-i/2),new tt(-e/2,i/2),new tt(e/2,i/2),new tt(e/2,-i/2)])||this;return n.width=e,n.height=i,n._projectionAxes=[new tt,new tt],n}return function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Class extends value \"+String(e)+\" is not a constructor or null\");function i(){this.constructor=t}mt(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}(e,t),e.prototype.updateSize=function(t,e){this.width=t,this.height=e,this.vertexModel[0].set(-t/2,-e/2),this.vertexModel[1].set(-t/2,e/2),this.vertexModel[2].set(t/2,e/2),this.vertexModel[3].set(t/2,-e/2)},e.prototype.updateProjectionAxes=function(){tt.unit(this.projectionAxes[0],tt.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0])),tt.normal(this.projectionAxes[1],this.projectionAxes[0])},e}(Ot),Rt=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}();!function(){function t(t,e,i,n){this._position=new Rt,this._center=new Rt,this._width=0,this._height=0,this.set(t,e,i,n)}Object.defineProperty(t.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},t.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},t.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},t.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},t.prototype.contains=function(e){return e instanceof t?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof Rt&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)}}(),function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new Rt,t?this.radians=t:e&&(this.degrees=e)}Object.defineProperty(t.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),t.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}();var At,St=function(){function t(){var t=this;this.gamepads=new Map,this.eventHandler=function(e){\"gamepadconnected\"===e.type?t.gamepadConnected(e.gamepad):\"gamepaddisconnected\"===e.type&&t.gamepadDisconected(e.gamepad)},window.addEventListener(\"gamepadconnected\",this.eventHandler),window.addEventListener(\"gamepaddisconnected\",this.eventHandler)}return t.prototype.getGamepad=function(t){var e;return null!==(e=this.gamepads.get(t))&&void 0!==e?e:null},t.prototype.getGamepads=function(){return Array.from(this.gamepads.values())},t.prototype.gamepadConnected=function(t){this.gamepads.set(t.index,new Et),this.gamepads.get(t.index).updateFromGamepad(t)},t.prototype.gamepadDisconected=function(t){this.gamepads.delete(t.index)},t.prototype.update=function(){for(var t=0,e=this.getGamepadsFromBrowser();t<e.length;t++){var i=e[t];null!==i&&(!1===this.gamepads.has(i.index)?this.gamepadConnected(i):this.gamepads.get(i.index).updateFromGamepad(i))}},t.prototype.getGamepadsFromBrowser=function(){return navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:[]},t}(),Et=function(){function t(){this.buttons=new Map,this.axes=new Map,this._dpadAxes=new Rt,this._leftStickAxes=new Rt,this._rightStickAxes=new Rt,this._vibrating=!1}return t.prototype.updateFromGamepad=function(t){var e=this;this._gamepad=t,t.buttons.forEach((function(t,i){return e.buttons.set(i,t.pressed)})),t.axes.forEach((function(t,i){return e.axes.set(i,t)}))},Object.defineProperty(t.prototype,\"id\",{get:function(){return this._gamepad.id},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"connected\",{get:function(){return this._gamepad.connected},enumerable:!1,configurable:!0}),t.prototype.getButtonPressed=function(t){return this.buttons.get(t)},t.prototype.getAxis=function(t){return this.axes.get(t)},Object.defineProperty(t.prototype,\"dpadAxes\",{get:function(){return this._dpadAxes.set(this.dpadRight?1:this.dpadLeft?-1:0,this.dpadUp?1:this.dpadDown?-1:0),this._dpadAxes},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftStickAxes\",{get:function(){return this._leftStickAxes.set(this.leftStickHorizontal,this.leftStickVertical),this._leftStickAxes},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightStickAxes\",{get:function(){return this._rightStickAxes.set(this.rightStickHorizontal,this.rightStickVertical),this._rightStickAxes},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dpadUp\",{get:function(){var t;return null!==(t=this.buttons.get(12))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dpadDown\",{get:function(){var t;return null!==(t=this.buttons.get(13))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dpadLeft\",{get:function(){var t;return null!==(t=this.buttons.get(14))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dpadRight\",{get:function(){var t;return null!==(t=this.buttons.get(15))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"bottomFace\",{get:function(){var t;return null!==(t=this.buttons.get(0))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightFace\",{get:function(){var t;return null!==(t=this.buttons.get(1))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftFace\",{get:function(){var t;return null!==(t=this.buttons.get(2))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"topFace\",{get:function(){var t;return null!==(t=this.buttons.get(3))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftShoulder\",{get:function(){var t;return null!==(t=this.buttons.get(4))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightShoulder\",{get:function(){var t;return null!==(t=this.buttons.get(5))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftTrigger\",{get:function(){var t;return null!==(t=this.buttons.get(6))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightTrigger\",{get:function(){var t;return null!==(t=this.buttons.get(7))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"back\",{get:function(){var t;return null!==(t=this.buttons.get(8))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"start\",{get:function(){var t;return null!==(t=this.buttons.get(9))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftStickButton\",{get:function(){var t;return null!==(t=this.buttons.get(10))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightStickButton\",{get:function(){var t;return null!==(t=this.buttons.get(11))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftStickHorizontal\",{get:function(){var t;return null!==(t=this.axes.get(0))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftStickVertical\",{get:function(){var t;return null!==(t=-this.axes.get(1))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightStickHorizontal\",{get:function(){var t;return null!==(t=this.axes.get(2))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightStickVertical\",{get:function(){var t;return null!==(t=-this.axes.get(3))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"anyButtonPressed\",{get:function(){var t;return null!==(t=Array.from(this.buttons.values()).find((function(t){return t})))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"vibrating\",{get:function(){return this._vibrating},enumerable:!1,configurable:!0}),t.prototype.vibrate=function(t,e,i,n){var r=this;void 0===t&&(t=200),void 0===e&&(e=.2),void 0===i&&(i=.2),void 0===n&&(n=0),this._gamepad.vibrationActuator&&(this._vibrating=!0,this._gamepad.vibrationActuator.playEffect(this._gamepad.vibrationActuator.type,{duration:t,weakMagnitude:e,strongMagnitude:i,startDelay:n}).catch((function(){return r._vibrating=!1})).finally((function(){return r._vibrating=!1})))},t}(),Tt=function(){function t(t,e,i,n){this.mouse=t,this.keyboard=e,this.gamepad=i,this.touch=n}return t.prototype.update=function(){this.mouse.update(),this.gamepad.update()},t}(),Dt=function(){function t(t){var e=this;this.pressedKeys=[],this.keyMap=new Map,this.eventHandler=function(t){if(\"keydown\"===t.type&&(e.keyMap.set(t.code,!0),e.pressedKeys.includes(t.code)||e.pressedKeys.push(t.code)),\"keyup\"===t.type){e.keyMap.set(t.code,!1);var i=e.pressedKeys.indexOf(t.code);-1!==i&&e.pressedKeys.splice(i,1)}},t.addEventListener(\"keydown\",this.eventHandler),t.addEventListener(\"keyup\",this.eventHandler)}return t.prototype.isPressed=function(t){var e;return null!==(e=this.keyMap.get(t))&&void 0!==e&&e},t.prototype.orPressed=function(t){var e=this;return t.reduce((function(t,i){var n;return t||null!==(n=e.keyMap.get(i))&&void 0!==n&&n}),!1)},t.prototype.andPressed=function(t){var e=this;return t.reduce((function(t,i){var n;return t&&null!==(n=e.keyMap.get(i))&&void 0!==n&&n}),!0)},t.prototype.isPressedReturn=function(t,e,i){return this.keyMap.get(t)?e:i},t.prototype.orPressedReturn=function(t,e,i){var n=this;return t.reduce((function(t,e){var i;return t||null!==(i=n.keyMap.get(e))&&void 0!==i&&i}),!1)?e:i},t.prototype.andPressedReturn=function(t,e,i){var n=this;return t.reduce((function(t,e){var i;return t&&null!==(i=n.keyMap.get(e))&&void 0!==i&&i}),!0)?e:i},t}(),Ft=function(){function t(t){this._leftButtonPressed=!1,this._scrollButtonPressed=!1,this._rightButtonPressed=!1,this._positionInViewport=new Rt,this._hasMoved=!1,this._wheelScroll=new Rt,this.lastPositionInViewport=new Rt,this.canvas=t,this.setup()}return Object.defineProperty(t.prototype,\"leftButtonPressed\",{get:function(){return this._leftButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"scrollButtonPressed\",{get:function(){return this._scrollButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightButtonPressed\",{get:function(){return this._rightButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"positionInViewport\",{get:function(){return this._positionInViewport},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"hasMoved\",{get:function(){return this._hasMoved},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"wheelScroll\",{get:function(){return this._wheelScroll},enumerable:!1,configurable:!0}),t.prototype.update=function(){!1===this._positionInViewport.equals(this.lastPositionInViewport)?(this._hasMoved=!0,this.lastPositionInViewport.copy(this._positionInViewport)):this._hasMoved=!1,this.wheelEvent?(this._wheelScroll.set(this.wheelEvent.deltaX,this.wheelEvent.deltaY),this.wheelEvent=void 0):this._wheelScroll.set(0,0)},t.prototype.setup=function(){var t=this;this.canvas.addEventListener(\"mousemove\",(function(e){return t.updatePosition(e)})),this.canvas.addEventListener(\"mousedown\",(function(e){return t.updateButtonDown(e)})),this.canvas.addEventListener(\"mouseup\",(function(e){return t.updateButtonUp(e)})),this.canvas.addEventListener(\"wheel\",(function(e){return t.handleWheelEvent(e)}))},t.prototype.updateButtonDown=function(t){this.canvas.focus(),t.preventDefault(),t.stopPropagation(),this._leftButtonPressed=0===t.button,this._scrollButtonPressed=1===t.button,this._rightButtonPressed=2===t.button},t.prototype.updateButtonUp=function(t){t.preventDefault(),t.stopPropagation(),this._leftButtonPressed=0!==t.button&&this._leftButtonPressed,this._scrollButtonPressed=1!==t.button&&this._scrollButtonPressed,this._rightButtonPressed=2!==t.button&&this._rightButtonPressed},t.prototype.updatePosition=function(t){t.preventDefault(),t.stopPropagation(),this._positionInViewport.set(t.offsetX/(this.canvas.clientWidth/this.canvas.width)-this.canvas.width/2,-t.offsetY/(this.canvas.clientHeight/this.canvas.height)+this.canvas.height/2)},t.prototype.handleWheelEvent=function(t){t.preventDefault(),t.stopPropagation(),this.wheelEvent=t},t}(),Bt=function(){function t(t){var e=this;this._touching=!1,this._interactions=[],this.eventHandler=function(t){\"touchstart\"===t.type&&(e._touching=!0,e.updatePosition(t)),\"touchmove\"===t.type&&e.updatePosition(t),\"touchend\"!==t.type&&\"touchcancel\"!==t.type||(e._touching=!1)},this.canvas=t,this.canvas.addEventListener(\"touchstart\",this.eventHandler),this.canvas.addEventListener(\"touchend\",this.eventHandler),this.canvas.addEventListener(\"touchcancel\",this.eventHandler),this.canvas.addEventListener(\"touchmove\",this.eventHandler)}return Object.defineProperty(t.prototype,\"touching\",{get:function(){return this._touching},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"interactions\",{get:function(){return this._interactions},enumerable:!1,configurable:!0}),t.prototype.updatePosition=function(t){if(t.preventDefault(),t.stopPropagation(),this._interactions=[],0!==t.targetTouches.length)for(var e=0;e<t.targetTouches.length;e++)this._interactions[e]={positionInViewport:new Rt((t.targetTouches[e].clientX-this.canvas.offsetLeft)/(this.canvas.clientWidth/this.canvas.width)-this.canvas.width/2,-(t.targetTouches[e].clientY-this.canvas.offsetTop)/(this.canvas.clientHeight/this.canvas.height)+this.canvas.height/2),radius:new Rt(t.targetTouches[e].radiusX,t.targetTouches[e].radiusY)}},t}();!function(t){t.Image=\"Image\",t.Audio=\"Audio\",t.Font=\"Font\",t.Video=\"Video\"}(At||(At={}));var Ut,It=function(){function t(t){this.renderManager=t,this.assets=[]}return t.prototype.getAssetsLoaded=function(){return this.assets.reduce((function(t,e){return t&&e.loaded}),!0)},t.prototype.loadImage=function(t,e){var i=this;void 0===e&&(e=!1);var n=new Image;n.crossOrigin=\"\",n.src=t;var r=this.createAsset(t,At.Image,n),o=function(){e&&i.renderManager.preloadTexture(n),r.loaded=!0};return n.naturalWidth?o():n.addEventListener(\"load\",o),n},t.prototype.loadAudio=function(t){var e=new Audio;e.src=t;var i=this.createAsset(t,At.Audio,e);return e.duration?i.loaded=!0:e.addEventListener(\"canplaythrough\",(function(){return i.loaded=!0})),e},t.prototype.loadFont=function(t,e){var i=new FontFace(t,\"url(\".concat(e,\")\")),n=this.createAsset(e,At.Font,i);return n.family=t,i.load().then((function(t){document.fonts.add(t),n.loaded=!0})),i},t.prototype.loadVideo=function(t){var e=document.createElement(\"video\");e.playsInline=!0,e.src=t;var i=this.createAsset(t,At.Video,e);return e.duration?i.loaded=!0:e.addEventListener(\"canplaythrough\",(function(){return i.loaded=!0})),e},t.prototype.getImage=function(t){var e;return null===(e=this.assets.find((function(e){return e.type===At.Image&&e.url===t})))||void 0===e?void 0:e.element},t.prototype.getAudio=function(t){var e;return null===(e=this.assets.find((function(e){return e.type===At.Audio&&e.url===t})))||void 0===e?void 0:e.element},t.prototype.getFont=function(t){var e;return null===(e=this.assets.find((function(e){return e.type===At.Font&&e.family===t})))||void 0===e?void 0:e.element},t.prototype.getVideo=function(t){var e;return null===(e=this.assets.find((function(e){return e.type===At.Video&&e.url===t})))||void 0===e?void 0:e.element},t.prototype.createAsset=function(t,e,i){var n={type:e,url:t,element:i,loaded:!1};return this.assets.push(n),n},t}(),Lt=function(t){function i(e){var i=t.call(this,e)||this;return i.name=\"AngryPixelException\",i}return e(i,t),i}(Error),Vt=function(){function t(t,e,i){if(this._canvas=null,!t)throw new Lt(\"containerNode cannot be empty or null.\");this.containerNode=t,this.gameWidth=e,this.gameHeight=i,this.setupCanvas()}return Object.defineProperty(t.prototype,\"canvas\",{get:function(){return this._canvas},enumerable:!1,configurable:!0}),t.prototype.setupCanvas=function(){this._canvas=document.createElement(\"canvas\"),this._canvas.id=\"angryPixelGameCanvas\",this._canvas.width=Math.floor(this.gameWidth),this._canvas.height=Math.floor(this.gameHeight),this.canvas.tabIndex=0,this._canvas.addEventListener(\"contextmenu\",(function(t){return t.preventDefault()})),this.containerNode.appendChild(this._canvas),this.canvas.focus()},t}(),kt=function(){function t(t){this.container=t,this.gameObjects=[],this.lastId=0}return t.prototype.addGameObject=function(t,e,n,r){var o=new t(this.container,++this.lastId,r,n);return this.gameObjects.push(o),o.dispatch(i.Init,e),o},t.prototype.findGameObjects=function(t){return t?this.gameObjects.filter((function(e){return e instanceof t})):r([],this.gameObjects,!0)},t.prototype.findGameObjectById=function(t){return this.gameObjects.find((function(e){return e.id===t}))},t.prototype.findGameObject=function(t){return\"string\"==typeof t?this.gameObjects.find((function(e){return e.name===t})):this.gameObjects.find((function(e){return e instanceof t}))},t.prototype.findGameObjectsByParent=function(t){return this.gameObjects.filter((function(e){return e.parent===t}))},t.prototype.findGameObjectByParent=function(t,e){return\"string\"==typeof e?this.gameObjects.find((function(i){return i.name===e&&i.parent===t})):this.gameObjects.find((function(i){return i instanceof e&&i.parent===t}))},t.prototype.findGameObjectsByTag=function(t){return this.gameObjects.filter((function(e){return e.tag===t}))},t.prototype.destroyAllGameObjects=function(t){var e=this;void 0===t&&(t=!1),this.gameObjects.filter((function(e){return t||!e.keep})).forEach((function(t){return e.destroy(t,!1)}))},t.prototype.destroyGameObject=function(t){this.destroy(t,!0)},t.prototype.destroy=function(t,e){var n=this.gameObjects.indexOf(t);if(-1!==n){var r=this.gameObjects.splice(n,1)[0];e&&this.destroyChildren(r),r.dispatch(i.Destroy)}},t.prototype.destroyChildren=function(t){var e=this;this.findGameObjectsByParent(t).forEach((function(t){return e.destroyGameObject(t)}))},t}(),Gt=function(){function t(t,e,n,r){this.timeManager=t,this.physicsManager=e,this.gameObjectManager=n,this.sceneManager=r,this.running=!1,this.gameObjects=[],this.components=[],this.changingScene=!1,this.sceneEvents=[i.Start,i.Update,i.StopGame],this.gameObjectEvents=[i.Start,i.Update]}return t.prototype.start=function(){this.startLoop(!0)},t.prototype.pause=function(){this.running=!1},t.prototype.resume=function(){this.startLoop(!1)},t.prototype.stop=function(){this.running=!1,this.dispatchFrameEvent(i.StopGame),this.physicsManager.clear()},t.prototype.startLoop=function(t){this.running||(this.running=!0,t&&this.sceneManager.loadOpeningScene(),this.asyncGameLoop(),this.timeManager.gameFramerate!==this.timeManager.physicsFramerate&&this.asyncPhysicsLoop())},t.prototype.gameLogicIteration=function(t){this.timeManager.updateForGame(t),this.sceneManager.pendingSceneToload()&&(this.sceneManager.loadPendingScene(),this.changingScene=!1),this.load(),this.dispatchFrameEvent(i.Start),this.dispatchFrameEvent(i.Update),this.dispatchFrameEvent(i.UpdateEngine),this.dispatchFrameEvent(i.UpdateTransform),this.timeManager.gameFramerate===this.timeManager.physicsFramerate&&(this.timeManager.updateForPhysics(t),this.physicsIteration()),this.sceneManager.pendingSceneToload()&&(this.changingScene=!0,this.sceneManager.unloadCurrentScene())},t.prototype.physicsIteration=function(){this.timeManager.timeScale<=0||this.changingScene||(this.dispatchFrameEvent(i.UpdatePhysics),this.dispatchFrameEvent(i.UpdateCollider),this.dispatchFrameEvent(i.UpdateTransform),this.physicsManager.resolve(this.timeManager.physicsDeltaTime))},t.prototype.asyncGameLoop=function(){var t=this;this.gameInterval=setInterval((function(){if(!t.running)return clearInterval(t.gameInterval);t.gameLogicIteration(process.uptime())}),1e3/this.timeManager.gameFramerate)},t.prototype.asyncPhysicsLoop=function(){var t=this;this.physicsInterval=setInterval((function(){if(!t.running)return clearInterval(t.physicsInterval);t.timeManager.updateForPhysics(process.uptime()),t.physicsIteration()}),1e3/this.timeManager.physicsFramerate)},t.prototype.load=function(){var t=this;this.loadedScene=this.sceneManager.getLoadedScene(),this.gameObjects=this.gameObjectManager.findGameObjects().filter((function(t){return t.active})),this.components=[],this.gameObjects.forEach((function(e){return e.getComponents().filter((function(t){return t.active})).forEach((function(e){return t.components.push(e)}))}))},t.prototype.dispatchFrameEvent=function(t){this.sceneEvents.includes(t)&&this.loadedScene.dispatch(t),this.gameObjectEvents.includes(t)&&this.gameObjects.forEach((function(e){e.active&&e.dispatch(t)})),this.components.forEach((function(e){e.active&&e.dispatch(t)}))},t}(),Wt=function(){function t(t,e){this.container=t,this.renderManager=e,this.scenes=new Map,this.sceneNamePendingToLoad=null}return t.prototype.addScene=function(t,e,n,r){var o=this;if(void 0===r&&(r=!1),this.scenes.has(e))throw new Lt(\"There is already a scene with the name '\".concat(e,\"'\"));this.scenes.set(e,(function(){var r=new t(o.container,e,o.container.getConstant(\"Game\"));return o.currentScene=r,r.dispatch(i.Init,n),r})),!r&&this.openingSceneName||(this.openingSceneName=e)},t.prototype.loadScene=function(t){if(!1===this.scenes.has(t))throw new Lt(\"Scene with name \".concat(t,\" does not exists\"));this.sceneNamePendingToLoad=t},t.prototype.getLoadedScene=function(){return this.currentScene},t.prototype.loadOpeningScene=function(){if(null===this.openingSceneName)throw new Lt(\"There is no opening scene\");this.scenes.get(this.openingSceneName)()},t.prototype.pendingSceneToload=function(){return null!==this.sceneNamePendingToLoad},t.prototype.loadPendingScene=function(){this.sceneNamePendingToLoad&&(this.scenes.get(this.sceneNamePendingToLoad)(),this.sceneNamePendingToLoad=null)},t.prototype.unloadCurrentScene=function(){this.currentScene&&(this.currentScene.dispatch(i.Destroy),this.currentScene=void 0)},t}(),Ht=[60,120,180,240],zt=function(){function t(t){if(this.minGameDeltatime=0,this.minPhysicsDeltaTime=0,this.gameFramerate=60,this.physicsFramerate=180,this.timeScale=1,this.browserDeltaTime=0,this.unscaledDeltaTime=0,this.unscaledPhysicsDeltaTime=0,this.maxDeltaTime=1/30,this.thenForGame=0,this.thenForPhysics=0,this.thenForBrowser=0,!Ht.includes(t))throw new Lt(\"Invalid Physics frame rate. Allowed: [\".concat(Ht.join(\", \"),\"]\"));this.physicsFramerate=t,this.minGameDeltatime=parseFloat((1/this.gameFramerate).toFixed(6)),this.minPhysicsDeltaTime=parseFloat((1/this.physicsFramerate).toFixed(6))}return Object.defineProperty(t.prototype,\"deltaTime\",{get:function(){return this.unscaledDeltaTime*this.timeScale},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"physicsDeltaTime\",{get:function(){return this.unscaledPhysicsDeltaTime*this.timeScale},enumerable:!1,configurable:!0}),t.prototype.updateForGame=function(t){this.unscaledDeltaTime=Math.min(Math.max(this.minGameDeltatime,t-this.thenForGame),this.maxDeltaTime),this.thenForGame=t},t.prototype.updateForBrowser=function(t){this.browserDeltaTime=Math.min(Math.max(0,t-this.thenForBrowser),this.maxDeltaTime),this.thenForBrowser=t},t.prototype.updateForPhysics=function(t){this.unscaledPhysicsDeltaTime=Math.min(Math.max(0,t-this.thenForPhysics),this.maxDeltaTime),this.thenForPhysics=t},t}(),Nt=function(t,e){if(t.addConstant(\"GameConfig\",e),t.add(\"TimeManager\",(function(){return new zt(e.physicsFramerate)})),t.add(\"GameObjectManager\",(function(){return new kt(t)})),t.add(\"PhysicsManager\",(function(){return function(t){var e=void 0===t?{}:t,i=e.collisionArea,n=e.collisionMatrix,r=e.collisionMethod,o=e.collisionBroadPhaseMethod,s=new gt,a=r===lt.AABB?new ut(new dt,new ft,s):new pt(s,new xt),h=new ct(a,o,i,n),c=new rt,l=new wt(h),u=new Mt;return new bt(h,c,l,u)}(e.collisions)})),e.headless)t.add(\"IterationManager\",(function(){return new Gt(t.getSingleton(\"TimeManager\"),t.getSingleton(\"PhysicsManager\"),t.getSingleton(\"GameObjectManager\"),t.getSingleton(\"SceneManager\"))}));else{t.add(\"DomManager\",(function(){return new Vt(e.containerNode,e.gameWidth,e.gameHeight)}));var i=t.getSingleton(\"DomManager\").canvas;t.add(\"RenderManager\",(function(){return function(t){var e=new j(t),i=e.gl,n=e.contextVersion,r=new A(i,n,new R(i,new S(i))),o=new J(new $(i)),s=new Z(i,r,o,new Map([[a.Sprite,new H(i,r,o)],[a.Text,new q(i,r,o,new O)],[a.Tilemap,new K(i,r,o)],[a.Geometric,new k(i,r)],[a.Mask,new W(i,r)],[a.Video,new Q(i,r,o)]]));return new C(s,new v(i))}(i)})),t.add(\"InputManager\",(function(){return function(t){return new Tt(new Ft(t),new Dt(t),new St,new Bt(t))}(i)})),t.add(\"AssetManager\",(function(){return new It(t.getSingleton(\"RenderManager\"))})),t.add(\"IterationManager\",(function(){return new h(t.getSingleton(\"TimeManager\"),t.getSingleton(\"PhysicsManager\"),t.getSingleton(\"RenderManager\"),t.getSingleton(\"InputManager\"),t.getSingleton(\"GameObjectManager\"),t.getSingleton(\"SceneManager\"),e.canvasColor)}))}t.add(\"SceneManager\",(function(){return new Wt(t,e.headless?void 0:t.getSingleton(\"RenderManager\"))}))},Yt=function(){function t(){this.instances=new Map,this.constructors=new Map,this.constants=new Map}return t.prototype.add=function(t,e){if(this.constructors.has(t))throw new Lt(\"There is already an object constructor with the name \".concat(t));this.constructors.set(t,e)},t.prototype.getSingleton=function(t){if(!1===this.constructors.has(t))throw new Lt(\"Invalid object constructor name: \".concat(t));return!1===this.instances.has(t)&&this.instances.set(t,this.constructors.get(t)()),this.instances.get(t)},t.prototype.getTranscient=function(t){if(!1===this.constructors.has(t))throw new Lt(\"Invalid object constructor name: \".concat(t));return this.constructors.get(t)()},t.prototype.addConstant=function(t,e){if(this.constants.has(t))throw new Lt(\"There is already a constant value with the name \".concat(t));this.constants.set(t,e)},t.prototype.getConstant=function(t){if(!1===this.constants.has(t))throw new Lt(\"Invalid constant name: \".concat(t));return this.constants.get(t)},t}(),Xt=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}(),qt=function(){function t(t,e,i,n){this._position=new Xt,this._center=new Xt,this._width=0,this._height=0,this.set(t,e,i,n)}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},t.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},t.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},t.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},t.prototype.contains=function(e){return e instanceof t?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof Xt&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)},t}(),Kt=function(t,e,i){return t>=e&&t<=i},Qt=function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new Xt,t?this.radians=t:e&&(this.degrees=e)}return Object.defineProperty(t.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),t.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))},t}(),$t={containerNode:void 0,gameWidth:320,gameHeight:180,debugEnabled:!1,canvasColor:\"#000000\",physicsFramerate:180,headless:!1,spriteDefaultScale:new Xt(1,1),collisions:{collisionMethod:lt.SAT,collisionBroadPhaseMethod:nt.SpartialGrid}},Jt=function(){function t(t){this._config=n(n({},$t),t),this._config.collisions=n(n({},$t.collisions),t.collisions),this.container=new Yt,this.container.addConstant(\"Game\",this),this.setupManagers()}return t.prototype.setupManagers=function(){Nt(this.container,this._config),this.sceneManager=this.container.getSingleton(\"SceneManager\"),this.iterationManager=this.container.getSingleton(\"IterationManager\")},Object.defineProperty(t.prototype,\"config\",{get:function(){return this._config},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"running\",{get:function(){return this.iterationManager.running},enumerable:!1,configurable:!0}),t.prototype.addScene=function(t,e,i,n){this.sceneManager.addScene(t,e,\"object\"==typeof i?i:void 0,\"boolean\"==typeof i?i:null!=n&&n)},t.prototype.run=function(){this.iterationManager.start()},t.prototype.stop=function(){this.iterationManager.stop()},t.prototype.pause=function(){this.iterationManager.pause()},t.prototype.resume=function(){this.iterationManager.resume()},t}(),Zt=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e.parentScale=!0,e.parentRotation=!0,e._position=new Xt,e._scale=new Xt(1,1),e._rotation=new Qt,e._innerPosition=new Xt,e._parent=null,e.cache=new Xt,e.lastParentRadians=0,e.lastPosition=new Xt,e.scaledInnerPosition=new Xt,e}return e(i,t),Object.defineProperty(i.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"scale\",{get:function(){return this._scale},set:function(t){this._scale.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"rotation\",{get:function(){return this._rotation},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"direction\",{get:function(){return this._rotation.direction},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"innerPosition\",{get:function(){return this._innerPosition},set:function(t){this._innerPosition.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"parent\",{get:function(){return this._parent},set:function(t){this._parent=t,null!==this._parent&&Xt.subtract(this._innerPosition,this._position,this._parent.position)},enumerable:!1,configurable:!0}),i.prototype.update=function(){null!==this._parent&&this.setPositionFromParent(),this.lastPosition.copy(this._position)},i.prototype.setPositionFromParent=function(){this._innerPosition.magnitude>0?(0!==this._parent.rotation.radians&&this.lastParentRadians!==this._parent.rotation.radians&&(this.translateInnerPosition(),this.lastParentRadians=this._parent.rotation.radians),this.parentScale?(this.updateScaledInnerPosition(),Xt.add(this._position,this._parent.position,this.scaledInnerPosition)):Xt.add(this._position,this._parent.position,this._innerPosition)):this._position.copy(this._parent.position),this._rotation.radians=this.parentRotation?this._parent.rotation.radians+this._rotation.radians:this._rotation.radians,this.parentScale&&this._scale.copy(this.parent._scale)},i.prototype.translateInnerPosition=function(){var t=Math.atan2(this._innerPosition.y,this._innerPosition.x)+(this._parent.rotation.radians-this.lastParentRadians);this.cache.set(Math.cos(t),Math.sin(t)),Xt.scale(this._innerPosition,this.cache,this._innerPosition.magnitude)},i.prototype.updateScaledInnerPosition=function(){this.scaledInnerPosition.set(this._innerPosition.x*this._parent.scale.x,this._innerPosition.y*this._parent.scale.y)},i}(f),te=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.renderer=null,e.colliders=[],e.physics=!0,e.activateColliders=!1,e}return e(i,t),i.prototype.update=function(){this.activateColliders&&(this.colliders.forEach((function(t){return t.active=!0})),this.activateColliders=!1),this.updateRealSize(),this.updatePosition(),this.updateColliders()},i.prototype.collidesWithLayer=function(t){for(var e=0,i=this.colliders;e<i.length;e++)for(var n=i[e],r=0,o=this.physicsManager.getCollisionsForCollider(n);r<o.length;r++){if(o[r].remoteCollider.layer===t)return!0}},i.prototype.collidesWithLayers=function(t,e){void 0===e&&(e=\"or\");for(var i=0,n=0,r=this.colliders;n<r.length;n++)for(var o=r[n],s=0,a=this.physicsManager.getCollisionsForCollider(o);s<a.length;s++){var h=a[s];if(t.includes(h.remoteCollider.layer)){if(\"or\"===e)return!0;i++}}return\"and\"===e&&i===t.length},i.prototype.getCollisionWithLayer=function(t){for(var e=0,i=this.colliders;e<i.length;e++)for(var n=i[e],r=0,o=this.physicsManager.getCollisionsForCollider(n);r<o.length;r++){var s=o[r];if(s.remoteCollider.layer===t)return this.createCollisionData(s)}return null},i.prototype.getCollisionsWithLayer=function(t){for(var e=[],i=0,n=this.colliders;i<n.length;i++)for(var r=n[i],o=0,s=this.physicsManager.getCollisionsForCollider(r);o<s.length;o++){var a=s[o];a.remoteCollider.layer===t&&e.push(this.createCollisionData(a))}return e},i.prototype.getCollisionsWithLayers=function(t){for(var e=[],i=0,n=this.colliders;i<n.length;i++)for(var r=n[i],o=0,s=this.physicsManager.getCollisionsForCollider(r);o<s.length;o++){var a=s[o];t.includes(a.remoteCollider.layer)&&e.push(this.createCollisionData(a))}return e},i.prototype.createCollisionData=function(t){return{gameObject:this.gameObjectManager.findGameObjectById(Number(t.remoteCollider.group)),collider:t.remoteCollider,resolution:t.resolution,getGameObject:function(){return this.gameObject},localCollider:t.localCollider}},i.prototype.onActiveChange=function(){var t=this;this.renderer&&(this.renderer.active=this.active),this.active?this.activateColliders=!0:this.colliders.forEach((function(e){return e.active=t.active}))},i.prototype.onDestroy=function(){var t=this;this.colliders.forEach((function(e){return t.physicsManager.removeCollider(e)}))},i}(p),ee=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e}return e(i,t),Object.defineProperty(i.prototype,\"velocity\",{get:function(){return this.rigidBody.velocity},set:function(t){this.rigidBody.velocity.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"gravity\",{get:function(){return this.rigidBody.gravity},set:function(t){this.rigidBody.gravity=Math.abs(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"rigidBodyType\",{get:function(){return this.rigidBody.type},enumerable:!1,configurable:!0}),i.prototype.init=function(t){var e,i=t.rigidBodyType,n=t.gravity;if(0===this.getColliderIds().length)throw new Lt(\"RigidBody needs at least one Collider with physics\");this.rigidBody=this.physicsManager.addRigidBody({type:i,colliderIds:this.getColliderIds(),gravity:null!==(e=Math.abs(n))&&void 0!==e?e:0,velocity:new Xt,position:new Xt})},i.prototype.update=function(){if(0===this.getColliderIds().length)throw new Lt(\"RigidBody needs at least one Collider with physics\");this.rigidBody.colliderIds=this.getColliderIds(),this.rigidBody.position=this.gameObject.transform.parent?this.gameObject.transform.innerPosition:this.gameObject.transform.position},i.prototype.getColliderIds=function(){return this.gameObject.getComponents().filter((function(t){return t instanceof te&&t.physics})).reduce((function(t,e){return r(r([],t,!0),e.colliders.map((function(t){return t.id})),!0)}),[])},i.prototype.onActiveChange=function(){this.rigidBody.active=this.active},i.prototype.onDestroy=function(){this.physicsManager.removeRigidBody(this.rigidBody)},i}(u),ie=\"Default\",ne=function(t){function n(e,i,n,r){void 0===n&&(n=\"\"),void 0===r&&(r=null);var o=t.call(this,e)||this;return o.layer=\"Default\",o.ui=!1,o.keep=!1,o._parent=null,o._active=!0,o.components=[],o.activeComponentsCache=[],o.activeChildrenCache=[],o.id=i,o.name=n,o.addComponent(Zt),r&&(o.transform.position=r.transform.position,o.parent=r),o}return e(n,t),Object.defineProperty(n.prototype,\"active\",{get:function(){return this._active},set:function(t){this._active!==t&&(this._active=t,this.updateComponentsActiveStatus(),this.updateChildrenActiveStatus(),this.onActiveChange())},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,\"parent\",{get:function(){return this._parent},set:function(t){this._parent=t,this.transform.parent=null!==t?t.transform:null},enumerable:!1,configurable:!0}),n.prototype.updateComponentsActiveStatus=function(){var t=this;!1===this.active&&(this.activeComponentsCache=this.components.filter((function(t){return t.active}))),this.activeComponentsCache.forEach((function(e){return e.active=t.active})),!0===this.active&&(this.activeComponentsCache=[])},n.prototype.updateChildrenActiveStatus=function(){var t=this;!1===this.active&&(this.activeChildrenCache=this.getChildren().filter((function(t){return t.active}))),this.activeChildrenCache.forEach((function(e){return e.active=t.active})),!0===this.active&&(this.activeChildrenCache=[])},Object.defineProperty(n.prototype,\"transform\",{get:function(){return this.getComponent(Zt)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,\"rigidBody\",{get:function(){return this.getComponent(ee)},enumerable:!1,configurable:!0}),n.prototype.onActiveChange=function(){},n.prototype.getCurrentScene=function(){return this.sceneManager.getLoadedScene()},n.prototype.addComponent=function(t,e,n){var r=\"string\"==typeof e?void 0:e,o=\"string\"==typeof e?e:n,s=new t(this.container,this,o);return this.checkMultipleComponent(s,t),this.components.push(s),s.dispatch(i.Init,r),s},n.prototype.checkMultipleComponent=function(t,e){if(!1===t.allowMultiple&&this.hasComponent(e))throw new Lt(\"GameObject only allows one component of type \".concat(e.name))},n.prototype.getComponents=function(t){return t?this.components.filter((function(e){return e instanceof t})):this.components},n.prototype.getComponent=function(t){return\"string\"==typeof t?this.components.find((function(e){return e.name===t})):this.components.find((function(e){return e instanceof t}))},n.prototype.hasComponent=function(t){return\"string\"==typeof t?this.components.some((function(e){return e.name===t})):this.components.some((function(e){return e instanceof t}))},n.prototype.removeComponent=function(t){var e=this.components.indexOf(t);-1!==e&&this.components.splice(e,1)[0].dispatch(i.Destroy)},n.prototype.addChild=function(t,e,i){var n=this.gameObjectManager.addGameObject(t,e,this,i);return n.transform.innerPosition.set(0,0),n.transform.position.copy(this.transform.position),n},n.prototype.getChildren=function(){return this.gameObjectManager.findGameObjectsByParent(this)},n.prototype.getChild=function(t){return this.gameObjectManager.findGameObjectByParent(this,t)},n.prototype.destroyChildren=function(){var t=this;this.gameObjectManager.findGameObjectsByParent(this).forEach((function(e){return t.gameObjectManager.destroyGameObject(e)}))},n.prototype._destroy=function(){var t=this;this.destroyComponents(),Object.keys(this).forEach((function(e){return delete t[e]}))},n.prototype.destroyComponents=function(){for(var t=0;t<this.components.length;t++)this.components[t].dispatch(i.Destroy),delete this.components[t];this.components=[]},n.prototype._stopGame=function(){},n}(c),re=[\"Default\"],oe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e.viewportRect=new qt(0,0,0,0),e.worldSpaceRect=new qt(0,0,0,0),e.depth=0,e.layers=re,e._zoom=1,e}return e(i,t),Object.defineProperty(i.prototype,\"zoom\",{get:function(){return this._zoom},set:function(t){if(this.zoom<=0)throw new Lt(\"zoom must be greather than 0\");this._zoom=t},enumerable:!1,configurable:!0}),i.prototype.addLayer=function(t){this.layers.push(t)},i.prototype.init=function(){this.canvas=this.domManager.canvas,this.cameraData={position:new Xt,layers:[],depth:1}},i.prototype.update=function(){this.updateViewportRect(),this.updateWorldSpaceRect(),this.updateCameraData()},i.prototype.updateViewportRect=function(){this.viewportRect.x=-this.canvas.width/2,this.viewportRect.y=-this.canvas.height/2,this.viewportRect.width=this.canvas.width,this.viewportRect.height=this.canvas.height},i.prototype.updateWorldSpaceRect=function(){this.worldSpaceRect.x=(this.gameObject.transform.position.x-this.viewportRect.width/2)/this._zoom,this.worldSpaceRect.y=(this.gameObject.transform.position.y-this.viewportRect.height/2)/this._zoom,this.worldSpaceRect.width=this.viewportRect.width/this._zoom,this.worldSpaceRect.height=this.viewportRect.height/this._zoom},i.prototype.updateCameraData=function(){this.cameraData.position.copy(this.gameObject.transform.position),this.cameraData.depth=this.depth,this.cameraData.layers=this.layers,this.cameraData.zoom=this._zoom,this.renderManager.addCameraData(this.cameraData)},i}(m),se=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e(i,t),i.prototype.init=function(){this.transform.position.set(0,0),this.camera=this.addComponent(oe)},Object.defineProperty(i.prototype,\"layers\",{get:function(){return this.camera.layers},set:function(t){this.camera.layers=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"depth\",{get:function(){return this.camera.depth},set:function(t){this.camera.depth=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"zoom\",{get:function(){return this.camera.zoom},set:function(t){this.camera.zoom=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"worldSpaceRect\",{get:function(){return this.camera.worldSpaceRect},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"viewportRect\",{get:function(){return this.camera.viewportRect},enumerable:!1,configurable:!0}),i.prototype.addLayer=function(t){this.camera.layers.push(t)},i}(ne),ae=function(t){function i(e,i,n){var r=t.call(this,e)||this;return r.name=i,r.game=n,r.game.config.headless||r.addGameObject(se),r}return e(i,t),Object.defineProperty(i.prototype,\"gameCamera\",{get:function(){return this.findGameObject(se)},enumerable:!1,configurable:!0}),i.prototype._destroy=function(){var t=this;this.gameObjectManager.destroyAllGameObjects(!1),Object.keys(this).forEach((function(e){return delete t[e]}))},i.prototype._stopGame=function(){var t=this;this.gameObjectManager.destroyAllGameObjects(!0),Object.keys(this).forEach((function(e){return delete t[e]}))},i}(c),he=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.offsetX=0,e.offsetY=0,e.scaledVertexModel=[],e.scaledOffset=new Xt,e.scaledPosition=new Xt,e.finalRotation=0,e.innerPosition=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,s;if(this.gameConfig.collisions.collisionMethod!==lt.SAT)throw new Lt(\"Polygon Colliders need SAT collision method.\");if(t.vertexModel.length<3)throw new Lt(\"Polygon Collider needs at least 3 vertices.\");this.debug=(null!==(e=t.debug)&&void 0!==e?e:this.debug)&&this.gameConfig.debugEnabled,this.vertexModel=t.vertexModel,this.offsetX=null!==(i=t.offsetX)&&void 0!==i?i:this.offsetX,this.offsetY=null!==(n=t.offsetY)&&void 0!==n?n:this.offsetY,this.physics=null!==(r=t.physics)&&void 0!==r?r:this.physics,this.rotation=null!==(o=t.rotation)&&void 0!==o?o:new Qt,this.layer=t.layer;for(var a=0;a<this.vertexModel.length;a++)this.scaledVertexModel.push(new Xt);this.colliders.push(this.physicsManager.addCollider({layer:null!==(s=this.layer)&&void 0!==s?s:this.gameObject.layer,position:this.gameObject.transform.position.clone(),rotation:this.rotation.radians,shape:new Ot(this.scaledVertexModel),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()})),this.debug&&(this.renderer=this.gameObject.addComponent(ce,{collider:this.colliders[0]}))},i.prototype.updateRealSize=function(){var t=this;this.vertexModel.forEach((function(e,i){return t.scaledVertexModel[i].set(e.x*t.gameObject.transform.scale.x,e.y*t.gameObject.transform.scale.y)})),this.scaledOffset.x=this.offsetX*this.gameObject.transform.scale.x,this.scaledOffset.y=this.offsetY*this.gameObject.transform.scale.y,this.finalRotation=this.gameObject.transform.rotation.radians+this.rotation.radians},i.prototype.updatePosition=function(){Xt.add(this.scaledPosition,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){Xt.subtract(this.innerPosition,this.scaledPosition,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.scaledPosition.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i.prototype.updateColliders=function(){var t;this.colliders[0].layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.colliders[0].position.copy(this.scaledPosition),this.colliders[0].rotation=this.finalRotation,this.colliders[0].shape.vertexModel=this.scaledVertexModel},i}(te),ce=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e(i,t),i.prototype.init=function(t){var e=t.collider;this.renderData={type:a.Geometric,location:s.WorldSpace,layer:this.gameObject.layer,position:new Xt,shape:o.Polygon,color:\"#00FF00\"},this.collider=e},i.prototype.update=function(){this.renderData.layer=this.gameObject.layer,this.renderData.position.copy(this.collider.position),this.renderData.rotation=this.collider.shape.rotation,this.renderData.vertexModel=this.collider.shape.vertexModel,this.renderManager.addRenderData(this.renderData)},i}(y),le=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.offsetX=0,e.offsetY=0,e.realWidth=0,e.realHeight=0,e.realOffset=new Xt,e.realPosition=new Xt,e.realRotation=0,e.applyRotation=e.gameConfig.collisions.collisionMethod===lt.SAT,e.innerPosition=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,s;this.width=t.width,this.height=t.height,this.offsetX=null!==(e=t.offsetX)&&void 0!==e?e:this.offsetX,this.offsetY=null!==(i=t.offsetY)&&void 0!==i?i:this.offsetY,this.physics=null!==(n=t.physics)&&void 0!==n?n:this.physics,this.debug=(null!==(r=t.debug)&&void 0!==r?r:this.debug)&&this.gameConfig.debugEnabled,this.rotation=null!==(o=t.rotation)&&void 0!==o?o:new Qt,this.layer=t.layer,this.colliders.push(this.physicsManager.addCollider({layer:null!==(s=this.layer)&&void 0!==s?s:this.gameObject.layer,position:this.gameObject.transform.position.clone(),rotation:this.rotation.radians,shape:new Pt(this.realWidth,this.realHeight),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()})),this.debug&&(this.renderer=this.gameObject.addComponent(ce,{collider:this.colliders[0]}))},i.prototype.updateRealSize=function(){this.realWidth=this.width*Math.abs(this.gameObject.transform.scale.x),this.realHeight=this.height*Math.abs(this.gameObject.transform.scale.y),this.realOffset.x=this.offsetX*this.gameObject.transform.scale.x,this.realOffset.y=this.offsetY*this.gameObject.transform.scale.y,this.realRotation=this.applyRotation?this.gameObject.transform.rotation.radians+this.rotation.radians:0},i.prototype.updatePosition=function(){Xt.add(this.realPosition,this.gameObject.transform.position,this.realOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){Xt.subtract(this.innerPosition,this.realPosition,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.realPosition.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i.prototype.updateColliders=function(){var t;this.colliders[0].layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.colliders[0].position.copy(this.realPosition),this.colliders[0].rotation=this.realRotation,this.colliders[0].shape.updateSize(this.realWidth,this.realHeight)},i}(te),ue=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.offsetX=0,e.offsetY=0,e.realRadius=0,e.realOffset=new Xt,e.realPosition=new Xt,e.innerPosition=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o;this.radius=t.radius,this.offsetX=null!==(e=t.offsetX)&&void 0!==e?e:this.offsetX,this.offsetY=null!==(i=t.offsetY)&&void 0!==i?i:this.offsetY,this.physics=null!==(n=t.physics)&&void 0!==n?n:this.physics,this.debug=(null!==(r=t.debug)&&void 0!==r?r:this.debug)&&this.gameConfig.debugEnabled,this.layer=t.layer,this.colliders.push(this.physicsManager.addCollider({layer:null!==(o=this.layer)&&void 0!==o?o:this.gameObject.layer,position:this.gameObject.transform.position.clone(),shape:new Ct(this.radius),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()})),this.debug&&(this.renderer=this.gameObject.addComponent(pe,{collider:this.colliders[0]}))},i.prototype.updateRealSize=function(){this.realRadius=this.radius*Math.max(Math.abs(this.gameObject.transform.scale.x),Math.abs(this.gameObject.transform.scale.y)),this.realOffset.x=this.offsetX*this.gameObject.transform.scale.x,this.realOffset.y=this.offsetY*this.gameObject.transform.scale.y},i.prototype.updatePosition=function(){Xt.add(this.realPosition,this.gameObject.transform.position,this.realOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){Xt.subtract(this.innerPosition,this.realPosition,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.realPosition.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i.prototype.updateColliders=function(){var t;this.colliders[0].layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.colliders[0].position.copy(this.realPosition),this.colliders[0].shape.radius=this.realRadius},i}(te),pe=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e(i,t),i.prototype.init=function(t){var e=t.collider;this.renderData={type:a.Geometric,location:s.WorldSpace,layer:this.gameObject.layer,position:new Xt,shape:o.Circumference,color:\"#00FF00\"},this.collider=e},i.prototype.update=function(){this.renderData.layer=this.gameObject.layer,this.renderData.position.copy(this.collider.position),this.renderData.radius=this.collider.shape.radius,this.renderManager.addRenderData(this.renderData)},i}(y),de=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.position=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i;this.tilemapRenderer=t.tilemapRenderer,this.layer=t.layer,this.debug=(null!==(e=t.debug)&&void 0!==e?e:this.debug)&&this.gameConfig.debugEnabled,this.physics=!0,this.composite=null!==(i=t.composite)&&void 0!==i&&i,this.scaledTileWidth=this.tilemapRenderer.tileWidth*this.gameObject.transform.scale.x,this.scaledTileHeight=this.tilemapRenderer.tileHeight*this.gameObject.transform.scale.y,this.scaledWidth=this.tilemapRenderer.width*this.scaledTileWidth,this.scaledHeight=this.tilemapRenderer.height*this.scaledTileHeight,this.position.set(this.gameObject.transform.position.x+(this.tilemapRenderer.orientation===M.Center?-this.scaledWidth/2:0),this.gameObject.transform.position.y+([M.Center,M.RightCenter].includes(this.tilemapRenderer.orientation)?this.scaledHeight/2:this.tilemapRenderer.orientation==M.RightUp?this.scaledHeight:0)),this.composite?this.useLineColliders():this.useBoxColliders(),this.debug&&(this.renderer=this.gameObject.addComponent(fe,{colliders:this.colliders}))},i.prototype.useBoxColliders=function(){var t=this;this.tilemapRenderer.tiles.forEach((function(e,i){var n;t.needsCollider(e,i)&&t.colliders.push(t.physicsManager.addCollider({layer:null!==(n=t.layer)&&void 0!==n?n:t.gameObject.layer,position:new Xt(t.position.x+(i%t.tilemapRenderer.width+.5)*t.scaledTileWidth,t.position.y-(Math.floor(i/t.tilemapRenderer.width)+.5)*t.scaledTileHeight),shape:new Pt(t.scaledTileWidth,t.scaledTileHeight),updateCollisions:!1,physics:t.physics,group:t.gameObject.id.toString()}))}))},i.prototype.needsCollider=function(t,e){var i=this;return 0!==t&&this.getNeighbors(e).some((function(t){return!t||!i.tilemapRenderer.tiles[t]||0===i.tilemapRenderer.tiles[t]}))},i.prototype.useLineColliders=function(){var t,e,i=this,n=[],r=[];this.tilemapRenderer.tiles.forEach((function(t,e){if(0!==t){var o=e%i.tilemapRenderer.width,s=Math.floor(e/i.tilemapRenderer.width);n[s]||(n[s]=[]),n[s+1]||(n[s+1]=[]),r[s]||(r[s]=[]),r[s+1]||(r[s+1]=[]);var a=i.getNeighbors(e);i.hasTile(a[0])||(n[s][o]=!0),i.hasTile(a[2])||(n[s+1][o]=!0),i.hasTile(a[1])||(r[s][o]=!0),i.hasTile(a[3])||(r[s][o+1]=!0)}}));for(var o=0;o<n.length;o++)if(n[o])for(var s=0;s<n[o].length;s++)!t||!e||o===e.y&&n[o][s]||(this.addLineCollider(t,e),t=void 0,e=void 0),n[o][s]&&(t||(t=new Xt(s,o)),e=new Xt(s+1,o));t&&e&&this.addLineCollider(t,e),t=void 0,e=void 0;for(s=0;s<=this.tilemapRenderer.width;s++)for(o=0;o<r.length;o++)r[o]&&(!t||!e||s===e.x&&r[o][s]||(this.addLineCollider(t,e),t=void 0,e=void 0),r[o][s]&&(t||(t=new Xt(s,o)),e=new Xt(s,o+1)));t&&e&&this.addLineCollider(t,e)},i.prototype.hasTile=function(t){return void 0!==t&&this.tilemapRenderer.tiles[t]&&this.tilemapRenderer.tiles[t]>0},i.prototype.addLineCollider=function(t,e){var i,n=this.physicsManager.addCollider({layer:null!==(i=this.layer)&&void 0!==i?i:this.gameObject.layer,position:this.position.clone(),shape:new jt([new Xt(t.x*this.scaledTileWidth,t.y*-this.scaledTileHeight),new Xt(e.x*this.scaledTileWidth,e.y*-this.scaledTileHeight)]),updateCollisions:!1,physics:this.physics,group:this.gameObject.id.toString()});this.colliders.push(n)},i.prototype.getNeighbors=function(t){return[t-this.tilemapRenderer.width>=0?t-this.tilemapRenderer.width:void 0,t%this.tilemapRenderer.width>0?t-1:void 0,t+this.tilemapRenderer.width<=this.tilemapRenderer.width*this.tilemapRenderer.height?t+this.tilemapRenderer.width:void 0,t%this.tilemapRenderer.width<this.tilemapRenderer.width-1?t+1:void 0]},i.prototype.updateRealSize=function(){},i.prototype.updatePosition=function(){},i.prototype.updateColliders=function(){var t=this;this.colliders.forEach((function(e){var i;return e.layer=null!==(i=t.layer)&&void 0!==i?i:t.gameObject.layer}))},i}(te),fe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.renderData=[],e.colliders=[],e}return e(i,t),i.prototype.init=function(t){var e=this,i=t.colliders;this.colliders=i,this.colliders.forEach((function(t,i){e.renderData[i]={type:a.Geometric,layer:e.gameObject.layer,location:s.WorldSpace,position:new Xt,shape:o.Polygon,color:\"#00FF00\"}}))},i.prototype.update=function(){var t=this;this.colliders.forEach((function(e,i){t.renderData[i].layer=t.gameObject.layer,t.renderData[i].position.copy(e.shape.position),t.renderData[i].rotation=e.rotation,t.renderData[i].vertexModel=e.shape.vertexModel,t.renderManager.addRenderData(t.renderData[i])}))},i}(y),ge=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.offsetX=0,e.offsetY=0,e.scaledVertexModel=[],e.scaledOffset=new Xt,e.scaledPosition=new Xt,e.finalRotation=0,e.innerPosition=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,s;if(this.gameConfig.collisions.collisionMethod!==lt.SAT)throw new Lt(\"Edge Colliders need SAT collision method.\");if(t.vertexModel.length<2)throw new Lt(\"Edge Collider needs at least 2 vertices.\");this.debug=(null!==(e=t.debug)&&void 0!==e?e:this.debug)&&this.gameConfig.debugEnabled,this.vertexModel=t.vertexModel,this.offsetX=null!==(i=t.offsetX)&&void 0!==i?i:this.offsetX,this.offsetY=null!==(n=t.offsetY)&&void 0!==n?n:this.offsetY,this.physics=null!==(r=t.physics)&&void 0!==r?r:this.physics,this.rotation=null!==(o=t.rotation)&&void 0!==o?o:new Qt,this.layer=t.layer;for(var a=0;a<this.vertexModel.length;a++)this.scaledVertexModel.push(new Xt);for(a=0;a<this.scaledVertexModel.length-1;a++)this.colliders.push(this.physicsManager.addCollider({layer:null!==(s=this.layer)&&void 0!==s?s:this.gameObject.layer,position:this.gameObject.transform.position.clone(),rotation:this.rotation.radians,shape:new jt([this.scaledVertexModel[a],this.scaledVertexModel[a+1]]),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()}));this.debug&&(this.renderer=this.gameObject.addComponent(me,{colliders:this.colliders}))},i.prototype.updateRealSize=function(){var t=this;this.vertexModel.forEach((function(e,i){return t.scaledVertexModel[i].set(e.x*t.gameObject.transform.scale.x,e.y*t.gameObject.transform.scale.y)})),this.scaledOffset.x=this.offsetX*this.gameObject.transform.scale.x,this.scaledOffset.y=this.offsetY*this.gameObject.transform.scale.y,this.finalRotation=this.gameObject.transform.rotation.radians+this.rotation.radians},i.prototype.updatePosition=function(){Xt.add(this.scaledPosition,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){Xt.subtract(this.innerPosition,this.scaledPosition,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.scaledPosition.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i.prototype.updateColliders=function(){for(var t,e=0;e<this.scaledVertexModel.length-1;e++)this.colliders[e].layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.colliders[e].position.copy(this.scaledPosition),this.colliders[e].rotation=this.finalRotation,this.colliders[e].shape.vertexModel=[this.scaledVertexModel[e],this.scaledVertexModel[e+1]]},i}(te),me=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.renderData=[],e.colliders=[],e}return e(i,t),i.prototype.init=function(t){var e=this,i=t.colliders;this.colliders=i,this.colliders.forEach((function(t,i){e.renderData[i]={type:a.Geometric,layer:e.gameObject.layer,location:s.WorldSpace,position:new Xt,shape:o.Line,color:\"#00FF00\"}}))},i.prototype.update=function(){var t=this;this.colliders.forEach((function(e,i){t.renderData[i].layer=t.gameObject.layer,t.renderData[i].position=e.position,t.renderData[i].rotation=e.rotation,t.renderData[i].vertexModel=e.shape.vertexModel,t.renderManager.addRenderData(t.renderData[i])}))},i}(y),ye=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.renderData=[],e.innerPosition=new Xt,e.cachePosition=new Xt,e.cacheRenderPosition=new Xt,e.scaledOffset=new Xt,e.cacheScale=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,s,a,h,c;void 0===t&&(t={}),this.sprite=t.sprite,this.offset=null!==(e=t.offset)&&void 0!==e?e:new Xt,this.rotation=null!==(i=t.rotation)&&void 0!==i?i:new Qt,this.flipHorizontal=null!==(n=t.flipHorizontal)&&void 0!==n&&n,this.flipVertical=null!==(r=t.flipVertical)&&void 0!==r&&r,this.opacity=null!==(o=t.opacity)&&void 0!==o?o:1,this._tiled=null!==(s=t.tiled)&&void 0!==s?s:new Xt(1,1),this.maskColor=t.maskColor,this.maskColorMix=null!==(a=t.maskColorMix)&&void 0!==a?a:0,this.tintColor=t.tintColor,this.layer=t.layer,this.scale=null!==(c=null!==(h=t.scale)&&void 0!==h?h:this.gameConfig.spriteDefaultScale.clone())&&void 0!==c?c:new Xt(1,1),this.width=t.width,this.height=t.height},Object.defineProperty(i.prototype,\"tiled\",{get:function(){return this._tiled},set:function(t){if(t.x%1!=0||t.y%1!=0)throw new Lt(\"SpriteRenderer.tiled: Vector2 components must be integers\");this._tiled.set(t.x,t.y)},enumerable:!1,configurable:!0}),i.prototype.update=function(){if(this.sprite&&!0===this.sprite.loaded){this.cacheScale.set(this.scale.x*this.gameObject.transform.scale.x,this.scale.y*this.gameObject.transform.scale.y),this.updateRenderDataArray();for(var t=0,e=0;e<this._tiled.x;e++)for(var i=0;i<this._tiled.y;i++)this.updateRenderData(t,e,i),t++}},i.prototype.updateRenderDataArray=function(){if(this.renderData.length!==this._tiled.x*this._tiled.y){this.renderData=[];for(var t=0;t<this._tiled.x*this._tiled.y;t++)this.renderData[t]={type:a.Sprite,location:s.WorldSpace,layer:\"\",position:new Xt,image:this.sprite.image,width:0,height:0}}},i.prototype.updateRenderData=function(t,e,i){var n,r,o;this.renderData[t].location=this.gameObject.ui?s.ViewPort:s.WorldSpace,this.renderData[t].layer=null!==(n=this.layer)&&void 0!==n?n:this.gameObject.layer,this.renderData[t].image=this.sprite.image,this.renderData[t].width=(null!==(r=this.width)&&void 0!==r?r:this.sprite.width)*Math.abs(this.cacheScale.x),this.renderData[t].height=(null!==(o=this.height)&&void 0!==o?o:this.sprite.height)*Math.abs(this.cacheScale.y),this.renderData[t].slice=this.sprite.slice,this.renderData[t].flipHorizontal=this.flipHorizontal!==this.cacheScale.x<0,this.renderData[t].flipVertical=this.flipVertical!==this.cacheScale.y<0,this.renderData[t].rotation=this.gameObject.transform.rotation.radians+this.rotation.radians,this.renderData[t].smooth=this.sprite.smooth,this.renderData[t].alpha=this.opacity,this.renderData[t].maskColor=this.maskColor,this.renderData[t].maskColorMix=this.maskColorMix,this.renderData[t].tintColor=this.tintColor,this.calculateRenderPosition(t,e,i),this.renderManager.addRenderData(this.renderData[t])},i.prototype.calculateRenderPosition=function(t,e,i){this.scaledOffset.set(this.offset.x*this.gameObject.transform.scale.x,this.offset.y*this.gameObject.transform.scale.y),Xt.add(this.cachePosition,this.gameObject.transform.position,this.scaledOffset),this.cacheRenderPosition.set(this.renderData[t].width/2*(this._tiled.x-1),this.renderData[t].height/2*(this._tiled.y-1)),Xt.subtract(this.cachePosition,this.cachePosition,this.cacheRenderPosition),this.cacheRenderPosition.set(e*this.renderData[t].width,i*this.renderData[t].height),Xt.add(this.renderData[t].position,this.cachePosition,this.cacheRenderPosition),0!==this.gameObject.transform.rotation.radians&&this.translateRenderPosition(t)},i.prototype.translateRenderPosition=function(t){Xt.subtract(this.innerPosition,this.renderData[t].position,this.gameObject.transform.position);var e=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.renderData[t].position.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(e),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(e))},i}(y),ve=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.lastFrameText=\"\",e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,s,a,h,c,l,u,p,d;if(this.text=null!==(e=t.text)&&void 0!==e?e:\"\",this.font=null!==(i=t.font)&&void 0!==i?i:\"Sans\",this.fontSize=null!==(n=t.fontSize)&&void 0!==n?n:12,this.width=null!==(r=t.width)&&void 0!==r?r:100,this.height=null!==(o=t.height)&&void 0!==o?o:100,this.offset=null!==(s=t.offset)&&void 0!==s?s:new Xt,this.color=null!==(a=t.color)&&void 0!==a?a:\"#000000\",this.charRanges=null!==(h=t.charRanges)&&void 0!==h?h:[32,126,161,255],this.lineSeparation=null!==(c=t.lineSeparation)&&void 0!==c?c:0,this.letterSpacing=null!==(l=t.letterSpacing)&&void 0!==l?l:0,this.smooth=null!==(u=t.smooth)&&void 0!==u&&u,this.rotation=null!==(p=t.rotation)&&void 0!==p?p:new Qt,this.opacity=null!==(d=t.opacity)&&void 0!==d?d:1,this.orientation=t.orientation,this.bitmapMargin=t.bitmapMargin,this.bitmapSpacing=t.bitmapSpacing,this.charRanges.length%2!=0)throw new Lt(\"TextRenderer.charRanges must be a 2 column matrix\");if(this.lineSeparation%2!=0)throw new Lt(\"TextRenderer.lineSeparation must be multiple of 2\")},i.prototype.start=function(){this.renderData={type:a.Text,location:s.WorldSpace,position:new Xt,layer:this.gameObject.layer,text:\"\",font:this.font,fontSize:this.fontSize,bitmap:{charRanges:this.charRanges,margin:this.bitmapMargin,spacing:this.bitmapSpacing},smooth:this.smooth}},i.prototype.update=function(){var t,e;this.text&&(this.renderData.layer=this.gameObject.layer,this.renderData.location=this.gameObject.ui?s.ViewPort:s.WorldSpace,this.renderData.text=this.text!==this.lastFrameText?this.crop():this.renderData.text,this.renderData.fontSize=this.fontSize,this.renderData.color=this.color,this.renderData.orientation=this.orientation,this.renderData.lineSeparation=this.lineSeparation,this.renderData.letterSpacing=this.letterSpacing,this.renderData.rotation=null!==(e=this.gameObject.transform.rotation.radians+(null===(t=this.rotation)||void 0===t?void 0:t.radians))&&void 0!==e?e:0,this.renderData.alpha=this.opacity,Xt.add(this.renderData.position,this.gameObject.transform.position,this.offset),this.renderManager.addRenderData(this.renderData),this.lastFrameText=this.text)},i.prototype.crop=function(){var t=this;if(this.fontSize>this.height)return\"\";for(var e=[],i=0,n=0,r=this.text.split(\"\\n\");n<r.length;n++)for(var o=r[n].split(\" \").reduce((function(e,i){var n=e[e.length-1]+(e[e.length-1].length>0?\" \":\"\")+i;return n.length*(t.fontSize+t.letterSpacing)>t.width?e.push(i):e[e.length-1]=n,e}),[\"\"]),s=0,a=o;s<a.length;s++){var h=a[s];if((i+=this.fontSize+this.lineSeparation)>this.height)return e.join(\"\\n\");e.push(h)}return e.join(\"\\n\")},i}(y),xe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.offset=new Xt,e.rotation=new Qt,e.opacity=1,e.innerPosition=new Xt,e.scaledOffset=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,h,c;this.shape=t.shape,this.color=t.color,this.width=null!==(e=t.width)&&void 0!==e?e:0,this.height=null!==(i=t.height)&&void 0!==i?i:0,this.radius=null!==(n=t.radius)&&void 0!==n?n:0,this.offset=null!==(r=t.offset)&&void 0!==r?r:this.offset,this.rotation=null!==(o=t.rotation)&&void 0!==o?o:this.rotation,this.opacity=null!==(h=t.opacity)&&void 0!==h?h:this.opacity,this.layer=t.layer,this.renderData={type:a.Mask,layer:null!==(c=this.layer)&&void 0!==c?c:this.gameObject.layer,location:this.gameObject.ui?s.ViewPort:s.WorldSpace,position:new Xt,width:0,height:0,radius:0,color:\"\",shape:this.shape}},i.prototype.update=function(){var t;this.renderData.location=this.gameObject.ui?s.ViewPort:s.WorldSpace,this.renderData.layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.renderData.shape=this.shape,this.renderData.width=this.width*Math.abs(this.gameObject.transform.scale.x),this.renderData.height=this.height*Math.abs(this.gameObject.transform.scale.y),this.renderData.color=this.color,this.renderData.rotation=this.gameObject.transform.rotation.radians+this.rotation.radians,this.renderData.alpha=this.opacity,this.renderData.radius=this.radius*Math.abs(Math.max(this.gameObject.transform.scale.x,this.gameObject.transform.scale.y)),this.calculateRenderPosition(),this.renderManager.addRenderData(this.renderData)},i.prototype.calculateRenderPosition=function(){this.scaledOffset.set(this.offset.x*this.gameObject.transform.scale.x,this.offset.y*this.gameObject.transform.scale.y),Xt.add(this.renderData.position,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translateRenderPosition()},i.prototype.translateRenderPosition=function(){Xt.subtract(this.innerPosition,this.renderData.position,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.renderData.position.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i}(y),be=[\"click\",\"contextmenu\",\"auxclick\",\"dblclick\",\"mousedown\",\"mouseup\",\"pointerup\",\"touchend\",\"keydown\",\"keyup\"],Me=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.innerPosition=new Xt,e.scaledOffset=new Xt,e._playing=!1,e._paused=!1,e.videoEventHandler=function(t){\"ended\"===t.type&&(e._playing=!1,e.video.removeEventListener(\"ended\",e.videoEventHandler))},e.userInputEventHandler=function(){be.forEach((function(t){window.removeEventListener(t,e.userInputEventHandler)})),e.video&&e._playing&&e.video.play()},e}return e(i,t),Object.defineProperty(i.prototype,\"volume\",{get:function(){return this._volume},set:function(t){this._volume=t,this.video&&(this.video.volume=t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"loop\",{get:function(){return this._loop},set:function(t){this._loop=t,this.video&&(this.video.loop=t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"playing\",{get:function(){return this._playing},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"paused\",{get:function(){return this._paused},enumerable:!1,configurable:!0}),i.prototype.init=function(t){var e,i,n,r,o,h,c,l,u,p;this.video=t.video,this.width=null!==(e=t.width)&&void 0!==e?e:this.video.videoWidth,this.height=null!==(i=t.height)&&void 0!==i?i:this.video.videoHeight,this.offset=null!==(n=t.offset)&&void 0!==n?n:new Xt,this.rotation=null!==(r=t.rotation)&&void 0!==r?r:new Qt,this.flipHorizontal=null!==(o=t.flipHorizontal)&&void 0!==o&&o,this.flipVertical=null!==(h=t.flipVertical)&&void 0!==h&&h,this.opacity=null!==(c=t.opacity)&&void 0!==c?c:1,this.maskColor=t.maskColor,this.maskColorMix=null!==(l=t.maskColorMix)&&void 0!==l?l:0,this.tintColor=t.tintColor,this.layer=t.layer,this.slice=t.slice,this._volume=null!==(u=t.volume)&&void 0!==u?u:1,this._loop=null!==(p=t.loop)&&void 0!==p&&p,this.renderData={type:a.Video,location:s.WorldSpace,layer:\"\",position:new Xt,video:this.video,width:this.width,height:this.height}},i.prototype.play=function(){var t=this;if((this.video||!this.video.duration)&&(!this._playing||!1!==this._paused)){if(this._paused)return this._paused=!1,void this.video.play();this.video.loop=this._loop,this.video.volume=this._volume,this.video.addEventListener(\"ended\",this.videoEventHandler),this._playing=!0;var e=this.video.play();void 0!==e&&e.catch((function(){be.forEach((function(e){return window.addEventListener(e,t.userInputEventHandler)}))}))}},i.prototype.stop=function(){this._playing&&(this.video.pause(),this.video.currentTime=0,this.video.removeEventListener(\"ended\",this.videoEventHandler),this._playing=!1,this._paused=!1)},i.prototype.pause=function(){this._playing&&!1===this._paused&&(this.video.pause(),this._paused=!0)},i.prototype.update=function(){var t;this.video&&this.video.duration&&(this.renderData.location=this.gameObject.ui?s.ViewPort:s.WorldSpace,this.renderData.layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.renderData.video=this.video,this.renderData.width=this.width*Math.abs(this.gameObject.transform.scale.x),this.renderData.height=this.height*Math.abs(this.gameObject.transform.scale.y),this.renderData.slice=this.slice,this.renderData.flipHorizontal=this.flipHorizontal!==this.gameObject.transform.scale.x<0,this.renderData.flipVertical=this.flipVertical!==this.gameObject.transform.scale.y<0,this.renderData.rotation=this.gameObject.transform.rotation.radians+this.rotation.radians,this.renderData.alpha=this.opacity,this.renderData.maskColor=this.maskColor,this.renderData.maskColorMix=this.maskColorMix,this.renderData.tintColor=this.tintColor,this.calculateRenderPosition(),this.renderManager.addRenderData(this.renderData))},i.prototype.calculateRenderPosition=function(){this.scaledOffset.set(this.offset.x*this.gameObject.transform.scale.x,this.offset.y*this.gameObject.transform.scale.y),Xt.add(this.renderData.position,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translateRenderPosition()},i.prototype.translateRenderPosition=function(){Xt.subtract(this.innerPosition,this.renderData.position,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.renderData.position.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i.prototype.onActiveChange=function(){!1===this.active&&this.stop()},i.prototype.onDestroy=function(){this.stop()},i}(y),_e=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.tiles=[],e.scaledTileWidth=0,e.scaledTileHeight=0,e}return e(i,t),i.prototype.init=function(t){var e,i=this,n=t.tiles,r=t.tileset,o=t.tileWidth,h=t.tileHeight,c=t.width,l=t.layer,u=t.orientation,p=t.opacity,d=t.tintColor,f=t.smooth;n.split(\"\\n\").forEach((function(t){t.split(\",\").forEach((function(t){return t.trim().length>0?i.tiles.push(Number(t)):null}))})),this.tileset=r,this.width=c,this.tileWidth=null!=o?o:this.tileset.tileWidth*this.gameConfig.spriteDefaultScale.x,this.tileHeight=null!=h?h:this.tileset.tileHeight*this.gameConfig.spriteDefaultScale.y,this.layer=l,this.height=Math.ceil(this.tiles.length/this.width),this.orientation=null!=u?u:M.Center,this.opacity=p,this.tintColor=d,this.renderData={type:a.Tilemap,layer:null!==(e=this.layer)&&void 0!==e?e:this.gameObject.layer,location:this.gameObject.ui?s.ViewPort:s.WorldSpace,position:new Xt,tileset:this.tileset,tilemap:{width:this.width,tileWidth:this.tileWidth,tileHeight:this.tileHeight},tiles:this.tiles,orientation:this.orientation,smooth:f},this.updateRenderData()},i.prototype.update=function(){this.updateRenderData(),this.renderManager.addRenderData(this.renderData)},i.prototype.updateRenderData=function(){var t;this.scaledTileWidth=this.tileWidth*this.gameObject.transform.scale.x,this.scaledTileHeight=this.tileHeight*this.gameObject.transform.scale.y,this.realWidth=this.width*this.scaledTileWidth,this.realHeight=this.height*this.scaledTileHeight,this.renderData.layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.renderData.position.copy(this.gameObject.transform.position),this.renderData.tintColor=this.tintColor,this.renderData.alpha=this.opacity,this.renderData.tilemap.tileWidth=this.scaledTileWidth,this.renderData.tilemap.tileHeight=this.scaledTileHeight},i}(y),we=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.tiles=[],e.tilesetTileIds=[],e.chunks=[],e.scaledTileWidth=0,e.scaledTileHeight=0,e.renderData=[],e}return e(i,t),i.prototype.init=function(t){var e=t.tiledData,i=t.tilemapLayer,n=t.tileset,r=t.tileWidth,o=t.tileHeight,s=t.layer,a=t.orientation,h=t.smooth;if(this.tiledData=e,this.tileset=n,this.tileWidth=null!=r?r:this.tileset.tileWidth*this.gameConfig.spriteDefaultScale.x,this.tileHeight=null!=o?o:this.tileset.tileHeight*this.gameConfig.spriteDefaultScale.y,this.layer=s,this.smooth=null!=h&&h,this.orientation=null!=a?a:M.Center,this.tiledLayer=this.tiledData.layers.find((function(t){return t.name===i})),!this.tiledLayer)throw new Lt(\"Invalid tilemap layer\");this.width=this.tiledLayer.width,this.height=this.tiledLayer.height,this.processTilemap()},i.prototype.update=function(){var t=this;this.updateRenderData(),this.renderData.forEach((function(e){return t.renderManager.addRenderData(e)}))},i.prototype.processTilemap=function(){var t=this;!0===this.tiledLayer.visible&&(this.opacity=this.tiledLayer.opacity,this.tintColor=this.tiledLayer.tintcolor,this.tiledData.infinite?this.tiledLayer.chunks.sort((function(t,e){return t.x-e.x})).sort((function(t,e){return t.y-e.y})).forEach((function(e){return t.processChunk(e)})):this.processChunk(this.tiledLayer)),this.updateRenderData(),this.tilesetTileIds=[]},i.prototype.processChunk=function(t){var e,i=this,n={type:a.Tilemap,layer:null!==(e=this.layer)&&void 0!==e?e:this.gameObject.layer,location:this.gameObject.ui?s.ViewPort:s.WorldSpace,position:new Xt,tileset:this.tileset,tilemap:{width:t.width,tileWidth:this.tileWidth,tileHeight:this.tileHeight},tiles:t.data.map((function(t){return i.getTilesetTileId(t)})),orientation:M.RightDown,smooth:this.smooth};t.type&&\"tilelayer\"===t.type?this.tiles=n.tiles:n.tiles.forEach((function(e,n){i.tiles[i.tiledLayer.width*(t.y+Math.floor(n/t.width))+t.x+n%t.width]=e})),this.renderData.push(n),this.chunks.push(t)},i.prototype.getTilesetTileId=function(t){return this.tilesetTileIds[t]||(this.tilesetTileIds[t]=this.tiledData.tilesets.reduce((function(e,i){return t>=i.firstgid?t-i.firstgid+1:e}),0)),this.tilesetTileIds[t]},i.prototype.updateRenderData=function(){var t=this;this.scaledTileWidth=this.tileWidth*this.gameObject.transform.scale.x,this.scaledTileHeight=this.tileHeight*this.gameObject.transform.scale.y,this.realWidth=this.tiledLayer.width*this.scaledTileWidth,this.realHeight=this.tiledLayer.height*this.scaledTileHeight,this.renderData.forEach((function(e,i){var n;e.layer=null!==(n=t.layer)&&void 0!==n?n:t.gameObject.layer,e.position.set(t.gameObject.transform.position.x+(t.orientation===M.Center?-t.realWidth/2:0)+t.chunks[i].x*t.scaledTileWidth,t.gameObject.transform.position.y+([M.Center,M.RightCenter].includes(t.orientation)?t.realHeight/2:t.orientation==M.RightUp?t.realHeight:0)-t.chunks[i].y*t.scaledTileHeight),e.tilemap.tileWidth=t.scaledTileWidth,e.tilemap.tileHeight=t.scaledTileHeight,e.tintColor=t.tintColor,e.alpha=t.opacity}))},i}(y),Ce=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.spriteRenderer=null,e.animations=new Map,e.currentAnimation=null,e.paused=!1,e}return e(i,t),i.prototype.init=function(t){var e=t.spriteRenderer;this.spriteRenderer=e},i.prototype.update=function(){null===this.currentAnimation||this.paused||(this.currentAnimation.playFrame(this.timeManager.deltaTime),!0===this.currentAnimation.restarted&&!1===this.currentAnimation.loop?this.currentAnimation=null:this.spriteRenderer.sprite=this.currentAnimation.sprite)},i.prototype.addAnimation=function(t,e,i){return void 0===e&&(e=\"default\"),t.framerate=null!=i?i:t.framerate,this.animations.set(e,new je(t)),this},i.prototype.playAnimation=function(t){if(void 0===t&&(t=\"default\"),!1!==this.active){if(!1===this.animations.has(t))throw new Lt(\"Animation with name \".concat(t,\" does not exist.\"));this.stopAnimation(),this.currentAnimation=this.animations.get(t)}},i.prototype.pause=function(){this.paused=!0},i.prototype.resume=function(){this.paused=!1},i.prototype.stopAnimation=function(){null!==this.currentAnimation&&(this.currentAnimation.reset(),this.currentAnimation=null,this.paused=!1)},i.prototype.isPlayingAnimation=function(t){return void 0===t&&(t=\"default\"),null!==this.currentAnimation&&this.animations.get(t)&&this.animations.get(t)===this.currentAnimation},i.prototype.isPaused=function(){return this.paused},i}(u),je=function(){function t(t){this._sprite=null,this._restarted=!1,this.currentFrame=0,this.frameTime=0,this._animation=t}return Object.defineProperty(t.prototype,\"sprite\",{get:function(){return this._sprite},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"restarted\",{get:function(){return this._restarted},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"loop\",{get:function(){return this._animation.loop},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"animation\",{get:function(){return this._animation},enumerable:!1,configurable:!0}),t.prototype.reset=function(){this.currentFrame=0,this.frameTime=0,this._restarted=!0},t.prototype.playFrame=function(t){this._restarted=!1,this.frameTime>=1/this._animation.framerate&&(this.frameTime=0,this.currentFrame=this.currentFrame+1===this._animation.sprites.length?0:this.currentFrame+1,this._restarted=0===this.currentFrame),this._sprite=this._animation.sprites[this.currentFrame],this.frameTime+=t},t}(),Oe=[\"click\",\"contextmenu\",\"auxclick\",\"dblclick\",\"mousedown\",\"mouseup\",\"pointerup\",\"touchend\",\"keydown\",\"keyup\"],Pe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e.tracks=[],e.audioSourceCache=new Map,e._playing=!1,e._paused=!1,e.audioEventHandler=function(t){\"ended\"===t.type&&(e._playing=!1,e._audioSource.removeEventListener(\"ended\",e.audioEventHandler))},e.userInputEventHandler=function(){Oe.forEach((function(t){window.removeEventListener(t,e.userInputEventHandler)})),e.audioContext.resume(),e._audioSource&&e._playing&&e._audioSource.play()},e}return e(i,t),Object.defineProperty(i.prototype,\"audioSource\",{get:function(){return this._audioSource},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"volume\",{get:function(){return this._volume},set:function(t){this._volume=t,this._audioSource&&(this._audioSource.volume=t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"loop\",{get:function(){return this._loop},set:function(t){this._loop=t,this._audioSource&&(this._audioSource.loop=t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"playing\",{get:function(){return this._playing},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"paused\",{get:function(){return this._paused},enumerable:!1,configurable:!0}),i.prototype.init=function(t){var e=this,i=void 0===t?{}:t,n=i.loop,r=i.volume;this.audioContext=new AudioContext,\"running\"!==this.audioContext.state&&Oe.forEach((function(t){return window.addEventListener(t,e.userInputEventHandler)})),this._volume=null!=r?r:1,this._loop=null!=n&&n},i.prototype.playClip=function(t,e){t.currentTime>0&&(t.currentTime=0),t.volume=null!=e?e:this._volume,t.play()},i.prototype.addAudioSource=function(t,e){void 0===e&&(e=\"default\");var i=t.cloneNode();this.audioSourceCache.set(e,i);var n=this.audioContext.createMediaElementSource(i);n.connect(this.audioContext.destination),this.tracks.push(n)},i.prototype.loadAudioSource=function(t,e,i){this.stop(),this._audioSource=this.audioSourceCache.get(t),this._loop=null!=e?e:this._loop,this._volume=null!=i?i:this._volume},i.prototype.play=function(){if(this._audioSource&&(!this._playing||!1!==this._paused)){if(this._paused)return this._paused=!1,void this._audioSource.play();this._audioSource.volume=this._volume,this._audioSource.loop=this._loop,this._audioSource.addEventListener(\"ended\",this.audioEventHandler),this._playing=!0,\"running\"===this.audioContext.state&&this._audioSource.play()}},i.prototype.stop=function(){this._playing&&(this._audioSource.pause(),this._audioSource.currentTime=0,this._audioSource.removeEventListener(\"ended\",this.audioEventHandler),this._playing=!1,this._paused=!1)},i.prototype.pause=function(){this._playing&&!1===this._paused&&(this._audioSource.pause(),this._paused=!0)},i.prototype.onActiveChange=function(){!1===this.active&&this.stop()},i.prototype.onDestroy=function(){this.stop(),this.audioContext.close()},i}(u),Re=function(){function t(t){var e,i=this;this._width=null,this._height=null,this._loaded=!1,this.image=t.image,this.smooth=null!==(e=t.smooth)&&void 0!==e&&e,this.slice=t.slice,this.slice&&(this._width=this.slice.width,this._height=this.slice.height);var n=function(){var t,e;i._width=null!==(t=i._width)&&void 0!==t?t:i.image.naturalWidth,i._height=null!==(e=i._height)&&void 0!==e?e:i.image.naturalHeight,i._loaded=!0};this.image.naturalWidth?n():this.image.addEventListener(\"load\",(function(){return n()}))}return Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"loaded\",{get:function(){return this._loaded},enumerable:!1,configurable:!0}),t}();!function(t){t[t.Rectangle=0]=\"Rectangle\",t[t.Circumference=1]=\"Circumference\"}(Ut||(Ut={}));var Ae=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e.width=100,e.height=100,e.radius=50,e.touchEnabled=!0,e.offset=new Xt,e.pressed=!1,e.mouse=e.inputManager.mouse,e.touch=e.inputManager.touch,e.position=new Xt,e.distance=new Xt,e.pressedLastFrame=!1,e.scaled={width:0,height:0,radius:0,offset:new Xt},e}return e(i,t),i.prototype.init=function(t){var e=t.type,i=t.height,n=t.radius,r=t.touchEnabled,o=t.width,s=t.offset;this.type=e,this.width=null!=o?o:this.width,this.height=null!=i?i:this.height,this.radius=null!=n?n:this.radius,this.touchEnabled=null!=r?r:this.touchEnabled,this.offset=null!=s?s:this.offset},i.prototype.update=function(){this.scale(),Xt.add(this.position,this.gameObject.transform.position,this.scaled.offset),this.pressedLastFrame=this.pressed,this.pressed=!1,this.mouse.leftButtonPressed&&(this.resolveMouseAndRectangle(),this.resolveMouseAndCircumference()),this.touchEnabled&&this.touch.touching&&(this.resolveTouchAndRectangle(),this.resolveTouchAndCircumference()),this.onClick&&!this.pressedLastFrame&&this.pressed&&this.onClick(),this.onPressed&&this.pressed&&this.onPressed()},i.prototype.scale=function(){this.scaled.width=this.width*this.gameObject.transform.scale.x,this.scaled.height=this.width*this.gameObject.transform.scale.y,this.scaled.offset.x=this.offset.x*this.gameObject.transform.scale.x,this.scaled.offset.y=this.offset.y*this.gameObject.transform.scale.y,this.scaled.radius=this.radius*Math.max(Math.abs(this.gameObject.transform.scale.x),Math.abs(this.gameObject.transform.scale.y))},i.prototype.resolveMouseAndRectangle=function(){this.type===Ut.Rectangle&&(this.pressed=Kt(this.mouse.positionInViewport.x,this.position.x-this.scaled.width/2,this.position.x+this.scaled.width/2)&&Kt(this.mouse.positionInViewport.y,this.position.y-this.scaled.height/2,this.position.y+this.scaled.height/2))},i.prototype.resolveMouseAndCircumference=function(){this.type===Ut.Circumference&&(Xt.subtract(this.distance,this.position,this.mouse.positionInViewport),this.pressed=this.distance.magnitude<=this.scaled.radius)},i.prototype.resolveTouchAndRectangle=function(){if(this.type===Ut.Rectangle)for(var t=0,e=this.touch.interactions;t<e.length;t++){var i=e[t],n=i.positionInViewport,r=i.radius;if(this.pressed)return;this.pressed=this.position.x+this.scaled.width/2>=n.x-r.x&&this.position.x-this.scaled.width/2<=n.x+r.x&&this.position.y+this.scaled.height/2>=n.y-r.y&&this.position.y-this.scaled.height/2<=n.y+r.y}},i.prototype.resolveTouchAndCircumference=function(){if(this.type===Ut.Circumference)for(var t=0,e=this.touch.interactions;t<e.length;t++){var i=e[t],n=i.positionInViewport,r=i.radius;if(this.pressed)return;Xt.subtract(this.distance,this.position,n),this.pressed=this.distance.magnitude<=this.scaled.radius+Math.max(r.x,r.y)}},i}(u),Se=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.mousePressed=!1,e.position=new Xt,e}return e(i,t),i.prototype.start=function(){this.camera=this.getCurrentScene().gameCamera},i.prototype.update=function(){this.inputManager.mouse.leftButtonPressed&&!1===this.mousePressed&&(Xt.round(this.position,Xt.add(this.position,this.camera.transform.position,Xt.scale(this.position,this.inputManager.mouse.positionInViewport,1/this.camera.zoom))),console.log(\"Space position: {x: \".concat(this.position.x,\", y: \").concat(this.position.y,\"}\"))),this.mousePressed=this.inputManager.mouse.leftButtonPressed},i}(ne);export{Ce as Animator,Pe as AudioPlayer,ue as BallCollider,le as BoxCollider,Ae as Button,Ut as ButtonType,oe as Camera,l as Component,ge as EdgeCollider,Jt as Game,se as GameCamera,ne as GameObject,ie as LAYER_DEFAULT,xe as MaskRenderer,I as MaskShape,d as PhysicsComponent,he as PolygonCollider,ce as PolygonColliderRenderer,g as PreRenderComponent,ee as RigidBody,vt as RigidBodyType,ae as Scene,Se as SpacePointer,Re as Sprite,ye as SpriteRenderer,G as TextOrientation,ve as TextRenderer,we as TiledTilemapRenderer,de as TilemapCollider,M as TilemapOrientation,_e as TilemapRenderer,Zt as Transform,Me as VideoRenderer};\n//# sourceMappingURL=index.esm.js.map\n","var t=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,n){return t.set(e.x+n.x,e.y+n.y),t},t.subtract=function(t,e,n){return t.set(e.x-n.x,e.y-n.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,n){return t.set(e.x*n,e.y*n),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}();!function(){function e(e,n,i,r){this._position=new t,this._center=new t,this._width=0,this._height=0,this.set(e,n,i,r)}Object.defineProperty(e.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),e.prototype.set=function(t,e,n,i){this._position.set(t,e),this._width=n,this._height=i},e.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},e.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},e.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},e.prototype.contains=function(n){return n instanceof e?n.x1<=this.x1&&n.x>=this.x&&n.y1<=this.y1&&n.y>=this.y:n instanceof t&&!(n.x<this.x||n.y<this.y||n.x>=this.x1||n.y>=this.y1)}}(),function(){function e(e,n){void 0===e&&(e=null),void 0===n&&(n=null),this._degrees=0,this._radians=0,this._direction=new t,e?this.radians=e:n&&(this.degrees=n)}Object.defineProperty(e.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),e.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}();var e=function(){function t(){var t=this;this.gamepads=new Map,this.eventHandler=function(e){\"gamepadconnected\"===e.type?t.gamepadConnected(e.gamepad):\"gamepaddisconnected\"===e.type&&t.gamepadDisconected(e.gamepad)},window.addEventListener(\"gamepadconnected\",this.eventHandler),window.addEventListener(\"gamepaddisconnected\",this.eventHandler)}return t.prototype.getGamepad=function(t){var e;return null!==(e=this.gamepads.get(t))&&void 0!==e?e:null},t.prototype.getGamepads=function(){return Array.from(this.gamepads.values())},t.prototype.gamepadConnected=function(t){this.gamepads.set(t.index,new n),this.gamepads.get(t.index).updateFromGamepad(t)},t.prototype.gamepadDisconected=function(t){this.gamepads.delete(t.index)},t.prototype.update=function(){for(var t=0,e=this.getGamepadsFromBrowser();t<e.length;t++){var n=e[t];null!==n&&(!1===this.gamepads.has(n.index)?this.gamepadConnected(n):this.gamepads.get(n.index).updateFromGamepad(n))}},t.prototype.getGamepadsFromBrowser=function(){return navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:[]},t}(),n=function(){function e(){this.buttons=new Map,this.axes=new Map,this._dpadAxes=new t,this._leftStickAxes=new t,this._rightStickAxes=new t,this._vibrating=!1}return e.prototype.updateFromGamepad=function(t){var e=this;this._gamepad=t,t.buttons.forEach((function(t,n){return e.buttons.set(n,t.pressed)})),t.axes.forEach((function(t,n){return e.axes.set(n,t)}))},Object.defineProperty(e.prototype,\"id\",{get:function(){return this._gamepad.id},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"connected\",{get:function(){return this._gamepad.connected},enumerable:!1,configurable:!0}),e.prototype.getButtonPressed=function(t){return this.buttons.get(t)},e.prototype.getAxis=function(t){return this.axes.get(t)},Object.defineProperty(e.prototype,\"dpadAxes\",{get:function(){return this._dpadAxes.set(this.dpadRight?1:this.dpadLeft?-1:0,this.dpadUp?1:this.dpadDown?-1:0),this._dpadAxes},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftStickAxes\",{get:function(){return this._leftStickAxes.set(this.leftStickHorizontal,this.leftStickVertical),this._leftStickAxes},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightStickAxes\",{get:function(){return this._rightStickAxes.set(this.rightStickHorizontal,this.rightStickVertical),this._rightStickAxes},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dpadUp\",{get:function(){var t;return null!==(t=this.buttons.get(12))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dpadDown\",{get:function(){var t;return null!==(t=this.buttons.get(13))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dpadLeft\",{get:function(){var t;return null!==(t=this.buttons.get(14))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dpadRight\",{get:function(){var t;return null!==(t=this.buttons.get(15))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"bottomFace\",{get:function(){var t;return null!==(t=this.buttons.get(0))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightFace\",{get:function(){var t;return null!==(t=this.buttons.get(1))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftFace\",{get:function(){var t;return null!==(t=this.buttons.get(2))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"topFace\",{get:function(){var t;return null!==(t=this.buttons.get(3))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftShoulder\",{get:function(){var t;return null!==(t=this.buttons.get(4))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightShoulder\",{get:function(){var t;return null!==(t=this.buttons.get(5))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftTrigger\",{get:function(){var t;return null!==(t=this.buttons.get(6))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightTrigger\",{get:function(){var t;return null!==(t=this.buttons.get(7))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"back\",{get:function(){var t;return null!==(t=this.buttons.get(8))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"start\",{get:function(){var t;return null!==(t=this.buttons.get(9))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftStickButton\",{get:function(){var t;return null!==(t=this.buttons.get(10))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightStickButton\",{get:function(){var t;return null!==(t=this.buttons.get(11))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftStickHorizontal\",{get:function(){var t;return null!==(t=this.axes.get(0))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftStickVertical\",{get:function(){var t;return null!==(t=-this.axes.get(1))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightStickHorizontal\",{get:function(){var t;return null!==(t=this.axes.get(2))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightStickVertical\",{get:function(){var t;return null!==(t=-this.axes.get(3))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"anyButtonPressed\",{get:function(){var t;return null!==(t=Array.from(this.buttons.values()).find((function(t){return t})))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"vibrating\",{get:function(){return this._vibrating},enumerable:!1,configurable:!0}),e.prototype.vibrate=function(t,e,n,i){var r=this;void 0===t&&(t=200),void 0===e&&(e=.2),void 0===n&&(n=.2),void 0===i&&(i=0),this._gamepad.vibrationActuator&&(this._vibrating=!0,this._gamepad.vibrationActuator.playEffect(this._gamepad.vibrationActuator.type,{duration:t,weakMagnitude:e,strongMagnitude:n,startDelay:i}).catch((function(){return r._vibrating=!1})).finally((function(){return r._vibrating=!1})))},e}(),i=function(){function t(t,e,n,i){this.mouse=t,this.keyboard=e,this.gamepad=n,this.touch=i}return t.prototype.update=function(){this.mouse.update(),this.gamepad.update()},t}(),r=function(){function t(t){var e=this;this.pressedKeys=[],this.keyMap=new Map,this.eventHandler=function(t){if(\"keydown\"===t.type&&(e.keyMap.set(t.code,!0),e.pressedKeys.includes(t.code)||e.pressedKeys.push(t.code)),\"keyup\"===t.type){e.keyMap.set(t.code,!1);var n=e.pressedKeys.indexOf(t.code);-1!==n&&e.pressedKeys.splice(n,1)}},t.addEventListener(\"keydown\",this.eventHandler),t.addEventListener(\"keyup\",this.eventHandler)}return t.prototype.isPressed=function(t){var e;return null!==(e=this.keyMap.get(t))&&void 0!==e&&e},t.prototype.orPressed=function(t){var e=this;return t.reduce((function(t,n){var i;return t||null!==(i=e.keyMap.get(n))&&void 0!==i&&i}),!1)},t.prototype.andPressed=function(t){var e=this;return t.reduce((function(t,n){var i;return t&&null!==(i=e.keyMap.get(n))&&void 0!==i&&i}),!0)},t.prototype.isPressedReturn=function(t,e,n){return this.keyMap.get(t)?e:n},t.prototype.orPressedReturn=function(t,e,n){var i=this;return t.reduce((function(t,e){var n;return t||null!==(n=i.keyMap.get(e))&&void 0!==n&&n}),!1)?e:n},t.prototype.andPressedReturn=function(t,e,n){var i=this;return t.reduce((function(t,e){var n;return t&&null!==(n=i.keyMap.get(e))&&void 0!==n&&n}),!0)?e:n},t}(),o=function(){function e(e){this._leftButtonPressed=!1,this._scrollButtonPressed=!1,this._rightButtonPressed=!1,this._positionInViewport=new t,this._hasMoved=!1,this._wheelScroll=new t,this.lastPositionInViewport=new t,this.canvas=e,this.setup()}return Object.defineProperty(e.prototype,\"leftButtonPressed\",{get:function(){return this._leftButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scrollButtonPressed\",{get:function(){return this._scrollButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightButtonPressed\",{get:function(){return this._rightButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"positionInViewport\",{get:function(){return this._positionInViewport},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"hasMoved\",{get:function(){return this._hasMoved},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"wheelScroll\",{get:function(){return this._wheelScroll},enumerable:!1,configurable:!0}),e.prototype.update=function(){!1===this._positionInViewport.equals(this.lastPositionInViewport)?(this._hasMoved=!0,this.lastPositionInViewport.copy(this._positionInViewport)):this._hasMoved=!1,this.wheelEvent?(this._wheelScroll.set(this.wheelEvent.deltaX,this.wheelEvent.deltaY),this.wheelEvent=void 0):this._wheelScroll.set(0,0)},e.prototype.setup=function(){var t=this;this.canvas.addEventListener(\"mousemove\",(function(e){return t.updatePosition(e)})),this.canvas.addEventListener(\"mousedown\",(function(e){return t.updateButtonDown(e)})),this.canvas.addEventListener(\"mouseup\",(function(e){return t.updateButtonUp(e)})),this.canvas.addEventListener(\"wheel\",(function(e){return t.handleWheelEvent(e)}))},e.prototype.updateButtonDown=function(t){this.canvas.focus(),t.preventDefault(),t.stopPropagation(),this._leftButtonPressed=0===t.button,this._scrollButtonPressed=1===t.button,this._rightButtonPressed=2===t.button},e.prototype.updateButtonUp=function(t){t.preventDefault(),t.stopPropagation(),this._leftButtonPressed=0!==t.button&&this._leftButtonPressed,this._scrollButtonPressed=1!==t.button&&this._scrollButtonPressed,this._rightButtonPressed=2!==t.button&&this._rightButtonPressed},e.prototype.updatePosition=function(t){t.preventDefault(),t.stopPropagation(),this._positionInViewport.set(t.offsetX/(this.canvas.clientWidth/this.canvas.width)-this.canvas.width/2,-t.offsetY/(this.canvas.clientHeight/this.canvas.height)+this.canvas.height/2)},e.prototype.handleWheelEvent=function(t){t.preventDefault(),t.stopPropagation(),this.wheelEvent=t},e}(),s=function(){function e(t){var e=this;this._touching=!1,this._interactions=[],this.eventHandler=function(t){\"touchstart\"===t.type&&(e._touching=!0,e.updatePosition(t)),\"touchmove\"===t.type&&e.updatePosition(t),\"touchend\"!==t.type&&\"touchcancel\"!==t.type||(e._touching=!1)},this.canvas=t,this.canvas.addEventListener(\"touchstart\",this.eventHandler),this.canvas.addEventListener(\"touchend\",this.eventHandler),this.canvas.addEventListener(\"touchcancel\",this.eventHandler),this.canvas.addEventListener(\"touchmove\",this.eventHandler)}return Object.defineProperty(e.prototype,\"touching\",{get:function(){return this._touching},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"interactions\",{get:function(){return this._interactions},enumerable:!1,configurable:!0}),e.prototype.updatePosition=function(e){if(e.preventDefault(),e.stopPropagation(),this._interactions=[],0!==e.targetTouches.length)for(var n=0;n<e.targetTouches.length;n++)this._interactions[n]={positionInViewport:new t((e.targetTouches[n].clientX-this.canvas.offsetLeft)/(this.canvas.clientWidth/this.canvas.width)-this.canvas.width/2,-(e.targetTouches[n].clientY-this.canvas.offsetTop)/(this.canvas.clientHeight/this.canvas.height)+this.canvas.height/2),radius:new t(e.targetTouches[n].radiusX,e.targetTouches[n].radiusY)}},e}(),u=function(t){return new i(new o(t),new r(t),new e,new s(t))};export{e as GamepadController,n as GamepadData,r as KeyboardController,o as MouseController,s as TouchController,u as inputManagerFactory};\n//# sourceMappingURL=index.esm.js.map\n","var t=function(){function t(t,i){void 0===t&&(t=0),void 0===i&&(i=0),this._x=t,this._y=i}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,i){this._x=t,this._y=i},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,i,e){return t.set(i.x+e.x,i.y+e.y),t},t.subtract=function(t,i,e){return t.set(i.x-e.x,i.y-e.y),t},t.unit=function(t,i){return 0===i.magnitude?t.set(0,0):t.set(i.x/i.magnitude,i.y/i.magnitude),t},t.normal=function(t,i){return t.set(-i.y,i.x),this.unit(t,t)},t.scale=function(t,i,e){return t.set(i.x*e,i.y*e),t},t.dot=function(t,i){return t.x*i.x+t.y*i.y},t.cross=function(t,i){return t.x*i.y-t.y*i.x},t.round=function(t,i){return t.set(Math.round(i.x),Math.round(i.y)),t},t}(),i=function(){function i(i,e,o,n){this._position=new t,this._center=new t,this._width=0,this._height=0,this.set(i,e,o,n)}return Object.defineProperty(i.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),i.prototype.set=function(t,i,e,o){this._position.set(t,i),this._width=e,this._height=o},i.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},i.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},i.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},i.prototype.contains=function(e){return e instanceof i?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof t&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)},i}(),e=function(t,i,e){return Math.min(e,Math.max(i,t))};!function(){function i(i,e){void 0===i&&(i=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new t,i?this.radians=i:e&&(this.degrees=e)}Object.defineProperty(i.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),i.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}();var o,n=function(){function i(){}return i.prototype.create=function(i){var e=i.shape,o=i.layer,n=i.updateCollisions,s=i.physics,r=i.position,h=i.rotation,a=i.group,c=i.onCollision;return{id:0,active:!0,layer:o,shape:e,updateCollisions:n,physics:s,position:null!=r?r:new t,rotation:null!=h?h:0,group:a,onCollision:c}},i}(),s=function(){function t(t,e){void 0===e&&(e=0),this.area=new i(0,0,0,0),this.depth=0,this.items=[],this.children=[],this.depth=e,this.resize(t)}return t.prototype.resize=function(t){this.clear(),this.area.copy(t)},t.prototype.clear=function(){this.items=[],this.children.forEach((function(t){return t.clear()})),this.children=[]},t.prototype.insert=function(t,i){0===this.children.length&&this.items.length>16&&this.depth<8&&this.split(),this.children.length>0?this.insertItemIntoChildren(t,i):this.items.push([t,i])},t.prototype.split=function(){var e=this,o=this.area.width/2,n=this.area.height/2;this.children=[new i(this.area.x,this.area.y,o,n),new i(this.area.x,this.area.y+n,o,n),new i(this.area.x+o,this.area.y+n,o,n),new i(this.area.x+o,this.area.y,o,n)].map((function(i){return new t(i,e.depth+1)})),this.items.forEach((function(t){return e.insertItemIntoChildren(t[0],t[1])})),this.items=[]},t.prototype.insertItemIntoChildren=function(t,i){this.getChildrenForArea(i).forEach((function(e){return e.insert(t,i)}))},t.prototype.retrieve=function(t){var i=[];return this.children.length>0?this.getChildrenForArea(t).forEach((function(e){return i.push.apply(i,e.retrieve(t))})):this.items.forEach((function(t){return i.push(t[0])})),i},t.prototype.getChildrenForArea=function(t){var i=[];return t.x<=this.area.center.x&&t.y<=this.area.center.y&&i.push(this.children[0]),t.x<=this.area.center.x&&t.y1>=this.area.center.y&&i.push(this.children[1]),t.x1>=this.area.center.x&&t.y1>=this.area.center.y&&i.push(this.children[2]),t.x1>=this.area.center.x&&t.y<=this.area.center.y&&i.push(this.children[3]),i},t}(),r=function(t,i,e,o){return Math.min((t-i)/e|0,o-1)},h=function(){function t(t){this.coordinates={x0:0,x1:0,y0:0,y1:0},this._subdivisions=1,this.resize(t)}return Object.defineProperty(t.prototype,\"subdivisions\",{get:function(){return this._subdivisions},set:function(t){this._subdivisions=e(t,1,20)},enumerable:!1,configurable:!0}),t.prototype.resize=function(t){this.area=t,this.cellWidth=Math.ceil(t.width/this._subdivisions),this.cellHeight=Math.ceil(t.height/this._subdivisions),this.itemsInCells=[];for(var i=0;i<this._subdivisions;i++){this.itemsInCells[i]=[];for(var e=0;e<this._subdivisions;e++)this.itemsInCells[i][e]=[]}},t.prototype.clear=function(){for(var t=0;t<this._subdivisions;t++)for(var i=0;i<this._subdivisions;i++)this.itemsInCells[t][i]=[]},t.prototype.insert=function(t,i){this.updateCoordinates(i);for(var e=this.coordinates.x0;e<=this.coordinates.x1;e++)for(var o=this.coordinates.y0;o<=this.coordinates.y1;o++)this.itemsInCells[e][o].push(t)},t.prototype.retrieve=function(t){var i=[];this.updateCoordinates(t);for(var e=this.coordinates.x0;e<=this.coordinates.x1;e++)for(var o=this.coordinates.y0;o<=this.coordinates.y1;o++)this.itemsInCells[e][o].forEach((function(t){return i.includes(t)?null:i.push(t)}));return i},t.prototype.updateCoordinates=function(t){this.coordinates.x0=r(t.x,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.x1=r(t.x1,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.y0=r(t.y,this.area.y,this.cellHeight,this._subdivisions),this.coordinates.y1=r(t.y1,this.area.y,this.cellHeight,this._subdivisions)},t}();!function(t){t[t.QuadTree=0]=\"QuadTree\",t[t.SpartialGrid=1]=\"SpartialGrid\"}(o||(o={}));var a,c=function(){function e(e,n,s,r){this.collisions=[],this.lastCollidersAmount=0,this.minArea=new t,this.maxArea=new t,this.newArea=new i(0,0,0,0),this.method=e,this.colliders=[],this.activeColliders=[],this.collisionMatrix=r,this.setupBroadPhaseResolver(null!=n?n:o.QuadTree,s)}return e.prototype.setupBroadPhaseResolver=function(t,e){this.collisionArea=null!=e?e:new i(0,0,0,0),this.fixedCollisionArea=!!e,t===o.SpartialGrid?this.broadPhaseResolver=new h(this.collisionArea):this.broadPhaseResolver=new s(this.collisionArea)},e.prototype.addCollider=function(t){t.id=this.colliders.length,this.colliders.push(t)},e.prototype.getCollider=function(t){return this.colliders[t]},e.prototype.removeCollider=function(t){this.colliders.splice(t.id,1),this.colliders.forEach((function(t,i){return t.id=i}))},e.prototype.clearColliders=function(){this.colliders=[]},e.prototype.getCollisionsForCollider=function(t){return t.active?this.collisions.filter((function(i){return i.localCollider.id===t.id})):[]},e.prototype.refreshCollisionsForCollider=function(t){this.colliders[t.id]&&t.active&&(this.collisions=this.collisions.filter((function(i){return i.localCollider.id!==t.id&&i.remoteCollider.id!==t.id})),this.updateShape(t),this.narrowPhase(t,this.broadPhase(t)))},e.prototype.resolve=function(){var t=this;this.collisions=[],0!==this.colliders.length&&(this.activeColliders=this.colliders.filter((function(t){return t.active})),this.broadPhaseResolver.clear(),this.activeColliders.forEach((function(i){t.updateShape(i)})),!1===this.fixedCollisionArea&&(this.updateNewArea(),!1===this.newArea.equals(this.collisionArea)&&(this.collisionArea.copy(this.newArea),this.broadPhaseResolver.resize(this.collisionArea))),this.checkForSpartialGridResize(),this.activeColliders.forEach((function(i){var e=i.id,o=i.shape.boundingBox;return t.broadPhaseResolver.insert(e,o)})),this.updateCollisions())},e.prototype.updateShape=function(t){t.shape.position=t.position,t.shape.rotation=t.rotation,t.shape.update()},e.prototype.updateNewArea=function(){var t=this;this.activeColliders.forEach((function(i){var e=i.shape.boundingBox;t.minArea.set(Math.min(e.x,t.minArea.x),Math.min(e.y,t.minArea.y)),t.maxArea.set(Math.max(e.x1,t.maxArea.x),Math.max(e.y1,t.maxArea.y))})),this.newArea.set(this.minArea.x,this.minArea.y,this.maxArea.x-this.minArea.x,this.maxArea.y-this.minArea.y)},e.prototype.checkForSpartialGridResize=function(){this.broadPhaseResolver instanceof h&&this.lastCollidersAmount!==this.activeColliders.length&&(this.broadPhaseResolver.subdivisions=1+(this.activeColliders.length/10|0),this.broadPhaseResolver.resize(this.collisionArea),this.lastCollidersAmount=this.activeColliders.length)},e.prototype.updateCollisions=function(){var t=this;this.activeColliders.filter((function(t){return t.updateCollisions})).forEach((function(i){return t.narrowPhase(i,t.broadPhase(i))}))},e.prototype.broadPhase=function(t){var i=this;return this.collisionMatrix?this.broadPhaseResolver.retrieve(t.shape.boundingBox).map((function(t){return i.colliders[t]})).filter((function(t){return t.active})).filter((function(e){return i.collisionMatrix.some((function(i){return i[0]===t.layer&&i[1]===e.layer||i[1]===t.layer&&i[0]===e.layer}))})):this.broadPhaseResolver.retrieve(t.shape.boundingBox).map((function(t){return i.colliders[t]})).filter((function(t){return t.active}))},e.prototype.narrowPhase=function(t,i){var e=this;i.filter((function(i){return!(t.group&&i.group&&i.group===t.group||t.id===i.id)})).forEach((function(i){if(!e.isResolved(t,i)){var o=e.method.getCollisionResolution(t.shape,i.shape);null!==o&&(e.collisions.push({localCollider:t,remoteCollider:i,resolution:o},{localCollider:i,remoteCollider:t,resolution:{direction:o.displacementDirection,displacementDirection:o.direction,penetration:o.penetration}}),t.onCollision&&t.onCollision(o))}}))},e.prototype.isResolved=function(t,i){for(var e=0,o=this.collisions;e<o.length;e++){var n=o[e];if(n.localCollider.id===t.id&&n.remoteCollider.id===i.id)return!0}return!1},e}();!function(t){t[t.Polygon=0]=\"Polygon\",t[t.Circumference=1]=\"Circumference\",t[t.Line=2]=\"Line\"}(a||(a={}));var l,u=function(){function t(t,i,e){this.AABBResolver=t,this.circumferenceAABBResolver=i,this.circumferenceResolver=e}return t.prototype.getCollisionResolution=function(t,i){return t.type===a.Polygon&&i.type===a.Polygon?this.AABBResolver.resolve(t,i):t.type===a.Circumference&&i.type===a.Polygon?this.circumferenceAABBResolver.resolve(t,i):t.type===a.Polygon&&i.type===a.Circumference?this.circumferenceAABBResolver.resolve(i,t,!0):t.type===a.Circumference&&i.type===a.Circumference?this.circumferenceResolver.resolve(t,i):null},t}();!function(t){t[t.AABB=0]=\"AABB\",t[t.SAT=1]=\"SAT\"}(l||(l={}));var p=function(){function t(t,i){this.circumferenceResolver=t,this.satResolver=i}return t.prototype.getCollisionResolution=function(t,i){return t.type===a.Circumference&&i.type===a.Circumference?this.circumferenceResolver.resolve(t,i):this.satResolver.resolve(t,i)},t}(),d=function(){function i(){this.direction=new t,this.displacementDirection=new t}return i.prototype.resolve=function(i,e){var o=i.boundingBox,n=e.boundingBox;return this.overlapX=Math.min(o.x1,n.x1)-Math.max(o.x,n.x),this.overlapY=Math.min(o.y1,n.y1)-Math.max(o.y,n.y),this.overlapX<0||this.overlapY<0?null:(this.checkOverlapForLines(o,n),this.direction.set(Math.sign(n.center.x-o.center.x),Math.sign(n.center.y-o.center.y)),this.preventContainment(o,n),this.overlapY<this.overlapX?(this.minOverlap=this.overlapY,this.displacementDirection.set(0,-this.direction.y)):(this.minOverlap=this.overlapX,this.displacementDirection.set(-this.direction.x,this.overlapY===this.overlapX?-this.direction.y:0)),t.unit(this.displacementDirection,this.displacementDirection),{direction:t.scale(new t,this.displacementDirection,-1),displacementDirection:this.displacementDirection.clone(),penetration:this.minOverlap})},i.prototype.checkOverlapForLines=function(t,i){0!==t.width&&0!==i.width||0!==this.overlapX||(this.overlapX=Math.min(Math.abs(t.x-i.x),Math.abs(t.x1-i.x1))),0!==t.height&&0!==i.height||0!==this.overlapY||(this.overlapY=Math.min(Math.abs(t.y-i.y),Math.abs(t.y1-i.y1)))},i.prototype.preventContainment=function(t,i){if(this.overlapY>0&&(t.y1>i.y1&&t.y<i.y||t.y1<i.y1&&t.y>i.y)){var e=Math.abs(t.y-i.y),o=Math.abs(t.y1-i.y1);this.overlapY+=e<o?e:o}if(this.overlapX>0&&(t.x1>i.x1&&t.x<i.x||t.x1<i.x1&&t.x>i.x)){e=Math.abs(t.x-i.x),o=Math.abs(t.x1-i.x1);this.overlapX+=e<o?e:o}},i}(),f=function(){function i(){this.closestPoint=new t,this.distance=new t,this.direction=new t}return i.prototype.resolve=function(i,o,n){return void 0===n&&(n=!1),this.closestPoint.set(e(i.position.x,o.boundingBox.x,o.boundingBox.x1),e(i.position.y,o.boundingBox.y,o.boundingBox.y1)),t.subtract(this.distance,this.closestPoint,i.position),this.distance.magnitude>i.radius?null:(t.unit(this.direction,this.distance),{direction:n?t.scale(new t,this.direction,-1):this.direction.clone(),displacementDirection:n?this.direction.clone():t.scale(new t,this.direction,-1),penetration:i.radius-this.distance.magnitude})},i}(),y=function(){function i(){this.distance=new t,this.direction=new t}return i.prototype.resolve=function(i,e){return t.subtract(this.distance,e.position,i.position),this.distance.magnitude>i.radius+e.radius?null:(t.unit(this.direction,this.distance),{direction:this.direction.clone(),displacementDirection:t.scale(new t,this.direction,-1),penetration:i.radius+e.radius-this.distance.magnitude})},i}(),x=function(t,i){return x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e])},x(t,i)};function v(t,i,e){if(e||2===arguments.length)for(var o,n=0,s=i.length;n<s;n++)!o&&n in i||(o||(o=Array.prototype.slice.call(i,0,n)),o[n]=i[n]);return t.concat(o||Array.prototype.slice.call(i))}\"function\"==typeof SuppressedError&&SuppressedError;var m,g=function(){function i(){this.projA={min:0,max:0},this.projB={min:0,max:0},this.smallestAxis=new t,this.distance=new t(1/0,1/0),this.cache=new t}return i.prototype.resolve=function(i,e){var o=this;this.minOverlap=1/0,i.type===a.Circumference?this.setCircumferenceAxis(i,e):e.type===a.Circumference&&this.setCircumferenceAxis(e,i),this.axes=v([],i.projectionAxes,!0),e.projectionAxes.forEach((function(t){return o.axes.some((function(i){return i.equals(t)}))?null:o.axes.push(t)}));for(var n=0;n<this.axes.length;n++){if(i.type===a.Circumference?this.setCircumferenceVertices(i,this.axes[n]):e.type===a.Circumference&&this.setCircumferenceVertices(e,this.axes[n]),this.projectShapeOntoAxis(this.projA,i,this.axes[n]),this.projectShapeOntoAxis(this.projB,e,this.axes[n]),this.currentOverlap=Math.min(this.projA.max,this.projB.max)-Math.max(this.projA.min,this.projB.min),this.currentOverlap<0)return null;if(this.invertAxis=!0,this.projA.max>this.projB.max&&this.projA.min<this.projB.min||this.projA.max<this.projB.max&&this.projA.min>this.projB.min){var s=Math.abs(this.projA.min-this.projB.min),r=Math.abs(this.projA.max-this.projB.max);s<r?this.currentOverlap+=s:(this.currentOverlap+=r,t.scale(this.axes[n],this.axes[n],-1),this.invertAxis=!1)}this.currentOverlap<this.minOverlap&&(this.minOverlap=this.currentOverlap,this.smallestAxis.copy(this.axes[n]),this.invertAxis&&this.projA.max<this.projB.max&&t.scale(this.smallestAxis,this.axes[n],-1))}return{direction:t.scale(new t,this.smallestAxis,-1),displacementDirection:this.smallestAxis.clone(),penetration:this.minOverlap}},i.prototype.projectShapeOntoAxis=function(i,e,o){return i.min=1/0,i.max=-1/0,e.vertices.forEach((function(e){i.min=Math.min(t.dot(o,e),i.min),i.max=Math.max(t.dot(o,e),i.max)})),i},i.prototype.setCircumferenceAxis=function(i,e){var o=this;this.distance.set(1/0,1/0),e.vertices.forEach((function(e){t.subtract(o.cache,e,i.position),o.cache.magnitude<o.distance.magnitude&&o.distance.copy(o.cache)})),t.unit(i.projectionAxes[0],this.distance)},i.prototype.setCircumferenceVertices=function(i,e){t.add(i.vertices[0],i.position,t.scale(this.cache,t.unit(this.cache,e),-i.radius)),t.add(i.vertices[1],i.position,t.scale(this.cache,t.unit(this.cache,e),i.radius))},i}(),b=function(){function t(t,i,e,o){this.collisionManager=t,this.colliderFactory=i,this.rigidBodyManager=e,this.rigidBodyFactory=o}return t.prototype.addCollider=function(t){var i=this.colliderFactory.create(t);return this.collisionManager.addCollider(i),i},t.prototype.removeCollider=function(t){this.collisionManager.removeCollider(t)},t.prototype.getCollisionsForCollider=function(t){return this.collisionManager.getCollisionsForCollider(t)},t.prototype.addRigidBody=function(t){var i=this.rigidBodyFactory.create(t);return this.rigidBodyManager.addRigidBody(i),i},t.prototype.removeRigidBody=function(t){this.rigidBodyManager.removeRigidBody(t)},t.prototype.resolve=function(t){this.collisionManager.resolve(),this.rigidBodyManager.resolve(t)},t.prototype.clear=function(){this.collisionManager.clearColliders(),this.rigidBodyManager.clearRigidBodies()},t}(),M=function(){function i(){}return i.prototype.create=function(i){var e=i.colliderIds,o=i.type,n=i.gravity,s=i.position,r=i.velocity,h=i.onResolve;if(0===e.length)throw new Error(\"RigidBody needs at least one collider\");return{active:!0,colliderIds:e,type:o,gravity:null!=n?n:0,position:null!=s?s:new t,velocity:null!=r?r:new t,onResolve:h}},i}();!function(t){t[t.Static=0]=\"Static\",t[t.Dynamic=1]=\"Dynamic\",t[t.Kinematic=2]=\"Kinematic\"}(m||(m={}));var A=[\"x\",\"y\"],C=function(){function i(i){this.collisionManager=i,this.rigidBodies=[],this.activeRigidBodies=[],this.colliders=[],this.velocity=new t,this.displacement=new t,this.cacheDisplacement=0}return i.prototype.addRigidBody=function(t){this.rigidBodies.push(t)},i.prototype.removeRigidBody=function(t){var i=this.rigidBodies.indexOf(t);i>=0&&this.rigidBodies.splice(i,1)},i.prototype.clearRigidBodies=function(){this.rigidBodies=[]},i.prototype.resolve=function(t){var i=this;this.activeRigidBodies=this.rigidBodies.filter((function(t){return t.active})),this.colliders=this.activeRigidBodies.reduce((function(t,i){return v(v([],t,!0),i.colliderIds,!0)}),[]),this.activeRigidBodies.forEach((function(e){e.type===m.Dynamic?i.dynamicUpdate(e,t):e.type===m.Kinematic&&i.kinematicUpdate(e,t),e.onResolve&&e.onResolve(e)}))},i.prototype.dynamicUpdate=function(t,i){var e=this;this.applyGravity(t,i),A.forEach((function(o){e.applyVelocity(t,i,o),e.obtainDisplacement(t,o),e.applyReposition(t,o)}))},i.prototype.kinematicUpdate=function(i,e){var o=this;t.add(i.position,i.position,t.scale(this.velocity,i.velocity,e)),i.colliderIds.map((function(t){return o.collisionManager.getCollider(t)})).forEach((function(i){t.add(i.position,i.position,o.velocity),o.collisionManager.refreshCollisionsForCollider(i)}))},i.prototype.applyGravity=function(t,i){t.gravity>0&&(t.velocity.y-=t.gravity*i)},i.prototype.applyVelocity=function(t,i,e){var o=this;this.velocity[e]=t.velocity[e]*i,0!==this.velocity[e]&&(t.position[e]+=this.velocity[e],t.colliderIds.map((function(t){return o.collisionManager.getCollider(t)})).forEach((function(t){t.position[e]+=o.velocity[e],o.collisionManager.refreshCollisionsForCollider(t)})))},i.prototype.obtainDisplacement=function(t,i){var e=this;this.displacement[i]=0,this.getCollisions(t).forEach((function(t){e.cacheDisplacement=t.resolution.displacementDirection[i]*t.resolution.penetration,e.displacement[i]=Math.abs(e.displacement[i])>Math.abs(e.cacheDisplacement)?e.displacement[i]:e.cacheDisplacement}))},i.prototype.applyReposition=function(t,i){var e=this;0!==this.displacement[i]&&(t.position[i]+=this.displacement[i],t.colliderIds.map((function(t){return e.collisionManager.getCollider(t)})).forEach((function(t){t.position[i]+=e.displacement[i],e.collisionManager.refreshCollisionsForCollider(t)})),Math.sign(this.displacement[i])!==Math.sign(t.velocity[i])&&(t.velocity[i]=0))},i.prototype.getCollisions=function(t){var i=this;return t.colliderIds.map((function(t){return i.collisionManager.getCollider(t)})).filter((function(t){return t.active&&t.physics})).reduce((function(t,e){return t.push.apply(t,i.collisionManager.getCollisionsForCollider(e).filter((function(t){return t.remoteCollider.physics&&i.colliders.includes(t.remoteCollider.id)}))),t}),[])},i}(),_=function(){function e(e){this.radius=e,this.type=a.Circumference,this.boundingBox=new i(0,0,0,0),this.vertices=[new t,new t],this.projectionAxes=[new t],this._position=new t}return Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),e.prototype.update=function(){this.updateBoundingBox()},e.prototype.updateBoundingBox=function(){this.boundingBox.set(this.position.x-this.radius,this.position.y-this.radius,2*this.radius,2*this.radius)},e}(),w=function(){function e(e){this.vertexModel=e,this.type=a.Polygon,this.vertices=[new t,new t],this.projectionAxes=[new t],this.boundingBox=new i(0,0,0,0),this.rotation=0,this._position=new t}return e.prototype.update=function(){this.updateVertices(),this.updateBoundingBox(),this.updateProjectionAxes()},Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),e.prototype.updateVertices=function(){for(var t=0;t<this.vertexModel.length;t++)this.vertices[t].set(this.vertexModel[t].x*Math.cos(this.rotation)-this.vertexModel[t].y*Math.sin(this.rotation)+this._position.x,this.vertexModel[t].x*Math.sin(this.rotation)+this.vertexModel[t].y*Math.cos(this.rotation)+this._position.y)},e.prototype.updateBoundingBox=function(){this.boundingBox.x=Math.min(this.vertices[0].x,this.vertices[1].x),this.boundingBox.y=Math.min(this.vertices[0].y,this.vertices[1].y),this.boundingBox.width=Math.max(this.vertices[0].x,this.vertices[1].x)-this.boundingBox.x,this.boundingBox.height=Math.max(this.vertices[0].y,this.vertices[1].y)-this.boundingBox.y},e.prototype.updateProjectionAxes=function(){t.normal(this.projectionAxes[0],t.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0]))},e}(),B=function(){function e(e){this.vertexModel=e,this.type=a.Polygon,this.vertices=[],this.boundingBox=new i(0,0,0,0),this.rotation=0,this._projectionAxes=[],this._position=new t,this.boxMinX=Number.MAX_SAFE_INTEGER,this.boxMinY=Number.MAX_SAFE_INTEGER,this.boxMaxX=-Number.MAX_SAFE_INTEGER,this.boxMaxY=-Number.MAX_SAFE_INTEGER;for(var o=0;o<this.vertexModel.length;o++)this.vertices.push(new t),this._projectionAxes.push(new t)}return Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"projectionAxes\",{get:function(){return this._projectionAxes},enumerable:!1,configurable:!0}),e.prototype.update=function(){this.updateVertices(),this.updateBoundingBox(),this.updateProjectionAxes()},e.prototype.updateVertices=function(){for(var t=0;t<this.vertexModel.length;t++)this.vertices[t].set(this.vertexModel[t].x*Math.cos(this.rotation)-this.vertexModel[t].y*Math.sin(this.rotation)+this._position.x,this.vertexModel[t].x*Math.sin(this.rotation)+this.vertexModel[t].y*Math.cos(this.rotation)+this._position.y)},e.prototype.updateBoundingBox=function(){var t=this;this.boxMinX=this.vertices[0].x,this.boxMinY=this.vertices[0].y,this.boxMaxX=this.vertices[0].x,this.boxMaxY=this.vertices[0].y,this.vertices.forEach((function(i){t.boxMinX=Math.min(i.x,t.boxMinX),t.boxMinY=Math.min(i.y,t.boxMinY),t.boxMaxX=Math.max(i.x,t.boxMaxX),t.boxMaxY=Math.max(i.y,t.boxMaxY)})),this.boundingBox.set(this.boxMinX,this.boxMinY,this.boxMaxX-this.boxMinX,this.boxMaxY-this.boxMinY)},e.prototype.updateProjectionAxes=function(){for(var i,e=0;e<this.vertices.length;e++)t.normal(this._projectionAxes[e],t.subtract(this._projectionAxes[e],null!==(i=this.vertices[e+1])&&void 0!==i?i:this.vertices[0],this.vertices[e]))},e}(),j=function(i){function e(e,o){var n=i.call(this,[new t(-e/2,-o/2),new t(-e/2,o/2),new t(e/2,o/2),new t(e/2,-o/2)])||this;return n.width=e,n.height=o,n._projectionAxes=[new t,new t],n}return function(t,i){if(\"function\"!=typeof i&&null!==i)throw new TypeError(\"Class extends value \"+String(i)+\" is not a constructor or null\");function e(){this.constructor=t}x(t,i),t.prototype=null===i?Object.create(i):(e.prototype=i.prototype,new e)}(e,i),e.prototype.updateSize=function(t,i){this.width=t,this.height=i,this.vertexModel[0].set(-t/2,-i/2),this.vertexModel[1].set(-t/2,i/2),this.vertexModel[2].set(t/2,i/2),this.vertexModel[3].set(t/2,-i/2)},e.prototype.updateProjectionAxes=function(){t.unit(this.projectionAxes[0],t.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0])),t.normal(this.projectionAxes[1],this.projectionAxes[0])},e}(B),P=function(t){var i=void 0===t?{}:t,e=i.collisionArea,o=i.collisionMatrix,s=i.collisionMethod,r=i.collisionBroadPhaseMethod,h=new y,a=s===l.AABB?new u(new d,new f,h):new p(h,new g),x=new c(a,r,e,o),v=new n,m=new C(x),A=new M;return new b(x,v,m,A)};export{o as BroadPhaseMethods,_ as Circumference,l as CollisionMethods,w as Line,B as Polygon,j as Rectangle,m as RigidBodyType,P as physicsManagerFactory};\n//# sourceMappingURL=index.esm.js.map\n"],"names":["t","e","this","_x","_y","Object","defineProperty","prototype","get","set","enumerable","configurable","Math","sqrt","pow","_direction","unit","copy","x","y","equals","clone","distance","add","i","subtract","magnitude","normal","scale","dot","cross","round","n","o","_position","_center","_width","_height","width","height","position","overlaps","x1","y1","contains","r","h","_degrees","_radians","radians","degrees","PI","updateDirection","cos","sin","setPrototypeOf","__proto__","Array","hasOwnProperty","call","TypeError","String","constructor","create","assign","arguments","length","apply","slice","concat","SuppressedError","Init","Start","Update","UpdateEngine","UpdateCollider","UpdatePhysics","UpdateTransform","UpdatePreRender","UpdateCamera","UpdateRender","Destroy","StopGame","s","a","timeManager","physicsManager","renderManager","inputManager","gameObjectManager","sceneManager","canvasColor","running","gameLoopAccumulator","gameObjects","components","changingScene","sceneEvents","gameObjectEvents","start","startLoop","pause","resume","stop","dispatchFrameEvent","clear","clearScreen","loadOpeningScene","requestAnimationLoop","window","performance","now","gameFramerate","physicsFramerate","asyncPhysicsLoop","updateForBrowser","pendingSceneToload","loadPendingScene","browserDeltaTime","minGameDeltatime","gameLogicIteration","renderIteration","unloadCurrentScene","requestAnimationFrame","updateForGame","load","update","updateForPhysics","physicsIteration","render","clearData","timeScale","resolve","physicsDeltaTime","physicsIntervalId","setInterval","clearInterval","document","hidden","loadedScene","getLoadedScene","findGameObjects","filter","active","forEach","getComponents","push","includes","dispatch","c","updateEvent","started","container","gameConfig","getConstant","headless","assetManager","getSingleton","domManager","init","onDestroy","_destroy","_stopGame","addGameObject","findGameObject","findGameObjectsByTag","destroyGameObject","l","allowMultiple","_active","gameObject","name","onActiveChange","getCurrentScene","getGameObject","getComponent","hasComponent","removeComponent","keys","u","p","d","f","g","m","Polygon","Circumference","Line","WorldSpace","ViewPort","Sprite","Text","Tilemap","Mask","Geometric","Video","v","gl","viewport","object","setViewport","zoom","canvas","setObjectForResizeable","rotation","abs","setObjectForText","text","fontSize","lineSeparation","letterSpacing","split","reduce","max","setObjectForGeometric","vertexModel","shape","radius","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","min","setObjectForTilemap","tilemap","ceil","tiles","renderPosition","tileWidth","tileHeight","applyCullingInTiles","culledTiles","map","isInViewPort","location","type","applyCulling","b","M","TilemapOrientation","_","Center","RightUp","RightDown","RightCenter","w","C","webglManager","cullingManager","renderData","cameraData","addRenderData","addCameraData","sort","depth","renderByCamera","layers","layer","indexOf","realWidth","realHeight","orientation","clearCanvas","preloadTexture","createTexture","LegacyWebGL","WebGL2","j","contextVersion","getContextVersion","Error","getContext","O","fontAtlas","Map","hasFontAtlas","has","symbol","getFontAtlas","getOrCreate","bitmapSize","chars","fromCharCode","renderAtlas","FontFace","family","Symbol","for","P","clearRect","textBaseline","fillStyle","font","fillText","glyphs","id","measureText","fontFaceFamily","bitmapFontSize","gridSize","createElement","R","shaderLoader","createProgram","VERTEX_SHADER","FRAGMENT_SHADER","attachShader","linkProgram","LINK_STATUS","getProgramParameter","getProgramInfoLog","deleteProgram","A","programFactory","loadProgram","program","positionBuffer","createBuffer","textureBuffer","positionCoordsAttr","getAttribLocation","texCoordsAttr","modelMatrixUniform","getUniformLocation","projectionMatrixUniform","textureMatrixUniform","renderTextureUniform","textureUniform","solidColorUniform","useTintColorUniform","tintColorUniform","useMaskColorUniform","maskColorUniform","maskColorMixUniform","alphaUniform","useProgram","blendFunc","SRC_ALPHA","ONE_MINUS_SRC_ALPHA","enableVertexAttribArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","S","createShader","shaderSource","compileShader","COMPILE_STATUS","getShaderParameter","getShaderInfoLog","deleteShader","E","Float32Array","T","D","F","B","U","hypot","I","L","exec","parseInt","V","k","programManager","vertices","lastVertices","projectionMatrix","modelMatrix","textureMatrix","circumferenceVertices","renderLines","LINE_LOOP","LINES","renderCircumference","generateVerticesKey","generatePolygonVertices","bufferData","DYNAMIC_DRAW","uniformMatrix4fv","uniform1i","color","uniform4f","uniform1f","drawArrays","toString","Rectangle","MaskShape","G","W","rectangleVertices","lastShape","STATIC_DRAW","alpha","enable","BLEND","disable","TRIANGLES","TRIANGLE_FAN","H","textureManager","lastTexture","posVertices","texVertices","flipHorizontal","flipVertical","image","naturalWidth","naturalHeight","getOrCreateTextureFromImage","smooth","bindTexture","TEXTURE_2D","tintColor","maskColor","maskColorMix","TextOrientation","z","N","Y","X","q","fontAtlasFactory","textSize","modelPosition","setDefaultValues","bitmap","charRanges","generateTextVertices","setPositionFromOrientation","getOrCreateTextureFromCanvas","margin","spacing","K","tileset","texMargin","texSpacing","texWidth","texHeight","texCorrection","processTileset","generateVertices","correction","floor","Q","video","videoWidth","videoHeight","getOrCreateTextureFromVideo","texImage2D","RGBA","UNSIGNED_BYTE","$","createFromImage","createFromSource","addEventListener","createFromCanvas","createPixelTexture","Uint8Array","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","LINEAR","TEXTURE_MAG_FILTER","NEAREST","J","textureFactory","textures","src","createTextureFromImage","createTextureFromCanvas","createTextureFromVideo","Z","renderers","lastRender","clearColor","COLOR_BUFFER_BIT","tt","et","it","nt","rt","updateCollisions","physics","group","onCollision","ot","area","items","children","resize","insert","insertItemIntoChildren","getChildrenForArea","retrieve","center","st","at","coordinates","x0","y0","_subdivisions","cellWidth","cellHeight","itemsInCells","updateCoordinates","QuadTree","SpartialGrid","ht","ct","collisions","lastCollidersAmount","minArea","maxArea","newArea","method","colliders","activeColliders","collisionMatrix","setupBroadPhaseResolver","collisionArea","fixedCollisionArea","broadPhaseResolver","addCollider","getCollider","removeCollider","splice","clearColliders","getCollisionsForCollider","localCollider","refreshCollisionsForCollider","remoteCollider","updateShape","narrowPhase","broadPhase","updateNewArea","checkForSpartialGridResize","boundingBox","subdivisions","some","isResolved","getCollisionResolution","resolution","direction","displacementDirection","penetration","lt","ut","AABBResolver","circumferenceAABBResolver","circumferenceResolver","AABB","SAT","pt","satResolver","dt","overlapX","overlapY","checkOverlapForLines","sign","preventContainment","minOverlap","ft","closestPoint","gt","mt","yt","vt","xt","projA","projB","smallestAxis","cache","setCircumferenceAxis","axes","projectionAxes","setCircumferenceVertices","projectShapeOntoAxis","currentOverlap","invertAxis","bt","collisionManager","colliderFactory","rigidBodyManager","rigidBodyFactory","addRigidBody","removeRigidBody","clearRigidBodies","Mt","colliderIds","gravity","velocity","onResolve","Static","Dynamic","Kinematic","RigidBodyType","_t","wt","rigidBodies","activeRigidBodies","displacement","cacheDisplacement","dynamicUpdate","kinematicUpdate","applyGravity","applyVelocity","obtainDisplacement","applyReposition","getCollisions","Ct","updateBoundingBox","jt","updateVertices","updateProjectionAxes","Ot","_projectionAxes","boxMinX","boxMinY","boxMaxX","boxMaxY","Pt","updateSize","Rt","At","St","gamepads","eventHandler","gamepadConnected","gamepad","gamepadDisconected","getGamepad","getGamepads","from","values","index","Et","updateFromGamepad","delete","getGamepadsFromBrowser","navigator","webkitGetGamepads","buttons","_dpadAxes","_leftStickAxes","_rightStickAxes","_vibrating","_gamepad","pressed","connected","getButtonPressed","getAxis","dpadRight","dpadLeft","dpadUp","dpadDown","leftStickHorizontal","leftStickVertical","rightStickHorizontal","rightStickVertical","find","vibrate","vibrationActuator","playEffect","duration","weakMagnitude","strongMagnitude","startDelay","catch","finally","Tt","mouse","keyboard","touch","Dt","pressedKeys","keyMap","code","isPressed","orPressed","andPressed","isPressedReturn","orPressedReturn","andPressedReturn","Ft","_leftButtonPressed","_scrollButtonPressed","_rightButtonPressed","_positionInViewport","_hasMoved","_wheelScroll","lastPositionInViewport","setup","wheelEvent","deltaX","deltaY","updatePosition","updateButtonDown","updateButtonUp","handleWheelEvent","focus","preventDefault","stopPropagation","button","offsetX","clientWidth","offsetY","clientHeight","Bt","_touching","_interactions","targetTouches","positionInViewport","clientX","offsetLeft","clientY","offsetTop","radiusX","radiusY","Image","Audio","Font","Ut","It","assets","getAssetsLoaded","loaded","loadImage","crossOrigin","createAsset","loadAudio","loadFont","then","fonts","loadVideo","playsInline","getImage","url","element","getAudio","getFont","getVideo","Lt","Vt","_canvas","containerNode","gameWidth","gameHeight","setupCanvas","tabIndex","appendChild","kt","lastId","findGameObjectById","findGameObjectsByParent","parent","findGameObjectByParent","tag","destroyAllGameObjects","keep","destroy","destroyChildren","Gt","asyncGameLoop","gameInterval","process","uptime","physicsInterval","Wt","scenes","sceneNamePendingToLoad","addScene","currentScene","openingSceneName","loadScene","Ht","zt","minPhysicsDeltaTime","unscaledDeltaTime","unscaledPhysicsDeltaTime","maxDeltaTime","thenForGame","thenForPhysics","thenForBrowser","join","parseFloat","toFixed","Yt","instances","constructors","constants","getTranscient","addConstant","Xt","qt","Kt","Qt","$t","debugEnabled","spriteDefaultScale","collisionMethod","collisionBroadPhaseMethod","Jt","_config","setupManagers","Nt","iterationManager","run","Zt","parentScale","parentRotation","_scale","_rotation","_innerPosition","_parent","lastParentRadians","lastPosition","scaledInnerPosition","setPositionFromParent","translateInnerPosition","updateScaledInnerPosition","atan2","te","renderer","activateColliders","updateRealSize","updateColliders","collidesWithLayer","collidesWithLayers","getCollisionWithLayer","createCollisionData","getCollisionsWithLayer","getCollisionsWithLayers","collider","ee","rigidBody","rigidBodyType","getColliderIds","transform","innerPosition","ne","ui","activeComponentsCache","activeChildrenCache","addComponent","updateComponentsActiveStatus","updateChildrenActiveStatus","getChildren","checkMultipleComponent","addChild","getChild","destroyComponents","re","oe","viewportRect","worldSpaceRect","_zoom","addLayer","updateViewportRect","updateWorldSpaceRect","updateCameraData","se","camera","ae","game","config","he","debug","scaledVertexModel","scaledOffset","scaledPosition","finalRotation","ce","translate","le","realOffset","realPosition","realRotation","applyRotation","ue","realRadius","pe","de","tilemapRenderer","composite","scaledTileWidth","scaledTileHeight","scaledWidth","scaledHeight","useLineColliders","useBoxColliders","fe","needsCollider","getNeighbors","hasTile","addLineCollider","ge","me","ye","cachePosition","cacheRenderPosition","cacheScale","sprite","offset","opacity","_tiled","tiled","updateRenderDataArray","updateRenderData","calculateRenderPosition","translateRenderPosition","ve","lastFrameText","bitmapMargin","bitmapSpacing","crop","xe","be","Me","_playing","_paused","videoEventHandler","removeEventListener","userInputEventHandler","play","_volume","volume","_loop","loop","currentTime","_e","trim","we","tilesetTileIds","chunks","tiledData","tilemapLayer","tiledLayer","processTilemap","visible","tintcolor","infinite","processChunk","data","getTilesetTileId","tilesets","firstgid","Ce","spriteRenderer","animations","currentAnimation","paused","playFrame","deltaTime","restarted","addAnimation","framerate","je","playAnimation","stopAnimation","reset","isPlayingAnimation","isPaused","_sprite","_restarted","currentFrame","frameTime","_animation","sprites","Oe","Pe","tracks","audioSourceCache","audioEventHandler","_audioSource","audioContext","AudioContext","state","playClip","addAudioSource","cloneNode","createMediaElementSource","connect","destination","loadAudioSource","close","Re","_loaded","ButtonType","Ae","touchEnabled","pressedLastFrame","scaled","leftButtonPressed","resolveMouseAndRectangle","resolveMouseAndCircumference","touching","resolveTouchAndRectangle","resolveTouchAndCircumference","onClick","onPressed","interactions","Se","mousePressed","gameCamera","console","log","BroadPhaseMethods","CollisionMethods","random"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../packages/math/lib/index.esm.js","../../../packages/core/lib/index.esm.js","../../../packages/input/lib/index.esm.js","../../../packages/2d-physics/lib/index.esm.js"],"sourcesContent":["var t=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}(),e=function(){function e(e,i,n,o){this._position=new t,this._center=new t,this._width=0,this._height=0,this.set(e,i,n,o)}return Object.defineProperty(e.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),e.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},e.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},e.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},e.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},e.prototype.contains=function(i){return i instanceof e?i.x1<=this.x1&&i.x>=this.x&&i.y1<=this.y1&&i.y>=this.y:i instanceof t&&!(i.x<this.x||i.y<this.y||i.x>=this.x1||i.y>=this.y1)},e}(),i=function(t,e,i){return Math.min(i,Math.max(e,t))},n=function(t,e){return Math.round(Math.random()*(e-t))+t},o=function(t,e,i){return void 0===i&&(i=2),r(Math.random()*(e-t)+t,i)},r=function(t,e){return Math.round(t*Math.pow(10,e))/Math.pow(10,e)},s=function(t,e,i){void 0===i&&(i=1);for(var n=[],o=t;o<=e;o+=i)n.push(o);return n},u=function(t,e,i){return t>=e&&t<=i},h=function(){function e(e,i){void 0===e&&(e=null),void 0===i&&(i=null),this._degrees=0,this._radians=0,this._direction=new t,e?this.radians=e:i&&(this.degrees=i)}return Object.defineProperty(e.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),e.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))},e}();export{e as Rectangle,h as Rotation,t as Vector2,u as between,i as clamp,r as fixedRound,o as randomFloat,n as randomInt,s as range};\n//# sourceMappingURL=index.esm.js.map\n","var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};function e(e,i){if(\"function\"!=typeof i&&null!==i)throw new TypeError(\"Class extends value \"+String(i)+\" is not a constructor or null\");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}var i,n=function(){return n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},n.apply(this,arguments)};function r(t,e,i){if(i||2===arguments.length)for(var n,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);return t.concat(n||Array.prototype.slice.call(e))}\"function\"==typeof SuppressedError&&SuppressedError,function(t){t[t.Init=0]=\"Init\",t[t.Start=1]=\"Start\",t[t.Update=2]=\"Update\",t[t.UpdateEngine=3]=\"UpdateEngine\",t[t.UpdateCollider=4]=\"UpdateCollider\",t[t.UpdatePhysics=5]=\"UpdatePhysics\",t[t.UpdateTransform=6]=\"UpdateTransform\",t[t.UpdatePreRender=7]=\"UpdatePreRender\",t[t.UpdateCamera=8]=\"UpdateCamera\",t[t.UpdateRender=9]=\"UpdateRender\",t[t.Destroy=10]=\"Destroy\",t[t.StopGame=11]=\"StopGame\"}(i||(i={}));var o,s,a,h=function(){function t(t,e,n,r,o,s,a){this.timeManager=t,this.physicsManager=e,this.renderManager=n,this.inputManager=r,this.gameObjectManager=o,this.sceneManager=s,this.canvasColor=a,this.running=!1,this.gameLoopAccumulator=0,this.gameObjects=[],this.components=[],this.changingScene=!1,this.sceneEvents=[i.Start,i.Update,i.StopGame],this.gameObjectEvents=[i.Start,i.Update]}return t.prototype.start=function(){this.startLoop(!0)},t.prototype.pause=function(){this.running=!1},t.prototype.resume=function(){this.startLoop(!1)},t.prototype.stop=function(){this.running=!1,this.dispatchFrameEvent(i.StopGame),this.physicsManager.clear(),this.renderManager.clearScreen(this.canvasColor)},t.prototype.startLoop=function(t){this.running||(this.running=!0,t&&this.sceneManager.loadOpeningScene(),this.requestAnimationLoop(window.performance.now()),this.timeManager.gameFramerate!==this.timeManager.physicsFramerate&&this.asyncPhysicsLoop())},t.prototype.requestAnimationLoop=function(t){var e=this;this.running&&(this.timeManager.updateForBrowser(.001*t),this.sceneManager.pendingSceneToload()&&(this.sceneManager.loadPendingScene(),this.changingScene=!1),this.gameLoopAccumulator+=this.timeManager.browserDeltaTime,this.gameLoopAccumulator>=this.timeManager.minGameDeltatime&&(this.gameLogicIteration(.001*t),this.gameLoopAccumulator-=this.timeManager.minGameDeltatime),this.renderIteration(),this.sceneManager.pendingSceneToload()&&(this.changingScene=!0,this.sceneManager.unloadCurrentScene()),window.requestAnimationFrame((function(t){return e.requestAnimationLoop(t)})))},t.prototype.gameLogicIteration=function(t){this.timeManager.updateForGame(t),this.load(),this.dispatchFrameEvent(i.Start),this.inputManager.update(),this.dispatchFrameEvent(i.Update),this.dispatchFrameEvent(i.UpdateEngine),this.dispatchFrameEvent(i.UpdateTransform),this.timeManager.gameFramerate===this.timeManager.physicsFramerate&&(this.timeManager.updateForPhysics(t),this.physicsIteration()),this.dispatchFrameEvent(i.UpdatePreRender)},t.prototype.renderIteration=function(){this.dispatchFrameEvent(i.UpdatePreRender),this.dispatchFrameEvent(i.UpdateCamera),this.dispatchFrameEvent(i.UpdateRender),this.renderManager.clearScreen(this.canvasColor),this.renderManager.render(),this.renderManager.clearData()},t.prototype.physicsIteration=function(){this.timeManager.timeScale<=0||this.changingScene||(this.dispatchFrameEvent(i.UpdatePhysics),this.dispatchFrameEvent(i.UpdateCollider),this.dispatchFrameEvent(i.UpdateTransform),this.physicsManager.resolve(this.timeManager.physicsDeltaTime))},t.prototype.asyncPhysicsLoop=function(){var t=this;this.physicsIntervalId=window.setInterval((function(){if(!t.running)return window.clearInterval(t.physicsIntervalId);t.timeManager.updateForPhysics(.001*window.performance.now()),document.hidden||t.physicsIteration()}),1e3/this.timeManager.physicsFramerate)},t.prototype.load=function(){var t=this;this.loadedScene=this.sceneManager.getLoadedScene(),this.gameObjects=this.gameObjectManager.findGameObjects().filter((function(t){return t.active})),this.components=[],this.gameObjects.forEach((function(e){return e.getComponents().filter((function(t){return t.active})).forEach((function(e){return t.components.push(e)}))}))},t.prototype.dispatchFrameEvent=function(t){this.sceneEvents.includes(t)&&this.loadedScene.dispatch(t),this.gameObjectEvents.includes(t)&&this.gameObjects.forEach((function(e){e.active&&e.dispatch(t)})),this.components.forEach((function(e){e.active&&e.dispatch(t)}))},t}(),c=function(){function t(t){this.updateEvent=i.Update,this.started=!1,this.container=t,this.gameConfig=this.container.getConstant(\"GameConfig\"),this.gameConfig.headless||(this.assetManager=this.container.getSingleton(\"AssetManager\"),this.domManager=this.container.getSingleton(\"DomManager\"),this.inputManager=this.container.getSingleton(\"InputManager\"),this.renderManager=this.container.getSingleton(\"RenderManager\")),this.gameObjectManager=this.container.getSingleton(\"GameObjectManager\"),this.physicsManager=this.container.getSingleton(\"PhysicsManager\"),this.sceneManager=this.container.getSingleton(\"SceneManager\"),this.timeManager=this.container.getSingleton(\"TimeManager\")}return t.prototype.dispatch=function(t,e){t===i.Init&&this.init?this.init(e):t!==i.Start||this.started?t===this.updateEvent&&this.started&&this.update?this.update():t===i.Destroy?(this.onDestroy&&this.onDestroy(),this._destroy()):t===i.StopGame&&(this.onDestroy&&this.onDestroy(),this._stopGame()):(this.start&&this.start(),this.started=!0)},t.prototype.addGameObject=function(t,e,i){return\"string\"==typeof e&&(i=e,e={}),this.gameObjectManager.addGameObject(t,e,void 0,i)},t.prototype.findGameObjects=function(t){return t?this.gameObjectManager.findGameObjects(t):this.gameObjectManager.findGameObjects()},t.prototype.findGameObject=function(t){return this.gameObjectManager.findGameObject(t)},t.prototype.findGameObjectsByTag=function(t){return this.gameObjectManager.findGameObjectsByTag(t)},t.prototype.destroyGameObject=function(t){this.gameObjectManager.destroyGameObject(t)},t}(),l=function(t){function i(e,i,n){void 0===n&&(n=\"\");var r=t.call(this,e)||this;return r.allowMultiple=!0,r._active=!0,r.gameObject=i,r.name=n,r}return e(i,t),Object.defineProperty(i.prototype,\"active\",{get:function(){return this._active},set:function(t){this._active!==t&&(this._active=t,this.onActiveChange())},enumerable:!1,configurable:!0}),i.prototype.onActiveChange=function(){},i.prototype.getCurrentScene=function(){return this.sceneManager.getLoadedScene()},i.prototype.getGameObject=function(){return this.gameObject},i.prototype.getComponents=function(t){return t?this.gameObject.getComponents(t):this.gameObject.getComponents()},i.prototype.getComponent=function(t){return this.gameObject.getComponent(t)},i.prototype.hasComponent=function(t){return this.gameObject.hasComponent(t)},i.prototype.removeComponent=function(t){this.gameObject.removeComponent(t)},i.prototype._destroy=function(){var t=this;Object.keys(this).forEach((function(e){return delete t[e]}))},i.prototype._stopGame=function(){},i}(c),u=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateEngine,e}return e(n,t),n}(l),p=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateCollider,e}return e(n,t),n}(l),d=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdatePhysics,e}return e(n,t),n}(l),f=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateTransform,e}return e(n,t),n}(l),g=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdatePreRender,e}return e(n,t),n}(l),m=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateCamera,e}return e(n,t),n}(l),y=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateRender,e}return e(n,t),n}(l);!function(t){t[t.Polygon=0]=\"Polygon\",t[t.Circumference=1]=\"Circumference\",t[t.Line=2]=\"Line\"}(o||(o={})),function(t){t[t.WorldSpace=0]=\"WorldSpace\",t[t.ViewPort=1]=\"ViewPort\"}(s||(s={})),function(t){t[t.Sprite=0]=\"Sprite\",t[t.Text=1]=\"Text\",t[t.Tilemap=2]=\"Tilemap\",t[t.Mask=3]=\"Mask\",t[t.Geometric=4]=\"Geometric\",t[t.Video=5]=\"Video\"}(a||(a={}));var v=function(){function t(t){this.gl=t,this.viewport={x:0,x1:0,y:0,y1:0},this.object={x:0,x1:0,y:0,y1:0}}return t.prototype.setViewport=function(t,e){var i=t.position,n=t.zoom;e===s.WorldSpace?(this.viewport.x=i.x-this.gl.canvas.width/n/2,this.viewport.x1=i.x+this.gl.canvas.width/n/2,this.viewport.y=i.y-this.gl.canvas.height/n/2,this.viewport.y1=i.y+this.gl.canvas.height/n/2):(this.viewport.x=-this.gl.canvas.width/2,this.viewport.x1=this.gl.canvas.width/2,this.viewport.y=-this.gl.canvas.height/2,this.viewport.y1=this.gl.canvas.height/2)},t.prototype.setObjectForResizeable=function(t){var e=t.position,i=t.width,n=t.height,r=t.rotation,o=void 0===r?0:r,s=Math.abs(Math.sin(o)),a=Math.abs(Math.cos(o)),h=s*n+a*i,c=s*i+a*n;this.object.x=e.x-h/2,this.object.x1=e.x+h/2,this.object.y=e.y-c/2,this.object.y1=e.y+c/2},t.prototype.setObjectForText=function(t){var e=t.position,i=t.text,n=t.fontSize,r=t.lineSeparation,o=t.letterSpacing,s=t.rotation,a=i.split(\"\\n\").reduce((function(t,e){return Math.max(t,e.length)}),0)*(n+(null!=o?o:0))*2,h=i.split(\"\\n\").length*(n+(null!=r?r:0));this.setObjectForResizeable({position:e,width:a,height:h,rotation:s})},t.prototype.setObjectForGeometric=function(t){var e=this,i=t.position,n=t.vertexModel,r=t.shape,s=t.radius;r===o.Circumference?(this.object.x=i.x-s,this.object.y=i.y-s,this.object.x1=i.x+s,this.object.y1=i.y+s):(this.object.x=Number.MAX_SAFE_INTEGER,this.object.y=Number.MAX_SAFE_INTEGER,this.object.x1=Number.MIN_SAFE_INTEGER,this.object.y1=Number.MIN_SAFE_INTEGER,n.forEach((function(t){e.object.x=Math.min(t.x+i.x,e.object.x),e.object.y=Math.min(t.y+i.y,e.object.y),e.object.x1=Math.max(t.x+i.x,e.object.x1),e.object.y1=Math.max(t.y+i.y,e.object.y1)})))},t.prototype.setObjectForTilemap=function(t){t.tilemap.height=Math.ceil(t.tiles.length/t.tilemap.width),this.setObjectForResizeable({position:t.renderPosition,width:t.tilemap.width*t.tilemap.tileWidth,height:t.tilemap.height*t.tilemap.tileHeight,rotation:t.rotation})},t.prototype.applyCullingInTiles=function(t){var e=this,i=t.tiles,n=t.tilemap,r=n.width,o=n.tileWidth,s=n.tileHeight;t.culledTiles=i.map((function(t,i){return e.viewport.x1>=e.object.x+i%r*o&&e.viewport.x<=e.object.x+i%r*o+o&&e.viewport.y1>=e.object.y1-((i/r|0)*s+s)&&e.viewport.y<=e.object.y1-(i/r|0)*s?t:0}))},t.prototype.isInViewPort=function(t,e){switch(this.setViewport(e,t.location),t.type){case a.Video:case a.Mask:case a.Sprite:this.setObjectForResizeable(t);break;case a.Geometric:this.setObjectForGeometric(t);break;case a.Text:this.setObjectForText(t);break;case a.Tilemap:this.setObjectForTilemap(t)}return this.viewport.x1>=this.object.x&&this.viewport.x<=this.object.x1&&this.viewport.y1>=this.object.y&&this.viewport.y<=this.object.y1},t.prototype.applyCulling=function(t,e){var i=this;return e.filter((function(e){return!!i.isInViewPort(e,t)&&(e.type===a.Tilemap&&i.applyCullingInTiles(e),!0)}))},t}(),x=function(){return x=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},x.apply(this,arguments)};function b(t,e,i){if(i||2===arguments.length)for(var n,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);return t.concat(n||Array.prototype.slice.call(e))}\"function\"==typeof SuppressedError&&SuppressedError;var M,_=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}();!function(){function t(t,e,i,n){this._position=new _,this._center=new _,this._width=0,this._height=0,this.set(t,e,i,n)}Object.defineProperty(t.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},t.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},t.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},t.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},t.prototype.contains=function(e){return e instanceof t?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof _&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)}}(),function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new _,t?this.radians=t:e&&(this.degrees=e)}Object.defineProperty(t.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),t.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}(),function(t){t[t.Center=0]=\"Center\",t[t.RightUp=1]=\"RightUp\",t[t.RightDown=2]=\"RightDown\",t[t.RightCenter=3]=\"RightCenter\"}(M||(M={}));var w,C=function(){function t(t,e){this.webglManager=t,this.cullingManager=e,this.renderData=[],this.cameraData=[]}return t.prototype.addRenderData=function(t){this.renderData.push(t)},t.prototype.addCameraData=function(t){this.cameraData.push(t)},t.prototype.render=function(){var t=this;this.cameraData.sort((function(t,e){return t.depth-e.depth})).forEach((function(e){return t.renderByCamera(e)}))},t.prototype.renderByCamera=function(t){var e=this;this.cullingManager.applyCulling(t,this.renderData.filter((function(e){return t.layers.includes(e.layer)})).sort((function(e,i){return t.layers.indexOf(e.layer)-t.layers.indexOf(i.layer)})).map((function(t){return t.type===a.Tilemap?function(t){var e=x(x({},t),{culledTiles:[],tilemap:x(x({},t.tilemap),{height:Math.ceil(t.tiles.length/t.tilemap.width),realWidth:t.tilemap.width*t.tilemap.tileWidth,realHeight:0}),renderPosition:new _});return e.tilemap.realHeight=e.tilemap.height*e.tilemap.tileHeight,function(t){t.renderPosition.set(t.position.x+(t.orientation!==M.Center?t.tilemap.realWidth/2:0),t.position.y+(t.orientation===M.RightDown?-t.tilemap.realHeight/2:t.orientation===M.RightUp?t.tilemap.realHeight/2:0))}(e),e}(t):t}))).forEach((function(i){return e.webglManager.render(i,t)}))},t.prototype.clearData=function(){this.renderData=[],this.cameraData=[]},t.prototype.clearScreen=function(t){this.webglManager.clearCanvas(t)},t.prototype.preloadTexture=function(t){this.webglManager.createTexture(t)},t}();!function(t){t.LegacyWebGL=\"webgl\",t.WebGL2=\"webgl2\"}(w||(w={}));var j=function(){function t(t){if(this.canvas=t,this.contextVersion=this.getContextVersion(),!this.contextVersion)throw new Error(\"Your browser does not support WebGL.\");this.gl=this.canvas.getContext(this.contextVersion)}return t.prototype.getContextVersion=function(){return null!==this.canvas.getContext(w.WebGL2)?w.WebGL2:null!==this.canvas.getContext(w.LegacyWebGL)?w.LegacyWebGL:void 0},t}(),O=function(){function t(){this.fontAtlas=new Map}return t.prototype.hasFontAtlas=function(t){return this.fontAtlas.has(this.symbol(t))},t.prototype.getFontAtlas=function(t){return this.fontAtlas.get(this.symbol(t))},t.prototype.getOrCreate=function(t,e,i){var n;return null!==(n=this.getFontAtlas(e))&&void 0!==n?n:this.create(t,e,i)},t.prototype.create=function(t,e,i){this.bitmapSize=i,this.chars=[];for(var n=0;n<t.length;n+=2)for(var r=t[n];r<=t[n+1];r++)this.chars.push(String.fromCharCode(r));var o=this.renderAtlas(e instanceof FontFace?e.family:e);return this.fontAtlas.set(this.symbol(e),o),o},t.prototype.symbol=function(t){return Symbol.for(t instanceof FontFace?t.family:t)},t.prototype.renderAtlas=function(t){var e=new P(t,this.bitmapSize,Math.ceil(Math.sqrt(this.chars.length))),i=e.canvas.getContext(\"2d\");i.clearRect(0,0,e.canvas.width,e.canvas.height),i.textBaseline=\"top\",i.fillStyle=\"#000\",i.font=\"\".concat(this.bitmapSize,\"px \").concat(t);for(var n=0,r=0,o=0;o<this.chars.length;o++)i.fillText(this.chars[o],n,r),e.glyphs.set(this.chars[o],{id:o,width:i.measureText(this.chars[o]).width}),(n+=this.bitmapSize)>e.canvas.width-this.bitmapSize&&(n=0,r+=this.bitmapSize);return e},t}(),P=function(t,e,i){this.fontFaceFamily=t,this.bitmapFontSize=e,this.gridSize=i,this.canvas=document.createElement(\"canvas\"),this.glyphs=new Map,this.canvas.width=this.gridSize*this.bitmapFontSize,this.canvas.height=this.canvas.width},R=function(){function t(t,e){this.gl=t,this.shaderLoader=e}return t.prototype.create=function(t,e){var i=this.gl.createProgram(),n=this.shaderLoader.load(this.gl.VERTEX_SHADER,t),r=this.shaderLoader.load(this.gl.FRAGMENT_SHADER,e);this.gl.attachShader(i,n),this.gl.attachShader(i,r),this.gl.linkProgram(i);var o=this.gl.LINK_STATUS;if(!this.gl.getProgramParameter(i,o)){var s=this.gl.getProgramInfoLog(i);throw this.gl.deleteProgram(i),new Error(\"Unable to initialize the Program: \".concat(s))}return i},t}(),A=function(){function t(t,e,i){this.gl=t,this.contextVersion=e,this.programFactory=i}return t.prototype.loadProgram=function(){this.program=this.contextVersion===w.WebGL2?this.programFactory.create(\"#version 300 es\\n\\nin vec4 positionCoords;\\nin vec2 textureCoords;\\n\\nout vec2 texCoords;\\n\\nuniform mat4 projectionMatrix;\\nuniform mat4 modelMatrix;\\nuniform mat4 textureMatrix;\\n\\nvoid main()\\n{\\n gl_Position = projectionMatrix * modelMatrix * positionCoords;\\n texCoords = (textureMatrix * vec4(textureCoords, 0, 1)).xy;\\n}\",\"#version 300 es\\nprecision highp float;\\n\\nout vec4 fragColor;\\n\\nin vec2 texCoords;\\n\\nuniform int u_renderTexture;\\nuniform sampler2D u_texImage;\\nuniform vec4 u_solidColor;\\n\\nuniform int u_useTintColor;\\nuniform vec4 u_tintColor;\\n\\nuniform int u_useMaskColor;\\nuniform vec4 u_maskColor;\\nuniform float u_maskColorMix;\\n\\nuniform float u_alpha;\\n\\nvoid main()\\n{\\n if (u_renderTexture == 1) {\\n vec4 texColor = texture(u_texImage, texCoords);\\n\\n if (texColor.a < 0.0001) {\\n discard;\\n }\\n\\n if (u_useTintColor == 1) {\\n texColor = u_tintColor * texColor;\\n }\\n\\n if (u_useMaskColor == 1) {\\n texColor = mix(texColor, u_maskColor, clamp(u_maskColorMix, 0.0, 1.0));\\n }\\n\\n fragColor = vec4(texColor.rgb, u_alpha * texColor.a); \\n } else {\\n fragColor = vec4(u_solidColor.rgb, u_alpha);\\n }\\n}\"):this.programFactory.create(\"precision mediump float;\\n\\nattribute vec2 positionCoords;\\nattribute vec2 textureCoords;\\n\\nvarying vec2 texCoords;\\n\\nuniform mat4 projectionMatrix;\\nuniform mat4 modelMatrix;\\nuniform mat4 textureMatrix;\\n\\nvoid main()\\n{\\n gl_Position = projectionMatrix * modelMatrix * vec4(positionCoords, 0, 1);\\n texCoords = (textureMatrix * vec4(textureCoords, 0, 1)).xy;\\n}\",\"precision mediump float;\\n\\nvarying vec2 texCoords;\\n\\nuniform int u_renderTexture;\\nuniform sampler2D u_texImage;\\nuniform vec4 u_solidColor;\\n\\nuniform int u_useTintColor;\\nuniform vec4 u_tintColor;\\n\\nuniform int u_useMaskColor;\\nuniform vec4 u_maskColor;\\nuniform float u_maskColorMix;\\n\\nuniform float u_alpha;\\n\\nvoid main()\\n{\\n if (u_renderTexture == 1) {\\n vec4 texColor = texture2D(u_texImage, texCoords);\\n\\n if (texColor.a < 0.0001) {\\n discard;\\n }\\n\\n if (u_useTintColor == 1) {\\n texColor = u_tintColor * texColor;\\n }\\n\\n if (u_useMaskColor == 1) {\\n texColor = mix(texColor, u_maskColor, clamp(u_maskColorMix, 0.0, 1.0));\\n }\\n\\n gl_FragColor = vec4(texColor.rgb, u_alpha * texColor.a);\\n } else {\\n gl_FragColor = vec4(u_solidColor.rgb, u_alpha);\\n }\\n}\"),this.positionBuffer=this.gl.createBuffer(),this.textureBuffer=this.gl.createBuffer(),this.positionCoordsAttr=this.gl.getAttribLocation(this.program,\"positionCoords\"),this.texCoordsAttr=this.gl.getAttribLocation(this.program,\"textureCoords\"),this.modelMatrixUniform=this.gl.getUniformLocation(this.program,\"modelMatrix\"),this.projectionMatrixUniform=this.gl.getUniformLocation(this.program,\"projectionMatrix\"),this.textureMatrixUniform=this.gl.getUniformLocation(this.program,\"textureMatrix\"),this.renderTextureUniform=this.gl.getUniformLocation(this.program,\"u_renderTexture\"),this.textureUniform=this.gl.getUniformLocation(this.program,\"u_texImage\"),this.solidColorUniform=this.gl.getUniformLocation(this.program,\"u_solidColor\"),this.useTintColorUniform=this.gl.getUniformLocation(this.program,\"u_useTintColor\"),this.tintColorUniform=this.gl.getUniformLocation(this.program,\"u_tintColor\"),this.useMaskColorUniform=this.gl.getUniformLocation(this.program,\"u_useMaskColor\"),this.maskColorUniform=this.gl.getUniformLocation(this.program,\"u_maskColor\"),this.maskColorMixUniform=this.gl.getUniformLocation(this.program,\"u_maskColorMix\"),this.alphaUniform=this.gl.getUniformLocation(this.program,\"u_alpha\"),this.gl.useProgram(this.program),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.enableVertexAttribArray(this.positionCoordsAttr),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionBuffer),this.gl.vertexAttribPointer(this.positionCoordsAttr,2,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.texCoordsAttr),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.textureBuffer),this.gl.vertexAttribPointer(this.texCoordsAttr,2,this.gl.FLOAT,!1,0,0)},t}(),S=function(){function t(t){this.gl=t}return t.prototype.load=function(t,e){var i=this.gl.createShader(t);this.gl.shaderSource(i,e),this.gl.compileShader(i);var n=this.gl.COMPILE_STATUS;if(!this.gl.getShaderParameter(i,n)){var r=this.gl.getShaderInfoLog(i);throw this.gl.deleteShader(i),new Error(\"Unable to initialize the shader program: \".concat(r))}return i},t}(),E=\"undefined\"!=typeof Float32Array?Float32Array:Array;function T(){var t=new E(16);return E!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function D(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function F(t,e,i){var n,r,o,s,a,h,c,l,u,p,d,f,g=i[0],m=i[1],y=i[2];return e===t?(t[12]=e[0]*g+e[4]*m+e[8]*y+e[12],t[13]=e[1]*g+e[5]*m+e[9]*y+e[13],t[14]=e[2]*g+e[6]*m+e[10]*y+e[14],t[15]=e[3]*g+e[7]*m+e[11]*y+e[15]):(n=e[0],r=e[1],o=e[2],s=e[3],a=e[4],h=e[5],c=e[6],l=e[7],u=e[8],p=e[9],d=e[10],f=e[11],t[0]=n,t[1]=r,t[2]=o,t[3]=s,t[4]=a,t[5]=h,t[6]=c,t[7]=l,t[8]=u,t[9]=p,t[10]=d,t[11]=f,t[12]=n*g+a*m+u*y+e[12],t[13]=r*g+h*m+p*y+e[13],t[14]=o*g+c*m+d*y+e[14],t[15]=s*g+l*m+f*y+e[15]),t}function B(t,e,i){var n=i[0],r=i[1],o=i[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*o,t[9]=e[9]*o,t[10]=e[10]*o,t[11]=e[11]*o,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function U(t,e,i){var n=Math.sin(i),r=Math.cos(i),o=e[0],s=e[1],a=e[2],h=e[3],c=e[4],l=e[5],u=e[6],p=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=o*r+c*n,t[1]=s*r+l*n,t[2]=a*r+u*n,t[3]=h*r+p*n,t[4]=c*r-o*n,t[5]=l*r-s*n,t[6]=u*r-a*n,t[7]=p*r-h*n,t}Math.hypot||(Math.hypot=function(){for(var t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)});var I,L=function(t){var e=/^#?([a-f\\d]{2})?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(t);return e?{r:parseInt(e[2],16)/256,g:parseInt(e[3],16)/256,b:parseInt(e[4],16)/256,a:void 0!==e[1]?parseInt(e[1],16)/256:1}:null},V=function(t,e,i,n){var r,o;(function(t,e,i,n,r,o,s){var a=1/(e-i),h=1/(n-r),c=1/(o-s);t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*h,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+i)*a,t[13]=(r+n)*h,t[14]=(s+o)*c,t[15]=1})(t=D(t),-e.canvas.width/2,e.canvas.width/2,-e.canvas.height/2,e.canvas.height/2,-1,1),n===s.WorldSpace&&(B(t,t,[null!==(r=i.zoom)&&void 0!==r?r:1,null!==(o=i.zoom)&&void 0!==o?o:1,1]),F(t,t,[-i.position.x,-i.position.y,0]))},k=function(){function t(t,e){this.gl=t,this.programManager=e,this.vertices=new Map,this.lastVertices=null,this.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T();var i=2*Math.PI/60;this.circumferenceVertices=new Float32Array(function(t,e,i){void 0===i&&(i=1);for(var n=[],r=1;r<=60;r+=i)n.push(r);return n}(0,0,1).reduce((function(t,e){return b(b([],t,!0),[Math.cos(e*i),Math.sin(e*i)],!1)}),[]))}return t.prototype.render=function(t,e,i){switch(t.shape){case o.Polygon:this.renderLines(t,e,this.gl.LINE_LOOP,i);break;case o.Line:this.renderLines(t,e,this.gl.LINES,i);break;case o.Circumference:this.renderCircumference(t,e)}},t.prototype.renderLines=function(t,e,i,n){var r,o=this.generateVerticesKey(t.vertexModel);!1===this.vertices.has(o)&&this.vertices.set(o,new Float32Array(this.generatePolygonVertices(t.vertexModel)));var s=this.vertices.get(o);this.lastVertices===o&&n===a.Geometric||(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,s,this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,s,this.gl.DYNAMIC_DRAW)),this.lastVertices=o,this.modelMatrix=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(r=t.rotation)&&void 0!==r?r:0),V(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.uniform1i(this.programManager.renderTextureUniform,0);var h=L(t.color),c=h.r,l=h.g,u=h.b,p=h.a;this.gl.uniform4f(this.programManager.solidColorUniform,c,l,u,p),this.gl.uniform1f(this.programManager.alphaUniform,1),this.gl.drawArrays(i,0,s.length/2)},t.prototype.generateVerticesKey=function(t){return Symbol.for(t.reduce((function(t,e){return\"\".concat(t).concat(e.x).concat(e.y)}),t.length.toString()))},t.prototype.generatePolygonVertices=function(t){for(var e=[],i=0;i<t.length;i++)e.push(t[i].x,t[i].y);return e},t.prototype.renderCircumference=function(t,e){this.lastVertices=null,this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.circumferenceVertices,this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.circumferenceVertices,this.gl.DYNAMIC_DRAW),this.modelMatrix=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),B(this.modelMatrix,this.modelMatrix,[t.radius,t.radius,1]),V(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.uniform1i(this.programManager.renderTextureUniform,0);var i=L(t.color),n=i.r,r=i.g,o=i.b,s=i.a;this.gl.uniform4f(this.programManager.solidColorUniform,n,r,o,s),this.gl.uniform1f(this.programManager.alphaUniform,1),this.gl.drawArrays(this.gl.LINE_LOOP,0,this.circumferenceVertices.length/2)},t}();!function(t){t[t.Rectangle=0]=\"Rectangle\",t[t.Circumference=1]=\"Circumference\"}(I||(I={}));var G,W=function(){function t(t,e){this.gl=t,this.programManager=e,this.type=a.Mask,this.rectangleVertices=new Float32Array([-.5,-.5,-.5,.5,.5,-.5,.5,-.5,-.5,.5,.5,.5]),this.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T();for(var i=2*Math.PI/60,n=[0,0],r=0;r<=60;r++)n.push(Math.cos(r*i),Math.sin(r*i));this.circumferenceVertices=new Float32Array(n)}return t.prototype.render=function(t,e,i){var n,r;i===a.Mask&&this.lastShape===t.shape||(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,t.shape===I.Rectangle?this.rectangleVertices:this.circumferenceVertices,this.gl.STATIC_DRAW)),this.modelMatrix=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,t.shape===I.Rectangle?[t.width,t.height,1]:[t.radius,t.radius,1]),V(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),t.alpha>=0&&t.alpha<1?this.gl.enable(this.gl.BLEND):this.gl.disable(this.gl.BLEND),this.gl.uniform1i(this.programManager.renderTextureUniform,0);var o=L(t.color),s=o.r,h=o.g,c=o.b,l=o.a;this.gl.uniform4f(this.programManager.solidColorUniform,s,h,c,l),this.gl.uniform1f(this.programManager.alphaUniform,null!==(r=t.alpha)&&void 0!==r?r:1),t.shape===I.Rectangle?this.gl.drawArrays(this.gl.TRIANGLES,0,6):this.gl.drawArrays(this.gl.TRIANGLE_FAN,0,this.circumferenceVertices.length/2),this.lastShape=t.shape},t}(),H=function(){function t(t,e,i){this.gl=t,this.programManager=e,this.textureManager=i,this.lastTexture=null,this.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T(),this.posVertices=new Float32Array([-.5,-.5,-.5,.5,.5,-.5,.5,-.5,-.5,.5,.5,.5]),this.texVertices=new Float32Array([0,1,0,0,1,1,1,1,0,0,1,0])}return t.prototype.render=function(t,e,i){var n,r,o,s;i!==t.type&&(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.posVertices,this.gl.STATIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.texVertices,this.gl.STATIC_DRAW)),this.modelMatrix=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,[t.width*(t.flipHorizontal?-1:1),t.height*(t.flipVertical?-1:1),1]),this.textureMatrix=D(this.textureMatrix),t.slice&&(F(this.textureMatrix,this.textureMatrix,[t.slice.x/t.image.naturalWidth,t.slice.y/t.image.naturalHeight,0]),B(this.textureMatrix,this.textureMatrix,[t.slice.width/t.image.naturalWidth,t.slice.height/t.image.naturalHeight,1])),V(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.enable(this.gl.BLEND);var a=this.textureManager.getOrCreateTextureFromImage(t.image,t.smooth);if(this.lastTexture===a&&i===t.type||(this.gl.bindTexture(this.gl.TEXTURE_2D,a),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=a),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,null!==(r=t.alpha)&&void 0!==r?r:1),this.gl.uniform1i(this.programManager.useTintColorUniform,t.tintColor?1:0),t.tintColor){var h=L(t.tintColor),c=h.r,l=h.g,u=h.b,p=h.a;this.gl.uniform4f(this.programManager.tintColorUniform,c,l,u,p)}if(this.gl.uniform1i(this.programManager.useMaskColorUniform,t.maskColor?1:0),t.maskColor){var d=L(t.maskColor);c=d.r,l=d.g,u=d.b,this.gl.uniform4f(this.programManager.maskColorUniform,c,l,u,null!==(o=t.alpha)&&void 0!==o?o:1),this.gl.uniform1f(this.programManager.maskColorMixUniform,null!==(s=t.maskColorMix)&&void 0!==s?s:1)}this.gl.drawArrays(this.gl.TRIANGLES,0,6)},t}();!function(t){t[t.Center=0]=\"Center\",t[t.RightUp=1]=\"RightUp\",t[t.RightDown=2]=\"RightDown\",t[t.RightCenter=3]=\"RightCenter\"}(G||(G={}));var z=new _,N=new _,Y=[32,126,161,255],X=G.Center,q=function(){function t(t,e,i,n){this.gl=t,this.programManager=e,this.textureManager=i,this.fontAtlasFactory=n,this.type=a.Text,this.posVertices=[],this.texVertices=[],this.lastTexture=null,this.textSize=new _,this.modelPosition=new _,this.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T()}return t.prototype.render=function(t,e,i){var n;if(!t.text)throw new Error(\"Nothing to render\");this.setDefaultValues(t);var r=this.fontAtlasFactory.getOrCreate(t.bitmap.charRanges,t.font,t.bitmap.fontSize);this.generateTextVertices(r,t),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this.posVertices),this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this.texVertices),this.gl.DYNAMIC_DRAW),this.modelMatrix=D(this.modelMatrix),this.setPositionFromOrientation(t),F(this.modelMatrix,this.modelMatrix,[this.modelPosition.x,this.modelPosition.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,[t.fontSize,t.fontSize,1]),this.textureMatrix=D(this.textureMatrix),V(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),t.alpha<1?this.gl.enable(this.gl.BLEND):this.gl.disable(this.gl.BLEND);var o=this.textureManager.getOrCreateTextureFromCanvas(\"FontFamily:\"+r.fontFaceFamily,r.canvas,t.smooth);this.lastTexture===o&&i===a.Text||(this.gl.bindTexture(this.gl.TEXTURE_2D,o),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=o),this.gl.uniform1i(this.programManager.useTintColorUniform,0),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,t.alpha);var s=L(t.color),h=s.r,c=s.g,l=s.b,u=s.a;this.gl.uniform4f(this.programManager.maskColorUniform,h,c,l,u),this.gl.uniform1f(this.programManager.maskColorMixUniform,1),this.gl.uniform1i(this.programManager.useMaskColorUniform,1),this.gl.drawArrays(this.gl.TRIANGLES,0,this.posVertices.length/2)},t.prototype.setDefaultValues=function(t){var e,i,n,r,o,s,a,h,c,l;t.bitmap?(t.bitmap.margin=null!==(e=t.bitmap.margin)&&void 0!==e?e:z,t.bitmap.spacing=null!==(i=t.bitmap.spacing)&&void 0!==i?i:N,t.bitmap.fontSize=null!==(n=t.bitmap.fontSize)&&void 0!==n?n:64,t.bitmap.charRanges=null!==(r=t.bitmap.charRanges)&&void 0!==r?r:Y):t.bitmap={margin:z,spacing:N,fontSize:64,charRanges:Y},t.color=null!==(o=t.color)&&void 0!==o?o:\"#000000\",t.letterSpacing=null!==(s=t.letterSpacing)&&void 0!==s?s:0,t.lineSeparation=null!==(a=t.lineSeparation)&&void 0!==a?a:0,t.alpha=null!==(h=t.alpha)&&void 0!==h?h:1,t.orientation=null!==(c=t.orientation)&&void 0!==c?c:X,t.rotation=null!==(l=t.rotation)&&void 0!==l?l:0},t.prototype.generateTextVertices=function(t,e){var i=e.text,n=e.fontSize,r=e.bitmap,o=e.letterSpacing,s=e.lineSeparation;this.posVertices=[],this.texVertices=[];var a=0,h=0,c=0;o/=n,s/=n;for(var l=0;l<i.length;l++){var u=i[l];if(\"\\n\"!==u){var p=t.glyphs.get(u);if(p){var d=p.width/t.bitmapFontSize;this.posVertices.push(a,h-1,a+d,h-1,a,h,a,h,a+d,h-1,a+d,h);var f=p.id%t.gridSize*t.bitmapFontSize,g=(p.id/t.gridSize|0)*t.bitmapFontSize,m=(f+r.margin.x)/t.canvas.width,y=(g+r.margin.y)/t.canvas.width,v=(f+p.width+r.spacing.x)/t.canvas.width,x=(g+t.bitmapFontSize+r.spacing.y)/t.canvas.width;this.texVertices.push(m,x,v,x,m,y,m,y,v,x,v,y),a+=d+o}}else c=Math.max(c,a),a=0,h-=1+s}this.textSize.set(Math.max(c,a)*n,Math.abs(h-1)*n)},t.prototype.setPositionFromOrientation=function(t){this.modelPosition.set(t.position.x+(t.orientation===G.Center?-this.textSize.x/2:0),t.position.y+(t.orientation===G.Center||t.orientation===G.RightCenter?this.textSize.y/2:t.orientation===G.RightUp?this.textSize.y:0))},t}(),K=function(){function t(t,e,i){this.gl=t,this.programManager=e,this.textureManager=i,this.posVertices=[],this.texVertices=[],this.lastTexture=null,this.tileset={width:0,tileWidth:0,tileHeight:0,texMargin:new _,texSpacing:new _,texWidth:0,texHeight:0,texCorrection:new _},this.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T()}return t.prototype.render=function(t,e,i){var n,r,o,s;if(0===t.culledTiles.reduce((function(t,e){return t+e}),0))throw new Error(\"Nothing to render\");if(this.processTileset(t),this.generateVertices(t),0===this.posVertices.length)throw new Error(\"Nothing to render\");this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this.posVertices),this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this.texVertices),this.gl.DYNAMIC_DRAW),this.modelMatrix=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.renderPosition.x,t.renderPosition.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,[t.tilemap.tileWidth*(t.flipHorizontal?-1:1),t.tilemap.tileHeight*(t.flipVertical?-1:1),1]),this.textureMatrix=D(this.textureMatrix),B(this.textureMatrix,this.textureMatrix,[this.tileset.tileWidth/t.tileset.image.naturalWidth,this.tileset.tileHeight/t.tileset.image.naturalHeight,1]),V(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.enable(this.gl.BLEND);var h=this.textureManager.getOrCreateTextureFromImage(t.tileset.image,t.smooth);if(this.lastTexture===h&&i===a.Tilemap||(this.gl.bindTexture(this.gl.TEXTURE_2D,h),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=h),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,null!==(r=t.alpha)&&void 0!==r?r:1),this.gl.uniform1i(this.programManager.useTintColorUniform,t.tintColor?1:0),t.tintColor){var c=L(t.tintColor),l=c.r,u=c.g,p=c.b,d=c.a;this.gl.uniform4f(this.programManager.tintColorUniform,l,u,p,d)}if(this.gl.uniform1i(this.programManager.useMaskColorUniform,t.maskColor?1:0),t.maskColor){var f=L(t.maskColor);l=f.r,u=f.g,p=f.b,this.gl.uniform4f(this.programManager.maskColorUniform,l,u,p,null!==(o=t.alpha)&&void 0!==o?o:1),this.gl.uniform1f(this.programManager.maskColorMixUniform,null!==(s=t.maskColorMix)&&void 0!==s?s:1)}this.gl.drawArrays(this.gl.TRIANGLES,0,this.posVertices.length/2)},t.prototype.processTileset=function(t){var e,i,n,r,o,s,a,h=t.tileset;h.margin=null!==(e=h.margin)&&void 0!==e?e:new _,h.spacing=null!==(i=h.spacing)&&void 0!==i?i:new _,h.correction=null!==(n=h.correction)&&void 0!==n?n:new _,this.tileset.width=h.width,this.tileset.tileWidth=h.tileWidth+(null!==(r=h.margin.x)&&void 0!==r?r:0)+(null!==(o=h.spacing.x)&&void 0!==o?o:0),this.tileset.tileHeight=h.tileHeight+(null!==(s=h.margin.y)&&void 0!==s?s:0)+(null!==(a=h.spacing.y)&&void 0!==a?a:0),this.tileset.texMargin.set(h.margin.x/this.tileset.tileWidth,h.margin.y/this.tileset.tileHeight),this.tileset.texSpacing.set(h.spacing.x/this.tileset.tileWidth,h.spacing.y/this.tileset.tileHeight),this.tileset.texCorrection.set(h.correction.x/this.tileset.tileWidth,h.correction.y/this.tileset.tileHeight),this.tileset.texWidth=1-this.tileset.texMargin.x-this.tileset.texSpacing.x-2*this.tileset.texCorrection.x,this.tileset.texHeight=1-this.tileset.texMargin.y-this.tileset.texSpacing.y-2*this.tileset.texCorrection.y},t.prototype.generateVertices=function(t){var e=this,i=t.culledTiles,n=t.tilemap;this.posVertices=[],this.texVertices=[];var r=Math.floor(i.length/n.width);i.forEach((function(t,i){if(0!==t){var o=i%n.width-n.width/2,s=r/2-Math.floor(i/n.width);e.posVertices.push(o,s-1,o+1,s-1,o,s,o,s,o+1,s-1,o+1,s);var a=(t-1)%e.tileset.width+e.tileset.texMargin.x+e.tileset.texCorrection.x,h=Math.floor((t-1)/e.tileset.width)+e.tileset.texMargin.y+e.tileset.texCorrection.y;e.texVertices.push(a,h+e.tileset.texHeight,a+e.tileset.texWidth,h+e.tileset.texHeight,a,h,a,h,a+e.tileset.texWidth,h+e.tileset.texHeight,a+e.tileset.texWidth,h)}}))},t}(),Q=function(){function t(t,e,i){this.gl=t,this.programManager=e,this.textureManager=i,this.lastTexture=null,this.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T(),this.posVertices=new Float32Array([-.5,-.5,-.5,.5,.5,-.5,.5,-.5,-.5,.5,.5,.5]),this.texVertices=new Float32Array([0,1,0,0,1,1,1,1,0,0,1,0])}return t.prototype.render=function(t,e,i){var n,r,o,s;i!==t.type&&(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.posVertices,this.gl.STATIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.texVertices,this.gl.STATIC_DRAW)),this.modelMatrix=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,[t.width*(t.flipHorizontal?-1:1),t.height*(t.flipVertical?-1:1),1]),this.textureMatrix=D(this.textureMatrix),t.slice&&(F(this.textureMatrix,this.textureMatrix,[t.slice.x/t.video.videoWidth,t.slice.y/t.video.videoHeight,0]),B(this.textureMatrix,this.textureMatrix,[t.slice.width/t.video.videoWidth,t.slice.height/t.video.videoHeight,1])),V(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.enable(this.gl.BLEND);var a=this.textureManager.getOrCreateTextureFromVideo(t.video);if(this.lastTexture===a&&i===t.type||(this.gl.bindTexture(this.gl.TEXTURE_2D,a),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=a),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,t.video),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,null!==(r=t.alpha)&&void 0!==r?r:1),this.gl.uniform1i(this.programManager.useTintColorUniform,t.tintColor?1:0),t.tintColor){var h=L(t.tintColor),c=h.r,l=h.g,u=h.b,p=h.a;this.gl.uniform4f(this.programManager.tintColorUniform,c,l,u,p)}if(this.gl.uniform1i(this.programManager.useMaskColorUniform,t.maskColor?1:0),t.maskColor){var d=L(t.maskColor);c=d.r,l=d.g,u=d.b,this.gl.uniform4f(this.programManager.maskColorUniform,c,l,u,null!==(o=t.alpha)&&void 0!==o?o:1),this.gl.uniform1f(this.programManager.maskColorMixUniform,null!==(s=t.maskColorMix)&&void 0!==s?s:1)}this.gl.drawArrays(this.gl.TRIANGLES,0,6)},t}(),$=function(){function t(t){this.gl=t}return t.prototype.createFromImage=function(t,e,i){var n=this;return void 0===e&&(e=!0),void 0===i&&(i=null),i=null!=i?i:this.gl.createTexture(),t.naturalWidth?this.createFromSource(t,i,e):t.addEventListener(\"load\",(function(){return n.createFromSource(t,i,e)})),i},t.prototype.createFromCanvas=function(t,e,i){return void 0===e&&(e=!0),void 0===i&&(i=null),i=null!=i?i:this.gl.createTexture(),this.createFromSource(t,i,e),i},t.prototype.createPixelTexture=function(){var t=this.gl.createTexture();return this.gl.bindTexture(this.gl.TEXTURE_2D,t),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,1,1,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,new Uint8Array([0,0,0,255])),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR),this.gl.bindTexture(this.gl.TEXTURE_2D,null),t},t.prototype.createFromSource=function(t,e,i){void 0===i&&(i=!0),this.gl.bindTexture(this.gl.TEXTURE_2D,e),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,t),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),!1===i?(this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.NEAREST),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.NEAREST)):(this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR)),this.gl.bindTexture(this.gl.TEXTURE_2D,null)},t}(),J=function(){function t(t){this.textureFactory=t,this.textures=new Map}return t.prototype.getOrCreateTextureFromImage=function(t,e){var i;return void 0===e&&(e=!0),null!==(i=this.textures.get(Symbol.for(t.src)))&&void 0!==i?i:this.createTextureFromImage(t,e)},t.prototype.createTextureFromImage=function(t,e){void 0===e&&(e=!0);var i=this.textureFactory.createFromImage(t,e);return this.textures.set(Symbol.for(t.src),i),i},t.prototype.getOrCreateTextureFromCanvas=function(t,e,i){var n;return void 0===i&&(i=!0),null!==(n=this.textures.get(Symbol.for(t)))&&void 0!==n?n:this.createTextureFromCanvas(t,e,i)},t.prototype.createTextureFromCanvas=function(t,e,i){void 0===i&&(i=!0);var n=this.textureFactory.createFromCanvas(e,i);return this.textures.set(Symbol.for(t),n),n},t.prototype.getOrCreateTextureFromVideo=function(t){var e;return null!==(e=this.textures.get(Symbol.for(t.src)))&&void 0!==e?e:this.createTextureFromVideo(t)},t.prototype.createTextureFromVideo=function(t){var e=this.textureFactory.createPixelTexture();return this.textures.set(Symbol.for(t.src),e),e},t}(),Z=function(){function t(t,e,i,n){this.gl=t,this.textureManager=i,this.renderers=n,e.loadProgram()}return t.prototype.render=function(t,e){try{this.renderers.get(t.type).render(t,e,this.lastRender),this.lastRender=t.type}catch(t){return}},t.prototype.clearCanvas=function(t){var e=L(t);this.gl.clearColor(e.r,e.g,e.b,e.a),this.gl.clear(this.gl.COLOR_BUFFER_BIT)},t.prototype.createTexture=function(t,e){void 0===e&&(e=!1),this.textureManager.createTextureFromImage(t,e)},t}(),tt=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}(),et=function(){function t(t,e,i,n){this._position=new tt,this._center=new tt,this._width=0,this._height=0,this.set(t,e,i,n)}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},t.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},t.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},t.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},t.prototype.contains=function(e){return e instanceof t?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof tt&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)},t}(),it=function(t,e,i){return Math.min(i,Math.max(e,t))};!function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new tt,t?this.radians=t:e&&(this.degrees=e)}Object.defineProperty(t.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),t.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}();var nt,rt=function(){function t(){}return t.prototype.create=function(t){var e=t.shape,i=t.layer,n=t.updateCollisions,r=t.physics,o=t.position,s=t.rotation,a=t.group,h=t.onCollision;return{id:0,active:!0,layer:i,shape:e,updateCollisions:n,physics:r,position:null!=o?o:new tt,rotation:null!=s?s:0,group:a,onCollision:h}},t}(),ot=function(){function t(t,e){void 0===e&&(e=0),this.area=new et(0,0,0,0),this.depth=0,this.items=[],this.children=[],this.depth=e,this.resize(t)}return t.prototype.resize=function(t){this.clear(),this.area.copy(t)},t.prototype.clear=function(){this.items=[],this.children.forEach((function(t){return t.clear()})),this.children=[]},t.prototype.insert=function(t,e){0===this.children.length&&this.items.length>16&&this.depth<8&&this.split(),this.children.length>0?this.insertItemIntoChildren(t,e):this.items.push([t,e])},t.prototype.split=function(){var e=this,i=this.area.width/2,n=this.area.height/2;this.children=[new et(this.area.x,this.area.y,i,n),new et(this.area.x,this.area.y+n,i,n),new et(this.area.x+i,this.area.y+n,i,n),new et(this.area.x+i,this.area.y,i,n)].map((function(i){return new t(i,e.depth+1)})),this.items.forEach((function(t){return e.insertItemIntoChildren(t[0],t[1])})),this.items=[]},t.prototype.insertItemIntoChildren=function(t,e){this.getChildrenForArea(e).forEach((function(i){return i.insert(t,e)}))},t.prototype.retrieve=function(t){var e=[];return this.children.length>0?this.getChildrenForArea(t).forEach((function(i){return e.push.apply(e,i.retrieve(t))})):this.items.forEach((function(t){return e.push(t[0])})),e},t.prototype.getChildrenForArea=function(t){var e=[];return t.x<=this.area.center.x&&t.y<=this.area.center.y&&e.push(this.children[0]),t.x<=this.area.center.x&&t.y1>=this.area.center.y&&e.push(this.children[1]),t.x1>=this.area.center.x&&t.y1>=this.area.center.y&&e.push(this.children[2]),t.x1>=this.area.center.x&&t.y<=this.area.center.y&&e.push(this.children[3]),e},t}(),st=function(t,e,i,n){return Math.min((t-e)/i|0,n-1)},at=function(){function t(t){this.coordinates={x0:0,x1:0,y0:0,y1:0},this._subdivisions=1,this.resize(t)}return Object.defineProperty(t.prototype,\"subdivisions\",{get:function(){return this._subdivisions},set:function(t){this._subdivisions=it(t,1,20)},enumerable:!1,configurable:!0}),t.prototype.resize=function(t){this.area=t,this.cellWidth=Math.ceil(t.width/this._subdivisions),this.cellHeight=Math.ceil(t.height/this._subdivisions),this.itemsInCells=[];for(var e=0;e<this._subdivisions;e++){this.itemsInCells[e]=[];for(var i=0;i<this._subdivisions;i++)this.itemsInCells[e][i]=[]}},t.prototype.clear=function(){for(var t=0;t<this._subdivisions;t++)for(var e=0;e<this._subdivisions;e++)this.itemsInCells[t][e]=[]},t.prototype.insert=function(t,e){this.updateCoordinates(e);for(var i=this.coordinates.x0;i<=this.coordinates.x1;i++)for(var n=this.coordinates.y0;n<=this.coordinates.y1;n++)this.itemsInCells[i][n].push(t)},t.prototype.retrieve=function(t){var e=[];this.updateCoordinates(t);for(var i=this.coordinates.x0;i<=this.coordinates.x1;i++)for(var n=this.coordinates.y0;n<=this.coordinates.y1;n++)this.itemsInCells[i][n].forEach((function(t){return e.includes(t)?null:e.push(t)}));return e},t.prototype.updateCoordinates=function(t){this.coordinates.x0=st(t.x,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.x1=st(t.x1,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.y0=st(t.y,this.area.y,this.cellHeight,this._subdivisions),this.coordinates.y1=st(t.y1,this.area.y,this.cellHeight,this._subdivisions)},t}();!function(t){t[t.QuadTree=0]=\"QuadTree\",t[t.SpartialGrid=1]=\"SpartialGrid\"}(nt||(nt={}));var ht,ct=function(){function t(t,e,i,n){this.collisions=[],this.lastCollidersAmount=0,this.minArea=new tt,this.maxArea=new tt,this.newArea=new et(0,0,0,0),this.method=t,this.colliders=[],this.activeColliders=[],this.collisionMatrix=n,this.setupBroadPhaseResolver(null!=e?e:nt.QuadTree,i)}return t.prototype.setupBroadPhaseResolver=function(t,e){this.collisionArea=null!=e?e:new et(0,0,0,0),this.fixedCollisionArea=!!e,t===nt.SpartialGrid?this.broadPhaseResolver=new at(this.collisionArea):this.broadPhaseResolver=new ot(this.collisionArea)},t.prototype.addCollider=function(t){t.id=this.colliders.length,this.colliders.push(t)},t.prototype.getCollider=function(t){return this.colliders[t]},t.prototype.removeCollider=function(t){this.colliders.splice(t.id,1),this.colliders.forEach((function(t,e){return t.id=e}))},t.prototype.clearColliders=function(){this.colliders=[]},t.prototype.getCollisionsForCollider=function(t){return t.active?this.collisions.filter((function(e){return e.localCollider.id===t.id})):[]},t.prototype.getCollisionsForColliderAndLayer=function(t,e){return t.active?this.collisions.filter((function(i){return i.localCollider.id===t.id&&i.remoteCollider.layer===e})):[]},t.prototype.refreshCollisionsForCollider=function(t){this.colliders[t.id]&&t.active&&(this.collisions=this.collisions.filter((function(e){return e.localCollider.id!==t.id&&e.remoteCollider.id!==t.id})),this.updateShape(t),this.narrowPhase(t,this.broadPhase(t)))},t.prototype.resolve=function(){var t=this;this.collisions=[],0!==this.colliders.length&&(this.activeColliders=this.colliders.filter((function(t){return t.active})),this.broadPhaseResolver.clear(),this.activeColliders.forEach((function(e){t.updateShape(e)})),!1===this.fixedCollisionArea&&(this.updateNewArea(),!1===this.newArea.equals(this.collisionArea)&&(this.collisionArea.copy(this.newArea),this.broadPhaseResolver.resize(this.collisionArea))),this.checkForSpartialGridResize(),this.activeColliders.forEach((function(e){var i=e.id,n=e.shape.boundingBox;return t.broadPhaseResolver.insert(i,n)})),this.updateCollisions())},t.prototype.updateShape=function(t){t.shape.position=t.position,t.shape.rotation=t.rotation,t.shape.update()},t.prototype.updateNewArea=function(){var t=this;this.activeColliders.forEach((function(e){var i=e.shape.boundingBox;t.minArea.set(Math.min(i.x,t.minArea.x),Math.min(i.y,t.minArea.y)),t.maxArea.set(Math.max(i.x1,t.maxArea.x),Math.max(i.y1,t.maxArea.y))})),this.newArea.set(this.minArea.x,this.minArea.y,this.maxArea.x-this.minArea.x,this.maxArea.y-this.minArea.y)},t.prototype.checkForSpartialGridResize=function(){this.broadPhaseResolver instanceof at&&this.lastCollidersAmount!==this.activeColliders.length&&(this.broadPhaseResolver.subdivisions=1+(this.activeColliders.length/10|0),this.broadPhaseResolver.resize(this.collisionArea),this.lastCollidersAmount=this.activeColliders.length)},t.prototype.updateCollisions=function(){var t=this;this.activeColliders.filter((function(t){return t.updateCollisions})).forEach((function(e){return t.narrowPhase(e,t.broadPhase(e))}))},t.prototype.broadPhase=function(t){var e=this;return this.collisionMatrix?this.broadPhaseResolver.retrieve(t.shape.boundingBox).map((function(t){return e.colliders[t]})).filter((function(t){return t.active})).filter((function(i){return e.collisionMatrix.some((function(e){return e[0]===t.layer&&e[1]===i.layer||e[1]===t.layer&&e[0]===i.layer}))})):this.broadPhaseResolver.retrieve(t.shape.boundingBox).map((function(t){return e.colliders[t]})).filter((function(t){return t.active}))},t.prototype.narrowPhase=function(t,e){var i=this;e.filter((function(e){return!(t.group&&e.group&&e.group===t.group||t.id===e.id)})).forEach((function(e){if(!i.isResolved(t,e)){var n=i.method.getCollisionResolution(t.shape,e.shape);null!==n&&(i.collisions.push({localCollider:t,remoteCollider:e,resolution:n},{localCollider:e,remoteCollider:t,resolution:{direction:n.displacementDirection,displacementDirection:n.direction,penetration:n.penetration}}),t.onCollision&&t.onCollision(n))}}))},t.prototype.isResolved=function(t,e){for(var i=0,n=this.collisions;i<n.length;i++){var r=n[i];if(r.localCollider.id===t.id&&r.remoteCollider.id===e.id)return!0}return!1},t}();!function(t){t[t.Polygon=0]=\"Polygon\",t[t.Circumference=1]=\"Circumference\",t[t.Line=2]=\"Line\"}(ht||(ht={}));var lt,ut=function(){function t(t,e,i){this.AABBResolver=t,this.circumferenceAABBResolver=e,this.circumferenceResolver=i}return t.prototype.getCollisionResolution=function(t,e){return t.type===ht.Polygon&&e.type===ht.Polygon?this.AABBResolver.resolve(t,e):t.type===ht.Circumference&&e.type===ht.Polygon?this.circumferenceAABBResolver.resolve(t,e):t.type===ht.Polygon&&e.type===ht.Circumference?this.circumferenceAABBResolver.resolve(e,t,!0):t.type===ht.Circumference&&e.type===ht.Circumference?this.circumferenceResolver.resolve(t,e):null},t}();!function(t){t[t.AABB=0]=\"AABB\",t[t.SAT=1]=\"SAT\"}(lt||(lt={}));var pt=function(){function t(t,e){this.circumferenceResolver=t,this.satResolver=e}return t.prototype.getCollisionResolution=function(t,e){return t.type===ht.Circumference&&e.type===ht.Circumference?this.circumferenceResolver.resolve(t,e):this.satResolver.resolve(t,e)},t}(),dt=function(){function t(){this.direction=new tt,this.displacementDirection=new tt}return t.prototype.resolve=function(t,e){var i=t.boundingBox,n=e.boundingBox;return this.overlapX=Math.min(i.x1,n.x1)-Math.max(i.x,n.x),this.overlapY=Math.min(i.y1,n.y1)-Math.max(i.y,n.y),this.overlapX<0||this.overlapY<0?null:(this.checkOverlapForLines(i,n),this.direction.set(Math.sign(n.center.x-i.center.x),Math.sign(n.center.y-i.center.y)),this.preventContainment(i,n),this.overlapY<this.overlapX?(this.minOverlap=this.overlapY,this.displacementDirection.set(0,-this.direction.y)):(this.minOverlap=this.overlapX,this.displacementDirection.set(-this.direction.x,this.overlapY===this.overlapX?-this.direction.y:0)),tt.unit(this.displacementDirection,this.displacementDirection),{direction:tt.scale(new tt,this.displacementDirection,-1),displacementDirection:this.displacementDirection.clone(),penetration:this.minOverlap})},t.prototype.checkOverlapForLines=function(t,e){0!==t.width&&0!==e.width||0!==this.overlapX||(this.overlapX=Math.min(Math.abs(t.x-e.x),Math.abs(t.x1-e.x1))),0!==t.height&&0!==e.height||0!==this.overlapY||(this.overlapY=Math.min(Math.abs(t.y-e.y),Math.abs(t.y1-e.y1)))},t.prototype.preventContainment=function(t,e){if(this.overlapY>0&&(t.y1>e.y1&&t.y<e.y||t.y1<e.y1&&t.y>e.y)){var i=Math.abs(t.y-e.y),n=Math.abs(t.y1-e.y1);this.overlapY+=i<n?i:n}this.overlapX>0&&(t.x1>e.x1&&t.x<e.x||t.x1<e.x1&&t.x>e.x)&&(i=Math.abs(t.x-e.x),n=Math.abs(t.x1-e.x1),this.overlapX+=i<n?i:n)},t}(),ft=function(){function t(){this.closestPoint=new tt,this.distance=new tt,this.direction=new tt}return t.prototype.resolve=function(t,e,i){return void 0===i&&(i=!1),this.closestPoint.set(it(t.position.x,e.boundingBox.x,e.boundingBox.x1),it(t.position.y,e.boundingBox.y,e.boundingBox.y1)),tt.subtract(this.distance,this.closestPoint,t.position),this.distance.magnitude>t.radius?null:(tt.unit(this.direction,this.distance),{direction:i?tt.scale(new tt,this.direction,-1):this.direction.clone(),displacementDirection:i?this.direction.clone():tt.scale(new tt,this.direction,-1),penetration:t.radius-this.distance.magnitude})},t}(),gt=function(){function t(){this.distance=new tt,this.direction=new tt}return t.prototype.resolve=function(t,e){return tt.subtract(this.distance,e.position,t.position),this.distance.magnitude>t.radius+e.radius?null:(tt.unit(this.direction,this.distance),{direction:this.direction.clone(),displacementDirection:tt.scale(new tt,this.direction,-1),penetration:t.radius+e.radius-this.distance.magnitude})},t}(),mt=function(t,e){return mt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},mt(t,e)};function yt(t,e,i){if(i||2===arguments.length)for(var n,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);return t.concat(n||Array.prototype.slice.call(e))}\"function\"==typeof SuppressedError&&SuppressedError;var vt,xt=function(){function t(){this.projA={min:0,max:0},this.projB={min:0,max:0},this.smallestAxis=new tt,this.distance=new tt(1/0,1/0),this.cache=new tt}return t.prototype.resolve=function(t,e){var i=this;this.minOverlap=1/0,t.type===ht.Circumference?this.setCircumferenceAxis(t,e):e.type===ht.Circumference&&this.setCircumferenceAxis(e,t),this.axes=yt([],t.projectionAxes,!0),e.projectionAxes.forEach((function(t){return i.axes.some((function(e){return e.equals(t)}))?null:i.axes.push(t)}));for(var n=0;n<this.axes.length;n++){if(t.type===ht.Circumference?this.setCircumferenceVertices(t,this.axes[n]):e.type===ht.Circumference&&this.setCircumferenceVertices(e,this.axes[n]),this.projectShapeOntoAxis(this.projA,t,this.axes[n]),this.projectShapeOntoAxis(this.projB,e,this.axes[n]),this.currentOverlap=Math.min(this.projA.max,this.projB.max)-Math.max(this.projA.min,this.projB.min),this.currentOverlap<0)return null;if(this.invertAxis=!0,this.projA.max>this.projB.max&&this.projA.min<this.projB.min||this.projA.max<this.projB.max&&this.projA.min>this.projB.min){var r=Math.abs(this.projA.min-this.projB.min),o=Math.abs(this.projA.max-this.projB.max);r<o?this.currentOverlap+=r:(this.currentOverlap+=o,tt.scale(this.axes[n],this.axes[n],-1),this.invertAxis=!1)}this.currentOverlap<this.minOverlap&&(this.minOverlap=this.currentOverlap,this.smallestAxis.copy(this.axes[n]),this.invertAxis&&this.projA.max<this.projB.max&&tt.scale(this.smallestAxis,this.axes[n],-1))}return{direction:tt.scale(new tt,this.smallestAxis,-1),displacementDirection:this.smallestAxis.clone(),penetration:this.minOverlap}},t.prototype.projectShapeOntoAxis=function(t,e,i){return t.min=1/0,t.max=-1/0,e.vertices.forEach((function(e){t.min=Math.min(tt.dot(i,e),t.min),t.max=Math.max(tt.dot(i,e),t.max)})),t},t.prototype.setCircumferenceAxis=function(t,e){var i=this;this.distance.set(1/0,1/0),e.vertices.forEach((function(e){tt.subtract(i.cache,e,t.position),i.cache.magnitude<i.distance.magnitude&&i.distance.copy(i.cache)})),tt.unit(t.projectionAxes[0],this.distance)},t.prototype.setCircumferenceVertices=function(t,e){tt.add(t.vertices[0],t.position,tt.scale(this.cache,tt.unit(this.cache,e),-t.radius)),tt.add(t.vertices[1],t.position,tt.scale(this.cache,tt.unit(this.cache,e),t.radius))},t}(),bt=function(){function t(t,e,i,n){this.collisionManager=t,this.colliderFactory=e,this.rigidBodyManager=i,this.rigidBodyFactory=n}return t.prototype.addCollider=function(t){var e=this.colliderFactory.create(t);return this.collisionManager.addCollider(e),e},t.prototype.removeCollider=function(t){this.collisionManager.removeCollider(t)},t.prototype.getCollisionsForCollider=function(t){return this.collisionManager.getCollisionsForCollider(t)},t.prototype.getCollisionsForColliderAndLayer=function(t,e){return this.collisionManager.getCollisionsForColliderAndLayer(t,e)},t.prototype.addRigidBody=function(t){var e=this.rigidBodyFactory.create(t);return this.rigidBodyManager.addRigidBody(e),e},t.prototype.removeRigidBody=function(t){this.rigidBodyManager.removeRigidBody(t)},t.prototype.resolve=function(t){this.collisionManager.resolve(),this.rigidBodyManager.resolve(t)},t.prototype.clear=function(){this.collisionManager.clearColliders(),this.rigidBodyManager.clearRigidBodies()},t}(),Mt=function(){function t(){}return t.prototype.create=function(t){var e=t.colliderIds,i=t.type,n=t.gravity,r=t.position,o=t.velocity,s=t.onResolve;if(0===e.length)throw new Error(\"RigidBody needs at least one collider\");return{active:!0,colliderIds:e,type:i,gravity:null!=n?n:0,position:null!=r?r:new tt,velocity:null!=o?o:new tt,onResolve:s}},t}();!function(t){t[t.Static=0]=\"Static\",t[t.Dynamic=1]=\"Dynamic\",t[t.Kinematic=2]=\"Kinematic\"}(vt||(vt={}));var _t=[\"x\",\"y\"],wt=function(){function t(t){this.collisionManager=t,this.rigidBodies=[],this.activeRigidBodies=[],this.colliders=[],this.velocity=new tt,this.displacement=new tt,this.cacheDisplacement=0}return t.prototype.addRigidBody=function(t){this.rigidBodies.push(t)},t.prototype.removeRigidBody=function(t){var e=this.rigidBodies.indexOf(t);e>=0&&this.rigidBodies.splice(e,1)},t.prototype.clearRigidBodies=function(){this.rigidBodies=[]},t.prototype.resolve=function(t){var e=this;this.activeRigidBodies=this.rigidBodies.filter((function(t){return t.active})),this.colliders=this.activeRigidBodies.reduce((function(t,e){return yt(yt([],t,!0),e.colliderIds,!0)}),[]),this.activeRigidBodies.forEach((function(i){i.type===vt.Dynamic?e.dynamicUpdate(i,t):i.type===vt.Kinematic&&e.kinematicUpdate(i,t),i.onResolve&&i.onResolve(i)}))},t.prototype.dynamicUpdate=function(t,e){var i=this;this.applyGravity(t,e),_t.forEach((function(n){i.applyVelocity(t,e,n),i.obtainDisplacement(t,n),i.applyReposition(t,n)}))},t.prototype.kinematicUpdate=function(t,e){var i=this;tt.add(t.position,t.position,tt.scale(this.velocity,t.velocity,e)),t.colliderIds.map((function(t){return i.collisionManager.getCollider(t)})).forEach((function(t){tt.add(t.position,t.position,i.velocity),i.collisionManager.refreshCollisionsForCollider(t)}))},t.prototype.applyGravity=function(t,e){t.gravity>0&&(t.velocity.y-=t.gravity*e)},t.prototype.applyVelocity=function(t,e,i){var n=this;this.velocity[i]=t.velocity[i]*e,0!==this.velocity[i]&&(t.position[i]+=this.velocity[i],t.colliderIds.map((function(t){return n.collisionManager.getCollider(t)})).forEach((function(t){t.position[i]+=n.velocity[i],n.collisionManager.refreshCollisionsForCollider(t)})))},t.prototype.obtainDisplacement=function(t,e){var i=this;this.displacement[e]=0,this.getCollisions(t).forEach((function(t){i.cacheDisplacement=t.resolution.displacementDirection[e]*t.resolution.penetration,i.displacement[e]=Math.abs(i.displacement[e])>Math.abs(i.cacheDisplacement)?i.displacement[e]:i.cacheDisplacement}))},t.prototype.applyReposition=function(t,e){var i=this;0!==this.displacement[e]&&(t.position[e]+=this.displacement[e],t.colliderIds.map((function(t){return i.collisionManager.getCollider(t)})).forEach((function(t){t.position[e]+=i.displacement[e],i.collisionManager.refreshCollisionsForCollider(t)})),Math.sign(this.displacement[e])!==Math.sign(t.velocity[e])&&(t.velocity[e]=0))},t.prototype.getCollisions=function(t){var e=this;return t.colliderIds.map((function(t){return e.collisionManager.getCollider(t)})).filter((function(t){return t.active&&t.physics})).reduce((function(t,i){return t.push.apply(t,e.collisionManager.getCollisionsForCollider(i).filter((function(t){return t.remoteCollider.physics&&e.colliders.includes(t.remoteCollider.id)}))),t}),[])},t}(),Ct=function(){function t(t){this.radius=t,this.type=ht.Circumference,this.boundingBox=new et(0,0,0,0),this.vertices=[new tt,new tt],this.projectionAxes=[new tt],this._position=new tt}return Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),t.prototype.update=function(){this.updateBoundingBox()},t.prototype.updateBoundingBox=function(){this.boundingBox.set(this.position.x-this.radius,this.position.y-this.radius,2*this.radius,2*this.radius)},t}(),jt=function(){function t(t){this.vertexModel=t,this.type=ht.Polygon,this.vertices=[new tt,new tt],this.projectionAxes=[new tt],this.boundingBox=new et(0,0,0,0),this.rotation=0,this._position=new tt}return t.prototype.update=function(){this.updateVertices(),this.updateBoundingBox(),this.updateProjectionAxes()},Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),t.prototype.updateVertices=function(){for(var t=0;t<this.vertexModel.length;t++)this.vertices[t].set(this.vertexModel[t].x*Math.cos(this.rotation)-this.vertexModel[t].y*Math.sin(this.rotation)+this._position.x,this.vertexModel[t].x*Math.sin(this.rotation)+this.vertexModel[t].y*Math.cos(this.rotation)+this._position.y)},t.prototype.updateBoundingBox=function(){this.boundingBox.x=Math.min(this.vertices[0].x,this.vertices[1].x),this.boundingBox.y=Math.min(this.vertices[0].y,this.vertices[1].y),this.boundingBox.width=Math.max(this.vertices[0].x,this.vertices[1].x)-this.boundingBox.x,this.boundingBox.height=Math.max(this.vertices[0].y,this.vertices[1].y)-this.boundingBox.y},t.prototype.updateProjectionAxes=function(){tt.normal(this.projectionAxes[0],tt.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0]))},t}(),Ot=function(){function t(t){this.vertexModel=t,this.type=ht.Polygon,this.vertices=[],this.boundingBox=new et(0,0,0,0),this.rotation=0,this._projectionAxes=[],this._position=new tt,this.boxMinX=Number.MAX_SAFE_INTEGER,this.boxMinY=Number.MAX_SAFE_INTEGER,this.boxMaxX=-Number.MAX_SAFE_INTEGER,this.boxMaxY=-Number.MAX_SAFE_INTEGER;for(var e=0;e<this.vertexModel.length;e++)this.vertices.push(new tt),this._projectionAxes.push(new tt)}return Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"projectionAxes\",{get:function(){return this._projectionAxes},enumerable:!1,configurable:!0}),t.prototype.update=function(){this.updateVertices(),this.updateBoundingBox(),this.updateProjectionAxes()},t.prototype.updateVertices=function(){for(var t=0;t<this.vertexModel.length;t++)this.vertices[t].set(this.vertexModel[t].x*Math.cos(this.rotation)-this.vertexModel[t].y*Math.sin(this.rotation)+this._position.x,this.vertexModel[t].x*Math.sin(this.rotation)+this.vertexModel[t].y*Math.cos(this.rotation)+this._position.y)},t.prototype.updateBoundingBox=function(){var t=this;this.boxMinX=this.vertices[0].x,this.boxMinY=this.vertices[0].y,this.boxMaxX=this.vertices[0].x,this.boxMaxY=this.vertices[0].y,this.vertices.forEach((function(e){t.boxMinX=Math.min(e.x,t.boxMinX),t.boxMinY=Math.min(e.y,t.boxMinY),t.boxMaxX=Math.max(e.x,t.boxMaxX),t.boxMaxY=Math.max(e.y,t.boxMaxY)})),this.boundingBox.set(this.boxMinX,this.boxMinY,this.boxMaxX-this.boxMinX,this.boxMaxY-this.boxMinY)},t.prototype.updateProjectionAxes=function(){for(var t,e=0;e<this.vertices.length;e++)tt.normal(this._projectionAxes[e],tt.subtract(this._projectionAxes[e],null!==(t=this.vertices[e+1])&&void 0!==t?t:this.vertices[0],this.vertices[e]))},t}(),Pt=function(t){function e(e,i){var n=t.call(this,[new tt(-e/2,-i/2),new tt(-e/2,i/2),new tt(e/2,i/2),new tt(e/2,-i/2)])||this;return n.width=e,n.height=i,n._projectionAxes=[new tt,new tt],n}return function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Class extends value \"+String(e)+\" is not a constructor or null\");function i(){this.constructor=t}mt(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}(e,t),e.prototype.updateSize=function(t,e){this.width=t,this.height=e,this.vertexModel[0].set(-t/2,-e/2),this.vertexModel[1].set(-t/2,e/2),this.vertexModel[2].set(t/2,e/2),this.vertexModel[3].set(t/2,-e/2)},e.prototype.updateProjectionAxes=function(){tt.unit(this.projectionAxes[0],tt.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0])),tt.normal(this.projectionAxes[1],this.projectionAxes[0])},e}(Ot),Rt=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}();!function(){function t(t,e,i,n){this._position=new Rt,this._center=new Rt,this._width=0,this._height=0,this.set(t,e,i,n)}Object.defineProperty(t.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},t.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},t.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},t.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},t.prototype.contains=function(e){return e instanceof t?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof Rt&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)}}(),function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new Rt,t?this.radians=t:e&&(this.degrees=e)}Object.defineProperty(t.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),t.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}();var At,St=function(){function t(){var t=this;this.gamepads=new Map,this.eventHandler=function(e){\"gamepadconnected\"===e.type?t.gamepadConnected(e.gamepad):\"gamepaddisconnected\"===e.type&&t.gamepadDisconected(e.gamepad)},window.addEventListener(\"gamepadconnected\",this.eventHandler),window.addEventListener(\"gamepaddisconnected\",this.eventHandler)}return t.prototype.getGamepad=function(t){var e;return null!==(e=this.gamepads.get(t))&&void 0!==e?e:null},t.prototype.getGamepads=function(){return Array.from(this.gamepads.values())},t.prototype.gamepadConnected=function(t){this.gamepads.set(t.index,new Et),this.gamepads.get(t.index).updateFromGamepad(t)},t.prototype.gamepadDisconected=function(t){this.gamepads.delete(t.index)},t.prototype.update=function(){for(var t=0,e=this.getGamepadsFromBrowser();t<e.length;t++){var i=e[t];null!==i&&(!1===this.gamepads.has(i.index)?this.gamepadConnected(i):this.gamepads.get(i.index).updateFromGamepad(i))}},t.prototype.getGamepadsFromBrowser=function(){return navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:[]},t}(),Et=function(){function t(){this.buttons=new Map,this.axes=new Map,this._dpadAxes=new Rt,this._leftStickAxes=new Rt,this._rightStickAxes=new Rt,this._vibrating=!1}return t.prototype.updateFromGamepad=function(t){var e=this;this._gamepad=t,t.buttons.forEach((function(t,i){return e.buttons.set(i,t.pressed)})),t.axes.forEach((function(t,i){return e.axes.set(i,t)}))},Object.defineProperty(t.prototype,\"id\",{get:function(){return this._gamepad.id},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"connected\",{get:function(){return this._gamepad.connected},enumerable:!1,configurable:!0}),t.prototype.getButtonPressed=function(t){return this.buttons.get(t)},t.prototype.getAxis=function(t){return this.axes.get(t)},Object.defineProperty(t.prototype,\"dpadAxes\",{get:function(){return this._dpadAxes.set(this.dpadRight?1:this.dpadLeft?-1:0,this.dpadUp?1:this.dpadDown?-1:0),this._dpadAxes},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftStickAxes\",{get:function(){return this._leftStickAxes.set(this.leftStickHorizontal,this.leftStickVertical),this._leftStickAxes},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightStickAxes\",{get:function(){return this._rightStickAxes.set(this.rightStickHorizontal,this.rightStickVertical),this._rightStickAxes},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dpadUp\",{get:function(){var t;return null!==(t=this.buttons.get(12))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dpadDown\",{get:function(){var t;return null!==(t=this.buttons.get(13))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dpadLeft\",{get:function(){var t;return null!==(t=this.buttons.get(14))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dpadRight\",{get:function(){var t;return null!==(t=this.buttons.get(15))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"bottomFace\",{get:function(){var t;return null!==(t=this.buttons.get(0))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightFace\",{get:function(){var t;return null!==(t=this.buttons.get(1))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftFace\",{get:function(){var t;return null!==(t=this.buttons.get(2))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"topFace\",{get:function(){var t;return null!==(t=this.buttons.get(3))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftShoulder\",{get:function(){var t;return null!==(t=this.buttons.get(4))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightShoulder\",{get:function(){var t;return null!==(t=this.buttons.get(5))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftTrigger\",{get:function(){var t;return null!==(t=this.buttons.get(6))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightTrigger\",{get:function(){var t;return null!==(t=this.buttons.get(7))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"back\",{get:function(){var t;return null!==(t=this.buttons.get(8))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"start\",{get:function(){var t;return null!==(t=this.buttons.get(9))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftStickButton\",{get:function(){var t;return null!==(t=this.buttons.get(10))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightStickButton\",{get:function(){var t;return null!==(t=this.buttons.get(11))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftStickHorizontal\",{get:function(){var t;return null!==(t=this.axes.get(0))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftStickVertical\",{get:function(){var t;return null!==(t=-this.axes.get(1))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightStickHorizontal\",{get:function(){var t;return null!==(t=this.axes.get(2))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightStickVertical\",{get:function(){var t;return null!==(t=-this.axes.get(3))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"anyButtonPressed\",{get:function(){var t;return null!==(t=Array.from(this.buttons.values()).find((function(t){return t})))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"vibrating\",{get:function(){return this._vibrating},enumerable:!1,configurable:!0}),t.prototype.vibrate=function(t,e,i,n){var r=this;void 0===t&&(t=200),void 0===e&&(e=.2),void 0===i&&(i=.2),void 0===n&&(n=0),this._gamepad.vibrationActuator&&(this._vibrating=!0,this._gamepad.vibrationActuator.playEffect(this._gamepad.vibrationActuator.type,{duration:t,weakMagnitude:e,strongMagnitude:i,startDelay:n}).catch((function(){return r._vibrating=!1})).finally((function(){return r._vibrating=!1})))},t}(),Tt=function(){function t(t,e,i,n){this.mouse=t,this.keyboard=e,this.gamepad=i,this.touch=n}return t.prototype.update=function(){this.mouse.update(),this.gamepad.update()},t}(),Dt=function(){function t(t){var e=this;this.pressedKeys=[],this.keyMap=new Map,this.eventHandler=function(t){if(\"keydown\"===t.type&&(e.keyMap.set(t.code,!0),e.pressedKeys.includes(t.code)||e.pressedKeys.push(t.code)),\"keyup\"===t.type){e.keyMap.set(t.code,!1);var i=e.pressedKeys.indexOf(t.code);-1!==i&&e.pressedKeys.splice(i,1)}},t.addEventListener(\"keydown\",this.eventHandler),t.addEventListener(\"keyup\",this.eventHandler)}return t.prototype.isPressed=function(t){var e;return null!==(e=this.keyMap.get(t))&&void 0!==e&&e},t.prototype.orPressed=function(t){var e=this;return t.reduce((function(t,i){var n;return t||null!==(n=e.keyMap.get(i))&&void 0!==n&&n}),!1)},t.prototype.andPressed=function(t){var e=this;return t.reduce((function(t,i){var n;return t&&null!==(n=e.keyMap.get(i))&&void 0!==n&&n}),!0)},t.prototype.isPressedReturn=function(t,e,i){return this.keyMap.get(t)?e:i},t.prototype.orPressedReturn=function(t,e,i){var n=this;return t.reduce((function(t,e){var i;return t||null!==(i=n.keyMap.get(e))&&void 0!==i&&i}),!1)?e:i},t.prototype.andPressedReturn=function(t,e,i){var n=this;return t.reduce((function(t,e){var i;return t&&null!==(i=n.keyMap.get(e))&&void 0!==i&&i}),!0)?e:i},t}(),Ft=function(){function t(t){this._leftButtonPressed=!1,this._scrollButtonPressed=!1,this._rightButtonPressed=!1,this._positionInViewport=new Rt,this._hasMoved=!1,this._wheelScroll=new Rt,this.lastPositionInViewport=new Rt,this.canvas=t,this.setup()}return Object.defineProperty(t.prototype,\"leftButtonPressed\",{get:function(){return this._leftButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"scrollButtonPressed\",{get:function(){return this._scrollButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightButtonPressed\",{get:function(){return this._rightButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"positionInViewport\",{get:function(){return this._positionInViewport},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"hasMoved\",{get:function(){return this._hasMoved},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"wheelScroll\",{get:function(){return this._wheelScroll},enumerable:!1,configurable:!0}),t.prototype.update=function(){!1===this._positionInViewport.equals(this.lastPositionInViewport)?(this._hasMoved=!0,this.lastPositionInViewport.copy(this._positionInViewport)):this._hasMoved=!1,this.wheelEvent?(this._wheelScroll.set(this.wheelEvent.deltaX,this.wheelEvent.deltaY),this.wheelEvent=void 0):this._wheelScroll.set(0,0)},t.prototype.setup=function(){var t=this;this.canvas.addEventListener(\"mousemove\",(function(e){return t.updatePosition(e)})),this.canvas.addEventListener(\"mousedown\",(function(e){return t.updateButtonDown(e)})),this.canvas.addEventListener(\"mouseup\",(function(e){return t.updateButtonUp(e)})),this.canvas.addEventListener(\"wheel\",(function(e){return t.handleWheelEvent(e)}))},t.prototype.updateButtonDown=function(t){this.canvas.focus(),t.preventDefault(),t.stopPropagation(),this._leftButtonPressed=0===t.button,this._scrollButtonPressed=1===t.button,this._rightButtonPressed=2===t.button},t.prototype.updateButtonUp=function(t){t.preventDefault(),t.stopPropagation(),this._leftButtonPressed=0!==t.button&&this._leftButtonPressed,this._scrollButtonPressed=1!==t.button&&this._scrollButtonPressed,this._rightButtonPressed=2!==t.button&&this._rightButtonPressed},t.prototype.updatePosition=function(t){t.preventDefault(),t.stopPropagation(),this._positionInViewport.set(t.offsetX/(this.canvas.clientWidth/this.canvas.width)-this.canvas.width/2,-t.offsetY/(this.canvas.clientHeight/this.canvas.height)+this.canvas.height/2)},t.prototype.handleWheelEvent=function(t){t.preventDefault(),t.stopPropagation(),this.wheelEvent=t},t}(),Bt=function(){function t(t){var e=this;this._touching=!1,this._interactions=[],this.eventHandler=function(t){\"touchstart\"===t.type&&(e._touching=!0,e.updatePosition(t)),\"touchmove\"===t.type&&e.updatePosition(t),\"touchend\"!==t.type&&\"touchcancel\"!==t.type||(e._touching=!1)},this.canvas=t,this.canvas.addEventListener(\"touchstart\",this.eventHandler),this.canvas.addEventListener(\"touchend\",this.eventHandler),this.canvas.addEventListener(\"touchcancel\",this.eventHandler),this.canvas.addEventListener(\"touchmove\",this.eventHandler)}return Object.defineProperty(t.prototype,\"touching\",{get:function(){return this._touching},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"interactions\",{get:function(){return this._interactions},enumerable:!1,configurable:!0}),t.prototype.updatePosition=function(t){if(t.preventDefault(),t.stopPropagation(),this._interactions=[],0!==t.targetTouches.length)for(var e=0;e<t.targetTouches.length;e++)this._interactions[e]={positionInViewport:new Rt((t.targetTouches[e].clientX-this.canvas.offsetLeft)/(this.canvas.clientWidth/this.canvas.width)-this.canvas.width/2,-(t.targetTouches[e].clientY-this.canvas.offsetTop)/(this.canvas.clientHeight/this.canvas.height)+this.canvas.height/2),radius:new Rt(t.targetTouches[e].radiusX,t.targetTouches[e].radiusY)}},t}();!function(t){t.Image=\"Image\",t.Audio=\"Audio\",t.Font=\"Font\",t.Video=\"Video\"}(At||(At={}));var Ut,It=function(){function t(t){this.renderManager=t,this.assets=[]}return t.prototype.getAssetsLoaded=function(){return this.assets.reduce((function(t,e){return t&&e.loaded}),!0)},t.prototype.loadImage=function(t,e){var i=this;void 0===e&&(e=!1);var n=new Image;n.crossOrigin=\"\",n.src=t;var r=this.createAsset(t,At.Image,n),o=function(){e&&i.renderManager.preloadTexture(n),r.loaded=!0};return n.naturalWidth?o():n.addEventListener(\"load\",o),n},t.prototype.loadAudio=function(t){var e=new Audio;e.src=t;var i=this.createAsset(t,At.Audio,e);return e.duration?i.loaded=!0:e.addEventListener(\"canplaythrough\",(function(){return i.loaded=!0})),e},t.prototype.loadFont=function(t,e){var i=new FontFace(t,\"url(\".concat(e,\")\")),n=this.createAsset(e,At.Font,i);return n.family=t,i.load().then((function(t){document.fonts.add(t),n.loaded=!0})),i},t.prototype.loadVideo=function(t){var e=document.createElement(\"video\");e.playsInline=!0,e.src=t;var i=this.createAsset(t,At.Video,e);return e.duration?i.loaded=!0:e.addEventListener(\"canplaythrough\",(function(){return i.loaded=!0})),e},t.prototype.getImage=function(t){var e;return null===(e=this.assets.find((function(e){return e.type===At.Image&&e.url===t})))||void 0===e?void 0:e.element},t.prototype.getAudio=function(t){var e;return null===(e=this.assets.find((function(e){return e.type===At.Audio&&e.url===t})))||void 0===e?void 0:e.element},t.prototype.getFont=function(t){var e;return null===(e=this.assets.find((function(e){return e.type===At.Font&&e.family===t})))||void 0===e?void 0:e.element},t.prototype.getVideo=function(t){var e;return null===(e=this.assets.find((function(e){return e.type===At.Video&&e.url===t})))||void 0===e?void 0:e.element},t.prototype.createAsset=function(t,e,i){var n={type:e,url:t,element:i,loaded:!1};return this.assets.push(n),n},t}(),Lt=function(t){function i(e){var i=t.call(this,e)||this;return i.name=\"AngryPixelException\",i}return e(i,t),i}(Error),Vt=function(){function t(t,e,i){if(this._canvas=null,!t)throw new Lt(\"containerNode cannot be empty or null.\");this.containerNode=t,this.gameWidth=e,this.gameHeight=i,this.setupCanvas()}return Object.defineProperty(t.prototype,\"canvas\",{get:function(){return this._canvas},enumerable:!1,configurable:!0}),t.prototype.setupCanvas=function(){this._canvas=document.createElement(\"canvas\"),this._canvas.id=\"angryPixelGameCanvas\",this._canvas.width=Math.floor(this.gameWidth),this._canvas.height=Math.floor(this.gameHeight),this.canvas.tabIndex=0,this._canvas.addEventListener(\"contextmenu\",(function(t){return t.preventDefault()})),this.containerNode.appendChild(this._canvas),this.canvas.focus()},t}(),kt=function(){function t(t){this.container=t,this.gameObjects=[],this.lastId=0}return t.prototype.addGameObject=function(t,e,n,r){var o=new t(this.container,++this.lastId,r,n);return this.gameObjects.push(o),o.dispatch(i.Init,e),o},t.prototype.findGameObjects=function(t){return t?this.gameObjects.filter((function(e){return e instanceof t})):r([],this.gameObjects,!0)},t.prototype.findGameObjectById=function(t){return this.gameObjects.find((function(e){return e.id===t}))},t.prototype.findGameObject=function(t){return\"string\"==typeof t?this.gameObjects.find((function(e){return e.name===t})):this.gameObjects.find((function(e){return e instanceof t}))},t.prototype.findGameObjectsByParent=function(t){return this.gameObjects.filter((function(e){return e.parent===t}))},t.prototype.findGameObjectByParent=function(t,e){return\"string\"==typeof e?this.gameObjects.find((function(i){return i.name===e&&i.parent===t})):this.gameObjects.find((function(i){return i instanceof e&&i.parent===t}))},t.prototype.findGameObjectsByTag=function(t){return this.gameObjects.filter((function(e){return e.tag===t}))},t.prototype.destroyAllGameObjects=function(t){var e=this;void 0===t&&(t=!1),this.gameObjects.filter((function(e){return t||!e.keep})).forEach((function(t){return e.destroy(t,!1)}))},t.prototype.destroyGameObject=function(t){this.destroy(t,!0)},t.prototype.destroy=function(t,e){var n=this.gameObjects.indexOf(t);if(-1!==n){var r=this.gameObjects.splice(n,1)[0];e&&this.destroyChildren(r),r.dispatch(i.Destroy)}},t.prototype.destroyChildren=function(t){var e=this;this.findGameObjectsByParent(t).forEach((function(t){return e.destroyGameObject(t)}))},t}(),Gt=function(){function t(t,e,n,r){this.timeManager=t,this.physicsManager=e,this.gameObjectManager=n,this.sceneManager=r,this.running=!1,this.gameObjects=[],this.components=[],this.changingScene=!1,this.sceneEvents=[i.Start,i.Update,i.StopGame],this.gameObjectEvents=[i.Start,i.Update]}return t.prototype.start=function(){this.startLoop(!0)},t.prototype.pause=function(){this.running=!1},t.prototype.resume=function(){this.startLoop(!1)},t.prototype.stop=function(){this.running=!1,this.dispatchFrameEvent(i.StopGame),this.physicsManager.clear()},t.prototype.startLoop=function(t){this.running||(this.running=!0,t&&this.sceneManager.loadOpeningScene(),this.asyncGameLoop(),this.timeManager.gameFramerate!==this.timeManager.physicsFramerate&&this.asyncPhysicsLoop())},t.prototype.gameLogicIteration=function(t){this.timeManager.updateForGame(t),this.sceneManager.pendingSceneToload()&&(this.sceneManager.loadPendingScene(),this.changingScene=!1),this.load(),this.dispatchFrameEvent(i.Start),this.dispatchFrameEvent(i.Update),this.dispatchFrameEvent(i.UpdateEngine),this.dispatchFrameEvent(i.UpdateTransform),this.timeManager.gameFramerate===this.timeManager.physicsFramerate&&(this.timeManager.updateForPhysics(t),this.physicsIteration()),this.sceneManager.pendingSceneToload()&&(this.changingScene=!0,this.sceneManager.unloadCurrentScene())},t.prototype.physicsIteration=function(){this.timeManager.timeScale<=0||this.changingScene||(this.dispatchFrameEvent(i.UpdatePhysics),this.dispatchFrameEvent(i.UpdateCollider),this.dispatchFrameEvent(i.UpdateTransform),this.physicsManager.resolve(this.timeManager.physicsDeltaTime))},t.prototype.asyncGameLoop=function(){var t=this;this.gameInterval=setInterval((function(){if(!t.running)return clearInterval(t.gameInterval);t.gameLogicIteration(process.uptime())}),1e3/this.timeManager.gameFramerate)},t.prototype.asyncPhysicsLoop=function(){var t=this;this.physicsInterval=setInterval((function(){if(!t.running)return clearInterval(t.physicsInterval);t.timeManager.updateForPhysics(process.uptime()),t.physicsIteration()}),1e3/this.timeManager.physicsFramerate)},t.prototype.load=function(){var t=this;this.loadedScene=this.sceneManager.getLoadedScene(),this.gameObjects=this.gameObjectManager.findGameObjects().filter((function(t){return t.active})),this.components=[],this.gameObjects.forEach((function(e){return e.getComponents().filter((function(t){return t.active})).forEach((function(e){return t.components.push(e)}))}))},t.prototype.dispatchFrameEvent=function(t){this.sceneEvents.includes(t)&&this.loadedScene.dispatch(t),this.gameObjectEvents.includes(t)&&this.gameObjects.forEach((function(e){e.active&&e.dispatch(t)})),this.components.forEach((function(e){e.active&&e.dispatch(t)}))},t}(),Wt=function(){function t(t,e){this.container=t,this.renderManager=e,this.scenes=new Map,this.sceneNamePendingToLoad=null}return t.prototype.addScene=function(t,e,n,r){var o=this;if(void 0===r&&(r=!1),this.scenes.has(e))throw new Lt(\"There is already a scene with the name '\".concat(e,\"'\"));this.scenes.set(e,(function(){var r=new t(o.container,e,o.container.getConstant(\"Game\"));return o.currentScene=r,r.dispatch(i.Init,n),r})),!r&&this.openingSceneName||(this.openingSceneName=e)},t.prototype.loadScene=function(t){if(!1===this.scenes.has(t))throw new Lt(\"Scene with name \".concat(t,\" does not exists\"));this.sceneNamePendingToLoad=t},t.prototype.getLoadedScene=function(){return this.currentScene},t.prototype.loadOpeningScene=function(){if(null===this.openingSceneName)throw new Lt(\"There is no opening scene\");this.scenes.get(this.openingSceneName)()},t.prototype.pendingSceneToload=function(){return null!==this.sceneNamePendingToLoad},t.prototype.loadPendingScene=function(){this.sceneNamePendingToLoad&&(this.scenes.get(this.sceneNamePendingToLoad)(),this.sceneNamePendingToLoad=null)},t.prototype.unloadCurrentScene=function(){this.currentScene&&(this.currentScene.dispatch(i.Destroy),this.currentScene=void 0)},t}(),Ht=[60,120,180,240],zt=function(){function t(t){if(this.minGameDeltatime=0,this.minPhysicsDeltaTime=0,this.gameFramerate=60,this.physicsFramerate=180,this.timeScale=1,this.browserDeltaTime=0,this.unscaledDeltaTime=0,this.unscaledPhysicsDeltaTime=0,this.maxDeltaTime=1/30,this.thenForGame=0,this.thenForPhysics=0,this.thenForBrowser=0,!Ht.includes(t))throw new Lt(\"Invalid Physics frame rate. Allowed: [\".concat(Ht.join(\", \"),\"]\"));this.physicsFramerate=t,this.minGameDeltatime=parseFloat((1/this.gameFramerate).toFixed(6)),this.minPhysicsDeltaTime=parseFloat((1/this.physicsFramerate).toFixed(6))}return Object.defineProperty(t.prototype,\"deltaTime\",{get:function(){return this.unscaledDeltaTime*this.timeScale},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"physicsDeltaTime\",{get:function(){return this.unscaledPhysicsDeltaTime*this.timeScale},enumerable:!1,configurable:!0}),t.prototype.updateForGame=function(t){this.unscaledDeltaTime=Math.min(Math.max(this.minGameDeltatime,t-this.thenForGame),this.maxDeltaTime),this.thenForGame=t},t.prototype.updateForBrowser=function(t){this.browserDeltaTime=Math.min(Math.max(0,t-this.thenForBrowser),this.maxDeltaTime),this.thenForBrowser=t},t.prototype.updateForPhysics=function(t){this.unscaledPhysicsDeltaTime=Math.min(Math.max(0,t-this.thenForPhysics),this.maxDeltaTime),this.thenForPhysics=t},t}(),Nt=function(t,e){if(t.addConstant(\"GameConfig\",e),t.add(\"TimeManager\",(function(){return new zt(e.physicsFramerate)})),t.add(\"GameObjectManager\",(function(){return new kt(t)})),t.add(\"PhysicsManager\",(function(){return function(t){var e=void 0===t?{}:t,i=e.collisionArea,n=e.collisionMatrix,r=e.collisionMethod,o=e.collisionBroadPhaseMethod,s=new gt,a=r===lt.AABB?new ut(new dt,new ft,s):new pt(s,new xt),h=new ct(a,o,i,n),c=new rt,l=new wt(h),u=new Mt;return new bt(h,c,l,u)}(e.collisions)})),e.headless)t.add(\"IterationManager\",(function(){return new Gt(t.getSingleton(\"TimeManager\"),t.getSingleton(\"PhysicsManager\"),t.getSingleton(\"GameObjectManager\"),t.getSingleton(\"SceneManager\"))}));else{t.add(\"DomManager\",(function(){return new Vt(e.containerNode,e.gameWidth,e.gameHeight)}));var i=t.getSingleton(\"DomManager\").canvas;t.add(\"RenderManager\",(function(){return function(t){var e=new j(t),i=e.gl,n=e.contextVersion,r=new A(i,n,new R(i,new S(i))),o=new J(new $(i)),s=new Z(i,r,o,new Map([[a.Sprite,new H(i,r,o)],[a.Text,new q(i,r,o,new O)],[a.Tilemap,new K(i,r,o)],[a.Geometric,new k(i,r)],[a.Mask,new W(i,r)],[a.Video,new Q(i,r,o)]]));return new C(s,new v(i))}(i)})),t.add(\"InputManager\",(function(){return function(t){return new Tt(new Ft(t),new Dt(t),new St,new Bt(t))}(i)})),t.add(\"AssetManager\",(function(){return new It(t.getSingleton(\"RenderManager\"))})),t.add(\"IterationManager\",(function(){return new h(t.getSingleton(\"TimeManager\"),t.getSingleton(\"PhysicsManager\"),t.getSingleton(\"RenderManager\"),t.getSingleton(\"InputManager\"),t.getSingleton(\"GameObjectManager\"),t.getSingleton(\"SceneManager\"),e.canvasColor)}))}t.add(\"SceneManager\",(function(){return new Wt(t,e.headless?void 0:t.getSingleton(\"RenderManager\"))}))},Yt=function(){function t(){this.instances=new Map,this.constructors=new Map,this.constants=new Map}return t.prototype.add=function(t,e){if(this.constructors.has(t))throw new Lt(\"There is already an object constructor with the name \".concat(t));this.constructors.set(t,e)},t.prototype.getSingleton=function(t){if(!1===this.constructors.has(t))throw new Lt(\"Invalid object constructor name: \".concat(t));return!1===this.instances.has(t)&&this.instances.set(t,this.constructors.get(t)()),this.instances.get(t)},t.prototype.getTranscient=function(t){if(!1===this.constructors.has(t))throw new Lt(\"Invalid object constructor name: \".concat(t));return this.constructors.get(t)()},t.prototype.addConstant=function(t,e){if(this.constants.has(t))throw new Lt(\"There is already a constant value with the name \".concat(t));this.constants.set(t,e)},t.prototype.getConstant=function(t){if(!1===this.constants.has(t))throw new Lt(\"Invalid constant name: \".concat(t));return this.constants.get(t)},t}(),Xt=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}(),qt=function(){function t(t,e,i,n){this._position=new Xt,this._center=new Xt,this._width=0,this._height=0,this.set(t,e,i,n)}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},t.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},t.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},t.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},t.prototype.contains=function(e){return e instanceof t?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof Xt&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)},t}(),Kt=function(t,e,i){return t>=e&&t<=i},Qt=function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new Xt,t?this.radians=t:e&&(this.degrees=e)}return Object.defineProperty(t.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),t.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))},t}(),$t={containerNode:void 0,gameWidth:320,gameHeight:180,debugEnabled:!1,canvasColor:\"#000000\",physicsFramerate:180,headless:!1,spriteDefaultScale:new Xt(1,1),collisions:{collisionMethod:lt.SAT,collisionBroadPhaseMethod:nt.SpartialGrid}},Jt=function(){function t(t){this._config=n(n({},$t),t),this._config.collisions=n(n({},$t.collisions),t.collisions),this.container=new Yt,this.container.addConstant(\"Game\",this),this.setupManagers()}return t.prototype.setupManagers=function(){Nt(this.container,this._config),this.sceneManager=this.container.getSingleton(\"SceneManager\"),this.iterationManager=this.container.getSingleton(\"IterationManager\")},Object.defineProperty(t.prototype,\"config\",{get:function(){return this._config},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"running\",{get:function(){return this.iterationManager.running},enumerable:!1,configurable:!0}),t.prototype.addScene=function(t,e,i,n){this.sceneManager.addScene(t,e,\"object\"==typeof i?i:void 0,\"boolean\"==typeof i?i:null!=n&&n)},t.prototype.run=function(){this.iterationManager.start()},t.prototype.stop=function(){this.iterationManager.stop()},t.prototype.pause=function(){this.iterationManager.pause()},t.prototype.resume=function(){this.iterationManager.resume()},t}(),Zt=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e.parentScale=!0,e.parentRotation=!0,e._position=new Xt,e._scale=new Xt(1,1),e._rotation=new Qt,e._innerPosition=new Xt,e._parent=null,e.cache=new Xt,e.lastParentRadians=0,e.lastPosition=new Xt,e.scaledInnerPosition=new Xt,e}return e(i,t),Object.defineProperty(i.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"scale\",{get:function(){return this._scale},set:function(t){this._scale.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"rotation\",{get:function(){return this._rotation},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"direction\",{get:function(){return this._rotation.direction},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"innerPosition\",{get:function(){return this._innerPosition},set:function(t){this._innerPosition.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"parent\",{get:function(){return this._parent},set:function(t){this._parent=t,null!==this._parent&&Xt.subtract(this._innerPosition,this._position,this._parent.position)},enumerable:!1,configurable:!0}),i.prototype.update=function(){null!==this._parent&&this.setPositionFromParent(),this.lastPosition.copy(this._position)},i.prototype.setPositionFromParent=function(){this._innerPosition.magnitude>0?(0!==this._parent.rotation.radians&&this.lastParentRadians!==this._parent.rotation.radians&&(this.translateInnerPosition(),this.lastParentRadians=this._parent.rotation.radians),this.parentScale?(this.updateScaledInnerPosition(),Xt.add(this._position,this._parent.position,this.scaledInnerPosition)):Xt.add(this._position,this._parent.position,this._innerPosition)):this._position.copy(this._parent.position),this._rotation.radians=this.parentRotation?this._parent.rotation.radians+this._rotation.radians:this._rotation.radians,this.parentScale&&this._scale.copy(this.parent._scale)},i.prototype.translateInnerPosition=function(){var t=Math.atan2(this._innerPosition.y,this._innerPosition.x)+(this._parent.rotation.radians-this.lastParentRadians);this.cache.set(Math.cos(t),Math.sin(t)),Xt.scale(this._innerPosition,this.cache,this._innerPosition.magnitude)},i.prototype.updateScaledInnerPosition=function(){this.scaledInnerPosition.set(this._innerPosition.x*this._parent.scale.x,this._innerPosition.y*this._parent.scale.y)},i}(f),te=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.renderer=null,e.colliders=[],e.physics=!0,e.activateColliders=!1,e}return e(i,t),i.prototype.update=function(){this.activateColliders&&(this.colliders.forEach((function(t){return t.active=!0})),this.activateColliders=!1),this.updateRealSize(),this.updatePosition(),this.updateColliders()},i.prototype.collidesWithLayer=function(t){for(var e=0,i=this.colliders;e<i.length;e++){var n=i[e];if(this.physicsManager.getCollisionsForColliderAndLayer(n,t).length>0)return!0}return!1},i.prototype.collidesWithLayers=function(t,e){void 0===e&&(e=\"or\");for(var i=0,n=0,r=this.colliders;n<r.length;n++)for(var o=r[n],s=0,a=this.physicsManager.getCollisionsForCollider(o);s<a.length;s++){var h=a[s];if(t.includes(h.remoteCollider.layer)){if(\"or\"===e)return!0;i++}}return\"and\"===e&&i===t.length},i.prototype.getCollisionWithLayer=function(t){for(var e=0,i=this.colliders;e<i.length;e++){var n=i[e],r=this.physicsManager.getCollisionsForColliderAndLayer(n,t);if(r.length>0)return this.createCollisionData(r[0])}return null},i.prototype.getCollisionsWithLayer=function(t){for(var e=this,i=[],n=0,r=this.colliders;n<r.length;n++){var o=r[n];this.physicsManager.getCollisionsForColliderAndLayer(o,t).forEach((function(t){return i.push(e.createCollisionData(t))}))}return i},i.prototype.getCollisionsWithLayers=function(t){for(var e=[],i=0,n=this.colliders;i<n.length;i++)for(var r=n[i],o=0,s=this.physicsManager.getCollisionsForCollider(r);o<s.length;o++){var a=s[o];t.includes(a.remoteCollider.layer)&&e.push(this.createCollisionData(a))}return e},i.prototype.createCollisionData=function(t){return{gameObject:this.gameObjectManager.findGameObjectById(Number(t.remoteCollider.group)),collider:t.remoteCollider,resolution:t.resolution,getGameObject:function(){return this.gameObject},localCollider:t.localCollider}},i.prototype.onActiveChange=function(){var t=this;this.renderer&&(this.renderer.active=this.active),this.active?this.activateColliders=!0:this.colliders.forEach((function(e){return e.active=t.active}))},i.prototype.onDestroy=function(){var t=this;this.colliders.forEach((function(e){return t.physicsManager.removeCollider(e)}))},i}(p),ee=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e}return e(i,t),Object.defineProperty(i.prototype,\"velocity\",{get:function(){return this.rigidBody.velocity},set:function(t){this.rigidBody.velocity.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"gravity\",{get:function(){return this.rigidBody.gravity},set:function(t){this.rigidBody.gravity=Math.abs(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"rigidBodyType\",{get:function(){return this.rigidBody.type},enumerable:!1,configurable:!0}),i.prototype.init=function(t){var e,i=t.rigidBodyType,n=t.gravity;if(0===this.getColliderIds().length)throw new Lt(\"RigidBody needs at least one Collider with physics\");this.rigidBody=this.physicsManager.addRigidBody({type:i,colliderIds:this.getColliderIds(),gravity:null!==(e=Math.abs(n))&&void 0!==e?e:0,velocity:new Xt,position:new Xt})},i.prototype.update=function(){if(0===this.getColliderIds().length)throw new Lt(\"RigidBody needs at least one Collider with physics\");this.rigidBody.colliderIds=this.getColliderIds(),this.rigidBody.position=this.gameObject.transform.parent?this.gameObject.transform.innerPosition:this.gameObject.transform.position},i.prototype.getColliderIds=function(){return this.gameObject.getComponents().filter((function(t){return t instanceof te&&t.physics})).reduce((function(t,e){return r(r([],t,!0),e.colliders.map((function(t){return t.id})),!0)}),[])},i.prototype.onActiveChange=function(){this.rigidBody.active=this.active},i.prototype.onDestroy=function(){this.physicsManager.removeRigidBody(this.rigidBody)},i}(u),ie=\"Default\",ne=function(t){function n(e,i,n,r){void 0===n&&(n=\"\"),void 0===r&&(r=null);var o=t.call(this,e)||this;return o.layer=\"Default\",o.ui=!1,o.keep=!1,o._parent=null,o._active=!0,o.components=[],o.activeComponentsCache=[],o.activeChildrenCache=[],o.id=i,o.name=n,o.addComponent(Zt),r&&(o.transform.position=r.transform.position,o.parent=r),o}return e(n,t),Object.defineProperty(n.prototype,\"active\",{get:function(){return this._active},set:function(t){this._active!==t&&(this._active=t,this.updateComponentsActiveStatus(),this.updateChildrenActiveStatus(),this.onActiveChange())},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,\"parent\",{get:function(){return this._parent},set:function(t){this._parent=t,this.transform.parent=null!==t?t.transform:null},enumerable:!1,configurable:!0}),n.prototype.updateComponentsActiveStatus=function(){var t=this;!1===this.active&&(this.activeComponentsCache=this.components.filter((function(t){return t.active}))),this.activeComponentsCache.forEach((function(e){return e.active=t.active})),!0===this.active&&(this.activeComponentsCache=[])},n.prototype.updateChildrenActiveStatus=function(){var t=this;!1===this.active&&(this.activeChildrenCache=this.getChildren().filter((function(t){return t.active}))),this.activeChildrenCache.forEach((function(e){return e.active=t.active})),!0===this.active&&(this.activeChildrenCache=[])},Object.defineProperty(n.prototype,\"transform\",{get:function(){return this.getComponent(Zt)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,\"rigidBody\",{get:function(){return this.getComponent(ee)},enumerable:!1,configurable:!0}),n.prototype.onActiveChange=function(){},n.prototype.getCurrentScene=function(){return this.sceneManager.getLoadedScene()},n.prototype.addComponent=function(t,e,n){var r=\"string\"==typeof e?void 0:e,o=\"string\"==typeof e?e:n,s=new t(this.container,this,o);return this.checkMultipleComponent(s,t),this.components.push(s),s.dispatch(i.Init,r),s},n.prototype.checkMultipleComponent=function(t,e){if(!1===t.allowMultiple&&this.hasComponent(e))throw new Lt(\"GameObject only allows one component of type \".concat(e.name))},n.prototype.getComponents=function(t){return t?this.components.filter((function(e){return e instanceof t})):this.components},n.prototype.getComponent=function(t){return\"string\"==typeof t?this.components.find((function(e){return e.name===t})):this.components.find((function(e){return e instanceof t}))},n.prototype.hasComponent=function(t){return\"string\"==typeof t?this.components.some((function(e){return e.name===t})):this.components.some((function(e){return e instanceof t}))},n.prototype.removeComponent=function(t){var e=this.components.indexOf(t);-1!==e&&this.components.splice(e,1)[0].dispatch(i.Destroy)},n.prototype.addChild=function(t,e,i){var n=this.gameObjectManager.addGameObject(t,e,this,i);return n.transform.innerPosition.set(0,0),n.transform.position.copy(this.transform.position),n},n.prototype.getChildren=function(){return this.gameObjectManager.findGameObjectsByParent(this)},n.prototype.getChild=function(t){return this.gameObjectManager.findGameObjectByParent(this,t)},n.prototype.destroyChildren=function(){var t=this;this.gameObjectManager.findGameObjectsByParent(this).forEach((function(e){return t.gameObjectManager.destroyGameObject(e)}))},n.prototype._destroy=function(){var t=this;this.destroyComponents(),Object.keys(this).forEach((function(e){return delete t[e]}))},n.prototype.destroyComponents=function(){for(var t=0;t<this.components.length;t++)this.components[t].dispatch(i.Destroy),delete this.components[t];this.components=[]},n.prototype._stopGame=function(){},n}(c),re=[\"Default\"],oe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e.viewportRect=new qt(0,0,0,0),e.worldSpaceRect=new qt(0,0,0,0),e.depth=0,e.layers=re,e._zoom=1,e}return e(i,t),Object.defineProperty(i.prototype,\"zoom\",{get:function(){return this._zoom},set:function(t){if(this.zoom<=0)throw new Lt(\"zoom must be greather than 0\");this._zoom=t},enumerable:!1,configurable:!0}),i.prototype.addLayer=function(t){this.layers.push(t)},i.prototype.init=function(){this.canvas=this.domManager.canvas,this.cameraData={position:new Xt,layers:[],depth:1}},i.prototype.update=function(){this.updateViewportRect(),this.updateWorldSpaceRect(),this.updateCameraData()},i.prototype.updateViewportRect=function(){this.viewportRect.x=-this.canvas.width/2,this.viewportRect.y=-this.canvas.height/2,this.viewportRect.width=this.canvas.width,this.viewportRect.height=this.canvas.height},i.prototype.updateWorldSpaceRect=function(){this.worldSpaceRect.x=(this.gameObject.transform.position.x-this.viewportRect.width/2)/this._zoom,this.worldSpaceRect.y=(this.gameObject.transform.position.y-this.viewportRect.height/2)/this._zoom,this.worldSpaceRect.width=this.viewportRect.width/this._zoom,this.worldSpaceRect.height=this.viewportRect.height/this._zoom},i.prototype.updateCameraData=function(){this.cameraData.position.copy(this.gameObject.transform.position),this.cameraData.depth=this.depth,this.cameraData.layers=this.layers,this.cameraData.zoom=this._zoom,this.renderManager.addCameraData(this.cameraData)},i}(m),se=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e(i,t),i.prototype.init=function(){this.transform.position.set(0,0),this.camera=this.addComponent(oe)},Object.defineProperty(i.prototype,\"layers\",{get:function(){return this.camera.layers},set:function(t){this.camera.layers=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"depth\",{get:function(){return this.camera.depth},set:function(t){this.camera.depth=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"zoom\",{get:function(){return this.camera.zoom},set:function(t){this.camera.zoom=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"worldSpaceRect\",{get:function(){return this.camera.worldSpaceRect},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"viewportRect\",{get:function(){return this.camera.viewportRect},enumerable:!1,configurable:!0}),i.prototype.addLayer=function(t){this.camera.layers.push(t)},i}(ne),ae=function(t){function i(e,i,n){var r=t.call(this,e)||this;return r.name=i,r.game=n,r.game.config.headless||r.addGameObject(se),r}return e(i,t),Object.defineProperty(i.prototype,\"gameCamera\",{get:function(){return this.findGameObject(se)},enumerable:!1,configurable:!0}),i.prototype._destroy=function(){var t=this;this.gameObjectManager.destroyAllGameObjects(!1),Object.keys(this).forEach((function(e){return delete t[e]}))},i.prototype._stopGame=function(){var t=this;this.gameObjectManager.destroyAllGameObjects(!0),Object.keys(this).forEach((function(e){return delete t[e]}))},i}(c),he=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.offsetX=0,e.offsetY=0,e.scaledVertexModel=[],e.scaledOffset=new Xt,e.scaledPosition=new Xt,e.finalRotation=0,e.innerPosition=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,s;if(this.gameConfig.collisions.collisionMethod!==lt.SAT)throw new Lt(\"Polygon Colliders need SAT collision method.\");if(t.vertexModel.length<3)throw new Lt(\"Polygon Collider needs at least 3 vertices.\");this.debug=(null!==(e=t.debug)&&void 0!==e?e:this.debug)&&this.gameConfig.debugEnabled,this.vertexModel=t.vertexModel,this.offsetX=null!==(i=t.offsetX)&&void 0!==i?i:this.offsetX,this.offsetY=null!==(n=t.offsetY)&&void 0!==n?n:this.offsetY,this.physics=null!==(r=t.physics)&&void 0!==r?r:this.physics,this.rotation=null!==(o=t.rotation)&&void 0!==o?o:new Qt,this.layer=t.layer;for(var a=0;a<this.vertexModel.length;a++)this.scaledVertexModel.push(new Xt);this.colliders.push(this.physicsManager.addCollider({layer:null!==(s=this.layer)&&void 0!==s?s:this.gameObject.layer,position:this.gameObject.transform.position.clone(),rotation:this.rotation.radians,shape:new Ot(this.scaledVertexModel),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()})),this.debug&&(this.renderer=this.gameObject.addComponent(ce,{collider:this.colliders[0]}))},i.prototype.updateRealSize=function(){var t=this;this.vertexModel.forEach((function(e,i){return t.scaledVertexModel[i].set(e.x*t.gameObject.transform.scale.x,e.y*t.gameObject.transform.scale.y)})),this.scaledOffset.x=this.offsetX*this.gameObject.transform.scale.x,this.scaledOffset.y=this.offsetY*this.gameObject.transform.scale.y,this.finalRotation=this.gameObject.transform.rotation.radians+this.rotation.radians},i.prototype.updatePosition=function(){Xt.add(this.scaledPosition,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){Xt.subtract(this.innerPosition,this.scaledPosition,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.scaledPosition.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i.prototype.updateColliders=function(){var t;this.colliders[0].layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.colliders[0].position.copy(this.scaledPosition),this.colliders[0].rotation=this.finalRotation,this.colliders[0].shape.vertexModel=this.scaledVertexModel},i}(te),ce=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e(i,t),i.prototype.init=function(t){var e=t.collider;this.renderData={type:a.Geometric,location:s.WorldSpace,layer:this.gameObject.layer,position:new Xt,shape:o.Polygon,color:\"#00FF00\"},this.collider=e},i.prototype.update=function(){this.renderData.layer=this.gameObject.layer,this.renderData.position.copy(this.collider.position),this.renderData.rotation=this.collider.shape.rotation,this.renderData.vertexModel=this.collider.shape.vertexModel,this.renderManager.addRenderData(this.renderData)},i}(y),le=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.offsetX=0,e.offsetY=0,e.realWidth=0,e.realHeight=0,e.realOffset=new Xt,e.realPosition=new Xt,e.realRotation=0,e.applyRotation=e.gameConfig.collisions.collisionMethod===lt.SAT,e.innerPosition=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,s;this.width=t.width,this.height=t.height,this.offsetX=null!==(e=t.offsetX)&&void 0!==e?e:this.offsetX,this.offsetY=null!==(i=t.offsetY)&&void 0!==i?i:this.offsetY,this.physics=null!==(n=t.physics)&&void 0!==n?n:this.physics,this.debug=(null!==(r=t.debug)&&void 0!==r?r:this.debug)&&this.gameConfig.debugEnabled,this.rotation=null!==(o=t.rotation)&&void 0!==o?o:new Qt,this.layer=t.layer,this.colliders.push(this.physicsManager.addCollider({layer:null!==(s=this.layer)&&void 0!==s?s:this.gameObject.layer,position:this.gameObject.transform.position.clone(),rotation:this.rotation.radians,shape:new Pt(this.realWidth,this.realHeight),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()})),this.debug&&(this.renderer=this.gameObject.addComponent(ce,{collider:this.colliders[0]}))},i.prototype.updateRealSize=function(){this.realWidth=this.width*Math.abs(this.gameObject.transform.scale.x),this.realHeight=this.height*Math.abs(this.gameObject.transform.scale.y),this.realOffset.x=this.offsetX*this.gameObject.transform.scale.x,this.realOffset.y=this.offsetY*this.gameObject.transform.scale.y,this.realRotation=this.applyRotation?this.gameObject.transform.rotation.radians+this.rotation.radians:0},i.prototype.updatePosition=function(){Xt.add(this.realPosition,this.gameObject.transform.position,this.realOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){Xt.subtract(this.innerPosition,this.realPosition,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.realPosition.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i.prototype.updateColliders=function(){var t;this.colliders[0].layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.colliders[0].position.copy(this.realPosition),this.colliders[0].rotation=this.realRotation,this.colliders[0].shape.updateSize(this.realWidth,this.realHeight)},i}(te),ue=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.offsetX=0,e.offsetY=0,e.realRadius=0,e.realOffset=new Xt,e.realPosition=new Xt,e.innerPosition=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o;this.radius=t.radius,this.offsetX=null!==(e=t.offsetX)&&void 0!==e?e:this.offsetX,this.offsetY=null!==(i=t.offsetY)&&void 0!==i?i:this.offsetY,this.physics=null!==(n=t.physics)&&void 0!==n?n:this.physics,this.debug=(null!==(r=t.debug)&&void 0!==r?r:this.debug)&&this.gameConfig.debugEnabled,this.layer=t.layer,this.colliders.push(this.physicsManager.addCollider({layer:null!==(o=this.layer)&&void 0!==o?o:this.gameObject.layer,position:this.gameObject.transform.position.clone(),shape:new Ct(this.radius),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()})),this.debug&&(this.renderer=this.gameObject.addComponent(pe,{collider:this.colliders[0]}))},i.prototype.updateRealSize=function(){this.realRadius=this.radius*Math.max(Math.abs(this.gameObject.transform.scale.x),Math.abs(this.gameObject.transform.scale.y)),this.realOffset.x=this.offsetX*this.gameObject.transform.scale.x,this.realOffset.y=this.offsetY*this.gameObject.transform.scale.y},i.prototype.updatePosition=function(){Xt.add(this.realPosition,this.gameObject.transform.position,this.realOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){Xt.subtract(this.innerPosition,this.realPosition,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.realPosition.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i.prototype.updateColliders=function(){var t;this.colliders[0].layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.colliders[0].position.copy(this.realPosition),this.colliders[0].shape.radius=this.realRadius},i}(te),pe=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e(i,t),i.prototype.init=function(t){var e=t.collider;this.renderData={type:a.Geometric,location:s.WorldSpace,layer:this.gameObject.layer,position:new Xt,shape:o.Circumference,color:\"#00FF00\"},this.collider=e},i.prototype.update=function(){this.renderData.layer=this.gameObject.layer,this.renderData.position.copy(this.collider.position),this.renderData.radius=this.collider.shape.radius,this.renderManager.addRenderData(this.renderData)},i}(y),de=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.position=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i;this.tilemapRenderer=t.tilemapRenderer,this.layer=t.layer,this.debug=(null!==(e=t.debug)&&void 0!==e?e:this.debug)&&this.gameConfig.debugEnabled,this.physics=!0,this.composite=null!==(i=t.composite)&&void 0!==i&&i,this.scaledTileWidth=this.tilemapRenderer.tileWidth*this.gameObject.transform.scale.x,this.scaledTileHeight=this.tilemapRenderer.tileHeight*this.gameObject.transform.scale.y,this.scaledWidth=this.tilemapRenderer.width*this.scaledTileWidth,this.scaledHeight=this.tilemapRenderer.height*this.scaledTileHeight,this.position.set(this.gameObject.transform.position.x-this.scaledWidth/2,this.gameObject.transform.position.y+this.scaledHeight/2),this.composite?this.useLineColliders():this.useBoxColliders(),this.debug&&(this.renderer=this.gameObject.addComponent(fe,{colliders:this.colliders}))},i.prototype.useBoxColliders=function(){var t=this;this.tilemapRenderer.tiles.forEach((function(e,i){var n;t.needsCollider(e,i)&&t.colliders.push(t.physicsManager.addCollider({layer:null!==(n=t.layer)&&void 0!==n?n:t.gameObject.layer,position:new Xt(t.position.x+(i%t.tilemapRenderer.width+.5)*t.scaledTileWidth,t.position.y-(Math.floor(i/t.tilemapRenderer.width)+.5)*t.scaledTileHeight),shape:new Pt(t.scaledTileWidth,t.scaledTileHeight),updateCollisions:!1,physics:t.physics,group:t.gameObject.id.toString()}))}))},i.prototype.needsCollider=function(t,e){var i=this;return 0!==t&&this.getNeighbors(e).some((function(t){return!t||!i.tilemapRenderer.tiles[t]||0===i.tilemapRenderer.tiles[t]}))},i.prototype.useLineColliders=function(){var t,e,i=this,n=[],r=[];this.tilemapRenderer.tiles.forEach((function(t,e){if(0!==t){var o=e%i.tilemapRenderer.width,s=Math.floor(e/i.tilemapRenderer.width);n[s]||(n[s]=[]),n[s+1]||(n[s+1]=[]),r[s]||(r[s]=[]),r[s+1]||(r[s+1]=[]);var a=i.getNeighbors(e);i.hasTile(a[0])||(n[s][o]=!0),i.hasTile(a[2])||(n[s+1][o]=!0),i.hasTile(a[1])||(r[s][o]=!0),i.hasTile(a[3])||(r[s][o+1]=!0)}}));for(var o=0;o<n.length;o++)if(n[o])for(var s=0;s<n[o].length;s++)!t||!e||o===e.y&&n[o][s]||(this.addLineCollider(t,e),t=void 0,e=void 0),n[o][s]&&(t||(t=new Xt(s,o)),e=new Xt(s+1,o));t&&e&&this.addLineCollider(t,e),t=void 0,e=void 0;for(s=0;s<=this.tilemapRenderer.width;s++)for(o=0;o<r.length;o++)r[o]&&(!t||!e||s===e.x&&r[o][s]||(this.addLineCollider(t,e),t=void 0,e=void 0),r[o][s]&&(t||(t=new Xt(s,o)),e=new Xt(s,o+1)));t&&e&&this.addLineCollider(t,e)},i.prototype.hasTile=function(t){return void 0!==t&&this.tilemapRenderer.tiles[t]&&this.tilemapRenderer.tiles[t]>0},i.prototype.addLineCollider=function(t,e){var i,n=this.physicsManager.addCollider({layer:null!==(i=this.layer)&&void 0!==i?i:this.gameObject.layer,position:this.position.clone(),shape:new jt([new Xt(t.x*this.scaledTileWidth,t.y*-this.scaledTileHeight),new Xt(e.x*this.scaledTileWidth,e.y*-this.scaledTileHeight)]),updateCollisions:!1,physics:this.physics,group:this.gameObject.id.toString()});this.colliders.push(n)},i.prototype.getNeighbors=function(t){return[t-this.tilemapRenderer.width>=0?t-this.tilemapRenderer.width:void 0,t%this.tilemapRenderer.width>0?t-1:void 0,t+this.tilemapRenderer.width<=this.tilemapRenderer.width*this.tilemapRenderer.height?t+this.tilemapRenderer.width:void 0,t%this.tilemapRenderer.width<this.tilemapRenderer.width-1?t+1:void 0]},i.prototype.updateRealSize=function(){},i.prototype.updatePosition=function(){},i.prototype.updateColliders=function(){var t=this;this.colliders.forEach((function(e){var i;return e.layer=null!==(i=t.layer)&&void 0!==i?i:t.gameObject.layer}))},i}(te),fe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.renderData=[],e.colliders=[],e}return e(i,t),i.prototype.init=function(t){var e=this,i=t.colliders;this.colliders=i,this.colliders.forEach((function(t,i){e.renderData[i]={type:a.Geometric,layer:e.gameObject.layer,location:s.WorldSpace,position:new Xt,shape:o.Polygon,color:\"#00FF00\"}}))},i.prototype.update=function(){var t=this;this.colliders.forEach((function(e,i){t.renderData[i].layer=t.gameObject.layer,t.renderData[i].position.copy(e.shape.position),t.renderData[i].rotation=e.rotation,t.renderData[i].vertexModel=e.shape.vertexModel,t.renderManager.addRenderData(t.renderData[i])}))},i}(y),ge=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.offsetX=0,e.offsetY=0,e.scaledVertexModel=[],e.scaledOffset=new Xt,e.scaledPosition=new Xt,e.finalRotation=0,e.innerPosition=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,s;if(this.gameConfig.collisions.collisionMethod!==lt.SAT)throw new Lt(\"Edge Colliders need SAT collision method.\");if(t.vertexModel.length<2)throw new Lt(\"Edge Collider needs at least 2 vertices.\");this.debug=(null!==(e=t.debug)&&void 0!==e?e:this.debug)&&this.gameConfig.debugEnabled,this.vertexModel=t.vertexModel,this.offsetX=null!==(i=t.offsetX)&&void 0!==i?i:this.offsetX,this.offsetY=null!==(n=t.offsetY)&&void 0!==n?n:this.offsetY,this.physics=null!==(r=t.physics)&&void 0!==r?r:this.physics,this.rotation=null!==(o=t.rotation)&&void 0!==o?o:new Qt,this.layer=t.layer;for(var a=0;a<this.vertexModel.length;a++)this.scaledVertexModel.push(new Xt);for(a=0;a<this.scaledVertexModel.length-1;a++)this.colliders.push(this.physicsManager.addCollider({layer:null!==(s=this.layer)&&void 0!==s?s:this.gameObject.layer,position:this.gameObject.transform.position.clone(),rotation:this.rotation.radians,shape:new jt([this.scaledVertexModel[a],this.scaledVertexModel[a+1]]),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()}));this.debug&&(this.renderer=this.gameObject.addComponent(me,{colliders:this.colliders}))},i.prototype.updateRealSize=function(){var t=this;this.vertexModel.forEach((function(e,i){return t.scaledVertexModel[i].set(e.x*t.gameObject.transform.scale.x,e.y*t.gameObject.transform.scale.y)})),this.scaledOffset.x=this.offsetX*this.gameObject.transform.scale.x,this.scaledOffset.y=this.offsetY*this.gameObject.transform.scale.y,this.finalRotation=this.gameObject.transform.rotation.radians+this.rotation.radians},i.prototype.updatePosition=function(){Xt.add(this.scaledPosition,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){Xt.subtract(this.innerPosition,this.scaledPosition,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.scaledPosition.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i.prototype.updateColliders=function(){for(var t,e=0;e<this.scaledVertexModel.length-1;e++)this.colliders[e].layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.colliders[e].position.copy(this.scaledPosition),this.colliders[e].rotation=this.finalRotation,this.colliders[e].shape.vertexModel=[this.scaledVertexModel[e],this.scaledVertexModel[e+1]]},i}(te),me=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.renderData=[],e.colliders=[],e}return e(i,t),i.prototype.init=function(t){var e=this,i=t.colliders;this.colliders=i,this.colliders.forEach((function(t,i){e.renderData[i]={type:a.Geometric,layer:e.gameObject.layer,location:s.WorldSpace,position:new Xt,shape:o.Line,color:\"#00FF00\"}}))},i.prototype.update=function(){var t=this;this.colliders.forEach((function(e,i){t.renderData[i].layer=t.gameObject.layer,t.renderData[i].position=e.position,t.renderData[i].rotation=e.rotation,t.renderData[i].vertexModel=e.shape.vertexModel,t.renderManager.addRenderData(t.renderData[i])}))},i}(y),ye=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.renderData=[],e.innerPosition=new Xt,e.cachePosition=new Xt,e.cacheRenderPosition=new Xt,e.scaledOffset=new Xt,e.cacheScale=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,s,a,h,c;void 0===t&&(t={}),this.sprite=t.sprite,this.offset=null!==(e=t.offset)&&void 0!==e?e:new Xt,this.rotation=null!==(i=t.rotation)&&void 0!==i?i:new Qt,this.flipHorizontal=null!==(n=t.flipHorizontal)&&void 0!==n&&n,this.flipVertical=null!==(r=t.flipVertical)&&void 0!==r&&r,this.opacity=null!==(o=t.opacity)&&void 0!==o?o:1,this._tiled=null!==(s=t.tiled)&&void 0!==s?s:new Xt(1,1),this.maskColor=t.maskColor,this.maskColorMix=null!==(a=t.maskColorMix)&&void 0!==a?a:0,this.tintColor=t.tintColor,this.layer=t.layer,this.scale=null!==(c=null!==(h=t.scale)&&void 0!==h?h:this.gameConfig.spriteDefaultScale.clone())&&void 0!==c?c:new Xt(1,1),this.width=t.width,this.height=t.height},Object.defineProperty(i.prototype,\"tiled\",{get:function(){return this._tiled},set:function(t){if(t.x%1!=0||t.y%1!=0)throw new Lt(\"SpriteRenderer.tiled: Vector2 components must be integers\");this._tiled.set(t.x,t.y)},enumerable:!1,configurable:!0}),i.prototype.update=function(){if(this.sprite&&!0===this.sprite.loaded){this.cacheScale.set(this.scale.x*this.gameObject.transform.scale.x,this.scale.y*this.gameObject.transform.scale.y),this.updateRenderDataArray();for(var t=0,e=0;e<this._tiled.x;e++)for(var i=0;i<this._tiled.y;i++)this.updateRenderData(t,e,i),t++}},i.prototype.updateRenderDataArray=function(){if(this.renderData.length!==this._tiled.x*this._tiled.y){this.renderData=[];for(var t=0;t<this._tiled.x*this._tiled.y;t++)this.renderData[t]={type:a.Sprite,location:s.WorldSpace,layer:\"\",position:new Xt,image:this.sprite.image,width:0,height:0}}},i.prototype.updateRenderData=function(t,e,i){var n,r,o;this.renderData[t].location=this.gameObject.ui?s.ViewPort:s.WorldSpace,this.renderData[t].layer=null!==(n=this.layer)&&void 0!==n?n:this.gameObject.layer,this.renderData[t].image=this.sprite.image,this.renderData[t].width=(null!==(r=this.width)&&void 0!==r?r:this.sprite.width)*Math.abs(this.cacheScale.x),this.renderData[t].height=(null!==(o=this.height)&&void 0!==o?o:this.sprite.height)*Math.abs(this.cacheScale.y),this.renderData[t].slice=this.sprite.slice,this.renderData[t].flipHorizontal=this.flipHorizontal!==this.cacheScale.x<0,this.renderData[t].flipVertical=this.flipVertical!==this.cacheScale.y<0,this.renderData[t].rotation=this.gameObject.transform.rotation.radians+this.rotation.radians,this.renderData[t].smooth=this.sprite.smooth,this.renderData[t].alpha=this.opacity,this.renderData[t].maskColor=this.maskColor,this.renderData[t].maskColorMix=this.maskColorMix,this.renderData[t].tintColor=this.tintColor,this.calculateRenderPosition(t,e,i),this.renderManager.addRenderData(this.renderData[t])},i.prototype.calculateRenderPosition=function(t,e,i){this.scaledOffset.set(this.offset.x*this.gameObject.transform.scale.x,this.offset.y*this.gameObject.transform.scale.y),Xt.add(this.cachePosition,this.gameObject.transform.position,this.scaledOffset),this.cacheRenderPosition.set(this.renderData[t].width/2*(this._tiled.x-1),this.renderData[t].height/2*(this._tiled.y-1)),Xt.subtract(this.cachePosition,this.cachePosition,this.cacheRenderPosition),this.cacheRenderPosition.set(e*this.renderData[t].width,i*this.renderData[t].height),Xt.add(this.renderData[t].position,this.cachePosition,this.cacheRenderPosition),0!==this.gameObject.transform.rotation.radians&&this.translateRenderPosition(t)},i.prototype.translateRenderPosition=function(t){Xt.subtract(this.innerPosition,this.renderData[t].position,this.gameObject.transform.position);var e=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.renderData[t].position.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(e),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(e))},i}(y),ve=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.lastFrameText=\"\",e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,s,a,h,c,l,u,p,d;if(this.text=null!==(e=t.text)&&void 0!==e?e:\"\",this.font=null!==(i=t.font)&&void 0!==i?i:\"Sans\",this.fontSize=null!==(n=t.fontSize)&&void 0!==n?n:12,this.width=null!==(r=t.width)&&void 0!==r?r:100,this.height=null!==(o=t.height)&&void 0!==o?o:100,this.offset=null!==(s=t.offset)&&void 0!==s?s:new Xt,this.color=null!==(a=t.color)&&void 0!==a?a:\"#000000\",this.charRanges=null!==(h=t.charRanges)&&void 0!==h?h:[32,126,161,255],this.lineSeparation=null!==(c=t.lineSeparation)&&void 0!==c?c:0,this.letterSpacing=null!==(l=t.letterSpacing)&&void 0!==l?l:0,this.smooth=null!==(u=t.smooth)&&void 0!==u&&u,this.rotation=null!==(p=t.rotation)&&void 0!==p?p:new Qt,this.opacity=null!==(d=t.opacity)&&void 0!==d?d:1,this.orientation=t.orientation,this.bitmapMargin=t.bitmapMargin,this.bitmapSpacing=t.bitmapSpacing,this.charRanges.length%2!=0)throw new Lt(\"TextRenderer.charRanges must be a 2 column matrix\");if(this.lineSeparation%2!=0)throw new Lt(\"TextRenderer.lineSeparation must be multiple of 2\")},i.prototype.start=function(){this.renderData={type:a.Text,location:s.WorldSpace,position:new Xt,layer:this.gameObject.layer,text:\"\",font:this.font,fontSize:this.fontSize,bitmap:{charRanges:this.charRanges,margin:this.bitmapMargin,spacing:this.bitmapSpacing},smooth:this.smooth}},i.prototype.update=function(){var t,e;this.text&&(this.renderData.layer=this.gameObject.layer,this.renderData.location=this.gameObject.ui?s.ViewPort:s.WorldSpace,this.renderData.text=this.text!==this.lastFrameText?this.crop():this.renderData.text,this.renderData.fontSize=this.fontSize,this.renderData.color=this.color,this.renderData.orientation=this.orientation,this.renderData.lineSeparation=this.lineSeparation,this.renderData.letterSpacing=this.letterSpacing,this.renderData.rotation=null!==(e=this.gameObject.transform.rotation.radians+(null===(t=this.rotation)||void 0===t?void 0:t.radians))&&void 0!==e?e:0,this.renderData.alpha=this.opacity,Xt.add(this.renderData.position,this.gameObject.transform.position,this.offset),this.renderManager.addRenderData(this.renderData),this.lastFrameText=this.text)},i.prototype.crop=function(){var t=this;if(this.fontSize>this.height)return\"\";for(var e=[],i=0,n=0,r=this.text.split(\"\\n\");n<r.length;n++)for(var o=r[n].split(\" \").reduce((function(e,i){var n=e[e.length-1]+(e[e.length-1].length>0?\" \":\"\")+i;return n.length*(t.fontSize+t.letterSpacing)>t.width?e.push(i):e[e.length-1]=n,e}),[\"\"]),s=0,a=o;s<a.length;s++){var h=a[s];if((i+=this.fontSize+this.lineSeparation)>this.height)return e.join(\"\\n\");e.push(h)}return e.join(\"\\n\")},i}(y),xe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.offset=new Xt,e.rotation=new Qt,e.opacity=1,e.innerPosition=new Xt,e.scaledOffset=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,h,c;this.shape=t.shape,this.color=t.color,this.width=null!==(e=t.width)&&void 0!==e?e:0,this.height=null!==(i=t.height)&&void 0!==i?i:0,this.radius=null!==(n=t.radius)&&void 0!==n?n:0,this.offset=null!==(r=t.offset)&&void 0!==r?r:this.offset,this.rotation=null!==(o=t.rotation)&&void 0!==o?o:this.rotation,this.opacity=null!==(h=t.opacity)&&void 0!==h?h:this.opacity,this.layer=t.layer,this.renderData={type:a.Mask,layer:null!==(c=this.layer)&&void 0!==c?c:this.gameObject.layer,location:this.gameObject.ui?s.ViewPort:s.WorldSpace,position:new Xt,width:0,height:0,radius:0,color:\"\",shape:this.shape}},i.prototype.update=function(){var t;this.renderData.location=this.gameObject.ui?s.ViewPort:s.WorldSpace,this.renderData.layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.renderData.shape=this.shape,this.renderData.width=this.width*Math.abs(this.gameObject.transform.scale.x),this.renderData.height=this.height*Math.abs(this.gameObject.transform.scale.y),this.renderData.color=this.color,this.renderData.rotation=this.gameObject.transform.rotation.radians+this.rotation.radians,this.renderData.alpha=this.opacity,this.renderData.radius=this.radius*Math.abs(Math.max(this.gameObject.transform.scale.x,this.gameObject.transform.scale.y)),this.calculateRenderPosition(),this.renderManager.addRenderData(this.renderData)},i.prototype.calculateRenderPosition=function(){this.scaledOffset.set(this.offset.x*this.gameObject.transform.scale.x,this.offset.y*this.gameObject.transform.scale.y),Xt.add(this.renderData.position,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translateRenderPosition()},i.prototype.translateRenderPosition=function(){Xt.subtract(this.innerPosition,this.renderData.position,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.renderData.position.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i}(y),be=[\"click\",\"contextmenu\",\"auxclick\",\"dblclick\",\"mousedown\",\"mouseup\",\"pointerup\",\"touchend\",\"keydown\",\"keyup\"],Me=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.innerPosition=new Xt,e.scaledOffset=new Xt,e._playing=!1,e._paused=!1,e.videoEventHandler=function(t){\"ended\"===t.type&&(e._playing=!1,e.video.removeEventListener(\"ended\",e.videoEventHandler))},e.userInputEventHandler=function(){be.forEach((function(t){window.removeEventListener(t,e.userInputEventHandler)})),e.video&&e._playing&&e.video.play()},e}return e(i,t),Object.defineProperty(i.prototype,\"volume\",{get:function(){return this._volume},set:function(t){this._volume=t,this.video&&(this.video.volume=t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"loop\",{get:function(){return this._loop},set:function(t){this._loop=t,this.video&&(this.video.loop=t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"playing\",{get:function(){return this._playing},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"paused\",{get:function(){return this._paused},enumerable:!1,configurable:!0}),i.prototype.init=function(t){var e,i,n,r,o,h,c,l,u,p;this.video=t.video,this.width=null!==(e=t.width)&&void 0!==e?e:this.video.videoWidth,this.height=null!==(i=t.height)&&void 0!==i?i:this.video.videoHeight,this.offset=null!==(n=t.offset)&&void 0!==n?n:new Xt,this.rotation=null!==(r=t.rotation)&&void 0!==r?r:new Qt,this.flipHorizontal=null!==(o=t.flipHorizontal)&&void 0!==o&&o,this.flipVertical=null!==(h=t.flipVertical)&&void 0!==h&&h,this.opacity=null!==(c=t.opacity)&&void 0!==c?c:1,this.maskColor=t.maskColor,this.maskColorMix=null!==(l=t.maskColorMix)&&void 0!==l?l:0,this.tintColor=t.tintColor,this.layer=t.layer,this.slice=t.slice,this._volume=null!==(u=t.volume)&&void 0!==u?u:1,this._loop=null!==(p=t.loop)&&void 0!==p&&p,this.renderData={type:a.Video,location:s.WorldSpace,layer:\"\",position:new Xt,video:this.video,width:this.width,height:this.height}},i.prototype.play=function(){var t=this;if((this.video||!this.video.duration)&&(!this._playing||!1!==this._paused)){if(this._paused)return this._paused=!1,void this.video.play();this.video.loop=this._loop,this.video.volume=this._volume,this.video.addEventListener(\"ended\",this.videoEventHandler),this._playing=!0;var e=this.video.play();void 0!==e&&e.catch((function(){be.forEach((function(e){return window.addEventListener(e,t.userInputEventHandler)}))}))}},i.prototype.stop=function(){this._playing&&(this.video.pause(),this.video.currentTime=0,this.video.removeEventListener(\"ended\",this.videoEventHandler),this._playing=!1,this._paused=!1)},i.prototype.pause=function(){this._playing&&!1===this._paused&&(this.video.pause(),this._paused=!0)},i.prototype.update=function(){var t;this.video&&this.video.duration&&(this.renderData.location=this.gameObject.ui?s.ViewPort:s.WorldSpace,this.renderData.layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.renderData.video=this.video,this.renderData.width=this.width*Math.abs(this.gameObject.transform.scale.x),this.renderData.height=this.height*Math.abs(this.gameObject.transform.scale.y),this.renderData.slice=this.slice,this.renderData.flipHorizontal=this.flipHorizontal!==this.gameObject.transform.scale.x<0,this.renderData.flipVertical=this.flipVertical!==this.gameObject.transform.scale.y<0,this.renderData.rotation=this.gameObject.transform.rotation.radians+this.rotation.radians,this.renderData.alpha=this.opacity,this.renderData.maskColor=this.maskColor,this.renderData.maskColorMix=this.maskColorMix,this.renderData.tintColor=this.tintColor,this.calculateRenderPosition(),this.renderManager.addRenderData(this.renderData))},i.prototype.calculateRenderPosition=function(){this.scaledOffset.set(this.offset.x*this.gameObject.transform.scale.x,this.offset.y*this.gameObject.transform.scale.y),Xt.add(this.renderData.position,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translateRenderPosition()},i.prototype.translateRenderPosition=function(){Xt.subtract(this.innerPosition,this.renderData.position,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.renderData.position.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i.prototype.onActiveChange=function(){!1===this.active&&this.stop()},i.prototype.onDestroy=function(){this.stop()},i}(y),_e=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.tiles=[],e.infinite=!1,e.tilesetTileIds=[],e.chunks=[],e.scaledTileWidth=0,e.scaledTileHeight=0,e.renderData=[],e}return e(i,t),i.prototype.init=function(t){var e=this,i=t.tiledData,n=t.tilemapLayer,r=t.tileset,o=t.tileWidth,s=t.tileHeight,a=t.layer,h=t.smooth;if(this.tiledData=i,this.tileset=r,this.tileWidth=null!=o?o:this.tileset.tileWidth*this.gameConfig.spriteDefaultScale.x,this.tileHeight=null!=s?s:this.tileset.tileHeight*this.gameConfig.spriteDefaultScale.y,this.layer=a,this.smooth=null!=h&&h,this.tiledLayer=this.tiledData.layers.find((function(t){return t.name===n})),!this.tiledLayer)throw new Lt(\"Invalid tilemap layer\");this.width=0,this.height=0,this.tiledData.layers.forEach((function(t){e.width=Math.max(e.width,t.width),e.height=Math.max(e.height,t.height)})),this.processTilemap()},i.prototype.update=function(){var t=this;this.updateRenderData(),this.renderData.forEach((function(e){return t.renderManager.addRenderData(e)}))},i.prototype.processTilemap=function(){var t=this;!0===this.tiledLayer.visible&&(this.opacity=this.tiledLayer.opacity,this.tintColor=this.tiledLayer.tintcolor,this.tiledData.infinite?(this.infinite=!0,this.tiledLayer.chunks.sort((function(t,e){return t.x-e.x})).sort((function(t,e){return t.y-e.y})).forEach((function(e){return t.processChunk(e)}))):this.processFixedLayer()),this.updateRenderData(),this.tilesetTileIds=[]},i.prototype.processFixedLayer=function(){var t,e=this;this.tiles=this.tiledLayer.data.map((function(t){return e.getTilesetTileId(t)})),this.renderData.push({type:a.Tilemap,layer:null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,location:this.gameObject.ui?s.ViewPort:s.WorldSpace,position:new Xt,tileset:this.tileset,tilemap:{width:this.width,tileWidth:this.tileWidth,tileHeight:this.tileHeight},tiles:this.tiles,orientation:M.Center,smooth:this.smooth})},i.prototype.processChunk=function(t){var e,i=this,n={type:a.Tilemap,layer:null!==(e=this.layer)&&void 0!==e?e:this.gameObject.layer,location:this.gameObject.ui?s.ViewPort:s.WorldSpace,position:new Xt,tileset:this.tileset,tilemap:{width:t.width,tileWidth:this.tileWidth,tileHeight:this.tileHeight},tiles:t.data.map((function(t){return i.getTilesetTileId(t)})),orientation:M.Center,smooth:this.smooth};n.tiles.forEach((function(e,n){i.tiles[i.width*(t.y+Math.floor(n/t.width))+t.x+n%t.width]=e})),this.renderData.push(n),this.chunks.push(t)},i.prototype.getTilesetTileId=function(t){return this.tilesetTileIds[t]||(this.tilesetTileIds[t]=this.tiledData.tilesets.reduce((function(e,i){return t>=i.firstgid?t-i.firstgid+1:e}),0)),this.tilesetTileIds[t]},i.prototype.updateRenderData=function(){var t=this;this.scaledTileWidth=this.tileWidth*this.gameObject.transform.scale.x,this.scaledTileHeight=this.tileHeight*this.gameObject.transform.scale.y,this.realWidth=this.width*this.scaledTileWidth,this.realHeight=this.height*this.scaledTileHeight,this.renderData.forEach((function(e,i){var n;if(e.layer=null!==(n=t.layer)&&void 0!==n?n:t.gameObject.layer,t.infinite){var r=t.chunks[i];e.position.set(t.gameObject.transform.position.x-t.realWidth/2+(r.x+r.width/2)*t.scaledTileWidth,t.gameObject.transform.position.y+t.realHeight/2-(r.y+r.height/2)*t.scaledTileHeight)}else e.position.copy(t.gameObject.transform.position);e.tilemap.tileWidth=t.scaledTileWidth,e.tilemap.tileHeight=t.scaledTileHeight,e.tintColor=t.tintColor,e.alpha=t.opacity}))},i}(y),we=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.tiles=[],e.scaledTileWidth=0,e.scaledTileHeight=0,e}return e(i,t),i.prototype.init=function(t){var e,i=this,n=t.tiles,r=t.tileset,o=t.tileWidth,h=t.tileHeight,c=t.width,l=t.layer,u=t.opacity,p=t.tintColor,d=t.smooth;n.split(\"\\n\").forEach((function(t){t.split(\",\").forEach((function(t){return t.trim().length>0?i.tiles.push(Number(t)):null}))})),this.tileset=r,this.width=c,this.tileWidth=null!=o?o:this.tileset.tileWidth*this.gameConfig.spriteDefaultScale.x,this.tileHeight=null!=h?h:this.tileset.tileHeight*this.gameConfig.spriteDefaultScale.y,this.layer=l,this.height=Math.ceil(this.tiles.length/this.width),this.opacity=u,this.tintColor=p,this.renderData={type:a.Tilemap,layer:null!==(e=this.layer)&&void 0!==e?e:this.gameObject.layer,location:this.gameObject.ui?s.ViewPort:s.WorldSpace,position:new Xt,tileset:this.tileset,tilemap:{width:this.width,tileWidth:this.tileWidth,tileHeight:this.tileHeight},tiles:this.tiles,orientation:M.Center,smooth:d},this.updateRenderData()},i.prototype.update=function(){this.updateRenderData(),this.renderManager.addRenderData(this.renderData)},i.prototype.updateRenderData=function(){var t;this.scaledTileWidth=this.tileWidth*this.gameObject.transform.scale.x,this.scaledTileHeight=this.tileHeight*this.gameObject.transform.scale.y,this.realWidth=this.width*this.scaledTileWidth,this.realHeight=this.height*this.scaledTileHeight,this.renderData.layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.renderData.position.copy(this.gameObject.transform.position),this.renderData.tintColor=this.tintColor,this.renderData.alpha=this.opacity,this.renderData.tilemap.tileWidth=this.scaledTileWidth,this.renderData.tilemap.tileHeight=this.scaledTileHeight},i}(y),Ce=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.spriteRenderer=null,e.animations=new Map,e.currentAnimation=null,e.paused=!1,e}return e(i,t),i.prototype.init=function(t){var e=t.spriteRenderer;this.spriteRenderer=e},i.prototype.update=function(){null===this.currentAnimation||this.paused||(this.currentAnimation.playFrame(this.timeManager.deltaTime),!0===this.currentAnimation.restarted&&!1===this.currentAnimation.loop?this.currentAnimation=null:this.spriteRenderer.sprite=this.currentAnimation.sprite)},i.prototype.addAnimation=function(t,e,i){return void 0===e&&(e=\"default\"),t.framerate=null!=i?i:t.framerate,this.animations.set(e,new je(t)),this},i.prototype.playAnimation=function(t){if(void 0===t&&(t=\"default\"),!1!==this.active){if(!1===this.animations.has(t))throw new Lt(\"Animation with name \".concat(t,\" does not exist.\"));this.stopAnimation(),this.currentAnimation=this.animations.get(t)}},i.prototype.pause=function(){this.paused=!0},i.prototype.resume=function(){this.paused=!1},i.prototype.stopAnimation=function(){null!==this.currentAnimation&&(this.currentAnimation.reset(),this.currentAnimation=null,this.paused=!1)},i.prototype.isPlayingAnimation=function(t){return void 0===t&&(t=\"default\"),null!==this.currentAnimation&&this.animations.get(t)&&this.animations.get(t)===this.currentAnimation},i.prototype.isPaused=function(){return this.paused},i}(u),je=function(){function t(t){this._sprite=null,this._restarted=!1,this.currentFrame=0,this.frameTime=0,this._animation=t}return Object.defineProperty(t.prototype,\"sprite\",{get:function(){return this._sprite},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"restarted\",{get:function(){return this._restarted},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"loop\",{get:function(){return this._animation.loop},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"animation\",{get:function(){return this._animation},enumerable:!1,configurable:!0}),t.prototype.reset=function(){this.currentFrame=0,this.frameTime=0,this._restarted=!0},t.prototype.playFrame=function(t){this._restarted=!1,this.frameTime>=1/this._animation.framerate&&(this.frameTime=0,this.currentFrame=this.currentFrame+1===this._animation.sprites.length?0:this.currentFrame+1,this._restarted=0===this.currentFrame),this._sprite=this._animation.sprites[this.currentFrame],this.frameTime+=t},t}(),Oe=[\"click\",\"contextmenu\",\"auxclick\",\"dblclick\",\"mousedown\",\"mouseup\",\"pointerup\",\"touchend\",\"keydown\",\"keyup\"],Pe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e.tracks=[],e.audioSourceCache=new Map,e._playing=!1,e._paused=!1,e.audioEventHandler=function(t){\"ended\"===t.type&&(e._playing=!1,e._audioSource.removeEventListener(\"ended\",e.audioEventHandler))},e.userInputEventHandler=function(){Oe.forEach((function(t){window.removeEventListener(t,e.userInputEventHandler)})),e.audioContext.resume(),e._audioSource&&e._playing&&e._audioSource.play()},e}return e(i,t),Object.defineProperty(i.prototype,\"audioSource\",{get:function(){return this._audioSource},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"volume\",{get:function(){return this._volume},set:function(t){this._volume=t,this._audioSource&&(this._audioSource.volume=t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"loop\",{get:function(){return this._loop},set:function(t){this._loop=t,this._audioSource&&(this._audioSource.loop=t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"playing\",{get:function(){return this._playing},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"paused\",{get:function(){return this._paused},enumerable:!1,configurable:!0}),i.prototype.init=function(t){var e=this,i=void 0===t?{}:t,n=i.loop,r=i.volume;this.audioContext=new AudioContext,\"running\"!==this.audioContext.state&&Oe.forEach((function(t){return window.addEventListener(t,e.userInputEventHandler)})),this._volume=null!=r?r:1,this._loop=null!=n&&n},i.prototype.playClip=function(t,e){t.currentTime>0&&(t.currentTime=0),t.volume=null!=e?e:this._volume,t.play()},i.prototype.addAudioSource=function(t,e){void 0===e&&(e=\"default\");var i=t.cloneNode();this.audioSourceCache.set(e,i);var n=this.audioContext.createMediaElementSource(i);n.connect(this.audioContext.destination),this.tracks.push(n)},i.prototype.loadAudioSource=function(t,e,i){this.stop(),this._audioSource=this.audioSourceCache.get(t),this._loop=null!=e?e:this._loop,this._volume=null!=i?i:this._volume},i.prototype.play=function(){if(this._audioSource&&(!this._playing||!1!==this._paused)){if(this._paused)return this._paused=!1,void this._audioSource.play();this._audioSource.volume=this._volume,this._audioSource.loop=this._loop,this._audioSource.addEventListener(\"ended\",this.audioEventHandler),this._playing=!0,\"running\"===this.audioContext.state&&this._audioSource.play()}},i.prototype.stop=function(){this._playing&&(this._audioSource.pause(),this._audioSource.currentTime=0,this._audioSource.removeEventListener(\"ended\",this.audioEventHandler),this._playing=!1,this._paused=!1)},i.prototype.pause=function(){this._playing&&!1===this._paused&&(this._audioSource.pause(),this._paused=!0)},i.prototype.onActiveChange=function(){!1===this.active&&this.stop()},i.prototype.onDestroy=function(){this.stop(),this.audioContext.close()},i}(u),Re=function(){function t(t){var e,i=this;this._width=null,this._height=null,this._loaded=!1,this.image=t.image,this.smooth=null!==(e=t.smooth)&&void 0!==e&&e,this.slice=t.slice,this.slice&&(this._width=this.slice.width,this._height=this.slice.height);var n=function(){var t,e;i._width=null!==(t=i._width)&&void 0!==t?t:i.image.naturalWidth,i._height=null!==(e=i._height)&&void 0!==e?e:i.image.naturalHeight,i._loaded=!0};this.image.naturalWidth?n():this.image.addEventListener(\"load\",(function(){return n()}))}return Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"loaded\",{get:function(){return this._loaded},enumerable:!1,configurable:!0}),t}();!function(t){t[t.Rectangle=0]=\"Rectangle\",t[t.Circumference=1]=\"Circumference\"}(Ut||(Ut={}));var Ae=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e.width=100,e.height=100,e.radius=50,e.touchEnabled=!0,e.offset=new Xt,e.pressed=!1,e.mouse=e.inputManager.mouse,e.touch=e.inputManager.touch,e.position=new Xt,e.distance=new Xt,e.pressedLastFrame=!1,e.scaled={width:0,height:0,radius:0,offset:new Xt},e}return e(i,t),i.prototype.init=function(t){var e=t.type,i=t.height,n=t.radius,r=t.touchEnabled,o=t.width,s=t.offset;this.type=e,this.width=null!=o?o:this.width,this.height=null!=i?i:this.height,this.radius=null!=n?n:this.radius,this.touchEnabled=null!=r?r:this.touchEnabled,this.offset=null!=s?s:this.offset},i.prototype.update=function(){this.scale(),Xt.add(this.position,this.gameObject.transform.position,this.scaled.offset),this.pressedLastFrame=this.pressed,this.pressed=!1,this.mouse.leftButtonPressed&&(this.resolveMouseAndRectangle(),this.resolveMouseAndCircumference()),this.touchEnabled&&this.touch.touching&&(this.resolveTouchAndRectangle(),this.resolveTouchAndCircumference()),this.onClick&&!this.pressedLastFrame&&this.pressed&&this.onClick(),this.onPressed&&this.pressed&&this.onPressed()},i.prototype.scale=function(){this.scaled.width=this.width*this.gameObject.transform.scale.x,this.scaled.height=this.width*this.gameObject.transform.scale.y,this.scaled.offset.x=this.offset.x*this.gameObject.transform.scale.x,this.scaled.offset.y=this.offset.y*this.gameObject.transform.scale.y,this.scaled.radius=this.radius*Math.max(Math.abs(this.gameObject.transform.scale.x),Math.abs(this.gameObject.transform.scale.y))},i.prototype.resolveMouseAndRectangle=function(){this.type===Ut.Rectangle&&(this.pressed=Kt(this.mouse.positionInViewport.x,this.position.x-this.scaled.width/2,this.position.x+this.scaled.width/2)&&Kt(this.mouse.positionInViewport.y,this.position.y-this.scaled.height/2,this.position.y+this.scaled.height/2))},i.prototype.resolveMouseAndCircumference=function(){this.type===Ut.Circumference&&(Xt.subtract(this.distance,this.position,this.mouse.positionInViewport),this.pressed=this.distance.magnitude<=this.scaled.radius)},i.prototype.resolveTouchAndRectangle=function(){if(this.type===Ut.Rectangle)for(var t=0,e=this.touch.interactions;t<e.length;t++){var i=e[t],n=i.positionInViewport,r=i.radius;if(this.pressed)return;this.pressed=this.position.x+this.scaled.width/2>=n.x-r.x&&this.position.x-this.scaled.width/2<=n.x+r.x&&this.position.y+this.scaled.height/2>=n.y-r.y&&this.position.y-this.scaled.height/2<=n.y+r.y}},i.prototype.resolveTouchAndCircumference=function(){if(this.type===Ut.Circumference)for(var t=0,e=this.touch.interactions;t<e.length;t++){var i=e[t],n=i.positionInViewport,r=i.radius;if(this.pressed)return;Xt.subtract(this.distance,this.position,n),this.pressed=this.distance.magnitude<=this.scaled.radius+Math.max(r.x,r.y)}},i}(u),Se=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.mousePressed=!1,e.position=new Xt,e}return e(i,t),i.prototype.start=function(){this.camera=this.getCurrentScene().gameCamera},i.prototype.update=function(){this.inputManager.mouse.leftButtonPressed&&!1===this.mousePressed&&(Xt.round(this.position,Xt.add(this.position,this.camera.transform.position,Xt.scale(this.position,this.inputManager.mouse.positionInViewport,1/this.camera.zoom))),console.log(\"Space position: {x: \".concat(this.position.x,\", y: \").concat(this.position.y,\"}\"))),this.mousePressed=this.inputManager.mouse.leftButtonPressed},i}(ne);export{Ce as Animator,Pe as AudioPlayer,ue as BallCollider,le as BoxCollider,Ae as Button,Ut as ButtonType,oe as Camera,l as Component,ge as EdgeCollider,Jt as Game,se as GameCamera,ne as GameObject,ie as LAYER_DEFAULT,xe as MaskRenderer,I as MaskShape,d as PhysicsComponent,he as PolygonCollider,ce as PolygonColliderRenderer,g as PreRenderComponent,ee as RigidBody,vt as RigidBodyType,ae as Scene,Se as SpacePointer,Re as Sprite,ye as SpriteRenderer,G as TextOrientation,ve as TextRenderer,_e as TiledTilemapRenderer,de as TilemapCollider,we as TilemapRenderer,Zt as Transform,Me as VideoRenderer};\n//# sourceMappingURL=index.esm.js.map\n","var t=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,n){return t.set(e.x+n.x,e.y+n.y),t},t.subtract=function(t,e,n){return t.set(e.x-n.x,e.y-n.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,n){return t.set(e.x*n,e.y*n),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}();!function(){function e(e,n,i,r){this._position=new t,this._center=new t,this._width=0,this._height=0,this.set(e,n,i,r)}Object.defineProperty(e.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),e.prototype.set=function(t,e,n,i){this._position.set(t,e),this._width=n,this._height=i},e.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},e.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},e.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},e.prototype.contains=function(n){return n instanceof e?n.x1<=this.x1&&n.x>=this.x&&n.y1<=this.y1&&n.y>=this.y:n instanceof t&&!(n.x<this.x||n.y<this.y||n.x>=this.x1||n.y>=this.y1)}}(),function(){function e(e,n){void 0===e&&(e=null),void 0===n&&(n=null),this._degrees=0,this._radians=0,this._direction=new t,e?this.radians=e:n&&(this.degrees=n)}Object.defineProperty(e.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),e.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}();var e=function(){function t(){var t=this;this.gamepads=new Map,this.eventHandler=function(e){\"gamepadconnected\"===e.type?t.gamepadConnected(e.gamepad):\"gamepaddisconnected\"===e.type&&t.gamepadDisconected(e.gamepad)},window.addEventListener(\"gamepadconnected\",this.eventHandler),window.addEventListener(\"gamepaddisconnected\",this.eventHandler)}return t.prototype.getGamepad=function(t){var e;return null!==(e=this.gamepads.get(t))&&void 0!==e?e:null},t.prototype.getGamepads=function(){return Array.from(this.gamepads.values())},t.prototype.gamepadConnected=function(t){this.gamepads.set(t.index,new n),this.gamepads.get(t.index).updateFromGamepad(t)},t.prototype.gamepadDisconected=function(t){this.gamepads.delete(t.index)},t.prototype.update=function(){for(var t=0,e=this.getGamepadsFromBrowser();t<e.length;t++){var n=e[t];null!==n&&(!1===this.gamepads.has(n.index)?this.gamepadConnected(n):this.gamepads.get(n.index).updateFromGamepad(n))}},t.prototype.getGamepadsFromBrowser=function(){return navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:[]},t}(),n=function(){function e(){this.buttons=new Map,this.axes=new Map,this._dpadAxes=new t,this._leftStickAxes=new t,this._rightStickAxes=new t,this._vibrating=!1}return e.prototype.updateFromGamepad=function(t){var e=this;this._gamepad=t,t.buttons.forEach((function(t,n){return e.buttons.set(n,t.pressed)})),t.axes.forEach((function(t,n){return e.axes.set(n,t)}))},Object.defineProperty(e.prototype,\"id\",{get:function(){return this._gamepad.id},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"connected\",{get:function(){return this._gamepad.connected},enumerable:!1,configurable:!0}),e.prototype.getButtonPressed=function(t){return this.buttons.get(t)},e.prototype.getAxis=function(t){return this.axes.get(t)},Object.defineProperty(e.prototype,\"dpadAxes\",{get:function(){return this._dpadAxes.set(this.dpadRight?1:this.dpadLeft?-1:0,this.dpadUp?1:this.dpadDown?-1:0),this._dpadAxes},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftStickAxes\",{get:function(){return this._leftStickAxes.set(this.leftStickHorizontal,this.leftStickVertical),this._leftStickAxes},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightStickAxes\",{get:function(){return this._rightStickAxes.set(this.rightStickHorizontal,this.rightStickVertical),this._rightStickAxes},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dpadUp\",{get:function(){var t;return null!==(t=this.buttons.get(12))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dpadDown\",{get:function(){var t;return null!==(t=this.buttons.get(13))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dpadLeft\",{get:function(){var t;return null!==(t=this.buttons.get(14))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dpadRight\",{get:function(){var t;return null!==(t=this.buttons.get(15))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"bottomFace\",{get:function(){var t;return null!==(t=this.buttons.get(0))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightFace\",{get:function(){var t;return null!==(t=this.buttons.get(1))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftFace\",{get:function(){var t;return null!==(t=this.buttons.get(2))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"topFace\",{get:function(){var t;return null!==(t=this.buttons.get(3))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftShoulder\",{get:function(){var t;return null!==(t=this.buttons.get(4))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightShoulder\",{get:function(){var t;return null!==(t=this.buttons.get(5))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftTrigger\",{get:function(){var t;return null!==(t=this.buttons.get(6))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightTrigger\",{get:function(){var t;return null!==(t=this.buttons.get(7))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"back\",{get:function(){var t;return null!==(t=this.buttons.get(8))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"start\",{get:function(){var t;return null!==(t=this.buttons.get(9))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftStickButton\",{get:function(){var t;return null!==(t=this.buttons.get(10))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightStickButton\",{get:function(){var t;return null!==(t=this.buttons.get(11))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftStickHorizontal\",{get:function(){var t;return null!==(t=this.axes.get(0))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftStickVertical\",{get:function(){var t;return null!==(t=-this.axes.get(1))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightStickHorizontal\",{get:function(){var t;return null!==(t=this.axes.get(2))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightStickVertical\",{get:function(){var t;return null!==(t=-this.axes.get(3))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"anyButtonPressed\",{get:function(){var t;return null!==(t=Array.from(this.buttons.values()).find((function(t){return t})))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"vibrating\",{get:function(){return this._vibrating},enumerable:!1,configurable:!0}),e.prototype.vibrate=function(t,e,n,i){var r=this;void 0===t&&(t=200),void 0===e&&(e=.2),void 0===n&&(n=.2),void 0===i&&(i=0),this._gamepad.vibrationActuator&&(this._vibrating=!0,this._gamepad.vibrationActuator.playEffect(this._gamepad.vibrationActuator.type,{duration:t,weakMagnitude:e,strongMagnitude:n,startDelay:i}).catch((function(){return r._vibrating=!1})).finally((function(){return r._vibrating=!1})))},e}(),i=function(){function t(t,e,n,i){this.mouse=t,this.keyboard=e,this.gamepad=n,this.touch=i}return t.prototype.update=function(){this.mouse.update(),this.gamepad.update()},t}(),r=function(){function t(t){var e=this;this.pressedKeys=[],this.keyMap=new Map,this.eventHandler=function(t){if(\"keydown\"===t.type&&(e.keyMap.set(t.code,!0),e.pressedKeys.includes(t.code)||e.pressedKeys.push(t.code)),\"keyup\"===t.type){e.keyMap.set(t.code,!1);var n=e.pressedKeys.indexOf(t.code);-1!==n&&e.pressedKeys.splice(n,1)}},t.addEventListener(\"keydown\",this.eventHandler),t.addEventListener(\"keyup\",this.eventHandler)}return t.prototype.isPressed=function(t){var e;return null!==(e=this.keyMap.get(t))&&void 0!==e&&e},t.prototype.orPressed=function(t){var e=this;return t.reduce((function(t,n){var i;return t||null!==(i=e.keyMap.get(n))&&void 0!==i&&i}),!1)},t.prototype.andPressed=function(t){var e=this;return t.reduce((function(t,n){var i;return t&&null!==(i=e.keyMap.get(n))&&void 0!==i&&i}),!0)},t.prototype.isPressedReturn=function(t,e,n){return this.keyMap.get(t)?e:n},t.prototype.orPressedReturn=function(t,e,n){var i=this;return t.reduce((function(t,e){var n;return t||null!==(n=i.keyMap.get(e))&&void 0!==n&&n}),!1)?e:n},t.prototype.andPressedReturn=function(t,e,n){var i=this;return t.reduce((function(t,e){var n;return t&&null!==(n=i.keyMap.get(e))&&void 0!==n&&n}),!0)?e:n},t}(),o=function(){function e(e){this._leftButtonPressed=!1,this._scrollButtonPressed=!1,this._rightButtonPressed=!1,this._positionInViewport=new t,this._hasMoved=!1,this._wheelScroll=new t,this.lastPositionInViewport=new t,this.canvas=e,this.setup()}return Object.defineProperty(e.prototype,\"leftButtonPressed\",{get:function(){return this._leftButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scrollButtonPressed\",{get:function(){return this._scrollButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightButtonPressed\",{get:function(){return this._rightButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"positionInViewport\",{get:function(){return this._positionInViewport},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"hasMoved\",{get:function(){return this._hasMoved},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"wheelScroll\",{get:function(){return this._wheelScroll},enumerable:!1,configurable:!0}),e.prototype.update=function(){!1===this._positionInViewport.equals(this.lastPositionInViewport)?(this._hasMoved=!0,this.lastPositionInViewport.copy(this._positionInViewport)):this._hasMoved=!1,this.wheelEvent?(this._wheelScroll.set(this.wheelEvent.deltaX,this.wheelEvent.deltaY),this.wheelEvent=void 0):this._wheelScroll.set(0,0)},e.prototype.setup=function(){var t=this;this.canvas.addEventListener(\"mousemove\",(function(e){return t.updatePosition(e)})),this.canvas.addEventListener(\"mousedown\",(function(e){return t.updateButtonDown(e)})),this.canvas.addEventListener(\"mouseup\",(function(e){return t.updateButtonUp(e)})),this.canvas.addEventListener(\"wheel\",(function(e){return t.handleWheelEvent(e)}))},e.prototype.updateButtonDown=function(t){this.canvas.focus(),t.preventDefault(),t.stopPropagation(),this._leftButtonPressed=0===t.button,this._scrollButtonPressed=1===t.button,this._rightButtonPressed=2===t.button},e.prototype.updateButtonUp=function(t){t.preventDefault(),t.stopPropagation(),this._leftButtonPressed=0!==t.button&&this._leftButtonPressed,this._scrollButtonPressed=1!==t.button&&this._scrollButtonPressed,this._rightButtonPressed=2!==t.button&&this._rightButtonPressed},e.prototype.updatePosition=function(t){t.preventDefault(),t.stopPropagation(),this._positionInViewport.set(t.offsetX/(this.canvas.clientWidth/this.canvas.width)-this.canvas.width/2,-t.offsetY/(this.canvas.clientHeight/this.canvas.height)+this.canvas.height/2)},e.prototype.handleWheelEvent=function(t){t.preventDefault(),t.stopPropagation(),this.wheelEvent=t},e}(),s=function(){function e(t){var e=this;this._touching=!1,this._interactions=[],this.eventHandler=function(t){\"touchstart\"===t.type&&(e._touching=!0,e.updatePosition(t)),\"touchmove\"===t.type&&e.updatePosition(t),\"touchend\"!==t.type&&\"touchcancel\"!==t.type||(e._touching=!1)},this.canvas=t,this.canvas.addEventListener(\"touchstart\",this.eventHandler),this.canvas.addEventListener(\"touchend\",this.eventHandler),this.canvas.addEventListener(\"touchcancel\",this.eventHandler),this.canvas.addEventListener(\"touchmove\",this.eventHandler)}return Object.defineProperty(e.prototype,\"touching\",{get:function(){return this._touching},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"interactions\",{get:function(){return this._interactions},enumerable:!1,configurable:!0}),e.prototype.updatePosition=function(e){if(e.preventDefault(),e.stopPropagation(),this._interactions=[],0!==e.targetTouches.length)for(var n=0;n<e.targetTouches.length;n++)this._interactions[n]={positionInViewport:new t((e.targetTouches[n].clientX-this.canvas.offsetLeft)/(this.canvas.clientWidth/this.canvas.width)-this.canvas.width/2,-(e.targetTouches[n].clientY-this.canvas.offsetTop)/(this.canvas.clientHeight/this.canvas.height)+this.canvas.height/2),radius:new t(e.targetTouches[n].radiusX,e.targetTouches[n].radiusY)}},e}(),u=function(t){return new i(new o(t),new r(t),new e,new s(t))};export{e as GamepadController,n as GamepadData,r as KeyboardController,o as MouseController,s as TouchController,u as inputManagerFactory};\n//# sourceMappingURL=index.esm.js.map\n","var t=function(){function t(t,i){void 0===t&&(t=0),void 0===i&&(i=0),this._x=t,this._y=i}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,i){this._x=t,this._y=i},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,i,e){return t.set(i.x+e.x,i.y+e.y),t},t.subtract=function(t,i,e){return t.set(i.x-e.x,i.y-e.y),t},t.unit=function(t,i){return 0===i.magnitude?t.set(0,0):t.set(i.x/i.magnitude,i.y/i.magnitude),t},t.normal=function(t,i){return t.set(-i.y,i.x),this.unit(t,t)},t.scale=function(t,i,e){return t.set(i.x*e,i.y*e),t},t.dot=function(t,i){return t.x*i.x+t.y*i.y},t.cross=function(t,i){return t.x*i.y-t.y*i.x},t.round=function(t,i){return t.set(Math.round(i.x),Math.round(i.y)),t},t}(),i=function(){function i(i,e,o,n){this._position=new t,this._center=new t,this._width=0,this._height=0,this.set(i,e,o,n)}return Object.defineProperty(i.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),i.prototype.set=function(t,i,e,o){this._position.set(t,i),this._width=e,this._height=o},i.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},i.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},i.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},i.prototype.contains=function(e){return e instanceof i?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof t&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)},i}(),e=function(t,i,e){return Math.min(e,Math.max(i,t))};!function(){function i(i,e){void 0===i&&(i=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new t,i?this.radians=i:e&&(this.degrees=e)}Object.defineProperty(i.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),i.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}();var o,n=function(){function i(){}return i.prototype.create=function(i){var e=i.shape,o=i.layer,n=i.updateCollisions,s=i.physics,r=i.position,h=i.rotation,a=i.group,c=i.onCollision;return{id:0,active:!0,layer:o,shape:e,updateCollisions:n,physics:s,position:null!=r?r:new t,rotation:null!=h?h:0,group:a,onCollision:c}},i}(),s=function(){function t(t,e){void 0===e&&(e=0),this.area=new i(0,0,0,0),this.depth=0,this.items=[],this.children=[],this.depth=e,this.resize(t)}return t.prototype.resize=function(t){this.clear(),this.area.copy(t)},t.prototype.clear=function(){this.items=[],this.children.forEach((function(t){return t.clear()})),this.children=[]},t.prototype.insert=function(t,i){0===this.children.length&&this.items.length>16&&this.depth<8&&this.split(),this.children.length>0?this.insertItemIntoChildren(t,i):this.items.push([t,i])},t.prototype.split=function(){var e=this,o=this.area.width/2,n=this.area.height/2;this.children=[new i(this.area.x,this.area.y,o,n),new i(this.area.x,this.area.y+n,o,n),new i(this.area.x+o,this.area.y+n,o,n),new i(this.area.x+o,this.area.y,o,n)].map((function(i){return new t(i,e.depth+1)})),this.items.forEach((function(t){return e.insertItemIntoChildren(t[0],t[1])})),this.items=[]},t.prototype.insertItemIntoChildren=function(t,i){this.getChildrenForArea(i).forEach((function(e){return e.insert(t,i)}))},t.prototype.retrieve=function(t){var i=[];return this.children.length>0?this.getChildrenForArea(t).forEach((function(e){return i.push.apply(i,e.retrieve(t))})):this.items.forEach((function(t){return i.push(t[0])})),i},t.prototype.getChildrenForArea=function(t){var i=[];return t.x<=this.area.center.x&&t.y<=this.area.center.y&&i.push(this.children[0]),t.x<=this.area.center.x&&t.y1>=this.area.center.y&&i.push(this.children[1]),t.x1>=this.area.center.x&&t.y1>=this.area.center.y&&i.push(this.children[2]),t.x1>=this.area.center.x&&t.y<=this.area.center.y&&i.push(this.children[3]),i},t}(),r=function(t,i,e,o){return Math.min((t-i)/e|0,o-1)},h=function(){function t(t){this.coordinates={x0:0,x1:0,y0:0,y1:0},this._subdivisions=1,this.resize(t)}return Object.defineProperty(t.prototype,\"subdivisions\",{get:function(){return this._subdivisions},set:function(t){this._subdivisions=e(t,1,20)},enumerable:!1,configurable:!0}),t.prototype.resize=function(t){this.area=t,this.cellWidth=Math.ceil(t.width/this._subdivisions),this.cellHeight=Math.ceil(t.height/this._subdivisions),this.itemsInCells=[];for(var i=0;i<this._subdivisions;i++){this.itemsInCells[i]=[];for(var e=0;e<this._subdivisions;e++)this.itemsInCells[i][e]=[]}},t.prototype.clear=function(){for(var t=0;t<this._subdivisions;t++)for(var i=0;i<this._subdivisions;i++)this.itemsInCells[t][i]=[]},t.prototype.insert=function(t,i){this.updateCoordinates(i);for(var e=this.coordinates.x0;e<=this.coordinates.x1;e++)for(var o=this.coordinates.y0;o<=this.coordinates.y1;o++)this.itemsInCells[e][o].push(t)},t.prototype.retrieve=function(t){var i=[];this.updateCoordinates(t);for(var e=this.coordinates.x0;e<=this.coordinates.x1;e++)for(var o=this.coordinates.y0;o<=this.coordinates.y1;o++)this.itemsInCells[e][o].forEach((function(t){return i.includes(t)?null:i.push(t)}));return i},t.prototype.updateCoordinates=function(t){this.coordinates.x0=r(t.x,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.x1=r(t.x1,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.y0=r(t.y,this.area.y,this.cellHeight,this._subdivisions),this.coordinates.y1=r(t.y1,this.area.y,this.cellHeight,this._subdivisions)},t}();!function(t){t[t.QuadTree=0]=\"QuadTree\",t[t.SpartialGrid=1]=\"SpartialGrid\"}(o||(o={}));var a,c=function(){function e(e,n,s,r){this.collisions=[],this.lastCollidersAmount=0,this.minArea=new t,this.maxArea=new t,this.newArea=new i(0,0,0,0),this.method=e,this.colliders=[],this.activeColliders=[],this.collisionMatrix=r,this.setupBroadPhaseResolver(null!=n?n:o.QuadTree,s)}return e.prototype.setupBroadPhaseResolver=function(t,e){this.collisionArea=null!=e?e:new i(0,0,0,0),this.fixedCollisionArea=!!e,t===o.SpartialGrid?this.broadPhaseResolver=new h(this.collisionArea):this.broadPhaseResolver=new s(this.collisionArea)},e.prototype.addCollider=function(t){t.id=this.colliders.length,this.colliders.push(t)},e.prototype.getCollider=function(t){return this.colliders[t]},e.prototype.removeCollider=function(t){this.colliders.splice(t.id,1),this.colliders.forEach((function(t,i){return t.id=i}))},e.prototype.clearColliders=function(){this.colliders=[]},e.prototype.getCollisionsForCollider=function(t){return t.active?this.collisions.filter((function(i){return i.localCollider.id===t.id})):[]},e.prototype.getCollisionsForColliderAndLayer=function(t,i){return t.active?this.collisions.filter((function(e){return e.localCollider.id===t.id&&e.remoteCollider.layer===i})):[]},e.prototype.refreshCollisionsForCollider=function(t){this.colliders[t.id]&&t.active&&(this.collisions=this.collisions.filter((function(i){return i.localCollider.id!==t.id&&i.remoteCollider.id!==t.id})),this.updateShape(t),this.narrowPhase(t,this.broadPhase(t)))},e.prototype.resolve=function(){var t=this;this.collisions=[],0!==this.colliders.length&&(this.activeColliders=this.colliders.filter((function(t){return t.active})),this.broadPhaseResolver.clear(),this.activeColliders.forEach((function(i){t.updateShape(i)})),!1===this.fixedCollisionArea&&(this.updateNewArea(),!1===this.newArea.equals(this.collisionArea)&&(this.collisionArea.copy(this.newArea),this.broadPhaseResolver.resize(this.collisionArea))),this.checkForSpartialGridResize(),this.activeColliders.forEach((function(i){var e=i.id,o=i.shape.boundingBox;return t.broadPhaseResolver.insert(e,o)})),this.updateCollisions())},e.prototype.updateShape=function(t){t.shape.position=t.position,t.shape.rotation=t.rotation,t.shape.update()},e.prototype.updateNewArea=function(){var t=this;this.activeColliders.forEach((function(i){var e=i.shape.boundingBox;t.minArea.set(Math.min(e.x,t.minArea.x),Math.min(e.y,t.minArea.y)),t.maxArea.set(Math.max(e.x1,t.maxArea.x),Math.max(e.y1,t.maxArea.y))})),this.newArea.set(this.minArea.x,this.minArea.y,this.maxArea.x-this.minArea.x,this.maxArea.y-this.minArea.y)},e.prototype.checkForSpartialGridResize=function(){this.broadPhaseResolver instanceof h&&this.lastCollidersAmount!==this.activeColliders.length&&(this.broadPhaseResolver.subdivisions=1+(this.activeColliders.length/10|0),this.broadPhaseResolver.resize(this.collisionArea),this.lastCollidersAmount=this.activeColliders.length)},e.prototype.updateCollisions=function(){var t=this;this.activeColliders.filter((function(t){return t.updateCollisions})).forEach((function(i){return t.narrowPhase(i,t.broadPhase(i))}))},e.prototype.broadPhase=function(t){var i=this;return this.collisionMatrix?this.broadPhaseResolver.retrieve(t.shape.boundingBox).map((function(t){return i.colliders[t]})).filter((function(t){return t.active})).filter((function(e){return i.collisionMatrix.some((function(i){return i[0]===t.layer&&i[1]===e.layer||i[1]===t.layer&&i[0]===e.layer}))})):this.broadPhaseResolver.retrieve(t.shape.boundingBox).map((function(t){return i.colliders[t]})).filter((function(t){return t.active}))},e.prototype.narrowPhase=function(t,i){var e=this;i.filter((function(i){return!(t.group&&i.group&&i.group===t.group||t.id===i.id)})).forEach((function(i){if(!e.isResolved(t,i)){var o=e.method.getCollisionResolution(t.shape,i.shape);null!==o&&(e.collisions.push({localCollider:t,remoteCollider:i,resolution:o},{localCollider:i,remoteCollider:t,resolution:{direction:o.displacementDirection,displacementDirection:o.direction,penetration:o.penetration}}),t.onCollision&&t.onCollision(o))}}))},e.prototype.isResolved=function(t,i){for(var e=0,o=this.collisions;e<o.length;e++){var n=o[e];if(n.localCollider.id===t.id&&n.remoteCollider.id===i.id)return!0}return!1},e}();!function(t){t[t.Polygon=0]=\"Polygon\",t[t.Circumference=1]=\"Circumference\",t[t.Line=2]=\"Line\"}(a||(a={}));var l,u=function(){function t(t,i,e){this.AABBResolver=t,this.circumferenceAABBResolver=i,this.circumferenceResolver=e}return t.prototype.getCollisionResolution=function(t,i){return t.type===a.Polygon&&i.type===a.Polygon?this.AABBResolver.resolve(t,i):t.type===a.Circumference&&i.type===a.Polygon?this.circumferenceAABBResolver.resolve(t,i):t.type===a.Polygon&&i.type===a.Circumference?this.circumferenceAABBResolver.resolve(i,t,!0):t.type===a.Circumference&&i.type===a.Circumference?this.circumferenceResolver.resolve(t,i):null},t}();!function(t){t[t.AABB=0]=\"AABB\",t[t.SAT=1]=\"SAT\"}(l||(l={}));var p=function(){function t(t,i){this.circumferenceResolver=t,this.satResolver=i}return t.prototype.getCollisionResolution=function(t,i){return t.type===a.Circumference&&i.type===a.Circumference?this.circumferenceResolver.resolve(t,i):this.satResolver.resolve(t,i)},t}(),d=function(){function i(){this.direction=new t,this.displacementDirection=new t}return i.prototype.resolve=function(i,e){var o=i.boundingBox,n=e.boundingBox;return this.overlapX=Math.min(o.x1,n.x1)-Math.max(o.x,n.x),this.overlapY=Math.min(o.y1,n.y1)-Math.max(o.y,n.y),this.overlapX<0||this.overlapY<0?null:(this.checkOverlapForLines(o,n),this.direction.set(Math.sign(n.center.x-o.center.x),Math.sign(n.center.y-o.center.y)),this.preventContainment(o,n),this.overlapY<this.overlapX?(this.minOverlap=this.overlapY,this.displacementDirection.set(0,-this.direction.y)):(this.minOverlap=this.overlapX,this.displacementDirection.set(-this.direction.x,this.overlapY===this.overlapX?-this.direction.y:0)),t.unit(this.displacementDirection,this.displacementDirection),{direction:t.scale(new t,this.displacementDirection,-1),displacementDirection:this.displacementDirection.clone(),penetration:this.minOverlap})},i.prototype.checkOverlapForLines=function(t,i){0!==t.width&&0!==i.width||0!==this.overlapX||(this.overlapX=Math.min(Math.abs(t.x-i.x),Math.abs(t.x1-i.x1))),0!==t.height&&0!==i.height||0!==this.overlapY||(this.overlapY=Math.min(Math.abs(t.y-i.y),Math.abs(t.y1-i.y1)))},i.prototype.preventContainment=function(t,i){if(this.overlapY>0&&(t.y1>i.y1&&t.y<i.y||t.y1<i.y1&&t.y>i.y)){var e=Math.abs(t.y-i.y),o=Math.abs(t.y1-i.y1);this.overlapY+=e<o?e:o}if(this.overlapX>0&&(t.x1>i.x1&&t.x<i.x||t.x1<i.x1&&t.x>i.x)){e=Math.abs(t.x-i.x),o=Math.abs(t.x1-i.x1);this.overlapX+=e<o?e:o}},i}(),f=function(){function i(){this.closestPoint=new t,this.distance=new t,this.direction=new t}return i.prototype.resolve=function(i,o,n){return void 0===n&&(n=!1),this.closestPoint.set(e(i.position.x,o.boundingBox.x,o.boundingBox.x1),e(i.position.y,o.boundingBox.y,o.boundingBox.y1)),t.subtract(this.distance,this.closestPoint,i.position),this.distance.magnitude>i.radius?null:(t.unit(this.direction,this.distance),{direction:n?t.scale(new t,this.direction,-1):this.direction.clone(),displacementDirection:n?this.direction.clone():t.scale(new t,this.direction,-1),penetration:i.radius-this.distance.magnitude})},i}(),y=function(){function i(){this.distance=new t,this.direction=new t}return i.prototype.resolve=function(i,e){return t.subtract(this.distance,e.position,i.position),this.distance.magnitude>i.radius+e.radius?null:(t.unit(this.direction,this.distance),{direction:this.direction.clone(),displacementDirection:t.scale(new t,this.direction,-1),penetration:i.radius+e.radius-this.distance.magnitude})},i}(),x=function(t,i){return x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e])},x(t,i)};function v(t,i,e){if(e||2===arguments.length)for(var o,n=0,s=i.length;n<s;n++)!o&&n in i||(o||(o=Array.prototype.slice.call(i,0,n)),o[n]=i[n]);return t.concat(o||Array.prototype.slice.call(i))}\"function\"==typeof SuppressedError&&SuppressedError;var m,g=function(){function i(){this.projA={min:0,max:0},this.projB={min:0,max:0},this.smallestAxis=new t,this.distance=new t(1/0,1/0),this.cache=new t}return i.prototype.resolve=function(i,e){var o=this;this.minOverlap=1/0,i.type===a.Circumference?this.setCircumferenceAxis(i,e):e.type===a.Circumference&&this.setCircumferenceAxis(e,i),this.axes=v([],i.projectionAxes,!0),e.projectionAxes.forEach((function(t){return o.axes.some((function(i){return i.equals(t)}))?null:o.axes.push(t)}));for(var n=0;n<this.axes.length;n++){if(i.type===a.Circumference?this.setCircumferenceVertices(i,this.axes[n]):e.type===a.Circumference&&this.setCircumferenceVertices(e,this.axes[n]),this.projectShapeOntoAxis(this.projA,i,this.axes[n]),this.projectShapeOntoAxis(this.projB,e,this.axes[n]),this.currentOverlap=Math.min(this.projA.max,this.projB.max)-Math.max(this.projA.min,this.projB.min),this.currentOverlap<0)return null;if(this.invertAxis=!0,this.projA.max>this.projB.max&&this.projA.min<this.projB.min||this.projA.max<this.projB.max&&this.projA.min>this.projB.min){var s=Math.abs(this.projA.min-this.projB.min),r=Math.abs(this.projA.max-this.projB.max);s<r?this.currentOverlap+=s:(this.currentOverlap+=r,t.scale(this.axes[n],this.axes[n],-1),this.invertAxis=!1)}this.currentOverlap<this.minOverlap&&(this.minOverlap=this.currentOverlap,this.smallestAxis.copy(this.axes[n]),this.invertAxis&&this.projA.max<this.projB.max&&t.scale(this.smallestAxis,this.axes[n],-1))}return{direction:t.scale(new t,this.smallestAxis,-1),displacementDirection:this.smallestAxis.clone(),penetration:this.minOverlap}},i.prototype.projectShapeOntoAxis=function(i,e,o){return i.min=1/0,i.max=-1/0,e.vertices.forEach((function(e){i.min=Math.min(t.dot(o,e),i.min),i.max=Math.max(t.dot(o,e),i.max)})),i},i.prototype.setCircumferenceAxis=function(i,e){var o=this;this.distance.set(1/0,1/0),e.vertices.forEach((function(e){t.subtract(o.cache,e,i.position),o.cache.magnitude<o.distance.magnitude&&o.distance.copy(o.cache)})),t.unit(i.projectionAxes[0],this.distance)},i.prototype.setCircumferenceVertices=function(i,e){t.add(i.vertices[0],i.position,t.scale(this.cache,t.unit(this.cache,e),-i.radius)),t.add(i.vertices[1],i.position,t.scale(this.cache,t.unit(this.cache,e),i.radius))},i}(),b=function(){function t(t,i,e,o){this.collisionManager=t,this.colliderFactory=i,this.rigidBodyManager=e,this.rigidBodyFactory=o}return t.prototype.addCollider=function(t){var i=this.colliderFactory.create(t);return this.collisionManager.addCollider(i),i},t.prototype.removeCollider=function(t){this.collisionManager.removeCollider(t)},t.prototype.getCollisionsForCollider=function(t){return this.collisionManager.getCollisionsForCollider(t)},t.prototype.getCollisionsForColliderAndLayer=function(t,i){return this.collisionManager.getCollisionsForColliderAndLayer(t,i)},t.prototype.addRigidBody=function(t){var i=this.rigidBodyFactory.create(t);return this.rigidBodyManager.addRigidBody(i),i},t.prototype.removeRigidBody=function(t){this.rigidBodyManager.removeRigidBody(t)},t.prototype.resolve=function(t){this.collisionManager.resolve(),this.rigidBodyManager.resolve(t)},t.prototype.clear=function(){this.collisionManager.clearColliders(),this.rigidBodyManager.clearRigidBodies()},t}(),M=function(){function i(){}return i.prototype.create=function(i){var e=i.colliderIds,o=i.type,n=i.gravity,s=i.position,r=i.velocity,h=i.onResolve;if(0===e.length)throw new Error(\"RigidBody needs at least one collider\");return{active:!0,colliderIds:e,type:o,gravity:null!=n?n:0,position:null!=s?s:new t,velocity:null!=r?r:new t,onResolve:h}},i}();!function(t){t[t.Static=0]=\"Static\",t[t.Dynamic=1]=\"Dynamic\",t[t.Kinematic=2]=\"Kinematic\"}(m||(m={}));var A=[\"x\",\"y\"],C=function(){function i(i){this.collisionManager=i,this.rigidBodies=[],this.activeRigidBodies=[],this.colliders=[],this.velocity=new t,this.displacement=new t,this.cacheDisplacement=0}return i.prototype.addRigidBody=function(t){this.rigidBodies.push(t)},i.prototype.removeRigidBody=function(t){var i=this.rigidBodies.indexOf(t);i>=0&&this.rigidBodies.splice(i,1)},i.prototype.clearRigidBodies=function(){this.rigidBodies=[]},i.prototype.resolve=function(t){var i=this;this.activeRigidBodies=this.rigidBodies.filter((function(t){return t.active})),this.colliders=this.activeRigidBodies.reduce((function(t,i){return v(v([],t,!0),i.colliderIds,!0)}),[]),this.activeRigidBodies.forEach((function(e){e.type===m.Dynamic?i.dynamicUpdate(e,t):e.type===m.Kinematic&&i.kinematicUpdate(e,t),e.onResolve&&e.onResolve(e)}))},i.prototype.dynamicUpdate=function(t,i){var e=this;this.applyGravity(t,i),A.forEach((function(o){e.applyVelocity(t,i,o),e.obtainDisplacement(t,o),e.applyReposition(t,o)}))},i.prototype.kinematicUpdate=function(i,e){var o=this;t.add(i.position,i.position,t.scale(this.velocity,i.velocity,e)),i.colliderIds.map((function(t){return o.collisionManager.getCollider(t)})).forEach((function(i){t.add(i.position,i.position,o.velocity),o.collisionManager.refreshCollisionsForCollider(i)}))},i.prototype.applyGravity=function(t,i){t.gravity>0&&(t.velocity.y-=t.gravity*i)},i.prototype.applyVelocity=function(t,i,e){var o=this;this.velocity[e]=t.velocity[e]*i,0!==this.velocity[e]&&(t.position[e]+=this.velocity[e],t.colliderIds.map((function(t){return o.collisionManager.getCollider(t)})).forEach((function(t){t.position[e]+=o.velocity[e],o.collisionManager.refreshCollisionsForCollider(t)})))},i.prototype.obtainDisplacement=function(t,i){var e=this;this.displacement[i]=0,this.getCollisions(t).forEach((function(t){e.cacheDisplacement=t.resolution.displacementDirection[i]*t.resolution.penetration,e.displacement[i]=Math.abs(e.displacement[i])>Math.abs(e.cacheDisplacement)?e.displacement[i]:e.cacheDisplacement}))},i.prototype.applyReposition=function(t,i){var e=this;0!==this.displacement[i]&&(t.position[i]+=this.displacement[i],t.colliderIds.map((function(t){return e.collisionManager.getCollider(t)})).forEach((function(t){t.position[i]+=e.displacement[i],e.collisionManager.refreshCollisionsForCollider(t)})),Math.sign(this.displacement[i])!==Math.sign(t.velocity[i])&&(t.velocity[i]=0))},i.prototype.getCollisions=function(t){var i=this;return t.colliderIds.map((function(t){return i.collisionManager.getCollider(t)})).filter((function(t){return t.active&&t.physics})).reduce((function(t,e){return t.push.apply(t,i.collisionManager.getCollisionsForCollider(e).filter((function(t){return t.remoteCollider.physics&&i.colliders.includes(t.remoteCollider.id)}))),t}),[])},i}(),_=function(){function e(e){this.radius=e,this.type=a.Circumference,this.boundingBox=new i(0,0,0,0),this.vertices=[new t,new t],this.projectionAxes=[new t],this._position=new t}return Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),e.prototype.update=function(){this.updateBoundingBox()},e.prototype.updateBoundingBox=function(){this.boundingBox.set(this.position.x-this.radius,this.position.y-this.radius,2*this.radius,2*this.radius)},e}(),w=function(){function e(e){this.vertexModel=e,this.type=a.Polygon,this.vertices=[new t,new t],this.projectionAxes=[new t],this.boundingBox=new i(0,0,0,0),this.rotation=0,this._position=new t}return e.prototype.update=function(){this.updateVertices(),this.updateBoundingBox(),this.updateProjectionAxes()},Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),e.prototype.updateVertices=function(){for(var t=0;t<this.vertexModel.length;t++)this.vertices[t].set(this.vertexModel[t].x*Math.cos(this.rotation)-this.vertexModel[t].y*Math.sin(this.rotation)+this._position.x,this.vertexModel[t].x*Math.sin(this.rotation)+this.vertexModel[t].y*Math.cos(this.rotation)+this._position.y)},e.prototype.updateBoundingBox=function(){this.boundingBox.x=Math.min(this.vertices[0].x,this.vertices[1].x),this.boundingBox.y=Math.min(this.vertices[0].y,this.vertices[1].y),this.boundingBox.width=Math.max(this.vertices[0].x,this.vertices[1].x)-this.boundingBox.x,this.boundingBox.height=Math.max(this.vertices[0].y,this.vertices[1].y)-this.boundingBox.y},e.prototype.updateProjectionAxes=function(){t.normal(this.projectionAxes[0],t.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0]))},e}(),B=function(){function e(e){this.vertexModel=e,this.type=a.Polygon,this.vertices=[],this.boundingBox=new i(0,0,0,0),this.rotation=0,this._projectionAxes=[],this._position=new t,this.boxMinX=Number.MAX_SAFE_INTEGER,this.boxMinY=Number.MAX_SAFE_INTEGER,this.boxMaxX=-Number.MAX_SAFE_INTEGER,this.boxMaxY=-Number.MAX_SAFE_INTEGER;for(var o=0;o<this.vertexModel.length;o++)this.vertices.push(new t),this._projectionAxes.push(new t)}return Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"projectionAxes\",{get:function(){return this._projectionAxes},enumerable:!1,configurable:!0}),e.prototype.update=function(){this.updateVertices(),this.updateBoundingBox(),this.updateProjectionAxes()},e.prototype.updateVertices=function(){for(var t=0;t<this.vertexModel.length;t++)this.vertices[t].set(this.vertexModel[t].x*Math.cos(this.rotation)-this.vertexModel[t].y*Math.sin(this.rotation)+this._position.x,this.vertexModel[t].x*Math.sin(this.rotation)+this.vertexModel[t].y*Math.cos(this.rotation)+this._position.y)},e.prototype.updateBoundingBox=function(){var t=this;this.boxMinX=this.vertices[0].x,this.boxMinY=this.vertices[0].y,this.boxMaxX=this.vertices[0].x,this.boxMaxY=this.vertices[0].y,this.vertices.forEach((function(i){t.boxMinX=Math.min(i.x,t.boxMinX),t.boxMinY=Math.min(i.y,t.boxMinY),t.boxMaxX=Math.max(i.x,t.boxMaxX),t.boxMaxY=Math.max(i.y,t.boxMaxY)})),this.boundingBox.set(this.boxMinX,this.boxMinY,this.boxMaxX-this.boxMinX,this.boxMaxY-this.boxMinY)},e.prototype.updateProjectionAxes=function(){for(var i,e=0;e<this.vertices.length;e++)t.normal(this._projectionAxes[e],t.subtract(this._projectionAxes[e],null!==(i=this.vertices[e+1])&&void 0!==i?i:this.vertices[0],this.vertices[e]))},e}(),j=function(i){function e(e,o){var n=i.call(this,[new t(-e/2,-o/2),new t(-e/2,o/2),new t(e/2,o/2),new t(e/2,-o/2)])||this;return n.width=e,n.height=o,n._projectionAxes=[new t,new t],n}return function(t,i){if(\"function\"!=typeof i&&null!==i)throw new TypeError(\"Class extends value \"+String(i)+\" is not a constructor or null\");function e(){this.constructor=t}x(t,i),t.prototype=null===i?Object.create(i):(e.prototype=i.prototype,new e)}(e,i),e.prototype.updateSize=function(t,i){this.width=t,this.height=i,this.vertexModel[0].set(-t/2,-i/2),this.vertexModel[1].set(-t/2,i/2),this.vertexModel[2].set(t/2,i/2),this.vertexModel[3].set(t/2,-i/2)},e.prototype.updateProjectionAxes=function(){t.unit(this.projectionAxes[0],t.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0])),t.normal(this.projectionAxes[1],this.projectionAxes[0])},e}(B),P=function(t){var i=void 0===t?{}:t,e=i.collisionArea,o=i.collisionMatrix,s=i.collisionMethod,r=i.collisionBroadPhaseMethod,h=new y,a=s===l.AABB?new u(new d,new f,h):new p(h,new g),x=new c(a,r,e,o),v=new n,m=new C(x),A=new M;return new b(x,v,m,A)};export{o as BroadPhaseMethods,_ as Circumference,l as CollisionMethods,w as Line,B as Polygon,j as Rectangle,m as RigidBodyType,P as physicsManagerFactory};\n//# sourceMappingURL=index.esm.js.map\n"],"names":["t","e","this","_x","_y","Object","defineProperty","prototype","get","set","enumerable","configurable","Math","sqrt","pow","_direction","unit","copy","x","y","equals","clone","distance","add","i","subtract","magnitude","normal","scale","dot","cross","round","n","o","_position","_center","_width","_height","width","height","position","overlaps","x1","y1","contains","r","h","_degrees","_radians","radians","degrees","PI","updateDirection","cos","sin","setPrototypeOf","__proto__","Array","hasOwnProperty","call","TypeError","String","constructor","create","assign","arguments","length","apply","slice","concat","SuppressedError","Init","Start","Update","UpdateEngine","UpdateCollider","UpdatePhysics","UpdateTransform","UpdatePreRender","UpdateCamera","UpdateRender","Destroy","StopGame","s","a","timeManager","physicsManager","renderManager","inputManager","gameObjectManager","sceneManager","canvasColor","running","gameLoopAccumulator","gameObjects","components","changingScene","sceneEvents","gameObjectEvents","start","startLoop","pause","resume","stop","dispatchFrameEvent","clear","clearScreen","loadOpeningScene","requestAnimationLoop","window","performance","now","gameFramerate","physicsFramerate","asyncPhysicsLoop","updateForBrowser","pendingSceneToload","loadPendingScene","browserDeltaTime","minGameDeltatime","gameLogicIteration","renderIteration","unloadCurrentScene","requestAnimationFrame","updateForGame","load","update","updateForPhysics","physicsIteration","render","clearData","timeScale","resolve","physicsDeltaTime","physicsIntervalId","setInterval","clearInterval","document","hidden","loadedScene","getLoadedScene","findGameObjects","filter","active","forEach","getComponents","push","includes","dispatch","c","updateEvent","started","container","gameConfig","getConstant","headless","assetManager","getSingleton","domManager","init","onDestroy","_destroy","_stopGame","addGameObject","findGameObject","findGameObjectsByTag","destroyGameObject","l","allowMultiple","_active","gameObject","name","onActiveChange","getCurrentScene","getGameObject","getComponent","hasComponent","removeComponent","keys","u","p","d","f","g","m","Polygon","Circumference","Line","WorldSpace","ViewPort","Sprite","Text","Tilemap","Mask","Geometric","Video","v","gl","viewport","object","setViewport","zoom","canvas","setObjectForResizeable","rotation","abs","setObjectForText","text","fontSize","lineSeparation","letterSpacing","split","reduce","max","setObjectForGeometric","vertexModel","shape","radius","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","min","setObjectForTilemap","tilemap","ceil","tiles","renderPosition","tileWidth","tileHeight","applyCullingInTiles","culledTiles","map","isInViewPort","location","type","applyCulling","b","M","_","Center","RightUp","RightDown","RightCenter","w","C","webglManager","cullingManager","renderData","cameraData","addRenderData","addCameraData","sort","depth","renderByCamera","layers","layer","indexOf","realWidth","realHeight","orientation","clearCanvas","preloadTexture","createTexture","LegacyWebGL","WebGL2","j","contextVersion","getContextVersion","Error","getContext","O","fontAtlas","Map","hasFontAtlas","has","symbol","getFontAtlas","getOrCreate","bitmapSize","chars","fromCharCode","renderAtlas","FontFace","family","Symbol","for","P","clearRect","textBaseline","fillStyle","font","fillText","glyphs","id","measureText","fontFaceFamily","bitmapFontSize","gridSize","createElement","R","shaderLoader","createProgram","VERTEX_SHADER","FRAGMENT_SHADER","attachShader","linkProgram","LINK_STATUS","getProgramParameter","getProgramInfoLog","deleteProgram","A","programFactory","loadProgram","program","positionBuffer","createBuffer","textureBuffer","positionCoordsAttr","getAttribLocation","texCoordsAttr","modelMatrixUniform","getUniformLocation","projectionMatrixUniform","textureMatrixUniform","renderTextureUniform","textureUniform","solidColorUniform","useTintColorUniform","tintColorUniform","useMaskColorUniform","maskColorUniform","maskColorMixUniform","alphaUniform","useProgram","blendFunc","SRC_ALPHA","ONE_MINUS_SRC_ALPHA","enableVertexAttribArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","S","createShader","shaderSource","compileShader","COMPILE_STATUS","getShaderParameter","getShaderInfoLog","deleteShader","E","Float32Array","T","D","F","B","U","hypot","I","L","exec","parseInt","V","k","programManager","vertices","lastVertices","projectionMatrix","modelMatrix","textureMatrix","circumferenceVertices","renderLines","LINE_LOOP","LINES","renderCircumference","generateVerticesKey","generatePolygonVertices","bufferData","DYNAMIC_DRAW","uniformMatrix4fv","uniform1i","color","uniform4f","uniform1f","drawArrays","toString","Rectangle","G","TextOrientation","W","rectangleVertices","lastShape","MaskShape","STATIC_DRAW","alpha","enable","BLEND","disable","TRIANGLES","TRIANGLE_FAN","H","textureManager","lastTexture","posVertices","texVertices","flipHorizontal","flipVertical","image","naturalWidth","naturalHeight","getOrCreateTextureFromImage","smooth","bindTexture","TEXTURE_2D","tintColor","maskColor","maskColorMix","z","N","Y","X","q","fontAtlasFactory","textSize","modelPosition","setDefaultValues","bitmap","charRanges","generateTextVertices","setPositionFromOrientation","getOrCreateTextureFromCanvas","margin","spacing","K","tileset","texMargin","texSpacing","texWidth","texHeight","texCorrection","processTileset","generateVertices","correction","floor","Q","video","videoWidth","videoHeight","getOrCreateTextureFromVideo","texImage2D","RGBA","UNSIGNED_BYTE","$","createFromImage","createFromSource","addEventListener","createFromCanvas","createPixelTexture","Uint8Array","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","LINEAR","TEXTURE_MAG_FILTER","NEAREST","J","textureFactory","textures","src","createTextureFromImage","createTextureFromCanvas","createTextureFromVideo","Z","renderers","lastRender","clearColor","COLOR_BUFFER_BIT","tt","et","it","nt","rt","updateCollisions","physics","group","onCollision","ot","area","items","children","resize","insert","insertItemIntoChildren","getChildrenForArea","retrieve","center","st","at","coordinates","x0","y0","_subdivisions","cellWidth","cellHeight","itemsInCells","updateCoordinates","QuadTree","SpartialGrid","ht","ct","collisions","lastCollidersAmount","minArea","maxArea","newArea","method","colliders","activeColliders","collisionMatrix","setupBroadPhaseResolver","collisionArea","fixedCollisionArea","broadPhaseResolver","addCollider","getCollider","removeCollider","splice","clearColliders","getCollisionsForCollider","localCollider","getCollisionsForColliderAndLayer","remoteCollider","refreshCollisionsForCollider","updateShape","narrowPhase","broadPhase","updateNewArea","checkForSpartialGridResize","boundingBox","subdivisions","some","isResolved","getCollisionResolution","resolution","direction","displacementDirection","penetration","lt","ut","AABBResolver","circumferenceAABBResolver","circumferenceResolver","AABB","SAT","pt","satResolver","dt","overlapX","overlapY","checkOverlapForLines","sign","preventContainment","minOverlap","ft","closestPoint","gt","mt","yt","vt","RigidBodyType","xt","projA","projB","smallestAxis","cache","setCircumferenceAxis","axes","projectionAxes","setCircumferenceVertices","projectShapeOntoAxis","currentOverlap","invertAxis","bt","collisionManager","colliderFactory","rigidBodyManager","rigidBodyFactory","addRigidBody","removeRigidBody","clearRigidBodies","Mt","colliderIds","gravity","velocity","onResolve","Static","Dynamic","Kinematic","_t","wt","rigidBodies","activeRigidBodies","displacement","cacheDisplacement","dynamicUpdate","kinematicUpdate","applyGravity","applyVelocity","obtainDisplacement","applyReposition","getCollisions","Ct","updateBoundingBox","jt","updateVertices","updateProjectionAxes","Ot","_projectionAxes","boxMinX","boxMinY","boxMaxX","boxMaxY","Pt","updateSize","Rt","At","St","gamepads","eventHandler","gamepadConnected","gamepad","gamepadDisconected","getGamepad","getGamepads","from","values","index","Et","updateFromGamepad","delete","getGamepadsFromBrowser","navigator","webkitGetGamepads","buttons","_dpadAxes","_leftStickAxes","_rightStickAxes","_vibrating","_gamepad","pressed","connected","getButtonPressed","getAxis","dpadRight","dpadLeft","dpadUp","dpadDown","leftStickHorizontal","leftStickVertical","rightStickHorizontal","rightStickVertical","find","vibrate","vibrationActuator","playEffect","duration","weakMagnitude","strongMagnitude","startDelay","catch","finally","Tt","mouse","keyboard","touch","Dt","pressedKeys","keyMap","code","isPressed","orPressed","andPressed","isPressedReturn","orPressedReturn","andPressedReturn","Ft","_leftButtonPressed","_scrollButtonPressed","_rightButtonPressed","_positionInViewport","_hasMoved","_wheelScroll","lastPositionInViewport","setup","wheelEvent","deltaX","deltaY","updatePosition","updateButtonDown","updateButtonUp","handleWheelEvent","focus","preventDefault","stopPropagation","button","offsetX","clientWidth","offsetY","clientHeight","Bt","_touching","_interactions","targetTouches","positionInViewport","clientX","offsetLeft","clientY","offsetTop","radiusX","radiusY","Image","Audio","Font","Ut","ButtonType","It","assets","getAssetsLoaded","loaded","loadImage","crossOrigin","createAsset","loadAudio","loadFont","then","fonts","loadVideo","playsInline","getImage","url","element","getAudio","getFont","getVideo","Lt","Vt","_canvas","containerNode","gameWidth","gameHeight","setupCanvas","tabIndex","appendChild","kt","lastId","findGameObjectById","findGameObjectsByParent","parent","findGameObjectByParent","tag","destroyAllGameObjects","keep","destroy","destroyChildren","Gt","asyncGameLoop","gameInterval","process","uptime","physicsInterval","Wt","scenes","sceneNamePendingToLoad","addScene","currentScene","openingSceneName","loadScene","Ht","zt","minPhysicsDeltaTime","unscaledDeltaTime","unscaledPhysicsDeltaTime","maxDeltaTime","thenForGame","thenForPhysics","thenForBrowser","join","parseFloat","toFixed","Yt","instances","constructors","constants","getTranscient","addConstant","Xt","qt","Kt","Qt","$t","debugEnabled","spriteDefaultScale","collisionMethod","collisionBroadPhaseMethod","Jt","_config","setupManagers","Nt","iterationManager","run","Zt","parentScale","parentRotation","_scale","_rotation","_innerPosition","_parent","lastParentRadians","lastPosition","scaledInnerPosition","setPositionFromParent","translateInnerPosition","updateScaledInnerPosition","atan2","te","renderer","activateColliders","updateRealSize","updateColliders","collidesWithLayer","collidesWithLayers","getCollisionWithLayer","createCollisionData","getCollisionsWithLayer","getCollisionsWithLayers","collider","ee","rigidBody","rigidBodyType","getColliderIds","transform","innerPosition","ne","ui","activeComponentsCache","activeChildrenCache","addComponent","updateComponentsActiveStatus","updateChildrenActiveStatus","getChildren","checkMultipleComponent","addChild","getChild","destroyComponents","re","oe","viewportRect","worldSpaceRect","_zoom","addLayer","updateViewportRect","updateWorldSpaceRect","updateCameraData","se","camera","ae","game","config","he","debug","scaledVertexModel","scaledOffset","scaledPosition","finalRotation","ce","translate","le","realOffset","realPosition","realRotation","applyRotation","ue","realRadius","pe","de","tilemapRenderer","composite","scaledTileWidth","scaledTileHeight","scaledWidth","scaledHeight","useLineColliders","useBoxColliders","fe","needsCollider","getNeighbors","hasTile","addLineCollider","ge","me","ye","cachePosition","cacheRenderPosition","cacheScale","sprite","offset","opacity","_tiled","tiled","updateRenderDataArray","updateRenderData","calculateRenderPosition","translateRenderPosition","ve","lastFrameText","bitmapMargin","bitmapSpacing","crop","xe","be","Me","_playing","_paused","videoEventHandler","removeEventListener","userInputEventHandler","play","_volume","volume","_loop","loop","currentTime","_e","infinite","tilesetTileIds","chunks","tiledData","tilemapLayer","tiledLayer","processTilemap","visible","tintcolor","processChunk","processFixedLayer","data","getTilesetTileId","tilesets","firstgid","we","trim","Ce","spriteRenderer","animations","currentAnimation","paused","playFrame","deltaTime","restarted","addAnimation","framerate","je","playAnimation","stopAnimation","reset","isPlayingAnimation","isPaused","_sprite","_restarted","currentFrame","frameTime","_animation","sprites","Oe","Pe","tracks","audioSourceCache","audioEventHandler","_audioSource","audioContext","AudioContext","state","playClip","addAudioSource","cloneNode","createMediaElementSource","connect","destination","loadAudioSource","close","Re","_loaded","Ae","touchEnabled","pressedLastFrame","scaled","leftButtonPressed","resolveMouseAndRectangle","resolveMouseAndCircumference","touching","resolveTouchAndRectangle","resolveTouchAndCircumference","onClick","onPressed","interactions","Se","mousePressed","gameCamera","console","log","BroadPhaseMethods","CollisionMethods","random"],"mappings":"oEAAG,IAACA,EAAE,WAAW,SAASA,EAAEA,EAAEC,QAAG,IAASD,IAAIA,EAAE,QAAG,IAASC,IAAIA,EAAE,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,EAAE,OAAOI,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKC,IAAIM,IAAI,SAAST,GAAGE,KAAKC,GAAGH,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKE,IAAIK,IAAI,SAAST,GAAGE,KAAKE,GAAGJ,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAOI,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAG,GAAGS,KAAKE,IAAIZ,KAAKE,GAAG,KAAKM,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,aAAab,KAAKa,WAAW,IAAIf,GAAGA,EAAEgB,KAAKd,KAAKa,WAAWb,OAAOQ,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEC,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,GAAGD,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAInB,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKC,KAAKH,EAAEkB,GAAGhB,KAAKE,KAAKJ,EAAEmB,GAAGnB,EAAEO,UAAUc,MAAM,WAAW,OAAO,IAAIrB,EAAEE,KAAKC,GAAGD,KAAKE,KAAKJ,EAAEO,UAAUe,SAAS,SAAStB,GAAG,OAAOY,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAGH,EAAEkB,EAAE,GAAGN,KAAKE,IAAIZ,KAAKE,GAAGJ,EAAEmB,EAAE,KAAKnB,EAAEuB,IAAI,SAASvB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEN,EAAEjB,EAAEkB,EAAEK,EAAEL,GAAGnB,GAAGA,EAAEyB,SAAS,SAASzB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEN,EAAEjB,EAAEkB,EAAEK,EAAEL,GAAGnB,GAAGA,EAAEgB,KAAK,SAAShB,EAAEC,GAAG,OAAO,IAAIA,EAAEyB,UAAU1B,EAAES,IAAI,EAAE,GAAGT,EAAES,IAAIR,EAAEiB,EAAEjB,EAAEyB,UAAUzB,EAAEkB,EAAElB,EAAEyB,WAAW1B,GAAGA,EAAE2B,OAAO,SAAS3B,EAAEC,GAAG,OAAOD,EAAES,KAAKR,EAAEkB,EAAElB,EAAEiB,GAAGhB,KAAKc,KAAKhB,EAAEA,IAAIA,EAAE4B,MAAM,SAAS5B,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEvB,EAAEkB,EAAEK,GAAGxB,GAAGA,EAAE6B,IAAI,SAAS7B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEiB,EAAElB,EAAEmB,EAAElB,EAAEkB,GAAGnB,EAAE8B,MAAM,SAAS9B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEkB,EAAEnB,EAAEmB,EAAElB,EAAEiB,GAAGlB,EAAE+B,MAAM,SAAS/B,EAAEC,GAAG,OAAOD,EAAES,IAAIG,KAAKmB,MAAM9B,EAAEiB,GAAGN,KAAKmB,MAAM9B,EAAEkB,IAAInB,GAAGA,EAAh9C,GAAq9CC,EAAE,WAAW,SAASA,EAAEA,EAAEuB,EAAEQ,EAAEC,GAAG/B,KAAKgC,UAAU,IAAIlC,EAAEE,KAAKiC,QAAQ,IAAInC,EAAEE,KAAKkC,OAAO,EAAElC,KAAKmC,QAAQ,EAAEnC,KAAKO,IAAIR,EAAEuB,EAAEQ,EAAEC,GAAG,OAAO5B,OAAOC,eAAeL,EAAEM,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,GAAGT,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEE,KAAKgC,UAAUf,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,GAAGV,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIP,KAAKgC,UAAUhB,EAAElB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,EAAEhB,KAAKkC,QAAQ1B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,EAAEjB,KAAKmC,SAAS3B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAKkC,QAAQ3B,IAAI,SAAST,GAAGE,KAAKkC,OAAOpC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKmC,SAAS5B,IAAI,SAAST,GAAGE,KAAKmC,QAAQrC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKiC,QAAQ1B,IAAIP,KAAKgB,EAAEhB,KAAKoC,MAAM,EAAEpC,KAAKiB,EAAEjB,KAAKqC,OAAO,GAAGrC,KAAKiC,SAASzB,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAUE,IAAI,SAAST,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKgC,UAAUzB,IAAIT,EAAEC,GAAGC,KAAKkC,OAAOZ,EAAEtB,KAAKmC,QAAQL,GAAG/B,EAAEM,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKsC,SAASpB,OAAOpB,EAAEwC,WAAWtC,KAAKoC,QAAQtC,EAAEsC,OAAOpC,KAAKqC,SAASvC,EAAEuC,QAAQtC,EAAEM,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,EAAEnB,EAAEsC,MAAMtC,EAAEuC,SAAStC,EAAEM,UAAUkC,SAAS,SAASzC,GAAG,OAAOE,KAAKwC,IAAI1C,EAAEkB,GAAGhB,KAAKgB,EAAElB,EAAE0C,IAAIxC,KAAKyC,IAAI3C,EAAEmB,GAAGjB,KAAKiB,EAAEnB,EAAE2C,IAAI1C,EAAEM,UAAUqC,SAAS,SAASpB,GAAG,OAAOA,aAAavB,EAAEuB,EAAEkB,IAAIxC,KAAKwC,IAAIlB,EAAEN,GAAGhB,KAAKgB,GAAGM,EAAEmB,IAAIzC,KAAKyC,IAAInB,EAAEL,GAAGjB,KAAKiB,EAAEK,aAAaxB,KAAKwB,EAAEN,EAAEhB,KAAKgB,GAAGM,EAAEL,EAAEjB,KAAKiB,GAAGK,EAAEN,GAAGhB,KAAKwC,IAAIlB,EAAEL,GAAGjB,KAAKyC,KAAK1C,EAA/0D,GAAygE4C,EAAE,SAAS7C,EAAEC,GAAG,OAAOW,KAAKmB,MAAM/B,EAAEY,KAAKE,IAAI,GAAGb,IAAIW,KAAKE,IAAI,GAAGb,IAA4H6C,EAAE,WAAW,SAAS7C,EAAEA,EAAEuB,QAAG,IAASvB,IAAIA,EAAE,WAAM,IAASuB,IAAIA,EAAE,MAAMtB,KAAK6C,SAAS,EAAE7C,KAAK8C,SAAS,EAAE9C,KAAKa,WAAW,IAAIf,EAAEC,EAAEC,KAAK+C,QAAQhD,EAAEuB,IAAItB,KAAKgD,QAAQ1B,GAAG,OAAOnB,OAAOC,eAAeL,EAAEM,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAK6C,UAAUtC,IAAI,SAAST,GAAGE,KAAK6C,SAAS/C,EAAEE,KAAK8C,SAAShD,EAAEY,KAAKuC,GAAG,IAAIjD,KAAKkD,mBAAmB1C,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAK8C,UAAUvC,IAAI,SAAST,GAAGE,KAAK8C,SAAShD,EAAEE,KAAK6C,SAAS,IAAI/C,EAAEY,KAAKuC,GAAGjD,KAAKkD,mBAAmB1C,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,YAAYL,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAU6C,gBAAgB,WAAWlD,KAAKa,WAAWN,IAAIG,KAAKyC,IAAInD,KAAK8C,UAAUpC,KAAK0C,IAAIpD,KAAK8C,YAAY/C,EAAtxB,GCAhqHD,EAAE,SAASC,EAAEuB,GAAG,OAAOxB,EAAEK,OAAOkD,gBAAgB,CAACC,UAAU,cAAcC,OAAO,SAASzD,EAAEC,GAAGD,EAAEwD,UAAUvD,IAAI,SAASD,EAAEC,GAAG,IAAI,IAAIuB,KAAKvB,EAAEI,OAAOE,UAAUmD,eAAeC,KAAK1D,EAAEuB,KAAKxB,EAAEwB,GAAGvB,EAAEuB,KAAKxB,EAAEC,EAAEuB,IAAI,SAASvB,EAAEA,EAAEuB,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAIoC,UAAU,uBAAuBC,OAAOrC,GAAG,iCAAiC,SAASQ,IAAI9B,KAAK4D,YAAY7D,EAAED,EAAEC,EAAEuB,GAAGvB,EAAEM,UAAU,OAAOiB,EAAEnB,OAAO0D,OAAOvC,IAAIQ,EAAEzB,UAAUiB,EAAEjB,UAAU,IAAIyB,GAAG,IAAIR,EAAEQ,EAAE,WAAW,OAAOA,EAAE3B,OAAO2D,QAAQ,SAAShE,GAAG,IAAI,IAAIC,EAAEuB,EAAE,EAAEQ,EAAEiC,UAAUC,OAAO1C,EAAEQ,EAAER,IAAI,IAAI,IAAIqB,KAAK5C,EAAEgE,UAAUzC,GAAGnB,OAAOE,UAAUmD,eAAeC,KAAK1D,EAAE4C,KAAK7C,EAAE6C,GAAG5C,EAAE4C,IAAI,OAAO7C,GAAGgC,EAAEmC,MAAMjE,KAAK+D,YAAY,SAASpB,EAAE7C,EAAEC,EAAEuB,GAAG,GAAGA,GAAG,IAAIyC,UAAUC,OAAO,IAAI,IAAIlC,EAAEa,EAAE,EAAEZ,EAAEhC,EAAEiE,OAAOrB,EAAEZ,EAAEY,KAAKb,GAAGa,KAAK5C,IAAI+B,IAAIA,EAAEyB,MAAMlD,UAAU6D,MAAMT,KAAK1D,EAAE,EAAE4C,IAAIb,EAAEa,GAAG5C,EAAE4C,IAAI,OAAO7C,EAAEqE,OAAOrC,GAAGyB,MAAMlD,UAAU6D,MAAMT,KAAK1D,IAAI,mBAAmBqE,iBAAiBA,gBAAgB,SAAStE,GAAGA,EAAEA,EAAEuE,KAAK,GAAG,OAAOvE,EAAEA,EAAEwE,MAAM,GAAG,QAAQxE,EAAEA,EAAEyE,OAAO,GAAG,SAASzE,EAAEA,EAAE0E,aAAa,GAAG,eAAe1E,EAAEA,EAAE2E,eAAe,GAAG,iBAAiB3E,EAAEA,EAAE4E,cAAc,GAAG,gBAAgB5E,EAAEA,EAAE6E,gBAAgB,GAAG,kBAAkB7E,EAAEA,EAAE8E,gBAAgB,GAAG,kBAAkB9E,EAAEA,EAAE+E,aAAa,GAAG,eAAe/E,EAAEA,EAAEgF,aAAa,GAAG,eAAehF,EAAEA,EAAEiF,QAAQ,IAAI,UAAUjF,EAAEA,EAAEkF,SAAS,IAAI,WAA7X,CAAyY1D,IAAIA,EAAE,KAAQ,IAACS,EAAEkD,EAAEC,EAAEtC,EAAE,WAAW,SAAS9C,EAAEA,EAAEC,EAAE+B,EAAEa,EAAEZ,EAAEkD,EAAEC,GAAGlF,KAAKmF,YAAYrF,EAAEE,KAAKoF,eAAerF,EAAEC,KAAKqF,cAAcvD,EAAE9B,KAAKsF,aAAa3C,EAAE3C,KAAKuF,kBAAkBxD,EAAE/B,KAAKwF,aAAaP,EAAEjF,KAAKyF,YAAYP,EAAElF,KAAK0F,SAAQ,EAAG1F,KAAK2F,oBAAoB,EAAE3F,KAAK4F,YAAY,GAAG5F,KAAK6F,WAAW,GAAG7F,KAAK8F,eAAc,EAAG9F,KAAK+F,YAAY,CAACzE,EAAEgD,MAAMhD,EAAEiD,OAAOjD,EAAE0D,UAAUhF,KAAKgG,iBAAiB,CAAC1E,EAAEgD,MAAMhD,EAAEiD,QAAQ,OAAOzE,EAAEO,UAAU4F,MAAM,WAAWjG,KAAKkG,WAAU,IAAKpG,EAAEO,UAAU8F,MAAM,WAAWnG,KAAK0F,SAAQ,GAAI5F,EAAEO,UAAU+F,OAAO,WAAWpG,KAAKkG,WAAU,IAAKpG,EAAEO,UAAUgG,KAAK,WAAWrG,KAAK0F,SAAQ,EAAG1F,KAAKsG,mBAAmBhF,EAAE0D,UAAUhF,KAAKoF,eAAemB,QAAQvG,KAAKqF,cAAcmB,YAAYxG,KAAKyF,cAAc3F,EAAEO,UAAU6F,UAAU,SAASpG,GAAGE,KAAK0F,UAAU1F,KAAK0F,SAAQ,EAAG5F,GAAGE,KAAKwF,aAAaiB,mBAAmBzG,KAAK0G,qBAAqBC,OAAOC,YAAYC,OAAO7G,KAAKmF,YAAY2B,gBAAgB9G,KAAKmF,YAAY4B,kBAAkB/G,KAAKgH,qBAAqBlH,EAAEO,UAAUqG,qBAAqB,SAAS5G,GAAG,IAAIC,EAAEC,KAAKA,KAAK0F,UAAU1F,KAAKmF,YAAY8B,iBAAiB,KAAKnH,GAAGE,KAAKwF,aAAa0B,uBAAuBlH,KAAKwF,aAAa2B,mBAAmBnH,KAAK8F,eAAc,GAAI9F,KAAK2F,qBAAqB3F,KAAKmF,YAAYiC,iBAAiBpH,KAAK2F,qBAAqB3F,KAAKmF,YAAYkC,mBAAmBrH,KAAKsH,mBAAmB,KAAKxH,GAAGE,KAAK2F,qBAAqB3F,KAAKmF,YAAYkC,kBAAkBrH,KAAKuH,kBAAkBvH,KAAKwF,aAAa0B,uBAAuBlH,KAAK8F,eAAc,EAAG9F,KAAKwF,aAAagC,sBAAsBb,OAAOc,gCAAgC3H,GAAG,OAAOC,EAAE2G,qBAAqB5G,QAAQA,EAAEO,UAAUiH,mBAAmB,SAASxH,GAAGE,KAAKmF,YAAYuC,cAAc5H,GAAGE,KAAK2H,OAAO3H,KAAKsG,mBAAmBhF,EAAEgD,OAAOtE,KAAKsF,aAAasC,SAAS5H,KAAKsG,mBAAmBhF,EAAEiD,QAAQvE,KAAKsG,mBAAmBhF,EAAEkD,cAAcxE,KAAKsG,mBAAmBhF,EAAEqD,iBAAiB3E,KAAKmF,YAAY2B,gBAAgB9G,KAAKmF,YAAY4B,mBAAmB/G,KAAKmF,YAAY0C,iBAAiB/H,GAAGE,KAAK8H,oBAAoB9H,KAAKsG,mBAAmBhF,EAAEsD,kBAAkB9E,EAAEO,UAAUkH,gBAAgB,WAAWvH,KAAKsG,mBAAmBhF,EAAEsD,iBAAiB5E,KAAKsG,mBAAmBhF,EAAEuD,cAAc7E,KAAKsG,mBAAmBhF,EAAEwD,cAAc9E,KAAKqF,cAAcmB,YAAYxG,KAAKyF,aAAazF,KAAKqF,cAAc0C,SAAS/H,KAAKqF,cAAc2C,aAAalI,EAAEO,UAAUyH,iBAAiB,WAAW9H,KAAKmF,YAAY8C,WAAW,GAAGjI,KAAK8F,gBAAgB9F,KAAKsG,mBAAmBhF,EAAEoD,eAAe1E,KAAKsG,mBAAmBhF,EAAEmD,gBAAgBzE,KAAKsG,mBAAmBhF,EAAEqD,iBAAiB3E,KAAKoF,eAAe8C,QAAQlI,KAAKmF,YAAYgD,oBAAoBrI,EAAEO,UAAU2G,iBAAiB,WAAW,IAAIlH,EAAEE,KAAKA,KAAKoI,kBAAkBzB,OAAO0B,aAAa,WAAW,IAAIvI,EAAE4F,QAAQ,OAAOiB,OAAO2B,cAAcxI,EAAEsI,mBAAmBtI,EAAEqF,YAAY0C,iBAAiB,KAAKlB,OAAOC,YAAYC,OAAO0B,SAASC,QAAQ1I,EAAEgI,qBAAqB,IAAI9H,KAAKmF,YAAY4B,mBAAmBjH,EAAEO,UAAUsH,KAAK,WAAW,IAAI7H,EAAEE,KAAKA,KAAKyI,YAAYzI,KAAKwF,aAAakD,iBAAiB1I,KAAK4F,YAAY5F,KAAKuF,kBAAkBoD,kBAAkBC,QAAQ,SAAS9I,GAAG,OAAOA,EAAE+I,UAAU7I,KAAK6F,WAAW,GAAG7F,KAAK4F,YAAYkD,kBAAkB/I,GAAG,OAAOA,EAAEgJ,gBAAgBH,QAAQ,SAAS9I,GAAG,OAAOA,EAAE+I,UAAUC,SAAO,SAAW/I,GAAG,OAAOD,EAAE+F,WAAWmD,KAAKjJ,UAAUD,EAAEO,UAAUiG,mBAAmB,SAASxG,GAAGE,KAAK+F,YAAYkD,SAASnJ,IAAIE,KAAKyI,YAAYS,SAASpJ,GAAGE,KAAKgG,iBAAiBiD,SAASnJ,IAAIE,KAAK4F,YAAYkD,SAAS,SAAS/I,GAAGA,EAAE8I,QAAQ9I,EAAEmJ,SAASpJ,MAAME,KAAK6F,WAAWiD,SAAS,SAAS/I,GAAGA,EAAE8I,QAAQ9I,EAAEmJ,SAASpJ,OAAOA,EAAp7G,GAAy7GqJ,EAAE,WAAW,SAASrJ,EAAEA,GAAGE,KAAKoJ,YAAY9H,EAAEiD,OAAOvE,KAAKqJ,SAAQ,EAAGrJ,KAAKsJ,UAAUxJ,EAAEE,KAAKuJ,WAAWvJ,KAAKsJ,UAAUE,YAAY,cAAcxJ,KAAKuJ,WAAWE,WAAWzJ,KAAK0J,aAAa1J,KAAKsJ,UAAUK,aAAa,gBAAgB3J,KAAK4J,WAAW5J,KAAKsJ,UAAUK,aAAa,cAAc3J,KAAKsF,aAAatF,KAAKsJ,UAAUK,aAAa,gBAAgB3J,KAAKqF,cAAcrF,KAAKsJ,UAAUK,aAAa,kBAAkB3J,KAAKuF,kBAAkBvF,KAAKsJ,UAAUK,aAAa,qBAAqB3J,KAAKoF,eAAepF,KAAKsJ,UAAUK,aAAa,kBAAkB3J,KAAKwF,aAAaxF,KAAKsJ,UAAUK,aAAa,gBAAgB3J,KAAKmF,YAAYnF,KAAKsJ,UAAUK,aAAa,eAAe,OAAO7J,EAAEO,UAAU6I,SAAS,SAASpJ,EAAEC,GAAGD,IAAIwB,EAAE+C,MAAMrE,KAAK6J,KAAK7J,KAAK6J,KAAK9J,GAAGD,IAAIwB,EAAEgD,OAAOtE,KAAKqJ,QAAQvJ,IAAIE,KAAKoJ,aAAapJ,KAAKqJ,SAASrJ,KAAK4H,OAAO5H,KAAK4H,SAAS9H,IAAIwB,EAAEyD,SAAS/E,KAAK8J,WAAW9J,KAAK8J,YAAY9J,KAAK+J,YAAYjK,IAAIwB,EAAE0D,WAAWhF,KAAK8J,WAAW9J,KAAK8J,YAAY9J,KAAKgK,cAAchK,KAAKiG,OAAOjG,KAAKiG,QAAQjG,KAAKqJ,SAAQ,IAAKvJ,EAAEO,UAAU4J,cAAc,SAASnK,EAAEC,EAAEuB,GAAG,MAAM,iBAAiBvB,IAAIuB,EAAEvB,EAAEA,EAAE,IAAIC,KAAKuF,kBAAkB0E,cAAcnK,EAAEC,OAAE,EAAOuB,IAAIxB,EAAEO,UAAUsI,gBAAgB,SAAS7I,GAAG,OAAOA,EAAEE,KAAKuF,kBAAkBoD,gBAAgB7I,GAAGE,KAAKuF,kBAAkBoD,mBAAmB7I,EAAEO,UAAU6J,eAAe,SAASpK,GAAG,OAAOE,KAAKuF,kBAAkB2E,eAAepK,IAAIA,EAAEO,UAAU8J,qBAAqB,SAASrK,GAAG,OAAOE,KAAKuF,kBAAkB4E,qBAAqBrK,IAAIA,EAAEO,UAAU+J,kBAAkB,SAAStK,GAAGE,KAAKuF,kBAAkB6E,kBAAkBtK,IAAIA,EAAphD,GAAyhDuK,EAAE,SAASvK,GAAG,SAASwB,EAAEvB,EAAEuB,EAAEQ,QAAG,IAASA,IAAIA,EAAE,IAAI,IAAIa,EAAE7C,EAAE2D,KAAKzD,KAAKD,IAAIC,KAAK,OAAO2C,EAAE2H,eAAc,EAAG3H,EAAE4H,SAAQ,EAAG5H,EAAE6H,WAAWlJ,EAAEqB,EAAE8H,KAAK3I,EAAEa,EAAE,OAAO5C,EAAEuB,EAAExB,GAAGK,OAAOC,eAAekB,EAAEjB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKuK,SAAShK,IAAI,SAAST,GAAGE,KAAKuK,UAAUzK,IAAIE,KAAKuK,QAAQzK,EAAEE,KAAK0K,mBAAmBlK,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAUqK,eAAe,aAAapJ,EAAEjB,UAAUsK,gBAAgB,WAAW,OAAO3K,KAAKwF,aAAakD,kBAAkBpH,EAAEjB,UAAUuK,cAAc,WAAW,OAAO5K,KAAKwK,YAAYlJ,EAAEjB,UAAU0I,cAAc,SAASjJ,GAAG,OAAOA,EAAEE,KAAKwK,WAAWzB,cAAcjJ,GAAGE,KAAKwK,WAAWzB,iBAAiBzH,EAAEjB,UAAUwK,aAAa,SAAS/K,GAAG,OAAOE,KAAKwK,WAAWK,aAAa/K,IAAIwB,EAAEjB,UAAUyK,aAAa,SAAShL,GAAG,OAAOE,KAAKwK,WAAWM,aAAahL,IAAIwB,EAAEjB,UAAU0K,gBAAgB,SAASjL,GAAGE,KAAKwK,WAAWO,gBAAgBjL,IAAIwB,EAAEjB,UAAU0J,SAAS,WAAW,IAAIjK,EAAEE,KAAKG,OAAO6K,KAAKhL,MAAM8I,SAAO,SAAW/I,GAAG,cAAcD,EAAEC,OAAOuB,EAAEjB,UAAU2J,UAAU,aAAa1I,EAA/+B,CAAk/B6H,GAAG8B,EAAE,SAASnL,GAAG,SAASgC,IAAI,IAAI/B,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEqJ,YAAY9H,EAAEkD,aAAazE,EAAE,OAAOA,EAAE+B,EAAEhC,GAAGgC,EAA3H,CAA8HuI,GAAGa,EAAE,SAASpL,GAAG,SAASgC,IAAI,IAAI/B,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEqJ,YAAY9H,EAAEmD,eAAe1E,EAAE,OAAOA,EAAE+B,EAAEhC,GAAGgC,EAA7H,CAAgIuI,GAAGc,EAAE,SAASrL,GAAG,SAASgC,IAAI,IAAI/B,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEqJ,YAAY9H,EAAEoD,cAAc3E,EAAE,OAAOA,EAAE+B,EAAEhC,GAAGgC,EAA5H,CAA+HuI,GAAGe,EAAE,SAAStL,GAAG,SAASgC,IAAI,IAAI/B,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEqJ,YAAY9H,EAAEqD,gBAAgB5E,EAAE,OAAOA,EAAE+B,EAAEhC,GAAGgC,EAA9H,CAAiIuI,GAAGgB,EAAE,SAASvL,GAAG,SAASgC,IAAI,IAAI/B,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEqJ,YAAY9H,EAAEsD,gBAAgB7E,EAAE,OAAOA,EAAE+B,EAAEhC,GAAGgC,EAA9H,CAAiIuI,GAAGiB,EAAE,SAASxL,GAAG,SAASgC,IAAI,IAAI/B,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEqJ,YAAY9H,EAAEuD,aAAa9E,EAAE,OAAOA,EAAE+B,EAAEhC,GAAGgC,EAA3H,CAA8HuI,GAAGpJ,EAAE,SAASnB,GAAG,SAASgC,IAAI,IAAI/B,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEqJ,YAAY9H,EAAEwD,aAAa/E,EAAE,OAAOA,EAAE+B,EAAEhC,GAAGgC,EAA3H,CAA8HuI,IAAI,SAASvK,GAAGA,EAAEA,EAAEyL,QAAQ,GAAG,UAAUzL,EAAEA,EAAE0L,cAAc,GAAG,gBAAgB1L,EAAEA,EAAE2L,KAAK,GAAG,OAAtF,CAA8F1J,IAAIA,EAAE,KAAK,SAASjC,GAAGA,EAAEA,EAAE4L,WAAW,GAAG,aAAa5L,EAAEA,EAAE6L,SAAS,GAAG,WAA3D,CAAuE1G,IAAIA,EAAE,KAAK,SAASnF,GAAGA,EAAEA,EAAE8L,OAAO,GAAG,SAAS9L,EAAEA,EAAE+L,KAAK,GAAG,OAAO/L,EAAEA,EAAEgM,QAAQ,GAAG,UAAUhM,EAAEA,EAAEiM,KAAK,GAAG,OAAOjM,EAAEA,EAAEkM,UAAU,GAAG,YAAYlM,EAAEA,EAAEmM,MAAM,GAAG,QAA5I,CAAqJ/G,IAAIA,EAAE,KAAK,IAAIgH,EAAE,WAAW,SAASpM,EAAEA,GAAGE,KAAKmM,GAAGrM,EAAEE,KAAKoM,SAAS,CAACpL,EAAE,EAAEwB,GAAG,EAAEvB,EAAE,EAAEwB,GAAG,GAAGzC,KAAKqM,OAAO,CAACrL,EAAE,EAAEwB,GAAG,EAAEvB,EAAE,EAAEwB,GAAG,GAAG,OAAO3C,EAAEO,UAAUiM,YAAY,SAASxM,EAAEC,GAAG,IAAIuB,EAAExB,EAAEwC,SAASR,EAAEhC,EAAEyM,KAAKxM,IAAIkF,EAAEyG,YAAY1L,KAAKoM,SAASpL,EAAEM,EAAEN,EAAEhB,KAAKmM,GAAGK,OAAOpK,MAAMN,EAAE,EAAE9B,KAAKoM,SAAS5J,GAAGlB,EAAEN,EAAEhB,KAAKmM,GAAGK,OAAOpK,MAAMN,EAAE,EAAE9B,KAAKoM,SAASnL,EAAEK,EAAEL,EAAEjB,KAAKmM,GAAGK,OAAOnK,OAAOP,EAAE,EAAE9B,KAAKoM,SAAS3J,GAAGnB,EAAEL,EAAEjB,KAAKmM,GAAGK,OAAOnK,OAAOP,EAAE,IAAI9B,KAAKoM,SAASpL,GAAGhB,KAAKmM,GAAGK,OAAOpK,MAAM,EAAEpC,KAAKoM,SAAS5J,GAAGxC,KAAKmM,GAAGK,OAAOpK,MAAM,EAAEpC,KAAKoM,SAASnL,GAAGjB,KAAKmM,GAAGK,OAAOnK,OAAO,EAAErC,KAAKoM,SAAS3J,GAAGzC,KAAKmM,GAAGK,OAAOnK,OAAO,IAAIvC,EAAEO,UAAUoM,uBAAuB,SAAS3M,GAAG,IAAIC,EAAED,EAAEwC,SAAShB,EAAExB,EAAEsC,MAAMN,EAAEhC,EAAEuC,OAAOM,EAAE7C,EAAE4M,SAAS3K,OAAE,IAASY,EAAE,EAAEA,EAAEsC,EAAEvE,KAAKiM,IAAIjM,KAAK0C,IAAIrB,IAAImD,EAAExE,KAAKiM,IAAIjM,KAAKyC,IAAIpB,IAAIa,EAAEqC,EAAEnD,EAAEoD,EAAE5D,EAAE6H,EAAElE,EAAE3D,EAAE4D,EAAEpD,EAAE9B,KAAKqM,OAAOrL,EAAEjB,EAAEiB,EAAE4B,EAAE,EAAE5C,KAAKqM,OAAO7J,GAAGzC,EAAEiB,EAAE4B,EAAE,EAAE5C,KAAKqM,OAAOpL,EAAElB,EAAEkB,EAAEkI,EAAE,EAAEnJ,KAAKqM,OAAO5J,GAAG1C,EAAEkB,EAAEkI,EAAE,GAAGrJ,EAAEO,UAAUuM,iBAAiB,SAAS9M,GAAG,IAAIC,EAAED,EAAEwC,SAAShB,EAAExB,EAAE+M,KAAK/K,EAAEhC,EAAEgN,SAASnK,EAAE7C,EAAEiN,eAAehL,EAAEjC,EAAEkN,cAAc/H,EAAEnF,EAAE4M,SAASxH,EAAE5D,EAAE2L,MAAM,MAAMC,iBAAiBpN,EAAEC,GAAG,OAAOW,KAAKyM,IAAIrN,EAAEC,EAAEiE,UAAU,IAAIlC,GAAG,MAAMC,EAAEA,EAAE,IAAI,EAAEa,EAAEtB,EAAE2L,MAAM,MAAMjJ,QAAQlC,GAAG,MAAMa,EAAEA,EAAE,IAAI3C,KAAKyM,uBAAuB,CAACnK,SAASvC,EAAEqC,MAAM8C,EAAE7C,OAAOO,EAAE8J,SAASzH,KAAKnF,EAAEO,UAAU+M,sBAAsB,SAAStN,GAAG,IAAIC,EAAEC,KAAKsB,EAAExB,EAAEwC,SAASR,EAAEhC,EAAEuN,YAAY1K,EAAE7C,EAAEwN,MAAMrI,EAAEnF,EAAEyN,OAAO5K,IAAIZ,EAAEyJ,eAAexL,KAAKqM,OAAOrL,EAAEM,EAAEN,EAAEiE,EAAEjF,KAAKqM,OAAOpL,EAAEK,EAAEL,EAAEgE,EAAEjF,KAAKqM,OAAO7J,GAAGlB,EAAEN,EAAEiE,EAAEjF,KAAKqM,OAAO5J,GAAGnB,EAAEL,EAAEgE,IAAIjF,KAAKqM,OAAOrL,EAAEwM,OAAOC,iBAAiBzN,KAAKqM,OAAOpL,EAAEuM,OAAOC,iBAAiBzN,KAAKqM,OAAO7J,GAAGgL,OAAOE,iBAAiB1N,KAAKqM,OAAO5J,GAAG+K,OAAOE,iBAAiB5L,EAAEgH,SAAS,SAAShJ,GAAGC,EAAEsM,OAAOrL,EAAEN,KAAKiN,IAAI7N,EAAEkB,EAAEM,EAAEN,EAAEjB,EAAEsM,OAAOrL,GAAGjB,EAAEsM,OAAOpL,EAAEP,KAAKiN,IAAI7N,EAAEmB,EAAEK,EAAEL,EAAElB,EAAEsM,OAAOpL,GAAGlB,EAAEsM,OAAO7J,GAAG9B,KAAKyM,IAAIrN,EAAEkB,EAAEM,EAAEN,EAAEjB,EAAEsM,OAAO7J,IAAIzC,EAAEsM,OAAO5J,GAAG/B,KAAKyM,IAAIrN,EAAEmB,EAAEK,EAAEL,EAAElB,EAAEsM,OAAO5J,SAAS3C,EAAEO,UAAUuN,oBAAoB,SAAS9N,GAAGA,EAAE+N,QAAQxL,OAAO3B,KAAKoN,KAAKhO,EAAEiO,MAAM/J,OAAOlE,EAAE+N,QAAQzL,OAAOpC,KAAKyM,uBAAuB,CAACnK,SAASxC,EAAEkO,eAAe5L,MAAMtC,EAAE+N,QAAQzL,MAAMtC,EAAE+N,QAAQI,UAAU5L,OAAOvC,EAAE+N,QAAQxL,OAAOvC,EAAE+N,QAAQK,WAAWxB,SAAS5M,EAAE4M,YAAY5M,EAAEO,UAAU8N,oBAAoB,SAASrO,GAAG,IAAIC,EAAEC,KAAKsB,EAAExB,EAAEiO,MAAMjM,EAAEhC,EAAE+N,QAAQlL,EAAEb,EAAEM,MAAML,EAAED,EAAEmM,UAAUhJ,EAAEnD,EAAEoM,WAAWpO,EAAEsO,YAAY9M,EAAE+M,KAAK,SAASvO,EAAEwB,GAAG,OAAOvB,EAAEqM,SAAS5J,IAAIzC,EAAEsM,OAAOrL,EAAEM,EAAEqB,EAAEZ,GAAGhC,EAAEqM,SAASpL,GAAGjB,EAAEsM,OAAOrL,EAAEM,EAAEqB,EAAEZ,EAAEA,GAAGhC,EAAEqM,SAAS3J,IAAI1C,EAAEsM,OAAO5J,KAAKnB,EAAEqB,EAAE,GAAGsC,EAAEA,IAAIlF,EAAEqM,SAASnL,GAAGlB,EAAEsM,OAAO5J,IAAInB,EAAEqB,EAAE,GAAGsC,EAAEnF,EAAE,MAAMA,EAAEO,UAAUiO,aAAa,SAASxO,EAAEC,GAAG,OAAOC,KAAKsM,YAAYvM,EAAED,EAAEyO,UAAUzO,EAAE0O,MAAM,KAAKtJ,EAAE+G,MAAM,KAAK/G,EAAE6G,KAAK,KAAK7G,EAAE0G,OAAO5L,KAAKyM,uBAAuB3M,GAAG,MAAM,KAAKoF,EAAE8G,UAAUhM,KAAKoN,sBAAsBtN,GAAG,MAAM,KAAKoF,EAAE2G,KAAK7L,KAAK4M,iBAAiB9M,GAAG,MAAM,KAAKoF,EAAE4G,QAAQ9L,KAAK4N,oBAAoB9N,GAAG,OAAOE,KAAKoM,SAAS5J,IAAIxC,KAAKqM,OAAOrL,GAAGhB,KAAKoM,SAASpL,GAAGhB,KAAKqM,OAAO7J,IAAIxC,KAAKoM,SAAS3J,IAAIzC,KAAKqM,OAAOpL,GAAGjB,KAAKoM,SAASnL,GAAGjB,KAAKqM,OAAO5J,IAAI3C,EAAEO,UAAUoO,aAAa,SAAS3O,EAAEC,GAAG,IAAIuB,EAAEtB,KAAK,OAAOD,EAAE6I,iBAAiB7I,GAAG,QAAQuB,EAAEgN,aAAavO,EAAED,KAAKC,EAAEyO,OAAOtJ,EAAE4G,SAASxK,EAAE6M,oBAAoBpO,IAAG,OAAQD,EAAr0F,GAA00FkB,EAAE,WAAW,OAAOA,EAAEb,OAAO2D,QAAQ,SAAShE,GAAG,IAAI,IAAIC,EAAEuB,EAAE,EAAEQ,EAAEiC,UAAUC,OAAO1C,EAAEQ,EAAER,IAAI,IAAI,IAAIqB,KAAK5C,EAAEgE,UAAUzC,GAAGnB,OAAOE,UAAUmD,eAAeC,KAAK1D,EAAE4C,KAAK7C,EAAE6C,GAAG5C,EAAE4C,IAAI,OAAO7C,GAAGkB,EAAEiD,MAAMjE,KAAK+D,YAAY,SAAS2K,EAAE5O,EAAEC,EAAEuB,GAAG,GAAGA,GAAG,IAAIyC,UAAUC,OAAO,IAAI,IAAIlC,EAAEa,EAAE,EAAEZ,EAAEhC,EAAEiE,OAAOrB,EAAEZ,EAAEY,KAAKb,GAAGa,KAAK5C,IAAI+B,IAAIA,EAAEyB,MAAMlD,UAAU6D,MAAMT,KAAK1D,EAAE,EAAE4C,IAAIb,EAAEa,GAAG5C,EAAE4C,IAAI,OAAO7C,EAAEqE,OAAOrC,GAAGyB,MAAMlD,UAAU6D,MAAMT,KAAK1D,IAAI,mBAAmBqE,iBAAiBA,gBAAgB,IAAIuK,EAAEC,EAAE,WAAW,SAAS9O,EAAEA,EAAEC,QAAG,IAASD,IAAIA,EAAE,QAAG,IAASC,IAAIA,EAAE,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,EAAE,OAAOI,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKC,IAAIM,IAAI,SAAST,GAAGE,KAAKC,GAAGH,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKE,IAAIK,IAAI,SAAST,GAAGE,KAAKE,GAAGJ,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAOI,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAG,GAAGS,KAAKE,IAAIZ,KAAKE,GAAG,KAAKM,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,aAAab,KAAKa,WAAW,IAAIf,GAAGA,EAAEgB,KAAKd,KAAKa,WAAWb,OAAOQ,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEC,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,GAAGD,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAInB,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKC,KAAKH,EAAEkB,GAAGhB,KAAKE,KAAKJ,EAAEmB,GAAGnB,EAAEO,UAAUc,MAAM,WAAW,OAAO,IAAIrB,EAAEE,KAAKC,GAAGD,KAAKE,KAAKJ,EAAEO,UAAUe,SAAS,SAAStB,GAAG,OAAOY,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAGH,EAAEkB,EAAE,GAAGN,KAAKE,IAAIZ,KAAKE,GAAGJ,EAAEmB,EAAE,KAAKnB,EAAEuB,IAAI,SAASvB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEN,EAAEjB,EAAEkB,EAAEK,EAAEL,GAAGnB,GAAGA,EAAEyB,SAAS,SAASzB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEN,EAAEjB,EAAEkB,EAAEK,EAAEL,GAAGnB,GAAGA,EAAEgB,KAAK,SAAShB,EAAEC,GAAG,OAAO,IAAIA,EAAEyB,UAAU1B,EAAES,IAAI,EAAE,GAAGT,EAAES,IAAIR,EAAEiB,EAAEjB,EAAEyB,UAAUzB,EAAEkB,EAAElB,EAAEyB,WAAW1B,GAAGA,EAAE2B,OAAO,SAAS3B,EAAEC,GAAG,OAAOD,EAAES,KAAKR,EAAEkB,EAAElB,EAAEiB,GAAGhB,KAAKc,KAAKhB,EAAEA,IAAIA,EAAE4B,MAAM,SAAS5B,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEvB,EAAEkB,EAAEK,GAAGxB,GAAGA,EAAE6B,IAAI,SAAS7B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEiB,EAAElB,EAAEmB,EAAElB,EAAEkB,GAAGnB,EAAE8B,MAAM,SAAS9B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEkB,EAAEnB,EAAEmB,EAAElB,EAAEiB,GAAGlB,EAAE+B,MAAM,SAAS/B,EAAEC,GAAG,OAAOD,EAAES,IAAIG,KAAKmB,MAAM9B,EAAEiB,GAAGN,KAAKmB,MAAM9B,EAAEkB,IAAInB,GAAGA,EAAh9C,IAAs9C,WAAW,SAASA,EAAEA,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKgC,UAAU,IAAI4M,EAAE5O,KAAKiC,QAAQ,IAAI2M,EAAE5O,KAAKkC,OAAO,EAAElC,KAAKmC,QAAQ,EAAEnC,KAAKO,IAAIT,EAAEC,EAAEuB,EAAEQ,GAAG3B,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,GAAGT,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEE,KAAKgC,UAAUf,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,GAAGV,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIP,KAAKgC,UAAUhB,EAAElB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,EAAEhB,KAAKkC,QAAQ1B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,EAAEjB,KAAKmC,SAAS3B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAKkC,QAAQ3B,IAAI,SAAST,GAAGE,KAAKkC,OAAOpC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKmC,SAAS5B,IAAI,SAAST,GAAGE,KAAKmC,QAAQrC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKiC,QAAQ1B,IAAIP,KAAKgB,EAAEhB,KAAKoC,MAAM,EAAEpC,KAAKiB,EAAEjB,KAAKqC,OAAO,GAAGrC,KAAKiC,SAASzB,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKgC,UAAUzB,IAAIT,EAAEC,GAAGC,KAAKkC,OAAOZ,EAAEtB,KAAKmC,QAAQL,GAAGhC,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKsC,SAASpB,OAAOpB,EAAEwC,WAAWtC,KAAKoC,QAAQtC,EAAEsC,OAAOpC,KAAKqC,SAASvC,EAAEuC,QAAQvC,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,EAAEnB,EAAEsC,MAAMtC,EAAEuC,SAASvC,EAAEO,UAAUkC,SAAS,SAASzC,GAAG,OAAOE,KAAKwC,IAAI1C,EAAEkB,GAAGhB,KAAKgB,EAAElB,EAAE0C,IAAIxC,KAAKyC,IAAI3C,EAAEmB,GAAGjB,KAAKiB,EAAEnB,EAAE2C,IAAI3C,EAAEO,UAAUqC,SAAS,SAAS3C,GAAG,OAAOA,aAAaD,EAAEC,EAAEyC,IAAIxC,KAAKwC,IAAIzC,EAAEiB,GAAGhB,KAAKgB,GAAGjB,EAAE0C,IAAIzC,KAAKyC,IAAI1C,EAAEkB,GAAGjB,KAAKiB,EAAElB,aAAa6O,KAAK7O,EAAEiB,EAAEhB,KAAKgB,GAAGjB,EAAEkB,EAAEjB,KAAKiB,GAAGlB,EAAEiB,GAAGhB,KAAKwC,IAAIzC,EAAEkB,GAAGjB,KAAKyC,KAAn0D,GAA20D,WAAW,SAAS3C,EAAEA,EAAEC,QAAG,IAASD,IAAIA,EAAE,WAAM,IAASC,IAAIA,EAAE,MAAMC,KAAK6C,SAAS,EAAE7C,KAAK8C,SAAS,EAAE9C,KAAKa,WAAW,IAAI+N,EAAE9O,EAAEE,KAAK+C,QAAQjD,EAAEC,IAAIC,KAAKgD,QAAQjD,GAAGI,OAAOC,eAAeN,EAAEO,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAK6C,UAAUtC,IAAI,SAAST,GAAGE,KAAK6C,SAAS/C,EAAEE,KAAK8C,SAAShD,EAAEY,KAAKuC,GAAG,IAAIjD,KAAKkD,mBAAmB1C,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAK8C,UAAUvC,IAAI,SAAST,GAAGE,KAAK8C,SAAShD,EAAEE,KAAK6C,SAAS,IAAI/C,EAAEY,KAAKuC,GAAGjD,KAAKkD,mBAAmB1C,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,YAAYL,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAU6C,gBAAgB,WAAWlD,KAAKa,WAAWN,IAAIG,KAAKyC,IAAInD,KAAK8C,UAAUpC,KAAK0C,IAAIpD,KAAK8C,YAAnwB,GAAkxB,SAAShD,GAAGA,EAAEA,EAAE+O,OAAO,GAAG,SAAS/O,EAAEA,EAAEgP,QAAQ,GAAG,UAAUhP,EAAEA,EAAEiP,UAAU,GAAG,YAAYjP,EAAEA,EAAEkP,YAAY,GAAG,cAA5G,CAA2HL,IAAIA,EAAE,KAAK,IAAIM,EAAEC,EAAE,WAAW,SAASpP,EAAEA,EAAEC,GAAGC,KAAKmP,aAAarP,EAAEE,KAAKoP,eAAerP,EAAEC,KAAKqP,WAAW,GAAGrP,KAAKsP,WAAW,GAAG,OAAOxP,EAAEO,UAAUkP,cAAc,SAASzP,GAAGE,KAAKqP,WAAWrG,KAAKlJ,IAAIA,EAAEO,UAAUmP,cAAc,SAAS1P,GAAGE,KAAKsP,WAAWtG,KAAKlJ,IAAIA,EAAEO,UAAU0H,OAAO,WAAW,IAAIjI,EAAEE,KAAKA,KAAKsP,WAAWG,MAAI,SAAW3P,EAAEC,GAAG,OAAOD,EAAE4P,MAAM3P,EAAE2P,SAAS5G,SAAO,SAAW/I,GAAG,OAAOD,EAAE6P,eAAe5P,OAAOD,EAAEO,UAAUsP,eAAe,SAAS7P,GAAG,IAAIC,EAAEC,KAAKA,KAAKoP,eAAeX,aAAa3O,EAAEE,KAAKqP,WAAWzG,QAAM,SAAW7I,GAAG,OAAOD,EAAE8P,OAAO3G,SAASlJ,EAAE8P,UAAUJ,MAAM,SAAS1P,EAAEuB,GAAG,OAAOxB,EAAE8P,OAAOE,QAAQ/P,EAAE8P,OAAO/P,EAAE8P,OAAOE,QAAQxO,EAAEuO,UAAUxB,KAAK,SAASvO,GAAG,OAAOA,EAAE0O,OAAOtJ,EAAE4G,QAAQ,SAAShM,GAAG,IAAIC,EAAEiB,EAAEA,EAAE,GAAGlB,GAAG,CAACsO,YAAY,GAAGP,QAAQ7M,EAAEA,EAAE,GAAGlB,EAAE+N,SAAS,CAACxL,OAAO3B,KAAKoN,KAAKhO,EAAEiO,MAAM/J,OAAOlE,EAAE+N,QAAQzL,OAAO2N,UAAUjQ,EAAE+N,QAAQzL,MAAMtC,EAAE+N,QAAQI,UAAU+B,WAAW,IAAIhC,eAAe,IAAIY,IAAI,OAAO7O,EAAE8N,QAAQmC,WAAWjQ,EAAE8N,QAAQxL,OAAOtC,EAAE8N,QAAQK,WAAW,SAASpO,GAAGA,EAAEkO,eAAezN,IAAIT,EAAEwC,SAAStB,GAAGlB,EAAEmQ,cAActB,EAAEE,OAAO/O,EAAE+N,QAAQkC,UAAU,EAAE,GAAGjQ,EAAEwC,SAASrB,GAAGnB,EAAEmQ,cAActB,EAAEI,WAAWjP,EAAE+N,QAAQmC,WAAW,EAAElQ,EAAEmQ,cAActB,EAAEG,QAAQhP,EAAE+N,QAAQmC,WAAW,EAAE,IAApN,CAAyNjQ,GAAGA,EAA1e,CAA6eD,GAAGA,MAAMgJ,SAAS,SAASxH,GAAG,OAAOvB,EAAEoP,aAAapH,OAAOzG,EAAExB,OAAOA,EAAEO,UAAU2H,UAAU,WAAWhI,KAAKqP,WAAW,GAAGrP,KAAKsP,WAAW,IAAIxP,EAAEO,UAAUmG,YAAY,SAAS1G,GAAGE,KAAKmP,aAAae,YAAYpQ,IAAIA,EAAEO,UAAU8P,eAAe,SAASrQ,GAAGE,KAAKmP,aAAaiB,cAActQ,IAAIA,EAAh7C,IAAs7C,SAASA,GAAGA,EAAEuQ,YAAY,QAAQvQ,EAAEwQ,OAAO,SAA3C,CAAqDrB,IAAIA,EAAE,KAAK,IAAIsB,EAAE,WAAW,SAASzQ,EAAEA,GAAG,GAAGE,KAAKwM,OAAO1M,EAAEE,KAAKwQ,eAAexQ,KAAKyQ,qBAAqBzQ,KAAKwQ,eAAe,MAAM,IAAIE,MAAM,wCAAwC1Q,KAAKmM,GAAGnM,KAAKwM,OAAOmE,WAAW3Q,KAAKwQ,gBAAgB,OAAO1Q,EAAEO,UAAUoQ,kBAAkB,WAAW,OAAO,OAAOzQ,KAAKwM,OAAOmE,WAAW1B,EAAEqB,QAAQrB,EAAEqB,OAAO,OAAOtQ,KAAKwM,OAAOmE,WAAW1B,EAAEoB,aAAapB,EAAEoB,iBAAY,GAAQvQ,EAAnY,GAAwY8Q,EAAE,WAAW,SAAS9Q,IAAIE,KAAK6Q,UAAU,IAAIC,IAAI,OAAOhR,EAAEO,UAAU0Q,aAAa,SAASjR,GAAG,OAAOE,KAAK6Q,UAAUG,IAAIhR,KAAKiR,OAAOnR,KAAKA,EAAEO,UAAU6Q,aAAa,SAASpR,GAAG,OAAOE,KAAK6Q,UAAUvQ,IAAIN,KAAKiR,OAAOnR,KAAKA,EAAEO,UAAU8Q,YAAY,SAASrR,EAAEC,EAAEuB,GAAG,IAAIQ,EAAE,OAAO,QAAQA,EAAE9B,KAAKkR,aAAanR,UAAK,IAAS+B,EAAEA,EAAE9B,KAAK6D,OAAO/D,EAAEC,EAAEuB,IAAIxB,EAAEO,UAAUwD,OAAO,SAAS/D,EAAEC,EAAEuB,GAAGtB,KAAKoR,WAAW9P,EAAEtB,KAAKqR,MAAM,GAAG,IAAI,IAAIvP,EAAE,EAAEA,EAAEhC,EAAEkE,OAAOlC,GAAG,EAAE,IAAI,IAAIa,EAAE7C,EAAEgC,GAAGa,GAAG7C,EAAEgC,EAAE,GAAGa,IAAI3C,KAAKqR,MAAMrI,KAAKrF,OAAO2N,aAAa3O,IAAI,IAAIZ,EAAE/B,KAAKuR,YAAYxR,aAAayR,SAASzR,EAAE0R,OAAO1R,GAAG,OAAOC,KAAK6Q,UAAUtQ,IAAIP,KAAKiR,OAAOlR,GAAGgC,GAAGA,GAAGjC,EAAEO,UAAU4Q,OAAO,SAASnR,GAAG,OAAO4R,OAAOC,IAAI7R,aAAa0R,SAAS1R,EAAE2R,OAAO3R,IAAIA,EAAEO,UAAUkR,YAAY,SAASzR,GAAG,IAAIC,EAAE,IAAI6R,EAAE9R,EAAEE,KAAKoR,WAAW1Q,KAAKoN,KAAKpN,KAAKC,KAAKX,KAAKqR,MAAMrN,UAAU1C,EAAEvB,EAAEyM,OAAOmE,WAAW,MAAMrP,EAAEuQ,UAAU,EAAE,EAAE9R,EAAEyM,OAAOpK,MAAMrC,EAAEyM,OAAOnK,QAAQf,EAAEwQ,aAAa,MAAMxQ,EAAEyQ,UAAU,OAAOzQ,EAAE0Q,KAAK,GAAG7N,OAAOnE,KAAKoR,WAAW,OAAOjN,OAAOrE,GAAG,IAAI,IAAIgC,EAAE,EAAEa,EAAE,EAAEZ,EAAE,EAAEA,EAAE/B,KAAKqR,MAAMrN,OAAOjC,IAAIT,EAAE2Q,SAASjS,KAAKqR,MAAMtP,GAAGD,EAAEa,GAAG5C,EAAEmS,OAAO3R,IAAIP,KAAKqR,MAAMtP,GAAG,CAACoQ,GAAGpQ,EAAEK,MAAMd,EAAE8Q,YAAYpS,KAAKqR,MAAMtP,IAAIK,SAASN,GAAG9B,KAAKoR,YAAYrR,EAAEyM,OAAOpK,MAAMpC,KAAKoR,aAAatP,EAAE,EAAEa,GAAG3C,KAAKoR,YAAY,OAAOrR,GAAGD,EAA5qC,GAAirC8R,EAAE,SAAS9R,EAAEC,EAAEuB,GAAGtB,KAAKqS,eAAevS,EAAEE,KAAKsS,eAAevS,EAAEC,KAAKuS,SAASjR,EAAEtB,KAAKwM,OAAOjE,SAASiK,cAAc,UAAUxS,KAAKkS,OAAO,IAAIpB,IAAI9Q,KAAKwM,OAAOpK,MAAMpC,KAAKuS,SAASvS,KAAKsS,eAAetS,KAAKwM,OAAOnK,OAAOrC,KAAKwM,OAAOpK,OAAOqQ,EAAE,WAAW,SAAS3S,EAAEA,EAAEC,GAAGC,KAAKmM,GAAGrM,EAAEE,KAAK0S,aAAa3S,EAAE,OAAOD,EAAEO,UAAUwD,OAAO,SAAS/D,EAAEC,GAAG,IAAIuB,EAAEtB,KAAKmM,GAAGwG,gBAAgB7Q,EAAE9B,KAAK0S,aAAa/K,KAAK3H,KAAKmM,GAAGyG,cAAc9S,GAAG6C,EAAE3C,KAAK0S,aAAa/K,KAAK3H,KAAKmM,GAAG0G,gBAAgB9S,GAAGC,KAAKmM,GAAG2G,aAAaxR,EAAEQ,GAAG9B,KAAKmM,GAAG2G,aAAaxR,EAAEqB,GAAG3C,KAAKmM,GAAG4G,YAAYzR,GAAG,IAAIS,EAAE/B,KAAKmM,GAAG6G,YAAY,IAAIhT,KAAKmM,GAAG8G,oBAAoB3R,EAAES,GAAG,CAAC,IAAIkD,EAAEjF,KAAKmM,GAAG+G,kBAAkB5R,GAAG,MAAMtB,KAAKmM,GAAGgH,cAAc7R,GAAG,IAAIoP,MAAM,qCAAqCvM,OAAOc,IAAI,OAAO3D,GAAGxB,EAAtf,GAA2fsT,EAAE,WAAW,SAAStT,EAAEA,EAAEC,EAAEuB,GAAGtB,KAAKmM,GAAGrM,EAAEE,KAAKwQ,eAAezQ,EAAEC,KAAKqT,eAAe/R,EAAE,OAAOxB,EAAEO,UAAUiT,YAAY,WAAWtT,KAAKuT,QAAQvT,KAAKwQ,iBAAiBvB,EAAEqB,OAAOtQ,KAAKqT,eAAexP,OAAO,gVAAgV,i5BAAi5B7D,KAAKqT,eAAexP,OAAO,uXAAuX,i3BAAi3B7D,KAAKwT,eAAexT,KAAKmM,GAAGsH,eAAezT,KAAK0T,cAAc1T,KAAKmM,GAAGsH,eAAezT,KAAK2T,mBAAmB3T,KAAKmM,GAAGyH,kBAAkB5T,KAAKuT,QAAQ,kBAAkBvT,KAAK6T,cAAc7T,KAAKmM,GAAGyH,kBAAkB5T,KAAKuT,QAAQ,iBAAiBvT,KAAK8T,mBAAmB9T,KAAKmM,GAAG4H,mBAAmB/T,KAAKuT,QAAQ,eAAevT,KAAKgU,wBAAwBhU,KAAKmM,GAAG4H,mBAAmB/T,KAAKuT,QAAQ,oBAAoBvT,KAAKiU,qBAAqBjU,KAAKmM,GAAG4H,mBAAmB/T,KAAKuT,QAAQ,iBAAiBvT,KAAKkU,qBAAqBlU,KAAKmM,GAAG4H,mBAAmB/T,KAAKuT,QAAQ,mBAAmBvT,KAAKmU,eAAenU,KAAKmM,GAAG4H,mBAAmB/T,KAAKuT,QAAQ,cAAcvT,KAAKoU,kBAAkBpU,KAAKmM,GAAG4H,mBAAmB/T,KAAKuT,QAAQ,gBAAgBvT,KAAKqU,oBAAoBrU,KAAKmM,GAAG4H,mBAAmB/T,KAAKuT,QAAQ,kBAAkBvT,KAAKsU,iBAAiBtU,KAAKmM,GAAG4H,mBAAmB/T,KAAKuT,QAAQ,eAAevT,KAAKuU,oBAAoBvU,KAAKmM,GAAG4H,mBAAmB/T,KAAKuT,QAAQ,kBAAkBvT,KAAKwU,iBAAiBxU,KAAKmM,GAAG4H,mBAAmB/T,KAAKuT,QAAQ,eAAevT,KAAKyU,oBAAoBzU,KAAKmM,GAAG4H,mBAAmB/T,KAAKuT,QAAQ,kBAAkBvT,KAAK0U,aAAa1U,KAAKmM,GAAG4H,mBAAmB/T,KAAKuT,QAAQ,WAAWvT,KAAKmM,GAAGwI,WAAW3U,KAAKuT,SAASvT,KAAKmM,GAAGyI,UAAU5U,KAAKmM,GAAG0I,UAAU7U,KAAKmM,GAAG2I,qBAAqB9U,KAAKmM,GAAG4I,wBAAwB/U,KAAK2T,oBAAoB3T,KAAKmM,GAAG6I,WAAWhV,KAAKmM,GAAG8I,aAAajV,KAAKwT,gBAAgBxT,KAAKmM,GAAG+I,oBAAoBlV,KAAK2T,mBAAmB,EAAE3T,KAAKmM,GAAGgJ,OAAM,EAAG,EAAE,GAAGnV,KAAKmM,GAAG4I,wBAAwB/U,KAAK6T,eAAe7T,KAAKmM,GAAG6I,WAAWhV,KAAKmM,GAAG8I,aAAajV,KAAK0T,eAAe1T,KAAKmM,GAAG+I,oBAAoBlV,KAAK6T,cAAc,EAAE7T,KAAKmM,GAAGgJ,OAAM,EAAG,EAAE,IAAIrV,EAAtzI,GAA2zIsV,EAAE,WAAW,SAAStV,EAAEA,GAAGE,KAAKmM,GAAGrM,EAAE,OAAOA,EAAEO,UAAUsH,KAAK,SAAS7H,EAAEC,GAAG,IAAIuB,EAAEtB,KAAKmM,GAAGkJ,aAAavV,GAAGE,KAAKmM,GAAGmJ,aAAahU,EAAEvB,GAAGC,KAAKmM,GAAGoJ,cAAcjU,GAAG,IAAIQ,EAAE9B,KAAKmM,GAAGqJ,eAAe,IAAIxV,KAAKmM,GAAGsJ,mBAAmBnU,EAAEQ,GAAG,CAAC,IAAIa,EAAE3C,KAAKmM,GAAGuJ,iBAAiBpU,GAAG,MAAMtB,KAAKmM,GAAGwJ,aAAarU,GAAG,IAAIoP,MAAM,4CAA4CvM,OAAOxB,IAAI,OAAOrB,GAAGxB,EAAvW,GAA4W8V,EAAE,oBAAoBC,aAAaA,aAAatS,MAAM,SAASuS,IAAI,IAAIhW,EAAE,IAAI8V,EAAE,IAAI,OAAOA,GAAGC,eAAe/V,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,GAAGA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,SAASiW,EAAEjW,GAAG,OAAOA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,SAASkW,EAAElW,EAAEC,EAAEuB,GAAG,IAAIQ,EAAEa,EAAEZ,EAAEkD,EAAEC,EAAEtC,EAAEuG,EAAEkB,EAAEY,EAAEC,EAAEC,EAAEC,EAAEC,EAAE/J,EAAE,GAAGgK,EAAEhK,EAAE,GAAGL,EAAEK,EAAE,GAAG,OAAOvB,IAAID,GAAGA,EAAE,IAAIC,EAAE,GAAGsL,EAAEtL,EAAE,GAAGuL,EAAEvL,EAAE,GAAGkB,EAAElB,EAAE,IAAID,EAAE,IAAIC,EAAE,GAAGsL,EAAEtL,EAAE,GAAGuL,EAAEvL,EAAE,GAAGkB,EAAElB,EAAE,IAAID,EAAE,IAAIC,EAAE,GAAGsL,EAAEtL,EAAE,GAAGuL,EAAEvL,EAAE,IAAIkB,EAAElB,EAAE,IAAID,EAAE,IAAIC,EAAE,GAAGsL,EAAEtL,EAAE,GAAGuL,EAAEvL,EAAE,IAAIkB,EAAElB,EAAE,MAAM+B,EAAE/B,EAAE,GAAG4C,EAAE5C,EAAE,GAAGgC,EAAEhC,EAAE,GAAGkF,EAAElF,EAAE,GAAGmF,EAAEnF,EAAE,GAAG6C,EAAE7C,EAAE,GAAGoJ,EAAEpJ,EAAE,GAAGsK,EAAEtK,EAAE,GAAGkL,EAAElL,EAAE,GAAGmL,EAAEnL,EAAE,GAAGoL,EAAEpL,EAAE,IAAIqL,EAAErL,EAAE,IAAID,EAAE,GAAGgC,EAAEhC,EAAE,GAAG6C,EAAE7C,EAAE,GAAGiC,EAAEjC,EAAE,GAAGmF,EAAEnF,EAAE,GAAGoF,EAAEpF,EAAE,GAAG8C,EAAE9C,EAAE,GAAGqJ,EAAErJ,EAAE,GAAGuK,EAAEvK,EAAE,GAAGmL,EAAEnL,EAAE,GAAGoL,EAAEpL,EAAE,IAAIqL,EAAErL,EAAE,IAAIsL,EAAEtL,EAAE,IAAIgC,EAAEuJ,EAAEnG,EAAEoG,EAAEL,EAAEhK,EAAElB,EAAE,IAAID,EAAE,IAAI6C,EAAE0I,EAAEzI,EAAE0I,EAAEJ,EAAEjK,EAAElB,EAAE,IAAID,EAAE,IAAIiC,EAAEsJ,EAAElC,EAAEmC,EAAEH,EAAElK,EAAElB,EAAE,IAAID,EAAE,IAAImF,EAAEoG,EAAEhB,EAAEiB,EAAEF,EAAEnK,EAAElB,EAAE,KAAKD,EAAE,SAASmW,EAAEnW,EAAEC,EAAEuB,GAAG,IAAIQ,EAAER,EAAE,GAAGqB,EAAErB,EAAE,GAAGS,EAAET,EAAE,GAAG,OAAOxB,EAAE,GAAGC,EAAE,GAAG+B,EAAEhC,EAAE,GAAGC,EAAE,GAAG+B,EAAEhC,EAAE,GAAGC,EAAE,GAAG+B,EAAEhC,EAAE,GAAGC,EAAE,GAAG+B,EAAEhC,EAAE,GAAGC,EAAE,GAAG4C,EAAE7C,EAAE,GAAGC,EAAE,GAAG4C,EAAE7C,EAAE,GAAGC,EAAE,GAAG4C,EAAE7C,EAAE,GAAGC,EAAE,GAAG4C,EAAE7C,EAAE,GAAGC,EAAE,GAAGgC,EAAEjC,EAAE,GAAGC,EAAE,GAAGgC,EAAEjC,EAAE,IAAIC,EAAE,IAAIgC,EAAEjC,EAAE,IAAIC,EAAE,IAAIgC,EAAEjC,EAAE,IAAIC,EAAE,IAAID,EAAE,IAAIC,EAAE,IAAID,EAAE,IAAIC,EAAE,IAAID,EAAE,IAAIC,EAAE,IAAID,EAAE,SAASoW,EAAEpW,EAAEC,EAAEuB,GAAG,IAAIQ,EAAEpB,KAAK0C,IAAI9B,GAAGqB,EAAEjC,KAAKyC,IAAI7B,GAAGS,EAAEhC,EAAE,GAAGkF,EAAElF,EAAE,GAAGmF,EAAEnF,EAAE,GAAG6C,EAAE7C,EAAE,GAAGoJ,EAAEpJ,EAAE,GAAGsK,EAAEtK,EAAE,GAAGkL,EAAElL,EAAE,GAAGmL,EAAEnL,EAAE,GAAG,OAAOA,IAAID,IAAIA,EAAE,GAAGC,EAAE,GAAGD,EAAE,GAAGC,EAAE,GAAGD,EAAE,IAAIC,EAAE,IAAID,EAAE,IAAIC,EAAE,IAAID,EAAE,IAAIC,EAAE,IAAID,EAAE,IAAIC,EAAE,IAAID,EAAE,IAAIC,EAAE,IAAID,EAAE,IAAIC,EAAE,KAAKD,EAAE,GAAGiC,EAAEY,EAAEwG,EAAErH,EAAEhC,EAAE,GAAGmF,EAAEtC,EAAE0H,EAAEvI,EAAEhC,EAAE,GAAGoF,EAAEvC,EAAEsI,EAAEnJ,EAAEhC,EAAE,GAAG8C,EAAED,EAAEuI,EAAEpJ,EAAEhC,EAAE,GAAGqJ,EAAExG,EAAEZ,EAAED,EAAEhC,EAAE,GAAGuK,EAAE1H,EAAEsC,EAAEnD,EAAEhC,EAAE,GAAGmL,EAAEtI,EAAEuC,EAAEpD,EAAEhC,EAAE,GAAGoL,EAAEvI,EAAEC,EAAEd,EAAEhC,EAAEY,KAAKyV,QAAQzV,KAAKyV,MAAM,WAAW,IAAI,IAAIrW,EAAE,EAAEC,EAAEgE,UAAUC,OAAOjE,KAAKD,GAAGiE,UAAUhE,GAAGgE,UAAUhE,GAAG,OAAOW,KAAKC,KAAKb,KAASsW,yBAAE,IAAAC,EAAE,SAASvW,GAAG,IAAIC,EAAE,yDAAyDuW,KAAKxW,GAAG,OAAOC,EAAE,CAAC4C,EAAE4T,SAASxW,EAAE,GAAG,IAAI,IAAIsL,EAAEkL,SAASxW,EAAE,GAAG,IAAI,IAAI2O,EAAE6H,SAASxW,EAAE,GAAG,IAAI,IAAImF,OAAE,IAASnF,EAAE,GAAGwW,SAASxW,EAAE,GAAG,IAAI,IAAI,GAAG,MAAMyW,EAAE,SAAS1W,EAAEC,EAAEuB,EAAEQ,GAAG,IAAIa,EAAEZ,GAAE,SAAUjC,EAAEC,EAAEuB,EAAEQ,EAAEa,EAAEZ,EAAEkD,GAAG,IAAIC,EAAE,GAAGnF,EAAEuB,GAAGsB,EAAE,GAAGd,EAAEa,GAAa7C,EAAE,IAAI,EAAEoF,EAAEpF,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,IAAI,EAAE8C,EAAE9C,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,KAAI,EAAIA,EAAE,IAAI,EAAEA,EAAE,KAAKC,EAAEuB,GAAG4D,EAAEpF,EAAE,KAAK6C,EAAEb,GAAGc,EAAE9C,EAAE,KAAI,EAAQA,EAAE,IAAI,GAAzM,CAA6MA,EAAEiW,EAAEjW,IAAIC,EAAEyM,OAAOpK,MAAM,EAAErC,EAAEyM,OAAOpK,MAAM,GAAGrC,EAAEyM,OAAOnK,OAAO,EAAEtC,EAAEyM,OAAOnK,OAAO,GAAQP,IAAImD,EAAEyG,aAAauK,EAAEnW,EAAEA,EAAE,CAAC,QAAQ6C,EAAErB,EAAEiL,YAAO,IAAS5J,EAAEA,EAAE,EAAE,QAAQZ,EAAET,EAAEiL,YAAO,IAASxK,EAAEA,EAAE,EAAE,IAAIiU,EAAElW,EAAEA,EAAE,EAAEwB,EAAEgB,SAAStB,GAAGM,EAAEgB,SAASrB,EAAE,MAAMwV,EAAE,WAAW,SAAS3W,EAAEA,EAAEC,GAAGC,KAAKmM,GAAGrM,EAAEE,KAAK0W,eAAe3W,EAAEC,KAAK2W,SAAS,IAAI7F,IAAI9Q,KAAK4W,aAAa,KAAK5W,KAAK6W,iBAAiBf,IAAI9V,KAAK8W,YAAYhB,IAAI9V,KAAK+W,cAAcjB,IAAI,IAAIxU,EAAE,EAAEZ,KAAKuC,GAAG,GAAGjD,KAAKgX,sBAAsB,IAAInB,aAAa,SAAS/V,EAAEC,EAAEuB,QAAG,IAASA,IAAIA,EAAE,GAAG,IAAI,IAAIQ,EAAE,GAAGa,EAAE,EAAEA,GAAG,GAAGA,GAAGrB,EAAEQ,EAAEkH,KAAKrG,GAAG,OAAOb,EAA/E,CAAkF,EAAE,EAAE,GAAGoL,QAAM,SAAWpN,EAAEC,GAAG,OAAO2O,EAAEA,EAAE,GAAG5O,GAAE,GAAI,CAACY,KAAKyC,IAAIpD,EAAEuB,GAAGZ,KAAK0C,IAAIrD,EAAEuB,KAAI,KAAM,KAAK,OAAOxB,EAAEO,UAAU0H,OAAO,SAASjI,EAAEC,EAAEuB,GAAG,OAAOxB,EAAEwN,OAAO,KAAKvL,EAAEwJ,QAAQvL,KAAKiX,YAAYnX,EAAEC,EAAEC,KAAKmM,GAAG+K,UAAU5V,GAAG,MAAM,KAAKS,EAAE0J,KAAKzL,KAAKiX,YAAYnX,EAAEC,EAAEC,KAAKmM,GAAGgL,MAAM7V,GAAG,MAAM,KAAKS,EAAEyJ,cAAcxL,KAAKoX,oBAAoBtX,EAAEC,KAAKD,EAAEO,UAAU4W,YAAY,SAASnX,EAAEC,EAAEuB,EAAEQ,GAAG,IAAIa,EAAEZ,EAAE/B,KAAKqX,oBAAoBvX,EAAEuN,cAAa,IAAKrN,KAAK2W,SAAS3F,IAAIjP,IAAI/B,KAAK2W,SAASpW,IAAIwB,EAAE,IAAI8T,aAAa7V,KAAKsX,wBAAwBxX,EAAEuN,eAAe,IAAIpI,EAAEjF,KAAK2W,SAASrW,IAAIyB,GAAG/B,KAAK4W,eAAe7U,GAAGD,IAAIoD,EAAE8G,YAAYhM,KAAKmM,GAAG6I,WAAWhV,KAAKmM,GAAG8I,aAAajV,KAAK0W,eAAelD,gBAAgBxT,KAAKmM,GAAGoL,WAAWvX,KAAKmM,GAAG8I,aAAahQ,EAAEjF,KAAKmM,GAAGqL,cAAcxX,KAAKmM,GAAG6I,WAAWhV,KAAKmM,GAAG8I,aAAajV,KAAK0W,eAAehD,eAAe1T,KAAKmM,GAAGoL,WAAWvX,KAAKmM,GAAG8I,aAAahQ,EAAEjF,KAAKmM,GAAGqL,eAAexX,KAAK4W,aAAa7U,EAAE/B,KAAK8W,YAAYf,EAAE/V,KAAK8W,aAAad,EAAEhW,KAAK8W,YAAY9W,KAAK8W,YAAY,CAAChX,EAAEwC,SAAStB,EAAElB,EAAEwC,SAASrB,EAAE,IAAIiV,EAAElW,KAAK8W,YAAY9W,KAAK8W,YAAY,QAAQnU,EAAE7C,EAAE4M,gBAAW,IAAS/J,EAAEA,EAAE,GAAG6T,EAAExW,KAAK6W,iBAAiB7W,KAAKmM,GAAGpM,EAAED,EAAEyO,UAAUvO,KAAKmM,GAAGsL,iBAAiBzX,KAAK0W,eAAe1C,yBAAwB,EAAGhU,KAAK6W,kBAAkB7W,KAAKmM,GAAGsL,iBAAiBzX,KAAK0W,eAAe5C,oBAAmB,EAAG9T,KAAK8W,aAAa9W,KAAKmM,GAAGsL,iBAAiBzX,KAAK0W,eAAezC,sBAAqB,EAAGjU,KAAK+W,eAAe/W,KAAKmM,GAAGuL,UAAU1X,KAAK0W,eAAexC,qBAAqB,GAAG,IAAItR,EAAEyT,EAAEvW,EAAE6X,OAAOxO,EAAEvG,EAAED,EAAE0H,EAAEzH,EAAEyI,EAAEJ,EAAErI,EAAE8L,EAAExD,EAAEtI,EAAEsC,EAAElF,KAAKmM,GAAGyL,UAAU5X,KAAK0W,eAAetC,kBAAkBjL,EAAEkB,EAAEY,EAAEC,GAAGlL,KAAKmM,GAAG0L,UAAU7X,KAAK0W,eAAehC,aAAa,GAAG1U,KAAKmM,GAAG2L,WAAWxW,EAAE,EAAE2D,EAAEjB,OAAO,IAAIlE,EAAEO,UAAUgX,oBAAoB,SAASvX,GAAG,OAAO4R,OAAOC,IAAI7R,EAAEoN,QAAM,SAAWpN,EAAEC,GAAG,MAAM,GAAGoE,OAAOrE,GAAGqE,OAAOpE,EAAEiB,GAAGmD,OAAOpE,EAAEkB,KAAKnB,EAAEkE,OAAO+T,cAAcjY,EAAEO,UAAUiX,wBAAwB,SAASxX,GAAG,IAAI,IAAIC,EAAE,GAAGuB,EAAE,EAAEA,EAAExB,EAAEkE,OAAO1C,IAAIvB,EAAEiJ,KAAKlJ,EAAEwB,GAAGN,EAAElB,EAAEwB,GAAGL,GAAG,OAAOlB,GAAGD,EAAEO,UAAU+W,oBAAoB,SAAStX,EAAEC,GAAGC,KAAK4W,aAAa,KAAK5W,KAAKmM,GAAG6I,WAAWhV,KAAKmM,GAAG8I,aAAajV,KAAK0W,eAAelD,gBAAgBxT,KAAKmM,GAAGoL,WAAWvX,KAAKmM,GAAG8I,aAAajV,KAAKgX,sBAAsBhX,KAAKmM,GAAGqL,cAAcxX,KAAKmM,GAAG6I,WAAWhV,KAAKmM,GAAG8I,aAAajV,KAAK0W,eAAehD,eAAe1T,KAAKmM,GAAGoL,WAAWvX,KAAKmM,GAAG8I,aAAajV,KAAKgX,sBAAsBhX,KAAKmM,GAAGqL,cAAcxX,KAAK8W,YAAYf,EAAE/V,KAAK8W,aAAad,EAAEhW,KAAK8W,YAAY9W,KAAK8W,YAAY,CAAChX,EAAEwC,SAAStB,EAAElB,EAAEwC,SAASrB,EAAE,IAAIgV,EAAEjW,KAAK8W,YAAY9W,KAAK8W,YAAY,CAAChX,EAAEyN,OAAOzN,EAAEyN,OAAO,IAAIiJ,EAAExW,KAAK6W,iBAAiB7W,KAAKmM,GAAGpM,EAAED,EAAEyO,UAAUvO,KAAKmM,GAAGsL,iBAAiBzX,KAAK0W,eAAe1C,yBAAwB,EAAGhU,KAAK6W,kBAAkB7W,KAAKmM,GAAGsL,iBAAiBzX,KAAK0W,eAAe5C,oBAAmB,EAAG9T,KAAK8W,aAAa9W,KAAKmM,GAAGsL,iBAAiBzX,KAAK0W,eAAezC,sBAAqB,EAAGjU,KAAK+W,eAAe/W,KAAKmM,GAAGuL,UAAU1X,KAAK0W,eAAexC,qBAAqB,GAAG,IAAI5S,EAAE+U,EAAEvW,EAAE6X,OAAO7V,EAAER,EAAEqB,EAAEA,EAAErB,EAAE+J,EAAEtJ,EAAET,EAAEoN,EAAEzJ,EAAE3D,EAAE4D,EAAElF,KAAKmM,GAAGyL,UAAU5X,KAAK0W,eAAetC,kBAAkBtS,EAAEa,EAAEZ,EAAEkD,GAAGjF,KAAKmM,GAAG0L,UAAU7X,KAAK0W,eAAehC,aAAa,GAAG1U,KAAKmM,GAAG2L,WAAW9X,KAAKmM,GAAG+K,UAAU,EAAElX,KAAKgX,sBAAsBhT,OAAO,IAAIlE,EAAx0G,IAA80G,SAASA,GAAGA,EAAEA,EAAEkY,UAAU,GAAG,YAAYlY,EAAEA,EAAE0L,cAAc,GAAG,gBAA9D,CAA+E4K,QAAAA,YAAIA,QAAAA,UAAE,KAAS6B,QAACC,qBAAA,EAAA,IAACC,EAAE,WAAW,SAASrY,EAAEA,EAAEC,GAAGC,KAAKmM,GAAGrM,EAAEE,KAAK0W,eAAe3W,EAAEC,KAAKwO,KAAKtJ,EAAE6G,KAAK/L,KAAKoY,kBAAkB,IAAIvC,aAAa,EAAE,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,KAAK7V,KAAK6W,iBAAiBf,IAAI9V,KAAK8W,YAAYhB,IAAI9V,KAAK+W,cAAcjB,IAAI,IAAI,IAAIxU,EAAE,EAAEZ,KAAKuC,GAAG,GAAGnB,EAAE,CAAC,EAAE,GAAGa,EAAE,EAAEA,GAAG,GAAGA,IAAIb,EAAEkH,KAAKtI,KAAKyC,IAAIR,EAAErB,GAAGZ,KAAK0C,IAAIT,EAAErB,IAAItB,KAAKgX,sBAAsB,IAAInB,aAAa/T,GAAG,OAAOhC,EAAEO,UAAU0H,OAAO,SAASjI,EAAEC,EAAEuB,GAAG,IAAIQ,EAAEa,EAAErB,IAAI4D,EAAE6G,MAAM/L,KAAKqY,YAAYvY,EAAEwN,QAAQtN,KAAKmM,GAAG6I,WAAWhV,KAAKmM,GAAG8I,aAAajV,KAAK0W,eAAelD,gBAAgBxT,KAAKmM,GAAGoL,WAAWvX,KAAKmM,GAAG8I,aAAanV,EAAEwN,QAAQ8I,QAACkC,UAACN,UAAUhY,KAAKoY,kBAAkBpY,KAAKgX,sBAAsBhX,KAAKmM,GAAGoM,cAAcvY,KAAK8W,YAAYf,EAAE/V,KAAK8W,aAAad,EAAEhW,KAAK8W,YAAY9W,KAAK8W,YAAY,CAAChX,EAAEwC,SAAStB,EAAElB,EAAEwC,SAASrB,EAAE,IAAIiV,EAAElW,KAAK8W,YAAY9W,KAAK8W,YAAY,QAAQhV,EAAEhC,EAAE4M,gBAAW,IAAS5K,EAAEA,EAAE,GAAGmU,EAAEjW,KAAK8W,YAAY9W,KAAK8W,YAAYhX,EAAEwN,QAAQ8I,QAAAA,UAAE4B,UAAU,CAAClY,EAAEsC,MAAMtC,EAAEuC,OAAO,GAAG,CAACvC,EAAEyN,OAAOzN,EAAEyN,OAAO,IAAIiJ,EAAExW,KAAK6W,iBAAiB7W,KAAKmM,GAAGpM,EAAED,EAAEyO,UAAUvO,KAAKmM,GAAGsL,iBAAiBzX,KAAK0W,eAAe1C,yBAAwB,EAAGhU,KAAK6W,kBAAkB7W,KAAKmM,GAAGsL,iBAAiBzX,KAAK0W,eAAe5C,oBAAmB,EAAG9T,KAAK8W,aAAa9W,KAAKmM,GAAGsL,iBAAiBzX,KAAK0W,eAAezC,sBAAqB,EAAGjU,KAAK+W,eAAejX,EAAE0Y,OAAO,GAAG1Y,EAAE0Y,MAAM,EAAExY,KAAKmM,GAAGsM,OAAOzY,KAAKmM,GAAGuM,OAAO1Y,KAAKmM,GAAGwM,QAAQ3Y,KAAKmM,GAAGuM,OAAO1Y,KAAKmM,GAAGuL,UAAU1X,KAAK0W,eAAexC,qBAAqB,GAAG,IAAInS,EAAEsU,EAAEvW,EAAE6X,OAAO1S,EAAElD,EAAEY,EAAEC,EAAEb,EAAEsJ,EAAElC,EAAEpH,EAAE2M,EAAErE,EAAEtI,EAAEmD,EAAElF,KAAKmM,GAAGyL,UAAU5X,KAAK0W,eAAetC,kBAAkBnP,EAAErC,EAAEuG,EAAEkB,GAAGrK,KAAKmM,GAAG0L,UAAU7X,KAAK0W,eAAehC,aAAa,QAAQ/R,EAAE7C,EAAE0Y,aAAQ,IAAS7V,EAAEA,EAAE,GAAG7C,EAAEwN,QAAQ8I,QAACkC,UAACN,UAAUhY,KAAKmM,GAAG2L,WAAW9X,KAAKmM,GAAGyM,UAAU,EAAE,GAAG5Y,KAAKmM,GAAG2L,WAAW9X,KAAKmM,GAAG0M,aAAa,EAAE7Y,KAAKgX,sBAAsBhT,OAAO,GAAGhE,KAAKqY,UAAUvY,EAAEwN,OAAOxN,EAA/tD,GAAouDgZ,EAAE,WAAW,SAAShZ,EAAEA,EAAEC,EAAEuB,GAAGtB,KAAKmM,GAAGrM,EAAEE,KAAK0W,eAAe3W,EAAEC,KAAK+Y,eAAezX,EAAEtB,KAAKgZ,YAAY,KAAKhZ,KAAK6W,iBAAiBf,IAAI9V,KAAK8W,YAAYhB,IAAI9V,KAAK+W,cAAcjB,IAAI9V,KAAKiZ,YAAY,IAAIpD,aAAa,EAAE,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,KAAK7V,KAAKkZ,YAAY,IAAIrD,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO/V,EAAEO,UAAU0H,OAAO,SAASjI,EAAEC,EAAEuB,GAAG,IAAIQ,EAAEa,EAAEZ,EAAEkD,EAAE3D,IAAIxB,EAAE0O,OAAOxO,KAAKmM,GAAG6I,WAAWhV,KAAKmM,GAAG8I,aAAajV,KAAK0W,eAAelD,gBAAgBxT,KAAKmM,GAAGoL,WAAWvX,KAAKmM,GAAG8I,aAAajV,KAAKiZ,YAAYjZ,KAAKmM,GAAGoM,aAAavY,KAAKmM,GAAG6I,WAAWhV,KAAKmM,GAAG8I,aAAajV,KAAK0W,eAAehD,eAAe1T,KAAKmM,GAAGoL,WAAWvX,KAAKmM,GAAG8I,aAAajV,KAAKkZ,YAAYlZ,KAAKmM,GAAGoM,cAAcvY,KAAK8W,YAAYf,EAAE/V,KAAK8W,aAAad,EAAEhW,KAAK8W,YAAY9W,KAAK8W,YAAY,CAAChX,EAAEwC,SAAStB,EAAElB,EAAEwC,SAASrB,EAAE,IAAIiV,EAAElW,KAAK8W,YAAY9W,KAAK8W,YAAY,QAAQhV,EAAEhC,EAAE4M,gBAAW,IAAS5K,EAAEA,EAAE,GAAGmU,EAAEjW,KAAK8W,YAAY9W,KAAK8W,YAAY,CAAChX,EAAEsC,OAAOtC,EAAEqZ,gBAAgB,EAAE,GAAGrZ,EAAEuC,QAAQvC,EAAEsZ,cAAc,EAAE,GAAG,IAAIpZ,KAAK+W,cAAchB,EAAE/V,KAAK+W,eAAejX,EAAEoE,QAAQ8R,EAAEhW,KAAK+W,cAAc/W,KAAK+W,cAAc,CAACjX,EAAEoE,MAAMlD,EAAElB,EAAEuZ,MAAMC,aAAaxZ,EAAEoE,MAAMjD,EAAEnB,EAAEuZ,MAAME,cAAc,IAAItD,EAAEjW,KAAK+W,cAAc/W,KAAK+W,cAAc,CAACjX,EAAEoE,MAAM9B,MAAMtC,EAAEuZ,MAAMC,aAAaxZ,EAAEoE,MAAM7B,OAAOvC,EAAEuZ,MAAME,cAAc,KAAK/C,EAAExW,KAAK6W,iBAAiB7W,KAAKmM,GAAGpM,EAAED,EAAEyO,UAAUvO,KAAKmM,GAAGsL,iBAAiBzX,KAAK0W,eAAe1C,yBAAwB,EAAGhU,KAAK6W,kBAAkB7W,KAAKmM,GAAGsL,iBAAiBzX,KAAK0W,eAAe5C,oBAAmB,EAAG9T,KAAK8W,aAAa9W,KAAKmM,GAAGsL,iBAAiBzX,KAAK0W,eAAezC,sBAAqB,EAAGjU,KAAK+W,eAAe/W,KAAKmM,GAAGsM,OAAOzY,KAAKmM,GAAGuM,OAAO,IAAIxT,EAAElF,KAAK+Y,eAAeS,4BAA4B1Z,EAAEuZ,MAAMvZ,EAAE2Z,QAAQ,GAAGzZ,KAAKgZ,cAAc9T,GAAG5D,IAAIxB,EAAE0O,OAAOxO,KAAKmM,GAAGuN,YAAY1Z,KAAKmM,GAAGwN,WAAWzU,GAAGlF,KAAKmM,GAAGuL,UAAU1X,KAAK0W,eAAevC,eAAe,GAAGnU,KAAKgZ,YAAY9T,GAAGlF,KAAKmM,GAAGuL,UAAU1X,KAAK0W,eAAexC,qBAAqB,GAAGlU,KAAKmM,GAAG0L,UAAU7X,KAAK0W,eAAehC,aAAa,QAAQ/R,EAAE7C,EAAE0Y,aAAQ,IAAS7V,EAAEA,EAAE,GAAG3C,KAAKmM,GAAGuL,UAAU1X,KAAK0W,eAAerC,oBAAoBvU,EAAE8Z,UAAU,EAAE,GAAG9Z,EAAE8Z,UAAU,CAAC,IAAIhX,EAAEyT,EAAEvW,EAAE8Z,WAAWzQ,EAAEvG,EAAED,EAAE0H,EAAEzH,EAAEyI,EAAEJ,EAAErI,EAAE8L,EAAExD,EAAEtI,EAAEsC,EAAElF,KAAKmM,GAAGyL,UAAU5X,KAAK0W,eAAepC,iBAAiBnL,EAAEkB,EAAEY,EAAEC,GAAG,GAAGlL,KAAKmM,GAAGuL,UAAU1X,KAAK0W,eAAenC,oBAAoBzU,EAAE+Z,UAAU,EAAE,GAAG/Z,EAAE+Z,UAAU,CAAC,IAAI1O,EAAEkL,EAAEvW,EAAE+Z,WAAW1Q,EAAEgC,EAAExI,EAAE0H,EAAEc,EAAEE,EAAEJ,EAAEE,EAAEuD,EAAE1O,KAAKmM,GAAGyL,UAAU5X,KAAK0W,eAAelC,iBAAiBrL,EAAEkB,EAAEY,EAAE,QAAQlJ,EAAEjC,EAAE0Y,aAAQ,IAASzW,EAAEA,EAAE,GAAG/B,KAAKmM,GAAG0L,UAAU7X,KAAK0W,eAAejC,oBAAoB,QAAQxP,EAAEnF,EAAEga,oBAAe,IAAS7U,EAAEA,EAAE,GAAGjF,KAAKmM,GAAG2L,WAAW9X,KAAKmM,GAAGyM,UAAU,EAAE,IAAI9Y,EAA5+E,IAAk/E,SAASA,GAAGA,EAAEA,EAAE+O,OAAO,GAAG,SAAS/O,EAAEA,EAAEgP,QAAQ,GAAG,UAAUhP,EAAEA,EAAEiP,UAAU,GAAG,YAAYjP,EAAEA,EAAEkP,YAAY,GAAG,cAA5G,CAA2HiJ,QAACC,kBAAGD,QAACC,gBAAC,KAAK,IAAI6B,EAAE,IAAInL,EAAEoL,EAAE,IAAIpL,EAAEqL,EAAE,CAAC,GAAG,IAAI,IAAI,KAAKC,EAAEjC,QAACC,gBAACrJ,OAAOsL,EAAE,WAAW,SAASra,EAAEA,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKmM,GAAGrM,EAAEE,KAAK0W,eAAe3W,EAAEC,KAAK+Y,eAAezX,EAAEtB,KAAKoa,iBAAiBtY,EAAE9B,KAAKwO,KAAKtJ,EAAE2G,KAAK7L,KAAKiZ,YAAY,GAAGjZ,KAAKkZ,YAAY,GAAGlZ,KAAKgZ,YAAY,KAAKhZ,KAAKqa,SAAS,IAAIzL,EAAE5O,KAAKsa,cAAc,IAAI1L,EAAE5O,KAAK6W,iBAAiBf,IAAI9V,KAAK8W,YAAYhB,IAAI9V,KAAK+W,cAAcjB,IAAI,OAAOhW,EAAEO,UAAU0H,OAAO,SAASjI,EAAEC,EAAEuB,GAAG,IAAIQ,EAAE,IAAIhC,EAAE+M,KAAK,MAAM,IAAI6D,MAAM,qBAAqB1Q,KAAKua,iBAAiBza,GAAG,IAAI6C,EAAE3C,KAAKoa,iBAAiBjJ,YAAYrR,EAAE0a,OAAOC,WAAW3a,EAAEkS,KAAKlS,EAAE0a,OAAO1N,UAAU9M,KAAK0a,qBAAqB/X,EAAE7C,GAAGE,KAAKmM,GAAG6I,WAAWhV,KAAKmM,GAAG8I,aAAajV,KAAK0W,eAAelD,gBAAgBxT,KAAKmM,GAAGoL,WAAWvX,KAAKmM,GAAG8I,aAAa,IAAIY,aAAa7V,KAAKiZ,aAAajZ,KAAKmM,GAAGqL,cAAcxX,KAAKmM,GAAG6I,WAAWhV,KAAKmM,GAAG8I,aAAajV,KAAK0W,eAAehD,eAAe1T,KAAKmM,GAAGoL,WAAWvX,KAAKmM,GAAG8I,aAAa,IAAIY,aAAa7V,KAAKkZ,aAAalZ,KAAKmM,GAAGqL,cAAcxX,KAAK8W,YAAYf,EAAE/V,KAAK8W,aAAa9W,KAAK2a,2BAA2B7a,GAAGkW,EAAEhW,KAAK8W,YAAY9W,KAAK8W,YAAY,CAAC9W,KAAKsa,cAActZ,EAAEhB,KAAKsa,cAAcrZ,EAAE,IAAIiV,EAAElW,KAAK8W,YAAY9W,KAAK8W,YAAY,QAAQhV,EAAEhC,EAAE4M,gBAAW,IAAS5K,EAAEA,EAAE,GAAGmU,EAAEjW,KAAK8W,YAAY9W,KAAK8W,YAAY,CAAChX,EAAEgN,SAAShN,EAAEgN,SAAS,IAAI9M,KAAK+W,cAAchB,EAAE/V,KAAK+W,eAAeP,EAAExW,KAAK6W,iBAAiB7W,KAAKmM,GAAGpM,EAAED,EAAEyO,UAAUvO,KAAKmM,GAAGsL,iBAAiBzX,KAAK0W,eAAe1C,yBAAwB,EAAGhU,KAAK6W,kBAAkB7W,KAAKmM,GAAGsL,iBAAiBzX,KAAK0W,eAAe5C,oBAAmB,EAAG9T,KAAK8W,aAAa9W,KAAKmM,GAAGsL,iBAAiBzX,KAAK0W,eAAezC,sBAAqB,EAAGjU,KAAK+W,eAAejX,EAAE0Y,MAAM,EAAExY,KAAKmM,GAAGsM,OAAOzY,KAAKmM,GAAGuM,OAAO1Y,KAAKmM,GAAGwM,QAAQ3Y,KAAKmM,GAAGuM,OAAO,IAAI3W,EAAE/B,KAAK+Y,eAAe6B,6BAA6B,cAAcjY,EAAE0P,eAAe1P,EAAE6J,OAAO1M,EAAE2Z,QAAQzZ,KAAKgZ,cAAcjX,GAAGT,IAAI4D,EAAE2G,OAAO7L,KAAKmM,GAAGuN,YAAY1Z,KAAKmM,GAAGwN,WAAW5X,GAAG/B,KAAKmM,GAAGuL,UAAU1X,KAAK0W,eAAevC,eAAe,GAAGnU,KAAKgZ,YAAYjX,GAAG/B,KAAKmM,GAAGuL,UAAU1X,KAAK0W,eAAerC,oBAAoB,GAAGrU,KAAKmM,GAAGuL,UAAU1X,KAAK0W,eAAexC,qBAAqB,GAAGlU,KAAKmM,GAAG0L,UAAU7X,KAAK0W,eAAehC,aAAa5U,EAAE0Y,OAAO,IAAIvT,EAAEoR,EAAEvW,EAAE6X,OAAO/U,EAAEqC,EAAEtC,EAAEwG,EAAElE,EAAEoG,EAAEhB,EAAEpF,EAAEyJ,EAAEzD,EAAEhG,EAAEC,EAAElF,KAAKmM,GAAGyL,UAAU5X,KAAK0W,eAAelC,iBAAiB5R,EAAEuG,EAAEkB,EAAEY,GAAGjL,KAAKmM,GAAG0L,UAAU7X,KAAK0W,eAAejC,oBAAoB,GAAGzU,KAAKmM,GAAGuL,UAAU1X,KAAK0W,eAAenC,oBAAoB,GAAGvU,KAAKmM,GAAG2L,WAAW9X,KAAKmM,GAAGyM,UAAU,EAAE5Y,KAAKiZ,YAAYjV,OAAO,IAAIlE,EAAEO,UAAUka,iBAAiB,SAASza,GAAG,IAAIC,EAAEuB,EAAEQ,EAAEa,EAAEZ,EAAEkD,EAAEC,EAAEtC,EAAEuG,EAAEkB,EAAEvK,EAAE0a,QAAQ1a,EAAE0a,OAAOK,OAAO,QAAQ9a,EAAED,EAAE0a,OAAOK,cAAS,IAAS9a,EAAEA,EAAEga,EAAEja,EAAE0a,OAAOM,QAAQ,QAAQxZ,EAAExB,EAAE0a,OAAOM,eAAU,IAASxZ,EAAEA,EAAE0Y,EAAEla,EAAE0a,OAAO1N,SAAS,QAAQhL,EAAEhC,EAAE0a,OAAO1N,gBAAW,IAAShL,EAAEA,EAAE,GAAGhC,EAAE0a,OAAOC,WAAW,QAAQ9X,EAAE7C,EAAE0a,OAAOC,kBAAa,IAAS9X,EAAEA,EAAEsX,GAAGna,EAAE0a,OAAO,CAACK,OAAOd,EAAEe,QAAQd,EAAElN,SAAS,GAAG2N,WAAWR,GAAGna,EAAE6X,MAAM,QAAQ5V,EAAEjC,EAAE6X,aAAQ,IAAS5V,EAAEA,EAAE,UAAUjC,EAAEkN,cAAc,QAAQ/H,EAAEnF,EAAEkN,qBAAgB,IAAS/H,EAAEA,EAAE,EAAEnF,EAAEiN,eAAe,QAAQ7H,EAAEpF,EAAEiN,sBAAiB,IAAS7H,EAAEA,EAAE,EAAEpF,EAAE0Y,MAAM,QAAQ5V,EAAE9C,EAAE0Y,aAAQ,IAAS5V,EAAEA,EAAE,EAAE9C,EAAEmQ,YAAY,QAAQ9G,EAAErJ,EAAEmQ,mBAAc,IAAS9G,EAAEA,EAAE+Q,EAAEpa,EAAE4M,SAAS,QAAQrC,EAAEvK,EAAE4M,gBAAW,IAASrC,EAAEA,EAAE,GAAGvK,EAAEO,UAAUqa,qBAAqB,SAAS5a,EAAEC,GAAG,IAAIuB,EAAEvB,EAAE8M,KAAK/K,EAAE/B,EAAE+M,SAASnK,EAAE5C,EAAEya,OAAOzY,EAAEhC,EAAEiN,cAAc/H,EAAElF,EAAEgN,eAAe/M,KAAKiZ,YAAY,GAAGjZ,KAAKkZ,YAAY,GAAG,IAAIhU,EAAE,EAAEtC,EAAE,EAAEuG,EAAE,EAAEpH,GAAGD,EAAEmD,GAAGnD,EAAE,IAAI,IAAIuI,EAAE,EAAEA,EAAE/I,EAAE0C,OAAOqG,IAAI,CAAC,IAAIY,EAAE3J,EAAE+I,GAAG,GAAG,OAAOY,EAAE,CAAC,IAAIC,EAAEpL,EAAEoS,OAAO5R,IAAI2K,GAAG,GAAGC,EAAE,CAAC,IAAIC,EAAED,EAAE9I,MAAMtC,EAAEwS,eAAetS,KAAKiZ,YAAYjQ,KAAK9D,EAAEtC,EAAE,EAAEsC,EAAEiG,EAAEvI,EAAE,EAAEsC,EAAEtC,EAAEsC,EAAEtC,EAAEsC,EAAEiG,EAAEvI,EAAE,EAAEsC,EAAEiG,EAAEvI,GAAG,IAAIwI,EAAEF,EAAEiH,GAAGrS,EAAEyS,SAASzS,EAAEwS,eAAejH,GAAGH,EAAEiH,GAAGrS,EAAEyS,SAAS,GAAGzS,EAAEwS,eAAehH,GAAGF,EAAEzI,EAAEkY,OAAO7Z,GAAGlB,EAAE0M,OAAOpK,MAAMnB,GAAGoK,EAAE1I,EAAEkY,OAAO5Z,GAAGnB,EAAE0M,OAAOpK,MAAM8J,GAAGd,EAAEF,EAAE9I,MAAMO,EAAEmY,QAAQ9Z,GAAGlB,EAAE0M,OAAOpK,MAAMpB,GAAGqK,EAAEvL,EAAEwS,eAAe3P,EAAEmY,QAAQ7Z,GAAGnB,EAAE0M,OAAOpK,MAAMpC,KAAKkZ,YAAYlQ,KAAKsC,EAAEtK,EAAEkL,EAAElL,EAAEsK,EAAErK,EAAEqK,EAAErK,EAAEiL,EAAElL,EAAEkL,EAAEjL,GAAGiE,GAAGiG,EAAEpJ,QAAQoH,EAAEzI,KAAKyM,IAAIhE,EAAEjE,GAAGA,EAAE,EAAEtC,GAAG,EAAEqC,EAAEjF,KAAKqa,SAAS9Z,IAAIG,KAAKyM,IAAIhE,EAAEjE,GAAGpD,EAAEpB,KAAKiM,IAAI/J,EAAE,GAAGd,IAAIhC,EAAEO,UAAUsa,2BAA2B,SAAS7a,GAAGE,KAAKsa,cAAc/Z,IAAIT,EAAEwC,SAAStB,GAAGlB,EAAEmQ,cAAcgI,QAACC,gBAACrJ,QAAQ7O,KAAKqa,SAASrZ,EAAE,EAAE,GAAGlB,EAAEwC,SAASrB,GAAGnB,EAAEmQ,cAAcgI,QAACC,gBAACrJ,QAAQ/O,EAAEmQ,cAAcgI,QAAAA,gBAAEjJ,YAAYhP,KAAKqa,SAASpZ,EAAE,EAAEnB,EAAEmQ,cAAcgI,QAAAA,gBAAEnJ,QAAQ9O,KAAKqa,SAASpZ,EAAE,KAAKnB,EAAz8H,GAA88Hib,EAAE,WAAW,SAASjb,EAAEA,EAAEC,EAAEuB,GAAGtB,KAAKmM,GAAGrM,EAAEE,KAAK0W,eAAe3W,EAAEC,KAAK+Y,eAAezX,EAAEtB,KAAKiZ,YAAY,GAAGjZ,KAAKkZ,YAAY,GAAGlZ,KAAKgZ,YAAY,KAAKhZ,KAAKgb,QAAQ,CAAC5Y,MAAM,EAAE6L,UAAU,EAAEC,WAAW,EAAE+M,UAAU,IAAIrM,EAAEsM,WAAW,IAAItM,EAAEuM,SAAS,EAAEC,UAAU,EAAEC,cAAc,IAAIzM,GAAG5O,KAAK6W,iBAAiBf,IAAI9V,KAAK8W,YAAYhB,IAAI9V,KAAK+W,cAAcjB,IAAI,OAAOhW,EAAEO,UAAU0H,OAAO,SAASjI,EAAEC,EAAEuB,GAAG,IAAIQ,EAAEa,EAAEZ,EAAEkD,EAAE,GAAG,IAAInF,EAAEsO,YAAYlB,QAAQ,SAASpN,EAAEC,GAAG,OAAOD,EAAEC,IAAI,GAAG,MAAM,IAAI2Q,MAAM,qBAAqB,GAAG1Q,KAAKsb,eAAexb,GAAGE,KAAKub,iBAAiBzb,GAAG,IAAIE,KAAKiZ,YAAYjV,OAAO,MAAM,IAAI0M,MAAM,qBAAqB1Q,KAAKmM,GAAG6I,WAAWhV,KAAKmM,GAAG8I,aAAajV,KAAK0W,eAAelD,gBAAgBxT,KAAKmM,GAAGoL,WAAWvX,KAAKmM,GAAG8I,aAAa,IAAIY,aAAa7V,KAAKiZ,aAAajZ,KAAKmM,GAAGqL,cAAcxX,KAAKmM,GAAG6I,WAAWhV,KAAKmM,GAAG8I,aAAajV,KAAK0W,eAAehD,eAAe1T,KAAKmM,GAAGoL,WAAWvX,KAAKmM,GAAG8I,aAAa,IAAIY,aAAa7V,KAAKkZ,aAAalZ,KAAKmM,GAAGqL,cAAcxX,KAAK8W,YAAYf,EAAE/V,KAAK8W,aAAad,EAAEhW,KAAK8W,YAAY9W,KAAK8W,YAAY,CAAChX,EAAEkO,eAAehN,EAAElB,EAAEkO,eAAe/M,EAAE,IAAIiV,EAAElW,KAAK8W,YAAY9W,KAAK8W,YAAY,QAAQhV,EAAEhC,EAAE4M,gBAAW,IAAS5K,EAAEA,EAAE,GAAGmU,EAAEjW,KAAK8W,YAAY9W,KAAK8W,YAAY,CAAChX,EAAE+N,QAAQI,WAAWnO,EAAEqZ,gBAAgB,EAAE,GAAGrZ,EAAE+N,QAAQK,YAAYpO,EAAEsZ,cAAc,EAAE,GAAG,IAAIpZ,KAAK+W,cAAchB,EAAE/V,KAAK+W,eAAed,EAAEjW,KAAK+W,cAAc/W,KAAK+W,cAAc,CAAC/W,KAAKgb,QAAQ/M,UAAUnO,EAAEkb,QAAQ3B,MAAMC,aAAatZ,KAAKgb,QAAQ9M,WAAWpO,EAAEkb,QAAQ3B,MAAME,cAAc,IAAI/C,EAAExW,KAAK6W,iBAAiB7W,KAAKmM,GAAGpM,EAAED,EAAEyO,UAAUvO,KAAKmM,GAAGsL,iBAAiBzX,KAAK0W,eAAe1C,yBAAwB,EAAGhU,KAAK6W,kBAAkB7W,KAAKmM,GAAGsL,iBAAiBzX,KAAK0W,eAAe5C,oBAAmB,EAAG9T,KAAK8W,aAAa9W,KAAKmM,GAAGsL,iBAAiBzX,KAAK0W,eAAezC,sBAAqB,EAAGjU,KAAK+W,eAAe/W,KAAKmM,GAAGsM,OAAOzY,KAAKmM,GAAGuM,OAAO,IAAI9V,EAAE5C,KAAK+Y,eAAeS,4BAA4B1Z,EAAEkb,QAAQ3B,MAAMvZ,EAAE2Z,QAAQ,GAAGzZ,KAAKgZ,cAAcpW,GAAGtB,IAAI4D,EAAE4G,UAAU9L,KAAKmM,GAAGuN,YAAY1Z,KAAKmM,GAAGwN,WAAW/W,GAAG5C,KAAKmM,GAAGuL,UAAU1X,KAAK0W,eAAevC,eAAe,GAAGnU,KAAKgZ,YAAYpW,GAAG5C,KAAKmM,GAAGuL,UAAU1X,KAAK0W,eAAexC,qBAAqB,GAAGlU,KAAKmM,GAAG0L,UAAU7X,KAAK0W,eAAehC,aAAa,QAAQ/R,EAAE7C,EAAE0Y,aAAQ,IAAS7V,EAAEA,EAAE,GAAG3C,KAAKmM,GAAGuL,UAAU1X,KAAK0W,eAAerC,oBAAoBvU,EAAE8Z,UAAU,EAAE,GAAG9Z,EAAE8Z,UAAU,CAAC,IAAIzQ,EAAEkN,EAAEvW,EAAE8Z,WAAWvP,EAAElB,EAAExG,EAAEsI,EAAE9B,EAAEkC,EAAEH,EAAE/B,EAAEuF,EAAEvD,EAAEhC,EAAEjE,EAAElF,KAAKmM,GAAGyL,UAAU5X,KAAK0W,eAAepC,iBAAiBjK,EAAEY,EAAEC,EAAEC,GAAG,GAAGnL,KAAKmM,GAAGuL,UAAU1X,KAAK0W,eAAenC,oBAAoBzU,EAAE+Z,UAAU,EAAE,GAAG/Z,EAAE+Z,UAAU,CAAC,IAAIzO,EAAEiL,EAAEvW,EAAE+Z,WAAWxP,EAAEe,EAAEzI,EAAEsI,EAAEG,EAAEC,EAAEH,EAAEE,EAAEsD,EAAE1O,KAAKmM,GAAGyL,UAAU5X,KAAK0W,eAAelC,iBAAiBnK,EAAEY,EAAEC,EAAE,QAAQnJ,EAAEjC,EAAE0Y,aAAQ,IAASzW,EAAEA,EAAE,GAAG/B,KAAKmM,GAAG0L,UAAU7X,KAAK0W,eAAejC,oBAAoB,QAAQxP,EAAEnF,EAAEga,oBAAe,IAAS7U,EAAEA,EAAE,GAAGjF,KAAKmM,GAAG2L,WAAW9X,KAAKmM,GAAGyM,UAAU,EAAE5Y,KAAKiZ,YAAYjV,OAAO,IAAIlE,EAAEO,UAAUib,eAAe,SAASxb,GAAG,IAAIC,EAAEuB,EAAEQ,EAAEa,EAAEZ,EAAEkD,EAAEC,EAAEtC,EAAE9C,EAAEkb,QAAQpY,EAAEiY,OAAO,QAAQ9a,EAAE6C,EAAEiY,cAAS,IAAS9a,EAAEA,EAAE,IAAI6O,EAAEhM,EAAEkY,QAAQ,QAAQxZ,EAAEsB,EAAEkY,eAAU,IAASxZ,EAAEA,EAAE,IAAIsN,EAAEhM,EAAE4Y,WAAW,QAAQ1Z,EAAEc,EAAE4Y,kBAAa,IAAS1Z,EAAEA,EAAE,IAAI8M,EAAE5O,KAAKgb,QAAQ5Y,MAAMQ,EAAER,MAAMpC,KAAKgb,QAAQ/M,UAAUrL,EAAEqL,WAAW,QAAQtL,EAAEC,EAAEiY,OAAO7Z,SAAI,IAAS2B,EAAEA,EAAE,IAAI,QAAQZ,EAAEa,EAAEkY,QAAQ9Z,SAAI,IAASe,EAAEA,EAAE,GAAG/B,KAAKgb,QAAQ9M,WAAWtL,EAAEsL,YAAY,QAAQjJ,EAAErC,EAAEiY,OAAO5Z,SAAI,IAASgE,EAAEA,EAAE,IAAI,QAAQC,EAAEtC,EAAEkY,QAAQ7Z,SAAI,IAASiE,EAAEA,EAAE,GAAGlF,KAAKgb,QAAQC,UAAU1a,IAAIqC,EAAEiY,OAAO7Z,EAAEhB,KAAKgb,QAAQ/M,UAAUrL,EAAEiY,OAAO5Z,EAAEjB,KAAKgb,QAAQ9M,YAAYlO,KAAKgb,QAAQE,WAAW3a,IAAIqC,EAAEkY,QAAQ9Z,EAAEhB,KAAKgb,QAAQ/M,UAAUrL,EAAEkY,QAAQ7Z,EAAEjB,KAAKgb,QAAQ9M,YAAYlO,KAAKgb,QAAQK,cAAc9a,IAAIqC,EAAE4Y,WAAWxa,EAAEhB,KAAKgb,QAAQ/M,UAAUrL,EAAE4Y,WAAWva,EAAEjB,KAAKgb,QAAQ9M,YAAYlO,KAAKgb,QAAQG,SAAS,EAAEnb,KAAKgb,QAAQC,UAAUja,EAAEhB,KAAKgb,QAAQE,WAAWla,EAAE,EAAEhB,KAAKgb,QAAQK,cAAcra,EAAEhB,KAAKgb,QAAQI,UAAU,EAAEpb,KAAKgb,QAAQC,UAAUha,EAAEjB,KAAKgb,QAAQE,WAAWja,EAAE,EAAEjB,KAAKgb,QAAQK,cAAcpa,GAAGnB,EAAEO,UAAUkb,iBAAiB,SAASzb,GAAG,IAAIC,EAAEC,KAAKsB,EAAExB,EAAEsO,YAAYtM,EAAEhC,EAAE+N,QAAQ7N,KAAKiZ,YAAY,GAAGjZ,KAAKkZ,YAAY,GAAG,IAAIvW,EAAEjC,KAAK+a,MAAMna,EAAE0C,OAAOlC,EAAEM,OAAOd,EAAEwH,SAAO,SAAWhJ,EAAEwB,GAAG,GAAG,IAAIxB,EAAE,CAAC,IAAIiC,EAAET,EAAEQ,EAAEM,MAAMN,EAAEM,MAAM,EAAE6C,EAAEtC,EAAE,EAAEjC,KAAK+a,MAAMna,EAAEQ,EAAEM,OAAOrC,EAAEkZ,YAAYjQ,KAAKjH,EAAEkD,EAAE,EAAElD,EAAE,EAAEkD,EAAE,EAAElD,EAAEkD,EAAElD,EAAEkD,EAAElD,EAAE,EAAEkD,EAAE,EAAElD,EAAE,EAAEkD,GAAG,IAAIC,GAAGpF,EAAE,GAAGC,EAAEib,QAAQ5Y,MAAMrC,EAAEib,QAAQC,UAAUja,EAAEjB,EAAEib,QAAQK,cAAcra,EAAE4B,EAAElC,KAAK+a,OAAO3b,EAAE,GAAGC,EAAEib,QAAQ5Y,OAAOrC,EAAEib,QAAQC,UAAUha,EAAElB,EAAEib,QAAQK,cAAcpa,EAAElB,EAAEmZ,YAAYlQ,KAAK9D,EAAEtC,EAAE7C,EAAEib,QAAQI,UAAUlW,EAAEnF,EAAEib,QAAQG,SAASvY,EAAE7C,EAAEib,QAAQI,UAAUlW,EAAEtC,EAAEsC,EAAEtC,EAAEsC,EAAEnF,EAAEib,QAAQG,SAASvY,EAAE7C,EAAEib,QAAQI,UAAUlW,EAAEnF,EAAEib,QAAQG,SAASvY,QAAQ9C,EAAn0I,GAAw0I4b,EAAE,WAAW,SAAS5b,EAAEA,EAAEC,EAAEuB,GAAGtB,KAAKmM,GAAGrM,EAAEE,KAAK0W,eAAe3W,EAAEC,KAAK+Y,eAAezX,EAAEtB,KAAKgZ,YAAY,KAAKhZ,KAAK6W,iBAAiBf,IAAI9V,KAAK8W,YAAYhB,IAAI9V,KAAK+W,cAAcjB,IAAI9V,KAAKiZ,YAAY,IAAIpD,aAAa,EAAE,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,KAAK7V,KAAKkZ,YAAY,IAAIrD,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO/V,EAAEO,UAAU0H,OAAO,SAASjI,EAAEC,EAAEuB,GAAG,IAAIQ,EAAEa,EAAEZ,EAAEkD,EAAE3D,IAAIxB,EAAE0O,OAAOxO,KAAKmM,GAAG6I,WAAWhV,KAAKmM,GAAG8I,aAAajV,KAAK0W,eAAelD,gBAAgBxT,KAAKmM,GAAGoL,WAAWvX,KAAKmM,GAAG8I,aAAajV,KAAKiZ,YAAYjZ,KAAKmM,GAAGoM,aAAavY,KAAKmM,GAAG6I,WAAWhV,KAAKmM,GAAG8I,aAAajV,KAAK0W,eAAehD,eAAe1T,KAAKmM,GAAGoL,WAAWvX,KAAKmM,GAAG8I,aAAajV,KAAKkZ,YAAYlZ,KAAKmM,GAAGoM,cAAcvY,KAAK8W,YAAYf,EAAE/V,KAAK8W,aAAad,EAAEhW,KAAK8W,YAAY9W,KAAK8W,YAAY,CAAChX,EAAEwC,SAAStB,EAAElB,EAAEwC,SAASrB,EAAE,IAAIiV,EAAElW,KAAK8W,YAAY9W,KAAK8W,YAAY,QAAQhV,EAAEhC,EAAE4M,gBAAW,IAAS5K,EAAEA,EAAE,GAAGmU,EAAEjW,KAAK8W,YAAY9W,KAAK8W,YAAY,CAAChX,EAAEsC,OAAOtC,EAAEqZ,gBAAgB,EAAE,GAAGrZ,EAAEuC,QAAQvC,EAAEsZ,cAAc,EAAE,GAAG,IAAIpZ,KAAK+W,cAAchB,EAAE/V,KAAK+W,eAAejX,EAAEoE,QAAQ8R,EAAEhW,KAAK+W,cAAc/W,KAAK+W,cAAc,CAACjX,EAAEoE,MAAMlD,EAAElB,EAAE6b,MAAMC,WAAW9b,EAAEoE,MAAMjD,EAAEnB,EAAE6b,MAAME,YAAY,IAAI5F,EAAEjW,KAAK+W,cAAc/W,KAAK+W,cAAc,CAACjX,EAAEoE,MAAM9B,MAAMtC,EAAE6b,MAAMC,WAAW9b,EAAEoE,MAAM7B,OAAOvC,EAAE6b,MAAME,YAAY,KAAKrF,EAAExW,KAAK6W,iBAAiB7W,KAAKmM,GAAGpM,EAAED,EAAEyO,UAAUvO,KAAKmM,GAAGsL,iBAAiBzX,KAAK0W,eAAe1C,yBAAwB,EAAGhU,KAAK6W,kBAAkB7W,KAAKmM,GAAGsL,iBAAiBzX,KAAK0W,eAAe5C,oBAAmB,EAAG9T,KAAK8W,aAAa9W,KAAKmM,GAAGsL,iBAAiBzX,KAAK0W,eAAezC,sBAAqB,EAAGjU,KAAK+W,eAAe/W,KAAKmM,GAAGsM,OAAOzY,KAAKmM,GAAGuM,OAAO,IAAIxT,EAAElF,KAAK+Y,eAAe+C,4BAA4Bhc,EAAE6b,OAAO,GAAG3b,KAAKgZ,cAAc9T,GAAG5D,IAAIxB,EAAE0O,OAAOxO,KAAKmM,GAAGuN,YAAY1Z,KAAKmM,GAAGwN,WAAWzU,GAAGlF,KAAKmM,GAAGuL,UAAU1X,KAAK0W,eAAevC,eAAe,GAAGnU,KAAKgZ,YAAY9T,GAAGlF,KAAKmM,GAAG4P,WAAW/b,KAAKmM,GAAGwN,WAAW,EAAE3Z,KAAKmM,GAAG6P,KAAKhc,KAAKmM,GAAG6P,KAAKhc,KAAKmM,GAAG8P,cAAcnc,EAAE6b,OAAO3b,KAAKmM,GAAGuL,UAAU1X,KAAK0W,eAAexC,qBAAqB,GAAGlU,KAAKmM,GAAG0L,UAAU7X,KAAK0W,eAAehC,aAAa,QAAQ/R,EAAE7C,EAAE0Y,aAAQ,IAAS7V,EAAEA,EAAE,GAAG3C,KAAKmM,GAAGuL,UAAU1X,KAAK0W,eAAerC,oBAAoBvU,EAAE8Z,UAAU,EAAE,GAAG9Z,EAAE8Z,UAAU,CAAC,IAAIhX,EAAEyT,EAAEvW,EAAE8Z,WAAWzQ,EAAEvG,EAAED,EAAE0H,EAAEzH,EAAEyI,EAAEJ,EAAErI,EAAE8L,EAAExD,EAAEtI,EAAEsC,EAAElF,KAAKmM,GAAGyL,UAAU5X,KAAK0W,eAAepC,iBAAiBnL,EAAEkB,EAAEY,EAAEC,GAAG,GAAGlL,KAAKmM,GAAGuL,UAAU1X,KAAK0W,eAAenC,oBAAoBzU,EAAE+Z,UAAU,EAAE,GAAG/Z,EAAE+Z,UAAU,CAAC,IAAI1O,EAAEkL,EAAEvW,EAAE+Z,WAAW1Q,EAAEgC,EAAExI,EAAE0H,EAAEc,EAAEE,EAAEJ,EAAEE,EAAEuD,EAAE1O,KAAKmM,GAAGyL,UAAU5X,KAAK0W,eAAelC,iBAAiBrL,EAAEkB,EAAEY,EAAE,QAAQlJ,EAAEjC,EAAE0Y,aAAQ,IAASzW,EAAEA,EAAE,GAAG/B,KAAKmM,GAAG0L,UAAU7X,KAAK0W,eAAejC,oBAAoB,QAAQxP,EAAEnF,EAAEga,oBAAe,IAAS7U,EAAEA,EAAE,GAAGjF,KAAKmM,GAAG2L,WAAW9X,KAAKmM,GAAGyM,UAAU,EAAE,IAAI9Y,EAA5jF,GAAikFoc,EAAE,WAAW,SAASpc,EAAEA,GAAGE,KAAKmM,GAAGrM,EAAE,OAAOA,EAAEO,UAAU8b,gBAAgB,SAASrc,EAAEC,EAAEuB,GAAG,IAAIQ,EAAE9B,KAAK,YAAO,IAASD,IAAIA,GAAE,QAAI,IAASuB,IAAIA,EAAE,MAAMA,EAAE,MAAMA,EAAEA,EAAEtB,KAAKmM,GAAGiE,gBAAgBtQ,EAAEwZ,aAAatZ,KAAKoc,iBAAiBtc,EAAEwB,EAAEvB,GAAGD,EAAEuc,iBAAiB,QAAM,WAAa,OAAOva,EAAEsa,iBAAiBtc,EAAEwB,EAAEvB,MAAMuB,GAAGxB,EAAEO,UAAUic,iBAAiB,SAASxc,EAAEC,EAAEuB,GAAG,YAAO,IAASvB,IAAIA,GAAE,QAAI,IAASuB,IAAIA,EAAE,MAAMA,EAAE,MAAMA,EAAEA,EAAEtB,KAAKmM,GAAGiE,gBAAgBpQ,KAAKoc,iBAAiBtc,EAAEwB,EAAEvB,GAAGuB,GAAGxB,EAAEO,UAAUkc,mBAAmB,WAAW,IAAIzc,EAAEE,KAAKmM,GAAGiE,gBAAgB,OAAOpQ,KAAKmM,GAAGuN,YAAY1Z,KAAKmM,GAAGwN,WAAW7Z,GAAGE,KAAKmM,GAAG4P,WAAW/b,KAAKmM,GAAGwN,WAAW,EAAE3Z,KAAKmM,GAAG6P,KAAK,EAAE,EAAE,EAAEhc,KAAKmM,GAAG6P,KAAKhc,KAAKmM,GAAG8P,cAAc,IAAIO,WAAW,CAAC,EAAE,EAAE,EAAE,OAAOxc,KAAKmM,GAAGsQ,cAAczc,KAAKmM,GAAGwN,WAAW3Z,KAAKmM,GAAGuQ,eAAe1c,KAAKmM,GAAGwQ,eAAe3c,KAAKmM,GAAGsQ,cAAczc,KAAKmM,GAAGwN,WAAW3Z,KAAKmM,GAAGyQ,eAAe5c,KAAKmM,GAAGwQ,eAAe3c,KAAKmM,GAAGsQ,cAAczc,KAAKmM,GAAGwN,WAAW3Z,KAAKmM,GAAG0Q,mBAAmB7c,KAAKmM,GAAG2Q,QAAQ9c,KAAKmM,GAAGsQ,cAAczc,KAAKmM,GAAGwN,WAAW3Z,KAAKmM,GAAG4Q,mBAAmB/c,KAAKmM,GAAG2Q,QAAQ9c,KAAKmM,GAAGuN,YAAY1Z,KAAKmM,GAAGwN,WAAW,MAAM7Z,GAAGA,EAAEO,UAAU+b,iBAAiB,SAAStc,EAAEC,EAAEuB,QAAG,IAASA,IAAIA,GAAE,GAAItB,KAAKmM,GAAGuN,YAAY1Z,KAAKmM,GAAGwN,WAAW5Z,GAAGC,KAAKmM,GAAG4P,WAAW/b,KAAKmM,GAAGwN,WAAW,EAAE3Z,KAAKmM,GAAG6P,KAAKhc,KAAKmM,GAAG6P,KAAKhc,KAAKmM,GAAG8P,cAAcnc,GAAGE,KAAKmM,GAAGsQ,cAAczc,KAAKmM,GAAGwN,WAAW3Z,KAAKmM,GAAGuQ,eAAe1c,KAAKmM,GAAGwQ,eAAe3c,KAAKmM,GAAGsQ,cAAczc,KAAKmM,GAAGwN,WAAW3Z,KAAKmM,GAAGyQ,eAAe5c,KAAKmM,GAAGwQ,gBAAe,IAAKrb,GAAGtB,KAAKmM,GAAGsQ,cAAczc,KAAKmM,GAAGwN,WAAW3Z,KAAKmM,GAAG0Q,mBAAmB7c,KAAKmM,GAAG6Q,SAAShd,KAAKmM,GAAGsQ,cAAczc,KAAKmM,GAAGwN,WAAW3Z,KAAKmM,GAAG4Q,mBAAmB/c,KAAKmM,GAAG6Q,WAAWhd,KAAKmM,GAAGsQ,cAAczc,KAAKmM,GAAGwN,WAAW3Z,KAAKmM,GAAG0Q,mBAAmB7c,KAAKmM,GAAG2Q,QAAQ9c,KAAKmM,GAAGsQ,cAAczc,KAAKmM,GAAGwN,WAAW3Z,KAAKmM,GAAG4Q,mBAAmB/c,KAAKmM,GAAG2Q,SAAS9c,KAAKmM,GAAGuN,YAAY1Z,KAAKmM,GAAGwN,WAAW,OAAO7Z,EAAr0D,GAA00Dmd,GAAE,WAAW,SAASnd,EAAEA,GAAGE,KAAKkd,eAAepd,EAAEE,KAAKmd,SAAS,IAAIrM,IAAI,OAAOhR,EAAEO,UAAUmZ,4BAA4B,SAAS1Z,EAAEC,GAAG,IAAIuB,EAAE,YAAO,IAASvB,IAAIA,GAAE,GAAI,QAAQuB,EAAEtB,KAAKmd,SAAS7c,IAAIoR,OAAOC,IAAI7R,EAAEsd,aAAQ,IAAS9b,EAAEA,EAAEtB,KAAKqd,uBAAuBvd,EAAEC,IAAID,EAAEO,UAAUgd,uBAAuB,SAASvd,EAAEC,QAAG,IAASA,IAAIA,GAAE,GAAI,IAAIuB,EAAEtB,KAAKkd,eAAef,gBAAgBrc,EAAEC,GAAG,OAAOC,KAAKmd,SAAS5c,IAAImR,OAAOC,IAAI7R,EAAEsd,KAAK9b,GAAGA,GAAGxB,EAAEO,UAAUua,6BAA6B,SAAS9a,EAAEC,EAAEuB,GAAG,IAAIQ,EAAE,YAAO,IAASR,IAAIA,GAAE,GAAI,QAAQQ,EAAE9B,KAAKmd,SAAS7c,IAAIoR,OAAOC,IAAI7R,WAAM,IAASgC,EAAEA,EAAE9B,KAAKsd,wBAAwBxd,EAAEC,EAAEuB,IAAIxB,EAAEO,UAAUid,wBAAwB,SAASxd,EAAEC,EAAEuB,QAAG,IAASA,IAAIA,GAAE,GAAI,IAAIQ,EAAE9B,KAAKkd,eAAeZ,iBAAiBvc,EAAEuB,GAAG,OAAOtB,KAAKmd,SAAS5c,IAAImR,OAAOC,IAAI7R,GAAGgC,GAAGA,GAAGhC,EAAEO,UAAUyb,4BAA4B,SAAShc,GAAG,IAAIC,EAAE,OAAO,QAAQA,EAAEC,KAAKmd,SAAS7c,IAAIoR,OAAOC,IAAI7R,EAAEsd,aAAQ,IAASrd,EAAEA,EAAEC,KAAKud,uBAAuBzd,IAAIA,EAAEO,UAAUkd,uBAAuB,SAASzd,GAAG,IAAIC,EAAEC,KAAKkd,eAAeX,qBAAqB,OAAOvc,KAAKmd,SAAS5c,IAAImR,OAAOC,IAAI7R,EAAEsd,KAAKrd,GAAGA,GAAGD,EAAhjC,GAAqjC0d,GAAE,WAAW,SAAS1d,EAAEA,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKmM,GAAGrM,EAAEE,KAAK+Y,eAAezX,EAAEtB,KAAKyd,UAAU3b,EAAE/B,EAAEuT,cAAc,OAAOxT,EAAEO,UAAU0H,OAAO,SAASjI,EAAEC,GAAG,IAAIC,KAAKyd,UAAUnd,IAAIR,EAAE0O,MAAMzG,OAAOjI,EAAEC,EAAEC,KAAK0d,YAAY1d,KAAK0d,WAAW5d,EAAE0O,KAAK,MAAM1O,GAAG,SAASA,EAAEO,UAAU6P,YAAY,SAASpQ,GAAG,IAAIC,EAAEsW,EAAEvW,GAAGE,KAAKmM,GAAGwR,WAAW5d,EAAE4C,EAAE5C,EAAEsL,EAAEtL,EAAE2O,EAAE3O,EAAEmF,GAAGlF,KAAKmM,GAAG5F,MAAMvG,KAAKmM,GAAGyR,mBAAmB9d,EAAEO,UAAU+P,cAAc,SAAStQ,EAAEC,QAAG,IAASA,IAAIA,GAAE,GAAIC,KAAK+Y,eAAesE,uBAAuBvd,EAAEC,IAAID,EAApd,GAAyd+d,GAAG,WAAW,SAAS/d,EAAEA,EAAEC,QAAG,IAASD,IAAIA,EAAE,QAAG,IAASC,IAAIA,EAAE,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,EAAE,OAAOI,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKC,IAAIM,IAAI,SAAST,GAAGE,KAAKC,GAAGH,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKE,IAAIK,IAAI,SAAST,GAAGE,KAAKE,GAAGJ,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAOI,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAG,GAAGS,KAAKE,IAAIZ,KAAKE,GAAG,KAAKM,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,aAAab,KAAKa,WAAW,IAAIf,GAAGA,EAAEgB,KAAKd,KAAKa,WAAWb,OAAOQ,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEC,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,GAAGD,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAInB,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKC,KAAKH,EAAEkB,GAAGhB,KAAKE,KAAKJ,EAAEmB,GAAGnB,EAAEO,UAAUc,MAAM,WAAW,OAAO,IAAIrB,EAAEE,KAAKC,GAAGD,KAAKE,KAAKJ,EAAEO,UAAUe,SAAS,SAAStB,GAAG,OAAOY,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAGH,EAAEkB,EAAE,GAAGN,KAAKE,IAAIZ,KAAKE,GAAGJ,EAAEmB,EAAE,KAAKnB,EAAEuB,IAAI,SAASvB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEN,EAAEjB,EAAEkB,EAAEK,EAAEL,GAAGnB,GAAGA,EAAEyB,SAAS,SAASzB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEN,EAAEjB,EAAEkB,EAAEK,EAAEL,GAAGnB,GAAGA,EAAEgB,KAAK,SAAShB,EAAEC,GAAG,OAAO,IAAIA,EAAEyB,UAAU1B,EAAES,IAAI,EAAE,GAAGT,EAAES,IAAIR,EAAEiB,EAAEjB,EAAEyB,UAAUzB,EAAEkB,EAAElB,EAAEyB,WAAW1B,GAAGA,EAAE2B,OAAO,SAAS3B,EAAEC,GAAG,OAAOD,EAAES,KAAKR,EAAEkB,EAAElB,EAAEiB,GAAGhB,KAAKc,KAAKhB,EAAEA,IAAIA,EAAE4B,MAAM,SAAS5B,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEvB,EAAEkB,EAAEK,GAAGxB,GAAGA,EAAE6B,IAAI,SAAS7B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEiB,EAAElB,EAAEmB,EAAElB,EAAEkB,GAAGnB,EAAE8B,MAAM,SAAS9B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEkB,EAAEnB,EAAEmB,EAAElB,EAAEiB,GAAGlB,EAAE+B,MAAM,SAAS/B,EAAEC,GAAG,OAAOD,EAAES,IAAIG,KAAKmB,MAAM9B,EAAEiB,GAAGN,KAAKmB,MAAM9B,EAAEkB,IAAInB,GAAGA,EAAh9C,GAAq9Cge,GAAG,WAAW,SAAShe,EAAEA,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKgC,UAAU,IAAI6b,GAAG7d,KAAKiC,QAAQ,IAAI4b,GAAG7d,KAAKkC,OAAO,EAAElC,KAAKmC,QAAQ,EAAEnC,KAAKO,IAAIT,EAAEC,EAAEuB,EAAEQ,GAAG,OAAO3B,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,GAAGT,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEE,KAAKgC,UAAUf,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,GAAGV,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIP,KAAKgC,UAAUhB,EAAElB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,EAAEhB,KAAKkC,QAAQ1B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,EAAEjB,KAAKmC,SAAS3B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAKkC,QAAQ3B,IAAI,SAAST,GAAGE,KAAKkC,OAAOpC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKmC,SAAS5B,IAAI,SAAST,GAAGE,KAAKmC,QAAQrC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKiC,QAAQ1B,IAAIP,KAAKgB,EAAEhB,KAAKoC,MAAM,EAAEpC,KAAKiB,EAAEjB,KAAKqC,OAAO,GAAGrC,KAAKiC,SAASzB,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKgC,UAAUzB,IAAIT,EAAEC,GAAGC,KAAKkC,OAAOZ,EAAEtB,KAAKmC,QAAQL,GAAGhC,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKsC,SAASpB,OAAOpB,EAAEwC,WAAWtC,KAAKoC,QAAQtC,EAAEsC,OAAOpC,KAAKqC,SAASvC,EAAEuC,QAAQvC,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,EAAEnB,EAAEsC,MAAMtC,EAAEuC,SAASvC,EAAEO,UAAUkC,SAAS,SAASzC,GAAG,OAAOE,KAAKwC,IAAI1C,EAAEkB,GAAGhB,KAAKgB,EAAElB,EAAE0C,IAAIxC,KAAKyC,IAAI3C,EAAEmB,GAAGjB,KAAKiB,EAAEnB,EAAE2C,IAAI3C,EAAEO,UAAUqC,SAAS,SAAS3C,GAAG,OAAOA,aAAaD,EAAEC,EAAEyC,IAAIxC,KAAKwC,IAAIzC,EAAEiB,GAAGhB,KAAKgB,GAAGjB,EAAE0C,IAAIzC,KAAKyC,IAAI1C,EAAEkB,GAAGjB,KAAKiB,EAAElB,aAAa8d,MAAM9d,EAAEiB,EAAEhB,KAAKgB,GAAGjB,EAAEkB,EAAEjB,KAAKiB,GAAGlB,EAAEiB,GAAGhB,KAAKwC,IAAIzC,EAAEkB,GAAGjB,KAAKyC,KAAK3C,EAAl1D,GAAu1Die,GAAG,SAASje,EAAEC,EAAEuB,GAAG,OAAOZ,KAAKiN,IAAIrM,EAAEZ,KAAKyM,IAAIpN,EAAED,MAAM,WAAW,SAASA,EAAEA,EAAEC,QAAG,IAASD,IAAIA,EAAE,WAAM,IAASC,IAAIA,EAAE,MAAMC,KAAK6C,SAAS,EAAE7C,KAAK8C,SAAS,EAAE9C,KAAKa,WAAW,IAAIgd,GAAG/d,EAAEE,KAAK+C,QAAQjD,EAAEC,IAAIC,KAAKgD,QAAQjD,GAAGI,OAAOC,eAAeN,EAAEO,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAK6C,UAAUtC,IAAI,SAAST,GAAGE,KAAK6C,SAAS/C,EAAEE,KAAK8C,SAAShD,EAAEY,KAAKuC,GAAG,IAAIjD,KAAKkD,mBAAmB1C,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAK8C,UAAUvC,IAAI,SAAST,GAAGE,KAAK8C,SAAShD,EAAEE,KAAK6C,SAAS,IAAI/C,EAAEY,KAAKuC,GAAGjD,KAAKkD,mBAAmB1C,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,YAAYL,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAU6C,gBAAgB,WAAWlD,KAAKa,WAAWN,IAAIG,KAAKyC,IAAInD,KAAK8C,UAAUpC,KAAK0C,IAAIpD,KAAK8C,YAApwB,GAAmxB,IAAIkb,GAAGC,GAAG,WAAW,SAASne,KAAK,OAAOA,EAAEO,UAAUwD,OAAO,SAAS/D,GAAG,IAAIC,EAAED,EAAEwN,MAAMhM,EAAExB,EAAE+P,MAAM/N,EAAEhC,EAAEoe,iBAAiBvb,EAAE7C,EAAEqe,QAAQpc,EAAEjC,EAAEwC,SAAS2C,EAAEnF,EAAE4M,SAASxH,EAAEpF,EAAEse,MAAMxb,EAAE9C,EAAEue,YAAY,MAAM,CAAClM,GAAG,EAAEtJ,QAAO,EAAGgH,MAAMvO,EAAEgM,MAAMvN,EAAEme,iBAAiBpc,EAAEqc,QAAQxb,EAAEL,SAAS,MAAMP,EAAEA,EAAE,IAAI8b,GAAGnR,SAAS,MAAMzH,EAAEA,EAAE,EAAEmZ,MAAMlZ,EAAEmZ,YAAYzb,IAAI9C,EAAtT,GAA2Twe,GAAG,WAAW,SAASxe,EAAEA,EAAEC,QAAG,IAASA,IAAIA,EAAE,GAAGC,KAAKue,KAAK,IAAIT,GAAG,EAAE,EAAE,EAAE,GAAG9d,KAAK0P,MAAM,EAAE1P,KAAKwe,MAAM,GAAGxe,KAAKye,SAAS,GAAGze,KAAK0P,MAAM3P,EAAEC,KAAK0e,OAAO5e,GAAG,OAAOA,EAAEO,UAAUqe,OAAO,SAAS5e,GAAGE,KAAKuG,QAAQvG,KAAKue,KAAKxd,KAAKjB,IAAIA,EAAEO,UAAUkG,MAAM,WAAWvG,KAAKwe,MAAM,GAAGxe,KAAKye,SAAS3V,SAAS,SAAShJ,GAAG,OAAOA,EAAEyG,WAAWvG,KAAKye,SAAS,IAAI3e,EAAEO,UAAUse,OAAO,SAAS7e,EAAEC,GAAG,IAAIC,KAAKye,SAASza,QAAQhE,KAAKwe,MAAMxa,OAAO,IAAIhE,KAAK0P,MAAM,GAAG1P,KAAKiN,QAAQjN,KAAKye,SAASza,OAAO,EAAEhE,KAAK4e,uBAAuB9e,EAAEC,GAAGC,KAAKwe,MAAMxV,KAAK,CAAClJ,EAAEC,KAAKD,EAAEO,UAAU4M,MAAM,WAAW,IAAIlN,EAAEC,KAAKsB,EAAEtB,KAAKue,KAAKnc,MAAM,EAAEN,EAAE9B,KAAKue,KAAKlc,OAAO,EAAErC,KAAKye,SAAS,CAAC,IAAIX,GAAG9d,KAAKue,KAAKvd,EAAEhB,KAAKue,KAAKtd,EAAEK,EAAEQ,GAAG,IAAIgc,GAAG9d,KAAKue,KAAKvd,EAAEhB,KAAKue,KAAKtd,EAAEa,EAAER,EAAEQ,GAAG,IAAIgc,GAAG9d,KAAKue,KAAKvd,EAAEM,EAAEtB,KAAKue,KAAKtd,EAAEa,EAAER,EAAEQ,GAAG,IAAIgc,GAAG9d,KAAKue,KAAKvd,EAAEM,EAAEtB,KAAKue,KAAKtd,EAAEK,EAAEQ,IAAIuM,KAAG,SAAW/M,GAAG,OAAO,IAAIxB,EAAEwB,EAAEvB,EAAE2P,MAAM,MAAM1P,KAAKwe,MAAM1V,SAAS,SAAShJ,GAAG,OAAOC,EAAE6e,uBAAuB9e,EAAE,GAAGA,EAAE,OAAOE,KAAKwe,MAAM,IAAI1e,EAAEO,UAAUue,uBAAuB,SAAS9e,EAAEC,GAAGC,KAAK6e,mBAAmB9e,GAAG+I,SAAO,SAAWxH,GAAG,OAAOA,EAAEqd,OAAO7e,EAAEC,OAAOD,EAAEO,UAAUye,SAAS,SAAShf,GAAG,IAAIC,EAAE,GAAG,OAAOC,KAAKye,SAASza,OAAO,EAAEhE,KAAK6e,mBAAmB/e,GAAGgJ,SAAS,SAASxH,GAAG,OAAOvB,EAAEiJ,KAAK/E,MAAMlE,EAAEuB,EAAEwd,SAAShf,OAAOE,KAAKwe,MAAM1V,SAAO,SAAWhJ,GAAG,OAAOC,EAAEiJ,KAAKlJ,EAAE,OAAOC,GAAGD,EAAEO,UAAUwe,mBAAmB,SAAS/e,GAAG,IAAIC,EAAE,GAAG,OAAOD,EAAEkB,GAAGhB,KAAKue,KAAKQ,OAAO/d,GAAGlB,EAAEmB,GAAGjB,KAAKue,KAAKQ,OAAO9d,GAAGlB,EAAEiJ,KAAKhJ,KAAKye,SAAS,IAAI3e,EAAEkB,GAAGhB,KAAKue,KAAKQ,OAAO/d,GAAGlB,EAAE2C,IAAIzC,KAAKue,KAAKQ,OAAO9d,GAAGlB,EAAEiJ,KAAKhJ,KAAKye,SAAS,IAAI3e,EAAE0C,IAAIxC,KAAKue,KAAKQ,OAAO/d,GAAGlB,EAAE2C,IAAIzC,KAAKue,KAAKQ,OAAO9d,GAAGlB,EAAEiJ,KAAKhJ,KAAKye,SAAS,IAAI3e,EAAE0C,IAAIxC,KAAKue,KAAKQ,OAAO/d,GAAGlB,EAAEmB,GAAGjB,KAAKue,KAAKQ,OAAO9d,GAAGlB,EAAEiJ,KAAKhJ,KAAKye,SAAS,IAAI1e,GAAGD,EAA3kD,GAAglDkf,GAAG,SAASlf,EAAEC,EAAEuB,EAAEQ,GAAG,OAAOpB,KAAKiN,KAAK7N,EAAEC,GAAGuB,EAAE,EAAEQ,EAAE,IAAImd,GAAG,WAAW,SAASnf,EAAEA,GAAGE,KAAKkf,YAAY,CAACC,GAAG,EAAE3c,GAAG,EAAE4c,GAAG,EAAE3c,GAAG,GAAGzC,KAAKqf,cAAc,EAAErf,KAAK0e,OAAO5e,GAAG,OAAOK,OAAOC,eAAeN,EAAEO,UAAU,eAAe,CAACC,IAAI,WAAW,OAAON,KAAKqf,eAAe9e,IAAI,SAAST,GAAGE,KAAKqf,cAActB,GAAGje,EAAE,EAAE,KAAKU,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUqe,OAAO,SAAS5e,GAAGE,KAAKue,KAAKze,EAAEE,KAAKsf,UAAU5e,KAAKoN,KAAKhO,EAAEsC,MAAMpC,KAAKqf,eAAerf,KAAKuf,WAAW7e,KAAKoN,KAAKhO,EAAEuC,OAAOrC,KAAKqf,eAAerf,KAAKwf,aAAa,GAAG,IAAI,IAAIzf,EAAE,EAAEA,EAAEC,KAAKqf,cAActf,IAAI,CAACC,KAAKwf,aAAazf,GAAG,GAAG,IAAI,IAAIuB,EAAE,EAAEA,EAAEtB,KAAKqf,cAAc/d,IAAItB,KAAKwf,aAAazf,GAAGuB,GAAG,KAAKxB,EAAEO,UAAUkG,MAAM,WAAW,IAAI,IAAIzG,EAAE,EAAEA,EAAEE,KAAKqf,cAAcvf,IAAI,IAAI,IAAIC,EAAE,EAAEA,EAAEC,KAAKqf,cAActf,IAAIC,KAAKwf,aAAa1f,GAAGC,GAAG,IAAID,EAAEO,UAAUse,OAAO,SAAS7e,EAAEC,GAAGC,KAAKyf,kBAAkB1f,GAAG,IAAI,IAAIuB,EAAEtB,KAAKkf,YAAYC,GAAG7d,GAAGtB,KAAKkf,YAAY1c,GAAGlB,IAAI,IAAI,IAAIQ,EAAE9B,KAAKkf,YAAYE,GAAGtd,GAAG9B,KAAKkf,YAAYzc,GAAGX,IAAI9B,KAAKwf,aAAale,GAAGQ,GAAGkH,KAAKlJ,IAAIA,EAAEO,UAAUye,SAAS,SAAShf,GAAG,IAAIC,EAAE,GAAGC,KAAKyf,kBAAkB3f,GAAG,IAAI,IAAIwB,EAAEtB,KAAKkf,YAAYC,GAAG7d,GAAGtB,KAAKkf,YAAY1c,GAAGlB,IAAI,IAAI,IAAIQ,EAAE9B,KAAKkf,YAAYE,GAAGtd,GAAG9B,KAAKkf,YAAYzc,GAAGX,IAAI9B,KAAKwf,aAAale,GAAGQ,GAAGgH,kBAAkBhJ,GAAG,OAAOC,EAAEkJ,SAASnJ,GAAG,KAAKC,EAAEiJ,KAAKlJ,MAAM,OAAOC,GAAGD,EAAEO,UAAUof,kBAAkB,SAAS3f,GAAGE,KAAKkf,YAAYC,GAAGH,GAAGlf,EAAEkB,EAAEhB,KAAKue,KAAKvd,EAAEhB,KAAKsf,UAAUtf,KAAKqf,eAAerf,KAAKkf,YAAY1c,GAAGwc,GAAGlf,EAAE0C,GAAGxC,KAAKue,KAAKvd,EAAEhB,KAAKsf,UAAUtf,KAAKqf,eAAerf,KAAKkf,YAAYE,GAAGJ,GAAGlf,EAAEmB,EAAEjB,KAAKue,KAAKtd,EAAEjB,KAAKuf,WAAWvf,KAAKqf,eAAerf,KAAKkf,YAAYzc,GAAGuc,GAAGlf,EAAE2C,GAAGzC,KAAKue,KAAKtd,EAAEjB,KAAKuf,WAAWvf,KAAKqf,gBAAgBvf,EAA9/C,IAAogD,SAASA,GAAGA,EAAEA,EAAE4f,SAAS,GAAG,WAAW5f,EAAEA,EAAE6f,aAAa,GAAG,eAA3D,CAA2E3B,KAAKA,GAAG,KAAK,IAAI4B,GAAGC,GAAG,WAAW,SAAS/f,EAAEA,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAK8f,WAAW,GAAG9f,KAAK+f,oBAAoB,EAAE/f,KAAKggB,QAAQ,IAAInC,GAAG7d,KAAKigB,QAAQ,IAAIpC,GAAG7d,KAAKkgB,QAAQ,IAAIpC,GAAG,EAAE,EAAE,EAAE,GAAG9d,KAAKmgB,OAAOrgB,EAAEE,KAAKogB,UAAU,GAAGpgB,KAAKqgB,gBAAgB,GAAGrgB,KAAKsgB,gBAAgBxe,EAAE9B,KAAKugB,wBAAwB,MAAMxgB,EAAEA,EAAEie,GAAG0B,SAASpe,GAAG,OAAOxB,EAAEO,UAAUkgB,wBAAwB,SAASzgB,EAAEC,GAAGC,KAAKwgB,cAAc,MAAMzgB,EAAEA,EAAE,IAAI+d,GAAG,EAAE,EAAE,EAAE,GAAG9d,KAAKygB,qBAAqB1gB,EAAED,IAAIke,GAAG2B,aAAa3f,KAAK0gB,mBAAmB,IAAIzB,GAAGjf,KAAKwgB,eAAexgB,KAAK0gB,mBAAmB,IAAIpC,GAAGte,KAAKwgB,gBAAgB1gB,EAAEO,UAAUsgB,YAAY,SAAS7gB,GAAGA,EAAEqS,GAAGnS,KAAKogB,UAAUpc,OAAOhE,KAAKogB,UAAUpX,KAAKlJ,IAAIA,EAAEO,UAAUugB,YAAY,SAAS9gB,GAAG,OAAOE,KAAKogB,UAAUtgB,IAAIA,EAAEO,UAAUwgB,eAAe,SAAS/gB,GAAGE,KAAKogB,UAAUU,OAAOhhB,EAAEqS,GAAG,GAAGnS,KAAKogB,UAAUtX,SAAO,SAAWhJ,EAAEC,GAAG,OAAOD,EAAEqS,GAAGpS,MAAMD,EAAEO,UAAU0gB,eAAe,WAAW/gB,KAAKogB,UAAU,IAAItgB,EAAEO,UAAU2gB,yBAAyB,SAASlhB,GAAG,OAAOA,EAAE+I,OAAO7I,KAAK8f,WAAWlX,QAAM,SAAW7I,GAAG,OAAOA,EAAEkhB,cAAc9O,KAAKrS,EAAEqS,MAAM,IAAIrS,EAAEO,UAAU6gB,iCAAiC,SAASphB,EAAEC,GAAG,OAAOD,EAAE+I,OAAO7I,KAAK8f,WAAWlX,QAAQ,SAAStH,GAAG,OAAOA,EAAE2f,cAAc9O,KAAKrS,EAAEqS,IAAI7Q,EAAE6f,eAAetR,QAAQ9P,KAAK,IAAID,EAAEO,UAAU+gB,6BAA6B,SAASthB,GAAGE,KAAKogB,UAAUtgB,EAAEqS,KAAKrS,EAAE+I,SAAS7I,KAAK8f,WAAW9f,KAAK8f,WAAWlX,QAAQ,SAAS7I,GAAG,OAAOA,EAAEkhB,cAAc9O,KAAKrS,EAAEqS,IAAIpS,EAAEohB,eAAehP,KAAKrS,EAAEqS,MAAMnS,KAAKqhB,YAAYvhB,GAAGE,KAAKshB,YAAYxhB,EAAEE,KAAKuhB,WAAWzhB,MAAMA,EAAEO,UAAU6H,QAAQ,WAAW,IAAIpI,EAAEE,KAAKA,KAAK8f,WAAW,GAAG,IAAI9f,KAAKogB,UAAUpc,SAAShE,KAAKqgB,gBAAgBrgB,KAAKogB,UAAUxX,QAAM,SAAW9I,GAAG,OAAOA,EAAE+I,UAAU7I,KAAK0gB,mBAAmBna,QAAQvG,KAAKqgB,gBAAgBvX,kBAAkB/I,GAAGD,EAAEuhB,YAAYthB,OAAM,IAAKC,KAAKygB,qBAAqBzgB,KAAKwhB,iBAAgB,IAAKxhB,KAAKkgB,QAAQhf,OAAOlB,KAAKwgB,iBAAiBxgB,KAAKwgB,cAAczf,KAAKf,KAAKkgB,SAASlgB,KAAK0gB,mBAAmBhC,OAAO1e,KAAKwgB,iBAAiBxgB,KAAKyhB,6BAA6BzhB,KAAKqgB,gBAAgBvX,SAAO,SAAW/I,GAAG,IAAIuB,EAAEvB,EAAEoS,GAAGrQ,EAAE/B,EAAEuN,MAAMoU,YAAY,OAAO5hB,EAAE4gB,mBAAmB/B,OAAOrd,EAAEQ,MAAM9B,KAAKke,qBAAqBpe,EAAEO,UAAUghB,YAAY,SAASvhB,GAAGA,EAAEwN,MAAMhL,SAASxC,EAAEwC,SAASxC,EAAEwN,MAAMZ,SAAS5M,EAAE4M,SAAS5M,EAAEwN,MAAM1F,UAAU9H,EAAEO,UAAUmhB,cAAc,WAAW,IAAI1hB,EAAEE,KAAKA,KAAKqgB,gBAAgBvX,SAAS,SAAS/I,GAAG,IAAIuB,EAAEvB,EAAEuN,MAAMoU,YAAY5hB,EAAEkgB,QAAQzf,IAAIG,KAAKiN,IAAIrM,EAAEN,EAAElB,EAAEkgB,QAAQhf,GAAGN,KAAKiN,IAAIrM,EAAEL,EAAEnB,EAAEkgB,QAAQ/e,IAAInB,EAAEmgB,QAAQ1f,IAAIG,KAAKyM,IAAI7L,EAAEkB,GAAG1C,EAAEmgB,QAAQjf,GAAGN,KAAKyM,IAAI7L,EAAEmB,GAAG3C,EAAEmgB,QAAQhf,OAAOjB,KAAKkgB,QAAQ3f,IAAIP,KAAKggB,QAAQhf,EAAEhB,KAAKggB,QAAQ/e,EAAEjB,KAAKigB,QAAQjf,EAAEhB,KAAKggB,QAAQhf,EAAEhB,KAAKigB,QAAQhf,EAAEjB,KAAKggB,QAAQ/e,IAAInB,EAAEO,UAAUohB,2BAA2B,WAAWzhB,KAAK0gB,8BAA8BzB,IAAIjf,KAAK+f,sBAAsB/f,KAAKqgB,gBAAgBrc,SAAShE,KAAK0gB,mBAAmBiB,aAAa,GAAG3hB,KAAKqgB,gBAAgBrc,OAAO,GAAG,GAAGhE,KAAK0gB,mBAAmBhC,OAAO1e,KAAKwgB,eAAexgB,KAAK+f,oBAAoB/f,KAAKqgB,gBAAgBrc,SAASlE,EAAEO,UAAU6d,iBAAiB,WAAW,IAAIpe,EAAEE,KAAKA,KAAKqgB,gBAAgBzX,QAAM,SAAW9I,GAAG,OAAOA,EAAEoe,oBAAoBpV,SAAS,SAAS/I,GAAG,OAAOD,EAAEwhB,YAAYvhB,EAAED,EAAEyhB,WAAWxhB,QAAQD,EAAEO,UAAUkhB,WAAW,SAASzhB,GAAG,IAAIC,EAAEC,KAAK,OAAOA,KAAKsgB,gBAAgBtgB,KAAK0gB,mBAAmB5B,SAAShf,EAAEwN,MAAMoU,aAAarT,KAAG,SAAWvO,GAAG,OAAOC,EAAEqgB,UAAUtgB,MAAM8I,QAAM,SAAW9I,GAAG,OAAOA,EAAE+I,UAAUD,QAAQ,SAAStH,GAAG,OAAOvB,EAAEugB,gBAAgBsB,MAAI,SAAW7hB,GAAG,OAAOA,EAAE,KAAKD,EAAE+P,OAAO9P,EAAE,KAAKuB,EAAEuO,OAAO9P,EAAE,KAAKD,EAAE+P,OAAO9P,EAAE,KAAKuB,EAAEuO,YAAY7P,KAAK0gB,mBAAmB5B,SAAShf,EAAEwN,MAAMoU,aAAarT,cAAcvO,GAAG,OAAOC,EAAEqgB,UAAUtgB,MAAM8I,QAAM,SAAW9I,GAAG,OAAOA,EAAE+I,WAAW/I,EAAEO,UAAUihB,YAAY,SAASxhB,EAAEC,GAAG,IAAIuB,EAAEtB,KAAKD,EAAE6I,iBAAiB7I,GAAG,QAAQD,EAAEse,OAAOre,EAAEqe,OAAOre,EAAEqe,QAAQte,EAAEse,OAAOte,EAAEqS,KAAKpS,EAAEoS,OAAOrJ,kBAAkB/I,GAAG,IAAIuB,EAAEugB,WAAW/hB,EAAEC,GAAG,CAAC,IAAI+B,EAAER,EAAE6e,OAAO2B,uBAAuBhiB,EAAEwN,MAAMvN,EAAEuN,OAAO,OAAOxL,IAAIR,EAAEwe,WAAW9W,KAAK,CAACiY,cAAcnhB,EAAEqhB,eAAephB,EAAEgiB,WAAWjgB,GAAG,CAACmf,cAAclhB,EAAEohB,eAAerhB,EAAEiiB,WAAW,CAACC,UAAUlgB,EAAEmgB,sBAAsBA,sBAAsBngB,EAAEkgB,UAAUE,YAAYpgB,EAAEogB,eAAepiB,EAAEue,aAAave,EAAEue,YAAYvc,SAAShC,EAAEO,UAAUwhB,WAAW,SAAS/hB,EAAEC,GAAG,IAAI,IAAIuB,EAAE,EAAEQ,EAAE9B,KAAK8f,WAAWxe,EAAEQ,EAAEkC,OAAO1C,IAAI,CAAC,IAAIqB,EAAEb,EAAER,GAAG,GAAGqB,EAAEse,cAAc9O,KAAKrS,EAAEqS,IAAIxP,EAAEwe,eAAehP,KAAKpS,EAAEoS,GAAG,OAAM,EAAG,OAAM,GAAIrS,EAAzmI,IAA+mI,SAASA,GAAGA,EAAEA,EAAEyL,QAAQ,GAAG,UAAUzL,EAAEA,EAAE0L,cAAc,GAAG,gBAAgB1L,EAAEA,EAAE2L,KAAK,GAAG,OAAtF,CAA8FmU,KAAKA,GAAG,KAAK,IAAIuC,GAAGC,GAAG,WAAW,SAAStiB,EAAEA,EAAEC,EAAEuB,GAAGtB,KAAKqiB,aAAaviB,EAAEE,KAAKsiB,0BAA0BviB,EAAEC,KAAKuiB,sBAAsBjhB,EAAE,OAAOxB,EAAEO,UAAUyhB,uBAAuB,SAAShiB,EAAEC,GAAG,OAAOD,EAAE0O,OAAOoR,GAAGrU,SAASxL,EAAEyO,OAAOoR,GAAGrU,QAAQvL,KAAKqiB,aAAana,QAAQpI,EAAEC,GAAGD,EAAE0O,OAAOoR,GAAGpU,eAAezL,EAAEyO,OAAOoR,GAAGrU,QAAQvL,KAAKsiB,0BAA0Bpa,QAAQpI,EAAEC,GAAGD,EAAE0O,OAAOoR,GAAGrU,SAASxL,EAAEyO,OAAOoR,GAAGpU,cAAcxL,KAAKsiB,0BAA0Bpa,QAAQnI,EAAED,GAAE,GAAIA,EAAE0O,OAAOoR,GAAGpU,eAAezL,EAAEyO,OAAOoR,GAAGpU,cAAcxL,KAAKuiB,sBAAsBra,QAAQpI,EAAEC,GAAG,MAAMD,EAAlhB,IAAwhB,SAASA,GAAGA,EAAEA,EAAE0iB,KAAK,GAAG,OAAO1iB,EAAEA,EAAE2iB,IAAI,GAAG,MAA1C,CAAiDN,KAAKA,GAAG,KAAK,IAAIO,GAAG,WAAW,SAAS5iB,EAAEA,EAAEC,GAAGC,KAAKuiB,sBAAsBziB,EAAEE,KAAK2iB,YAAY5iB,EAAE,OAAOD,EAAEO,UAAUyhB,uBAAuB,SAAShiB,EAAEC,GAAG,OAAOD,EAAE0O,OAAOoR,GAAGpU,eAAezL,EAAEyO,OAAOoR,GAAGpU,cAAcxL,KAAKuiB,sBAAsBra,QAAQpI,EAAEC,GAAGC,KAAK2iB,YAAYza,QAAQpI,EAAEC,IAAID,EAAtQ,GAA2Q8iB,GAAG,WAAW,SAAS9iB,IAAIE,KAAKgiB,UAAU,IAAInE,GAAG7d,KAAKiiB,sBAAsB,IAAIpE,GAAG,OAAO/d,EAAEO,UAAU6H,QAAQ,SAASpI,EAAEC,GAAG,IAAIuB,EAAExB,EAAE4hB,YAAY5f,EAAE/B,EAAE2hB,YAAY,OAAO1hB,KAAK6iB,SAASniB,KAAKiN,IAAIrM,EAAEkB,GAAGV,EAAEU,IAAI9B,KAAKyM,IAAI7L,EAAEN,EAAEc,EAAEd,GAAGhB,KAAK8iB,SAASpiB,KAAKiN,IAAIrM,EAAEmB,GAAGX,EAAEW,IAAI/B,KAAKyM,IAAI7L,EAAEL,EAAEa,EAAEb,GAAGjB,KAAK6iB,SAAS,GAAG7iB,KAAK8iB,SAAS,EAAE,MAAM9iB,KAAK+iB,qBAAqBzhB,EAAEQ,GAAG9B,KAAKgiB,UAAUzhB,IAAIG,KAAKsiB,KAAKlhB,EAAEid,OAAO/d,EAAEM,EAAEyd,OAAO/d,GAAGN,KAAKsiB,KAAKlhB,EAAEid,OAAO9d,EAAEK,EAAEyd,OAAO9d,IAAIjB,KAAKijB,mBAAmB3hB,EAAEQ,GAAG9B,KAAK8iB,SAAS9iB,KAAK6iB,UAAU7iB,KAAKkjB,WAAWljB,KAAK8iB,SAAS9iB,KAAKiiB,sBAAsB1hB,IAAI,GAAGP,KAAKgiB,UAAU/gB,KAAKjB,KAAKkjB,WAAWljB,KAAK6iB,SAAS7iB,KAAKiiB,sBAAsB1hB,KAAKP,KAAKgiB,UAAUhhB,EAAEhB,KAAK8iB,WAAW9iB,KAAK6iB,UAAU7iB,KAAKgiB,UAAU/gB,EAAE,IAAI4c,GAAG/c,KAAKd,KAAKiiB,sBAAsBjiB,KAAKiiB,uBAAuB,CAACD,UAAUnE,GAAGnc,MAAM,IAAImc,GAAG7d,KAAKiiB,uBAAuB,GAAGA,sBAAsBjiB,KAAKiiB,sBAAsB9gB,QAAQ+gB,YAAYliB,KAAKkjB,cAAcpjB,EAAEO,UAAU0iB,qBAAqB,SAASjjB,EAAEC,GAAG,IAAID,EAAEsC,OAAO,IAAIrC,EAAEqC,OAAO,IAAIpC,KAAK6iB,WAAW7iB,KAAK6iB,SAASniB,KAAKiN,IAAIjN,KAAKiM,IAAI7M,EAAEkB,EAAEjB,EAAEiB,GAAGN,KAAKiM,IAAI7M,EAAE0C,GAAGzC,EAAEyC,MAAM,IAAI1C,EAAEuC,QAAQ,IAAItC,EAAEsC,QAAQ,IAAIrC,KAAK8iB,WAAW9iB,KAAK8iB,SAASpiB,KAAKiN,IAAIjN,KAAKiM,IAAI7M,EAAEmB,EAAElB,EAAEkB,GAAGP,KAAKiM,IAAI7M,EAAE2C,GAAG1C,EAAE0C,OAAO3C,EAAEO,UAAU4iB,mBAAmB,SAASnjB,EAAEC,GAAG,GAAGC,KAAK8iB,SAAS,IAAIhjB,EAAE2C,GAAG1C,EAAE0C,IAAI3C,EAAEmB,EAAElB,EAAEkB,GAAGnB,EAAE2C,GAAG1C,EAAE0C,IAAI3C,EAAEmB,EAAElB,EAAEkB,GAAG,CAAC,IAAIK,EAAEZ,KAAKiM,IAAI7M,EAAEmB,EAAElB,EAAEkB,GAAGa,EAAEpB,KAAKiM,IAAI7M,EAAE2C,GAAG1C,EAAE0C,IAAIzC,KAAK8iB,UAAUxhB,EAAEQ,EAAER,EAAEQ,EAAE9B,KAAK6iB,SAAS,IAAI/iB,EAAE0C,GAAGzC,EAAEyC,IAAI1C,EAAEkB,EAAEjB,EAAEiB,GAAGlB,EAAE0C,GAAGzC,EAAEyC,IAAI1C,EAAEkB,EAAEjB,EAAEiB,KAAKM,EAAEZ,KAAKiM,IAAI7M,EAAEkB,EAAEjB,EAAEiB,GAAGc,EAAEpB,KAAKiM,IAAI7M,EAAE0C,GAAGzC,EAAEyC,IAAIxC,KAAK6iB,UAAUvhB,EAAEQ,EAAER,EAAEQ,IAAIhC,EAAr8C,GAA08CqjB,GAAG,WAAW,SAASrjB,IAAIE,KAAKojB,aAAa,IAAIvF,GAAG7d,KAAKoB,SAAS,IAAIyc,GAAG7d,KAAKgiB,UAAU,IAAInE,GAAG,OAAO/d,EAAEO,UAAU6H,QAAQ,SAASpI,EAAEC,EAAEuB,GAAG,YAAO,IAASA,IAAIA,GAAE,GAAItB,KAAKojB,aAAa7iB,IAAIwd,GAAGje,EAAEwC,SAAStB,EAAEjB,EAAE2hB,YAAY1gB,EAAEjB,EAAE2hB,YAAYlf,IAAIub,GAAGje,EAAEwC,SAASrB,EAAElB,EAAE2hB,YAAYzgB,EAAElB,EAAE2hB,YAAYjf,KAAKob,GAAGtc,SAASvB,KAAKoB,SAASpB,KAAKojB,aAAatjB,EAAEwC,UAAUtC,KAAKoB,SAASI,UAAU1B,EAAEyN,OAAO,MAAMsQ,GAAG/c,KAAKd,KAAKgiB,UAAUhiB,KAAKoB,UAAU,CAAC4gB,UAAU1gB,EAAEuc,GAAGnc,MAAM,IAAImc,GAAG7d,KAAKgiB,WAAW,GAAGhiB,KAAKgiB,UAAU7gB,QAAQ8gB,sBAAsB3gB,EAAEtB,KAAKgiB,UAAU7gB,QAAQ0c,GAAGnc,MAAM,IAAImc,GAAG7d,KAAKgiB,WAAW,GAAGE,YAAYpiB,EAAEyN,OAAOvN,KAAKoB,SAASI,aAAa1B,EAA1mB,GAA+mBujB,GAAG,WAAW,SAASvjB,IAAIE,KAAKoB,SAAS,IAAIyc,GAAG7d,KAAKgiB,UAAU,IAAInE,GAAG,OAAO/d,EAAEO,UAAU6H,QAAQ,SAASpI,EAAEC,GAAG,OAAO8d,GAAGtc,SAASvB,KAAKoB,SAASrB,EAAEuC,SAASxC,EAAEwC,UAAUtC,KAAKoB,SAASI,UAAU1B,EAAEyN,OAAOxN,EAAEwN,OAAO,MAAMsQ,GAAG/c,KAAKd,KAAKgiB,UAAUhiB,KAAKoB,UAAU,CAAC4gB,UAAUhiB,KAAKgiB,UAAU7gB,QAAQ8gB,sBAAsBpE,GAAGnc,MAAM,IAAImc,GAAG7d,KAAKgiB,WAAW,GAAGE,YAAYpiB,EAAEyN,OAAOxN,EAAEwN,OAAOvN,KAAKoB,SAASI,aAAa1B,EAA9Y,GAAmZwjB,GAAG,SAASxjB,EAAEC,GAAG,OAAOujB,GAAGnjB,OAAOkD,gBAAgB,CAACC,UAAU,cAAcC,OAAO,SAASzD,EAAEC,GAAGD,EAAEwD,UAAUvD,IAAI,SAASD,EAAEC,GAAG,IAAI,IAAIuB,KAAKvB,EAAEI,OAAOE,UAAUmD,eAAeC,KAAK1D,EAAEuB,KAAKxB,EAAEwB,GAAGvB,EAAEuB,KAAKgiB,GAAGxjB,EAAEC,IAAI,SAASwjB,GAAGzjB,EAAEC,EAAEuB,GAAG,GAAGA,GAAG,IAAIyC,UAAUC,OAAO,IAAI,IAAIlC,EAAEa,EAAE,EAAEZ,EAAEhC,EAAEiE,OAAOrB,EAAEZ,EAAEY,KAAKb,GAAGa,KAAK5C,IAAI+B,IAAIA,EAAEyB,MAAMlD,UAAU6D,MAAMT,KAAK1D,EAAE,EAAE4C,IAAIb,EAAEa,GAAG5C,EAAE4C,IAAI,OAAO7C,EAAEqE,OAAOrC,GAAGyB,MAAMlD,UAAU6D,MAAMT,KAAK1D,IAAI,mBAAmBqE,iBAAiBA,gBAAoBof,QAAEC,mBAAA,EAAA,IAACC,GAAG,WAAW,SAAS5jB,IAAIE,KAAK2jB,MAAM,CAAChW,IAAI,EAAER,IAAI,GAAGnN,KAAK4jB,MAAM,CAACjW,IAAI,EAAER,IAAI,GAAGnN,KAAK6jB,aAAa,IAAIhG,GAAG7d,KAAKoB,SAAS,IAAIyc,GAAG,EAAA,EAAI,EAAA,GAAK7d,KAAK8jB,MAAM,IAAIjG,GAAG,OAAO/d,EAAEO,UAAU6H,QAAQ,SAASpI,EAAEC,GAAG,IAAIuB,EAAEtB,KAAKA,KAAKkjB,WAAW,EAAA,EAAIpjB,EAAE0O,OAAOoR,GAAGpU,cAAcxL,KAAK+jB,qBAAqBjkB,EAAEC,GAAGA,EAAEyO,OAAOoR,GAAGpU,eAAexL,KAAK+jB,qBAAqBhkB,EAAED,GAAGE,KAAKgkB,KAAKT,GAAG,GAAGzjB,EAAEmkB,gBAAe,GAAIlkB,EAAEkkB,eAAenb,SAAO,SAAWhJ,GAAG,OAAOwB,EAAE0iB,KAAKpC,MAAM,SAAS7hB,GAAG,OAAOA,EAAEmB,OAAOpB,MAAM,KAAKwB,EAAE0iB,KAAKhb,KAAKlJ,MAAM,IAAI,IAAIgC,EAAE,EAAEA,EAAE9B,KAAKgkB,KAAKhgB,OAAOlC,IAAI,CAAC,GAAGhC,EAAE0O,OAAOoR,GAAGpU,cAAcxL,KAAKkkB,yBAAyBpkB,EAAEE,KAAKgkB,KAAKliB,IAAI/B,EAAEyO,OAAOoR,GAAGpU,eAAexL,KAAKkkB,yBAAyBnkB,EAAEC,KAAKgkB,KAAKliB,IAAI9B,KAAKmkB,qBAAqBnkB,KAAK2jB,MAAM7jB,EAAEE,KAAKgkB,KAAKliB,IAAI9B,KAAKmkB,qBAAqBnkB,KAAK4jB,MAAM7jB,EAAEC,KAAKgkB,KAAKliB,IAAI9B,KAAKokB,eAAe1jB,KAAKiN,IAAI3N,KAAK2jB,MAAMxW,IAAInN,KAAK4jB,MAAMzW,KAAKzM,KAAKyM,IAAInN,KAAK2jB,MAAMhW,IAAI3N,KAAK4jB,MAAMjW,KAAK3N,KAAKokB,eAAe,EAAE,OAAO,KAAK,GAAGpkB,KAAKqkB,YAAW,EAAGrkB,KAAK2jB,MAAMxW,IAAInN,KAAK4jB,MAAMzW,KAAKnN,KAAK2jB,MAAMhW,IAAI3N,KAAK4jB,MAAMjW,KAAK3N,KAAK2jB,MAAMxW,IAAInN,KAAK4jB,MAAMzW,KAAKnN,KAAK2jB,MAAMhW,IAAI3N,KAAK4jB,MAAMjW,IAAI,CAAC,IAAIhL,EAAEjC,KAAKiM,IAAI3M,KAAK2jB,MAAMhW,IAAI3N,KAAK4jB,MAAMjW,KAAK5L,EAAErB,KAAKiM,IAAI3M,KAAK2jB,MAAMxW,IAAInN,KAAK4jB,MAAMzW,KAAKxK,EAAEZ,EAAE/B,KAAKokB,gBAAgBzhB,GAAG3C,KAAKokB,gBAAgBriB,EAAE8b,GAAGnc,MAAM1B,KAAKgkB,KAAKliB,GAAG9B,KAAKgkB,KAAKliB,IAAI,GAAG9B,KAAKqkB,YAAW,GAAIrkB,KAAKokB,eAAepkB,KAAKkjB,aAAaljB,KAAKkjB,WAAWljB,KAAKokB,eAAepkB,KAAK6jB,aAAa9iB,KAAKf,KAAKgkB,KAAKliB,IAAI9B,KAAKqkB,YAAYrkB,KAAK2jB,MAAMxW,IAAInN,KAAK4jB,MAAMzW,KAAK0Q,GAAGnc,MAAM1B,KAAK6jB,aAAa7jB,KAAKgkB,KAAKliB,IAAI,IAAI,MAAM,CAACkgB,UAAUnE,GAAGnc,MAAM,IAAImc,GAAG7d,KAAK6jB,cAAc,GAAG5B,sBAAsBjiB,KAAK6jB,aAAa1iB,QAAQ+gB,YAAYliB,KAAKkjB,aAAapjB,EAAEO,UAAU8jB,qBAAqB,SAASrkB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAE6N,IAAI,EAAA,EAAI7N,EAAEqN,KAAI,EAAA,EAAKpN,EAAE4W,SAAS7N,SAAS,SAAS/I,GAAGD,EAAE6N,IAAIjN,KAAKiN,IAAIkQ,GAAGlc,IAAIL,EAAEvB,GAAGD,EAAE6N,KAAK7N,EAAEqN,IAAIzM,KAAKyM,IAAI0Q,GAAGlc,IAAIL,EAAEvB,GAAGD,EAAEqN,QAAQrN,GAAGA,EAAEO,UAAU0jB,qBAAqB,SAASjkB,EAAEC,GAAG,IAAIuB,EAAEtB,KAAKA,KAAKoB,SAASb,IAAI,EAAA,EAAI,EAAA,GAAKR,EAAE4W,SAAS7N,SAAS,SAAS/I,GAAG8d,GAAGtc,SAASD,EAAEwiB,MAAM/jB,EAAED,EAAEwC,UAAUhB,EAAEwiB,MAAMtiB,UAAUF,EAAEF,SAASI,WAAWF,EAAEF,SAASL,KAAKO,EAAEwiB,UAAUjG,GAAG/c,KAAKhB,EAAEmkB,eAAe,GAAGjkB,KAAKoB,WAAWtB,EAAEO,UAAU6jB,yBAAyB,SAASpkB,EAAEC,GAAG8d,GAAGxc,IAAIvB,EAAE6W,SAAS,GAAG7W,EAAEwC,SAASub,GAAGnc,MAAM1B,KAAK8jB,MAAMjG,GAAG/c,KAAKd,KAAK8jB,MAAM/jB,IAAID,EAAEyN,SAASsQ,GAAGxc,IAAIvB,EAAE6W,SAAS,GAAG7W,EAAEwC,SAASub,GAAGnc,MAAM1B,KAAK8jB,MAAMjG,GAAG/c,KAAKd,KAAK8jB,MAAM/jB,GAAGD,EAAEyN,UAAUzN,EAAptE,GAAytEwkB,GAAG,WAAW,SAASxkB,EAAEA,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKukB,iBAAiBzkB,EAAEE,KAAKwkB,gBAAgBzkB,EAAEC,KAAKykB,iBAAiBnjB,EAAEtB,KAAK0kB,iBAAiB5iB,EAAE,OAAOhC,EAAEO,UAAUsgB,YAAY,SAAS7gB,GAAG,IAAIC,EAAEC,KAAKwkB,gBAAgB3gB,OAAO/D,GAAG,OAAOE,KAAKukB,iBAAiB5D,YAAY5gB,GAAGA,GAAGD,EAAEO,UAAUwgB,eAAe,SAAS/gB,GAAGE,KAAKukB,iBAAiB1D,eAAe/gB,IAAIA,EAAEO,UAAU2gB,yBAAyB,SAASlhB,GAAG,OAAOE,KAAKukB,iBAAiBvD,yBAAyBlhB,IAAIA,EAAEO,UAAU6gB,iCAAiC,SAASphB,EAAEC,GAAG,OAAOC,KAAKukB,iBAAiBrD,iCAAiCphB,EAAEC,IAAID,EAAEO,UAAUskB,aAAa,SAAS7kB,GAAG,IAAIC,EAAEC,KAAK0kB,iBAAiB7gB,OAAO/D,GAAG,OAAOE,KAAKykB,iBAAiBE,aAAa5kB,GAAGA,GAAGD,EAAEO,UAAUukB,gBAAgB,SAAS9kB,GAAGE,KAAKykB,iBAAiBG,gBAAgB9kB,IAAIA,EAAEO,UAAU6H,QAAQ,SAASpI,GAAGE,KAAKukB,iBAAiBrc,UAAUlI,KAAKykB,iBAAiBvc,QAAQpI,IAAIA,EAAEO,UAAUkG,MAAM,WAAWvG,KAAKukB,iBAAiBxD,iBAAiB/gB,KAAKykB,iBAAiBI,oBAAoB/kB,EAAp9B,GAAy9BglB,GAAG,WAAW,SAAShlB,KAAK,OAAOA,EAAEO,UAAUwD,OAAO,SAAS/D,GAAG,IAAIC,EAAED,EAAEilB,YAAYzjB,EAAExB,EAAE0O,KAAK1M,EAAEhC,EAAEklB,QAAQriB,EAAE7C,EAAEwC,SAASP,EAAEjC,EAAEmlB,SAAShgB,EAAEnF,EAAEolB,UAAU,GAAG,IAAInlB,EAAEiE,OAAO,MAAM,IAAI0M,MAAM,yCAAyC,MAAM,CAAC7H,QAAO,EAAGkc,YAAYhlB,EAAEyO,KAAKlN,EAAE0jB,QAAQ,MAAMljB,EAAEA,EAAE,EAAEQ,SAAS,MAAMK,EAAEA,EAAE,IAAIkb,GAAGoH,SAAS,MAAMljB,EAAEA,EAAE,IAAI8b,GAAGqH,UAAUjgB,IAAInF,EAArV,IAA2V,SAASA,GAAGA,EAAEA,EAAEqlB,OAAO,GAAG,SAASrlB,EAAEA,EAAEslB,QAAQ,GAAG,UAAUtlB,EAAEA,EAAEulB,UAAU,GAAG,YAA7E,CAA0F7B,QAAEC,gBAAGD,QAAEC,cAAC,KAAK,IAAI6B,GAAG,CAAC,IAAI,KAAKC,GAAG,WAAW,SAASzlB,EAAEA,GAAGE,KAAKukB,iBAAiBzkB,EAAEE,KAAKwlB,YAAY,GAAGxlB,KAAKylB,kBAAkB,GAAGzlB,KAAKogB,UAAU,GAAGpgB,KAAKilB,SAAS,IAAIpH,GAAG7d,KAAK0lB,aAAa,IAAI7H,GAAG7d,KAAK2lB,kBAAkB,EAAE,OAAO7lB,EAAEO,UAAUskB,aAAa,SAAS7kB,GAAGE,KAAKwlB,YAAYxc,KAAKlJ,IAAIA,EAAEO,UAAUukB,gBAAgB,SAAS9kB,GAAG,IAAIC,EAAEC,KAAKwlB,YAAY1V,QAAQhQ,GAAGC,GAAG,GAAGC,KAAKwlB,YAAY1E,OAAO/gB,EAAE,IAAID,EAAEO,UAAUwkB,iBAAiB,WAAW7kB,KAAKwlB,YAAY,IAAI1lB,EAAEO,UAAU6H,QAAQ,SAASpI,GAAG,IAAIC,EAAEC,KAAKA,KAAKylB,kBAAkBzlB,KAAKwlB,YAAY5c,QAAM,SAAW9I,GAAG,OAAOA,EAAE+I,UAAU7I,KAAKogB,UAAUpgB,KAAKylB,kBAAkBvY,QAAM,SAAWpN,EAAEC,GAAG,OAAOwjB,GAAGA,GAAG,GAAGzjB,GAAE,GAAIC,EAAEglB,aAAY,KAAM,IAAI/kB,KAAKylB,kBAAkB3c,SAAO,SAAWxH,GAAGA,EAAEkN,OAAOgV,QAAEC,cAAC2B,QAAQrlB,EAAE6lB,cAActkB,EAAExB,GAAGwB,EAAEkN,OAAOgV,QAAAA,cAAG6B,WAAWtlB,EAAE8lB,gBAAgBvkB,EAAExB,GAAGwB,EAAE4jB,WAAW5jB,EAAE4jB,UAAU5jB,OAAOxB,EAAEO,UAAUulB,cAAc,SAAS9lB,EAAEC,GAAG,IAAIuB,EAAEtB,KAAKA,KAAK8lB,aAAahmB,EAAEC,GAAGulB,GAAGxc,SAAO,SAAWhH,GAAGR,EAAEykB,cAAcjmB,EAAEC,EAAE+B,GAAGR,EAAE0kB,mBAAmBlmB,EAAEgC,GAAGR,EAAE2kB,gBAAgBnmB,EAAEgC,OAAOhC,EAAEO,UAAUwlB,gBAAgB,SAAS/lB,EAAEC,GAAG,IAAIuB,EAAEtB,KAAK6d,GAAGxc,IAAIvB,EAAEwC,SAASxC,EAAEwC,SAASub,GAAGnc,MAAM1B,KAAKilB,SAASnlB,EAAEmlB,SAASllB,IAAID,EAAEilB,YAAY1W,cAAcvO,GAAG,OAAOwB,EAAEijB,iBAAiB3D,YAAY9gB,MAAMgJ,SAAO,SAAWhJ,GAAG+d,GAAGxc,IAAIvB,EAAEwC,SAASxC,EAAEwC,SAAShB,EAAE2jB,UAAU3jB,EAAEijB,iBAAiBnD,6BAA6BthB,OAAOA,EAAEO,UAAUylB,aAAa,SAAShmB,EAAEC,GAAGD,EAAEklB,QAAQ,IAAIllB,EAAEmlB,SAAShkB,GAAGnB,EAAEklB,QAAQjlB,IAAID,EAAEO,UAAU0lB,cAAc,SAASjmB,EAAEC,EAAEuB,GAAG,IAAIQ,EAAE9B,KAAKA,KAAKilB,SAAS3jB,GAAGxB,EAAEmlB,SAAS3jB,GAAGvB,EAAE,IAAIC,KAAKilB,SAAS3jB,KAAKxB,EAAEwC,SAAShB,IAAItB,KAAKilB,SAAS3jB,GAAGxB,EAAEilB,YAAY1W,KAAK,SAASvO,GAAG,OAAOgC,EAAEyiB,iBAAiB3D,YAAY9gB,MAAMgJ,SAAS,SAAShJ,GAAGA,EAAEwC,SAAShB,IAAIQ,EAAEmjB,SAAS3jB,GAAGQ,EAAEyiB,iBAAiBnD,6BAA6BthB,QAAQA,EAAEO,UAAU2lB,mBAAmB,SAASlmB,EAAEC,GAAG,IAAIuB,EAAEtB,KAAKA,KAAK0lB,aAAa3lB,GAAG,EAAEC,KAAKkmB,cAAcpmB,GAAGgJ,SAAS,SAAShJ,GAAGwB,EAAEqkB,kBAAkB7lB,EAAEiiB,WAAWE,sBAAsBliB,GAAGD,EAAEiiB,WAAWG,YAAY5gB,EAAEokB,aAAa3lB,GAAGW,KAAKiM,IAAIrL,EAAEokB,aAAa3lB,IAAIW,KAAKiM,IAAIrL,EAAEqkB,mBAAmBrkB,EAAEokB,aAAa3lB,GAAGuB,EAAEqkB,sBAAsB7lB,EAAEO,UAAU4lB,gBAAgB,SAASnmB,EAAEC,GAAG,IAAIuB,EAAEtB,KAAK,IAAIA,KAAK0lB,aAAa3lB,KAAKD,EAAEwC,SAASvC,IAAIC,KAAK0lB,aAAa3lB,GAAGD,EAAEilB,YAAY1W,cAAcvO,GAAG,OAAOwB,EAAEijB,iBAAiB3D,YAAY9gB,MAAMgJ,SAAO,SAAWhJ,GAAGA,EAAEwC,SAASvC,IAAIuB,EAAEokB,aAAa3lB,GAAGuB,EAAEijB,iBAAiBnD,6BAA6BthB,MAAMY,KAAKsiB,KAAKhjB,KAAK0lB,aAAa3lB,MAAMW,KAAKsiB,KAAKljB,EAAEmlB,SAASllB,MAAMD,EAAEmlB,SAASllB,GAAG,KAAKD,EAAEO,UAAU6lB,cAAc,SAASpmB,GAAG,IAAIC,EAAEC,KAAK,OAAOF,EAAEilB,YAAY1W,cAAcvO,GAAG,OAAOC,EAAEwkB,iBAAiB3D,YAAY9gB,MAAM8I,QAAM,SAAW9I,GAAG,OAAOA,EAAE+I,QAAQ/I,EAAEqe,WAAWjR,iBAAiBpN,EAAEwB,GAAG,OAAOxB,EAAEkJ,KAAK/E,MAAMnE,EAAEC,EAAEwkB,iBAAiBvD,yBAAyB1f,GAAGsH,QAAQ,SAAS9I,GAAG,OAAOA,EAAEqhB,eAAehD,SAASpe,EAAEqgB,UAAUnX,SAASnJ,EAAEqhB,eAAehP,QAAQrS,IAAI,KAAKA,EAAnuF,GAAwuFqmB,GAAG,WAAW,SAASrmB,EAAEA,GAAGE,KAAKuN,OAAOzN,EAAEE,KAAKwO,KAAKoR,GAAGpU,cAAcxL,KAAK0hB,YAAY,IAAI5D,GAAG,EAAE,EAAE,EAAE,GAAG9d,KAAK2W,SAAS,CAAC,IAAIkH,GAAG,IAAIA,IAAI7d,KAAKikB,eAAe,CAAC,IAAIpG,IAAI7d,KAAKgC,UAAU,IAAI6b,GAAG,OAAO1d,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUjB,KAAKjB,IAAIU,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUuH,OAAO,WAAW5H,KAAKomB,qBAAqBtmB,EAAEO,UAAU+lB,kBAAkB,WAAWpmB,KAAK0hB,YAAYnhB,IAAIP,KAAKsC,SAAStB,EAAEhB,KAAKuN,OAAOvN,KAAKsC,SAASrB,EAAEjB,KAAKuN,OAAO,EAAEvN,KAAKuN,OAAO,EAAEvN,KAAKuN,SAASzN,EAAniB,GAAwiBumB,GAAG,WAAW,SAASvmB,EAAEA,GAAGE,KAAKqN,YAAYvN,EAAEE,KAAKwO,KAAKoR,GAAGrU,QAAQvL,KAAK2W,SAAS,CAAC,IAAIkH,GAAG,IAAIA,IAAI7d,KAAKikB,eAAe,CAAC,IAAIpG,IAAI7d,KAAK0hB,YAAY,IAAI5D,GAAG,EAAE,EAAE,EAAE,GAAG9d,KAAK0M,SAAS,EAAE1M,KAAKgC,UAAU,IAAI6b,GAAG,OAAO/d,EAAEO,UAAUuH,OAAO,WAAW5H,KAAKsmB,iBAAiBtmB,KAAKomB,oBAAoBpmB,KAAKumB,wBAAwBpmB,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUjB,KAAKjB,IAAIU,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUimB,eAAe,WAAW,IAAI,IAAIxmB,EAAE,EAAEA,EAAEE,KAAKqN,YAAYrJ,OAAOlE,IAAIE,KAAK2W,SAAS7W,GAAGS,IAAIP,KAAKqN,YAAYvN,GAAGkB,EAAEN,KAAKyC,IAAInD,KAAK0M,UAAU1M,KAAKqN,YAAYvN,GAAGmB,EAAEP,KAAK0C,IAAIpD,KAAK0M,UAAU1M,KAAKgC,UAAUhB,EAAEhB,KAAKqN,YAAYvN,GAAGkB,EAAEN,KAAK0C,IAAIpD,KAAK0M,UAAU1M,KAAKqN,YAAYvN,GAAGmB,EAAEP,KAAKyC,IAAInD,KAAK0M,UAAU1M,KAAKgC,UAAUf,IAAInB,EAAEO,UAAU+lB,kBAAkB,WAAWpmB,KAAK0hB,YAAY1gB,EAAEN,KAAKiN,IAAI3N,KAAK2W,SAAS,GAAG3V,EAAEhB,KAAK2W,SAAS,GAAG3V,GAAGhB,KAAK0hB,YAAYzgB,EAAEP,KAAKiN,IAAI3N,KAAK2W,SAAS,GAAG1V,EAAEjB,KAAK2W,SAAS,GAAG1V,GAAGjB,KAAK0hB,YAAYtf,MAAM1B,KAAKyM,IAAInN,KAAK2W,SAAS,GAAG3V,EAAEhB,KAAK2W,SAAS,GAAG3V,GAAGhB,KAAK0hB,YAAY1gB,EAAEhB,KAAK0hB,YAAYrf,OAAO3B,KAAKyM,IAAInN,KAAK2W,SAAS,GAAG1V,EAAEjB,KAAK2W,SAAS,GAAG1V,GAAGjB,KAAK0hB,YAAYzgB,GAAGnB,EAAEO,UAAUkmB,qBAAqB,WAAW1I,GAAGpc,OAAOzB,KAAKikB,eAAe,GAAGpG,GAAGtc,SAASvB,KAAKikB,eAAe,GAAGjkB,KAAK2W,SAAS,GAAG3W,KAAK2W,SAAS,MAAM7W,EAA3wC,GAAgxC0mB,GAAG,WAAW,SAAS1mB,EAAEA,GAAGE,KAAKqN,YAAYvN,EAAEE,KAAKwO,KAAKoR,GAAGrU,QAAQvL,KAAK2W,SAAS,GAAG3W,KAAK0hB,YAAY,IAAI5D,GAAG,EAAE,EAAE,EAAE,GAAG9d,KAAK0M,SAAS,EAAE1M,KAAKymB,gBAAgB,GAAGzmB,KAAKgC,UAAU,IAAI6b,GAAG7d,KAAK0mB,QAAQlZ,OAAOC,iBAAiBzN,KAAK2mB,QAAQnZ,OAAOC,iBAAiBzN,KAAK4mB,SAASpZ,OAAOC,iBAAiBzN,KAAK6mB,SAASrZ,OAAOC,iBAAiB,IAAI,IAAI1N,EAAE,EAAEA,EAAEC,KAAKqN,YAAYrJ,OAAOjE,IAAIC,KAAK2W,SAAS3N,KAAK,IAAI6U,IAAI7d,KAAKymB,gBAAgBzd,KAAK,IAAI6U,IAAI,OAAO1d,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUjB,KAAKjB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,iBAAiB,CAACC,IAAI,WAAW,OAAON,KAAKymB,iBAAiBjmB,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUuH,OAAO,WAAW5H,KAAKsmB,iBAAiBtmB,KAAKomB,oBAAoBpmB,KAAKumB,wBAAwBzmB,EAAEO,UAAUimB,eAAe,WAAW,IAAI,IAAIxmB,EAAE,EAAEA,EAAEE,KAAKqN,YAAYrJ,OAAOlE,IAAIE,KAAK2W,SAAS7W,GAAGS,IAAIP,KAAKqN,YAAYvN,GAAGkB,EAAEN,KAAKyC,IAAInD,KAAK0M,UAAU1M,KAAKqN,YAAYvN,GAAGmB,EAAEP,KAAK0C,IAAIpD,KAAK0M,UAAU1M,KAAKgC,UAAUhB,EAAEhB,KAAKqN,YAAYvN,GAAGkB,EAAEN,KAAK0C,IAAIpD,KAAK0M,UAAU1M,KAAKqN,YAAYvN,GAAGmB,EAAEP,KAAKyC,IAAInD,KAAK0M,UAAU1M,KAAKgC,UAAUf,IAAInB,EAAEO,UAAU+lB,kBAAkB,WAAW,IAAItmB,EAAEE,KAAKA,KAAK0mB,QAAQ1mB,KAAK2W,SAAS,GAAG3V,EAAEhB,KAAK2mB,QAAQ3mB,KAAK2W,SAAS,GAAG1V,EAAEjB,KAAK4mB,QAAQ5mB,KAAK2W,SAAS,GAAG3V,EAAEhB,KAAK6mB,QAAQ7mB,KAAK2W,SAAS,GAAG1V,EAAEjB,KAAK2W,SAAS7N,SAAS,SAAS/I,GAAGD,EAAE4mB,QAAQhmB,KAAKiN,IAAI5N,EAAEiB,EAAElB,EAAE4mB,SAAS5mB,EAAE6mB,QAAQjmB,KAAKiN,IAAI5N,EAAEkB,EAAEnB,EAAE6mB,SAAS7mB,EAAE8mB,QAAQlmB,KAAKyM,IAAIpN,EAAEiB,EAAElB,EAAE8mB,SAAS9mB,EAAE+mB,QAAQnmB,KAAKyM,IAAIpN,EAAEkB,EAAEnB,EAAE+mB,YAAY7mB,KAAK0hB,YAAYnhB,IAAIP,KAAK0mB,QAAQ1mB,KAAK2mB,QAAQ3mB,KAAK4mB,QAAQ5mB,KAAK0mB,QAAQ1mB,KAAK6mB,QAAQ7mB,KAAK2mB,UAAU7mB,EAAEO,UAAUkmB,qBAAqB,WAAW,IAAI,IAAIzmB,EAAEC,EAAE,EAAEA,EAAEC,KAAK2W,SAAS3S,OAAOjE,IAAI8d,GAAGpc,OAAOzB,KAAKymB,gBAAgB1mB,GAAG8d,GAAGtc,SAASvB,KAAKymB,gBAAgB1mB,GAAG,QAAQD,EAAEE,KAAK2W,SAAS5W,EAAE,UAAK,IAASD,EAAEA,EAAEE,KAAK2W,SAAS,GAAG3W,KAAK2W,SAAS5W,MAAMD,EAA/yD,GAAozDgnB,GAAG,SAAShnB,GAAG,SAASC,EAAEA,EAAEuB,GAAG,IAAIQ,EAAEhC,EAAE2D,KAAKzD,KAAK,CAAC,IAAI6d,IAAI9d,EAAE,GAAGuB,EAAE,GAAG,IAAIuc,IAAI9d,EAAE,EAAEuB,EAAE,GAAG,IAAIuc,GAAG9d,EAAE,EAAEuB,EAAE,GAAG,IAAIuc,GAAG9d,EAAE,GAAGuB,EAAE,MAAMtB,KAAK,OAAO8B,EAAEM,MAAMrC,EAAE+B,EAAEO,OAAOf,EAAEQ,EAAE2kB,gBAAgB,CAAC,IAAI5I,GAAG,IAAIA,IAAI/b,EAAE,OAAO,SAAShC,EAAEC,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAI2D,UAAU,uBAAuBC,OAAO5D,GAAG,iCAAiC,SAASuB,IAAItB,KAAK4D,YAAY9D,EAAEwjB,GAAGxjB,EAAEC,GAAGD,EAAEO,UAAU,OAAON,EAAEI,OAAO0D,OAAO9D,IAAIuB,EAAEjB,UAAUN,EAAEM,UAAU,IAAIiB,GAAjP,CAAqPvB,EAAED,GAAGC,EAAEM,UAAU0mB,WAAW,SAASjnB,EAAEC,GAAGC,KAAKoC,MAAMtC,EAAEE,KAAKqC,OAAOtC,EAAEC,KAAKqN,YAAY,GAAG9M,KAAKT,EAAE,GAAGC,EAAE,GAAGC,KAAKqN,YAAY,GAAG9M,KAAKT,EAAE,EAAEC,EAAE,GAAGC,KAAKqN,YAAY,GAAG9M,IAAIT,EAAE,EAAEC,EAAE,GAAGC,KAAKqN,YAAY,GAAG9M,IAAIT,EAAE,GAAGC,EAAE,IAAIA,EAAEM,UAAUkmB,qBAAqB,WAAW1I,GAAG/c,KAAKd,KAAKikB,eAAe,GAAGpG,GAAGtc,SAASvB,KAAKikB,eAAe,GAAGjkB,KAAK2W,SAAS,GAAG3W,KAAK2W,SAAS,KAAKkH,GAAGpc,OAAOzB,KAAKikB,eAAe,GAAGjkB,KAAKikB,eAAe,KAAKlkB,EAAj1B,CAAo1BymB,IAAIQ,GAAG,WAAW,SAASlnB,EAAEA,EAAEC,QAAG,IAASD,IAAIA,EAAE,QAAG,IAASC,IAAIA,EAAE,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,EAAE,OAAOI,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKC,IAAIM,IAAI,SAAST,GAAGE,KAAKC,GAAGH,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKE,IAAIK,IAAI,SAAST,GAAGE,KAAKE,GAAGJ,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAOI,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAG,GAAGS,KAAKE,IAAIZ,KAAKE,GAAG,KAAKM,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,aAAab,KAAKa,WAAW,IAAIf,GAAGA,EAAEgB,KAAKd,KAAKa,WAAWb,OAAOQ,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEC,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,GAAGD,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAInB,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKC,KAAKH,EAAEkB,GAAGhB,KAAKE,KAAKJ,EAAEmB,GAAGnB,EAAEO,UAAUc,MAAM,WAAW,OAAO,IAAIrB,EAAEE,KAAKC,GAAGD,KAAKE,KAAKJ,EAAEO,UAAUe,SAAS,SAAStB,GAAG,OAAOY,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAGH,EAAEkB,EAAE,GAAGN,KAAKE,IAAIZ,KAAKE,GAAGJ,EAAEmB,EAAE,KAAKnB,EAAEuB,IAAI,SAASvB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEN,EAAEjB,EAAEkB,EAAEK,EAAEL,GAAGnB,GAAGA,EAAEyB,SAAS,SAASzB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEN,EAAEjB,EAAEkB,EAAEK,EAAEL,GAAGnB,GAAGA,EAAEgB,KAAK,SAAShB,EAAEC,GAAG,OAAO,IAAIA,EAAEyB,UAAU1B,EAAES,IAAI,EAAE,GAAGT,EAAES,IAAIR,EAAEiB,EAAEjB,EAAEyB,UAAUzB,EAAEkB,EAAElB,EAAEyB,WAAW1B,GAAGA,EAAE2B,OAAO,SAAS3B,EAAEC,GAAG,OAAOD,EAAES,KAAKR,EAAEkB,EAAElB,EAAEiB,GAAGhB,KAAKc,KAAKhB,EAAEA,IAAIA,EAAE4B,MAAM,SAAS5B,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEvB,EAAEkB,EAAEK,GAAGxB,GAAGA,EAAE6B,IAAI,SAAS7B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEiB,EAAElB,EAAEmB,EAAElB,EAAEkB,GAAGnB,EAAE8B,MAAM,SAAS9B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEkB,EAAEnB,EAAEmB,EAAElB,EAAEiB,GAAGlB,EAAE+B,MAAM,SAAS/B,EAAEC,GAAG,OAAOD,EAAES,IAAIG,KAAKmB,MAAM9B,EAAEiB,GAAGN,KAAKmB,MAAM9B,EAAEkB,IAAInB,GAAGA,EAAh9C,IAAs9C,WAAW,SAASA,EAAEA,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKgC,UAAU,IAAIglB,GAAGhnB,KAAKiC,QAAQ,IAAI+kB,GAAGhnB,KAAKkC,OAAO,EAAElC,KAAKmC,QAAQ,EAAEnC,KAAKO,IAAIT,EAAEC,EAAEuB,EAAEQ,GAAG3B,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,GAAGT,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEE,KAAKgC,UAAUf,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,GAAGV,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIP,KAAKgC,UAAUhB,EAAElB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,EAAEhB,KAAKkC,QAAQ1B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,EAAEjB,KAAKmC,SAAS3B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAKkC,QAAQ3B,IAAI,SAAST,GAAGE,KAAKkC,OAAOpC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKmC,SAAS5B,IAAI,SAAST,GAAGE,KAAKmC,QAAQrC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKiC,QAAQ1B,IAAIP,KAAKgB,EAAEhB,KAAKoC,MAAM,EAAEpC,KAAKiB,EAAEjB,KAAKqC,OAAO,GAAGrC,KAAKiC,SAASzB,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKgC,UAAUzB,IAAIT,EAAEC,GAAGC,KAAKkC,OAAOZ,EAAEtB,KAAKmC,QAAQL,GAAGhC,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKsC,SAASpB,OAAOpB,EAAEwC,WAAWtC,KAAKoC,QAAQtC,EAAEsC,OAAOpC,KAAKqC,SAASvC,EAAEuC,QAAQvC,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,EAAEnB,EAAEsC,MAAMtC,EAAEuC,SAASvC,EAAEO,UAAUkC,SAAS,SAASzC,GAAG,OAAOE,KAAKwC,IAAI1C,EAAEkB,GAAGhB,KAAKgB,EAAElB,EAAE0C,IAAIxC,KAAKyC,IAAI3C,EAAEmB,GAAGjB,KAAKiB,EAAEnB,EAAE2C,IAAI3C,EAAEO,UAAUqC,SAAS,SAAS3C,GAAG,OAAOA,aAAaD,EAAEC,EAAEyC,IAAIxC,KAAKwC,IAAIzC,EAAEiB,GAAGhB,KAAKgB,GAAGjB,EAAE0C,IAAIzC,KAAKyC,IAAI1C,EAAEkB,GAAGjB,KAAKiB,EAAElB,aAAainB,MAAMjnB,EAAEiB,EAAEhB,KAAKgB,GAAGjB,EAAEkB,EAAEjB,KAAKiB,GAAGlB,EAAEiB,GAAGhB,KAAKwC,IAAIzC,EAAEkB,GAAGjB,KAAKyC,KAAt0D,GAA80D,WAAW,SAAS3C,EAAEA,EAAEC,QAAG,IAASD,IAAIA,EAAE,WAAM,IAASC,IAAIA,EAAE,MAAMC,KAAK6C,SAAS,EAAE7C,KAAK8C,SAAS,EAAE9C,KAAKa,WAAW,IAAImmB,GAAGlnB,EAAEE,KAAK+C,QAAQjD,EAAEC,IAAIC,KAAKgD,QAAQjD,GAAGI,OAAOC,eAAeN,EAAEO,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAK6C,UAAUtC,IAAI,SAAST,GAAGE,KAAK6C,SAAS/C,EAAEE,KAAK8C,SAAShD,EAAEY,KAAKuC,GAAG,IAAIjD,KAAKkD,mBAAmB1C,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAK8C,UAAUvC,IAAI,SAAST,GAAGE,KAAK8C,SAAShD,EAAEE,KAAK6C,SAAS,IAAI/C,EAAEY,KAAKuC,GAAGjD,KAAKkD,mBAAmB1C,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,YAAYL,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAU6C,gBAAgB,WAAWlD,KAAKa,WAAWN,IAAIG,KAAKyC,IAAInD,KAAK8C,UAAUpC,KAAK0C,IAAIpD,KAAK8C,YAApwB,GAAmxB,IAAImkB,GAAGC,GAAG,WAAW,SAASpnB,IAAI,IAAIA,EAAEE,KAAKA,KAAKmnB,SAAS,IAAIrW,IAAI9Q,KAAKonB,aAAa,SAASrnB,GAAG,qBAAqBA,EAAEyO,KAAK1O,EAAEunB,iBAAiBtnB,EAAEunB,SAAS,wBAAwBvnB,EAAEyO,MAAM1O,EAAEynB,mBAAmBxnB,EAAEunB,UAAU3gB,OAAO0V,iBAAiB,mBAAmBrc,KAAKonB,cAAczgB,OAAO0V,iBAAiB,sBAAsBrc,KAAKonB,cAAc,OAAOtnB,EAAEO,UAAUmnB,WAAW,SAAS1nB,GAAG,IAAIC,EAAE,OAAO,QAAQA,EAAEC,KAAKmnB,SAAS7mB,IAAIR,UAAK,IAASC,EAAEA,EAAE,MAAMD,EAAEO,UAAUonB,YAAY,WAAW,OAAOlkB,MAAMmkB,KAAK1nB,KAAKmnB,SAASQ,WAAW7nB,EAAEO,UAAUgnB,iBAAiB,SAASvnB,GAAGE,KAAKmnB,SAAS5mB,IAAIT,EAAE8nB,MAAM,IAAIC,IAAI7nB,KAAKmnB,SAAS7mB,IAAIR,EAAE8nB,OAAOE,kBAAkBhoB,IAAIA,EAAEO,UAAUknB,mBAAmB,SAASznB,GAAGE,KAAKmnB,SAASY,OAAOjoB,EAAE8nB,QAAQ9nB,EAAEO,UAAUuH,OAAO,WAAW,IAAI,IAAI9H,EAAE,EAAEC,EAAEC,KAAKgoB,yBAAyBloB,EAAEC,EAAEiE,OAAOlE,IAAI,CAAC,IAAIwB,EAAEvB,EAAED,GAAG,OAAOwB,KAAI,IAAKtB,KAAKmnB,SAASnW,IAAI1P,EAAEsmB,OAAO5nB,KAAKqnB,iBAAiB/lB,GAAGtB,KAAKmnB,SAAS7mB,IAAIgB,EAAEsmB,OAAOE,kBAAkBxmB,MAAMxB,EAAEO,UAAU2nB,uBAAuB,WAAW,OAAOC,UAAUR,YAAYQ,UAAUR,cAAcQ,UAAUC,kBAAkBD,UAAUC,kBAAkB,IAAIpoB,EAA3kC,GAAglC+nB,GAAG,WAAW,SAAS/nB,IAAIE,KAAKmoB,QAAQ,IAAIrX,IAAI9Q,KAAKgkB,KAAK,IAAIlT,IAAI9Q,KAAKooB,UAAU,IAAIpB,GAAGhnB,KAAKqoB,eAAe,IAAIrB,GAAGhnB,KAAKsoB,gBAAgB,IAAItB,GAAGhnB,KAAKuoB,YAAW,EAAG,OAAOzoB,EAAEO,UAAUynB,kBAAkB,SAAShoB,GAAG,IAAIC,EAAEC,KAAKA,KAAKwoB,SAAS1oB,EAAEA,EAAEqoB,QAAQrf,kBAAkBhJ,EAAEwB,GAAG,OAAOvB,EAAEooB,QAAQ5nB,IAAIe,EAAExB,EAAE2oB,YAAY3oB,EAAEkkB,KAAKlb,kBAAkBhJ,EAAEwB,GAAG,OAAOvB,EAAEikB,KAAKzjB,IAAIe,EAAExB,OAAOK,OAAOC,eAAeN,EAAEO,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKwoB,SAASrW,IAAI3R,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKwoB,SAASE,WAAWloB,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUsoB,iBAAiB,SAAS7oB,GAAG,OAAOE,KAAKmoB,QAAQ7nB,IAAIR,IAAIA,EAAEO,UAAUuoB,QAAQ,SAAS9oB,GAAG,OAAOE,KAAKgkB,KAAK1jB,IAAIR,IAAIK,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKooB,UAAU7nB,IAAIP,KAAK6oB,UAAU,EAAE7oB,KAAK8oB,UAAU,EAAE,EAAE9oB,KAAK+oB,OAAO,EAAE/oB,KAAKgpB,UAAU,EAAE,GAAGhpB,KAAKooB,WAAW5nB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,gBAAgB,CAACC,IAAI,WAAW,OAAON,KAAKqoB,eAAe9nB,IAAIP,KAAKipB,oBAAoBjpB,KAAKkpB,mBAAmBlpB,KAAKqoB,gBAAgB7nB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,iBAAiB,CAACC,IAAI,WAAW,OAAON,KAAKsoB,gBAAgB/nB,IAAIP,KAAKmpB,qBAAqBnpB,KAAKopB,oBAAoBppB,KAAKsoB,iBAAiB9nB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,aAAa,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,UAAU,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,eAAe,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,gBAAgB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,cAAc,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,eAAe,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,OAAO,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,QAAQ,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,kBAAkB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,mBAAmB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,sBAAsB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKgkB,KAAK1jB,IAAI,UAAK,IAASR,EAAEA,EAAE,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,oBAAoB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,GAAGE,KAAKgkB,KAAK1jB,IAAI,UAAK,IAASR,EAAEA,EAAE,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,uBAAuB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKgkB,KAAK1jB,IAAI,UAAK,IAASR,EAAEA,EAAE,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,qBAAqB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,GAAGE,KAAKgkB,KAAK1jB,IAAI,UAAK,IAASR,EAAEA,EAAE,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,mBAAmB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEyD,MAAMmkB,KAAK1nB,KAAKmoB,QAAQR,UAAU0B,MAAM,SAASvpB,GAAG,OAAOA,YAAO,IAASA,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKuoB,YAAY/nB,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUipB,QAAQ,SAASxpB,EAAEC,EAAEuB,EAAEQ,GAAG,IAAIa,EAAE3C,UAAK,IAASF,IAAIA,EAAE,UAAK,IAASC,IAAIA,EAAE,SAAI,IAASuB,IAAIA,EAAE,SAAI,IAASQ,IAAIA,EAAE,GAAG9B,KAAKwoB,SAASe,oBAAoBvpB,KAAKuoB,YAAW,EAAGvoB,KAAKwoB,SAASe,kBAAkBC,WAAWxpB,KAAKwoB,SAASe,kBAAkB/a,KAAK,CAACib,SAAS3pB,EAAE4pB,cAAc3pB,EAAE4pB,gBAAgBroB,EAAEsoB,WAAW9nB,IAAI+nB,kBAAkB,OAAOlnB,EAAE4lB,YAAW,KAAMuB,oBAAoB,OAAOnnB,EAAE4lB,YAAW,OAAQzoB,EAA3kK,GAAglKiqB,GAAG,WAAW,SAASjqB,EAAEA,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKgqB,MAAMlqB,EAAEE,KAAKiqB,SAASlqB,EAAEC,KAAKsnB,QAAQhmB,EAAEtB,KAAKkqB,MAAMpoB,EAAE,OAAOhC,EAAEO,UAAUuH,OAAO,WAAW5H,KAAKgqB,MAAMpiB,SAAS5H,KAAKsnB,QAAQ1f,UAAU9H,EAAxK,GAA6KqqB,GAAG,WAAW,SAASrqB,EAAEA,GAAG,IAAIC,EAAEC,KAAKA,KAAKoqB,YAAY,GAAGpqB,KAAKqqB,OAAO,IAAIvZ,IAAI9Q,KAAKonB,aAAa,SAAStnB,GAAG,GAAG,YAAYA,EAAE0O,OAAOzO,EAAEsqB,OAAO9pB,IAAIT,EAAEwqB,MAAK,GAAIvqB,EAAEqqB,YAAYnhB,SAASnJ,EAAEwqB,OAAOvqB,EAAEqqB,YAAYphB,KAAKlJ,EAAEwqB,OAAO,UAAUxqB,EAAE0O,KAAK,CAACzO,EAAEsqB,OAAO9pB,IAAIT,EAAEwqB,MAAK,GAAI,IAAIhpB,EAAEvB,EAAEqqB,YAAYta,QAAQhQ,EAAEwqB,OAAO,IAAIhpB,GAAGvB,EAAEqqB,YAAYtJ,OAAOxf,EAAE,KAAKxB,EAAEuc,iBAAiB,UAAUrc,KAAKonB,cAActnB,EAAEuc,iBAAiB,QAAQrc,KAAKonB,cAAc,OAAOtnB,EAAEO,UAAUkqB,UAAU,SAASzqB,GAAG,IAAIC,EAAE,OAAO,QAAQA,EAAEC,KAAKqqB,OAAO/pB,IAAIR,UAAK,IAASC,GAAGA,GAAGD,EAAEO,UAAUmqB,UAAU,SAAS1qB,GAAG,IAAIC,EAAEC,KAAK,OAAOF,EAAEoN,QAAM,SAAWpN,EAAEwB,GAAG,IAAIQ,EAAE,OAAOhC,GAAG,QAAQgC,EAAE/B,EAAEsqB,OAAO/pB,IAAIgB,UAAK,IAASQ,GAAGA,KAAI,IAAKhC,EAAEO,UAAUoqB,WAAW,SAAS3qB,GAAG,IAAIC,EAAEC,KAAK,OAAOF,EAAEoN,iBAAiBpN,EAAEwB,GAAG,IAAIQ,EAAE,OAAOhC,GAAG,QAAQgC,EAAE/B,EAAEsqB,OAAO/pB,IAAIgB,UAAK,IAASQ,GAAGA,KAAI,IAAKhC,EAAEO,UAAUqqB,gBAAgB,SAAS5qB,EAAEC,EAAEuB,GAAG,OAAOtB,KAAKqqB,OAAO/pB,IAAIR,GAAGC,EAAEuB,GAAGxB,EAAEO,UAAUsqB,gBAAgB,SAAS7qB,EAAEC,EAAEuB,GAAG,IAAIQ,EAAE9B,KAAK,OAAOF,EAAEoN,QAAQ,SAASpN,EAAEC,GAAG,IAAIuB,EAAE,OAAOxB,GAAG,QAAQwB,EAAEQ,EAAEuoB,OAAO/pB,IAAIP,UAAK,IAASuB,GAAGA,KAAI,GAAIvB,EAAEuB,GAAGxB,EAAEO,UAAUuqB,iBAAiB,SAAS9qB,EAAEC,EAAEuB,GAAG,IAAIQ,EAAE9B,KAAK,OAAOF,EAAEoN,QAAQ,SAASpN,EAAEC,GAAG,IAAIuB,EAAE,OAAOxB,GAAG,QAAQwB,EAAEQ,EAAEuoB,OAAO/pB,IAAIP,UAAK,IAASuB,GAAGA,KAAI,GAAIvB,EAAEuB,GAAGxB,EAAvqC,GAA4qC+qB,GAAG,WAAW,SAAS/qB,EAAEA,GAAGE,KAAK8qB,oBAAmB,EAAG9qB,KAAK+qB,sBAAqB,EAAG/qB,KAAKgrB,qBAAoB,EAAGhrB,KAAKirB,oBAAoB,IAAIjE,GAAGhnB,KAAKkrB,WAAU,EAAGlrB,KAAKmrB,aAAa,IAAInE,GAAGhnB,KAAKorB,uBAAuB,IAAIpE,GAAGhnB,KAAKwM,OAAO1M,EAAEE,KAAKqrB,QAAQ,OAAOlrB,OAAOC,eAAeN,EAAEO,UAAU,oBAAoB,CAACC,IAAI,WAAW,OAAON,KAAK8qB,oBAAoBtqB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,sBAAsB,CAACC,IAAI,WAAW,OAAON,KAAK+qB,sBAAsBvqB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,qBAAqB,CAACC,IAAI,WAAW,OAAON,KAAKgrB,qBAAqBxqB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,qBAAqB,CAACC,IAAI,WAAW,OAAON,KAAKirB,qBAAqBzqB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKkrB,WAAW1qB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,cAAc,CAACC,IAAI,WAAW,OAAON,KAAKmrB,cAAc3qB,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUuH,OAAO,YAAW,IAAK5H,KAAKirB,oBAAoB/pB,OAAOlB,KAAKorB,yBAAyBprB,KAAKkrB,WAAU,EAAGlrB,KAAKorB,uBAAuBrqB,KAAKf,KAAKirB,sBAAsBjrB,KAAKkrB,WAAU,EAAGlrB,KAAKsrB,YAAYtrB,KAAKmrB,aAAa5qB,IAAIP,KAAKsrB,WAAWC,OAAOvrB,KAAKsrB,WAAWE,QAAQxrB,KAAKsrB,gBAAW,GAAQtrB,KAAKmrB,aAAa5qB,IAAI,EAAE,IAAIT,EAAEO,UAAUgrB,MAAM,WAAW,IAAIvrB,EAAEE,KAAKA,KAAKwM,OAAO6P,iBAAiB,aAAW,SAAWtc,GAAG,OAAOD,EAAE2rB,eAAe1rB,MAAMC,KAAKwM,OAAO6P,iBAAiB,aAAa,SAAStc,GAAG,OAAOD,EAAE4rB,iBAAiB3rB,MAAMC,KAAKwM,OAAO6P,iBAAiB,WAAS,SAAWtc,GAAG,OAAOD,EAAE6rB,eAAe5rB,MAAMC,KAAKwM,OAAO6P,iBAAiB,kBAAkBtc,GAAG,OAAOD,EAAE8rB,iBAAiB7rB,OAAOD,EAAEO,UAAUqrB,iBAAiB,SAAS5rB,GAAGE,KAAKwM,OAAOqf,QAAQ/rB,EAAEgsB,iBAAiBhsB,EAAEisB,kBAAkB/rB,KAAK8qB,mBAAmB,IAAIhrB,EAAEksB,OAAOhsB,KAAK+qB,qBAAqB,IAAIjrB,EAAEksB,OAAOhsB,KAAKgrB,oBAAoB,IAAIlrB,EAAEksB,QAAQlsB,EAAEO,UAAUsrB,eAAe,SAAS7rB,GAAGA,EAAEgsB,iBAAiBhsB,EAAEisB,kBAAkB/rB,KAAK8qB,mBAAmB,IAAIhrB,EAAEksB,QAAQhsB,KAAK8qB,mBAAmB9qB,KAAK+qB,qBAAqB,IAAIjrB,EAAEksB,QAAQhsB,KAAK+qB,qBAAqB/qB,KAAKgrB,oBAAoB,IAAIlrB,EAAEksB,QAAQhsB,KAAKgrB,qBAAqBlrB,EAAEO,UAAUorB,eAAe,SAAS3rB,GAAGA,EAAEgsB,iBAAiBhsB,EAAEisB,kBAAkB/rB,KAAKirB,oBAAoB1qB,IAAIT,EAAEmsB,SAASjsB,KAAKwM,OAAO0f,YAAYlsB,KAAKwM,OAAOpK,OAAOpC,KAAKwM,OAAOpK,MAAM,GAAGtC,EAAEqsB,SAASnsB,KAAKwM,OAAO4f,aAAapsB,KAAKwM,OAAOnK,QAAQrC,KAAKwM,OAAOnK,OAAO,IAAIvC,EAAEO,UAAUurB,iBAAiB,SAAS9rB,GAAGA,EAAEgsB,iBAAiBhsB,EAAEisB,kBAAkB/rB,KAAKsrB,WAAWxrB,GAAGA,EAA3hF,GAAgiFusB,GAAG,WAAW,SAASvsB,EAAEA,GAAG,IAAIC,EAAEC,KAAKA,KAAKssB,WAAU,EAAGtsB,KAAKusB,cAAc,GAAGvsB,KAAKonB,aAAa,SAAStnB,GAAG,eAAeA,EAAE0O,OAAOzO,EAAEusB,WAAU,EAAGvsB,EAAE0rB,eAAe3rB,IAAI,cAAcA,EAAE0O,MAAMzO,EAAE0rB,eAAe3rB,GAAG,aAAaA,EAAE0O,MAAM,gBAAgB1O,EAAE0O,OAAOzO,EAAEusB,WAAU,IAAKtsB,KAAKwM,OAAO1M,EAAEE,KAAKwM,OAAO6P,iBAAiB,aAAarc,KAAKonB,cAAcpnB,KAAKwM,OAAO6P,iBAAiB,WAAWrc,KAAKonB,cAAcpnB,KAAKwM,OAAO6P,iBAAiB,cAAcrc,KAAKonB,cAAcpnB,KAAKwM,OAAO6P,iBAAiB,YAAYrc,KAAKonB,cAAc,OAAOjnB,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKssB,WAAW9rB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,eAAe,CAACC,IAAI,WAAW,OAAON,KAAKusB,eAAe/rB,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUorB,eAAe,SAAS3rB,GAAG,GAAGA,EAAEgsB,iBAAiBhsB,EAAEisB,kBAAkB/rB,KAAKusB,cAAc,GAAG,IAAIzsB,EAAE0sB,cAAcxoB,OAAO,IAAI,IAAIjE,EAAE,EAAEA,EAAED,EAAE0sB,cAAcxoB,OAAOjE,IAAIC,KAAKusB,cAAcxsB,GAAG,CAAC0sB,mBAAmB,IAAIzF,IAAIlnB,EAAE0sB,cAAczsB,GAAG2sB,QAAQ1sB,KAAKwM,OAAOmgB,aAAa3sB,KAAKwM,OAAO0f,YAAYlsB,KAAKwM,OAAOpK,OAAOpC,KAAKwM,OAAOpK,MAAM,IAAItC,EAAE0sB,cAAczsB,GAAG6sB,QAAQ5sB,KAAKwM,OAAOqgB,YAAY7sB,KAAKwM,OAAO4f,aAAapsB,KAAKwM,OAAOnK,QAAQrC,KAAKwM,OAAOnK,OAAO,GAAGkL,OAAO,IAAIyZ,GAAGlnB,EAAE0sB,cAAczsB,GAAG+sB,QAAQhtB,EAAE0sB,cAAczsB,GAAGgtB,WAAWjtB,EAArxC,IAA2xC,SAASA,GAAGA,EAAEktB,MAAM,QAAQltB,EAAEmtB,MAAM,QAAQntB,EAAEotB,KAAK,OAAOptB,EAAEmM,MAAM,QAAlE,CAA2Egb,KAAKA,GAAG,KAASkG,QAAEC,gBAAA,EAAA,IAACC,GAAG,WAAW,SAASvtB,EAAEA,GAAGE,KAAKqF,cAAcvF,EAAEE,KAAKstB,OAAO,GAAG,OAAOxtB,EAAEO,UAAUktB,gBAAgB,WAAW,OAAOvtB,KAAKstB,OAAOpgB,QAAQ,SAASpN,EAAEC,GAAG,OAAOD,GAAGC,EAAEytB,UAAS,IAAK1tB,EAAEO,UAAUotB,UAAU,SAAS3tB,EAAEC,GAAG,IAAIuB,EAAEtB,UAAK,IAASD,IAAIA,GAAE,GAAI,IAAI+B,EAAE,IAAIkrB,MAAMlrB,EAAE4rB,YAAY,GAAG5rB,EAAEsb,IAAItd,EAAE,IAAI6C,EAAE3C,KAAK2tB,YAAY7tB,EAAEmnB,GAAG+F,MAAMlrB,GAAGC,EAAE,WAAWhC,GAAGuB,EAAE+D,cAAc8K,eAAerO,GAAGa,EAAE6qB,QAAO,GAAI,OAAO1rB,EAAEwX,aAAavX,IAAID,EAAEua,iBAAiB,OAAOta,GAAGD,GAAGhC,EAAEO,UAAUutB,UAAU,SAAS9tB,GAAG,IAAIC,EAAE,IAAIktB,MAAMltB,EAAEqd,IAAItd,EAAE,IAAIwB,EAAEtB,KAAK2tB,YAAY7tB,EAAEmnB,GAAGgG,MAAMltB,GAAG,OAAOA,EAAE0pB,SAASnoB,EAAEksB,QAAO,EAAGztB,EAAEsc,iBAAiB,kBAAkB,WAAW,OAAO/a,EAAEksB,QAAO,KAAMztB,GAAGD,EAAEO,UAAUwtB,SAAS,SAAS/tB,EAAEC,GAAG,IAAIuB,EAAE,IAAIkQ,SAAS1R,EAAE,OAAOqE,OAAOpE,EAAE,MAAM+B,EAAE9B,KAAK2tB,YAAY5tB,EAAEknB,GAAGiG,KAAK5rB,GAAG,OAAOQ,EAAE2P,OAAO3R,EAAEwB,EAAEqG,OAAOmmB,eAAehuB,GAAGyI,SAASwlB,MAAM1sB,IAAIvB,GAAGgC,EAAE0rB,QAAO,KAAMlsB,GAAGxB,EAAEO,UAAU2tB,UAAU,SAASluB,GAAG,IAAIC,EAAEwI,SAASiK,cAAc,SAASzS,EAAEkuB,aAAY,EAAGluB,EAAEqd,IAAItd,EAAE,IAAIwB,EAAEtB,KAAK2tB,YAAY7tB,EAAEmnB,GAAGhb,MAAMlM,GAAG,OAAOA,EAAE0pB,SAASnoB,EAAEksB,QAAO,EAAGztB,EAAEsc,iBAAiB,kBAAkB,WAAW,OAAO/a,EAAEksB,QAAO,KAAMztB,GAAGD,EAAEO,UAAU6tB,SAAS,SAASpuB,GAAG,IAAIC,EAAE,OAAO,QAAQA,EAAEC,KAAKstB,OAAOjE,MAAM,SAAStpB,GAAG,OAAOA,EAAEyO,OAAOyY,GAAG+F,OAAOjtB,EAAEouB,MAAMruB,YAAO,IAASC,OAAE,EAAOA,EAAEquB,SAAStuB,EAAEO,UAAUguB,SAAS,SAASvuB,GAAG,IAAIC,EAAE,OAAO,QAAQA,EAAEC,KAAKstB,OAAOjE,MAAM,SAAStpB,GAAG,OAAOA,EAAEyO,OAAOyY,GAAGgG,OAAOltB,EAAEouB,MAAMruB,YAAO,IAASC,OAAE,EAAOA,EAAEquB,SAAStuB,EAAEO,UAAUiuB,QAAQ,SAASxuB,GAAG,IAAIC,EAAE,OAAO,QAAQA,EAAEC,KAAKstB,OAAOjE,MAAI,SAAWtpB,GAAG,OAAOA,EAAEyO,OAAOyY,GAAGiG,MAAMntB,EAAE0R,SAAS3R,YAAO,IAASC,OAAE,EAAOA,EAAEquB,SAAStuB,EAAEO,UAAUkuB,SAAS,SAASzuB,GAAG,IAAIC,EAAE,OAAO,QAAQA,EAAEC,KAAKstB,OAAOjE,eAAetpB,GAAG,OAAOA,EAAEyO,OAAOyY,GAAGhb,OAAOlM,EAAEouB,MAAMruB,YAAO,IAASC,OAAE,EAAOA,EAAEquB,SAAStuB,EAAEO,UAAUstB,YAAY,SAAS7tB,EAAEC,EAAEuB,GAAG,IAAIQ,EAAE,CAAC0M,KAAKzO,EAAEouB,IAAIruB,EAAEsuB,QAAQ9sB,EAAEksB,QAAO,GAAI,OAAOxtB,KAAKstB,OAAOtkB,KAAKlH,GAAGA,GAAGhC,EAA7wD,GAAkxD0uB,GAAG,SAAS1uB,GAAG,SAASwB,EAAEvB,GAAG,IAAIuB,EAAExB,EAAE2D,KAAKzD,KAAKD,IAAIC,KAAK,OAAOsB,EAAEmJ,KAAK,sBAAsBnJ,EAAE,OAAOvB,EAAEuB,EAAExB,GAAGwB,EAAzG,CAA4GoP,OAAO+d,GAAG,WAAW,SAAS3uB,EAAEA,EAAEC,EAAEuB,GAAG,GAAGtB,KAAK0uB,QAAQ,MAAM5uB,EAAE,MAAM,IAAI0uB,GAAG,0CAA0CxuB,KAAK2uB,cAAc7uB,EAAEE,KAAK4uB,UAAU7uB,EAAEC,KAAK6uB,WAAWvtB,EAAEtB,KAAK8uB,cAAc,OAAO3uB,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAK0uB,SAASluB,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUyuB,YAAY,WAAW9uB,KAAK0uB,QAAQnmB,SAASiK,cAAc,UAAUxS,KAAK0uB,QAAQvc,GAAG,uBAAuBnS,KAAK0uB,QAAQtsB,MAAM1B,KAAK+a,MAAMzb,KAAK4uB,WAAW5uB,KAAK0uB,QAAQrsB,OAAO3B,KAAK+a,MAAMzb,KAAK6uB,YAAY7uB,KAAKwM,OAAOuiB,SAAS,EAAE/uB,KAAK0uB,QAAQrS,iBAAiB,eAAe,SAASvc,GAAG,OAAOA,EAAEgsB,oBAAoB9rB,KAAK2uB,cAAcK,YAAYhvB,KAAK0uB,SAAS1uB,KAAKwM,OAAOqf,SAAS/rB,EAAnrB,GAAwrBmvB,GAAG,WAAW,SAASnvB,EAAEA,GAAGE,KAAKsJ,UAAUxJ,EAAEE,KAAK4F,YAAY,GAAG5F,KAAKkvB,OAAO,EAAE,OAAOpvB,EAAEO,UAAU4J,cAAc,SAASnK,EAAEC,EAAE+B,EAAEa,GAAG,IAAIZ,EAAE,IAAIjC,EAAEE,KAAKsJ,YAAYtJ,KAAKkvB,OAAOvsB,EAAEb,GAAG,OAAO9B,KAAK4F,YAAYoD,KAAKjH,GAAGA,EAAEmH,SAAS5H,EAAE+C,KAAKtE,GAAGgC,GAAGjC,EAAEO,UAAUsI,gBAAgB,SAAS7I,GAAG,OAAOA,EAAEE,KAAK4F,YAAYgD,QAAQ,SAAS7I,GAAG,OAAOA,aAAaD,KAAK6C,EAAE,GAAG3C,KAAK4F,aAAY,IAAK9F,EAAEO,UAAU8uB,mBAAmB,SAASrvB,GAAG,OAAOE,KAAK4F,YAAYyjB,eAAetpB,GAAG,OAAOA,EAAEoS,KAAKrS,MAAMA,EAAEO,UAAU6J,eAAe,SAASpK,GAAG,MAAM,iBAAiBA,EAAEE,KAAK4F,YAAYyjB,MAAM,SAAStpB,GAAG,OAAOA,EAAE0K,OAAO3K,KAAKE,KAAK4F,YAAYyjB,MAAI,SAAWtpB,GAAG,OAAOA,aAAaD,MAAMA,EAAEO,UAAU+uB,wBAAwB,SAAStvB,GAAG,OAAOE,KAAK4F,YAAYgD,iBAAiB7I,GAAG,OAAOA,EAAEsvB,SAASvvB,MAAMA,EAAEO,UAAUivB,uBAAuB,SAASxvB,EAAEC,GAAG,MAAM,iBAAiBA,EAAEC,KAAK4F,YAAYyjB,MAAM,SAAS/nB,GAAG,OAAOA,EAAEmJ,OAAO1K,GAAGuB,EAAE+tB,SAASvvB,KAAKE,KAAK4F,YAAYyjB,eAAe/nB,GAAG,OAAOA,aAAavB,GAAGuB,EAAE+tB,SAASvvB,MAAMA,EAAEO,UAAU8J,qBAAqB,SAASrK,GAAG,OAAOE,KAAK4F,YAAYgD,iBAAiB7I,GAAG,OAAOA,EAAEwvB,MAAMzvB,MAAMA,EAAEO,UAAUmvB,sBAAsB,SAAS1vB,GAAG,IAAIC,EAAEC,UAAK,IAASF,IAAIA,GAAE,GAAIE,KAAK4F,YAAYgD,QAAM,SAAW7I,GAAG,OAAOD,IAAIC,EAAE0vB,QAAQ3mB,SAAO,SAAWhJ,GAAG,OAAOC,EAAE2vB,QAAQ5vB,GAAE,OAAQA,EAAEO,UAAU+J,kBAAkB,SAAStK,GAAGE,KAAK0vB,QAAQ5vB,GAAE,IAAKA,EAAEO,UAAUqvB,QAAQ,SAAS5vB,EAAEC,GAAG,IAAI+B,EAAE9B,KAAK4F,YAAYkK,QAAQhQ,GAAG,IAAI,IAAIgC,EAAE,CAAC,IAAIa,EAAE3C,KAAK4F,YAAYkb,OAAOhf,EAAE,GAAG,GAAG/B,GAAGC,KAAK2vB,gBAAgBhtB,GAAGA,EAAEuG,SAAS5H,EAAEyD,WAAWjF,EAAEO,UAAUsvB,gBAAgB,SAAS7vB,GAAG,IAAIC,EAAEC,KAAKA,KAAKovB,wBAAwBtvB,GAAGgJ,SAAO,SAAWhJ,GAAG,OAAOC,EAAEqK,kBAAkBtK,OAAOA,EAAhnD,GAAqnD8vB,GAAG,WAAW,SAAS9vB,EAAEA,EAAEC,EAAE+B,EAAEa,GAAG3C,KAAKmF,YAAYrF,EAAEE,KAAKoF,eAAerF,EAAEC,KAAKuF,kBAAkBzD,EAAE9B,KAAKwF,aAAa7C,EAAE3C,KAAK0F,SAAQ,EAAG1F,KAAK4F,YAAY,GAAG5F,KAAK6F,WAAW,GAAG7F,KAAK8F,eAAc,EAAG9F,KAAK+F,YAAY,CAACzE,EAAEgD,MAAMhD,EAAEiD,OAAOjD,EAAE0D,UAAUhF,KAAKgG,iBAAiB,CAAC1E,EAAEgD,MAAMhD,EAAEiD,QAAQ,OAAOzE,EAAEO,UAAU4F,MAAM,WAAWjG,KAAKkG,WAAU,IAAKpG,EAAEO,UAAU8F,MAAM,WAAWnG,KAAK0F,SAAQ,GAAI5F,EAAEO,UAAU+F,OAAO,WAAWpG,KAAKkG,WAAU,IAAKpG,EAAEO,UAAUgG,KAAK,WAAWrG,KAAK0F,SAAQ,EAAG1F,KAAKsG,mBAAmBhF,EAAE0D,UAAUhF,KAAKoF,eAAemB,SAASzG,EAAEO,UAAU6F,UAAU,SAASpG,GAAGE,KAAK0F,UAAU1F,KAAK0F,SAAQ,EAAG5F,GAAGE,KAAKwF,aAAaiB,mBAAmBzG,KAAK6vB,gBAAgB7vB,KAAKmF,YAAY2B,gBAAgB9G,KAAKmF,YAAY4B,kBAAkB/G,KAAKgH,qBAAqBlH,EAAEO,UAAUiH,mBAAmB,SAASxH,GAAGE,KAAKmF,YAAYuC,cAAc5H,GAAGE,KAAKwF,aAAa0B,uBAAuBlH,KAAKwF,aAAa2B,mBAAmBnH,KAAK8F,eAAc,GAAI9F,KAAK2H,OAAO3H,KAAKsG,mBAAmBhF,EAAEgD,OAAOtE,KAAKsG,mBAAmBhF,EAAEiD,QAAQvE,KAAKsG,mBAAmBhF,EAAEkD,cAAcxE,KAAKsG,mBAAmBhF,EAAEqD,iBAAiB3E,KAAKmF,YAAY2B,gBAAgB9G,KAAKmF,YAAY4B,mBAAmB/G,KAAKmF,YAAY0C,iBAAiB/H,GAAGE,KAAK8H,oBAAoB9H,KAAKwF,aAAa0B,uBAAuBlH,KAAK8F,eAAc,EAAG9F,KAAKwF,aAAagC,uBAAuB1H,EAAEO,UAAUyH,iBAAiB,WAAW9H,KAAKmF,YAAY8C,WAAW,GAAGjI,KAAK8F,gBAAgB9F,KAAKsG,mBAAmBhF,EAAEoD,eAAe1E,KAAKsG,mBAAmBhF,EAAEmD,gBAAgBzE,KAAKsG,mBAAmBhF,EAAEqD,iBAAiB3E,KAAKoF,eAAe8C,QAAQlI,KAAKmF,YAAYgD,oBAAoBrI,EAAEO,UAAUwvB,cAAc,WAAW,IAAI/vB,EAAEE,KAAKA,KAAK8vB,aAAaznB,aAAa,WAAW,IAAIvI,EAAE4F,QAAQ,OAAO4C,cAAcxI,EAAEgwB,cAAchwB,EAAEwH,mBAAmByoB,QAAQC,YAAY,IAAIhwB,KAAKmF,YAAY2B,gBAAgBhH,EAAEO,UAAU2G,iBAAiB,WAAW,IAAIlH,EAAEE,KAAKA,KAAKiwB,gBAAgB5nB,aAAa,WAAW,IAAIvI,EAAE4F,QAAQ,OAAO4C,cAAcxI,EAAEmwB,iBAAiBnwB,EAAEqF,YAAY0C,iBAAiBkoB,QAAQC,UAAUlwB,EAAEgI,qBAAqB,IAAI9H,KAAKmF,YAAY4B,mBAAmBjH,EAAEO,UAAUsH,KAAK,WAAW,IAAI7H,EAAEE,KAAKA,KAAKyI,YAAYzI,KAAKwF,aAAakD,iBAAiB1I,KAAK4F,YAAY5F,KAAKuF,kBAAkBoD,kBAAkBC,iBAAiB9I,GAAG,OAAOA,EAAE+I,UAAU7I,KAAK6F,WAAW,GAAG7F,KAAK4F,YAAYkD,SAAO,SAAW/I,GAAG,OAAOA,EAAEgJ,gBAAgBH,iBAAiB9I,GAAG,OAAOA,EAAE+I,UAAUC,SAAO,SAAW/I,GAAG,OAAOD,EAAE+F,WAAWmD,KAAKjJ,UAAUD,EAAEO,UAAUiG,mBAAmB,SAASxG,GAAGE,KAAK+F,YAAYkD,SAASnJ,IAAIE,KAAKyI,YAAYS,SAASpJ,GAAGE,KAAKgG,iBAAiBiD,SAASnJ,IAAIE,KAAK4F,YAAYkD,SAAS,SAAS/I,GAAGA,EAAE8I,QAAQ9I,EAAEmJ,SAASpJ,MAAME,KAAK6F,WAAWiD,kBAAkB/I,GAAGA,EAAE8I,QAAQ9I,EAAEmJ,SAASpJ,OAAOA,EAA9qF,GAAmrFowB,GAAG,WAAW,SAASpwB,EAAEA,EAAEC,GAAGC,KAAKsJ,UAAUxJ,EAAEE,KAAKqF,cAActF,EAAEC,KAAKmwB,OAAO,IAAIrf,IAAI9Q,KAAKowB,uBAAuB,KAAK,OAAOtwB,EAAEO,UAAUgwB,SAAS,SAASvwB,EAAEC,EAAE+B,EAAEa,GAAG,IAAIZ,EAAE/B,KAAK,QAAG,IAAS2C,IAAIA,GAAE,GAAI3C,KAAKmwB,OAAOnf,IAAIjR,GAAG,MAAM,IAAIyuB,GAAG,2CAA2CrqB,OAAOpE,EAAE,MAAMC,KAAKmwB,OAAO5vB,IAAIR,GAAG,WAAW,IAAI4C,EAAE,IAAI7C,EAAEiC,EAAEuH,UAAUvJ,EAAEgC,EAAEuH,UAAUE,YAAY,SAAS,OAAOzH,EAAEuuB,aAAa3tB,EAAEA,EAAEuG,SAAS5H,EAAE+C,KAAKvC,GAAGa,MAAMA,GAAG3C,KAAKuwB,mBAAmBvwB,KAAKuwB,iBAAiBxwB,IAAID,EAAEO,UAAUmwB,UAAU,SAAS1wB,GAAG,IAAG,IAAKE,KAAKmwB,OAAOnf,IAAIlR,GAAG,MAAM,IAAI0uB,GAAG,mBAAmBrqB,OAAOrE,EAAE,qBAAqBE,KAAKowB,uBAAuBtwB,GAAGA,EAAEO,UAAUqI,eAAe,WAAW,OAAO1I,KAAKswB,cAAcxwB,EAAEO,UAAUoG,iBAAiB,WAAW,GAAG,OAAOzG,KAAKuwB,iBAAiB,MAAM,IAAI/B,GAAG,6BAA6BxuB,KAAKmwB,OAAO7vB,IAAIN,KAAKuwB,iBAArBvwB,IAA0CF,EAAEO,UAAU6G,mBAAmB,WAAW,OAAO,OAAOlH,KAAKowB,wBAAwBtwB,EAAEO,UAAU8G,iBAAiB,WAAWnH,KAAKowB,yBAAyBpwB,KAAKmwB,OAAO7vB,IAAIN,KAAKowB,uBAArBpwB,GAA+CA,KAAKowB,uBAAuB,OAAOtwB,EAAEO,UAAUmH,mBAAmB,WAAWxH,KAAKswB,eAAetwB,KAAKswB,aAAapnB,SAAS5H,EAAEyD,SAAS/E,KAAKswB,kBAAa,IAASxwB,EAAlsC,GAAusC2wB,GAAG,CAAC,GAAG,IAAI,IAAI,KAAKC,GAAG,WAAW,SAAS5wB,EAAEA,GAAG,GAAGE,KAAKqH,iBAAiB,EAAErH,KAAK2wB,oBAAoB,EAAE3wB,KAAK8G,cAAc,GAAG9G,KAAK+G,iBAAiB,IAAI/G,KAAKiI,UAAU,EAAEjI,KAAKoH,iBAAiB,EAAEpH,KAAK4wB,kBAAkB,EAAE5wB,KAAK6wB,yBAAyB,EAAE7wB,KAAK8wB,aAAa,EAAE,GAAG9wB,KAAK+wB,YAAY,EAAE/wB,KAAKgxB,eAAe,EAAEhxB,KAAKixB,eAAe,GAAGR,GAAGxnB,SAASnJ,GAAG,MAAM,IAAI0uB,GAAG,yCAAyCrqB,OAAOssB,GAAGS,KAAK,MAAM,MAAMlxB,KAAK+G,iBAAiBjH,EAAEE,KAAKqH,iBAAiB8pB,YAAY,EAAEnxB,KAAK8G,eAAesqB,QAAQ,IAAIpxB,KAAK2wB,oBAAoBQ,YAAY,EAAEnxB,KAAK+G,kBAAkBqqB,QAAQ,IAAI,OAAOjxB,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAK4wB,kBAAkB5wB,KAAKiI,WAAWzH,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,mBAAmB,CAACC,IAAI,WAAW,OAAON,KAAK6wB,yBAAyB7wB,KAAKiI,WAAWzH,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUqH,cAAc,SAAS5H,GAAGE,KAAK4wB,kBAAkBlwB,KAAKiN,IAAIjN,KAAKyM,IAAInN,KAAKqH,iBAAiBvH,EAAEE,KAAK+wB,aAAa/wB,KAAK8wB,cAAc9wB,KAAK+wB,YAAYjxB,GAAGA,EAAEO,UAAU4G,iBAAiB,SAASnH,GAAGE,KAAKoH,iBAAiB1G,KAAKiN,IAAIjN,KAAKyM,IAAI,EAAErN,EAAEE,KAAKixB,gBAAgBjxB,KAAK8wB,cAAc9wB,KAAKixB,eAAenxB,GAAGA,EAAEO,UAAUwH,iBAAiB,SAAS/H,GAAGE,KAAK6wB,yBAAyBnwB,KAAKiN,IAAIjN,KAAKyM,IAAI,EAAErN,EAAEE,KAAKgxB,gBAAgBhxB,KAAK8wB,cAAc9wB,KAAKgxB,eAAelxB,GAAGA,EAA3zC,GAAogGuxB,GAAG,WAAW,SAASvxB,IAAIE,KAAKsxB,UAAU,IAAIxgB,IAAI9Q,KAAKuxB,aAAa,IAAIzgB,IAAI9Q,KAAKwxB,UAAU,IAAI1gB,IAAI,OAAOhR,EAAEO,UAAUgB,IAAI,SAASvB,EAAEC,GAAG,GAAGC,KAAKuxB,aAAavgB,IAAIlR,GAAG,MAAM,IAAI0uB,GAAG,wDAAwDrqB,OAAOrE,IAAIE,KAAKuxB,aAAahxB,IAAIT,EAAEC,IAAID,EAAEO,UAAUsJ,aAAa,SAAS7J,GAAG,IAAG,IAAKE,KAAKuxB,aAAavgB,IAAIlR,GAAG,MAAM,IAAI0uB,GAAG,oCAAoCrqB,OAAOrE,IAAI,OAAM,IAAKE,KAAKsxB,UAAUtgB,IAAIlR,IAAIE,KAAKsxB,UAAU/wB,IAAIT,EAAEE,KAAKuxB,aAAajxB,IAAIR,EAAtBE,IAA4BA,KAAKsxB,UAAUhxB,IAAIR,IAAIA,EAAEO,UAAUoxB,cAAc,SAAS3xB,GAAG,IAAG,IAAKE,KAAKuxB,aAAavgB,IAAIlR,GAAG,MAAM,IAAI0uB,GAAG,oCAAoCrqB,OAAOrE,IAAI,OAAOE,KAAKuxB,aAAajxB,IAAIR,EAAtBE,IAA4BF,EAAEO,UAAUqxB,YAAY,SAAS5xB,EAAEC,GAAG,GAAGC,KAAKwxB,UAAUxgB,IAAIlR,GAAG,MAAM,IAAI0uB,GAAG,mDAAmDrqB,OAAOrE,IAAIE,KAAKwxB,UAAUjxB,IAAIT,EAAEC,IAAID,EAAEO,UAAUmJ,YAAY,SAAS1J,GAAG,IAAG,IAAKE,KAAKwxB,UAAUxgB,IAAIlR,GAAG,MAAM,IAAI0uB,GAAG,0BAA0BrqB,OAAOrE,IAAI,OAAOE,KAAKwxB,UAAUlxB,IAAIR,IAAIA,EAAp9B,GAAy9B6xB,GAAG,WAAW,SAAS7xB,EAAEA,EAAEC,QAAG,IAASD,IAAIA,EAAE,QAAG,IAASC,IAAIA,EAAE,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,EAAE,OAAOI,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKC,IAAIM,IAAI,SAAST,GAAGE,KAAKC,GAAGH,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKE,IAAIK,IAAI,SAAST,GAAGE,KAAKE,GAAGJ,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAOI,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAG,GAAGS,KAAKE,IAAIZ,KAAKE,GAAG,KAAKM,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,aAAab,KAAKa,WAAW,IAAIf,GAAGA,EAAEgB,KAAKd,KAAKa,WAAWb,OAAOQ,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEC,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,GAAGD,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAInB,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKC,KAAKH,EAAEkB,GAAGhB,KAAKE,KAAKJ,EAAEmB,GAAGnB,EAAEO,UAAUc,MAAM,WAAW,OAAO,IAAIrB,EAAEE,KAAKC,GAAGD,KAAKE,KAAKJ,EAAEO,UAAUe,SAAS,SAAStB,GAAG,OAAOY,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAGH,EAAEkB,EAAE,GAAGN,KAAKE,IAAIZ,KAAKE,GAAGJ,EAAEmB,EAAE,KAAKnB,EAAEuB,IAAI,SAASvB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEN,EAAEjB,EAAEkB,EAAEK,EAAEL,GAAGnB,GAAGA,EAAEyB,SAAS,SAASzB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEN,EAAEjB,EAAEkB,EAAEK,EAAEL,GAAGnB,GAAGA,EAAEgB,KAAK,SAAShB,EAAEC,GAAG,OAAO,IAAIA,EAAEyB,UAAU1B,EAAES,IAAI,EAAE,GAAGT,EAAES,IAAIR,EAAEiB,EAAEjB,EAAEyB,UAAUzB,EAAEkB,EAAElB,EAAEyB,WAAW1B,GAAGA,EAAE2B,OAAO,SAAS3B,EAAEC,GAAG,OAAOD,EAAES,KAAKR,EAAEkB,EAAElB,EAAEiB,GAAGhB,KAAKc,KAAKhB,EAAEA,IAAIA,EAAE4B,MAAM,SAAS5B,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEvB,EAAEkB,EAAEK,GAAGxB,GAAGA,EAAE6B,IAAI,SAAS7B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEiB,EAAElB,EAAEmB,EAAElB,EAAEkB,GAAGnB,EAAE8B,MAAM,SAAS9B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEkB,EAAEnB,EAAEmB,EAAElB,EAAEiB,GAAGlB,EAAE+B,MAAM,SAAS/B,EAAEC,GAAG,OAAOD,EAAES,IAAIG,KAAKmB,MAAM9B,EAAEiB,GAAGN,KAAKmB,MAAM9B,EAAEkB,IAAInB,GAAGA,EAAh9C,GAAq9C8xB,GAAG,WAAW,SAAS9xB,EAAEA,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKgC,UAAU,IAAI2vB,GAAG3xB,KAAKiC,QAAQ,IAAI0vB,GAAG3xB,KAAKkC,OAAO,EAAElC,KAAKmC,QAAQ,EAAEnC,KAAKO,IAAIT,EAAEC,EAAEuB,EAAEQ,GAAG,OAAO3B,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,GAAGT,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEE,KAAKgC,UAAUf,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,GAAGV,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIP,KAAKgC,UAAUhB,EAAElB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,EAAEhB,KAAKkC,QAAQ1B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,EAAEjB,KAAKmC,SAAS3B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAKkC,QAAQ3B,IAAI,SAAST,GAAGE,KAAKkC,OAAOpC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKmC,SAAS5B,IAAI,SAAST,GAAGE,KAAKmC,QAAQrC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKiC,QAAQ1B,IAAIP,KAAKgB,EAAEhB,KAAKoC,MAAM,EAAEpC,KAAKiB,EAAEjB,KAAKqC,OAAO,GAAGrC,KAAKiC,SAASzB,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKgC,UAAUzB,IAAIT,EAAEC,GAAGC,KAAKkC,OAAOZ,EAAEtB,KAAKmC,QAAQL,GAAGhC,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKsC,SAASpB,OAAOpB,EAAEwC,WAAWtC,KAAKoC,QAAQtC,EAAEsC,OAAOpC,KAAKqC,SAASvC,EAAEuC,QAAQvC,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,EAAEnB,EAAEsC,MAAMtC,EAAEuC,SAASvC,EAAEO,UAAUkC,SAAS,SAASzC,GAAG,OAAOE,KAAKwC,IAAI1C,EAAEkB,GAAGhB,KAAKgB,EAAElB,EAAE0C,IAAIxC,KAAKyC,IAAI3C,EAAEmB,GAAGjB,KAAKiB,EAAEnB,EAAE2C,IAAI3C,EAAEO,UAAUqC,SAAS,SAAS3C,GAAG,OAAOA,aAAaD,EAAEC,EAAEyC,IAAIxC,KAAKwC,IAAIzC,EAAEiB,GAAGhB,KAAKgB,GAAGjB,EAAE0C,IAAIzC,KAAKyC,IAAI1C,EAAEkB,GAAGjB,KAAKiB,EAAElB,aAAa4xB,MAAM5xB,EAAEiB,EAAEhB,KAAKgB,GAAGjB,EAAEkB,EAAEjB,KAAKiB,GAAGlB,EAAEiB,GAAGhB,KAAKwC,IAAIzC,EAAEkB,GAAGjB,KAAKyC,KAAK3C,EAAl1D,GAAu1D+xB,GAAG,SAAS/xB,EAAEC,EAAEuB,GAAG,OAAOxB,GAAGC,GAAGD,GAAGwB,GAAGwwB,GAAG,WAAW,SAAShyB,EAAEA,EAAEC,QAAG,IAASD,IAAIA,EAAE,WAAM,IAASC,IAAIA,EAAE,MAAMC,KAAK6C,SAAS,EAAE7C,KAAK8C,SAAS,EAAE9C,KAAKa,WAAW,IAAI8wB,GAAG7xB,EAAEE,KAAK+C,QAAQjD,EAAEC,IAAIC,KAAKgD,QAAQjD,GAAG,OAAOI,OAAOC,eAAeN,EAAEO,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAK6C,UAAUtC,IAAI,SAAST,GAAGE,KAAK6C,SAAS/C,EAAEE,KAAK8C,SAAShD,EAAEY,KAAKuC,GAAG,IAAIjD,KAAKkD,mBAAmB1C,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAK8C,UAAUvC,IAAI,SAAST,GAAGE,KAAK8C,SAAShD,EAAEE,KAAK6C,SAAS,IAAI/C,EAAEY,KAAKuC,GAAGjD,KAAKkD,mBAAmB1C,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,YAAYL,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAU6C,gBAAgB,WAAWlD,KAAKa,WAAWN,IAAIG,KAAKyC,IAAInD,KAAK8C,UAAUpC,KAAK0C,IAAIpD,KAAK8C,YAAYhD,EAAvxB,GAA4xBiyB,GAAG,CAACpD,mBAAc,EAAOC,UAAU,IAAIC,WAAW,IAAImD,cAAa,EAAGvsB,YAAY,UAAUsB,iBAAiB,IAAI0C,UAAS,EAAGwoB,mBAAmB,IAAIN,GAAG,EAAE,GAAG7R,WAAW,CAACoS,gBAAgB/P,GAAGM,IAAI0P,0BAA0BnU,GAAG2B,eAAeyS,GAAG,WAAW,SAAStyB,EAAEA,GAAGE,KAAKqyB,QAAQvwB,EAAEA,EAAE,GAAGiwB,IAAIjyB,GAAGE,KAAKqyB,QAAQvS,WAAWhe,EAAEA,EAAE,GAAGiwB,GAAGjS,YAAYhgB,EAAEggB,YAAY9f,KAAKsJ,UAAU,IAAI+nB,GAAGrxB,KAAKsJ,UAAUooB,YAAY,OAAO1xB,MAAMA,KAAKsyB,gBAAgB,OAAOxyB,EAAEO,UAAUiyB,cAAc,YAAtuO,SAASxyB,EAAEC,GAAG,GAAGD,EAAE4xB,YAAY,aAAa3xB,GAAGD,EAAEuB,IAAI,eAAe,WAAW,OAAO,IAAIqvB,GAAG3wB,EAAEgH,qBAAqBjH,EAAEuB,IAAI,qBAAmB,WAAa,OAAO,IAAI4tB,GAAGnvB,MAAMA,EAAEuB,IAAI,kBAAgB,WAAa,OAAO,SAASvB,GAAG,IAAIC,OAAE,IAASD,EAAE,GAAGA,EAAEwB,EAAEvB,EAAEygB,cAAc1e,EAAE/B,EAAEugB,gBAAgB3d,EAAE5C,EAAEmyB,gBAAgBnwB,EAAEhC,EAAEoyB,0BAA0BltB,EAAE,IAAIoe,GAAGne,EAAEvC,IAAIwf,GAAGK,KAAK,IAAIJ,GAAG,IAAIQ,GAAG,IAAIO,GAAGle,GAAG,IAAIyd,GAAGzd,EAAE,IAAIye,IAAI9gB,EAAE,IAAIid,GAAG3a,EAAEnD,EAAET,EAAEQ,GAAGqH,EAAE,IAAI8U,GAAG5T,EAAE,IAAIkb,GAAG3iB,GAAGqI,EAAE,IAAI6Z,GAAG,OAAO,IAAIR,GAAG1hB,EAAEuG,EAAEkB,EAAEY,GAA9P,CAAkQlL,EAAE+f,eAAe/f,EAAE0J,SAAS3J,EAAEuB,IAAI,oBAAkB,WAAa,OAAO,IAAIuuB,GAAG9vB,EAAE6J,aAAa,eAAe7J,EAAE6J,aAAa,kBAAkB7J,EAAE6J,aAAa,qBAAqB7J,EAAE6J,aAAa,wBAAwB,CAAC7J,EAAEuB,IAAI,cAAc,WAAW,OAAO,IAAIotB,GAAG1uB,EAAE4uB,cAAc5uB,EAAE6uB,UAAU7uB,EAAE8uB,eAAe,IAAIvtB,EAAExB,EAAE6J,aAAa,cAAc6C,OAAO1M,EAAEuB,IAAI,iBAAe,WAAa,OAAO,SAASvB,GAAG,IAAIC,EAAE,IAAIwQ,EAAEzQ,GAAGwB,EAAEvB,EAAEoM,GAAGrK,EAAE/B,EAAEyQ,eAAe7N,EAAE,IAAIyQ,EAAE9R,EAAEQ,EAAE,IAAI2Q,EAAEnR,EAAE,IAAI8T,EAAE9T,KAAKS,EAAE,IAAIkb,GAAE,IAAIf,EAAE5a,IAAI2D,EAAE,IAAIuY,GAAElc,EAAEqB,EAAEZ,EAAE,IAAI+O,IAAI,CAAC,CAAC5L,EAAE0G,OAAO,IAAIkN,EAAExX,EAAEqB,EAAEZ,IAAI,CAACmD,EAAE2G,KAAK,IAAIsO,EAAE7Y,EAAEqB,EAAEZ,EAAE,IAAI6O,IAAI,CAAC1L,EAAE4G,QAAQ,IAAIiP,EAAEzZ,EAAEqB,EAAEZ,IAAI,CAACmD,EAAE8G,UAAU,IAAIyK,EAAEnV,EAAEqB,IAAI,CAACuC,EAAE6G,KAAK,IAAIoM,EAAE7W,EAAEqB,IAAI,CAACuC,EAAE+G,MAAM,IAAIyP,EAAEpa,EAAEqB,EAAEZ,OAAO,OAAO,IAAImN,EAAEjK,EAAE,IAAIiH,EAAE5K,IAAtS,CAA2SA,MAAMxB,EAAEuB,IAAI,2BAA2B,OAAO,SAASvB,GAAG,OAAO,IAAIiqB,GAAG,IAAIc,GAAG/qB,GAAG,IAAIqqB,GAAGrqB,GAAG,IAAIonB,GAAG,IAAImF,GAAGvsB,IAA5D,CAAiEwB,MAAMxB,EAAEuB,IAAI,gBAAgB,WAAW,OAAO,IAAIgsB,GAAGvtB,EAAE6J,aAAa,qBAAqB7J,EAAEuB,IAAI,oBAAkB,WAAa,OAAO,IAAIuB,EAAE9C,EAAE6J,aAAa,eAAe7J,EAAE6J,aAAa,kBAAkB7J,EAAE6J,aAAa,iBAAiB7J,EAAE6J,aAAa,gBAAgB7J,EAAE6J,aAAa,qBAAqB7J,EAAE6J,aAAa,gBAAgB5J,EAAE0F,gBAAgB3F,EAAEuB,IAAI,gBAAc,WAAa,OAAO,IAAI6uB,GAAGpwB,EAAEC,EAAE0J,cAAS,EAAO3J,EAAE6J,aAAa,sBAAskL4oB,CAAGvyB,KAAKsJ,UAAUtJ,KAAKqyB,SAASryB,KAAKwF,aAAaxF,KAAKsJ,UAAUK,aAAa,gBAAgB3J,KAAKwyB,iBAAiBxyB,KAAKsJ,UAAUK,aAAa,qBAAqBxJ,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKqyB,SAAS7xB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKwyB,iBAAiB9sB,SAASlF,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUgwB,SAAS,SAASvwB,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKwF,aAAa6qB,SAASvwB,EAAEC,EAAE,iBAAiBuB,EAAEA,OAAE,EAAO,kBAAkBA,EAAEA,EAAE,MAAMQ,GAAGA,IAAIhC,EAAEO,UAAUoyB,IAAI,WAAWzyB,KAAKwyB,iBAAiBvsB,SAASnG,EAAEO,UAAUgG,KAAK,WAAWrG,KAAKwyB,iBAAiBnsB,QAAQvG,EAAEO,UAAU8F,MAAM,WAAWnG,KAAKwyB,iBAAiBrsB,SAASrG,EAAEO,UAAU+F,OAAO,WAAWpG,KAAKwyB,iBAAiBpsB,UAAUtG,EAAz/B,GAA8/B4yB,GAAG,SAAS5yB,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEuK,eAAc,EAAGvK,EAAE4yB,aAAY,EAAG5yB,EAAE6yB,gBAAe,EAAG7yB,EAAEiC,UAAU,IAAI2vB,GAAG5xB,EAAE8yB,OAAO,IAAIlB,GAAG,EAAE,GAAG5xB,EAAE+yB,UAAU,IAAIhB,GAAG/xB,EAAEgzB,eAAe,IAAIpB,GAAG5xB,EAAEizB,QAAQ,KAAKjzB,EAAE+jB,MAAM,IAAI6N,GAAG5xB,EAAEkzB,kBAAkB,EAAElzB,EAAEmzB,aAAa,IAAIvB,GAAG5xB,EAAEozB,oBAAoB,IAAIxB,GAAG5xB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGK,OAAOC,eAAekB,EAAEjB,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUjB,KAAKjB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAK6yB,QAAQtyB,IAAI,SAAST,GAAGE,KAAK6yB,OAAO9xB,KAAKjB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAK8yB,WAAWtyB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAK8yB,UAAU9Q,WAAWxhB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,gBAAgB,CAACC,IAAI,WAAW,OAAON,KAAK+yB,gBAAgBxyB,IAAI,SAAST,GAAGE,KAAK+yB,eAAehyB,KAAKjB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKgzB,SAASzyB,IAAI,SAAST,GAAGE,KAAKgzB,QAAQlzB,EAAE,OAAOE,KAAKgzB,SAASrB,GAAGpwB,SAASvB,KAAK+yB,eAAe/yB,KAAKgC,UAAUhC,KAAKgzB,QAAQ1wB,WAAW9B,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAUuH,OAAO,WAAW,OAAO5H,KAAKgzB,SAAShzB,KAAKozB,wBAAwBpzB,KAAKkzB,aAAanyB,KAAKf,KAAKgC,YAAYV,EAAEjB,UAAU+yB,sBAAsB,WAAWpzB,KAAK+yB,eAAevxB,UAAU,GAAG,IAAIxB,KAAKgzB,QAAQtmB,SAAS3J,SAAS/C,KAAKizB,oBAAoBjzB,KAAKgzB,QAAQtmB,SAAS3J,UAAU/C,KAAKqzB,yBAAyBrzB,KAAKizB,kBAAkBjzB,KAAKgzB,QAAQtmB,SAAS3J,SAAS/C,KAAK2yB,aAAa3yB,KAAKszB,4BAA4B3B,GAAGtwB,IAAIrB,KAAKgC,UAAUhC,KAAKgzB,QAAQ1wB,SAAStC,KAAKmzB,sBAAsBxB,GAAGtwB,IAAIrB,KAAKgC,UAAUhC,KAAKgzB,QAAQ1wB,SAAStC,KAAK+yB,iBAAiB/yB,KAAKgC,UAAUjB,KAAKf,KAAKgzB,QAAQ1wB,UAAUtC,KAAK8yB,UAAU/vB,QAAQ/C,KAAK4yB,eAAe5yB,KAAKgzB,QAAQtmB,SAAS3J,QAAQ/C,KAAK8yB,UAAU/vB,QAAQ/C,KAAK8yB,UAAU/vB,QAAQ/C,KAAK2yB,aAAa3yB,KAAK6yB,OAAO9xB,KAAKf,KAAKqvB,OAAOwD,SAASvxB,EAAEjB,UAAUgzB,uBAAuB,WAAW,IAAIvzB,EAAEY,KAAK6yB,MAAMvzB,KAAK+yB,eAAe9xB,EAAEjB,KAAK+yB,eAAe/xB,IAAIhB,KAAKgzB,QAAQtmB,SAAS3J,QAAQ/C,KAAKizB,mBAAmBjzB,KAAK8jB,MAAMvjB,IAAIG,KAAKyC,IAAIrD,GAAGY,KAAK0C,IAAItD,IAAI6xB,GAAGjwB,MAAM1B,KAAK+yB,eAAe/yB,KAAK8jB,MAAM9jB,KAAK+yB,eAAevxB,YAAYF,EAAEjB,UAAUizB,0BAA0B,WAAWtzB,KAAKmzB,oBAAoB5yB,IAAIP,KAAK+yB,eAAe/xB,EAAEhB,KAAKgzB,QAAQtxB,MAAMV,EAAEhB,KAAK+yB,eAAe9xB,EAAEjB,KAAKgzB,QAAQtxB,MAAMT,IAAIK,EAA78E,CAAg9E8J,GAAGooB,GAAG,SAAS1zB,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAE0zB,SAAS,KAAK1zB,EAAEqgB,UAAU,GAAGrgB,EAAEoe,SAAQ,EAAGpe,EAAE2zB,mBAAkB,EAAG3zB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAUuH,OAAO,WAAW5H,KAAK0zB,oBAAoB1zB,KAAKogB,UAAUtX,SAAO,SAAWhJ,GAAG,OAAOA,EAAE+I,QAAO,KAAM7I,KAAK0zB,mBAAkB,GAAI1zB,KAAK2zB,iBAAiB3zB,KAAKyrB,iBAAiBzrB,KAAK4zB,mBAAmBtyB,EAAEjB,UAAUwzB,kBAAkB,SAAS/zB,GAAG,IAAI,IAAIC,EAAE,EAAEuB,EAAEtB,KAAKogB,UAAUrgB,EAAEuB,EAAE0C,OAAOjE,IAAI,CAAC,IAAI+B,EAAER,EAAEvB,GAAG,GAAGC,KAAKoF,eAAe8b,iCAAiCpf,EAAEhC,GAAGkE,OAAO,EAAE,OAAM,EAAG,OAAM,GAAI1C,EAAEjB,UAAUyzB,mBAAmB,SAASh0B,EAAEC,QAAG,IAASA,IAAIA,EAAE,MAAM,IAAI,IAAIuB,EAAE,EAAEQ,EAAE,EAAEa,EAAE3C,KAAKogB,UAAUte,EAAEa,EAAEqB,OAAOlC,IAAI,IAAI,IAAIC,EAAEY,EAAEb,GAAGmD,EAAE,EAAEC,EAAElF,KAAKoF,eAAe4b,yBAAyBjf,GAAGkD,EAAEC,EAAElB,OAAOiB,IAAI,CAAC,IAAIrC,EAAEsC,EAAED,GAAG,GAAGnF,EAAEmJ,SAASrG,EAAEue,eAAetR,OAAO,CAAC,GAAG,OAAO9P,EAAE,OAAM,EAAGuB,KAAK,MAAM,QAAQvB,GAAGuB,IAAIxB,EAAEkE,QAAQ1C,EAAEjB,UAAU0zB,sBAAsB,SAASj0B,GAAG,IAAI,IAAIC,EAAE,EAAEuB,EAAEtB,KAAKogB,UAAUrgB,EAAEuB,EAAE0C,OAAOjE,IAAI,CAAC,IAAI+B,EAAER,EAAEvB,GAAG4C,EAAE3C,KAAKoF,eAAe8b,iCAAiCpf,EAAEhC,GAAG,GAAG6C,EAAEqB,OAAO,EAAE,OAAOhE,KAAKg0B,oBAAoBrxB,EAAE,IAAI,OAAO,MAAMrB,EAAEjB,UAAU4zB,uBAAuB,SAASn0B,GAAG,IAAI,IAAIC,EAAEC,KAAKsB,EAAE,GAAGQ,EAAE,EAAEa,EAAE3C,KAAKogB,UAAUte,EAAEa,EAAEqB,OAAOlC,IAAI,CAAC,IAAIC,EAAEY,EAAEb,GAAG9B,KAAKoF,eAAe8b,iCAAiCnf,EAAEjC,GAAGgJ,SAAS,SAAShJ,GAAG,OAAOwB,EAAE0H,KAAKjJ,EAAEi0B,oBAAoBl0B,OAAO,OAAOwB,GAAGA,EAAEjB,UAAU6zB,wBAAwB,SAASp0B,GAAG,IAAI,IAAIC,EAAE,GAAGuB,EAAE,EAAEQ,EAAE9B,KAAKogB,UAAU9e,EAAEQ,EAAEkC,OAAO1C,IAAI,IAAI,IAAIqB,EAAEb,EAAER,GAAGS,EAAE,EAAEkD,EAAEjF,KAAKoF,eAAe4b,yBAAyBre,GAAGZ,EAAEkD,EAAEjB,OAAOjC,IAAI,CAAC,IAAImD,EAAED,EAAElD,GAAGjC,EAAEmJ,SAAS/D,EAAEic,eAAetR,QAAQ9P,EAAEiJ,KAAKhJ,KAAKg0B,oBAAoB9uB,IAAI,OAAOnF,GAAGuB,EAAEjB,UAAU2zB,oBAAoB,SAASl0B,GAAG,MAAM,CAAC0K,WAAWxK,KAAKuF,kBAAkB4pB,mBAAmB3hB,OAAO1N,EAAEqhB,eAAe/C,QAAQ+V,SAASr0B,EAAEqhB,eAAeY,WAAWjiB,EAAEiiB,WAAWnX,cAAc,WAAW,OAAO5K,KAAKwK,YAAYyW,cAAcnhB,EAAEmhB,gBAAgB3f,EAAEjB,UAAUqK,eAAe,WAAW,IAAI5K,EAAEE,KAAKA,KAAKyzB,WAAWzzB,KAAKyzB,SAAS5qB,OAAO7I,KAAK6I,QAAQ7I,KAAK6I,OAAO7I,KAAK0zB,mBAAkB,EAAG1zB,KAAKogB,UAAUtX,SAAO,SAAW/I,GAAG,OAAOA,EAAE8I,OAAO/I,EAAE+I,WAAWvH,EAAEjB,UAAUyJ,UAAU,WAAW,IAAIhK,EAAEE,KAAKA,KAAKogB,UAAUtX,SAAO,SAAW/I,GAAG,OAAOD,EAAEsF,eAAeyb,eAAe9gB,OAAOuB,EAA9pE,CAAiqE4J,GAAGkpB,GAAG,SAASt0B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEuK,eAAc,EAAGvK,EAAE,OAAOA,EAAEuB,EAAExB,GAAGK,OAAOC,eAAekB,EAAEjB,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKq0B,UAAUpP,UAAU1kB,IAAI,SAAST,GAAGE,KAAKq0B,UAAUpP,SAASlkB,KAAKjB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKq0B,UAAUrP,SAASzkB,IAAI,SAAST,GAAGE,KAAKq0B,UAAUrP,QAAQtkB,KAAKiM,IAAI7M,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,gBAAgB,CAACC,IAAI,WAAW,OAAON,KAAKq0B,UAAU7lB,MAAMhO,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAUwJ,KAAK,SAAS/J,GAAG,IAAIC,EAAEuB,EAAExB,EAAEw0B,cAAcxyB,EAAEhC,EAAEklB,QAAQ,GAAG,IAAIhlB,KAAKu0B,iBAAiBvwB,OAAO,MAAM,IAAIwqB,GAAG,sDAAsDxuB,KAAKq0B,UAAUr0B,KAAKoF,eAAeuf,aAAa,CAACnW,KAAKlN,EAAEyjB,YAAY/kB,KAAKu0B,iBAAiBvP,QAAQ,QAAQjlB,EAAEW,KAAKiM,IAAI7K,UAAK,IAAS/B,EAAEA,EAAE,EAAEklB,SAAS,IAAI0M,GAAGrvB,SAAS,IAAIqvB,MAAMrwB,EAAEjB,UAAUuH,OAAO,WAAW,GAAG,IAAI5H,KAAKu0B,iBAAiBvwB,OAAO,MAAM,IAAIwqB,GAAG,sDAAsDxuB,KAAKq0B,UAAUtP,YAAY/kB,KAAKu0B,iBAAiBv0B,KAAKq0B,UAAU/xB,SAAStC,KAAKwK,WAAWgqB,UAAUnF,OAAOrvB,KAAKwK,WAAWgqB,UAAUC,cAAcz0B,KAAKwK,WAAWgqB,UAAUlyB,UAAUhB,EAAEjB,UAAUk0B,eAAe,WAAW,OAAOv0B,KAAKwK,WAAWzB,gBAAgBH,QAAM,SAAW9I,GAAG,OAAOA,aAAa0zB,IAAI1zB,EAAEqe,WAAWjR,iBAAiBpN,EAAEC,GAAG,OAAO4C,EAAEA,EAAE,GAAG7C,GAAE,GAAIC,EAAEqgB,UAAU/R,KAAG,SAAWvO,GAAG,OAAOA,EAAEqS,OAAM,KAAM,KAAK7Q,EAAEjB,UAAUqK,eAAe,WAAW1K,KAAKq0B,UAAUxrB,OAAO7I,KAAK6I,QAAQvH,EAAEjB,UAAUyJ,UAAU,WAAW9J,KAAKoF,eAAewf,gBAAgB5kB,KAAKq0B,YAAY/yB,EAAjmD,CAAomD2J,GAAgBypB,GAAG,SAAS50B,GAAG,SAASgC,EAAE/B,EAAEuB,EAAEQ,EAAEa,QAAG,IAASb,IAAIA,EAAE,SAAI,IAASa,IAAIA,EAAE,MAAM,IAAIZ,EAAEjC,EAAE2D,KAAKzD,KAAKD,IAAIC,KAAK,OAAO+B,EAAE8N,MAAM,UAAU9N,EAAE4yB,IAAG,EAAG5yB,EAAE0tB,MAAK,EAAG1tB,EAAEixB,QAAQ,KAAKjxB,EAAEwI,SAAQ,EAAGxI,EAAE8D,WAAW,GAAG9D,EAAE6yB,sBAAsB,GAAG7yB,EAAE8yB,oBAAoB,GAAG9yB,EAAEoQ,GAAG7Q,EAAES,EAAE0I,KAAK3I,EAAEC,EAAE+yB,aAAapC,IAAI/vB,IAAIZ,EAAEyyB,UAAUlyB,SAASK,EAAE6xB,UAAUlyB,SAASP,EAAEstB,OAAO1sB,GAAGZ,EAAE,OAAOhC,EAAE+B,EAAEhC,GAAGK,OAAOC,eAAe0B,EAAEzB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKuK,SAAShK,IAAI,SAAST,GAAGE,KAAKuK,UAAUzK,IAAIE,KAAKuK,QAAQzK,EAAEE,KAAK+0B,+BAA+B/0B,KAAKg1B,6BAA6Bh1B,KAAK0K,mBAAmBlK,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAe0B,EAAEzB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKgzB,SAASzyB,IAAI,SAAST,GAAGE,KAAKgzB,QAAQlzB,EAAEE,KAAKw0B,UAAUnF,OAAO,OAAOvvB,EAAEA,EAAE00B,UAAU,MAAMh0B,YAAW,EAAGC,cAAa,IAAKqB,EAAEzB,UAAU00B,6BAA6B,WAAW,IAAIj1B,EAAEE,MAAK,IAAKA,KAAK6I,SAAS7I,KAAK40B,sBAAsB50B,KAAK6F,WAAW+C,QAAQ,SAAS9I,GAAG,OAAOA,EAAE+I,WAAW7I,KAAK40B,sBAAsB9rB,kBAAkB/I,GAAG,OAAOA,EAAE8I,OAAO/I,EAAE+I,WAAU,IAAK7I,KAAK6I,SAAS7I,KAAK40B,sBAAsB,KAAK9yB,EAAEzB,UAAU20B,2BAA2B,WAAW,IAAIl1B,EAAEE,MAAK,IAAKA,KAAK6I,SAAS7I,KAAK60B,oBAAoB70B,KAAKi1B,cAAcrsB,QAAQ,SAAS9I,GAAG,OAAOA,EAAE+I,WAAW7I,KAAK60B,oBAAoB/rB,SAAO,SAAW/I,GAAG,OAAOA,EAAE8I,OAAO/I,EAAE+I,WAAU,IAAK7I,KAAK6I,SAAS7I,KAAK60B,oBAAoB,KAAK10B,OAAOC,eAAe0B,EAAEzB,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAK6K,aAAa6nB,KAAKlyB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAe0B,EAAEzB,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAK6K,aAAaupB,KAAK5zB,YAAW,EAAGC,cAAa,IAAKqB,EAAEzB,UAAUqK,eAAe,aAAa5I,EAAEzB,UAAUsK,gBAAgB,WAAW,OAAO3K,KAAKwF,aAAakD,kBAAkB5G,EAAEzB,UAAUy0B,aAAa,SAASh1B,EAAEC,EAAE+B,GAAG,IAAIa,EAAE,iBAAiB5C,OAAE,EAAOA,EAAEgC,EAAE,iBAAiBhC,EAAEA,EAAE+B,EAAEmD,EAAE,IAAInF,EAAEE,KAAKsJ,UAAUtJ,KAAK+B,GAAG,OAAO/B,KAAKk1B,uBAAuBjwB,EAAEnF,GAAGE,KAAK6F,WAAWmD,KAAK/D,GAAGA,EAAEiE,SAAS5H,EAAE+C,KAAK1B,GAAGsC,GAAGnD,EAAEzB,UAAU60B,uBAAuB,SAASp1B,EAAEC,GAAG,IAAG,IAAKD,EAAEwK,eAAetK,KAAK8K,aAAa/K,GAAG,MAAM,IAAIyuB,GAAG,gDAAgDrqB,OAAOpE,EAAE0K,QAAQ3I,EAAEzB,UAAU0I,cAAc,SAASjJ,GAAG,OAAOA,EAAEE,KAAK6F,WAAW+C,QAAQ,SAAS7I,GAAG,OAAOA,aAAaD,KAAKE,KAAK6F,YAAY/D,EAAEzB,UAAUwK,aAAa,SAAS/K,GAAG,MAAM,iBAAiBA,EAAEE,KAAK6F,WAAWwjB,MAAI,SAAWtpB,GAAG,OAAOA,EAAE0K,OAAO3K,KAAKE,KAAK6F,WAAWwjB,MAAI,SAAWtpB,GAAG,OAAOA,aAAaD,MAAMgC,EAAEzB,UAAUyK,aAAa,SAAShL,GAAG,MAAM,iBAAiBA,EAAEE,KAAK6F,WAAW+b,MAAM,SAAS7hB,GAAG,OAAOA,EAAE0K,OAAO3K,KAAKE,KAAK6F,WAAW+b,MAAM,SAAS7hB,GAAG,OAAOA,aAAaD,MAAMgC,EAAEzB,UAAU0K,gBAAgB,SAASjL,GAAG,IAAIC,EAAEC,KAAK6F,WAAWiK,QAAQhQ,IAAI,IAAIC,GAAGC,KAAK6F,WAAWib,OAAO/gB,EAAE,GAAG,GAAGmJ,SAAS5H,EAAEyD,UAAUjD,EAAEzB,UAAU80B,SAAS,SAASr1B,EAAEC,EAAEuB,GAAG,IAAIQ,EAAE9B,KAAKuF,kBAAkB0E,cAAcnK,EAAEC,EAAEC,KAAKsB,GAAG,OAAOQ,EAAE0yB,UAAUC,cAAcl0B,IAAI,EAAE,GAAGuB,EAAE0yB,UAAUlyB,SAASvB,KAAKf,KAAKw0B,UAAUlyB,UAAUR,GAAGA,EAAEzB,UAAU40B,YAAY,WAAW,OAAOj1B,KAAKuF,kBAAkB6pB,wBAAwBpvB,OAAO8B,EAAEzB,UAAU+0B,SAAS,SAASt1B,GAAG,OAAOE,KAAKuF,kBAAkB+pB,uBAAuBtvB,KAAKF,IAAIgC,EAAEzB,UAAUsvB,gBAAgB,WAAW,IAAI7vB,EAAEE,KAAKA,KAAKuF,kBAAkB6pB,wBAAwBpvB,MAAM8I,SAAO,SAAW/I,GAAG,OAAOD,EAAEyF,kBAAkB6E,kBAAkBrK,OAAO+B,EAAEzB,UAAU0J,SAAS,WAAW,IAAIjK,EAAEE,KAAKA,KAAKq1B,oBAAoBl1B,OAAO6K,KAAKhL,MAAM8I,SAAO,SAAW/I,GAAG,cAAcD,EAAEC,OAAO+B,EAAEzB,UAAUg1B,kBAAkB,WAAW,IAAI,IAAIv1B,EAAE,EAAEA,EAAEE,KAAK6F,WAAW7B,OAAOlE,IAAIE,KAAK6F,WAAW/F,GAAGoJ,SAAS5H,EAAEyD,gBAAgB/E,KAAK6F,WAAW/F,GAAGE,KAAK6F,WAAW,IAAI/D,EAAEzB,UAAU2J,UAAU,aAAalI,EAAnjH,CAAsjHqH,GAAGmsB,GAAG,CAAC,WAAWC,GAAG,SAASz1B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEuK,eAAc,EAAGvK,EAAEy1B,aAAa,IAAI5D,GAAG,EAAE,EAAE,EAAE,GAAG7xB,EAAE01B,eAAe,IAAI7D,GAAG,EAAE,EAAE,EAAE,GAAG7xB,EAAE2P,MAAM,EAAE3P,EAAE6P,OAAO0lB,GAAGv1B,EAAE21B,MAAM,EAAE31B,EAAE,OAAOA,EAAEuB,EAAExB,GAAGK,OAAOC,eAAekB,EAAEjB,UAAU,OAAO,CAACC,IAAI,WAAW,OAAON,KAAK01B,OAAOn1B,IAAI,SAAST,GAAG,GAAGE,KAAKuM,MAAM,EAAE,MAAM,IAAIiiB,GAAG,gCAAgCxuB,KAAK01B,MAAM51B,GAAGU,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAUs1B,SAAS,SAAS71B,GAAGE,KAAK4P,OAAO5G,KAAKlJ,IAAIwB,EAAEjB,UAAUwJ,KAAK,WAAW7J,KAAKwM,OAAOxM,KAAK4J,WAAW4C,OAAOxM,KAAKsP,WAAW,CAAChN,SAAS,IAAIqvB,GAAG/hB,OAAO,GAAGF,MAAM,IAAIpO,EAAEjB,UAAUuH,OAAO,WAAW5H,KAAK41B,qBAAqB51B,KAAK61B,uBAAuB71B,KAAK81B,oBAAoBx0B,EAAEjB,UAAUu1B,mBAAmB,WAAW51B,KAAKw1B,aAAax0B,GAAGhB,KAAKwM,OAAOpK,MAAM,EAAEpC,KAAKw1B,aAAav0B,GAAGjB,KAAKwM,OAAOnK,OAAO,EAAErC,KAAKw1B,aAAapzB,MAAMpC,KAAKwM,OAAOpK,MAAMpC,KAAKw1B,aAAanzB,OAAOrC,KAAKwM,OAAOnK,QAAQf,EAAEjB,UAAUw1B,qBAAqB,WAAW71B,KAAKy1B,eAAez0B,GAAGhB,KAAKwK,WAAWgqB,UAAUlyB,SAAStB,EAAEhB,KAAKw1B,aAAapzB,MAAM,GAAGpC,KAAK01B,MAAM11B,KAAKy1B,eAAex0B,GAAGjB,KAAKwK,WAAWgqB,UAAUlyB,SAASrB,EAAEjB,KAAKw1B,aAAanzB,OAAO,GAAGrC,KAAK01B,MAAM11B,KAAKy1B,eAAerzB,MAAMpC,KAAKw1B,aAAapzB,MAAMpC,KAAK01B,MAAM11B,KAAKy1B,eAAepzB,OAAOrC,KAAKw1B,aAAanzB,OAAOrC,KAAK01B,OAAOp0B,EAAEjB,UAAUy1B,iBAAiB,WAAW91B,KAAKsP,WAAWhN,SAASvB,KAAKf,KAAKwK,WAAWgqB,UAAUlyB,UAAUtC,KAAKsP,WAAWI,MAAM1P,KAAK0P,MAAM1P,KAAKsP,WAAWM,OAAO5P,KAAK4P,OAAO5P,KAAKsP,WAAW/C,KAAKvM,KAAK01B,MAAM11B,KAAKqF,cAAcmK,cAAcxP,KAAKsP,aAAahO,EAAl/C,CAAq/CgK,GAAGyqB,GAAG,SAASj2B,GAAG,SAASwB,IAAI,OAAO,OAAOxB,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAUwJ,KAAK,WAAW7J,KAAKw0B,UAAUlyB,SAAS/B,IAAI,EAAE,GAAGP,KAAKg2B,OAAOh2B,KAAK80B,aAAaS,KAAKp1B,OAAOC,eAAekB,EAAEjB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKg2B,OAAOpmB,QAAQrP,IAAI,SAAST,GAAGE,KAAKg2B,OAAOpmB,OAAO9P,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAKg2B,OAAOtmB,OAAOnP,IAAI,SAAST,GAAGE,KAAKg2B,OAAOtmB,MAAM5P,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,OAAO,CAACC,IAAI,WAAW,OAAON,KAAKg2B,OAAOzpB,MAAMhM,IAAI,SAAST,GAAGE,KAAKg2B,OAAOzpB,KAAKzM,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,iBAAiB,CAACC,IAAI,WAAW,OAAON,KAAKg2B,OAAOP,gBAAgBj1B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,eAAe,CAACC,IAAI,WAAW,OAAON,KAAKg2B,OAAOR,cAAch1B,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAUs1B,SAAS,SAAS71B,GAAGE,KAAKg2B,OAAOpmB,OAAO5G,KAAKlJ,IAAIwB,EAAt8B,CAAy8BozB,IAAIuB,GAAG,SAASn2B,GAAG,SAASwB,EAAEvB,EAAEuB,EAAEQ,GAAG,IAAIa,EAAE7C,EAAE2D,KAAKzD,KAAKD,IAAIC,KAAK,OAAO2C,EAAE8H,KAAKnJ,EAAEqB,EAAEuzB,KAAKp0B,EAAEa,EAAEuzB,KAAKC,OAAO1sB,UAAU9G,EAAEsH,cAAc8rB,IAAIpzB,EAAE,OAAO5C,EAAEuB,EAAExB,GAAGK,OAAOC,eAAekB,EAAEjB,UAAU,aAAa,CAACC,IAAI,WAAW,OAAON,KAAKkK,eAAe6rB,KAAKv1B,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAU0J,SAAS,WAAW,IAAIjK,EAAEE,KAAKA,KAAKuF,kBAAkBiqB,uBAAsB,GAAIrvB,OAAO6K,KAAKhL,MAAM8I,SAAO,SAAW/I,GAAG,cAAcD,EAAEC,OAAOuB,EAAEjB,UAAU2J,UAAU,WAAW,IAAIlK,EAAEE,KAAKA,KAAKuF,kBAAkBiqB,uBAAsB,GAAIrvB,OAAO6K,KAAKhL,MAAM8I,SAAS,SAAS/I,GAAG,cAAcD,EAAEC,OAAOuB,EAAlkB,CAAqkB6H,GAAGitB,GAAG,SAASt2B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEs2B,OAAM,EAAGt2B,EAAEksB,QAAQ,EAAElsB,EAAEosB,QAAQ,EAAEpsB,EAAEu2B,kBAAkB,GAAGv2B,EAAEw2B,aAAa,IAAI5E,GAAG5xB,EAAEy2B,eAAe,IAAI7E,GAAG5xB,EAAE02B,cAAc,EAAE12B,EAAE00B,cAAc,IAAI9C,GAAG5xB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAUwJ,KAAK,SAAS/J,GAAG,IAAIC,EAAEuB,EAAEQ,EAAEa,EAAEZ,EAAEkD,EAAE,GAAGjF,KAAKuJ,WAAWuW,WAAWoS,kBAAkB/P,GAAGM,IAAI,MAAM,IAAI+L,GAAG,gDAAgD,GAAG1uB,EAAEuN,YAAYrJ,OAAO,EAAE,MAAM,IAAIwqB,GAAG,+CAA+CxuB,KAAKq2B,OAAO,QAAQt2B,EAAED,EAAEu2B,aAAQ,IAASt2B,EAAEA,EAAEC,KAAKq2B,QAAQr2B,KAAKuJ,WAAWyoB,aAAahyB,KAAKqN,YAAYvN,EAAEuN,YAAYrN,KAAKisB,QAAQ,QAAQ3qB,EAAExB,EAAEmsB,eAAU,IAAS3qB,EAAEA,EAAEtB,KAAKisB,QAAQjsB,KAAKmsB,QAAQ,QAAQrqB,EAAEhC,EAAEqsB,eAAU,IAASrqB,EAAEA,EAAE9B,KAAKmsB,QAAQnsB,KAAKme,QAAQ,QAAQxb,EAAE7C,EAAEqe,eAAU,IAASxb,EAAEA,EAAE3C,KAAKme,QAAQne,KAAK0M,SAAS,QAAQ3K,EAAEjC,EAAE4M,gBAAW,IAAS3K,EAAEA,EAAE,IAAI+vB,GAAG9xB,KAAK6P,MAAM/P,EAAE+P,MAAM,IAAI,IAAI3K,EAAE,EAAEA,EAAElF,KAAKqN,YAAYrJ,OAAOkB,IAAIlF,KAAKs2B,kBAAkBttB,KAAK,IAAI2oB,IAAI3xB,KAAKogB,UAAUpX,KAAKhJ,KAAKoF,eAAeub,YAAY,CAAC9Q,MAAM,QAAQ5K,EAAEjF,KAAK6P,aAAQ,IAAS5K,EAAEA,EAAEjF,KAAKwK,WAAWqF,MAAMvN,SAAStC,KAAKwK,WAAWgqB,UAAUlyB,SAASnB,QAAQuL,SAAS1M,KAAK0M,SAAS3J,QAAQuK,MAAM,IAAIkZ,GAAGxmB,KAAKs2B,mBAAmBpY,kBAAiB,EAAGC,QAAQne,KAAKme,QAAQC,MAAMpe,KAAKwK,WAAW2H,GAAG4F,cAAc/X,KAAKq2B,QAAQr2B,KAAKyzB,SAASzzB,KAAKwK,WAAWsqB,aAAa4B,GAAG,CAACvC,SAASn0B,KAAKogB,UAAU,OAAO9e,EAAEjB,UAAUszB,eAAe,WAAW,IAAI7zB,EAAEE,KAAKA,KAAKqN,YAAYvE,SAAO,SAAW/I,EAAEuB,GAAG,OAAOxB,EAAEw2B,kBAAkBh1B,GAAGf,IAAIR,EAAEiB,EAAElB,EAAE0K,WAAWgqB,UAAU9yB,MAAMV,EAAEjB,EAAEkB,EAAEnB,EAAE0K,WAAWgqB,UAAU9yB,MAAMT,MAAMjB,KAAKu2B,aAAav1B,EAAEhB,KAAKisB,QAAQjsB,KAAKwK,WAAWgqB,UAAU9yB,MAAMV,EAAEhB,KAAKu2B,aAAat1B,EAAEjB,KAAKmsB,QAAQnsB,KAAKwK,WAAWgqB,UAAU9yB,MAAMT,EAAEjB,KAAKy2B,cAAcz2B,KAAKwK,WAAWgqB,UAAU9nB,SAAS3J,QAAQ/C,KAAK0M,SAAS3J,SAASzB,EAAEjB,UAAUorB,eAAe,WAAWkG,GAAGtwB,IAAIrB,KAAKw2B,eAAex2B,KAAKwK,WAAWgqB,UAAUlyB,SAAStC,KAAKu2B,cAAc,IAAIv2B,KAAKwK,WAAWgqB,UAAU9nB,SAAS3J,SAAS/C,KAAK22B,aAAar1B,EAAEjB,UAAUs2B,UAAU,WAAWhF,GAAGpwB,SAASvB,KAAKy0B,cAAcz0B,KAAKw2B,eAAex2B,KAAKwK,WAAWgqB,UAAUlyB,UAAU,IAAIxC,EAAEY,KAAK6yB,MAAMvzB,KAAKy0B,cAAcxzB,EAAEjB,KAAKy0B,cAAczzB,GAAGhB,KAAKwK,WAAWgqB,UAAU9nB,SAAS3J,QAAQ/C,KAAKw2B,eAAej2B,IAAIP,KAAKwK,WAAWgqB,UAAUlyB,SAAStB,EAAEhB,KAAKy0B,cAAcjzB,UAAUd,KAAKyC,IAAIrD,GAAGE,KAAKwK,WAAWgqB,UAAUlyB,SAASrB,EAAEjB,KAAKy0B,cAAcjzB,UAAUd,KAAK0C,IAAItD,KAAKwB,EAAEjB,UAAUuzB,gBAAgB,WAAW,IAAI9zB,EAAEE,KAAKogB,UAAU,GAAGvQ,MAAM,QAAQ/P,EAAEE,KAAK6P,aAAQ,IAAS/P,EAAEA,EAAEE,KAAKwK,WAAWqF,MAAM7P,KAAKogB,UAAU,GAAG9d,SAASvB,KAAKf,KAAKw2B,gBAAgBx2B,KAAKogB,UAAU,GAAG1T,SAAS1M,KAAKy2B,cAAcz2B,KAAKogB,UAAU,GAAG9S,MAAMD,YAAYrN,KAAKs2B,mBAAmBh1B,EAAjlF,CAAolFkyB,IAAIkD,GAAG,SAAS52B,GAAG,SAASwB,IAAI,OAAO,OAAOxB,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAUwJ,KAAK,SAAS/J,GAAG,IAAIC,EAAED,EAAEq0B,SAASn0B,KAAKqP,WAAW,CAACb,KAAKtJ,EAAE8G,UAAUuC,SAAStJ,EAAEyG,WAAWmE,MAAM7P,KAAKwK,WAAWqF,MAAMvN,SAAS,IAAIqvB,GAAGrkB,MAAMvL,EAAEwJ,QAAQoM,MAAM,WAAW3X,KAAKm0B,SAASp0B,GAAGuB,EAAEjB,UAAUuH,OAAO,WAAW5H,KAAKqP,WAAWQ,MAAM7P,KAAKwK,WAAWqF,MAAM7P,KAAKqP,WAAW/M,SAASvB,KAAKf,KAAKm0B,SAAS7xB,UAAUtC,KAAKqP,WAAW3C,SAAS1M,KAAKm0B,SAAS7mB,MAAMZ,SAAS1M,KAAKqP,WAAWhC,YAAYrN,KAAKm0B,SAAS7mB,MAAMD,YAAYrN,KAAKqF,cAAckK,cAAcvP,KAAKqP,aAAa/N,EAA/jB,CAAkkBL,GAAG21B,GAAG,SAAS92B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEs2B,OAAM,EAAGt2B,EAAEksB,QAAQ,EAAElsB,EAAEosB,QAAQ,EAAEpsB,EAAEgQ,UAAU,EAAEhQ,EAAEiQ,WAAW,EAAEjQ,EAAE82B,WAAW,IAAIlF,GAAG5xB,EAAE+2B,aAAa,IAAInF,GAAG5xB,EAAEg3B,aAAa,EAAEh3B,EAAEi3B,cAAcj3B,EAAEwJ,WAAWuW,WAAWoS,kBAAkB/P,GAAGM,IAAI1iB,EAAE00B,cAAc,IAAI9C,GAAG5xB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAUwJ,KAAK,SAAS/J,GAAG,IAAIC,EAAEuB,EAAEQ,EAAEa,EAAEZ,EAAEkD,EAAEjF,KAAKoC,MAAMtC,EAAEsC,MAAMpC,KAAKqC,OAAOvC,EAAEuC,OAAOrC,KAAKisB,QAAQ,QAAQlsB,EAAED,EAAEmsB,eAAU,IAASlsB,EAAEA,EAAEC,KAAKisB,QAAQjsB,KAAKmsB,QAAQ,QAAQ7qB,EAAExB,EAAEqsB,eAAU,IAAS7qB,EAAEA,EAAEtB,KAAKmsB,QAAQnsB,KAAKme,QAAQ,QAAQrc,EAAEhC,EAAEqe,eAAU,IAASrc,EAAEA,EAAE9B,KAAKme,QAAQne,KAAKq2B,OAAO,QAAQ1zB,EAAE7C,EAAEu2B,aAAQ,IAAS1zB,EAAEA,EAAE3C,KAAKq2B,QAAQr2B,KAAKuJ,WAAWyoB,aAAahyB,KAAK0M,SAAS,QAAQ3K,EAAEjC,EAAE4M,gBAAW,IAAS3K,EAAEA,EAAE,IAAI+vB,GAAG9xB,KAAK6P,MAAM/P,EAAE+P,MAAM7P,KAAKogB,UAAUpX,KAAKhJ,KAAKoF,eAAeub,YAAY,CAAC9Q,MAAM,QAAQ5K,EAAEjF,KAAK6P,aAAQ,IAAS5K,EAAEA,EAAEjF,KAAKwK,WAAWqF,MAAMvN,SAAStC,KAAKwK,WAAWgqB,UAAUlyB,SAASnB,QAAQuL,SAAS1M,KAAK0M,SAAS3J,QAAQuK,MAAM,IAAIwZ,GAAG9mB,KAAK+P,UAAU/P,KAAKgQ,YAAYkO,kBAAiB,EAAGC,QAAQne,KAAKme,QAAQC,MAAMpe,KAAKwK,WAAW2H,GAAG4F,cAAc/X,KAAKq2B,QAAQr2B,KAAKyzB,SAASzzB,KAAKwK,WAAWsqB,aAAa4B,GAAG,CAACvC,SAASn0B,KAAKogB,UAAU,OAAO9e,EAAEjB,UAAUszB,eAAe,WAAW3zB,KAAK+P,UAAU/P,KAAKoC,MAAM1B,KAAKiM,IAAI3M,KAAKwK,WAAWgqB,UAAU9yB,MAAMV,GAAGhB,KAAKgQ,WAAWhQ,KAAKqC,OAAO3B,KAAKiM,IAAI3M,KAAKwK,WAAWgqB,UAAU9yB,MAAMT,GAAGjB,KAAK62B,WAAW71B,EAAEhB,KAAKisB,QAAQjsB,KAAKwK,WAAWgqB,UAAU9yB,MAAMV,EAAEhB,KAAK62B,WAAW51B,EAAEjB,KAAKmsB,QAAQnsB,KAAKwK,WAAWgqB,UAAU9yB,MAAMT,EAAEjB,KAAK+2B,aAAa/2B,KAAKg3B,cAAch3B,KAAKwK,WAAWgqB,UAAU9nB,SAAS3J,QAAQ/C,KAAK0M,SAAS3J,QAAQ,GAAGzB,EAAEjB,UAAUorB,eAAe,WAAWkG,GAAGtwB,IAAIrB,KAAK82B,aAAa92B,KAAKwK,WAAWgqB,UAAUlyB,SAAStC,KAAK62B,YAAY,IAAI72B,KAAKwK,WAAWgqB,UAAU9nB,SAAS3J,SAAS/C,KAAK22B,aAAar1B,EAAEjB,UAAUs2B,UAAU,WAAWhF,GAAGpwB,SAASvB,KAAKy0B,cAAcz0B,KAAK82B,aAAa92B,KAAKwK,WAAWgqB,UAAUlyB,UAAU,IAAIxC,EAAEY,KAAK6yB,MAAMvzB,KAAKy0B,cAAcxzB,EAAEjB,KAAKy0B,cAAczzB,GAAGhB,KAAKwK,WAAWgqB,UAAU9nB,SAAS3J,QAAQ/C,KAAK82B,aAAav2B,IAAIP,KAAKwK,WAAWgqB,UAAUlyB,SAAStB,EAAEhB,KAAKy0B,cAAcjzB,UAAUd,KAAKyC,IAAIrD,GAAGE,KAAKwK,WAAWgqB,UAAUlyB,SAASrB,EAAEjB,KAAKy0B,cAAcjzB,UAAUd,KAAK0C,IAAItD,KAAKwB,EAAEjB,UAAUuzB,gBAAgB,WAAW,IAAI9zB,EAAEE,KAAKogB,UAAU,GAAGvQ,MAAM,QAAQ/P,EAAEE,KAAK6P,aAAQ,IAAS/P,EAAEA,EAAEE,KAAKwK,WAAWqF,MAAM7P,KAAKogB,UAAU,GAAG9d,SAASvB,KAAKf,KAAK82B,cAAc92B,KAAKogB,UAAU,GAAG1T,SAAS1M,KAAK+2B,aAAa/2B,KAAKogB,UAAU,GAAG9S,MAAMyZ,WAAW/mB,KAAK+P,UAAU/P,KAAKgQ,aAAa1O,EAAx4E,CAA24EkyB,IAAIyD,GAAG,SAASn3B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEs2B,OAAM,EAAGt2B,EAAEksB,QAAQ,EAAElsB,EAAEosB,QAAQ,EAAEpsB,EAAEm3B,WAAW,EAAEn3B,EAAE82B,WAAW,IAAIlF,GAAG5xB,EAAE+2B,aAAa,IAAInF,GAAG5xB,EAAE00B,cAAc,IAAI9C,GAAG5xB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAUwJ,KAAK,SAAS/J,GAAG,IAAIC,EAAEuB,EAAEQ,EAAEa,EAAEZ,EAAE/B,KAAKuN,OAAOzN,EAAEyN,OAAOvN,KAAKisB,QAAQ,QAAQlsB,EAAED,EAAEmsB,eAAU,IAASlsB,EAAEA,EAAEC,KAAKisB,QAAQjsB,KAAKmsB,QAAQ,QAAQ7qB,EAAExB,EAAEqsB,eAAU,IAAS7qB,EAAEA,EAAEtB,KAAKmsB,QAAQnsB,KAAKme,QAAQ,QAAQrc,EAAEhC,EAAEqe,eAAU,IAASrc,EAAEA,EAAE9B,KAAKme,QAAQne,KAAKq2B,OAAO,QAAQ1zB,EAAE7C,EAAEu2B,aAAQ,IAAS1zB,EAAEA,EAAE3C,KAAKq2B,QAAQr2B,KAAKuJ,WAAWyoB,aAAahyB,KAAK6P,MAAM/P,EAAE+P,MAAM7P,KAAKogB,UAAUpX,KAAKhJ,KAAKoF,eAAeub,YAAY,CAAC9Q,MAAM,QAAQ9N,EAAE/B,KAAK6P,aAAQ,IAAS9N,EAAEA,EAAE/B,KAAKwK,WAAWqF,MAAMvN,SAAStC,KAAKwK,WAAWgqB,UAAUlyB,SAASnB,QAAQmM,MAAM,IAAI6Y,GAAGnmB,KAAKuN,QAAQ2Q,kBAAiB,EAAGC,QAAQne,KAAKme,QAAQC,MAAMpe,KAAKwK,WAAW2H,GAAG4F,cAAc/X,KAAKq2B,QAAQr2B,KAAKyzB,SAASzzB,KAAKwK,WAAWsqB,aAAaqC,GAAG,CAAChD,SAASn0B,KAAKogB,UAAU,OAAO9e,EAAEjB,UAAUszB,eAAe,WAAW3zB,KAAKk3B,WAAWl3B,KAAKuN,OAAO7M,KAAKyM,IAAIzM,KAAKiM,IAAI3M,KAAKwK,WAAWgqB,UAAU9yB,MAAMV,GAAGN,KAAKiM,IAAI3M,KAAKwK,WAAWgqB,UAAU9yB,MAAMT,IAAIjB,KAAK62B,WAAW71B,EAAEhB,KAAKisB,QAAQjsB,KAAKwK,WAAWgqB,UAAU9yB,MAAMV,EAAEhB,KAAK62B,WAAW51B,EAAEjB,KAAKmsB,QAAQnsB,KAAKwK,WAAWgqB,UAAU9yB,MAAMT,GAAGK,EAAEjB,UAAUorB,eAAe,WAAWkG,GAAGtwB,IAAIrB,KAAK82B,aAAa92B,KAAKwK,WAAWgqB,UAAUlyB,SAAStC,KAAK62B,YAAY,IAAI72B,KAAKwK,WAAWgqB,UAAU9nB,SAAS3J,SAAS/C,KAAK22B,aAAar1B,EAAEjB,UAAUs2B,UAAU,WAAWhF,GAAGpwB,SAASvB,KAAKy0B,cAAcz0B,KAAK82B,aAAa92B,KAAKwK,WAAWgqB,UAAUlyB,UAAU,IAAIxC,EAAEY,KAAK6yB,MAAMvzB,KAAKy0B,cAAcxzB,EAAEjB,KAAKy0B,cAAczzB,GAAGhB,KAAKwK,WAAWgqB,UAAU9nB,SAAS3J,QAAQ/C,KAAK82B,aAAav2B,IAAIP,KAAKwK,WAAWgqB,UAAUlyB,SAAStB,EAAEhB,KAAKy0B,cAAcjzB,UAAUd,KAAKyC,IAAIrD,GAAGE,KAAKwK,WAAWgqB,UAAUlyB,SAASrB,EAAEjB,KAAKy0B,cAAcjzB,UAAUd,KAAK0C,IAAItD,KAAKwB,EAAEjB,UAAUuzB,gBAAgB,WAAW,IAAI9zB,EAAEE,KAAKogB,UAAU,GAAGvQ,MAAM,QAAQ/P,EAAEE,KAAK6P,aAAQ,IAAS/P,EAAEA,EAAEE,KAAKwK,WAAWqF,MAAM7P,KAAKogB,UAAU,GAAG9d,SAASvB,KAAKf,KAAK82B,cAAc92B,KAAKogB,UAAU,GAAG9S,MAAMC,OAAOvN,KAAKk3B,YAAY51B,EAA/+D,CAAk/DkyB,IAAI2D,GAAG,SAASr3B,GAAG,SAASwB,IAAI,OAAO,OAAOxB,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAUwJ,KAAK,SAAS/J,GAAG,IAAIC,EAAED,EAAEq0B,SAASn0B,KAAKqP,WAAW,CAACb,KAAKtJ,EAAE8G,UAAUuC,SAAStJ,EAAEyG,WAAWmE,MAAM7P,KAAKwK,WAAWqF,MAAMvN,SAAS,IAAIqvB,GAAGrkB,MAAMvL,EAAEyJ,cAAcmM,MAAM,WAAW3X,KAAKm0B,SAASp0B,GAAGuB,EAAEjB,UAAUuH,OAAO,WAAW5H,KAAKqP,WAAWQ,MAAM7P,KAAKwK,WAAWqF,MAAM7P,KAAKqP,WAAW/M,SAASvB,KAAKf,KAAKm0B,SAAS7xB,UAAUtC,KAAKqP,WAAW9B,OAAOvN,KAAKm0B,SAAS7mB,MAAMC,OAAOvN,KAAKqF,cAAckK,cAAcvP,KAAKqP,aAAa/N,EAArgB,CAAwgBL,GAAGm2B,GAAG,SAASt3B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEs2B,OAAM,EAAGt2B,EAAEuC,SAAS,IAAIqvB,GAAG5xB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAUwJ,KAAK,SAAS/J,GAAG,IAAIC,EAAEuB,EAAEtB,KAAKq3B,gBAAgBv3B,EAAEu3B,gBAAgBr3B,KAAK6P,MAAM/P,EAAE+P,MAAM7P,KAAKq2B,OAAO,QAAQt2B,EAAED,EAAEu2B,aAAQ,IAASt2B,EAAEA,EAAEC,KAAKq2B,QAAQr2B,KAAKuJ,WAAWyoB,aAAahyB,KAAKme,SAAQ,EAAGne,KAAKs3B,UAAU,QAAQh2B,EAAExB,EAAEw3B,iBAAY,IAASh2B,GAAGA,EAAEtB,KAAKu3B,gBAAgBv3B,KAAKq3B,gBAAgBppB,UAAUjO,KAAKwK,WAAWgqB,UAAU9yB,MAAMV,EAAEhB,KAAKw3B,iBAAiBx3B,KAAKq3B,gBAAgBnpB,WAAWlO,KAAKwK,WAAWgqB,UAAU9yB,MAAMT,EAAEjB,KAAKy3B,YAAYz3B,KAAKq3B,gBAAgBj1B,MAAMpC,KAAKu3B,gBAAgBv3B,KAAK03B,aAAa13B,KAAKq3B,gBAAgBh1B,OAAOrC,KAAKw3B,iBAAiBx3B,KAAKsC,SAAS/B,IAAIP,KAAKwK,WAAWgqB,UAAUlyB,SAAStB,EAAEhB,KAAKy3B,YAAY,EAAEz3B,KAAKwK,WAAWgqB,UAAUlyB,SAASrB,EAAEjB,KAAK03B,aAAa,GAAG13B,KAAKs3B,UAAUt3B,KAAK23B,mBAAmB33B,KAAK43B,kBAAkB53B,KAAKq2B,QAAQr2B,KAAKyzB,SAASzzB,KAAKwK,WAAWsqB,aAAa+C,GAAG,CAACzX,UAAUpgB,KAAKogB,cAAc9e,EAAEjB,UAAUu3B,gBAAgB,WAAW,IAAI93B,EAAEE,KAAKA,KAAKq3B,gBAAgBtpB,MAAMjF,SAAO,SAAW/I,EAAEuB,GAAG,IAAIQ,EAAEhC,EAAEg4B,cAAc/3B,EAAEuB,IAAIxB,EAAEsgB,UAAUpX,KAAKlJ,EAAEsF,eAAeub,YAAY,CAAC9Q,MAAM,QAAQ/N,EAAEhC,EAAE+P,aAAQ,IAAS/N,EAAEA,EAAEhC,EAAE0K,WAAWqF,MAAMvN,SAAS,IAAIqvB,GAAG7xB,EAAEwC,SAAStB,GAAGM,EAAExB,EAAEu3B,gBAAgBj1B,MAAM,IAAItC,EAAEy3B,gBAAgBz3B,EAAEwC,SAASrB,GAAGP,KAAK+a,MAAMna,EAAExB,EAAEu3B,gBAAgBj1B,OAAO,IAAItC,EAAE03B,kBAAkBlqB,MAAM,IAAIwZ,GAAGhnB,EAAEy3B,gBAAgBz3B,EAAE03B,kBAAkBtZ,kBAAiB,EAAGC,QAAQre,EAAEqe,QAAQC,MAAMte,EAAE0K,WAAW2H,GAAG4F,kBAAkBzW,EAAEjB,UAAUy3B,cAAc,SAASh4B,EAAEC,GAAG,IAAIuB,EAAEtB,KAAK,OAAO,IAAIF,GAAGE,KAAK+3B,aAAah4B,GAAG6hB,MAAM,SAAS9hB,GAAG,OAAOA,IAAIwB,EAAE+1B,gBAAgBtpB,MAAMjO,IAAI,IAAIwB,EAAE+1B,gBAAgBtpB,MAAMjO,OAAOwB,EAAEjB,UAAUs3B,iBAAiB,WAAW,IAAI73B,EAAEC,EAAEuB,EAAEtB,KAAK8B,EAAE,GAAGa,EAAE,GAAG3C,KAAKq3B,gBAAgBtpB,MAAMjF,kBAAkBhJ,EAAEC,GAAG,GAAG,IAAID,EAAE,CAAC,IAAIiC,EAAEhC,EAAEuB,EAAE+1B,gBAAgBj1B,MAAM6C,EAAEvE,KAAK+a,MAAM1b,EAAEuB,EAAE+1B,gBAAgBj1B,OAAON,EAAEmD,KAAKnD,EAAEmD,GAAG,IAAInD,EAAEmD,EAAE,KAAKnD,EAAEmD,EAAE,GAAG,IAAItC,EAAEsC,KAAKtC,EAAEsC,GAAG,IAAItC,EAAEsC,EAAE,KAAKtC,EAAEsC,EAAE,GAAG,IAAI,IAAIC,EAAE5D,EAAEy2B,aAAah4B,GAAGuB,EAAE02B,QAAQ9yB,EAAE,MAAMpD,EAAEmD,GAAGlD,IAAG,GAAIT,EAAE02B,QAAQ9yB,EAAE,MAAMpD,EAAEmD,EAAE,GAAGlD,IAAG,GAAIT,EAAE02B,QAAQ9yB,EAAE,MAAMvC,EAAEsC,GAAGlD,IAAG,GAAIT,EAAE02B,QAAQ9yB,EAAE,MAAMvC,EAAEsC,GAAGlD,EAAE,IAAG,OAAQ,IAAI,IAAIA,EAAE,EAAEA,EAAED,EAAEkC,OAAOjC,IAAI,GAAGD,EAAEC,GAAG,IAAI,IAAIkD,EAAE,EAAEA,EAAEnD,EAAEC,GAAGiC,OAAOiB,KAAKnF,IAAIC,GAAGgC,IAAIhC,EAAEkB,GAAGa,EAAEC,GAAGkD,KAAKjF,KAAKi4B,gBAAgBn4B,EAAEC,GAAGD,OAAE,EAAOC,OAAE,GAAQ+B,EAAEC,GAAGkD,KAAKnF,IAAIA,EAAE,IAAI6xB,GAAG1sB,EAAElD,IAAIhC,EAAE,IAAI4xB,GAAG1sB,EAAE,EAAElD,IAAsD,IAAlDjC,GAAGC,GAAGC,KAAKi4B,gBAAgBn4B,EAAEC,GAAGD,OAAE,EAAOC,OAAE,EAAWkF,EAAE,EAAEA,GAAGjF,KAAKq3B,gBAAgBj1B,MAAM6C,IAAI,IAAIlD,EAAE,EAAEA,EAAEY,EAAEqB,OAAOjC,IAAIY,EAAEZ,MAAMjC,IAAIC,GAAGkF,IAAIlF,EAAEiB,GAAG2B,EAAEZ,GAAGkD,KAAKjF,KAAKi4B,gBAAgBn4B,EAAEC,GAAGD,OAAE,EAAOC,OAAE,GAAQ4C,EAAEZ,GAAGkD,KAAKnF,IAAIA,EAAE,IAAI6xB,GAAG1sB,EAAElD,IAAIhC,EAAE,IAAI4xB,GAAG1sB,EAAElD,EAAE,KAAKjC,GAAGC,GAAGC,KAAKi4B,gBAAgBn4B,EAAEC,IAAIuB,EAAEjB,UAAU23B,QAAQ,SAASl4B,GAAG,YAAO,IAASA,GAAGE,KAAKq3B,gBAAgBtpB,MAAMjO,IAAIE,KAAKq3B,gBAAgBtpB,MAAMjO,GAAG,GAAGwB,EAAEjB,UAAU43B,gBAAgB,SAASn4B,EAAEC,GAAG,IAAIuB,EAAEQ,EAAE9B,KAAKoF,eAAeub,YAAY,CAAC9Q,MAAM,QAAQvO,EAAEtB,KAAK6P,aAAQ,IAASvO,EAAEA,EAAEtB,KAAKwK,WAAWqF,MAAMvN,SAAStC,KAAKsC,SAASnB,QAAQmM,MAAM,IAAI+Y,GAAG,CAAC,IAAIsL,GAAG7xB,EAAEkB,EAAEhB,KAAKu3B,gBAAgBz3B,EAAEmB,GAAGjB,KAAKw3B,kBAAkB,IAAI7F,GAAG5xB,EAAEiB,EAAEhB,KAAKu3B,gBAAgBx3B,EAAEkB,GAAGjB,KAAKw3B,oBAAoBtZ,kBAAiB,EAAGC,QAAQne,KAAKme,QAAQC,MAAMpe,KAAKwK,WAAW2H,GAAG4F,aAAa/X,KAAKogB,UAAUpX,KAAKlH,IAAIR,EAAEjB,UAAU03B,aAAa,SAASj4B,GAAG,MAAM,CAACA,EAAEE,KAAKq3B,gBAAgBj1B,OAAO,EAAEtC,EAAEE,KAAKq3B,gBAAgBj1B,WAAM,EAAOtC,EAAEE,KAAKq3B,gBAAgBj1B,MAAM,EAAEtC,EAAE,OAAE,EAAOA,EAAEE,KAAKq3B,gBAAgBj1B,OAAOpC,KAAKq3B,gBAAgBj1B,MAAMpC,KAAKq3B,gBAAgBh1B,OAAOvC,EAAEE,KAAKq3B,gBAAgBj1B,WAAM,EAAOtC,EAAEE,KAAKq3B,gBAAgBj1B,MAAMpC,KAAKq3B,gBAAgBj1B,MAAM,EAAEtC,EAAE,OAAE,IAASwB,EAAEjB,UAAUszB,eAAe,aAAaryB,EAAEjB,UAAUorB,eAAe,aAAanqB,EAAEjB,UAAUuzB,gBAAgB,WAAW,IAAI9zB,EAAEE,KAAKA,KAAKogB,UAAUtX,kBAAkB/I,GAAG,IAAIuB,EAAE,OAAOvB,EAAE8P,MAAM,QAAQvO,EAAExB,EAAE+P,aAAQ,IAASvO,EAAEA,EAAExB,EAAE0K,WAAWqF,UAAUvO,EAAzkH,CAA4kHkyB,IAAIqE,GAAG,SAAS/3B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEsP,WAAW,GAAGtP,EAAEqgB,UAAU,GAAGrgB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAUwJ,KAAK,SAAS/J,GAAG,IAAIC,EAAEC,KAAKsB,EAAExB,EAAEsgB,UAAUpgB,KAAKogB,UAAU9e,EAAEtB,KAAKogB,UAAUtX,SAAS,SAAShJ,EAAEwB,GAAGvB,EAAEsP,WAAW/N,GAAG,CAACkN,KAAKtJ,EAAE8G,UAAU6D,MAAM9P,EAAEyK,WAAWqF,MAAMtB,SAAStJ,EAAEyG,WAAWpJ,SAAS,IAAIqvB,GAAGrkB,MAAMvL,EAAEwJ,QAAQoM,MAAM,eAAerW,EAAEjB,UAAUuH,OAAO,WAAW,IAAI9H,EAAEE,KAAKA,KAAKogB,UAAUtX,SAAO,SAAW/I,EAAEuB,GAAGxB,EAAEuP,WAAW/N,GAAGuO,MAAM/P,EAAE0K,WAAWqF,MAAM/P,EAAEuP,WAAW/N,GAAGgB,SAASvB,KAAKhB,EAAEuN,MAAMhL,UAAUxC,EAAEuP,WAAW/N,GAAGoL,SAAS3M,EAAE2M,SAAS5M,EAAEuP,WAAW/N,GAAG+L,YAAYtN,EAAEuN,MAAMD,YAAYvN,EAAEuF,cAAckK,cAAczP,EAAEuP,WAAW/N,QAAQA,EAA/pB,CAAkqBL,GAAGi3B,GAAG,SAASp4B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEs2B,OAAM,EAAGt2B,EAAEksB,QAAQ,EAAElsB,EAAEosB,QAAQ,EAAEpsB,EAAEu2B,kBAAkB,GAAGv2B,EAAEw2B,aAAa,IAAI5E,GAAG5xB,EAAEy2B,eAAe,IAAI7E,GAAG5xB,EAAE02B,cAAc,EAAE12B,EAAE00B,cAAc,IAAI9C,GAAG5xB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAUwJ,KAAK,SAAS/J,GAAG,IAAIC,EAAEuB,EAAEQ,EAAEa,EAAEZ,EAAEkD,EAAE,GAAGjF,KAAKuJ,WAAWuW,WAAWoS,kBAAkB/P,GAAGM,IAAI,MAAM,IAAI+L,GAAG,6CAA6C,GAAG1uB,EAAEuN,YAAYrJ,OAAO,EAAE,MAAM,IAAIwqB,GAAG,4CAA4CxuB,KAAKq2B,OAAO,QAAQt2B,EAAED,EAAEu2B,aAAQ,IAASt2B,EAAEA,EAAEC,KAAKq2B,QAAQr2B,KAAKuJ,WAAWyoB,aAAahyB,KAAKqN,YAAYvN,EAAEuN,YAAYrN,KAAKisB,QAAQ,QAAQ3qB,EAAExB,EAAEmsB,eAAU,IAAS3qB,EAAEA,EAAEtB,KAAKisB,QAAQjsB,KAAKmsB,QAAQ,QAAQrqB,EAAEhC,EAAEqsB,eAAU,IAASrqB,EAAEA,EAAE9B,KAAKmsB,QAAQnsB,KAAKme,QAAQ,QAAQxb,EAAE7C,EAAEqe,eAAU,IAASxb,EAAEA,EAAE3C,KAAKme,QAAQne,KAAK0M,SAAS,QAAQ3K,EAAEjC,EAAE4M,gBAAW,IAAS3K,EAAEA,EAAE,IAAI+vB,GAAG9xB,KAAK6P,MAAM/P,EAAE+P,MAAM,IAAI,IAAI3K,EAAE,EAAEA,EAAElF,KAAKqN,YAAYrJ,OAAOkB,IAAIlF,KAAKs2B,kBAAkBttB,KAAK,IAAI2oB,IAAI,IAAIzsB,EAAE,EAAEA,EAAElF,KAAKs2B,kBAAkBtyB,OAAO,EAAEkB,IAAIlF,KAAKogB,UAAUpX,KAAKhJ,KAAKoF,eAAeub,YAAY,CAAC9Q,MAAM,QAAQ5K,EAAEjF,KAAK6P,aAAQ,IAAS5K,EAAEA,EAAEjF,KAAKwK,WAAWqF,MAAMvN,SAAStC,KAAKwK,WAAWgqB,UAAUlyB,SAASnB,QAAQuL,SAAS1M,KAAK0M,SAAS3J,QAAQuK,MAAM,IAAI+Y,GAAG,CAACrmB,KAAKs2B,kBAAkBpxB,GAAGlF,KAAKs2B,kBAAkBpxB,EAAE,KAAKgZ,kBAAiB,EAAGC,QAAQne,KAAKme,QAAQC,MAAMpe,KAAKwK,WAAW2H,GAAG4F,cAAc/X,KAAKq2B,QAAQr2B,KAAKyzB,SAASzzB,KAAKwK,WAAWsqB,aAAaqD,GAAG,CAAC/X,UAAUpgB,KAAKogB,cAAc9e,EAAEjB,UAAUszB,eAAe,WAAW,IAAI7zB,EAAEE,KAAKA,KAAKqN,YAAYvE,SAAS,SAAS/I,EAAEuB,GAAG,OAAOxB,EAAEw2B,kBAAkBh1B,GAAGf,IAAIR,EAAEiB,EAAElB,EAAE0K,WAAWgqB,UAAU9yB,MAAMV,EAAEjB,EAAEkB,EAAEnB,EAAE0K,WAAWgqB,UAAU9yB,MAAMT,MAAMjB,KAAKu2B,aAAav1B,EAAEhB,KAAKisB,QAAQjsB,KAAKwK,WAAWgqB,UAAU9yB,MAAMV,EAAEhB,KAAKu2B,aAAat1B,EAAEjB,KAAKmsB,QAAQnsB,KAAKwK,WAAWgqB,UAAU9yB,MAAMT,EAAEjB,KAAKy2B,cAAcz2B,KAAKwK,WAAWgqB,UAAU9nB,SAAS3J,QAAQ/C,KAAK0M,SAAS3J,SAASzB,EAAEjB,UAAUorB,eAAe,WAAWkG,GAAGtwB,IAAIrB,KAAKw2B,eAAex2B,KAAKwK,WAAWgqB,UAAUlyB,SAAStC,KAAKu2B,cAAc,IAAIv2B,KAAKwK,WAAWgqB,UAAU9nB,SAAS3J,SAAS/C,KAAK22B,aAAar1B,EAAEjB,UAAUs2B,UAAU,WAAWhF,GAAGpwB,SAASvB,KAAKy0B,cAAcz0B,KAAKw2B,eAAex2B,KAAKwK,WAAWgqB,UAAUlyB,UAAU,IAAIxC,EAAEY,KAAK6yB,MAAMvzB,KAAKy0B,cAAcxzB,EAAEjB,KAAKy0B,cAAczzB,GAAGhB,KAAKwK,WAAWgqB,UAAU9nB,SAAS3J,QAAQ/C,KAAKw2B,eAAej2B,IAAIP,KAAKwK,WAAWgqB,UAAUlyB,SAAStB,EAAEhB,KAAKy0B,cAAcjzB,UAAUd,KAAKyC,IAAIrD,GAAGE,KAAKwK,WAAWgqB,UAAUlyB,SAASrB,EAAEjB,KAAKy0B,cAAcjzB,UAAUd,KAAK0C,IAAItD,KAAKwB,EAAEjB,UAAUuzB,gBAAgB,WAAW,IAAI,IAAI9zB,EAAEC,EAAE,EAAEA,EAAEC,KAAKs2B,kBAAkBtyB,OAAO,EAAEjE,IAAIC,KAAKogB,UAAUrgB,GAAG8P,MAAM,QAAQ/P,EAAEE,KAAK6P,aAAQ,IAAS/P,EAAEA,EAAEE,KAAKwK,WAAWqF,MAAM7P,KAAKogB,UAAUrgB,GAAGuC,SAASvB,KAAKf,KAAKw2B,gBAAgBx2B,KAAKogB,UAAUrgB,GAAG2M,SAAS1M,KAAKy2B,cAAcz2B,KAAKogB,UAAUrgB,GAAGuN,MAAMD,YAAY,CAACrN,KAAKs2B,kBAAkBv2B,GAAGC,KAAKs2B,kBAAkBv2B,EAAE,KAAKuB,EAAvuF,CAA0uFkyB,IAAI2E,GAAG,SAASr4B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEsP,WAAW,GAAGtP,EAAEqgB,UAAU,GAAGrgB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAUwJ,KAAK,SAAS/J,GAAG,IAAIC,EAAEC,KAAKsB,EAAExB,EAAEsgB,UAAUpgB,KAAKogB,UAAU9e,EAAEtB,KAAKogB,UAAUtX,SAAS,SAAShJ,EAAEwB,GAAGvB,EAAEsP,WAAW/N,GAAG,CAACkN,KAAKtJ,EAAE8G,UAAU6D,MAAM9P,EAAEyK,WAAWqF,MAAMtB,SAAStJ,EAAEyG,WAAWpJ,SAAS,IAAIqvB,GAAGrkB,MAAMvL,EAAE0J,KAAKkM,MAAM,eAAerW,EAAEjB,UAAUuH,OAAO,WAAW,IAAI9H,EAAEE,KAAKA,KAAKogB,UAAUtX,kBAAkB/I,EAAEuB,GAAGxB,EAAEuP,WAAW/N,GAAGuO,MAAM/P,EAAE0K,WAAWqF,MAAM/P,EAAEuP,WAAW/N,GAAGgB,SAASvC,EAAEuC,SAASxC,EAAEuP,WAAW/N,GAAGoL,SAAS3M,EAAE2M,SAAS5M,EAAEuP,WAAW/N,GAAG+L,YAAYtN,EAAEuN,MAAMD,YAAYvN,EAAEuF,cAAckK,cAAczP,EAAEuP,WAAW/N,QAAQA,EAAhpB,CAAmpBL,GAAGm3B,GAAG,SAASt4B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEsP,WAAW,GAAGtP,EAAE00B,cAAc,IAAI9C,GAAG5xB,EAAEs4B,cAAc,IAAI1G,GAAG5xB,EAAEu4B,oBAAoB,IAAI3G,GAAG5xB,EAAEw2B,aAAa,IAAI5E,GAAG5xB,EAAEw4B,WAAW,IAAI5G,GAAG5xB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAUwJ,KAAK,SAAS/J,GAAG,IAAIC,EAAEuB,EAAEQ,EAAEa,EAAEZ,EAAEkD,EAAEC,EAAEtC,EAAEuG,OAAE,IAASrJ,IAAIA,EAAE,IAAIE,KAAKw4B,OAAO14B,EAAE04B,OAAOx4B,KAAKy4B,OAAO,QAAQ14B,EAAED,EAAE24B,cAAS,IAAS14B,EAAEA,EAAE,IAAI4xB,GAAG3xB,KAAK0M,SAAS,QAAQpL,EAAExB,EAAE4M,gBAAW,IAASpL,EAAEA,EAAE,IAAIwwB,GAAG9xB,KAAKmZ,eAAe,QAAQrX,EAAEhC,EAAEqZ,sBAAiB,IAASrX,GAAGA,EAAE9B,KAAKoZ,aAAa,QAAQzW,EAAE7C,EAAEsZ,oBAAe,IAASzW,GAAGA,EAAE3C,KAAK04B,QAAQ,QAAQ32B,EAAEjC,EAAE44B,eAAU,IAAS32B,EAAEA,EAAE,EAAE/B,KAAK24B,OAAO,QAAQ1zB,EAAEnF,EAAE84B,aAAQ,IAAS3zB,EAAEA,EAAE,IAAI0sB,GAAG,EAAE,GAAG3xB,KAAK6Z,UAAU/Z,EAAE+Z,UAAU7Z,KAAK8Z,aAAa,QAAQ5U,EAAEpF,EAAEga,oBAAe,IAAS5U,EAAEA,EAAE,EAAElF,KAAK4Z,UAAU9Z,EAAE8Z,UAAU5Z,KAAK6P,MAAM/P,EAAE+P,MAAM7P,KAAK0B,MAAM,QAAQyH,EAAE,QAAQvG,EAAE9C,EAAE4B,aAAQ,IAASkB,EAAEA,EAAE5C,KAAKuJ,WAAW0oB,mBAAmB9wB,eAAU,IAASgI,EAAEA,EAAE,IAAIwoB,GAAG,EAAE,GAAG3xB,KAAKoC,MAAMtC,EAAEsC,MAAMpC,KAAKqC,OAAOvC,EAAEuC,QAAQlC,OAAOC,eAAekB,EAAEjB,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAK24B,QAAQp4B,IAAI,SAAST,GAAG,GAAGA,EAAEkB,EAAE,GAAG,GAAGlB,EAAEmB,EAAE,GAAG,EAAE,MAAM,IAAIutB,GAAG,6DAA6DxuB,KAAK24B,OAAOp4B,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAIT,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAUuH,OAAO,WAAW,GAAG5H,KAAKw4B,SAAQ,IAAKx4B,KAAKw4B,OAAOhL,OAAO,CAACxtB,KAAKu4B,WAAWh4B,IAAIP,KAAK0B,MAAMV,EAAEhB,KAAKwK,WAAWgqB,UAAU9yB,MAAMV,EAAEhB,KAAK0B,MAAMT,EAAEjB,KAAKwK,WAAWgqB,UAAU9yB,MAAMT,GAAGjB,KAAK64B,wBAAwB,IAAI,IAAI/4B,EAAE,EAAEC,EAAE,EAAEA,EAAEC,KAAK24B,OAAO33B,EAAEjB,IAAI,IAAI,IAAIuB,EAAE,EAAEA,EAAEtB,KAAK24B,OAAO13B,EAAEK,IAAItB,KAAK84B,iBAAiBh5B,EAAEC,EAAEuB,GAAGxB,MAAMwB,EAAEjB,UAAUw4B,sBAAsB,WAAW,GAAG74B,KAAKqP,WAAWrL,SAAShE,KAAK24B,OAAO33B,EAAEhB,KAAK24B,OAAO13B,EAAE,CAACjB,KAAKqP,WAAW,GAAG,IAAI,IAAIvP,EAAE,EAAEA,EAAEE,KAAK24B,OAAO33B,EAAEhB,KAAK24B,OAAO13B,EAAEnB,IAAIE,KAAKqP,WAAWvP,GAAG,CAAC0O,KAAKtJ,EAAE0G,OAAO2C,SAAStJ,EAAEyG,WAAWmE,MAAM,GAAGvN,SAAS,IAAIqvB,GAAGtY,MAAMrZ,KAAKw4B,OAAOnf,MAAMjX,MAAM,EAAEC,OAAO,KAAKf,EAAEjB,UAAUy4B,iBAAiB,SAASh5B,EAAEC,EAAEuB,GAAG,IAAIQ,EAAEa,EAAEZ,EAAE/B,KAAKqP,WAAWvP,GAAGyO,SAASvO,KAAKwK,WAAWmqB,GAAG1vB,EAAE0G,SAAS1G,EAAEyG,WAAW1L,KAAKqP,WAAWvP,GAAG+P,MAAM,QAAQ/N,EAAE9B,KAAK6P,aAAQ,IAAS/N,EAAEA,EAAE9B,KAAKwK,WAAWqF,MAAM7P,KAAKqP,WAAWvP,GAAGuZ,MAAMrZ,KAAKw4B,OAAOnf,MAAMrZ,KAAKqP,WAAWvP,GAAGsC,OAAO,QAAQO,EAAE3C,KAAKoC,aAAQ,IAASO,EAAEA,EAAE3C,KAAKw4B,OAAOp2B,OAAO1B,KAAKiM,IAAI3M,KAAKu4B,WAAWv3B,GAAGhB,KAAKqP,WAAWvP,GAAGuC,QAAQ,QAAQN,EAAE/B,KAAKqC,cAAS,IAASN,EAAEA,EAAE/B,KAAKw4B,OAAOn2B,QAAQ3B,KAAKiM,IAAI3M,KAAKu4B,WAAWt3B,GAAGjB,KAAKqP,WAAWvP,GAAGoE,MAAMlE,KAAKw4B,OAAOt0B,MAAMlE,KAAKqP,WAAWvP,GAAGqZ,eAAenZ,KAAKmZ,iBAAiBnZ,KAAKu4B,WAAWv3B,EAAE,EAAEhB,KAAKqP,WAAWvP,GAAGsZ,aAAapZ,KAAKoZ,eAAepZ,KAAKu4B,WAAWt3B,EAAE,EAAEjB,KAAKqP,WAAWvP,GAAG4M,SAAS1M,KAAKwK,WAAWgqB,UAAU9nB,SAAS3J,QAAQ/C,KAAK0M,SAAS3J,QAAQ/C,KAAKqP,WAAWvP,GAAG2Z,OAAOzZ,KAAKw4B,OAAO/e,OAAOzZ,KAAKqP,WAAWvP,GAAG0Y,MAAMxY,KAAK04B,QAAQ14B,KAAKqP,WAAWvP,GAAG+Z,UAAU7Z,KAAK6Z,UAAU7Z,KAAKqP,WAAWvP,GAAGga,aAAa9Z,KAAK8Z,aAAa9Z,KAAKqP,WAAWvP,GAAG8Z,UAAU5Z,KAAK4Z,UAAU5Z,KAAK+4B,wBAAwBj5B,EAAEC,EAAEuB,GAAGtB,KAAKqF,cAAckK,cAAcvP,KAAKqP,WAAWvP,KAAKwB,EAAEjB,UAAU04B,wBAAwB,SAASj5B,EAAEC,EAAEuB,GAAGtB,KAAKu2B,aAAah2B,IAAIP,KAAKy4B,OAAOz3B,EAAEhB,KAAKwK,WAAWgqB,UAAU9yB,MAAMV,EAAEhB,KAAKy4B,OAAOx3B,EAAEjB,KAAKwK,WAAWgqB,UAAU9yB,MAAMT,GAAG0wB,GAAGtwB,IAAIrB,KAAKq4B,cAAcr4B,KAAKwK,WAAWgqB,UAAUlyB,SAAStC,KAAKu2B,cAAcv2B,KAAKs4B,oBAAoB/3B,IAAIP,KAAKqP,WAAWvP,GAAGsC,MAAM,GAAGpC,KAAK24B,OAAO33B,EAAE,GAAGhB,KAAKqP,WAAWvP,GAAGuC,OAAO,GAAGrC,KAAK24B,OAAO13B,EAAE,IAAI0wB,GAAGpwB,SAASvB,KAAKq4B,cAAcr4B,KAAKq4B,cAAcr4B,KAAKs4B,qBAAqBt4B,KAAKs4B,oBAAoB/3B,IAAIR,EAAEC,KAAKqP,WAAWvP,GAAGsC,MAAMd,EAAEtB,KAAKqP,WAAWvP,GAAGuC,QAAQsvB,GAAGtwB,IAAIrB,KAAKqP,WAAWvP,GAAGwC,SAAStC,KAAKq4B,cAAcr4B,KAAKs4B,qBAAqB,IAAIt4B,KAAKwK,WAAWgqB,UAAU9nB,SAAS3J,SAAS/C,KAAKg5B,wBAAwBl5B,IAAIwB,EAAEjB,UAAU24B,wBAAwB,SAASl5B,GAAG6xB,GAAGpwB,SAASvB,KAAKy0B,cAAcz0B,KAAKqP,WAAWvP,GAAGwC,SAAStC,KAAKwK,WAAWgqB,UAAUlyB,UAAU,IAAIvC,EAAEW,KAAK6yB,MAAMvzB,KAAKy0B,cAAcxzB,EAAEjB,KAAKy0B,cAAczzB,GAAGhB,KAAKwK,WAAWgqB,UAAU9nB,SAAS3J,QAAQ/C,KAAKqP,WAAWvP,GAAGwC,SAAS/B,IAAIP,KAAKwK,WAAWgqB,UAAUlyB,SAAStB,EAAEhB,KAAKy0B,cAAcjzB,UAAUd,KAAKyC,IAAIpD,GAAGC,KAAKwK,WAAWgqB,UAAUlyB,SAASrB,EAAEjB,KAAKy0B,cAAcjzB,UAAUd,KAAK0C,IAAIrD,KAAKuB,EAA36H,CAA86HL,GAAGg4B,GAAG,SAASn5B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEm5B,cAAc,GAAGn5B,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAUwJ,KAAK,SAAS/J,GAAG,IAAIC,EAAEuB,EAAEQ,EAAEa,EAAEZ,EAAEkD,EAAEC,EAAEtC,EAAEuG,EAAEkB,EAAEY,EAAEC,EAAEC,EAAE,GAAGnL,KAAK6M,KAAK,QAAQ9M,EAAED,EAAE+M,YAAO,IAAS9M,EAAEA,EAAE,GAAGC,KAAKgS,KAAK,QAAQ1Q,EAAExB,EAAEkS,YAAO,IAAS1Q,EAAEA,EAAE,OAAOtB,KAAK8M,SAAS,QAAQhL,EAAEhC,EAAEgN,gBAAW,IAAShL,EAAEA,EAAE,GAAG9B,KAAKoC,MAAM,QAAQO,EAAE7C,EAAEsC,aAAQ,IAASO,EAAEA,EAAE,IAAI3C,KAAKqC,OAAO,QAAQN,EAAEjC,EAAEuC,cAAS,IAASN,EAAEA,EAAE,IAAI/B,KAAKy4B,OAAO,QAAQxzB,EAAEnF,EAAE24B,cAAS,IAASxzB,EAAEA,EAAE,IAAI0sB,GAAG3xB,KAAK2X,MAAM,QAAQzS,EAAEpF,EAAE6X,aAAQ,IAASzS,EAAEA,EAAE,UAAUlF,KAAKya,WAAW,QAAQ7X,EAAE9C,EAAE2a,kBAAa,IAAS7X,EAAEA,EAAE,CAAC,GAAG,IAAI,IAAI,KAAK5C,KAAK+M,eAAe,QAAQ5D,EAAErJ,EAAEiN,sBAAiB,IAAS5D,EAAEA,EAAE,EAAEnJ,KAAKgN,cAAc,QAAQ3C,EAAEvK,EAAEkN,qBAAgB,IAAS3C,EAAEA,EAAE,EAAErK,KAAKyZ,OAAO,QAAQxO,EAAEnL,EAAE2Z,cAAS,IAASxO,GAAGA,EAAEjL,KAAK0M,SAAS,QAAQxB,EAAEpL,EAAE4M,gBAAW,IAASxB,EAAEA,EAAE,IAAI4mB,GAAG9xB,KAAK04B,QAAQ,QAAQvtB,EAAErL,EAAE44B,eAAU,IAASvtB,EAAEA,EAAE,EAAEnL,KAAKiQ,YAAYnQ,EAAEmQ,YAAYjQ,KAAKm5B,aAAar5B,EAAEq5B,aAAan5B,KAAKo5B,cAAct5B,EAAEs5B,cAAcp5B,KAAKya,WAAWzW,OAAO,GAAG,EAAE,MAAM,IAAIwqB,GAAG,qDAAqD,GAAGxuB,KAAK+M,eAAe,GAAG,EAAE,MAAM,IAAIyhB,GAAG,sDAAsDltB,EAAEjB,UAAU4F,MAAM,WAAWjG,KAAKqP,WAAW,CAACb,KAAKtJ,EAAE2G,KAAK0C,SAAStJ,EAAEyG,WAAWpJ,SAAS,IAAIqvB,GAAG9hB,MAAM7P,KAAKwK,WAAWqF,MAAMhD,KAAK,GAAGmF,KAAKhS,KAAKgS,KAAKlF,SAAS9M,KAAK8M,SAAS0N,OAAO,CAACC,WAAWza,KAAKya,WAAWI,OAAO7a,KAAKm5B,aAAare,QAAQ9a,KAAKo5B,eAAe3f,OAAOzZ,KAAKyZ,SAASnY,EAAEjB,UAAUuH,OAAO,WAAW,IAAI9H,EAAEC,EAAEC,KAAK6M,OAAO7M,KAAKqP,WAAWQ,MAAM7P,KAAKwK,WAAWqF,MAAM7P,KAAKqP,WAAWd,SAASvO,KAAKwK,WAAWmqB,GAAG1vB,EAAE0G,SAAS1G,EAAEyG,WAAW1L,KAAKqP,WAAWxC,KAAK7M,KAAK6M,OAAO7M,KAAKk5B,cAAcl5B,KAAKq5B,OAAOr5B,KAAKqP,WAAWxC,KAAK7M,KAAKqP,WAAWvC,SAAS9M,KAAK8M,SAAS9M,KAAKqP,WAAWsI,MAAM3X,KAAK2X,MAAM3X,KAAKqP,WAAWY,YAAYjQ,KAAKiQ,YAAYjQ,KAAKqP,WAAWtC,eAAe/M,KAAK+M,eAAe/M,KAAKqP,WAAWrC,cAAchN,KAAKgN,cAAchN,KAAKqP,WAAW3C,SAAS,QAAQ3M,EAAEC,KAAKwK,WAAWgqB,UAAU9nB,SAAS3J,SAAS,QAAQjD,EAAEE,KAAK0M,gBAAW,IAAS5M,OAAE,EAAOA,EAAEiD,gBAAW,IAAShD,EAAEA,EAAE,EAAEC,KAAKqP,WAAWmJ,MAAMxY,KAAK04B,QAAQ/G,GAAGtwB,IAAIrB,KAAKqP,WAAW/M,SAAStC,KAAKwK,WAAWgqB,UAAUlyB,SAAStC,KAAKy4B,QAAQz4B,KAAKqF,cAAckK,cAAcvP,KAAKqP,YAAYrP,KAAKk5B,cAAcl5B,KAAK6M,OAAOvL,EAAEjB,UAAUg5B,KAAK,WAAW,IAAIv5B,EAAEE,KAAK,GAAGA,KAAK8M,SAAS9M,KAAKqC,OAAO,MAAM,GAAG,IAAI,IAAItC,EAAE,GAAGuB,EAAE,EAAEQ,EAAE,EAAEa,EAAE3C,KAAK6M,KAAKI,MAAM,MAAMnL,EAAEa,EAAEqB,OAAOlC,IAAI,IAAI,IAAIC,EAAEY,EAAEb,GAAGmL,MAAM,KAAKC,QAAM,SAAWnN,EAAEuB,GAAG,IAAIQ,EAAE/B,EAAEA,EAAEiE,OAAO,IAAIjE,EAAEA,EAAEiE,OAAO,GAAGA,OAAO,EAAE,IAAI,IAAI1C,EAAE,OAAOQ,EAAEkC,QAAQlE,EAAEgN,SAAShN,EAAEkN,eAAelN,EAAEsC,MAAMrC,EAAEiJ,KAAK1H,GAAGvB,EAAEA,EAAEiE,OAAO,GAAGlC,EAAE/B,IAAI,CAAC,KAAKkF,EAAE,EAAEC,EAAEnD,EAAEkD,EAAEC,EAAElB,OAAOiB,IAAI,CAAC,IAAIrC,EAAEsC,EAAED,GAAG,IAAI3D,GAAGtB,KAAK8M,SAAS9M,KAAK+M,gBAAgB/M,KAAKqC,OAAO,OAAOtC,EAAEmxB,KAAK,MAAMnxB,EAAEiJ,KAAKpG,GAAG,OAAO7C,EAAEmxB,KAAK,OAAO5vB,EAApqF,CAAuqFL,GAAGq4B,GAAG,SAASx5B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAE04B,OAAO,IAAI9G,GAAG5xB,EAAE2M,SAAS,IAAIolB,GAAG/xB,EAAE24B,QAAQ,EAAE34B,EAAE00B,cAAc,IAAI9C,GAAG5xB,EAAEw2B,aAAa,IAAI5E,GAAG5xB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAUwJ,KAAK,SAAS/J,GAAG,IAAIC,EAAEuB,EAAEQ,EAAEa,EAAEZ,EAAEa,EAAEuG,EAAEnJ,KAAKsN,MAAMxN,EAAEwN,MAAMtN,KAAK2X,MAAM7X,EAAE6X,MAAM3X,KAAKoC,MAAM,QAAQrC,EAAED,EAAEsC,aAAQ,IAASrC,EAAEA,EAAE,EAAEC,KAAKqC,OAAO,QAAQf,EAAExB,EAAEuC,cAAS,IAASf,EAAEA,EAAE,EAAEtB,KAAKuN,OAAO,QAAQzL,EAAEhC,EAAEyN,cAAS,IAASzL,EAAEA,EAAE,EAAE9B,KAAKy4B,OAAO,QAAQ91B,EAAE7C,EAAE24B,cAAS,IAAS91B,EAAEA,EAAE3C,KAAKy4B,OAAOz4B,KAAK0M,SAAS,QAAQ3K,EAAEjC,EAAE4M,gBAAW,IAAS3K,EAAEA,EAAE/B,KAAK0M,SAAS1M,KAAK04B,QAAQ,QAAQ91B,EAAE9C,EAAE44B,eAAU,IAAS91B,EAAEA,EAAE5C,KAAK04B,QAAQ14B,KAAK6P,MAAM/P,EAAE+P,MAAM7P,KAAKqP,WAAW,CAACb,KAAKtJ,EAAE6G,KAAK8D,MAAM,QAAQ1G,EAAEnJ,KAAK6P,aAAQ,IAAS1G,EAAEA,EAAEnJ,KAAKwK,WAAWqF,MAAMtB,SAASvO,KAAKwK,WAAWmqB,GAAG1vB,EAAE0G,SAAS1G,EAAEyG,WAAWpJ,SAAS,IAAIqvB,GAAGvvB,MAAM,EAAEC,OAAO,EAAEkL,OAAO,EAAEoK,MAAM,GAAGrK,MAAMtN,KAAKsN,QAAQhM,EAAEjB,UAAUuH,OAAO,WAAW,IAAI9H,EAAEE,KAAKqP,WAAWd,SAASvO,KAAKwK,WAAWmqB,GAAG1vB,EAAE0G,SAAS1G,EAAEyG,WAAW1L,KAAKqP,WAAWQ,MAAM,QAAQ/P,EAAEE,KAAK6P,aAAQ,IAAS/P,EAAEA,EAAEE,KAAKwK,WAAWqF,MAAM7P,KAAKqP,WAAW/B,MAAMtN,KAAKsN,MAAMtN,KAAKqP,WAAWjN,MAAMpC,KAAKoC,MAAM1B,KAAKiM,IAAI3M,KAAKwK,WAAWgqB,UAAU9yB,MAAMV,GAAGhB,KAAKqP,WAAWhN,OAAOrC,KAAKqC,OAAO3B,KAAKiM,IAAI3M,KAAKwK,WAAWgqB,UAAU9yB,MAAMT,GAAGjB,KAAKqP,WAAWsI,MAAM3X,KAAK2X,MAAM3X,KAAKqP,WAAW3C,SAAS1M,KAAKwK,WAAWgqB,UAAU9nB,SAAS3J,QAAQ/C,KAAK0M,SAAS3J,QAAQ/C,KAAKqP,WAAWmJ,MAAMxY,KAAK04B,QAAQ14B,KAAKqP,WAAW9B,OAAOvN,KAAKuN,OAAO7M,KAAKiM,IAAIjM,KAAKyM,IAAInN,KAAKwK,WAAWgqB,UAAU9yB,MAAMV,EAAEhB,KAAKwK,WAAWgqB,UAAU9yB,MAAMT,IAAIjB,KAAK+4B,0BAA0B/4B,KAAKqF,cAAckK,cAAcvP,KAAKqP,aAAa/N,EAAEjB,UAAU04B,wBAAwB,WAAW/4B,KAAKu2B,aAAah2B,IAAIP,KAAKy4B,OAAOz3B,EAAEhB,KAAKwK,WAAWgqB,UAAU9yB,MAAMV,EAAEhB,KAAKy4B,OAAOx3B,EAAEjB,KAAKwK,WAAWgqB,UAAU9yB,MAAMT,GAAG0wB,GAAGtwB,IAAIrB,KAAKqP,WAAW/M,SAAStC,KAAKwK,WAAWgqB,UAAUlyB,SAAStC,KAAKu2B,cAAc,IAAIv2B,KAAKwK,WAAWgqB,UAAU9nB,SAAS3J,SAAS/C,KAAKg5B,2BAA2B13B,EAAEjB,UAAU24B,wBAAwB,WAAWrH,GAAGpwB,SAASvB,KAAKy0B,cAAcz0B,KAAKqP,WAAW/M,SAAStC,KAAKwK,WAAWgqB,UAAUlyB,UAAU,IAAIxC,EAAEY,KAAK6yB,MAAMvzB,KAAKy0B,cAAcxzB,EAAEjB,KAAKy0B,cAAczzB,GAAGhB,KAAKwK,WAAWgqB,UAAU9nB,SAAS3J,QAAQ/C,KAAKqP,WAAW/M,SAAS/B,IAAIP,KAAKwK,WAAWgqB,UAAUlyB,SAAStB,EAAEhB,KAAKy0B,cAAcjzB,UAAUd,KAAKyC,IAAIrD,GAAGE,KAAKwK,WAAWgqB,UAAUlyB,SAASrB,EAAEjB,KAAKy0B,cAAcjzB,UAAUd,KAAK0C,IAAItD,KAAKwB,EAAtxE,CAAyxEL,GAAGs4B,GAAG,CAAC,QAAQ,cAAc,WAAW,WAAW,YAAY,UAAU,YAAY,WAAW,UAAU,SAASC,GAAG,SAAS15B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAE00B,cAAc,IAAI9C,GAAG5xB,EAAEw2B,aAAa,IAAI5E,GAAG5xB,EAAE05B,UAAS,EAAG15B,EAAE25B,SAAQ,EAAG35B,EAAE45B,kBAAkB,SAAS75B,GAAG,UAAUA,EAAE0O,OAAOzO,EAAE05B,UAAS,EAAG15B,EAAE4b,MAAMie,oBAAoB,QAAQ75B,EAAE45B,qBAAqB55B,EAAE85B,sBAAsB,WAAWN,GAAGzwB,SAAS,SAAShJ,GAAG6G,OAAOizB,oBAAoB95B,EAAEC,EAAE85B,0BAA0B95B,EAAE4b,OAAO5b,EAAE05B,UAAU15B,EAAE4b,MAAMme,QAAQ/5B,EAAE,OAAOA,EAAEuB,EAAExB,GAAGK,OAAOC,eAAekB,EAAEjB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAK+5B,SAASx5B,IAAI,SAAST,GAAGE,KAAK+5B,QAAQj6B,EAAEE,KAAK2b,QAAQ3b,KAAK2b,MAAMqe,OAAOl6B,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,OAAO,CAACC,IAAI,WAAW,OAAON,KAAKi6B,OAAO15B,IAAI,SAAST,GAAGE,KAAKi6B,MAAMn6B,EAAEE,KAAK2b,QAAQ3b,KAAK2b,MAAMue,KAAKp6B,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKy5B,UAAUj5B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAK05B,SAASl5B,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAUwJ,KAAK,SAAS/J,GAAG,IAAIC,EAAEuB,EAAEQ,EAAEa,EAAEZ,EAAEa,EAAEuG,EAAEkB,EAAEY,EAAEC,EAAElL,KAAK2b,MAAM7b,EAAE6b,MAAM3b,KAAKoC,MAAM,QAAQrC,EAAED,EAAEsC,aAAQ,IAASrC,EAAEA,EAAEC,KAAK2b,MAAMC,WAAW5b,KAAKqC,OAAO,QAAQf,EAAExB,EAAEuC,cAAS,IAASf,EAAEA,EAAEtB,KAAK2b,MAAME,YAAY7b,KAAKy4B,OAAO,QAAQ32B,EAAEhC,EAAE24B,cAAS,IAAS32B,EAAEA,EAAE,IAAI6vB,GAAG3xB,KAAK0M,SAAS,QAAQ/J,EAAE7C,EAAE4M,gBAAW,IAAS/J,EAAEA,EAAE,IAAImvB,GAAG9xB,KAAKmZ,eAAe,QAAQpX,EAAEjC,EAAEqZ,sBAAiB,IAASpX,GAAGA,EAAE/B,KAAKoZ,aAAa,QAAQxW,EAAE9C,EAAEsZ,oBAAe,IAASxW,GAAGA,EAAE5C,KAAK04B,QAAQ,QAAQvvB,EAAErJ,EAAE44B,eAAU,IAASvvB,EAAEA,EAAE,EAAEnJ,KAAK6Z,UAAU/Z,EAAE+Z,UAAU7Z,KAAK8Z,aAAa,QAAQzP,EAAEvK,EAAEga,oBAAe,IAASzP,EAAEA,EAAE,EAAErK,KAAK4Z,UAAU9Z,EAAE8Z,UAAU5Z,KAAK6P,MAAM/P,EAAE+P,MAAM7P,KAAKkE,MAAMpE,EAAEoE,MAAMlE,KAAK+5B,QAAQ,QAAQ9uB,EAAEnL,EAAEk6B,cAAS,IAAS/uB,EAAEA,EAAE,EAAEjL,KAAKi6B,MAAM,QAAQ/uB,EAAEpL,EAAEo6B,YAAO,IAAShvB,GAAGA,EAAElL,KAAKqP,WAAW,CAACb,KAAKtJ,EAAE+G,MAAMsC,SAAStJ,EAAEyG,WAAWmE,MAAM,GAAGvN,SAAS,IAAIqvB,GAAGhW,MAAM3b,KAAK2b,MAAMvZ,MAAMpC,KAAKoC,MAAMC,OAAOrC,KAAKqC,SAASf,EAAEjB,UAAUy5B,KAAK,WAAW,IAAIh6B,EAAEE,KAAK,IAAIA,KAAK2b,QAAQ3b,KAAK2b,MAAM8N,aAAazpB,KAAKy5B,WAAU,IAAKz5B,KAAK05B,SAAS,CAAC,GAAG15B,KAAK05B,QAAQ,OAAO15B,KAAK05B,SAAQ,OAAQ15B,KAAK2b,MAAMme,OAAO95B,KAAK2b,MAAMue,KAAKl6B,KAAKi6B,MAAMj6B,KAAK2b,MAAMqe,OAAOh6B,KAAK+5B,QAAQ/5B,KAAK2b,MAAMU,iBAAiB,QAAQrc,KAAK25B,mBAAmB35B,KAAKy5B,UAAS,EAAG,IAAI15B,EAAEC,KAAK2b,MAAMme,YAAO,IAAS/5B,GAAGA,EAAE8pB,OAAO,WAAW0P,GAAGzwB,SAAO,SAAW/I,GAAG,OAAO4G,OAAO0V,iBAAiBtc,EAAED,EAAE+5B,+BAA+Bv4B,EAAEjB,UAAUgG,KAAK,WAAWrG,KAAKy5B,WAAWz5B,KAAK2b,MAAMxV,QAAQnG,KAAK2b,MAAMwe,YAAY,EAAEn6B,KAAK2b,MAAMie,oBAAoB,QAAQ55B,KAAK25B,mBAAmB35B,KAAKy5B,UAAS,EAAGz5B,KAAK05B,SAAQ,IAAKp4B,EAAEjB,UAAU8F,MAAM,WAAWnG,KAAKy5B,WAAU,IAAKz5B,KAAK05B,UAAU15B,KAAK2b,MAAMxV,QAAQnG,KAAK05B,SAAQ,IAAKp4B,EAAEjB,UAAUuH,OAAO,WAAW,IAAI9H,EAAEE,KAAK2b,OAAO3b,KAAK2b,MAAM8N,WAAWzpB,KAAKqP,WAAWd,SAASvO,KAAKwK,WAAWmqB,GAAG1vB,EAAE0G,SAAS1G,EAAEyG,WAAW1L,KAAKqP,WAAWQ,MAAM,QAAQ/P,EAAEE,KAAK6P,aAAQ,IAAS/P,EAAEA,EAAEE,KAAKwK,WAAWqF,MAAM7P,KAAKqP,WAAWsM,MAAM3b,KAAK2b,MAAM3b,KAAKqP,WAAWjN,MAAMpC,KAAKoC,MAAM1B,KAAKiM,IAAI3M,KAAKwK,WAAWgqB,UAAU9yB,MAAMV,GAAGhB,KAAKqP,WAAWhN,OAAOrC,KAAKqC,OAAO3B,KAAKiM,IAAI3M,KAAKwK,WAAWgqB,UAAU9yB,MAAMT,GAAGjB,KAAKqP,WAAWnL,MAAMlE,KAAKkE,MAAMlE,KAAKqP,WAAW8J,eAAenZ,KAAKmZ,iBAAiBnZ,KAAKwK,WAAWgqB,UAAU9yB,MAAMV,EAAE,EAAEhB,KAAKqP,WAAW+J,aAAapZ,KAAKoZ,eAAepZ,KAAKwK,WAAWgqB,UAAU9yB,MAAMT,EAAE,EAAEjB,KAAKqP,WAAW3C,SAAS1M,KAAKwK,WAAWgqB,UAAU9nB,SAAS3J,QAAQ/C,KAAK0M,SAAS3J,QAAQ/C,KAAKqP,WAAWmJ,MAAMxY,KAAK04B,QAAQ14B,KAAKqP,WAAWwK,UAAU7Z,KAAK6Z,UAAU7Z,KAAKqP,WAAWyK,aAAa9Z,KAAK8Z,aAAa9Z,KAAKqP,WAAWuK,UAAU5Z,KAAK4Z,UAAU5Z,KAAK+4B,0BAA0B/4B,KAAKqF,cAAckK,cAAcvP,KAAKqP,cAAc/N,EAAEjB,UAAU04B,wBAAwB,WAAW/4B,KAAKu2B,aAAah2B,IAAIP,KAAKy4B,OAAOz3B,EAAEhB,KAAKwK,WAAWgqB,UAAU9yB,MAAMV,EAAEhB,KAAKy4B,OAAOx3B,EAAEjB,KAAKwK,WAAWgqB,UAAU9yB,MAAMT,GAAG0wB,GAAGtwB,IAAIrB,KAAKqP,WAAW/M,SAAStC,KAAKwK,WAAWgqB,UAAUlyB,SAAStC,KAAKu2B,cAAc,IAAIv2B,KAAKwK,WAAWgqB,UAAU9nB,SAAS3J,SAAS/C,KAAKg5B,2BAA2B13B,EAAEjB,UAAU24B,wBAAwB,WAAWrH,GAAGpwB,SAASvB,KAAKy0B,cAAcz0B,KAAKqP,WAAW/M,SAAStC,KAAKwK,WAAWgqB,UAAUlyB,UAAU,IAAIxC,EAAEY,KAAK6yB,MAAMvzB,KAAKy0B,cAAcxzB,EAAEjB,KAAKy0B,cAAczzB,GAAGhB,KAAKwK,WAAWgqB,UAAU9nB,SAAS3J,QAAQ/C,KAAKqP,WAAW/M,SAAS/B,IAAIP,KAAKwK,WAAWgqB,UAAUlyB,SAAStB,EAAEhB,KAAKy0B,cAAcjzB,UAAUd,KAAKyC,IAAIrD,GAAGE,KAAKwK,WAAWgqB,UAAUlyB,SAASrB,EAAEjB,KAAKy0B,cAAcjzB,UAAUd,KAAK0C,IAAItD,KAAKwB,EAAEjB,UAAUqK,eAAe,YAAW,IAAK1K,KAAK6I,QAAQ7I,KAAKqG,QAAQ/E,EAAEjB,UAAUyJ,UAAU,WAAW9J,KAAKqG,QAAQ/E,EAAv2I,CAA02IL,GAAGm5B,GAAG,SAASt6B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEgO,MAAM,GAAGhO,EAAEs6B,UAAS,EAAGt6B,EAAEu6B,eAAe,GAAGv6B,EAAEw6B,OAAO,GAAGx6B,EAAEw3B,gBAAgB,EAAEx3B,EAAEy3B,iBAAiB,EAAEz3B,EAAEsP,WAAW,GAAGtP,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAUwJ,KAAK,SAAS/J,GAAG,IAAIC,EAAEC,KAAKsB,EAAExB,EAAE06B,UAAU14B,EAAEhC,EAAE26B,aAAa93B,EAAE7C,EAAEkb,QAAQjZ,EAAEjC,EAAEmO,UAAUhJ,EAAEnF,EAAEoO,WAAWhJ,EAAEpF,EAAE+P,MAAMjN,EAAE9C,EAAE2Z,OAAO,GAAGzZ,KAAKw6B,UAAUl5B,EAAEtB,KAAKgb,QAAQrY,EAAE3C,KAAKiO,UAAU,MAAMlM,EAAEA,EAAE/B,KAAKgb,QAAQ/M,UAAUjO,KAAKuJ,WAAW0oB,mBAAmBjxB,EAAEhB,KAAKkO,WAAW,MAAMjJ,EAAEA,EAAEjF,KAAKgb,QAAQ9M,WAAWlO,KAAKuJ,WAAW0oB,mBAAmBhxB,EAAEjB,KAAK6P,MAAM3K,EAAElF,KAAKyZ,OAAO,MAAM7W,GAAGA,EAAE5C,KAAK06B,WAAW16B,KAAKw6B,UAAU5qB,OAAOyZ,MAAI,SAAWvpB,GAAG,OAAOA,EAAE2K,OAAO3I,MAAM9B,KAAK06B,WAAW,MAAM,IAAIlM,GAAG,yBAAyBxuB,KAAKoC,MAAM,EAAEpC,KAAKqC,OAAO,EAAErC,KAAKw6B,UAAU5qB,OAAO9G,SAAO,SAAWhJ,GAAGC,EAAEqC,MAAM1B,KAAKyM,IAAIpN,EAAEqC,MAAMtC,EAAEsC,OAAOrC,EAAEsC,OAAO3B,KAAKyM,IAAIpN,EAAEsC,OAAOvC,EAAEuC,WAAWrC,KAAK26B,kBAAkBr5B,EAAEjB,UAAUuH,OAAO,WAAW,IAAI9H,EAAEE,KAAKA,KAAK84B,mBAAmB94B,KAAKqP,WAAWvG,SAAO,SAAW/I,GAAG,OAAOD,EAAEuF,cAAckK,cAAcxP,OAAOuB,EAAEjB,UAAUs6B,eAAe,WAAW,IAAI76B,EAAEE,MAAK,IAAKA,KAAK06B,WAAWE,UAAU56B,KAAK04B,QAAQ14B,KAAK06B,WAAWhC,QAAQ14B,KAAK4Z,UAAU5Z,KAAK06B,WAAWG,UAAU76B,KAAKw6B,UAAUH,UAAUr6B,KAAKq6B,UAAS,EAAGr6B,KAAK06B,WAAWH,OAAO9qB,MAAM,SAAS3P,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEiB,KAAKyO,MAAM,SAAS3P,EAAEC,GAAG,OAAOD,EAAEmB,EAAElB,EAAEkB,KAAK6H,SAAS,SAAS/I,GAAG,OAAOD,EAAEg7B,aAAa/6B,OAAOC,KAAK+6B,qBAAqB/6B,KAAK84B,mBAAmB94B,KAAKs6B,eAAe,IAAIh5B,EAAEjB,UAAU06B,kBAAkB,WAAW,IAAIj7B,EAAEC,EAAEC,KAAKA,KAAK+N,MAAM/N,KAAK06B,WAAWM,KAAK3sB,KAAG,SAAWvO,GAAG,OAAOC,EAAEk7B,iBAAiBn7B,MAAME,KAAKqP,WAAWrG,KAAK,CAACwF,KAAKtJ,EAAE4G,QAAQ+D,MAAM,QAAQ/P,EAAEE,KAAK6P,aAAQ,IAAS/P,EAAEA,EAAEE,KAAKwK,WAAWqF,MAAMtB,SAASvO,KAAKwK,WAAWmqB,GAAG1vB,EAAE0G,SAAS1G,EAAEyG,WAAWpJ,SAAS,IAAIqvB,GAAG3W,QAAQhb,KAAKgb,QAAQnN,QAAQ,CAACzL,MAAMpC,KAAKoC,MAAM6L,UAAUjO,KAAKiO,UAAUC,WAAWlO,KAAKkO,YAAYH,MAAM/N,KAAK+N,MAAMkC,YAAYtB,EAAEE,OAAO4K,OAAOzZ,KAAKyZ,UAAUnY,EAAEjB,UAAUy6B,aAAa,SAASh7B,GAAG,IAAIC,EAAEuB,EAAEtB,KAAK8B,EAAE,CAAC0M,KAAKtJ,EAAE4G,QAAQ+D,MAAM,QAAQ9P,EAAEC,KAAK6P,aAAQ,IAAS9P,EAAEA,EAAEC,KAAKwK,WAAWqF,MAAMtB,SAASvO,KAAKwK,WAAWmqB,GAAG1vB,EAAE0G,SAAS1G,EAAEyG,WAAWpJ,SAAS,IAAIqvB,GAAG3W,QAAQhb,KAAKgb,QAAQnN,QAAQ,CAACzL,MAAMtC,EAAEsC,MAAM6L,UAAUjO,KAAKiO,UAAUC,WAAWlO,KAAKkO,YAAYH,MAAMjO,EAAEk7B,KAAK3sB,KAAK,SAASvO,GAAG,OAAOwB,EAAE25B,iBAAiBn7B,MAAMmQ,YAAYtB,EAAEE,OAAO4K,OAAOzZ,KAAKyZ,QAAQ3X,EAAEiM,MAAMjF,SAAO,SAAW/I,EAAE+B,GAAGR,EAAEyM,MAAMzM,EAAEc,OAAOtC,EAAEmB,EAAEP,KAAK+a,MAAM3Z,EAAEhC,EAAEsC,QAAQtC,EAAEkB,EAAEc,EAAEhC,EAAEsC,OAAOrC,KAAKC,KAAKqP,WAAWrG,KAAKlH,GAAG9B,KAAKu6B,OAAOvxB,KAAKlJ,IAAIwB,EAAEjB,UAAU46B,iBAAiB,SAASn7B,GAAG,OAAOE,KAAKs6B,eAAex6B,KAAKE,KAAKs6B,eAAex6B,GAAGE,KAAKw6B,UAAUU,SAAShuB,QAAQ,SAASnN,EAAEuB,GAAG,OAAOxB,GAAGwB,EAAE65B,SAASr7B,EAAEwB,EAAE65B,SAAS,EAAEp7B,IAAI,IAAIC,KAAKs6B,eAAex6B,IAAIwB,EAAEjB,UAAUy4B,iBAAiB,WAAW,IAAIh5B,EAAEE,KAAKA,KAAKu3B,gBAAgBv3B,KAAKiO,UAAUjO,KAAKwK,WAAWgqB,UAAU9yB,MAAMV,EAAEhB,KAAKw3B,iBAAiBx3B,KAAKkO,WAAWlO,KAAKwK,WAAWgqB,UAAU9yB,MAAMT,EAAEjB,KAAK+P,UAAU/P,KAAKoC,MAAMpC,KAAKu3B,gBAAgBv3B,KAAKgQ,WAAWhQ,KAAKqC,OAAOrC,KAAKw3B,iBAAiBx3B,KAAKqP,WAAWvG,SAAS,SAAS/I,EAAEuB,GAAG,IAAIQ,EAAE,GAAG/B,EAAE8P,MAAM,QAAQ/N,EAAEhC,EAAE+P,aAAQ,IAAS/N,EAAEA,EAAEhC,EAAE0K,WAAWqF,MAAM/P,EAAEu6B,SAAS,CAAC,IAAI13B,EAAE7C,EAAEy6B,OAAOj5B,GAAGvB,EAAEuC,SAAS/B,IAAIT,EAAE0K,WAAWgqB,UAAUlyB,SAAStB,EAAElB,EAAEiQ,UAAU,GAAGpN,EAAE3B,EAAE2B,EAAEP,MAAM,GAAGtC,EAAEy3B,gBAAgBz3B,EAAE0K,WAAWgqB,UAAUlyB,SAASrB,EAAEnB,EAAEkQ,WAAW,GAAGrN,EAAE1B,EAAE0B,EAAEN,OAAO,GAAGvC,EAAE03B,uBAAuBz3B,EAAEuC,SAASvB,KAAKjB,EAAE0K,WAAWgqB,UAAUlyB,UAAUvC,EAAE8N,QAAQI,UAAUnO,EAAEy3B,gBAAgBx3B,EAAE8N,QAAQK,WAAWpO,EAAE03B,iBAAiBz3B,EAAE6Z,UAAU9Z,EAAE8Z,UAAU7Z,EAAEyY,MAAM1Y,EAAE44B,YAAYp3B,EAA/3G,CAAk4GL,GAAGm6B,GAAG,SAASt7B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEgO,MAAM,GAAGhO,EAAEw3B,gBAAgB,EAAEx3B,EAAEy3B,iBAAiB,EAAEz3B,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAUwJ,KAAK,SAAS/J,GAAG,IAAIC,EAAEuB,EAAEtB,KAAK8B,EAAEhC,EAAEiO,MAAMpL,EAAE7C,EAAEkb,QAAQjZ,EAAEjC,EAAEmO,UAAUrL,EAAE9C,EAAEoO,WAAW/E,EAAErJ,EAAEsC,MAAMiI,EAAEvK,EAAE+P,MAAM5E,EAAEnL,EAAE44B,QAAQxtB,EAAEpL,EAAE8Z,UAAUzO,EAAErL,EAAE2Z,OAAO3X,EAAEmL,MAAM,MAAMnE,SAAO,SAAWhJ,GAAGA,EAAEmN,MAAM,KAAKnE,kBAAkBhJ,GAAG,OAAOA,EAAEu7B,OAAOr3B,OAAO,EAAE1C,EAAEyM,MAAM/E,KAAKwE,OAAO1N,IAAI,WAAWE,KAAKgb,QAAQrY,EAAE3C,KAAKoC,MAAM+G,EAAEnJ,KAAKiO,UAAU,MAAMlM,EAAEA,EAAE/B,KAAKgb,QAAQ/M,UAAUjO,KAAKuJ,WAAW0oB,mBAAmBjxB,EAAEhB,KAAKkO,WAAW,MAAMtL,EAAEA,EAAE5C,KAAKgb,QAAQ9M,WAAWlO,KAAKuJ,WAAW0oB,mBAAmBhxB,EAAEjB,KAAK6P,MAAMxF,EAAErK,KAAKqC,OAAO3B,KAAKoN,KAAK9N,KAAK+N,MAAM/J,OAAOhE,KAAKoC,OAAOpC,KAAK04B,QAAQztB,EAAEjL,KAAK4Z,UAAU1O,EAAElL,KAAKqP,WAAW,CAACb,KAAKtJ,EAAE4G,QAAQ+D,MAAM,QAAQ9P,EAAEC,KAAK6P,aAAQ,IAAS9P,EAAEA,EAAEC,KAAKwK,WAAWqF,MAAMtB,SAASvO,KAAKwK,WAAWmqB,GAAG1vB,EAAE0G,SAAS1G,EAAEyG,WAAWpJ,SAAS,IAAIqvB,GAAG3W,QAAQhb,KAAKgb,QAAQnN,QAAQ,CAACzL,MAAMpC,KAAKoC,MAAM6L,UAAUjO,KAAKiO,UAAUC,WAAWlO,KAAKkO,YAAYH,MAAM/N,KAAK+N,MAAMkC,YAAYtB,EAAEE,OAAO4K,OAAOtO,GAAGnL,KAAK84B,oBAAoBx3B,EAAEjB,UAAUuH,OAAO,WAAW5H,KAAK84B,mBAAmB94B,KAAKqF,cAAckK,cAAcvP,KAAKqP,aAAa/N,EAAEjB,UAAUy4B,iBAAiB,WAAW,IAAIh5B,EAAEE,KAAKu3B,gBAAgBv3B,KAAKiO,UAAUjO,KAAKwK,WAAWgqB,UAAU9yB,MAAMV,EAAEhB,KAAKw3B,iBAAiBx3B,KAAKkO,WAAWlO,KAAKwK,WAAWgqB,UAAU9yB,MAAMT,EAAEjB,KAAK+P,UAAU/P,KAAKoC,MAAMpC,KAAKu3B,gBAAgBv3B,KAAKgQ,WAAWhQ,KAAKqC,OAAOrC,KAAKw3B,iBAAiBx3B,KAAKqP,WAAWQ,MAAM,QAAQ/P,EAAEE,KAAK6P,aAAQ,IAAS/P,EAAEA,EAAEE,KAAKwK,WAAWqF,MAAM7P,KAAKqP,WAAW/M,SAASvB,KAAKf,KAAKwK,WAAWgqB,UAAUlyB,UAAUtC,KAAKqP,WAAWuK,UAAU5Z,KAAK4Z,UAAU5Z,KAAKqP,WAAWmJ,MAAMxY,KAAK04B,QAAQ14B,KAAKqP,WAAWxB,QAAQI,UAAUjO,KAAKu3B,gBAAgBv3B,KAAKqP,WAAWxB,QAAQK,WAAWlO,KAAKw3B,kBAAkBl2B,EAAxvD,CAA2vDL,GAAGq6B,GAAG,SAASx7B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEw7B,eAAe,KAAKx7B,EAAEy7B,WAAW,IAAI1qB,IAAI/Q,EAAE07B,iBAAiB,KAAK17B,EAAE27B,QAAO,EAAG37B,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAUwJ,KAAK,SAAS/J,GAAG,IAAIC,EAAED,EAAEy7B,eAAev7B,KAAKu7B,eAAex7B,GAAGuB,EAAEjB,UAAUuH,OAAO,WAAW,OAAO5H,KAAKy7B,kBAAkBz7B,KAAK07B,SAAS17B,KAAKy7B,iBAAiBE,UAAU37B,KAAKmF,YAAYy2B,YAAW,IAAK57B,KAAKy7B,iBAAiBI,YAAW,IAAK77B,KAAKy7B,iBAAiBvB,KAAKl6B,KAAKy7B,iBAAiB,KAAKz7B,KAAKu7B,eAAe/C,OAAOx4B,KAAKy7B,iBAAiBjD,SAASl3B,EAAEjB,UAAUy7B,aAAa,SAASh8B,EAAEC,EAAEuB,GAAG,YAAO,IAASvB,IAAIA,EAAE,WAAWD,EAAEi8B,UAAU,MAAMz6B,EAAEA,EAAExB,EAAEi8B,UAAU/7B,KAAKw7B,WAAWj7B,IAAIR,EAAE,IAAIi8B,GAAGl8B,IAAIE,MAAMsB,EAAEjB,UAAU47B,cAAc,SAASn8B,GAAG,QAAG,IAASA,IAAIA,EAAE,YAAW,IAAKE,KAAK6I,OAAO,CAAC,IAAG,IAAK7I,KAAKw7B,WAAWxqB,IAAIlR,GAAG,MAAM,IAAI0uB,GAAG,uBAAuBrqB,OAAOrE,EAAE,qBAAqBE,KAAKk8B,gBAAgBl8B,KAAKy7B,iBAAiBz7B,KAAKw7B,WAAWl7B,IAAIR,KAAKwB,EAAEjB,UAAU8F,MAAM,WAAWnG,KAAK07B,QAAO,GAAIp6B,EAAEjB,UAAU+F,OAAO,WAAWpG,KAAK07B,QAAO,GAAIp6B,EAAEjB,UAAU67B,cAAc,WAAW,OAAOl8B,KAAKy7B,mBAAmBz7B,KAAKy7B,iBAAiBU,QAAQn8B,KAAKy7B,iBAAiB,KAAKz7B,KAAK07B,QAAO,IAAKp6B,EAAEjB,UAAU+7B,mBAAmB,SAASt8B,GAAG,YAAO,IAASA,IAAIA,EAAE,WAAW,OAAOE,KAAKy7B,kBAAkBz7B,KAAKw7B,WAAWl7B,IAAIR,IAAIE,KAAKw7B,WAAWl7B,IAAIR,KAAKE,KAAKy7B,kBAAkBn6B,EAAEjB,UAAUg8B,SAAS,WAAW,OAAOr8B,KAAK07B,QAAQp6B,EAAr3C,CAAw3C2J,GAAG+wB,GAAG,WAAW,SAASl8B,EAAEA,GAAGE,KAAKs8B,QAAQ,KAAKt8B,KAAKu8B,YAAW,EAAGv8B,KAAKw8B,aAAa,EAAEx8B,KAAKy8B,UAAU,EAAEz8B,KAAK08B,WAAW58B,EAAE,OAAOK,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKs8B,SAAS97B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKu8B,YAAY/7B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,OAAO,CAACC,IAAI,WAAW,OAAON,KAAK08B,WAAWxC,MAAM15B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAK08B,YAAYl8B,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAU87B,MAAM,WAAWn8B,KAAKw8B,aAAa,EAAEx8B,KAAKy8B,UAAU,EAAEz8B,KAAKu8B,YAAW,GAAIz8B,EAAEO,UAAUs7B,UAAU,SAAS77B,GAAGE,KAAKu8B,YAAW,EAAGv8B,KAAKy8B,WAAW,EAAEz8B,KAAK08B,WAAWX,YAAY/7B,KAAKy8B,UAAU,EAAEz8B,KAAKw8B,aAAax8B,KAAKw8B,aAAa,IAAIx8B,KAAK08B,WAAWC,QAAQ34B,OAAO,EAAEhE,KAAKw8B,aAAa,EAAEx8B,KAAKu8B,WAAW,IAAIv8B,KAAKw8B,cAAcx8B,KAAKs8B,QAAQt8B,KAAK08B,WAAWC,QAAQ38B,KAAKw8B,cAAcx8B,KAAKy8B,WAAW38B,GAAGA,EAAv+B,GAA4+B88B,GAAG,CAAC,QAAQ,cAAc,WAAW,WAAW,YAAY,UAAU,YAAY,WAAW,UAAU,SAASC,GAAG,SAAS/8B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEuK,eAAc,EAAGvK,EAAE+8B,OAAO,GAAG/8B,EAAEg9B,iBAAiB,IAAIjsB,IAAI/Q,EAAE05B,UAAS,EAAG15B,EAAE25B,SAAQ,EAAG35B,EAAEi9B,kBAAkB,SAASl9B,GAAG,UAAUA,EAAE0O,OAAOzO,EAAE05B,UAAS,EAAG15B,EAAEk9B,aAAarD,oBAAoB,QAAQ75B,EAAEi9B,qBAAqBj9B,EAAE85B,sBAAsB,WAAW+C,GAAG9zB,SAAO,SAAWhJ,GAAG6G,OAAOizB,oBAAoB95B,EAAEC,EAAE85B,0BAA0B95B,EAAEm9B,aAAa92B,SAASrG,EAAEk9B,cAAcl9B,EAAE05B,UAAU15B,EAAEk9B,aAAanD,QAAQ/5B,EAAE,OAAOA,EAAEuB,EAAExB,GAAGK,OAAOC,eAAekB,EAAEjB,UAAU,cAAc,CAACC,IAAI,WAAW,OAAON,KAAKi9B,cAAcz8B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAK+5B,SAASx5B,IAAI,SAAST,GAAGE,KAAK+5B,QAAQj6B,EAAEE,KAAKi9B,eAAej9B,KAAKi9B,aAAajD,OAAOl6B,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,OAAO,CAACC,IAAI,WAAW,OAAON,KAAKi6B,OAAO15B,IAAI,SAAST,GAAGE,KAAKi6B,MAAMn6B,EAAEE,KAAKi9B,eAAej9B,KAAKi9B,aAAa/C,KAAKp6B,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKy5B,UAAUj5B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAK05B,SAASl5B,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAUwJ,KAAK,SAAS/J,GAAG,IAAIC,EAAEC,KAAKsB,OAAE,IAASxB,EAAE,GAAGA,EAAEgC,EAAER,EAAE44B,KAAKv3B,EAAErB,EAAE04B,OAAOh6B,KAAKk9B,aAAa,IAAIC,aAAa,YAAYn9B,KAAKk9B,aAAaE,OAAOR,GAAG9zB,SAAO,SAAWhJ,GAAG,OAAO6G,OAAO0V,iBAAiBvc,EAAEC,EAAE85B,0BAA0B75B,KAAK+5B,QAAQ,MAAMp3B,EAAEA,EAAE,EAAE3C,KAAKi6B,MAAM,MAAMn4B,GAAGA,GAAGR,EAAEjB,UAAUg9B,SAAS,SAASv9B,EAAEC,GAAGD,EAAEq6B,YAAY,IAAIr6B,EAAEq6B,YAAY,GAAGr6B,EAAEk6B,OAAO,MAAMj6B,EAAEA,EAAEC,KAAK+5B,QAAQj6B,EAAEg6B,QAAQx4B,EAAEjB,UAAUi9B,eAAe,SAASx9B,EAAEC,QAAG,IAASA,IAAIA,EAAE,WAAW,IAAIuB,EAAExB,EAAEy9B,YAAYv9B,KAAK+8B,iBAAiBx8B,IAAIR,EAAEuB,GAAG,IAAIQ,EAAE9B,KAAKk9B,aAAaM,yBAAyBl8B,GAAGQ,EAAE27B,QAAQz9B,KAAKk9B,aAAaQ,aAAa19B,KAAK88B,OAAO9zB,KAAKlH,IAAIR,EAAEjB,UAAUs9B,gBAAgB,SAAS79B,EAAEC,EAAEuB,GAAGtB,KAAKqG,OAAOrG,KAAKi9B,aAAaj9B,KAAK+8B,iBAAiBz8B,IAAIR,GAAGE,KAAKi6B,MAAM,MAAMl6B,EAAEA,EAAEC,KAAKi6B,MAAMj6B,KAAK+5B,QAAQ,MAAMz4B,EAAEA,EAAEtB,KAAK+5B,SAASz4B,EAAEjB,UAAUy5B,KAAK,WAAW,GAAG95B,KAAKi9B,gBAAgBj9B,KAAKy5B,WAAU,IAAKz5B,KAAK05B,SAAS,CAAC,GAAG15B,KAAK05B,QAAQ,OAAO15B,KAAK05B,SAAQ,OAAQ15B,KAAKi9B,aAAanD,OAAO95B,KAAKi9B,aAAajD,OAAOh6B,KAAK+5B,QAAQ/5B,KAAKi9B,aAAa/C,KAAKl6B,KAAKi6B,MAAMj6B,KAAKi9B,aAAa5gB,iBAAiB,QAAQrc,KAAKg9B,mBAAmBh9B,KAAKy5B,UAAS,EAAG,YAAYz5B,KAAKk9B,aAAaE,OAAOp9B,KAAKi9B,aAAanD,SAASx4B,EAAEjB,UAAUgG,KAAK,WAAWrG,KAAKy5B,WAAWz5B,KAAKi9B,aAAa92B,QAAQnG,KAAKi9B,aAAa9C,YAAY,EAAEn6B,KAAKi9B,aAAarD,oBAAoB,QAAQ55B,KAAKg9B,mBAAmBh9B,KAAKy5B,UAAS,EAAGz5B,KAAK05B,SAAQ,IAAKp4B,EAAEjB,UAAU8F,MAAM,WAAWnG,KAAKy5B,WAAU,IAAKz5B,KAAK05B,UAAU15B,KAAKi9B,aAAa92B,QAAQnG,KAAK05B,SAAQ,IAAKp4B,EAAEjB,UAAUqK,eAAe,YAAW,IAAK1K,KAAK6I,QAAQ7I,KAAKqG,QAAQ/E,EAAEjB,UAAUyJ,UAAU,WAAW9J,KAAKqG,OAAOrG,KAAKk9B,aAAaU,SAASt8B,EAAxyF,CAA2yF2J,GAAG4yB,GAAG,WAAW,SAAS/9B,EAAEA,GAAG,IAAIC,EAAEuB,EAAEtB,KAAKA,KAAKkC,OAAO,KAAKlC,KAAKmC,QAAQ,KAAKnC,KAAK89B,SAAQ,EAAG99B,KAAKqZ,MAAMvZ,EAAEuZ,MAAMrZ,KAAKyZ,OAAO,QAAQ1Z,EAAED,EAAE2Z,cAAS,IAAS1Z,GAAGA,EAAEC,KAAKkE,MAAMpE,EAAEoE,MAAMlE,KAAKkE,QAAQlE,KAAKkC,OAAOlC,KAAKkE,MAAM9B,MAAMpC,KAAKmC,QAAQnC,KAAKkE,MAAM7B,QAAQ,IAAIP,EAAE,WAAW,IAAIhC,EAAEC,EAAEuB,EAAEY,OAAO,QAAQpC,EAAEwB,EAAEY,cAAS,IAASpC,EAAEA,EAAEwB,EAAE+X,MAAMC,aAAahY,EAAEa,QAAQ,QAAQpC,EAAEuB,EAAEa,eAAU,IAASpC,EAAEA,EAAEuB,EAAE+X,MAAME,cAAcjY,EAAEw8B,SAAQ,GAAI99B,KAAKqZ,MAAMC,aAAaxX,IAAI9B,KAAKqZ,MAAMgD,iBAAiB,QAAQ,WAAW,OAAOva,OAAO,OAAO3B,OAAOC,eAAeN,EAAEO,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAKkC,QAAQ1B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKmC,SAAS3B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAK89B,SAASt9B,YAAW,EAAGC,cAAa,IAAKX,EAAh1B,IAAs1B,SAASA,GAAGA,EAAEA,EAAEkY,UAAU,GAAG,YAAYlY,EAAEA,EAAE0L,cAAc,GAAG,gBAA9D,CAA+E2hB,QAAEC,aAAGD,QAAEC,WAAC,KAAQ,IAAC2Q,GAAG,SAASj+B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAEuK,eAAc,EAAGvK,EAAEqC,MAAM,IAAIrC,EAAEsC,OAAO,IAAItC,EAAEwN,OAAO,GAAGxN,EAAEi+B,cAAa,EAAGj+B,EAAE04B,OAAO,IAAI9G,GAAG5xB,EAAE0oB,SAAQ,EAAG1oB,EAAEiqB,MAAMjqB,EAAEuF,aAAa0kB,MAAMjqB,EAAEmqB,MAAMnqB,EAAEuF,aAAa4kB,MAAMnqB,EAAEuC,SAAS,IAAIqvB,GAAG5xB,EAAEqB,SAAS,IAAIuwB,GAAG5xB,EAAEk+B,kBAAiB,EAAGl+B,EAAEm+B,OAAO,CAAC97B,MAAM,EAAEC,OAAO,EAAEkL,OAAO,EAAEkrB,OAAO,IAAI9G,IAAI5xB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAUwJ,KAAK,SAAS/J,GAAG,IAAIC,EAAED,EAAE0O,KAAKlN,EAAExB,EAAEuC,OAAOP,EAAEhC,EAAEyN,OAAO5K,EAAE7C,EAAEk+B,aAAaj8B,EAAEjC,EAAEsC,MAAM6C,EAAEnF,EAAE24B,OAAOz4B,KAAKwO,KAAKzO,EAAEC,KAAKoC,MAAM,MAAML,EAAEA,EAAE/B,KAAKoC,MAAMpC,KAAKqC,OAAO,MAAMf,EAAEA,EAAEtB,KAAKqC,OAAOrC,KAAKuN,OAAO,MAAMzL,EAAEA,EAAE9B,KAAKuN,OAAOvN,KAAKg+B,aAAa,MAAMr7B,EAAEA,EAAE3C,KAAKg+B,aAAah+B,KAAKy4B,OAAO,MAAMxzB,EAAEA,EAAEjF,KAAKy4B,QAAQn3B,EAAEjB,UAAUuH,OAAO,WAAW5H,KAAK0B,QAAQiwB,GAAGtwB,IAAIrB,KAAKsC,SAAStC,KAAKwK,WAAWgqB,UAAUlyB,SAAStC,KAAKk+B,OAAOzF,QAAQz4B,KAAKi+B,iBAAiBj+B,KAAKyoB,QAAQzoB,KAAKyoB,SAAQ,EAAGzoB,KAAKgqB,MAAMmU,oBAAoBn+B,KAAKo+B,2BAA2Bp+B,KAAKq+B,gCAAgCr+B,KAAKg+B,cAAch+B,KAAKkqB,MAAMoU,WAAWt+B,KAAKu+B,2BAA2Bv+B,KAAKw+B,gCAAgCx+B,KAAKy+B,UAAUz+B,KAAKi+B,kBAAkBj+B,KAAKyoB,SAASzoB,KAAKy+B,UAAUz+B,KAAK0+B,WAAW1+B,KAAKyoB,SAASzoB,KAAK0+B,aAAap9B,EAAEjB,UAAUqB,MAAM,WAAW1B,KAAKk+B,OAAO97B,MAAMpC,KAAKoC,MAAMpC,KAAKwK,WAAWgqB,UAAU9yB,MAAMV,EAAEhB,KAAKk+B,OAAO77B,OAAOrC,KAAKoC,MAAMpC,KAAKwK,WAAWgqB,UAAU9yB,MAAMT,EAAEjB,KAAKk+B,OAAOzF,OAAOz3B,EAAEhB,KAAKy4B,OAAOz3B,EAAEhB,KAAKwK,WAAWgqB,UAAU9yB,MAAMV,EAAEhB,KAAKk+B,OAAOzF,OAAOx3B,EAAEjB,KAAKy4B,OAAOx3B,EAAEjB,KAAKwK,WAAWgqB,UAAU9yB,MAAMT,EAAEjB,KAAKk+B,OAAO3wB,OAAOvN,KAAKuN,OAAO7M,KAAKyM,IAAIzM,KAAKiM,IAAI3M,KAAKwK,WAAWgqB,UAAU9yB,MAAMV,GAAGN,KAAKiM,IAAI3M,KAAKwK,WAAWgqB,UAAU9yB,MAAMT,KAAKK,EAAEjB,UAAU+9B,yBAAyB,WAAWp+B,KAAKwO,OAAO2e,mBAAGnV,YAAYhY,KAAKyoB,QAAQoJ,GAAG7xB,KAAKgqB,MAAMyC,mBAAmBzrB,EAAEhB,KAAKsC,SAAStB,EAAEhB,KAAKk+B,OAAO97B,MAAM,EAAEpC,KAAKsC,SAAStB,EAAEhB,KAAKk+B,OAAO97B,MAAM,IAAIyvB,GAAG7xB,KAAKgqB,MAAMyC,mBAAmBxrB,EAAEjB,KAAKsC,SAASrB,EAAEjB,KAAKk+B,OAAO77B,OAAO,EAAErC,KAAKsC,SAASrB,EAAEjB,KAAKk+B,OAAO77B,OAAO,KAAKf,EAAEjB,UAAUg+B,6BAA6B,WAAWr+B,KAAKwO,OAAO2e,QAAAA,WAAG3hB,gBAAgBmmB,GAAGpwB,SAASvB,KAAKoB,SAASpB,KAAKsC,SAAStC,KAAKgqB,MAAMyC,oBAAoBzsB,KAAKyoB,QAAQzoB,KAAKoB,SAASI,WAAWxB,KAAKk+B,OAAO3wB,SAASjM,EAAEjB,UAAUk+B,yBAAyB,WAAW,GAAGv+B,KAAKwO,OAAO2e,mBAAGnV,UAAU,IAAI,IAAIlY,EAAE,EAAEC,EAAEC,KAAKkqB,MAAMyU,aAAa7+B,EAAEC,EAAEiE,OAAOlE,IAAI,CAAC,IAAIwB,EAAEvB,EAAED,GAAGgC,EAAER,EAAEmrB,mBAAmB9pB,EAAErB,EAAEiM,OAAO,GAAGvN,KAAKyoB,QAAQ,OAAOzoB,KAAKyoB,QAAQzoB,KAAKsC,SAAStB,EAAEhB,KAAKk+B,OAAO97B,MAAM,GAAGN,EAAEd,EAAE2B,EAAE3B,GAAGhB,KAAKsC,SAAStB,EAAEhB,KAAKk+B,OAAO97B,MAAM,GAAGN,EAAEd,EAAE2B,EAAE3B,GAAGhB,KAAKsC,SAASrB,EAAEjB,KAAKk+B,OAAO77B,OAAO,GAAGP,EAAEb,EAAE0B,EAAE1B,GAAGjB,KAAKsC,SAASrB,EAAEjB,KAAKk+B,OAAO77B,OAAO,GAAGP,EAAEb,EAAE0B,EAAE1B,IAAIK,EAAEjB,UAAUm+B,6BAA6B,WAAW,GAAGx+B,KAAKwO,OAAO2e,mBAAG3hB,cAAc,IAAI,IAAI1L,EAAE,EAAEC,EAAEC,KAAKkqB,MAAMyU,aAAa7+B,EAAEC,EAAEiE,OAAOlE,IAAI,CAAC,IAAIwB,EAAEvB,EAAED,GAAGgC,EAAER,EAAEmrB,mBAAmB9pB,EAAErB,EAAEiM,OAAO,GAAGvN,KAAKyoB,QAAQ,OAAOkJ,GAAGpwB,SAASvB,KAAKoB,SAASpB,KAAKsC,SAASR,GAAG9B,KAAKyoB,QAAQzoB,KAAKoB,SAASI,WAAWxB,KAAKk+B,OAAO3wB,OAAO7M,KAAKyM,IAAIxK,EAAE3B,EAAE2B,EAAE1B,KAAKK,EAAxwF,CAA2wF2J,GAAG2zB,GAAG,SAAS9+B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEmE,MAAMjE,KAAK+D,YAAY/D,KAAK,OAAOD,EAAE8+B,cAAa,EAAG9+B,EAAEuC,SAAS,IAAIqvB,GAAG5xB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAU4F,MAAM,WAAWjG,KAAKg2B,OAAOh2B,KAAK2K,kBAAkBm0B,YAAYx9B,EAAEjB,UAAUuH,OAAO,WAAW5H,KAAKsF,aAAa0kB,MAAMmU,oBAAmB,IAAKn+B,KAAK6+B,eAAelN,GAAG9vB,MAAM7B,KAAKsC,SAASqvB,GAAGtwB,IAAIrB,KAAKsC,SAAStC,KAAKg2B,OAAOxB,UAAUlyB,SAASqvB,GAAGjwB,MAAM1B,KAAKsC,SAAStC,KAAKsF,aAAa0kB,MAAMyC,mBAAmB,EAAEzsB,KAAKg2B,OAAOzpB,QAAQwyB,QAAQC,IAAI,uBAAuB76B,OAAOnE,KAAKsC,SAAStB,EAAE,SAASmD,OAAOnE,KAAKsC,SAASrB,EAAE,OAAOjB,KAAK6+B,aAAa7+B,KAAKsF,aAAa0kB,MAAMmU,mBAAmB78B,EAAjnB,CAAonBozB,ICAt/oK50B,GAAE,WAAW,SAASA,EAAEA,EAAEC,QAAG,IAASD,IAAIA,EAAE,QAAG,IAASC,IAAIA,EAAE,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,EAAE,OAAOI,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKC,IAAIM,IAAI,SAAST,GAAGE,KAAKC,GAAGH,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKE,IAAIK,IAAI,SAAST,GAAGE,KAAKE,GAAGJ,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAOI,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAG,GAAGS,KAAKE,IAAIZ,KAAKE,GAAG,KAAKM,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,aAAab,KAAKa,WAAW,IAAIf,GAAGA,EAAEgB,KAAKd,KAAKa,WAAWb,OAAOQ,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEC,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,GAAGD,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAInB,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKC,KAAKH,EAAEkB,GAAGhB,KAAKE,KAAKJ,EAAEmB,GAAGnB,EAAEO,UAAUc,MAAM,WAAW,OAAO,IAAIrB,EAAEE,KAAKC,GAAGD,KAAKE,KAAKJ,EAAEO,UAAUe,SAAS,SAAStB,GAAG,OAAOY,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAGH,EAAEkB,EAAE,GAAGN,KAAKE,IAAIZ,KAAKE,GAAGJ,EAAEmB,EAAE,KAAKnB,EAAEuB,IAAI,SAASvB,EAAEC,EAAE+B,GAAG,OAAOhC,EAAES,IAAIR,EAAEiB,EAAEc,EAAEd,EAAEjB,EAAEkB,EAAEa,EAAEb,GAAGnB,GAAGA,EAAEyB,SAAS,SAASzB,EAAEC,EAAE+B,GAAG,OAAOhC,EAAES,IAAIR,EAAEiB,EAAEc,EAAEd,EAAEjB,EAAEkB,EAAEa,EAAEb,GAAGnB,GAAGA,EAAEgB,KAAK,SAAShB,EAAEC,GAAG,OAAO,IAAIA,EAAEyB,UAAU1B,EAAES,IAAI,EAAE,GAAGT,EAAES,IAAIR,EAAEiB,EAAEjB,EAAEyB,UAAUzB,EAAEkB,EAAElB,EAAEyB,WAAW1B,GAAGA,EAAE2B,OAAO,SAAS3B,EAAEC,GAAG,OAAOD,EAAES,KAAKR,EAAEkB,EAAElB,EAAEiB,GAAGhB,KAAKc,KAAKhB,EAAEA,IAAIA,EAAE4B,MAAM,SAAS5B,EAAEC,EAAE+B,GAAG,OAAOhC,EAAES,IAAIR,EAAEiB,EAAEc,EAAE/B,EAAEkB,EAAEa,GAAGhC,GAAGA,EAAE6B,IAAI,SAAS7B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEiB,EAAElB,EAAEmB,EAAElB,EAAEkB,GAAGnB,EAAE8B,MAAM,SAAS9B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEkB,EAAEnB,EAAEmB,EAAElB,EAAEiB,GAAGlB,EAAE+B,MAAM,SAAS/B,EAAEC,GAAG,OAAOD,EAAES,IAAIG,KAAKmB,MAAM9B,EAAEiB,GAAGN,KAAKmB,MAAM9B,EAAEkB,IAAInB,GAAGA,EAAh9C,IAAs9C,WAAW,SAASC,EAAEA,EAAE+B,EAAER,EAAEqB,GAAG3C,KAAKgC,UAAU,IAAIlC,GAAEE,KAAKiC,QAAQ,IAAInC,GAAEE,KAAKkC,OAAO,EAAElC,KAAKmC,QAAQ,EAAEnC,KAAKO,IAAIR,EAAE+B,EAAER,EAAEqB,GAAGxC,OAAOC,eAAeL,EAAEM,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,GAAGT,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEE,KAAKgC,UAAUf,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,GAAGV,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIP,KAAKgC,UAAUhB,EAAElB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,EAAEhB,KAAKkC,QAAQ1B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,EAAEjB,KAAKmC,SAAS3B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAKkC,QAAQ3B,IAAI,SAAST,GAAGE,KAAKkC,OAAOpC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKmC,SAAS5B,IAAI,SAAST,GAAGE,KAAKmC,QAAQrC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKiC,QAAQ1B,IAAIP,KAAKgB,EAAEhB,KAAKoC,MAAM,EAAEpC,KAAKiB,EAAEjB,KAAKqC,OAAO,GAAGrC,KAAKiC,SAASzB,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAUE,IAAI,SAAST,EAAEC,EAAE+B,EAAER,GAAGtB,KAAKgC,UAAUzB,IAAIT,EAAEC,GAAGC,KAAKkC,OAAOJ,EAAE9B,KAAKmC,QAAQb,GAAGvB,EAAEM,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKsC,SAASpB,OAAOpB,EAAEwC,WAAWtC,KAAKoC,QAAQtC,EAAEsC,OAAOpC,KAAKqC,SAASvC,EAAEuC,QAAQtC,EAAEM,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,EAAEnB,EAAEsC,MAAMtC,EAAEuC,SAAStC,EAAEM,UAAUkC,SAAS,SAASzC,GAAG,OAAOE,KAAKwC,IAAI1C,EAAEkB,GAAGhB,KAAKgB,EAAElB,EAAE0C,IAAIxC,KAAKyC,IAAI3C,EAAEmB,GAAGjB,KAAKiB,EAAEnB,EAAE2C,IAAI1C,EAAEM,UAAUqC,SAAS,SAASZ,GAAG,OAAOA,aAAa/B,EAAE+B,EAAEU,IAAIxC,KAAKwC,IAAIV,EAAEd,GAAGhB,KAAKgB,GAAGc,EAAEW,IAAIzC,KAAKyC,IAAIX,EAAEb,GAAGjB,KAAKiB,EAAEa,aAAahC,MAAKgC,EAAEd,EAAEhB,KAAKgB,GAAGc,EAAEb,EAAEjB,KAAKiB,GAAGa,EAAEd,GAAGhB,KAAKwC,IAAIV,EAAEb,GAAGjB,KAAKyC,KAAn0D,GAA20D,WAAW,SAAS1C,EAAEA,EAAE+B,QAAG,IAAS/B,IAAIA,EAAE,WAAM,IAAS+B,IAAIA,EAAE,MAAM9B,KAAK6C,SAAS,EAAE7C,KAAK8C,SAAS,EAAE9C,KAAKa,WAAW,IAAIf,GAAEC,EAAEC,KAAK+C,QAAQhD,EAAE+B,IAAI9B,KAAKgD,QAAQlB,GAAG3B,OAAOC,eAAeL,EAAEM,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAK6C,UAAUtC,IAAI,SAAST,GAAGE,KAAK6C,SAAS/C,EAAEE,KAAK8C,SAAShD,EAAEY,KAAKuC,GAAG,IAAIjD,KAAKkD,mBAAmB1C,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAK8C,UAAUvC,IAAI,SAAST,GAAGE,KAAK8C,SAAShD,EAAEE,KAAK6C,SAAS,IAAI/C,EAAEY,KAAKuC,GAAGjD,KAAKkD,mBAAmB1C,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,YAAYL,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAU6C,gBAAgB,WAAWlD,KAAKa,WAAWN,IAAIG,KAAKyC,IAAInD,KAAK8C,UAAUpC,KAAK0C,IAAIpD,KAAK8C,YAAnwB,GAAqxB,IAAC/C,GAAE,WAAW,SAASD,IAAI,IAAIA,EAAEE,KAAKA,KAAKmnB,SAAS,IAAIrW,IAAI9Q,KAAKonB,aAAa,SAASrnB,GAAG,qBAAqBA,EAAEyO,KAAK1O,EAAEunB,iBAAiBtnB,EAAEunB,SAAS,wBAAwBvnB,EAAEyO,MAAM1O,EAAEynB,mBAAmBxnB,EAAEunB,UAAU3gB,OAAO0V,iBAAiB,mBAAmBrc,KAAKonB,cAAczgB,OAAO0V,iBAAiB,sBAAsBrc,KAAKonB,cAAc,OAAOtnB,EAAEO,UAAUmnB,WAAW,SAAS1nB,GAAG,IAAIC,EAAE,OAAO,QAAQA,EAAEC,KAAKmnB,SAAS7mB,IAAIR,UAAK,IAASC,EAAEA,EAAE,MAAMD,EAAEO,UAAUonB,YAAY,WAAW,OAAOlkB,MAAMmkB,KAAK1nB,KAAKmnB,SAASQ,WAAW7nB,EAAEO,UAAUgnB,iBAAiB,SAASvnB,GAAGE,KAAKmnB,SAAS5mB,IAAIT,EAAE8nB,MAAM,IAAI9lB,IAAG9B,KAAKmnB,SAAS7mB,IAAIR,EAAE8nB,OAAOE,kBAAkBhoB,IAAIA,EAAEO,UAAUknB,mBAAmB,SAASznB,GAAGE,KAAKmnB,SAASY,OAAOjoB,EAAE8nB,QAAQ9nB,EAAEO,UAAUuH,OAAO,WAAW,IAAI,IAAI9H,EAAE,EAAEC,EAAEC,KAAKgoB,yBAAyBloB,EAAEC,EAAEiE,OAAOlE,IAAI,CAAC,IAAIgC,EAAE/B,EAAED,GAAG,OAAOgC,KAAI,IAAK9B,KAAKmnB,SAASnW,IAAIlP,EAAE8lB,OAAO5nB,KAAKqnB,iBAAiBvlB,GAAG9B,KAAKmnB,SAAS7mB,IAAIwB,EAAE8lB,OAAOE,kBAAkBhmB,MAAMhC,EAAEO,UAAU2nB,uBAAuB,WAAW,OAAOC,UAAUR,YAAYQ,UAAUR,cAAcQ,UAAUC,kBAAkBD,UAAUC,kBAAkB,IAAIpoB,EAA1kC,GAA+kCgC,GAAE,WAAW,SAAS/B,IAAIC,KAAKmoB,QAAQ,IAAIrX,IAAI9Q,KAAKgkB,KAAK,IAAIlT,IAAI9Q,KAAKooB,UAAU,IAAItoB,GAAEE,KAAKqoB,eAAe,IAAIvoB,GAAEE,KAAKsoB,gBAAgB,IAAIxoB,GAAEE,KAAKuoB,YAAW,EAAG,OAAOxoB,EAAEM,UAAUynB,kBAAkB,SAAShoB,GAAG,IAAIC,EAAEC,KAAKA,KAAKwoB,SAAS1oB,EAAEA,EAAEqoB,QAAQrf,SAAS,SAAShJ,EAAEgC,GAAG,OAAO/B,EAAEooB,QAAQ5nB,IAAIuB,EAAEhC,EAAE2oB,YAAY3oB,EAAEkkB,KAAKlb,SAAS,SAAShJ,EAAEgC,GAAG,OAAO/B,EAAEikB,KAAKzjB,IAAIuB,EAAEhC,OAAOK,OAAOC,eAAeL,EAAEM,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKwoB,SAASrW,IAAI3R,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKwoB,SAASE,WAAWloB,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAUsoB,iBAAiB,SAAS7oB,GAAG,OAAOE,KAAKmoB,QAAQ7nB,IAAIR,IAAIC,EAAEM,UAAUuoB,QAAQ,SAAS9oB,GAAG,OAAOE,KAAKgkB,KAAK1jB,IAAIR,IAAIK,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKooB,UAAU7nB,IAAIP,KAAK6oB,UAAU,EAAE7oB,KAAK8oB,UAAU,EAAE,EAAE9oB,KAAK+oB,OAAO,EAAE/oB,KAAKgpB,UAAU,EAAE,GAAGhpB,KAAKooB,WAAW5nB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,gBAAgB,CAACC,IAAI,WAAW,OAAON,KAAKqoB,eAAe9nB,IAAIP,KAAKipB,oBAAoBjpB,KAAKkpB,mBAAmBlpB,KAAKqoB,gBAAgB7nB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,iBAAiB,CAACC,IAAI,WAAW,OAAON,KAAKsoB,gBAAgB/nB,IAAIP,KAAKmpB,qBAAqBnpB,KAAKopB,oBAAoBppB,KAAKsoB,iBAAiB9nB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,SAAS,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,YAAY,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,aAAa,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,YAAY,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,UAAU,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,eAAe,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,gBAAgB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,cAAc,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,eAAe,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,OAAO,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,QAAQ,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,kBAAkB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,mBAAmB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKmoB,QAAQ7nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,sBAAsB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKgkB,KAAK1jB,IAAI,UAAK,IAASR,EAAEA,EAAE,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,oBAAoB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,GAAGE,KAAKgkB,KAAK1jB,IAAI,UAAK,IAASR,EAAEA,EAAE,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,uBAAuB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKgkB,KAAK1jB,IAAI,UAAK,IAASR,EAAEA,EAAE,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,qBAAqB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,GAAGE,KAAKgkB,KAAK1jB,IAAI,UAAK,IAASR,EAAEA,EAAE,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,mBAAmB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEyD,MAAMmkB,KAAK1nB,KAAKmoB,QAAQR,UAAU0B,eAAevpB,GAAG,OAAOA,YAAO,IAASA,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKuoB,YAAY/nB,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAUipB,QAAQ,SAASxpB,EAAEC,EAAE+B,EAAER,GAAG,IAAIqB,EAAE3C,UAAK,IAASF,IAAIA,EAAE,UAAK,IAASC,IAAIA,EAAE,SAAI,IAAS+B,IAAIA,EAAE,SAAI,IAASR,IAAIA,EAAE,GAAGtB,KAAKwoB,SAASe,oBAAoBvpB,KAAKuoB,YAAW,EAAGvoB,KAAKwoB,SAASe,kBAAkBC,WAAWxpB,KAAKwoB,SAASe,kBAAkB/a,KAAK,CAACib,SAAS3pB,EAAE4pB,cAAc3pB,EAAE4pB,gBAAgB7nB,EAAE8nB,WAAWtoB,IAAIuoB,OAAO,WAAW,OAAOlnB,EAAE4lB,YAAW,KAAMuB,oBAAoB,OAAOnnB,EAAE4lB,YAAW,OAAQxoB,EAAxkK,GAA4vK4C,GAAE,WAAW,SAAS7C,EAAEA,GAAG,IAAIC,EAAEC,KAAKA,KAAKoqB,YAAY,GAAGpqB,KAAKqqB,OAAO,IAAIvZ,IAAI9Q,KAAKonB,aAAa,SAAStnB,GAAG,GAAG,YAAYA,EAAE0O,OAAOzO,EAAEsqB,OAAO9pB,IAAIT,EAAEwqB,MAAK,GAAIvqB,EAAEqqB,YAAYnhB,SAASnJ,EAAEwqB,OAAOvqB,EAAEqqB,YAAYphB,KAAKlJ,EAAEwqB,OAAO,UAAUxqB,EAAE0O,KAAK,CAACzO,EAAEsqB,OAAO9pB,IAAIT,EAAEwqB,MAAK,GAAI,IAAIxoB,EAAE/B,EAAEqqB,YAAYta,QAAQhQ,EAAEwqB,OAAO,IAAIxoB,GAAG/B,EAAEqqB,YAAYtJ,OAAOhf,EAAE,KAAKhC,EAAEuc,iBAAiB,UAAUrc,KAAKonB,cAActnB,EAAEuc,iBAAiB,QAAQrc,KAAKonB,cAAc,OAAOtnB,EAAEO,UAAUkqB,UAAU,SAASzqB,GAAG,IAAIC,EAAE,OAAO,QAAQA,EAAEC,KAAKqqB,OAAO/pB,IAAIR,UAAK,IAASC,GAAGA,GAAGD,EAAEO,UAAUmqB,UAAU,SAAS1qB,GAAG,IAAIC,EAAEC,KAAK,OAAOF,EAAEoN,QAAM,SAAWpN,EAAEgC,GAAG,IAAIR,EAAE,OAAOxB,GAAG,QAAQwB,EAAEvB,EAAEsqB,OAAO/pB,IAAIwB,UAAK,IAASR,GAAGA,KAAI,IAAKxB,EAAEO,UAAUoqB,WAAW,SAAS3qB,GAAG,IAAIC,EAAEC,KAAK,OAAOF,EAAEoN,QAAM,SAAWpN,EAAEgC,GAAG,IAAIR,EAAE,OAAOxB,GAAG,QAAQwB,EAAEvB,EAAEsqB,OAAO/pB,IAAIwB,UAAK,IAASR,GAAGA,KAAI,IAAKxB,EAAEO,UAAUqqB,gBAAgB,SAAS5qB,EAAEC,EAAE+B,GAAG,OAAO9B,KAAKqqB,OAAO/pB,IAAIR,GAAGC,EAAE+B,GAAGhC,EAAEO,UAAUsqB,gBAAgB,SAAS7qB,EAAEC,EAAE+B,GAAG,IAAIR,EAAEtB,KAAK,OAAOF,EAAEoN,iBAAiBpN,EAAEC,GAAG,IAAI+B,EAAE,OAAOhC,GAAG,QAAQgC,EAAER,EAAE+oB,OAAO/pB,IAAIP,UAAK,IAAS+B,GAAGA,KAAI,GAAI/B,EAAE+B,GAAGhC,EAAEO,UAAUuqB,iBAAiB,SAAS9qB,EAAEC,EAAE+B,GAAG,IAAIR,EAAEtB,KAAK,OAAOF,EAAEoN,QAAQ,SAASpN,EAAEC,GAAG,IAAI+B,EAAE,OAAOhC,GAAG,QAAQgC,EAAER,EAAE+oB,OAAO/pB,IAAIP,UAAK,IAAS+B,GAAGA,KAAI,GAAI/B,EAAE+B,GAAGhC,EAAvqC,GAA4qCiC,GAAE,WAAW,SAAShC,EAAEA,GAAGC,KAAK8qB,oBAAmB,EAAG9qB,KAAK+qB,sBAAqB,EAAG/qB,KAAKgrB,qBAAoB,EAAGhrB,KAAKirB,oBAAoB,IAAInrB,GAAEE,KAAKkrB,WAAU,EAAGlrB,KAAKmrB,aAAa,IAAIrrB,GAAEE,KAAKorB,uBAAuB,IAAItrB,GAAEE,KAAKwM,OAAOzM,EAAEC,KAAKqrB,QAAQ,OAAOlrB,OAAOC,eAAeL,EAAEM,UAAU,oBAAoB,CAACC,IAAI,WAAW,OAAON,KAAK8qB,oBAAoBtqB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,sBAAsB,CAACC,IAAI,WAAW,OAAON,KAAK+qB,sBAAsBvqB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,qBAAqB,CAACC,IAAI,WAAW,OAAON,KAAKgrB,qBAAqBxqB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,qBAAqB,CAACC,IAAI,WAAW,OAAON,KAAKirB,qBAAqBzqB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKkrB,WAAW1qB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,cAAc,CAACC,IAAI,WAAW,OAAON,KAAKmrB,cAAc3qB,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAUuH,OAAO,YAAW,IAAK5H,KAAKirB,oBAAoB/pB,OAAOlB,KAAKorB,yBAAyBprB,KAAKkrB,WAAU,EAAGlrB,KAAKorB,uBAAuBrqB,KAAKf,KAAKirB,sBAAsBjrB,KAAKkrB,WAAU,EAAGlrB,KAAKsrB,YAAYtrB,KAAKmrB,aAAa5qB,IAAIP,KAAKsrB,WAAWC,OAAOvrB,KAAKsrB,WAAWE,QAAQxrB,KAAKsrB,gBAAW,GAAQtrB,KAAKmrB,aAAa5qB,IAAI,EAAE,IAAIR,EAAEM,UAAUgrB,MAAM,WAAW,IAAIvrB,EAAEE,KAAKA,KAAKwM,OAAO6P,iBAAiB,aAAW,SAAWtc,GAAG,OAAOD,EAAE2rB,eAAe1rB,MAAMC,KAAKwM,OAAO6P,iBAAiB,aAAa,SAAStc,GAAG,OAAOD,EAAE4rB,iBAAiB3rB,MAAMC,KAAKwM,OAAO6P,iBAAiB,WAAS,SAAWtc,GAAG,OAAOD,EAAE6rB,eAAe5rB,MAAMC,KAAKwM,OAAO6P,iBAAiB,SAAO,SAAWtc,GAAG,OAAOD,EAAE8rB,iBAAiB7rB,OAAOA,EAAEM,UAAUqrB,iBAAiB,SAAS5rB,GAAGE,KAAKwM,OAAOqf,QAAQ/rB,EAAEgsB,iBAAiBhsB,EAAEisB,kBAAkB/rB,KAAK8qB,mBAAmB,IAAIhrB,EAAEksB,OAAOhsB,KAAK+qB,qBAAqB,IAAIjrB,EAAEksB,OAAOhsB,KAAKgrB,oBAAoB,IAAIlrB,EAAEksB,QAAQjsB,EAAEM,UAAUsrB,eAAe,SAAS7rB,GAAGA,EAAEgsB,iBAAiBhsB,EAAEisB,kBAAkB/rB,KAAK8qB,mBAAmB,IAAIhrB,EAAEksB,QAAQhsB,KAAK8qB,mBAAmB9qB,KAAK+qB,qBAAqB,IAAIjrB,EAAEksB,QAAQhsB,KAAK+qB,qBAAqB/qB,KAAKgrB,oBAAoB,IAAIlrB,EAAEksB,QAAQhsB,KAAKgrB,qBAAqBjrB,EAAEM,UAAUorB,eAAe,SAAS3rB,GAAGA,EAAEgsB,iBAAiBhsB,EAAEisB,kBAAkB/rB,KAAKirB,oBAAoB1qB,IAAIT,EAAEmsB,SAASjsB,KAAKwM,OAAO0f,YAAYlsB,KAAKwM,OAAOpK,OAAOpC,KAAKwM,OAAOpK,MAAM,GAAGtC,EAAEqsB,SAASnsB,KAAKwM,OAAO4f,aAAapsB,KAAKwM,OAAOnK,QAAQrC,KAAKwM,OAAOnK,OAAO,IAAItC,EAAEM,UAAUurB,iBAAiB,SAAS9rB,GAAGA,EAAEgsB,iBAAiBhsB,EAAEisB,kBAAkB/rB,KAAKsrB,WAAWxrB,GAAGC,EAAxhF,GAA6hFkF,GAAE,WAAW,SAASlF,EAAED,GAAG,IAAIC,EAAEC,KAAKA,KAAKssB,WAAU,EAAGtsB,KAAKusB,cAAc,GAAGvsB,KAAKonB,aAAa,SAAStnB,GAAG,eAAeA,EAAE0O,OAAOzO,EAAEusB,WAAU,EAAGvsB,EAAE0rB,eAAe3rB,IAAI,cAAcA,EAAE0O,MAAMzO,EAAE0rB,eAAe3rB,GAAG,aAAaA,EAAE0O,MAAM,gBAAgB1O,EAAE0O,OAAOzO,EAAEusB,WAAU,IAAKtsB,KAAKwM,OAAO1M,EAAEE,KAAKwM,OAAO6P,iBAAiB,aAAarc,KAAKonB,cAAcpnB,KAAKwM,OAAO6P,iBAAiB,WAAWrc,KAAKonB,cAAcpnB,KAAKwM,OAAO6P,iBAAiB,cAAcrc,KAAKonB,cAAcpnB,KAAKwM,OAAO6P,iBAAiB,YAAYrc,KAAKonB,cAAc,OAAOjnB,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKssB,WAAW9rB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,eAAe,CAACC,IAAI,WAAW,OAAON,KAAKusB,eAAe/rB,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAUorB,eAAe,SAAS1rB,GAAG,GAAGA,EAAE+rB,iBAAiB/rB,EAAEgsB,kBAAkB/rB,KAAKusB,cAAc,GAAG,IAAIxsB,EAAEysB,cAAcxoB,OAAO,IAAI,IAAIlC,EAAE,EAAEA,EAAE/B,EAAEysB,cAAcxoB,OAAOlC,IAAI9B,KAAKusB,cAAczqB,GAAG,CAAC2qB,mBAAmB,IAAI3sB,IAAGC,EAAEysB,cAAc1qB,GAAG4qB,QAAQ1sB,KAAKwM,OAAOmgB,aAAa3sB,KAAKwM,OAAO0f,YAAYlsB,KAAKwM,OAAOpK,OAAOpC,KAAKwM,OAAOpK,MAAM,IAAIrC,EAAEysB,cAAc1qB,GAAG8qB,QAAQ5sB,KAAKwM,OAAOqgB,YAAY7sB,KAAKwM,OAAO4f,aAAapsB,KAAKwM,OAAOnK,QAAQrC,KAAKwM,OAAOnK,OAAO,GAAGkL,OAAO,IAAIzN,GAAEC,EAAEysB,cAAc1qB,GAAGgrB,QAAQ/sB,EAAEysB,cAAc1qB,GAAGirB,WAAWhtB,EAAnxC,GCAvlcD,GAAE,WAAW,SAASA,EAAEA,EAAEwB,QAAG,IAASxB,IAAIA,EAAE,QAAG,IAASwB,IAAIA,EAAE,GAAGtB,KAAKC,GAAGH,EAAEE,KAAKE,GAAGoB,EAAE,OAAOnB,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKC,IAAIM,IAAI,SAAST,GAAGE,KAAKC,GAAGH,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKE,IAAIK,IAAI,SAAST,GAAGE,KAAKE,GAAGJ,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAOI,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAG,GAAGS,KAAKE,IAAIZ,KAAKE,GAAG,KAAKM,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,aAAab,KAAKa,WAAW,IAAIf,GAAGA,EAAEgB,KAAKd,KAAKa,WAAWb,OAAOQ,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEwB,GAAGtB,KAAKC,GAAGH,EAAEE,KAAKE,GAAGoB,GAAGxB,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAInB,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKC,KAAKH,EAAEkB,GAAGhB,KAAKE,KAAKJ,EAAEmB,GAAGnB,EAAEO,UAAUc,MAAM,WAAW,OAAO,IAAIrB,EAAEE,KAAKC,GAAGD,KAAKE,KAAKJ,EAAEO,UAAUe,SAAS,SAAStB,GAAG,OAAOY,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAGH,EAAEkB,EAAE,GAAGN,KAAKE,IAAIZ,KAAKE,GAAGJ,EAAEmB,EAAE,KAAKnB,EAAEuB,IAAI,SAASvB,EAAEwB,EAAEvB,GAAG,OAAOD,EAAES,IAAIe,EAAEN,EAAEjB,EAAEiB,EAAEM,EAAEL,EAAElB,EAAEkB,GAAGnB,GAAGA,EAAEyB,SAAS,SAASzB,EAAEwB,EAAEvB,GAAG,OAAOD,EAAES,IAAIe,EAAEN,EAAEjB,EAAEiB,EAAEM,EAAEL,EAAElB,EAAEkB,GAAGnB,GAAGA,EAAEgB,KAAK,SAAShB,EAAEwB,GAAG,OAAO,IAAIA,EAAEE,UAAU1B,EAAES,IAAI,EAAE,GAAGT,EAAES,IAAIe,EAAEN,EAAEM,EAAEE,UAAUF,EAAEL,EAAEK,EAAEE,WAAW1B,GAAGA,EAAE2B,OAAO,SAAS3B,EAAEwB,GAAG,OAAOxB,EAAES,KAAKe,EAAEL,EAAEK,EAAEN,GAAGhB,KAAKc,KAAKhB,EAAEA,IAAIA,EAAE4B,MAAM,SAAS5B,EAAEwB,EAAEvB,GAAG,OAAOD,EAAES,IAAIe,EAAEN,EAAEjB,EAAEuB,EAAEL,EAAElB,GAAGD,GAAGA,EAAE6B,IAAI,SAAS7B,EAAEwB,GAAG,OAAOxB,EAAEkB,EAAEM,EAAEN,EAAElB,EAAEmB,EAAEK,EAAEL,GAAGnB,EAAE8B,MAAM,SAAS9B,EAAEwB,GAAG,OAAOxB,EAAEkB,EAAEM,EAAEL,EAAEnB,EAAEmB,EAAEK,EAAEN,GAAGlB,EAAE+B,MAAM,SAAS/B,EAAEwB,GAAG,OAAOxB,EAAES,IAAIG,KAAKmB,MAAMP,EAAEN,GAAGN,KAAKmB,MAAMP,EAAEL,IAAInB,GAAGA,EAAh9C,GAAq9CwB,GAAE,WAAW,SAASA,EAAEA,EAAEvB,EAAEgC,EAAED,GAAG9B,KAAKgC,UAAU,IAAIlC,GAAEE,KAAKiC,QAAQ,IAAInC,GAAEE,KAAKkC,OAAO,EAAElC,KAAKmC,QAAQ,EAAEnC,KAAKO,IAAIe,EAAEvB,EAAEgC,EAAED,GAAG,OAAO3B,OAAOC,eAAekB,EAAEjB,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,GAAGT,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEE,KAAKgC,UAAUf,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,GAAGV,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIP,KAAKgC,UAAUhB,EAAElB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,EAAEhB,KAAKkC,QAAQ1B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,EAAEjB,KAAKmC,SAAS3B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAKkC,QAAQ3B,IAAI,SAAST,GAAGE,KAAKkC,OAAOpC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKmC,SAAS5B,IAAI,SAAST,GAAGE,KAAKmC,QAAQrC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKiC,QAAQ1B,IAAIP,KAAKgB,EAAEhB,KAAKoC,MAAM,EAAEpC,KAAKiB,EAAEjB,KAAKqC,OAAO,GAAGrC,KAAKiC,SAASzB,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAUE,IAAI,SAAST,EAAEwB,EAAEvB,EAAEgC,GAAG/B,KAAKgC,UAAUzB,IAAIT,EAAEwB,GAAGtB,KAAKkC,OAAOnC,EAAEC,KAAKmC,QAAQJ,GAAGT,EAAEjB,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKsC,SAASpB,OAAOpB,EAAEwC,WAAWtC,KAAKoC,QAAQtC,EAAEsC,OAAOpC,KAAKqC,SAASvC,EAAEuC,QAAQf,EAAEjB,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,EAAEnB,EAAEsC,MAAMtC,EAAEuC,SAASf,EAAEjB,UAAUkC,SAAS,SAASzC,GAAG,OAAOE,KAAKwC,IAAI1C,EAAEkB,GAAGhB,KAAKgB,EAAElB,EAAE0C,IAAIxC,KAAKyC,IAAI3C,EAAEmB,GAAGjB,KAAKiB,EAAEnB,EAAE2C,IAAInB,EAAEjB,UAAUqC,SAAS,SAAS3C,GAAG,OAAOA,aAAauB,EAAEvB,EAAEyC,IAAIxC,KAAKwC,IAAIzC,EAAEiB,GAAGhB,KAAKgB,GAAGjB,EAAE0C,IAAIzC,KAAKyC,IAAI1C,EAAEkB,GAAGjB,KAAKiB,EAAElB,aAAaD,MAAKC,EAAEiB,EAAEhB,KAAKgB,GAAGjB,EAAEkB,EAAEjB,KAAKiB,GAAGlB,EAAEiB,GAAGhB,KAAKwC,IAAIzC,EAAEkB,GAAGjB,KAAKyC,KAAKnB,EAA/0D,IAAy4D,WAAW,SAASA,EAAEA,EAAEvB,QAAG,IAASuB,IAAIA,EAAE,WAAM,IAASvB,IAAIA,EAAE,MAAMC,KAAK6C,SAAS,EAAE7C,KAAK8C,SAAS,EAAE9C,KAAKa,WAAW,IAAIf,GAAEwB,EAAEtB,KAAK+C,QAAQzB,EAAEvB,IAAIC,KAAKgD,QAAQjD,GAAGI,OAAOC,eAAekB,EAAEjB,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAK6C,UAAUtC,IAAI,SAAST,GAAGE,KAAK6C,SAAS/C,EAAEE,KAAK8C,SAAShD,EAAEY,KAAKuC,GAAG,IAAIjD,KAAKkD,mBAAmB1C,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAK8C,UAAUvC,IAAI,SAAST,GAAGE,KAAK8C,SAAShD,EAAEE,KAAK6C,SAAS,IAAI/C,EAAEY,KAAKuC,GAAGjD,KAAKkD,mBAAmB1C,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,YAAYL,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAU6C,gBAAgB,WAAWlD,KAAKa,WAAWN,IAAIG,KAAKyC,IAAInD,KAAK8C,UAAUpC,KAAK0C,IAAIpD,KAAK8C,YAAnwB,GAAsxBf,QAACk9B,uBAAA,EAAA,IAAyhH/5B,GAA/oDvC,GAAE,SAAS7C,EAAEwB,EAAEvB,EAAEgC,GAAG,OAAOrB,KAAKiN,KAAK7N,EAAEwB,GAAGvB,EAAE,EAAEgC,EAAE,KAAM,WAAW,SAASjC,EAAEA,GAAGE,KAAKkf,YAAY,CAACC,GAAG,EAAE3c,GAAG,EAAE4c,GAAG,EAAE3c,GAAG,GAAGzC,KAAKqf,cAAc,EAAErf,KAAK0e,OAAO5e,GAAUK,OAAOC,eAAeN,EAAEO,UAAU,eAAe,CAACC,IAAI,WAAW,OAAON,KAAKqf,eAAe9e,IAAI,SAAST,GAAGE,KAAKqf,cAAt+F,SAASvf,EAAEwB,EAAEvB,GAAG,OAAOW,KAAKiN,IAAI5N,EAAEW,KAAKyM,IAAI7L,EAAExB,IAAu8FC,CAAED,EAAE,EAAE,KAAKU,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUqe,OAAO,SAAS5e,GAAGE,KAAKue,KAAKze,EAAEE,KAAKsf,UAAU5e,KAAKoN,KAAKhO,EAAEsC,MAAMpC,KAAKqf,eAAerf,KAAKuf,WAAW7e,KAAKoN,KAAKhO,EAAEuC,OAAOrC,KAAKqf,eAAerf,KAAKwf,aAAa,GAAG,IAAI,IAAIle,EAAE,EAAEA,EAAEtB,KAAKqf,cAAc/d,IAAI,CAACtB,KAAKwf,aAAale,GAAG,GAAG,IAAI,IAAIvB,EAAE,EAAEA,EAAEC,KAAKqf,cAActf,IAAIC,KAAKwf,aAAale,GAAGvB,GAAG,KAAKD,EAAEO,UAAUkG,MAAM,WAAW,IAAI,IAAIzG,EAAE,EAAEA,EAAEE,KAAKqf,cAAcvf,IAAI,IAAI,IAAIwB,EAAE,EAAEA,EAAEtB,KAAKqf,cAAc/d,IAAItB,KAAKwf,aAAa1f,GAAGwB,GAAG,IAAIxB,EAAEO,UAAUse,OAAO,SAAS7e,EAAEwB,GAAGtB,KAAKyf,kBAAkBne,GAAG,IAAI,IAAIvB,EAAEC,KAAKkf,YAAYC,GAAGpf,GAAGC,KAAKkf,YAAY1c,GAAGzC,IAAI,IAAI,IAAIgC,EAAE/B,KAAKkf,YAAYE,GAAGrd,GAAG/B,KAAKkf,YAAYzc,GAAGV,IAAI/B,KAAKwf,aAAazf,GAAGgC,GAAGiH,KAAKlJ,IAAIA,EAAEO,UAAUye,SAAS,SAAShf,GAAG,IAAIwB,EAAE,GAAGtB,KAAKyf,kBAAkB3f,GAAG,IAAI,IAAIC,EAAEC,KAAKkf,YAAYC,GAAGpf,GAAGC,KAAKkf,YAAY1c,GAAGzC,IAAI,IAAI,IAAIgC,EAAE/B,KAAKkf,YAAYE,GAAGrd,GAAG/B,KAAKkf,YAAYzc,GAAGV,IAAI/B,KAAKwf,aAAazf,GAAGgC,GAAG+G,SAAO,SAAWhJ,GAAG,OAAOwB,EAAE2H,SAASnJ,GAAG,KAAKwB,EAAE0H,KAAKlJ,MAAM,OAAOwB,GAAGxB,EAAEO,UAAUof,kBAAkB,SAAS3f,GAAGE,KAAKkf,YAAYC,GAAGxc,GAAE7C,EAAEkB,EAAEhB,KAAKue,KAAKvd,EAAEhB,KAAKsf,UAAUtf,KAAKqf,eAAerf,KAAKkf,YAAY1c,GAAGG,GAAE7C,EAAE0C,GAAGxC,KAAKue,KAAKvd,EAAEhB,KAAKsf,UAAUtf,KAAKqf,eAAerf,KAAKkf,YAAYE,GAAGzc,GAAE7C,EAAEmB,EAAEjB,KAAKue,KAAKtd,EAAEjB,KAAKuf,WAAWvf,KAAKqf,eAAerf,KAAKkf,YAAYzc,GAAGE,GAAE7C,EAAE2C,GAAGzC,KAAKue,KAAKtd,EAAEjB,KAAKuf,WAAWvf,KAAKqf,gBAAz+C,GAA+/C,SAASvf,GAAGA,EAAEA,EAAE4f,SAAS,GAAG,WAAW5f,EAAEA,EAAE6f,aAAa,GAAG,eAA3D,CAA2E5d,QAAAA,oBAAIA,QAAAA,kBAAE,KAAmnI,SAASjC,GAAGA,EAAEA,EAAEyL,QAAQ,GAAG,UAAUzL,EAAEA,EAAE0L,cAAc,GAAG,gBAAgB1L,EAAEA,EAAE2L,KAAK,GAAG,OAAtF,CAA8FvG,KAAIA,GAAE,KAASmF,QAAC60B,sBAAA,EAAmhB,SAASp/B,GAAGA,EAAEA,EAAE0iB,KAAK,GAAG,OAAO1iB,EAAEA,EAAE2iB,IAAI,GAAG,MAA1C,CAAiDpY,QAAC60B,mBAAG70B,QAAC60B,iBAAC,KAAQ,IAA8oG5zB,GAApctK,GAAE,SAASlB,EAAEwB,GAAG,OAAON,GAAEb,OAAOkD,gBAAgB,CAACC,UAAU,cAAcC,OAAO,SAASzD,EAAEwB,GAAGxB,EAAEwD,UAAUhC,IAAI,SAASxB,EAAEwB,GAAG,IAAI,IAAIvB,KAAKuB,EAAEnB,OAAOE,UAAUmD,eAAeC,KAAKnC,EAAEvB,KAAKD,EAAEC,GAAGuB,EAAEvB,KAAKiB,GAAElB,EAAEwB,IAAqM,mBAAmB8C,iBAAiBA,gBAAihH,SAAStE,GAAGA,EAAEA,EAAEqlB,OAAO,GAAG,SAASrlB,EAAEA,EAAEslB,QAAQ,GAAG,UAAUtlB,EAAEA,EAAEulB,UAAU,GAAG,YAA7E,CAA0F/Z,KAAIA,GAAE,KAAI,WAA8vF,SAASvL,EAAEA,GAAGC,KAAKuN,OAAOxN,EAAEC,KAAKwO,KAAKtJ,GAAEsG,cAAcxL,KAAK0hB,YAAY,IAAIpgB,GAAE,EAAE,EAAE,EAAE,GAAGtB,KAAK2W,SAAS,CAAC,IAAI7W,GAAE,IAAIA,IAAGE,KAAKikB,eAAe,CAAC,IAAInkB,IAAGE,KAAKgC,UAAU,IAAIlC,GAASK,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUjB,KAAKjB,IAAIU,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAUuH,OAAO,WAAW5H,KAAKomB,qBAAqBrmB,EAAEM,UAAU+lB,kBAAkB,WAAWpmB,KAAK0hB,YAAYnhB,IAAIP,KAAKsC,SAAStB,EAAEhB,KAAKuN,OAAOvN,KAAKsC,SAASrB,EAAEjB,KAAKuN,OAAO,EAAEvN,KAAKuN,OAAO,EAAEvN,KAAKuN,SAAvwG,GAAoxG,WAAc,SAASxN,EAAEA,GAAGC,KAAKqN,YAAYtN,EAAEC,KAAKwO,KAAKtJ,GAAEqG,QAAQvL,KAAK2W,SAAS,CAAC,IAAI7W,GAAE,IAAIA,IAAGE,KAAKikB,eAAe,CAAC,IAAInkB,IAAGE,KAAK0hB,YAAY,IAAIpgB,GAAE,EAAE,EAAE,EAAE,GAAGtB,KAAK0M,SAAS,EAAE1M,KAAKgC,UAAU,IAAIlC,GAASC,EAAEM,UAAUuH,OAAO,WAAW5H,KAAKsmB,iBAAiBtmB,KAAKomB,oBAAoBpmB,KAAKumB,wBAAwBpmB,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUjB,KAAKjB,IAAIU,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAUimB,eAAe,WAAW,IAAI,IAAIxmB,EAAE,EAAEA,EAAEE,KAAKqN,YAAYrJ,OAAOlE,IAAIE,KAAK2W,SAAS7W,GAAGS,IAAIP,KAAKqN,YAAYvN,GAAGkB,EAAEN,KAAKyC,IAAInD,KAAK0M,UAAU1M,KAAKqN,YAAYvN,GAAGmB,EAAEP,KAAK0C,IAAIpD,KAAK0M,UAAU1M,KAAKgC,UAAUhB,EAAEhB,KAAKqN,YAAYvN,GAAGkB,EAAEN,KAAK0C,IAAIpD,KAAK0M,UAAU1M,KAAKqN,YAAYvN,GAAGmB,EAAEP,KAAKyC,IAAInD,KAAK0M,UAAU1M,KAAKgC,UAAUf,IAAIlB,EAAEM,UAAU+lB,kBAAkB,WAAWpmB,KAAK0hB,YAAY1gB,EAAEN,KAAKiN,IAAI3N,KAAK2W,SAAS,GAAG3V,EAAEhB,KAAK2W,SAAS,GAAG3V,GAAGhB,KAAK0hB,YAAYzgB,EAAEP,KAAKiN,IAAI3N,KAAK2W,SAAS,GAAG1V,EAAEjB,KAAK2W,SAAS,GAAG1V,GAAGjB,KAAK0hB,YAAYtf,MAAM1B,KAAKyM,IAAInN,KAAK2W,SAAS,GAAG3V,EAAEhB,KAAK2W,SAAS,GAAG3V,GAAGhB,KAAK0hB,YAAY1gB,EAAEhB,KAAK0hB,YAAYrf,OAAO3B,KAAKyM,IAAInN,KAAK2W,SAAS,GAAG1V,EAAEjB,KAAK2W,SAAS,GAAG1V,GAAGjB,KAAK0hB,YAAYzgB,GAAGlB,EAAEM,UAAUkmB,qBAAqB,WAAWzmB,GAAE2B,OAAOzB,KAAKikB,eAAe,GAAGnkB,GAAEyB,SAASvB,KAAKikB,eAAe,GAAGjkB,KAAK2W,SAAS,GAAG3W,KAAK2W,SAAS,MAAhwC,GAA2wC,IAAAV,GAAE,WAAW,SAASlW,EAAEA,GAAGC,KAAKqN,YAAYtN,EAAEC,KAAKwO,KAAKtJ,GAAEqG,QAAQvL,KAAK2W,SAAS,GAAG3W,KAAK0hB,YAAY,IAAIpgB,GAAE,EAAE,EAAE,EAAE,GAAGtB,KAAK0M,SAAS,EAAE1M,KAAKymB,gBAAgB,GAAGzmB,KAAKgC,UAAU,IAAIlC,GAAEE,KAAK0mB,QAAQlZ,OAAOC,iBAAiBzN,KAAK2mB,QAAQnZ,OAAOC,iBAAiBzN,KAAK4mB,SAASpZ,OAAOC,iBAAiBzN,KAAK6mB,SAASrZ,OAAOC,iBAAiB,IAAI,IAAI1L,EAAE,EAAEA,EAAE/B,KAAKqN,YAAYrJ,OAAOjC,IAAI/B,KAAK2W,SAAS3N,KAAK,IAAIlJ,IAAGE,KAAKymB,gBAAgBzd,KAAK,IAAIlJ,IAAG,OAAOK,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUjB,KAAKjB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,iBAAiB,CAACC,IAAI,WAAW,OAAON,KAAKymB,iBAAiBjmB,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAUuH,OAAO,WAAW5H,KAAKsmB,iBAAiBtmB,KAAKomB,oBAAoBpmB,KAAKumB,wBAAwBxmB,EAAEM,UAAUimB,eAAe,WAAW,IAAI,IAAIxmB,EAAE,EAAEA,EAAEE,KAAKqN,YAAYrJ,OAAOlE,IAAIE,KAAK2W,SAAS7W,GAAGS,IAAIP,KAAKqN,YAAYvN,GAAGkB,EAAEN,KAAKyC,IAAInD,KAAK0M,UAAU1M,KAAKqN,YAAYvN,GAAGmB,EAAEP,KAAK0C,IAAIpD,KAAK0M,UAAU1M,KAAKgC,UAAUhB,EAAEhB,KAAKqN,YAAYvN,GAAGkB,EAAEN,KAAK0C,IAAIpD,KAAK0M,UAAU1M,KAAKqN,YAAYvN,GAAGmB,EAAEP,KAAKyC,IAAInD,KAAK0M,UAAU1M,KAAKgC,UAAUf,IAAIlB,EAAEM,UAAU+lB,kBAAkB,WAAW,IAAItmB,EAAEE,KAAKA,KAAK0mB,QAAQ1mB,KAAK2W,SAAS,GAAG3V,EAAEhB,KAAK2mB,QAAQ3mB,KAAK2W,SAAS,GAAG1V,EAAEjB,KAAK4mB,QAAQ5mB,KAAK2W,SAAS,GAAG3V,EAAEhB,KAAK6mB,QAAQ7mB,KAAK2W,SAAS,GAAG1V,EAAEjB,KAAK2W,SAAS7N,SAAS,SAASxH,GAAGxB,EAAE4mB,QAAQhmB,KAAKiN,IAAIrM,EAAEN,EAAElB,EAAE4mB,SAAS5mB,EAAE6mB,QAAQjmB,KAAKiN,IAAIrM,EAAEL,EAAEnB,EAAE6mB,SAAS7mB,EAAE8mB,QAAQlmB,KAAKyM,IAAI7L,EAAEN,EAAElB,EAAE8mB,SAAS9mB,EAAE+mB,QAAQnmB,KAAKyM,IAAI7L,EAAEL,EAAEnB,EAAE+mB,YAAY7mB,KAAK0hB,YAAYnhB,IAAIP,KAAK0mB,QAAQ1mB,KAAK2mB,QAAQ3mB,KAAK4mB,QAAQ5mB,KAAK0mB,QAAQ1mB,KAAK6mB,QAAQ7mB,KAAK2mB,UAAU5mB,EAAEM,UAAUkmB,qBAAqB,WAAW,IAAI,IAAIjlB,EAAEvB,EAAE,EAAEA,EAAEC,KAAK2W,SAAS3S,OAAOjE,IAAID,GAAE2B,OAAOzB,KAAKymB,gBAAgB1mB,GAAGD,GAAEyB,SAASvB,KAAKymB,gBAAgB1mB,GAAG,QAAQuB,EAAEtB,KAAK2W,SAAS5W,EAAE,UAAK,IAASuB,EAAEA,EAAEtB,KAAK2W,SAAS,GAAG3W,KAAK2W,SAAS5W,MAAMA,EAAxyD,IAA+yD,SAASuB,GAAG,SAASvB,EAAEA,EAAEgC,GAAG,IAAID,EAAER,EAAEmC,KAAKzD,KAAK,CAAC,IAAIF,IAAGC,EAAE,GAAGgC,EAAE,GAAG,IAAIjC,IAAGC,EAAE,EAAEgC,EAAE,GAAG,IAAIjC,GAAEC,EAAE,EAAEgC,EAAE,GAAG,IAAIjC,GAAEC,EAAE,GAAGgC,EAAE,MAAM/B,KAAK,OAAO8B,EAAEM,MAAMrC,EAAE+B,EAAEO,OAAON,EAAED,EAAE2kB,gBAAgB,CAAC,IAAI3mB,GAAE,IAAIA,IAAGgC,GAAS,SAAShC,EAAEwB,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAIoC,UAAU,uBAAuBC,OAAOrC,GAAG,iCAAiC,SAASvB,IAAIC,KAAK4D,YAAY9D,EAAEkB,GAAElB,EAAEwB,GAAGxB,EAAEO,UAAU,OAAOiB,EAAEnB,OAAO0D,OAAOvC,IAAIvB,EAAEM,UAAUiB,EAAEjB,UAAU,IAAIN,IAAhP,CAAoPA,EAAEuB,GAAGvB,EAAEM,UAAU0mB,WAAW,SAASjnB,EAAEwB,GAAGtB,KAAKoC,MAAMtC,EAAEE,KAAKqC,OAAOf,EAAEtB,KAAKqN,YAAY,GAAG9M,KAAKT,EAAE,GAAGwB,EAAE,GAAGtB,KAAKqN,YAAY,GAAG9M,KAAKT,EAAE,EAAEwB,EAAE,GAAGtB,KAAKqN,YAAY,GAAG9M,IAAIT,EAAE,EAAEwB,EAAE,GAAGtB,KAAKqN,YAAY,GAAG9M,IAAIT,EAAE,GAAGwB,EAAE,IAAIvB,EAAEM,UAAUkmB,qBAAqB,WAAWzmB,GAAEgB,KAAKd,KAAKikB,eAAe,GAAGnkB,GAAEyB,SAASvB,KAAKikB,eAAe,GAAGjkB,KAAK2W,SAAS,GAAG3W,KAAK2W,SAAS,KAAK7W,GAAE2B,OAAOzB,KAAKikB,eAAe,GAAGjkB,KAAKikB,eAAe,KAAl0B,CAA00BhO,kVFA60vF,6hBDAvh9G,SAASnW,EAAEC,EAAEuB,GAAG,OAAOxB,GAAGC,GAAGD,GAAGwB,iBAA5W,SAASxB,EAAEC,EAAEuB,GAAG,OAAOZ,KAAKiN,IAAIrM,EAAEZ,KAAKyM,IAAIpN,EAAED,8CAAiE,SAASA,EAAEC,EAAEuB,GAAG,YAAO,IAASA,IAAIA,EAAE,GAAGqB,EAAEjC,KAAKy+B,UAAUp/B,EAAED,GAAGA,EAAEwB,sBAA3H,SAASxB,EAAEC,GAAG,OAAOW,KAAKmB,MAAMnB,KAAKy+B,UAAUp/B,EAAED,IAAIA,iBAAgJ,SAASA,EAAEC,EAAEuB,QAAG,IAASA,IAAIA,EAAE,GAAG,IAAI,IAAIQ,EAAE,GAAGC,EAAEjC,EAAEiC,GAAGhC,EAAEgC,GAAGT,EAAEQ,EAAEkH,KAAKjH,GAAG,OAAOD"}