From 09952b51939440627f85e20cbce81e3ce5eba907 Mon Sep 17 00:00:00 2001 From: Nixon Enraght-Moony Date: Sun, 16 Jan 2022 02:12:35 +0000 Subject: [PATCH] Lowering I --- hidl/hypercosm.json | 313 ++-- hidl/src/ast.rs | 2 +- hidl/src/bin/demo.rs | 1 + hidl/src/bin/load.rs | 10 - hidl/src/grammar.lalrpop | 2 +- hidl/src/grammar.rs | 3821 ++++++++++++++++++++------------------ hidl/src/hir.rs | 115 ++ hidl/src/lib.rs | 157 +- 8 files changed, 2341 insertions(+), 2080 deletions(-) delete mode 100644 hidl/src/bin/load.rs create mode 100644 hidl/src/hir.rs diff --git a/hidl/hypercosm.json b/hidl/hypercosm.json index 3a508f7..b1e4a69 100644 --- a/hidl/hypercosm.json +++ b/hidl/hypercosm.json @@ -89,119 +89,127 @@ 0, 0 ], - "interface": { - "methods": [ - { - "name": "fetchById", - "args": [ - { - "name": "id", - "ty": { - "Primitive": "Uuid" - } - } - ], - "ret": { - "Custom": "Asset" - } - }, - { - "name": "fetchByName", - "args": [ - { - "name": "name", - "ty": { - "Primitive": "String" - } - } - ], - "ret": { - "Custom": "Asset" - } - }, - { - "name": "fetchByIds", - "args": [ - { - "name": "ids", - "ty": { - "Array": { + "interface": null, + "interfaces": [ + { + "name": "asset_delivery", + "version": [ + 0, + 0, + 0 + ], + "methods": [ + { + "name": "fetchById", + "args": [ + { + "name": "id", + "ty": { "Primitive": "Uuid" } } - } - ], - "ret": { - "Array": { + ], + "ret": { "Custom": "Asset" } - } - }, - { - "name": "fetchByNames", - "args": [ - { - "name": "names", - "ty": { - "Array": { + }, + { + "name": "fetchByName", + "args": [ + { + "name": "name", + "ty": { "Primitive": "String" } } - } - ], - "ret": { - "Array": { + ], + "ret": { "Custom": "Asset" } - } - }, - { - "name": "getId", - "args": [ - { - "name": "name", - "ty": { - "Primitive": "String" - } - } - ], - "ret": { - "Primitive": "Uuid" - } - } - ], - "events": [ - { - "name": "load_assets", - "args": [ - { - "name": "assets", - "ty": { - "Array": { - "Custom": "Asset" + }, + { + "name": "fetchByIds", + "args": [ + { + "name": "ids", + "ty": { + "Array": { + "Primitive": "Uuid" + } } } - } - ], - "ret": null - }, - { - "name": "unload_assets", - "args": [ - { - "name": "assets", - "ty": { - "Array": { - "Primitive": "Uuid" - } + ], + "ret": { + "Array": { + "Custom": "Asset" } } - ], - "ret": null - } - ] - }, - "interfaces": [], + }, + { + "name": "fetchByNames", + "args": [ + { + "name": "names", + "ty": { + "Array": { + "Primitive": "String" + } + } + } + ], + "ret": { + "Array": { + "Custom": "Asset" + } + } + }, + { + "name": "getId", + "args": [ + { + "name": "name", + "ty": { + "Primitive": "String" + } + } + ], + "ret": { + "Primitive": "Uuid" + } + } + ], + "events": [ + { + "name": "load_assets", + "args": [ + { + "name": "assets", + "ty": { + "Array": { + "Custom": "Asset" + } + } + } + ], + "ret": null + }, + { + "name": "unload_assets", + "args": [ + { + "name": "assets", + "ty": { + "Array": { + "Primitive": "Uuid" + } + } + } + ], + "ret": null + } + ] + } + ], "types": [ { "name": "Asset", @@ -241,57 +249,68 @@ 0, 0 ], - "interface": { - "methods": [], - "events": [ - { - "name": "add_entitys", - "args": [ - { - "name": "entities", - "ty": { - "Array": { - "Custom": "EntityInfo" - } - } - } - ], - "ret": null - }, - { - "name": "update_entitys", - "args": [ - { - "name": "entities", - "ty": { - "Array": { - "Custom": "EntityInfo" - } - } - } - ], - "ret": null - }, - { - "name": "remove_entitys", - "args": [ - { - "name": "entities", - "ty": { - "Array": { - "Primitive": "Uuid" - } - } - } - ], - "ret": null - } - ] - }, + "interface": null, "interfaces": [ + { + "name": "world", + "version": [ + 0, + 0, + 0 + ], + "methods": [], + "events": [ + { + "name": "add_entitys", + "args": [ + { + "name": "entities", + "ty": { + "Array": { + "Custom": "EntityInfo" + } + } + } + ], + "ret": null + }, + { + "name": "update_entitys", + "args": [ + { + "name": "entities", + "ty": { + "Array": { + "Custom": "EntityInfo" + } + } + } + ], + "ret": null + }, + { + "name": "remove_entitys", + "args": [ + { + "name": "entities", + "ty": { + "Array": { + "Primitive": "Uuid" + } + } + } + ], + "ret": null + } + ] + }, { "name": "Entity", - "version": null, + "version": [ + 0, + 0, + 0 + ], "methods": [ { "name": "interact", diff --git a/hidl/src/ast.rs b/hidl/src/ast.rs index 628c031..a756285 100644 --- a/hidl/src/ast.rs +++ b/hidl/src/ast.rs @@ -13,7 +13,7 @@ pub struct Namespace { pub struct Extension { pub name: String, pub version: Version, - pub interface: ImplicitInterface, + pub interface: Option, pub interfaces: Vec, pub types: Vec, } diff --git a/hidl/src/bin/demo.rs b/hidl/src/bin/demo.rs index da0de11..827f427 100644 --- a/hidl/src/bin/demo.rs +++ b/hidl/src/bin/demo.rs @@ -5,6 +5,7 @@ fn main() -> Result<()> { let tree = fs::read_to_string("hypercosm.hidl")?; let tree = hidl::grammar::NamespaceParser::new().parse(&tree).unwrap(); + let tree = hidl::hir::lower_namespace(tree); debug2::dbg!(&tree); diff --git a/hidl/src/bin/load.rs b/hidl/src/bin/load.rs deleted file mode 100644 index 5b2feb8..0000000 --- a/hidl/src/bin/load.rs +++ /dev/null @@ -1,10 +0,0 @@ -use std::fs; - -use hidl::IDL; - -fn main() { - let file = fs::read_to_string("spec.yaml").unwrap(); - let spec: IDL = serde_yaml::from_str(&file).unwrap(); - - debug2::dbg!(spec); -} diff --git a/hidl/src/grammar.lalrpop b/hidl/src/grammar.lalrpop index 99b650d..7373252 100644 --- a/hidl/src/grammar.lalrpop +++ b/hidl/src/grammar.lalrpop @@ -21,7 +21,7 @@ pub Namespace: Namespace = { Extension: Extension = { "extension" "{" - + > > "}" diff --git a/hidl/src/grammar.rs b/hidl/src/grammar.rs index 9cf271e..f4a2bc0 100644 --- a/hidl/src/grammar.rs +++ b/hidl/src/grammar.rs @@ -1,5 +1,5 @@ // auto-generated: "lalrpop 0.19.6" -// sha3: 2463e278adbb9a1b37d4dcbe7b8218ad25d46f3527ff9ca3ea64921dbf52d4 +// sha3: 81f29fffb84798b33b4681f461532b868f53b7a1fba897e6a7c1af9bc3c471a use crate::ast::*; #[allow(unused_extern_crates)] extern crate lalrpop_util as __lalrpop_util; @@ -51,356 +51,369 @@ mod __parse__Namespace { Variant25(core::option::Option>), Variant26(String), Variant27(ImplicitInterface), - Variant28(IntType), - Variant29(Vec), - Variant30(Vec), - Variant31(Vec), - Variant32(Vec), - Variant33(Vec), - Variant34(Namespace), - Variant35(u8), - Variant36(PrimType), - Variant37(Struct), - Variant38(Version), - Variant39(core::option::Option), + Variant28(core::option::Option), + Variant29(IntType), + Variant30(Vec), + Variant31(Vec), + Variant32(Vec), + Variant33(Vec), + Variant34(Vec), + Variant35(Namespace), + Variant36(u8), + Variant37(PrimType), + Variant38(Struct), + Variant39(Version), + Variant40(core::option::Option), } const __ACTION: &[i16] = &[ // State 0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, // State 2 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -114, 0, -114, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -118, 0, -118, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, -118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 3 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -115, 0, -115, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, -115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -119, 0, -119, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, -119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 4 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, -118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, -122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 5 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, // State 6 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, -119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -119, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, -123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -123, 0, 0, // State 7 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 8 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, // State 9 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, // State 10 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 11 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, // State 12 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, // State 13 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, // State 14 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 70, 71, 72, 73, 0, 0, 0, 0, 0, 0, 0, 74, 75, 76, 77, 78, 0, 0, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 73, 74, 75, 76, 0, 0, 0, 0, 0, 0, 0, 77, 78, 79, 80, 81, 0, 0, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 0, 0, 0, 0, // State 15 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -116, 0, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -120, 0, 55, // State 16 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, // State 17 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 0, // State 18 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, // State 19 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, -114, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -114, 0, 0, // State 20 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -117, 0, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -121, 0, 55, // State 21 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 0, 0, // State 22 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -112, 0, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -116, 0, 55, // State 23 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -112, 0, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -116, 0, 55, // State 24 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, // State 25 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, -110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -110, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, -115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -115, 0, 0, // State 26 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -114, 0, 0, // State 27 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -122, 0, 0, // State 28 - 0, 0, 0, 0, 0, 0, 38, 116, 117, 0, 0, 0, 118, 119, 69, 70, 71, 72, 73, 0, 120, 0, 0, 121, 122, 0, 74, 75, 76, 77, 78, 123, 0, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 0, 0, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -114, 0, 0, // State 29 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -113, 0, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 55, // State 30 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, // State 31 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, -111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -111, 0, 0, + 0, 0, 0, 0, 0, 0, 41, 121, 122, 0, 0, 0, 123, 124, 72, 73, 74, 75, 76, 0, 125, 0, 0, 126, 127, 0, 77, 78, 79, 80, 81, 128, 0, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 0, 0, 0, 55, // State 32 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -118, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -117, 0, 55, // State 33 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, // State 34 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, -110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -110, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, // State 35 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -122, 0, 0, // State 36 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -106, 0, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -114, 0, 0, // State 37 - 0, 0, 0, 0, 0, 0, 38, 116, 117, 0, 0, 0, 118, 119, 69, 70, 71, 72, 73, 0, 120, 0, 0, 121, 122, 0, 74, 75, 76, 77, 78, 123, 0, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 0, 0, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -122, 0, 0, // State 38 - 0, -51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, // State 39 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -118, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -110, 0, 55, // State 40 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, + 0, 0, 0, 0, 0, 0, 41, 121, 122, 0, 0, 0, 123, 124, 72, 73, 74, 75, 76, 0, 125, 0, 0, 126, 127, 0, 77, 78, 79, 80, 81, 128, 0, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 0, 0, 0, 55, // State 41 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -107, 0, 52, + 0, -51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, // State 42 - 0, -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -122, 0, 0, // State 43 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, // State 44 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 0, 0, // State 45 - 0, 0, 0, 0, 0, 0, 38, 116, 117, 0, 0, 0, 118, 119, 69, 70, 71, 72, 73, 0, 120, 0, 0, 121, 122, 0, 74, 75, 76, 77, 78, 123, 0, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 0, 0, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -111, 0, 55, // State 46 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, + 0, -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, // State 47 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, 0, 0, // State 48 - 0, 0, 0, 0, 0, 0, 38, 116, 117, 0, 0, 0, 118, 119, 69, 70, 71, 72, 73, 0, 120, 0, 0, 121, 122, 0, 74, 75, 76, 77, 78, 123, 0, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 0, 0, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 164, 0, 0, // State 49 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, // State 50 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 41, 121, 122, 0, 0, 0, 123, 124, 72, 73, 74, 75, 76, 0, 125, 0, 0, 126, 127, 0, 77, 78, 79, 80, 81, 128, 0, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 0, 0, 0, 55, // State 51 - -72, -72, -72, 0, -72, -72, 0, 0, 0, -72, 0, -72, 0, 0, 0, 0, 0, 0, 0, -72, 0, 0, 0, 0, 0, -72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -72, -72, 0, -72, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, 0, 0, // State 52 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -35, 0, -35, 0, 0, 0, 0, 0, 0, 0, -35, 0, 0, 0, 0, 0, -35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 41, 121, 122, 0, 0, 0, 123, 124, 72, 73, 74, 75, 76, 0, 125, 0, 0, 126, 127, 0, 77, 78, 79, 80, 81, 128, 0, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 0, 0, 0, 55, // State 53 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -36, 0, -36, 0, 0, 0, 0, 0, 0, 0, -36, 0, 0, 0, 0, 0, -36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 54 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -45, 0, -45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -45, 0, 0, - // State 55 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, - // State 56 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -46, 0, -46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -46, 0, 0, - // State 57 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 58 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 54 + -74, -74, -74, 0, -74, -74, 0, 0, 0, -74, 0, -74, 0, 0, 0, 0, 0, 0, 0, -74, 0, 0, 0, 0, 0, -74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -74, -74, 0, -74, + // State 55 + 0, 0, 0, 0, 0, 0, 0, 0, 0, -35, 0, -35, 0, 0, 0, 0, 0, 0, 0, -35, 0, 0, 0, 0, 0, -35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 56 + 0, 0, 0, 0, 0, 0, 0, 0, 0, -36, 0, -36, 0, 0, 0, 0, 0, 0, 0, -36, 0, 0, 0, 0, 0, -36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 57 + 0, 0, 0, 0, 0, 0, 0, 0, 0, -45, 0, -45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -45, 0, 0, + // State 58 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, // State 59 - 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -46, 0, -46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -46, 0, 0, // State 60 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 61 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 62 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -139, 0, -139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -139, 0, 0, + 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 63 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 64 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, // State 65 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -143, 0, -143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -143, 0, 0, // State 66 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -105, 0, -105, 0, 0, 0, 0, 0, 0, 0, -105, 0, 0, 0, 0, 0, -105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, // State 67 - 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, // State 68 - 0, -92, -92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -92, 0, -92, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, // State 69 - 0, -89, -89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -89, 0, -89, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -109, 0, -109, 0, 0, 0, 0, 0, 0, 0, -109, 0, 0, 0, 0, 0, -109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 70 - 0, -90, -90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -90, 0, -90, + 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 71 - 0, -91, -91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -91, 0, -91, - // State 72 - 0, -88, -88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -88, 0, -88, - // State 73 - 0, -82, -82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -82, 0, -82, - // State 74 - 0, -79, -79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -79, 0, -79, - // State 75 - 0, -80, -80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -80, 0, -80, - // State 76 - 0, -81, -81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -81, 0, -81, - // State 77 - 0, -78, -78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -78, 0, -78, - // State 78 - 0, -97, -97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -97, 0, -97, - // State 79 - 0, -94, -94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -94, 0, -94, - // State 80 - 0, -95, -95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -95, 0, -95, - // State 81 0, -96, -96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -96, 0, -96, - // State 82 + // State 72 0, -93, -93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -93, 0, -93, - // State 83 - 0, -87, -87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -87, 0, -87, - // State 84 - 0, -84, -84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -84, 0, -84, - // State 85 - 0, -85, -85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -85, 0, -85, - // State 86 + // State 73 + 0, -94, -94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -94, 0, -94, + // State 74 + 0, -95, -95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -95, 0, -95, + // State 75 + 0, -92, -92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -92, 0, -92, + // State 76 0, -86, -86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -86, 0, -86, - // State 87 + // State 77 0, -83, -83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -83, 0, -83, + // State 78 + 0, -84, -84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -84, 0, -84, + // State 79 + 0, -85, -85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -85, 0, -85, + // State 80 + 0, -82, -82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -82, 0, -82, + // State 81 + 0, -101, -101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -101, 0, -101, + // State 82 + 0, -98, -98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -98, 0, -98, + // State 83 + 0, -99, -99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -99, 0, -99, + // State 84 + 0, -100, -100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -100, 0, -100, + // State 85 + 0, -97, -97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -97, 0, -97, + // State 86 + 0, -91, -91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -91, 0, -91, + // State 87 + 0, -88, -88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -88, 0, -88, // State 88 - 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -89, -89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -89, 0, -89, // State 89 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, + 0, -90, -90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -90, 0, -90, // State 90 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -40, 0, -40, + 0, -87, -87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -87, 0, -87, // State 91 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, + 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 92 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -101, 0, -101, 0, 0, 0, 0, 0, 0, 0, -101, 0, 0, 0, 0, 0, -101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 0, 0, // State 93 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -103, 0, -103, 0, 0, 0, 0, 0, 0, 0, -103, 0, 0, 0, 0, 0, -103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -40, 0, -40, // State 94 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, // State 95 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -104, 0, -104, 0, 0, 0, 0, 0, 0, 0, -104, 0, 0, 0, 0, 0, -104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -105, 0, -105, 0, 0, 0, 0, 0, 0, 0, -105, 0, 0, 0, 0, 0, -105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 96 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, 0, 0, 0, 0, 0, 0, 0, 0, -124, 0, -124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, -124, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -107, 0, -107, 0, 0, 0, 0, 0, 0, 0, -107, 0, 0, 0, 0, 0, -107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 97 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -77, 0, 0, 0, 0, 0, 0, 0, 0, -77, 0, -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -77, -77, -77, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 0, 0, // State 98 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -108, 0, -108, 0, 0, 0, 0, 0, 0, 0, -108, 0, 0, 0, 0, 0, -108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 99 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -41, 0, -41, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -128, -128, 0, 0, 0, 0, 0, 0, 0, 0, -128, 0, -128, 0, 0, 0, -128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -128, -128, 0, // State 100 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -133, 0, -133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -133, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -81, -81, 0, 0, 0, 0, 0, 0, 0, 0, -81, 0, -81, 0, 0, 0, -81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -81, -81, -81, // State 101 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -99, 0, -99, 0, 0, 0, 0, 0, 0, 0, -99, 0, 0, 0, 0, 0, -99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 102 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, - // State 103 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -100, 0, -100, 0, 0, 0, 0, 0, 0, 0, -100, 0, 0, 0, 0, 0, -100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 104 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -102, 0, -102, 0, 0, 0, 0, 0, 0, 0, -102, 0, 0, 0, 0, 0, -102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 105 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30, 0, -30, - // State 106 - 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 107 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, - // State 108 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 0, 0, - // State 109 0, 0, 0, 0, 0, 0, 0, 0, 0, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25, 0, 0, 0, 0, 0, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25, 0, 0, + // State 102 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -41, 0, -41, + // State 103 + 0, 0, 0, 0, 0, 0, 0, 0, 0, -137, 0, -137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -137, 0, 0, + // State 104 + 0, 0, 0, 0, 0, 0, 0, 0, 0, -103, 0, -103, 0, 0, 0, 0, 0, 0, 0, -103, 0, 0, 0, 0, 0, -103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 105 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, + // State 106 + 0, 0, 0, 0, 0, 0, 0, 0, 0, -104, 0, -104, 0, 0, 0, 0, 0, 0, 0, -104, 0, 0, 0, 0, 0, -104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 107 + 0, 0, 0, 0, 0, 0, 0, 0, 0, -106, 0, -106, 0, 0, 0, 0, 0, 0, 0, -106, 0, 0, 0, 0, 0, -106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 108 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30, 0, -30, + // State 109 + 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 110 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -140, 0, -140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -140, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 0, 0, // State 111 - 0, -136, -136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -136, 0, -136, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, // State 112 - 0, -137, -137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -137, 0, -137, - // State 113 - 0, -135, -135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -135, 0, -135, - // State 114 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -134, 0, -134, - // State 115 - 0, -129, -129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -129, 0, -129, - // State 116 - 0, -128, -128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -128, 0, -128, - // State 117 - 0, -131, -131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -131, 0, -131, - // State 118 - 0, -132, -132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -132, 0, -132, - // State 119 - 0, -130, -130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -130, 0, -130, - // State 120 - 0, -126, -126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -126, 0, -126, - // State 121 - 0, -125, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -125, 0, -125, - // State 122 - 0, -127, -127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -127, 0, -127, - // State 123 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -98, 0, -98, 0, 0, 0, 0, 0, 0, 0, -98, 0, 0, 0, 0, 0, -98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 124 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -31, 0, -31, - // State 125 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -57, 0, 0, - // State 126 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -120, 0, 0, - // State 127 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -141, 0, 0, 0, 0, 0, 0, 0, 0, -141, 0, -141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -141, 0, 0, - // State 128 0, 0, 0, 0, 0, 0, 0, 0, 0, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, -26, 0, 0, 0, 0, 0, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -26, 0, 0, - // State 129 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, - // State 130 + // State 113 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 0, 0, + // State 114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, + // State 115 + 0, 0, 0, 0, 0, 0, 0, 0, 0, -144, 0, -144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -144, 0, 0, + // State 116 + 0, -140, -140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -140, 0, -140, + // State 117 + 0, -141, -141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -141, 0, -141, + // State 118 + 0, -139, -139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -139, 0, -139, + // State 119 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -138, 0, -138, + // State 120 + 0, -133, -133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -133, 0, -133, + // State 121 + 0, -132, -132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -132, 0, -132, + // State 122 + 0, -135, -135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -135, 0, -135, + // State 123 + 0, -136, -136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -136, 0, -136, + // State 124 + 0, -134, -134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -134, 0, -134, + // State 125 + 0, -130, -130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -130, 0, -130, + // State 126 + 0, -129, -129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -129, 0, -129, + // State 127 + 0, -131, -131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -131, 0, -131, + // State 128 + 0, 0, 0, 0, 0, 0, 0, 0, 0, -102, 0, -102, 0, 0, 0, 0, 0, 0, 0, -102, 0, 0, 0, 0, 0, -102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 129 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -31, 0, -31, + // State 130 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -57, 0, 0, // State 131 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, 0, 0, // State 132 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -76, 0, 0, 0, 0, 0, 0, 0, 0, 0, -76, 0, 0, 0, 0, 0, -76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -76, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -145, -145, 0, 0, 0, 0, 0, 0, 0, 0, -145, 0, -145, 0, 0, 0, -145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -145, 0, 0, // State 133 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15, 0, -15, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, // State 134 - 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -56, 0, -56, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 135 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 0, 0, // State 136 - 0, -138, -138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -138, 0, -138, - // State 137 - 0, -50, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 138 - 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 139 - 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 140 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // State 141 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, 0, 0, + // State 137 + 0, 0, 0, 0, 0, 0, 0, 0, 0, -78, 0, 0, 0, 0, 0, 0, 0, 0, 0, -78, 0, 0, 0, 0, 0, -78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -78, 0, 0, + // State 138 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15, 0, -15, + // State 139 + 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -56, 0, -56, + // State 140 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 0, 0, + // State 141 + 0, -142, -142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -142, 0, -142, // State 142 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, + 0, -50, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 143 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -74, 0, 0, 0, 0, 0, 0, 0, 0, 0, -74, 0, 0, 0, 0, 0, -74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -74, 0, 0, + 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 144 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -75, 0, 0, 0, 0, 0, 0, 0, 0, 0, -75, 0, 0, 0, 0, 0, -75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -75, 0, 0, + 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 145 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16, 0, -16, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 146 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -54, 0, -54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -54, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, // State 147 - 0, -52, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 148 - 0, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, 0, 0, // State 149 - 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -71, 0, -71, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -71, 0, 0, 0, 0, 0, 0, 0, 0, 0, -71, 0, 0, 0, 0, 0, -71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -71, 0, 0, // State 150 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, // State 151 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -69, 0, 0, 0, 0, 0, 0, 0, 0, 0, -69, 0, 0, 0, 0, 0, -69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -69, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -76, 0, 0, 0, 0, 0, 0, 0, 0, 0, -76, 0, 0, 0, 0, 0, -76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -76, 0, 0, // State 152 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, -77, 0, 0, 0, 0, 0, -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -77, 0, 0, // State 153 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -73, 0, 0, 0, 0, 0, 0, 0, 0, 0, -73, 0, 0, 0, 0, 0, -73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -73, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16, 0, -16, // State 154 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -55, 0, -55, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -54, 0, -54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -54, 0, 0, // State 155 - 0, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -11, + 0, -52, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 156 - 0, -47, -47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, // State 157 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 164, 0, 0, + 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -73, 0, -73, // State 158 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -65, 0, 0, 0, 0, 0, 0, 0, 0, 0, -65, 0, 0, 0, 0, 0, -65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -65, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 159 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, -67, 0, 0, 0, 0, 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -67, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, // State 160 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, -67, 0, 0, 0, 0, 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -67, 0, 0, // State 161 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -68, 0, 0, 0, 0, 0, 0, 0, 0, 0, -68, 0, 0, 0, 0, 0, -68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -68, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -69, 0, 0, 0, 0, 0, 0, 0, 0, 0, -69, 0, 0, 0, 0, 0, -69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -69, 0, 0, // State 162 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -70, 0, -70, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, // State 163 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -63, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63, 0, 0, 0, 0, 0, -63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -70, 0, 0, 0, 0, 0, 0, 0, 0, 0, -70, 0, 0, 0, 0, 0, -70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -70, 0, 0, // State 164 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -75, 0, 0, 0, 0, 0, 0, 0, 0, 0, -75, 0, 0, 0, 0, 0, -75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -75, 0, 0, // State 165 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -64, 0, 0, 0, 0, 0, 0, 0, 0, 0, -64, 0, 0, 0, 0, 0, -64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -64, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -55, 0, -55, // State 166 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, 0, 0, 0, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, + 0, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -11, // State 167 - 0, 0, 0, 0, 0, 0, 0, 0, 0, -62, 0, 0, 0, 0, 0, 0, 0, 0, 0, -62, 0, 0, 0, 0, 0, -62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -62, 0, 0, + 0, -47, -47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 168 + 0, 0, 0, 0, 0, 0, 0, 0, 0, -65, 0, 0, 0, 0, 0, 0, 0, 0, 0, -65, 0, 0, 0, 0, 0, -65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -65, 0, 0, + // State 169 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 0, 0, + // State 170 + 0, 0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, 0, 0, 0, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, + // State 171 + 0, 0, 0, 0, 0, 0, 0, 0, 0, -68, 0, 0, 0, 0, 0, 0, 0, 0, 0, -68, 0, 0, 0, 0, 0, -68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -68, 0, 0, + // State 172 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -72, 0, -72, + // State 173 + 0, 0, 0, 0, 0, 0, 0, 0, 0, -64, 0, 0, 0, 0, 0, 0, 0, 0, 0, -64, 0, 0, 0, 0, 0, -64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -64, 0, 0, ]; fn __action(state: i16, integer: usize) -> i16 { __ACTION[(state as usize) * 47 + integer] @@ -411,23 +424,23 @@ mod __parse__Namespace { // State 1 0, // State 2 - -114, - // State 3 - -115, - // State 4 -118, + // State 3 + -119, + // State 4 + -122, // State 5 0, // State 6 - -119, + -123, // State 7 - -108, + -112, // State 8 0, // State 9 0, // State 10 - -109, + -113, // State 11 0, // State 12 @@ -507,45 +520,45 @@ mod __parse__Namespace { // State 49 0, // State 50 - -144, + 0, // State 51 - -72, + 0, // State 52 - -35, + 0, // State 53 - -36, + -148, // State 54 - -45, + -74, // State 55 - 0, + -35, // State 56 - -46, + -36, // State 57 - -20, + -45, // State 58 - -123, + 0, // State 59 - 0, + -46, // State 60 - -21, + -20, // State 61 - 0, + -127, // State 62 - -139, - // State 63 0, + // State 63 + -21, // State 64 0, // State 65 - 0, + -143, // State 66 - -105, + 0, // State 67 0, // State 68 0, // State 69 - 0, + -109, // State 70 0, // State 71 @@ -591,43 +604,43 @@ mod __parse__Namespace { // State 91 0, // State 92 - -101, + 0, // State 93 - -103, + 0, // State 94 0, // State 95 - -104, + -105, // State 96 - 0, + -107, // State 97 0, // State 98 - 0, + -108, // State 99 0, // State 100 - -133, + 0, // State 101 - -99, + 0, // State 102 0, // State 103 - -100, + -137, // State 104 - -102, + -103, // State 105 0, // State 106 - 0, + -104, // State 107 - 0, + -106, // State 108 0, // State 109 0, // State 110 - -140, + 0, // State 111 0, // State 112 @@ -637,7 +650,7 @@ mod __parse__Namespace { // State 114 0, // State 115 - 0, + -144, // State 116 0, // State 117 @@ -653,7 +666,7 @@ mod __parse__Namespace { // State 122 0, // State 123 - -98, + 0, // State 124 0, // State 125 @@ -663,7 +676,7 @@ mod __parse__Namespace { // State 127 0, // State 128 - 0, + -102, // State 129 0, // State 130 @@ -675,7 +688,7 @@ mod __parse__Namespace { // State 133 0, // State 134 - 0, + -63, // State 135 0, // State 136 @@ -687,7 +700,7 @@ mod __parse__Namespace { // State 139 0, // State 140 - -61, + 0, // State 141 0, // State 142 @@ -697,11 +710,11 @@ mod __parse__Namespace { // State 144 0, // State 145 - 0, + -61, // State 146 - -54, - // State 147 0, + // State 147 + -62, // State 148 0, // State 149 @@ -711,11 +724,11 @@ mod __parse__Namespace { // State 151 0, // State 152 - -60, + 0, // State 153 0, // State 154 - 0, + -54, // State 155 0, // State 156 @@ -723,7 +736,7 @@ mod __parse__Namespace { // State 157 0, // State 158 - 0, + -60, // State 159 0, // State 160 @@ -742,129 +755,145 @@ mod __parse__Namespace { 0, // State 167 0, + // State 168 + 0, + // State 169 + 0, + // State 170 + 0, + // State 171 + 0, + // State 172 + 0, + // State 173 + 0, ]; fn __goto(state: i16, nt: usize) -> i16 { match nt { - 6 => 42, - 9 => 41, + 6 => 46, + 9 => 45, 12 => 10, - 15 => 31, - 18 => 29, + 15 => 25, + 18 => 32, 21 => 3, 24 => 20, 27 => 6, 28 => match state { - 42 => 147, - _ => 137, + 46 => 155, + _ => 142, }, - 30 => 138, - 31 => 110, + 30 => 143, + 31 => 115, 32 => match state { - 41 => 145, - _ => 133, + 45 => 153, + _ => 138, }, 33 => match state { 17 => 21, - 35 => 40, - 43 => 46, - 47 => 49, + 38 => 44, + 43 => 47, + 48 => 51, _ => 16, }, 35 => match state { - 10 => 60, - _ => 57, + 10 => 63, + _ => 60, }, 36 => match state { - 31 => 128, - _ => 109, + 25 => 112, + _ => 101, }, 37 => match state { - 29 => 124, - _ => 105, + 32 => 129, + _ => 108, }, 38 => match state { 1 => 2, 9 => 12, - 5 => 55, - 8 => 59, - 11 => 61, - 15 | 20 => 88, - 22..=23 | 29 => 106, - 33 => 130, - 36 | 41 => 134, - 38 | 42 => 139, - _ => 111, + 5 => 58, + 8 => 62, + 11 => 64, + 15 | 20 => 91, + 22..=23 | 32 => 109, + 29 | 34 => 114, + 39 | 45 => 139, + 41 | 46 => 144, + _ => 116, }, 39 => match state { - 26 => 34, - _ => 25, - }, - 40 => match state { - 44 => 154, - _ => 96, + 28 => 36, + _ => 26, }, 41 => match state { - 14 => 67, - _ => 112, + 49 => 165, + _ => 99, }, 42 => match state { - 3 => 53, - _ => 52, + 14 => 70, + _ => 117, }, - 43 => 135, - 44 => 58, - 45 => match state { - 34 => 39, - _ => 32, + 43 => match state { + 3 => 56, + _ => 55, }, + 44 => 140, + 45 => 61, 46 => match state { - 23 => 108, - _ => 107, + 26 => 35, + 28 => 37, + 36 => 42, + _ => 27, }, - 47 => 4, - 48 => 89, - 49 => match state { - 32 => 129, - 39 => 141, + 47 => match state { + 23 => 111, + _ => 110, + }, + 48 => 4, + 49 => 92, + 50 => match state { + 27 => 113, + 35 => 133, + 37 => 135, + 42 => 146, _ => 7, }, - 50 => match state { - 16 => 91, - 17 => 94, - 21 => 102, - 35 => 131, - 40 => 142, - 43 => 150, - 46 => 157, - 47 => 160, - 49 => 164, - _ => 63, + 51 => match state { + 16 => 94, + 17 => 97, + 21 => 105, + 38 => 136, + 43 => 148, + 44 => 150, + 47 => 159, + 48 => 162, + 51 => 169, + _ => 66, }, - 52 => 50, - 53 => match state { - 24 => 30, - 30 => 127, + 53 => 53, + 54 => match state { + 24 => 33, + 33 => 132, _ => 24, }, - 54 => 113, - 55 => 62, - 56 => match state { - 20 => 99, - _ => 90, - }, + 55 => 118, + 56 => 65, 57 => match state { - 37 => 136, - 45 => 156, - 48 => 162, - _ => 114, + 20 => 102, + _ => 93, }, 58 => match state { - 6 => 56, - _ => 54, + 40 => 141, + 50 => 167, + 52 => 172, + _ => 119, }, 59 => match state { - 19 => 26, - 43 => 47, + 6 => 59, + _ => 57, + }, + 60 => match state { + 19 => 28, + 43 => 48, _ => 17, }, _ => 0, @@ -1574,8 +1603,20 @@ mod __parse__Namespace { __reduce142(input, __lookahead_start, __symbols, core::marker::PhantomData::<(&())>) } 143 => { + __reduce143(input, __lookahead_start, __symbols, core::marker::PhantomData::<(&())>) + } + 144 => { + __reduce144(input, __lookahead_start, __symbols, core::marker::PhantomData::<(&())>) + } + 145 => { + __reduce145(input, __lookahead_start, __symbols, core::marker::PhantomData::<(&())>) + } + 146 => { + __reduce146(input, __lookahead_start, __symbols, core::marker::PhantomData::<(&())>) + } + 147 => { // __Namespace = Namespace => ActionFn(0); - let __sym0 = __pop_Variant34(__symbols); + let __sym0 = __pop_Variant35(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action0::<>(input, __sym0); @@ -1660,14 +1701,14 @@ mod __parse__Namespace { _ => __symbol_type_mismatch() } } - fn __pop_Variant28< + fn __pop_Variant29< 'input, >( __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)> ) -> (usize, IntType, usize) { match __symbols.pop() { - Some((__l, __Symbol::Variant28(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant29(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -1682,25 +1723,25 @@ mod __parse__Namespace { _ => __symbol_type_mismatch() } } - fn __pop_Variant34< + fn __pop_Variant35< 'input, >( __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)> ) -> (usize, Namespace, usize) { match __symbols.pop() { - Some((__l, __Symbol::Variant34(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant35(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant36< + fn __pop_Variant37< 'input, >( __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)> ) -> (usize, PrimType, usize) { match __symbols.pop() { - Some((__l, __Symbol::Variant36(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant37(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -1715,14 +1756,14 @@ mod __parse__Namespace { _ => __symbol_type_mismatch() } } - fn __pop_Variant37< + fn __pop_Variant38< 'input, >( __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)> ) -> (usize, Struct, usize) { match __symbols.pop() { - Some((__l, __Symbol::Variant37(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant38(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -1781,25 +1822,25 @@ mod __parse__Namespace { _ => __symbol_type_mismatch() } } - fn __pop_Variant29< + fn __pop_Variant30< 'input, >( __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)> ) -> (usize, Vec, usize) { match __symbols.pop() { - Some((__l, __Symbol::Variant29(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant30(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant30< + fn __pop_Variant31< 'input, >( __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)> ) -> (usize, Vec, usize) { match __symbols.pop() { - Some((__l, __Symbol::Variant30(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant31(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -1814,22 +1855,11 @@ mod __parse__Namespace { _ => __symbol_type_mismatch() } } - fn __pop_Variant31< - 'input, - >( - __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Vec, usize) - { - match __symbols.pop() { - Some((__l, __Symbol::Variant31(__v), __r)) => (__l, __v, __r), - _ => __symbol_type_mismatch() - } - } fn __pop_Variant32< 'input, >( __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Vec, usize) + ) -> (usize, Vec, usize) { match __symbols.pop() { Some((__l, __Symbol::Variant32(__v), __r)) => (__l, __v, __r), @@ -1840,21 +1870,32 @@ mod __parse__Namespace { 'input, >( __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)> - ) -> (usize, Vec, usize) + ) -> (usize, Vec, usize) { match __symbols.pop() { Some((__l, __Symbol::Variant33(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant38< + fn __pop_Variant34< + 'input, + >( + __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, Vec, usize) + { + match __symbols.pop() { + Some((__l, __Symbol::Variant34(__v), __r)) => (__l, __v, __r), + _ => __symbol_type_mismatch() + } + } + fn __pop_Variant39< 'input, >( __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)> ) -> (usize, Version, usize) { match __symbols.pop() { - Some((__l, __Symbol::Variant38(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant39(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -1957,6 +1998,17 @@ mod __parse__Namespace { _ => __symbol_type_mismatch() } } + fn __pop_Variant28< + 'input, + >( + __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)> + ) -> (usize, core::option::Option, usize) + { + match __symbols.pop() { + Some((__l, __Symbol::Variant28(__v), __r)) => (__l, __v, __r), + _ => __symbol_type_mismatch() + } + } fn __pop_Variant2< 'input, >( @@ -1979,14 +2031,14 @@ mod __parse__Namespace { _ => __symbol_type_mismatch() } } - fn __pop_Variant39< + fn __pop_Variant40< 'input, >( __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)> ) -> (usize, core::option::Option, usize) { match __symbols.pop() { - Some((__l, __Symbol::Variant39(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant40(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -2012,14 +2064,14 @@ mod __parse__Namespace { _ => __symbol_type_mismatch() } } - fn __pop_Variant35< + fn __pop_Variant36< 'input, >( __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)> ) -> (usize, u8, usize) { match __symbols.pop() { - Some((__l, __Symbol::Variant35(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant36(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -2062,13 +2114,13 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ("->" )? = "->", Type => ActionFn(114); + // ("->" )? = "->", Type => ActionFn(116); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant1(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action114::<>(input, __sym0, __sym1); + let __nt = super::__action116::<>(input, __sym0, __sym1); __symbols.push((__start, __Symbol::Variant2(__nt), __end)); (2, 1) } @@ -2116,13 +2168,13 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ("=" )? = "=", Int => ActionFn(117); + // ("=" )? = "=", Int => ActionFn(119); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant3(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action117::<>(input, __sym0, __sym1); + let __nt = super::__action119::<>(input, __sym0, __sym1); __symbols.push((__start, __Symbol::Variant4(__nt), __end)); (2, 3) } @@ -2151,13 +2203,13 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ( ",") = Arg, "," => ActionFn(91); + // ( ",") = Arg, "," => ActionFn(93); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant5(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action91::<>(input, __sym0, __sym1); + let __nt = super::__action93::<>(input, __sym0, __sym1); __symbols.push((__start, __Symbol::Variant5(__nt), __end)); (2, 4) } @@ -2170,10 +2222,10 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ( ",")* = => ActionFn(89); + // ( ",")* = => ActionFn(91); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action89::<>(input, &__start, &__end); + let __nt = super::__action91::<>(input, &__start, &__end); __symbols.push((__start, __Symbol::Variant6(__nt), __end)); (0, 5) } @@ -2186,11 +2238,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ( ",")* = ( ",")+ => ActionFn(90); + // ( ",")* = ( ",")+ => ActionFn(92); let __sym0 = __pop_Variant6(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action90::<>(input, __sym0); + let __nt = super::__action92::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant6(__nt), __end)); (1, 5) } @@ -2203,13 +2255,13 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ( ",")+ = Arg, "," => ActionFn(120); + // ( ",")+ = Arg, "," => ActionFn(122); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant5(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action120::<>(input, __sym0, __sym1); + let __nt = super::__action122::<>(input, __sym0, __sym1); __symbols.push((__start, __Symbol::Variant6(__nt), __end)); (2, 6) } @@ -2222,14 +2274,14 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ( ",")+ = ( ",")+, Arg, "," => ActionFn(121); + // ( ",")+ = ( ",")+, Arg, "," => ActionFn(123); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant5(__symbols); let __sym0 = __pop_Variant6(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action121::<>(input, __sym0, __sym1, __sym2); + let __nt = super::__action123::<>(input, __sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant6(__nt), __end)); (3, 6) } @@ -2242,11 +2294,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // () = EnumField => ActionFn(97); + // () = EnumField => ActionFn(99); let __sym0 = __pop_Variant7(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action97::<>(input, __sym0); + let __nt = super::__action99::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant7(__nt), __end)); (1, 7) } @@ -2259,10 +2311,10 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()* = => ActionFn(95); + // ()* = => ActionFn(97); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action95::<>(input, &__start, &__end); + let __nt = super::__action97::<>(input, &__start, &__end); __symbols.push((__start, __Symbol::Variant8(__nt), __end)); (0, 8) } @@ -2275,11 +2327,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()* = ()+ => ActionFn(96); + // ()* = ()+ => ActionFn(98); let __sym0 = __pop_Variant8(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action96::<>(input, __sym0); + let __nt = super::__action98::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant8(__nt), __end)); (1, 8) } @@ -2292,11 +2344,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()+ = EnumField => ActionFn(124); + // ()+ = EnumField => ActionFn(126); let __sym0 = __pop_Variant7(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action124::<>(input, __sym0); + let __nt = super::__action126::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant8(__nt), __end)); (1, 9) } @@ -2309,13 +2361,13 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()+ = ()+, EnumField => ActionFn(125); + // ()+ = ()+, EnumField => ActionFn(127); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant7(__symbols); let __sym0 = __pop_Variant8(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action125::<>(input, __sym0, __sym1); + let __nt = super::__action127::<>(input, __sym0, __sym1); __symbols.push((__start, __Symbol::Variant8(__nt), __end)); (2, 9) } @@ -2328,11 +2380,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // () = Extension => ActionFn(80); + // () = Extension => ActionFn(82); let __sym0 = __pop_Variant9(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action80::<>(input, __sym0); + let __nt = super::__action82::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant9(__nt), __end)); (1, 10) } @@ -2345,10 +2397,10 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()* = => ActionFn(78); + // ()* = => ActionFn(80); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action78::<>(input, &__start, &__end); + let __nt = super::__action80::<>(input, &__start, &__end); __symbols.push((__start, __Symbol::Variant10(__nt), __end)); (0, 11) } @@ -2361,11 +2413,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()* = ()+ => ActionFn(79); + // ()* = ()+ => ActionFn(81); let __sym0 = __pop_Variant10(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action79::<>(input, __sym0); + let __nt = super::__action81::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant10(__nt), __end)); (1, 11) } @@ -2378,11 +2430,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()+ = Extension => ActionFn(128); + // ()+ = Extension => ActionFn(130); let __sym0 = __pop_Variant9(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action128::<>(input, __sym0); + let __nt = super::__action130::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant10(__nt), __end)); (1, 12) } @@ -2395,13 +2447,13 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()+ = ()+, Extension => ActionFn(129); + // ()+ = ()+, Extension => ActionFn(131); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant9(__symbols); let __sym0 = __pop_Variant10(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action129::<>(input, __sym0, __sym1); + let __nt = super::__action131::<>(input, __sym0, __sym1); __symbols.push((__start, __Symbol::Variant10(__nt), __end)); (2, 12) } @@ -2414,11 +2466,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // () = ExtensionInterface => ActionFn(83); + // () = ExtensionInterface => ActionFn(85); let __sym0 = __pop_Variant11(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action83::<>(input, __sym0); + let __nt = super::__action85::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); (1, 13) } @@ -2431,10 +2483,10 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()* = => ActionFn(81); + // ()* = => ActionFn(83); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action81::<>(input, &__start, &__end); + let __nt = super::__action83::<>(input, &__start, &__end); __symbols.push((__start, __Symbol::Variant12(__nt), __end)); (0, 14) } @@ -2447,11 +2499,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()* = ()+ => ActionFn(82); + // ()* = ()+ => ActionFn(84); let __sym0 = __pop_Variant12(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action82::<>(input, __sym0); + let __nt = super::__action84::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant12(__nt), __end)); (1, 14) } @@ -2464,11 +2516,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()+ = ExtensionInterface => ActionFn(132); + // ()+ = ExtensionInterface => ActionFn(134); let __sym0 = __pop_Variant11(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action132::<>(input, __sym0); + let __nt = super::__action134::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant12(__nt), __end)); (1, 15) } @@ -2481,13 +2533,13 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()+ = ()+, ExtensionInterface => ActionFn(133); + // ()+ = ()+, ExtensionInterface => ActionFn(135); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant11(__symbols); let __sym0 = __pop_Variant12(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action133::<>(input, __sym0, __sym1); + let __nt = super::__action135::<>(input, __sym0, __sym1); __symbols.push((__start, __Symbol::Variant12(__nt), __end)); (2, 15) } @@ -2500,11 +2552,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // () = Func => ActionFn(86); + // () = Func => ActionFn(88); let __sym0 = __pop_Variant13(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action86::<>(input, __sym0); + let __nt = super::__action88::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant13(__nt), __end)); (1, 16) } @@ -2517,10 +2569,10 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()* = => ActionFn(84); + // ()* = => ActionFn(86); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action84::<>(input, &__start, &__end); + let __nt = super::__action86::<>(input, &__start, &__end); __symbols.push((__start, __Symbol::Variant14(__nt), __end)); (0, 17) } @@ -2533,11 +2585,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()* = ()+ => ActionFn(85); + // ()* = ()+ => ActionFn(87); let __sym0 = __pop_Variant14(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action85::<>(input, __sym0); + let __nt = super::__action87::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant14(__nt), __end)); (1, 17) } @@ -2550,11 +2602,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()+ = Func => ActionFn(136); + // ()+ = Func => ActionFn(138); let __sym0 = __pop_Variant13(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action136::<>(input, __sym0); + let __nt = super::__action138::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant14(__nt), __end)); (1, 18) } @@ -2567,13 +2619,13 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()+ = ()+, Func => ActionFn(137); + // ()+ = ()+, Func => ActionFn(139); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant13(__symbols); let __sym0 = __pop_Variant14(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action137::<>(input, __sym0, __sym1); + let __nt = super::__action139::<>(input, __sym0, __sym1); __symbols.push((__start, __Symbol::Variant14(__nt), __end)); (2, 18) } @@ -2586,11 +2638,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // () = Interface => ActionFn(74); + // () = Interface => ActionFn(76); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action74::<>(input, __sym0); + let __nt = super::__action76::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 19) } @@ -2603,10 +2655,10 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()* = => ActionFn(72); + // ()* = => ActionFn(74); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action72::<>(input, &__start, &__end); + let __nt = super::__action74::<>(input, &__start, &__end); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (0, 20) } @@ -2619,11 +2671,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()* = ()+ => ActionFn(73); + // ()* = ()+ => ActionFn(75); let __sym0 = __pop_Variant16(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action73::<>(input, __sym0); + let __nt = super::__action75::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (1, 20) } @@ -2636,11 +2688,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()+ = Interface => ActionFn(140); + // ()+ = Interface => ActionFn(142); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action140::<>(input, __sym0); + let __nt = super::__action142::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (1, 21) } @@ -2653,13 +2705,13 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()+ = ()+, Interface => ActionFn(141); + // ()+ = ()+, Interface => ActionFn(143); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant16(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action141::<>(input, __sym0, __sym1); + let __nt = super::__action143::<>(input, __sym0, __sym1); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (2, 21) } @@ -2672,11 +2724,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // () = StructField => ActionFn(94); + // () = StructField => ActionFn(96); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action94::<>(input, __sym0); + let __nt = super::__action96::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (1, 22) } @@ -2689,10 +2741,10 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()* = => ActionFn(92); + // ()* = => ActionFn(94); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action92::<>(input, &__start, &__end); + let __nt = super::__action94::<>(input, &__start, &__end); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); (0, 23) } @@ -2705,11 +2757,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()* = ()+ => ActionFn(93); + // ()* = ()+ => ActionFn(95); let __sym0 = __pop_Variant18(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action93::<>(input, __sym0); + let __nt = super::__action95::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); (1, 23) } @@ -2722,11 +2774,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()+ = StructField => ActionFn(144); + // ()+ = StructField => ActionFn(146); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action144::<>(input, __sym0); + let __nt = super::__action146::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); (1, 24) } @@ -2739,13 +2791,13 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()+ = ()+, StructField => ActionFn(145); + // ()+ = ()+, StructField => ActionFn(147); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant17(__symbols); let __sym0 = __pop_Variant18(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action145::<>(input, __sym0, __sym1); + let __nt = super::__action147::<>(input, __sym0, __sym1); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); (2, 24) } @@ -2758,11 +2810,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // () = TypeDef => ActionFn(77); + // () = TypeDef => ActionFn(79); let __sym0 = __pop_Variant19(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action77::<>(input, __sym0); + let __nt = super::__action79::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant19(__nt), __end)); (1, 25) } @@ -2775,10 +2827,10 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()* = => ActionFn(75); + // ()* = => ActionFn(77); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action75::<>(input, &__start, &__end); + let __nt = super::__action77::<>(input, &__start, &__end); __symbols.push((__start, __Symbol::Variant20(__nt), __end)); (0, 26) } @@ -2791,11 +2843,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()* = ()+ => ActionFn(76); + // ()* = ()+ => ActionFn(78); let __sym0 = __pop_Variant20(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action76::<>(input, __sym0); + let __nt = super::__action78::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant20(__nt), __end)); (1, 26) } @@ -2808,11 +2860,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()+ = TypeDef => ActionFn(148); + // ()+ = TypeDef => ActionFn(150); let __sym0 = __pop_Variant19(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action148::<>(input, __sym0); + let __nt = super::__action150::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant20(__nt), __end)); (1, 27) } @@ -2825,13 +2877,13 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ()+ = ()+, TypeDef => ActionFn(149); + // ()+ = ()+, TypeDef => ActionFn(151); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant19(__symbols); let __sym0 = __pop_Variant20(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action149::<>(input, __sym0, __sym1); + let __nt = super::__action151::<>(input, __sym0, __sym1); __symbols.push((__start, __Symbol::Variant20(__nt), __end)); (2, 27) } @@ -2864,11 +2916,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // Arg? = Arg => ActionFn(87); + // Arg? = Arg => ActionFn(89); let __sym0 = __pop_Variant5(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action87::<>(input, __sym0); + let __nt = super::__action89::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant21(__nt), __end)); (1, 29) } @@ -2881,10 +2933,10 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // Arg? = => ActionFn(88); + // Arg? = => ActionFn(90); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action88::<>(input, &__start, &__end); + let __nt = super::__action90::<>(input, &__start, &__end); __symbols.push((__start, __Symbol::Variant21(__nt), __end)); (0, 29) } @@ -2897,11 +2949,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // Comma = Arg => ActionFn(152); + // Comma = Arg => ActionFn(154); let __sym0 = __pop_Variant5(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action152::<>(input, __sym0); + let __nt = super::__action154::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant22(__nt), __end)); (1, 30) } @@ -2914,10 +2966,10 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // Comma = => ActionFn(153); + // Comma = => ActionFn(155); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action153::<>(input, &__start, &__end); + let __nt = super::__action155::<>(input, &__start, &__end); __symbols.push((__start, __Symbol::Variant22(__nt), __end)); (0, 30) } @@ -2930,13 +2982,13 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // Comma = ( ",")+, Arg => ActionFn(154); + // Comma = ( ",")+, Arg => ActionFn(156); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant5(__symbols); let __sym0 = __pop_Variant6(__symbols); let __start = __sym0.0.clone(); let __end = __sym1.2.clone(); - let __nt = super::__action154::<>(input, __sym0, __sym1); + let __nt = super::__action156::<>(input, __sym0, __sym1); __symbols.push((__start, __Symbol::Variant22(__nt), __end)); (2, 30) } @@ -2949,11 +3001,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // Comma = ( ",")+ => ActionFn(155); + // Comma = ( ",")+ => ActionFn(157); let __sym0 = __pop_Variant6(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action155::<>(input, __sym0); + let __nt = super::__action157::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant22(__nt), __end)); (1, 30) } @@ -2986,14 +3038,14 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // EnumField = Ident, "=", Int => ActionFn(118); + // EnumField = Ident, "=", Int => ActionFn(120); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant3(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant26(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action118::<>(input, __sym0, __sym1, __sym2); + let __nt = super::__action120::<>(input, __sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant7(__nt), __end)); (3, 32) } @@ -3006,11 +3058,11 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // EnumField = Ident => ActionFn(119); + // EnumField = Ident => ActionFn(121); let __sym0 = __pop_Variant26(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action119::<>(input, __sym0); + let __nt = super::__action121::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant7(__nt), __end)); (1, 32) } @@ -3077,19 +3129,19 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // Extension = "extension", Ident, "{", Version, ImplicitInterface, List, List, "}" => ActionFn(174); + // Extension = "extension", Ident, "{", Version, ImplicitInterface, List, List, "}" => ActionFn(178); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); - let __sym6 = __pop_Variant33(__symbols); - let __sym5 = __pop_Variant30(__symbols); + let __sym6 = __pop_Variant34(__symbols); + let __sym5 = __pop_Variant31(__symbols); let __sym4 = __pop_Variant27(__symbols); - let __sym3 = __pop_Variant38(__symbols); + let __sym3 = __pop_Variant39(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant26(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); let __end = __sym7.2.clone(); - let __nt = super::__action174::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action178::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); __symbols.push((__start, __Symbol::Variant9(__nt), __end)); (8, 35) } @@ -3102,18 +3154,18 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // Extension = "extension", Ident, "{", ImplicitInterface, List, List, "}" => ActionFn(175); + // Extension = "extension", Ident, "{", ImplicitInterface, List, List, "}" => ActionFn(179); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); - let __sym5 = __pop_Variant33(__symbols); - let __sym4 = __pop_Variant30(__symbols); + let __sym5 = __pop_Variant34(__symbols); + let __sym4 = __pop_Variant31(__symbols); let __sym3 = __pop_Variant27(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant26(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); let __end = __sym6.2.clone(); - let __nt = super::__action175::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action179::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant9(__nt), __end)); (7, 35) } @@ -3126,20 +3178,20 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ExtensionInterface = "interface", Ident, "{", Version, Events, Methods, "}" => ActionFn(176); + // Extension = "extension", Ident, "{", Version, List, List, "}" => ActionFn(180); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); - let __sym5 = __pop_Variant24(__symbols); - let __sym4 = __pop_Variant24(__symbols); - let __sym3 = __pop_Variant38(__symbols); + let __sym5 = __pop_Variant34(__symbols); + let __sym4 = __pop_Variant31(__symbols); + let __sym3 = __pop_Variant39(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant26(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); let __end = __sym6.2.clone(); - let __nt = super::__action176::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - __symbols.push((__start, __Symbol::Variant11(__nt), __end)); - (7, 36) + let __nt = super::__action180::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + __symbols.push((__start, __Symbol::Variant9(__nt), __end)); + (7, 35) } pub(crate) fn __reduce62< 'input, @@ -3150,19 +3202,19 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ExtensionInterface = "interface", Ident, "{", Events, Methods, "}" => ActionFn(177); + // Extension = "extension", Ident, "{", List, List, "}" => ActionFn(181); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); - let __sym4 = __pop_Variant24(__symbols); - let __sym3 = __pop_Variant24(__symbols); + let __sym4 = __pop_Variant34(__symbols); + let __sym3 = __pop_Variant31(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant26(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); let __end = __sym5.2.clone(); - let __nt = super::__action177::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - __symbols.push((__start, __Symbol::Variant11(__nt), __end)); - (6, 36) + let __nt = super::__action181::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + __symbols.push((__start, __Symbol::Variant9(__nt), __end)); + (6, 35) } pub(crate) fn __reduce63< 'input, @@ -3173,19 +3225,20 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ExtensionInterface = "interface", Ident, "{", Version, Events, "}" => ActionFn(178); - assert!(__symbols.len() >= 6); - let __sym5 = __pop_Variant0(__symbols); + // ExtensionInterface = "interface", Ident, "{", Version, Events, Methods, "}" => ActionFn(182); + assert!(__symbols.len() >= 7); + let __sym6 = __pop_Variant0(__symbols); + let __sym5 = __pop_Variant24(__symbols); let __sym4 = __pop_Variant24(__symbols); - let __sym3 = __pop_Variant38(__symbols); + let __sym3 = __pop_Variant39(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant26(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action178::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __end = __sym6.2.clone(); + let __nt = super::__action182::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); - (6, 36) + (7, 36) } pub(crate) fn __reduce64< 'input, @@ -3196,18 +3249,19 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ExtensionInterface = "interface", Ident, "{", Events, "}" => ActionFn(179); - assert!(__symbols.len() >= 5); - let __sym4 = __pop_Variant0(__symbols); + // ExtensionInterface = "interface", Ident, "{", Events, Methods, "}" => ActionFn(183); + assert!(__symbols.len() >= 6); + let __sym5 = __pop_Variant0(__symbols); + let __sym4 = __pop_Variant24(__symbols); let __sym3 = __pop_Variant24(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant26(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action179::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __end = __sym5.2.clone(); + let __nt = super::__action183::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); - (5, 36) + (6, 36) } pub(crate) fn __reduce65< 'input, @@ -3218,17 +3272,17 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ExtensionInterface = "interface", Ident, "{", Version, Methods, "}" => ActionFn(180); + // ExtensionInterface = "interface", Ident, "{", Version, Events, "}" => ActionFn(184); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant24(__symbols); - let __sym3 = __pop_Variant38(__symbols); + let __sym3 = __pop_Variant39(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant26(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); let __end = __sym5.2.clone(); - let __nt = super::__action180::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action184::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); (6, 36) } @@ -3241,7 +3295,7 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ExtensionInterface = "interface", Ident, "{", Methods, "}" => ActionFn(181); + // ExtensionInterface = "interface", Ident, "{", Events, "}" => ActionFn(185); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant24(__symbols); @@ -3250,7 +3304,7 @@ mod __parse__Namespace { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); let __end = __sym4.2.clone(); - let __nt = super::__action181::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action185::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); (5, 36) } @@ -3263,18 +3317,19 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ExtensionInterface = "interface", Ident, "{", Version, "}" => ActionFn(182); - assert!(__symbols.len() >= 5); - let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant38(__symbols); + // ExtensionInterface = "interface", Ident, "{", Version, Methods, "}" => ActionFn(186); + assert!(__symbols.len() >= 6); + let __sym5 = __pop_Variant0(__symbols); + let __sym4 = __pop_Variant24(__symbols); + let __sym3 = __pop_Variant39(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant26(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action182::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __end = __sym5.2.clone(); + let __nt = super::__action186::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); - (5, 36) + (6, 36) } pub(crate) fn __reduce68< 'input, @@ -3285,17 +3340,18 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ExtensionInterface = "interface", Ident, "{", "}" => ActionFn(183); - assert!(__symbols.len() >= 4); - let __sym3 = __pop_Variant0(__symbols); + // ExtensionInterface = "interface", Ident, "{", Methods, "}" => ActionFn(187); + assert!(__symbols.len() >= 5); + let __sym4 = __pop_Variant0(__symbols); + let __sym3 = __pop_Variant24(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant26(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action183::<>(input, __sym0, __sym1, __sym2, __sym3); + let __end = __sym4.2.clone(); + let __nt = super::__action187::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); - (4, 36) + (5, 36) } pub(crate) fn __reduce69< 'input, @@ -3306,19 +3362,18 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // Func = Ident, "(", Comma, ")", "->", Type => ActionFn(115); - assert!(__symbols.len() >= 6); - let __sym5 = __pop_Variant1(__symbols); + // ExtensionInterface = "interface", Ident, "{", Version, "}" => ActionFn(188); + assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant0(__symbols); - let __sym2 = __pop_Variant22(__symbols); - let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant26(__symbols); + let __sym3 = __pop_Variant39(__symbols); + let __sym2 = __pop_Variant0(__symbols); + let __sym1 = __pop_Variant26(__symbols); + let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action115::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - __symbols.push((__start, __Symbol::Variant13(__nt), __end)); - (6, 37) + let __end = __sym4.2.clone(); + let __nt = super::__action188::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); + __symbols.push((__start, __Symbol::Variant11(__nt), __end)); + (5, 36) } pub(crate) fn __reduce70< 'input, @@ -3329,7 +3384,51 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // Func = Ident, "(", Comma, ")" => ActionFn(116); + // ExtensionInterface = "interface", Ident, "{", "}" => ActionFn(189); + assert!(__symbols.len() >= 4); + let __sym3 = __pop_Variant0(__symbols); + let __sym2 = __pop_Variant0(__symbols); + let __sym1 = __pop_Variant26(__symbols); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym3.2.clone(); + let __nt = super::__action189::<>(input, __sym0, __sym1, __sym2, __sym3); + __symbols.push((__start, __Symbol::Variant11(__nt), __end)); + (4, 36) + } + pub(crate) fn __reduce71< + 'input, + >( + input: &'input str, + __lookahead_start: Option<&usize>, + __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)>, + _: core::marker::PhantomData<(&'input ())>, + ) -> (usize, usize) + { + // Func = Ident, "(", Comma, ")", "->", Type => ActionFn(117); + assert!(__symbols.len() >= 6); + let __sym5 = __pop_Variant1(__symbols); + let __sym4 = __pop_Variant0(__symbols); + let __sym3 = __pop_Variant0(__symbols); + let __sym2 = __pop_Variant22(__symbols); + let __sym1 = __pop_Variant0(__symbols); + let __sym0 = __pop_Variant26(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym5.2.clone(); + let __nt = super::__action117::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + __symbols.push((__start, __Symbol::Variant13(__nt), __end)); + (6, 37) + } + pub(crate) fn __reduce72< + 'input, + >( + input: &'input str, + __lookahead_start: Option<&usize>, + __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)>, + _: core::marker::PhantomData<(&'input ())>, + ) -> (usize, usize) + { + // Func = Ident, "(", Comma, ")" => ActionFn(118); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant22(__symbols); @@ -3337,11 +3436,11 @@ mod __parse__Namespace { let __sym0 = __pop_Variant26(__symbols); let __start = __sym0.0.clone(); let __end = __sym3.2.clone(); - let __nt = super::__action116::<>(input, __sym0, __sym1, __sym2, __sym3); + let __nt = super::__action118::<>(input, __sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant13(__nt), __end)); (4, 37) } - pub(crate) fn __reduce71< + pub(crate) fn __reduce73< 'input, >( input: &'input str, @@ -3358,49 +3457,6 @@ mod __parse__Namespace { __symbols.push((__start, __Symbol::Variant26(__nt), __end)); (1, 38) } - pub(crate) fn __reduce72< - 'input, - >( - input: &'input str, - __lookahead_start: Option<&usize>, - __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)>, - _: core::marker::PhantomData<(&'input ())>, - ) -> (usize, usize) - { - // ImplicitInterface = "interface", "{", Events, Methods, "}" => ActionFn(166); - assert!(__symbols.len() >= 5); - let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant24(__symbols); - let __sym2 = __pop_Variant24(__symbols); - let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant0(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action166::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - __symbols.push((__start, __Symbol::Variant27(__nt), __end)); - (5, 39) - } - pub(crate) fn __reduce73< - 'input, - >( - input: &'input str, - __lookahead_start: Option<&usize>, - __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)>, - _: core::marker::PhantomData<(&'input ())>, - ) -> (usize, usize) - { - // ImplicitInterface = "interface", "{", Events, "}" => ActionFn(167); - assert!(__symbols.len() >= 4); - let __sym3 = __pop_Variant0(__symbols); - let __sym2 = __pop_Variant24(__symbols); - let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant0(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action167::<>(input, __sym0, __sym1, __sym2, __sym3); - __symbols.push((__start, __Symbol::Variant27(__nt), __end)); - (4, 39) - } pub(crate) fn __reduce74< 'input, >( @@ -3410,17 +3466,18 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ImplicitInterface = "interface", "{", Methods, "}" => ActionFn(168); - assert!(__symbols.len() >= 4); - let __sym3 = __pop_Variant0(__symbols); + // ImplicitInterface = "interface", "{", Events, Methods, "}" => ActionFn(170); + assert!(__symbols.len() >= 5); + let __sym4 = __pop_Variant0(__symbols); + let __sym3 = __pop_Variant24(__symbols); let __sym2 = __pop_Variant24(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action168::<>(input, __sym0, __sym1, __sym2, __sym3); + let __end = __sym4.2.clone(); + let __nt = super::__action170::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant27(__nt), __end)); - (4, 39) + (5, 39) } pub(crate) fn __reduce75< 'input, @@ -3431,18 +3488,93 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // ImplicitInterface = "interface", "{", "}" => ActionFn(169); + // ImplicitInterface = "interface", "{", Events, "}" => ActionFn(171); + assert!(__symbols.len() >= 4); + let __sym3 = __pop_Variant0(__symbols); + let __sym2 = __pop_Variant24(__symbols); + let __sym1 = __pop_Variant0(__symbols); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym3.2.clone(); + let __nt = super::__action171::<>(input, __sym0, __sym1, __sym2, __sym3); + __symbols.push((__start, __Symbol::Variant27(__nt), __end)); + (4, 39) + } + pub(crate) fn __reduce76< + 'input, + >( + input: &'input str, + __lookahead_start: Option<&usize>, + __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)>, + _: core::marker::PhantomData<(&'input ())>, + ) -> (usize, usize) + { + // ImplicitInterface = "interface", "{", Methods, "}" => ActionFn(172); + assert!(__symbols.len() >= 4); + let __sym3 = __pop_Variant0(__symbols); + let __sym2 = __pop_Variant24(__symbols); + let __sym1 = __pop_Variant0(__symbols); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym3.2.clone(); + let __nt = super::__action172::<>(input, __sym0, __sym1, __sym2, __sym3); + __symbols.push((__start, __Symbol::Variant27(__nt), __end)); + (4, 39) + } + pub(crate) fn __reduce77< + 'input, + >( + input: &'input str, + __lookahead_start: Option<&usize>, + __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)>, + _: core::marker::PhantomData<(&'input ())>, + ) -> (usize, usize) + { + // ImplicitInterface = "interface", "{", "}" => ActionFn(173); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); - let __nt = super::__action169::<>(input, __sym0, __sym1, __sym2); + let __nt = super::__action173::<>(input, __sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant27(__nt), __end)); (3, 39) } - pub(crate) fn __reduce76< + pub(crate) fn __reduce78< + 'input, + >( + input: &'input str, + __lookahead_start: Option<&usize>, + __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)>, + _: core::marker::PhantomData<(&'input ())>, + ) -> (usize, usize) + { + // ImplicitInterface? = ImplicitInterface => ActionFn(67); + let __sym0 = __pop_Variant27(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action67::<>(input, __sym0); + __symbols.push((__start, __Symbol::Variant28(__nt), __end)); + (1, 40) + } + pub(crate) fn __reduce79< + 'input, + >( + input: &'input str, + __lookahead_start: Option<&usize>, + __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)>, + _: core::marker::PhantomData<(&'input ())>, + ) -> (usize, usize) + { + // ImplicitInterface? = => ActionFn(68); + let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); + let __end = __start.clone(); + let __nt = super::__action68::<>(input, &__start, &__end); + __symbols.push((__start, __Symbol::Variant28(__nt), __end)); + (0, 40) + } + pub(crate) fn __reduce80< 'input, >( input: &'input str, @@ -3457,9 +3589,9 @@ mod __parse__Namespace { let __end = __sym0.2.clone(); let __nt = super::__action50::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant3(__nt), __end)); - (1, 40) + (1, 41) } - pub(crate) fn __reduce77< + pub(crate) fn __reduce81< 'input, >( input: &'input str, @@ -3473,10 +3605,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action23::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant28(__nt), __end)); - (1, 41) + __symbols.push((__start, __Symbol::Variant29(__nt), __end)); + (1, 42) } - pub(crate) fn __reduce78< + pub(crate) fn __reduce82< 'input, >( input: &'input str, @@ -3490,10 +3622,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action24::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant28(__nt), __end)); - (1, 41) + __symbols.push((__start, __Symbol::Variant29(__nt), __end)); + (1, 42) } - pub(crate) fn __reduce79< + pub(crate) fn __reduce83< 'input, >( input: &'input str, @@ -3507,10 +3639,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action25::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant28(__nt), __end)); - (1, 41) + __symbols.push((__start, __Symbol::Variant29(__nt), __end)); + (1, 42) } - pub(crate) fn __reduce80< + pub(crate) fn __reduce84< 'input, >( input: &'input str, @@ -3524,10 +3656,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action26::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant28(__nt), __end)); - (1, 41) + __symbols.push((__start, __Symbol::Variant29(__nt), __end)); + (1, 42) } - pub(crate) fn __reduce81< + pub(crate) fn __reduce85< 'input, >( input: &'input str, @@ -3541,10 +3673,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action27::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant28(__nt), __end)); - (1, 41) + __symbols.push((__start, __Symbol::Variant29(__nt), __end)); + (1, 42) } - pub(crate) fn __reduce82< + pub(crate) fn __reduce86< 'input, >( input: &'input str, @@ -3558,10 +3690,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action28::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant28(__nt), __end)); - (1, 41) + __symbols.push((__start, __Symbol::Variant29(__nt), __end)); + (1, 42) } - pub(crate) fn __reduce83< + pub(crate) fn __reduce87< 'input, >( input: &'input str, @@ -3575,10 +3707,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action29::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant28(__nt), __end)); - (1, 41) + __symbols.push((__start, __Symbol::Variant29(__nt), __end)); + (1, 42) } - pub(crate) fn __reduce84< + pub(crate) fn __reduce88< 'input, >( input: &'input str, @@ -3592,10 +3724,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action30::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant28(__nt), __end)); - (1, 41) + __symbols.push((__start, __Symbol::Variant29(__nt), __end)); + (1, 42) } - pub(crate) fn __reduce85< + pub(crate) fn __reduce89< 'input, >( input: &'input str, @@ -3609,10 +3741,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action31::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant28(__nt), __end)); - (1, 41) + __symbols.push((__start, __Symbol::Variant29(__nt), __end)); + (1, 42) } - pub(crate) fn __reduce86< + pub(crate) fn __reduce90< 'input, >( input: &'input str, @@ -3626,10 +3758,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action32::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant28(__nt), __end)); - (1, 41) + __symbols.push((__start, __Symbol::Variant29(__nt), __end)); + (1, 42) } - pub(crate) fn __reduce87< + pub(crate) fn __reduce91< 'input, >( input: &'input str, @@ -3643,10 +3775,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action33::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant28(__nt), __end)); - (1, 41) + __symbols.push((__start, __Symbol::Variant29(__nt), __end)); + (1, 42) } - pub(crate) fn __reduce88< + pub(crate) fn __reduce92< 'input, >( input: &'input str, @@ -3660,10 +3792,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action34::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant28(__nt), __end)); - (1, 41) + __symbols.push((__start, __Symbol::Variant29(__nt), __end)); + (1, 42) } - pub(crate) fn __reduce89< + pub(crate) fn __reduce93< 'input, >( input: &'input str, @@ -3677,10 +3809,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action35::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant28(__nt), __end)); - (1, 41) + __symbols.push((__start, __Symbol::Variant29(__nt), __end)); + (1, 42) } - pub(crate) fn __reduce90< + pub(crate) fn __reduce94< 'input, >( input: &'input str, @@ -3694,10 +3826,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action36::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant28(__nt), __end)); - (1, 41) + __symbols.push((__start, __Symbol::Variant29(__nt), __end)); + (1, 42) } - pub(crate) fn __reduce91< + pub(crate) fn __reduce95< 'input, >( input: &'input str, @@ -3711,10 +3843,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action37::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant28(__nt), __end)); - (1, 41) + __symbols.push((__start, __Symbol::Variant29(__nt), __end)); + (1, 42) } - pub(crate) fn __reduce92< + pub(crate) fn __reduce96< 'input, >( input: &'input str, @@ -3728,10 +3860,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action38::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant28(__nt), __end)); - (1, 41) + __symbols.push((__start, __Symbol::Variant29(__nt), __end)); + (1, 42) } - pub(crate) fn __reduce93< + pub(crate) fn __reduce97< 'input, >( input: &'input str, @@ -3745,10 +3877,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action39::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant28(__nt), __end)); - (1, 41) + __symbols.push((__start, __Symbol::Variant29(__nt), __end)); + (1, 42) } - pub(crate) fn __reduce94< + pub(crate) fn __reduce98< 'input, >( input: &'input str, @@ -3762,10 +3894,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action40::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant28(__nt), __end)); - (1, 41) + __symbols.push((__start, __Symbol::Variant29(__nt), __end)); + (1, 42) } - pub(crate) fn __reduce95< + pub(crate) fn __reduce99< 'input, >( input: &'input str, @@ -3779,10 +3911,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action41::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant28(__nt), __end)); - (1, 41) + __symbols.push((__start, __Symbol::Variant29(__nt), __end)); + (1, 42) } - pub(crate) fn __reduce96< + pub(crate) fn __reduce100< 'input, >( input: &'input str, @@ -3796,100 +3928,8 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action42::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant28(__nt), __end)); - (1, 41) - } - pub(crate) fn __reduce97< - 'input, - >( - input: &'input str, - __lookahead_start: Option<&usize>, - __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)>, - _: core::marker::PhantomData<(&'input ())>, - ) -> (usize, usize) - { - // Interface = "interface", Ident, "{", Version, Events, Methods, "}" => ActionFn(184); - assert!(__symbols.len() >= 7); - let __sym6 = __pop_Variant0(__symbols); - let __sym5 = __pop_Variant24(__symbols); - let __sym4 = __pop_Variant24(__symbols); - let __sym3 = __pop_Variant38(__symbols); - let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant26(__symbols); - let __sym0 = __pop_Variant0(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym6.2.clone(); - let __nt = super::__action184::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (7, 42) - } - pub(crate) fn __reduce98< - 'input, - >( - input: &'input str, - __lookahead_start: Option<&usize>, - __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)>, - _: core::marker::PhantomData<(&'input ())>, - ) -> (usize, usize) - { - // Interface = "interface", Ident, "{", Events, Methods, "}" => ActionFn(185); - assert!(__symbols.len() >= 6); - let __sym5 = __pop_Variant0(__symbols); - let __sym4 = __pop_Variant24(__symbols); - let __sym3 = __pop_Variant24(__symbols); - let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant26(__symbols); - let __sym0 = __pop_Variant0(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action185::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (6, 42) - } - pub(crate) fn __reduce99< - 'input, - >( - input: &'input str, - __lookahead_start: Option<&usize>, - __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)>, - _: core::marker::PhantomData<(&'input ())>, - ) -> (usize, usize) - { - // Interface = "interface", Ident, "{", Version, Events, "}" => ActionFn(186); - assert!(__symbols.len() >= 6); - let __sym5 = __pop_Variant0(__symbols); - let __sym4 = __pop_Variant24(__symbols); - let __sym3 = __pop_Variant38(__symbols); - let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant26(__symbols); - let __sym0 = __pop_Variant0(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action186::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (6, 42) - } - pub(crate) fn __reduce100< - 'input, - >( - input: &'input str, - __lookahead_start: Option<&usize>, - __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)>, - _: core::marker::PhantomData<(&'input ())>, - ) -> (usize, usize) - { - // Interface = "interface", Ident, "{", Events, "}" => ActionFn(187); - assert!(__symbols.len() >= 5); - let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant24(__symbols); - let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant26(__symbols); - let __sym0 = __pop_Variant0(__symbols); - let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action187::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (5, 42) + __symbols.push((__start, __Symbol::Variant29(__nt), __end)); + (1, 42) } pub(crate) fn __reduce101< 'input, @@ -3900,19 +3940,20 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // Interface = "interface", Ident, "{", Version, Methods, "}" => ActionFn(188); - assert!(__symbols.len() >= 6); - let __sym5 = __pop_Variant0(__symbols); + // Interface = "interface", Ident, "{", Version, Events, Methods, "}" => ActionFn(190); + assert!(__symbols.len() >= 7); + let __sym6 = __pop_Variant0(__symbols); + let __sym5 = __pop_Variant24(__symbols); let __sym4 = __pop_Variant24(__symbols); - let __sym3 = __pop_Variant38(__symbols); + let __sym3 = __pop_Variant39(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant26(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); - let __end = __sym5.2.clone(); - let __nt = super::__action188::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __end = __sym6.2.clone(); + let __nt = super::__action190::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (6, 42) + (7, 43) } pub(crate) fn __reduce102< 'input, @@ -3923,18 +3964,19 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // Interface = "interface", Ident, "{", Methods, "}" => ActionFn(189); - assert!(__symbols.len() >= 5); - let __sym4 = __pop_Variant0(__symbols); + // Interface = "interface", Ident, "{", Events, Methods, "}" => ActionFn(191); + assert!(__symbols.len() >= 6); + let __sym5 = __pop_Variant0(__symbols); + let __sym4 = __pop_Variant24(__symbols); let __sym3 = __pop_Variant24(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant26(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action189::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __end = __sym5.2.clone(); + let __nt = super::__action191::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (5, 42) + (6, 43) } pub(crate) fn __reduce103< 'input, @@ -3945,18 +3987,19 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // Interface = "interface", Ident, "{", Version, "}" => ActionFn(190); - assert!(__symbols.len() >= 5); - let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant38(__symbols); + // Interface = "interface", Ident, "{", Version, Events, "}" => ActionFn(192); + assert!(__symbols.len() >= 6); + let __sym5 = __pop_Variant0(__symbols); + let __sym4 = __pop_Variant24(__symbols); + let __sym3 = __pop_Variant39(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant26(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); - let __end = __sym4.2.clone(); - let __nt = super::__action190::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); + let __end = __sym5.2.clone(); + let __nt = super::__action192::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (5, 42) + (6, 43) } pub(crate) fn __reduce104< 'input, @@ -3967,17 +4010,18 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // Interface = "interface", Ident, "{", "}" => ActionFn(191); - assert!(__symbols.len() >= 4); - let __sym3 = __pop_Variant0(__symbols); + // Interface = "interface", Ident, "{", Events, "}" => ActionFn(193); + assert!(__symbols.len() >= 5); + let __sym4 = __pop_Variant0(__symbols); + let __sym3 = __pop_Variant24(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant26(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); - let __end = __sym3.2.clone(); - let __nt = super::__action191::<>(input, __sym0, __sym1, __sym2, __sym3); + let __end = __sym4.2.clone(); + let __nt = super::__action193::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (4, 42) + (5, 43) } pub(crate) fn __reduce105< 'input, @@ -3988,12 +4032,19 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // List = => ActionFn(126); - let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); - let __end = __start.clone(); - let __nt = super::__action126::<>(input, &__start, &__end); - __symbols.push((__start, __Symbol::Variant23(__nt), __end)); - (0, 43) + // Interface = "interface", Ident, "{", Version, Methods, "}" => ActionFn(194); + assert!(__symbols.len() >= 6); + let __sym5 = __pop_Variant0(__symbols); + let __sym4 = __pop_Variant24(__symbols); + let __sym3 = __pop_Variant39(__symbols); + let __sym2 = __pop_Variant0(__symbols); + let __sym1 = __pop_Variant26(__symbols); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym5.2.clone(); + let __nt = super::__action194::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + __symbols.push((__start, __Symbol::Variant15(__nt), __end)); + (6, 43) } pub(crate) fn __reduce106< 'input, @@ -4004,13 +4055,18 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // List = ()+ => ActionFn(127); - let __sym0 = __pop_Variant8(__symbols); + // Interface = "interface", Ident, "{", Methods, "}" => ActionFn(195); + assert!(__symbols.len() >= 5); + let __sym4 = __pop_Variant0(__symbols); + let __sym3 = __pop_Variant24(__symbols); + let __sym2 = __pop_Variant0(__symbols); + let __sym1 = __pop_Variant26(__symbols); + let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action127::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant23(__nt), __end)); - (1, 43) + let __end = __sym4.2.clone(); + let __nt = super::__action195::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); + __symbols.push((__start, __Symbol::Variant15(__nt), __end)); + (5, 43) } pub(crate) fn __reduce107< 'input, @@ -4021,12 +4077,18 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // List = => ActionFn(130); - let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); - let __end = __start.clone(); - let __nt = super::__action130::<>(input, &__start, &__end); - __symbols.push((__start, __Symbol::Variant29(__nt), __end)); - (0, 44) + // Interface = "interface", Ident, "{", Version, "}" => ActionFn(196); + assert!(__symbols.len() >= 5); + let __sym4 = __pop_Variant0(__symbols); + let __sym3 = __pop_Variant39(__symbols); + let __sym2 = __pop_Variant0(__symbols); + let __sym1 = __pop_Variant26(__symbols); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym4.2.clone(); + let __nt = super::__action196::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); + __symbols.push((__start, __Symbol::Variant15(__nt), __end)); + (5, 43) } pub(crate) fn __reduce108< 'input, @@ -4037,13 +4099,17 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // List = ()+ => ActionFn(131); - let __sym0 = __pop_Variant10(__symbols); + // Interface = "interface", Ident, "{", "}" => ActionFn(197); + assert!(__symbols.len() >= 4); + let __sym3 = __pop_Variant0(__symbols); + let __sym2 = __pop_Variant0(__symbols); + let __sym1 = __pop_Variant26(__symbols); + let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); - let __end = __sym0.2.clone(); - let __nt = super::__action131::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant29(__nt), __end)); - (1, 44) + let __end = __sym3.2.clone(); + let __nt = super::__action197::<>(input, __sym0, __sym1, __sym2, __sym3); + __symbols.push((__start, __Symbol::Variant15(__nt), __end)); + (4, 43) } pub(crate) fn __reduce109< 'input, @@ -4054,12 +4120,12 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // List = => ActionFn(134); + // List = => ActionFn(128); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action134::<>(input, &__start, &__end); - __symbols.push((__start, __Symbol::Variant30(__nt), __end)); - (0, 45) + let __nt = super::__action128::<>(input, &__start, &__end); + __symbols.push((__start, __Symbol::Variant23(__nt), __end)); + (0, 44) } pub(crate) fn __reduce110< 'input, @@ -4070,13 +4136,13 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // List = ()+ => ActionFn(135); - let __sym0 = __pop_Variant12(__symbols); + // List = ()+ => ActionFn(129); + let __sym0 = __pop_Variant8(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action135::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant30(__nt), __end)); - (1, 45) + let __nt = super::__action129::<>(input, __sym0); + __symbols.push((__start, __Symbol::Variant23(__nt), __end)); + (1, 44) } pub(crate) fn __reduce111< 'input, @@ -4087,12 +4153,12 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // List = => ActionFn(138); + // List = => ActionFn(132); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action138::<>(input, &__start, &__end); - __symbols.push((__start, __Symbol::Variant24(__nt), __end)); - (0, 46) + let __nt = super::__action132::<>(input, &__start, &__end); + __symbols.push((__start, __Symbol::Variant30(__nt), __end)); + (0, 45) } pub(crate) fn __reduce112< 'input, @@ -4103,13 +4169,13 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // List = ()+ => ActionFn(139); - let __sym0 = __pop_Variant14(__symbols); + // List = ()+ => ActionFn(133); + let __sym0 = __pop_Variant10(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action139::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant24(__nt), __end)); - (1, 46) + let __nt = super::__action133::<>(input, __sym0); + __symbols.push((__start, __Symbol::Variant30(__nt), __end)); + (1, 45) } pub(crate) fn __reduce113< 'input, @@ -4120,12 +4186,12 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // List = => ActionFn(142); + // List = => ActionFn(136); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action142::<>(input, &__start, &__end); + let __nt = super::__action136::<>(input, &__start, &__end); __symbols.push((__start, __Symbol::Variant31(__nt), __end)); - (0, 47) + (0, 46) } pub(crate) fn __reduce114< 'input, @@ -4136,13 +4202,13 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // List = ()+ => ActionFn(143); - let __sym0 = __pop_Variant16(__symbols); + // List = ()+ => ActionFn(137); + let __sym0 = __pop_Variant12(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action143::<>(input, __sym0); + let __nt = super::__action137::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant31(__nt), __end)); - (1, 47) + (1, 46) } pub(crate) fn __reduce115< 'input, @@ -4153,12 +4219,12 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // List = => ActionFn(146); + // List = => ActionFn(140); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action146::<>(input, &__start, &__end); - __symbols.push((__start, __Symbol::Variant32(__nt), __end)); - (0, 48) + let __nt = super::__action140::<>(input, &__start, &__end); + __symbols.push((__start, __Symbol::Variant24(__nt), __end)); + (0, 47) } pub(crate) fn __reduce116< 'input, @@ -4169,13 +4235,13 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // List = ()+ => ActionFn(147); - let __sym0 = __pop_Variant18(__symbols); + // List = ()+ => ActionFn(141); + let __sym0 = __pop_Variant14(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action147::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant32(__nt), __end)); - (1, 48) + let __nt = super::__action141::<>(input, __sym0); + __symbols.push((__start, __Symbol::Variant24(__nt), __end)); + (1, 47) } pub(crate) fn __reduce117< 'input, @@ -4186,12 +4252,12 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // List = => ActionFn(150); + // List = => ActionFn(144); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action150::<>(input, &__start, &__end); - __symbols.push((__start, __Symbol::Variant33(__nt), __end)); - (0, 49) + let __nt = super::__action144::<>(input, &__start, &__end); + __symbols.push((__start, __Symbol::Variant32(__nt), __end)); + (0, 48) } pub(crate) fn __reduce118< 'input, @@ -4202,15 +4268,81 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // List = ()+ => ActionFn(151); - let __sym0 = __pop_Variant20(__symbols); + // List = ()+ => ActionFn(145); + let __sym0 = __pop_Variant16(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action151::<>(input, __sym0); + let __nt = super::__action145::<>(input, __sym0); + __symbols.push((__start, __Symbol::Variant32(__nt), __end)); + (1, 48) + } + pub(crate) fn __reduce119< + 'input, + >( + input: &'input str, + __lookahead_start: Option<&usize>, + __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)>, + _: core::marker::PhantomData<(&'input ())>, + ) -> (usize, usize) + { + // List = => ActionFn(148); + let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); + let __end = __start.clone(); + let __nt = super::__action148::<>(input, &__start, &__end); + __symbols.push((__start, __Symbol::Variant33(__nt), __end)); + (0, 49) + } + pub(crate) fn __reduce120< + 'input, + >( + input: &'input str, + __lookahead_start: Option<&usize>, + __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)>, + _: core::marker::PhantomData<(&'input ())>, + ) -> (usize, usize) + { + // List = ()+ => ActionFn(149); + let __sym0 = __pop_Variant18(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action149::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 49) } - pub(crate) fn __reduce119< + pub(crate) fn __reduce121< + 'input, + >( + input: &'input str, + __lookahead_start: Option<&usize>, + __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)>, + _: core::marker::PhantomData<(&'input ())>, + ) -> (usize, usize) + { + // List = => ActionFn(152); + let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); + let __end = __start.clone(); + let __nt = super::__action152::<>(input, &__start, &__end); + __symbols.push((__start, __Symbol::Variant34(__nt), __end)); + (0, 50) + } + pub(crate) fn __reduce122< + 'input, + >( + input: &'input str, + __lookahead_start: Option<&usize>, + __symbols: &mut alloc::vec::Vec<(usize,__Symbol<'input>,usize)>, + _: core::marker::PhantomData<(&'input ())>, + ) -> (usize, usize) + { + // List = ()+ => ActionFn(153); + let __sym0 = __pop_Variant20(__symbols); + let __start = __sym0.0.clone(); + let __end = __sym0.2.clone(); + let __nt = super::__action153::<>(input, __sym0); + __symbols.push((__start, __Symbol::Variant34(__nt), __end)); + (1, 50) + } + pub(crate) fn __reduce123< 'input, >( input: &'input str, @@ -4229,9 +4361,9 @@ mod __parse__Namespace { let __end = __sym3.2.clone(); let __nt = super::__action8::<>(input, __sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant24(__nt), __end)); - (4, 50) + (4, 51) } - pub(crate) fn __reduce120< + pub(crate) fn __reduce124< 'input, >( input: &'input str, @@ -4246,9 +4378,9 @@ mod __parse__Namespace { let __end = __sym0.2.clone(); let __nt = super::__action62::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); - (1, 51) + (1, 52) } - pub(crate) fn __reduce121< + pub(crate) fn __reduce125< 'input, >( input: &'input str, @@ -4262,9 +4394,9 @@ mod __parse__Namespace { let __end = __start.clone(); let __nt = super::__action63::<>(input, &__start, &__end); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); - (0, 51) + (0, 52) } - pub(crate) fn __reduce122< + pub(crate) fn __reduce126< 'input, >( input: &'input str, @@ -4275,18 +4407,18 @@ mod __parse__Namespace { { // Namespace = "namespace", Ident, List, List, List => ActionFn(1); assert!(__symbols.len() >= 5); - let __sym4 = __pop_Variant29(__symbols); - let __sym3 = __pop_Variant33(__symbols); - let __sym2 = __pop_Variant31(__symbols); + let __sym4 = __pop_Variant30(__symbols); + let __sym3 = __pop_Variant34(__symbols); + let __sym2 = __pop_Variant32(__symbols); let __sym1 = __pop_Variant26(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); let __end = __sym4.2.clone(); let __nt = super::__action1::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4); - __symbols.push((__start, __Symbol::Variant34(__nt), __end)); - (5, 52) + __symbols.push((__start, __Symbol::Variant35(__nt), __end)); + (5, 53) } - pub(crate) fn __reduce123< + pub(crate) fn __reduce127< 'input, >( input: &'input str, @@ -4300,10 +4432,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action49::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (1, 53) + __symbols.push((__start, __Symbol::Variant36(__nt), __end)); + (1, 54) } - pub(crate) fn __reduce124< + pub(crate) fn __reduce128< 'input, >( input: &'input str, @@ -4317,10 +4449,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action15::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant36(__nt), __end)); - (1, 54) + __symbols.push((__start, __Symbol::Variant37(__nt), __end)); + (1, 55) } - pub(crate) fn __reduce125< + pub(crate) fn __reduce129< 'input, >( input: &'input str, @@ -4334,10 +4466,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action16::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant36(__nt), __end)); - (1, 54) + __symbols.push((__start, __Symbol::Variant37(__nt), __end)); + (1, 55) } - pub(crate) fn __reduce126< + pub(crate) fn __reduce130< 'input, >( input: &'input str, @@ -4351,10 +4483,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action17::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant36(__nt), __end)); - (1, 54) + __symbols.push((__start, __Symbol::Variant37(__nt), __end)); + (1, 55) } - pub(crate) fn __reduce127< + pub(crate) fn __reduce131< 'input, >( input: &'input str, @@ -4368,10 +4500,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action18::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant36(__nt), __end)); - (1, 54) + __symbols.push((__start, __Symbol::Variant37(__nt), __end)); + (1, 55) } - pub(crate) fn __reduce128< + pub(crate) fn __reduce132< 'input, >( input: &'input str, @@ -4385,10 +4517,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action19::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant36(__nt), __end)); - (1, 54) + __symbols.push((__start, __Symbol::Variant37(__nt), __end)); + (1, 55) } - pub(crate) fn __reduce129< + pub(crate) fn __reduce133< 'input, >( input: &'input str, @@ -4402,10 +4534,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action20::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant36(__nt), __end)); - (1, 54) + __symbols.push((__start, __Symbol::Variant37(__nt), __end)); + (1, 55) } - pub(crate) fn __reduce130< + pub(crate) fn __reduce134< 'input, >( input: &'input str, @@ -4419,10 +4551,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action21::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant36(__nt), __end)); - (1, 54) + __symbols.push((__start, __Symbol::Variant37(__nt), __end)); + (1, 55) } - pub(crate) fn __reduce131< + pub(crate) fn __reduce135< 'input, >( input: &'input str, @@ -4436,10 +4568,10 @@ mod __parse__Namespace { let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action22::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant36(__nt), __end)); - (1, 54) + __symbols.push((__start, __Symbol::Variant37(__nt), __end)); + (1, 55) } - pub(crate) fn __reduce132< + pub(crate) fn __reduce136< 'input, >( input: &'input str, @@ -4451,15 +4583,15 @@ mod __parse__Namespace { // Struct = "{", List, "}" => ActionFn(45); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant32(__symbols); + let __sym1 = __pop_Variant33(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); let __nt = super::__action45::<>(input, __sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant37(__nt), __end)); - (3, 55) + __symbols.push((__start, __Symbol::Variant38(__nt), __end)); + (3, 56) } - pub(crate) fn __reduce133< + pub(crate) fn __reduce137< 'input, >( input: &'input str, @@ -4477,9 +4609,9 @@ mod __parse__Namespace { let __end = __sym2.2.clone(); let __nt = super::__action46::<>(input, __sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); - (3, 56) + (3, 57) } - pub(crate) fn __reduce134< + pub(crate) fn __reduce138< 'input, >( input: &'input str, @@ -4489,14 +4621,14 @@ mod __parse__Namespace { ) -> (usize, usize) { // Type = PrimType => ActionFn(11); - let __sym0 = __pop_Variant36(__symbols); + let __sym0 = __pop_Variant37(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action11::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant1(__nt), __end)); - (1, 57) + (1, 58) } - pub(crate) fn __reduce135< + pub(crate) fn __reduce139< 'input, >( input: &'input str, @@ -4511,9 +4643,9 @@ mod __parse__Namespace { let __end = __sym0.2.clone(); let __nt = super::__action12::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant1(__nt), __end)); - (1, 57) + (1, 58) } - pub(crate) fn __reduce136< + pub(crate) fn __reduce140< 'input, >( input: &'input str, @@ -4523,14 +4655,14 @@ mod __parse__Namespace { ) -> (usize, usize) { // Type = IntType => ActionFn(13); - let __sym0 = __pop_Variant28(__symbols); + let __sym0 = __pop_Variant29(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); let __nt = super::__action13::<>(input, __sym0); __symbols.push((__start, __Symbol::Variant1(__nt), __end)); - (1, 57) + (1, 58) } - pub(crate) fn __reduce137< + pub(crate) fn __reduce141< 'input, >( input: &'input str, @@ -4547,9 +4679,9 @@ mod __parse__Namespace { let __end = __sym1.2.clone(); let __nt = super::__action14::<>(input, __sym0, __sym1); __symbols.push((__start, __Symbol::Variant1(__nt), __end)); - (2, 57) + (2, 58) } - pub(crate) fn __reduce138< + pub(crate) fn __reduce142< 'input, >( input: &'input str, @@ -4560,16 +4692,16 @@ mod __parse__Namespace { { // TypeDef = "struct", Ident, Struct => ActionFn(43); assert!(__symbols.len() >= 3); - let __sym2 = __pop_Variant37(__symbols); + let __sym2 = __pop_Variant38(__symbols); let __sym1 = __pop_Variant26(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); let __end = __sym2.2.clone(); let __nt = super::__action43::<>(input, __sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant19(__nt), __end)); - (3, 58) + (3, 59) } - pub(crate) fn __reduce139< + pub(crate) fn __reduce143< 'input, >( input: &'input str, @@ -4582,7 +4714,7 @@ mod __parse__Namespace { assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant23(__symbols); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant28(__symbols); + let __sym3 = __pop_Variant29(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant26(__symbols); let __sym0 = __pop_Variant0(__symbols); @@ -4590,9 +4722,9 @@ mod __parse__Namespace { let __end = __sym5.2.clone(); let __nt = super::__action44::<>(input, __sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant19(__nt), __end)); - (6, 58) + (6, 59) } - pub(crate) fn __reduce140< + pub(crate) fn __reduce144< 'input, >( input: &'input str, @@ -4603,17 +4735,17 @@ mod __parse__Namespace { { // Version = "version", Num, Num, Num => ActionFn(6); assert!(__symbols.len() >= 4); - let __sym3 = __pop_Variant35(__symbols); - let __sym2 = __pop_Variant35(__symbols); - let __sym1 = __pop_Variant35(__symbols); + let __sym3 = __pop_Variant36(__symbols); + let __sym2 = __pop_Variant36(__symbols); + let __sym1 = __pop_Variant36(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0.clone(); let __end = __sym3.2.clone(); let __nt = super::__action6::<>(input, __sym0, __sym1, __sym2, __sym3); - __symbols.push((__start, __Symbol::Variant38(__nt), __end)); - (4, 59) + __symbols.push((__start, __Symbol::Variant39(__nt), __end)); + (4, 60) } - pub(crate) fn __reduce141< + pub(crate) fn __reduce145< 'input, >( input: &'input str, @@ -4622,15 +4754,15 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // Version? = Version => ActionFn(67); - let __sym0 = __pop_Variant38(__symbols); + // Version? = Version => ActionFn(69); + let __sym0 = __pop_Variant39(__symbols); let __start = __sym0.0.clone(); let __end = __sym0.2.clone(); - let __nt = super::__action67::<>(input, __sym0); - __symbols.push((__start, __Symbol::Variant39(__nt), __end)); - (1, 60) + let __nt = super::__action69::<>(input, __sym0); + __symbols.push((__start, __Symbol::Variant40(__nt), __end)); + (1, 61) } - pub(crate) fn __reduce142< + pub(crate) fn __reduce146< 'input, >( input: &'input str, @@ -4639,12 +4771,12 @@ mod __parse__Namespace { _: core::marker::PhantomData<(&'input ())>, ) -> (usize, usize) { - // Version? = => ActionFn(68); + // Version? = => ActionFn(70); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action68::<>(input, &__start, &__end); - __symbols.push((__start, __Symbol::Variant39(__nt), __end)); - (0, 60) + let __nt = super::__action70::<>(input, &__start, &__end); + __symbols.push((__start, __Symbol::Variant40(__nt), __end)); + (0, 61) } } pub use self::__parse__Namespace::NamespaceParser; @@ -4750,7 +4882,7 @@ fn __action2< (_, name, _): (usize, String, usize), (_, _, _): (usize, &'input str, usize), (_, version, _): (usize, core::option::Option, usize), - (_, interface, _): (usize, ImplicitInterface, usize), + (_, interface, _): (usize, core::option::Option, usize), (_, interfaces, _): (usize, Vec, usize), (_, types, _): (usize, Vec, usize), (_, _, _): (usize, &'input str, usize), @@ -5528,8 +5660,8 @@ fn __action67< 'input, >( input: &'input str, - (_, __0, _): (usize, Version, usize), -) -> core::option::Option + (_, __0, _): (usize, ImplicitInterface, usize), +) -> core::option::Option { Some(__0) } @@ -5541,7 +5673,7 @@ fn __action68< input: &'input str, __lookbehind: &usize, __lookahead: &usize, -) -> core::option::Option +) -> core::option::Option { None } @@ -5549,6 +5681,29 @@ fn __action68< #[allow(unused_variables)] fn __action69< 'input, +>( + input: &'input str, + (_, __0, _): (usize, Version, usize), +) -> core::option::Option +{ + Some(__0) +} + +#[allow(unused_variables)] +fn __action70< + 'input, +>( + input: &'input str, + __lookbehind: &usize, + __lookahead: &usize, +) -> core::option::Option +{ + None +} + +#[allow(unused_variables)] +fn __action71< + 'input, >( input: &'input str, (_, v, _): (usize, alloc::vec::Vec, usize), @@ -5558,7 +5713,7 @@ fn __action69< } #[allow(unused_variables)] -fn __action70< +fn __action72< 'input, >( input: &'input str, @@ -5569,7 +5724,7 @@ fn __action70< } #[allow(unused_variables)] -fn __action71< +fn __action73< 'input, >( input: &'input str, @@ -5580,7 +5735,7 @@ fn __action71< } #[allow(unused_variables)] -fn __action72< +fn __action74< 'input, >( input: &'input str, @@ -5592,7 +5747,7 @@ fn __action72< } #[allow(unused_variables)] -fn __action73< +fn __action75< 'input, >( input: &'input str, @@ -5603,7 +5758,7 @@ fn __action73< } #[allow(unused_variables)] -fn __action74< +fn __action76< 'input, >( input: &'input str, @@ -5614,7 +5769,7 @@ fn __action74< } #[allow(unused_variables)] -fn __action75< +fn __action77< 'input, >( input: &'input str, @@ -5626,7 +5781,7 @@ fn __action75< } #[allow(unused_variables)] -fn __action76< +fn __action78< 'input, >( input: &'input str, @@ -5637,7 +5792,7 @@ fn __action76< } #[allow(unused_variables)] -fn __action77< +fn __action79< 'input, >( input: &'input str, @@ -5648,7 +5803,7 @@ fn __action77< } #[allow(unused_variables)] -fn __action78< +fn __action80< 'input, >( input: &'input str, @@ -5660,7 +5815,7 @@ fn __action78< } #[allow(unused_variables)] -fn __action79< +fn __action81< 'input, >( input: &'input str, @@ -5671,7 +5826,7 @@ fn __action79< } #[allow(unused_variables)] -fn __action80< +fn __action82< 'input, >( input: &'input str, @@ -5682,7 +5837,7 @@ fn __action80< } #[allow(unused_variables)] -fn __action81< +fn __action83< 'input, >( input: &'input str, @@ -5694,7 +5849,7 @@ fn __action81< } #[allow(unused_variables)] -fn __action82< +fn __action84< 'input, >( input: &'input str, @@ -5705,7 +5860,7 @@ fn __action82< } #[allow(unused_variables)] -fn __action83< +fn __action85< 'input, >( input: &'input str, @@ -5716,7 +5871,7 @@ fn __action83< } #[allow(unused_variables)] -fn __action84< +fn __action86< 'input, >( input: &'input str, @@ -5728,7 +5883,7 @@ fn __action84< } #[allow(unused_variables)] -fn __action85< +fn __action87< 'input, >( input: &'input str, @@ -5739,7 +5894,7 @@ fn __action85< } #[allow(unused_variables)] -fn __action86< +fn __action88< 'input, >( input: &'input str, @@ -5750,7 +5905,7 @@ fn __action86< } #[allow(unused_variables)] -fn __action87< +fn __action89< 'input, >( input: &'input str, @@ -5761,7 +5916,7 @@ fn __action87< } #[allow(unused_variables)] -fn __action88< +fn __action90< 'input, >( input: &'input str, @@ -5773,7 +5928,7 @@ fn __action88< } #[allow(unused_variables)] -fn __action89< +fn __action91< 'input, >( input: &'input str, @@ -5785,7 +5940,7 @@ fn __action89< } #[allow(unused_variables)] -fn __action90< +fn __action92< 'input, >( input: &'input str, @@ -5796,7 +5951,7 @@ fn __action90< } #[allow(unused_variables)] -fn __action91< +fn __action93< 'input, >( input: &'input str, @@ -5808,7 +5963,7 @@ fn __action91< } #[allow(unused_variables)] -fn __action92< +fn __action94< 'input, >( input: &'input str, @@ -5820,7 +5975,7 @@ fn __action92< } #[allow(unused_variables)] -fn __action93< +fn __action95< 'input, >( input: &'input str, @@ -5831,7 +5986,7 @@ fn __action93< } #[allow(unused_variables)] -fn __action94< +fn __action96< 'input, >( input: &'input str, @@ -5842,7 +5997,7 @@ fn __action94< } #[allow(unused_variables)] -fn __action95< +fn __action97< 'input, >( input: &'input str, @@ -5854,7 +6009,7 @@ fn __action95< } #[allow(unused_variables)] -fn __action96< +fn __action98< 'input, >( input: &'input str, @@ -5865,7 +6020,7 @@ fn __action96< } #[allow(unused_variables)] -fn __action97< +fn __action99< 'input, >( input: &'input str, @@ -5876,7 +6031,7 @@ fn __action97< } #[allow(unused_variables)] -fn __action98< +fn __action100< 'input, >( input: &'input str, @@ -5887,7 +6042,7 @@ fn __action98< } #[allow(unused_variables)] -fn __action99< +fn __action101< 'input, >( input: &'input str, @@ -5899,7 +6054,7 @@ fn __action99< } #[allow(unused_variables)] -fn __action100< +fn __action102< 'input, >( input: &'input str, @@ -5910,7 +6065,7 @@ fn __action100< } #[allow(unused_variables)] -fn __action101< +fn __action103< 'input, >( input: &'input str, @@ -5922,7 +6077,7 @@ fn __action101< } #[allow(unused_variables)] -fn __action102< +fn __action104< 'input, >( input: &'input str, @@ -5933,7 +6088,7 @@ fn __action102< } #[allow(unused_variables)] -fn __action103< +fn __action105< 'input, >( input: &'input str, @@ -5945,7 +6100,7 @@ fn __action103< } #[allow(unused_variables)] -fn __action104< +fn __action106< 'input, >( input: &'input str, @@ -5956,7 +6111,7 @@ fn __action104< } #[allow(unused_variables)] -fn __action105< +fn __action107< 'input, >( input: &'input str, @@ -5968,7 +6123,7 @@ fn __action105< } #[allow(unused_variables)] -fn __action106< +fn __action108< 'input, >( input: &'input str, @@ -5979,7 +6134,7 @@ fn __action106< } #[allow(unused_variables)] -fn __action107< +fn __action109< 'input, >( input: &'input str, @@ -5991,7 +6146,7 @@ fn __action107< } #[allow(unused_variables)] -fn __action108< +fn __action110< 'input, >( input: &'input str, @@ -6002,7 +6157,7 @@ fn __action108< } #[allow(unused_variables)] -fn __action109< +fn __action111< 'input, >( input: &'input str, @@ -6014,7 +6169,7 @@ fn __action109< } #[allow(unused_variables)] -fn __action110< +fn __action112< 'input, >( input: &'input str, @@ -6025,7 +6180,7 @@ fn __action110< } #[allow(unused_variables)] -fn __action111< +fn __action113< 'input, >( input: &'input str, @@ -6037,7 +6192,7 @@ fn __action111< } #[allow(unused_variables)] -fn __action112< +fn __action114< 'input, >( input: &'input str, @@ -6048,7 +6203,7 @@ fn __action112< } #[allow(unused_variables)] -fn __action113< +fn __action115< 'input, >( input: &'input str, @@ -6060,7 +6215,7 @@ fn __action113< } #[allow(unused_variables)] -fn __action114< +fn __action116< 'input, >( input: &'input str, @@ -6083,7 +6238,7 @@ fn __action114< } #[allow(unused_variables)] -fn __action115< +fn __action117< 'input, >( input: &'input str, @@ -6097,7 +6252,7 @@ fn __action115< { let __start0 = __4.0.clone(); let __end0 = __5.2.clone(); - let __temp0 = __action114( + let __temp0 = __action116( input, __4, __5, @@ -6114,7 +6269,7 @@ fn __action115< } #[allow(unused_variables)] -fn __action116< +fn __action118< 'input, >( input: &'input str, @@ -6143,7 +6298,7 @@ fn __action116< } #[allow(unused_variables)] -fn __action117< +fn __action119< 'input, >( input: &'input str, @@ -6166,7 +6321,7 @@ fn __action117< } #[allow(unused_variables)] -fn __action118< +fn __action120< 'input, >( input: &'input str, @@ -6177,7 +6332,7 @@ fn __action118< { let __start0 = __1.0.clone(); let __end0 = __2.2.clone(); - let __temp0 = __action117( + let __temp0 = __action119( input, __1, __2, @@ -6191,7 +6346,7 @@ fn __action118< } #[allow(unused_variables)] -fn __action119< +fn __action121< 'input, >( input: &'input str, @@ -6214,7 +6369,7 @@ fn __action119< } #[allow(unused_variables)] -fn __action120< +fn __action122< 'input, >( input: &'input str, @@ -6224,20 +6379,20 @@ fn __action120< { let __start0 = __0.0.clone(); let __end0 = __1.2.clone(); - let __temp0 = __action91( + let __temp0 = __action93( input, __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action102( + __action104( input, __temp0, ) } #[allow(unused_variables)] -fn __action121< +fn __action123< 'input, >( input: &'input str, @@ -6248,366 +6403,12 @@ fn __action121< { let __start0 = __1.0.clone(); let __end0 = __2.2.clone(); - let __temp0 = __action91( + let __temp0 = __action93( input, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action103( - input, - __0, - __temp0, - ) -} - -#[allow(unused_variables)] -fn __action122< - 'input, ->( - input: &'input str, - __0: (usize, core::option::Option, usize), -) -> Vec -{ - let __start0 = __0.0.clone(); - let __end0 = __0.0.clone(); - let __temp0 = __action89( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action60( - input, - __temp0, - __0, - ) -} - -#[allow(unused_variables)] -fn __action123< - 'input, ->( - input: &'input str, - __0: (usize, alloc::vec::Vec, usize), - __1: (usize, core::option::Option, usize), -) -> Vec -{ - let __start0 = __0.0.clone(); - let __end0 = __0.2.clone(); - let __temp0 = __action90( - input, - __0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action60( - input, - __temp0, - __1, - ) -} - -#[allow(unused_variables)] -fn __action124< - 'input, ->( - input: &'input str, - __0: (usize, EnumField, usize), -) -> alloc::vec::Vec -{ - let __start0 = __0.0.clone(); - let __end0 = __0.2.clone(); - let __temp0 = __action97( - input, - __0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action98( - input, - __temp0, - ) -} - -#[allow(unused_variables)] -fn __action125< - 'input, ->( - input: &'input str, - __0: (usize, alloc::vec::Vec, usize), - __1: (usize, EnumField, usize), -) -> alloc::vec::Vec -{ - let __start0 = __1.0.clone(); - let __end0 = __1.2.clone(); - let __temp0 = __action97( - input, - __1, - ); - let __temp0 = (__start0, __temp0, __end0); - __action99( - input, - __0, - __temp0, - ) -} - -#[allow(unused_variables)] -fn __action126< - 'input, ->( - input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> Vec -{ - let __start0 = __lookbehind.clone(); - let __end0 = __lookahead.clone(); - let __temp0 = __action95( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action55( - input, - __temp0, - ) -} - -#[allow(unused_variables)] -fn __action127< - 'input, ->( - input: &'input str, - __0: (usize, alloc::vec::Vec, usize), -) -> Vec -{ - let __start0 = __0.0.clone(); - let __end0 = __0.2.clone(); - let __temp0 = __action96( - input, - __0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action55( - input, - __temp0, - ) -} - -#[allow(unused_variables)] -fn __action128< - 'input, ->( - input: &'input str, - __0: (usize, Extension, usize), -) -> alloc::vec::Vec -{ - let __start0 = __0.0.clone(); - let __end0 = __0.2.clone(); - let __temp0 = __action80( - input, - __0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action108( - input, - __temp0, - ) -} - -#[allow(unused_variables)] -fn __action129< - 'input, ->( - input: &'input str, - __0: (usize, alloc::vec::Vec, usize), - __1: (usize, Extension, usize), -) -> alloc::vec::Vec -{ - let __start0 = __1.0.clone(); - let __end0 = __1.2.clone(); - let __temp0 = __action80( - input, - __1, - ); - let __temp0 = (__start0, __temp0, __end0); - __action109( - input, - __0, - __temp0, - ) -} - -#[allow(unused_variables)] -fn __action130< - 'input, ->( - input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> Vec -{ - let __start0 = __lookbehind.clone(); - let __end0 = __lookahead.clone(); - let __temp0 = __action78( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action69( - input, - __temp0, - ) -} - -#[allow(unused_variables)] -fn __action131< - 'input, ->( - input: &'input str, - __0: (usize, alloc::vec::Vec, usize), -) -> Vec -{ - let __start0 = __0.0.clone(); - let __end0 = __0.2.clone(); - let __temp0 = __action79( - input, - __0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action69( - input, - __temp0, - ) -} - -#[allow(unused_variables)] -fn __action132< - 'input, ->( - input: &'input str, - __0: (usize, ExtensionInterface, usize), -) -> alloc::vec::Vec -{ - let __start0 = __0.0.clone(); - let __end0 = __0.2.clone(); - let __temp0 = __action83( - input, - __0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action106( - input, - __temp0, - ) -} - -#[allow(unused_variables)] -fn __action133< - 'input, ->( - input: &'input str, - __0: (usize, alloc::vec::Vec, usize), - __1: (usize, ExtensionInterface, usize), -) -> alloc::vec::Vec -{ - let __start0 = __1.0.clone(); - let __end0 = __1.2.clone(); - let __temp0 = __action83( - input, - __1, - ); - let __temp0 = (__start0, __temp0, __end0); - __action107( - input, - __0, - __temp0, - ) -} - -#[allow(unused_variables)] -fn __action134< - 'input, ->( - input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> Vec -{ - let __start0 = __lookbehind.clone(); - let __end0 = __lookahead.clone(); - let __temp0 = __action81( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action66( - input, - __temp0, - ) -} - -#[allow(unused_variables)] -fn __action135< - 'input, ->( - input: &'input str, - __0: (usize, alloc::vec::Vec, usize), -) -> Vec -{ - let __start0 = __0.0.clone(); - let __end0 = __0.2.clone(); - let __temp0 = __action82( - input, - __0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action66( - input, - __temp0, - ) -} - -#[allow(unused_variables)] -fn __action136< - 'input, ->( - input: &'input str, - __0: (usize, Func, usize), -) -> alloc::vec::Vec -{ - let __start0 = __0.0.clone(); - let __end0 = __0.2.clone(); - let __temp0 = __action86( - input, - __0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action104( - input, - __temp0, - ) -} - -#[allow(unused_variables)] -fn __action137< - 'input, ->( - input: &'input str, - __0: (usize, alloc::vec::Vec, usize), - __1: (usize, Func, usize), -) -> alloc::vec::Vec -{ - let __start0 = __1.0.clone(); - let __end0 = __1.2.clone(); - let __temp0 = __action86( - input, - __1, - ); - let __temp0 = (__start0, __temp0, __end0); __action105( input, __0, @@ -6616,148 +6417,62 @@ fn __action137< } #[allow(unused_variables)] -fn __action138< +fn __action124< 'input, >( input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> Vec + __0: (usize, core::option::Option, usize), +) -> Vec { - let __start0 = __lookbehind.clone(); - let __end0 = __lookahead.clone(); - let __temp0 = __action84( + let __start0 = __0.0.clone(); + let __end0 = __0.0.clone(); + let __temp0 = __action91( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action61( + __action60( input, __temp0, + __0, ) } #[allow(unused_variables)] -fn __action139< +fn __action125< 'input, >( input: &'input str, - __0: (usize, alloc::vec::Vec, usize), -) -> Vec + __0: (usize, alloc::vec::Vec, usize), + __1: (usize, core::option::Option, usize), +) -> Vec { let __start0 = __0.0.clone(); let __end0 = __0.2.clone(); - let __temp0 = __action85( + let __temp0 = __action92( input, __0, ); let __temp0 = (__start0, __temp0, __end0); - __action61( + __action60( input, __temp0, - ) -} - -#[allow(unused_variables)] -fn __action140< - 'input, ->( - input: &'input str, - __0: (usize, Interface, usize), -) -> alloc::vec::Vec -{ - let __start0 = __0.0.clone(); - let __end0 = __0.2.clone(); - let __temp0 = __action74( - input, - __0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action112( - input, - __temp0, - ) -} - -#[allow(unused_variables)] -fn __action141< - 'input, ->( - input: &'input str, - __0: (usize, alloc::vec::Vec, usize), - __1: (usize, Interface, usize), -) -> alloc::vec::Vec -{ - let __start0 = __1.0.clone(); - let __end0 = __1.2.clone(); - let __temp0 = __action74( - input, __1, - ); - let __temp0 = (__start0, __temp0, __end0); - __action113( - input, - __0, - __temp0, ) } #[allow(unused_variables)] -fn __action142< +fn __action126< 'input, >( input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> Vec -{ - let __start0 = __lookbehind.clone(); - let __end0 = __lookahead.clone(); - let __temp0 = __action72( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action71( - input, - __temp0, - ) -} - -#[allow(unused_variables)] -fn __action143< - 'input, ->( - input: &'input str, - __0: (usize, alloc::vec::Vec, usize), -) -> Vec + __0: (usize, EnumField, usize), +) -> alloc::vec::Vec { let __start0 = __0.0.clone(); let __end0 = __0.2.clone(); - let __temp0 = __action73( - input, - __0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action71( - input, - __temp0, - ) -} - -#[allow(unused_variables)] -fn __action144< - 'input, ->( - input: &'input str, - __0: (usize, StructField, usize), -) -> alloc::vec::Vec -{ - let __start0 = __0.0.clone(); - let __end0 = __0.2.clone(); - let __temp0 = __action94( + let __temp0 = __action99( input, __0, ); @@ -6769,17 +6484,17 @@ fn __action144< } #[allow(unused_variables)] -fn __action145< +fn __action127< 'input, >( input: &'input str, - __0: (usize, alloc::vec::Vec, usize), - __1: (usize, StructField, usize), -) -> alloc::vec::Vec + __0: (usize, alloc::vec::Vec, usize), + __1: (usize, EnumField, usize), +) -> alloc::vec::Vec { let __start0 = __1.0.clone(); let __end0 = __1.2.clone(); - let __temp0 = __action94( + let __temp0 = __action99( input, __1, ); @@ -6792,60 +6507,60 @@ fn __action145< } #[allow(unused_variables)] -fn __action146< +fn __action128< 'input, >( input: &'input str, __lookbehind: &usize, __lookahead: &usize, -) -> Vec +) -> Vec { let __start0 = __lookbehind.clone(); let __end0 = __lookahead.clone(); - let __temp0 = __action92( + let __temp0 = __action97( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action56( + __action55( input, __temp0, ) } #[allow(unused_variables)] -fn __action147< +fn __action129< 'input, >( input: &'input str, - __0: (usize, alloc::vec::Vec, usize), -) -> Vec + __0: (usize, alloc::vec::Vec, usize), +) -> Vec { let __start0 = __0.0.clone(); let __end0 = __0.2.clone(); - let __temp0 = __action93( + let __temp0 = __action98( input, __0, ); let __temp0 = (__start0, __temp0, __end0); - __action56( + __action55( input, __temp0, ) } #[allow(unused_variables)] -fn __action148< +fn __action130< 'input, >( input: &'input str, - __0: (usize, TypeDef, usize), -) -> alloc::vec::Vec + __0: (usize, Extension, usize), +) -> alloc::vec::Vec { let __start0 = __0.0.clone(); let __end0 = __0.2.clone(); - let __temp0 = __action77( + let __temp0 = __action82( input, __0, ); @@ -6857,17 +6572,17 @@ fn __action148< } #[allow(unused_variables)] -fn __action149< +fn __action131< 'input, >( input: &'input str, - __0: (usize, alloc::vec::Vec, usize), - __1: (usize, TypeDef, usize), -) -> alloc::vec::Vec + __0: (usize, alloc::vec::Vec, usize), + __1: (usize, Extension, usize), +) -> alloc::vec::Vec { let __start0 = __1.0.clone(); let __end0 = __1.2.clone(); - let __temp0 = __action77( + let __temp0 = __action82( input, __1, ); @@ -6880,23 +6595,417 @@ fn __action149< } #[allow(unused_variables)] -fn __action150< +fn __action132< 'input, >( input: &'input str, __lookbehind: &usize, __lookahead: &usize, -) -> Vec +) -> Vec { let __start0 = __lookbehind.clone(); let __end0 = __lookahead.clone(); - let __temp0 = __action75( + let __temp0 = __action80( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action70( + __action71( + input, + __temp0, + ) +} + +#[allow(unused_variables)] +fn __action133< + 'input, +>( + input: &'input str, + __0: (usize, alloc::vec::Vec, usize), +) -> Vec +{ + let __start0 = __0.0.clone(); + let __end0 = __0.2.clone(); + let __temp0 = __action81( + input, + __0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action71( + input, + __temp0, + ) +} + +#[allow(unused_variables)] +fn __action134< + 'input, +>( + input: &'input str, + __0: (usize, ExtensionInterface, usize), +) -> alloc::vec::Vec +{ + let __start0 = __0.0.clone(); + let __end0 = __0.2.clone(); + let __temp0 = __action85( + input, + __0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action108( + input, + __temp0, + ) +} + +#[allow(unused_variables)] +fn __action135< + 'input, +>( + input: &'input str, + __0: (usize, alloc::vec::Vec, usize), + __1: (usize, ExtensionInterface, usize), +) -> alloc::vec::Vec +{ + let __start0 = __1.0.clone(); + let __end0 = __1.2.clone(); + let __temp0 = __action85( + input, + __1, + ); + let __temp0 = (__start0, __temp0, __end0); + __action109( + input, + __0, + __temp0, + ) +} + +#[allow(unused_variables)] +fn __action136< + 'input, +>( + input: &'input str, + __lookbehind: &usize, + __lookahead: &usize, +) -> Vec +{ + let __start0 = __lookbehind.clone(); + let __end0 = __lookahead.clone(); + let __temp0 = __action83( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action66( + input, + __temp0, + ) +} + +#[allow(unused_variables)] +fn __action137< + 'input, +>( + input: &'input str, + __0: (usize, alloc::vec::Vec, usize), +) -> Vec +{ + let __start0 = __0.0.clone(); + let __end0 = __0.2.clone(); + let __temp0 = __action84( + input, + __0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action66( + input, + __temp0, + ) +} + +#[allow(unused_variables)] +fn __action138< + 'input, +>( + input: &'input str, + __0: (usize, Func, usize), +) -> alloc::vec::Vec +{ + let __start0 = __0.0.clone(); + let __end0 = __0.2.clone(); + let __temp0 = __action88( + input, + __0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action106( + input, + __temp0, + ) +} + +#[allow(unused_variables)] +fn __action139< + 'input, +>( + input: &'input str, + __0: (usize, alloc::vec::Vec, usize), + __1: (usize, Func, usize), +) -> alloc::vec::Vec +{ + let __start0 = __1.0.clone(); + let __end0 = __1.2.clone(); + let __temp0 = __action88( + input, + __1, + ); + let __temp0 = (__start0, __temp0, __end0); + __action107( + input, + __0, + __temp0, + ) +} + +#[allow(unused_variables)] +fn __action140< + 'input, +>( + input: &'input str, + __lookbehind: &usize, + __lookahead: &usize, +) -> Vec +{ + let __start0 = __lookbehind.clone(); + let __end0 = __lookahead.clone(); + let __temp0 = __action86( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action61( + input, + __temp0, + ) +} + +#[allow(unused_variables)] +fn __action141< + 'input, +>( + input: &'input str, + __0: (usize, alloc::vec::Vec, usize), +) -> Vec +{ + let __start0 = __0.0.clone(); + let __end0 = __0.2.clone(); + let __temp0 = __action87( + input, + __0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action61( + input, + __temp0, + ) +} + +#[allow(unused_variables)] +fn __action142< + 'input, +>( + input: &'input str, + __0: (usize, Interface, usize), +) -> alloc::vec::Vec +{ + let __start0 = __0.0.clone(); + let __end0 = __0.2.clone(); + let __temp0 = __action76( + input, + __0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action114( + input, + __temp0, + ) +} + +#[allow(unused_variables)] +fn __action143< + 'input, +>( + input: &'input str, + __0: (usize, alloc::vec::Vec, usize), + __1: (usize, Interface, usize), +) -> alloc::vec::Vec +{ + let __start0 = __1.0.clone(); + let __end0 = __1.2.clone(); + let __temp0 = __action76( + input, + __1, + ); + let __temp0 = (__start0, __temp0, __end0); + __action115( + input, + __0, + __temp0, + ) +} + +#[allow(unused_variables)] +fn __action144< + 'input, +>( + input: &'input str, + __lookbehind: &usize, + __lookahead: &usize, +) -> Vec +{ + let __start0 = __lookbehind.clone(); + let __end0 = __lookahead.clone(); + let __temp0 = __action74( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action73( + input, + __temp0, + ) +} + +#[allow(unused_variables)] +fn __action145< + 'input, +>( + input: &'input str, + __0: (usize, alloc::vec::Vec, usize), +) -> Vec +{ + let __start0 = __0.0.clone(); + let __end0 = __0.2.clone(); + let __temp0 = __action75( + input, + __0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action73( + input, + __temp0, + ) +} + +#[allow(unused_variables)] +fn __action146< + 'input, +>( + input: &'input str, + __0: (usize, StructField, usize), +) -> alloc::vec::Vec +{ + let __start0 = __0.0.clone(); + let __end0 = __0.2.clone(); + let __temp0 = __action96( + input, + __0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action102( + input, + __temp0, + ) +} + +#[allow(unused_variables)] +fn __action147< + 'input, +>( + input: &'input str, + __0: (usize, alloc::vec::Vec, usize), + __1: (usize, StructField, usize), +) -> alloc::vec::Vec +{ + let __start0 = __1.0.clone(); + let __end0 = __1.2.clone(); + let __temp0 = __action96( + input, + __1, + ); + let __temp0 = (__start0, __temp0, __end0); + __action103( + input, + __0, + __temp0, + ) +} + +#[allow(unused_variables)] +fn __action148< + 'input, +>( + input: &'input str, + __lookbehind: &usize, + __lookahead: &usize, +) -> Vec +{ + let __start0 = __lookbehind.clone(); + let __end0 = __lookahead.clone(); + let __temp0 = __action94( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action56( + input, + __temp0, + ) +} + +#[allow(unused_variables)] +fn __action149< + 'input, +>( + input: &'input str, + __0: (usize, alloc::vec::Vec, usize), +) -> Vec +{ + let __start0 = __0.0.clone(); + let __end0 = __0.2.clone(); + let __temp0 = __action95( + input, + __0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action56( + input, + __temp0, + ) +} + +#[allow(unused_variables)] +fn __action150< + 'input, +>( + input: &'input str, + __0: (usize, TypeDef, usize), +) -> alloc::vec::Vec +{ + let __start0 = __0.0.clone(); + let __end0 = __0.2.clone(); + let __temp0 = __action79( + input, + __0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action112( input, __temp0, ) @@ -6908,17 +7017,19 @@ fn __action151< >( input: &'input str, __0: (usize, alloc::vec::Vec, usize), -) -> Vec + __1: (usize, TypeDef, usize), +) -> alloc::vec::Vec { - let __start0 = __0.0.clone(); - let __end0 = __0.2.clone(); - let __temp0 = __action76( + let __start0 = __1.0.clone(); + let __end0 = __1.2.clone(); + let __temp0 = __action79( input, - __0, + __1, ); let __temp0 = (__start0, __temp0, __end0); - __action70( + __action113( input, + __0, __temp0, ) } @@ -6928,17 +7039,19 @@ fn __action152< 'input, >( input: &'input str, - __0: (usize, Arg, usize), -) -> Vec + __lookbehind: &usize, + __lookahead: &usize, +) -> Vec { - let __start0 = __0.0.clone(); - let __end0 = __0.2.clone(); - let __temp0 = __action87( + let __start0 = __lookbehind.clone(); + let __end0 = __lookahead.clone(); + let __temp0 = __action77( input, - __0, + &__start0, + &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action122( + __action72( input, __temp0, ) @@ -6949,19 +7062,17 @@ fn __action153< 'input, >( input: &'input str, - __lookbehind: &usize, - __lookahead: &usize, -) -> Vec + __0: (usize, alloc::vec::Vec, usize), +) -> Vec { - let __start0 = __lookbehind.clone(); - let __end0 = __lookahead.clone(); - let __temp0 = __action88( + let __start0 = __0.0.clone(); + let __end0 = __0.2.clone(); + let __temp0 = __action78( input, - &__start0, - &__end0, + __0, ); let __temp0 = (__start0, __temp0, __end0); - __action122( + __action72( input, __temp0, ) @@ -6972,20 +7083,18 @@ fn __action154< 'input, >( input: &'input str, - __0: (usize, alloc::vec::Vec, usize), - __1: (usize, Arg, usize), + __0: (usize, Arg, usize), ) -> Vec { - let __start0 = __1.0.clone(); - let __end0 = __1.2.clone(); - let __temp0 = __action87( - input, - __1, - ); - let __temp0 = (__start0, __temp0, __end0); - __action123( + let __start0 = __0.0.clone(); + let __end0 = __0.2.clone(); + let __temp0 = __action89( input, __0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action124( + input, __temp0, ) } @@ -6995,18 +7104,41 @@ fn __action155< 'input, >( input: &'input str, - __0: (usize, alloc::vec::Vec, usize), + __lookbehind: &usize, + __lookahead: &usize, ) -> Vec { - let __start0 = __0.2.clone(); - let __end0 = __0.2.clone(); - let __temp0 = __action88( + let __start0 = __lookbehind.clone(); + let __end0 = __lookahead.clone(); + let __temp0 = __action90( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action123( + __action124( + input, + __temp0, + ) +} + +#[allow(unused_variables)] +fn __action156< + 'input, +>( + input: &'input str, + __0: (usize, alloc::vec::Vec, usize), + __1: (usize, Arg, usize), +) -> Vec +{ + let __start0 = __1.0.clone(); + let __end0 = __1.2.clone(); + let __temp0 = __action89( + input, + __1, + ); + let __temp0 = (__start0, __temp0, __end0); + __action125( input, __0, __temp0, @@ -7014,7 +7146,30 @@ fn __action155< } #[allow(unused_variables)] -fn __action156< +fn __action157< + 'input, +>( + input: &'input str, + __0: (usize, alloc::vec::Vec, usize), +) -> Vec +{ + let __start0 = __0.2.clone(); + let __end0 = __0.2.clone(); + let __temp0 = __action90( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action125( + input, + __0, + __temp0, + ) +} + +#[allow(unused_variables)] +fn __action158< 'input, >( input: &'input str, @@ -7047,7 +7202,7 @@ fn __action156< } #[allow(unused_variables)] -fn __action157< +fn __action159< 'input, >( input: &'input str, @@ -7080,7 +7235,7 @@ fn __action157< } #[allow(unused_variables)] -fn __action158< +fn __action160< 'input, >( input: &'input str, @@ -7109,7 +7264,7 @@ fn __action158< } #[allow(unused_variables)] -fn __action159< +fn __action161< 'input, >( input: &'input str, @@ -7138,7 +7293,7 @@ fn __action159< } #[allow(unused_variables)] -fn __action160< +fn __action162< 'input, >( input: &'input str, @@ -7171,7 +7326,7 @@ fn __action160< } #[allow(unused_variables)] -fn __action161< +fn __action163< 'input, >( input: &'input str, @@ -7204,7 +7359,77 @@ fn __action161< } #[allow(unused_variables)] -fn __action162< +fn __action164< + 'input, +>( + input: &'input str, + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, &'input str, usize), + __3: (usize, core::option::Option, usize), + __4: (usize, ImplicitInterface, usize), + __5: (usize, Vec, usize), + __6: (usize, Vec, usize), + __7: (usize, &'input str, usize), +) -> Extension +{ + let __start0 = __4.0.clone(); + let __end0 = __4.2.clone(); + let __temp0 = __action67( + input, + __4, + ); + let __temp0 = (__start0, __temp0, __end0); + __action2( + input, + __0, + __1, + __2, + __3, + __temp0, + __5, + __6, + __7, + ) +} + +#[allow(unused_variables)] +fn __action165< + 'input, +>( + input: &'input str, + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, &'input str, usize), + __3: (usize, core::option::Option, usize), + __4: (usize, Vec, usize), + __5: (usize, Vec, usize), + __6: (usize, &'input str, usize), +) -> Extension +{ + let __start0 = __3.2.clone(); + let __end0 = __4.0.clone(); + let __temp0 = __action68( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action2( + input, + __0, + __1, + __2, + __3, + __temp0, + __4, + __5, + __6, + ) +} + +#[allow(unused_variables)] +fn __action166< 'input, >( input: &'input str, @@ -7224,7 +7449,7 @@ fn __action162< __5, ); let __temp0 = (__start0, __temp0, __end0); - __action156( + __action158( input, __0, __1, @@ -7237,7 +7462,7 @@ fn __action162< } #[allow(unused_variables)] -fn __action163< +fn __action167< 'input, >( input: &'input str, @@ -7257,7 +7482,7 @@ fn __action163< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action156( + __action158( input, __0, __1, @@ -7270,7 +7495,7 @@ fn __action163< } #[allow(unused_variables)] -fn __action164< +fn __action168< 'input, >( input: &'input str, @@ -7289,7 +7514,7 @@ fn __action164< __4, ); let __temp0 = (__start0, __temp0, __end0); - __action157( + __action159( input, __0, __1, @@ -7301,7 +7526,7 @@ fn __action164< } #[allow(unused_variables)] -fn __action165< +fn __action169< 'input, >( input: &'input str, @@ -7320,7 +7545,7 @@ fn __action165< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action157( + __action159( input, __0, __1, @@ -7332,7 +7557,7 @@ fn __action165< } #[allow(unused_variables)] -fn __action166< +fn __action170< 'input, >( input: &'input str, @@ -7350,7 +7575,7 @@ fn __action166< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action158( + __action160( input, __0, __1, @@ -7361,7 +7586,7 @@ fn __action166< } #[allow(unused_variables)] -fn __action167< +fn __action171< 'input, >( input: &'input str, @@ -7379,7 +7604,7 @@ fn __action167< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action158( + __action160( input, __0, __1, @@ -7390,7 +7615,7 @@ fn __action167< } #[allow(unused_variables)] -fn __action168< +fn __action172< 'input, >( input: &'input str, @@ -7407,7 +7632,7 @@ fn __action168< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action159( + __action161( input, __0, __1, @@ -7417,7 +7642,7 @@ fn __action168< } #[allow(unused_variables)] -fn __action169< +fn __action173< 'input, >( input: &'input str, @@ -7434,7 +7659,7 @@ fn __action169< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action159( + __action161( input, __0, __1, @@ -7444,7 +7669,7 @@ fn __action169< } #[allow(unused_variables)] -fn __action170< +fn __action174< 'input, >( input: &'input str, @@ -7464,7 +7689,7 @@ fn __action170< __5, ); let __temp0 = (__start0, __temp0, __end0); - __action160( + __action162( input, __0, __1, @@ -7477,7 +7702,7 @@ fn __action170< } #[allow(unused_variables)] -fn __action171< +fn __action175< 'input, >( input: &'input str, @@ -7497,7 +7722,7 @@ fn __action171< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action160( + __action162( input, __0, __1, @@ -7510,7 +7735,7 @@ fn __action171< } #[allow(unused_variables)] -fn __action172< +fn __action176< 'input, >( input: &'input str, @@ -7529,7 +7754,7 @@ fn __action172< __4, ); let __temp0 = (__start0, __temp0, __end0); - __action161( + __action163( input, __0, __1, @@ -7541,7 +7766,7 @@ fn __action172< } #[allow(unused_variables)] -fn __action173< +fn __action177< 'input, >( input: &'input str, @@ -7560,7 +7785,7 @@ fn __action173< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action161( + __action163( input, __0, __1, @@ -7572,7 +7797,7 @@ fn __action173< } #[allow(unused_variables)] -fn __action174< +fn __action178< 'input, >( input: &'input str, @@ -7588,12 +7813,12 @@ fn __action174< { let __start0 = __3.0.clone(); let __end0 = __3.2.clone(); - let __temp0 = __action67( + let __temp0 = __action69( input, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action2( + __action164( input, __0, __1, @@ -7607,7 +7832,7 @@ fn __action174< } #[allow(unused_variables)] -fn __action175< +fn __action179< 'input, >( input: &'input str, @@ -7622,13 +7847,13 @@ fn __action175< { let __start0 = __2.2.clone(); let __end0 = __3.0.clone(); - let __temp0 = __action68( + let __temp0 = __action70( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action2( + __action164( input, __0, __1, @@ -7642,7 +7867,73 @@ fn __action175< } #[allow(unused_variables)] -fn __action176< +fn __action180< + 'input, +>( + input: &'input str, + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, &'input str, usize), + __3: (usize, Version, usize), + __4: (usize, Vec, usize), + __5: (usize, Vec, usize), + __6: (usize, &'input str, usize), +) -> Extension +{ + let __start0 = __3.0.clone(); + let __end0 = __3.2.clone(); + let __temp0 = __action69( + input, + __3, + ); + let __temp0 = (__start0, __temp0, __end0); + __action165( + input, + __0, + __1, + __2, + __temp0, + __4, + __5, + __6, + ) +} + +#[allow(unused_variables)] +fn __action181< + 'input, +>( + input: &'input str, + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, &'input str, usize), + __3: (usize, Vec, usize), + __4: (usize, Vec, usize), + __5: (usize, &'input str, usize), +) -> Extension +{ + let __start0 = __2.2.clone(); + let __end0 = __3.0.clone(); + let __temp0 = __action70( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action165( + input, + __0, + __1, + __2, + __temp0, + __3, + __4, + __5, + ) +} + +#[allow(unused_variables)] +fn __action182< 'input, >( input: &'input str, @@ -7657,12 +7948,12 @@ fn __action176< { let __start0 = __3.0.clone(); let __end0 = __3.2.clone(); - let __temp0 = __action67( + let __temp0 = __action69( input, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action162( + __action166( input, __0, __1, @@ -7674,192 +7965,6 @@ fn __action176< ) } -#[allow(unused_variables)] -fn __action177< - 'input, ->( - input: &'input str, - __0: (usize, &'input str, usize), - __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, Vec, usize), - __4: (usize, Vec, usize), - __5: (usize, &'input str, usize), -) -> ExtensionInterface -{ - let __start0 = __2.2.clone(); - let __end0 = __3.0.clone(); - let __temp0 = __action68( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action162( - input, - __0, - __1, - __2, - __temp0, - __3, - __4, - __5, - ) -} - -#[allow(unused_variables)] -fn __action178< - 'input, ->( - input: &'input str, - __0: (usize, &'input str, usize), - __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, Version, usize), - __4: (usize, Vec, usize), - __5: (usize, &'input str, usize), -) -> ExtensionInterface -{ - let __start0 = __3.0.clone(); - let __end0 = __3.2.clone(); - let __temp0 = __action67( - input, - __3, - ); - let __temp0 = (__start0, __temp0, __end0); - __action163( - input, - __0, - __1, - __2, - __temp0, - __4, - __5, - ) -} - -#[allow(unused_variables)] -fn __action179< - 'input, ->( - input: &'input str, - __0: (usize, &'input str, usize), - __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, Vec, usize), - __4: (usize, &'input str, usize), -) -> ExtensionInterface -{ - let __start0 = __2.2.clone(); - let __end0 = __3.0.clone(); - let __temp0 = __action68( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action163( - input, - __0, - __1, - __2, - __temp0, - __3, - __4, - ) -} - -#[allow(unused_variables)] -fn __action180< - 'input, ->( - input: &'input str, - __0: (usize, &'input str, usize), - __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, Version, usize), - __4: (usize, Vec, usize), - __5: (usize, &'input str, usize), -) -> ExtensionInterface -{ - let __start0 = __3.0.clone(); - let __end0 = __3.2.clone(); - let __temp0 = __action67( - input, - __3, - ); - let __temp0 = (__start0, __temp0, __end0); - __action164( - input, - __0, - __1, - __2, - __temp0, - __4, - __5, - ) -} - -#[allow(unused_variables)] -fn __action181< - 'input, ->( - input: &'input str, - __0: (usize, &'input str, usize), - __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, Vec, usize), - __4: (usize, &'input str, usize), -) -> ExtensionInterface -{ - let __start0 = __2.2.clone(); - let __end0 = __3.0.clone(); - let __temp0 = __action68( - input, - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action164( - input, - __0, - __1, - __2, - __temp0, - __3, - __4, - ) -} - -#[allow(unused_variables)] -fn __action182< - 'input, ->( - input: &'input str, - __0: (usize, &'input str, usize), - __1: (usize, String, usize), - __2: (usize, &'input str, usize), - __3: (usize, Version, usize), - __4: (usize, &'input str, usize), -) -> ExtensionInterface -{ - let __start0 = __3.0.clone(); - let __end0 = __3.2.clone(); - let __temp0 = __action67( - input, - __3, - ); - let __temp0 = (__start0, __temp0, __end0); - __action165( - input, - __0, - __1, - __2, - __temp0, - __4, - ) -} - #[allow(unused_variables)] fn __action183< 'input, @@ -7868,24 +7973,28 @@ fn __action183< __0: (usize, &'input str, usize), __1: (usize, String, usize), __2: (usize, &'input str, usize), - __3: (usize, &'input str, usize), + __3: (usize, Vec, usize), + __4: (usize, Vec, usize), + __5: (usize, &'input str, usize), ) -> ExtensionInterface { let __start0 = __2.2.clone(); let __end0 = __3.0.clone(); - let __temp0 = __action68( + let __temp0 = __action70( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action165( + __action166( input, __0, __1, __2, __temp0, __3, + __4, + __5, ) } @@ -7899,18 +8008,17 @@ fn __action184< __2: (usize, &'input str, usize), __3: (usize, Version, usize), __4: (usize, Vec, usize), - __5: (usize, Vec, usize), - __6: (usize, &'input str, usize), -) -> Interface + __5: (usize, &'input str, usize), +) -> ExtensionInterface { let __start0 = __3.0.clone(); let __end0 = __3.2.clone(); - let __temp0 = __action67( + let __temp0 = __action69( input, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action170( + __action167( input, __0, __1, @@ -7918,7 +8026,6 @@ fn __action184< __temp0, __4, __5, - __6, ) } @@ -7931,19 +8038,18 @@ fn __action185< __1: (usize, String, usize), __2: (usize, &'input str, usize), __3: (usize, Vec, usize), - __4: (usize, Vec, usize), - __5: (usize, &'input str, usize), -) -> Interface + __4: (usize, &'input str, usize), +) -> ExtensionInterface { let __start0 = __2.2.clone(); let __end0 = __3.0.clone(); - let __temp0 = __action68( + let __temp0 = __action70( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action170( + __action167( input, __0, __1, @@ -7951,7 +8057,6 @@ fn __action185< __temp0, __3, __4, - __5, ) } @@ -7966,16 +8071,16 @@ fn __action186< __3: (usize, Version, usize), __4: (usize, Vec, usize), __5: (usize, &'input str, usize), -) -> Interface +) -> ExtensionInterface { let __start0 = __3.0.clone(); let __end0 = __3.2.clone(); - let __temp0 = __action67( + let __temp0 = __action69( input, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action171( + __action168( input, __0, __1, @@ -7996,17 +8101,17 @@ fn __action187< __2: (usize, &'input str, usize), __3: (usize, Vec, usize), __4: (usize, &'input str, usize), -) -> Interface +) -> ExtensionInterface { let __start0 = __2.2.clone(); let __end0 = __3.0.clone(); - let __temp0 = __action68( + let __temp0 = __action70( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action171( + __action168( input, __0, __1, @@ -8026,25 +8131,23 @@ fn __action188< __1: (usize, String, usize), __2: (usize, &'input str, usize), __3: (usize, Version, usize), - __4: (usize, Vec, usize), - __5: (usize, &'input str, usize), -) -> Interface + __4: (usize, &'input str, usize), +) -> ExtensionInterface { let __start0 = __3.0.clone(); let __end0 = __3.2.clone(); - let __temp0 = __action67( + let __temp0 = __action69( input, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action172( + __action169( input, __0, __1, __2, __temp0, __4, - __5, ) } @@ -8056,26 +8159,24 @@ fn __action189< __0: (usize, &'input str, usize), __1: (usize, String, usize), __2: (usize, &'input str, usize), - __3: (usize, Vec, usize), - __4: (usize, &'input str, usize), -) -> Interface + __3: (usize, &'input str, usize), +) -> ExtensionInterface { let __start0 = __2.2.clone(); let __end0 = __3.0.clone(); - let __temp0 = __action68( + let __temp0 = __action70( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action172( + __action169( input, __0, __1, __2, __temp0, __3, - __4, ) } @@ -8088,23 +8189,27 @@ fn __action190< __1: (usize, String, usize), __2: (usize, &'input str, usize), __3: (usize, Version, usize), - __4: (usize, &'input str, usize), + __4: (usize, Vec, usize), + __5: (usize, Vec, usize), + __6: (usize, &'input str, usize), ) -> Interface { let __start0 = __3.0.clone(); let __end0 = __3.2.clone(); - let __temp0 = __action67( + let __temp0 = __action69( input, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action173( + __action174( input, __0, __1, __2, __temp0, __4, + __5, + __6, ) } @@ -8116,18 +8221,204 @@ fn __action191< __0: (usize, &'input str, usize), __1: (usize, String, usize), __2: (usize, &'input str, usize), - __3: (usize, &'input str, usize), + __3: (usize, Vec, usize), + __4: (usize, Vec, usize), + __5: (usize, &'input str, usize), ) -> Interface { let __start0 = __2.2.clone(); let __end0 = __3.0.clone(); - let __temp0 = __action68( + let __temp0 = __action70( input, &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action173( + __action174( + input, + __0, + __1, + __2, + __temp0, + __3, + __4, + __5, + ) +} + +#[allow(unused_variables)] +fn __action192< + 'input, +>( + input: &'input str, + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, &'input str, usize), + __3: (usize, Version, usize), + __4: (usize, Vec, usize), + __5: (usize, &'input str, usize), +) -> Interface +{ + let __start0 = __3.0.clone(); + let __end0 = __3.2.clone(); + let __temp0 = __action69( + input, + __3, + ); + let __temp0 = (__start0, __temp0, __end0); + __action175( + input, + __0, + __1, + __2, + __temp0, + __4, + __5, + ) +} + +#[allow(unused_variables)] +fn __action193< + 'input, +>( + input: &'input str, + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, &'input str, usize), + __3: (usize, Vec, usize), + __4: (usize, &'input str, usize), +) -> Interface +{ + let __start0 = __2.2.clone(); + let __end0 = __3.0.clone(); + let __temp0 = __action70( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action175( + input, + __0, + __1, + __2, + __temp0, + __3, + __4, + ) +} + +#[allow(unused_variables)] +fn __action194< + 'input, +>( + input: &'input str, + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, &'input str, usize), + __3: (usize, Version, usize), + __4: (usize, Vec, usize), + __5: (usize, &'input str, usize), +) -> Interface +{ + let __start0 = __3.0.clone(); + let __end0 = __3.2.clone(); + let __temp0 = __action69( + input, + __3, + ); + let __temp0 = (__start0, __temp0, __end0); + __action176( + input, + __0, + __1, + __2, + __temp0, + __4, + __5, + ) +} + +#[allow(unused_variables)] +fn __action195< + 'input, +>( + input: &'input str, + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, &'input str, usize), + __3: (usize, Vec, usize), + __4: (usize, &'input str, usize), +) -> Interface +{ + let __start0 = __2.2.clone(); + let __end0 = __3.0.clone(); + let __temp0 = __action70( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action176( + input, + __0, + __1, + __2, + __temp0, + __3, + __4, + ) +} + +#[allow(unused_variables)] +fn __action196< + 'input, +>( + input: &'input str, + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, &'input str, usize), + __3: (usize, Version, usize), + __4: (usize, &'input str, usize), +) -> Interface +{ + let __start0 = __3.0.clone(); + let __end0 = __3.2.clone(); + let __temp0 = __action69( + input, + __3, + ); + let __temp0 = (__start0, __temp0, __end0); + __action177( + input, + __0, + __1, + __2, + __temp0, + __4, + ) +} + +#[allow(unused_variables)] +fn __action197< + 'input, +>( + input: &'input str, + __0: (usize, &'input str, usize), + __1: (usize, String, usize), + __2: (usize, &'input str, usize), + __3: (usize, &'input str, usize), +) -> Interface +{ + let __start0 = __2.2.clone(); + let __end0 = __3.0.clone(); + let __temp0 = __action70( + input, + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action177( input, __0, __1, diff --git a/hidl/src/hir.rs b/hidl/src/hir.rs new file mode 100644 index 0000000..a2d9c88 --- /dev/null +++ b/hidl/src/hir.rs @@ -0,0 +1,115 @@ +//! Hir has the same types as ast, but with the following invarients: +//! +//! - All enum variants have a number +//! - The implicit interface is None +//! - All interfaces have a version + +use std::collections::BTreeSet; + +use crate::ast::{ + Enum, EnumField, Extension, ExtensionInterface, ImplicitInterface, Namespace, TypeDef, + TypeKind, Version, +}; + +pub fn lower_namespace( + Namespace { + name, + interfaces, + types, + extensions, + }: Namespace, +) -> Namespace { + Namespace { + name, + interfaces, + types: types.into_iter().map(lower_type_def).collect(), + extensions: extensions.into_iter().map(lower_extension).collect(), + } +} + +fn lower_extension( + Extension { + name, + version, + interface, + interfaces, + types, + }: Extension, +) -> Extension { + let mut new_interfaces = interface + .into_iter() + .map(|l| lower_implicit_interface(l, &name, version)) + .collect::>(); + + new_interfaces.extend( + interfaces + .into_iter() + .map(|l| lower_extension_interface(l, version)), + ); + + Extension { + name, + version, + interface: None, + interfaces: new_interfaces, + types, + } +} + +fn lower_implicit_interface( + i: ImplicitInterface, + name: &str, + version: Version, +) -> ExtensionInterface { + ExtensionInterface { + name: name.to_owned(), + version: Some(version), + methods: i.methods, + events: i.events, + } +} + +fn lower_extension_interface(i: ExtensionInterface, version: Version) -> ExtensionInterface { + ExtensionInterface { + name: i.name, + version: Some(i.version.unwrap_or(version)), + methods: i.methods, + events: i.events, + } +} +fn lower_type_def(TypeDef { name, kind }: TypeDef) -> TypeDef { + TypeDef { + name, + kind: match kind { + TypeKind::Struct(_) => kind, + TypeKind::Enum(e) => TypeKind::Enum(lower_enum(e)), + }, + } +} + +fn lower_enum(Enum { backing, fields }: Enum) -> Enum { + let mut pos = 0; + let mut seen = BTreeSet::new(); + let mut new_fields = Vec::with_capacity(fields.len()); + + for EnumField { name, value } in fields { + let value = value.unwrap_or(pos); + + if seen.contains(&value) { + panic!("Enum {} has duplicate value {}", name, value); + } + + seen.insert(value); + pos += 1; + + new_fields.push(EnumField { + name, + value: Some(value), + }); + } + + Enum { + fields: new_fields, + backing, + } +} diff --git a/hidl/src/lib.rs b/hidl/src/lib.rs index 9f94b7f..053caca 100644 --- a/hidl/src/lib.rs +++ b/hidl/src/lib.rs @@ -1,160 +1,5 @@ -use debug2::Debug as Debug2; -use serde::{Deserialize, Serialize}; - pub mod ast; +pub mod hir; #[allow(clippy::all)] pub mod grammar; - -#[derive(Debug, Debug2, Default, Clone, Serialize, Deserialize, PartialEq)] - -pub struct Module { - interfaces: Vec, - - types: Vec, -} - -#[derive(Debug, Debug2, Default, Clone, Serialize, Deserialize, PartialEq)] - -pub struct IDL { - name: String, - root: Module, - - extenstions: Vec, -} - -#[derive(Debug, Debug2, Default, Clone, Serialize, Deserialize, PartialEq)] -pub struct Extension { - name: String, - version: Version, - module: Module, -} - -type Version = (u8, u8, u8); - -#[derive(Debug, Debug2, Default, Clone, Serialize, Deserialize, PartialEq)] -pub struct Interface { - name: String, - version: Version, - - methods: Vec, - - events: Vec, -} - -#[derive(Debug, Debug2, Default, Clone, Serialize, Deserialize, PartialEq)] -pub struct Method { - name: String, - - ret: Type, - - args: Vec<(String, Type)>, -} - -#[derive(Debug, Debug2, Clone, Serialize, Deserialize, PartialEq)] -#[serde(untagged)] -pub enum Type { - NotIntType(NotIntType), - IntType(IntType), -} - -#[derive(Debug, Debug2, Clone, Serialize, Deserialize, PartialEq)] - -pub enum NotIntType { - /// TODO: Should we special case Array of u8? - Array(Box), - Custom(String), - String, - Object, - Uuid, - /// Unit type - Void, -} -impl Default for Type { - fn default() -> Self { - Self::NotIntType(NotIntType::Void) - } -} - -#[derive(Debug, Debug2, Clone, Serialize, Deserialize, PartialEq)] -pub enum IntType { - U8, - U16, - U32, - U64, - I8, - I16, - I32, - I64, - - VU16, - VU8, - VU32, - VU64, - VI8, - VI16, - VI32, - VI64, -} - -#[derive(Debug, Debug2, Clone, Serialize, Deserialize, PartialEq)] -pub struct CustomType { - name: String, - kind: CustomTypeKind, -} - -#[derive(Debug, Debug2, Clone, Serialize, Deserialize, PartialEq)] - -enum CustomTypeKind { - Struct(CustomStruct), - Enum(Enum), -} - -#[derive(Debug, Debug2, Clone, Serialize, Deserialize, PartialEq)] - -pub struct Enum { - storage: IntType, - values: Vec<(String, i64)>, -} - -#[derive(Debug, Debug2, Default, Clone, Serialize, Deserialize, PartialEq)] -pub struct CustomStruct { - fields: Vec<(String, Type)>, -} - -#[derive(Debug, Debug2, Default, Clone, Serialize, Deserialize, PartialEq)] -pub struct Event {} - -fn is_default(t: &T) -> bool { - t == &T::default() -} - -mod ty { - use super::IntType::*; - use super::NotIntType::*; - use super::Type::{self, *}; - - pub fn void() -> Type { - NotIntType(Void) - } - - pub fn array(t: Type) -> Type { - NotIntType(Array(Box::new(t))) - } - - pub fn string() -> Type { - NotIntType(String) - } - - pub fn object() -> Type { - NotIntType(Object) - } - - pub fn uuid() -> Type { - NotIntType(Uuid) - } - - pub fn u8() -> Type { - IntType(U8) - } -}