@pkmn/randoms 0.4.20 → 0.4.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/gen1.js CHANGED
@@ -8,35 +8,9 @@ class RandomGen1Teams extends gen2_1.RandomGen2Teams {
8
8
  // Challenge Cup or CC teams are basically fully random teams.
9
9
  randomCCTeam() {
10
10
  const team = [];
11
- const hasDexNumber = {};
12
- const formes = [[], [], [], [], [], []];
13
- // Pick six random Pokémon, no repeats.
14
- let num;
15
- for (let i = 0; i < this.maxTeamSize; i++) {
16
- do {
17
- num = this.random(151) + 1;
18
- } while (num in hasDexNumber);
19
- hasDexNumber[num] = i;
20
- }
21
- let formeCounter = 0;
22
- for (const species of this.dex.species.all()) {
23
- if (!(species.num in hasDexNumber))
24
- continue;
25
- if (this.forceMonotype && !species.types.includes(this.forceMonotype))
26
- continue;
27
- const learnset = this.dex.species.getLearnset(species.id);
28
- if (!learnset || species.forme)
29
- continue;
30
- formes[hasDexNumber[species.num]].push(species.name);
31
- if (++formeCounter >= 6) {
32
- // Gen 1 had no alternate formes, so we can break out of the loop already.
33
- break;
34
- }
35
- }
36
- for (let i = 0; i < this.maxTeamSize; i++) {
37
- // Choose forme.
38
- const poke = this.sample(formes[i]);
39
- const species = this.dex.species.get(poke);
11
+ const randomN = this.randomNPokemon(this.maxTeamSize, this.forceMonotype);
12
+ for (const pokemon of randomN) {
13
+ const species = this.dex.species.get(pokemon);
40
14
  const learnset = this.dex.species.getLearnset(species.id);
41
15
  // Level balance: calculate directly from stats rather than using some silly lookup table.
42
16
  const mbstmin = 1307;
@@ -91,7 +65,7 @@ class RandomGen1Teams extends gen2_1.RandomGen2Teams {
91
65
  }
92
66
  }
93
67
  team.push({
94
- name: poke,
68
+ name: species.baseSpecies,
95
69
  species: species.name,
96
70
  moves: this.multipleSamplesNoReplace(pool, 4),
97
71
  gender: false,
@@ -110,28 +84,28 @@ class RandomGen1Teams extends gen2_1.RandomGen2Teams {
110
84
  // Random team generation for Gen 1 Random Battles.
111
85
  randomTeam() {
112
86
  // Get what we need ready.
113
- const pokemon = [];
114
87
  const seed = this.prng.seed;
88
+ const ruleTable = this.dex.formats.getRuleTable(this.format);
89
+ const pokemon = [];
90
+ // For Monotype
91
+ const isMonotype = !!this.forceMonotype || ruleTable.has('sametypeclause');
92
+ const typePool = this.dex.types.names();
93
+ const type = this.forceMonotype || this.sample(typePool);
94
+ /** Pokémon that are not wholly incompatible with the team, but still pretty bad */
95
+ const rejectedButNotInvalidPool = [];
115
96
  const handicapMons = ['magikarp', 'weedle', 'kakuna', 'caterpie', 'metapod'];
116
97
  const nuTiers = ['UU', 'UUBL', 'NFE', 'LC', 'NU'];
117
98
  const uuTiers = ['NFE', 'UU', 'UUBL', 'NU'];
118
- const pokemonPool = [];
119
- /** Pokémon that are not wholly incompatible with the team, but still pretty bad */
120
- const rejectedButNotInvalidPool = [];
121
- for (const species of this.dex.species.all()) {
122
- if (!species.isNonstandard && species.randomBattleMoves) {
123
- pokemonPool.push(species.id);
124
- }
125
- }
126
99
  // Now let's store what we are getting.
127
100
  const typeCount = {};
128
101
  const weaknessCount = { Electric: 0, Psychic: 0, Water: 0, Ice: 0, Ground: 0 };
129
102
  let uberCount = 0;
130
103
  let nuCount = 0;
131
104
  let hasShitmon = false;
105
+ const pokemonPool = this.getPokemonPool(type, pokemon, isMonotype);
132
106
  while (pokemonPool.length && pokemon.length < this.maxTeamSize) {
133
107
  const species = this.dex.species.get(this.sampleNoReplace(pokemonPool));
134
- if (!species.exists)
108
+ if (!species.exists || !species.randomBattleMoves)
135
109
  continue;
136
110
  // Only one Ditto is allowed per battle in Generation 1,
137
111
  // as it can cause an endless battle if two Dittos are forced
@@ -144,8 +118,6 @@ class RandomGen1Teams extends gen2_1.RandomGen2Teams {
144
118
  rejectedButNotInvalidPool.push(species.id);
145
119
  continue;
146
120
  }
147
- if (this.forceMonotype && !species.types.includes(this.forceMonotype))
148
- continue;
149
121
  // Dynamically scale limits for different team sizes. The default and minimum value is 1.
150
122
  const limitFactor = Math.round(this.maxTeamSize / 6) || 1;
151
123
  const tier = species.tier;
@@ -169,31 +141,33 @@ class RandomGen1Teams extends gen2_1.RandomGen2Teams {
169
141
  }
170
142
  }
171
143
  let skip = false;
172
- // Limit 2 of any type as well. Diversity and minor weakness count.
173
- // The second of a same type has halved chance of being added.
174
- for (const type of species.types) {
175
- if (typeCount[type] >= 2 * limitFactor ||
176
- (typeCount[type] >= 1 * limitFactor && this.randomChance(1, 2) && pokemonPool.length > 1)) {
177
- skip = true;
178
- break;
144
+ if (!isMonotype && !this.forceMonotype) {
145
+ // Limit 2 of any type as well. Diversity and minor weakness count.
146
+ // The second of a same type has halved chance of being added.
147
+ for (const typeName of species.types) {
148
+ if (typeCount[typeName] >= 2 * limitFactor ||
149
+ (typeCount[typeName] >= 1 * limitFactor && this.randomChance(1, 2) && pokemonPool.length > 1)) {
150
+ skip = true;
151
+ break;
152
+ }
153
+ }
154
+ if (skip) {
155
+ rejectedButNotInvalidPool.push(species.id);
156
+ continue;
179
157
  }
180
- }
181
- if (skip) {
182
- rejectedButNotInvalidPool.push(species.id);
183
- continue;
184
158
  }
185
159
  // We need a weakness count of spammable attacks to avoid being swept by those.
186
160
  // Spammable attacks are: Thunderbolt, Psychic, Surf, Blizzard, Earthquake.
187
161
  const pokemonWeaknesses = [];
188
- for (const type in weaknessCount) {
189
- const increaseCount = this.dex.getImmunity(type, species) && this.dex.getEffectiveness(type, species) > 0;
162
+ for (const typeName in weaknessCount) {
163
+ const increaseCount = this.dex.getImmunity(typeName, species) && this.dex.getEffectiveness(typeName, species) > 0;
190
164
  if (!increaseCount)
191
165
  continue;
192
- if (weaknessCount[type] >= 2 * limitFactor) {
166
+ if (weaknessCount[typeName] >= 2 * limitFactor) {
193
167
  skip = true;
194
168
  break;
195
169
  }
196
- pokemonWeaknesses.push(type);
170
+ pokemonWeaknesses.push(typeName);
197
171
  }
198
172
  if (skip) {
199
173
  rejectedButNotInvalidPool.push(species.id);
@@ -203,12 +177,12 @@ class RandomGen1Teams extends gen2_1.RandomGen2Teams {
203
177
  pokemon.push(this.randomSet(species));
204
178
  // Now let's increase the counters.
205
179
  // Type counter.
206
- for (const type of species.types) {
207
- if (typeCount[type]) {
208
- typeCount[type]++;
180
+ for (const typeName of species.types) {
181
+ if (typeCount[typeName]) {
182
+ typeCount[typeName]++;
209
183
  }
210
184
  else {
211
- typeCount[type] = 1;
185
+ typeCount[typeName] = 1;
212
186
  }
213
187
  }
214
188
  // Weakness counter.
@@ -234,7 +208,7 @@ class RandomGen1Teams extends gen2_1.RandomGen2Teams {
234
208
  const species = this.sampleNoReplace(rejectedButNotInvalidPool);
235
209
  pokemon.push(this.randomSet(species));
236
210
  }
237
- if (pokemon.length < this.maxTeamSize && pokemon.length < 12 && !this.forceMonotype) {
211
+ if (pokemon.length < this.maxTeamSize && pokemon.length < 12 && !isMonotype) {
238
212
  throw new Error(`Could not build a random team for ${this.format} (seed=${seed})`);
239
213
  }
240
214
  return pokemon;
package/build/gen1.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gen1.js","sourceRoot":"","sources":["../src/gen1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gen1.js","sourceRoot":"","sources":["../src/gen1.ts"],"names":[],"mappings":";;;AAAA,iCAAmC;AACnC,iCAAuC;AACvC,mCAA8B;AAgB9B,MAAa,eAAgB,SAAQ,sBAAe;IACnD,8DAA8D;IAC9D,YAAY;QACX,MAAM,IAAI,GAAG,EAAE,CAAC;QAEhB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAE1E,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAE1D,0FAA0F;YAC1F,MAAM,OAAO,GAAG,IAAI,CAAC;YACrB,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC;YAEhC,iEAAiE;YACjE,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;YAClD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YAE/C,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,yCAAyC;YAEvF,OAAO,KAAK,GAAG,GAAG,EAAE;gBACnB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;gBACxE,8CAA8C;gBAC9C,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC;gBACzF,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;gBACzE,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC;gBACzF,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;gBACzE,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;gBAEzE,IAAI,IAAI,IAAI,OAAO;oBAAE,MAAM;gBAC3B,KAAK,EAAE,CAAC;aACR;YAED,cAAc;YACd,MAAM,GAAG,GAAG;gBACX,EAAE,EAAE,CAAC;gBACL,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpB,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;aACpB,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACvG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChB,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YACxB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEhB,aAAa;YACb,MAAM,GAAG,GAAG,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAC,CAAC;YAExE,qFAAqF;YACrF,4EAA4E;YAC5E,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,IAAI,QAAQ,EAAE;gBACb,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;oBAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;wBAAE,SAAS;oBACjD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;wBAC5D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAChB;iBACD;aACD;YAED,IAAI,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,OAAO,CAAC,WAAW;gBACzB,OAAO,EAAE,OAAO,CAAC,IAAI;gBACrB,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC7C,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,GAAG;gBACR,GAAG,EAAE,GAAG;gBACR,IAAI,EAAE,EAAE;gBACR,KAAK;gBACL,SAAS,EAAE,CAAC;gBACZ,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,SAAS;aACjB,CAAC,CAAC;SACH;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED,mDAAmD;IACnD,UAAU;QACT,0BAA0B;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAiC,EAAE,CAAC;QAEjD,eAAe;QACf,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEzD,mFAAmF;QACnF,MAAM,yBAAyB,GAAa,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAE5C,uCAAuC;QACvC,MAAM,SAAS,GAA0B,EAAE,CAAC;QAC5C,MAAM,aAAa,GAA0B,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAC,CAAC;QACpG,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACnE,OAAO,WAAW,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE;YAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB;gBAAE,SAAS;YAC5D,wDAAwD;YACxD,6DAA6D;YAC7D,sBAAsB;YACtB,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO,IAAI,IAAI,CAAC,cAAc;gBAAE,SAAS;YAE5D,yEAAyE;YACzE,2CAA2C;YAC3C,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE;gBACpD,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC3C,SAAS;aACT;YAED,yFAAyF;YACzF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YAE1D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,QAAQ,IAAI,EAAE;gBACd,KAAK,IAAI,CAAC;gBACV,KAAK,KAAK;oBACT,+GAA+G;oBAC/G,qDAAqD;oBACrD,IAAI,OAAO,IAAI,CAAC,GAAG,WAAW,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,SAAS;oBACtH,MAAM;gBACP,KAAK,MAAM;oBACV,yEAAyE;oBACzE,IAAI,SAAS,IAAI,CAAC,GAAG,WAAW,IAAI,CAAC,UAAU;wBAAE,SAAS;oBAC1D,MAAM;gBACP;oBACC,+EAA+E;oBAC/E,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;wBAChH,SAAS;qBACT;aACD;YAED,IAAI,IAAI,GAAG,KAAK,CAAC;YAEjB,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACvC,mEAAmE;gBACnE,8DAA8D;gBAC9D,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE;oBACrC,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW;wBACzC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;wBAC/F,IAAI,GAAG,IAAI,CAAC;wBACZ,MAAM;qBACN;iBACD;gBAED,IAAI,IAAI,EAAE;oBACT,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAC3C,SAAS;iBACT;aACD;YAED,+EAA+E;YAC/E,2EAA2E;YAC3E,MAAM,iBAAiB,GAAG,EAAE,CAAC;YAC7B,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE;gBACrC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAClH,IAAI,CAAC,aAAa;oBAAE,SAAS;gBAC7B,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,EAAE;oBAC/C,IAAI,GAAG,IAAI,CAAC;oBACZ,MAAM;iBACN;gBACD,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACjC;YAED,IAAI,IAAI,EAAE;gBACT,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC3C,SAAS;aACT;YAED,kCAAkC;YAClC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAEtC,mCAAmC;YACnC,gBAAgB;YAChB,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE;gBACrC,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE;oBACxB,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;iBACtB;qBAAM;oBACN,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;iBACxB;aACD;YAED,oBAAoB;YACpB,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE;gBACzC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;aAC1B;YAED,gCAAgC;YAChC,IAAI,IAAI,KAAK,MAAM,EAAE;gBACpB,SAAS,EAAE,CAAC;aACZ;iBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAClC,OAAO,EAAE,CAAC;aACV;YAED,6CAA6C;YAC7C,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAAE,UAAU,GAAG,IAAI,CAAC;YAEzD,cAAc;YACd,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO;gBAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SACvD;QAED,kGAAkG;QAClG,OAAO,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,yBAAyB,CAAC,MAAM,EAAE;YAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;SACtC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE;YAC5E,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,CAAC,MAAM,UAAU,IAAI,GAAG,CAAC,CAAC;SACnF;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,IAAU,EAAE,KAAkB,EAAE,KAAkB,EAAE,OAAoB;QACtF,QAAQ,IAAI,CAAC,EAAE,EAAE;YACjB,6EAA6E;YAC7E,KAAK,WAAW;gBACf,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAC,CAAC;YAClC,KAAK,MAAM;gBACV,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAC,CAAC;YAEvC,wEAAwE;YACxE,KAAK,cAAc;gBAClB,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAC,CAAC;YAClC,KAAK,MAAM;gBACV,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,EAAC,CAAC;YAC1C,KAAK,SAAS,CAAC;YAAC,KAAK,aAAa;gBACjC,OAAO,EAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAC,CAAC;YACpH,KAAK,QAAQ;gBACZ,OAAO,EAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,EAAC,CAAC;YACxH,KAAK,cAAc,CAAC;YAAC,KAAK,WAAW,CAAC;YAAC,KAAK,aAAa,CAAC;YAAC,KAAK,OAAO;gBACtE,OAAO,EAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAC,CAAC;SACzC;QACD,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,OAAyB;QAClC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB;QAEjF,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAErC,MAAM,OAAO,GAAG,IAAI,kBAAW,EAAE,CAAC;QAElC,2BAA2B;QAC3B,MAAM,aAAa,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACjD,oCAAoC;QACpC,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE3C,mCAAmC;QACnC,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YAClD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU;gBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACjD;QAED,sCAAsC;QACtC,mFAAmF;QACnF,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,cAAc,EAAE;YAC7C,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;SAC/C;QAED,qEAAqE;QACrE,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,aAAa,EAAE;YAC5C,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SACjC;QAED,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE;YACzC,6EAA6E;YAC7E,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE;gBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAC9C,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aAClB;YAED,+DAA+D;YAC/D,IAAI,QAAQ,CAAC,MAAM,EAAE;gBACpB,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE;oBAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;oBACvB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc;wBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACrE,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;oBACjE,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;iBAC/D;gBAED,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE;oBAC3B,IAAI,MAAM,KAAK,OAAO,CAAC,aAAa;wBAAE,SAAS;oBAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACxC,IACC,CAAC,CAAC,OAAO,CAAC,aAAa,IAAI,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC;wBAC5D,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,EACpD;wBACD,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACrB,MAAM;qBACN;oBACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC3B;aACD,CAAC,qDAAqD;SACvD;QAED,MAAM,UAAU,GAA0B;YACzC,EAAE,EAAE,EAAE;YACN,GAAG,EAAE,EAAE;YACP,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,EAAE;YACR,EAAE,EAAE,EAAE;YACN,MAAM,EAAE,EAAE;YACV,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,EAAE;SACR,CAAC;QAEF,MAAM,WAAW,GAA0B;YAC1C,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE;YAC/D,KAAK,EAAE,EAAE;SACT,CAAC;QACF,IAAI,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEjE,OAAO;YACN,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,IAAI;YACrB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;YACxB,OAAO,EAAE,YAAY;YACrB,GAAG,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAC;YAChE,GAAG,EAAE,EAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAC;YAC1D,IAAI,EAAE,EAAE;YACR,KAAK;YACL,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,KAAK;SACb,CAAC;IACH,CAAC;IAED,YAAY;QACX,MAAM,IAAI,GAAG,EAAE,CAAC;QAEhB,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAEtD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,WAAW,GAAoC,EAAE,CAAC;QAExD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YAC5B,eAAe;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBAC7B,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG;oBACzB,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACvD,SAAS,EAAE;wBACV,EAAE,EAAE,aAAK,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAC5C,GAAG,EAAE,aAAK,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAC7C,GAAG,EAAE,aAAK,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAC7C,GAAG,EAAE,aAAK,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAC7C,GAAG,EAAE,CAAC;wBACN,GAAG,EAAE,aAAK,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;qBAC7C;iBACD,CAAC;gBACF,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;oBACtF,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;iBACtD;gBACD,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;aAC9E;YACD,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBAC1E,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC3C;YAED,sBAAsB;YACtB,MAAM,KAAK,GAAG,EAAE,CAAC;YACjB,GAAG;gBACF,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;oBAC1F,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACpB;aACD,QAAQ,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAE3B,aAAa;YACb,MAAM,GAAG,GAAG;gBACX,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBACpB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBACrB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBACrB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBACrB,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;aACrB,CAAC;YACF,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YAExB,aAAa;YACb,MAAM,GAAG,GAAe;gBACvB,EAAE,EAAE,CAAC;gBACL,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpB,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;aACpB,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACvG,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE;gBACrB,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,KAAK;oBAAE,SAAS;gBAC1C,GAAG,CAAC,EAAsB,CAAC,IAAI,CAAC,CAAC;aACjC;YACD,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YAExB,gBAAgB;YAChB,MAAM,OAAO,GAAG,GAAG,CAAC;YACpB,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;YACpD,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,GAAY,EAAE,EAAE;gBACnD,IAAI,GAAG,EAAE;oBACR,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;iBACvH;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAChG,CAAC,CAAC;YACF,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBAC9C,IAAI,IAAI,QAAQ,CAAC,QAAkB,CAAC,CAAC;gBACrC,IAAI,QAAQ,KAAK,IAAI;oBAAE,IAAI,IAAI,CAAC,CAAC;aACjC;YACD,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;YAC7C,OAAO,KAAK,GAAG,GAAG,EAAE;gBACnB,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;oBAC9C,IAAI,IAAI,QAAQ,CAAC,QAAkB,EAAE,KAAK,CAAC,CAAC;oBAC5C,IAAI,QAAQ,KAAK,IAAI;wBAAE,IAAI,IAAI,CAAC,CAAC;iBACjC;gBACD,IAAI,IAAI,IAAI,OAAO;oBAAE,MAAM;gBAC3B,KAAK,EAAE,CAAC;aACR;YACD,IAAI,KAAK,GAAG,GAAG;gBAAE,KAAK,GAAG,GAAG,CAAC;YAE7B,IAAI,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,OAAO,CAAC,WAAW;gBACzB,OAAO,EAAE,OAAO,CAAC,IAAI;gBACrB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,YAAY;gBACrB,KAAK;gBACL,GAAG;gBACH,GAAG;gBACH,MAAM,EAAE,EAAE;gBACV,KAAK;gBACL,KAAK,EAAE,KAAK;gBACZ,wEAAwE;gBACxE,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;aAC3B,CAAC,CAAC;SACH;QAED,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AApdD,0CAodC;AAED,kBAAe,eAAe,CAAC"}
package/build/gen7.js CHANGED
@@ -426,6 +426,7 @@ class RandomGen7Teams extends gen8_1.RandomTeams {
426
426
  case 'raindance':
427
427
  return { cull: (counter.get('Physical') + counter.get('Special') < 2 ||
428
428
  hasRestTalk ||
429
+ moves.has('rest') ||
429
430
  (!types.has('Water') && !counter.get('Water'))) };
430
431
  case 'sunnyday':
431
432
  const cull = (counter.get('Physical') + counter.get('Special') < 2 ||