/[svn]/ircd-hybrid-8/src/conf_parser.c
ViewVC logotype

Contents of /ircd-hybrid-8/src/conf_parser.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1542 - (show annotations)
Sat Sep 29 20:31:35 2012 UTC (7 years, 10 months ago) by michael
File MIME type: text/x-chdr
File size: 223557 byte(s)
- Fixed an off-by-one with spoofs. Spoofs are now also checked for
  invalid characters.

1 /* A Bison parser, made by GNU Bison 2.6.2. */
2
3 /* Bison implementation for Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
29
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
32
33 /* C LALR(1) parser skeleton written by Richard Stallman, by
34 simplifying the original so-called "semantic" parser. */
35
36 /* All symbols defined below should begin with yy or YY, to avoid
37 infringing on user name space. This should be done even for local
38 variables, as they might otherwise be expanded by user macros.
39 There are some unavoidable exceptions within include files to
40 define necessary library symbols; they are noted "INFRINGES ON
41 USER NAME SPACE" below. */
42
43 /* Identify Bison output. */
44 #define YYBISON 1
45
46 /* Bison version. */
47 #define YYBISON_VERSION "2.6.2"
48
49 /* Skeleton name. */
50 #define YYSKELETON_NAME "yacc.c"
51
52 /* Pure parsers. */
53 #define YYPURE 0
54
55 /* Push parsers. */
56 #define YYPUSH 0
57
58 /* Pull parsers. */
59 #define YYPULL 1
60
61
62
63
64 /* Copy the first part of user declarations. */
65 /* Line 336 of yacc.c */
66 #line 25 "conf_parser.y"
67
68
69 #define YY_NO_UNPUT
70 #include <sys/types.h>
71 #include <string.h>
72
73 #include "config.h"
74 #include "stdinc.h"
75 #include "ircd.h"
76 #include "list.h"
77 #include "conf.h"
78 #include "event.h"
79 #include "log.h"
80 #include "client.h" /* for UMODE_ALL only */
81 #include "irc_string.h"
82 #include "sprintf_irc.h"
83 #include "memory.h"
84 #include "modules.h"
85 #include "s_serv.h"
86 #include "hostmask.h"
87 #include "send.h"
88 #include "listener.h"
89 #include "resv.h"
90 #include "numeric.h"
91 #include "s_user.h"
92
93 #ifdef HAVE_LIBCRYPTO
94 #include <openssl/rsa.h>
95 #include <openssl/bio.h>
96 #include <openssl/pem.h>
97 #include <openssl/dh.h>
98 #endif
99
100 int yylex(void);
101
102 static char *class_name = NULL;
103 static struct ConfItem *yy_conf = NULL;
104 static struct AccessItem *yy_aconf = NULL;
105 static struct MatchItem *yy_match_item = NULL;
106 static struct ClassItem *yy_class = NULL;
107 static char *yy_class_name = NULL;
108
109 static dlink_list col_conf_list = { NULL, NULL, 0 };
110 static unsigned int listener_flags = 0;
111 static unsigned int regex_ban = 0;
112 static char userbuf[IRCD_BUFSIZE];
113 static char hostbuf[IRCD_BUFSIZE];
114 static char reasonbuf[REASONLEN + 1];
115 static char gecos_name[REALLEN * 4];
116 static char lfile[IRCD_BUFSIZE];
117 static unsigned int ltype = 0;
118 static unsigned int lsize = 0;
119 static char *resv_reason = NULL;
120 static char *listener_address = NULL;
121
122 struct CollectItem
123 {
124 dlink_node node;
125 char *name;
126 char *user;
127 char *host;
128 char *passwd;
129 int port;
130 int flags;
131 #ifdef HAVE_LIBCRYPTO
132 char *rsa_public_key_file;
133 RSA *rsa_public_key;
134 #endif
135 };
136
137 static void
138 free_collect_item(struct CollectItem *item)
139 {
140 MyFree(item->name);
141 MyFree(item->user);
142 MyFree(item->host);
143 MyFree(item->passwd);
144 #ifdef HAVE_LIBCRYPTO
145 MyFree(item->rsa_public_key_file);
146 #endif
147 MyFree(item);
148 }
149
150
151 /* Line 336 of yacc.c */
152 #line 153 "conf_parser.c"
153
154 # ifndef YY_NULL
155 # if defined __cplusplus && 201103L <= __cplusplus
156 # define YY_NULL nullptr
157 # else
158 # define YY_NULL 0
159 # endif
160 # endif
161
162 /* Enabling verbose error messages. */
163 #ifdef YYERROR_VERBOSE
164 # undef YYERROR_VERBOSE
165 # define YYERROR_VERBOSE 1
166 #else
167 # define YYERROR_VERBOSE 0
168 #endif
169
170 /* In a future release of Bison, this section will be replaced
171 by #include "y.tab.h". */
172 #ifndef YY_Y_TAB_H
173 # define YY_Y_TAB_H
174 /* Enabling traces. */
175 #ifndef YYDEBUG
176 # define YYDEBUG 0
177 #endif
178 #if YYDEBUG
179 extern int yydebug;
180 #endif
181
182 /* Tokens. */
183 #ifndef YYTOKENTYPE
184 # define YYTOKENTYPE
185 /* Put the tokens into the symbol table, so that GDB and other debuggers
186 know about them. */
187 enum yytokentype {
188 ACCEPT_PASSWORD = 258,
189 ADMIN = 259,
190 AFTYPE = 260,
191 ANTI_NICK_FLOOD = 261,
192 ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
193 AUTOCONN = 263,
194 BYTES = 264,
195 KBYTES = 265,
196 MBYTES = 266,
197 CALLER_ID_WAIT = 267,
198 CAN_FLOOD = 268,
199 CHANNEL = 269,
200 CIDR_BITLEN_IPV4 = 270,
201 CIDR_BITLEN_IPV6 = 271,
202 CLASS = 272,
203 CONNECT = 273,
204 CONNECTFREQ = 274,
205 DEFAULT_FLOODCOUNT = 275,
206 DEFAULT_SPLIT_SERVER_COUNT = 276,
207 DEFAULT_SPLIT_USER_COUNT = 277,
208 DENY = 278,
209 DESCRIPTION = 279,
210 DIE = 280,
211 DISABLE_AUTH = 281,
212 DISABLE_FAKE_CHANNELS = 282,
213 DISABLE_REMOTE_COMMANDS = 283,
214 DOTS_IN_IDENT = 284,
215 EGDPOOL_PATH = 285,
216 EMAIL = 286,
217 ENCRYPTED = 287,
218 EXCEED_LIMIT = 288,
219 EXEMPT = 289,
220 FAILED_OPER_NOTICE = 290,
221 IRCD_FLAGS = 291,
222 FLATTEN_LINKS = 292,
223 GECOS = 293,
224 GENERAL = 294,
225 GLINE = 295,
226 GLINE_DURATION = 296,
227 GLINE_ENABLE = 297,
228 GLINE_EXEMPT = 298,
229 GLINE_REQUEST_DURATION = 299,
230 GLINE_MIN_CIDR = 300,
231 GLINE_MIN_CIDR6 = 301,
232 GLOBAL_KILL = 302,
233 IRCD_AUTH = 303,
234 NEED_IDENT = 304,
235 HAVENT_READ_CONF = 305,
236 HIDDEN = 306,
237 HIDDEN_NAME = 307,
238 HIDE_SERVER_IPS = 308,
239 HIDE_SERVERS = 309,
240 HIDE_SPOOF_IPS = 310,
241 HOST = 311,
242 HUB = 312,
243 HUB_MASK = 313,
244 IGNORE_BOGUS_TS = 314,
245 INVISIBLE_ON_CONNECT = 315,
246 IP = 316,
247 KILL = 317,
248 KILL_CHASE_TIME_LIMIT = 318,
249 KLINE = 319,
250 KLINE_EXEMPT = 320,
251 KLINE_REASON = 321,
252 KLINE_WITH_REASON = 322,
253 KNOCK_DELAY = 323,
254 KNOCK_DELAY_CHANNEL = 324,
255 LEAF_MASK = 325,
256 LINKS_DELAY = 326,
257 LISTEN = 327,
258 T_LOG = 328,
259 MAX_ACCEPT = 329,
260 MAX_BANS = 330,
261 MAX_CHANS_PER_OPER = 331,
262 MAX_CHANS_PER_USER = 332,
263 MAX_GLOBAL = 333,
264 MAX_IDENT = 334,
265 MAX_LOCAL = 335,
266 MAX_NICK_CHANGES = 336,
267 MAX_NICK_TIME = 337,
268 MAX_NUMBER = 338,
269 MAX_TARGETS = 339,
270 MAX_WATCH = 340,
271 MESSAGE_LOCALE = 341,
272 MIN_NONWILDCARD = 342,
273 MIN_NONWILDCARD_SIMPLE = 343,
274 MODULE = 344,
275 MODULES = 345,
276 NAME = 346,
277 NEED_PASSWORD = 347,
278 NETWORK_DESC = 348,
279 NETWORK_NAME = 349,
280 NICK = 350,
281 NICK_CHANGES = 351,
282 NO_CREATE_ON_SPLIT = 352,
283 NO_JOIN_ON_SPLIT = 353,
284 NO_OPER_FLOOD = 354,
285 NO_TILDE = 355,
286 NUMBER = 356,
287 NUMBER_PER_CIDR = 357,
288 NUMBER_PER_IP = 358,
289 OPERATOR = 359,
290 OPERS_BYPASS_CALLERID = 360,
291 OPER_ONLY_UMODES = 361,
292 OPER_PASS_RESV = 362,
293 OPER_SPY_T = 363,
294 OPER_UMODES = 364,
295 JOIN_FLOOD_COUNT = 365,
296 JOIN_FLOOD_TIME = 366,
297 PACE_WAIT = 367,
298 PACE_WAIT_SIMPLE = 368,
299 PASSWORD = 369,
300 PATH = 370,
301 PING_COOKIE = 371,
302 PING_TIME = 372,
303 PING_WARNING = 373,
304 PORT = 374,
305 QSTRING = 375,
306 QUIET_ON_BAN = 376,
307 REASON = 377,
308 REDIRPORT = 378,
309 REDIRSERV = 379,
310 REGEX_T = 380,
311 REHASH = 381,
312 TREJECT_HOLD_TIME = 382,
313 REMOTE = 383,
314 REMOTEBAN = 384,
315 RESTRICT_CHANNELS = 385,
316 RSA_PRIVATE_KEY_FILE = 386,
317 RSA_PUBLIC_KEY_FILE = 387,
318 SSL_CERTIFICATE_FILE = 388,
319 SSL_DH_PARAM_FILE = 389,
320 T_SSL_CLIENT_METHOD = 390,
321 T_SSL_SERVER_METHOD = 391,
322 T_SSLV3 = 392,
323 T_TLSV1 = 393,
324 RESV = 394,
325 RESV_EXEMPT = 395,
326 SECONDS = 396,
327 MINUTES = 397,
328 HOURS = 398,
329 DAYS = 399,
330 WEEKS = 400,
331 SENDQ = 401,
332 SEND_PASSWORD = 402,
333 SERVERHIDE = 403,
334 SERVERINFO = 404,
335 IRCD_SID = 405,
336 TKLINE_EXPIRE_NOTICES = 406,
337 T_SHARED = 407,
338 T_CLUSTER = 408,
339 TYPE = 409,
340 SHORT_MOTD = 410,
341 SPOOF = 411,
342 SPOOF_NOTICE = 412,
343 STATS_E_DISABLED = 413,
344 STATS_I_OPER_ONLY = 414,
345 STATS_K_OPER_ONLY = 415,
346 STATS_O_OPER_ONLY = 416,
347 STATS_P_OPER_ONLY = 417,
348 TBOOL = 418,
349 TMASKED = 419,
350 TS_MAX_DELTA = 420,
351 TS_WARN_DELTA = 421,
352 TWODOTS = 422,
353 T_ALL = 423,
354 T_BOTS = 424,
355 T_SOFTCALLERID = 425,
356 T_CALLERID = 426,
357 T_CCONN = 427,
358 T_CCONN_FULL = 428,
359 T_SSL_CIPHER_LIST = 429,
360 T_DEAF = 430,
361 T_DEBUG = 431,
362 T_DLINE = 432,
363 T_EXTERNAL = 433,
364 T_FULL = 434,
365 T_INVISIBLE = 435,
366 T_IPV4 = 436,
367 T_IPV6 = 437,
368 T_LOCOPS = 438,
369 T_MAX_CLIENTS = 439,
370 T_NCHANGE = 440,
371 T_OPERWALL = 441,
372 T_RECVQ = 442,
373 T_REJ = 443,
374 T_SERVER = 444,
375 T_SERVNOTICE = 445,
376 T_SET = 446,
377 T_SKILL = 447,
378 T_SPY = 448,
379 T_SSL = 449,
380 T_UMODES = 450,
381 T_UNAUTH = 451,
382 T_UNDLINE = 452,
383 T_UNLIMITED = 453,
384 T_UNRESV = 454,
385 T_UNXLINE = 455,
386 T_GLOBOPS = 456,
387 T_WALLOP = 457,
388 T_RESTART = 458,
389 T_SERVICE = 459,
390 T_SERVICES_NAME = 460,
391 THROTTLE_TIME = 461,
392 TRUE_NO_OPER_FLOOD = 462,
393 UNKLINE = 463,
394 USER = 464,
395 USE_EGD = 465,
396 USE_LOGGING = 466,
397 USE_WHOIS_ACTUALLY = 467,
398 VHOST = 468,
399 VHOST6 = 469,
400 XLINE = 470,
401 WARN_NO_NLINE = 471,
402 T_SIZE = 472,
403 T_FILE = 473
404 };
405 #endif
406 /* Tokens. */
407 #define ACCEPT_PASSWORD 258
408 #define ADMIN 259
409 #define AFTYPE 260
410 #define ANTI_NICK_FLOOD 261
411 #define ANTI_SPAM_EXIT_MESSAGE_TIME 262
412 #define AUTOCONN 263
413 #define BYTES 264
414 #define KBYTES 265
415 #define MBYTES 266
416 #define CALLER_ID_WAIT 267
417 #define CAN_FLOOD 268
418 #define CHANNEL 269
419 #define CIDR_BITLEN_IPV4 270
420 #define CIDR_BITLEN_IPV6 271
421 #define CLASS 272
422 #define CONNECT 273
423 #define CONNECTFREQ 274
424 #define DEFAULT_FLOODCOUNT 275
425 #define DEFAULT_SPLIT_SERVER_COUNT 276
426 #define DEFAULT_SPLIT_USER_COUNT 277
427 #define DENY 278
428 #define DESCRIPTION 279
429 #define DIE 280
430 #define DISABLE_AUTH 281
431 #define DISABLE_FAKE_CHANNELS 282
432 #define DISABLE_REMOTE_COMMANDS 283
433 #define DOTS_IN_IDENT 284
434 #define EGDPOOL_PATH 285
435 #define EMAIL 286
436 #define ENCRYPTED 287
437 #define EXCEED_LIMIT 288
438 #define EXEMPT 289
439 #define FAILED_OPER_NOTICE 290
440 #define IRCD_FLAGS 291
441 #define FLATTEN_LINKS 292
442 #define GECOS 293
443 #define GENERAL 294
444 #define GLINE 295
445 #define GLINE_DURATION 296
446 #define GLINE_ENABLE 297
447 #define GLINE_EXEMPT 298
448 #define GLINE_REQUEST_DURATION 299
449 #define GLINE_MIN_CIDR 300
450 #define GLINE_MIN_CIDR6 301
451 #define GLOBAL_KILL 302
452 #define IRCD_AUTH 303
453 #define NEED_IDENT 304
454 #define HAVENT_READ_CONF 305
455 #define HIDDEN 306
456 #define HIDDEN_NAME 307
457 #define HIDE_SERVER_IPS 308
458 #define HIDE_SERVERS 309
459 #define HIDE_SPOOF_IPS 310
460 #define HOST 311
461 #define HUB 312
462 #define HUB_MASK 313
463 #define IGNORE_BOGUS_TS 314
464 #define INVISIBLE_ON_CONNECT 315
465 #define IP 316
466 #define KILL 317
467 #define KILL_CHASE_TIME_LIMIT 318
468 #define KLINE 319
469 #define KLINE_EXEMPT 320
470 #define KLINE_REASON 321
471 #define KLINE_WITH_REASON 322
472 #define KNOCK_DELAY 323
473 #define KNOCK_DELAY_CHANNEL 324
474 #define LEAF_MASK 325
475 #define LINKS_DELAY 326
476 #define LISTEN 327
477 #define T_LOG 328
478 #define MAX_ACCEPT 329
479 #define MAX_BANS 330
480 #define MAX_CHANS_PER_OPER 331
481 #define MAX_CHANS_PER_USER 332
482 #define MAX_GLOBAL 333
483 #define MAX_IDENT 334
484 #define MAX_LOCAL 335
485 #define MAX_NICK_CHANGES 336
486 #define MAX_NICK_TIME 337
487 #define MAX_NUMBER 338
488 #define MAX_TARGETS 339
489 #define MAX_WATCH 340
490 #define MESSAGE_LOCALE 341
491 #define MIN_NONWILDCARD 342
492 #define MIN_NONWILDCARD_SIMPLE 343
493 #define MODULE 344
494 #define MODULES 345
495 #define NAME 346
496 #define NEED_PASSWORD 347
497 #define NETWORK_DESC 348
498 #define NETWORK_NAME 349
499 #define NICK 350
500 #define NICK_CHANGES 351
501 #define NO_CREATE_ON_SPLIT 352
502 #define NO_JOIN_ON_SPLIT 353
503 #define NO_OPER_FLOOD 354
504 #define NO_TILDE 355
505 #define NUMBER 356
506 #define NUMBER_PER_CIDR 357
507 #define NUMBER_PER_IP 358
508 #define OPERATOR 359
509 #define OPERS_BYPASS_CALLERID 360
510 #define OPER_ONLY_UMODES 361
511 #define OPER_PASS_RESV 362
512 #define OPER_SPY_T 363
513 #define OPER_UMODES 364
514 #define JOIN_FLOOD_COUNT 365
515 #define JOIN_FLOOD_TIME 366
516 #define PACE_WAIT 367
517 #define PACE_WAIT_SIMPLE 368
518 #define PASSWORD 369
519 #define PATH 370
520 #define PING_COOKIE 371
521 #define PING_TIME 372
522 #define PING_WARNING 373
523 #define PORT 374
524 #define QSTRING 375
525 #define QUIET_ON_BAN 376
526 #define REASON 377
527 #define REDIRPORT 378
528 #define REDIRSERV 379
529 #define REGEX_T 380
530 #define REHASH 381
531 #define TREJECT_HOLD_TIME 382
532 #define REMOTE 383
533 #define REMOTEBAN 384
534 #define RESTRICT_CHANNELS 385
535 #define RSA_PRIVATE_KEY_FILE 386
536 #define RSA_PUBLIC_KEY_FILE 387
537 #define SSL_CERTIFICATE_FILE 388
538 #define SSL_DH_PARAM_FILE 389
539 #define T_SSL_CLIENT_METHOD 390
540 #define T_SSL_SERVER_METHOD 391
541 #define T_SSLV3 392
542 #define T_TLSV1 393
543 #define RESV 394
544 #define RESV_EXEMPT 395
545 #define SECONDS 396
546 #define MINUTES 397
547 #define HOURS 398
548 #define DAYS 399
549 #define WEEKS 400
550 #define SENDQ 401
551 #define SEND_PASSWORD 402
552 #define SERVERHIDE 403
553 #define SERVERINFO 404
554 #define IRCD_SID 405
555 #define TKLINE_EXPIRE_NOTICES 406
556 #define T_SHARED 407
557 #define T_CLUSTER 408
558 #define TYPE 409
559 #define SHORT_MOTD 410
560 #define SPOOF 411
561 #define SPOOF_NOTICE 412
562 #define STATS_E_DISABLED 413
563 #define STATS_I_OPER_ONLY 414
564 #define STATS_K_OPER_ONLY 415
565 #define STATS_O_OPER_ONLY 416
566 #define STATS_P_OPER_ONLY 417
567 #define TBOOL 418
568 #define TMASKED 419
569 #define TS_MAX_DELTA 420
570 #define TS_WARN_DELTA 421
571 #define TWODOTS 422
572 #define T_ALL 423
573 #define T_BOTS 424
574 #define T_SOFTCALLERID 425
575 #define T_CALLERID 426
576 #define T_CCONN 427
577 #define T_CCONN_FULL 428
578 #define T_SSL_CIPHER_LIST 429
579 #define T_DEAF 430
580 #define T_DEBUG 431
581 #define T_DLINE 432
582 #define T_EXTERNAL 433
583 #define T_FULL 434
584 #define T_INVISIBLE 435
585 #define T_IPV4 436
586 #define T_IPV6 437
587 #define T_LOCOPS 438
588 #define T_MAX_CLIENTS 439
589 #define T_NCHANGE 440
590 #define T_OPERWALL 441
591 #define T_RECVQ 442
592 #define T_REJ 443
593 #define T_SERVER 444
594 #define T_SERVNOTICE 445
595 #define T_SET 446
596 #define T_SKILL 447
597 #define T_SPY 448
598 #define T_SSL 449
599 #define T_UMODES 450
600 #define T_UNAUTH 451
601 #define T_UNDLINE 452
602 #define T_UNLIMITED 453
603 #define T_UNRESV 454
604 #define T_UNXLINE 455
605 #define T_GLOBOPS 456
606 #define T_WALLOP 457
607 #define T_RESTART 458
608 #define T_SERVICE 459
609 #define T_SERVICES_NAME 460
610 #define THROTTLE_TIME 461
611 #define TRUE_NO_OPER_FLOOD 462
612 #define UNKLINE 463
613 #define USER 464
614 #define USE_EGD 465
615 #define USE_LOGGING 466
616 #define USE_WHOIS_ACTUALLY 467
617 #define VHOST 468
618 #define VHOST6 469
619 #define XLINE 470
620 #define WARN_NO_NLINE 471
621 #define T_SIZE 472
622 #define T_FILE 473
623
624
625
626 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
627 typedef union YYSTYPE
628 {
629 /* Line 350 of yacc.c */
630 #line 110 "conf_parser.y"
631
632 int number;
633 char *string;
634
635
636 /* Line 350 of yacc.c */
637 #line 638 "conf_parser.c"
638 } YYSTYPE;
639 # define YYSTYPE_IS_TRIVIAL 1
640 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
641 # define YYSTYPE_IS_DECLARED 1
642 #endif
643
644 extern YYSTYPE yylval;
645
646 #ifdef YYPARSE_PARAM
647 #if defined __STDC__ || defined __cplusplus
648 int yyparse (void *YYPARSE_PARAM);
649 #else
650 int yyparse ();
651 #endif
652 #else /* ! YYPARSE_PARAM */
653 #if defined __STDC__ || defined __cplusplus
654 int yyparse (void);
655 #else
656 int yyparse ();
657 #endif
658 #endif /* ! YYPARSE_PARAM */
659
660 #endif /* !YY_Y_TAB_H */
661
662 /* Copy the second part of user declarations. */
663
664 /* Line 353 of yacc.c */
665 #line 666 "conf_parser.c"
666
667 #ifdef short
668 # undef short
669 #endif
670
671 #ifdef YYTYPE_UINT8
672 typedef YYTYPE_UINT8 yytype_uint8;
673 #else
674 typedef unsigned char yytype_uint8;
675 #endif
676
677 #ifdef YYTYPE_INT8
678 typedef YYTYPE_INT8 yytype_int8;
679 #elif (defined __STDC__ || defined __C99__FUNC__ \
680 || defined __cplusplus || defined _MSC_VER)
681 typedef signed char yytype_int8;
682 #else
683 typedef short int yytype_int8;
684 #endif
685
686 #ifdef YYTYPE_UINT16
687 typedef YYTYPE_UINT16 yytype_uint16;
688 #else
689 typedef unsigned short int yytype_uint16;
690 #endif
691
692 #ifdef YYTYPE_INT16
693 typedef YYTYPE_INT16 yytype_int16;
694 #else
695 typedef short int yytype_int16;
696 #endif
697
698 #ifndef YYSIZE_T
699 # ifdef __SIZE_TYPE__
700 # define YYSIZE_T __SIZE_TYPE__
701 # elif defined size_t
702 # define YYSIZE_T size_t
703 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
704 || defined __cplusplus || defined _MSC_VER)
705 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
706 # define YYSIZE_T size_t
707 # else
708 # define YYSIZE_T unsigned int
709 # endif
710 #endif
711
712 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
713
714 #ifndef YY_
715 # if defined YYENABLE_NLS && YYENABLE_NLS
716 # if ENABLE_NLS
717 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
718 # define YY_(msgid) dgettext ("bison-runtime", msgid)
719 # endif
720 # endif
721 # ifndef YY_
722 # define YY_(msgid) msgid
723 # endif
724 #endif
725
726 /* Suppress unused-variable warnings by "using" E. */
727 #if ! defined lint || defined __GNUC__
728 # define YYUSE(e) ((void) (e))
729 #else
730 # define YYUSE(e) /* empty */
731 #endif
732
733 /* Identity function, used to suppress warnings about constant conditions. */
734 #ifndef lint
735 # define YYID(n) (n)
736 #else
737 #if (defined __STDC__ || defined __C99__FUNC__ \
738 || defined __cplusplus || defined _MSC_VER)
739 static int
740 YYID (int yyi)
741 #else
742 static int
743 YYID (yyi)
744 int yyi;
745 #endif
746 {
747 return yyi;
748 }
749 #endif
750
751 #if ! defined yyoverflow || YYERROR_VERBOSE
752
753 /* The parser invokes alloca or malloc; define the necessary symbols. */
754
755 # ifdef YYSTACK_USE_ALLOCA
756 # if YYSTACK_USE_ALLOCA
757 # ifdef __GNUC__
758 # define YYSTACK_ALLOC __builtin_alloca
759 # elif defined __BUILTIN_VA_ARG_INCR
760 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
761 # elif defined _AIX
762 # define YYSTACK_ALLOC __alloca
763 # elif defined _MSC_VER
764 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
765 # define alloca _alloca
766 # else
767 # define YYSTACK_ALLOC alloca
768 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
769 || defined __cplusplus || defined _MSC_VER)
770 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
771 /* Use EXIT_SUCCESS as a witness for stdlib.h. */
772 # ifndef EXIT_SUCCESS
773 # define EXIT_SUCCESS 0
774 # endif
775 # endif
776 # endif
777 # endif
778 # endif
779
780 # ifdef YYSTACK_ALLOC
781 /* Pacify GCC's `empty if-body' warning. */
782 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
783 # ifndef YYSTACK_ALLOC_MAXIMUM
784 /* The OS might guarantee only one guard page at the bottom of the stack,
785 and a page size can be as small as 4096 bytes. So we cannot safely
786 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
787 to allow for a few compiler-allocated temporary stack slots. */
788 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
789 # endif
790 # else
791 # define YYSTACK_ALLOC YYMALLOC
792 # define YYSTACK_FREE YYFREE
793 # ifndef YYSTACK_ALLOC_MAXIMUM
794 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
795 # endif
796 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
797 && ! ((defined YYMALLOC || defined malloc) \
798 && (defined YYFREE || defined free)))
799 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
800 # ifndef EXIT_SUCCESS
801 # define EXIT_SUCCESS 0
802 # endif
803 # endif
804 # ifndef YYMALLOC
805 # define YYMALLOC malloc
806 # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
807 || defined __cplusplus || defined _MSC_VER)
808 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
809 # endif
810 # endif
811 # ifndef YYFREE
812 # define YYFREE free
813 # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
814 || defined __cplusplus || defined _MSC_VER)
815 void free (void *); /* INFRINGES ON USER NAME SPACE */
816 # endif
817 # endif
818 # endif
819 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
820
821
822 #if (! defined yyoverflow \
823 && (! defined __cplusplus \
824 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
825
826 /* A type that is properly aligned for any stack member. */
827 union yyalloc
828 {
829 yytype_int16 yyss_alloc;
830 YYSTYPE yyvs_alloc;
831 };
832
833 /* The size of the maximum gap between one aligned stack and the next. */
834 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
835
836 /* The size of an array large to enough to hold all stacks, each with
837 N elements. */
838 # define YYSTACK_BYTES(N) \
839 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
840 + YYSTACK_GAP_MAXIMUM)
841
842 # define YYCOPY_NEEDED 1
843
844 /* Relocate STACK from its old location to the new one. The
845 local variables YYSIZE and YYSTACKSIZE give the old and new number of
846 elements in the stack, and YYPTR gives the new location of the
847 stack. Advance YYPTR to a properly aligned location for the next
848 stack. */
849 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
850 do \
851 { \
852 YYSIZE_T yynewbytes; \
853 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
854 Stack = &yyptr->Stack_alloc; \
855 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
856 yyptr += yynewbytes / sizeof (*yyptr); \
857 } \
858 while (YYID (0))
859
860 #endif
861
862 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
863 /* Copy COUNT objects from SRC to DST. The source and destination do
864 not overlap. */
865 # ifndef YYCOPY
866 # if defined __GNUC__ && 1 < __GNUC__
867 # define YYCOPY(Dst, Src, Count) \
868 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
869 # else
870 # define YYCOPY(Dst, Src, Count) \
871 do \
872 { \
873 YYSIZE_T yyi; \
874 for (yyi = 0; yyi < (Count); yyi++) \
875 (Dst)[yyi] = (Src)[yyi]; \
876 } \
877 while (YYID (0))
878 # endif
879 # endif
880 #endif /* !YYCOPY_NEEDED */
881
882 /* YYFINAL -- State number of the termination state. */
883 #define YYFINAL 2
884 /* YYLAST -- Last index in YYTABLE. */
885 #define YYLAST 1231
886
887 /* YYNTOKENS -- Number of terminals. */
888 #define YYNTOKENS 224
889 /* YYNNTS -- Number of nonterminals. */
890 #define YYNNTS 287
891 /* YYNRULES -- Number of rules. */
892 #define YYNRULES 635
893 /* YYNRULES -- Number of states. */
894 #define YYNSTATES 1248
895
896 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
897 #define YYUNDEFTOK 2
898 #define YYMAXUTOK 473
899
900 #define YYTRANSLATE(YYX) \
901 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
902
903 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
904 static const yytype_uint8 yytranslate[] =
905 {
906 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
907 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
908 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
909 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
910 2, 2, 2, 2, 223, 2, 2, 2, 2, 2,
911 2, 2, 2, 2, 2, 2, 2, 2, 2, 219,
912 2, 222, 2, 2, 2, 2, 2, 2, 2, 2,
913 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
914 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
915 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
916 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
917 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
918 2, 2, 2, 221, 2, 220, 2, 2, 2, 2,
919 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
920 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
921 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
922 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
923 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
924 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
925 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
926 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
927 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
928 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
929 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
930 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
931 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
932 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
933 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
934 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
935 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
936 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
937 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
938 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
939 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
940 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
941 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
942 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
943 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
944 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
945 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
946 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
947 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
948 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
949 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
950 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
951 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
952 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
953 215, 216, 217, 218
954 };
955
956 #if YYDEBUG
957 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
958 YYRHS. */
959 static const yytype_uint16 yyprhs[] =
960 {
961 0, 0, 3, 4, 7, 9, 11, 13, 15, 17,
962 19, 21, 23, 25, 27, 29, 31, 33, 35, 37,
963 39, 41, 43, 45, 47, 50, 53, 54, 56, 59,
964 63, 67, 71, 75, 79, 80, 82, 85, 89, 93,
965 97, 103, 106, 108, 110, 112, 115, 120, 125, 131,
966 134, 136, 138, 140, 142, 144, 146, 148, 150, 152,
967 154, 156, 158, 160, 162, 164, 166, 169, 174, 179,
968 183, 185, 187, 189, 193, 195, 197, 199, 204, 209,
969 214, 219, 224, 229, 234, 239, 244, 249, 254, 259,
970 264, 270, 273, 275, 277, 279, 281, 284, 289, 294,
971 299, 305, 308, 310, 312, 314, 317, 322, 323, 330,
972 333, 335, 337, 339, 341, 344, 349, 354, 359, 360,
973 366, 370, 372, 374, 376, 378, 380, 382, 384, 386,
974 387, 394, 397, 399, 401, 403, 405, 407, 409, 411,
975 413, 415, 418, 423, 428, 433, 438, 443, 448, 449,
976 455, 459, 461, 463, 465, 467, 469, 471, 473, 475,
977 477, 479, 481, 483, 485, 487, 489, 491, 493, 495,
978 497, 499, 501, 502, 508, 512, 514, 516, 518, 520,
979 522, 524, 526, 528, 530, 532, 534, 536, 538, 540,
980 542, 544, 546, 548, 550, 552, 553, 560, 563, 565,
981 567, 569, 571, 573, 575, 577, 579, 581, 583, 585,
982 587, 589, 591, 593, 596, 601, 606, 611, 616, 621,
983 626, 631, 636, 641, 646, 651, 656, 661, 666, 667,
984 674, 675, 681, 685, 687, 689, 691, 693, 696, 698,
985 700, 702, 704, 706, 709, 710, 716, 720, 722, 724,
986 728, 733, 738, 739, 746, 749, 751, 753, 755, 757,
987 759, 761, 763, 765, 767, 770, 775, 780, 785, 790,
988 791, 797, 801, 803, 805, 807, 809, 811, 813, 815,
989 817, 819, 821, 826, 831, 836, 837, 844, 847, 849,
990 851, 853, 855, 858, 863, 868, 873, 879, 882, 884,
991 886, 888, 893, 894, 901, 904, 906, 908, 910, 912,
992 915, 920, 925, 926, 932, 936, 938, 940, 942, 944,
993 946, 948, 950, 952, 954, 956, 958, 959, 966, 969,
994 971, 973, 975, 978, 983, 984, 990, 994, 996, 998,
995 1000, 1002, 1004, 1006, 1008, 1010, 1012, 1014, 1016, 1017,
996 1024, 1027, 1029, 1031, 1033, 1035, 1037, 1039, 1041, 1043,
997 1045, 1047, 1049, 1051, 1053, 1055, 1058, 1063, 1068, 1073,
998 1078, 1083, 1088, 1093, 1098, 1099, 1105, 1109, 1111, 1113,
999 1115, 1120, 1125, 1130, 1135, 1140, 1141, 1148, 1149, 1155,
1000 1159, 1161, 1163, 1166, 1168, 1170, 1172, 1174, 1176, 1181,
1001 1186, 1187, 1194, 1197, 1199, 1201, 1203, 1205, 1210, 1215,
1002 1221, 1224, 1226, 1228, 1230, 1235, 1236, 1243, 1244, 1250,
1003 1254, 1256, 1258, 1261, 1263, 1265, 1267, 1269, 1271, 1276,
1004 1281, 1287, 1290, 1292, 1294, 1296, 1298, 1300, 1302, 1304,
1005 1306, 1308, 1310, 1312, 1314, 1316, 1318, 1320, 1322, 1324,
1006 1326, 1328, 1330, 1332, 1334, 1336, 1338, 1340, 1342, 1344,
1007 1346, 1348, 1350, 1352, 1354, 1356, 1358, 1360, 1362, 1364,
1008 1366, 1368, 1370, 1372, 1374, 1376, 1378, 1380, 1382, 1384,
1009 1386, 1388, 1390, 1392, 1394, 1396, 1398, 1400, 1405, 1410,
1010 1415, 1420, 1425, 1430, 1435, 1440, 1445, 1450, 1455, 1460,
1011 1465, 1470, 1475, 1480, 1485, 1490, 1495, 1500, 1505, 1510,
1012 1515, 1520, 1525, 1530, 1535, 1540, 1545, 1550, 1555, 1560,
1013 1565, 1570, 1575, 1580, 1585, 1590, 1595, 1600, 1605, 1610,
1014 1615, 1620, 1625, 1630, 1635, 1640, 1645, 1650, 1651, 1657,
1015 1661, 1663, 1665, 1667, 1669, 1671, 1673, 1675, 1677, 1679,
1016 1681, 1683, 1685, 1687, 1689, 1691, 1693, 1695, 1697, 1699,
1017 1701, 1703, 1704, 1710, 1714, 1716, 1718, 1720, 1722, 1724,
1018 1726, 1728, 1730, 1732, 1734, 1736, 1738, 1740, 1742, 1744,
1019 1746, 1748, 1750, 1752, 1754, 1756, 1761, 1766, 1771, 1777,
1020 1780, 1782, 1784, 1786, 1788, 1790, 1792, 1794, 1796, 1798,
1021 1800, 1802, 1804, 1806, 1808, 1810, 1812, 1817, 1822, 1827,
1022 1832, 1837, 1842, 1847, 1852, 1857, 1862, 1867, 1872, 1877,
1023 1882, 1888, 1891, 1893, 1895, 1897, 1899, 1901, 1903, 1905,
1024 1907, 1912, 1917, 1922, 1927, 1932
1025 };
1026
1027 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
1028 static const yytype_int16 yyrhs[] =
1029 {
1030 225, 0, -1, -1, 225, 226, -1, 258, -1, 264,
1031 -1, 278, -1, 485, -1, 296, -1, 314, -1, 328,
1032 -1, 236, -1, 502, -1, 343, -1, 350, -1, 354,
1033 -1, 364, -1, 373, -1, 393, -1, 403, -1, 409,
1034 -1, 423, -1, 413, -1, 231, -1, 1, 219, -1,
1035 1, 220, -1, -1, 228, -1, 101, 227, -1, 101,
1036 141, 227, -1, 101, 142, 227, -1, 101, 143, 227,
1037 -1, 101, 144, 227, -1, 101, 145, 227, -1, -1,
1038 230, -1, 101, 229, -1, 101, 9, 229, -1, 101,
1039 10, 229, -1, 101, 11, 229, -1, 90, 221, 232,
1040 220, 219, -1, 232, 233, -1, 233, -1, 234, -1,
1041 235, -1, 1, 219, -1, 89, 222, 120, 219, -1,
1042 115, 222, 120, 219, -1, 149, 221, 237, 220, 219,
1043 -1, 237, 238, -1, 238, -1, 249, -1, 254, -1,
1044 257, -1, 251, -1, 252, -1, 253, -1, 256, -1,
1045 247, -1, 246, -1, 255, -1, 250, -1, 245, -1,
1046 239, -1, 240, -1, 248, -1, 1, 219, -1, 135,
1047 222, 241, 219, -1, 136, 222, 243, 219, -1, 241,
1048 223, 242, -1, 242, -1, 137, -1, 138, -1, 243,
1049 223, 244, -1, 244, -1, 137, -1, 138, -1, 133,
1050 222, 120, 219, -1, 131, 222, 120, 219, -1, 134,
1051 222, 120, 219, -1, 174, 222, 120, 219, -1, 91,
1052 222, 120, 219, -1, 150, 222, 120, 219, -1, 24,
1053 222, 120, 219, -1, 94, 222, 120, 219, -1, 93,
1054 222, 120, 219, -1, 213, 222, 120, 219, -1, 214,
1055 222, 120, 219, -1, 184, 222, 101, 219, -1, 57,
1056 222, 163, 219, -1, 4, 221, 259, 220, 219, -1,
1057 259, 260, -1, 260, -1, 261, -1, 263, -1, 262,
1058 -1, 1, 219, -1, 91, 222, 120, 219, -1, 31,
1059 222, 120, 219, -1, 24, 222, 120, 219, -1, 73,
1060 221, 265, 220, 219, -1, 265, 266, -1, 266, -1,
1061 267, -1, 268, -1, 1, 219, -1, 211, 222, 163,
1062 219, -1, -1, 269, 218, 221, 270, 220, 219, -1,
1063 270, 271, -1, 271, -1, 272, -1, 274, -1, 273,
1064 -1, 1, 219, -1, 91, 222, 120, 219, -1, 217,
1065 222, 230, 219, -1, 217, 222, 198, 219, -1, -1,
1066 154, 275, 222, 276, 219, -1, 276, 223, 277, -1,
1067 277, -1, 209, -1, 104, -1, 40, -1, 177, -1,
1068 64, -1, 62, -1, 176, -1, -1, 104, 279, 221,
1069 280, 220, 219, -1, 280, 281, -1, 281, -1, 282,
1070 -1, 283, -1, 284, -1, 288, -1, 287, -1, 285,
1071 -1, 286, -1, 292, -1, 1, 219, -1, 91, 222,
1072 120, 219, -1, 209, 222, 120, 219, -1, 114, 222,
1073 120, 219, -1, 32, 222, 163, 219, -1, 132, 222,
1074 120, 219, -1, 17, 222, 120, 219, -1, -1, 195,
1075 289, 222, 290, 219, -1, 290, 223, 291, -1, 291,
1076 -1, 169, -1, 172, -1, 173, -1, 175, -1, 176,
1077 -1, 179, -1, 51, -1, 192, -1, 185, -1, 188,
1078 -1, 196, -1, 193, -1, 178, -1, 186, -1, 190,
1079 -1, 180, -1, 202, -1, 170, -1, 171, -1, 183,
1080 -1, -1, 36, 293, 222, 294, 219, -1, 294, 223,
1081 295, -1, 295, -1, 47, -1, 128, -1, 64, -1,
1082 208, -1, 177, -1, 197, -1, 215, -1, 40, -1,
1083 25, -1, 203, -1, 126, -1, 4, -1, 96, -1,
1084 186, -1, 201, -1, 108, -1, 129, -1, 191, -1,
1085 89, -1, -1, 17, 297, 221, 298, 220, 219, -1,
1086 298, 299, -1, 299, -1, 300, -1, 311, -1, 312,
1087 -1, 301, -1, 302, -1, 313, -1, 303, -1, 304,
1088 -1, 305, -1, 306, -1, 307, -1, 308, -1, 309,
1089 -1, 310, -1, 1, 219, -1, 91, 222, 120, 219,
1090 -1, 117, 222, 228, 219, -1, 118, 222, 228, 219,
1091 -1, 103, 222, 101, 219, -1, 19, 222, 228, 219,
1092 -1, 83, 222, 101, 219, -1, 78, 222, 101, 219,
1093 -1, 80, 222, 101, 219, -1, 79, 222, 101, 219,
1094 -1, 146, 222, 230, 219, -1, 187, 222, 230, 219,
1095 -1, 15, 222, 101, 219, -1, 16, 222, 101, 219,
1096 -1, 102, 222, 101, 219, -1, -1, 72, 315, 221,
1097 320, 220, 219, -1, -1, 36, 317, 222, 318, 219,
1098 -1, 318, 223, 319, -1, 319, -1, 194, -1, 51,
1099 -1, 189, -1, 320, 321, -1, 321, -1, 322, -1,
1100 316, -1, 326, -1, 327, -1, 1, 219, -1, -1,
1101 119, 222, 324, 323, 219, -1, 324, 223, 325, -1,
1102 325, -1, 101, -1, 101, 167, 101, -1, 61, 222,
1103 120, 219, -1, 56, 222, 120, 219, -1, -1, 48,
1104 329, 221, 330, 220, 219, -1, 330, 331, -1, 331,
1105 -1, 332, -1, 333, -1, 334, -1, 336, -1, 340,
1106 -1, 341, -1, 342, -1, 335, -1, 1, 219, -1,
1107 209, 222, 120, 219, -1, 114, 222, 120, 219, -1,
1108 17, 222, 120, 219, -1, 32, 222, 163, 219, -1,
1109 -1, 36, 337, 222, 338, 219, -1, 338, 223, 339,
1110 -1, 339, -1, 157, -1, 33, -1, 65, -1, 49,
1111 -1, 13, -1, 100, -1, 43, -1, 140, -1, 92,
1112 -1, 156, 222, 120, 219, -1, 124, 222, 120, 219,
1113 -1, 123, 222, 101, 219, -1, -1, 139, 344, 221,
1114 345, 220, 219, -1, 345, 346, -1, 346, -1, 347,
1115 -1, 348, -1, 349, -1, 1, 219, -1, 122, 222,
1116 120, 219, -1, 14, 222, 120, 219, -1, 95, 222,
1117 120, 219, -1, 204, 221, 351, 220, 219, -1, 351,
1118 352, -1, 352, -1, 353, -1, 1, -1, 91, 222,
1119 120, 219, -1, -1, 152, 355, 221, 356, 220, 219,
1120 -1, 356, 357, -1, 357, -1, 358, -1, 359, -1,
1121 360, -1, 1, 219, -1, 91, 222, 120, 219, -1,
1122 209, 222, 120, 219, -1, -1, 154, 361, 222, 362,
1123 219, -1, 362, 223, 363, -1, 363, -1, 64, -1,
1124 208, -1, 177, -1, 197, -1, 215, -1, 200, -1,
1125 139, -1, 199, -1, 183, -1, 168, -1, -1, 153,
1126 365, 221, 366, 220, 219, -1, 366, 367, -1, 367,
1127 -1, 368, -1, 369, -1, 1, 219, -1, 91, 222,
1128 120, 219, -1, -1, 154, 370, 222, 371, 219, -1,
1129 371, 223, 372, -1, 372, -1, 64, -1, 208, -1,
1130 177, -1, 197, -1, 215, -1, 200, -1, 139, -1,
1131 199, -1, 183, -1, 168, -1, -1, 18, 374, 221,
1132 375, 220, 219, -1, 375, 376, -1, 376, -1, 377,
1133 -1, 378, -1, 379, -1, 380, -1, 381, -1, 383,
1134 -1, 382, -1, 392, -1, 384, -1, 389, -1, 390,
1135 -1, 391, -1, 388, -1, 1, 219, -1, 91, 222,
1136 120, 219, -1, 56, 222, 120, 219, -1, 213, 222,
1137 120, 219, -1, 147, 222, 120, 219, -1, 3, 222,
1138 120, 219, -1, 119, 222, 101, 219, -1, 5, 222,
1139 181, 219, -1, 5, 222, 182, 219, -1, -1, 36,
1140 385, 222, 386, 219, -1, 386, 223, 387, -1, 387,
1141 -1, 8, -1, 194, -1, 32, 222, 163, 219, -1,
1142 58, 222, 120, 219, -1, 70, 222, 120, 219, -1,
1143 17, 222, 120, 219, -1, 174, 222, 120, 219, -1,
1144 -1, 62, 394, 221, 399, 220, 219, -1, -1, 154,
1145 396, 222, 397, 219, -1, 397, 223, 398, -1, 398,
1146 -1, 125, -1, 399, 400, -1, 400, -1, 401, -1,
1147 402, -1, 395, -1, 1, -1, 209, 222, 120, 219,
1148 -1, 122, 222, 120, 219, -1, -1, 23, 404, 221,
1149 405, 220, 219, -1, 405, 406, -1, 406, -1, 407,
1150 -1, 408, -1, 1, -1, 61, 222, 120, 219, -1,
1151 122, 222, 120, 219, -1, 34, 221, 410, 220, 219,
1152 -1, 410, 411, -1, 411, -1, 412, -1, 1, -1,
1153 61, 222, 120, 219, -1, -1, 38, 414, 221, 419,
1154 220, 219, -1, -1, 154, 416, 222, 417, 219, -1,
1155 417, 223, 418, -1, 418, -1, 125, -1, 419, 420,
1156 -1, 420, -1, 421, -1, 422, -1, 415, -1, 1,
1157 -1, 91, 222, 120, 219, -1, 122, 222, 120, 219,
1158 -1, 39, 221, 424, 220, 219, -1, 424, 425, -1,
1159 425, -1, 436, -1, 437, -1, 439, -1, 440, -1,
1160 441, -1, 442, -1, 443, -1, 444, -1, 445, -1,
1161 446, -1, 435, -1, 448, -1, 449, -1, 450, -1,
1162 451, -1, 466, -1, 453, -1, 455, -1, 457, -1,
1163 456, -1, 460, -1, 454, -1, 461, -1, 462, -1,
1164 463, -1, 464, -1, 465, -1, 478, -1, 467, -1,
1165 468, -1, 469, -1, 474, -1, 458, -1, 459, -1,
1166 484, -1, 482, -1, 483, -1, 438, -1, 473, -1,
1167 447, -1, 471, -1, 472, -1, 434, -1, 427, -1,
1168 428, -1, 429, -1, 430, -1, 431, -1, 432, -1,
1169 433, -1, 452, -1, 426, -1, 470, -1, 1, -1,
1170 85, 222, 101, 219, -1, 42, 222, 163, 219, -1,
1171 41, 222, 228, 219, -1, 44, 222, 228, 219, -1,
1172 45, 222, 101, 219, -1, 46, 222, 101, 219, -1,
1173 212, 222, 163, 219, -1, 127, 222, 228, 219, -1,
1174 151, 222, 163, 219, -1, 63, 222, 228, 219, -1,
1175 55, 222, 163, 219, -1, 59, 222, 163, 219, -1,
1176 28, 222, 163, 219, -1, 35, 222, 163, 219, -1,
1177 6, 222, 163, 219, -1, 82, 222, 228, 219, -1,
1178 81, 222, 101, 219, -1, 74, 222, 101, 219, -1,
1179 7, 222, 228, 219, -1, 166, 222, 228, 219, -1,
1180 165, 222, 228, 219, -1, 50, 222, 101, 219, -1,
1181 67, 222, 163, 219, -1, 66, 222, 120, 219, -1,
1182 60, 222, 163, 219, -1, 216, 222, 163, 219, -1,
1183 158, 222, 163, 219, -1, 161, 222, 163, 219, -1,
1184 162, 222, 163, 219, -1, 160, 222, 163, 219, -1,
1185 160, 222, 164, 219, -1, 159, 222, 163, 219, -1,
1186 159, 222, 164, 219, -1, 112, 222, 228, 219, -1,
1187 12, 222, 228, 219, -1, 105, 222, 163, 219, -1,
1188 113, 222, 228, 219, -1, 155, 222, 163, 219, -1,
1189 99, 222, 163, 219, -1, 207, 222, 163, 219, -1,
1190 107, 222, 163, 219, -1, 86, 222, 120, 219, -1,
1191 29, 222, 101, 219, -1, 84, 222, 101, 219, -1,
1192 210, 222, 163, 219, -1, 30, 222, 120, 219, -1,
1193 205, 222, 120, 219, -1, 116, 222, 163, 219, -1,
1194 26, 222, 163, 219, -1, 206, 222, 228, 219, -1,
1195 -1, 109, 475, 222, 476, 219, -1, 476, 223, 477,
1196 -1, 477, -1, 169, -1, 172, -1, 173, -1, 175,
1197 -1, 176, -1, 179, -1, 51, -1, 192, -1, 185,
1198 -1, 188, -1, 196, -1, 193, -1, 178, -1, 186,
1199 -1, 190, -1, 180, -1, 202, -1, 170, -1, 171,
1200 -1, 183, -1, -1, 106, 479, 222, 480, 219, -1,
1201 480, 223, 481, -1, 481, -1, 169, -1, 172, -1,
1202 173, -1, 175, -1, 176, -1, 179, -1, 192, -1,
1203 51, -1, 185, -1, 188, -1, 196, -1, 193, -1,
1204 178, -1, 186, -1, 190, -1, 180, -1, 202, -1,
1205 170, -1, 171, -1, 183, -1, 87, 222, 101, 219,
1206 -1, 88, 222, 101, 219, -1, 20, 222, 101, 219,
1207 -1, 14, 221, 486, 220, 219, -1, 486, 487, -1,
1208 487, -1, 495, -1, 490, -1, 491, -1, 492, -1,
1209 493, -1, 494, -1, 496, -1, 497, -1, 498, -1,
1210 489, -1, 499, -1, 500, -1, 501, -1, 488, -1,
1211 1, -1, 27, 222, 163, 219, -1, 130, 222, 163,
1212 219, -1, 68, 222, 228, 219, -1, 69, 222, 228,
1213 219, -1, 77, 222, 101, 219, -1, 76, 222, 101,
1214 219, -1, 121, 222, 163, 219, -1, 75, 222, 101,
1215 219, -1, 22, 222, 101, 219, -1, 21, 222, 101,
1216 219, -1, 97, 222, 163, 219, -1, 98, 222, 163,
1217 219, -1, 110, 222, 101, 219, -1, 111, 222, 228,
1218 219, -1, 148, 221, 503, 220, 219, -1, 503, 504,
1219 -1, 504, -1, 505, -1, 506, -1, 508, -1, 509,
1220 -1, 507, -1, 510, -1, 1, -1, 37, 222, 163,
1221 219, -1, 54, 222, 163, 219, -1, 52, 222, 120,
1222 219, -1, 71, 222, 228, 219, -1, 51, 222, 163,
1223 219, -1, 53, 222, 163, 219, -1
1224 };
1225
1226 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1227 static const yytype_uint16 yyrline[] =
1228 {
1229 0, 334, 334, 335, 338, 339, 340, 341, 342, 343,
1230 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
1231 354, 355, 356, 357, 358, 359, 363, 363, 364, 368,
1232 372, 376, 380, 384, 390, 390, 391, 392, 393, 394,
1233 401, 404, 404, 405, 405, 405, 407, 413, 420, 422,
1234 422, 423, 423, 424, 424, 425, 425, 426, 426, 427,
1235 427, 428, 428, 429, 429, 430, 431, 434, 435, 437,
1236 437, 438, 444, 452, 452, 453, 459, 467, 506, 565,
1237 593, 601, 616, 631, 640, 654, 663, 691, 721, 744,
1238 753, 755, 755, 756, 756, 757, 757, 759, 768, 777,
1239 789, 790, 790, 792, 792, 793, 795, 802, 802, 812,
1240 813, 815, 815, 816, 816, 818, 823, 826, 832, 831,
1241 837, 837, 838, 842, 846, 850, 854, 858, 862, 873,
1242 872, 970, 970, 971, 971, 971, 972, 972, 972, 973,
1243 973, 973, 975, 984, 1021, 1033, 1044, 1086, 1096, 1095,
1244 1101, 1101, 1102, 1106, 1110, 1114, 1118, 1122, 1126, 1130,
1245 1134, 1138, 1142, 1146, 1150, 1154, 1158, 1162, 1166, 1170,
1246 1174, 1178, 1185, 1184, 1190, 1190, 1191, 1195, 1199, 1203,
1247 1207, 1211, 1215, 1219, 1223, 1227, 1231, 1235, 1239, 1243,
1248 1247, 1251, 1255, 1259, 1263, 1274, 1273, 1323, 1323, 1324,
1249 1325, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333,
1250 1334, 1335, 1335, 1336, 1338, 1347, 1353, 1359, 1365, 1371,
1251 1377, 1383, 1389, 1395, 1401, 1408, 1414, 1420, 1430, 1429,
1252 1446, 1445, 1450, 1450, 1451, 1455, 1459, 1467, 1467, 1468,
1253 1468, 1468, 1468, 1468, 1470, 1470, 1472, 1472, 1474, 1488,
1254 1508, 1517, 1530, 1529, 1598, 1598, 1599, 1599, 1599, 1599,
1255 1600, 1600, 1600, 1601, 1601, 1603, 1638, 1651, 1660, 1672,
1256 1671, 1675, 1675, 1676, 1680, 1684, 1688, 1692, 1696, 1700,
1257 1704, 1708, 1714, 1733, 1743, 1757, 1756, 1772, 1772, 1773,
1258 1773, 1773, 1773, 1775, 1784, 1799, 1812, 1814, 1814, 1815,
1259 1815, 1817, 1833, 1832, 1848, 1848, 1849, 1849, 1849, 1849,
1260 1851, 1860, 1883, 1882, 1888, 1888, 1889, 1893, 1897, 1901,
1261 1905, 1909, 1913, 1917, 1921, 1925, 1935, 1934, 1951, 1951,
1262 1952, 1952, 1952, 1954, 1961, 1960, 1966, 1966, 1967, 1971,
1263 1975, 1979, 1983, 1987, 1991, 1995, 1999, 2003, 2013, 2012,
1264 2063, 2063, 2064, 2064, 2064, 2065, 2065, 2066, 2066, 2066,
1265 2067, 2067, 2067, 2068, 2068, 2069, 2071, 2080, 2089, 2115,
1266 2133, 2151, 2157, 2161, 2170, 2169, 2173, 2173, 2174, 2178,
1267 2184, 2195, 2206, 2217, 2226, 2245, 2244, 2310, 2309, 2313,
1268 2313, 2314, 2320, 2320, 2321, 2321, 2321, 2321, 2323, 2342,
1269 2352, 2351, 2376, 2376, 2377, 2377, 2377, 2379, 2385, 2394,
1270 2396, 2396, 2397, 2397, 2399, 2418, 2417, 2465, 2464, 2468,
1271 2468, 2469, 2475, 2475, 2476, 2476, 2476, 2476, 2478, 2484,
1272 2493, 2496, 2496, 2497, 2497, 2498, 2498, 2499, 2499, 2500,
1273 2500, 2501, 2501, 2502, 2502, 2503, 2503, 2504, 2504, 2505,
1274 2505, 2506, 2506, 2507, 2507, 2508, 2508, 2509, 2509, 2510,
1275 2511, 2511, 2512, 2512, 2513, 2513, 2514, 2514, 2515, 2515,
1276 2516, 2517, 2517, 2518, 2519, 2520, 2520, 2521, 2521, 2522,
1277 2523, 2523, 2524, 2524, 2525, 2525, 2526, 2529, 2534, 2540,
1278 2546, 2552, 2557, 2562, 2567, 2572, 2577, 2582, 2587, 2592,
1279 2597, 2602, 2607, 2612, 2617, 2622, 2627, 2632, 2638, 2649,
1280 2654, 2663, 2668, 2673, 2678, 2683, 2688, 2691, 2696, 2699,
1281 2704, 2709, 2714, 2719, 2724, 2729, 2734, 2739, 2744, 2755,
1282 2760, 2765, 2770, 2779, 2788, 2793, 2798, 2804, 2803, 2808,
1283 2808, 2809, 2812, 2815, 2818, 2821, 2824, 2827, 2830, 2833,
1284 2836, 2839, 2842, 2845, 2848, 2851, 2854, 2857, 2860, 2863,
1285 2866, 2872, 2871, 2876, 2876, 2877, 2880, 2883, 2886, 2889,
1286 2892, 2895, 2898, 2901, 2904, 2907, 2910, 2913, 2916, 2919,
1287 2922, 2925, 2928, 2931, 2934, 2939, 2944, 2949, 2958, 2961,
1288 2961, 2962, 2963, 2963, 2964, 2964, 2965, 2965, 2966, 2967,
1289 2967, 2968, 2969, 2969, 2970, 2970, 2972, 2977, 2982, 2987,
1290 2992, 2997, 3002, 3007, 3012, 3017, 3022, 3027, 3032, 3037,
1291 3045, 3048, 3048, 3049, 3049, 3050, 3051, 3051, 3052, 3053,
1292 3055, 3061, 3067, 3076, 3090, 3096
1293 };
1294 #endif
1295
1296 #if YYDEBUG || YYERROR_VERBOSE || 0
1297 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1298 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1299 static const char *const yytname[] =
1300 {
1301 "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ADMIN", "AFTYPE",
1302 "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1303 "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1304 "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1305 "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1306 "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1307 "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1308 "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1309 "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1310 "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT",
1311 "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1312 "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1313 "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SPOOF_IPS",
1314 "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1315 "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT",
1316 "KLINE_REASON", "KLINE_WITH_REASON", "KNOCK_DELAY",
1317 "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY", "LISTEN", "T_LOG",
1318 "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER",
1319 "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL", "MAX_NICK_CHANGES",
1320 "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS", "MAX_WATCH",
1321 "MESSAGE_LOCALE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", "MODULE",
1322 "MODULES", "NAME", "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME",
1323 "NICK", "NICK_CHANGES", "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT",
1324 "NO_OPER_FLOOD", "NO_TILDE", "NUMBER", "NUMBER_PER_CIDR",
1325 "NUMBER_PER_IP", "OPERATOR", "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES",
1326 "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT",
1327 "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH",
1328 "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT", "QSTRING",
1329 "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T", "REHASH",
1330 "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN", "RESTRICT_CHANNELS",
1331 "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE",
1332 "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD",
1333 "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES",
1334 "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD", "SERVERHIDE",
1335 "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES", "T_SHARED",
1336 "T_CLUSTER", "TYPE", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1337 "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY",
1338 "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED",
1339 "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1340 "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1341 "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1342 "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS",
1343 "T_NCHANGE", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_SERVER",
1344 "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1345 "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE",
1346 "T_GLOBOPS", "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME",
1347 "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD", "UNKLINE", "USER", "USE_EGD",
1348 "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6", "XLINE",
1349 "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",
1350 "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1351 "sizespec", "modules_entry", "modules_items", "modules_item",
1352 "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1353 "serverinfo_item", "serverinfo_ssl_client_method",
1354 "serverinfo_ssl_server_method", "client_method_types",
1355 "client_method_type_item", "server_method_types",
1356 "server_method_type_item", "serverinfo_ssl_certificate_file",
1357 "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1358 "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1359 "serverinfo_description", "serverinfo_network_name",
1360 "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1361 "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1362 "admin_item", "admin_name", "admin_email", "admin_description",
1363 "logging_entry", "logging_items", "logging_item", "logging_use_logging",
1364 "logging_file_entry", "$@1", "logging_file_items", "logging_file_item",
1365 "logging_file_name", "logging_file_size", "logging_file_type", "$@2",
1366 "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@3",
1367 "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1368 "oper_encrypted", "oper_rsa_public_key_file", "oper_class",
1369 "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1370 "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1371 "class_entry", "$@6", "class_items", "class_item", "class_name",
1372 "class_ping_time", "class_ping_warning", "class_number_per_ip",
1373 "class_connectfreq", "class_max_number", "class_max_global",
1374 "class_max_local", "class_max_ident", "class_sendq", "class_recvq",
1375 "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1376 "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1377 "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1378 "listen_port", "$@9", "port_items", "port_item", "listen_address",
1379 "listen_host", "auth_entry", "$@10", "auth_items", "auth_item",
1380 "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1381 "$@11", "auth_flags_items", "auth_flags_item", "auth_spoof",
1382 "auth_redir_serv", "auth_redir_port", "resv_entry", "$@12", "resv_items",
1383 "resv_item", "resv_creason", "resv_channel", "resv_nick",
1384 "service_entry", "service_items", "service_item", "service_name",
1385 "shared_entry", "$@13", "shared_items", "shared_item", "shared_name",
1386 "shared_user", "shared_type", "$@14", "shared_types", "shared_type_item",
1387 "cluster_entry", "$@15", "cluster_items", "cluster_item", "cluster_name",
1388 "cluster_type", "$@16", "cluster_types", "cluster_type_item",
1389 "connect_entry", "$@17", "connect_items", "connect_item", "connect_name",
1390 "connect_host", "connect_vhost", "connect_send_password",
1391 "connect_accept_password", "connect_port", "connect_aftype",
1392 "connect_flags", "$@18", "connect_flags_items", "connect_flags_item",
1393 "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1394 "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@19",
1395 "kill_type", "$@20", "kill_type_items", "kill_type_item", "kill_items",
1396 "kill_item", "kill_user", "kill_reason", "deny_entry", "$@21",
1397 "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1398 "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@22",
1399 "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1400 "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1401 "general_entry", "general_items", "general_item", "general_max_watch",
1402 "general_gline_enable", "general_gline_duration",
1403 "general_gline_request_duration", "general_gline_min_cidr",
1404 "general_gline_min_cidr6", "general_use_whois_actually",
1405 "general_reject_hold_time", "general_tkline_expire_notices",
1406 "general_kill_chase_time_limit", "general_hide_spoof_ips",
1407 "general_ignore_bogus_ts", "general_disable_remote_commands",
1408 "general_failed_oper_notice", "general_anti_nick_flood",
1409 "general_max_nick_time", "general_max_nick_changes",
1410 "general_max_accept", "general_anti_spam_exit_message_time",
1411 "general_ts_warn_delta", "general_ts_max_delta",
1412 "general_havent_read_conf", "general_kline_with_reason",
1413 "general_kline_reason", "general_invisible_on_connect",
1414 "general_warn_no_nline", "general_stats_e_disabled",
1415 "general_stats_o_oper_only", "general_stats_P_oper_only",
1416 "general_stats_k_oper_only", "general_stats_i_oper_only",
1417 "general_pace_wait", "general_caller_id_wait",
1418 "general_opers_bypass_callerid", "general_pace_wait_simple",
1419 "general_short_motd", "general_no_oper_flood",
1420 "general_true_no_oper_flood", "general_oper_pass_resv",
1421 "general_message_locale", "general_dots_in_ident", "general_max_targets",
1422 "general_use_egd", "general_egdpool_path", "general_services_name",
1423 "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1424 "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1425 "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1426 "general_min_nonwildcard", "general_min_nonwildcard_simple",
1427 "general_default_floodcount", "channel_entry", "channel_items",
1428 "channel_item", "channel_disable_fake_channels",
1429 "channel_restrict_channels", "channel_knock_delay",
1430 "channel_knock_delay_channel", "channel_max_chans_per_user",
1431 "channel_max_chans_per_oper", "channel_quiet_on_ban", "channel_max_bans",
1432 "channel_default_split_user_count", "channel_default_split_server_count",
1433 "channel_no_create_on_split", "channel_no_join_on_split",
1434 "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1435 "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1436 "serverhide_hide_servers", "serverhide_hidden_name",
1437 "serverhide_links_delay", "serverhide_hidden",
1438 "serverhide_hide_server_ips", YY_NULL
1439 };
1440 #endif
1441
1442 # ifdef YYPRINT
1443 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1444 token YYLEX-NUM. */
1445 static const yytype_uint16 yytoknum[] =
1446 {
1447 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1448 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1449 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1450 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1451 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1452 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1453 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1454 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1455 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1456 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1457 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1458 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1459 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1460 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1461 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1462 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1463 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1464 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1465 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1466 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
1467 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1468 465, 466, 467, 468, 469, 470, 471, 472, 473, 59,
1469 125, 123, 61, 44
1470 };
1471 # endif
1472
1473 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1474 static const yytype_uint16 yyr1[] =
1475 {
1476 0, 224, 225, 225, 226, 226, 226, 226, 226, 226,
1477 226, 226, 226, 226, 226, 226, 226, 226, 226, 226,
1478 226, 226, 226, 226, 226, 226, 227, 227, 228, 228,
1479 228, 228, 228, 228, 229, 229, 230, 230, 230, 230,
1480 231, 232, 232, 233, 233, 233, 234, 235, 236, 237,
1481 237, 238, 238, 238, 238, 238, 238, 238, 238, 238,
1482 238, 238, 238, 238, 238, 238, 238, 239, 240, 241,
1483 241, 242, 242, 243, 243, 244, 244, 245, 246, 247,
1484 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
1485 258, 259, 259, 260, 260, 260, 260, 261, 262, 263,
1486 264, 265, 265, 266, 266, 266, 267, 269, 268, 270,
1487 270, 271, 271, 271, 271, 272, 273, 273, 275, 274,
1488 276, 276, 277, 277, 277, 277, 277, 277, 277, 279,
1489 278, 280, 280, 281, 281, 281, 281, 281, 281, 281,
1490 281, 281, 282, 283, 284, 285, 286, 287, 289, 288,
1491 290, 290, 291, 291, 291, 291, 291, 291, 291, 291,
1492 291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
1493 291, 291, 293, 292, 294, 294, 295, 295, 295, 295,
1494 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
1495 295, 295, 295, 295, 295, 297, 296, 298, 298, 299,
1496 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
1497 299, 299, 299, 299, 300, 301, 302, 303, 304, 305,
1498 306, 307, 308, 309, 310, 311, 312, 313, 315, 314,
1499 317, 316, 318, 318, 319, 319, 319, 320, 320, 321,
1500 321, 321, 321, 321, 323, 322, 324, 324, 325, 325,
1501 326, 327, 329, 328, 330, 330, 331, 331, 331, 331,
1502 331, 331, 331, 331, 331, 332, 333, 334, 335, 337,
1503 336, 338, 338, 339, 339, 339, 339, 339, 339, 339,
1504 339, 339, 340, 341, 342, 344, 343, 345, 345, 346,
1505 346, 346, 346, 347, 348, 349, 350, 351, 351, 352,
1506 352, 353, 355, 354, 356, 356, 357, 357, 357, 357,
1507 358, 359, 361, 360, 362, 362, 363, 363, 363, 363,
1508 363, 363, 363, 363, 363, 363, 365, 364, 366, 366,
1509 367, 367, 367, 368, 370, 369, 371, 371, 372, 372,
1510 372, 372, 372, 372, 372, 372, 372, 372, 374, 373,
1511 375, 375, 376, 376, 376, 376, 376, 376, 376, 376,
1512 376, 376, 376, 376, 376, 376, 377, 378, 379, 380,
1513 381, 382, 383, 383, 385, 384, 386, 386, 387, 387,
1514 388, 389, 390, 391, 392, 394, 393, 396, 395, 397,
1515 397, 398, 399, 399, 400, 400, 400, 400, 401, 402,
1516 404, 403, 405, 405, 406, 406, 406, 407, 408, 409,
1517 410, 410, 411, 411, 412, 414, 413, 416, 415, 417,
1518 417, 418, 419, 419, 420, 420, 420, 420, 421, 422,
1519 423, 424, 424, 425, 425, 425, 425, 425, 425, 425,
1520 425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
1521 425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
1522 425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
1523 425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
1524 425, 425, 425, 425, 425, 425, 425, 426, 427, 428,
1525 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
1526 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
1527 449, 450, 451, 452, 453, 454, 455, 455, 456, 456,
1528 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
1529 467, 468, 469, 470, 471, 472, 473, 475, 474, 476,
1530 476, 477, 477, 477, 477, 477, 477, 477, 477, 477,
1531 477, 477, 477, 477, 477, 477, 477, 477, 477, 477,
1532 477, 479, 478, 480, 480, 481, 481, 481, 481, 481,
1533 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
1534 481, 481, 481, 481, 481, 482, 483, 484, 485, 486,
1535 486, 487, 487, 487, 487, 487, 487, 487, 487, 487,
1536 487, 487, 487, 487, 487, 487, 488, 489, 490, 491,
1537 492, 493, 494, 495, 496, 497, 498, 499, 500, 501,
1538 502, 503, 503, 504, 504, 504, 504, 504, 504, 504,
1539 505, 506, 507, 508, 509, 510
1540 };
1541
1542 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1543 static const yytype_uint8 yyr2[] =
1544 {
1545 0, 2, 0, 2, 1, 1, 1, 1, 1, 1,
1546 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1547 1, 1, 1, 1, 2, 2, 0, 1, 2, 3,
1548 3, 3, 3, 3, 0, 1, 2, 3, 3, 3,
1549 5, 2, 1, 1, 1, 2, 4, 4, 5, 2,
1550 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1551 1, 1, 1, 1, 1, 1, 2, 4, 4, 3,
1552 1, 1, 1, 3, 1, 1, 1, 4, 4, 4,
1553 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1554 5, 2, 1, 1, 1, 1, 2, 4, 4, 4,
1555 5, 2, 1, 1, 1, 2, 4, 0, 6, 2,
1556 1, 1, 1, 1, 2, 4, 4, 4, 0, 5,
1557 3, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1558 6, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1559 1, 2, 4, 4, 4, 4, 4, 4, 0, 5,
1560 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1561 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1562 1, 1, 0, 5, 3, 1, 1, 1, 1, 1,
1563 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1564 1, 1, 1, 1, 1, 0, 6, 2, 1, 1,
1565 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1566 1, 1, 1, 2, 4, 4, 4, 4, 4, 4,
1567 4, 4, 4, 4, 4, 4, 4, 4, 0, 6,
1568 0, 5, 3, 1, 1, 1, 1, 2, 1, 1,
1569 1, 1, 1, 2, 0, 5, 3, 1, 1, 3,
1570 4, 4, 0, 6, 2, 1, 1, 1, 1, 1,
1571 1, 1, 1, 1, 2, 4, 4, 4, 4, 0,
1572 5, 3, 1, 1, 1, 1, 1, 1, 1, 1,
1573 1, 1, 4, 4, 4, 0, 6, 2, 1, 1,
1574 1, 1, 2, 4, 4, 4, 5, 2, 1, 1,
1575 1, 4, 0, 6, 2, 1, 1, 1, 1, 2,
1576 4, 4, 0, 5, 3, 1, 1, 1, 1, 1,
1577 1, 1, 1, 1, 1, 1, 0, 6, 2, 1,
1578 1, 1, 2, 4, 0, 5, 3, 1, 1, 1,
1579 1, 1, 1, 1, 1, 1, 1, 1, 0, 6,
1580 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1581 1, 1, 1, 1, 1, 2, 4, 4, 4, 4,
1582 4, 4, 4, 4, 0, 5, 3, 1, 1, 1,
1583 4, 4, 4, 4, 4, 0, 6, 0, 5, 3,
1584 1, 1, 2, 1, 1, 1, 1, 1, 4, 4,
1585 0, 6, 2, 1, 1, 1, 1, 4, 4, 5,
1586 2, 1, 1, 1, 4, 0, 6, 0, 5, 3,
1587 1, 1, 2, 1, 1, 1, 1, 1, 4, 4,
1588 5, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1589 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1590 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1591 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1592 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1593 1, 1, 1, 1, 1, 1, 1, 4, 4, 4,
1594 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1595 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1596 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1597 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1598 4, 4, 4, 4, 4, 4, 4, 0, 5, 3,
1599 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1600 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1601 1, 0, 5, 3, 1, 1, 1, 1, 1, 1,
1602 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1603 1, 1, 1, 1, 1, 4, 4, 4, 5, 2,
1604 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1605 1, 1, 1, 1, 1, 1, 4, 4, 4, 4,
1606 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1607 5, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1608 4, 4, 4, 4, 4, 4
1609 };
1610
1611 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1612 Performed when YYTABLE doesn't specify something else to do. Zero
1613 means the default is an error. */
1614 static const yytype_uint16 yydefact[] =
1615 {
1616 2, 0, 1, 0, 0, 0, 195, 348, 400, 0,
1617 415, 0, 252, 385, 228, 0, 0, 129, 285, 0,
1618 0, 302, 326, 0, 3, 23, 11, 4, 5, 6,
1619 8, 9, 10, 13, 14, 15, 16, 17, 18, 19,
1620 20, 22, 21, 7, 12, 24, 25, 0, 0, 0,
1621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1622 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1623 0, 0, 92, 93, 95, 94, 605, 0, 0, 0,
1624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1625 0, 0, 590, 604, 600, 592, 593, 594, 595, 596,
1626 591, 597, 598, 599, 601, 602, 603, 0, 0, 0,
1627 413, 0, 0, 411, 412, 0, 486, 0, 0, 0,
1628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1630 0, 0, 0, 0, 0, 0, 0, 0, 561, 0,
1631 537, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1633 0, 432, 484, 476, 477, 478, 479, 480, 481, 482,
1634 475, 443, 433, 434, 470, 435, 436, 437, 438, 439,
1635 440, 441, 442, 472, 444, 445, 446, 447, 483, 449,
1636 454, 450, 452, 451, 465, 466, 453, 455, 456, 457,
1637 458, 459, 448, 461, 462, 463, 485, 473, 474, 471,
1638 464, 460, 468, 469, 467, 0, 0, 0, 0, 0,
1639 0, 102, 103, 104, 0, 0, 0, 0, 0, 42,
1640 43, 44, 0, 0, 629, 0, 0, 0, 0, 0,
1641 0, 0, 622, 623, 624, 627, 625, 626, 628, 0,
1642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1643 0, 0, 0, 0, 0, 0, 50, 63, 64, 62,
1644 59, 58, 65, 51, 61, 54, 55, 56, 52, 60,
1645 57, 53, 0, 0, 300, 0, 0, 298, 299, 96,
1646 0, 0, 0, 0, 91, 0, 0, 0, 0, 0,
1647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1648 589, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1649 0, 0, 0, 0, 0, 0, 0, 198, 199, 202,
1650 203, 205, 206, 207, 208, 209, 210, 211, 212, 200,
1651 201, 204, 0, 0, 0, 0, 0, 374, 0, 0,
1652 0, 0, 0, 0, 0, 0, 0, 351, 352, 353,
1653 354, 355, 356, 358, 357, 360, 364, 361, 362, 363,
1654 359, 406, 0, 0, 0, 403, 404, 405, 0, 0,
1655 410, 427, 0, 0, 417, 426, 0, 423, 424, 425,
1656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1661 0, 0, 0, 0, 431, 0, 0, 0, 269, 0,
1662 0, 0, 0, 0, 0, 255, 256, 257, 258, 263,
1663 259, 260, 261, 262, 397, 0, 387, 0, 396, 0,
1664 393, 394, 395, 0, 230, 0, 0, 0, 240, 0,
1665 238, 239, 241, 242, 105, 0, 0, 101, 0, 45,
1666 0, 0, 0, 41, 0, 0, 0, 172, 0, 0,
1667 0, 148, 0, 0, 132, 133, 134, 135, 138, 139,
1668 137, 136, 140, 0, 0, 0, 0, 0, 288, 289,
1669 290, 291, 0, 0, 0, 0, 0, 0, 0, 621,
1670 66, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1671 0, 0, 0, 0, 0, 0, 0, 49, 0, 0,
1672 312, 0, 0, 305, 306, 307, 308, 0, 0, 334,
1673 0, 329, 330, 331, 0, 0, 297, 0, 0, 0,
1674 90, 0, 0, 0, 26, 0, 0, 0, 0, 0,
1675 0, 0, 0, 0, 0, 0, 588, 213, 0, 0,
1676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1677 0, 0, 0, 197, 365, 0, 0, 0, 0, 0,
1678 0, 0, 0, 0, 0, 0, 0, 0, 0, 350,
1679 0, 0, 0, 402, 0, 409, 0, 0, 0, 0,
1680 422, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1685 0, 0, 0, 0, 0, 0, 430, 264, 0, 0,
1686 0, 0, 0, 0, 0, 0, 0, 254, 0, 0,
1687 0, 0, 392, 243, 0, 0, 0, 0, 0, 237,
1688 0, 100, 0, 0, 0, 40, 141, 0, 0, 0,
1689 0, 0, 0, 0, 0, 0, 131, 292, 0, 0,
1690 0, 0, 287, 0, 0, 0, 0, 0, 0, 620,
1691 0, 0, 0, 0, 0, 0, 0, 0, 71, 72,
1692 0, 70, 75, 76, 0, 74, 0, 0, 0, 0,
1693 0, 48, 309, 0, 0, 0, 0, 304, 332, 0,
1694 0, 0, 328, 0, 296, 99, 98, 97, 615, 614,
1695 606, 26, 26, 26, 26, 26, 28, 27, 608, 609,
1696 613, 611, 610, 616, 617, 618, 619, 612, 607, 0,
1697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1698 0, 34, 0, 0, 196, 0, 0, 0, 0, 0,
1699 0, 0, 0, 0, 0, 0, 0, 0, 0, 349,
1700 0, 0, 401, 414, 0, 0, 0, 416, 501, 505,
1701 521, 587, 535, 499, 529, 532, 500, 489, 488, 490,
1702 491, 492, 508, 497, 498, 511, 496, 510, 509, 504,
1703 503, 502, 530, 487, 528, 585, 586, 525, 522, 572,
1704 565, 582, 583, 566, 567, 568, 569, 577, 570, 580,
1705 584, 573, 578, 574, 579, 571, 576, 575, 581, 0,
1706 564, 527, 547, 541, 558, 559, 542, 543, 544, 545,
1707 553, 546, 556, 560, 549, 554, 550, 555, 548, 552,
1708 551, 557, 0, 540, 520, 523, 534, 494, 495, 524,
1709 513, 518, 519, 516, 517, 514, 515, 507, 506, 533,
1710 536, 526, 531, 493, 512, 0, 0, 0, 0, 0,
1711 0, 0, 0, 253, 0, 0, 0, 386, 0, 0,
1712 0, 248, 244, 247, 229, 106, 0, 0, 118, 0,
1713 0, 110, 111, 113, 112, 46, 47, 0, 0, 0,
1714 0, 0, 0, 0, 0, 130, 0, 0, 0, 286,
1715 630, 634, 632, 635, 631, 633, 83, 89, 81, 85,
1716 84, 78, 77, 79, 67, 0, 68, 0, 82, 80,
1717 88, 86, 87, 0, 0, 0, 303, 0, 0, 327,
1718 301, 29, 30, 31, 32, 33, 225, 226, 218, 220,
1719 222, 221, 219, 214, 227, 217, 215, 216, 34, 34,
1720 34, 36, 35, 223, 224, 370, 372, 373, 383, 380,
1721 378, 379, 0, 377, 367, 381, 382, 366, 371, 369,
1722 384, 368, 407, 408, 428, 429, 421, 0, 420, 562,
1723 0, 538, 0, 267, 268, 277, 274, 279, 276, 275,
1724 281, 278, 280, 273, 0, 272, 266, 284, 283, 282,
1725 265, 399, 391, 0, 390, 398, 235, 236, 234, 0,
1726 233, 251, 250, 0, 0, 0, 114, 0, 0, 0,
1727 0, 109, 147, 145, 187, 184, 183, 176, 178, 194,
1728 188, 191, 186, 177, 192, 180, 189, 193, 181, 190,
1729 185, 179, 182, 0, 175, 142, 144, 146, 158, 152,
1730 169, 170, 153, 154, 155, 156, 164, 157, 167, 171,
1731 160, 165, 161, 166, 159, 163, 162, 168, 0, 151,
1732 143, 294, 295, 293, 69, 73, 310, 316, 322, 325,
1733 318, 324, 319, 323, 321, 317, 320, 0, 315, 311,
1734 333, 338, 344, 347, 340, 346, 341, 345, 343, 339,
1735 342, 0, 337, 37, 38, 39, 375, 0, 418, 0,
1736 563, 539, 270, 0, 388, 0, 231, 0, 249, 246,
1737 245, 0, 0, 0, 0, 108, 173, 0, 149, 0,
1738 313, 0, 335, 0, 376, 419, 271, 389, 232, 115,
1739 124, 127, 126, 123, 128, 125, 122, 0, 121, 117,
1740 116, 174, 150, 314, 336, 119, 0, 120
1741 };
1742
1743 /* YYDEFGOTO[NTERM-NUM]. */
1744 static const yytype_int16 yydefgoto[] =
1745 {
1746 -1, 1, 24, 796, 797, 1041, 1042, 25, 238, 239,
1747 240, 241, 26, 275, 276, 277, 278, 760, 761, 764,
1748 765, 279, 280, 281, 282, 283, 284, 285, 286, 287,
1749 288, 289, 290, 291, 27, 71, 72, 73, 74, 75,
1750 28, 230, 231, 232, 233, 234, 970, 971, 972, 973,
1751 974, 1108, 1237, 1238, 29, 60, 513, 514, 515, 516,
1752 517, 518, 519, 520, 521, 733, 1158, 1159, 522, 729,
1753 1133, 1134, 30, 49, 336, 337, 338, 339, 340, 341,
1754 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
1755 31, 57, 488, 714, 1099, 1100, 489, 490, 491, 1105,
1756 962, 963, 492, 493, 32, 55, 464, 465, 466, 467,
1757 468, 469, 470, 700, 1084, 1085, 471, 472, 473, 33,
1758 61, 527, 528, 529, 530, 531, 34, 296, 297, 298,
1759 35, 64, 562, 563, 564, 565, 566, 774, 1177, 1178,
1760 36, 65, 570, 571, 572, 573, 780, 1191, 1192, 37,
1761 50, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1762 375, 619, 1052, 1053, 376, 377, 378, 379, 380, 38,
1763 56, 478, 709, 1093, 1094, 479, 480, 481, 482, 39,
1764 51, 384, 385, 386, 387, 40, 112, 113, 114, 41,
1765 53, 395, 638, 1067, 1068, 396, 397, 398, 399, 42,
1766 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
1767 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
1768 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
1769 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
1770 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
1771 220, 433, 922, 923, 221, 431, 899, 900, 222, 223,
1772 224, 43, 91, 92, 93, 94, 95, 96, 97, 98,
1773 99, 100, 101, 102, 103, 104, 105, 106, 44, 251,
1774 252, 253, 254, 255, 256, 257, 258
1775 };
1776
1777 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1778 STATE-NUM. */
1779 #define YYPACT_NINF -861
1780 static const yytype_int16 yypact[] =
1781 {
1782 -861, 613, -861, -173, -209, -198, -861, -861, -861, -193,
1783 -861, -188, -861, -861, -861, -185, -183, -861, -861, -180,
1784 -169, -861, -861, -138, -861, -861, -861, -861, -861, -861,
1785 -861, -861, -861, -861, -861, -861, -861, -861, -861, -861,
1786 -861, -861, -861, -861, -861, -861, -861, 18, 823, -124,
1787 -100, -98, 21, -80, 438, -74, -71, -58, 44, 4,
1788 -20, -15, 378, 326, -10, -7, 7, -66, 41, 51,
1789 57, 8, -861, -861, -861, -861, -861, 59, 62, 65,
1790 84, 92, 96, 100, 102, 103, 104, 106, 110, 117,
1791 122, 3, -861, -861, -861, -861, -861, -861, -861, -861,
1792 -861, -861, -861, -861, -861, -861, -861, 555, 356, 49,
1793 -861, 123, 26, -861, -861, 166, -861, 133, 134, 136,
1794 138, 141, 144, 145, 148, 149, 153, 154, 155, 156,
1795 158, 160, 162, 163, 165, 167, 168, 169, 172, 173,
1796 177, 179, 186, 189, 191, 194, 196, 201, -861, 203,
1797 -861, 211, 212, 214, 215, 218, 220, 221, 224, 226,
1798 229, 231, 234, 243, 247, 248, 250, 252, 255, 259,
1799 131, -861, -861, -861, -861, -861, -861, -861, -861, -861,
1800 -861, -861, -861, -861, -861, -861, -861, -861, -861, -861,
1801 -861, -861, -861, -861, -861, -861, -861, -861, -861, -861,
1802 -861, -861, -861, -861, -861, -861, -861, -861, -861, -861,
1803 -861, -861, -861, -861, -861, -861, -861, -861, -861, -861,
1804 -861, -861, -861, -861, -861, 392, 42, 279, 1, 263,
1805 58, -861, -861, -861, 80, 94, 264, 265, 19, -861,
1806 -861, -861, 364, 188, -861, 267, 269, 270, 272, 273,
1807 280, 14, -861, -861, -861, -861, -861, -861, -861, 288,
1808 286, 287, 289, 291, 292, 296, 299, 305, 306, 309,
1809 311, 312, 313, 319, 320, 91, -861, -861, -861, -861,
1810 -861, -861, -861, -861, -861, -861, -861, -861, -861, -861,
1811 -861, -861, 20, 16, -861, 324, 36, -861, -861, -861,
1812 157, 290, 429, 336, -861, 456, 457, 398, 462, 462,
1813 463, 465, 466, 409, 412, 475, 462, 420, 422, 367,
1814 -861, 368, 366, 369, 370, 372, 373, 383, 384, 385,
1815 386, 388, 393, 394, 396, 400, 251, -861, -861, -861,
1816 -861, -861, -861, -861, -861, -861, -861, -861, -861, -861,
1817 -861, -861, 371, 401, 402, 403, 404, -861, 406, 407,
1818 410, 415, 418, 431, 433, 434, 316, -861, -861, -861,
1819 -861, -861, -861, -861, -861, -861, -861, -861, -861, -861,
1820 -861, -861, 440, 441, 30, -861, -861, -861, 500, 445,
1821 -861, -861, 443, 444, -861, -861, 34, -861, -861, -861,
1822 497, 462, 462, 566, 505, 506, 569, 551, 511, 462,
1823 515, 462, 578, 579, 580, 520, 521, 524, 462, 562,
1824 525, 588, 590, 462, 591, 592, 574, 594, 595, 534,
1825 535, 478, 539, 483, 462, 462, 543, 462, 544, 545,
1826 546, -87, 97, 548, 549, 462, 462, 593, 462, 552,
1827 556, 557, 559, 499, -861, 504, 502, 503, -861, 507,
1828 516, 526, 528, 533, 12, -861, -861, -861, -861, -861,
1829 -861, -861, -861, -861, -861, 536, -861, 537, -861, 33,
1830 -861, -861, -861, 508, -861, 538, 542, 550, -861, 25,
1831 -861, -861, -861, -861, -861, 563, 560, -861, 522, -861,
1832 636, 655, 568, -861, 570, 558, 571, -861, 581, 585,
1833 586, -861, 599, 232, -861, -861, -861, -861, -861, -861,
1834 -861, -861, -861, 573, 601, 603, 604, 88, -861, -861,
1835 -861, -861, 619, 622, 693, 652, 664, 462, 610, -861,
1836 -861, 710, 668, 712, 713, 714, 715, 716, 717, -75,
1837 -68, 718, 720, 740, 722, 723, 627, -861, 628, 629,
1838 -861, 630, 39, -861, -861, -861, -861, 634, 633, -861,
1839 15, -861, -861, -861, 736, 638, -861, 640, 641, 642,
1840 -861, 643, 644, 646, 261, 647, 648, 650, 653, 654,
1841 656, 657, 658, 663, 665, 666, -861, -861, 773, 782,
1842 462, 786, 787, 789, 792, 774, 794, 796, 462, 462,
1843 800, 800, 683, -861, -861, 783, 119, 784, 742, 684,
1844 788, 790, 791, 793, 806, 795, 797, 798, 690, -861,
1845 799, 802, 695, -861, 697, -861, 803, 804, 703, 707,
1846 -861, 708, 709, 711, 719, 721, 724, 726, 727, 728,
1847 729, 730, 731, 732, 733, 735, 737, 738, 739, 741,
1848 743, 744, 745, 746, 747, 748, 749, 750, 751, 752,
1849 753, 754, 561, 755, 598, 756, 757, 758, 759, 760,
1850 761, 762, 763, 764, 765, 766, 767, 768, 769, 770,
1851 771, 772, 775, 776, 777, 778, -861, -861, 809, 779,
1852 780, 811, 831, 815, 816, 817, 781, -861, 819, 785,
1853 821, 801, -861, -861, 805, 835, 839, 860, 807, -861,
1854 810, -861, 55, 812, 813, -861, -861, 872, 830, 808,
1855 878, 879, 881, 814, 883, 818, -861, -861, 884, 885,
1856 886, 820, -861, 822, 824, 825, 826, 827, 828, -861,
1857 829, 832, 833, 834, 836, 837, 838, 840, -861, -861,
1858 -205, -861, -861, -861, -166, -861, 841, 842, 843, 844,
1859 845, -861, -861, 888, 846, 889, 847, -861, -861, 890,
1860 848, 850, -861, 852, -861, -861, -861, -861, -861, -861,
1861 -861, 462, 462, 462, 462, 462, -861, -861, -861, -861,
1862 -861, -861, -861, -861, -861, -861, -861, -861, -861, 853,
1863 854, 855, 856, 857, 858, 859, 861, 862, 863, 864,
1864 865, 64, 866, 867, -861, 868, 869, 870, 871, 873,
1865 -2, 874, 875, 876, 877, 880, 882, 887, 891, -861,
1866 892, 893, -861, -861, 894, 895, 896, -861, -861, -861,
1867 -861, -861, -861, -861, -861, -861, -861, -861, -861, -861,
1868 -861, -861, -861, -861, -861, -861, -861, -861, -861, -861,
1869 -861, -861, -861, -861, -861, -861, -861, -861, -861, -861,
1870 -861, -861, -861, -861, -861, -861, -861, -861, -861, -861,
1871 -861, -861, -861, -861, -861, -861, -861, -861, -861, -165,
1872 -861, -861, -861, -861, -861, -861, -861, -861, -861, -861,
1873 -861, -861, -861, -861, -861, -861, -861, -861, -861, -861,
1874 -861, -861, -159, -861, -861, -861, -861, -861, -861, -861,
1875 -861, -861, -861, -861, -861, -861, -861, -861, -861, -861,
1876 -861, -861, -861, -861, -861, 897, 898, 519, 899, 900,
1877 901, 902, 903, -861, 904, 908, 905, -861, -40, 906,
1878 907, 849, 689, -861, -861, -861, 909, 910, -861, 911,
1879 54, -861, -861, -861, -861, -861, -861, 912, 915, 513,
1880 916, 917, 918, 626, 919, -861, 920, 921, 922, -861,
1881 -861, -861, -861, -861, -861, -861, -861, -861, -861, -861,
1882 -861, -861, -861, -861, -861, -75, -861, -68, -861, -861,
1883 -861, -861, -861, 923, 671, 924, -861, 925, 681, -861,