1#![allow(clippy::all, clippy::pedantic, clippy::nursery, missing_docs)]
7
8use crate::common::*;
9use crate::v1_12::{Material, MaterialKind};
10
11pub(crate) static BLOCKS: [BlockInfo; 254] = [
12 BlockInfo { id: 0, name: "air", display_name: "Air", hardness: Some(0.0), resistance: 0.0, stack_size: 0, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[Drop { item: 0, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
13 BlockInfo { id: 1, name: "stone", display_name: "Stone", hardness: Some(1.5), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 4, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
14 BlockInfo { id: 2, name: "grass", display_name: "Grass Block", hardness: Some(0.6), resistance: 0.6, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[], drops: &[Drop { item: 3, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
15 BlockInfo { id: 3, name: "dirt", display_name: "Dirt", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[], drops: &[Drop { item: 3, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
16 BlockInfo { id: 4, name: "cobblestone", display_name: "Cobblestone", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 4, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
17 BlockInfo { id: 5, name: "planks", display_name: "Wood Planks", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 5, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
18 BlockInfo { id: 6, name: "sapling", display_name: "Sapling", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 6, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
19 BlockInfo { id: 7, name: "bedrock", display_name: "Bedrock", hardness: None, resistance: 3600000.0, stack_size: 64, diggable: false, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
20 BlockInfo { id: 8, name: "flowing_water", display_name: "Water", hardness: Some(100.0), resistance: 100.0, stack_size: 0, diggable: false, transparent: true, emit_light: 0, filter_light: 2, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0002) } },
21 BlockInfo { id: 9, name: "water", display_name: "Stationary Water", hardness: Some(100.0), resistance: 100.0, stack_size: 0, diggable: false, transparent: true, emit_light: 0, filter_light: 2, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0002) } },
22 BlockInfo { id: 10, name: "flowing_lava", display_name: "Lava", hardness: Some(100.0), resistance: 100.0, stack_size: 0, diggable: false, transparent: true, emit_light: 15, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0004) } },
23 BlockInfo { id: 11, name: "lava", display_name: "Stationary Lava", hardness: Some(100.0), resistance: 100.0, stack_size: 0, diggable: false, transparent: true, emit_light: 15, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0004) } },
24 BlockInfo { id: 12, name: "sand", display_name: "Sand", hardness: Some(0.5), resistance: 0.5, stack_size: 0, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[], drops: &[Drop { item: 12, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
25 BlockInfo { id: 13, name: "gravel", display_name: "Gravel", hardness: Some(0.6), resistance: 0.6, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[], drops: &[Drop { item: 13, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
26 BlockInfo { id: 14, name: "gold_ore", display_name: "Gold Ore", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 278], drops: &[Drop { item: 14, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
27 BlockInfo { id: 15, name: "iron_ore", display_name: "Iron Ore", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 274, 278], drops: &[Drop { item: 15, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
28 BlockInfo { id: 16, name: "coal_ore", display_name: "Coal Ore", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 263, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
29 BlockInfo { id: 17, name: "log", display_name: "Wood", hardness: Some(2.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 17, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
30 BlockInfo { id: 18, name: "leaves", display_name: "Leaves", hardness: Some(0.2), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 6, meta: None, min: 0, max: 1 }, Drop { item: 260, meta: None, min: 0, max: 1 }], physics: BlockPhysics::DEFAULT },
31 BlockInfo { id: 19, name: "sponge", display_name: "Sponge", hardness: Some(0.6), resistance: 0.6, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 19, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
32 BlockInfo { id: 20, name: "glass", display_name: "Glass", hardness: Some(0.3), resistance: 0.3, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
33 BlockInfo { id: 21, name: "lapis_ore", display_name: "Lapis Lazuli Ore", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 274, 278], drops: &[Drop { item: 351, meta: Some(4), min: 4, max: 8 }], physics: BlockPhysics::DEFAULT },
34 BlockInfo { id: 22, name: "lapis_block", display_name: "Lapis Lazuli Block", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 274, 278], drops: &[Drop { item: 22, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
35 BlockInfo { id: 23, name: "dispenser", display_name: "Dispenser", hardness: Some(3.5), resistance: 3.5, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 23, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
36 BlockInfo { id: 24, name: "sandstone", display_name: "Sandstone", hardness: Some(0.8), resistance: 0.8, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 24, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
37 BlockInfo { id: 25, name: "noteblock", display_name: "Note Block", hardness: Some(0.8), resistance: 0.8, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 25, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
38 BlockInfo { id: 26, name: "bed", display_name: "Bed", hardness: Some(0.2), resistance: 0.2, stack_size: 1, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 26, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0020) } },
39 BlockInfo { id: 27, name: "golden_rail", display_name: "Powered Rail", hardness: Some(0.7), resistance: 0.7, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Rock), harvest_tools: &[], drops: &[Drop { item: 27, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
40 BlockInfo { id: 28, name: "detector_rail", display_name: "Detector Rail", hardness: Some(0.7), resistance: 0.7, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Rock), harvest_tools: &[], drops: &[Drop { item: 28, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
41 BlockInfo { id: 29, name: "sticky_piston", display_name: "Sticky Piston", hardness: Some(0.5), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 29, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
42 BlockInfo { id: 30, name: "web", display_name: "Cobweb", hardness: Some(4.0), resistance: 4.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Web), harvest_tools: &[267, 268, 272, 276, 283, 359], drops: &[Drop { item: 287, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [0.25, 0.05000000074505806, 0.25], flags: PhysicsFlags(0x0008) } },
43 BlockInfo { id: 31, name: "tallgrass", display_name: "Grass", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 295, meta: None, min: 0, max: 1 }], physics: BlockPhysics::DEFAULT },
44 BlockInfo { id: 32, name: "deadbush", display_name: "Dead Bush", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 280, meta: None, min: 0, max: 2 }], physics: BlockPhysics::DEFAULT },
45 BlockInfo { id: 33, name: "piston", display_name: "Piston", hardness: Some(0.5), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 33, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
46 BlockInfo { id: 34, name: "piston_head", display_name: "Piston Head", hardness: Some(0.5), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 34, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
47 BlockInfo { id: 35, name: "wool", display_name: "Wool", hardness: Some(0.8), resistance: 0.8, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wool), harvest_tools: &[], drops: &[Drop { item: 35, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
48 BlockInfo { id: 36, name: "piston_extension", display_name: "Block moved by Piston", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[Drop { item: 36, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
49 BlockInfo { id: 37, name: "yellow_flower", display_name: "Dandelion", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 37, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
50 BlockInfo { id: 38, name: "red_flower", display_name: "Poppy", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 38, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
51 BlockInfo { id: 39, name: "brown_mushroom", display_name: "Mushroom", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 1, filter_light: 15, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 39, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
52 BlockInfo { id: 40, name: "red_mushroom", display_name: "Mushroom", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 1, filter_light: 15, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 40, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
53 BlockInfo { id: 41, name: "gold_block", display_name: "Block of Gold", hardness: Some(3.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 278], drops: &[Drop { item: 41, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
54 BlockInfo { id: 42, name: "iron_block", display_name: "Block of Iron", hardness: Some(5.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 274, 278], drops: &[Drop { item: 42, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
55 BlockInfo { id: 43, name: "double_stone_slab", display_name: "Double Stone Slab", hardness: Some(0.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 44, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
56 BlockInfo { id: 44, name: "stone_slab", display_name: "Stone Slab", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 44, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
57 BlockInfo { id: 45, name: "brick_block", display_name: "Bricks", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 45, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
58 BlockInfo { id: 46, name: "tnt", display_name: "TNT", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 46, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
59 BlockInfo { id: 47, name: "bookshelf", display_name: "Bookshelf", hardness: Some(1.5), resistance: 1.5, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 340, meta: None, min: 3, max: 3 }], physics: BlockPhysics::DEFAULT },
60 BlockInfo { id: 48, name: "mossy_cobblestone", display_name: "Moss Stone", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 48, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
61 BlockInfo { id: 49, name: "obsidian", display_name: "Obsidian", hardness: Some(50.0), resistance: 1200.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[278], drops: &[Drop { item: 49, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
62 BlockInfo { id: 50, name: "torch", display_name: "Torch", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 14, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[Drop { item: 50, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
63 BlockInfo { id: 51, name: "fire", display_name: "Fire", hardness: Some(0.0), resistance: 0.0, stack_size: 0, diggable: true, transparent: true, emit_light: 15, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
64 BlockInfo { id: 52, name: "mob_spawner", display_name: "Monster Spawner", hardness: Some(5.0), resistance: 5.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[], physics: BlockPhysics::DEFAULT },
65 BlockInfo { id: 53, name: "oak_stairs", display_name: "Oak Wood Stairs", hardness: Some(2.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 53, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
66 BlockInfo { id: 54, name: "chest", display_name: "Chest", hardness: Some(2.5), resistance: 2.5, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 54, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
67 BlockInfo { id: 55, name: "redstone_wire", display_name: "Redstone Wire", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[Drop { item: 331, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
68 BlockInfo { id: 56, name: "diamond_ore", display_name: "Diamond Ore", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 278], drops: &[Drop { item: 264, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
69 BlockInfo { id: 57, name: "diamond_block", display_name: "Block of Diamond", hardness: Some(5.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 278], drops: &[Drop { item: 57, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
70 BlockInfo { id: 58, name: "crafting_table", display_name: "Crafting Table", hardness: Some(2.5), resistance: 2.5, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 58, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
71 BlockInfo { id: 59, name: "wheat", display_name: "Wheat", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 295, meta: None, min: 1, max: 1 }, Drop { item: 295, meta: None, min: 0, max: 3 }, Drop { item: 296, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
72 BlockInfo { id: 60, name: "farmland", display_name: "Farmland", hardness: Some(0.6), resistance: 0.6, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[], drops: &[Drop { item: 3, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
73 BlockInfo { id: 61, name: "furnace", display_name: "Furnace", hardness: Some(3.5), resistance: 3.5, stack_size: 64, diggable: true, transparent: true, emit_light: 13, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 61, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
74 BlockInfo { id: 62, name: "lit_furnace", display_name: "Burning Furnace", hardness: Some(3.5), resistance: 3.5, stack_size: 64, diggable: true, transparent: true, emit_light: 13, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 61, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
75 BlockInfo { id: 63, name: "standing_sign", display_name: "Standing Sign", hardness: Some(1.0), resistance: 1.0, stack_size: 16, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 323, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
76 BlockInfo { id: 64, name: "wooden_door", display_name: "Oak Door", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 64, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
77 BlockInfo { id: 65, name: "ladder", display_name: "Ladder", hardness: Some(0.4), resistance: 0.4, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 65, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0001) } },
78 BlockInfo { id: 66, name: "rail", display_name: "Rail", hardness: Some(0.7), resistance: 0.7, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Rock), harvest_tools: &[], drops: &[Drop { item: 66, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
79 BlockInfo { id: 67, name: "stone_stairs", display_name: "Cobblestone Stairs", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 67, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
80 BlockInfo { id: 68, name: "wall_sign", display_name: "Wall Sign", hardness: Some(1.0), resistance: 1.0, stack_size: 16, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 323, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
81 BlockInfo { id: 69, name: "lever", display_name: "Lever", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[Drop { item: 69, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
82 BlockInfo { id: 70, name: "stone_pressure_plate", display_name: "Stone Pressure Plate", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 70, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
83 BlockInfo { id: 71, name: "iron_door", display_name: "Iron Door", hardness: Some(5.0), resistance: 5.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 71, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
84 BlockInfo { id: 72, name: "wooden_pressure_plate", display_name: "Wooden Pressure Plate", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 72, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
85 BlockInfo { id: 73, name: "redstone_ore", display_name: "Redstone Ore", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 9, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 278], drops: &[Drop { item: 331, meta: None, min: 4, max: 5 }], physics: BlockPhysics::DEFAULT },
86 BlockInfo { id: 74, name: "lit_redstone_ore", display_name: "Glowing Redstone Ore", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 9, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 278], drops: &[Drop { item: 331, meta: None, min: 4, max: 5 }], physics: BlockPhysics::DEFAULT },
87 BlockInfo { id: 75, name: "unlit_redstone_torch", display_name: "Redstone Torch (inactive)", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 7, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[Drop { item: 75, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
88 BlockInfo { id: 76, name: "redstone_torch", display_name: "Redstone Torch (active)", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 7, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[Drop { item: 76, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
89 BlockInfo { id: 77, name: "stone_button", display_name: "Stone Button", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Rock), harvest_tools: &[], drops: &[Drop { item: 77, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
90 BlockInfo { id: 78, name: "snow_layer", display_name: "Snow", hardness: Some(0.2), resistance: 0.1, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[256, 269, 273, 277, 284], drops: &[Drop { item: 332, meta: None, min: 2, max: 9 }], physics: BlockPhysics::DEFAULT },
91 BlockInfo { id: 79, name: "ice", display_name: "Ice", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[], drops: &[], physics: BlockPhysics { slipperiness: 0.98, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0000) } },
92 BlockInfo { id: 80, name: "snow", display_name: "Snow", hardness: Some(0.2), resistance: 0.2, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[256, 269, 273, 277, 284], drops: &[Drop { item: 332, meta: None, min: 4, max: 4 }], physics: BlockPhysics::DEFAULT },
93 BlockInfo { id: 81, name: "cactus", display_name: "Cactus", hardness: Some(0.4), resistance: 0.4, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 81, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
94 BlockInfo { id: 82, name: "clay", display_name: "Clay", hardness: Some(0.6), resistance: 0.6, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[], drops: &[Drop { item: 337, meta: None, min: 4, max: 4 }], physics: BlockPhysics::DEFAULT },
95 BlockInfo { id: 83, name: "reeds", display_name: "Sugar Cane", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 83, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
96 BlockInfo { id: 84, name: "jukebox", display_name: "Jukebox", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 84, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
97 BlockInfo { id: 85, name: "fence", display_name: "Oak Fence", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 85, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0200) } },
98 BlockInfo { id: 86, name: "pumpkin", display_name: "Pumpkin", hardness: Some(1.0), resistance: 1.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 86, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
99 BlockInfo { id: 87, name: "netherrack", display_name: "Netherrack", hardness: Some(0.4), resistance: 0.4, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 87, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
100 BlockInfo { id: 88, name: "soul_sand", display_name: "Soul Sand", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[], drops: &[Drop { item: 88, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 0.4, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0100) } },
101 BlockInfo { id: 89, name: "glowstone", display_name: "Glowstone", hardness: Some(0.3), resistance: 0.3, stack_size: 64, diggable: true, transparent: true, emit_light: 15, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 348, meta: None, min: 2, max: 4 }], physics: BlockPhysics::DEFAULT },
102 BlockInfo { id: 90, name: "portal", display_name: "Nether Portal", hardness: None, resistance: -1.0, stack_size: 0, diggable: false, transparent: true, emit_light: 11, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
103 BlockInfo { id: 91, name: "lit_pumpkin", display_name: "Jack o'Lantern", hardness: Some(1.0), resistance: 1.0, stack_size: 64, diggable: true, transparent: true, emit_light: 15, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 91, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
104 BlockInfo { id: 92, name: "cake", display_name: "Cake", hardness: Some(0.5), resistance: 0.5, stack_size: 1, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
105 BlockInfo { id: 93, name: "unpowered_repeater", display_name: "Redstone Repeater", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 356, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
106 BlockInfo { id: 94, name: "powered_repeater", display_name: "Redstone Repeater", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 356, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
107 BlockInfo { id: 95, name: "stained_glass", display_name: "Stained Glass", hardness: Some(0.3), resistance: 0.3, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
108 BlockInfo { id: 96, name: "trapdoor", display_name: "Wooden Trapdoor", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 96, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x1000) } },
109 BlockInfo { id: 97, name: "monster_egg", display_name: "Monster Egg", hardness: Some(0.75), resistance: 0.75, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
110 BlockInfo { id: 98, name: "stonebrick", display_name: "Stone Bricks", hardness: Some(1.5), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 98, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
111 BlockInfo { id: 99, name: "brown_mushroom_block", display_name: "Mushroom", hardness: Some(0.0), resistance: 0.2, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 40, meta: None, min: 0, max: 2 }], physics: BlockPhysics::DEFAULT },
112 BlockInfo { id: 100, name: "red_mushroom_block", display_name: "Mushroom", hardness: Some(0.0), resistance: 0.2, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 40, meta: None, min: 0, max: 2 }], physics: BlockPhysics::DEFAULT },
113 BlockInfo { id: 101, name: "iron_bars", display_name: "Iron Bars", hardness: Some(5.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 101, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
114 BlockInfo { id: 102, name: "glass_pane", display_name: "Glass Pane", hardness: Some(0.3), resistance: 0.3, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
115 BlockInfo { id: 103, name: "melon_block", display_name: "Melon", hardness: Some(1.0), resistance: 1.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 360, meta: None, min: 3, max: 7 }], physics: BlockPhysics::DEFAULT },
116 BlockInfo { id: 104, name: "pumpkin_stem", display_name: "Pumpkin Stem", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 361, meta: None, min: 0, max: 3 }], physics: BlockPhysics::DEFAULT },
117 BlockInfo { id: 105, name: "melon_stem", display_name: "Melon Stem", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 362, meta: None, min: 0, max: 3 }], physics: BlockPhysics::DEFAULT },
118 BlockInfo { id: 106, name: "vine", display_name: "Vines", hardness: Some(0.2), resistance: 0.2, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 106, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0001) } },
119 BlockInfo { id: 107, name: "fence_gate", display_name: "Fence Gate", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 107, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0800) } },
120 BlockInfo { id: 108, name: "brick_stairs", display_name: "Brick Stairs", hardness: Some(2.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 108, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
121 BlockInfo { id: 109, name: "stone_brick_stairs", display_name: "Stone Brick Stairs", hardness: Some(1.5), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 109, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
122 BlockInfo { id: 110, name: "mycelium", display_name: "Mycelium", hardness: Some(0.6), resistance: 0.6, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[], drops: &[Drop { item: 3, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
123 BlockInfo { id: 111, name: "waterlily", display_name: "Lily Pad", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 111, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
124 BlockInfo { id: 112, name: "nether_brick", display_name: "Nether Brick", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 112, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
125 BlockInfo { id: 113, name: "nether_brick_fence", display_name: "Nether Brick Fence", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 113, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0200) } },
126 BlockInfo { id: 114, name: "nether_brick_stairs", display_name: "Nether Brick Stairs", hardness: Some(2.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 114, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
127 BlockInfo { id: 115, name: "nether_wart", display_name: "Nether Wart", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 372, meta: None, min: 1, max: 1 }, Drop { item: 372, meta: None, min: 2, max: 4 }], physics: BlockPhysics::DEFAULT },
128 BlockInfo { id: 116, name: "enchanting_table", display_name: "Enchantment Table", hardness: Some(5.0), resistance: 1200.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 116, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
129 BlockInfo { id: 117, name: "brewing_stand", display_name: "Brewing Stand", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: true, emit_light: 1, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 379, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
130 BlockInfo { id: 118, name: "cauldron", display_name: "Cauldron", hardness: Some(2.0), resistance: 2.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 380, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
131 BlockInfo { id: 119, name: "end_portal", display_name: "End Portal", hardness: None, resistance: 3600000.0, stack_size: 0, diggable: false, transparent: true, emit_light: 15, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
132 BlockInfo { id: 120, name: "end_portal_frame", display_name: "End Portal", hardness: None, resistance: 3600000.0, stack_size: 64, diggable: false, transparent: true, emit_light: 1, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 120, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
133 BlockInfo { id: 121, name: "end_stone", display_name: "End Stone", hardness: Some(3.0), resistance: 9.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 121, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
134 BlockInfo { id: 122, name: "dragon_egg", display_name: "Dragon Egg", hardness: Some(3.0), resistance: 9.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 122, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
135 BlockInfo { id: 123, name: "redstone_lamp", display_name: "Redstone Lamp", hardness: Some(0.3), resistance: 0.3, stack_size: 64, diggable: true, transparent: true, emit_light: 15, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 123, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
136 BlockInfo { id: 124, name: "lit_redstone_lamp", display_name: "Redstone Lamp", hardness: Some(0.3), resistance: 0.3, stack_size: 64, diggable: true, transparent: true, emit_light: 15, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 124, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
137 BlockInfo { id: 125, name: "double_wooden_slab", display_name: "Double Wooden Slab", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 44, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
138 BlockInfo { id: 126, name: "wooden_slab", display_name: "Wooden Slab", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 44, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
139 BlockInfo { id: 127, name: "cocoa", display_name: "Cocoa", hardness: Some(0.2), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 351, meta: Some(3), min: 1, max: 1 }, Drop { item: 351, meta: Some(3), min: 3, max: 3 }], physics: BlockPhysics::DEFAULT },
140 BlockInfo { id: 128, name: "sandstone_stairs", display_name: "Sandstone Stairs", hardness: Some(0.8), resistance: 0.8, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 128, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
141 BlockInfo { id: 129, name: "emerald_ore", display_name: "Emerald Ore", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 278], drops: &[Drop { item: 388, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
142 BlockInfo { id: 130, name: "ender_chest", display_name: "Ender Chest", hardness: Some(22.5), resistance: 600.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 49, meta: None, min: 8, max: 8 }], physics: BlockPhysics::DEFAULT },
143 BlockInfo { id: 131, name: "tripwire_hook", display_name: "Tripwire Hook", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[Drop { item: 131, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
144 BlockInfo { id: 132, name: "tripwire", display_name: "Tripwire", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[Drop { item: 287, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
145 BlockInfo { id: 133, name: "emerald_block", display_name: "Block of Emerald", hardness: Some(5.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 278], drops: &[Drop { item: 133, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
146 BlockInfo { id: 134, name: "spruce_stairs", display_name: "Spruce Wood Stairs", hardness: Some(2.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 134, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
147 BlockInfo { id: 135, name: "birch_stairs", display_name: "Birch Wood Stairs", hardness: Some(2.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 135, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
148 BlockInfo { id: 136, name: "jungle_stairs", display_name: "Jungle Wood Stairs", hardness: Some(2.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 136, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
149 BlockInfo { id: 137, name: "command_block", display_name: "Command Block", hardness: None, resistance: 3600000.0, stack_size: 64, diggable: false, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
150 BlockInfo { id: 138, name: "beacon", display_name: "Beacon", hardness: Some(3.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 15, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 138, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
151 BlockInfo { id: 139, name: "cobblestone_wall", display_name: "Cobblestone Wall", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 139, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0400) } },
152 BlockInfo { id: 140, name: "flower_pot", display_name: "Flower Pot", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 140, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
153 BlockInfo { id: 141, name: "carrots", display_name: "Carrot", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 141, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
154 BlockInfo { id: 142, name: "potatoes", display_name: "Potato", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 142, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
155 BlockInfo { id: 143, name: "wooden_button", display_name: "Wooden Button", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 143, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
156 BlockInfo { id: 144, name: "skull", display_name: "Mob head", hardness: Some(1.0), resistance: 1.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 144, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
157 BlockInfo { id: 145, name: "anvil", display_name: "Anvil", hardness: Some(5.0), resistance: 1200.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 145, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
158 BlockInfo { id: 146, name: "trapped_chest", display_name: "Trapped Chest", hardness: Some(2.5), resistance: 2.5, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 146, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
159 BlockInfo { id: 147, name: "light_weighted_pressure_plate", display_name: "Weighted Pressure Plate (Light)", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 147, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
160 BlockInfo { id: 148, name: "heavy_weighted_pressure_plate", display_name: "Weighted Pressure Plate (Heavy)", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 148, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
161 BlockInfo { id: 149, name: "unpowered_comparator", display_name: "Redstone Comparator", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 404, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
162 BlockInfo { id: 150, name: "powered_comparator", display_name: "Redstone Comparator (deprecated)", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 404, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
163 BlockInfo { id: 151, name: "daylight_detector", display_name: "Daylight Sensor", hardness: Some(0.2), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 151, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
164 BlockInfo { id: 152, name: "redstone_block", display_name: "Block of Redstone", hardness: Some(5.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 152, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
165 BlockInfo { id: 153, name: "quartz_ore", display_name: "Nether Quartz Ore", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 406, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
166 BlockInfo { id: 154, name: "hopper", display_name: "Hopper", hardness: Some(3.0), resistance: 4.8, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 154, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
167 BlockInfo { id: 155, name: "quartz_block", display_name: "Block of Quartz", hardness: Some(0.8), resistance: 0.8, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 155, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
168 BlockInfo { id: 156, name: "quartz_stairs", display_name: "Quartz Stairs", hardness: Some(0.8), resistance: 0.8, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 156, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
169 BlockInfo { id: 157, name: "activator_rail", display_name: "Activator Rail", hardness: Some(0.7), resistance: 0.7, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Rock), harvest_tools: &[], drops: &[Drop { item: 157, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
170 BlockInfo { id: 158, name: "dropper", display_name: "Dropper", hardness: Some(3.5), resistance: 3.5, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 158, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
171 BlockInfo { id: 159, name: "stained_hardened_clay", display_name: "Stained Clay", hardness: Some(1.25), resistance: 4.2, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 159, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
172 BlockInfo { id: 160, name: "stained_glass_pane", display_name: "Stained Glass Pane", hardness: Some(0.3), resistance: 0.3, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
173 BlockInfo { id: 161, name: "leaves2", display_name: "Leaves (Acacia/Dark Oak)", hardness: Some(0.2), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 6, meta: None, min: 0, max: 1 }, Drop { item: 260, meta: None, min: 0, max: 1 }], physics: BlockPhysics::DEFAULT },
174 BlockInfo { id: 162, name: "log2", display_name: "Wood (Acacia/Dark Oak)", hardness: Some(2.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 162, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
175 BlockInfo { id: 163, name: "acacia_stairs", display_name: "Acacia Wood Stairs", hardness: Some(2.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 163, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
176 BlockInfo { id: 164, name: "dark_oak_stairs", display_name: "Dark Oak Wood Stairs", hardness: Some(2.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 164, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
177 BlockInfo { id: 165, name: "slime", display_name: "Slime Block", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 165, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.8, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0010) } },
178 BlockInfo { id: 166, name: "barrier", display_name: "Barrier", hardness: None, resistance: 0.0, stack_size: 64, diggable: false, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
179 BlockInfo { id: 167, name: "iron_trapdoor", display_name: "Iron Trapdoor", hardness: Some(5.0), resistance: 5.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 167, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x1000) } },
180 BlockInfo { id: 168, name: "prismarine", display_name: "Prismarine", hardness: Some(1.5), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 168, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
181 BlockInfo { id: 169, name: "sea_lantern", display_name: "Sea Lantern", hardness: Some(0.3), resistance: 0.3, stack_size: 64, diggable: true, transparent: true, emit_light: 15, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 410, meta: None, min: 2, max: 3 }], physics: BlockPhysics::DEFAULT },
182 BlockInfo { id: 170, name: "hay_block", display_name: "Hay Bale", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 170, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
183 BlockInfo { id: 171, name: "carpet", display_name: "Carpet", hardness: Some(0.1), resistance: 0.1, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 171, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
184 BlockInfo { id: 172, name: "hardened_clay", display_name: "Hardened Clay", hardness: Some(1.25), resistance: 4.2, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 172, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
185 BlockInfo { id: 173, name: "coal_block", display_name: "Block of Coal", hardness: Some(5.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 173, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
186 BlockInfo { id: 174, name: "packed_ice", display_name: "Packed Ice", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[], drops: &[], physics: BlockPhysics { slipperiness: 0.98, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0000) } },
187 BlockInfo { id: 175, name: "double_plant", display_name: "Large Flowers", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 175, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
188 BlockInfo { id: 176, name: "standing_banner", display_name: "Standing Banner", hardness: Some(1.0), resistance: 1.0, stack_size: 16, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 176, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
189 BlockInfo { id: 177, name: "wall_banner", display_name: "Wall Banner", hardness: Some(1.0), resistance: 1.0, stack_size: 16, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 177, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
190 BlockInfo { id: 178, name: "daylight_detector_inverted", display_name: "Inverted Daylight Sensor", hardness: Some(0.2), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 178, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
191 BlockInfo { id: 179, name: "red_sandstone", display_name: "Red Sandstone", hardness: Some(0.8), resistance: 0.8, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 179, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
192 BlockInfo { id: 180, name: "red_sandstone_stairs", display_name: "Red Sandstone Stairs", hardness: Some(0.8), resistance: 0.8, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 180, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
193 BlockInfo { id: 181, name: "double_stone_slab2", display_name: "Double Red Sandstone Slab", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 44, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
194 BlockInfo { id: 182, name: "stone_slab2", display_name: "Red Sandstone Slab", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 44, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
195 BlockInfo { id: 183, name: "spruce_fence_gate", display_name: "Spruce Fence Gate", hardness: Some(0.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 183, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0800) } },
196 BlockInfo { id: 184, name: "birch_fence_gate", display_name: "Birch Fence Gate", hardness: Some(0.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 184, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0800) } },
197 BlockInfo { id: 185, name: "jungle_fence_gate", display_name: "Jungle Fence Gate", hardness: Some(0.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 185, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0800) } },
198 BlockInfo { id: 186, name: "dark_oak_fence_gate", display_name: "Dark Oak Fence Gate", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 186, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0800) } },
199 BlockInfo { id: 187, name: "acacia_fence_gate", display_name: "Acacia Fence Gate", hardness: Some(0.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 187, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0800) } },
200 BlockInfo { id: 188, name: "spruce_fence", display_name: "Spruce Fence", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 188, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0200) } },
201 BlockInfo { id: 189, name: "birch_fence", display_name: "Birch Fence", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 189, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0200) } },
202 BlockInfo { id: 190, name: "jungle_fence", display_name: "Jungle Fence", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 190, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0200) } },
203 BlockInfo { id: 191, name: "dark_oak_fence", display_name: "Dark Oak Fence", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 191, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0200) } },
204 BlockInfo { id: 192, name: "acacia_fence", display_name: "Acacia Fence", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 192, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0200) } },
205 BlockInfo { id: 193, name: "spruce_door", display_name: "Spruce Door", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 193, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
206 BlockInfo { id: 194, name: "birch_door", display_name: "Birch Door", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 194, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
207 BlockInfo { id: 195, name: "jungle_door", display_name: "Jungle Door", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 195, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
208 BlockInfo { id: 196, name: "acacia_door", display_name: "Acacia Door", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 196, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
209 BlockInfo { id: 197, name: "dark_oak_door", display_name: "Dark Oak Door", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 197, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
210 BlockInfo { id: 198, name: "end_rod", display_name: "End Rod", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 14, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 198, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
211 BlockInfo { id: 199, name: "chorus_plant", display_name: "Chorus Plant", hardness: Some(0.4), resistance: 0.4, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 432, meta: None, min: 0, max: 1 }], physics: BlockPhysics::DEFAULT },
212 BlockInfo { id: 200, name: "chorus_flower", display_name: "Chorus Flower", hardness: Some(0.4), resistance: 0.4, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 200, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
213 BlockInfo { id: 201, name: "purpur_block", display_name: "Purpur Block", hardness: Some(1.5), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 201, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
214 BlockInfo { id: 202, name: "purpur_pillar", display_name: "Purpur Pillar", hardness: Some(1.5), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 202, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
215 BlockInfo { id: 203, name: "purpur_stairs", display_name: "Purpur Stairs", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 203, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
216 BlockInfo { id: 204, name: "purpur_double_slab", display_name: "Purpur Double Slab", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 44, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
217 BlockInfo { id: 205, name: "purpur_slab", display_name: "Purpur Slab", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 44, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
218 BlockInfo { id: 206, name: "end_bricks", display_name: "End Stone Bricks", hardness: Some(0.8), resistance: 0.8, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 206, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
219 BlockInfo { id: 207, name: "beetroots", display_name: "Beetroot Seeds", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
220 BlockInfo { id: 208, name: "grass_path", display_name: "Grass Path", hardness: Some(0.6), resistance: 0.65, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
221 BlockInfo { id: 209, name: "end_gateway", display_name: "End Gateway", hardness: None, resistance: 3600000.0, stack_size: 0, diggable: false, transparent: false, emit_light: 15, filter_light: 15, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
222 BlockInfo { id: 210, name: "repeating_command_block", display_name: "Repeating Command Block", hardness: None, resistance: 3600000.0, stack_size: 64, diggable: false, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
223 BlockInfo { id: 211, name: "chain_command_block", display_name: "Chain Command Block", hardness: None, resistance: 3600000.0, stack_size: 64, diggable: false, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
224 BlockInfo { id: 212, name: "frosted_ice", display_name: "Frosted Ice", hardness: Some(0.5), resistance: 0.5, stack_size: 0, diggable: true, transparent: true, emit_light: 0, filter_light: 2, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics { slipperiness: 0.98, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0000) } },
225 BlockInfo { id: 213, name: "magma", display_name: "Magma Block", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 213, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
226 BlockInfo { id: 214, name: "nether_wart_block", display_name: "Nether Wart Block", hardness: Some(1.0), resistance: 1.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 214, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
227 BlockInfo { id: 215, name: "red_nether_brick", display_name: "Red Nether Brick", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 215, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
228 BlockInfo { id: 216, name: "bone_block", display_name: "Bone Block", hardness: Some(2.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 216, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
229 BlockInfo { id: 217, name: "structure_void", display_name: "Structure Void", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
230 BlockInfo { id: 218, name: "observer", display_name: "Observer", hardness: Some(3.5), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 218, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
231 BlockInfo { id: 219, name: "white_shulker_box", display_name: "White Shulker Box", hardness: Some(2.0), resistance: 2.0, stack_size: 1, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 219, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
232 BlockInfo { id: 220, name: "orange_shulker_box", display_name: "Orange Shulker Box", hardness: Some(2.0), resistance: 2.0, stack_size: 1, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 220, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
233 BlockInfo { id: 221, name: "magenta_shulker_box", display_name: "Magenta Shulker Box", hardness: Some(2.0), resistance: 2.0, stack_size: 1, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 221, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
234 BlockInfo { id: 222, name: "light_blue_shulker_box", display_name: "Light Blue Shulker Box", hardness: Some(2.0), resistance: 2.0, stack_size: 1, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 222, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
235 BlockInfo { id: 223, name: "yellow_shulker_box", display_name: "Yellow Shulker Box", hardness: Some(2.0), resistance: 2.0, stack_size: 1, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 223, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
236 BlockInfo { id: 224, name: "lime_shulker_box", display_name: "Lime Shulker Box", hardness: Some(2.0), resistance: 2.0, stack_size: 1, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 224, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
237 BlockInfo { id: 225, name: "pink_shulker_box", display_name: "Pink Shulker Box", hardness: Some(2.0), resistance: 2.0, stack_size: 1, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 225, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
238 BlockInfo { id: 226, name: "gray_shulker_box", display_name: "Gray Shulker Box", hardness: Some(2.0), resistance: 2.0, stack_size: 1, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 226, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
239 BlockInfo { id: 227, name: "light_gray_shulker_box", display_name: "Light Gray Shulker Box", hardness: Some(2.0), resistance: 2.0, stack_size: 1, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 227, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
240 BlockInfo { id: 228, name: "cyan_shulker_box", display_name: "Cyan Shulker Box", hardness: Some(2.0), resistance: 2.0, stack_size: 1, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 228, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
241 BlockInfo { id: 229, name: "purple_shulker_box", display_name: "Purple Shulker Box", hardness: Some(2.0), resistance: 2.0, stack_size: 1, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 229, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
242 BlockInfo { id: 230, name: "blue_shulker_box", display_name: "Blue Shulker Box", hardness: Some(2.0), resistance: 2.0, stack_size: 1, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 230, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
243 BlockInfo { id: 231, name: "brown_shulker_box", display_name: "Brown Shulker Box", hardness: Some(2.0), resistance: 2.0, stack_size: 1, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 231, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
244 BlockInfo { id: 232, name: "green_shulker_box", display_name: "Green Shulker Box", hardness: Some(2.0), resistance: 2.0, stack_size: 1, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 232, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
245 BlockInfo { id: 233, name: "red_shulker_box", display_name: "Red Shulker Box", hardness: Some(2.0), resistance: 2.0, stack_size: 1, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 233, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
246 BlockInfo { id: 234, name: "black_shulker_box", display_name: "Black Shulker Box", hardness: Some(2.0), resistance: 2.0, stack_size: 1, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 234, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
247 BlockInfo { id: 235, name: "white_glazed_terracotta", display_name: "White Glazed Terracotta", hardness: Some(1.4), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 235, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
248 BlockInfo { id: 236, name: "orange_glazed_terracotta", display_name: "Orange Glazed Terracotta", hardness: Some(1.4), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 236, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
249 BlockInfo { id: 237, name: "magenta_glazed_terracotta", display_name: "Magenta Glazed Terracotta", hardness: Some(1.4), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 237, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
250 BlockInfo { id: 238, name: "light_blue_glazed_terracotta", display_name: "Light Blue Glazed Terracotta", hardness: Some(1.4), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 238, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
251 BlockInfo { id: 239, name: "yellow_glazed_terracotta", display_name: "Yellow Glazed Terracotta", hardness: Some(1.4), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 239, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
252 BlockInfo { id: 240, name: "lime_glazed_terracotta", display_name: "Lime Glazed Terracotta", hardness: Some(1.4), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 240, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
253 BlockInfo { id: 241, name: "pink_glazed_terracotta", display_name: "Pink Glazed Terracotta", hardness: Some(1.4), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 241, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
254 BlockInfo { id: 242, name: "gray_glazed_terracotta", display_name: "Gray Glazed Terracotta", hardness: Some(1.4), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 242, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
255 BlockInfo { id: 243, name: "light_gray_glazed_terracotta", display_name: "Light Gray Glazed Terracotta", hardness: Some(1.4), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 243, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
256 BlockInfo { id: 244, name: "cyan_glazed_terracotta", display_name: "Cyan Glazed Terracotta", hardness: Some(1.4), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 244, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
257 BlockInfo { id: 245, name: "purple_glazed_terracotta", display_name: "Purple Glazed Terracotta", hardness: Some(1.4), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 245, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
258 BlockInfo { id: 246, name: "blue_glazed_terracotta", display_name: "Blue Glazed Terracotta", hardness: Some(1.4), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 246, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
259 BlockInfo { id: 247, name: "brown_glazed_terracotta", display_name: "Brown Glazed Terracotta", hardness: Some(1.4), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 247, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
260 BlockInfo { id: 248, name: "green_glazed_terracotta", display_name: "Green Glazed Terracotta", hardness: Some(1.4), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 248, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
261 BlockInfo { id: 249, name: "red_glazed_terracotta", display_name: "Red Glazed Terracotta", hardness: Some(1.4), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 249, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
262 BlockInfo { id: 250, name: "black_glazed_terracotta", display_name: "Black Glazed Terracotta", hardness: Some(1.4), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 250, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
263 BlockInfo { id: 251, name: "concrete", display_name: "Concrete", hardness: Some(1.8), resistance: 1.8, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 251, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
264 BlockInfo { id: 252, name: "concrete_powder", display_name: "Concrete Powder", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[], drops: &[Drop { item: 252, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
265 BlockInfo { id: 255, name: "structure_block", display_name: "Structure Block", hardness: None, resistance: 3600000.0, stack_size: 64, diggable: false, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
266];
267
268pub(crate) static BLOCK_NAMES: [(&str, u8); 254] = [
269 ("acacia_door", 196),
270 ("acacia_fence", 192),
271 ("acacia_fence_gate", 187),
272 ("acacia_stairs", 163),
273 ("activator_rail", 157),
274 ("air", 0),
275 ("anvil", 145),
276 ("barrier", 166),
277 ("beacon", 138),
278 ("bed", 26),
279 ("bedrock", 7),
280 ("beetroots", 207),
281 ("birch_door", 194),
282 ("birch_fence", 189),
283 ("birch_fence_gate", 184),
284 ("birch_stairs", 135),
285 ("black_glazed_terracotta", 250),
286 ("black_shulker_box", 234),
287 ("blue_glazed_terracotta", 246),
288 ("blue_shulker_box", 230),
289 ("bone_block", 216),
290 ("bookshelf", 47),
291 ("brewing_stand", 117),
292 ("brick_block", 45),
293 ("brick_stairs", 108),
294 ("brown_glazed_terracotta", 247),
295 ("brown_mushroom", 39),
296 ("brown_mushroom_block", 99),
297 ("brown_shulker_box", 231),
298 ("cactus", 81),
299 ("cake", 92),
300 ("carpet", 171),
301 ("carrots", 141),
302 ("cauldron", 118),
303 ("chain_command_block", 211),
304 ("chest", 54),
305 ("chorus_flower", 200),
306 ("chorus_plant", 199),
307 ("clay", 82),
308 ("coal_block", 173),
309 ("coal_ore", 16),
310 ("cobblestone", 4),
311 ("cobblestone_wall", 139),
312 ("cocoa", 127),
313 ("command_block", 137),
314 ("concrete", 251),
315 ("concrete_powder", 252),
316 ("crafting_table", 58),
317 ("cyan_glazed_terracotta", 244),
318 ("cyan_shulker_box", 228),
319 ("dark_oak_door", 197),
320 ("dark_oak_fence", 191),
321 ("dark_oak_fence_gate", 186),
322 ("dark_oak_stairs", 164),
323 ("daylight_detector", 151),
324 ("daylight_detector_inverted", 178),
325 ("deadbush", 32),
326 ("detector_rail", 28),
327 ("diamond_block", 57),
328 ("diamond_ore", 56),
329 ("dirt", 3),
330 ("dispenser", 23),
331 ("double_plant", 175),
332 ("double_stone_slab", 43),
333 ("double_stone_slab2", 181),
334 ("double_wooden_slab", 125),
335 ("dragon_egg", 122),
336 ("dropper", 158),
337 ("emerald_block", 133),
338 ("emerald_ore", 129),
339 ("enchanting_table", 116),
340 ("end_bricks", 206),
341 ("end_gateway", 209),
342 ("end_portal", 119),
343 ("end_portal_frame", 120),
344 ("end_rod", 198),
345 ("end_stone", 121),
346 ("ender_chest", 130),
347 ("farmland", 60),
348 ("fence", 85),
349 ("fence_gate", 107),
350 ("fire", 51),
351 ("flower_pot", 140),
352 ("flowing_lava", 10),
353 ("flowing_water", 8),
354 ("frosted_ice", 212),
355 ("furnace", 61),
356 ("glass", 20),
357 ("glass_pane", 102),
358 ("glowstone", 89),
359 ("gold_block", 41),
360 ("gold_ore", 14),
361 ("golden_rail", 27),
362 ("grass", 2),
363 ("grass_path", 208),
364 ("gravel", 13),
365 ("gray_glazed_terracotta", 242),
366 ("gray_shulker_box", 226),
367 ("green_glazed_terracotta", 248),
368 ("green_shulker_box", 232),
369 ("hardened_clay", 172),
370 ("hay_block", 170),
371 ("heavy_weighted_pressure_plate", 148),
372 ("hopper", 154),
373 ("ice", 79),
374 ("iron_bars", 101),
375 ("iron_block", 42),
376 ("iron_door", 71),
377 ("iron_ore", 15),
378 ("iron_trapdoor", 167),
379 ("jukebox", 84),
380 ("jungle_door", 195),
381 ("jungle_fence", 190),
382 ("jungle_fence_gate", 185),
383 ("jungle_stairs", 136),
384 ("ladder", 65),
385 ("lapis_block", 22),
386 ("lapis_ore", 21),
387 ("lava", 11),
388 ("leaves", 18),
389 ("leaves2", 161),
390 ("lever", 69),
391 ("light_blue_glazed_terracotta", 238),
392 ("light_blue_shulker_box", 222),
393 ("light_gray_glazed_terracotta", 243),
394 ("light_gray_shulker_box", 227),
395 ("light_weighted_pressure_plate", 147),
396 ("lime_glazed_terracotta", 240),
397 ("lime_shulker_box", 224),
398 ("lit_furnace", 62),
399 ("lit_pumpkin", 91),
400 ("lit_redstone_lamp", 124),
401 ("lit_redstone_ore", 74),
402 ("log", 17),
403 ("log2", 162),
404 ("magenta_glazed_terracotta", 237),
405 ("magenta_shulker_box", 221),
406 ("magma", 213),
407 ("melon_block", 103),
408 ("melon_stem", 105),
409 ("mob_spawner", 52),
410 ("monster_egg", 97),
411 ("mossy_cobblestone", 48),
412 ("mycelium", 110),
413 ("nether_brick", 112),
414 ("nether_brick_fence", 113),
415 ("nether_brick_stairs", 114),
416 ("nether_wart", 115),
417 ("nether_wart_block", 214),
418 ("netherrack", 87),
419 ("noteblock", 25),
420 ("oak_stairs", 53),
421 ("observer", 218),
422 ("obsidian", 49),
423 ("orange_glazed_terracotta", 236),
424 ("orange_shulker_box", 220),
425 ("packed_ice", 174),
426 ("pink_glazed_terracotta", 241),
427 ("pink_shulker_box", 225),
428 ("piston", 33),
429 ("piston_extension", 36),
430 ("piston_head", 34),
431 ("planks", 5),
432 ("portal", 90),
433 ("potatoes", 142),
434 ("powered_comparator", 150),
435 ("powered_repeater", 94),
436 ("prismarine", 168),
437 ("pumpkin", 86),
438 ("pumpkin_stem", 104),
439 ("purple_glazed_terracotta", 245),
440 ("purple_shulker_box", 229),
441 ("purpur_block", 201),
442 ("purpur_double_slab", 204),
443 ("purpur_pillar", 202),
444 ("purpur_slab", 205),
445 ("purpur_stairs", 203),
446 ("quartz_block", 155),
447 ("quartz_ore", 153),
448 ("quartz_stairs", 156),
449 ("rail", 66),
450 ("red_flower", 38),
451 ("red_glazed_terracotta", 249),
452 ("red_mushroom", 40),
453 ("red_mushroom_block", 100),
454 ("red_nether_brick", 215),
455 ("red_sandstone", 179),
456 ("red_sandstone_stairs", 180),
457 ("red_shulker_box", 233),
458 ("redstone_block", 152),
459 ("redstone_lamp", 123),
460 ("redstone_ore", 73),
461 ("redstone_torch", 76),
462 ("redstone_wire", 55),
463 ("reeds", 83),
464 ("repeating_command_block", 210),
465 ("sand", 12),
466 ("sandstone", 24),
467 ("sandstone_stairs", 128),
468 ("sapling", 6),
469 ("sea_lantern", 169),
470 ("skull", 144),
471 ("slime", 165),
472 ("snow", 80),
473 ("snow_layer", 78),
474 ("soul_sand", 88),
475 ("sponge", 19),
476 ("spruce_door", 193),
477 ("spruce_fence", 188),
478 ("spruce_fence_gate", 183),
479 ("spruce_stairs", 134),
480 ("stained_glass", 95),
481 ("stained_glass_pane", 160),
482 ("stained_hardened_clay", 159),
483 ("standing_banner", 176),
484 ("standing_sign", 63),
485 ("sticky_piston", 29),
486 ("stone", 1),
487 ("stone_brick_stairs", 109),
488 ("stone_button", 77),
489 ("stone_pressure_plate", 70),
490 ("stone_slab", 44),
491 ("stone_slab2", 182),
492 ("stone_stairs", 67),
493 ("stonebrick", 98),
494 ("structure_block", 255),
495 ("structure_void", 217),
496 ("tallgrass", 31),
497 ("tnt", 46),
498 ("torch", 50),
499 ("trapdoor", 96),
500 ("trapped_chest", 146),
501 ("tripwire", 132),
502 ("tripwire_hook", 131),
503 ("unlit_redstone_torch", 75),
504 ("unpowered_comparator", 149),
505 ("unpowered_repeater", 93),
506 ("vine", 106),
507 ("wall_banner", 177),
508 ("wall_sign", 68),
509 ("water", 9),
510 ("waterlily", 111),
511 ("web", 30),
512 ("wheat", 59),
513 ("white_glazed_terracotta", 235),
514 ("white_shulker_box", 219),
515 ("wooden_button", 143),
516 ("wooden_door", 64),
517 ("wooden_pressure_plate", 72),
518 ("wooden_slab", 126),
519 ("wool", 35),
520 ("yellow_flower", 37),
521 ("yellow_glazed_terracotta", 239),
522 ("yellow_shulker_box", 223),
523];
524
525impl crate::v1_12::Block {
527 pub const AIR: Self = Self(0);
529 pub const STONE: Self = Self(1);
531 pub const GRASS: Self = Self(2);
533 pub const DIRT: Self = Self(3);
535 pub const COBBLESTONE: Self = Self(4);
537 pub const PLANKS: Self = Self(5);
539 pub const SAPLING: Self = Self(6);
541 pub const BEDROCK: Self = Self(7);
543 pub const FLOWING_WATER: Self = Self(8);
545 pub const WATER: Self = Self(9);
547 pub const FLOWING_LAVA: Self = Self(10);
549 pub const LAVA: Self = Self(11);
551 pub const SAND: Self = Self(12);
553 pub const GRAVEL: Self = Self(13);
555 pub const GOLD_ORE: Self = Self(14);
557 pub const IRON_ORE: Self = Self(15);
559 pub const COAL_ORE: Self = Self(16);
561 pub const LOG: Self = Self(17);
563 pub const LEAVES: Self = Self(18);
565 pub const SPONGE: Self = Self(19);
567 pub const GLASS: Self = Self(20);
569 pub const LAPIS_ORE: Self = Self(21);
571 pub const LAPIS_BLOCK: Self = Self(22);
573 pub const DISPENSER: Self = Self(23);
575 pub const SANDSTONE: Self = Self(24);
577 pub const NOTEBLOCK: Self = Self(25);
579 pub const BED: Self = Self(26);
581 pub const GOLDEN_RAIL: Self = Self(27);
583 pub const DETECTOR_RAIL: Self = Self(28);
585 pub const STICKY_PISTON: Self = Self(29);
587 pub const WEB: Self = Self(30);
589 pub const TALLGRASS: Self = Self(31);
591 pub const DEADBUSH: Self = Self(32);
593 pub const PISTON: Self = Self(33);
595 pub const PISTON_HEAD: Self = Self(34);
597 pub const WOOL: Self = Self(35);
599 pub const PISTON_EXTENSION: Self = Self(36);
601 pub const YELLOW_FLOWER: Self = Self(37);
603 pub const RED_FLOWER: Self = Self(38);
605 pub const BROWN_MUSHROOM: Self = Self(39);
607 pub const RED_MUSHROOM: Self = Self(40);
609 pub const GOLD_BLOCK: Self = Self(41);
611 pub const IRON_BLOCK: Self = Self(42);
613 pub const DOUBLE_STONE_SLAB: Self = Self(43);
615 pub const STONE_SLAB: Self = Self(44);
617 pub const BRICK_BLOCK: Self = Self(45);
619 pub const TNT: Self = Self(46);
621 pub const BOOKSHELF: Self = Self(47);
623 pub const MOSSY_COBBLESTONE: Self = Self(48);
625 pub const OBSIDIAN: Self = Self(49);
627 pub const TORCH: Self = Self(50);
629 pub const FIRE: Self = Self(51);
631 pub const MOB_SPAWNER: Self = Self(52);
633 pub const OAK_STAIRS: Self = Self(53);
635 pub const CHEST: Self = Self(54);
637 pub const REDSTONE_WIRE: Self = Self(55);
639 pub const DIAMOND_ORE: Self = Self(56);
641 pub const DIAMOND_BLOCK: Self = Self(57);
643 pub const CRAFTING_TABLE: Self = Self(58);
645 pub const WHEAT: Self = Self(59);
647 pub const FARMLAND: Self = Self(60);
649 pub const FURNACE: Self = Self(61);
651 pub const LIT_FURNACE: Self = Self(62);
653 pub const STANDING_SIGN: Self = Self(63);
655 pub const WOODEN_DOOR: Self = Self(64);
657 pub const LADDER: Self = Self(65);
659 pub const RAIL: Self = Self(66);
661 pub const STONE_STAIRS: Self = Self(67);
663 pub const WALL_SIGN: Self = Self(68);
665 pub const LEVER: Self = Self(69);
667 pub const STONE_PRESSURE_PLATE: Self = Self(70);
669 pub const IRON_DOOR: Self = Self(71);
671 pub const WOODEN_PRESSURE_PLATE: Self = Self(72);
673 pub const REDSTONE_ORE: Self = Self(73);
675 pub const LIT_REDSTONE_ORE: Self = Self(74);
677 pub const UNLIT_REDSTONE_TORCH: Self = Self(75);
679 pub const REDSTONE_TORCH: Self = Self(76);
681 pub const STONE_BUTTON: Self = Self(77);
683 pub const SNOW_LAYER: Self = Self(78);
685 pub const ICE: Self = Self(79);
687 pub const SNOW: Self = Self(80);
689 pub const CACTUS: Self = Self(81);
691 pub const CLAY: Self = Self(82);
693 pub const REEDS: Self = Self(83);
695 pub const JUKEBOX: Self = Self(84);
697 pub const FENCE: Self = Self(85);
699 pub const PUMPKIN: Self = Self(86);
701 pub const NETHERRACK: Self = Self(87);
703 pub const SOUL_SAND: Self = Self(88);
705 pub const GLOWSTONE: Self = Self(89);
707 pub const PORTAL: Self = Self(90);
709 pub const LIT_PUMPKIN: Self = Self(91);
711 pub const CAKE: Self = Self(92);
713 pub const UNPOWERED_REPEATER: Self = Self(93);
715 pub const POWERED_REPEATER: Self = Self(94);
717 pub const STAINED_GLASS: Self = Self(95);
719 pub const TRAPDOOR: Self = Self(96);
721 pub const MONSTER_EGG: Self = Self(97);
723 pub const STONEBRICK: Self = Self(98);
725 pub const BROWN_MUSHROOM_BLOCK: Self = Self(99);
727 pub const RED_MUSHROOM_BLOCK: Self = Self(100);
729 pub const IRON_BARS: Self = Self(101);
731 pub const GLASS_PANE: Self = Self(102);
733 pub const MELON_BLOCK: Self = Self(103);
735 pub const PUMPKIN_STEM: Self = Self(104);
737 pub const MELON_STEM: Self = Self(105);
739 pub const VINE: Self = Self(106);
741 pub const FENCE_GATE: Self = Self(107);
743 pub const BRICK_STAIRS: Self = Self(108);
745 pub const STONE_BRICK_STAIRS: Self = Self(109);
747 pub const MYCELIUM: Self = Self(110);
749 pub const WATERLILY: Self = Self(111);
751 pub const NETHER_BRICK: Self = Self(112);
753 pub const NETHER_BRICK_FENCE: Self = Self(113);
755 pub const NETHER_BRICK_STAIRS: Self = Self(114);
757 pub const NETHER_WART: Self = Self(115);
759 pub const ENCHANTING_TABLE: Self = Self(116);
761 pub const BREWING_STAND: Self = Self(117);
763 pub const CAULDRON: Self = Self(118);
765 pub const END_PORTAL: Self = Self(119);
767 pub const END_PORTAL_FRAME: Self = Self(120);
769 pub const END_STONE: Self = Self(121);
771 pub const DRAGON_EGG: Self = Self(122);
773 pub const REDSTONE_LAMP: Self = Self(123);
775 pub const LIT_REDSTONE_LAMP: Self = Self(124);
777 pub const DOUBLE_WOODEN_SLAB: Self = Self(125);
779 pub const WOODEN_SLAB: Self = Self(126);
781 pub const COCOA: Self = Self(127);
783 pub const SANDSTONE_STAIRS: Self = Self(128);
785 pub const EMERALD_ORE: Self = Self(129);
787 pub const ENDER_CHEST: Self = Self(130);
789 pub const TRIPWIRE_HOOK: Self = Self(131);
791 pub const TRIPWIRE: Self = Self(132);
793 pub const EMERALD_BLOCK: Self = Self(133);
795 pub const SPRUCE_STAIRS: Self = Self(134);
797 pub const BIRCH_STAIRS: Self = Self(135);
799 pub const JUNGLE_STAIRS: Self = Self(136);
801 pub const COMMAND_BLOCK: Self = Self(137);
803 pub const BEACON: Self = Self(138);
805 pub const COBBLESTONE_WALL: Self = Self(139);
807 pub const FLOWER_POT: Self = Self(140);
809 pub const CARROTS: Self = Self(141);
811 pub const POTATOES: Self = Self(142);
813 pub const WOODEN_BUTTON: Self = Self(143);
815 pub const SKULL: Self = Self(144);
817 pub const ANVIL: Self = Self(145);
819 pub const TRAPPED_CHEST: Self = Self(146);
821 pub const LIGHT_WEIGHTED_PRESSURE_PLATE: Self = Self(147);
823 pub const HEAVY_WEIGHTED_PRESSURE_PLATE: Self = Self(148);
825 pub const UNPOWERED_COMPARATOR: Self = Self(149);
827 pub const POWERED_COMPARATOR: Self = Self(150);
829 pub const DAYLIGHT_DETECTOR: Self = Self(151);
831 pub const REDSTONE_BLOCK: Self = Self(152);
833 pub const QUARTZ_ORE: Self = Self(153);
835 pub const HOPPER: Self = Self(154);
837 pub const QUARTZ_BLOCK: Self = Self(155);
839 pub const QUARTZ_STAIRS: Self = Self(156);
841 pub const ACTIVATOR_RAIL: Self = Self(157);
843 pub const DROPPER: Self = Self(158);
845 pub const STAINED_HARDENED_CLAY: Self = Self(159);
847 pub const STAINED_GLASS_PANE: Self = Self(160);
849 pub const LEAVES2: Self = Self(161);
851 pub const LOG2: Self = Self(162);
853 pub const ACACIA_STAIRS: Self = Self(163);
855 pub const DARK_OAK_STAIRS: Self = Self(164);
857 pub const SLIME: Self = Self(165);
859 pub const BARRIER: Self = Self(166);
861 pub const IRON_TRAPDOOR: Self = Self(167);
863 pub const PRISMARINE: Self = Self(168);
865 pub const SEA_LANTERN: Self = Self(169);
867 pub const HAY_BLOCK: Self = Self(170);
869 pub const CARPET: Self = Self(171);
871 pub const HARDENED_CLAY: Self = Self(172);
873 pub const COAL_BLOCK: Self = Self(173);
875 pub const PACKED_ICE: Self = Self(174);
877 pub const DOUBLE_PLANT: Self = Self(175);
879 pub const STANDING_BANNER: Self = Self(176);
881 pub const WALL_BANNER: Self = Self(177);
883 pub const DAYLIGHT_DETECTOR_INVERTED: Self = Self(178);
885 pub const RED_SANDSTONE: Self = Self(179);
887 pub const RED_SANDSTONE_STAIRS: Self = Self(180);
889 pub const DOUBLE_STONE_SLAB2: Self = Self(181);
891 pub const STONE_SLAB2: Self = Self(182);
893 pub const SPRUCE_FENCE_GATE: Self = Self(183);
895 pub const BIRCH_FENCE_GATE: Self = Self(184);
897 pub const JUNGLE_FENCE_GATE: Self = Self(185);
899 pub const DARK_OAK_FENCE_GATE: Self = Self(186);
901 pub const ACACIA_FENCE_GATE: Self = Self(187);
903 pub const SPRUCE_FENCE: Self = Self(188);
905 pub const BIRCH_FENCE: Self = Self(189);
907 pub const JUNGLE_FENCE: Self = Self(190);
909 pub const DARK_OAK_FENCE: Self = Self(191);
911 pub const ACACIA_FENCE: Self = Self(192);
913 pub const SPRUCE_DOOR: Self = Self(193);
915 pub const BIRCH_DOOR: Self = Self(194);
917 pub const JUNGLE_DOOR: Self = Self(195);
919 pub const ACACIA_DOOR: Self = Self(196);
921 pub const DARK_OAK_DOOR: Self = Self(197);
923 pub const END_ROD: Self = Self(198);
925 pub const CHORUS_PLANT: Self = Self(199);
927 pub const CHORUS_FLOWER: Self = Self(200);
929 pub const PURPUR_BLOCK: Self = Self(201);
931 pub const PURPUR_PILLAR: Self = Self(202);
933 pub const PURPUR_STAIRS: Self = Self(203);
935 pub const PURPUR_DOUBLE_SLAB: Self = Self(204);
937 pub const PURPUR_SLAB: Self = Self(205);
939 pub const END_BRICKS: Self = Self(206);
941 pub const BEETROOTS: Self = Self(207);
943 pub const GRASS_PATH: Self = Self(208);
945 pub const END_GATEWAY: Self = Self(209);
947 pub const REPEATING_COMMAND_BLOCK: Self = Self(210);
949 pub const CHAIN_COMMAND_BLOCK: Self = Self(211);
951 pub const FROSTED_ICE: Self = Self(212);
953 pub const MAGMA: Self = Self(213);
955 pub const NETHER_WART_BLOCK: Self = Self(214);
957 pub const RED_NETHER_BRICK: Self = Self(215);
959 pub const BONE_BLOCK: Self = Self(216);
961 pub const STRUCTURE_VOID: Self = Self(217);
963 pub const OBSERVER: Self = Self(218);
965 pub const WHITE_SHULKER_BOX: Self = Self(219);
967 pub const ORANGE_SHULKER_BOX: Self = Self(220);
969 pub const MAGENTA_SHULKER_BOX: Self = Self(221);
971 pub const LIGHT_BLUE_SHULKER_BOX: Self = Self(222);
973 pub const YELLOW_SHULKER_BOX: Self = Self(223);
975 pub const LIME_SHULKER_BOX: Self = Self(224);
977 pub const PINK_SHULKER_BOX: Self = Self(225);
979 pub const GRAY_SHULKER_BOX: Self = Self(226);
981 pub const LIGHT_GRAY_SHULKER_BOX: Self = Self(227);
983 pub const CYAN_SHULKER_BOX: Self = Self(228);
985 pub const PURPLE_SHULKER_BOX: Self = Self(229);
987 pub const BLUE_SHULKER_BOX: Self = Self(230);
989 pub const BROWN_SHULKER_BOX: Self = Self(231);
991 pub const GREEN_SHULKER_BOX: Self = Self(232);
993 pub const RED_SHULKER_BOX: Self = Self(233);
995 pub const BLACK_SHULKER_BOX: Self = Self(234);
997 pub const WHITE_GLAZED_TERRACOTTA: Self = Self(235);
999 pub const ORANGE_GLAZED_TERRACOTTA: Self = Self(236);
1001 pub const MAGENTA_GLAZED_TERRACOTTA: Self = Self(237);
1003 pub const LIGHT_BLUE_GLAZED_TERRACOTTA: Self = Self(238);
1005 pub const YELLOW_GLAZED_TERRACOTTA: Self = Self(239);
1007 pub const LIME_GLAZED_TERRACOTTA: Self = Self(240);
1009 pub const PINK_GLAZED_TERRACOTTA: Self = Self(241);
1011 pub const GRAY_GLAZED_TERRACOTTA: Self = Self(242);
1013 pub const LIGHT_GRAY_GLAZED_TERRACOTTA: Self = Self(243);
1015 pub const CYAN_GLAZED_TERRACOTTA: Self = Self(244);
1017 pub const PURPLE_GLAZED_TERRACOTTA: Self = Self(245);
1019 pub const BLUE_GLAZED_TERRACOTTA: Self = Self(246);
1021 pub const BROWN_GLAZED_TERRACOTTA: Self = Self(247);
1023 pub const GREEN_GLAZED_TERRACOTTA: Self = Self(248);
1025 pub const RED_GLAZED_TERRACOTTA: Self = Self(249);
1027 pub const BLACK_GLAZED_TERRACOTTA: Self = Self(250);
1029 pub const CONCRETE: Self = Self(251);
1031 pub const CONCRETE_POWDER: Self = Self(252);
1033 pub const STRUCTURE_BLOCK: Self = Self(255);
1035}
1036
1037pub(crate) static BLOCK_SLOT: [u8; 256] = [
1039 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1040 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1041 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1042 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
1043 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
1044 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
1045 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
1046 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 255, 255, 253,
1047];
1048
1049pub(crate) static SHAPES: [&[Aabb]; 84] = [
1051 &[],
1052 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 1.0)],
1053 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.5625, 1.0)],
1054 &[Aabb::new(0.0, 0.25, 0.0, 1.0, 1.0, 1.0)],
1055 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.75, 1.0)],
1056 &[Aabb::new(0.0, 0.0, 0.25, 1.0, 1.0, 1.0)],
1057 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.75)],
1058 &[Aabb::new(0.25, 0.0, 0.0, 1.0, 1.0, 1.0)],
1059 &[Aabb::new(0.0, 0.0, 0.0, 0.75, 1.0, 1.0)],
1060 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.25, 1.0), Aabb::new(0.375, 0.25, 0.375, 0.625, 1.25, 0.625)],
1061 &[Aabb::new(0.0, 0.75, 0.0, 1.0, 1.0, 1.0), Aabb::new(0.375, -0.25, 0.375, 0.625, 0.75, 0.625)],
1062 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.25), Aabb::new(0.375, 0.375, 0.25, 0.625, 0.625, 1.25)],
1063 &[Aabb::new(0.0, 0.0, 0.75, 1.0, 1.0, 1.0), Aabb::new(0.375, 0.375, -0.25, 0.625, 0.625, 0.75)],
1064 &[Aabb::new(0.0, 0.0, 0.0, 0.25, 1.0, 1.0), Aabb::new(0.25, 0.375, 0.375, 1.25, 0.625, 0.625)],
1065 &[Aabb::new(0.75, 0.0, 0.0, 1.0, 1.0, 1.0), Aabb::new(-0.25, 0.375, 0.375, 0.75, 0.625, 0.625)],
1066 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.5, 1.0)],
1067 &[Aabb::new(0.0, 0.5, 0.0, 1.0, 1.0, 1.0)],
1068 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.5, 1.0), Aabb::new(0.5, 0.5, 0.0, 1.0, 1.0, 1.0)],
1069 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.5, 1.0), Aabb::new(0.0, 0.5, 0.0, 0.5, 1.0, 1.0)],
1070 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.5, 1.0), Aabb::new(0.0, 0.5, 0.5, 1.0, 1.0, 1.0)],
1071 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.5, 1.0), Aabb::new(0.0, 0.5, 0.0, 1.0, 1.0, 0.5)],
1072 &[Aabb::new(0.0, 0.5, 0.0, 1.0, 1.0, 1.0), Aabb::new(0.5, 0.0, 0.0, 1.0, 0.5, 1.0)],
1073 &[Aabb::new(0.0, 0.5, 0.0, 1.0, 1.0, 1.0), Aabb::new(0.0, 0.0, 0.0, 0.5, 0.5, 1.0)],
1074 &[Aabb::new(0.0, 0.5, 0.0, 1.0, 1.0, 1.0), Aabb::new(0.0, 0.0, 0.5, 1.0, 0.5, 1.0)],
1075 &[Aabb::new(0.0, 0.5, 0.0, 1.0, 1.0, 1.0), Aabb::new(0.0, 0.0, 0.0, 1.0, 0.5, 0.5)],
1076 &[Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.875, 0.9375)],
1077 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.9375, 1.0)],
1078 &[Aabb::new(0.0, 0.0, 0.0, 0.1875, 1.0, 1.0)],
1079 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.1875)],
1080 &[Aabb::new(0.8125, 0.0, 0.0, 1.0, 1.0, 1.0)],
1081 &[Aabb::new(0.0, 0.0, 0.8125, 1.0, 1.0, 1.0)],
1082 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.0, 1.0)],
1083 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.125, 1.0)],
1084 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.25, 1.0)],
1085 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.375, 1.0)],
1086 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.625, 1.0)],
1087 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.875, 1.0)],
1088 &[Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.9375, 0.9375)],
1089 &[Aabb::new(0.375, 0.0, 0.375, 0.625, 1.5, 0.625)],
1090 &[Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.5, 0.9375)],
1091 &[Aabb::new(0.1875, 0.0, 0.0625, 0.9375, 0.5, 0.9375)],
1092 &[Aabb::new(0.3125, 0.0, 0.0625, 0.9375, 0.5, 0.9375)],
1093 &[Aabb::new(0.4375, 0.0, 0.0625, 0.9375, 0.5, 0.9375)],
1094 &[Aabb::new(0.5625, 0.0, 0.0625, 0.9375, 0.5, 0.9375)],
1095 &[Aabb::new(0.6875, 0.0, 0.0625, 0.9375, 0.5, 0.9375)],
1096 &[Aabb::new(0.8125, 0.0, 0.0625, 0.9375, 0.5, 0.9375)],
1097 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.1875, 1.0)],
1098 &[Aabb::new(0.0, 0.8125, 0.0, 1.0, 1.0, 1.0)],
1099 &[Aabb::new(0.4375, 0.0, 0.4375, 0.5625, 1.0, 0.5625)],
1100 &[Aabb::new(0.0, 0.0, 0.375, 1.0, 1.5, 0.625)],
1101 &[Aabb::new(0.375, 0.0, 0.0, 0.625, 1.5, 1.0)],
1102 &[Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.09375, 0.9375)],
1103 &[Aabb::new(0.4375, 0.0, 0.4375, 0.5625, 0.875, 0.5625), Aabb::new(0.0, 0.0, 0.0, 1.0, 0.125, 1.0)],
1104 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.3125, 1.0), Aabb::new(0.0, 0.0, 0.0, 0.125, 1.0, 1.0), Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.125), Aabb::new(0.875, 0.0, 0.0, 1.0, 1.0, 1.0), Aabb::new(0.0, 0.0, 0.875, 1.0, 1.0, 1.0)],
1105 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.8125, 1.0)],
1106 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.8125, 1.0), Aabb::new(0.3125, 0.8125, 0.3125, 0.6875, 1.0, 0.6875)],
1107 &[Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 1.0, 0.9375)],
1108 &[Aabb::new(0.375, 0.4375, 0.6875, 0.625, 0.75, 0.9375)],
1109 &[Aabb::new(0.0625, 0.4375, 0.375, 0.3125, 0.75, 0.625)],
1110 &[Aabb::new(0.375, 0.4375, 0.0625, 0.625, 0.75, 0.3125)],
1111 &[Aabb::new(0.6875, 0.4375, 0.375, 0.9375, 0.75, 0.625)],
1112 &[Aabb::new(0.3125, 0.3125, 0.5625, 0.6875, 0.75, 0.9375)],
1113 &[Aabb::new(0.0625, 0.3125, 0.3125, 0.4375, 0.75, 0.6875)],
1114 &[Aabb::new(0.3125, 0.3125, 0.0625, 0.6875, 0.75, 0.4375)],
1115 &[Aabb::new(0.5625, 0.3125, 0.3125, 0.9375, 0.75, 0.6875)],
1116 &[Aabb::new(0.25, 0.1875, 0.4375, 0.75, 0.75, 0.9375)],
1117 &[Aabb::new(0.0625, 0.1875, 0.25, 0.5625, 0.75, 0.75)],
1118 &[Aabb::new(0.25, 0.1875, 0.0625, 0.75, 0.75, 0.5625)],
1119 &[Aabb::new(0.4375, 0.1875, 0.25, 0.9375, 0.75, 0.75)],
1120 &[Aabb::new(0.25, 0.0, 0.25, 0.75, 1.5, 0.75)],
1121 &[Aabb::new(0.3125, 0.0, 0.3125, 0.6875, 0.375, 0.6875)],
1122 &[Aabb::new(0.25, 0.0, 0.25, 0.75, 0.5, 0.75)],
1123 &[Aabb::new(0.25, 0.25, 0.5, 0.75, 0.75, 1.0)],
1124 &[Aabb::new(0.25, 0.25, 0.0, 0.75, 0.75, 0.5)],
1125 &[Aabb::new(0.5, 0.25, 0.25, 1.0, 0.75, 0.75)],
1126 &[Aabb::new(0.0, 0.25, 0.25, 0.5, 0.75, 0.75)],
1127 &[Aabb::new(0.125, 0.0, 0.0, 0.875, 1.0, 1.0)],
1128 &[Aabb::new(0.0, 0.0, 0.125, 1.0, 1.0, 0.875)],
1129 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.625, 1.0), Aabb::new(0.0, 0.0, 0.0, 0.125, 1.0, 1.0), Aabb::new(0.875, 0.0, 0.0, 1.0, 1.0, 1.0), Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.125), Aabb::new(0.0, 0.0, 0.875, 1.0, 1.0, 1.0)],
1130 &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.0625, 1.0)],
1131 &[Aabb::new(0.375, 0.0, 0.375, 0.625, 1.0, 0.625)],
1132 &[Aabb::new(0.375, 0.375, 0.0, 0.625, 0.625, 1.0)],
1133 &[Aabb::new(0.0, 0.375, 0.375, 1.0, 0.625, 0.625)],
1134 &[Aabb::new(0.1875, 0.1875, 0.1875, 0.8125, 0.8125, 0.8125)],
1135];
1136
1137pub(crate) static BLOCK_SHAPE_DEPENDENCY: [ShapeDependency; 256] = [
1138 ShapeDependency::None,
1139 ShapeDependency::None,
1140 ShapeDependency::None,
1141 ShapeDependency::None,
1142 ShapeDependency::None,
1143 ShapeDependency::None,
1144 ShapeDependency::None,
1145 ShapeDependency::None,
1146 ShapeDependency::None,
1147 ShapeDependency::None,
1148 ShapeDependency::None,
1149 ShapeDependency::None,
1150 ShapeDependency::None,
1151 ShapeDependency::None,
1152 ShapeDependency::None,
1153 ShapeDependency::None,
1154 ShapeDependency::None,
1155 ShapeDependency::None,
1156 ShapeDependency::None,
1157 ShapeDependency::None,
1158 ShapeDependency::None,
1159 ShapeDependency::None,
1160 ShapeDependency::None,
1161 ShapeDependency::None,
1162 ShapeDependency::None,
1163 ShapeDependency::None,
1164 ShapeDependency::None,
1165 ShapeDependency::None,
1166 ShapeDependency::None,
1167 ShapeDependency::None,
1168 ShapeDependency::None,
1169 ShapeDependency::None,
1170 ShapeDependency::None,
1171 ShapeDependency::None,
1172 ShapeDependency::None,
1173 ShapeDependency::None,
1174 ShapeDependency::BlockEntity,
1175 ShapeDependency::None,
1176 ShapeDependency::None,
1177 ShapeDependency::None,
1178 ShapeDependency::None,
1179 ShapeDependency::None,
1180 ShapeDependency::None,
1181 ShapeDependency::None,
1182 ShapeDependency::None,
1183 ShapeDependency::None,
1184 ShapeDependency::None,
1185 ShapeDependency::None,
1186 ShapeDependency::None,
1187 ShapeDependency::None,
1188 ShapeDependency::None,
1189 ShapeDependency::None,
1190 ShapeDependency::None,
1191 ShapeDependency::Neighbours(NeighbourShape::Stairs),
1192 ShapeDependency::Neighbours(NeighbourShape::Chest),
1193 ShapeDependency::None,
1194 ShapeDependency::None,
1195 ShapeDependency::None,
1196 ShapeDependency::None,
1197 ShapeDependency::None,
1198 ShapeDependency::None,
1199 ShapeDependency::None,
1200 ShapeDependency::None,
1201 ShapeDependency::None,
1202 ShapeDependency::Neighbours(NeighbourShape::Door),
1203 ShapeDependency::None,
1204 ShapeDependency::None,
1205 ShapeDependency::Neighbours(NeighbourShape::Stairs),
1206 ShapeDependency::None,
1207 ShapeDependency::None,
1208 ShapeDependency::None,
1209 ShapeDependency::Neighbours(NeighbourShape::Door),
1210 ShapeDependency::None,
1211 ShapeDependency::None,
1212 ShapeDependency::None,
1213 ShapeDependency::None,
1214 ShapeDependency::None,
1215 ShapeDependency::None,
1216 ShapeDependency::None,
1217 ShapeDependency::None,
1218 ShapeDependency::None,
1219 ShapeDependency::None,
1220 ShapeDependency::None,
1221 ShapeDependency::None,
1222 ShapeDependency::None,
1223 ShapeDependency::Neighbours(NeighbourShape::Fence),
1224 ShapeDependency::None,
1225 ShapeDependency::None,
1226 ShapeDependency::None,
1227 ShapeDependency::None,
1228 ShapeDependency::None,
1229 ShapeDependency::None,
1230 ShapeDependency::None,
1231 ShapeDependency::None,
1232 ShapeDependency::None,
1233 ShapeDependency::None,
1234 ShapeDependency::None,
1235 ShapeDependency::None,
1236 ShapeDependency::None,
1237 ShapeDependency::None,
1238 ShapeDependency::None,
1239 ShapeDependency::Neighbours(NeighbourShape::Pane),
1240 ShapeDependency::Neighbours(NeighbourShape::Pane),
1241 ShapeDependency::None,
1242 ShapeDependency::None,
1243 ShapeDependency::None,
1244 ShapeDependency::None,
1245 ShapeDependency::None,
1246 ShapeDependency::Neighbours(NeighbourShape::Stairs),
1247 ShapeDependency::Neighbours(NeighbourShape::Stairs),
1248 ShapeDependency::None,
1249 ShapeDependency::None,
1250 ShapeDependency::None,
1251 ShapeDependency::Neighbours(NeighbourShape::Fence),
1252 ShapeDependency::Neighbours(NeighbourShape::Stairs),
1253 ShapeDependency::None,
1254 ShapeDependency::None,
1255 ShapeDependency::None,
1256 ShapeDependency::None,
1257 ShapeDependency::None,
1258 ShapeDependency::None,
1259 ShapeDependency::None,
1260 ShapeDependency::None,
1261 ShapeDependency::None,
1262 ShapeDependency::None,
1263 ShapeDependency::None,
1264 ShapeDependency::None,
1265 ShapeDependency::None,
1266 ShapeDependency::Neighbours(NeighbourShape::Stairs),
1267 ShapeDependency::None,
1268 ShapeDependency::None,
1269 ShapeDependency::None,
1270 ShapeDependency::None,
1271 ShapeDependency::None,
1272 ShapeDependency::Neighbours(NeighbourShape::Stairs),
1273 ShapeDependency::Neighbours(NeighbourShape::Stairs),
1274 ShapeDependency::Neighbours(NeighbourShape::Stairs),
1275 ShapeDependency::None,
1276 ShapeDependency::None,
1277 ShapeDependency::Neighbours(NeighbourShape::Wall),
1278 ShapeDependency::None,
1279 ShapeDependency::None,
1280 ShapeDependency::None,
1281 ShapeDependency::None,
1282 ShapeDependency::None,
1283 ShapeDependency::None,
1284 ShapeDependency::Neighbours(NeighbourShape::Chest),
1285 ShapeDependency::None,
1286 ShapeDependency::None,
1287 ShapeDependency::None,
1288 ShapeDependency::None,
1289 ShapeDependency::None,
1290 ShapeDependency::None,
1291 ShapeDependency::None,
1292 ShapeDependency::None,
1293 ShapeDependency::None,
1294 ShapeDependency::Neighbours(NeighbourShape::Stairs),
1295 ShapeDependency::None,
1296 ShapeDependency::None,
1297 ShapeDependency::None,
1298 ShapeDependency::Neighbours(NeighbourShape::Pane),
1299 ShapeDependency::None,
1300 ShapeDependency::None,
1301 ShapeDependency::Neighbours(NeighbourShape::Stairs),
1302 ShapeDependency::Neighbours(NeighbourShape::Stairs),
1303 ShapeDependency::None,
1304 ShapeDependency::None,
1305 ShapeDependency::None,
1306 ShapeDependency::None,
1307 ShapeDependency::None,
1308 ShapeDependency::None,
1309 ShapeDependency::None,
1310 ShapeDependency::None,
1311 ShapeDependency::None,
1312 ShapeDependency::None,
1313 ShapeDependency::None,
1314 ShapeDependency::None,
1315 ShapeDependency::None,
1316 ShapeDependency::None,
1317 ShapeDependency::None,
1318 ShapeDependency::Neighbours(NeighbourShape::Stairs),
1319 ShapeDependency::None,
1320 ShapeDependency::None,
1321 ShapeDependency::None,
1322 ShapeDependency::None,
1323 ShapeDependency::None,
1324 ShapeDependency::None,
1325 ShapeDependency::None,
1326 ShapeDependency::Neighbours(NeighbourShape::Fence),
1327 ShapeDependency::Neighbours(NeighbourShape::Fence),
1328 ShapeDependency::Neighbours(NeighbourShape::Fence),
1329 ShapeDependency::Neighbours(NeighbourShape::Fence),
1330 ShapeDependency::Neighbours(NeighbourShape::Fence),
1331 ShapeDependency::Neighbours(NeighbourShape::Door),
1332 ShapeDependency::Neighbours(NeighbourShape::Door),
1333 ShapeDependency::Neighbours(NeighbourShape::Door),
1334 ShapeDependency::Neighbours(NeighbourShape::Door),
1335 ShapeDependency::Neighbours(NeighbourShape::Door),
1336 ShapeDependency::None,
1337 ShapeDependency::Neighbours(NeighbourShape::ChorusPlant),
1338 ShapeDependency::None,
1339 ShapeDependency::None,
1340 ShapeDependency::None,
1341 ShapeDependency::Neighbours(NeighbourShape::Stairs),
1342 ShapeDependency::None,
1343 ShapeDependency::None,
1344 ShapeDependency::None,
1345 ShapeDependency::None,
1346 ShapeDependency::None,
1347 ShapeDependency::None,
1348 ShapeDependency::None,
1349 ShapeDependency::None,
1350 ShapeDependency::None,
1351 ShapeDependency::None,
1352 ShapeDependency::None,
1353 ShapeDependency::None,
1354 ShapeDependency::None,
1355 ShapeDependency::None,
1356 ShapeDependency::None,
1357 ShapeDependency::BlockEntity,
1358 ShapeDependency::BlockEntity,
1359 ShapeDependency::BlockEntity,
1360 ShapeDependency::BlockEntity,
1361 ShapeDependency::BlockEntity,
1362 ShapeDependency::BlockEntity,
1363 ShapeDependency::BlockEntity,
1364 ShapeDependency::BlockEntity,
1365 ShapeDependency::BlockEntity,
1366 ShapeDependency::BlockEntity,
1367 ShapeDependency::BlockEntity,
1368 ShapeDependency::BlockEntity,
1369 ShapeDependency::BlockEntity,
1370 ShapeDependency::BlockEntity,
1371 ShapeDependency::BlockEntity,
1372 ShapeDependency::BlockEntity,
1373 ShapeDependency::None,
1374 ShapeDependency::None,
1375 ShapeDependency::None,
1376 ShapeDependency::None,
1377 ShapeDependency::None,
1378 ShapeDependency::None,
1379 ShapeDependency::None,
1380 ShapeDependency::None,
1381 ShapeDependency::None,
1382 ShapeDependency::None,
1383 ShapeDependency::None,
1384 ShapeDependency::None,
1385 ShapeDependency::None,
1386 ShapeDependency::None,
1387 ShapeDependency::None,
1388 ShapeDependency::None,
1389 ShapeDependency::None,
1390 ShapeDependency::None,
1391 ShapeDependency::None,
1392 ShapeDependency::None,
1393 ShapeDependency::None,
1394];
1395
1396pub(crate) static STATE_SHAPE: [u16; 4096] = [
1398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1399 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1400 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1401 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1402 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1403 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1405 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1410 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1411 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1412 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1413 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1414 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1415 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1416 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1417 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1418 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1419 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1420 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1421 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0,
1422 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1423 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1424 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2,
1425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1427 1, 1, 1, 1, 1, 1, 0, 0, 3, 4, 5, 6, 7, 8, 0, 0,
1428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1431 1, 1, 1, 1, 1, 1, 0, 0, 3, 4, 5, 6, 7, 8, 0, 0,
1432 9, 10, 11, 12, 13, 14, 0, 0, 9, 10, 11, 12, 13, 14, 0, 0,
1433 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1439 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1440 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1441 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1442 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16,
1443 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1444 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1445 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1446 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1447 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1450 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1451 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0,
1452 0, 0, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1454 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1455 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1456 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1458 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0,
1459 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1460 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1462 27, 28, 29, 30, 30, 27, 28, 29, 27, 27, 27, 27, 0, 0, 0, 0,
1463 0, 0, 30, 28, 29, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1465 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0,
1466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1469 27, 28, 29, 30, 30, 27, 28, 29, 27, 27, 27, 27, 0, 0, 0, 0,
1470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1471 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1472 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1476 31, 32, 33, 34, 15, 35, 4, 36, 0, 0, 0, 0, 0, 0, 0, 0,
1477 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1478 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1479 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
1480 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1482 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1483 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1484 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1485 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1486 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1487 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1489 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1490 39, 40, 41, 42, 43, 44, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1491 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
1492 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
1493 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1494 46, 46, 46, 46, 30, 28, 29, 27, 47, 47, 47, 47, 30, 28, 29, 27,
1495 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1496 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1497 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,
1498 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,
1499 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1500 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1501 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1505 49, 50, 49, 50, 0, 0, 0, 0, 49, 50, 49, 50, 0, 0, 0, 0,
1506 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0,
1507 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0,
1508 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1509 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1510 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1511 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1512 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0,
1513 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1514 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1515 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 0, 0, 0, 0, 0, 0,
1516 53, 53, 53, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1518 54, 54, 54, 54, 55, 55, 55, 55, 0, 0, 0, 0, 0, 0, 0, 0,
1519 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1520 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1521 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1522 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1523 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1524 15, 15, 15, 15, 15, 15, 0, 0, 16, 16, 16, 16, 16, 16, 0, 0,
1525 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 0, 0, 0, 0,
1526 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0,
1527 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1528 0, 0, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1531 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1532 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0,
1533 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0,
1534 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0,
1535 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0,
1536 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1537 69, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1538 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1539 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1540 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1541 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1542 71, 71, 72, 73, 74, 75, 0, 0, 71, 71, 72, 73, 74, 75, 0, 0,
1543 76, 77, 76, 77, 76, 77, 76, 77, 76, 77, 76, 77, 0, 0, 0, 0,
1544 0, 0, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1546 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1547 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
1548 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
1549 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
1550 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1551 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1552 78, 0, 78, 78, 78, 78, 0, 0, 78, 0, 78, 78, 78, 78, 0, 0,
1553 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1554 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0,
1555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1556 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0,
1557 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1558 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
1559 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0,
1560 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0,
1561 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0,
1562 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0,
1563 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1564 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1565 46, 46, 46, 46, 30, 28, 29, 27, 47, 47, 47, 47, 30, 28, 29, 27,
1566 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1567 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1568 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
1569 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
1570 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1571 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1572 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1576 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
1577 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1578 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0,
1579 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
1580 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
1581 49, 50, 49, 50, 0, 0, 0, 0, 49, 50, 49, 50, 0, 0, 0, 0,
1582 49, 50, 49, 50, 0, 0, 0, 0, 49, 50, 49, 50, 0, 0, 0, 0,
1583 49, 50, 49, 50, 0, 0, 0, 0, 49, 50, 49, 50, 0, 0, 0, 0,
1584 49, 50, 49, 50, 0, 0, 0, 0, 49, 50, 49, 50, 0, 0, 0, 0,
1585 49, 50, 49, 50, 0, 0, 0, 0, 49, 50, 49, 50, 0, 0, 0, 0,
1586 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1587 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1588 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1589 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1590 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1591 27, 28, 29, 30, 30, 27, 28, 29, 27, 27, 27, 27, 0, 0, 0, 0,
1592 27, 28, 29, 30, 30, 27, 28, 29, 27, 27, 27, 27, 0, 0, 0, 0,
1593 27, 28, 29, 30, 30, 27, 28, 29, 27, 27, 27, 27, 0, 0, 0, 0,
1594 27, 28, 29, 30, 30, 27, 28, 29, 27, 27, 27, 27, 0, 0, 0, 0,
1595 27, 28, 29, 30, 30, 27, 28, 29, 27, 27, 27, 27, 0, 0, 0, 0,
1596 80, 80, 81, 81, 82, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1597 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1598 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1599 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1600 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
1601 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0,
1602 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1603 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
1604 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1606 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1608 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0,
1609 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0,
1610 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1611 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1612 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1613 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1614 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
1615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1616 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0,
1617 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1618 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1619 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1620 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1621 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1622 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1623 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1624 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1625 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1626 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1627 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1628 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1629 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1630 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1631 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1632 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1633 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1634 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1635 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1636 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1637 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1638 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1639 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1640 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1641 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1642 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1643 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1644 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1645 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1646 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1647 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1648 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1649 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1650 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1653 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1654];
1655
1656pub(crate) static STATE_FLAGS: [u8; 4096] = [
1659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1660 127, 127, 127, 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1661 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1662 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1663 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1664 127, 127, 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1666 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1671 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1672 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1673 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1674 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1675 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1676 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
1677 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1678 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1680 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1681 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1682 127, 127, 127, 127, 127, 127, 0, 0, 127, 127, 127, 127, 127, 127, 0, 0,
1683 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1684 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1687 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1688 72, 72, 72, 72, 72, 72, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
1689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1690 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1691 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1692 72, 72, 72, 72, 72, 72, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
1693 0, 8, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0,
1694 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
1695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1700 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1701 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1702 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
1703 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8,
1704 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1705 117, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1706 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1707 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1708 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1711 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1712 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0,
1713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1715 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1716 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1717 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1720 0, 0, 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1721 0, 0, 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1726 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0,
1727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1732 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1733 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1737 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0,
1738 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1739 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1741 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1743 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1745 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1746 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1747 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1748 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1750 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1755 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1756 127, 127, 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1757 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1758 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 0, 0, 0, 127, 127,
1759 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 0, 0, 0, 127, 127,
1760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1762 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1767 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0,
1768 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0,
1769 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1771 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1773 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0,
1774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1780 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1782 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1783 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1784 127, 127, 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1785 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 0, 0,
1786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1787 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0,
1788 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1792 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1793 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0,
1794 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0,
1795 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0,
1796 127, 127, 127, 127, 127, 127, 0, 0, 127, 127, 127, 127, 127, 127, 0, 0,
1797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1811 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1812 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1813 8, 0, 8, 8, 8, 8, 0, 0, 8, 0, 8, 8, 8, 8, 0, 0,
1814 127, 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1815 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0,
1816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1817 127, 127, 127, 127, 127, 127, 0, 0, 127, 127, 127, 127, 127, 127, 0, 0,
1818 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
1819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1820 53, 53, 0, 0, 53, 53, 0, 0, 53, 53, 0, 0, 53, 53, 0, 0,
1821 127, 127, 0, 0, 127, 127, 0, 0, 127, 127, 0, 0, 127, 127, 0, 0,
1822 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0,
1823 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0,
1824 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1825 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1827 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1828 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1829 127, 0, 0, 0, 127, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0,
1830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1831 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1832 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1833 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1838 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1839 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0,
1840 127, 0, 0, 0, 0, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0,
1841 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
1842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1860 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1861 127, 0, 0, 0, 127, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0,
1862 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0,
1863 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1864 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
1865 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1869 127, 127, 127, 127, 127, 127, 0, 0, 127, 127, 127, 127, 127, 127, 0, 0,
1870 127, 127, 127, 127, 127, 127, 0, 0, 127, 127, 127, 127, 127, 127, 0, 0,
1871 69, 69, 69, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1872 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1873 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1874 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1875 127, 0, 0, 0, 127, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0,
1876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1877 125, 125, 125, 125, 125, 125, 0, 0, 125, 125, 125, 125, 125, 125, 0, 0,
1878 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1879 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1880 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1881 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1882 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1883 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1884 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1885 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1886 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1887 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1888 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1889 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1890 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1891 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1892 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1893 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1894 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1895 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1896 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1897 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1898 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1899 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1900 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1901 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1902 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1903 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1904 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1905 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1906 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1907 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1908 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1909 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1910 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
1911 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
1912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1914 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1915];
1916
1917pub(crate) static REGISTERED_METAS: [u16; 256] = [
1919 1, 127, 1, 7, 1, 63, 16191, 1, 65535, 65535, 65535, 65535, 3, 1, 1, 1,
1920 1, 65535, 65535, 3, 1, 1, 1, 16191, 7, 1, 65295, 16191, 16191, 16191, 1, 7,
1921 1, 16191, 16191, 65535, 16191, 1, 511, 1, 1, 1, 1, 65535, 65535, 1, 3, 1,
1922 1, 1, 62, 65535, 1, 255, 60, 65535, 1, 1, 1, 255, 255, 60, 60, 65535,
1923 4095, 60, 1023, 255, 60, 65535, 3, 4095, 3, 1, 1, 62, 62, 16191, 255, 1,
1924 1, 65535, 1, 65535, 3, 1, 15, 1, 1, 1, 6, 15, 127, 65535, 65535, 65535,
1925 65535, 63, 15, 51199, 51199, 1, 1, 1, 255, 255, 65535, 65535, 255, 255, 1, 1,
1926 1, 1, 255, 15, 1, 255, 15, 1, 255, 1, 1, 1, 1, 63, 16191, 4095,
1927 255, 1, 60, 65535, 32767, 1, 255, 255, 255, 16191, 1, 3, 65535, 255, 255, 16191,
1928 16191, 4095, 60, 65535, 65535, 65535, 65535, 65535, 1, 1, 15677, 31, 255, 16191, 16191, 65535,
1929 65535, 13107, 13107, 255, 255, 1, 1, 65535, 7, 1, 273, 65535, 1, 1, 1, 3903,
1930 65535, 60, 65535, 7, 255, 257, 257, 65535, 65535, 65535, 65535, 65535, 1, 1, 1, 1,
1931 1, 4095, 4095, 4095, 4095, 4095, 63, 1, 63, 1, 273, 255, 1, 257, 1, 15,
1932 1, 1, 16191, 16191, 15, 1, 1, 1, 273, 1, 16191, 63, 63, 63, 63, 63,
1933 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 15, 15, 15, 15, 15,
1934 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 65535, 65535, 0, 0, 15,
1935];
1936
1937pub(crate) static MATERIALS: [Material; 35] = [
1939 Material { name: "air", kind: MaterialKind::Air, blocks_movement: false, solid: false, liquid: false, opaque: false, replaceable: true },
1940 Material { name: "anvil", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: true, replaceable: false },
1941 Material { name: "barrier", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: true, replaceable: false },
1942 Material { name: "cactus", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: false, replaceable: false },
1943 Material { name: "cake", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: true, replaceable: false },
1944 Material { name: "carpet", kind: MaterialKind::Other, blocks_movement: false, solid: false, liquid: false, opaque: false, replaceable: false },
1945 Material { name: "cave_air", kind: MaterialKind::Other, blocks_movement: false, solid: false, liquid: false, opaque: false, replaceable: true },
1946 Material { name: "clay", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: true, replaceable: false },
1947 Material { name: "cobweb", kind: MaterialKind::Other, blocks_movement: false, solid: true, liquid: false, opaque: false, replaceable: false },
1948 Material { name: "decoration", kind: MaterialKind::Other, blocks_movement: false, solid: false, liquid: false, opaque: false, replaceable: false },
1949 Material { name: "dirt", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: true, replaceable: false },
1950 Material { name: "egg", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: true, replaceable: false },
1951 Material { name: "fire", kind: MaterialKind::Other, blocks_movement: false, solid: false, liquid: false, opaque: false, replaceable: true },
1952 Material { name: "foliage", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: false, replaceable: false },
1953 Material { name: "glass", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: false, replaceable: false },
1954 Material { name: "grass", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: true, replaceable: false },
1955 Material { name: "ice", kind: MaterialKind::Ice, blocks_movement: true, solid: true, liquid: false, opaque: false, replaceable: false },
1956 Material { name: "iron", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: true, replaceable: false },
1957 Material { name: "lava", kind: MaterialKind::Lava, blocks_movement: false, solid: false, liquid: true, opaque: false, replaceable: true },
1958 Material { name: "packed_ice", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: true, replaceable: false },
1959 Material { name: "piston", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: true, replaceable: false },
1960 Material { name: "plant", kind: MaterialKind::Other, blocks_movement: false, solid: false, liquid: false, opaque: false, replaceable: false },
1961 Material { name: "portal", kind: MaterialKind::Other, blocks_movement: false, solid: false, liquid: false, opaque: false, replaceable: false },
1962 Material { name: "pumpkin", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: true, replaceable: false },
1963 Material { name: "redstone_lamp", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: true, replaceable: false },
1964 Material { name: "replaceable_plant", kind: MaterialKind::Other, blocks_movement: false, solid: false, liquid: false, opaque: false, replaceable: true },
1965 Material { name: "sand", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: true, replaceable: false },
1966 Material { name: "snow", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: true, replaceable: false },
1967 Material { name: "snow_layer", kind: MaterialKind::Other, blocks_movement: false, solid: false, liquid: false, opaque: false, replaceable: true },
1968 Material { name: "sponge", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: true, replaceable: false },
1969 Material { name: "stone", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: true, replaceable: false },
1970 Material { name: "tnt", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: false, replaceable: false },
1971 Material { name: "water", kind: MaterialKind::Water, blocks_movement: false, solid: false, liquid: true, opaque: false, replaceable: true },
1972 Material { name: "wood", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: true, replaceable: false },
1973 Material { name: "wool", kind: MaterialKind::Other, blocks_movement: true, solid: true, liquid: false, opaque: true, replaceable: false },
1974];
1975
1976pub(crate) static BLOCK_MATERIAL: [u8; 256] = [
1978 0, 30, 15, 10, 30, 33, 21, 30, 32, 32, 18, 18, 26, 26, 30, 30, 30, 33, 13, 29, 14, 30, 17, 30, 30, 33, 34, 9, 9, 20, 8, 25,
1979 25, 20, 20, 34, 20, 21, 21, 21, 21, 17, 17, 30, 30, 30, 31, 33, 30, 30, 9, 12, 30, 33, 33, 9, 30, 17, 33, 21, 10, 30, 30, 33,
1980 33, 9, 9, 30, 33, 9, 30, 17, 33, 30, 30, 9, 9, 9, 28, 16, 27, 3, 7, 21, 33, 33, 23, 30, 26, 14, 22, 23, 4, 9, 9, 14,
1981 33, 7, 30, 33, 33, 17, 14, 23, 21, 21, 25, 33, 30, 30, 15, 21, 30, 30, 30, 21, 30, 17, 17, 22, 30, 30, 11, 24, 24, 33, 33, 21,
1982 30, 30, 30, 9, 9, 17, 33, 33, 33, 17, 14, 30, 9, 21, 21, 9, 9, 1, 33, 17, 17, 9, 9, 33, 17, 30, 17, 30, 30, 9, 30, 30,
1983 14, 13, 33, 33, 33, 7, 2, 17, 30, 14, 15, 5, 30, 30, 19, 25, 33, 33, 33, 30, 30, 30, 30, 33, 33, 33, 33, 33, 33, 33, 33, 33,
1984 33, 33, 33, 33, 33, 33, 9, 21, 21, 30, 30, 30, 30, 30, 30, 21, 10, 22, 17, 17, 16, 30, 15, 30, 30, 6, 30, 30, 30, 30, 30, 30,
1985 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 26, 0, 0, 17,
1986];
1987
1988pub(crate) static BLOCK_BITS: [u8; 256] = [
1991 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15, 1, 7, 1, 1, 1, 1, 1, 1, 1, 1, 15, 1, 1,
1992 1, 15, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1993 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15, 1, 1, 1, 1, 1, 1, 15, 1, 1, 15, 1, 15, 1, 1, 1, 7,
1994 7, 1, 1, 1, 1, 1, 1, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1995 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1996 1, 15, 1, 1, 1, 1, 15, 7, 1, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1997 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15, 15, 15, 15, 15,
1998 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1,
1999];
2000
2001pub(crate) static STATE_FACES: [u32; 4096] = [
2004 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2005 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2006 0, 0, 0, 0, 0, 0, 0, 8947848,
2007 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2008 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2009 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2010 0, 0, 0, 8947848, 8947848, 8947848, 8947848, 8947848,
2011 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2012 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2013 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2014 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2015 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2016 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2017 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2018 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2019 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2020 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2021 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2022 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2023 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2024 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2025 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2026 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2027 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2028 0, 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2029 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2030 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2031 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2032 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2033 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2034 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2035 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2036 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2037 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2038 0, 0, 0, 0, 0, 0, 0, 0,
2039 0, 0, 0, 0, 0, 0, 0, 0,
2040 0, 0, 0, 0, 0, 0, 0, 0,
2041 0, 0, 0, 0, 0, 0, 0, 0,
2042 0, 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2043 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2044 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2045 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2046 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2047 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2048 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2049 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2050 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2051 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2052 0, 0, 0, 8947848, 8947848, 8947848, 8947848, 8947848,
2053 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2054 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2055 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2056 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2057 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2058 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2059 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2060 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2061 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2062 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2063 8947720, 8947840, 8915080, 8945800, 559240, 8423560, 8947848, 8947848,
2064 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2065 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2066 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2067 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2068 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2069 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2070 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2071 8947720, 8947840, 8915080, 8945800, 559240, 8423560, 8947848, 8947848,
2072 8947840, 8947720, 8945800, 8915080, 8423560, 559240, 8947848, 8947848,
2073 8947840, 8947720, 8945800, 8915080, 8423560, 559240, 8947848, 8947848,
2074 0, 0, 0, 0, 0, 0, 0, 0,
2075 0, 0, 0, 0, 0, 0, 0, 0,
2076 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2077 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2078 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2079 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2080 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2081 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2082 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2083 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2084 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2085 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2086 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2087 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2088 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2089 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2090 0, 0, 0, 0, 0, 0, 0, 0,
2091 0, 0, 0, 0, 0, 0, 0, 0,
2092 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840,
2093 8947720, 8947720, 8947720, 8947720, 8947720, 8947720, 8947720, 8947720,
2094 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2095 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2096 0, 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2097 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2098 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2099 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2100 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2101 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2102 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2103 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2104 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2105 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2106 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2107 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2108 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2109 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2110 559232, 8423552, 8915072, 8945792, 559112, 8423432, 8914952, 8945672,
2111 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2112 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2113 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2114 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2115 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2116 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2117 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2118 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2119 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2120 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2121 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2122 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2123 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2124 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840,
2125 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2126 8947848, 8947848, 0, 0, 0, 0, 8947848, 8947848,
2127 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2128 8947848, 8947848, 0, 0, 0, 0, 8947848, 8947848,
2129 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2130 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2131 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2132 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2133 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2134 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2135 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2136 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2137 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2138 559232, 8423552, 8915072, 8945792, 559112, 8423432, 8914952, 8945672,
2139 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2140 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2141 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2142 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2143 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2144 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2145 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2146 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2147 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2148 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2149 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2150 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2151 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2152 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2153 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2154 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2155 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2156 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2157 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2158 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2159 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2160 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840,
2161 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2162 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2163 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2164 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2165 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2166 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2167 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2168 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2169 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2170 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2171 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2172 0, 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2173 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2174 5592388, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2175 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2176 0, 0, 0, 0, 8947848, 8947848, 8947848, 8947848,
2177 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2178 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2179 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2180 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2181 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2182 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2183 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2184 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2185 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2186 0, 0, 0, 0, 8947848, 8947848, 8947848, 8947848,
2187 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2188 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2189 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2190 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840,
2191 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840,
2192 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840,
2193 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840,
2194 0, 0, 0, 0, 0, 0, 0, 0,
2195 0, 0, 0, 0, 0, 0, 0, 0,
2196 8947840, 8947840, 8947840, 8947840, 8947848, 8947848, 8947848, 8947848,
2197 8947720, 8947720, 8947720, 8947720, 8947848, 8947848, 8947848, 8947848,
2198 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2199 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2200 0, 0, 0, 0, 8947848, 8947848, 8947848, 8947848,
2201 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2202 0, 0, 0, 0, 0, 0, 0, 0,
2203 0, 0, 0, 8947848, 8947848, 8947848, 0, 0,
2204 0, 0, 0, 0, 0, 0, 0, 0,
2205 0, 0, 0, 8947848, 8947848, 8947848, 0, 0,
2206 3355426, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2207 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2208 3355426, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2209 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2210 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2211 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2212 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2213 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2214 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2215 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2216 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2217 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2218 5605512, 8934792, 5605512, 8934792, 5605512, 8934792, 5605512, 8934792,
2219 5605512, 8934792, 5605512, 8934792, 5605512, 8934792, 5605512, 8934792,
2220 559232, 8423552, 8915072, 8945792, 559112, 8423432, 8914952, 8945672,
2221 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2222 559232, 8423552, 8915072, 8945792, 559112, 8423432, 8914952, 8945672,
2223 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2224 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2225 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2226 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2227 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2228 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2229 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2230 5592388, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2231 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2232 559232, 8423552, 8915072, 8945792, 559112, 8423432, 8914952, 8945672,
2233 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2234 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2235 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2236 8947840, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2237 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2238 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2239 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2240 24, 24, 24, 24, 8947848, 8947848, 8947848, 8947848,
2241 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2242 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2243 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2244 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840,
2245 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2246 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2247 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2248 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2249 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2250 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2251 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2252 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2253 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2254 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2255 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2256 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947848, 8947848,
2257 8947720, 8947720, 8947720, 8947720, 8947720, 8947720, 8947848, 8947848,
2258 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2259 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2260 559232, 8423552, 8915072, 8945792, 559112, 8423432, 8914952, 8945672,
2261 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2262 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2263 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2264 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2265 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2266 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2267 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2268 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2269 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2270 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2271 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2272 559232, 8423552, 8915072, 8945792, 559112, 8423432, 8914952, 8945672,
2273 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2274 559232, 8423552, 8915072, 8945792, 559112, 8423432, 8914952, 8945672,
2275 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2276 559232, 8423552, 8915072, 8945792, 559112, 8423432, 8914952, 8945672,
2277 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2278 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2279 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2280 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2281 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2282 7829350, 7829350, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2283 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2284 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2285 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2286 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2287 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2288 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2289 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2290 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2291 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2292 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2293 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2294 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2295 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2296 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2297 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2298 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2299 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2300 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2301 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2302 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840,
2303 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840,
2304 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840,
2305 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840,
2306 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840,
2307 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840,
2308 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2309 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2310 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2311 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2312 8947736, 8947848, 8947736, 8947736, 8947736, 8947736, 8947848, 8947848,
2313 8947736, 8947848, 8947736, 8947736, 8947736, 8947736, 8947848, 8947848,
2314 0, 0, 0, 0, 0, 8947848, 8947848, 8947848,
2315 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2316 559232, 8423552, 8915072, 8945792, 559112, 8423432, 8914952, 8945672,
2317 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2318 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2319 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2320 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2321 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2322 0, 0, 0, 0, 0, 0, 0, 0,
2323 0, 0, 0, 0, 0, 0, 0, 0,
2324 3355426, 3355426, 3355426, 3355426, 3355426, 3355426, 3355426, 3355426,
2325 3355426, 3355426, 3355426, 3355426, 3355426, 3355426, 3355426, 3355426,
2326 0, 0, 8947848, 8947848, 0, 0, 8947848, 8947848,
2327 0, 0, 8947848, 8947848, 0, 0, 8947848, 8947848,
2328 0, 0, 8947848, 8947848, 0, 0, 8947848, 8947848,
2329 0, 0, 8947848, 8947848, 0, 0, 8947848, 8947848,
2330 559232, 8423552, 8915072, 8945792, 559112, 8423432, 8914952, 8945672,
2331 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2332 559232, 8423552, 8915072, 8945792, 559112, 8423432, 8914952, 8945672,
2333 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2334 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2335 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2336 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2337 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2338 8947840, 8947840, 8947840, 8947840, 8947848, 8947848, 8947848, 8947848,
2339 8947720, 8947720, 8947720, 8947720, 8947848, 8947848, 8947848, 8947848,
2340 0, 0, 0, 8947848, 8947848, 8947848, 8947848, 8947848,
2341 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2342 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2343 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2344 0, 8947848, 8947848, 8947848, 0, 8947848, 8947848, 8947848,
2345 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2346 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840,
2347 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840,
2348 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2349 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2350 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2351 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2352 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2353 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2354 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2355 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2356 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2357 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2358 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2359 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2360 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840,
2361 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840, 8947840,
2362 0, 0, 0, 8947848, 8947848, 8947848, 8947848, 8947848,
2363 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2364 559232, 8423552, 8915072, 8945792, 559112, 8423432, 8914952, 8945672,
2365 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2366 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2367 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2368 8947840, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2369 8947720, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2370 5605512, 8934792, 5605512, 8934792, 5605512, 8934792, 5605512, 8934792,
2371 5605512, 8934792, 5605512, 8934792, 5605512, 8934792, 5605512, 8934792,
2372 5605512, 8934792, 5605512, 8934792, 5605512, 8934792, 5605512, 8934792,
2373 5605512, 8934792, 5605512, 8934792, 5605512, 8934792, 5605512, 8934792,
2374 5605512, 8934792, 5605512, 8934792, 5605512, 8934792, 5605512, 8934792,
2375 5605512, 8934792, 5605512, 8934792, 5605512, 8934792, 5605512, 8934792,
2376 5605512, 8934792, 5605512, 8934792, 5605512, 8934792, 5605512, 8934792,
2377 5605512, 8934792, 5605512, 8934792, 5605512, 8934792, 5605512, 8934792,
2378 5605512, 8934792, 5605512, 8934792, 5605512, 8934792, 5605512, 8934792,
2379 5605512, 8934792, 5605512, 8934792, 5605512, 8934792, 5605512, 8934792,
2380 5592388, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2381 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2382 5592388, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2383 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2384 5592388, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2385 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2386 5592388, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2387 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2388 5592388, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2389 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2390 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2391 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2392 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2393 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2394 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2395 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2396 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2397 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2398 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2399 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2400 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2401 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2402 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2403 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2404 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2405 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2406 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2407 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2408 0, 8947848, 8947848, 8947848, 0, 8947848, 8947848, 8947848,
2409 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2410 559232, 8423552, 8915072, 8945792, 559112, 8423432, 8914952, 8945672,
2411 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2412 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2413 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2414 8947840, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2415 8947720, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2416 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2417 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2418 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2419 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2420 8947840, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2421 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2422 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2423 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2424 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2425 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2426 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2427 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2428 0, 0, 0, 0, 8947848, 8947848, 8947848, 8947848,
2429 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2430 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2431 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2432 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2433 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2434 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2435 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2436 0, 8947848, 8947848, 8947848, 0, 8947848, 8947848, 8947848,
2437 0, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2438 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2439 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2440 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2441 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2442 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2443 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2444 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2445 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2446 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2447 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2448 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2449 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2450 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2451 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2452 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2453 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2454 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2455 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2456 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2457 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2458 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2459 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2460 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2461 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2462 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2463 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2464 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2465 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2466 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2467 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2468 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2469 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2470 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2471 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2472 0, 0, 0, 0, 0, 0, 8947848, 8947848,
2473 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2474 0, 0, 0, 0, 8947848, 8947848, 8947848, 8947848,
2475 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2476 0, 0, 0, 0, 8947848, 8947848, 8947848, 8947848,
2477 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2478 0, 0, 0, 0, 8947848, 8947848, 8947848, 8947848,
2479 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2480 0, 0, 0, 0, 8947848, 8947848, 8947848, 8947848,
2481 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2482 0, 0, 0, 0, 8947848, 8947848, 8947848, 8947848,
2483 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2484 0, 0, 0, 0, 8947848, 8947848, 8947848, 8947848,
2485 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2486 0, 0, 0, 0, 8947848, 8947848, 8947848, 8947848,
2487 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2488 0, 0, 0, 0, 8947848, 8947848, 8947848, 8947848,
2489 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2490 0, 0, 0, 0, 8947848, 8947848, 8947848, 8947848,
2491 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2492 0, 0, 0, 0, 8947848, 8947848, 8947848, 8947848,
2493 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2494 0, 0, 0, 0, 8947848, 8947848, 8947848, 8947848,
2495 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2496 0, 0, 0, 0, 8947848, 8947848, 8947848, 8947848,
2497 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2498 0, 0, 0, 0, 8947848, 8947848, 8947848, 8947848,
2499 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2500 0, 0, 0, 0, 8947848, 8947848, 8947848, 8947848,
2501 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2502 0, 0, 0, 0, 8947848, 8947848, 8947848, 8947848,
2503 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2504 0, 0, 0, 0, 8947848, 8947848, 8947848, 8947848,
2505 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2506 0, 0, 0, 0, 0, 0, 0, 0,
2507 0, 0, 0, 0, 0, 0, 0, 0,
2508 0, 0, 0, 0, 0, 0, 0, 0,
2509 0, 0, 0, 0, 0, 0, 0, 0,
2510 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2511 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2512 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2513 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2514 0, 0, 0, 0, 8947848, 8947848, 8947848, 8947848,
2515 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848, 8947848,
2516];
2517
2518pub(crate) static SELECTION_BOUNDS: [Aabb; 125] = [
2520 Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 1.0),
2521 Aabb::new(0.09999999403953552, 0.0, 0.09999999403953552, 0.8999999761581421, 0.800000011920929, 0.8999999761581421),
2522 Aabb::new(0.0, 0.0, 0.0, 1.0, 0.5625, 1.0),
2523 Aabb::new(0.0, 0.0, 0.0, 1.0, 0.125, 1.0),
2524 Aabb::new(0.0, 0.0, 0.0, 1.0, 0.5, 1.0),
2525 Aabb::new(0.0, 0.25, 0.0, 1.0, 1.0, 1.0),
2526 Aabb::new(0.0, 0.0, 0.0, 1.0, 0.75, 1.0),
2527 Aabb::new(0.0, 0.0, 0.25, 1.0, 1.0, 1.0),
2528 Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.75),
2529 Aabb::new(0.25, 0.0, 0.0, 1.0, 1.0, 1.0),
2530 Aabb::new(0.0, 0.0, 0.0, 0.75, 1.0, 1.0),
2531 Aabb::new(0.0, 0.0, 0.0, 1.0, 0.25, 1.0),
2532 Aabb::new(0.0, 0.75, 0.0, 1.0, 1.0, 1.0),
2533 Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.25),
2534 Aabb::new(0.0, 0.0, 0.75, 1.0, 1.0, 1.0),
2535 Aabb::new(0.0, 0.0, 0.0, 0.25, 1.0, 1.0),
2536 Aabb::new(0.75, 0.0, 0.0, 1.0, 1.0, 1.0),
2537 Aabb::new(0.050000011920928955, 0.0, 0.050000011920928955, 0.44999998807907104, 0.6000000238418579, 0.44999998807907104),
2538 Aabb::new(0.30000001192092896, 0.0, 0.30000001192092896, 0.699999988079071, 0.4000000059604645, 0.699999988079071),
2539 Aabb::new(0.0, 0.5, 0.0, 1.0, 1.0, 1.0),
2540 Aabb::new(0.0, 0.20000000298023224, 0.3499999940395355, 0.30000001192092896, 0.800000011920929, 0.6499999761581421),
2541 Aabb::new(0.699999988079071, 0.20000000298023224, 0.3499999940395355, 1.0, 0.800000011920929, 0.6499999761581421),
2542 Aabb::new(0.3499999940395355, 0.20000000298023224, 0.0, 0.6499999761581421, 0.800000011920929, 0.30000001192092896),
2543 Aabb::new(0.3499999940395355, 0.20000000298023224, 0.699999988079071, 0.6499999761581421, 0.800000011920929, 1.0),
2544 Aabb::new(0.4000000059604645, 0.0, 0.4000000059604645, 0.6000000238418579, 0.6000000238418579, 0.6000000238418579),
2545 Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.875, 0.9375),
2546 Aabb::new(0.1875, 0.0, 0.1875, 0.8125, 0.0625, 0.8125),
2547 Aabb::new(0.0, 0.0, 0.0, 1.0, 0.375, 1.0),
2548 Aabb::new(0.0, 0.0, 0.0, 1.0, 0.625, 1.0),
2549 Aabb::new(0.0, 0.0, 0.0, 1.0, 0.875, 1.0),
2550 Aabb::new(0.0, 0.0, 0.0, 1.0, 0.9375, 1.0),
2551 Aabb::new(0.25, 0.0, 0.25, 0.75, 1.0, 0.75),
2552 Aabb::new(0.0, 0.0, 0.0, 0.1875, 1.0, 1.0),
2553 Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.1875),
2554 Aabb::new(0.8125, 0.0, 0.0, 1.0, 1.0, 1.0),
2555 Aabb::new(0.0, 0.0, 0.8125, 1.0, 1.0, 1.0),
2556 Aabb::new(0.0, 0.28125, 0.875, 1.0, 0.78125, 1.0),
2557 Aabb::new(0.0, 0.28125, 0.0, 1.0, 0.78125, 0.125),
2558 Aabb::new(0.875, 0.28125, 0.0, 1.0, 0.78125, 1.0),
2559 Aabb::new(0.0, 0.28125, 0.0, 0.125, 0.78125, 1.0),
2560 Aabb::new(0.25, 0.4000000059604645, 0.25, 0.75, 1.0, 0.75),
2561 Aabb::new(0.0, 0.20000000298023224, 0.3125, 0.375, 0.800000011920929, 0.6875),
2562 Aabb::new(0.625, 0.20000000298023224, 0.3125, 1.0, 0.800000011920929, 0.6875),
2563 Aabb::new(0.3125, 0.20000000298023224, 0.0, 0.6875, 0.800000011920929, 0.375),
2564 Aabb::new(0.3125, 0.20000000298023224, 0.625, 0.6875, 0.800000011920929, 1.0),
2565 Aabb::new(0.25, 0.0, 0.25, 0.75, 0.6000000238418579, 0.75),
2566 Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.0625, 0.9375),
2567 Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.03125, 0.9375),
2568 Aabb::new(0.3125, 0.875, 0.375, 0.6875, 1.0, 0.625),
2569 Aabb::new(0.0, 0.375, 0.3125, 0.125, 0.625, 0.6875),
2570 Aabb::new(0.875, 0.375, 0.3125, 1.0, 0.625, 0.6875),
2571 Aabb::new(0.3125, 0.375, 0.0, 0.6875, 0.625, 0.125),
2572 Aabb::new(0.3125, 0.375, 0.875, 0.6875, 0.625, 1.0),
2573 Aabb::new(0.3125, 0.0, 0.375, 0.6875, 0.125, 0.625),
2574 Aabb::new(0.3125, 0.9375, 0.375, 0.6875, 1.0, 0.625),
2575 Aabb::new(0.0, 0.375, 0.3125, 0.0625, 0.625, 0.6875),
2576 Aabb::new(0.9375, 0.375, 0.3125, 1.0, 0.625, 0.6875),
2577 Aabb::new(0.3125, 0.375, 0.0, 0.6875, 0.625, 0.0625),
2578 Aabb::new(0.3125, 0.375, 0.9375, 0.6875, 0.625, 1.0),
2579 Aabb::new(0.3125, 0.0, 0.375, 0.6875, 0.0625, 0.625),
2580 Aabb::new(0.125, 0.0, 0.125, 0.875, 1.0, 0.875),
2581 Aabb::new(0.375, 0.0, 0.375, 0.625, 1.0, 0.625),
2582 Aabb::new(0.0, 0.0, 0.375, 1.0, 1.0, 0.625),
2583 Aabb::new(0.375, 0.0, 0.0, 0.625, 1.0, 1.0),
2584 Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.5, 0.9375),
2585 Aabb::new(0.1875, 0.0, 0.0625, 0.9375, 0.5, 0.9375),
2586 Aabb::new(0.3125, 0.0, 0.0625, 0.9375, 0.5, 0.9375),
2587 Aabb::new(0.4375, 0.0, 0.0625, 0.9375, 0.5, 0.9375),
2588 Aabb::new(0.5625, 0.0, 0.0625, 0.9375, 0.5, 0.9375),
2589 Aabb::new(0.6875, 0.0, 0.0625, 0.9375, 0.5, 0.9375),
2590 Aabb::new(0.8125, 0.0, 0.0625, 0.9375, 0.5, 0.9375),
2591 Aabb::new(0.0, 0.0, 0.0, 1.0, 0.1875, 1.0),
2592 Aabb::new(0.0, 0.8125, 0.0, 1.0, 1.0, 1.0),
2593 Aabb::new(0.4375, 0.0, 0.4375, 0.5625, 1.0, 0.5625),
2594 Aabb::new(0.375, 0.0, 0.375, 0.625, 0.125, 0.625),
2595 Aabb::new(0.375, 0.0, 0.375, 0.625, 0.25, 0.625),
2596 Aabb::new(0.375, 0.0, 0.375, 0.625, 0.375, 0.625),
2597 Aabb::new(0.375, 0.0, 0.375, 0.625, 0.5, 0.625),
2598 Aabb::new(0.375, 0.0, 0.375, 0.625, 0.625, 0.625),
2599 Aabb::new(0.375, 0.0, 0.375, 0.625, 0.75, 0.625),
2600 Aabb::new(0.375, 0.0, 0.375, 0.625, 0.875, 0.625),
2601 Aabb::new(0.0, 0.0, 0.9375, 1.0, 1.0, 1.0),
2602 Aabb::new(0.0, 0.0, 0.0, 0.0625, 1.0, 1.0),
2603 Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.0625),
2604 Aabb::new(0.9375, 0.0, 0.0, 1.0, 1.0, 1.0),
2605 Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.09375, 0.9375),
2606 Aabb::new(0.0, 0.0, 0.0, 1.0, 0.3125, 1.0),
2607 Aabb::new(0.0, 0.0, 0.0, 1.0, 0.6875, 1.0),
2608 Aabb::new(0.0, 0.0, 0.0, 1.0, 0.8125, 1.0),
2609 Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 1.0, 0.9375),
2610 Aabb::new(0.375, 0.4375, 0.6875, 0.625, 0.75, 0.9375),
2611 Aabb::new(0.0625, 0.4375, 0.375, 0.3125, 0.75, 0.625),
2612 Aabb::new(0.375, 0.4375, 0.0625, 0.625, 0.75, 0.3125),
2613 Aabb::new(0.6875, 0.4375, 0.375, 0.9375, 0.75, 0.625),
2614 Aabb::new(0.3125, 0.3125, 0.5625, 0.6875, 0.75, 0.9375),
2615 Aabb::new(0.0625, 0.3125, 0.3125, 0.4375, 0.75, 0.6875),
2616 Aabb::new(0.3125, 0.3125, 0.0625, 0.6875, 0.75, 0.4375),
2617 Aabb::new(0.5625, 0.3125, 0.3125, 0.9375, 0.75, 0.6875),
2618 Aabb::new(0.25, 0.1875, 0.4375, 0.75, 0.75, 0.9375),
2619 Aabb::new(0.0625, 0.1875, 0.25, 0.5625, 0.75, 0.75),
2620 Aabb::new(0.25, 0.1875, 0.0625, 0.75, 0.75, 0.5625),
2621 Aabb::new(0.4375, 0.1875, 0.25, 0.9375, 0.75, 0.75),
2622 Aabb::new(0.3125, 0.0, 0.0, 0.6875, 0.625, 0.375),
2623 Aabb::new(0.625, 0.0, 0.3125, 1.0, 0.625, 0.6875),
2624 Aabb::new(0.3125, 0.0, 0.625, 0.6875, 0.625, 1.0),
2625 Aabb::new(0.0, 0.0, 0.3125, 0.375, 0.625, 0.6875),
2626 Aabb::new(0.0, 0.0625, 0.0, 1.0, 0.15625, 1.0),
2627 Aabb::new(0.3125, 0.0, 0.3125, 0.6875, 0.375, 0.6875),
2628 Aabb::new(0.0, 0.0, 0.0, 1.0, 0.4375, 1.0),
2629 Aabb::new(0.25, 0.0, 0.25, 0.75, 0.5, 0.75),
2630 Aabb::new(0.25, 0.25, 0.5, 0.75, 0.75, 1.0),
2631 Aabb::new(0.25, 0.25, 0.0, 0.75, 0.75, 0.5),
2632 Aabb::new(0.5, 0.25, 0.25, 1.0, 0.75, 0.75),
2633 Aabb::new(0.0, 0.25, 0.25, 0.5, 0.75, 0.75),
2634 Aabb::new(0.125, 0.0, 0.0, 0.875, 1.0, 1.0),
2635 Aabb::new(0.0, 0.0, 0.125, 1.0, 1.0, 0.875),
2636 Aabb::new(0.0, 0.0, 0.0, 1.0, 0.0625, 1.0),
2637 Aabb::new(0.0, 0.0, 0.875, 1.0, 0.78125, 1.0),
2638 Aabb::new(0.0, 0.0, 0.0, 1.0, 0.78125, 0.125),
2639 Aabb::new(0.875, 0.0, 0.0, 1.0, 0.78125, 1.0),
2640 Aabb::new(0.0, 0.0, 0.0, 0.125, 0.78125, 1.0),
2641 Aabb::new(0.375, 0.375, 0.0, 0.625, 0.625, 1.0),
2642 Aabb::new(0.0, 0.375, 0.375, 1.0, 0.625, 0.625),
2643 Aabb::new(0.1875, 0.1875, 0.1875, 0.8125, 0.8125, 0.8125),
2644 Aabb::new(0.3, 0.3, 0.3, 0.7, 0.7, 0.7),
2645];
2646
2647pub(crate) static STATE_SELECTION: [u16; 4096] = [
2649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2655 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0,
2656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2675 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2,
2676 3, 3, 4, 4, 4, 4, 0, 0, 3, 3, 4, 4, 4, 4, 0, 0,
2677 3, 3, 4, 4, 4, 4, 0, 0, 3, 3, 4, 4, 4, 4, 0, 0,
2678 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 8, 9, 10, 0, 0,
2679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2680 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2681 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2682 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 8, 9, 10, 0, 0,
2683 11, 12, 13, 14, 15, 16, 0, 0, 11, 12, 13, 14, 15, 16, 0, 0,
2684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2686 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2687 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0,
2688 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2689 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2690 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2691 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2693 4, 4, 4, 4, 4, 4, 4, 4, 19, 19, 19, 19, 19, 19, 19, 19,
2694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2699 0, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2703 0, 0, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2704 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
2705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2708 3, 11, 27, 4, 28, 6, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2709 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0,
2710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2712 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
2713 32, 33, 34, 35, 35, 32, 33, 34, 32, 32, 32, 32, 0, 0, 0, 0,
2714 0, 0, 35, 33, 34, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2715 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0,
2716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2717 0, 0, 36, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2718 40, 41, 42, 43, 44, 45, 45, 40, 40, 41, 42, 43, 44, 45, 45, 40,
2719 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2720 32, 33, 34, 35, 35, 32, 33, 34, 32, 32, 32, 32, 0, 0, 0, 0,
2721 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2724 0, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2725 0, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2726 48, 49, 50, 51, 52, 53, 0, 0, 54, 55, 56, 57, 58, 59, 0, 0,
2727 3, 11, 27, 4, 28, 6, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2732 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
2733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2734 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2739 0, 62, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2741 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2742 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2743 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2745 71, 71, 71, 71, 35, 33, 34, 32, 72, 72, 72, 72, 35, 33, 34, 32,
2746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2750 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2751 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2753 74, 75, 76, 77, 78, 79, 80, 61, 0, 0, 0, 0, 0, 0, 0, 0,
2754 74, 75, 76, 77, 78, 79, 80, 61, 0, 0, 0, 0, 0, 0, 0, 0,
2755 0, 81, 82, 0, 83, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0,
2756 62, 63, 62, 63, 62, 63, 62, 63, 62, 63, 62, 63, 62, 63, 62, 63,
2757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2760 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2762 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2764 86, 4, 87, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2765 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2766 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
2767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2768 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2769 88, 88, 88, 88, 88, 88, 88, 88, 0, 0, 0, 0, 0, 0, 0, 0,
2770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2771 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2775 4, 4, 4, 4, 4, 4, 0, 0, 19, 19, 19, 19, 19, 19, 0, 0,
2776 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 0, 0, 0, 0,
2777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2779 0, 0, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2780 102, 103, 104, 105, 102, 103, 104, 105, 102, 103, 104, 105, 102, 103, 104, 105,
2781 4, 4, 4, 4, 106, 106, 106, 106, 4, 4, 4, 4, 106, 106, 106, 0,
2782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2788 31, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2789 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2790 3, 71, 11, 86, 27, 108, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0,
2791 3, 71, 11, 86, 27, 108, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0,
2792 48, 49, 50, 51, 52, 53, 0, 0, 54, 55, 56, 57, 58, 59, 0, 0,
2793 109, 109, 110, 111, 112, 113, 0, 0, 109, 109, 110, 111, 112, 113, 0, 0,
2794 114, 115, 114, 115, 114, 115, 114, 115, 114, 115, 114, 115, 0, 0, 0, 0,
2795 0, 0, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2796 46, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
2797 46, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
2798 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2799 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2800 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
2801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2806 3, 3, 4, 4, 4, 4, 0, 0, 3, 3, 4, 4, 4, 4, 0, 0,
2807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2809 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
2810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2816 71, 71, 71, 71, 35, 33, 34, 32, 72, 72, 72, 72, 35, 33, 34, 32,
2817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2818 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2820 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
2821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2825 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
2826 0, 0, 117, 118, 119, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2827 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
2828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2831 4, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0,
2832 62, 63, 62, 63, 62, 63, 62, 63, 62, 63, 62, 63, 62, 63, 62, 63,
2833 62, 63, 62, 63, 62, 63, 62, 63, 62, 63, 62, 63, 62, 63, 62, 63,
2834 62, 63, 62, 63, 62, 63, 62, 63, 62, 63, 62, 63, 62, 63, 62, 63,
2835 62, 63, 62, 63, 62, 63, 62, 63, 62, 63, 62, 63, 62, 63, 62, 63,
2836 62, 63, 62, 63, 62, 63, 62, 63, 62, 63, 62, 63, 62, 63, 62, 63,
2837 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2838 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2839 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2840 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2841 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2842 32, 33, 34, 35, 35, 32, 33, 34, 32, 32, 32, 32, 0, 0, 0, 0,
2843 32, 33, 34, 35, 35, 32, 33, 34, 32, 32, 32, 32, 0, 0, 0, 0,
2844 32, 33, 34, 35, 35, 32, 33, 34, 32, 32, 32, 32, 0, 0, 0, 0,
2845 32, 33, 34, 35, 35, 32, 33, 34, 32, 32, 32, 32, 0, 0, 0, 0,
2846 32, 33, 34, 35, 35, 32, 33, 34, 32, 32, 32, 32, 0, 0, 0, 0,
2847 61, 61, 121, 121, 122, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2848 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2854 4, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0,
2855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2856 3, 11, 27, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2857 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2866 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2905];
2906
2907pub(crate) static STATE_SELECTION_FLAGS: [u8; 4096] = [
2909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2910 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2911 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2912 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2913 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2914 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2915 3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0,
2916 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2917 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2918 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2919 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2920 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2921 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2922 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2923 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2924 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2925 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2926 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2927 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2928 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2929 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2930 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2931 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2932 7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
2933 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2934 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2935 7, 7, 7, 7, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7,
2936 3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0,
2937 3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0,
2938 7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
2939 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2940 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2941 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2942 7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
2943 7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
2944 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2945 3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0,
2946 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2947 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0,
2948 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2949 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2950 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2951 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2952 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2953 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2954 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2955 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2956 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2957 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2958 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2959 0, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2961 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2962 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
2963 0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2964 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2965 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2966 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2967 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2968 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
2969 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
2970 0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2971 0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2972 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2973 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
2974 0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2975 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0,
2976 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
2977 0, 0, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2978 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2979 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2980 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
2981 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2982 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2983 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2984 0, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2985 0, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2986 3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0,
2987 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
2988 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2989 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2990 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2991 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2992 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2993 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2994 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2995 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2996 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2997 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2998 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2999 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3000 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3001 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3002 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3003 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3004 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3005 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3006 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3007 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3008 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 7, 7,
3009 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 7, 7,
3010 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3011 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3012 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3013 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
3014 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
3015 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3016 7, 7, 7, 7, 3, 3, 3, 3, 7, 7, 7, 7, 3, 3, 3, 3,
3017 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
3018 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
3019 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3020 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3021 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3022 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3023 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
3024 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3025 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3026 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
3027 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3028 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3029 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
3030 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3031 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3032 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3033 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3034 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3035 7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
3036 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
3037 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
3038 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3039 0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3040 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3041 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0,
3042 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3043 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
3044 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
3045 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
3046 7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
3047 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3048 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3049 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3050 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
3051 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
3052 3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0,
3053 7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
3054 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
3055 0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3056 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3057 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3058 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3059 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3060 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3061 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3062 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3063 7, 0, 7, 7, 7, 7, 0, 0, 7, 0, 7, 7, 7, 7, 0, 0,
3064 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3065 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
3066 3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0,
3067 7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
3068 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3069 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3070 7, 7, 0, 0, 7, 7, 0, 0, 7, 7, 0, 0, 7, 7, 0, 0,
3071 7, 7, 0, 0, 7, 7, 0, 0, 7, 7, 0, 0, 7, 7, 0, 0,
3072 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
3073 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
3074 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3075 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3076 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3077 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3078 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3079 7, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
3080 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3081 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3082 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3083 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3084 3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 0, 0, 0, 0,
3085 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3086 0, 0, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3087 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3088 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3089 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
3090 7, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
3091 7, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
3092 7, 7, 7, 7, 3, 3, 3, 3, 7, 7, 7, 7, 3, 3, 3, 3,
3093 7, 7, 7, 7, 3, 3, 3, 3, 7, 7, 7, 7, 3, 3, 3, 3,
3094 7, 7, 7, 7, 3, 3, 3, 3, 7, 7, 7, 7, 3, 3, 3, 3,
3095 7, 7, 7, 7, 3, 3, 3, 3, 7, 7, 7, 7, 3, 3, 3, 3,
3096 7, 7, 7, 7, 3, 3, 3, 3, 7, 7, 7, 7, 3, 3, 3, 3,
3097 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3098 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3099 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3100 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3101 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3102 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
3103 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
3104 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
3105 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
3106 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
3107 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3108 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3109 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3110 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3111 7, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
3112 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
3113 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3114 7, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
3115 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3116 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3117 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3118 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3119 7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
3120 7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
3121 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3122 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3123 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3124 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3125 7, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
3126 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3127 7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
3128 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3129 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3130 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3131 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3132 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3133 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3134 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3135 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3136 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3137 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3138 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3139 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3140 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3141 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3142 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3143 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3144 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3145 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3146 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3147 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3148 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3149 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3150 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3151 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3152 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3153 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3154 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3155 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3156 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3157 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3158 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3159 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3160 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3161 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3162 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3164 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3165];