HEX
Server: Apache
System: Linux vpshost0650.publiccloud.com.br 4.4.79-grsec-1.lc.x86_64 #1 SMP Wed Aug 2 14:18:21 -03 2017 x86_64
User: bandeirantesbomb3 (10068)
PHP: 8.0.7
Disabled: apache_child_terminate,dl,escapeshellarg,escapeshellcmd,exec,link,mail,openlog,passthru,pcntl_alarm,pcntl_exec,pcntl_fork,pcntl_get_last_error,pcntl_getpriority,pcntl_setpriority,pcntl_signal,pcntl_signal_dispatch,pcntl_sigprocmask,pcntl_sigtimedwait,pcntl_sigwaitinfo,pcntl_strerror,pcntl_wait,pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,php_check_syntax,php_strip_whitespace,popen,proc_close,proc_open,shell_exec,symlink,system
Upload Files
File: //proc/thread-self/root/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/parser/eparser.rb
#
# 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', 928)

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

clist = [
'65,77,301,-147,63,71,301,72,71,301,72,152,114,375,129,87,88,89,126,304',
'131,132,304,302,21,20,116,302,119,-287,302,53,115,56,155,67,12,83,61',
'45,48,338,55,46,10,11,-147,86,64,19,128,304,47,118,125,17,18,267,94',
'-278,129,-290,127,82,126,90,92,91,93,54,-277,158,-287,44,78,95,80,81',
'159,-187,-187,62,50,68,69,57,65,77,60,59,63,71,70,72,523,70,128,129',
'114,268,125,126,-278,176,-290,466,168,465,127,152,21,20,116,-277,119',
'348,129,53,115,56,126,67,12,-292,61,45,48,289,55,46,10,11,155,128,64',
'19,177,125,47,118,326,17,18,327,129,127,129,129,126,82,126,126,128,280',
'279,54,125,290,349,44,78,95,80,81,127,152,-292,62,50,68,69,57,65,77',
'60,59,63,71,70,72,128,470,128,128,125,399,125,125,155,129,471,181,127',
'126,127,127,21,20,197,454,400,199,129,53,453,56,126,67,12,122,61,45',
'48,519,55,46,10,11,453,202,64,19,380,86,47,128,269,17,18,125,129,301',
'448,94,126,82,129,127,128,129,126,54,125,126,304,44,78,94,80,81,127',
'282,302,62,50,68,69,57,65,77,60,59,63,71,70,72,128,178,77,129,125,179',
'128,126,283,128,125,-232,127,125,280,279,21,20,127,329,328,127,129,53',
'382,56,126,67,12,284,61,45,48,301,55,46,10,11,158,128,64,19,168,125',
'47,287,304,17,18,178,77,127,288,179,302,82,-189,-189,128,129,292,54',
'125,126,317,44,78,318,80,81,127,131,132,62,50,68,69,57,65,77,60,59,63',
'71,70,72,421,324,72,176,114,466,173,465,-233,128,-187,-187,324,125,-188',
'-188,21,20,116,86,119,127,94,53,115,56,82,67,134,94,61,45,48,94,55,46',
'177,78,280,279,64,19,340,341,47,118,94,17,18,178,77,301,346,179,168',
'82,280,279,280,279,354,54,-191,-191,304,44,78,372,80,81,373,375,302',
'62,50,68,69,57,65,77,60,59,63,71,70,72,294,379,384,176,114,386,173,390',
'392,304,395,396,301,409,410,411,21,20,116,412,119,413,416,53,115,56',
'82,67,134,292,61,45,48,422,55,46,177,78,424,395,64,19,-232,429,47,118',
'431,17,18,438,439,346,347,442,445,82,395,395,158,455,456,54,459,460',
'463,44,78,467,80,81,469,480,482,62,50,68,69,57,65,77,60,59,63,71,70',
'72,190,484,346,488,114,490,346,493,494,346,497,501,469,503,505,506,21',
'20,116,507,119,346,509,53,115,56,354,67,12,514,61,45,48,515,55,46,10',
'11,516,517,64,19,518,527,47,118,528,17,18,529,530,532,533,534,,82,,',
',,,54,,,,44,78,,80,81,,,,147,144,68,69,145,151,150,146,59,65,77,70,',
'63,71,114,72,,,,,,,,,,,,,116,,119,,21,20,115,,,,,53,,56,,67,12,,61,45',
'48,,55,46,10,11,,118,64,19,,,47,,,17,18,178,77,,,179,,82,,,,,,54,,,',
'44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,176,,,173',
',,,,,,,,,21,20,,,,,,53,,56,82,67,134,,61,45,48,,55,46,177,78,,,64,19',
',,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
'60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48',
',55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,79',
',,62,50,68,69,57,65,77,60,59,63,71,70,72,315,,,,,,,,,,,,,,,,21,20,,',
',,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,178,77',
',,179,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71',
'70,72,,,,176,,,173,,,,,,,,,,21,20,,,,,,53,,56,82,67,134,,61,45,48,,55',
'46,177,78,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62',
'50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56',
',67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54',
',,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,',
',,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17',
'18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63',
'71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10',
'11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68',
'69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67',
'134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78',
',80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21',
'20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,',
',82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72',
',,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19',
',,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
'60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48',
',55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62',
'50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56',
',67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,',
'44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,',
',,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18',
',,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71',
'70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11',
',,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68',
'69,145,151,150,146,59,65,77,70,114,63,71,,72,,,,,,,,,,116,,119,,,,115',
'21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,118,,,,64,19,,,47,,,17,18',
',,96,97,,,82,,,95,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59',
'63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55',
'46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50',
'68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,',
'67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44',
'78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,',
'21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,',
',,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70',
'72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,',
',64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69',
'57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134',
',61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80',
'81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,',
',,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,',
'82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72',
',,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19',
',,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
'60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48',
',55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62',
'50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56',
',67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,',
'44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,',
',,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18',
',,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71',
'70,72,404,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10',
'11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68',
'69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67',
'134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78',
',80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21',
'20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,',
',82,,,,,,54,,,262,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70',
'72,458,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11',
',,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69',
'57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12',
',61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78',
',80,81,,,,147,144,68,69,145,151,150,146,59,65,77,70,,63,71,,72,402,',
',,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19',
',,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
'60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48',
',55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,',
',,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,',
'53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,',
',54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,',
',,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,',
'47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68,69,145,151',
'150,146,59,65,77,70,114,63,71,,72,,,,,,,,,,116,,119,,,,115,21,20,,,',
',,53,,56,,67,134,,61,45,48,,55,46,118,,,,64,19,,,47,,,17,18,,,96,97',
',,82,,,95,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70',
'72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,',
',64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69',
'57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134',
',61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80',
'81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,',
',,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82',
',,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,',
',,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,',
',47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
'60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48',
',55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,',
',,62,50,68,69,57,65,77,60,59,63,71,70,72,472,,,,,,,,,,,,,,,,21,20,,',
',,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,',
',,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,',
',,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19',
',,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
'60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48',
',55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,',
',,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,',
'53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,',
',,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,',
',,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19',
',,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
'60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48',
',55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62',
'50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56',
',67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,',
'44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,',
',,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17',
'18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63',
'71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10',
'11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144',
'68,69,145,151,150,146,59,65,77,70,114,63,71,,72,,,,,,,,,,116,,119,,',
',115,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,118,,,,64,19,,,47,,',
'17,18,,,96,97,,,82,,,95,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
'60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48',
',55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,',
',,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,',
'53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,',
',,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,',
',,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,',
'47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
'60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,219,234,225,235,67,227',
'237,229,45,217,,221,215,,,,,64,19,238,233,216,,,17,214,,,,,,,82,,,,',
'236,220,,,,44,78,,80,81,,,,230,218,231,232,226,240,239,228,59,65,77',
'70,,63,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55',
'46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50',
'68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,',
'67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,',
',,44,78,,80,81,,,,147,144,68,69,145,151,150,146,59,65,77,70,,63,71,',
'72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,',
',64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68,69',
'145,151,150,146,59,65,77,70,,63,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,53',
',56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54',
',,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,',
',,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,',
',17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68,69,145,151,150',
'146,59,65,77,70,,63,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12',
',61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78',
',80,81,,,,147,144,68,69,145,151,150,146,59,65,77,70,,63,71,,72,,,,,',
',,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,',
',47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
'60,59,63,71,70,201,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45',
'48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,',
',62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53',
',56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,',
',54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,',
',,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,',
'47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
'60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48',
',55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,',
',,147,144,68,69,145,151,150,146,59,65,77,70,,63,71,,72,,,,,,,,,,,,,',
',,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17',
'18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63',
'71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10',
'11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68',
'69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67',
'12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44',
'78,,80,81,,,,147,144,68,69,145,151,150,146,59,65,77,70,,63,71,,72,,',
',,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,',
',47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
'60,59,63,71,70,72,190,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45',
'48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81',
',,,147,144,68,69,145,151,150,146,59,65,77,70,,63,71,,72,,,,,,,,,,,,',
',,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18',
',,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71',
'70,72,,,,,,,,,,,,,,,,,21,20,143,,,,,53,,56,,67,12,,61,45,48,,55,46,10',
'11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144',
'68,69,145,151,150,146,59,65,77,70,,63,71,188,72,,,,,,,,,,,,,,,,,21,20',
',,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,',
',82,,,,,,54,,,,44,78,,80,81,,,,147,144,68,69,145,151,150,146,59,65,77',
'70,,63,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55',
'46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50',
'68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,',
'67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44',
'78,,80,81,,,,62,50,68,69,57,,,60,59,65,77,70,,63,71,183,72,,,,,,,,,',
',,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47',
',,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68,69,145,151,150',
'146,59,65,77,70,,63,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134',
',61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80',
'81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,',
',,,,53,,56,,67,12,,61,45,48,84,55,46,10,11,,,64,19,,,47,,,17,18,,,,',
',,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70',
'72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64',
'19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65',
'77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45',
'48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,',
',62,50,68,69,57,65,77,60,59,63,71,70,72,511,,,,,,,,,,,,,,,,21,20,,,',
',,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82',
',,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,',
',,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19',
',,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
'60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48',
',55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62',
'50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56',
',67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,',
'44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,',
',,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18',
',,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71',
'70,72,,,347,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46',
',,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68',
'69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,306,,,,,53,,56,',
'67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,',
',,44,78,,80,81,,,,147,144,68,69,145,151,150,146,59,65,77,70,,63,71,',
'72,425,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11',
',,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68',
'69,145,151,150,146,59,65,77,70,,63,71,,72,521,,,,,,,,,,,,,,,,21,20,',
',,,,53,,56,,67,12,,61,45,48,,55,46,10,11,114,,64,19,,,47,,,17,18,,,',
'116,,119,82,,,115,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,,118,60,59',
',,70,,,,,101,100,114,,,96,97,,,,,,95,,110,105,116,,119,,113,,115,,106',
'108,107,109,,,,,,,,,,,102,,,,,118,,,,112,111,,,98,99,101,100,103,104',
'114,96,97,,,,,,95,,,,110,105,116,,119,,113,,115,,106,108,107,109,,,',
',,,,,102,,,,,,,118,,,,112,111,,,98,99,101,100,103,104,114,96,97,,,,',
',95,,,,110,105,116,,119,,113,,115,,106,108,107,109,,,,,,,,,102,,,,,',
',118,,,,112,111,,,98,99,101,100,103,104,114,96,97,,,,,,95,,,,110,105',
'116,,119,,113,,115,,106,108,107,109,,,,,,,,,102,,,,,,,118,,,,112,111',
',,98,99,101,100,103,104,114,96,97,,,,,,95,,,,110,105,116,,119,,113,',
'115,,106,108,107,109,,,,,,,,,102,,,,,,,118,,,,112,111,,,98,99,101,100',
'103,104,114,96,97,,,,,,95,,,,110,105,116,,119,,113,,115,,106,108,107',
'109,,,,,,,,,102,,,,,,,118,,,,112,111,,,98,99,101,100,103,104,,96,97',
'114,,307,,,95,,,,,,,110,105,116,,119,,113,,115,,106,108,107,109,,,,',
',102,,,,,,,,,,118,,,,112,111,,,98,99,101,100,103,104,114,96,97,,,,,',
'95,,,,110,105,116,,119,,113,,115,,106,108,107,109,,,,,,,,,102,,,,,,',
'118,,,,112,111,,,98,99,101,100,103,104,,96,97,114,,308,,,95,,,,,,,110',
'105,116,,119,,113,,115,,106,108,107,109,,,,,,102,,,,,,,,,,118,,,,112',
'111,,,98,99,101,100,103,104,,96,97,114,,309,,,95,,,,,,,110,105,116,',
'119,,113,,115,,106,108,107,109,,,,,,102,,,,,,,,,,118,,,,112,111,,,98',
'99,101,100,103,104,114,96,97,,,,,,95,,,,110,105,116,,119,,113,,115,',
'106,108,107,109,,,,,,,,,102,,,,,,,118,,,,112,111,,,98,99,101,100,103',
'104,114,96,97,,,,,,95,,,,110,105,116,,119,,113,,115,,106,108,107,109',
',,,,,,,,102,,,,,,,118,,,114,112,111,,,98,99,101,100,103,104,,96,97,116',
',119,,,95,115,,,,114,,,,,,340,341,,,,,110,105,116,344,119,118,113,,115',
'102,106,108,107,109,,101,100,,,,96,97,,,,,,95,,118,,,114,112,111,,,98',
'99,101,100,103,104,,96,97,116,,119,114,,95,115,102,,,,,,,,,,116,,119',
',,,115,,,,118,,,,102,,,,98,99,101,100,,,,96,97,118,,,114,,95,,,98,99',
'101,100,,,,96,97,116,,119,114,,95,115,,,,,,,,102,,,116,,119,,,,115,',
',,118,,,,102,,,,98,99,101,100,103,104,,96,97,118,,,,114,95,,,98,99,101',
'100,103,104,,96,97,105,116,,119,114,95,,115,,106,,,,,102,,,105,116,',
'119,,,,115,,106,,118,,,102,,,,,98,99,101,100,103,104,,96,97,118,,,,114',
'95,,,98,99,101,100,103,104,,96,97,105,116,,119,114,95,,115,,106,,,,',
'102,,,105,116,,119,,,,115,,106,,118,,,102,,,,,98,99,101,100,103,104',
',96,97,118,,,,,95,,,98,99,101,100,103,104,114,96,97,,,,,,95,,,,110,105',
'116,,119,102,113,,115,,106,108,107,109,,,,,,,,,102,,,,,,,118,,,,,114',
',,98,99,101,100,103,104,,96,97,110,105,116,,119,95,113,,115,,106,108',
'107,109,,,,,,,,,,,,,,,,118,,102,,,111,,,98,99,101,100,103,104,114,96',
'97,,,350,,,95,,,,110,105,116,,119,,113,,115,,106,108,107,109,,,,,,,',
',102,,,,,,,118,,,,112,111,,,98,99,101,100,103,104,,96,97,114,-66,,,',
'95,-66,,,,,,110,105,116,,119,,113,,115,,106,108,107,109,,,,,,102,,,',
',,,,,,118,,,,112,111,,,98,99,101,100,103,104,114,96,97,,,,,,95,,,,110',
'105,116,,119,,113,,115,,106,108,107,109,,,,,,,,,102,,,,,,,118,,,,112',
'111,,,98,99,101,100,103,104,114,96,97,,,,,,95,,,,110,105,116,376,119',
',113,,115,,106,108,107,109,,,,,,,,,102,,,,,,,118,,,,112,111,,,98,99',
'101,100,103,104,,96,97,,362,234,361,235,95,359,237,363,,356,,358,360',
',,,,,,238,233,364,,,,357,,,,,102,,,,,,,236,365,,,,,,,,,,,,368,366,369',
'367,370,240,239,371,362,234,361,235,,359,237,363,,356,,358,360,,,,,',
',238,233,364,,,,357,,,,,,,,,,,,236,365,,,,,,,,,,,,368,366,369,367,370',
'240,239,371,362,234,361,235,,359,237,363,,356,,358,360,,,,,,,238,233',
'364,,,,357,,,,,,,,,,,,236,365,,,,,,,,,,,,368,366,369,367,370,240,239',
'371,362,234,361,235,,359,237,363,,356,,358,360,,,,,,,238,233,364,,,',
'357,,,,,,,,,,,,236,365,,,,,,,,,,,,368,366,369,367,370,240,239,371,362',
'234,361,235,,359,237,363,,356,,358,360,,,,,,,238,233,364,,,,357,,,,',
',,,,,,,236,365,,,,,,,,,,,,368,366,369,367,370,240,239,371,362,234,361',
'235,,359,237,363,,356,,358,360,,,,,,,238,233,364,,,,357,,,,,,,,,,,,236',
'365,,,,,,,,,,,,368,366,369,367,370,240,239,371' ]
        racc_action_table = arr = ::Array.new(10090, 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 = [
'10,10,303,217,10,10,199,10,181,395,181,218,242,531,130,7,7,7,130,199',
'58,58,395,303,10,10,242,199,242,216,395,10,242,10,218,10,10,1,10,10',
'10,199,10,10,10,10,217,5,10,10,130,181,10,242,130,10,10,116,8,215,227',
'232,130,10,227,7,7,7,7,10,227,51,216,10,10,242,10,10,52,217,217,10,10',
'10,10,10,503,503,10,10,503,503,10,503,503,181,227,147,243,116,227,147',
'215,318,232,463,60,463,227,144,503,503,243,227,243,224,145,503,243,503',
'145,503,503,231,503,503,503,155,503,503,503,503,144,147,503,503,318',
'147,503,243,189,503,503,189,225,147,226,230,225,503,226,230,145,165',
'165,503,145,155,224,503,503,243,503,503,145,50,231,503,503,503,503,503',
'332,332,503,503,332,332,503,332,225,406,226,230,225,305,226,230,50,379',
'406,66,225,379,226,230,332,332,78,388,305,79,12,332,388,332,12,332,332',
'12,332,332,332,498,332,332,332,332,498,83,332,332,279,85,332,379,117',
'332,332,379,134,279,379,120,134,332,166,379,12,56,166,332,12,56,279',
'332,332,121,332,332,12,137,279,332,332,332,332,332,505,505,332,332,505',
'505,332,505,134,197,197,57,134,197,166,57,138,56,166,139,134,56,123',
'123,505,505,166,194,194,56,59,505,280,505,59,505,505,142,505,505,505',
'280,505,505,505,505,143,57,505,505,146,57,505,148,280,505,505,229,229',
'57,153,229,280,505,64,64,59,62,157,505,59,62,169,505,505,171,505,505',
'59,16,16,505,505,505,505,505,99,99,505,505,99,99,505,99,320,182,320',
'229,133,402,229,402,185,62,48,48,187,62,63,63,99,99,133,203,133,62,208',
'99,133,99,229,99,99,209,99,99,99,210,99,99,229,229,167,167,99,99,429',
'429,99,133,211,99,99,317,317,158,213,317,228,99,164,164,180,180,264',
'99,65,65,158,99,99,271,99,99,273,274,158,99,99,99,99,99,100,100,99,99',
'100,100,99,100,158,277,281,317,135,285,317,290,291,292,295,301,302,310',
'311,312,100,100,135,313,135,314,316,100,135,100,317,100,100,319,100',
'100,100,323,100,100,317,317,325,337,100,100,342,343,100,135,345,100',
'100,351,353,355,357,374,377,100,381,383,386,389,390,100,393,394,401',
'100,100,403,100,100,404,414,419,100,100,100,100,100,201,201,100,100',
'201,201,100,201,201,428,430,437,241,441,444,449,450,451,457,466,467',
'469,471,474,201,201,241,477,241,478,479,201,241,201,483,201,201,486',
'201,201,201,487,201,201,201,201,492,495,201,201,496,508,201,241,510',
'201,201,512,513,520,522,524,,201,,,,,,201,,,,201,201,,201,201,,,,201',
'201,201,201,201,201,201,201,201,198,198,201,,198,198,136,198,,,,,,,',
',,,,,136,,136,,198,198,136,,,,,198,,198,,198,198,,198,198,198,,198,198',
'198,198,,136,198,198,,,198,,,198,198,61,61,,,61,,198,,,,,,198,,,,198',
'198,,198,198,,,,198,198,198,198,198,515,515,198,198,515,515,198,515',
',,,61,,,61,,,,,,,,,,515,515,,,,,,515,,515,61,515,515,,515,515,515,,515',
'515,61,61,,,515,515,,,515,,,515,515,,,,,,,515,,,,,,515,,,,515,515,,515',
'515,,,,515,515,515,515,515,0,0,515,515,0,0,515,0,,,,,,,,,,,,,,,,,0,0',
',,,,,0,,0,,0,0,,0,0,0,,0,0,0,0,,,0,0,,,0,,,0,0,,,,,,,0,,,,,,0,,,,0,0',
',0,0,0,,,0,0,0,0,0,168,168,0,0,168,168,0,168,168,,,,,,,,,,,,,,,,168',
'168,,,,,,168,,168,,168,168,,168,168,168,,168,168,168,168,,,168,168,',
',168,,,168,168,416,416,,,416,,168,,,,,,168,,,,168,168,,168,168,,,,168',
'168,168,168,168,101,101,168,168,101,101,168,101,,,,416,,,416,,,,,,,',
',,101,101,,,,,,101,,101,416,101,101,,101,101,101,,101,101,416,416,,',
'101,101,,,101,,,101,101,,,,,,,101,,,,,,101,,,,101,101,,101,101,,,,101',
'101,101,101,101,93,93,101,101,93,93,101,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,102,102,93,93,102,102,93,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,92,92,102,102,92,92,102,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,347,347,92,92,347,347',
'92,347,,,,,,,,,,,,,,,,,347,347,,,,,,347,,347,,347,347,,347,347,347,',
'347,347,,,,,347,347,,,347,,,347,347,,,,,,,347,,,,,,347,,,,347,347,,347',
'347,,,,347,347,347,347,347,348,348,347,347,348,348,347,348,,,,,,,,,',
',,,,,,,348,348,,,,,,348,,348,,348,348,,348,348,348,,348,348,,,,,348',
'348,,,348,,,348,348,,,,,,,348,,,,,,348,,,,348,348,,348,348,,,,348,348',
'348,348,348,349,349,348,348,349,349,348,349,,,,,,,,,,,,,,,,,349,349',
',,,,,349,,349,,349,349,,349,349,349,,349,349,,,,,349,349,,,349,,,349',
'349,,,,,,,349,,,,,,349,,,,349,349,,349,349,,,,349,349,349,349,349,350',
'350,349,349,350,350,349,350,,,,,,,,,,,,,,,,,350,350,,,,,,350,,350,,350',
'350,,350,350,350,,350,350,,,,,350,350,,,350,,,350,350,,,,,,,350,,,,',
',350,,,,350,350,,350,350,,,,350,350,350,350,350,103,103,350,350,103',
'103,350,103,,,,,,,,,,,,,,,,,103,103,,,,,,103,,103,,103,103,,103,103',
'103,,103,103,,,,,103,103,,,103,,,103,103,,,,,,,103,,,,,,103,,,,103,103',
',103,103,,,,103,103,103,103,103,104,104,103,103,104,104,103,104,,,,',
',,,,,,,,,,,,104,104,,,,,,104,,104,,104,104,,104,104,104,,104,104,,,',
',104,104,,,104,,,104,104,,,,,,,104,,,,,,104,,,,104,104,,104,104,,,,104',
'104,104,104,104,354,354,104,104,354,354,104,354,,,,,,,,,,,,,,,,,354',
'354,,,,,,354,,354,,354,354,,354,354,354,,354,354,354,354,,,354,354,',
',354,,,354,354,,,,,,,354,,,,,,354,,,,354,354,,354,354,,,,354,354,354',
'354,354,354,354,354,354,105,105,354,248,105,105,,105,,,,,,,,,,248,,248',
',,,248,105,105,,,,,,105,,105,,105,105,,105,105,105,,105,105,248,,,,105',
'105,,,105,,,105,105,,,248,248,,,105,,,248,,,105,,,,105,105,,105,105',
',,,105,105,105,105,105,106,106,105,105,106,106,105,106,,,,,,,,,,,,,',
',,,106,106,,,,,,106,,106,,106,106,,106,106,106,,106,106,,,,,106,106',
',,106,,,106,106,,,,,,,106,,,,,,106,,,,106,106,,106,106,,,,106,106,106',
'106,106,107,107,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,375,375',
'107,107,375,375,107,375,,,,,,,,,,,,,,,,,375,375,,,,,,375,,375,,375,375',
',375,375,375,,375,375,,,,,375,375,,,375,,,375,375,,,,,,,375,,,,,,375',
',,,375,375,,375,375,,,,375,375,375,375,375,91,91,375,375,91,91,375,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,108',
'108,91,91,108,108,91,108,,,,,,,,,,,,,,,,,108,108,,,,,,108,,108,,108',
'108,,108,108,108,,108,108,,,,,108,108,,,108,,,108,108,,,,,,,108,,,,',
',108,,,,108,108,,108,108,,,,108,108,108,108,108,90,90,108,108,90,90',
'108,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,109,109,90,90,109,109,90,109,,,,,,,,,,,,,,,,,109,109,,,,,,109',
',109,,109,109,,109,109,109,,109,109,,,,,109,109,,,109,,,109,109,,,,',
',,109,,,,,,109,,,,109,109,,109,109,,,,109,109,109,109,109,110,110,109',
'109,110,110,109,110,,,,,,,,,,,,,,,,,110,110,,,,,,110,,110,,110,110,',
'110,110,110,,110,110,,,,,110,110,,,110,,,110,110,,,,,,,110,,,,,,110',
',,,110,110,,110,110,,,,110,110,110,110,110,309,309,110,110,309,309,110',
'309,,,,,,,,,,,,,,,,,309,309,,,,,,309,,309,,309,309,,309,309,309,,309',
'309,,,,,309,309,,,309,,,309,309,,,,,,,309,,,,,,309,,,,309,309,,309,309',
',,,309,309,309,309,309,111,111,309,309,111,111,309,111,,,,,,,,,,,,,',
',,,111,111,,,,,,111,,111,,111,111,,111,111,111,,111,111,,,,,111,111',
',,111,,,111,111,,,,,,,111,,,,,,111,,,,111,111,,111,111,,,,111,111,111',
'111,111,308,308,111,111,308,308,111,308,308,,,,,,,,,,,,,,,,308,308,',
',,,,308,,308,,308,308,,308,308,308,,308,308,308,308,,,308,308,,,308',
',,308,308,,,,,,,308,,,,,,308,,,,308,308,,308,308,,,,308,308,308,308',
'308,112,112,308,308,112,112,308,112,,,,,,,,,,,,,,,,,112,112,,,,,,112',
',112,,112,112,,112,112,112,,112,112,,,,,112,112,,,112,,,112,112,,,,',
',,112,,,,,,112,,,,112,112,,112,112,,,,112,112,112,112,112,113,113,112',
'112,113,113,112,113,,,,,,,,,,,,,,,,,113,113,,,,,,113,,113,,113,113,',
'113,113,113,,113,113,,,,,113,113,,,113,,,113,113,,,,,,,113,,,,,,113',
',,113,113,113,,113,113,,,,113,113,113,113,113,392,392,113,113,392,392',
'113,392,392,,,,,,,,,,,,,,,,392,392,,,,,,392,,392,,392,392,,392,392,392',
',392,392,392,392,,,392,392,,,392,,,392,392,,,,,,,392,,,,,,392,,,,392',
'392,,392,392,,,,392,392,392,392,392,114,114,392,392,114,114,392,114',
',,,,,,,,,,,,,,,,114,114,,,,,,114,,114,,114,114,,114,114,114,,114,114',
'114,114,,,114,114,,,114,,,114,114,,,,,,,114,,,,,,114,,,,114,114,,114',
'114,,,,114,114,114,114,114,114,114,114,114,307,307,114,,307,307,,307',
'307,,,,,,,,,,,,,,,,307,307,,,,,,307,,307,,307,307,,307,307,307,,307',
'307,307,307,,,307,307,,,307,,,307,307,,,,,,,307,,,,,,307,,,,307,307',
',307,307,,,,307,307,307,307,307,89,89,307,307,89,89,307,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,396,396,89',
'89,396,396,89,396,,,,,,,,,,,,,,,,,396,396,,,,,,396,,396,,396,396,,396',
'396,396,,396,396,,,,,396,396,,,396,,,396,396,,,,,,,396,,,,,,396,,,,396',
'396,,396,396,,,,396,396,396,396,396,399,399,396,396,399,399,396,399',
',,,,,,,,,,,,,,,,399,399,,,,,,399,,399,,399,399,,399,399,399,,399,399',
'399,399,,,399,399,,,399,,,399,399,,,,,,,399,,,,,,399,,,,399,399,,399',
'399,,,,399,399,399,399,399,399,399,399,399,18,18,399,247,18,18,,18,',
',,,,,,,,247,,247,,,,247,18,18,,,,,,18,,18,,18,18,,18,18,18,,18,18,247',
',,,18,18,,,18,,,18,18,,,247,247,,,18,,,247,,,18,,,,18,18,,18,18,,,,18',
'18,18,18,18,88,88,18,18,88,88,18,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,118,118,88,88,118,118,88,118,,,,,',
',,,,,,,,,,,118,118,,,,,,118,,118,,118,118,,118,118,118,,118,118,,,,',
'118,118,,,118,,,118,118,,,,,,,118,,,,,,118,,,,118,118,,118,118,,,,118',
'118,118,118,118,119,119,118,118,119,119,118,119,,,,,,,,,,,,,,,,,119',
'119,,,,,,119,,119,,119,119,,119,119,119,,119,119,,,,,119,119,,,119,',
',119,119,,,,,,,119,,,,,,119,,,,119,119,,119,119,,,,119,119,119,119,119',
'95,95,119,119,95,95,119,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,87,87,95,95,87,87,95,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,407,407,87,87,407,407,87',
'407,407,,,,,,,,,,,,,,,,407,407,,,,,,407,,407,,407,407,,407,407,407,',
'407,407,,,,,407,407,,,407,,,407,407,,,,,,,407,,,,,,407,,,,407,407,,407',
'407,,,,407,407,407,407,407,409,409,407,407,409,409,407,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,410,410,409,409,410,410,409,410,,,,,,,,,,,,,,,,',
'410,410,,,,,,410,,410,,410,410,,410,410,410,,410,410,410,410,,,410,410',
',,410,,,410,410,,,,,,,410,,,,,,410,,,,410,410,,410,410,,,,410,410,410',
'410,410,86,86,410,410,86,86,410,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,412,412,86,86,412,412,86,412,,,,,',
',,,,,,,,,,,412,412,,,,,,412,,412,,412,412,,412,412,412,,412,412,412',
'412,,,412,412,,,412,,,412,412,,,,,,,412,,,,,,412,,,,412,412,,412,412',
',,,412,412,412,412,412,19,19,412,412,19,19,412,19,,,,,,,,,,,,,,,,,19',
'19,,,,,,19,,19,,19,19,,19,19,19,,19,19,,,,,19,19,,,19,,,19,19,,,,,,',
'19,,,,,,19,,,,19,19,,19,19,,,,19,19,19,19,19,17,17,19,19,17,17,19,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,20,20',
'17,17,20,20,17,20,,,,,,,,,,,,,,,,,20,20,,,,,,20,,20,,20,20,,20,20,20',
',20,20,20,20,,,20,20,,,20,,,20,20,,,,,,,20,,,,,,20,,,,20,20,,20,20,',
',,20,20,20,20,20,421,421,20,20,421,421,20,421,,,,,,,,,,,,,,,,,421,421',
',,,,,421,,421,,421,421,,421,421,421,,421,421,421,421,,,421,421,,,421',
',,421,421,,,,,,,421,,,,,,421,,,,421,421,,421,421,,,,421,421,421,421',
'421,421,421,421,421,122,122,421,246,122,122,,122,,,,,,,,,,246,,246,',
',,246,122,122,,,,,,122,,122,,122,122,,122,122,122,,122,122,246,,,,122',
'122,,,122,,,122,122,,,246,246,,,122,,,246,,,122,,,,122,122,,122,122',
',,,122,122,122,122,122,84,84,122,122,84,84,122,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,289,289,84,84,289,289',
'84,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,96,96,289,289,96,96,289,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,94,94,96',
'96,94,94,96,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,94,94,94,94,94,94,94,97,97,94,,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,324,324,97,97,324,324',
'97,324,,,,,,,,,,,,,,,,,324,324,,,,,,324,,324,,324,324,,324,324,324,',
'324,324,324,324,,,324,324,,,324,,,324,324,,,,,,,324,,,,,,324,,,,324',
'324,,324,324,,,,324,324,324,324,324,324,324,324,324,288,288,324,,288',
'288,,288,,,,,,,,,,,,,,,,,288,288,,,,,,288,,288,,288,288,,288,288,288',
',288,288,288,288,,,288,288,,,288,,,288,288,,,,,,,288,,,,,,288,,,,288',
'288,,288,288,,,,288,288,288,288,288,288,288,288,288,438,438,288,,438',
'438,,438,,,,,,,,,,,,,,,,,438,438,,,,,,438,,438,,438,438,,438,438,438',
',438,438,,,,,438,438,,,438,,,438,438,,,,,,,438,,,,,,438,,,,438,438,',
'438,438,,,,438,438,438,438,438,287,287,438,438,287,287,438,287,,,,,',
',,,,,,,,,,,287,287,,,,,,287,,287,,287,287,,287,287,287,,287,287,287',
'287,,,287,287,,,287,,,287,287,,,,,,,287,,,,,,287,,,,287,287,,287,287',
',,,287,287,287,287,287,287,287,287,287,284,284,287,,284,284,,284,,,',
',,,,,,,,,,,,,284,284,,,,,,284,,284,,284,284,,284,284,284,,284,284,284',
'284,,,284,284,,,284,,,284,284,,,,,,,284,,,,,,284,,,,284,284,,284,284',
',,,284,284,284,284,284,284,284,284,284,445,445,284,,445,445,,445,,,',
',,,,,,,,,,,,,445,445,,,,,,445,,445,,445,445,,445,445,445,,445,445,445',
'445,,,445,445,,,445,,,445,445,,,,,,,445,,,,,,445,,,,445,445,,445,445',
',,,445,445,445,445,445,81,81,445,445,81,81,445,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,11,11,81,81,11,11,81,11',
',,,,,,,,,,,,,,,,11,11,,,,,,11,,11,,11,11,,11,11,11,,11,11,11,11,,,11',
'11,,,11,,,11,11,,,,,,,11,,,,,,11,,,,11,11,,11,11,,,,11,11,11,11,11,21',
'21,11,11,21,21,11,21,,,,,,,,,,,,,,,,,21,21,,,,,,21,,21,,21,21,,21,21',
'21,,21,21,21,21,,,21,21,,,21,,,21,21,,,,,,,21,,,,,,21,,,,21,21,,21,21',
',,,21,21,21,21,21,453,453,21,21,453,453,21,453,,,,,,,,,,,,,,,,,453,453',
',,,,,453,,453,,453,453,,453,453,453,,453,453,453,453,,,453,453,,,453',
',,453,453,,,,,,,453,,,,,,453,,,,453,453,,453,453,,,,453,453,453,453',
'453,453,453,453,453,456,456,453,,456,456,,456,,,,,,,,,,,,,,,,,456,456',
',,,,,456,,456,,456,456,,456,456,456,,456,456,456,456,,,456,456,,,456',
',,456,456,,,,,,,456,,,,,,456,,,,456,456,,456,456,,,,456,456,456,456',
'456,76,76,456,456,76,76,456,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,459,459,76,76,459,459,76,459,,,,,,,,,,,',
',,,,,459,459,,,,,,459,,459,,459,459,,459,459,459,,459,459,459,459,,',
'459,459,,,459,,,459,459,,,,,,,459,,,,,,459,,,,459,459,,459,459,,,,459',
'459,459,459,459,459,459,459,459,98,98,459,,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,72,72,98,98,72,72,98',
'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,72,72,465,465,72,,465,465,,465,,,,,,,,,,,,,,,,,465,465,,,,',
',465,,465,,465,465,,465,465,465,,465,465,,,,,465,465,,,465,,,465,465',
',,,,,,465,,,,,,465,,,,465,465,,465,465,,,,465,465,465,465,465,49,49',
'465,465,49,49,465,49,,,,,,,,,,,,,,,,,49,49,49,,,,,49,,49,,49,49,,49',
'49,49,,49,49,49,49,,,49,49,,,49,,,49,49,,,,,,,49,,,,,,49,,,,49,49,,49',
'49,,,,49,49,49,49,49,49,49,49,49,71,71,49,,71,71,71,71,,,,,,,,,,,,,',
',,,71,71,,,,,,71,,71,,71,71,,71,71,71,,71,71,71,71,,,71,71,,,71,,,71',
'71,,,,,,,71,,,,,,71,,,,71,71,,71,71,,,,71,71,71,71,71,71,71,71,71,262',
'262,71,,262,262,,262,,,,,,,,,,,,,,,,,262,262,,,,,,262,,262,,262,262',
',262,262,262,,262,262,,,,,262,262,,,262,,,262,262,,,,,,,262,,,,,,262',
',,,262,262,,262,262,,,,262,262,262,262,262,470,470,262,262,470,470,262',
'470,,,,,,,,,,,,,,,,,470,470,,,,,,470,,470,,470,470,,470,470,470,,470',
'470,,,,,470,470,,,470,,,470,470,,,,,,,470,,,,,,470,,,,470,470,,470,470',
',,,470,470,470,470,470,,,470,470,70,70,470,,70,70,70,70,,,,,,,,,,,,',
',,,,70,70,,,,,,70,,70,,70,70,,70,70,70,,70,70,70,70,,,70,70,,,70,,,70',
'70,,,,,,,70,,,,,,70,,,,70,70,,70,70,,,,70,70,70,70,70,70,70,70,70,221',
'221,70,,221,221,,221,,,,,,,,,,,,,,,,,221,221,,,,,,221,,221,,221,221',
',221,221,221,,221,221,,,,,221,221,,,221,,,221,221,,,,,,,221,,,,,,221',
',,,221,221,,221,221,,,,221,221,221,221,221,4,4,221,221,4,4,221,4,,,',
',,,,,,,,,,,,,4,4,,,,,,4,,4,,4,4,,4,4,4,4,4,4,4,4,,,4,4,,,4,,,4,4,,,',
',,,4,,,,,,4,,,,4,4,,4,4,,,,4,4,4,4,4,220,220,4,4,220,220,4,220,,,,,',
',,,,,,,,,,,220,220,,,,,,220,,220,,220,220,,220,220,220,,220,220,,,,',
'220,220,,,220,,,220,220,,,,,,,220,,,,,,220,,,,220,220,,220,220,,,,220',
'220,220,220,220,53,53,220,220,53,53,220,53,,,,,,,,,,,,,,,,,53,53,,,',
',,53,,53,,53,53,,53,53,53,,53,53,,,,,53,53,,,53,,,53,53,,,,,,,53,,,',
',,53,,,,53,53,,53,53,,,,53,53,53,53,53,480,480,53,53,480,480,53,480',
'480,,,,,,,,,,,,,,,,480,480,,,,,,480,,480,,480,480,,480,480,480,,480',
'480,480,480,,,480,480,,,480,,,480,480,,,,,,,480,,,,,,480,,,,480,480',
',480,480,,,,480,480,480,480,480,482,482,480,480,482,482,480,482,,,,',
',,,,,,,,,,,,482,482,,,,,,482,,482,,482,482,,482,482,482,,482,482,482',
'482,,,482,482,,,482,,,482,482,,,,,,,482,,,,,,482,,,,482,482,,482,482',
',,,482,482,482,482,482,54,54,482,482,54,54,482,54,,,,,,,,,,,,,,,,,54',
'54,,,,,,54,,54,,54,54,,54,54,54,,54,54,,,,,54,54,,,54,,,54,54,,,,,,',
'54,,,,,,54,,,,54,54,,54,54,,,,54,54,54,54,54,219,219,54,54,219,219,54',
'219,,,,,,,,,,,,,,,,,219,219,,,,,,219,,219,,219,219,,219,219,219,,219',
'219,,,,,219,219,,,219,,,219,219,,,,,,,219,,,,,,219,,,,219,219,,219,219',
',,,219,219,219,219,219,55,55,219,219,55,55,219,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,214,214,55,55,214,214,55',
'214,,,214,,,,,,,,,,,,,,214,214,,,,,,214,,214,,214,214,,214,214,214,',
'214,214,,,,,214,214,,,214,,,214,214,,,,,,,214,,,,,,214,,,,214,214,,214',
'214,,,,214,214,214,214,214,159,159,214,214,159,159,214,159,,,,,,,,,',
',,,,,,,159,159,159,,,,,159,,159,,159,159,,159,159,159,,159,159,159,159',
',,159,159,,,159,,,159,159,,,,,,,159,,,,,,159,,,,159,159,,159,159,,,',
'159,159,159,159,159,159,159,159,159,327,327,159,,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,327,327,327,327,327,327,501,501,327,,501,501,,501,501',
',,,,,,,,,,,,,,,501,501,,,,,,501,,501,,501,501,,501,501,501,,501,501',
'501,501,244,,501,501,,,501,,,501,501,,,,244,,244,501,,,244,,,501,,,',
'501,501,,501,501,,,,501,501,501,501,501,,244,501,501,,,501,,,,,244,244',
'405,,,244,244,,,,,,244,,405,405,405,,405,,405,,405,,405,405,405,405',
',,,,,,,,,,244,,,,,405,,,,405,405,,,405,405,405,405,405,405,433,405,405',
',,,,,405,,,,433,433,433,,433,,433,,433,,433,433,433,433,,,,,,,,,405',
',,,,,,433,,,,433,433,,,433,433,433,433,433,433,434,433,433,,,,,,433',
',,,434,434,434,,434,,434,,434,,434,434,434,434,,,,,,,,,433,,,,,,,434',
',,,434,434,,,434,434,434,434,434,434,435,434,434,,,,,,434,,,,435,435',
'435,,435,,435,,435,,435,435,435,435,,,,,,,,,434,,,,,,,435,,,,435,435',
',,435,435,435,435,435,435,436,435,435,,,,,,435,,,,436,436,436,,436,',
'436,,436,,436,436,436,436,,,,,,,,,435,,,,,,,436,,,,436,436,,,436,436',
'436,436,436,436,462,436,436,,,,,,436,,,,462,462,462,,462,,462,,462,',
'462,462,462,462,,,,,,,,,436,,,,,,,462,,,,462,462,,,462,462,462,462,462',
'462,,462,462,160,,160,,,462,,,,,,,160,160,160,,160,,160,,160,,160,160',
'160,160,,,,,,462,,,,,,,,,,160,,,,160,160,,,160,160,160,160,160,160,504',
'160,160,,,,,,160,,,,504,504,504,,504,,504,,504,,504,504,504,504,,,,',
',,,,160,,,,,,,504,,,,504,504,,,504,504,504,504,504,504,,504,504,162',
',162,,,504,,,,,,,162,162,162,,162,,162,,162,,162,162,162,162,,,,,,504',
',,,,,,,,,162,,,,162,162,,,162,162,162,162,162,162,,162,162,163,,163',
',,162,,,,,,,163,163,163,,163,,163,,163,,163,163,163,163,,,,,,162,,,',
',,,,,,163,,,,163,163,,,163,163,163,163,163,163,9,163,163,,,,,,163,,',
',9,9,9,,9,,9,,9,,9,9,9,9,,,,,,,,,163,,,,,,,9,,,,9,9,,,9,9,9,9,9,9,200',
'9,9,,,,,,9,,,,200,200,200,,200,,200,,200,,200,200,200,200,,,,,,,,,9',
',,,,,,200,,,245,200,200,,,200,200,200,200,200,200,,200,200,245,,245',
',,200,245,,,,212,,,,,,200,200,,,,,212,212,212,212,212,245,212,,212,200',
'212,212,212,212,,245,245,,,,245,245,,,,,,245,,212,,,249,212,212,,,212',
'212,212,212,212,212,,212,212,249,,249,250,,212,249,245,,,,,,,,,,250',
',250,,,,250,,,,249,,,,212,,,,249,249,249,249,,,,249,249,250,,,251,,249',
',,250,250,250,250,,,,250,250,251,,251,252,,250,251,,,,,,,,249,,,252',
',252,,,,252,,,,251,,,,250,,,,251,251,251,251,251,251,,251,251,252,,',
',253,251,,,252,252,252,252,252,252,,252,252,253,253,,253,254,252,,253',
',253,,,,,251,,,254,254,,254,,,,254,,254,,253,,,252,,,,,253,253,253,253',
'253,253,,253,253,254,,,,255,253,,,254,254,254,254,254,254,,254,254,255',
'255,,255,256,254,,255,,255,,,,,253,,,256,256,,256,,,,256,,256,,255,',
',254,,,,,255,255,255,255,255,255,,255,255,256,,,,,255,,,256,256,256',
'256,256,256,257,256,256,,,,,,256,,,,257,257,257,,257,255,257,,257,,257',
'257,257,257,,,,,,,,,256,,,,,,,257,,,,,258,,,257,257,257,257,257,257',
',257,257,258,258,258,,258,257,258,,258,,258,258,258,258,,,,,,,,,,,,',
',,,258,,257,,,258,,,258,258,258,258,258,258,259,258,258,,,259,,,258',
',,,259,259,259,,259,,259,,259,,259,259,259,259,,,,,,,,,258,,,,,,,259',
',,,259,259,,,259,259,259,259,259,259,,259,259,263,263,,,,259,263,,,',
',,263,263,263,,263,,263,,263,,263,263,263,263,,,,,,259,,,,,,,,,,263',
',,,263,263,,,263,263,263,263,263,263,270,263,263,,,,,,263,,,,270,270',
'270,,270,,270,,270,,270,270,270,270,,,,,,,,,263,,,,,,,270,,,,270,270',
',,270,270,270,270,270,270,275,270,270,,,,,,270,,,,275,275,275,275,275',
',275,,275,,275,275,275,275,,,,,,,,,270,,,,,,,275,,,,275,275,,,275,275',
'275,275,275,275,,275,275,,376,376,376,376,275,376,376,376,,376,,376',
'376,,,,,,,376,376,376,,,,376,,,,,275,,,,,,,376,376,,,,,,,,,,,,376,376',
'376,376,376,376,376,376,411,411,411,411,,411,411,411,,411,,411,411,',
',,,,,411,411,411,,,,411,,,,,,,,,,,,411,411,,,,,,,,,,,,411,411,411,411',
'411,411,411,411,346,346,346,346,,346,346,346,,346,,346,346,,,,,,,346',
'346,346,,,,346,,,,,,,,,,,,346,346,,,,,,,,,,,,346,346,346,346,346,346',
'346,346,344,344,344,344,,344,344,344,,344,,344,344,,,,,,,344,344,344',
',,,344,,,,,,,,,,,,344,344,,,,,,,,,,,,344,344,344,344,344,344,344,344',
'384,384,384,384,,384,384,384,,384,,384,384,,,,,,,384,384,384,,,,384',
',,,,,,,,,,,384,384,,,,,,,,,,,,384,384,384,384,384,384,384,384,269,269',
'269,269,,269,269,269,,269,,269,269,,,,,,,269,269,269,,,,269,,,,,,,,',
',,,269,269,,,,,,,,,,,,269,269,269,269,269,269,269,269' ]
        racc_action_check = arr = ::Array.new(10090, 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 = [
   776,    37,   nil,   nil,  7376,    34,   nil,    -1,    49,  8983,
    -2,  6058,   200,   nil,   nil,   nil,   249,  4658,  3626,  4572,
  4744,  6144,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   274,  6844,
   138,    -1,    51,  7548,  7806,  7978,   237,   267,   -68,   286,
    97,   661,   323,   278,   234,   326,   175,   nil,   nil,   nil,
  7200,  6934,  6668,   nil,   nil,   nil,  6406,   nil,   121,   129,
   nil,  5972,   nil,   219,  5006,   210,  4400,  4056,  3712,  3364,
  2414,  2242,  1206,  1034,  5264,  3970,  5178,  5354,  6582,   342,
   428,   948,  1120,  1636,  1722,  1898,  1984,  2070,  2328,  2500,
  2586,  2758,  2930,  3016,  3188,   nil,    15,   217,  3798,  3884,
   224,   238,  4920,   254,   nil,   nil,   nil,   nil,   nil,   nil,
    12,   nil,   nil,   349,   228,   435,   605,   223,   246,   265,
   nil,   nil,   282,   232,    82,   114,   299,    95,   299,   nil,
   nil,   nil,   nil,   311,   nil,   118,   nil,   265,   366,  8150,
  8757,   nil,  8870,  8928,   382,   127,   234,   364,   862,   317,
   nil,   312,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   384,     1,   340,   nil,   nil,   348,   nil,   351,   nil,   130,
   nil,   nil,   nil,   nil,   281,   nil,   nil,   265,   604,   -31,
  9038,   514,   nil,   358,   nil,   nil,   nil,   nil,   365,   372,
   376,   389,  9106,   391,  8064,    47,    17,    -9,   -16,  7892,
  7462,  7290,   nil,   nil,   103,   142,   144,    58,   397,   313,
   145,   111,    49,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   521,     5,    91,  8371,  9082,  4918,  3624,  1896,  9150,
  9167,  9211,  9228,  9273,  9290,  9335,  9352,  9407,  9453,  9508,
   nil,   nil,  7024,  9566,   399,   nil,   nil,   nil,   nil,  9999,
  9621,   370,   nil,   398,   380,  9676,   nil,   400,   nil,   194,
   262,   431,   nil,   nil,  5796,   415,   nil,  5706,  5530,  5092,
   395,   437,   397,   nil,   nil,   435,   nil,   nil,   nil,   nil,
   nil,   433,   413,   -35,   nil,   172,   nil,  3278,  2844,  2672,
   442,   443,   444,   448,   449,   nil,   421,   399,    61,   406,
   345,   nil,   nil,   463,  5440,   468,   nil,  8240,   nil,   nil,
   nil,   nil,   170,   nil,   nil,   nil,   nil,   464,   nil,   nil,
   nil,   nil,   468,   471,  9883,   474,  9825,  1292,  1378,  1464,
  1550,   474,   nil,   480,  1808,   476,   nil,   478,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   481,  2156,  9709,   483,   nil,   187,
   nil,   481,   nil,   482,  9941,   nil,   424,   nil,   191,   487,
   489,   nil,  3102,   493,   429,   -28,  3450,   nil,   nil,  3536,
   nil,   492,   323,   495,   474,  8424,   168,  4142,   nil,  4228,
  4314,  9767,  4486,   nil,   500,   nil,   919,   nil,   nil,   501,
   nil,  4830,   nil,   nil,   nil,   nil,   nil,   nil,   453,   313,
   513,   nil,   nil,  8479,  8534,  8589,  8644,   517,  5620,   nil,
   nil,   519,   nil,   nil,   517,  5886,   nil,   nil,   nil,   503,
   504,   520,   nil,  6230,   nil,   nil,  6320,   524,   nil,  6492,
   nil,   nil,  8699,    71,   nil,  6758,   526,   502,   nil,   528,
  7110,   529,   nil,   nil,   529,   nil,   nil,   533,   532,   536,
  7634,   nil,  7720,   537,   nil,   nil,   543,   514,   nil,   nil,
   nil,   nil,   552,   nil,   nil,   553,   556,   nil,   205,   nil,
   nil,  8330,   nil,    84,  8812,   256,   nil,   nil,   557,   nil,
   560,   nil,   563,   566,   nil,   690,   nil,   nil,   nil,   nil,
   565,   nil,   566,   nil,   567,   nil,   nil,   nil,   nil,   nil,
   nil,   -30,   nil,   nil,   nil,   nil ]

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

racc_goto_table = [
     2,   274,   174,   172,   141,   264,   133,   135,   136,   124,
   191,   137,   138,   213,   156,   153,   261,   374,   339,   272,
   272,   154,   335,   291,   142,   193,   440,   321,   185,   185,
   295,   417,    85,   130,   408,   333,   120,   121,   182,   187,
   139,   468,   160,   162,   163,   271,   273,     3,   486,   464,
   443,   260,   266,   164,   165,   322,   124,   391,   293,   180,
   500,   139,   139,   192,   407,   524,   351,   195,   432,   167,
   200,   337,   377,   446,   414,   166,   418,   204,   205,   206,
   207,   461,   398,   212,   241,   242,   243,   244,   245,   246,
   247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
   257,   258,   259,   263,   502,   192,   286,   270,   270,   153,
   499,   275,   203,   389,   141,   154,   208,   209,   210,   211,
   397,   474,   477,   153,   479,   440,   387,   281,   423,     1,
   481,   124,   473,   277,   305,   334,   331,   332,   330,   191,
   196,   198,   165,   nil,   180,   nil,   320,   nil,   nil,   nil,
   139,   381,   383,   nil,   nil,   nil,   nil,   492,   nil,   nil,
   nil,   nil,   nil,   312,   153,   352,   420,   nil,   314,   nil,
   174,   172,   nil,   nil,   310,   311,   nil,   313,   378,   388,
   nil,   nil,   nil,   153,   nil,   419,   nil,   nil,   355,   154,
   319,   nil,   342,   nil,   512,   nil,   nil,   nil,   336,   nil,
   nil,   343,   nil,   135,   nil,   nil,   nil,   nil,   160,   162,
   163,   nil,   nil,   nil,   nil,   nil,   nil,   415,   nil,   nil,
   293,   nil,   164,   165,   124,   nil,   266,   180,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   385,
   nil,   nil,   nil,   nil,   153,   153,   nil,   485,   nil,   nil,
   nil,   259,   nil,   nil,   nil,   nil,   285,   393,   174,   172,
   nil,   nil,   nil,   430,   nil,   426,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   535,   139,   nil,   263,   192,   192,
   496,   427,   185,   316,   nil,   nil,   nil,   nil,   nil,   336,
   nil,   nil,   266,   nil,   nil,   444,   323,   nil,   405,   nil,
   nil,   325,   nil,   451,   nil,   nil,   nil,   401,   403,   nil,
   476,   476,   483,   476,   nil,   139,   nil,   nil,   192,   nil,
   nil,   nil,   nil,   195,   nil,   nil,   nil,   345,   nil,   nil,
   478,   nil,   nil,   nil,   nil,   nil,   433,   434,   435,   436,
   nil,   489,   nil,   263,   nil,   192,   476,   nil,   nil,   452,
   498,   nil,   nil,   nil,   385,   nil,   nil,   174,   172,   266,
   153,   nil,   nil,   nil,   275,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   447,   nil,   353,   nil,
   nil,   nil,   nil,   476,   nil,   462,   nil,   nil,   nil,   nil,
   139,   266,   457,   nil,   531,   nil,   405,   266,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   525,   nil,   nil,   394,
   263,   nil,   192,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   259,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   263,   nil,   192,   nil,   nil,   nil,   263,   nil,
   192,   428,   nil,   nil,   160,   nil,   336,   nil,   nil,   504,
   nil,   nil,   nil,   nil,   nil,   437,   nil,   nil,   nil,   441,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   510,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   449,   nil,   450,   nil,   nil,
   nil,   520,   nil,   522,   275,   526,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   487,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   491,   nil,
   nil,   nil,   nil,   nil,   nil,   495,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   508,   nil,   nil,   nil,   nil,   513 ]

racc_goto_check = [
     2,    15,    46,    47,     8,    24,    12,    12,    12,    71,
     9,     6,     6,    13,    50,    48,    64,    16,   107,    63,
    63,    88,    90,    54,    10,   100,    25,    45,    95,    95,
    56,    80,     5,    74,    61,    96,    11,    11,    91,    91,
     6,    59,    12,    12,    12,    67,    67,     3,    14,    58,
    18,    23,     9,    71,    71,    44,    71,    55,    63,    71,
    57,     6,     6,     6,    60,    62,    65,     6,    68,    75,
    12,    56,    76,    77,    79,    74,    82,     6,     6,     6,
     6,    83,    84,    12,    12,    12,    12,    12,    12,    12,
    12,    12,    12,    12,    12,    12,    12,    12,    12,    12,
    12,    12,    12,    12,    59,     6,    50,    12,    12,    48,
    58,    12,     5,    90,     8,    88,    11,    11,    11,    11,
    86,    73,    73,    48,    73,    25,    93,    71,    94,     1,
    80,    71,    61,    72,    10,    97,   101,   102,   104,     9,
   105,   106,    71,   nil,    71,   nil,    48,   nil,   nil,   nil,
     6,    56,    56,   nil,   nil,   nil,   nil,    73,   nil,   nil,
   nil,   nil,   nil,    71,    48,    64,    45,   nil,     2,   nil,
    46,    47,   nil,   nil,    72,    72,   nil,    72,    63,    24,
   nil,   nil,   nil,    48,   nil,    54,   nil,   nil,    13,    88,
    72,   nil,     6,   nil,    73,   nil,   nil,   nil,     2,   nil,
   nil,     2,   nil,    12,   nil,   nil,   nil,   nil,    12,    12,
    12,   nil,   nil,   nil,   nil,   nil,   nil,    63,   nil,   nil,
    63,   nil,    71,    71,    71,   nil,     9,    71,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,     8,
   nil,   nil,   nil,   nil,    48,    48,   nil,   107,   nil,   nil,
   nil,    12,   nil,   nil,   nil,   nil,    17,    48,    46,    47,
   nil,   nil,   nil,    13,   nil,     9,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    16,     6,   nil,    12,     6,     6,
    90,   100,    95,    17,   nil,   nil,   nil,   nil,   nil,     2,
   nil,   nil,     9,   nil,   nil,    13,    17,   nil,    12,   nil,
   nil,    17,   nil,    13,   nil,   nil,   nil,     2,     2,   nil,
    63,    63,    24,    63,   nil,     6,   nil,   nil,     6,   nil,
   nil,   nil,   nil,     6,   nil,   nil,   nil,    17,   nil,   nil,
    13,   nil,   nil,   nil,   nil,   nil,    12,    12,    12,    12,
   nil,    64,   nil,    12,   nil,     6,    63,   nil,   nil,    50,
    24,   nil,   nil,   nil,     8,   nil,   nil,    46,    47,     9,
    48,   nil,   nil,   nil,    12,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,    71,   nil,    17,   nil,
   nil,   nil,   nil,    63,   nil,    12,   nil,   nil,   nil,   nil,
     6,     9,     2,   nil,    15,   nil,    12,     9,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,    63,   nil,   nil,    17,
    12,   nil,     6,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,    12,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,    12,   nil,     6,   nil,   nil,   nil,    12,   nil,
     6,    17,   nil,   nil,    12,   nil,     2,   nil,   nil,    12,
   nil,   nil,   nil,   nil,   nil,    17,   nil,   nil,   nil,    17,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
     2,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,    17,   nil,    17,   nil,   nil,
   nil,     2,   nil,     2,    12,     2,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    17,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    17,   nil,
   nil,   nil,   nil,   nil,   nil,    17,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,    17,   nil,   nil,   nil,   nil,    17 ]

racc_goto_pointer = [
   nil,   129,     0,    47,   nil,    28,    -9,   nil,   -45,   -62,
   -25,    26,   -11,   -81,  -382,  -121,  -257,   114,  -325,   nil,
   nil,   nil,   nil,   -62,  -109,  -328,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,  -126,  -154,   -59,   -58,   -35,   nil,
   -37,   nil,   nil,   nil,  -134,  -234,  -128,  -405,  -353,  -363,
  -245,  -275,  -440,   -99,   -97,  -196,   nil,   -73,  -278,   nil,
   nil,    -3,    10,  -288,    17,    10,  -205,  -306,   nil,  -242,
  -286,   nil,  -242,  -314,  -221,   nil,  -182,   nil,   -29,   nil,
  -176,   -32,   nil,  -161,  -196,   -42,  -162,   -62,   nil,   nil,
   -51,   -58,   -57,   nil,   -56,    62,    62,  -182 ]

racc_goto_default = [
   nil,   nil,   475,   nil,     4,     5,     6,     7,   184,   140,
   nil,     8,     9,   nil,   nil,   nil,   nil,   nil,   276,    13,
    14,    15,    16,   nil,   nil,   265,   406,    22,    23,    24,
    25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
    35,    36,    37,    38,    39,    40,    41,    42,    43,    49,
   nil,    51,    52,   157,   nil,   nil,   nil,   161,   nil,   nil,
   nil,   nil,   nil,   278,   nil,   nil,   117,   nil,   222,   224,
   223,    58,   nil,   nil,   nil,   123,   nil,   nil,   169,   nil,
   170,   171,   175,   296,   297,   298,   299,   300,   303,    66,
   nil,   nil,   189,   148,   186,   149,    73,    74,    75,    76,
   nil,   nil,   nil,   194,   nil,   nil,   nil,   nil ]

racc_reduce_table = [
  0, 0, :racc_error,
  1, 98, :_reduce_1,
  1, 98, :_reduce_2,
  0, 98, :_reduce_3,
  1, 99, :_reduce_4,
  1, 101, :_reduce_5,
  3, 101, :_reduce_6,
  2, 101, :_reduce_7,
  1, 102, :_reduce_8,
  3, 102, :_reduce_9,
  1, 103, :_reduce_none,
  3, 103, :_reduce_11,
  3, 103, :_reduce_12,
  3, 103, :_reduce_13,
  1, 105, :_reduce_none,
  1, 105, :_reduce_15,
  1, 107, :_reduce_16,
  3, 107, :_reduce_17,
  1, 104, :_reduce_none,
  3, 104, :_reduce_19,
  3, 104, :_reduce_20,
  3, 104, :_reduce_21,
  3, 104, :_reduce_22,
  1, 108, :_reduce_none,
  2, 108, :_reduce_24,
  2, 108, :_reduce_25,
  7, 108, :_reduce_26,
  5, 108, :_reduce_27,
  5, 108, :_reduce_28,
  4, 115, :_reduce_29,
  1, 112, :_reduce_30,
  3, 112, :_reduce_31,
  1, 111, :_reduce_32,
  2, 111, :_reduce_33,
  4, 111, :_reduce_34,
  1, 109, :_reduce_none,
  1, 109, :_reduce_none,
  1, 109, :_reduce_none,
  1, 109, :_reduce_none,
  3, 109, :_reduce_39,
  3, 109, :_reduce_40,
  3, 109, :_reduce_41,
  3, 109, :_reduce_42,
  3, 109, :_reduce_43,
  3, 109, :_reduce_44,
  3, 109, :_reduce_45,
  3, 109, :_reduce_46,
  3, 109, :_reduce_47,
  3, 109, :_reduce_48,
  2, 109, :_reduce_49,
  2, 109, :_reduce_50,
  3, 109, :_reduce_51,
  3, 109, :_reduce_52,
  3, 109, :_reduce_53,
  3, 109, :_reduce_54,
  3, 109, :_reduce_55,
  3, 109, :_reduce_56,
  2, 109, :_reduce_57,
  3, 109, :_reduce_58,
  3, 109, :_reduce_59,
  3, 109, :_reduce_60,
  3, 109, :_reduce_61,
  3, 109, :_reduce_62,
  5, 119, :_reduce_63,
  1, 121, :_reduce_64,
  3, 121, :_reduce_65,
  1, 122, :_reduce_none,
  1, 122, :_reduce_67,
  1, 123, :_reduce_68,
  3, 123, :_reduce_69,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_92,
  1, 116, :_reduce_93,
  1, 116, :_reduce_94,
  1, 116, :_reduce_95,
  1, 116, :_reduce_96,
  4, 118, :_reduce_97,
  2, 118, :_reduce_98,
  5, 118, :_reduce_99,
  3, 118, :_reduce_100,
  2, 146, :_reduce_101,
  2, 146, :_reduce_102,
  1, 125, :_reduce_103,
  2, 125, :_reduce_104,
  4, 148, :_reduce_105,
  3, 148, :_reduce_106,
  1, 148, :_reduce_107,
  3, 149, :_reduce_108,
  3, 149, :_reduce_109,
  3, 147, :_reduce_110,
  3, 152, :_reduce_111,
  2, 152, :_reduce_112,
  2, 150, :_reduce_113,
  4, 150, :_reduce_114,
  2, 128, :_reduce_115,
  5, 154, :_reduce_116,
  4, 154, :_reduce_117,
  0, 155, :_reduce_none,
  2, 155, :_reduce_119,
  4, 155, :_reduce_120,
  3, 155, :_reduce_121,
  6, 129, :_reduce_122,
  5, 129, :_reduce_123,
  0, 156, :_reduce_none,
  4, 156, :_reduce_125,
  3, 156, :_reduce_126,
  5, 127, :_reduce_127,
  1, 157, :_reduce_128,
  2, 157, :_reduce_129,
  5, 158, :_reduce_130,
  1, 159, :_reduce_none,
  1, 159, :_reduce_none,
  1, 120, :_reduce_none,
  4, 120, :_reduce_134,
  1, 162, :_reduce_135,
  3, 162, :_reduce_136,
  3, 161, :_reduce_137,
  6, 126, :_reduce_138,
  2, 126, :_reduce_139,
  3, 163, :_reduce_140,
  3, 163, :_reduce_141,
  1, 164, :_reduce_none,
  1, 164, :_reduce_none,
  0, 110, :_reduce_144,
  1, 110, :_reduce_145,
  3, 110, :_reduce_146,
  1, 166, :_reduce_none,
  1, 166, :_reduce_none,
  3, 165, :_reduce_149,
  3, 165, :_reduce_150,
  3, 165, :_reduce_151,
  6, 130, :_reduce_152,
  6, 131, :_reduce_153,
  7, 117, :_reduce_154,
  7, 117, :_reduce_155,
  1, 171, :_reduce_none,
  1, 171, :_reduce_none,
  6, 133, :_reduce_158,
  7, 132, :_reduce_159,
  1, 172, :_reduce_160,
  1, 170, :_reduce_none,
  1, 170, :_reduce_none,
  1, 173, :_reduce_none,
  2, 173, :_reduce_164,
  1, 174, :_reduce_none,
  1, 174, :_reduce_none,
  4, 135, :_reduce_167,
  3, 135, :_reduce_168,
  7, 134, :_reduce_169,
  6, 134, :_reduce_170,
  1, 175, :_reduce_171,
  3, 175, :_reduce_172,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_175,
  1, 177, :_reduce_none,
  1, 178, :_reduce_177,
  3, 178, :_reduce_178,
  1, 179, :_reduce_none,
  1, 179, :_reduce_none,
  1, 176, :_reduce_none,
  2, 176, :_reduce_182,
  7, 137, :_reduce_183,
  2, 151, :_reduce_184,
  5, 151, :_reduce_185,
  1, 151, :_reduce_none,
  1, 168, :_reduce_none,
  1, 168, :_reduce_none,
  1, 168, :_reduce_none,
  1, 168, :_reduce_190,
  1, 168, :_reduce_191,
  1, 169, :_reduce_192,
  2, 169, :_reduce_193,
  2, 169, :_reduce_194,
  4, 169, :_reduce_195,
  4, 169, :_reduce_196,
  1, 153, :_reduce_197,
  3, 153, :_reduce_198,
  1, 180, :_reduce_none,
  1, 180, :_reduce_none,
  1, 181, :_reduce_none,
  1, 181, :_reduce_none,
  3, 183, :_reduce_203,
  1, 183, :_reduce_204,
  2, 184, :_reduce_205,
  2, 182, :_reduce_206,
  1, 185, :_reduce_207,
  4, 185, :_reduce_208,
  4, 138, :_reduce_209,
  7, 138, :_reduce_210,
  3, 138, :_reduce_211,
  3, 138, :_reduce_212,
  3, 138, :_reduce_213,
  2, 186, :_reduce_214,
  5, 139, :_reduce_215,
  7, 139, :_reduce_216,
  1, 124, :_reduce_217,
  1, 140, :_reduce_218,
  1, 140, :_reduce_219,
  4, 141, :_reduce_220,
  2, 141, :_reduce_221,
  4, 141, :_reduce_222,
  2, 141, :_reduce_223,
  3, 142, :_reduce_224,
  4, 142, :_reduce_225,
  2, 142, :_reduce_226,
  1, 189, :_reduce_227,
  3, 189, :_reduce_228,
  3, 106, :_reduce_229,
  1, 191, :_reduce_none,
  1, 191, :_reduce_231,
  1, 190, :_reduce_none,
  1, 190, :_reduce_233,
  1, 188, :_reduce_234,
  3, 188, :_reduce_235,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 144, :_reduce_none,
  1, 144, :_reduce_none,
  1, 144, :_reduce_none,
  1, 193, :_reduce_245,
  1, 193, :_reduce_246,
  2, 194, :_reduce_247,
  1, 196, :_reduce_248,
  1, 198, :_reduce_249,
  1, 199, :_reduce_250,
  2, 197, :_reduce_251,
  1, 200, :_reduce_252,
  1, 201, :_reduce_253,
  2, 201, :_reduce_254,
  2, 195, :_reduce_255,
  2, 202, :_reduce_256,
  2, 202, :_reduce_257,
  3, 100, :_reduce_258,
  0, 187, :_reduce_none,
  1, 187, :_reduce_none,
  0, 203, :_reduce_261,
  2, 203, :_reduce_262,
  4, 203, :_reduce_263,
  1, 136, :_reduce_264,
  3, 136, :_reduce_265,
  5, 136, :_reduce_266,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 145, :_reduce_269,
  1, 143, :_reduce_270,
  0, 114, :_reduce_none,
  1, 114, :_reduce_272,
  0, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  0, 160, :_reduce_297 ]

racc_reduce_n = 298

racc_shift_n = 536

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

racc_nt_base = 97

racc_use_result_var = true

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

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

Racc_debug_parser = false

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

# reduce 0 omitted

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

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

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

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

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

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

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

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

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

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

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

# reduce 14 omitted

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

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

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

# reduce 18 omitted

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

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

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

# reduce 23 omitted

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

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

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

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

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

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

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

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

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

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

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

# reduce 35 omitted

# reduce 36 omitted

# reduce 37 omitted

# reduce 38 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 66 omitted

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

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

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

# reduce 70 omitted

# reduce 71 omitted

# reduce 72 omitted

# reduce 73 omitted

# reduce 74 omitted

# reduce 75 omitted

# reduce 76 omitted

# reduce 77 omitted

# reduce 78 omitted

# reduce 79 omitted

# reduce 80 omitted

# reduce 81 omitted

# reduce 82 omitted

# reduce 83 omitted

# reduce 84 omitted

# reduce 85 omitted

# reduce 86 omitted

# reduce 87 omitted

# reduce 88 omitted

# reduce 89 omitted

# reduce 90 omitted

# reduce 91 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 118 omitted

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

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

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

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

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

# reduce 124 omitted

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

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

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

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

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

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

# reduce 131 omitted

# reduce 132 omitted

# reduce 133 omitted

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

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

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

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

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

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

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

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

# reduce 142 omitted

# reduce 143 omitted

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

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

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

# reduce 147 omitted

# reduce 148 omitted

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

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

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

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

module_eval(<<'.,.,', 'egrammar.ra', 524)
  def _reduce_153(val, _values, result)
        definition = Factory.APPLICATION(classname(val[1][:value]), val[2], val[4])
    loc(definition, val[0], val[5])
    result = add_definition(definition)
  
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 531)
  def _reduce_154(val, _values, result)
        result = Factory.CAPABILITY_MAPPING(val[1][:value],
                                        Factory.QREF(classname(val[0][:value])),
                                        classname(val[2][:value]), val[4])
    loc result, val[0], val[6]
    add_mapping(result)
  
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 538)
  def _reduce_155(val, _values, result)
        result = Factory.CAPABILITY_MAPPING(val[1][:value],
                                        val[0],
                                        classname(val[2][:value]), val[4])
    loc result, val[0], val[6]
    add_mapping(result)
  
    result
  end
.,.,

# reduce 156 omitted

# reduce 157 omitted

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

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

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

# reduce 161 omitted

# reduce 162 omitted

# reduce 163 omitted

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

# reduce 165 omitted

# reduce 166 omitted

module_eval(<<'.,.,', 'egrammar.ra', 602)
  def _reduce_167(val, _values, result)
        definition = Factory.SITE(val[2])
    loc(definition, val[0], val[3])
    result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 607)
  def _reduce_168(val, _values, result)
        definition = Factory.SITE(nil)
    loc(definition, val[0], val[2])
    result = add_definition(definition)
    
    result
  end
.,.,

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

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

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

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

# reduce 173 omitted

# reduce 174 omitted

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

# reduce 176 omitted

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

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

# reduce 179 omitted

# reduce 180 omitted

# reduce 181 omitted

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

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

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

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

# reduce 186 omitted

# reduce 187 omitted

# reduce 188 omitted

# reduce 189 omitted

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

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

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

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

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

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

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

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

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

# reduce 199 omitted

# reduce 200 omitted

# reduce 201 omitted

# reduce 202 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 230 omitted

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

# reduce 232 omitted

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

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

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

# 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 259 omitted

# reduce 260 omitted

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

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

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

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

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

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

# reduce 267 omitted

# reduce 268 omitted

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

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

# reduce 271 omitted

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

# reduce 273 omitted

# reduce 274 omitted

# reduce 275 omitted

# reduce 276 omitted

# reduce 277 omitted

# reduce 278 omitted

# reduce 279 omitted

# reduce 280 omitted

# reduce 281 omitted

# reduce 282 omitted

# reduce 283 omitted

# reduce 284 omitted

# reduce 285 omitted

# reduce 286 omitted

# reduce 287 omitted

# reduce 288 omitted

# reduce 289 omitted

# reduce 290 omitted

# reduce 291 omitted

# reduce 292 omitted

# reduce 293 omitted

# reduce 294 omitted

# reduce 295 omitted

# reduce 296 omitted

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