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

require 'racc/parser.rb'

require 'puppet'
require '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', 765)

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

clist = [
'61,64,331,-248,62,56,289,57,-247,83,-250,-249,247,141,286,387,332,406',
'383,-133,382,-132,289,104,18,107,288,102,103,161,42,289,45,248,47,12',
'-131,46,36,39,347,44,37,10,11,-248,142,69,17,106,-247,38,-250,-249,15',
'16,287,87,88,90,89,-133,70,-132,85,86,-236,-245,43,278,279,84,35,65',
'-129,67,68,66,-131,348,48,49,51,50,52,53,54,61,64,55,263,62,56,264,57',
'91,83,61,64,260,383,62,382,267,266,313,284,326,-236,-245,104,18,107',
'265,102,103,-129,42,247,45,354,47,121,82,46,36,39,247,44,37,356,69,82',
'82,69,17,106,82,38,248,69,15,16,74,87,88,90,89,248,70,343,85,86,240',
'340,43,364,365,84,35,65,284,67,68,285,367,265,48,49,51,50,52,53,54,61',
'64,55,314,62,56,370,57,91,83,260,326,375,376,316,260,259,258,380,320',
'384,386,330,104,18,107,114,102,103,236,42,239,45,393,47,12,237,46,36',
'39,72,44,37,10,11,395,247,69,17,106,284,38,236,82,15,16,82,119,226,90',
'89,113,70,225,85,86,114,399,43,115,74,84,35,65,127,67,68,402,284,127',
'48,49,51,50,52,53,54,61,64,55,405,62,56,158,57,91,83,119,327,326,156',
'113,409,386,411,412,116,117,118,115,104,18,107,413,102,103,128,42,416',
'45,417,47,12,321,46,36,39,418,44,37,10,11,247,127,69,17,106,82,38,74',
'426,15,16,71,428,69,116,117,118,70,429,430,114,248,316,43,,,114,35,65',
'110,67,68,247,,,48,49,51,50,52,53,54,61,64,55,69,62,56,,57,334,119,',
'248,,113,,119,,,114,113,,115,,,18,276,,115,,,42,,45,,47,12,,46,36,39',
',44,37,10,11,,,69,17,119,,38,,113,15,16,373,,116,117,118,115,70,,116',
'117,118,,43,,114,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62',
'56,,57,422,83,,116,117,118,119,,,,113,,,,,104,18,107,115,102,103,,42',
',45,,47,12,,46,36,39,,44,37,10,11,,,69,17,106,,38,,,15,16,75,76,77,',
',,70,116,117,118,,,43,,,84,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64',
'55,,62,56,,57,336,83,,,,,,,,,78,80,79,81,,104,18,107,,102,103,,42,,45',
',47,12,,46,36,39,,44,37,10,11,,,69,17,106,,38,,,15,16,,,,90,89,,70,',
'85,86,,,43,,,84,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56',
',57,91,83,,,,,,,,,,,,,,104,18,107,,102,103,,42,,45,,47,12,,46,36,39',
',44,37,10,11,,,69,17,106,,38,,,15,16,,,,,,,70,,85,86,,,43,,,84,35,65',
',67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,,83,,,,,,,,,,,,,',
'104,18,107,,102,103,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,69,17,106',
',38,,,15,16,,,,,,,70,,85,86,,,43,,,84,35,65,,67,68,,,,48,49,51,50,52',
'53,54,61,64,55,83,62,56,,57,,83,,,,,,,,104,,107,,102,103,104,18,107',
',102,103,,42,,45,,47,121,,46,36,39,,44,37,106,,,,69,17,106,,38,,,15',
'16,,,85,86,,,70,,,84,,,43,,,84,35,65,,67,68,,,,48,49,51,50,52,53,54',
'61,64,55,83,62,56,,57,,83,,,,,,,,104,,107,,102,103,104,18,107,,102,103',
',42,,45,,47,121,,46,36,39,,44,37,106,,,,69,17,106,,38,,,15,16,,,,,,',
'70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,83,62,56',
',57,,,,,,,,,,104,,107,,102,103,,18,,,,,,42,,45,,47,121,,46,36,39,,44',
'37,106,,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48',
'49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45',
',47,121,,46,36,39,,44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,',
'35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,',
',,,,,18,,,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,69,17,,,38,,,15',
'16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55',
',62,56,,57,420,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,12,,46,36,39,,44,37',
'10,11,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49',
'51,50,52,53,54,61,64,55,,62,56,,57,415,,,,,,,,,,,,,,,,18,,,,,,42,,45',
',47,12,,46,36,39,,44,37,10,11,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43',
',,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,',
',,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39,,44,37,,,,,69,17,,,38,,,15',
'16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55',
',62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39,,44,37,',
',,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50',
'52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121',
',46,36,39,,44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67',
'68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,',
',,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,69,17,,,38,,,15,16,,,,,,,70',
',,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57',
'349,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,69',
'17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53',
'54,61,64,55,,62,56,145,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,12,,46',
'36,39,,44,37,10,11,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67',
'68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,147,57,,,,,,,,,,,,,,,,,18',
',,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,69,17,,,38,,,15,16,,,,,',
',70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56',
',57,149,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,12,,46,36,39,,44,37,10,11',
',,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50',
'52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,12,',
'46,36,39,,44,37,10,11,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65',
',67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18',
',,,,,42,,45,,47,121,,46,36,39,,44,37,,,,,69,17,,,38,,,15,16,,,,,,,70',
',,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57',
',,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39,,44,37,,,,,69,17,,',
'38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54',
'61,64,55,,62,56,,160,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39',
',44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48',
'49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45',
',47,12,,46,36,39,,44,37,10,11,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43',
',,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,',
',,,,,,,,18,,,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,69,17,,,38,,',
'15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64',
'55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39,,44,37',
',,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51',
'50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,12',
',46,36,39,,44,37,10,11,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65',
',67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18',
',,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,69,17,,,38,,,15,16,,,,,',
',70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56',
',57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,69',
'17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53',
'54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,12,,46,36',
'39,,44,37,10,11,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68',
',,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,',
'42,,45,,47,12,,46,36,39,,44,37,10,11,,,69,17,,,38,,,15,16,,,,,,,70,',
',,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,',
',,,,,,,,,,,,,,,18,,,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,69,17',
',,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54',
'61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39',
',44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48',
'49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45',
',47,12,,46,36,39,,44,37,10,11,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43',
',,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,',
',,,,,,,,18,,,,,,177,194,186,195,47,187,197,188,36,176,,179,174,,,,,69',
'17,198,193,175,,,15,173,,,,,,,70,,,,,196,178,,,,35,65,,67,68,,,,189',
'190,192,191,182,183,184,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,',
'42,,45,,47,121,,46,36,39,,44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,,,,',
',43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,',
',,,,,,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39,,44,37,,,,,69,17,,,38,',
',15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64',
'55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39,,44,37',
',,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51',
'50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121',
',46,36,39,,44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67',
'68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,',
',,,42,,45,,47,121,,46,36,39,,44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,',
',,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,',
',,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39,,44,37,,,,,69,17,,,38',
',,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61',
'64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39,,44',
'37,,,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49',
'51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47',
'121,,46,36,39,,44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65',
',67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18',
',,,,,42,,45,,47,121,,46,36,39,,44,37,,,,,69,17,,,38,,,15,16,,,,,,,70',
',,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57',
',,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39,,44,37,,,,,69,17,,',
'38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54',
'61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39',
',44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48',
'49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45',
',47,121,,46,36,39,,44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,',
'35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,',
',,,,,18,,,,,,42,,45,,47,121,,46,36,39,,44,37,,,,,69,17,,,38,,,15,16',
',,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62',
'56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39,,44,37,,,,,69',
'17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53',
'54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121,,46,36',
'39,,44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,',
',48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42',
',45,,47,121,,46,36,39,,44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43',
',,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,',
',,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39,,44,37,,,,,69,17,,,38,,,15',
'16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55',
',62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39,,44,37,',
',,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50',
'52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121',
',46,36,39,,44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67',
'68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,',
',,,42,,45,,47,121,,46,36,39,,44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,',
',,,,43,,,222,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57',
',,,,,,,,,,,,,,,,18,224,,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,69',
'17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53',
'54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,12,,46,36',
'39,,44,37,10,11,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68',
',,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,',
'42,,45,,47,121,,46,36,39,,44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,,,,',
',43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,',
',,,,,,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39,,44,37,,,,,69,17,,,38,',
',15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64',
'55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39,,44,37',
',,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51',
'50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121',
',46,36,39,,44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67',
'68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,',
',,,42,,45,,47,121,,46,36,39,,44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,',
',,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,',
',,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39,,44,37,,,,,69,17,,,38',
',,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61',
'64,55,,62,56,,57,,,285,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39',
',44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48',
'49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45',
',47,12,,46,36,39,,44,37,10,11,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43',
',,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,',
',,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39,,44,37,,,,,69,17,,,38,,,15',
'16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55',
',62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39,,44,37,',
',,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50',
'52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121',
',46,36,39,,44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67',
'68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,149,,,,,,,,,,,,,,,,18',
',,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,69,17,,,38,,,15,16,,,,,',
',70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56',
',57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,69',
'17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53',
'54,61,64,55,,62,56,,57,324,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,12,,46',
'36,39,,44,37,10,11,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67',
'68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,252',
',,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,69,17,,,38,,,15,16,,,,,,',
'70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,',
'57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,69',
'17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53',
'54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,121,,46,36',
'39,,44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,',
',48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42',
',45,,47,121,,46,36,39,,44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43',
',,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,388,,,,',
',,,,,,,,,,,18,,,,,,42,,45,,47,121,,46,36,39,,44,37,,,,,69,17,,,38,,',
'15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64',
'55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,12,,46,36,39,,44,37',
'10,11,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65,,67,68,,,,48,49',
'51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47',
'121,,46,36,39,,44,37,,,,,69,17,,,38,,,15,16,,,,,,,70,,,,,,43,,,,35,65',
',67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57,,,,,,,,,,,,,,,,,18',
',,,,,42,,45,,47,121,,46,36,39,,44,37,,,,,69,17,,,38,,,15,16,,,,,,,70',
',,,,,43,,,,35,65,,67,68,,,,48,49,51,50,52,53,54,61,64,55,,62,56,,57',
',,,,,,,,,,,,,,,,18,61,64,,,62,42,,45,,47,12,,46,36,39,,44,37,10,11,',
',69,17,,,38,,,15,16,,,,,,,70,,141,,,138,43,,,,35,65,83,67,68,,,,48,49',
'51,50,52,53,54,70,104,55,107,83,102,103,,,,142,65,,,,,,,104,,107,,102',
'103,,,,106,,,,,,,,87,88,90,89,92,93,,85,86,106,,,,,84,,,87,88,90,89',
'92,93,,85,86,,83,,255,,84,,,,,,,91,99,94,104,,107,,102,103,,95,97,96',
'98,,61,64,91,,62,,,,,,,,,,106,,,,101,100,,,87,88,90,89,92,93,,85,86',
'83,,254,,,84,,,141,,,138,99,94,104,,107,,102,103,,95,97,96,98,,61,64',
',91,62,70,,,,,,,,,106,142,65,,101,100,,,87,88,90,89,92,93,,85,86,83',
',253,,,84,,,141,,,138,99,94,104,,107,,102,103,,95,97,96,98,,,,,91,,70',
',,,,,,,,106,142,65,,101,100,,,87,88,90,89,92,93,83,85,86,,,,,,84,,,',
'99,94,104,317,107,,102,103,,95,97,96,98,,,,,,,,91,,,,,,,,106,,,,101',
'100,,83,87,88,90,89,92,93,,85,86,,,99,94,104,84,107,,102,103,,95,97',
'96,98,,,,,,,,,,,,,,,91,106,,,,101,100,,83,87,88,90,89,92,93,,85,86,',
',99,94,104,84,107,83,102,103,,95,97,96,98,,278,279,,,94,104,,107,,102',
'103,,95,91,106,,,,101,100,,,87,88,90,89,92,93,,85,86,106,,,,,84,,,87',
'88,90,89,92,93,,85,86,,83,,,,84,,,,,,,91,99,94,104,282,107,,102,103',
',95,97,96,98,,,,91,,,,,,,,,,,,106,,,,101,100,,83,87,88,90,89,92,93,',
'85,86,,,99,94,104,84,107,,102,103,,95,97,96,98,,,,,,,,,,,,,,,91,106',
',,,101,100,,83,87,88,90,89,92,93,,85,86,,,99,94,104,84,107,,102,103',
',95,97,96,98,,,,,,,,,,,,,,,91,106,,,,101,100,,83,87,88,90,89,92,93,',
'85,86,,,99,94,104,84,107,,102,103,,95,97,96,98,,,,,,,,,,,,,,,91,106',
',,,101,100,,83,87,88,90,89,92,93,,85,86,,,99,94,104,84,107,83,102,103',
',95,97,96,98,,,,,,94,104,,107,,102,103,,95,91,106,,,,101,100,,,87,88',
'90,89,92,93,,85,86,106,,,,,84,,,87,88,90,89,92,93,83,85,86,,,,,,84,',
',,99,94,104,91,107,,102,103,,95,97,96,98,,,,,,,,91,,,,,,,,106,,,,101',
'100,,83,87,88,90,89,92,93,,85,86,,,99,94,104,84,107,,102,103,,95,97',
'96,98,,,,,,,,,,,,,,,91,106,,,,101,100,,83,87,88,90,89,92,93,,85,86,',
',99,94,104,84,107,83,102,103,,95,97,96,98,,,,,,94,104,,107,,102,103',
',95,91,106,,,,101,100,,,87,88,90,89,92,93,,85,86,106,,,,,84,,,87,88',
'90,89,92,93,83,85,86,,,,,,84,,,,99,94,104,91,107,,102,103,,95,97,96',
'98,,,,,,,,91,,,,,,,,106,,,,,,,,87,88,90,89,92,93,83,85,86,,,290,,,84',
',,,99,94,104,,107,,102,103,,95,97,96,98,,,,,,,,91,,,,,,,,106,,,,101',
'100,,83,87,88,90,89,92,93,,85,86,,,99,94,104,84,107,83,102,103,,95,97',
'96,98,,,,,,94,104,,107,,102,103,,95,91,106,,,,,100,,,87,88,90,89,92',
'93,,85,86,106,,,,,84,,,87,88,90,89,92,93,83,85,86,,,,,,84,,,,99,94,104',
'91,107,,102,103,,95,97,96,98,61,64,,,62,,,91,,,,,,,,106,,,,101,100,',
',87,88,90,89,92,93,,85,86,,,,,,84,,141,,,138,,305,194,304,195,,302,197',
'306,,296,,301,303,,,,,91,70,198,193,307,,,,300,,,142,65,,,,,,,,196,308',
',,,,,,,,,,,311,312,310,309,297,298,299,305,194,304,195,,302,197,306',
',296,,301,303,,,,,,,198,193,307,,,,300,,,,,,,,,,,,196,308,,,,,,,,,,',
',311,312,310,309,297,298,299,305,194,304,195,,302,197,306,,296,,301',
'303,,,,,,,198,193,307,,,,300,,,,,,,,,,,,196,308,,,,,,,,,,,,311,312,310',
'309,297,298,299,305,194,304,195,,302,197,306,,296,,301,303,,,,,,,198',
'193,307,,,,300,,,,,,,,,,,,196,308,,,,,,,,,,,,311,312,310,309,297,298',
'299' ]
        racc_action_table = arr = ::Array.new(8687, 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 = [
'0,0,251,192,0,0,337,0,191,210,190,189,249,259,185,337,251,379,380,184',
'380,183,379,210,0,210,200,210,210,71,0,200,0,249,0,0,182,0,0,0,261,0',
'0,0,0,192,259,0,0,210,191,0,190,189,0,0,185,210,210,210,210,184,0,183',
'210,210,174,175,0,354,354,210,0,0,176,0,0,0,182,262,0,0,0,0,0,0,0,417',
'417,0,148,417,417,148,417,210,209,156,156,223,334,156,334,153,153,228',
'172,275,174,175,209,417,209,280,209,209,176,417,127,417,281,417,417',
'170,417,417,417,326,417,417,283,127,169,168,417,417,209,167,417,127',
'326,417,417,162,209,209,209,209,326,417,257,209,209,127,256,417,291',
'293,209,417,417,295,417,417,300,315,151,417,417,417,417,417,417,417',
'4,4,417,230,4,4,318,4,209,205,146,322,323,325,231,144,136,134,333,234',
'335,336,250,205,4,205,121,205,205,133,4,126,4,341,4,4,124,4,4,4,4,4',
'4,4,4,353,248,4,4,205,355,4,111,109,4,4,108,121,105,205,205,121,4,104',
'205,205,187,363,4,121,73,205,4,4,365,4,4,366,369,224,4,4,4,4,4,4,4,412',
'412,4,374,412,412,66,412,205,120,187,247,241,65,187,383,384,386,387',
'121,121,121,187,120,412,120,390,120,120,41,412,397,412,398,412,412,236',
'412,412,412,404,412,412,412,412,236,40,412,412,120,8,412,5,414,412,412',
'1,419,236,187,187,187,412,421,423,186,236,427,412,,,12,412,412,12,412',
'412,158,,,412,412,412,412,412,412,412,253,253,412,158,253,253,,253,253',
'186,,158,,186,,12,,,320,12,,186,,,253,158,,12,,,253,,253,,253,253,,253',
'253,253,,253,253,253,253,,,253,253,320,,253,,320,253,253,320,,186,186',
'186,320,253,,12,12,12,,253,,45,,253,253,,253,253,,,,253,253,253,253',
'253,253,253,411,411,253,,411,411,,411,411,202,,320,320,320,45,,,,45',
',,,,202,411,202,45,202,202,,411,,411,,411,411,,411,411,411,,411,411',
'411,411,,,411,411,202,,411,,,411,411,7,7,7,,,,411,45,45,45,,,411,,,202',
'411,411,,411,411,,,,411,411,411,411,411,411,411,254,254,411,,254,254',
',254,254,204,,,,,,,,,7,7,7,7,,204,254,204,,204,204,,254,,254,,254,254',
',254,254,254,,254,254,254,254,,,254,254,204,,254,,,254,254,,,,204,204',
',254,,204,204,,,254,,,204,254,254,,254,254,,,,254,254,254,254,254,254',
'254,10,10,254,,10,10,,10,204,208,,,,,,,,,,,,,,208,10,208,,208,208,,10',
',10,,10,10,,10,10,10,,10,10,10,10,,,10,10,208,,10,,,10,10,,,,,,,10,',
'208,208,,,10,,,208,10,10,,10,10,,,,10,10,10,10,10,10,10,11,11,10,,11',
'11,,11,,206,,,,,,,,,,,,,,206,11,206,,206,206,,11,,11,,11,11,,11,11,11',
',11,11,11,11,,,11,11,206,,11,,,11,11,,,,,,,11,,206,206,,,11,,,206,11',
'11,,11,11,,,,11,11,11,11,11,11,11,255,255,11,207,255,255,,255,,203,',
',,,,,,207,,207,,207,207,203,255,203,,203,203,,255,,255,,255,255,,255',
'255,255,,255,255,207,,,,255,255,203,,255,,,255,255,,,207,207,,,255,',
',207,,,255,,,203,255,255,,255,255,,,,255,255,255,255,255,255,255,15',
'15,255,122,15,15,,15,,201,,,,,,,,122,,122,,122,122,201,15,201,,201,201',
',15,,15,,15,15,,15,15,15,,15,15,122,,,,15,15,201,,15,,,15,15,,,,,,,15',
',,,,,15,,,,15,15,,15,15,,,,15,15,15,15,15,15,15,16,16,15,123,16,16,',
'16,,,,,,,,,,123,,123,,123,123,,16,,,,,,16,,16,,16,16,,16,16,16,,16,16',
'123,,,,16,16,,,16,,,16,16,,,,,,,16,,,,,,16,,,,16,16,,16,16,,,,16,16',
'16,16,16,16,16,17,17,16,,17,17,,17,,,,,,,,,,,,,,,,,17,,,,,,17,,17,,17',
'17,,17,17,17,,17,17,,,,,17,17,,,17,,,17,17,,,,,,,17,,,,,,17,,,,17,17',
',17,17,,,,17,17,17,17,17,17,17,18,18,17,,18,18,,18,,,,,,,,,,,,,,,,,18',
',,,,,18,,18,,18,18,,18,18,18,,18,18,18,18,,,18,18,,,18,,,18,18,,,,,',
',18,,,,,,18,,,,18,18,,18,18,,,,18,18,18,18,18,18,18,409,409,18,,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,409,409,409,393,393,409,,393,393,,393',
'393,,,,,,,,,,,,,,,,393,,,,,,393,,393,,393,393,,393,393,393,,393,393',
'393,393,,,393,393,,,393,,,393,393,,,,,,,393,,,,,,393,,,,393,393,,393',
'393,,,,393,393,393,393,393,393,393,42,42,393,,42,42,,42,,,,,,,,,,,,',
',,,,42,,,,,,42,,42,,42,42,,42,42,42,,42,42,,,,,42,42,,,42,,,42,42,,',
',,,,42,,,,,,42,,,,42,42,,42,42,,,,42,42,42,42,42,42,42,43,43,42,,43',
'43,,43,,,,,,,,,,,,,,,,,43,,,,,,43,,43,,43,43,,43,43,43,,43,43,,,,,43',
'43,,,43,,,43,43,,,,,,,43,,,,,,43,,,,43,43,,43,43,,,,43,43,43,43,43,43',
'43,44,44,43,,44,44,,44,,,,,,,,,,,,,,,,,44,,,,,,44,,44,,44,44,,44,44',
'44,,44,44,,,,,44,44,,,44,,,44,44,,,,,,,44,,,,,,44,,,,44,44,,44,44,,',
',44,44,44,44,44,44,44,260,260,44,,260,260,,260,,,,,,,,,,,,,,,,,260,',
',,,,260,,260,,260,260,,260,260,260,,260,260,260,260,,,260,260,,,260',
',,260,260,,,,,,,260,,,,,,260,,,,260,260,,260,260,,,,260,260,260,260',
'260,260,260,264,264,260,,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,264',
'55,55,264,,55,55,55,55,,,,,,,,,,,,,,,,,55,,,,,,55,,55,,55,55,,55,55',
'55,,55,55,55,55,,,55,55,,,55,,,55,55,,,,,,,55,,,,,,55,,,,55,55,,55,55',
',,,55,55,55,55,55,55,55,56,56,55,,56,56,56,56,,,,,,,,,,,,,,,,,56,,,',
',,56,,56,,56,56,,56,56,56,,56,56,56,56,,,56,56,,,56,,,56,56,,,,,,,56',
',,,,,56,,,,56,56,,56,56,,,,56,56,56,56,56,56,56,57,57,56,,57,57,,57',
'57,,,,,,,,,,,,,,,,57,,,,,,57,,57,,57,57,,57,57,57,,57,57,57,57,,,57',
'57,,,57,,,57,57,,,,,,,57,,,,,,57,,,,57,57,,57,57,,,,57,57,57,57,57,57',
'57,63,63,57,,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,382,382,63,,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,222,222,382,,222,222,,222,,,,,,,,,,,,,,,,,222,,,,,,222,,222,,222',
'222,,222,222,222,,222,222,,,,,222,222,,,222,,,222,222,,,,,,,222,,,,',
',222,,,,222,222,,222,222,,,,222,222,222,222,222,222,222,68,68,222,,68',
'68,,68,,,,,,,,,,,,,,,,,68,,,,,,68,,68,,68,68,,68,68,68,,68,68,,,,,68',
'68,,,68,,,68,68,,,,,,,68,,,,,,68,,,,68,68,,68,68,,,,68,68,68,68,68,68',
'68,370,370,68,,370,370,,370,,,,,,,,,,,,,,,,,370,,,,,,370,,370,,370,370',
',370,370,370,,370,370,370,370,,,370,370,,,370,,,370,370,,,,,,,370,,',
',,,370,,,,370,370,,370,370,,,,370,370,370,370,370,370,370,72,72,370',
',72,72,,72,,,,,,,,,,,,,,,,,72,,,,,,72,,72,,72,72,,72,72,72,,72,72,72',
'72,,,72,72,,,72,,,72,72,,,,,,,72,,,,,,72,,,,72,72,,72,72,,,,72,72,72',
'72,72,72,72,364,364,72,,364,364,,364,,,,,,,,,,,,,,,,,364,,,,,,364,,364',
',364,364,,364,364,364,,364,364,,,,,364,364,,,364,,,364,364,,,,,,,364',
',,,,,364,,,,364,364,,364,364,,,,364,364,364,364,364,364,364,74,74,364',
',74,74,,74,,,,,,,,,,,,,,,,,74,,,,,,74,,74,,74,74,,74,74,74,,74,74,74',
'74,,,74,74,,,74,,,74,74,,,,,,,74,,,,,,74,,,,74,74,,74,74,,,,74,74,74',
'74,74,74,74,75,75,74,,75,75,,75,,,,,,,,,,,,,,,,,75,,,,,,75,,75,,75,75',
',75,75,75,,75,75,75,75,,,75,75,,,75,,,75,75,,,,,,,75,,,,,,75,,,,75,75',
',75,75,,,,75,75,75,75,75,75,75,76,76,75,,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,76,76,77,77,76,,77,77',
',77,,,,,,,,,,,,,,,,,77,,,,,,77,,77,,77,77,,77,77,77,,77,77,77,77,,,77',
'77,,,77,,,77,77,,,,,,,77,,,,,,77,,,,77,77,,77,77,,,,77,77,77,77,77,77',
'77,78,78,77,,78,78,,78,,,,,,,,,,,,,,,,,78,,,,,,78,,78,,78,78,,78,78',
'78,,78,78,78,78,,,78,78,,,78,,,78,78,,,,,,,78,,,,,,78,,,,78,78,,78,78',
',,,78,78,78,78,78,78,78,79,79,78,,79,79,,79,,,,,,,,,,,,,,,,,79,,,,,',
'79,,79,,79,79,,79,79,79,,79,79,79,79,,,79,79,,,79,,,79,79,,,,,,,79,',
',,,,79,,,,79,79,,79,79,,,,79,79,79,79,79,79,79,316,316,79,,316,316,',
'316,,,,,,,,,,,,,,,,,316,,,,,,316,,316,,316,316,,316,316,316,,316,316',
',,,,316,316,,,316,,,316,316,,,,,,,316,,,,,,316,,,,316,316,,316,316,',
',,316,316,316,316,316,316,316,81,81,316,,81,81,,81,,,,,,,,,,,,,,,,,81',
',,,,,81,,81,,81,81,,81,81,81,,81,81,81,81,,,81,81,,,81,,,81,81,,,,,',
',81,,,,,,81,,,,81,81,,81,81,,,,81,81,81,81,81,81,81,82,82,81,,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,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,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,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,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,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,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,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,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,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,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,103,103,103,265,265,103,,265,265,,265,,',
',,,,,,,,,,,,,,265,,,,,,265,,265,,265,265,,265,265,265,,265,265,265,265',
',,265,265,,,265,,,265,265,,,,,,,265,,,,,,265,,,,265,265,,265,265,,,',
'265,265,265,265,265,265,265,179,179,265,,179,179,,179,,,,,,,,,,,,,,',
',,179,,,,,,179,,179,,179,179,,179,179,179,,179,179,,,,,179,179,,,179',
',,179,179,,,,,,,179,,,,,,179,,,,179,179,,179,179,,,,179,179,179,179',
'179,179,179,106,106,179,,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,178,178,107,,178,178,,178',
',,,,,,,,,,,,,,,,178,,,,,,178,,178,,178,178,,178,178,178,,178,178,,,',
',178,178,,,178,,,178,178,,,,,,,178,,,,,,178,,,,178,178,,178,178,,,,178',
'178,178,178,178,178,178,177,177,178,,177,177,,177,,,,,,,,,,,,,,,,,177',
',,,,,177,,177,,177,177,,177,177,177,,177,177,,,,,177,177,,,177,,,177',
'177,,,,,,,177,,,,,,177,,,,177,177,,177,177,,,,177,177,177,177,177,177',
'177,110,110,177,,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,173,173,110',
',173,173,,173,,,173,,,,,,,,,,,,,,173,,,,,,173,,173,,173,173,,173,173',
'173,,173,173,,,,,173,173,,,173,,,173,173,,,,,,,173,,,,,,173,,,,173,173',
',173,173,,,,173,173,173,173,173,173,173,270,270,173,,270,270,,270,,',
',,,,,,,,,,,,,,270,,,,,,270,,270,,270,270,,270,270,270,,270,270,270,270',
',,270,270,,,270,,,270,270,,,,,,,270,,,,,,270,,,,270,270,,270,270,,,',
'270,270,270,270,270,270,270,285,285,270,,285,285,,285,,,,,,,,,,,,,,',
',,285,,,,,,285,,285,,285,285,,285,285,285,,285,285,,,,,285,285,,,285',
',,285,285,,,,,,,285,,,,,,285,,,,285,285,,285,285,,,,285,285,285,285',
'285,285,285,286,286,285,,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,160,160,287,,160,160,,160',
'160,,,,,,,,,,,,,,,,160,,,,,,160,,160,,160,160,,160,160,160,,160,160',
'160,160,,,160,160,,,160,,,160,160,,,,,,,160,,,,,,160,,,,160,160,,160',
'160,,,,160,160,160,160,160,160,160,340,340,160,,340,340,,340,,,,,,,',
',,,,,,,,,340,,,,,,340,,340,,340,340,,340,340,340,,340,340,340,340,,',
'340,340,,,340,,,340,340,,,,,,,340,,,,,,340,,,,340,340,,340,340,,,,340',
'340,340,340,340,340,340,239,239,340,,239,239,,239,239,,,,,,,,,,,,,,',
',239,,,,,,239,,239,,239,239,,239,239,239,,239,239,239,239,,,239,239',
',,239,,,239,239,,,,,,,239,,,,,,239,,,,239,239,,239,239,,,,239,239,239',
'239,239,239,239,128,128,239,,128,128,,128,,,,,,,,,,,,,,,,,128,128,,',
',,128,,128,,128,128,,128,128,128,,128,128,128,128,,,128,128,,,128,,',
'128,128,,,,,,,128,,,,,,128,,,,128,128,,128,128,,,,128,128,128,128,128',
'128,128,157,157,128,,157,157,,157,,,,,,,,,,,,,,,,,157,,,,,,157,,157',
',157,157,,157,157,157,,157,157,157,157,,,157,157,,,157,,,157,157,,,',
',,,157,,,,,,157,,,,157,157,,157,157,,,,157,157,157,157,157,157,157,289',
'289,157,,289,289,,289,,,,,,,,,,,,,,,,,289,,,,,,289,,289,,289,289,,289',
'289,289,,289,289,,,,,289,289,,,289,,,289,289,,,,,,,289,,,,,,289,,,,289',
'289,,289,289,,,,289,289,289,289,289,289,289,290,290,289,,290,290,,290',
',,,,,,,,,,,,,,,,290,,,,,,290,,290,,290,290,,290,290,290,,290,290,,,',
',290,290,,,290,,,290,290,,,,,,,290,,,,,,290,,,,290,290,,290,290,,,,290',
'290,290,290,290,290,290,338,338,290,,338,338,,338,338,,,,,,,,,,,,,,',
',338,,,,,,338,,338,,338,338,,338,338,338,,338,338,,,,,338,338,,,338',
',,338,338,,,,,,,338,,,,,,338,,,,338,338,,338,338,,,,338,338,338,338',
'338,338,338,331,331,338,,331,331,,331,,,,,,,,,,,,,,,,,331,,,,,,331,',
'331,,331,331,,331,331,331,,331,331,331,331,,,331,331,,,331,,,331,331',
',,,,,,331,,,,,,331,,,,331,331,,331,331,,,,331,331,331,331,331,331,331',
'330,330,331,,330,330,,330,,,,,,,,,,,,,,,,,330,,,,,,330,,330,,330,330',
',330,330,330,,330,330,,,,,330,330,,,330,,,330,330,,,,,,,330,,,,,,330',
',,,330,330,,330,330,,,,330,330,330,330,330,330,330,327,327,330,,327',
'327,,327,,,,,,,,,,,,,,,,,327,,,,,,327,,327,,327,327,,327,327,327,,327',
'327,,,,,327,327,,,327,,,327,327,,,,,,,327,,,,,,327,,,,327,327,,327,327',
',,,327,327,327,327,327,327,327,80,80,327,,80,80,,80,,,,,,,,,,,,,,,,',
'80,258,258,,,258,80,,80,,80,80,,80,80,80,,80,80,80,80,,,80,80,,,80,',
',80,80,,,,,,,80,,258,,,258,80,,,,80,80,212,80,80,,,,80,80,80,80,80,80',
'80,258,212,80,212,211,212,212,,,,258,258,,,,,,,211,,211,,211,211,,,',
'212,,,,,,,,212,212,212,212,212,212,,212,212,211,,,,,212,,,211,211,211',
'211,211,211,,211,211,,132,,132,,211,,,,,,,212,132,132,132,,132,,132',
'132,,132,132,132,132,,46,46,211,,46,,,,,,,,,,132,,,,132,132,,,132,132',
'132,132,132,132,,132,132,131,,131,,,132,,,46,,,46,131,131,131,,131,',
'131,131,,131,131,131,131,,188,188,,132,188,46,,,,,,,,,131,46,46,,131',
'131,,,131,131,131,131,131,131,,131,131,129,,129,,,131,,,188,,,188,129',
'129,129,,129,,129,129,,129,129,129,129,,,,,131,,188,,,,,,,,,129,188',
'188,,129,129,,,129,129,129,129,129,129,232,129,129,,,,,,129,,,,232,232',
'232,232,232,,232,232,,232,232,232,232,,,,,,,,129,,,,,,,,232,,,,232,232',
',159,232,232,232,232,232,232,,232,232,,,159,159,159,232,159,,159,159',
',159,159,159,159,,,,,,,,,,,,,,,232,159,,,,159,159,,9,159,159,159,159',
'159,159,,159,159,,,9,9,9,159,9,214,9,9,,9,9,9,9,,159,159,,,214,214,',
'214,,214,214,,214,159,9,,,,9,9,,,9,9,9,9,9,9,,9,9,214,,,,,9,,,214,214',
'214,214,214,214,,214,214,,171,,,,214,,,,,,,9,171,171,171,171,171,,171',
'171,,171,171,171,171,,,,214,,,,,,,,,,,,171,,,,171,171,,362,171,171,171',
'171,171,171,,171,171,,,362,362,362,171,362,,362,362,,362,362,362,362',
',,,,,,,,,,,,,,171,362,,,,362,362,,358,362,362,362,362,362,362,,362,362',
',,358,358,358,362,358,,358,358,,358,358,358,358,,,,,,,,,,,,,,,362,358',
',,,358,358,,227,358,358,358,358,358,358,,358,358,,,227,227,227,358,227',
',227,227,,227,227,227,227,,,,,,,,,,,,,,,358,227,,,,227,227,,199,227',
'227,227,227,227,227,,227,227,,,199,199,199,227,199,213,199,199,,199',
'199,199,199,,,,,,213,213,,213,,213,213,,213,227,199,,,,199,199,,,199',
'199,199,199,199,199,,199,199,213,,,,,199,,,213,213,213,213,213,213,359',
'213,213,,,,,,213,,,,359,359,359,199,359,,359,359,,359,359,359,359,,',
',,,,,213,,,,,,,,359,,,,359,359,,360,359,359,359,359,359,359,,359,359',
',,360,360,360,359,360,,360,360,,360,360,360,360,,,,,,,,,,,,,,,359,360',
',,,360,360,,361,360,360,360,360,360,360,,360,360,,,361,361,361,360,361',
'215,361,361,,361,361,361,361,,,,,,215,215,,215,,215,215,,215,360,361',
',,,361,361,,,361,361,361,361,361,361,,361,361,215,,,,,361,,,215,215',
'215,215,215,215,217,215,215,,,,,,215,,,,217,217,217,361,217,,217,217',
',217,217,217,217,,,,,,,,215,,,,,,,,217,,,,,,,,217,217,217,217,217,217',
'219,217,217,,,219,,,217,,,,219,219,219,,219,,219,219,,219,219,219,219',
',,,,,,,217,,,,,,,,219,,,,219,219,,218,219,219,219,219,219,219,,219,219',
',,218,218,218,219,218,216,218,218,,218,218,218,218,,,,,,216,216,,216',
',216,216,,216,219,218,,,,,218,,,218,218,218,218,218,218,,218,218,216',
',,,,218,,,216,216,216,216,216,216,378,216,216,,,,,,216,,,,378,378,378',
'218,378,,378,378,,378,378,378,378,343,343,,,343,,,216,,,,,,,,378,,,',
'378,378,,,378,378,378,378,378,378,,378,378,,,,,,378,,343,,,343,,284',
'284,284,284,,284,284,284,,284,,284,284,,,,,378,343,284,284,284,,,,284',
',,343,343,,,,,,,,284,284,,,,,,,,,,,,284,284,284,284,284,284,284,282',
'282,282,282,,282,282,282,,282,,282,282,,,,,,,282,282,282,,,,282,,,,',
',,,,,,,282,282,,,,,,,,,,,,282,282,282,282,282,282,282,226,226,226,226',
',226,226,226,,226,,226,226,,,,,,,226,226,226,,,,226,,,,,,,,,,,,226,226',
',,,,,,,,,,,226,226,226,226,226,226,226,317,317,317,317,,317,317,317',
',317,,317,317,,,,,,,317,317,317,,,,317,,,,,,,,,,,,317,317,,,,,,,,,,',
',317,317,317,317,317,317,317' ]
        racc_action_check = arr = ::Array.new(8687, 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 = [
    -2,   317,   nil,   nil,   172,   300,   nil,   475,   302,  7712,
   607,   694,   326,   nil,   nil,   868,   955,  1042,  1129,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   236,   264,  1390,  1477,  1564,   412,  7481,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,  1825,  1912,  1999,   nil,   nil,
   nil,   nil,   nil,  2086,   nil,   198,   196,   nil,  2347,   nil,
   nil,    29,  2521,   231,  2695,  2782,  2869,  2956,  3043,  3130,
  7306,  3304,  3391,  3478,  3565,  3652,  3739,  3826,  3913,  4000,
  4087,  4174,  4261,  4348,  4435,  4522,  4609,  4696,  4783,  4870,
  4957,  5044,  5131,  5218,   196,   223,  5479,  5566,   221,   218,
  5827,   200,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   263,   194,   866,   953,   183,   nil,   196,    82,  6610,  7564,
   nil,  7507,  7450,   177,   178,   nil,   169,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   176,   nil,   171,   nil,    80,   nil,
   nil,   154,   nil,    99,   nil,   nil,    95,  6697,   302,  7665,
  6349,   nil,   130,   nil,   nil,   nil,   nil,   128,   124,   123,
   114,  7787,    93,  5914,    54,    55,    62,  5740,  5653,  5392,
   nil,   nil,    24,     9,     7,     2,   320,   234,  7538,    -1,
    -2,    -4,    -9,   nil,   nil,   nil,   nil,   nil,   nil,  7975,
    18,   872,   437,   785,   524,   176,   698,   779,   611,    89,
     2,  7392,  7375,  7992,  7729,  8157,  8329,  8211,  8312,  8265,
   nil,   nil,  2260,    86,   182,   nil,  8541,  7928,    57,   nil,
   153,   146,  7618,   nil,   155,   nil,   270,   nil,   nil,  6523,
   nil,   260,   nil,   nil,   nil,   nil,   nil,   256,   184,   -24,
   189,   -11,   nil,   346,   520,   781,   145,   112,  7331,   -28,
  1651,    32,    71,   nil,  1738,  5305,   nil,   nil,   nil,   nil,
  6001,   nil,   nil,   nil,   nil,    94,   nil,   nil,   nil,   nil,
   101,   110,  8484,   120,  8427,  6088,  6175,  6262,   nil,  6784,
  6871,   143,   nil,   130,   nil,   148,   nil,   nil,   nil,   nil,
   152,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   155,  3217,  8598,   171,   nil,
   360,   nil,   172,   176,   nil,   116,    91,  7219,   nil,   nil,
  7132,  7045,   nil,   182,    67,   184,   162,    -7,  6958,   nil,
  6436,   198,   nil,  8413,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   148,   -11,   211,   nil,   nil,  7881,  8046,
  8093,  8140,  7834,   231,  2608,   177,   241,   nil,   nil,   239,
  2434,   nil,   nil,   nil,   237,   nil,   nil,   nil,  8383,     9,
   -15,   nil,  2173,   267,   244,   nil,   269,   270,   nil,   nil,
   277,   nil,   nil,  1303,   nil,   nil,   nil,   282,   252,   nil,
   nil,   nil,   nil,   nil,   291,   nil,   nil,   nil,   nil,  1216,
   nil,   433,   259,   nil,   304,   nil,   nil,    85,   nil,   308,
   nil,   314,   nil,   315,   nil,   nil,   nil,   286,   nil,   nil,
   nil,   nil ]

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

racc_goto_table = [
     2,   120,   122,   123,   125,   124,   137,   231,   139,   235,
   133,   200,   152,   257,   172,   221,   250,   315,   241,   344,
   339,   277,   390,   261,   234,   262,    73,   423,   129,   131,
   132,   235,   228,   230,   338,   291,   408,   357,   108,   109,
   238,   385,   143,   143,   151,   381,   256,   250,   220,   275,
   154,   283,   404,   368,   159,   318,   371,   144,   146,   341,
   397,   163,   164,   165,   166,   345,   377,   329,   171,   199,
   201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
   211,   212,   213,   214,   215,   216,   217,   218,   219,   410,
   143,   407,   227,   227,   162,   328,   232,   350,   271,   272,
     3,   269,   293,   389,   394,   223,   167,   168,   169,   170,
   270,   268,   155,   157,   273,   143,     1,   nil,   nil,   nil,
   325,   nil,   nil,   nil,   nil,   250,   nil,   322,   nil,   nil,
   251,   nil,   319,   nil,   nil,   292,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   280,   137,   nil,
   139,   133,   nil,   nil,   353,   342,   nil,   274,   295,   122,
   281,   nil,   nil,   129,   131,   132,   nil,   nil,   nil,   nil,
   363,   nil,   nil,   nil,   366,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   294,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   374,   nil,   nil,   nil,   nil,   nil,   nil,   219,   nil,
   nil,   nil,   nil,   431,   355,   250,   396,   nil,   137,   352,
   139,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   398,   nil,   nil,   nil,   392,   323,
   nil,   199,   nil,   nil,   nil,   nil,   nil,   346,   403,   369,
   nil,   151,   351,   333,   335,   nil,   nil,   154,   379,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   392,   nil,
   nil,   358,   359,   360,   nil,   361,   362,   400,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   372,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   232,   137,   nil,   139,   nil,   nil,   nil,   nil,
   424,   nil,   nil,   378,   427,   nil,   199,   nil,   346,   nil,
   nil,   nil,   nil,   nil,   199,   nil,   nil,   nil,   nil,   401,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   219,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   129,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   414,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   232,   nil,   nil,   nil,   nil,   nil,   419,
   nil,   421,   425 ]

racc_goto_check = [
     2,    10,    10,    10,    37,     6,    35,    13,    34,    49,
    57,    19,    80,    15,    11,    50,    36,    14,    42,    65,
    47,    88,    59,    15,    58,    15,     5,    48,    10,    10,
    10,    49,    53,    53,    46,    51,    43,    54,     9,     9,
    41,    45,     6,     6,     6,    44,    58,    36,    20,    42,
     6,    15,    59,    16,    10,    61,    62,     8,     8,    64,
    12,     6,     6,     6,     6,    67,    68,    69,    10,    10,
    10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
    10,    10,    10,    10,    10,    10,    10,    10,    10,    45,
     6,    44,    10,    10,     5,    71,    10,    75,    76,    77,
     3,    81,    15,    47,    65,     8,     9,     9,     9,     9,
    82,    84,    85,    86,    87,     6,     1,   nil,   nil,   nil,
    15,   nil,   nil,   nil,   nil,    36,   nil,    42,   nil,   nil,
     8,   nil,    49,   nil,   nil,    50,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,     6,    35,   nil,
    34,    57,   nil,   nil,    15,    49,   nil,     2,    11,    10,
     2,   nil,   nil,    10,    10,    10,   nil,   nil,   nil,   nil,
    15,   nil,   nil,   nil,    15,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    37,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,    15,   nil,   nil,   nil,   nil,   nil,   nil,    10,   nil,
   nil,   nil,   nil,    14,    11,    36,    88,   nil,    35,    80,
    34,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    15,   nil,   nil,   nil,    49,     2,
   nil,    10,   nil,   nil,   nil,   nil,   nil,     6,    15,    11,
   nil,     6,     6,     2,     2,   nil,   nil,     6,    19,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    49,   nil,
   nil,    10,    10,    10,   nil,    10,    10,    50,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,    57,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,    10,    35,   nil,    34,   nil,   nil,   nil,   nil,
    49,   nil,   nil,    10,    13,   nil,    10,   nil,     6,   nil,
   nil,   nil,   nil,   nil,    10,   nil,   nil,   nil,   nil,    37,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
    10,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    10,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,     2,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    10,   nil,   nil,   nil,   nil,   nil,     2,
   nil,     2,     2 ]

racc_goto_pointer = [
   nil,   116,     0,   100,   nil,    22,   -13,   nil,     2,    28,
   -14,   -68,  -295,  -103,  -214,  -121,  -263,   nil,   nil,   -72,
   -54,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   -38,   -40,  -111,   -36,   nil,   nil,
   nil,   -86,  -109,  -346,  -289,  -295,  -221,  -235,  -385,  -102,
   -87,  -187,   nil,   -74,  -247,   nil,   nil,   -35,   -87,  -318,
   nil,  -179,  -264,   nil,  -198,  -239,   nil,  -194,  -260,  -182,
   nil,  -153,   nil,   nil,   nil,  -167,   -58,   -57,   nil,   nil,
   -51,   -52,   -43,   nil,   -42,    47,    47,   -43,  -138 ]

racc_goto_default = [
   nil,   nil,   391,   nil,     4,     5,     6,     7,   nil,     8,
     9,   nil,   nil,   nil,   nil,   nil,   233,    13,    14,   337,
   nil,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    28,    29,    30,    31,    32,    33,    34,   nil,    40,    41,
   126,   nil,   nil,   130,   nil,   nil,   nil,   nil,   nil,   229,
   nil,   nil,   105,   nil,   180,   185,   181,   112,   nil,   nil,
   111,   nil,   nil,   134,   nil,   135,   136,   140,   242,   243,
   244,   245,   246,   249,   148,   150,    58,    59,    60,    63,
   nil,   nil,   nil,   153,   nil,   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_14,
  3, 102, :_reduce_15,
  1, 101, :_reduce_none,
  3, 101, :_reduce_17,
  3, 101, :_reduce_18,
  3, 101, :_reduce_19,
  3, 101, :_reduce_20,
  1, 103, :_reduce_none,
  2, 103, :_reduce_22,
  2, 103, :_reduce_23,
  7, 103, :_reduce_24,
  5, 103, :_reduce_25,
  5, 103, :_reduce_26,
  4, 110, :_reduce_27,
  1, 107, :_reduce_28,
  3, 107, :_reduce_29,
  1, 106, :_reduce_30,
  2, 106, :_reduce_31,
  4, 106, :_reduce_32,
  1, 104, :_reduce_none,
  1, 104, :_reduce_none,
  4, 104, :_reduce_35,
  3, 104, :_reduce_36,
  3, 104, :_reduce_37,
  3, 104, :_reduce_38,
  3, 104, :_reduce_39,
  3, 104, :_reduce_40,
  3, 104, :_reduce_41,
  3, 104, :_reduce_42,
  3, 104, :_reduce_43,
  3, 104, :_reduce_44,
  3, 104, :_reduce_45,
  2, 104, :_reduce_46,
  2, 104, :_reduce_47,
  3, 104, :_reduce_48,
  3, 104, :_reduce_49,
  3, 104, :_reduce_50,
  3, 104, :_reduce_51,
  3, 104, :_reduce_52,
  3, 104, :_reduce_53,
  2, 104, :_reduce_54,
  3, 104, :_reduce_55,
  3, 104, :_reduce_56,
  3, 104, :_reduce_57,
  3, 104, :_reduce_58,
  1, 113, :_reduce_59,
  3, 113, :_reduce_60,
  1, 111, :_reduce_none,
  1, 111, :_reduce_none,
  1, 111, :_reduce_none,
  1, 111, :_reduce_none,
  1, 111, :_reduce_none,
  1, 111, :_reduce_none,
  1, 111, :_reduce_none,
  1, 111, :_reduce_none,
  1, 111, :_reduce_none,
  1, 111, :_reduce_none,
  1, 111, :_reduce_none,
  1, 111, :_reduce_none,
  1, 111, :_reduce_none,
  1, 111, :_reduce_none,
  1, 111, :_reduce_none,
  1, 111, :_reduce_none,
  1, 111, :_reduce_77,
  1, 111, :_reduce_78,
  1, 111, :_reduce_79,
  1, 111, :_reduce_80,
  1, 111, :_reduce_81,
  5, 112, :_reduce_82,
  3, 112, :_reduce_83,
  6, 112, :_reduce_84,
  4, 112, :_reduce_85,
  1, 116, :_reduce_86,
  2, 116, :_reduce_87,
  4, 132, :_reduce_88,
  3, 132, :_reduce_89,
  1, 132, :_reduce_90,
  3, 133, :_reduce_91,
  2, 131, :_reduce_92,
  3, 135, :_reduce_93,
  2, 135, :_reduce_94,
  2, 134, :_reduce_95,
  4, 134, :_reduce_96,
  2, 119, :_reduce_97,
  5, 137, :_reduce_98,
  4, 137, :_reduce_99,
  0, 138, :_reduce_none,
  2, 138, :_reduce_101,
  4, 138, :_reduce_102,
  3, 138, :_reduce_103,
  6, 120, :_reduce_104,
  5, 120, :_reduce_105,
  0, 139, :_reduce_none,
  4, 139, :_reduce_107,
  3, 139, :_reduce_108,
  5, 118, :_reduce_109,
  1, 140, :_reduce_110,
  2, 140, :_reduce_111,
  5, 141, :_reduce_112,
  1, 142, :_reduce_none,
  1, 142, :_reduce_none,
  1, 114, :_reduce_none,
  4, 114, :_reduce_116,
  1, 145, :_reduce_117,
  3, 145, :_reduce_118,
  3, 144, :_reduce_119,
  6, 117, :_reduce_120,
  2, 117, :_reduce_121,
  3, 146, :_reduce_122,
  3, 146, :_reduce_123,
  1, 147, :_reduce_none,
  1, 147, :_reduce_none,
  0, 105, :_reduce_126,
  1, 105, :_reduce_127,
  3, 105, :_reduce_128,
  1, 149, :_reduce_none,
  1, 149, :_reduce_none,
  1, 149, :_reduce_none,
  1, 149, :_reduce_none,
  1, 149, :_reduce_none,
  3, 148, :_reduce_134,
  3, 148, :_reduce_135,
  3, 148, :_reduce_136,
  6, 121, :_reduce_137,
  7, 122, :_reduce_138,
  1, 154, :_reduce_139,
  1, 153, :_reduce_none,
  1, 153, :_reduce_none,
  1, 155, :_reduce_none,
  2, 155, :_reduce_143,
  1, 156, :_reduce_none,
  1, 156, :_reduce_none,
  7, 123, :_reduce_146,
  6, 123, :_reduce_147,
  1, 157, :_reduce_148,
  3, 157, :_reduce_149,
  1, 159, :_reduce_none,
  1, 159, :_reduce_none,
  1, 159, :_reduce_152,
  1, 159, :_reduce_none,
  1, 160, :_reduce_154,
  3, 160, :_reduce_155,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 158, :_reduce_none,
  2, 158, :_reduce_159,
  1, 151, :_reduce_none,
  1, 151, :_reduce_none,
  1, 151, :_reduce_none,
  1, 151, :_reduce_none,
  1, 151, :_reduce_none,
  1, 151, :_reduce_none,
  1, 151, :_reduce_166,
  1, 152, :_reduce_167,
  2, 152, :_reduce_168,
  4, 152, :_reduce_169,
  1, 136, :_reduce_170,
  3, 136, :_reduce_171,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  3, 165, :_reduce_176,
  1, 165, :_reduce_177,
  2, 166, :_reduce_178,
  2, 164, :_reduce_179,
  1, 167, :_reduce_180,
  4, 167, :_reduce_181,
  1, 115, :_reduce_182,
  1, 125, :_reduce_183,
  1, 125, :_reduce_184,
  1, 125, :_reduce_185,
  1, 125, :_reduce_186,
  1, 125, :_reduce_187,
  1, 125, :_reduce_188,
  1, 125, :_reduce_189,
  4, 126, :_reduce_190,
  2, 126, :_reduce_191,
  4, 126, :_reduce_192,
  2, 126, :_reduce_193,
  3, 127, :_reduce_194,
  4, 127, :_reduce_195,
  2, 127, :_reduce_196,
  1, 168, :_reduce_197,
  3, 168, :_reduce_198,
  3, 169, :_reduce_199,
  1, 129, :_reduce_none,
  1, 129, :_reduce_none,
  1, 129, :_reduce_none,
  1, 170, :_reduce_203,
  1, 170, :_reduce_204,
  2, 171, :_reduce_205,
  1, 173, :_reduce_206,
  1, 175, :_reduce_207,
  1, 176, :_reduce_208,
  2, 174, :_reduce_209,
  1, 177, :_reduce_210,
  1, 178, :_reduce_211,
  2, 178, :_reduce_212,
  2, 172, :_reduce_213,
  2, 179, :_reduce_214,
  2, 179, :_reduce_215,
  3, 97, :_reduce_216,
  0, 181, :_reduce_none,
  1, 181, :_reduce_none,
  0, 180, :_reduce_219,
  2, 180, :_reduce_220,
  4, 180, :_reduce_221,
  1, 124, :_reduce_222,
  3, 124, :_reduce_223,
  5, 124, :_reduce_224,
  1, 182, :_reduce_none,
  1, 182, :_reduce_none,
  1, 130, :_reduce_227,
  1, 128, :_reduce_228,
  0, 109, :_reduce_none,
  1, 109, :_reduce_230,
  0, 108, :_reduce_none,
  1, 108, :_reduce_none,
  1, 150, :_reduce_none,
  1, 150, :_reduce_none,
  1, 150, :_reduce_none,
  1, 150, :_reduce_none,
  1, 150, :_reduce_none,
  1, 150, :_reduce_none,
  1, 150, :_reduce_none,
  1, 150, :_reduce_none,
  1, 150, :_reduce_none,
  1, 150, :_reduce_none,
  1, 150, :_reduce_none,
  1, 150, :_reduce_none,
  1, 150, :_reduce_none,
  1, 150, :_reduce_none,
  1, 150, :_reduce_none,
  1, 150, :_reduce_none,
  1, 150, :_reduce_none,
  1, 150, :_reduce_none,
  0, 143, :_reduce_251 ]

racc_reduce_n = 252

racc_shift_n = 432

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,
  :LPAREN => 26,
  :RPAREN => 27,
  :ISEQUAL => 28,
  :GREATEREQUAL => 29,
  :GREATERTHAN => 30,
  :LESSTHAN => 31,
  :IF => 32,
  :ELSE => 33,
  :DEFINE => 34,
  :ELSIF => 35,
  :VARIABLE => 36,
  :CLASS => 37,
  :INHERITS => 38,
  :NODE => 39,
  :BOOLEAN => 40,
  :NAME => 41,
  :SEMIC => 42,
  :CASE => 43,
  :DEFAULT => 44,
  :AT => 45,
  :ATAT => 46,
  :LCOLLECT => 47,
  :RCOLLECT => 48,
  :CLASSREF => 49,
  :NOT => 50,
  :OR => 51,
  :AND => 52,
  :UNDEF => 53,
  :PARROW => 54,
  :PLUS => 55,
  :MINUS => 56,
  :TIMES => 57,
  :DIV => 58,
  :LSHIFT => 59,
  :RSHIFT => 60,
  :UMINUS => 61,
  :MATCH => 62,
  :NOMATCH => 63,
  :REGEX => 64,
  :IN_EDGE => 65,
  :OUT_EDGE => 66,
  :IN_EDGE_SUB => 67,
  :OUT_EDGE_SUB => 68,
  :IN => 69,
  :UNLESS => 70,
  :PIPE => 71,
  :LAMBDA => 72,
  :SELBRACE => 73,
  :NUMBER => 74,
  :HEREDOC => 75,
  :SUBLOCATE => 76,
  :RENDER_STRING => 77,
  :RENDER_EXPR => 78,
  :EPP_START => 79,
  :EPP_END => 80,
  :EPP_END_TRIM => 81,
  :FUNCTION => 82,
  :PRIVATE => 83,
  :ATTR => 84,
  :TYPE => 85,
  :APPLICATION_R => 86,
  :CONSUMES_R => 87,
  :PRODUCES_R => 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",
  "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",
  "PRIVATE",
  "ATTR",
  "TYPE",
  "APPLICATION_R",
  "CONSUMES_R",
  "PRODUCES_R",
  "LOW",
  "HIGH",
  "LISTSTART",
  "SPLAT",
  "MODULO",
  "$start",
  "program",
  "statements",
  "epp_expression",
  "syntactic_statements",
  "syntactic_statement",
  "assignment",
  "relationship",
  "assignments",
  "resource",
  "expression",
  "attribute_operations",
  "additional_resource_bodies",
  "resource_bodies",
  "endsemi",
  "endcomma",
  "resource_body",
  "primary_expression",
  "call_function_expression",
  "expressions",
  "selector_entries",
  "variable",
  "call_method_with_lambda_expression",
  "collection_expression",
  "case_expression",
  "if_expression",
  "unless_expression",
  "definition_expression",
  "hostclass_expression",
  "node_definition_expression",
  "epp_render_expression",
  "reserved_word",
  "array",
  "hash",
  "regex",
  "quotedtext",
  "type",
  "lambda",
  "call_method_expression",
  "named_access",
  "lambda_parameter_list",
  "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",
  "hashpairs",
  "hashpair",
  "string",
  "dq_string",
  "heredoc",
  "dqpre",
  "dqrval",
  "dqpost",
  "dqmid",
  "text_expression",
  "dqtail",
  "sublocated_text",
  "epp_parameters_list",
  "optional_statements",
  "epp_end" ]

Racc_debug_parser = false

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

# reduce 0 omitted

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

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

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

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

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

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

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

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

module_eval(<<'.,.,', 'egrammar.ra', 89)
  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', 94)
  def _reduce_11(val, _values, result)
     result = val[0].set(val[2])      ; loc result, val[1] 
    result
  end
.,.,

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

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

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

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

# reduce 16 omitted

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

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

module_eval(<<'.,.,', 'egrammar.ra', 106)
  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', 107)
  def _reduce_20(val, _values, result)
     result = val[0].relop(val[1][:value], val[2]); loc result, val[1] 
    result
  end
.,.,

# reduce 21 omitted

module_eval(<<'.,.,', 'egrammar.ra', 116)
  def _reduce_22(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', 127)
  def _reduce_23(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', 138)
  def _reduce_24(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', 145)
  def _reduce_25(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', 154)
  def _reduce_26(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])
          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', 176)
  def _reduce_27(val, _values, result)
     result = Factory.RESOURCE_BODY(val[0], val[2]) 
    result
  end
.,.,

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

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

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

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

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

# reduce 33 omitted

# reduce 34 omitted

module_eval(<<'.,.,', 'egrammar.ra', 195)
  def _reduce_35(val, _values, result)
     result = val[0][*val[2]]         ; loc result, val[0], val[3] 
    result
  end
.,.,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 61 omitted

# reduce 62 omitted

# reduce 63 omitted

# reduce 64 omitted

# reduce 65 omitted

# reduce 66 omitted

# reduce 67 omitted

# reduce 68 omitted

# reduce 69 omitted

# reduce 70 omitted

# reduce 71 omitted

# reduce 72 omitted

# reduce 73 omitted

# reduce 74 omitted

# reduce 75 omitted

# reduce 76 omitted

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

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

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

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

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

module_eval(<<'.,.,', 'egrammar.ra', 261)
  def _reduce_82(val, _values, result)
          result = Factory.CALL_NAMED(val[0], true, val[2])
      loc result, val[0], val[4]
    
    result
  end
.,.,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 100 omitted

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

module_eval(<<'.,.,', 'egrammar.ra', 342)
  def _reduce_102(val, _values, result)
            result = Factory.block_or_expression(*val[2])
        loc result, val[0], val[3]
      
    result
  end
.,.,

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

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

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

# reduce 106 omitted

module_eval(<<'.,.,', 'egrammar.ra', 367)
  def _reduce_107(val, _values, result)
            result = Factory.block_or_expression(*val[2])
        loc result, val[0], val[3]
      
    result
  end
.,.,

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

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

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

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

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

# reduce 113 omitted

# reduce 114 omitted

# reduce 115 omitted

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

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

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

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

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

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

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

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

# reduce 124 omitted

# reduce 125 omitted

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

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

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

# reduce 129 omitted

# reduce 130 omitted

# reduce 131 omitted

# reduce 132 omitted

# reduce 133 omitted

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

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

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

module_eval(<<'.,.,', 'egrammar.ra', 484)
  def _reduce_137(val, _values, result)
          result = add_definition(Factory.DEFINITION(classname(val[1][:value]), val[2], val[4]))
      loc result, val[0], val[5]
      # 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', 498)
  def _reduce_138(val, _values, result)
          # Remove this class' name from the namestack as all nested classes have been parsed
      namepop
      result = add_definition(Factory.HOSTCLASS(classname(val[1][:value]), val[2], token_text(val[3]), val[5]))
      loc result, val[0], val[6]
    
    result
  end
.,.,

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

# reduce 140 omitted

# reduce 141 omitted

# reduce 142 omitted

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

# reduce 144 omitted

# reduce 145 omitted

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

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

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

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

# reduce 150 omitted

# reduce 151 omitted

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

# reduce 153 omitted

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

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

# reduce 156 omitted

# reduce 157 omitted

# reduce 158 omitted

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

# reduce 160 omitted

# reduce 161 omitted

# reduce 162 omitted

# reduce 163 omitted

# reduce 164 omitted

# reduce 165 omitted

module_eval(<<'.,.,', 'egrammar.ra', 592)
  def _reduce_166(val, _values, result)
     error val[0], "'class' is not a valid classname" 
    result
  end
.,.,

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

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

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

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

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

# reduce 172 omitted

# reduce 173 omitted

# reduce 174 omitted

# reduce 175 omitted

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

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

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

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

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

module_eval(<<'.,.,', 'egrammar.ra', 626)
  def _reduce_181(val, _values, result)
     result = val[0][*val[2]] ; loc result, val[0], val[3] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 631)
  def _reduce_182(val, _values, result)
     result = Factory.fqn(val[0][:value]).var ; loc result, val[0] 
    result
  end
.,.,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 200 omitted

# reduce 201 omitted

# reduce 202 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 217 omitted

# reduce 218 omitted

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

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

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

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

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

module_eval(<<'.,.,', 'egrammar.ra', 707)
  def _reduce_224(val, _values, result)
     result = Factory.RENDER_EXPR(Factory.block_or_expression(*val[2])); loc result, val[0], val[4] 
    result
  end
.,.,

# reduce 225 omitted

# reduce 226 omitted

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

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

# reduce 229 omitted

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

# reduce 231 omitted

# reduce 232 omitted

# reduce 233 omitted

# reduce 234 omitted

# reduce 235 omitted

# reduce 236 omitted

# reduce 237 omitted

# reduce 238 omitted

# reduce 239 omitted

# reduce 240 omitted

# reduce 241 omitted

# reduce 242 omitted

# reduce 243 omitted

# reduce 244 omitted

# reduce 245 omitted

# reduce 246 omitted

# reduce 247 omitted

# reduce 248 omitted

# reduce 249 omitted

# reduce 250 omitted

module_eval(<<'.,.,', 'egrammar.ra', 749)
  def _reduce_251(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
