#
# DO NOT MODIFY!!!!
# This file is automatically generated by Racc 1.4.9
# from Racc grammer file "".
#

require 'racc/parser.rb'

require_relative '../../../puppet'
require_relative '../../../puppet/pops'

module Puppet
  class ParseError < Puppet::Error; end
  class ImportError < Racc::ParseError; end
  class AlreadyImportedError < ImportError; end
end

module Puppet
  module Pops
    module Parser
      class Parser < Racc::Parser

module_eval(<<'...end egrammar.ra/module_eval...', 'egrammar.ra', 883)

# Make emacs happy
# Local Variables:
# mode: ruby
# End:
...end egrammar.ra/module_eval...
##### State transition tables begin ###

clist = [
'69,72,-279,110,70,64,141,65,-281,281,368,324,110,163,64,-267,65,112',
'-276,115,248,-145,-225,111,20,19,112,141,115,144,282,51,111,54,400,60',
'127,269,57,43,46,90,53,44,114,-279,164,141,77,18,144,-281,45,114,325',
'16,17,77,-267,92,93,-276,249,78,-145,372,91,270,125,52,144,402,122,42',
'73,91,75,76,261,260,373,58,48,61,62,55,56,69,72,63,82,70,64,281,65,428',
'281,300,63,110,485,83,84,85,124,423,77,302,121,77,303,20,19,112,282',
'115,123,282,51,111,54,409,60,12,281,57,43,46,314,53,44,10,11,305,304',
'77,18,77,440,45,114,424,16,17,410,282,423,441,261,260,78,86,88,87,89',
'436,52,435,-226,274,42,73,91,75,76,436,322,435,58,48,61,62,55,56,69',
'72,63,323,70,64,413,65,175,338,217,337,218,300,335,220,339,392,332,65',
'334,336,69,72,20,19,70,416,221,216,340,51,294,54,333,60,12,110,57,43',
'46,368,53,44,10,11,219,341,77,18,368,112,45,115,147,16,17,111,425,344',
'342,345,343,78,316,317,261,260,426,52,261,260,293,42,73,429,75,76,114',
'430,433,138,137,61,62,55,56,69,72,63,437,70,64,439,65,272,338,217,337',
'218,268,335,220,339,267,332,448,334,336,449,451,20,19,147,453,221,216',
'340,51,322,54,333,60,12,264,57,43,46,-225,53,44,10,11,219,341,77,18',
'263,262,45,457,459,16,17,322,90,344,342,345,343,78,462,463,125,125,125',
'52,122,122,122,42,73,90,75,76,74,250,465,58,48,61,62,55,56,69,72,63',
'82,70,64,187,65,184,469,439,471,182,473,474,124,124,124,475,121,121',
'121,476,166,20,19,155,123,123,123,125,51,330,54,122,60,12,481,57,43',
'46,482,53,44,10,11,483,484,77,18,148,147,45,90,82,16,17,125,69,72,495',
'122,70,78,118,496,124,125,497,52,121,122,79,42,73,499,75,76,123,500',
'501,58,48,61,62,55,56,69,72,63,502,70,64,124,65,349,359,121,163,353',
'349,160,347,124,125,123,363,121,122,125,365,20,19,122,77,123,368,369',
'51,281,54,78,60,127,346,57,43,46,330,53,44,164,73,382,383,77,18,356',
'264,45,124,387,16,17,121,124,281,419,322,121,78,272,123,393,125,90,52',
'123,122,77,42,73,395,75,76,90,90,282,58,48,61,62,55,56,69,72,63,,70',
'64,,65,,,,,,,,,124,,,,121,,,,20,19,,,123,,,51,,54,,60,12,110,57,43,46',
',53,44,10,11,,,77,18,,112,45,115,,16,17,111,69,72,,,70,78,,,,,,52,,',
',42,73,,75,76,114,,,138,137,61,62,55,56,69,72,63,,70,64,110,65,,,,163',
',,160,,,,,,112,,115,,20,19,111,,,,,51,,54,78,60,127,110,57,43,46,,53',
'44,164,73,,114,77,18,,112,45,115,,16,17,111,69,72,,,70,78,,,,,,52,,',
',42,73,,75,76,114,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,163,,,160',
',,,,,,,,,20,19,,,,,,51,,54,78,60,127,,57,43,46,,53,44,164,73,,,77,18',
',,45,,,16,17,,69,72,,,70,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55',
'56,69,72,63,,70,64,,65,,,,163,,,160,,,,,,,,,,20,19,,,354,,,51,,54,78',
'60,127,281,57,43,46,,53,44,164,73,,,77,18,77,,45,,,16,17,,282,,,,,78',
',,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,110,70,64,,65',
',,,,,,,,,112,,115,,,,111,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44',
'114,,,,77,18,,,45,,,16,17,,,92,93,,,78,,,91,,,52,,,,42,73,,75,76,,,',
'58,48,61,62,55,56,69,72,63,110,70,64,,65,,,,,,,,,,112,,115,,,,111,20',
'19,,,,,,51,,54,,60,127,,57,43,46,,53,44,114,,,,77,18,,,45,,,16,17,,',
'92,93,,,78,,,91,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,',
'70,64,,65,,338,217,337,218,,335,220,339,,332,,334,336,,,20,19,,,221',
'216,340,51,,54,333,60,127,,57,43,46,,53,44,,,219,341,77,18,,,45,,,16',
'17,,,344,342,345,343,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56',
'69,72,63,,70,64,,65,,338,217,337,218,,335,220,339,,332,,334,336,,,20',
'19,,,221,216,340,51,,54,333,60,12,,57,43,46,,53,44,10,11,219,341,77',
'18,,,45,,,16,17,,,344,342,345,343,78,,,,,,52,,,,42,73,,75,76,,,,58,48',
'61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60',
'12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42',
'73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20',
'19,136,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17',
',,,,,,78,,,,,,52,,,,42,73,,75,76,,,,138,137,61,62,55,56,69,72,63,,70',
'64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,80,53,44,10',
'11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61',
'62,55,56,69,72,63,,70,64,,65,489,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60',
'12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42',
'73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,487,,,,,,,,,,,,,',
',,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16',
'17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70',
'64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,',
',,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62',
'55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127',
',57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75',
'76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,',
',,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,',
',,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,375',
',,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77',
'18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56',
'69,72,63,,70,64,,65,377,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57',
'43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75',
'76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,',
',,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78',
',,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,',
',,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,',
'45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69',
'72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46',
',53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58',
'48,61,62,55,56,69,72,63,,70,64,,65,478,,,,,,,,,,,,,,,,20,19,,,,,,51',
',54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,',
',52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,168,65,,,,',
',,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18',
',,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,138,137,61,62,55,56',
'69,72,63,,70,64,173,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57',
'43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75',
'76,,,,138,137,61,62,55,56,69,72,63,,70,64,,65,175,,,,,,,,,,,,,,,,20',
'19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,',
',,,,78,,,,,,52,,,,42,73,,75,76,,,,138,137,61,62,55,56,69,72,63,,70,64',
',65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11',
',,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62',
'55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127',
',57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75',
'76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,',
',,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,',
',,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,186,,,',
',,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,',
'45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69',
'72,63,,70,64,,65,494,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43',
'46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76',
',,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,',
'51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,',
',,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,',
',,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18',
',,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,138,137,61,62,55,56',
'69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43',
'46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76',
',,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,',
'51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,',
',,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,',
',,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18',
',,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69',
'72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46',
',53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,',
',,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51',
',54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,',
',52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,',
',,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45',
',,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72',
'63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53',
'44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58',
'48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54',
',60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52',
',,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,',
',,,,,20,19,,,,,,204,217,210,218,60,211,220,212,43,202,,206,200,,,,,77',
'18,221,216,201,,,16,199,,,,,,,78,,,,,219,205,,,,42,73,,75,76,,,,213',
'203,214,215,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51',
',54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52',
',,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,',
',,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16',
'17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70',
'64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,',
',,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62',
'55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127',
',57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75',
'76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,',
',,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,',
',,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,',
',,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45',
',,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72',
'63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53',
'44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48',
'61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60',
'127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73',
',75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19',
',,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78',
',,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,',
',,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,',
'45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69',
'72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46',
',53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58',
'48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54',
',60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,',
'42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,',
',,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17',
',,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64',
',65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77',
'18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56',
'69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43',
'46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,',
',58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51',
',54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52',
',,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,',
',,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16',
'17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70',
'64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,',
',,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62',
'55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127',
',57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,243,42,73',
',75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19',
',,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,',
',78,,,,,,52,,,,42,73,,75,76,,,,138,137,61,62,55,56,69,72,63,,70,64,',
'65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77',
'18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56',
'69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43',
'46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76',
',,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,',
'51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,',
',52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,',
',,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,',
',16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63',
',70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44',
'10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,138,137',
'61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60',
'12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42',
'73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20',
'19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,',
',78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65',
',,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18',
',,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69',
'72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46',
',53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58',
'48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54',
',60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,',
'42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,323,,,,,,,,',
',,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16',
'17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70',
'64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10',
'11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,138,137',
'61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60',
'12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42',
'73,,75,76,,,,138,137,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,',
',20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17',
',,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64',
',65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11',
',,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,138,137,61',
'62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12',
',57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73',
',75,76,,,,138,137,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20',
'19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,',
',,,,78,,,,,,52,,,,42,73,,75,76,,,,138,137,61,62,55,56,69,72,63,,70,64',
',65,396,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10',
'11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,138,137',
'61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60',
'12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42',
'73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20',
'19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,',
',,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64',
',65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11',
',,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62',
'55,56,69,72,63,,70,64,,65,442,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127',
',57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75',
'76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,',
',,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78',
',,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,',
',,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,',
'45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69',
'72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,285,,,,,51,,54,,60,12,,57,43',
'46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76',
',,,138,137,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,',
',,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78',
',,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,',
',,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18',
',,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69',
'72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46',
',53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58',
'48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54',
',60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52',
',,,42,73,,75,76,,,,138,137,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,',
',,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45',
',,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,110,,,138,137,61,62,55,56,',
',63,106,101,112,,115,,109,,111,,102,104,103,105,,,,,,,,,,,,,,,,114,',
',,108,107,,110,94,95,97,96,99,100,,92,93,,,106,101,112,91,115,,109,',
'111,,102,104,103,105,,,,,,,,,,,,,98,,,114,,,,108,107,,110,94,95,97,96',
'99,100,,92,93,,,106,101,112,91,115,,109,,111,,102,104,103,105,,,,,,',
',,,,,,98,,,114,,,,108,107,,110,94,95,97,96,99,100,,92,93,,,106,101,112',
'91,115,,109,,111,,102,104,103,105,,,,,,,,,,,,,98,,,114,,,,108,107,,110',
'94,95,97,96,99,100,,92,93,,,106,101,112,91,115,,109,,111,,102,104,103',
'105,,,,,,,,,,,,,98,,,114,,,,108,107,,110,94,95,97,96,99,100,,92,93,',
',106,101,112,91,115,,109,,111,,102,104,103,105,,,,,,,,,,,,,98,,,114',
',,,108,107,,110,94,95,97,96,99,100,,92,93,,,106,101,112,91,115,,109',
',111,,102,104,103,105,,,,,,,,,,,,,98,,,114,,,,108,107,,110,94,95,97',
'96,99,100,,92,93,,,106,101,112,91,115,,109,,111,,102,104,103,105,,,',
',,,,,,,,,98,,,114,,,,108,107,,,94,95,97,96,99,100,,92,93,110,,286,,',
'91,,,,,,,106,101,112,,115,,109,,111,,102,104,103,105,,,98,,,,,,,,,,',
',,114,,,,108,107,,,94,95,97,96,99,100,,92,93,110,,287,,,91,,,,,,,106',
'101,112,,115,,109,,111,,102,104,103,105,,,98,,,,,,,,,,,,,114,,,,108',
'107,,,94,95,97,96,99,100,,92,93,110,,288,,,91,,,,,,,106,101,112,,115',
',109,,111,,102,104,103,105,,,98,,,,,,,,,,,,,114,,,,108,107,,110,94,95',
'97,96,99,100,,92,93,,,106,101,112,91,115,,109,,111,,102,104,103,105',
',,,,,,,,,,,,98,,,114,,,,108,107,,,94,95,97,96,99,100,,92,93,,,,,,91',
',110,,,,,,,,,316,317,,106,101,112,320,115,110,109,,111,98,102,104,103',
'105,,,,,,112,,115,,,,111,,,,114,,,,108,107,,,94,95,97,96,99,100,,92',
'93,114,,,110,,91,,,,,97,96,,,,92,93,112,,115,110,,91,111,,,,,98,,,,',
',112,,115,,,,111,,,,114,98,,,,,,,,,97,96,,,,92,93,114,,,110,,91,,,94',
'95,97,96,,,,92,93,112,,115,110,,91,111,,,,,98,,,,,,112,,115,,,,111,',
',,114,98,,,,,,,94,95,97,96,,,,92,93,114,,,110,,91,,,94,95,97,96,99,100',
',92,93,112,,115,110,,91,111,,,,,98,,,,,101,112,,115,,,,111,,102,,114',
'98,,,,,,,94,95,97,96,99,100,,92,93,114,,,,,91,,110,94,95,97,96,99,100',
',92,93,,,,101,112,91,115,110,,,111,98,102,,,,,,,,101,112,,115,,,,111',
'98,102,,114,,,,,,,,94,95,97,96,99,100,,92,93,114,,,,,91,,110,94,95,97',
'96,99,100,,92,93,,,,101,112,91,115,,,,111,98,102,,,,,,,,,,,,,,,,98,',
',114,,,,,110,,,94,95,97,96,99,100,,92,93,106,101,112,,115,91,109,,111',
',102,104,103,105,,,,,,,,,,,,,,,98,114,,,,,110,,,94,95,97,96,99,100,',
'92,93,106,101,112,,115,91,109,,111,,102,104,103,105,,,,,,,,,,,,,,,98',
'114,,,,,107,,,94,95,97,96,99,100,110,92,93,,,326,,,91,,,,106,101,112',
',115,,109,,111,,102,104,103,105,,,,,,98,,,,,,,,,,114,,,,108,107,,,94',
'95,97,96,99,100,,92,93,110,-65,,,,91,-65,,,,,,106,101,112,,115,,109',
',111,,102,104,103,105,,,98,,,,,,,,,,,,,114,,,,108,107,,110,94,95,97',
'96,99,100,,92,93,,,106,101,112,91,115,,109,,111,,102,104,103,105,,,',
',,,,,,,,,98,,,114,,,,108,107,,,94,95,97,96,99,100,110,92,93,,,,,,91',
',,,106,101,112,350,115,,109,,111,,102,104,103,105,,,,,,98,,,,,,,,,,114',
',,,108,107,,,94,95,97,96,99,100,,92,93,,,,,,91,,,,,,,,,,,,,,,,,,,,,',
',98' ]
        racc_action_table = arr = ::Array.new(9761, nil)
        idx = 0
        clist.each do |str|
          str.split(',', -1).each do |i|
            arr[idx] = i.to_i unless i.empty?
            idx += 1
          end
        end

clist = [
'369,369,215,229,369,369,48,369,214,283,313,209,223,294,166,200,166,229',
'201,229,112,202,318,229,369,369,223,203,223,48,283,369,223,369,319,369',
'369,144,369,369,369,193,369,369,229,215,294,137,369,369,203,214,369',
'223,209,369,369,166,200,229,229,201,112,369,202,284,229,144,58,369,137',
'321,58,369,369,223,369,369,165,165,284,369,369,369,369,369,369,365,365',
'369,188,365,365,184,365,365,368,172,166,224,466,7,7,7,58,466,184,174',
'58,368,174,365,365,224,184,224,58,368,365,224,365,327,365,365,147,365',
'365,365,184,365,365,365,365,179,179,365,365,147,379,365,224,361,365',
'365,329,147,361,379,119,119,365,7,7,7,7,433,365,433,170,147,365,365',
'224,365,365,375,331,375,365,365,365,365,365,365,186,186,365,333,186',
'186,348,186,186,250,250,250,250,167,250,250,250,296,250,296,250,250',
'182,182,186,186,182,351,250,250,250,186,158,186,250,186,186,129,186',
'186,186,355,186,186,186,186,250,250,186,186,357,129,186,129,359,186',
'186,129,362,250,250,250,250,186,400,400,154,154,363,186,153,153,156',
'186,186,366,186,186,129,367,374,186,186,186,186,186,186,0,0,186,376',
'0,0,377,0,146,322,322,322,322,142,322,322,322,139,322,384,322,322,385',
'390,0,0,136,399,322,322,322,0,401,0,322,0,0,135,0,0,0,132,0,0,0,0,322',
'322,0,0,131,130,0,408,412,0,0,415,117,322,322,322,322,0,420,421,210',
'211,213,0,210,211,213,0,0,116,0,0,0,113,427,0,0,0,0,0,0,183,183,0,81',
'183,183,79,183,74,436,437,439,73,441,444,210,211,213,447,210,211,213',
'448,59,183,183,56,210,211,213,54,183,452,183,54,183,183,455,183,183',
'183,456,183,183,183,183,461,464,183,183,50,49,183,8,5,183,183,12,387',
'387,477,12,387,183,12,479,54,55,480,183,54,55,1,183,183,486,183,183',
'54,488,490,183,183,183,183,183,183,349,349,183,493,349,349,12,349,498',
'265,12,387,258,255,387,254,55,353,12,270,55,353,138,271,349,349,138',
'272,55,275,281,349,282,349,387,349,349,252,349,349,349,245,349,349,387',
'387,289,290,349,349,261,291,349,353,292,349,349,353,138,261,353,198',
'138,349,295,353,299,127,196,349,138,127,261,349,349,301,349,349,195',
'194,261,349,349,349,349,349,349,330,330,349,,330,330,,330,,,,,,,,,127',
',,,127,,,,330,330,,,127,,,330,,330,,330,330,222,330,330,330,,330,330',
'330,330,,,330,330,,222,330,222,,330,330,222,293,293,,,293,330,,,,,,330',
',,,330,330,,330,330,222,,,330,330,330,330,330,330,326,326,330,,326,326',
'126,326,,,,293,,,293,,,,,,126,,126,,326,326,126,,,,,326,,326,293,326',
'326,128,326,326,326,,326,326,293,293,,126,326,326,,128,326,128,,326',
'326,128,57,57,,,57,326,,,,,,326,,,,326,326,,326,326,128,,,326,326,326',
'326,326,326,325,325,326,,325,325,,325,,,,57,,,57,,,,,,,,,,325,325,,',
',,,325,,325,57,325,325,,325,325,325,,325,325,57,57,,,325,325,,,325,',
',325,325,,212,212,,,212,325,,,,,,325,,,,325,325,,325,325,,,,325,325',
'325,325,325,325,324,324,325,,324,324,,324,,,,212,,,212,,,,,,,,,,324',
'324,,,260,,,324,,324,212,324,324,260,324,324,324,,324,324,212,212,,',
'324,324,260,,324,,,324,324,,260,,,,,324,,,,,,324,,,,324,324,,324,324',
',,,324,324,324,324,324,324,323,323,324,227,323,323,,323,,,,,,,,,,227',
',227,,,,227,323,323,,,,,,323,,323,,323,323,,323,323,323,,323,323,227',
',,,323,323,,,323,,,323,323,,,227,227,,,323,,,227,,,323,,,,323,323,,323',
'323,,,,323,323,323,323,323,323,17,17,323,228,17,17,,17,,,,,,,,,,228',
',228,,,,228,17,17,,,,,,17,,17,,17,17,,17,17,17,,17,17,228,,,,17,17,',
',17,,,17,17,,,228,228,,,17,,,228,,,17,,,,17,17,,17,17,,,,17,17,17,17',
'17,17,18,18,17,,18,18,,18,,320,320,320,320,,320,320,320,,320,,320,320',
',,18,18,,,320,320,320,18,,18,320,18,18,,18,18,18,,18,18,,,320,320,18',
'18,,,18,,,18,18,,,320,320,320,320,18,,,,,,18,,,,18,18,,18,18,,,,18,18',
'18,18,18,18,19,19,18,,19,19,,19,,350,350,350,350,,350,350,350,,350,',
'350,350,,,19,19,,,350,350,350,19,,19,350,19,19,,19,19,19,,19,19,19,19',
'350,350,19,19,,,19,,,19,19,,,350,350,350,350,19,,,,,,19,,,,19,19,,19',
'19,,,,19,19,19,19,19,19,20,20,19,,20,20,,20,,,,,,,,,,,,,,,,,20,20,,',
',,,20,,20,,20,20,,20,20,20,,20,20,20,20,,,20,20,,,20,,,20,20,,,,,,,20',
',,,,,20,,,,20,20,,20,20,,,,20,20,20,20,20,20,47,47,20,,47,47,,47,,,',
',,,,,,,,,,,,,47,47,47,,,,,47,,47,,47,47,,47,47,47,,47,47,47,47,,,47',
'47,,,47,,,47,47,,,,,,,47,,,,,,47,,,,47,47,,47,47,,,,47,47,47,47,47,47',
'4,4,47,,4,4,,4,,,,,,,,,,,,,,,,,4,4,,,,,,4,,4,,4,4,,4,4,4,4,4,4,4,4,',
',4,4,,,4,,,4,4,,,,,,,4,,,,,,4,,,,4,4,,4,4,,,,4,4,4,4,4,4,471,471,4,',
'471,471,,471,471,,,,,,,,,,,,,,,,471,471,,,,,,471,,471,,471,471,,471',
'471,471,,471,471,471,471,,,471,471,,,471,,,471,471,,,,,,,471,,,,,,471',
',,,471,471,,471,471,,,,471,471,471,471,471,471,469,469,471,,469,469',
',469,469,,,,,,,,,,,,,,,,469,469,,,,,,469,,469,,469,469,,469,469,469',
',469,469,469,469,,,469,469,,,469,,,469,469,,,,,,,469,,,,,,469,,,,469',
'469,,469,469,,,,469,469,469,469,469,469,51,51,469,,51,51,,51,,,,,,,',
',,,,,,,,,51,51,,,,,,51,,51,,51,51,,51,51,51,,51,51,,,,,51,51,,,51,,',
'51,51,,,,,,,51,,,,,,51,,,,51,51,,51,51,,,,51,51,51,51,51,51,52,52,51',
',52,52,,52,,,,,,,,,,,,,,,,,52,52,,,,,,52,,52,,52,52,,52,52,52,,52,52',
',,,,52,52,,,52,,,52,52,,,,,,,52,,,,,,52,,,,52,52,,52,52,,,,52,52,52',
'52,52,52,53,53,52,,53,53,,53,,,,,,,,,,,,,,,,,53,53,,,,,,53,,53,,53,53',
',53,53,53,,53,53,,,,,53,53,,,53,,,53,53,,,,,,,53,,,,,,53,,,,53,53,,53',
'53,,,,53,53,53,53,53,53,286,286,53,,286,286,,286,286,,,,,,,,,,,,,,,',
'286,286,,,,,,286,,286,,286,286,,286,286,286,,286,286,286,286,,,286,286',
',,286,,,286,286,,,,,,,286,,,,,,286,,,,286,286,,286,286,,,,286,286,286',
'286,286,286,287,287,286,,287,287,,287,287,,,,,,,,,,,,,,,,287,287,,,',
',,287,,287,,287,287,,287,287,287,,287,287,287,287,,,287,287,,,287,,',
'287,287,,,,,,,287,,,,,,287,,,,287,287,,287,287,,,,287,287,287,287,287',
'287,451,451,287,,451,451,,451,,,,,,,,,,,,,,,,,451,451,,,,,,451,,451',
',451,451,,451,451,451,,451,451,451,451,,,451,451,,,451,,,451,451,,,',
',,,451,,,,,,451,,,,451,451,,451,451,,,,451,451,451,451,451,451,243,243',
'451,,243,243,,243,,,,,,,,,,,,,,,,,243,243,,,,,,243,,243,,243,243,,243',
'243,243,,243,243,,,,,243,243,,,243,,,243,243,,,,,,,243,,,,,,243,,,,243',
'243,,243,243,,,,243,243,243,243,243,243,206,206,243,,206,206,,206,,',
',,,,,,,,,,,,,,206,206,,,,,,206,,206,,206,206,,206,206,206,,206,206,',
',,,206,206,,,206,,,206,206,,,,,,,206,,,,,,206,,,,206,206,,206,206,,',
',206,206,206,206,206,206,449,449,206,,449,449,,449,449,,,,,,,,,,,,,',
',,449,449,,,,,,449,,449,,449,449,,449,449,449,,449,449,449,449,,,449',
'449,,,449,,,449,449,,,,,,,449,,,,,,449,,,,449,449,,449,449,,,,449,449',
'449,449,449,449,63,63,449,,63,63,63,63,,,,,,,,,,,,,,,,,63,63,,,,,,63',
',63,,63,63,,63,63,63,,63,63,63,63,,,63,63,,,63,,,63,63,,,,,,,63,,,,',
',63,,,,63,63,,63,63,,,,63,63,63,63,63,63,64,64,63,,64,64,64,64,,,,,',
',,,,,,,,,,,64,64,,,,,,64,,64,,64,64,,64,64,64,,64,64,64,64,,,64,64,',
',64,,,64,64,,,,,,,64,,,,,,64,,,,64,64,,64,64,,,,64,64,64,64,64,64,65',
'65,64,,65,65,,65,65,,,,,,,,,,,,,,,,65,65,,,,,,65,,65,,65,65,,65,65,65',
',65,65,65,65,,,65,65,,,65,,,65,65,,,,,,,65,,,,,,65,,,,65,65,,65,65,',
',,65,65,65,65,65,65,71,71,65,,71,71,,71,,,,,,,,,,,,,,,,,71,71,,,,,,71',
',71,,71,71,,71,71,71,,71,71,71,71,,,71,71,,,71,,,71,71,,,,,,,71,,,,',
',71,,,,71,71,,71,71,,,,71,71,71,71,71,71,440,440,71,,440,440,,440,,',
',,,,,,,,,,,,,,440,440,,,,,,440,,440,,440,440,,440,440,440,,440,440,',
',,,440,440,,,440,,,440,440,,,,,,,440,,,,,,440,,,,440,440,,440,440,,',
',440,440,440,440,440,440,435,435,440,,435,435,,435,,,,,,,,,,,,,,,,,435',
'435,,,,,,435,,435,,435,435,,435,435,435,,435,435,,,,,435,435,,,435,',
',435,435,,,,,,,435,,,,,,435,,,,435,435,,435,435,,,,435,435,435,435,435',
'435,76,76,435,,76,76,,76,,,,,,,,,,,,,,,,,76,76,,,,,,76,,76,,76,76,,76',
'76,76,,76,76,,,,,76,76,,,76,,,76,76,,,,,,,76,,,,,,76,,,,76,76,,76,76',
',,,76,76,76,76,76,76,476,476,76,,476,476,,476,476,,,,,,,,,,,,,,,,476',
'476,,,,,,476,,476,,476,476,,476,476,476,,476,476,476,476,,,476,476,',
',476,,,476,476,,,,,,,476,,,,,,476,,,,476,476,,476,476,,,,476,476,476',
'476,476,476,80,80,476,,80,80,,80,,,,,,,,,,,,,,,,,80,80,,,,,,80,,80,',
'80,80,,80,80,80,,80,80,80,80,,,80,80,,,80,,,80,80,,,,,,,80,,,,,,80,',
',,80,80,,80,80,,,,80,80,80,80,80,80,429,429,80,,429,429,,429,,,,,,,',
',,,,,,,,,429,429,,,,,,429,,429,,429,429,,429,429,429,,429,429,429,429',
',,429,429,,,429,,,429,429,,,,,,,429,,,,,,429,,,,429,429,,429,429,,,',
'429,429,429,429,429,429,82,82,429,,82,82,,82,,,,,,,,,,,,,,,,,82,82,',
',,,,82,,82,,82,82,,82,82,82,,82,82,82,82,,,82,82,,,82,,,82,82,,,,,,',
'82,,,,,,82,,,,82,82,,82,82,,,,82,82,82,82,82,82,83,83,82,,83,83,,83',
',,,,,,,,,,,,,,,,83,83,,,,,,83,,83,,83,83,,83,83,83,,83,83,83,83,,,83',
'83,,,83,,,83,83,,,,,,,83,,,,,,83,,,,83,83,,83,83,,,,83,83,83,83,83,83',
'84,84,83,,84,84,,84,,,,,,,,,,,,,,,,,84,84,,,,,,84,,84,,84,84,,84,84',
'84,,84,84,84,84,,,84,84,,,84,,,84,84,,,,,,,84,,,,,,84,,,,84,84,,84,84',
',,,84,84,84,84,84,84,85,85,84,,85,85,,85,,,,,,,,,,,,,,,,,85,85,,,,,',
'85,,85,,85,85,,85,85,85,,85,85,85,85,,,85,85,,,85,,,85,85,,,,,,,85,',
',,,,85,,,,85,85,,85,85,,,,85,85,85,85,85,85,86,86,85,,86,86,,86,,,,',
',,,,,,,,,,,,86,86,,,,,,86,,86,,86,86,,86,86,86,,86,86,86,86,,,86,86',
',,86,,,86,86,,,,,,,86,,,,,,86,,,,86,86,,86,86,,,,86,86,86,86,86,86,87',
'87,86,,87,87,,87,,,,,,,,,,,,,,,,,87,87,,,,,,87,,87,,87,87,,87,87,87',
',87,87,87,87,,,87,87,,,87,,,87,87,,,,,,,87,,,,,,87,,,,87,87,,87,87,',
',,87,87,87,87,87,87,88,88,87,,88,88,,88,,,,,,,,,,,,,,,,,88,88,,,,,,88',
',88,,88,88,,88,88,88,,88,88,88,88,,,88,88,,,88,,,88,88,,,,,,,88,,,,',
',88,,,,88,88,,88,88,,,,88,88,88,88,88,88,89,89,88,,89,89,,89,,,,,,,',
',,,,,,,,,89,89,,,,,,89,,89,,89,89,,89,89,89,,89,89,89,89,,,89,89,,,89',
',,89,89,,,,,,,89,,,,,,89,,,,89,89,,89,89,,,,89,89,89,89,89,89,90,90',
'89,,90,90,,90,,,,,,,,,,,,,,,,,90,90,,,,,,90,90,90,90,90,90,90,90,90',
'90,,90,90,,,,,90,90,90,90,90,,,90,90,,,,,,,90,,,,,90,90,,,,90,90,,90',
'90,,,,90,90,90,90,90,90,91,91,90,,91,91,,91,,,,,,,,,,,,,,,,,91,91,,',
',,,91,,91,,91,91,,91,91,91,,91,91,,,,,91,91,,,91,,,91,91,,,,,,,91,,',
',,,91,,,,91,91,,91,91,,,,91,91,91,91,91,91,92,92,91,,92,92,,92,,,,,',
',,,,,,,,,,,92,92,,,,,,92,,92,,92,92,,92,92,92,,92,92,,,,,92,92,,,92',
',,92,92,,,,,,,92,,,,,,92,,,,92,92,,92,92,,,,92,92,92,92,92,92,93,93',
'92,,93,93,,93,,,,,,,,,,,,,,,,,93,93,,,,,,93,,93,,93,93,,93,93,93,,93',
'93,,,,,93,93,,,93,,,93,93,,,,,,,93,,,,,,93,,,,93,93,,93,93,,,,93,93',
'93,93,93,93,94,94,93,,94,94,,94,,,,,,,,,,,,,,,,,94,94,,,,,,94,,94,,94',
'94,,94,94,94,,94,94,,,,,94,94,,,94,,,94,94,,,,,,,94,,,,,,94,,,,94,94',
',94,94,,,,94,94,94,94,94,94,95,95,94,,95,95,,95,,,,,,,,,,,,,,,,,95,95',
',,,,,95,,95,,95,95,,95,95,95,,95,95,,,,,95,95,,,95,,,95,95,,,,,,,95',
',,,,,95,,,,95,95,,95,95,,,,95,95,95,95,95,95,96,96,95,,96,96,,96,,,',
',,,,,,,,,,,,,96,96,,,,,,96,,96,,96,96,,96,96,96,,96,96,,,,,96,96,,,96',
',,96,96,,,,,,,96,,,,,,96,,,,96,96,,96,96,,,,96,96,96,96,96,96,97,97',
'96,,97,97,,97,,,,,,,,,,,,,,,,,97,97,,,,,,97,,97,,97,97,,97,97,97,,97',
'97,,,,,97,97,,,97,,,97,97,,,,,,,97,,,,,,97,,,,97,97,,97,97,,,,97,97',
'97,97,97,97,98,98,97,,98,98,,98,,,,,,,,,,,,,,,,,98,98,,,,,,98,,98,,98',
'98,,98,98,98,,98,98,,,,,98,98,,,98,,,98,98,,,,,,,98,,,,,,98,,,,98,98',
',98,98,,,,98,98,98,98,98,98,99,99,98,,99,99,,99,,,,,,,,,,,,,,,,,99,99',
',,,,,99,,99,,99,99,,99,99,99,,99,99,,,,,99,99,,,99,,,99,99,,,,,,,99',
',,,,,99,,,,99,99,,99,99,,,,99,99,99,99,99,99,100,100,99,,100,100,,100',
',,,,,,,,,,,,,,,,100,100,,,,,,100,,100,,100,100,,100,100,100,,100,100',
',,,,100,100,,,100,,,100,100,,,,,,,100,,,,,,100,,,,100,100,,100,100,',
',,100,100,100,100,100,100,101,101,100,,101,101,,101,,,,,,,,,,,,,,,,',
'101,101,,,,,,101,,101,,101,101,,101,101,101,,101,101,,,,,101,101,,,101',
',,101,101,,,,,,,101,,,,,,101,,,,101,101,,101,101,,,,101,101,101,101',
'101,101,102,102,101,,102,102,,102,,,,,,,,,,,,,,,,,102,102,,,,,,102,',
'102,,102,102,,102,102,102,,102,102,,,,,102,102,,,102,,,102,102,,,,,',
',102,,,,,,102,,,,102,102,,102,102,,,,102,102,102,102,102,102,103,103',
'102,,103,103,,103,,,,,,,,,,,,,,,,,103,103,,,,,,103,,103,,103,103,,103',
'103,103,,103,103,,,,,103,103,,,103,,,103,103,,,,,,,103,,,,,,103,,,,103',
'103,,103,103,,,,103,103,103,103,103,103,104,104,103,,104,104,,104,,',
',,,,,,,,,,,,,,104,104,,,,,,104,,104,,104,104,,104,104,104,,104,104,',
',,,104,104,,,104,,,104,104,,,,,,,104,,,,,,104,,,,104,104,,104,104,,',
',104,104,104,104,104,104,105,105,104,,105,105,,105,,,,,,,,,,,,,,,,,105',
'105,,,,,,105,,105,,105,105,,105,105,105,,105,105,,,,,105,105,,,105,',
',105,105,,,,,,,105,,,,,,105,,,,105,105,,105,105,,,,105,105,105,105,105',
'105,106,106,105,,106,106,,106,,,,,,,,,,,,,,,,,106,106,,,,,,106,,106',
',106,106,,106,106,106,,106,106,,,,,106,106,,,106,,,106,106,,,,,,,106',
',,,,,106,,,,106,106,,106,106,,,,106,106,106,106,106,106,107,107,106',
',107,107,,107,,,,,,,,,,,,,,,,,107,107,,,,,,107,,107,,107,107,,107,107',
'107,,107,107,,,,,107,107,,,107,,,107,107,,,,,,,107,,,,,,107,,,,107,107',
',107,107,,,,107,107,107,107,107,107,108,108,107,,108,108,,108,,,,,,',
',,,,,,,,,,108,108,,,,,,108,,108,,108,108,,108,108,108,,108,108,,,,,108',
'108,,,108,,,108,108,,,,,,,108,,,,,,108,,,,108,108,,108,108,,,,108,108',
'108,108,108,108,109,109,108,,109,109,,109,,,,,,,,,,,,,,,,,109,109,,',
',,,109,,109,,109,109,,109,109,109,,109,109,,,,,109,109,,,109,,,109,109',
',,,,,,109,,,,,,109,,,109,109,109,,109,109,,,,109,109,109,109,109,109',
'110,110,109,,110,110,,110,,,,,,,,,,,,,,,,,110,110,,,,,,110,,110,,110',
'110,,110,110,110,,110,110,110,110,,,110,110,,,110,,,110,110,,,,,,,110',
',,,,,110,,,,110,110,,110,110,,,,110,110,110,110,110,110,205,205,110',
',205,205,,205,,,,,,,,,,,,,,,,,205,205,,,,,,205,,205,,205,205,,205,205',
'205,,205,205,,,,,205,205,,,205,,,205,205,,,,,,,205,,,,,,205,,,,205,205',
',205,205,,,,205,205,205,205,205,205,426,426,205,,426,426,,426,,,,,,',
',,,,,,,,,,426,426,,,,,,426,,426,,426,426,,426,426,426,,426,426,426,426',
',,426,426,,,426,,,426,426,,,,,,,426,,,,,,426,,,,426,426,,426,426,,,',
'426,426,426,426,426,426,114,114,426,,114,114,,114,,,,,,,,,,,,,,,,,114',
'114,,,,,,114,,114,,114,114,,114,114,114,,114,114,,,,,114,114,,,114,',
',114,114,,,,,,,114,,,,,,114,,,,114,114,,114,114,,,,114,114,114,114,114',
'114,115,115,114,,115,115,,115,,,,,,,,,,,,,,,,,115,115,,,,,,115,,115',
',115,115,,115,115,115,,115,115,,,,,115,115,,,115,,,115,115,,,,,,,115',
',,,,,115,,,,115,115,,115,115,,,,115,115,115,115,115,115,423,423,115',
',423,423,,423,,,,,,,,,,,,,,,,,423,423,,,,,,423,,423,,423,423,,423,423',
'423,,423,423,423,423,,,423,423,,,423,,,423,423,,,,,,,423,,,,,,423,,',
',423,423,,423,423,,,,423,423,423,423,423,423,416,416,423,,416,416,,416',
',,,,,,,,,,,,,,,,416,416,,,,,,416,,416,,416,416,,416,416,416,,416,416',
'416,416,,,416,416,,,416,,,416,416,,,,,,,416,,,,,,416,,,,416,416,,416',
'416,,,,416,416,416,416,416,416,118,118,416,,118,118,,118,,,,,,,,,,,',
',,,,,118,118,,,,,,118,,118,,118,118,,118,118,118,,118,118,,,,,118,118',
',,118,,,118,118,,,,,,,118,,,,,,118,,,,118,118,,118,118,,,,118,118,118',
'118,118,118,409,409,118,,409,409,,409,,,,,,,,,,,,,,,,,409,409,,,,,,409',
',409,,409,409,,409,409,409,,409,409,,,,,409,409,,,409,,,409,409,,,,',
',,409,,,,,,409,,,,409,409,,409,409,,,,409,409,409,409,409,409,204,204',
'409,,204,204,,204,,,,,,,,,,,,,,,,,204,204,,,,,,204,,204,,204,204,,204',
'204,204,,204,204,,,,,204,204,,,204,,,204,204,,,,,,,204,,,,,,204,,,,204',
'204,,204,204,,,,204,204,204,204,204,204,288,288,204,,288,288,,288,,',
',,,,,,,,,,,,,,288,288,,,,,,288,,288,,288,288,,288,288,288,,288,288,',
',,,288,288,,,288,,,288,288,,,,,,,288,,,,,,288,,,,288,288,,288,288,,',
',288,288,288,288,288,288,199,199,288,,199,199,,199,,,199,,,,,,,,,,,',
',,199,199,,,,,,199,,199,,199,199,,199,199,199,,199,199,,,,,199,199,',
',199,,,199,199,,,,,,,199,,,,,,199,,,,199,199,,199,199,,,,199,199,199',
'199,199,199,300,300,199,,300,300,,300,,,,,,,,,,,,,,,,,300,300,,,,,,300',
',300,,300,300,,300,300,300,,300,300,300,300,,,300,300,,,300,,,300,300',
',,,,,,300,,,,,,300,,,,300,300,,300,300,,,,300,300,300,300,300,300,268',
'268,300,,268,268,,268,,,,,,,,,,,,,,,,,268,268,,,,,,268,,268,,268,268',
',268,268,268,,268,268,268,268,,,268,268,,,268,,,268,268,,,,,,,268,,',
',,,268,,,,268,268,,268,268,,,,268,268,268,268,268,268,473,473,268,,473',
'473,,473,,,,,,,,,,,,,,,,,473,473,,,,,,473,,473,,473,473,,473,473,473',
',473,473,473,473,,,473,473,,,473,,,473,473,,,,,,,473,,,,,,473,,,,473',
'473,,473,473,,,,473,473,473,473,473,473,267,267,473,,267,267,,267,,',
',,,,,,,,,,,,,,267,267,,,,,,267,,267,,267,267,,267,267,267,,267,267,267',
'267,,,267,267,,,267,,,267,267,,,,,,,267,,,,,,267,,,,267,267,,267,267',
',,,267,267,267,267,267,267,264,264,267,,264,264,,264,,,,,,,,,,,,,,,',
',264,264,,,,,,264,,264,,264,264,,264,264,264,,264,264,264,264,,,264',
'264,,,264,,,264,264,,,,,,,264,,,,,,264,,,,264,264,,264,264,,,,264,264',
'264,264,264,264,392,392,264,,392,392,,392,,,,,,,,,,,,,,,,,392,392,,',
',,,392,,392,,392,392,,392,392,392,,392,392,392,392,,,392,392,,,392,',
',392,392,,,,,,,392,,,,,,392,,,,392,392,,392,392,,,,392,392,392,392,392',
'392,303,303,392,,303,303,,303,303,,,,,,,,,,,,,,,,303,303,,,,,,303,,303',
',303,303,,303,303,303,,303,303,303,303,,,303,303,,,303,,,303,303,,,',
',,,303,,,,,,303,,,,303,303,,303,303,,,,303,303,303,303,303,303,308,308',
'303,,308,308,,308,,,,,,,,,,,,,,,,,308,308,,,,,,308,,308,,308,308,,308',
'308,308,,308,308,308,308,,,308,308,,,308,,,308,308,,,,,,,308,,,,,,308',
',,,308,308,,308,308,,,,308,308,308,308,308,308,383,383,308,,383,383',
',383,,,,,,,,,,,,,,,,,383,383,,,,,,383,,383,,383,383,,383,383,383,,383',
'383,383,383,,,383,383,,,383,,,383,383,,,,,,,383,,,,,,383,,,,383,383',
',383,383,,,,383,383,383,383,383,383,382,382,383,,382,382,,382,,,,,,',
',,,,,,,,,,382,382,,,,,,382,,382,,382,382,,382,382,382,,382,382,382,382',
',,382,382,,,382,,,382,382,,,,,,,382,,,,,,382,,,,382,382,,382,382,,,',
'382,382,382,382,382,382,380,380,382,,380,380,,380,380,,,,,,,,,,,,,,',
',380,380,,,,,,380,,380,,380,380,,380,380,380,,380,380,,,,,380,380,,',
'380,,,380,380,,,,,,,380,,,,,,380,,,,380,380,,380,380,,,,380,380,380',
'380,380,380,10,10,380,,10,10,,10,,,,,,,,,,,,,,,,,10,10,,,,,,10,,10,',
'10,10,,10,10,10,,10,10,10,10,,,10,10,,,10,,,10,10,,,,,,,10,,,,,,10,',
',,10,10,,10,10,,,,10,10,10,10,10,10,482,482,10,,482,482,,482,,,,,,,',
',,,,,,,,,482,482,,,,,,482,,482,,482,482,,482,482,482,,482,482,,,,,482',
'482,,,482,,,482,482,,,,,,,482,,,,,,482,,,,482,482,,482,482,,,,482,482',
'482,482,482,482,148,148,482,,148,148,,148,,,,,,,,,,,,,,,,,148,148,148',
',,,,148,,148,,148,148,,148,148,148,,148,148,148,148,,,148,148,,,148',
',,148,148,,,,,,,148,,,,,,148,,,,148,148,,148,148,,,,148,148,148,148',
'148,148,11,11,148,,11,11,,11,,,,,,,,,,,,,,,,,11,11,,,,,,11,,11,,11,11',
',11,11,11,,11,11,11,11,,,11,11,,,11,,,11,11,,,,,,,11,,,,,,11,,,,11,11',
',11,11,,,,11,11,11,11,11,11,269,269,11,,269,269,,269,,,,,,,,,,,,,,,',
',269,269,,,,,,269,,269,,269,269,,269,269,269,,269,269,269,269,,,269',
'269,,,269,,,269,269,,,,,,,269,,,,,,269,,,,269,269,,269,269,,,,269,269',
'269,269,269,269,16,16,269,,16,16,,16,,,,,,,,,,,,,,,,,16,16,,,,,,16,',
'16,,16,16,,16,16,16,,16,16,,,,,16,16,,,16,,,16,16,,,,,,,16,,,,,,16,',
',,16,16,,16,16,,,,16,16,16,16,16,16,372,372,16,,372,372,,372,,,,,,,',
',,,,,,,,,372,372,,,,,,372,,372,,372,372,,372,372,372,,372,372,372,372',
',,372,372,,,372,,,372,372,,,,,,,372,,,,,,372,,,,372,372,,372,372,,,',
'372,372,372,372,372,372,155,155,372,,155,155,,155,,,,,,,,,,,,,,,,,155',
'155,,,,,,155,,155,,155,155,,155,155,155,,155,155,155,155,,,155,155,',
',155,,,155,155,,,,,,,155,,,,,,155,,,,155,155,,155,155,405,,,155,155',
'155,155,155,155,,,155,405,405,405,,405,,405,,405,,405,405,405,405,,',
',,,,,,,,,,,,,405,,,,405,405,,9,405,405,405,405,405,405,,405,405,,,9',
'9,9,405,9,,9,,9,,9,9,9,9,,,,,,,,,,,,,405,,,9,,,,9,9,,472,9,9,9,9,9,9',
',9,9,,,472,472,472,9,472,,472,,472,,472,472,472,472,,,,,,,,,,,,,9,,',
'472,,,,472,472,,432,472,472,472,472,472,472,,472,472,,,432,432,432,472',
'432,,432,,432,,432,432,432,432,,,,,,,,,,,,,472,,,432,,,,432,432,,407',
'432,432,432,432,432,432,,432,432,,,407,407,407,432,407,,407,,407,,407',
'407,407,407,,,,,,,,,,,,,432,,,407,,,,407,407,,406,407,407,407,407,407',
'407,,407,407,,,406,406,406,407,406,,406,,406,,406,406,406,406,,,,,,',
',,,,,,407,,,406,,,,406,406,,404,406,406,406,406,406,406,,406,406,,,404',
'404,404,406,404,,404,,404,,404,404,404,404,,,,,,,,,,,,,406,,,404,,,',
'404,404,,378,404,404,404,404,404,404,,404,404,,,378,378,378,404,378',
',378,,378,,378,378,378,378,,,,,,,,,,,,,404,,,378,,,,378,378,,,378,378',
'378,378,378,378,,378,378,149,,149,,,378,,,,,,,149,149,149,,149,,149',
',149,,149,149,149,149,,,378,,,,,,,,,,,,,149,,,,149,149,,,149,149,149',
'149,149,149,,149,149,151,,151,,,149,,,,,,,151,151,151,,151,,151,,151',
',151,151,151,151,,,149,,,,,,,,,,,,,151,,,,151,151,,,151,151,151,151',
'151,151,,151,151,152,,152,,,151,,,,,,,152,152,152,,152,,152,,152,,152',
'152,152,152,,,151,,,,,,,,,,,,,152,,,,152,152,,185,152,152,152,152,152',
'152,,152,152,,,185,185,185,152,185,,185,,185,,185,185,185,185,,,,,,',
',,,,,,152,,,185,,,,185,185,,,185,185,185,185,185,185,,185,185,,,,,,185',
',197,,,,,,,,,185,185,,197,197,197,197,197,225,197,,197,185,197,197,197',
'197,,,,,,225,,225,,,,225,,,,197,,,,197,197,,,197,197,197,197,197,197',
',197,197,225,,,226,,197,,,,,225,225,,,,225,225,226,,226,230,,225,226',
',,,,197,,,,,,230,,230,,,,230,,,,226,225,,,,,,,,,226,226,,,,226,226,230',
',,231,,226,,,230,230,230,230,,,,230,230,231,,231,232,,230,231,,,,,226',
',,,,,232,,232,,,,232,,,,231,230,,,,,,,231,231,231,231,,,,231,231,232',
',,233,,231,,,232,232,232,232,232,232,,232,232,233,,233,234,,232,233',
',,,,231,,,,,234,234,,234,,,,234,,234,,233,232,,,,,,,233,233,233,233',
'233,233,,233,233,234,,,,,233,,235,234,234,234,234,234,234,,234,234,',
',,235,235,234,235,236,,,235,233,235,,,,,,,,236,236,,236,,,,236,234,236',
',235,,,,,,,,235,235,235,235,235,235,,235,235,236,,,,,235,,237,236,236',
'236,236,236,236,,236,236,,,,237,237,236,237,,,,237,235,237,,,,,,,,,',
',,,,,,236,,,237,,,,,238,,,237,237,237,237,237,237,,237,237,238,238,238',
',238,237,238,,238,,238,238,238,238,,,,,,,,,,,,,,,237,238,,,,,239,,,238',
'238,238,238,238,238,,238,238,239,239,239,,239,238,239,,239,,239,239',
'239,239,,,,,,,,,,,,,,,238,239,,,,,239,,,239,239,239,239,239,239,240',
'239,239,,,240,,,239,,,,240,240,240,,240,,240,,240,,240,240,240,240,',
',,,,239,,,,,,,,,,240,,,,240,240,,,240,240,240,240,240,240,,240,240,244',
'244,,,,240,244,,,,,,244,244,244,,244,,244,,244,,244,244,244,244,,,240',
',,,,,,,,,,,,244,,,,244,244,,251,244,244,244,244,244,244,,244,244,,,251',
'251,251,244,251,,251,,251,,251,251,251,251,,,,,,,,,,,,,244,,,251,,,',
'251,251,,,251,251,251,251,251,251,256,251,251,,,,,,251,,,,256,256,256',
'256,256,,256,,256,,256,256,256,256,,,,,,251,,,,,,,,,,256,,,,256,256',
',,256,256,256,256,256,256,,256,256,,,,,,256,,,,,,,,,,,,,,,,,,,,,,,256' ]
        racc_action_check = arr = ::Array.new(9761, nil)
        idx = 0
        clist.each do |str|
          str.split(',', -1).each do |i|
            arr[idx] = i.to_i unless i.empty?
            idx += 1
          end
        end

racc_action_pointer = [
   259,   420,   nil,   nil,  1390,   389,   nil,    85,   392,  8471,
  7741,  8002,   403,   nil,   nil,   nil,  8176,   955,  1042,  1129,
  1216,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,  1303,   -21,   327,
   371,  1651,  1738,  1825,   376,   413,   347,   665,    66,   355,
   nil,   nil,   nil,  2434,  2521,  2608,   nil,   nil,   nil,   nil,
   nil,  2695,   nil,   283,   284,   nil,  2956,   nil,   nil,   354,
  3130,   338,  3304,  3391,  3478,  3565,  3652,  3739,  3826,  3913,
  4000,  4087,  4174,  4261,  4348,  4435,  4522,  4609,  4696,  4783,
  4870,  4957,  5044,  5131,  5218,  5305,  5392,  5479,  5566,  5653,
  5740,   nil,   -22,   331,  6001,  6088,   327,   310,  6349,   122,
   nil,   nil,   nil,   nil,   nil,   nil,   608,   500,   639,   204,
   284,   283,   290,   nil,   nil,   285,   215,    20,   455,   266,
   nil,   nil,   267,   nil,    28,   nil,   208,    87,  7915,  8817,
   nil,  8875,  8933,   218,   214,  8350,   233,   nil,   185,   nil,
   nil,   nil,   nil,   nil,   nil,    52,     7,   174,   nil,   nil,
   146,   nil,    84,   nil,    97,   nil,   nil,   nil,   nil,   129,
   nil,   nil,   194,   346,    56,  8981,   172,   nil,    77,   nil,
   nil,   nil,   nil,    32,   505,   504,   494,  9046,   483,  6697,
     3,     6,     9,     0,  6523,  5827,  2260,   nil,   nil,    -1,
   325,   326,   752,   327,    -4,   -10,   nil,   nil,   nil,   nil,
   nil,   nil,   552,     5,    92,  9063,  9107,   866,   953,    -4,
  9124,  9168,  9185,  9229,  9246,  9294,  9311,  9359,  9405,  9451,
  9506,   nil,   nil,  2173,  9564,   463,   nil,   nil,   nil,   nil,
   150,  9612,   423,   nil,   426,   405,  9667,   nil,   408,   nil,
   783,   457,   nil,   nil,  7132,   416,   nil,  7045,  6871,  8089,
   404,   449,   412,   nil,   nil,   451,   nil,   nil,   nil,   nil,
   nil,   449,   430,   -28,    52,   nil,  1912,  1999,  6610,   472,
   473,   473,   450,   578,   -29,   438,   184,   nil,   nil,   493,
  6784,   502,   nil,  7306,   nil,   nil,   nil,   nil,  7393,   nil,
   nil,   nil,   nil,    -3,   nil,   nil,   nil,   nil,    10,    24,
  1020,    61,   237,   868,   781,   694,   607,   108,   nil,   136,
   520,   153,   nil,   165,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   170,   433,
  1107,   192,   nil,   450,   nil,   202,   nil,   211,   nil,   156,
   nil,   133,   222,   233,   nil,    85,   242,   181,    59,    -2,
   nil,   nil,  8263,   nil,   244,   131,   254,   233,  8759,   125,
  7654,   nil,  7567,  7480,   252,   274,   nil,   404,   nil,   nil,
   275,   nil,  7219,   nil,   nil,   nil,   nil,   nil,   nil,   216,
   157,   280,   nil,   nil,  8711,  8423,  8663,  8615,   304,  6436,
   nil,   nil,   305,   nil,   nil,   305,  6262,   nil,   nil,   nil,
   297,   298,   nil,  6175,   nil,   nil,  5914,   331,   nil,  3217,
   nil,   nil,  8567,   121,   nil,  2869,   348,   324,   nil,   350,
  2782,   352,   nil,   nil,   352,   nil,   nil,   356,   361,  2347,
   nil,  2086,   367,   nil,   nil,   375,   346,   nil,   nil,   nil,
   nil,   384,   nil,   nil,   385,   nil,    92,   nil,   nil,  1564,
   nil,  1477,  8519,  6958,   nil,   nil,  3043,   398,   nil,   403,
   408,   nil,  7828,   nil,   nil,   nil,   413,   nil,   417,   nil,
   418,   nil,   nil,   428,   nil,   nil,   nil,   nil,   400,   nil,
   nil,   nil,   nil,   nil ]

racc_action_default = [
    -3,  -283,    -1,    -2,    -4,    -5,    -8,   -10,   -18,   -23,
  -283,  -283,  -283,   -35,   -36,   -37,  -283,  -283,  -283,  -283,
  -283,   -69,   -70,   -71,   -72,   -73,   -74,   -75,   -76,   -77,
   -78,   -79,   -80,   -81,   -82,   -83,   -84,   -85,   -86,   -87,
   -88,   -89,   -90,   -91,   -92,   -93,   -94,  -283,  -283,  -101,
  -105,  -283,  -283,  -283,  -283,  -283,  -283,  -283,  -283,  -283,
  -210,  -211,  -212,  -283,  -283,  -283,  -231,  -232,  -233,  -234,
  -235,  -283,  -237,  -283,  -250,  -253,  -283,  -258,  -259,  -283,
  -283,    -7,  -283,  -283,  -283,  -283,  -283,  -283,  -283,  -283,
  -142,  -283,  -283,  -283,  -283,  -283,  -283,  -283,  -283,  -283,
  -283,  -283,  -283,  -283,  -283,  -283,  -283,  -283,  -283,  -283,
  -283,   -99,  -283,  -137,  -282,  -282,   -24,   -25,  -283,  -282,
  -155,  -180,  -181,  -182,  -183,  -184,   -48,  -283,   -49,   -56,
  -283,  -283,   -14,   -15,   -16,  -260,   -96,  -229,  -230,  -283,
  -226,  -100,  -200,  -207,  -258,  -102,  -282,  -283,  -283,  -283,
  -113,  -283,  -283,  -282,  -282,  -283,  -260,  -164,  -166,  -167,
  -168,  -169,  -170,  -172,  -173,  -282,  -283,  -260,  -214,  -223,
  -224,  -227,  -260,  -216,  -283,  -219,  -220,  -225,  -236,  -283,
  -241,  -244,  -283,  -248,  -283,  -283,  -283,   504,    -6,    -9,
   -11,   -12,   -13,   -19,   -20,   -21,   -22,  -283,  -260,  -283,
   -92,   -93,   -94,  -278,  -271,  -277,  -265,  -143,  -146,  -283,
  -268,  -266,  -274,  -280,  -211,  -212,  -264,  -269,  -270,  -272,
  -273,  -275,   -38,   -39,   -40,   -41,   -42,   -43,   -44,   -45,
   -46,   -47,   -50,   -51,   -52,   -53,   -54,   -55,   -57,   -58,
  -283,   -59,  -131,  -283,   -23,  -260,   -63,   -66,  -106,  -107,
  -142,  -141,  -283,  -140,  -283,  -262,  -283,   -30,  -282,  -185,
  -283,  -283,   -60,   -61,  -261,  -283,   -98,  -283,  -283,  -248,
  -283,  -283,  -283,  -179,  -111,  -260,  -190,  -192,  -193,  -194,
  -195,  -197,  -283,  -283,  -283,  -104,  -283,  -283,  -283,  -283,
  -283,  -260,  -282,  -261,  -283,  -282,  -204,  -205,  -206,  -283,
  -261,  -283,  -217,  -283,  -238,  -239,  -240,  -242,  -283,  -245,
  -246,  -247,  -249,  -260,  -251,  -254,  -256,  -257,    -8,  -283,
  -142,  -283,  -261,  -283,  -283,  -283,  -283,  -260,  -133,  -283,
  -261,  -260,  -145,  -283,  -265,  -266,  -267,  -268,  -271,  -274,
  -276,  -277,  -278,  -279,  -280,  -281,  -138,  -139,  -283,  -263,
  -142,  -283,  -158,  -283,  -186,  -260,  -187,  -260,   -17,   -95,
  -222,  -283,  -283,  -283,  -108,  -283,  -177,  -283,  -261,  -283,
  -198,  -199,  -283,  -103,  -283,  -116,  -283,  -122,   -67,  -283,
  -283,  -126,  -282,  -282,  -283,  -283,  -174,  -283,  -165,  -171,
  -283,  -202,  -283,  -213,  -228,  -215,  -218,  -221,  -243,  -283,
  -283,  -260,   -28,  -144,  -149,  -147,  -148,  -135,  -283,  -261,
   -62,   -64,  -283,   -27,   -31,  -260,  -282,  -159,  -160,  -161,
  -283,  -283,   -97,  -283,  -201,  -208,  -248,  -283,  -110,  -283,
  -112,  -191,  -196,  -116,  -115,  -283,  -283,  -122,  -121,  -283,
  -283,  -283,  -125,  -127,  -283,  -156,  -157,  -283,  -283,  -283,
  -175,  -282,  -260,  -252,  -255,  -283,   -32,  -132,  -134,  -136,
   -29,  -283,  -188,  -189,  -283,  -109,  -283,  -114,  -117,  -283,
  -120,  -283,   -68,  -282,  -150,  -151,  -283,  -283,  -163,  -283,
  -283,   -26,   -33,  -154,  -209,  -178,  -283,  -119,  -283,  -124,
  -283,  -129,  -130,  -283,  -153,  -162,  -176,  -203,  -262,  -118,
  -123,  -128,  -152,   -34 ]

racc_goto_table = [
     2,   161,   176,   255,   126,   128,   129,   245,   159,   130,
   131,   198,   142,   169,   169,   242,   348,   145,   178,   311,
   271,   297,   275,   170,   170,   153,   253,   253,   315,   165,
   143,   135,   388,   309,   411,     3,   381,   132,    81,   149,
   151,   152,   455,   444,   447,   252,   254,   247,   438,   434,
   167,   172,   414,   132,   132,   177,   241,   298,   273,   313,
   364,   180,   468,   380,   185,   116,   117,   490,   327,   403,
   154,   351,   189,   190,   191,   192,   417,   461,   197,   222,
   223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   233,   234,   235,   236,   237,   238,   239,   240,   244,   385,
   177,   142,   251,   251,   266,   362,   256,   467,   470,   165,
   389,   142,   479,   431,   188,   371,   370,   360,   258,   143,
   394,     1,   310,   176,   307,   265,   450,   411,   443,   308,
   296,   306,   284,   181,   183,   355,   357,   nil,   132,   291,
   nil,   193,   194,   195,   196,   132,   292,   nil,   142,   328,
   nil,   391,   289,   290,   nil,   nil,   161,   299,   nil,   nil,
   nil,   nil,   301,   159,   295,   361,   nil,   142,   nil,   390,
   352,   331,   nil,   nil,   nil,   nil,   318,   nil,   nil,   nil,
   nil,   153,   nil,   312,   165,   143,   319,   128,   321,   nil,
   nil,   nil,   149,   151,   152,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   386,   247,   nil,   273,   nil,   nil,
   nil,   nil,   nil,   nil,   358,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   142,   142,   nil,   nil,   nil,   nil,
   nil,   240,   nil,   nil,   nil,   329,   366,   161,   nil,   nil,
   397,   401,   nil,   454,   159,   nil,   nil,   nil,   nil,   nil,
   169,   nil,   nil,   nil,   132,   398,   244,   177,   177,   503,
   170,   nil,   464,   nil,   nil,   367,   nil,   247,   nil,   312,
   nil,   415,   nil,   nil,   nil,   nil,   378,   nil,   nil,   nil,
   nil,   384,   nil,   nil,   nil,   nil,   374,   376,   nil,   452,
   132,   nil,   nil,   177,   446,   446,   nil,   nil,   180,   nil,
   nil,   nil,   nil,   399,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   404,   405,   406,   407,   458,   nil,   408,   244,   nil,
   177,   412,   358,   nil,   418,   nil,   466,   422,   446,   247,
   nil,   161,   142,   nil,   nil,   nil,   nil,   256,   159,   nil,
   nil,   nil,   nil,   nil,   nil,   420,   nil,   421,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   432,   nil,   nil,
   247,   nil,   132,   446,   nil,   427,   247,   498,   378,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   244,   nil,   177,   nil,   nil,   491,   nil,   nil,   nil,   nil,
   nil,   456,   nil,   nil,   nil,   nil,   nil,   240,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   460,   nil,   nil,   nil,   nil,
   nil,   244,   nil,   177,   nil,   nil,   nil,   244,   nil,   177,
   nil,   nil,   nil,   149,   nil,   nil,   312,   nil,   472,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   480,   nil,   nil,   nil,   nil,   nil,   nil,   477,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   486,
   256,   488,   nil,   492,   nil,   nil,   493 ]

racc_goto_check = [
     2,    44,     9,    15,    12,    12,    12,    23,    45,     6,
     6,    13,    46,     8,     8,    62,    16,    48,    97,    87,
    52,    43,    54,    92,    92,    69,    61,    61,   104,    69,
    85,    10,    77,    93,    24,     3,    59,     6,     5,    12,
    12,    12,    14,    71,    71,    65,    65,     9,    57,    56,
    88,    88,    18,     6,     6,     6,    22,    42,    61,    54,
    53,     6,    55,    58,    12,    11,    11,    60,    63,    66,
    72,    73,     6,     6,     6,     6,    74,    71,    12,    12,
    12,    12,    12,    12,    12,    12,    12,    12,    12,    12,
    12,    12,    12,    12,    12,    12,    12,    12,    12,    76,
     6,    46,    12,    12,    48,    87,    12,    56,    57,    69,
    79,    46,    71,    80,     5,    81,    83,    90,    70,    85,
    91,     1,    94,     9,    98,    17,    77,    24,    59,    99,
    46,   101,    10,   102,   103,    54,    54,   nil,     6,    10,
   nil,    11,    11,    11,    11,     6,    17,   nil,    46,    62,
   nil,    43,    70,    70,   nil,   nil,    44,    17,   nil,   nil,
   nil,   nil,    17,    45,    70,    23,   nil,    46,   nil,    52,
    61,    13,   nil,   nil,   nil,   nil,     6,   nil,   nil,   nil,
   nil,    69,   nil,     2,    69,    85,     2,    12,    17,   nil,
   nil,   nil,    12,    12,    12,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    61,     9,   nil,    61,   nil,   nil,
   nil,   nil,   nil,   nil,     8,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    46,    46,   nil,   nil,   nil,   nil,
   nil,    12,   nil,   nil,   nil,    17,    46,    44,   nil,   nil,
     9,    13,   nil,   104,    45,   nil,   nil,   nil,   nil,   nil,
     8,   nil,   nil,   nil,     6,    97,    12,     6,     6,    16,
    92,   nil,    87,   nil,   nil,    17,   nil,     9,   nil,     2,
   nil,    13,   nil,   nil,   nil,   nil,    12,   nil,   nil,   nil,
   nil,    17,   nil,   nil,   nil,   nil,     2,     2,   nil,    23,
     6,   nil,   nil,     6,    61,    61,   nil,   nil,     6,   nil,
   nil,   nil,   nil,    17,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,    12,    12,    12,    12,    62,   nil,    17,    12,   nil,
     6,    17,     8,   nil,    69,   nil,    23,    48,    61,     9,
   nil,    44,    46,   nil,   nil,   nil,   nil,    12,    45,   nil,
   nil,   nil,   nil,   nil,   nil,    17,   nil,    17,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,    12,   nil,   nil,
     9,   nil,     6,    61,   nil,     2,     9,    15,    12,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
    12,   nil,     6,   nil,   nil,    61,   nil,   nil,   nil,   nil,
   nil,    17,   nil,   nil,   nil,   nil,   nil,    12,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,    17,   nil,   nil,   nil,   nil,
   nil,    12,   nil,     6,   nil,   nil,   nil,    12,   nil,     6,
   nil,   nil,   nil,    12,   nil,   nil,     2,   nil,    12,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,    17,   nil,   nil,   nil,   nil,   nil,   nil,     2,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,     2,
    12,     2,   nil,     2,   nil,   nil,     2 ]

racc_goto_pointer = [
   nil,   121,     0,    35,   nil,    34,   -10,   nil,   -50,   -63,
   -16,    55,   -12,   -79,  -359,  -115,  -239,   -10,  -297,   nil,
   nil,   nil,   -53,  -103,  -296,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,  -109,  -145,   -56,   -49,   -36,   nil,   -32,   nil,
   nil,   nil,  -126,  -211,  -125,  -373,  -326,  -329,  -225,  -252,
  -406,   -88,   -94,  -175,   nil,   -69,  -253,   nil,   nil,   -29,
    -1,  -339,    15,  -187,  -277,   nil,  -193,  -261,   nil,  -184,
  -255,  -168,   nil,  -166,   nil,   -18,   nil,  -164,   -13,   nil,
  -150,  -180,   -40,  -149,   -60,   nil,   nil,   -53,   -55,   -50,
   nil,   -48,    60,    60,  -157 ]

racc_goto_default = [
   nil,   nil,   445,   nil,     4,     5,     6,     7,   134,   133,
   nil,     8,     9,   nil,   nil,   nil,   nil,   nil,   257,    13,
    14,    15,   nil,   nil,   246,   379,    21,    22,    23,    24,
    25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
    35,    36,    37,    38,    39,    40,    41,    47,   nil,    49,
    50,   146,   nil,   nil,   nil,   150,   nil,   nil,   nil,   nil,
   nil,   259,   nil,   nil,   113,   nil,   207,   209,   208,   120,
   nil,   nil,   119,   nil,   nil,   156,   nil,   157,   158,   162,
   276,   277,   278,   279,   280,   283,    59,   nil,   nil,   174,
   139,   171,   140,    66,    67,    68,    71,   nil,   nil,   nil,
   179,   nil,   nil,   nil,   nil ]

racc_reduce_table = [
  0, 0, :racc_error,
  1, 95, :_reduce_1,
  1, 95, :_reduce_2,
  0, 95, :_reduce_3,
  1, 96, :_reduce_4,
  1, 98, :_reduce_5,
  3, 98, :_reduce_6,
  2, 98, :_reduce_7,
  1, 99, :_reduce_8,
  3, 99, :_reduce_9,
  1, 100, :_reduce_none,
  3, 100, :_reduce_11,
  3, 100, :_reduce_12,
  3, 100, :_reduce_13,
  1, 102, :_reduce_none,
  1, 102, :_reduce_15,
  1, 104, :_reduce_16,
  3, 104, :_reduce_17,
  1, 101, :_reduce_none,
  3, 101, :_reduce_19,
  3, 101, :_reduce_20,
  3, 101, :_reduce_21,
  3, 101, :_reduce_22,
  1, 105, :_reduce_none,
  2, 105, :_reduce_24,
  2, 105, :_reduce_25,
  7, 105, :_reduce_26,
  5, 105, :_reduce_27,
  5, 105, :_reduce_28,
  4, 112, :_reduce_29,
  1, 109, :_reduce_30,
  3, 109, :_reduce_31,
  1, 108, :_reduce_32,
  2, 108, :_reduce_33,
  4, 108, :_reduce_34,
  1, 106, :_reduce_none,
  1, 106, :_reduce_none,
  1, 106, :_reduce_none,
  3, 106, :_reduce_38,
  3, 106, :_reduce_39,
  3, 106, :_reduce_40,
  3, 106, :_reduce_41,
  3, 106, :_reduce_42,
  3, 106, :_reduce_43,
  3, 106, :_reduce_44,
  3, 106, :_reduce_45,
  3, 106, :_reduce_46,
  3, 106, :_reduce_47,
  2, 106, :_reduce_48,
  2, 106, :_reduce_49,
  3, 106, :_reduce_50,
  3, 106, :_reduce_51,
  3, 106, :_reduce_52,
  3, 106, :_reduce_53,
  3, 106, :_reduce_54,
  3, 106, :_reduce_55,
  2, 106, :_reduce_56,
  3, 106, :_reduce_57,
  3, 106, :_reduce_58,
  3, 106, :_reduce_59,
  3, 106, :_reduce_60,
  3, 106, :_reduce_61,
  5, 115, :_reduce_62,
  1, 117, :_reduce_63,
  3, 117, :_reduce_64,
  1, 118, :_reduce_none,
  1, 118, :_reduce_66,
  1, 119, :_reduce_67,
  3, 119, :_reduce_68,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_90,
  1, 113, :_reduce_91,
  1, 113, :_reduce_92,
  1, 113, :_reduce_93,
  1, 113, :_reduce_94,
  4, 114, :_reduce_95,
  2, 114, :_reduce_96,
  5, 114, :_reduce_97,
  3, 114, :_reduce_98,
  2, 141, :_reduce_99,
  2, 141, :_reduce_100,
  1, 121, :_reduce_101,
  2, 121, :_reduce_102,
  4, 143, :_reduce_103,
  3, 143, :_reduce_104,
  1, 143, :_reduce_105,
  3, 144, :_reduce_106,
  3, 144, :_reduce_107,
  3, 142, :_reduce_108,
  3, 147, :_reduce_109,
  2, 147, :_reduce_110,
  2, 145, :_reduce_111,
  4, 145, :_reduce_112,
  2, 124, :_reduce_113,
  5, 149, :_reduce_114,
  4, 149, :_reduce_115,
  0, 150, :_reduce_none,
  2, 150, :_reduce_117,
  4, 150, :_reduce_118,
  3, 150, :_reduce_119,
  6, 125, :_reduce_120,
  5, 125, :_reduce_121,
  0, 151, :_reduce_none,
  4, 151, :_reduce_123,
  3, 151, :_reduce_124,
  5, 123, :_reduce_125,
  1, 152, :_reduce_126,
  2, 152, :_reduce_127,
  5, 153, :_reduce_128,
  1, 154, :_reduce_none,
  1, 154, :_reduce_none,
  1, 116, :_reduce_none,
  4, 116, :_reduce_132,
  1, 157, :_reduce_133,
  3, 157, :_reduce_134,
  3, 156, :_reduce_135,
  6, 122, :_reduce_136,
  2, 122, :_reduce_137,
  3, 158, :_reduce_138,
  3, 158, :_reduce_139,
  1, 159, :_reduce_none,
  1, 159, :_reduce_none,
  0, 107, :_reduce_142,
  1, 107, :_reduce_143,
  3, 107, :_reduce_144,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  3, 160, :_reduce_147,
  3, 160, :_reduce_148,
  3, 160, :_reduce_149,
  6, 126, :_reduce_150,
  6, 128, :_reduce_151,
  8, 129, :_reduce_152,
  7, 129, :_reduce_153,
  7, 127, :_reduce_154,
  1, 166, :_reduce_155,
  1, 165, :_reduce_none,
  1, 165, :_reduce_none,
  1, 167, :_reduce_none,
  2, 167, :_reduce_159,
  1, 168, :_reduce_none,
  1, 168, :_reduce_none,
  7, 130, :_reduce_162,
  6, 130, :_reduce_163,
  1, 169, :_reduce_164,
  3, 169, :_reduce_165,
  1, 171, :_reduce_none,
  1, 171, :_reduce_none,
  1, 171, :_reduce_168,
  1, 171, :_reduce_none,
  1, 172, :_reduce_170,
  3, 172, :_reduce_171,
  1, 173, :_reduce_none,
  1, 173, :_reduce_none,
  1, 170, :_reduce_none,
  2, 170, :_reduce_175,
  7, 132, :_reduce_176,
  2, 146, :_reduce_177,
  5, 146, :_reduce_178,
  1, 146, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_183,
  1, 163, :_reduce_184,
  1, 164, :_reduce_185,
  2, 164, :_reduce_186,
  2, 164, :_reduce_187,
  4, 164, :_reduce_188,
  4, 164, :_reduce_189,
  1, 148, :_reduce_190,
  3, 148, :_reduce_191,
  1, 174, :_reduce_none,
  1, 174, :_reduce_none,
  1, 175, :_reduce_none,
  1, 175, :_reduce_none,
  3, 177, :_reduce_196,
  1, 177, :_reduce_197,
  2, 178, :_reduce_198,
  2, 176, :_reduce_199,
  1, 179, :_reduce_200,
  4, 179, :_reduce_201,
  4, 133, :_reduce_202,
  7, 133, :_reduce_203,
  3, 133, :_reduce_204,
  3, 133, :_reduce_205,
  3, 133, :_reduce_206,
  2, 180, :_reduce_207,
  5, 134, :_reduce_208,
  7, 134, :_reduce_209,
  1, 120, :_reduce_210,
  1, 135, :_reduce_211,
  1, 135, :_reduce_212,
  4, 136, :_reduce_213,
  2, 136, :_reduce_214,
  4, 136, :_reduce_215,
  2, 136, :_reduce_216,
  3, 137, :_reduce_217,
  4, 137, :_reduce_218,
  2, 137, :_reduce_219,
  1, 183, :_reduce_220,
  3, 183, :_reduce_221,
  3, 103, :_reduce_222,
  1, 185, :_reduce_none,
  1, 185, :_reduce_224,
  1, 184, :_reduce_none,
  1, 184, :_reduce_226,
  1, 182, :_reduce_227,
  3, 182, :_reduce_228,
  1, 186, :_reduce_none,
  1, 186, :_reduce_none,
  1, 139, :_reduce_none,
  1, 139, :_reduce_none,
  1, 139, :_reduce_none,
  1, 187, :_reduce_234,
  1, 187, :_reduce_235,
  2, 188, :_reduce_236,
  1, 190, :_reduce_237,
  1, 192, :_reduce_238,
  1, 193, :_reduce_239,
  2, 191, :_reduce_240,
  1, 194, :_reduce_241,
  1, 195, :_reduce_242,
  2, 195, :_reduce_243,
  2, 189, :_reduce_244,
  2, 196, :_reduce_245,
  2, 196, :_reduce_246,
  3, 97, :_reduce_247,
  0, 181, :_reduce_none,
  1, 181, :_reduce_none,
  0, 197, :_reduce_250,
  2, 197, :_reduce_251,
  4, 197, :_reduce_252,
  1, 131, :_reduce_253,
  3, 131, :_reduce_254,
  5, 131, :_reduce_255,
  1, 198, :_reduce_none,
  1, 198, :_reduce_none,
  1, 140, :_reduce_258,
  1, 138, :_reduce_259,
  0, 111, :_reduce_none,
  1, 111, :_reduce_261,
  0, 110, :_reduce_none,
  1, 110, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  0, 155, :_reduce_282 ]

racc_reduce_n = 283

racc_shift_n = 504

racc_token_table = {
  false => 0,
  :error => 1,
  :STRING => 2,
  :DQPRE => 3,
  :DQMID => 4,
  :DQPOST => 5,
  :WORD => 6,
  :LBRACK => 7,
  :RBRACK => 8,
  :LBRACE => 9,
  :RBRACE => 10,
  :SYMBOL => 11,
  :FARROW => 12,
  :COMMA => 13,
  :TRUE => 14,
  :FALSE => 15,
  :EQUALS => 16,
  :APPENDS => 17,
  :DELETES => 18,
  :LESSEQUAL => 19,
  :NOTEQUAL => 20,
  :DOT => 21,
  :COLON => 22,
  :LLCOLLECT => 23,
  :RRCOLLECT => 24,
  :QMARK => 25,
  :WSLPAREN => 26,
  :LPAREN => 27,
  :RPAREN => 28,
  :ISEQUAL => 29,
  :GREATEREQUAL => 30,
  :GREATERTHAN => 31,
  :LESSTHAN => 32,
  :IF => 33,
  :ELSE => 34,
  :DEFINE => 35,
  :ELSIF => 36,
  :VARIABLE => 37,
  :CLASS => 38,
  :INHERITS => 39,
  :NODE => 40,
  :BOOLEAN => 41,
  :NAME => 42,
  :SEMIC => 43,
  :CASE => 44,
  :DEFAULT => 45,
  :AT => 46,
  :ATAT => 47,
  :LCOLLECT => 48,
  :RCOLLECT => 49,
  :CLASSREF => 50,
  :NOT => 51,
  :OR => 52,
  :AND => 53,
  :UNDEF => 54,
  :PARROW => 55,
  :PLUS => 56,
  :MINUS => 57,
  :TIMES => 58,
  :DIV => 59,
  :LSHIFT => 60,
  :RSHIFT => 61,
  :UMINUS => 62,
  :MATCH => 63,
  :NOMATCH => 64,
  :REGEX => 65,
  :IN_EDGE => 66,
  :OUT_EDGE => 67,
  :IN_EDGE_SUB => 68,
  :OUT_EDGE_SUB => 69,
  :IN => 70,
  :UNLESS => 71,
  :PIPE => 72,
  :LAMBDA => 73,
  :SELBRACE => 74,
  :NUMBER => 75,
  :HEREDOC => 76,
  :SUBLOCATE => 77,
  :RENDER_STRING => 78,
  :RENDER_EXPR => 79,
  :EPP_START => 80,
  :EPP_END => 81,
  :EPP_END_TRIM => 82,
  :FUNCTION => 83,
  :TYPE => 84,
  :PRIVATE => 85,
  :ATTR => 86,
  :PLAN => 87,
  :APPLY => 88,
  :LOW => 89,
  :HIGH => 90,
  :LISTSTART => 91,
  :SPLAT => 92,
  :MODULO => 93 }

racc_nt_base = 94

racc_use_result_var = true

Racc_arg = [
  racc_action_table,
  racc_action_check,
  racc_action_default,
  racc_action_pointer,
  racc_goto_table,
  racc_goto_check,
  racc_goto_default,
  racc_goto_pointer,
  racc_nt_base,
  racc_reduce_table,
  racc_token_table,
  racc_shift_n,
  racc_reduce_n,
  racc_use_result_var ]

Racc_token_to_s_table = [
  "$end",
  "error",
  "STRING",
  "DQPRE",
  "DQMID",
  "DQPOST",
  "WORD",
  "LBRACK",
  "RBRACK",
  "LBRACE",
  "RBRACE",
  "SYMBOL",
  "FARROW",
  "COMMA",
  "TRUE",
  "FALSE",
  "EQUALS",
  "APPENDS",
  "DELETES",
  "LESSEQUAL",
  "NOTEQUAL",
  "DOT",
  "COLON",
  "LLCOLLECT",
  "RRCOLLECT",
  "QMARK",
  "WSLPAREN",
  "LPAREN",
  "RPAREN",
  "ISEQUAL",
  "GREATEREQUAL",
  "GREATERTHAN",
  "LESSTHAN",
  "IF",
  "ELSE",
  "DEFINE",
  "ELSIF",
  "VARIABLE",
  "CLASS",
  "INHERITS",
  "NODE",
  "BOOLEAN",
  "NAME",
  "SEMIC",
  "CASE",
  "DEFAULT",
  "AT",
  "ATAT",
  "LCOLLECT",
  "RCOLLECT",
  "CLASSREF",
  "NOT",
  "OR",
  "AND",
  "UNDEF",
  "PARROW",
  "PLUS",
  "MINUS",
  "TIMES",
  "DIV",
  "LSHIFT",
  "RSHIFT",
  "UMINUS",
  "MATCH",
  "NOMATCH",
  "REGEX",
  "IN_EDGE",
  "OUT_EDGE",
  "IN_EDGE_SUB",
  "OUT_EDGE_SUB",
  "IN",
  "UNLESS",
  "PIPE",
  "LAMBDA",
  "SELBRACE",
  "NUMBER",
  "HEREDOC",
  "SUBLOCATE",
  "RENDER_STRING",
  "RENDER_EXPR",
  "EPP_START",
  "EPP_END",
  "EPP_END_TRIM",
  "FUNCTION",
  "TYPE",
  "PRIVATE",
  "ATTR",
  "PLAN",
  "APPLY",
  "LOW",
  "HIGH",
  "LISTSTART",
  "SPLAT",
  "MODULO",
  "$start",
  "program",
  "statements",
  "epp_expression",
  "syntactic_statements",
  "syntactic_statement",
  "assignment",
  "relationship",
  "argument",
  "hashpair",
  "arguments",
  "resource",
  "expression",
  "attribute_operations",
  "additional_resource_bodies",
  "resource_bodies",
  "endsemi",
  "endcomma",
  "resource_body",
  "primary_expression",
  "call_function_expression",
  "bracketed_expression",
  "selector_entries",
  "access_args",
  "access_arg",
  "expressions",
  "variable",
  "call_method_with_lambda_expression",
  "collection_expression",
  "case_expression",
  "if_expression",
  "unless_expression",
  "definition_expression",
  "hostclass_expression",
  "plan_expression",
  "apply_expression",
  "node_definition_expression",
  "epp_render_expression",
  "function_definition",
  "type_alias",
  "type_definition",
  "reserved_word",
  "array",
  "hash",
  "regex",
  "quotedtext",
  "type",
  "call_function_start",
  "lambda",
  "call_method_expression",
  "named_access",
  "lambda_parameter_list",
  "opt_return_type",
  "lambda_rest",
  "parameters",
  "if_part",
  "else",
  "unless_else",
  "case_options",
  "case_option",
  "options_statements",
  "nil",
  "selector_entry",
  "selector_entry_list",
  "collect_query",
  "optional_query",
  "attribute_operation",
  "attribute_name",
  "keyword",
  "classname",
  "parameter_list",
  "opt_statements",
  "stacked_classname",
  "classparent",
  "classnameordefault",
  "hostnames",
  "nodeparent",
  "hostname",
  "dotted_name",
  "name_or_number",
  "parameter",
  "untyped_parameter",
  "typed_parameter",
  "regular_parameter",
  "splat_parameter",
  "parameter_type",
  "type_alias_lhs",
  "optional_statements",
  "collection_entries",
  "hashpairs",
  "hash_entry",
  "collection_entry",
  "collection_entry_keyword",
  "string",
  "dq_string",
  "heredoc",
  "dqpre",
  "dqrval",
  "dqpost",
  "dqmid",
  "text_expression",
  "dqtail",
  "sublocated_text",
  "epp_parameters_list",
  "epp_end" ]

Racc_debug_parser = false

##### State transition tables end #####

# reduce 0 omitted

module_eval(<<'.,.,', 'egrammar.ra', 67)
  def _reduce_1(val, _values, result)
     result = create_program(Factory.block_or_expression(val[0])) 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 68)
  def _reduce_2(val, _values, result)
     result = create_program(val[0]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 69)
  def _reduce_3(val, _values, result)
     result = create_empty_program 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 73)
  def _reduce_4(val, _values, result)
     result = transform_calls(val[0]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 80)
  def _reduce_5(val, _values, result)
     result = [val[0]]
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 81)
  def _reduce_6(val, _values, result)
     result = val[0].push val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 82)
  def _reduce_7(val, _values, result)
     result = val[0].push val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 89)
  def _reduce_8(val, _values, result)
     result = val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 90)
  def _reduce_9(val, _values, result)
     result = aryfy(val[0]).push(val[1]).push(val[2]) 
    result
  end
.,.,

# reduce 10 omitted

module_eval(<<'.,.,', 'egrammar.ra', 95)
  def _reduce_11(val, _values, result)
     result = val[0].set(val[2])      ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 96)
  def _reduce_12(val, _values, result)
     result = val[0].plus_set(val[2]) ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 97)
  def _reduce_13(val, _values, result)
     result = val[0].minus_set(val[2]); loc result, val[1] 
    result
  end
.,.,

# reduce 14 omitted

module_eval(<<'.,.,', 'egrammar.ra', 102)
  def _reduce_15(val, _values, result)
     result = Factory.HASH_UNFOLDED([val[0]]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 106)
  def _reduce_16(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 107)
  def _reduce_17(val, _values, result)
     result = Factory.ARGUMENTS(val[0], val[2]) 
    result
  end
.,.,

# reduce 18 omitted

module_eval(<<'.,.,', 'egrammar.ra', 111)
  def _reduce_19(val, _values, result)
     result = val[0].relop(val[1][:value], val[2]); loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 112)
  def _reduce_20(val, _values, result)
     result = val[0].relop(val[1][:value], val[2]); loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 113)
  def _reduce_21(val, _values, result)
     result = val[0].relop(val[1][:value], val[2]); loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 114)
  def _reduce_22(val, _values, result)
     result = val[0].relop(val[1][:value], val[2]); loc result, val[1] 
    result
  end
.,.,

# reduce 23 omitted

module_eval(<<'.,.,', 'egrammar.ra', 123)
  def _reduce_24(val, _values, result)
          result = val[1]
      unless Factory.set_resource_form(result, 'virtual')
        # This is equivalent to a syntax error - additional semantic restrictions apply
        error val[0], "Virtual (@) can only be applied to a Resource Expression"
      end
      # relocate the result
      loc result, val[0], val[1]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 134)
  def _reduce_25(val, _values, result)
          result = val[1]
      unless Factory.set_resource_form(result, 'exported')
        # This is equivalent to a syntax error - additional semantic restrictions apply
        error val[0], "Exported (@@) can only be applied to a Resource Expression"
      end
      # relocate the result
      loc result, val[0], val[1]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 145)
  def _reduce_26(val, _values, result)
          bodies = [Factory.RESOURCE_BODY(val[2], val[4])] + val[5]
      result = Factory.RESOURCE(val[0], bodies)
      loc result, val[0], val[6]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 152)
  def _reduce_27(val, _values, result)
            result = Factory.RESOURCE(Factory.fqn(token_text(val[0])), val[2])
        loc result, val[0], val[4]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 161)
  def _reduce_28(val, _values, result)
           result = case Factory.resource_shape(val[0])
       when :resource, :class
        # This catches deprecated syntax.
        # If the attribute operations does not include +>, then the found expression
        # is actually a LEFT followed by LITERAL_HASH
        #
        unless tmp = transform_resource_wo_title(val[0], val[2], val[1], val[4])
          error val[1], "Syntax error resource body without title or hash with +>"
        end
        tmp
      when :defaults
        Factory.RESOURCE_DEFAULTS(val[0], val[2])
      when :override
        # This was only done for override in original - TODO should it be here at all
        Factory.RESOURCE_OVERRIDE(val[0], val[2])
      else
        error val[0], "Expression is not valid as a resource, resource-default, or resource-override"
      end
     loc result, val[0], val[4]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 183)
  def _reduce_29(val, _values, result)
     result = Factory.RESOURCE_BODY(val[0], val[2]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 186)
  def _reduce_30(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 187)
  def _reduce_31(val, _values, result)
     result = val[0].push val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 193)
  def _reduce_32(val, _values, result)
     result = [] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 194)
  def _reduce_33(val, _values, result)
     result = [] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 195)
  def _reduce_34(val, _values, result)
     result = val[2] 
    result
  end
.,.,

# reduce 35 omitted

# reduce 36 omitted

# reduce 37 omitted

module_eval(<<'.,.,', 'egrammar.ra', 203)
  def _reduce_38(val, _values, result)
     result = val[0].in val[2]        ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 204)
  def _reduce_39(val, _values, result)
     result = val[0] =~  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 205)
  def _reduce_40(val, _values, result)
     result = val[0].mne val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 206)
  def _reduce_41(val, _values, result)
     result = val[0] +   val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 207)
  def _reduce_42(val, _values, result)
     result = val[0] -   val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 208)
  def _reduce_43(val, _values, result)
     result = val[0] /   val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 209)
  def _reduce_44(val, _values, result)
     result = val[0] *   val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 210)
  def _reduce_45(val, _values, result)
     result = val[0] %   val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 211)
  def _reduce_46(val, _values, result)
     result = val[0] <<  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 212)
  def _reduce_47(val, _values, result)
     result = val[0] >>  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 213)
  def _reduce_48(val, _values, result)
     result = val[1].minus            ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 214)
  def _reduce_49(val, _values, result)
     result = val[1].unfold           ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 215)
  def _reduce_50(val, _values, result)
     result = val[0].ne  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 216)
  def _reduce_51(val, _values, result)
     result = val[0].eq  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 217)
  def _reduce_52(val, _values, result)
     result = val[0] >   val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 218)
  def _reduce_53(val, _values, result)
     result = val[0] >=  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 219)
  def _reduce_54(val, _values, result)
     result = val[0] <   val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 220)
  def _reduce_55(val, _values, result)
     result = val[0] <=  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 221)
  def _reduce_56(val, _values, result)
     result = val[1].not              ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 222)
  def _reduce_57(val, _values, result)
     result = val[0].and val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 223)
  def _reduce_58(val, _values, result)
     result = val[0].or  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 224)
  def _reduce_59(val, _values, result)
     result = val[0].select(*val[2])  ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 225)
  def _reduce_60(val, _values, result)
     result = val[1].paren            ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 226)
  def _reduce_61(val, _values, result)
     result = val[1].paren          ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 229)
  def _reduce_62(val, _values, result)
     result = val[0].access(val[2]); loc result, val[0], val[4] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 232)
  def _reduce_63(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 233)
  def _reduce_64(val, _values, result)
     result = Factory.ARGUMENTS(val[0], val[2]) 
    result
  end
.,.,

# reduce 65 omitted

module_eval(<<'.,.,', 'egrammar.ra', 237)
  def _reduce_66(val, _values, result)
     result = Factory.HASH_UNFOLDED([val[0]]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 246)
  def _reduce_67(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 247)
  def _reduce_68(val, _values, result)
     result = val[0].push(val[2]) 
    result
  end
.,.,

# reduce 69 omitted

# reduce 70 omitted

# reduce 71 omitted

# reduce 72 omitted

# reduce 73 omitted

# reduce 74 omitted

# reduce 75 omitted

# reduce 76 omitted

# reduce 77 omitted

# reduce 78 omitted

# reduce 79 omitted

# reduce 80 omitted

# reduce 81 omitted

# reduce 82 omitted

# reduce 83 omitted

# reduce 84 omitted

# reduce 85 omitted

# reduce 86 omitted

# reduce 87 omitted

# reduce 88 omitted

# reduce 89 omitted

module_eval(<<'.,.,', 'egrammar.ra', 271)
  def _reduce_90(val, _values, result)
     result = Factory.NUMBER(val[0][:value])          ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 272)
  def _reduce_91(val, _values, result)
     result = Factory.literal(val[0][:value])         ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 273)
  def _reduce_92(val, _values, result)
     result = Factory.literal(:default)               ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 274)
  def _reduce_93(val, _values, result)
     result = Factory.literal(:undef)                 ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 275)
  def _reduce_94(val, _values, result)
     result = Factory.QNAME_OR_NUMBER(val[0][:value]) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 284)
  def _reduce_95(val, _values, result)
          result = Factory.CALL_NAMED(val[0], true, val[1])
      loc result, val[0], val[3]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 288)
  def _reduce_96(val, _values, result)
          result = Factory.CALL_NAMED(val[0], true, [])
      loc result, val[0], val[1]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 292)
  def _reduce_97(val, _values, result)
          result = Factory.CALL_NAMED(val[0], true, val[1])
      loc result, val[0], val[4]
      result.lambda = val[4]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 297)
  def _reduce_98(val, _values, result)
          result = Factory.CALL_NAMED(val[0], true, [])
      loc result, val[0], val[2]
      result.lambda = val[2]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 303)
  def _reduce_99(val, _values, result)
     result = val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 304)
  def _reduce_100(val, _values, result)
     result = Factory.QNAME(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 309)
  def _reduce_101(val, _values, result)
     result = val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 310)
  def _reduce_102(val, _values, result)
     result = val[0]; val[0].lambda = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 313)
  def _reduce_103(val, _values, result)
     result = Factory.CALL_METHOD(val[0], val[2]); loc result, val[1], val[3] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 314)
  def _reduce_104(val, _values, result)
     result = Factory.CALL_METHOD(val[0], []); loc result, val[1], val[3] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 315)
  def _reduce_105(val, _values, result)
     result = Factory.CALL_METHOD(val[0], []); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 319)
  def _reduce_106(val, _values, result)
            result = val[0].dot(Factory.fqn(val[2][:value]))
        loc result, val[1], val[2]
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 323)
  def _reduce_107(val, _values, result)
            result = val[0].dot(Factory.fqn(val[2][:value]))
        loc result, val[1], val[2]
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 331)
  def _reduce_108(val, _values, result)
          result = Factory.LAMBDA(val[0][:value], val[2][:value], val[1])
      loc result, val[0][:start], val[2][:end]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 336)
  def _reduce_109(val, _values, result)
     result = {:end => val[2], :value =>val[1] } 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 337)
  def _reduce_110(val, _values, result)
     result = {:end => val[1], :value => nil } 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 341)
  def _reduce_111(val, _values, result)
     result = {:start => val[0], :value => [] } 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 342)
  def _reduce_112(val, _values, result)
     result = {:start => val[0], :value => val[1] } 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 350)
  def _reduce_113(val, _values, result)
          result = val[1]
      loc(result, val[0], val[1])
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 357)
  def _reduce_114(val, _values, result)
            result = Factory.IF(val[0], Factory.block_or_expression(val[2], val[1], val[3]), val[4])
        loc(result, val[0], (val[4] ? val[4] : val[3]))
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 361)
  def _reduce_115(val, _values, result)
            result = Factory.IF(val[0], nil, val[3])
        loc(result, val[0], (val[3] ? val[3] : val[2]))
      
    result
  end
.,.,

# reduce 116 omitted

module_eval(<<'.,.,', 'egrammar.ra', 369)
  def _reduce_117(val, _values, result)
            result = val[1]
        loc(result, val[0], val[1])
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 373)
  def _reduce_118(val, _values, result)
            result = Factory.block_or_expression(val[2], val[1], val[3])
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 376)
  def _reduce_119(val, _values, result)
            result = nil # don't think a nop is needed here either
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 383)
  def _reduce_120(val, _values, result)
          result = Factory.UNLESS(val[1], Factory.block_or_expression(val[3], val[2], val[4]), val[5])
      loc result, val[0], val[4]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 387)
  def _reduce_121(val, _values, result)
          result = Factory.UNLESS(val[1], nil, val[4])
      loc result, val[0], val[4]
    
    result
  end
.,.,

# reduce 122 omitted

module_eval(<<'.,.,', 'egrammar.ra', 397)
  def _reduce_123(val, _values, result)
            result = Factory.block_or_expression(val[2], val[1], val[3])
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 400)
  def _reduce_124(val, _values, result)
            result = nil # don't think a nop is needed here either
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 407)
  def _reduce_125(val, _values, result)
          result = Factory.CASE(val[1], *val[3])
      loc result, val[0], val[4]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 413)
  def _reduce_126(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 414)
  def _reduce_127(val, _values, result)
     result = val[0].push val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 419)
  def _reduce_128(val, _values, result)
            result = Factory.WHEN(val[0], val[3]); loc result, val[1], val[4]
      
    result
  end
.,.,

# reduce 129 omitted

# reduce 130 omitted

# reduce 131 omitted

module_eval(<<'.,.,', 'egrammar.ra', 435)
  def _reduce_132(val, _values, result)
            result = val[1]
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 440)
  def _reduce_133(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 441)
  def _reduce_134(val, _values, result)
     result = val[0].push val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 446)
  def _reduce_135(val, _values, result)
     result = Factory.MAP(val[0], val[2]) ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 456)
  def _reduce_136(val, _values, result)
          result = Factory.COLLECT(val[0], val[1], val[3])
      loc result, val[0], val[5]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 460)
  def _reduce_137(val, _values, result)
          result = Factory.COLLECT(val[0], val[1], [])
      loc result, val[0], val[1]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 465)
  def _reduce_138(val, _values, result)
     result = Factory.VIRTUAL_QUERY(val[1])   ; loc result, val[0], val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 466)
  def _reduce_139(val, _values, result)
     result = Factory.EXPORTED_QUERY(val[1])  ; loc result, val[0], val[2] 
    result
  end
.,.,

# reduce 140 omitted

# reduce 141 omitted

module_eval(<<'.,.,', 'egrammar.ra', 475)
  def _reduce_142(val, _values, result)
     result = [] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 476)
  def _reduce_143(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 477)
  def _reduce_144(val, _values, result)
     result = val[0].push(val[2]) 
    result
  end
.,.,

# reduce 145 omitted

# reduce 146 omitted

module_eval(<<'.,.,', 'egrammar.ra', 492)
  def _reduce_147(val, _values, result)
            result = Factory.ATTRIBUTE_OP(val[0][:value], '=>', val[2])
        loc result, val[0], val[2]
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 496)
  def _reduce_148(val, _values, result)
            result = Factory.ATTRIBUTE_OP(val[0][:value], '+>', val[2])
        loc result, val[0], val[2]
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 500)
  def _reduce_149(val, _values, result)
          result = Factory.ATTRIBUTES_OP(val[2]) ; loc result, val[0], val[2]
   
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 509)
  def _reduce_150(val, _values, result)
          definition = Factory.DEFINITION(classname(val[1][:value]), val[2], val[4])
      loc(definition, val[0], val[5])
      result = add_definition(definition)
      # New lexer does not keep track of this, this is done in validation
      if @lexer.respond_to?(:'indefine=')
        @lexer.indefine = false
      end
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 521)
  def _reduce_151(val, _values, result)
          # Remove this plan's name from the namestack as all nested plans have been parsed
      namepop
      definition = Factory.PLAN(classname(val[1][:value]), val[2], val[4])
      loc(definition, val[0], val[5])
      result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 530)
  def _reduce_152(val, _values, result)
          result = Factory.APPLY(val[2], Factory.APPLY_BLOCK(val[6]))
      loc result, val[0], val[7]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 534)
  def _reduce_153(val, _values, result)
          result = Factory.APPLY(val[2], Factory.APPLY_BLOCK([]))
      loc result, val[0], val[6]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 544)
  def _reduce_154(val, _values, result)
          # Remove this class' name from the namestack as all nested classes have been parsed
      namepop
      definition = Factory.HOSTCLASS(classname(val[1][:value]), val[2], token_text(val[3]), val[5])
      loc(definition, val[0], val[6])
      result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 555)
  def _reduce_155(val, _values, result)
     namestack(val[0][:value]) ; result = val[0] 
    result
  end
.,.,

# reduce 156 omitted

# reduce 157 omitted

# reduce 158 omitted

module_eval(<<'.,.,', 'egrammar.ra', 564)
  def _reduce_159(val, _values, result)
     result = val[1] 
    result
  end
.,.,

# reduce 160 omitted

# reduce 161 omitted

module_eval(<<'.,.,', 'egrammar.ra', 581)
  def _reduce_162(val, _values, result)
          definition = Factory.NODE(val[1], val[3], val[5])
      loc(definition, val[0], val[6])
      result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 586)
  def _reduce_163(val, _values, result)
          definition = Factory.NODE(val[1], val[3], nil)
      loc(definition, val[0], val[5])
      result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 597)
  def _reduce_164(val, _values, result)
     result = [result] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 598)
  def _reduce_165(val, _values, result)
     result = val[0].push(val[2]) 
    result
  end
.,.,

# reduce 166 omitted

# reduce 167 omitted

module_eval(<<'.,.,', 'egrammar.ra', 605)
  def _reduce_168(val, _values, result)
     result = Factory.literal(:default); loc result, val[0] 
    result
  end
.,.,

# reduce 169 omitted

module_eval(<<'.,.,', 'egrammar.ra', 609)
  def _reduce_170(val, _values, result)
     result = Factory.literal(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 610)
  def _reduce_171(val, _values, result)
     result = Factory.concat(val[0], '.', val[2][:value]); loc result, val[0], val[2] 
    result
  end
.,.,

# reduce 172 omitted

# reduce 173 omitted

# reduce 174 omitted

module_eval(<<'.,.,', 'egrammar.ra', 619)
  def _reduce_175(val, _values, result)
     result = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 625)
  def _reduce_176(val, _values, result)
          definition = Factory.FUNCTION(val[1][:value], val[2], val[5], val[3])
      loc(definition, val[0], val[6])
      result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 631)
  def _reduce_177(val, _values, result)
     result = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 632)
  def _reduce_178(val, _values, result)
     result = val[1].access(val[3]) ; loc result, val[1], val[4] 
    result
  end
.,.,

# reduce 179 omitted

# reduce 180 omitted

# reduce 181 omitted

# reduce 182 omitted

module_eval(<<'.,.,', 'egrammar.ra', 642)
  def _reduce_183(val, _values, result)
     error val[0], "'class' keyword not allowed at this location" 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 643)
  def _reduce_184(val, _values, result)
     error val[0], "A quoted string is not valid as a name here" 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 647)
  def _reduce_185(val, _values, result)
     result = [] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 648)
  def _reduce_186(val, _values, result)
     result = [] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 649)
  def _reduce_187(val, _values, result)
     result = [] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 650)
  def _reduce_188(val, _values, result)
     result = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 651)
  def _reduce_189(val, _values, result)
     result = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 655)
  def _reduce_190(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 656)
  def _reduce_191(val, _values, result)
     result = val[0].push(val[2]) 
    result
  end
.,.,

# reduce 192 omitted

# reduce 193 omitted

# reduce 194 omitted

# reduce 195 omitted

module_eval(<<'.,.,', 'egrammar.ra', 668)
  def _reduce_196(val, _values, result)
     result = Factory.PARAM(val[0][:value], val[2]) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 669)
  def _reduce_197(val, _values, result)
     result = Factory.PARAM(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 672)
  def _reduce_198(val, _values, result)
     result = val[1]; val[1].captures_rest 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 675)
  def _reduce_199(val, _values, result)
     val[1].type_expr(val[0]) ; result = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 678)
  def _reduce_200(val, _values, result)
     result = val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 679)
  def _reduce_201(val, _values, result)
     result = val[0].access(val[2]) ; loc result, val[0], val[3] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 684)
  def _reduce_202(val, _values, result)
          definition = Factory.TYPE_ASSIGNMENT(val[0], Factory.KEY_ENTRY(val[2], val[3]))
      loc(definition, val[0], val[3])
      result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 689)
  def _reduce_203(val, _values, result)
          definition = Factory.TYPE_ASSIGNMENT(val[0], val[2].access(val[4]))
      loc(definition, val[0], val[5])
      result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 694)
  def _reduce_204(val, _values, result)
          definition = Factory.TYPE_ASSIGNMENT(val[0], val[2])
      loc(definition, val[0], val[2])
      result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 699)
  def _reduce_205(val, _values, result)
          definition = Factory.TYPE_ASSIGNMENT(val[0], val[2])
      loc(definition, val[0], val[2])
      result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 704)
  def _reduce_206(val, _values, result)
          definition = Factory.TYPE_ASSIGNMENT(val[0], val[2])
      loc(definition, val[0], val[4])
      result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 710)
  def _reduce_207(val, _values, result)
     result = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 716)
  def _reduce_208(val, _values, result)
            definition = Factory.TYPE_DEFINITION(val[1][:value], nil, val[3])
        loc(definition, val[0], val[4])
        result = add_definition(definition)
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 721)
  def _reduce_209(val, _values, result)
            definition = Factory.TYPE_DEFINITION(val[1][:value], val[3][:value], val[5])
        loc(definition, val[0], val[6])
        result = add_definition(definition)
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 730)
  def _reduce_210(val, _values, result)
         fqn = Factory.fqn(val[0][:value])
     loc(fqn, val[0])
     fqn['offset'] += 1
     fqn['length'] -= 1
     result = fqn.var
     loc(result, val[0])
  
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 741)
  def _reduce_211(val, _values, result)
     result = Factory.RESERVED(val[0][:value]) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 742)
  def _reduce_212(val, _values, result)
     result = Factory.RESERVED(val[0][:value]) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 748)
  def _reduce_213(val, _values, result)
     result = Factory.LIST(val[1]); loc result, val[0], val[3] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 749)
  def _reduce_214(val, _values, result)
     result = Factory.literal([]) ; loc result, val[0], val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 750)
  def _reduce_215(val, _values, result)
     result = Factory.LIST(val[1]); loc result, val[0], val[3] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 751)
  def _reduce_216(val, _values, result)
     result = Factory.literal([]) ; loc result, val[0], val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 754)
  def _reduce_217(val, _values, result)
     result = Factory.HASH(val[1]); loc result, val[0], val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 755)
  def _reduce_218(val, _values, result)
     result = Factory.HASH(val[1]); loc result, val[0], val[3] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 756)
  def _reduce_219(val, _values, result)
     result = Factory.literal({}) ; loc result, val[0], val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 759)
  def _reduce_220(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 760)
  def _reduce_221(val, _values, result)
     result = val[0].push val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 763)
  def _reduce_222(val, _values, result)
     result = Factory.KEY_ENTRY(val[0], val[2]); loc result, val[1] 
    result
  end
.,.,

# reduce 223 omitted

module_eval(<<'.,.,', 'egrammar.ra', 767)
  def _reduce_224(val, _values, result)
     result = Factory.literal(val[0][:value]) ; loc result, val[0] 
    result
  end
.,.,

# reduce 225 omitted

module_eval(<<'.,.,', 'egrammar.ra', 772)
  def _reduce_226(val, _values, result)
     result = Factory.literal(val[0][:value]) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 775)
  def _reduce_227(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 776)
  def _reduce_228(val, _values, result)
     result = Factory.ARGUMENTS(val[0], val[2]) 
    result
  end
.,.,

# reduce 229 omitted

# reduce 230 omitted

# reduce 231 omitted

# reduce 232 omitted

# reduce 233 omitted

module_eval(<<'.,.,', 'egrammar.ra', 789)
  def _reduce_234(val, _values, result)
     result = Factory.literal(val[0][:value]) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 790)
  def _reduce_235(val, _values, result)
     result = Factory.literal(val[0][:value]) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 792)
  def _reduce_236(val, _values, result)
     result = Factory.STRING(val[0], *val[1]) ; loc result, val[0], val[1][-1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 793)
  def _reduce_237(val, _values, result)
     result = Factory.literal(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 794)
  def _reduce_238(val, _values, result)
     result = Factory.literal(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 795)
  def _reduce_239(val, _values, result)
     result = Factory.literal(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 796)
  def _reduce_240(val, _values, result)
     result = [val[0]] + val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 797)
  def _reduce_241(val, _values, result)
     result = Factory.TEXT(val[0]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 800)
  def _reduce_242(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 801)
  def _reduce_243(val, _values, result)
     result = [val[0]] + val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 804)
  def _reduce_244(val, _values, result)
     result = Factory.HEREDOC(val[0][:value], val[1]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 807)
  def _reduce_245(val, _values, result)
     result = Factory.SUBLOCATE(val[0], val[1]); 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 808)
  def _reduce_246(val, _values, result)
     result = Factory.SUBLOCATE(val[0], val[1]); 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 811)
  def _reduce_247(val, _values, result)
     result = Factory.EPP(val[1], val[2]); loc result, val[0] 
    result
  end
.,.,

# reduce 248 omitted

# reduce 249 omitted

module_eval(<<'.,.,', 'egrammar.ra', 818)
  def _reduce_250(val, _values, result)
     result = nil 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 819)
  def _reduce_251(val, _values, result)
     result = [] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 820)
  def _reduce_252(val, _values, result)
     result = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 823)
  def _reduce_253(val, _values, result)
     result = Factory.RENDER_STRING(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 824)
  def _reduce_254(val, _values, result)
     result = Factory.RENDER_EXPR(val[1]); loc result, val[0], val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 825)
  def _reduce_255(val, _values, result)
     result = Factory.RENDER_EXPR(Factory.block_or_expression(val[2], val[1], val[3])); loc result, val[0], val[4] 
    result
  end
.,.,

# reduce 256 omitted

# reduce 257 omitted

module_eval(<<'.,.,', 'egrammar.ra', 831)
  def _reduce_258(val, _values, result)
     result = Factory.QREF(val[0][:value])  ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 834)
  def _reduce_259(val, _values, result)
     result = Factory.literal(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

# reduce 260 omitted

module_eval(<<'.,.,', 'egrammar.ra', 840)
  def _reduce_261(val, _values, result)
     result = nil 
    result
  end
.,.,

# reduce 262 omitted

# reduce 263 omitted

# reduce 264 omitted

# reduce 265 omitted

# reduce 266 omitted

# reduce 267 omitted

# reduce 268 omitted

# reduce 269 omitted

# reduce 270 omitted

# reduce 271 omitted

# reduce 272 omitted

# reduce 273 omitted

# reduce 274 omitted

# reduce 275 omitted

# reduce 276 omitted

# reduce 277 omitted

# reduce 278 omitted

# reduce 279 omitted

# reduce 280 omitted

# reduce 281 omitted

module_eval(<<'.,.,', 'egrammar.ra', 867)
  def _reduce_282(val, _values, result)
     result = nil
    result
  end
.,.,

def _reduce_none(val, _values, result)
  val[0]
end

      end   # class Parser
      end   # module Parser
    end   # module Pops
  end   # module Puppet
