lib/coffee_script/parser.rb in coffee-script-0.1.6 vs lib/coffee_script/parser.rb in coffee-script-0.2.0

- old
+ new

@@ -8,11 +8,11 @@ module CoffeeScript class Parser < Racc::Parser -module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 400) +module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 421) # Lex and parse a CoffeeScript. def parse(code) # Uncomment the following line to enable grammar debugging, in combination # with the -g flag in the Rake build task. # @yydebug = true @@ -32,992 +32,1024 @@ ...end grammar.y/module_eval... ##### State transition tables begin ### clist = [ -'9,259,175,239,36,43,51,56,64,2,7,15,19,24,234,156,41,47,55,60,16,21', -'10,20,27,-152,-152,39,46,210,62,239,5,11,16,21,30,35,131,50,54,63,1', -'6,14,249,130,-152,-152,42,154,36,43,51,56,64,2,7,15,19,24,16,21,202', -'200,203,235,206,201,30,20,27,153,226,260,240,136,16,21,25,216,33,9,48', -'35,59,36,43,51,56,64,2,7,15,19,24,217,211,41,47,55,60,218,240,10,20', -'27,16,21,39,46,222,62,226,5,11,74,251,30,35,243,50,54,63,1,6,14,72,124', -'233,48,42,59,36,43,51,56,64,2,7,15,19,24,137,,267,,139,131,16,21,,20', -'27,16,21,130,,136,136,,25,,33,9,48,35,59,36,43,51,56,64,2,7,15,19,24', -',30,41,47,55,60,,265,10,20,27,16,21,39,46,,62,,5,11,16,21,30,35,,50', -'54,63,1,6,14,,124,,48,42,59,36,43,51,56,64,2,7,15,19,24,137,137,269', -'270,146,139,,16,21,20,27,131,89,93,,136,136,136,25,130,33,9,48,35,59', -'36,43,51,56,64,2,7,15,19,24,-152,-152,41,47,55,60,,30,10,20,27,79,80', -'39,46,,62,,5,11,89,93,30,35,247,50,54,63,1,6,14,,124,,48,42,59,36,43', -'51,56,64,2,7,15,19,24,137,137,137,261,139,146,139,248,,20,27,16,21,136', -',136,136,,25,,33,9,48,35,59,36,43,51,56,64,2,7,15,19,24,135,135,41,47', -'55,60,,240,10,20,27,16,21,39,46,,62,,5,11,89,93,30,35,,50,54,63,1,6', -'14,,124,,48,42,59,-152,-152,196,140,140,-152,-152,,137,,137,137,146', -',139,139,16,21,,194,16,21,,194,,215,16,21,25,236,33,9,48,,59,36,43,51', -'56,64,2,7,15,19,24,-152,-152,41,47,55,60,16,21,10,20,27,16,21,39,46', -',62,,5,11,-152,-152,30,35,,50,54,63,1,6,14,,,,,42,89,93,96,99,104,107', -'110,113,115,117,85,88,92,95,98,103,106,109,112,114,116,16,21,,194,,', -',,25,232,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10', -'20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,89,93,96,99', -'104,107,110,113,115,117,85,88,92,95,98,103,106,109,112,114,116,16,21', -',194,,195,16,21,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47', -'55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,89', -'93,96,99,104,107,110,113,115,117,85,88,92,95,98,103,106,109,112,114', -'116,89,93,96,99,104,107,110,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19', -'24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6', -'14,,,,,42,89,93,96,99,104,107,110,113,115,117,85,88,92,95,98,103,106', -'109,112,114,116,89,93,96,99,104,107,110,,25,,33,9,48,,59,36,43,51,56', -'64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,', -'50,54,63,1,6,14,,,,,42,89,93,96,99,104,107,110,113,115,117,85,88,92', -'95,98,103,106,109,112,114,116,89,93,96,99,104,,16,21,25,,33,9,48,,59', -'36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5', -'11,,,30,35,,50,54,63,1,6,14,,,,,42,89,93,96,99,104,107,110,113,115,117', -'85,88,92,95,98,103,106,109,112,114,116,89,93,96,99,104,,16,21,25,,33', -'9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46', -',62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,89,93,96,99,104,107,110,113', -'115,117,85,88,92,95,98,103,106,109,112,114,116,,,,,,,16,21,25,,33,9', -'48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46', -',62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,89,93,96,99,104,107,110,113', -'115,117,85,88,92,95,98,103,106,109,112,114,116,,,,,,,16,21,25,,33,9', -'48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46', -',62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,89,93,96,99,104,107,110,113', -'115,117,85,88,92,89,93,96,99,104,107,110,113,115,117,85,88,92,,,,25', -',33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,', -'39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,89,93,96,99,104,107', -'110,113,115,117,85,88,92,89,93,96,99,104,107,110,113,115,117,85,88,92', -',,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20', -'27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,89,93,96,99,104', -'107,110,113,115,117,89,93,96,99,104,107,110,113,115,117,89,93,96,99', -'104,107,110,,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55', -'60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,89,93', -'96,99,104,107,110,113,115,117,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36', -'43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11', -',,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33', -'9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46', -',62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,', -',16,21,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10', -'20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,', -',,,,,,,,,,,,,,,16,21,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41', -'47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42', -',,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19', -'24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6', -'14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64', -'2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50', -'54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36', -'43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11', -',,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33', -'9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46', -',62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,', -',16,21,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10', -'20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,', -',,,,,,,,,,,,,,,16,21,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41', -'47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42', -',,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19', -'24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6', -'14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64', -'2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50', -'54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36', -'43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11', -',,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,16,21,25', -',33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,', -'39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,', -',,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,', -',10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,', -',,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41', -'47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42', -',,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,255,48,,59,36,43,51,56,64,2,7,15', -'19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1', -'6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,16,21,25,,33,9,48,,59,36,43,51', -'56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35', -',50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59', -'36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5', -'11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,', -'33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39', -'46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,', -',,,,,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10', -'20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,', -',,,,,,,,,,,,,,,16,21,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41', -'47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42', -',,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19', -'24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6', -'14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64', -'2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50', -'54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36', -'43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11', -',,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,16,21,25', -',33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,', -'39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,', -',,,,,,,16,21,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55', -'60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,', -',,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24', -',,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14', -',,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2', -'7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54', -'63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43', -'51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30', -'35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48', -',59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62', -',5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25', -',33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,', -'39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,', -',,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,', -',10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,', -',,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41', -'47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42', -',,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19', -'24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6', -'14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64', -'2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50', -'54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36', -'43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11', -',,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33', -'9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46', -',62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,', -',,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20', -'27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,', -',,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55', -'60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,', -',,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24', -',,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14', -',,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2', -'7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54', -'63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43', -'51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30', -'35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48', -',59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62', -',5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25', -',33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,', -'39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,', -',,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,', -',10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,', -',,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41', -'47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42', -',,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19', -'24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6', -'14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64', -'2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50', -'54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36', -'43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11', -',,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33', -'9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46', -',62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,', -',,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20', -'27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,', -',,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55', -'60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,', -',,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24', -',,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14', -',,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2', -'7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54', -'63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43', -'51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30', -'35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48', -',59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,,39,46,,62', -',5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25', -',33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,,,10,20,27,,', -'39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,,,,,,,,,,,,,', -',,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41,47,55,60,', -',10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42,,,,,,,,', -',,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19,24,,,41', -'47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6,14,,,,,42', -',,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,33,9,48,,59,36,43,51,56,64,2,7,15,19', -'24,,,41,47,55,60,,,10,20,27,,,39,46,,62,,5,11,,,30,35,,50,54,63,1,6', -'14,90,,,100,42,,,,,,,,,,,,,,,,,,,,,101,,,,,,82,,,25,,33,,48,,59,,,89', -'93,96,99,104,107,110,113,115,117,85,88,92,95,98,103,106,109,112,114', -'116,84,87,91,94,97,102,105,108,111,,,83,86,90,,151,100,,231,,,,,,,,', -',,,,,,,,,,,101,,,,,,82,,,,,,,,,,,,89,93,96,99,104,107,110,113,115,117', -'85,88,92,95,98,103,106,109,112,114,116,84,87,91,94,97,102,105,108,111', -',,83,86,16,21,90,,151,100,,,,,,,,,,,,,,,,,,,,,,101,,,,,,82,,,,,,,,,', -',,89,93,96,99,104,107,110,113,115,117,85,88,92,95,98,103,106,109,112', -'114,116,84,87,91,94,97,102,105,108,111,,,83,86,16,21,90,,151,100,,,', -',,,,,,,,,,,,,,,,,,101,,,,,,82,,,,,,,,,,,,89,93,96,99,104,107,110,113', -'115,117,85,88,92,95,98,103,106,109,112,114,116,84,87,91,94,97,102,105', -'108,111,,,83,86,16,21,90,,151,100,,,,,,,,,,,,,,,,,,,,,,101,,,,,,82,', -',,,,,,,,,,89,93,96,99,104,107,110,113,115,117,85,88,92,95,98,103,106', -'109,112,114,116,84,87,91,94,97,102,105,108,111,,,83,86,16,21,90,,151', -'100,,,,,,,,,,,,,,,,,,,,,,101,,,,,,82,,,,,,,,,,,,89,93,96,99,104,107', -'110,113,115,117,85,88,92,95,98,103,106,109,112,114,116,84,87,91,94,97', -'102,105,108,111,,,83,86,16,21,90,,,100,,,,,,,,,,,,,,,,,,,,,,101,,,,', -',82,,,,,,,,,,,,89,93,96,99,104,107,110,113,115,117,85,88,92,95,98,103', -'106,109,112,114,116,84,87,91,94,97,102,105,108,111,,90,83,86,100,,,', -',,,,,,,,,,,,,,,,,,101,,,,,,82,,,,,,,,,,,,89,93,96,99,104,107,110,113', -'115,117,85,88,92,95,98,103,106,109,112,114,116,84,87,91,94,97,102,105', -'108,111,,90,83,86,100,,,,,,,,,,,,,,,,,,,,,,101,,,,,,82,,,,,,,,,,,,89', -'93,96,99,104,107,110,113,115,117,85,88,92,95,98,103,106,109,112,114', -'116,84,87,91,94,97,102,105,108,111,,90,83,86,100,,,,,,,,,,,,,,,,,,,', -',,101,,,,,,82,,,,,,,,,,,,89,93,96,99,104,107,110,113,115,117,85,88,92', -'95,98,103,106,109,112,114,116,84,87,91,94,97,102,105,108,111,273,90', -'83,86,100,,,,,,,,,,,,,,,,,,,,,,101,,,,,,82,,,,,,,,,,,,89,93,96,99,104', -'107,110,113,115,117,85,88,92,95,98,103,106,109,112,114,116,84,87,91', -'94,97,102,105,108,111,,90,83,86,100,,,,,,,,,,,,,,,,,,,,,,101,,,,,,82', -',,,,,,,,,,,89,93,96,99,104,107,110,113,115,117,85,88,92,95,98,103,106', -'109,112,114,116,84,87,91,94,97,102,105,108,111,,90,83,86,100,,,,,,,', -',,,,,,,,,,,,,,101,,,,,,82,,,,,,,,,,,,89,93,96,99,104,107,110,113,115', -'117,85,88,92,95,98,103,106,109,112,114,116,84,87,91,94,97,102,105,108', -'111,,90,83,86,100,,,,,,,,,,,,,,,,,,,,,,101,,,,,,82,,,,,,,,,,,,89,93', -'96,99,104,107,110,113,115,117,85,88,92,95,98,103,106,109,112,114,116', -'84,87,91,94,97,102,105,108,111,,90,83,86,100,,,,,,,,,,,,,,,,,,,,,,101', -',,,,,82,,,,,,,,,,,,89,93,96,99,104,107,110,113,115,117,85,88,92,95,98', -'103,106,109,112,114,116,84,87,91,94,97,102,105,108,111,,90,83,86,100', -',,,,,,,,,,,,,,,,,,,,,101,,,,,,82,,,,,,,,,,,,89,93,96,99,104,107,110', -'113,115,117,85,88,92,95,98,103,106,109,112,114,116,84,87,91,94,97,102', -'105,108,111,,90,83,86,100,,,,,,,,,,,,,,,,,,,,,,101,,,,,,82,,,,,,,,,', -',,89,93,96,99,104,107,110,113,115,117,85,88,92,95,98,103,106,109,112', -'114,116,84,87,91,94,97,102,105,108,111,90,,,100,,,,,,,,,,,,,,,,,,,,', -',101,,,,,,82,,,,,,,,,,,,89,93,96,99,104,107,110,113,115,117,85,88,92', -'95,98,103,106,109,112,114,116,84,87,91,94,97,102,105,108,111,90,,,100', -',,,,,,,,,,,,,,,,,,,,,101,,,,,,82,,,,,,,,,,,,89,93,96,99,104,107,110', -'113,115,117,85,88,92,95,98,103,106,109,112,114,116,84,87,91,94,97,102', -'105,108,111,101,,,,,,82,,,,,,,,,,,,89,93,96,99,104,107,110,113,115,117', -'85,88,92,95,98,103,106,109,112,114,116,84,87,91,94,97,102,105,108,111', -'101,,,,,,82,,,,,,,,,,,,89,93,96,99,104,107,110,113,115,117,85,88,92', -'95,98,103,106,109,112,114,116,84,87,91,94,97,102,105,108,111,101,,,', -',,82,,,,,,,,,,,,89,93,96,99,104,107,110,113,115,117,85,88,92,95,98,103', -'106,109,112,114,116,84,87,91,94,97,102,105,108,111,82,,,,,,,,,,,,89', -'93,96,99,104,107,110,113,115,117,85,88,92,95,98,103,106,109,112,114', -'116,84,87,91,94,97,102,105,108,111,82,,,,,,,,,,,,89,93,96,99,104,107', -'110,113,115,117,85,88,92,95,98,103,106,109,112,114,116,84,87,91,94,97', -'102,105,108,111,82,,,,,,,,,,,,89,93,96,99,104,107,110,113,115,117,85', -'88,92,95,98,103,106,109,112,114,116,84,87,91,94,97,102,105,108,111,89', -'93,96,99,104,107,110,113,115,117,85,88,92,95,98,103,106,109,112,114', -'116,84,87,91,94,97,102,105,108,111,89,93,96,99,104,107,110,113,115,117', -'85,88,92,95,98,103,106,109,112,114,116,84,87,91,94,97,102,105,108,111', -'89,93,96,99,104,107,110,113,115,117,85,88,92,95,98,103,106,109,112,114', -'116,84,87,91,94,97,102,105,108,111,89,93,96,99,104,107,110,113,115,117', -'85,88,92,95,98,103,106,109,112,114,116,84,87,91,94,97,102,105,108,111', -'89,93,96,99,104,107,110,113,115,117,85,88,92,95,98,103,106,109,112,114', -'116,84,87,91,94,97,102,105,108,111' ] - racc_action_table = arr = Array.new(8210, nil) +'99,232,107,20,23,26,31,34,39,47,52,56,60,159,130,68,71,129,16,92,16', +'158,233,24,27,110,119,122,125,128,95,98,103,100,252,40,44,40,44,13,234', +'10,92,132,40,44,229,10,230,119,122,125,128,95,98,103,106,109,112,115', +'118,121,124,127,94,97,102,105,108,111,114,117,120,123,126,93,96,101', +'104,132,132,113,116,35,141,132,16,74,132,63,7,67,239,20,23,26,31,34', +'39,47,52,56,60,135,132,68,71,1,4,8,7,241,19,24,27,30,256,131,83,48,53', +'134,64,242,69,72,159,266,10,13,251,180,248,249,158,37,42,46,50,55,59', +'61,132,248,249,3,224,136,172,174,16,68,71,131,131,223,16,134,134,131', +'10,92,131,134,40,44,134,170,119,122,40,44,235,35,40,44,167,57,131,63', +'7,67,134,20,23,26,31,34,39,47,52,56,60,232,16,68,71,1,4,8,218,16,19', +'24,27,30,40,44,232,48,53,16,64,16,69,72,131,274,10,13,134,79,168,83', +'159,37,42,46,50,55,59,61,158,92,159,3,40,44,229,223,-167,-167,158,287', +'267,141,,252,92,,,40,44,229,10,-167,-167,276,10,246,162,,,35,,,,57,10', +'63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,159,,19,24,27,30', +',,158,48,53,,64,92,69,72,,,10,13,119,122,125,128,95,37,42,46,50,55,59', +'61,92,,10,3,162,,,119,122,125,128,95,98,103,106,109,112,115,118,121', +'124,127,94,97,102,105,108,111,40,44,235,35,,,236,57,,63,7,67,,20,23', +'26,31,34,39,47,52,56,60,92,,68,71,1,4,8,119,122,19,24,27,30,,,,48,53', +',64,92,69,72,,,10,13,119,122,125,128,95,37,42,46,50,55,59,61,92,,,3', +',,,119,122,125,128,95,98,103,106,109,112,115,118,121,124,127,94,97,102', +'105,108,111,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,92,', +'68,71,1,4,8,-167,-167,19,24,27,30,,,,48,53,,64,92,69,72,92,,10,13,-167', +'-167,,119,122,37,42,46,50,55,59,61,92,,,3,,,,119,122,125,128,95,98,103', +'106,109,112,115,118,121,124,127,94,97,102,105,108,111,,,,35,,,,57,,63', +'7,67,,20,23,26,31,34,39,47,52,56,60,92,,68,71,1,4,8,-167,-167,19,24', +'27,30,,,,48,53,,64,92,69,72,92,,10,13,-167,-167,,-167,-167,37,42,46', +'50,55,59,61,92,,,3,,,,119,122,125,128,95,98,103,106,109,112,115,118', +'121,124,127,94,97,102,105,108,111,,,,35,,,,57,,63,7,67,,20,23,26,31', +'34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,', +'10,13,,,,,,37,42,46,50,55,59,61,92,,,3,,,,119,122,125,128,95,98,103', +'106,109,112,115,118,121,124,127,94,97,102,105,108,111,,,,35,,,,57,,63', +'7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48', +'53,,64,,69,72,,,10,13,,,,,,37,42,46,50,55,59,61,92,,,3,,,,119,122,125', +'128,95,98,103,106,109,112,115,118,121,124,127,94,97,102,105,108,111', +',,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,', +'19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,89,,,,37,42,46,50,55,59,61', +'92,,,3,,,,119,122,125,128,95,98,103,106,109,112,115,118,121,124,127', +'94,97,102,105,108,111,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52', +'56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37', +'42,46,50,55,59,61,92,,,3,,,,119,122,125,128,95,98,103,106,109,112,115', +'118,121,,,,,,,,277,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56', +'60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37,42', +'46,50,55,59,61,92,,,3,,,,119,122,125,128,95,98,103,106,109,112,115,118', +'121,124,127,94,97,102,105,108,111,,,,35,,,,57,,63,7,67,,20,23,26,31', +'34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,', +'10,13,,,,,,37,42,46,50,55,59,61,92,,,3,,,,119,122,125,128,95,98,103', +'106,109,112,115,118,121,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34', +'39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10', +'13,,,,,,37,42,46,50,55,59,61,92,,,3,,,,119,122,125,128,95,98,103,106', +'109,112,115,118,121,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39', +'47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13', +',,,,,37,42,46,50,55,59,61,92,,,3,,,,119,122,125,128,95,98,103,106,109', +'112,115,118,121,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52', +'56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37', +'42,46,50,55,59,61,92,,,3,,,,119,122,125,128,95,98,103,106,109,112,92', +',,,,,,119,122,125,128,95,98,103,35,,,,57,,63,7,67,,20,23,26,31,34,39', +'47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13', +',,,,,37,42,46,50,55,59,61,92,,,3,,,,119,122,125,128,95,98,103,106,109', +'112,92,,,,,,,119,122,125,128,95,98,103,35,,,,57,,63,7,67,,20,23,26,31', +'34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,', +'10,13,,,,,,37,42,46,50,55,59,61,92,,,3,,,,119,122,125,128,95,98,103', +'106,109,112,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52', +'56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37', +'42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67', +',20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53', +',64,,69,72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,', +',,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1', +'4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37,42,46,50,55,59', +'61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34', +'39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10', +'13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57', +',63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30', +',,,48,53,,64,,69,72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,', +',,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,', +',68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37,42,46', +'50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23', +'26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69', +'72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,', +',35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19', +'24,27,30,,,,48,53,,64,,69,72,,,10,13,152,,,,,37,42,46,50,55,59,61,,', +',3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47', +'52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,,', +',,37,42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63', +'7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48', +'53,,64,,69,72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,', +',,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71', +'1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,258,,,,,37,42,46,50', +'55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,40,44,,57,,63,7,67,,20,23', +'26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69', +'72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,', +',35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19', +'24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3', +',,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52', +'56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37', +'42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67', +',20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53', +',64,,69,72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,', +',,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1', +'4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37,42,46,50,55,59', +'61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34', +'39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10', +'13,152,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,', +',,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27', +'30,,,,48,53,,64,,69,72,,,10,13,152,,,,,37,42,46,50,55,59,61,,,,3,,,', +',,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56', +'60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,16,,,,,37', +'42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,40,44,,57,,63,7', +'67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48', +'53,,64,,69,72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,', +',,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71', +'1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37,42,46,50,55', +'59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31', +'34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,', +'10,13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,', +',,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27', +'30,,,,48,53,,64,,69,72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,', +',,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60', +',,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,152,,,,,37,42', +'46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20', +'23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64', +',69,72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,', +',,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8', +',,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37,42,46,50,55,59,61', +',,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39', +'47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13', +',,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,', +'63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,', +',,48,53,,64,,69,72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,,', +',,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,,', +'68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37,42,46', +'50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23', +'26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69', +'72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,', +',35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19', +'24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3', +',,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52', +'56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37', +'42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67', +',20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53', +',64,,69,72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,', +',,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1', +'4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37,42,46,50,55,59', +'61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34', +'39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10', +'13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57', +',63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30', +',,,48,53,,64,,69,72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,', +',,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,', +',68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37,42,46', +'50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23', +'26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69', +'72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,', +',35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19', +'24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3', +',,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52', +'56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37', +'42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67', +',20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53', +',64,,69,72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,', +',,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1', +'4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37,42,46,50,55,59', +'61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34', +'39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10', +'13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57', +',63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30', +',,,48,53,,64,,69,72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,', +',,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,', +',68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37,42,46', +'50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23', +'26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69', +'72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,', +',35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19', +'24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3', +',,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52', +'56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37', +'42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67', +',20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53', +',64,,69,72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,', +',,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1', +'4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37,42,46,50,55,59', +'61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34', +'39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10', +'13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,57', +',63,7,67,,20,23,26,31,34,39,47,52,56,60,,,68,71,1,4,8,,,19,24,27,30', +',,,48,53,,64,,69,72,,,10,13,,,,,,37,42,46,50,55,59,61,,,,3,,,,,,,,,', +',,,,,,,,,,,,,,,,,,35,,,,57,,63,7,67,,20,23,26,31,34,39,47,52,56,60,', +',68,71,1,4,8,,,19,24,27,30,,,,48,53,,64,,69,72,,,10,13,,,,,,37,42,46', +'50,55,59,61,99,,107,3,,,,20,23,26,31,34,39,47,52,56,60,,,,,,,,,110,', +'24,27,,,35,,100,,57,,63,,67,,,92,13,,,,,,119,122,125,128,95,98,103,106', +'109,112,115,118,121,124,127,94,97,102,105,108,111,114,117,120,123,126', +'93,96,101,104,228,,113,116,99,,107,,,245,,,74,,63,,67,,,,,,,,,,,,,110', +',,,,,,,100,,,,,,,,,92,,,,,,,119,122,125,128,95,98,103,106,109,112,115', +'118,121,124,127,94,97,102,105,108,111,114,117,120,123,126,93,96,101', +'104,,,113,116,,,,,,285,20,23,26,31,34,39,47,52,56,60,,,,,,,,,,,24,27', +',,,,,,,,,,,,,,13,,,,99,,107,,,,,,,,,,,,,,,,,,,,,,,110,,,,,,,,100,,,', +',,,,,92,,74,,63,,67,119,122,125,128,95,98,103,106,109,112,115,118,121', +'124,127,94,97,102,105,108,111,114,117,120,123,126,93,96,101,104,,,113', +'116,99,,107,,,288,,,,,,,,,,,,,,,,,,,,110,,,,,,,,100,,,,,,,,,92,,,,,', +',119,122,125,128,95,98,103,106,109,112,115,118,121,124,127,94,97,102', +'105,108,111,114,117,120,123,126,93,96,101,104,228,,113,116,99,,107,', +',,,,,,,,,,,,,,,,,,,,,110,,,,,,,,100,,,,,,,,,92,,,,,,,119,122,125,128', +'95,98,103,106,109,112,115,118,121,124,127,94,97,102,105,108,111,114', +'117,120,123,126,93,96,101,104,,,113,116,99,,107,,,,,,,,,,,,,,,,,,,,', +',,110,,,,,,,,100,,,,,,,,,92,,,,,,,119,122,125,128,95,98,103,106,109', +'112,115,118,121,124,127,94,97,102,105,108,111,114,117,120,123,126,93', +'96,101,104,,,113,116,99,,107,,,,,,,,,,,,,,,,,,,,,,,110,,,,,,,,100,,', +',,,,,,92,,,,,,,119,122,125,128,95,98,103,106,109,112,115,118,121,124', +'127,94,97,102,105,108,111,114,117,120,123,126,93,96,101,104,,,113,116', +'99,,107,,,,,,,,,,,,,,,,,,,,,,,110,,,,,,,,100,,,,,,,,,92,,,,,,,119,122', +'125,128,95,98,103,106,109,112,115,118,121,124,127,94,97,102,105,108', +'111,114,117,120,123,126,93,96,101,104,,,113,116,99,,107,,,,,,,,,,,,', +',,,,,,,,,,110,,,,,,,,100,,,,,,,16,,92,,,,,,,119,122,125,128,95,98,103', +'106,109,112,115,118,121,124,127,94,97,102,105,108,111,114,117,120,123', +'126,93,96,101,104,,,113,116,99,,107,,,,,,,,,,,,,,,,,,,,,,,110,,,,,,', +',100,,,,,,,,,92,,,,,,,119,122,125,128,95,98,103,106,109,112,115,118', +'121,124,127,94,97,102,105,108,111,114,117,120,123,126,93,96,101,104', +',,113,116,99,,107,,,,,,,,,,,,,,,,,,,,,,,110,,,,,,,,100,,,,,,,,,92,,', +',,,,119,122,125,128,95,98,103,106,109,112,115,118,121,124,127,94,97', +'102,105,108,111,114,117,120,123,126,93,96,101,104,,,113,116,99,,107', +',,,,,,,,,,,,,,,,,,,,,,110,,,,,,,,100,,,,,,,226,,92,,,,,,,119,122,125', +'128,95,98,103,106,109,112,115,118,121,124,127,94,97,102,105,108,111', +'114,117,120,123,126,93,96,101,104,,,113,116,99,,107,,,,,,,,,,,,,,,,', +',,,,,,110,,,,,,,,100,,,,,,,16,,92,,,,,,,119,122,125,128,95,98,103,106', +'109,112,115,118,121,124,127,94,97,102,105,108,111,114,117,120,123,126', +'93,96,101,104,,,113,116,99,,107,,,,,,,,,,,,,,,,,,,,,,,110,,,,,,,,100', +',,,,,,,,92,,,,,,,119,122,125,128,95,98,103,106,109,112,115,118,121,124', +'127,94,97,102,105,108,111,114,117,120,123,126,93,96,101,104,,,113,116', +'99,,107,,,,,,,,,,,,,,,,,,,,,,,110,,,,,,,,100,,,,,,,,,92,,,,,,,119,122', +'125,128,95,98,103,106,109,112,115,118,121,124,127,94,97,102,105,108', +'111,114,117,120,123,126,93,96,101,104,,,113,116,99,,107,,,,,,,,,,,,', +',,,,,,,,,,110,,,,,,,,100,,,,,,,,,92,,,,,,,119,122,125,128,95,98,103', +'106,109,112,115,118,121,124,127,94,97,102,105,108,111,114,117,120,123', +'126,93,96,101,104,,,113,116,99,,107,,,,,,,,,,,,,,,,,,,,,,,110,,,,,,', +',100,,,,,,,,,92,,,,,,,119,122,125,128,95,98,103,106,109,112,115,118', +'121,124,127,94,97,102,105,108,111,114,117,120,123,126,93,96,101,104', +',,113,116,99,,107,,,,,,,,,,,,,,,,,,,,,,,110,,,,,,,,100,,,,,,,,,92,,', +',,,,119,122,125,128,95,98,103,106,109,112,115,118,121,124,127,94,97', +'102,105,108,111,114,117,120,123,126,93,96,101,104,,,113,116,99,,107', +',,,,,,,,,,,,,,,,,,,,,,110,,,,,,,,100,,,,,,,,,92,,,,,,,119,122,125,128', +'95,98,103,106,109,112,115,118,121,124,127,94,97,102,105,108,111,114', +'117,120,123,126,93,96,101,104,,,113,116,99,,107,,,,,,,,,,,,,,,,,,,,', +',,110,,,,,,,,100,,,,,,,16,,92,,,,,,,119,122,125,128,95,98,103,106,109', +'112,115,118,121,124,127,94,97,102,105,108,111,114,117,120,123,126,93', +'96,101,104,,,113,116,99,,107,,,,,,,,,,,,,,,,,,,,,,,110,,,,,,,,100,,', +',,,,,,92,,,,,,,119,122,125,128,95,98,103,106,109,112,115,118,121,124', +'127,94,97,102,105,108,111,114,117,120,123,126,93,96,101,104,110,,113', +'116,,,,,100,,,,,,,,,92,,,,,,,119,122,125,128,95,98,103,106,109,112,115', +'118,121,124,127,94,97,102,105,108,111,114,117,120,123,126,93,96,101', +'104,110,,,,,,,,100,,,,,,,,,92,,,,,,,119,122,125,128,95,98,103,106,109', +'112,115,118,121,124,127,94,97,102,105,108,111,114,117,120,123,126,93', +'96,101,104,110,,,,,,,,100,,,,,,,,,92,,,,,,,119,122,125,128,95,98,103', +'106,109,112,115,118,121,124,127,94,97,102,105,108,111,114,117,120,123', +'126,93,96,101,104,110,,,,,,,,100,,,,,,,,,92,,,,,,,119,122,125,128,95', +'98,103,106,109,112,115,118,121,124,127,94,97,102,105,108,111,114,117', +'120,123,126,93,96,101,104,100,,,,,,,,,92,,,,,,,119,122,125,128,95,98', +'103,106,109,112,115,118,121,124,127,94,97,102,105,108,111,114,117,120', +'123,126,93,96,101,104,100,,,,,,,,,92,,,,,,,119,122,125,128,95,98,103', +'106,109,112,115,118,121,124,127,94,97,102,105,108,111,114,117,120,123', +'126,93,96,101,104,100,,,,,,,,,92,,,,,,,119,122,125,128,95,98,103,106', +'109,112,115,118,121,124,127,94,97,102,105,108,111,114,117,120,123,126', +'93,96,101,104,100,,,,,,,,,92,,,,,,,119,122,125,128,95,98,103,106,109', +'112,115,118,121,124,127,94,97,102,105,108,111,114,117,120,123,126,93', +'96,101,104,100,,,,,,,,,92,,,,,,,119,122,125,128,95,98,103,106,109,112', +'115,118,121,124,127,94,97,102,105,108,111,114,117,120,123,126,93,96', +'101,104,100,,,,,,,,,92,,,,,,,119,122,125,128,95,98,103,106,109,112,115', +'118,121,124,127,94,97,102,105,108,111,114,117,120,123,126,93,96,101', +'104,92,,,,,,,119,122,125,128,95,98,103,106,109,112,115,118,121,124,127', +'94,97,102,105,108,111,114,117,120,123,126,93,96,101,104,92,,,,,,,119', +'122,125,128,95,98,103,106,109,112,115,118,121,124,127,94,97,102,105', +'108,111,114,117,120,123,126,93,96,101,104,92,,,,,,,119,122,125,128,95', +'98,103,106,109,112,115,118,121,124,127,94,97,102,105,108,111,114,117', +'120,123,126,93,96,101,104,92,,,,,,,119,122,125,128,95,98,103,106,109', +'112,115,118,121,124,127,94,97,102,105,108,111,114,117,120,123,126,93', +'96,101,104,92,,,,,,,119,122,125,128,95,98,103,106,109,112,115,118,121', +'124,127,94,97,102,105,108,111,114,117,120,123,126,93,96,101,104' ] + racc_action_table = arr = Array.new(8814, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| arr[idx] = i.to_i unless i.empty? idx += 1 end end clist = [ -'0,245,101,242,0,0,0,0,0,0,0,0,0,0,212,80,0,0,0,0,143,143,0,0,0,69,69', -'0,0,143,0,214,0,0,29,29,0,0,200,0,0,0,0,0,0,224,200,141,141,0,78,47', -'47,47,47,47,47,47,47,47,47,128,128,130,128,131,212,136,128,200,47,47', -'74,224,245,242,204,0,0,0,155,0,1,0,47,0,1,1,1,1,1,1,1,1,1,1,175,144', -'1,1,1,1,176,214,1,1,1,214,214,1,1,196,1,198,1,1,18,224,1,1,217,1,1,1', -'1,1,1,11,47,211,47,1,47,135,135,135,135,135,135,135,135,135,135,204', -',256,,204,48,256,256,,135,135,144,144,48,,205,262,,1,,1,5,1,135,1,5', -'5,5,5,5,5,5,5,5,5,,48,5,5,5,5,,254,5,5,5,254,254,5,5,,5,,5,5,271,271', -'5,5,,5,5,5,5,5,5,,135,,135,5,135,222,222,222,222,222,222,222,222,222', -'222,205,262,262,263,205,262,,263,263,222,222,199,179,179,,125,61,246', -'5,199,5,6,5,222,5,6,6,6,6,6,6,6,6,6,6,67,67,6,6,6,6,,199,6,6,6,26,26', -'6,6,,6,,6,6,173,173,6,6,222,6,6,6,6,6,6,,222,,222,6,222,247,247,247', -'247,247,247,247,247,247,247,125,61,246,246,125,61,246,223,,247,247,223', -'223,126,,120,53,,6,,6,9,6,247,6,9,9,9,9,9,9,9,9,9,9,120,53,9,9,9,9,', -'274,9,9,9,274,274,9,9,,9,,9,9,170,170,9,9,,9,9,9,9,9,9,,247,,247,9,247', -'73,73,120,120,53,148,148,,126,,120,53,126,,120,53,152,152,,152,213,213', -',213,,152,76,76,9,213,9,10,9,,9,10,10,10,10,10,10,10,10,10,10,132,132', -'10,10,10,10,77,77,10,10,10,253,253,10,10,,10,,10,10,122,122,10,10,,10', -'10,10,10,10,10,,,,,10,191,191,191,191,191,191,191,191,191,191,191,191', -'191,191,191,191,191,191,191,191,191,208,208,,208,,,,,10,208,10,272,10', -',10,272,272,272,272,272,272,272,272,272,272,,,272,272,272,272,,,272', -'272,272,,,272,272,,272,,272,272,,,272,272,,272,272,272,272,272,272,', -',,,272,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160', -'160,160,160,160,160,118,118,,118,,118,272,272,272,,272,14,272,,272,14', -'14,14,14,14,14,14,14,14,14,,,14,14,14,14,,,14,14,14,,,14,14,,14,,14', -'14,,,14,14,,14,14,14,14,14,14,,,,,14,189,189,189,189,189,189,189,189', -'189,189,189,189,189,189,189,189,189,189,189,189,189,190,190,190,190', -'190,190,190,,14,,14,226,14,,14,226,226,226,226,226,226,226,226,226,226', -',,226,226,226,226,,,226,226,226,,,226,226,,226,,226,226,,,226,226,,226', -'226,226,226,226,226,,,,,226,184,184,184,184,184,184,184,184,184,184', -'184,184,184,184,184,184,184,184,184,184,184,188,188,188,188,188,188', -'188,,226,,226,23,226,,226,23,23,23,23,23,23,23,23,23,23,,,23,23,23,23', -',,23,23,23,,,23,23,,23,,23,23,,,23,23,,23,23,23,23,23,23,,,,,23,168', -'168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168', -'168,168,168,185,185,185,185,185,,23,23,23,,23,25,23,,23,25,25,25,25', -'25,25,25,25,25,25,,,25,25,25,25,,,25,25,25,,,25,25,,25,,25,25,,,25,25', -',25,25,25,25,25,25,,,,,25,166,166,166,166,166,166,166,166,166,166,166', -'166,166,166,166,166,166,166,166,166,166,182,182,182,182,182,,25,25,25', -',25,233,25,,25,233,233,233,233,233,233,233,233,233,233,,,233,233,233', -'233,,,233,233,233,,,233,233,,233,,233,233,,,233,233,,233,233,233,233', -'233,233,,,,,233,187,187,187,187,187,187,187,187,187,187,187,187,187', -'187,187,187,187,187,187,187,187,,,,,,,233,233,233,,233,264,233,,233', -'264,264,264,264,264,264,264,264,264,264,,,264,264,264,264,,,264,264', -'264,,,264,264,,264,,264,264,,,264,264,,264,264,264,264,264,264,,,,,264', -'163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163', -'163,163,163,163,,,,,,,264,264,264,,264,193,264,,264,193,193,193,193', -'193,193,193,193,193,193,,,193,193,193,193,,,193,193,193,,,193,193,,193', -',193,193,,,193,193,,193,193,193,193,193,193,,,,,193,178,178,178,178', -'178,178,178,178,178,178,178,178,178,172,172,172,172,172,172,172,172', -'172,172,172,172,172,,,,193,,193,33,193,,193,33,33,33,33,33,33,33,33', -'33,33,,,33,33,33,33,,,33,33,33,,,33,33,,33,,33,33,,,33,33,,33,33,33', -'33,33,33,,,,,33,181,181,181,181,181,181,181,181,181,181,181,181,181', -'169,169,169,169,169,169,169,169,169,169,169,169,169,,,,33,,33,39,33', -',33,39,39,39,39,39,39,39,39,39,39,,,39,39,39,39,,,39,39,39,,,39,39,', -'39,,39,39,,,39,39,,39,39,39,39,39,39,,,,,39,164,164,164,164,164,164', -'164,164,164,164,161,161,161,161,161,161,161,161,161,161,192,192,192', -'192,192,192,192,,,39,,39,42,39,,39,42,42,42,42,42,42,42,42,42,42,,,42', -'42,42,42,,,42,42,42,,,42,42,,42,,42,42,,,42,42,,42,42,42,42,42,42,,', -',,42,167,167,167,167,167,167,167,167,167,167,,,,,,,,,,,,,,,,,,,,42,', -'42,46,42,,42,46,46,46,46,46,46,46,46,46,46,,,46,46,46,46,,,46,46,46', -',,46,46,,46,,46,46,,,46,46,,46,46,46,46,46,46,,,,,46,,,,,,,,,,,,,,,', -',,,,,,,,,,,,,,46,,46,149,46,,46,149,149,149,149,149,149,149,149,149', -'149,,,149,149,149,149,,,149,149,149,,,149,149,,149,,149,149,,,149,149', -',149,149,149,149,149,149,,,,,149,,,,,,,,,,,,,,,,,,,,,,,,,,,,149,149', -'149,,149,234,149,,149,234,234,234,234,234,234,234,234,234,234,,,234', -'234,234,234,,,234,234,234,,,234,234,,234,,234,234,,,234,234,,234,234', -'234,234,234,234,,,,,234,,,,,,,,,,,,,,,,,,,,,,,,,,,,234,234,234,,234', -'50,234,,234,50,50,50,50,50,50,50,50,50,50,,,50,50,50,50,,,50,50,50,', -',50,50,,50,,50,50,,,50,50,,50,50,50,50,50,50,,,,,50,,,,,,,,,,,,,,,,', -',,,,,,,,,,,,,50,,50,194,50,,50,194,194,194,194,194,194,194,194,194,194', -',,194,194,194,194,,,194,194,194,,,194,194,,194,,194,194,,,194,194,,194', -'194,194,194,194,194,,,,,194,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,194,,194,54', -'194,,194,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,54,54,,,,,54,,,,,,,,,,,,,,,,,,,,', -',,,,,,,,,54,,54,55,54,,54,55,55,55,55,55,55,55,55,55,55,,,55,55,55,55', -',,55,55,55,,,55,55,,55,,55,55,,,55,55,,55,55,55,55,55,55,,,,,55,,,,', -',,,,,,,,,,,,,,,,,,,,,,,,,55,,55,59,55,,55,59,59,59,59,59,59,59,59,59', -'59,,,59,59,59,59,,,59,59,59,,,59,59,,59,,59,59,,,59,59,,59,59,59,59', -'59,59,,,,,59,,,,,,,,,,,,,,,,,,,,,,,,,,,,59,59,59,,59,60,59,,59,60,60', -'60,60,60,60,60,60,60,60,,,60,60,60,60,,,60,60,60,,,60,60,,60,,60,60', -',,60,60,,60,60,60,60,60,60,,,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,60,60,60', -',60,146,60,,60,146,146,146,146,146,146,146,146,146,146,,,146,146,146', -'146,,,146,146,146,,,146,146,,146,,146,146,,,146,146,,146,146,146,146', -'146,146,,,,,146,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,146,,146,62,146,,146,62', -'62,62,62,62,62,62,62,62,62,,,62,62,62,62,,,62,62,62,,,62,62,,62,,62', -'62,,,62,62,,62,62,62,62,62,62,,,,,62,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,62', -',62,117,62,,62,117,117,117,117,117,117,117,117,117,117,,,117,117,117', -'117,,,117,117,117,,,117,117,,117,,117,117,,,117,117,,117,117,117,117', -'117,117,,,,,117,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,117,,117,197,117,,117,197', -'197,197,197,197,197,197,197,197,197,,,197,197,197,197,,,197,197,197', -',,197,197,,197,,197,197,,,197,197,,197,197,197,197,197,197,,,,,197,', -',,,,,,,,,,,,,,,,,,,,,,,,,,197,197,197,,197,140,197,,197,140,140,140', -'140,140,140,140,140,140,140,,,140,140,140,140,,,140,140,140,,,140,140', -',140,,140,140,,,140,140,,140,140,140,140,140,140,,,,,140,,,,,,,,,,,', -',,,,,,,,,,,,,,,,,,140,,140,139,140,,140,139,139,139,139,139,139,139', -'139,139,139,,,139,139,139,139,,,139,139,139,,,139,139,,139,,139,139', -',,139,139,,139,139,139,139,139,139,,,,,139,,,,,,,,,,,,,,,,,,,,,,,,,', -',,,,139,,139,137,139,,139,137,137,137,137,137,137,137,137,137,137,,', -'137,137,137,137,,,137,137,137,,,137,137,,137,,137,137,,,137,137,,137', -'137,137,137,137,137,,,,,137,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,137,,137,239', -'137,,137,239,239,239,239,239,239,239,239,239,239,,,239,239,239,239,', -',239,239,239,,,239,239,,239,,239,239,,,239,239,,239,239,239,239,239', -'239,,,,,239,,,,,,,,,,,,,,,,,,,,,,,,,,,,239,239,239,,239,72,239,,239', -'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,259,72,,72,259,259,259,259,259,259,259,259,259,259,,,259,259', -'259,259,,,259,259,259,,,259,259,,259,,259,259,,,259,259,,259,259,259', -'259,259,259,,,,,259,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,259,,259,218,259,,259', -'218,218,218,218,218,218,218,218,218,218,,,218,218,218,218,,,218,218', -'218,,,218,218,,218,,218,218,,,218,218,,218,218,218,218,218,218,,,,,218', -',,,,,,,,,,,,,,,,,,,,,,,,,,,,,218,,218,75,218,,218,75,75,75,75,75,75', -'75,75,75,75,,,75,75,75,75,,,75,75,75,,,75,75,,75,,75,75,,,75,75,,75', -'75,75,75,75,75,,,,,75,,,,,,,,,,,,,,,,,,,,,,,,,,,,75,75,75,,75,255,75', -',75,255,255,255,255,255,255,255,255,255,255,,,255,255,255,255,,,255', -'255,255,,,255,255,,255,,255,255,,,255,255,,255,255,255,255,255,255,', -',,,255,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,255,,255,203,255,,255,203,203,203', -'203,203,203,203,203,203,203,,,203,203,203,203,,,203,203,203,,,203,203', -',203,,203,203,,,203,203,,203,203,203,203,203,203,,,,,203,,,,,,,,,,,', -',,,,,,,,,,,,,,,,,,203,,203,124,203,,203,124,124,124,124,124,124,124', -'124,124,124,,,124,124,124,124,,,124,124,124,,,124,124,,124,,124,124', -',,124,124,,124,124,124,124,124,124,,,,,124,,,,,,,,,,,,,,,,,,,,,,,,,', -',,,,124,,124,79,124,,124,79,79,79,79,79,79,79,79,79,79,,,79,79,79,79', -',,79,79,79,,,79,79,,79,,79,79,,,79,79,,79,79,79,79,79,79,,,,,79,,,,', -',,,,,,,,,,,,,,,,,,,,,,,79,79,79,,79,249,79,,79,249,249,249,249,249,249', -'249,249,249,249,,,249,249,249,249,,,249,249,249,,,249,249,,249,,249', -'249,,,249,249,,249,249,249,249,249,249,,,,,249,,,,,,,,,,,,,,,,,,,,,', -',,,,,,249,249,249,,249,81,249,,249,81,81,81,81,81,81,81,81,81,81,,,81', -'81,81,81,,,81,81,81,,,81,81,,81,,81,81,,,81,81,,81,81,81,81,81,81,,', -',,81,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,81,,81,82,81,,81,82,82,82,82,82,82', -'82,82,82,82,,,82,82,82,82,,,82,82,82,,,82,82,,82,,82,82,,,82,82,,82', -'82,82,82,82,82,,,,,82,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,82,,82,83,82,,82', -'83,83,83,83,83,83,83,83,83,83,,,83,83,83,83,,,83,83,83,,,83,83,,83,', -'83,83,,,83,83,,83,83,83,83,83,83,,,,,83,,,,,,,,,,,,,,,,,,,,,,,,,,,,', -',83,,83,84,83,,83,84,84,84,84,84,84,84,84,84,84,,,84,84,84,84,,,84,84', -'84,,,84,84,,84,,84,84,,,84,84,,84,84,84,84,84,84,,,,,84,,,,,,,,,,,,', -',,,,,,,,,,,,,,,,,84,,84,85,84,,84,85,85,85,85,85,85,85,85,85,85,,,85', -'85,85,85,,,85,85,85,,,85,85,,85,,85,85,,,85,85,,85,85,85,85,85,85,,', -',,85,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,85,,85,86,85,,85,86,86,86,86,86,86', -'86,86,86,86,,,86,86,86,86,,,86,86,86,,,86,86,,86,,86,86,,,86,86,,86', -'86,86,86,86,86,,,,,86,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,86,,86,87,86,,86', -'87,87,87,87,87,87,87,87,87,87,,,87,87,87,87,,,87,87,87,,,87,87,,87,', -'87,87,,,87,87,,87,87,87,87,87,87,,,,,87,,,,,,,,,,,,,,,,,,,,,,,,,,,,', -',87,,87,88,87,,87,88,88,88,88,88,88,88,88,88,88,,,88,88,88,88,,,88,88', -'88,,,88,88,,88,,88,88,,,88,88,,88,88,88,88,88,88,,,,,88,,,,,,,,,,,,', -',,,,,,,,,,,,,,,,,88,,88,90,88,,88,90,90,90,90,90,90,90,90,90,90,,,90', -'90,90,90,,,90,90,90,,,90,90,,90,,90,90,,,90,90,,90,90,90,90,90,90,,', -',,90,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,90,,90,91,90,,90,91,91,91,91,91,91', -'91,91,91,91,,,91,91,91,91,,,91,91,91,,,91,91,,91,,91,91,,,91,91,,91', -'91,91,91,91,91,,,,,91,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,91,,91,92,91,,91', -'92,92,92,92,92,92,92,92,92,92,,,92,92,92,92,,,92,92,92,,,92,92,,92,', -'92,92,,,92,92,,92,92,92,92,92,92,,,,,92,,,,,,,,,,,,,,,,,,,,,,,,,,,,', -',92,,92,94,92,,92,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,95,94,,94,95,95,95,95,95,95,95,95,95,95,,,95', -'95,95,95,,,95,95,95,,,95,95,,95,,95,95,,,95,95,,95,95,95,95,95,95,,', -',,95,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,95,,95,96,95,,95,96,96,96,96,96,96', -'96,96,96,96,,,96,96,96,96,,,96,96,96,,,96,96,,96,,96,96,,,96,96,,96', -'96,96,96,96,96,,,,,96,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,96,,96,97,96,,96', -'97,97,97,97,97,97,97,97,97,97,,,97,97,97,97,,,97,97,97,,,97,97,,97,', -'97,97,,,97,97,,97,97,97,97,97,97,,,,,97,,,,,,,,,,,,,,,,,,,,,,,,,,,,', -',97,,97,98,97,,97,98,98,98,98,98,98,98,98,98,98,,,98,98,98,98,,,98,98', -'98,,,98,98,,98,,98,98,,,98,98,,98,98,98,98,98,98,,,,,98,,,,,,,,,,,,', -',,,,,,,,,,,,,,,,,98,,98,99,98,,98,99,99,99,99,99,99,99,99,99,99,,,99', -'99,99,99,,,99,99,99,,,99,99,,99,,99,99,,,99,99,,99,99,99,99,99,99,,', -',,99,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,99,,99,100,99,,99,100,100,100,100', -'100,100,100,100,100,100,,,100,100,100,100,,,100,100,100,,,100,100,,100', -',100,100,,,100,100,,100,100,100,100,100,100,,,,,100,,,,,,,,,,,,,,,,', -',,,,,,,,,,,,,100,,100,202,100,,100,202,202,202,202,202,202,202,202,202', -'202,,,202,202,202,202,,,202,202,202,,,202,202,,202,,202,202,,,202,202', -',202,202,202,202,202,202,,,,,202,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,202,,202', -'102,202,,202,102,102,102,102,102,102,102,102,102,102,,,102,102,102,102', -',,102,102,102,,,102,102,,102,,102,102,,,102,102,,102,102,102,102,102', -'102,,,,,102,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,102,,102,103,102,,102,103,103', -'103,103,103,103,103,103,103,103,,,103,103,103,103,,,103,103,103,,,103', -'103,,103,,103,103,,,103,103,,103,103,103,103,103,103,,,,,103,,,,,,,', -',,,,,,,,,,,,,,,,,,,,,,103,,103,104,103,,103,104,104,104,104,104,104', -'104,104,104,104,,,104,104,104,104,,,104,104,104,,,104,104,,104,,104', -'104,,,104,104,,104,104,104,104,104,104,,,,,104,,,,,,,,,,,,,,,,,,,,,', -',,,,,,,,104,,104,105,104,,104,105,105,105,105,105,105,105,105,105,105', -',,105,105,105,105,,,105,105,105,,,105,105,,105,,105,105,,,105,105,,105', -'105,105,105,105,105,,,,,105,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,105,,105,106', -'105,,105,106,106,106,106,106,106,106,106,106,106,,,106,106,106,106,', -',106,106,106,,,106,106,,106,,106,106,,,106,106,,106,106,106,106,106', -'106,,,,,106,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,106,,106,107,106,,106,107,107', -'107,107,107,107,107,107,107,107,,,107,107,107,107,,,107,107,107,,,107', -'107,,107,,107,107,,,107,107,,107,107,107,107,107,107,,,,,107,,,,,,,', -',,,,,,,,,,,,,,,,,,,,,,107,,107,108,107,,107,108,108,108,108,108,108', -'108,108,108,108,,,108,108,108,108,,,108,108,108,,,108,108,,108,,108', -'108,,,108,108,,108,108,108,108,108,108,,,,,108,,,,,,,,,,,,,,,,,,,,,', -',,,,,,,,108,,108,109,108,,108,109,109,109,109,109,109,109,109,109,109', -',,109,109,109,109,,,109,109,109,,,109,109,,109,,109,109,,,109,109,,109', -'109,109,109,109,109,,,,,109,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,109,,109,110', -'109,,109,110,110,110,110,110,110,110,110,110,110,,,110,110,110,110,', -',110,110,110,,,110,110,,110,,110,110,,,110,110,,110,110,110,110,110', -'110,,,,,110,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,110,,110,111,110,,110,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,111,111,,,,,111,,,,,,,', -',,,,,,,,,,,,,,,,,,,,,,111,,111,112,111,,111,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,112,112,,,,,112,,,,,,,,,,,,,,,,,,,,,', -',,,,,,,,112,,112,113,112,,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,113,,,,,113,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,113,,113,114', -'113,,113,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,115,114,,114,115,115', -'115,115,115,115,115,115,115,115,,,115,115,115,115,,,115,115,115,,,115', -'115,,115,,115,115,,,115,115,,115,115,115,115,115,115,,,,,115,,,,,,,', -',,,,,,,,,,,,,,,,,,,,,,115,,115,116,115,,115,116,116,116,116,116,116', -'116,116,116,116,,,116,116,116,116,,,116,116,116,,,116,116,,116,,116', -'116,,,116,116,,116,116,116,116,116,116,,,,,116,,,,,,,,,,,,,,,,,,,,,', -',,,,,,,,116,,116,63,116,,116,63,63,63,63,63,63,63,63,63,63,,,63,63,63', -'63,,,63,63,63,,,63,63,,63,,63,63,,,63,63,,63,63,63,63,63,63,207,,,207', -'63,,,,,,,,,,,,,,,,,,,,,207,,,,,,207,,,63,,63,,63,,63,,,207,207,207,207', +'165,154,165,135,135,135,135,135,135,135,135,135,135,237,22,246,246,22', +'242,194,241,237,158,135,135,165,194,194,194,194,194,194,194,165,226', +'282,282,18,18,135,159,226,165,220,154,154,154,237,154,165,165,165,165', +'165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165', +'165,165,165,165,165,165,165,165,165,76,25,165,165,246,30,51,35,135,157', +'135,98,135,165,98,98,98,98,98,98,98,98,98,98,25,156,98,98,98,98,98,83', +'172,98,98,98,98,228,220,15,98,98,220,98,173,98,98,235,238,98,98,224', +'88,244,244,235,98,98,98,98,98,98,98,75,222,222,98,141,25,81,81,83,129', +'129,76,25,140,222,76,25,51,235,183,157,51,12,12,157,79,183,183,238,238', +'238,98,88,88,71,98,156,98,3,98,156,3,3,3,3,3,3,3,3,3,3,240,174,3,3,3', +'3,3,132,130,3,3,3,3,235,235,219,3,3,274,3,8,3,3,75,253,3,3,75,5,72,85', +'63,3,3,3,3,3,3,3,63,77,263,3,240,240,240,198,77,77,263,283,240,110,', +'253,155,,,219,219,219,253,155,155,253,63,219,63,,,3,,,,3,263,3,4,3,', +'4,4,4,4,4,4,4,4,4,4,,,4,4,4,4,4,162,,4,4,4,4,,,162,4,4,,4,186,4,4,,', +'4,4,186,186,186,186,186,4,4,4,4,4,4,4,199,,162,4,162,,,199,199,199,199', +'199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199', +'160,160,160,4,,,160,4,,4,121,4,,121,121,121,121,121,121,121,121,121', +'121,214,,121,121,121,121,121,214,214,121,121,121,121,,,,121,121,,121', +'191,121,121,,,121,121,191,191,191,191,191,121,121,121,121,121,121,121', +'196,,,121,,,,196,196,196,196,196,196,196,196,196,196,196,196,196,196', +'196,196,196,196,196,196,196,,,,121,,,,121,,121,7,121,,7,7,7,7,7,7,7', +'7,7,7,151,,7,7,7,7,7,151,151,7,7,7,7,,,,7,7,,7,143,7,7,211,,7,7,143', +'143,,211,211,7,7,7,7,7,7,7,205,,,7,,,,205,205,205,205,205,205,205,205', +'205,205,205,205,205,205,205,205,205,205,205,205,205,,,,7,,,,7,,7,277', +'7,,277,277,277,277,277,277,277,277,277,277,147,,277,277,277,277,277', +'147,147,277,277,277,277,,,,277,277,,277,145,277,277,144,,277,277,145', +'145,,144,144,277,277,277,277,277,277,277,207,,,277,,,,207,207,207,207', '207,207,207,207,207,207,207,207,207,207,207,207,207,207,207,207,207', -'207,207,207,207,207,207,207,207,207,,,207,207,123,,123,123,,207,,,,', -',,,,,,,,,,,,,,,123,,,,,,123,,,,,,,,,,,,123,123,123,123,123,123,123,123', -'123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123', -'123,123,123,123,123,,,123,123,123,123,252,,252,252,,,,,,,,,,,,,,,,,', -',,,,252,,,,,,252,,,,,,,,,,,,252,252,252,252,252,252,252,252,252,252', -'252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252', -'252,252,252,,,252,252,252,252,121,,121,121,,,,,,,,,,,,,,,,,,,,,,121', -',,,,,121,,,,,,,,,,,,121,121,121,121,121,121,121,121,121,121,121,121', -'121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121', -'121,,,121,121,121,121,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,70,70,266,,266,266,,,,,,,,,,,,,,', -',,,,,,,266,,,,,,266,,,,,,,,,,,,266,266,266,266,266,266,266,266,266,266', -'266,266,266,266,266,266,266,266,266,266,266,266,266,266,266,266,266', -'266,266,266,,,266,266,266,266,229,,,229,,,,,,,,,,,,,,,,,,,,,,229,,,', -',,229,,,,,,,,,,,,229,229,229,229,229,229,229,229,229,229,229,229,229', -'229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229', -',32,229,229,32,,,,,,,,,,,,,,,,,,,,,,32,,,,,,32,,,,,,,,,,,,32,32,32,32', -'32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32', -'32,32,32,,221,32,32,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,221,221,221,,268,221,221,268', -',,,,,,,,,,,,,,,,,,,,,268,,,,,,268,,,,,,,,,,,,268,268,268,268,268,268', -'268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268', -'268,268,268,268,268,268,268,268,244,268,268,244,,,,,,,,,,,,,,,,,,,,', -',244,,,,,,244,,,,,,,,,,,,244,244,244,244,244,244,244,244,244,244,244', -'244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244', -'244,244,,157,244,244,157,,,,,,,,,,,,,,,,,,,,,,157,,,,,,157,,,,,,,,,', -',,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157', -'157,157,157,157,157,157,157,157,157,157,157,157,157,,119,157,157,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,119,119,119,119,119,,220,119,119,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,220,220,220,220', -'220,,142,220,220,142,,,,,,,,,,,,,,,,,,,,,,142,,,,,,142,,,,,,,,,,,,142', -'142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142', -'142,142,142,142,142,142,142,142,142,142,142,142,,230,142,142,230,,,', -',,,,,,,,,,,,,,,,,,230,,,,,,230,,,,,,,,,,,,230,230,230,230,230,230,230', -'230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230', -'230,230,230,230,230,230,,159,230,230,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', -'162,,,162,,,,,,,,,,,,,,,,,,,,,,162,,,,,,162,,,,,,,,,,,,162,162,162,162', -'162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162', -'162,162,162,162,162,162,162,162,162,209,,,209,,,,,,,,,,,,,,,,,,,,,,209', -',,,,,209,,,,,,,,,,,,209,209,209,209,209,209,209,209,209,209,209,209', -'209,209,209,209,209,209,209,209,209,209,209,209,209,209,209,209,209', -'209,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,174,,,,,,174,,,,,,,', -',,,,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174', -'174,174,174,174,174,174,174,174,174,174,174,174,174,174,165,,,,,,165', -',,,,,,,,,,,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165', -'165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,147,,,,', -',,,,,,,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147', -'147,147,147,147,147,147,147,147,147,147,147,147,147,147,158,,,,,,,,', -',,,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158', -'158,158,158,158,158,158,158,158,158,158,158,158,158,68,,,,,,,,,,,,68', -'68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68', -'68,68,68,68,68,68,177,177,177,177,177,177,177,177,177,177,177,177,177', -'177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177', -'186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186', -'186,186,186,186,186,186,186,186,186,186,186,186,186,180,180,180,180', -'180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180', -'180,180,180,180,180,180,180,180,180,171,171,171,171,171,171,171,171', -'171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171', -'171,171,171,171,171,183,183,183,183,183,183,183,183,183,183,183,183', -'183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183', -'183' ] - racc_action_check = arr = Array.new(8210, nil) +',,,277,,,,277,,277,258,277,,258,258,258,258,258,258,258,258,258,258', +',,258,258,258,258,258,,,258,258,258,258,,,,258,258,,258,,258,258,,,258', +'258,,,,,,258,258,258,258,258,258,258,193,,,258,,,,193,193,193,193,193', +'193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,,,,258', +',,,258,,258,257,258,,257,257,257,257,257,257,257,257,257,257,,,257,257', +'257,257,257,,,257,257,257,257,,,,257,257,,257,,257,257,,,257,257,,,', +',,257,257,257,257,257,257,257,209,,,257,,,,209,209,209,209,209,209,209', +'209,209,209,209,209,209,209,209,209,209,209,209,209,209,,,,257,,,,257', +',257,16,257,,16,16,16,16,16,16,16,16,16,16,,,16,16,16,16,16,,,16,16', +'16,16,,,,16,16,,16,,16,16,,,16,16,,16,,,,16,16,16,16,16,16,16,202,,', +'16,,,,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202', +'202,202,202,202,202,,,,16,,,,16,,16,256,16,,256,256,256,256,256,256', +'256,256,256,256,,,256,256,256,256,256,,,256,256,256,256,,,,256,256,', +'256,,256,256,,,256,256,,,,,,256,256,256,256,256,256,256,210,,,256,,', +',210,210,210,210,210,210,210,210,210,210,210,210,210,,,,,,,,256,,,,256', +',,,256,,256,19,256,,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,19,19,19,19,19,190', +',,19,,,,190,190,190,190,190,190,190,190,190,190,190,190,190,190,190', +'190,190,190,190,190,190,,,,19,,,,19,,19,252,19,,252,252,252,252,252', +'252,252,252,252,252,,,252,252,252,252,252,,,252,252,252,252,,,,252,252', +',252,,252,252,,,252,252,,,,,,252,252,252,252,252,252,252,185,,,252,', +',,185,185,185,185,185,185,185,185,185,185,185,185,185,,,,,,,,,,,,252', +',,,252,,252,249,252,,249,249,249,249,249,249,249,249,249,249,,,249,249', +'249,249,249,,,249,249,249,249,,,,249,249,,249,,249,249,,,249,249,,,', +',,249,249,249,249,249,249,249,182,,,249,,,,182,182,182,182,182,182,182', +'182,182,182,182,182,182,,,,,,,,,,,,249,,,,249,,249,248,249,,248,248', +'248,248,248,248,248,248,248,248,,,248,248,248,248,248,,,248,248,248', +'248,,,,248,248,,248,,248,248,,,248,248,,,,,,248,248,248,248,248,248', +'248,213,,,248,,,,213,213,213,213,213,213,213,213,213,213,213,213,213', +',,,,,,,,,,,248,,,,248,,248,234,248,,234,234,234,234,234,234,234,234', +'234,234,,,234,234,234,234,234,,,234,234,234,234,,,,234,234,,234,,234', +'234,,,234,234,,,,,,234,234,234,234,234,234,234,206,,,234,,,,206,206', +'206,206,206,206,206,206,206,206,200,,,,,,,200,200,200,200,200,200,200', +'234,,,,234,,234,233,234,,233,233,233,233,233,233,233,233,233,233,,,233', +'233,233,233,233,,,233,233,233,233,,,,233,233,,233,,233,233,,,233,233', +',,,,,233,233,233,233,233,233,233,208,,,233,,,,208,208,208,208,208,208', +'208,208,208,208,197,,,,,,,197,197,197,197,197,197,197,233,,,,233,,233', +'37,233,,37,37,37,37,37,37,37,37,37,37,,,37,37,37,37,37,,,37,37,37,37', +',,,37,37,,37,,37,37,,,37,37,,,,,,37,37,37,37,37,37,37,203,,,37,,,,203', +'203,203,203,203,203,203,203,203,203,,,,,,,,,,,,,,,37,,,,37,,37,42,37', +',42,42,42,42,42,42,42,42,42,42,,,42,42,42,42,42,,,42,42,42,42,,,,42', +'42,,42,,42,42,,,42,42,,,,,,42,42,42,42,42,42,42,,,,42,,,,,,,,,,,,,,', +',,,,,,,,,,,,,42,,,,42,,42,46,42,,46,46,46,46,46,46,46,46,46,46,,,46', +'46,46,46,46,,,46,46,46,46,,,,46,46,,46,,46,46,,,46,46,,,,,,46,46,46', +'46,46,46,46,,,,46,,,,,,,,,,,,,,,,,,,,,,,,,,,,46,,,,46,,46,48,46,,48', +'48,48,48,48,48,48,48,48,48,,,48,48,48,48,48,,,48,48,48,48,,,,48,48,', +'48,,48,48,,,48,48,,,,,,48,48,48,48,48,48,48,,,,48,,,,,,,,,,,,,,,,,,', +',,,,,,,,,48,,,,48,,48,50,48,,50,50,50,50,50,50,50,50,50,50,,,50,50,50', +'50,50,,,50,50,50,50,,,,50,50,,50,,50,50,,,50,50,,,,,,50,50,50,50,50', +'50,50,,,,50,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,,,,50,,50,231,50,,231,231', +'231,231,231,231,231,231,231,231,,,231,231,231,231,231,,,231,231,231', +'231,,,,231,231,,231,,231,231,,,231,231,,,,,,231,231,231,231,231,231', +'231,,,,231,,,,,,,,,,,,,,,,,,,,,,,,,,,,231,,,,231,,231,53,231,,53,53', +'53,53,53,53,53,53,53,53,,,53,53,53,53,53,,,53,53,53,53,,,,53,53,,53', +',53,53,,,53,53,,,,,,53,53,53,53,53,53,53,,,,53,,,,,,,,,,,,,,,,,,,,,', +',,,,,,53,,,,53,,53,55,53,,55,55,55,55,55,55,55,55,55,55,,,55,55,55,55', +'55,,,55,55,55,55,,,,55,55,,55,,55,55,,,55,55,,,,,,55,55,55,55,55,55', +'55,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,55,,,,55,,55,57,55,,57,57,57,57', +'57,57,57,57,57,57,,,57,57,57,57,57,,,57,57,57,57,,,,57,57,,57,,57,57', +',,57,57,57,,,,,57,57,57,57,57,57,57,,,,57,,,,,,,,,,,,,,,,,,,,,,,,,,', +',57,,,,57,,57,59,57,,59,59,59,59,59,59,59,59,59,59,,,59,59,59,59,59', +',,59,59,59,59,,,,59,59,,59,,59,59,,,59,59,,,,,,59,59,59,59,59,59,59', +',,,59,,,,,,,,,,,,,,,,,,,,,,,,,,,,59,,,,59,,59,120,59,,120,120,120,120', +'120,120,120,120,120,120,,,120,120,120,120,120,,,120,120,120,120,,,,120', +'120,,120,,120,120,,,120,120,,,,,,120,120,120,120,120,120,120,,,,120', +',,,,,,,,,,,,,,,,,,,,,,,,,,,120,,,,120,,120,229,120,,229,229,229,229', +'229,229,229,229,229,229,,,229,229,229,229,229,,,229,229,229,229,,,,229', +'229,,229,,229,229,,,229,229,229,,,,,229,229,229,229,229,229,229,,,,229', +',,,,,,,,,,,,,,,,,,,,,,,,,,,229,229,229,,229,,229,64,229,,64,64,64,64', +'64,64,64,64,64,64,,,64,64,64,64,64,,,64,64,64,64,,,,64,64,,64,,64,64', +',,64,64,,,,,,64,64,64,64,64,64,64,,,,64,,,,,,,,,,,,,,,,,,,,,,,,,,,,64', +',,,64,,64,67,64,,67,67,67,67,67,67,67,67,67,67,,,67,67,67,67,67,,,67', +'67,67,67,,,,67,67,,67,,67,67,,,67,67,,,,,,67,67,67,67,67,67,67,,,,67', +',,,,,,,,,,,,,,,,,,,,,,,,,,,67,,,,67,,67,69,67,,69,69,69,69,69,69,69', +'69,69,69,,,69,69,69,69,69,,,69,69,69,69,,,,69,69,,69,,69,69,,,69,69', +',,,,,69,69,69,69,69,69,69,,,,69,,,,,,,,,,,,,,,,,,,,,,,,,,,,69,,,,69', +',69,223,69,,223,223,223,223,223,223,223,223,223,223,,,223,223,223,223', +'223,,,223,223,223,223,,,,223,223,,223,,223,223,,,223,223,,,,,,223,223', +'223,223,223,223,223,,,,223,,,,,,,,,,,,,,,,,,,,,,,,,,,,223,,,,223,,223', +'118,223,,118,118,118,118,118,118,118,118,118,118,,,118,118,118,118,118', +',,118,118,118,118,,,,118,118,,118,,118,118,,,118,118,,,,,,118,118,118', +'118,118,118,118,,,,118,,,,,,,,,,,,,,,,,,,,,,,,,,,,118,,,,118,,118,74', +'118,,74,74,74,74,74,74,74,74,74,74,,,74,74,74,74,74,,,74,74,74,74,,', +',74,74,,74,,74,74,,,74,74,74,,,,,74,74,74,74,74,74,74,,,,74,,,,,,,,', +',,,,,,,,,,,,,,,,,,,74,,,,74,,74,168,74,,168,168,168,168,168,168,168', +'168,168,168,,,168,168,168,168,168,,,168,168,168,168,,,,168,168,,168', +',168,168,,,168,168,168,,,,,168,168,168,168,168,168,168,,,,168,,,,,,', +',,,,,,,,,,,,,,,,,,,,,168,,,,168,,168,0,168,,0,0,0,0,0,0,0,0,0,0,,,0', +'0,0,0,0,,,0,0,0,0,,,,0,0,,0,,0,0,,,0,0,0,,,,,0,0,0,0,0,0,0,,,,0,,,,', +',,,,,,,,,,,,,,,,,,,,,,,0,0,0,,0,,0,124,0,,124,124,124,124,124,124,124', +'124,124,124,,,124,124,124,124,124,,,124,124,124,124,,,,124,124,,124', +',124,124,,,124,124,,,,,,124,124,124,124,124,124,124,,,,124,,,,,,,,,', +',,,,,,,,,,,,,,,,,,124,,,,124,,124,152,124,,152,152,152,152,152,152,152', +'152,152,152,,,152,152,152,152,152,,,152,152,152,152,,,,152,152,,152', +',152,152,,,152,152,,,,,,152,152,152,152,152,152,152,,,,152,,,,,,,,,', +',,,,,,,,,,,,,,,,,,152,,,,152,,152,136,152,,136,136,136,136,136,136,136', +'136,136,136,,,136,136,136,136,136,,,136,136,136,136,,,,136,136,,136', +',136,136,,,136,136,,,,,,136,136,136,136,136,136,136,,,,136,,,,,,,,,', +',,,,,,,,,,,,,,,,,,136,,,,136,,136,117,136,,117,117,117,117,117,117,117', +'117,117,117,,,117,117,117,117,117,,,117,117,117,117,,,,117,117,,117', +',117,117,,,117,117,,,,,,117,117,117,117,117,117,117,,,,117,,,,,,,,,', +',,,,,,,,,,,,,,,,,,117,,,,117,,117,134,117,,134,134,134,134,134,134,134', +'134,134,134,,,134,134,134,134,134,,,134,134,134,134,,,,134,134,,134', +',134,134,,,134,134,134,,,,,134,134,134,134,134,134,134,,,,134,,,,,,', +',,,,,,,,,,,,,,,,,,,,,134,,,,134,,134,82,134,,82,82,82,82,82,82,82,82', +'82,82,,,82,82,82,82,82,,,82,82,82,82,,,,82,82,,82,,82,82,,,82,82,,,', +',,82,82,82,82,82,82,82,,,,82,,,,,,,,,,,,,,,,,,,,,,,,,,,,82,,,,82,,82', +'131,82,,131,131,131,131,131,131,131,131,131,131,,,131,131,131,131,131', +',,131,131,131,131,,,,131,131,,131,,131,131,,,131,131,,,,,,131,131,131', +'131,131,131,131,,,,131,,,,,,,,,,,,,,,,,,,,,,,,,,,,131,,,,131,,131,128', +'131,,128,128,128,128,128,128,128,128,128,128,,,128,128,128,128,128,', +',128,128,128,128,,,,128,128,,128,,128,128,,,128,128,,,,,,128,128,128', +'128,128,128,128,,,,128,,,,,,,,,,,,,,,,,,,,,,,,,,,,128,,,,128,,128,127', +'128,,127,127,127,127,127,127,127,127,127,127,,,127,127,127,127,127,', +',127,127,127,127,,,,127,127,,127,,127,127,,,127,127,,,,,,127,127,127', +'127,127,127,127,,,,127,,,,,,,,,,,,,,,,,,,,,,,,,,,,127,,,,127,,127,126', +'127,,126,126,126,126,126,126,126,126,126,126,,,126,126,126,126,126,', +',126,126,126,126,,,,126,126,,126,,126,126,,,126,126,,,,,,126,126,126', +'126,126,126,126,,,,126,,,,,,,,,,,,,,,,,,,,,,,,,,,,126,,,,126,,126,93', +'126,,93,93,93,93,93,93,93,93,93,93,,,93,93,93,93,93,,,93,93,93,93,,', +',93,93,,93,,93,93,,,93,93,,,,,,93,93,93,93,93,93,93,,,,93,,,,,,,,,,', +',,,,,,,,,,,,,,,,,93,,,,93,,93,94,93,,94,94,94,94,94,94,94,94,94,94,', +',94,94,94,94,94,,,94,94,94,94,,,,94,94,,94,,94,94,,,94,94,,,,,,94,94', +'94,94,94,94,94,,,,94,,,,,,,,,,,,,,,,,,,,,,,,,,,,94,,,,94,,94,95,94,', +'95,95,95,95,95,95,95,95,95,95,,,95,95,95,95,95,,,95,95,95,95,,,,95,95', +',95,,95,95,,,95,95,,,,,,95,95,95,95,95,95,95,,,,95,,,,,,,,,,,,,,,,,', +',,,,,,,,,,95,,,,95,,95,96,95,,96,96,96,96,96,96,96,96,96,96,,,96,96', +'96,96,96,,,96,96,96,96,,,,96,96,,96,,96,96,,,96,96,,,,,,96,96,96,96', +'96,96,96,,,,96,,,,,,,,,,,,,,,,,,,,,,,,,,,,96,,,,96,,96,97,96,,97,97', +'97,97,97,97,97,97,97,97,,,97,97,97,97,97,,,97,97,97,97,,,,97,97,,97', +',97,97,,,97,97,,,,,,97,97,97,97,97,97,97,,,,97,,,,,,,,,,,,,,,,,,,,,', +',,,,,,97,,,,97,,97,123,97,,123,123,123,123,123,123,123,123,123,123,', +',123,123,123,123,123,,,123,123,123,123,,,,123,123,,123,,123,123,,,123', +'123,,,,,,123,123,123,123,123,123,123,,,,123,,,,,,,,,,,,,,,,,,,,,,,,', +',,,123,,,,123,,123,99,123,,99,99,99,99,99,99,99,99,99,99,,,99,99,99', +'99,99,,,99,99,99,99,,,,99,99,,99,,99,99,,,99,99,,,,,,99,99,99,99,99', +'99,99,,,,99,,,,,,,,,,,,,,,,,,,,,,,,,,,,99,,,,99,,99,100,99,,100,100', +'100,100,100,100,100,100,100,100,,,100,100,100,100,100,,,100,100,100', +'100,,,,100,100,,100,,100,100,,,100,100,,,,,,100,100,100,100,100,100', +'100,,,,100,,,,,,,,,,,,,,,,,,,,,,,,,,,,100,,,,100,,100,101,100,,101,101', +'101,101,101,101,101,101,101,101,,,101,101,101,101,101,,,101,101,101', +'101,,,,101,101,,101,,101,101,,,101,101,,,,,,101,101,101,101,101,101', +'101,,,,101,,,,,,,,,,,,,,,,,,,,,,,,,,,,101,,,,101,,101,102,101,,102,102', +'102,102,102,102,102,102,102,102,,,102,102,102,102,102,,,102,102,102', +'102,,,,102,102,,102,,102,102,,,102,102,,,,,,102,102,102,102,102,102', +'102,,,,102,,,,,,,,,,,,,,,,,,,,,,,,,,,,102,,,,102,,102,116,102,,116,116', +'116,116,116,116,116,116,116,116,,,116,116,116,116,116,,,116,116,116', +'116,,,,116,116,,116,,116,116,,,116,116,,,,,,116,116,116,116,116,116', +'116,,,,116,,,,,,,,,,,,,,,,,,,,,,,,,,,,116,,,,116,,116,104,116,,104,104', +'104,104,104,104,104,104,104,104,,,104,104,104,104,104,,,104,104,104', +'104,,,,104,104,,104,,104,104,,,104,104,,,,,,104,104,104,104,104,104', +'104,,,,104,,,,,,,,,,,,,,,,,,,,,,,,,,,,104,,,,104,,104,105,104,,105,105', +'105,105,105,105,105,105,105,105,,,105,105,105,105,105,,,105,105,105', +'105,,,,105,105,,105,,105,105,,,105,105,,,,,,105,105,105,105,105,105', +'105,,,,105,,,,,,,,,,,,,,,,,,,,,,,,,,,,105,,,,105,,105,106,105,,106,106', +'106,106,106,106,106,106,106,106,,,106,106,106,106,106,,,106,106,106', +'106,,,,106,106,,106,,106,106,,,106,106,,,,,,106,106,106,106,106,106', +'106,,,,106,,,,,,,,,,,,,,,,,,,,,,,,,,,,106,,,,106,,106,107,106,,107,107', +'107,107,107,107,107,107,107,107,,,107,107,107,107,107,,,107,107,107', +'107,,,,107,107,,107,,107,107,,,107,107,,,,,,107,107,107,107,107,107', +'107,,,,107,,,,,,,,,,,,,,,,,,,,,,,,,,,,107,,,,107,,107,108,107,,108,108', +'108,108,108,108,108,108,108,108,,,108,108,108,108,108,,,108,108,108', +'108,,,,108,108,,108,,108,108,,,108,108,,,,,,108,108,108,108,108,108', +'108,,,,108,,,,,,,,,,,,,,,,,,,,,,,,,,,,108,,,,108,,108,109,108,,109,109', +'109,109,109,109,109,109,109,109,,,109,109,109,109,109,,,109,109,109', +'109,,,,109,109,,109,,109,109,,,109,109,,,,,,109,109,109,109,109,109', +'109,,,,109,,,,,,,,,,,,,,,,,,,,,,,,,,,,109,,,,109,,109,125,109,,125,125', +'125,125,125,125,125,125,125,125,,,125,125,125,125,125,,,125,125,125', +'125,,,,125,125,,125,,125,125,,,125,125,,,,,,125,125,125,125,125,125', +'125,,,,125,,,,,,,,,,,,,,,,,,,,,,,,,,,,125,,,,125,,125,111,125,,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,111,111,111,111', +'111,,,,111,,,,,,,,,,,,,,,,,,,,,,,,,,,,111,,,,111,,111,112,111,,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,112,112,112,112', +'112,,,,112,,,,,,,,,,,,,,,,,,,,,,,,,,,,112,,,,112,,112,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,113,113,113', +'113,,,,113,,,,,,,,,,,,,,,,,,,,,,,,,,,,113,,,,113,,113,114,113,,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,,,,,,,,,,,,,,,,,,,,,,,,,,,,114,,,,114,,114,115,114,,115,115', +'115,115,115,115,115,115,115,115,,,115,115,115,115,115,,,115,115,115', +'115,,,,115,115,,115,,115,115,,,115,115,,,,,,115,115,115,115,115,115', +'115,,,,115,,,,,,,,,,,,,,,,,,,,,,,,,,,,115,,,,115,,115,103,115,,103,103', +'103,103,103,103,103,103,103,103,,,103,103,103,103,103,,,103,103,103', +'103,,,,103,103,,103,,103,103,,,103,103,,,,,,103,103,103,103,103,103', +'103,217,,217,103,,,,61,61,61,61,61,61,61,61,61,61,,,,,,,,,217,,61,61', +',,103,,217,,103,,103,,103,,,217,61,,,,,,217,217,217,217,217,217,217', +'217,217,217,217,217,217,217,217,217,217,217,217,217,217,217,217,217', +'217,217,217,217,217,217,217,,217,217,278,,278,,,217,,,61,,61,,61,,,', +',,,,,,,,,278,,,,,,,,278,,,,,,,,,278,,,,,,,278,278,278,278,278,278,278', +'278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278', +'278,278,278,278,278,278,,,278,278,,,,,,278,1,1,1,1,1,1,1,1,1,1,,,,,', +',,,,,1,1,,,,,,,,,,,,,,,1,,,,284,,284,,,,,,,,,,,,,,,,,,,,,,,284,,,,,', +',,284,,,,,,,,,284,,1,,1,,1,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,153,,153,,,284,,,,,,,,,,,,,,,,,,,,153,,,,,,,,153,', +',,,,,,,153,,,,,,,153,153,153,153,153,153,153,153,153,153,153,153,153', +'153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153', +'153,,153,153,187,,187,,,,,,,,,,,,,,,,,,,,,,,187,,,,,,,,187,,,,,,,,,187', +',,,,,,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187', +'187,187,187,187,187,187,187,187,187,187,187,187,187,187,,,187,187,175', +',175,,,,,,,,,,,,,,,,,,,,,,,175,,,,,,,,175,,,,,,,,,175,,,,,,,175,175', +'175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175', +'175,175,175,175,175,175,175,175,175,175,175,,,175,175,280,,280,,,,,', +',,,,,,,,,,,,,,,,,280,,,,,,,,280,,,,,,,,,280,,,,,,,280,280,280,280,280', +'280,280,280,280,280,280,280,280,280,280,280,280,280,280,280,280,280', +'280,280,280,280,280,280,280,280,,,280,280,279,,279,,,,,,,,,,,,,,,,,', +',,,,,279,,,,,,,,279,,,,,,,,,279,,,,,,,279,279,279,279,279,279,279,279', +'279,279,279,279,279,279,279,279,279,279,279,279,279,279,279,279,279', +'279,279,279,279,279,,,279,279,273,,273,,,,,,,,,,,,,,,,,,,,,,,273,,,', +',,,,273,,,,,,,273,,273,,,,,,,273,273,273,273,273,273,273,273,273,273', +'273,273,273,273,273,273,273,273,273,273,273,273,273,273,273,273,273', +'273,273,273,,,273,273,227,,227,,,,,,,,,,,,,,,,,,,,,,,227,,,,,,,,227', +',,,,,,,,227,,,,,,,227,227,227,227,227,227,227,227,227,227,227,227,227', +'227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227', +',,227,227,169,,169,,,,,,,,,,,,,,,,,,,,,,,169,,,,,,,,169,,,,,,,,,169', +',,,,,,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169', +'169,169,169,169,169,169,169,169,169,169,169,169,169,169,,,169,169,150', +',150,,,,,,,,,,,,,,,,,,,,,,,150,,,,,,,,150,,,,,,,150,,150,,,,,,,150,150', +'150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150', +'150,150,150,150,150,150,150,150,150,150,150,,,150,150,80,,80,,,,,,,', +',,,,,,,,,,,,,,,80,,,,,,,,80,,,,,,,80,,80,,,,,,,80,80,80,80,80,80,80', +'80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80', +',,80,80,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,262,262,262,262,262,,,262,262,261', +',261,,,,,,,,,,,,,,,,,,,,,,,261,,,,,,,,261,,,,,,,,,261,,,,,,,261,261', +'261,261,261,261,261,261,261,261,261,261,261,261,261,261,261,261,261', +'261,261,261,261,261,261,261,261,261,261,261,,,261,261,260,,260,,,,,', +',,,,,,,,,,,,,,,,,260,,,,,,,,260,,,,,,,,,260,,,,,,,260,260,260,260,260', +'260,260,260,260,260,260,260,260,260,260,260,260,260,260,260,260,260', +'260,260,260,260,260,260,260,260,,,260,260,259,,259,,,,,,,,,,,,,,,,,', +',,,,,259,,,,,,,,259,,,,,,,,,259,,,,,,,259,259,259,259,259,259,259,259', +'259,259,259,259,259,259,259,259,259,259,259,259,259,259,259,259,259', +'259,259,259,259,259,,,259,259,78,,78,,,,,,,,,,,,,,,,,,,,,,,78,,,,,,', +',78,,,,,,,,,78,,,,,,,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78', +'78,78,78,78,78,78,78,78,78,78,78,78,78,78,,,78,78,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,21,21,21,21,21,,,21', +'21,146,,146,,,,,,,,,,,,,,,,,,,,,,,146,,,,,,,,146,,,,,,,146,,146,,,,', +',,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146', +'146,146,146,146,146,146,146,146,146,146,146,146,146,,,146,146,195,,195', +',,,,,,,,,,,,,,,,,,,,,,195,,,,,,,,195,,,,,,,,,195,,,,,,,195,195,195,195', +'195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195', +'195,195,195,195,195,195,195,195,195,91,,195,195,,,,,91,,,,,,,,,91,,', +',,,,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91', +'91,91,91,91,91,91,91,91,204,,,,,,,,204,,,,,,,,,204,,,,,,,204,204,204', +'204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204', +'204,204,204,204,204,204,204,204,204,204,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,221,221,221,201,,,,,,,,201', +',,,,,,,,201,,,,,,,201,201,201,201,201,201,201,201,201,201,201,201,201', +'201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201', +'272,,,,,,,,,272,,,,,,,272,272,272,272,272,272,272,272,272,272,272,272', +'272,272,272,272,272,272,272,272,272,272,272,272,272,272,272,272,272', +'272,250,,,,,,,,,250,,,,,,,250,250,250,250,250,250,250,250,250,250,250', +'250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250', +'250,250,271,,,,,,,,,271,,,,,,,271,271,271,271,271,271,271,271,271,271', +'271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271', +'271,271,271,166,,,,,,,,,166,,,,,,,166,166,166,166,166,166,166,166,166', +'166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166', +'166,166,166,166,188,,,,,,,,,188,,,,,,,188,188,188,188,188,188,188,188', +'188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188', +'188,188,188,188,188,164,,,,,,,,,164,,,,,,,164,164,164,164,164,164,164', +'164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164', +'164,164,164,164,164,164,184,,,,,,,184,184,184,184,184,184,184,184,184', +'184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184', +'184,184,184,184,212,,,,,,,212,212,212,212,212,212,212,212,212,212,212', +'212,212,212,212,212,212,212,212,212,212,212,212,212,212,212,212,212', +'212,212,192,,,,,,,192,192,192,192,192,192,192,192,192,192,192,192,192', +'192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192', +'189,,,,,,,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189', +'189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,181,,,,', +',,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181', +'181,181,181,181,181,181,181,181,181,181,181,181,181' ] + racc_action_check = arr = Array.new(8814, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| arr[idx] = i.to_i unless i.empty? idx += 1 end end racc_action_pointer = [ - -2, 80, nil, nil, nil, 162, 244, nil, nil, 326, - 408, 40, nil, nil, 572, nil, nil, nil, 116, nil, - nil, nil, nil, 736, nil, 818, 190, nil, nil, -45, - nil, nil, 6903, 1146, nil, nil, nil, nil, nil, 1228, - nil, nil, 1310, nil, nil, nil, 1392, 45, 141, nil, - 1638, nil, nil, 307, 1802, 1884, nil, nil, nil, 1966, - 2048, 225, 2212, 6312, nil, nil, nil, 215, 7985, -20, - 6671, 7763, 2786, 334, 72, 3032, 326, 351, -25, 3360, - -3, 3524, 3606, 3688, 3770, 3852, 3934, 4016, 4098, nil, - 4180, 4262, 4344, nil, 4426, 4508, 4590, 4672, 4754, 4836, - 4918, -13, 5082, 5164, 5246, 5328, 5410, 5492, 5574, 5656, - 5738, 5820, 5902, 5984, 6066, 6148, 6230, 2294, 484, 7273, - 306, 6592, 399, 6434, 3278, 224, 304, nil, -18, nil, - -13, -11, 379, nil, nil, 127, 52, 2622, nil, 2540, - 2458, 2, 7421, -59, 75, nil, 2130, 7901, 339, 1474, - nil, nil, 316, nil, nil, 5, nil, 7199, 7943, 7569, - 497, 1245, 7642, 989, 1235, 7859, 825, 1317, 743, 1166, - 317, 8105, 1084, 235, 7811, 14, 74, 8015, 1071, 192, - 8075, 1153, 846, 8135, 661, 764, 8045, 907, 682, 579, - 600, 415, 1255, 1064, 1720, nil, 36, 2376, 82, 229, - 31, nil, 5000, 3196, 60, 142, nil, 6357, 402, 7715, - nil, 114, -9, 320, 28, nil, nil, 105, 2950, nil, - 7347, 6977, 209, 239, 42, nil, 654, nil, nil, 6829, - 7495, nil, nil, 900, 1556, nil, nil, nil, nil, 2704, - nil, nil, 0, nil, 7125, -1, 226, 291, nil, 3442, - nil, nil, 6513, 356, 110, 3114, 70, nil, nil, 2868, - nil, nil, 143, 153, 982, nil, 6750, nil, 7051, nil, - nil, 119, 490, nil, 274 ] + 3238, 6519, nil, 178, 268, 221, nil, 448, 171, nil, + nil, nil, 78, nil, nil, 115, 808, nil, -49, 988, + nil, 7890, -71, nil, nil, 65, nil, nil, nil, nil, + 70, nil, nil, nil, nil, 44, nil, 1528, nil, nil, + nil, nil, 1618, nil, nil, nil, 1708, nil, 1798, nil, + 1888, 70, nil, 2068, nil, 2158, nil, 2248, nil, 2338, + nil, 6354, nil, 218, 2608, nil, nil, 2698, nil, 2788, + nil, 159, 129, nil, 3058, 127, 64, 189, 7807, 167, + 7392, 126, 3778, 108, nil, 220, nil, nil, 88, nil, + nil, 8110, nil, 4228, 4318, 4408, 4498, 4588, 88, 4768, + 4858, 4948, 5038, 6298, 5218, 5308, 5398, 5488, 5578, 5668, + 231, 5848, 5938, 6028, 6118, 6208, 5128, 3598, 2968, nil, + 2428, 358, nil, 4678, 3328, 5758, 4138, 4048, 3958, 134, + 159, 3868, 186, nil, 3688, -2, 3508, nil, nil, nil, + 127, 58, nil, 439, 532, 529, 7973, 509, nil, nil, + 7309, 419, 3418, 6645, -42, 204, 89, 73, -60, -42, + 264, nil, 284, nil, 8548, -2, 8456, nil, 3148, 7226, + nil, nil, 97, 100, 152, 6811, nil, nil, nil, nil, + nil, 8733, 1178, 117, 8585, 1088, 259, 6728, 8502, 8696, + 998, 349, 8659, 638, -25, 8056, 368, 1465, 211, 278, + 1375, 8272, 818, 1538, 8164, 458, 1358, 548, 1448, 728, + 908, 442, 8622, 1268, 329, nil, nil, 6350, nil, 165, + 28, 8218, 114, 2878, 116, nil, 1, 7143, 35, 2518, + nil, 1978, nil, 1438, 1348, 120, nil, 7, 84, nil, + 150, -22, -24, nil, 103, nil, -2, nil, 1258, 1168, + 8364, nil, 1078, 214, nil, nil, 898, 718, 628, 7724, + 7641, 7558, 7475, 228, nil, nil, nil, nil, nil, nil, + nil, 8410, 8318, 7060, 169, nil, nil, 538, 6433, 6977, + 6894, nil, -51, 200, 6562, nil, nil, nil, nil ] racc_action_default = [ - -1, -152, -37, -24, -13, -152, -152, -38, -14, -152, - -152, -152, -113, -96, -152, -39, -25, -15, -152, -40, - -33, -26, -16, -2, -95, -91, -152, -34, -17, -3, - -46, -18, -4, -121, -97, -31, -29, -19, -8, -152, - -98, -93, -152, -30, -20, -9, -152, -152, -107, -99, - -152, -32, -21, -10, -152, -152, -35, -22, -11, -152, - -152, -111, -152, -152, -36, -23, -12, -51, -87, -53, - -152, -129, -121, -52, -152, -152, -7, -92, -152, -91, - -152, -6, -152, -152, -152, -152, -152, -152, -152, -55, - -152, -152, -152, -54, -152, -152, -152, -152, -152, -152, - -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, - -152, -152, -152, -152, -152, -152, -152, -152, -152, -122, - -10, -152, -49, -152, -121, -152, -112, -44, -152, -108, - -152, -152, -50, -103, -104, -152, -152, -152, -100, -121, - -152, -47, -45, -152, -127, -101, -121, -86, -48, -152, - -28, -27, -152, 275, -90, -152, -94, -5, -88, -84, - -75, -64, -85, -76, -65, -150, -77, -66, -78, -67, - -56, -79, -68, -57, -151, -133, -152, -80, -69, -58, - -81, -70, -59, -82, -71, -60, -83, -72, -61, -73, - -62, -74, -63, -152, -152, -120, -152, -152, -152, -152, - -152, -106, -152, -152, -114, -152, -102, -152, -152, -41, - -130, -152, -152, -152, -152, -117, -89, -152, -152, -132, - -124, -123, -152, -152, -152, -139, -152, -110, -109, -42, - -43, -105, -115, -152, -152, -125, -116, -147, -149, -152, - -145, -143, -152, -134, -152, -8, -152, -152, -131, -152, - -140, -137, -152, -128, -152, -152, -152, -148, -144, -152, - -135, -118, -152, -152, -152, -126, -152, -146, -152, -119, - -138, -141, -152, -136, -142 ] + -1, -167, -21, -167, -167, -167, -22, -167, -167, -2, + -46, -23, -3, -31, -24, -160, -167, -98, -167, -167, + -29, -5, -167, -30, -33, -8, -32, -34, -9, -92, + -167, -35, -10, -99, -36, -167, -11, -167, -100, -37, + -27, -12, -167, -101, -28, -13, -167, -38, -167, -14, + -167, -115, -39, -167, -15, -167, -40, -127, -16, -167, + -97, -167, -117, -109, -167, -17, -18, -167, -94, -167, + -19, -167, -167, -20, -127, -167, -116, -49, -45, -167, + -167, -167, -7, -167, -158, -160, -162, -164, -167, -26, + -4, -139, -89, -167, -167, -167, -167, -167, -167, -167, + -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, + -167, -167, -167, -167, -167, -167, -167, -167, -167, -57, + -167, -167, -56, -167, -167, -167, -167, -167, -167, -167, + -167, -167, -167, -102, -127, -167, -167, -106, -105, -119, + -167, -144, -91, -50, -47, -48, -167, -51, -103, -120, + -167, -53, -167, -128, -167, -52, -96, -167, -167, -167, + -167, -44, -109, -110, -54, -167, -55, -95, -127, -128, + 289, -156, -167, -135, -167, -6, -161, -157, -159, -163, + -25, -82, -71, -60, -83, -72, -61, -165, -88, -84, + -73, -62, -85, -74, -63, -166, -75, -64, -167, -76, + -65, -86, -77, -66, -87, -78, -67, -79, -68, -80, + -69, -58, -81, -70, -59, -93, -90, -167, -104, -167, + -118, -41, -167, -167, -167, -141, -167, -129, -167, -167, + -126, -167, -134, -167, -167, -167, -108, -167, -167, -140, + -167, -167, -167, -136, -142, -107, -121, -143, -167, -167, + -146, -145, -167, -167, -151, -155, -167, -167, -167, -130, + -131, -42, -43, -167, -111, -112, -114, -123, -138, -137, + -122, -148, -147, -167, -167, -152, -149, -167, -167, -132, + -133, -113, -153, -167, -167, -124, -154, -150, -125 ] racc_goto_table = [ - 23, 29, 120, 126, 149, 78, 134, 145, 127, 225, - 129, 18, 128, 212, 134, 152, 125, 176, 219, 224, - 245, 258, 257, nil, nil, nil, 77, nil, nil, 81, - nil, nil, nil, nil, nil, 250, nil, nil, nil, nil, + 9, 140, 219, 21, 137, 84, 77, 78, 75, 76, + 80, 254, 82, 86, 160, 222, 5, 253, 90, 21, + 173, 177, 91, 12, 215, 85, 270, 149, 87, nil, + 137, nil, 148, 161, nil, 264, 240, 265, 275, 88, + 143, nil, 18, nil, nil, 144, nil, nil, nil, 145, + 81, 146, 149, 147, 137, 137, 150, 148, 151, nil, + 153, nil, 155, 281, nil, nil, nil, 164, 156, 157, + 165, nil, 166, 244, nil, 178, nil, 142, nil, nil, + nil, 198, nil, 179, nil, 175, nil, nil, 82, nil, + nil, nil, nil, nil, nil, nil, 181, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 238, 199, 200, 201, 202, 203, 204, + 205, 206, 171, 207, 208, 176, 209, 210, 211, 212, + 213, 214, 161, 149, 217, 137, 137, nil, 148, 221, + nil, nil, 220, 157, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, 227, nil, nil, nil, nil, + 237, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, 216, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, 225, nil, + nil, nil, nil, nil, nil, nil, 255, nil, nil, 137, + nil, nil, nil, nil, nil, 161, nil, 161, nil, nil, + nil, nil, nil, nil, nil, nil, 243, nil, nil, nil, + nil, nil, nil, 255, nil, nil, 250, nil, nil, 257, + nil, nil, 259, 161, 260, 263, 261, 262, 237, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, 197, nil, 198, nil, 155, - 143, 144, nil, nil, nil, nil, nil, nil, nil, nil, - 150, nil, 145, 134, nil, nil, 81, 81, 134, 134, - 77, nil, 208, nil, nil, nil, nil, nil, nil, 213, - nil, 205, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, 204, nil, 120, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, 193, nil, - nil, 150, nil, 150, nil, nil, nil, nil, 199, nil, + nil, 271, 272, nil, nil, 273, nil, nil, nil, 278, + 279, 280, nil, nil, 247, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, 81, 81, nil, nil, nil, nil, nil, - 214, 145, 193, nil, nil, nil, nil, 134, 134, 127, - 127, 227, 228, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, 205, nil, - nil, nil, nil, nil, nil, nil, 264, nil, nil, nil, - nil, 246, nil, nil, nil, nil, nil, nil, 223, 134, - 272, nil, nil, 205, nil, nil, nil, nil, 193, nil, - nil, nil, nil, 193, 81, 134, 262, nil, nil, nil, - nil, nil, nil, 81, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, 253, 254, nil, nil, 67, nil, - 256, nil, 68, 69, nil, nil, 70, 71, nil, nil, - 263, 73, 150, 81, 81, nil, 81, nil, nil, nil, - nil, nil, nil, 81, nil, 271, 150, nil, nil, nil, - 119, 81, nil, 274, 81, nil, 121, nil, nil, 122, - nil, nil, nil, 123, nil, nil, nil, 132, nil, nil, - nil, 141, 142, nil, nil, nil, nil, nil, nil, 147, - 148, nil, nil, nil, nil, nil, nil, nil, nil, 119, - nil, nil, nil, nil, nil, nil, nil, nil, 157, 158, - 159, 160, 161, 162, 163, 164, nil, 165, 166, 167, - nil, 168, 169, 170, 171, 172, 173, 174, nil, 177, - 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 188, 189, 190, 191, 192, nil, nil, nil, nil, nil, - nil, 119, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, 207, nil, 119, 209, nil, nil, - nil, nil, nil, 119, nil, nil, nil, nil, nil, nil, + 284, nil, 286, 268, 269, 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, nil, nil, nil, nil, nil, nil, nil, - 220, 221, nil, nil, nil, nil, nil, nil, nil, 229, - 230, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, 244, nil, nil, nil, nil, - nil, nil, nil, 252, 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, 266, nil, nil, nil, 268 ] + nil, nil, nil, nil, nil, 282, 283 ] racc_goto_check = [ - 2, 3, 7, 31, 22, 26, 11, 30, 21, 40, - 24, 1, 33, 36, 11, 35, 7, 37, 38, 39, - 5, 41, 43, nil, nil, nil, 3, nil, nil, 2, - nil, nil, nil, nil, nil, 40, nil, nil, nil, nil, + 2, 38, 36, 5, 10, 43, 5, 5, 6, 31, + 5, 41, 2, 45, 33, 39, 1, 40, 2, 5, + 37, 42, 5, 3, 26, 44, 8, 35, 46, nil, + 10, nil, 30, 22, nil, 24, 36, 24, 41, 3, + 5, nil, 4, nil, nil, 5, nil, nil, nil, 5, + 4, 5, 35, 5, 10, 10, 5, 30, 5, nil, + 5, nil, 5, 24, nil, nil, nil, 5, 6, 31, + 5, nil, 5, 39, nil, 43, nil, 4, nil, nil, + nil, 38, nil, 45, nil, 5, nil, nil, 2, nil, + nil, nil, nil, nil, nil, nil, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 33, 5, 5, 5, 5, 5, 5, + 5, 5, 4, 5, 5, 4, 5, 5, 5, 5, + 5, 5, 22, 35, 5, 10, 10, nil, 30, 5, + nil, nil, 6, 31, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, 5, nil, nil, nil, nil, + 2, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, 4, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, 4, nil, + nil, nil, nil, nil, nil, nil, 22, nil, nil, 10, + nil, nil, nil, nil, nil, 22, nil, 22, nil, nil, + nil, nil, nil, nil, nil, nil, 4, nil, nil, nil, + nil, nil, nil, 22, nil, nil, 5, nil, nil, 2, + nil, nil, 5, 22, 5, 2, 5, 5, 2, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, 22, nil, 22, nil, 26, - 3, 3, nil, nil, nil, nil, nil, nil, nil, nil, - 2, nil, 30, 11, nil, nil, 2, 2, 11, 11, - 3, nil, 35, nil, nil, nil, nil, nil, nil, 35, - nil, 31, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, 7, nil, 7, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, 2, nil, - nil, 2, nil, 2, nil, nil, nil, nil, 2, nil, + nil, 5, 5, nil, nil, 5, nil, nil, nil, 5, + 5, 5, nil, nil, 4, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, 2, 2, nil, nil, nil, nil, nil, - 3, 30, 2, nil, nil, nil, nil, 11, 11, 21, - 21, 24, 24, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, 31, nil, - nil, nil, nil, nil, nil, nil, 22, nil, nil, nil, - nil, 7, nil, nil, nil, nil, nil, nil, 3, 11, - 22, nil, nil, 31, nil, nil, nil, nil, 2, nil, - nil, nil, nil, 2, 2, 11, 7, nil, nil, nil, - nil, nil, nil, 2, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, 3, 3, nil, nil, 4, nil, - 3, nil, 4, 4, nil, nil, 4, 4, nil, nil, - 3, 4, 2, 2, 2, nil, 2, nil, nil, nil, - nil, nil, nil, 2, nil, 3, 2, nil, nil, nil, - 4, 2, nil, 3, 2, nil, 4, nil, nil, 4, - nil, nil, nil, 4, nil, nil, nil, 4, nil, nil, - nil, 4, 4, nil, nil, nil, nil, nil, nil, 4, - 4, nil, nil, nil, nil, nil, nil, nil, nil, 4, - nil, nil, nil, nil, nil, nil, nil, nil, 4, 4, - 4, 4, 4, 4, 4, 4, nil, 4, 4, 4, - nil, 4, 4, 4, 4, 4, 4, 4, nil, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, nil, nil, nil, nil, nil, - nil, 4, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, 4, nil, 4, 4, nil, nil, - nil, nil, nil, 4, nil, nil, nil, nil, nil, nil, + 5, nil, 2, 4, 4, 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, nil, nil, nil, nil, nil, nil, nil, - 4, 4, nil, nil, nil, nil, nil, nil, nil, 4, - 4, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, 4, nil, nil, nil, nil, - nil, nil, nil, 4, 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, 4, nil, nil, nil, 4 ] + nil, nil, nil, nil, nil, 4, 4 ] racc_goto_pointer = [ - nil, 11, 0, 1, 237, -198, nil, -31, nil, nil, - nil, -47, nil, nil, nil, nil, nil, nil, nil, nil, - nil, -40, -66, nil, -38, nil, -20, nil, nil, nil, - -54, -44, nil, -36, nil, -57, -131, -84, -158, -179, - -189, -221, nil, -220, nil ] + nil, 16, 0, 23, 42, 3, 7, nil, -220, nil, + -21, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, -30, nil, -200, nil, -105, nil, nil, nil, + -19, 8, nil, -49, nil, -24, -132, -61, -29, -125, + -209, -215, -62, -10, 10, -2, 13 ] racc_goto_default = [ - nil, nil, 75, 76, 32, 38, 45, 53, 58, 66, - 4, 8, 17, 22, 28, 31, 37, 44, 52, 57, - 65, 3, nil, 13, nil, 26, nil, 34, 40, 49, - 138, 61, 133, nil, 12, 118, nil, nil, nil, nil, - nil, 241, 242, 237, 238 ] + nil, nil, 231, nil, nil, 169, 25, 28, 32, 36, + 41, 45, 49, 54, 58, 65, 66, 70, 73, 2, + 6, 11, 14, 17, 163, 22, 29, 33, 38, 43, + 133, 51, 138, nil, 62, 139, 154, nil, nil, nil, + nil, nil, 15, nil, nil, nil, nil ] racc_reduce_table = [ 0, 0, :racc_error, - 0, 90, :_reduce_1, - 1, 90, :_reduce_2, - 1, 90, :_reduce_3, - 1, 92, :_reduce_4, - 3, 92, :_reduce_5, - 2, 92, :_reduce_6, - 2, 92, :_reduce_7, - 1, 93, :_reduce_none, - 1, 93, :_reduce_none, - 1, 94, :_reduce_none, - 1, 94, :_reduce_none, - 1, 94, :_reduce_none, - 1, 94, :_reduce_none, - 1, 94, :_reduce_none, - 1, 95, :_reduce_none, - 1, 95, :_reduce_none, - 1, 95, :_reduce_none, - 1, 95, :_reduce_none, - 1, 95, :_reduce_none, - 1, 95, :_reduce_none, - 1, 95, :_reduce_none, - 1, 95, :_reduce_none, - 1, 95, :_reduce_none, - 1, 95, :_reduce_none, - 1, 91, :_reduce_none, - 1, 91, :_reduce_none, - 1, 111, :_reduce_none, - 1, 111, :_reduce_none, - 1, 112, :_reduce_29, - 1, 112, :_reduce_30, - 1, 112, :_reduce_31, - 1, 112, :_reduce_32, - 1, 112, :_reduce_33, - 1, 112, :_reduce_34, - 1, 112, :_reduce_35, - 1, 112, :_reduce_36, - 1, 112, :_reduce_37, - 1, 112, :_reduce_38, - 1, 112, :_reduce_39, - 1, 112, :_reduce_40, - 3, 101, :_reduce_41, - 3, 113, :_reduce_42, - 3, 113, :_reduce_43, - 1, 113, :_reduce_44, - 2, 105, :_reduce_45, - 1, 110, :_reduce_46, - 2, 99, :_reduce_47, - 2, 99, :_reduce_48, - 2, 99, :_reduce_49, - 2, 99, :_reduce_50, - 2, 99, :_reduce_51, - 2, 99, :_reduce_52, - 2, 99, :_reduce_53, - 2, 99, :_reduce_54, - 2, 99, :_reduce_55, - 3, 99, :_reduce_56, - 3, 99, :_reduce_57, - 3, 99, :_reduce_58, - 3, 99, :_reduce_59, - 3, 99, :_reduce_60, - 3, 99, :_reduce_61, - 3, 99, :_reduce_62, - 3, 99, :_reduce_63, - 3, 99, :_reduce_64, - 3, 99, :_reduce_65, - 3, 99, :_reduce_66, - 3, 99, :_reduce_67, - 3, 99, :_reduce_68, - 3, 99, :_reduce_69, - 3, 99, :_reduce_70, - 3, 99, :_reduce_71, - 3, 99, :_reduce_72, - 3, 99, :_reduce_73, - 3, 99, :_reduce_74, - 3, 99, :_reduce_75, - 3, 99, :_reduce_76, - 3, 99, :_reduce_77, - 3, 99, :_reduce_78, - 3, 99, :_reduce_79, - 3, 99, :_reduce_80, - 3, 99, :_reduce_81, - 3, 99, :_reduce_82, - 3, 99, :_reduce_83, - 3, 99, :_reduce_84, - 3, 99, :_reduce_85, - 2, 99, :_reduce_86, - 2, 99, :_reduce_87, - 3, 99, :_reduce_88, - 4, 98, :_reduce_89, - 3, 98, :_reduce_90, - 0, 115, :_reduce_91, - 1, 115, :_reduce_92, - 1, 114, :_reduce_93, - 3, 114, :_reduce_94, - 1, 96, :_reduce_95, - 1, 96, :_reduce_96, - 1, 96, :_reduce_97, - 1, 96, :_reduce_98, - 1, 96, :_reduce_99, - 2, 96, :_reduce_100, - 2, 96, :_reduce_101, - 2, 119, :_reduce_102, - 1, 119, :_reduce_103, - 1, 119, :_reduce_104, - 3, 121, :_reduce_105, - 3, 117, :_reduce_106, - 0, 122, :_reduce_107, - 1, 122, :_reduce_108, - 3, 122, :_reduce_109, - 3, 122, :_reduce_110, - 1, 97, :_reduce_111, - 2, 97, :_reduce_112, - 1, 97, :_reduce_113, - 3, 109, :_reduce_114, - 4, 120, :_reduce_115, - 4, 120, :_reduce_116, - 4, 123, :_reduce_117, - 6, 100, :_reduce_118, - 7, 100, :_reduce_119, - 3, 116, :_reduce_120, - 0, 124, :_reduce_121, - 1, 124, :_reduce_122, - 3, 124, :_reduce_123, - 3, 124, :_reduce_124, - 4, 103, :_reduce_125, - 6, 103, :_reduce_126, - 0, 125, :_reduce_127, - 3, 125, :_reduce_128, - 2, 104, :_reduce_129, - 3, 118, :_reduce_130, - 5, 106, :_reduce_131, - 4, 107, :_reduce_132, - 1, 126, :_reduce_133, - 3, 126, :_reduce_134, - 3, 127, :_reduce_135, - 5, 127, :_reduce_136, + 0, 96, :_reduce_1, + 1, 96, :_reduce_2, + 1, 96, :_reduce_3, + 2, 96, :_reduce_4, + 1, 98, :_reduce_5, + 3, 98, :_reduce_6, + 2, 98, :_reduce_7, + 1, 100, :_reduce_none, + 1, 100, :_reduce_none, + 1, 100, :_reduce_none, + 1, 100, :_reduce_none, + 1, 100, :_reduce_none, + 1, 100, :_reduce_none, + 1, 100, :_reduce_none, + 1, 100, :_reduce_none, + 1, 100, :_reduce_none, + 1, 100, :_reduce_none, + 1, 100, :_reduce_none, + 1, 100, :_reduce_none, + 1, 100, :_reduce_none, + 1, 100, :_reduce_none, + 1, 100, :_reduce_none, + 1, 100, :_reduce_none, + 1, 100, :_reduce_none, + 3, 99, :_reduce_25, + 2, 99, :_reduce_26, + 1, 97, :_reduce_none, + 1, 97, :_reduce_none, + 1, 118, :_reduce_29, + 1, 118, :_reduce_30, + 1, 118, :_reduce_31, + 1, 118, :_reduce_32, + 1, 118, :_reduce_33, + 1, 118, :_reduce_34, + 1, 118, :_reduce_35, + 1, 118, :_reduce_36, + 1, 118, :_reduce_37, + 1, 118, :_reduce_38, + 1, 118, :_reduce_39, + 1, 118, :_reduce_40, + 3, 106, :_reduce_41, + 3, 119, :_reduce_42, + 3, 119, :_reduce_43, + 1, 119, :_reduce_44, + 2, 110, :_reduce_45, + 1, 117, :_reduce_46, + 2, 104, :_reduce_47, + 2, 104, :_reduce_48, + 2, 104, :_reduce_49, + 2, 104, :_reduce_50, + 2, 104, :_reduce_51, + 2, 104, :_reduce_52, + 2, 104, :_reduce_53, + 2, 104, :_reduce_54, + 2, 104, :_reduce_55, + 2, 104, :_reduce_56, + 2, 104, :_reduce_57, + 3, 104, :_reduce_58, + 3, 104, :_reduce_59, + 3, 104, :_reduce_60, + 3, 104, :_reduce_61, + 3, 104, :_reduce_62, + 3, 104, :_reduce_63, + 3, 104, :_reduce_64, + 3, 104, :_reduce_65, + 3, 104, :_reduce_66, + 3, 104, :_reduce_67, + 3, 104, :_reduce_68, + 3, 104, :_reduce_69, + 3, 104, :_reduce_70, + 3, 104, :_reduce_71, + 3, 104, :_reduce_72, + 3, 104, :_reduce_73, + 3, 104, :_reduce_74, + 3, 104, :_reduce_75, + 3, 104, :_reduce_76, + 3, 104, :_reduce_77, + 3, 104, :_reduce_78, + 3, 104, :_reduce_79, + 3, 104, :_reduce_80, + 3, 104, :_reduce_81, + 3, 104, :_reduce_82, + 3, 104, :_reduce_83, + 3, 104, :_reduce_84, + 3, 104, :_reduce_85, + 3, 104, :_reduce_86, + 3, 104, :_reduce_87, + 3, 104, :_reduce_88, + 2, 116, :_reduce_89, + 3, 103, :_reduce_90, + 2, 103, :_reduce_91, + 1, 120, :_reduce_92, + 3, 120, :_reduce_93, + 1, 121, :_reduce_none, + 2, 121, :_reduce_95, + 2, 115, :_reduce_96, + 1, 101, :_reduce_97, + 1, 101, :_reduce_98, + 1, 101, :_reduce_99, + 1, 101, :_reduce_100, + 1, 101, :_reduce_101, + 2, 101, :_reduce_102, + 2, 101, :_reduce_103, + 2, 125, :_reduce_104, + 1, 125, :_reduce_105, + 1, 125, :_reduce_106, + 3, 127, :_reduce_107, + 3, 123, :_reduce_108, + 0, 128, :_reduce_109, + 1, 128, :_reduce_110, + 3, 128, :_reduce_111, + 3, 128, :_reduce_112, + 4, 128, :_reduce_113, + 3, 128, :_reduce_114, + 1, 102, :_reduce_115, + 2, 102, :_reduce_116, + 1, 102, :_reduce_117, + 3, 114, :_reduce_118, + 2, 126, :_reduce_119, + 2, 126, :_reduce_120, + 3, 130, :_reduce_121, + 4, 130, :_reduce_122, + 4, 129, :_reduce_123, + 6, 105, :_reduce_124, + 7, 105, :_reduce_125, + 3, 122, :_reduce_126, + 0, 131, :_reduce_127, + 1, 131, :_reduce_128, + 2, 131, :_reduce_129, + 3, 131, :_reduce_130, + 3, 131, :_reduce_131, + 4, 131, :_reduce_132, + 4, 131, :_reduce_133, + 2, 131, :_reduce_134, + 3, 108, :_reduce_135, + 4, 108, :_reduce_136, 5, 108, :_reduce_137, - 7, 108, :_reduce_138, - 1, 128, :_reduce_139, - 2, 128, :_reduce_140, - 4, 129, :_reduce_141, - 5, 130, :_reduce_142, - 1, 131, :_reduce_143, - 2, 131, :_reduce_144, - 1, 132, :_reduce_145, - 3, 132, :_reduce_146, - 1, 133, :_reduce_147, - 2, 133, :_reduce_148, - 5, 102, :_reduce_149, - 3, 102, :_reduce_150, - 3, 102, :_reduce_151 ] + 3, 132, :_reduce_138, + 2, 109, :_reduce_139, + 3, 124, :_reduce_140, + 3, 111, :_reduce_141, + 4, 112, :_reduce_142, + 4, 112, :_reduce_143, + 1, 133, :_reduce_144, + 3, 133, :_reduce_145, + 2, 134, :_reduce_146, + 3, 134, :_reduce_147, + 3, 134, :_reduce_148, + 5, 113, :_reduce_149, + 7, 113, :_reduce_150, + 1, 135, :_reduce_151, + 2, 135, :_reduce_152, + 3, 136, :_reduce_153, + 4, 136, :_reduce_154, + 1, 136, :_reduce_none, + 3, 137, :_reduce_156, + 2, 138, :_reduce_157, + 1, 139, :_reduce_158, + 2, 139, :_reduce_159, + 0, 140, :_reduce_160, + 2, 140, :_reduce_161, + 1, 141, :_reduce_162, + 2, 141, :_reduce_163, + 2, 107, :_reduce_164, + 3, 107, :_reduce_165, + 3, 107, :_reduce_166 ] -racc_reduce_n = 152 +racc_reduce_n = 167 -racc_shift_n = 275 +racc_shift_n = 289 racc_token_table = { false => 0, :error => 1, :IF => 2, :ELSE => 3, - :THEN => 4, - :UNLESS => 5, - :NUMBER => 6, - :STRING => 7, - :REGEX => 8, - :TRUE => 9, - :FALSE => 10, - :YES => 11, - :NO => 12, - :ON => 13, - :OFF => 14, - :IDENTIFIER => 15, - :PROPERTY_ACCESS => 16, - :CODE => 17, - :PARAM => 18, + :UNLESS => 4, + :NUMBER => 5, + :STRING => 6, + :REGEX => 7, + :TRUE => 8, + :FALSE => 9, + :YES => 10, + :NO => 11, + :ON => 12, + :OFF => 13, + :IDENTIFIER => 14, + :PROPERTY_ACCESS => 15, + :CODE => 16, + :PARAM => 17, + :PARAM_SPLAT => 18, :NEW => 19, :RETURN => 20, :TRY => 21, :CATCH => 22, :FINALLY => 23, :THROW => 24, :BREAK => 25, :CONTINUE => 26, :FOR => 27, :IN => 28, - :WHILE => 29, - :SWITCH => 30, - :WHEN => 31, - :DELETE => 32, - :INSTANCEOF => 33, - :TYPEOF => 34, - :SUPER => 35, - :EXTENDS => 36, - :NEWLINE => 37, - :COMMENT => 38, - :JS => 39, - :UMINUS => 40, - :NOT => 41, - "!" => 42, - "!!" => 43, - "~" => 44, - "++" => 45, - "--" => 46, - "*" => 47, - "/" => 48, - "%" => 49, - "+" => 50, - "-" => 51, - "<<" => 52, - ">>" => 53, - ">>>" => 54, - "&" => 55, - "|" => 56, - "^" => 57, - "<=" => 58, - "<" => 59, - ">" => 60, - ">=" => 61, - "==" => 62, - "!=" => 63, - :IS => 64, - :ISNT => 65, - "&&" => 66, - "||" => 67, - :AND => 68, - :OR => 69, - "-=" => 70, - "+=" => 71, - "/=" => 72, - "*=" => 73, - "%=" => 74, - "." => 75, - :ASSIGN => 76, - "||=" => 77, - "&&=" => 78, - "\n" => 79, - ";" => 80, - "=>" => 81, - "," => 82, - "[" => 83, - "]" => 84, - "{" => 85, - "}" => 86, - "(" => 87, - ")" => 88 } + :BY => 29, + :WHEN => 30, + :WHILE => 31, + :SWITCH => 32, + :LEADING_WHEN => 33, + :DELETE => 34, + :INSTANCEOF => 35, + :TYPEOF => 36, + :SUPER => 37, + :EXTENDS => 38, + :NEWLINE => 39, + :COMMENT => 40, + :JS => 41, + :INDENT => 42, + :OUTDENT => 43, + "?" => 44, + :UMINUS => 45, + :SPLAT => 46, + :NOT => 47, + "!" => 48, + "!!" => 49, + "~" => 50, + "++" => 51, + "--" => 52, + "*" => 53, + "/" => 54, + "%" => 55, + "+" => 56, + "-" => 57, + "<<" => 58, + ">>" => 59, + ">>>" => 60, + "&" => 61, + "|" => 62, + "^" => 63, + "<=" => 64, + "<" => 65, + ">" => 66, + ">=" => 67, + "==" => 68, + "!=" => 69, + :IS => 70, + :ISNT => 71, + "&&" => 72, + "||" => 73, + :AND => 74, + :OR => 75, + "-=" => 76, + "+=" => 77, + "/=" => 78, + "*=" => 79, + "%=" => 80, + "." => 81, + :ASSIGN => 82, + "||=" => 83, + "&&=" => 84, + "=>" => 85, + "\n" => 86, + ";" => 87, + "," => 88, + "[" => 89, + "]" => 90, + "{" => 91, + "}" => 92, + "(" => 93, + ")" => 94 } -racc_nt_base = 89 +racc_nt_base = 95 racc_use_result_var = true Racc_arg = [ racc_action_table, @@ -1038,11 +1070,10 @@ Racc_token_to_s_table = [ "$end", "error", "IF", "ELSE", - "THEN", "UNLESS", "NUMBER", "STRING", "REGEX", "TRUE", @@ -1053,32 +1084,39 @@ "OFF", "IDENTIFIER", "PROPERTY_ACCESS", "CODE", "PARAM", + "PARAM_SPLAT", "NEW", "RETURN", "TRY", "CATCH", "FINALLY", "THROW", "BREAK", "CONTINUE", "FOR", "IN", + "BY", + "WHEN", "WHILE", "SWITCH", - "WHEN", + "LEADING_WHEN", "DELETE", "INSTANCEOF", "TYPEOF", "SUPER", "EXTENDS", "NEWLINE", "COMMENT", "JS", + "INDENT", + "OUTDENT", + "\"?\"", "UMINUS", + "SPLAT", "NOT", "\"!\"", "\"!!\"", "\"~\"", "\"++\"", @@ -1113,13 +1151,13 @@ "\"%=\"", "\".\"", "ASSIGN", "\"||=\"", "\"&&=\"", + "\"=>\"", "\"\\n\"", "\";\"", - "\"=>\"", "\",\"", "\"[\"", "\"]\"", "\"{\"", "\"}\"", @@ -1127,13 +1165,12 @@ "\")\"", "$start", "Root", "Terminator", "Expressions", + "Block", "Expression", - "PureExpression", - "Statement", "Value", "Call", "Code", "Operation", "Range", @@ -1144,30 +1181,33 @@ "Return", "While", "For", "Switch", "Extends", + "Splat", + "Existence", "Comment", - "Then", "Literal", "AssignObj", "ParamList", - "CodeBody", + "Param", "Array", "Object", "Parenthetical", "Accessor", "Invocation", "Index", "AssignList", "Super", + "Arguments", "ArgList", "Catch", "ForVariables", "ForSource", "Whens", "When", + "IfBlock", "ElsIf", "ElsIfs", "ElseBody", "IfEnd" ] @@ -1175,55 +1215,55 @@ ##### State transition tables end ##### # reduce 0 omitted -module_eval(<<'.,.,', 'grammar.y', 45) +module_eval(<<'.,.,', 'grammar.y', 46) def _reduce_1(val, _values, result) - result = Expressions.new([]) + result = Expressions.new result end .,., -module_eval(<<'.,.,', 'grammar.y', 46) +module_eval(<<'.,.,', 'grammar.y', 47) def _reduce_2(val, _values, result) - result = Expressions.new([]) + result = Expressions.new result end .,., -module_eval(<<'.,.,', 'grammar.y', 47) +module_eval(<<'.,.,', 'grammar.y', 48) def _reduce_3(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 52) +module_eval(<<'.,.,', 'grammar.y', 49) def _reduce_4(val, _values, result) - result = Expressions.new(val) + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 53) +module_eval(<<'.,.,', 'grammar.y', 54) def _reduce_5(val, _values, result) - result = val[0] << val[2] + result = Expressions.wrap(val) result end .,., -module_eval(<<'.,.,', 'grammar.y', 54) +module_eval(<<'.,.,', 'grammar.y', 55) def _reduce_6(val, _values, result) - result = val[0] + result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 55) +module_eval(<<'.,.,', 'grammar.y', 56) def _reduce_7(val, _values, result) - result = val[1] + result = val[0] result end .,., # reduce 8 omitted @@ -1258,874 +1298,979 @@ # reduce 23 omitted # reduce 24 omitted -# reduce 25 omitted +module_eval(<<'.,.,', 'grammar.y', 81) + def _reduce_25(val, _values, result) + result = val[1] + result + end +.,., -# reduce 26 omitted +module_eval(<<'.,.,', 'grammar.y', 82) + def _reduce_26(val, _values, result) + result = Expressions.new + result + end +.,., # reduce 27 omitted # reduce 28 omitted -module_eval(<<'.,.,', 'grammar.y', 101) +module_eval(<<'.,.,', 'grammar.y', 93) def _reduce_29(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 102) +module_eval(<<'.,.,', 'grammar.y', 94) def _reduce_30(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 103) +module_eval(<<'.,.,', 'grammar.y', 95) def _reduce_31(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 104) +module_eval(<<'.,.,', 'grammar.y', 96) def _reduce_32(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 105) +module_eval(<<'.,.,', 'grammar.y', 97) def _reduce_33(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 106) +module_eval(<<'.,.,', 'grammar.y', 98) def _reduce_34(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 107) +module_eval(<<'.,.,', 'grammar.y', 99) def _reduce_35(val, _values, result) result = LiteralNode.new(true) result end .,., -module_eval(<<'.,.,', 'grammar.y', 108) +module_eval(<<'.,.,', 'grammar.y', 100) def _reduce_36(val, _values, result) result = LiteralNode.new(false) result end .,., -module_eval(<<'.,.,', 'grammar.y', 109) +module_eval(<<'.,.,', 'grammar.y', 101) def _reduce_37(val, _values, result) result = LiteralNode.new(true) result end .,., -module_eval(<<'.,.,', 'grammar.y', 110) +module_eval(<<'.,.,', 'grammar.y', 102) def _reduce_38(val, _values, result) result = LiteralNode.new(false) result end .,., -module_eval(<<'.,.,', 'grammar.y', 111) +module_eval(<<'.,.,', 'grammar.y', 103) def _reduce_39(val, _values, result) result = LiteralNode.new(true) result end .,., -module_eval(<<'.,.,', 'grammar.y', 112) +module_eval(<<'.,.,', 'grammar.y', 104) def _reduce_40(val, _values, result) result = LiteralNode.new(false) result end .,., -module_eval(<<'.,.,', 'grammar.y', 117) +module_eval(<<'.,.,', 'grammar.y', 109) def _reduce_41(val, _values, result) result = AssignNode.new(val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 122) +module_eval(<<'.,.,', 'grammar.y', 114) def _reduce_42(val, _values, result) result = AssignNode.new(ValueNode.new(val[0]), val[2], :object) result end .,., -module_eval(<<'.,.,', 'grammar.y', 123) +module_eval(<<'.,.,', 'grammar.y', 115) def _reduce_43(val, _values, result) result = AssignNode.new(ValueNode.new(LiteralNode.new(val[0])), val[2], :object) result end .,., -module_eval(<<'.,.,', 'grammar.y', 124) +module_eval(<<'.,.,', 'grammar.y', 116) def _reduce_44(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 129) +module_eval(<<'.,.,', 'grammar.y', 121) def _reduce_45(val, _values, result) result = ReturnNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 134) +module_eval(<<'.,.,', 'grammar.y', 126) def _reduce_46(val, _values, result) result = CommentNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 141) +module_eval(<<'.,.,', 'grammar.y', 133) def _reduce_47(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 142) +module_eval(<<'.,.,', 'grammar.y', 134) def _reduce_48(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 143) +module_eval(<<'.,.,', 'grammar.y', 135) def _reduce_49(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 144) +module_eval(<<'.,.,', 'grammar.y', 136) def _reduce_50(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 145) +module_eval(<<'.,.,', 'grammar.y', 137) def _reduce_51(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 146) +module_eval(<<'.,.,', 'grammar.y', 138) def _reduce_52(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 147) +module_eval(<<'.,.,', 'grammar.y', 139) def _reduce_53(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 148) +module_eval(<<'.,.,', 'grammar.y', 140) def _reduce_54(val, _values, result) - result = OpNode.new(val[1], val[0], nil, true) + result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 149) +module_eval(<<'.,.,', 'grammar.y', 141) def _reduce_55(val, _values, result) - result = OpNode.new(val[1], val[0], nil, true) + result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 151) +module_eval(<<'.,.,', 'grammar.y', 142) def _reduce_56(val, _values, result) - result = OpNode.new(val[1], val[0], val[2]) + result = OpNode.new(val[1], val[0], nil, true) result end .,., -module_eval(<<'.,.,', 'grammar.y', 152) +module_eval(<<'.,.,', 'grammar.y', 143) def _reduce_57(val, _values, result) - result = OpNode.new(val[1], val[0], val[2]) + result = OpNode.new(val[1], val[0], nil, true) result end .,., -module_eval(<<'.,.,', 'grammar.y', 153) +module_eval(<<'.,.,', 'grammar.y', 145) def _reduce_58(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 155) +module_eval(<<'.,.,', 'grammar.y', 146) def _reduce_59(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 156) +module_eval(<<'.,.,', 'grammar.y', 147) def _reduce_60(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 158) +module_eval(<<'.,.,', 'grammar.y', 149) def _reduce_61(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 159) +module_eval(<<'.,.,', 'grammar.y', 150) def _reduce_62(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 160) +module_eval(<<'.,.,', 'grammar.y', 152) def _reduce_63(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 162) +module_eval(<<'.,.,', 'grammar.y', 153) def _reduce_64(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 163) +module_eval(<<'.,.,', 'grammar.y', 154) def _reduce_65(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 164) +module_eval(<<'.,.,', 'grammar.y', 156) def _reduce_66(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 166) +module_eval(<<'.,.,', 'grammar.y', 157) def _reduce_67(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 167) +module_eval(<<'.,.,', 'grammar.y', 158) def _reduce_68(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 168) +module_eval(<<'.,.,', 'grammar.y', 160) def _reduce_69(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 169) +module_eval(<<'.,.,', 'grammar.y', 161) def _reduce_70(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 171) +module_eval(<<'.,.,', 'grammar.y', 162) def _reduce_71(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 172) +module_eval(<<'.,.,', 'grammar.y', 163) def _reduce_72(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 173) +module_eval(<<'.,.,', 'grammar.y', 165) def _reduce_73(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 174) +module_eval(<<'.,.,', 'grammar.y', 166) def _reduce_74(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 176) +module_eval(<<'.,.,', 'grammar.y', 167) def _reduce_75(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 177) +module_eval(<<'.,.,', 'grammar.y', 168) def _reduce_76(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 178) +module_eval(<<'.,.,', 'grammar.y', 170) def _reduce_77(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 179) +module_eval(<<'.,.,', 'grammar.y', 171) def _reduce_78(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 181) +module_eval(<<'.,.,', 'grammar.y', 172) def _reduce_79(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 182) +module_eval(<<'.,.,', 'grammar.y', 173) def _reduce_80(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 183) +module_eval(<<'.,.,', 'grammar.y', 175) def _reduce_81(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 184) +module_eval(<<'.,.,', 'grammar.y', 176) def _reduce_82(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 185) +module_eval(<<'.,.,', 'grammar.y', 177) def _reduce_83(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 186) +module_eval(<<'.,.,', 'grammar.y', 178) def _reduce_84(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 187) +module_eval(<<'.,.,', 'grammar.y', 179) def _reduce_85(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 189) +module_eval(<<'.,.,', 'grammar.y', 180) def _reduce_86(val, _values, result) - result = OpNode.new(val[0], val[1]) + result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 190) +module_eval(<<'.,.,', 'grammar.y', 181) def _reduce_87(val, _values, result) - result = OpNode.new(val[0], val[1]) + result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 191) +module_eval(<<'.,.,', 'grammar.y', 183) def _reduce_88(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 196) +module_eval(<<'.,.,', 'grammar.y', 187) def _reduce_89(val, _values, result) - result = CodeNode.new(val[0], val[2]) + result = ExistenceNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 197) +module_eval(<<'.,.,', 'grammar.y', 192) def _reduce_90(val, _values, result) - result = CodeNode.new([], val[1]) + result = CodeNode.new(val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 202) +module_eval(<<'.,.,', 'grammar.y', 193) def _reduce_91(val, _values, result) - result = Expressions.new([]) + result = CodeNode.new([], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 203) +module_eval(<<'.,.,', 'grammar.y', 198) def _reduce_92(val, _values, result) - result = val[0] - result - end -.,., - -module_eval(<<'.,.,', 'grammar.y', 208) - def _reduce_93(val, _values, result) result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 209) - def _reduce_94(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 199) + def _reduce_93(val, _values, result) result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 214) +# reduce 94 omitted + +module_eval(<<'.,.,', 'grammar.y', 204) def _reduce_95(val, _values, result) - result = ValueNode.new(val[0]) + result = ParamSplatNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 215) +module_eval(<<'.,.,', 'grammar.y', 208) def _reduce_96(val, _values, result) - result = ValueNode.new(val[0]) + result = ArgSplatNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 216) +module_eval(<<'.,.,', 'grammar.y', 213) def _reduce_97(val, _values, result) result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 217) +module_eval(<<'.,.,', 'grammar.y', 214) def _reduce_98(val, _values, result) result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 218) +module_eval(<<'.,.,', 'grammar.y', 215) def _reduce_99(val, _values, result) result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 219) +module_eval(<<'.,.,', 'grammar.y', 216) def _reduce_100(val, _values, result) - result = val[0] << val[1] + result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 220) +module_eval(<<'.,.,', 'grammar.y', 217) def _reduce_101(val, _values, result) - result = ValueNode.new(val[0], [val[1]]) + result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 225) +module_eval(<<'.,.,', 'grammar.y', 218) def _reduce_102(val, _values, result) - result = AccessorNode.new(val[1]) + result = val[0] << val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 226) +module_eval(<<'.,.,', 'grammar.y', 219) def _reduce_103(val, _values, result) - result = val[0] + result = ValueNode.new(val[0], [val[1]]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 227) +module_eval(<<'.,.,', 'grammar.y', 224) def _reduce_104(val, _values, result) - result = SliceNode.new(val[0]) + result = AccessorNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 232) +module_eval(<<'.,.,', 'grammar.y', 225) def _reduce_105(val, _values, result) - result = IndexNode.new(val[1]) + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 237) +module_eval(<<'.,.,', 'grammar.y', 226) def _reduce_106(val, _values, result) - result = ObjectNode.new(val[1]) + result = SliceNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 242) +module_eval(<<'.,.,', 'grammar.y', 231) def _reduce_107(val, _values, result) - result = [] + result = IndexNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 243) +module_eval(<<'.,.,', 'grammar.y', 236) def _reduce_108(val, _values, result) - result = val + result = ObjectNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 244) +module_eval(<<'.,.,', 'grammar.y', 241) def _reduce_109(val, _values, result) - result = val[0] << val[2] + result = [] result end .,., -module_eval(<<'.,.,', 'grammar.y', 245) +module_eval(<<'.,.,', 'grammar.y', 242) def _reduce_110(val, _values, result) - result = val[0] << val[2] + result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 250) +module_eval(<<'.,.,', 'grammar.y', 243) def _reduce_111(val, _values, result) - result = val[0] + result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 251) +module_eval(<<'.,.,', 'grammar.y', 244) def _reduce_112(val, _values, result) - result = val[1].new_instance + result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 252) +module_eval(<<'.,.,', 'grammar.y', 246) def _reduce_113(val, _values, result) - result = val[0] + result = val[0] << val[3] result end .,., -module_eval(<<'.,.,', 'grammar.y', 257) +module_eval(<<'.,.,', 'grammar.y', 247) def _reduce_114(val, _values, result) - result = ExtendsNode.new(val[0], val[2]) + result = val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 262) +module_eval(<<'.,.,', 'grammar.y', 252) def _reduce_115(val, _values, result) - result = CallNode.new(val[0], val[2]) + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 263) +module_eval(<<'.,.,', 'grammar.y', 253) def _reduce_116(val, _values, result) - result = CallNode.new(val[0], val[2]) + result = val[1].new_instance result end .,., -module_eval(<<'.,.,', 'grammar.y', 268) +module_eval(<<'.,.,', 'grammar.y', 254) def _reduce_117(val, _values, result) - result = CallNode.new(:super, val[2]) + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 273) +module_eval(<<'.,.,', 'grammar.y', 259) def _reduce_118(val, _values, result) - result = RangeNode.new(val[1], val[4]) + result = ExtendsNode.new(val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 274) +module_eval(<<'.,.,', 'grammar.y', 264) def _reduce_119(val, _values, result) - result = RangeNode.new(val[1], val[5], true) + result = CallNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 279) +module_eval(<<'.,.,', 'grammar.y', 265) def _reduce_120(val, _values, result) - result = ArrayNode.new(val[1]) + result = CallNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 284) +module_eval(<<'.,.,', 'grammar.y', 270) def _reduce_121(val, _values, result) - result = [] + result = val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 285) +module_eval(<<'.,.,', 'grammar.y', 271) def _reduce_122(val, _values, result) - result = val + result = val[1] << val[3] result end .,., -module_eval(<<'.,.,', 'grammar.y', 286) +module_eval(<<'.,.,', 'grammar.y', 276) def _reduce_123(val, _values, result) - result = val[0] << val[2] + result = CallNode.new(:super, val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 287) +module_eval(<<'.,.,', 'grammar.y', 282) def _reduce_124(val, _values, result) - result = val[0] << val[2] + result = RangeNode.new(val[1], val[4]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 292) +module_eval(<<'.,.,', 'grammar.y', 284) def _reduce_125(val, _values, result) - result = TryNode.new(val[1], val[2][0], val[2][1]) + result = RangeNode.new(val[1], val[5], true) result end .,., -module_eval(<<'.,.,', 'grammar.y', 294) +module_eval(<<'.,.,', 'grammar.y', 289) def _reduce_126(val, _values, result) - result = TryNode.new(val[1], val[2][0], val[2][1], val[4]) + result = ArrayNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 299) +module_eval(<<'.,.,', 'grammar.y', 294) def _reduce_127(val, _values, result) - result = [nil, nil] + result = [] result end .,., -module_eval(<<'.,.,', 'grammar.y', 300) +module_eval(<<'.,.,', 'grammar.y', 295) def _reduce_128(val, _values, result) - result = [val[1], val[2]] + result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 305) +module_eval(<<'.,.,', 'grammar.y', 296) def _reduce_129(val, _values, result) - result = ThrowNode.new(val[1]) + result = [val[1]] result end .,., -module_eval(<<'.,.,', 'grammar.y', 310) +module_eval(<<'.,.,', 'grammar.y', 297) def _reduce_130(val, _values, result) - result = ParentheticalNode.new(val[1]) + result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 316) +module_eval(<<'.,.,', 'grammar.y', 298) def _reduce_131(val, _values, result) - result = WhileNode.new(val[1], val[3]) + result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 323) +module_eval(<<'.,.,', 'grammar.y', 299) def _reduce_132(val, _values, result) - result = ForNode.new(val[0], val[3][0], val[2][0], val[3][1], val[2][1]) + result = val[0] << val[3] result end .,., -module_eval(<<'.,.,', 'grammar.y', 328) +module_eval(<<'.,.,', 'grammar.y', 300) def _reduce_133(val, _values, result) - result = val + result = val[0] << val[3] result end .,., -module_eval(<<'.,.,', 'grammar.y', 329) +module_eval(<<'.,.,', 'grammar.y', 301) def _reduce_134(val, _values, result) - result = [val[0], val[2]] + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 334) +module_eval(<<'.,.,', 'grammar.y', 306) def _reduce_135(val, _values, result) - result = [val[1]] + result = TryNode.new(val[1], val[2][0], val[2][1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 336) +module_eval(<<'.,.,', 'grammar.y', 307) def _reduce_136(val, _values, result) - result = [val[1], val[3]] + result = TryNode.new(val[1], nil, nil, val[3]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 342) +module_eval(<<'.,.,', 'grammar.y', 309) def _reduce_137(val, _values, result) - result = val[3].rewrite_condition(val[1]) + result = TryNode.new(val[1], val[2][0], val[2][1], val[4]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 344) +module_eval(<<'.,.,', 'grammar.y', 314) def _reduce_138(val, _values, result) - result = val[3].rewrite_condition(val[1]).add_else(val[5]) + result = [val[1], val[2]] result end .,., -module_eval(<<'.,.,', 'grammar.y', 349) +module_eval(<<'.,.,', 'grammar.y', 319) def _reduce_139(val, _values, result) - result = val[0] + result = ThrowNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 350) +module_eval(<<'.,.,', 'grammar.y', 324) def _reduce_140(val, _values, result) - result = val[0] << val[1] + result = ParentheticalNode.new(val[1], val[0].line) result end .,., -module_eval(<<'.,.,', 'grammar.y', 355) +module_eval(<<'.,.,', 'grammar.y', 329) def _reduce_141(val, _values, result) - result = IfNode.new(val[1], val[3]) + result = WhileNode.new(val[1], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 364) +module_eval(<<'.,.,', 'grammar.y', 336) def _reduce_142(val, _values, result) - result = IfNode.new(val[2], val[4]) + result = ForNode.new(val[0], val[3], val[2][0], val[2][1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 369) +module_eval(<<'.,.,', 'grammar.y', 337) def _reduce_143(val, _values, result) - result = val[0] + result = ForNode.new(val[3], val[2], val[1][0], val[1][1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 370) +module_eval(<<'.,.,', 'grammar.y', 342) def _reduce_144(val, _values, result) - result = val[0].add_else(val[1]) + result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 375) +module_eval(<<'.,.,', 'grammar.y', 343) def _reduce_145(val, _values, result) - result = nil + result = [val[0], val[2]] result end .,., -module_eval(<<'.,.,', 'grammar.y', 376) +module_eval(<<'.,.,', 'grammar.y', 348) def _reduce_146(val, _values, result) - result = val[1] + result = {:source => val[1]} result end .,., -module_eval(<<'.,.,', 'grammar.y', 381) +module_eval(<<'.,.,', 'grammar.y', 350) def _reduce_147(val, _values, result) - result = val[0] + result = val[0].merge(:filter => val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 382) +module_eval(<<'.,.,', 'grammar.y', 352) def _reduce_148(val, _values, result) - result = val[0].add_else(val[1]) + result = val[0].merge(:step => val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 388) +module_eval(<<'.,.,', 'grammar.y', 358) def _reduce_149(val, _values, result) - result = IfNode.new(val[1], val[3], val[4]) + result = val[3].rewrite_condition(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 389) +module_eval(<<'.,.,', 'grammar.y', 360) def _reduce_150(val, _values, result) - result = IfNode.new(val[2], Expressions.new([val[0]]), nil, {:statement => true}) + result = val[3].rewrite_condition(val[1]).add_else(val[5]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 390) +module_eval(<<'.,.,', 'grammar.y', 365) def _reduce_151(val, _values, result) - result = IfNode.new(val[2], Expressions.new([val[0]]), nil, {:statement => true, :invert => true}) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 366) + def _reduce_152(val, _values, result) + result = val[0] << val[1] + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 371) + def _reduce_153(val, _values, result) + result = IfNode.new(val[1], val[2], nil, {:statement => true}) + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 373) + def _reduce_154(val, _values, result) + result = IfNode.new(val[1], val[2], nil, {:statement => true}) + result + end +.,., + +# reduce 155 omitted + +module_eval(<<'.,.,', 'grammar.y', 381) + def _reduce_156(val, _values, result) + result = IfNode.new(val[1], val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 386) + def _reduce_157(val, _values, result) + result = val[1].force_statement + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 391) + def _reduce_158(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 392) + def _reduce_159(val, _values, result) + result = val[0].add_else(val[1]) + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 397) + def _reduce_160(val, _values, result) + result = nil + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 398) + def _reduce_161(val, _values, result) + result = val[1] + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 403) + def _reduce_162(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 404) + def _reduce_163(val, _values, result) + result = val[0].add_else(val[1]) + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 409) + def _reduce_164(val, _values, result) + result = val[0].add_else(val[1]) + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 410) + def _reduce_165(val, _values, result) + result = IfNode.new(val[2], Expressions.wrap(val[0]), nil, {:statement => true}) + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 411) + def _reduce_166(val, _values, result) + result = IfNode.new(val[2], Expressions.wrap(val[0]), nil, {:statement => true, :invert => true}) result end .,., def _reduce_none(val, _values, result)