@nayan-ui/games 1.18.0 → 1.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1808) hide show
  1. package/README.md +53 -191
  2. package/lib/module/assets/fonts/Inter-SemiBold.ttf +0 -0
  3. package/lib/module/assets/models/explorer/explorer.glb +0 -0
  4. package/lib/module/assets/models/explorer/params.json +51 -0
  5. package/lib/module/assets/models/explorer/source.json +222 -0
  6. package/lib/module/assets/models/play-with-tua/play-with-tua.glb +0 -0
  7. package/lib/module/assets/models/play-with-tua/sources.json +141 -0
  8. package/lib/module/assets/sfx/balloon_pop.wav +0 -0
  9. package/lib/module/assets/sfx/blocked.wav +0 -0
  10. package/lib/module/assets/sfx/boing.wav +0 -0
  11. package/lib/module/assets/sfx/bonus.wav +0 -0
  12. package/lib/module/assets/sfx/boom.wav +0 -0
  13. package/lib/module/assets/sfx/bump.wav +0 -0
  14. package/lib/module/assets/sfx/cannon.wav +0 -0
  15. package/lib/module/assets/sfx/capture.wav +0 -0
  16. package/lib/module/assets/sfx/card_flip.wav +0 -0
  17. package/lib/module/assets/sfx/card_place.wav +0 -0
  18. package/lib/module/assets/sfx/catch.wav +0 -0
  19. package/lib/module/assets/sfx/chime.wav +0 -0
  20. package/lib/module/assets/sfx/chomp.wav +0 -0
  21. package/lib/module/assets/sfx/chomp_alt.wav +0 -0
  22. package/lib/module/assets/sfx/clack.wav +0 -0
  23. package/lib/module/assets/sfx/clang.wav +0 -0
  24. package/lib/module/assets/sfx/clash.wav +0 -0
  25. package/lib/module/assets/sfx/click.wav +0 -0
  26. package/lib/module/assets/sfx/coin.wav +0 -0
  27. package/lib/module/assets/sfx/combo.wav +0 -0
  28. package/lib/module/assets/sfx/crash.wav +0 -0
  29. package/lib/module/assets/sfx/crunch.wav +0 -0
  30. package/lib/module/assets/sfx/dance.wav +0 -0
  31. package/lib/module/assets/sfx/deselect.wav +0 -0
  32. package/lib/module/assets/sfx/dice_roll.wav +0 -0
  33. package/lib/module/assets/sfx/die.wav +0 -0
  34. package/lib/module/assets/sfx/draw.wav +0 -0
  35. package/lib/module/assets/sfx/drop.wav +0 -0
  36. package/lib/module/assets/sfx/eat.wav +0 -0
  37. package/lib/module/assets/sfx/engine.wav +0 -0
  38. package/lib/module/assets/sfx/error.wav +0 -0
  39. package/lib/module/assets/sfx/flag.wav +0 -0
  40. package/lib/module/assets/sfx/flap.wav +0 -0
  41. package/lib/module/assets/sfx/flip_disc.wav +0 -0
  42. package/lib/module/assets/sfx/footstep_run.wav +0 -0
  43. package/lib/module/assets/sfx/footstep_walk.wav +0 -0
  44. package/lib/module/assets/sfx/game_over.wav +0 -0
  45. package/lib/module/assets/sfx/gate.wav +0 -0
  46. package/lib/module/assets/sfx/hit.wav +0 -0
  47. package/lib/module/assets/sfx/hop.wav +0 -0
  48. package/lib/module/assets/sfx/hurt.wav +0 -0
  49. package/lib/module/assets/sfx/invalid.wav +0 -0
  50. package/lib/module/assets/sfx/jump.wav +0 -0
  51. package/lib/module/assets/sfx/ladder.wav +0 -0
  52. package/lib/module/assets/sfx/land.wav +0 -0
  53. package/lib/module/assets/sfx/laugh.wav +0 -0
  54. package/lib/module/assets/sfx/lose.wav +0 -0
  55. package/lib/module/assets/sfx/merge.wav +0 -0
  56. package/lib/module/assets/sfx/miss.wav +0 -0
  57. package/lib/module/assets/sfx/nitro.wav +0 -0
  58. package/lib/module/assets/sfx/pew.wav +0 -0
  59. package/lib/module/assets/sfx/place.wav +0 -0
  60. package/lib/module/assets/sfx/pling.wav +0 -0
  61. package/lib/module/assets/sfx/point.wav +0 -0
  62. package/lib/module/assets/sfx/pop.wav +0 -0
  63. package/lib/module/assets/sfx/pop_soft.wav +0 -0
  64. package/lib/module/assets/sfx/power_up.wav +0 -0
  65. package/lib/module/assets/sfx/reveal.wav +0 -0
  66. package/lib/module/assets/sfx/robot.wav +0 -0
  67. package/lib/module/assets/sfx/rotate.wav +0 -0
  68. package/lib/module/assets/sfx/run_steps.wav +0 -0
  69. package/lib/module/assets/sfx/select.wav +0 -0
  70. package/lib/module/assets/sfx/shuffle.wav +0 -0
  71. package/lib/module/assets/sfx/six.wav +0 -0
  72. package/lib/module/assets/sfx/slice.wav +0 -0
  73. package/lib/module/assets/sfx/slide.wav +0 -0
  74. package/lib/module/assets/sfx/snake.wav +0 -0
  75. package/lib/module/assets/sfx/snap.wav +0 -0
  76. package/lib/module/assets/sfx/splash.wav +0 -0
  77. package/lib/module/assets/sfx/star.wav +0 -0
  78. package/lib/module/assets/sfx/start.wav +0 -0
  79. package/lib/module/assets/sfx/swoosh.wav +0 -0
  80. package/lib/module/assets/sfx/tap.wav +0 -0
  81. package/lib/module/assets/sfx/thud.wav +0 -0
  82. package/lib/module/assets/sfx/thunk.wav +0 -0
  83. package/lib/module/assets/sfx/tick.wav +0 -0
  84. package/lib/module/assets/sfx/time_up.wav +0 -0
  85. package/lib/module/assets/sfx/tock.wav +0 -0
  86. package/lib/module/assets/sfx/walk_steps.wav +0 -0
  87. package/lib/module/assets/sfx/warning.wav +0 -0
  88. package/lib/module/assets/sfx/whack.wav +0 -0
  89. package/lib/module/assets/sfx/whoosh.wav +0 -0
  90. package/lib/module/assets/sfx/win.wav +0 -0
  91. package/lib/module/assets/sfx/zap.wav +0 -0
  92. package/lib/module/assets/textures/ad_bolt.png +0 -0
  93. package/lib/module/assets/textures/ad_bubbles.png +0 -0
  94. package/lib/module/assets/textures/ad_chevrons.png +0 -0
  95. package/lib/module/assets/textures/asphalt.png +0 -0
  96. package/lib/module/assets/textures/bark.jpg +0 -0
  97. package/lib/module/assets/textures/explorer-atlas.png +0 -0
  98. package/lib/module/assets/textures/facade.png +0 -0
  99. package/lib/module/assets/textures/grass.png +0 -0
  100. package/lib/module/assets/textures/leaves.png +0 -0
  101. package/lib/module/assets/textures/limestone.jpg +0 -0
  102. package/lib/module/assets/textures/meadow.jpg +0 -0
  103. package/lib/module/assets/textures/nature-sources.json +87 -0
  104. package/lib/module/assets/textures/pine.png +0 -0
  105. package/lib/module/assets/textures/river.jpg +0 -0
  106. package/lib/module/assets/textures/soft_glow.png +0 -0
  107. package/lib/module/games/arrows/Arrows.js +1 -1
  108. package/lib/module/games/arrows/ArrowsConstants.js +1 -1
  109. package/lib/module/games/arrows/ArrowsGame.js +1 -0
  110. package/lib/module/games/arrows/ArrowsScene.js +1 -0
  111. package/lib/module/games/balloon-blaster/BalloonBlaster.js +1 -1
  112. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js +1 -1
  113. package/lib/module/games/balloon-blaster/BalloonBlasterGame.js +1 -0
  114. package/lib/module/games/balloon-blaster/BalloonBlasterPhysics.js +1 -0
  115. package/lib/module/games/balloon-blaster/BalloonBlasterScene.js +1 -0
  116. package/lib/module/games/bike-racing/BikeMeshes.js +1 -0
  117. package/lib/module/games/bike-racing/BikeRacing.js +1 -1
  118. package/lib/module/games/bike-racing/BikeRacingConstants.js +1 -1
  119. package/lib/module/games/bike-racing/BikeRacingGame.js +1 -0
  120. package/lib/module/games/bike-racing/BikeRacingScene.js +1 -0
  121. package/lib/module/games/block-blast/BlockBlast.js +1 -1
  122. package/lib/module/games/block-blast/BlockBlastConstants.js +1 -1
  123. package/lib/module/games/block-blast/BlockBlastGame.js +1 -0
  124. package/lib/module/games/block-blast/BlockBlastScene.js +1 -0
  125. package/lib/module/games/block-breaker/BlockBreaker.js +1 -1
  126. package/lib/module/games/block-breaker/BlockBreakerConstants.js +1 -1
  127. package/lib/module/games/block-breaker/BlockBreakerGame.js +1 -0
  128. package/lib/module/games/block-breaker/BlockBreakerScene.js +1 -0
  129. package/lib/module/games/bluk/Bluk.js +1 -1
  130. package/lib/module/games/bluk/BlukConstants.js +1 -1
  131. package/lib/module/games/bluk/BlukGame.js +1 -0
  132. package/lib/module/games/bluk/BlukRules.js +1 -0
  133. package/lib/module/games/bluk/BlukScene.js +1 -0
  134. package/lib/module/games/bubble-shooter/BubbleShooter.js +1 -1
  135. package/lib/module/games/bubble-shooter/BubbleShooterConstants.js +1 -1
  136. package/lib/module/games/bubble-shooter/BubbleShooterGame.js +1 -0
  137. package/lib/module/games/bubble-shooter/BubbleShooterScene.js +1 -0
  138. package/lib/module/games/candy-crush/CandyCrush.js +1 -1
  139. package/lib/module/games/candy-crush/CandyCrushConstants.js +1 -1
  140. package/lib/module/games/candy-crush/CandyCrushGame.js +1 -0
  141. package/lib/module/games/candy-crush/CandyCrushScene.js +1 -0
  142. package/lib/module/games/car-racing/CarMeshes.js +1 -0
  143. package/lib/module/games/car-racing/CarRacing.js +1 -1
  144. package/lib/module/games/car-racing/CarRacingConstants.js +1 -1
  145. package/lib/module/games/car-racing/CarRacingFacade.js +1 -0
  146. package/lib/module/games/car-racing/CarRacingGame.js +1 -0
  147. package/lib/module/games/car-racing/CarRacingScene.js +1 -0
  148. package/lib/module/games/car-racing/CarRacingScenery.js +1 -0
  149. package/lib/module/games/chameleon-run/ChameleonRun.js +1 -1
  150. package/lib/module/games/chameleon-run/ChameleonRunBackdrop.js +1 -0
  151. package/lib/module/games/chameleon-run/ChameleonRunConstants.js +1 -1
  152. package/lib/module/games/chameleon-run/ChameleonRunGame.js +1 -0
  153. package/lib/module/games/chameleon-run/ChameleonRunMeshes.js +1 -0
  154. package/lib/module/games/chameleon-run/ChameleonRunRules.js +1 -0
  155. package/lib/module/games/chameleon-run/ChameleonRunScene.js +1 -0
  156. package/lib/module/games/checkers/Checkers.js +1 -1
  157. package/lib/module/games/checkers/CheckersAI.js +1 -0
  158. package/lib/module/games/checkers/CheckersConstants.js +1 -1
  159. package/lib/module/games/checkers/CheckersGame.js +1 -0
  160. package/lib/module/games/checkers/CheckersRules.js +1 -0
  161. package/lib/module/games/checkers/CheckersScene.js +1 -0
  162. package/lib/module/games/color-switch/ColorSwitch.js +1 -1
  163. package/lib/module/games/color-switch/ColorSwitchConstants.js +1 -1
  164. package/lib/module/games/color-switch/ColorSwitchGame.js +1 -0
  165. package/lib/module/games/color-switch/ColorSwitchScene.js +1 -0
  166. package/lib/module/games/colors-sort/ColorsSort.js +1 -1
  167. package/lib/module/games/colors-sort/ColorsSortConstants.js +1 -1
  168. package/lib/module/games/colors-sort/ColorsSortGame.js +1 -0
  169. package/lib/module/games/colors-sort/ColorsSortScene.js +1 -0
  170. package/lib/module/games/connect-em-all/ConnectEmAll.js +1 -1
  171. package/lib/module/games/connect-em-all/ConnectEmAllConstants.js +1 -1
  172. package/lib/module/games/connect-em-all/ConnectEmAllGame.js +1 -0
  173. package/lib/module/games/connect-em-all/ConnectEmAllScene.js +1 -0
  174. package/lib/module/games/crossy-road/CrossyRoad.js +1 -1
  175. package/lib/module/games/crossy-road/CrossyRoadCamera.js +1 -0
  176. package/lib/module/games/crossy-road/CrossyRoadConstants.js +1 -1
  177. package/lib/module/games/crossy-road/CrossyRoadGame.js +1 -0
  178. package/lib/module/games/crossy-road/CrossyRoadMeshes.js +1 -0
  179. package/lib/module/games/crossy-road/CrossyRoadPerson.js +1 -0
  180. package/lib/module/games/crossy-road/CrossyRoadRules.js +1 -0
  181. package/lib/module/games/crossy-road/CrossyRoadScene.js +1 -0
  182. package/lib/module/games/dino-jump/DinoJump.js +1 -1
  183. package/lib/module/games/dino-jump/DinoJumpConstants.js +1 -1
  184. package/lib/module/games/dino-jump/DinoJumpGame.js +1 -0
  185. package/lib/module/games/dino-jump/DinoJumpScene.js +1 -0
  186. package/lib/module/games/dots-and-boxes/DotsAndBoxes.js +1 -1
  187. package/lib/module/games/dots-and-boxes/DotsAndBoxesConstants.js +1 -1
  188. package/lib/module/games/dots-and-boxes/DotsAndBoxesGame.js +1 -0
  189. package/lib/module/games/dots-and-boxes/DotsAndBoxesScene.js +1 -0
  190. package/lib/module/games/falling-sticks/FallingSticks.js +1 -1
  191. package/lib/module/games/falling-sticks/FallingSticksConstants.js +1 -1
  192. package/lib/module/games/falling-sticks/FallingSticksGame.js +1 -0
  193. package/lib/module/games/falling-sticks/FallingSticksRules.js +1 -0
  194. package/lib/module/games/falling-sticks/FallingSticksScene.js +1 -0
  195. package/lib/module/games/find-different-number/FindDifferentNumber.js +1 -1
  196. package/lib/module/games/find-different-number/FindDifferentNumberConstants.js +1 -1
  197. package/lib/module/games/find-different-number/FindDifferentNumberGame.js +1 -0
  198. package/lib/module/games/find-different-number/FindDifferentNumberRules.js +1 -0
  199. package/lib/module/games/find-different-number/FindDifferentNumberScene.js +1 -0
  200. package/lib/module/games/flappy-bird/FlappyBird.js +1 -1
  201. package/lib/module/games/flappy-bird/FlappyBirdConstants.js +1 -1
  202. package/lib/module/games/flappy-bird/FlappyBirdGame.js +1 -0
  203. package/lib/module/games/flappy-bird/FlappyBirdScene.js +1 -0
  204. package/lib/module/games/fruit-merger/FruitMerger.js +1 -1
  205. package/lib/module/games/fruit-merger/FruitMergerConstants.js +1 -1
  206. package/lib/module/games/fruit-merger/FruitMergerGame.js +1 -0
  207. package/lib/module/games/fruit-merger/FruitMergerRules.js +1 -0
  208. package/lib/module/games/fruit-merger/FruitMergerScene.js +1 -0
  209. package/lib/module/games/fruit-ninja/FruitNinja.js +1 -1
  210. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js +1 -1
  211. package/lib/module/games/fruit-ninja/FruitNinjaGame.js +1 -0
  212. package/lib/module/games/fruit-ninja/FruitNinjaScene.js +1 -0
  213. package/lib/module/games/fruit-ninja/FruitNinjaWorld.js +1 -0
  214. package/lib/module/games/game-2048/Game2048.js +1 -1
  215. package/lib/module/games/game-2048/Game2048Constants.js +1 -1
  216. package/lib/module/games/game-2048/Game2048Game.js +1 -0
  217. package/lib/module/games/game-2048/Game2048Rules.js +1 -0
  218. package/lib/module/games/game-2048/Game2048Scene.js +1 -0
  219. package/lib/module/games/knife-hit/KnifeHit.js +1 -1
  220. package/lib/module/games/knife-hit/KnifeHitConstants.js +1 -1
  221. package/lib/module/games/knife-hit/KnifeHitGame.js +1 -0
  222. package/lib/module/games/knife-hit/KnifeHitScene.js +1 -0
  223. package/lib/module/games/ludo-king/LudoKing.js +1 -1
  224. package/lib/module/games/ludo-king/LudoKingConstants.js +1 -1
  225. package/lib/module/games/ludo-king/LudoKingGame.js +1 -0
  226. package/lib/module/games/ludo-king/LudoKingRules.js +1 -0
  227. package/lib/module/games/ludo-king/LudoKingScene.js +1 -0
  228. package/lib/module/games/maze-runner/MazeRunner.js +1 -1
  229. package/lib/module/games/maze-runner/MazeRunnerConstants.js +1 -1
  230. package/lib/module/games/maze-runner/MazeRunnerGame.js +1 -0
  231. package/lib/module/games/maze-runner/MazeRunnerRules.js +1 -0
  232. package/lib/module/games/maze-runner/MazeRunnerScene.js +1 -0
  233. package/lib/module/games/memory-match/MemoryMatch.js +1 -1
  234. package/lib/module/games/memory-match/MemoryMatchConstants.js +1 -1
  235. package/lib/module/games/memory-match/MemoryMatchGame.js +1 -0
  236. package/lib/module/games/memory-match/MemoryMatchRules.js +1 -0
  237. package/lib/module/games/memory-match/MemoryMatchScene.js +1 -0
  238. package/lib/module/games/mine-sweeper/MineSweeper.js +1 -1
  239. package/lib/module/games/mine-sweeper/MineSweeperConstants.js +1 -1
  240. package/lib/module/games/mine-sweeper/MineSweeperGame.js +1 -0
  241. package/lib/module/games/mine-sweeper/MineSweeperRules.js +1 -0
  242. package/lib/module/games/mine-sweeper/MineSweeperScene.js +1 -0
  243. package/lib/module/games/mob-control/MobControl.js +1 -1
  244. package/lib/module/games/mob-control/MobControlConstants.js +1 -1
  245. package/lib/module/games/mob-control/MobControlGame.js +1 -0
  246. package/lib/module/games/mob-control/MobControlMeshes.js +1 -0
  247. package/lib/module/games/mob-control/MobControlRenderer.js +1 -0
  248. package/lib/module/games/mob-control/MobControlRules.js +1 -0
  249. package/lib/module/games/mob-control/MobControlScene.js +1 -0
  250. package/lib/module/games/number-search/NumberSearch.js +1 -1
  251. package/lib/module/games/number-search/NumberSearchNumbers.js +1 -0
  252. package/lib/module/games/nuts-and-bolts/NutsAndBolts.js +1 -1
  253. package/lib/module/games/nuts-and-bolts/NutsAndBoltsConstants.js +1 -1
  254. package/lib/module/games/nuts-and-bolts/NutsAndBoltsGame.js +1 -0
  255. package/lib/module/games/nuts-and-bolts/NutsAndBoltsRules.js +1 -0
  256. package/lib/module/games/nuts-and-bolts/NutsAndBoltsScene.js +1 -0
  257. package/lib/module/games/pac-man/PacMan.js +1 -1
  258. package/lib/module/games/pac-man/PacManConstants.js +1 -1
  259. package/lib/module/games/pac-man/PacManGame.js +1 -0
  260. package/lib/module/games/pac-man/PacManRules.js +1 -0
  261. package/lib/module/games/pac-man/PacManScene.js +1 -0
  262. package/lib/module/games/paper-io/PaperIo.js +1 -1
  263. package/lib/module/games/paper-io/PaperIoConstants.js +1 -1
  264. package/lib/module/games/paper-io/PaperIoGame.js +1 -0
  265. package/lib/module/games/paper-io/PaperIoMeshes.js +1 -0
  266. package/lib/module/games/paper-io/PaperIoRules.js +1 -0
  267. package/lib/module/games/paper-io/PaperIoScene.js +1 -0
  268. package/lib/module/games/penguin-run/PenguinMeshes.js +1 -0
  269. package/lib/module/games/penguin-run/PenguinModel.js +1 -0
  270. package/lib/module/games/penguin-run/PenguinRun.js +1 -0
  271. package/lib/module/games/penguin-run/PenguinRunConstants.js +1 -0
  272. package/lib/module/games/penguin-run/PenguinRunGame.js +1 -0
  273. package/lib/module/games/penguin-run/PenguinRunScene.js +1 -0
  274. package/lib/module/games/perfect-circle/PerfectCircle.js +1 -1
  275. package/lib/module/games/perfect-circle/PerfectCircleConstants.js +1 -1
  276. package/lib/module/games/perfect-circle/PerfectCircleGame.js +1 -0
  277. package/lib/module/games/perfect-circle/PerfectCircleRules.js +1 -0
  278. package/lib/module/games/perfect-circle/PerfectCircleScene.js +1 -0
  279. package/lib/module/games/pipe-connect/PipeConnect.js +1 -1
  280. package/lib/module/games/pipe-connect/PipeConnectConstants.js +1 -1
  281. package/lib/module/games/pipe-connect/PipeConnectGame.js +1 -0
  282. package/lib/module/games/pipe-connect/PipeConnectRules.js +1 -0
  283. package/lib/module/games/pipe-connect/PipeConnectScene.js +1 -0
  284. package/lib/module/games/play-with-tua/PlayWithTua.js +1 -0
  285. package/lib/module/games/play-with-tua/PlayWithTuaConstants.js +1 -0
  286. package/lib/module/games/play-with-tua/PlayWithTuaGame.js +1 -0
  287. package/lib/module/games/play-with-tua/PlayWithTuaModel.js +1 -0
  288. package/lib/module/games/play-with-tua/PlayWithTuaScene.js +1 -0
  289. package/lib/module/games/popit-fidget/PopitFidget.js +1 -1
  290. package/lib/module/games/popit-fidget/PopitFidgetConstants.js +1 -1
  291. package/lib/module/games/popit-fidget/PopitFidgetGame.js +1 -0
  292. package/lib/module/games/popit-fidget/PopitFidgetScene.js +1 -0
  293. package/lib/module/games/reversi/Reversi.js +1 -1
  294. package/lib/module/games/reversi/ReversiConstants.js +1 -1
  295. package/lib/module/games/reversi/ReversiGame.js +1 -0
  296. package/lib/module/games/reversi/ReversiRules.js +1 -0
  297. package/lib/module/games/reversi/ReversiScene.js +1 -0
  298. package/lib/module/games/search-grid/SearchGrid.js +1 -0
  299. package/lib/module/games/search-grid/SearchGridConstants.js +1 -0
  300. package/lib/module/games/search-grid/SearchGridGame.js +1 -0
  301. package/lib/module/games/search-grid/SearchGridScene.js +1 -0
  302. package/lib/module/games/shared/BackdropCard.js +1 -0
  303. package/lib/module/games/shared/EngineBackdrop.js +1 -0
  304. package/lib/module/games/shared/EngineBlasts.js +1 -0
  305. package/lib/module/games/shared/EngineBlocks.js +1 -0
  306. package/lib/module/games/shared/EngineControlText.js +1 -0
  307. package/lib/module/games/shared/EngineDice.js +1 -0
  308. package/lib/module/games/shared/EngineFootprint.js +1 -0
  309. package/lib/module/games/shared/EngineFruits.js +1 -0
  310. package/lib/module/games/shared/EngineGameLoader.js +1 -0
  311. package/lib/module/games/shared/EngineGameScreen.js +1 -0
  312. package/lib/module/games/shared/EngineGameWidth.js +1 -0
  313. package/lib/module/games/shared/EngineGameWidth.web.js +1 -0
  314. package/lib/module/games/shared/EngineGlyphs.js +1 -0
  315. package/lib/module/games/shared/EngineHud.js +1 -0
  316. package/lib/module/games/shared/EngineLoading.js +1 -0
  317. package/lib/module/games/shared/EngineMeadow.js +1 -0
  318. package/lib/module/games/shared/EngineMeshCache.js +1 -0
  319. package/lib/module/games/shared/EngineMeshes.js +1 -0
  320. package/lib/module/games/shared/EngineRacingChase.js +1 -0
  321. package/lib/module/games/shared/EngineRacingHandling.js +1 -0
  322. package/lib/module/games/shared/EngineReadyContext.js +1 -0
  323. package/lib/module/games/shared/EngineTilt.js +1 -0
  324. package/lib/module/games/shared/EngineTouchSurface.js +1 -0
  325. package/lib/module/games/shared/EngineUtils.js +1 -0
  326. package/lib/module/games/shared/GameActivity.js +1 -0
  327. package/lib/module/games/shared/GameLoading.js +1 -0
  328. package/lib/module/games/shared/GameLoadingTransition.js +1 -0
  329. package/lib/module/games/shared/ProceduralCacheVersion.js +1 -0
  330. package/lib/module/games/shared/useEngineGame.js +1 -0
  331. package/lib/module/games/shared/useGameResource.js +1 -0
  332. package/lib/module/games/shared/useLiveState.js +1 -0
  333. package/lib/module/games/sliding-numbers/SlidingNumbers.js +1 -1
  334. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js +1 -1
  335. package/lib/module/games/sliding-numbers/SlidingNumbersGame.js +1 -0
  336. package/lib/module/games/sliding-numbers/SlidingNumbersRules.js +1 -0
  337. package/lib/module/games/sliding-numbers/SlidingNumbersScene.js +1 -0
  338. package/lib/module/games/snake-3d/Snake3D.js +1 -1
  339. package/lib/module/games/snake-3d/Snake3DConstants.js +1 -1
  340. package/lib/module/games/snake-3d/Snake3DGame.js +1 -0
  341. package/lib/module/games/snake-3d/Snake3DMotion.js +1 -0
  342. package/lib/module/games/snake-3d/Snake3DRules.js +1 -0
  343. package/lib/module/games/snake-3d/Snake3DScene.js +1 -0
  344. package/lib/module/games/snakes-and-ladders/SnakesAndLadders.js +1 -1
  345. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersConstants.js +1 -1
  346. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersGame.js +1 -0
  347. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersScene.js +1 -0
  348. package/lib/module/games/space-fighter/SpaceFighter.js +1 -1
  349. package/lib/module/games/space-fighter/SpaceFighterConstants.js +1 -1
  350. package/lib/module/games/space-fighter/SpaceFighterGame.js +1 -0
  351. package/lib/module/games/space-fighter/SpaceFighterScene.js +1 -0
  352. package/lib/module/games/spider-solitaire/SpiderSolitaire.js +1 -1
  353. package/lib/module/games/spider-solitaire/SpiderSolitaireConstants.js +1 -1
  354. package/lib/module/games/spider-solitaire/SpiderSolitaireGame.js +1 -0
  355. package/lib/module/games/spider-solitaire/SpiderSolitaireRules.js +1 -0
  356. package/lib/module/games/spider-solitaire/SpiderSolitaireScene.js +1 -0
  357. package/lib/module/games/stack-tower/StackTower.js +1 -1
  358. package/lib/module/games/stack-tower/StackTowerConstants.js +1 -1
  359. package/lib/module/games/stack-tower/StackTowerGame.js +1 -0
  360. package/lib/module/games/stack-tower/StackTowerScene.js +1 -0
  361. package/lib/module/games/sudoku/Sudoku.js +1 -1
  362. package/lib/module/games/sudoku/SudokuConstants.js +1 -1
  363. package/lib/module/games/sudoku/SudokuGame.js +1 -0
  364. package/lib/module/games/sudoku/SudokuRules.js +1 -0
  365. package/lib/module/games/sudoku/SudokuScene.js +1 -0
  366. package/lib/module/games/tangram/Tangram.js +1 -1
  367. package/lib/module/games/tangram/TangramConstants.js +1 -1
  368. package/lib/module/games/tangram/TangramGame.js +1 -0
  369. package/lib/module/games/tangram/TangramRules.js +1 -0
  370. package/lib/module/games/tangram/TangramScene.js +1 -0
  371. package/lib/module/games/tank-1990/Tank1990.js +1 -1
  372. package/lib/module/games/tank-1990/Tank1990Constants.js +1 -1
  373. package/lib/module/games/tank-1990/Tank1990Game.js +1 -0
  374. package/lib/module/games/tank-1990/Tank1990Rules.js +1 -0
  375. package/lib/module/games/tank-1990/Tank1990Scene.js +1 -0
  376. package/lib/module/games/tic-tac-toe/TicTacToe.js +1 -1
  377. package/lib/module/games/tic-tac-toe/TicTacToeConstants.js +1 -1
  378. package/lib/module/games/tic-tac-toe/TicTacToeGame.js +1 -0
  379. package/lib/module/games/tic-tac-toe/TicTacToeRules.js +1 -0
  380. package/lib/module/games/tic-tac-toe/TicTacToeScene.js +1 -0
  381. package/lib/module/games/tile-home/TileHome.js +1 -1
  382. package/lib/module/games/tile-home/TileHomeConstants.js +1 -1
  383. package/lib/module/games/tile-home/TileHomeGame.js +1 -0
  384. package/lib/module/games/tile-home/TileHomeScene.js +1 -0
  385. package/lib/module/games/treasure-hunt/TreasureHunt.js +1 -0
  386. package/lib/module/games/treasure-hunt/TreasureHuntConstants.js +1 -0
  387. package/lib/module/games/treasure-hunt/TreasureHuntControls.js +1 -0
  388. package/lib/module/games/treasure-hunt/TreasureHuntGame.js +1 -0
  389. package/lib/module/games/treasure-hunt/TreasureHuntMeshes.js +1 -0
  390. package/lib/module/games/treasure-hunt/TreasureHuntModel.js +1 -0
  391. package/lib/module/games/treasure-hunt/TreasureHuntRules.js +1 -0
  392. package/lib/module/games/treasure-hunt/TreasureHuntScene.js +1 -0
  393. package/lib/module/games/whack-a-mole/WhackAMole.js +1 -1
  394. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js +1 -1
  395. package/lib/module/games/whack-a-mole/WhackAMoleGame.js +1 -0
  396. package/lib/module/games/whack-a-mole/WhackAMoleScene.js +1 -0
  397. package/lib/module/games/word-search/WordSearch.js +1 -1
  398. package/lib/module/games/word-search/WordSearchWords.js +1 -0
  399. package/lib/module/helpers/GamePatternData.js +1 -0
  400. package/lib/module/helpers/GameSettingsModal.js +1 -1
  401. package/lib/module/helpers/GameTheme.js +1 -0
  402. package/lib/module/helpers/IconPaths.js +1 -0
  403. package/lib/module/helpers/index.js +1 -1
  404. package/lib/module/index.js +1 -1
  405. package/lib/module/services/GameAssetLoader.js +1 -0
  406. package/lib/module/services/GameAssets.js +1 -0
  407. package/lib/module/services/GameLoaders.js +1 -0
  408. package/lib/module/services/GamesConstants.js +1 -1
  409. package/lib/module/services/GamesMetadata.js +1 -1
  410. package/lib/module/services/GamesService.js +1 -1
  411. package/lib/module/services/HapticsService.js +1 -1
  412. package/lib/module/services/ScoringService.js +1 -1
  413. package/lib/module/services/SfxSources.js +1 -0
  414. package/lib/module/services/SoundsService.js +1 -1
  415. package/lib/module/services/ThemeService.js +1 -0
  416. package/lib/module/services/UtilsService.js +1 -1
  417. package/lib/module/services/index.js +1 -1
  418. package/lib/typescript/src/games/arrows/Arrows.d.ts +1 -3
  419. package/lib/typescript/src/games/arrows/ArrowsConstants.d.ts +48 -32
  420. package/lib/typescript/src/games/arrows/ArrowsGame.d.ts +60 -0
  421. package/lib/typescript/src/games/arrows/ArrowsScene.d.ts +67 -0
  422. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts +1 -3
  423. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts +39 -131
  424. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterGame.d.ts +57 -0
  425. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterPhysics.d.ts +16 -0
  426. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterScene.d.ts +31 -0
  427. package/lib/typescript/src/games/bike-racing/BikeMeshes.d.ts +14 -0
  428. package/lib/typescript/src/games/bike-racing/BikeRacing.d.ts +2 -1
  429. package/lib/typescript/src/games/bike-racing/BikeRacingConstants.d.ts +38 -29
  430. package/lib/typescript/src/games/bike-racing/BikeRacingGame.d.ts +104 -0
  431. package/lib/typescript/src/games/bike-racing/BikeRacingScene.d.ts +25 -0
  432. package/lib/typescript/src/games/block-blast/BlockBlast.d.ts +1 -3
  433. package/lib/typescript/src/games/block-blast/BlockBlastConstants.d.ts +48 -30
  434. package/lib/typescript/src/games/block-blast/BlockBlastGame.d.ts +77 -0
  435. package/lib/typescript/src/games/block-blast/BlockBlastScene.d.ts +36 -0
  436. package/lib/typescript/src/games/block-breaker/BlockBreaker.d.ts +1 -3
  437. package/lib/typescript/src/games/block-breaker/BlockBreakerConstants.d.ts +88 -35
  438. package/lib/typescript/src/games/block-breaker/BlockBreakerGame.d.ts +82 -0
  439. package/lib/typescript/src/games/block-breaker/BlockBreakerScene.d.ts +48 -0
  440. package/lib/typescript/src/games/bluk/Bluk.d.ts +1 -3
  441. package/lib/typescript/src/games/bluk/BlukConstants.d.ts +65 -54
  442. package/lib/typescript/src/games/bluk/BlukGame.d.ts +65 -0
  443. package/lib/typescript/src/games/bluk/BlukRules.d.ts +51 -0
  444. package/lib/typescript/src/games/bluk/BlukScene.d.ts +54 -0
  445. package/lib/typescript/src/games/bubble-shooter/BubbleShooter.d.ts +1 -3
  446. package/lib/typescript/src/games/bubble-shooter/BubbleShooterConstants.d.ts +56 -24
  447. package/lib/typescript/src/games/bubble-shooter/BubbleShooterGame.d.ts +70 -0
  448. package/lib/typescript/src/games/bubble-shooter/BubbleShooterScene.d.ts +26 -0
  449. package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts +1 -3
  450. package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts +63 -32
  451. package/lib/typescript/src/games/candy-crush/CandyCrushGame.d.ts +65 -0
  452. package/lib/typescript/src/games/candy-crush/CandyCrushScene.d.ts +28 -0
  453. package/lib/typescript/src/games/car-racing/CarMeshes.d.ts +44 -0
  454. package/lib/typescript/src/games/car-racing/CarRacing.d.ts +2 -1
  455. package/lib/typescript/src/games/car-racing/CarRacingConstants.d.ts +60 -29
  456. package/lib/typescript/src/games/car-racing/CarRacingFacade.d.ts +5 -0
  457. package/lib/typescript/src/games/car-racing/CarRacingGame.d.ts +96 -0
  458. package/lib/typescript/src/games/car-racing/CarRacingScene.d.ts +97 -0
  459. package/lib/typescript/src/games/car-racing/CarRacingScenery.d.ts +22 -0
  460. package/lib/typescript/src/games/chameleon-run/ChameleonRun.d.ts +1 -3
  461. package/lib/typescript/src/games/chameleon-run/ChameleonRunBackdrop.d.ts +14 -0
  462. package/lib/typescript/src/games/chameleon-run/ChameleonRunConstants.d.ts +44 -42
  463. package/lib/typescript/src/games/chameleon-run/ChameleonRunGame.d.ts +60 -0
  464. package/lib/typescript/src/games/chameleon-run/ChameleonRunMeshes.d.ts +20 -0
  465. package/lib/typescript/src/games/chameleon-run/ChameleonRunRules.d.ts +52 -0
  466. package/lib/typescript/src/games/chameleon-run/ChameleonRunScene.d.ts +44 -0
  467. package/lib/typescript/src/games/checkers/Checkers.d.ts +1 -3
  468. package/lib/typescript/src/games/checkers/CheckersAI.d.ts +11 -0
  469. package/lib/typescript/src/games/checkers/CheckersConstants.d.ts +32 -72
  470. package/lib/typescript/src/games/checkers/CheckersGame.d.ts +56 -0
  471. package/lib/typescript/src/games/checkers/CheckersRules.d.ts +48 -0
  472. package/lib/typescript/src/games/checkers/CheckersScene.d.ts +41 -0
  473. package/lib/typescript/src/games/color-switch/ColorSwitch.d.ts +1 -3
  474. package/lib/typescript/src/games/color-switch/ColorSwitchConstants.d.ts +27 -31
  475. package/lib/typescript/src/games/color-switch/ColorSwitchGame.d.ts +61 -0
  476. package/lib/typescript/src/games/color-switch/ColorSwitchScene.d.ts +43 -0
  477. package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts +1 -3
  478. package/lib/typescript/src/games/colors-sort/ColorsSortConstants.d.ts +37 -44
  479. package/lib/typescript/src/games/colors-sort/ColorsSortGame.d.ts +41 -0
  480. package/lib/typescript/src/games/colors-sort/ColorsSortScene.d.ts +33 -0
  481. package/lib/typescript/src/games/connect-em-all/ConnectEmAll.d.ts +1 -3
  482. package/lib/typescript/src/games/connect-em-all/ConnectEmAllConstants.d.ts +43 -17
  483. package/lib/typescript/src/games/connect-em-all/ConnectEmAllGame.d.ts +54 -0
  484. package/lib/typescript/src/games/connect-em-all/ConnectEmAllScene.d.ts +49 -0
  485. package/lib/typescript/src/games/crossy-road/CrossyRoad.d.ts +1 -3
  486. package/lib/typescript/src/games/crossy-road/CrossyRoadCamera.d.ts +14 -0
  487. package/lib/typescript/src/games/crossy-road/CrossyRoadConstants.d.ts +82 -50
  488. package/lib/typescript/src/games/crossy-road/CrossyRoadGame.d.ts +64 -0
  489. package/lib/typescript/src/games/crossy-road/CrossyRoadMeshes.d.ts +16 -0
  490. package/lib/typescript/src/games/crossy-road/CrossyRoadPerson.d.ts +10 -0
  491. package/lib/typescript/src/games/crossy-road/CrossyRoadRules.d.ts +36 -0
  492. package/lib/typescript/src/games/crossy-road/CrossyRoadScene.d.ts +38 -0
  493. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts +1 -3
  494. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts +48 -72
  495. package/lib/typescript/src/games/dino-jump/DinoJumpGame.d.ts +60 -0
  496. package/lib/typescript/src/games/dino-jump/DinoJumpScene.d.ts +35 -0
  497. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxes.d.ts +1 -3
  498. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesConstants.d.ts +31 -36
  499. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesGame.d.ts +44 -0
  500. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesScene.d.ts +31 -0
  501. package/lib/typescript/src/games/falling-sticks/FallingSticks.d.ts +1 -3
  502. package/lib/typescript/src/games/falling-sticks/FallingSticksConstants.d.ts +31 -43
  503. package/lib/typescript/src/games/falling-sticks/FallingSticksGame.d.ts +42 -0
  504. package/lib/typescript/src/games/falling-sticks/FallingSticksRules.d.ts +36 -0
  505. package/lib/typescript/src/games/falling-sticks/FallingSticksScene.d.ts +26 -0
  506. package/lib/typescript/src/games/find-different-number/FindDifferentNumber.d.ts +1 -3
  507. package/lib/typescript/src/games/find-different-number/FindDifferentNumberConstants.d.ts +33 -29
  508. package/lib/typescript/src/games/find-different-number/FindDifferentNumberGame.d.ts +43 -0
  509. package/lib/typescript/src/games/find-different-number/FindDifferentNumberRules.d.ts +8 -0
  510. package/lib/typescript/src/games/find-different-number/FindDifferentNumberScene.d.ts +31 -0
  511. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts +1 -3
  512. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts +39 -35
  513. package/lib/typescript/src/games/flappy-bird/FlappyBirdGame.d.ts +66 -0
  514. package/lib/typescript/src/games/flappy-bird/FlappyBirdScene.d.ts +41 -0
  515. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts +1 -3
  516. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts +71 -44
  517. package/lib/typescript/src/games/fruit-merger/FruitMergerGame.d.ts +63 -0
  518. package/lib/typescript/src/games/fruit-merger/FruitMergerRules.d.ts +39 -0
  519. package/lib/typescript/src/games/fruit-merger/FruitMergerScene.d.ts +49 -0
  520. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts +1 -3
  521. package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts +51 -76
  522. package/lib/typescript/src/games/fruit-ninja/FruitNinjaGame.d.ts +76 -0
  523. package/lib/typescript/src/games/fruit-ninja/FruitNinjaScene.d.ts +52 -0
  524. package/lib/typescript/src/games/fruit-ninja/FruitNinjaWorld.d.ts +8 -0
  525. package/lib/typescript/src/games/game-2048/Game2048.d.ts +1 -3
  526. package/lib/typescript/src/games/game-2048/Game2048Constants.d.ts +25 -120
  527. package/lib/typescript/src/games/game-2048/Game2048Game.d.ts +45 -0
  528. package/lib/typescript/src/games/game-2048/Game2048Rules.d.ts +32 -0
  529. package/lib/typescript/src/games/game-2048/Game2048Scene.d.ts +34 -0
  530. package/lib/typescript/src/games/knife-hit/KnifeHit.d.ts +1 -3
  531. package/lib/typescript/src/games/knife-hit/KnifeHitConstants.d.ts +41 -49
  532. package/lib/typescript/src/games/knife-hit/KnifeHitGame.d.ts +49 -0
  533. package/lib/typescript/src/games/knife-hit/KnifeHitScene.d.ts +37 -0
  534. package/lib/typescript/src/games/ludo-king/LudoKing.d.ts +1 -3
  535. package/lib/typescript/src/games/ludo-king/LudoKingConstants.d.ts +50 -28
  536. package/lib/typescript/src/games/ludo-king/LudoKingGame.d.ts +40 -0
  537. package/lib/typescript/src/games/ludo-king/LudoKingRules.d.ts +42 -0
  538. package/lib/typescript/src/games/ludo-king/LudoKingScene.d.ts +53 -0
  539. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts +1 -3
  540. package/lib/typescript/src/games/maze-runner/MazeRunnerConstants.d.ts +34 -10
  541. package/lib/typescript/src/games/maze-runner/MazeRunnerGame.d.ts +44 -0
  542. package/lib/typescript/src/games/maze-runner/MazeRunnerRules.d.ts +34 -0
  543. package/lib/typescript/src/games/maze-runner/MazeRunnerScene.d.ts +29 -0
  544. package/lib/typescript/src/games/memory-match/MemoryMatch.d.ts +1 -3
  545. package/lib/typescript/src/games/memory-match/MemoryMatchConstants.d.ts +42 -42
  546. package/lib/typescript/src/games/memory-match/MemoryMatchGame.d.ts +53 -0
  547. package/lib/typescript/src/games/memory-match/MemoryMatchRules.d.ts +14 -0
  548. package/lib/typescript/src/games/memory-match/MemoryMatchScene.d.ts +35 -0
  549. package/lib/typescript/src/games/mine-sweeper/MineSweeper.d.ts +1 -3
  550. package/lib/typescript/src/games/mine-sweeper/MineSweeperConstants.d.ts +43 -82
  551. package/lib/typescript/src/games/mine-sweeper/MineSweeperGame.d.ts +59 -0
  552. package/lib/typescript/src/games/mine-sweeper/MineSweeperRules.d.ts +18 -0
  553. package/lib/typescript/src/games/mine-sweeper/MineSweeperScene.d.ts +23 -0
  554. package/lib/typescript/src/games/mob-control/MobControl.d.ts +1 -3
  555. package/lib/typescript/src/games/mob-control/MobControlConstants.d.ts +99 -85
  556. package/lib/typescript/src/games/mob-control/MobControlGame.d.ts +45 -0
  557. package/lib/typescript/src/games/mob-control/MobControlMeshes.d.ts +2 -0
  558. package/lib/typescript/src/games/mob-control/MobControlRenderer.d.ts +20 -0
  559. package/lib/typescript/src/games/mob-control/MobControlRules.d.ts +68 -0
  560. package/lib/typescript/src/games/mob-control/MobControlScene.d.ts +58 -0
  561. package/lib/typescript/src/games/number-search/NumberSearch.d.ts +1 -3
  562. package/lib/typescript/src/games/number-search/NumberSearchNumbers.d.ts +1 -0
  563. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBolts.d.ts +1 -3
  564. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsConstants.d.ts +27 -79
  565. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsGame.d.ts +56 -0
  566. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsRules.d.ts +65 -0
  567. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsScene.d.ts +48 -0
  568. package/lib/typescript/src/games/pac-man/PacMan.d.ts +1 -3
  569. package/lib/typescript/src/games/pac-man/PacManConstants.d.ts +66 -106
  570. package/lib/typescript/src/games/pac-man/PacManGame.d.ts +48 -0
  571. package/lib/typescript/src/games/pac-man/PacManRules.d.ts +52 -0
  572. package/lib/typescript/src/games/pac-man/PacManScene.d.ts +44 -0
  573. package/lib/typescript/src/games/paper-io/PaperIo.d.ts +1 -3
  574. package/lib/typescript/src/games/paper-io/PaperIoConstants.d.ts +60 -40
  575. package/lib/typescript/src/games/paper-io/PaperIoGame.d.ts +49 -0
  576. package/lib/typescript/src/games/paper-io/PaperIoMeshes.d.ts +13 -0
  577. package/lib/typescript/src/games/paper-io/PaperIoRules.d.ts +71 -0
  578. package/lib/typescript/src/games/paper-io/PaperIoScene.d.ts +39 -0
  579. package/lib/typescript/src/games/penguin-run/PenguinMeshes.d.ts +9 -0
  580. package/lib/typescript/src/games/penguin-run/PenguinModel.d.ts +42 -0
  581. package/lib/typescript/src/games/penguin-run/PenguinRun.d.ts +1 -0
  582. package/lib/typescript/src/games/penguin-run/PenguinRunConstants.d.ts +58 -0
  583. package/lib/typescript/src/games/penguin-run/PenguinRunGame.d.ts +64 -0
  584. package/lib/typescript/src/games/penguin-run/PenguinRunScene.d.ts +65 -0
  585. package/lib/typescript/src/games/perfect-circle/PerfectCircle.d.ts +1 -3
  586. package/lib/typescript/src/games/perfect-circle/PerfectCircleConstants.d.ts +23 -45
  587. package/lib/typescript/src/games/perfect-circle/PerfectCircleGame.d.ts +40 -0
  588. package/lib/typescript/src/games/perfect-circle/PerfectCircleRules.d.ts +55 -0
  589. package/lib/typescript/src/games/perfect-circle/PerfectCircleScene.d.ts +32 -0
  590. package/lib/typescript/src/games/pipe-connect/PipeConnect.d.ts +1 -3
  591. package/lib/typescript/src/games/pipe-connect/PipeConnectConstants.d.ts +36 -32
  592. package/lib/typescript/src/games/pipe-connect/PipeConnectGame.d.ts +40 -0
  593. package/lib/typescript/src/games/pipe-connect/PipeConnectRules.d.ts +16 -0
  594. package/lib/typescript/src/games/pipe-connect/PipeConnectScene.d.ts +28 -0
  595. package/lib/typescript/src/games/play-with-tua/PlayWithTua.d.ts +2 -0
  596. package/lib/typescript/src/games/play-with-tua/PlayWithTuaConstants.d.ts +64 -0
  597. package/lib/typescript/src/games/play-with-tua/PlayWithTuaGame.d.ts +34 -0
  598. package/lib/typescript/src/games/play-with-tua/PlayWithTuaModel.d.ts +9 -0
  599. package/lib/typescript/src/games/play-with-tua/PlayWithTuaScene.d.ts +13 -0
  600. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts +1 -4
  601. package/lib/typescript/src/games/popit-fidget/PopitFidgetConstants.d.ts +25 -36
  602. package/lib/typescript/src/games/popit-fidget/PopitFidgetGame.d.ts +37 -0
  603. package/lib/typescript/src/games/popit-fidget/PopitFidgetScene.d.ts +19 -0
  604. package/lib/typescript/src/games/reversi/Reversi.d.ts +1 -3
  605. package/lib/typescript/src/games/reversi/ReversiConstants.d.ts +31 -62
  606. package/lib/typescript/src/games/reversi/ReversiGame.d.ts +54 -0
  607. package/lib/typescript/src/games/reversi/ReversiRules.d.ts +22 -0
  608. package/lib/typescript/src/games/reversi/ReversiScene.d.ts +27 -0
  609. package/lib/typescript/src/games/search-grid/SearchGrid.d.ts +20 -0
  610. package/lib/typescript/src/games/search-grid/SearchGridConstants.d.ts +60 -0
  611. package/lib/typescript/src/games/search-grid/SearchGridGame.d.ts +52 -0
  612. package/lib/typescript/src/games/search-grid/SearchGridScene.d.ts +43 -0
  613. package/lib/typescript/src/games/shared/BackdropCard.d.ts +2 -0
  614. package/lib/typescript/src/games/shared/EngineBackdrop.d.ts +19 -0
  615. package/lib/typescript/src/games/shared/EngineBlasts.d.ts +26 -0
  616. package/lib/typescript/src/games/shared/EngineBlocks.d.ts +19 -0
  617. package/lib/typescript/src/games/shared/EngineControlText.d.ts +2 -0
  618. package/lib/typescript/src/games/shared/EngineDice.d.ts +24 -0
  619. package/lib/typescript/src/games/shared/EngineFootprint.d.ts +17 -0
  620. package/lib/typescript/src/games/shared/EngineFruits.d.ts +27 -0
  621. package/lib/typescript/src/games/shared/EngineGameLoader.d.ts +4 -0
  622. package/lib/typescript/src/games/shared/EngineGameScreen.d.ts +48 -0
  623. package/lib/typescript/src/games/shared/EngineGameWidth.d.ts +3 -0
  624. package/lib/typescript/src/games/shared/EngineGameWidth.web.d.ts +3 -0
  625. package/lib/typescript/src/games/shared/EngineGlyphs.d.ts +15 -0
  626. package/lib/typescript/src/games/shared/EngineHud.d.ts +138 -0
  627. package/lib/typescript/src/games/shared/EngineLoading.d.ts +77 -0
  628. package/lib/typescript/src/games/shared/EngineMeadow.d.ts +90 -0
  629. package/lib/typescript/src/games/shared/EngineMeshCache.d.ts +3 -0
  630. package/lib/typescript/src/games/shared/EngineMeshes.d.ts +3 -0
  631. package/lib/typescript/src/games/shared/EngineRacingChase.d.ts +11 -0
  632. package/lib/typescript/src/games/shared/EngineRacingHandling.d.ts +15 -0
  633. package/lib/typescript/src/games/shared/EngineReadyContext.d.ts +2 -0
  634. package/lib/typescript/src/games/shared/EngineTilt.d.ts +19 -0
  635. package/lib/typescript/src/games/shared/EngineTouchSurface.d.ts +20 -0
  636. package/lib/typescript/src/games/shared/EngineUtils.d.ts +18 -0
  637. package/lib/typescript/src/games/shared/GameActivity.d.ts +3 -0
  638. package/lib/typescript/src/games/shared/GameLoading.d.ts +14 -0
  639. package/lib/typescript/src/games/shared/GameLoadingTransition.d.ts +9 -0
  640. package/lib/typescript/src/games/shared/ProceduralCacheVersion.d.ts +1 -0
  641. package/lib/typescript/src/games/shared/useEngineGame.d.ts +69 -0
  642. package/lib/typescript/src/games/shared/useGameResource.d.ts +2 -0
  643. package/lib/typescript/src/games/shared/useLiveState.d.ts +4 -0
  644. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts +1 -3
  645. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersConstants.d.ts +32 -40
  646. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersGame.d.ts +48 -0
  647. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersRules.d.ts +22 -0
  648. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersScene.d.ts +30 -0
  649. package/lib/typescript/src/games/snake-3d/Snake3D.d.ts +1 -3
  650. package/lib/typescript/src/games/snake-3d/Snake3DConstants.d.ts +31 -68
  651. package/lib/typescript/src/games/snake-3d/Snake3DGame.d.ts +42 -0
  652. package/lib/typescript/src/games/snake-3d/Snake3DMotion.d.ts +3 -0
  653. package/lib/typescript/src/games/snake-3d/Snake3DRules.d.ts +42 -0
  654. package/lib/typescript/src/games/snake-3d/Snake3DScene.d.ts +35 -0
  655. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLadders.d.ts +1 -3
  656. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersConstants.d.ts +58 -50
  657. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersGame.d.ts +45 -0
  658. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersScene.d.ts +50 -0
  659. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts +1 -3
  660. package/lib/typescript/src/games/space-fighter/SpaceFighterConstants.d.ts +33 -23
  661. package/lib/typescript/src/games/space-fighter/SpaceFighterGame.d.ts +58 -0
  662. package/lib/typescript/src/games/space-fighter/SpaceFighterScene.d.ts +51 -0
  663. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaire.d.ts +1 -3
  664. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireConstants.d.ts +52 -35
  665. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireGame.d.ts +67 -0
  666. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireRules.d.ts +39 -0
  667. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireScene.d.ts +60 -0
  668. package/lib/typescript/src/games/stack-tower/StackTower.d.ts +1 -3
  669. package/lib/typescript/src/games/stack-tower/StackTowerConstants.d.ts +31 -23
  670. package/lib/typescript/src/games/stack-tower/StackTowerGame.d.ts +58 -0
  671. package/lib/typescript/src/games/stack-tower/StackTowerScene.d.ts +27 -0
  672. package/lib/typescript/src/games/sudoku/Sudoku.d.ts +1 -3
  673. package/lib/typescript/src/games/sudoku/SudokuConstants.d.ts +50 -55
  674. package/lib/typescript/src/games/sudoku/SudokuGame.d.ts +56 -0
  675. package/lib/typescript/src/games/sudoku/SudokuRules.d.ts +23 -0
  676. package/lib/typescript/src/games/sudoku/SudokuScene.d.ts +44 -0
  677. package/lib/typescript/src/games/tangram/Tangram.d.ts +1 -3
  678. package/lib/typescript/src/games/tangram/TangramConstants.d.ts +33 -52
  679. package/lib/typescript/src/games/tangram/TangramGame.d.ts +68 -0
  680. package/lib/typescript/src/games/tangram/TangramRules.d.ts +61 -0
  681. package/lib/typescript/src/games/tangram/TangramScene.d.ts +42 -0
  682. package/lib/typescript/src/games/tank-1990/Tank1990.d.ts +1 -3
  683. package/lib/typescript/src/games/tank-1990/Tank1990Constants.d.ts +44 -127
  684. package/lib/typescript/src/games/tank-1990/Tank1990Game.d.ts +50 -0
  685. package/lib/typescript/src/games/tank-1990/Tank1990Rules.d.ts +67 -0
  686. package/lib/typescript/src/games/tank-1990/Tank1990Scene.d.ts +38 -0
  687. package/lib/typescript/src/games/tic-tac-toe/TicTacToe.d.ts +1 -3
  688. package/lib/typescript/src/games/tic-tac-toe/TicTacToeConstants.d.ts +35 -72
  689. package/lib/typescript/src/games/tic-tac-toe/TicTacToeGame.d.ts +54 -0
  690. package/lib/typescript/src/games/tic-tac-toe/TicTacToeRules.d.ts +10 -0
  691. package/lib/typescript/src/games/tic-tac-toe/TicTacToeScene.d.ts +26 -0
  692. package/lib/typescript/src/games/tile-home/TileHome.d.ts +1 -3
  693. package/lib/typescript/src/games/tile-home/TileHomeConstants.d.ts +72 -70
  694. package/lib/typescript/src/games/tile-home/TileHomeGame.d.ts +72 -0
  695. package/lib/typescript/src/games/tile-home/TileHomeScene.d.ts +28 -0
  696. package/lib/typescript/src/games/treasure-hunt/TreasureHunt.d.ts +3 -0
  697. package/lib/typescript/src/games/treasure-hunt/TreasureHuntConstants.d.ts +144 -0
  698. package/lib/typescript/src/games/treasure-hunt/TreasureHuntControls.d.ts +75 -0
  699. package/lib/typescript/src/games/treasure-hunt/TreasureHuntGame.d.ts +41 -0
  700. package/lib/typescript/src/games/treasure-hunt/TreasureHuntMeshes.d.ts +26 -0
  701. package/lib/typescript/src/games/treasure-hunt/TreasureHuntModel.d.ts +57 -0
  702. package/lib/typescript/src/games/treasure-hunt/TreasureHuntRules.d.ts +198 -0
  703. package/lib/typescript/src/games/treasure-hunt/TreasureHuntScene.d.ts +40 -0
  704. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts +1 -3
  705. package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts +35 -45
  706. package/lib/typescript/src/games/whack-a-mole/WhackAMoleGame.d.ts +51 -0
  707. package/lib/typescript/src/games/whack-a-mole/WhackAMoleScene.d.ts +31 -0
  708. package/lib/typescript/src/games/word-search/WordSearch.d.ts +1 -3
  709. package/lib/typescript/src/games/word-search/WordSearchWords.d.ts +1 -0
  710. package/lib/typescript/src/helpers/GamePatternData.d.ts +46 -0
  711. package/lib/typescript/src/helpers/GameSettingsModal.d.ts +1 -1
  712. package/lib/typescript/src/helpers/GameTheme.d.ts +18 -0
  713. package/lib/typescript/src/helpers/IconPaths.d.ts +4 -0
  714. package/lib/typescript/src/helpers/index.d.ts +1 -19
  715. package/lib/typescript/src/index.d.ts +3 -0
  716. package/lib/typescript/src/services/GameAssetLoader.d.ts +32 -0
  717. package/lib/typescript/src/services/GameAssets.d.ts +11 -0
  718. package/lib/typescript/src/services/GameLoaders.d.ts +18 -0
  719. package/lib/typescript/src/services/GamesConstants.d.ts +11 -0
  720. package/lib/typescript/src/services/GamesMetadata.d.ts +2 -0
  721. package/lib/typescript/src/services/HapticsService.d.ts +1 -1
  722. package/lib/typescript/src/services/SfxSources.d.ts +79 -0
  723. package/lib/typescript/src/services/SoundsService.d.ts +487 -1566
  724. package/lib/typescript/src/services/ThemeService.d.ts +117 -0
  725. package/lib/typescript/src/services/UtilsService.d.ts +20 -2
  726. package/lib/typescript/src/services/index.d.ts +3 -0
  727. package/lib/web/assets/005ea2045b17-explorer.glb +0 -0
  728. package/lib/web/assets/01e2f0a0bbf6-hurt.wav +0 -0
  729. package/lib/web/assets/01fc0ecf658c-explorer-atlas.png +0 -0
  730. package/lib/web/assets/029329b2c7c0-asphalt.png +0 -0
  731. package/lib/web/assets/0376bda32be3-robot.wav +0 -0
  732. package/lib/web/assets/0719fb0bb38e-soft_glow.png +0 -0
  733. package/lib/web/assets/0b21278bffba-boing.wav +0 -0
  734. package/lib/web/assets/1333c9d1273c-flip_disc.wav +0 -0
  735. package/lib/web/assets/15785f62ee5f-time_up.wav +0 -0
  736. package/lib/web/assets/177f00502e08-bonus.wav +0 -0
  737. package/lib/web/assets/19e47dcfda1f-pling.wav +0 -0
  738. package/lib/web/assets/1a677e0f7f6c-laugh.wav +0 -0
  739. package/lib/web/assets/1ad2914478b1-eat.wav +0 -0
  740. package/lib/web/assets/1b0d703ddd1a-dance.wav +0 -0
  741. package/lib/web/assets/1e4330fddd74-chime.wav +0 -0
  742. package/lib/web/assets/2432a97b0af1-cannon.wav +0 -0
  743. package/lib/web/assets/2574370d6aa0-blocked.wav +0 -0
  744. package/lib/web/assets/2699065037ad-select.wav +0 -0
  745. package/lib/web/assets/28d30f53ad73-ladder.wav +0 -0
  746. package/lib/web/assets/2c1ec05270b2-point.wav +0 -0
  747. package/lib/web/assets/2e1dd99a0213-tick.wav +0 -0
  748. package/lib/web/assets/3084575cecdb-card_flip.wav +0 -0
  749. package/lib/web/assets/308bc31b6af5-engine.wav +0 -0
  750. package/lib/web/assets/336d63b739b5-combo.wav +0 -0
  751. package/lib/web/assets/3a369e2596e4-clash.wav +0 -0
  752. package/lib/web/assets/3a816e20212f-capture.wav +0 -0
  753. package/lib/web/assets/40240217810a-nitro.wav +0 -0
  754. package/lib/web/assets/46edaa54d1ea-crunch.wav +0 -0
  755. package/lib/web/assets/501994226995-coin.wav +0 -0
  756. package/lib/web/assets/5525d7f6a4b8-rotate.wav +0 -0
  757. package/lib/web/assets/5e816e1f0929-dice_roll.wav +0 -0
  758. package/lib/web/assets/60e2dec3cf41-deselect.wav +0 -0
  759. package/lib/web/assets/6ab86ea29e5c-six.wav +0 -0
  760. package/lib/web/assets/6da3b101926d-merge.wav +0 -0
  761. package/lib/web/assets/6e686dea513c-bark.jpg +0 -0
  762. package/lib/web/assets/6ff9a6a13714-limestone.jpg +0 -0
  763. package/lib/web/assets/735c4a1cd22e-invalid.wav +0 -0
  764. package/lib/web/assets/73f75c35ff5d-snake.wav +0 -0
  765. package/lib/web/assets/7506e3efe264-catch.wav +0 -0
  766. package/lib/web/assets/76493a2ada2d-ad_bolt.png +0 -0
  767. package/lib/web/assets/793abe620201-card_place.wav +0 -0
  768. package/lib/web/assets/7da09c57f52d-facade.png +0 -0
  769. package/lib/web/assets/7e1a902176f6-pine.png +0 -0
  770. package/lib/web/assets/7eb943b85c21-play-with-tua.glb +0 -0
  771. package/lib/web/assets/837d43c06dba-ad_bubbles.png +0 -0
  772. package/lib/web/assets/84f1a7dfa368-game_over.wav +0 -0
  773. package/lib/web/assets/850e26ce3b0a-flap.wav +0 -0
  774. package/lib/web/assets/854b31683cb2-draw.wav +0 -0
  775. package/lib/web/assets/8616150393b7-error.wav +0 -0
  776. package/lib/web/assets/87cc6d503ec6-river.jpg +0 -0
  777. package/lib/web/assets/88755845922c-hop.wav +0 -0
  778. package/lib/web/assets/8ec8f469492d-chomp_alt.wav +0 -0
  779. package/lib/web/assets/8f17f89b138c-pew.wav +0 -0
  780. package/lib/web/assets/9210a24472d1-place.wav +0 -0
  781. package/lib/web/assets/930d833ebf89-splash.wav +0 -0
  782. package/lib/web/assets/970f7c59265d-swoosh.wav +0 -0
  783. package/lib/web/assets/9900b8d1b6ad-flag.wav +0 -0
  784. package/lib/web/assets/9ab04403898b-clang.wav +0 -0
  785. package/lib/web/assets/9d8b97a10d45-drop.wav +0 -0
  786. package/lib/web/assets/9d9c02ddc7ed-boom.wav +0 -0
  787. package/lib/web/assets/9e1b5114d56d-pop_soft.wav +0 -0
  788. package/lib/web/assets/a01f22d6dbb3-thud.wav +0 -0
  789. package/lib/web/assets/a44a1cf1a1a8-bump.wav +0 -0
  790. package/lib/web/assets/a76940a48c68-hit.wav +0 -0
  791. package/lib/web/assets/a98ddb724460-leaves.png +0 -0
  792. package/lib/web/assets/aa0960e8bee6-footstep_run.wav +0 -0
  793. package/lib/web/assets/aa570c9d3e15-star.wav +0 -0
  794. package/lib/web/assets/aacb999f3c49-tock.wav +0 -0
  795. package/lib/web/assets/aae0c16c5e89-reveal.wav +0 -0
  796. package/lib/web/assets/ab37cd128509-click.wav +0 -0
  797. package/lib/web/assets/b0bc66f49005-warning.wav +0 -0
  798. package/lib/web/assets/b1edd756ac43-zap.wav +0 -0
  799. package/lib/web/assets/b3894545cf71-slice.wav +0 -0
  800. package/lib/web/assets/b3c6225d055a-meadow.jpg +0 -0
  801. package/lib/web/assets/b60ca65cdfcb-gate.wav +0 -0
  802. package/lib/web/assets/b8900bb2c5c7-win.wav +0 -0
  803. package/lib/web/assets/baff6feda846-lose.wav +0 -0
  804. package/lib/web/assets/bed31305d60d-ad_chevrons.png +0 -0
  805. package/lib/web/assets/c26f4a624e7d-shuffle.wav +0 -0
  806. package/lib/web/assets/c3a9edfad195-die.wav +0 -0
  807. package/lib/web/assets/c4aa9d773f2a-footstep_walk.wav +0 -0
  808. package/lib/web/assets/c5ab3ff0003f-crash.wav +0 -0
  809. package/lib/web/assets/c5eb07deddd4-start.wav +0 -0
  810. package/lib/web/assets/c6c58d9ae452-pop.wav +0 -0
  811. package/lib/web/assets/cea48c3cd9c7-balloon_pop.wav +0 -0
  812. package/lib/web/assets/d15591767778-tap.wav +0 -0
  813. package/lib/web/assets/d1781a52234f-slide.wav +0 -0
  814. package/lib/web/assets/d3bf2d9f793b-snap.wav +0 -0
  815. package/lib/web/assets/d8f59ebd3537-jump.wav +0 -0
  816. package/lib/web/assets/dafea2f28854-power_up.wav +0 -0
  817. package/lib/web/assets/e2e7f5ae2d1b-whoosh.wav +0 -0
  818. package/lib/web/assets/e2f90a23e1bd-chomp.wav +0 -0
  819. package/lib/web/assets/e454e56df89a-clack.wav +0 -0
  820. package/lib/web/assets/e8cbc2b88bc4-Inter-SemiBold.ttf +0 -0
  821. package/lib/web/assets/ed6496b891fc-land.wav +0 -0
  822. package/lib/web/assets/f21920200a81-thunk.wav +0 -0
  823. package/lib/web/assets/f753b43be89d-whack.wav +0 -0
  824. package/lib/web/assets/f798c4b5cf4d-miss.wav +0 -0
  825. package/lib/web/assets/fbe299716916-grass.png +0 -0
  826. package/lib/web/chunk-52ez2s9z.js +15 -0
  827. package/lib/web/chunk-8675t224.js +1 -0
  828. package/lib/web/index.js +2 -0
  829. package/lib/web/package.json +1 -0
  830. package/lib/web/services.js +2 -0
  831. package/package.json +94 -73
  832. package/src/assets/fonts/Inter-SemiBold.ttf +0 -0
  833. package/src/assets/models/explorer/explorer.glb +0 -0
  834. package/src/assets/models/explorer/params.json +51 -0
  835. package/src/assets/models/explorer/source.json +222 -0
  836. package/src/assets/models/play-with-tua/play-with-tua.glb +0 -0
  837. package/src/assets/models/play-with-tua/sources.json +141 -0
  838. package/src/assets/sfx/balloon_pop.wav +0 -0
  839. package/src/assets/sfx/blocked.wav +0 -0
  840. package/src/assets/sfx/boing.wav +0 -0
  841. package/src/assets/sfx/bonus.wav +0 -0
  842. package/src/assets/sfx/boom.wav +0 -0
  843. package/src/assets/sfx/bump.wav +0 -0
  844. package/src/assets/sfx/cannon.wav +0 -0
  845. package/src/assets/sfx/capture.wav +0 -0
  846. package/src/assets/sfx/card_flip.wav +0 -0
  847. package/src/assets/sfx/card_place.wav +0 -0
  848. package/src/assets/sfx/catch.wav +0 -0
  849. package/src/assets/sfx/chime.wav +0 -0
  850. package/src/assets/sfx/chomp.wav +0 -0
  851. package/src/assets/sfx/chomp_alt.wav +0 -0
  852. package/src/assets/sfx/clack.wav +0 -0
  853. package/src/assets/sfx/clang.wav +0 -0
  854. package/src/assets/sfx/clash.wav +0 -0
  855. package/src/assets/sfx/click.wav +0 -0
  856. package/src/assets/sfx/coin.wav +0 -0
  857. package/src/assets/sfx/combo.wav +0 -0
  858. package/src/assets/sfx/crash.wav +0 -0
  859. package/src/assets/sfx/crunch.wav +0 -0
  860. package/src/assets/sfx/dance.wav +0 -0
  861. package/src/assets/sfx/deselect.wav +0 -0
  862. package/src/assets/sfx/dice_roll.wav +0 -0
  863. package/src/assets/sfx/die.wav +0 -0
  864. package/src/assets/sfx/draw.wav +0 -0
  865. package/src/assets/sfx/drop.wav +0 -0
  866. package/src/assets/sfx/eat.wav +0 -0
  867. package/src/assets/sfx/engine.wav +0 -0
  868. package/src/assets/sfx/error.wav +0 -0
  869. package/src/assets/sfx/flag.wav +0 -0
  870. package/src/assets/sfx/flap.wav +0 -0
  871. package/src/assets/sfx/flip_disc.wav +0 -0
  872. package/src/assets/sfx/footstep_run.wav +0 -0
  873. package/src/assets/sfx/footstep_walk.wav +0 -0
  874. package/src/assets/sfx/game_over.wav +0 -0
  875. package/src/assets/sfx/gate.wav +0 -0
  876. package/src/assets/sfx/hit.wav +0 -0
  877. package/src/assets/sfx/hop.wav +0 -0
  878. package/src/assets/sfx/hurt.wav +0 -0
  879. package/src/assets/sfx/invalid.wav +0 -0
  880. package/src/assets/sfx/jump.wav +0 -0
  881. package/src/assets/sfx/ladder.wav +0 -0
  882. package/src/assets/sfx/land.wav +0 -0
  883. package/src/assets/sfx/laugh.wav +0 -0
  884. package/src/assets/sfx/lose.wav +0 -0
  885. package/src/assets/sfx/merge.wav +0 -0
  886. package/src/assets/sfx/miss.wav +0 -0
  887. package/src/assets/sfx/nitro.wav +0 -0
  888. package/src/assets/sfx/pew.wav +0 -0
  889. package/src/assets/sfx/place.wav +0 -0
  890. package/src/assets/sfx/pling.wav +0 -0
  891. package/src/assets/sfx/point.wav +0 -0
  892. package/src/assets/sfx/pop.wav +0 -0
  893. package/src/assets/sfx/pop_soft.wav +0 -0
  894. package/src/assets/sfx/power_up.wav +0 -0
  895. package/src/assets/sfx/reveal.wav +0 -0
  896. package/src/assets/sfx/robot.wav +0 -0
  897. package/src/assets/sfx/rotate.wav +0 -0
  898. package/src/assets/sfx/run_steps.wav +0 -0
  899. package/src/assets/sfx/select.wav +0 -0
  900. package/src/assets/sfx/shuffle.wav +0 -0
  901. package/src/assets/sfx/six.wav +0 -0
  902. package/src/assets/sfx/slice.wav +0 -0
  903. package/src/assets/sfx/slide.wav +0 -0
  904. package/src/assets/sfx/snake.wav +0 -0
  905. package/src/assets/sfx/snap.wav +0 -0
  906. package/src/assets/sfx/splash.wav +0 -0
  907. package/src/assets/sfx/star.wav +0 -0
  908. package/src/assets/sfx/start.wav +0 -0
  909. package/src/assets/sfx/swoosh.wav +0 -0
  910. package/src/assets/sfx/tap.wav +0 -0
  911. package/src/assets/sfx/thud.wav +0 -0
  912. package/src/assets/sfx/thunk.wav +0 -0
  913. package/src/assets/sfx/tick.wav +0 -0
  914. package/src/assets/sfx/time_up.wav +0 -0
  915. package/src/assets/sfx/tock.wav +0 -0
  916. package/src/assets/sfx/walk_steps.wav +0 -0
  917. package/src/assets/sfx/warning.wav +0 -0
  918. package/src/assets/sfx/whack.wav +0 -0
  919. package/src/assets/sfx/whoosh.wav +0 -0
  920. package/src/assets/sfx/win.wav +0 -0
  921. package/src/assets/sfx/zap.wav +0 -0
  922. package/src/assets/textures/ad_bolt.png +0 -0
  923. package/src/assets/textures/ad_bubbles.png +0 -0
  924. package/src/assets/textures/ad_chevrons.png +0 -0
  925. package/src/assets/textures/asphalt.png +0 -0
  926. package/src/assets/textures/bark.jpg +0 -0
  927. package/src/assets/textures/explorer-atlas.png +0 -0
  928. package/src/assets/textures/facade.png +0 -0
  929. package/src/assets/textures/grass.png +0 -0
  930. package/src/assets/textures/leaves.png +0 -0
  931. package/src/assets/textures/limestone.jpg +0 -0
  932. package/src/assets/textures/meadow.jpg +0 -0
  933. package/src/assets/textures/nature-sources.json +87 -0
  934. package/src/assets/textures/pine.png +0 -0
  935. package/src/assets/textures/river.jpg +0 -0
  936. package/src/assets/textures/soft_glow.png +0 -0
  937. package/src/games/arrows/Arrows.tsx +69 -0
  938. package/src/games/arrows/ArrowsConstants.ts +107 -0
  939. package/src/games/arrows/ArrowsGame.ts +735 -0
  940. package/src/games/arrows/ArrowsScene.ts +395 -0
  941. package/src/games/balloon-blaster/BalloonBlaster.tsx +75 -0
  942. package/src/games/balloon-blaster/BalloonBlasterConstants.ts +79 -0
  943. package/src/games/balloon-blaster/BalloonBlasterGame.ts +287 -0
  944. package/src/games/balloon-blaster/BalloonBlasterPhysics.ts +95 -0
  945. package/src/games/balloon-blaster/BalloonBlasterScene.ts +225 -0
  946. package/src/games/bike-racing/BikeMeshes.ts +273 -0
  947. package/src/games/bike-racing/BikeRacing.tsx +211 -0
  948. package/src/games/bike-racing/BikeRacingConstants.ts +103 -0
  949. package/src/games/bike-racing/BikeRacingGame.ts +557 -0
  950. package/src/games/bike-racing/BikeRacingScene.ts +119 -0
  951. package/src/games/block-blast/BlockBlast.tsx +73 -0
  952. package/src/games/block-blast/BlockBlastConstants.ts +179 -0
  953. package/src/games/block-blast/BlockBlastGame.ts +471 -0
  954. package/src/games/block-blast/BlockBlastScene.ts +156 -0
  955. package/src/games/block-breaker/BlockBreaker.tsx +79 -0
  956. package/src/games/block-breaker/BlockBreakerConstants.ts +139 -0
  957. package/src/games/block-breaker/BlockBreakerGame.ts +459 -0
  958. package/src/games/block-breaker/BlockBreakerScene.ts +257 -0
  959. package/src/games/bluk/Bluk.tsx +82 -0
  960. package/src/games/bluk/BlukConstants.ts +121 -0
  961. package/src/games/bluk/BlukGame.ts +323 -0
  962. package/src/games/bluk/BlukRules.ts +154 -0
  963. package/src/games/bluk/BlukScene.ts +514 -0
  964. package/src/games/bubble-shooter/BubbleShooter.tsx +76 -0
  965. package/src/games/bubble-shooter/BubbleShooterConstants.ts +103 -0
  966. package/src/games/bubble-shooter/BubbleShooterGame.ts +459 -0
  967. package/src/games/bubble-shooter/BubbleShooterScene.ts +158 -0
  968. package/src/games/candy-crush/CandyCrush.tsx +77 -0
  969. package/src/games/candy-crush/CandyCrushConstants.ts +94 -0
  970. package/src/games/candy-crush/CandyCrushGame.ts +477 -0
  971. package/src/games/candy-crush/CandyCrushScene.ts +209 -0
  972. package/src/games/car-racing/CarMeshes.ts +440 -0
  973. package/src/games/car-racing/CarRacing.tsx +211 -0
  974. package/src/games/car-racing/CarRacingConstants.ts +167 -0
  975. package/src/games/car-racing/CarRacingFacade.ts +40 -0
  976. package/src/games/car-racing/CarRacingGame.ts +539 -0
  977. package/src/games/car-racing/CarRacingScene.ts +1026 -0
  978. package/src/games/car-racing/CarRacingScenery.ts +265 -0
  979. package/src/games/chameleon-run/ChameleonRun.tsx +96 -0
  980. package/src/games/chameleon-run/ChameleonRunBackdrop.ts +186 -0
  981. package/src/games/chameleon-run/ChameleonRunConstants.ts +47 -0
  982. package/src/games/chameleon-run/ChameleonRunGame.ts +309 -0
  983. package/src/games/chameleon-run/ChameleonRunMeshes.ts +305 -0
  984. package/src/games/chameleon-run/ChameleonRunRules.ts +252 -0
  985. package/src/games/chameleon-run/ChameleonRunScene.ts +310 -0
  986. package/src/games/checkers/Checkers.tsx +83 -0
  987. package/src/games/checkers/CheckersAI.ts +255 -0
  988. package/src/games/checkers/CheckersConstants.ts +68 -0
  989. package/src/games/checkers/CheckersGame.ts +322 -0
  990. package/src/games/checkers/CheckersRules.ts +167 -0
  991. package/src/games/checkers/CheckersScene.ts +308 -0
  992. package/src/games/color-switch/ColorSwitch.tsx +75 -0
  993. package/src/games/color-switch/ColorSwitchConstants.ts +61 -0
  994. package/src/games/color-switch/ColorSwitchGame.ts +329 -0
  995. package/src/games/color-switch/ColorSwitchScene.ts +220 -0
  996. package/src/games/colors-sort/ColorsSort.tsx +82 -0
  997. package/src/games/colors-sort/ColorsSortConstants.ts +119 -0
  998. package/src/games/colors-sort/ColorsSortGame.ts +246 -0
  999. package/src/games/colors-sort/ColorsSortScene.ts +315 -0
  1000. package/src/games/connect-em-all/ConnectEmAll.tsx +70 -0
  1001. package/src/games/connect-em-all/ConnectEmAllConstants.ts +77 -0
  1002. package/src/games/connect-em-all/ConnectEmAllGame.ts +401 -0
  1003. package/src/games/connect-em-all/ConnectEmAllScene.ts +235 -0
  1004. package/src/games/crossy-road/CrossyRoad.tsx +74 -0
  1005. package/src/games/crossy-road/CrossyRoadCamera.ts +59 -0
  1006. package/src/games/crossy-road/CrossyRoadConstants.ts +132 -0
  1007. package/src/games/crossy-road/CrossyRoadGame.ts +293 -0
  1008. package/src/games/crossy-road/CrossyRoadMeshes.ts +195 -0
  1009. package/src/games/crossy-road/CrossyRoadPerson.ts +198 -0
  1010. package/src/games/crossy-road/CrossyRoadRules.ts +99 -0
  1011. package/src/games/crossy-road/CrossyRoadScene.ts +355 -0
  1012. package/src/games/dino-jump/DinoJump.tsx +77 -0
  1013. package/src/games/dino-jump/DinoJumpConstants.ts +80 -0
  1014. package/src/games/dino-jump/DinoJumpGame.ts +344 -0
  1015. package/src/games/dino-jump/DinoJumpScene.ts +686 -0
  1016. package/src/games/dots-and-boxes/DotsAndBoxes.tsx +83 -0
  1017. package/src/games/dots-and-boxes/DotsAndBoxesConstants.ts +77 -0
  1018. package/src/games/dots-and-boxes/DotsAndBoxesGame.ts +271 -0
  1019. package/src/games/dots-and-boxes/DotsAndBoxesScene.ts +249 -0
  1020. package/src/games/falling-sticks/FallingSticks.tsx +72 -0
  1021. package/src/games/falling-sticks/FallingSticksConstants.ts +62 -0
  1022. package/src/games/falling-sticks/FallingSticksGame.ts +220 -0
  1023. package/src/games/falling-sticks/FallingSticksRules.ts +145 -0
  1024. package/src/games/falling-sticks/FallingSticksScene.ts +245 -0
  1025. package/src/games/find-different-number/FindDifferentNumber.tsx +74 -0
  1026. package/src/games/find-different-number/FindDifferentNumberConstants.ts +74 -0
  1027. package/src/games/find-different-number/FindDifferentNumberGame.ts +174 -0
  1028. package/src/games/find-different-number/FindDifferentNumberRules.ts +43 -0
  1029. package/src/games/find-different-number/FindDifferentNumberScene.ts +193 -0
  1030. package/src/games/flappy-bird/FlappyBird.tsx +73 -0
  1031. package/src/games/flappy-bird/FlappyBirdConstants.ts +95 -0
  1032. package/src/games/flappy-bird/FlappyBirdGame.ts +375 -0
  1033. package/src/games/flappy-bird/FlappyBirdScene.ts +630 -0
  1034. package/src/games/fruit-merger/FruitMerger.tsx +73 -0
  1035. package/src/games/fruit-merger/FruitMergerConstants.ts +102 -0
  1036. package/src/games/fruit-merger/FruitMergerGame.ts +285 -0
  1037. package/src/games/fruit-merger/FruitMergerRules.ts +286 -0
  1038. package/src/games/fruit-merger/FruitMergerScene.ts +498 -0
  1039. package/src/games/fruit-ninja/FruitNinja.tsx +129 -0
  1040. package/src/games/fruit-ninja/FruitNinjaConstants.ts +107 -0
  1041. package/src/games/fruit-ninja/FruitNinjaGame.ts +391 -0
  1042. package/src/games/fruit-ninja/FruitNinjaScene.ts +319 -0
  1043. package/src/games/fruit-ninja/FruitNinjaWorld.ts +17 -0
  1044. package/src/games/game-2048/Game2048.tsx +84 -0
  1045. package/src/games/game-2048/Game2048Constants.ts +68 -0
  1046. package/src/games/game-2048/Game2048Game.ts +181 -0
  1047. package/src/games/game-2048/Game2048Rules.ts +101 -0
  1048. package/src/games/game-2048/Game2048Scene.ts +206 -0
  1049. package/src/games/knife-hit/KnifeHit.tsx +78 -0
  1050. package/src/games/knife-hit/KnifeHitConstants.ts +89 -0
  1051. package/src/games/knife-hit/KnifeHitGame.ts +264 -0
  1052. package/src/games/knife-hit/KnifeHitScene.ts +360 -0
  1053. package/src/games/ludo-king/LudoKing.tsx +86 -0
  1054. package/src/games/ludo-king/LudoKingConstants.ts +212 -0
  1055. package/src/games/ludo-king/LudoKingGame.ts +326 -0
  1056. package/src/games/ludo-king/LudoKingRules.ts +143 -0
  1057. package/src/games/ludo-king/LudoKingScene.ts +397 -0
  1058. package/src/games/maze-runner/MazeRunner.tsx +88 -0
  1059. package/src/games/maze-runner/MazeRunnerConstants.ts +65 -0
  1060. package/src/games/maze-runner/MazeRunnerGame.ts +176 -0
  1061. package/src/games/maze-runner/MazeRunnerRules.ts +161 -0
  1062. package/src/games/maze-runner/MazeRunnerScene.ts +245 -0
  1063. package/src/games/memory-match/MemoryMatch.tsx +77 -0
  1064. package/src/games/memory-match/MemoryMatchConstants.ts +105 -0
  1065. package/src/games/memory-match/MemoryMatchGame.ts +222 -0
  1066. package/src/games/memory-match/MemoryMatchRules.ts +38 -0
  1067. package/src/games/memory-match/MemoryMatchScene.ts +268 -0
  1068. package/src/games/mine-sweeper/MineSweeper.tsx +77 -0
  1069. package/src/games/mine-sweeper/MineSweeperConstants.ts +94 -0
  1070. package/src/games/mine-sweeper/MineSweeperGame.ts +234 -0
  1071. package/src/games/mine-sweeper/MineSweeperRules.ts +67 -0
  1072. package/src/games/mine-sweeper/MineSweeperScene.ts +262 -0
  1073. package/src/games/mob-control/MobControl.tsx +73 -0
  1074. package/src/games/mob-control/MobControlConstants.ts +106 -0
  1075. package/src/games/mob-control/MobControlGame.ts +176 -0
  1076. package/src/games/mob-control/MobControlMeshes.ts +85 -0
  1077. package/src/games/mob-control/MobControlRenderer.ts +108 -0
  1078. package/src/games/mob-control/MobControlRules.ts +522 -0
  1079. package/src/games/mob-control/MobControlScene.ts +399 -0
  1080. package/src/games/number-search/NumberSearch.tsx +18 -0
  1081. package/src/games/number-search/NumberSearchNumbers.ts +623 -0
  1082. package/src/games/nuts-and-bolts/NutsAndBolts.tsx +85 -0
  1083. package/src/games/nuts-and-bolts/NutsAndBoltsConstants.ts +75 -0
  1084. package/src/games/nuts-and-bolts/NutsAndBoltsGame.ts +298 -0
  1085. package/src/games/nuts-and-bolts/NutsAndBoltsRules.ts +474 -0
  1086. package/src/games/nuts-and-bolts/NutsAndBoltsScene.ts +498 -0
  1087. package/src/games/pac-man/PacMan.tsx +86 -0
  1088. package/src/games/pac-man/PacManConstants.ts +169 -0
  1089. package/src/games/pac-man/PacManGame.ts +406 -0
  1090. package/src/games/pac-man/PacManRules.ts +255 -0
  1091. package/src/games/pac-man/PacManScene.ts +387 -0
  1092. package/src/games/paper-io/PaperIo.tsx +91 -0
  1093. package/src/games/paper-io/PaperIoConstants.ts +86 -0
  1094. package/src/games/paper-io/PaperIoGame.ts +193 -0
  1095. package/src/games/paper-io/PaperIoMeshes.ts +233 -0
  1096. package/src/games/paper-io/PaperIoRules.ts +315 -0
  1097. package/src/games/paper-io/PaperIoScene.ts +310 -0
  1098. package/src/games/penguin-run/PenguinMeshes.ts +269 -0
  1099. package/src/games/penguin-run/PenguinModel.ts +712 -0
  1100. package/src/games/penguin-run/PenguinRun.tsx +77 -0
  1101. package/src/games/penguin-run/PenguinRunConstants.ts +69 -0
  1102. package/src/games/penguin-run/PenguinRunGame.ts +406 -0
  1103. package/src/games/penguin-run/PenguinRunScene.ts +949 -0
  1104. package/src/games/perfect-circle/PerfectCircle.tsx +74 -0
  1105. package/src/games/perfect-circle/PerfectCircleConstants.ts +52 -0
  1106. package/src/games/perfect-circle/PerfectCircleGame.ts +153 -0
  1107. package/src/games/perfect-circle/PerfectCircleRules.ts +111 -0
  1108. package/src/games/perfect-circle/PerfectCircleScene.ts +176 -0
  1109. package/src/games/pipe-connect/PipeConnect.tsx +69 -0
  1110. package/src/games/pipe-connect/PipeConnectConstants.ts +101 -0
  1111. package/src/games/pipe-connect/PipeConnectGame.ts +179 -0
  1112. package/src/games/pipe-connect/PipeConnectRules.ts +326 -0
  1113. package/src/games/pipe-connect/PipeConnectScene.ts +271 -0
  1114. package/src/games/play-with-tua/PlayWithTua.tsx +123 -0
  1115. package/src/games/play-with-tua/PlayWithTuaConstants.ts +70 -0
  1116. package/src/games/play-with-tua/PlayWithTuaGame.ts +167 -0
  1117. package/src/games/play-with-tua/PlayWithTuaModel.ts +42 -0
  1118. package/src/games/play-with-tua/PlayWithTuaScene.ts +36 -0
  1119. package/src/games/popit-fidget/PopitFidget.tsx +72 -0
  1120. package/src/games/popit-fidget/PopitFidgetConstants.ts +71 -0
  1121. package/src/games/popit-fidget/PopitFidgetGame.ts +148 -0
  1122. package/src/games/popit-fidget/PopitFidgetScene.ts +242 -0
  1123. package/src/games/reversi/Reversi.tsx +94 -0
  1124. package/src/games/reversi/ReversiConstants.ts +67 -0
  1125. package/src/games/reversi/ReversiGame.ts +266 -0
  1126. package/src/games/reversi/ReversiRules.ts +176 -0
  1127. package/src/games/reversi/ReversiScene.ts +240 -0
  1128. package/src/games/search-grid/SearchGrid.tsx +92 -0
  1129. package/src/games/search-grid/SearchGridConstants.ts +178 -0
  1130. package/src/games/search-grid/SearchGridGame.ts +209 -0
  1131. package/src/games/search-grid/SearchGridScene.ts +301 -0
  1132. package/src/games/shared/BackdropCard.tsx +54 -0
  1133. package/src/games/shared/EngineBackdrop.ts +300 -0
  1134. package/src/games/shared/EngineBlasts.ts +136 -0
  1135. package/src/games/shared/EngineBlocks.ts +91 -0
  1136. package/src/games/shared/EngineControlText.ts +17 -0
  1137. package/src/games/shared/EngineDice.ts +250 -0
  1138. package/src/games/shared/EngineFootprint.ts +35 -0
  1139. package/src/games/shared/EngineFruits.ts +1435 -0
  1140. package/src/games/shared/EngineGameLoader.tsx +88 -0
  1141. package/src/games/shared/EngineGameScreen.tsx +325 -0
  1142. package/src/games/shared/EngineGameWidth.ts +3 -0
  1143. package/src/games/shared/EngineGameWidth.web.ts +3 -0
  1144. package/src/games/shared/EngineGlyphs.ts +178 -0
  1145. package/src/games/shared/EngineHud.ts +815 -0
  1146. package/src/games/shared/EngineLoading.ts +477 -0
  1147. package/src/games/shared/EngineMeadow.ts +725 -0
  1148. package/src/games/shared/EngineMeshCache.ts +15 -0
  1149. package/src/games/shared/EngineMeshes.ts +10 -0
  1150. package/src/games/shared/EngineRacingChase.ts +21 -0
  1151. package/src/games/shared/EngineRacingHandling.ts +48 -0
  1152. package/src/games/shared/EngineReadyContext.ts +4 -0
  1153. package/src/games/shared/EngineTilt.ts +44 -0
  1154. package/src/games/shared/EngineTouchSurface.tsx +103 -0
  1155. package/src/games/shared/EngineUtils.ts +52 -0
  1156. package/src/games/shared/GameActivity.ts +13 -0
  1157. package/src/games/shared/GameLoading.tsx +202 -0
  1158. package/src/games/shared/GameLoadingTransition.tsx +61 -0
  1159. package/src/games/shared/ProceduralCacheVersion.ts +2 -0
  1160. package/src/games/shared/useEngineGame.ts +240 -0
  1161. package/src/games/shared/useGameResource.ts +21 -0
  1162. package/src/games/shared/useLiveState.ts +58 -0
  1163. package/src/games/sliding-numbers/SlidingNumbers.tsx +71 -0
  1164. package/src/games/sliding-numbers/SlidingNumbersConstants.ts +65 -0
  1165. package/src/games/sliding-numbers/SlidingNumbersGame.ts +192 -0
  1166. package/src/games/sliding-numbers/SlidingNumbersRules.ts +79 -0
  1167. package/src/games/sliding-numbers/SlidingNumbersScene.ts +193 -0
  1168. package/src/games/snake-3d/Snake3D.tsx +76 -0
  1169. package/src/games/snake-3d/Snake3DConstants.ts +61 -0
  1170. package/src/games/snake-3d/Snake3DGame.ts +192 -0
  1171. package/src/games/snake-3d/Snake3DMotion.ts +22 -0
  1172. package/src/games/snake-3d/Snake3DRules.ts +116 -0
  1173. package/src/games/snake-3d/Snake3DScene.ts +322 -0
  1174. package/src/games/snakes-and-ladders/SnakesAndLadders.tsx +87 -0
  1175. package/src/games/snakes-and-ladders/SnakesAndLaddersConstants.ts +136 -0
  1176. package/src/games/snakes-and-ladders/SnakesAndLaddersGame.ts +310 -0
  1177. package/src/games/snakes-and-ladders/SnakesAndLaddersScene.ts +515 -0
  1178. package/src/games/space-fighter/SpaceFighter.tsx +74 -0
  1179. package/src/games/space-fighter/SpaceFighterConstants.ts +86 -0
  1180. package/src/games/space-fighter/SpaceFighterGame.ts +292 -0
  1181. package/src/games/space-fighter/SpaceFighterScene.ts +550 -0
  1182. package/src/games/spider-solitaire/SpiderSolitaire.tsx +80 -0
  1183. package/src/games/spider-solitaire/SpiderSolitaireConstants.ts +107 -0
  1184. package/src/games/spider-solitaire/SpiderSolitaireGame.ts +387 -0
  1185. package/src/games/spider-solitaire/SpiderSolitaireRules.ts +123 -0
  1186. package/src/games/spider-solitaire/SpiderSolitaireScene.ts +352 -0
  1187. package/src/games/stack-tower/StackTower.tsx +76 -0
  1188. package/src/games/stack-tower/StackTowerConstants.ts +74 -0
  1189. package/src/games/stack-tower/StackTowerGame.ts +236 -0
  1190. package/src/games/stack-tower/StackTowerScene.ts +186 -0
  1191. package/src/games/sudoku/Sudoku.tsx +73 -0
  1192. package/src/games/sudoku/SudokuConstants.ts +127 -0
  1193. package/src/games/sudoku/SudokuGame.ts +250 -0
  1194. package/src/games/sudoku/SudokuRules.ts +125 -0
  1195. package/src/games/sudoku/SudokuScene.ts +304 -0
  1196. package/src/games/tangram/Tangram.tsx +79 -0
  1197. package/src/games/tangram/TangramConstants.ts +64 -0
  1198. package/src/games/tangram/TangramGame.ts +356 -0
  1199. package/src/games/tangram/TangramRules.ts +409 -0
  1200. package/src/games/tangram/TangramScene.ts +203 -0
  1201. package/src/games/tank-1990/Tank1990.tsx +78 -0
  1202. package/src/games/tank-1990/Tank1990Constants.ts +81 -0
  1203. package/src/games/tank-1990/Tank1990Game.ts +331 -0
  1204. package/src/games/tank-1990/Tank1990Rules.ts +390 -0
  1205. package/src/games/tank-1990/Tank1990Scene.ts +434 -0
  1206. package/src/games/tic-tac-toe/TicTacToe.tsx +98 -0
  1207. package/src/games/tic-tac-toe/TicTacToeConstants.ts +69 -0
  1208. package/src/games/tic-tac-toe/TicTacToeGame.ts +200 -0
  1209. package/src/games/tic-tac-toe/TicTacToeRules.ts +103 -0
  1210. package/src/games/tic-tac-toe/TicTacToeScene.ts +245 -0
  1211. package/src/games/tile-home/TileHome.tsx +92 -0
  1212. package/src/games/tile-home/TileHomeConstants.ts +139 -0
  1213. package/src/games/tile-home/TileHomeGame.ts +435 -0
  1214. package/src/games/tile-home/TileHomeScene.ts +154 -0
  1215. package/src/games/treasure-hunt/TreasureHunt.tsx +206 -0
  1216. package/src/games/treasure-hunt/TreasureHuntConstants.ts +266 -0
  1217. package/src/games/treasure-hunt/TreasureHuntControls.ts +280 -0
  1218. package/src/games/treasure-hunt/TreasureHuntGame.ts +402 -0
  1219. package/src/games/treasure-hunt/TreasureHuntMeshes.ts +422 -0
  1220. package/src/games/treasure-hunt/TreasureHuntModel.ts +506 -0
  1221. package/src/games/treasure-hunt/TreasureHuntRules.ts +1210 -0
  1222. package/src/games/treasure-hunt/TreasureHuntScene.ts +586 -0
  1223. package/src/games/whack-a-mole/WhackAMole.tsx +79 -0
  1224. package/src/games/whack-a-mole/WhackAMoleConstants.ts +94 -0
  1225. package/src/games/whack-a-mole/WhackAMoleGame.ts +233 -0
  1226. package/src/games/whack-a-mole/WhackAMoleScene.ts +349 -0
  1227. package/src/games/word-search/WordSearch.tsx +18 -0
  1228. package/src/games/word-search/WordSearchWords.ts +1642 -0
  1229. package/src/helpers/GamePatternData.ts +120 -0
  1230. package/src/helpers/GameSettingsModal.tsx +384 -0
  1231. package/src/helpers/GameTheme.tsx +37 -0
  1232. package/src/helpers/IconPaths.ts +6 -0
  1233. package/src/helpers/index.ts +2 -0
  1234. package/src/index.tsx +60 -0
  1235. package/src/services/GameAssetLoader.ts +111 -0
  1236. package/src/services/GameAssets.ts +149 -0
  1237. package/src/services/GameLoaders.ts +93 -0
  1238. package/src/services/GamesConstants.ts +193 -0
  1239. package/src/services/GamesMetadata.ts +711 -0
  1240. package/src/services/GamesService.ts +116 -0
  1241. package/src/services/HapticsService.ts +48 -0
  1242. package/src/services/ScoringService.ts +19 -0
  1243. package/src/services/SfxSources.ts +81 -0
  1244. package/src/services/SoundsService.ts +582 -0
  1245. package/src/services/ThemeService.ts +281 -0
  1246. package/src/services/UtilsService.ts +134 -0
  1247. package/src/services/index.ts +6 -0
  1248. package/lib/module/games/arrows/ArrowsService.js +0 -1
  1249. package/lib/module/games/arrows/ArrowsStore.js +0 -1
  1250. package/lib/module/games/arrows/components/ArrowsGrid.js +0 -1
  1251. package/lib/module/games/arrows/components/ScoreBoard.js +0 -1
  1252. package/lib/module/games/balloon-blaster/BalloonBlasterService.js +0 -1
  1253. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +0 -1
  1254. package/lib/module/games/balloon-blaster/components/BalloonComponent.js +0 -1
  1255. package/lib/module/games/balloon-blaster/components/GameArea.js +0 -1
  1256. package/lib/module/games/balloon-blaster/components/GameBackground.js +0 -1
  1257. package/lib/module/games/balloon-blaster/components/ScoreBoard.js +0 -1
  1258. package/lib/module/games/bike-racing/BikeRacingService.js +0 -1
  1259. package/lib/module/games/bike-racing/BikeRacingStore.js +0 -1
  1260. package/lib/module/games/bike-racing/components/BikeComponent.js +0 -1
  1261. package/lib/module/games/bike-racing/components/GameBackground.js +0 -1
  1262. package/lib/module/games/bike-racing/components/ScoreBoard.js +0 -1
  1263. package/lib/module/games/block-blast/BlockBlastService.js +0 -1
  1264. package/lib/module/games/block-blast/BlockBlastStore.js +0 -1
  1265. package/lib/module/games/block-blast/components/BlockPieceComponent.js +0 -1
  1266. package/lib/module/games/block-blast/components/GameArea.js +0 -1
  1267. package/lib/module/games/block-blast/components/GridComponent.js +0 -1
  1268. package/lib/module/games/block-blast/components/ScoreBoard.js +0 -1
  1269. package/lib/module/games/block-breaker/BlockBreakerService.js +0 -1
  1270. package/lib/module/games/block-breaker/BlockBreakerStore.js +0 -1
  1271. package/lib/module/games/block-breaker/components/BlastAnimation.js +0 -1
  1272. package/lib/module/games/block-breaker/components/GameArea.js +0 -1
  1273. package/lib/module/games/block-breaker/components/ScoreBoard.js +0 -1
  1274. package/lib/module/games/bluk/BlukService.js +0 -1
  1275. package/lib/module/games/bluk/BlukStore.js +0 -1
  1276. package/lib/module/games/bluk/components/GameArea.js +0 -1
  1277. package/lib/module/games/bluk/components/GameBackground.js +0 -1
  1278. package/lib/module/games/bluk/components/ScoreBoard.js +0 -1
  1279. package/lib/module/games/bubble-shooter/BubbleShooterService.js +0 -1
  1280. package/lib/module/games/bubble-shooter/BubbleShooterStore.js +0 -1
  1281. package/lib/module/games/bubble-shooter/components/GameArea.js +0 -1
  1282. package/lib/module/games/bubble-shooter/components/ScoreBoard.js +0 -1
  1283. package/lib/module/games/candy-crush/CandyCrushService.js +0 -1
  1284. package/lib/module/games/candy-crush/CandyCrushStore.js +0 -1
  1285. package/lib/module/games/candy-crush/components/CandyItem.js +0 -1
  1286. package/lib/module/games/candy-crush/components/GameGrid.js +0 -1
  1287. package/lib/module/games/candy-crush/components/ScoreBoard.js +0 -1
  1288. package/lib/module/games/car-racing/CarRacingService.js +0 -1
  1289. package/lib/module/games/car-racing/CarRacingStore.js +0 -1
  1290. package/lib/module/games/car-racing/components/CarComponent.js +0 -1
  1291. package/lib/module/games/car-racing/components/GameBackground.js +0 -1
  1292. package/lib/module/games/car-racing/components/ScoreBoard.js +0 -1
  1293. package/lib/module/games/chameleon-run/ChameleonRunService.js +0 -1
  1294. package/lib/module/games/chameleon-run/ChameleonRunStore.js +0 -1
  1295. package/lib/module/games/chameleon-run/components/GameArea.js +0 -1
  1296. package/lib/module/games/chameleon-run/components/GameBackground.js +0 -1
  1297. package/lib/module/games/chameleon-run/components/ScoreBoard.js +0 -1
  1298. package/lib/module/games/checkers/CheckersService.js +0 -1
  1299. package/lib/module/games/checkers/CheckersStore.js +0 -1
  1300. package/lib/module/games/checkers/components/GameBoard.js +0 -1
  1301. package/lib/module/games/checkers/components/ScoreBoard.js +0 -1
  1302. package/lib/module/games/color-switch/ColorSwitchService.js +0 -1
  1303. package/lib/module/games/color-switch/ColorSwitchStore.js +0 -1
  1304. package/lib/module/games/color-switch/components/GameArea.js +0 -1
  1305. package/lib/module/games/color-switch/components/ScoreBoard.js +0 -1
  1306. package/lib/module/games/colors-sort/ColorsSortService.js +0 -1
  1307. package/lib/module/games/colors-sort/ColorsSortStore.js +0 -1
  1308. package/lib/module/games/colors-sort/components/ColorContainer.js +0 -1
  1309. package/lib/module/games/colors-sort/components/ScoreBoard.js +0 -1
  1310. package/lib/module/games/connect-em-all/ConnectEmAllService.js +0 -1
  1311. package/lib/module/games/connect-em-all/ConnectEmAllStore.js +0 -1
  1312. package/lib/module/games/connect-em-all/components/GameBoard.js +0 -1
  1313. package/lib/module/games/connect-em-all/components/ScoreBoard.js +0 -1
  1314. package/lib/module/games/crossy-road/CrossyRoadService.js +0 -1
  1315. package/lib/module/games/crossy-road/CrossyRoadStore.js +0 -1
  1316. package/lib/module/games/crossy-road/components/GameArea.js +0 -1
  1317. package/lib/module/games/crossy-road/components/ScoreBoard.js +0 -1
  1318. package/lib/module/games/dino-jump/DinoJumpService.js +0 -1
  1319. package/lib/module/games/dino-jump/DinoJumpStore.js +0 -1
  1320. package/lib/module/games/dino-jump/components/DinoSprite.js +0 -1
  1321. package/lib/module/games/dino-jump/components/GameArea.js +0 -1
  1322. package/lib/module/games/dino-jump/components/GameBackground.js +0 -1
  1323. package/lib/module/games/dino-jump/components/ObstacleSprite.js +0 -1
  1324. package/lib/module/games/dino-jump/components/ScoreBoard.js +0 -1
  1325. package/lib/module/games/dino-jump/components/StarSprite.js +0 -1
  1326. package/lib/module/games/dots-and-boxes/DotsAndBoxesService.js +0 -1
  1327. package/lib/module/games/dots-and-boxes/DotsAndBoxesStore.js +0 -1
  1328. package/lib/module/games/dots-and-boxes/components/GameBoard.js +0 -1
  1329. package/lib/module/games/dots-and-boxes/components/ScoreBoard.js +0 -1
  1330. package/lib/module/games/falling-sticks/FallingSticksService.js +0 -1
  1331. package/lib/module/games/falling-sticks/FallingSticksStore.js +0 -1
  1332. package/lib/module/games/falling-sticks/components/GameArea.js +0 -1
  1333. package/lib/module/games/falling-sticks/components/GameBackground.js +0 -1
  1334. package/lib/module/games/falling-sticks/components/ScoreBoard.js +0 -1
  1335. package/lib/module/games/find-different-number/FindDifferentNumberService.js +0 -1
  1336. package/lib/module/games/find-different-number/FindDifferentNumberStore.js +0 -1
  1337. package/lib/module/games/find-different-number/components/GameGrid.js +0 -1
  1338. package/lib/module/games/find-different-number/components/ScoreBoard.js +0 -1
  1339. package/lib/module/games/flappy-bird/FlappyBirdStore.js +0 -1
  1340. package/lib/module/games/flappy-bird/components/Bird.js +0 -1
  1341. package/lib/module/games/flappy-bird/components/GameArea.js +0 -1
  1342. package/lib/module/games/flappy-bird/components/GameBackground.js +0 -1
  1343. package/lib/module/games/flappy-bird/components/Pipes.js +0 -1
  1344. package/lib/module/games/flappy-bird/components/ScoreBoard.js +0 -1
  1345. package/lib/module/games/fruit-merger/FruitMergerService.js +0 -1
  1346. package/lib/module/games/fruit-merger/FruitMergerStore.js +0 -1
  1347. package/lib/module/games/fruit-merger/components/FruitItem.js +0 -1
  1348. package/lib/module/games/fruit-merger/components/GameArea.js +0 -1
  1349. package/lib/module/games/fruit-merger/components/ScoreBoard.js +0 -1
  1350. package/lib/module/games/fruit-ninja/FruitNinjaService.js +0 -1
  1351. package/lib/module/games/fruit-ninja/FruitNinjaStore.js +0 -1
  1352. package/lib/module/games/fruit-ninja/components/FruitComponent.js +0 -1
  1353. package/lib/module/games/fruit-ninja/components/GameArea.js +0 -1
  1354. package/lib/module/games/fruit-ninja/components/GameBackground.js +0 -1
  1355. package/lib/module/games/fruit-ninja/components/ScoreBoard.js +0 -1
  1356. package/lib/module/games/game-2048/Game2048Service.js +0 -1
  1357. package/lib/module/games/game-2048/Game2048Store.js +0 -1
  1358. package/lib/module/games/game-2048/components/GameGrid.js +0 -1
  1359. package/lib/module/games/game-2048/components/ScoreBoard.js +0 -1
  1360. package/lib/module/games/knife-hit/KnifeHitService.js +0 -1
  1361. package/lib/module/games/knife-hit/KnifeHitStore.js +0 -1
  1362. package/lib/module/games/knife-hit/components/GameArea.js +0 -1
  1363. package/lib/module/games/knife-hit/components/ScoreBoard.js +0 -1
  1364. package/lib/module/games/ludo-king/LudoKingService.js +0 -1
  1365. package/lib/module/games/ludo-king/LudoKingStore.js +0 -1
  1366. package/lib/module/games/ludo-king/components/Dice.js +0 -1
  1367. package/lib/module/games/ludo-king/components/GameBoard.js +0 -1
  1368. package/lib/module/games/ludo-king/components/ScoreBoard.js +0 -1
  1369. package/lib/module/games/maze-runner/MazeRunnerStore.js +0 -1
  1370. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js +0 -1
  1371. package/lib/module/games/maze-runner/components/EnhancedGameArea.js +0 -1
  1372. package/lib/module/games/maze-runner/components/ScoreBoard.js +0 -1
  1373. package/lib/module/games/maze-runner/components/SkiaPipeComponent.js +0 -1
  1374. package/lib/module/games/maze-runner/components/WallComponent.js +0 -1
  1375. package/lib/module/games/memory-match/MemoryMatchService.js +0 -1
  1376. package/lib/module/games/memory-match/MemoryMatchStore.js +0 -1
  1377. package/lib/module/games/memory-match/components/Card.js +0 -1
  1378. package/lib/module/games/memory-match/components/GameBoard.js +0 -1
  1379. package/lib/module/games/memory-match/components/ScoreBoard.js +0 -1
  1380. package/lib/module/games/mine-sweeper/MineSweeperService.js +0 -1
  1381. package/lib/module/games/mine-sweeper/MineSweeperStore.js +0 -1
  1382. package/lib/module/games/mine-sweeper/components/GameArea.js +0 -1
  1383. package/lib/module/games/mine-sweeper/components/ScoreBoard.js +0 -1
  1384. package/lib/module/games/mob-control/MobControlService.js +0 -1
  1385. package/lib/module/games/mob-control/MobControlStore.js +0 -1
  1386. package/lib/module/games/mob-control/components/GameArea.js +0 -1
  1387. package/lib/module/games/mob-control/components/ScoreBoard.js +0 -1
  1388. package/lib/module/games/number-search/NumberSearchConstants.js +0 -1
  1389. package/lib/module/games/number-search/NumberSearchService.js +0 -1
  1390. package/lib/module/games/number-search/NumberSearchStore.js +0 -1
  1391. package/lib/module/games/number-search/components/GameBoard.js +0 -1
  1392. package/lib/module/games/number-search/components/NumberList.js +0 -1
  1393. package/lib/module/games/number-search/components/ScoreBoard.js +0 -1
  1394. package/lib/module/games/nuts-and-bolts/NutsAndBoltsService.js +0 -1
  1395. package/lib/module/games/nuts-and-bolts/NutsAndBoltsStore.js +0 -1
  1396. package/lib/module/games/nuts-and-bolts/components/GameBoard.js +0 -1
  1397. package/lib/module/games/nuts-and-bolts/components/ScoreBoard.js +0 -1
  1398. package/lib/module/games/pac-man/PacManService.js +0 -1
  1399. package/lib/module/games/pac-man/PacManStore.js +0 -1
  1400. package/lib/module/games/pac-man/components/GameCanvas.js +0 -1
  1401. package/lib/module/games/pac-man/components/ScoreBoard.js +0 -1
  1402. package/lib/module/games/paper-io/PaperIoService.js +0 -1
  1403. package/lib/module/games/paper-io/PaperIoStore.js +0 -1
  1404. package/lib/module/games/paper-io/components/GameArea.js +0 -1
  1405. package/lib/module/games/paper-io/components/ScoreBoard.js +0 -1
  1406. package/lib/module/games/perfect-circle/PerfectCircleService.js +0 -1
  1407. package/lib/module/games/perfect-circle/PerfectCircleStore.js +0 -1
  1408. package/lib/module/games/perfect-circle/components/DrawingCanvas.js +0 -1
  1409. package/lib/module/games/perfect-circle/components/ScoreBoard.js +0 -1
  1410. package/lib/module/games/pipe-connect/PipeConnectService.js +0 -1
  1411. package/lib/module/games/pipe-connect/PipeConnectStore.js +0 -1
  1412. package/lib/module/games/pipe-connect/components/GameArea.js +0 -1
  1413. package/lib/module/games/pipe-connect/components/ScoreBoard.js +0 -1
  1414. package/lib/module/games/popit-fidget/PopitFidgetService.js +0 -1
  1415. package/lib/module/games/popit-fidget/PopitFidgetStore.js +0 -1
  1416. package/lib/module/games/popit-fidget/components/BubbleComponent.js +0 -1
  1417. package/lib/module/games/popit-fidget/components/FidgetGrid.js +0 -1
  1418. package/lib/module/games/popit-fidget/components/ScoreBoard.js +0 -1
  1419. package/lib/module/games/reversi/ReversiStore.js +0 -1
  1420. package/lib/module/games/reversi/components/GameBoard.js +0 -1
  1421. package/lib/module/games/reversi/components/ScoreBoard.js +0 -1
  1422. package/lib/module/games/sliding-numbers/SlidingNumbersService.js +0 -1
  1423. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js +0 -1
  1424. package/lib/module/games/sliding-numbers/components/NumbersGrid.js +0 -1
  1425. package/lib/module/games/sliding-numbers/components/ScoreBoard.js +0 -1
  1426. package/lib/module/games/snake-3d/Snake3DService.js +0 -1
  1427. package/lib/module/games/snake-3d/Snake3DStore.js +0 -1
  1428. package/lib/module/games/snake-3d/components/GameGrid.js +0 -1
  1429. package/lib/module/games/snake-3d/components/ScoreBoard.js +0 -1
  1430. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersService.js +0 -1
  1431. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersStore.js +0 -1
  1432. package/lib/module/games/snakes-and-ladders/components/Dice.js +0 -1
  1433. package/lib/module/games/snakes-and-ladders/components/GameBoard.js +0 -1
  1434. package/lib/module/games/snakes-and-ladders/components/ScoreBoard.js +0 -1
  1435. package/lib/module/games/space-fighter/SpaceFighterService.js +0 -1
  1436. package/lib/module/games/space-fighter/SpaceFighterStore.js +0 -1
  1437. package/lib/module/games/space-fighter/components/AsteroidComponent.js +0 -1
  1438. package/lib/module/games/space-fighter/components/GameArea.js +0 -1
  1439. package/lib/module/games/space-fighter/components/GameBackground.js +0 -1
  1440. package/lib/module/games/space-fighter/components/ScoreBoard.js +0 -1
  1441. package/lib/module/games/space-fighter/components/Spacecraft3D.js +0 -1
  1442. package/lib/module/games/space-fighter/components/SpacecraftPath.js +0 -1
  1443. package/lib/module/games/spider-solitaire/SpiderSolitaireService.js +0 -1
  1444. package/lib/module/games/spider-solitaire/SpiderSolitaireStore.js +0 -1
  1445. package/lib/module/games/spider-solitaire/components/Card.js +0 -1
  1446. package/lib/module/games/spider-solitaire/components/CardPile.js +0 -1
  1447. package/lib/module/games/spider-solitaire/components/ScoreBoard.js +0 -1
  1448. package/lib/module/games/stack-tower/StackTowerService.js +0 -1
  1449. package/lib/module/games/stack-tower/StackTowerStore.js +0 -1
  1450. package/lib/module/games/stack-tower/components/GameArea.js +0 -1
  1451. package/lib/module/games/stack-tower/components/ScoreBoard.js +0 -1
  1452. package/lib/module/games/sudoku/SudokuService.js +0 -1
  1453. package/lib/module/games/sudoku/SudokuStore.js +0 -1
  1454. package/lib/module/games/sudoku/components/GameArea.js +0 -1
  1455. package/lib/module/games/sudoku/components/ScoreBoard.js +0 -1
  1456. package/lib/module/games/tangram/TangramService.js +0 -1
  1457. package/lib/module/games/tangram/TangramStore.js +0 -1
  1458. package/lib/module/games/tangram/components/GameBoard.js +0 -1
  1459. package/lib/module/games/tangram/components/ScoreBoard.js +0 -1
  1460. package/lib/module/games/tank-1990/Tank1990Service.js +0 -1
  1461. package/lib/module/games/tank-1990/Tank1990Store.js +0 -1
  1462. package/lib/module/games/tank-1990/components/Controls.js +0 -1
  1463. package/lib/module/games/tank-1990/components/GameBoard.js +0 -1
  1464. package/lib/module/games/tank-1990/components/ScoreBoard.js +0 -1
  1465. package/lib/module/games/tic-tac-toe/TicTacToeService.js +0 -1
  1466. package/lib/module/games/tic-tac-toe/TicTacToeStore.js +0 -1
  1467. package/lib/module/games/tic-tac-toe/components/GameBoard.js +0 -1
  1468. package/lib/module/games/tic-tac-toe/components/ScoreBoard.js +0 -1
  1469. package/lib/module/games/tile-home/TileHomeService.js +0 -1
  1470. package/lib/module/games/tile-home/TileHomeStore.js +0 -1
  1471. package/lib/module/games/tile-home/components/AnimatingTile.js +0 -1
  1472. package/lib/module/games/tile-home/components/FlyingTile.js +0 -1
  1473. package/lib/module/games/tile-home/components/GameBoard.js +0 -1
  1474. package/lib/module/games/tile-home/components/ScoreBoard.js +0 -1
  1475. package/lib/module/games/tile-home/components/TileItem.js +0 -1
  1476. package/lib/module/games/tile-home/components/TileSlot.js +0 -1
  1477. package/lib/module/games/whack-a-mole/WhackAMoleService.js +0 -1
  1478. package/lib/module/games/whack-a-mole/WhackAMoleStore.js +0 -1
  1479. package/lib/module/games/whack-a-mole/components/GameBackground.js +0 -1
  1480. package/lib/module/games/whack-a-mole/components/GameGrid.js +0 -1
  1481. package/lib/module/games/whack-a-mole/components/GameHole.js +0 -1
  1482. package/lib/module/games/whack-a-mole/components/MoleCharacter.js +0 -1
  1483. package/lib/module/games/whack-a-mole/components/ScoreBoard.js +0 -1
  1484. package/lib/module/games/word-search/WordSearchConstants.js +0 -1
  1485. package/lib/module/games/word-search/WordSearchService.js +0 -1
  1486. package/lib/module/games/word-search/WordSearchStore.js +0 -1
  1487. package/lib/module/games/word-search/components/GameBoard.js +0 -1
  1488. package/lib/module/games/word-search/components/ScoreBoard.js +0 -1
  1489. package/lib/module/games/word-search/components/WordList.js +0 -1
  1490. package/lib/module/helpers/AnimatedScore.js +0 -1
  1491. package/lib/module/helpers/AnimationFrame.js +0 -1
  1492. package/lib/module/helpers/AnimationTracker.js +0 -1
  1493. package/lib/module/helpers/BlastAnimation.js +0 -1
  1494. package/lib/module/helpers/ErrorHandler.js +0 -1
  1495. package/lib/module/helpers/GameBackgroundPattern.js +0 -1
  1496. package/lib/module/helpers/GameControlButton.js +0 -1
  1497. package/lib/module/helpers/GameOverModal.js +0 -1
  1498. package/lib/module/helpers/GameTimer.js +0 -1
  1499. package/lib/module/helpers/Icons.js +0 -1
  1500. package/lib/module/helpers/ParticleBlast.js +0 -1
  1501. package/lib/module/helpers/ScoreBoardContainer.js +0 -1
  1502. package/lib/module/helpers/assets/apple-fruit.js +0 -1
  1503. package/lib/module/helpers/assets/avocado-item.js +0 -1
  1504. package/lib/module/helpers/assets/banana-fruit.js +0 -1
  1505. package/lib/module/helpers/assets/bomb-item.js +0 -1
  1506. package/lib/module/helpers/assets/broccoli-item.js +0 -1
  1507. package/lib/module/helpers/assets/cherries-fruit.js +0 -1
  1508. package/lib/module/helpers/assets/donut-item.js +0 -1
  1509. package/lib/module/helpers/assets/dragonfruit-item.js +0 -1
  1510. package/lib/module/helpers/assets/fries-item.js +0 -1
  1511. package/lib/module/helpers/assets/fruit-helpers.js +0 -1
  1512. package/lib/module/helpers/assets/grapes-fruit.js +0 -1
  1513. package/lib/module/helpers/assets/icecream-item.js +0 -1
  1514. package/lib/module/helpers/assets/index.js +0 -1
  1515. package/lib/module/helpers/assets/kiwi-fruit.js +0 -1
  1516. package/lib/module/helpers/assets/mango-fruit.js +0 -1
  1517. package/lib/module/helpers/assets/orange-fruit.js +0 -1
  1518. package/lib/module/helpers/assets/papaya-fruit.js +0 -1
  1519. package/lib/module/helpers/assets/papaya-full-fruit.js +0 -1
  1520. package/lib/module/helpers/assets/peach-fruit.js +0 -1
  1521. package/lib/module/helpers/assets/pineapple-fruit.js +0 -1
  1522. package/lib/module/helpers/assets/pomegranate-fruit.js +0 -1
  1523. package/lib/module/helpers/assets/pumpkin-fruit.js +0 -1
  1524. package/lib/module/helpers/assets/raspberry-item.js +0 -1
  1525. package/lib/module/helpers/assets/star-item.js +0 -1
  1526. package/lib/module/helpers/assets/strawberry-fruit.js +0 -1
  1527. package/lib/module/helpers/assets/watermelon-fruit.js +0 -1
  1528. package/lib/module/types.d.js +0 -1
  1529. package/lib/typescript/src/games/arrows/ArrowsService.d.ts +0 -6
  1530. package/lib/typescript/src/games/arrows/ArrowsStore.d.ts +0 -51
  1531. package/lib/typescript/src/games/arrows/components/ArrowsGrid.d.ts +0 -13
  1532. package/lib/typescript/src/games/arrows/components/ScoreBoard.d.ts +0 -6
  1533. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts +0 -80
  1534. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts +0 -30
  1535. package/lib/typescript/src/games/balloon-blaster/components/BalloonComponent.d.ts +0 -9
  1536. package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts +0 -9
  1537. package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts +0 -7
  1538. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts +0 -6
  1539. package/lib/typescript/src/games/bike-racing/BikeRacingService.d.ts +0 -44
  1540. package/lib/typescript/src/games/bike-racing/BikeRacingStore.d.ts +0 -68
  1541. package/lib/typescript/src/games/bike-racing/components/BikeComponent.d.ts +0 -12
  1542. package/lib/typescript/src/games/bike-racing/components/GameBackground.d.ts +0 -7
  1543. package/lib/typescript/src/games/bike-racing/components/ScoreBoard.d.ts +0 -6
  1544. package/lib/typescript/src/games/block-blast/BlockBlastService.d.ts +0 -16
  1545. package/lib/typescript/src/games/block-blast/BlockBlastStore.d.ts +0 -70
  1546. package/lib/typescript/src/games/block-blast/components/BlockPieceComponent.d.ts +0 -11
  1547. package/lib/typescript/src/games/block-blast/components/GameArea.d.ts +0 -11
  1548. package/lib/typescript/src/games/block-blast/components/GridComponent.d.ts +0 -8
  1549. package/lib/typescript/src/games/block-blast/components/ScoreBoard.d.ts +0 -6
  1550. package/lib/typescript/src/games/block-breaker/BlockBreakerService.d.ts +0 -88
  1551. package/lib/typescript/src/games/block-breaker/BlockBreakerStore.d.ts +0 -47
  1552. package/lib/typescript/src/games/block-breaker/components/BlastAnimation.d.ts +0 -15
  1553. package/lib/typescript/src/games/block-breaker/components/GameArea.d.ts +0 -8
  1554. package/lib/typescript/src/games/block-breaker/components/ScoreBoard.d.ts +0 -6
  1555. package/lib/typescript/src/games/bluk/BlukService.d.ts +0 -71
  1556. package/lib/typescript/src/games/bluk/BlukStore.d.ts +0 -52
  1557. package/lib/typescript/src/games/bluk/components/GameArea.d.ts +0 -17
  1558. package/lib/typescript/src/games/bluk/components/GameBackground.d.ts +0 -9
  1559. package/lib/typescript/src/games/bluk/components/ScoreBoard.d.ts +0 -6
  1560. package/lib/typescript/src/games/bubble-shooter/BubbleShooterService.d.ts +0 -35
  1561. package/lib/typescript/src/games/bubble-shooter/BubbleShooterStore.d.ts +0 -63
  1562. package/lib/typescript/src/games/bubble-shooter/components/GameArea.d.ts +0 -8
  1563. package/lib/typescript/src/games/bubble-shooter/components/ScoreBoard.d.ts +0 -6
  1564. package/lib/typescript/src/games/candy-crush/CandyCrushService.d.ts +0 -37
  1565. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts +0 -53
  1566. package/lib/typescript/src/games/candy-crush/components/CandyItem.d.ts +0 -11
  1567. package/lib/typescript/src/games/candy-crush/components/GameGrid.d.ts +0 -2
  1568. package/lib/typescript/src/games/candy-crush/components/ScoreBoard.d.ts +0 -5
  1569. package/lib/typescript/src/games/car-racing/CarRacingService.d.ts +0 -44
  1570. package/lib/typescript/src/games/car-racing/CarRacingStore.d.ts +0 -68
  1571. package/lib/typescript/src/games/car-racing/components/CarComponent.d.ts +0 -12
  1572. package/lib/typescript/src/games/car-racing/components/GameBackground.d.ts +0 -7
  1573. package/lib/typescript/src/games/car-racing/components/ScoreBoard.d.ts +0 -6
  1574. package/lib/typescript/src/games/chameleon-run/ChameleonRunService.d.ts +0 -76
  1575. package/lib/typescript/src/games/chameleon-run/ChameleonRunStore.d.ts +0 -48
  1576. package/lib/typescript/src/games/chameleon-run/components/GameArea.d.ts +0 -8
  1577. package/lib/typescript/src/games/chameleon-run/components/GameBackground.d.ts +0 -7
  1578. package/lib/typescript/src/games/chameleon-run/components/ScoreBoard.d.ts +0 -6
  1579. package/lib/typescript/src/games/checkers/CheckersService.d.ts +0 -6
  1580. package/lib/typescript/src/games/checkers/CheckersStore.d.ts +0 -48
  1581. package/lib/typescript/src/games/checkers/components/GameBoard.d.ts +0 -6
  1582. package/lib/typescript/src/games/checkers/components/ScoreBoard.d.ts +0 -6
  1583. package/lib/typescript/src/games/color-switch/ColorSwitchService.d.ts +0 -63
  1584. package/lib/typescript/src/games/color-switch/ColorSwitchStore.d.ts +0 -43
  1585. package/lib/typescript/src/games/color-switch/components/GameArea.d.ts +0 -8
  1586. package/lib/typescript/src/games/color-switch/components/ScoreBoard.d.ts +0 -6
  1587. package/lib/typescript/src/games/colors-sort/ColorsSortService.d.ts +0 -61
  1588. package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts +0 -56
  1589. package/lib/typescript/src/games/colors-sort/components/ColorContainer.d.ts +0 -7
  1590. package/lib/typescript/src/games/colors-sort/components/ScoreBoard.d.ts +0 -6
  1591. package/lib/typescript/src/games/connect-em-all/ConnectEmAllService.d.ts +0 -20
  1592. package/lib/typescript/src/games/connect-em-all/ConnectEmAllStore.d.ts +0 -48
  1593. package/lib/typescript/src/games/connect-em-all/components/GameBoard.d.ts +0 -7
  1594. package/lib/typescript/src/games/connect-em-all/components/ScoreBoard.d.ts +0 -6
  1595. package/lib/typescript/src/games/crossy-road/CrossyRoadService.d.ts +0 -89
  1596. package/lib/typescript/src/games/crossy-road/CrossyRoadStore.d.ts +0 -39
  1597. package/lib/typescript/src/games/crossy-road/components/GameArea.d.ts +0 -8
  1598. package/lib/typescript/src/games/crossy-road/components/ScoreBoard.d.ts +0 -6
  1599. package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts +0 -39
  1600. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts +0 -97
  1601. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts +0 -2
  1602. package/lib/typescript/src/games/dino-jump/components/GameArea.d.ts +0 -7
  1603. package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts +0 -7
  1604. package/lib/typescript/src/games/dino-jump/components/ObstacleSprite.d.ts +0 -8
  1605. package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts +0 -6
  1606. package/lib/typescript/src/games/dino-jump/components/StarSprite.d.ts +0 -2
  1607. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesService.d.ts +0 -45
  1608. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesStore.d.ts +0 -37
  1609. package/lib/typescript/src/games/dots-and-boxes/components/GameBoard.d.ts +0 -7
  1610. package/lib/typescript/src/games/dots-and-boxes/components/ScoreBoard.d.ts +0 -6
  1611. package/lib/typescript/src/games/falling-sticks/FallingSticksService.d.ts +0 -38
  1612. package/lib/typescript/src/games/falling-sticks/FallingSticksStore.d.ts +0 -31
  1613. package/lib/typescript/src/games/falling-sticks/components/GameArea.d.ts +0 -7
  1614. package/lib/typescript/src/games/falling-sticks/components/GameBackground.d.ts +0 -6
  1615. package/lib/typescript/src/games/falling-sticks/components/ScoreBoard.d.ts +0 -6
  1616. package/lib/typescript/src/games/find-different-number/FindDifferentNumberService.d.ts +0 -6
  1617. package/lib/typescript/src/games/find-different-number/FindDifferentNumberStore.d.ts +0 -36
  1618. package/lib/typescript/src/games/find-different-number/components/GameGrid.d.ts +0 -7
  1619. package/lib/typescript/src/games/find-different-number/components/ScoreBoard.d.ts +0 -6
  1620. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts +0 -68
  1621. package/lib/typescript/src/games/flappy-bird/components/Bird.d.ts +0 -2
  1622. package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts +0 -7
  1623. package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts +0 -7
  1624. package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts +0 -8
  1625. package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts +0 -6
  1626. package/lib/typescript/src/games/fruit-merger/FruitMergerService.d.ts +0 -3
  1627. package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts +0 -66
  1628. package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts +0 -8
  1629. package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts +0 -8
  1630. package/lib/typescript/src/games/fruit-merger/components/ScoreBoard.d.ts +0 -6
  1631. package/lib/typescript/src/games/fruit-ninja/FruitNinjaService.d.ts +0 -73
  1632. package/lib/typescript/src/games/fruit-ninja/FruitNinjaStore.d.ts +0 -38
  1633. package/lib/typescript/src/games/fruit-ninja/components/FruitComponent.d.ts +0 -8
  1634. package/lib/typescript/src/games/fruit-ninja/components/GameArea.d.ts +0 -7
  1635. package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts +0 -7
  1636. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts +0 -6
  1637. package/lib/typescript/src/games/game-2048/Game2048Service.d.ts +0 -102
  1638. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts +0 -44
  1639. package/lib/typescript/src/games/game-2048/components/GameGrid.d.ts +0 -2
  1640. package/lib/typescript/src/games/game-2048/components/ScoreBoard.d.ts +0 -6
  1641. package/lib/typescript/src/games/knife-hit/KnifeHitService.d.ts +0 -48
  1642. package/lib/typescript/src/games/knife-hit/KnifeHitStore.d.ts +0 -41
  1643. package/lib/typescript/src/games/knife-hit/components/GameArea.d.ts +0 -8
  1644. package/lib/typescript/src/games/knife-hit/components/ScoreBoard.d.ts +0 -6
  1645. package/lib/typescript/src/games/ludo-king/LudoKingService.d.ts +0 -33
  1646. package/lib/typescript/src/games/ludo-king/LudoKingStore.d.ts +0 -34
  1647. package/lib/typescript/src/games/ludo-king/components/Dice.d.ts +0 -7
  1648. package/lib/typescript/src/games/ludo-king/components/GameBoard.d.ts +0 -7
  1649. package/lib/typescript/src/games/ludo-king/components/ScoreBoard.d.ts +0 -6
  1650. package/lib/typescript/src/games/maze-runner/MazeRunnerStore.d.ts +0 -62
  1651. package/lib/typescript/src/games/maze-runner/components/EnhancedBallComponent.d.ts +0 -10
  1652. package/lib/typescript/src/games/maze-runner/components/EnhancedGameArea.d.ts +0 -33
  1653. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts +0 -24
  1654. package/lib/typescript/src/games/maze-runner/components/SkiaPipeComponent.d.ts +0 -24
  1655. package/lib/typescript/src/games/maze-runner/components/WallComponent.d.ts +0 -9
  1656. package/lib/typescript/src/games/memory-match/MemoryMatchService.d.ts +0 -6
  1657. package/lib/typescript/src/games/memory-match/MemoryMatchStore.d.ts +0 -42
  1658. package/lib/typescript/src/games/memory-match/components/Card.d.ts +0 -6
  1659. package/lib/typescript/src/games/memory-match/components/GameBoard.d.ts +0 -6
  1660. package/lib/typescript/src/games/memory-match/components/ScoreBoard.d.ts +0 -6
  1661. package/lib/typescript/src/games/mine-sweeper/MineSweeperService.d.ts +0 -22
  1662. package/lib/typescript/src/games/mine-sweeper/MineSweeperStore.d.ts +0 -73
  1663. package/lib/typescript/src/games/mine-sweeper/components/GameArea.d.ts +0 -8
  1664. package/lib/typescript/src/games/mine-sweeper/components/ScoreBoard.d.ts +0 -6
  1665. package/lib/typescript/src/games/mob-control/MobControlService.d.ts +0 -74
  1666. package/lib/typescript/src/games/mob-control/MobControlStore.d.ts +0 -66
  1667. package/lib/typescript/src/games/mob-control/components/GameArea.d.ts +0 -11
  1668. package/lib/typescript/src/games/mob-control/components/ScoreBoard.d.ts +0 -6
  1669. package/lib/typescript/src/games/number-search/NumberSearchConstants.d.ts +0 -63
  1670. package/lib/typescript/src/games/number-search/NumberSearchService.d.ts +0 -34
  1671. package/lib/typescript/src/games/number-search/NumberSearchStore.d.ts +0 -70
  1672. package/lib/typescript/src/games/number-search/components/GameBoard.d.ts +0 -7
  1673. package/lib/typescript/src/games/number-search/components/NumberList.d.ts +0 -2
  1674. package/lib/typescript/src/games/number-search/components/ScoreBoard.d.ts +0 -6
  1675. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsService.d.ts +0 -67
  1676. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsStore.d.ts +0 -45
  1677. package/lib/typescript/src/games/nuts-and-bolts/components/GameBoard.d.ts +0 -7
  1678. package/lib/typescript/src/games/nuts-and-bolts/components/ScoreBoard.d.ts +0 -6
  1679. package/lib/typescript/src/games/pac-man/PacManService.d.ts +0 -73
  1680. package/lib/typescript/src/games/pac-man/PacManStore.d.ts +0 -89
  1681. package/lib/typescript/src/games/pac-man/components/GameCanvas.d.ts +0 -2
  1682. package/lib/typescript/src/games/pac-man/components/ScoreBoard.d.ts +0 -6
  1683. package/lib/typescript/src/games/paper-io/PaperIoService.d.ts +0 -70
  1684. package/lib/typescript/src/games/paper-io/PaperIoStore.d.ts +0 -51
  1685. package/lib/typescript/src/games/paper-io/components/GameArea.d.ts +0 -8
  1686. package/lib/typescript/src/games/paper-io/components/ScoreBoard.d.ts +0 -6
  1687. package/lib/typescript/src/games/perfect-circle/PerfectCircleService.d.ts +0 -15
  1688. package/lib/typescript/src/games/perfect-circle/PerfectCircleStore.d.ts +0 -55
  1689. package/lib/typescript/src/games/perfect-circle/components/DrawingCanvas.d.ts +0 -8
  1690. package/lib/typescript/src/games/perfect-circle/components/ScoreBoard.d.ts +0 -6
  1691. package/lib/typescript/src/games/pipe-connect/PipeConnectService.d.ts +0 -17
  1692. package/lib/typescript/src/games/pipe-connect/PipeConnectStore.d.ts +0 -31
  1693. package/lib/typescript/src/games/pipe-connect/components/GameArea.d.ts +0 -7
  1694. package/lib/typescript/src/games/pipe-connect/components/ScoreBoard.d.ts +0 -6
  1695. package/lib/typescript/src/games/popit-fidget/PopitFidgetService.d.ts +0 -30
  1696. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts +0 -33
  1697. package/lib/typescript/src/games/popit-fidget/components/BubbleComponent.d.ts +0 -10
  1698. package/lib/typescript/src/games/popit-fidget/components/FidgetGrid.d.ts +0 -10
  1699. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts +0 -6
  1700. package/lib/typescript/src/games/reversi/ReversiStore.d.ts +0 -46
  1701. package/lib/typescript/src/games/reversi/components/GameBoard.d.ts +0 -6
  1702. package/lib/typescript/src/games/reversi/components/ScoreBoard.d.ts +0 -6
  1703. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersService.d.ts +0 -6
  1704. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts +0 -38
  1705. package/lib/typescript/src/games/sliding-numbers/components/NumbersGrid.d.ts +0 -7
  1706. package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts +0 -6
  1707. package/lib/typescript/src/games/snake-3d/Snake3DService.d.ts +0 -29
  1708. package/lib/typescript/src/games/snake-3d/Snake3DStore.d.ts +0 -49
  1709. package/lib/typescript/src/games/snake-3d/components/GameGrid.d.ts +0 -2
  1710. package/lib/typescript/src/games/snake-3d/components/ScoreBoard.d.ts +0 -6
  1711. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersService.d.ts +0 -22
  1712. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersStore.d.ts +0 -40
  1713. package/lib/typescript/src/games/snakes-and-ladders/components/Dice.d.ts +0 -7
  1714. package/lib/typescript/src/games/snakes-and-ladders/components/GameBoard.d.ts +0 -2
  1715. package/lib/typescript/src/games/snakes-and-ladders/components/ScoreBoard.d.ts +0 -6
  1716. package/lib/typescript/src/games/space-fighter/SpaceFighterService.d.ts +0 -117
  1717. package/lib/typescript/src/games/space-fighter/SpaceFighterStore.d.ts +0 -54
  1718. package/lib/typescript/src/games/space-fighter/components/AsteroidComponent.d.ts +0 -9
  1719. package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts +0 -9
  1720. package/lib/typescript/src/games/space-fighter/components/GameBackground.d.ts +0 -6
  1721. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts +0 -6
  1722. package/lib/typescript/src/games/space-fighter/components/Spacecraft3D.d.ts +0 -11
  1723. package/lib/typescript/src/games/space-fighter/components/SpacecraftPath.d.ts +0 -9
  1724. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireService.d.ts +0 -23
  1725. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireStore.d.ts +0 -71
  1726. package/lib/typescript/src/games/spider-solitaire/components/Card.d.ts +0 -10
  1727. package/lib/typescript/src/games/spider-solitaire/components/CardPile.d.ts +0 -12
  1728. package/lib/typescript/src/games/spider-solitaire/components/ScoreBoard.d.ts +0 -6
  1729. package/lib/typescript/src/games/stack-tower/StackTowerService.d.ts +0 -51
  1730. package/lib/typescript/src/games/stack-tower/StackTowerStore.d.ts +0 -52
  1731. package/lib/typescript/src/games/stack-tower/components/GameArea.d.ts +0 -8
  1732. package/lib/typescript/src/games/stack-tower/components/ScoreBoard.d.ts +0 -6
  1733. package/lib/typescript/src/games/sudoku/SudokuService.d.ts +0 -24
  1734. package/lib/typescript/src/games/sudoku/SudokuStore.d.ts +0 -65
  1735. package/lib/typescript/src/games/sudoku/components/GameArea.d.ts +0 -8
  1736. package/lib/typescript/src/games/sudoku/components/ScoreBoard.d.ts +0 -6
  1737. package/lib/typescript/src/games/tangram/TangramService.d.ts +0 -6
  1738. package/lib/typescript/src/games/tangram/TangramStore.d.ts +0 -34
  1739. package/lib/typescript/src/games/tangram/components/GameBoard.d.ts +0 -7
  1740. package/lib/typescript/src/games/tangram/components/ScoreBoard.d.ts +0 -6
  1741. package/lib/typescript/src/games/tank-1990/Tank1990Service.d.ts +0 -80
  1742. package/lib/typescript/src/games/tank-1990/Tank1990Store.d.ts +0 -48
  1743. package/lib/typescript/src/games/tank-1990/components/Controls.d.ts +0 -2
  1744. package/lib/typescript/src/games/tank-1990/components/GameBoard.d.ts +0 -2
  1745. package/lib/typescript/src/games/tank-1990/components/ScoreBoard.d.ts +0 -6
  1746. package/lib/typescript/src/games/tic-tac-toe/TicTacToeService.d.ts +0 -0
  1747. package/lib/typescript/src/games/tic-tac-toe/TicTacToeStore.d.ts +0 -51
  1748. package/lib/typescript/src/games/tic-tac-toe/components/GameBoard.d.ts +0 -6
  1749. package/lib/typescript/src/games/tic-tac-toe/components/ScoreBoard.d.ts +0 -6
  1750. package/lib/typescript/src/games/tile-home/TileHomeService.d.ts +0 -1
  1751. package/lib/typescript/src/games/tile-home/TileHomeStore.d.ts +0 -57
  1752. package/lib/typescript/src/games/tile-home/components/AnimatingTile.d.ts +0 -9
  1753. package/lib/typescript/src/games/tile-home/components/FlyingTile.d.ts +0 -16
  1754. package/lib/typescript/src/games/tile-home/components/GameBoard.d.ts +0 -7
  1755. package/lib/typescript/src/games/tile-home/components/ScoreBoard.d.ts +0 -6
  1756. package/lib/typescript/src/games/tile-home/components/TileItem.d.ts +0 -11
  1757. package/lib/typescript/src/games/tile-home/components/TileSlot.d.ts +0 -7
  1758. package/lib/typescript/src/games/whack-a-mole/WhackAMoleService.d.ts +0 -32
  1759. package/lib/typescript/src/games/whack-a-mole/WhackAMoleStore.d.ts +0 -39
  1760. package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts +0 -7
  1761. package/lib/typescript/src/games/whack-a-mole/components/GameGrid.d.ts +0 -10
  1762. package/lib/typescript/src/games/whack-a-mole/components/GameHole.d.ts +0 -11
  1763. package/lib/typescript/src/games/whack-a-mole/components/MoleCharacter.d.ts +0 -6
  1764. package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts +0 -6
  1765. package/lib/typescript/src/games/word-search/WordSearchConstants.d.ts +0 -63
  1766. package/lib/typescript/src/games/word-search/WordSearchService.d.ts +0 -34
  1767. package/lib/typescript/src/games/word-search/WordSearchStore.d.ts +0 -70
  1768. package/lib/typescript/src/games/word-search/components/GameBoard.d.ts +0 -7
  1769. package/lib/typescript/src/games/word-search/components/ScoreBoard.d.ts +0 -6
  1770. package/lib/typescript/src/games/word-search/components/WordList.d.ts +0 -2
  1771. package/lib/typescript/src/helpers/AnimatedScore.d.ts +0 -36
  1772. package/lib/typescript/src/helpers/AnimationFrame.d.ts +0 -40
  1773. package/lib/typescript/src/helpers/AnimationTracker.d.ts +0 -44
  1774. package/lib/typescript/src/helpers/BlastAnimation.d.ts +0 -16
  1775. package/lib/typescript/src/helpers/ErrorHandler.d.ts +0 -123
  1776. package/lib/typescript/src/helpers/GameBackgroundPattern.d.ts +0 -7
  1777. package/lib/typescript/src/helpers/GameControlButton.d.ts +0 -11
  1778. package/lib/typescript/src/helpers/GameOverModal.d.ts +0 -15
  1779. package/lib/typescript/src/helpers/GameTimer.d.ts +0 -26
  1780. package/lib/typescript/src/helpers/Icons.d.ts +0 -12
  1781. package/lib/typescript/src/helpers/ParticleBlast.d.ts +0 -11
  1782. package/lib/typescript/src/helpers/ScoreBoardContainer.d.ts +0 -85
  1783. package/lib/typescript/src/helpers/assets/apple-fruit.d.ts +0 -4
  1784. package/lib/typescript/src/helpers/assets/avocado-item.d.ts +0 -4
  1785. package/lib/typescript/src/helpers/assets/banana-fruit.d.ts +0 -4
  1786. package/lib/typescript/src/helpers/assets/bomb-item.d.ts +0 -4
  1787. package/lib/typescript/src/helpers/assets/broccoli-item.d.ts +0 -4
  1788. package/lib/typescript/src/helpers/assets/cherries-fruit.d.ts +0 -4
  1789. package/lib/typescript/src/helpers/assets/donut-item.d.ts +0 -4
  1790. package/lib/typescript/src/helpers/assets/dragonfruit-item.d.ts +0 -4
  1791. package/lib/typescript/src/helpers/assets/fries-item.d.ts +0 -4
  1792. package/lib/typescript/src/helpers/assets/fruit-helpers.d.ts +0 -154
  1793. package/lib/typescript/src/helpers/assets/grapes-fruit.d.ts +0 -4
  1794. package/lib/typescript/src/helpers/assets/icecream-item.d.ts +0 -4
  1795. package/lib/typescript/src/helpers/assets/index.d.ts +0 -31
  1796. package/lib/typescript/src/helpers/assets/kiwi-fruit.d.ts +0 -4
  1797. package/lib/typescript/src/helpers/assets/mango-fruit.d.ts +0 -4
  1798. package/lib/typescript/src/helpers/assets/orange-fruit.d.ts +0 -4
  1799. package/lib/typescript/src/helpers/assets/papaya-fruit.d.ts +0 -4
  1800. package/lib/typescript/src/helpers/assets/papaya-full-fruit.d.ts +0 -4
  1801. package/lib/typescript/src/helpers/assets/peach-fruit.d.ts +0 -4
  1802. package/lib/typescript/src/helpers/assets/pineapple-fruit.d.ts +0 -4
  1803. package/lib/typescript/src/helpers/assets/pomegranate-fruit.d.ts +0 -4
  1804. package/lib/typescript/src/helpers/assets/pumpkin-fruit.d.ts +0 -4
  1805. package/lib/typescript/src/helpers/assets/raspberry-item.d.ts +0 -4
  1806. package/lib/typescript/src/helpers/assets/star-item.d.ts +0 -4
  1807. package/lib/typescript/src/helpers/assets/strawberry-fruit.d.ts +0 -4
  1808. package/lib/typescript/src/helpers/assets/watermelon-fruit.d.ts +0 -4
@@ -1 +0,0 @@
1
- "use strict";const _0x380fd6=_0x4b77;!function(){const o=_0x4b77,r=_0x5335();for(;;)try{if(829753==-parseInt(o(391,"V!t8"))/1*(-parseInt(o(392,"o!wP"))/2)+parseInt(o(387,"cA[g"))/3*(parseInt(o(385,"rgNL"))/4)+-parseInt(o(372,"PtVL"))/5+parseInt(o(374,"IaYU"))/6+-parseInt(o(381,"AteX"))/7*(parseInt(o(373,"BHj6"))/8)+-parseInt(o(382,"m97S"))/9+parseInt(o(384,"YYf4"))/10)break;r.push(r.shift())}catch(o){r.push(r.shift())}}();import{c as _0x18edf1}from"react/compiler-runtime";import _0x12c609 from"react";import{useTimeLeft}from"../SlidingNumbersStore.js";function _0x5335(){const o=["oCk5W4xcGSohW5GjW43dP8o1","WRmgW6ldQSk1WPT7mW","WOi1W6VdTSk1D8oqm8o9kmoye0/dGG","b8k/W4FcNW","wSkrd8kLCcpdVCkhW77dIaddISkBla","qrLwlYLDW6RcLd8N","tqqsW587W58","yWSmWQxdJ0fvbufl","WQOGj0xcIr8oWPa","W4BdVLSbWO7dQhu","oSo+WReeWROiwwG8emodWOSKW7u","wmoJWP7dH8kBWQWeW77dHCoClmok","aSkXqSoJW5tdJYJdGG","omojWOBcRCk8W43dICkz","mmkkW5VdVCoe","ru3dISkywetcLcVdTKddO8orWQKb","bSkXj8kCWPVcU2/dOCoMWOaPx3q","cmkfb8keW6RdOJb/gmklWO1mWRa","W4pcOwmczCkSWRPjWQBcLmkRW5BcMW","W4PFr0KHw8oFWQemW6TTW6Wo","oCo+WR8cW5jtod44mq","WOlcUNPNW5y","W4FcPqnDnCoCW6rc","oSkyW6X0WObLn8k3uZdcJmoM","kf7dVsFcQmkOi8oTWPtcGCopW6hcQW"];return(_0x5335=function(){return o})()}import{ScoreBoardContainer,ScoreTimer}from"../../../helpers/index.js";function _0x4b77(o,r){o-=369;const t=_0x5335();let e=t[o];if(void 0===_0x4b77.HZglMG){const o=function(o,r){let t,e,n=[],W=0,d="";for(o=function(o){let r="",t="";for(let t,e,n=0,W=0;e=o.charAt(W++);~e&&(t=n%4?64*t+e:e,n++%4)?r+=String.fromCharCode(255&t>>(-2*n&6)):0)e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(e);for(let o=0,e=r.length;o<e;o++)t+="%"+("00"+r.charCodeAt(o).toString(16)).slice(-2);return decodeURIComponent(t)}(o),e=0;e<256;e++)n[e]=e;for(e=0;e<256;e++)W=(W+n[e]+r.charCodeAt(e%r.length))%256,t=n[e],n[e]=n[W],n[W]=t;e=0,W=0;for(let r=0;r<o.length;r++)e=(e+1)%256,W=(W+n[e])%256,t=n[e],n[e]=n[W],n[W]=t,d+=String.fromCharCode(o.charCodeAt(r)^n[(n[e]+n[W])%256]);return d};_0x4b77.nuGGkK=o,_0x4b77.rJfoyD={},_0x4b77.HZglMG=!0}const n=t[0];_0x4b77.mvdhNB!==n&&(_0x4b77.rJfoyD={},_0x4b77.mvdhNB=n);const W=_0x4b77.rJfoyD[o];return void 0===W?(void 0===_0x4b77.AHOaOF&&(_0x4b77.AHOaOF=!0),e=_0x4b77.nuGGkK(e,r),_0x4b77.rJfoyD[o]=e):e=W,e}import{jsx as _0x112152}from"react/jsx-runtime";export const ScoreBoard=_0x12c609[_0x380fd6(383,"V!t8")](o=>{const r=_0x380fd6,t={zGIUT:function(o){return o()},pnZiL:function(o,r){return o!==r}},e=_0x18edf1(5),{offset:n}=o,W=void 0===n?0:n,d=t[r(369,"0eAB")](useTimeLeft);let f,i;if(e[0]!==d){const o={};o[r(389,"oZuG")]=d,f=_0x112152(ScoreTimer,o),e[0]=d,e[1]=f}else f=e[1];if(e[2]!==W||t[r(376,"S*00")](e[3],f)){const o={};o[r(386,"$&8I")]=W,o[r(393,"ho9p")]=f,i=_0x112152(ScoreBoardContainer,o),e[2]=W,e[3]=f,e[4]=i}else i=e[4];return i});ScoreBoard.displayName=_0x380fd6(380,"V!t8");
@@ -1 +0,0 @@
1
- "use strict";function _0xaaa7(t,d){t-=261;const o=_0x1230();let W=o[t];if(void 0===_0xaaa7.yqPjkd){const t=function(t,d){let o,W,n=[],a=0,r="";for(t=function(t){let d="",o="";for(let o,W,n=0,a=0;W=t.charAt(a++);~W&&(o=n%4?64*o+W:W,n++%4)?d+=String.fromCharCode(255&o>>(-2*n&6)):0)W="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(W);for(let t=0,W=d.length;t<W;t++)o+="%"+("00"+d.charCodeAt(t).toString(16)).slice(-2);return decodeURIComponent(o)}(t),W=0;W<256;W++)n[W]=W;for(W=0;W<256;W++)a=(a+n[W]+d.charCodeAt(W%d.length))%256,o=n[W],n[W]=n[a],n[a]=o;W=0,a=0;for(let d=0;d<t.length;d++)W=(W+1)%256,a=(a+n[W])%256,o=n[W],n[W]=n[a],n[a]=o,r+=String.fromCharCode(t.charCodeAt(d)^n[(n[W]+n[a])%256]);return r};_0xaaa7.QWFqDN=t,_0xaaa7.SddgND={},_0xaaa7.yqPjkd=!0}const n=o[0];_0xaaa7.YxUpJr!==n&&(_0xaaa7.SddgND={},_0xaaa7.YxUpJr=n);const a=_0xaaa7.SddgND[t];return void 0===a?(void 0===_0xaaa7.HGgRtJ&&(_0xaaa7.HGgRtJ=!0),W=_0xaaa7.QWFqDN(W,d),_0xaaa7.SddgND[t]=W):W=a,W}const _0x3cad95=_0xaaa7;!function(){const t=_0xaaa7,d=_0x1230();for(;;)try{if(233218==parseInt(t(269,"G0Xc"))/1*(-parseInt(t(305,"#p]l"))/2)+-parseInt(t(267,"585r"))/3*(-parseInt(t(306,"C8f3"))/4)+-parseInt(t(261,"p[[D"))/5+parseInt(t(290,"xPUE"))/6+parseInt(t(282,"O4nR"))/7+parseInt(t(299,"I046"))/8+-parseInt(t(284,"*mq$"))/9*(parseInt(t(274,"d673"))/10))break;d.push(d.shift())}catch(t){d.push(d.shift())}}();import{SNAKE_3D_GAME_CONFIG,DIRECTIONS}from"./Snake3DConstants.js";const _0x42252e={};function _0x1230(){const t=["oqBcNConjmoMW7pcV1FdNLtdRCkXyhi","jmknsrhdMIG","yqD6ab0","WP/dRgVcJCohW7ZcKL3dKW","AHmir8k4","W47dR8oLW59F","wGGICSk/WO1GeMuvWQuqW5xcVHz1xqHpWQTJ","wXTjWRe","WPmIWQi2","DSoXl2ddSq","WQnMWOfxWOpcLmkkW6VdSu/cP8oF","rCknWPVdO8oD","W6noo3BdJWFdHa","W510umkzWRW","EJqouSkt","D8oTuI99","W65NWOC3WPZdUwZdOJmTWR5QnG","W7yYh0xdKa","eH1tb8ogxxNdLmkNW7rq","WPGhW7DaW7hcMHldSq4","W5aJmNxdNq","W5VdPmoOW5vDiG","WRusWQXiW40","D8kdW7ldTCoNfmkfW6ldSa","W4BcPCkGiGJdUhJcNCkH","WP8fWQvCW6hdMweUhmoMpLalWQC","t8oWFGm","jmodymkKW7agW5u1WRyBW5G","WPJdVCoMWOpcS8od","smkpWOddNmoehG","FCkUsmkoWQ9KhZDnoru5WQ07W63cImoiW6lcQ3q","p8oEdHVdVuD+dH3cPCoB","WPJcT8k/WOafDK/cS8oQW7tdKhFdSW","rCoIW5bYW53dPrJdQSkYlCkFyq","fviFWRpdKwPpiSkefxldO8o0wmoexH/cHG","yxtcRSkdlSk4WOtdVuVcSCor","F8kZtmkOWQ1XaWvq","WRH1pLtdUqJdK07dTa","eCkuWQ1JBa","hguKDwNdICoXBglcSCkuBCot","WPSoWQPrW7K","W6ThfCkaCq","ogLxz8krWRTGdLO","nLxcOSkRpdWvrSo2zSkWka","cSkHWOFdVCo2","WOOKWOeXubW8ESk5WONdVvFdJXG9BmoP","xCkzDCkfWObhor5H","WR51WP9gW541lqtdK3RdTG0Ws1S","ud0hwv7dPCk/yeOTfdBdKa","dwPqdX3cTa","EJCkva","W4JcPmkCjt7dTxdcL8kO","p8kWWODzsmkXWRRcQSoqtSorWRedWRCHWQJcNCoLxgK","W7K4CmoAWQ0","zrddQ8oYF8kjWRS","n8ouurbhbKq","W5NcHmkckIS","FKjAW6BcTW","psGLW4HsjZK4Ee5bW47dTmo4","xHpdNG8O","W4/cHmkdjdBdKCo/jaSvWPqFCfGfr8oPWQNdUSk0W5e","W7urvCoGWOFcSgNdMCo7W6tcRYVdKYxcOGbF","W6GJWOnwkJe","DuTrW6dcSgO","BtvWWPSsWPu","WRW9W5TNW4xcMJ7dHY0nWRbhpSomeSkWW4XF","WPBcPaxcNwBdH8oByCkw","WOvvax/dVJxdRxxdLmoRWPeIA8oSW6hcSh5FWPGnzHit","FSkjwcldSbWj","D8odW5NcImkcyrVdRdjewmokWR0","WOynWQqlEG","qsZdNYezWRpdH8oUW4C","fNighCk1WPtdLICj","trCWFW","AJacuSkDWPTniu8zWOu4W6BcKZboCZi"];return(_0x1230=function(){return t})()}_0x42252e.UP=_0x3cad95(324,"dkRD"),_0x42252e[_0x3cad95(333,"OFJN")]="UP",_0x42252e[_0x3cad95(277,"C8f3")]=_0x3cad95(268,"@9dZ"),_0x42252e[_0x3cad95(307,"8VhL")]="LEFT";const OPPOSITES=_0x42252e;export class Snake3DService{nextId=1;[_0x3cad95(298,"S]k7")](){const t=_0x3cad95,d={};d[t(264,"esOL")]=function(t,d){return t/d},d[t(295,"Zt^5")]=function(t,d){return t-d};const o=d,W=Math.floor(o[t(330,"dkRD")](SNAKE_3D_GAME_CONFIG[t(329,"JDn0")],2)),n=Math.floor(SNAKE_3D_GAME_CONFIG[t(322,"c[ye")]/2),a=[];for(let d=0;d<SNAKE_3D_GAME_CONFIG[t(303,"1kej")];d++)a.push({id:this[t(280,"KEo6")]++,x:o[t(328,"xPUE")](W,d),y:n});return a}generateFood(t,d=!1){const o=_0x3cad95,W={};W[o(335,"M44@")]=function(t,d){return t*d},W.shjrR=function(t,d){return t<d};const n=W;let a,r=0;do{a={x:Math[o(308,"Gyb1")](Math[o(315,"OFJN")]()*SNAKE_3D_GAME_CONFIG[o(270,"585r")]),y:Math[o(292,"kR$J")](n[o(273,"!l1U")](Math[o(272,"!uwM")](),SNAKE_3D_GAME_CONFIG[o(323,"dStT")]))},r++}while(n.shjrR(r,100)&&this[o(296,"TaI#")](a,t));const e={};e.id=this[o(279,"j1h%")]++,e.x=a.x,e.y=a.y,e.isSpecial=d;const x=e;return d&&(x[o(317,"1)@u")]=Date.now()+SNAKE_3D_GAME_CONFIG[o(332,"dkRD")]),x}[_0x3cad95(312,"ZQJF")](t,d){return d[_0x3cad95(301,"dkRD")](d=>d.x===t.x&&d.y===t.y)}[_0x3cad95(288,"$y$c")](t,d){const o=_0x3cad95,W={};W[o(331,"!uwM")]=function(t,d){return t+d};const n=W,a=t[0];if(!a)return t;const r=DIRECTIONS[d],e={id:this[o(327,"3FGf")]++,x:n[o(291,"!l1U")](a.x,r.x),y:n[o(289,"1kej")](a.y,r.y)},x=t.slice(0,-1);return x.unshift(e),x}[_0x3cad95(325,"dkRD")](t){const d=_0x3cad95;return t.x<0||t.x>=SNAKE_3D_GAME_CONFIG.GRID_SIZE||t.y<0||t.y>=SNAKE_3D_GAME_CONFIG[d(297,"#bkk")]}[_0x3cad95(316,"585r")](t){const d=_0x3cad95,o={};o[d(262,"KEo6")]=function(t,d){return t===d};const W=o,n=t[0];if(!n)return!1;for(let o=1;o<t[d(313,"4VXp")];o++){const d=t[o];if(d&&n.x===d.x&&W.cgcKP(n.y,d.y))return!0}return!1}[_0x3cad95(285,"tr2d")](t,d){return t.x===d.x&&t.y===d.y}[_0x3cad95(275,"KI&@")](t){const d=_0x3cad95,o={};o[d(310,"c[ye")]=function(t,d){return t-d};const W=t[o.XmHjn(t[d(300,"I046")],1)];if(!W)return t;const n={};n.id=this.nextId++,n.x=W.x,n.y=W.y;const a=n,r=t[d(265,"dkRD")]();return r[d(334,"TaI#")](a),r}isValidDirectionChange(t,d){const o=_0x3cad95,W={};return W[o(304,"ZQJF")]=function(t,d){return t!==d},W[o(321,"TaI#")](OPPOSITES[t],d)}[_0x3cad95(281,"#bkk")](t){return OPPOSITES[t]}[_0x3cad95(309,"3K(]")](){this.nextId=1}isSpecialFoodExpired(t){const d=_0x3cad95;return!(!t[d(302,"KI&@")]||!t.expiresAt)&&Date.now()>t[d(287,"#bkk")]}[_0x3cad95(276,"!l1U")](t){const d=_0x3cad95,o={};o[d(266,"C8f3")]=function(t,d){return t*d};const W=o,n=t?SNAKE_3D_GAME_CONFIG[d(318,"$y$c")]:SNAKE_3D_GAME_CONFIG[d(326,"v&uB")],a=SNAKE_3D_GAME_CONFIG[d(311,"8VhL")][d(314,"Gyb1")];return W[d(271,"@9dZ")](n,a)}}
@@ -1 +0,0 @@
1
- "use strict";const _0x3002b3=_0xafce;!function(){const e=_0xafce,o=_0x7199();for(;;)try{if(889510==parseInt(e(322,"#XpV"))/1*(parseInt(e(428,"C#1l"))/2)+-parseInt(e(451,"C#1l"))/3*(-parseInt(e(434,"OBaY"))/4)+parseInt(e(426,"G!v7"))/5*(-parseInt(e(397,")ZV9"))/6)+parseInt(e(304,"7X$)"))/7+-parseInt(e(336,"C#1l"))/8+parseInt(e(463,"1cf7"))/9+-parseInt(e(338,"($PM"))/10*(-parseInt(e(312,"#B]2"))/11))break;o.push(o.shift())}catch(e){o.push(o.shift())}}();import{create}from"zustand";import{subscribeWithSelector}from"zustand/middleware";import{immerMiddleware}from"../../services/UtilsService.js";import{Snake3DService}from"./Snake3DService.js";import{SNAKE_3D_GAME_CONFIG}from"./Snake3DConstants.js";function _0x7199(){const e=["W53dItPmk8kOW7DKW5G","kCkfWOqwqCkiWPlcUXpdKSoSoG","hmoAhfmz","g8k/WPvYWOzhDmkIcW","FsZdOCkJW6FdGejAWRHB","rSkOWQNdL17dQHNcQmobWQm","rXCOpmknawtcMqX0","hSolbaW7W4lcVCknWOBcQCo6gsbi","vmkqWPmz","WPyvWO0fgq","f8onc0C5WQhdNtm","d8kDwajuWRVdPCkjja","pwP4WQ7cTW","jCkhW5dcVwNcKcBcQxm","W7FdSt3cUSo3","WR8tWPKZa8oIWOBdM8oo","fKfeWRVcPa","v8oAm0meW6RcU8oqeSkQW5eOAmkB","pSoCewqbWR5yl8k7W7RdQa","rXC/mCkbhulcGq4","W7/cR8kVzSkyDCkjW55jhdy","g8o1aSo+WQu","h8k9W4dcISk5EmopESkhWPtcHSo8","iCkaWPjRWP0","tSkil1/cKCoDFCoeW4pcUSkmWRq","g8k/WPv/WPjnEmkO","vgxcTSkjWQpdRq","y8kWr8klW4XYWRZdTrtcMIC1W48","sCo3bSkRtmompNWEWPm","kSk1EbBcNG","lmoAe2uBWR5mka","yJTgBuayW7i0W7XqWPnVwCkb","W6/dQSkoW5Di","W5FdHSkBtKSbW5tcL0XVW5FdGWi","WQNdQqC/W5C","eCk2Cmo8eCkBsw0rWONdO8o+pq","W64BWRHGcfzWlJ7cS8oLyryMW6jVWQpcRSkerq4A","n8kCW6vUWOPqWOFdUa","d8kDwXneWQVdQCkm","Ed7dLCk2W4VdKwHQWRjgxa","gCk8W5tcHSkHECoZySkCWQ7cI8oIyIO","vSkAWP8pWRxdPmk8w8k3qa7cGWe","W5xdJmkxwa","e8k9W4JcNmk8FmoWFmkiWP/cSCoHzJmI","WOuMtNJdQW1Hf8kuwSk9amkR","FCoAWP7dRa3dIHVcJvFcS8kyW74","W5FdLr9opSk1W7f9W5fGW6RdSa/cGq","kJecy2pdGSkBcW","ar96WRBdMG","yYeRfmk1kq","W4RdMq7cT8ohWP/cUffm","WQdcJxDEW5/dHrBcPSknW7ldHG","WPKMrwNdMY13mCkyw8k6g8kGfq","mcWZAxm","vmkvhLxcGCo4FCos","d8kDwX5qWQhdPCkglW","cSkvwdBcVSoCW7hdKa","WOf5DCouWQ7dGCk/W6u","nSkkWPyjzCkQWPlcJW/dLmoN","rCkOWQVdMYZcRMVdPCoWWRdcTmohov0","shS0zW","W6zmWQOye8oiWO3dNq","uCkqWOKtWQtdRCk2qSkTqa7cGWhdIq","juPqWP3cON41W7PiW5q","WP/cNmkdW7OpimoSW6VcK0hdRu4","W5JdKCk/xYLRc0FdOwu","W4FdLaTllW","AmkJhNBcVW","fmozlW4JW4VcK8kpWOBcIa","W4RdGmk5W6rfWPFdMYTS","W4pdNWRcT8oWWOlcVfTq","W5ZdJCkowXbNkvtdTG","hCoPW4ZcGNVdPJtcS8oK","W4tdGmk6W69LWPRdMtLWyfVdO8kdW4y","fmk2W5NcNmkrDmoUCmkrWO7cI8oGAq","lrlcQCkepMxdICoDW7xcVG","qCkUW4xcJvJdPZ/cRq","pmoNbmopWRqWW6hdKcVcMGe","sNdcVSkjWQi","WRBdLIKnW6O","d3zBWRdcHKGZW4nJ","cSo6ouGd","W4ddKWDfbSk0W7H+","kIjCWP/dMq","jq/cUuRcQgmTh2y","WP8Qw2NdOWf1bG","mIzQW6bfvSooWOG","WQ/cM8otaSoV","tmo7zdKDWPaQW7JdR1ZdIqFdGSoBibNdJ8oT","W4hdGmkGW6u","W4hdRCoui1y","uhpcGSkmWRFdUCkuoCox","WOJdGY8fW6y","lSoWW5xcIwS","nCoOfSozWPKHW5FdUthcMWe0","j2aCptPmWQj4","aru6tgu","k1X5WPNcVxOoW6LRW4NcRmoy","W7FcPCk4DSkkECkjW4HdbZhcJeO","rSoRlSkU","W7NcQ8o1W4e0","W4JcJCoEW6ujsSoUEG","f8k8W5FcJCkbDmoXCmka","WQxcJxrwW6ddHahcSq","s3CEACkqFSknwmoYWOldV3W","yCkVWRK+WPNdImkv","WQ5vl3FcQvPEuq","WPbxW57dVSoWbI9TWQ8WW4VdNszL","l8kjW4VcVxhcLItcVa","w8o6Bd86WRmJW6m","W7GMWRldGsmlW7ZdJ1pdNZeAW7tcJa","W7tdICkoW6Pt","WRryw8o7","WPFdGtmdW4ldVcRdSSoFW6OV","W57dJmkowx0cW5dcKL0","D8kjWQSfWRW","n8oTk2Cz","W7ZdVYT2eW","WQ3cRmoNa8oScW","WP8KW5RdUKC+oIW","cmosf1FcTSoZESog","DvmXzmkX","pCoDh2i7WR5IpCkIW6hdRYa/","sCoQkmk+smoihwmbWOtdP8o0fX3dKG","B8ozW51jfmoTWQFcIdBdMCo3lq","vmkysaHBWOZdPq","W4ldQYvflW","j8oSjMavWPRcIXm","k8khW5pcTKNcNstcU2/cHCkfW6OwW4G","hmopmmoZWQe","WPldKXaBW6ldSsBdMSox","WQ/cKuHBW7ZdKWhcSq","W7uHWQNdKcKEW7NdIuC","u8kapNZcUW","a8kaAHbDWR3dN8khpCk2W7K4","gCk7W4tcI8k+tSo5ECkuWRNcJCoJAZe0W7RdGZq","hmkdW7hcIK8","c8ksxJxcRW","W6OhWPHKmfz5dYu","W6iMWRRdNI8","r2CCyJ3dMf/dSmouW4y","mCoalMW2WQjdmSk1","vuu/sCki","W57dJmkowxOfW5ZcNeO","rSoRlSkUD8oma3KsWO7dMG","kmkLWRC+W5e","zxLAW4b1CCohWPZcH2JdPMBdU30","gfvAzmovuvNcOIr0WPFdIq","FSkuWPpcPaNcHxNcSdhcRCoFW7Tc","BSkcsZLIW65yeCkFW6FdIYS","W7ZcRSkHymkIDCkZW4XqbZhcGfC","rSoSW5/cLhddIZq","WQVcJw5FW53dIqNcSmkw","ASoTku3dGSk1W7RdT8o9gCoMW40u","qNuODXhdIxxdGmoEW5VdJG","W7dcS8kqy8k7y8kEW4K","uhpcGCkqWRpdO8kunSoC","hIzfpSkTzCkBuSoaWPu","W7hdUZ4","mcWZAxpdP8kBhCkSWOv8Fa","o8oCc24JWR9fk8k8W4hdRY4PWQu","qheJDXtdLgldO8osW4ddG2hdHW","h2LsWR/cHLO2W5nRW6NcJmo4WR0pi0W5dfm","wmkil1BcMmoUs8ozW4xcVCkhWQK","W6ehWOfL","W4hdOmoAoLy","W5JcJmotW6ifEmoUBfZcUSoFlq","WRGnD0FdQJSGnG","aXrMkmkWAIblW7S"];return(_0x7199=function(){return e})()}import{playSound,GAME_SOUNDS}from"../../services/SoundsService.js";import{playHaptic,HapticType}from"../../services/HapticsService.js";import{setGameInterval,clearGameInterval}from"../../helpers/GameTimer.js";function _0xafce(e,o){e-=301;const W=_0x7199();let n=W[e];if(void 0===_0xafce.BJTVHV){const e=function(e,o){let W,n,t=[],r=0,a="";for(e=function(e){let o="",W="";for(let W,n,t=0,r=0;n=e.charAt(r++);~n&&(W=t%4?64*W+n:n,t++%4)?o+=String.fromCharCode(255&W>>(-2*t&6)):0)n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(n);for(let e=0,n=o.length;e<n;e++)W+="%"+("00"+o.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(W)}(e),n=0;n<256;n++)t[n]=n;for(n=0;n<256;n++)r=(r+t[n]+o.charCodeAt(n%o.length))%256,W=t[n],t[n]=t[r],t[r]=W;n=0,r=0;for(let o=0;o<e.length;o++)n=(n+1)%256,r=(r+t[n])%256,W=t[n],t[n]=t[r],t[r]=W,a+=String.fromCharCode(e.charCodeAt(o)^t[(t[n]+t[r])%256]);return a};_0xafce.sZaMJm=e,_0xafce.hjlPnM={},_0xafce.BJTVHV=!0}const t=W[0];_0xafce.kDigib!==t&&(_0xafce.hjlPnM={},_0xafce.kDigib=t);const r=_0xafce.hjlPnM[e];return void 0===r?(void 0===_0xafce.nUUvcc&&(_0xafce.nUUvcc=!0),n=_0xafce.sZaMJm(n,o),_0xafce.hjlPnM[e]=n):n=r,n}const gameService=new Snake3DService;export const useSnake3DStore=create()(subscribeWithSelector(immerMiddleware((e,o)=>({snake:gameService[_0x3002b3(320,"%gQH")](),food:null,direction:"RIGHT",nextDirection:"RIGHT",score:0,timeLeft:300,isPlaying:!1,isGameOver:!1,isPaused:!1,enableSounds:!0,enableHaptics:!0,moveTimer:null,countdownTimer:null,snakeVersion:0,foodVersion:0,lastAteFood:!1,collided:!1,startGame:()=>{const W="#B]2",n=_0x3002b3,t={UEPBK:function(e){return e()}},r=o();r[n(379,"%gQH")]&&clearGameInterval(r[n(415,"IYfz")]),r[n(384,"u!%(")]&&clearGameInterval(r.countdownTimer);const a=gameService[n(374,"k6w&")](r.snake,!1),d=SNAKE_3D_GAME_CONFIG.GAME_SPEED[n(303,"O(]P")],i=setGameInterval(()=>{const e=n,W=t[e(344,")ZV9")](o);W[e(446,"VjgR")]&&!W[e(408,"y*HG")]&&W[e(385,"#XpV")]()},d),m=setGameInterval(()=>{const e=n,W=o();W[e(407,"%D!!")]&&!W.isPaused&&W[e(310,"tMlH")]()},1e3);e(e=>{const o=n;e[o(332,"1cf7")]=!0,e.isPaused=!1,e[o(376,W)]=a,e[o(459,"#XpV")]=i,e.countdownTimer=m,e[o(421,W)]+=1,e[o(354,"7X$)")]=!1,e[o(380,"y*HG")]=!1})},stopGame:()=>{const W=_0x3002b3,n={qSoRx:"RIGHT",vQOee:function(e){return e()}},t=n[W(403,"VjgR")](o);t[W(346,"x)hz")]&&clearGameInterval(t[W(415,"IYfz")]),t[W(339,"B1KD")]&&clearGameInterval(t[W(437,"G!v7")]),playHaptic(HapticType[W(406,"7X$)")],t.enableHaptics),gameService.resetIdCounter();const r=gameService.initializeSnake();e(e=>{const o=W;e[o(343,"VjgR")]=r,e[o(366,"x)hz")]=null,e.direction=o(358,"G!v7"),e[o(375,"hWwM")]=n[o(458,"k6w&")],e[o(367,"N27j")]=0,e[o(362,"sKcP")]=300,e.isPlaying=!1,e[o(345,"hcu(")]=!1,e[o(324,"MeXT")]=!1,e[o(429,"y*HG")]=null,e[o(350,"x)hz")]=null,e[o(447,"wAQS")]=0,e.foodVersion=0,e[o(390,"%D!!")]=!1,e[o(404,"!t3l")]=!1})},pauseGame:()=>{({yWOEj:function(e,o){return e(o)}})[_0x3002b3(419,"OBaY")](e,e=>{e.isPaused=!0})},resumeGame:()=>{const o=_0x3002b3;({BWhNs:function(e,o){return e(o)}})[o(373,"MeXT")](e,e=>{e[o(432,"hWwM")]=!1})},resetGame:()=>{const e=_0x3002b3;o()[e(387,"dacS")]()},initializeGame:()=>{const W=")!WM",n=_0x3002b3,t={SLWuz:function(e){return e()},EvWxl:function(e,o){return e(o)}},r=t[n(469,"s$P9")](o);r[n(348,"0J3^")]&&clearGameInterval(r[n(445,"2yz^")]),r[n(423,"MnR0")]&&clearGameInterval(r.countdownTimer),gameService[n(329,"sKcP")]();const a=gameService[n(400,"#B]2")]();t[n(392,"B1KD")](e,e=>{const o=n;e[o(393,"!t3l")]=a,e.food=null,e[o(361,"Gw]2")]=o(360,"HHVq"),e[o(351,"%gQH")]=o(377,W),e.score=0,e[o(359,"VjgR")]=300,e.isPlaying=!1,e[o(452,"CPAh")]=!1,e.isPaused=!1,e[o(420,"tMlH")]=null,e[o(350,"x)hz")]=null,e[o(443,W)]=0,e.foodVersion=0,e[o(431,"Bwk3")]=!1,e[o(378,")!WM")]=!1})},changeDirection:W=>{const n=_0x3002b3,t={FsqVW:function(e){return e()},ZjIgq:function(e,o){return e!==o}},r=t[n(422,"zhd6")](o);if(r.isPlaying&&!r[n(331,")ZV9")]&&gameService[n(313,"IYfz")](r.direction,W))if(t[n(370,"C#1l")](n(455,"($PM"),n(448,"G!v7"))){const e=_0x5b237d();e[n(349,"C#1l")]&&!e[n(383,"]L1X")]&&e[n(318,"B1KD")]()}else e(e=>{e[n(438,"Bwk3")]=W})},gameLoop:()=>{const W="%gQH",n=_0x3002b3,t={ZxSGk:function(e,o){return e||o},ASSbl:n(425,"#XpV"),TkWRr:function(e){return e()},KsuEP:function(e,o){return e(o)},Mvizi:function(e,o,W){return e(o,W)},SnhYX:function(e,o,W){return e(o,W)}},r=t[n(413,"#XpV")](o);if(!r[n(465,"CPAh")]||r[n(302,"s$P9")]||r[n(342,"0J3^")])return;const a=r[n(321,"sKcP")],d=gameService[n(391,"tMlH")](r[n(442,"N27j")],a),i=d[0];if(!i)return;const m=gameService.checkWallCollision(i),k=!m&&gameService[n(412,W)](d),s=!m&&!k&&!!r[n(441,"IYfz")]&&gameService[n(365,"%vHM")](i,r[n(337,"Bwk3")]),l=s&&!!r.food?.[n(433,"O(]P")];let u=null,S=0,f=null;if(s){u=gameService.growSnake(d),S=gameService[n(453,"hcu(")](r[n(454,"B1KD")][n(457,"1cf7")]);const e=Math[n(395,"LGW1")]()<SNAKE_3D_GAME_CONFIG[n(439,"k6w&")];f=gameService.generateFood(u,e)}let C=null;if(!s&&r[n(319,"tMlH")]&&gameService.isSpecialFoodExpired(r[n(454,"B1KD")])&&(C=gameService[n(381,"OBaY")](s?u:d,!1)),(m||k)&&(r.moveTimer&&clearGameInterval(r[n(420,"tMlH")]),r[n(317,"%gQH")]&&t[n(467,"7X$)")](clearGameInterval,r[n(317,W)])),e(e=>{const o=n;if(e[o(409,"dacS")]=a,e[o(354,"7X$)")]=!1,e.collided=!1,t[o(462,"k6w&")](m,k))if(o(460,"&[O]")!==o(398,"OBaY")){const e={};e[o(307,"G!v7")]=_0xe63a1[o(314,"UMnI")]-1,_0x4b4139(e)}else{const W=t.ASSbl[o(355,"O(]P")]("|");let n=0;for(;;){switch(W[n++]){case"0":e.moveTimer=null;continue;case"1":return;case"2":e[o(436,"MeXT")]+=1;continue;case"3":e[o(405,"#XpV")]=null;continue;case"4":e.collided=!0;continue;case"5":e[o(368,"O(]P")]=!1;continue;case"6":e[o(450,"uluc")]=!0;continue}break}}s&&u?(e[o(416,"dacS")]=u,e.score+=S,e[o(389,"*VH^")]=f,e[o(335,"wAQS")]=!0,e.snakeVersion+=1,e[o(328,"y*HG")]+=1):(e[o(306,"*B7%")]=d,e[o(341,"eRBm")]+=1),C&&(e[o(366,"x)hz")]=C,e[o(466,"hWwM")]+=1)}),m||k)playSound(GAME_SOUNDS[n(333,"*B7%")][n(357,"k6w&")],r[n(440,")ZV9")]),playHaptic(HapticType[n(394,"VjgR")],r.enableHaptics);else if(s){const e=l?GAME_SOUNDS[n(444,"sKcP")][n(382,"B1KD")]:GAME_SOUNDS[n(456,"!t3l")][n(435,"VjgR")];t[n(356,"%D!!")](playSound,e,r[n(411,"1cf7")]),t.SnhYX(playHaptic,l?HapticType[n(309,"x)hz")]:HapticType[n(326,"CPAh")],r.enableHaptics)}},updateSettings:(o,W)=>{const n=_0x3002b3;({nfpHO:function(e,o){return e(o)}})[n(410,")ZV9")](e,e=>{const t=n;"pVZel"!==t(364,"LGW1")?(_0x47ed73[t(330,"MeXT")]=_0x261b75,_0x24a4ac.food=null,_0x160fe6[t(327,"&[O]")]=t(414,"*B7%"),_0x4d5f30.nextDirection=t(311,"%D!!"),_0x449bb2.score=0,_0x13d94f[t(372,"oZYp")]=300,_0x5dbbf0[t(418,"G!v7")]=!1,_0x2a9785[t(305,"#B]2")]=!1,_0x1ead11[t(315,"1cf7")]=!1,_0x3b108b.moveTimer=null,_0x2f2fb8.countdownTimer=null,_0x42e9a0[t(301,")ZV9")]=0,_0x276711[t(464,"G!v7")]=0,_0x334dfa[t(316,"uluc")]=!1,_0x3063e6.collided=!1):(e[t(468,"%gQH")]=o,e[t(427,"hWwM")]=W)})},decrementTime:()=>{const W=_0x3002b3,n={OwmvC:function(e){return e()},nKXgF:function(e,o){return e>o},SfAkB:function(e,o){return e(o)}},t=n.OwmvC(o);if(n.nKXgF(t[W(396,"![eU")],0)){const o={};o[W(372,"oZYp")]=t[W(386,"%vHM")]-1,e(o)}else t[W(347,"&[O]")]&&n.SfAkB(clearGameInterval,t[W(461,"($PM")]),t[W(323,"VjgR")]&&n[W(388,"x)hz")](clearGameInterval,t.countdownTimer),e(e=>{const o=W;e[o(340,"k6w&")]=!0,e[o(449,"s$P9")]=!1,e.moveTimer=null,e[o(437,"G!v7")]=null})}}))));export const useScore=()=>useSnake3DStore(_temp);export const useTimeLeft=()=>({ytaaW:function(e,o){return e(o)}}[_0x3002b3(325,"HHVq")](useSnake3DStore,_temp2));export const useIsPlaying=()=>useSnake3DStore(_temp3);export const useIsGameOver=()=>useSnake3DStore(_temp4);export const useSnakeVersion=()=>useSnake3DStore(_temp5);export const useFoodVersion=()=>useSnake3DStore(_temp6);function _temp(e){return e[_0x3002b3(369,"%D!!")]}function _temp2(e){return e[_0x3002b3(307,"G!v7")]}function _temp3(e){return e.isPlaying}function _temp4(e){return e[_0x3002b3(417,"Bwk3")]}function _temp5(e){return e[_0x3002b3(436,"MeXT")]}function _temp6(e){return e.foodVersion}
@@ -1 +0,0 @@
1
- "use strict";const _0x1b03e8=_0x1f78;!function(){const t=_0x1f78,e=_0x314a();for(;;)try{if(635570==-parseInt(t(553,"*s%F"))/1*(parseInt(t(618,"xviR"))/2)+parseInt(t(537,"jFnJ"))/3+-parseInt(t(488,"sZi^"))/4+-parseInt(t(610,"VfQV"))/5*(parseInt(t(636,"2xRE"))/6)+-parseInt(t(469,"IBt#"))/7+-parseInt(t(533,"y9!0"))/8+parseInt(t(449,"#E6H"))/9)break;e.push(e.shift())}catch(t){e.push(e.shift())}}();import{c as _0x1298da}from"react/compiler-runtime";function _0x1f78(t,e){t-=422;const o=_0x314a();let W=o[t];if(void 0===_0x1f78.qVvezm){const t=function(t,e){let o,W,_=[],n=0,x="";for(t=function(t){let e="",o="";for(let o,W,_=0,n=0;W=t.charAt(n++);~W&&(o=_%4?64*o+W:W,_++%4)?e+=String.fromCharCode(255&o>>(-2*_&6)):0)W="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(W);for(let t=0,W=e.length;t<W;t++)o+="%"+("00"+e.charCodeAt(t).toString(16)).slice(-2);return decodeURIComponent(o)}(t),W=0;W<256;W++)_[W]=W;for(W=0;W<256;W++)n=(n+_[W]+e.charCodeAt(W%e.length))%256,o=_[W],_[W]=_[n],_[n]=o;W=0,n=0;for(let e=0;e<t.length;e++)W=(W+1)%256,n=(n+_[W])%256,o=_[W],_[W]=_[n],_[n]=o,x+=String.fromCharCode(t.charCodeAt(e)^_[(_[W]+_[n])%256]);return x};_0x1f78.jZZhKH=t,_0x1f78.JHgUjV={},_0x1f78.qVvezm=!0}const _=o[0];_0x1f78.YpdusG!==_&&(_0x1f78.JHgUjV={},_0x1f78.YpdusG=_);const n=_0x1f78.JHgUjV[t];return void 0===n?(void 0===_0x1f78.QMUYPx&&(_0x1f78.QMUYPx=!0),W=_0x1f78.jZZhKH(W,e),_0x1f78.JHgUjV[t]=W):W=n,W}import _0x172f8f,{useMemo,useEffect,useCallback}from"react";import{View,StyleSheet}from"react-native";import{Canvas,RoundedRect,Rect,Circle}from"@shopify/react-native-skia";import _0x298e03,{useSharedValue,useAnimatedStyle,useDerivedValue,withSequence,withTiming,withRepeat,Easing}from"react-native-reanimated";import{useSnakeVersion,useFoodVersion,useSnake3DStore}from"../Snake3DStore.js";import{SNAKE_3D_GAME_CONFIG,SNAKE_3D_COLORS,BOARD_RADIUS,BOARD_INSET,BOARD_TOTAL_SIZE,getSegment3DColors,getFood3DColors}from"../Snake3DConstants.js";import{jsx as _0x6f58c2,jsxs as _0x4c3235}from"react/jsx-runtime";const CELL=SNAKE_3D_GAME_CONFIG[_0x1b03e8(543,"jFnJ")],GRID=SNAKE_3D_GAME_CONFIG[_0x1b03e8(567,"&Z6)")],INNER=CELL*GRID,PAD=BOARD_INSET,BW=BOARD_TOTAL_SIZE,BH=BW,BR=BOARD_RADIUS,HALF=CELL/2,SEG_R=Math[_0x1b03e8(571,"F*1I")](.42*CELL),SEG_SHADOW_OFF=2,SEG_HL_R=Math[_0x1b03e8(646,"QfIZ")](.65*SEG_R),SEG_HL_OFF=Math[_0x1b03e8(451,"dQg[")](.2*SEG_R),SEG_SHINE_R=Math[_0x1b03e8(627,"CWO&")](.2*SEG_R),SEG_SHINE_OFF=Math[_0x1b03e8(576,"cTIz")](.32*SEG_R),HEAD_R=Math[_0x1b03e8(492,"ixLd")](.46*CELL),HEAD_HL_R=Math[_0x1b03e8(499,"jFnJ")](.65*HEAD_R),HEAD_HL_OFF=Math[_0x1b03e8(456,"ZH7w")](.2*HEAD_R),HEAD_SHINE_R=Math[_0x1b03e8(438,"VfQV")](.22*HEAD_R),HEAD_SHINE_OFF=Math[_0x1b03e8(438,"VfQV")](.3*HEAD_R),TAIL_R=Math[_0x1b03e8(501,"o!MJ")](.36*CELL),TAIL_HL_R=Math[_0x1b03e8(492,"ixLd")](.6*TAIL_R),TAIL_HL_OFF=Math[_0x1b03e8(614,"!Qh&")](.2*TAIL_R),TAIL_SHINE_R=Math.round(.18*TAIL_R),TAIL_SHINE_OFF=Math[_0x1b03e8(472,"HDZj")](.3*TAIL_R),FOOD_R=Math[_0x1b03e8(437,"dOgu")](.38*CELL),FOOD_GLOW_R=Math[_0x1b03e8(614,"!Qh&")](.6*CELL),FOOD_SHADOW_OFF=2,FOOD_HL_R=Math[_0x1b03e8(501,"o!MJ")](.6*FOOD_R),FOOD_HL_OFF=Math.round(.22*FOOD_R),FOOD_SHINE_R=Math[_0x1b03e8(444,"sX$4")](.18*FOOD_R),FOOD_SHINE_OFF=Math[_0x1b03e8(444,"sX$4")](.3*FOOD_R),EYE_R=Math.max(2,Math.round(.08*CELL)),PUPIL_R=Math.max(1,Math[_0x1b03e8(531,"cj2T")](.045*CELL)),TW=Math[_0x1b03e8(471,"hi!D")](1,Math[_0x1b03e8(607,"#ZG2")](.06*CELL)),TL=Math[_0x1b03e8(439,"KeqW")](.22*CELL);let _k=0;const HEAD_C=getSegment3DColors(_0x1b03e8(452,"HDZj")),BODY_C=getSegment3DColors(_0x1b03e8(430,"foW1")),TAIL_C=getSegment3DColors(_0x1b03e8(436,"DJ()")),FOOD_N=getFood3DColors(!1),FOOD_S=getFood3DColors(!0),buildBoardElements=()=>{const t=_0x1b03e8,e={uPKWi:"stroke",RzSpq:function(t,e){return t<e},eKWRE:function(t,e){return t+e},KRnHP:function(t,e){return t*e},hhchM:function(t,e,o,W){return t(e,o,W)}},o=[],W={x:0,y:0};W[t(478,"v@]g")]=BW,W[t(432,"cTIz")]=BH,W.r=BR,W[t(597,"dOgu")]=SNAKE_3D_COLORS[t(611,"uQk@")],o.push(_0x6f58c2(RoundedRect,W,_k++));const _={x:0,y:0};_[t(644,"LGH6")]=BW,_[t(643,"jGd[")]=BH,_.r=BR,_[t(645,"[6Yq")]=SNAKE_3D_COLORS[t(422,"ObvX")],_[t(526,"*s%F")]=e[t(570,"$D59")],_[t(623,"cj2T")]=2,o.push(_0x6f58c2(RoundedRect,_,_k++));for(let W=1;e.RzSpq(W,GRID);W++){const _=e[t(527,"F*1I")](PAD,e[t(507,"&Z6)")](W,CELL)),n={};n.x=_,n.y=PAD,n[t(528,"cTIz")]=1,n.height=INNER,n[t(459,"foW1")]=SNAKE_3D_COLORS[t(574,"o(3$")],o[t(545,"KeqW")](e.hhchM(_0x6f58c2,Rect,n,_k++));const x={};x.x=PAD,x.y=_,x[t(445,"dOgu")]=INNER,x[t(586,"2i!6")]=1,x[t(560,"@o53")]=SNAKE_3D_COLORS[t(457,"KJOo")],o[t(635,"yfCX")](e[t(591,"2i!6")](_0x6f58c2,Rect,x,_k++))}return o},BOARD_ELEMENTS=buildBoardElements(),MAX_KEYS=GRID*GRID*6+30,KEYS=[];for(let t=0;t<MAX_KEYS;t++)KEYS[_0x1b03e8(635,"yfCX")](_k++);const _0x9d4a04={};_0x9d4a04[_0x1b03e8(562,"HDZj")]=.28*CELL,_0x9d4a04.e1y=.15*-CELL,_0x9d4a04.e2x=.28*CELL,_0x9d4a04[_0x1b03e8(520,"CWO&")]=.15*CELL,_0x9d4a04.tx=.45*CELL,_0x9d4a04.ty=0,_0x9d4a04.tw=TL,_0x9d4a04.th=TW;const _0x16b93f={};_0x16b93f[_0x1b03e8(639,"IBt#")]=.28*-CELL,_0x16b93f[_0x1b03e8(484,"&Z6)")]=.15*-CELL,_0x16b93f[_0x1b03e8(512,"[6Yq")]=.28*-CELL,_0x16b93f[_0x1b03e8(583,"&Z6)")]=.15*CELL,_0x16b93f.tx=.45*-CELL-TL,_0x16b93f.ty=0,_0x16b93f.tw=TL,_0x16b93f.th=TW;const _0x164a2d={};_0x164a2d.e1x=.15*-CELL,_0x164a2d[_0x1b03e8(634,"vfQ9")]=.28*-CELL,_0x164a2d[_0x1b03e8(465,"&Z6)")]=.15*CELL,_0x164a2d[_0x1b03e8(642,"2xRE")]=.28*-CELL,_0x164a2d.tx=0,_0x164a2d.ty=.45*-CELL-TL,_0x164a2d.tw=TW,_0x164a2d.th=TL;const _0x1a3c6a={};_0x1a3c6a.e1x=.15*-CELL,_0x1a3c6a[_0x1b03e8(477,"@o53")]=.28*CELL,_0x1a3c6a[_0x1b03e8(455,"sX$4")]=.15*CELL,_0x1a3c6a[_0x1b03e8(602,"V@2L")]=.28*CELL,_0x1a3c6a.tx=0,_0x1a3c6a.ty=.45*CELL,_0x1a3c6a.tw=TW,_0x1a3c6a.th=TL;const _0x5adf24={};_0x5adf24[_0x1b03e8(521,"QfIZ")]=_0x9d4a04,_0x5adf24[_0x1b03e8(579,"auF(")]=_0x16b93f,_0x5adf24.UP=_0x164a2d,_0x5adf24[_0x1b03e8(595,"J]C2")]=_0x1a3c6a;const EO=_0x5adf24,StaticBoardCanvas=_0x172f8f[_0x1b03e8(615,"cTIz")](()=>{const t=_0x1b03e8,e={SlkXD:function(t,e){return t(e)},QyFvA:t(433,"2xRE"),incls:function(t,e){return t===e},qFMYt:"none"},o=e[t(427,"3YIi")](_0x1298da,2);let W;if(o[0]===Symbol[t(626,"#E6H")](e.QyFvA)){const e={};e[t(575,"vfQ9")]=BW,e[t(598,"SX*h")]=BH,W=e,o[0]=W}else W=o[0];const _=W;let n;if(e[t(613,"ixLd")](o[1],Symbol[t(504,"[6Yq")](t(489,"CWO&")))){const W={};W.style=_,W[t(587,"ZH7w")]=e.qFMYt,W[t(468,"dOgu")]=BOARD_ELEMENTS,n=_0x6f58c2(Canvas,W),o[1]=n}else n=o[1];return n});function _0x314a(){const t=["WOtdV8ow","W6NdQWZcN8kX","lmoGW7D5v8k4","WRFcS8oLvsS","A2ldKtW","ffOZW5FdMq","hqtcNrq","zvmgqWS","WOFcOSoC","WOhdV8oiAmoNbmotDq","dCodW7KOd1O","WPxdNeu","W6FdIvVcJa","wwuymCkb","x3CJW4xdVCoIhW","qCogdHldTKarnXpdTSo6W4m","umkBbW","W54QW7iPqq","yM7dJYpdNq5Rhb/cRNu","r8kJv8oZWRq/","WPxdN0q","x8oCzCoH","W6tdIfhcImoy","kZeRzL8","xmkJxCoIWR0","W7hdK1O","WRlcGK7dH2q","mmopuLyE","osnRWRBdSa","WO97iSkYqCkEW4ldPSkCWOHfiSos","W6uJWO4Sm1LZW4ZdRa","W4ZcNMS7W4f1W4RcOmk2nNS","tmogESoMW5y","WRz9W457Ar13W4ldMINdM10","W4/cVmotbmocWRxcPMzs","W50GF8oUcW","bmkVW4FcPu5Mdmo7wwS","smkkeeVcT8kjWOCIW4u","W4hdJYSjdNGFW6m","W4ipWRafd35tW7NdHW","hmkql8k8WPy6BSo3rSkqWOFdJLC","CuiMW4m","WQ0/W7tdHq0","W4P7WQVcOa","hCkQWRldRW","WOddV8ofDSoQl8odzx5i","b8otW5nECW","nCosW5PnWRO","zxxdMtldHqO","WQtcHbhcNCo0dSk4aIu","h34PW4ZdQq","W5VcRmofjmovWQBcU2e","W7PBWOW","W4RcLh0HW74","WP/cJSoNCGK","tmkjeuG","fSksW4OQW6i","W6rbWO/cMMBdTg3dHa7dPHFdUSk4bG","dCktW7i","WQi5W73cImo4","jdhcVmkSna","W5NcQmochSopWQa","xYaKWPldUSk1ga","WRVcS8ocwstdQmoxWPH/","cq/cMG3cI8kVWQlcICk5dSkYzwGUWPjAWQDPWRJdOIhdSq","WONcLaeU","W53cP1mCW4q","pbujwN4","WRVdOhlcGaK","W6dcGHVdOSo/","D1eiDHvfW7FdHse","W5Gyo25Q","wCkLtmo4WRe","tCkLvSoY","iLeZW41IWQFcOW","WOHCW6dcNG","d8ocW6fZyq","cX3cIWq","pSkYW7dcLgq","WPNdK8oY","WQ0+W7ZcVSo0","tSoubG","W43dNZapeMu","W4y1W7CTWRRcIKlcVmotWQflWRZcIW","Emkrh0VcV8kdWQSOW5yzFbJdGSoxw8kGW7K","WOBdPCowzCo6cCozFW","W5FcTLmZ","W43dKJOanW","iCkfWQVdRMK","i8ovW4zl","omoHW794yq","W6pcJhCv","W44mW4C2EW","xmotW6JdRSkj","oZ3cSCk/nmob","amohW6mMcuK","W7NcMsFdVW","W67dJCobur8","WQucpq","x8oijZtdIq","W4GDWPeWpq","W5JdOCksBxK","WRSCd8otgfr0yq","WOlcGKNdVM4","W4/dMCkYzdldKSoxWO5c","q8ojWPf2WQyrW7HIxJXy","W43dLaaSW5SJnSk4","b8oBW5byACkifXW8q2qnW7edlG","W7ddU8kQxq","bmkXWQldQ0W","W7VcGYhdUCoV","rSkVvmo5","E8ofwCoMW7C","WRzBcCkNCq","WRSnW4xdNMtdUxldPIRdNq","W5pdKrq/cG","uuNdNqpdQq","W73cU8o2bmoU","uSomcGNdQ0ynpG","mCouvvCrdSkiW6mTiLK","WQnvkSkezmoz","WQZdMCofqCoy","WPtdULy","r8ogcZtdUW","W6hdNutcKCoy","WRXPW6VcMbm","WQJcVvldMmoTz15xDmk8WRCv","W4LvWPhcI0JdOh3dOW","Emo7W5xdOmky","WOZcLmo4Dq","W4PajG","W4ZcVmochW","oI/cUCk5WPNdMCkKcGqmv00","smkkeLdcPa","WO/cJ8oQDH7dRCo7WRbjW63cVx0","xZSm","nmofW4fWWRPbWRZdGW","WQWDbmoEcq","AIZdUq","o8ofW5XeWQzu","WRK5W7ZdNHC","WOhdV8oiA8o8","W74mW4apCq","W6FdQmo+CGvbW49dlJLv","WQzFk8ku","etFcQSkpmG","jtNcTmkToq","baP9WR8","EmkjfwFcKG","WR7dMmouWPG","fWbdWO3dSq","WPLrzKe","g8k0WOZdKe8","q8kVumoXWR05","FxVdOCoIW5JdJ8kOjsujzhJdPCkAFaZdT8krW5RcRSkiaCkFgSok","wSkoW7W","gCkWWRhdJ1znsY7cG8kTW6C3","W7tdR8kWwq","tCotW7hdR8kF","WOVcJGCOW6C","C1GGW4vG","W7pdOW7cJ8k1jq","iCoxW5W2lG","W7XrWP3cJxVcVhNdOGZdPZZdVmk3etVdO1joWR/cRSoMbSkAW7y+","W5hcOCkrm8k+umkdj25GtqpcRSoI","WQ0gcmoCca","smovW6ddTCkt","vwiYvW","W5xdJYOa","DgddNJlcMv0Nz1ldOYlcNZSTeCopWOu6F8k/WORdLG","W4hcPbhdGhBdG8o3CSk4WOXPW5v/nq","W5uMWRmMaW","WPKJW57cKCot","amohW6SL","EmoDW6NdPmk4auZdTmkbxW","WPhdVu3cMYlcGCkNkG","WRPBbq","W4q1W6STWQO","WONdV8oUWRtdNmo+ACokW74","W5mQFSoU","WPHrBLCB","ECoaC8o+","W6OmW5Of","W5FdK8otqJi","hLNcGa","cSkPW4JcSKTB","WPNdK8oZ","W7VcLmkEW4ddQmozrSoLW7by","eaZcR8kxeq","xmouW63dRCkFeKFdRa","dd5dBCofWQBcRf/cLmoWfq","j8kYW6hcPgu","fGNcGa","gSonW78Vbq","WP3cJCoIEHxdSSoQWQDxW7C","W6GkW4yrExVdSCkUWOqkwG","m8oNW7H3uW","W5ygrSoTmW","emomW58","wmoaCSo9W4W","WP9lCfKDW6NcI3K","W7eOWP/dSLtdG34FgZVcKrq","kNKxW6tdOW","W4i1W64","WP5FCvehW6C","WPNdKmoY","sfNdKCoGW48","z23cQSkYbmopW7/dNa","WQ7dOCoiyCo4","nt7cHwBcG1GKeWRcP2tdVeC","r8omhZNdQWKupHFdVSonW5tdObvoktrZk1/dJmk1W7zUdG","W50GFCo1gmopWPZdS8kG","WPZcIfldT37dTW","h8kWWRtdQvS","tmkMvSoH","yLi7W59HWRm","W47dLCozuW","W5SUymoOf8ob","e8kpW4KRW6q","WQLdf8kazmoiWQH4Aa","W7mLWOKNna","WRyGW5xdUa0","fmkVW5pcUu4","W4jUWPBcH1K","u8kngfVcGq"];return(_0x314a=function(){return t})()}StaticBoardCanvas[_0x1b03e8(522,"sZi^")]=_0x1b03e8(588,"3YIi");const GameCanvas=_0x172f8f[_0x1b03e8(458,"y9!0")](()=>{const t="V@2L",e="uQk@",o="v@]g",W="y9!0",_=_0x1b03e8,n={xhfdW:function(t,e,o){return t(e,o)},xpMRr:function(t,e,o,W){return t(e,o,W)},OKxoW:function(t,e){return t+e},vkMWp:function(t,e,o,W){return t(e,o,W)},IuVwO:function(t,e){return t-e},hIUlJ:function(t,e){return t-e},jaYnV:_(568,"hi!D"),ArGsO:function(t,e){return t+e},IWmym:function(t,e){return t-e},NwvgE:function(t,e){return t-e},XHelq:function(t,e){return t===e},BorWn:function(t,e){return t*e},XrVCN:function(t,e){return t+e},LZjiV:function(t,e){return t+e},GZJBE:"LEFT",Lqlev:function(t,e){return t+e},FrWAC:function(t,e){return t+e},VhRGx:function(t,e){return t+e},hKvtB:_(566,"AtiN"),PbeVf:function(t){return t()},zbYdr:function(t,e,o){return t(e,o)},bcejS:function(t,e,o){return t(e,o)}},x=n.PbeVf(useSnakeVersion),d=useFoodVersion(),r=useSharedValue(1);n[_(503,"3YIi")](useEffect,()=>{const t=_;useSnake3DStore.getState()[t(461,"QfIZ")]?r[t(628,"*s%F")]=withRepeat(withSequence(n[t(594,"uQk@")](withTiming,1.3,{duration:800,easing:Easing.inOut(Easing[t(426,"$#g[")])}),withTiming(1,{duration:800,easing:Easing[t(573,"!Qh&")](Easing[t(446,"o(3$")])})),-1,!0):r[t(425,"SX*h")]=1},[d]);const a=useDerivedValue(()=>(FOOD_GLOW_R+4)*r[_(511,"h!N4")]),i=useMemo(()=>{const x=_,d=useSnake3DStore[x(555,"yfCX")](),r=d[x(475,"uQk@")],a=d[x(534,"jFnJ")],i=d[x(423,t)],f=r[x(491,"#ZG2")],s=[];let S=0;if(i){const _=PAD+i.x*CELL+HALF,d=PAD+i.y*CELL+HALF,r=i.isSpecial?FOOD_S:FOOD_N,a={};a.cx=_,a.cy=d,a.r=FOOD_GLOW_R,a.color=r.glow,s[x(600,"!Qh&")](n[x(500,"LGH6")](_0x6f58c2,Circle,a,KEYS[S++])),s[x(428,"KJOo")](_0x6f58c2(Circle,{cx:_,cy:n[x(580,e)](d,2),r:FOOD_R,color:r[x(551,"jGd[")]},KEYS[S++]));const f={};if(f.cx=_,f.cy=d,f.r=FOOD_R,f[x(558,"&Z6)")]=r[x(556,"xviR")],s[x(447,"2i!6")](n[x(619,"2i!6")](_0x6f58c2,Circle,f,KEYS[S++])),s[x(590,"J]C2")](_0x6f58c2(Circle,{cx:_-FOOD_HL_OFF,cy:n[x(563,"dQg[")](d,FOOD_HL_OFF),r:FOOD_HL_R,color:r[x(519,"CWO&")],opacity:.45},KEYS[S++])),s[x(525,o)](n[x(431,"ixLd")](_0x6f58c2,Circle,{cx:_-FOOD_SHINE_OFF,cy:n[x(572,"#E6H")](d,FOOD_SHINE_OFF),r:FOOD_SHINE_R,color:"rgba(255, 255, 255, 0.85)"},KEYS[S++])),i[x(498,t)]){const t=FOOD_R+3;s.push(_0x6f58c2(Rect,{x:n[x(476,W)](_,1),y:d-t,width:2,height:5,color:n[x(603,"CWO&")]},KEYS[S++])),s.push(_0x6f58c2(Rect,{x:_-1,y:n[x(470,"o!MJ")](d,t)-5,width:2,height:5,color:"rgba(255, 215, 0, 0.8)"},KEYS[S++])),s[x(548,"ixLd")](n[x(629,"auF(")](_0x6f58c2,Rect,{x:n[x(604,"jFnJ")](_,t),y:d-1,width:5,height:2,color:x(448,"sZi^")},KEYS[S++])),s.push(n[x(429,"$#g[")](_0x6f58c2,Rect,{x:n[x(601,"ObvX")](n[x(621,"yfCX")](_,t),5),y:d-1,width:5,height:2,color:"rgba(255, 215, 0, 0.8)"},KEYS[S++]))}}for(let _=f-1;_>=0;_--){const d=r[_],i=n[x(532,"$#g[")](_,0),O=_===f-1,C=PAD+n[x(596,"QfIZ")](d.x,CELL)+HALF,u=n[x(582,"o!MJ")](n[x(502,"xviR")](PAD,d.y*CELL),HALF),L=i?HEAD_C:O?TAIL_C:BODY_C,E=i?HEAD_R:O?TAIL_R:SEG_R,R=i?HEAD_HL_R:O?TAIL_HL_R:SEG_HL_R,m=i?HEAD_HL_OFF:O?TAIL_HL_OFF:SEG_HL_OFF,h=i?HEAD_SHINE_R:O?TAIL_SHINE_R:SEG_SHINE_R,l=i?HEAD_SHINE_OFF:O?TAIL_SHINE_OFF:SEG_SHINE_OFF,b={};b.cx=C,b.cy=u+2,b.r=E,b[x(554,"AtiN")]=L[x(497,"@o53")],s.push(n[x(617,t)](_0x6f58c2,Circle,b,KEYS[S++]));const F={};F.cx=C,F.cy=u,F.r=E,F[x(546,"LGH6")]=L[x(482,"ZH7w")],s[x(633,"&Z6)")](_0x6f58c2(Circle,F,KEYS[S++])),s[x(428,"KJOo")](_0x6f58c2(Circle,{cx:n.IWmym(C,m),cy:u-m,r:R,color:L[x(435,"ixLd")],opacity:.4},KEYS[S++]));const k={};if(k.cx=C-l,k.cy=u-l,k.r=h,k[x(539,W)]="rgba(255, 255, 255, 0.7)",s[x(516,"*s%F")](_0x6f58c2(Circle,k,KEYS[S++])),i){const t=a,W=EO[t],_=n.IuVwO(C+W.tx,t===n[x(550,e)]||"RIGHT"===t?0:W.tw/2),d=n[x(441,"HDZj")](n[x(487,"[6Yq")](u,W.ty),"UP"===t||t===x(547,"xviR")?0:W.th/2),r={};r.x=_,r.y=d,r[x(564,"SX*h")]=W.tw,r[x(599,"HDZj")]=W.th,r[x(645,"[6Yq")]="#ff3355",s[x(569,"VfQV")](n[x(500,"LGH6")](_0x6f58c2,Rect,r,KEYS[S++]));const i={};i.cx=C+W[x(585,"3YIi")],i.cy=u+W[x(515,"#ZG2")],i.r=EYE_R,i[x(536,o)]=x(578,"KeqW"),s[x(581,"hi!D")](_0x6f58c2(Circle,i,KEYS[S++])),s[x(593,"jGd[")](_0x6f58c2(Circle,{cx:C+W[x(524,"#ZG2")],cy:n[x(584,"dQg[")](u,W.e2y),r:EYE_R,color:x(518,"AtiN")},KEYS[S++])),s.push(_0x6f58c2(Circle,{cx:C+W[x(463,"hi!D")],cy:n[x(481,"AtiN")](u,W.e1y),r:PUPIL_R,color:n[x(509,"AtiN")]},KEYS[S++]));const f={};f.cx=C+W[x(434,"dOgu")],f.cy=u+W.e2y,f.r=PUPIL_R,f[x(517,"IBt#")]="#1a1a1a",s[x(612,"DJ()")](_0x6f58c2(Circle,f,KEYS[S++]))}}return s},[x]),f=useMemo(()=>{const t=_,e=useSnake3DStore[t(640,"jGd[")]()[t(577,"cTIz")];return e?{cx:n[t(592,"ixLd")](PAD,n[t(530,"#ZG2")](e.x,CELL))+HALF,cy:PAD+n[t(424,"SX*h")](e.y,CELL)+HALF,color:e.isSpecial?FOOD_S[t(559,"3YIi")]:FOOD_N[t(493,"cTIz")]}:null},[x]),s=n.zbYdr(useMemo,()=>({width:BW,height:BH,position:"absolute",top:0,left:0}),[]);return _0x4c3235(Canvas,{style:s,pointerEvents:_(495,"ObvX"),children:[f&&n[_(557,"$D59")](_0x6f58c2,Circle,{cx:f.cx,cy:f.cy,r:a,color:f[_(637,"3YIi")],opacity:.55}),i]})});GameCanvas[_0x1b03e8(474,"QfIZ")]=_0x1b03e8(453,"dOgu");export const GameGrid=_0x172f8f[_0x1b03e8(508,"sZi^")](()=>{const t=_0x1b03e8,e={TlOoS:function(t,e){return t===e},XoKXH:function(t,e,o){return t(e,o)},CTwOM:function(t,e,o){return t(e,o)},NIaEV:function(t,e){return t(e)},rhtGB:function(t,e,o){return t(e,o)}},o=_0x1298da(12),W=useSharedValue(0);let _;o[0]!==W?(_=()=>useSnake3DStore[t(538,"yfCX")](_temp,o=>{const _=t;if(0!==o&&useSnake3DStore[_(622,"CWO&")]()[_(513,"[6Yq")])if(e[_(450,"jFnJ")]("XaELX",_(620,"sZi^")))_0x39666c.value=1;else{const t={};t[_(542,"2i!6")]=40,t[_(514,"HDZj")]=Easing.linear;const o={};o[_(589,"[6Yq")]=40,o[_(565,"yfCX")]=Easing.linear;const n={};n[_(479,"foW1")]=35,n.easing=Easing[_(464,"o!MJ")];const x={duration:35};x[_(496,"y9!0")]=Easing[_(440,"OQb9")];const d={duration:30};d.easing=Easing[_(506,"uQk@")];const r={};r[_(606,"sX$4")]=30,r[_(483,"foW1")]=Easing[_(523,"cTIz")],W[_(505,"OQb9")]=withSequence(e[_(605,"DJ()")](withTiming,-6,t),withTiming(6,o),withTiming(-4,n),e[_(467,"SX*h")](withTiming,4,x),e.XoKXH(withTiming,-2,d),withTiming(0,r))}}),o[0]=W,o[1]=_):_=o[1];const n=_;let x,d;o[2]!==n?(x=()=>{const e=t;return e(632,"dOgu")===e(485,"2xRE")?n():_0x4f3a6f()},d=[n],o[2]=n,o[3]=x,o[4]=d):(x=o[3],d=o[4]),e[t(605,"DJ()")](useEffect,x,d);const r={};r.translateX=W.value;const a=e[t(625,"[6Yq")](useAnimatedStyle,()=>({transform:[r]}));let i;if(o[5]===Symbol[t(529,"*s%F")]("react.memo_cache_sentinel")){const e={};e[t(462,"ObvX")]=BW,e[t(643,"jGd[")]=BH,i=[styles[t(540,"o!MJ")],e],o[5]=i}else i=o[5];const f=i;let s,S,O,C;if(o[6]!==a?(s=[f,a],o[6]=a,o[7]=s):s=o[7],e[t(616,"v@]g")](o[8],Symbol.for(t(442,"xviR")))?(S=_0x6f58c2(StaticBoardCanvas,{}),O=e.rhtGB(_0x6f58c2,GameCanvas,{}),o[8]=S,o[9]=O):(S=o[8],O=o[9]),o[10]!==s){const e={};e[t(641,"sX$4")]=s,e[t(454,"#E6H")]=[S,O],C=_0x6f58c2(View,{style:styles[t(541,"3YIi")],children:_0x4c3235(_0x298e03[t(460,"v@]g")],e)}),o[10]=s,o[11]=C}else C=o[11];return C});GameGrid[_0x1b03e8(535,"$D59")]=_0x1b03e8(631,"xviR");const _0x30f066={};_0x30f066[_0x1b03e8(510,"hi!D")]=1,_0x30f066[_0x1b03e8(561,"xviR")]=_0x1b03e8(494,"KeqW"),_0x30f066[_0x1b03e8(473,"&Z6)")]=_0x1b03e8(624,"V@2L");const _0x572525={};_0x572525[_0x1b03e8(490,"y9!0")]=_0x30f066,_0x572525[_0x1b03e8(549,"[6Yq")]={};const styles=StyleSheet[_0x1b03e8(552,"sZi^")](_0x572525);function _temp(t){return t[_0x1b03e8(638,"&Z6)")]}
@@ -1 +0,0 @@
1
- "use strict";const _0x353b8f=_0x1842;!function(){const e="X94L",o=_0x1842,r=_0x3255();for(;;)try{if(711092==parseInt(o(403,"@0BY"))/1*(parseInt(o(388,"DZw2"))/2)+-parseInt(o(386,e))/3+-parseInt(o(408,"F$FZ"))/4+-parseInt(o(399,"g2WJ"))/5*(-parseInt(o(387,"iNWA"))/6)+parseInt(o(384,")J0Y"))/7*(parseInt(o(385,"F$FZ"))/8)+-parseInt(o(390,e))/9+parseInt(o(406,"X94L"))/10*(-parseInt(o(396,"ZzC3"))/11))break;r.push(r.shift())}catch(e){r.push(r.shift())}}();import{c as _0x464bd2}from"react/compiler-runtime";import _0x13e506 from"react";function _0x1842(e,o){e-=380;const r=_0x3255();let t=r[e];if(void 0===_0x1842.bnrLOJ){const e=function(e,o){let r,t,n=[],s=0,W="";for(e=function(e){let o="",r="";for(let r,t,n=0,s=0;t=e.charAt(s++);~t&&(r=n%4?64*r+t:t,n++%4)?o+=String.fromCharCode(255&r>>(-2*n&6)):0)t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(t);for(let e=0,t=o.length;e<t;e++)r+="%"+("00"+o.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(r)}(e),t=0;t<256;t++)n[t]=t;for(t=0;t<256;t++)s=(s+n[t]+o.charCodeAt(t%o.length))%256,r=n[t],n[t]=n[s],n[s]=r;t=0,s=0;for(let o=0;o<e.length;o++)t=(t+1)%256,s=(s+n[t])%256,r=n[t],n[t]=n[s],n[s]=r,W+=String.fromCharCode(e.charCodeAt(o)^n[(n[t]+n[s])%256]);return W};_0x1842.NaJRTu=e,_0x1842.MTIlbu={},_0x1842.bnrLOJ=!0}const n=r[0];_0x1842.TeFSZE!==n&&(_0x1842.MTIlbu={},_0x1842.TeFSZE=n);const s=_0x1842.MTIlbu[e];return void 0===s?(void 0===_0x1842.AeEjFo&&(_0x1842.AeEjFo=!0),t=_0x1842.NaJRTu(t,o),_0x1842.MTIlbu[e]=t):t=s,t}import{View}from"react-native";import{useScore,useTimeLeft}from"../Snake3DStore.js";import{ScoreBoardContainer,ScoreValue,ScoreTimer,scoreBoardStyles as _0x2267e5}from"../../../helpers/index.js";import{jsx as _0x4787eb,jsxs as _0x91a34f}from"react/jsx-runtime";function _0x3255(){const e=["D8oQWOzMe0/dIa","W4JcMXhcLSkxqSk6W7pcUmksWQpcKCo3","gcxcHhmmnmoHW5C","WPPlEheUlhWnm33dJGPK","WRpdTaOgkG","yMBcLmoqwgHGW6OIW6u","WQdcHqT9vW","kCkwW4pdK8o1W4y","W57dPSoHW4q","aJBcRSonBK9yW5O","sNZdNcTFFSkXW4n3gSo5jCoi","WOxdSCoHW5XBWQBdJG","W6q6W5PhDSopWRGgWOf8WPJdLH4","W6VdTN/cSei","s8oHdCkiaWlcL1fvlHL2x8on","imkrWOW9WOJdLs4CnILErf8","WRZcQg4TWO/dKXe","lmoZW57dHdxcGxzpfCkQdrnw","ea1UW4XQdZNdJHH6WPb7W68","WPngFhWKlxWEfN/dKbji","W6VcO3OWWRu","kSo6W5FdIZdcGhnAjSkbkrHC","sCkgWRpdQHzKbhvfmSoKgW","W63dS3pdSmoxtmoXWRzbk8kwdH8","jaKUW5G7W5xcPq","W4H9tG","WOddP8kPwmk2zInVzuiZ","vCo+egdcNW","WRVdNmkRWRfxWOOCW7xcR2ldK8obW5S","WPddGfBcG1pcG8oQ","yIeXWO4uFCoG","kmo7W53dHdZcGNCzg8kUcZnZuG","WPnpEheGlxKMee7dScni"];return(_0x3255=function(){return e})()}export const ScoreBoard=_0x13e506[_0x353b8f(395,"hhoc")](e=>{const o=_0x353b8f,r={JNsYf:function(e){return e()},uoOaQ:function(e){return e()},fsNwM:function(e,o){return e!==o},QXwjw:function(e,o,r){return e(o,r)}},t=_0x464bd2(10),{offset:n}=e,s=void 0===n?0:n,W=r[o(400,"aoDG")](useScore),d=r[o(393,"ZM*e")](useTimeLeft);let f,i,x,a;if(r.fsNwM(t[0],W)){const e={};e.score=W,f=r[o(391,"2M([")](_0x4787eb,ScoreValue,e),t[0]=W,t[1]=f}else f=t[1];if(t[2]!==d){const e={};e.seconds=d,e[o(409,"zG9x")]=0,i=_0x4787eb(ScoreTimer,e),t[2]=d,t[3]=i}else i=t[3];if(t[4]!==f||r[o(407,"@0BY")](t[5],i)){const e={};e.style=_0x2267e5[o(412,"aUV[")],e[o(389,"Z^gc")]=[f,i],x=_0x91a34f(View,e),t[4]=f,t[5]=i,t[6]=x}else x=t[6];if(t[7]!==s||t[8]!==x)if("ZtSWH"!==o(381,"RSRO"))_0x4fc509=_0x11ceb6[6];else{const e={};e[o(394,"$uob")]=s,e.children=x,a=_0x4787eb(ScoreBoardContainer,e),t[7]=s,t[8]=x,t[9]=a}else a=t[9];return a});ScoreBoard[_0x353b8f(380,"s2Eo")]=_0x353b8f(392,"ZzC3");
@@ -1 +0,0 @@
1
- "use strict";!function(){const t=_0x2181,o=_0x4435();for(;;)try{if(821974==parseInt(t(176,"RyIz"))/1*(-parseInt(t(187,"$vU0"))/2)+-parseInt(t(195,"$vU0"))/3*(parseInt(t(225,"S*&D"))/4)+-parseInt(t(220,"RyIz"))/5+-parseInt(t(193,"^NtJ"))/6*(-parseInt(t(190,"^NtJ"))/7)+parseInt(t(221,"]9PC"))/8*(parseInt(t(183,"m%yA"))/9)+parseInt(t(181,"]owO"))/10+-parseInt(t(216,"wCq0"))/11*(-parseInt(t(218,"m%yA"))/12))break;o.push(o.shift())}catch(t){o.push(o.shift())}}();import{WINNING_POSITION,CELL_TRANSITIONS}from"./SnakesAndLaddersConstants.js";export const rollDice=()=>{const t=_0x2181,o={};return o[t(210,"%O)s")]=function(t,o){return t+o},o[t(175,"tdm(")](Math[t(219,"fPVL")](6*Math[t(180,"P4ZO")]()),1)};export const createPlayers=()=>{const t=_0x2181,o={};o[t(213,"S*&D")]=t(212,"$NUR"),o[t(199,"kxad")]=t(171,"ErFW");const n=o,W={};W.id=t(174,"xIs5"),W[t(227,"gK8G")]=0,W[t(215,"%x^t")]=!1;const e={};e.id=t(207,"KIoa"),e[t(226,"44*a")]=t(192,"44*a"),e[t(184,"xIs5")]=W,e.isAI=!1,e[t(196,"bLqU")]=n[t(206,"^4lQ")];const r={};r.id=n[t(194,"m%yA")],r[t(223,"nxNd")]=0,r[t(173,"Owea")]=!1;const d={id:"ai"};return d[t(222,"HA64")]=t(211,"6CEM"),d[t(208,"RyIz")]=r,d.isAI=!0,d[t(178,"m%yA")]="AI",[e,d]};export const calculateNewPosition=(t,o)=>{const n=_0x2181,W={};W[n(202,"CA!S")]=function(t,o){return t+o},W[n(214,"Bhph")]=function(t,o){return t>o};const e=W,r=e[n(185,"Vs&C")](t,o);if(e.JykAS(r,WINNING_POSITION))return t;const d=CELL_TRANSITIONS[n(168,"]9PC")](r);return void 0!==d?d:r};function _0x4435(){const t=["u8oeb0FcUG","W7W7ySo7WQ4AW5tdImoKWQ7cVeldQW","WPJcH07cUCk4vgLPW6HoW53cHa","rSkUxJxdNa","WQ7dSmoLWQH0WPmpnG","mbZdJJhdJCk9iCoE","W65DWPDuW7ZdPCkIbx0AW4q+Aa","W7pdOwvSWOq","FY/dRYRcJGJdOGu","W4ZdKai","fZJcQSkyWPymW5fCfmoBf8kI","W7xdJIOBWPq","W5ddQmoZkgFdTxDY","qHXwmNRdR8kmet9vomk3W5m","xXaDuL3cQgmRWOFdKq","B8kDWP/cSc7dKM4uwmkLwCkk","WOxcVSohzNO","W7W7zCkSW6vJWQRdTmoa","W79UoSkxEazymG","bCoKae9J","o8oVvSovd8kPW7hdISofWRnmFCoE","W4nZWOJdN01R","WQtdHSoSgSoeWOHMWPxdRSkYfbZdGG","WPHXqmoSf8kuWQnrvW","wmkZuevetSkkWRZcRa","A8kEWPxcRcu","ccRdLSkXxG","WQqPcSkNBcTsmSo7W7m","rHTBn3JcU8oCbXLShG","CuFcJd7dG8kvamoCBq","A8oRW4xcLSoOhte1","iSk8WO7dJCkKtaqDbCkTh8ky","DuD4W4ldSmkbWOZcMW","W7ldONXM","kCkWW7JcLSoqjJai","bCoIo1PD","r1apBtZcTmoi","WR4DW5n9WQ4","bmkCwHhdVSkmWPBdR8o2cSkhWRNdSWe","fs3cT8owhW","W57dNxZdTKW","EY/dTYBcLa","dSokWOG","aMDMWRZcSa","mXZdKd0","te3cGMi","WQJcLCow","o8o1FCk9oa","W5KRe8o6oCkI","WRLGp8kVW7e","W71InfKf","W7CXp8kijW","xgxdTG","fHpdQG","WOifW5idWOq","W6BcGd3dLSkQ","w1BdSCoZW6PqW4X7h2C","WPRcVCkWWRVcLf7cM8owF8kSieWJma","WPDGE8kcn8k1fCoFW7acW4ldQCo6","w8kXfhn1tSk0WPe"];return(_0x4435=function(){return t})()}function _0x2181(t,o){t-=168;const n=_0x4435();let W=n[t];if(void 0===_0x2181.vcRlpj){const t=function(t,o){let n,W,e=[],r=0,d="";for(t=function(t){let o="",n="";for(let n,W,e=0,r=0;W=t.charAt(r++);~W&&(n=e%4?64*n+W:W,e++%4)?o+=String.fromCharCode(255&n>>(-2*e&6)):0)W="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(W);for(let t=0,W=o.length;t<W;t++)n+="%"+("00"+o.charCodeAt(t).toString(16)).slice(-2);return decodeURIComponent(n)}(t),W=0;W<256;W++)e[W]=W;for(W=0;W<256;W++)r=(r+e[W]+o.charCodeAt(W%o.length))%256,n=e[W],e[W]=e[r],e[r]=n;W=0,r=0;for(let o=0;o<t.length;o++)W=(W+1)%256,r=(r+e[W])%256,n=e[W],e[W]=e[r],e[r]=n,d+=String.fromCharCode(t.charCodeAt(o)^e[(e[W]+e[r])%256]);return d};_0x2181.NYQVCF=t,_0x2181.WGrgaA={},_0x2181.vcRlpj=!0}const e=n[0];_0x2181.lFviiD!==e&&(_0x2181.WGrgaA={},_0x2181.lFviiD=e);const r=_0x2181.WGrgaA[t];return void 0===r?(void 0===_0x2181.wWhXMf&&(_0x2181.wWhXMf=!0),W=_0x2181.NYQVCF(W,o),_0x2181.WGrgaA[t]=W):W=r,W}export const isSnake=t=>{const o=CELL_TRANSITIONS[_0x2181(201,"d$X%")](t);return void 0!==o&&o<t};export const isLadder=t=>{const o=CELL_TRANSITIONS[_0x2181(205,"tdm(")](t);return void 0!==o&&o>t};export const getIntermediatePosition=(t,o)=>{const n=t+o;return n>WINNING_POSITION?t:n};export const isGameFinished=t=>{const o=_0x2181;return t[o(203,"hXM2")](t=>t[o(184,"xIs5")][o(224,"hXM2")]===WINNING_POSITION)};export const getWinner=t=>t.find(t=>t.token.position===WINNING_POSITION)||null;export const calculateScore=(t,o)=>{const n=_0x2181,W={DSzfI:function(t,o){return t*o}};if(t[n(209,"X7GP")][n(186,"QOnT")]){let W=0;if(o){const e=o[n(204,"8r$2")](o=>o.id!==t.id);if(e){const t=e.token[n(191,"M@*]")];W=Math[n(198,"ZPzI")](50*(WINNING_POSITION-t))}}return 1e4+W}return W[n(170,"IMck")](t[n(200,"gK8G")][n(189,"^NtJ")],100)};
@@ -1 +0,0 @@
1
- "use strict";const _0x5548c2=_0x445b;!function(){const W=_0x445b,e=_0x5beb();for(;;)try{if(791513==-parseInt(W(605,"&uOG"))/1*(-parseInt(W(494,"UCFv"))/2)+parseInt(W(329,"XV0A"))/3*(-parseInt(W(354,"*VON"))/4)+-parseInt(W(562,"Mg@9"))/5*(-parseInt(W(631,"(WkJ"))/6)+-parseInt(W(412,"v$l3"))/7*(parseInt(W(384,")bIp"))/8)+-parseInt(W(514,"Z1XO"))/9+-parseInt(W(528,"j*gk"))/10+parseInt(W(407,"s1Vb"))/11)break;e.push(e.shift())}catch(W){e.push(e.shift())}}();import{create}from"zustand";import{subscribeWithSelector}from"zustand/middleware";import{createPlayers,rollDice,calculateNewPosition,getIntermediatePosition,isSnake,isLadder,isGameFinished,getWinner,calculateScore}from"./SnakesAndLaddersService.js";import{WINNING_POSITION,SNL_GAME_CONFIG}from"./SnakesAndLaddersConstants.js";import{playSound,GAME_SOUNDS}from"../../services/SoundsService.js";import{playHaptic,HapticType}from"../../services/HapticsService.js";export const useSnakesAndLaddersStore=create()(subscribeWithSelector((W,e)=>({isPlaying:!1,isGameOver:!1,isWin:!1,players:[],currentPlayerIndex:0,diceValue:null,isRolling:!1,gamePhase:_0x5548c2(304,"ViR6"),playerScore:0,consecutiveSixes:0,moveVersion:0,initializeGame:()=>{const e=_0x5548c2,t={};t[e(464,"LsEX")]=e(557,"H$1%");const n=t,o=createPlayers(),d={};d[e(325,"(nsx")]=o,d[e(537,"(nsx")]=0,d[e(321,"BxRk")]=null,d[e(588,"O9%l")]=!1,d.gamePhase=n[e(307,"3KuW")],d[e(360,"ViR6")]=!1,d[e(455,"Jm&v")]=!1,d[e(519,"n)Po")]=!1,d[e(366,"s1Vb")]=0,d.consecutiveSixes=0,d[e(367,"HmY1")]=0,W(d)},startGame:()=>{const e=_0x5548c2,t={};t[e(370,"9]xP")]="rolling";const n=t,o={};o[e(399,"Drey")]=!0,o[e(376,"O9%l")]=!1,o[e(566,"H$1%")]=!1,o[e(379,"(nsx")]=n[e(558,"LPQf")],W(o)},stopGame:()=>{const e={};e[_0x5548c2(393,"YE@2")]=!1,W(e)},resetGame:()=>{const e=_0x5548c2,t={isPlaying:!1};t[e(602,"u6J2")]=!1,t.isWin=!1,t.players=[],t[e(431,"Iarm")]=0,t[e(607,"Z1XO")]=null,t.isRolling=!1,t[e(339,"tPDH")]=e(435,"Iarm"),t[e(330,"r4Qk")]=0,t[e(316,"Mg@9")]=0,t[e(478,"j*gk")]=0,{iknOP:function(W,e){return W(e)}}[e(397,"dbz)")](W,t)},rollDiceAction:t=>{const n="C[YV",o="BxRk",d="C@7u",r=_0x5548c2,i={nhrJG:r(509,"HmY1"),UUhUq:function(W,e,t){return W(e,t)},cnNhl:function(W,e,t){return W(e,t)},PsEqg:function(W){return W()},DvGvU:function(W,e){return W>=e},BOyAy:function(W,e){return W!==e}},u=e();if(!u[r(317,"(nsx")]||u[r(357,"r4Qk")]||i.BOyAy(u[r(377,"d!uh")],r(544,"r4Qk")))return;const a=u[r(524,"UCFv")][u[r(499,"2gYK")]];if(!a||a[r(353,"LsEX")])return;W({isRolling:!0}),playHaptic(HapticType[r(532,"Mg@9")],t.enableHaptics),i[r(506,"Jm&v")](setTimeout,()=>{const u="s1Vb",a="T7Ez",s=r,k={fcnpJ:function(W,e){return W%e},GbxZG:s(350,"BxRk"),MuYHw:i[s(531,"Drey")],YoUiO:function(W){return W()},jOiiv:function(W,e){return W(e)},cagQQ:function(W,e,t){return W(e,t)},UGqSb:s(368,"(WkJ"),BQZBf:function(W,e,t){return i.UUhUq(W,e,t)},mPIQR:function(W,e){return W===e},tZFgs:function(W,e){return W(e)},ZDvMK:function(W,e){return W%e},lCKWw:function(W,e){return W!==e},tpJLR:function(W,e){return W===e},btniQ:function(W,e,t){return i.cnNhl(W,e,t)},outoH:function(W,e){return W(e)},sWbPF:function(W,e,t){return i[s(298,"O9%l")](W,e,t)},XLMRU:function(W,e,t){return W(e,t)}},S=rollDice(),m=i[s(401,"n)Po")](e);if(!m.players[m[s(411,"YE@2")]])return;let l=m[s(457,"w2K5")];if(6===S?l++:l=0,i[s(356,"Drey")](l,3)){const n={};return n.diceValue=S,n[s(551,"&uOG")]=!1,n.consecutiveSixes=0,W(n),playSound(GAME_SOUNDS.SNAKES_AND_LADDERS[s(463,"O9%l")],t[s(358,"(aZc")]),playHaptic(HapticType[s(503,"LPQf")],t.enableHaptics),void setTimeout(()=>{const n=s,o=e(),d=k[n(333,"Mg@9")](o[n(411,"YE@2")]+1,o[n(541,")]mh")][n(597,"#uTu")]),r={};r[n(432,"*VON")]=d,r[n(441,"(nsx")]=null,r[n(578,"HmY1")]=o[n(385,"td7u")][d]?.[n(523,"9]xP")]?k[n(577,"(WkJ")]:k[n(480,"n)Po")],r[n(352,"l7jN")]=0,W(r),e().players[d]?.[n(559,"(WkJ")]&&setTimeout(()=>e()[n(365,"#uTu")](t),SNL_GAME_CONFIG[n(530,"w2K5")])},1e3)}const p={};p[s(405,"C[YV")]=S,p[s(413,"UCFv")]=!1,p[s(336,"UCFv")]=l,p[s(479,"m49X")]=s(326,"n)Po"),W(p),i[s(423,"ViR6")](playSound,GAME_SOUNDS[s(476,"Drey")][s(624,"4umt")],t[s(428,"9]xP")]),6===S&&(playSound(GAME_SOUNDS[s(621,")bIp")][s(439,"9]xP")],t[s(297,"4umt")]),playHaptic(HapticType[s(591,"*VON")],t[s(369,"dbz)")])),setTimeout(()=>{const r="3KuW",i="Iarm",m=s,l={pQpDJ:function(W,e){return k[_0x445b(473,"UCFv")](W,e)},FMceR:function(W,e,t){return W(e,t)}},p=e();if(!p.isPlaying||k.lCKWw(p.gamePhase,m(324,n)))return;const O=p[m(459,"3KuW")][p[m(371,"Z1XO")]];if(!O||O[m(584,"4umt")])return;const C=getIntermediatePosition(O[m(571,"n)Po")][m(418,")]mh")],S),P=calculateNewPosition(O[m(346,"j*gk")].position,S);if(k[m(533,o)](P,O.token.position))return playSound(GAME_SOUNDS[m(447,"LPQf")][m(419,"T7Ez")],t[m(580,"Jm&v")]),playHaptic(HapticType[m(603,"Iarm")],t[m(556,"s1Vb")]),void setTimeout(()=>{const n=m,o=k[n(440,"s1Vb")](e),d=(o[n(612,"u6J2")]+1)%o.players[n(606,"oWjl")];k.jOiiv(W,{currentPlayerIndex:d,diceValue:null,gamePhase:o[n(345,"NCRL")][d]?.isAI?n(563,"d!uh"):k.MuYHw,consecutiveSixes:0}),e()[n(491,"r4Qk")][d]?.isAI&&setTimeout(()=>e()[n(617,"d!uh")](t),SNL_GAME_CONFIG.AI_DELAY)},500);const G=p.players[m(347,"LsEX")]((W,e)=>{const t=m;if(e!==p[t(438,"Mg@9")])return W;const n={...W};return n[t(522,i)]={...W[t(443,"(aZc")]},n[t(522,i)][t(610,"9]xP")]=C,n[t(522,i)][t(378,"#uTu")]=C===WINNING_POSITION,n}),R={};if(R[m(398,"Z1XO")]=G,R.moveVersion=p[m(596,"*VON")]+1,W(R),k[m(355,"l7jN")](playSound,GAME_SOUNDS[m(608,d)][m(618,"YE@2")],t[m(629,"Mg@9")]),k[m(364,n)](playHaptic,HapticType[m(331,")]mh")],t[m(540,"HmY1")]),k[m(409,"u6J2")](C,P))setTimeout(()=>{const n=m,o=e();if(isSnake(C)){if("qHlRQ"!==n(445,u))return _0x1ab889(_0x495b7e);playSound(GAME_SOUNDS[n(573,"w2K5")][n(497,a)],t.enableSounds),k.cagQQ(playHaptic,HapticType.ERROR,t[n(471,"&uOG")])}else isLadder(C)&&(k[n(363,"w2K5")](playSound,GAME_SOUNDS[n(622,"(aZc")][n(500,"(aZc")],t.enableSounds),k[n(615,"r4Qk")](playHaptic,HapticType.SUCCESS,t[n(359,"YE@2")]));const d=o[n(515,"Drey")][n(334,"UCFv")]((W,e)=>{const t=n;if(e!==o[t(332,"tPDH")])return W;const d={...W};return d[t(295,r)]={...W[t(322,"Mg@9")]},d[t(295,r)].position=P,d[t(295,r)][t(454,"l7jN")]=P===WINNING_POSITION,d}),i=calculateScore(d[0],d),s={};if(s[n(425,"9]xP")]=d,s[n(444,"&uOG")]=i,s[n(414,"C[YV")]=o[n(349,u)]+1,W(s),isGameFinished(d)){const e=getWinner(d),o={};return o[n(296,"Drey")]=!0,o.isWin=e?.id===k[n(620,"v$l3")],o[n(300,"NCRL")]=!1,o[n(578,"HmY1")]=n(581,"w2K5"),W(o),void(e?.id===k[n(403,"Jm&v")]?(playSound(GAME_SOUNDS[n(485,"L)@&")][n(604,"C[YV")],t[n(449,")bIp")]),playHaptic(HapticType.SUCCESS,t[n(348,"C[YV")])):(k[n(382,"Z1XO")](playSound,GAME_SOUNDS[n(474,"l7jN")][n(417,"LPQf")],t.enableSounds),playHaptic(HapticType[n(430,"ViR6")],t.enableHaptics)))}k[n(484,a)](setTimeout,()=>{const o=n,d=e();if(6===S){const e={};e[o(560,"L)@&")]=null,e[o(579,")]mh")]=o(526,"9]xP"),W(e)}else{const n=l[o(561,"Z1XO")](d.currentPlayerIndex+1,d[o(589,"oWjl")][o(510,"(aZc")]),r={};r[o(323,"4umt")]=n,r[o(470,"Mg@9")]=null,r[o(599,"(aZc")]=d.players[n]?.[o(303,"Jm&v")]?o(314,"L)@&"):o(468,"d!uh"),r.consecutiveSixes=0,W(r),e().players[n]?.[o(513,"C@7u")]&&l[o(549,"s1Vb")](setTimeout,()=>e()[o(565,"XV0A")](t),SNL_GAME_CONFIG[o(548,"2gYK")])}},400)},SNL_GAME_CONFIG[m(306,"4umt")]+100);else{const n=calculateScore(G[0],G),r={};if(r[m(550,"dbz)")]=n,k[m(381,"O9%l")](W,r),isGameFinished(G)){const e=getWinner(G),n={};return n[m(426,"9]xP")]=!0,n[m(361,"9]xP")]=e?.id===m(534,"d!uh"),n[m(575,"T7Ez")]=!1,n[m(429,"BxRk")]=m(461,"Z1XO"),W(n),void(e?.id===k.UGqSb?(k[m(394,"dbz)")](playSound,GAME_SOUNDS[m(310,"WJiL")][m(536,o)],t[m(614,"#uTu")]),playHaptic(HapticType[m(495,"BxRk")],t[m(421,d)])):(k[m(450,"Mg@9")](playSound,GAME_SOUNDS.SNAKES_AND_LADDERS[m(572,"(nsx")],t[m(294,"ViR6")]),playHaptic(HapticType[m(609,"LsEX")],t[m(337,"j*gk")])))}k[m(502,"L)@&")](setTimeout,()=>{const n=m,o=e();if(k[n(308,"WJiL")](S,6)){const e={};e[n(456,"X&$M")]=null,e.gamePhase=n(507,"UCFv"),W(e)}else{const d=(o[n(462,"ViR6")]+1)%o.players.length;k[n(552,"tPDH")](W,{currentPlayerIndex:d,diceValue:null,gamePhase:o.players[d]?.[n(482,"WJiL")]?k[n(593,"*VON")]:k[n(301,"WJiL")],consecutiveSixes:0}),e()[n(491,"r4Qk")][d]?.isAI&&setTimeout(()=>e()[n(565,"XV0A")](t),SNL_GAME_CONFIG[n(302,"Z1XO")])}},400)}},400)},SNL_GAME_CONFIG.DICE_ROLL_DURATION)},makeAITurn:t=>{const n="Iarm",o="O9%l",d="WJiL",r=_0x5548c2,i={ZoiJZ:function(W,e){return W!==e},wdCTx:function(W,e){return W===e},euthH:function(W){return W()},Cvzxa:function(W,e){return W(e)},wcmOm:function(W,e,t){return W(e,t)},teAqb:function(W,e){return W%e},aLNKS:function(W,e,t){return W(e,t)},qCydl:"game_over",DBsZs:r(630,"WJiL"),RlRLi:function(W,e){return W===e},wBhrW:r(406,"(WkJ"),moFQE:function(W){return W()},bgUtq:function(W,e,t){return W(e,t)},ueZus:"rolling",yDevw:function(W){return W()},UVhkV:function(W,e,t){return W(e,t)},cblAi:function(W,e,t){return W(e,t)},uvPDE:function(W,e,t){return W(e,t)},akdjD:function(W,e){return W(e)},pCjsd:function(W,e){return W===e},nyCSB:function(W,e){return W===e}},u=e();if(!u[r(487,"Z1XO")]||"ai_turn"!==u[r(327,"dbz)")])return;const a=u[r(338,"WJiL")][u.currentPlayerIndex];if(!a||!a[r(525,"C[YV")])return;const s=rollDice(),k={};k.diceValue=s,k[r(551,"&uOG")]=!1,W(k),playSound(GAME_SOUNDS[r(486,"E!FN")][r(535,"(WkJ")],t.enableSounds),playHaptic(HapticType[r(453,"ViR6")],t[r(369,"dbz)")]),setTimeout(()=>{const u="WJiL",a=r,k={kfZGp:function(W,e){return W===e},ihltn:function(W,e){return W(e)},WIcQW:i[a(293,"Jm&v")],xfOIi:i[a(627,"HmY1")],nLGMp:function(W,e,t){return W(e,t)}};if(i[a(475,n)](a(498,o),i[a(504,"dbz)")])){const r=i[a(505,d)](e),S=r[a(325,"(nsx")][r[a(467,"&uOG")]];if(!S)return;const m=getIntermediatePosition(S.token.position,s),l=i[a(328,"#uTu")](calculateNewPosition,S.token[a(520,"dbz)")],s);if(l===S[a(319,"w2K5")].position){const n=(r[a(362,"T7Ez")]+1)%r[a(600,"dbz)")][a(387,"j*gk")],d={};return d[a(598,"C@7u")]=n,d[a(512,"H$1%")]=null,d[a(590,"4umt")]=r[a(372,"O9%l")][n]?.[a(434,o)]?"ai_turn":i[a(568,"l7jN")],W(d),void(i[a(483,"2gYK")](e)[a(459,"3KuW")][n]?.[a(436,"(aZc")]&&i[a(594,"(nsx")](setTimeout,()=>e()[a(488,"tPDH")](t),SNL_GAME_CONFIG[a(613,"3%&X")]))}const p=r[a(292,"Iarm")][a(501,"u6J2")]((W,e)=>{const t=a;return i[t(373,"*VON")](e,r.currentPlayerIndex)?W:{...W,token:{...W[t(319,"w2K5")],position:m,isFinished:i[t(539,"LsEX")](m,WINNING_POSITION)}}}),O={};if(O[a(515,"Drey")]=p,O[a(367,"HmY1")]=r[a(625,"4umt")]+1,W(O),i[a(392,"Iarm")](playSound,GAME_SOUNDS[a(608,"C@7u")].MOVE,t[a(592,d)]),playHaptic(HapticType[a(388,"j*gk")],t.enableHaptics),m!==l)setTimeout(()=>{const n="9]xP",o=a,d={sviRS:function(W,e){return k[_0x445b(466,"Drey")](W,e)},nogpT:function(W,e){return W(e)},RYkIN:function(W,e,t){return W(e,t)},rwizr:function(W,e){return W+e},yfNOs:o(304,"ViR6")},r=e();isSnake(m)?(playSound(GAME_SOUNDS[o(626,")]mh")].SNAKE,t[o(344,"H$1%")]),playHaptic(HapticType[o(521,"m49X")],t.enableHaptics)):isLadder(m)&&(playSound(GAME_SOUNDS[o(447,"LPQf")][o(311,"O9%l")],t[o(437,"r4Qk")]),playHaptic(HapticType[o(446,"Jm&v")],t[o(309,"n)Po")]));const i=r[o(543,"l7jN")][o(351,"NCRL")]((W,e)=>{const t=o;if(e!==r[t(508,"dbz)")])return W;const d={...W};return d[t(576,n)]={...W.token},d[t(576,n)][t(420,"td7u")]=l,d[t(576,n)][t(587,"n)Po")]=l===WINNING_POSITION,d}),u=calculateScore(i[0],i),S={};if(S[o(338,"WJiL")]=i,S.playerScore=u,S[o(493,"Z1XO")]=r[o(442,"(nsx")]+1,k[o(340,"HmY1")](W,S),isGameFinished(i)){const e=getWinner(i),n={};return n[o(527,"LsEX")]=!0,n[o(313,"ViR6")]="player"===e?.id,n[o(585,"d!uh")]=!1,n.gamePhase=k[o(582,"w2K5")],W(n),void(k[o(291,"3%&X")](e?.id,k[o(451,"XV0A")])?(k[o(586,"u6J2")](playSound,GAME_SOUNDS[o(408,"Z1XO")][o(570,"WJiL")],t[o(452,"XV0A")]),playHaptic(HapticType.SUCCESS,t[o(359,"YE@2")])):(playSound(GAME_SOUNDS[o(408,"Z1XO")][o(569,"#uTu")],t.enableSounds),playHaptic(HapticType[o(542,"3KuW")],t[o(290,"Drey")])))}setTimeout(()=>{const n=o,r=e();if(d[n(601,"Drey")](s,6)){const o={};o[n(395,"O9%l")]=null,o.gamePhase=n(350,"BxRk"),d[n(410,"(aZc")](W,o),d[n(458,"(aZc")](setTimeout,()=>e()[n(595,"(nsx")](t),SNL_GAME_CONFIG[n(548,"2gYK")])}else{const o=d[n(553,"XV0A")](r[n(389,")bIp")],1)%r.players[n(511,"3%&X")],i={};i[n(598,"C@7u")]=o,i[n(583,"3KuW")]=null,i.gamePhase=r[n(404,"X&$M")][o]?.[n(628,"Mg@9")]?"ai_turn":d[n(460,"s1Vb")],i[n(427,"ViR6")]=0,W(i),e()[n(529,"Jm&v")][o]?.[n(434,"O9%l")]&&d[n(422,"v$l3")](setTimeout,()=>e()[n(546,"2gYK")](t),SNL_GAME_CONFIG.AI_DELAY)}},400)},SNL_GAME_CONFIG[a(516,"LsEX")]+100);else{const o=i[a(554,")bIp")](calculateScore,p[0],p),d={};if(d.playerScore=o,i[a(616,"LsEX")](W,d),i.akdjD(isGameFinished,p)){const e=getWinner(p);return W({isGameOver:!0,isWin:i.pCjsd(e?.id,"player"),isPlaying:!1,gamePhase:"game_over"}),void(i[a(518,"ViR6")](e?.id,a(368,"(WkJ"))?(playSound(GAME_SOUNDS[a(386,n)][a(402,"v$l3")],t.enableSounds),playHaptic(HapticType[a(481,"X&$M")],t[a(416,"*VON")])):(playSound(GAME_SOUNDS[a(305,"H$1%")][a(320,"Mg@9")],t[a(614,"#uTu")]),playHaptic(HapticType[a(433,"s1Vb")],t[a(374,"WJiL")])))}setTimeout(()=>{const n=a,o=i.euthH(e);if(i[n(375,"YE@2")](s,6)){const o={diceValue:null};o[n(448,"#uTu")]=n(299,"Z1XO"),i[n(424,"E!FN")](W,o),i.wcmOm(setTimeout,()=>e()[n(565,"XV0A")](t),SNL_GAME_CONFIG[n(415,u)])}else{const d=i[n(312,"LPQf")](o[n(623,"X&$M")]+1,o[n(567,"j*gk")][n(574,"m49X")]),r={};r[n(389,")bIp")]=d,r[n(547,"v$l3")]=null,r[n(619,"YE@2")]=o[n(318,"C@7u")][d]?.[n(400,"(nsx")]?n(465,")]mh"):n(509,"HmY1"),r.consecutiveSixes=0,W(r),e()[n(541,")]mh")][d]?.[n(482,u)]&&i.aLNKS(setTimeout,()=>e().makeAITurn(t),SNL_GAME_CONFIG[n(472,"l7jN")])}},400)}}else _0x167a82(()=>_0x45027e()[a(496,"*VON")](_0x57f6b6),_0xbd044[a(315,"tPDH")])},800)}})));export const useIsPlaying=()=>useSnakesAndLaddersStore(_temp);export const useIsGameOver=()=>useSnakesAndLaddersStore(_temp2);function _0x445b(W,e){W-=290;const t=_0x5beb();let n=t[W];if(void 0===_0x445b.ePpaEL){const W=function(W,e){let t,n,o=[],d=0,r="";for(W=function(W){let e="",t="";for(let t,n,o=0,d=0;n=W.charAt(d++);~n&&(t=o%4?64*t+n:n,o++%4)?e+=String.fromCharCode(255&t>>(-2*o&6)):0)n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(n);for(let W=0,n=e.length;W<n;W++)t+="%"+("00"+e.charCodeAt(W).toString(16)).slice(-2);return decodeURIComponent(t)}(W),n=0;n<256;n++)o[n]=n;for(n=0;n<256;n++)d=(d+o[n]+e.charCodeAt(n%e.length))%256,t=o[n],o[n]=o[d],o[d]=t;n=0,d=0;for(let e=0;e<W.length;e++)n=(n+1)%256,d=(d+o[n])%256,t=o[n],o[n]=o[d],o[d]=t,r+=String.fromCharCode(W.charCodeAt(e)^o[(o[n]+o[d])%256]);return r};_0x445b.ihNnrf=W,_0x445b.tvlaLJ={},_0x445b.ePpaEL=!0}const o=t[0];_0x445b.ISBVzF!==o&&(_0x445b.tvlaLJ={},_0x445b.ISBVzF=o);const d=_0x445b.tvlaLJ[W];return void 0===d?(void 0===_0x445b.wBUXct&&(_0x445b.wBUXct=!0),n=_0x445b.ihNnrf(n,e),_0x445b.tvlaLJ[W]=n):n=d,n}function _0x5beb(){const W=["WOXJeSkRWP7dRwCJhSkWsCopW4CVlc4ziW","vxPPWRZdVG","aIfTW5/dN2FcI3ewW7FcOsiFuSoFW5OtWPm","vcTOW5RcOCoqamkUlZddNCoxvW","WQ1pW4ldLfqJW47cMSoYxbu","e2xdJmkfDqNdJsdcUa","WODYW5yrWQq","fmkGdCo0nJZcPW","WOldSraB","WO3cLSkur0W","W7NdOHeirW","C29QWOXxWQuMW5GYW7pcVuFdHmo0iCoNW5L8","W6y0A8o2uCowWO/cP8oNxSoAvmk/W73cNb7dRwi","x8oOWOyChutcKGTI","qCkZAqarWPzcW4tcK2C","W5tdN17dIWq","h8kdAIKJWPrA","WRdcHCkUWO5OW7SZ","CSodAmknoq","w8o0WQavkLJcIrzSsCkg","WQXlWQfdWOlcM8kDW7ldON8bW6m","WR/cPvZcQvldG8ku","emk8W48Wa8k4xSowjCk6","W6JdVqObza","WQ3cLSkCW6xdPq","WPFcP8kdq14qW6VdHmkNpCkeW7ZcO2TJD209","kLSDWQFdLCk2","kSo9WPW","Eg1MWPvh","W4VdNdKmvW","Ar/cImkLiW","WOBdRrCdWRG","bmkCW4xdUtG","W6GxW7uDW5ldGCk2","FsJcKSkLes5wfCoObqaIhSoECuW8WOW","tXf+W5nlwrW","cN83WOtdPmkm","WQvfxHT8WPe","eLBcMCkidG9XWQLV","xSo/pwq","amkOW69asqZdIcDZDmk4W7tcSq","iqnnW63dV0BcPW","WOTqWRL0fZGSzh8GW47cMSoaW77cQfxcMIe","W4uws8oeCCo3WQm","iapcGdldSG","WQn0W5GWWR0","BJlcK8k+acLnkW","mvBdS8kVDW","C3LqWPxdUq","W5/dLxpdLq","W6OuW7GiW57dNCkI","W7FcNXddIG","W4tdIv7dSbJdNCkE","WQnTWRDyoWKQxvqn","W7irWOxcIdnYWOZcI8oPuJnVBG","iCkLW4ZdLsZcR8oX","W7hdOmo9BbZdJCkosq","pWDEW57dNq","W405W7eDDqy","WPJcGfxcPKu","CYxdVSoMlM0","WQP9WQWP","WRVcUve","W5fwWQ3dPx7cHmklfmkyhc3cNtddPmo9sWal","B8oFvmkboq","WR16WRnTlG","wbbZW51ouJpcPv7dJ8opjCo3","WRhcPqVdNqFdVs4","W5dcSwZdPMC","WQ9bmSkzWR7dJeS","WRlcHSkJWPTKW6CN","WQ7dHrtcIaFcQfldQCoDxeS","WPNcS8kAvhO3W4VdOCk5mG","WOhcLZRcNsFcSrrjpq","WRxcM8kUDx4YW57dJq","WQ/dP8kHW4CS","BJhcGCkUetjXjSoRfHW","B8oFuCkho8kSaCofW4e","wmkiraiJ","FCoCWOJcJCkc","zmkOpNGP","W7ytWOZcGZTYW7dcKmo1wdjP","WOZdHmkJW4asW68GDw8jW5irW6S","bfdcLSkbmqb6","W6ZdOd4WCG","WPfbWQeS","reHiWQjeWPCvW6Wz","rSokWQy0nG","WRfeWOvTfhlcHCkYvCk3DSkbW5G","yIddGmoRpM0w","xGTGW41hwq/cLeldMSoFi8o2W71fWOHAWPS","ySokWORcKSkXvSoTl8kRWQS","h0ZcRCkenG","WRbmW5xdIgC0W48","WQPicCkvWQG","WO7cLHJcGcOZW7tdKSkW","WRZdIX8","WR5OW6q8WR0","W7vIWPldKKtcPCkPaCkM","W6pdP8oJyXZdKSkquCoNWOBdHSkFD8oUymkmWRpcMG","gghdJ8khuqK","W5ldGbSMqdSjWOe8","W4ldIvNdUr8","WR9qWPG/FW","wH9/W5PYxXRcT0S","WQBcQaFdGtldPZZdNXi","nmkNW4ZdJIxcUmorBd0qW5GV","W5FdImoptqBdRSk5DCoB","W6FdOmobEq4","W7ZcNu7dLwJcP1/dQ8or","W4dcUWuv","AJRdJ8oZkMyrCSk5","kCoqWQTPW4a","WQn0W4KWWR3dKqucmrO","WQFcO8k8W5RdVJiWW5HF","W53dVSo6W4BdVCk3WQm","W47cQsK5a8oPgmkkW5y","lSkiW6Cwb8kIwq","WO7dRdaWWPe8amo+A8kCWQ7dGW","oSk/W5Wpbq","W6D1WRFdVe0","W59cWRtdSLRcO8kRmCkgeW","emkYW5iWfmkuEmoqpSk7WPC","WQxcSJVcOGeu","vmo5dL/dP8omiCkcWP/cPmktr8o6W74+wmk4W40","axS0WOBdGmkmuCk/oa","BJhcGCkUetjr","iHLfW4BdIq","lSoVWQTfW53cTLKyEry","ufDPWR7dNJj0","W4NcPr8","nCo9A8kKjmklja","W4hdT8o1W5JdRmkT","uSoYWRuvkLZcLXbG","zmocpwBdH8oXcSktWR3cGCk1BSojW7muECkpW6y","WOjBWRfVdW","W4BdIuhdTqxdMSkwW5O","jWNcKq7dNmkkW7G/aq","jmoPWP5wW5xcVwi+Cavqtem6W6bwW4mN","WOHPBZHnWRu2WPO","WQZcUttcPXKzW7hdUmkxW4S7WO4","WQpcImkOWQzC","WQT1WPrteG","BIJdTmo6cLySACkSW64","rCkNqCoJ","B8kjESodW5lcRwO4wq","WRdcUsJcQXm","qSkql3CPDSkGWOWAd8o5W7BdON3cGSkeWO1L","nvqyWQJdLCk3B8kneXxdISo4x8kvoSk3W7DJ","jmkapmoffGhcGmkXl3JdJCkfrKCLwmkJW6m","W7VcHWGq","W4tcPZi5bCoKc8kkW5OlWQ8","WPlcHYVdRYFdNaldRtKbW5PpW4TAB8oNiSoa","EtXHW6vr","W6KpW7qD","W6usW5q2tc7dPSksEmk4wmkk","WPVdRJaRWPGR","W4KaWQS1BrOcW7a","nafnW7BdTLhcNfeOW4FcLW0T","WQjgAJT4","D3PAWONdSG5a","imkkW5tdIcu","kXtcOGpdNmkdW4i+e8kQxCkv","W6ZcM0BdLva","obXRW7xdT1hcM0y9W4e","W4ZcPIu+p8oKkSkwW4ykWQxdRW","WPVcHCkgW6ddOW","v8oYWOKecu/cLq","WQddGmkiWO4FtgdcIL0","WQBdTWGAWOO","D8osWOK0oxhcUJW","omk6W6ZdPq","pbxcRW3dMCkiW7y","jxhcU8kMht1cWP1eWPZdOmo9W5eXcCknW5ft","W6JcHG0reSovmmk2W707WOxdIq0wneSjWOi","W4/cRgpdQM8","WOBdKHGdWQ8","WQ9PW647WR/dNt4ljaP4W5ZcPW","WRJdJbazWRGkdmoqumk2WPxdVe0FiSoziLe","WOlcKCkQW7hdLWW","W7RdQYOYzW","jWNcLaJdNG","quH0WRnNWOqx","BCkBxsevWPnxW6G","W6mtW5SNrsJdGmkjzmkGwCkQW4LPxK0","W5TqWO/dU3RcK8kwkSkt","r8oGhvtdP8oqjG","W4tdHSojttC","W4C9W7GrFWtdO8k4xW","WOJcMxZcJ0hdSCkRomkw","W7qtW54XtG","W4RcVtyUnSoVdCkPW58fWRJdUs0EdMyJWRq","W7pcGYFdQSoCja","W4jpWR7dRN7cMmkm","WQDOW7KWWR3dNW","EtZcJCkYjcHdnSoH","WQVcSadcSqq","oCkAW5JdJ8ojCCoylCkWWOVdSW","WRdcHCkUWO5OW7StmCo3smom","WO3cGc3dRdy","t8kNCbC1WRfIW6hcJwHoW7pdVbXOB2pdVa","W6yFW5SKAG","W7CzW6K","WPNcVCkhvg0BW63dP8kIm8kt","W7KxW7CcW57dJmkKW7/dPwiTW5xdOZ4tW6y","WQvoW5xdK24JW7tcImoRrXjVva","WPVdRJaRWPGRia","s8kZBWaaWRD3W4lcHa","vbz+W4Tm","W53cTMu7WPSRjmofFa","WQbtybbPWOaEWQ3dHq","l2ZdLSkdoWHZmmoY","e1hcM8kpnaToWRn/WRBdM8oc","WRNdN8k5WPSBr3O","WRrpW5/dLgW","WQD/WOa","W7VcGJddOCoEjSoDrCkfpHWWW48","WOtdHCk0W4COW68Az3ysW5u","WO3cMudcNMldOSkP","WQtdKSkO","WRXcpCktWR7dNu0woCkcC8oqW68tdrG","WQnTWRfW","tmoSWPibdCk5w8owiq","WR1zpCkjWOO","frLRW6ldJW","WQNcMSkDWPHHW6uPpmo/","a3q4WOhdVmkby8kJkd/dSCoh","BCkgDSoeW67cOemQtmkTaXJcUG","jWNcKW3dKCkFW7G/aq","W5/dLwxdTr8","W5JdHJK4rcWuWR83WPxcSWiIWPSIvCkhW70","W5pdImofEqG","W73cJtBdKSoJ","WQtcTJ7cOdq1W7BdOSkqW4S","WPNdHSkJW5SBW7G7D3apW54","ubfKW5P0uGNcT0FdLmoi","WOHEWOeCxtK","EZpcGCk1gcvQjmo0ebaKhW","W5tdIgFdRWy","vCoUWQqcgvpcJZvPr8krW5JcKCkPW6L/FbK","WR7cVmkpW4ZdTYWQ","j8kYW40Fga","WO7dRdaWWPe8g8oWBSkgWQpdK38","F8kmvmoYW7O","WQFcO8kPW5tdVZSwW4bDbW","zcJdSSo6g3CzB8k7","WQdcPbpcRbSvW5hdV8khW4e","W5vcWRldSKVcGSkEn8kr","W5pcTMfIW4upg8oaB8k7WOq","WQhcPCkAW5RdMG","vCo6WReHlq","W7WTW4Kjy11wAuCTW5RcHSoa","kCoQxGXuC8k3WPWLaSoO","W7L/pSkDfColeq","vfH6WRVdKI9SWO81wNVcUgOJgmoLWR3dKW","WQXfW5RdLNyU","WOXPW7pdUvy","CSkRhe4js8klWP04kSoFW5/dKxdcQmkLWRPo","oCoAxmo2W5FcLfij","krVcRGtdOmkoW7aIaW","zhrxWRhdVG","yCkBr8okW6pcVgiLwW","BqRcGSkhmG","WQRcUCknW5ddHd81W4nD","W5NdVCoWW5RdTG","DZBcJSkyja","rSo3WRCjgu/cIa","obX8W7JdU03cVv4/","W5TqWP7dNG","WPP0W4OOWRq","WRlcTXC","bmkoW5ZdVYS","n8kzl8oofH3cHW","W7RcHtldPSoKiSo5uCkq","WPT0WPi1tW","W5JcNCo3WPvnWRHAiKuRW5OyW5xcHW","zCovWPC7ow7cPcrlySk3W7hcOSkKW4nEsZi","k8oFWQDZW4C","chu+WPpdHa","A8kDzCouW6FcQ38Bumk4eX7cU8oQWQNdLCkbqq","W5pdIM3cKrFcOG9OoG","W7mlW4SEW5FdG8k4W6xdQW","W7pcGYFdPSoKjSoNv8kCjrS","WQRdIW4wWRGveSoi","gmkZW4u3lSkuqSocj8kGWPddIfC","W4NdJYygwSoGyf3cPG","WRhcPHNdJrBdPJldGG","W7JdSGuEFG8VWRKE","W7L8lmknbmoqdqO","uSoIhu/dRSohhCkZWOpcSCkdqCo7","WRFcPZlcSt8","gY/cQZtdGq","W7ymumofDq","W4BdILpdPrtdGCkk","W5/dLxxdVrZdLSk2W4lcU1S","lrxcRrldLCkfW6qLd8kYxmk1WRpcPb4u","W5pdIfpdVH3dLSkQW5VcQ0FcIY8","WOVcKxlcJ0FdUmkMpSkw","bJ/cGJFdQq","zgnjWOldSHjhWP4xF13cKvKUmSoeWORdUa","hSkOW5yNj8kFFSoZo8k1WOddJLBcOSo+WPJcTu0","WQhdR8kdW7qN","WQFcO8kVW7W","DxLxWPZdVHju","d2KyWQO","WQxcH8kUWPvHW6WtpCoTvmonDq","W6mjW4CMrsxdGCkTyCk3rCkCW5jyvvO6aa","W6xdR2O","WRddHCkxW4SX","W5zkWRZdSK3cI8ktmCkr","W59mWQNdSK3cJ8knn8kDeJO","eNuYWOBdVG","DSoaySkrmSkYo8oiW4NdUCkl","WPJdOSkUW7aV","aSkCW67dRWZcJSor","W53dGcOiqmo8AvNcUMpcMXBdSmosa1JcRqO","WQ7cTJJcOcuuW4pdPmkh","DmkWd14aqmkSWQiHjCocW4K","W4iTW68wrG","D8onWQ7cVSkz","ASofWOdcLCkCESoQnCkSWQVdLwq","aJpcHcNdPa","WRzEfCkjWRxdL0SknCkq","omk6W6RdJstcUmonDs0m","i8kClCosjq7cMmkujG","W5pdHSomwZZdOSk6zmoaWRtdVmkax8osqCk6","nemYWQRdNG","W6JcMeZdIvVcTea","WPddJmkmW60n","uCo6WRSvi1lcJqb3","lq/cSrpdLCkiW6ubcSkLqmkdWQJcLrudW71U","WP7cLCkGW7tdNGOa","WP1gWR5JbW","WQdcOdxdKbFdVtm","oGL2W5pdQG","zCozCCkAmSkUhmo7W4RdQSkxWPeHW7bNt8ouW5C","CsBdS8oZiNeF","zCkXbvKc","W6qvW5yXDIRdMCkiAa","y8ocySkko8kLimokW5BdV8khWPCG","WP5KdmkKWP7dSNK7","W4a8W688W7a"];return(_0x5beb=function(){return W})()}export const useIsWin=()=>useSnakesAndLaddersStore(_temp3);export const usePlayers=()=>useSnakesAndLaddersStore(_temp4);export const useCurrentPlayerIndex=()=>({bylWu:function(W,e){return W(e)}}[_0x5548c2(489,"9]xP")](useSnakesAndLaddersStore,_temp5));export const useDiceValue=()=>useSnakesAndLaddersStore(_temp6);export const useIsRolling=()=>useSnakesAndLaddersStore(_temp7);export const useGamePhase=()=>useSnakesAndLaddersStore(_temp8);export const usePlayerScore=()=>useSnakesAndLaddersStore(_temp9);export const useMoveVersion=()=>useSnakesAndLaddersStore(_temp0);function _temp(W){return W[_0x5548c2(342,"3%&X")]}function _temp2(W){return W.isGameOver}function _temp3(W){return W[_0x5548c2(538,"&uOG")]}function _temp4(W){return W[_0x5548c2(517,"E!FN")]}function _temp5(W){return W[_0x5548c2(564,"HmY1")]}function _temp6(W){return W.diceValue}function _temp7(W){return W[_0x5548c2(611,"ViR6")]}function _temp8(W){return W[_0x5548c2(391,"ViR6")]}function _temp9(W){return W.playerScore}function _temp0(W){return W[_0x5548c2(335,"2gYK")]}
@@ -1 +0,0 @@
1
- "use strict";const _0x1d880e=_0x5a36;!function(){const e=_0x5a36,t=_0x2f88();for(;;)try{if(789372==parseInt(e(384,"%YA8"))/1+parseInt(e(397,"4C#J"))/2*(parseInt(e(326,"D62U"))/3)+-parseInt(e(285,"xvl&"))/4*(-parseInt(e(341,"zDg%"))/5)+-parseInt(e(371,"qXkd"))/6*(parseInt(e(355,"m5A!"))/7)+-parseInt(e(260,"iZ[I"))/8*(-parseInt(e(348,"$$Qw"))/9)+-parseInt(e(345,"H3]v"))/10+parseInt(e(269,"H3]v"))/11*(-parseInt(e(305,"RsLh"))/12))break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import _0x4405f4,{useEffect,useCallback,useRef}from"react";import{View,StyleSheet,Pressable}from"react-native";import{Canvas,RoundedRect,Circle}from"@shopify/react-native-skia";import _0x1a7ba1,{useSharedValue,useAnimatedStyle,withSequence,withTiming,withSpring,Easing,useDerivedValue}from"react-native-reanimated";import{useSnakesAndLaddersStore}from"../SnakesAndLaddersStore.js";import{setGameInterval,clearGameInterval}from"../../../helpers/GameTimer.js";import{jsx as _0x3ccb47,jsxs as _0x5f40ee}from"react/jsx-runtime";const DICE_SIZE=60,DOT_RADIUS=5,_0x4d1bc7={cx:30,cy:30},_0x42d83e={cx:15,cy:15},_0x5e3dba={cx:45,cy:45},_0x51e452={cx:15,cy:15},_0x26a7ed={cx:30,cy:30},_0x345d71={cx:45,cy:45},_0x58560e={cx:15,cy:15},_0x366575={cx:45,cy:15},_0x3ef9c1={cx:15,cy:45},_0x1222fa={cx:45,cy:45},_0x4e37f4={cx:15,cy:15},_0x19fae3={cx:45,cy:15},_0x4fd397={cx:30,cy:30},_0x5786c0={cx:15,cy:45},_0x575940={cx:45,cy:45},_0x14f643={cx:15,cy:15},_0x1aefc0={cx:45,cy:15},_0x35737d={cx:15,cy:30},_0x14dfbf={cx:45,cy:30},_0x5698e0={cx:15,cy:45},_0x3ae344={cx:45,cy:45},_0x51a0c7={};_0x51a0c7[1]=[_0x4d1bc7],_0x51a0c7[2]=[_0x42d83e,_0x5e3dba],_0x51a0c7[3]=[_0x51e452,_0x26a7ed,_0x345d71],_0x51a0c7[4]=[_0x58560e,_0x366575,_0x3ef9c1,_0x1222fa],_0x51a0c7[5]=[_0x4e37f4,_0x19fae3,_0x4fd397,_0x5786c0,_0x575940],_0x51a0c7[6]=[_0x14f643,_0x1aefc0,_0x35737d,_0x14dfbf,_0x5698e0,_0x3ae344];const DOT_COORDS=_0x51a0c7,useDiceValue=()=>useSnakesAndLaddersStore(_temp),useIsRolling=()=>({ENbuY:function(e,t){return e(t)}}[_0x5a36(391,"%hg6")](useSnakesAndLaddersStore,_temp2)),useCanRoll=()=>({GXwgT:function(e,t){return e(t)}}[_0x5a36(352,"xE5W")](useSnakesAndLaddersStore,_temp3));export const Dice=_0x4405f4[_0x1d880e(375,"(4T[")](({settings:e})=>{const t="Wbs!",n="m5A!",i="pmXn",a="@FRf",d=_0x1d880e,o={xgIWD:function(e,t){return e>=t},KISEq:function(e,t,n){return e(t,n)},WSFJx:function(e,t,n){return e(t,n)},FrVBL:function(e,t,n){return e(t,n)},mJhkt:function(e,t){return e(t)},xnEms:function(e,t){return e(t)},zEsqs:function(e,t){return e(t)},GdEOc:function(e,t){return e(t)},WTgvX:function(e,t){return e(t)},IvWhq:function(e,t){return e(t)},djVPx:function(e,t){return e(t)},Gzpvg:function(e,t,n){return e(t,n)},MKTSJ:d(275,")9pi"),QEQRQ:"#212121"},r=useDiceValue(),W=useIsRolling(),x=useCanRoll(),s=useSnakesAndLaddersStore(e=>e[d(295,"[SR%")]),u=useRef(e);u[d(316,"Z1m!")]=e;const _=o.mJhkt(useSharedValue,0),m=o[d(380,")9pi")](useSharedValue,1),l=o[d(324,"PnZ9")](useSharedValue,0),S=o[d(320,"RsLh")](useSharedValue,0),h=o.WTgvX(useSharedValue,1);useEffect(()=>{if(!W)return;let e=0;const t=o.KISEq(setGameInterval,()=>{const n=_0x5a36;h[n(300,"il&i")]=Math.floor(6*Math.random())+1,e++,o[n(343,"dm*o")](e,10)&&clearGameInterval(t)},50);return()=>clearGameInterval(t)},[W,h]);const f=useDerivedValue(()=>W?h[d(266,"8ORD")]:null!==r?r:1,[W,r]),O=o[d(364,"F9qo")](useDerivedValue,()=>(DOT_COORDS[f[d(288,"pmXn")]]?.[d(381,"dm*o")]??0)>0?1:0),k=useDerivedValue(()=>(DOT_COORDS[f.value]?.[d(395,"r4lR")]??0)>1?1:0),C=o[d(293,"zDg%")](useDerivedValue,()=>(DOT_COORDS[f[d(368,"xE5W")]]?.[d(336,"UP8G")]??0)>2?1:0),g=o[d(388,"%YA8")](useDerivedValue,()=>(DOT_COORDS[f.value]?.[d(284,"9wyV")]??0)>3?1:0),R=useDerivedValue(()=>(DOT_COORDS[f[d(272,"(4T[")]]?.length??0)>4?1:0),y=useDerivedValue(()=>(DOT_COORDS[f[d(386,"FM^6")]]?.[d(314,"e]q]")]??0)>5?1:0),D=useDerivedValue(()=>DOT_COORDS[f[d(394,"RsLh")]]?.[0]?.cx??0),p=useDerivedValue(()=>DOT_COORDS[f[d(277,"BcVi")]]?.[0]?.cy??0),v=useDerivedValue(()=>DOT_COORDS[f[d(318,"%YA8")]]?.[1]?.cx??0),T=o.djVPx(useDerivedValue,()=>DOT_COORDS[f[d(317,")9pi")]]?.[1]?.cy??0),w=o[d(294,"bzn5")](useDerivedValue,()=>DOT_COORDS[f[d(308,"9wyV")]]?.[2]?.cx??0),V=o[d(309,"PnZ9")](useDerivedValue,()=>DOT_COORDS[f[d(386,"FM^6")]]?.[2]?.cy??0),b=useDerivedValue(()=>DOT_COORDS[f[d(300,"il&i")]]?.[3]?.cx??0),G=o[d(325,"m5A!")](useDerivedValue,()=>DOT_COORDS[f.value]?.[3]?.cy??0),P=useDerivedValue(()=>DOT_COORDS[f[d(280,"gQhe")]]?.[4]?.cx??0),q=useDerivedValue(()=>DOT_COORDS[f[d(368,"xE5W")]]?.[4]?.cy??0),J=o[d(297,"2Jtb")](useDerivedValue,()=>DOT_COORDS[f.value]?.[5]?.cx??0),Q=useDerivedValue(()=>DOT_COORDS[f[d(385,"4C#J")]]?.[5]?.cy??0),I=useCallback(()=>{const e=d,t={};t[e(292,"il&i")]=60;const r={};r[e(322,n)]=60;const W={};W[e(362,"$&1x")]=50;const x={};x[e(358,"zSny")]=12,x[e(315,i)]=300,l[e(329,"Ba$p")]=withSequence(withTiming(-20,{duration:80,easing:Easing[e(390,n)](Easing[e(373,a)])}),withTiming(-35,{duration:80,easing:Easing[e(366,"pmXn")](Easing[e(383,"Qhm8")])}),withTiming(-15,t),withTiming(-25,r),withTiming(-8,W),withSpring(0,x));const h={};h[e(281,"UP8G")]=40;const f={};f[e(298,"TJKe")]=40;const O={};O[e(267,"Wbs!")]=40;const k={};k[e(337,"zSny")]=40;const C={};C[e(339,"xE5W")]=15,C[e(323,"UP8G")]=400,S[e(334,"%hg6")]=withSequence(withTiming(8,h),withTiming(-10,f),withTiming(12,O),withTiming(-8,k),withTiming(6,{duration:40}),o[e(365,"qXkd")](withTiming,-5,{duration:40}),withTiming(3,{duration:40}),withSpring(0,C));const g={damping:20};g[e(349,"@FRf")]=200;const R={};R[e(387,"(4T[")]=0,_[e(331,"r4lR")]=withSequence(o[e(321,"bzn5")](withTiming,180,{duration:80,easing:Easing.in(Easing[e(351,i)])}),o[e(306,"UP8G")](withTiming,450,{duration:100,easing:Easing[e(301,"8ORD")]}),o[e(286,"D62U")](withTiming,720,{duration:100,easing:Easing[e(268,a)]}),withTiming(900,{duration:80,easing:Easing[e(399,"BcVi")](Easing[e(291,"PkWp")])}),withTiming(1080,{duration:60,easing:Easing[e(366,"pmXn")](Easing[e(335,"Z1m!")])}),withSpring(1080,g),withTiming(0,R));const y={};y[e(346,"[SR%")]=80;const D={};D[e(290,"Z1m!")]=80;const p={};p[e(401,"$$Qw")]=60;const v={};v[e(304,"8ORD")]=10,v[e(327,"BcVi")]=300,m[e(389,"4N$&")]=withSequence(withTiming(1.2,y),o[e(354,"UOHw")](withTiming,.9,D),withTiming(1.15,{duration:80}),withTiming(.95,{duration:80}),withTiming(1.08,p),withSpring(1,v)),o[e(311,"8ORD")](s,u.current)},[s,l,S,_,m]),E={};E[d(347,"(4T[")]=l[d(368,"xE5W")];const K={};K[d(396,"UP8G")]=S[d(270,"PkWp")];const H={};H.rotate=_[d(359,t)]+d(302,"(4T[");const L={};L[d(382,"iZ[I")]=m.value;const A=useAnimatedStyle(()=>({transform:[E,K,H,L]})),B={x:0,y:0};return B[d(287,t)]=60,B[d(299,"%YA8")]=60,B.r=10,B[d(344,"FM^6")]=d(332,"^WJ6"),_0x3ccb47(View,{style:styles.container,children:o[d(353,")9pi")](_0x3ccb47,Pressable,{onPress:x?I:void 0,style:styles[d(361,"eGU!")],children:_0x3ccb47(_0x1a7ba1[d(273,"iZ[I")],{style:[styles[d(328,"gQhe")],A],children:_0x3ccb47(View,{style:styles[d(340,"ejKo")],pointerEvents:d(263,"UP8G"),children:_0x5f40ee(Canvas,{style:StyleSheet[d(372,"Z1m!")],children:[_0x3ccb47(RoundedRect,B),_0x3ccb47(RoundedRect,{x:0,y:0,width:60,height:60,r:10,color:d(379,"e]q]"),style:o[d(279,"%hg6")],strokeWidth:2.5}),_0x3ccb47(Circle,{cx:D,cy:p,r:5,color:o.QEQRQ,opacity:O}),_0x3ccb47(Circle,{cx:v,cy:T,r:5,color:d(283,"zSny"),opacity:k}),_0x3ccb47(Circle,{cx:w,cy:V,r:5,color:d(333,"4C#J"),opacity:C}),_0x3ccb47(Circle,{cx:b,cy:G,r:5,color:o[d(356,"PnZ9")],opacity:g}),_0x3ccb47(Circle,{cx:P,cy:q,r:5,color:o[d(378,"gQhe")],opacity:R}),_0x3ccb47(Circle,{cx:J,cy:Q,r:5,color:d(283,"zSny"),opacity:y})]})})})})})});const _0xa4c21e={};_0xa4c21e.alignItems=_0x1d880e(393,"BcVi"),_0xa4c21e[_0x1d880e(367,"$$Qw")]=20;const _0x1a2e36={};function _0x5a36(e,t){e-=260;const n=_0x2f88();let i=n[e];if(void 0===_0x5a36.KvYzSa){const e=function(e,t){let n,i,a=[],d=0,o="";for(e=function(e){let t="",n="";for(let n,i,a=0,d=0;i=e.charAt(d++);~i&&(n=a%4?64*n+i:i,a++%4)?t+=String.fromCharCode(255&n>>(-2*a&6)):0)i="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(i);for(let e=0,i=t.length;e<i;e++)n+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(n)}(e),i=0;i<256;i++)a[i]=i;for(i=0;i<256;i++)d=(d+a[i]+t.charCodeAt(i%t.length))%256,n=a[i],a[i]=a[d],a[d]=n;i=0,d=0;for(let t=0;t<e.length;t++)i=(i+1)%256,d=(d+a[i])%256,n=a[i],a[i]=a[d],a[d]=n,o+=String.fromCharCode(e.charCodeAt(t)^a[(a[i]+a[d])%256]);return o};_0x5a36.bwqFcy=e,_0x5a36.pzKtXI={},_0x5a36.KvYzSa=!0}const a=n[0];_0x5a36.xXmnmw!==a&&(_0x5a36.pzKtXI={},_0x5a36.xXmnmw=a);const d=_0x5a36.pzKtXI[e];return void 0===d?(void 0===_0x5a36.cSBsqq&&(_0x5a36.cSBsqq=!0),i=_0x5a36.bwqFcy(i,t),_0x5a36.pzKtXI[e]=i):i=d,i}_0x1a2e36[_0x1d880e(312,"Xws&")]=10;const _0x82cd13={};_0x82cd13[_0x1d880e(296,"[SR%")]=0,_0x82cd13.height=4;const _0xd1fa00={};_0xd1fa00[_0x1d880e(392,"H3]v")]=_0x1d880e(313,"^WJ6"),_0xd1fa00[_0x1d880e(398,"4C#J")]=_0x82cd13,_0xd1fa00[_0x1d880e(274,"Qhm8")]=.35,_0xd1fa00[_0x1d880e(370,"Wbs!")]=6,_0xd1fa00.elevation=10;const _0x5cde41={};_0x5cde41[_0x1d880e(265,"$&1x")]=60,_0x5cde41[_0x1d880e(360,"gQhe")]=60;const _0x35c2b5={};_0x35c2b5[_0x1d880e(282,"]DFt")]=_0xa4c21e,_0x35c2b5[_0x1d880e(310,"D62U")]=_0x1a2e36,_0x35c2b5[_0x1d880e(271,"PnZ9")]=_0xd1fa00,_0x35c2b5.dice=_0x5cde41;const styles=StyleSheet[_0x1d880e(342,"HApG")](_0x35c2b5);function _temp(e){return e[_0x1d880e(400,"Z1m!")]}function _temp2(e){return e[_0x1d880e(278,"pmXn")]}function _0x2f88(){const e=["WPe+g3nC","W6WBFCkag8o6","WQJcR8oZW4S7","W5OJWQdcVa","WQ3dIaqfbaZcHfZdUKvObM0","lc7dK8oddW","W5OUASkRWPe","qHldHmkdW73cGmkuW5C","W5xcJMjBra","DSosnxuW","WP3cJJa","WQK/Cq7dTq","h8kOygnzW4yzWOhcM8oHrq","Axzap1JdPa","WPddPLJcUby","FIaspLWI","xGpdK3PGr3xdOgFdVG","AhRcJ8kawmkJlCkcW5ZdICk+sG","ksFdNSosbCoMeCkuW7ddSmkWwW","zwzA","svJcTCkJjx1aW69r","WQdcUvhcSCkEnCoOW7C","sgP2dmkHsSk5hCkWB8oUFW","WO50xHxdSLHKEJTIWOrUW6ys","W6pcHmoBW6WzrCon","zCoodCoMnSovg8ku","WQpcKCkelCk0cmoW","rb7dNhe","qN7dOCotWOhdNSk9CG","kSk5WPdcUmo4","bqVdG3f5","WOf8W7JcP0ZcReS9","fmoku1rOsW","xSoWmdecWODPW5FcRCocESoAWQXU","Amk2W49BbW","jM1iW6xcPaXSs8kFmLG","uaBdMSkxW6W","WO3cPCo3W5a","W5G+WQdcVglcL8kXCJLtsmoBWQi","WPOKlhfeca","CZCBWRBdHK5lECkmg33cQW","FhjcpLG","gg91r8kBt03dMWi","WQe6rYJdPG","i2zKpmoU","tGtdGhvNqNVdUG","WQDDWRCXWQDZf1jL","vSkbW7v7W4yJWRK","W4FcQ8kCW4DhqG","WQRcSCobWPRcVCkXDW","uSo/W74WDG","WPjGW67cSLa","b31lxCks","W5HGBISzxCkdBrOexSkWCLa","sutcPmkNb3vdW7q","B8kIW4jk","WOiEq27cRmkWW6ldLa","nY3dJCoZWOy","WRzvj8o0W5C","W4qPW7NcTJa+WR8VcSoeWR3dGW/dIq","W4eVW7hcRHW","tKbsffa","WRxcI8kAimkPd8o4dq","W7tcNvXuxuK","WPakxxRcVq","hWpdGwf9WQ0","qGldKq","bCkZuwTxW4GZWOdcKa","fWVdGNr1WRhdKa","W5FcTxNcIZKYWQ3cJW","ytJdOvfI","tXtdT8kR","W53cR8kEW5vw","oMPUW63cGa","ymoIW50ruG/dOmkkWR0","hIddH29O","kCopyW5kW5VcKJ86W4NdM3K","WQTtqvW","rCoKWQHVWRNdRa","aMHotSkrtuhdHHy","tKtcPmk0fNjy","WP8XmMTk","W6RcMvLgua","ps7dKSotoSo5p8kbW7m","WQhdO3hcGHa","WPTdeSopW5W","WPBcJJBdVSoUW5KWeG","wqxdM3j1rxhdP3e","oefyW7hcGa","WRxcNWhdKmo5","jSk6W4eDxJBdOmkL","EwDhlvVdUmkBqc0","mw5RlmoCxwRdHmkacmkw","pJO6t3m","BCoOWQvT","zcqqle0","WQSLnYRdJmk0xG","Ex3cJSkew8kJBW","WPOqFW7dIq","tKtcTmkVea","rHtdNhnNqW","eCogWRyOWOn4W6Dy","WQZdTNdcVWm","WR3dUb81pLvq","uSoGW5C6","q3dcV8klW5BcSSoQybvrhmkohW","W582cKlcSGS","W7GzwSkWkW","W48GASkXWOy","x8oWmd8pWOvQWRZcNCo5q8oAWPC","W5iZW6FcUWa+WRmK","uHxdL8kmW7RcHCkAW40Cha","W7xdVbpdPCoCBmk3WQ8QAHtcL09p","c8oxvfDVv8oKWOfV","WOGjoMdcTGSc","agLgta","WP7dGquIaW","WQ4QlMHi","pc0qEmoF","W4hdJxddR8oBW54QoJC","e0f6W5lcOG","W57dJ33cHJqNWOC","eCosWQK5WP5/W68","WPnOW6BcS10","pwjHlSoJwW","imktnCodfmovcSkHWP4","oCkLWOBcRCoKW5RcJCkY","W6RdVmkJWPfVamkNC8ocdSkrcmk2","FIjyq8o8","iSkPW54iW4y","hMLt","WQNcRvhcT8kdmSotW7yS","WQ/dUb4WmG","j8k7WPWcEWddT8kGWOe","WPzHW6VcOLFcSNyYWQdcJbut","rmojWQH0WOVdGr4ksd9gjG","tfpcPCkPh2LyW79YxHFdSG","cCowxfu","WRRdRaa3mLvdWQCbFvpdPmoQWO0+WO/cHqy","sWldM8kn","eYWuvCo/fmkJa8kD","BSk7W4jxb2NdTG","bejzg8oA","cSkWWOC6W77cS1K"];return(_0x2f88=function(){return e})()}function _temp3(e){const t=_0x1d880e,n={};n[t(338,"RsLh")]=t(262,"TJKe");const i=n;return e[t(303,"H3]v")]&&!e[t(376,"UOHw")]&&e[t(319,"4C#J")]===i.JqDrp&&!e[t(377,"PkWp")][e[t(374,"xE5W")]]?.[t(307,"(4T[")]}Dice.displayName=_0x1d880e(330,"e]q]");
@@ -1 +0,0 @@
1
- "use strict";const _0x1d6431=_0x2dc1;!function(){const W=_0x2dc1,o=_0x458e();for(;;)try{if(607403==parseInt(W(217,"oxlh"))/1+parseInt(W(492,"r%b5"))/2+parseInt(W(262,"kzwg"))/3*(parseInt(W(325,"07tn"))/4)+-parseInt(W(538,"@0]F"))/5*(parseInt(W(442,"hvfx"))/6)+-parseInt(W(554,"hvfx"))/7*(parseInt(W(450,"#klo"))/8)+parseInt(W(354,"#klo"))/9+parseInt(W(525,"os&("))/10*(-parseInt(W(515,"LyyP"))/11))break;o.push(o.shift())}catch(W){o.push(o.shift())}}();import{c as _0x58052d}from"react/compiler-runtime";import _0x8c09bf,{useMemo}from"react";import{View,StyleSheet,Platform}from"react-native";import{Canvas,Circle,Skia,matchFont,LinearGradient,vec,Picture,createPicture}from"@shopify/react-native-skia";import{TOTAL_CELLS,CELL_SIZE,INNER_BOARD_DIMENSION,SNL_COLORS,SNAKES,LADDERS,CELL_POSITIONS,CELL_COLORS,SNAKE_HEAD_SET,LADDER_BASE_SET,TOKEN_RADIUS}from"../SnakesAndLaddersConstants.js";import{useSnakesAndLaddersStore}from"../SnakesAndLaddersStore.js";import{jsx as _0x40aa73,jsxs as _0x5116db}from"react/jsx-runtime";const BOARD_W=INNER_BOARD_DIMENSION,BOARD_H=INNER_BOARD_DIMENSION,_0x22839d={};_0x22839d[_0x1d6431(321,"^2St")]="Helvetica",_0x22839d[_0x1d6431(415,"$DB8")]=_0x1d6431(379,"xDKA");const FONT_FAMILY=Platform[_0x1d6431(402,"ntRD")](_0x22839d),CELL_FONT_SIZE=Math[_0x1d6431(387,"8%um")](.3*CELL_SIZE),_0x2040a1={};_0x2040a1[_0x1d6431(422,"XWak")]=FONT_FAMILY,_0x2040a1[_0x1d6431(498,"8%um")]=CELL_FONT_SIZE,_0x2040a1[_0x1d6431(344,"mIvc")]=_0x1d6431(353,"l%t*"),_0x2040a1.fontStyle=_0x1d6431(272,"Qsdn");const CELL_FONT=matchFont(_0x2040a1),boardPicture=createPicture(W=>{const o="r%b5",t="1O#h",n="4UM5",r="ntRD",d=_0x1d6431,a={};a[d(576,o)]=function(W,o){return W===o},a[d(355,"DEN)")]=function(W,o){return W===o},a[d(269,"(m8Z")]=function(W,o){return W===o},a.zFZtK=function(W,o){return W-o},a[d(265,t)]=function(W,o){return W+o},a[d(205,"nePr")]=function(W,o){return W*o};const e=a,S=Skia[d(351,"%%3C")]();S[d(380,")PZP")](Skia[d(421,"ZEL4")](SNL_COLORS[d(412,"LyyP")])),W[d(452,"mIvc")](Skia[d(543,"XZL]")](0,0,BOARD_W,BOARD_H),S);const k=Skia[d(560,"QYrv")]();k.setStyle(1),k.setStrokeWidth(.5);for(let a=1;a<=TOTAL_CELLS;a++){const C=CELL_POSITIONS[a],i=C.x,u=C.y,s=Skia[d(487,n)](i,u,CELL_SIZE,CELL_SIZE);S.setColor(Skia[d(535,"$DB8")](CELL_COLORS[a])),W.drawRect(s,S),1===a?(S[d(551,"2$DW")](Skia[d(503,"oxlh")](SNL_COLORS[d(239,"8%um")])),W[d(385,n)](s,S)):e[d(257,"Uvn&")](a,100)?(S[d(546,"6l82")](Skia.Color(SNL_COLORS[d(349,"nePr")])),W[d(207,o)](s,S)):SNAKE_HEAD_SET[d(465,"2bc[")](a)?(S[d(511,"LyyP")](Skia[d(421,"ZEL4")](SNL_COLORS[d(374,"bmUj")])),W[d(531,"PldT")](s,S)):LADDER_BASE_SET[d(240,"bmUj")](a)&&(S[d(464,"u3En")](Skia[d(201,"m&W@")](SNL_COLORS[d(225,"l%t*")])),W[d(388,"NIW2")](s,S)),k[d(474,"2@jo")](Skia[d(485,"XZL]")](SNL_COLORS[d(553,")PZP")])),W[d(463,t)](s,k);const x=a[d(259,"$DB8")](),_=CELL_FONT[d(360,r)](x)[d(273,"hvfx")],O=e[d(256,"%%3C")](a,1)||e[d(391,"os&(")](a,100)?SNL_COLORS.CELL_NUMBER_STAR:SNL_COLORS[d(298,"u3En")];S.setColor(Skia.Color(O)),W[d(443,r)](x,i+e[d(258,"iLR0")](CELL_SIZE,_)/2,e[d(246,"M[p2")](u,e.BOaEZ(CELL_SIZE,.32)),S,CELL_FONT)}},Skia[_0x1d6431(232,"bmUj")](0,0,BOARD_W,BOARD_H)),overlaysPicture=createPicture(W=>{const o="mIvc",t="LHyQ",n="M[p2",r="(m8Z",d="u3En",a="11r%",e="QYrv",S="m&W@",k="Qsdn",C="6l82",i="^2St",u="l%t*",s="kzwg",x="XWak",_="Uvn&",O=_0x1d6431,m={};m[O(213,"xDKA")]=function(W,o){return W+o},m[O(506,"M[p2")]=function(W,o){return W*o},m[O(235,o)]=O(547,"DEN)"),m[O(212,"kzwg")]=function(W,o){return W+o},m[O(340,"nePr")]=function(W,o){return W+o},m[O(339,"4c*W")]=function(W,o){return W-o},m[O(215,")PZP")]=function(W,o){return W-o},m[O(334,"2$DW")]=function(W,o){return W-o},m.LTdlQ=function(W,o){return W-o},m[O(475,"PldT")]=function(W,o){return W+o},m[O(219,"m&W@")]=function(W,o){return W+o},m[O(513,"u3En")]=function(W,o){return W+o},m[O(336,"m&W@")]=function(W,o){return W+o},m[O(522,"n^hK")]=O(369,"^2St"),m[O(323,")PZP")]=function(W,o){return W*o},m[O(328,"4c*W")]=function(W,o){return W+o},m[O(274,t)]=function(W,o){return W+o},m[O(433,"oxlh")]=function(W,o){return W/o},m[O(211,"XWak")]=function(W,o){return W*o},m.wSkYt=function(W,o){return W*o},m.YxTcU=function(W,o){return W+o},m[O(332,"WasX")]=function(W,o){return W+o},m[O(316,n)]=function(W,o){return W===o},m[O(504,"ntRD")]=function(W,o){return W%o},m[O(468,o)]=function(W,o){return W%o},m[O(333,"PldT")]=function(W,o){return W*o},m[O(396,"XZL]")]=function(W,o){return W+o},m[O(220,t)]=function(W,o){return W*o},m[O(461,"hC]u")]=function(W,o){return W+o},m.EnQWf=function(W,o){return W*o},m[O(289,"2@jo")]=function(W,o){return W*o},m.pKkHO=function(W,o){return W+o},m[O(447,"os&(")]=function(W,o){return W-o},m.pHIdh=O(562,"r%b5"),m.oxDQI=function(W,o){return W+o},m.cmNWh=function(W,o){return W*o},m[O(283,r)]=function(W,o){return W*o},m[O(539,"iLR0")]=function(W,o){return W*o},m[O(409,"hC]u")]=function(W,o){return W*o},m.IORob=function(W,o){return W+o},m[O(251,"hvfx")]=function(W,o){return W*o},m[O(496,")PZP")]=function(W,o){return W*o},m[O(288,n)]=function(W,o){return W*o};const R=m,L=Skia[O(403,"^2St")](),l=Skia[O(455,"xDKA")]();l[O(392,")PZP")](1),l[O(446,"iLR0")](1),l.setStrokeJoin(1);const f=R[O(352,"XWak")](CELL_SIZE,.07),P=R[O(556,"DEN)")](f,.4);LADDERS[O(541,"2@jo")](o=>{const t=O,n=CELL_POSITIONS[o[t(216,"@0]F")]],r=CELL_POSITIONS[o[t(420,"2bc[")]],d=n.cx,a=n.cy,e=r.cx,m=r.cy,L=e-d,h=m-a,N=Math[t(405,S)](R[t(373,"ZEL4")](R[t(413,"4UM5")](L,L),h*h)),E=Math[t(480,"oxlh")](h,L),D=.18*R[t(507,"kMHR")](-Math[t(368,"2@jo")](E),CELL_SIZE),I=Math[t(299,k)](E)*CELL_SIZE*.18;l[t(221,"l%t*")](Skia[t(266,")PZP")](R[t(242,"oxlh")])),l.setStrokeWidth(R.fEYWV(f,3)),W.drawLine(R[t(199,"r%b5")](d-D,1.5),R[t(417,k)](a-I,1.5),e-D+1.5,m-I+1.5,l),W[t(300,"2bc[")](R[t(203,S)](R[t(370,C)](d,D),1.5),a+I+1.5,e+D+1.5,R.DjbKm(m+I,1.5),l),l[t(520,i)](f+1),l.setColor(Skia.Color(o[t(234,"WasX")])),W[t(317,"XZL]")](R.xfBTl(d,D),a-I,R[t(512,"2bc[")](e,D),m-I,l),l[t(552,C)](f),l[t(517,"hvfx")](Skia[t(260,"r%b5")](o.highlight)),W.drawLine(d-D,a-I,e-D,R[t(401,"(m8Z")](m,I),l),l.setStrokeWidth(P),l[t(221,u)](Skia[t(535,"$DB8")](t(377,"n^hK"))),W[t(229,")PZP")](R[t(346,"mIvc")](R[t(361,"M[p2")](d,D),R[t(214,"6l82")](P,.3)),a-I,R[t(429,"1O#h")](R[t(200,"u3En")](e,D),.3*P),m-I,l),l[t(318,k)](f+1),l[t(210,"WasX")](Skia[t(322,"%%3C")](o[t(398,C)])),W[t(324,"11r%")](R.fWsHn(d,D),R[t(348,"PldT")](a,I),e+D,R[t(237,"07tn")](m,I),l),l[t(280,"M[p2")](f),l[t(540,"LHyQ")](Skia[t(231,"LyyP")](o[t(426,"(m8Z")])),W.drawLine(R[t(362,"LHyQ")](d,D),R.EGZyk(a,I),e+D,m+I,l),l[t(537,"(m8Z")](P),l[t(223,"bmUj")](Skia[t(252,s)](R[t(345,"ntRD")])),W[t(264,"LyyP")](d+D+R[t(320,"Uvn&")](P,.3),a+I,R.GisNO(e+D,.3*P),R[t(249,s)](m,I),l);const v=Math[t(509,"LHyQ")](3,Math[t(424,"6l82")](R.DOwSg(N,.45*CELL_SIZE))),Q=R[t(567,"AAWv")](f,.7);l[t(436,x)](0);for(let n=1;n<v;n++){const r=n/v,e=d+R.VvjGI(L,r),S=a+h*r;l[t(520,i)](Q+2),l[t(477,"nePr")](Skia[t(295,"WasX")](t(544,"@0]F"))),W.drawLine(e-D+1,S-I+1,e+D+1,S+I+1,l),l[t(565,"2@jo")](Q+1),l[t(224,x)](Skia[t(197,"8%um")](o[t(439,u)])),W[t(247,"hvfx")](e-D,S-I,e+D,S+I,l),l[t(198,_)](Q),l.setColor(Skia[t(453,"4UM5")](o.highlight)),W.drawLine(R[t(358,"LHyQ")](e,D),S-I,e+D,R[t(526,"l%t*")](S,I),l),l[t(296,"11r%")](.3*Q),l[t(519,"DEN)")](Skia[t(313,"07tn")]("rgba(255,255,255,0.15)")),W[t(202,"#klo")](e-D,R.LTdlQ(S-I,R[t(471,"LyyP")](Q,.15)),R[t(209,_)](e,D),R[t(263,"Uvn&")](S+I,.15*Q),l)}l[t(479,"2bc[")](1)});const h=R[O(390,"ntRD")](CELL_SIZE,.16),N=R.kDkOH(h,4),E=R[O(314,r)](h,.5);SNAKES.forEach(o=>{const t=O,n=CELL_POSITIONS[o[t(493,"bmUj")]],r=CELL_POSITIONS[o[t(516,"rh6(")]],S=n.cx,k=n.cy,C=r.cx,i=r.cy,u=C-S,s=i-k,x=Math[t(490,"PldT")](u*u+s*s),_=Math[t(467,"#klo")](s,u),m=Math[t(302,"QYrv")](3,Math[t(558,"2bc[")](x/(.8*CELL_SIZE))),f=Math[t(419,"XZL]")](.6*CELL_SIZE,.12*x),P=Skia[t(549,"(m8Z")][t(570,"DEN)")]();P[t(557,"mIvc")](S,k);for(let W=0;W<m;W++){const o=(W+1)/m,n=(W/m+o)/2,r=S+u*n,a=k+s*n,e=S+u*o,C=R[t(414,"%%3C")](k,s*o),i=R[t(437,"n^hK")](R.GrZgH(W,2),0)?1:-1,x=-Math[t(407,d)](_)*f*i,O=Math.cos(_)*f*i;P[t(305,"2@jo")](r+x,a+O,e,C)}l[t(462,"#klo")](N+2),l[t(364,"(m8Z")](Skia.Color(t(303,"ntRD"))),W[t(451,"2@jo")](P,l),l[t(280,"M[p2")](N),l[t(271,"rh6(")](Skia[t(444,"#klo")](o[t(268,"Qsdn")])),W[t(383,"oxlh")](P,l),l[t(497,"r%b5")](h),l[t(250,"PldT")](Skia[t(469,"@0]F")](o[t(284,"XWak")])),W[t(243,"nePr")](P,l);const D=Skia[t(363,"ntRD")]();D[t(466,"2$DW")](1),D.setStrokeCap(1),D[t(564,"2$DW")](1),D[t(296,a)](E),D[t(250,"PldT")](Skia.Color(o.belly)),D[t(574,"%%3C")](.6),W[t(309,"WasX")](P,D);const I=Math[t(331,"WasX")](2,Math[t(550,"n^hK")](x/(.6*CELL_SIZE))),v=Skia.Paint();v[t(393,"#klo")](Skia[t(518,"2@jo")](o[t(418,"@0]F")])),v[t(457,"Qsdn")](.5);for(let o=1;o<I;o++){const n=o/I,r=S+u*n,d=R[t(484,"hvfx")](k,s*n),a=o%2==0?1:-1,C=Math[t(569,"XWak")](n*m),i=0===R[t(343,"nePr")](C,2)?1:-1,x=Math[t(407,"u3En")](R[t(244,e)](n*m,Math.PI))*f*i,O=R[t(456,"Uvn&")](r,.3*R[t(536,"ZEL4")](-Math[t(267,"mIvc")](_),x)*a),L=d+Math[t(330,"(m8Z")](_)*x*.3*a;W.drawCircle(O,L,R[t(563,"2$DW")](h,.18),v)}const Q=.15*CELL_SIZE,y=Skia[t(308,"os&(")]();y[t(210,"WasX")](Skia[t(261,"NIW2")]("rgba(0,0,0,0.2)")),W.drawCircle(S+1,R.DjbKm(k,1.5),R[t(386,"AAWv")](Q,1),y),L[t(508,"7T48")](Skia[t(197,"8%um")](o[t(245,"@0]F")])),W[t(395,"2$DW")](S,k,Q,L);const T=Skia[t(253,"oxlh")]();T.setColor(Skia[t(335,d)](o[t(495,"7T48")])),T[t(521,"kMHR")](.5),W[t(566,"ZEL4")](S+.2*Q,k+R.EnQWf(Q,.2),.7*Q,T);const U=.3*Q,Z=R.ulAkO(Q,.45),A=_+Math.PI/2,G=S+R[t(275,"kzwg")](Math.cos(A),Z),p=R[t(440,"XWak")](k,Math[t(291,"2$DW")](A)*Z),K=S-Math[t(372,e)](A)*Z,B=R.twjkh(k,Math[t(407,"u3En")](A)*Z);L[t(364,"(m8Z")](Skia[t(375,"(m8Z")]("#FFFFFF")),W.drawCircle(G,p,U,L),W[t(472,"LHyQ")](K,B,U,L);const M=.2*U,b=Math[t(378,"ntRD")](_)*M,F=R.KnkmE(Math[t(338,"os&(")](_),M);L.setColor(Skia[t(195,"7T48")](R.pHIdh)),W.drawCircle(G+b,p+F,.5*U,L),W[t(460,"Uvn&")](K+b,R.oxDQI(B,F),R[t(510,a)](U,.5),L),L.setColor(Skia[t(347,"11r%")]("#FFFFFF")),W[t(573,"r%b5")](G-.3*M,p-.3*M,.15*U,L),W[t(227,"XZL]")](K-.3*M,B-.3*M,R.OUHlU(U,.15),L);const H=R[t(389,"7T48")](Q,.8),q=R[t(489,"6l82")](Q,.7),j=S+Math[t(394,"4UM5")](_)*q,J=k+Math[t(291,"2$DW")](_)*q,g=Skia.Path[t(236,"ZEL4")]();g[t(481,"nePr")](j,J);const w=j+Math[t(432,"os&(")](_)*H*.6,V=J+Math[t(571,"Uvn&")](_)*H*.6;g.lineTo(w,V);const z=.4;g[t(568,"mIvc")](w+.4*R.WkbCs(Math[t(293,"PldT")](_-z),H),R[t(292,"ZEL4")](V,.4*R.UBmYW(Math[t(434,"Qsdn")](_-z),H))),g[t(371,"n^hK")](w,V),g[t(359,"hvfx")](R[t(287,"xDKA")](w,.4*R[t(478,"rh6(")](Math[t(449,"LHyQ")](_+z),H)),V+R[t(312,"r%b5")](Math[t(350,"iLR0")](R[t(307,"1O#h")](_,z))*H,.4)),l[t(280,"M[p2")](1.2),l[t(278,"4UM5")](Skia[t(231,"LyyP")]("#D32F2F")),W[t(410,"hC]u")](g,l),L[t(519,"DEN)")](Skia[t(381,"AAWv")](o[t(439,"l%t*")])),W.drawCircle(C,i,.12*h,L)})},Skia[_0x1d6431(366,"LHyQ")](0,0,BOARD_W,BOARD_H)),StaticBoardCanvas=_0x8c09bf[_0x1d6431(483,"M[p2")](()=>{const W=_0x1d6431,o=_0x58052d(1);let t;if(o[0]===Symbol[W(523,"hvfx")](W(431,"2$DW"))){const n={};n[W(306,"4c*W")]=boardPicture,t=_0x40aa73(Canvas,{style:staticCanvasStyle,children:_0x40aa73(Picture,n)}),o[0]=t}else t=o[0];return t});StaticBoardCanvas[_0x1d6431(382,"QYrv")]=_0x1d6431(376,"#klo");const OverlaysCanvas=_0x8c09bf[_0x1d6431(238,"1O#h")](()=>{const W=_0x1d6431,o={ZspJu:function(W,o){return W(o)},GDjzz:function(W,o){return W===o}},t=o[W(448,"NIW2")](_0x58052d,1);let n;if(o[W(458,"2@jo")](t[0],Symbol.for(W(524,"r%b5")))){const o={};o[W(311,"ZEL4")]=overlaysPicture,n=_0x40aa73(Canvas,{style:overlaysCanvasStyle,pointerEvents:"none",children:_0x40aa73(Picture,o)}),t[0]=n}else n=t[0];return n});function _0x2dc1(W,o){W-=194;const t=_0x458e();let n=t[W];if(void 0===_0x2dc1.UaGsSs){const W=function(W,o){let t,n,r=[],d=0,a="";for(W=function(W){let o="",t="";for(let t,n,r=0,d=0;n=W.charAt(d++);~n&&(t=r%4?64*t+n:n,r++%4)?o+=String.fromCharCode(255&t>>(-2*r&6)):0)n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(n);for(let W=0,n=o.length;W<n;W++)t+="%"+("00"+o.charCodeAt(W).toString(16)).slice(-2);return decodeURIComponent(t)}(W),n=0;n<256;n++)r[n]=n;for(n=0;n<256;n++)d=(d+r[n]+o.charCodeAt(n%o.length))%256,t=r[n],r[n]=r[d],r[d]=t;n=0,d=0;for(let o=0;o<W.length;o++)n=(n+1)%256,d=(d+r[n])%256,t=r[n],r[n]=r[d],r[d]=t,a+=String.fromCharCode(W.charCodeAt(o)^r[(r[n]+r[d])%256]);return a};_0x2dc1.iUAvFP=W,_0x2dc1.tpWxmH={},_0x2dc1.UaGsSs=!0}const r=t[0];_0x2dc1.DkCWyD!==r&&(_0x2dc1.tpWxmH={},_0x2dc1.DkCWyD=r);const d=_0x2dc1.tpWxmH[W];return void 0===d?(void 0===_0x2dc1.sRpfvO&&(_0x2dc1.sRpfvO=!0),n=_0x2dc1.iUAvFP(n,o),_0x2dc1.tpWxmH[W]=n):n=d,n}OverlaysCanvas[_0x1d6431(514,"Qsdn")]=_0x1d6431(301,"2bc[");const usePlayerPosition=()=>useSnakesAndLaddersStore(_temp),useAIPosition=()=>useSnakesAndLaddersStore(_temp2),TokensCanvas=_0x8c09bf[_0x1d6431(342,"(m8Z")](()=>{const W=_0x1d6431,o={rUwgF:function(W,o){return W+o},YSuzU:W(500,"4UM5"),oHmNV:function(W,o){return W*o},bfskB:function(W,o,t,n){return W(o,t,n)},ZfGGC:function(W,o,t){return W(o,t)},NWatL:function(W,o){return W*o},WdOoa:function(W,o,t,n){return W(o,t,n)},COHmy:function(W,o,t){return W(o,t)},hwNnK:function(W,o){return W*o},chZBG:function(W,o){return W*o},bIrsk:function(W,o){return W<=o},zVvSi:function(W,o){return W>o},qNuZi:function(W,o){return W*o}},t=_0x58052d(5),n=usePlayerPosition(),r=useAIPosition();let d;if(t[0]!==r||t[1]!==n){W:{const t=[];if(n<=0&&o[W(399,"LyyP")](r,0)){d=t;break W}const a=o[W(241,"2bc[")](n,0)&&n===r,e=(n,r,d,a)=>{const e=W;if(n<=0)return;const S=CELL_POSITIONS[n];if(!S)return;const k=S.cx+a,C=S.cy,i=d?SNL_COLORS[e(254,"7T48")]:SNL_COLORS[e(228,"PldT")],u=d?SNL_COLORS[e(310,"$DB8")]:SNL_COLORS[e(281,"mIvc")],s=d?SNL_COLORS[e(425,"PldT")]:SNL_COLORS.AI_DARK;t[e(357,"M[p2")](_0x40aa73(Circle,{cx:o[e(365,"iLR0")](k,1),cy:C+.4*TOKEN_RADIUS+2,r:1*TOKEN_RADIUS,color:o.YSuzU},"ps-"+r)),t[e(286,"@0]F")](_0x40aa73(Circle,{cx:k,cy:C+.3*TOKEN_RADIUS,r:o.oHmNV(TOKEN_RADIUS,.95),color:s},e(476,"XWak")+r)),t.push(o[e(411,"hC]u")](_0x40aa73,Circle,{cx:k,cy:C+o[e(494,"1O#h")](TOKEN_RADIUS,.3),r:.85*TOKEN_RADIUS,color:u,children:o.ZfGGC(_0x40aa73,LinearGradient,{start:vec(k-TOKEN_RADIUS,C),end:vec(k+TOKEN_RADIUS,C+TOKEN_RADIUS),colors:[i,u,s]})},e(294,"^2St")+r));const x={};x.cx=k,x.cy=C-.05*TOKEN_RADIUS,x.r=.6*TOKEN_RADIUS,x.color=s,t[e(400,"07tn")](_0x40aa73(Circle,x,e(408,"4c*W")+r)),t[e(532,"4c*W")](_0x40aa73(Circle,{cx:k,cy:C-.05*TOKEN_RADIUS,r:.55*TOKEN_RADIUS,color:i,children:_0x40aa73(LinearGradient,{start:vec(k-o[e(297,"2$DW")](TOKEN_RADIUS,.5),C-.5*TOKEN_RADIUS),end:vec(k+o.oHmNV(TOKEN_RADIUS,.5),C+o.NWatL(TOKEN_RADIUS,.3)),colors:[i+"FF",u]})},e(279,"Uvn&")+r));const _={};_.cx=k,_.cy=C-.5*TOKEN_RADIUS,_.r=.42*TOKEN_RADIUS,_.color=s,t[e(499,"u3En")](_0x40aa73(Circle,_,e(226,"LyyP")+r)),t[e(575,"PldT")](o.WdOoa(_0x40aa73,Circle,{cx:k,cy:C-o[e(527,"07tn")](TOKEN_RADIUS,.5),r:.38*TOKEN_RADIUS,color:i,children:_0x40aa73(LinearGradient,{start:o[e(248,"4c*W")](vec,k-.3*TOKEN_RADIUS,C-o.hwNnK(TOKEN_RADIUS,.9)),end:vec(k+.3*TOKEN_RADIUS,C-o[e(430,"kzwg")](TOKEN_RADIUS,.2)),colors:[""+i,u]})},e(423,"2@jo")+r));const O={};O.cx=k-.12*TOKEN_RADIUS,O.cy=C-.65*TOKEN_RADIUS,O.r=.12*TOKEN_RADIUS,O[e(491,"2@jo")]=e(454,"u3En"),t[e(528,"^2St")](o[e(411,"hC]u")](_0x40aa73,Circle,O,e(486,"AAWv")+r)),t[e(534,"XZL]")](_0x40aa73(Circle,{cx:k,cy:C+o[e(356,"4c*W")](TOKEN_RADIUS,.3),r:.7*TOKEN_RADIUS,color:"rgba(255,255,255,0.15)",style:"stroke",strokeWidth:.8},e(233,"Qsdn")+r))},S=a?o.oHmNV(-TOKEN_RADIUS,.8):0,k=a?o.qNuZi(TOKEN_RADIUS,.8):0;e(n,W(315,"mIvc"),!0,S),e(r,"ai",!1,k),d=t}t[0]=r,t[1]=n,t[2]=d}else d=t[2];const a=d;if(o.bIrsk(n,0)&&r<=0)return null;let e;if(t[3]!==a){const n={};n[W(367,"%%3C")]=tokensCanvasStyle,n[W(204,"LyyP")]=W(329,"NIW2"),n.children=a,e=o.ZfGGC(_0x40aa73,Canvas,n),t[3]=a,t[4]=e}else e=t[4];return e});TokensCanvas[_0x1d6431(277,"$DB8")]="TokensCanvas";const _0x3c5c13={};_0x3c5c13[_0x1d6431(404,"1O#h")]=BOARD_W,_0x3c5c13[_0x1d6431(196,"@0]F")]=BOARD_H,_0x3c5c13[_0x1d6431(285,"hvfx")]="absolute",_0x3c5c13[_0x1d6431(561,"8%um")]=0,_0x3c5c13.left=0;const staticCanvasStyle=_0x3c5c13,_0x13b404={};_0x13b404[_0x1d6431(559,"$DB8")]=BOARD_W,_0x13b404[_0x1d6431(276,"n^hK")]=BOARD_H,_0x13b404[_0x1d6431(548,"^2St")]=_0x1d6431(529,"4UM5"),_0x13b404[_0x1d6431(327,"ZEL4")]=0,_0x13b404[_0x1d6431(282,"Uvn&")]=0;const overlaysCanvasStyle=_0x13b404,_0x322176={};_0x322176[_0x1d6431(416,"QYrv")]=BOARD_W,_0x322176[_0x1d6431(384,"XZL]")]=BOARD_H,_0x322176[_0x1d6431(406,"hC]u")]=_0x1d6431(572,"xDKA"),_0x322176[_0x1d6431(218,"2@jo")]=0,_0x322176[_0x1d6431(482,"iLR0")]=0;const tokensCanvasStyle=_0x322176;export const GameBoard=_0x8c09bf[_0x1d6431(501,"mIvc")](()=>{const W=_0x1d6431,o={kuepZ:function(W,o){return W!==o},oEhLo:function(W,o,t){return W(o,t)},TyprI:function(W,o,t){return W(o,t)}},t=_0x58052d(2);let n;if(t[0]===Symbol.for(W(326,"hC]u")))if(o[W(459,"Uvn&")](W(505,"kzwg"),W(208,"rh6(")))_0x3d26cf[W(470,"1O#h")](_0x10e841[W(337,"LHyQ")](_0x290f33[W(530,"r%b5")])),_0x5cc57e[W(304,"2@jo")](_0x345e8f,_0x563eac);else{const o={};o[W(270,"hC]u")]=BOARD_W,o[W(290,"mIvc")]=BOARD_H,n=[styles.container,o],t[0]=n}else n=t[0];const r=n;let d;return t[1]===Symbol[W(438,"4UM5")](W(222,"n^hK"))?(d=_0x5116db(View,{style:r,children:[o[W(473,"m&W@")](_0x40aa73,StaticBoardCanvas,{}),o[W(441,"bmUj")](_0x40aa73,OverlaysCanvas,{}),_0x40aa73(TokensCanvas,{})]}),t[1]=d):d=t[1],d});const _0x305520={};_0x305520[_0x1d6431(427,"hvfx")]=_0x1d6431(502,"XZL]"),_0x305520[_0x1d6431(545,"LyyP")]=3,_0x305520.borderColor=SNL_COLORS[_0x1d6431(542,"2$DW")],_0x305520.borderRadius=4;const _0x3acb98={};_0x3acb98[_0x1d6431(428,"2@jo")]=_0x305520;const styles=StyleSheet.create(_0x3acb98);function _temp(W){const o=_0x1d6431;return W.players[0]?.[o(206,"n^hK")].position??0}function _temp2(W){const o=_0x1d6431;return W[o(194,"m&W@")][1]?.token.position??0}function _0x458e(){const W=["wmkJpGdcUq","sfzdyhRcGvxcQW","ySkBWOldP8kY","WRqtWPGAW75iymoC","f8kgnwxcUW","WR1cWOX3W5a","W4DHW6y","nCotWRmOpmkH","waNcHmo9jq","xCoepg07","WOVcSSowF8oGWORcLCoJ","oSoFWQiGm8k5","FCoaE1ib","WRpdQSkdoNC","lYvau0S","WODeq8oZW5SH","WR8DA8oQimoQAJHNW5ddUG","W7xcRmkJW5RdSSoIa3q","u8kdWPhdP8oS","A8kRWPJdRCoEWQFdKCo6W6NcUJ1ehHm","W7vbW5FdNmkQWPjsuCkf","t8keWPpdQG","FrtcJCo3jW","W5VdGmkYWRzV","ESogBe8DW7BcUd4","W4bFW4lcHW","W7VdNx3dUGe","u8knWRBdSCoG","W6RdTZXbwG","W5XTW6hdUSkbWQu","W7zVWOa","WOvyj8knzq","W7xdUIi","qZrJtW","zCoSWOnuWOW","WOHLW6ahW7rXWQyrn8kayq/dVe8","W4TrWO9BW60","WOD7pfyJW6OJWOpcJYFcUG","n8oFWQm","WRn4gutcUmkbW6lcGG","WPH8huhcMmkjW7xcLmowW6xdLCkrW7nn","wcRdUa","FmokWRFdKv7cR8keWQ0mWQeuo8o2WO4t","W5VdHZbVx11UW6G","W47dGdb8wvC","gmkcW5JcGSkQEe0","fCkUd13cRa","dHJdOJ90","qSoXWO5mWQ7cOmknhq","WOS4wCodcCoztdDfW77dMSoLW7a","WRX+fSkwCG9W","vCkeWQ98WRC","aa0tW6tdOq","EqlcN8ouoa","W4rKW6NdPmkmWQm","FmkQWRRdH8oA","wCkzgMNdSSoIhN8","j8ovWQqEjSkNfKBdUCkdemkYgSoY","pSklyNj8W7xdKuxcSSodW4FdVa","CSkzWPFdT8k2","wJL9","BCo9WR/dSfq","WQ9vWOjXW5u","WP9YW7uJW4XQWQCF","DLrnWRJcOSozWOhdLtldRY7cQa","wmoioxONAILrWQNcL15EW4tdVG5RW58uW4PNnmomWPzvW7m","WRH4bq","l8kcW4JcUmkq","DCkJpaO","us7cTG","s8oIWPC","uSoIWOn6WOy","W53dUZPYjG","W4r8WPLwW5i","WODrhhuo","WPqZWRLTiG","WP7dLCkmpM0","lrddPq","emknW7NcOSkZ","W77cMJRcMCkh","W7upe2KrW6eSWOq","xYtcQmo0","W7hcGWlcV8kF","W5jNW6BdQCk+WRr+Emk5Da","qmoQWP7dNYu","W7HCW6ZdSCk4","WRHVW7G7W7i","W4BdLbvZda","W7ZcUrBcM8k5nSoIy8k0WQRcRa","CvTh","FSoZWRRdSvi","W5VdGSkqWO51","WQDOWQRdTG","W7vVsCkRW4tdKtlcQ2asW7bjWOHS","vLSGWQPW","c8kdW6hcTmky","Amk7WP/dLG","WPhdRSkepu4","zSoaCum9W7a","y8oiWRtdGWpdRConW4LfW6Lm","ymkOWQ7dQSog","WRBdVSklhLC","xSomWRZdNGi","qstcSCoyhCkiW7RdOa","CgDEWQrB","WOxdO8k3gu3cV8oaWQ0","xCoMWQRdS0m","W4ZdNd8","qtfSa8otnmofW7tcKHj9uSkjgCoUfsahWRSWW5m","fmoFj8kkW5y","WOjoxmoXW6C6","vItdSW","WQPslmk1uq","WRWrWOldSSozomoxWRvxFg7cPeqFWRm","Cs7cQCo0aa","WPCRgCoMWPVcI0hdTfGeW65dWO11WPRcRSoE","WP1gsmo1WPTNchhdJqFdUuH8vCoYfKBdQ8kCWQr4","BCocWQy","W7ZdNx/dIftcQhvuD8kZ","WO1iWPrBW43cOL5K","ruNcNqHi","usldS1HUW47cJ8k0WPpdR8om","W7SEWRtcJmo0W65dgq","vCkoeNNdLSo/","W6lcU8k2W67dJ8oRd3i","tgJcUWvT","F8oCjsKR","F8k+mXJcMxxcNCo8","umo5W6xdTCkc","s8odWOtdPXa","ndhdIJDx","WO1iWPrlW5BcT11Z","WRC6dmorWP3cHgZdQq","W6xcPSkK","W6f0WO9yW6ldUmovWPGRCW","sCkndvVdIq","r8kiWOBdRSkTBCo1FWvMta","eCo1eSkYW7i","WRiOWOSEW5K","mXCmW6m","CZVcSSoIaq","FCoiWRNdLrxdQW","yZDNdmkp","jSkTcwlcQq","WQifWPfG","wSock3aNlsTA","WRDxhG","gmkjW5/dMW","FCogoLOG","tSoFow4djtbC","smolk3ir","WPiUWRG/W7z+tmo+","W7pcPCkwW7ldKG","wSoZWR/dNL4","WR8rFSo7oCoNzW","qIldPfXQ","hCoEWRGBja","W5fjW5lcISokBG","umkcfq","WQnLca","WO94gCknDq","W57dGmkWWQ1BrqFdU1qD","W4/dNxW","fmo2eCkYW7i","W4BdMrbgjN/dKxxdN8oIgW","wIJcOSoZhSknW7ldUGG","zCoFELqpW7pcUcC","W5ZdMJ9SBffJW7KL","kCkIl0lcRq","ndbmFLa","W7DJWO9mW5xcV8okWP4QEte9EgHXyapcICoHW69FWP1buCkT","prBdUa","W5SJWQlcQmod","j8ozWR4","WQtcP2yRvrZcUhNdT8oGcbW/","W4VdISkQWOPPvGxdUv0NW67cOW","WOTfFmoTW4m","W6dcPSkL","WQzOWQRdVCk2","W4JdPmk1WPfs","WRSMWRpdI8ov","mSkDrwaNW5FcHcm","ASoFWRtdHYldUSoqW6K","WOCWfmo9WOa","p8kdy3f/WRhdS3dcI8oFW7e","CvDDWPbPlSo8pmoVWQK7aG","kG7dOtPO","qCk/iIxcVG","WR7dLCkt","W7zVs8kKW4lcMxBdUvCzW6G","W5VdHZbVxvL5W7q","W5b6W6NdQSk7WRr0AW","W4xcPSk7W7BdRW","WRzzeNTuWPzdW7VdOvddNCkdbSkdBfOEWPXwW6tcSa","W5/dNxJdLq0","v8khWOpdM8k2","j8ovWQqmpSkLeuZdUG","W7JdStTIDW","smkuWPddRSkB","r8ktWPtdQCkczCo+uGHU","ymoJeNSe","WRC6dmobWOBcMMZdSfWHW6nKWPHZ","nCk2dghcK8o5kCkm","WRDBbfKtW4GzWRW","WR9RcW","W7zJWPP8W5xdQmolWP4","WQuRgCo8W4a","W797W5ldSmkC","W7nfW53cGmow","iSkHgvxcRSoWjCkk","WQCYWPi0W4y","WRNdImkbjLZcS8orWROvgG","WR4XWOTyjG","W4ZdKcvByLrIW64","W7ddGIjxdq","W4JdJCoZ","W4NcLsZcKCkfeSosuG","WR/cLmo0umog","WQrVdgdcGmkAW6pcJmoWW4FdMSkx","W74yWRtcLCkw","W5FcNY7cT8k+eq","BLDpWRC","DCkRWOhdKq","Bmo+Bg4h","FSkef3hdJa","DKhdNa","W57cKmkaW5hdJ8oRd3i","ah3cSHSZWPNcUCk5WQldUSoihW","jCoXhmkEW7m","W6xdPcnR","W5ZdMJ13FW","amorW5eAW5dcNfevtSoXimoDW40","WOC6WQldNq","pSkmafJcLW","A8oDW7tdUCkera","WPLkWQLkW7m","qCkgWPj9WPldNWG2qSo2eCoyW5lcIW","A8oCpJmCWQNdVhC","WRrla3i","W7tcRSk1W7JcTCk+qdzgWPPWv8oHWQJcOSoB","W5LTW6xdSG","vCkch3RdM8oL","W5WdWRNcLmow","sCoFWO/dLZ4","aafjE14","BCkIWQ3dLCoL","W5vJnYKD","ECoBW6pdN8kfxaGd","WRddM8ky","WPHTW5OdW6G","WQmeWO0UW51nyCol","WPnNgN7cNW","WQ96g1u0","mmozWQm9pSk0agpdVCk5ha","W6fqWPOEW59KvmoZ","WOZcTSolua","EComA2ugW7pcUci","W7ZdMJ13FW","BLKxWPTDWOddJr8","qdn6mCkpDmkFWQRdM3CHa8orqW","W5nQaGm+WPVcKfRcVG","WQfMyCo7W6a","BmogBq","qmkgWODnWPlcGWO4sSooj8oFW4FcGchcOCkqmmoiWOCLW6CzExu","B0JcUMeYWPvvW7ukBI/cRaHs","WOXPWQ7dHmkY","dtuEW7/dNW","qYn9cG","W6FcQ8kKW7BdSCo7ggm","DmkQWQHNWRxdPtGEySoTna","W7ldPZbOmuJdRuu","gmkEW4JcNG","bCossINcICoMnh5pWPddPa","tCkEchy","WPGBDmo1pG","WP1Vf8klCa","qstcSCoibSkwW7RdUrNcJwpcTSkUWQy","WOmsWOpdMSkxl8knW5/dHY7dPmkm","whvBWQP1","WQ7dN8kueNdcTSomWQS","W5NdMInDBfTL","W4DjWQ99W6xdJSoHWQKgwYS","zCkYlfBdRmoUe24","W4jnW5pcJSkmkSo2WRJcVg3cNmoUWOxdGSoRzq","WRioWOSjW5DtwCoqW54IxW","aCo/cSkEW68phmkO","B1SbWRKAW5ZcJL0MW6hcTYBcPr7dVSop","qZL9c8kpB8kFWQ8","yIdcSCoZ","WP1ox8o6W5C","W7zJWPPSW47dVCoiWOK","aCo/cSkoW7qrhmkXv8knW5ZdI8o7jq","WR1OWQXuW73cJh5eW5/dQCkB","o8kClrakW5VcKWBcRCow","W50qrmo+W5u/wWG","sh4oWOfL","W5LNW77dUmk9WR4","WQvLdv3cKa","WQWDFmoUja","zsRdQuz2","ECoCia","eCosWQCFWQFcNcy","W4zVWRHiW4y","W7zJWPP8W5xdO8oiWPaIxae3DW","W4ZdKcvlEuPIW7CYxYbOW4uV","WQHLfmkvrbrNbZ0W","v17cKW5n","W5HHW6BdUmk9WR4","W57dG8kXWRzV","uf0iWR0","umkiWPS","W67dNMldLbxcRMrd","vSkrWODzWQxdHbu+s8oe","xCo3WQFdNKRcJXz2qG","W6BdOcj3","s8kIWRnHWRe","WQeyWOjTlmkBW6K","sCorW7VdS8ky","W5HpW5JcImomBG","tSoCpcG9","umkeWOhdJCk1FSoJwGfCqmklWQjC","vmkMWR95WRa","WOveb2mp","WPiBWO97oW","WQaTgCoLWR7cGw3dVG","WPGAWOTcpW","WQaoWPadW4zeFmo8W4WZwraQ","W7JcVZNcL8kW","WPToqCoXW50","vSkrWODzWRtdIaqP","WOlcSCogtCon","ESkzWQhdVCku","vCoMWPT4WPhcRCkwbW","W67dMCk0WP5u","mWLfxgO","W6NdUuJdRc8","b8o2p8k2W48","WRPaWOjvW4K","W5jfW4xcM8olDW","WQDvW6tdJmktW6jZfu3dNCkT","W4VdMIe","WOe1WQD4jG","WP7dK8k2nNG","WRzIWRldKCkRlCkdsq","WP1es8o3W4D7uchcJfRcKX4XbmkVrJxcQmoxW7GLW6NcKmkdvq","WPW6WRFdUSoZc8o7WOi","W4VdISkQWPPYsaxdOa","WOLgWOldLSkbe8kZEmoxlSkWp8oeyCoqwG","WQajWP1a","wCkzgMNdVCoIaNLfWO0","W5FdNa5ClghdGwm","WPPFWOfVW67cP19Z","B0NcUMG2WP1tW7ulrtBcJs5T","WPmoWPucW4a","WRCgWPtdSCooaSo3WOq","jmocW70","rCoSWOnuWOW","W4v8W5NdJ8kG","WOf2hSkh","jtumW4pdVq","pmkHahK","xSoNeruBWP/dHvFcQCo8","WOC+WRa","WQ1CdMdcNq","W64yWOtcQCoT","W57cGJNcPCk6h8ojsa","FIxdQ0vh","W5nfW53cGmow","xSkmWRtdJCoq","BSoBFLeLW7BcUtu","k8kKW7pcM8kM","fdDoyxq","W6xdScvCdehdOum","tCoQsuOG","oqHbzw4","W48nWRZcLCoq","wSoYW5BdHCkVyJGYgvLeW5a","nSkzWO/dTJJdL8o7W64","zCo1WPddRwq","wSkGWQddKCkw","EhrZWRDw","WQ8Bs8oUpSoIFre","CCkmWOPbWPq"];return(_0x458e=function(){return W})()}GameBoard[_0x1d6431(397,"Uvn&")]="GameBoard";
@@ -1 +0,0 @@
1
- "use strict";const _0x347b1d=_0x1214;!function(){const e=_0x1214,o=_0x3c80();for(;;)try{if(593201==-parseInt(e(431,"XR1$"))/1+-parseInt(e(446,"lts%"))/2*(parseInt(e(450,"utJh"))/3)+-parseInt(e(491,"B*$G"))/4+-parseInt(e(395,"KKrk"))/5*(parseInt(e(459,"^mFQ"))/6)+-parseInt(e(416,"uFN9"))/7+parseInt(e(418,"LW(5"))/8+parseInt(e(444,"2HqA"))/9*(parseInt(e(433,"fbJi"))/10))break;o.push(o.shift())}catch(e){o.push(o.shift())}}();import{c as _0x2d62a2}from"react/compiler-runtime";import{COLORS}from"../../../services/GamesConstants.js";import _0x1dfd17 from"react";function _0x1214(e,o){e-=370;const t=_0x3c80();let W=t[e];if(void 0===_0x1214.KpOBhw){const e=function(e,o){let t,W,d=[],x=0,n="";for(e=function(e){let o="",t="";for(let t,W,d=0,x=0;W=e.charAt(x++);~W&&(t=d%4?64*t+W:W,d++%4)?o+=String.fromCharCode(255&t>>(-2*d&6)):0)W="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(W);for(let e=0,W=o.length;e<W;e++)t+="%"+("00"+o.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(t)}(e),W=0;W<256;W++)d[W]=W;for(W=0;W<256;W++)x=(x+d[W]+o.charCodeAt(W%o.length))%256,t=d[W],d[W]=d[x],d[x]=t;W=0,x=0;for(let o=0;o<e.length;o++)W=(W+1)%256,x=(x+d[W])%256,t=d[W],d[W]=d[x],d[x]=t,n+=String.fromCharCode(e.charCodeAt(o)^d[(d[W]+d[x])%256]);return n};_0x1214.rJuQEP=e,_0x1214.kVnSHT={},_0x1214.KpOBhw=!0}const d=t[0];_0x1214.HZEGFy!==d&&(_0x1214.kVnSHT={},_0x1214.HZEGFy=d);const x=_0x1214.kVnSHT[e];return void 0===x?(void 0===_0x1214.iCOSdE&&(_0x1214.iCOSdE=!0),W=_0x1214.rJuQEP(W,o),_0x1214.kVnSHT[e]=W):W=x,W}import{View,Text,StyleSheet}from"react-native";import{useSnakesAndLaddersStore}from"../SnakesAndLaddersStore.js";import{SNL_COLORS}from"../SnakesAndLaddersConstants.js";import{ScoreBoardContainer}from"../../../helpers/index.js";import{jsxs as _0x13c7da,jsx as _0x1255b2}from"react/jsx-runtime";const usePlayerPos=()=>({FMigG:function(e,o){return e(o)}}[_0x1214(447,"8rmJ")](useSnakesAndLaddersStore,_temp)),useAIPos=()=>useSnakesAndLaddersStore(_temp2),useScore=()=>({bQNnr:function(e,o){return e(o)}}[_0x1214(510,"VvgO")](useSnakesAndLaddersStore,_temp3)),useTurnLabel=()=>({alRyk:function(e,o){return e(o)}}[_0x1214(413,"3T%l")](useSnakesAndLaddersStore,_temp4)),PlayerPositionValue=_0x1dfd17.memo(()=>{const e=_0x1214,o={vDCTA:function(e,o){return e===o},UoIXB:e(497,"XR1$"),aJfaO:function(e,o,t){return e(o,t)}},t=_0x2d62a2(3),W=usePlayerPos();let d,x;if(o.vDCTA(t[0],Symbol.for(e(432,"EeMe")))){if("xrlzL"===e(402,"^mFQ"))return _0x356bf0(_0x2a084f);{const o={};o[e(388,"KKrk")]=COLORS[e(474,"lts%")],d=[styles.scoreValue,o],t[0]=d}}else{if(o[e(426,"J8B[")](e(479,"fbJi"),o[e(387,"KKrk")]))return"";d=t[0]}if(t[1]!==W){const n={};n[e(500,"8dio")]=d,n.children=[W,"/100"],x=o[e(381,"J8B[")](_0x13c7da,Text,n),t[1]=W,t[2]=x}else x=t[2];return x});PlayerPositionValue[_0x347b1d(406,"XR1$")]="PlayerPositionValue";const AIPositionValue=_0x1dfd17[_0x347b1d(425,"UkRT")](()=>{const e=_0x347b1d,o={};o[e(441,"am@0")]=function(e,o){return e!==o};const t=o,W=_0x2d62a2(3),d=useAIPos();let x,n;if(W[0]===Symbol[e(436,"gK3U")]("react.memo_cache_sentinel")){const o={};o[e(378,"uf%9")]=COLORS[e(435,"V2e4")],x=[styles[e(465,"V2e4")],o],W[0]=x}else x=W[0];if(t[e(410,"tnUu")](W[1],d)){const o={};o.style=x,o[e(476,"KKrk")]=[d,e(501,"BHl&")],n=_0x13c7da(Text,o),W[1]=d,W[2]=n}else n=W[2];return n});AIPositionValue[_0x347b1d(442,"pwSS")]="AIPositionValue";const ScoreValue=_0x1dfd17[_0x347b1d(409,"mF5z")](()=>{const e=_0x347b1d,o={SCRZm:function(e){return e()},snAzp:function(e,o){return e!==o},einvW:function(e,o){return e!==o}},t=_0x2d62a2(4),W=o.SCRZm(useScore);let d,x;if(o.snAzp(t[0],W)?(d=W.toLocaleString(),t[0]=W,t[1]=d):d=t[1],o[e(417,"GhMe")](t[2],d)){const o={};o[e(488,"NMj6")]=styles[e(494,"2HqA")],o.children=[e(389,"am@0"),d],x=_0x13c7da(Text,o),t[2]=d,t[3]=x}else x=t[3];return x});ScoreValue[_0x347b1d(442,"pwSS")]=_0x347b1d(376,"2HqA");const TurnText=_0x1dfd17[_0x347b1d(404,"3T%l")](()=>{const e=_0x347b1d,o=_0x2d62a2(2),t=useTurnLabel();let W;if(o[0]!==t){const d={};d[e(472,"DnT4")]=styles[e(438,"lts%")],d[e(478,"J8B[")]=t,W=_0x1255b2(Text,d),o[0]=t,o[1]=W}else W=o[1];return W});TurnText[_0x347b1d(423,"&*oj")]=_0x347b1d(424,"2@w%");export const ScoreBoard=_0x1dfd17.memo(e=>{const o=_0x347b1d,t={zydgl:"react.memo_cache_sentinel",ebhfm:function(e,o,t){return e(o,t)},MDKZy:o(384,"GhMe"),kyfoM:function(e,o){return e===o}},W=_0x2d62a2(5),{offset:d}=e,x=void 0===d?0:d;let n,r,s,_;if(W[0]===Symbol[o(487,"V2e4")](t[o(385,"2HqA")]))if(o(486,"lts%")!==o(377,"3@LS")){const e={};e.color=_0x2686c0[o(397,"J8B[")],_0x17dd2f=[_0x498d3b[o(457,"Sm7p")],e],_0x12b67c[0]=_0x48a02b}else{const e={};e[o(498,"^mFQ")]=SNL_COLORS[o(380,"dnjt")],n=_0x13c7da(View,{style:styles[o(507,"gME8")],children:[t.ebhfm(_0x13c7da,View,{style:styles[o(496,"wmWl")],children:[_0x1255b2(View,{style:[styles[o(437,"0oE3")],e]}),t[o(443,"3T%l")](_0x1255b2,Text,{style:styles[o(475,"^se1")],children:t[o(480,"8rmJ")]})]}),t.ebhfm(_0x1255b2,PlayerPositionValue,{})]}),W[0]=n}else n=W[0];if(t[o(429,"5@e#")](W[1],Symbol[o(467,"LmhQ")]("react.memo_cache_sentinel"))?(r=t[o(493,"^se1")](_0x13c7da,View,{style:styles[o(462,"DnT4")],children:[_0x1255b2(TurnText,{}),_0x1255b2(ScoreValue,{})]}),W[1]=r):r=W[1],W[2]===Symbol[o(471,"P*Xt")](t.zydgl)){const e={};e[o(460,"mF5z")]=SNL_COLORS[o(370,"gK3U")],s=_0x13c7da(View,{style:styles[o(379,"V2e4")],children:[n,r,t[o(453,"J8B[")](_0x13c7da,View,{style:styles[o(469,"pwSS")],children:[_0x13c7da(View,{style:styles[o(489,"B*$G")],children:[t.ebhfm(_0x1255b2,View,{style:[styles[o(422,"P*Xt")],e]}),_0x1255b2(Text,{style:styles[o(374,"J8B[")],children:"AI"})]}),_0x1255b2(AIPositionValue,{})]})]}),W[2]=s}else s=W[2];if(W[3]!==x){const e={};e[o(468,"ijyY")]=x,e[o(485,"0oE3")]=s,_=_0x1255b2(ScoreBoardContainer,e),W[3]=x,W[4]=_}else _=W[4];return _});const _0x55949f={};_0x55949f[_0x347b1d(412,"8dio")]=_0x347b1d(484,"Sm7p"),_0x55949f[_0x347b1d(415,"VvgO")]=_0x347b1d(400,"EeMe"),_0x55949f.alignItems=_0x347b1d(375,"lts%");const _0x238290={};_0x238290[_0x347b1d(483,"P*Xt")]=_0x347b1d(373,"utJh"),_0x238290[_0x347b1d(439,"VvgO")]=1;const _0x1e8a28={};_0x1e8a28[_0x347b1d(390,"UkRT")]=_0x347b1d(440,"^se1"),_0x1e8a28.alignItems=_0x347b1d(401,"wmWl"),_0x1e8a28[_0x347b1d(393,"^mFQ")]=4;const _0x374ea2={};_0x374ea2[_0x347b1d(473,"uFN9")]=12,_0x374ea2[_0x347b1d(506,"RgDz")]=12,_0x374ea2.borderRadius=6,_0x374ea2[_0x347b1d(372,"KKrk")]=6;const _0x3b9371={};_0x3b9371[_0x347b1d(394,"5@e#")]=_0x347b1d(396,"EeMe"),_0x3b9371.flex=1;const _0xf2622e={};_0xf2622e[_0x347b1d(456,"UkRT")]=14,_0xf2622e[_0x347b1d(383,"NMj6")]=_0x347b1d(490,"am@0"),_0xf2622e[_0x347b1d(371,"XR1$")]=COLORS[_0x347b1d(481,"KKrk")],_0xf2622e[_0x347b1d(470,"RgDz")]=1;const _0x1a8584={};_0x1a8584[_0x347b1d(403,"V2e4")]=22,_0x1a8584[_0x347b1d(505,"3T%l")]="900";const _0x27f357={};_0x27f357[_0x347b1d(427,"utJh")]=12,_0x27f357[_0x347b1d(466,"5@e#")]=_0x347b1d(420,"5@e#"),_0x27f357[_0x347b1d(382,"pwSS")]=COLORS[_0x347b1d(449,"utJh")],_0x27f357.opacity=.9;const _0x2b12d9={};_0x2b12d9[_0x347b1d(499,"B*$G")]=10,_0x2b12d9[_0x347b1d(391,"am@0")]=_0x347b1d(448,"0oE3"),_0x2b12d9.color=COLORS[_0x347b1d(482,"XR1$")],_0x2b12d9.opacity=.7,_0x2b12d9[_0x347b1d(411,"7G5B")]=2;const _0x4a3d61={};function _0x3c80(){const e=["WPi/WOVdSNOuqbe","nCkSpmkw","WOGsn8koW51wxfZdMG","WP8yk8kmW5r+uxFdLSoRoq","W5NdN8oYW5VdL8owW4W","WRDWWQVcRmkh","aayotG","rSk0aWjW","CchcOCo1eelcVmonWPa","g8k+WOpcOSolW40xW6jtW5L8W6ZcRW","oCkLa8kaW7m","emkuW7xdOZS","W7hcRSkVWPPoCSkztdBcS8o/kvG9","qf9CjmkEW4FcHmk+lwPhu8oX","EY4hWRTL","WO3dKfVdOCk6emkxddWls8kDhW","W6yDW7icbCo1l0e","jCo0WOK","WQ0/WPddTaKPtWBcIW","nCoTWRNcStCZFuW","WOtdHCornu3cS8krEtaHWOq","ne1UkCkperO3","W4tdLSo+W40","W6a2W4i/ma","W5yvW4/dPmo/hr1E","hSkGWOpcU8o7W4e","Emk9W5/cTw4","nCoNW7e+W5S","W4PfACoiWOaSAKpdP8o3jSkE","WPXZx8ohfmk6WR/dQW4iD3fZv8oEixPZWR7cPqmtW4NdH1i","AMhcRrRcK3NdKr5K","ldCUWR1iW5XR","WQavWR3dKG","WR/dVSo1","W5yXW4FdTZqKW6SJ","zSk4W4SAkuRcHJy","W73cT8k5WPy","e8omWRy","WQyMFq5r","W5LRWRRcP8o0o8kVW4JdR8kuW40","pCkRoCkFW7u","W4yoW5CZWPNcIeddHSo1kX8K","bSocWQWYWRjQW6L8W5a","imk9W74eb1BcVa","eI3cO34F","WObUWPS","W6q/W7NdHa","WOzlWPpcPmkzrdv0WQtcLtlcPW","u8o7WOdcNq","yflcGMGYW7hdSCoo","W7mqW6Knha","t8o6W5umy3WwoCkWzx/cUSoGrsu","sCoRWQ7cPLlcNthdUCoVma","W4/dNmo9W5BdOConW4ux","W4/dP3NdG8k5CCoop8k/W7i","sCoRWQ7cPLlcHZhdT8o/oq","EMtcVbTvW7zuzW","dWiasIFdGCoyWO7dMmkPW7NdNG1LqW","W4SvfJtdJeFcISkOgwhcKZi","iuqNW58Srmk3W70","W4ldPSoKW4FdNa","r8kODCkBW6NcK2hdHa","WOCZWORdTeWRwXJcKmkx","DCkRW5FcRNrMW7NdRSkFW6a","vIddKq","xmk7yCkgW4xcKW","W45HWQBcPCo9e8kIW6pdOW","WOu+W6aIdmooBCkXyxquFmoI","mmoTWQC","jKuSW50a","bGinzCoh","rSkiW6eG","eSoaWQ4LWODoW6LTW5dcLq","W5tdMYryW5f1W5FcOq","kd7dVc7cVx7dTG","W7uAW6GhfCoUjue","kZFdJs7cOq","gstcGumH","W6pdTHvG","WQ80amkO","n8oUWRZcUsS+zL15gG","W47dQ2e","W5y2W4ldTcisW6e5","sSkiW5Wrda","WPi/WPC","W6qiWRrBvq","h8ovWOjTx8kcWRlcTSokW5JdSupdI8kUyW","W7Xmla","xSkkW5CIcCogW4/cGSohW77dPhFdQG","chBcL0dcJrzpWRVdSt3dMK4J","bmobWQKXWO8","WODuWOT1W47dQ0hdQmoN","ixe8e8kUbGW","W7lcKZFcSmkIW6BdTKqaW4zBW53cRSoTW6a","WPqKkSkRW7y","ldFcLWfyW5zprmkAW63cSSkkWOqVca","cCowWO1GACkzWOhcVq","dSkMWP/cTSoQ","BSk5WQPR","dCk+WOFcO8oQW5y2W6rFW59W","W7JcQCoDxCojnG/cTSk0BW","WR8XW78/ma","pSkMp8knW4/cR8oDsIT+","WOe+W70XaCoi","WRzlWQ7cKCkSDX/dJ8oh","W4vKW5tcSHfoEa7cTCkdWOm+","vSomWQRcSgZdV0RcRqxcGSobEa","W7NcISksWObv","WPJdMmoymtyxs8oi","WPGEnmktW4O","W5RdKJ9tW5XPW6dcPSkzW5RcMq","W5mFW4/dPmojbG","W6urW64zfmoqiu3cGxS","CCkOW5Cagf0","WQDuWOT1W47dQuxdVmoMgG","W5pcJ8oxsSoD","W5tcMCo0W4ddIq","WOCZWORdTeW/vrxcL8kw","ASoeWOdcJxlcMq/dLSovgw7dVW","W7C4W6CkpG","W55TWQxcUmoQ","W7etWQndzYpcGmkQWQm9","rWG8","WO5oWObGW4C","W4FcMSo5W5BdNSkxua","W6ldNarSW7C","W5tdNcfBW4C","WPGFCW5Jomk7","W4/dN8o2W5RdTSonW40xab0TbmkK","WQ0tCGHrz8oYWQHLpG","uSokWQZcSMddV0hcLXdcKSoGsa","iZFcHG1wW4PIxSkaW73cNSki","CSkOW5dcVu1kW6tdRmkAW6C","WOxcHhKcWOW3W6VcUSktW4hcJ8kX","WO1ZumoqbCoM","W4i3W5K/","mSoRWQBcRIKwA3z1be8","DmklW6eApG","WP1Mx8ohbCk5WRpdVaWsrNy","W6hcMJJcVCkIW6y","aJpcHazv"];return(_0x3c80=function(){return e})()}_0x4a3d61[_0x347b1d(503,"3@LS")]=_0x55949f,_0x4a3d61[_0x347b1d(405,"XR1$")]=_0x238290,_0x4a3d61[_0x347b1d(454,")[(C")]=_0x1e8a28,_0x4a3d61.colorDot=_0x374ea2,_0x4a3d61[_0x347b1d(464,"ijyY")]=_0x3b9371,_0x4a3d61[_0x347b1d(458,"dnjt")]=_0xf2622e,_0x4a3d61[_0x347b1d(455,"dnjt")]=_0x1a8584,_0x4a3d61.turnText=_0x27f357,_0x4a3d61.scoreText=_0x2b12d9;const styles=StyleSheet[_0x347b1d(428,"8dio")](_0x4a3d61);function _temp(e){const o=_0x347b1d;return e[o(407,"UkRT")][0]?.[o(430,"BHl&")].position??0}function _temp2(e){const o=_0x347b1d;return e[o(386,"uf%9")][1]?.[o(414,"lB7z")][o(419,"J8B[")]??0}function _temp3(e){return e[_0x347b1d(502,"8dio")]}function _temp4(e){const o=_0x347b1d,t={rXjON:function(e,o){return e(o)},OkoOb:"VjkiY",kUwen:"ai_turn",fFXnC:o(495,"2@w%")},W=e[o(477,"fbJi")][e.currentPlayerIndex];return W?W[o(451,"dnjt")]||e[o(445,"^se1")]===t[o(463,"UkRT")]?t[o(399,"lts%")]:o(421,"V2e4"):o(504,"RgDz")!==t.OkoOb?amxzUn[o(408,"gME8")](_0x24499b,_0x3d3a7a):""}ScoreBoard[_0x347b1d(398,"P*Xt")]="ScoreBoard";
@@ -1 +0,0 @@
1
- "use strict";const _0x22379e=_0x2cae;function _0x2cae(W,t){W-=312;const o=_0x1cf3();let e=o[W];if(void 0===_0x2cae.ZlvwqW){const W=function(W,t){let o,e,d=[],i=0,s="";for(W=function(W){let t="",o="";for(let o,e,d=0,i=0;e=W.charAt(i++);~e&&(o=d%4?64*o+e:e,d++%4)?t+=String.fromCharCode(255&o>>(-2*d&6)):0)e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(e);for(let W=0,e=t.length;W<e;W++)o+="%"+("00"+t.charCodeAt(W).toString(16)).slice(-2);return decodeURIComponent(o)}(W),e=0;e<256;e++)d[e]=e;for(e=0;e<256;e++)i=(i+d[e]+t.charCodeAt(e%t.length))%256,o=d[e],d[e]=d[i],d[i]=o;e=0,i=0;for(let t=0;t<W.length;t++)e=(e+1)%256,i=(i+d[e])%256,o=d[e],d[e]=d[i],d[i]=o,s+=String.fromCharCode(W.charCodeAt(t)^d[(d[e]+d[i])%256]);return s};_0x2cae.WiECxc=W,_0x2cae.AHigbB={},_0x2cae.ZlvwqW=!0}const d=o[0];_0x2cae.oCXmtL!==d&&(_0x2cae.AHigbB={},_0x2cae.oCXmtL=d);const i=_0x2cae.AHigbB[W];return void 0===i?(void 0===_0x2cae.gpBECf&&(_0x2cae.gpBECf=!0),e=_0x2cae.WiECxc(e,t),_0x2cae.AHigbB[W]=e):e=i,e}!function(){const W="Q&^u",t=_0x2cae,o=_0x1cf3();for(;;)try{if(247027==-parseInt(t(386,"1lO%"))/1+-parseInt(t(466,W))/2*(parseInt(t(437,"t)pv"))/3)+-parseInt(t(510,"[A^%"))/4+-parseInt(t(468,"n$26"))/5*(-parseInt(t(610,"Q8K]"))/6)+parseInt(t(378,W))/7*(-parseInt(t(559,"yGt#"))/8)+parseInt(t(382,"Llfy"))/9*(-parseInt(t(604,"fde]"))/10)+parseInt(t(547,"hMz]"))/11*(parseInt(t(581,"H[*4"))/12))break;o.push(o.shift())}catch(W){o.push(o.shift())}}();import{SPACE_FIGHTER_GAME_CONFIG as _0x42d3ed,SPACE_FIGHTER_COLORS as _0x4fd9a0}from"./SpaceFighterConstants.js";import{setGameInterval,clearGameInterval}from"../../helpers/GameTimer.js";export{_0x42d3ed as GAME_CONFIG,_0x4fd9a0 as COLORS};function _0x1cf3(){const W=["W63dSNtdJmox","WRRdSaadrmooW7r1W7GcW74JW4eWiCou","iMtcM1xdLW","W4RcLhuThSoRE8kFoSkXbrPC","W7RdPmkBWQfWWP3cTqjYemkZq3JdOKO","jSoeeCoKrW","W5pdVI7cPCo8gSkAWOtcNuhcVfddOW","WRr9oI3dVG","W7vlW7xcG8opa0C6fgFdRM4A","t3RcUJXFpMFcMG57WR9lW63cVfddVctcRCoQB8om","WOSxiCoMW6LI","W4ZcGLvBEW","FM4Nsmo+W6jLWOzrdXtdU3ldVXJcLghdKSkTtWa","W7mHv8kEEmoZWPFcJa","WOOaf8oW","W6uEhebwjqRdO8kpWRPLFCozta5OlfTPgG","ECkes8kLvq","iSkgWOvCcCo+WQfSW5u","WRNcLSk4C31RW5KVW6DgWR5PBSkbW6aKka","CsJcOMFdL3FcQvddQmohFCoXlqdcQ8o0r8ozW5HU","uSkVnCkoWO9bqgJcLq","WRtcHmk/yKXRW5WNW51JWPPNCa","WPCoW7BdSfW","wmoEW7hcPmoDWQdcNMZcHWv0W6RcNfZcGNZdKSkYuM3cT3RcGfC","DmkAqSkWbLZcLCk0W6lcNSocbCoCWP0","n8k7DCoJlCkXbmoAeqfNE8koWRpdL1fRdmkBWR3cHCksWPy","WRRdOGmwqSozW7HUW700W6id","mmkqWOldJa","vCk4cHddN3tdHHJcM8oof2BcUmovW5m4WRZcHq","WO1XoZldKW","he7cT1S","WRFdSSkLWPnLWPZcTW","WQWBW6S","WPBdTaC4t8o/W7rWW7a7W6uZW503aCopW7vXWPi","tehcQWJcRIJcIG","l8kqWReoWQtcMctcVfBcVZK","WOhcGK4DgSoSwW","WOGiW60","EY7cK3RdNg3cR37dT8oFFCoN","sHFdU8kIvCoFqtbK","W6hdU8ki","W7RdONZdI8oCWOfQyLaphMi","xw7cVX5jkxdcIqDMWOnRW68","EaJdVCkcAq","W7RdNslcL8oD","rSkQebhdGNy","BSkVn8kHWOLErw7cImobWRldT0tdP0ZcOCkA","gSovpSoU","W6eAc2fDkdFdUCk+WRPxDmorqqW","uSkSpmkdWOHhwq","rJRcHHOtidulra","mmogbSoGuGxdLSoZW5tcMCoNmmoTWQ8XW7JdRd3dPqdcJKZdL8kcWO0PFmkdWOTS","WPZcTw1armo3ta","mmkeWOpdKcNdOSkufSo0","W5JcS8oIDwa","gmk2WQddPZO1","W4TmW6fXEqBcPYJdTSowW5ZdU8ouwCkB","pmkiWOa","W4/cQhP5emkyWQZcTq","rG7dS3i","W7yGjCo7kmo6WOdcTCobW5uR","e8k0WQnTmSosWOrnW7KBWP1p","FM4N","W5beW7zXqq","W57cSmoFzu8","WQBdNJ87AmoVW5jtW5inW5uvW70vbSoOW4DC","qWBdPwjY","W7iog2e","W4BdTXvheCkmWQS","W4/cHxG7hG","sYRdRmkkzG","tfGhxSoCW4XpWQDTkJZdMvldPW","WO3dQLHie8kQWO3cMmkMW61pkbqpW7ajW4CGimovBNZcKmk6W4VdSdi","WQW6a8oJCW","W6RcPmokshS","iCkxWPzlbCo+WR9OW4aOWOrmWQG","bCkHAW","W54orxDbdmkH","wmkZgSknWOHgw2JcL8oeWRJdVq","gvFcOL/dUW","d8kPAmoNgSk9cSonaG","WPJcH8kUn1O2WRb9EdW","W40kwwvggSkIWRu5W6pdRSk5kZm","W7FcVCowDL4","W7D3W71jwG","f2ZdRSodaSkOW7pdTSoitseAwWpcImku","W6pcLcu","gI3dR0OAeKBcNrvcWPm","celcO1VdQNNdJSkDdhXhECk/oX4DW6zmad8","W5pcIxK1g8kBChZdIGnOWOe","W7/dS8oSB20","WPyFWQOXgvBcKIldLCoTW47dUq","WO8maCo6sh3dP8orWRq","W7rAW7RcHmofdq","W40xu34","WQhdQuLkfCkSWPZcI8kHW796aW","g8k8zmoWoSkvfmoCfrv8w8kzWQpdIf5OemkDWR/cJG","bmo7imoazYpdRmodW67cUmo2aSooWOqCW57dIW3dSZRcUx/dVG","h8oylmo9WR4","lfpcQCoUWPu","W4RdMmoWA0mpWPffxW","qN/cRqLVjw7cHaHHWRjxW5FcH2NdUtG","WPmKcmoMra","W4ldThJdUmoAWOLOEv8abf3dJ8k2WPJcPmkwWPhcL8oSfcuTdq","ys3cSxBdL3RcR3ddVCohqCoqfa","W67cRHBdLse","W5ldPYJcRSoT","hfFcRf3dVxVdImkzk3TRt8kB","WONdS11FhG","WPylnmoZW7aIcZH2vX/dTKZcJ8ovmd7cUHtcV8k+pSoi","CSkXWRddM0BdTd/dV20","rmkQdahdHhJdGXNcUW","cSotkmoNWRqkWOyqCq","WROsW7pdV1SfWP3cPefeWOid","W6ZdQKf+CqtdOK7dPGeYW4G/","W5/dRhjpta","WRbYESkOCCop","h8kwWOhdHspdPmkBaCoMFYaDvN1FgJNcSmonWP49ASkx","WPGfo8oNW7rGDNC6WP48cwRcNCoBASoNeG","WRRdOGmwqSozW7HUW700W6ijW5SJjW","W7RdONZdI8oCWOfQyLaphMm","W5BdOw3dICoAWOD7CvCDmMNdKa","WOBcV3/cGmkwlSkKsSoIWRLCsmoNWRu","mCoMjCodWOC","rahcItCk","A8ohW7boW77cNaBcRMi","AM4Nsmo+W6jLWOzrdXtdU3ldTW","vIxcIXuFmc4ftmkmW5qXW7q","m8kmWOVdGq","WQmhW6GzEhldJWdcKqH/WPZcN0PMBmoUlq","WRZcHmkiAfbWW4CSW6jzWRjI","jgtdU8os","whVcSHjpi3BcKtG","W53cJ0TFBG","k8ohaW","W7fsW7dcLmoc","qWldPxH0iSkrWP3cRa","zcZcHNddPq","WRj7BCk/D8obWRFcHSohW6qoW6POzW","ySkUWPdcJe0","W7VcK20Gea","WP0ti8oNW7jQ","xCopW7ZcT8oGWQe","WQjyobBdLelcH8kzgCk2W4jkiCkKWP4","W7SPzw57","WQuzn8oMW4mVetL+uHJdQ1BcOCoF","AM4Ns8oVW7fYWOPrerddRG","W5dcL10GomoNzCksnCk2nszKv8k6W7z3WQpcMmkhWPi","WQ5Yz8k4xConWQJcRmoCW7ykW6bpvYBdIhm","uNGJESoTW6zLWPftgWhdHq","W7/dVfjYCb/dRLJdTcqlW4W9nsTtqCkwjsT6cYTTed/dU8o3","WOSmaCoWsMFdTSo7WPXmwMxdPJ86pvtcHNm","W7/dTCknWRrTWPVcIqzZ","rGldVq","nSopnmoQWR4CWOWnFSkXWQBcPa","WOOmgq","gCoEfCoUWPC","WQyPW7pdJM8","o2tdP8os","WPxdUqOesmoFW6HAW64ZW7S/W7S9","WPS6b8oWW4C","W5LAW6FcLmopeLOYfKpdNKq/ywBdHG","jSoDbSo3ualdKCogW4lcN8odmCo2WQmNW4tdTtZdKWW","WPGAgCoWwxVdUSomWR97DghdTq","gmkGFmoXj8k3fmoUaGz+v8k0WPq","t8kCWR3dV8o9WQi","fbFdLCkGua","dmooW7JcUCkVW7tdI0OAW63cNSoXcq","l2ZdSmosm8kZW7hdUSoE","CSoDW6xcPmokWQdcUxFcGavPW5e","W5Odtxn7emk8WPy5","zbFdVSk+WPfNbCk0nGe","W5DmW6f2taO","g8ozi8oIWQ4nWOOntmkNWRpcN8koD8kEBXVdJmkUySo2cxTnxCoxW5TuqmkH","W5FdTgddJ8oEWPDSq0eicv/dPCkPWPtcT8km","jMVdOYhcGx7cK2BdSmoeDa","W4RcLw9WqW","WPqifq","W5reW6HG","CaNdNhXW","BSkZkCkdWOvxsNxcMSooWQNdGq","f37dRCowbmk/W7/dRConEZ07","FJJcVNldHNe","W5ldUezVzHNdPepdKqCxW5a8mYfe","n8kPDSo2k8kMcmobfdD7s8koWPNdM0W","cmkeWQxdPYW","stdcJai","xmkvWQVdR8oZWOxcKKGtW6RcVmoQmMy","zttcTghdMG","sqVdO8kJsmo7uXTZmxldUmo9WQi","FmkmxCk1","kCongSoIqqq","W73cMIddOatdKvHkiW","WPfkoWpdP0/cNCkyeCkZW4vniCkZWP4","W50Ag31DpHhdO8kkWOzEDmolrGH4","ySkDWQRdMLK","W7WRshPG","W73cMIhdPWJdLG","tmkOWRZdQ8oF","W7BdQwxdGCoE","zSkIWOdcQeNdP1ldVmkXWRG","W4ZcLhaVd8oTwCkFlSkXnsPME8kK","cLdcVSoRWRLTaCkKiq41sW","zHddQSkXqSo9qY9GnMVdJSoDWRWy","zSkwzmk/xSkKBSkiW6VdNmoYWOu","WPCggG","W4tdONJdJ8onWOTGDhGn","WOPWjWRdRa","v8kKeahdN3tdGY/cUmoFfxtcTCoZW5SZWQ0","m8kuWOnneSoYWQrTW7ukWPf+WO4","WOxcP2FcKmkAlSkLBCo2WQXPFSo4","eb7dHmkitmk8WRNdUxudmmkRge7dQ1a0W77dJ8o+","W67dUfzZzG/dGLNdPtSEW5aMncu","WQlcNSkVC1y","W7FcUL95ua","ouBcOmoTWQ5G","W4pcOgubaq","bCkPFq","rIdcMaqFpsG3wSkzW7SmW6TYrG91zKpdKW","lSkkWOy","WPetjSoLW657","g8kXA8oHcmkMcmofiXn8qmky","tSoBW6FcT8omWQVcRLBcKqjQW6FcOf7cGMddS8kHr3u","W4yYbgfq","WPFcPhlcLSkniSk+AmozWRW","WRlcLSkMyMPTW5GMW7W","rc7dO8kWBmkEWPO","A8k4dHtdJN7dJa7cQCoyaKlcV8o7W58","m8ojgmoWua","WRfJDCkVE8obWRBcOCotW7e7W5X3","W67cK24lcmkFyxRdGGzWWR3dNW","WRxcMeRcV8k2hSkEq8oEWODYySoHWP0/kY5n","gc3dHCkPvq","oSkcWP5pcmoP","iSonaa","yCk/WRxdHwBdOW","sSkOWPRcU0RdQKFdVmkSWRyVh8oscepcVmkS","AmowW6nzW7lcNbJcQLVcVbrYWRqOcLPxW7bzW4yLW7pcPmofW73dQ8oa","W4xdLSoVC2KtWPrgwa7cR8oxw0bcbSkF","DhS0F8ob","FNSYEmoRW6b0WOjucs3dJLa","W7xcKNWicq","r8kIbba","jgZdRSodjmk1W7ddS8ofBIamrJ7cGSkkvW","vIhcIWqoadqfwmkDW6G0W4nWrW9xEfVdJbxcTeyUW4v7WQm","W4ZdQYhcOCoTeq","WPutiCoLW7jN","WQtdUHqLAq","j8kzWQZdHZO","kaJdGmkGqCkTWR/dUxOekmkJghNdOuWVW6xdHmoHCGC3","BSowW6zBW6pcMJRcO0tcUZXIWRm","W73dUezOzG8","tIldPSkAyCkp","WPOEkSoHW61oBgCmWPWYf2dcMCotDmoX","y8kIWPJcL0BdR1/dRmkh","dSopW7BcUmkOW77cSv01W5VcRSov","ucxcJHConGWfwmkmW6ubW455qq","W5axW7NdTgKMWOC","ySkidCkZWPC","WPJcHCkQmHLmW4GzyGJcOSo+Cem","hX7dMCkMsSk8","AspcGJai","gCoupCo4WRqAWPW5BCk2WR/cMCkICa","WPldU0PFjSkHWOBcISkPW7P9dWKhW6C","WPXmddBdIW","F8ketSkIECk0","W7BdHmoSzKKzWPTyubVcSSoXrLDebCkoWR4QW5OKw8kj","W50ubKPxibldO8kDWR9zy8o7rW5Onq","BmkjqSkXqG","rmkWpCkdWPjxEw/cGSoBWRtdUNq","W5qry3LbdCkJWPWNW67dPSk4","WR4rimoMW7S","W5lcIcldTq7dL1DDmumaWRS5E8o2","hfpcReZdReJdKSkbpMzqB8kboXGj","FCk2mCkKWPq","uNK6FmoMW7C","W5rrWRhcRKGQWRBcGwLJ","W4LcW6u","WOJdU1vEeW","WPBdUaKs","W6dcMIO","WOJdUb0","gSojb8oXub7dISoUW5xcU8oooSoQWQmGW6q","W54xuMrkf8kLWRi4W7BdPSkUdt7dK8oLdMVcISom","WPBdV1bmhSk9","W6pdGqpcISoqkSkHWQRcTwRcPKZdUSkJqmogWPD8","qN/cRqL8iNVcMWHXWQHSW5dcVMu","bXRdG8kYr8kS","W5rDW7nMta3cRdRdUCobW7BdVmoR","jgZdRSodn8kYW6xdRmofFJO3qqFcJG","sv/cJX5b","umkPWQhcK0i","WROijCoXW7yKgITXrtpdRgK","W7ZcM3SGeCkDF2VdMa","WRFdKZavDq","lmkLy8ovbG","W7FdG27dRmoj","oSkfWQVdKWu","W6dcK28X","WOXqesqzt8oHWQuOW7VdGSkuca","bCk+WQC","xCogW6ZcTSoaWQBcQupcKWjWW6ZcOfq","zSkUWO7cNq","W47dH8kRWOvwWRFcRcDFn8kkzvhdGW","W4ZcKLTqFSoessf4WPFcNSoovMHDvM3cJmovW5FcP3JdVfu","W4ZdRZZcSSoAfSkeWONcKKBcJgZdM8k7BCoKWQu","l2JdQCo+cCkUW7NdRCocFcuWwaVcImkcushdI8kLW6C","WOBcV8kDF0O","W4BdSg/dGSoAWObay2efc0pdR8k1WPi","W4VdVNS","nSonamowrq3dHSoIW5lcMCohjCoTWOKSW7NdSsVdMqtcG1VdLG","W5ddTCkmWRrHWORcIGPKnmkYwwFdRLRdQq"];return(_0x1cf3=function(){return W})()}class SpaceFighterGameService{[_0x22379e(381,"[A^%")]=null;[_0x22379e(340,"M@a1")]=null;[_0x22379e(333,"E@)x")]=null;[_0x22379e(403,"ZlPh")]=[];[_0x22379e(359,"%4l7")]=0;currentAsteroidSpeed=_0x42d3ed[_0x22379e(514,"4X0j")];[_0x22379e(433,"dqhw")]=_0x42d3ed[_0x22379e(620,"hMz]")];[_0x22379e(579,"h*4L")]=0;[_0x22379e(325,"#C43")]=new Map;[_0x22379e(421,"E@)x")]=null;[_0x22379e(526,"yGt#")]=null;[_0x22379e(519,"vQuy")]=!1;[_0x22379e(324,"n$26")]=0;[_0x22379e(612,"Ag]W")]=0;[_0x22379e(438,"whYB")]=_0x42d3ed.SPACECRAFT_SIZE;[_0x22379e(320,"!)@q")]=!1;[_0x22379e(372,"fSy[")]=new Map;[_0x22379e(478,"&2tZ")]=null;constructor(W,t){this.width=W,this.height=t}[_0x22379e(361,"#C43")](W,t){const o=_0x22379e;this[o(420,"&WUr")][o(585,"65qD")](W,t)}[_0x22379e(574,"hMz]")](W){this.asteroidSVMap.delete(W)}[_0x22379e(384,"k24j")](W,t){this[_0x22379e(451,"65qD")]=W,this.spacecraftYSV=t}[_0x22379e(556,"HX^9")](W){this[_0x22379e(447,"V8go")]=W}[_0x22379e(411,"V8go")](W){this.cachedIsPlaying=W}[_0x22379e(535,"65qD")](W,t){const o=_0x22379e;this._spacecraftX=W,this[o(413,"Llfy")]=t,this.spacecraftXSV&&(this.spacecraftXSV.value=W),this.spacecraftYSV&&(this[o(315,"1lO%")][o(587,"DeLz")]=t)}[_0x22379e(521,"hMz]")](W){this[_0x22379e(328,"5o6V")]=W}[_0x22379e(337,"65qD")](){return this._spacecraftX}getSpacecraftY(){return this._spacecraftY}[_0x22379e(432,"6Anf")](W,t){const o="fde]",e=_0x22379e,d={};d[e(390,"HSgL")]=function(W,t){return W-t},d[e(434,"&2tZ")]=e(427,"yGt#");const i=d;this[e(360,"65qD")]=W.x,this._spacecraftY=W.y,this._spacecraftSize=W[e(401,"Cql&")],this[e(477,o)]=W.isControlled,this[e(332,"vQuy")]&&(this[e(440,"%4l7")].value=W.x),this.spacecraftYSV&&(this[e(499,"h*4L")][e(589,"HSgL")]=W.y),this[e(522,"4X0j")][e(479,"Cql&")]();for(const W of t){if(e(530,"3RsV")!==i[e(418,"3RsV")]){const W=_0x318c4a[e(488,"h*4L")]();if(i[e(502,"V8go")](W,this[e(449,o)])<_0x575f33[e(442,"E@)x")]){const W={};return W[e(543,"htdH")]=!1,W}for(const t of _0x2f7096)if(this.spacecraftAsteroidCollision(_0x4b50e7,t)){this[e(516,"H[N2")]=W;const o={};return o[e(321,"iM#m")]=!0,o[e(417,"vQuy")]=t.id,o}const t={};return t[e(573,"TFnK")]=!1,t}this._asteroidPhysics[e(364,"HSgL")](W.id,{y:W.y,x:W.x,width:W[e(319,"H[*4")],height:W.height,pairId:W[e(446,"iM#m")],passed:W[e(383,"h*4L")]})}}[_0x22379e(562,"^*J5")](){this[_0x22379e(600,"[A^%")]()}[_0x22379e(572,"htdH")](){const W="P((@",t=_0x22379e;this[t(436,W)]&&(clearGameInterval(this[t(603,"6Anf")]),this.gameTimer=null),this[t(329,"waD@")]&&(clearGameInterval(this[t(551,"whYB")]),this.asteroidSpawnTimer=null),null!==this[t(512,"dqhw")]&&(cancelAnimationFrame(this[t(370,"HX^9")]),this[t(375,"6Anf")]=null),this[t(540,"&WUr")]=[],this[t(454,"CxWv")]=0,this[t(423,"#C43")]=!1,this[t(608,"CxWv")][t(528,"hMz]")](),this[t(544,W)][t(377,"t)pv")](),this._onCollisionCheck=null}startGameTimer(W){this[_0x22379e(379,"CxWv")]=setGameInterval(W,1e3)}[_0x22379e(546,"dqhw")](W,t){const o=_0x22379e;this[o(373,"hMz]")]=W,this[o(429,"TFnK")]=t}[_0x22379e(619,"6Anf")](W){const t=_0x22379e,o={AIhlO:function(W,t){return W(t)},cbkjq:function(W,t,o){return W(t,o)}},e=this.generateAsteroidPair();W(e),this.asteroidSpawnTimer=o[t(534,"OM$p")](setGameInterval,()=>{const e=t,d=this.generateAsteroidPair();o[e(407,"[A^%")](W,d)},this[t(433,"dqhw")])}[_0x22379e(455,"TFnK")](W){const t="!)@q",o="aOiH",e=_0x22379e,d={SHVxt:function(W,t){return W-t},SHTQq:function(W,t){return W<t},vpoac:function(W,t){return W+t},FUKpA:function(W,t){return W*t},aTcAp:function(W,t){return W>t},PZoLs:e(523,"vQuy"),sUrgG:function(W,t){return W(t)}};this[e(497,"Q8K]")]=Date[e(416,"HqrN")]();const i=()=>{const s=e;this[s(400,"^*J5")]=requestAnimationFrame(i);const n=Date.now();if(!this[s(571,"&2tZ")])return void(this.lastPhysicsTime=n);const h=Math[s(560,"n$26")](n-this[s(356,t)],64);this[s(500,"CxWv")]=n;const r=h/16;this._spacecraftIsControlled;const a=this[s(483,"ZlPh")]/2;d[s(469,"htdH")](this[s(392,"CxWv")],a)?(this[s(380,"dqhw")]=a,this[s(598,"&WUr")]&&(this[s(531,"fSy[")][s(489,"H[*4")]=a)):this[s(360,"65qD")]>this[s(482,t)]-a&&(this._spacecraftX=this[s(350,"V8go")]-a,this[s(338,"TFnK")]&&(this[s(332,"vQuy")][s(592,"yGt#")]=this[s(351,"Ag]W")]-a));const k=[];for(const[W,e]of this[s(493,"hMz]")]){const i=d[s(602,o)](e.y,d.FUKpA(this[s(494,"[A^%")],r));if(d[s(335,"TFnK")](i,this.height))k[s(617,"[A^%")](W);else if(d[s(607,"h*4L")]===s(348,"1lO%"))this[s(391,"htdH")]=d[s(518,"P((@")](this[s(593,"45hS")],_0x5bd57b),this[s(318,o)]&&(this[s(503,t)][s(587,"DeLz")]=this.width-_0x491e57);else{e.y=i;const t=this[s(374,"HqrN")][s(445,"hMz]")](W);t&&(t.y.value=i)}}if(k[s(456,"H[N2")]>0){for(const W of k)this._asteroidPhysics[s(352,"waD@")](W),this.asteroidSVMap.delete(W);d[s(409,"Q&^u")](W,k)}this[s(569,"htdH")]&&this._onCollisionCheck(),this[s(412,"yGt#")]()};this[e(605,"[A^%")]=requestAnimationFrame(i)}[_0x22379e(484,"aOiH")](W,t,o,e,d,i){const s=_0x22379e;this.lastPhysicsTime=Date[s(345,"hMz]")]();const n=()=>{const h=s;this[h(473,"k24j")]=requestAnimationFrame(n);const r=Date[h(555,"M@a1")](),a=Math[h(599,"6Anf")](r-this[h(354,"3RsV")],64);this[h(474,"H[*4")]=r,this[h(480,"htdH")](W,t,o,e,d,i,a)};this[s(349,"%4l7")]=requestAnimationFrame(n)}[_0x22379e(532,"Q8K]")](W){const t=_0x22379e;for(const o of W)this[t(405,"&2tZ")].set(o.id,{y:o.y,x:o.x,width:o.width,height:o[t(431,"waD@")],pairId:o[t(476,"Cql&")],passed:o[t(408,"ZlPh")]})}[_0x22379e(517,"CxWv")](){const W=_0x22379e,t={};return t.x=this[W(365,"k24j")],t.y=this[W(549,"HX^9")],t.size=this[W(330,"HX^9")],t}[_0x22379e(422,"t)pv")](){return this[_0x22379e(394,"#C43")]}markAsteroidPassedInternal(W){const t=_0x22379e;for(const[,o]of this._asteroidPhysics)o[t(578,"uFSn")]===W&&(o[t(462,"#C43")]=!0)}[_0x22379e(611,"aOiH")](){const W=_0x22379e,t={AEnRJ:function(W,t){return W/t}};t[W(459,"uFSn")]=function(W,t){return W*t},t.CHpPW=function(W,t){return W-t},t[W(508,"uFSn")]=W(397,"TFnK"),t.zObHl=function(W,t){return W+t},t.oVuhw=W(317,"H[N2");const o=t,e="asteroid_pair_"+Date[W(563,"4X0j")]()+"_"+Math[W(616,"fSy[")](),d=_0x42d3ed[W(584,"&WUr")],i=o.AEnRJ(this.width,2),s=.15*this[W(351,"Ag]W")],n=i+o.ONeRI(2*o[W(552,"3RsV")](Math.random(),.5),s)-d/2,h=Math[W(344,"OM$p")](.08*this[W(319,"H[*4")]),r=Math[W(491,"ZlPh")](h,Math[W(511,"uFSn")](n,this[W(346,"fSy[")]-d-h)),a=-Math[W(545,"n$26")](.3*this.height);return[{id:e+W(606,"DeLz"),x:0,y:a,width:r,height:_0x42d3ed[W(594,"65qD")],type:o[W(507,"vQuy")],pairId:e,passed:!1,spawnTime:Date[W(609,"ZlPh")]()},{id:e+W(486,"65qD"),x:o.zObHl(r,d),y:a,width:o[W(368,"n$26")](this[W(351,"Ag]W")],r+d),height:_0x42d3ed.ASTEROID_WIDTH,type:o[W(443,"t)pv")],pairId:e,passed:!1,spawnTime:Date.now()}]}[_0x22379e(461,"WMmx")](W,t,o,e,d,i,s=16){const n=_0x22379e,h={USnvX:function(W){return W()},HaTCl:function(W,t){return W<=t},DmfWH:function(W,t){return W/t},cUDAL:function(W,t){return W*t},FWTRe:function(W,t){return W*t},BuyXQ:function(W,t){return W(t)}},r=s/16,a=h[n(596,"HqrN")](e),k=d();let m={...a};if(m.y=a.y,m.velocityY=0,!m[n(481,"[A^%")]&&(m.velocityX=0),h[n(396,"5o6V")](m.x,m[n(490,"HX^9")]/2)&&(m.x=m[n(369,"CxWv")]/2,m.velocityX=0),m.x>=this[n(424,"P((@")]-h[n(506,"6Anf")](m[n(582,"HSgL")],2)&&(m.x=this[n(346,"fSy[")]-m[n(490,"HX^9")]/2,m.velocityX=0),W(m),i&&k.length>0){const W=[],t=[];for(let o=0;o<k[n(393,"1lO%")];o++){const e=k[o];if(!e)continue;const d=e.y+h[n(316,"ZlPh")](this[n(542,"1lO%")],r);if(d>this[n(471,"t)pv")])t.push(e.id);else{const t={};t.id=e.id,t.y=d,W[n(550,"5o6V")](t)}}i(W,t)}else for(let W=0;W<k.length;W++){const e=k[W];if(!e)continue;const d=e.y+h.FWTRe(this.currentAsteroidSpeed,r);if(d>this.height)h[n(597,"DeLz")](o,e.id);else{const W={};W.y=d,t(e.id,W)}}this[n(467,"TFnK")]()}[_0x22379e(419,"whYB")](W,t,o){const e="HX^9",d=_0x22379e,i={};i[d(566,"^*J5")]=function(W,t){return W/t},i[d(525,"aOiH")]=function(W,t){return W-t};const s=i,n=s[d(458,e)](W[d(513,"V8go")],2),h=s.MCVkO(this.width,s.AkgRH(W[d(553,"aOiH")],2)),r=Math[d(388,"HqrN")](n,Math[d(492,e)](h,t)),a={...W};return a.x=r,a.y=W.y,a[d(615,"HqrN")]=0,a.velocityY=0,a[d(415,"Cql&")]=!0,a}controlSpacecraftSV(W){const t=_0x22379e,o={};o[t(577,"DeLz")]=function(W,t){return W/t};const e=o,d=e[t(367,"k24j")](this[t(404,"3RsV")],2),i=this[t(399,"1lO%")]-e[t(367,"k24j")](this[t(414,"^*J5")],2),s=Math.max(d,Math.min(i,W));this[t(564,"vQuy")]=s,this[t(460,"t)pv")]=!0,this[t(565,"Q8K]")]&&(this[t(598,"&WUr")][t(439,"hMz]")]=s)}[_0x22379e(362,"HqrN")](){this._spacecraftIsControlled=!1}[_0x22379e(385,"vQuy")](W){const t={...W};return t[_0x22379e(601,"htdH")]=!1,t}[_0x22379e(398,"Q&^u")](W,t){const o=_0x22379e,e=Date[o(580,"&WUr")]();if(e-this[o(312,"Q8K]")]<_0x42d3ed[o(496,"H[N2")]){const W={};return W[o(323,"k24j")]=!1,W}for(const d of t)if(this[o(595,"H[*4")](W,d)){this.lastCollisionTime=e;const W={};return W[o(623,"fde]")]=!0,W[o(435,"E@)x")]=d.id,W}return{collision:!1}}[_0x22379e(448,"WMmx")](W,t){const o=_0x22379e,e={};e[o(387,"OM$p")]=function(W,t){return W+t},e[o(334,"k24j")]=function(W,t){return W<t};const d=e,i=W.x-W.size/2,s=W.x+W[o(389,"h*4L")]/2,n=W.y-W[o(339,"5o6V")]/2,h=d.euQAI(W.y,W[o(570,"k24j")]/2),r=t.x,a=t.x+t[o(424,"P((@")],k=t.y,m=t.y+t[o(495,"H[*4")];return s>r&&i<a&&h>k&&d[o(425,"OM$p")](n,m)}[_0x22379e(464,"waD@")](W,t){const o=_0x22379e,e={};e[o(355,"[A^%")]=function(W,t){return W<t};const d=e,i=[];for(let e=0;d.FKExT(e,t[o(457,"waD@")]);e++){const d=t[e];d&&!d[o(498,"t)pv")]&&W.y>d.y+d[o(444,"&WUr")]&&i.push(d.pairId)}return i}[_0x22379e(515,"OM$p")](W,t){const o="HX^9",e="6Anf",d=_0x22379e,i={VDphG:function(W,t){return W===t}};i[d(622,"Llfy")]=function(W,t){return W-t},i[d(326,"#C43")]="#ffff00",i[d(452,"yGt#")]=function(W,t){return W*t},i.Sxika=function(W,t){return W-t},i.sCvmv=d(591,o),i.vdhvc=function(W,t){return W+t};const s=i;for(let i=0;i<15;i++)if(s[d(613,"fde]")](d(313,"HqrN"),d(567,"H[N2"))){this[d(618,"H[*4")]=_0x2a876a.x,this[d(331,"vQuy")]=_0x3a2ef9.y,this[d(330,"HX^9")]=_0x2905d3[d(453,"whYB")],this[d(548,e)]=_0x1b730c[d(341,"P((@")],this.spacecraftXSV&&(this.spacecraftXSV.value=_0x48e07c.x),this[d(529,"H[N2")]&&(this.spacecraftYSV[d(539,"Cql&")]=_0xda9f4a.y),this[d(395,e)].clear();for(const W of _0x1df659)this[d(524,o)][d(366,"HqrN")](W.id,{y:W.y,x:W.x,width:W.width,height:W.height,pairId:W[d(353,"dqhw")],passed:W[d(376,"Q&^u")]})}else{const o={id:d(336,"WMmx")+Date.now()+"_"+i,x:W,y:t,velocityX:15*s[d(622,"Llfy")](Math[d(463,"45hS")](),.5),velocityY:15*(Math.random()-.5),color:i<5?d(557,"aOiH"):i<10?_0x4fd9a0.SPACECRAFT:s[d(475,"3RsV")],life:1200,maxLife:1200,size:8+12*Math.random()};this[d(504,"Ag]W")][d(590,"&2tZ")](o)}for(let o=0;o<5;o++){const e={id:d(441,"Ag]W")+Date.now()+"_"+o,x:W+20*(Math[d(327,"%4l7")]()-.5),y:t+s[d(472,"TFnK")](Math.random()-.5,20),velocityX:8*s[d(450,"65qD")](Math[d(533,"waD@")](),.5),velocityY:s[d(485,"htdH")](s[d(410,"vQuy")](Math[d(568,"whYB")](),.5),8),color:s[d(406,"iM#m")],life:1500,maxLife:1500,size:s[d(621,"k24j")](15,s.LvhFr(Math.random(),10))};this[d(363,"4X0j")][d(590,"&2tZ")](e)}}[_0x22379e(527,"4X0j")](){const W="whYB",t=_0x22379e,o={};o[t(505,"HX^9")]=function(W,t){return W<t};const e=o;let d=0;for(let o=0;e[t(371,"!)@q")](o,this.particles[t(402,"hMz]")]);o++){const e=this[t(322,W)][o];e&&(e.x+=e[t(465,"V8go")],e.y+=e[t(343,"Q8K]")],e.velocityY+=.2,e[t(342,"CxWv")]-=16,e[t(509,"Ag]W")]>0&&(this[t(322,W)][d]=e,d++))}this[t(576,"5o6V")][t(426,"Llfy")]=d}[_0x22379e(357,"65qD")](){return this.particles}[_0x22379e(358,"yGt#")](){return Date[_0x22379e(430,"5o6V")]()-this.lastCollisionTime<_0x42d3ed.COLLISION_COOLDOWN}[_0x22379e(314,"vQuy")](){const W=_0x22379e,t={gAQcm:function(W,t){return W-t}},o=Date[W(520,"vQuy")]()-this[W(541,"P((@")];return Math[W(428,"6Anf")](0,t[W(501,"Q8K]")](_0x42d3ed[W(588,"HX^9")],o))}[_0x22379e(538,"&2tZ")](){const W=_0x22379e,t={};return t.x=this[W(586,"h*4L")]/2,t.y=.77*this.height,t[W(347,"HSgL")]=0,t.velocityY=0,t[W(537,"HqrN")]=_0x42d3ed.SPACECRAFT_SIZE,t[W(561,"1lO%")]=!1,t}}export const createSpaceFighterService=(W,t)=>new SpaceFighterGameService(W,t);
@@ -1 +0,0 @@
1
- "use strict";const _0x5b2c95=_0x4be7;!function(){const t=_0x4be7,e=_0x528f();for(;;)try{if(190134==parseInt(t(227,"PSuY"))/1*(parseInt(t(230,"U[Ug"))/2)+parseInt(t(174,"fM0#"))/3*(parseInt(t(232,"5L6s"))/4)+-parseInt(t(223,"gCKL"))/5+parseInt(t(201,"7k)&"))/6+-parseInt(t(229,"vF42"))/7*(parseInt(t(177,"U[Ug"))/8)+parseInt(t(193,"X*FY"))/9*(parseInt(t(248,"&f4h"))/10)+parseInt(t(235,"7)OI"))/11*(-parseInt(t(208,"wnHw"))/12))break;e.push(e.shift())}catch(t){e.push(e.shift())}}();import{create}from"zustand";import{subscribeWithSelector}from"zustand/middleware";import{GAME_CONFIG}from"./SpaceFighterService.js";import{Dimensions}from"react-native";const{width:width,height:height}=Dimensions[_0x5b2c95(216,"5L6s")](_0x5b2c95(231,"C)Oj")),getSpacecraftYPosition=(t=0)=>{const e={};e[_0x5b2c95(202,"m]8!")]=function(t,e){return t*e};const r=t>0?.77:.68;return e.Ztccz(height,r)},makeDefaultSpacecraft=(t=0)=>({x:width/2,y:getSpacecraftYPosition(t),velocityX:0,velocityY:0,size:GAME_CONFIG[_0x5b2c95(183,"rguA")],isControlled:!1});export const useSpaceFighterStore=create()(subscribeWithSelector((t,e)=>({score:0,timeLeft:120,isPlaying:!1,gameOver:!1,lives:3,asteroids:[],spacecraft:makeDefaultSpacecraft(0),spacecraftPath:[],isControllingSpacecraft:!1,offset:0,listVersion:0,setOffset:r=>{const o=_0x5b2c95,n=e().spacecraft;t({offset:r,spacecraft:{...n,y:{qtxZs:function(t,e){return t(e)}}[o(215,"!!6%")](getSpacecraftYPosition,r)}})},startGame:r=>{const o=_0x5b2c95,n={tquBF:function(t){return t()}}[o(247,"wnHw")](e)[o(243,"f(p9")];t({score:0,timeLeft:r||120,isPlaying:!0,gameOver:!1,lives:3,asteroids:[],spacecraftPath:[],isControllingSpacecraft:!1,spacecraft:makeDefaultSpacecraft(n),listVersion:0})},stopGame:()=>{const r=(o=e,o()).offset;var o;t({score:0,timeLeft:120,isPlaying:!1,gameOver:!1,lives:3,asteroids:[],spacecraftPath:[],isControllingSpacecraft:!1,spacecraft:makeDefaultSpacecraft(r),listVersion:0})},resetGame:()=>{const r={dPFqq:function(t){return t()},zNQBR:function(t,e){return t(e)}},o=r[_0x5b2c95(239,"eO&q")](e).offset;r.zNQBR(t,{score:0,timeLeft:120,isPlaying:!1,gameOver:!1,lives:3,asteroids:[],spacecraftPath:[],isControllingSpacecraft:!1,spacecraft:makeDefaultSpacecraft(o),listVersion:0})},updateScore:r=>{const o=_0x5b2c95,n={cuTVn:function(t,e){return t(e)},SicxC:function(t,e){return t+e},tWXdi:function(t){return t()}};n[o(203,"(xKm")](t,{score:n[o(244,"^Mlt")](n[o(217,"L1$0")](e)[o(228,"f(p9")],r)})},decrementTime:()=>{const r="f(p9",o=_0x5b2c95,n={MKReU:function(t,e){return t(e)},WpTDn:function(t,e){return t-e},UQyAn:function(t){return t()}},s=n[o(240,r)](n[o(195,"4cOt")](e).timeLeft,1);if(s<=0)if("EfUld"===o(178,"!!6%")){const t=_0x25daed()[o(180,"^!Ed")];edkANS[o(238,"fM0#")](_0x3eb401,{score:0,timeLeft:120,isPlaying:!1,gameOver:!1,lives:3,asteroids:[],spacecraftPath:[],isControllingSpacecraft:!1,spacecraft:_0x374100(t),listVersion:0})}else{const e={};e[o(194,"hz!g")]=0,e[o(233,"rguA")]=!1,e.gameOver=!0,n[o(190,r)](t,e)}else{const e={};e[o(225,"kMs[")]=s,t(e)}},addAsteroids:r=>{const o=_0x5b2c95,n={};n[o(209,"34Al")]=function(t,e){return t+e};const s=n;t({asteroids:[...e().asteroids,...r],listVersion:s[o(250,"XGG@")](e().listVersion,1)})},removeAsteroid:r=>{const o=_0x5b2c95;t({asteroids:e()[o(179,"1MLS")][o(185,"^!Ed")](t=>t.id!==r),listVersion:{lcoFL:function(t){return t()}}[o(181,"C9&T")](e)[o(210,"wnHw")]+1})},batchRemoveAsteroids:r=>{const o=_0x5b2c95,n={DHupb:function(t){return t()},bNTKr:function(t){return t()}};if(0===r.length)return;const s=new Set(r);t({asteroids:n[o(197,"(xKm")](e).asteroids[o(184,"L1$0")](t=>!s[o(236,"^Mlt")](t.id)),listVersion:n[o(205,"p8mK")](e)[o(222,"iLGF")]+1})},updateAsteroid:(r,o)=>{const n=_0x5b2c95,s={tCzHg:function(t){return t()},ldBqg:function(t,e){return t===e},kPRPW:function(t,e){return t(e)}},i=[...s[n(198,"6v5C")](e)[n(211,"f(p9")]];for(let t=0;t<i.length;t++)if(s.ldBqg(i[t].id,r)){i[t]={...i[t],...o};break}const a={};a.asteroids=i,s[n(242,"vF42")](t,a)},batchUpdateAsteroids:(r,o)=>{const n=_0x5b2c95,s={QKQHZ:function(t){return t()},FcYpn:function(t,e){return t<e}},i=s.QKQHZ(e).asteroids,a=new Map;for(let t=0;t<r[n(191,"#d4#")];t++){const e=r[t];e&&a[n(241,"1MLS")](e.id,e.y)}const f=o.length>0?new Set(o):null;if(f){const e=[];for(let t=0;s[n(187,"&f4h")](t,i[n(207,"56m1")]);t++){const r=i[t];if(f[n(213,"XGG@")](r.id))continue;const o=a.get(r.id);e.push(void 0!==o?{...r,y:o}:r)}const r={};r.asteroids=e,t(r)}else{let e=!1;const r=i[n(192,"m]8!")](t=>{const r=a.get(t.id);if(void 0!==r){e=!0;const o={...t};return o.y=r,o}return t}),o={};o[n(206,"iLGF")]=r,e&&t(o)}},updateSpacecraft:e=>{const r={};r[_0x5b2c95(188,"L1$0")]=e,t(r)},setSpacecraftPath:e=>{const r={};r[_0x5b2c95(221,"yIVi")]=e,t(r)},setIsControllingSpacecraft:e=>{const r={};r[_0x5b2c95(182,"&f4h")]=e,t(r)},markAsteroidPassed:r=>{const o=_0x5b2c95,n={BHtsi:function(t){return t()},mByZI:function(t,e){return t+e}},s=n[o(226,"XGG@")](e).asteroids;let i=!1;const a=s.map(t=>{const e=o;if(t[e(249,"^!Ed")]===r&&!t[e(176,"At#S")]){i=!0;const e={...t};return e.passed=!0,e}return t});i&&t({asteroids:a,score:n.mByZI(e()[o(189,"X*FY")],500)})},loseLife:()=>{const r=_0x5b2c95,o={TyQzD:function(t,e){return t(e)}},{lives:n,offset:s}=e(),i=n-1;i<=0?t({lives:0,isPlaying:!1,gameOver:!0,spacecraft:o[r(214,"gtm3")](makeDefaultSpacecraft,s)}):o[r(204,"iLGF")](t,{lives:i,spacecraft:makeDefaultSpacecraft(s)})}})));export const useSFScore=()=>useSpaceFighterStore(_temp);export const useSFTimeLeft=()=>useSpaceFighterStore(_temp2);export const useSFLives=()=>useSpaceFighterStore(_temp3);export const useSFIsPlaying=()=>useSpaceFighterStore(_temp4);export const useSFGameOver=()=>useSpaceFighterStore(_temp5);export const useSFListVersion=()=>({QVbmM:function(t,e){return t(e)}}[_0x5b2c95(220,"rguA")](useSpaceFighterStore,_temp6));function _temp(t){return t.score}function _temp2(t){return t[_0x5b2c95(212,"XGG@")]}function _0x528f(){const t=["WOddJW4FWOq","sCkaWQu","eSkMvbBdMG","WQSaWQGEw8kXWRa","qSojWPuxlYZcI8k1dmoD","W5b5W5BdJ8os","W68SWPJdIY/cLZXkzmoxW4a+e8oS","rMNdGSojoSohib7cQmo5W7C","at/dUCkvW6BcKwDeWOpdL1Xj","Cs/cN8ooW7SOW7m","WR1CjSkWWR8Jxwm","ySomW7qUrW","Fv7dOSklW7GSW7FdRmkbFW","uYryWO42","WQzJW5vIimoUWRhcMaldS8oiWR0","W7ZdQLn/p8oFmCkoW5O","rrHwj1FcOW","fSkJWPPMmmo9va","W6HCW6tdJSo+WRyEW4WM","dJBdT8ksW6BdSMHFWOddJMy","dSohEmo4FYXSgv7cJa","W60xdq","W4idxKhdQG4VkCk+","WQiHamoBW5W","ACoYA8khW78","DZDJWRG9","WQirW5u","W7GaWRekqG","tYfrWO82W6i","W5yFhCoVWQK","WP5dobxcVKyEc8kqWOBdQCky","q8o1W6tcJSktrSoMW7XVW5xdLG","W58bE2/dJq","CCkIWRJcKw4rtmkn","AtzmmmoCWRu","B8okW6GTya","W5LszCklWRJcMc/dH8kvW6ZdMG","cCopBSkDW6FcHK88krLtpa","WQNcOGDRzqu","W7xcIsXke8oula","WPBdLt4HWOu","WRahW5vEvdlcRd7dHG","DJfdmCoWWQu","smk+vSklfq","kSoHWPFcTu4/CCkZimouWRZdTJj7lYCfmCkYEmoDmYe","W5j/W7xdOCoAWOWLW6mhWP0uW6CPWRPU","amkyyaBdLL8","FZ5jnSoWWQm","u8kxpCk1Ccb7e3ZcKhG","bCoXWO3cQK4","fCkbBrhdLK5mWRxdPMu","W6T0wCoota","BqXLWPKg","W6XxW6qeFJi","ydL7","WQeVbSkkh1i9rLm/kv4","WQ9zlszFBIa5","WPFcOmkJW54+","WRDznIzG","W4JcLSosW6ldVq","W7GQWPxdG8kG","kgqrm8o3WRtcHCkvWQa","gCk8WRbRgcThrKVdUmoTW5u","a8onySkAW6BcHfiMbHrhnG","vYXOjGa","W6/cQ8oZW4tdSq","FNNdOmohka","WQpdTmoCWP4J","s3pdHCoyhSonoWNcSG","WPSNWPLKW6BcGW","WPPcobZcUrGvkmkbWPxdRG","jWv4WQBdQG","W4CzFvNdNri0nmkWWPddHa","qtrdWPKHW7KurIm","vmoTW604yNLUCa","smoLW7m","W5CDW483WRy"];return(_0x528f=function(){return t})()}function _temp3(t){return t[_0x5b2c95(196,"hz!g")]}function _0x4be7(t,e){t-=174;const r=_0x528f();let o=r[t];if(void 0===_0x4be7.WbuEEZ){const t=function(t,e){let r,o,n=[],s=0,i="";for(t=function(t){let e="",r="";for(let r,o,n=0,s=0;o=t.charAt(s++);~o&&(r=n%4?64*r+o:o,n++%4)?e+=String.fromCharCode(255&r>>(-2*n&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(let t=0,o=e.length;t<o;t++)r+="%"+("00"+e.charCodeAt(t).toString(16)).slice(-2);return decodeURIComponent(r)}(t),o=0;o<256;o++)n[o]=o;for(o=0;o<256;o++)s=(s+n[o]+e.charCodeAt(o%e.length))%256,r=n[o],n[o]=n[s],n[s]=r;o=0,s=0;for(let e=0;e<t.length;e++)o=(o+1)%256,s=(s+n[o])%256,r=n[o],n[o]=n[s],n[s]=r,i+=String.fromCharCode(t.charCodeAt(e)^n[(n[o]+n[s])%256]);return i};_0x4be7.ChcKSj=t,_0x4be7.aYqQgg={},_0x4be7.WbuEEZ=!0}const n=r[0];_0x4be7.BREIFo!==n&&(_0x4be7.aYqQgg={},_0x4be7.BREIFo=n);const s=_0x4be7.aYqQgg[t];return void 0===s?(void 0===_0x4be7.LaRzxr&&(_0x4be7.LaRzxr=!0),o=_0x4be7.ChcKSj(o,e),_0x4be7.aYqQgg[t]=o):o=s,o}function _temp4(t){return t[_0x5b2c95(237,"wnHw")]}function _temp5(t){return t.gameOver}function _temp6(t){return t[_0x5b2c95(186,"7)OI")]}
@@ -1 +0,0 @@
1
- "use strict";const _0x342ea1=_0xc4ef;function _0xc4ef(e,t){e-=137;const W=_0x1ef2();let o=W[e];if(void 0===_0xc4ef.HLmaUl){const e=function(e,t){let W,o,n=[],x=0,r="";for(e=function(e){let t="",W="";for(let W,o,n=0,x=0;o=e.charAt(x++);~o&&(W=n%4?64*W+o:o,n++%4)?t+=String.fromCharCode(255&W>>(-2*n&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(let e=0,o=t.length;e<o;e++)W+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(W)}(e),o=0;o<256;o++)n[o]=o;for(o=0;o<256;o++)x=(x+n[o]+t.charCodeAt(o%t.length))%256,W=n[o],n[o]=n[x],n[x]=W;o=0,x=0;for(let t=0;t<e.length;t++)o=(o+1)%256,x=(x+n[o])%256,W=n[o],n[o]=n[x],n[x]=W,r+=String.fromCharCode(e.charCodeAt(t)^n[(n[o]+n[x])%256]);return r};_0xc4ef.enqfAQ=e,_0xc4ef.aSJhiZ={},_0xc4ef.HLmaUl=!0}const n=W[0];_0xc4ef.lIYNok!==n&&(_0xc4ef.aSJhiZ={},_0xc4ef.lIYNok=n);const x=_0xc4ef.aSJhiZ[e];return void 0===x?(void 0===_0xc4ef.FdTelz&&(_0xc4ef.FdTelz=!0),o=_0xc4ef.enqfAQ(o,t),_0xc4ef.aSJhiZ[e]=o):o=x,o}!function(){const e=_0xc4ef,t=_0x1ef2();for(;;)try{if(406990==parseInt(e(185,"hO46"))/1+parseInt(e(137,"dCds"))/2*(-parseInt(e(298,"3y%H"))/3)+-parseInt(e(306,"*Xaj"))/4*(parseInt(e(158,"(&c4"))/5)+parseInt(e(329,"wM3r"))/6+parseInt(e(305,"0FWY"))/7+-parseInt(e(351,"wM3r"))/8+parseInt(e(338,"mDDv"))/9)break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{c as _0x24ab98}from"react/compiler-runtime";import _0x5277c8,{useMemo,useEffect}from"react";import _0x2a65ba,{useSharedValue,useAnimatedStyle}from"react-native-reanimated";import{Canvas,RoundedRect,Circle,Path,Skia,vec,Group,LinearGradient,Oval}from"@shopify/react-native-skia";import{jsx as _0x2fae71,jsxs as _0x37c7dc}from"react/jsx-runtime";const ROCK_BODY=["#7a5230",_0x342ea1(310,"wM3r"),_0x342ea1(250,"B4Yl"),"#3d220e"],ROCK_SURFACE_LIGHT=[_0x342ea1(244,"l&TM"),_0x342ea1(353,"VHWt"),"rgba(90,55,25,0)"],RIM_LIGHT=[_0x342ea1(308,"LUDL"),_0x342ea1(238,"%[gi"),_0x342ea1(267,"l(&L")],CRATER_DEEP=["#2a1508",_0x342ea1(362,"hO46"),_0x342ea1(358,"wM3r")],CRATER_RIM=[_0x342ea1(171,"LZ(K"),_0x342ea1(367,"l&TM"),_0x342ea1(364,"y3cx")],MINERAL_COLORS=["rgba(100,60,180,0.4)",_0x342ea1(220,"^2C9"),"rgba(80,180,120,0.3)"];export const AsteroidComponent=_0x5277c8[_0x342ea1(164,"VHWt")](e=>{const t="0FWY",W="GnG3",o="evQU",n="38$I",x="[[11",r="(B8&",a="47xd",d="dCds",i="VHWt",f="^2C9",s="IveE",_="*Xaj",u="LUDL",k="W9fL",l="ihJR",m="B4Yl",C="l(&L",S="Tkqj",R="l&TM",h="Tkqj",q="iX]E",y=_0x342ea1,L={JCSHi:function(e,t,W){return e(t,W)},gxnjH:"stroke",Grgab:function(e,t){return e*t},ucoIe:function(e,t){return e(t)},vqplg:function(e,t){return e!==t},ahmDP:y(215,"(B8&"),sPluT:function(e,t){return e*t},MQHsI:function(e,t){return e*t},ajZcN:function(e,t){return e*t},Avbez:function(e,t){return e!==t},WfCID:function(e,t){return e*t},Pyvrl:function(e,t){return e!==t},CLFlo:function(e,t){return e*t},Jemkv:function(e,t){return e*t},ZwqtP:function(e,t){return e*t},QrfwT:function(e,t){return e!==t},sMiga:function(e,t){return e*t},xecNJ:function(e,t){return e!==t},ueiSh:function(e,t){return e!==t},EgpsX:y(262,"LZ(K"),LKGFK:function(e,t){return e*t},qwLIU:function(e,t){return e!==t},QVXtp:function(e,t){return e!==t},brjhz:y(307,t),SEuqA:"EQTvp",kTIdR:function(e,t){return e!==t},jDunX:function(e,t){return e!==t},yBRQM:function(e,t){return e!==t},PAtgy:function(e,t,W){return e(t,W)},wAbqS:function(e,t){return e*t},Ipwvf:function(e,t){return e===t},MIMpo:"react.memo_cache_sentinel",MeXOl:function(e,t){return e!==t},ZRyfw:function(e,t,W){return e(t,W)},EQRKA:"rgba(30,15,5,0.5)",kqpoK:y(212,"CxiE"),UQKGt:function(e,t){return e!==t},elpFC:y(138,W),qihhP:function(e,t){return e!==t},yRxjz:function(e,t){return e*t},USEkq:function(e,t){return e!==t},ugnQh:function(e,t){return e-t},VqMmO:function(e,t){return e!==t},qeqSW:function(e,t){return e===t},oJmBS:y(192,o),uitES:function(e,t){return e!==t}},O=_0x24ab98(169),{asteroid:v,gameService:b}=e,P=v[y(284,"lAU[")],p=v[y(283,"$O(y")],Q=useSharedValue(v.x),g=L[y(261,"@^ub")](useSharedValue,v.y);let I,G;if(O[0]!==v.id||O[1]!==b||O[2]!==Q||O[3]!==g)I=()=>{const e=y,t={};t.x=Q,t.y=g;const W=t;return b[e(163,"^2C9")](v.id,W),()=>{b.unregisterAsteroidSharedValues(v.id)}},G=[v.id,b,Q,g],O[0]=v.id,O[1]=b,O[2]=Q,O[3]=g,O[4]=I,O[5]=G;else if(y(195,n)===y(254,"[[11")){const e={};e.position=y(197,"VjBm"),e[y(246,"LZ(K")]=0,e.top=0,e[y(276,"&43Y")]=_0x3e800d,e.height=_0x131866,_0x508e8f=e,_0x112590[6]=_0x4ec5e4,_0x591ef4[7]=_0x444d1a,_0x2c8a70[8]=_0x34bd08}else I=O[4],G=O[5];useEffect(I,G);const V={};V[y(154,"^2C9")]=Q.value;const T={};T[y(179,"CxiE")]=g.value;const M=useAnimatedStyle(()=>({transform:[V,T]}));let E;if(O[6]!==p||L[y(366,x)](O[7],P)){const e={};e[y(226,"DDM1")]=L.ahmDP,e[y(166,"lcmQ")]=0,e[y(296,"4Kmd")]=0,e.width=P,e[y(174,"zur$")]=p,E=e,O[6]=p,O[7]=P,O[8]=E}else E=O[8];const J=E;let N;if(O[9]!==p||O[10]!==P){const e={};e.width=P,e[y(169,"VHWt")]=p,N=e,O[9]=p,O[10]=P,O[11]=N}else N=O[11];const K=N,H=.22*Math.min(P,p);let j,A,F,w,D;O[12]!==p||O[13]!==P?(j=Skia[y(208,"4Kmd")][y(325,"l(&L")](),j[y(288,r)](.15*P,L[y(317,a)](p,.35)),j[y(231,"CxiE")](.35*P,L[y(346,"l(&L")](p,.28),.55*P,.4*p),j[y(243,"VjBm")](L.ajZcN(P,.7),.5*p,.85*P,L.ajZcN(p,.45)),O[12]=p,O[13]=P,O[14]=j):"MNPlt"===y(321,"irk&")?j=O[14]:(_0x543f2b=_0x3f0aad(_0x5a0d29,2),_0x54f151[108]=_0x11c0da,_0x339444[109]=_0x1dec80),O[15]!==p||O[16]!==P?(A=Skia[y(229,d)][y(237,i)](),A.moveTo(.1*P,.7*p),A.quadTo(.3*P,L[y(175,f)](p,.62),.5*P,L.sPluT(p,.72)),A[y(225,"JX36")](.65*P,.78*p,.8*P,.65*p),O[15]=p,O[16]=P,O[17]=A):A=O[17],O[18]!==p||O[19]!==P?(F=Skia[y(205,"$O(y")][y(355,"B4Yl")](),F.moveTo(.4*P,L[y(230,"hO46")](p,.15)),F[y(186,s)](.45*P,.35*p,.38*P,.55*p),O[18]=p,O[19]=P,O[20]=F):F=O[20],O[21]!==p||O[22]!==P?(w=Skia[y(340,_)].Make(),w[y(370,u)](.2*P,L.Grgab(p,.2)),w[y(309,"lAU[")](L.sPluT(P,.3),.3*p,.25*P,.5*p),O[21]=p,O[22]=P,O[23]=w):w=O[23],L[y(316,o)](O[24],p)||O[25]!==P?(D=Skia[y(270,"gh**")].Make(),D.moveTo(.7*P,.25*p),D[y(232,"mDDv")](.65*P,.45*p,.72*P,.6*p),O[24]=p,O[25]=P,O[26]=D):D=O[26];const B=L[y(371,"VHWt")](P,.3),Z=.35*p,X=.08*Math[y(157,k)](P,p);let U;if(L.vqplg(O[27],B)||L.Pyvrl(O[28],Z)||O[29]!==X){const e=y(331,s)[y(319,l)]("|");let t=0;for(;;){switch(e[t++]){case"0":O[29]=X;continue;case"1":O[27]=B;continue;case"2":O[28]=Z;continue;case"3":const e={};e.cx=B,e.cy=Z,e.r=X,U=e;continue;case"4":O[30]=U;continue}break}}else U=O[30];const Y=L[y(275,"$O(y")](P,.7),z=.55*p,cc=.06*Math[y(303,"4Kmd")](P,p);let ec;if(O[31]!==z||O[32]!==cc||O[33]!==Y){const e={};e.cx=Y,e.cy=z,e.r=cc,ec=e,O[31]=z,O[32]=cc,O[33]=Y,O[34]=ec}else ec=O[34];const tc=L[y(290,"vkN3")](P,.5),Wc=.75*p,oc=.05*Math[y(151,"irk&")](P,p);let nc;if(O[35]!==tc||O[36]!==Wc||O[37]!==oc){const e={};e.cx=tc,e.cy=Wc,e.r=oc,nc=e,O[35]=tc,O[36]=Wc,O[37]=oc,O[38]=nc}else nc=O[38];const xc=L[y(228,"0FWY")](P,.15),rc=L.ZwqtP(p,.6),ac=.04*Math[y(292,"(&c4")](P,p);let dc;if(L[y(196,a)](O[39],xc)||O[40]!==rc||O[41]!==ac){const e={};e.cx=xc,e.cy=rc,e.r=ac,dc=e,O[39]=xc,O[40]=rc,O[41]=ac,O[42]=dc}else if(L.QrfwT(y(349,a),y(249,"VE@6"))){const e={};e[y(233,"CgqA")]=[_0x140d88,_0x39b06d,_0xeabce3,_0x591edc,_0x4e0206,_0x53ab7a,_0x359437,_0x3a7df9,_0x1d783d,_0x4ff53c,_0x507501,_0x43f360,_0x38870d],_0x40db7d=L[y(194,m)](_0xe7f01e,_0x477435,e),_0x800890[149]=_0x17f8bc,_0x38b81d[150]=_0x3e09ca,_0xa21859[151]=_0x40311c,_0x5c9a25[152]=_0x1fd792,_0x45397c[153]=_0x104b70,_0x2c3326[154]=_0x2c19a7,_0xefba80[155]=_0x363b69,_0x5105a2[156]=_0x3f79ed,_0x485910[157]=_0x5f0327,_0x509791[158]=_0xb86a6c,_0x22e2d7[159]=_0x224364,_0x33c1d4[160]=_0x409adf,_0x3de5ba[161]=_0x1dce3a,_0x4ae170[162]=_0x45df7b}else dc=O[42];const ic=.85*P,fc=L[y(181,"!qJq")](p,.3),sc=L[y(252,"VHWt")](Math[y(286,"2h]9")](P,p),.05);let uc,kc;if(L[y(183,"CxiE")](O[43],ic)||L[y(146,k)](O[44],fc)||L[y(323,"IveE")](O[45],sc)){const e={};e.cx=ic,e.cy=fc,e.r=sc,uc=e,O[43]=ic,O[44]=fc,O[45]=sc,O[46]=uc}else uc=O[46];O[47]!==ec||L[y(368,"38$I")](O[48],nc)||O[49]!==dc||O[50]!==uc||L.ueiSh(O[51],U)?L[y(200,"2h]9")]===L[y(365,"W9fL")]?(kc=[U,ec,nc,dc,uc],O[47]=ec,O[48]=nc,O[49]=dc,O[50]=uc,O[51]=U,O[52]=kc):_0x3bc6ff=_0x31dce0[120]:kc=O[52];const lc=kc,mc=.45*P,Cc=.2*p;let Sc;if(O[53]!==mc||L[y(207,"Tkqj")](O[54],Cc)){const e={};e.cx=mc,e.cy=Cc,e.r=2.5,Sc=e,O[53]=mc,O[54]=Cc,O[55]=Sc}else if(y(333,"LUDL")==y(333,"LUDL"))Sc=O[55];else{const e={};e[y(301,C)]=_0x1d893d,e.style=L[y(255,x)],e[y(173,"IveE")]=.8,e.color=y(203,n),_0x2d0f08=_0x50fcf3(_0xc02879,e),_0x9c4593[121]=_0x52ef00,_0x31b792[122]=_0x27aaf1}const Rc=.6*P,hc=.4*p;let qc;if(L.Avbez(O[56],Rc)||O[57]!==hc){const e={};e.cx=Rc,e.cy=hc,e.r=2,qc=e,O[56]=Rc,O[57]=hc,O[58]=qc}else qc=O[58];const yc=L[y(287,s)](P,.25),Lc=.8*p;let Oc;if(O[59]!==yc||O[60]!==Lc){const e={};e.cx=yc,e.cy=Lc,e.r=1.8,Oc=e,O[59]=yc,O[60]=Lc,O[61]=Oc}else Oc=O[61];const vc=.8*P,bc=L[y(152,"VE@6")](p,.75);let Pc;if(L[y(239,"CgqA")](O[62],vc)||L[y(300,"irk&")](O[63],bc))if(L[y(148,"W9fL")]!==y(187,"2h]9")){const e={};e.cx=_0x3912d1,e.cy=_0x355dca,e.r=_0x103292,_0x3874c1=e,_0x44748a[31]=_0x878b4a,_0x38ede2[32]=_0x2f7499,_0x58748f[33]=_0x359d2e,_0x3acfe2[34]=_0xeaaf2}else{const e={};e.cx=vc,e.cy=bc,e.r=2.2,Pc=e,O[62]=vc,O[63]=bc,O[64]=Pc}else Pc=O[64];const pc=L.ajZcN(P,.55),Qc=.58*p;let gc,Ic;if(L[y(251,"CgqA")](O[65],pc)||O[66]!==Qc){const e={};e.cx=pc,e.cy=Qc,e.r=1.5,gc=e,O[65]=pc,O[66]=Qc,O[67]=gc}else"sFcob"===L.SEuqA?_0x189d00=_0x2b5127[96]:gc=O[67];O[68]!==Sc||O[69]!==qc||L[y(202,k)](O[70],Oc)||O[71]!==Pc||O[72]!==gc?(Ic=[Sc,qc,Oc,Pc,gc],O[68]=Sc,O[69]=qc,O[70]=Oc,O[71]=Pc,O[72]=gc,O[73]=Ic):Ic=O[73];const Gc=Ic;let Vc;if(L[y(144,S)](O[74],j)||O[75]!==A||L[y(268,"vkN3")](O[76],F)||O[77]!==lc||O[78]!==H||O[79]!==Gc||L[y(177,"iX]E")](O[80],w)||O[81]!==D){const e="1|6|8|2|5|3|7|9|4|0".split("|");let t=0;for(;;){switch(e[t++]){case"0":O[82]=Vc;continue;case"1":const e={};e.r=H,e[y(280,"2h]9")]=j,e[y(201,"@^ub")]=A,e[y(291,"&43Y")]=F,e[y(211,"F[He")]=w,e[y(147,"lAU[")]=D,e[y(165,"l(&L")]=lc,e[y(302,C)]=Gc,Vc=e;continue;case"2":O[76]=F;continue;case"3":O[78]=H;continue;case"4":O[81]=D;continue;case"5":O[77]=lc;continue;case"6":O[74]=j;continue;case"7":O[79]=Gc;continue;case"8":O[75]=A;continue;case"9":O[80]=w;continue}break}}else Vc=O[82];const Tc=Vc,{r:Mc,crack1:Ec,crack2:Jc,crack3:Nc,vein1:Kc,vein2:Hc,craters:jc,spots:Ac}=Tc;let Fc,wc,Dc,Bc,Zc;if(L[y(224,"47xd")](O[83],M)||O[84]!==J?(Fc=[J,M],O[83]=M,O[84]=J,O[85]=Fc):Fc=O[85],O[86]===Symbol[y(356,"wM3r")](y(256,"F[He"))?(wc=vec(0,0),O[86]=wc):wc=O[86],O[87]!==p||L.vqplg(O[88],P)?(Dc=vec(P,p),O[87]=p,O[88]=P,O[89]=Dc):Dc=O[89],O[90]!==Dc){const e={};e[y(354,"(&c4")]=wc,e[y(190,"CgqA")]=Dc,e.colors=ROCK_BODY,Bc=L[y(217,"l&TM")](_0x2fae71,LinearGradient,e),O[90]=Dc,O[91]=Bc}else Bc=O[91];if(L[y(248,"xga[")](O[92],p)||O[93]!==Mc||O[94]!==Bc||O[95]!==P){const e={x:0,y:0};e.width=P,e.height=p,e.r=Mc,e[y(281,"iX]E")]=Bc,Zc=_0x2fae71(RoundedRect,e),O[92]=p,O[93]=Mc,O[94]=Bc,O[95]=P,O[96]=Zc}else Zc=O[96];const Xc=L[y(236,"3y%H")](P,.5),Uc=p-2;let Yc;L[y(155,R)](O[97],Symbol[y(341,"iX]E")](L[y(189,"gh**")]))?(Yc=vec(0,0),O[97]=Yc):Yc=O[97];const zc=L[y(159,"$O(y")](P,.5),$c=.5*p;let ce,ee,te;if(O[98]!==zc||L.kTIdR(O[99],$c)?(ce=vec(zc,$c),O[98]=zc,O[99]=$c,O[100]=ce):ce=O[100],O[101]!==ce){const e={};e[y(344,"lAU[")]=Yc,e[y(182,"IveE")]=ce,e[y(140,"iX]E")]=RIM_LIGHT,ee=_0x2fae71(LinearGradient,e),O[101]=ce,O[102]=ee}else ee=O[102];if(L[y(149,"DDM1")](O[103],Mc)||O[104]!==Xc||O[105]!==Uc||O[106]!==ee){const e={x:1,y:1};e[y(348,u)]=Xc,e.height=Uc,e.r=Mc,e.children=ee,te=_0x2fae71(RoundedRect,e),O[103]=Mc,O[104]=Xc,O[105]=Uc,O[106]=ee,O[107]=te}else if(L.Ipwvf("SQMDX","RhAmN")){const e={};e.cx=_0x424bd3,e.cy=_0x395b11,e.r=_0x474635,_0x2c3c75=e,_0x13cd6f[43]=_0x15ecfb,_0x29ce83[44]=_0x434742,_0x297962[45]=_0x48eef3,_0x525fe1[46]=_0x146e88}else te=O[107];const We=P-4,oe=.55*p,ne=.8*Mc,xe=L[y(264,"3y%H")](P,.2);let re;O[108]!==xe?(re=L[y(342,"Tkqj")](vec,xe,2),O[108]=xe,O[109]=re):re=O[109];const ae=.5*P,de=.55*p;let ie,fe,se,_e,ue,ke,le,me,Ce,Se;if(L[y(282,"Tkqj")](O[110],ae)||L[y(299,h)](O[111],de)?(ie=L[y(218,"HDQt")](vec,ae,de),O[110]=ae,O[111]=de,O[112]=ie):ie=O[112],O[113]!==re||O[114]!==ie){const e={};e[y(168,"CgqA")]=re,e[y(304,"l(&L")]=ie,e.colors=ROCK_SURFACE_LIGHT,fe=_0x2fae71(LinearGradient,e),O[113]=re,O[114]=ie,O[115]=fe}else fe=O[115];if(O[116]!==We||O[117]!==oe||O[118]!==ne||O[119]!==fe){const e=y(295,q)[y(311,"l&TM")]("|");let t=0;for(;;){switch(e[t++]){case"0":const e={x:2,y:2};e[y(369,"zur$")]=We,e[y(334,"MYmR")]=oe,e.r=ne,e[y(360,"CxiE")]=fe,se=L[y(274,r)](_0x2fae71,RoundedRect,e);continue;case"1":O[120]=se;continue;case"2":O[119]=fe;continue;case"3":O[117]=oe;continue;case"4":O[118]=ne;continue;case"5":O[116]=We;continue}break}}else se=O[120];if(O[121]!==Ec?(_e=L[y(150,"ihJR")](_0x2fae71,Path,{path:Ec,style:"stroke",strokeWidth:.8,color:L[y(223,"LZ(K")]}),O[121]=Ec,O[122]=_e):_e=O[122],O[123]!==Jc)if(y(206,"&43Y")===y(263,"evQU"))_0x3a4e28=_0x166619[91];else{const e={};e[y(242,"!qJq")]=Jc,e[y(204,h)]=y(328,"ihJR"),e[y(314,"ihJR")]=.7,e[y(213,"y3cx")]=y(234,t),ue=L[y(324,"0FWY")](_0x2fae71,Path,e),O[123]=Jc,O[124]=ue}else ue=O[124];if(L[y(253,"VHWt")](O[125],Nc)?y(318,"y3cx")===L[y(162,"xga[")]?(ke=L.PAtgy(_0x2fae71,Path,{path:Nc,style:L[y(241,"IveE")],strokeWidth:.6,color:y(209,q)}),O[125]=Nc,O[126]=ke):_0x69555f=_0x409d94[107]:ke=O[126],L[y(277,"CxiE")](O[127],Kc)){const e={};e[y(219,i)]=Kc,e[y(139,"VjBm")]=L[y(198,"2h]9")],e[y(221,"MYmR")]=1.2,e.color=MINERAL_COLORS[0],le=_0x2fae71(Path,e),O[127]=Kc,O[128]=le}else le=O[128];if(O[129]!==Hc){const e={};e[y(143,S)]=Hc,e[y(269,"lAU[")]="stroke",e.strokeWidth=1,e[y(178,"IveE")]=MINERAL_COLORS[1],me=_0x2fae71(Path,e),O[129]=Hc,O[130]=me}else me=O[130];if(O[131]!==jc){if(L.elpFC!=L.elpFC){const e={};return e.cx=_0x1380ee.cx,e.cy=_0x7ecf99.cy,e.r=_0xefe629.r,e[y(191,"hO46")]=y(327,R),_0x271ead(_0x293a63,e,y(336,W)+_0x2b6cce)}Ce=jc.map(_temp),O[131]=jc,O[132]=Ce}else Ce=O[132];O[133]!==Ac?(Se=Ac[y(245,"iX]E")](_temp2),O[133]=Ac,O[134]=Se):"HFChg"===y(330,"*Xaj")?Se=O[134]:(_0x341316=[_0x2ec95a,_0x2d64dc,_0x154a51,_0x2fd9a9,_0x5097d6],_0x2edad7[47]=_0x53619a,_0x120e2[48]=_0x3e5d2d,_0xe42f34[49]=_0x238fe7,_0x25c3a4[50]=_0x2287ca,_0x37529b[51]=_0x39efe4,_0xe4fd7a[52]=_0x396dc2);const Re=.08*P,he=L[y(320,"irk&")](p,.08),qe=.25*P,ye=L[y(161,"(&c4")](p,.18);let Le;if(O[135]!==Re||O[136]!==he||O[137]!==qe||L[y(313,"l(&L")](O[138],ye)){const e={};e.x=Re,e.y=he,e[y(289,x)]=qe,e[y(193,"0FWY")]=ye,e[y(214,"38$I")]=y(160,"VjBm"),Le=_0x2fae71(Oval,e),O[135]=Re,O[136]=he,O[137]=qe,O[138]=ye,O[139]=Le}else Le=O[139];const Oe=.75*p,ve=P-4,be=.23*p,Pe=L[y(361,d)](Mc,.6);let pe;if(L[y(335,"&43Y")](O[140],Oe)||O[141]!==ve||L[y(273,"3y%H")](O[142],be)||O[143]!==Pe){const e={x:2};e.y=Oe,e[y(184,_)]=ve,e[y(240,"38$I")]=be,e.r=Pe,e[y(294,r)]="rgba(20,10,5,0.2)",pe=_0x2fae71(RoundedRect,e),O[140]=Oe,O[141]=ve,O[142]=be,O[143]=Pe,O[144]=pe}else pe=O[144];const Qe=L[y(188,m)](P,1),ge=L[y(363,"iX]E")](p,1);let Ie,Ge,Ve,Te;if(O[145]!==Mc||O[146]!==Qe||O[147]!==ge)if(y(176,"MYmR")===y(259,"(&c4"))_0x1da8ca=_0x24df1f[67];else{const e={x:.5,y:.5};e[y(266,"lcmQ")]=Qe,e[y(357,"*Xaj")]=ge,e.r=Mc,e[y(339,"MYmR")]=y(216,"[[11"),e[y(279,"CgqA")]=1,e[y(332,"irk&")]=y(293,f),Ie=_0x2fae71(RoundedRect,e),O[145]=Mc,O[146]=Qe,O[147]=ge,O[148]=Ie}else Ie=O[148];if(O[149]!==Zc||O[150]!==te||O[151]!==se||O[152]!==_e||O[153]!==ue||O[154]!==ke||L[y(347,"vkN3")](O[155],le)||O[156]!==me||O[157]!==Ce||L[y(326,l)](O[158],Se)||O[159]!==Le||O[160]!==pe||O[161]!==Ie){const e={};e[y(345,"vkN3")]=[Zc,te,se,_e,ue,ke,le,me,Ce,Se,Le,pe,Ie],Ge=_0x37c7dc(Group,e),O[149]=Zc,O[150]=te,O[151]=se,O[152]=_e,O[153]=ue,O[154]=ke,O[155]=le,O[156]=me,O[157]=Ce,O[158]=Se,O[159]=Le,O[160]=pe,O[161]=Ie,O[162]=Ge}else L[y(258,"VE@6")]("VmYqv","BWjGk")?_0x37d1e2=_0x5ab239[126]:Ge=O[162];if(O[163]!==K||L[y(222,h)](O[164],Ge)){const e={};e[y(199,"!qJq")]=K,e.children=Ge,Ve=L.JCSHi(_0x2fae71,Canvas,e),O[163]=K,O[164]=Ge,O[165]=Ve}else if("ugjeT"!==L.oJmBS){const e=y(167,"&43Y").split("|");let t=0;for(;;){switch(e[t++]){case"0":_0x5b79fd=_0x3aae26[y(352,"JX36")][y(172,"y3cx")]();continue;case"1":_0x5cd2ce[23]=_0x292c33;continue;case"2":_0x287670[21]=_0x4db3af;continue;case"3":_0x5a2ea0[22]=_0xff716;continue;case"4":_0x7bcf5e.moveTo(.2*_0x5206bd,L.Grgab(_0x13ebfc,.2));continue;case"5":_0x3b3c38[y(343,"vkN3")](.3*_0x3560f1,.3*_0x132f52,.25*_0x4bf506,.5*_0x4cf8fc);continue}break}}else Ve=O[165];if(O[166]!==Fc||L[y(359,"VE@6")](O[167],Ve))if(y(141,"47xd")!==y(312,"zur$")){const e={};e[y(272,"irk&")]=Fc,e[y(210,"(&c4")]=Ve,Te=_0x2fae71(_0x2a65ba.View,e),O[166]=Fc,O[167]=Ve,O[168]=Te}else _0x26490a=_0x430f58[134];else Te=O[168];return Te},(e,t)=>{const W="VE@6",o=_0x342ea1,n={};return n[o(260,W)]=function(e,t){return e===t},n.cKZWb(e.asteroid.id,t[o(156,W)].id)});function _temp(e,t){const W=_0x342ea1,o={LuMpN:function(e,t,W){return e(t,W)},yGndn:function(e,t){return e-t},ypJKE:function(e,t){return e+t},anfJJ:function(e,t,W){return e(t,W)},KDPxw:function(e,t){return e+t},GKISK:function(e,t){return e*t}};return _0x37c7dc(Group,{children:[o[W(153,"(&c4")](_0x2fae71,Circle,{cx:e.cx,cy:e.cy,r:e.r,children:_0x2fae71(LinearGradient,{start:vec(o[W(297,"CxiE")](e.cx,e.r),e.cy-e.r),end:vec(o[W(265,"CgqA")](e.cx,e.r),e.cy+e.r),colors:CRATER_DEEP})}),_0x2fae71(Circle,{cx:e.cx,cy:e.cy,r:e.r+1.5,color:W(142,"B4Yl"),style:"stroke",strokeWidth:1.5,children:_0x2fae71(LinearGradient,{start:o[W(322,"wM3r")](vec,e.cx-e.r,e.cy-e.r),end:vec(e.cx+e.r,o[W(170,"GnG3")](e.cy,e.r)),colors:CRATER_RIM})}),o[W(227,"IveE")](_0x2fae71,Circle,{cx:e.cx-.3*e.r,cy:e.cy-.3*e.r,r:o[W(235,"IveE")](e.r,.3),color:W(278,"^2C9")})]},W(285,"F[He")+t)}function _0x1ef2(){const e=["FCoWatVdMq","WPipW7fhfa","WPRcMmkAtSkU","WPJcJg5Gz8oppCkrWQHjaCkIWQW","WR/cNraPA8kYWOObtmoNnIZcMq","W7ZcVtf3","px3cUSkWsCknW5XsW5NcNmkhc8kOomk3FKCkja","peFcVg08","WPtdPwpcRW","W6ZdH1q","y3yBmben","WQNcNeiSmmk7WOy","o8oKACk0W5C","hCoKbcm7W4VcKmoC","gSklm8kEWQ4","uCkvW4j1WODaEG","nvqXlra","W4zWESkcb1KnlCoTsConW60WWPrQW4a","BSk2b8kAgW","WOJdUZbTWRW","WPxcKgpcSCocW4BdNSkTW7FcQ0qZq8k5W74QWRmd","WOJcR8ouW63dHa","eSoBad8T","WOGjW6nwkc0","ghZcM8kyjq","vSoSFmodW6yTjd7cUSk8WOzZ","W5bnW7qLBG","WP1qW7FdV8kw","i1WZeWRdVa","WPFcL8kqqSkm","WQVdO2RcQ8o6W7q5uSkfW6dcHbn+","f8kqWRtcSW","dmkLWONcV3e","W7uxW4dcUCkhyCo3WOhcGSo3WR5E","ESkJeCkEfW","W7XPW54muq","sCkJhCkboq","ntujWRdcTW","W4ZcLHf3WOe","xJ/dOa","aSogwSk3W48","a0BcKg8g","s3/cPSomWO9NW6NdTsr/","WQ7cH3BcPSkm","l8o+ACkuW7zfn8oc","rSk4gq","FGpcS1KTnZ1v","W4uDsCozWOK","WPXdW6ZdSSoBiSoxW5amWQ8YCSkSrCkzWRhdUSkAW75YjW","aMlcLwWb","W5rkvdRdRa","twJcOmolWO9/W63dSWbuWOSSWRRcO8k/WOz+fJZcO8kdiYZcMdBcVCo7la","iN/cTCk+","W47dJJWMn8kmFG","W7WqW4FdNW","WQPgpmkElSkIqbvjsmkF","uCoAW5TUca","j3/cSCk2cCoi","W69yW4KNxa","WRjhWPVdR8kFySkDW7BdNCkiW4OiBCkdsg/dGmovCG","W7L2C8kg","lvhcMCo5WOpcNmkQWPvdpSoR","dCoxdsWTgq","CLZcJ8orWRu","tmkhDehcIq","oxenltu","puRcH8o5WPO","cSo+dceSW5xcLmogxSks","WOBdKHxcKWaUWQBdVCkJxZVcJ8k3","W7tcRgVdIL4","o0VcJW","bSoPdGev","FhOwiXe","qmkxWPT1W5HaBCoCiM4/WPq","l1dcISoYWRZcLG","CIpdU3pcOa","WQZdO2BcM8k6","WPS3tJRdOG","r8oaW54","eCojW48RWPm","WRLlWQLcaW","fCksWRVdPmotrq","WPpdH1VcGSk7","WRJcI8ovW6tdGa","WOJcKmk1x8kR","WO9gW73dVmkFzCkrWOu","xbtdL3dcHa","W4tcLftdILq","FGVdIwNcLa","W48lW5hcUSkgua","ESkhl8kDmW","WO/cRCoFW5/cHcriW7xcUcBcHvO0W4BdK8omWOi","fmkfWRNcT0y","W48ltmof","W6T/zCk7xa","jSkhWQlcVLK","qXZdP8od","mLq9hvdcVaD+WQxdGHvGjxmseaXQ","lfVcThmSmtvH","cmk9rWbe","p8ocadyt","W5D4Dmkmxq","WP7cPCorW5hdNG","WQFcSubuWOjJySo+","WO3dVJjUWRbh","WRFcTNxcT8kt","Efi6W519","p3VcRmk5","twRcPCodW5q9WRJcRxaxW49LW7RdVmoMW44Dug7dPmop","Fmkyz03cG8ogW5dcJmkSt8ok","nSkdWQBcRhC","WOvXWQVdHCo2","WRpcPSkMrSkN","W53cQsr7WOL7","cd8IWPBcRZnjmG","eLdcPSoMWQy","n8ksWR/dQmon","m8k4p8kC","aCo2W48XWRu","d8o5dcSlW5y","W7i3a8oeW7BcIG","qCogW5nWgmkItxq","d8kqWRddOSktaSk/smo6W4u/AmkLWO/cNdjd","gw7cOSofWQm","WOtdGqdcO8kL","aNVcS8k0","pIK1WPBcJ8ktvKZdKmk0Fhy2W49Sph8GWQmwyq","u8ozW7zvkq","WPxcR8ouW5NdHgm","ov3cHCo8WQa","W4FcGvNdJG","WP9rW6/dT8kNFW","WPxcKgpcSCocW47dLSkXW63cQLOWx8kIW74OWReeWQ3cLmkO","lviV","WQXfWP/dUG","W70CWQ1HmSoKWOeE","W69cuIFdIW","dCo3vmkxW5u","W7RcSwNdUCoNW7uT","vmoFW4PWgW","pfFcSCk2aa","h2pcRSkJdq","WPNdVajIWP4","WPNdSI5RWPm","dmk9tW0bfHjhbmo5WRBcVJTmnsvxWQnLW5lcGSkNWQhdQIK","W6ZdL8oLh8ohWRtdI0jLW6BcGmozDq","p8oOBmkIW5m","a13cSLKT","lCogr8kMW6y","W5KAW5/cKmki","WQTqWPZdUCoh","WPXDWPDIiG","WR/dIYxcLmk9","w8oEW7bxoq","W6CCW4xdN8kX","W5/dMZ8ZESogpCoXW6uVsSofW6ZcI8oVqG","rSogeIldLq","W7L4W44obG","WOyFDYi","W43dRcLBWQ5Wpa","qcldT1fc","WOldQqRcUSkM","WPBcKKDCWPC","W6W6vmoyWO0","W61tBmkwCW","k8oDjGGR","twRcPCodW5q6WR7cSw0wW455W6tdUSoMW44Dug/dPmop","uCoAW4HZf8k1F3pcNd/cKq","wb7dMhNcP8oJ","i1S2ebZdVvi8","n8kiWRBcQu8","W7CpuCokWRhdVW","W71LW5mwcW","hCkQtXOqsLi","vGxdLW","p0/cSCo1WQy","WQVcVevEWRP5","WONdOYr1WRm","B8ooisddOG","W7LiACkbCmoT","iLRcSW","twRcPCodW5q6WRJcSw0rW49LW7VdVmo6W5ids3q","WQxcVf9uWPW","Ce9QaeVdSWmUWQBcIWG","zXldOW","b8olaYSX","W4ddPGVcImkdW7xcQG","dCk1WRxcTxS","yGddLKLx","W53dNsK6","W57dJdiMiq","FHtdVq","W4JdKJK","smohW6hcSCkoamk/kmkZWQz0cmo5","oIfkyKHpWR3cK1PiWQFcH8oX","nmk4WPddQSox","WPCbW7DsvhbTfCoOW5NcRCoHWQJcOCkzECkMWR3cNdxcQsa","W7T5W5ygn1m","WQNcNKqQz8k4WOe","WPtcH23cUCkE","b8owdc8t","W5ZdLtu6aG","W7xcOtbqWOm5cWHWW6HT","W7qvW7irzSkJW5qnWPyDmG/cJG","WO1AWQfclq","WQRcSSk/xCkR","W7vzDCkAyW","W7xcPs5wWPW","zdddJxrJ","FHJdNLft","W6VdHKbugq","kftcM8o6WO8","j8kLWQVdPCom","W6ddNty3","W5dcPa9sWQC","WPxcKgpcSCocW4FdNSkTW7tcQ0qYrSk5W74QWRCd","W7xcOtbqWOm5","WR/cNX8Py8k4W6OrDmoegXq","q1uXpX4","BvNdMSoQW5RcHConWOat","udNdOLjv","WQiTW5DKja","z8kjFexcGmox","W49PtCkjAG","W5DSW7yRbG","smocW6xcTmkja8oJfSkDWPfLla","WRT7u8kwWPpdLSkxW4KmW77cQNFcUG","FmkyBe7cJq","w3igpW","jLWT","pCkJWRNcVvq","xCo3bIJdMve","W7L4W5yqfW","t8oQdIddQuXDW74","W6ddRruHgW"];return(_0x1ef2=function(){return e})()}function _temp2(e,t){const W=_0x342ea1,o={JQigD:"rgba(80,50,25,0.6)"},n={};return n.cx=e.cx,n.cy=e.cy,n.r=e.r,n[W(214,"38$I")]=o.JQigD,_0x2fae71(Circle,n,"spot-"+t)}
@@ -1 +0,0 @@
1
- "use strict";const _0x4b7816=_0x3d3b;!function(){const e=_0x3d3b,t=_0xc939();for(;;)try{if(427541==parseInt(e(471,"6t^2"))/1+-parseInt(e(413,"S$!I"))/2+parseInt(e(345,"Zu$a"))/3+parseInt(e(422,"daF%"))/4+-parseInt(e(468,"3zoO"))/5+-parseInt(e(386,"jinz"))/6+-parseInt(e(432,"qKSw"))/7*(-parseInt(e(441,"0]Yr"))/8))break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import _0x3ff5f7,{useRef,useEffect,useState,useMemo}from"react";import{View,Text,StyleSheet}from"react-native";import{Gesture,GestureDetector}from"react-native-gesture-handler";import _0x5bd13b,{useSharedValue,runOnJS}from"react-native-reanimated";import{useSpaceFighterStore,useSFListVersion}from"../SpaceFighterStore.js";function _0x3d3b(e,t){e-=318;const W=_0xc939();let o=W[e];if(void 0===_0x3d3b.vUtSpu){const e=function(e,t){let W,o,r=[],n=0,a="";for(e=function(e){let t="",W="";for(let W,o,r=0,n=0;o=e.charAt(n++);~o&&(W=r%4?64*W+o:o,r++%4)?t+=String.fromCharCode(255&W>>(-2*r&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(let e=0,o=t.length;e<o;e++)W+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(W)}(e),o=0;o<256;o++)r[o]=o;for(o=0;o<256;o++)n=(n+r[o]+t.charCodeAt(o%t.length))%256,W=r[o],r[o]=r[n],r[n]=W;o=0,n=0;for(let t=0;t<e.length;t++)o=(o+1)%256,n=(n+r[o])%256,W=r[o],r[o]=r[n],r[n]=W,a+=String.fromCharCode(e.charCodeAt(t)^r[(r[o]+r[n])%256]);return a};_0x3d3b.SVPgpY=e,_0x3d3b.YbYOcP={},_0x3d3b.vUtSpu=!0}const r=W[0];_0x3d3b.kMDbFb!==r&&(_0x3d3b.YbYOcP={},_0x3d3b.kMDbFb=r);const n=_0x3d3b.YbYOcP[e];return void 0===n?(void 0===_0x3d3b.tJbTzy&&(_0x3d3b.tJbTzy=!0),o=_0x3d3b.SVPgpY(o,t),_0x3d3b.YbYOcP[e]=o):o=n,o}import{playSound,GAME_SOUNDS}from"../../../services/SoundsService.js";import{playHaptic,HapticType}from"../../../services/HapticsService.js";function _0xc939(){const e=["W61Dz8oOha","bKCMWRThxqddOmoIiG/cImkYWRuCltylWP5kWRi","W70jW7VcVgmnWO7dLSkfW7mtW78TW4PHemozW6rRW7RcLq","W7hcOX4Q","W7zAC8o0gKKQW6lcVw1Sv8kXuhJcQrj5W5dcSW","W4hcM8kltCoFdq","W6FdTgCyvb8","FGTsW5ldLe3cKW","W6fviCkZWPtcKgmKW53dIvlcJeRdPmoFWQRdJCoEWQZdVSkQsZSLiIvgW6DraahcRCkAW4mfWROUW5qthmoU","kqmppmolWRvDBq","W5JcLmkrs8oKhmkNW7SGW6RdGmkDWPZdI8o9iwi","W7GuW7DyW5a0W4ylDa","WQrfWRupWOLSWQaGFCk4jCoUW64","W7PWCSosga","W7n4W4zsW7tcPNTNWQ3cUq","W7qhcafcWQfhW6m","W43cQ8oIuNfXmMddRaXUwI8","WQVdLSo2","W4WxjGVdMITw","qMzss8k6zfXu","W5FcLCkms8obdmkTW6GHW7e","W7BcNSokDLXA","W4xcImkduCoLgCkLW70SW6VdMG","WQ7cMwC","eu0HWPTDqaRdVa","CNqwzKTBW48F","W7qgW7fAW4S1W7SaDW","fZmrlSo9nb17fwRcQmkfW6K","W5lcM8kbv8oZdCknW7WzW6NdJ8kxWQhdJmoU","WO3cJSkzWPCM","iCktW4a","W71LW7rEW6JcQh5QWQq","W60jW6hcM3yE","ntldPmolW78","x8o2iXCPFuO","W5jXrmojpxe","hdfHW5NdTNxcQCkwbSk+sLJcJG","kaOvW7ZdNSkEW7i","W4DWW41mumoccGZcUtLRF14","W6pcSmkskCo0vSkKhCk1D0FdLCk6","W4jtmmkKWPq","aSo4WRtcGvn5W53dQG","zW7cHILZ","W6CcW7ZcM2ezWO7dH8kpW64CW6OkW69Sf8ozW6rUW7a","WPTxBu7cH3nnzSkCvmoqWQq","W7mbpSkpWPZcJs3dTW","W55CrmkJjSo+W6/cKG","vCkfWORcN8kd","WRddVvz/nSoLt8orW5NcNYOIWP0","W5lcJ8kqtCoZb8kW","mmo9WR/cKWfXW5OkndLQWP/dKczDCmk3nCoPa8oQuun+W7qe","W53cTmoVxx19pwBdPq","hd7dVfWihmkxWQ0","W6CbpSktWOBcRZBdVLZcKhmmWPPSW6ZdGSowhYi","kNrrW5StCca","wHdcOq","W6KmmrbsWQLfW6m","tmoIiHyPDW","WQ/dJCksxNDepwtdVG","karuW4NdH0VcM8k6","hsmvpSoN","yCkdWOJcQCksqWZdIW","W6XeBmoPha","rMziBmkRDW","W6CbpSkpWPJcJtRdT1pcI2edWOfbW4ddHmohdIzDW5ddTCkU","jwmbW7RdJmk0W4y","W4CHjmknWRa","WPpdTdaXW6KsmCoAW5f8ia","zCktWO7cImkdtaW","zWZcSYzH","De4nFw4","W4/cLmkRW7RdR8k1BmkiW5ldQSoQWOe","W7ZcMSoaELnCg1ZdHsb5CbhcGSo+","bSoOWRlcOej2W50","W5ZcN8kpua","WRrvvLapW74jW4pdOSoYW6VdK8kq","iWCjbmo+WQDDBComl8oXW4pcVSkOWOHjW7pcNG","W5dcKmk1W7JdP8kOs8k0W5BdV8oMWONcSmkgyd3dMmo9W7G","cfecWP5iuaZdVmoR","WQpcH3vHqW","W74YW6ZcVCo/WOVcSaq","W4xcKmkTW47dSSk6wSkc","W67cRWOOE8k7","W4iZW6ZcPSo9WOlcOq","aCkLxCogwfZdTCo8AJVdO8o4W7q","q29dya","gc7dUN0ze8kx","uX9wW4NdLKlcK8kGA8kdeSogW4xdLgiGWR4kWQiKW6v5gCk4wmkMWP49wd4gDCk8WO/cISoaW6ZcLcfFfqf7","lYRcON/dNq","WOngymkSW47dJdC2WONcLqxcGHO","F1njxSkiW6urwmo5eSoBW5/cNG","WQ/cLhVdHa","W7pcTSkdW4tdIq","AMDfW48qEdi","WPidW4G1oSkflSoBfCovjXRdJa","W6DvW658DSoVjsFcMW","W5hcGmk7W67dPCkPr8kfW4m","yMJcSCktWRuICmkitCoGaSoR","jtJdVmoTW75xCmkaCmolaCo/gI3cV8ofl8kuW6HxWR3dK8oybNJdMG","fqxcMMtdSG","W47cMSkQW7JdISkYsmkc","W7qxW7zqW5uVW6ybxa","vmkNWR4","W7nfW7HCyCo8oca","WRBdLmoTsCko","AmkjWOS","qdBcHrnbFmkt","W4nWxSkun8oN","BYLIW6ldKG","pG0slSot","f8o4WQFcU1rSW4ZdVCkYWQNcHSkvk0hcS8k8W4hcUmo9WOZcV2uYfSouadRcIg4u","W4hcGmkRW6/dO8k1wG","WOxcJmk4W5pdIu4bWQW","WPJcG8kQW5xdHW","yhXeW4KhyYvAW61jW6lcUKNdSxb8dW","aIRdQKix","W6xcRXagyCkNeSoMW7dcPJmkWPRdOmoIjHXil8o4","vwXvCCk6BeDF","pYlcON7dNx8","W6tdPxuivbHvdZVcJW","gmkCW53dQNtcVwFcGmk/W6dcRSorWPRcT8kCiYiMW4xcIMC","rmoWfCkckqBcRSoFFq","Da1WW4ZdKfRcJSkRla","pbvzW7BdLG","h8oLn10PjG0","WRxcOgtdNX4","lwSvWRP9","W5ryj8k/WPddHxyVW6e","WQBcPmk9W4JdQG","cHVcJ0NdVvldRt7dRaPAWQBcHa","W73cJSory1faaa","WPqZW7ZcPCkCW4xcJG","W4ngWO1XBmoABW","W6rfW5y","WRdcMgFdLq","W4fFlmkKWR3dNgSTW5C","WORcICkBWOSwgmofWPG","y8oqa8kNma","WQ3cNMO","W6uuW6XnW7a+","W4ZcUe99WPS","hCohW5ddOCoyyHFcJqFcJNKlkG","W5zpjSkIWPNdNNy","c0fPyGHSma","W5u6W7BdTW","bIm6oCoM","W5dcNmk+W7xdSG","iWmwaa","W4m6W6O","WPNdVHJcOCoyWPhcVCk3W4ZcVfL+WPW1WRC+WP3dUNyVF8okW4JcR8kRgq","W7DvW759CmoZoa","cmkyACo+kW","ceWHWOzBxaBdPSoLla3cQmkbWRSrpdqqWPfjWRq","W6tcJJuaEW","W4nbWPPIFCor","uYJcNIbi","W5uEeSkVWQ0","W5lcN8kms8oZgW","W6P8xSkHcG","W7jrBCoV","gJNdU2aqcmkxWQ0","WPNcTmkUWQOL","W7hcSWOSsCkHgmo5W43cSZa5WOW","W49dWP5GymoayG","WRdcG2ryqCoFW6S2W7OLrCkGW6FdIG","WRlcMmkDWRefhSouWO8","W5i2W7/cT8o9WO/cPXFcJCkT","mtZdPCobW4XMESkp","lSoSWQZcMYvHW5Woici","WRDgW6PPC8o7kG"];return(_0xc939=function(){return e})()}import{ParticleBlast}from"../../../helpers/index.js";import{AsteroidComponent}from"./AsteroidComponent.js";import{Spacecraft3D}from"./Spacecraft3D.js";import{jsx as _0x308c25,Fragment as _0x513bc4,jsxs as _0x30954f}from"react/jsx-runtime";const PARTICLE_COLORS=[_0x4b7816(335,"!YQo"),_0x4b7816(328,"GTgL"),"#ff6b35"],MAX_BLASTS=3,BLAST_DURATION=600,BLAST_PARTICLES=5,AsteroidsLayer=_0x3ff5f7[_0x4b7816(351,"JGbz")](({gameService:e})=>{const t=_0x4b7816,W={LJuAy:function(e){return e()}}[t(355,"dkI2")](useSFListVersion),o=useMemo(()=>{const e=t;return useSpaceFighterStore[e(433,"q1r7")]()[e(400,"jinz")]},[W]);return _0x308c25(_0x513bc4,{children:o.map(t=>_0x308c25(AsteroidComponent,{asteroid:t,gameService:e},t.id))})}),SpacecraftLayer=_0x3ff5f7.memo(({xSV:e,ySV:t})=>{const W=_0x4b7816,[o,r]=useState(0),n=useRef(!1);useEffect(()=>useSpaceFighterStore[_0x3d3b(470,"5Zy2")](e=>e.isControllingSpacecraft,e=>{n.current!==e&&(n.current=e,r(e=>e+1))}),[]);const a=useMemo(()=>useSpaceFighterStore[_0x3d3b(420,"*pY&")]().spacecraft,[o]),s={};return s[W(323,"5N7)")]=a,s.isControlled=n.current,s[W(337,"1[L[")]=e,s[W(391,"S$!I")]=t,_0x308c25(Spacecraft3D,s)}),BlastEffectsLayer=_0x3ff5f7[_0x4b7816(448,"]kHs")](()=>{const e=_0x4b7816,t={eDrRp:function(e,t){return e>=t},jtGtJ:function(e,t,W){return e(t,W)}},[W,o]=useState(0),r=useRef([]),n=useRef(!0);return t[e(344,"0]Yr")](useEffect,()=>{const t=e;return n[t(467,"$%Ps")]=!0,()=>{n[t(467,"$%Ps")]=!1}},[]),BlastEffectsLayer._trigger=(W,a)=>{const s=e;if(!n[s(457,"(Bhv")])return;if(t[s(387,"32kB")](r[s(460,")WbH")][s(456,"daF%")],3))return;const d="blast-"+Date[s(479,"Brb)")](),S={};S.id=d,S.x=W,S.y=a,r[s(423,"]kHs")]=[...r[s(408,"GTgL")],S],o(e=>e+1),setTimeout(()=>{const e=s;n[e(485,"5Zy2")]&&(r.current=r.current[e(322,"^]HV")](e=>e.id!==d),o(e=>e+1))},600)},_0x308c25(_0x513bc4,{children:r[e(442,"Brb)")].map(e=>_0x308c25(ParticleBlast,{x:e.x,y:e.y,colors:PARTICLE_COLORS,particleCount:5,duration:600},e.id))})});BlastEffectsLayer[_0x4b7816(340,"6qQo")]=(e,t)=>{};const InstructionsOverlay=_0x3ff5f7[_0x4b7816(363,"32kB")](()=>{const e=_0x4b7816,t={LNTnJ:function(e,t){return e>t},fDQOt:function(e,t,W){return e(t,W)},pkiAl:function(e,t,W){return e(t,W)},zjfUz:function(e,t,W){return e(t,W)}},W=useSFListVersion();return t[e(357,"daF%")](useMemo,()=>{const W=e;return t[W(473,"^]HV")](useSpaceFighterStore[W(369,"6qQo")]()[W(405,"1[L[")].length,0)},[W])?null:t[e(483,"JGbz")](_0x30954f,View,{style:styles[e(356,"Cg3i")],children:[t[e(359,"oUwi")](_0x308c25,Text,{style:styles[e(384,"]kHs")],children:e(461,"4c2W")}),t[e(487,"rMST")](_0x308c25,Text,{style:styles[e(417,"p&h8")],children:e(382,"WR(O")})]})});export const GameArea=_0x3ff5f7.memo(({gameService:e,soundEnabledRef:t,hapticEnabledRef:W})=>{const o="JGbz",r="]kHs",n=_0x4b7816,a={JTfvf:function(e,t){return e-t},gXhtI:function(e,t){return e+t},QCZYO:function(e,t){return e<t},SEnQX:function(e,t,W){return e(t,W)},rWBBc:n(478,"S$!I"),yqbMk:function(e,t){return e(t)},DMqHW:function(e,t){return e(t)},AzXsE:function(e,t,W){return e(t,W)},XspuW:function(e,t,W){return e(t,W)}},s=useSharedValue(useSpaceFighterStore[n(477,"2oM6")]()[n(372,"kiXf")].x),d=useSharedValue(useSpaceFighterStore[n(383,o)]().spacecraft.y),S=useRef(useSpaceFighterStore[n(435,"Brb)")]()[n(326,"4c2W")]),i=a[n(332,"rMST")](useRef,0),u=useRef(0),x=a[n(416,"oUwi")](useRef,0),f=useRef(()=>{const o=n;if(!e[o(402,r)])return;const s=e[o(375,"Cg3i")](),d=e[o(320,"daF%")]();if(0===d[o(377,"daF%")])return;const S=Date[o(342,"(9mh")](),u=s[o(338,"(9mh")]/2,x=s.x-u,f=s.x+u,k=a.JTfvf(s.y,u),m=s.y+u;let b=!1;for(const[,e]of d)if(f>e.x&&x<a[o(444,"0F9v")](e.x,e[o(414,"WR(O")])&&m>e.y&&a[o(466,"5Zy2")](k,e.y+e[o(395,"qKSw")])){b=!0;break}if(b&&a.JTfvf(S,i.current)>2e3){i.current=S,playSound(GAME_SOUNDS[o(390,"qKSw")][o(425,"qKSw")],t[o(381,"4c2W")]),a[o(440,"@kq9")](playHaptic,HapticType[o(349,"JGbz")],W[o(485,"5Zy2")]),BlastEffectsLayer[o(454,"(Bhv")](s.x,s.y),useSpaceFighterStore[o(426,")WbH")]()[o(474,"5Zy2")]();const r=useSpaceFighterStore[o(486,"rMST")]()[o(370,"(Bhv")];return e[o(376,"p&h8")](r.x,r.y),void e[o(438,"@kq9")](!1)}for(const[,n]of d)!n[o(380,"5N7)")]&&n.y>m&&(n[o(431,"GTgL")]=!0,e[o(424,"kiXf")](n[o(343,"jinz")]),useSpaceFighterStore.getState()[o(450,"JGbz")](n[o(379,r)]),playSound(GAME_SOUNDS[o(412,"2oM6")][o(443,"oUwi")],t[o(408,"GTgL")]),playHaptic(HapticType[o(365,"6qQo")],W[o(347,"!A$h")]))}).current;a[n(434,o)](useEffect,()=>{e[n(484,"^]GL")](s,d)},[e,s,d]),useEffect(()=>(e.setOnCollisionCheck(f),()=>{e[_0x3d3b(427,"@kq9")](null)}),[e,f]),useEffect(()=>{const t=n;return useSpaceFighterStore[t(469,"2oM6")](e=>e[t(452,"Cg3i")],W=>{const o=t;if(S.current=W,W){i[o(354,"2oM6")]=0;const t=useSpaceFighterStore[o(455,"5Zy2")]().spacecraft;s[o(329,"hht$")]=t.x,d[o(462,"^]HV")]=t.y,e[o(366,"daF%")](t,useSpaceFighterStore[o(393,"l(@O")]().asteroids)}})},[e,s,d]);const k=useRef(o=>{const r=n,a=r(463,"WR(O")[r(436,"32kB")]("|");let s=0;for(;;){switch(a[s++]){case"0":useSpaceFighterStore[r(415,"^]GL")]()[r(353,"ptV4")](!0);continue;case"1":playHaptic(HapticType[r(409,"32kB")],W[r(334,"qKSw")]);continue;case"2":x[r(480,"oUwi")]=o;continue;case"3":playSound(GAME_SOUNDS[r(333,"^]HV")].GRAB,t[r(447,"^]GL")]);continue;case"4":u.current=e.getSpacecraftX();continue;case"5":e.setSpacecraftControlled(!0);continue;case"6":if(!S[r(346,"WR(O")])return;continue}break}})[n(336,"3zoO")],m=a[n(453,"tOjo")](useRef,t=>{if(!S[n(392,"#Q@h")])return;const W=t-x.current,o=u.current+W;e.controlSpacecraftSV(o)})[n(439,"rws!")],b=useRef(()=>{const o=n;e[o(451,"5Zy2")](),useSpaceFighterStore[o(419,"@kq9")]()[o(472,"6t^2")](!1),playSound(GAME_SOUNDS[o(410,"q1r7")].RELEASE,t[o(467,"$%Ps")]),playHaptic(HapticType[o(330,"Cg3i")],W[o(411,"RGHo")])})[n(354,"2oM6")],_=useMemo(()=>Gesture[n(404,")Gin")]().onStart(e=>{const t=n;"YVhCz"===a[t(482,"4c2W")]?_0x5825aa.registerSpacecraftSharedValues(_0x342211,_0x1d1f1f):runOnJS(k)(e[t(331,"WR(O")])})[n(430,"396v")](e=>{const t=n;runOnJS(m)(e[t(475,"jinz")])}).onEnd(()=>{a[n(319,")WbH")](runOnJS,b)()})[n(388,"1[L[")](()=>{a[n(421,"Zu$a")](runOnJS,b)()}),[k,m,b]),p=useMemo(()=>[styles.gestureOverlay],[]),l={};l.gameService=e;const C={};C[n(476,"Zu$a")]=s,C[n(429,"oUwi")]=d;const O={};return O[n(327,"q1r7")]=p,_0x30954f(View,{style:styles[n(371,"6t^2")],children:[a[n(341,"27VY")](_0x308c25,AsteroidsLayer,l),a[n(360,"@kq9")](_0x308c25,BlastEffectsLayer,{}),a[n(362,"*pY&")](_0x308c25,SpacecraftLayer,C),_0x308c25(GestureDetector,{gesture:_,children:a[n(403,"6qQo")](_0x308c25,_0x5bd13b.View,O)}),_0x308c25(InstructionsOverlay,{})]})});const _0x23fa0b={};_0x23fa0b[_0x4b7816(459,"l(@O")]=1,_0x23fa0b[_0x4b7816(321,"l(@O")]=_0x4b7816(389,"396v");const _0x46b811={};_0x46b811[_0x4b7816(398,"Cg3i")]=_0x4b7816(399,"0F9v"),_0x46b811[_0x4b7816(352,"!YQo")]=0,_0x46b811.left=0,_0x46b811[_0x4b7816(374,"32kB")]=0,_0x46b811.bottom=0,_0x46b811[_0x4b7816(446,"qKSw")]=_0x4b7816(396,"]kHs"),_0x46b811[_0x4b7816(481,"*pY&")]=10;const _0x2db118={};_0x2db118.position=_0x4b7816(364,")WbH"),_0x2db118[_0x4b7816(397,"tOjo")]=0,_0x2db118.bottom=0,_0x2db118[_0x4b7816(465,"(9mh")]=0,_0x2db118[_0x4b7816(350,"5Zy2")]=0,_0x2db118[_0x4b7816(367,"3zoO")]=.6,_0x2db118.alignItems=_0x4b7816(406,"p&h8"),_0x2db118[_0x4b7816(368,"tOjo")]=_0x4b7816(437,"l(@O");const _0x1c4199={};_0x1c4199[_0x4b7816(407,"6t^2")]=_0x4b7816(428,"$%Ps"),_0x1c4199[_0x4b7816(339,"WR(O")]="center",_0x1c4199.fontSize=16,_0x1c4199[_0x4b7816(394,"]kHs")]=_0x4b7816(348,"!YQo"),_0x1c4199[_0x4b7816(445,"5Zy2")]=8;const _0x25570c={};_0x25570c.color=_0x4b7816(373,"2oM6"),_0x25570c[_0x4b7816(325,"27VY")]=_0x4b7816(361,"]kHs"),_0x25570c[_0x4b7816(385,"jinz")]=8;const _0x1a9a73={};_0x1a9a73.gameArea=_0x23fa0b,_0x1a9a73.gestureOverlay=_0x46b811,_0x1a9a73[_0x4b7816(324,")Gin")]=_0x2db118,_0x1a9a73[_0x4b7816(318,"$%Ps")]=_0x1c4199,_0x1a9a73[_0x4b7816(378,"32kB")]=_0x25570c;const styles=StyleSheet[_0x4b7816(358,"3zoO")](_0x1a9a73);