graphql 1.7.13 → 1.7.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/lib/graphql/argument.rb +1 -0
  3. data/lib/graphql/base_type.rb +7 -0
  4. data/lib/graphql/compatibility/query_parser_specification.rb +110 -0
  5. data/lib/graphql/directive.rb +1 -0
  6. data/lib/graphql/enum_type.rb +2 -0
  7. data/lib/graphql/execution/multiplex.rb +1 -1
  8. data/lib/graphql/field.rb +2 -0
  9. data/lib/graphql/language/document_from_schema_definition.rb +1 -1
  10. data/lib/graphql/language/lexer.rb +65 -51
  11. data/lib/graphql/language/lexer.rl +2 -0
  12. data/lib/graphql/language/nodes.rb +118 -71
  13. data/lib/graphql/language/parser.rb +701 -654
  14. data/lib/graphql/language/parser.y +14 -8
  15. data/lib/graphql/language/printer.rb +2 -2
  16. data/lib/graphql/object_type.rb +0 -5
  17. data/lib/graphql/relay/relation_connection.rb +1 -1
  18. data/lib/graphql/schema.rb +1 -0
  19. data/lib/graphql/schema/build_from_definition.rb +60 -18
  20. data/lib/graphql/subscriptions/action_cable_subscriptions.rb +1 -1
  21. data/lib/graphql/unresolved_type_error.rb +3 -2
  22. data/lib/graphql/version.rb +1 -1
  23. data/spec/graphql/base_type_spec.rb +22 -0
  24. data/spec/graphql/enum_type_spec.rb +18 -5
  25. data/spec/graphql/execution/multiplex_spec.rb +1 -1
  26. data/spec/graphql/input_object_type_spec.rb +13 -0
  27. data/spec/graphql/language/nodes_spec.rb +0 -12
  28. data/spec/graphql/language/printer_spec.rb +1 -1
  29. data/spec/graphql/query/serial_execution/value_resolution_spec.rb +2 -2
  30. data/spec/graphql/query_spec.rb +26 -0
  31. data/spec/graphql/relay/relation_connection_spec.rb +7 -1
  32. data/spec/graphql/schema/build_from_definition_spec.rb +59 -0
  33. data/spec/graphql/schema/printer_spec.rb +34 -0
  34. data/spec/graphql/static_validation/rules/fields_will_merge_spec.rb +2 -2
  35. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 48328205063447093cf672bfb523fbd04daff07d79070f2f0848c05550198de2
4
- data.tar.gz: d56689df8a571faa92ab90a434afe18561fc2b1b1713800bfb5b883e338703d9
3
+ metadata.gz: 1cacc586788be6d1c7d8d721f94b13332f01da66caff8f25ebfcab17c0c579c8
4
+ data.tar.gz: 778cde880c6fed60de3ba35e5114031e5fe334bf730d4a58b285f1de3fa56156
5
5
  SHA512:
6
- metadata.gz: 1ce5c01f9aa6b1a5dab90b1bd94b0235042cd594ba7e07dea9773b8918fbdd9f4c57289990f7f773e6bd3f46c03086947101db0fb8fdb9bad904b1516855d33e
7
- data.tar.gz: b9924f719422270083d1a8275f4b9435f4c206d77d18bb933fd6f82f401d3c32f5a358f080a9a44838d564d4e6192cd14673cd4dd64fba94e57066615d3e055c
6
+ metadata.gz: '0729de66b6906d811ae9dcecb835f65166787697189c6faf0738913910116696c65103d7354f5099f6c72dde95dc270bfcc307ac94f4aa2e18990a1604456839'
7
+ data.tar.gz: e463d0e0f9ab888982d8652bc1aec4409530a146e9183387103223e25043d4811a097be4d9ef566762685f2d8d416a1b767200d6d6392ace180f98d9c0d890e9
@@ -37,6 +37,7 @@ module GraphQL
37
37
  include GraphQL::Define::InstanceDefinable
38
38
  accepts_definitions :name, :type, :description, :default_value, :as, :prepare
39
39
  attr_accessor :type, :description, :default_value, :name, :as
40
+ attr_accessor :ast_node
40
41
 
41
42
  ensure_defined(:name, :description, :default_value, :type=, :type, :as, :expose_as, :prepare)
42
43
 
@@ -15,6 +15,8 @@ module GraphQL
15
15
 
16
16
  ensure_defined(:name, :description, :introspection?, :default_scalar?)
17
17
 
18
+ attr_accessor :ast_node
19
+
18
20
  def initialize
19
21
  @introspection = false
20
22
  @default_scalar = false
@@ -31,6 +33,11 @@ module GraphQL
31
33
  # @return [String] the name of this type, must be unique within a Schema
32
34
  attr_accessor :name
33
35
 
36
+ def name=(name)
37
+ GraphQL::NameValidator.validate!(name)
38
+ @name = name
39
+ end
40
+
34
41
  # @return [String, nil] a description for this type
35
42
  attr_accessor :description
36
43
 
@@ -123,6 +123,116 @@ module GraphQL
123
123
  end
124
124
  assert_equal [1,26], [err_2.line, err_2.col]
125
125
  end
126
+
127
+ def test_enum_value_definitions_have_a_position
128
+ document = parse("""
129
+ enum Enum {
130
+ VALUE
131
+ }
132
+ """)
133
+
134
+ assert_equal [3, 17], document.definitions[0].values[0].position
135
+ end
136
+
137
+ def test_field_definitions_have_a_position
138
+ document = parse("""
139
+ type A {
140
+ field: String
141
+ }
142
+ """)
143
+
144
+ assert_equal [3, 17], document.definitions[0].fields[0].position
145
+ end
146
+
147
+ def test_input_value_definitions_have_a_position
148
+ document = parse("""
149
+ input A {
150
+ field: String
151
+ }
152
+ """)
153
+
154
+ assert_equal [3, 17], document.definitions[0].fields[0].position
155
+ end
156
+
157
+ def test_parses_when_there_are_no_interfaces
158
+ schema = "
159
+ type A {
160
+ a: String
161
+ }
162
+ "
163
+
164
+ document = parse(schema)
165
+
166
+ assert_equal [], document.definitions[0].interfaces.map(&:name)
167
+ end
168
+
169
+ def test_parses_implements_with_leading_ampersand
170
+ schema = "
171
+ type A implements & B {
172
+ a: String
173
+ }
174
+ "
175
+
176
+ document = parse(schema)
177
+
178
+ assert_equal ["B"], document.definitions[0].interfaces.map(&:name)
179
+ assert_equal [2, 35], document.definitions[0].interfaces[0].position
180
+ end
181
+
182
+ def test_parses_implements_with_leading_ampersand_and_multiple_interfaces
183
+ schema = "
184
+ type A implements & B & C {
185
+ a: String
186
+ }
187
+ "
188
+
189
+ document = parse(schema)
190
+
191
+ assert_equal ["B", "C"], document.definitions[0].interfaces.map(&:name)
192
+ assert_equal [2, 35], document.definitions[0].interfaces[0].position
193
+ assert_equal [2, 39], document.definitions[0].interfaces[1].position
194
+ end
195
+
196
+ def test_parses_implements_without_leading_ampersand
197
+ schema = "
198
+ type A implements B {
199
+ a: String
200
+ }
201
+ "
202
+
203
+ document = parse(schema)
204
+
205
+ assert_equal ["B"], document.definitions[0].interfaces.map(&:name)
206
+ assert_equal [2, 33], document.definitions[0].interfaces[0].position
207
+ end
208
+
209
+ def test_parses_implements_without_leading_ampersand_and_multiple_interfaces
210
+ schema = "
211
+ type A implements B & C {
212
+ a: String
213
+ }
214
+ "
215
+
216
+ document = parse(schema)
217
+
218
+ assert_equal ["B", "C"], document.definitions[0].interfaces.map(&:name)
219
+ assert_equal [2, 33], document.definitions[0].interfaces[0].position
220
+ assert_equal [2, 37], document.definitions[0].interfaces[1].position
221
+ end
222
+
223
+ def test_supports_old_syntax_for_parsing_multiple_interfaces
224
+ schema = "
225
+ type A implements B, C {
226
+ a: String
227
+ }
228
+ "
229
+
230
+ document = parse(schema)
231
+
232
+ assert_equal ["B", "C"], document.definitions[0].interfaces.map(&:name)
233
+ assert_equal [2, 33], document.definitions[0].interfaces[0].position
234
+ assert_equal [2, 36], document.definitions[0].interfaces[1].position
235
+ end
126
236
  end
127
237
  end
128
238
 
@@ -11,6 +11,7 @@ module GraphQL
11
11
  accepts_definitions :locations, :name, :description, :arguments, :default_directive, argument: GraphQL::Define::AssignArgument
12
12
 
13
13
  attr_accessor :locations, :arguments, :name, :description, :arguments_class
14
+ attr_accessor :ast_node
14
15
  # @api private
15
16
  attr_writer :default_directive
16
17
  ensure_defined(:locations, :arguments, :name, :description, :default_directive?)
@@ -74,6 +74,7 @@ module GraphQL
74
74
  class EnumType < GraphQL::BaseType
75
75
  accepts_definitions :values, value: GraphQL::Define::AssignEnumValue
76
76
  ensure_defined(:values, :validate_non_null_input, :coerce_non_null_input, :coerce_result)
77
+ attr_accessor :ast_node
77
78
 
78
79
  def initialize
79
80
  super
@@ -137,6 +138,7 @@ module GraphQL
137
138
  ATTRIBUTES = [:name, :description, :deprecation_reason, :value]
138
139
  accepts_definitions(*ATTRIBUTES)
139
140
  attr_accessor(*ATTRIBUTES)
141
+ attr_accessor :ast_node
140
142
  ensure_defined(*ATTRIBUTES)
141
143
 
142
144
  def name=(new_name)
@@ -93,7 +93,7 @@ module GraphQL
93
93
  end
94
94
  rescue StandardError
95
95
  # Assign values here so that the query's `@executed` becomes true
96
- queries.map { |q| q.result_values ||= nil }
96
+ queries.map { |q| q.result_values ||= {} }
97
97
  raise
98
98
  end
99
99
 
@@ -193,6 +193,8 @@ module GraphQL
193
193
  # @return [Boolean] True if this field should be traced. By default, fields are only traced if they are not a ScalarType or EnumType.
194
194
  attr_accessor :trace
195
195
 
196
+ attr_accessor :ast_node
197
+
196
198
  # @return [Boolean]
197
199
  def connection?
198
200
  @connection
@@ -173,7 +173,7 @@ module GraphQL
173
173
 
174
174
  case type
175
175
  when GraphQL::ScalarType
176
- default_value
176
+ type.coerce_isolated_result(default_value)
177
177
  when EnumType
178
178
  GraphQL::Language::Nodes::Enum.new(name: type.coerce_isolated_result(default_value))
179
179
  when InputObjectType
@@ -20,7 +20,7 @@ class << self
20
20
  private :_graphql_lexer_trans_keys, :_graphql_lexer_trans_keys=
21
21
  end
22
22
  self._graphql_lexer_trans_keys = [
23
- 4, 20, 4, 20, 4, 4, 4, 4, 4, 4, 12, 13, 12, 13, 9, 13, 11, 11, 0, 45, 0, 0, 4, 20, 4, 20, 4, 4, 4, 4, 1, 1, 12, 13, 9, 26, 12, 13, 9, 26, 9, 26, 11, 11, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 0 ,
23
+ 4, 21, 4, 21, 4, 4, 4, 4, 4, 4, 13, 14, 13, 14, 10, 14, 12, 12, 0, 46, 0, 0, 4, 21, 4, 21, 4, 4, 4, 4, 1, 1, 13, 14, 10, 27, 13, 14, 10, 27, 10, 27, 12, 12, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 13, 43, 0 ,
24
24
  ]
25
25
 
26
26
  class << self
@@ -28,7 +28,7 @@ class << self
28
28
  private :_graphql_lexer_char_class, :_graphql_lexer_char_class=
29
29
  end
30
30
  self._graphql_lexer_char_class = [
31
- 0, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 3, 4, 5, 6, 2, 2, 2, 7, 8, 2, 9, 0, 10, 11, 2, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 2, 2, 15, 2, 2, 16, 17, 17, 17, 17, 18, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 19, 20, 21, 2, 17, 2, 22, 23, 24, 25, 26, 27, 28, 29, 30, 17, 17, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 17, 17, 42, 17, 43, 44, 45, 0 ,
31
+ 0, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 3, 4, 5, 6, 2, 7, 2, 8, 9, 2, 10, 0, 11, 12, 2, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 2, 2, 16, 2, 2, 17, 18, 18, 18, 18, 19, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 20, 21, 22, 2, 18, 2, 23, 24, 25, 26, 27, 28, 29, 30, 31, 18, 18, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 18, 18, 43, 18, 44, 45, 46, 0 ,
32
32
  ]
33
33
 
34
34
  class << self
@@ -36,7 +36,7 @@ class << self
36
36
  private :_graphql_lexer_index_offsets, :_graphql_lexer_index_offsets=
37
37
  end
38
38
  self._graphql_lexer_index_offsets = [
39
- 0, 17, 34, 35, 36, 37, 39, 41, 46, 47, 93, 94, 111, 128, 129, 130, 131, 133, 151, 153, 171, 189, 190, 221, 252, 283, 314, 345, 376, 407, 438, 469, 500, 531, 562, 593, 624, 655, 686, 717, 748, 779, 810, 841, 872, 903, 934, 965, 996, 1027, 1058, 1089, 1120, 1151, 1182, 1213, 1244, 1275, 1306, 1337, 1368, 1399, 1430, 1461, 1492, 1523, 1554, 1585, 1616, 1647, 1678, 1709, 1740, 1771, 1802, 1833, 1864, 1895, 1926, 1957, 1988, 2019, 2050, 2081, 2112, 2143, 2174, 2205, 2236, 2267, 2298, 2329, 2360, 2391, 2422, 2453, 2484, 2515, 2546, 2577, 2608, 2639, 2670, 2701, 0 ,
39
+ 0, 18, 36, 37, 38, 39, 41, 43, 48, 49, 96, 97, 115, 133, 134, 135, 136, 138, 156, 158, 176, 194, 195, 226, 257, 288, 319, 350, 381, 412, 443, 474, 505, 536, 567, 598, 629, 660, 691, 722, 753, 784, 815, 846, 877, 908, 939, 970, 1001, 1032, 1063, 1094, 1125, 1156, 1187, 1218, 1249, 1280, 1311, 1342, 1373, 1404, 1435, 1466, 1497, 1528, 1559, 1590, 1621, 1652, 1683, 1714, 1745, 1776, 1807, 1838, 1869, 1900, 1931, 1962, 1993, 2024, 2055, 2086, 2117, 2148, 2179, 2210, 2241, 2272, 2303, 2334, 2365, 2396, 2427, 2458, 2489, 2520, 2551, 2582, 2613, 2644, 2675, 2706, 0 ,
40
40
  ]
41
41
 
42
42
  class << self
@@ -44,7 +44,7 @@ class << self
44
44
  private :_graphql_lexer_indicies, :_graphql_lexer_indicies=
45
45
  end
46
46
  self._graphql_lexer_indicies = [
47
- 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 6, 7, 8, 9, 9, 11, 11, 12, 12, 0, 9, 9, 14, 16, 17, 15, 18, 19, 20, 21, 22, 23, 15, 24, 25, 26, 27, 28, 29, 30, 31, 31, 32, 15, 33, 31, 31, 31, 34, 35, 36, 31, 31, 37, 31, 38, 39, 40, 31, 41, 31, 42, 43, 44, 31, 31, 45, 46, 47, 16, 50, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 5, 8, 53, 26, 27, 12, 12, 55, 9, 9, 54, 54, 54, 54, 56, 54, 54, 54, 54, 54, 54, 54, 56, 9, 9, 12, 12, 57, 11, 11, 57, 57, 57, 57, 56, 57, 57, 57, 57, 57, 57, 57, 56, 12, 12, 55, 27, 27, 54, 54, 54, 54, 56, 54, 54, 54, 54, 54, 54, 54, 56, 58, 31, 31, 0, 0, 0, 31, 31, 0, 0, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 60, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 61, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 62, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 63, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 64, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 65, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 66, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 67, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 68, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 69, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 70, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 71, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 72, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 73, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 74, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 75, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 76, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 77, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 78, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 79, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 80, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 81, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 82, 83, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 84, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 85, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 86, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 87, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 88, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 89, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 90, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 91, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 92, 31, 31, 31, 93, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 94, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 95, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 96, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 97, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 98, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 99, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 100, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 101, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 102, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 103, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 104, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 105, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 106, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 107, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 108, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 109, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 110, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 111, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 112, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 113, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 114, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 115, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 116, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 117, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 118, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 119, 31, 31, 31, 31, 31, 31, 120, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 121, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 122, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 123, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 124, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 125, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 126, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 127, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 128, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 129, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 130, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 131, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 132, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 133, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 134, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 135, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 136, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 137, 31, 31, 31, 31, 138, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 139, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 140, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 141, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 142, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 143, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 144, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 145, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 146, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0 ,
47
+ 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 6, 7, 8, 9, 9, 11, 11, 12, 12, 0, 9, 9, 14, 16, 17, 15, 18, 19, 20, 21, 22, 23, 24, 15, 25, 26, 27, 28, 29, 30, 31, 32, 32, 33, 15, 34, 32, 32, 32, 35, 36, 37, 32, 32, 38, 32, 39, 40, 41, 32, 42, 32, 43, 44, 45, 32, 32, 46, 47, 48, 16, 51, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 5, 8, 54, 27, 28, 12, 12, 56, 9, 9, 55, 55, 55, 55, 57, 55, 55, 55, 55, 55, 55, 55, 57, 9, 9, 12, 12, 58, 11, 11, 58, 58, 58, 58, 57, 58, 58, 58, 58, 58, 58, 58, 57, 12, 12, 56, 28, 28, 55, 55, 55, 55, 57, 55, 55, 55, 55, 55, 55, 55, 57, 59, 32, 32, 0, 0, 0, 32, 32, 0, 0, 0, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 61, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 62, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 63, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 64, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 65, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 71, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 72, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 73, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 74, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 75, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 76, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 77, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 78, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 80, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 81, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 82, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 85, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 87, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 89, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 90, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 91, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 92, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 93, 32, 32, 32, 94, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 95, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 96, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 97, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 99, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 100, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 102, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 105, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 106, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 115, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 118, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 120, 32, 32, 32, 32, 32, 32, 121, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 122, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 123, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 124, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 125, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 126, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 127, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 128, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 129, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 130, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 131, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 132, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 133, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 134, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 135, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 136, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 137, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 138, 32, 32, 32, 32, 139, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 140, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 141, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 142, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 143, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 144, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 145, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 146, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 147, 32, 32, 32, 32, 32, 32, 32, 32, 32, 0 ,
48
48
  ]
49
49
 
50
50
  class << self
@@ -52,7 +52,7 @@ class << self
52
52
  private :_graphql_lexer_index_defaults, :_graphql_lexer_index_defaults=
53
53
  end
54
54
  self._graphql_lexer_index_defaults = [
55
- 1, 1, 5, 5, 5, 0, 10, 0, 13, 15, 48, 1, 1, 51, 5, 20, 49, 54, 57, 57, 54, 49, 0, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 0 ,
55
+ 1, 1, 5, 5, 5, 0, 10, 0, 13, 15, 49, 1, 1, 52, 5, 20, 50, 55, 58, 58, 55, 50, 0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0 ,
56
56
  ]
57
57
 
58
58
  class << self
@@ -60,7 +60,7 @@ class << self
60
60
  private :_graphql_lexer_trans_cond_spaces, :_graphql_lexer_trans_cond_spaces=
61
61
  end
62
62
  self._graphql_lexer_trans_cond_spaces = [
63
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0 ,
63
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0 ,
64
64
  ]
65
65
 
66
66
  class << self
@@ -68,7 +68,7 @@ class << self
68
68
  private :_graphql_lexer_cond_targs, :_graphql_lexer_cond_targs=
69
69
  end
70
70
  self._graphql_lexer_cond_targs = [
71
- 9, 0, 9, 1, 12, 2, 3, 4, 14, 18, 9, 19, 5, 9, 9, 9, 10, 9, 9, 11, 15, 9, 9, 9, 16, 21, 17, 20, 9, 9, 9, 22, 9, 9, 23, 31, 34, 44, 62, 69, 72, 73, 77, 95, 100, 9, 9, 9, 9, 9, 13, 9, 9, 9, 9, 6, 7, 9, 8, 9, 24, 25, 26, 27, 28, 29, 30, 22, 32, 33, 22, 35, 38, 36, 37, 22, 39, 40, 41, 42, 43, 22, 45, 53, 46, 47, 48, 49, 50, 51, 52, 22, 54, 56, 55, 22, 57, 58, 59, 60, 61, 22, 63, 64, 65, 66, 67, 68, 22, 70, 71, 22, 22, 74, 75, 76, 22, 78, 85, 79, 82, 80, 81, 22, 83, 84, 22, 86, 87, 88, 89, 90, 91, 92, 93, 94, 22, 96, 98, 97, 22, 99, 22, 101, 102, 103, 22, 0 ,
71
+ 9, 0, 9, 1, 12, 2, 3, 4, 14, 18, 9, 19, 5, 9, 9, 9, 10, 9, 9, 11, 15, 9, 9, 9, 9, 16, 21, 17, 20, 9, 9, 9, 22, 9, 9, 23, 31, 34, 44, 62, 69, 72, 73, 77, 95, 100, 9, 9, 9, 9, 9, 13, 9, 9, 9, 9, 6, 7, 9, 8, 9, 24, 25, 26, 27, 28, 29, 30, 22, 32, 33, 22, 35, 38, 36, 37, 22, 39, 40, 41, 42, 43, 22, 45, 53, 46, 47, 48, 49, 50, 51, 52, 22, 54, 56, 55, 22, 57, 58, 59, 60, 61, 22, 63, 64, 65, 66, 67, 68, 22, 70, 71, 22, 22, 74, 75, 76, 22, 78, 85, 79, 82, 80, 81, 22, 83, 84, 22, 86, 87, 88, 89, 90, 91, 92, 93, 94, 22, 96, 98, 97, 22, 99, 22, 101, 102, 103, 22, 0 ,
72
72
  ]
73
73
 
74
74
  class << self
@@ -76,7 +76,7 @@ class << self
76
76
  private :_graphql_lexer_cond_actions, :_graphql_lexer_cond_actions=
77
77
  end
78
78
  self._graphql_lexer_cond_actions = [
79
- 1, 0, 2, 0, 3, 0, 0, 0, 4, 0, 5, 6, 0, 7, 8, 11, 0, 12, 13, 14, 0, 15, 16, 17, 0, 18, 19, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 28, 29, 30, 3, 31, 32, 33, 34, 0, 0, 35, 0, 36, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 38, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 42, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 44, 0, 0, 45, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 48, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 51, 0, 52, 0, 0, 0, 53, 0 ,
79
+ 1, 0, 2, 0, 3, 0, 0, 0, 4, 0, 5, 6, 0, 7, 8, 11, 0, 12, 13, 14, 0, 15, 16, 17, 18, 0, 19, 20, 20, 21, 22, 23, 24, 25, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 3, 32, 33, 34, 35, 0, 0, 36, 0, 37, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 39, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 45, 0, 0, 46, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 49, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, 52, 0, 53, 0, 0, 0, 54, 0 ,
80
80
  ]
81
81
 
82
82
  class << self
@@ -100,7 +100,7 @@ class << self
100
100
  private :_graphql_lexer_eof_trans, :_graphql_lexer_eof_trans=
101
101
  end
102
102
  self._graphql_lexer_eof_trans = [
103
- 1, 1, 1, 1, 1, 1, 11, 1, 14, 0, 49, 50, 52, 52, 53, 54, 50, 55, 58, 58, 55, 50, 1, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0 ,
103
+ 1, 1, 1, 1, 1, 1, 11, 1, 14, 0, 50, 51, 53, 53, 54, 55, 51, 56, 59, 59, 56, 51, 1, 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, 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, 61, 0 ,
104
104
  ]
105
105
 
106
106
  class << self
@@ -272,7 +272,7 @@ def self.run_lexer(query_string)
272
272
  when -2 then
273
273
  begin
274
274
  end
275
- when 18 then
275
+ when 19 then
276
276
  begin
277
277
  begin
278
278
  begin
@@ -283,7 +283,7 @@ def self.run_lexer(query_string)
283
283
  end
284
284
 
285
285
  end
286
- when 28 then
286
+ when 29 then
287
287
  begin
288
288
  begin
289
289
  begin
@@ -297,7 +297,7 @@ def self.run_lexer(query_string)
297
297
  end
298
298
 
299
299
  end
300
- when 26 then
300
+ when 27 then
301
301
  begin
302
302
  begin
303
303
  begin
@@ -311,7 +311,7 @@ def self.run_lexer(query_string)
311
311
  end
312
312
 
313
313
  end
314
- when 17 then
314
+ when 18 then
315
315
  begin
316
316
  begin
317
317
  begin
@@ -325,7 +325,7 @@ def self.run_lexer(query_string)
325
325
  end
326
326
 
327
327
  end
328
- when 16 then
328
+ when 17 then
329
329
  begin
330
330
  begin
331
331
  begin
@@ -339,7 +339,7 @@ def self.run_lexer(query_string)
339
339
  end
340
340
 
341
341
  end
342
- when 25 then
342
+ when 26 then
343
343
  begin
344
344
  begin
345
345
  begin
@@ -353,7 +353,7 @@ def self.run_lexer(query_string)
353
353
  end
354
354
 
355
355
  end
356
- when 24 then
356
+ when 25 then
357
357
  begin
358
358
  begin
359
359
  begin
@@ -367,7 +367,7 @@ def self.run_lexer(query_string)
367
367
  end
368
368
 
369
369
  end
370
- when 20 then
370
+ when 21 then
371
371
  begin
372
372
  begin
373
373
  begin
@@ -409,7 +409,7 @@ def self.run_lexer(query_string)
409
409
  end
410
410
 
411
411
  end
412
- when 22 then
412
+ when 23 then
413
413
  begin
414
414
  begin
415
415
  begin
@@ -437,7 +437,7 @@ def self.run_lexer(query_string)
437
437
  end
438
438
 
439
439
  end
440
- when 21 then
440
+ when 22 then
441
441
  begin
442
442
  begin
443
443
  begin
@@ -465,7 +465,7 @@ def self.run_lexer(query_string)
465
465
  end
466
466
 
467
467
  end
468
- when 27 then
468
+ when 28 then
469
469
  begin
470
470
  begin
471
471
  begin
@@ -478,6 +478,20 @@ def self.run_lexer(query_string)
478
478
 
479
479
  end
480
480
 
481
+ end
482
+ when 16 then
483
+ begin
484
+ begin
485
+ begin
486
+ te = p+1;
487
+ begin
488
+ emit(:AMP, ts, te, meta)
489
+ end
490
+
491
+ end
492
+
493
+ end
494
+
481
495
  end
482
496
  when 12 then
483
497
  begin
@@ -509,7 +523,7 @@ def self.run_lexer(query_string)
509
523
  end
510
524
 
511
525
  end
512
- when 34 then
526
+ when 35 then
513
527
  begin
514
528
  begin
515
529
  begin
@@ -524,7 +538,7 @@ def self.run_lexer(query_string)
524
538
  end
525
539
 
526
540
  end
527
- when 35 then
541
+ when 36 then
528
542
  begin
529
543
  begin
530
544
  begin
@@ -539,7 +553,7 @@ def self.run_lexer(query_string)
539
553
  end
540
554
 
541
555
  end
542
- when 31 then
556
+ when 32 then
543
557
  begin
544
558
  begin
545
559
  begin
@@ -554,7 +568,7 @@ def self.run_lexer(query_string)
554
568
  end
555
569
 
556
570
  end
557
- when 32 then
571
+ when 33 then
558
572
  begin
559
573
  begin
560
574
  begin
@@ -569,7 +583,7 @@ def self.run_lexer(query_string)
569
583
  end
570
584
 
571
585
  end
572
- when 36 then
586
+ when 37 then
573
587
  begin
574
588
  begin
575
589
  begin
@@ -584,7 +598,7 @@ def self.run_lexer(query_string)
584
598
  end
585
599
 
586
600
  end
587
- when 33 then
601
+ when 34 then
588
602
  begin
589
603
  begin
590
604
  begin
@@ -599,7 +613,7 @@ def self.run_lexer(query_string)
599
613
  end
600
614
 
601
615
  end
602
- when 29 then
616
+ when 30 then
603
617
  begin
604
618
  begin
605
619
  begin
@@ -614,7 +628,7 @@ def self.run_lexer(query_string)
614
628
  end
615
629
 
616
630
  end
617
- when 30 then
631
+ when 31 then
618
632
  begin
619
633
  begin
620
634
  begin
@@ -833,7 +847,7 @@ def self.run_lexer(query_string)
833
847
  end
834
848
 
835
849
  end
836
- when 35 then
850
+ when 36 then
837
851
  begin
838
852
  p = ((te))-1;
839
853
  begin
@@ -841,7 +855,7 @@ def self.run_lexer(query_string)
841
855
  end
842
856
 
843
857
  end
844
- when 39 then
858
+ when 40 then
845
859
  begin
846
860
  p = ((te))-1;
847
861
  begin
@@ -858,7 +872,7 @@ def self.run_lexer(query_string)
858
872
  end
859
873
 
860
874
  end
861
- when 19 then
875
+ when 20 then
862
876
  begin
863
877
  begin
864
878
  begin
@@ -894,7 +908,7 @@ def self.run_lexer(query_string)
894
908
  end
895
909
 
896
910
  end
897
- when 46 then
911
+ when 47 then
898
912
  begin
899
913
  begin
900
914
  begin
@@ -912,7 +926,7 @@ def self.run_lexer(query_string)
912
926
  end
913
927
 
914
928
  end
915
- when 40 then
929
+ when 41 then
916
930
  begin
917
931
  begin
918
932
  begin
@@ -930,7 +944,7 @@ def self.run_lexer(query_string)
930
944
  end
931
945
 
932
946
  end
933
- when 51 then
947
+ when 52 then
934
948
  begin
935
949
  begin
936
950
  begin
@@ -948,7 +962,7 @@ def self.run_lexer(query_string)
948
962
  end
949
963
 
950
964
  end
951
- when 39 then
965
+ when 40 then
952
966
  begin
953
967
  begin
954
968
  begin
@@ -966,7 +980,7 @@ def self.run_lexer(query_string)
966
980
  end
967
981
 
968
982
  end
969
- when 45 then
983
+ when 46 then
970
984
  begin
971
985
  begin
972
986
  begin
@@ -984,7 +998,7 @@ def self.run_lexer(query_string)
984
998
  end
985
999
 
986
1000
  end
987
- when 47 then
1001
+ when 48 then
988
1002
  begin
989
1003
  begin
990
1004
  begin
@@ -1002,7 +1016,7 @@ def self.run_lexer(query_string)
1002
1016
  end
1003
1017
 
1004
1018
  end
1005
- when 44 then
1019
+ when 45 then
1006
1020
  begin
1007
1021
  begin
1008
1022
  begin
@@ -1020,7 +1034,7 @@ def self.run_lexer(query_string)
1020
1034
  end
1021
1035
 
1022
1036
  end
1023
- when 50 then
1037
+ when 51 then
1024
1038
  begin
1025
1039
  begin
1026
1040
  begin
@@ -1038,7 +1052,7 @@ def self.run_lexer(query_string)
1038
1052
  end
1039
1053
 
1040
1054
  end
1041
- when 49 then
1055
+ when 50 then
1042
1056
  begin
1043
1057
  begin
1044
1058
  begin
@@ -1056,7 +1070,7 @@ def self.run_lexer(query_string)
1056
1070
  end
1057
1071
 
1058
1072
  end
1059
- when 48 then
1073
+ when 49 then
1060
1074
  begin
1061
1075
  begin
1062
1076
  begin
@@ -1074,7 +1088,7 @@ def self.run_lexer(query_string)
1074
1088
  end
1075
1089
 
1076
1090
  end
1077
- when 52 then
1091
+ when 53 then
1078
1092
  begin
1079
1093
  begin
1080
1094
  begin
@@ -1092,7 +1106,7 @@ def self.run_lexer(query_string)
1092
1106
  end
1093
1107
 
1094
1108
  end
1095
- when 41 then
1109
+ when 42 then
1096
1110
  begin
1097
1111
  begin
1098
1112
  begin
@@ -1110,7 +1124,7 @@ def self.run_lexer(query_string)
1110
1124
  end
1111
1125
 
1112
1126
  end
1113
- when 43 then
1127
+ when 44 then
1114
1128
  begin
1115
1129
  begin
1116
1130
  begin
@@ -1128,7 +1142,7 @@ def self.run_lexer(query_string)
1128
1142
  end
1129
1143
 
1130
1144
  end
1131
- when 53 then
1145
+ when 54 then
1132
1146
  begin
1133
1147
  begin
1134
1148
  begin
@@ -1146,7 +1160,7 @@ def self.run_lexer(query_string)
1146
1160
  end
1147
1161
 
1148
1162
  end
1149
- when 38 then
1163
+ when 39 then
1150
1164
  begin
1151
1165
  begin
1152
1166
  begin
@@ -1164,7 +1178,7 @@ def self.run_lexer(query_string)
1164
1178
  end
1165
1179
 
1166
1180
  end
1167
- when 42 then
1181
+ when 43 then
1168
1182
  begin
1169
1183
  begin
1170
1184
  begin
@@ -1182,7 +1196,7 @@ def self.run_lexer(query_string)
1182
1196
  end
1183
1197
 
1184
1198
  end
1185
- when 37 then
1199
+ when 38 then
1186
1200
  begin
1187
1201
  begin
1188
1202
  begin
@@ -1236,7 +1250,7 @@ def self.run_lexer(query_string)
1236
1250
  end
1237
1251
 
1238
1252
  end
1239
- when 23 then
1253
+ when 24 then
1240
1254
  begin
1241
1255
  begin
1242
1256
  begin
@@ -1247,7 +1261,7 @@ def self.run_lexer(query_string)
1247
1261
  end
1248
1262
  begin
1249
1263
  begin
1250
- act = 35;
1264
+ act = 36;
1251
1265
 
1252
1266
  end
1253
1267
 
@@ -1265,7 +1279,7 @@ def self.run_lexer(query_string)
1265
1279
  end
1266
1280
  begin
1267
1281
  begin
1268
- act = 39;
1282
+ act = 40;
1269
1283
 
1270
1284
  end
1271
1285