{ "version": 3, "sources": ["../../../../../data/mods/pokebilities/abilities.ts"], "sourcesContent": ["export const Abilities: {[k: string]: ModdedAbilityData} = {\r\n\tmummy: {\r\n\t\tinherit: true,\r\n\t\tonDamagingHit(damage, target, source, move) {\r\n\t\t\tif (target.ability === 'mummy') {\r\n\t\t\t\tconst sourceAbility = source.getAbility();\r\n\t\t\t\tif (sourceAbility.isPermanent || sourceAbility.id === 'mummy') {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (this.checkMoveMakesContact(move, source, target, !source.isAlly(target))) {\r\n\t\t\t\t\tconst oldAbility = source.setAbility('mummy', target);\r\n\t\t\t\t\tif (oldAbility) {\r\n\t\t\t\t\t\tthis.add('-activate', target, 'ability: Mummy', this.dex.abilities.get(oldAbility).name, '[of] ' + source);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tconst possibleAbilities = [source.ability, ...(source.m.innates || [])]\r\n\t\t\t\t\t.filter(val => !this.dex.abilities.get(val).isPermanent && val !== 'mummy');\r\n\t\t\t\tif (!possibleAbilities.length) return;\r\n\t\t\t\tif (this.checkMoveMakesContact(move, source, target, !source.isAlly(target))) {\r\n\t\t\t\t\tconst abil = this.sample(possibleAbilities);\r\n\t\t\t\t\tif (abil === source.ability) {\r\n\t\t\t\t\t\tconst oldAbility = source.setAbility('mummy', target);\r\n\t\t\t\t\t\tif (oldAbility) {\r\n\t\t\t\t\t\t\tthis.add('-activate', target, 'ability: Mummy', this.dex.abilities.get(oldAbility).name, '[of] ' + source);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tsource.removeVolatile('ability:' + abil);\r\n\t\t\t\t\t\tsource.addVolatile('ability:mummy', source);\r\n\t\t\t\t\t\tif (abil) {\r\n\t\t\t\t\t\t\tthis.add('-activate', target, 'ability: Mummy', this.dex.abilities.get(abil).name, '[of] ' + source);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t},\r\n\tneutralizinggas: {\r\n\t\tinherit: true,\r\n\t\t// Ability suppression implemented in sim/pokemon.ts:Pokemon#ignoringAbility\r\n\t\tonPreStart(pokemon) {\r\n\t\t\tthis.add('-ability', pokemon, 'Neutralizing Gas');\r\n\t\t\tpokemon.abilityState.ending = false;\r\n\t\t\t// Remove setter's innates before the ability starts\r\n\t\t\tif (pokemon.m.innates) {\r\n\t\t\t\tfor (const innate of pokemon.m.innates) {\r\n\t\t\t\t\tif (this.dex.abilities.get(innate).isPermanent || innate === 'neutralizinggas') continue;\r\n\t\t\t\t\tpokemon.removeVolatile('ability:' + innate);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tfor (const target of this.getAllActive()) {\r\n\t\t\t\tif (target.illusion) {\r\n\t\t\t\t\tthis.singleEvent('End', this.dex.abilities.get('Illusion'), target.abilityState, target, pokemon, 'neutralizinggas');\r\n\t\t\t\t}\r\n\t\t\t\tif (target.volatiles['slowstart']) {\r\n\t\t\t\t\tdelete target.volatiles['slowstart'];\r\n\t\t\t\t\tthis.add('-end', target, 'Slow Start', '[silent]');\r\n\t\t\t\t}\r\n\t\t\t\tif (target.m.innates) {\r\n\t\t\t\t\tfor (const innate of target.m.innates) {\r\n\t\t\t\t\t\tif (this.dex.abilities.get(innate).isPermanent) continue;\r\n\t\t\t\t\t\ttarget.removeVolatile('ability:' + innate);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tonEnd(source) {\r\n\t\t\tthis.add('-end', source, 'ability: Neutralizing Gas');\r\n\r\n\t\t\t// FIXME this happens before the pokemon switches out, should be the opposite order.\r\n\t\t\t// Not an easy fix since we cant use a supported event. Would need some kind of special event that\r\n\t\t\t// gathers events to run after the switch and then runs them when the ability is no longer accessible.\r\n\t\t\t// (If you're tackling this, do note extreme weathers have the same issue)\r\n\r\n\t\t\t// Mark this pokemon's ability as ending so Pokemon#ignoringAbility skips it\r\n\t\t\tif (source.abilityState.ending) return;\r\n\t\t\tsource.abilityState.ending = true;\r\n\t\t\tconst sortedActive = this.getAllActive();\r\n\t\t\tthis.speedSort(sortedActive);\r\n\t\t\tfor (const pokemon of sortedActive) {\r\n\t\t\t\tif (pokemon !== source) {\r\n\t\t\t\t\t// Will be suppressed by Pokemon#ignoringAbility if needed\r\n\t\t\t\t\tthis.singleEvent('Start', pokemon.getAbility(), pokemon.abilityState, pokemon);\r\n\t\t\t\t\tif (pokemon.m.innates) {\r\n\t\t\t\t\t\tfor (const innate of pokemon.m.innates) {\r\n\t\t\t\t\t\t\t// permanent abilities\r\n\t\t\t\t\t\t\tif (pokemon.volatiles['ability:' + innate]) continue;\r\n\t\t\t\t\t\t\tpokemon.addVolatile('ability:' + innate, pokemon);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t},\r\n\tpoisontouch: {\r\n\t\tinherit: true,\r\n\t\t// Activate after Sheer Force to make interaction determistic. The ordering for this ability is\r\n\t\t// an arbitary decision, but is modelled on Stench, which is reflective of on-cart behaviour.\r\n\t\tonModifyMovePriority: -1,\r\n\t},\r\n\tpowerofalchemy: {\r\n\t\tinherit: true,\r\n\t\tonAllyFaint(ally) {\r\n\t\t\tconst pokemon = this.effectState.target;\r\n\t\t\tif (!pokemon.hp) return;\r\n\t\t\tconst isAbility = pokemon.ability === 'powerofalchemy';\r\n\t\t\tlet possibleAbilities = [ally.ability];\r\n\t\t\tif (ally.m.innates) possibleAbilities.push(...ally.m.innates);\r\n\t\t\tconst additionalBannedAbilities = [\r\n\t\t\t\t'noability', 'flowergift', 'forecast', 'hungerswitch', 'illusion', 'imposter', 'neutralizinggas', 'powerofalchemy', 'receiver', 'trace', 'wonderguard', pokemon.ability, ...(pokemon.m.innates || []),\r\n\t\t\t];\r\n\t\t\tpossibleAbilities = possibleAbilities\r\n\t\t\t\t.filter(val => !this.dex.abilities.get(val).isPermanent && !additionalBannedAbilities.includes(val));\r\n\t\t\tif (!possibleAbilities.length) return;\r\n\t\t\tconst ability = this.dex.abilities.get(possibleAbilities[this.random(possibleAbilities.length)]);\r\n\t\t\tthis.add('-ability', pokemon, ability, '[from] ability: Power of Alchemy', '[of] ' + ally);\r\n\t\t\tif (isAbility) {\r\n\t\t\t\tpokemon.setAbility(ability);\r\n\t\t\t} else {\r\n\t\t\t\tpokemon.removeVolatile(\"ability:powerofalchemy\");\r\n\t\t\t\tpokemon.addVolatile(\"ability:\" + ability, pokemon);\r\n\t\t\t}\r\n\t\t},\r\n\t},\r\n\treceiver: {\r\n\t\tinherit: true,\r\n\t\tonAllyFaint(ally) {\r\n\t\t\tconst pokemon = this.effectState.target;\r\n\t\t\tif (!pokemon.hp) return;\r\n\t\t\tconst isAbility = pokemon.ability === 'receiver';\r\n\t\t\tlet possibleAbilities = [ally.ability];\r\n\t\t\tif (ally.m.innates) possibleAbilities.push(...ally.m.innates);\r\n\t\t\tconst additionalBannedAbilities = [\r\n\t\t\t\t'noability', 'flowergift', 'forecast', 'hungerswitch', 'illusion', 'imposter', 'neutralizinggas', 'powerofalchemy', 'receiver', 'trace', 'wonderguard', pokemon.ability, ...(pokemon.m.innates || []),\r\n\t\t\t];\r\n\t\t\tpossibleAbilities = possibleAbilities\r\n\t\t\t\t.filter(val => !this.dex.abilities.get(val).isPermanent && !additionalBannedAbilities.includes(val));\r\n\t\t\tif (!possibleAbilities.length) return;\r\n\t\t\tconst ability = this.dex.abilities.get(possibleAbilities[this.random(possibleAbilities.length)]);\r\n\t\t\tthis.add('-ability', pokemon, ability, '[from] ability: Receiver', '[of] ' + ally);\r\n\t\t\tif (isAbility) {\r\n\t\t\t\tpokemon.setAbility(ability);\r\n\t\t\t} else {\r\n\t\t\t\tpokemon.removeVolatile(\"ability:receiver\");\r\n\t\t\t\tpokemon.addVolatile(\"ability:\" + ability, pokemon);\r\n\t\t\t}\r\n\t\t},\r\n\t},\r\n\ttrace: {\r\n\t\tinherit: true,\r\n\t\tonUpdate(pokemon) {\r\n\t\t\tif (!pokemon.isStarted) return;\r\n\t\t\tconst isAbility = pokemon.ability === 'trace';\r\n\t\t\tconst possibleTargets: Pokemon[] = [];\r\n\t\t\tfor (const target of pokemon.side.foe.active) {\r\n\t\t\t\tif (target && !target.fainted) {\r\n\t\t\t\t\tpossibleTargets.push(target);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\twhile (possibleTargets.length) {\r\n\t\t\t\tconst rand = this.random(possibleTargets.length);\r\n\t\t\t\tconst target = possibleTargets[rand];\r\n\t\t\t\tlet possibleAbilities = [target.ability];\r\n\t\t\t\tif (target.m.innates) possibleAbilities.push(...target.m.innates);\r\n\t\t\t\tconst additionalBannedAbilities = [\r\n\t\t\t\t\t// Zen Mode included here for compatability with Gen 5-6\r\n\t\t\t\t\t'noability', 'flowergift', 'forecast', 'hungerswitch', 'illusion', 'imposter', 'neutralizinggas', 'powerofalchemy', 'receiver', 'trace', 'zenmode', pokemon.ability, ...(pokemon.m.innates || []),\r\n\t\t\t\t];\r\n\t\t\t\tpossibleAbilities = possibleAbilities\r\n\t\t\t\t\t.filter(val => !this.dex.abilities.get(val).isPermanent && !additionalBannedAbilities.includes(val));\r\n\t\t\t\tif (!possibleAbilities.length) {\r\n\t\t\t\t\tpossibleTargets.splice(rand, 1);\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tconst ability = this.dex.abilities.get(this.sample(possibleAbilities));\r\n\t\t\t\tthis.add('-ability', pokemon, ability, '[from] ability: Trace', '[of] ' + target);\r\n\t\t\t\tif (isAbility) {\r\n\t\t\t\t\tpokemon.setAbility(ability);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tpokemon.removeVolatile(\"ability:trace\");\r\n\t\t\t\t\tpokemon.addVolatile(\"ability:\" + ability, pokemon);\r\n\t\t\t\t}\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t},\r\n\t},\r\n\twanderingspirit: {\r\n\t\tinherit: true,\r\n\t\tonDamagingHit(damage, target, source, move) {\r\n\t\t\tconst isAbility = target.ability === 'wanderingspirit';\r\n\t\t\tconst additionalBannedAbilities = ['hungerswitch', 'illusion', 'neutralizinggas', 'wonderguard'];\r\n\t\t\tif (isAbility) {\r\n\t\t\t\tif (source.getAbility().isPermanent || additionalBannedAbilities.includes(source.ability) ||\r\n\t\t\t\t\ttarget.volatiles['dynamax']\r\n\t\t\t\t) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this.checkMoveMakesContact(move, source, target)) {\r\n\t\t\t\t\tconst sourceAbility = source.setAbility('wanderingspirit', target);\r\n\t\t\t\t\tif (!sourceAbility) return;\r\n\t\t\t\t\tif (target.isAlly(source)) {\r\n\t\t\t\t\t\tthis.add('-activate', target, 'Skill Swap', '', '', '[of] ' + source);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.add('-activate', target, 'ability: Wandering Spirit', this.dex.abilities.get(sourceAbility).name, 'Wandering Spirit', '[of] ' + source);\r\n\t\t\t\t\t}\r\n\t\t\t\t\ttarget.setAbility(sourceAbility);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t// Make Wandering Spirit replace a random ability\r\n\t\t\t\tconst possibleAbilities = [source.ability, ...(source.m.innates || [])]\r\n\t\t\t\t\t.filter(val => !this.dex.abilities.get(val).isPermanent && !additionalBannedAbilities.includes(val));\r\n\t\t\t\tif (!possibleAbilities.length || target.volatiles['dynamax']) return;\r\n\t\t\t\tif (move.flags['contact']) {\r\n\t\t\t\t\tconst sourceAbility = this.sample(possibleAbilities);\r\n\t\t\t\t\tif (sourceAbility === source.ability) {\r\n\t\t\t\t\t\tif (!source.setAbility('wanderingspirit', target)) return;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tsource.removeVolatile('ability:' + sourceAbility);\r\n\t\t\t\t\t\tsource.addVolatile('ability:wanderingspirit', source);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (target.isAlly(source)) {\r\n\t\t\t\t\t\tthis.add('-activate', target, 'Skill Swap', '', '', '[of] ' + source);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.add('-activate', target, 'ability: Wandering Spirit', this.dex.abilities.get(sourceAbility).name, 'Wandering Spirit', '[of] ' + source);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (sourceAbility === source.ability) {\r\n\t\t\t\t\t\ttarget.setAbility(sourceAbility);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\ttarget.removeVolatile('ability:wanderingspirit');\r\n\t\t\t\t\t\ttarget.addVolatile('ability:' + sourceAbility, target);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t},\r\n};\r\n"], "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,YAA8C;AAAA,EAC1D,OAAO;AAAA,IACN,SAAS;AAAA,IACT,cAAc,QAAQ,QAAQ,QAAQ,MAAM;AAC3C,UAAI,OAAO,YAAY,SAAS;AAC/B,cAAM,gBAAgB,OAAO,WAAW;AACxC,YAAI,cAAc,eAAe,cAAc,OAAO,SAAS;AAC9D;AAAA,QACD;AACA,YAAI,KAAK,sBAAsB,MAAM,QAAQ,QAAQ,CAAC,OAAO,OAAO,MAAM,CAAC,GAAG;AAC7E,gBAAM,aAAa,OAAO,WAAW,SAAS,MAAM;AACpD,cAAI,YAAY;AACf,iBAAK,IAAI,aAAa,QAAQ,kBAAkB,KAAK,IAAI,UAAU,IAAI,UAAU,EAAE,MAAM,UAAU,MAAM;AAAA,UAC1G;AAAA,QACD;AAAA,MACD,OAAO;AACN,cAAM,oBAAoB,CAAC,OAAO,SAAS,GAAI,OAAO,EAAE,WAAW,CAAC,CAAE,EACpE,OAAO,SAAO,CAAC,KAAK,IAAI,UAAU,IAAI,GAAG,EAAE,eAAe,QAAQ,OAAO;AAC3E,YAAI,CAAC,kBAAkB;AAAQ;AAC/B,YAAI,KAAK,sBAAsB,MAAM,QAAQ,QAAQ,CAAC,OAAO,OAAO,MAAM,CAAC,GAAG;AAC7E,gBAAM,OAAO,KAAK,OAAO,iBAAiB;AAC1C,cAAI,SAAS,OAAO,SAAS;AAC5B,kBAAM,aAAa,OAAO,WAAW,SAAS,MAAM;AACpD,gBAAI,YAAY;AACf,mBAAK,IAAI,aAAa,QAAQ,kBAAkB,KAAK,IAAI,UAAU,IAAI,UAAU,EAAE,MAAM,UAAU,MAAM;AAAA,YAC1G;AAAA,UACD,OAAO;AACN,mBAAO,eAAe,aAAa,IAAI;AACvC,mBAAO,YAAY,iBAAiB,MAAM;AAC1C,gBAAI,MAAM;AACT,mBAAK,IAAI,aAAa,QAAQ,kBAAkB,KAAK,IAAI,UAAU,IAAI,IAAI,EAAE,MAAM,UAAU,MAAM;AAAA,YACpG;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,iBAAiB;AAAA,IAChB,SAAS;AAAA;AAAA,IAET,WAAW,SAAS;AACnB,WAAK,IAAI,YAAY,SAAS,kBAAkB;AAChD,cAAQ,aAAa,SAAS;AAE9B,UAAI,QAAQ,EAAE,SAAS;AACtB,mBAAW,UAAU,QAAQ,EAAE,SAAS;AACvC,cAAI,KAAK,IAAI,UAAU,IAAI,MAAM,EAAE,eAAe,WAAW;AAAmB;AAChF,kBAAQ,eAAe,aAAa,MAAM;AAAA,QAC3C;AAAA,MACD;AACA,iBAAW,UAAU,KAAK,aAAa,GAAG;AACzC,YAAI,OAAO,UAAU;AACpB,eAAK,YAAY,OAAO,KAAK,IAAI,UAAU,IAAI,UAAU,GAAG,OAAO,cAAc,QAAQ,SAAS,iBAAiB;AAAA,QACpH;AACA,YAAI,OAAO,UAAU,WAAW,GAAG;AAClC,iBAAO,OAAO,UAAU,WAAW;AACnC,eAAK,IAAI,QAAQ,QAAQ,cAAc,UAAU;AAAA,QAClD;AACA,YAAI,OAAO,EAAE,SAAS;AACrB,qBAAW,UAAU,OAAO,EAAE,SAAS;AACtC,gBAAI,KAAK,IAAI,UAAU,IAAI,MAAM,EAAE;AAAa;AAChD,mBAAO,eAAe,aAAa,MAAM;AAAA,UAC1C;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,IACA,MAAM,QAAQ;AACb,WAAK,IAAI,QAAQ,QAAQ,2BAA2B;AAQpD,UAAI,OAAO,aAAa;AAAQ;AAChC,aAAO,aAAa,SAAS;AAC7B,YAAM,eAAe,KAAK,aAAa;AACvC,WAAK,UAAU,YAAY;AAC3B,iBAAW,WAAW,cAAc;AACnC,YAAI,YAAY,QAAQ;AAEvB,eAAK,YAAY,SAAS,QAAQ,WAAW,GAAG,QAAQ,cAAc,OAAO;AAC7E,cAAI,QAAQ,EAAE,SAAS;AACtB,uBAAW,UAAU,QAAQ,EAAE,SAAS;AAEvC,kBAAI,QAAQ,UAAU,aAAa,MAAM;AAAG;AAC5C,sBAAQ,YAAY,aAAa,QAAQ,OAAO;AAAA,YACjD;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,aAAa;AAAA,IACZ,SAAS;AAAA;AAAA;AAAA,IAGT,sBAAsB;AAAA,EACvB;AAAA,EACA,gBAAgB;AAAA,IACf,SAAS;AAAA,IACT,YAAY,MAAM;AACjB,YAAM,UAAU,KAAK,YAAY;AACjC,UAAI,CAAC,QAAQ;AAAI;AACjB,YAAM,YAAY,QAAQ,YAAY;AACtC,UAAI,oBAAoB,CAAC,KAAK,OAAO;AACrC,UAAI,KAAK,EAAE;AAAS,0BAAkB,KAAK,GAAG,KAAK,EAAE,OAAO;AAC5D,YAAM,4BAA4B;AAAA,QACjC;AAAA,QAAa;AAAA,QAAc;AAAA,QAAY;AAAA,QAAgB;AAAA,QAAY;AAAA,QAAY;AAAA,QAAmB;AAAA,QAAkB;AAAA,QAAY;AAAA,QAAS;AAAA,QAAe,QAAQ;AAAA,QAAS,GAAI,QAAQ,EAAE,WAAW,CAAC;AAAA,MACpM;AACA,0BAAoB,kBAClB,OAAO,SAAO,CAAC,KAAK,IAAI,UAAU,IAAI,GAAG,EAAE,eAAe,CAAC,0BAA0B,SAAS,GAAG,CAAC;AACpG,UAAI,CAAC,kBAAkB;AAAQ;AAC/B,YAAM,UAAU,KAAK,IAAI,UAAU,IAAI,kBAAkB,KAAK,OAAO,kBAAkB,MAAM,CAAC,CAAC;AAC/F,WAAK,IAAI,YAAY,SAAS,SAAS,oCAAoC,UAAU,IAAI;AACzF,UAAI,WAAW;AACd,gBAAQ,WAAW,OAAO;AAAA,MAC3B,OAAO;AACN,gBAAQ,eAAe,wBAAwB;AAC/C,gBAAQ,YAAY,aAAa,SAAS,OAAO;AAAA,MAClD;AAAA,IACD;AAAA,EACD;AAAA,EACA,UAAU;AAAA,IACT,SAAS;AAAA,IACT,YAAY,MAAM;AACjB,YAAM,UAAU,KAAK,YAAY;AACjC,UAAI,CAAC,QAAQ;AAAI;AACjB,YAAM,YAAY,QAAQ,YAAY;AACtC,UAAI,oBAAoB,CAAC,KAAK,OAAO;AACrC,UAAI,KAAK,EAAE;AAAS,0BAAkB,KAAK,GAAG,KAAK,EAAE,OAAO;AAC5D,YAAM,4BAA4B;AAAA,QACjC;AAAA,QAAa;AAAA,QAAc;AAAA,QAAY;AAAA,QAAgB;AAAA,QAAY;AAAA,QAAY;AAAA,QAAmB;AAAA,QAAkB;AAAA,QAAY;AAAA,QAAS;AAAA,QAAe,QAAQ;AAAA,QAAS,GAAI,QAAQ,EAAE,WAAW,CAAC;AAAA,MACpM;AACA,0BAAoB,kBAClB,OAAO,SAAO,CAAC,KAAK,IAAI,UAAU,IAAI,GAAG,EAAE,eAAe,CAAC,0BAA0B,SAAS,GAAG,CAAC;AACpG,UAAI,CAAC,kBAAkB;AAAQ;AAC/B,YAAM,UAAU,KAAK,IAAI,UAAU,IAAI,kBAAkB,KAAK,OAAO,kBAAkB,MAAM,CAAC,CAAC;AAC/F,WAAK,IAAI,YAAY,SAAS,SAAS,4BAA4B,UAAU,IAAI;AACjF,UAAI,WAAW;AACd,gBAAQ,WAAW,OAAO;AAAA,MAC3B,OAAO;AACN,gBAAQ,eAAe,kBAAkB;AACzC,gBAAQ,YAAY,aAAa,SAAS,OAAO;AAAA,MAClD;AAAA,IACD;AAAA,EACD;AAAA,EACA,OAAO;AAAA,IACN,SAAS;AAAA,IACT,SAAS,SAAS;AACjB,UAAI,CAAC,QAAQ;AAAW;AACxB,YAAM,YAAY,QAAQ,YAAY;AACtC,YAAM,kBAA6B,CAAC;AACpC,iBAAW,UAAU,QAAQ,KAAK,IAAI,QAAQ;AAC7C,YAAI,UAAU,CAAC,OAAO,SAAS;AAC9B,0BAAgB,KAAK,MAAM;AAAA,QAC5B;AAAA,MACD;AACA,aAAO,gBAAgB,QAAQ;AAC9B,cAAM,OAAO,KAAK,OAAO,gBAAgB,MAAM;AAC/C,cAAM,SAAS,gBAAgB,IAAI;AACnC,YAAI,oBAAoB,CAAC,OAAO,OAAO;AACvC,YAAI,OAAO,EAAE;AAAS,4BAAkB,KAAK,GAAG,OAAO,EAAE,OAAO;AAChE,cAAM,4BAA4B;AAAA;AAAA,UAEjC;AAAA,UAAa;AAAA,UAAc;AAAA,UAAY;AAAA,UAAgB;AAAA,UAAY;AAAA,UAAY;AAAA,UAAmB;AAAA,UAAkB;AAAA,UAAY;AAAA,UAAS;AAAA,UAAW,QAAQ;AAAA,UAAS,GAAI,QAAQ,EAAE,WAAW,CAAC;AAAA,QAChM;AACA,4BAAoB,kBAClB,OAAO,SAAO,CAAC,KAAK,IAAI,UAAU,IAAI,GAAG,EAAE,eAAe,CAAC,0BAA0B,SAAS,GAAG,CAAC;AACpG,YAAI,CAAC,kBAAkB,QAAQ;AAC9B,0BAAgB,OAAO,MAAM,CAAC;AAC9B;AAAA,QACD;AACA,cAAM,UAAU,KAAK,IAAI,UAAU,IAAI,KAAK,OAAO,iBAAiB,CAAC;AACrE,aAAK,IAAI,YAAY,SAAS,SAAS,yBAAyB,UAAU,MAAM;AAChF,YAAI,WAAW;AACd,kBAAQ,WAAW,OAAO;AAAA,QAC3B,OAAO;AACN,kBAAQ,eAAe,eAAe;AACtC,kBAAQ,YAAY,aAAa,SAAS,OAAO;AAAA,QAClD;AACA;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,iBAAiB;AAAA,IAChB,SAAS;AAAA,IACT,cAAc,QAAQ,QAAQ,QAAQ,MAAM;AAC3C,YAAM,YAAY,OAAO,YAAY;AACrC,YAAM,4BAA4B,CAAC,gBAAgB,YAAY,mBAAmB,aAAa;AAC/F,UAAI,WAAW;AACd,YAAI,OAAO,WAAW,EAAE,eAAe,0BAA0B,SAAS,OAAO,OAAO,KACvF,OAAO,UAAU,SAAS,GACzB;AACD;AAAA,QACD;AAEA,YAAI,KAAK,sBAAsB,MAAM,QAAQ,MAAM,GAAG;AACrD,gBAAM,gBAAgB,OAAO,WAAW,mBAAmB,MAAM;AACjE,cAAI,CAAC;AAAe;AACpB,cAAI,OAAO,OAAO,MAAM,GAAG;AAC1B,iBAAK,IAAI,aAAa,QAAQ,cAAc,IAAI,IAAI,UAAU,MAAM;AAAA,UACrE,OAAO;AACN,iBAAK,IAAI,aAAa,QAAQ,6BAA6B,KAAK,IAAI,UAAU,IAAI,aAAa,EAAE,MAAM,oBAAoB,UAAU,MAAM;AAAA,UAC5I;AACA,iBAAO,WAAW,aAAa;AAAA,QAChC;AAAA,MACD,OAAO;AAEN,cAAM,oBAAoB,CAAC,OAAO,SAAS,GAAI,OAAO,EAAE,WAAW,CAAC,CAAE,EACpE,OAAO,SAAO,CAAC,KAAK,IAAI,UAAU,IAAI,GAAG,EAAE,eAAe,CAAC,0BAA0B,SAAS,GAAG,CAAC;AACpG,YAAI,CAAC,kBAAkB,UAAU,OAAO,UAAU,SAAS;AAAG;AAC9D,YAAI,KAAK,MAAM,SAAS,GAAG;AAC1B,gBAAM,gBAAgB,KAAK,OAAO,iBAAiB;AACnD,cAAI,kBAAkB,OAAO,SAAS;AACrC,gBAAI,CAAC,OAAO,WAAW,mBAAmB,MAAM;AAAG;AAAA,UACpD,OAAO;AACN,mBAAO,eAAe,aAAa,aAAa;AAChD,mBAAO,YAAY,2BAA2B,MAAM;AAAA,UACrD;AACA,cAAI,OAAO,OAAO,MAAM,GAAG;AAC1B,iBAAK,IAAI,aAAa,QAAQ,cAAc,IAAI,IAAI,UAAU,MAAM;AAAA,UACrE,OAAO;AACN,iBAAK,IAAI,aAAa,QAAQ,6BAA6B,KAAK,IAAI,UAAU,IAAI,aAAa,EAAE,MAAM,oBAAoB,UAAU,MAAM;AAAA,UAC5I;AACA,cAAI,kBAAkB,OAAO,SAAS;AACrC,mBAAO,WAAW,aAAa;AAAA,UAChC,OAAO;AACN,mBAAO,eAAe,yBAAyB;AAC/C,mBAAO,YAAY,aAAa,eAAe,MAAM;AAAA,UACtD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;", "names": [] }