// Code generated by gocc; DO NOT EDIT.

// This file is dual licensed under CC0 and The Gonum License.
//
// Copyright ©2017 The Gonum Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//
// Copyright ©2017 Robin Eklind.
// This file is made available under a Creative Commons CC0 1.0
// Universal Public Domain Dedication.

package parser

type (
	actionTable [numStates]actionRow
	actionRow   struct {
		canRecover bool
		actions    [numSymbols]action
	}
)

var actionTab = actionTable{
	actionRow{ // S0
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			nil,       /* $ */
			nil,       /* { */
			nil,       /* } */
			nil,       /* empty */
			shift(4),  /* strict */
			reduce(4), /* graphx, reduce: OptStrict */
			reduce(4), /* digraph, reduce: OptStrict */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			nil,       /* node */
			nil,       /* edge */
			nil,       /* [ */
			nil,       /* ] */
			nil,       /* , */
			nil,       /* = */
			nil,       /* subgraph */
			nil,       /* : */
			nil,       /* id */
		},
	},
	actionRow{ // S1
		canRecover: false,
		actions: [numSymbols]action{
			nil,          /* INVALID */
			accept(true), /* $ */
			nil,          /* { */
			nil,          /* } */
			nil,          /* empty */
			shift(4),     /* strict */
			reduce(4),    /* graphx, reduce: OptStrict */
			reduce(4),    /* digraph, reduce: OptStrict */
			nil,          /* ; */
			nil,          /* -- */
			nil,          /* -> */
			nil,          /* node */
			nil,          /* edge */
			nil,          /* [ */
			nil,          /* ] */
			nil,          /* , */
			nil,          /* = */
			nil,          /* subgraph */
			nil,          /* : */
			nil,          /* id */
		},
	},
	actionRow{ // S2
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			reduce(1), /* $, reduce: File */
			nil,       /* { */
			nil,       /* } */
			nil,       /* empty */
			reduce(1), /* strict, reduce: File */
			reduce(1), /* graphx, reduce: File */
			reduce(1), /* digraph, reduce: File */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			nil,       /* node */
			nil,       /* edge */
			nil,       /* [ */
			nil,       /* ] */
			nil,       /* , */
			nil,       /* = */
			nil,       /* subgraph */
			nil,       /* : */
			nil,       /* id */
		},
	},
	actionRow{ // S3
		canRecover: false,
		actions: [numSymbols]action{
			nil,      /* INVALID */
			nil,      /* $ */
			nil,      /* { */
			nil,      /* } */
			nil,      /* empty */
			nil,      /* strict */
			shift(7), /* graphx */
			shift(8), /* digraph */
			nil,      /* ; */
			nil,      /* -- */
			nil,      /* -> */
			nil,      /* node */
			nil,      /* edge */
			nil,      /* [ */
			nil,      /* ] */
			nil,      /* , */
			nil,      /* = */
			nil,      /* subgraph */
			nil,      /* : */
			nil,      /* id */
		},
	},
	actionRow{ // S4
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			nil,       /* $ */
			nil,       /* { */
			nil,       /* } */
			nil,       /* empty */
			nil,       /* strict */
			reduce(5), /* graphx, reduce: OptStrict */
			reduce(5), /* digraph, reduce: OptStrict */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			nil,       /* node */
			nil,       /* edge */
			nil,       /* [ */
			nil,       /* ] */
			nil,       /* , */
			nil,       /* = */
			nil,       /* subgraph */
			nil,       /* : */
			nil,       /* id */
		},
	},
	actionRow{ // S5
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			reduce(2), /* $, reduce: File */
			nil,       /* { */
			nil,       /* } */
			nil,       /* empty */
			reduce(2), /* strict, reduce: File */
			reduce(2), /* graphx, reduce: File */
			reduce(2), /* digraph, reduce: File */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			nil,       /* node */
			nil,       /* edge */
			nil,       /* [ */
			nil,       /* ] */
			nil,       /* , */
			nil,       /* = */
			nil,       /* subgraph */
			nil,       /* : */
			nil,       /* id */
		},
	},
	actionRow{ // S6
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(53), /* {, reduce: OptID */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			nil,        /* subgraph */
			nil,        /* : */
			shift(11),  /* id */
		},
	},
	actionRow{ // S7
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			nil,       /* $ */
			reduce(6), /* {, reduce: DirectedGraph */
			nil,       /* } */
			nil,       /* empty */
			nil,       /* strict */
			nil,       /* graphx */
			nil,       /* digraph */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			nil,       /* node */
			nil,       /* edge */
			nil,       /* [ */
			nil,       /* ] */
			nil,       /* , */
			nil,       /* = */
			nil,       /* subgraph */
			nil,       /* : */
			reduce(6), /* id, reduce: DirectedGraph */
		},
	},
	actionRow{ // S8
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			nil,       /* $ */
			reduce(7), /* {, reduce: DirectedGraph */
			nil,       /* } */
			nil,       /* empty */
			nil,       /* strict */
			nil,       /* graphx */
			nil,       /* digraph */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			nil,       /* node */
			nil,       /* edge */
			nil,       /* [ */
			nil,       /* ] */
			nil,       /* , */
			nil,       /* = */
			nil,       /* subgraph */
			nil,       /* : */
			reduce(7), /* id, reduce: DirectedGraph */
		},
	},
	actionRow{ // S9
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			nil,       /* $ */
			shift(12), /* { */
			nil,       /* } */
			nil,       /* empty */
			nil,       /* strict */
			nil,       /* graphx */
			nil,       /* digraph */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			nil,       /* node */
			nil,       /* edge */
			nil,       /* [ */
			nil,       /* ] */
			nil,       /* , */
			nil,       /* = */
			nil,       /* subgraph */
			nil,       /* : */
			nil,       /* id */
		},
	},
	actionRow{ // S10
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(54), /* {, reduce: OptID */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			nil,        /* subgraph */
			nil,        /* : */
			nil,        /* id */
		},
	},
	actionRow{ // S11
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(52), /* {, reduce: ID */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			nil,        /* subgraph */
			nil,        /* : */
			nil,        /* id */
		},
	},
	actionRow{ // S12
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(43), /* {, reduce: OptSubgraphID */
			reduce(10), /* }, reduce: OptStmtList */
			nil,        /* empty */
			nil,        /* strict */
			shift(14),  /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			shift(25),  /* node */
			shift(26),  /* edge */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			shift(29),  /* subgraph */
			nil,        /* : */
			shift(30),  /* id */
		},
	},
	actionRow{ // S13
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			nil,       /* $ */
			nil,       /* { */
			shift(31), /* } */
			nil,       /* empty */
			nil,       /* strict */
			nil,       /* graphx */
			nil,       /* digraph */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			nil,       /* node */
			nil,       /* edge */
			nil,       /* [ */
			nil,       /* ] */
			nil,       /* , */
			nil,       /* = */
			nil,       /* subgraph */
			nil,       /* : */
			nil,       /* id */
		},
	},
	actionRow{ // S14
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			nil,        /* { */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			reduce(27), /* [, reduce: Component */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			nil,        /* subgraph */
			nil,        /* : */
			nil,        /* id */
		},
	},
	actionRow{ // S15
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(43), /* {, reduce: OptSubgraphID */
			reduce(11), /* }, reduce: OptStmtList */
			nil,        /* empty */
			nil,        /* strict */
			shift(14),  /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			shift(25),  /* node */
			shift(26),  /* edge */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			shift(29),  /* subgraph */
			nil,        /* : */
			shift(30),  /* id */
		},
	},
	actionRow{ // S16
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(17), /* {, reduce: OptSemi */
			reduce(17), /* }, reduce: OptSemi */
			nil,        /* empty */
			nil,        /* strict */
			reduce(17), /* graphx, reduce: OptSemi */
			nil,        /* digraph */
			shift(34),  /* ; */
			nil,        /* -- */
			nil,        /* -> */
			reduce(17), /* node, reduce: OptSemi */
			reduce(17), /* edge, reduce: OptSemi */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(17), /* subgraph, reduce: OptSemi */
			nil,        /* : */
			reduce(17), /* id, reduce: OptSemi */
		},
	},
	actionRow{ // S17
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(12), /* {, reduce: Stmt */
			reduce(12), /* }, reduce: Stmt */
			nil,        /* empty */
			nil,        /* strict */
			reduce(12), /* graphx, reduce: Stmt */
			nil,        /* digraph */
			reduce(12), /* ;, reduce: Stmt */
			nil,        /* -- */
			nil,        /* -> */
			reduce(12), /* node, reduce: Stmt */
			reduce(12), /* edge, reduce: Stmt */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(12), /* subgraph, reduce: Stmt */
			nil,        /* : */
			reduce(12), /* id, reduce: Stmt */
		},
	},
	actionRow{ // S18
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(13), /* {, reduce: Stmt */
			reduce(13), /* }, reduce: Stmt */
			nil,        /* empty */
			nil,        /* strict */
			reduce(13), /* graphx, reduce: Stmt */
			nil,        /* digraph */
			reduce(13), /* ;, reduce: Stmt */
			nil,        /* -- */
			nil,        /* -> */
			reduce(13), /* node, reduce: Stmt */
			reduce(13), /* edge, reduce: Stmt */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(13), /* subgraph, reduce: Stmt */
			nil,        /* : */
			reduce(13), /* id, reduce: Stmt */
		},
	},
	actionRow{ // S19
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(14), /* {, reduce: Stmt */
			reduce(14), /* }, reduce: Stmt */
			nil,        /* empty */
			nil,        /* strict */
			reduce(14), /* graphx, reduce: Stmt */
			nil,        /* digraph */
			reduce(14), /* ;, reduce: Stmt */
			nil,        /* -- */
			nil,        /* -> */
			reduce(14), /* node, reduce: Stmt */
			reduce(14), /* edge, reduce: Stmt */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(14), /* subgraph, reduce: Stmt */
			nil,        /* : */
			reduce(14), /* id, reduce: Stmt */
		},
	},
	actionRow{ // S20
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(15), /* {, reduce: Stmt */
			reduce(15), /* }, reduce: Stmt */
			nil,        /* empty */
			nil,        /* strict */
			reduce(15), /* graphx, reduce: Stmt */
			nil,        /* digraph */
			reduce(15), /* ;, reduce: Stmt */
			nil,        /* -- */
			nil,        /* -> */
			reduce(15), /* node, reduce: Stmt */
			reduce(15), /* edge, reduce: Stmt */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(15), /* subgraph, reduce: Stmt */
			nil,        /* : */
			reduce(15), /* id, reduce: Stmt */
		},
	},
	actionRow{ // S21
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(16), /* {, reduce: Stmt */
			reduce(16), /* }, reduce: Stmt */
			nil,        /* empty */
			nil,        /* strict */
			reduce(16), /* graphx, reduce: Stmt */
			nil,        /* digraph */
			reduce(16), /* ;, reduce: Stmt */
			reduce(46), /* --, reduce: Vertex */
			reduce(46), /* ->, reduce: Vertex */
			reduce(16), /* node, reduce: Stmt */
			reduce(16), /* edge, reduce: Stmt */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(16), /* subgraph, reduce: Stmt */
			nil,        /* : */
			reduce(16), /* id, reduce: Stmt */
		},
	},
	actionRow{ // S22
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(32), /* {, reduce: OptAttrList */
			reduce(32), /* }, reduce: OptAttrList */
			nil,        /* empty */
			nil,        /* strict */
			reduce(32), /* graphx, reduce: OptAttrList */
			nil,        /* digraph */
			reduce(32), /* ;, reduce: OptAttrList */
			reduce(45), /* --, reduce: Vertex */
			reduce(45), /* ->, reduce: Vertex */
			reduce(32), /* node, reduce: OptAttrList */
			reduce(32), /* edge, reduce: OptAttrList */
			shift(37),  /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(32), /* subgraph, reduce: OptAttrList */
			nil,        /* : */
			reduce(32), /* id, reduce: OptAttrList */
		},
	},
	actionRow{ // S23
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			nil,       /* $ */
			nil,       /* { */
			nil,       /* } */
			nil,       /* empty */
			nil,       /* strict */
			nil,       /* graphx */
			nil,       /* digraph */
			nil,       /* ; */
			shift(40), /* -- */
			shift(41), /* -> */
			nil,       /* node */
			nil,       /* edge */
			nil,       /* [ */
			nil,       /* ] */
			nil,       /* , */
			nil,       /* = */
			nil,       /* subgraph */
			nil,       /* : */
			nil,       /* id */
		},
	},
	actionRow{ // S24
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			nil,       /* $ */
			nil,       /* { */
			nil,       /* } */
			nil,       /* empty */
			nil,       /* strict */
			nil,       /* graphx */
			nil,       /* digraph */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			nil,       /* node */
			nil,       /* edge */
			shift(37), /* [ */
			nil,       /* ] */
			nil,       /* , */
			nil,       /* = */
			nil,       /* subgraph */
			nil,       /* : */
			nil,       /* id */
		},
	},
	actionRow{ // S25
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			nil,        /* { */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			reduce(28), /* [, reduce: Component */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			nil,        /* subgraph */
			nil,        /* : */
			nil,        /* id */
		},
	},
	actionRow{ // S26
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			nil,        /* { */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			reduce(29), /* [, reduce: Component */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			nil,        /* subgraph */
			nil,        /* : */
			nil,        /* id */
		},
	},
	actionRow{ // S27
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(50), /* {, reduce: OptPort */
			reduce(50), /* }, reduce: OptPort */
			nil,        /* empty */
			nil,        /* strict */
			reduce(50), /* graphx, reduce: OptPort */
			nil,        /* digraph */
			reduce(50), /* ;, reduce: OptPort */
			reduce(50), /* --, reduce: OptPort */
			reduce(50), /* ->, reduce: OptPort */
			reduce(50), /* node, reduce: OptPort */
			reduce(50), /* edge, reduce: OptPort */
			reduce(50), /* [, reduce: OptPort */
			nil,        /* ] */
			nil,        /* , */
			shift(43),  /* = */
			reduce(50), /* subgraph, reduce: OptPort */
			shift(46),  /* : */
			reduce(50), /* id, reduce: OptPort */
		},
	},
	actionRow{ // S28
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			nil,       /* $ */
			shift(47), /* { */
			nil,       /* } */
			nil,       /* empty */
			nil,       /* strict */
			nil,       /* graphx */
			nil,       /* digraph */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			nil,       /* node */
			nil,       /* edge */
			nil,       /* [ */
			nil,       /* ] */
			nil,       /* , */
			nil,       /* = */
			nil,       /* subgraph */
			nil,       /* : */
			nil,       /* id */
		},
	},
	actionRow{ // S29
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(53), /* {, reduce: OptID */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			nil,        /* subgraph */
			nil,        /* : */
			shift(11),  /* id */
		},
	},
	actionRow{ // S30
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(52), /* {, reduce: ID */
			reduce(52), /* }, reduce: ID */
			nil,        /* empty */
			nil,        /* strict */
			reduce(52), /* graphx, reduce: ID */
			nil,        /* digraph */
			reduce(52), /* ;, reduce: ID */
			reduce(52), /* --, reduce: ID */
			reduce(52), /* ->, reduce: ID */
			reduce(52), /* node, reduce: ID */
			reduce(52), /* edge, reduce: ID */
			reduce(52), /* [, reduce: ID */
			nil,        /* ] */
			nil,        /* , */
			reduce(52), /* =, reduce: ID */
			reduce(52), /* subgraph, reduce: ID */
			reduce(52), /* :, reduce: ID */
			reduce(52), /* id, reduce: ID */
		},
	},
	actionRow{ // S31
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			reduce(3), /* $, reduce: Graph */
			nil,       /* { */
			nil,       /* } */
			nil,       /* empty */
			reduce(3), /* strict, reduce: Graph */
			reduce(3), /* graphx, reduce: Graph */
			reduce(3), /* digraph, reduce: Graph */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			nil,       /* node */
			nil,       /* edge */
			nil,       /* [ */
			nil,       /* ] */
			nil,       /* , */
			nil,       /* = */
			nil,       /* subgraph */
			nil,       /* : */
			nil,       /* id */
		},
	},
	actionRow{ // S32
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(17), /* {, reduce: OptSemi */
			reduce(17), /* }, reduce: OptSemi */
			nil,        /* empty */
			nil,        /* strict */
			reduce(17), /* graphx, reduce: OptSemi */
			nil,        /* digraph */
			shift(34),  /* ; */
			nil,        /* -- */
			nil,        /* -> */
			reduce(17), /* node, reduce: OptSemi */
			reduce(17), /* edge, reduce: OptSemi */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(17), /* subgraph, reduce: OptSemi */
			nil,        /* : */
			reduce(17), /* id, reduce: OptSemi */
		},
	},
	actionRow{ // S33
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			nil,       /* $ */
			reduce(8), /* {, reduce: StmtList */
			reduce(8), /* }, reduce: StmtList */
			nil,       /* empty */
			nil,       /* strict */
			reduce(8), /* graphx, reduce: StmtList */
			nil,       /* digraph */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			reduce(8), /* node, reduce: StmtList */
			reduce(8), /* edge, reduce: StmtList */
			nil,       /* [ */
			nil,       /* ] */
			nil,       /* , */
			nil,       /* = */
			reduce(8), /* subgraph, reduce: StmtList */
			nil,       /* : */
			reduce(8), /* id, reduce: StmtList */
		},
	},
	actionRow{ // S34
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(18), /* {, reduce: OptSemi */
			reduce(18), /* }, reduce: OptSemi */
			nil,        /* empty */
			nil,        /* strict */
			reduce(18), /* graphx, reduce: OptSemi */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			reduce(18), /* node, reduce: OptSemi */
			reduce(18), /* edge, reduce: OptSemi */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(18), /* subgraph, reduce: OptSemi */
			nil,        /* : */
			reduce(18), /* id, reduce: OptSemi */
		},
	},
	actionRow{ // S35
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(19), /* {, reduce: NodeStmt */
			reduce(19), /* }, reduce: NodeStmt */
			nil,        /* empty */
			nil,        /* strict */
			reduce(19), /* graphx, reduce: NodeStmt */
			nil,        /* digraph */
			reduce(19), /* ;, reduce: NodeStmt */
			nil,        /* -- */
			nil,        /* -> */
			reduce(19), /* node, reduce: NodeStmt */
			reduce(19), /* edge, reduce: NodeStmt */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(19), /* subgraph, reduce: NodeStmt */
			nil,        /* : */
			reduce(19), /* id, reduce: NodeStmt */
		},
	},
	actionRow{ // S36
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(33), /* {, reduce: OptAttrList */
			reduce(33), /* }, reduce: OptAttrList */
			nil,        /* empty */
			nil,        /* strict */
			reduce(33), /* graphx, reduce: OptAttrList */
			nil,        /* digraph */
			reduce(33), /* ;, reduce: OptAttrList */
			nil,        /* -- */
			nil,        /* -> */
			reduce(33), /* node, reduce: OptAttrList */
			reduce(33), /* edge, reduce: OptAttrList */
			shift(50),  /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(33), /* subgraph, reduce: OptAttrList */
			nil,        /* : */
			reduce(33), /* id, reduce: OptAttrList */
		},
	},
	actionRow{ // S37
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			nil,        /* { */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			nil,        /* [ */
			reduce(36), /* ], reduce: OptAList */
			nil,        /* , */
			nil,        /* = */
			nil,        /* subgraph */
			nil,        /* : */
			shift(55),  /* id */
		},
	},
	actionRow{ // S38
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(32), /* {, reduce: OptAttrList */
			reduce(32), /* }, reduce: OptAttrList */
			nil,        /* empty */
			nil,        /* strict */
			reduce(32), /* graphx, reduce: OptAttrList */
			nil,        /* digraph */
			reduce(32), /* ;, reduce: OptAttrList */
			nil,        /* -- */
			nil,        /* -> */
			reduce(32), /* node, reduce: OptAttrList */
			reduce(32), /* edge, reduce: OptAttrList */
			shift(37),  /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(32), /* subgraph, reduce: OptAttrList */
			nil,        /* : */
			reduce(32), /* id, reduce: OptAttrList */
		},
	},
	actionRow{ // S39
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(43), /* {, reduce: OptSubgraphID */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			shift(29),  /* subgraph */
			nil,        /* : */
			shift(62),  /* id */
		},
	},
	actionRow{ // S40
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(22), /* {, reduce: DirectedEdge */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(22), /* subgraph, reduce: DirectedEdge */
			nil,        /* : */
			reduce(22), /* id, reduce: DirectedEdge */
		},
	},
	actionRow{ // S41
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(23), /* {, reduce: DirectedEdge */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(23), /* subgraph, reduce: DirectedEdge */
			nil,        /* : */
			reduce(23), /* id, reduce: DirectedEdge */
		},
	},
	actionRow{ // S42
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(26), /* {, reduce: AttrStmt */
			reduce(26), /* }, reduce: AttrStmt */
			nil,        /* empty */
			nil,        /* strict */
			reduce(26), /* graphx, reduce: AttrStmt */
			nil,        /* digraph */
			reduce(26), /* ;, reduce: AttrStmt */
			nil,        /* -- */
			nil,        /* -> */
			reduce(26), /* node, reduce: AttrStmt */
			reduce(26), /* edge, reduce: AttrStmt */
			shift(50),  /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(26), /* subgraph, reduce: AttrStmt */
			nil,        /* : */
			reduce(26), /* id, reduce: AttrStmt */
		},
	},
	actionRow{ // S43
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			nil,       /* $ */
			nil,       /* { */
			nil,       /* } */
			nil,       /* empty */
			nil,       /* strict */
			nil,       /* graphx */
			nil,       /* digraph */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			nil,       /* node */
			nil,       /* edge */
			nil,       /* [ */
			nil,       /* ] */
			nil,       /* , */
			nil,       /* = */
			nil,       /* subgraph */
			nil,       /* : */
			shift(64), /* id */
		},
	},
	actionRow{ // S44
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(47), /* {, reduce: Node */
			reduce(47), /* }, reduce: Node */
			nil,        /* empty */
			nil,        /* strict */
			reduce(47), /* graphx, reduce: Node */
			nil,        /* digraph */
			reduce(47), /* ;, reduce: Node */
			reduce(47), /* --, reduce: Node */
			reduce(47), /* ->, reduce: Node */
			reduce(47), /* node, reduce: Node */
			reduce(47), /* edge, reduce: Node */
			reduce(47), /* [, reduce: Node */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(47), /* subgraph, reduce: Node */
			nil,        /* : */
			reduce(47), /* id, reduce: Node */
		},
	},
	actionRow{ // S45
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(51), /* {, reduce: OptPort */
			reduce(51), /* }, reduce: OptPort */
			nil,        /* empty */
			nil,        /* strict */
			reduce(51), /* graphx, reduce: OptPort */
			nil,        /* digraph */
			reduce(51), /* ;, reduce: OptPort */
			reduce(51), /* --, reduce: OptPort */
			reduce(51), /* ->, reduce: OptPort */
			reduce(51), /* node, reduce: OptPort */
			reduce(51), /* edge, reduce: OptPort */
			reduce(51), /* [, reduce: OptPort */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(51), /* subgraph, reduce: OptPort */
			nil,        /* : */
			reduce(51), /* id, reduce: OptPort */
		},
	},
	actionRow{ // S46
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			nil,       /* $ */
			nil,       /* { */
			nil,       /* } */
			nil,       /* empty */
			nil,       /* strict */
			nil,       /* graphx */
			nil,       /* digraph */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			nil,       /* node */
			nil,       /* edge */
			nil,       /* [ */
			nil,       /* ] */
			nil,       /* , */
			nil,       /* = */
			nil,       /* subgraph */
			nil,       /* : */
			shift(62), /* id */
		},
	},
	actionRow{ // S47
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(43), /* {, reduce: OptSubgraphID */
			reduce(10), /* }, reduce: OptStmtList */
			nil,        /* empty */
			nil,        /* strict */
			shift(14),  /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			shift(25),  /* node */
			shift(26),  /* edge */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			shift(29),  /* subgraph */
			nil,        /* : */
			shift(30),  /* id */
		},
	},
	actionRow{ // S48
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(44), /* {, reduce: OptSubgraphID */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			nil,        /* subgraph */
			nil,        /* : */
			nil,        /* id */
		},
	},
	actionRow{ // S49
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			nil,       /* $ */
			reduce(9), /* {, reduce: StmtList */
			reduce(9), /* }, reduce: StmtList */
			nil,       /* empty */
			nil,       /* strict */
			reduce(9), /* graphx, reduce: StmtList */
			nil,       /* digraph */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			reduce(9), /* node, reduce: StmtList */
			reduce(9), /* edge, reduce: StmtList */
			nil,       /* [ */
			nil,       /* ] */
			nil,       /* , */
			nil,       /* = */
			reduce(9), /* subgraph, reduce: StmtList */
			nil,       /* : */
			reduce(9), /* id, reduce: StmtList */
		},
	},
	actionRow{ // S50
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			nil,        /* { */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			nil,        /* [ */
			reduce(36), /* ], reduce: OptAList */
			nil,        /* , */
			nil,        /* = */
			nil,        /* subgraph */
			nil,        /* : */
			shift(55),  /* id */
		},
	},
	actionRow{ // S51
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			nil,        /* { */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			shift(68),  /* ; */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			nil,        /* [ */
			reduce(38), /* ], reduce: OptSep */
			shift(70),  /* , */
			nil,        /* = */
			nil,        /* subgraph */
			nil,        /* : */
			reduce(38), /* id, reduce: OptSep */
		},
	},
	actionRow{ // S52
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			nil,       /* $ */
			nil,       /* { */
			nil,       /* } */
			nil,       /* empty */
			nil,       /* strict */
			nil,       /* graphx */
			nil,       /* digraph */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			nil,       /* node */
			nil,       /* edge */
			nil,       /* [ */
			shift(71), /* ] */
			nil,       /* , */
			nil,       /* = */
			nil,       /* subgraph */
			nil,       /* : */
			nil,       /* id */
		},
	},
	actionRow{ // S53
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			nil,        /* { */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			nil,        /* [ */
			reduce(37), /* ], reduce: OptAList */
			nil,        /* , */
			nil,        /* = */
			nil,        /* subgraph */
			nil,        /* : */
			shift(55),  /* id */
		},
	},
	actionRow{ // S54
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			nil,       /* $ */
			nil,       /* { */
			nil,       /* } */
			nil,       /* empty */
			nil,       /* strict */
			nil,       /* graphx */
			nil,       /* digraph */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			nil,       /* node */
			nil,       /* edge */
			nil,       /* [ */
			nil,       /* ] */
			nil,       /* , */
			shift(73), /* = */
			nil,       /* subgraph */
			nil,       /* : */
			nil,       /* id */
		},
	},
	actionRow{ // S55
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			nil,        /* { */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			reduce(52), /* =, reduce: ID */
			nil,        /* subgraph */
			nil,        /* : */
			nil,        /* id */
		},
	},
	actionRow{ // S56
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(20), /* {, reduce: EdgeStmt */
			reduce(20), /* }, reduce: EdgeStmt */
			nil,        /* empty */
			nil,        /* strict */
			reduce(20), /* graphx, reduce: EdgeStmt */
			nil,        /* digraph */
			reduce(20), /* ;, reduce: EdgeStmt */
			nil,        /* -- */
			nil,        /* -> */
			reduce(20), /* node, reduce: EdgeStmt */
			reduce(20), /* edge, reduce: EdgeStmt */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(20), /* subgraph, reduce: EdgeStmt */
			nil,        /* : */
			reduce(20), /* id, reduce: EdgeStmt */
		},
	},
	actionRow{ // S57
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(46), /* {, reduce: Vertex */
			reduce(46), /* }, reduce: Vertex */
			nil,        /* empty */
			nil,        /* strict */
			reduce(46), /* graphx, reduce: Vertex */
			nil,        /* digraph */
			reduce(46), /* ;, reduce: Vertex */
			reduce(46), /* --, reduce: Vertex */
			reduce(46), /* ->, reduce: Vertex */
			reduce(46), /* node, reduce: Vertex */
			reduce(46), /* edge, reduce: Vertex */
			reduce(46), /* [, reduce: Vertex */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(46), /* subgraph, reduce: Vertex */
			nil,        /* : */
			reduce(46), /* id, reduce: Vertex */
		},
	},
	actionRow{ // S58
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(45), /* {, reduce: Vertex */
			reduce(45), /* }, reduce: Vertex */
			nil,        /* empty */
			nil,        /* strict */
			reduce(45), /* graphx, reduce: Vertex */
			nil,        /* digraph */
			reduce(45), /* ;, reduce: Vertex */
			reduce(45), /* --, reduce: Vertex */
			reduce(45), /* ->, reduce: Vertex */
			reduce(45), /* node, reduce: Vertex */
			reduce(45), /* edge, reduce: Vertex */
			reduce(45), /* [, reduce: Vertex */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(45), /* subgraph, reduce: Vertex */
			nil,        /* : */
			reduce(45), /* id, reduce: Vertex */
		},
	},
	actionRow{ // S59
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(24), /* {, reduce: OptEdge */
			reduce(24), /* }, reduce: OptEdge */
			nil,        /* empty */
			nil,        /* strict */
			reduce(24), /* graphx, reduce: OptEdge */
			nil,        /* digraph */
			reduce(24), /* ;, reduce: OptEdge */
			shift(40),  /* -- */
			shift(41),  /* -> */
			reduce(24), /* node, reduce: OptEdge */
			reduce(24), /* edge, reduce: OptEdge */
			reduce(24), /* [, reduce: OptEdge */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(24), /* subgraph, reduce: OptEdge */
			nil,        /* : */
			reduce(24), /* id, reduce: OptEdge */
		},
	},
	actionRow{ // S60
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(50), /* {, reduce: OptPort */
			reduce(50), /* }, reduce: OptPort */
			nil,        /* empty */
			nil,        /* strict */
			reduce(50), /* graphx, reduce: OptPort */
			nil,        /* digraph */
			reduce(50), /* ;, reduce: OptPort */
			reduce(50), /* --, reduce: OptPort */
			reduce(50), /* ->, reduce: OptPort */
			reduce(50), /* node, reduce: OptPort */
			reduce(50), /* edge, reduce: OptPort */
			reduce(50), /* [, reduce: OptPort */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(50), /* subgraph, reduce: OptPort */
			shift(46),  /* : */
			reduce(50), /* id, reduce: OptPort */
		},
	},
	actionRow{ // S61
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			nil,       /* $ */
			shift(76), /* { */
			nil,       /* } */
			nil,       /* empty */
			nil,       /* strict */
			nil,       /* graphx */
			nil,       /* digraph */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			nil,       /* node */
			nil,       /* edge */
			nil,       /* [ */
			nil,       /* ] */
			nil,       /* , */
			nil,       /* = */
			nil,       /* subgraph */
			nil,       /* : */
			nil,       /* id */
		},
	},
	actionRow{ // S62
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(52), /* {, reduce: ID */
			reduce(52), /* }, reduce: ID */
			nil,        /* empty */
			nil,        /* strict */
			reduce(52), /* graphx, reduce: ID */
			nil,        /* digraph */
			reduce(52), /* ;, reduce: ID */
			reduce(52), /* --, reduce: ID */
			reduce(52), /* ->, reduce: ID */
			reduce(52), /* node, reduce: ID */
			reduce(52), /* edge, reduce: ID */
			reduce(52), /* [, reduce: ID */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(52), /* subgraph, reduce: ID */
			reduce(52), /* :, reduce: ID */
			reduce(52), /* id, reduce: ID */
		},
	},
	actionRow{ // S63
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(41), /* {, reduce: Attr */
			reduce(41), /* }, reduce: Attr */
			nil,        /* empty */
			nil,        /* strict */
			reduce(41), /* graphx, reduce: Attr */
			nil,        /* digraph */
			reduce(41), /* ;, reduce: Attr */
			nil,        /* -- */
			nil,        /* -> */
			reduce(41), /* node, reduce: Attr */
			reduce(41), /* edge, reduce: Attr */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(41), /* subgraph, reduce: Attr */
			nil,        /* : */
			reduce(41), /* id, reduce: Attr */
		},
	},
	actionRow{ // S64
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(52), /* {, reduce: ID */
			reduce(52), /* }, reduce: ID */
			nil,        /* empty */
			nil,        /* strict */
			reduce(52), /* graphx, reduce: ID */
			nil,        /* digraph */
			reduce(52), /* ;, reduce: ID */
			nil,        /* -- */
			nil,        /* -> */
			reduce(52), /* node, reduce: ID */
			reduce(52), /* edge, reduce: ID */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(52), /* subgraph, reduce: ID */
			nil,        /* : */
			reduce(52), /* id, reduce: ID */
		},
	},
	actionRow{ // S65
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(48), /* {, reduce: Port */
			reduce(48), /* }, reduce: Port */
			nil,        /* empty */
			nil,        /* strict */
			reduce(48), /* graphx, reduce: Port */
			nil,        /* digraph */
			reduce(48), /* ;, reduce: Port */
			reduce(48), /* --, reduce: Port */
			reduce(48), /* ->, reduce: Port */
			reduce(48), /* node, reduce: Port */
			reduce(48), /* edge, reduce: Port */
			reduce(48), /* [, reduce: Port */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(48), /* subgraph, reduce: Port */
			shift(77),  /* : */
			reduce(48), /* id, reduce: Port */
		},
	},
	actionRow{ // S66
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			nil,       /* $ */
			nil,       /* { */
			shift(78), /* } */
			nil,       /* empty */
			nil,       /* strict */
			nil,       /* graphx */
			nil,       /* digraph */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			nil,       /* node */
			nil,       /* edge */
			nil,       /* [ */
			nil,       /* ] */
			nil,       /* , */
			nil,       /* = */
			nil,       /* subgraph */
			nil,       /* : */
			nil,       /* id */
		},
	},
	actionRow{ // S67
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			nil,       /* $ */
			nil,       /* { */
			nil,       /* } */
			nil,       /* empty */
			nil,       /* strict */
			nil,       /* graphx */
			nil,       /* digraph */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			nil,       /* node */
			nil,       /* edge */
			nil,       /* [ */
			shift(79), /* ] */
			nil,       /* , */
			nil,       /* = */
			nil,       /* subgraph */
			nil,       /* : */
			nil,       /* id */
		},
	},
	actionRow{ // S68
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			nil,        /* { */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			nil,        /* [ */
			reduce(39), /* ], reduce: OptSep */
			nil,        /* , */
			nil,        /* = */
			nil,        /* subgraph */
			nil,        /* : */
			reduce(39), /* id, reduce: OptSep */
		},
	},
	actionRow{ // S69
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			nil,        /* { */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			nil,        /* [ */
			reduce(34), /* ], reduce: AList */
			nil,        /* , */
			nil,        /* = */
			nil,        /* subgraph */
			nil,        /* : */
			reduce(34), /* id, reduce: AList */
		},
	},
	actionRow{ // S70
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			nil,        /* { */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			nil,        /* [ */
			reduce(40), /* ], reduce: OptSep */
			nil,        /* , */
			nil,        /* = */
			nil,        /* subgraph */
			nil,        /* : */
			reduce(40), /* id, reduce: OptSep */
		},
	},
	actionRow{ // S71
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(30), /* {, reduce: AttrList */
			reduce(30), /* }, reduce: AttrList */
			nil,        /* empty */
			nil,        /* strict */
			reduce(30), /* graphx, reduce: AttrList */
			nil,        /* digraph */
			reduce(30), /* ;, reduce: AttrList */
			nil,        /* -- */
			nil,        /* -> */
			reduce(30), /* node, reduce: AttrList */
			reduce(30), /* edge, reduce: AttrList */
			reduce(30), /* [, reduce: AttrList */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(30), /* subgraph, reduce: AttrList */
			nil,        /* : */
			reduce(30), /* id, reduce: AttrList */
		},
	},
	actionRow{ // S72
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			nil,        /* { */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			shift(68),  /* ; */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			nil,        /* [ */
			reduce(38), /* ], reduce: OptSep */
			shift(70),  /* , */
			nil,        /* = */
			nil,        /* subgraph */
			nil,        /* : */
			reduce(38), /* id, reduce: OptSep */
		},
	},
	actionRow{ // S73
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			nil,       /* $ */
			nil,       /* { */
			nil,       /* } */
			nil,       /* empty */
			nil,       /* strict */
			nil,       /* graphx */
			nil,       /* digraph */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			nil,       /* node */
			nil,       /* edge */
			nil,       /* [ */
			nil,       /* ] */
			nil,       /* , */
			nil,       /* = */
			nil,       /* subgraph */
			nil,       /* : */
			shift(82), /* id */
		},
	},
	actionRow{ // S74
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(25), /* {, reduce: OptEdge */
			reduce(25), /* }, reduce: OptEdge */
			nil,        /* empty */
			nil,        /* strict */
			reduce(25), /* graphx, reduce: OptEdge */
			nil,        /* digraph */
			reduce(25), /* ;, reduce: OptEdge */
			nil,        /* -- */
			nil,        /* -> */
			reduce(25), /* node, reduce: OptEdge */
			reduce(25), /* edge, reduce: OptEdge */
			reduce(25), /* [, reduce: OptEdge */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(25), /* subgraph, reduce: OptEdge */
			nil,        /* : */
			reduce(25), /* id, reduce: OptEdge */
		},
	},
	actionRow{ // S75
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(21), /* {, reduce: Edge */
			reduce(21), /* }, reduce: Edge */
			nil,        /* empty */
			nil,        /* strict */
			reduce(21), /* graphx, reduce: Edge */
			nil,        /* digraph */
			reduce(21), /* ;, reduce: Edge */
			nil,        /* -- */
			nil,        /* -> */
			reduce(21), /* node, reduce: Edge */
			reduce(21), /* edge, reduce: Edge */
			reduce(21), /* [, reduce: Edge */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(21), /* subgraph, reduce: Edge */
			nil,        /* : */
			reduce(21), /* id, reduce: Edge */
		},
	},
	actionRow{ // S76
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(43), /* {, reduce: OptSubgraphID */
			reduce(10), /* }, reduce: OptStmtList */
			nil,        /* empty */
			nil,        /* strict */
			shift(14),  /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			shift(25),  /* node */
			shift(26),  /* edge */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			shift(29),  /* subgraph */
			nil,        /* : */
			shift(30),  /* id */
		},
	},
	actionRow{ // S77
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			nil,       /* $ */
			nil,       /* { */
			nil,       /* } */
			nil,       /* empty */
			nil,       /* strict */
			nil,       /* graphx */
			nil,       /* digraph */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			nil,       /* node */
			nil,       /* edge */
			nil,       /* [ */
			nil,       /* ] */
			nil,       /* , */
			nil,       /* = */
			nil,       /* subgraph */
			nil,       /* : */
			shift(85), /* id */
		},
	},
	actionRow{ // S78
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(42), /* {, reduce: Subgraph */
			reduce(42), /* }, reduce: Subgraph */
			nil,        /* empty */
			nil,        /* strict */
			reduce(42), /* graphx, reduce: Subgraph */
			nil,        /* digraph */
			reduce(42), /* ;, reduce: Subgraph */
			reduce(42), /* --, reduce: Subgraph */
			reduce(42), /* ->, reduce: Subgraph */
			reduce(42), /* node, reduce: Subgraph */
			reduce(42), /* edge, reduce: Subgraph */
			nil,        /* [ */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(42), /* subgraph, reduce: Subgraph */
			nil,        /* : */
			reduce(42), /* id, reduce: Subgraph */
		},
	},
	actionRow{ // S79
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(31), /* {, reduce: AttrList */
			reduce(31), /* }, reduce: AttrList */
			nil,        /* empty */
			nil,        /* strict */
			reduce(31), /* graphx, reduce: AttrList */
			nil,        /* digraph */
			reduce(31), /* ;, reduce: AttrList */
			nil,        /* -- */
			nil,        /* -> */
			reduce(31), /* node, reduce: AttrList */
			reduce(31), /* edge, reduce: AttrList */
			reduce(31), /* [, reduce: AttrList */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(31), /* subgraph, reduce: AttrList */
			nil,        /* : */
			reduce(31), /* id, reduce: AttrList */
		},
	},
	actionRow{ // S80
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			nil,        /* { */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			nil,        /* ; */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			nil,        /* [ */
			reduce(35), /* ], reduce: AList */
			nil,        /* , */
			nil,        /* = */
			nil,        /* subgraph */
			nil,        /* : */
			reduce(35), /* id, reduce: AList */
		},
	},
	actionRow{ // S81
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			nil,        /* { */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			reduce(41), /* ;, reduce: Attr */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			nil,        /* [ */
			reduce(41), /* ], reduce: Attr */
			reduce(41), /* ,, reduce: Attr */
			nil,        /* = */
			nil,        /* subgraph */
			nil,        /* : */
			reduce(41), /* id, reduce: Attr */
		},
	},
	actionRow{ // S82
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			nil,        /* { */
			nil,        /* } */
			nil,        /* empty */
			nil,        /* strict */
			nil,        /* graphx */
			nil,        /* digraph */
			reduce(52), /* ;, reduce: ID */
			nil,        /* -- */
			nil,        /* -> */
			nil,        /* node */
			nil,        /* edge */
			nil,        /* [ */
			reduce(52), /* ], reduce: ID */
			reduce(52), /* ,, reduce: ID */
			nil,        /* = */
			nil,        /* subgraph */
			nil,        /* : */
			reduce(52), /* id, reduce: ID */
		},
	},
	actionRow{ // S83
		canRecover: false,
		actions: [numSymbols]action{
			nil,       /* INVALID */
			nil,       /* $ */
			nil,       /* { */
			shift(86), /* } */
			nil,       /* empty */
			nil,       /* strict */
			nil,       /* graphx */
			nil,       /* digraph */
			nil,       /* ; */
			nil,       /* -- */
			nil,       /* -> */
			nil,       /* node */
			nil,       /* edge */
			nil,       /* [ */
			nil,       /* ] */
			nil,       /* , */
			nil,       /* = */
			nil,       /* subgraph */
			nil,       /* : */
			nil,       /* id */
		},
	},
	actionRow{ // S84
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(49), /* {, reduce: Port */
			reduce(49), /* }, reduce: Port */
			nil,        /* empty */
			nil,        /* strict */
			reduce(49), /* graphx, reduce: Port */
			nil,        /* digraph */
			reduce(49), /* ;, reduce: Port */
			reduce(49), /* --, reduce: Port */
			reduce(49), /* ->, reduce: Port */
			reduce(49), /* node, reduce: Port */
			reduce(49), /* edge, reduce: Port */
			reduce(49), /* [, reduce: Port */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(49), /* subgraph, reduce: Port */
			nil,        /* : */
			reduce(49), /* id, reduce: Port */
		},
	},
	actionRow{ // S85
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(52), /* {, reduce: ID */
			reduce(52), /* }, reduce: ID */
			nil,        /* empty */
			nil,        /* strict */
			reduce(52), /* graphx, reduce: ID */
			nil,        /* digraph */
			reduce(52), /* ;, reduce: ID */
			reduce(52), /* --, reduce: ID */
			reduce(52), /* ->, reduce: ID */
			reduce(52), /* node, reduce: ID */
			reduce(52), /* edge, reduce: ID */
			reduce(52), /* [, reduce: ID */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(52), /* subgraph, reduce: ID */
			nil,        /* : */
			reduce(52), /* id, reduce: ID */
		},
	},
	actionRow{ // S86
		canRecover: false,
		actions: [numSymbols]action{
			nil,        /* INVALID */
			nil,        /* $ */
			reduce(42), /* {, reduce: Subgraph */
			reduce(42), /* }, reduce: Subgraph */
			nil,        /* empty */
			nil,        /* strict */
			reduce(42), /* graphx, reduce: Subgraph */
			nil,        /* digraph */
			reduce(42), /* ;, reduce: Subgraph */
			reduce(42), /* --, reduce: Subgraph */
			reduce(42), /* ->, reduce: Subgraph */
			reduce(42), /* node, reduce: Subgraph */
			reduce(42), /* edge, reduce: Subgraph */
			reduce(42), /* [, reduce: Subgraph */
			nil,        /* ] */
			nil,        /* , */
			nil,        /* = */
			reduce(42), /* subgraph, reduce: Subgraph */
			nil,        /* : */
			reduce(42), /* id, reduce: Subgraph */
		},
	},
}
