1 /* A Bison parser, made by GNU Bison 3.8.2. */
2
3 /* Bison implementation for Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
6 Inc.
7
8 This program is free software: you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation, either version 3 of the License, or
11 (at your option) any later version.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program. If not, see <https://www.gnu.org/licenses/>. */
20
21 /* As a special exception, you may create a larger work that contains
22 part or all of the Bison parser skeleton and distribute that work
23 under terms of your choice, so long as that work isn't itself a
24 parser generator using the skeleton or a modified version thereof
25 as a parser skeleton. Alternatively, if you modify or redistribute
26 the parser skeleton itself, you may (at your option) remove this
27 special exception, which will cause the skeleton and the resulting
28 Bison output files to be licensed under the GNU General Public
29 License without this special exception.
30
31 This special exception was added by the Free Software Foundation in
32 version 2.2 of Bison. */
33
34 /* C LALR(1) parser skeleton written by Richard Stallman, by
35 simplifying the original so-called "semantic" parser. */
36
37 /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
38 especially those whose name start with YY_ or yy_. They are
39 private implementation details that can be changed or removed. */
40
41 /* All symbols defined below should begin with yy or YY, to avoid
42 infringing on user name space. This should be done even for local
43 variables, as they might otherwise be expanded by user macros.
44 There are some unavoidable exceptions within include files to
45 define necessary library symbols; they are noted "INFRINGES ON
46 USER NAME SPACE" below. */
47
48 /* Identify Bison output, and Bison version. */
49 #define YYBISON 30802
50
51 /* Bison version string. */
52 #define YYBISON_VERSION "3.8.2"
53
54 /* Skeleton name. */
55 #define YYSKELETON_NAME "yacc.c"
56
57 /* Pure parsers. */
58 #define YYPURE 1
59
60 /* Push parsers. */
61 #define YYPUSH 0
62
63 /* Pull parsers. */
64 #define YYPULL 1
65
66 /* Substitute the type names. */
67 #define YYSTYPE JAVA_STYPE
68 #define YYLTYPE JAVA_LTYPE
69 /* Substitute the variable and function names. */
70 #define yyparse java_parse
71 #define yylex java_lex
72 #define yyerror java_error
73 #define yydebug java_debug
74 #define yynerrs java_nerrs
75
76
77 # ifndef YY_CAST
78 # ifdef __cplusplus
79 # define YY_CAST(Type, Val) static_cast<Type> (Val)
80 # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
81 # else
82 # define YY_CAST(Type, Val) ((Type) (Val))
83 # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
84 # endif
85 # endif
86 # ifndef YY_NULLPTR
87 # if defined __cplusplus
88 # if 201103L <= __cplusplus
89 # define YY_NULLPTR nullptr
90 # else
91 # define YY_NULLPTR 0
92 # endif
93 # else
94 # define YY_NULLPTR ((void*)0)
95 # endif
96 # endif
97
98 /* Use api.header.include to #include this header
99 instead of duplicating it here. */
100 #ifndef YY_JAVA_MODULES_JAVA_NATIVE_JAVA_GRAMMAR_H_INCLUDED
101 # define YY_JAVA_MODULES_JAVA_NATIVE_JAVA_GRAMMAR_H_INCLUDED
102 /* Debug traces. */
103 #ifndef JAVA_DEBUG
104 # if defined YYDEBUG
105 #if YYDEBUG
106 # define JAVA_DEBUG 1
107 # else
108 # define JAVA_DEBUG 0
109 # endif
110 # else /* ! defined YYDEBUG */
111 # define JAVA_DEBUG 0
112 # endif /* ! defined YYDEBUG */
113 #endif /* ! defined JAVA_DEBUG */
114 #if JAVA_DEBUG
115 extern int java_debug;
116 #endif
117 /* "%code requires" blocks. */
118 #line 25 "modules/java/native/java-grammar.y"
119
120
121 #include "java-parser.h"
122
123
124 #line 125 "modules/java/native/java-grammar.c"
125
126 /* Token kinds. */
127 #ifndef JAVA_TOKENTYPE
128 # define JAVA_TOKENTYPE
129 enum java_tokentype
130 {
131 JAVA_EMPTY = -2,
132 JAVA_EOF = 0, /* "end of file" */
133 JAVA_error = 256, /* error */
134 JAVA_UNDEF = 10514, /* "invalid token" */
135 LL_CONTEXT_ROOT = 1, /* LL_CONTEXT_ROOT */
136 LL_CONTEXT_DESTINATION = 2, /* LL_CONTEXT_DESTINATION */
137 LL_CONTEXT_SOURCE = 3, /* LL_CONTEXT_SOURCE */
138 LL_CONTEXT_PARSER = 4, /* LL_CONTEXT_PARSER */
139 LL_CONTEXT_REWRITE = 5, /* LL_CONTEXT_REWRITE */
140 LL_CONTEXT_FILTER = 6, /* LL_CONTEXT_FILTER */
141 LL_CONTEXT_LOG = 7, /* LL_CONTEXT_LOG */
142 LL_CONTEXT_BLOCK_DEF = 8, /* LL_CONTEXT_BLOCK_DEF */
143 LL_CONTEXT_BLOCK_REF = 9, /* LL_CONTEXT_BLOCK_REF */
144 LL_CONTEXT_BLOCK_CONTENT = 10, /* LL_CONTEXT_BLOCK_CONTENT */
145 LL_CONTEXT_BLOCK_ARG = 11, /* LL_CONTEXT_BLOCK_ARG */
146 LL_CONTEXT_PRAGMA = 12, /* LL_CONTEXT_PRAGMA */
147 LL_CONTEXT_FORMAT = 13, /* LL_CONTEXT_FORMAT */
148 LL_CONTEXT_TEMPLATE_FUNC = 14, /* LL_CONTEXT_TEMPLATE_FUNC */
149 LL_CONTEXT_INNER_DEST = 15, /* LL_CONTEXT_INNER_DEST */
150 LL_CONTEXT_INNER_SRC = 16, /* LL_CONTEXT_INNER_SRC */
151 LL_CONTEXT_CLIENT_PROTO = 17, /* LL_CONTEXT_CLIENT_PROTO */
152 LL_CONTEXT_SERVER_PROTO = 18, /* LL_CONTEXT_SERVER_PROTO */
153 LL_CONTEXT_OPTIONS = 19, /* LL_CONTEXT_OPTIONS */
154 LL_CONTEXT_CONFIG = 20, /* LL_CONTEXT_CONFIG */
155 LL_CONTEXT_MAX = 21, /* LL_CONTEXT_MAX */
156 KW_SOURCE = 10000, /* KW_SOURCE */
157 KW_FILTER = 10001, /* KW_FILTER */
158 KW_PARSER = 10002, /* KW_PARSER */
159 KW_DESTINATION = 10003, /* KW_DESTINATION */
160 KW_LOG = 10004, /* KW_LOG */
161 KW_OPTIONS = 10005, /* KW_OPTIONS */
162 KW_INCLUDE = 10006, /* KW_INCLUDE */
163 KW_BLOCK = 10007, /* KW_BLOCK */
164 KW_JUNCTION = 10008, /* KW_JUNCTION */
165 KW_CHANNEL = 10009, /* KW_CHANNEL */
166 KW_IF = 10010, /* KW_IF */
167 KW_ELSE = 10011, /* KW_ELSE */
168 KW_ELIF = 10012, /* KW_ELIF */
169 KW_INTERNAL = 10020, /* KW_INTERNAL */
170 KW_SYSLOG = 10060, /* KW_SYSLOG */
171 KW_MARK_FREQ = 10071, /* KW_MARK_FREQ */
172 KW_STATS_FREQ = 10072, /* KW_STATS_FREQ */
173 KW_STATS_LEVEL = 10073, /* KW_STATS_LEVEL */
174 KW_STATS_LIFETIME = 10074, /* KW_STATS_LIFETIME */
175 KW_FLUSH_LINES = 10075, /* KW_FLUSH_LINES */
176 KW_SUPPRESS = 10076, /* KW_SUPPRESS */
177 KW_FLUSH_TIMEOUT = 10077, /* KW_FLUSH_TIMEOUT */
178 KW_LOG_MSG_SIZE = 10078, /* KW_LOG_MSG_SIZE */
179 KW_FILE_TEMPLATE = 10079, /* KW_FILE_TEMPLATE */
180 KW_PROTO_TEMPLATE = 10080, /* KW_PROTO_TEMPLATE */
181 KW_MARK_MODE = 10081, /* KW_MARK_MODE */
182 KW_ENCODING = 10082, /* KW_ENCODING */
183 KW_TYPE = 10083, /* KW_TYPE */
184 KW_STATS_MAX_DYNAMIC = 10084, /* KW_STATS_MAX_DYNAMIC */
185 KW_MIN_IW_SIZE_PER_READER = 10085, /* KW_MIN_IW_SIZE_PER_READER */
186 KW_WORKERS = 10086, /* KW_WORKERS */
187 KW_BATCH_LINES = 10087, /* KW_BATCH_LINES */
188 KW_BATCH_TIMEOUT = 10088, /* KW_BATCH_TIMEOUT */
189 KW_TRIM_LARGE_MESSAGES = 10089, /* KW_TRIM_LARGE_MESSAGES */
190 KW_CHAIN_HOSTNAMES = 10090, /* KW_CHAIN_HOSTNAMES */
191 KW_NORMALIZE_HOSTNAMES = 10091, /* KW_NORMALIZE_HOSTNAMES */
192 KW_KEEP_HOSTNAME = 10092, /* KW_KEEP_HOSTNAME */
193 KW_CHECK_HOSTNAME = 10093, /* KW_CHECK_HOSTNAME */
194 KW_BAD_HOSTNAME = 10094, /* KW_BAD_HOSTNAME */
195 KW_KEEP_TIMESTAMP = 10100, /* KW_KEEP_TIMESTAMP */
196 KW_USE_DNS = 10110, /* KW_USE_DNS */
197 KW_USE_FQDN = 10111, /* KW_USE_FQDN */
198 KW_CUSTOM_DOMAIN = 10112, /* KW_CUSTOM_DOMAIN */
199 KW_DNS_CACHE = 10120, /* KW_DNS_CACHE */
200 KW_DNS_CACHE_SIZE = 10121, /* KW_DNS_CACHE_SIZE */
201 KW_DNS_CACHE_EXPIRE = 10130, /* KW_DNS_CACHE_EXPIRE */
202 KW_DNS_CACHE_EXPIRE_FAILED = 10131, /* KW_DNS_CACHE_EXPIRE_FAILED */
203 KW_DNS_CACHE_HOSTS = 10132, /* KW_DNS_CACHE_HOSTS */
204 KW_PERSIST_ONLY = 10140, /* KW_PERSIST_ONLY */
205 KW_USE_RCPTID = 10141, /* KW_USE_RCPTID */
206 KW_USE_UNIQID = 10142, /* KW_USE_UNIQID */
207 KW_TZ_CONVERT = 10150, /* KW_TZ_CONVERT */
208 KW_TS_FORMAT = 10151, /* KW_TS_FORMAT */
209 KW_FRAC_DIGITS = 10152, /* KW_FRAC_DIGITS */
210 KW_LOG_FIFO_SIZE = 10160, /* KW_LOG_FIFO_SIZE */
211 KW_LOG_FETCH_LIMIT = 10162, /* KW_LOG_FETCH_LIMIT */
212 KW_LOG_IW_SIZE = 10163, /* KW_LOG_IW_SIZE */
213 KW_LOG_PREFIX = 10164, /* KW_LOG_PREFIX */
214 KW_PROGRAM_OVERRIDE = 10165, /* KW_PROGRAM_OVERRIDE */
215 KW_HOST_OVERRIDE = 10166, /* KW_HOST_OVERRIDE */
216 KW_THROTTLE = 10170, /* KW_THROTTLE */
217 KW_THREADED = 10171, /* KW_THREADED */
218 KW_PASS_UNIX_CREDENTIALS = 10231, /* KW_PASS_UNIX_CREDENTIALS */
219 KW_PERSIST_NAME = 10302, /* KW_PERSIST_NAME */
220 KW_READ_OLD_RECORDS = 10304, /* KW_READ_OLD_RECORDS */
221 KW_USE_SYSLOGNG_PID = 10305, /* KW_USE_SYSLOGNG_PID */
222 KW_FLAGS = 10190, /* KW_FLAGS */
223 KW_PAD_SIZE = 10200, /* KW_PAD_SIZE */
224 KW_TIME_ZONE = 10201, /* KW_TIME_ZONE */
225 KW_RECV_TIME_ZONE = 10202, /* KW_RECV_TIME_ZONE */
226 KW_SEND_TIME_ZONE = 10203, /* KW_SEND_TIME_ZONE */
227 KW_LOCAL_TIME_ZONE = 10204, /* KW_LOCAL_TIME_ZONE */
228 KW_FORMAT = 10205, /* KW_FORMAT */
229 KW_TRUNCATE_SIZE = 10206, /* KW_TRUNCATE_SIZE */
230 KW_TIME_REOPEN = 10210, /* KW_TIME_REOPEN */
231 KW_TIME_REAP = 10211, /* KW_TIME_REAP */
232 KW_TIME_SLEEP = 10212, /* KW_TIME_SLEEP */
233 KW_TMPL_ESCAPE = 10220, /* KW_TMPL_ESCAPE */
234 KW_OPTIONAL = 10230, /* KW_OPTIONAL */
235 KW_CREATE_DIRS = 10240, /* KW_CREATE_DIRS */
236 KW_OWNER = 10250, /* KW_OWNER */
237 KW_GROUP = 10251, /* KW_GROUP */
238 KW_PERM = 10252, /* KW_PERM */
239 KW_DIR_OWNER = 10260, /* KW_DIR_OWNER */
240 KW_DIR_GROUP = 10261, /* KW_DIR_GROUP */
241 KW_DIR_PERM = 10262, /* KW_DIR_PERM */
242 KW_TEMPLATE = 10270, /* KW_TEMPLATE */
243 KW_TEMPLATE_ESCAPE = 10271, /* KW_TEMPLATE_ESCAPE */
244 KW_TEMPLATE_FUNCTION = 10272, /* KW_TEMPLATE_FUNCTION */
245 KW_DEFAULT_FACILITY = 10300, /* KW_DEFAULT_FACILITY */
246 KW_DEFAULT_SEVERITY = 10301, /* KW_DEFAULT_SEVERITY */
247 KW_PORT = 10323, /* KW_PORT */
248 KW_USE_TIME_RECVD = 10340, /* KW_USE_TIME_RECVD */
249 KW_FACILITY = 10350, /* KW_FACILITY */
250 KW_SEVERITY = 10351, /* KW_SEVERITY */
251 KW_HOST = 10352, /* KW_HOST */
252 KW_MATCH = 10353, /* KW_MATCH */
253 KW_MESSAGE = 10354, /* KW_MESSAGE */
254 KW_NETMASK = 10355, /* KW_NETMASK */
255 KW_TAGS = 10356, /* KW_TAGS */
256 KW_NETMASK6 = 10357, /* KW_NETMASK6 */
257 KW_REWRITE = 10370, /* KW_REWRITE */
258 KW_CONDITION = 10371, /* KW_CONDITION */
259 KW_VALUE = 10372, /* KW_VALUE */
260 KW_YES = 10380, /* KW_YES */
261 KW_NO = 10381, /* KW_NO */
262 KW_IFDEF = 10410, /* KW_IFDEF */
263 KW_ENDIF = 10411, /* KW_ENDIF */
264 LL_DOTDOT = 10420, /* LL_DOTDOT */
265 LL_DOTDOTDOT = 10421, /* LL_DOTDOTDOT */
266 LL_PRAGMA = 10422, /* LL_PRAGMA */
267 LL_EOL = 10423, /* LL_EOL */
268 LL_ERROR = 10424, /* LL_ERROR */
269 LL_ARROW = 10425, /* LL_ARROW */
270 LL_IDENTIFIER = 10430, /* LL_IDENTIFIER */
271 LL_NUMBER = 10431, /* LL_NUMBER */
272 LL_FLOAT = 10432, /* LL_FLOAT */
273 LL_STRING = 10433, /* LL_STRING */
274 LL_TOKEN = 10434, /* LL_TOKEN */
275 LL_BLOCK = 10435, /* LL_BLOCK */
276 KW_VALUE_PAIRS = 10500, /* KW_VALUE_PAIRS */
277 KW_EXCLUDE = 10502, /* KW_EXCLUDE */
278 KW_PAIR = 10503, /* KW_PAIR */
279 KW_KEY = 10504, /* KW_KEY */
280 KW_SCOPE = 10505, /* KW_SCOPE */
281 KW_SHIFT = 10506, /* KW_SHIFT */
282 KW_SHIFT_LEVELS = 10507, /* KW_SHIFT_LEVELS */
283 KW_REKEY = 10508, /* KW_REKEY */
284 KW_ADD_PREFIX = 10509, /* KW_ADD_PREFIX */
285 KW_REPLACE_PREFIX = 10510, /* KW_REPLACE_PREFIX */
286 KW_ON_ERROR = 10511, /* KW_ON_ERROR */
287 KW_RETRIES = 10512, /* KW_RETRIES */
288 KW_FETCH_NO_DATA_DELAY = 10513, /* KW_FETCH_NO_DATA_DELAY */
289 KW_JAVA = 10515, /* KW_JAVA */
290 KW_CLASS_PATH = 10516, /* KW_CLASS_PATH */
291 KW_CLASS_NAME = 10517, /* KW_CLASS_NAME */
292 KW_JVM_OPTIONS = 10518 /* KW_JVM_OPTIONS */
293 };
294 typedef enum java_tokentype java_token_kind_t;
295 #endif
296 /* Token kinds. */
297 #define JAVA_EMPTY -2
298 #define JAVA_EOF 0
299 #define JAVA_error 256
300 #define JAVA_UNDEF 10514
301 #define LL_CONTEXT_ROOT 1
302 #define LL_CONTEXT_DESTINATION 2
303 #define LL_CONTEXT_SOURCE 3
304 #define LL_CONTEXT_PARSER 4
305 #define LL_CONTEXT_REWRITE 5
306 #define LL_CONTEXT_FILTER 6
307 #define LL_CONTEXT_LOG 7
308 #define LL_CONTEXT_BLOCK_DEF 8
309 #define LL_CONTEXT_BLOCK_REF 9
310 #define LL_CONTEXT_BLOCK_CONTENT 10
311 #define LL_CONTEXT_BLOCK_ARG 11
312 #define LL_CONTEXT_PRAGMA 12
313 #define LL_CONTEXT_FORMAT 13
314 #define LL_CONTEXT_TEMPLATE_FUNC 14
315 #define LL_CONTEXT_INNER_DEST 15
316 #define LL_CONTEXT_INNER_SRC 16
317 #define LL_CONTEXT_CLIENT_PROTO 17
318 #define LL_CONTEXT_SERVER_PROTO 18
319 #define LL_CONTEXT_OPTIONS 19
320 #define LL_CONTEXT_CONFIG 20
321 #define LL_CONTEXT_MAX 21
322 #define KW_SOURCE 10000
323 #define KW_FILTER 10001
324 #define KW_PARSER 10002
325 #define KW_DESTINATION 10003
326 #define KW_LOG 10004
327 #define KW_OPTIONS 10005
328 #define KW_INCLUDE 10006
329 #define KW_BLOCK 10007
330 #define KW_JUNCTION 10008
331 #define KW_CHANNEL 10009
332 #define KW_IF 10010
333 #define KW_ELSE 10011
334 #define KW_ELIF 10012
335 #define KW_INTERNAL 10020
336 #define KW_SYSLOG 10060
337 #define KW_MARK_FREQ 10071
338 #define KW_STATS_FREQ 10072
339 #define KW_STATS_LEVEL 10073
340 #define KW_STATS_LIFETIME 10074
341 #define KW_FLUSH_LINES 10075
342 #define KW_SUPPRESS 10076
343 #define KW_FLUSH_TIMEOUT 10077
344 #define KW_LOG_MSG_SIZE 10078
345 #define KW_FILE_TEMPLATE 10079
346 #define KW_PROTO_TEMPLATE 10080
347 #define KW_MARK_MODE 10081
348 #define KW_ENCODING 10082
349 #define KW_TYPE 10083
350 #define KW_STATS_MAX_DYNAMIC 10084
351 #define KW_MIN_IW_SIZE_PER_READER 10085
352 #define KW_WORKERS 10086
353 #define KW_BATCH_LINES 10087
354 #define KW_BATCH_TIMEOUT 10088
355 #define KW_TRIM_LARGE_MESSAGES 10089
356 #define KW_CHAIN_HOSTNAMES 10090
357 #define KW_NORMALIZE_HOSTNAMES 10091
358 #define KW_KEEP_HOSTNAME 10092
359 #define KW_CHECK_HOSTNAME 10093
360 #define KW_BAD_HOSTNAME 10094
361 #define KW_KEEP_TIMESTAMP 10100
362 #define KW_USE_DNS 10110
363 #define KW_USE_FQDN 10111
364 #define KW_CUSTOM_DOMAIN 10112
365 #define KW_DNS_CACHE 10120
366 #define KW_DNS_CACHE_SIZE 10121
367 #define KW_DNS_CACHE_EXPIRE 10130
368 #define KW_DNS_CACHE_EXPIRE_FAILED 10131
369 #define KW_DNS_CACHE_HOSTS 10132
370 #define KW_PERSIST_ONLY 10140
371 #define KW_USE_RCPTID 10141
372 #define KW_USE_UNIQID 10142
373 #define KW_TZ_CONVERT 10150
374 #define KW_TS_FORMAT 10151
375 #define KW_FRAC_DIGITS 10152
376 #define KW_LOG_FIFO_SIZE 10160
377 #define KW_LOG_FETCH_LIMIT 10162
378 #define KW_LOG_IW_SIZE 10163
379 #define KW_LOG_PREFIX 10164
380 #define KW_PROGRAM_OVERRIDE 10165
381 #define KW_HOST_OVERRIDE 10166
382 #define KW_THROTTLE 10170
383 #define KW_THREADED 10171
384 #define KW_PASS_UNIX_CREDENTIALS 10231
385 #define KW_PERSIST_NAME 10302
386 #define KW_READ_OLD_RECORDS 10304
387 #define KW_USE_SYSLOGNG_PID 10305
388 #define KW_FLAGS 10190
389 #define KW_PAD_SIZE 10200
390 #define KW_TIME_ZONE 10201
391 #define KW_RECV_TIME_ZONE 10202
392 #define KW_SEND_TIME_ZONE 10203
393 #define KW_LOCAL_TIME_ZONE 10204
394 #define KW_FORMAT 10205
395 #define KW_TRUNCATE_SIZE 10206
396 #define KW_TIME_REOPEN 10210
397 #define KW_TIME_REAP 10211
398 #define KW_TIME_SLEEP 10212
399 #define KW_TMPL_ESCAPE 10220
400 #define KW_OPTIONAL 10230
401 #define KW_CREATE_DIRS 10240
402 #define KW_OWNER 10250
403 #define KW_GROUP 10251
404 #define KW_PERM 10252
405 #define KW_DIR_OWNER 10260
406 #define KW_DIR_GROUP 10261
407 #define KW_DIR_PERM 10262
408 #define KW_TEMPLATE 10270
409 #define KW_TEMPLATE_ESCAPE 10271
410 #define KW_TEMPLATE_FUNCTION 10272
411 #define KW_DEFAULT_FACILITY 10300
412 #define KW_DEFAULT_SEVERITY 10301
413 #define KW_PORT 10323
414 #define KW_USE_TIME_RECVD 10340
415 #define KW_FACILITY 10350
416 #define KW_SEVERITY 10351
417 #define KW_HOST 10352
418 #define KW_MATCH 10353
419 #define KW_MESSAGE 10354
420 #define KW_NETMASK 10355
421 #define KW_TAGS 10356
422 #define KW_NETMASK6 10357
423 #define KW_REWRITE 10370
424 #define KW_CONDITION 10371
425 #define KW_VALUE 10372
426 #define KW_YES 10380
427 #define KW_NO 10381
428 #define KW_IFDEF 10410
429 #define KW_ENDIF 10411
430 #define LL_DOTDOT 10420
431 #define LL_DOTDOTDOT 10421
432 #define LL_PRAGMA 10422
433 #define LL_EOL 10423
434 #define LL_ERROR 10424
435 #define LL_ARROW 10425
436 #define LL_IDENTIFIER 10430
437 #define LL_NUMBER 10431
438 #define LL_FLOAT 10432
439 #define LL_STRING 10433
440 #define LL_TOKEN 10434
441 #define LL_BLOCK 10435
442 #define KW_VALUE_PAIRS 10500
443 #define KW_EXCLUDE 10502
444 #define KW_PAIR 10503
445 #define KW_KEY 10504
446 #define KW_SCOPE 10505
447 #define KW_SHIFT 10506
448 #define KW_SHIFT_LEVELS 10507
449 #define KW_REKEY 10508
450 #define KW_ADD_PREFIX 10509
451 #define KW_REPLACE_PREFIX 10510
452 #define KW_ON_ERROR 10511
453 #define KW_RETRIES 10512
454 #define KW_FETCH_NO_DATA_DELAY 10513
455 #define KW_JAVA 10515
456 #define KW_CLASS_PATH 10516
457 #define KW_CLASS_NAME 10517
458 #define KW_JVM_OPTIONS 10518
459
460 /* Value type. */
461 #if ! defined JAVA_STYPE && ! defined JAVA_STYPE_IS_DECLARED
462 typedef CFG_STYPE JAVA_STYPE;
463 # define JAVA_STYPE_IS_TRIVIAL 1
464 # define JAVA_STYPE_IS_DECLARED 1
465 #endif
466
467 /* Location type. */
468 typedef CFG_LTYPE JAVA_LTYPE;
469
470
471
472
473 int java_parse (CfgLexer *lexer, LogDriver **instance, gpointer arg);
474
475
476 #endif /* !YY_JAVA_MODULES_JAVA_NATIVE_JAVA_GRAMMAR_H_INCLUDED */
477 /* Symbol kind. */
478 enum yysymbol_kind_t
479 {
480 YYSYMBOL_YYEMPTY = -2,
481 YYSYMBOL_YYEOF = 0, /* "end of file" */
482 YYSYMBOL_YYerror = 1, /* error */
483 YYSYMBOL_YYUNDEF = 2, /* "invalid token" */
484 YYSYMBOL_LL_CONTEXT_ROOT = 3, /* LL_CONTEXT_ROOT */
485 YYSYMBOL_LL_CONTEXT_DESTINATION = 4, /* LL_CONTEXT_DESTINATION */
486 YYSYMBOL_LL_CONTEXT_SOURCE = 5, /* LL_CONTEXT_SOURCE */
487 YYSYMBOL_LL_CONTEXT_PARSER = 6, /* LL_CONTEXT_PARSER */
488 YYSYMBOL_LL_CONTEXT_REWRITE = 7, /* LL_CONTEXT_REWRITE */
489 YYSYMBOL_LL_CONTEXT_FILTER = 8, /* LL_CONTEXT_FILTER */
490 YYSYMBOL_LL_CONTEXT_LOG = 9, /* LL_CONTEXT_LOG */
491 YYSYMBOL_LL_CONTEXT_BLOCK_DEF = 10, /* LL_CONTEXT_BLOCK_DEF */
492 YYSYMBOL_LL_CONTEXT_BLOCK_REF = 11, /* LL_CONTEXT_BLOCK_REF */
493 YYSYMBOL_LL_CONTEXT_BLOCK_CONTENT = 12, /* LL_CONTEXT_BLOCK_CONTENT */
494 YYSYMBOL_LL_CONTEXT_BLOCK_ARG = 13, /* LL_CONTEXT_BLOCK_ARG */
495 YYSYMBOL_LL_CONTEXT_PRAGMA = 14, /* LL_CONTEXT_PRAGMA */
496 YYSYMBOL_LL_CONTEXT_FORMAT = 15, /* LL_CONTEXT_FORMAT */
497 YYSYMBOL_LL_CONTEXT_TEMPLATE_FUNC = 16, /* LL_CONTEXT_TEMPLATE_FUNC */
498 YYSYMBOL_LL_CONTEXT_INNER_DEST = 17, /* LL_CONTEXT_INNER_DEST */
499 YYSYMBOL_LL_CONTEXT_INNER_SRC = 18, /* LL_CONTEXT_INNER_SRC */
500 YYSYMBOL_LL_CONTEXT_CLIENT_PROTO = 19, /* LL_CONTEXT_CLIENT_PROTO */
501 YYSYMBOL_LL_CONTEXT_SERVER_PROTO = 20, /* LL_CONTEXT_SERVER_PROTO */
502 YYSYMBOL_LL_CONTEXT_OPTIONS = 21, /* LL_CONTEXT_OPTIONS */
503 YYSYMBOL_LL_CONTEXT_CONFIG = 22, /* LL_CONTEXT_CONFIG */
504 YYSYMBOL_LL_CONTEXT_MAX = 23, /* LL_CONTEXT_MAX */
505 YYSYMBOL_KW_SOURCE = 24, /* KW_SOURCE */
506 YYSYMBOL_KW_FILTER = 25, /* KW_FILTER */
507 YYSYMBOL_KW_PARSER = 26, /* KW_PARSER */
508 YYSYMBOL_KW_DESTINATION = 27, /* KW_DESTINATION */
509 YYSYMBOL_KW_LOG = 28, /* KW_LOG */
510 YYSYMBOL_KW_OPTIONS = 29, /* KW_OPTIONS */
511 YYSYMBOL_KW_INCLUDE = 30, /* KW_INCLUDE */
512 YYSYMBOL_KW_BLOCK = 31, /* KW_BLOCK */
513 YYSYMBOL_KW_JUNCTION = 32, /* KW_JUNCTION */
514 YYSYMBOL_KW_CHANNEL = 33, /* KW_CHANNEL */
515 YYSYMBOL_KW_IF = 34, /* KW_IF */
516 YYSYMBOL_KW_ELSE = 35, /* KW_ELSE */
517 YYSYMBOL_KW_ELIF = 36, /* KW_ELIF */
518 YYSYMBOL_KW_INTERNAL = 37, /* KW_INTERNAL */
519 YYSYMBOL_KW_SYSLOG = 38, /* KW_SYSLOG */
520 YYSYMBOL_KW_MARK_FREQ = 39, /* KW_MARK_FREQ */
521 YYSYMBOL_KW_STATS_FREQ = 40, /* KW_STATS_FREQ */
522 YYSYMBOL_KW_STATS_LEVEL = 41, /* KW_STATS_LEVEL */
523 YYSYMBOL_KW_STATS_LIFETIME = 42, /* KW_STATS_LIFETIME */
524 YYSYMBOL_KW_FLUSH_LINES = 43, /* KW_FLUSH_LINES */
525 YYSYMBOL_KW_SUPPRESS = 44, /* KW_SUPPRESS */
526 YYSYMBOL_KW_FLUSH_TIMEOUT = 45, /* KW_FLUSH_TIMEOUT */
527 YYSYMBOL_KW_LOG_MSG_SIZE = 46, /* KW_LOG_MSG_SIZE */
528 YYSYMBOL_KW_FILE_TEMPLATE = 47, /* KW_FILE_TEMPLATE */
529 YYSYMBOL_KW_PROTO_TEMPLATE = 48, /* KW_PROTO_TEMPLATE */
530 YYSYMBOL_KW_MARK_MODE = 49, /* KW_MARK_MODE */
531 YYSYMBOL_KW_ENCODING = 50, /* KW_ENCODING */
532 YYSYMBOL_KW_TYPE = 51, /* KW_TYPE */
533 YYSYMBOL_KW_STATS_MAX_DYNAMIC = 52, /* KW_STATS_MAX_DYNAMIC */
534 YYSYMBOL_KW_MIN_IW_SIZE_PER_READER = 53, /* KW_MIN_IW_SIZE_PER_READER */
535 YYSYMBOL_KW_WORKERS = 54, /* KW_WORKERS */
536 YYSYMBOL_KW_BATCH_LINES = 55, /* KW_BATCH_LINES */
537 YYSYMBOL_KW_BATCH_TIMEOUT = 56, /* KW_BATCH_TIMEOUT */
538 YYSYMBOL_KW_TRIM_LARGE_MESSAGES = 57, /* KW_TRIM_LARGE_MESSAGES */
539 YYSYMBOL_KW_CHAIN_HOSTNAMES = 58, /* KW_CHAIN_HOSTNAMES */
540 YYSYMBOL_KW_NORMALIZE_HOSTNAMES = 59, /* KW_NORMALIZE_HOSTNAMES */
541 YYSYMBOL_KW_KEEP_HOSTNAME = 60, /* KW_KEEP_HOSTNAME */
542 YYSYMBOL_KW_CHECK_HOSTNAME = 61, /* KW_CHECK_HOSTNAME */
543 YYSYMBOL_KW_BAD_HOSTNAME = 62, /* KW_BAD_HOSTNAME */
544 YYSYMBOL_KW_KEEP_TIMESTAMP = 63, /* KW_KEEP_TIMESTAMP */
545 YYSYMBOL_KW_USE_DNS = 64, /* KW_USE_DNS */
546 YYSYMBOL_KW_USE_FQDN = 65, /* KW_USE_FQDN */
547 YYSYMBOL_KW_CUSTOM_DOMAIN = 66, /* KW_CUSTOM_DOMAIN */
548 YYSYMBOL_KW_DNS_CACHE = 67, /* KW_DNS_CACHE */
549 YYSYMBOL_KW_DNS_CACHE_SIZE = 68, /* KW_DNS_CACHE_SIZE */
550 YYSYMBOL_KW_DNS_CACHE_EXPIRE = 69, /* KW_DNS_CACHE_EXPIRE */
551 YYSYMBOL_KW_DNS_CACHE_EXPIRE_FAILED = 70, /* KW_DNS_CACHE_EXPIRE_FAILED */
552 YYSYMBOL_KW_DNS_CACHE_HOSTS = 71, /* KW_DNS_CACHE_HOSTS */
553 YYSYMBOL_KW_PERSIST_ONLY = 72, /* KW_PERSIST_ONLY */
554 YYSYMBOL_KW_USE_RCPTID = 73, /* KW_USE_RCPTID */
555 YYSYMBOL_KW_USE_UNIQID = 74, /* KW_USE_UNIQID */
556 YYSYMBOL_KW_TZ_CONVERT = 75, /* KW_TZ_CONVERT */
557 YYSYMBOL_KW_TS_FORMAT = 76, /* KW_TS_FORMAT */
558 YYSYMBOL_KW_FRAC_DIGITS = 77, /* KW_FRAC_DIGITS */
559 YYSYMBOL_KW_LOG_FIFO_SIZE = 78, /* KW_LOG_FIFO_SIZE */
560 YYSYMBOL_KW_LOG_FETCH_LIMIT = 79, /* KW_LOG_FETCH_LIMIT */
561 YYSYMBOL_KW_LOG_IW_SIZE = 80, /* KW_LOG_IW_SIZE */
562 YYSYMBOL_KW_LOG_PREFIX = 81, /* KW_LOG_PREFIX */
563 YYSYMBOL_KW_PROGRAM_OVERRIDE = 82, /* KW_PROGRAM_OVERRIDE */
564 YYSYMBOL_KW_HOST_OVERRIDE = 83, /* KW_HOST_OVERRIDE */
565 YYSYMBOL_KW_THROTTLE = 84, /* KW_THROTTLE */
566 YYSYMBOL_KW_THREADED = 85, /* KW_THREADED */
567 YYSYMBOL_KW_PASS_UNIX_CREDENTIALS = 86, /* KW_PASS_UNIX_CREDENTIALS */
568 YYSYMBOL_KW_PERSIST_NAME = 87, /* KW_PERSIST_NAME */
569 YYSYMBOL_KW_READ_OLD_RECORDS = 88, /* KW_READ_OLD_RECORDS */
570 YYSYMBOL_KW_USE_SYSLOGNG_PID = 89, /* KW_USE_SYSLOGNG_PID */
571 YYSYMBOL_KW_FLAGS = 90, /* KW_FLAGS */
572 YYSYMBOL_KW_PAD_SIZE = 91, /* KW_PAD_SIZE */
573 YYSYMBOL_KW_TIME_ZONE = 92, /* KW_TIME_ZONE */
574 YYSYMBOL_KW_RECV_TIME_ZONE = 93, /* KW_RECV_TIME_ZONE */
575 YYSYMBOL_KW_SEND_TIME_ZONE = 94, /* KW_SEND_TIME_ZONE */
576 YYSYMBOL_KW_LOCAL_TIME_ZONE = 95, /* KW_LOCAL_TIME_ZONE */
577 YYSYMBOL_KW_FORMAT = 96, /* KW_FORMAT */
578 YYSYMBOL_KW_TRUNCATE_SIZE = 97, /* KW_TRUNCATE_SIZE */
579 YYSYMBOL_KW_TIME_REOPEN = 98, /* KW_TIME_REOPEN */
580 YYSYMBOL_KW_TIME_REAP = 99, /* KW_TIME_REAP */
581 YYSYMBOL_KW_TIME_SLEEP = 100, /* KW_TIME_SLEEP */
582 YYSYMBOL_KW_TMPL_ESCAPE = 101, /* KW_TMPL_ESCAPE */
583 YYSYMBOL_KW_OPTIONAL = 102, /* KW_OPTIONAL */
584 YYSYMBOL_KW_CREATE_DIRS = 103, /* KW_CREATE_DIRS */
585 YYSYMBOL_KW_OWNER = 104, /* KW_OWNER */
586 YYSYMBOL_KW_GROUP = 105, /* KW_GROUP */
587 YYSYMBOL_KW_PERM = 106, /* KW_PERM */
588 YYSYMBOL_KW_DIR_OWNER = 107, /* KW_DIR_OWNER */
589 YYSYMBOL_KW_DIR_GROUP = 108, /* KW_DIR_GROUP */
590 YYSYMBOL_KW_DIR_PERM = 109, /* KW_DIR_PERM */
591 YYSYMBOL_KW_TEMPLATE = 110, /* KW_TEMPLATE */
592 YYSYMBOL_KW_TEMPLATE_ESCAPE = 111, /* KW_TEMPLATE_ESCAPE */
593 YYSYMBOL_KW_TEMPLATE_FUNCTION = 112, /* KW_TEMPLATE_FUNCTION */
594 YYSYMBOL_KW_DEFAULT_FACILITY = 113, /* KW_DEFAULT_FACILITY */
595 YYSYMBOL_KW_DEFAULT_SEVERITY = 114, /* KW_DEFAULT_SEVERITY */
596 YYSYMBOL_KW_PORT = 115, /* KW_PORT */
597 YYSYMBOL_KW_USE_TIME_RECVD = 116, /* KW_USE_TIME_RECVD */
598 YYSYMBOL_KW_FACILITY = 117, /* KW_FACILITY */
599 YYSYMBOL_KW_SEVERITY = 118, /* KW_SEVERITY */
600 YYSYMBOL_KW_HOST = 119, /* KW_HOST */
601 YYSYMBOL_KW_MATCH = 120, /* KW_MATCH */
602 YYSYMBOL_KW_MESSAGE = 121, /* KW_MESSAGE */
603 YYSYMBOL_KW_NETMASK = 122, /* KW_NETMASK */
604 YYSYMBOL_KW_TAGS = 123, /* KW_TAGS */
605 YYSYMBOL_KW_NETMASK6 = 124, /* KW_NETMASK6 */
606 YYSYMBOL_KW_REWRITE = 125, /* KW_REWRITE */
607 YYSYMBOL_KW_CONDITION = 126, /* KW_CONDITION */
608 YYSYMBOL_KW_VALUE = 127, /* KW_VALUE */
609 YYSYMBOL_KW_YES = 128, /* KW_YES */
610 YYSYMBOL_KW_NO = 129, /* KW_NO */
611 YYSYMBOL_KW_IFDEF = 130, /* KW_IFDEF */
612 YYSYMBOL_KW_ENDIF = 131, /* KW_ENDIF */
613 YYSYMBOL_LL_DOTDOT = 132, /* LL_DOTDOT */
614 YYSYMBOL_LL_DOTDOTDOT = 133, /* LL_DOTDOTDOT */
615 YYSYMBOL_LL_PRAGMA = 134, /* LL_PRAGMA */
616 YYSYMBOL_LL_EOL = 135, /* LL_EOL */
617 YYSYMBOL_LL_ERROR = 136, /* LL_ERROR */
618 YYSYMBOL_LL_ARROW = 137, /* LL_ARROW */
619 YYSYMBOL_LL_IDENTIFIER = 138, /* LL_IDENTIFIER */
620 YYSYMBOL_LL_NUMBER = 139, /* LL_NUMBER */
621 YYSYMBOL_LL_FLOAT = 140, /* LL_FLOAT */
622 YYSYMBOL_LL_STRING = 141, /* LL_STRING */
623 YYSYMBOL_LL_TOKEN = 142, /* LL_TOKEN */
624 YYSYMBOL_LL_BLOCK = 143, /* LL_BLOCK */
625 YYSYMBOL_KW_VALUE_PAIRS = 144, /* KW_VALUE_PAIRS */
626 YYSYMBOL_KW_EXCLUDE = 145, /* KW_EXCLUDE */
627 YYSYMBOL_KW_PAIR = 146, /* KW_PAIR */
628 YYSYMBOL_KW_KEY = 147, /* KW_KEY */
629 YYSYMBOL_KW_SCOPE = 148, /* KW_SCOPE */
630 YYSYMBOL_KW_SHIFT = 149, /* KW_SHIFT */
631 YYSYMBOL_KW_SHIFT_LEVELS = 150, /* KW_SHIFT_LEVELS */
632 YYSYMBOL_KW_REKEY = 151, /* KW_REKEY */
633 YYSYMBOL_KW_ADD_PREFIX = 152, /* KW_ADD_PREFIX */
634 YYSYMBOL_KW_REPLACE_PREFIX = 153, /* KW_REPLACE_PREFIX */
635 YYSYMBOL_KW_ON_ERROR = 154, /* KW_ON_ERROR */
636 YYSYMBOL_KW_RETRIES = 155, /* KW_RETRIES */
637 YYSYMBOL_KW_FETCH_NO_DATA_DELAY = 156, /* KW_FETCH_NO_DATA_DELAY */
638 YYSYMBOL_KW_JAVA = 157, /* KW_JAVA */
639 YYSYMBOL_KW_CLASS_PATH = 158, /* KW_CLASS_PATH */
640 YYSYMBOL_KW_CLASS_NAME = 159, /* KW_CLASS_NAME */
641 YYSYMBOL_KW_JVM_OPTIONS = 160, /* KW_JVM_OPTIONS */
642 YYSYMBOL_161_ = 161, /* '(' */
643 YYSYMBOL_162_ = 162, /* ')' */
644 YYSYMBOL_163_ = 163, /* '{' */
645 YYSYMBOL_164_ = 164, /* '}' */
646 YYSYMBOL_165_ = 165, /* ';' */
647 YYSYMBOL_166_ = 166, /* ':' */
648 YYSYMBOL_YYACCEPT = 167, /* $accept */
649 YYSYMBOL_start = 168, /* start */
650 YYSYMBOL_169_1 = 169, /* $@1 */
651 YYSYMBOL_java_dest_options = 170, /* java_dest_options */
652 YYSYMBOL_java_dest_option = 171, /* java_dest_option */
653 YYSYMBOL_172_2 = 172, /* $@2 */
654 YYSYMBOL_java_dest_custom_options = 173, /* java_dest_custom_options */
655 YYSYMBOL_java_dest_custom_option = 174, /* java_dest_custom_option */
656 YYSYMBOL_java_global_option = 175, /* java_global_option */
657 YYSYMBOL_string = 176, /* string */
658 YYSYMBOL_nonnegative_integer64 = 177, /* nonnegative_integer64 */
659 YYSYMBOL_nonnegative_integer = 178, /* nonnegative_integer */
660 YYSYMBOL_positive_integer64 = 179, /* positive_integer64 */
661 YYSYMBOL_positive_integer = 180, /* positive_integer */
662 YYSYMBOL_string_or_number = 181, /* string_or_number */
663 YYSYMBOL_driver_option = 182, /* driver_option */
664 YYSYMBOL_inner_dest = 183, /* inner_dest */
665 YYSYMBOL_dest_driver_option = 184, /* dest_driver_option */
666 YYSYMBOL_threaded_dest_driver_batch_option = 185, /* threaded_dest_driver_batch_option */
667 YYSYMBOL_threaded_dest_driver_general_option = 186, /* threaded_dest_driver_general_option */
668 YYSYMBOL_template_option = 187 /* template_option */
669 };
670 typedef enum yysymbol_kind_t yysymbol_kind_t;
671
672
673
674 /* Unqualified %code blocks. */
675 #line 31 "modules/java/native/java-grammar.y"
676
677
678 #include "cfg-parser.h"
679 #include "cfg-grammar-internal.h"
680 #include "java-config.h"
681 #include "plugin.h"
682
683 #line 55 "modules/java/native/java-grammar.y"
684
685
686 # define YYLLOC_DEFAULT(Current, Rhs, N) \
687 do { \
688 if (N) \
689 { \
690 (Current).level = YYRHSLOC(Rhs, 1).level; \
691 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
692 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
693 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
694 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
695 } \
696 else \
697 { \
698 (Current).level = YYRHSLOC(Rhs, 0).level; \
699 (Current).first_line = (Current).last_line = \
700 YYRHSLOC (Rhs, 0).last_line; \
701 (Current).first_column = (Current).last_column = \
702 YYRHSLOC (Rhs, 0).last_column; \
703 } \
704 } while (0)
705
706 #define CHECK_ERROR_WITHOUT_MESSAGE(val, token) do { \
707 if (!(val)) \
708 { \
709 YYERROR; \
710 } \
711 } while (0)
712
713 #define CHECK_ERROR(val, token, errorfmt, ...) do { \
714 if (!(val)) \
715 { \
716 if (errorfmt) \
717 { \
718 gchar __buf[256]; \
719 g_snprintf(__buf, sizeof(__buf), errorfmt, ## __VA_ARGS__); \
720 yyerror(& (token), lexer, NULL, NULL, __buf); \
721 } \
722 YYERROR; \
723 } \
724 } while (0)
725
726 #define CHECK_ERROR_GERROR(val, token, error, errorfmt, ...) do { \
727 if (!(val)) \
728 { \
729 if (errorfmt) \
730 { \
731 gchar __buf[256]; \
732 g_snprintf(__buf, sizeof(__buf), errorfmt ", error=%s", ## __VA_ARGS__, error->message); \
733 yyerror(& (token), lexer, NULL, NULL, __buf); \
734 } \
735 g_clear_error(&error); \
736 YYERROR; \
737 } \
738 } while (0)
739
740 #define YYMAXDEPTH 20000
741
742
743
744 #line 745 "modules/java/native/java-grammar.c"
745
746 #ifdef short
747 # undef short
748 #endif
749
750 /* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
751 <limits.h> and (if available) <stdint.h> are included
752 so that the code can choose integer types of a good width. */
753
754 #ifndef __PTRDIFF_MAX__
755 # include <limits.h> /* INFRINGES ON USER NAME SPACE */
756 # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
757 # include <stdint.h> /* INFRINGES ON USER NAME SPACE */
758 # define YY_STDINT_H
759 # endif
760 #endif
761
762 /* Narrow types that promote to a signed type and that can represent a
763 signed or unsigned integer of at least N bits. In tables they can
764 save space and decrease cache pressure. Promoting to a signed type
765 helps avoid bugs in integer arithmetic. */
766
767 #ifdef __INT_LEAST8_MAX__
768 typedef __INT_LEAST8_TYPE__ yytype_int8;
769 #elif defined YY_STDINT_H
770 typedef int_least8_t yytype_int8;
771 #else
772 typedef signed char yytype_int8;
773 #endif
774
775 #ifdef __INT_LEAST16_MAX__
776 typedef __INT_LEAST16_TYPE__ yytype_int16;
777 #elif defined YY_STDINT_H
778 typedef int_least16_t yytype_int16;
779 #else
780 typedef short yytype_int16;
781 #endif
782
783 /* Work around bug in HP-UX 11.23, which defines these macros
784 incorrectly for preprocessor constants. This workaround can likely
785 be removed in 2023, as HPE has promised support for HP-UX 11.23
786 (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
787 <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */
788 #ifdef __hpux
789 # undef UINT_LEAST8_MAX
790 # undef UINT_LEAST16_MAX
791 # define UINT_LEAST8_MAX 255
792 # define UINT_LEAST16_MAX 65535
793 #endif
794
795 #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
796 typedef __UINT_LEAST8_TYPE__ yytype_uint8;
797 #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
798 && UINT_LEAST8_MAX <= INT_MAX)
799 typedef uint_least8_t yytype_uint8;
800 #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
801 typedef unsigned char yytype_uint8;
802 #else
803 typedef short yytype_uint8;
804 #endif
805
806 #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
807 typedef __UINT_LEAST16_TYPE__ yytype_uint16;
808 #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
809 && UINT_LEAST16_MAX <= INT_MAX)
810 typedef uint_least16_t yytype_uint16;
811 #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
812 typedef unsigned short yytype_uint16;
813 #else
814 typedef int yytype_uint16;
815 #endif
816
817 #ifndef YYPTRDIFF_T
818 # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
819 # define YYPTRDIFF_T __PTRDIFF_TYPE__
820 # define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
821 # elif defined PTRDIFF_MAX
822 # ifndef ptrdiff_t
823 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
824 # endif
825 # define YYPTRDIFF_T ptrdiff_t
826 # define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
827 # else
828 # define YYPTRDIFF_T long
829 # define YYPTRDIFF_MAXIMUM LONG_MAX
830 # endif
831 #endif
832
833 #ifndef YYSIZE_T
834 # ifdef __SIZE_TYPE__
835 # define YYSIZE_T __SIZE_TYPE__
836 # elif defined size_t
837 # define YYSIZE_T size_t
838 # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
839 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
840 # define YYSIZE_T size_t
841 # else
842 # define YYSIZE_T unsigned
843 # endif
844 #endif
845
846 #define YYSIZE_MAXIMUM \
847 YY_CAST (YYPTRDIFF_T, \
848 (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
849 ? YYPTRDIFF_MAXIMUM \
850 : YY_CAST (YYSIZE_T, -1)))
851
852 #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
853
854
855 /* Stored state numbers (used for stacks). */
856 typedef yytype_int8 yy_state_t;
857
858 /* State numbers in computations. */
859 typedef int yy_state_fast_t;
860
861 #ifndef YY_
862 # if defined YYENABLE_NLS && YYENABLE_NLS
863 # if ENABLE_NLS
864 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
865 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
866 # endif
867 # endif
868 # ifndef YY_
869 # define YY_(Msgid) Msgid
870 # endif
871 #endif
872
873
874 #ifndef YY_ATTRIBUTE_PURE
875 # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
876 # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
877 # else
878 # define YY_ATTRIBUTE_PURE
879 # endif
880 #endif
881
882 #ifndef YY_ATTRIBUTE_UNUSED
883 # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
884 # define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
885 # else
886 # define YY_ATTRIBUTE_UNUSED
887 # endif
888 #endif
889
890 /* Suppress unused-variable warnings by "using" E. */
891 #if ! defined lint || defined __GNUC__
892 # define YY_USE(E) ((void) (E))
893 #else
894 # define YY_USE(E) /* empty */
895 #endif
896
897 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
898 #if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
899 # if __GNUC__ * 100 + __GNUC_MINOR__ < 407
900 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
901 _Pragma ("GCC diagnostic push") \
902 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
903 # else
904 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
905 _Pragma ("GCC diagnostic push") \
906 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
907 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
908 # endif
909 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
910 _Pragma ("GCC diagnostic pop")
911 #else
912 # define YY_INITIAL_VALUE(Value) Value
913 #endif
914 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
915 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
916 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
917 #endif
918 #ifndef YY_INITIAL_VALUE
919 # define YY_INITIAL_VALUE(Value) /* Nothing. */
920 #endif
921
922 #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
923 # define YY_IGNORE_USELESS_CAST_BEGIN \
924 _Pragma ("GCC diagnostic push") \
925 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
926 # define YY_IGNORE_USELESS_CAST_END \
927 _Pragma ("GCC diagnostic pop")
928 #endif
929 #ifndef YY_IGNORE_USELESS_CAST_BEGIN
930 # define YY_IGNORE_USELESS_CAST_BEGIN
931 # define YY_IGNORE_USELESS_CAST_END
932 #endif
933
934
935 #define YY_ASSERT(E) ((void) (0 && (E)))
936
937 #if 1
938
939 /* The parser invokes alloca or malloc; define the necessary symbols. */
940
941 # ifdef YYSTACK_USE_ALLOCA
942 # if YYSTACK_USE_ALLOCA
943 # ifdef __GNUC__
944 # define YYSTACK_ALLOC __builtin_alloca
945 # elif defined __BUILTIN_VA_ARG_INCR
946 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
947 # elif defined _AIX
948 # define YYSTACK_ALLOC __alloca
949 # elif defined _MSC_VER
950 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
951 # define alloca _alloca
952 # else
953 # define YYSTACK_ALLOC alloca
954 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
955 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
956 /* Use EXIT_SUCCESS as a witness for stdlib.h. */
957 # ifndef EXIT_SUCCESS
958 # define EXIT_SUCCESS 0
959 # endif
960 # endif
961 # endif
962 # endif
963 # endif
964
965 # ifdef YYSTACK_ALLOC
966 /* Pacify GCC's 'empty if-body' warning. */
967 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
968 # ifndef YYSTACK_ALLOC_MAXIMUM
969 /* The OS might guarantee only one guard page at the bottom of the stack,
970 and a page size can be as small as 4096 bytes. So we cannot safely
971 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
972 to allow for a few compiler-allocated temporary stack slots. */
973 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
974 # endif
975 # else
976 # define YYSTACK_ALLOC YYMALLOC
977 # define YYSTACK_FREE YYFREE
978 # ifndef YYSTACK_ALLOC_MAXIMUM
979 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
980 # endif
981 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
982 && ! ((defined YYMALLOC || defined malloc) \
983 && (defined YYFREE || defined free)))
984 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
985 # ifndef EXIT_SUCCESS
986 # define EXIT_SUCCESS 0
987 # endif
988 # endif
989 # ifndef YYMALLOC
990 # define YYMALLOC malloc
991 # if ! defined malloc && ! defined EXIT_SUCCESS
992 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
993 # endif
994 # endif
995 # ifndef YYFREE
996 # define YYFREE free
997 # if ! defined free && ! defined EXIT_SUCCESS
998 void free (void *); /* INFRINGES ON USER NAME SPACE */
999 # endif
1000 # endif
1001 # endif
1002 #endif /* 1 */
1003
1004 #if (! defined yyoverflow \
1005 && (! defined __cplusplus \
1006 || (defined JAVA_LTYPE_IS_TRIVIAL && JAVA_LTYPE_IS_TRIVIAL \
1007 && defined JAVA_STYPE_IS_TRIVIAL && JAVA_STYPE_IS_TRIVIAL)))
1008
1009 /* A type that is properly aligned for any stack member. */
1010 union yyalloc
1011 {
1012 yy_state_t yyss_alloc;
1013 YYSTYPE yyvs_alloc;
1014 YYLTYPE yyls_alloc;
1015 };
1016
1017 /* The size of the maximum gap between one aligned stack and the next. */
1018 # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
1019
1020 /* The size of an array large to enough to hold all stacks, each with
1021 N elements. */
1022 # define YYSTACK_BYTES(N) \
1023 ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE) \
1024 + YYSIZEOF (YYLTYPE)) \
1025 + 2 * YYSTACK_GAP_MAXIMUM)
1026
1027 # define YYCOPY_NEEDED 1
1028
1029 /* Relocate STACK from its old location to the new one. The
1030 local variables YYSIZE and YYSTACKSIZE give the old and new number of
1031 elements in the stack, and YYPTR gives the new location of the
1032 stack. Advance YYPTR to a properly aligned location for the next
1033 stack. */
1034 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
1035 do \
1036 { \
1037 YYPTRDIFF_T yynewbytes; \
1038 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
1039 Stack = &yyptr->Stack_alloc; \
1040 yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
1041 yyptr += yynewbytes / YYSIZEOF (*yyptr); \
1042 } \
1043 while (0)
1044
1045 #endif
1046
1047 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1048 /* Copy COUNT objects from SRC to DST. The source and destination do
1049 not overlap. */
1050 # ifndef YYCOPY
1051 # if defined __GNUC__ && 1 < __GNUC__
1052 # define YYCOPY(Dst, Src, Count) \
1053 __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
1054 # else
1055 # define YYCOPY(Dst, Src, Count) \
1056 do \
1057 { \
1058 YYPTRDIFF_T yyi; \
1059 for (yyi = 0; yyi < (Count); yyi++) \
1060 (Dst)[yyi] = (Src)[yyi]; \
1061 } \
1062 while (0)
1063 # endif
1064 # endif
1065 #endif /* !YYCOPY_NEEDED */
1066
1067 /* YYFINAL -- State number of the termination state. */
1068 #define YYFINAL 7
1069 /* YYLAST -- Last index in YYTABLE. */
1070 #define YYLAST 133
1071
1072 /* YYNTOKENS -- Number of terminals. */
1073 #define YYNTOKENS 167
1074 /* YYNNTS -- Number of nonterminals. */
1075 #define YYNNTS 21
1076 /* YYNRULES -- Number of rules. */
1077 #define YYNRULES 45
1078 /* YYNSTATES -- Number of states. */
1079 #define YYNSTATES 108
1080
1081 /* YYMAXUTOK -- Last valid token kind. */
1082 #define YYMAXUTOK 10518
1083
1084
1085 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
1086 as returned by yylex, with out-of-bounds checking. */
1087 #define YYTRANSLATE(YYX) \
1088 (0 <= (YYX) && (YYX) <= YYMAXUTOK \
1089 ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
1090 : YYSYMBOL_YYUNDEF)
1091
1092 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
1093 as returned by yylex. */
1094 static const yytype_uint8 yytranslate[] =
1095 {
1096 0, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1097 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1098 22, 23, 2, 2, 2, 2, 2, 2, 2, 2,
1099 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1100 161, 162, 2, 2, 2, 2, 2, 2, 2, 2,
1101 2, 2, 2, 2, 2, 2, 2, 2, 166, 165,
1102 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1103 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1104 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1105 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1106 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1107 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1108 2, 2, 2, 163, 2, 164, 2, 2, 2, 2,
1109 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1110 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1111 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1112 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1113 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1114 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1115 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1116 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1117 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1118 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1119 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1120 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1121 2, 2, 2, 2, 2, 2, 1, 2, 2, 2,
1122 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1123 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1124 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1125 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1126 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1127 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1128 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1129 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1130 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1131 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1132 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1133 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1134 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1135 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1136 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1137 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1138 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1139 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1140 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1141 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1142 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1143 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1144 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1145 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1146 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1147 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1148 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1149 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1150 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1151 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1152 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1153 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1154 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1155 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1156 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1157 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1158 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1159 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1160 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1161 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1162 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1163 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1164 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1165 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1166 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1167 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1168 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1169 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1170 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1171 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1172 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1173 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1174 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1175 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1176 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1177 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1178 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1179 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1180 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1181 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1182 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1183 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1184 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1185 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1186 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1187 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1188 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1189 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1190 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1191 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1192 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1193 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1194 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1195 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1196 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1197 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1198 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1199 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1200 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1201 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1202 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1203 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1204 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1205 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1206 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1207 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1208 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1209 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1210 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1211 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1212 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1213 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1214 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1215 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1216 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1217 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1218 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1219 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1220 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1222 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1223 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1224 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1225 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1226 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1227 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1229 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1230 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1231 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1232 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1233 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1234 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1235 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1236 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1237 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1238 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1239 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1240 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1241 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1242 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1243 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1244 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1245 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1246 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1247 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1248 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1249 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1250 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1251 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1252 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1253 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1254 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1255 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1256 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1257 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1258 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1259 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1260 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1261 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1262 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1263 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1264 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1265 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1266 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1267 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1268 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1269 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1270 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1271 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1272 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1273 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1274 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1275 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1276 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1277 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1278 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1279 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1280 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1281 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1282 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1283 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1284 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1285 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1286 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1287 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1288 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1289 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1290 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1291 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1292 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1293 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1294 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1295 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1296 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1297 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1298 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1299 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1300 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1301 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1302 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1303 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1304 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1305 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1306 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1307 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1308 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1309 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1310 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1311 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1312 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1313 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1314 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1315 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1316 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1317 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1318 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1319 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1320 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1321 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1322 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1323 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1324 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1325 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1326 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1327 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1328 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1329 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1330 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1331 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1332 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1333 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1334 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1335 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1336 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1337 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1338 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1339 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1340 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1341 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1342 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1343 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1344 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1345 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1346 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1347 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1348 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1349 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1350 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1351 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1352 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1353 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1354 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1355 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1356 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1357 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1358 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1359 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1360 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1361 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1362 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1363 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1364 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1365 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1366 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1367 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1368 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1369 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1370 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1371 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1372 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1373 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1374 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1375 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1376 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1377 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1378 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1379 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1380 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1381 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1382 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1383 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1384 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1385 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1386 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1387 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1388 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1389 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1390 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1391 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1392 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1393 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1394 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1395 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1396 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1397 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1398 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1399 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1400 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1401 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1402 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1403 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1404 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1405 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1406 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1407 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1408 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1409 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1410 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1411 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1412 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1413 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1414 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1415 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1416 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1417 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1418 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1419 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1420 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1421 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1422 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1423 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1424 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1425 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1426 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1427 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1428 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1429 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1430 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1431 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1432 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1433 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1434 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1435 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1436 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1437 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1438 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1439 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1440 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1441 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1442 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1443 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1444 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1445 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1446 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1447 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1448 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1449 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1450 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1451 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1452 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1453 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1454 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1455 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1456 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1457 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1458 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1459 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1460 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1461 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1462 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1463 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1464 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1465 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1466 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1467 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1468 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1469 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1470 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1471 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1472 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1473 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1474 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1475 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1476 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1477 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1478 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1479 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1480 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1481 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1482 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1483 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1484 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1485 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1486 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1487 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1488 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1489 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1490 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1491 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1492 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1493 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1494 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1495 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1496 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1497 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1498 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1499 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1500 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1501 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1502 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1503 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1504 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1505 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1506 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1507 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1508 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1509 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1510 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1511 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1512 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1513 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1514 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1515 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1516 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1517 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1518 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1519 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1520 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1521 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1522 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1523 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1524 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1525 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1526 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1527 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1528 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1529 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1530 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1531 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1532 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1533 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1534 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1535 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1536 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1537 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1538 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1539 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1540 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1541 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1542 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1543 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1544 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1545 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1546 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1547 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1548 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1549 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1550 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1551 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1552 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1553 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1554 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1555 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1556 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1557 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1558 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1559 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1560 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1561 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1562 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1563 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1564 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1565 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1566 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1567 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1568 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1569 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1570 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1571 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1572 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1573 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1574 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1575 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1576 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1577 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1578 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1579 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1580 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1581 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1582 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1583 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1584 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1585 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1586 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1587 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1588 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1589 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1590 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1591 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1592 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1593 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1594 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1595 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1596 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1597 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1598 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1599 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1600 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1601 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1602 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1603 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1604 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1605 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1606 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1607 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1608 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1609 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1610 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1611 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1612 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1613 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1614 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1615 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1616 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1617 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1618 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1619 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1620 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1621 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1622 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1623 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1624 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1625 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1626 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1627 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1628 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1629 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1630 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1631 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1632 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1633 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1634 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1635 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1636 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1637 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1638 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1639 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1640 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1641 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1642 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1643 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1644 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1645 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1646 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1647 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1648 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1649 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1650 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1651 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1652 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1653 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1654 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1655 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1656 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1657 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1658 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1659 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1660 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1661 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1662 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1663 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1664 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1665 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1666 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1667 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1668 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1669 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1670 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1671 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1672 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1673 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1674 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1675 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1676 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1677 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1678 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1679 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1680 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1681 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1682 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1683 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1684 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1685 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1686 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1687 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1688 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1689 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1690 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1691 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1692 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1693 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1694 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1695 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1696 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1697 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1698 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1699 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1700 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1701 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1702 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1703 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1704 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1705 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1706 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1707 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1708 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1709 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1710 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1711 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1712 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1713 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1714 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1715 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1716 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1717 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1718 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1719 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1720 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1721 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1722 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1723 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1724 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1725 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1726 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1727 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1728 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1729 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1730 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1731 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1732 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1733 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1734 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1735 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1736 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1737 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1738 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1739 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1740 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1741 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1742 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1743 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1744 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1745 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1746 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1747 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1748 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1749 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1750 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1751 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1752 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1753 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1754 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1755 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1756 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1757 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1758 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1759 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1760 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1761 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1762 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1763 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1764 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1765 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1766 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1767 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1768 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1769 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1770 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1771 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1772 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1773 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1774 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1775 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1776 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1777 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1778 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1779 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1780 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1781 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1782 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1783 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1784 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1785 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1786 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1787 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1788 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1789 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1790 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1791 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1792 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1793 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1794 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1795 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1796 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1797 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1798 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1799 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1800 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1801 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1802 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1803 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1804 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1805 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1806 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1807 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1808 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1809 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1810 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1811 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1812 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1813 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1814 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1815 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1816 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1817 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1818 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1819 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1820 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1821 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1822 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1823 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1824 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1825 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1826 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1827 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1828 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1829 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1830 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1831 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1832 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1833 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1834 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1835 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1836 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1837 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1838 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1839 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1840 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1841 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1842 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1843 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1844 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1845 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1846 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1847 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1848 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1849 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1850 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1851 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1852 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1853 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1854 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1855 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1856 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1857 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1858 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1859 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1860 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1861 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1862 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1863 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1864 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1865 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1866 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1867 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1868 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1869 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1870 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1871 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1872 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1873 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1874 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1875 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1876 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1877 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1878 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1879 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1880 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1881 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1882 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1883 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1884 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1885 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1886 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1887 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1888 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1889 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1890 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1891 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1892 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1893 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1894 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1895 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1896 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1897 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1898 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1899 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1900 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1901 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1902 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1903 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1904 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1905 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1906 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1907 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1908 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1909 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1910 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1911 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1912 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1913 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1914 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1915 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1916 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1917 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1918 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1919 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1920 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1921 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1922 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1923 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1924 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1925 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1926 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1927 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1928 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1929 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1930 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1931 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1932 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1933 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1934 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1935 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1936 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1937 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1938 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1939 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1940 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1941 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1942 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1943 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1944 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1945 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1946 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1947 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1948 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1949 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1950 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1951 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1952 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1953 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1954 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1955 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1956 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1957 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1958 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1959 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1960 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1961 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1962 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1963 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1964 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1965 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1966 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1967 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1968 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1969 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1970 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1971 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1972 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1973 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1974 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1975 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1976 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1977 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1978 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1979 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1980 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1981 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1982 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1983 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1984 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1985 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1986 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1987 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1988 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1989 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1990 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1991 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1992 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1993 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1994 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1995 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1996 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1997 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1998 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1999 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2000 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2001 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2002 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2003 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2004 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2005 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2006 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2007 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2008 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2009 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2010 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2011 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2012 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2013 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2014 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2015 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2016 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2017 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2018 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2019 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2020 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2021 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2022 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2023 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2024 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2025 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2026 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2027 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2028 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2029 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2030 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2031 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2032 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2033 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2034 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2035 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2036 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2037 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2038 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2039 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2040 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2041 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2042 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2043 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2044 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2045 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2046 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2047 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2048 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2049 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2050 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2051 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2052 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2053 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2054 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2055 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2056 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2057 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2058 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2059 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2060 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2061 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2062 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2063 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2064 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2065 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2066 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2067 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2068 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2069 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2070 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2071 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2072 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2073 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2074 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2075 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2076 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2077 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2078 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2079 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2080 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2081 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2082 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2083 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2084 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2085 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2086 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2087 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2088 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2089 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2090 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2091 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2092 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2093 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2094 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2095 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2096 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
2097 34, 35, 36, 2, 2, 2, 2, 2, 2, 2,
2098 37, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2099 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2100 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2101 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2102 38, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2103 2, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2104 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2105 58, 59, 60, 61, 62, 2, 2, 2, 2, 2,
2106 63, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2107 64, 65, 66, 2, 2, 2, 2, 2, 2, 2,
2108 67, 68, 2, 2, 2, 2, 2, 2, 2, 2,
2109 69, 70, 71, 2, 2, 2, 2, 2, 2, 2,
2110 72, 73, 74, 2, 2, 2, 2, 2, 2, 2,
2111 75, 76, 77, 2, 2, 2, 2, 2, 2, 2,
2112 78, 2, 79, 80, 81, 82, 83, 2, 2, 2,
2113 84, 85, 2, 2, 2, 2, 2, 2, 2, 2,
2114 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2115 90, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2116 91, 92, 93, 94, 95, 96, 97, 2, 2, 2,
2117 98, 99, 100, 2, 2, 2, 2, 2, 2, 2,
2118 101, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2119 102, 86, 2, 2, 2, 2, 2, 2, 2, 2,
2120 103, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2121 104, 105, 106, 2, 2, 2, 2, 2, 2, 2,
2122 107, 108, 109, 2, 2, 2, 2, 2, 2, 2,
2123 110, 111, 112, 2, 2, 2, 2, 2, 2, 2,
2124 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2125 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2126 113, 114, 87, 2, 88, 89, 2, 2, 2, 2,
2127 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2128 2, 2, 2, 115, 2, 2, 2, 2, 2, 2,
2129 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2130 116, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2131 117, 118, 119, 120, 121, 122, 123, 124, 2, 2,
2132 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2133 125, 126, 127, 2, 2, 2, 2, 2, 2, 2,
2134 128, 129, 2, 2, 2, 2, 2, 2, 2, 2,
2135 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2136 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2137 130, 131, 2, 2, 2, 2, 2, 2, 2, 2,
2138 132, 133, 134, 135, 136, 137, 2, 2, 2, 2,
2139 138, 139, 140, 141, 142, 143, 2, 2, 2, 2,
2140 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2141 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2142 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2143 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2144 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2145 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2146 144, 2, 145, 146, 147, 148, 149, 150, 151, 152,
2147 153, 154, 155, 156, 2, 157, 158, 159, 160
2148 };
2149
2150 #if JAVA_DEBUG
2151 /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
2152 static const yytype_int16 yyrline[] =
2153 {
2154 0, 404, 404, 403, 408, 412, 413, 417, 422, 427,
2155 433, 434, 435, 436, 436, 440, 441, 445, 446, 450,
2156 716, 717, 732, 739, 746, 753, 782, 783, 784, 863,
2157 898, 926, 927, 928, 929, 933, 934, 943, 947, 948,
2158 1100, 1101, 1102, 1103, 1104, 1105
2159 };
2160 #endif
2161
2162 /** Accessing symbol of state STATE. */
2163 #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
2164
2165 #if 1
2166 /* The user-facing name of the symbol whose (internal) number is
2167 YYSYMBOL. No bounds checking. */
2168 static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
2169
2170 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
2171 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
2172 static const char *const yytname[] =
2173 {
2174 "\"end of file\"", "error", "\"invalid token\"", "LL_CONTEXT_ROOT",
2175 "LL_CONTEXT_DESTINATION", "LL_CONTEXT_SOURCE", "LL_CONTEXT_PARSER",
2176 "LL_CONTEXT_REWRITE", "LL_CONTEXT_FILTER", "LL_CONTEXT_LOG",
2177 "LL_CONTEXT_BLOCK_DEF", "LL_CONTEXT_BLOCK_REF",
2178 "LL_CONTEXT_BLOCK_CONTENT", "LL_CONTEXT_BLOCK_ARG", "LL_CONTEXT_PRAGMA",
2179 "LL_CONTEXT_FORMAT", "LL_CONTEXT_TEMPLATE_FUNC", "LL_CONTEXT_INNER_DEST",
2180 "LL_CONTEXT_INNER_SRC", "LL_CONTEXT_CLIENT_PROTO",
2181 "LL_CONTEXT_SERVER_PROTO", "LL_CONTEXT_OPTIONS", "LL_CONTEXT_CONFIG",
2182 "LL_CONTEXT_MAX", "KW_SOURCE", "KW_FILTER", "KW_PARSER",
2183 "KW_DESTINATION", "KW_LOG", "KW_OPTIONS", "KW_INCLUDE", "KW_BLOCK",
2184 "KW_JUNCTION", "KW_CHANNEL", "KW_IF", "KW_ELSE", "KW_ELIF",
2185 "KW_INTERNAL", "KW_SYSLOG", "KW_MARK_FREQ", "KW_STATS_FREQ",
2186 "KW_STATS_LEVEL", "KW_STATS_LIFETIME", "KW_FLUSH_LINES", "KW_SUPPRESS",
2187 "KW_FLUSH_TIMEOUT", "KW_LOG_MSG_SIZE", "KW_FILE_TEMPLATE",
2188 "KW_PROTO_TEMPLATE", "KW_MARK_MODE", "KW_ENCODING", "KW_TYPE",
2189 "KW_STATS_MAX_DYNAMIC", "KW_MIN_IW_SIZE_PER_READER", "KW_WORKERS",
2190 "KW_BATCH_LINES", "KW_BATCH_TIMEOUT", "KW_TRIM_LARGE_MESSAGES",
2191 "KW_CHAIN_HOSTNAMES", "KW_NORMALIZE_HOSTNAMES", "KW_KEEP_HOSTNAME",
2192 "KW_CHECK_HOSTNAME", "KW_BAD_HOSTNAME", "KW_KEEP_TIMESTAMP",
2193 "KW_USE_DNS", "KW_USE_FQDN", "KW_CUSTOM_DOMAIN", "KW_DNS_CACHE",
2194 "KW_DNS_CACHE_SIZE", "KW_DNS_CACHE_EXPIRE", "KW_DNS_CACHE_EXPIRE_FAILED",
2195 "KW_DNS_CACHE_HOSTS", "KW_PERSIST_ONLY", "KW_USE_RCPTID",
2196 "KW_USE_UNIQID", "KW_TZ_CONVERT", "KW_TS_FORMAT", "KW_FRAC_DIGITS",
2197 "KW_LOG_FIFO_SIZE", "KW_LOG_FETCH_LIMIT", "KW_LOG_IW_SIZE",
2198 "KW_LOG_PREFIX", "KW_PROGRAM_OVERRIDE", "KW_HOST_OVERRIDE",
2199 "KW_THROTTLE", "KW_THREADED", "KW_PASS_UNIX_CREDENTIALS",
2200 "KW_PERSIST_NAME", "KW_READ_OLD_RECORDS", "KW_USE_SYSLOGNG_PID",
2201 "KW_FLAGS", "KW_PAD_SIZE", "KW_TIME_ZONE", "KW_RECV_TIME_ZONE",
2202 "KW_SEND_TIME_ZONE", "KW_LOCAL_TIME_ZONE", "KW_FORMAT",
2203 "KW_TRUNCATE_SIZE", "KW_TIME_REOPEN", "KW_TIME_REAP", "KW_TIME_SLEEP",
2204 "KW_TMPL_ESCAPE", "KW_OPTIONAL", "KW_CREATE_DIRS", "KW_OWNER",
2205 "KW_GROUP", "KW_PERM", "KW_DIR_OWNER", "KW_DIR_GROUP", "KW_DIR_PERM",
2206 "KW_TEMPLATE", "KW_TEMPLATE_ESCAPE", "KW_TEMPLATE_FUNCTION",
2207 "KW_DEFAULT_FACILITY", "KW_DEFAULT_SEVERITY", "KW_PORT",
2208 "KW_USE_TIME_RECVD", "KW_FACILITY", "KW_SEVERITY", "KW_HOST", "KW_MATCH",
2209 "KW_MESSAGE", "KW_NETMASK", "KW_TAGS", "KW_NETMASK6", "KW_REWRITE",
2210 "KW_CONDITION", "KW_VALUE", "KW_YES", "KW_NO", "KW_IFDEF", "KW_ENDIF",
2211 "LL_DOTDOT", "LL_DOTDOTDOT", "LL_PRAGMA", "LL_EOL", "LL_ERROR",
2212 "LL_ARROW", "LL_IDENTIFIER", "LL_NUMBER", "LL_FLOAT", "LL_STRING",
2213 "LL_TOKEN", "LL_BLOCK", "KW_VALUE_PAIRS", "KW_EXCLUDE", "KW_PAIR",
2214 "KW_KEY", "KW_SCOPE", "KW_SHIFT", "KW_SHIFT_LEVELS", "KW_REKEY",
2215 "KW_ADD_PREFIX", "KW_REPLACE_PREFIX", "KW_ON_ERROR", "KW_RETRIES",
2216 "KW_FETCH_NO_DATA_DELAY", "KW_JAVA", "KW_CLASS_PATH", "KW_CLASS_NAME",
2217 "KW_JVM_OPTIONS", "'('", "')'", "'{'", "'}'", "';'", "':'", "$accept",
2218 "start", "$@1", "java_dest_options", "java_dest_option", "$@2",
2219 "java_dest_custom_options", "java_dest_custom_option",
2220 "java_global_option", "string", "nonnegative_integer64",
2221 "nonnegative_integer", "positive_integer64", "positive_integer",
2222 "string_or_number", "driver_option", "inner_dest", "dest_driver_option",
2223 "threaded_dest_driver_batch_option",
2224 "threaded_dest_driver_general_option", "template_option", YY_NULLPTR
2225 };
2226
2227 static const char *
yysymbol_name(yysymbol_kind_t yysymbol)2228 yysymbol_name (yysymbol_kind_t yysymbol)
2229 {
2230 return yytname[yysymbol];
2231 }
2232 #endif
2233
2234 #define YYPACT_NINF (-150)
2235
2236 #define yypact_value_is_default(Yyn) \
2237 ((Yyn) == YYPACT_NINF)
2238
2239 #define YYTABLE_NINF (-7)
2240
2241 #define yytable_value_is_error(Yyn) \
2242 0
2243
2244 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2245 STATE-NUM. */
2246 static const yytype_int16 yypact[] =
2247 {
2248 0, -149, -142, 28, -150, -132, -150, -150, -130, -131,
2249 -29, -150, -150, -129, -127, -126, -122, -119, -118, -117,
2250 -115, -114, -150, -113, -111, -110, -108, -29, -75, -150,
2251 -150, -150, -150, -150, -150, -131, -109, -107, -107, -109,
2252 -131, -107, -131, -107, -131, -131, -150, -150, -105, -104,
2253 -102, -101, -100, -99, -150, -98, -131, -125, -150, -150,
2254 -97, -150, -150, -96, -95, -88, -87, -85, -84, -82,
2255 -80, -79, -131, -109, -131, -131, -131, -131, -150, -150,
2256 -116, -150, -150, -150, -150, -150, -150, -150, -150, -150,
2257 -150, -150, -150, -150, -150, -78, -77, -76, -74, -73,
2258 -72, -150, -150, -150, -150, -150, -150, -150
2259 };
2260
2261 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
2262 Performed when YYTABLE does not specify something else to do. Zero
2263 means the default is an error. */
2264 static const yytype_int8 yydefact[] =
2265 {
2266 0, 0, 0, 0, 2, 0, 4, 1, 0, 0,
2267 13, 20, 21, 0, 0, 0, 0, 0, 0, 0,
2268 0, 0, 30, 0, 0, 0, 0, 13, 0, 34,
2269 33, 39, 12, 11, 19, 16, 0, 0, 0, 0,
2270 0, 0, 0, 0, 0, 0, 3, 5, 0, 0,
2271 0, 0, 0, 0, 14, 0, 16, 0, 22, 23,
2272 0, 24, 25, 0, 0, 0, 0, 0, 0, 0,
2273 0, 0, 0, 0, 0, 0, 0, 0, 10, 15,
2274 0, 27, 28, 26, 17, 35, 36, 31, 32, 29,
2275 38, 9, 37, 7, 8, 0, 0, 0, 0, 0,
2276 0, 18, 40, 41, 42, 43, 44, 45
2277 };
2278
2279 /* YYPGOTO[NTERM-NUM]. */
2280 static const yytype_int16 yypgoto[] =
2281 {
2282 -150, -150, -150, 18, -150, -150, 7, -150, -150, -4,
2283 -150, -36, -150, -32, -28, -150, -150, -150, -150, -150,
2284 -150
2285 };
2286
2287 /* YYDEFGOTO[NTERM-NUM]. */
2288 static const yytype_int8 yydefgoto[] =
2289 {
2290 0, 3, 8, 26, 27, 28, 55, 56, 6, 57,
2291 59, 60, 62, 63, 84, 29, 30, 31, 32, 33,
2292 54
2293 };
2294
2295 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
2296 positive, shift that token. If negative, reduce the rule whose
2297 number is the opposite. If YYTABLE_NINF, syntax error. */
2298 static const yytype_int8 yytable[] =
2299 {
2300 14, 48, 49, 65, 1, 13, 64, 11, 4, 67,
2301 12, 69, 80, 11, 81, 82, 12, 50, 5, 51,
2302 52, 2, 11, 81, 82, 12, 15, 16, 7, 9,
2303 58, 10, 61, 34, 35, 36, 66, 96, 68, 37,
2304 70, 71, 38, 39, 40, 47, 41, 42, 43, 17,
2305 44, 45, 101, 83, 46, 18, 72, 73, 19, 74,
2306 75, 76, 77, 79, 78, 85, 86, 87, 95, 20,
2307 97, 98, 99, 100, 88, 89, 83, 90, 91, 53,
2308 92, 21, 93, 94, 102, 103, 104, 0, 105, 106,
2309 107, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2310 0, 0, 0, 0, 0, 0, 0, 0, 0, 22,
2311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2312 0, 0, 0, 0, 0, 0, 23, 0, 0, 24,
2313 25, 0, 0, -6
2314 };
2315
2316 static const yytype_int16 yycheck[] =
2317 {
2318 29, 76, 77, 39, 4, 9, 38, 138, 157, 41,
2319 141, 43, 137, 138, 139, 140, 141, 92, 160, 94,
2320 95, 21, 138, 139, 140, 141, 55, 56, 0, 161,
2321 139, 161, 139, 162, 161, 161, 40, 73, 42, 161,
2322 44, 45, 161, 161, 161, 27, 161, 161, 161, 78,
2323 161, 161, 80, 57, 162, 84, 161, 161, 87, 161,
2324 161, 161, 161, 56, 162, 162, 162, 162, 72, 98,
2325 74, 75, 76, 77, 162, 162, 80, 162, 162, 154,
2326 162, 110, 162, 162, 162, 162, 162, -1, 162, 162,
2327 162, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2328 -1, -1, -1, -1, -1, -1, -1, -1, -1, 138,
2329 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2330 -1, -1, -1, -1, -1, -1, 155, -1, -1, 158,
2331 159, -1, -1, 162
2332 };
2333
2334 /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
2335 state STATE-NUM. */
2336 static const yytype_uint8 yystos[] =
2337 {
2338 0, 4, 21, 168, 157, 160, 175, 0, 169, 161,
2339 161, 138, 141, 176, 29, 55, 56, 78, 84, 87,
2340 98, 110, 138, 155, 158, 159, 170, 171, 172, 182,
2341 183, 184, 185, 186, 162, 161, 161, 161, 161, 161,
2342 161, 161, 161, 161, 161, 161, 162, 170, 76, 77,
2343 92, 94, 95, 154, 187, 173, 174, 176, 139, 177,
2344 178, 139, 179, 180, 180, 178, 176, 180, 176, 180,
2345 176, 176, 161, 161, 161, 161, 161, 161, 162, 173,
2346 137, 139, 140, 176, 181, 162, 162, 162, 162, 162,
2347 162, 162, 162, 162, 162, 176, 178, 176, 176, 176,
2348 176, 181, 162, 162, 162, 162, 162, 162
2349 };
2350
2351 /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */
2352 static const yytype_uint8 yyr1[] =
2353 {
2354 0, 167, 169, 168, 168, 170, 170, 171, 171, 171,
2355 171, 171, 171, 172, 171, 173, 173, 174, 174, 175,
2356 176, 176, 177, 178, 179, 180, 181, 181, 181, 182,
2357 183, 184, 184, 184, 184, 185, 185, 186, 186, 186,
2358 187, 187, 187, 187, 187, 187
2359 };
2360
2361 /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */
2362 static const yytype_int8 yyr2[] =
2363 {
2364 0, 2, 0, 6, 2, 2, 0, 4, 4, 4,
2365 4, 1, 1, 0, 2, 2, 0, 2, 3, 4,
2366 1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
2367 1, 4, 4, 1, 1, 4, 4, 4, 4, 1,
2368 4, 4, 4, 4, 4, 4
2369 };
2370
2371
2372 enum { YYENOMEM = -2 };
2373
2374 #define yyerrok (yyerrstatus = 0)
2375 #define yyclearin (yychar = JAVA_EMPTY)
2376
2377 #define YYACCEPT goto yyacceptlab
2378 #define YYABORT goto yyabortlab
2379 #define YYERROR goto yyerrorlab
2380 #define YYNOMEM goto yyexhaustedlab
2381
2382
2383 #define YYRECOVERING() (!!yyerrstatus)
2384
2385 #define YYBACKUP(Token, Value) \
2386 do \
2387 if (yychar == JAVA_EMPTY) \
2388 { \
2389 yychar = (Token); \
2390 yylval = (Value); \
2391 YYPOPSTACK (yylen); \
2392 yystate = *yyssp; \
2393 goto yybackup; \
2394 } \
2395 else \
2396 { \
2397 yyerror (&yylloc, lexer, instance, arg, YY_("syntax error: cannot back up")); \
2398 YYERROR; \
2399 } \
2400 while (0)
2401
2402 /* Backward compatibility with an undocumented macro.
2403 Use JAVA_error or JAVA_UNDEF. */
2404 #define YYERRCODE JAVA_UNDEF
2405
2406 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2407 If N is 0, then set CURRENT to the empty location which ends
2408 the previous symbol: RHS[0] (always defined). */
2409
2410 #ifndef YYLLOC_DEFAULT
2411 # define YYLLOC_DEFAULT(Current, Rhs, N) \
2412 do \
2413 if (N) \
2414 { \
2415 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
2416 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
2417 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
2418 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
2419 } \
2420 else \
2421 { \
2422 (Current).first_line = (Current).last_line = \
2423 YYRHSLOC (Rhs, 0).last_line; \
2424 (Current).first_column = (Current).last_column = \
2425 YYRHSLOC (Rhs, 0).last_column; \
2426 } \
2427 while (0)
2428 #endif
2429
2430 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2431
2432
2433 /* Enable debugging if requested. */
2434 #if JAVA_DEBUG
2435
2436 # ifndef YYFPRINTF
2437 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2438 # define YYFPRINTF fprintf
2439 # endif
2440
2441 # define YYDPRINTF(Args) \
2442 do { \
2443 if (yydebug) \
2444 YYFPRINTF Args; \
2445 } while (0)
2446
2447
2448 /* YYLOCATION_PRINT -- Print the location on the stream.
2449 This macro was not mandated originally: define only if we know
2450 we won't break user code: when these are the locations we know. */
2451
2452 # ifndef YYLOCATION_PRINT
2453
2454 # if defined YY_LOCATION_PRINT
2455
2456 /* Temporary convenience wrapper in case some people defined the
2457 undocumented and private YY_LOCATION_PRINT macros. */
2458 # define YYLOCATION_PRINT(File, Loc) YY_LOCATION_PRINT(File, *(Loc))
2459
2460 # elif defined JAVA_LTYPE_IS_TRIVIAL && JAVA_LTYPE_IS_TRIVIAL
2461
2462 /* Print *YYLOCP on YYO. Private, do not rely on its existence. */
2463
2464 YY_ATTRIBUTE_UNUSED
2465 static int
yy_location_print_(FILE * yyo,YYLTYPE const * const yylocp)2466 yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
2467 {
2468 int res = 0;
2469 int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
2470 if (0 <= yylocp->first_line)
2471 {
2472 res += YYFPRINTF (yyo, "%d", yylocp->first_line);
2473 if (0 <= yylocp->first_column)
2474 res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
2475 }
2476 if (0 <= yylocp->last_line)
2477 {
2478 if (yylocp->first_line < yylocp->last_line)
2479 {
2480 res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
2481 if (0 <= end_col)
2482 res += YYFPRINTF (yyo, ".%d", end_col);
2483 }
2484 else if (0 <= end_col && yylocp->first_column < end_col)
2485 res += YYFPRINTF (yyo, "-%d", end_col);
2486 }
2487 return res;
2488 }
2489
2490 # define YYLOCATION_PRINT yy_location_print_
2491
2492 /* Temporary convenience wrapper in case some people defined the
2493 undocumented and private YY_LOCATION_PRINT macros. */
2494 # define YY_LOCATION_PRINT(File, Loc) YYLOCATION_PRINT(File, &(Loc))
2495
2496 # else
2497
2498 # define YYLOCATION_PRINT(File, Loc) ((void) 0)
2499 /* Temporary convenience wrapper in case some people defined the
2500 undocumented and private YY_LOCATION_PRINT macros. */
2501 # define YY_LOCATION_PRINT YYLOCATION_PRINT
2502
2503 # endif
2504 # endif /* !defined YYLOCATION_PRINT */
2505
2506
2507 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
2508 do { \
2509 if (yydebug) \
2510 { \
2511 YYFPRINTF (stderr, "%s ", Title); \
2512 yy_symbol_print (stderr, \
2513 Kind, Value, Location, lexer, instance, arg); \
2514 YYFPRINTF (stderr, "\n"); \
2515 } \
2516 } while (0)
2517
2518
2519 /*-----------------------------------.
2520 | Print this symbol's value on YYO. |
2521 `-----------------------------------*/
2522
2523 static void
yy_symbol_value_print(FILE * yyo,yysymbol_kind_t yykind,YYSTYPE const * const yyvaluep,YYLTYPE const * const yylocationp,CfgLexer * lexer,LogDriver ** instance,gpointer arg)2524 yy_symbol_value_print (FILE *yyo,
2525 yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, CfgLexer *lexer, LogDriver **instance, gpointer arg)
2526 {
2527 FILE *yyoutput = yyo;
2528 YY_USE (yyoutput);
2529 YY_USE (yylocationp);
2530 YY_USE (lexer);
2531 YY_USE (instance);
2532 YY_USE (arg);
2533 if (!yyvaluep)
2534 return;
2535 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2536 YY_USE (yykind);
2537 YY_IGNORE_MAYBE_UNINITIALIZED_END
2538 }
2539
2540
2541 /*---------------------------.
2542 | Print this symbol on YYO. |
2543 `---------------------------*/
2544
2545 static void
yy_symbol_print(FILE * yyo,yysymbol_kind_t yykind,YYSTYPE const * const yyvaluep,YYLTYPE const * const yylocationp,CfgLexer * lexer,LogDriver ** instance,gpointer arg)2546 yy_symbol_print (FILE *yyo,
2547 yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, CfgLexer *lexer, LogDriver **instance, gpointer arg)
2548 {
2549 YYFPRINTF (yyo, "%s %s (",
2550 yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
2551
2552 YYLOCATION_PRINT (yyo, yylocationp);
2553 YYFPRINTF (yyo, ": ");
2554 yy_symbol_value_print (yyo, yykind, yyvaluep, yylocationp, lexer, instance, arg);
2555 YYFPRINTF (yyo, ")");
2556 }
2557
2558 /*------------------------------------------------------------------.
2559 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2560 | TOP (included). |
2561 `------------------------------------------------------------------*/
2562
2563 static void
yy_stack_print(yy_state_t * yybottom,yy_state_t * yytop)2564 yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
2565 {
2566 YYFPRINTF (stderr, "Stack now");
2567 for (; yybottom <= yytop; yybottom++)
2568 {
2569 int yybot = *yybottom;
2570 YYFPRINTF (stderr, " %d", yybot);
2571 }
2572 YYFPRINTF (stderr, "\n");
2573 }
2574
2575 # define YY_STACK_PRINT(Bottom, Top) \
2576 do { \
2577 if (yydebug) \
2578 yy_stack_print ((Bottom), (Top)); \
2579 } while (0)
2580
2581
2582 /*------------------------------------------------.
2583 | Report that the YYRULE is going to be reduced. |
2584 `------------------------------------------------*/
2585
2586 static void
yy_reduce_print(yy_state_t * yyssp,YYSTYPE * yyvsp,YYLTYPE * yylsp,int yyrule,CfgLexer * lexer,LogDriver ** instance,gpointer arg)2587 yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp,
2588 int yyrule, CfgLexer *lexer, LogDriver **instance, gpointer arg)
2589 {
2590 int yylno = yyrline[yyrule];
2591 int yynrhs = yyr2[yyrule];
2592 int yyi;
2593 YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
2594 yyrule - 1, yylno);
2595 /* The symbols being reduced. */
2596 for (yyi = 0; yyi < yynrhs; yyi++)
2597 {
2598 YYFPRINTF (stderr, " $%d = ", yyi + 1);
2599 yy_symbol_print (stderr,
2600 YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
2601 &yyvsp[(yyi + 1) - (yynrhs)],
2602 &(yylsp[(yyi + 1) - (yynrhs)]), lexer, instance, arg);
2603 YYFPRINTF (stderr, "\n");
2604 }
2605 }
2606
2607 # define YY_REDUCE_PRINT(Rule) \
2608 do { \
2609 if (yydebug) \
2610 yy_reduce_print (yyssp, yyvsp, yylsp, Rule, lexer, instance, arg); \
2611 } while (0)
2612
2613 /* Nonzero means print parse trace. It is left uninitialized so that
2614 multiple parsers can coexist. */
2615 int yydebug;
2616 #else /* !JAVA_DEBUG */
2617 # define YYDPRINTF(Args) ((void) 0)
2618 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
2619 # define YY_STACK_PRINT(Bottom, Top)
2620 # define YY_REDUCE_PRINT(Rule)
2621 #endif /* !JAVA_DEBUG */
2622
2623
2624 /* YYINITDEPTH -- initial size of the parser's stacks. */
2625 #ifndef YYINITDEPTH
2626 # define YYINITDEPTH 200
2627 #endif
2628
2629 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2630 if the built-in stack extension method is used).
2631
2632 Do not make this value too large; the results are undefined if
2633 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2634 evaluated with infinite-precision integer arithmetic. */
2635
2636 #ifndef YYMAXDEPTH
2637 # define YYMAXDEPTH 10000
2638 #endif
2639
2640
2641 /* Context of a parse error. */
2642 typedef struct
2643 {
2644 yy_state_t *yyssp;
2645 yysymbol_kind_t yytoken;
2646 YYLTYPE *yylloc;
2647 } yypcontext_t;
2648
2649 /* Put in YYARG at most YYARGN of the expected tokens given the
2650 current YYCTX, and return the number of tokens stored in YYARG. If
2651 YYARG is null, return the number of expected tokens (guaranteed to
2652 be less than YYNTOKENS). Return YYENOMEM on memory exhaustion.
2653 Return 0 if there are more than YYARGN expected tokens, yet fill
2654 YYARG up to YYARGN. */
2655 static int
yypcontext_expected_tokens(const yypcontext_t * yyctx,yysymbol_kind_t yyarg[],int yyargn)2656 yypcontext_expected_tokens (const yypcontext_t *yyctx,
2657 yysymbol_kind_t yyarg[], int yyargn)
2658 {
2659 /* Actual size of YYARG. */
2660 int yycount = 0;
2661 int yyn = yypact[+*yyctx->yyssp];
2662 if (!yypact_value_is_default (yyn))
2663 {
2664 /* Start YYX at -YYN if negative to avoid negative indexes in
2665 YYCHECK. In other words, skip the first -YYN actions for
2666 this state because they are default actions. */
2667 int yyxbegin = yyn < 0 ? -yyn : 0;
2668 /* Stay within bounds of both yycheck and yytname. */
2669 int yychecklim = YYLAST - yyn + 1;
2670 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2671 int yyx;
2672 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2673 if (yycheck[yyx + yyn] == yyx && yyx != YYSYMBOL_YYerror
2674 && !yytable_value_is_error (yytable[yyx + yyn]))
2675 {
2676 if (!yyarg)
2677 ++yycount;
2678 else if (yycount == yyargn)
2679 return 0;
2680 else
2681 yyarg[yycount++] = YY_CAST (yysymbol_kind_t, yyx);
2682 }
2683 }
2684 if (yyarg && yycount == 0 && 0 < yyargn)
2685 yyarg[0] = YYSYMBOL_YYEMPTY;
2686 return yycount;
2687 }
2688
2689
2690
2691
2692 #ifndef yystrlen
2693 # if defined __GLIBC__ && defined _STRING_H
2694 # define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S)))
2695 # else
2696 /* Return the length of YYSTR. */
2697 static YYPTRDIFF_T
yystrlen(const char * yystr)2698 yystrlen (const char *yystr)
2699 {
2700 YYPTRDIFF_T yylen;
2701 for (yylen = 0; yystr[yylen]; yylen++)
2702 continue;
2703 return yylen;
2704 }
2705 # endif
2706 #endif
2707
2708 #ifndef yystpcpy
2709 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2710 # define yystpcpy stpcpy
2711 # else
2712 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2713 YYDEST. */
2714 static char *
yystpcpy(char * yydest,const char * yysrc)2715 yystpcpy (char *yydest, const char *yysrc)
2716 {
2717 char *yyd = yydest;
2718 const char *yys = yysrc;
2719
2720 while ((*yyd++ = *yys++) != '\0')
2721 continue;
2722
2723 return yyd - 1;
2724 }
2725 # endif
2726 #endif
2727
2728 #ifndef yytnamerr
2729 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2730 quotes and backslashes, so that it's suitable for yyerror. The
2731 heuristic is that double-quoting is unnecessary unless the string
2732 contains an apostrophe, a comma, or backslash (other than
2733 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2734 null, do not copy; instead, return the length of what the result
2735 would have been. */
2736 static YYPTRDIFF_T
yytnamerr(char * yyres,const char * yystr)2737 yytnamerr (char *yyres, const char *yystr)
2738 {
2739 if (*yystr == '"')
2740 {
2741 YYPTRDIFF_T yyn = 0;
2742 char const *yyp = yystr;
2743 for (;;)
2744 switch (*++yyp)
2745 {
2746 case '\'':
2747 case ',':
2748 goto do_not_strip_quotes;
2749
2750 case '\\':
2751 if (*++yyp != '\\')
2752 goto do_not_strip_quotes;
2753 else
2754 goto append;
2755
2756 append:
2757 default:
2758 if (yyres)
2759 yyres[yyn] = *yyp;
2760 yyn++;
2761 break;
2762
2763 case '"':
2764 if (yyres)
2765 yyres[yyn] = '\0';
2766 return yyn;
2767 }
2768 do_not_strip_quotes: ;
2769 }
2770
2771 if (yyres)
2772 return yystpcpy (yyres, yystr) - yyres;
2773 else
2774 return yystrlen (yystr);
2775 }
2776 #endif
2777
2778
2779 static int
yy_syntax_error_arguments(const yypcontext_t * yyctx,yysymbol_kind_t yyarg[],int yyargn)2780 yy_syntax_error_arguments (const yypcontext_t *yyctx,
2781 yysymbol_kind_t yyarg[], int yyargn)
2782 {
2783 /* Actual size of YYARG. */
2784 int yycount = 0;
2785 /* There are many possibilities here to consider:
2786 - If this state is a consistent state with a default action, then
2787 the only way this function was invoked is if the default action
2788 is an error action. In that case, don't check for expected
2789 tokens because there are none.
2790 - The only way there can be no lookahead present (in yychar) is if
2791 this state is a consistent state with a default action. Thus,
2792 detecting the absence of a lookahead is sufficient to determine
2793 that there is no unexpected or expected token to report. In that
2794 case, just report a simple "syntax error".
2795 - Don't assume there isn't a lookahead just because this state is a
2796 consistent state with a default action. There might have been a
2797 previous inconsistent state, consistent state with a non-default
2798 action, or user semantic action that manipulated yychar.
2799 - Of course, the expected token list depends on states to have
2800 correct lookahead information, and it depends on the parser not
2801 to perform extra reductions after fetching a lookahead from the
2802 scanner and before detecting a syntax error. Thus, state merging
2803 (from LALR or IELR) and default reductions corrupt the expected
2804 token list. However, the list is correct for canonical LR with
2805 one exception: it will still contain any token that will not be
2806 accepted due to an error action in a later state.
2807 */
2808 if (yyctx->yytoken != YYSYMBOL_YYEMPTY)
2809 {
2810 int yyn;
2811 if (yyarg)
2812 yyarg[yycount] = yyctx->yytoken;
2813 ++yycount;
2814 yyn = yypcontext_expected_tokens (yyctx,
2815 yyarg ? yyarg + 1 : yyarg, yyargn - 1);
2816 if (yyn == YYENOMEM)
2817 return YYENOMEM;
2818 else
2819 yycount += yyn;
2820 }
2821 return yycount;
2822 }
2823
2824 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
2825 about the unexpected token YYTOKEN for the state stack whose top is
2826 YYSSP.
2827
2828 Return 0 if *YYMSG was successfully written. Return -1 if *YYMSG is
2829 not large enough to hold the message. In that case, also set
2830 *YYMSG_ALLOC to the required number of bytes. Return YYENOMEM if the
2831 required number of bytes is too large to store. */
2832 static int
yysyntax_error(YYPTRDIFF_T * yymsg_alloc,char ** yymsg,const yypcontext_t * yyctx)2833 yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg,
2834 const yypcontext_t *yyctx)
2835 {
2836 enum { YYARGS_MAX = 5 };
2837 /* Internationalized format string. */
2838 const char *yyformat = YY_NULLPTR;
2839 /* Arguments of yyformat: reported tokens (one for the "unexpected",
2840 one per "expected"). */
2841 yysymbol_kind_t yyarg[YYARGS_MAX];
2842 /* Cumulated lengths of YYARG. */
2843 YYPTRDIFF_T yysize = 0;
2844
2845 /* Actual size of YYARG. */
2846 int yycount = yy_syntax_error_arguments (yyctx, yyarg, YYARGS_MAX);
2847 if (yycount == YYENOMEM)
2848 return YYENOMEM;
2849
2850 switch (yycount)
2851 {
2852 #define YYCASE_(N, S) \
2853 case N: \
2854 yyformat = S; \
2855 break
2856 default: /* Avoid compiler warnings. */
2857 YYCASE_(0, YY_("syntax error"));
2858 YYCASE_(1, YY_("syntax error, unexpected %s"));
2859 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
2860 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
2861 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
2862 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
2863 #undef YYCASE_
2864 }
2865
2866 /* Compute error message size. Don't count the "%s"s, but reserve
2867 room for the terminator. */
2868 yysize = yystrlen (yyformat) - 2 * yycount + 1;
2869 {
2870 int yyi;
2871 for (yyi = 0; yyi < yycount; ++yyi)
2872 {
2873 YYPTRDIFF_T yysize1
2874 = yysize + yytnamerr (YY_NULLPTR, yytname[yyarg[yyi]]);
2875 if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
2876 yysize = yysize1;
2877 else
2878 return YYENOMEM;
2879 }
2880 }
2881
2882 if (*yymsg_alloc < yysize)
2883 {
2884 *yymsg_alloc = 2 * yysize;
2885 if (! (yysize <= *yymsg_alloc
2886 && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
2887 *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
2888 return -1;
2889 }
2890
2891 /* Avoid sprintf, as that infringes on the user's name space.
2892 Don't have undefined behavior even if the translation
2893 produced a string with the wrong number of "%s"s. */
2894 {
2895 char *yyp = *yymsg;
2896 int yyi = 0;
2897 while ((*yyp = *yyformat) != '\0')
2898 if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
2899 {
2900 yyp += yytnamerr (yyp, yytname[yyarg[yyi++]]);
2901 yyformat += 2;
2902 }
2903 else
2904 {
2905 ++yyp;
2906 ++yyformat;
2907 }
2908 }
2909 return 0;
2910 }
2911
2912
2913 /*-----------------------------------------------.
2914 | Release the memory associated to this symbol. |
2915 `-----------------------------------------------*/
2916
2917 static void
yydestruct(const char * yymsg,yysymbol_kind_t yykind,YYSTYPE * yyvaluep,YYLTYPE * yylocationp,CfgLexer * lexer,LogDriver ** instance,gpointer arg)2918 yydestruct (const char *yymsg,
2919 yysymbol_kind_t yykind, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, CfgLexer *lexer, LogDriver **instance, gpointer arg)
2920 {
2921 YY_USE (yyvaluep);
2922 YY_USE (yylocationp);
2923 YY_USE (lexer);
2924 YY_USE (instance);
2925 YY_USE (arg);
2926 if (!yymsg)
2927 yymsg = "Deleting";
2928 YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
2929
2930 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2931 switch (yykind)
2932 {
2933 case YYSYMBOL_LL_IDENTIFIER: /* LL_IDENTIFIER */
2934 #line 313 "modules/java/native/java-grammar.y"
2935 { free(((*yyvaluep).cptr)); }
2936 #line 2937 "modules/java/native/java-grammar.c"
2937 break;
2938
2939 case YYSYMBOL_LL_STRING: /* LL_STRING */
2940 #line 313 "modules/java/native/java-grammar.y"
2941 { free(((*yyvaluep).cptr)); }
2942 #line 2943 "modules/java/native/java-grammar.c"
2943 break;
2944
2945 case YYSYMBOL_LL_BLOCK: /* LL_BLOCK */
2946 #line 313 "modules/java/native/java-grammar.y"
2947 { free(((*yyvaluep).cptr)); }
2948 #line 2949 "modules/java/native/java-grammar.c"
2949 break;
2950
2951 case YYSYMBOL_string: /* string */
2952 #line 313 "modules/java/native/java-grammar.y"
2953 { free(((*yyvaluep).cptr)); }
2954 #line 2955 "modules/java/native/java-grammar.c"
2955 break;
2956
2957 case YYSYMBOL_string_or_number: /* string_or_number */
2958 #line 313 "modules/java/native/java-grammar.y"
2959 { free(((*yyvaluep).cptr)); }
2960 #line 2961 "modules/java/native/java-grammar.c"
2961 break;
2962
2963 default:
2964 break;
2965 }
2966 YY_IGNORE_MAYBE_UNINITIALIZED_END
2967 }
2968
2969
2970
2971
2972
2973
2974 /*----------.
2975 | yyparse. |
2976 `----------*/
2977
2978 int
yyparse(CfgLexer * lexer,LogDriver ** instance,gpointer arg)2979 yyparse (CfgLexer *lexer, LogDriver **instance, gpointer arg)
2980 {
2981 /* Lookahead token kind. */
2982 int yychar;
2983
2984
2985 /* The semantic value of the lookahead symbol. */
2986 /* Default value used for initialization, for pacifying older GCCs
2987 or non-GCC compilers. */
2988 YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
2989 YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
2990
2991 /* Location data for the lookahead symbol. */
2992 static YYLTYPE yyloc_default
2993 # if defined JAVA_LTYPE_IS_TRIVIAL && JAVA_LTYPE_IS_TRIVIAL
2994 = { 1, 1, 1, 1 }
2995 # endif
2996 ;
2997 YYLTYPE yylloc = yyloc_default;
2998
2999 /* Number of syntax errors so far. */
3000 int yynerrs = 0;
3001
3002 yy_state_fast_t yystate = 0;
3003 /* Number of tokens to shift before error messages enabled. */
3004 int yyerrstatus = 0;
3005
3006 /* Refer to the stacks through separate pointers, to allow yyoverflow
3007 to reallocate them elsewhere. */
3008
3009 /* Their size. */
3010 YYPTRDIFF_T yystacksize = YYINITDEPTH;
3011
3012 /* The state stack: array, bottom, top. */
3013 yy_state_t yyssa[YYINITDEPTH];
3014 yy_state_t *yyss = yyssa;
3015 yy_state_t *yyssp = yyss;
3016
3017 /* The semantic value stack: array, bottom, top. */
3018 YYSTYPE yyvsa[YYINITDEPTH];
3019 YYSTYPE *yyvs = yyvsa;
3020 YYSTYPE *yyvsp = yyvs;
3021
3022 /* The location stack: array, bottom, top. */
3023 YYLTYPE yylsa[YYINITDEPTH];
3024 YYLTYPE *yyls = yylsa;
3025 YYLTYPE *yylsp = yyls;
3026
3027 int yyn;
3028 /* The return value of yyparse. */
3029 int yyresult;
3030 /* Lookahead symbol kind. */
3031 yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
3032 /* The variables used to return semantic value and location from the
3033 action routines. */
3034 YYSTYPE yyval;
3035 YYLTYPE yyloc;
3036
3037 /* The locations where the error started and ended. */
3038 YYLTYPE yyerror_range[3];
3039
3040 /* Buffer for error messages, and its allocated size. */
3041 char yymsgbuf[128];
3042 char *yymsg = yymsgbuf;
3043 YYPTRDIFF_T yymsg_alloc = sizeof yymsgbuf;
3044
3045 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
3046
3047 /* The number of symbols on the RHS of the reduced rule.
3048 Keep to zero when no symbol should be popped. */
3049 int yylen = 0;
3050
3051 YYDPRINTF ((stderr, "Starting parse\n"));
3052
3053 yychar = JAVA_EMPTY; /* Cause a token to be read. */
3054
3055 yylsp[0] = yylloc;
3056 goto yysetstate;
3057
3058
3059 /*------------------------------------------------------------.
3060 | yynewstate -- push a new state, which is found in yystate. |
3061 `------------------------------------------------------------*/
3062 yynewstate:
3063 /* In all cases, when you get here, the value and location stacks
3064 have just been pushed. So pushing a state here evens the stacks. */
3065 yyssp++;
3066
3067
3068 /*--------------------------------------------------------------------.
3069 | yysetstate -- set current state (the top of the stack) to yystate. |
3070 `--------------------------------------------------------------------*/
3071 yysetstate:
3072 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
3073 YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
3074 YY_IGNORE_USELESS_CAST_BEGIN
3075 *yyssp = YY_CAST (yy_state_t, yystate);
3076 YY_IGNORE_USELESS_CAST_END
3077 YY_STACK_PRINT (yyss, yyssp);
3078
3079 if (yyss + yystacksize - 1 <= yyssp)
3080 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
3081 YYNOMEM;
3082 #else
3083 {
3084 /* Get the current used size of the three stacks, in elements. */
3085 YYPTRDIFF_T yysize = yyssp - yyss + 1;
3086
3087 # if defined yyoverflow
3088 {
3089 /* Give user a chance to reallocate the stack. Use copies of
3090 these so that the &'s don't force the real ones into
3091 memory. */
3092 yy_state_t *yyss1 = yyss;
3093 YYSTYPE *yyvs1 = yyvs;
3094 YYLTYPE *yyls1 = yyls;
3095
3096 /* Each stack pointer address is followed by the size of the
3097 data in use in that stack, in bytes. This used to be a
3098 conditional around just the two extra args, but that might
3099 be undefined if yyoverflow is a macro. */
3100 yyoverflow (YY_("memory exhausted"),
3101 &yyss1, yysize * YYSIZEOF (*yyssp),
3102 &yyvs1, yysize * YYSIZEOF (*yyvsp),
3103 &yyls1, yysize * YYSIZEOF (*yylsp),
3104 &yystacksize);
3105 yyss = yyss1;
3106 yyvs = yyvs1;
3107 yyls = yyls1;
3108 }
3109 # else /* defined YYSTACK_RELOCATE */
3110 /* Extend the stack our own way. */
3111 if (YYMAXDEPTH <= yystacksize)
3112 YYNOMEM;
3113 yystacksize *= 2;
3114 if (YYMAXDEPTH < yystacksize)
3115 yystacksize = YYMAXDEPTH;
3116
3117 {
3118 yy_state_t *yyss1 = yyss;
3119 union yyalloc *yyptr =
3120 YY_CAST (union yyalloc *,
3121 YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
3122 if (! yyptr)
3123 YYNOMEM;
3124 YYSTACK_RELOCATE (yyss_alloc, yyss);
3125 YYSTACK_RELOCATE (yyvs_alloc, yyvs);
3126 YYSTACK_RELOCATE (yyls_alloc, yyls);
3127 # undef YYSTACK_RELOCATE
3128 if (yyss1 != yyssa)
3129 YYSTACK_FREE (yyss1);
3130 }
3131 # endif
3132
3133 yyssp = yyss + yysize - 1;
3134 yyvsp = yyvs + yysize - 1;
3135 yylsp = yyls + yysize - 1;
3136
3137 YY_IGNORE_USELESS_CAST_BEGIN
3138 YYDPRINTF ((stderr, "Stack size increased to %ld\n",
3139 YY_CAST (long, yystacksize)));
3140 YY_IGNORE_USELESS_CAST_END
3141
3142 if (yyss + yystacksize - 1 <= yyssp)
3143 YYABORT;
3144 }
3145 #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
3146
3147
3148 if (yystate == YYFINAL)
3149 YYACCEPT;
3150
3151 goto yybackup;
3152
3153
3154 /*-----------.
3155 | yybackup. |
3156 `-----------*/
3157 yybackup:
3158 /* Do appropriate processing given the current state. Read a
3159 lookahead token if we need one and don't already have one. */
3160
3161 /* First try to decide what to do without reference to lookahead token. */
3162 yyn = yypact[yystate];
3163 if (yypact_value_is_default (yyn))
3164 goto yydefault;
3165
3166 /* Not known => get a lookahead token if don't already have one. */
3167
3168 /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */
3169 if (yychar == JAVA_EMPTY)
3170 {
3171 YYDPRINTF ((stderr, "Reading a token\n"));
3172 yychar = yylex (&yylval, &yylloc, lexer);
3173 }
3174
3175 if (yychar <= JAVA_EOF)
3176 {
3177 yychar = JAVA_EOF;
3178 yytoken = YYSYMBOL_YYEOF;
3179 YYDPRINTF ((stderr, "Now at end of input.\n"));
3180 }
3181 else if (yychar == JAVA_error)
3182 {
3183 /* The scanner already issued an error message, process directly
3184 to error recovery. But do not keep the error token as
3185 lookahead, it is too special and may lead us to an endless
3186 loop in error recovery. */
3187 yychar = JAVA_UNDEF;
3188 yytoken = YYSYMBOL_YYerror;
3189 yyerror_range[1] = yylloc;
3190 goto yyerrlab1;
3191 }
3192 else
3193 {
3194 yytoken = YYTRANSLATE (yychar);
3195 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3196 }
3197
3198 /* If the proper action on seeing token YYTOKEN is to reduce or to
3199 detect an error, take that action. */
3200 yyn += yytoken;
3201 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
3202 goto yydefault;
3203 yyn = yytable[yyn];
3204 if (yyn <= 0)
3205 {
3206 if (yytable_value_is_error (yyn))
3207 goto yyerrlab;
3208 yyn = -yyn;
3209 goto yyreduce;
3210 }
3211
3212 /* Count tokens shifted since error; after three, turn off error
3213 status. */
3214 if (yyerrstatus)
3215 yyerrstatus--;
3216
3217 /* Shift the lookahead token. */
3218 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3219 yystate = yyn;
3220 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3221 *++yyvsp = yylval;
3222 YY_IGNORE_MAYBE_UNINITIALIZED_END
3223 *++yylsp = yylloc;
3224
3225 /* Discard the shifted token. */
3226 yychar = JAVA_EMPTY;
3227 goto yynewstate;
3228
3229
3230 /*-----------------------------------------------------------.
3231 | yydefault -- do the default action for the current state. |
3232 `-----------------------------------------------------------*/
3233 yydefault:
3234 yyn = yydefact[yystate];
3235 if (yyn == 0)
3236 goto yyerrlab;
3237 goto yyreduce;
3238
3239
3240 /*-----------------------------.
3241 | yyreduce -- do a reduction. |
3242 `-----------------------------*/
3243 yyreduce:
3244 /* yyn is the number of a rule to reduce with. */
3245 yylen = yyr2[yyn];
3246
3247 /* If YYLEN is nonzero, implement the default value of the action:
3248 '$$ = $1'.
3249
3250 Otherwise, the following line sets YYVAL to garbage.
3251 This behavior is undocumented and Bison
3252 users should not rely upon it. Assigning to YYVAL
3253 unconditionally makes the parser a bit smaller, and it avoids a
3254 GCC warning that YYVAL may be used uninitialized. */
3255 yyval = yyvsp[1-yylen];
3256
3257 /* Default location. */
3258 YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
3259 yyerror_range[1] = yyloc;
3260 YY_REDUCE_PRINT (yyn);
3261 switch (yyn)
3262 {
3263 case 2: /* $@1: %empty */
3264 #line 404 "modules/java/native/java-grammar.y"
3265 {
3266 last_driver = *instance = java_dd_new(configuration);
3267 }
3268 #line 3269 "modules/java/native/java-grammar.c"
3269 break;
3270
3271 case 3: /* start: LL_CONTEXT_DESTINATION KW_JAVA $@1 '(' java_dest_options ')' */
3272 #line 407 "modules/java/native/java-grammar.y"
3273 { YYACCEPT; }
3274 #line 3275 "modules/java/native/java-grammar.c"
3275 break;
3276
3277 case 4: /* start: LL_CONTEXT_OPTIONS java_global_option */
3278 #line 408 "modules/java/native/java-grammar.y"
3279 { YYACCEPT; }
3280 #line 3281 "modules/java/native/java-grammar.c"
3281 break;
3282
3283 case 7: /* java_dest_option: KW_CLASS_PATH '(' string ')' */
3284 #line 418 "modules/java/native/java-grammar.y"
3285 {
3286 java_dd_set_class_path(last_driver, (yyvsp[-1].cptr));
3287 free((yyvsp[-1].cptr));
3288 }
3289 #line 3290 "modules/java/native/java-grammar.c"
3290 break;
3291
3292 case 8: /* java_dest_option: KW_CLASS_NAME '(' string ')' */
3293 #line 423 "modules/java/native/java-grammar.y"
3294 {
3295 java_dd_set_class_name(last_driver, (yyvsp[-1].cptr));
3296 free((yyvsp[-1].cptr));
3297 }
3298 #line 3299 "modules/java/native/java-grammar.c"
3299 break;
3300
3301 case 9: /* java_dest_option: KW_TEMPLATE '(' string ')' */
3302 #line 428 "modules/java/native/java-grammar.y"
3303 {
3304 CHECK_ERROR(cfg_tree_lookup_template(&configuration->tree, (yyvsp[-1].cptr)) == NULL, (yylsp[0]),
3305 "named templates are not supported in java destination");
3306 java_dd_set_template_string(last_driver, (yyvsp[-1].cptr)); free((yyvsp[-1].cptr));
3307 }
3308 #line 3309 "modules/java/native/java-grammar.c"
3309 break;
3310
3311 case 13: /* $@2: %empty */
3312 #line 436 "modules/java/native/java-grammar.y"
3313 { last_template_options = java_dd_get_template_options(last_driver); }
3314 #line 3315 "modules/java/native/java-grammar.c"
3315 break;
3316
3317 case 17: /* java_dest_custom_option: string string_or_number */
3318 #line 445 "modules/java/native/java-grammar.y"
3319 { java_dd_set_option(last_driver, (yyvsp[-1].cptr), (yyvsp[0].cptr)); free((yyvsp[-1].cptr)); free((yyvsp[0].cptr)); }
3320 #line 3321 "modules/java/native/java-grammar.c"
3321 break;
3322
3323 case 18: /* java_dest_custom_option: string LL_ARROW string_or_number */
3324 #line 446 "modules/java/native/java-grammar.y"
3325 { java_dd_set_option(last_driver, (yyvsp[-2].cptr), (yyvsp[0].cptr)); free((yyvsp[-2].cptr)); free((yyvsp[0].cptr)); }
3326 #line 3327 "modules/java/native/java-grammar.c"
3327 break;
3328
3329 case 19: /* java_global_option: KW_JVM_OPTIONS '(' string ')' */
3330 #line 450 "modules/java/native/java-grammar.y"
3331 {java_config_set_jvm_options(configuration, g_strdup((yyvsp[-1].cptr))); free((yyvsp[-1].cptr));}
3332 #line 3333 "modules/java/native/java-grammar.c"
3333 break;
3334
3335 case 22: /* nonnegative_integer64: LL_NUMBER */
3336 #line 733 "modules/java/native/java-grammar.y"
3337 {
3338 CHECK_ERROR(((yyvsp[0].num) >= 0), (yylsp[0]), "It cannot be negative");
3339 }
3340 #line 3341 "modules/java/native/java-grammar.c"
3341 break;
3342
3343 case 23: /* nonnegative_integer: nonnegative_integer64 */
3344 #line 740 "modules/java/native/java-grammar.y"
3345 {
3346 CHECK_ERROR(((yyvsp[0].num) <= G_MAXINT32), (yylsp[0]), "Must be smaller than 2^31");
3347 }
3348 #line 3349 "modules/java/native/java-grammar.c"
3349 break;
3350
3351 case 24: /* positive_integer64: LL_NUMBER */
3352 #line 747 "modules/java/native/java-grammar.y"
3353 {
3354 CHECK_ERROR(((yyvsp[0].num) > 0), (yylsp[0]), "Must be positive");
3355 }
3356 #line 3357 "modules/java/native/java-grammar.c"
3357 break;
3358
3359 case 25: /* positive_integer: positive_integer64 */
3360 #line 754 "modules/java/native/java-grammar.y"
3361 {
3362 CHECK_ERROR(((yyvsp[0].num) <= G_MAXINT32), (yylsp[0]), "Must be smaller than 2^31");
3363 }
3364 #line 3365 "modules/java/native/java-grammar.c"
3365 break;
3366
3367 case 26: /* string_or_number: string */
3368 #line 782 "modules/java/native/java-grammar.y"
3369 { (yyval.cptr) = (yyvsp[0].cptr); }
3370 #line 3371 "modules/java/native/java-grammar.c"
3371 break;
3372
3373 case 27: /* string_or_number: LL_NUMBER */
3374 #line 783 "modules/java/native/java-grammar.y"
3375 { (yyval.cptr) = strdup(lexer->token_text->str); }
3376 #line 3377 "modules/java/native/java-grammar.c"
3377 break;
3378
3379 case 28: /* string_or_number: LL_FLOAT */
3380 #line 784 "modules/java/native/java-grammar.y"
3381 { (yyval.cptr) = strdup(lexer->token_text->str); }
3382 #line 3383 "modules/java/native/java-grammar.c"
3383 break;
3384
3385 case 29: /* driver_option: KW_PERSIST_NAME '(' string ')' */
3386 #line 863 "modules/java/native/java-grammar.y"
3387 { log_pipe_set_persist_name(&last_driver->super, (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
3388 #line 3389 "modules/java/native/java-grammar.c"
3389 break;
3390
3391 case 30: /* inner_dest: LL_IDENTIFIER */
3392 #line 899 "modules/java/native/java-grammar.y"
3393 {
3394 Plugin *p;
3395 gint context = LL_CONTEXT_INNER_DEST;
3396 gpointer value;
3397
3398 p = cfg_find_plugin(configuration, context, (yyvsp[0].cptr));
3399 CHECK_ERROR(p, (yylsp[0]), "%s plugin %s not found", cfg_lexer_lookup_context_name_by_type(context), (yyvsp[0].cptr));
3400
3401 value = cfg_parse_plugin(configuration, p, &(yylsp[0]), last_driver);
3402
3403 free((yyvsp[0].cptr));
3404 if (!value)
3405 {
3406 YYERROR;
3407 }
3408 if (!log_driver_add_plugin(last_driver, (LogDriverPlugin *) value))
3409 {
3410 log_driver_plugin_free(value);
3411 CHECK_ERROR(TRUE, (yylsp[0]), "Error while registering the plugin %s in this destination", (yyvsp[0].cptr));
3412 }
3413 }
3414 #line 3415 "modules/java/native/java-grammar.c"
3415 break;
3416
3417 case 31: /* dest_driver_option: KW_LOG_FIFO_SIZE '(' positive_integer ')' */
3418 #line 926 "modules/java/native/java-grammar.y"
3419 { ((LogDestDriver *) last_driver)->log_fifo_size = (yyvsp[-1].num); }
3420 #line 3421 "modules/java/native/java-grammar.c"
3421 break;
3422
3423 case 32: /* dest_driver_option: KW_THROTTLE '(' nonnegative_integer ')' */
3424 #line 927 "modules/java/native/java-grammar.y"
3425 { ((LogDestDriver *) last_driver)->throttle = (yyvsp[-1].num); }
3426 #line 3427 "modules/java/native/java-grammar.c"
3427 break;
3428
3429 case 35: /* threaded_dest_driver_batch_option: KW_BATCH_LINES '(' nonnegative_integer ')' */
3430 #line 933 "modules/java/native/java-grammar.y"
3431 { log_threaded_dest_driver_set_batch_lines(last_driver, (yyvsp[-1].num)); }
3432 #line 3433 "modules/java/native/java-grammar.c"
3433 break;
3434
3435 case 36: /* threaded_dest_driver_batch_option: KW_BATCH_TIMEOUT '(' positive_integer ')' */
3436 #line 934 "modules/java/native/java-grammar.y"
3437 { log_threaded_dest_driver_set_batch_timeout(last_driver, (yyvsp[-1].num)); }
3438 #line 3439 "modules/java/native/java-grammar.c"
3439 break;
3440
3441 case 37: /* threaded_dest_driver_general_option: KW_RETRIES '(' positive_integer ')' */
3442 #line 944 "modules/java/native/java-grammar.y"
3443 {
3444 log_threaded_dest_driver_set_max_retries_on_error(last_driver, (yyvsp[-1].num));
3445 }
3446 #line 3447 "modules/java/native/java-grammar.c"
3447 break;
3448
3449 case 38: /* threaded_dest_driver_general_option: KW_TIME_REOPEN '(' positive_integer ')' */
3450 #line 947 "modules/java/native/java-grammar.y"
3451 { log_threaded_dest_driver_set_time_reopen(last_driver, (yyvsp[-1].num)); }
3452 #line 3453 "modules/java/native/java-grammar.c"
3453 break;
3454
3455 case 40: /* template_option: KW_TS_FORMAT '(' string ')' */
3456 #line 1100 "modules/java/native/java-grammar.y"
3457 { last_template_options->ts_format = cfg_ts_format_value((yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
3458 #line 3459 "modules/java/native/java-grammar.c"
3459 break;
3460
3461 case 41: /* template_option: KW_FRAC_DIGITS '(' nonnegative_integer ')' */
3462 #line 1101 "modules/java/native/java-grammar.y"
3463 { last_template_options->frac_digits = (yyvsp[-1].num); }
3464 #line 3465 "modules/java/native/java-grammar.c"
3465 break;
3466
3467 case 42: /* template_option: KW_TIME_ZONE '(' string ')' */
3468 #line 1102 "modules/java/native/java-grammar.y"
3469 { last_template_options->time_zone[LTZ_SEND] = g_strdup((yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
3470 #line 3471 "modules/java/native/java-grammar.c"
3471 break;
3472
3473 case 43: /* template_option: KW_SEND_TIME_ZONE '(' string ')' */
3474 #line 1103 "modules/java/native/java-grammar.y"
3475 { last_template_options->time_zone[LTZ_SEND] = g_strdup((yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
3476 #line 3477 "modules/java/native/java-grammar.c"
3477 break;
3478
3479 case 44: /* template_option: KW_LOCAL_TIME_ZONE '(' string ')' */
3480 #line 1104 "modules/java/native/java-grammar.y"
3481 { last_template_options->time_zone[LTZ_LOCAL] = g_strdup((yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
3482 #line 3483 "modules/java/native/java-grammar.c"
3483 break;
3484
3485 case 45: /* template_option: KW_ON_ERROR '(' string ')' */
3486 #line 1106 "modules/java/native/java-grammar.y"
3487 {
3488 gint on_error;
3489
3490 CHECK_ERROR(log_template_on_error_parse((yyvsp[-1].cptr), &on_error), (yylsp[-1]), "Invalid on-error() setting \"%s\"", (yyvsp[-1].cptr));
3491 free((yyvsp[-1].cptr));
3492
3493 log_template_options_set_on_error(last_template_options, on_error);
3494 }
3495 #line 3496 "modules/java/native/java-grammar.c"
3496 break;
3497
3498
3499 #line 3500 "modules/java/native/java-grammar.c"
3500
3501 default: break;
3502 }
3503 /* User semantic actions sometimes alter yychar, and that requires
3504 that yytoken be updated with the new translation. We take the
3505 approach of translating immediately before every use of yytoken.
3506 One alternative is translating here after every semantic action,
3507 but that translation would be missed if the semantic action invokes
3508 YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
3509 if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
3510 incorrect destructor might then be invoked immediately. In the
3511 case of YYERROR or YYBACKUP, subsequent parser actions might lead
3512 to an incorrect destructor call or verbose syntax error message
3513 before the lookahead is translated. */
3514 YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
3515
3516 YYPOPSTACK (yylen);
3517 yylen = 0;
3518
3519 *++yyvsp = yyval;
3520 *++yylsp = yyloc;
3521
3522 /* Now 'shift' the result of the reduction. Determine what state
3523 that goes to, based on the state we popped back to and the rule
3524 number reduced by. */
3525 {
3526 const int yylhs = yyr1[yyn] - YYNTOKENS;
3527 const int yyi = yypgoto[yylhs] + *yyssp;
3528 yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
3529 ? yytable[yyi]
3530 : yydefgoto[yylhs]);
3531 }
3532
3533 goto yynewstate;
3534
3535
3536 /*--------------------------------------.
3537 | yyerrlab -- here on detecting error. |
3538 `--------------------------------------*/
3539 yyerrlab:
3540 /* Make sure we have latest lookahead translation. See comments at
3541 user semantic actions for why this is necessary. */
3542 yytoken = yychar == JAVA_EMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
3543 /* If not already recovering from an error, report this error. */
3544 if (!yyerrstatus)
3545 {
3546 ++yynerrs;
3547 {
3548 yypcontext_t yyctx
3549 = {yyssp, yytoken, &yylloc};
3550 char const *yymsgp = YY_("syntax error");
3551 int yysyntax_error_status;
3552 yysyntax_error_status = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx);
3553 if (yysyntax_error_status == 0)
3554 yymsgp = yymsg;
3555 else if (yysyntax_error_status == -1)
3556 {
3557 if (yymsg != yymsgbuf)
3558 YYSTACK_FREE (yymsg);
3559 yymsg = YY_CAST (char *,
3560 YYSTACK_ALLOC (YY_CAST (YYSIZE_T, yymsg_alloc)));
3561 if (yymsg)
3562 {
3563 yysyntax_error_status
3564 = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx);
3565 yymsgp = yymsg;
3566 }
3567 else
3568 {
3569 yymsg = yymsgbuf;
3570 yymsg_alloc = sizeof yymsgbuf;
3571 yysyntax_error_status = YYENOMEM;
3572 }
3573 }
3574 yyerror (&yylloc, lexer, instance, arg, yymsgp);
3575 if (yysyntax_error_status == YYENOMEM)
3576 YYNOMEM;
3577 }
3578 }
3579
3580 yyerror_range[1] = yylloc;
3581 if (yyerrstatus == 3)
3582 {
3583 /* If just tried and failed to reuse lookahead token after an
3584 error, discard it. */
3585
3586 if (yychar <= JAVA_EOF)
3587 {
3588 /* Return failure if at end of input. */
3589 if (yychar == JAVA_EOF)
3590 YYABORT;
3591 }
3592 else
3593 {
3594 yydestruct ("Error: discarding",
3595 yytoken, &yylval, &yylloc, lexer, instance, arg);
3596 yychar = JAVA_EMPTY;
3597 }
3598 }
3599
3600 /* Else will try to reuse lookahead token after shifting the error
3601 token. */
3602 goto yyerrlab1;
3603
3604
3605 /*---------------------------------------------------.
3606 | yyerrorlab -- error raised explicitly by YYERROR. |
3607 `---------------------------------------------------*/
3608 yyerrorlab:
3609 /* Pacify compilers when the user code never invokes YYERROR and the
3610 label yyerrorlab therefore never appears in user code. */
3611 if (0)
3612 YYERROR;
3613 ++yynerrs;
3614
3615 /* Do not reclaim the symbols of the rule whose action triggered
3616 this YYERROR. */
3617 YYPOPSTACK (yylen);
3618 yylen = 0;
3619 YY_STACK_PRINT (yyss, yyssp);
3620 yystate = *yyssp;
3621 goto yyerrlab1;
3622
3623
3624 /*-------------------------------------------------------------.
3625 | yyerrlab1 -- common code for both syntax error and YYERROR. |
3626 `-------------------------------------------------------------*/
3627 yyerrlab1:
3628 yyerrstatus = 3; /* Each real token shifted decrements this. */
3629
3630 /* Pop stack until we find a state that shifts the error token. */
3631 for (;;)
3632 {
3633 yyn = yypact[yystate];
3634 if (!yypact_value_is_default (yyn))
3635 {
3636 yyn += YYSYMBOL_YYerror;
3637 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
3638 {
3639 yyn = yytable[yyn];
3640 if (0 < yyn)
3641 break;
3642 }
3643 }
3644
3645 /* Pop the current state because it cannot handle the error token. */
3646 if (yyssp == yyss)
3647 YYABORT;
3648
3649 yyerror_range[1] = *yylsp;
3650 yydestruct ("Error: popping",
3651 YY_ACCESSING_SYMBOL (yystate), yyvsp, yylsp, lexer, instance, arg);
3652 YYPOPSTACK (1);
3653 yystate = *yyssp;
3654 YY_STACK_PRINT (yyss, yyssp);
3655 }
3656
3657 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3658 *++yyvsp = yylval;
3659 YY_IGNORE_MAYBE_UNINITIALIZED_END
3660
3661 yyerror_range[2] = yylloc;
3662 ++yylsp;
3663 YYLLOC_DEFAULT (*yylsp, yyerror_range, 2);
3664
3665 /* Shift the error token. */
3666 YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
3667
3668 yystate = yyn;
3669 goto yynewstate;
3670
3671
3672 /*-------------------------------------.
3673 | yyacceptlab -- YYACCEPT comes here. |
3674 `-------------------------------------*/
3675 yyacceptlab:
3676 yyresult = 0;
3677 goto yyreturnlab;
3678
3679
3680 /*-----------------------------------.
3681 | yyabortlab -- YYABORT comes here. |
3682 `-----------------------------------*/
3683 yyabortlab:
3684 yyresult = 1;
3685 goto yyreturnlab;
3686
3687
3688 /*-----------------------------------------------------------.
3689 | yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. |
3690 `-----------------------------------------------------------*/
3691 yyexhaustedlab:
3692 yyerror (&yylloc, lexer, instance, arg, YY_("memory exhausted"));
3693 yyresult = 2;
3694 goto yyreturnlab;
3695
3696
3697 /*----------------------------------------------------------.
3698 | yyreturnlab -- parsing is finished, clean up and return. |
3699 `----------------------------------------------------------*/
3700 yyreturnlab:
3701 if (yychar != JAVA_EMPTY)
3702 {
3703 /* Make sure we have latest lookahead translation. See comments at
3704 user semantic actions for why this is necessary. */
3705 yytoken = YYTRANSLATE (yychar);
3706 yydestruct ("Cleanup: discarding lookahead",
3707 yytoken, &yylval, &yylloc, lexer, instance, arg);
3708 }
3709 /* Do not reclaim the symbols of the rule whose action triggered
3710 this YYABORT or YYACCEPT. */
3711 YYPOPSTACK (yylen);
3712 YY_STACK_PRINT (yyss, yyssp);
3713 while (yyssp != yyss)
3714 {
3715 yydestruct ("Cleanup: popping",
3716 YY_ACCESSING_SYMBOL (+*yyssp), yyvsp, yylsp, lexer, instance, arg);
3717 YYPOPSTACK (1);
3718 }
3719 #ifndef yyoverflow
3720 if (yyss != yyssa)
3721 YYSTACK_FREE (yyss);
3722 #endif
3723 if (yymsg != yymsgbuf)
3724 YYSTACK_FREE (yymsg);
3725 return yyresult;
3726 }
3727
3728 #line 1217 "modules/java/native/java-grammar.y"
3729
3730