diff --git a/Cargo.lock b/Cargo.lock index 60b0a0df8..ad2b7a29e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -208,7 +208,7 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "azalea" -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" dependencies = [ "anyhow", "azalea-auth", @@ -248,7 +248,7 @@ dependencies = [ [[package]] name = "azalea-auth" -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" dependencies = [ "azalea-buf", "azalea-crypto", @@ -268,7 +268,7 @@ dependencies = [ [[package]] name = "azalea-block" -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" dependencies = [ "azalea-block-macros", "azalea-buf", @@ -277,7 +277,7 @@ dependencies = [ [[package]] name = "azalea-block-macros" -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" dependencies = [ "proc-macro2", "quote", @@ -286,7 +286,7 @@ dependencies = [ [[package]] name = "azalea-brigadier" -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" dependencies = [ "azalea-buf", "azalea-chat", @@ -297,7 +297,7 @@ dependencies = [ [[package]] name = "azalea-buf" -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" dependencies = [ "azalea-buf-macros", "byteorder", @@ -310,7 +310,7 @@ dependencies = [ [[package]] name = "azalea-buf-macros" -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" dependencies = [ "proc-macro2", "quote", @@ -319,7 +319,7 @@ dependencies = [ [[package]] name = "azalea-chat" -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" dependencies = [ "azalea-buf", "azalea-language", @@ -332,7 +332,7 @@ dependencies = [ [[package]] name = "azalea-client" -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" dependencies = [ "anyhow", "azalea-auth", @@ -366,7 +366,7 @@ dependencies = [ [[package]] name = "azalea-core" -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" dependencies = [ "azalea-buf", "azalea-chat", @@ -381,7 +381,7 @@ dependencies = [ [[package]] name = "azalea-crypto" -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" dependencies = [ "aes", "azalea-buf", @@ -398,7 +398,7 @@ dependencies = [ [[package]] name = "azalea-entity" -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" dependencies = [ "azalea-block", "azalea-buf", @@ -421,7 +421,7 @@ dependencies = [ [[package]] name = "azalea-inventory" -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" dependencies = [ "azalea-buf", "azalea-chat", @@ -434,7 +434,7 @@ dependencies = [ [[package]] name = "azalea-inventory-macros" -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" dependencies = [ "proc-macro2", "quote", @@ -443,7 +443,7 @@ dependencies = [ [[package]] name = "azalea-language" -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" dependencies = [ "serde", "serde_json", @@ -451,7 +451,7 @@ dependencies = [ [[package]] name = "azalea-physics" -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" dependencies = [ "azalea-block", "azalea-core", @@ -469,7 +469,7 @@ dependencies = [ [[package]] name = "azalea-protocol" -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" dependencies = [ "anyhow", "async-recursion", @@ -504,7 +504,7 @@ dependencies = [ [[package]] name = "azalea-protocol-macros" -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" dependencies = [ "proc-macro2", "quote", @@ -513,7 +513,7 @@ dependencies = [ [[package]] name = "azalea-registry" -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" dependencies = [ "azalea-buf", "azalea-registry-macros", @@ -523,7 +523,7 @@ dependencies = [ [[package]] name = "azalea-registry-macros" -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" dependencies = [ "quote", "syn", @@ -531,7 +531,7 @@ dependencies = [ [[package]] name = "azalea-world" -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" dependencies = [ "azalea-block", "azalea-buf", diff --git a/Cargo.toml b/Cargo.toml index 0147489c1..01a1168a5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,7 @@ resolver = "2" # --- Workspace Settings --- [workspace.package] -version = "0.11.0+mc1.21.4" +version = "0.11.0+mc25w02a" edition = "2021" license = "MIT" repository = "https://github.com/azalea-rs/azalea" diff --git a/README.md b/README.md index 992169f19..37924a75b 100755 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ A collection of Rust crates for making Minecraft bots, clients, and tools. -_Currently supported Minecraft version: `1.21.4`._ +_Currently supported Minecraft version: `25w02a`._ > [!WARNING] > Azalea is still very unfinished, though most crates are in a somewhat useable state diff --git a/azalea-block/src/generated.rs b/azalea-block/src/generated.rs index de3605500..a4cee6adf 100755 --- a/azalea-block/src/generated.rs +++ b/azalea-block/src/generated.rs @@ -326,7 +326,11 @@ make_block_states! { "south" => South(bool), "up" => Up(bool), "west" => West(bool), - "active" => Active(bool), + "creaking_heart_state" => CreakingHeartState { + Uprooted, + Dormant, + Awake, + }, "natural" => Natural(bool), "half" => TopBottom { Top, @@ -1958,6 +1962,18 @@ make_block_states! { _3, _4, }, + "flower_amount" => WildflowersFlowerAmount { + _1, + _2, + _3, + _4, + }, + "segment_amount" => LeafLitterSegmentAmount { + _1, + _2, + _3, + _4, + }, "tilt" => Tilt { None, Unstable, @@ -2438,8 +2454,8 @@ make_block_states! { soul_fire => BlockBehavior::new(), {}, spawner => BlockBehavior::new().requires_correct_tool_for_drops().strength(5.0, 5.0), {}, creaking_heart => BlockBehavior::new(), { - "active": Active(false), "axis": Axis::Y, + "creaking_heart_state": CreakingHeartState::Uprooted, "natural": Natural(false), }, oak_stairs => BlockBehavior::new().strength(2.0, 3.0), { @@ -5419,6 +5435,14 @@ make_block_states! { "facing": FacingCardinal::North, "flower_amount": PinkPetalsFlowerAmount::_1, }, + wildflowers => BlockBehavior::new(), { + "facing": FacingCardinal::North, + "flower_amount": WildflowersFlowerAmount::_1, + }, + leaf_litter => BlockBehavior::new(), { + "facing": FacingCardinal::North, + "segment_amount": LeafLitterSegmentAmount::_1, + }, moss_block => BlockBehavior::new().strength(0.1, 0.1), {}, big_dripleaf => BlockBehavior::new().strength(0.1, 0.1), { "facing": FacingCardinal::North, diff --git a/azalea-client/src/packet_handling/game.rs b/azalea-client/src/packet_handling/game.rs index d92f2464c..98e2543d1 100644 --- a/azalea-client/src/packet_handling/game.rs +++ b/azalea-client/src/packet_handling/game.rs @@ -1157,7 +1157,6 @@ pub fn process_packet_events(ecs: &mut World) { ClientboundGamePacket::UpdateMobEffect(p) => { debug!("Got update mob effect packet {p:?}"); } - ClientboundGamePacket::AddExperienceOrb(_) => {} ClientboundGamePacket::AwardStats(_) => {} ClientboundGamePacket::BlockChangedAck(_) => {} ClientboundGamePacket::BlockDestruction(_) => {} diff --git a/azalea-entity/src/data.rs b/azalea-entity/src/data.rs index 67476d8bb..d5375fae2 100755 --- a/azalea-entity/src/data.rs +++ b/azalea-entity/src/data.rs @@ -70,7 +70,7 @@ pub enum EntityDataValue { BlockPos(BlockPos), OptionalBlockPos(Option), Direction(Direction), - OptionalUuid(Option), + OptionalLivingEntityReference(Option), BlockState(azalea_block::BlockState), /// If this is air, that means it's absent, OptionalBlockState(azalea_block::BlockState), @@ -84,6 +84,7 @@ pub enum EntityDataValue { CatVariant(azalea_registry::CatVariant), WolfVariant(azalea_registry::WolfVariant), FrogVariant(azalea_registry::FrogVariant), + PigVariant(azalea_registry::PigVariant), OptionalGlobalPos(Option), PaintingVariant(azalea_registry::PaintingVariant), SnifferState(SnifferStateKind), diff --git a/azalea-entity/src/metadata.rs b/azalea-entity/src/metadata.rs index 41e7a0e85..34e669e16 100644 --- a/azalea-entity/src/metadata.rs +++ b/azalea-entity/src/metadata.rs @@ -3821,10 +3821,10 @@ impl Fox { entity.insert(FoxInterested(bitfield & 0x8 != 0)); } 19 => { - entity.insert(TrustedId0(d.value.into_optional_uuid()?)); + entity.insert(TrustedId0(d.value.into_optional_living_entity_reference()?)); } 20 => { - entity.insert(TrustedId1(d.value.into_optional_uuid()?)); + entity.insert(TrustedId1(d.value.into_optional_living_entity_reference()?)); } _ => {} } @@ -6680,6 +6680,8 @@ impl Default for PhantomMetadataBundle { pub struct PigSaddle(pub bool); #[derive(Component, Deref, DerefMut, Clone)] pub struct PigBoostTime(pub i32); +#[derive(Component, Deref, DerefMut, Clone)] +pub struct PigVariant(pub azalea_registry::PigVariant); #[derive(Component)] pub struct Pig; impl Pig { @@ -6695,6 +6697,9 @@ impl Pig { 18 => { entity.insert(PigBoostTime(d.value.into_int()?)); } + 19 => { + entity.insert(PigVariant(d.value.into_pig_variant()?)); + } _ => {} } Ok(()) @@ -6707,6 +6712,7 @@ pub struct PigMetadataBundle { parent: AbstractAnimalMetadataBundle, pig_saddle: PigSaddle, pig_boost_time: PigBoostTime, + pig_variant: PigVariant, } impl Default for PigMetadataBundle { fn default() -> Self { @@ -6758,6 +6764,7 @@ impl Default for PigMetadataBundle { }, pig_saddle: PigSaddle(false), pig_boost_time: PigBoostTime(0), + pig_variant: PigVariant(Default::default()), } } } @@ -11977,7 +11984,7 @@ impl AbstractTameable { entity.insert(InSittingPose(bitfield & 0x1 != 0)); } 18 => { - entity.insert(Owneruuid(d.value.into_optional_uuid()?)); + entity.insert(Owneruuid(d.value.into_optional_living_entity_reference()?)); } _ => {} } diff --git a/azalea-entity/src/particle.rs b/azalea-entity/src/particle.rs index a8710effc..b5d29abc7 100755 --- a/azalea-entity/src/particle.rs +++ b/azalea-entity/src/particle.rs @@ -46,6 +46,7 @@ pub enum Particle { Infested, CherryLeaves, PaleOakLeaves, + TintedLeaves, SculkSoul, SculkCharge(SculkChargeParticle), SculkChargePop, @@ -165,6 +166,7 @@ impl From for Particle { ParticleKind::Flame => Self::Flame, ParticleKind::CherryLeaves => Self::CherryLeaves, ParticleKind::PaleOakLeaves => Self::PaleOakLeaves, + ParticleKind::TintedLeaves => Self::TintedLeaves, ParticleKind::SculkSoul => Self::SculkSoul, ParticleKind::SculkCharge => Self::SculkCharge(SculkChargeParticle::default()), ParticleKind::SculkChargePop => Self::SculkChargePop, diff --git a/azalea-inventory/src/components.rs b/azalea-inventory/src/components.rs index e62288c61..f489e6bef 100644 --- a/azalea-inventory/src/components.rs +++ b/azalea-inventory/src/components.rs @@ -133,6 +133,8 @@ pub fn from_kind( DataComponentKind::Glider => Box::new(Glider::azalea_read(buf)?), DataComponentKind::TooltipStyle => Box::new(TooltipStyle::azalea_read(buf)?), DataComponentKind::DeathProtection => Box::new(DeathProtection::azalea_read(buf)?), + DataComponentKind::Weapon => Box::new(Weapon::azalea_read(buf)?), + DataComponentKind::PotionDurationScale => Box::new(PotionDurationScale::azalea_read(buf)?), }) } @@ -918,3 +920,21 @@ pub struct DeathProtection { impl DataComponent for DeathProtection { const KIND: DataComponentKind = DataComponentKind::DeathProtection; } + +#[derive(Clone, PartialEq, AzBuf)] +pub struct Weapon { + #[var] + pub damage_per_attack: i32, + pub can_disable_blocking: bool, +} +impl DataComponent for Weapon { + const KIND: DataComponentKind = DataComponentKind::Weapon; +} + +#[derive(Clone, PartialEq, AzBuf)] +pub struct PotionDurationScale { + pub value: f32, +} +impl DataComponent for PotionDurationScale { + const KIND: DataComponentKind = DataComponentKind::PotionDurationScale; +} diff --git a/azalea-language/src/en_us.json b/azalea-language/src/en_us.json index 2826affe5..8f556d4c9 100755 --- a/azalea-language/src/en_us.json +++ b/azalea-language/src/en_us.json @@ -1720,6 +1720,7 @@ "block.minecraft.large_fern": "Large Fern", "block.minecraft.lava": "Lava", "block.minecraft.lava_cauldron": "Lava Cauldron", + "block.minecraft.leaf_litter": "Leaf Litter", "block.minecraft.lectern": "Lectern", "block.minecraft.lever": "Lever", "block.minecraft.light": "Light", @@ -2310,6 +2311,7 @@ "block.minecraft.white_terracotta": "White Terracotta", "block.minecraft.white_tulip": "White Tulip", "block.minecraft.white_wool": "White Wool", + "block.minecraft.wildflowers": "Wildflowers", "block.minecraft.wither_rose": "Wither Rose", "block.minecraft.wither_skeleton_skull": "Wither Skeleton Skull", "block.minecraft.wither_skeleton_wall_skull": "Wither Skeleton Wall Skull", @@ -2697,11 +2699,11 @@ "commands.random.roll": "%s rolled %s (from %s to %s)", "commands.random.sample.success": "Randomized value: %s", "commands.recipe.give.failed": "No new recipes were learned", - "commands.recipe.give.success.multiple": "Unlocked %s recipes for %s players", - "commands.recipe.give.success.single": "Unlocked %s recipes for %s", + "commands.recipe.give.success.multiple": "Unlocked %s recipe(s) for %s players", + "commands.recipe.give.success.single": "Unlocked %s recipe(s) for %s", "commands.recipe.take.failed": "No recipes could be forgotten", - "commands.recipe.take.success.multiple": "Took %s recipes from %s players", - "commands.recipe.take.success.single": "Took %s recipes from %s", + "commands.recipe.take.success.multiple": "Took %s recipe(s) from %s players", + "commands.recipe.take.success.single": "Took %s recipe(s) from %s", "commands.reload.failure": "Reload failed; keeping old data", "commands.reload.success": "Reloading!", "commands.ride.already_riding": "%s is already riding %s", @@ -2980,7 +2982,7 @@ "controls.resetAll": "Reset Keys", "controls.title": "Controls", "createWorld.customize.buffet.biome": "Please select a biome", - "createWorld.customize.buffet.title": "Buffet world customization", + "createWorld.customize.buffet.title": "Single Biome Customization", "createWorld.customize.flat.height": "Height", "createWorld.customize.flat.layer": "%s", "createWorld.customize.flat.layer.bottom": "Bottom - %s", @@ -2989,7 +2991,7 @@ "createWorld.customize.flat.tile": "Layer Material", "createWorld.customize.flat.title": "Superflat Customization", "createWorld.customize.presets": "Presets", - "createWorld.customize.presets.list": "Alternatively, here's some we made earlier!", + "createWorld.customize.presets.list": "Alternatively, here are some we made earlier!", "createWorld.customize.presets.select": "Use Preset", "createWorld.customize.presets.share": "Want to share your preset with someone? Use the box below!", "createWorld.customize.presets.title": "Select a Preset", @@ -3551,7 +3553,7 @@ "gameMode.adventure": "Adventure Mode", "gameMode.changed": "Your game mode has been updated to %s", "gameMode.creative": "Creative Mode", - "gameMode.hardcore": "Hardcore Mode!", + "gameMode.hardcore": "Hardcore Mode", "gameMode.spectator": "Spectator Mode", "gameMode.survival": "Survival Mode", "gamerule.announceAdvancements": "Announce advancements", @@ -4575,7 +4577,7 @@ "item.modifiers.any": "When equipped:", "item.modifiers.armor": "When worn:", "item.modifiers.body": "When equipped:", - "item.modifiers.chest": "When on Body:", + "item.modifiers.chest": "When on Chest:", "item.modifiers.feet": "When on Feet:", "item.modifiers.hand": "When held:", "item.modifiers.head": "When on Head:", @@ -5697,7 +5699,7 @@ "realms.missing.snapshot.error.text": "Realms is currently not supported in snapshots", "recipe.notFound": "Unknown recipe: %s", "recipe.toast.description": "Check your recipe book", - "recipe.toast.title": "New Recipes Unlocked!", + "recipe.toast.title": "New Recipe(s) Unlocked!", "record.nowPlaying": "Now Playing: %s", "recover_world.bug_tracker": "Report a Bug", "recover_world.button": "Attempt to Recover", @@ -6014,6 +6016,7 @@ "structure_block.size.x": "structure size x", "structure_block.size.y": "structure size y", "structure_block.size.z": "structure size z", + "structure_block.strict": "Strict Placement:", "structure_block.structure_name": "Structure Name", "subtitles.ambient.cave": "Eerie noise", "subtitles.ambient.sound": "Eerie noise", @@ -6126,8 +6129,8 @@ "subtitles.block.sculk_shrieker.shriek": "Sculk Shrieker shrieks", "subtitles.block.sculk.charge": "Sculk bubbles", "subtitles.block.sculk.spread": "Sculk spreads", - "subtitles.block.shulker_box.close": "Shulker closes", - "subtitles.block.shulker_box.open": "Shulker opens", + "subtitles.block.shulker_box.close": "Shulker box closes", + "subtitles.block.shulker_box.open": "Shulker box opens", "subtitles.block.sign.waxed_interact_fail": "Sign wobbles", "subtitles.block.smithing_table.use": "Smithing Table used", "subtitles.block.smoker.smoke": "Smoker smokes", diff --git a/azalea-physics/src/collision/blocks.rs b/azalea-physics/src/collision/blocks.rs index 753be0cb4..220f43b38 100644 --- a/azalea-physics/src/collision/blocks.rs +++ b/azalea-physics/src/collision/blocks.rs @@ -4918,15 +4918,15 @@ impl BlockWithShape for BlockState { } fn is_collision_shape_empty(&self) -> bool { - matches!(self.id, 0|29..=42|45..=84|86..=117|1987..=2034|2047..=2053|2106..=2133|2398..=2915|3033..=4328|4333..=4340|4357..=4580|4613..=4676|4749..=4768|4849..=4904|4913..=5376|5441..=5696|5793..=5818|5883..=5896|5899..=5902|5907..=5941|5968..=5983|6027..=6031|6033..=6034|7046..=7229|7358..=7359|7362..=7363|7366..=7367|7370..=7371|7374..=7375|7378..=7379|7382..=7383|7386..=7387|8159..=8162|8180|8295..=8438|8699|8702|9023|9026|9370..=9553|9578..=9625|9942..=9973|10119..=10142|11246..=11277|11626..=11957|12195..=12196|12199..=12200|12203..=12204|12207..=12208|12211..=12212|12215..=12216|12219..=12220|12223..=12224|12227..=12228|12231..=12232|12235..=12236|12239..=12240|12243..=12244|12247..=12248|12251..=12252|12255..=12256|12259..=12260|12263..=12264|12267..=12268|12271..=12272|12275..=12276|12279..=12280|12283..=12284|12287..=12288|12291..=12292|12295..=12296|12299..=12300|12303..=12304|12307..=12308|12311..=12312|12315..=12316|12319..=12320|12323..=12324|12327..=12328|12331..=12332|12335..=12336|12339..=12340|12343..=12344|12347..=12348|12351..=12352|12355..=12356|12359..=12360|12363..=12364|12367..=12368|12371..=12372|12375..=12376|12379..=12380|12383..=12384|12419..=12420|12423..=12424|12427..=12428|12431..=12432|12435..=12436|12439..=12440|12443..=12444|12447..=12448|12451..=12452|12455..=12456|12459..=12460|12463..=12464|12467..=12468|12471..=12472|12475..=12476|12479..=12480|13508..=13509|13512|13514|13516|13518|13520..=13525|13527|13562|13773..=13799|13826..=13945|13957|13971..=13974|15179|15182|15503|15506|15827|15830|16151|16154|16475|16478|16799|16802|17123|17126|17447|17450|17771|17774|18095|18098|18419|18422|18743|18746|19067|19070|19588..=19591|19605|19607..=19608|19622|19624..=19678|19693..=19696|19889..=19890|19893..=19894|19897..=19898|19901..=19902|19905..=19906|19909..=19910|19913..=19914|19917..=19918|19921..=19922|19925..=19926|19929..=19930|19933..=19934|19937..=19938|19941..=19942|19945..=19946|19949..=19950|20113..=20160|20289..=20368|20560|20563|20980|20983|21385..=21410|21417|21420|22187|22190|22598|22601|23010|23013|23331|23813..=23940|25782..=25836|25840..=25855|25863..=25864|25871..=25872|25879..=25880|25887..=25914|26013|26016|26424|26427|26835|26838|27246|27249|27585) + matches!(self.id, 0|29..=42|45..=84|86..=117|1987..=2034|2047..=2053|2106..=2133|2398..=2915|3039..=4334|4339..=4346|4363..=4586|4619..=4682|4755..=4774|4855..=4910|4919..=5382|5447..=5702|5799..=5824|5889..=5902|5905..=5908|5913..=5947|5974..=5989|6033..=6037|6039..=6040|7052..=7235|7364..=7365|7368..=7369|7372..=7373|7376..=7377|7380..=7381|7384..=7385|7388..=7389|7392..=7393|8165..=8168|8186|8301..=8444|8705|8708|9029|9032|9376..=9559|9584..=9631|9948..=9979|10125..=10148|11252..=11283|11632..=11963|12201..=12202|12205..=12206|12209..=12210|12213..=12214|12217..=12218|12221..=12222|12225..=12226|12229..=12230|12233..=12234|12237..=12238|12241..=12242|12245..=12246|12249..=12250|12253..=12254|12257..=12258|12261..=12262|12265..=12266|12269..=12270|12273..=12274|12277..=12278|12281..=12282|12285..=12286|12289..=12290|12293..=12294|12297..=12298|12301..=12302|12305..=12306|12309..=12310|12313..=12314|12317..=12318|12321..=12322|12325..=12326|12329..=12330|12333..=12334|12337..=12338|12341..=12342|12345..=12346|12349..=12350|12353..=12354|12357..=12358|12361..=12362|12365..=12366|12369..=12370|12373..=12374|12377..=12378|12381..=12382|12385..=12386|12389..=12390|12425..=12426|12429..=12430|12433..=12434|12437..=12438|12441..=12442|12445..=12446|12449..=12450|12453..=12454|12457..=12458|12461..=12462|12465..=12466|12469..=12470|12473..=12474|12477..=12478|12481..=12482|12485..=12486|13514..=13515|13518|13520|13522|13524|13526..=13531|13533|13568|13779..=13805|13832..=13951|13963|13977..=13980|15185|15188|15509|15512|15833|15836|16157|16160|16481|16484|16805|16808|17129|17132|17453|17456|17777|17780|18101|18104|18425|18428|18749|18752|19073|19076|19594..=19597|19611|19613..=19614|19628|19630..=19684|19699..=19702|19895..=19896|19899..=19900|19903..=19904|19907..=19908|19911..=19912|19915..=19916|19919..=19920|19923..=19924|19927..=19928|19931..=19932|19935..=19936|19939..=19940|19943..=19944|19947..=19948|19951..=19952|19955..=19956|20119..=20166|20295..=20374|20566|20569|20986|20989|21391..=21416|21423|21426|22193|22196|22604|22607|23016|23019|23337|23819..=23946|25788..=25842|25846..=25861|25901..=25902|25909..=25910|25917..=25918|25925..=25952|26051|26054|26462|26465|26873|26876|27284|27287|27623) } fn is_collision_shape_full(&self) -> bool { - matches!(self.id, 1..=21|26..=28|85|118..=156|160..=188|192..=245|249..=447|476..=1730|2041..=2046|2060..=2065|2090..=2105|2134..=2397|2916|4329..=4332|4349..=4356|5903..=5906|5949..=5950|5967|5984..=5985|6018|6020..=6026|6032|6035..=6042|6114..=6129|6770..=6973|7044..=7045|7630..=7631|8046|8189|8191..=8192|8285..=8286|8439|8680..=8692|10022..=10023|10034..=10038|10143..=10170|11243..=11245|11342..=11344|11589..=11590|11595..=11596|11601..=11606|11623..=11625|11958..=11960|12045..=12046|12051..=12052|12057..=12058|12063..=12064|12069..=12070|12075..=12076|12081..=12082|12093..=12094|12099..=12100|12105..=12106|12111..=12112|12117..=12118|12123..=12124|12129..=12130|12135..=12136|12141..=12142|12147..=12148|12153..=12154|12159..=12160|12165..=12166|12171..=12172|12177..=12178|12183..=12184|12189..=12194|13417..=13426|13507|13528..=13561|13563..=13772|13800|13816..=13825|13954|15099..=15100|15105..=15106|15111..=15112|15117..=15118|15123..=15124|15129..=15130|15135..=15136|15141..=15142|15147..=15148|15153..=15154|15159..=15160|15165..=15166|15171..=15172|19417..=19450|19479|19592..=19604|19606|19609..=19621|19623|19679..=19680|19685..=19686|19691..=19692|20369..=20384|20394..=20457|20459..=20467|20472..=20473|20882..=20887|20892..=20893|21298|21383..=21384|21735..=21737|22044..=22045|22094|22099..=22100|22505|22510..=22511|22916..=22917|22922..=22923|23328..=23330|23812|23941..=23942|23951..=23968|24293..=24294|24299..=24300|24305..=24306|24311..=24320|24645..=24646|24651..=24652|24657..=24658|24663..=24664|25689..=25736|25781|25856|25915|25917..=25920|26005..=26006|26331|26416..=26417|26742|26827..=26828|27153|27238..=27239|27564..=27573|27576..=27584|27586|27603..=27656) + matches!(self.id, 1..=21|26..=28|85|118..=156|160..=188|192..=245|249..=447|476..=1730|2041..=2046|2060..=2065|2090..=2105|2134..=2397|2916|4335..=4338|4355..=4362|5909..=5912|5955..=5956|5973|5990..=5991|6024|6026..=6032|6038|6041..=6048|6120..=6135|6776..=6979|7050..=7051|7636..=7637|8052|8195|8197..=8198|8291..=8292|8445|8686..=8698|10028..=10029|10040..=10044|10149..=10176|11249..=11251|11348..=11350|11595..=11596|11601..=11602|11607..=11612|11629..=11631|11964..=11966|12051..=12052|12057..=12058|12063..=12064|12069..=12070|12075..=12076|12081..=12082|12087..=12088|12099..=12100|12105..=12106|12111..=12112|12117..=12118|12123..=12124|12129..=12130|12135..=12136|12141..=12142|12147..=12148|12153..=12154|12159..=12160|12165..=12166|12171..=12172|12177..=12178|12183..=12184|12189..=12190|12195..=12200|13423..=13432|13513|13534..=13567|13569..=13778|13806|13822..=13831|13960|15105..=15106|15111..=15112|15117..=15118|15123..=15124|15129..=15130|15135..=15136|15141..=15142|15147..=15148|15153..=15154|15159..=15160|15165..=15166|15171..=15172|15177..=15178|19423..=19456|19485|19598..=19610|19612|19615..=19627|19629|19685..=19686|19691..=19692|19697..=19698|20375..=20390|20400..=20463|20465..=20473|20478..=20479|20888..=20893|20898..=20899|21304|21389..=21390|21741..=21743|22050..=22051|22100|22105..=22106|22511|22516..=22517|22922..=22923|22928..=22929|23334..=23336|23818|23947..=23948|23957..=23974|24299..=24300|24305..=24306|24311..=24312|24317..=24326|24651..=24652|24657..=24658|24663..=24664|24669..=24670|25695..=25742|25787|25894|25953|25955..=25958|26043..=26044|26369|26454..=26455|26780|26865..=26866|27191|27276..=27277|27602..=27611|27614..=27622|27624|27641..=27694) } } -static COLLISION_SHAPES_MAP: [&LazyLock; 27657] = [ +static COLLISION_SHAPES_MAP: [&LazyLock; 27695] = [ &SHAPE0, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE0, @@ -5221,18 +5221,19 @@ static COLLISION_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, - &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, - &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, - &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, - &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, - &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, - &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, - &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, - &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, - &SHAPE92, &SHAPE98, &SHAPE98, &SHAPE99, &SHAPE99, &SHAPE100, &SHAPE100, &SHAPE98, &SHAPE98, - &SHAPE100, &SHAPE100, &SHAPE99, &SHAPE99, &SHAPE98, &SHAPE98, &SHAPE101, &SHAPE101, &SHAPE102, - &SHAPE102, &SHAPE98, &SHAPE98, &SHAPE102, &SHAPE102, &SHAPE101, &SHAPE101, &SHAPE0, &SHAPE0, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE74, &SHAPE74, + &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, + &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, + &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, + &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, + &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, + &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, + &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, + &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, + &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE98, &SHAPE98, &SHAPE99, + &SHAPE99, &SHAPE100, &SHAPE100, &SHAPE98, &SHAPE98, &SHAPE100, &SHAPE100, &SHAPE99, &SHAPE99, + &SHAPE98, &SHAPE98, &SHAPE101, &SHAPE101, &SHAPE102, &SHAPE102, &SHAPE98, &SHAPE98, &SHAPE102, + &SHAPE102, &SHAPE101, &SHAPE101, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, @@ -5361,11 +5362,11 @@ static COLLISION_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, + &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, + &SHAPE0, &SHAPE188, &SHAPE188, &SHAPE188, &SHAPE188, &SHAPE188, &SHAPE188, &SHAPE188, + &SHAPE188, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, - &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE0, &SHAPE0, - &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE188, &SHAPE188, &SHAPE188, - &SHAPE188, &SHAPE188, &SHAPE188, &SHAPE188, &SHAPE188, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, @@ -5387,43 +5388,42 @@ static COLLISION_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, - &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, + &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE190, + &SHAPE190, &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE191, &SHAPE191, &SHAPE190, + &SHAPE190, &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE191, &SHAPE191, &SHAPE192, + &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE190, &SHAPE190, &SHAPE193, &SHAPE193, &SHAPE192, + &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE190, &SHAPE190, &SHAPE193, &SHAPE193, &SHAPE191, + &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE192, &SHAPE192, &SHAPE191, + &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE192, &SHAPE192, &SHAPE193, + &SHAPE193, &SHAPE190, &SHAPE190, &SHAPE191, &SHAPE191, &SHAPE190, &SHAPE190, &SHAPE193, + &SHAPE193, &SHAPE190, &SHAPE190, &SHAPE191, &SHAPE191, &SHAPE190, &SHAPE190, &SHAPE191, + &SHAPE191, &SHAPE193, &SHAPE193, &SHAPE192, &SHAPE192, &SHAPE190, &SHAPE190, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, - &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE190, &SHAPE190, &SHAPE191, &SHAPE191, &SHAPE192, - &SHAPE192, &SHAPE191, &SHAPE191, &SHAPE190, &SHAPE190, &SHAPE191, &SHAPE191, &SHAPE192, - &SHAPE192, &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE190, - &SHAPE190, &SHAPE193, &SHAPE193, &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE190, - &SHAPE190, &SHAPE193, &SHAPE193, &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE193, - &SHAPE193, &SHAPE192, &SHAPE192, &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE193, - &SHAPE193, &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE190, &SHAPE190, &SHAPE191, - &SHAPE191, &SHAPE190, &SHAPE190, &SHAPE193, &SHAPE193, &SHAPE190, &SHAPE190, &SHAPE191, - &SHAPE191, &SHAPE190, &SHAPE190, &SHAPE191, &SHAPE191, &SHAPE193, &SHAPE193, &SHAPE192, - &SHAPE192, &SHAPE190, &SHAPE190, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, + &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE74, &SHAPE74, + &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, + &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, + &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, + &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, + &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, + &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, + &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, + &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, + &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, - &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, - &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, - &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, - &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, - &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, - &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, - &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, - &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, - &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, - &SHAPE92, &SHAPE92, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, - &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, + &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, @@ -5470,13 +5470,13 @@ static COLLISION_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, + &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, @@ -5502,116 +5502,54 @@ static COLLISION_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, - &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE203, - &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE203, - &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE203, - &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE203, - &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE203, - &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE203, - &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE203, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE201, &SHAPE201, - &SHAPE201, &SHAPE201, &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE201, &SHAPE201, - &SHAPE201, &SHAPE201, &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE201, &SHAPE201, - &SHAPE201, &SHAPE201, &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE201, &SHAPE201, - &SHAPE201, &SHAPE201, &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE0, &SHAPE0, &SHAPE0, + &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE203, + &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE203, + &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE203, + &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE203, + &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE203, + &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE203, + &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE203, + &SHAPE203, &SHAPE203, &SHAPE203, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE203, &SHAPE203, &SHAPE203, + &SHAPE203, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE203, &SHAPE203, &SHAPE203, + &SHAPE203, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE203, &SHAPE203, &SHAPE203, + &SHAPE203, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE201, &SHAPE203, &SHAPE203, &SHAPE203, + &SHAPE203, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, + &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE190, &SHAPE190, &SHAPE191, + &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE191, &SHAPE191, &SHAPE190, &SHAPE190, &SHAPE191, + &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE193, + &SHAPE193, &SHAPE190, &SHAPE190, &SHAPE193, &SHAPE193, &SHAPE192, &SHAPE192, &SHAPE193, + &SHAPE193, &SHAPE190, &SHAPE190, &SHAPE193, &SHAPE193, &SHAPE191, &SHAPE191, &SHAPE192, + &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE192, &SHAPE192, &SHAPE191, &SHAPE191, &SHAPE192, + &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE190, + &SHAPE190, &SHAPE191, &SHAPE191, &SHAPE190, &SHAPE190, &SHAPE193, &SHAPE193, &SHAPE190, + &SHAPE190, &SHAPE191, &SHAPE191, &SHAPE190, &SHAPE190, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, - &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE190, &SHAPE190, &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, - &SHAPE191, &SHAPE191, &SHAPE190, &SHAPE190, &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, - &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE190, &SHAPE190, - &SHAPE193, &SHAPE193, &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE190, &SHAPE190, - &SHAPE193, &SHAPE193, &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, - &SHAPE192, &SHAPE192, &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, - &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE190, &SHAPE190, &SHAPE191, &SHAPE191, - &SHAPE190, &SHAPE190, &SHAPE193, &SHAPE193, &SHAPE190, &SHAPE190, &SHAPE191, &SHAPE191, - &SHAPE190, &SHAPE190, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, - &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE1, &SHAPE0, &SHAPE0, - &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, + &SHAPE1, &SHAPE1, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, - &SHAPE0, &SHAPE12, &SHAPE184, &SHAPE185, &SHAPE13, &SHAPE186, &SHAPE18, &SHAPE187, &SHAPE1, - &SHAPE1, &SHAPE231, &SHAPE231, &SHAPE231, &SHAPE231, &SHAPE231, &SHAPE231, &SHAPE231, + &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE12, &SHAPE184, &SHAPE185, &SHAPE13, + &SHAPE186, &SHAPE18, &SHAPE187, &SHAPE1, &SHAPE1, &SHAPE231, &SHAPE231, &SHAPE231, &SHAPE231, &SHAPE231, &SHAPE231, &SHAPE231, &SHAPE231, &SHAPE231, &SHAPE231, &SHAPE231, &SHAPE231, - &SHAPE231, &SHAPE1, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, - &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE1, - &SHAPE234, &SHAPE236, &SHAPE234, &SHAPE236, &SHAPE238, &SHAPE240, &SHAPE238, &SHAPE240, - &SHAPE242, &SHAPE244, &SHAPE242, &SHAPE244, &SHAPE246, &SHAPE248, &SHAPE246, &SHAPE248, - &SHAPE250, &SHAPE252, &SHAPE250, &SHAPE252, &SHAPE254, &SHAPE256, &SHAPE254, &SHAPE256, - &SHAPE258, &SHAPE260, &SHAPE258, &SHAPE260, &SHAPE262, &SHAPE264, &SHAPE262, &SHAPE264, - &SHAPE1, &SHAPE187, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE0, - &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE266, &SHAPE267, &SHAPE268, &SHAPE269, - &SHAPE270, &SHAPE271, &SHAPE272, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, + &SHAPE231, &SHAPE231, &SHAPE231, &SHAPE231, &SHAPE1, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, + &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, + &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE1, &SHAPE234, &SHAPE236, &SHAPE234, &SHAPE236, &SHAPE238, + &SHAPE240, &SHAPE238, &SHAPE240, &SHAPE242, &SHAPE244, &SHAPE242, &SHAPE244, &SHAPE246, + &SHAPE248, &SHAPE246, &SHAPE248, &SHAPE250, &SHAPE252, &SHAPE250, &SHAPE252, &SHAPE254, + &SHAPE256, &SHAPE254, &SHAPE256, &SHAPE258, &SHAPE260, &SHAPE258, &SHAPE260, &SHAPE262, + &SHAPE264, &SHAPE262, &SHAPE264, &SHAPE1, &SHAPE187, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE0, + &SHAPE0, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE266, + &SHAPE267, &SHAPE268, &SHAPE269, &SHAPE270, &SHAPE271, &SHAPE272, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, - &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, - &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE274, @@ -5629,12 +5567,74 @@ static COLLISION_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE191, &SHAPE191, &SHAPE191, + &SHAPE191, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE191, &SHAPE191, &SHAPE191, + &SHAPE191, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE193, &SHAPE193, &SHAPE193, + &SHAPE193, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE193, &SHAPE193, &SHAPE193, + &SHAPE193, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE192, &SHAPE192, &SHAPE192, + &SHAPE192, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE192, &SHAPE192, &SHAPE192, + &SHAPE192, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE190, &SHAPE190, &SHAPE190, + &SHAPE190, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE190, &SHAPE190, &SHAPE190, + &SHAPE190, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE191, &SHAPE191, &SHAPE191, + &SHAPE191, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE191, &SHAPE191, &SHAPE191, + &SHAPE191, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE193, &SHAPE193, &SHAPE193, + &SHAPE193, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE193, &SHAPE193, &SHAPE193, + &SHAPE193, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE192, &SHAPE192, &SHAPE192, + &SHAPE192, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE192, &SHAPE192, &SHAPE192, + &SHAPE192, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE190, &SHAPE190, &SHAPE190, + &SHAPE190, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE190, &SHAPE190, &SHAPE190, + &SHAPE190, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, @@ -5649,16 +5649,16 @@ static COLLISION_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE275, &SHAPE276, &SHAPE275, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE275, &SHAPE276, &SHAPE275, &SHAPE276, &SHAPE277, &SHAPE278, &SHAPE277, &SHAPE278, + &SHAPE279, &SHAPE280, &SHAPE279, &SHAPE280, &SHAPE281, &SHAPE282, &SHAPE281, &SHAPE282, + &SHAPE283, &SHAPE284, &SHAPE283, &SHAPE284, &SHAPE285, &SHAPE286, &SHAPE285, &SHAPE286, + &SHAPE287, &SHAPE288, &SHAPE287, &SHAPE288, &SHAPE289, &SHAPE4, &SHAPE289, &SHAPE4, &SHAPE290, + &SHAPE290, &SHAPE291, &SHAPE291, &SHAPE292, &SHAPE292, &SHAPE275, &SHAPE276, &SHAPE275, &SHAPE276, &SHAPE277, &SHAPE278, &SHAPE277, &SHAPE278, &SHAPE279, &SHAPE280, &SHAPE279, &SHAPE280, &SHAPE281, &SHAPE282, &SHAPE281, &SHAPE282, &SHAPE283, &SHAPE284, &SHAPE283, &SHAPE284, &SHAPE285, &SHAPE286, &SHAPE285, &SHAPE286, &SHAPE287, &SHAPE288, &SHAPE287, - &SHAPE288, &SHAPE289, &SHAPE4, &SHAPE289, &SHAPE4, &SHAPE290, &SHAPE290, &SHAPE291, &SHAPE291, - &SHAPE292, &SHAPE292, &SHAPE275, &SHAPE276, &SHAPE275, &SHAPE276, &SHAPE277, &SHAPE278, - &SHAPE277, &SHAPE278, &SHAPE279, &SHAPE280, &SHAPE279, &SHAPE280, &SHAPE281, &SHAPE282, - &SHAPE281, &SHAPE282, &SHAPE283, &SHAPE284, &SHAPE283, &SHAPE284, &SHAPE285, &SHAPE286, - &SHAPE285, &SHAPE286, &SHAPE287, &SHAPE288, &SHAPE287, &SHAPE288, &SHAPE289, &SHAPE4, - &SHAPE289, &SHAPE4, &SHAPE1, &SHAPE1, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, + &SHAPE288, &SHAPE289, &SHAPE4, &SHAPE289, &SHAPE4, &SHAPE1, &SHAPE1, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, @@ -5676,7 +5676,8 @@ static COLLISION_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, - &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE1, + &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, + &SHAPE0, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, @@ -5688,39 +5689,38 @@ static COLLISION_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE0, &SHAPE0, &SHAPE246, &SHAPE246, - &SHAPE0, &SHAPE0, &SHAPE246, &SHAPE246, &SHAPE0, &SHAPE0, &SHAPE246, &SHAPE246, &SHAPE0, - &SHAPE0, &SHAPE246, &SHAPE246, &SHAPE0, &SHAPE0, &SHAPE252, &SHAPE252, &SHAPE0, &SHAPE0, - &SHAPE252, &SHAPE252, &SHAPE0, &SHAPE0, &SHAPE252, &SHAPE252, &SHAPE0, &SHAPE0, &SHAPE252, - &SHAPE252, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, - &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, - &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, - &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, - &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, - &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, - &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, - &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, - &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, - &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, - &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, - &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, - &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, - &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, - &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, - &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, - &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, - &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE74, - &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, - &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, - &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, - &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, - &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, - &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, - &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, - &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, - &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE1, &SHAPE1, - &SHAPE337, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE0, + &SHAPE0, &SHAPE246, &SHAPE246, &SHAPE0, &SHAPE0, &SHAPE246, &SHAPE246, &SHAPE0, &SHAPE0, + &SHAPE246, &SHAPE246, &SHAPE0, &SHAPE0, &SHAPE246, &SHAPE246, &SHAPE0, &SHAPE0, &SHAPE252, + &SHAPE252, &SHAPE0, &SHAPE0, &SHAPE252, &SHAPE252, &SHAPE0, &SHAPE0, &SHAPE252, &SHAPE252, + &SHAPE0, &SHAPE0, &SHAPE252, &SHAPE252, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, + &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, + &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, + &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, + &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, + &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, + &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, + &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, + &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, + &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, + &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, + &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, + &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, + &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, + &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, + &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, + &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, + &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, + &SHAPE92, &SHAPE92, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, + &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, + &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, + &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, + &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, + &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, + &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, + &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, + &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, + &SHAPE92, &SHAPE1, &SHAPE1, &SHAPE337, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, @@ -5761,35 +5761,35 @@ static COLLISION_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE234, &SHAPE236, &SHAPE234, &SHAPE236, - &SHAPE238, &SHAPE240, &SHAPE238, &SHAPE240, &SHAPE242, &SHAPE244, &SHAPE242, &SHAPE244, - &SHAPE246, &SHAPE248, &SHAPE246, &SHAPE248, &SHAPE250, &SHAPE252, &SHAPE250, &SHAPE252, - &SHAPE254, &SHAPE256, &SHAPE254, &SHAPE256, &SHAPE258, &SHAPE260, &SHAPE258, &SHAPE260, - &SHAPE262, &SHAPE264, &SHAPE262, &SHAPE264, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, - &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, - &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, - &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, - &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, - &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, - &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, - &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, - &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, - &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE18, &SHAPE340, - &SHAPE340, &SHAPE340, &SHAPE340, &SHAPE340, &SHAPE340, &SHAPE340, &SHAPE340, &SHAPE341, - &SHAPE341, &SHAPE341, &SHAPE341, &SHAPE341, &SHAPE341, &SHAPE341, &SHAPE341, &SHAPE0, - &SHAPE343, &SHAPE343, &SHAPE343, &SHAPE343, &SHAPE344, &SHAPE344, &SHAPE344, &SHAPE344, - &SHAPE1, &SHAPE232, &SHAPE1, &SHAPE1, &SHAPE345, &SHAPE346, &SHAPE347, &SHAPE348, &SHAPE349, - &SHAPE350, &SHAPE351, &SHAPE352, &SHAPE353, &SHAPE354, &SHAPE355, &SHAPE356, &SHAPE74, - &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, - &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, - &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, - &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, - &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, - &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, - &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, - &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, - &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE1, &SHAPE1, - &SHAPE98, &SHAPE98, &SHAPE98, &SHAPE98, &SHAPE98, &SHAPE98, &SHAPE98, &SHAPE98, &SHAPE0, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE234, &SHAPE236, + &SHAPE234, &SHAPE236, &SHAPE238, &SHAPE240, &SHAPE238, &SHAPE240, &SHAPE242, &SHAPE244, + &SHAPE242, &SHAPE244, &SHAPE246, &SHAPE248, &SHAPE246, &SHAPE248, &SHAPE250, &SHAPE252, + &SHAPE250, &SHAPE252, &SHAPE254, &SHAPE256, &SHAPE254, &SHAPE256, &SHAPE258, &SHAPE260, + &SHAPE258, &SHAPE260, &SHAPE262, &SHAPE264, &SHAPE262, &SHAPE264, &SHAPE74, &SHAPE74, &SHAPE75, + &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, + &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, + &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, + &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, + &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, + &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, + &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, + &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, + &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE18, + &SHAPE340, &SHAPE340, &SHAPE340, &SHAPE340, &SHAPE340, &SHAPE340, &SHAPE340, &SHAPE340, + &SHAPE341, &SHAPE341, &SHAPE341, &SHAPE341, &SHAPE341, &SHAPE341, &SHAPE341, &SHAPE341, + &SHAPE0, &SHAPE343, &SHAPE343, &SHAPE343, &SHAPE343, &SHAPE344, &SHAPE344, &SHAPE344, + &SHAPE344, &SHAPE1, &SHAPE232, &SHAPE1, &SHAPE1, &SHAPE345, &SHAPE346, &SHAPE347, &SHAPE348, + &SHAPE349, &SHAPE350, &SHAPE351, &SHAPE352, &SHAPE353, &SHAPE354, &SHAPE355, &SHAPE356, + &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, + &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, + &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, + &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, + &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, + &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, + &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, + &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, + &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE1, + &SHAPE1, &SHAPE98, &SHAPE98, &SHAPE98, &SHAPE98, &SHAPE98, &SHAPE98, &SHAPE98, &SHAPE98, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, @@ -5804,7 +5804,16 @@ static COLLISION_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, - &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, + &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, + &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, + &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, + &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, + &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, + &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, + &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, + &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, + &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, + &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, @@ -5822,30 +5831,75 @@ static COLLISION_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, - &SHAPE92, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, - &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, - &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, - &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, - &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, - &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, - &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, - &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, - &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE362, &SHAPE363, &SHAPE363, &SHAPE362, &SHAPE363, &SHAPE363, - &SHAPE0, &SHAPE366, &SHAPE366, &SHAPE0, &SHAPE366, &SHAPE366, &SHAPE369, &SHAPE371, &SHAPE371, + &SHAPE92, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE362, &SHAPE363, &SHAPE363, &SHAPE362, &SHAPE363, + &SHAPE363, &SHAPE0, &SHAPE366, &SHAPE366, &SHAPE0, &SHAPE366, &SHAPE366, &SHAPE369, &SHAPE371, + &SHAPE371, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE374, + &SHAPE376, &SHAPE376, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE369, &SHAPE371, &SHAPE371, + &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE385, &SHAPE387, + &SHAPE387, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE390, + &SHAPE392, &SHAPE392, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, + &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE395, &SHAPE397, + &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, + &SHAPE402, &SHAPE402, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE385, &SHAPE387, &SHAPE387, + &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE395, &SHAPE397, + &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, + &SHAPE402, &SHAPE402, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, + &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE429, &SHAPE431, + &SHAPE431, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE434, + &SHAPE436, &SHAPE436, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, + &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE439, &SHAPE441, + &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, + &SHAPE446, &SHAPE446, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, + &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, + &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE455, &SHAPE457, + &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, + &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, + &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE429, &SHAPE431, &SHAPE431, + &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE439, &SHAPE441, + &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, + &SHAPE446, &SHAPE446, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, + &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE455, &SHAPE457, + &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, + &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, + &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, + &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, + &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE362, &SHAPE363, + &SHAPE363, &SHAPE362, &SHAPE363, &SHAPE363, &SHAPE0, &SHAPE366, &SHAPE366, &SHAPE0, &SHAPE366, + &SHAPE366, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE374, + &SHAPE376, &SHAPE376, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE374, &SHAPE376, - &SHAPE376, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE374, - &SHAPE376, &SHAPE376, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE385, &SHAPE387, &SHAPE387, + &SHAPE376, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE390, + &SHAPE392, &SHAPE392, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE395, &SHAPE397, &SHAPE397, + &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, + &SHAPE402, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, + &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, - &SHAPE402, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE390, - &SHAPE392, &SHAPE392, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE395, &SHAPE397, &SHAPE397, - &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, - &SHAPE402, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, - &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE429, &SHAPE431, &SHAPE431, + &SHAPE402, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE434, + &SHAPE436, &SHAPE436, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE439, &SHAPE441, &SHAPE441, + &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, + &SHAPE446, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, + &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE455, &SHAPE457, &SHAPE457, + &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, + &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, + &SHAPE472, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, + &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, + &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE439, &SHAPE441, &SHAPE441, @@ -5859,64 +5913,10 @@ static COLLISION_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE434, - &SHAPE436, &SHAPE436, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE439, &SHAPE441, &SHAPE441, - &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, - &SHAPE446, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, - &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE455, &SHAPE457, &SHAPE457, - &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, - &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, - &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, - &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, - &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE362, &SHAPE363, &SHAPE363, - &SHAPE362, &SHAPE363, &SHAPE363, &SHAPE0, &SHAPE366, &SHAPE366, &SHAPE0, &SHAPE366, &SHAPE366, - &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE374, &SHAPE376, - &SHAPE376, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE369, - &SHAPE371, &SHAPE371, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE374, &SHAPE376, &SHAPE376, - &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE390, &SHAPE392, - &SHAPE392, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, - &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, - &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, - &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE385, - &SHAPE387, &SHAPE387, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE390, &SHAPE392, &SHAPE392, - &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, - &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, - &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, - &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE434, &SHAPE436, - &SHAPE436, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, - &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, - &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, - &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, - &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, - &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, - &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, - &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, - &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE429, - &SHAPE431, &SHAPE431, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE434, &SHAPE436, &SHAPE436, - &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, - &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, - &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, - &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, - &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, - &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, - &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, - &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, - &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, - &SHAPE1, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, + &SHAPE472, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, + &SHAPE36, &SHAPE1, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE36, - &SHAPE36, &SHAPE36, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, + &SHAPE36, &SHAPE36, &SHAPE36, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, @@ -5934,78 +5934,90 @@ static COLLISION_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, - &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, - &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, - &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE555, &SHAPE555, + &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, - &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE556, &SHAPE556, - &SHAPE557, &SHAPE557, &SHAPE558, &SHAPE558, &SHAPE559, &SHAPE559, &SHAPE555, &SHAPE555, + &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE556, + &SHAPE556, &SHAPE557, &SHAPE557, &SHAPE558, &SHAPE558, &SHAPE559, &SHAPE559, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, - &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE556, &SHAPE556, - &SHAPE557, &SHAPE557, &SHAPE558, &SHAPE558, &SHAPE559, &SHAPE559, &SHAPE555, &SHAPE555, + &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE556, + &SHAPE556, &SHAPE557, &SHAPE557, &SHAPE558, &SHAPE558, &SHAPE559, &SHAPE559, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, - &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE556, &SHAPE556, - &SHAPE557, &SHAPE557, &SHAPE558, &SHAPE558, &SHAPE559, &SHAPE559, &SHAPE555, &SHAPE555, + &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE556, + &SHAPE556, &SHAPE557, &SHAPE557, &SHAPE558, &SHAPE558, &SHAPE559, &SHAPE559, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, - &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE556, &SHAPE556, - &SHAPE557, &SHAPE557, &SHAPE558, &SHAPE558, &SHAPE559, &SHAPE559, &SHAPE555, &SHAPE555, + &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE556, + &SHAPE556, &SHAPE557, &SHAPE557, &SHAPE558, &SHAPE558, &SHAPE559, &SHAPE559, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, - &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE556, &SHAPE556, - &SHAPE557, &SHAPE557, &SHAPE558, &SHAPE558, &SHAPE559, &SHAPE559, &SHAPE555, &SHAPE555, + &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE556, + &SHAPE556, &SHAPE557, &SHAPE557, &SHAPE558, &SHAPE558, &SHAPE559, &SHAPE559, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, - &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE556, &SHAPE556, - &SHAPE557, &SHAPE557, &SHAPE558, &SHAPE558, &SHAPE559, &SHAPE559, &SHAPE560, &SHAPE560, + &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE555, &SHAPE556, + &SHAPE556, &SHAPE557, &SHAPE557, &SHAPE558, &SHAPE558, &SHAPE559, &SHAPE559, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, - &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE561, &SHAPE561, - &SHAPE562, &SHAPE562, &SHAPE563, &SHAPE563, &SHAPE564, &SHAPE564, &SHAPE565, &SHAPE565, - &SHAPE566, &SHAPE566, &SHAPE565, &SHAPE565, &SHAPE566, &SHAPE566, &SHAPE565, &SHAPE565, - &SHAPE566, &SHAPE566, &SHAPE98, &SHAPE98, &SHAPE99, &SHAPE99, &SHAPE100, &SHAPE100, &SHAPE98, - &SHAPE98, &SHAPE100, &SHAPE100, &SHAPE99, &SHAPE99, &SHAPE98, &SHAPE98, &SHAPE101, &SHAPE101, - &SHAPE102, &SHAPE102, &SHAPE98, &SHAPE98, &SHAPE102, &SHAPE102, &SHAPE101, &SHAPE101, &SHAPE0, + &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE560, &SHAPE561, + &SHAPE561, &SHAPE562, &SHAPE562, &SHAPE563, &SHAPE563, &SHAPE564, &SHAPE564, &SHAPE565, + &SHAPE565, &SHAPE566, &SHAPE566, &SHAPE565, &SHAPE565, &SHAPE566, &SHAPE566, &SHAPE565, + &SHAPE565, &SHAPE566, &SHAPE566, &SHAPE98, &SHAPE98, &SHAPE99, &SHAPE99, &SHAPE100, &SHAPE100, + &SHAPE98, &SHAPE98, &SHAPE100, &SHAPE100, &SHAPE99, &SHAPE99, &SHAPE98, &SHAPE98, &SHAPE101, + &SHAPE101, &SHAPE102, &SHAPE102, &SHAPE98, &SHAPE98, &SHAPE102, &SHAPE102, &SHAPE101, + &SHAPE101, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, - &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, - &SHAPE0, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, - &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE185, + &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, + &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, + &SHAPE12, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, - &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE185, &SHAPE1, &SHAPE1, - &SHAPE567, &SHAPE568, &SHAPE569, &SHAPE570, &SHAPE571, &SHAPE567, &SHAPE568, &SHAPE569, - &SHAPE570, &SHAPE571, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE74, &SHAPE74, - &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, - &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, - &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, - &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, - &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, - &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, - &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, - &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, - &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, + &SHAPE185, &SHAPE1, &SHAPE1, &SHAPE567, &SHAPE568, &SHAPE569, &SHAPE570, &SHAPE571, &SHAPE567, + &SHAPE568, &SHAPE569, &SHAPE570, &SHAPE571, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, + &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, + &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, + &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, + &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, + &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, + &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, + &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, + &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, + &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE275, &SHAPE276, + &SHAPE1, &SHAPE275, &SHAPE276, &SHAPE275, &SHAPE276, &SHAPE277, &SHAPE278, &SHAPE277, + &SHAPE278, &SHAPE279, &SHAPE280, &SHAPE279, &SHAPE280, &SHAPE281, &SHAPE282, &SHAPE281, + &SHAPE282, &SHAPE283, &SHAPE284, &SHAPE283, &SHAPE284, &SHAPE285, &SHAPE286, &SHAPE285, + &SHAPE286, &SHAPE287, &SHAPE288, &SHAPE287, &SHAPE288, &SHAPE289, &SHAPE4, &SHAPE289, &SHAPE4, + &SHAPE275, &SHAPE276, &SHAPE275, &SHAPE276, &SHAPE277, &SHAPE278, &SHAPE277, &SHAPE278, + &SHAPE279, &SHAPE280, &SHAPE279, &SHAPE280, &SHAPE281, &SHAPE282, &SHAPE281, &SHAPE282, + &SHAPE283, &SHAPE284, &SHAPE283, &SHAPE284, &SHAPE285, &SHAPE286, &SHAPE285, &SHAPE286, + &SHAPE287, &SHAPE288, &SHAPE287, &SHAPE288, &SHAPE289, &SHAPE4, &SHAPE289, &SHAPE4, &SHAPE275, + &SHAPE276, &SHAPE275, &SHAPE276, &SHAPE277, &SHAPE278, &SHAPE277, &SHAPE278, &SHAPE279, + &SHAPE280, &SHAPE279, &SHAPE280, &SHAPE281, &SHAPE282, &SHAPE281, &SHAPE282, &SHAPE283, + &SHAPE284, &SHAPE283, &SHAPE284, &SHAPE285, &SHAPE286, &SHAPE285, &SHAPE286, &SHAPE287, + &SHAPE288, &SHAPE287, &SHAPE288, &SHAPE289, &SHAPE4, &SHAPE289, &SHAPE4, &SHAPE275, &SHAPE276, &SHAPE275, &SHAPE276, &SHAPE277, &SHAPE278, &SHAPE277, &SHAPE278, &SHAPE279, &SHAPE280, &SHAPE279, &SHAPE280, &SHAPE281, &SHAPE282, &SHAPE281, &SHAPE282, &SHAPE283, &SHAPE284, &SHAPE283, &SHAPE284, &SHAPE285, &SHAPE286, &SHAPE285, &SHAPE286, &SHAPE287, &SHAPE288, @@ -6057,18 +6069,6 @@ static COLLISION_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE277, &SHAPE278, &SHAPE279, &SHAPE280, &SHAPE279, &SHAPE280, &SHAPE281, &SHAPE282, &SHAPE281, &SHAPE282, &SHAPE283, &SHAPE284, &SHAPE283, &SHAPE284, &SHAPE285, &SHAPE286, &SHAPE285, &SHAPE286, &SHAPE287, &SHAPE288, &SHAPE287, &SHAPE288, &SHAPE289, &SHAPE4, - &SHAPE289, &SHAPE4, &SHAPE275, &SHAPE276, &SHAPE275, &SHAPE276, &SHAPE277, &SHAPE278, - &SHAPE277, &SHAPE278, &SHAPE279, &SHAPE280, &SHAPE279, &SHAPE280, &SHAPE281, &SHAPE282, - &SHAPE281, &SHAPE282, &SHAPE283, &SHAPE284, &SHAPE283, &SHAPE284, &SHAPE285, &SHAPE286, - &SHAPE285, &SHAPE286, &SHAPE287, &SHAPE288, &SHAPE287, &SHAPE288, &SHAPE289, &SHAPE4, - &SHAPE289, &SHAPE4, &SHAPE275, &SHAPE276, &SHAPE275, &SHAPE276, &SHAPE277, &SHAPE278, - &SHAPE277, &SHAPE278, &SHAPE279, &SHAPE280, &SHAPE279, &SHAPE280, &SHAPE281, &SHAPE282, - &SHAPE281, &SHAPE282, &SHAPE283, &SHAPE284, &SHAPE283, &SHAPE284, &SHAPE285, &SHAPE286, - &SHAPE285, &SHAPE286, &SHAPE287, &SHAPE288, &SHAPE287, &SHAPE288, &SHAPE289, &SHAPE4, - &SHAPE289, &SHAPE4, &SHAPE275, &SHAPE276, &SHAPE275, &SHAPE276, &SHAPE277, &SHAPE278, - &SHAPE277, &SHAPE278, &SHAPE279, &SHAPE280, &SHAPE279, &SHAPE280, &SHAPE281, &SHAPE282, - &SHAPE281, &SHAPE282, &SHAPE283, &SHAPE284, &SHAPE283, &SHAPE284, &SHAPE285, &SHAPE286, - &SHAPE285, &SHAPE286, &SHAPE287, &SHAPE288, &SHAPE287, &SHAPE288, &SHAPE289, &SHAPE4, &SHAPE289, &SHAPE4, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, @@ -7857,226 +7857,229 @@ static COLLISION_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE731, &SHAPE731, &SHAPE73, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, - &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE740, + &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE740, &SHAPE740, &SHAPE740, &SHAPE740, &SHAPE742, &SHAPE742, &SHAPE0, &SHAPE0, + &SHAPE740, &SHAPE740, &SHAPE740, &SHAPE740, &SHAPE742, &SHAPE742, &SHAPE0, &SHAPE0, &SHAPE740, &SHAPE740, &SHAPE740, &SHAPE740, &SHAPE742, &SHAPE742, &SHAPE0, &SHAPE0, &SHAPE740, &SHAPE740, - &SHAPE740, &SHAPE740, &SHAPE742, &SHAPE742, &SHAPE0, &SHAPE0, &SHAPE740, &SHAPE740, &SHAPE740, - &SHAPE740, &SHAPE742, &SHAPE742, &SHAPE0, &SHAPE0, &SHAPE740, &SHAPE740, &SHAPE740, &SHAPE740, - &SHAPE742, &SHAPE742, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, + &SHAPE740, &SHAPE740, &SHAPE742, &SHAPE742, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE0, - &SHAPE1, &SHAPE187, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, - &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, - &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, - &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, - &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, - &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, - &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, - &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, - &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, - &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE572, &SHAPE572, &SHAPE13, &SHAPE13, &SHAPE1, - &SHAPE1, &SHAPE362, &SHAPE363, &SHAPE363, &SHAPE362, &SHAPE363, &SHAPE363, &SHAPE0, &SHAPE366, - &SHAPE366, &SHAPE0, &SHAPE366, &SHAPE366, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE369, - &SHAPE371, &SHAPE371, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE374, &SHAPE376, &SHAPE376, - &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE374, &SHAPE376, - &SHAPE376, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE385, - &SHAPE387, &SHAPE387, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE390, &SHAPE392, &SHAPE392, - &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, - &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, - &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, - &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE390, &SHAPE392, - &SHAPE392, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, - &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, - &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, - &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE429, - &SHAPE431, &SHAPE431, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE434, &SHAPE436, &SHAPE436, - &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, - &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, - &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, - &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, - &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, - &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, - &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, - &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, - &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE434, &SHAPE436, - &SHAPE436, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, - &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, - &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, - &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, - &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, - &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, - &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, - &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, - &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE1, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, - &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, - &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, - &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, - &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, - &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, - &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, - &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, - &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, - &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE572, &SHAPE572, &SHAPE13, &SHAPE13, &SHAPE1, - &SHAPE1, &SHAPE362, &SHAPE363, &SHAPE363, &SHAPE362, &SHAPE363, &SHAPE363, &SHAPE0, &SHAPE366, - &SHAPE366, &SHAPE0, &SHAPE366, &SHAPE366, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE369, - &SHAPE371, &SHAPE371, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE374, &SHAPE376, &SHAPE376, - &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE374, &SHAPE376, - &SHAPE376, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE385, - &SHAPE387, &SHAPE387, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE390, &SHAPE392, &SHAPE392, - &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, - &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, - &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, - &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE390, &SHAPE392, - &SHAPE392, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, - &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, - &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, - &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE429, - &SHAPE431, &SHAPE431, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE434, &SHAPE436, &SHAPE436, - &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, - &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, - &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, - &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, - &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, - &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, - &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, - &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, - &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE434, &SHAPE436, - &SHAPE436, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, - &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, - &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, - &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, - &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, - &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, - &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, - &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, - &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE1, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, - &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, - &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, - &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, - &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, - &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, - &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, - &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, - &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, - &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE572, &SHAPE572, &SHAPE13, &SHAPE13, &SHAPE1, - &SHAPE1, &SHAPE362, &SHAPE363, &SHAPE363, &SHAPE362, &SHAPE363, &SHAPE363, &SHAPE0, &SHAPE366, - &SHAPE366, &SHAPE0, &SHAPE366, &SHAPE366, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE369, - &SHAPE371, &SHAPE371, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE374, &SHAPE376, &SHAPE376, - &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE374, &SHAPE376, - &SHAPE376, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE385, - &SHAPE387, &SHAPE387, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE390, &SHAPE392, &SHAPE392, - &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, - &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, - &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, - &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE390, &SHAPE392, - &SHAPE392, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, - &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, - &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, - &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE429, - &SHAPE431, &SHAPE431, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE434, &SHAPE436, &SHAPE436, - &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, - &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, - &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, - &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, - &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, - &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, - &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, - &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, - &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE434, &SHAPE436, - &SHAPE436, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, - &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, - &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, - &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, - &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, - &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, - &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, - &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, - &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE1, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, - &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, - &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, - &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, - &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, - &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, - &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, - &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, - &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, - &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE572, &SHAPE572, &SHAPE13, &SHAPE13, &SHAPE1, - &SHAPE1, &SHAPE362, &SHAPE363, &SHAPE363, &SHAPE362, &SHAPE363, &SHAPE363, &SHAPE0, &SHAPE366, - &SHAPE366, &SHAPE0, &SHAPE366, &SHAPE366, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE369, - &SHAPE371, &SHAPE371, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE374, &SHAPE376, &SHAPE376, - &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE374, &SHAPE376, - &SHAPE376, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE385, - &SHAPE387, &SHAPE387, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE390, &SHAPE392, &SHAPE392, - &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, - &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, - &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, - &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE390, &SHAPE392, - &SHAPE392, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, - &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, - &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, - &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE429, - &SHAPE431, &SHAPE431, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE434, &SHAPE436, &SHAPE436, - &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, - &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, - &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, - &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, - &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, - &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, - &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, - &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, - &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE434, &SHAPE436, - &SHAPE436, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, - &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, - &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, - &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, - &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, - &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, - &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, - &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, - &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, - &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, - &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE36, &SHAPE36, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE0, &SHAPE1, &SHAPE232, &SHAPE232, + &SHAPE0, &SHAPE0, &SHAPE0, &SHAPE1, &SHAPE187, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE74, + &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, + &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, + &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, + &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, + &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, + &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, + &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, + &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, + &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE572, &SHAPE572, + &SHAPE13, &SHAPE13, &SHAPE1, &SHAPE1, &SHAPE362, &SHAPE363, &SHAPE363, &SHAPE362, &SHAPE363, + &SHAPE363, &SHAPE0, &SHAPE366, &SHAPE366, &SHAPE0, &SHAPE366, &SHAPE366, &SHAPE369, &SHAPE371, + &SHAPE371, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE374, + &SHAPE376, &SHAPE376, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE369, &SHAPE371, &SHAPE371, + &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE385, &SHAPE387, + &SHAPE387, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE390, + &SHAPE392, &SHAPE392, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, + &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE395, &SHAPE397, + &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, + &SHAPE402, &SHAPE402, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE385, &SHAPE387, &SHAPE387, + &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE395, &SHAPE397, + &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, + &SHAPE402, &SHAPE402, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, + &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE429, &SHAPE431, + &SHAPE431, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE434, + &SHAPE436, &SHAPE436, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, + &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE439, &SHAPE441, + &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, + &SHAPE446, &SHAPE446, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, + &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, + &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE455, &SHAPE457, + &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, + &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, + &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE429, &SHAPE431, &SHAPE431, + &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE439, &SHAPE441, + &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, + &SHAPE446, &SHAPE446, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, + &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE455, &SHAPE457, + &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, + &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, + &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, + &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, + &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE1, &SHAPE74, &SHAPE74, + &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, + &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, + &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, + &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, + &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, + &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, + &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, + &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, + &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE572, &SHAPE572, &SHAPE13, + &SHAPE13, &SHAPE1, &SHAPE1, &SHAPE362, &SHAPE363, &SHAPE363, &SHAPE362, &SHAPE363, &SHAPE363, + &SHAPE0, &SHAPE366, &SHAPE366, &SHAPE0, &SHAPE366, &SHAPE366, &SHAPE369, &SHAPE371, &SHAPE371, + &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE374, &SHAPE376, + &SHAPE376, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE374, + &SHAPE376, &SHAPE376, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE385, &SHAPE387, &SHAPE387, + &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE390, &SHAPE392, + &SHAPE392, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, + &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE395, &SHAPE397, &SHAPE397, + &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, + &SHAPE402, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE390, + &SHAPE392, &SHAPE392, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE395, &SHAPE397, &SHAPE397, + &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, + &SHAPE402, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, + &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE429, &SHAPE431, &SHAPE431, + &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE434, &SHAPE436, + &SHAPE436, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, + &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE439, &SHAPE441, &SHAPE441, + &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, + &SHAPE446, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, + &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, + &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE455, &SHAPE457, &SHAPE457, + &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, + &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, + &SHAPE472, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE434, + &SHAPE436, &SHAPE436, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE439, &SHAPE441, &SHAPE441, + &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, + &SHAPE446, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, + &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE455, &SHAPE457, &SHAPE457, + &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, + &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, + &SHAPE472, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, + &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, + &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE1, &SHAPE74, &SHAPE74, &SHAPE75, + &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, + &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, + &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, + &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, + &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, + &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, + &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, + &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, + &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE572, &SHAPE572, &SHAPE13, &SHAPE13, + &SHAPE1, &SHAPE1, &SHAPE362, &SHAPE363, &SHAPE363, &SHAPE362, &SHAPE363, &SHAPE363, &SHAPE0, + &SHAPE366, &SHAPE366, &SHAPE0, &SHAPE366, &SHAPE366, &SHAPE369, &SHAPE371, &SHAPE371, + &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE374, &SHAPE376, + &SHAPE376, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE374, + &SHAPE376, &SHAPE376, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE385, &SHAPE387, &SHAPE387, + &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE390, &SHAPE392, + &SHAPE392, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, + &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE395, &SHAPE397, &SHAPE397, + &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, + &SHAPE402, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE390, + &SHAPE392, &SHAPE392, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE395, &SHAPE397, &SHAPE397, + &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, + &SHAPE402, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, + &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE429, &SHAPE431, &SHAPE431, + &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE434, &SHAPE436, + &SHAPE436, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, + &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE439, &SHAPE441, &SHAPE441, + &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, + &SHAPE446, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, + &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, + &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE455, &SHAPE457, &SHAPE457, + &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, + &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, + &SHAPE472, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE434, + &SHAPE436, &SHAPE436, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE439, &SHAPE441, &SHAPE441, + &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, + &SHAPE446, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, + &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE455, &SHAPE457, &SHAPE457, + &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, + &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, + &SHAPE472, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, + &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, + &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE1, &SHAPE74, &SHAPE74, &SHAPE75, + &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, + &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, + &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, + &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, + &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, + &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, + &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, + &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, + &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE572, &SHAPE572, &SHAPE13, &SHAPE13, + &SHAPE1, &SHAPE1, &SHAPE362, &SHAPE363, &SHAPE363, &SHAPE362, &SHAPE363, &SHAPE363, &SHAPE0, + &SHAPE366, &SHAPE366, &SHAPE0, &SHAPE366, &SHAPE366, &SHAPE369, &SHAPE371, &SHAPE371, + &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE374, &SHAPE376, + &SHAPE376, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE369, &SHAPE371, &SHAPE371, &SHAPE374, + &SHAPE376, &SHAPE376, &SHAPE374, &SHAPE376, &SHAPE376, &SHAPE385, &SHAPE387, &SHAPE387, + &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE390, &SHAPE392, + &SHAPE392, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, + &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE395, &SHAPE397, &SHAPE397, + &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, + &SHAPE402, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE385, &SHAPE387, &SHAPE387, &SHAPE390, + &SHAPE392, &SHAPE392, &SHAPE390, &SHAPE392, &SHAPE392, &SHAPE395, &SHAPE397, &SHAPE397, + &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, + &SHAPE402, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE395, &SHAPE397, &SHAPE397, &SHAPE400, + &SHAPE402, &SHAPE402, &SHAPE400, &SHAPE402, &SHAPE402, &SHAPE429, &SHAPE431, &SHAPE431, + &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE434, &SHAPE436, + &SHAPE436, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, + &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE439, &SHAPE441, &SHAPE441, + &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, + &SHAPE446, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, + &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, + &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE455, &SHAPE457, &SHAPE457, + &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, + &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, + &SHAPE472, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE429, &SHAPE431, &SHAPE431, &SHAPE434, + &SHAPE436, &SHAPE436, &SHAPE434, &SHAPE436, &SHAPE436, &SHAPE439, &SHAPE441, &SHAPE441, + &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, + &SHAPE446, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE439, &SHAPE441, &SHAPE441, &SHAPE444, + &SHAPE446, &SHAPE446, &SHAPE444, &SHAPE446, &SHAPE446, &SHAPE455, &SHAPE457, &SHAPE457, + &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, + &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, + &SHAPE472, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE455, &SHAPE457, &SHAPE457, &SHAPE460, + &SHAPE462, &SHAPE462, &SHAPE460, &SHAPE462, &SHAPE462, &SHAPE465, &SHAPE467, &SHAPE467, + &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, + &SHAPE472, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE465, &SHAPE467, &SHAPE467, &SHAPE470, + &SHAPE472, &SHAPE472, &SHAPE470, &SHAPE472, &SHAPE472, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE36, &SHAPE36, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE0, &SHAPE1, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, - &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, + &SHAPE1, &SHAPE1, ]; -static OUTLINE_SHAPES_MAP: [&LazyLock; 27657] = [ +static OUTLINE_SHAPES_MAP: [&LazyLock; 27695] = [ &SHAPE0, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE2, @@ -8377,19 +8380,22 @@ static OUTLINE_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE53, &SHAPE54, &SHAPE55, &SHAPE56, &SHAPE57, &SHAPE58, &SHAPE59, &SHAPE60, &SHAPE61, &SHAPE62, &SHAPE63, &SHAPE64, &SHAPE65, &SHAPE66, &SHAPE67, &SHAPE68, &SHAPE69, &SHAPE70, &SHAPE71, &SHAPE72, &SHAPE73, &SHAPE73, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE74, &SHAPE74, &SHAPE75, - &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, - &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, - &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, - &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, - &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, - &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, - &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, - &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, - &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE98, &SHAPE98, &SHAPE99, &SHAPE99, - &SHAPE100, &SHAPE100, &SHAPE98, &SHAPE98, &SHAPE100, &SHAPE100, &SHAPE99, &SHAPE99, &SHAPE98, - &SHAPE98, &SHAPE101, &SHAPE101, &SHAPE102, &SHAPE102, &SHAPE98, &SHAPE98, &SHAPE102, &SHAPE102, - &SHAPE101, &SHAPE101, &SHAPE103, &SHAPE104, &SHAPE105, &SHAPE106, &SHAPE107, &SHAPE108, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, + &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, + &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, + &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, + &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, + &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, + &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, + &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, + &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, + &SHAPE92, &SHAPE92, &SHAPE98, &SHAPE98, &SHAPE99, &SHAPE99, &SHAPE100, &SHAPE100, &SHAPE98, + &SHAPE98, &SHAPE100, &SHAPE100, &SHAPE99, &SHAPE99, &SHAPE98, &SHAPE98, &SHAPE101, &SHAPE101, + &SHAPE102, &SHAPE102, &SHAPE98, &SHAPE98, &SHAPE102, &SHAPE102, &SHAPE101, &SHAPE101, + &SHAPE103, &SHAPE104, &SHAPE105, &SHAPE106, &SHAPE107, &SHAPE108, &SHAPE109, &SHAPE110, + &SHAPE111, &SHAPE103, &SHAPE104, &SHAPE105, &SHAPE106, &SHAPE107, &SHAPE108, &SHAPE109, + &SHAPE110, &SHAPE111, &SHAPE103, &SHAPE104, &SHAPE105, &SHAPE106, &SHAPE107, &SHAPE108, &SHAPE109, &SHAPE110, &SHAPE111, &SHAPE103, &SHAPE104, &SHAPE105, &SHAPE106, &SHAPE107, &SHAPE108, &SHAPE109, &SHAPE110, &SHAPE111, &SHAPE103, &SHAPE104, &SHAPE105, &SHAPE106, &SHAPE107, &SHAPE108, &SHAPE109, &SHAPE110, &SHAPE111, &SHAPE103, &SHAPE104, &SHAPE105, @@ -8405,9 +8411,9 @@ static OUTLINE_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE106, &SHAPE107, &SHAPE108, &SHAPE109, &SHAPE110, &SHAPE111, &SHAPE103, &SHAPE104, &SHAPE105, &SHAPE106, &SHAPE107, &SHAPE108, &SHAPE109, &SHAPE110, &SHAPE111, &SHAPE103, &SHAPE104, &SHAPE105, &SHAPE106, &SHAPE107, &SHAPE108, &SHAPE109, &SHAPE110, &SHAPE111, - &SHAPE103, &SHAPE104, &SHAPE105, &SHAPE106, &SHAPE107, &SHAPE108, &SHAPE109, &SHAPE110, - &SHAPE111, &SHAPE103, &SHAPE104, &SHAPE105, &SHAPE106, &SHAPE107, &SHAPE108, &SHAPE109, - &SHAPE110, &SHAPE111, &SHAPE112, &SHAPE113, &SHAPE114, &SHAPE115, &SHAPE116, &SHAPE117, + &SHAPE112, &SHAPE113, &SHAPE114, &SHAPE115, &SHAPE116, &SHAPE117, &SHAPE118, &SHAPE119, + &SHAPE120, &SHAPE112, &SHAPE113, &SHAPE114, &SHAPE115, &SHAPE116, &SHAPE117, &SHAPE118, + &SHAPE119, &SHAPE120, &SHAPE112, &SHAPE113, &SHAPE114, &SHAPE115, &SHAPE116, &SHAPE117, &SHAPE118, &SHAPE119, &SHAPE120, &SHAPE112, &SHAPE113, &SHAPE114, &SHAPE115, &SHAPE116, &SHAPE117, &SHAPE118, &SHAPE119, &SHAPE120, &SHAPE112, &SHAPE113, &SHAPE114, &SHAPE115, &SHAPE116, &SHAPE117, &SHAPE118, &SHAPE119, &SHAPE120, &SHAPE112, &SHAPE113, &SHAPE114, @@ -8423,9 +8429,9 @@ static OUTLINE_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE115, &SHAPE116, &SHAPE117, &SHAPE118, &SHAPE119, &SHAPE120, &SHAPE112, &SHAPE113, &SHAPE114, &SHAPE115, &SHAPE116, &SHAPE117, &SHAPE118, &SHAPE119, &SHAPE120, &SHAPE112, &SHAPE113, &SHAPE114, &SHAPE115, &SHAPE116, &SHAPE117, &SHAPE118, &SHAPE119, &SHAPE120, - &SHAPE112, &SHAPE113, &SHAPE114, &SHAPE115, &SHAPE116, &SHAPE117, &SHAPE118, &SHAPE119, - &SHAPE120, &SHAPE112, &SHAPE113, &SHAPE114, &SHAPE115, &SHAPE116, &SHAPE117, &SHAPE118, - &SHAPE119, &SHAPE120, &SHAPE121, &SHAPE122, &SHAPE123, &SHAPE124, &SHAPE125, &SHAPE126, + &SHAPE121, &SHAPE122, &SHAPE123, &SHAPE124, &SHAPE125, &SHAPE126, &SHAPE127, &SHAPE128, + &SHAPE129, &SHAPE121, &SHAPE122, &SHAPE123, &SHAPE124, &SHAPE125, &SHAPE126, &SHAPE127, + &SHAPE128, &SHAPE129, &SHAPE121, &SHAPE122, &SHAPE123, &SHAPE124, &SHAPE125, &SHAPE126, &SHAPE127, &SHAPE128, &SHAPE129, &SHAPE121, &SHAPE122, &SHAPE123, &SHAPE124, &SHAPE125, &SHAPE126, &SHAPE127, &SHAPE128, &SHAPE129, &SHAPE121, &SHAPE122, &SHAPE123, &SHAPE124, &SHAPE125, &SHAPE126, &SHAPE127, &SHAPE128, &SHAPE129, &SHAPE121, &SHAPE122, &SHAPE123, @@ -8441,9 +8447,9 @@ static OUTLINE_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE124, &SHAPE125, &SHAPE126, &SHAPE127, &SHAPE128, &SHAPE129, &SHAPE121, &SHAPE122, &SHAPE123, &SHAPE124, &SHAPE125, &SHAPE126, &SHAPE127, &SHAPE128, &SHAPE129, &SHAPE121, &SHAPE122, &SHAPE123, &SHAPE124, &SHAPE125, &SHAPE126, &SHAPE127, &SHAPE128, &SHAPE129, - &SHAPE121, &SHAPE122, &SHAPE123, &SHAPE124, &SHAPE125, &SHAPE126, &SHAPE127, &SHAPE128, - &SHAPE129, &SHAPE121, &SHAPE122, &SHAPE123, &SHAPE124, &SHAPE125, &SHAPE126, &SHAPE127, - &SHAPE128, &SHAPE129, &SHAPE130, &SHAPE131, &SHAPE132, &SHAPE133, &SHAPE134, &SHAPE135, + &SHAPE130, &SHAPE131, &SHAPE132, &SHAPE133, &SHAPE134, &SHAPE135, &SHAPE136, &SHAPE137, + &SHAPE138, &SHAPE130, &SHAPE131, &SHAPE132, &SHAPE133, &SHAPE134, &SHAPE135, &SHAPE136, + &SHAPE137, &SHAPE138, &SHAPE130, &SHAPE131, &SHAPE132, &SHAPE133, &SHAPE134, &SHAPE135, &SHAPE136, &SHAPE137, &SHAPE138, &SHAPE130, &SHAPE131, &SHAPE132, &SHAPE133, &SHAPE134, &SHAPE135, &SHAPE136, &SHAPE137, &SHAPE138, &SHAPE130, &SHAPE131, &SHAPE132, &SHAPE133, &SHAPE134, &SHAPE135, &SHAPE136, &SHAPE137, &SHAPE138, &SHAPE130, &SHAPE131, &SHAPE132, @@ -8459,9 +8465,9 @@ static OUTLINE_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE133, &SHAPE134, &SHAPE135, &SHAPE136, &SHAPE137, &SHAPE138, &SHAPE130, &SHAPE131, &SHAPE132, &SHAPE133, &SHAPE134, &SHAPE135, &SHAPE136, &SHAPE137, &SHAPE138, &SHAPE130, &SHAPE131, &SHAPE132, &SHAPE133, &SHAPE134, &SHAPE135, &SHAPE136, &SHAPE137, &SHAPE138, - &SHAPE130, &SHAPE131, &SHAPE132, &SHAPE133, &SHAPE134, &SHAPE135, &SHAPE136, &SHAPE137, - &SHAPE138, &SHAPE130, &SHAPE131, &SHAPE132, &SHAPE133, &SHAPE134, &SHAPE135, &SHAPE136, - &SHAPE137, &SHAPE138, &SHAPE139, &SHAPE140, &SHAPE141, &SHAPE142, &SHAPE143, &SHAPE144, + &SHAPE139, &SHAPE140, &SHAPE141, &SHAPE142, &SHAPE143, &SHAPE144, &SHAPE145, &SHAPE146, + &SHAPE147, &SHAPE139, &SHAPE140, &SHAPE141, &SHAPE142, &SHAPE143, &SHAPE144, &SHAPE145, + &SHAPE146, &SHAPE147, &SHAPE139, &SHAPE140, &SHAPE141, &SHAPE142, &SHAPE143, &SHAPE144, &SHAPE145, &SHAPE146, &SHAPE147, &SHAPE139, &SHAPE140, &SHAPE141, &SHAPE142, &SHAPE143, &SHAPE144, &SHAPE145, &SHAPE146, &SHAPE147, &SHAPE139, &SHAPE140, &SHAPE141, &SHAPE142, &SHAPE143, &SHAPE144, &SHAPE145, &SHAPE146, &SHAPE147, &SHAPE139, &SHAPE140, &SHAPE141, @@ -8477,9 +8483,9 @@ static OUTLINE_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE142, &SHAPE143, &SHAPE144, &SHAPE145, &SHAPE146, &SHAPE147, &SHAPE139, &SHAPE140, &SHAPE141, &SHAPE142, &SHAPE143, &SHAPE144, &SHAPE145, &SHAPE146, &SHAPE147, &SHAPE139, &SHAPE140, &SHAPE141, &SHAPE142, &SHAPE143, &SHAPE144, &SHAPE145, &SHAPE146, &SHAPE147, - &SHAPE139, &SHAPE140, &SHAPE141, &SHAPE142, &SHAPE143, &SHAPE144, &SHAPE145, &SHAPE146, - &SHAPE147, &SHAPE139, &SHAPE140, &SHAPE141, &SHAPE142, &SHAPE143, &SHAPE144, &SHAPE145, - &SHAPE146, &SHAPE147, &SHAPE148, &SHAPE149, &SHAPE150, &SHAPE151, &SHAPE152, &SHAPE153, + &SHAPE148, &SHAPE149, &SHAPE150, &SHAPE151, &SHAPE152, &SHAPE153, &SHAPE154, &SHAPE155, + &SHAPE156, &SHAPE148, &SHAPE149, &SHAPE150, &SHAPE151, &SHAPE152, &SHAPE153, &SHAPE154, + &SHAPE155, &SHAPE156, &SHAPE148, &SHAPE149, &SHAPE150, &SHAPE151, &SHAPE152, &SHAPE153, &SHAPE154, &SHAPE155, &SHAPE156, &SHAPE148, &SHAPE149, &SHAPE150, &SHAPE151, &SHAPE152, &SHAPE153, &SHAPE154, &SHAPE155, &SHAPE156, &SHAPE148, &SHAPE149, &SHAPE150, &SHAPE151, &SHAPE152, &SHAPE153, &SHAPE154, &SHAPE155, &SHAPE156, &SHAPE148, &SHAPE149, &SHAPE150, @@ -8495,9 +8501,9 @@ static OUTLINE_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE151, &SHAPE152, &SHAPE153, &SHAPE154, &SHAPE155, &SHAPE156, &SHAPE148, &SHAPE149, &SHAPE150, &SHAPE151, &SHAPE152, &SHAPE153, &SHAPE154, &SHAPE155, &SHAPE156, &SHAPE148, &SHAPE149, &SHAPE150, &SHAPE151, &SHAPE152, &SHAPE153, &SHAPE154, &SHAPE155, &SHAPE156, - &SHAPE148, &SHAPE149, &SHAPE150, &SHAPE151, &SHAPE152, &SHAPE153, &SHAPE154, &SHAPE155, - &SHAPE156, &SHAPE148, &SHAPE149, &SHAPE150, &SHAPE151, &SHAPE152, &SHAPE153, &SHAPE154, - &SHAPE155, &SHAPE156, &SHAPE157, &SHAPE158, &SHAPE159, &SHAPE160, &SHAPE161, &SHAPE162, + &SHAPE157, &SHAPE158, &SHAPE159, &SHAPE160, &SHAPE161, &SHAPE162, &SHAPE163, &SHAPE164, + &SHAPE165, &SHAPE157, &SHAPE158, &SHAPE159, &SHAPE160, &SHAPE161, &SHAPE162, &SHAPE163, + &SHAPE164, &SHAPE165, &SHAPE157, &SHAPE158, &SHAPE159, &SHAPE160, &SHAPE161, &SHAPE162, &SHAPE163, &SHAPE164, &SHAPE165, &SHAPE157, &SHAPE158, &SHAPE159, &SHAPE160, &SHAPE161, &SHAPE162, &SHAPE163, &SHAPE164, &SHAPE165, &SHAPE157, &SHAPE158, &SHAPE159, &SHAPE160, &SHAPE161, &SHAPE162, &SHAPE163, &SHAPE164, &SHAPE165, &SHAPE157, &SHAPE158, &SHAPE159, @@ -8513,9 +8519,9 @@ static OUTLINE_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE160, &SHAPE161, &SHAPE162, &SHAPE163, &SHAPE164, &SHAPE165, &SHAPE157, &SHAPE158, &SHAPE159, &SHAPE160, &SHAPE161, &SHAPE162, &SHAPE163, &SHAPE164, &SHAPE165, &SHAPE157, &SHAPE158, &SHAPE159, &SHAPE160, &SHAPE161, &SHAPE162, &SHAPE163, &SHAPE164, &SHAPE165, - &SHAPE157, &SHAPE158, &SHAPE159, &SHAPE160, &SHAPE161, &SHAPE162, &SHAPE163, &SHAPE164, - &SHAPE165, &SHAPE157, &SHAPE158, &SHAPE159, &SHAPE160, &SHAPE161, &SHAPE162, &SHAPE163, - &SHAPE164, &SHAPE165, &SHAPE166, &SHAPE167, &SHAPE168, &SHAPE169, &SHAPE170, &SHAPE171, + &SHAPE166, &SHAPE167, &SHAPE168, &SHAPE169, &SHAPE170, &SHAPE171, &SHAPE172, &SHAPE173, + &SHAPE174, &SHAPE166, &SHAPE167, &SHAPE168, &SHAPE169, &SHAPE170, &SHAPE171, &SHAPE172, + &SHAPE173, &SHAPE174, &SHAPE166, &SHAPE167, &SHAPE168, &SHAPE169, &SHAPE170, &SHAPE171, &SHAPE172, &SHAPE173, &SHAPE174, &SHAPE166, &SHAPE167, &SHAPE168, &SHAPE169, &SHAPE170, &SHAPE171, &SHAPE172, &SHAPE173, &SHAPE174, &SHAPE166, &SHAPE167, &SHAPE168, &SHAPE169, &SHAPE170, &SHAPE171, &SHAPE172, &SHAPE173, &SHAPE174, &SHAPE166, &SHAPE167, &SHAPE168, @@ -8531,9 +8537,9 @@ static OUTLINE_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE169, &SHAPE170, &SHAPE171, &SHAPE172, &SHAPE173, &SHAPE174, &SHAPE166, &SHAPE167, &SHAPE168, &SHAPE169, &SHAPE170, &SHAPE171, &SHAPE172, &SHAPE173, &SHAPE174, &SHAPE166, &SHAPE167, &SHAPE168, &SHAPE169, &SHAPE170, &SHAPE171, &SHAPE172, &SHAPE173, &SHAPE174, - &SHAPE166, &SHAPE167, &SHAPE168, &SHAPE169, &SHAPE170, &SHAPE171, &SHAPE172, &SHAPE173, - &SHAPE174, &SHAPE166, &SHAPE167, &SHAPE168, &SHAPE169, &SHAPE170, &SHAPE171, &SHAPE172, - &SHAPE173, &SHAPE174, &SHAPE175, &SHAPE176, &SHAPE177, &SHAPE178, &SHAPE179, &SHAPE180, + &SHAPE175, &SHAPE176, &SHAPE177, &SHAPE178, &SHAPE179, &SHAPE180, &SHAPE181, &SHAPE182, + &SHAPE183, &SHAPE175, &SHAPE176, &SHAPE177, &SHAPE178, &SHAPE179, &SHAPE180, &SHAPE181, + &SHAPE182, &SHAPE183, &SHAPE175, &SHAPE176, &SHAPE177, &SHAPE178, &SHAPE179, &SHAPE180, &SHAPE181, &SHAPE182, &SHAPE183, &SHAPE175, &SHAPE176, &SHAPE177, &SHAPE178, &SHAPE179, &SHAPE180, &SHAPE181, &SHAPE182, &SHAPE183, &SHAPE175, &SHAPE176, &SHAPE177, &SHAPE178, &SHAPE179, &SHAPE180, &SHAPE181, &SHAPE182, &SHAPE183, &SHAPE175, &SHAPE176, &SHAPE177, @@ -8549,12 +8555,10 @@ static OUTLINE_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE178, &SHAPE179, &SHAPE180, &SHAPE181, &SHAPE182, &SHAPE183, &SHAPE175, &SHAPE176, &SHAPE177, &SHAPE178, &SHAPE179, &SHAPE180, &SHAPE181, &SHAPE182, &SHAPE183, &SHAPE175, &SHAPE176, &SHAPE177, &SHAPE178, &SHAPE179, &SHAPE180, &SHAPE181, &SHAPE182, &SHAPE183, - &SHAPE175, &SHAPE176, &SHAPE177, &SHAPE178, &SHAPE179, &SHAPE180, &SHAPE181, &SHAPE182, - &SHAPE183, &SHAPE175, &SHAPE176, &SHAPE177, &SHAPE178, &SHAPE179, &SHAPE180, &SHAPE181, - &SHAPE182, &SHAPE183, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE12, &SHAPE184, &SHAPE185, - &SHAPE13, &SHAPE186, &SHAPE18, &SHAPE187, &SHAPE1, &SHAPE188, &SHAPE188, &SHAPE188, &SHAPE188, - &SHAPE188, &SHAPE188, &SHAPE188, &SHAPE188, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE12, &SHAPE184, &SHAPE185, &SHAPE13, &SHAPE186, + &SHAPE18, &SHAPE187, &SHAPE1, &SHAPE188, &SHAPE188, &SHAPE188, &SHAPE188, &SHAPE188, &SHAPE188, + &SHAPE188, &SHAPE188, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, @@ -8582,10 +8586,10 @@ static OUTLINE_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, - &SHAPE189, &SHAPE189, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, @@ -8593,7 +8597,146 @@ static OUTLINE_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, - &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE190, &SHAPE190, &SHAPE191, &SHAPE191, &SHAPE192, + &SHAPE189, &SHAPE190, &SHAPE190, &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE191, + &SHAPE191, &SHAPE190, &SHAPE190, &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE191, + &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE190, &SHAPE190, &SHAPE193, + &SHAPE193, &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE190, &SHAPE190, &SHAPE193, + &SHAPE193, &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE192, + &SHAPE192, &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE192, + &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE190, &SHAPE190, &SHAPE191, &SHAPE191, &SHAPE190, + &SHAPE190, &SHAPE193, &SHAPE193, &SHAPE190, &SHAPE190, &SHAPE191, &SHAPE191, &SHAPE190, + &SHAPE190, &SHAPE191, &SHAPE191, &SHAPE193, &SHAPE193, &SHAPE192, &SHAPE192, &SHAPE190, + &SHAPE190, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE13, &SHAPE13, &SHAPE13, &SHAPE13, + &SHAPE13, &SHAPE13, &SHAPE13, &SHAPE13, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, + &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, + &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, + &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, + &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, + &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, + &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, + &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, + &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, + &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, + &SHAPE92, &SHAPE92, &SHAPE194, &SHAPE194, &SHAPE195, &SHAPE195, &SHAPE196, &SHAPE196, + &SHAPE197, &SHAPE197, &SHAPE194, &SHAPE194, &SHAPE195, &SHAPE195, &SHAPE196, &SHAPE196, + &SHAPE197, &SHAPE197, &SHAPE194, &SHAPE194, &SHAPE195, &SHAPE195, &SHAPE196, &SHAPE196, + &SHAPE197, &SHAPE197, &SHAPE194, &SHAPE194, &SHAPE195, &SHAPE195, &SHAPE196, &SHAPE196, + &SHAPE197, &SHAPE197, &SHAPE194, &SHAPE194, &SHAPE195, &SHAPE195, &SHAPE196, &SHAPE196, + &SHAPE197, &SHAPE197, &SHAPE194, &SHAPE194, &SHAPE195, &SHAPE195, &SHAPE196, &SHAPE196, + &SHAPE197, &SHAPE197, &SHAPE194, &SHAPE194, &SHAPE195, &SHAPE195, &SHAPE196, &SHAPE196, + &SHAPE197, &SHAPE197, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE194, &SHAPE194, &SHAPE195, &SHAPE195, &SHAPE196, &SHAPE196, &SHAPE197, &SHAPE197, + &SHAPE194, &SHAPE194, &SHAPE195, &SHAPE195, &SHAPE196, &SHAPE196, &SHAPE197, &SHAPE197, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE204, + &SHAPE204, &SHAPE204, &SHAPE204, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE204, + &SHAPE204, &SHAPE204, &SHAPE204, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE204, + &SHAPE204, &SHAPE204, &SHAPE204, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE204, + &SHAPE204, &SHAPE204, &SHAPE204, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE204, + &SHAPE204, &SHAPE204, &SHAPE204, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE204, + &SHAPE204, &SHAPE204, &SHAPE204, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE204, + &SHAPE204, &SHAPE204, &SHAPE204, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE204, &SHAPE204, &SHAPE204, + &SHAPE204, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE204, &SHAPE204, &SHAPE204, + &SHAPE204, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE204, &SHAPE204, &SHAPE204, + &SHAPE204, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE204, &SHAPE204, &SHAPE204, + &SHAPE204, &SHAPE205, &SHAPE205, &SHAPE205, &SHAPE205, &SHAPE206, &SHAPE206, &SHAPE206, + &SHAPE206, &SHAPE207, &SHAPE207, &SHAPE208, &SHAPE208, &SHAPE209, &SHAPE209, &SHAPE210, + &SHAPE210, &SHAPE211, &SHAPE211, &SHAPE211, &SHAPE211, &SHAPE212, &SHAPE212, &SHAPE212, + &SHAPE212, &SHAPE213, &SHAPE214, &SHAPE190, &SHAPE190, &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE191, &SHAPE191, &SHAPE190, &SHAPE190, &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE190, &SHAPE190, &SHAPE193, &SHAPE193, &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE190, @@ -8601,165 +8744,26 @@ static OUTLINE_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE193, &SHAPE192, &SHAPE192, &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE190, &SHAPE190, &SHAPE191, &SHAPE191, &SHAPE190, &SHAPE190, &SHAPE193, &SHAPE193, &SHAPE190, &SHAPE190, &SHAPE191, - &SHAPE191, &SHAPE190, &SHAPE190, &SHAPE191, &SHAPE191, &SHAPE193, &SHAPE193, &SHAPE192, - &SHAPE192, &SHAPE190, &SHAPE190, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE13, &SHAPE13, - &SHAPE13, &SHAPE13, &SHAPE13, &SHAPE13, &SHAPE13, &SHAPE13, &SHAPE12, &SHAPE12, &SHAPE12, - &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, - &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, - &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, - &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, - &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, - &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, - &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, - &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, - &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, - &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE194, &SHAPE194, &SHAPE195, &SHAPE195, &SHAPE196, - &SHAPE196, &SHAPE197, &SHAPE197, &SHAPE194, &SHAPE194, &SHAPE195, &SHAPE195, &SHAPE196, - &SHAPE196, &SHAPE197, &SHAPE197, &SHAPE194, &SHAPE194, &SHAPE195, &SHAPE195, &SHAPE196, - &SHAPE196, &SHAPE197, &SHAPE197, &SHAPE194, &SHAPE194, &SHAPE195, &SHAPE195, &SHAPE196, - &SHAPE196, &SHAPE197, &SHAPE197, &SHAPE194, &SHAPE194, &SHAPE195, &SHAPE195, &SHAPE196, - &SHAPE196, &SHAPE197, &SHAPE197, &SHAPE194, &SHAPE194, &SHAPE195, &SHAPE195, &SHAPE196, - &SHAPE196, &SHAPE197, &SHAPE197, &SHAPE194, &SHAPE194, &SHAPE195, &SHAPE195, &SHAPE196, - &SHAPE196, &SHAPE197, &SHAPE197, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE194, &SHAPE194, &SHAPE195, &SHAPE195, &SHAPE196, &SHAPE196, &SHAPE197, - &SHAPE197, &SHAPE194, &SHAPE194, &SHAPE195, &SHAPE195, &SHAPE196, &SHAPE196, &SHAPE197, - &SHAPE197, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE198, &SHAPE198, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE200, &SHAPE200, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE199, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, - &SHAPE204, &SHAPE204, &SHAPE204, &SHAPE204, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, - &SHAPE204, &SHAPE204, &SHAPE204, &SHAPE204, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, - &SHAPE204, &SHAPE204, &SHAPE204, &SHAPE204, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, - &SHAPE204, &SHAPE204, &SHAPE204, &SHAPE204, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, - &SHAPE204, &SHAPE204, &SHAPE204, &SHAPE204, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, - &SHAPE204, &SHAPE204, &SHAPE204, &SHAPE204, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, - &SHAPE204, &SHAPE204, &SHAPE204, &SHAPE204, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE204, &SHAPE204, - &SHAPE204, &SHAPE204, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE204, &SHAPE204, - &SHAPE204, &SHAPE204, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE204, &SHAPE204, - &SHAPE204, &SHAPE204, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE202, &SHAPE204, &SHAPE204, - &SHAPE204, &SHAPE204, &SHAPE205, &SHAPE205, &SHAPE205, &SHAPE205, &SHAPE206, &SHAPE206, - &SHAPE206, &SHAPE206, &SHAPE207, &SHAPE207, &SHAPE208, &SHAPE208, &SHAPE209, &SHAPE209, - &SHAPE210, &SHAPE210, &SHAPE211, &SHAPE211, &SHAPE211, &SHAPE211, &SHAPE212, &SHAPE212, - &SHAPE212, &SHAPE212, &SHAPE213, &SHAPE214, &SHAPE190, &SHAPE190, &SHAPE191, &SHAPE191, - &SHAPE192, &SHAPE192, &SHAPE191, &SHAPE191, &SHAPE190, &SHAPE190, &SHAPE191, &SHAPE191, - &SHAPE192, &SHAPE192, &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, - &SHAPE190, &SHAPE190, &SHAPE193, &SHAPE193, &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, - &SHAPE190, &SHAPE190, &SHAPE193, &SHAPE193, &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, - &SHAPE193, &SHAPE193, &SHAPE192, &SHAPE192, &SHAPE191, &SHAPE191, &SHAPE192, &SHAPE192, - &SHAPE193, &SHAPE193, &SHAPE192, &SHAPE192, &SHAPE193, &SHAPE193, &SHAPE190, &SHAPE190, - &SHAPE191, &SHAPE191, &SHAPE190, &SHAPE190, &SHAPE193, &SHAPE193, &SHAPE190, &SHAPE190, - &SHAPE191, &SHAPE191, &SHAPE190, &SHAPE190, &SHAPE213, &SHAPE214, &SHAPE213, &SHAPE214, - &SHAPE213, &SHAPE214, &SHAPE213, &SHAPE214, &SHAPE213, &SHAPE214, &SHAPE213, &SHAPE214, - &SHAPE213, &SHAPE214, &SHAPE1, &SHAPE1, &SHAPE213, &SHAPE214, &SHAPE213, &SHAPE214, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE37, &SHAPE37, &SHAPE38, &SHAPE38, &SHAPE39, &SHAPE39, - &SHAPE40, &SHAPE40, &SHAPE41, &SHAPE41, &SHAPE215, &SHAPE216, &SHAPE215, &SHAPE216, &SHAPE217, - &SHAPE218, &SHAPE217, &SHAPE218, &SHAPE219, &SHAPE220, &SHAPE221, &SHAPE222, &SHAPE223, - &SHAPE224, &SHAPE225, &SHAPE226, &SHAPE227, &SHAPE228, &SHAPE227, &SHAPE228, &SHAPE229, - &SHAPE230, &SHAPE229, &SHAPE230, &SHAPE12, &SHAPE184, &SHAPE185, &SHAPE13, &SHAPE186, &SHAPE18, - &SHAPE187, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, + &SHAPE191, &SHAPE190, &SHAPE190, &SHAPE213, &SHAPE214, &SHAPE213, &SHAPE214, &SHAPE213, + &SHAPE214, &SHAPE213, &SHAPE214, &SHAPE213, &SHAPE214, &SHAPE213, &SHAPE214, &SHAPE213, + &SHAPE214, &SHAPE1, &SHAPE1, &SHAPE213, &SHAPE214, &SHAPE213, &SHAPE214, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE37, &SHAPE37, &SHAPE38, &SHAPE38, &SHAPE39, &SHAPE39, &SHAPE40, + &SHAPE40, &SHAPE41, &SHAPE41, &SHAPE215, &SHAPE216, &SHAPE215, &SHAPE216, &SHAPE217, &SHAPE218, + &SHAPE217, &SHAPE218, &SHAPE219, &SHAPE220, &SHAPE221, &SHAPE222, &SHAPE223, &SHAPE224, + &SHAPE225, &SHAPE226, &SHAPE227, &SHAPE228, &SHAPE227, &SHAPE228, &SHAPE229, &SHAPE230, + &SHAPE229, &SHAPE230, &SHAPE12, &SHAPE184, &SHAPE185, &SHAPE13, &SHAPE186, &SHAPE18, &SHAPE187, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, - &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE1, &SHAPE233, &SHAPE233, &SHAPE233, &SHAPE233, + &SHAPE232, &SHAPE232, &SHAPE1, &SHAPE233, &SHAPE233, &SHAPE233, &SHAPE233, &SHAPE233, &SHAPE233, &SHAPE233, &SHAPE233, &SHAPE233, &SHAPE233, &SHAPE233, &SHAPE233, &SHAPE233, - &SHAPE233, &SHAPE233, &SHAPE233, &SHAPE233, &SHAPE1, &SHAPE1, &SHAPE235, &SHAPE237, &SHAPE235, - &SHAPE237, &SHAPE239, &SHAPE241, &SHAPE239, &SHAPE241, &SHAPE243, &SHAPE245, &SHAPE243, - &SHAPE245, &SHAPE247, &SHAPE249, &SHAPE247, &SHAPE249, &SHAPE251, &SHAPE253, &SHAPE251, - &SHAPE253, &SHAPE255, &SHAPE257, &SHAPE255, &SHAPE257, &SHAPE259, &SHAPE261, &SHAPE259, - &SHAPE261, &SHAPE263, &SHAPE265, &SHAPE263, &SHAPE265, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE37, &SHAPE38, &SHAPE39, &SHAPE40, &SHAPE41, - &SHAPE1, &SHAPE247, &SHAPE253, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE266, &SHAPE267, &SHAPE268, &SHAPE269, &SHAPE270, &SHAPE271, &SHAPE272, &SHAPE12, + &SHAPE233, &SHAPE233, &SHAPE233, &SHAPE1, &SHAPE1, &SHAPE235, &SHAPE237, &SHAPE235, &SHAPE237, + &SHAPE239, &SHAPE241, &SHAPE239, &SHAPE241, &SHAPE243, &SHAPE245, &SHAPE243, &SHAPE245, + &SHAPE247, &SHAPE249, &SHAPE247, &SHAPE249, &SHAPE251, &SHAPE253, &SHAPE251, &SHAPE253, + &SHAPE255, &SHAPE257, &SHAPE255, &SHAPE257, &SHAPE259, &SHAPE261, &SHAPE259, &SHAPE261, + &SHAPE263, &SHAPE265, &SHAPE263, &SHAPE265, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE37, &SHAPE38, &SHAPE39, &SHAPE40, &SHAPE41, &SHAPE1, + &SHAPE247, &SHAPE253, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE266, &SHAPE267, &SHAPE268, &SHAPE269, &SHAPE270, &SHAPE271, &SHAPE272, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, &SHAPE12, @@ -11060,276 +11064,279 @@ static OUTLINE_SHAPES_MAP: [&LazyLock; 27657] = [ &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, - &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, - &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, - &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE273, - &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE274, - &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE273, - &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE274, - &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE273, - &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, - &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, - &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, - &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE273, - &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE274, - &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE273, - &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE274, - &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE273, - &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, - &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, - &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, - &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE273, - &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE274, - &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE273, - &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE274, - &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE273, - &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, - &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, - &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, - &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE273, - &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE274, - &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE273, - &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE274, - &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE273, - &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, - &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, - &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, - &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE578, &SHAPE578, &SHAPE578, &SHAPE578, &SHAPE579, &SHAPE579, &SHAPE579, - &SHAPE579, &SHAPE578, &SHAPE578, &SHAPE578, &SHAPE578, &SHAPE579, &SHAPE579, &SHAPE579, - &SHAPE579, &SHAPE265, &SHAPE265, &SHAPE265, &SHAPE265, &SHAPE265, &SHAPE265, &SHAPE265, - &SHAPE265, &SHAPE660, &SHAPE660, &SHAPE660, &SHAPE660, &SHAPE728, &SHAPE728, &SHAPE729, - &SHAPE729, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE199, &SHAPE199, &SHAPE199, - &SHAPE199, &SHAPE233, &SHAPE233, &SHAPE233, &SHAPE233, &SHAPE1, &SHAPE232, &SHAPE232, - &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, - &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, - &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, - &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, - &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, - &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, - &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE730, &SHAPE731, &SHAPE731, &SHAPE73, - &SHAPE732, &SHAPE733, &SHAPE274, &SHAPE274, &SHAPE734, &SHAPE735, &SHAPE274, &SHAPE274, - &SHAPE736, &SHAPE737, &SHAPE274, &SHAPE274, &SHAPE738, &SHAPE739, &SHAPE274, &SHAPE274, - &SHAPE1, &SHAPE741, &SHAPE741, &SHAPE741, &SHAPE741, &SHAPE743, &SHAPE743, &SHAPE744, - &SHAPE744, &SHAPE745, &SHAPE745, &SHAPE745, &SHAPE745, &SHAPE746, &SHAPE746, &SHAPE747, - &SHAPE747, &SHAPE748, &SHAPE748, &SHAPE748, &SHAPE748, &SHAPE749, &SHAPE749, &SHAPE750, - &SHAPE750, &SHAPE751, &SHAPE751, &SHAPE751, &SHAPE751, &SHAPE752, &SHAPE752, &SHAPE753, - &SHAPE753, &SHAPE754, &SHAPE754, &SHAPE755, &SHAPE755, &SHAPE756, &SHAPE756, &SHAPE757, - &SHAPE757, &SHAPE758, &SHAPE758, &SHAPE758, &SHAPE758, &SHAPE758, &SHAPE758, &SHAPE758, - &SHAPE758, &SHAPE758, &SHAPE758, &SHAPE758, &SHAPE758, &SHAPE758, &SHAPE758, &SHAPE758, - &SHAPE758, &SHAPE759, &SHAPE759, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, - &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, - &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, - &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, - &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, - &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, - &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, - &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, - &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE572, - &SHAPE572, &SHAPE13, &SHAPE13, &SHAPE1, &SHAPE1, &SHAPE189, &SHAPE364, &SHAPE365, &SHAPE189, - &SHAPE364, &SHAPE365, &SHAPE0, &SHAPE367, &SHAPE368, &SHAPE0, &SHAPE367, &SHAPE368, &SHAPE370, - &SHAPE372, &SHAPE373, &SHAPE370, &SHAPE372, &SHAPE373, &SHAPE375, &SHAPE377, &SHAPE378, - &SHAPE375, &SHAPE377, &SHAPE378, &SHAPE379, &SHAPE380, &SHAPE381, &SHAPE379, &SHAPE380, - &SHAPE381, &SHAPE382, &SHAPE383, &SHAPE384, &SHAPE382, &SHAPE383, &SHAPE384, &SHAPE386, - &SHAPE388, &SHAPE389, &SHAPE386, &SHAPE388, &SHAPE389, &SHAPE391, &SHAPE393, &SHAPE394, - &SHAPE391, &SHAPE393, &SHAPE394, &SHAPE396, &SHAPE398, &SHAPE399, &SHAPE396, &SHAPE398, - &SHAPE399, &SHAPE401, &SHAPE403, &SHAPE404, &SHAPE401, &SHAPE403, &SHAPE404, &SHAPE405, - &SHAPE406, &SHAPE407, &SHAPE405, &SHAPE406, &SHAPE407, &SHAPE408, &SHAPE409, &SHAPE410, - &SHAPE408, &SHAPE409, &SHAPE410, &SHAPE411, &SHAPE412, &SHAPE413, &SHAPE411, &SHAPE412, - &SHAPE413, &SHAPE414, &SHAPE415, &SHAPE416, &SHAPE414, &SHAPE415, &SHAPE416, &SHAPE417, - &SHAPE418, &SHAPE419, &SHAPE417, &SHAPE418, &SHAPE419, &SHAPE420, &SHAPE421, &SHAPE422, - &SHAPE420, &SHAPE421, &SHAPE422, &SHAPE423, &SHAPE424, &SHAPE425, &SHAPE423, &SHAPE424, - &SHAPE425, &SHAPE426, &SHAPE427, &SHAPE428, &SHAPE426, &SHAPE427, &SHAPE428, &SHAPE430, - &SHAPE432, &SHAPE433, &SHAPE430, &SHAPE432, &SHAPE433, &SHAPE435, &SHAPE437, &SHAPE438, - &SHAPE435, &SHAPE437, &SHAPE438, &SHAPE440, &SHAPE442, &SHAPE443, &SHAPE440, &SHAPE442, - &SHAPE443, &SHAPE445, &SHAPE447, &SHAPE448, &SHAPE445, &SHAPE447, &SHAPE448, &SHAPE449, - &SHAPE450, &SHAPE451, &SHAPE449, &SHAPE450, &SHAPE451, &SHAPE452, &SHAPE453, &SHAPE454, - &SHAPE452, &SHAPE453, &SHAPE454, &SHAPE456, &SHAPE458, &SHAPE459, &SHAPE456, &SHAPE458, - &SHAPE459, &SHAPE461, &SHAPE463, &SHAPE464, &SHAPE461, &SHAPE463, &SHAPE464, &SHAPE466, - &SHAPE468, &SHAPE469, &SHAPE466, &SHAPE468, &SHAPE469, &SHAPE471, &SHAPE473, &SHAPE474, - &SHAPE471, &SHAPE473, &SHAPE474, &SHAPE475, &SHAPE476, &SHAPE477, &SHAPE475, &SHAPE476, - &SHAPE477, &SHAPE478, &SHAPE479, &SHAPE480, &SHAPE478, &SHAPE479, &SHAPE480, &SHAPE481, - &SHAPE482, &SHAPE483, &SHAPE481, &SHAPE482, &SHAPE483, &SHAPE484, &SHAPE485, &SHAPE486, - &SHAPE484, &SHAPE485, &SHAPE486, &SHAPE487, &SHAPE488, &SHAPE489, &SHAPE487, &SHAPE488, - &SHAPE489, &SHAPE490, &SHAPE491, &SHAPE492, &SHAPE490, &SHAPE491, &SHAPE492, &SHAPE493, - &SHAPE494, &SHAPE495, &SHAPE493, &SHAPE494, &SHAPE495, &SHAPE496, &SHAPE497, &SHAPE498, - &SHAPE496, &SHAPE497, &SHAPE498, &SHAPE499, &SHAPE500, &SHAPE501, &SHAPE499, &SHAPE500, - &SHAPE501, &SHAPE502, &SHAPE503, &SHAPE504, &SHAPE502, &SHAPE503, &SHAPE504, &SHAPE505, - &SHAPE506, &SHAPE507, &SHAPE505, &SHAPE506, &SHAPE507, &SHAPE508, &SHAPE509, &SHAPE510, - &SHAPE508, &SHAPE509, &SHAPE510, &SHAPE511, &SHAPE512, &SHAPE513, &SHAPE511, &SHAPE512, - &SHAPE513, &SHAPE514, &SHAPE515, &SHAPE516, &SHAPE514, &SHAPE515, &SHAPE516, &SHAPE517, - &SHAPE518, &SHAPE519, &SHAPE517, &SHAPE518, &SHAPE519, &SHAPE520, &SHAPE521, &SHAPE522, - &SHAPE520, &SHAPE521, &SHAPE522, &SHAPE523, &SHAPE524, &SHAPE525, &SHAPE523, &SHAPE524, - &SHAPE525, &SHAPE526, &SHAPE527, &SHAPE528, &SHAPE526, &SHAPE527, &SHAPE528, &SHAPE529, - &SHAPE530, &SHAPE531, &SHAPE529, &SHAPE530, &SHAPE531, &SHAPE532, &SHAPE533, &SHAPE534, - &SHAPE532, &SHAPE533, &SHAPE534, &SHAPE535, &SHAPE536, &SHAPE537, &SHAPE535, &SHAPE536, - &SHAPE537, &SHAPE538, &SHAPE539, &SHAPE540, &SHAPE538, &SHAPE539, &SHAPE540, &SHAPE541, - &SHAPE542, &SHAPE543, &SHAPE541, &SHAPE542, &SHAPE543, &SHAPE544, &SHAPE545, &SHAPE546, - &SHAPE544, &SHAPE545, &SHAPE546, &SHAPE547, &SHAPE548, &SHAPE549, &SHAPE547, &SHAPE548, - &SHAPE549, &SHAPE550, &SHAPE551, &SHAPE552, &SHAPE550, &SHAPE551, &SHAPE552, &SHAPE1, &SHAPE74, - &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, - &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, - &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, - &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, - &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, - &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, - &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, - &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, - &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE572, &SHAPE572, - &SHAPE13, &SHAPE13, &SHAPE1, &SHAPE1, &SHAPE189, &SHAPE364, &SHAPE365, &SHAPE189, &SHAPE364, - &SHAPE365, &SHAPE0, &SHAPE367, &SHAPE368, &SHAPE0, &SHAPE367, &SHAPE368, &SHAPE370, &SHAPE372, - &SHAPE373, &SHAPE370, &SHAPE372, &SHAPE373, &SHAPE375, &SHAPE377, &SHAPE378, &SHAPE375, - &SHAPE377, &SHAPE378, &SHAPE379, &SHAPE380, &SHAPE381, &SHAPE379, &SHAPE380, &SHAPE381, - &SHAPE382, &SHAPE383, &SHAPE384, &SHAPE382, &SHAPE383, &SHAPE384, &SHAPE386, &SHAPE388, - &SHAPE389, &SHAPE386, &SHAPE388, &SHAPE389, &SHAPE391, &SHAPE393, &SHAPE394, &SHAPE391, - &SHAPE393, &SHAPE394, &SHAPE396, &SHAPE398, &SHAPE399, &SHAPE396, &SHAPE398, &SHAPE399, - &SHAPE401, &SHAPE403, &SHAPE404, &SHAPE401, &SHAPE403, &SHAPE404, &SHAPE405, &SHAPE406, - &SHAPE407, &SHAPE405, &SHAPE406, &SHAPE407, &SHAPE408, &SHAPE409, &SHAPE410, &SHAPE408, - &SHAPE409, &SHAPE410, &SHAPE411, &SHAPE412, &SHAPE413, &SHAPE411, &SHAPE412, &SHAPE413, - &SHAPE414, &SHAPE415, &SHAPE416, &SHAPE414, &SHAPE415, &SHAPE416, &SHAPE417, &SHAPE418, - &SHAPE419, &SHAPE417, &SHAPE418, &SHAPE419, &SHAPE420, &SHAPE421, &SHAPE422, &SHAPE420, - &SHAPE421, &SHAPE422, &SHAPE423, &SHAPE424, &SHAPE425, &SHAPE423, &SHAPE424, &SHAPE425, - &SHAPE426, &SHAPE427, &SHAPE428, &SHAPE426, &SHAPE427, &SHAPE428, &SHAPE430, &SHAPE432, - &SHAPE433, &SHAPE430, &SHAPE432, &SHAPE433, &SHAPE435, &SHAPE437, &SHAPE438, &SHAPE435, - &SHAPE437, &SHAPE438, &SHAPE440, &SHAPE442, &SHAPE443, &SHAPE440, &SHAPE442, &SHAPE443, - &SHAPE445, &SHAPE447, &SHAPE448, &SHAPE445, &SHAPE447, &SHAPE448, &SHAPE449, &SHAPE450, - &SHAPE451, &SHAPE449, &SHAPE450, &SHAPE451, &SHAPE452, &SHAPE453, &SHAPE454, &SHAPE452, - &SHAPE453, &SHAPE454, &SHAPE456, &SHAPE458, &SHAPE459, &SHAPE456, &SHAPE458, &SHAPE459, - &SHAPE461, &SHAPE463, &SHAPE464, &SHAPE461, &SHAPE463, &SHAPE464, &SHAPE466, &SHAPE468, - &SHAPE469, &SHAPE466, &SHAPE468, &SHAPE469, &SHAPE471, &SHAPE473, &SHAPE474, &SHAPE471, - &SHAPE473, &SHAPE474, &SHAPE475, &SHAPE476, &SHAPE477, &SHAPE475, &SHAPE476, &SHAPE477, - &SHAPE478, &SHAPE479, &SHAPE480, &SHAPE478, &SHAPE479, &SHAPE480, &SHAPE481, &SHAPE482, - &SHAPE483, &SHAPE481, &SHAPE482, &SHAPE483, &SHAPE484, &SHAPE485, &SHAPE486, &SHAPE484, - &SHAPE485, &SHAPE486, &SHAPE487, &SHAPE488, &SHAPE489, &SHAPE487, &SHAPE488, &SHAPE489, - &SHAPE490, &SHAPE491, &SHAPE492, &SHAPE490, &SHAPE491, &SHAPE492, &SHAPE493, &SHAPE494, - &SHAPE495, &SHAPE493, &SHAPE494, &SHAPE495, &SHAPE496, &SHAPE497, &SHAPE498, &SHAPE496, - &SHAPE497, &SHAPE498, &SHAPE499, &SHAPE500, &SHAPE501, &SHAPE499, &SHAPE500, &SHAPE501, - &SHAPE502, &SHAPE503, &SHAPE504, &SHAPE502, &SHAPE503, &SHAPE504, &SHAPE505, &SHAPE506, - &SHAPE507, &SHAPE505, &SHAPE506, &SHAPE507, &SHAPE508, &SHAPE509, &SHAPE510, &SHAPE508, - &SHAPE509, &SHAPE510, &SHAPE511, &SHAPE512, &SHAPE513, &SHAPE511, &SHAPE512, &SHAPE513, - &SHAPE514, &SHAPE515, &SHAPE516, &SHAPE514, &SHAPE515, &SHAPE516, &SHAPE517, &SHAPE518, - &SHAPE519, &SHAPE517, &SHAPE518, &SHAPE519, &SHAPE520, &SHAPE521, &SHAPE522, &SHAPE520, - &SHAPE521, &SHAPE522, &SHAPE523, &SHAPE524, &SHAPE525, &SHAPE523, &SHAPE524, &SHAPE525, - &SHAPE526, &SHAPE527, &SHAPE528, &SHAPE526, &SHAPE527, &SHAPE528, &SHAPE529, &SHAPE530, - &SHAPE531, &SHAPE529, &SHAPE530, &SHAPE531, &SHAPE532, &SHAPE533, &SHAPE534, &SHAPE532, - &SHAPE533, &SHAPE534, &SHAPE535, &SHAPE536, &SHAPE537, &SHAPE535, &SHAPE536, &SHAPE537, - &SHAPE538, &SHAPE539, &SHAPE540, &SHAPE538, &SHAPE539, &SHAPE540, &SHAPE541, &SHAPE542, - &SHAPE543, &SHAPE541, &SHAPE542, &SHAPE543, &SHAPE544, &SHAPE545, &SHAPE546, &SHAPE544, - &SHAPE545, &SHAPE546, &SHAPE547, &SHAPE548, &SHAPE549, &SHAPE547, &SHAPE548, &SHAPE549, - &SHAPE550, &SHAPE551, &SHAPE552, &SHAPE550, &SHAPE551, &SHAPE552, &SHAPE1, &SHAPE74, &SHAPE74, - &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, - &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, - &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, - &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, - &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, - &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, - &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, - &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, - &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE572, &SHAPE572, &SHAPE13, - &SHAPE13, &SHAPE1, &SHAPE1, &SHAPE189, &SHAPE364, &SHAPE365, &SHAPE189, &SHAPE364, &SHAPE365, - &SHAPE0, &SHAPE367, &SHAPE368, &SHAPE0, &SHAPE367, &SHAPE368, &SHAPE370, &SHAPE372, &SHAPE373, - &SHAPE370, &SHAPE372, &SHAPE373, &SHAPE375, &SHAPE377, &SHAPE378, &SHAPE375, &SHAPE377, - &SHAPE378, &SHAPE379, &SHAPE380, &SHAPE381, &SHAPE379, &SHAPE380, &SHAPE381, &SHAPE382, - &SHAPE383, &SHAPE384, &SHAPE382, &SHAPE383, &SHAPE384, &SHAPE386, &SHAPE388, &SHAPE389, - &SHAPE386, &SHAPE388, &SHAPE389, &SHAPE391, &SHAPE393, &SHAPE394, &SHAPE391, &SHAPE393, - &SHAPE394, &SHAPE396, &SHAPE398, &SHAPE399, &SHAPE396, &SHAPE398, &SHAPE399, &SHAPE401, - &SHAPE403, &SHAPE404, &SHAPE401, &SHAPE403, &SHAPE404, &SHAPE405, &SHAPE406, &SHAPE407, - &SHAPE405, &SHAPE406, &SHAPE407, &SHAPE408, &SHAPE409, &SHAPE410, &SHAPE408, &SHAPE409, - &SHAPE410, &SHAPE411, &SHAPE412, &SHAPE413, &SHAPE411, &SHAPE412, &SHAPE413, &SHAPE414, - &SHAPE415, &SHAPE416, &SHAPE414, &SHAPE415, &SHAPE416, &SHAPE417, &SHAPE418, &SHAPE419, - &SHAPE417, &SHAPE418, &SHAPE419, &SHAPE420, &SHAPE421, &SHAPE422, &SHAPE420, &SHAPE421, - &SHAPE422, &SHAPE423, &SHAPE424, &SHAPE425, &SHAPE423, &SHAPE424, &SHAPE425, &SHAPE426, - &SHAPE427, &SHAPE428, &SHAPE426, &SHAPE427, &SHAPE428, &SHAPE430, &SHAPE432, &SHAPE433, - &SHAPE430, &SHAPE432, &SHAPE433, &SHAPE435, &SHAPE437, &SHAPE438, &SHAPE435, &SHAPE437, - &SHAPE438, &SHAPE440, &SHAPE442, &SHAPE443, &SHAPE440, &SHAPE442, &SHAPE443, &SHAPE445, - &SHAPE447, &SHAPE448, &SHAPE445, &SHAPE447, &SHAPE448, &SHAPE449, &SHAPE450, &SHAPE451, - &SHAPE449, &SHAPE450, &SHAPE451, &SHAPE452, &SHAPE453, &SHAPE454, &SHAPE452, &SHAPE453, - &SHAPE454, &SHAPE456, &SHAPE458, &SHAPE459, &SHAPE456, &SHAPE458, &SHAPE459, &SHAPE461, - &SHAPE463, &SHAPE464, &SHAPE461, &SHAPE463, &SHAPE464, &SHAPE466, &SHAPE468, &SHAPE469, - &SHAPE466, &SHAPE468, &SHAPE469, &SHAPE471, &SHAPE473, &SHAPE474, &SHAPE471, &SHAPE473, - &SHAPE474, &SHAPE475, &SHAPE476, &SHAPE477, &SHAPE475, &SHAPE476, &SHAPE477, &SHAPE478, - &SHAPE479, &SHAPE480, &SHAPE478, &SHAPE479, &SHAPE480, &SHAPE481, &SHAPE482, &SHAPE483, - &SHAPE481, &SHAPE482, &SHAPE483, &SHAPE484, &SHAPE485, &SHAPE486, &SHAPE484, &SHAPE485, - &SHAPE486, &SHAPE487, &SHAPE488, &SHAPE489, &SHAPE487, &SHAPE488, &SHAPE489, &SHAPE490, - &SHAPE491, &SHAPE492, &SHAPE490, &SHAPE491, &SHAPE492, &SHAPE493, &SHAPE494, &SHAPE495, - &SHAPE493, &SHAPE494, &SHAPE495, &SHAPE496, &SHAPE497, &SHAPE498, &SHAPE496, &SHAPE497, - &SHAPE498, &SHAPE499, &SHAPE500, &SHAPE501, &SHAPE499, &SHAPE500, &SHAPE501, &SHAPE502, - &SHAPE503, &SHAPE504, &SHAPE502, &SHAPE503, &SHAPE504, &SHAPE505, &SHAPE506, &SHAPE507, - &SHAPE505, &SHAPE506, &SHAPE507, &SHAPE508, &SHAPE509, &SHAPE510, &SHAPE508, &SHAPE509, - &SHAPE510, &SHAPE511, &SHAPE512, &SHAPE513, &SHAPE511, &SHAPE512, &SHAPE513, &SHAPE514, - &SHAPE515, &SHAPE516, &SHAPE514, &SHAPE515, &SHAPE516, &SHAPE517, &SHAPE518, &SHAPE519, - &SHAPE517, &SHAPE518, &SHAPE519, &SHAPE520, &SHAPE521, &SHAPE522, &SHAPE520, &SHAPE521, - &SHAPE522, &SHAPE523, &SHAPE524, &SHAPE525, &SHAPE523, &SHAPE524, &SHAPE525, &SHAPE526, - &SHAPE527, &SHAPE528, &SHAPE526, &SHAPE527, &SHAPE528, &SHAPE529, &SHAPE530, &SHAPE531, - &SHAPE529, &SHAPE530, &SHAPE531, &SHAPE532, &SHAPE533, &SHAPE534, &SHAPE532, &SHAPE533, - &SHAPE534, &SHAPE535, &SHAPE536, &SHAPE537, &SHAPE535, &SHAPE536, &SHAPE537, &SHAPE538, - &SHAPE539, &SHAPE540, &SHAPE538, &SHAPE539, &SHAPE540, &SHAPE541, &SHAPE542, &SHAPE543, - &SHAPE541, &SHAPE542, &SHAPE543, &SHAPE544, &SHAPE545, &SHAPE546, &SHAPE544, &SHAPE545, - &SHAPE546, &SHAPE547, &SHAPE548, &SHAPE549, &SHAPE547, &SHAPE548, &SHAPE549, &SHAPE550, - &SHAPE551, &SHAPE552, &SHAPE550, &SHAPE551, &SHAPE552, &SHAPE1, &SHAPE74, &SHAPE74, &SHAPE75, - &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, - &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, - &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, - &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, - &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, - &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, - &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, - &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, - &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, &SHAPE572, &SHAPE572, &SHAPE13, &SHAPE13, - &SHAPE1, &SHAPE1, &SHAPE189, &SHAPE364, &SHAPE365, &SHAPE189, &SHAPE364, &SHAPE365, &SHAPE0, - &SHAPE367, &SHAPE368, &SHAPE0, &SHAPE367, &SHAPE368, &SHAPE370, &SHAPE372, &SHAPE373, - &SHAPE370, &SHAPE372, &SHAPE373, &SHAPE375, &SHAPE377, &SHAPE378, &SHAPE375, &SHAPE377, - &SHAPE378, &SHAPE379, &SHAPE380, &SHAPE381, &SHAPE379, &SHAPE380, &SHAPE381, &SHAPE382, - &SHAPE383, &SHAPE384, &SHAPE382, &SHAPE383, &SHAPE384, &SHAPE386, &SHAPE388, &SHAPE389, - &SHAPE386, &SHAPE388, &SHAPE389, &SHAPE391, &SHAPE393, &SHAPE394, &SHAPE391, &SHAPE393, - &SHAPE394, &SHAPE396, &SHAPE398, &SHAPE399, &SHAPE396, &SHAPE398, &SHAPE399, &SHAPE401, - &SHAPE403, &SHAPE404, &SHAPE401, &SHAPE403, &SHAPE404, &SHAPE405, &SHAPE406, &SHAPE407, - &SHAPE405, &SHAPE406, &SHAPE407, &SHAPE408, &SHAPE409, &SHAPE410, &SHAPE408, &SHAPE409, - &SHAPE410, &SHAPE411, &SHAPE412, &SHAPE413, &SHAPE411, &SHAPE412, &SHAPE413, &SHAPE414, - &SHAPE415, &SHAPE416, &SHAPE414, &SHAPE415, &SHAPE416, &SHAPE417, &SHAPE418, &SHAPE419, - &SHAPE417, &SHAPE418, &SHAPE419, &SHAPE420, &SHAPE421, &SHAPE422, &SHAPE420, &SHAPE421, - &SHAPE422, &SHAPE423, &SHAPE424, &SHAPE425, &SHAPE423, &SHAPE424, &SHAPE425, &SHAPE426, - &SHAPE427, &SHAPE428, &SHAPE426, &SHAPE427, &SHAPE428, &SHAPE430, &SHAPE432, &SHAPE433, - &SHAPE430, &SHAPE432, &SHAPE433, &SHAPE435, &SHAPE437, &SHAPE438, &SHAPE435, &SHAPE437, - &SHAPE438, &SHAPE440, &SHAPE442, &SHAPE443, &SHAPE440, &SHAPE442, &SHAPE443, &SHAPE445, - &SHAPE447, &SHAPE448, &SHAPE445, &SHAPE447, &SHAPE448, &SHAPE449, &SHAPE450, &SHAPE451, - &SHAPE449, &SHAPE450, &SHAPE451, &SHAPE452, &SHAPE453, &SHAPE454, &SHAPE452, &SHAPE453, - &SHAPE454, &SHAPE456, &SHAPE458, &SHAPE459, &SHAPE456, &SHAPE458, &SHAPE459, &SHAPE461, - &SHAPE463, &SHAPE464, &SHAPE461, &SHAPE463, &SHAPE464, &SHAPE466, &SHAPE468, &SHAPE469, - &SHAPE466, &SHAPE468, &SHAPE469, &SHAPE471, &SHAPE473, &SHAPE474, &SHAPE471, &SHAPE473, - &SHAPE474, &SHAPE475, &SHAPE476, &SHAPE477, &SHAPE475, &SHAPE476, &SHAPE477, &SHAPE478, - &SHAPE479, &SHAPE480, &SHAPE478, &SHAPE479, &SHAPE480, &SHAPE481, &SHAPE482, &SHAPE483, - &SHAPE481, &SHAPE482, &SHAPE483, &SHAPE484, &SHAPE485, &SHAPE486, &SHAPE484, &SHAPE485, - &SHAPE486, &SHAPE487, &SHAPE488, &SHAPE489, &SHAPE487, &SHAPE488, &SHAPE489, &SHAPE490, - &SHAPE491, &SHAPE492, &SHAPE490, &SHAPE491, &SHAPE492, &SHAPE493, &SHAPE494, &SHAPE495, - &SHAPE493, &SHAPE494, &SHAPE495, &SHAPE496, &SHAPE497, &SHAPE498, &SHAPE496, &SHAPE497, - &SHAPE498, &SHAPE499, &SHAPE500, &SHAPE501, &SHAPE499, &SHAPE500, &SHAPE501, &SHAPE502, - &SHAPE503, &SHAPE504, &SHAPE502, &SHAPE503, &SHAPE504, &SHAPE505, &SHAPE506, &SHAPE507, - &SHAPE505, &SHAPE506, &SHAPE507, &SHAPE508, &SHAPE509, &SHAPE510, &SHAPE508, &SHAPE509, - &SHAPE510, &SHAPE511, &SHAPE512, &SHAPE513, &SHAPE511, &SHAPE512, &SHAPE513, &SHAPE514, - &SHAPE515, &SHAPE516, &SHAPE514, &SHAPE515, &SHAPE516, &SHAPE517, &SHAPE518, &SHAPE519, - &SHAPE517, &SHAPE518, &SHAPE519, &SHAPE520, &SHAPE521, &SHAPE522, &SHAPE520, &SHAPE521, - &SHAPE522, &SHAPE523, &SHAPE524, &SHAPE525, &SHAPE523, &SHAPE524, &SHAPE525, &SHAPE526, - &SHAPE527, &SHAPE528, &SHAPE526, &SHAPE527, &SHAPE528, &SHAPE529, &SHAPE530, &SHAPE531, - &SHAPE529, &SHAPE530, &SHAPE531, &SHAPE532, &SHAPE533, &SHAPE534, &SHAPE532, &SHAPE533, - &SHAPE534, &SHAPE535, &SHAPE536, &SHAPE537, &SHAPE535, &SHAPE536, &SHAPE537, &SHAPE538, - &SHAPE539, &SHAPE540, &SHAPE538, &SHAPE539, &SHAPE540, &SHAPE541, &SHAPE542, &SHAPE543, - &SHAPE541, &SHAPE542, &SHAPE543, &SHAPE544, &SHAPE545, &SHAPE546, &SHAPE544, &SHAPE545, - &SHAPE546, &SHAPE547, &SHAPE548, &SHAPE549, &SHAPE547, &SHAPE548, &SHAPE549, &SHAPE550, - &SHAPE551, &SHAPE552, &SHAPE550, &SHAPE551, &SHAPE552, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE36, &SHAPE36, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE760, &SHAPE1, &SHAPE232, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE191, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE193, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE192, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE273, + &SHAPE273, &SHAPE273, &SHAPE273, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE190, &SHAPE274, + &SHAPE274, &SHAPE274, &SHAPE274, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE578, &SHAPE578, &SHAPE578, &SHAPE578, &SHAPE579, &SHAPE579, &SHAPE579, + &SHAPE579, &SHAPE578, &SHAPE578, &SHAPE578, &SHAPE578, &SHAPE579, &SHAPE579, &SHAPE579, + &SHAPE579, &SHAPE265, &SHAPE265, &SHAPE265, &SHAPE265, &SHAPE265, &SHAPE265, &SHAPE265, + &SHAPE265, &SHAPE660, &SHAPE660, &SHAPE660, &SHAPE660, &SHAPE728, &SHAPE728, &SHAPE729, + &SHAPE729, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE189, &SHAPE199, &SHAPE199, &SHAPE199, + &SHAPE199, &SHAPE233, &SHAPE233, &SHAPE233, &SHAPE233, &SHAPE1, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, - &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE1, &SHAPE1, + &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, + &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, + &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, + &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, + &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, + &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE730, &SHAPE731, &SHAPE731, &SHAPE73, + &SHAPE732, &SHAPE733, &SHAPE274, &SHAPE274, &SHAPE734, &SHAPE735, &SHAPE274, &SHAPE274, + &SHAPE736, &SHAPE737, &SHAPE274, &SHAPE274, &SHAPE738, &SHAPE739, &SHAPE274, &SHAPE274, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE741, &SHAPE741, &SHAPE741, &SHAPE741, &SHAPE743, &SHAPE743, + &SHAPE744, &SHAPE744, &SHAPE745, &SHAPE745, &SHAPE745, &SHAPE745, &SHAPE746, &SHAPE746, + &SHAPE747, &SHAPE747, &SHAPE748, &SHAPE748, &SHAPE748, &SHAPE748, &SHAPE749, &SHAPE749, + &SHAPE750, &SHAPE750, &SHAPE751, &SHAPE751, &SHAPE751, &SHAPE751, &SHAPE752, &SHAPE752, + &SHAPE753, &SHAPE753, &SHAPE754, &SHAPE754, &SHAPE755, &SHAPE755, &SHAPE756, &SHAPE756, + &SHAPE757, &SHAPE757, &SHAPE758, &SHAPE758, &SHAPE758, &SHAPE758, &SHAPE758, &SHAPE758, + &SHAPE758, &SHAPE758, &SHAPE758, &SHAPE758, &SHAPE758, &SHAPE758, &SHAPE758, &SHAPE758, + &SHAPE758, &SHAPE758, &SHAPE759, &SHAPE759, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, + &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, + &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, + &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, + &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, + &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, + &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, + &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, + &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, + &SHAPE572, &SHAPE572, &SHAPE13, &SHAPE13, &SHAPE1, &SHAPE1, &SHAPE189, &SHAPE364, &SHAPE365, + &SHAPE189, &SHAPE364, &SHAPE365, &SHAPE0, &SHAPE367, &SHAPE368, &SHAPE0, &SHAPE367, &SHAPE368, + &SHAPE370, &SHAPE372, &SHAPE373, &SHAPE370, &SHAPE372, &SHAPE373, &SHAPE375, &SHAPE377, + &SHAPE378, &SHAPE375, &SHAPE377, &SHAPE378, &SHAPE379, &SHAPE380, &SHAPE381, &SHAPE379, + &SHAPE380, &SHAPE381, &SHAPE382, &SHAPE383, &SHAPE384, &SHAPE382, &SHAPE383, &SHAPE384, + &SHAPE386, &SHAPE388, &SHAPE389, &SHAPE386, &SHAPE388, &SHAPE389, &SHAPE391, &SHAPE393, + &SHAPE394, &SHAPE391, &SHAPE393, &SHAPE394, &SHAPE396, &SHAPE398, &SHAPE399, &SHAPE396, + &SHAPE398, &SHAPE399, &SHAPE401, &SHAPE403, &SHAPE404, &SHAPE401, &SHAPE403, &SHAPE404, + &SHAPE405, &SHAPE406, &SHAPE407, &SHAPE405, &SHAPE406, &SHAPE407, &SHAPE408, &SHAPE409, + &SHAPE410, &SHAPE408, &SHAPE409, &SHAPE410, &SHAPE411, &SHAPE412, &SHAPE413, &SHAPE411, + &SHAPE412, &SHAPE413, &SHAPE414, &SHAPE415, &SHAPE416, &SHAPE414, &SHAPE415, &SHAPE416, + &SHAPE417, &SHAPE418, &SHAPE419, &SHAPE417, &SHAPE418, &SHAPE419, &SHAPE420, &SHAPE421, + &SHAPE422, &SHAPE420, &SHAPE421, &SHAPE422, &SHAPE423, &SHAPE424, &SHAPE425, &SHAPE423, + &SHAPE424, &SHAPE425, &SHAPE426, &SHAPE427, &SHAPE428, &SHAPE426, &SHAPE427, &SHAPE428, + &SHAPE430, &SHAPE432, &SHAPE433, &SHAPE430, &SHAPE432, &SHAPE433, &SHAPE435, &SHAPE437, + &SHAPE438, &SHAPE435, &SHAPE437, &SHAPE438, &SHAPE440, &SHAPE442, &SHAPE443, &SHAPE440, + &SHAPE442, &SHAPE443, &SHAPE445, &SHAPE447, &SHAPE448, &SHAPE445, &SHAPE447, &SHAPE448, + &SHAPE449, &SHAPE450, &SHAPE451, &SHAPE449, &SHAPE450, &SHAPE451, &SHAPE452, &SHAPE453, + &SHAPE454, &SHAPE452, &SHAPE453, &SHAPE454, &SHAPE456, &SHAPE458, &SHAPE459, &SHAPE456, + &SHAPE458, &SHAPE459, &SHAPE461, &SHAPE463, &SHAPE464, &SHAPE461, &SHAPE463, &SHAPE464, + &SHAPE466, &SHAPE468, &SHAPE469, &SHAPE466, &SHAPE468, &SHAPE469, &SHAPE471, &SHAPE473, + &SHAPE474, &SHAPE471, &SHAPE473, &SHAPE474, &SHAPE475, &SHAPE476, &SHAPE477, &SHAPE475, + &SHAPE476, &SHAPE477, &SHAPE478, &SHAPE479, &SHAPE480, &SHAPE478, &SHAPE479, &SHAPE480, + &SHAPE481, &SHAPE482, &SHAPE483, &SHAPE481, &SHAPE482, &SHAPE483, &SHAPE484, &SHAPE485, + &SHAPE486, &SHAPE484, &SHAPE485, &SHAPE486, &SHAPE487, &SHAPE488, &SHAPE489, &SHAPE487, + &SHAPE488, &SHAPE489, &SHAPE490, &SHAPE491, &SHAPE492, &SHAPE490, &SHAPE491, &SHAPE492, + &SHAPE493, &SHAPE494, &SHAPE495, &SHAPE493, &SHAPE494, &SHAPE495, &SHAPE496, &SHAPE497, + &SHAPE498, &SHAPE496, &SHAPE497, &SHAPE498, &SHAPE499, &SHAPE500, &SHAPE501, &SHAPE499, + &SHAPE500, &SHAPE501, &SHAPE502, &SHAPE503, &SHAPE504, &SHAPE502, &SHAPE503, &SHAPE504, + &SHAPE505, &SHAPE506, &SHAPE507, &SHAPE505, &SHAPE506, &SHAPE507, &SHAPE508, &SHAPE509, + &SHAPE510, &SHAPE508, &SHAPE509, &SHAPE510, &SHAPE511, &SHAPE512, &SHAPE513, &SHAPE511, + &SHAPE512, &SHAPE513, &SHAPE514, &SHAPE515, &SHAPE516, &SHAPE514, &SHAPE515, &SHAPE516, + &SHAPE517, &SHAPE518, &SHAPE519, &SHAPE517, &SHAPE518, &SHAPE519, &SHAPE520, &SHAPE521, + &SHAPE522, &SHAPE520, &SHAPE521, &SHAPE522, &SHAPE523, &SHAPE524, &SHAPE525, &SHAPE523, + &SHAPE524, &SHAPE525, &SHAPE526, &SHAPE527, &SHAPE528, &SHAPE526, &SHAPE527, &SHAPE528, + &SHAPE529, &SHAPE530, &SHAPE531, &SHAPE529, &SHAPE530, &SHAPE531, &SHAPE532, &SHAPE533, + &SHAPE534, &SHAPE532, &SHAPE533, &SHAPE534, &SHAPE535, &SHAPE536, &SHAPE537, &SHAPE535, + &SHAPE536, &SHAPE537, &SHAPE538, &SHAPE539, &SHAPE540, &SHAPE538, &SHAPE539, &SHAPE540, + &SHAPE541, &SHAPE542, &SHAPE543, &SHAPE541, &SHAPE542, &SHAPE543, &SHAPE544, &SHAPE545, + &SHAPE546, &SHAPE544, &SHAPE545, &SHAPE546, &SHAPE547, &SHAPE548, &SHAPE549, &SHAPE547, + &SHAPE548, &SHAPE549, &SHAPE550, &SHAPE551, &SHAPE552, &SHAPE550, &SHAPE551, &SHAPE552, + &SHAPE1, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, + &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, + &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, + &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, + &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, + &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, + &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, + &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, + &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, + &SHAPE572, &SHAPE572, &SHAPE13, &SHAPE13, &SHAPE1, &SHAPE1, &SHAPE189, &SHAPE364, &SHAPE365, + &SHAPE189, &SHAPE364, &SHAPE365, &SHAPE0, &SHAPE367, &SHAPE368, &SHAPE0, &SHAPE367, &SHAPE368, + &SHAPE370, &SHAPE372, &SHAPE373, &SHAPE370, &SHAPE372, &SHAPE373, &SHAPE375, &SHAPE377, + &SHAPE378, &SHAPE375, &SHAPE377, &SHAPE378, &SHAPE379, &SHAPE380, &SHAPE381, &SHAPE379, + &SHAPE380, &SHAPE381, &SHAPE382, &SHAPE383, &SHAPE384, &SHAPE382, &SHAPE383, &SHAPE384, + &SHAPE386, &SHAPE388, &SHAPE389, &SHAPE386, &SHAPE388, &SHAPE389, &SHAPE391, &SHAPE393, + &SHAPE394, &SHAPE391, &SHAPE393, &SHAPE394, &SHAPE396, &SHAPE398, &SHAPE399, &SHAPE396, + &SHAPE398, &SHAPE399, &SHAPE401, &SHAPE403, &SHAPE404, &SHAPE401, &SHAPE403, &SHAPE404, + &SHAPE405, &SHAPE406, &SHAPE407, &SHAPE405, &SHAPE406, &SHAPE407, &SHAPE408, &SHAPE409, + &SHAPE410, &SHAPE408, &SHAPE409, &SHAPE410, &SHAPE411, &SHAPE412, &SHAPE413, &SHAPE411, + &SHAPE412, &SHAPE413, &SHAPE414, &SHAPE415, &SHAPE416, &SHAPE414, &SHAPE415, &SHAPE416, + &SHAPE417, &SHAPE418, &SHAPE419, &SHAPE417, &SHAPE418, &SHAPE419, &SHAPE420, &SHAPE421, + &SHAPE422, &SHAPE420, &SHAPE421, &SHAPE422, &SHAPE423, &SHAPE424, &SHAPE425, &SHAPE423, + &SHAPE424, &SHAPE425, &SHAPE426, &SHAPE427, &SHAPE428, &SHAPE426, &SHAPE427, &SHAPE428, + &SHAPE430, &SHAPE432, &SHAPE433, &SHAPE430, &SHAPE432, &SHAPE433, &SHAPE435, &SHAPE437, + &SHAPE438, &SHAPE435, &SHAPE437, &SHAPE438, &SHAPE440, &SHAPE442, &SHAPE443, &SHAPE440, + &SHAPE442, &SHAPE443, &SHAPE445, &SHAPE447, &SHAPE448, &SHAPE445, &SHAPE447, &SHAPE448, + &SHAPE449, &SHAPE450, &SHAPE451, &SHAPE449, &SHAPE450, &SHAPE451, &SHAPE452, &SHAPE453, + &SHAPE454, &SHAPE452, &SHAPE453, &SHAPE454, &SHAPE456, &SHAPE458, &SHAPE459, &SHAPE456, + &SHAPE458, &SHAPE459, &SHAPE461, &SHAPE463, &SHAPE464, &SHAPE461, &SHAPE463, &SHAPE464, + &SHAPE466, &SHAPE468, &SHAPE469, &SHAPE466, &SHAPE468, &SHAPE469, &SHAPE471, &SHAPE473, + &SHAPE474, &SHAPE471, &SHAPE473, &SHAPE474, &SHAPE475, &SHAPE476, &SHAPE477, &SHAPE475, + &SHAPE476, &SHAPE477, &SHAPE478, &SHAPE479, &SHAPE480, &SHAPE478, &SHAPE479, &SHAPE480, + &SHAPE481, &SHAPE482, &SHAPE483, &SHAPE481, &SHAPE482, &SHAPE483, &SHAPE484, &SHAPE485, + &SHAPE486, &SHAPE484, &SHAPE485, &SHAPE486, &SHAPE487, &SHAPE488, &SHAPE489, &SHAPE487, + &SHAPE488, &SHAPE489, &SHAPE490, &SHAPE491, &SHAPE492, &SHAPE490, &SHAPE491, &SHAPE492, + &SHAPE493, &SHAPE494, &SHAPE495, &SHAPE493, &SHAPE494, &SHAPE495, &SHAPE496, &SHAPE497, + &SHAPE498, &SHAPE496, &SHAPE497, &SHAPE498, &SHAPE499, &SHAPE500, &SHAPE501, &SHAPE499, + &SHAPE500, &SHAPE501, &SHAPE502, &SHAPE503, &SHAPE504, &SHAPE502, &SHAPE503, &SHAPE504, + &SHAPE505, &SHAPE506, &SHAPE507, &SHAPE505, &SHAPE506, &SHAPE507, &SHAPE508, &SHAPE509, + &SHAPE510, &SHAPE508, &SHAPE509, &SHAPE510, &SHAPE511, &SHAPE512, &SHAPE513, &SHAPE511, + &SHAPE512, &SHAPE513, &SHAPE514, &SHAPE515, &SHAPE516, &SHAPE514, &SHAPE515, &SHAPE516, + &SHAPE517, &SHAPE518, &SHAPE519, &SHAPE517, &SHAPE518, &SHAPE519, &SHAPE520, &SHAPE521, + &SHAPE522, &SHAPE520, &SHAPE521, &SHAPE522, &SHAPE523, &SHAPE524, &SHAPE525, &SHAPE523, + &SHAPE524, &SHAPE525, &SHAPE526, &SHAPE527, &SHAPE528, &SHAPE526, &SHAPE527, &SHAPE528, + &SHAPE529, &SHAPE530, &SHAPE531, &SHAPE529, &SHAPE530, &SHAPE531, &SHAPE532, &SHAPE533, + &SHAPE534, &SHAPE532, &SHAPE533, &SHAPE534, &SHAPE535, &SHAPE536, &SHAPE537, &SHAPE535, + &SHAPE536, &SHAPE537, &SHAPE538, &SHAPE539, &SHAPE540, &SHAPE538, &SHAPE539, &SHAPE540, + &SHAPE541, &SHAPE542, &SHAPE543, &SHAPE541, &SHAPE542, &SHAPE543, &SHAPE544, &SHAPE545, + &SHAPE546, &SHAPE544, &SHAPE545, &SHAPE546, &SHAPE547, &SHAPE548, &SHAPE549, &SHAPE547, + &SHAPE548, &SHAPE549, &SHAPE550, &SHAPE551, &SHAPE552, &SHAPE550, &SHAPE551, &SHAPE552, + &SHAPE1, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, + &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, + &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, + &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, + &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, + &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, + &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, + &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, + &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, + &SHAPE572, &SHAPE572, &SHAPE13, &SHAPE13, &SHAPE1, &SHAPE1, &SHAPE189, &SHAPE364, &SHAPE365, + &SHAPE189, &SHAPE364, &SHAPE365, &SHAPE0, &SHAPE367, &SHAPE368, &SHAPE0, &SHAPE367, &SHAPE368, + &SHAPE370, &SHAPE372, &SHAPE373, &SHAPE370, &SHAPE372, &SHAPE373, &SHAPE375, &SHAPE377, + &SHAPE378, &SHAPE375, &SHAPE377, &SHAPE378, &SHAPE379, &SHAPE380, &SHAPE381, &SHAPE379, + &SHAPE380, &SHAPE381, &SHAPE382, &SHAPE383, &SHAPE384, &SHAPE382, &SHAPE383, &SHAPE384, + &SHAPE386, &SHAPE388, &SHAPE389, &SHAPE386, &SHAPE388, &SHAPE389, &SHAPE391, &SHAPE393, + &SHAPE394, &SHAPE391, &SHAPE393, &SHAPE394, &SHAPE396, &SHAPE398, &SHAPE399, &SHAPE396, + &SHAPE398, &SHAPE399, &SHAPE401, &SHAPE403, &SHAPE404, &SHAPE401, &SHAPE403, &SHAPE404, + &SHAPE405, &SHAPE406, &SHAPE407, &SHAPE405, &SHAPE406, &SHAPE407, &SHAPE408, &SHAPE409, + &SHAPE410, &SHAPE408, &SHAPE409, &SHAPE410, &SHAPE411, &SHAPE412, &SHAPE413, &SHAPE411, + &SHAPE412, &SHAPE413, &SHAPE414, &SHAPE415, &SHAPE416, &SHAPE414, &SHAPE415, &SHAPE416, + &SHAPE417, &SHAPE418, &SHAPE419, &SHAPE417, &SHAPE418, &SHAPE419, &SHAPE420, &SHAPE421, + &SHAPE422, &SHAPE420, &SHAPE421, &SHAPE422, &SHAPE423, &SHAPE424, &SHAPE425, &SHAPE423, + &SHAPE424, &SHAPE425, &SHAPE426, &SHAPE427, &SHAPE428, &SHAPE426, &SHAPE427, &SHAPE428, + &SHAPE430, &SHAPE432, &SHAPE433, &SHAPE430, &SHAPE432, &SHAPE433, &SHAPE435, &SHAPE437, + &SHAPE438, &SHAPE435, &SHAPE437, &SHAPE438, &SHAPE440, &SHAPE442, &SHAPE443, &SHAPE440, + &SHAPE442, &SHAPE443, &SHAPE445, &SHAPE447, &SHAPE448, &SHAPE445, &SHAPE447, &SHAPE448, + &SHAPE449, &SHAPE450, &SHAPE451, &SHAPE449, &SHAPE450, &SHAPE451, &SHAPE452, &SHAPE453, + &SHAPE454, &SHAPE452, &SHAPE453, &SHAPE454, &SHAPE456, &SHAPE458, &SHAPE459, &SHAPE456, + &SHAPE458, &SHAPE459, &SHAPE461, &SHAPE463, &SHAPE464, &SHAPE461, &SHAPE463, &SHAPE464, + &SHAPE466, &SHAPE468, &SHAPE469, &SHAPE466, &SHAPE468, &SHAPE469, &SHAPE471, &SHAPE473, + &SHAPE474, &SHAPE471, &SHAPE473, &SHAPE474, &SHAPE475, &SHAPE476, &SHAPE477, &SHAPE475, + &SHAPE476, &SHAPE477, &SHAPE478, &SHAPE479, &SHAPE480, &SHAPE478, &SHAPE479, &SHAPE480, + &SHAPE481, &SHAPE482, &SHAPE483, &SHAPE481, &SHAPE482, &SHAPE483, &SHAPE484, &SHAPE485, + &SHAPE486, &SHAPE484, &SHAPE485, &SHAPE486, &SHAPE487, &SHAPE488, &SHAPE489, &SHAPE487, + &SHAPE488, &SHAPE489, &SHAPE490, &SHAPE491, &SHAPE492, &SHAPE490, &SHAPE491, &SHAPE492, + &SHAPE493, &SHAPE494, &SHAPE495, &SHAPE493, &SHAPE494, &SHAPE495, &SHAPE496, &SHAPE497, + &SHAPE498, &SHAPE496, &SHAPE497, &SHAPE498, &SHAPE499, &SHAPE500, &SHAPE501, &SHAPE499, + &SHAPE500, &SHAPE501, &SHAPE502, &SHAPE503, &SHAPE504, &SHAPE502, &SHAPE503, &SHAPE504, + &SHAPE505, &SHAPE506, &SHAPE507, &SHAPE505, &SHAPE506, &SHAPE507, &SHAPE508, &SHAPE509, + &SHAPE510, &SHAPE508, &SHAPE509, &SHAPE510, &SHAPE511, &SHAPE512, &SHAPE513, &SHAPE511, + &SHAPE512, &SHAPE513, &SHAPE514, &SHAPE515, &SHAPE516, &SHAPE514, &SHAPE515, &SHAPE516, + &SHAPE517, &SHAPE518, &SHAPE519, &SHAPE517, &SHAPE518, &SHAPE519, &SHAPE520, &SHAPE521, + &SHAPE522, &SHAPE520, &SHAPE521, &SHAPE522, &SHAPE523, &SHAPE524, &SHAPE525, &SHAPE523, + &SHAPE524, &SHAPE525, &SHAPE526, &SHAPE527, &SHAPE528, &SHAPE526, &SHAPE527, &SHAPE528, + &SHAPE529, &SHAPE530, &SHAPE531, &SHAPE529, &SHAPE530, &SHAPE531, &SHAPE532, &SHAPE533, + &SHAPE534, &SHAPE532, &SHAPE533, &SHAPE534, &SHAPE535, &SHAPE536, &SHAPE537, &SHAPE535, + &SHAPE536, &SHAPE537, &SHAPE538, &SHAPE539, &SHAPE540, &SHAPE538, &SHAPE539, &SHAPE540, + &SHAPE541, &SHAPE542, &SHAPE543, &SHAPE541, &SHAPE542, &SHAPE543, &SHAPE544, &SHAPE545, + &SHAPE546, &SHAPE544, &SHAPE545, &SHAPE546, &SHAPE547, &SHAPE548, &SHAPE549, &SHAPE547, + &SHAPE548, &SHAPE549, &SHAPE550, &SHAPE551, &SHAPE552, &SHAPE550, &SHAPE551, &SHAPE552, + &SHAPE1, &SHAPE74, &SHAPE74, &SHAPE75, &SHAPE75, &SHAPE76, &SHAPE76, &SHAPE77, &SHAPE77, + &SHAPE78, &SHAPE78, &SHAPE79, &SHAPE79, &SHAPE80, &SHAPE80, &SHAPE81, &SHAPE81, &SHAPE82, + &SHAPE82, &SHAPE83, &SHAPE83, &SHAPE84, &SHAPE84, &SHAPE85, &SHAPE85, &SHAPE86, &SHAPE86, + &SHAPE87, &SHAPE87, &SHAPE88, &SHAPE88, &SHAPE89, &SHAPE89, &SHAPE90, &SHAPE90, &SHAPE91, + &SHAPE91, &SHAPE92, &SHAPE92, &SHAPE93, &SHAPE93, &SHAPE94, &SHAPE94, &SHAPE86, &SHAPE86, + &SHAPE75, &SHAPE75, &SHAPE88, &SHAPE88, &SHAPE77, &SHAPE77, &SHAPE95, &SHAPE95, &SHAPE91, + &SHAPE91, &SHAPE80, &SHAPE80, &SHAPE93, &SHAPE93, &SHAPE82, &SHAPE82, &SHAPE96, &SHAPE96, + &SHAPE76, &SHAPE76, &SHAPE85, &SHAPE85, &SHAPE78, &SHAPE78, &SHAPE87, &SHAPE87, &SHAPE97, + &SHAPE97, &SHAPE81, &SHAPE81, &SHAPE90, &SHAPE90, &SHAPE83, &SHAPE83, &SHAPE92, &SHAPE92, + &SHAPE572, &SHAPE572, &SHAPE13, &SHAPE13, &SHAPE1, &SHAPE1, &SHAPE189, &SHAPE364, &SHAPE365, + &SHAPE189, &SHAPE364, &SHAPE365, &SHAPE0, &SHAPE367, &SHAPE368, &SHAPE0, &SHAPE367, &SHAPE368, + &SHAPE370, &SHAPE372, &SHAPE373, &SHAPE370, &SHAPE372, &SHAPE373, &SHAPE375, &SHAPE377, + &SHAPE378, &SHAPE375, &SHAPE377, &SHAPE378, &SHAPE379, &SHAPE380, &SHAPE381, &SHAPE379, + &SHAPE380, &SHAPE381, &SHAPE382, &SHAPE383, &SHAPE384, &SHAPE382, &SHAPE383, &SHAPE384, + &SHAPE386, &SHAPE388, &SHAPE389, &SHAPE386, &SHAPE388, &SHAPE389, &SHAPE391, &SHAPE393, + &SHAPE394, &SHAPE391, &SHAPE393, &SHAPE394, &SHAPE396, &SHAPE398, &SHAPE399, &SHAPE396, + &SHAPE398, &SHAPE399, &SHAPE401, &SHAPE403, &SHAPE404, &SHAPE401, &SHAPE403, &SHAPE404, + &SHAPE405, &SHAPE406, &SHAPE407, &SHAPE405, &SHAPE406, &SHAPE407, &SHAPE408, &SHAPE409, + &SHAPE410, &SHAPE408, &SHAPE409, &SHAPE410, &SHAPE411, &SHAPE412, &SHAPE413, &SHAPE411, + &SHAPE412, &SHAPE413, &SHAPE414, &SHAPE415, &SHAPE416, &SHAPE414, &SHAPE415, &SHAPE416, + &SHAPE417, &SHAPE418, &SHAPE419, &SHAPE417, &SHAPE418, &SHAPE419, &SHAPE420, &SHAPE421, + &SHAPE422, &SHAPE420, &SHAPE421, &SHAPE422, &SHAPE423, &SHAPE424, &SHAPE425, &SHAPE423, + &SHAPE424, &SHAPE425, &SHAPE426, &SHAPE427, &SHAPE428, &SHAPE426, &SHAPE427, &SHAPE428, + &SHAPE430, &SHAPE432, &SHAPE433, &SHAPE430, &SHAPE432, &SHAPE433, &SHAPE435, &SHAPE437, + &SHAPE438, &SHAPE435, &SHAPE437, &SHAPE438, &SHAPE440, &SHAPE442, &SHAPE443, &SHAPE440, + &SHAPE442, &SHAPE443, &SHAPE445, &SHAPE447, &SHAPE448, &SHAPE445, &SHAPE447, &SHAPE448, + &SHAPE449, &SHAPE450, &SHAPE451, &SHAPE449, &SHAPE450, &SHAPE451, &SHAPE452, &SHAPE453, + &SHAPE454, &SHAPE452, &SHAPE453, &SHAPE454, &SHAPE456, &SHAPE458, &SHAPE459, &SHAPE456, + &SHAPE458, &SHAPE459, &SHAPE461, &SHAPE463, &SHAPE464, &SHAPE461, &SHAPE463, &SHAPE464, + &SHAPE466, &SHAPE468, &SHAPE469, &SHAPE466, &SHAPE468, &SHAPE469, &SHAPE471, &SHAPE473, + &SHAPE474, &SHAPE471, &SHAPE473, &SHAPE474, &SHAPE475, &SHAPE476, &SHAPE477, &SHAPE475, + &SHAPE476, &SHAPE477, &SHAPE478, &SHAPE479, &SHAPE480, &SHAPE478, &SHAPE479, &SHAPE480, + &SHAPE481, &SHAPE482, &SHAPE483, &SHAPE481, &SHAPE482, &SHAPE483, &SHAPE484, &SHAPE485, + &SHAPE486, &SHAPE484, &SHAPE485, &SHAPE486, &SHAPE487, &SHAPE488, &SHAPE489, &SHAPE487, + &SHAPE488, &SHAPE489, &SHAPE490, &SHAPE491, &SHAPE492, &SHAPE490, &SHAPE491, &SHAPE492, + &SHAPE493, &SHAPE494, &SHAPE495, &SHAPE493, &SHAPE494, &SHAPE495, &SHAPE496, &SHAPE497, + &SHAPE498, &SHAPE496, &SHAPE497, &SHAPE498, &SHAPE499, &SHAPE500, &SHAPE501, &SHAPE499, + &SHAPE500, &SHAPE501, &SHAPE502, &SHAPE503, &SHAPE504, &SHAPE502, &SHAPE503, &SHAPE504, + &SHAPE505, &SHAPE506, &SHAPE507, &SHAPE505, &SHAPE506, &SHAPE507, &SHAPE508, &SHAPE509, + &SHAPE510, &SHAPE508, &SHAPE509, &SHAPE510, &SHAPE511, &SHAPE512, &SHAPE513, &SHAPE511, + &SHAPE512, &SHAPE513, &SHAPE514, &SHAPE515, &SHAPE516, &SHAPE514, &SHAPE515, &SHAPE516, + &SHAPE517, &SHAPE518, &SHAPE519, &SHAPE517, &SHAPE518, &SHAPE519, &SHAPE520, &SHAPE521, + &SHAPE522, &SHAPE520, &SHAPE521, &SHAPE522, &SHAPE523, &SHAPE524, &SHAPE525, &SHAPE523, + &SHAPE524, &SHAPE525, &SHAPE526, &SHAPE527, &SHAPE528, &SHAPE526, &SHAPE527, &SHAPE528, + &SHAPE529, &SHAPE530, &SHAPE531, &SHAPE529, &SHAPE530, &SHAPE531, &SHAPE532, &SHAPE533, + &SHAPE534, &SHAPE532, &SHAPE533, &SHAPE534, &SHAPE535, &SHAPE536, &SHAPE537, &SHAPE535, + &SHAPE536, &SHAPE537, &SHAPE538, &SHAPE539, &SHAPE540, &SHAPE538, &SHAPE539, &SHAPE540, + &SHAPE541, &SHAPE542, &SHAPE543, &SHAPE541, &SHAPE542, &SHAPE543, &SHAPE544, &SHAPE545, + &SHAPE546, &SHAPE544, &SHAPE545, &SHAPE546, &SHAPE547, &SHAPE548, &SHAPE549, &SHAPE547, + &SHAPE548, &SHAPE549, &SHAPE550, &SHAPE551, &SHAPE552, &SHAPE550, &SHAPE551, &SHAPE552, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE36, &SHAPE36, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE760, &SHAPE1, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, + &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, &SHAPE232, + &SHAPE232, &SHAPE232, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, - &SHAPE1, &SHAPE1, + &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, &SHAPE1, ]; diff --git a/azalea-protocol/src/packets/game/c_add_experience_orb.rs b/azalea-protocol/src/packets/game/c_add_experience_orb.rs deleted file mode 100755 index 195ccc5ae..000000000 --- a/azalea-protocol/src/packets/game/c_add_experience_orb.rs +++ /dev/null @@ -1,11 +0,0 @@ -use azalea_buf::AzBuf; -use azalea_core::position::Vec3; -use azalea_protocol_macros::ClientboundGamePacket; - -#[derive(Clone, Debug, AzBuf, ClientboundGamePacket)] -pub struct ClientboundAddExperienceOrb { - #[var] - pub id: u32, - pub pos: Vec3, - pub value: u16, -} diff --git a/azalea-protocol/src/packets/game/mod.rs b/azalea-protocol/src/packets/game/mod.rs index e9c9e2a17..cf5bff9df 100755 --- a/azalea-protocol/src/packets/game/mod.rs +++ b/azalea-protocol/src/packets/game/mod.rs @@ -7,135 +7,134 @@ declare_state_packets!(GamePacket, Clientbound => [ bundle_delimiter, // 0x00 add_entity, // 0x01 - add_experience_orb, // 0x02 - animate, // 0x03 - award_stats, // 0x04 - block_changed_ack, // 0x05 - block_destruction, // 0x06 - block_entity_data, // 0x07 - block_event, // 0x08 - block_update, // 0x09 - boss_event, // 0x0A - change_difficulty, // 0x0B - chunk_batch_finished, // 0x0C - chunk_batch_start, // 0x0D - chunks_biomes, // 0x0E - clear_titles, // 0x0F - command_suggestions, // 0x10 - commands, // 0x11 - container_close, // 0x12 - container_set_content, // 0x13 - container_set_data, // 0x14 - container_set_slot, // 0x15 - cookie_request, // 0x16 - cooldown, // 0x17 - custom_chat_completions, // 0x18 - custom_payload, // 0x19 - damage_event, // 0x1A - debug_sample, // 0x1B - delete_chat, // 0x1C - disconnect, // 0x1D - disguised_chat, // 0x1E - entity_event, // 0x1F - entity_position_sync, // 0x20 - explode, // 0x21 - forget_level_chunk, // 0x22 - game_event, // 0x23 - horse_screen_open, // 0x24 - hurt_animation, // 0x25 - initialize_border, // 0x26 - keep_alive, // 0x27 - level_chunk_with_light, // 0x28 - level_event, // 0x29 - level_particles, // 0x2A - light_update, // 0x2B - login, // 0x2C - map_item_data, // 0x2D - merchant_offers, // 0x2E - move_entity_pos, // 0x2F - move_entity_pos_rot, // 0x30 - move_minecart_along_track, // 0x31 - move_entity_rot, // 0x32 - move_vehicle, // 0x33 - open_book, // 0x34 - open_screen, // 0x35 - open_sign_editor, // 0x36 - ping, // 0x37 - pong_response, // 0x38 - place_ghost_recipe, // 0x39 - player_abilities, // 0x3A - player_chat, // 0x3B - player_combat_end, // 0x3C - player_combat_enter, // 0x3D - player_combat_kill, // 0x3E - player_info_remove, // 0x3F - player_info_update, // 0x40 - player_look_at, // 0x41 - player_position, // 0x42 - player_rotation, // 0x43 - recipe_book_add, // 0x44 - recipe_book_remove, // 0x45 - recipe_book_settings, // 0x46 - remove_entities, // 0x47 - remove_mob_effect, // 0x48 - reset_score, // 0x49 - resource_pack_pop, // 0x4A - resource_pack_push, // 0x4B - respawn, // 0x4C - rotate_head, // 0x4D - section_blocks_update, // 0x4E - select_advancements_tab, // 0x4F - server_data, // 0x50 - set_action_bar_text, // 0x51 - set_border_center, // 0x52 - set_border_lerp_size, // 0x53 - set_border_size, // 0x54 - set_border_warning_delay, // 0x55 - set_border_warning_distance, // 0x56 - set_camera, // 0x57 - set_chunk_cache_center, // 0x58 - set_chunk_cache_radius, // 0x59 - set_cursor_item, // 0x5A - set_default_spawn_position, // 0x5B - set_display_objective, // 0x5C - set_entity_data, // 0x5D - set_entity_link, // 0x5E - set_entity_motion, // 0x5F - set_equipment, // 0x60 - set_experience, // 0x61 - set_health, // 0x62 - set_held_slot, // 0x63 - set_objective, // 0x64 - set_passengers, // 0x65 - set_player_inventory, // 0x66 - set_player_team, // 0x67 - set_score, // 0x68 - set_simulation_distance, // 0x69 - set_subtitle_text, // 0x6A - set_time, // 0x6B - set_title_text, // 0x6C - set_titles_animation, // 0x6D - sound_entity, // 0x6E - sound, // 0x6F - start_configuration, // 0x70 - stop_sound, // 0x71 - store_cookie, // 0x72 - system_chat, // 0x73 - tab_list, // 0x74 - tag_query, // 0x75 - take_item_entity, // 0x76 - teleport_entity, // 0x77 - ticking_state, // 0x78 - ticking_step, // 0x79 - transfer, // 0x7A - update_advancements, // 0x7B - update_attributes, // 0x7C - update_mob_effect, // 0x7D - update_recipes, // 0x7E - update_tags, // 0x7F - projectile_power, // 0x80 - custom_report_details, // 0x81 - server_links, // 0x82 + animate, // 0x02 + award_stats, // 0x03 + block_changed_ack, // 0x04 + block_destruction, // 0x05 + block_entity_data, // 0x06 + block_event, // 0x07 + block_update, // 0x08 + boss_event, // 0x09 + change_difficulty, // 0x0A + chunk_batch_finished, // 0x0B + chunk_batch_start, // 0x0C + chunks_biomes, // 0x0D + clear_titles, // 0x0E + command_suggestions, // 0x0F + commands, // 0x10 + container_close, // 0x11 + container_set_content, // 0x12 + container_set_data, // 0x13 + container_set_slot, // 0x14 + cookie_request, // 0x15 + cooldown, // 0x16 + custom_chat_completions, // 0x17 + custom_payload, // 0x18 + damage_event, // 0x19 + debug_sample, // 0x1A + delete_chat, // 0x1B + disconnect, // 0x1C + disguised_chat, // 0x1D + entity_event, // 0x1E + entity_position_sync, // 0x1F + explode, // 0x20 + forget_level_chunk, // 0x21 + game_event, // 0x22 + horse_screen_open, // 0x23 + hurt_animation, // 0x24 + initialize_border, // 0x25 + keep_alive, // 0x26 + level_chunk_with_light, // 0x27 + level_event, // 0x28 + level_particles, // 0x29 + light_update, // 0x2A + login, // 0x2B + map_item_data, // 0x2C + merchant_offers, // 0x2D + move_entity_pos, // 0x2E + move_entity_pos_rot, // 0x2F + move_minecart_along_track, // 0x30 + move_entity_rot, // 0x31 + move_vehicle, // 0x32 + open_book, // 0x33 + open_screen, // 0x34 + open_sign_editor, // 0x35 + ping, // 0x36 + pong_response, // 0x37 + place_ghost_recipe, // 0x38 + player_abilities, // 0x39 + player_chat, // 0x3A + player_combat_end, // 0x3B + player_combat_enter, // 0x3C + player_combat_kill, // 0x3D + player_info_remove, // 0x3E + player_info_update, // 0x3F + player_look_at, // 0x40 + player_position, // 0x41 + player_rotation, // 0x42 + recipe_book_add, // 0x43 + recipe_book_remove, // 0x44 + recipe_book_settings, // 0x45 + remove_entities, // 0x46 + remove_mob_effect, // 0x47 + reset_score, // 0x48 + resource_pack_pop, // 0x49 + resource_pack_push, // 0x4A + respawn, // 0x4B + rotate_head, // 0x4C + section_blocks_update, // 0x4D + select_advancements_tab, // 0x4E + server_data, // 0x4F + set_action_bar_text, // 0x50 + set_border_center, // 0x51 + set_border_lerp_size, // 0x52 + set_border_size, // 0x53 + set_border_warning_delay, // 0x54 + set_border_warning_distance, // 0x55 + set_camera, // 0x56 + set_chunk_cache_center, // 0x57 + set_chunk_cache_radius, // 0x58 + set_cursor_item, // 0x59 + set_default_spawn_position, // 0x5A + set_display_objective, // 0x5B + set_entity_data, // 0x5C + set_entity_link, // 0x5D + set_entity_motion, // 0x5E + set_equipment, // 0x5F + set_experience, // 0x60 + set_health, // 0x61 + set_held_slot, // 0x62 + set_objective, // 0x63 + set_passengers, // 0x64 + set_player_inventory, // 0x65 + set_player_team, // 0x66 + set_score, // 0x67 + set_simulation_distance, // 0x68 + set_subtitle_text, // 0x69 + set_time, // 0x6A + set_title_text, // 0x6B + set_titles_animation, // 0x6C + sound_entity, // 0x6D + sound, // 0x6E + start_configuration, // 0x6F + stop_sound, // 0x70 + store_cookie, // 0x71 + system_chat, // 0x72 + tab_list, // 0x73 + tag_query, // 0x74 + take_item_entity, // 0x75 + teleport_entity, // 0x76 + ticking_state, // 0x77 + ticking_step, // 0x78 + transfer, // 0x79 + update_advancements, // 0x7A + update_attributes, // 0x7B + update_mob_effect, // 0x7C + update_recipes, // 0x7D + update_tags, // 0x7E + projectile_power, // 0x7F + custom_report_details, // 0x80 + server_links, // 0x81 ], Serverbound => [ accept_teleportation, // 0x00 diff --git a/azalea-protocol/src/packets/mod.rs b/azalea-protocol/src/packets/mod.rs index 24a1437cb..87102de6b 100755 --- a/azalea-protocol/src/packets/mod.rs +++ b/azalea-protocol/src/packets/mod.rs @@ -11,8 +11,8 @@ use azalea_buf::{AzaleaReadVar, AzaleaWrite, AzaleaWriteVar, BufReadError}; use crate::read::ReadPacketError; -pub const PROTOCOL_VERSION: i32 = 769; -pub const VERSION_NAME: &str = "1.21.4"; +pub const PROTOCOL_VERSION: i32 = 1073742053; +pub const VERSION_NAME: &str = "25w02a"; #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] pub enum ConnectionProtocol { diff --git a/azalea-registry/src/extra.rs b/azalea-registry/src/extra.rs index 4b7e89a45..bf4d92690 100644 --- a/azalea-registry/src/extra.rs +++ b/azalea-registry/src/extra.rs @@ -27,6 +27,21 @@ impl Default for WolfVariant { } } +registry! { +enum PigVariant { + Temperate => "minecraft:pig", + Warm => "minecraft:warm_pig", + Cold => "minecraft:cold_pig", +} +} + +#[allow(clippy::derivable_impls)] +impl Default for PigVariant { + fn default() -> Self { + PigVariant::Temperate + } +} + registry! { enum DimensionType { Overworld => "minecraft:overworld", diff --git a/azalea-registry/src/lib.rs b/azalea-registry/src/lib.rs index ffead5b48..da4cbd811 100755 --- a/azalea-registry/src/lib.rs +++ b/azalea-registry/src/lib.rs @@ -1311,6 +1311,8 @@ enum Block { FloweringAzalea => "minecraft:flowering_azalea", MossCarpet => "minecraft:moss_carpet", PinkPetals => "minecraft:pink_petals", + Wildflowers => "minecraft:wildflowers", + LeafLitter => "minecraft:leaf_litter", MossBlock => "minecraft:moss_block", BigDripleaf => "minecraft:big_dripleaf", BigDripleafStem => "minecraft:big_dripleaf_stem", @@ -2194,6 +2196,8 @@ enum Item { SugarCane => "minecraft:sugar_cane", Kelp => "minecraft:kelp", PinkPetals => "minecraft:pink_petals", + Wildflowers => "minecraft:wildflowers", + LeafLitter => "minecraft:leaf_litter", MossCarpet => "minecraft:moss_carpet", MossBlock => "minecraft:moss_block", PaleMossCarpet => "minecraft:pale_moss_carpet", @@ -3690,6 +3694,7 @@ enum ParticleKind { Infested => "minecraft:infested", CherryLeaves => "minecraft:cherry_leaves", PaleOakLeaves => "minecraft:pale_oak_leaves", + TintedLeaves => "minecraft:tinted_leaves", SculkSoul => "minecraft:sculk_soul", SculkCharge => "minecraft:sculk_charge", SculkChargePop => "minecraft:sculk_charge_pop", @@ -4723,6 +4728,11 @@ enum SoundEvent { EntityIllusionerPrepareBlindness => "minecraft:entity.illusioner.prepare_blindness", EntityIllusionerPrepareMirror => "minecraft:entity.illusioner.prepare_mirror", ItemInkSacUse => "minecraft:item.ink_sac.use", + BlockIronBreak => "minecraft:block.iron.break", + BlockIronStep => "minecraft:block.iron.step", + BlockIronPlace => "minecraft:block.iron.place", + BlockIronHit => "minecraft:block.iron.hit", + BlockIronFall => "minecraft:block.iron.fall", BlockIronDoorClose => "minecraft:block.iron_door.close", BlockIronDoorOpen => "minecraft:block.iron_door.open", EntityIronGolemAttack => "minecraft:entity.iron_golem.attack", @@ -4755,6 +4765,11 @@ enum SoundEvent { BlockLavaAmbient => "minecraft:block.lava.ambient", BlockLavaExtinguish => "minecraft:block.lava.extinguish", BlockLavaPop => "minecraft:block.lava.pop", + BlockLeafLitterBreak => "minecraft:block.leaf_litter.break", + BlockLeafLitterStep => "minecraft:block.leaf_litter.step", + BlockLeafLitterPlace => "minecraft:block.leaf_litter.place", + BlockLeafLitterHit => "minecraft:block.leaf_litter.hit", + BlockLeafLitterFall => "minecraft:block.leaf_litter.fall", EntityLeashKnotBreak => "minecraft:entity.leash_knot.break", EntityLeashKnotPlace => "minecraft:entity.leash_knot.place", BlockLeverClick => "minecraft:block.lever.click", @@ -5993,6 +6008,7 @@ enum WorldgenTreeDecoratorKind { Beehive => "minecraft:beehive", AlterGround => "minecraft:alter_ground", AttachedToLeaves => "minecraft:attached_to_leaves", + PlaceOnGround => "minecraft:place_on_ground", } } @@ -6217,6 +6233,7 @@ enum BlockKind { Lantern => "minecraft:lantern", LavaCauldron => "minecraft:lava_cauldron", LayeredCauldron => "minecraft:layered_cauldron", + LeafLitter => "minecraft:leaf_litter", Leaves => "minecraft:leaves", Lectern => "minecraft:lectern", Lever => "minecraft:lever", @@ -6242,8 +6259,7 @@ enum BlockKind { Nylium => "minecraft:nylium", Observer => "minecraft:observer", Piglinwallskull => "minecraft:piglinwallskull", - ParticleLeaves => "minecraft:particle_leaves", - PinkPetals => "minecraft:pink_petals", + FlowerBed => "minecraft:flower_bed", PistonBase => "minecraft:piston_base", PistonHead => "minecraft:piston_head", PitcherCrop => "minecraft:pitcher_crop", @@ -6467,6 +6483,7 @@ enum DataComponentKind { UseCooldown => "minecraft:use_cooldown", DamageResistant => "minecraft:damage_resistant", Tool => "minecraft:tool", + Weapon => "minecraft:weapon", Enchantable => "minecraft:enchantable", Equippable => "minecraft:equippable", Repairable => "minecraft:repairable", @@ -6482,6 +6499,7 @@ enum DataComponentKind { ChargedProjectiles => "minecraft:charged_projectiles", BundleContents => "minecraft:bundle_contents", PotionContents => "minecraft:potion_contents", + PotionDurationScale => "minecraft:potion_duration_scale", SuspiciousStewEffects => "minecraft:suspicious_stew_effects", WritableBookContent => "minecraft:writable_book_content", WrittenBookContent => "minecraft:written_book_content", @@ -6532,6 +6550,7 @@ enum EntitySubPredicateKind { Cat => "minecraft:cat", Frog => "minecraft:frog", Wolf => "minecraft:wolf", + Pig => "minecraft:pig", } } @@ -6773,3 +6792,16 @@ enum SlotDisplay { Composite => "minecraft:composite", } } + +registry! { +enum TicketKind { + Start => "minecraft:start", + Dragon => "minecraft:dragon", + PlayerLoading => "minecraft:player_loading", + PlayerSimulation => "minecraft:player_simulation", + Forced => "minecraft:forced", + Portal => "minecraft:portal", + EnderPearl => "minecraft:ender_pearl", + Unknown => "minecraft:unknown", +} +} diff --git a/azalea-registry/src/tags/blocks.rs b/azalea-registry/src/tags/blocks.rs index 08def1b3b..ad2dd244b 100644 --- a/azalea-registry/src/tags/blocks.rs +++ b/azalea-registry/src/tags/blocks.rs @@ -360,6 +360,7 @@ pub static BEE_ATTRACTIVE: LazyLock> = LazyLock::new(|| { Block::MangrovePropagule, Block::CherryLeaves, Block::PinkPetals, + Block::Wildflowers, Block::ChorusFlower, Block::SporeBlossom, ]) @@ -383,9 +384,6 @@ pub static BEEHIVES: LazyLock> = LazyLock::new(|| HashSet::from_iter(vec![Block::BeeNest, Block::Beehive])); pub static BIG_DRIPLEAF_PLACEABLE: LazyLock> = LazyLock::new(|| { HashSet::from_iter(vec![ - Block::Farmland, - Block::Clay, - Block::MossBlock, Block::Dirt, Block::GrassBlock, Block::Podzol, @@ -393,9 +391,11 @@ pub static BIG_DRIPLEAF_PLACEABLE: LazyLock> = LazyLock::new(|| { Block::Mycelium, Block::RootedDirt, Block::MossBlock, - Block::PaleMossBlock, Block::Mud, Block::MuddyMangroveRoots, + Block::Farmland, + Block::Clay, + Block::MossBlock, ]) }); pub static BIRCH_LOGS: LazyLock> = LazyLock::new(|| { @@ -1061,6 +1061,7 @@ pub static FLOWERS: LazyLock> = LazyLock::new(|| { Block::MangrovePropagule, Block::CherryLeaves, Block::PinkPetals, + Block::Wildflowers, Block::ChorusFlower, Block::SporeBlossom, Block::Dandelion, @@ -1439,6 +1440,8 @@ pub static INSIDE_STEP_SOUND_BLOCKS: LazyLock> = LazyLock::new(|| Block::LilyPad, Block::SmallAmethystBud, Block::PinkPetals, + Block::Wildflowers, + Block::LeafLitter, ]) }); pub static INVALID_SPAWN_INSIDE: LazyLock> = @@ -3001,6 +3004,61 @@ pub static REPLACEABLE: LazyLock> = LazyLock::new(|| { Block::HangingRoots, ]) }); +pub static REPLACEABLE_BY_MUSHROOMS: LazyLock> = LazyLock::new(|| { + HashSet::from_iter(vec![ + Block::PaleMossCarpet, + Block::ShortGrass, + Block::Fern, + Block::DeadBush, + Block::Vine, + Block::GlowLichen, + Block::Sunflower, + Block::Lilac, + Block::RoseBush, + Block::Peony, + Block::TallGrass, + Block::LargeFern, + Block::HangingRoots, + Block::PitcherPlant, + Block::Water, + Block::Seagrass, + Block::TallSeagrass, + Block::BrownMushroom, + Block::RedMushroom, + Block::BrownMushroomBlock, + Block::RedMushroomBlock, + Block::WarpedRoots, + Block::NetherSprouts, + Block::CrimsonRoots, + Block::JungleLeaves, + Block::OakLeaves, + Block::SpruceLeaves, + Block::PaleOakLeaves, + Block::DarkOakLeaves, + Block::AcaciaLeaves, + Block::BirchLeaves, + Block::AzaleaLeaves, + Block::FloweringAzaleaLeaves, + Block::MangroveLeaves, + Block::CherryLeaves, + Block::Dandelion, + Block::OpenEyeblossom, + Block::Poppy, + Block::BlueOrchid, + Block::Allium, + Block::AzureBluet, + Block::RedTulip, + Block::OrangeTulip, + Block::WhiteTulip, + Block::PinkTulip, + Block::OxeyeDaisy, + Block::Cornflower, + Block::LilyOfTheValley, + Block::WitherRose, + Block::Torchflower, + Block::ClosedEyeblossom, + ]) +}); pub static REPLACEABLE_BY_TREES: LazyLock> = LazyLock::new(|| { HashSet::from_iter(vec![ Block::PaleMossCarpet, @@ -3023,6 +3081,7 @@ pub static REPLACEABLE_BY_TREES: LazyLock> = LazyLock::new(|| { Block::WarpedRoots, Block::NetherSprouts, Block::CrimsonRoots, + Block::LeafLitter, Block::JungleLeaves, Block::OakLeaves, Block::SpruceLeaves, @@ -3563,6 +3622,8 @@ pub static SWORD_EFFICIENT: LazyLock> = LazyLock::new(|| { Block::PitcherCrop, ]) }); +pub static SWORD_INSTANTLY_MINES: LazyLock> = + LazyLock::new(|| HashSet::from_iter(vec![Block::Bamboo, Block::BambooSapling])); pub static TERRACOTTA: LazyLock> = LazyLock::new(|| { HashSet::from_iter(vec![ Block::Terracotta, diff --git a/azalea-registry/src/tags/items.rs b/azalea-registry/src/tags/items.rs index f7ec01a55..e12d2f8a4 100644 --- a/azalea-registry/src/tags/items.rs +++ b/azalea-registry/src/tags/items.rs @@ -108,6 +108,7 @@ pub static BEE_FOOD: LazyLock> = LazyLock::new(|| { Item::MangrovePropagule, Item::CherryLeaves, Item::PinkPetals, + Item::Wildflowers, Item::ChorusFlower, Item::SporeBlossom, ]) @@ -144,6 +145,8 @@ pub static BOATS: LazyLock> = LazyLock::new(|| { Item::CherryChestBoat, ]) }); +pub static BOOK_CLONING_TARGET: LazyLock> = + LazyLock::new(|| HashSet::from_iter(vec![Item::WritableBook])); pub static BOOKSHELF_BOOKS: LazyLock> = LazyLock::new(|| { HashSet::from_iter(vec![ Item::Book, diff --git a/codegen/lib/code/entity.py b/codegen/lib/code/entity.py index 1d15bd0b8..8774894ff 100644 --- a/codegen/lib/code/entity.py +++ b/codegen/lib/code/entity.py @@ -427,7 +427,7 @@ def generate_fields(this_entity_id: str): default = f'BlockPos::new{default}' elif type_name == 'OptionalBlockPos': # Option default = f'Some(BlockPos::new{default})' if default != 'Empty' else 'None' - elif type_name == 'OptionalUuid': + elif type_name == 'OptionalLivingEntityReference': default = f'Some(uuid::uuid!({default}))' if default != 'Empty' else 'None' elif type_name == 'OptionalUnsignedInt': default = f'OptionalUnsignedInt(Some({default}))' if default != 'Empty' else 'OptionalUnsignedInt(None)' diff --git a/codegen/migrate.py b/codegen/migrate.py index 53d5b588c..51f6e6112 100755 --- a/codegen/migrate.py +++ b/codegen/migrate.py @@ -1,3 +1,4 @@ +from codegen import genitemcomponents import lib.code.inventory import lib.code.language import lib.code.registry @@ -60,10 +61,13 @@ import genregistries genregistries.generate(new_version_id) -# print('Generating entity metadata...') +print('Generating entity metadata...') burger_entities_data = new_burger_data[0]['entities'] lib.code.entity.generate_entity_metadata(burger_entities_data, new_mappings) +print('Generating item components...') +genitemcomponents.generate(version_id) + print('Finishing touches, setting version in README and formatting code...') lib.code.version.set_version_id(new_version_id)