ghast-data 0.2.2

Static Minecraft Java Edition game data for the ghast client library: blocks, block states, collision shapes, items, entities, biomes, enchantments, foods (generated from PrismarineJS minecraft-data)
Documentation
//! 1.8.9 crafting recipes in vanilla match order (first match wins).
//!
//! @generated by `cargo run -p ghast-codegen-data` from the vanilla 1.8.9 oracle's recipe dump — do not edit.
//! Sources: tests/golden/1.8.9/recipes.jsonl.gz.

#![allow(clippy::all, clippy::pedantic, clippy::nursery, missing_docs)]

use crate::v1_8::{Recipe, SpecialRecipe};

pub(crate) static RECIPES: [Recipe; 373] = [
    Recipe::Special(SpecialRecipe::ArmorDye),
    Recipe::Special(SpecialRecipe::Firework),
    Recipe::Special(SpecialRecipe::BannerPattern),
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), None, Some((280, 0)), None, None, Some((280, 0)), None], output: (270, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((4, 32767)), Some((4, 32767)), Some((4, 32767)), None, Some((280, 0)), None, None, Some((280, 0)), None], output: (274, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((265, 0)), Some((265, 0)), Some((265, 0)), None, Some((280, 0)), None, None, Some((280, 0)), None], output: (257, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((264, 0)), Some((264, 0)), Some((264, 0)), None, Some((280, 0)), None, None, Some((280, 0)), None], output: (278, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((266, 0)), Some((266, 0)), Some((266, 0)), None, Some((280, 0)), None, None, Some((280, 0)), None], output: (285, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[None, Some((280, 0)), Some((287, 0)), Some((280, 0)), None, Some((287, 0)), None, Some((280, 0)), Some((287, 0))], output: (261, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((266, 0)), Some((266, 0)), Some((266, 0)), Some((266, 0)), Some((266, 0)), Some((266, 0)), Some((266, 0)), Some((266, 0)), Some((266, 0))], output: (41, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((265, 0))], output: (42, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((264, 0)), Some((264, 0)), Some((264, 0)), Some((264, 0)), Some((264, 0)), Some((264, 0)), Some((264, 0)), Some((264, 0)), Some((264, 0))], output: (57, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((388, 0)), Some((388, 0)), Some((388, 0)), Some((388, 0)), Some((388, 0)), Some((388, 0)), Some((388, 0)), Some((388, 0)), Some((388, 0))], output: (133, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((351, 4)), Some((351, 4)), Some((351, 4)), Some((351, 4)), Some((351, 4)), Some((351, 4)), Some((351, 4)), Some((351, 4)), Some((351, 4))], output: (22, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((331, 0)), Some((331, 0)), Some((331, 0)), Some((331, 0)), Some((331, 0)), Some((331, 0)), Some((331, 0)), Some((331, 0)), Some((331, 0))], output: (152, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((263, 0)), Some((263, 0)), Some((263, 0)), Some((263, 0)), Some((263, 0)), Some((263, 0)), Some((263, 0)), Some((263, 0)), Some((263, 0))], output: (173, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((296, 0)), Some((296, 0)), Some((296, 0)), Some((296, 0)), Some((296, 0)), Some((296, 0)), Some((296, 0)), Some((296, 0)), Some((296, 0))], output: (170, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((341, 0)), Some((341, 0)), Some((341, 0)), Some((341, 0)), Some((341, 0)), Some((341, 0)), Some((341, 0)), Some((341, 0)), Some((341, 0))], output: (165, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((371, 0)), Some((371, 0)), Some((371, 0)), Some((371, 0)), Some((371, 0)), Some((371, 0)), Some((371, 0)), Some((371, 0)), Some((371, 0))], output: (266, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[None, Some((412, 0)), None, Some((391, 0)), Some((393, 0)), Some((39, 32767)), None, Some((281, 0)), None], output: (413, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[None, Some((412, 0)), None, Some((391, 0)), Some((393, 0)), Some((40, 32767)), None, Some((281, 0)), None], output: (413, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((360, 0)), Some((360, 0)), Some((360, 0)), Some((360, 0)), Some((360, 0)), Some((360, 0)), Some((360, 0)), Some((360, 0)), Some((360, 0))], output: (103, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), None, Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), Some((5, 32767))], output: (54, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((49, 32767)), Some((49, 32767)), Some((49, 32767)), Some((49, 32767)), Some((381, 0)), Some((49, 32767)), Some((49, 32767)), Some((49, 32767)), Some((49, 32767))], output: (130, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((4, 32767)), Some((4, 32767)), Some((4, 32767)), Some((4, 32767)), None, Some((4, 32767)), Some((4, 32767)), Some((4, 32767)), Some((4, 32767))], output: (61, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[None, Some((331, 0)), None, Some((331, 0)), Some((89, 32767)), Some((331, 0)), None, Some((331, 0)), None], output: (123, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((20, 32767)), Some((20, 32767)), Some((20, 32767)), Some((20, 32767)), Some((399, 0)), Some((20, 32767)), Some((49, 32767)), Some((49, 32767)), Some((49, 32767))], output: (138, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((409, 0)), Some((409, 0)), Some((409, 0)), Some((409, 0)), Some((409, 0)), Some((409, 0)), Some((409, 0)), Some((409, 0)), Some((409, 0))], output: (168, 1, 1) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((409, 0)), Some((409, 0)), Some((409, 0)), Some((409, 0)), Some((351, 0)), Some((409, 0)), Some((409, 0)), Some((409, 0)), Some((409, 0))], output: (168, 1, 2) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((409, 0)), Some((410, 0)), Some((409, 0)), Some((410, 0)), Some((410, 0)), Some((410, 0)), Some((409, 0)), Some((410, 0)), Some((409, 0))], output: (169, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((334, 0)), None, Some((334, 0)), Some((334, 0)), Some((334, 0)), Some((334, 0)), Some((334, 0)), Some((334, 0)), Some((334, 0))], output: (299, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((334, 0)), Some((334, 0)), Some((334, 0)), Some((334, 0)), None, Some((334, 0)), Some((334, 0)), None, Some((334, 0))], output: (300, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((265, 0)), None, Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((265, 0))], output: (307, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((265, 0)), None, Some((265, 0)), Some((265, 0)), None, Some((265, 0))], output: (308, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((264, 0)), None, Some((264, 0)), Some((264, 0)), Some((264, 0)), Some((264, 0)), Some((264, 0)), Some((264, 0)), Some((264, 0))], output: (311, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((264, 0)), Some((264, 0)), Some((264, 0)), Some((264, 0)), None, Some((264, 0)), Some((264, 0)), None, Some((264, 0))], output: (312, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((266, 0)), None, Some((266, 0)), Some((266, 0)), Some((266, 0)), Some((266, 0)), Some((266, 0)), Some((266, 0)), Some((266, 0))], output: (315, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((266, 0)), Some((266, 0)), Some((266, 0)), Some((266, 0)), None, Some((266, 0)), Some((266, 0)), None, Some((266, 0))], output: (316, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((351, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0))], output: (159, 8, 15) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((351, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0))], output: (95, 8, 15) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((351, 1)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0))], output: (159, 8, 14) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((351, 1)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0))], output: (95, 8, 14) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((351, 2)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0))], output: (159, 8, 13) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((351, 2)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0))], output: (95, 8, 13) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((351, 3)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0))], output: (159, 8, 12) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((351, 3)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0))], output: (95, 8, 12) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((351, 4)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0))], output: (159, 8, 11) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((351, 4)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0))], output: (95, 8, 11) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((351, 5)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0))], output: (159, 8, 10) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((351, 5)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0))], output: (95, 8, 10) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((351, 6)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0))], output: (159, 8, 9) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((351, 6)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0))], output: (95, 8, 9) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((351, 7)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0))], output: (159, 8, 8) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((351, 7)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0))], output: (95, 8, 8) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((351, 8)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0))], output: (159, 8, 7) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((351, 8)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0))], output: (95, 8, 7) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((351, 9)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0))], output: (159, 8, 6) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((351, 9)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0))], output: (95, 8, 6) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((351, 10)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0))], output: (159, 8, 5) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((351, 10)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0))], output: (95, 8, 5) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((351, 11)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0))], output: (159, 8, 4) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((351, 11)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0))], output: (95, 8, 4) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((351, 12)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0))], output: (159, 8, 3) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((351, 12)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0))], output: (95, 8, 3) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((351, 13)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0))], output: (159, 8, 2) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((351, 13)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0))], output: (95, 8, 2) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((351, 14)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0))], output: (159, 8, 1) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((351, 14)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0))], output: (95, 8, 1) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((351, 15)), Some((172, 0)), Some((172, 0)), Some((172, 0)), Some((172, 0))], output: (159, 8, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((351, 15)), Some((20, 0)), Some((20, 0)), Some((20, 0)), Some((20, 0))], output: (95, 8, 0) },
    Recipe::Special(SpecialRecipe::BookCloning),
    Recipe::Special(SpecialRecipe::MapCloning),
    Recipe::Special(SpecialRecipe::MapUpscale),
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((35, 0)), Some((35, 0)), Some((35, 0)), Some((35, 0)), Some((35, 0)), Some((35, 0)), None, Some((280, 0)), None], output: (425, 1, 15) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((35, 1)), Some((35, 1)), Some((35, 1)), Some((35, 1)), Some((35, 1)), Some((35, 1)), None, Some((280, 0)), None], output: (425, 1, 14) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((35, 2)), Some((35, 2)), Some((35, 2)), Some((35, 2)), Some((35, 2)), Some((35, 2)), None, Some((280, 0)), None], output: (425, 1, 13) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((35, 3)), Some((35, 3)), Some((35, 3)), Some((35, 3)), Some((35, 3)), Some((35, 3)), None, Some((280, 0)), None], output: (425, 1, 12) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((35, 4)), Some((35, 4)), Some((35, 4)), Some((35, 4)), Some((35, 4)), Some((35, 4)), None, Some((280, 0)), None], output: (425, 1, 11) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((35, 5)), Some((35, 5)), Some((35, 5)), Some((35, 5)), Some((35, 5)), Some((35, 5)), None, Some((280, 0)), None], output: (425, 1, 10) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((35, 6)), Some((35, 6)), Some((35, 6)), Some((35, 6)), Some((35, 6)), Some((35, 6)), None, Some((280, 0)), None], output: (425, 1, 9) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((35, 7)), Some((35, 7)), Some((35, 7)), Some((35, 7)), Some((35, 7)), Some((35, 7)), None, Some((280, 0)), None], output: (425, 1, 8) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((35, 8)), Some((35, 8)), Some((35, 8)), Some((35, 8)), Some((35, 8)), Some((35, 8)), None, Some((280, 0)), None], output: (425, 1, 7) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((35, 9)), Some((35, 9)), Some((35, 9)), Some((35, 9)), Some((35, 9)), Some((35, 9)), None, Some((280, 0)), None], output: (425, 1, 6) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((35, 10)), Some((35, 10)), Some((35, 10)), Some((35, 10)), Some((35, 10)), Some((35, 10)), None, Some((280, 0)), None], output: (425, 1, 5) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((35, 11)), Some((35, 11)), Some((35, 11)), Some((35, 11)), Some((35, 11)), Some((35, 11)), None, Some((280, 0)), None], output: (425, 1, 4) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((35, 12)), Some((35, 12)), Some((35, 12)), Some((35, 12)), Some((35, 12)), Some((35, 12)), None, Some((280, 0)), None], output: (425, 1, 3) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((35, 13)), Some((35, 13)), Some((35, 13)), Some((35, 13)), Some((35, 13)), Some((35, 13)), None, Some((280, 0)), None], output: (425, 1, 2) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((35, 14)), Some((35, 14)), Some((35, 14)), Some((35, 14)), Some((35, 14)), Some((35, 14)), None, Some((280, 0)), None], output: (425, 1, 1) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((35, 15)), Some((35, 15)), Some((35, 15)), Some((35, 15)), Some((35, 15)), Some((35, 15)), None, Some((280, 0)), None], output: (425, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), Some((264, 0)), Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), Some((5, 32767))], output: (84, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((287, 0)), Some((287, 0)), None, Some((287, 0)), Some((341, 0)), None, None, None, Some((287, 0))], output: (420, 2, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), Some((331, 0)), Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), Some((5, 32767))], output: (25, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), Some((340, 0)), Some((340, 0)), Some((340, 0)), Some((5, 32767)), Some((5, 32767)), Some((5, 32767))], output: (47, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((289, 0)), Some((12, 32767)), Some((289, 0)), Some((12, 32767)), Some((289, 0)), Some((12, 32767)), Some((289, 0)), Some((12, 32767)), Some((289, 0))], output: (46, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((280, 0)), None, Some((280, 0)), Some((280, 0)), Some((280, 0)), Some((280, 0)), Some((280, 0)), None, Some((280, 0))], output: (65, 3, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), None, Some((280, 0)), None], output: (323, 3, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((335, 0)), Some((335, 0)), Some((335, 0)), Some((353, 0)), Some((344, 0)), Some((353, 0)), Some((296, 0)), Some((296, 0)), Some((296, 0))], output: (354, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((265, 0)), None, Some((265, 0)), Some((265, 0)), Some((280, 0)), Some((265, 0)), Some((265, 0)), None, Some((265, 0))], output: (66, 16, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((266, 0)), None, Some((266, 0)), Some((266, 0)), Some((280, 0)), Some((266, 0)), Some((266, 0)), Some((331, 0)), Some((266, 0))], output: (27, 6, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((265, 0)), Some((280, 0)), Some((265, 0)), Some((265, 0)), Some((76, 32767)), Some((265, 0)), Some((265, 0)), Some((280, 0)), Some((265, 0))], output: (157, 6, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((265, 0)), None, Some((265, 0)), Some((265, 0)), Some((70, 32767)), Some((265, 0)), Some((265, 0)), Some((331, 0)), Some((265, 0))], output: (28, 6, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((265, 0)), None, Some((265, 0)), Some((265, 0)), None, Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((265, 0))], output: (380, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((5, 0)), None, None, Some((5, 0)), Some((5, 0)), None, Some((5, 0)), Some((5, 0)), Some((5, 0))], output: (53, 4, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((5, 2)), None, None, Some((5, 2)), Some((5, 2)), None, Some((5, 2)), Some((5, 2)), Some((5, 2))], output: (135, 4, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((5, 1)), None, None, Some((5, 1)), Some((5, 1)), None, Some((5, 1)), Some((5, 1)), Some((5, 1))], output: (134, 4, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((5, 3)), None, None, Some((5, 3)), Some((5, 3)), None, Some((5, 3)), Some((5, 3)), Some((5, 3))], output: (136, 4, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((5, 4)), None, None, Some((5, 4)), Some((5, 4)), None, Some((5, 4)), Some((5, 4)), Some((5, 4))], output: (163, 4, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((5, 5)), None, None, Some((5, 5)), Some((5, 5)), None, Some((5, 5)), Some((5, 5)), Some((5, 5))], output: (164, 4, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[None, None, Some((280, 0)), None, Some((280, 0)), Some((287, 0)), Some((280, 0)), None, Some((287, 0))], output: (346, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((4, 32767)), None, None, Some((4, 32767)), Some((4, 32767)), None, Some((4, 32767)), Some((4, 32767)), Some((4, 32767))], output: (67, 4, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((45, 32767)), None, None, Some((45, 32767)), Some((45, 32767)), None, Some((45, 32767)), Some((45, 32767)), Some((45, 32767))], output: (108, 4, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((98, 32767)), None, None, Some((98, 32767)), Some((98, 32767)), None, Some((98, 32767)), Some((98, 32767)), Some((98, 32767))], output: (109, 4, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((112, 32767)), None, None, Some((112, 32767)), Some((112, 32767)), None, Some((112, 32767)), Some((112, 32767)), Some((112, 32767))], output: (114, 4, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((24, 32767)), None, None, Some((24, 32767)), Some((24, 32767)), None, Some((24, 32767)), Some((24, 32767)), Some((24, 32767))], output: (128, 4, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((179, 32767)), None, None, Some((179, 32767)), Some((179, 32767)), None, Some((179, 32767)), Some((179, 32767)), Some((179, 32767))], output: (180, 4, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((155, 32767)), None, None, Some((155, 32767)), Some((155, 32767)), None, Some((155, 32767)), Some((155, 32767)), Some((155, 32767))], output: (156, 4, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((280, 0)), Some((280, 0)), Some((280, 0)), Some((280, 0)), Some((35, 32767)), Some((280, 0)), Some((280, 0)), Some((280, 0)), Some((280, 0))], output: (321, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((280, 0)), Some((280, 0)), Some((280, 0)), Some((280, 0)), Some((334, 0)), Some((280, 0)), Some((280, 0)), Some((280, 0)), Some((280, 0))], output: (389, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((266, 0)), Some((266, 0)), Some((266, 0)), Some((266, 0)), Some((260, 0)), Some((266, 0)), Some((266, 0)), Some((266, 0)), Some((266, 0))], output: (322, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((41, 32767)), Some((41, 32767)), Some((41, 32767)), Some((41, 32767)), Some((260, 0)), Some((41, 32767)), Some((41, 32767)), Some((41, 32767)), Some((41, 32767))], output: (322, 1, 1) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((371, 0)), Some((371, 0)), Some((371, 0)), Some((371, 0)), Some((391, 0)), Some((371, 0)), Some((371, 0)), Some((371, 0)), Some((371, 0))], output: (396, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((371, 0)), Some((371, 0)), Some((371, 0)), Some((371, 0)), Some((360, 0)), Some((371, 0)), Some((371, 0)), Some((371, 0)), Some((371, 0))], output: (382, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[None, Some((76, 32767)), None, Some((76, 32767)), Some((406, 0)), Some((76, 32767)), Some((1, 0)), Some((1, 0)), Some((1, 0))], output: (404, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[None, Some((266, 0)), None, Some((266, 0)), Some((331, 0)), Some((266, 0)), None, Some((266, 0)), None], output: (347, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[None, Some((265, 0)), None, Some((265, 0)), Some((331, 0)), Some((265, 0)), None, Some((265, 0)), None], output: (345, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((339, 0)), Some((339, 0)), Some((339, 0)), Some((339, 0)), Some((345, 0)), Some((339, 0)), Some((339, 0)), Some((339, 0)), Some((339, 0))], output: (395, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((4, 32767)), Some((4, 32767)), Some((4, 32767)), Some((4, 32767)), Some((261, 0)), Some((4, 32767)), Some((4, 32767)), Some((331, 0)), Some((4, 32767))], output: (23, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((4, 32767)), Some((4, 32767)), Some((4, 32767)), Some((4, 32767)), None, Some((4, 32767)), Some((4, 32767)), Some((331, 0)), Some((4, 32767))], output: (158, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), Some((4, 32767)), Some((265, 0)), Some((4, 32767)), Some((4, 32767)), Some((331, 0)), Some((4, 32767))], output: (33, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[None, Some((340, 0)), None, Some((264, 0)), Some((49, 32767)), Some((264, 0)), Some((49, 32767)), Some((49, 32767)), Some((49, 32767))], output: (116, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((42, 32767)), Some((42, 32767)), Some((42, 32767)), None, Some((265, 0)), None, Some((265, 0)), Some((265, 0)), Some((265, 0))], output: (145, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((20, 32767)), Some((20, 32767)), Some((20, 32767)), Some((406, 0)), Some((406, 0)), Some((406, 0)), Some((126, 32767)), Some((126, 32767)), Some((126, 32767))], output: (151, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((265, 0)), None, Some((265, 0)), Some((265, 0)), Some((54, 32767)), Some((265, 0)), None, Some((265, 0)), None], output: (154, 1, 0) },
    Recipe::Shaped { width: 3, height: 3, inputs: &[Some((280, 0)), Some((280, 0)), Some((280, 0)), None, Some((280, 0)), None, Some((280, 0)), Some((44, 0)), Some((280, 0))], output: (416, 1, 0) },
    Recipe::Shaped { width: 2, height: 3, inputs: &[Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), Some((280, 0)), None, Some((280, 0))], output: (271, 1, 0) },
    Recipe::Shaped { width: 2, height: 3, inputs: &[Some((5, 32767)), Some((5, 32767)), None, Some((280, 0)), None, Some((280, 0))], output: (290, 1, 0) },
    Recipe::Shaped { width: 2, height: 3, inputs: &[Some((4, 32767)), Some((4, 32767)), Some((4, 32767)), Some((280, 0)), None, Some((280, 0))], output: (275, 1, 0) },
    Recipe::Shaped { width: 2, height: 3, inputs: &[Some((4, 32767)), Some((4, 32767)), None, Some((280, 0)), None, Some((280, 0))], output: (291, 1, 0) },
    Recipe::Shaped { width: 2, height: 3, inputs: &[Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((280, 0)), None, Some((280, 0))], output: (258, 1, 0) },
    Recipe::Shaped { width: 2, height: 3, inputs: &[Some((265, 0)), Some((265, 0)), None, Some((280, 0)), None, Some((280, 0))], output: (292, 1, 0) },
    Recipe::Shaped { width: 2, height: 3, inputs: &[Some((264, 0)), Some((264, 0)), Some((264, 0)), Some((280, 0)), None, Some((280, 0))], output: (279, 1, 0) },
    Recipe::Shaped { width: 2, height: 3, inputs: &[Some((264, 0)), Some((264, 0)), None, Some((280, 0)), None, Some((280, 0))], output: (293, 1, 0) },
    Recipe::Shaped { width: 2, height: 3, inputs: &[Some((266, 0)), Some((266, 0)), Some((266, 0)), Some((280, 0)), None, Some((280, 0))], output: (286, 1, 0) },
    Recipe::Shaped { width: 2, height: 3, inputs: &[Some((266, 0)), Some((266, 0)), None, Some((280, 0)), None, Some((280, 0))], output: (294, 1, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((265, 0))], output: (101, 16, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((20, 32767)), Some((20, 32767)), Some((20, 32767)), Some((20, 32767)), Some((20, 32767)), Some((20, 32767))], output: (102, 16, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((334, 0)), Some((334, 0)), Some((334, 0)), Some((334, 0)), None, Some((334, 0))], output: (298, 1, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((334, 0)), None, Some((334, 0)), Some((334, 0)), None, Some((334, 0))], output: (301, 1, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((265, 0)), None, Some((265, 0))], output: (306, 1, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((265, 0)), None, Some((265, 0)), Some((265, 0)), None, Some((265, 0))], output: (309, 1, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((264, 0)), Some((264, 0)), Some((264, 0)), Some((264, 0)), None, Some((264, 0))], output: (310, 1, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((264, 0)), None, Some((264, 0)), Some((264, 0)), None, Some((264, 0))], output: (313, 1, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((266, 0)), Some((266, 0)), Some((266, 0)), Some((266, 0)), None, Some((266, 0))], output: (314, 1, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((266, 0)), None, Some((266, 0)), Some((266, 0)), None, Some((266, 0))], output: (317, 1, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((95, 0)), Some((95, 0)), Some((95, 0)), Some((95, 0)), Some((95, 0)), Some((95, 0))], output: (160, 16, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((95, 1)), Some((95, 1)), Some((95, 1)), Some((95, 1)), Some((95, 1)), Some((95, 1))], output: (160, 16, 1) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((95, 2)), Some((95, 2)), Some((95, 2)), Some((95, 2)), Some((95, 2)), Some((95, 2))], output: (160, 16, 2) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((95, 3)), Some((95, 3)), Some((95, 3)), Some((95, 3)), Some((95, 3)), Some((95, 3))], output: (160, 16, 3) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((95, 4)), Some((95, 4)), Some((95, 4)), Some((95, 4)), Some((95, 4)), Some((95, 4))], output: (160, 16, 4) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((95, 5)), Some((95, 5)), Some((95, 5)), Some((95, 5)), Some((95, 5)), Some((95, 5))], output: (160, 16, 5) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((95, 6)), Some((95, 6)), Some((95, 6)), Some((95, 6)), Some((95, 6)), Some((95, 6))], output: (160, 16, 6) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((95, 7)), Some((95, 7)), Some((95, 7)), Some((95, 7)), Some((95, 7)), Some((95, 7))], output: (160, 16, 7) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((95, 8)), Some((95, 8)), Some((95, 8)), Some((95, 8)), Some((95, 8)), Some((95, 8))], output: (160, 16, 8) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((95, 9)), Some((95, 9)), Some((95, 9)), Some((95, 9)), Some((95, 9)), Some((95, 9))], output: (160, 16, 9) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((95, 10)), Some((95, 10)), Some((95, 10)), Some((95, 10)), Some((95, 10)), Some((95, 10))], output: (160, 16, 10) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((95, 11)), Some((95, 11)), Some((95, 11)), Some((95, 11)), Some((95, 11)), Some((95, 11))], output: (160, 16, 11) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((95, 12)), Some((95, 12)), Some((95, 12)), Some((95, 12)), Some((95, 12)), Some((95, 12))], output: (160, 16, 12) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((95, 13)), Some((95, 13)), Some((95, 13)), Some((95, 13)), Some((95, 13)), Some((95, 13))], output: (160, 16, 13) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((95, 14)), Some((95, 14)), Some((95, 14)), Some((95, 14)), Some((95, 14)), Some((95, 14))], output: (160, 16, 14) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((95, 15)), Some((95, 15)), Some((95, 15)), Some((95, 15)), Some((95, 15)), Some((95, 15))], output: (160, 16, 15) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((5, 0)), Some((280, 0)), Some((5, 0)), Some((5, 0)), Some((280, 0)), Some((5, 0))], output: (85, 3, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((5, 2)), Some((280, 0)), Some((5, 2)), Some((5, 2)), Some((280, 0)), Some((5, 2))], output: (189, 3, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((5, 1)), Some((280, 0)), Some((5, 1)), Some((5, 1)), Some((280, 0)), Some((5, 1))], output: (188, 3, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((5, 3)), Some((280, 0)), Some((5, 3)), Some((5, 3)), Some((280, 0)), Some((5, 3))], output: (190, 3, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((5, 4)), Some((280, 0)), Some((5, 4)), Some((5, 4)), Some((280, 0)), Some((5, 4))], output: (192, 3, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((5, 5)), Some((280, 0)), Some((5, 5)), Some((5, 5)), Some((280, 0)), Some((5, 5))], output: (191, 3, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((4, 32767)), Some((4, 32767)), Some((4, 32767)), Some((4, 32767)), Some((4, 32767)), Some((4, 32767))], output: (139, 6, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((48, 32767)), Some((48, 32767)), Some((48, 32767)), Some((48, 32767)), Some((48, 32767)), Some((48, 32767))], output: (139, 6, 1) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((112, 32767)), Some((112, 32767)), Some((112, 32767)), Some((112, 32767)), Some((112, 32767)), Some((112, 32767))], output: (113, 6, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((280, 0)), Some((5, 0)), Some((280, 0)), Some((280, 0)), Some((5, 0)), Some((280, 0))], output: (107, 1, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((280, 0)), Some((5, 2)), Some((280, 0)), Some((280, 0)), Some((5, 2)), Some((280, 0))], output: (184, 1, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((280, 0)), Some((5, 1)), Some((280, 0)), Some((280, 0)), Some((5, 1)), Some((280, 0))], output: (183, 1, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((280, 0)), Some((5, 3)), Some((280, 0)), Some((280, 0)), Some((5, 3)), Some((280, 0))], output: (185, 1, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((280, 0)), Some((5, 4)), Some((280, 0)), Some((280, 0)), Some((5, 4)), Some((280, 0))], output: (187, 1, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((280, 0)), Some((5, 5)), Some((280, 0)), Some((280, 0)), Some((5, 5)), Some((280, 0))], output: (186, 1, 0) },
    Recipe::Shaped { width: 2, height: 3, inputs: &[Some((5, 0)), Some((5, 0)), Some((5, 0)), Some((5, 0)), Some((5, 0)), Some((5, 0))], output: (324, 3, 0) },
    Recipe::Shaped { width: 2, height: 3, inputs: &[Some((5, 1)), Some((5, 1)), Some((5, 1)), Some((5, 1)), Some((5, 1)), Some((5, 1))], output: (427, 3, 0) },
    Recipe::Shaped { width: 2, height: 3, inputs: &[Some((5, 2)), Some((5, 2)), Some((5, 2)), Some((5, 2)), Some((5, 2)), Some((5, 2))], output: (428, 3, 0) },
    Recipe::Shaped { width: 2, height: 3, inputs: &[Some((5, 3)), Some((5, 3)), Some((5, 3)), Some((5, 3)), Some((5, 3)), Some((5, 3))], output: (429, 3, 0) },
    Recipe::Shaped { width: 2, height: 3, inputs: &[Some((5, 4)), Some((5, 4)), Some((5, 4)), Some((5, 4)), Some((5, 4)), Some((5, 4))], output: (430, 3, 0) },
    Recipe::Shaped { width: 2, height: 3, inputs: &[Some((5, 5)), Some((5, 5)), Some((5, 5)), Some((5, 5)), Some((5, 5)), Some((5, 5))], output: (431, 3, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), Some((5, 32767))], output: (96, 2, 0) },
    Recipe::Shaped { width: 2, height: 3, inputs: &[Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((265, 0))], output: (330, 3, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((5, 32767)), None, Some((5, 32767)), None, Some((5, 32767)), None], output: (281, 4, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((20, 32767)), None, Some((20, 32767)), None, Some((20, 32767)), None], output: (374, 3, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((265, 0)), None, Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((265, 0))], output: (328, 1, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[None, Some((369, 0)), None, Some((4, 32767)), Some((4, 32767)), Some((4, 32767))], output: (379, 1, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((5, 32767)), None, Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), Some((5, 32767))], output: (333, 1, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((265, 0)), None, Some((265, 0)), None, Some((265, 0)), None], output: (325, 1, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((336, 0)), None, Some((336, 0)), None, Some((336, 0)), None], output: (390, 1, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((76, 32767)), Some((331, 0)), Some((76, 32767)), Some((1, 0)), Some((1, 0)), Some((1, 0))], output: (356, 1, 0) },
    Recipe::Shaped { width: 3, height: 2, inputs: &[Some((35, 32767)), Some((35, 32767)), Some((35, 32767)), Some((5, 32767)), Some((5, 32767)), Some((5, 32767))], output: (355, 1, 0) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[None, Some((265, 0)), Some((265, 0)), None], output: (359, 1, 0) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((5, 32767)), Some((5, 32767)), Some((5, 32767)), Some((5, 32767))], output: (58, 1, 0) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((12, 0)), Some((12, 0)), Some((12, 0)), Some((12, 0))], output: (24, 1, 0) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((12, 1)), Some((12, 1)), Some((12, 1)), Some((12, 1))], output: (179, 1, 0) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((24, 0)), Some((24, 0)), Some((24, 0)), Some((24, 0))], output: (24, 4, 2) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((179, 0)), Some((179, 0)), Some((179, 0)), Some((179, 0))], output: (179, 4, 2) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((1, 0)), Some((1, 0)), Some((1, 0)), Some((1, 0))], output: (98, 4, 0) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((405, 0)), Some((405, 0)), Some((405, 0)), Some((405, 0))], output: (112, 1, 0) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((4, 32767)), Some((406, 0)), Some((406, 0)), Some((4, 32767))], output: (1, 2, 3) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((3, 0)), Some((13, 32767)), Some((13, 32767)), Some((3, 0))], output: (3, 4, 1) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((1, 3)), Some((1, 3)), Some((1, 3)), Some((1, 3))], output: (1, 4, 4) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((1, 1)), Some((1, 1)), Some((1, 1)), Some((1, 1))], output: (1, 4, 2) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((1, 5)), Some((1, 5)), Some((1, 5)), Some((1, 5))], output: (1, 4, 6) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((409, 0)), Some((409, 0)), Some((409, 0)), Some((409, 0))], output: (168, 1, 0) },
    Recipe::Special(SpecialRecipe::Repairing),
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((332, 0)), Some((332, 0)), Some((332, 0)), Some((332, 0))], output: (80, 1, 0) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((337, 0)), Some((337, 0)), Some((337, 0)), Some((337, 0))], output: (82, 1, 0) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((336, 0)), Some((336, 0)), Some((336, 0)), Some((336, 0))], output: (45, 1, 0) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((348, 0)), Some((348, 0)), Some((348, 0)), Some((348, 0))], output: (89, 1, 0) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((406, 0)), Some((406, 0)), Some((406, 0)), Some((406, 0))], output: (155, 1, 0) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((287, 0)), Some((287, 0)), Some((287, 0)), Some((287, 0))], output: (35, 1, 0) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((265, 0)), Some((265, 0)), Some((265, 0)), Some((265, 0))], output: (167, 1, 0) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((346, 0)), None, None, Some((391, 0))], output: (398, 1, 0) },
    Recipe::Shaped { width: 2, height: 2, inputs: &[Some((415, 0)), Some((415, 0)), Some((415, 0)), Some((415, 0))], output: (334, 1, 0) },
    Recipe::Shaped { width: 1, height: 3, inputs: &[Some((5, 32767)), Some((280, 0)), Some((280, 0))], output: (269, 1, 0) },
    Recipe::Shaped { width: 1, height: 3, inputs: &[Some((4, 32767)), Some((280, 0)), Some((280, 0))], output: (273, 1, 0) },
    Recipe::Shaped { width: 1, height: 3, inputs: &[Some((265, 0)), Some((280, 0)), Some((280, 0))], output: (256, 1, 0) },
    Recipe::Shaped { width: 1, height: 3, inputs: &[Some((264, 0)), Some((280, 0)), Some((280, 0))], output: (277, 1, 0) },
    Recipe::Shaped { width: 1, height: 3, inputs: &[Some((266, 0)), Some((280, 0)), Some((280, 0))], output: (284, 1, 0) },
    Recipe::Shaped { width: 1, height: 3, inputs: &[Some((5, 32767)), Some((5, 32767)), Some((280, 0))], output: (268, 1, 0) },
    Recipe::Shaped { width: 1, height: 3, inputs: &[Some((4, 32767)), Some((4, 32767)), Some((280, 0))], output: (272, 1, 0) },
    Recipe::Shaped { width: 1, height: 3, inputs: &[Some((265, 0)), Some((265, 0)), Some((280, 0))], output: (267, 1, 0) },
    Recipe::Shaped { width: 1, height: 3, inputs: &[Some((264, 0)), Some((264, 0)), Some((280, 0))], output: (276, 1, 0) },
    Recipe::Shaped { width: 1, height: 3, inputs: &[Some((266, 0)), Some((266, 0)), Some((280, 0))], output: (283, 1, 0) },
    Recipe::Shaped { width: 1, height: 3, inputs: &[Some((318, 0)), Some((280, 0)), Some((288, 0))], output: (262, 4, 0) },
    Recipe::Shaped { width: 3, height: 1, inputs: &[Some((296, 0)), Some((351, 3)), Some((296, 0))], output: (357, 8, 0) },
    Recipe::Shaped { width: 3, height: 1, inputs: &[Some((338, 0)), Some((338, 0)), Some((338, 0))], output: (339, 3, 0) },
    Recipe::Shaped { width: 3, height: 1, inputs: &[Some((80, 32767)), Some((80, 32767)), Some((80, 32767))], output: (78, 6, 0) },
    Recipe::Shaped { width: 3, height: 1, inputs: &[Some((4, 32767)), Some((4, 32767)), Some((4, 32767))], output: (44, 6, 3) },
    Recipe::Shaped { width: 3, height: 1, inputs: &[Some((1, 0)), Some((1, 0)), Some((1, 0))], output: (44, 6, 0) },
    Recipe::Shaped { width: 3, height: 1, inputs: &[Some((24, 32767)), Some((24, 32767)), Some((24, 32767))], output: (44, 6, 1) },
    Recipe::Shaped { width: 3, height: 1, inputs: &[Some((45, 32767)), Some((45, 32767)), Some((45, 32767))], output: (44, 6, 4) },
    Recipe::Shaped { width: 3, height: 1, inputs: &[Some((98, 32767)), Some((98, 32767)), Some((98, 32767))], output: (44, 6, 5) },
    Recipe::Shaped { width: 3, height: 1, inputs: &[Some((112, 32767)), Some((112, 32767)), Some((112, 32767))], output: (44, 6, 6) },
    Recipe::Shaped { width: 3, height: 1, inputs: &[Some((155, 32767)), Some((155, 32767)), Some((155, 32767))], output: (44, 6, 7) },
    Recipe::Shaped { width: 3, height: 1, inputs: &[Some((179, 32767)), Some((179, 32767)), Some((179, 32767))], output: (182, 6, 0) },
    Recipe::Shaped { width: 3, height: 1, inputs: &[Some((5, 0)), Some((5, 0)), Some((5, 0))], output: (126, 6, 0) },
    Recipe::Shaped { width: 3, height: 1, inputs: &[Some((5, 2)), Some((5, 2)), Some((5, 2))], output: (126, 6, 2) },
    Recipe::Shaped { width: 3, height: 1, inputs: &[Some((5, 1)), Some((5, 1)), Some((5, 1))], output: (126, 6, 1) },
    Recipe::Shaped { width: 3, height: 1, inputs: &[Some((5, 3)), Some((5, 3)), Some((5, 3))], output: (126, 6, 3) },
    Recipe::Shaped { width: 3, height: 1, inputs: &[Some((5, 4)), Some((5, 4)), Some((5, 4))], output: (126, 6, 4) },
    Recipe::Shaped { width: 3, height: 1, inputs: &[Some((5, 5)), Some((5, 5)), Some((5, 5))], output: (126, 6, 5) },
    Recipe::Shaped { width: 3, height: 1, inputs: &[Some((296, 0)), Some((296, 0)), Some((296, 0))], output: (297, 1, 0) },
    Recipe::Shaped { width: 1, height: 3, inputs: &[Some((265, 0)), Some((280, 0)), Some((5, 32767))], output: (131, 2, 0) },
    Recipe::Shaped { width: 2, height: 1, inputs: &[Some((54, 32767)), Some((131, 32767))], output: (146, 1, 0) },
    Recipe::Shaped { width: 1, height: 2, inputs: &[Some((44, 1)), Some((44, 1))], output: (24, 1, 1) },
    Recipe::Shaped { width: 1, height: 2, inputs: &[Some((182, 0)), Some((182, 0))], output: (179, 1, 1) },
    Recipe::Shaped { width: 1, height: 2, inputs: &[Some((44, 7)), Some((44, 7))], output: (155, 1, 1) },
    Recipe::Shaped { width: 1, height: 2, inputs: &[Some((155, 0)), Some((155, 0))], output: (155, 2, 2) },
    Recipe::Shaped { width: 1, height: 2, inputs: &[Some((44, 5)), Some((44, 5))], output: (98, 1, 3) },
    Recipe::Shaped { width: 2, height: 1, inputs: &[Some((35, 0)), Some((35, 0))], output: (171, 3, 0) },
    Recipe::Shaped { width: 2, height: 1, inputs: &[Some((35, 1)), Some((35, 1))], output: (171, 3, 1) },
    Recipe::Shaped { width: 2, height: 1, inputs: &[Some((35, 2)), Some((35, 2))], output: (171, 3, 2) },
    Recipe::Shaped { width: 2, height: 1, inputs: &[Some((35, 3)), Some((35, 3))], output: (171, 3, 3) },
    Recipe::Shaped { width: 2, height: 1, inputs: &[Some((35, 4)), Some((35, 4))], output: (171, 3, 4) },
    Recipe::Shaped { width: 2, height: 1, inputs: &[Some((35, 5)), Some((35, 5))], output: (171, 3, 5) },
    Recipe::Shaped { width: 2, height: 1, inputs: &[Some((35, 6)), Some((35, 6))], output: (171, 3, 6) },
    Recipe::Shaped { width: 2, height: 1, inputs: &[Some((35, 7)), Some((35, 7))], output: (171, 3, 7) },
    Recipe::Shaped { width: 2, height: 1, inputs: &[Some((35, 8)), Some((35, 8))], output: (171, 3, 8) },
    Recipe::Shaped { width: 2, height: 1, inputs: &[Some((35, 9)), Some((35, 9))], output: (171, 3, 9) },
    Recipe::Shaped { width: 2, height: 1, inputs: &[Some((35, 10)), Some((35, 10))], output: (171, 3, 10) },
    Recipe::Shaped { width: 2, height: 1, inputs: &[Some((35, 11)), Some((35, 11))], output: (171, 3, 11) },
    Recipe::Shaped { width: 2, height: 1, inputs: &[Some((35, 12)), Some((35, 12))], output: (171, 3, 12) },
    Recipe::Shaped { width: 2, height: 1, inputs: &[Some((35, 13)), Some((35, 13))], output: (171, 3, 13) },
    Recipe::Shaped { width: 2, height: 1, inputs: &[Some((35, 14)), Some((35, 14))], output: (171, 3, 14) },
    Recipe::Shaped { width: 2, height: 1, inputs: &[Some((35, 15)), Some((35, 15))], output: (171, 3, 15) },
    Recipe::Shapeless { inputs: &[(339, 0), (339, 0), (339, 0), (334, 0)], output: (340, 1, 0) },
    Recipe::Shapeless { inputs: &[(340, 0), (351, 0), (288, 0)], output: (386, 1, 0) },
    Recipe::Special(SpecialRecipe::BannerDuplicate),
    Recipe::Shaped { width: 1, height: 2, inputs: &[Some((5, 32767)), Some((5, 32767))], output: (280, 4, 0) },
    Recipe::Shaped { width: 1, height: 2, inputs: &[Some((263, 0)), Some((280, 0))], output: (50, 4, 0) },
    Recipe::Shaped { width: 1, height: 2, inputs: &[Some((263, 1)), Some((280, 0))], output: (50, 4, 0) },
    Recipe::Shaped { width: 1, height: 2, inputs: &[Some((86, 32767)), Some((50, 32767))], output: (91, 1, 0) },
    Recipe::Shaped { width: 1, height: 2, inputs: &[Some((54, 32767)), Some((328, 0))], output: (342, 1, 0) },
    Recipe::Shaped { width: 1, height: 2, inputs: &[Some((61, 32767)), Some((328, 0))], output: (343, 1, 0) },
    Recipe::Shaped { width: 1, height: 2, inputs: &[Some((46, 32767)), Some((328, 0))], output: (407, 1, 0) },
    Recipe::Shaped { width: 1, height: 2, inputs: &[Some((154, 32767)), Some((328, 0))], output: (408, 1, 0) },
    Recipe::Shaped { width: 1, height: 2, inputs: &[Some((280, 0)), Some((4, 32767))], output: (69, 1, 0) },
    Recipe::Shaped { width: 1, height: 2, inputs: &[Some((331, 0)), Some((280, 0))], output: (76, 1, 0) },
    Recipe::Shaped { width: 2, height: 1, inputs: &[Some((1, 0)), Some((1, 0))], output: (70, 1, 0) },
    Recipe::Shaped { width: 2, height: 1, inputs: &[Some((5, 32767)), Some((5, 32767))], output: (72, 1, 0) },
    Recipe::Shaped { width: 2, height: 1, inputs: &[Some((265, 0)), Some((265, 0))], output: (148, 1, 0) },
    Recipe::Shaped { width: 2, height: 1, inputs: &[Some((266, 0)), Some((266, 0))], output: (147, 1, 0) },
    Recipe::Shaped { width: 1, height: 2, inputs: &[Some((341, 0)), Some((33, 32767))], output: (29, 1, 0) },
    Recipe::Shaped { width: 1, height: 1, inputs: &[Some((41, 32767))], output: (266, 9, 0) },
    Recipe::Shaped { width: 1, height: 1, inputs: &[Some((42, 32767))], output: (265, 9, 0) },
    Recipe::Shaped { width: 1, height: 1, inputs: &[Some((57, 32767))], output: (264, 9, 0) },
    Recipe::Shaped { width: 1, height: 1, inputs: &[Some((133, 32767))], output: (388, 9, 0) },
    Recipe::Shaped { width: 1, height: 1, inputs: &[Some((22, 32767))], output: (351, 9, 4) },
    Recipe::Shaped { width: 1, height: 1, inputs: &[Some((152, 32767))], output: (331, 9, 0) },
    Recipe::Shaped { width: 1, height: 1, inputs: &[Some((173, 32767))], output: (263, 9, 0) },
    Recipe::Shaped { width: 1, height: 1, inputs: &[Some((170, 32767))], output: (296, 9, 0) },
    Recipe::Shaped { width: 1, height: 1, inputs: &[Some((165, 32767))], output: (341, 9, 0) },
    Recipe::Shaped { width: 1, height: 1, inputs: &[Some((266, 0))], output: (371, 9, 0) },
    Recipe::Shaped { width: 1, height: 1, inputs: &[Some((360, 0))], output: (362, 1, 0) },
    Recipe::Shaped { width: 1, height: 1, inputs: &[Some((86, 32767))], output: (361, 4, 0) },
    Recipe::Shaped { width: 1, height: 1, inputs: &[Some((338, 0))], output: (353, 1, 0) },
    Recipe::Shaped { width: 1, height: 1, inputs: &[Some((17, 0))], output: (5, 4, 0) },
    Recipe::Shaped { width: 1, height: 1, inputs: &[Some((17, 1))], output: (5, 4, 1) },
    Recipe::Shaped { width: 1, height: 1, inputs: &[Some((17, 2))], output: (5, 4, 2) },
    Recipe::Shaped { width: 1, height: 1, inputs: &[Some((17, 3))], output: (5, 4, 3) },
    Recipe::Shaped { width: 1, height: 1, inputs: &[Some((162, 0))], output: (5, 4, 4) },
    Recipe::Shaped { width: 1, height: 1, inputs: &[Some((162, 1))], output: (5, 4, 5) },
    Recipe::Shaped { width: 1, height: 1, inputs: &[Some((1, 0))], output: (77, 1, 0) },
    Recipe::Shaped { width: 1, height: 1, inputs: &[Some((5, 32767))], output: (143, 1, 0) },
    Recipe::Shapeless { inputs: &[(351, 4), (351, 1), (351, 1), (351, 15)], output: (351, 4, 13) },
    Recipe::Shapeless { inputs: &[(39, 0), (40, 0), (281, 0)], output: (282, 1, 0) },
    Recipe::Shapeless { inputs: &[(86, 0), (353, 0), (344, 0)], output: (400, 1, 0) },
    Recipe::Shapeless { inputs: &[(375, 0), (39, 0), (353, 0)], output: (376, 1, 0) },
    Recipe::Shapeless { inputs: &[(351, 0), (351, 15), (351, 15)], output: (351, 3, 7) },
    Recipe::Shapeless { inputs: &[(351, 4), (351, 1), (351, 9)], output: (351, 3, 13) },
    Recipe::Shapeless { inputs: &[(289, 0), (377, 0), (263, 0)], output: (385, 3, 0) },
    Recipe::Shapeless { inputs: &[(289, 0), (377, 0), (263, 1)], output: (385, 3, 0) },
    Recipe::Shapeless { inputs: &[(377, 0), (341, 0)], output: (378, 1, 0) },
    Recipe::Shapeless { inputs: &[(98, 0), (106, 0)], output: (98, 1, 1) },
    Recipe::Shapeless { inputs: &[(4, 0), (106, 0)], output: (48, 1, 0) },
    Recipe::Shapeless { inputs: &[(1, 3), (406, 0)], output: (1, 1, 1) },
    Recipe::Shapeless { inputs: &[(1, 3), (4, 0)], output: (1, 2, 5) },
    Recipe::Shapeless { inputs: &[(351, 15), (35, 0)], output: (35, 1, 0) },
    Recipe::Shapeless { inputs: &[(351, 14), (35, 0)], output: (35, 1, 1) },
    Recipe::Shapeless { inputs: &[(351, 13), (35, 0)], output: (35, 1, 2) },
    Recipe::Shapeless { inputs: &[(351, 12), (35, 0)], output: (35, 1, 3) },
    Recipe::Shapeless { inputs: &[(351, 11), (35, 0)], output: (35, 1, 4) },
    Recipe::Shapeless { inputs: &[(351, 10), (35, 0)], output: (35, 1, 5) },
    Recipe::Shapeless { inputs: &[(351, 9), (35, 0)], output: (35, 1, 6) },
    Recipe::Shapeless { inputs: &[(351, 8), (35, 0)], output: (35, 1, 7) },
    Recipe::Shapeless { inputs: &[(351, 7), (35, 0)], output: (35, 1, 8) },
    Recipe::Shapeless { inputs: &[(351, 6), (35, 0)], output: (35, 1, 9) },
    Recipe::Shapeless { inputs: &[(351, 5), (35, 0)], output: (35, 1, 10) },
    Recipe::Shapeless { inputs: &[(351, 4), (35, 0)], output: (35, 1, 11) },
    Recipe::Shapeless { inputs: &[(351, 3), (35, 0)], output: (35, 1, 12) },
    Recipe::Shapeless { inputs: &[(351, 2), (35, 0)], output: (35, 1, 13) },
    Recipe::Shapeless { inputs: &[(351, 1), (35, 0)], output: (35, 1, 14) },
    Recipe::Shapeless { inputs: &[(351, 0), (35, 0)], output: (35, 1, 15) },
    Recipe::Shapeless { inputs: &[(351, 1), (351, 15)], output: (351, 2, 9) },
    Recipe::Shapeless { inputs: &[(351, 1), (351, 11)], output: (351, 2, 14) },
    Recipe::Shapeless { inputs: &[(351, 2), (351, 15)], output: (351, 2, 10) },
    Recipe::Shapeless { inputs: &[(351, 0), (351, 15)], output: (351, 2, 8) },
    Recipe::Shapeless { inputs: &[(351, 8), (351, 15)], output: (351, 2, 7) },
    Recipe::Shapeless { inputs: &[(351, 4), (351, 15)], output: (351, 2, 12) },
    Recipe::Shapeless { inputs: &[(351, 4), (351, 2)], output: (351, 2, 6) },
    Recipe::Shapeless { inputs: &[(351, 4), (351, 1)], output: (351, 2, 5) },
    Recipe::Shapeless { inputs: &[(351, 5), (351, 9)], output: (351, 2, 13) },
    Recipe::Shapeless { inputs: &[(265, 0), (318, 0)], output: (259, 1, 0) },
    Recipe::Shapeless { inputs: &[(368, 0), (377, 0)], output: (381, 1, 0) },
    Recipe::Shapeless { inputs: &[(369, 0)], output: (377, 2, 0) },
    Recipe::Shapeless { inputs: &[(37, 0)], output: (351, 1, 11) },
    Recipe::Shapeless { inputs: &[(38, 0)], output: (351, 1, 1) },
    Recipe::Shapeless { inputs: &[(352, 0)], output: (351, 3, 15) },
    Recipe::Shapeless { inputs: &[(38, 1)], output: (351, 1, 12) },
    Recipe::Shapeless { inputs: &[(38, 2)], output: (351, 1, 13) },
    Recipe::Shapeless { inputs: &[(38, 3)], output: (351, 1, 7) },
    Recipe::Shapeless { inputs: &[(38, 4)], output: (351, 1, 1) },
    Recipe::Shapeless { inputs: &[(38, 5)], output: (351, 1, 14) },
    Recipe::Shapeless { inputs: &[(38, 6)], output: (351, 1, 7) },
    Recipe::Shapeless { inputs: &[(38, 7)], output: (351, 1, 9) },
    Recipe::Shapeless { inputs: &[(38, 8)], output: (351, 1, 7) },
    Recipe::Shapeless { inputs: &[(175, 0)], output: (351, 2, 11) },
    Recipe::Shapeless { inputs: &[(175, 1)], output: (351, 2, 13) },
    Recipe::Shapeless { inputs: &[(175, 4)], output: (351, 2, 1) },
    Recipe::Shapeless { inputs: &[(175, 5)], output: (351, 2, 9) },
];