diff --git a/extras/CoffeeScript.tmbundle/Syntaxes/CoffeeScript.tmLanguage b/extras/CoffeeScript.tmbundle/Syntaxes/CoffeeScript.tmLanguage
index 49082c8a..1f8ab952 100644
--- a/extras/CoffeeScript.tmbundle/Syntaxes/CoffeeScript.tmLanguage
+++ b/extras/CoffeeScript.tmbundle/Syntaxes/CoffeeScript.tmLanguage
@@ -72,6 +72,12 @@
name
constant.numeric.coffee
+
+ match
+ (@)[a-zA-Z_$]\w*
+ name
+ variable.other.readwrite.instance.coffee
+
name
string.quoted.heredoc.coffee
diff --git a/lib/coffee_script/grammar.y b/lib/coffee_script/grammar.y
index 174a498d..c9fb2802 100644
--- a/lib/coffee_script/grammar.y
+++ b/lib/coffee_script/grammar.y
@@ -238,6 +238,7 @@ rule
| Object { result = ValueNode.new(val[0]) }
| Parenthetical { result = ValueNode.new(val[0]) }
| Range { result = ValueNode.new(val[0]) }
+ | This { result = ValueNode.new(val[0]) }
| Value Accessor { result = val[0] << val[1] }
| Invocation Accessor { result = ValueNode.new(val[0], [val[1]]) }
;
@@ -300,6 +301,12 @@ rule
SUPER CALL_START ArgList CALL_END { result = CallNode.new(Value.new('super'), val[2]) }
;
+ # This references, either naked or to a property.
+ This:
+ '@' { result = ThisNode.new }
+ | '@' IDENTIFIER { result = ThisNode.new(val[1]) }
+ ;
+
# The range literal.
Range:
"[" Expression
diff --git a/lib/coffee_script/nodes.rb b/lib/coffee_script/nodes.rb
index 7e759b7c..1fa5680a 100644
--- a/lib/coffee_script/nodes.rb
+++ b/lib/coffee_script/nodes.rb
@@ -429,6 +429,18 @@ module CoffeeScript
end
end
+ # A this-reference, using '@'.
+ class ThisNode < Node
+ def initialize(property=nil)
+ @property = property
+ end
+
+ def compile_node(o)
+ prop = @property ? ".#{@property}" : ''
+ write("this#{prop}")
+ end
+ end
+
# A range literal. Ranges can be used to extract portions (slices) of arrays,
# or to specify a range for array comprehensions.
class RangeNode < Node
diff --git a/lib/coffee_script/parser.rb b/lib/coffee_script/parser.rb
index 9b342e4b..b87861d6 100644
--- a/lib/coffee_script/parser.rb
+++ b/lib/coffee_script/parser.rb
@@ -10,7 +10,7 @@ module CoffeeScript
class Parser < Racc::Parser
-module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 459)
+module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 466)
# Lex and parse a CoffeeScript.
def parse(code)
# Uncomment the following line to enable grammar debugging, in combination
@@ -34,318 +34,349 @@ module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 459)
##### State transition tables begin ###
clist = [
-'128,59,136,28,31,33,38,42,47,51,56,61,64,92,93,95,175,92,93,95,284,285',
-'90,276,91,296,90,59,91,59,57,65,124,130,59,155,288,144,287,261,169,158',
-'143,147,164,44,155,49,54,309,193,155,173,143,147,150,153,157,143,147',
-'150,153,157,161,123,127,132,135,139,142,146,149,152,156,160,122,126',
-'131,134,138,141,145,148,151,154,159,121,125,129,133,137,140,166,11,174',
-'13,17,191,29,262,34,11,40,198,28,31,33,38,42,47,51,56,61,64,206,207',
-'203,155,1,59,100,21,25,193,-183,-183,193,43,98,291,52,57,65,66,13,17',
-'206,207,6,12,59,22,59,32,35,267,44,280,49,54,13,17,188,59,189,73,4,9',
-'15,19,24,13,17,49,37,46,118,261,13,17,191,13,17,191,192,49,11,278,293',
-'28,31,33,38,42,47,51,56,61,64,277,13,17,188,1,2,7,21,25,275,29,59,34',
-'43,40,75,52,57,65,66,100,255,13,17,6,12,114,22,98,32,35,155,44,169,49',
-'54,200,201,143,147,261,73,4,9,15,19,24,100,49,155,37,46,100,100,182',
-'98,-183,-183,13,17,98,98,11,49,59,28,31,33,38,42,47,51,56,61,64,92,93',
-'95,108,1,2,7,21,25,90,29,91,34,43,40,49,52,57,65,66,49,49,101,101,6',
-'12,183,22,184,32,35,155,44,314,49,54,13,17,-183,-183,185,73,4,9,15,19',
-'24,155,284,285,37,46,13,17,143,147,150,153,157,161,123,186,11,2,7,28',
-'31,33,38,42,47,51,56,61,64,92,93,95,202,1,2,7,21,25,90,29,91,34,43,40',
-'155,52,57,65,66,205,75,-183,-183,6,12,118,22,217,32,35,155,44,,49,54',
-',,-183,-183,,73,4,9,15,19,24,155,,,37,46,,,143,147,150,153,157,161,123',
-',11,,,28,31,33,38,42,47,51,56,61,64,92,93,95,,1,2,7,21,25,90,29,91,34',
-'43,40,155,52,57,65,66,,,143,147,6,12,,22,,32,35,155,44,,49,54,,,-183',
-'-183,,73,4,9,15,19,24,155,,,37,46,,,143,147,150,153,157,161,123,,11',
-',,28,31,33,38,42,47,51,56,61,64,92,93,95,,1,2,7,21,25,90,29,91,34,43',
-'40,155,52,57,65,66,,,-183,-183,6,12,,22,,32,35,155,44,,49,54,,,-183',
-'-183,,73,4,9,15,19,24,155,,,37,46,,,143,147,150,153,157,,,,11,,,28,31',
-'33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,',
-',,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,',
-',,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,',
-'52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37',
-'46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29',
-',34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15',
-'19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2',
-'7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,',
-',,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61',
-'64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44',
-',49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47',
-'51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22',
-',32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31',
-'33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,',
-',,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,',
-',,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,',
-'52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37',
-'46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29',
-',34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15',
-'19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2',
-'7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,106',
-',,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56',
-'61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35',
-',44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38',
-'42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12',
-',22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28',
-'31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66',
-',,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,',
-',,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40',
-',52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,',
-'37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,',
-'29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9',
-'15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1',
-'2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54',
-',,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56',
-'61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35',
-',44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38',
-'42,47,51,56,61,64,310,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,',
-'6,12,,22,,32,35,,44,,49,54,,116,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,',
-',,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,',
-'52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37',
-'46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29',
-',34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15',
-'19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2',
-'7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,',
-',,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61',
-'64,300,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35',
-',44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38',
-'42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12',
-',22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28',
-'31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66',
-',,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,',
-',,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40',
-',52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,',
-'37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,',
-'29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9',
-'15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1',
-'2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54',
-',,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56',
-'61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35',
-',44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38',
-'42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12',
-',22,,32,35,,44,,49,54,272,,,,,73,4,9,15,19,24,155,,,37,46,,,143,147',
-'150,153,157,161,123,127,132,135,139,142,146,149,152,156,160,122,126',
-'131,134,,,,,,2,7,13,17,,29,,34,11,40,,28,31,33,38,42,47,51,56,61,64',
-',,,,1,,,21,25,,,,,43,,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,',
-',,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61',
-'64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44',
-',49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47',
-'51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22',
-',32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31',
-'33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,',
-',,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,',
-',,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,',
-'52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37',
-'46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29',
-',34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15',
-'19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2',
-'7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,',
-',,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61',
-'64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44',
-',49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47',
-'51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22',
-',32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31',
-'33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,',
-',,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,',
-',,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,',
-'52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37',
-'46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29',
-',34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,106,,,,,73,4,9',
-'15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1',
-'2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54',
-',,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56',
-'61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35',
-',44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38',
-'42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12',
-',22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28',
-'31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66',
-',,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,',
-',,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40',
-',52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,',
-'37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,',
-'29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9',
-'15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1',
-'2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54',
-',,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56',
-'61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35',
-',44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38',
-'42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12',
-',22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28',
-'31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66',
-',,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,',
-',,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40',
-',52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,',
-'37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,',
-'29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9',
-'15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1',
-'2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54',
-'106,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51',
-'56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32',
-'35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33',
-'38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,',
-'6,12,,22,,32,35,,44,,49,54,59,,,,,73,4,9,15,19,24,155,,,37,46,,,143',
-'147,150,153,157,161,123,127,132,135,139,142,146,149,152,156,160,122',
-'126,131,134,,,,,,2,7,13,17,,29,,34,11,40,,28,31,33,38,42,47,51,56,61',
-'64,,,,,1,,,21,25,,,,,43,,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54',
-',,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56',
-'61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35',
-',44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38',
-'42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12',
-',22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28',
-'31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66',
-',,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,',
-',,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40',
-',52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,',
-'37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,',
-'29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9',
-'15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1',
-'2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54',
-',,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56',
-'61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35',
-',44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28,31,33,38',
-'42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,6,12',
-',22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,,,,,11,,,28',
-'31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66',
-',,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,,,',
-',,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,,29,,34,43,40',
-',52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,',
-'37,46,,,,,,,,,,,11,,,28,31,33,38,42,47,51,56,61,64,,,,,1,2,7,21,25,',
-'29,,34,43,40,,52,57,65,66,,,,,6,12,,22,,32,35,,44,,49,54,,128,,136,',
-'73,4,9,15,19,24,155,,,37,46,,,143,147,150,153,157,161,123,127,132,135',
-'139,142,146,,,124,130,,,,144,,,,158,,2,7,,,,29,,34,155,40,,,,,,143,147',
-'150,153,157,161,123,127,132,135,139,142,146,149,152,156,160,122,126',
-'131,134,138,141,145,148,151,154,159,121,125,129,133,137,140,128,,136',
-'155,,,,,,319,143,147,150,153,157,161,123,127,132,135,139,142,146,149',
-'152,156,160,122,126,131,134,,124,130,,,,144,,,,158,,,,,,,,,,155,,,,',
-',,143,147,150,153,157,161,123,127,132,135,139,142,146,149,152,156,160',
-'122,126,131,134,138,141,145,148,151,154,159,121,125,129,133,137,140',
-',,,,,,,,,313,28,31,33,38,42,47,51,56,61,64,,,,,1,,,21,25,,,,,43,,,52',
-'57,65,,,,,,,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,,,,37,46,',
-',,,28,31,33,38,42,47,51,56,61,64,,,,,1,,,21,25,,,,,43,2,7,52,57,65,29',
-',34,,40,,12,,22,,32,35,,44,,49,54,,,,,,73,4,9,15,19,24,155,,,37,46,',
-',143,147,150,153,157,161,123,127,132,135,,28,31,33,38,42,47,51,56,61',
-'64,,,,,1,2,7,21,25,,29,,34,43,40,,52,57,65,66,,,,,,12,,22,,32,35,,44',
-',49,54,,,,,,73,4,9,15,19,24,,,,37,46,,,,,28,31,33,38,42,47,51,56,61',
-'64,,,,,1,,,21,25,,,,,43,2,7,52,57,65,29,,34,,40,,12,,22,,32,35,,44,',
-'49,54,,,,,,73,4,9,15,,28,31,33,38,42,47,51,56,61,64,155,,,,,,,143,147',
-'150,153,157,161,123,127,132,135,57,65,,,,,,2,7,,,,29,,34,44,40,155,54',
-',128,,136,,143,147,150,153,157,161,123,127,132,135,139,142,146,149,152',
-'156,160,122,126,131,134,,,,,,,,124,130,,,,144,,,,158,,,,,,,29,,34,155',
-'40,,,,,,143,147,150,153,157,161,123,127,132,135,139,142,146,149,152',
-'156,160,122,126,131,134,138,141,145,148,151,154,159,121,125,129,133',
-'137,140,128,155,136,,,,,,143,147,150,153,157,161,123,127,132,135,139',
-'142,146,149,152,156,160,122,126,131,134,,,,124,130,,,,144,,,,158,,,',
-',,,,,,155,,,,,,,143,147,150,153,157,161,123,127,132,135,139,142,146',
-'149,152,156,160,122,126,131,134,138,141,145,148,151,154,159,121,125',
-'129,133,137,140,128,155,136,,,,,,143,147,150,153,157,161,123,127,132',
-'135,139,142,146,,,,,318,,,,,,,124,130,,,,144,,,,158,,,,,,,,,,155,,,',
-',,,143,147,150,153,157,161,123,127,132,135,139,142,146,149,152,156,160',
-'122,126,131,134,138,141,145,148,151,154,159,121,125,129,133,137,140',
-'128,155,136,,,,,,143,147,150,153,157,161,123,127,132,135,139,142,146',
-'149,152,156,160,122,126,131,134,,,,124,130,,,,144,,,,158,,,,,,,,,,155',
-',,,,,,143,147,150,153,157,161,123,127,132,135,139,142,146,149,152,156',
-'160,122,126,131,134,138,141,145,148,151,154,159,121,125,129,133,137',
-'140,128,155,136,,,,,,143,147,150,153,157,161,123,127,132,135,139,142',
-'146,149,152,156,160,122,126,131,134,,,,124,130,,,,144,,,,158,,,,,,,',
-'178,,155,,,,,,,143,147,150,153,157,161,123,127,132,135,139,142,146,149',
-'152,156,160,122,126,131,134,138,141,145,148,151,154,159,121,125,129',
-'133,137,140,128,155,136,,,,,,143,147,150,153,157,161,123,127,132,135',
-'139,142,146,149,152,156,160,122,126,131,134,,,,124,130,,,,144,,,,158',
-',,,,,,,,,155,,,,,,,143,147,150,153,157,161,123,127,132,135,139,142,146',
-'149,152,156,160,122,126,131,134,138,141,145,148,151,154,159,121,125',
-'129,133,137,140,128,155,136,,,,,,143,147,150,153,157,161,123,127,132',
-'135,139,142,146,,,,,,,,,,,,124,130,,,,144,,,,158,,,,,,,,,,155,,,,,,',
-'143,147,150,153,157,161,123,127,132,135,139,142,146,149,152,156,160',
-'122,126,131,134,138,141,145,148,151,154,159,121,125,129,133,137,140',
-'128,155,136,,,,,,143,147,150,153,157,161,123,127,132,135,139,142,146',
-',,,,,,,,,,,124,130,,,,144,,,,158,,,,,,,,,,155,,,,,,,143,147,150,153',
-'157,161,123,127,132,135,139,142,146,149,152,156,160,122,126,131,134',
-'138,141,145,148,151,154,159,121,125,129,133,137,140,128,155,136,,,,',
-',143,147,150,153,157,161,123,127,132,135,,,,,,,,,,,,,,,124,130,,,,144',
-',,,158,,,,,,,,,,155,,,,,,,143,147,150,153,157,161,123,127,132,135,139',
-'142,146,149,152,156,160,122,126,131,134,138,141,145,148,151,154,159',
-'121,125,129,133,137,140,128,,136,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,124,130',
-',,,144,,,,158,,,,,,,,,,155,,,,,,,143,147,150,153,157,161,123,127,132',
-'135,139,142,146,149,152,156,160,122,126,131,134,138,141,145,148,151',
-'154,159,121,125,196,133,137,140,128,,136,,,,,,,,,,,,,,,,,,,,,,,,,,,',
-',,124,130,,,,144,,,,158,,,,,,,,,,155,,,,,,,143,147,150,153,157,161,123',
-'127,132,135,139,142,146,149,152,156,160,122,126,131,134,138,141,145',
-'148,151,154,159,121,125,129,133,137,140,128,,136,,,,,,,,,,,,,,,,,,,',
-',,,,,,,,,,124,130,,,,144,,,,158,,,,,,,,,,155,,,,,,,143,147,150,153,157',
-'161,123,127,132,135,139,142,146,149,152,156,160,122,126,131,134,138',
-'141,145,148,151,154,159,121,125,129,133,137,140,128,,136,,,,,,,,,,,',
-',,,,,,,,,,,320,,,,,,,124,130,,,,144,,,,158,,,,,,,,,,155,,,,,,,143,147',
-'150,153,157,161,123,127,132,135,139,142,146,149,152,156,160,122,126',
-'131,134,138,141,145,148,151,154,159,121,125,129,133,137,140,128,,136',
-',,,,,,,,,,,,,,,,,,,,,,,,,,,,,124,130,,,,144,,,,158,,,,,,,,59,,155,,',
-',,,,143,147,150,153,157,161,123,127,132,135,139,142,146,149,152,156',
-'160,122,126,131,134,138,141,145,148,151,154,159,121,125,129,133,137',
-'140,128,,136,,,,,,,,,,,,,,,,,,,,,,,264,,,,,,,124,130,,,,144,,,,158,',
-',,,,,,,,155,,,,,,,143,147,150,153,157,161,123,127,132,135,139,142,146',
-'149,152,156,160,122,126,131,134,138,141,145,148,151,154,159,121,125',
-'263,133,137,140,128,,136,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,124,130,,,,144',
-',,,158,,,,,,,,,,155,,,,,,,143,147,150,153,157,161,123,127,132,135,139',
-'142,146,149,152,156,160,122,126,131,134,138,141,145,148,151,154,159',
-'121,125,129,133,137,140,128,,136,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,124,130',
-',,,144,,,,158,,,,,,,,,,155,,,,,,,143,147,150,153,157,161,123,127,132',
-'135,139,142,146,149,152,156,160,122,126,131,134,138,141,145,148,151',
-'154,159,121,125,129,133,137,140,128,,136,,,,,,,,,,,,,,,,,,,,,,,,,,,',
-',,124,130,,,,144,,,,158,,,,,,,,,,155,,,,,,,143,147,150,153,157,161,123',
-'127,132,135,139,142,146,149,152,156,160,122,126,131,134,138,141,145',
-'148,151,154,159,121,125,129,133,137,140,128,,136,,,,,,,,,,,,,,,,,,,',
-',,,,,,,,,,124,130,,,,144,,,,158,,,,,,,,,,155,,,,,,,143,147,150,153,157',
-'161,123,127,132,135,139,142,146,149,152,156,160,122,126,131,134,138',
-'141,145,148,151,154,159,121,125,129,133,137,140,128,,136,,,,,,,,,,,',
-',,,,,,,,,,,,,,,,,,124,130,,,,144,,,,158,,,,,,,,,,155,,,,,,,143,147,150',
-'153,157,161,123,127,132,135,139,142,146,149,152,156,160,122,126,131',
-'134,138,141,145,148,151,154,159,121,125,129,133,137,140,128,,136,,,',
-',,,,,,,,,,,,,,,,,,,,,,,,,,124,130,,,,144,,,,158,,,,,,,,59,,155,,,,,',
-',143,147,150,153,157,161,123,127,132,135,139,142,146,149,152,156,160',
-'122,126,131,134,138,141,145,148,151,154,159,121,125,129,133,137,140',
-'128,,136,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,124,130,,,,144,,,,158,,,,,,,,',
-',155,,,,,,,143,147,150,153,157,161,123,127,132,135,139,142,146,149,152',
-'156,160,122,126,131,134,138,141,145,148,151,154,159,121,125,129,133',
-'137,140,124,130,,,,,,,,158,,,,,,,,,,155,,,,,,,143,147,150,153,157,161',
-'123,127,132,135,139,142,146,149,152,156,160,122,126,131,134,138,141',
-'145,148,151,154,159,121,125,129,133,137,140,124,130,,,,,,,,158,,,,,',
-',,,,155,,,,,,,143,147,150,153,157,161,123,127,132,135,139,142,146,149',
-'152,156,160,122,126,131,134,138,141,145,148,151,154,159,121,125,129',
-'133,137,140,124,130,,,,,,,,158,,,,,,,,,,155,,,,,,,143,147,150,153,157',
-'161,123,127,132,135,139,142,146,149,152,156,160,122,126,131,134,138',
-'141,145,148,151,154,159,121,125,129,124,130,,,,,,,,158,,,,,,,,,,155',
-',,,,,,143,147,150,153,157,161,123,127,132,135,139,142,146,149,152,156',
-'160,122,126,131,134,138,141,145,148,151,154,159,121,125,129,124,130',
-',,,,,,,158,,,,,,,,,,155,,,,,,,143,147,150,153,157,161,123,127,132,135',
-'139,142,146,149,152,156,160,122,126,131,134,138,141,145,148,151,154',
-'159,121,125,129,124,130,,,,,,,,158,,,,,,,,,,155,,,,,,,143,147,150,153',
-'157,161,123,127,132,135,139,142,146,149,152,156,160,122,126,131,134',
-'138,141,145,148,151,154,159,121,125,129,130,,,,,,,,158,,,,,,,,,,155',
-',,,,,,143,147,150,153,157,161,123,127,132,135,139,142,146,149,152,156',
-'160,122,126,131,134,138,141,145,148,151,154,159,121,125,129,130,,,,',
-',,,158,,,,,,,,,,155,,,,,,,143,147,150,153,157,161,123,127,132,135,139',
-'142,146,149,152,156,160,122,126,131,134,138,141,145,148,151,154,159',
-'121,125,129,130,,,,,,,,158,,,,,,,,,,155,,,,,,,143,147,150,153,157,161',
-'123,127,132,135,139,142,146,149,152,156,160,122,126,131,134,138,141',
-'145,148,151,154,159,121,125,129,130,,,,,,,,158,,,,,,,,,,155,,,,,,,143',
-'147,150,153,157,161,123,127,132,135,139,142,146,149,152,156,160,122',
-'126,131,134,138,141,145,148,151,154,159,121,125,129,130,,,,,,,,158,',
-',,,,,,,,155,,,,,,,143,147,150,153,157,161,123,127,132,135,139,142,146',
-'149,152,156,160,122,126,131,134,138,141,145,148,151,154,159,121,125',
-'129,158,,,,,,,,,,155,,,,,,,143,147,150,153,157,161,123,127,132,135,139',
-'142,146,149,152,156,160,122,126,131,134,138,141,145,148,151,154,159',
-'121,125,158,,,,,,,,,,155,,,,,,,143,147,150,153,157,161,123,127,132,135',
-'139,142,146,149,152,156,160,122,126,131,134,138,141,145,148,151,154',
-'159,121,125,158,,,,,,,,,,155,,,,,,,143,147,150,153,157,161,123,127,132',
-'135,139,142,146,149,152,156,160,122,126,131,134,138,141,145,148,151',
-'154,159,121,125,155,,,,,,,143,147,150,153,157,161,123,127,132,135,139',
-'142,146,149,152,156,160,122,126,131,134,138,141,145,148,151,154,159',
-'121,125,155,,,,,,,143,147,150,153,157,161,123,127,132,135,139,142,146',
-'149,152,156,160,122,126,131,134,138,141,145,148,151,154,159,121,125',
-'155,,,,,,,143,147,150,153,157,161,123,127,132,135,139,142,146,149,152',
-'156,160,122,126,131,134,138,141,145,148,151,154,159,121,125,155,,,,',
-',,143,147,150,153,157,161,123,127,132,135,139,142,146,149,152,156,160',
-'122,126,131,134,138,141,145,148,151,154,159,121,125,155,,,,,,,143,147',
-'150,153,157,161,123,127,132,135,139,142,146,149,152,156,160,122,126',
-'131,134,138,141,145,148,151,154,159,121,125' ]
- racc_action_table = arr = Array.new(9160, nil)
+'136,11,144,29,32,35,41,44,49,54,58,63,66,106,107,108,61,1,178,281,21',
+'26,103,300,105,112,43,163,262,55,59,67,132,138,-186,-186,51,152,12,280',
+'22,166,33,37,171,45,279,51,56,61,61,163,13,17,74,4,9,15,151,155,158',
+'161,165,169,131,135,140,143,147,150,154,157,160,164,168,130,134,139',
+'142,146,149,153,156,159,162,167,129,133,137,141,145,148,172,2,7,125',
+'177,310,30,274,36,39,11,48,208,29,32,35,41,44,49,54,58,63,66,283,271',
+'202,61,1,212,213,21,26,287,288,202,98,43,296,61,55,59,67,68,97,270,122',
+'61,6,12,210,22,202,33,37,163,45,113,51,56,114,77,-186,-186,290,74,4',
+'9,15,19,24,13,17,200,40,47,262,262,201,51,13,17,200,61,51,51,98,297',
+'13,17,13,17,186,98,97,13,17,13,17,200,163,97,206,207,2,7,61,-186,-186',
+'30,176,36,39,11,48,84,29,32,35,41,44,49,54,58,63,66,61,13,17,51,1,99',
+'98,21,26,84,51,189,99,43,97,98,55,59,67,68,287,288,190,97,6,12,195,22',
+'196,33,37,163,45,197,51,56,13,17,151,155,163,74,4,9,15,19,24,-186,-186',
+'51,40,47,163,13,17,186,291,187,51,151,155,158,161,165,169,131,135,140',
+'143,147,150,154,157,160,164,168,130,134,139,142,2,7,2,7,77,30,61,36',
+'39,11,48,319,29,32,35,41,44,49,54,58,63,66,106,107,108,224,1,13,17,21',
+'26,103,209,105,125,43,163,211,55,59,67,68,258,-186,-186,,6,12,,22,,33',
+'37,163,45,,51,56,212,213,151,155,,74,4,9,15,19,24,163,,,40,47,,,151',
+'155,158,161,165,169,131,135,140,143,147,150,154,157,160,164,168,130',
+'134,139,142,313,163,,,,2,7,,-186,-186,30,,36,39,11,48,,29,32,35,41,44',
+'49,54,58,63,66,106,107,108,,1,,,21,26,103,,105,,43,163,,55,59,67,68',
+',151,155,,6,12,,22,,33,37,163,45,,51,56,,,-186,-186,,74,4,9,15,19,24',
+'163,,,40,47,,,151,155,158,161,165,169,131,135,140,143,147,150,154,157',
+'160,164,168,130,134,139,142,106,107,108,,,2,7,,,103,30,105,36,39,11',
+'48,,29,32,35,41,44,49,54,58,63,66,106,107,108,,1,,,21,26,103,,105,,43',
+'163,,55,59,67,68,,-186,-186,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9',
+'15,19,24,163,,,40,47,,,151,155,158,161,165,169,131,135,140,143,147,150',
+'154,157,160,164,168,130,134,139,142,106,107,108,,,2,7,,,103,30,105,36',
+'39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59',
+'67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,163,,,40,47',
+',,151,155,158,161,165,169,131,135,140,143,147,150,154,157,160,164,168',
+'130,134,139,142,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58',
+'63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51',
+'56,,,,,,74,4,9,15,19,24,163,,,40,47,,,151,155,158,161,165,169,131,135',
+'140,143,147,150,154,157,160,164,168,130,134,139,142,,,,,,2,7,,,,30,',
+'36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55',
+'59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,163,,,40',
+'47,,,151,155,158,161,165,169,131,135,140,143,147,150,154,157,160,164',
+'168,130,134,139,142,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54',
+'58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45',
+',51,56,,,,,,74,4,9,15,19,24,163,,,40,47,,,151,155,158,161,165,169,131',
+'135,140,143,147,150,154,157,160,164,168,130,134,139,142,,,,,,2,7,,,',
+'30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43',
+',,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,163',
+',,40,47,,,151,155,158,161,165,169,131,135,140,143,147,150,154,163,,',
+',,,,151,155,158,161,165,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54',
+'58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45',
+',51,56,,,,,,74,4,9,15,19,24,163,,,40,47,,,151,155,158,161,165,169,131',
+'135,140,143,147,150,154,163,,,,,,,151,155,158,161,165,,2,7,,,,30,,36',
+'39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59',
+'67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,163,,,40,47',
+',,151,155,158,161,165,169,131,135,140,143,147,150,154,,,,,,,,,,,,,,2',
+'7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,',
+',,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19',
+'24,163,,,40,47,,,151,155,158,161,165,169,131,135,140,143,147,150,154',
+',,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,',
+',,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,',
+',,74,4,9,15,19,24,163,,,40,47,,,151,155,158,161,165,169,131,135,140',
+'143,,,,,,,,,,,,303,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54',
+'58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45',
+',51,56,,,,,,74,4,9,15,19,24,163,,,40,47,,,151,155,158,161,165,169,131',
+'135,140,143,163,,,,,,,151,155,158,161,165,169,131,,,2,7,,,,30,,36,39',
+'11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67',
+'68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,163,,,40,47,',
+',151,155,158,161,165,169,131,135,140,143,163,,,,,,,151,155,158,161,165',
+'169,131,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,',
+'1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74',
+'4,9,15,19,24,163,,,40,47,,,151,155,158,161,165,169,131,,,,,,,,,,,,,',
+',,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,',
+'21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4',
+'9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11',
+'48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68',
+',,,,6,12,,22,,33,37,,45,,51,56,114,,,,,74,4,9,15,19,24,,,,40,47,,,,',
+',,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54',
+'58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45',
+',51,56,,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7',
+',,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,',
+'43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24',
+',,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35',
+'41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22',
+',33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,',
+',,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1',
+',,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74',
+'4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11',
+'48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68',
+',,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,',
+',,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58',
+'63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51',
+'56,,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,',
+'30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43',
+',,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,123,,,,74,4,9,15,19,24',
+',,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35',
+'41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22',
+',33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,',
+',,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1',
+',,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,275,,,,',
+'74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,13,17,,30,',
+'36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55',
+'59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49',
+'54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,',
+'45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
+'2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26',
+',,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19',
+'24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32',
+'35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12',
+',22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,',
+',,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,',
+',,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,',
+',74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36',
+'39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59',
+'67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49',
+'54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,',
+'45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
+'2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26',
+',,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19',
+'24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32',
+'35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12',
+',22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,',
+',,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,',
+',,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,',
+',74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36',
+'39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59',
+'67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49',
+'54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,',
+'45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
+'2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26',
+',,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19',
+'24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32',
+'35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12',
+',22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,',
+',,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,',
+',,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,',
+',74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36',
+'39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59',
+'67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49',
+'54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,',
+'45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
+'2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26',
+',,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19',
+'24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32',
+'35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12',
+',22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,',
+',,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,',
+',,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,',
+',74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36',
+'39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59',
+'67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49',
+'54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,',
+'45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
+'2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26',
+',,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19',
+'24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32',
+'35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12',
+',22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,',
+',,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,',
+',,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,',
+',74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36',
+'39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59',
+'67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49',
+'54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,',
+'45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
+'2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26',
+',,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19',
+'24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32',
+'35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12',
+',22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,',
+',,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,',
+',,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,',
+',74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36',
+'39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59',
+'67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49',
+'54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,',
+'45,,51,56,114,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,',
+',,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21',
+'26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15',
+'19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29',
+'32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6',
+'12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,',
+',,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66',
+',,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,',
+',,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36',
+'39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59',
+'67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49',
+'54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,',
+'45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
+'2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26',
+',,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19',
+'24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32',
+'35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12',
+',22,,33,37,,45,,51,56,61,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,',
+',,,,,,,,,,,,,,2,7,13,17,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63',
+'66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56',
+',,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30',
+',36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55',
+'59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49',
+'54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,',
+'45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
+'2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26',
+',,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19',
+'24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32',
+'35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12',
+',22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,',
+',,,,,,,,,,,,2,7,,,,30,,36,39,11,48,,29,32,35,41,44,49,54,58,63,66,,',
+',,1,,,21,26,,,,,43,,,55,59,67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,,',
+',74,4,9,15,19,24,,,,40,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,7,,,,30,,36',
+'39,11,48,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,,,55,59',
+'67,68,,,,,6,12,,22,,33,37,,45,,51,56,,,136,,144,74,4,9,15,19,24,,,,40',
+'47,,,,,,,,,,,,,,,,,,,132,138,,,,152,,,,166,2,7,,,,30,,36,39,163,48,',
+',,,,151,155,158,161,165,169,131,135,140,143,147,150,154,157,160,164',
+'168,130,134,139,142,146,149,153,156,159,162,167,129,133,137,141,145',
+'148,136,,144,,,,,,,,322,,,,,,,,,,,,,,,,,,,,,,132,138,,,,152,,,,166,',
+',,,,,,,,163,,,,,,,151,155,158,161,165,169,131,135,140,143,147,150,154',
+'157,160,164,168,130,134,139,142,146,149,153,156,159,162,167,129,133',
+'137,141,145,148,29,32,35,41,44,49,54,58,63,66,316,,,,1,,,21,26,,,,,43',
+',,55,59,67,,,,,,,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40',
+'47,,,,,29,32,35,41,44,49,54,58,63,66,,,,,1,,,21,26,,,,,43,2,7,55,59',
+'67,30,,36,39,,48,12,,22,,33,37,,45,,51,56,,,,,,74,4,9,15,19,24,,,,40',
+'47,,,,29,32,35,41,44,49,54,58,63,66,,,,,,,,,,,,,,,,2,7,59,67,,30,,36',
+'39,,48,,,,,,,45,,,56,,,,,,,,,,,,,,,,,,,29,32,35,41,44,49,54,58,63,66',
+',,,,1,,,21,26,,,,,43,,,55,59,67,68,,30,,36,39,12,48,22,,33,37,,45,,51',
+'56,,,,,,74,4,9,15,19,24,,,,40,47,,,,29,32,35,41,44,49,54,58,63,66,,',
+',,,,,,,,,,,,,2,7,59,67,,30,,36,39,,48,,,,,,,45,,,56,,,136,,144,,,,,',
+',,,,,,,,,,,,,,,,,,,,,,,,132,138,,,,152,,,,166,,,,,,30,,36,39,163,48',
+',,,,,151,155,158,161,165,169,131,135,140,143,147,150,154,157,160,164',
+'168,130,134,139,142,146,149,153,156,159,162,167,129,133,137,141,145',
+'148,136,,144,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,132,138,,,,152,,,,166,,,,',
+',,,,,163,,,,,,,151,155,158,161,165,169,131,135,140,143,147,150,154,157',
+'160,164,168,130,134,139,142,146,149,153,156,159,162,167,129,133,204',
+'141,145,148,136,,144,,,,,,,,,,,,,,,,,,,,,,,321,,,,,,,132,138,,,,152',
+',,,166,,,,,,,,,,163,,,,,,,151,155,158,161,165,169,131,135,140,143,147',
+'150,154,157,160,164,168,130,134,139,142,146,149,153,156,159,162,167',
+'129,133,137,141,145,148,136,,144,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,132,138',
+',,,152,,,,166,,,,,,,,,,163,,,,,,,151,155,158,161,165,169,131,135,140',
+'143,147,150,154,157,160,164,168,130,134,139,142,146,149,153,156,159',
+'162,167,129,133,137,141,145,148,136,,144,,,,,,,,,,,,,,,,,,,,,,,,,,,',
+',,132,138,,,,152,,,,166,,,,,,,,,,163,,,,,,,151,155,158,161,165,169,131',
+'135,140,143,147,150,154,157,160,164,168,130,134,139,142,146,149,153',
+'156,159,162,167,129,133,137,141,145,148,136,,144,,,,,,,,,,,,,,,,,,,',
+',,,323,,,,,,,132,138,,,,152,,,,166,,,,,,,,,,163,,,,,,,151,155,158,161',
+'165,169,131,135,140,143,147,150,154,157,160,164,168,130,134,139,142',
+'146,149,153,156,159,162,167,129,133,137,141,145,148,136,,144,,,,,,,',
+',,,,,,,,,,,,,,,,,,,,,,132,138,,,,152,,,,166,,,,,,,,,,163,,,,,,,151,155',
+'158,161,165,169,131,135,140,143,147,150,154,157,160,164,168,130,134',
+'139,142,146,149,153,156,159,162,167,129,133,137,141,145,148,136,,144',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,,,132,138,,,,152,,,,166,,,,,,,,,,163,,,,',
+',,151,155,158,161,165,169,131,135,140,143,147,150,154,157,160,164,168',
+'130,134,139,142,146,149,153,156,159,162,167,129,133,137,141,145,148',
+'136,,144,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,132,138,,,,152,,,,166,,,,,,,,',
+',163,,,,,,,151,155,158,161,165,169,131,135,140,143,147,150,154,157,160',
+'164,168,130,134,139,142,146,149,153,156,159,162,167,129,133,137,141',
+'145,148,136,,144,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,132,138,,,,152,,,,166',
+',,,,,,,,,163,,,,,,,151,155,158,161,165,169,131,135,140,143,147,150,154',
+'157,160,164,168,130,134,139,142,146,149,153,156,159,162,167,129,133',
+'137,141,145,148,136,,144,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,132,138,,,,152',
+',,,166,,,,,,,,,,163,,,,,,,151,155,158,161,165,169,131,135,140,143,147',
+'150,154,157,160,164,168,130,134,139,142,146,149,153,156,159,162,167',
+'129,133,137,141,145,148,136,,144,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,132,138',
+',,,152,,,,166,,,,,,,,,,163,,,,,,,151,155,158,161,165,169,131,135,140',
+'143,147,150,154,157,160,164,168,130,134,139,142,146,149,153,156,159',
+'162,167,129,133,137,141,145,148,136,,144,,,,,,,,,,,,,,,,,,,,,,,,,,,',
+',,132,138,,,,152,,,,166,,,,,,,,,,163,,,,,,,151,155,158,161,165,169,131',
+'135,140,143,147,150,154,157,160,164,168,130,134,139,142,146,149,153',
+'156,159,162,167,129,133,137,141,145,148,136,,144,,,,,,,,,,,,,,,,,,,',
+',,,,,,,,,,132,138,,,,152,,,,166,,,,,,,,,,163,,,,,,,151,155,158,161,165',
+'169,131,135,140,143,147,150,154,157,160,164,168,130,134,139,142,146',
+'149,153,156,159,162,167,129,133,137,141,145,148,136,,144,,,,,,,,,,,',
+',,,,,,,,,,,,,,,,,,132,138,,,,152,,,,166,,,,,,,,,,163,,,,,,,151,155,158',
+'161,165,169,131,135,140,143,147,150,154,157,160,164,168,130,134,139',
+'142,146,149,153,156,159,162,167,129,133,137,141,145,148,136,,144,,,',
+',,,,,,,,,,,,,,,,,,,,,,,,,,132,138,,,,152,,,,166,,,,,,,,,,163,,,,,,,151',
+'155,158,161,165,169,131,135,140,143,147,150,154,157,160,164,168,130',
+'134,139,142,146,149,153,156,159,162,167,129,133,137,141,145,148,136',
+',144,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,132,138,,,,152,,,,166,,,,,,,,,,163',
+',,,,,,151,155,158,161,165,169,131,135,140,143,147,150,154,157,160,164',
+'168,130,134,139,142,146,149,153,156,159,162,167,129,133,137,141,145',
+'148,136,,144,,,,,,,,,,,,,,,,,,,,,,,273,,,,,,,132,138,,,,152,,,,166,',
+',,,,,,,,163,,,,,,,151,155,158,161,165,169,131,135,140,143,147,150,154',
+'157,160,164,168,130,134,139,142,146,149,153,156,159,162,167,129,133',
+'272,141,145,148,136,,144,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,132,138,,,,152',
+',,,166,,,,,,,,185,,163,,,,,,,151,155,158,161,165,169,131,135,140,143',
+'147,150,154,157,160,164,168,130,134,139,142,146,149,153,156,159,162',
+'167,129,133,137,141,145,148,136,,144,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,132',
+'138,,,,152,,,,166,,,,,,,,61,,163,,,,,,,151,155,158,161,165,169,131,135',
+'140,143,147,150,154,157,160,164,168,130,134,139,142,146,149,153,156',
+'159,162,167,129,133,137,141,145,148,136,,144,,,,,,,,,,,,,,,,,,,,,,,',
+',,,,,,132,138,,,,152,,,,166,,,,,,,,,,163,,,,,,,151,155,158,161,165,169',
+'131,135,140,143,147,150,154,157,160,164,168,130,134,139,142,146,149',
+'153,156,159,162,167,129,133,137,141,145,148,136,,144,,,,,,,,,,,,,,,',
+',,,,,,,,,,,,,,132,138,,,,152,,,,166,,,,,,,,61,,163,,,,,,,151,155,158',
+'161,165,169,131,135,140,143,147,150,154,157,160,164,168,130,134,139',
+'142,146,149,153,156,159,162,167,129,133,137,141,145,148,132,138,,,,',
+',,,166,,,,,,,,,,163,,,,,,,151,155,158,161,165,169,131,135,140,143,147',
+'150,154,157,160,164,168,130,134,139,142,146,149,153,156,159,162,167',
+'129,133,137,141,145,148,132,138,,,,,,,,166,,,,,,,,,,163,,,,,,,151,155',
+'158,161,165,169,131,135,140,143,147,150,154,157,160,164,168,130,134',
+'139,142,146,149,153,156,159,162,167,129,133,137,141,145,148,132,138',
+',,,,,,,166,,,,,,,,,,163,,,,,,,151,155,158,161,165,169,131,135,140,143',
+'147,150,154,157,160,164,168,130,134,139,142,146,149,153,156,159,162',
+'167,129,133,137,132,138,,,,,,,,166,,,,,,,,,,163,,,,,,,151,155,158,161',
+'165,169,131,135,140,143,147,150,154,157,160,164,168,130,134,139,142',
+'146,149,153,156,159,162,167,129,133,137,132,138,,,,,,,,166,,,,,,,,,',
+'163,,,,,,,151,155,158,161,165,169,131,135,140,143,147,150,154,157,160',
+'164,168,130,134,139,142,146,149,153,156,159,162,167,129,133,137,132',
+'138,,,,,,,,166,,,,,,,,,,163,,,,,,,151,155,158,161,165,169,131,135,140',
+'143,147,150,154,157,160,164,168,130,134,139,142,146,149,153,156,159',
+'162,167,129,133,137,138,,,,,,,,166,,,,,,,,,,163,,,,,,,151,155,158,161',
+'165,169,131,135,140,143,147,150,154,157,160,164,168,130,134,139,142',
+'146,149,153,156,159,162,167,129,133,137,138,,,,,,,,166,,,,,,,,,,163',
+',,,,,,151,155,158,161,165,169,131,135,140,143,147,150,154,157,160,164',
+'168,130,134,139,142,146,149,153,156,159,162,167,129,133,137,138,,,,',
+',,,166,,,,,,,,,,163,,,,,,,151,155,158,161,165,169,131,135,140,143,147',
+'150,154,157,160,164,168,130,134,139,142,146,149,153,156,159,162,167',
+'129,133,137,138,,,,,,,,166,,,,,,,,,,163,,,,,,,151,155,158,161,165,169',
+'131,135,140,143,147,150,154,157,160,164,168,130,134,139,142,146,149',
+'153,156,159,162,167,129,133,137,138,,,,,,,,166,,,,,,,,,,163,,,,,,,151',
+'155,158,161,165,169,131,135,140,143,147,150,154,157,160,164,168,130',
+'134,139,142,146,149,153,156,159,162,167,129,133,137,166,,,,,,,,,,163',
+',,,,,,151,155,158,161,165,169,131,135,140,143,147,150,154,157,160,164',
+'168,130,134,139,142,146,149,153,156,159,162,167,129,133,166,,,,,,,,',
+',163,,,,,,,151,155,158,161,165,169,131,135,140,143,147,150,154,157,160',
+'164,168,130,134,139,142,146,149,153,156,159,162,167,129,133,166,,,,',
+',,,,,163,,,,,,,151,155,158,161,165,169,131,135,140,143,147,150,154,157',
+'160,164,168,130,134,139,142,146,149,153,156,159,162,167,129,133,163',
+',,,,,,151,155,158,161,165,169,131,135,140,143,147,150,154,157,160,164',
+'168,130,134,139,142,146,149,153,156,159,162,167,129,133,163,,,,,,,151',
+'155,158,161,165,169,131,135,140,143,147,150,154,157,160,164,168,130',
+'134,139,142,146,149,153,156,159,162,167,129,133,163,,,,,,,151,155,158',
+'161,165,169,131,135,140,143,147,150,154,157,160,164,168,130,134,139',
+'142,146,149,153,156,159,162,167,129,133,163,,,,,,,151,155,158,161,165',
+'169,131,135,140,143,147,150,154,157,160,164,168,130,134,139,142,146',
+'149,153,156,159,162,167,129,133,163,,,,,,,151,155,158,161,165,169,131',
+'135,140,143,147,150,154,157,160,164,168,130,134,139,142,146,149,153',
+'156,159,162,167,129,133' ]
+ racc_action_table = arr = Array.new(11069, nil)
idx = 0
clist.each do |str|
str.split(',', -1).each do |i|
@@ -355,351 +386,384 @@ clist = [
end
clist = [
-'110,294,110,21,21,21,21,21,21,21,21,21,21,70,70,70,76,248,248,248,208',
-'208,70,197,70,263,248,257,248,69,21,21,110,110,208,239,255,110,217,290',
-'71,110,239,239,70,21,211,290,21,294,197,110,75,211,211,211,211,211,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,110,70,169',
-'76,197,197,197,21,179,21,148,21,110,148,148,148,148,148,148,148,148',
-'148,148,212,212,115,112,148,277,188,148,148,105,112,112,179,148,188',
-'259,148,148,148,148,308,308,119,119,148,148,278,148,169,148,148,187',
-'148,205,148,148,103,103,103,201,103,148,148,148,148,148,148,115,115',
-'188,148,148,66,259,105,105,105,179,179,179,105,259,4,200,259,4,4,4,4',
-'4,4,4,4,4,4,199,187,187,187,4,148,148,4,4,196,148,291,148,4,148,174',
-'4,4,4,4,269,173,188,188,4,4,53,4,269,4,4,236,4,171,4,4,111,111,236,236',
-'178,4,4,4,4,4,4,190,178,77,4,4,29,101,92,190,77,77,258,258,29,101,6',
-'269,43,6,6,6,6,6,6,6,6,6,6,249,249,249,35,6,4,4,6,6,249,4,249,4,6,4',
-'190,6,6,6,6,29,101,29,101,6,6,93,6,95,6,6,83,6,307,6,6,67,67,83,83,98',
-'6,6,6,6,6,6,223,286,286,6,6,62,62,223,223,223,223,223,223,223,100,9',
-'175,175,9,9,9,9,9,9,9,9,9,9,27,27,27,114,9,6,6,9,9,27,6,27,6,9,6,82',
-'9,9,9,9,118,1,82,82,9,9,124,9,129,9,9,79,9,,9,9,,,79,79,,9,9,9,9,9,9',
-'220,,,9,9,,,220,220,220,220,220,220,220,,11,,,11,11,11,11,11,11,11,11',
-'11,11,84,84,84,,11,9,9,11,11,84,9,84,9,11,9,243,11,11,11,11,,,243,243',
-'11,11,,11,,11,11,87,11,,11,11,,,87,87,,11,11,11,11,11,11,215,,,11,11',
-',,215,215,215,215,215,215,215,,12,,,12,12,12,12,12,12,12,12,12,12,85',
-'85,85,,12,11,11,12,12,85,11,85,11,12,11,109,12,12,12,12,,,109,109,12',
-'12,,12,,12,12,172,12,,12,12,,,172,172,,12,12,12,12,12,12,247,,,12,12',
-',,247,247,247,247,247,,,,15,,,15,15,15,15,15,15,15,15,15,15,,,,,15,12',
-'12,15,15,,12,,12,15,12,,15,15,15,15,,,,,15,15,,15,,15,15,,15,,15,15',
-',,,,,15,15,15,15,15,15,,,,15,15,,,,,,,,,,,19,,,19,19,19,19,19,19,19',
-'19,19,19,,,,,19,15,15,19,19,,15,,15,19,15,,19,19,19,19,,,,,19,19,,19',
-',19,19,,19,,19,19,,,,,,19,19,19,19,19,19,,,,19,19,,,,,,,,,,,130,,,130',
-'130,130,130,130,130,130,130,130,130,,,,,130,19,19,130,130,,19,,19,130',
-'19,,130,130,130,130,,,,,130,130,,130,,130,130,,130,,130,130,,,,,,130',
-'130,130,130,130,130,,,,130,130,,,,,,,,,,,22,,,22,22,22,22,22,22,22,22',
-'22,22,,,,,22,130,130,22,22,,130,,130,22,130,,22,22,22,22,,,,,22,22,',
-'22,,22,22,,22,,22,22,,,,,,22,22,22,22,22,22,,,,22,22,,,,,,,,,,,24,,',
-'24,24,24,24,24,24,24,24,24,24,,,,,24,22,22,24,24,,22,,22,24,22,,24,24',
-'24,24,,,,,24,24,,24,,24,24,,24,,24,24,,,,,,24,24,24,24,24,24,,,,24,24',
-',,,,,,,,,,133,,,133,133,133,133,133,133,133,133,133,133,,,,,133,24,24',
-'133,133,,24,,24,133,24,,133,133,133,133,,,,,133,133,,133,,133,133,,133',
-',133,133,,,,,,133,133,133,133,133,133,,,,133,133,,,,,,,,,,,128,,,128',
-'128,128,128,128,128,128,128,128,128,,,,,128,133,133,128,128,,133,,133',
-'128,133,,128,128,128,128,,,,,128,128,,128,,128,128,,128,,128,128,,,',
-',,128,128,128,128,128,128,,,,128,128,,,,,,,,,,,309,,,309,309,309,309',
-'309,309,309,309,309,309,,,,,309,128,128,309,309,,128,,128,309,128,,309',
-'309,309,309,,,,,309,309,,309,,309,309,,309,,309,309,,,,,,309,309,309',
-'309,309,309,,,,309,309,,,,,,,,,,,32,,,32,32,32,32,32,32,32,32,32,32',
-',,,,32,309,309,32,32,,309,,309,32,309,,32,32,32,32,,,,,32,32,,32,,32',
-'32,,32,,32,32,,,,,,32,32,32,32,32,32,,,,32,32,,,,,,,,,,,34,,,34,34,34',
-'34,34,34,34,34,34,34,,,,,34,32,32,34,34,,32,,32,34,32,,34,34,34,34,',
-',,,34,34,,34,,34,34,,34,,34,34,34,,,,,34,34,34,34,34,34,,,,34,34,,,',
-',,,,,,,127,,,127,127,127,127,127,127,127,127,127,127,,,,,127,34,34,127',
-'127,,34,,34,127,34,,127,127,127,127,,,,,127,127,,127,,127,127,,127,',
-'127,127,,,,,,127,127,127,127,127,127,,,,127,127,,,,,,,,,,,37,,,37,37',
-'37,37,37,37,37,37,37,37,,,,,37,127,127,37,37,,127,,127,37,127,,37,37',
-'37,37,,,,,37,37,,37,,37,37,,37,,37,37,,,,,,37,37,37,37,37,37,,,,37,37',
-',,,,,,,,,,40,,,40,40,40,40,40,40,40,40,40,40,,,,,40,37,37,40,40,,37',
-',37,40,37,,40,40,40,40,,,,,40,40,,40,,40,40,,40,,40,40,,,,,,40,40,40',
-'40,40,40,,,,40,40,,,,,,,,,,,126,,,126,126,126,126,126,126,126,126,126',
-'126,,,,,126,40,40,126,126,,40,,40,126,40,,126,126,126,126,,,,,126,126',
-',126,,126,126,,126,,126,126,,,,,,126,126,126,126,126,126,,,,126,126',
-',,,,,,,,,,46,,,46,46,46,46,46,46,46,46,46,46,,,,,46,126,126,46,46,,126',
-',126,46,126,,46,46,46,46,,,,,46,46,,46,,46,46,,46,,46,46,,,,,,46,46',
-'46,46,46,46,,,,46,46,,,,,,,,,,,52,,,52,52,52,52,52,52,52,52,52,52,,',
-',,52,46,46,52,52,,46,,46,52,46,,52,52,52,52,,,,,52,52,,52,,52,52,,52',
-',52,52,,,,,,52,52,52,52,52,52,,,,52,52,,,,,,,,,,,296,,,296,296,296,296',
-'296,296,296,296,296,296,,,,,296,52,52,296,296,,52,,52,296,52,,296,296',
-'296,296,,,,,296,296,,296,,296,296,,296,,296,296,,,,,,296,296,296,296',
-'296,296,,,,296,296,,,,,,,,,,,59,,,59,59,59,59,59,59,59,59,59,59,296',
-',,,59,296,296,59,59,,296,,296,59,296,,59,59,59,59,,,,,59,59,,59,,59',
-'59,,59,,59,59,,59,,,,59,59,59,59,59,59,,,,59,59,,,,,,,,,,,285,,,285',
-'285,285,285,285,285,285,285,285,285,,,,,285,59,59,285,285,,59,,59,285',
-'59,,285,285,285,285,,,,,285,285,,285,,285,285,,285,,285,285,,,,,,285',
-'285,285,285,285,285,,,,285,285,,,,,,,,,,,284,,,284,284,284,284,284,284',
-'284,284,284,284,,,,,284,285,285,284,284,,285,,285,284,285,,284,284,284',
-'284,,,,,284,284,,284,,284,284,,284,,284,284,,,,,,284,284,284,284,284',
-'284,,,,284,284,,,,,,,,,,,275,,,275,275,275,275,275,275,275,275,275,275',
-',,,,275,284,284,275,275,,284,,284,275,284,,275,275,275,275,,,,,275,275',
-',275,,275,275,,275,,275,275,,,,,,275,275,275,275,275,275,,,,275,275',
-',,,,,,,,,,272,,,272,272,272,272,272,272,272,272,272,272,275,,,,272,275',
-'275,272,272,,275,,275,272,275,,272,272,272,272,,,,,272,272,,272,,272',
-'272,,272,,272,272,,,,,,272,272,272,272,272,272,,,,272,272,,,,,,,,,,',
-'271,,,271,271,271,271,271,271,271,271,271,271,,,,,271,272,272,271,271',
-',272,,272,271,272,,271,271,271,271,,,,,271,271,,271,,271,271,,271,,271',
-'271,,,,,,271,271,271,271,271,271,,,,271,271,,,,,,,,,,,261,,,261,261',
-'261,261,261,261,261,261,261,261,,,,,261,271,271,261,261,,271,,271,261',
-'271,,261,261,261,261,,,,,261,261,,261,,261,261,,261,,261,261,,,,,,261',
-'261,261,261,261,261,,,,261,261,,,,,,,,,,,207,,,207,207,207,207,207,207',
-'207,207,207,207,,,,,207,261,261,207,207,,261,,261,207,261,,207,207,207',
-'207,,,,,207,207,,207,,207,207,,207,,207,207,,,,,,207,207,207,207,207',
-'207,,,,207,207,,,,,,,,,,,73,,,73,73,73,73,73,73,73,73,73,73,,,,,73,207',
-'207,73,73,,207,,207,73,207,,73,73,73,73,,,,,73,73,,73,,73,73,,73,,73',
-'73,,,,,,73,73,73,73,73,73,,,,73,73,,,,,,,,,,,206,,,206,206,206,206,206',
-'206,206,206,206,206,,,,,206,73,73,206,206,,73,,73,206,73,,206,206,206',
-'206,,,,,206,206,,206,,206,206,,206,,206,206,,,,,,206,206,206,206,206',
-'206,,,,206,206,,,,,,,,,,,194,,,194,194,194,194,194,194,194,194,194,194',
-',,,,194,206,206,194,194,,206,,206,194,206,,194,194,194,194,,,,,194,194',
-',194,,194,194,,194,,194,194,,,,,,194,194,194,194,194,194,,,,194,194',
-',,,,,,,,,,191,,,191,191,191,191,191,191,191,191,191,191,,,,,191,194',
-'194,191,191,,194,,194,191,194,,191,191,191,191,,,,,191,191,,191,,191',
-'191,,191,,191,191,191,,,,,191,191,191,191,191,191,232,,,191,191,,,232',
-'232,232,232,232,232,232,232,232,232,232,232,232,232,232,232,232,232',
-'232,232,232,,,,,,191,191,191,191,,191,,191,186,191,,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,186,186',
-',,,186,186,,,,,,,,,,,185,,,185,185,185,185,185,185,185,185,185,185,',
-',,,185,186,186,185,185,,186,,186,185,186,,185,185,185,185,,,,,185,185',
-',185,,185,185,,185,,185,185,,,,,,185,185,185,185,185,185,,,,185,185',
-',,,,,,,,,,166,,,166,166,166,166,166,166,166,166,166,166,,,,,166,185',
-'185,166,166,,185,,185,166,185,,166,166,166,166,,,,,166,166,,166,,166',
-'166,,166,,166,166,,,,,,166,166,166,166,166,166,,,,166,166,,,,,,,,,,',
-'132,,,132,132,132,132,132,132,132,132,132,132,,,,,132,166,166,132,132',
-',166,,166,132,166,,132,132,132,132,,,,,132,132,,132,,132,132,,132,,132',
-'132,,,,,,132,132,132,132,132,132,,,,132,132,,,,,,,,,,,161,,,161,161',
-'161,161,161,161,161,161,161,161,,,,,161,132,132,161,161,,132,,132,161',
-'132,,161,161,161,161,,,,,161,161,,161,,161,161,,161,,161,161,,,,,,161',
-'161,161,161,161,161,,,,161,161,,,,,,,,,,,160,,,160,160,160,160,160,160',
-'160,160,160,160,,,,,160,161,161,160,160,,161,,161,160,161,,160,160,160',
-'160,,,,,160,160,,160,,160,160,,160,,160,160,,,,,,160,160,160,160,160',
-'160,,,,160,160,,,,,,,,,,,159,,,159,159,159,159,159,159,159,159,159,159',
-',,,,159,160,160,159,159,,160,,160,159,160,,159,159,159,159,,,,,159,159',
-',159,,159,159,,159,,159,159,,,,,,159,159,159,159,159,159,,,,159,159',
-',,,,,,,,,,158,,,158,158,158,158,158,158,158,158,158,158,,,,,158,159',
-'159,158,158,,159,,159,158,159,,158,158,158,158,,,,,158,158,,158,,158',
-'158,,158,,158,158,,,,,,158,158,158,158,158,158,,,,158,158,,,,,,,,,,',
-'157,,,157,157,157,157,157,157,157,157,157,157,,,,,157,158,158,157,157',
-',158,,158,157,158,,157,157,157,157,,,,,157,157,,157,,157,157,,157,,157',
-'157,,,,,,157,157,157,157,157,157,,,,157,157,,,,,,,,,,,156,,,156,156',
-'156,156,156,156,156,156,156,156,,,,,156,157,157,156,156,,157,,157,156',
-'157,,156,156,156,156,,,,,156,156,,156,,156,156,,156,,156,156,,,,,,156',
-'156,156,156,156,156,,,,156,156,,,,,,,,,,,125,,,125,125,125,125,125,125',
-'125,125,125,125,,,,,125,156,156,125,125,,156,,156,125,156,,125,125,125',
-'125,,,,,125,125,,125,,125,125,,125,,125,125,,,,,,125,125,125,125,125',
-'125,,,,125,125,,,,,,,,,,,90,,,90,90,90,90,90,90,90,90,90,90,,,,,90,125',
-'125,90,90,,125,,125,90,125,,90,90,90,90,,,,,90,90,,90,,90,90,,90,,90',
-'90,90,,,,,90,90,90,90,90,90,,,,90,90,,,,,,,,,,,91,,,91,91,91,91,91,91',
-'91,91,91,91,,,,,91,90,90,91,91,,90,,90,91,90,,91,91,91,91,,,,,91,91',
-',91,,91,91,,91,,91,91,,,,,,91,91,91,91,91,91,,,,91,91,,,,,,,,,,,154',
-',,154,154,154,154,154,154,154,154,154,154,,,,,154,91,91,154,154,,91',
-',91,154,91,,154,154,154,154,,,,,154,154,,154,,154,154,,154,,154,154',
-',,,,,154,154,154,154,154,154,,,,154,154,,,,,,,,,,,153,,,153,153,153',
-'153,153,153,153,153,153,153,,,,,153,154,154,153,153,,154,,154,153,154',
-',153,153,153,153,,,,,153,153,,153,,153,153,,153,,153,153,,,,,,153,153',
-'153,153,153,153,,,,153,153,,,,,,,,,,,152,,,152,152,152,152,152,152,152',
-'152,152,152,,,,,152,153,153,152,152,,153,,153,152,153,,152,152,152,152',
-',,,,152,152,,152,,152,152,,152,,152,152,,,,,,152,152,152,152,152,152',
-',,,152,152,,,,,,,,,,,151,,,151,151,151,151,151,151,151,151,151,151,',
-',,,151,152,152,151,151,,152,,152,151,152,,151,151,151,151,,,,,151,151',
-',151,,151,151,,151,,151,151,,,,,,151,151,151,151,151,151,,,,151,151',
-',,,,,,,,,,150,,,150,150,150,150,150,150,150,150,150,150,,,,,150,151',
-'151,150,150,,151,,151,150,151,,150,150,150,150,,,,,150,150,,150,,150',
-'150,,150,,150,150,,,,,,150,150,150,150,150,150,,,,150,150,,,,,,,,,,',
-'149,,,149,149,149,149,149,149,149,149,149,149,,,,,149,150,150,149,149',
-',150,,150,149,150,,149,149,149,149,,,,,149,149,,149,,149,149,,149,,149',
-'149,,,,,,149,149,149,149,149,149,,,,149,149,,,,,,,,,,,131,,,131,131',
-'131,131,131,131,131,131,131,131,,,,,131,149,149,131,131,,149,,149,131',
-'149,,131,131,131,131,,,,,131,131,,131,,131,131,,131,,131,131,,,,,,131',
-'131,131,131,131,131,,,,131,131,,,,,,,,,,,146,,,146,146,146,146,146,146',
-'146,146,146,146,,,,,146,131,131,146,146,,131,,131,146,131,,146,146,146',
-'146,,,,,146,146,,146,,146,146,,146,,146,146,,,,,,146,146,146,146,146',
-'146,,,,146,146,,,,,,,,,,,145,,,145,145,145,145,145,145,145,145,145,145',
-',,,,145,146,146,145,145,,146,,146,145,146,,145,145,145,145,,,,,145,145',
-',145,,145,145,,145,,145,145,,,,,,145,145,145,145,145,145,,,,145,145',
-',,,,,,,,,,106,,,106,106,106,106,106,106,106,106,106,106,,,,,106,145',
-'145,106,106,,145,,145,106,145,,106,106,106,106,,,,,106,106,,106,,106',
-'106,,106,,106,106,,,,,,106,106,106,106,106,106,,,,106,106,,,,,,,,,,',
-'144,,,144,144,144,144,144,144,144,144,144,144,,,,,144,106,106,144,144',
-',106,,106,144,106,,144,144,144,144,,,,,144,144,,144,,144,144,,144,,144',
-'144,,,,,,144,144,144,144,144,144,,,,144,144,,,,,,,,,,,108,,,108,108',
-'108,108,108,108,108,108,108,108,,,,,108,144,144,108,108,,144,,144,108',
-'144,,108,108,108,108,,,,,108,108,,108,,108,108,,108,,108,108,108,,,',
-',108,108,108,108,108,108,,,,108,108,,,,,,,,,,,134,,,134,134,134,134',
-'134,134,134,134,134,134,,,,,134,108,108,134,134,,108,,108,134,108,,134',
-'134,134,134,,,,,134,134,,134,,134,134,,134,,134,134,,,,,,134,134,134',
-'134,134,134,,,,134,134,,,,,,,,,,,0,,,0,0,0,0,0,0,0,0,0,0,,,,,0,134,134',
-'0,0,,134,,134,0,134,,0,0,0,0,,,,,0,0,,0,,0,0,,0,,0,0,0,,,,,0,0,0,0,0',
-'0,219,,,0,0,,,219,219,219,219,219,219,219,219,219,219,219,219,219,219',
-'219,219,219,219,219,219,219,,,,,,0,0,0,0,,0,,0,141,0,,141,141,141,141',
-'141,141,141,141,141,141,,,,,141,,,141,141,,,,,141,,,141,141,141,141',
-',,,,141,141,,141,,141,141,,141,,141,141,,,,,,141,141,141,141,141,141',
-',,,141,141,,,,,,,,,,,140,,,140,140,140,140,140,140,140,140,140,140,',
-',,,140,141,141,140,140,,141,,141,140,141,,140,140,140,140,,,,,140,140',
-',140,,140,140,,140,,140,140,,,,,,140,140,140,140,140,140,,,,140,140',
-',,,,,,,,,,139,,,139,139,139,139,139,139,139,139,139,139,,,,,139,140',
-'140,139,139,,140,,140,139,140,,139,139,139,139,,,,,139,139,,139,,139',
-'139,,139,,139,139,,,,,,139,139,139,139,139,139,,,,139,139,,,,,,,,,,',
-'138,,,138,138,138,138,138,138,138,138,138,138,,,,,138,139,139,138,138',
-',139,,139,138,139,,138,138,138,138,,,,,138,138,,138,,138,138,,138,,138',
-'138,,,,,,138,138,138,138,138,138,,,,138,138,,,,,,,,,,,137,,,137,137',
-'137,137,137,137,137,137,137,137,,,,,137,138,138,137,137,,138,,138,137',
-'138,,137,137,137,137,,,,,137,137,,137,,137,137,,137,,137,137,,,,,,137',
-'137,137,137,137,137,,,,137,137,,,,,,,,,,,117,,,117,117,117,117,117,117',
-'117,117,117,117,,,,,117,137,137,117,117,,137,,137,117,137,,117,117,117',
-'117,,,,,117,117,,117,,117,117,,117,,117,117,,,,,,117,117,117,117,117',
-'117,,,,117,117,,,,,,,,,,,136,,,136,136,136,136,136,136,136,136,136,136',
-',,,,136,117,117,136,136,,117,,117,136,117,,136,136,136,136,,,,,136,136',
-',136,,136,136,,136,,136,136,,,,,,136,136,136,136,136,136,,,,136,136',
-',,,,,,,,,,135,,,135,135,135,135,135,135,135,135,135,135,,,,,135,136',
-'136,135,135,,136,,136,135,136,,135,135,135,135,,,,,135,135,,135,,135',
-'135,,135,,135,135,,,,,,135,135,135,135,135,135,,,,135,135,,,,,,,,,,',
-'121,,,121,121,121,121,121,121,121,121,121,121,,,,,121,135,135,121,121',
-',135,,135,121,135,,121,121,121,121,,,,,121,121,,121,,121,121,,121,,121',
-'121,,,,,,121,121,121,121,121,121,,,,121,121,,,,,,,,,,,122,,,122,122',
-'122,122,122,122,122,122,122,122,,,,,122,121,121,122,122,,121,,121,122',
-'121,,122,122,122,122,,,,,122,122,,122,,122,122,,122,,122,122,,,,,,122',
-'122,122,122,122,122,,,,122,122,,,,,,,,,,,123,,,123,123,123,123,123,123',
-'123,123,123,123,,,,,123,122,122,123,123,,122,,122,123,122,,123,123,123',
-'123,,,,,123,123,,123,,123,123,,123,,123,123,,,,,,123,123,123,123,123',
-'123,,,,123,123,,,,,,,,,,,142,,,142,142,142,142,142,142,142,142,142,142',
-',,,,142,123,123,142,142,,123,,123,142,123,,142,142,142,142,,,,,142,142',
-',142,,142,142,,142,,142,142,,312,,312,,142,142,142,142,142,142,235,',
-',142,142,,,235,235,235,235,235,235,235,235,235,235,235,235,235,,,312',
-'312,,,,312,,,,312,,142,142,,,,142,,142,312,142,,,,,,312,312,312,312',
-'312,312,312,312,312,312,312,312,312,312,312,312,312,312,312,312,312',
-'312,312,312,312,312,312,312,312,312,312,312,312,312,301,,301,226,,,',
-',,312,226,226,226,226,226,226,226,226,226,226,226,226,226,226,226,226',
-'226,226,226,226,226,,301,301,,,,301,,,,301,,,,,,,,,,301,,,,,,,301,301',
-'301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301',
-'301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,,,,,,,,',
-',301,310,310,310,310,310,310,310,310,310,310,,,,,310,,,310,310,,,,,310',
-',,310,310,310,,,,,,,310,,310,,310,310,,310,,310,310,,,,,,310,310,310',
-'310,310,310,,,,310,310,,,,,300,300,300,300,300,300,300,300,300,300,',
-',,,300,,,300,300,,,,,300,310,310,300,300,300,310,,310,,310,,300,,300',
-',300,300,,300,,300,300,,,,,,300,300,300,300,300,300,233,,,300,300,,',
-'233,233,233,233,233,233,233,233,233,233,,25,25,25,25,25,25,25,25,25',
-'25,,,,,25,300,300,25,25,,300,,300,25,300,,25,25,25,25,,,,,,25,,25,,25',
-'25,,25,,25,25,,,,,,25,25,25,25,25,25,,,,25,25,,,,,155,155,155,155,155',
-'155,155,155,155,155,,,,,155,,,155,155,,,,,155,25,25,155,155,155,25,',
-'25,,25,,155,,155,,155,155,,155,,155,155,,,,,,155,155,155,155,,164,164',
-'164,164,164,164,164,164,164,164,227,,,,,,,227,227,227,227,227,227,227',
-'227,227,227,164,164,,,,,,155,155,,,,155,,155,164,155,229,164,,204,,204',
+'120,84,120,163,163,163,163,163,163,163,163,163,163,73,73,73,207,163',
+'78,206,163,163,73,272,73,36,163,119,293,163,163,163,120,120,119,119',
+'293,120,163,205,163,120,163,163,73,163,204,163,163,294,84,120,261,261',
+'163,163,163,163,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,73,163,163,68,78,294,163,198,163,163,103,163,120,103',
+'103,103,103,103,103,103,103,103,103,211,192,115,280,103,219,219,103',
+'103,214,214,198,186,103,263,281,103,103,103,103,186,191,60,214,103,103',
+'124,103,192,103,103,117,103,37,103,103,103,177,117,117,224,103,103,103',
+'103,103,103,115,115,115,103,103,263,185,115,186,198,198,198,260,263',
+'185,30,263,311,311,191,191,191,99,30,124,124,192,192,192,174,99,118',
+'118,103,103,75,174,174,103,77,103,103,4,103,81,4,4,4,4,4,4,4,4,4,4,296',
+'186,186,30,4,30,188,4,4,5,99,97,99,4,188,266,4,4,4,4,289,289,98,266',
+'4,4,106,4,107,4,4,243,4,108,4,4,70,70,243,243,94,4,4,4,4,4,4,94,94,188',
+'4,4,226,96,96,96,258,96,266,226,226,226,226,226,226,226,226,226,226',
+'226,226,226,226,226,226,226,226,226,226,226,4,4,178,178,1,4,43,4,4,300',
+'4,312,300,300,300,300,300,300,300,300,300,300,91,91,91,137,300,71,71',
+'300,300,91,122,91,132,300,90,125,300,300,300,300,176,90,90,,300,300',
+',300,,300,300,246,300,,300,300,126,126,246,246,,300,300,300,300,300',
+'300,236,,,300,300,,,236,236,236,236,236,236,236,236,236,236,236,236',
+'236,236,236,236,236,236,236,236,236,300,86,,,,300,300,,86,86,300,,300',
+'300,6,300,,6,6,6,6,6,6,6,6,6,6,34,34,34,,6,,,6,6,34,,34,,6,250,,6,6',
+'6,6,,250,250,,6,6,,6,,6,6,79,6,,6,6,,,79,79,,6,6,6,6,6,6,229,,,6,6,',
',229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229',
-'229,229,229,229,,,,,,,,204,204,,,,204,,,,204,,,,,,,164,,164,204,164',
-',,,,,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',
-'204,68,234,68,,,,,,234,234,234,234,234,234,234,234,234,234,234,234,234',
-'234,234,234,234,234,234,234,234,,,,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,68,68,68,68,68,68,68,68,311,242,311,,,,,,242,242,242,242',
-'242,242,242,242,242,242,242,242,242,,,,,311,,,,,,,311,311,,,,311,,,',
-'311,,,,,,,,,,311,,,,,,,311,311,311,311,311,311,311,311,311,311,311,311',
-'311,311,311,311,311,311,311,311,311,311,311,311,311,311,311,311,311',
-'311,311,311,311,311,231,222,231,,,,,,222,222,222,222,222,222,222,222',
-'222,222,222,222,222,222,222,222,222,222,222,222,222,,,,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,231,231,81,214,81,,,,,,214,214,214,214,214,214,214,214',
-'214,214,214,214,214,214,214,214,214,214,214,214,214,,,,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,81,81,81,81,81,81,81,224,210,224',
-',,,,,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210',
-'210,210,210,210,210,,,,224,224,,,,224,,,,224,,,,,,,,,,224,,,,,,,224',
-'224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224',
-'224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,273',
-'246,273,,,,,,246,246,246,246,246,246,246,246,246,246,246,246,246,,,',
-',,,,,,,,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,273,216,238,216,,,,,,238',
-'238,238,238,238,238,238,238,238,238,238,238,238,,,,,,,,,,,,216,216,',
-',,216,,,,216,,,,,,,,,,216,,,,,,,216,216,216,216,216,216,216,216,216',
-'216,216,216,216,216,216,216,216,216,216,216,216,216,216,216,216,216',
-'216,216,216,216,216,216,216,216,274,230,274,,,,,,230,230,230,230,230',
-'230,230,230,230,230,,,,,,,,,,,,,,,274,274,,,,274,,,,274,,,,,,,,,,274',
-',,,,,,274,274,274,274,274,274,274,274,274,274,274,274,274,274,274,274',
-'274,274,274,274,274,274,274,274,274,274,274,274,274,274,274,274,274',
-'274,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,107',
-'107,107,107,316,,316,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,316,316,,,,316,,,',
-'316,,,,,,,,,,316,,,,,,,316,316,316,316,316,316,316,316,316,316,316,316',
-'316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316',
-'316,316,316,316,316,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,195,195,195,195,195,195,317,,317,,,,,,,,,,,,,,,,,,,,,,,317,,,,,',
-',317,317,,,,317,,,,317,,,,,,,,,,317,,,,,,,317,317,317,317,317,317,317',
-'317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317',
-'317,317,317,317,317,317,317,317,317,317,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,78,78',
-'78,78,78,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,181,181,181,181,181,181',
-'181,181,181,181,181,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,180,180,180,180',
-'180,180,180,180,180,180,180,265,,265,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,265',
-'265,,,,265,,,,265,,,,,,,,,,265,,,,,,,265,265,265,265,265,265,265,265',
-'265,265,265,265,265,265,265,265,265,265,265,265,265,265,265,265,265',
-'265,265,265,265,265,265,265,265,265,295,,295,,,,,,,,,,,,,,,,,,,,,,,',
-',,,,,,295,295,,,,295,,,,295,,,,,,,,,,295,,,,,,,295,295,295,295,295,295',
-'295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295',
-'295,295,295,295,295,295,295,295,295,295,295,299,,299,,,,,,,,,,,,,,,',
-',,,,,,,,,,,,,,299,299,,,,299,,,,299,,,,,,,,,,299,,,,,,,299,299,299,299',
-'299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299',
-'299,299,299,299,299,299,299,299,299,299,299,299,299,298,,298,,,,,,,',
-',,,,,,,,,,,,,,,,,,,,,,298,298,,,,298,,,,298,,,,,,,,,,298,,,,,,,298,298',
-'298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298',
-'298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,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,80,80,80,80,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,266,266,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,88,88,88,88,88,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,250,250,250,250,250',
-'250,228,228,,,,,,,,228,,,,,,,,,,228,,,,,,,228,228,228,228,228,228,228',
-'228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,228',
-'228,228,228,228,228,228,228,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,225,225,,,,,,,,225',
-',,,,,,,,,225,,,,,,,225,225,225,225,225,225,225,225,225,225,225,225,225',
-'225,225,225,225,225,225,225,225,225,225,225,225,225,225,225,225,225',
-'225,221,221,,,,,,,,221,,,,,,,,,,221,,,,,,,221,221,221,221,221,221,221',
+'229,229,229,229,92,92,92,,,6,6,,,92,6,92,6,6,9,6,,9,9,9,9,9,9,9,9,9',
+'9,255,255,255,,9,,,9,9,255,,255,,9,89,,9,9,9,9,,89,89,,9,9,,9,,9,9,',
+'9,,9,9,,,,,,9,9,9,9,9,9,217,,,9,9,,,217,217,217,217,217,217,217,217',
+'217,217,217,217,217,217,217,217,217,217,217,217,217,256,256,256,,,9',
+'9,,,256,9,256,9,9,11,9,,11,11,11,11,11,11,11,11,11,11,,,,,11,,,11,11',
+',,,,11,,,11,11,11,11,,,,,11,11,,11,,11,11,,11,,11,11,,,,,,11,11,11,11',
+'11,11,241,,,11,11,,,241,241,241,241,241,241,241,241,241,241,241,241',
+'241,241,241,241,241,241,241,241,241,,,,,,11,11,,,,11,,11,11,12,11,,12',
+'12,12,12,12,12,12,12,12,12,,,,,12,,,12,12,,,,,12,,,12,12,12,12,,,,,12',
+'12,,12,,12,12,,12,,12,12,,,,,,12,12,12,12,12,12,221,,,12,12,,,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,305,,,,,,,,305,,,,,,,,,,305,,,,,,,305,305',
-'305,305,305,305,305,305,305,305,305,305,305,305,305,305,305,305,305',
-'305,305,305,305,305,305,305,305,305,305,305,305,304,,,,,,,,304,,,,,',
-',,,,304,,,,,,,304,304,304,304,304,304,304,304,304,304,304,304,304,304',
+'221,221,,,,,,12,12,,,,12,,12,12,15,12,,15,15,15,15,15,15,15,15,15,15',
+',,,,15,,,15,15,,,,,15,,,15,15,15,15,,,,,15,15,,15,,15,15,,15,,15,15',
+',,,,,15,15,15,15,15,15,233,,,15,15,,,233,233,233,233,233,233,233,233',
+'233,233,233,233,233,233,233,233,233,233,233,233,233,,,,,,15,15,,,,15',
+',15,15,19,15,,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,239',
+',,19,19,,,239,239,239,239,239,239,239,239,239,239,239,239,239,239,239',
+'239,239,239,239,239,239,,,,,,19,19,,,,19,,19,19,288,19,,288,288,288',
+'288,288,288,288,288,288,288,,,,,288,,,288,288,,,,,288,,,288,288,288',
+'288,,,,,288,288,,288,,288,288,,288,,288,288,,,,,,288,288,288,288,288',
+'288,242,,,288,288,,,242,242,242,242,242,242,242,242,242,242,242,242',
+'242,218,,,,,,,218,218,218,218,218,,288,288,,,,288,,288,288,22,288,,22',
+'22,22,22,22,22,22,22,22,22,,,,,22,,,22,22,,,,,22,,,22,22,22,22,,,,,22',
+'22,,22,,22,22,,22,,22,22,,,,,,22,22,22,22,22,22,249,,,22,22,,,249,249',
+'249,249,249,249,249,249,249,249,249,249,249,254,,,,,,,254,254,254,254',
+'254,,22,22,,,,22,,22,22,24,22,,24,24,24,24,24,24,24,24,24,24,,,,,24',
+',,24,24,,,,,24,,,24,24,24,24,,,,,24,24,,24,,24,24,,24,,24,24,,,,,,24',
+'24,24,24,24,24,245,,,24,24,,,245,245,245,245,245,245,245,245,245,245',
+'245,245,245,,,,,,,,,,,,,,24,24,,,,24,,24,24,287,24,,287,287,287,287',
+'287,287,287,287,287,287,,,,,287,,,287,287,,,,,287,,,287,287,287,287',
+',,,,287,287,,287,,287,287,,287,,287,287,,,,,,287,287,287,287,287,287',
+'253,,,287,287,,,253,253,253,253,253,253,253,253,253,253,253,253,253',
+',,,,,,,,,,,,,287,287,,,,287,,287,287,279,287,,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,237,,,279',
+'279,,,237,237,237,237,237,237,237,237,237,237,,,,,,,,,,,,279,,,,,279',
+'279,,,,279,,279,279,33,279,,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,33,240,,,33,33,,,240,240,240,240,240,240,240,240,240,240,227,',
+',,,,,227,227,227,227,227,227,227,,,33,33,,,,33,,33,33,276,33,,276,276',
+'276,276,276,276,276,276,276,276,,,,,276,,,276,276,,,,,276,,,276,276',
+'276,276,,,,,276,276,,276,,276,276,,276,,276,276,,,,,,276,276,276,276',
+'276,276,234,,,276,276,,,234,234,234,234,234,234,234,234,234,234,222',
+',,,,,,222,222,222,222,222,222,222,,,276,276,,,,276,,276,276,275,276',
+',275,275,275,275,275,275,275,275,275,275,,,,,275,,,275,275,,,,,275,',
+',275,275,275,275,,,,,275,275,,275,,275,275,,275,,275,275,,,,,,275,275',
+'275,275,275,275,230,,,275,275,,,230,230,230,230,230,230,230,,,,,,,,',
+',,,,,,,,,,,275,275,,,,275,,275,275,262,275,,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,,262,262,39,262,,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,39,39,,,,39,39,,,,,,,,,,,,',
+',,,,,,,,,,,,,,,,39,39,,,,39,,39,39,40,39,,40,40,40,40,40,40,40,40,40',
+'40,,,,,40,,,40,40,,,,,40,,,40,40,40,40,,,,,40,40,,40,,40,40,,40,,40',
+'40,,,,,,40,40,40,40,40,40,,,,40,40,,,,,,,,,,,,,,,,,,,,,,,,,,,,,40,40',
+',,,40,,40,40,129,40,,129,129,129,129,129,129,129,129,129,129,,,,,129',
+',,129,129,,,,,129,,,129,129,129,129,,,,,129,129,,129,,129,129,,129,',
+'129,129,,,,,,129,129,129,129,129,129,,,,129,129,,,,,,,,,,,,,,,,,,,,',
+',,,,,,,,129,129,,,,129,,129,129,47,129,,47,47,47,47,47,47,47,47,47,47',
+',,,,47,,,47,47,,,,,47,,,47,47,47,47,,,,,47,47,,47,,47,47,,47,,47,47',
+',,,,,47,47,47,47,47,47,,,,47,47,,,,,,,,,,,,,,,,,,,,,,,,,,,,,47,47,,',
+',47,,47,47,48,47,,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,,48,48,55,48,,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,,55,55,212,55,,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,212,,,,212,212',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,,212,212,,,,212,,212,212,61,212,,61,61,61',
+'61,61,61,61,61,61,61,,,,,61,,,61,61,,,,,61,,,61,61,61,61,,,,,61,61,',
+'61,,61,61,,61,,61,61,,61,,,,61,61,61,61,61,61,,,,61,61,,,,,,,,,,,,,',
+',,,,,,,,,,,,,,,61,61,,,,61,,61,61,203,61,,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,203',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,,203,203,,,,203,,203,203,200,203,,200,200',
+'200,200,200,200,200,200,200,200,,,,,200,,,200,200,,,,,200,,,200,200',
+'200,200,,,,,200,200,,200,,200,200,,200,,200,200,200,,,,,200,200,200',
+'200,200,200,,,,200,200,,,,,,,,,,,,,,,,,,,,,,,,,,,,,200,200,200,200,',
+'200,,200,200,190,200,,190,190,190,190,190,190,190,190,190,190,,,,,190',
+',,190,190,,,,,190,,,190,190,190,190,,,,,190,190,,190,,190,190,,190,',
+'190,190,,,,,,190,190,190,190,190,190,,,,190,190,,,,,,,,,,,,,,,,,,,,',
+',,,,,,,,190,190,,,,190,,190,190,189,190,,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,189,,,,189,189',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,,189,189,,,,189,,189,189,172,189,,172,172',
+'172,172,172,172,172,172,172,172,,,,,172,,,172,172,,,,,172,,,172,172',
+'172,172,,,,,172,172,,172,,172,172,,172,,172,172,,,,,,172,172,172,172',
+'172,172,,,,172,172,,,,,,,,,,,,,,,,,,,,,,,,,,,,,172,172,,,,172,,172,172',
+'74,172,,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,74,169,74,,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,,169,169,168,169',
+',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,168,167,168,,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,,,,,,167,167,167,167,167,167,,,,167,167,,,,,,,,,,,,,,,,,,,,,,,,',
+',,,,167,167,,,,167,,167,167,166,167,,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,,,,166,166,,,,,',
+',,,,,,,,,,,,,,,,,,,,,,,166,166,,,,166,,166,166,165,166,,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,,,,165,165,,,,,,,,,,,,,,,,,,,,,,,,,,,,,165,165,,,,165,,165,165,164',
+'165,,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,,,,164,164,,,,,,,,,,,,,,,,,,,,,,,,,,,,,164,164,,,,164',
+',164,164,162,164,,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,,,,,,,,,,,,,,,,,,,,,,,,',
+',,,,162,162,,,,162,,162,162,161,162,,161,161,161,161,161,161,161,161',
+'161,161,,,,,161,,,161,161,,,,,161,,,161,161,161,161,,,,,161,161,,161',
+',161,161,,161,,161,161,,,,,,161,161,161,161,161,161,,,,161,161,,,,,',
+',,,,,,,,,,,,,,,,,,,,,,,161,161,,,,161,,161,161,160,161,,160,160,160',
+'160,160,160,160,160,160,160,,,,,160,,,160,160,,,,,160,,,160,160,160',
+'160,,,,,160,160,,160,,160,160,,160,,160,160,,,,,,160,160,160,160,160',
+'160,,,,160,160,,,,,,,,,,,,,,,,,,,,,,,,,,,,,160,160,,,,160,,160,160,159',
+'160,,159,159,159,159,159,159,159,159,159,159,,,,,159,,,159,159,,,,,159',
+',,159,159,159,159,,,,,159,159,,159,,159,159,,159,,159,159,,,,,,159,159',
+'159,159,159,159,,,,159,159,,,,,,,,,,,,,,,,,,,,,,,,,,,,,159,159,,,,159',
+',159,159,158,159,,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,158,,,,158,158,,,,,,,,,,,,,,,,,,,,,,,,',
+',,,,158,158,,,,158,,158,158,157,158,,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,157,,,,,',
+',,,,,,,,,,,,,,,,,,,,,,,157,157,,,,157,,157,157,156,157,,156,156,156',
+'156,156,156,156,156,156,156,,,,,156,,,156,156,,,,,156,,,156,156,156',
+'156,,,,,156,156,,156,,156,156,,156,,156,156,,,,,,156,156,156,156,156',
+'156,,,,156,156,,,,,,,,,,,,,,,,,,,,,,,,,,,,,156,156,,,,156,,156,156,154',
+'156,,154,154,154,154,154,154,154,154,154,154,,,,,154,,,154,154,,,,,154',
+',,154,154,154,154,,,,,154,154,,154,,154,154,,154,,154,154,,,,,,154,154',
+'154,154,154,154,,,,154,154,,,,,,,,,,,,,,,,,,,,,,,,,,,,,154,154,,,,154',
+',154,154,153,154,,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,,,,153,,153,153,152,153,,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,,152,152,150,152,,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,150,149',
+'150,,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,149,,,,149',
+',149,149,148,149,,148,148,148,148,148,148,148,148,148,148,,,,,148,,',
+'148,148,,,,,148,,,148,148,148,148,,,,,148,148,,148,,148,148,,148,,148',
+'148,,,,,,148,148,148,148,148,148,,,,148,148,,,,,,,,,,,,,,,,,,,,,,,,',
+',,,,148,148,,,,148,,148,148,147,148,,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,147,,,,147,147,,,,,',
+',,,,,,,,,,,,,,,,,,,,,,,147,147,,,,147,,147,147,146,147,,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,146,145',
+'146,,145,145,145,145,145,145,145,145,145,145,,,,,145,,,145,145,,,,,145',
+',,145,145,145,145,,,,,145,145,,145,,145,145,,145,,145,145,,,,,,145,145',
+'145,145,145,145,,,,145,145,,,,,,,,,,,,,,,,,,,,,,,,,,,,,145,145,,,,145',
+',145,145,310,145,,310,310,310,310,310,310,310,310,310,310,,,,,310,,',
+'310,310,,,,,310,,,310,310,310,310,,,,,310,310,,310,,310,310,,310,,310',
+'310,,,,,,310,310,310,310,310,310,,,,310,310,,,,,,,,,,,,,,,,,,,,,,,,',
+',,,,310,310,,,,310,,310,310,105,310,,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,,105,105,144,105,,144,144,144',
+'144,144,144,144,144,144,144,,,,,144,,,144,144,,,,,144,,,144,144,144',
+'144,,,,,144,144,,144,,144,144,,144,,144,144,,,,,,144,144,144,144,144',
+'144,,,,144,144,,,,,,,,,,,,,,,,,,,,,,,,,,,,,144,144,,,,144,,144,144,143',
+'144,,143,143,143,143,143,143,143,143,143,143,,,,,143,,,143,143,,,,,143',
+',,143,143,143,143,,,,,143,143,,143,,143,143,,143,,143,143,,,,,,143,143',
+'143,143,143,143,,,,143,143,,,,,,,,,,,,,,,,,,,,,,,,,,,,,143,143,,,,143',
+',143,143,142,143,,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,142,,,,,,,,,,,,,,,,,,,,,,,,',
+',,,,142,142,,,,142,,142,142,113,142,,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,,,,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,,114,114,141',
+'114,,141,141,141,141,141,141,141,141,141,141,,,,,141,,,141,141,,,,,141',
+',,141,141,141,141,,,,,141,141,,141,,141,141,,141,,141,141,,,,,,141,141',
+'141,141,141,141,,,,141,141,,,,,,,,,,,,,,,,,,,,,,,,,,,,,141,141,,,,141',
+',141,141,140,141,,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,140,,,,,,,,,,,,,,,,,,,,,,,,',
+',,,,140,140,,,,140,,140,140,139,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,139,,,,,',
+',,,,,,,,,,,,,,,,,,,,,,,139,139,,,,139,,139,139,138,139,,138,138,138',
+'138,138,138,138,138,138,138,,,,,138,,,138,138,,,,,138,,,138,138,138',
+'138,,,,,138,138,,138,,138,138,,138,,138,138,,,,,,138,138,138,138,138',
+'138,,,,138,138,,,,,,,,,,,,,,,,,,,,,,,,,,,,,138,138,,,,138,,138,138,136',
+'138,,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',
+',136,136,0,136,,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,,0,0,135,0,,135,135,135,135,135,135,135,135,135,135',
+',,,,135,,,135,135,,,,,135,,,135,135,135,135,,,,,135,135,,135,,135,135',
+',135,,135,135,,,,,,135,135,135,135,135,135,,,,135,135,,,,,,,,,,,,,,',
+',,,,,,,,,,,,,,135,135,,,,135,,135,135,134,135,,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,134,133,134,,133',
+'133,133,133,133,133,133,133,133,133,,,,,133,,,133,133,,,,,133,,,133',
+'133,133,133,,,,,133,133,,133,,133,133,,133,,133,133,,,,,,133,133,133',
+'133,133,133,,,,133,133,,,,,,,,,,,,,,,,,,,,,,,,,,,,,133,133,,,,133,,133',
+'133,131,133,,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,,131,131,130,131,,130,130,130,130,130,130,130,130,130,130',
+',,,,130,,,130,130,,,,,130,,,130,130,130,130,,,,,130,130,,130,,130,130',
+',130,,130,130,,,,,,130,130,130,130,130,130,,,,130,130,,,,,,,,,,,,,,',
+',,,,,,,,,,,,,,130,130,,,,130,,130,130,127,130,,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,,127,127,213,127,,213',
+'213,213,213,213,213,213,213,213,213,,,,,213,,,213,213,,,,,213,,,213',
+'213,213,213,,,,,213,213,,213,,213,213,,213,,213,213,,,315,,315,213,213',
+'213,213,213,213,,,,213,213,,,,,,,,,,,,,,,,,,,315,315,,,,315,,,,315,213',
+'213,,,,213,,213,213,315,213,,,,,,315,315,315,315,315,315,315,315,315',
+'315,315,315,315,315,315,315,315,315,315,315,315,315,315,315,315,315',
+'315,315,315,315,315,315,315,315,304,,304,,,,,,,,315,,,,,,,,,,,,,,,,',
+',,,,,304,304,,,,304,,,,304,,,,,,,,,,304,,,,,,,304,304,304,304,304,304',
'304,304,304,304,304,304,304,304,304,304,304,304,304,304,304,304,304',
-'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,218,282,,,,,,,,282,,,,,,,,,,282,,,,,,,282,282,282,282',
-'282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282',
-'282,282,282,282,282,282,282,282,282,282,281,,,,,,,,281,,,,,,,,,,281',
-',,,,,,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281',
-'281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,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,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,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,237,,,,,,,237,237,237,237',
-'237,237,237,237,237,237,237,237,237,237,237,237,237,237,237,237,237',
-'237,237,237,237,237,237,237,237,237,240,,,,,,,240,240,240,240,240,240',
-'240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240',
-'240,240,240,240,240,240,240,213,,,,,,,213,213,213,213,213,213,213,213',
-'213,213,213,213,213,213,213,213,213,213,213,213,213,213,213,213,213',
-'213,213,213,213,213,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,245,,,,,,,245,245,245,245,245,245,245,245,245,245,245,245',
-'245,245,245,245,245,245,245,245,245,245,245,245,245,245,245,245,245',
-'245' ]
- racc_action_check = arr = Array.new(9160, nil)
+'304,304,304,304,304,304,304,304,304,304,304,303,303,303,303,303,303',
+'303,303,303,303,304,,,,303,,,303,303,,,,,303,,,303,303,303,,,,,,,303',
+',303,,303,303,,303,,303,303,,,,,,303,303,303,303,303,303,,,,303,303',
+',,,,313,313,313,313,313,313,313,313,313,313,,,,,313,,,313,313,,,,,313',
+'303,303,313,313,313,303,,303,303,,303,313,,313,,313,313,,313,,313,313',
+',,,,,313,313,313,313,313,313,,,,313,313,,,,171,171,171,171,171,171,171',
+'171,171,171,,,,,,,,,,,,,,,,313,313,171,171,,313,,313,313,,313,,,,,,',
+'171,,,171,,,,,,,,,,,,,,,,,,,26,26,26,26,26,26,26,26,26,26,,,,,26,,,26',
+'26,,,,,26,,,26,26,26,26,,171,,171,171,26,171,26,,26,26,,26,,26,26,,',
+',,,26,26,26,26,26,26,,,,26,26,,,,21,21,21,21,21,21,21,21,21,21,,,,,',
+',,,,,,,,,,26,26,21,21,,26,,26,26,,26,,,,,,,21,,,21,,,215,,215,,,,,,',
+',,,,,,,,,,,,,,,,,,,,,,,215,215,,,,215,,,,215,,,,,,21,,21,21,215,21,',
+',,,,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215',
+'215,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215',
+'215,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,116',
+'116,116,116,314,,314,,,,,,,,,,,,,,,,,,,,,,,314,,,,,,,314,314,,,,314',
+',,,314,,,,,,,,,,314,,,,,,,314,314,314,314,314,314,314,314,314,314,314',
+'314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314',
+'314,314,314,314,314,314,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,223,223,223,223,238,,238,,,,,,,,,,,,,,,,,,,,,,,,,,,',
+',,238,238,,,,238,,,,238,,,,,,,,,,238,,,,,,,238,238,238,238,238,238,238',
+'238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238',
+'238,238,238,238,238,238,238,238,238,238,320,,320,,,,,,,,,,,,,,,,,,,',
+',,,320,,,,,,,320,320,,,,320,,,,320,,,,,,,,,,320,,,,,,,320,320,320,320',
+'320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320',
+'320,320,320,320,320,320,320,320,320,320,320,320,320,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,231,231,231,231,72,,72,',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,,72,72,,,,72,,,,72,,,,,,,,,,72,,,,,,,72,72',
+'72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72',
+'72,72,72,72,72,72,72,72,72,302,,302,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,302',
+'302,,,,302,,,,302,,,,,,,,,,302,,,,,,,302,302,302,302,302,302,302,302',
+'302,302,302,302,302,302,302,302,302,302,302,302,302,302,302,302,302',
+'302,302,302,302,302,302,302,302,302,301,,301,,,,,,,,,,,,,,,,,,,,,,,',
+',,,,,,301,301,,,,301,,,,301,,,,,,,,,,301,,,,,,,301,301,301,301,301,301',
+'301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301',
+'301,301,301,301,301,301,301,301,301,301,301,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,268,268,268,268,268,268,268,317,,317,,,,,,,',
+',,,,,,,,,,,,,,,,,,,,,,317,317,,,,317,,,,317,,,,,,,,,,317,,,,,,,317,317',
+'317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317',
+'317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,269,,269',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,,,269,269,,,,269,,,,269,,,,,,,,,,269,,,,',
+',,269,269,269,269,269,269,269,269,269,269,269,269,269,269,269,269,269',
+'269,269,269,269,269,269,269,269,269,269,269,269,269,269,269,269,269',
+'277,,277,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,277,277,,,,277,,,,277,,,,,,,,',
+',277,,,,,,,277,277,277,277,277,277,277,277,277,277,277,277,277,277,277',
+'277,277,277,277,277,277,277,277,277,277,277,277,277,277,277,277,277',
+'277,277,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,278',
+'278,278,278,278,199,,199,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,199,199,,,,199',
+',,,199,,,,,,,,,,199,,,,,,,199,199,199,199,199,199,199,199,199,199,199',
+'199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199',
+'199,199,199,199,199,199,295,,295,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,295,295',
+',,,295,,,,295,,,,,,,,,,295,,,,,,,295,295,295,295,295,295,295,295,295',
+'295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295',
+'295,295,295,295,295,295,295,295,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,194,194,194,194,194,194,194,194,194,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,88,88,88,88',
+'88,88,88,88,88,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,87,87,87,87,87,87,87,87,87,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,193,193,193,193,193,193,193,193,193,193,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,85,85,85,85,85,85,85,85,85,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,257,257,257,257',
+'257,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',
+'95,235,235,,,,,,,,235,,,,,,,,,,235,,,,,,,235,235,235,235,235,235,235',
+'235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235',
+'235,235,235,235,235,235,235,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,232,232,,,,,,,,232',
+',,,,,,,,,232,,,,,,,232,232,232,232,232,232,232,232,232,232,232,232,232',
+'232,232,232,232,232,232,232,232,232,232,232,232,232,232,232,232,232',
+'232,228,228,,,,,,,,228,,,,,,,,,,228,,,,,,,228,228,228,228,228,228,228',
+'228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,228',
+'228,228,228,228,228,228,228,225,,,,,,,,225,,,,,,,,,,225,,,,,,,225,225',
+'225,225,225,225,225,225,225,225,225,225,225,225,225,225,225,225,225',
+'225,225,225,225,225,225,225,225,225,225,225,225,308,,,,,,,,308,,,,,',
+',,,,308,,,,,,,308,308,308,308,308,308,308,308,308,308,308,308,308,308',
+'308,308,308,308,308,308,308,308,308,308,308,308,308,308,308,308,308',
+'285,,,,,,,,285,,,,,,,,,,285,,,,,,,285,285,285,285,285,285,285,285,285',
+'285,285,285,285,285,285,285,285,285,285,285,285,285,285,285,285,285',
+'285,285,285,285,285,284,,,,,,,,284,,,,,,,,,,284,,,,,,,284,284,284,284',
+'284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284',
+'284,284,284,284,284,284,284,284,284,284,307,,,,,,,,307,,,,,,,,,,307',
+',,,,,,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307',
+'307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,251,,,,',
+',,,,,251,,,,,,,251,251,251,251,251,251,251,251,251,251,251,251,251,251',
+'251,251,251,251,251,251,251,251,251,251,251,251,251,251,251,251,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,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,216,,,,,,,216,216,216,216',
+'216,216,216,216,216,216,216,216,216,216,216,216,216,216,216,216,216',
+'216,216,216,216,216,216,216,216,216,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,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,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,247,,,,,,,247,247,247,247,247,247,247,247,247,247,247,247',
+'247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247',
+'247' ]
+ racc_action_check = arr = Array.new(11069, nil)
idx = 0
clist.each do |str|
str.split(',', -1).each do |i|
@@ -709,345 +773,350 @@ clist = [
end
racc_action_pointer = [
- 4700, 340, nil, nil, 174, nil, 249, nil, nil, 324,
- nil, 399, 474, nil, nil, 549, nil, nil, nil, 624,
- nil, -2, 774, nil, 849, 6008, nil, 324, nil, 235,
- nil, nil, 1149, nil, 1224, 243, nil, 1374, nil, nil,
- 1449, nil, nil, 202, nil, nil, 1599, nil, nil, nil,
- nil, nil, 1674, 215, nil, nil, nil, nil, nil, 1824,
- nil, nil, 219, nil, nil, nil, 152, 203, 6272, -22,
- -2, 37, nil, 2424, nil, -38, -5, 185, 7376, 317,
- 8020, 6548, 301, 242, 399, 474, 8838, 392, 8172, nil,
- 3575, 3650, 229, 276, nil, 278, nil, nil, 210, nil,
- 231, 236, nil, 53, 8885, 71, 4400, 7008, 4550, 451,
- -2, 196, 64, 8349, 342, 64, nil, 5176, 260, 101,
- nil, 5401, 5476, 5551, 351, 3500, 1524, 1299, 999, 277,
- 699, 4175, 2975, 924, 4625, 5326, 5251, 5101, 5026, 4951,
- 4876, 4801, 5626, nil, 4475, 4325, 4250, nil, 99, 4100,
- 4025, 3950, 3875, 3800, 3725, 6074, 3425, 3350, 3275, 3200,
- 3125, 3050, nil, nil, 6130, nil, 2900, nil, nil, 91,
- nil, 219, 467, 120, 184, 232, nil, nil, 188, 74,
- 7560, 7468, nil, nil, nil, 2825, 2750, 93, 114, nil,
- 230, 2649, nil, nil, 2574, 7192, 108, -2, nil, 159,
- 163, 102, nil, nil, 6180, 133, 2499, 2349, -17, 9033,
- 6590, -7, 79, 8996, 6498, 408, 6824, -52, 8631, 4709,
- 333, 8463, 6406, 258, 6640, 8406, 5720, 6092, 8292, 6126,
- 6866, 6456, 2658, 5942, 6222, 5635, 167, 8922, 6774, -18,
- 8959, nil, 6314, 376, 8791, 9070, 6682, 483, 2, 249,
- 8232, nil, nil, nil, nil, -54, nil, -24, 150, 126,
- nil, 2274, nil, -65, nil, 7652, 8112, nil, nil, 203,
- nil, 2199, 2124, 6732, 6916, 2049, nil, 68, 89, nil,
- nil, 8743, 8687, nil, 1974, 1899, 275, nil, nil, nil,
- -2, 149, nil, nil, -50, 7744, 1749, nil, 7928, 7836,
- 5933, 5768, nil, nil, 8575, 8519, nil, 245, 37, 1074,
- 5867, 6364, 5676, nil, nil, nil, 7100, 7284, nil, nil,
- nil ]
+ 6832, 281, nil, nil, 202, 223, 406, nil, nil, 508,
+ nil, 610, 712, nil, nil, 814, nil, nil, nil, 916,
+ nil, 8038, 1120, nil, 1222, nil, 7973, nil, nil, nil,
+ 171, nil, nil, 1528, 406, nil, 11, 124, nil, 1936,
+ 2038, nil, nil, 252, nil, nil, nil, 2242, 2344, nil,
+ nil, nil, nil, nil, nil, 2446, nil, nil, nil, nil,
+ 137, 2650, nil, nil, nil, nil, nil, nil, 81, nil,
+ 156, 227, 8733, -2, 3262, 146, nil, 111, -3, 399,
+ nil, 203, nil, nil, -1, 10021, 342, 9837, 9745, 484,
+ 280, 304, 481, 10747, 204, 10141, 173, 134, 145, 178,
+ nil, nil, 10794, 100, nil, 5710, 229, 231, 236, nil,
+ nil, nil, nil, 6118, 6220, 65, 8181, 93, 164, -26,
+ -2, 10258, 329, nil, 89, 235, 320, 7444, nil, 2140,
+ 7342, 7240, 317, 7138, 7036, 6934, 6730, 232, 6628, 6526,
+ 6424, 6322, 6016, 5914, 5812, 5506, 5404, 5302, 5200, 5098,
+ 4996, nil, 4894, 4792, 4690, nil, 4588, 4486, 4384, 4282,
+ 4180, 4078, 3976, -2, 3874, 3772, 3670, 3568, 3466, 3364,
+ nil, 7909, 3160, nil, 138, nil, 249, 132, 204, nil,
+ nil, nil, nil, nil, nil, 127, 121, nil, 217, 3058,
+ 2956, 84, 91, 9929, 9653, nil, nil, nil, 74, 9469,
+ 2854, nil, nil, 2752, -44, 9, 5, -35, nil, nil,
+ nil, 101, 2548, 7546, 87, 8089, 10831, 517, 1047, 85,
+ 10905, 721, 1656, 8365, 65, 10428, 216, 1554, 10372, 415,
+ 1741, 8641, 10315, 823, 1639, 10201, 313, 1435, 8457, 925,
+ 1537, 619, 1027, 195, 10868, 1231, 297, 10979, nil, 1129,
+ 382, 10700, 10942, 1333, 1149, 508, 583, 10081, 183, nil,
+ 123, -45, 1834, 126, nil, nil, 226, nil, 9009, 9193,
+ nil, nil, -67, nil, nil, 1732, 1630, 9285, 9377, 1426,
+ 67, 79, nil, nil, 10596, 10540, nil, 1324, 1018, 200,
+ nil, nil, nil, -13, -2, 9561, 166, nil, nil, nil,
+ 304, 8917, 8825, 7778, 7689, nil, nil, 10652, 10484, nil,
+ 5608, 82, 256, 7844, 8273, 7597, nil, 9101, nil, nil,
+ 8549, nil, nil, nil ]
racc_action_default = [
- -1, -183, -97, -10, -183, -106, -183, -98, -11, -183,
- -107, -183, -183, -26, -12, -183, -108, -27, -13, -183,
- -109, -183, -183, -14, -183, -46, -15, -125, -28, -119,
- -16, -29, -183, -31, -138, -183, -17, -183, -35, -18,
- -183, -127, -36, -183, -34, -19, -183, -37, -20, -47,
- -21, -38, -183, -183, -30, -22, -39, -32, -2, -183,
- -23, -40, -3, -105, -104, -33, -183, -183, -5, -183,
- -8, -176, -9, -183, -99, -101, -183, -48, -155, -49,
- -183, -183, -53, -55, -183, -126, -56, -54, -45, -130,
- -138, -183, -183, -183, -111, -183, -115, -116, -183, -44,
- -183, -119, -120, -183, -57, -183, -183, -139, -138, -51,
- -183, -183, -50, -152, -183, -183, -25, -7, -159, -183,
- -4, -183, -183, -183, -183, -183, -183, -183, -183, -183,
- -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
- -183, -183, -183, -59, -183, -183, -183, -58, -183, -183,
- -183, -183, -183, -183, -183, -94, -183, -183, -183, -183,
- -183, -183, -96, -129, -183, -110, -183, -178, -180, -183,
- -174, -176, -52, -183, -183, -183, -154, -172, -183, -183,
- -139, -183, -112, -113, -114, -183, -183, -183, -183, -118,
- -183, -183, -137, -145, -183, -140, -183, -183, -153, -148,
- -183, -183, 321, -24, -6, -183, -183, -183, -183, -87,
- -75, -64, -183, -88, -76, -65, -181, -183, -93, -77,
- -66, -89, -78, -67, -182, -90, -79, -68, -91, -80,
- -69, -156, -81, -70, -82, -71, -60, -84, -72, -61,
- -85, -83, -73, -62, -92, -86, -74, -63, -128, -183,
- -41, -177, -173, -179, -175, -183, -100, -183, -183, -183,
- -167, -183, -131, -183, -117, -42, -43, -124, -121, -183,
- -122, -183, -183, -141, -142, -183, -132, -183, -183, -149,
- -160, -161, -162, -158, -183, -183, -157, -103, -102, -95,
- -183, -183, -168, -165, -183, -146, -183, -123, -143, -144,
- -103, -183, -150, -151, -164, -163, -171, -183, -169, -183,
- -103, -183, -183, -133, -166, -170, -147, -183, -135, -134,
- -136 ]
+ -1, -186, -97, -9, -186, -179, -186, -98, -10, -186,
+ -106, -186, -186, -26, -11, -186, -107, -27, -12, -186,
+ -108, -186, -186, -13, -186, -109, -46, -14, -110, -28,
+ -120, -15, -29, -186, -126, -31, -134, -186, -16, -141,
+ -186, -35, -17, -186, -36, -34, -18, -186, -186, -37,
+ -19, -47, -20, -128, -38, -186, -30, -21, -39, -32,
+ -186, -186, -22, -40, -2, -23, -104, -33, -186, -105,
+ -3, -186, -5, -8, -186, -186, -99, -101, -186, -48,
+ -177, -179, -181, -183, -186, -158, -49, -186, -186, -53,
+ -55, -186, -127, -56, -54, -45, -186, -186, -186, -120,
+ -44, -121, -57, -141, -131, -186, -186, -186, -186, -112,
+ -116, -117, -135, -141, -186, -186, -142, -51, -186, -50,
+ -186, -155, -186, -25, -186, -162, -186, -7, -4, -186,
+ -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
+ -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
+ -186, -59, -186, -186, -186, -58, -186, -186, -186, -186,
+ -186, -186, -186, -94, -186, -186, -186, -186, -186, -186,
+ -130, -186, -186, -111, -52, -96, -186, -186, -186, -178,
+ -182, -180, -176, -157, -175, -186, -186, -119, -186, -186,
+ -186, -186, -186, -142, -186, -113, -114, -115, -186, -143,
+ -186, -140, -148, -186, -186, -151, -186, -186, -156, 324,
+ -24, -186, -186, -186, -186, -6, -87, -75, -64, -186,
+ -88, -76, -65, -184, -186, -93, -77, -66, -89, -78,
+ -67, -185, -90, -79, -68, -91, -80, -69, -159, -81,
+ -70, -82, -71, -60, -84, -72, -61, -85, -83, -73,
+ -62, -92, -86, -74, -63, -129, -186, -41, -186, -100,
+ -186, -186, -186, -186, -170, -122, -186, -123, -42, -43,
+ -125, -132, -186, -118, -133, -186, -186, -144, -145, -186,
+ -186, -186, -152, -163, -164, -165, -161, -186, -186, -160,
+ -103, -102, -95, -186, -186, -149, -186, -168, -171, -124,
+ -186, -147, -146, -103, -186, -153, -154, -167, -166, -174,
+ -186, -172, -186, -103, -186, -186, -136, -150, -173, -169,
+ -186, -138, -137, -139 ]
racc_goto_table = [
- 58, 74, 260, 208, 67, 167, 165, 163, 77, 170,
- 78, 62, 268, 79, 270, 80, 81, 99, 105, 82,
- 165, 163, 119, 83, 84, 85, 86, 103, 87, 88,
- 53, 294, 259, 199, 252, 257, 104, 171, 107, 76,
- 168, 109, nil, nil, 110, nil, nil, 111, nil, nil,
- 112, nil, nil, nil, nil, nil, 113, nil, nil, nil,
- nil, nil, 117, nil, nil, nil, nil, 120, nil, nil,
- 115, nil, nil, 162, 179, nil, nil, 172, nil, nil,
- 212, nil, 176, 292, 177, nil, nil, nil, nil, 99,
- nil, nil, 197, 297, 180, 181, 286, nil, nil, 187,
- nil, nil, nil, 190, nil, 253, nil, nil, nil, 254,
- 195, nil, 180, nil, 306, 117, nil, nil, nil, nil,
- nil, 204, nil, nil, nil, 209, 210, 211, nil, 213,
- 214, 215, 216, nil, 218, 219, 220, 221, 222, 223,
- 224, 225, 226, 227, 228, 229, 230, nil, 231, 232,
- 233, nil, 234, 235, 236, 237, 238, 239, 240, 241,
- 242, 243, 244, 245, 246, 247, 258, 248, 249, nil,
- 250, nil, nil, 251, 256, nil, 99, nil, 99, nil,
- nil, nil, nil, nil, 165, 163, nil, 190, 269, 265,
- 266, 271, nil, nil, nil, 273, nil, nil, 274, nil,
- nil, nil, nil, nil, nil, 279, nil, nil, nil, nil,
- 281, 282, 283, nil, nil, nil, nil, nil, nil, nil,
+ 64, 173, 170, 71, 76, 264, 214, 79, 91, 85,
+ 80, 265, 86, 267, 87, 88, 126, 82, 89, 173,
+ 170, 115, 90, 100, 92, 93, 60, 94, 96, 95,
+ 294, 263, 205, 70, 182, 260, 102, 81, 78, 83,
+ nil, nil, 116, 117, nil, nil, 118, nil, nil, nil,
+ 119, 120, nil, nil, nil, nil, nil, nil, 121, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ 127, 128, nil, nil, nil, nil, nil, 174, 175, nil,
+ 219, nil, nil, 298, nil, 192, 179, 181, 183, nil,
+ 184, 299, 100, 180, 124, 198, 188, 191, nil, 289,
+ nil, nil, nil, nil, nil, nil, 193, nil, 194, nil,
+ nil, nil, nil, 309, nil, nil, 193, 199, nil, nil,
+ nil, nil, nil, nil, 127, nil, nil, nil, nil, nil,
+ 215, nil, 216, 217, 218, nil, 220, 221, 222, 223,
+ nil, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, 236, 237, nil, 238, 239, 240, 255, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, nil, 256, 257, nil, nil, 261, 100,
+ 259, 100, nil, 173, 170, nil, 266, nil, nil, nil,
+ nil, 188, 268, 269, nil, nil, nil, nil, nil, nil,
+ 276, nil, nil, 277, nil, nil, 278, nil, nil, nil,
+ 282, nil, nil, nil, nil, 284, 285, 286, 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, 258, nil, nil,
- nil, nil, nil, nil, nil, nil, nil, 99, 290, nil,
- nil, 289, nil, nil, nil, 295, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, 298, 299, nil, 258, 301,
- nil, 302, 303, nil, nil, nil, nil, nil, 304, 305,
- nil, nil, nil, nil, nil, 307, nil, nil, 308, nil,
- 311, nil, nil, nil, 312, nil, nil, nil, 315, nil,
- nil, nil, nil, 316, 317 ]
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, 261, nil, nil, 100,
+ nil, 293, nil, 292, nil, 295, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, 301, 302,
+ nil, nil, 304, 305, 306, nil, 261, nil, nil, nil,
+ 307, 308, nil, nil, nil, nil, nil, 311, nil, 312,
+ nil, nil, nil, 314, nil, nil, 315, nil, nil, nil,
+ nil, 318, nil, 317, nil, nil, 320 ]
racc_goto_check = [
- 2, 26, 44, 42, 4, 48, 31, 37, 5, 46,
- 5, 3, 23, 5, 23, 5, 5, 21, 38, 5,
- 31, 37, 41, 5, 6, 32, 5, 35, 5, 5,
- 1, 39, 43, 40, 45, 25, 5, 47, 5, 24,
- 49, 5, nil, nil, 5, nil, nil, 4, nil, nil,
- 5, nil, nil, nil, nil, nil, 5, nil, nil, nil,
- nil, nil, 2, nil, nil, nil, nil, 2, nil, nil,
- 3, nil, nil, 4, 38, nil, nil, 5, nil, nil,
- 41, nil, 4, 44, 4, nil, nil, nil, nil, 21,
- nil, nil, 38, 23, 5, 5, 42, nil, nil, 35,
- nil, nil, nil, 2, nil, 48, nil, nil, nil, 46,
- 5, nil, 5, nil, 44, 2, nil, nil, nil, nil,
- nil, 5, nil, nil, nil, 5, 5, 5, nil, 5,
- 5, 5, 5, nil, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, nil, 5, 5,
- 5, nil, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 21, 6, 32, nil,
- 5, nil, nil, 4, 26, nil, 21, nil, 21, nil,
- nil, nil, nil, nil, 31, 37, nil, 2, 2, 5,
- 5, 2, nil, nil, nil, 5, nil, nil, 5, nil,
- nil, nil, nil, nil, nil, 4, nil, nil, nil, nil,
- 5, 5, 4, nil, nil, nil, nil, nil, nil, nil,
+ 2, 32, 38, 4, 26, 45, 43, 5, 6, 5,
+ 47, 23, 5, 23, 5, 5, 42, 49, 5, 32,
+ 38, 39, 5, 21, 33, 5, 1, 5, 36, 5,
+ 40, 44, 41, 3, 46, 25, 5, 48, 24, 50,
+ nil, nil, 5, 5, nil, nil, 4, nil, nil, nil,
+ 5, 5, nil, nil, nil, nil, nil, nil, 5, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ 2, 2, nil, nil, nil, nil, nil, 5, 4, nil,
+ 42, nil, nil, 45, nil, 39, 47, 4, 4, nil,
+ 4, 23, 21, 49, 3, 39, 2, 36, nil, 43,
+ nil, nil, nil, nil, nil, nil, 5, nil, 5, nil,
+ nil, nil, nil, 45, nil, nil, 5, 5, nil, nil,
+ nil, nil, nil, nil, 2, nil, nil, nil, nil, nil,
+ 5, nil, 5, 5, 5, nil, 5, 5, 5, 5,
+ nil, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, nil, 5, 5, 5, 6, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, nil, 33, 5, nil, nil, 21, 21,
+ 26, 21, nil, 32, 38, nil, 2, nil, nil, nil,
+ nil, 2, 5, 5, nil, nil, nil, nil, nil, nil,
+ 2, nil, nil, 5, nil, nil, 5, nil, nil, nil,
+ 4, nil, nil, nil, nil, 5, 5, 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, 21, nil, nil,
- nil, nil, nil, nil, nil, nil, nil, 21, 2, nil,
- nil, 4, nil, nil, nil, 5, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, 5, 5, nil, 21, 5,
- nil, 4, 4, nil, nil, nil, nil, nil, 5, 5,
- nil, nil, nil, nil, nil, 4, nil, nil, 4, nil,
- 5, nil, nil, nil, 5, nil, nil, nil, 2, nil,
- nil, nil, nil, 5, 5 ]
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, 21, nil, nil, 21,
+ nil, 2, nil, 4, nil, 5, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, 5, 5,
+ nil, nil, 5, 4, 4, nil, 21, nil, nil, nil,
+ 5, 5, nil, nil, nil, nil, nil, 4, nil, 4,
+ nil, nil, nil, 5, nil, nil, 5, nil, nil, nil,
+ nil, 2, nil, 5, nil, nil, 5 ]
racc_goto_pointer = [
- nil, 30, 0, 11, 4, 4, 3, nil, nil, nil,
+ nil, 26, 0, 33, 3, 3, -13, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, -12, nil, -176, 38, -140, 0, nil, nil, nil,
- nil, -64, 4, nil, nil, -2, nil, -63, -16, -230,
- -78, -44, -116, -146, -176, -135, -62, -34, -66, -31 ]
+ nil, -7, nil, -175, 37, -143, 3, nil, nil, nil,
+ nil, nil, -72, 3, nil, nil, -2, nil, -71, -18,
+ -232, -86, -52, -120, -154, -180, -50, 5, 32, 12,
+ 34 ]
racc_goto_default = [
- nil, nil, 194, nil, nil, 68, 70, 72, 3, 8,
- 14, 18, 23, 26, 30, 36, 39, 45, 48, 50,
- 55, 60, 63, 102, nil, 69, nil, 5, 10, 16,
- 20, 94, 27, 96, 97, nil, 41, 89, nil, nil,
- nil, nil, nil, nil, nil, 71, nil, nil, nil, nil ]
+ nil, nil, 203, nil, nil, 72, 73, 3, 8, 14,
+ 18, 23, 27, 31, 38, 42, 46, 50, 52, 57,
+ 62, 65, 69, 101, nil, 75, nil, 10, 16, 20,
+ 25, 28, 109, 34, 110, 111, nil, 53, 104, nil,
+ nil, nil, nil, nil, nil, nil, 5, nil, nil, nil,
+ nil ]
racc_reduce_table = [
0, 0, :racc_error,
- 0, 107, :_reduce_1,
- 1, 107, :_reduce_2,
- 1, 107, :_reduce_3,
- 2, 107, :_reduce_4,
- 1, 109, :_reduce_5,
- 3, 109, :_reduce_6,
- 2, 109, :_reduce_7,
- 1, 111, :_reduce_none,
- 1, 111, :_reduce_none,
- 1, 111, :_reduce_none,
- 1, 111, :_reduce_none,
- 1, 111, :_reduce_none,
- 1, 111, :_reduce_none,
- 1, 111, :_reduce_none,
- 1, 111, :_reduce_none,
- 1, 111, :_reduce_none,
- 1, 111, :_reduce_none,
- 1, 111, :_reduce_none,
- 1, 111, :_reduce_none,
- 1, 111, :_reduce_none,
- 1, 111, :_reduce_none,
- 1, 111, :_reduce_none,
- 1, 111, :_reduce_none,
- 3, 110, :_reduce_24,
- 2, 110, :_reduce_25,
- 1, 108, :_reduce_none,
- 1, 108, :_reduce_none,
- 1, 128, :_reduce_28,
- 1, 128, :_reduce_29,
- 1, 128, :_reduce_30,
- 1, 128, :_reduce_31,
- 1, 128, :_reduce_32,
- 1, 128, :_reduce_33,
- 1, 128, :_reduce_34,
- 1, 128, :_reduce_35,
- 1, 128, :_reduce_36,
- 1, 128, :_reduce_37,
- 1, 128, :_reduce_38,
- 1, 128, :_reduce_39,
- 1, 128, :_reduce_40,
- 3, 116, :_reduce_41,
- 3, 129, :_reduce_42,
- 3, 129, :_reduce_43,
- 1, 129, :_reduce_44,
- 2, 120, :_reduce_45,
- 1, 120, :_reduce_46,
- 1, 127, :_reduce_47,
- 2, 115, :_reduce_48,
- 2, 115, :_reduce_49,
- 2, 115, :_reduce_50,
- 2, 115, :_reduce_51,
- 2, 115, :_reduce_52,
- 2, 115, :_reduce_53,
- 2, 115, :_reduce_54,
- 2, 115, :_reduce_55,
- 2, 115, :_reduce_56,
- 2, 115, :_reduce_57,
- 2, 115, :_reduce_58,
- 2, 115, :_reduce_59,
- 3, 115, :_reduce_60,
- 3, 115, :_reduce_61,
- 3, 115, :_reduce_62,
- 3, 115, :_reduce_63,
- 3, 115, :_reduce_64,
- 3, 115, :_reduce_65,
- 3, 115, :_reduce_66,
- 3, 115, :_reduce_67,
- 3, 115, :_reduce_68,
- 3, 115, :_reduce_69,
- 3, 115, :_reduce_70,
- 3, 115, :_reduce_71,
- 3, 115, :_reduce_72,
- 3, 115, :_reduce_73,
- 3, 115, :_reduce_74,
- 3, 115, :_reduce_75,
- 3, 115, :_reduce_76,
- 3, 115, :_reduce_77,
- 3, 115, :_reduce_78,
- 3, 115, :_reduce_79,
- 3, 115, :_reduce_80,
- 3, 115, :_reduce_81,
- 3, 115, :_reduce_82,
- 3, 115, :_reduce_83,
- 3, 115, :_reduce_84,
- 3, 115, :_reduce_85,
- 3, 115, :_reduce_86,
- 3, 115, :_reduce_87,
- 3, 115, :_reduce_88,
- 3, 115, :_reduce_89,
- 3, 115, :_reduce_90,
- 3, 115, :_reduce_91,
- 3, 115, :_reduce_92,
- 3, 115, :_reduce_93,
- 2, 126, :_reduce_94,
- 5, 114, :_reduce_95,
- 2, 114, :_reduce_96,
- 1, 131, :_reduce_97,
- 1, 131, :_reduce_98,
- 1, 130, :_reduce_99,
- 3, 130, :_reduce_100,
- 1, 132, :_reduce_none,
- 4, 132, :_reduce_102,
- 4, 125, :_reduce_103,
- 1, 112, :_reduce_104,
- 1, 112, :_reduce_105,
- 1, 112, :_reduce_106,
- 1, 112, :_reduce_107,
- 1, 112, :_reduce_108,
- 1, 112, :_reduce_109,
- 2, 112, :_reduce_110,
- 2, 112, :_reduce_111,
- 2, 137, :_reduce_112,
- 2, 137, :_reduce_113,
- 2, 137, :_reduce_114,
- 1, 137, :_reduce_115,
- 1, 137, :_reduce_116,
- 3, 139, :_reduce_117,
- 3, 134, :_reduce_118,
- 0, 141, :_reduce_119,
- 1, 141, :_reduce_120,
- 3, 141, :_reduce_121,
- 3, 141, :_reduce_122,
- 4, 141, :_reduce_123,
- 3, 141, :_reduce_124,
- 1, 113, :_reduce_125,
- 2, 113, :_reduce_126,
- 1, 113, :_reduce_127,
- 3, 124, :_reduce_128,
- 2, 138, :_reduce_129,
- 2, 138, :_reduce_130,
- 3, 143, :_reduce_131,
- 4, 142, :_reduce_132,
- 6, 136, :_reduce_133,
- 7, 136, :_reduce_134,
- 6, 140, :_reduce_135,
- 7, 140, :_reduce_136,
- 3, 133, :_reduce_137,
- 0, 144, :_reduce_138,
- 1, 144, :_reduce_139,
- 2, 144, :_reduce_140,
- 3, 144, :_reduce_141,
- 3, 144, :_reduce_142,
- 4, 144, :_reduce_143,
- 4, 144, :_reduce_144,
- 2, 144, :_reduce_145,
- 1, 145, :_reduce_146,
- 3, 145, :_reduce_147,
- 3, 118, :_reduce_148,
- 4, 118, :_reduce_149,
- 5, 118, :_reduce_150,
- 3, 146, :_reduce_151,
- 2, 119, :_reduce_152,
- 3, 135, :_reduce_153,
- 3, 121, :_reduce_154,
- 2, 121, :_reduce_155,
- 3, 121, :_reduce_156,
- 4, 122, :_reduce_157,
- 4, 122, :_reduce_158,
- 1, 147, :_reduce_159,
- 3, 147, :_reduce_160,
- 2, 148, :_reduce_161,
- 2, 148, :_reduce_162,
- 3, 148, :_reduce_163,
- 3, 148, :_reduce_164,
- 5, 123, :_reduce_165,
- 7, 123, :_reduce_166,
- 1, 149, :_reduce_167,
- 2, 149, :_reduce_168,
- 3, 150, :_reduce_169,
- 4, 150, :_reduce_170,
- 3, 150, :_reduce_171,
- 3, 151, :_reduce_172,
- 2, 152, :_reduce_173,
- 1, 153, :_reduce_174,
- 2, 153, :_reduce_175,
- 0, 154, :_reduce_176,
- 2, 154, :_reduce_177,
- 1, 155, :_reduce_178,
- 2, 155, :_reduce_179,
- 2, 117, :_reduce_180,
- 3, 117, :_reduce_181,
- 3, 117, :_reduce_182 ]
+ 0, 108, :_reduce_1,
+ 1, 108, :_reduce_2,
+ 1, 108, :_reduce_3,
+ 2, 108, :_reduce_4,
+ 1, 110, :_reduce_5,
+ 3, 110, :_reduce_6,
+ 2, 110, :_reduce_7,
+ 1, 112, :_reduce_none,
+ 1, 112, :_reduce_none,
+ 1, 112, :_reduce_none,
+ 1, 112, :_reduce_none,
+ 1, 112, :_reduce_none,
+ 1, 112, :_reduce_none,
+ 1, 112, :_reduce_none,
+ 1, 112, :_reduce_none,
+ 1, 112, :_reduce_none,
+ 1, 112, :_reduce_none,
+ 1, 112, :_reduce_none,
+ 1, 112, :_reduce_none,
+ 1, 112, :_reduce_none,
+ 1, 112, :_reduce_none,
+ 1, 112, :_reduce_none,
+ 1, 112, :_reduce_none,
+ 3, 111, :_reduce_24,
+ 2, 111, :_reduce_25,
+ 1, 109, :_reduce_none,
+ 1, 109, :_reduce_none,
+ 1, 129, :_reduce_28,
+ 1, 129, :_reduce_29,
+ 1, 129, :_reduce_30,
+ 1, 129, :_reduce_31,
+ 1, 129, :_reduce_32,
+ 1, 129, :_reduce_33,
+ 1, 129, :_reduce_34,
+ 1, 129, :_reduce_35,
+ 1, 129, :_reduce_36,
+ 1, 129, :_reduce_37,
+ 1, 129, :_reduce_38,
+ 1, 129, :_reduce_39,
+ 1, 129, :_reduce_40,
+ 3, 117, :_reduce_41,
+ 3, 130, :_reduce_42,
+ 3, 130, :_reduce_43,
+ 1, 130, :_reduce_44,
+ 2, 121, :_reduce_45,
+ 1, 121, :_reduce_46,
+ 1, 128, :_reduce_47,
+ 2, 116, :_reduce_48,
+ 2, 116, :_reduce_49,
+ 2, 116, :_reduce_50,
+ 2, 116, :_reduce_51,
+ 2, 116, :_reduce_52,
+ 2, 116, :_reduce_53,
+ 2, 116, :_reduce_54,
+ 2, 116, :_reduce_55,
+ 2, 116, :_reduce_56,
+ 2, 116, :_reduce_57,
+ 2, 116, :_reduce_58,
+ 2, 116, :_reduce_59,
+ 3, 116, :_reduce_60,
+ 3, 116, :_reduce_61,
+ 3, 116, :_reduce_62,
+ 3, 116, :_reduce_63,
+ 3, 116, :_reduce_64,
+ 3, 116, :_reduce_65,
+ 3, 116, :_reduce_66,
+ 3, 116, :_reduce_67,
+ 3, 116, :_reduce_68,
+ 3, 116, :_reduce_69,
+ 3, 116, :_reduce_70,
+ 3, 116, :_reduce_71,
+ 3, 116, :_reduce_72,
+ 3, 116, :_reduce_73,
+ 3, 116, :_reduce_74,
+ 3, 116, :_reduce_75,
+ 3, 116, :_reduce_76,
+ 3, 116, :_reduce_77,
+ 3, 116, :_reduce_78,
+ 3, 116, :_reduce_79,
+ 3, 116, :_reduce_80,
+ 3, 116, :_reduce_81,
+ 3, 116, :_reduce_82,
+ 3, 116, :_reduce_83,
+ 3, 116, :_reduce_84,
+ 3, 116, :_reduce_85,
+ 3, 116, :_reduce_86,
+ 3, 116, :_reduce_87,
+ 3, 116, :_reduce_88,
+ 3, 116, :_reduce_89,
+ 3, 116, :_reduce_90,
+ 3, 116, :_reduce_91,
+ 3, 116, :_reduce_92,
+ 3, 116, :_reduce_93,
+ 2, 127, :_reduce_94,
+ 5, 115, :_reduce_95,
+ 2, 115, :_reduce_96,
+ 1, 132, :_reduce_97,
+ 1, 132, :_reduce_98,
+ 1, 131, :_reduce_99,
+ 3, 131, :_reduce_100,
+ 1, 133, :_reduce_none,
+ 4, 133, :_reduce_102,
+ 4, 126, :_reduce_103,
+ 1, 113, :_reduce_104,
+ 1, 113, :_reduce_105,
+ 1, 113, :_reduce_106,
+ 1, 113, :_reduce_107,
+ 1, 113, :_reduce_108,
+ 1, 113, :_reduce_109,
+ 1, 113, :_reduce_110,
+ 2, 113, :_reduce_111,
+ 2, 113, :_reduce_112,
+ 2, 139, :_reduce_113,
+ 2, 139, :_reduce_114,
+ 2, 139, :_reduce_115,
+ 1, 139, :_reduce_116,
+ 1, 139, :_reduce_117,
+ 3, 141, :_reduce_118,
+ 3, 135, :_reduce_119,
+ 0, 143, :_reduce_120,
+ 1, 143, :_reduce_121,
+ 3, 143, :_reduce_122,
+ 3, 143, :_reduce_123,
+ 4, 143, :_reduce_124,
+ 3, 143, :_reduce_125,
+ 1, 114, :_reduce_126,
+ 2, 114, :_reduce_127,
+ 1, 114, :_reduce_128,
+ 3, 125, :_reduce_129,
+ 2, 140, :_reduce_130,
+ 2, 140, :_reduce_131,
+ 3, 145, :_reduce_132,
+ 4, 144, :_reduce_133,
+ 1, 138, :_reduce_134,
+ 2, 138, :_reduce_135,
+ 6, 137, :_reduce_136,
+ 7, 137, :_reduce_137,
+ 6, 142, :_reduce_138,
+ 7, 142, :_reduce_139,
+ 3, 134, :_reduce_140,
+ 0, 146, :_reduce_141,
+ 1, 146, :_reduce_142,
+ 2, 146, :_reduce_143,
+ 3, 146, :_reduce_144,
+ 3, 146, :_reduce_145,
+ 4, 146, :_reduce_146,
+ 4, 146, :_reduce_147,
+ 2, 146, :_reduce_148,
+ 1, 147, :_reduce_149,
+ 3, 147, :_reduce_150,
+ 3, 119, :_reduce_151,
+ 4, 119, :_reduce_152,
+ 5, 119, :_reduce_153,
+ 3, 148, :_reduce_154,
+ 2, 120, :_reduce_155,
+ 3, 136, :_reduce_156,
+ 3, 122, :_reduce_157,
+ 2, 122, :_reduce_158,
+ 3, 122, :_reduce_159,
+ 4, 123, :_reduce_160,
+ 4, 123, :_reduce_161,
+ 1, 149, :_reduce_162,
+ 3, 149, :_reduce_163,
+ 2, 150, :_reduce_164,
+ 2, 150, :_reduce_165,
+ 3, 150, :_reduce_166,
+ 3, 150, :_reduce_167,
+ 5, 124, :_reduce_168,
+ 7, 124, :_reduce_169,
+ 1, 151, :_reduce_170,
+ 2, 151, :_reduce_171,
+ 3, 152, :_reduce_172,
+ 4, 152, :_reduce_173,
+ 3, 152, :_reduce_174,
+ 3, 153, :_reduce_175,
+ 2, 154, :_reduce_176,
+ 1, 155, :_reduce_177,
+ 2, 155, :_reduce_178,
+ 0, 156, :_reduce_179,
+ 2, 156, :_reduce_180,
+ 1, 157, :_reduce_181,
+ 2, 157, :_reduce_182,
+ 2, 118, :_reduce_183,
+ 3, 118, :_reduce_184,
+ 3, 118, :_reduce_185 ]
-racc_reduce_n = 183
+racc_reduce_n = 186
-racc_shift_n = 321
+racc_shift_n = 324
racc_token_table = {
false => 0,
@@ -1152,12 +1221,13 @@ racc_token_table = {
"," => 99,
"{" => 100,
"}" => 101,
- "[" => 102,
- "]" => 103,
- "(" => 104,
- ")" => 105 }
+ "@" => 102,
+ "[" => 103,
+ "]" => 104,
+ "(" => 105,
+ ")" => 106 }
-racc_nt_base = 106
+racc_nt_base = 107
racc_use_result_var = true
@@ -1280,6 +1350,7 @@ Racc_token_to_s_table = [
"\",\"",
"\"{\"",
"\"}\"",
+ "\"@\"",
"\"[\"",
"\"]\"",
"\"(\"",
@@ -1315,6 +1386,7 @@ Racc_token_to_s_table = [
"Object",
"Parenthetical",
"Range",
+ "This",
"Accessor",
"Invocation",
"Index",
@@ -2011,84 +2083,84 @@ module_eval(<<'.,.,', 'grammar.y', 239)
module_eval(<<'.,.,', 'grammar.y', 240)
def _reduce_110(val, _values, result)
- result = val[0] << val[1]
+ result = ValueNode.new(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 241)
def _reduce_111(val, _values, result)
- result = ValueNode.new(val[0], [val[1]])
+ result = val[0] << val[1]
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 246)
+module_eval(<<'.,.,', 'grammar.y', 242)
def _reduce_112(val, _values, result)
- result = AccessorNode.new(val[1])
+ result = ValueNode.new(val[0], [val[1]])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 247)
def _reduce_113(val, _values, result)
- result = AccessorNode.new(val[1], :prototype)
+ result = AccessorNode.new(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 248)
def _reduce_114(val, _values, result)
- result = AccessorNode.new(val[1], :soak)
+ result = AccessorNode.new(val[1], :prototype)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 249)
def _reduce_115(val, _values, result)
- result = val[0]
+ result = AccessorNode.new(val[1], :soak)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 250)
def _reduce_116(val, _values, result)
+ result = val[0]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'grammar.y', 251)
+ def _reduce_117(val, _values, result)
result = SliceNode.new(val[0])
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 255)
- def _reduce_117(val, _values, result)
+module_eval(<<'.,.,', 'grammar.y', 256)
+ def _reduce_118(val, _values, result)
result = IndexNode.new(val[1])
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 260)
- def _reduce_118(val, _values, result)
- result = ObjectNode.new(val[1])
- result
- end
-.,.,
-
-module_eval(<<'.,.,', 'grammar.y', 265)
+module_eval(<<'.,.,', 'grammar.y', 261)
def _reduce_119(val, _values, result)
- result = []
+ result = ObjectNode.new(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 266)
def _reduce_120(val, _values, result)
- result = val
+ result = []
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 267)
def _reduce_121(val, _values, result)
- result = val[0] << val[2]
+ result = val
result
end
.,.,
@@ -2100,51 +2172,51 @@ module_eval(<<'.,.,', 'grammar.y', 268)
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 270)
+module_eval(<<'.,.,', 'grammar.y', 269)
def _reduce_123(val, _values, result)
- result = val[0] << val[3]
+ result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 271)
def _reduce_124(val, _values, result)
- result = val[1]
+ result = val[0] << val[3]
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 276)
+module_eval(<<'.,.,', 'grammar.y', 272)
def _reduce_125(val, _values, result)
- result = val[0]
+ result = val[1]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 277)
def _reduce_126(val, _values, result)
- result = val[1].new_instance
+ result = val[0]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 278)
def _reduce_127(val, _values, result)
+ result = val[1].new_instance
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'grammar.y', 279)
+ def _reduce_128(val, _values, result)
result = val[0]
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 283)
- def _reduce_128(val, _values, result)
- result = ExtendsNode.new(val[0], val[2])
- result
- end
-.,.,
-
-module_eval(<<'.,.,', 'grammar.y', 288)
+module_eval(<<'.,.,', 'grammar.y', 284)
def _reduce_129(val, _values, result)
- result = CallNode.new(val[0], val[1])
+ result = ExtendsNode.new(val[0], val[2])
result
end
.,.,
@@ -2156,365 +2228,386 @@ module_eval(<<'.,.,', 'grammar.y', 289)
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 294)
+module_eval(<<'.,.,', 'grammar.y', 290)
def _reduce_131(val, _values, result)
+ result = CallNode.new(val[0], val[1])
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'grammar.y', 295)
+ def _reduce_132(val, _values, result)
result = val[1]
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 299)
- def _reduce_132(val, _values, result)
+module_eval(<<'.,.,', 'grammar.y', 300)
+ def _reduce_133(val, _values, result)
result = CallNode.new(Value.new('super'), val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 305)
- def _reduce_133(val, _values, result)
- result = RangeNode.new(val[1], val[4])
- result
- end
-.,.,
-
-module_eval(<<'.,.,', 'grammar.y', 307)
def _reduce_134(val, _values, result)
- result = RangeNode.new(val[1], val[5], true)
+ result = ThisNode.new
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 313)
+module_eval(<<'.,.,', 'grammar.y', 306)
def _reduce_135(val, _values, result)
+ result = ThisNode.new(val[1])
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'grammar.y', 312)
+ def _reduce_136(val, _values, result)
result = RangeNode.new(val[1], val[4])
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 315)
- def _reduce_136(val, _values, result)
+module_eval(<<'.,.,', 'grammar.y', 314)
+ def _reduce_137(val, _values, result)
result = RangeNode.new(val[1], val[5], true)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 320)
- def _reduce_137(val, _values, result)
- result = ArrayNode.new(val[1])
- result
- end
-.,.,
-
-module_eval(<<'.,.,', 'grammar.y', 325)
def _reduce_138(val, _values, result)
- result = []
+ result = RangeNode.new(val[1], val[4])
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 326)
+module_eval(<<'.,.,', 'grammar.y', 322)
def _reduce_139(val, _values, result)
- result = val
+ result = RangeNode.new(val[1], val[5], true)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 327)
def _reduce_140(val, _values, result)
- result = [val[1]]
- result
- end
-.,.,
-
-module_eval(<<'.,.,', 'grammar.y', 328)
- def _reduce_141(val, _values, result)
- result = val[0] << val[2]
- result
- end
-.,.,
-
-module_eval(<<'.,.,', 'grammar.y', 329)
- def _reduce_142(val, _values, result)
- result = val[0] << val[2]
- result
- end
-.,.,
-
-module_eval(<<'.,.,', 'grammar.y', 330)
- def _reduce_143(val, _values, result)
- result = val[0] << val[3]
- result
- end
-.,.,
-
-module_eval(<<'.,.,', 'grammar.y', 331)
- def _reduce_144(val, _values, result)
- result = val[0] << val[3]
+ result = ArrayNode.new(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 332)
+ def _reduce_141(val, _values, result)
+ result = []
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'grammar.y', 333)
+ def _reduce_142(val, _values, result)
+ result = val
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'grammar.y', 334)
+ def _reduce_143(val, _values, result)
+ result = [val[1]]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'grammar.y', 335)
+ def _reduce_144(val, _values, result)
+ result = val[0] << val[2]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'grammar.y', 336)
def _reduce_145(val, _values, result)
- result = val[0]
+ result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 337)
def _reduce_146(val, _values, result)
- result = val[0]
+ result = val[0] << val[3]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 338)
def _reduce_147(val, _values, result)
- result = ([val[0]] << val[2]).flatten
+ result = val[0] << val[3]
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 343)
+module_eval(<<'.,.,', 'grammar.y', 339)
def _reduce_148(val, _values, result)
- result = TryNode.new(val[1], val[2][0], val[2][1])
+ result = val[0]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 344)
def _reduce_149(val, _values, result)
- result = TryNode.new(val[1], nil, nil, val[3])
+ result = val[0]
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 346)
+module_eval(<<'.,.,', 'grammar.y', 345)
def _reduce_150(val, _values, result)
- result = TryNode.new(val[1], val[2][0], val[2][1], val[4])
+ result = ([val[0]] << val[2]).flatten
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'grammar.y', 350)
+ def _reduce_151(val, _values, result)
+ result = TryNode.new(val[1], val[2][0], val[2][1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 351)
- def _reduce_151(val, _values, result)
+ def _reduce_152(val, _values, result)
+ result = TryNode.new(val[1], nil, nil, val[3])
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'grammar.y', 353)
+ def _reduce_153(val, _values, result)
+ result = TryNode.new(val[1], val[2][0], val[2][1], val[4])
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'grammar.y', 358)
+ def _reduce_154(val, _values, result)
result = [val[1], val[2]]
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 356)
- def _reduce_152(val, _values, result)
- result = ThrowNode.new(val[1])
- result
- end
-.,.,
-
-module_eval(<<'.,.,', 'grammar.y', 361)
- def _reduce_153(val, _values, result)
- result = ParentheticalNode.new(val[1], val[0].line)
- result
- end
-.,.,
-
-module_eval(<<'.,.,', 'grammar.y', 366)
- def _reduce_154(val, _values, result)
- result = WhileNode.new(val[1], val[2])
- result
- end
-.,.,
-
-module_eval(<<'.,.,', 'grammar.y', 367)
+module_eval(<<'.,.,', 'grammar.y', 363)
def _reduce_155(val, _values, result)
- result = WhileNode.new(val[1], nil)
+ result = ThrowNode.new(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 368)
def _reduce_156(val, _values, result)
- result = WhileNode.new(val[2], Expressions.wrap(val[0]))
+ result = ParentheticalNode.new(val[1], val[0].line)
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'grammar.y', 373)
+ def _reduce_157(val, _values, result)
+ result = WhileNode.new(val[1], val[2])
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'grammar.y', 374)
+ def _reduce_158(val, _values, result)
+ result = WhileNode.new(val[1], nil)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 375)
- def _reduce_157(val, _values, result)
- result = ForNode.new(val[0], val[3], val[2][0], val[2][1])
- result
- end
-.,.,
-
-module_eval(<<'.,.,', 'grammar.y', 376)
- def _reduce_158(val, _values, result)
- result = ForNode.new(val[3], val[2], val[1][0], val[1][1])
- result
- end
-.,.,
-
-module_eval(<<'.,.,', 'grammar.y', 381)
def _reduce_159(val, _values, result)
- result = val
+ result = WhileNode.new(val[2], Expressions.wrap(val[0]))
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 382)
def _reduce_160(val, _values, result)
- result = [val[0], val[2]]
+ result = ForNode.new(val[0], val[3], val[2][0], val[2][1])
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 387)
+module_eval(<<'.,.,', 'grammar.y', 383)
def _reduce_161(val, _values, result)
- result = {:source => val[1]}
+ result = ForNode.new(val[3], val[2], val[1][0], val[1][1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 388)
def _reduce_162(val, _values, result)
+ result = val
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'grammar.y', 389)
+ def _reduce_163(val, _values, result)
+ result = [val[0], val[2]]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'grammar.y', 394)
+ def _reduce_164(val, _values, result)
+ result = {:source => val[1]}
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'grammar.y', 395)
+ def _reduce_165(val, _values, result)
result = {:source => val[1], :object => true}
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 390)
- def _reduce_163(val, _values, result)
+module_eval(<<'.,.,', 'grammar.y', 397)
+ def _reduce_166(val, _values, result)
result = val[0].merge(:filter => val[2])
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 392)
- def _reduce_164(val, _values, result)
+module_eval(<<'.,.,', 'grammar.y', 399)
+ def _reduce_167(val, _values, result)
result = val[0].merge(:step => val[2])
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 398)
- def _reduce_165(val, _values, result)
+module_eval(<<'.,.,', 'grammar.y', 405)
+ def _reduce_168(val, _values, result)
result = val[3].rewrite_condition(val[1])
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 400)
- def _reduce_166(val, _values, result)
+module_eval(<<'.,.,', 'grammar.y', 407)
+ def _reduce_169(val, _values, result)
result = val[3].rewrite_condition(val[1]).add_else(val[5])
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 405)
- def _reduce_167(val, _values, result)
+module_eval(<<'.,.,', 'grammar.y', 412)
+ def _reduce_170(val, _values, result)
result = val[0]
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 406)
- def _reduce_168(val, _values, result)
- result = val[0] << val[1]
- result
- end
-.,.,
-
-module_eval(<<'.,.,', 'grammar.y', 411)
- def _reduce_169(val, _values, result)
- result = IfNode.new(val[1], val[2], nil, {:statement => true})
- result
- end
-.,.,
-
module_eval(<<'.,.,', 'grammar.y', 413)
- def _reduce_170(val, _values, result)
+ def _reduce_171(val, _values, result)
+ result = val[0] << val[1]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'grammar.y', 418)
+ def _reduce_172(val, _values, result)
result = IfNode.new(val[1], val[2], nil, {:statement => true})
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 414)
- def _reduce_171(val, _values, result)
+module_eval(<<'.,.,', 'grammar.y', 420)
+ def _reduce_173(val, _values, result)
+ result = IfNode.new(val[1], val[2], nil, {:statement => true})
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'grammar.y', 421)
+ def _reduce_174(val, _values, result)
result = val[2].add_comment(val[0])
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 419)
- def _reduce_172(val, _values, result)
+module_eval(<<'.,.,', 'grammar.y', 426)
+ def _reduce_175(val, _values, result)
result = IfNode.new(val[1], val[2])
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 424)
- def _reduce_173(val, _values, result)
- result = val[1].force_statement
- result
- end
-.,.,
-
-module_eval(<<'.,.,', 'grammar.y', 429)
- def _reduce_174(val, _values, result)
- result = val[0]
- result
- end
-.,.,
-
-module_eval(<<'.,.,', 'grammar.y', 430)
- def _reduce_175(val, _values, result)
- result = val[0].add_else(val[1])
- result
- end
-.,.,
-
-module_eval(<<'.,.,', 'grammar.y', 435)
+module_eval(<<'.,.,', 'grammar.y', 431)
def _reduce_176(val, _values, result)
- result = nil
+ result = val[1].force_statement
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 436)
def _reduce_177(val, _values, result)
- result = val[1]
+ result = val[0]
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 441)
+module_eval(<<'.,.,', 'grammar.y', 437)
def _reduce_178(val, _values, result)
- result = val[0]
+ result = val[0].add_else(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 442)
def _reduce_179(val, _values, result)
- result = val[0].add_else(val[1])
+ result = nil
result
end
.,.,
-module_eval(<<'.,.,', 'grammar.y', 447)
+module_eval(<<'.,.,', 'grammar.y', 443)
def _reduce_180(val, _values, result)
- result = val[0].add_else(val[1])
+ result = val[1]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 448)
def _reduce_181(val, _values, result)
- result = IfNode.new(val[2], Expressions.wrap(val[0]), nil, {:statement => true})
+ result = val[0]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 449)
def _reduce_182(val, _values, result)
+ result = val[0].add_else(val[1])
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'grammar.y', 454)
+ def _reduce_183(val, _values, result)
+ result = val[0].add_else(val[1])
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'grammar.y', 455)
+ def _reduce_184(val, _values, result)
+ result = IfNode.new(val[2], Expressions.wrap(val[0]), nil, {:statement => true})
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'grammar.y', 456)
+ def _reduce_185(val, _values, result)
result = IfNode.new(val[2], Expressions.wrap(val[0]), nil, {:statement => true, :invert => true})
result
end
diff --git a/test/fixtures/execution/test_literals.coffee b/test/fixtures/execution/test_literals.coffee
index c462b565..fd772ff3 100644
--- a/test/fixtures/execution/test_literals.coffee
+++ b/test/fixtures/execution/test_literals.coffee
@@ -34,4 +34,15 @@ print i is 0
money$: 'dollars'
-print money$ is 'dollars'
\ No newline at end of file
+print money$ is 'dollars'
+
+
+bob: {
+ name: 'Bob'
+ greet: (salutation) ->
+ salutation + " " + @name
+ hello: ->
+ @greet("Hello")
+}
+
+print bob.hello() is "Hello Bob"