@pkmn/sim 0.8.3 → 0.8.5

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 (286) hide show
  1. package/build/cjs/config/formats.js +163 -212
  2. package/build/cjs/config/formats.js.map +1 -1
  3. package/build/cjs/data/abilities.js +370 -165
  4. package/build/cjs/data/abilities.js.map +1 -1
  5. package/build/cjs/data/conditions.js +0 -3
  6. package/build/cjs/data/conditions.js.map +1 -1
  7. package/build/cjs/data/formats-data.js +330 -312
  8. package/build/cjs/data/formats-data.js.map +1 -1
  9. package/build/cjs/data/items.js +2 -2
  10. package/build/cjs/data/items.js.map +1 -1
  11. package/build/cjs/data/legality.js +424 -104
  12. package/build/cjs/data/legality.js.map +1 -1
  13. package/build/cjs/data/mods/gen1/formats-data.js +22 -22
  14. package/build/cjs/data/mods/gen1/moves.js +6 -8
  15. package/build/cjs/data/mods/gen1/moves.js.map +1 -1
  16. package/build/cjs/data/mods/gen2/formats-data.js +43 -43
  17. package/build/cjs/data/mods/gen2/formats-data.js.map +1 -1
  18. package/build/cjs/data/mods/gen2/moves.js +4 -7
  19. package/build/cjs/data/mods/gen2/moves.js.map +1 -1
  20. package/build/cjs/data/mods/gen3/abilities.js +6 -5
  21. package/build/cjs/data/mods/gen3/abilities.js.map +1 -1
  22. package/build/cjs/data/mods/gen3/formats-data.js +32 -32
  23. package/build/cjs/data/mods/gen3/formats-data.js.map +1 -1
  24. package/build/cjs/data/mods/gen3/moves.js +15 -10
  25. package/build/cjs/data/mods/gen3/moves.js.map +1 -1
  26. package/build/cjs/data/mods/gen3/scripts.js +11 -6
  27. package/build/cjs/data/mods/gen3/scripts.js.map +1 -1
  28. package/build/cjs/data/mods/gen4/abilities.js +8 -2
  29. package/build/cjs/data/mods/gen4/abilities.js.map +1 -1
  30. package/build/cjs/data/mods/gen4/moves.js +49 -45
  31. package/build/cjs/data/mods/gen4/moves.js.map +1 -1
  32. package/build/cjs/data/mods/gen4/scripts.js +11 -6
  33. package/build/cjs/data/mods/gen4/scripts.js.map +1 -1
  34. package/build/cjs/data/mods/gen5/abilities.js +1 -0
  35. package/build/cjs/data/mods/gen5/abilities.js.map +1 -1
  36. package/build/cjs/data/mods/gen5/moves.js +44 -66
  37. package/build/cjs/data/mods/gen5/moves.js.map +1 -1
  38. package/build/cjs/data/mods/gen6/abilities.js +1 -1
  39. package/build/cjs/data/mods/gen6/abilities.js.map +1 -1
  40. package/build/cjs/data/mods/gen6/moves.js +1 -1
  41. package/build/cjs/data/mods/gen6/moves.js.map +1 -1
  42. package/build/cjs/data/mods/gen7/abilities.js +2 -2
  43. package/build/cjs/data/mods/gen7/abilities.js.map +1 -1
  44. package/build/cjs/data/mods/gen7/moves.js +21 -9
  45. package/build/cjs/data/mods/gen7/moves.js.map +1 -1
  46. package/build/cjs/data/mods/gen8/abilities.js +3 -1
  47. package/build/cjs/data/mods/gen8/abilities.js.map +1 -1
  48. package/build/cjs/data/mods/gen8/moves.js +6 -2
  49. package/build/cjs/data/mods/gen8/moves.js.map +1 -1
  50. package/build/cjs/data/moves.js +760 -770
  51. package/build/cjs/data/moves.js.map +1 -1
  52. package/build/cjs/data/rulesets.js +33 -56
  53. package/build/cjs/data/rulesets.js.map +1 -1
  54. package/build/cjs/data/text/abilities.js +34 -12
  55. package/build/cjs/data/text/abilities.js.map +1 -1
  56. package/build/cjs/data/text/moves.js +9 -9
  57. package/build/cjs/data/text/moves.js.map +1 -1
  58. package/build/cjs/sim/battle-actions.js +21 -21
  59. package/build/cjs/sim/battle-actions.js.map +1 -1
  60. package/build/cjs/sim/battle.js +4 -5
  61. package/build/cjs/sim/battle.js.map +1 -1
  62. package/build/cjs/sim/dex-abilities.d.ts +11 -2
  63. package/build/cjs/sim/dex-abilities.js +1 -0
  64. package/build/cjs/sim/dex-abilities.js.map +1 -1
  65. package/build/cjs/sim/dex-conditions.d.ts +6 -0
  66. package/build/cjs/sim/dex-conditions.js.map +1 -1
  67. package/build/cjs/sim/dex-formats.d.ts +2 -0
  68. package/build/cjs/sim/dex-formats.js +1 -0
  69. package/build/cjs/sim/dex-formats.js.map +1 -1
  70. package/build/cjs/sim/dex-moves.d.ts +1 -4
  71. package/build/cjs/sim/dex-moves.js +0 -1
  72. package/build/cjs/sim/dex-moves.js.map +1 -1
  73. package/build/cjs/sim/exported-global-types.d.ts +2 -2
  74. package/build/cjs/sim/global-types.d.ts +2 -2
  75. package/build/cjs/sim/pokemon.js +7 -4
  76. package/build/cjs/sim/pokemon.js.map +1 -1
  77. package/build/cjs/sim/team-validator.js +1 -1
  78. package/build/cjs/sim/team-validator.js.map +1 -1
  79. package/build/cjs/sim/tools/runner.js +1 -1
  80. package/build/cjs/sim/tools/runner.js.map +1 -1
  81. package/build/esm/config/formats.mjs +163 -212
  82. package/build/esm/config/formats.mjs.map +1 -1
  83. package/build/esm/data/abilities.mjs +370 -165
  84. package/build/esm/data/abilities.mjs.map +1 -1
  85. package/build/esm/data/conditions.mjs +0 -3
  86. package/build/esm/data/conditions.mjs.map +1 -1
  87. package/build/esm/data/formats-data.mjs +330 -312
  88. package/build/esm/data/formats-data.mjs.map +1 -1
  89. package/build/esm/data/items.mjs +2 -2
  90. package/build/esm/data/items.mjs.map +1 -1
  91. package/build/esm/data/legality.mjs +424 -104
  92. package/build/esm/data/legality.mjs.map +1 -1
  93. package/build/esm/data/mods/gen1/formats-data.mjs +22 -22
  94. package/build/esm/data/mods/gen1/moves.mjs +6 -8
  95. package/build/esm/data/mods/gen1/moves.mjs.map +1 -1
  96. package/build/esm/data/mods/gen2/formats-data.mjs +43 -43
  97. package/build/esm/data/mods/gen2/formats-data.mjs.map +1 -1
  98. package/build/esm/data/mods/gen2/moves.mjs +4 -7
  99. package/build/esm/data/mods/gen2/moves.mjs.map +1 -1
  100. package/build/esm/data/mods/gen3/abilities.mjs +6 -5
  101. package/build/esm/data/mods/gen3/abilities.mjs.map +1 -1
  102. package/build/esm/data/mods/gen3/formats-data.mjs +32 -32
  103. package/build/esm/data/mods/gen3/formats-data.mjs.map +1 -1
  104. package/build/esm/data/mods/gen3/moves.mjs +15 -10
  105. package/build/esm/data/mods/gen3/moves.mjs.map +1 -1
  106. package/build/esm/data/mods/gen3/scripts.mjs +11 -6
  107. package/build/esm/data/mods/gen3/scripts.mjs.map +1 -1
  108. package/build/esm/data/mods/gen4/abilities.mjs +8 -2
  109. package/build/esm/data/mods/gen4/abilities.mjs.map +1 -1
  110. package/build/esm/data/mods/gen4/moves.mjs +49 -45
  111. package/build/esm/data/mods/gen4/moves.mjs.map +1 -1
  112. package/build/esm/data/mods/gen4/scripts.mjs +11 -6
  113. package/build/esm/data/mods/gen4/scripts.mjs.map +1 -1
  114. package/build/esm/data/mods/gen5/abilities.mjs +1 -0
  115. package/build/esm/data/mods/gen5/abilities.mjs.map +1 -1
  116. package/build/esm/data/mods/gen5/moves.mjs +44 -66
  117. package/build/esm/data/mods/gen5/moves.mjs.map +1 -1
  118. package/build/esm/data/mods/gen6/abilities.mjs +1 -1
  119. package/build/esm/data/mods/gen6/abilities.mjs.map +1 -1
  120. package/build/esm/data/mods/gen6/moves.mjs +1 -1
  121. package/build/esm/data/mods/gen6/moves.mjs.map +1 -1
  122. package/build/esm/data/mods/gen7/abilities.mjs +2 -2
  123. package/build/esm/data/mods/gen7/abilities.mjs.map +1 -1
  124. package/build/esm/data/mods/gen7/moves.mjs +21 -9
  125. package/build/esm/data/mods/gen7/moves.mjs.map +1 -1
  126. package/build/esm/data/mods/gen8/abilities.mjs +3 -1
  127. package/build/esm/data/mods/gen8/abilities.mjs.map +1 -1
  128. package/build/esm/data/mods/gen8/moves.mjs +6 -2
  129. package/build/esm/data/mods/gen8/moves.mjs.map +1 -1
  130. package/build/esm/data/moves.mjs +760 -770
  131. package/build/esm/data/moves.mjs.map +1 -1
  132. package/build/esm/data/rulesets.mjs +33 -56
  133. package/build/esm/data/rulesets.mjs.map +1 -1
  134. package/build/esm/data/text/abilities.mjs +34 -12
  135. package/build/esm/data/text/abilities.mjs.map +1 -1
  136. package/build/esm/data/text/moves.mjs +9 -9
  137. package/build/esm/data/text/moves.mjs.map +1 -1
  138. package/build/esm/sim/battle-actions.mjs +21 -21
  139. package/build/esm/sim/battle-actions.mjs.map +1 -1
  140. package/build/esm/sim/battle.mjs +4 -5
  141. package/build/esm/sim/battle.mjs.map +1 -1
  142. package/build/esm/sim/dex-abilities.d.mts +11 -2
  143. package/build/esm/sim/dex-abilities.mjs +1 -0
  144. package/build/esm/sim/dex-abilities.mjs.map +1 -1
  145. package/build/esm/sim/dex-conditions.d.mts +6 -0
  146. package/build/esm/sim/dex-conditions.mjs.map +1 -1
  147. package/build/esm/sim/dex-formats.d.mts +2 -0
  148. package/build/esm/sim/dex-formats.mjs +1 -0
  149. package/build/esm/sim/dex-formats.mjs.map +1 -1
  150. package/build/esm/sim/dex-moves.d.mts +1 -4
  151. package/build/esm/sim/dex-moves.mjs +0 -1
  152. package/build/esm/sim/dex-moves.mjs.map +1 -1
  153. package/build/esm/sim/exported-global-types.d.mts +2 -2
  154. package/build/esm/sim/global-types.d.mts +2 -2
  155. package/build/esm/sim/pokemon.mjs +7 -4
  156. package/build/esm/sim/pokemon.mjs.map +1 -1
  157. package/build/esm/sim/team-validator.mjs +1 -1
  158. package/build/esm/sim/team-validator.mjs.map +1 -1
  159. package/build/esm/sim/tools/runner.mjs +1 -1
  160. package/build/esm/sim/tools/runner.mjs.map +1 -1
  161. package/package.json +1 -1
  162. package/build/types/config/formats.d.ts +0 -1
  163. package/build/types/data/abilities.d.ts +0 -3
  164. package/build/types/data/aliases.d.ts +0 -3
  165. package/build/types/data/conditions.d.ts +0 -3
  166. package/build/types/data/formats-data.d.ts +0 -3
  167. package/build/types/data/index.d.ts +0 -11
  168. package/build/types/data/items.d.ts +0 -3
  169. package/build/types/data/learnsets.d.ts +0 -3
  170. package/build/types/data/legality.d.ts +0 -3
  171. package/build/types/data/mods/gen1/conditions.d.ts +0 -12
  172. package/build/types/data/mods/gen1/formats-data.d.ts +0 -3
  173. package/build/types/data/mods/gen1/index.d.ts +0 -7
  174. package/build/types/data/mods/gen1/moves.d.ts +0 -7
  175. package/build/types/data/mods/gen1/pokedex.d.ts +0 -3
  176. package/build/types/data/mods/gen1/rulesets.d.ts +0 -3
  177. package/build/types/data/mods/gen1/scripts.d.ts +0 -6
  178. package/build/types/data/mods/gen1/typechart.d.ts +0 -10
  179. package/build/types/data/mods/gen2/conditions.d.ts +0 -3
  180. package/build/types/data/mods/gen2/formats-data.d.ts +0 -3
  181. package/build/types/data/mods/gen2/index.d.ts +0 -8
  182. package/build/types/data/mods/gen2/items.d.ts +0 -3
  183. package/build/types/data/mods/gen2/learnsets.d.ts +0 -3
  184. package/build/types/data/mods/gen2/legality.d.ts +0 -3
  185. package/build/types/data/mods/gen2/moves.d.ts +0 -6
  186. package/build/types/data/mods/gen2/pokedex.d.ts +0 -3
  187. package/build/types/data/mods/gen2/rulesets.d.ts +0 -3
  188. package/build/types/data/mods/gen2/scripts.d.ts +0 -4
  189. package/build/types/data/mods/gen2/typechart.d.ts +0 -3
  190. package/build/types/data/mods/gen3/abilities.d.ts +0 -3
  191. package/build/types/data/mods/gen3/conditions.d.ts +0 -3
  192. package/build/types/data/mods/gen3/formats-data.d.ts +0 -3
  193. package/build/types/data/mods/gen3/index.d.ts +0 -7
  194. package/build/types/data/mods/gen3/items.d.ts +0 -3
  195. package/build/types/data/mods/gen3/moves.d.ts +0 -6
  196. package/build/types/data/mods/gen3/rulesets.d.ts +0 -3
  197. package/build/types/data/mods/gen3/scripts.d.ts +0 -1
  198. package/build/types/data/mods/gen4/abilities.d.ts +0 -3
  199. package/build/types/data/mods/gen4/conditions.d.ts +0 -3
  200. package/build/types/data/mods/gen4/formats-data.d.ts +0 -3
  201. package/build/types/data/mods/gen4/index.d.ts +0 -8
  202. package/build/types/data/mods/gen4/items.d.ts +0 -3
  203. package/build/types/data/mods/gen4/moves.d.ts +0 -3
  204. package/build/types/data/mods/gen4/pokedex.d.ts +0 -3
  205. package/build/types/data/mods/gen4/rulesets.d.ts +0 -3
  206. package/build/types/data/mods/gen4/scripts.d.ts +0 -1
  207. package/build/types/data/mods/gen5/abilities.d.ts +0 -3
  208. package/build/types/data/mods/gen5/conditions.d.ts +0 -3
  209. package/build/types/data/mods/gen5/formats-data.d.ts +0 -3
  210. package/build/types/data/mods/gen5/index.d.ts +0 -9
  211. package/build/types/data/mods/gen5/items.d.ts +0 -3
  212. package/build/types/data/mods/gen5/moves.d.ts +0 -3
  213. package/build/types/data/mods/gen5/pokedex.d.ts +0 -3
  214. package/build/types/data/mods/gen5/rulesets.d.ts +0 -3
  215. package/build/types/data/mods/gen5/scripts.d.ts +0 -1
  216. package/build/types/data/mods/gen5/typechart.d.ts +0 -3
  217. package/build/types/data/mods/gen6/abilities.d.ts +0 -3
  218. package/build/types/data/mods/gen6/conditions.d.ts +0 -3
  219. package/build/types/data/mods/gen6/formats-data.d.ts +0 -3
  220. package/build/types/data/mods/gen6/index.d.ts +0 -8
  221. package/build/types/data/mods/gen6/items.d.ts +0 -3
  222. package/build/types/data/mods/gen6/learnsets.d.ts +0 -3
  223. package/build/types/data/mods/gen6/legality.d.ts +0 -3
  224. package/build/types/data/mods/gen6/moves.d.ts +0 -3
  225. package/build/types/data/mods/gen6/pokedex.d.ts +0 -3
  226. package/build/types/data/mods/gen6/scripts.d.ts +0 -1
  227. package/build/types/data/mods/gen6/typechart.d.ts +0 -3
  228. package/build/types/data/mods/gen7/abilities.d.ts +0 -3
  229. package/build/types/data/mods/gen7/formats-data.d.ts +0 -3
  230. package/build/types/data/mods/gen7/index.d.ts +0 -7
  231. package/build/types/data/mods/gen7/items.d.ts +0 -3
  232. package/build/types/data/mods/gen7/moves.d.ts +0 -3
  233. package/build/types/data/mods/gen7/pokedex.d.ts +0 -3
  234. package/build/types/data/mods/gen7/rulesets.d.ts +0 -3
  235. package/build/types/data/mods/gen7/scripts.d.ts +0 -1
  236. package/build/types/data/mods/gen8/abilities.d.ts +0 -3
  237. package/build/types/data/mods/gen8/formats-data.d.ts +0 -3
  238. package/build/types/data/mods/gen8/index.d.ts +0 -7
  239. package/build/types/data/mods/gen8/items.d.ts +0 -3
  240. package/build/types/data/mods/gen8/learnsets.d.ts +0 -3
  241. package/build/types/data/mods/gen8/legality.d.ts +0 -3
  242. package/build/types/data/mods/gen8/moves.d.ts +0 -3
  243. package/build/types/data/mods/gen8/pokedex.d.ts +0 -3
  244. package/build/types/data/mods/gen8/rulesets.d.ts +0 -3
  245. package/build/types/data/mods/gen8/scripts.d.ts +0 -1
  246. package/build/types/data/moves.d.ts +0 -3
  247. package/build/types/data/natures.d.ts +0 -3
  248. package/build/types/data/pokedex.d.ts +0 -3
  249. package/build/types/data/pokemongo.d.ts +0 -31
  250. package/build/types/data/rulesets.d.ts +0 -3
  251. package/build/types/data/scripts.d.ts +0 -1
  252. package/build/types/data/tags.d.ts +0 -15
  253. package/build/types/data/text/abilities.d.ts +0 -3
  254. package/build/types/data/text/default.d.ts +0 -3
  255. package/build/types/data/text/items.d.ts +0 -3
  256. package/build/types/data/text/moves.d.ts +0 -3
  257. package/build/types/data/typechart.d.ts +0 -3
  258. package/build/types/lib/index.d.ts +0 -2
  259. package/build/types/lib/streams.d.ts +0 -1
  260. package/build/types/lib/utils.d.ts +0 -139
  261. package/build/types/sim/battle-actions.d.ts +0 -90
  262. package/build/types/sim/battle-queue.d.ts +0 -164
  263. package/build/types/sim/battle-stream.d.ts +0 -67
  264. package/build/types/sim/battle.d.ts +0 -396
  265. package/build/types/sim/dex-abilities.d.ts +0 -35
  266. package/build/types/sim/dex-conditions.d.ts +0 -518
  267. package/build/types/sim/dex-data.d.ts +0 -169
  268. package/build/types/sim/dex-formats.d.ts +0 -170
  269. package/build/types/sim/dex-items.d.ts +0 -110
  270. package/build/types/sim/dex-moves.d.ts +0 -441
  271. package/build/types/sim/dex-species.d.ts +0 -289
  272. package/build/types/sim/dex.d.ts +0 -162
  273. package/build/types/sim/exported-global-types.d.ts +0 -510
  274. package/build/types/sim/field.d.ts +0 -30
  275. package/build/types/sim/global-types.d.ts +0 -510
  276. package/build/types/sim/index.d.ts +0 -13
  277. package/build/types/sim/pokemon.d.ts +0 -427
  278. package/build/types/sim/prng.d.ts +0 -97
  279. package/build/types/sim/side.d.ts +0 -127
  280. package/build/types/sim/state.d.ts +0 -42
  281. package/build/types/sim/team-validator.d.ts +0 -198
  282. package/build/types/sim/teams.d.ts +0 -26
  283. package/build/types/sim/tools/exhaustive-runner.d.ts +0 -52
  284. package/build/types/sim/tools/index.d.ts +0 -2
  285. package/build/types/sim/tools/random-player-ai.d.ts +0 -32
  286. package/build/types/sim/tools/runner.d.ts +0 -41
@@ -59,6 +59,7 @@ export interface EventMethods {
59
59
  onModifySpA?: CommonHandlers['ModifierSourceMove'];
60
60
  onModifySpD?: CommonHandlers['ModifierMove'];
61
61
  onModifySpe?: (this: Battle, spe: number, pokemon: Pokemon) => number | void;
62
+ onModifySTAB?: CommonHandlers['ModifierSourceMove'];
62
63
  onModifyWeight?: (this: Battle, weighthg: number, pokemon: Pokemon) => number | void;
63
64
  onMoveAborted?: CommonHandlers['VoidMove'];
64
65
  onNegateImmunity?: ((this: Battle, pokemon: Pokemon, type: string) => boolean | void) | boolean;
@@ -140,6 +141,7 @@ export interface EventMethods {
140
141
  onFoeModifySpA?: CommonHandlers['ModifierSourceMove'];
141
142
  onFoeModifySpD?: CommonHandlers['ModifierMove'];
142
143
  onFoeModifySpe?: (this: Battle, spe: number, pokemon: Pokemon) => number | void;
144
+ onFoeModifySTAB?: CommonHandlers['ModifierSourceMove'];
143
145
  onFoeModifyType?: MoveEventMethods['onModifyType'];
144
146
  onFoeModifyTarget?: MoveEventMethods['onModifyTarget'];
145
147
  onFoeModifyWeight?: (this: Battle, weighthg: number, pokemon: Pokemon) => number | void;
@@ -218,6 +220,7 @@ export interface EventMethods {
218
220
  onSourceModifySpA?: CommonHandlers['ModifierSourceMove'];
219
221
  onSourceModifySpD?: CommonHandlers['ModifierMove'];
220
222
  onSourceModifySpe?: (this: Battle, spe: number, pokemon: Pokemon) => number | void;
223
+ onSourceModifySTAB?: CommonHandlers['ModifierSourceMove'];
221
224
  onSourceModifyType?: MoveEventMethods['onModifyType'];
222
225
  onSourceModifyTarget?: MoveEventMethods['onModifyTarget'];
223
226
  onSourceModifyWeight?: (this: Battle, weighthg: number, pokemon: Pokemon) => number | void;
@@ -296,6 +299,7 @@ export interface EventMethods {
296
299
  onAnyModifySpA?: CommonHandlers['ModifierSourceMove'];
297
300
  onAnyModifySpD?: CommonHandlers['ModifierMove'];
298
301
  onAnyModifySpe?: (this: Battle, spe: number, pokemon: Pokemon) => number | void;
302
+ onAnyModifySTAB?: CommonHandlers['ModifierSourceMove'];
299
303
  onAnyModifyType?: MoveEventMethods['onModifyType'];
300
304
  onAnyModifyTarget?: MoveEventMethods['onModifyTarget'];
301
305
  onAnyModifyWeight?: (this: Battle, weighthg: number, pokemon: Pokemon) => number | void;
@@ -369,6 +373,7 @@ export interface EventMethods {
369
373
  onModifySpAPriority?: number;
370
374
  onModifySpDPriority?: number;
371
375
  onModifySpePriority?: number;
376
+ onModifySTABPriority?: number;
372
377
  onModifyTypePriority?: number;
373
378
  onModifyWeightPriority?: number;
374
379
  onRedirectTargetPriority?: number;
@@ -438,6 +443,7 @@ export interface PokemonEventMethods extends EventMethods {
438
443
  onAllyModifySpA?: CommonHandlers['ModifierSourceMove'];
439
444
  onAllyModifySpD?: CommonHandlers['ModifierMove'];
440
445
  onAllyModifySpe?: (this: Battle, spe: number, pokemon: Pokemon) => number | void;
446
+ onAllyModifySTAB?: CommonHandlers['ModifierSourceMove'];
441
447
  onAllyModifyType?: MoveEventMethods['onModifyType'];
442
448
  onAllyModifyTarget?: MoveEventMethods['onModifyTarget'];
443
449
  onAllyModifyWeight?: (this: Battle, weighthg: number, pokemon: Pokemon) => number | void;
@@ -1 +1 @@
1
- {"version":3,"file":"dex-conditions.js","sourceRoot":"","sources":["../../../sim/dex-conditions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dex-conditions.js","sourceRoot":"","sources":["../../../sim/dex-conditions.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,WAAW,EAAE,IAAI,EAAC,MAAM,YAAY,CAAC;AAkmB7C,MAAM,OAAO,SAAU,SAAQ,WAAW;IAezC,YAAY,IAAe;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,4DAA4D;QAC5D,IAAI,GAAG,IAAI,CAAC;QACZ,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACrG,CAAC;CACD;AAED,MAAM,eAAe,GAAc,IAAI,SAAS,CAAC,EAAC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC;AAE5E,MAAM,OAAO,aAAa;IAIzB,YAAY,GAAc;QAFjB,mBAAc,GAAG,IAAI,GAAG,EAAiB,CAAC;QAGlD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,IAA6B;QAChC,IAAI,CAAC,IAAI;YAAE,OAAO,eAAe,CAAC;QAClC,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAiB,CAAC;QAEvD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAQ,CAAC,CAAC;YAC/E,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAQ,CAAC,CAAC;gBACtE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,CAAC,EAAM;QACb,IAAI,CAAC,EAAE;YAAE,OAAO,eAAe,CAAC;QAEhC,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;QAEhC,IAAI,KAAK,CAAC;QACV,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAO,CAAC,CAAC;YACvD,SAAS,GAAG,IAAwB,CAAC;QACtC,CAAC;aAAM,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAO,CAAC,CAAC;YAC9D,SAAS,GAAG,OAA2B,CAAC;QACzC,CAAC;aAAM,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAO,CAAC,CAAC;YACvD,SAAS,GAAG,IAAwB,CAAC;QACtC,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;YACtD,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAqB,CAAC;YACzD,yDAAyD;YACzD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YACvC,OAAO,SAAS,CAAC;QAClB,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;YACxD,SAAS,GAAG,IAAI,SAAS,CAAC,EAAC,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC;QACxE,CAAC;aAAM,IACN,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACvF,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/F,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EACtF,CAAC;YACF,SAAS,GAAG,IAAI,SAAS,CAAC,EAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,SAAS,EAAC,CAAC,CAAC;QACzE,CAAC;aAAM,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC5B,SAAS,GAAG,IAAI,SAAS,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAC,CAAC;QACnE,CAAC;aAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;YAC3B,SAAS,GAAG,IAAI,SAAS,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACP,SAAS,GAAG,IAAI,SAAS,CAAC,EAAC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACvC,OAAO,SAAS,CAAC;IAClB,CAAC;CACD"}
@@ -84,6 +84,8 @@ export declare class Format extends BasicEffect implements Readonly<BasicEffect>
84
84
  readonly rated: boolean | string;
85
85
  /** Game type. */
86
86
  readonly gameType: GameType;
87
+ /** Number of players, based on game type, for convenience */
88
+ readonly playerCount: 2 | 4;
87
89
  /** List of rule names. */
88
90
  readonly ruleset: string[];
89
91
  /**
@@ -306,6 +306,7 @@ export class Format extends BasicEffect {
306
306
  this.ruleTable = null;
307
307
  this.onBegin = data.onBegin || undefined;
308
308
  this.noLog = !!data.noLog;
309
+ this.playerCount = (this.gameType === 'multi' || this.gameType === 'freeforall' ? 4 : 2);
309
310
  }
310
311
  }
311
312
  export class DexFormats {
@@ -1 +1 @@
1
- {"version":3,"file":"dex-formats.js","sourceRoot":"","sources":["../../../sim/dex-formats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dex-formats.js","sourceRoot":"","sources":["../../../sim/dex-formats.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAC,KAAK,EAAC,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAC,IAAI,EAAE,WAAW,EAAC,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAC,IAAI,EAAC,MAAM,cAAc,CAAC;AAElC,OAAO,EAAC,OAAO,EAAC,MAAM,mBAAmB,CAAC;AAE1C,MAAM,WAAW,GAAG,MAAM,CAAC;AAe3B;;;;;;;;GAQG;AACH,MAAM,OAAO,SAAU,SAAQ,GAAmB;IAqBjD;QACC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,QAAQ,CAAC,KAAa;QACrB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QACxC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,eAAe,CAAC,OAAgB;QAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,EAAE,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QACrD,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,EAAE,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QACpD,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QACxE,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QACvE,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,KAAK,EAAE,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,CAAE,CAAC,OAAO,CAAC;oBAAE,OAAO,IAAI,CAAC;YACrE,CAAC;QACF,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,KAAK,EAAE,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,CAAE,CAAC,OAAO,CAAC;oBAAE,OAAO,KAAK,CAAC;YACtE,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC3C,CAAC;IAED,YAAY,CAAC,KAAa;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QACxC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,mBAAmB,CAAC,OAAgB;QACnC,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,EAAE,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QACrD,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,EAAE,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QACpD,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QACxE,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QACvE,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,KAAK,EAAE,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,CAAE,CAAC,OAAO,CAAC;oBAAE,OAAO,IAAI,CAAC;YACrE,CAAC;QACF,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,KAAK,EAAE,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,CAAE,CAAC,OAAO,CAAC;oBAAE,OAAO,KAAK,CAAC;YACtE,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW;QACV,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC/B,IACC,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,UAAU;oBACtE,KAAK,KAAK,cAAc,IAAI,KAAK,KAAK,YAAY,EACjD,CAAC;oBACF,kDAAkD;gBACnD,CAAC;qBAAM,CAAC;oBACP,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC;YACF,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;gBAClF,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC;YAC5D,CAAC;QACF,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAa,EAAE,SAAsC,IAAI;QAC9D,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;YAAE,OAAO,EAAE,CAAC;QACrC,IAAI,MAAM;YAAE,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QACjC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,CAAC,GAAW;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACtC,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5D,OAAO,gBAAgB,CAAC;QACzB,CAAC;QACD,OAAO,MAAM,CAAC,CAAC,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,GAAW;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxC,CAAC;IAED,kBAAkB,CAAC,WAAyB,EAAE,IAAY;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;gBACxC,eAAe,GAAG,CAAC,CAAC;gBACpB,MAAM;YACP,CAAC;QACF,CAAC;QACD,OAAO,eAAe,CAAC;IACxB,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,MAAc,EAAE,KAAa,EAAE,IAAc;QACxE,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACxE,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ;gBAAE,OAAO;YAC9D,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;IAED,iBAAiB,CAAC,IAAY,EAAE,MAAc,EAAE,KAAa,EAAE,IAAc;QAC5E,MAAM,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAChF,IAAI,mBAAmB,KAAK,CAAC,CAAC,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ;gBAAE,OAAO;YACtE,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC;IACF,CAAC;IAED,sFAAsF;IACtF,cAAc,CAAC,MAAc,EAAE,GAAc;QAC5C,MAAM,mBAAmB,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/F,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,CAAC,CAAC;QAEH,wEAAwE;QACxE,uEAAuE;QACvE,uBAAuB;QAEvB,oEAAoE;QACpE,uEAAuE;QACvE,qEAAqE;QACrE,sCAAsC;QAEtC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,IAAI,CAAC;QAC5E,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,IAAI,CAAC;QAC1E,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,GAAG,CAAC;QAC/D,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,IAAI,CAAC;QACtE,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,IAAI,CAAC;QAC9E,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC;QAE9D,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,MAAM,EAAE,CAAC;YACtD,IAAI,CAAC,cAAc,GAAG,CACrB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnC,CAAC,CACD,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,MAAM,EAAE,CAAC;YAC/C,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YACxC,IAAI,MAAM,CAAC,GAAG,KAAK,YAAY,EAAE,CAAC;gBACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC;YACD,kEAAkE;YAClE,6BAA6B;QAC9B,CAAC;QAED,uEAAuE;QACvE,mCAAmC;QAEnC,qBAAqB;QACrB,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,6CAA6C,CAAC,CAAC;QAC7H,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,+CAA+C,CAAC,CAAC;QACrH,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE,EAAE,CAAC;YAC5B,+DAA+D;YAC/D,+DAA+D;YAC/D,0BAA0B;YAC1B,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,4CAA4C,CAAC,CAAC;QAC/H,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACxB,gFAAgF;YAChF,6CAA6C;YAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC;YAC5D,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,GAAG,GAAG,IAAI,IAAI,CAAC,QAAQ,GAAG,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnG,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;YACnC,CAAC;QACF,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG,mBAAmB,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,qBAAqB,mBAAmB,UAAU,MAAM,CAAC,QAAQ,QAAQ,CAAC,CAAC;QACzJ,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,GAAG,mBAAmB,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,qBAAqB,mBAAmB,UAAU,MAAM,CAAC,QAAQ,QAAQ,CAAC,CAAC;QAClK,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACvF,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,mCAAmC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACxK,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;QAClG,IAAI,IAAI,CAAC,WAAW,GAAG,mBAAmB,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,qBAAqB,mBAAmB,UAAU,MAAM,CAAC,QAAQ,QAAQ,CAAC,CAAC;QACzJ,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,mCAAmC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAClK,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,kCAAkC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACjJ,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,kCAAkC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7J,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,kCAAkC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7J,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,yDAAyD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC9L,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,0DAA0D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC/K,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,6LAA6L,CAAC,CAAC;QAChQ,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,+GAA+G,CAAC,CAAC;QAClL,CAAC;QAED,IAAK,MAAc,CAAC,aAAa,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,6KAA6K,CAAC,CAAC;QAChM,CAAC;QACD,IAAK,MAAc,CAAC,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,oLAAoL,CAAC,CAAC;QACvM,CAAC;QACD,IAAK,MAAc,CAAC,YAAY,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC1E,CAAC;QACD,IAAK,MAAc,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACjE,CAAC;QACD,IAAK,MAAc,CAAC,YAAY,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACzE,CAAC;QACD,IAAK,MAAc,CAAC,WAAW,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACvE,CAAC;QACD,IAAK,MAAc,CAAC,cAAc,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC/E,CAAC;IACF,CAAC;IAED,cAAc;QACb,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7E,CAAC;CACD;AAED,MAAM,OAAO,MAAO,SAAQ,WAAW;IA2FtC,YAAY,IAAe;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,4DAA4D;QAC5D,IAAI,GAAG,IAAI,CAAC;QAEZ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAqB,IAAI,QAAQ,CAAC;QACnF,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QAClF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;CACD;AAED,MAAM,OAAO,UAAU;IAKtB,YAAY,GAAc;QAH1B,iBAAY,GAAG,IAAI,GAAG,EAAc,CAAC;QAIpC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,IAAI;QACH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACjF,IAAI,IAAI,CAAC,gBAAgB;YAAE,OAAO,IAAI,CAAC;QAEvC,MAAM,WAAW,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,CAAQ,CAAC,CAAC,yBAAyB;YAClD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC7C,IAAI,MAAM,CAAC,MAAM;gBAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO;gBAAE,SAAS;YAC7C,IAAI,CAAC,EAAE,EAAE,CAAC;gBACT,MAAM,IAAI,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,wDAAwD,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YAC9G,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YAC3C,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;YAC/F,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC;YAC7B,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;gBAAE,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;YACpE,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;gBAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;YAC9D,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS;gBAAE,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;YACtE,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;gBAAE,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC;YACrE,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS;gBAAE,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC;YACvD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;YAEvD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACnC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC;QACpC,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,IAAY;QACpB,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,UAAU,GAAG,CAAC,CAAC;QAC3E,IAAI,CAAC,iBAAiB;YAAE,OAAO,MAAM,CAAC,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC3D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,OAAO,IAAI,CAAC;YACzE,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnB,IAAI,CAAC,WAAW,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACrF,MAAM,iBAAiB,GAAG,MAAM,CAAC,EAAE,GAAG,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAChC,OAAO,iBAAiB,CAAC;IAC1B,CAAC;IAED,GAAG,CAAC,IAAsB,EAAE,SAAS,GAAG,KAAK;QAC5C,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAElD,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAC;QAC7B,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9C,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACjC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,GAAG,EAAE,CAAC,EAAE,CAAC;YAC7D,EAAE,GAAG,CAAC,WAAW,GAAG,EAAE,CAAO,CAAC;QAC/B,CAAC;QACD,IAAI,uBAAuB,GAAqB,IAAI,CAAC;QACrD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChB,IAAI,CAAC;oBACJ,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC3B,SAAS,GAAG,IAAI,CAAC;gBAClB,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACX,CAAC;YACD,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC1D,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YACtB,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,IAAI,SAAS,IAAI,iBAAiB,EAAE,CAAC;gBACpC,uBAAuB,GAAG;oBACzB,WAAW,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC;oBACzC,UAAU,EAAE,KAAK;iBACjB,CAAC;YACH,CAAC;QACF,CAAC;QACD,IAAI,MAAM,CAAC;QACX,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;YAC/C,MAAM,GAAG,IAAI,MAAM,CAAC,EAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAQ,EAAE,GAAG,uBAAuB,EAAC,CAAC,CAAC;QAC/F,CAAC;aAAM,CAAC;YACP,MAAM,GAAG,IAAI,MAAM,CAAC,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,GAAG;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC,gBAAiB,CAAC;IAC/B,CAAC;IAED,YAAY,CAAC,MAAc,EAAE,KAAK,GAAG,CAAC,EAAE,OAA6B;QACpE,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,SAAS,CAAC;QAC1D,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;gBACtB,OAAO,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YACrD,CAAC;QACF,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAElC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YAC1B,SAAS,CAAC,aAAa,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,SAAS,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QAED,wCAAwC;QACxC,mEAAmE;QACnE,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAW,CAAC;gBAC3D,IAAI,CAAC,OAAO;oBAAE,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC;QACF,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAEjD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAClC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE,CAAC;oBACtC,MAAM,cAAc,GAAmB,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAmB,CAAC;oBAC3E,SAAS,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzG,CAAC;qBAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;oBACzC,MAAM,UAAU,GAAe,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAe,CAAC;oBAC/D,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrF,CAAC;qBAAM,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;gBACvD,CAAC;gBACD,SAAS;YACV,CAAC;YAED,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,MAAM,WAAW,GAAG,OAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,IAAI,WAAW,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,cAAc,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC7F,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,0BAA0B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;gBAC3F,CAAC;gBACD,IAAI,WAAW,KAAK,CAAC,KAAK;oBAAE,OAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/D,SAAS;YACV,CAAC;YAED,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxC,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,SAAS,MAAM,CAAC,IAAI,wBAAwB,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;gBACrH,CAAC;gBACD,KAAK,MAAM,MAAM,IAAI,KAAK;oBAAE,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzE,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC5B,SAAS;YACV,CAAC;YACD,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAE,CAAC,CAAC,CAAC;gBACjE,SAAS;YACV,CAAC;YACD,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACxB,IAAI,KAAK,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,gCAAgC,QAAQ,gBAAgB,CAAC,CAAC;gBACpH,IAAI,KAAK,KAAK,aAAa;oBAAE,KAAK,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;gBACvD,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,gBAAgB,IAAI,SAAS,CAAC,EAAE,KAAK,SAAS,CAAC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;oBAC3F,gCAAgC;gBACjC,CAAC;qBAAM,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,IAAI,SAAS,CAAC,QAAQ,KAAK,kBAAkB,EAAE,CAAC;oBAC1F,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,GAAG,QAAQ,EAAE,EAAE,CAAC;wBAChD,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,OAAO,KAAK,8BAA8B,CAAC,CAAC;oBACjF,CAAC;gBACF,CAAC;gBACD,IAAI,SAAS,CAAC,QAAQ,KAAK,kBAAkB,EAAE,CAAC;oBAC/C,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC3B,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,OAAO,KAAK,qDAAqD,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC;oBAC3H,CAAC;oBACD,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC1B,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,OAAO,KAAK,qBAAqB,CAAC,CAAC;oBACxE,CAAC;gBACF,CAAC;gBACD,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACxD,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,sCAAsC,SAAS,CAAC,EAAE,IAAI,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;gBACnI,CAAC;qBAAM,IAAI,gBAAgB,EAAE,CAAC;oBAC7B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC5B,IAAI,SAAS,CAAC,qBAAqB,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,CAAC;4BAClG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gCAC1E,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;4BACtD,CAAC;4BACD,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;4BAC7D,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;wBACnD,CAAC;6BAAM,CAAC;4BACP,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,uDAAuD,CAAC,CAAC;wBAC3F,CAAC;oBACF,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC5B,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,qBAAqB,SAAS,CAAC,EAAE,IAAI,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,aAAa,QAAQ,kBAAkB,SAAS,CAAC,EAAE,IAAI,QAAQ,KAAK,CAAC,CAAC;oBACtL,CAAC;oBACD,IAAI,SAAS,CAAC,qBAAqB,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,CAAC;wBAClG,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,qBAAqB,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAAC;wBACpH,MAAM,IAAI,KAAK,CAAC,qCAAqC,QAAQ,SAAS,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,qBAAqB,CAAC,aAAa,QAAQ,iBAAiB,OAAO,IAAI,CAAC,CAAC;oBACpL,CAAC;gBACF,CAAC;gBACD,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACP,IAAI,KAAK,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,4CAA4C,CAAC,CAAC;gBACxG,IAAI,gBAAgB;oBAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBAC7E,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtD,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,SAAS,MAAM,CAAC,IAAI,wBAAwB,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;gBACzH,CAAC;YACF,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,CAAC,IAAI,KAAK,QAAQ,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACtG,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;YACtE,KAAK,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,YAAY,EAAE,CAAC;gBACnD,yEAAyE;gBACzE,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3B,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAClD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC5B,cAAc;wBACd,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACtC,IAAI,YAAY,CAAC,qBAAqB,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE,CAAC;4BACxG,+BAA+B;4BAC/B,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,IAAI,QAAQ,UAAU,SAAS,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,YAAY,CAAC,qBAAqB,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,qBAAqB,CAAC,4CAA4C,CAAC,CAAC;wBAC5T,CAAC;wBACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;4BAC3B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gCAC5B,YAAY;gCACZ,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,IAAI,QAAQ,UAAU,SAAS,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,MAAM,IAAI,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC;4BAChN,CAAC;4BACD,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;wBAC5C,CAAC;oBACF,CAAC;oBACD,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;gBACvD,CAAC;YACF,CAAC;YACD,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;gBACvE,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACzE,CAAC;YACD,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC;gBAC3E,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC7E,CAAC;YACD,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;gBAChC,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CACd,IAAI,MAAM,CAAC,IAAI,+CAA+C;wBAC9D,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CACxE,CAAC;gBACH,CAAC;gBACD,SAAS,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;YACtD,CAAC;YACD,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;gBACxB,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CACd,IAAI,MAAM,CAAC,IAAI,kDAAkD,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CACrH,CAAC;gBACH,CAAC;gBACD,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;YACtC,CAAC;QACF,CAAC;QACD,SAAS,CAAC,WAAW,EAAE,CAAC;QAExB,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAE3C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC1E,IAAI,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,UAAU;YAClD,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC/D,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAC3D,CAAC;YACF,6DAA6D;YAC7D,8DAA8D;YAC9D,SAAS,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YACrC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACtB,MAAM,KAAK,GAAG,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,EAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAC,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAU,CAAE,CAAC,CAAC;gBACxH,IAAI,OAAO,KAAK,KAAK,QAAQ;oBAAE,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC9E,CAAC;QACF,CAAC;QAED,IAAI,CAAC,OAAO;YAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3C,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,SAAwB,IAAI;QACtD,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,qBAAqB,CAAC,CAAC;QAC9E,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACP,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChE,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACxB,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBACrC,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChD,IAAI,OAAO,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;wBACpE,IAAI,KAAK,KAAK,CAAC;4BAAE,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC1D,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC7B,CAAC;oBACD,IAAI,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACtE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;wBAAE,SAAS,GAAG,IAAI,CAAC;oBACzD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC5D,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;oBAExD,IAAI,SAAS,EAAE,CAAC;wBACf,OAAO,CAAC,gBAAgB,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBACvD,CAAC;oBACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;wBAClC,OAAO,CAAC,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBACnD,CAAC;oBACD,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;gBAC3C,CAAC;gBACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D;gBACC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,EAAE,GAAW,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACzC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,GAAG,CAAC,CAAC;gBAChD,CAAC;gBACD,IAAI,OAAO,KAAK,KAAK,QAAQ;oBAAE,EAAE,GAAG,GAAG,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC5D,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;oBAAE,OAAO,KAAK,EAAE,EAAE,CAAC;gBAC5C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,OAAO,IAAI,EAAE,EAAE,CAAC;gBAC1C,OAAO,EAAE,CAAC;QACX,CAAC;IACF,CAAC;IAED,eAAe,CAAC,KAAS;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QACvB,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC;IAED,eAAe,CAAC,IAAY;QAC3B,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,EAAE,KAAK,YAAY;YAAE,OAAO,YAAY,CAAC;QAC7C,IAAI,EAAE,KAAK,aAAa;YAAE,OAAO,aAAa,CAAC;QAC/C,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,UAAU,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QAChF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC;gBACtC,UAAU,GAAG,CAAC,SAAS,CAAC,CAAC;gBACzB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAO,CAAC;gBACtC,MAAM;YACP,CAAC;QACF,CAAC;QACD,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACnF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACpC,IAAI,SAAS,KAAK,MAAM,IAAI,MAAM,KAAK,QAAQ;gBAAE,OAAO,aAAa,CAAC;YACtE,IAAI,KAAK,CAAC;YACV,QAAQ,SAAS,EAAE,CAAC;gBACpB,KAAK,SAAS;oBAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;oBAAC,MAAM;gBACrD,KAAK,MAAM;oBAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;oBAAC,MAAM;gBAChD,KAAK,MAAM;oBAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;oBAAC,MAAM;gBAChD,KAAK,SAAS;oBAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;oBAAC,MAAM;gBACvD,KAAK,QAAQ;oBAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;oBAAC,MAAM;gBACpD,KAAK,YAAY;oBAChB,oBAAoB;oBACpB,MAAM,SAAS,GAAG;wBACjB,MAAM;wBACN,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY;qBAClE,CAAC;oBACF,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;wBAChE,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC;oBACtC,CAAC;oBACD,SAAS;gBACV;oBACC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC7B,MAAM,OAAO,GAAY,KAAK,CAAC,EAAE,CAAY,CAAC;oBAC9C,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,MAAM,KAAK,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;wBACxG,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;wBAClC,SAAS;oBACV,CAAC;gBACF,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,SAAS,KAAK,SAAS,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3D,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAO,CAAC;gBAC3B,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC9B,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;gBAC/B,CAAC;YACF,CAAC;QACF,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxG,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,GAAG,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;CACD"}
@@ -39,6 +39,7 @@ interface MoveFlags {
39
39
  futuremove?: 1;
40
40
  gravity?: 1;
41
41
  heal?: 1;
42
+ metronome?: 1;
42
43
  mirror?: 1;
43
44
  mustpressure?: 1;
44
45
  noassist?: 1;
@@ -234,7 +235,6 @@ export interface MoveData extends EffectData, MoveEventMethods, HitEffect {
234
235
  willCrit?: boolean;
235
236
  hasCrashDamage?: boolean;
236
237
  isConfusionSelfHit?: boolean;
237
- noMetronome?: string[];
238
238
  noSketch?: boolean;
239
239
  stallingMove?: boolean;
240
240
  baseMove?: string;
@@ -293,7 +293,6 @@ export interface ActiveMove extends MutableMove, RuinableMove {
293
293
  selfDropped?: boolean;
294
294
  selfSwitch?: 'copyvolatile' | 'shedtail' | boolean;
295
295
  spreadHit?: boolean;
296
- stab?: number;
297
296
  statusRoll?: string;
298
297
  totalDamage?: number | false;
299
298
  typeChangerBoosted?: Effect;
@@ -424,8 +423,6 @@ export declare class DataMove extends BasicEffect implements Readonly<BasicEffec
424
423
  readonly forceSTAB: boolean;
425
424
  /** True if it can't be copied with Sketch. */
426
425
  readonly noSketch: boolean;
427
- /** STAB multiplier (can be modified by other effects) (default 1.5). */
428
- readonly stab?: number;
429
426
  readonly volatileStatus?: ID;
430
427
  constructor(data: AnyObject);
431
428
  }
@@ -40,7 +40,6 @@ export class DataMove extends BasicEffect {
40
40
  this.spreadHit = data.spreadHit || false;
41
41
  this.forceSTAB = !!data.forceSTAB;
42
42
  this.noSketch = !!data.noSketch;
43
- this.stab = data.stab || undefined;
44
43
  this.volatileStatus = typeof data.volatileStatus === 'string' ? data.volatileStatus : undefined;
45
44
  if (this.category !== 'Status' && !this.maxMove && this.id !== 'struggle') {
46
45
  this.maxMove = { basePower: 1 };
@@ -1 +1 @@
1
- {"version":3,"file":"dex-moves.js","sourceRoot":"","sources":["../../../sim/dex-moves.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dex-moves.js","sourceRoot":"","sources":["../../../sim/dex-moves.ts"],"names":[],"mappings":"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"}
@@ -501,11 +501,11 @@ export declare namespace RandomTeamsTypes {
501
501
  role: Role;
502
502
  movepool: string[];
503
503
  teraTypes?: string[];
504
- preferredTypes?: string;
504
+ preferredTypes?: string[];
505
505
  }
506
506
  interface RandomSpeciesData {
507
507
  level?: number;
508
508
  sets: RandomSetData[];
509
509
  }
510
- type Role = '' | 'Fast Attacker' | 'Setup Sweeper' | 'Wallbreaker' | 'Tera Blast user' | 'Bulky Attacker' | 'Bulky Setup' | 'Fast Bulky Setup' | 'Bulky Support' | 'Fast Support' | 'AV Pivot' | 'Doubles Fast Attacker' | 'Doubles Setup Sweeper' | 'Doubles Wallbreaker' | 'Doubles Bulky Attacker' | 'Doubles Bulky Setup' | 'Offensive Protect' | 'Bulky Protect' | 'Doubles Support' | 'Choice Item user' | 'Z-Move user' | 'Staller' | 'Spinner';
510
+ type Role = '' | 'Fast Attacker' | 'Setup Sweeper' | 'Wallbreaker' | 'Tera Blast user' | 'Bulky Attacker' | 'Bulky Setup' | 'Fast Bulky Setup' | 'Bulky Support' | 'Fast Support' | 'AV Pivot' | 'Doubles Fast Attacker' | 'Doubles Setup Sweeper' | 'Doubles Wallbreaker' | 'Doubles Bulky Attacker' | 'Doubles Bulky Setup' | 'Offensive Protect' | 'Bulky Protect' | 'Doubles Support' | 'Choice Item user' | 'Z-Move user' | 'Staller' | 'Spinner' | 'Generalist' | 'Berry Sweeper';
511
511
  }
@@ -501,11 +501,11 @@ declare namespace RandomTeamsTypes {
501
501
  role: Role;
502
502
  movepool: string[];
503
503
  teraTypes?: string[];
504
- preferredTypes?: string;
504
+ preferredTypes?: string[];
505
505
  }
506
506
  interface RandomSpeciesData {
507
507
  level?: number;
508
508
  sets: RandomSetData[];
509
509
  }
510
- type Role = '' | 'Fast Attacker' | 'Setup Sweeper' | 'Wallbreaker' | 'Tera Blast user' | 'Bulky Attacker' | 'Bulky Setup' | 'Fast Bulky Setup' | 'Bulky Support' | 'Fast Support' | 'AV Pivot' | 'Doubles Fast Attacker' | 'Doubles Setup Sweeper' | 'Doubles Wallbreaker' | 'Doubles Bulky Attacker' | 'Doubles Bulky Setup' | 'Offensive Protect' | 'Bulky Protect' | 'Doubles Support' | 'Choice Item user' | 'Z-Move user' | 'Staller' | 'Spinner';
510
+ type Role = '' | 'Fast Attacker' | 'Setup Sweeper' | 'Wallbreaker' | 'Tera Blast user' | 'Bulky Attacker' | 'Bulky Setup' | 'Fast Bulky Setup' | 'Bulky Support' | 'Fast Support' | 'AV Pivot' | 'Doubles Fast Attacker' | 'Doubles Setup Sweeper' | 'Doubles Wallbreaker' | 'Doubles Bulky Attacker' | 'Doubles Bulky Setup' | 'Offensive Protect' | 'Bulky Protect' | 'Doubles Support' | 'Choice Item user' | 'Z-Move user' | 'Staller' | 'Spinner' | 'Generalist' | 'Berry Sweeper';
511
511
  }
@@ -543,7 +543,10 @@ export class Pokemon {
543
543
  ignoringAbility() {
544
544
  if (this.battle.gen >= 5 && !this.isActive)
545
545
  return true;
546
- if (this.getAbility().isPermanent)
546
+ // Certain Abilities won't activate while Transformed, even if they ordinarily couldn't be suppressed (e.g. Disguise)
547
+ if (this.getAbility().flags['notransform'] && this.transformed)
548
+ return true;
549
+ if (this.getAbility().flags['cantsuppress'])
547
550
  return false;
548
551
  if (this.volatiles['gastroacid'])
549
552
  return true;
@@ -908,7 +911,7 @@ export class Pokemon {
908
911
  if (pokemon.fainted || this.illusion || pokemon.illusion || (pokemon.volatiles['substitute'] && this.battle.gen >= 5) ||
909
912
  (pokemon.transformed && this.battle.gen >= 2) || (this.transformed && this.battle.gen >= 5) ||
910
913
  species.name === 'Eternatus-Eternamax' || (['Ogerpon', 'Terapagos'].includes(species.baseSpecies) &&
911
- (this.terastallized || pokemon.terastallized))) {
914
+ (this.terastallized || pokemon.terastallized)) || this.terastallized === 'Stellar') {
912
915
  return false;
913
916
  }
914
917
  if (this.battle.dex.currentMod === 'gen1stadium' && (species.name === 'Ditto' ||
@@ -1113,7 +1116,7 @@ export class Pokemon {
1113
1116
  this.ability = ''; // Don't allow Illusion to wear off
1114
1117
  }
1115
1118
  // Ogerpon's forme change doesn't override permanent abilities
1116
- if (source || !this.getAbility().isPermanent)
1119
+ if (source || !this.getAbility().flags['cantsuppress'])
1117
1120
  this.setAbility(species.abilities['0'], null, true);
1118
1121
  // However, its ability does reset upon switching out
1119
1122
  this.baseAbility = toID(species.abilities['0']);
@@ -1532,7 +1535,7 @@ export class Pokemon {
1532
1535
  ability = this.battle.dex.abilities.get(ability);
1533
1536
  const oldAbility = this.ability;
1534
1537
  if (!isFromFormeChange) {
1535
- if (ability.isPermanent || this.getAbility().isPermanent)
1538
+ if (ability.flags['cantsuppress'] || this.getAbility().flags['cantsuppress'])
1536
1539
  return false;
1537
1540
  }
1538
1541
  if (!isFromFormeChange && !isTransform) {