/[svn]/ircd-hybrid-7.2/src/ircd_parser.c
ViewVC logotype

Contents of /ircd-hybrid-7.2/src/ircd_parser.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 978 - (show annotations)
Sun Aug 9 09:47:58 2009 UTC (12 years, 1 month ago) by michael
File MIME type: text/x-chdr
File size: 258456 byte(s)
- avoid using native basename() since some implementations may or may not modify passed data

1
2 /* A Bison parser, made by GNU Bison 2.4.1. */
3
4 /* Skeleton implementation for Bison's Yacc-like parsers in C
5
6 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
7 Free Software Foundation, Inc.
8
9 This program is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
13
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>. */
21
22 /* As a special exception, you may create a larger work that contains
23 part or all of the Bison parser skeleton and distribute that work
24 under terms of your choice, so long as that work isn't itself a
25 parser generator using the skeleton or a modified version thereof
26 as a parser skeleton. Alternatively, if you modify or redistribute
27 the parser skeleton itself, you may (at your option) remove this
28 special exception, which will cause the skeleton and the resulting
29 Bison output files to be licensed under the GNU General Public
30 License without this special exception.
31
32 This special exception was added by the Free Software Foundation in
33 version 2.2 of Bison. */
34
35 /* C LALR(1) parser skeleton written by Richard Stallman, by
36 simplifying the original so-called "semantic" parser. */
37
38 /* All symbols defined below should begin with yy or YY, to avoid
39 infringing on user name space. This should be done even for local
40 variables, as they might otherwise be expanded by user macros.
41 There are some unavoidable exceptions within include files to
42 define necessary library symbols; they are noted "INFRINGES ON
43 USER NAME SPACE" below. */
44
45 /* Identify Bison output. */
46 #define YYBISON 1
47
48 /* Bison version. */
49 #define YYBISON_VERSION "2.4.1"
50
51 /* Skeleton name. */
52 #define YYSKELETON_NAME "yacc.c"
53
54 /* Pure parsers. */
55 #define YYPURE 0
56
57 /* Push parsers. */
58 #define YYPUSH 0
59
60 /* Pull parsers. */
61 #define YYPULL 1
62
63 /* Using locations. */
64 #define YYLSP_NEEDED 0
65
66
67
68 /* Copy the first part of user declarations. */
69
70 /* Line 189 of yacc.c */
71 #line 25 "ircd_parser.y"
72
73
74 #define YY_NO_UNPUT
75 #include <sys/types.h>
76 #include <string.h>
77
78 #include "stdinc.h"
79 #include "ircd.h"
80 #include "tools.h"
81 #include "list.h"
82 #include "s_conf.h"
83 #include "event.h"
84 #include "s_log.h"
85 #include "client.h" /* for UMODE_ALL only */
86 #include "pcre.h"
87 #include "irc_string.h"
88 #include "irc_getaddrinfo.h"
89 #include "sprintf_irc.h"
90 #include "memory.h"
91 #include "modules.h"
92 #include "s_serv.h"
93 #include "hostmask.h"
94 #include "send.h"
95 #include "listener.h"
96 #include "resv.h"
97 #include "numeric.h"
98 #include "s_user.h"
99
100 #ifdef HAVE_LIBCRYPTO
101 #include <openssl/rsa.h>
102 #include <openssl/bio.h>
103 #include <openssl/pem.h>
104 #endif
105
106 static char *class_name = NULL;
107 static struct ConfItem *yy_conf = NULL;
108 static struct AccessItem *yy_aconf = NULL;
109 static struct MatchItem *yy_match_item = NULL;
110 static struct ClassItem *yy_class = NULL;
111 static char *yy_class_name = NULL;
112
113 static dlink_list col_conf_list = { NULL, NULL, 0 };
114 static dlink_list hub_conf_list = { NULL, NULL, 0 };
115 static dlink_list leaf_conf_list = { NULL, NULL, 0 };
116 static unsigned int listener_flags = 0;
117 static unsigned int regex_ban = 0;
118 static char userbuf[IRCD_BUFSIZE];
119 static char hostbuf[IRCD_BUFSIZE];
120 static char reasonbuf[REASONLEN + 1];
121 static char gecos_name[REALLEN * 4];
122
123 extern dlink_list gdeny_items; /* XXX */
124
125 static char *resv_reason = NULL;
126 static char *listener_address = NULL;
127 static int not_atom = 0;
128
129 struct CollectItem
130 {
131 dlink_node node;
132 char *name;
133 char *user;
134 char *host;
135 char *passwd;
136 int port;
137 int flags;
138 #ifdef HAVE_LIBCRYPTO
139 char *rsa_public_key_file;
140 RSA *rsa_public_key;
141 #endif
142 };
143
144 static void
145 free_collect_item(struct CollectItem *item)
146 {
147 MyFree(item->name);
148 MyFree(item->user);
149 MyFree(item->host);
150 MyFree(item->passwd);
151 #ifdef HAVE_LIBCRYPTO
152 MyFree(item->rsa_public_key_file);
153 #endif
154 MyFree(item);
155 }
156
157 static void
158 unhook_hub_leaf_confs(void)
159 {
160 dlink_node *ptr;
161 dlink_node *next_ptr;
162 struct CollectItem *yy_hconf;
163 struct CollectItem *yy_lconf;
164
165 DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
166 {
167 yy_hconf = ptr->data;
168 dlinkDelete(&yy_hconf->node, &hub_conf_list);
169 free_collect_item(yy_hconf);
170 }
171
172 DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
173 {
174 yy_lconf = ptr->data;
175 dlinkDelete(&yy_lconf->node, &leaf_conf_list);
176 free_collect_item(yy_lconf);
177 }
178 }
179
180
181
182 /* Line 189 of yacc.c */
183 #line 184 "ircd_parser.c"
184
185 /* Enabling traces. */
186 #ifndef YYDEBUG
187 # define YYDEBUG 0
188 #endif
189
190 /* Enabling verbose error messages. */
191 #ifdef YYERROR_VERBOSE
192 # undef YYERROR_VERBOSE
193 # define YYERROR_VERBOSE 1
194 #else
195 # define YYERROR_VERBOSE 0
196 #endif
197
198 /* Enabling the token table. */
199 #ifndef YYTOKEN_TABLE
200 # define YYTOKEN_TABLE 0
201 #endif
202
203
204 /* Tokens. */
205 #ifndef YYTOKENTYPE
206 # define YYTOKENTYPE
207 /* Put the tokens into the symbol table, so that GDB and other debuggers
208 know about them. */
209 enum yytokentype {
210 ACCEPT_PASSWORD = 258,
211 ACTION = 259,
212 ADMIN = 260,
213 AFTYPE = 261,
214 T_ALLOW = 262,
215 ANTI_NICK_FLOOD = 263,
216 ANTI_SPAM_EXIT_MESSAGE_TIME = 264,
217 AUTOCONN = 265,
218 T_BLOCK = 266,
219 BURST_AWAY = 267,
220 BURST_TOPICWHO = 268,
221 BYTES = 269,
222 KBYTES = 270,
223 MBYTES = 271,
224 GBYTES = 272,
225 TBYTES = 273,
226 CALLER_ID_WAIT = 274,
227 CAN_FLOOD = 275,
228 CAN_IDLE = 276,
229 CHANNEL = 277,
230 CIDR_BITLEN_IPV4 = 278,
231 CIDR_BITLEN_IPV6 = 279,
232 CIPHER_PREFERENCE = 280,
233 CLASS = 281,
234 COMPRESSED = 282,
235 COMPRESSION_LEVEL = 283,
236 CONNECT = 284,
237 CONNECTFREQ = 285,
238 CRYPTLINK = 286,
239 DEFAULT_CIPHER_PREFERENCE = 287,
240 DEFAULT_FLOODCOUNT = 288,
241 DEFAULT_SPLIT_SERVER_COUNT = 289,
242 DEFAULT_SPLIT_USER_COUNT = 290,
243 DENY = 291,
244 DESCRIPTION = 292,
245 DIE = 293,
246 DISABLE_AUTH = 294,
247 DISABLE_FAKE_CHANNELS = 295,
248 DISABLE_HIDDEN = 296,
249 DISABLE_LOCAL_CHANNELS = 297,
250 DISABLE_REMOTE_COMMANDS = 298,
251 DOT_IN_IP6_ADDR = 299,
252 DOTS_IN_IDENT = 300,
253 DURATION = 301,
254 EGDPOOL_PATH = 302,
255 EMAIL = 303,
256 ENABLE = 304,
257 ENCRYPTED = 305,
258 EXCEED_LIMIT = 306,
259 EXEMPT = 307,
260 FAILED_OPER_NOTICE = 308,
261 FAKENAME = 309,
262 IRCD_FLAGS = 310,
263 FLATTEN_LINKS = 311,
264 FFAILED_OPERLOG = 312,
265 FKILLLOG = 313,
266 FKLINELOG = 314,
267 FGLINELOG = 315,
268 FIOERRLOG = 316,
269 FOPERLOG = 317,
270 FOPERSPYLOG = 318,
271 FUSERLOG = 319,
272 GECOS = 320,
273 GENERAL = 321,
274 GLINE = 322,
275 GLINES = 323,
276 GLINE_EXEMPT = 324,
277 GLINE_LOG = 325,
278 GLINE_TIME = 326,
279 GLINE_MIN_CIDR = 327,
280 GLINE_MIN_CIDR6 = 328,
281 GLOBAL_KILL = 329,
282 IRCD_AUTH = 330,
283 NEED_IDENT = 331,
284 HAVENT_READ_CONF = 332,
285 HIDDEN = 333,
286 HIDDEN_ADMIN = 334,
287 HIDDEN_NAME = 335,
288 HIDDEN_OPER = 336,
289 HIDE_SERVER_IPS = 337,
290 HIDE_SERVERS = 338,
291 HIDE_SPOOF_IPS = 339,
292 HOST = 340,
293 HUB = 341,
294 HUB_MASK = 342,
295 IDLETIME = 343,
296 IGNORE_BOGUS_TS = 344,
297 INVISIBLE_ON_CONNECT = 345,
298 IP = 346,
299 KILL = 347,
300 KILL_CHASE_TIME_LIMIT = 348,
301 KLINE = 349,
302 KLINE_EXEMPT = 350,
303 KLINE_REASON = 351,
304 KLINE_WITH_REASON = 352,
305 KNOCK_DELAY = 353,
306 KNOCK_DELAY_CHANNEL = 354,
307 LEAF_MASK = 355,
308 LINKS_DELAY = 356,
309 LISTEN = 357,
310 T_LOG = 358,
311 LOGGING = 359,
312 LOG_LEVEL = 360,
313 MAX_ACCEPT = 361,
314 MAX_BANS = 362,
315 MAX_CHANS_PER_USER = 363,
316 MAX_GLOBAL = 364,
317 MAX_IDENT = 365,
318 MAX_LOCAL = 366,
319 MAX_NICK_CHANGES = 367,
320 MAX_NICK_TIME = 368,
321 MAX_NUMBER = 369,
322 MAX_TARGETS = 370,
323 MAX_WATCH = 371,
324 MESSAGE_LOCALE = 372,
325 MIN_NONWILDCARD = 373,
326 MIN_NONWILDCARD_SIMPLE = 374,
327 MODULE = 375,
328 MODULES = 376,
329 NAME = 377,
330 NEED_PASSWORD = 378,
331 NETWORK_DESC = 379,
332 NETWORK_NAME = 380,
333 NICK = 381,
334 NICK_CHANGES = 382,
335 NO_CREATE_ON_SPLIT = 383,
336 NO_JOIN_ON_SPLIT = 384,
337 NO_OPER_FLOOD = 385,
338 NO_TILDE = 386,
339 NOT = 387,
340 NUMBER = 388,
341 NUMBER_PER_IDENT = 389,
342 NUMBER_PER_CIDR = 390,
343 NUMBER_PER_IP = 391,
344 NUMBER_PER_IP_GLOBAL = 392,
345 OPERATOR = 393,
346 OPERS_BYPASS_CALLERID = 394,
347 OPER_LOG = 395,
348 OPER_ONLY_UMODES = 396,
349 OPER_PASS_RESV = 397,
350 OPER_SPY_T = 398,
351 OPER_UMODES = 399,
352 JOIN_FLOOD_COUNT = 400,
353 JOIN_FLOOD_TIME = 401,
354 PACE_WAIT = 402,
355 PACE_WAIT_SIMPLE = 403,
356 PASSWORD = 404,
357 PATH = 405,
358 PING_COOKIE = 406,
359 PING_TIME = 407,
360 PING_WARNING = 408,
361 PORT = 409,
362 QSTRING = 410,
363 QUIET_ON_BAN = 411,
364 REASON = 412,
365 REDIRPORT = 413,
366 REDIRSERV = 414,
367 REGEX_T = 415,
368 REHASH = 416,
369 TREJECT_HOLD_TIME = 417,
370 REMOTE = 418,
371 REMOTEBAN = 419,
372 RESTRICT_CHANNELS = 420,
373 RESTRICTED = 421,
374 RSA_PRIVATE_KEY_FILE = 422,
375 RSA_PUBLIC_KEY_FILE = 423,
376 SSL_CERTIFICATE_FILE = 424,
377 T_SSL_CONNECTION_METHOD = 425,
378 T_SSLV3 = 426,
379 T_TLSV1 = 427,
380 RESV = 428,
381 RESV_EXEMPT = 429,
382 SECONDS = 430,
383 MINUTES = 431,
384 HOURS = 432,
385 DAYS = 433,
386 WEEKS = 434,
387 SENDQ = 435,
388 SEND_PASSWORD = 436,
389 SERVERHIDE = 437,
390 SERVERINFO = 438,
391 SERVLINK_PATH = 439,
392 IRCD_SID = 440,
393 TKLINE_EXPIRE_NOTICES = 441,
394 T_SHARED = 442,
395 T_CLUSTER = 443,
396 TYPE = 444,
397 SHORT_MOTD = 445,
398 SILENT = 446,
399 SPOOF = 447,
400 SPOOF_NOTICE = 448,
401 STATS_E_DISABLED = 449,
402 STATS_I_OPER_ONLY = 450,
403 STATS_K_OPER_ONLY = 451,
404 STATS_O_OPER_ONLY = 452,
405 STATS_P_OPER_ONLY = 453,
406 TBOOL = 454,
407 TMASKED = 455,
408 T_REJECT = 456,
409 TS_MAX_DELTA = 457,
410 TS_WARN_DELTA = 458,
411 TWODOTS = 459,
412 T_ALL = 460,
413 T_BOTS = 461,
414 T_SOFTCALLERID = 462,
415 T_CALLERID = 463,
416 T_CCONN = 464,
417 T_CCONN_FULL = 465,
418 T_CLIENT_FLOOD = 466,
419 T_DEAF = 467,
420 T_DEBUG = 468,
421 T_DRONE = 469,
422 T_EXTERNAL = 470,
423 T_FULL = 471,
424 T_INVISIBLE = 472,
425 T_IPV4 = 473,
426 T_IPV6 = 474,
427 T_LOCOPS = 475,
428 T_LOGPATH = 476,
429 T_L_CRIT = 477,
430 T_L_DEBUG = 478,
431 T_L_ERROR = 479,
432 T_L_INFO = 480,
433 T_L_NOTICE = 481,
434 T_L_TRACE = 482,
435 T_L_WARN = 483,
436 T_MAX_CLIENTS = 484,
437 T_NCHANGE = 485,
438 T_OPERWALL = 486,
439 T_REJ = 487,
440 T_SERVER = 488,
441 T_SERVNOTICE = 489,
442 T_SKILL = 490,
443 T_SPY = 491,
444 T_SSL = 492,
445 T_UMODES = 493,
446 T_UNAUTH = 494,
447 T_UNRESV = 495,
448 T_UNXLINE = 496,
449 T_WALLOP = 497,
450 THROTTLE_TIME = 498,
451 TOPICBURST = 499,
452 TRUE_NO_OPER_FLOOD = 500,
453 TKLINE = 501,
454 TXLINE = 502,
455 TRESV = 503,
456 UNKLINE = 504,
457 USER = 505,
458 USE_EGD = 506,
459 USE_EXCEPT = 507,
460 USE_INVEX = 508,
461 USE_KNOCK = 509,
462 USE_LOGGING = 510,
463 USE_WHOIS_ACTUALLY = 511,
464 VHOST = 512,
465 VHOST6 = 513,
466 XLINE = 514,
467 WARN = 515,
468 WARN_NO_NLINE = 516
469 };
470 #endif
471 /* Tokens. */
472 #define ACCEPT_PASSWORD 258
473 #define ACTION 259
474 #define ADMIN 260
475 #define AFTYPE 261
476 #define T_ALLOW 262
477 #define ANTI_NICK_FLOOD 263
478 #define ANTI_SPAM_EXIT_MESSAGE_TIME 264
479 #define AUTOCONN 265
480 #define T_BLOCK 266
481 #define BURST_AWAY 267
482 #define BURST_TOPICWHO 268
483 #define BYTES 269
484 #define KBYTES 270
485 #define MBYTES 271
486 #define GBYTES 272
487 #define TBYTES 273
488 #define CALLER_ID_WAIT 274
489 #define CAN_FLOOD 275
490 #define CAN_IDLE 276
491 #define CHANNEL 277
492 #define CIDR_BITLEN_IPV4 278
493 #define CIDR_BITLEN_IPV6 279
494 #define CIPHER_PREFERENCE 280
495 #define CLASS 281
496 #define COMPRESSED 282
497 #define COMPRESSION_LEVEL 283
498 #define CONNECT 284
499 #define CONNECTFREQ 285
500 #define CRYPTLINK 286
501 #define DEFAULT_CIPHER_PREFERENCE 287
502 #define DEFAULT_FLOODCOUNT 288
503 #define DEFAULT_SPLIT_SERVER_COUNT 289
504 #define DEFAULT_SPLIT_USER_COUNT 290
505 #define DENY 291
506 #define DESCRIPTION 292
507 #define DIE 293
508 #define DISABLE_AUTH 294
509 #define DISABLE_FAKE_CHANNELS 295
510 #define DISABLE_HIDDEN 296
511 #define DISABLE_LOCAL_CHANNELS 297
512 #define DISABLE_REMOTE_COMMANDS 298
513 #define DOT_IN_IP6_ADDR 299
514 #define DOTS_IN_IDENT 300
515 #define DURATION 301
516 #define EGDPOOL_PATH 302
517 #define EMAIL 303
518 #define ENABLE 304
519 #define ENCRYPTED 305
520 #define EXCEED_LIMIT 306
521 #define EXEMPT 307
522 #define FAILED_OPER_NOTICE 308
523 #define FAKENAME 309
524 #define IRCD_FLAGS 310
525 #define FLATTEN_LINKS 311
526 #define FFAILED_OPERLOG 312
527 #define FKILLLOG 313
528 #define FKLINELOG 314
529 #define FGLINELOG 315
530 #define FIOERRLOG 316
531 #define FOPERLOG 317
532 #define FOPERSPYLOG 318
533 #define FUSERLOG 319
534 #define GECOS 320
535 #define GENERAL 321
536 #define GLINE 322
537 #define GLINES 323
538 #define GLINE_EXEMPT 324
539 #define GLINE_LOG 325
540 #define GLINE_TIME 326
541 #define GLINE_MIN_CIDR 327
542 #define GLINE_MIN_CIDR6 328
543 #define GLOBAL_KILL 329
544 #define IRCD_AUTH 330
545 #define NEED_IDENT 331
546 #define HAVENT_READ_CONF 332
547 #define HIDDEN 333
548 #define HIDDEN_ADMIN 334
549 #define HIDDEN_NAME 335
550 #define HIDDEN_OPER 336
551 #define HIDE_SERVER_IPS 337
552 #define HIDE_SERVERS 338
553 #define HIDE_SPOOF_IPS 339
554 #define HOST 340
555 #define HUB 341
556 #define HUB_MASK 342
557 #define IDLETIME 343
558 #define IGNORE_BOGUS_TS 344
559 #define INVISIBLE_ON_CONNECT 345
560 #define IP 346
561 #define KILL 347
562 #define KILL_CHASE_TIME_LIMIT 348
563 #define KLINE 349
564 #define KLINE_EXEMPT 350
565 #define KLINE_REASON 351
566 #define KLINE_WITH_REASON 352
567 #define KNOCK_DELAY 353
568 #define KNOCK_DELAY_CHANNEL 354
569 #define LEAF_MASK 355
570 #define LINKS_DELAY 356
571 #define LISTEN 357
572 #define T_LOG 358
573 #define LOGGING 359
574 #define LOG_LEVEL 360
575 #define MAX_ACCEPT 361
576 #define MAX_BANS 362
577 #define MAX_CHANS_PER_USER 363
578 #define MAX_GLOBAL 364
579 #define MAX_IDENT 365
580 #define MAX_LOCAL 366
581 #define MAX_NICK_CHANGES 367
582 #define MAX_NICK_TIME 368
583 #define MAX_NUMBER 369
584 #define MAX_TARGETS 370
585 #define MAX_WATCH 371
586 #define MESSAGE_LOCALE 372
587 #define MIN_NONWILDCARD 373
588 #define MIN_NONWILDCARD_SIMPLE 374
589 #define MODULE 375
590 #define MODULES 376
591 #define NAME 377
592 #define NEED_PASSWORD 378
593 #define NETWORK_DESC 379
594 #define NETWORK_NAME 380
595 #define NICK 381
596 #define NICK_CHANGES 382
597 #define NO_CREATE_ON_SPLIT 383
598 #define NO_JOIN_ON_SPLIT 384
599 #define NO_OPER_FLOOD 385
600 #define NO_TILDE 386
601 #define NOT 387
602 #define NUMBER 388
603 #define NUMBER_PER_IDENT 389
604 #define NUMBER_PER_CIDR 390
605 #define NUMBER_PER_IP 391
606 #define NUMBER_PER_IP_GLOBAL 392
607 #define OPERATOR 393
608 #define OPERS_BYPASS_CALLERID 394
609 #define OPER_LOG 395
610 #define OPER_ONLY_UMODES 396
611 #define OPER_PASS_RESV 397
612 #define OPER_SPY_T 398
613 #define OPER_UMODES 399
614 #define JOIN_FLOOD_COUNT 400
615 #define JOIN_FLOOD_TIME 401
616 #define PACE_WAIT 402
617 #define PACE_WAIT_SIMPLE 403
618 #define PASSWORD 404
619 #define PATH 405
620 #define PING_COOKIE 406
621 #define PING_TIME 407
622 #define PING_WARNING 408
623 #define PORT 409
624 #define QSTRING 410
625 #define QUIET_ON_BAN 411
626 #define REASON 412
627 #define REDIRPORT 413
628 #define REDIRSERV 414
629 #define REGEX_T 415
630 #define REHASH 416
631 #define TREJECT_HOLD_TIME 417
632 #define REMOTE 418
633 #define REMOTEBAN 419
634 #define RESTRICT_CHANNELS 420
635 #define RESTRICTED 421
636 #define RSA_PRIVATE_KEY_FILE 422
637 #define RSA_PUBLIC_KEY_FILE 423
638 #define SSL_CERTIFICATE_FILE 424
639 #define T_SSL_CONNECTION_METHOD 425
640 #define T_SSLV3 426
641 #define T_TLSV1 427
642 #define RESV 428
643 #define RESV_EXEMPT 429
644 #define SECONDS 430
645 #define MINUTES 431
646 #define HOURS 432
647 #define DAYS 433
648 #define WEEKS 434
649 #define SENDQ 435
650 #define SEND_PASSWORD 436
651 #define SERVERHIDE 437
652 #define SERVERINFO 438
653 #define SERVLINK_PATH 439
654 #define IRCD_SID 440
655 #define TKLINE_EXPIRE_NOTICES 441
656 #define T_SHARED 442
657 #define T_CLUSTER 443
658 #define TYPE 444
659 #define SHORT_MOTD 445
660 #define SILENT 446
661 #define SPOOF 447
662 #define SPOOF_NOTICE 448
663 #define STATS_E_DISABLED 449
664 #define STATS_I_OPER_ONLY 450
665 #define STATS_K_OPER_ONLY 451
666 #define STATS_O_OPER_ONLY 452
667 #define STATS_P_OPER_ONLY 453
668 #define TBOOL 454
669 #define TMASKED 455
670 #define T_REJECT 456
671 #define TS_MAX_DELTA 457
672 #define TS_WARN_DELTA 458
673 #define TWODOTS 459
674 #define T_ALL 460
675 #define T_BOTS 461
676 #define T_SOFTCALLERID 462
677 #define T_CALLERID 463
678 #define T_CCONN 464
679 #define T_CCONN_FULL 465
680 #define T_CLIENT_FLOOD 466
681 #define T_DEAF 467
682 #define T_DEBUG 468
683 #define T_DRONE 469
684 #define T_EXTERNAL 470
685 #define T_FULL 471
686 #define T_INVISIBLE 472
687 #define T_IPV4 473
688 #define T_IPV6 474
689 #define T_LOCOPS 475
690 #define T_LOGPATH 476
691 #define T_L_CRIT 477
692 #define T_L_DEBUG 478
693 #define T_L_ERROR 479
694 #define T_L_INFO 480
695 #define T_L_NOTICE 481
696 #define T_L_TRACE 482
697 #define T_L_WARN 483
698 #define T_MAX_CLIENTS 484
699 #define T_NCHANGE 485
700 #define T_OPERWALL 486
701 #define T_REJ 487
702 #define T_SERVER 488
703 #define T_SERVNOTICE 489
704 #define T_SKILL 490
705 #define T_SPY 491
706 #define T_SSL 492
707 #define T_UMODES 493
708 #define T_UNAUTH 494
709 #define T_UNRESV 495
710 #define T_UNXLINE 496
711 #define T_WALLOP 497
712 #define THROTTLE_TIME 498
713 #define TOPICBURST 499
714 #define TRUE_NO_OPER_FLOOD 500
715 #define TKLINE 501
716 #define TXLINE 502
717 #define TRESV 503
718 #define UNKLINE 504
719 #define USER 505
720 #define USE_EGD 506
721 #define USE_EXCEPT 507
722 #define USE_INVEX 508
723 #define USE_KNOCK 509
724 #define USE_LOGGING 510
725 #define USE_WHOIS_ACTUALLY 511
726 #define VHOST 512
727 #define VHOST6 513
728 #define XLINE 514
729 #define WARN 515
730 #define WARN_NO_NLINE 516
731
732
733
734
735 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
736 typedef union YYSTYPE
737 {
738
739 /* Line 214 of yacc.c */
740 #line 135 "ircd_parser.y"
741
742 int number;
743 char *string;
744
745
746
747 /* Line 214 of yacc.c */
748 #line 749 "ircd_parser.c"
749 } YYSTYPE;
750 # define YYSTYPE_IS_TRIVIAL 1
751 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
752 # define YYSTYPE_IS_DECLARED 1
753 #endif
754
755
756 /* Copy the second part of user declarations. */
757
758
759 /* Line 264 of yacc.c */
760 #line 761 "ircd_parser.c"
761
762 #ifdef short
763 # undef short
764 #endif
765
766 #ifdef YYTYPE_UINT8
767 typedef YYTYPE_UINT8 yytype_uint8;
768 #else
769 typedef unsigned char yytype_uint8;
770 #endif
771
772 #ifdef YYTYPE_INT8
773 typedef YYTYPE_INT8 yytype_int8;
774 #elif (defined __STDC__ || defined __C99__FUNC__ \
775 || defined __cplusplus || defined _MSC_VER)
776 typedef signed char yytype_int8;
777 #else
778 typedef short int yytype_int8;
779 #endif
780
781 #ifdef YYTYPE_UINT16
782 typedef YYTYPE_UINT16 yytype_uint16;
783 #else
784 typedef unsigned short int yytype_uint16;
785 #endif
786
787 #ifdef YYTYPE_INT16
788 typedef YYTYPE_INT16 yytype_int16;
789 #else
790 typedef short int yytype_int16;
791 #endif
792
793 #ifndef YYSIZE_T
794 # ifdef __SIZE_TYPE__
795 # define YYSIZE_T __SIZE_TYPE__
796 # elif defined size_t
797 # define YYSIZE_T size_t
798 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
799 || defined __cplusplus || defined _MSC_VER)
800 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
801 # define YYSIZE_T size_t
802 # else
803 # define YYSIZE_T unsigned int
804 # endif
805 #endif
806
807 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
808
809 #ifndef YY_
810 # if YYENABLE_NLS
811 # if ENABLE_NLS
812 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
813 # define YY_(msgid) dgettext ("bison-runtime", msgid)
814 # endif
815 # endif
816 # ifndef YY_
817 # define YY_(msgid) msgid
818 # endif
819 #endif
820
821 /* Suppress unused-variable warnings by "using" E. */
822 #if ! defined lint || defined __GNUC__
823 # define YYUSE(e) ((void) (e))
824 #else
825 # define YYUSE(e) /* empty */
826 #endif
827
828 /* Identity function, used to suppress warnings about constant conditions. */
829 #ifndef lint
830 # define YYID(n) (n)
831 #else
832 #if (defined __STDC__ || defined __C99__FUNC__ \
833 || defined __cplusplus || defined _MSC_VER)
834 static int
835 YYID (int yyi)
836 #else
837 static int
838 YYID (yyi)
839 int yyi;
840 #endif
841 {
842 return yyi;
843 }
844 #endif
845
846 #if ! defined yyoverflow || YYERROR_VERBOSE
847
848 /* The parser invokes alloca or malloc; define the necessary symbols. */
849
850 # ifdef YYSTACK_USE_ALLOCA
851 # if YYSTACK_USE_ALLOCA
852 # ifdef __GNUC__
853 # define YYSTACK_ALLOC __builtin_alloca
854 # elif defined __BUILTIN_VA_ARG_INCR
855 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
856 # elif defined _AIX
857 # define YYSTACK_ALLOC __alloca
858 # elif defined _MSC_VER
859 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
860 # define alloca _alloca
861 # else
862 # define YYSTACK_ALLOC alloca
863 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
864 || defined __cplusplus || defined _MSC_VER)
865 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
866 # ifndef _STDLIB_H
867 # define _STDLIB_H 1
868 # endif
869 # endif
870 # endif
871 # endif
872 # endif
873
874 # ifdef YYSTACK_ALLOC
875 /* Pacify GCC's `empty if-body' warning. */
876 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
877 # ifndef YYSTACK_ALLOC_MAXIMUM
878 /* The OS might guarantee only one guard page at the bottom of the stack,
879 and a page size can be as small as 4096 bytes. So we cannot safely
880 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
881 to allow for a few compiler-allocated temporary stack slots. */
882 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
883 # endif
884 # else
885 # define YYSTACK_ALLOC YYMALLOC
886 # define YYSTACK_FREE YYFREE
887 # ifndef YYSTACK_ALLOC_MAXIMUM
888 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
889 # endif
890 # if (defined __cplusplus && ! defined _STDLIB_H \
891 && ! ((defined YYMALLOC || defined malloc) \
892 && (defined YYFREE || defined free)))
893 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
894 # ifndef _STDLIB_H
895 # define _STDLIB_H 1
896 # endif
897 # endif
898 # ifndef YYMALLOC
899 # define YYMALLOC malloc
900 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
901 || defined __cplusplus || defined _MSC_VER)
902 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
903 # endif
904 # endif
905 # ifndef YYFREE
906 # define YYFREE free
907 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
908 || defined __cplusplus || defined _MSC_VER)
909 void free (void *); /* INFRINGES ON USER NAME SPACE */
910 # endif
911 # endif
912 # endif
913 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
914
915
916 #if (! defined yyoverflow \
917 && (! defined __cplusplus \
918 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
919
920 /* A type that is properly aligned for any stack member. */
921 union yyalloc
922 {
923 yytype_int16 yyss_alloc;
924 YYSTYPE yyvs_alloc;
925 };
926
927 /* The size of the maximum gap between one aligned stack and the next. */
928 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
929
930 /* The size of an array large to enough to hold all stacks, each with
931 N elements. */
932 # define YYSTACK_BYTES(N) \
933 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
934 + YYSTACK_GAP_MAXIMUM)
935
936 /* Copy COUNT objects from FROM to TO. The source and destination do
937 not overlap. */
938 # ifndef YYCOPY
939 # if defined __GNUC__ && 1 < __GNUC__
940 # define YYCOPY(To, From, Count) \
941 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
942 # else
943 # define YYCOPY(To, From, Count) \
944 do \
945 { \
946 YYSIZE_T yyi; \
947 for (yyi = 0; yyi < (Count); yyi++) \
948 (To)[yyi] = (From)[yyi]; \
949 } \
950 while (YYID (0))
951 # endif
952 # endif
953
954 /* Relocate STACK from its old location to the new one. The
955 local variables YYSIZE and YYSTACKSIZE give the old and new number of
956 elements in the stack, and YYPTR gives the new location of the
957 stack. Advance YYPTR to a properly aligned location for the next
958 stack. */
959 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
960 do \
961 { \
962 YYSIZE_T yynewbytes; \
963 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
964 Stack = &yyptr->Stack_alloc; \
965 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
966 yyptr += yynewbytes / sizeof (*yyptr); \
967 } \
968 while (YYID (0))
969
970 #endif
971
972 /* YYFINAL -- State number of the termination state. */
973 #define YYFINAL 2
974 /* YYLAST -- Last index in YYTABLE. */
975 #define YYLAST 1413
976
977 /* YYNTOKENS -- Number of terminals. */
978 #define YYNTOKENS 267
979 /* YYNNTS -- Number of nonterminals. */
980 #define YYNNTS 346
981 /* YYNRULES -- Number of rules. */
982 #define YYNRULES 743
983 /* YYNRULES -- Number of states. */
984 #define YYNSTATES 1494
985
986 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
987 #define YYUNDEFTOK 2
988 #define YYMAXUTOK 516
989
990 #define YYTRANSLATE(YYX) \
991 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
992
993 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
994 static const yytype_uint16 yytranslate[] =
995 {
996 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
997 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
998 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
999 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1000 2, 2, 2, 2, 266, 2, 2, 2, 2, 2,
1001 2, 2, 2, 2, 2, 2, 2, 2, 2, 262,
1002 2, 265, 2, 2, 2, 2, 2, 2, 2, 2,
1003 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1004 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1005 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1006 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1007 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1008 2, 2, 2, 264, 2, 263, 2, 2, 2, 2,
1009 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1010 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1011 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1012 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1013 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1014 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1015 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1016 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1017 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1018 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1019 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1020 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1021 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1022 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1023 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1024 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1025 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1026 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1027 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1028 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1029 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1030 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1031 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1032 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1033 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
1034 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1035 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
1036 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
1037 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
1038 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
1039 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
1040 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
1041 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
1042 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
1043 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
1044 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
1045 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
1046 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
1047 255, 256, 257, 258, 259, 260, 261
1048 };
1049
1050 #if YYDEBUG
1051 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
1052 YYRHS. */
1053 static const yytype_uint16 yyprhs[] =
1054 {
1055 0, 0, 3, 4, 7, 9, 11, 13, 15, 17,
1056 19, 21, 23, 25, 27, 29, 31, 33, 35, 37,
1057 39, 41, 43, 45, 47, 50, 53, 54, 56, 59,
1058 63, 67, 71, 75, 79, 80, 82, 85, 89, 93,
1059 97, 103, 106, 108, 110, 112, 115, 120, 125, 131,
1060 134, 136, 138, 140, 142, 144, 146, 148, 150, 152,
1061 154, 156, 158, 160, 163, 164, 170, 174, 176, 178,
1062 180, 185, 190, 195, 200, 205, 210, 215, 220, 225,
1063 230, 235, 241, 244, 246, 248, 250, 252, 255, 260,
1064 265, 270, 276, 279, 281, 283, 285, 287, 289, 291,
1065 293, 295, 297, 299, 301, 303, 305, 308, 313, 318,
1066 323, 328, 333, 338, 343, 348, 353, 358, 363, 368,
1067 373, 378, 383, 388, 393, 398, 399, 407, 408, 410,
1068 413, 415, 417, 419, 421, 423, 425, 427, 429, 431,
1069 433, 435, 437, 439, 441, 443, 445, 447, 449, 451,
1070 453, 455, 457, 459, 462, 467, 469, 474, 479, 484,
1071 489, 494, 495, 501, 505, 507, 509, 511, 513, 515,
1072 517, 519, 521, 523, 525, 527, 529, 531, 533, 535,
1073 537, 539, 541, 543, 545, 550, 555, 560, 565, 570,
1074 575, 580, 585, 590, 595, 600, 605, 610, 615, 616,
1075 622, 626, 628, 629, 633, 634, 637, 639, 641, 643,
1076 645, 647, 649, 651, 653, 655, 657, 659, 661, 663,
1077 665, 667, 669, 670, 678, 679, 681, 684, 686, 688,
1078 690, 692, 694, 696, 698, 700, 702, 704, 706, 708,
1079 710, 712, 715, 720, 722, 727, 732, 737, 742, 747,
1080 752, 757, 762, 767, 772, 777, 782, 783, 790, 791,
1081 797, 801, 803, 805, 807, 809, 812, 814, 816, 818,
1082 820, 822, 825, 826, 832, 836, 838, 840, 844, 849,
1083 854, 855, 862, 865, 867, 869, 871, 873, 875, 877,
1084 879, 881, 883, 885, 887, 889, 891, 893, 895, 897,
1085 899, 902, 907, 912, 917, 922, 927, 928, 934, 938,
1086 940, 941, 945, 946, 949, 951, 953, 955, 957, 959,
1087 961, 963, 965, 967, 969, 974, 979, 984, 989, 994,
1088 999, 1004, 1009, 1014, 1019, 1020, 1027, 1030, 1032, 1034,
1089 1036, 1038, 1041, 1046, 1051, 1056, 1057, 1064, 1067, 1069,
1090 1071, 1073, 1075, 1078, 1083, 1088, 1089, 1095, 1099, 1101,
1091 1103, 1105, 1107, 1109, 1111, 1113, 1115, 1117, 1119, 1121,
1092 1123, 1124, 1131, 1134, 1136, 1138, 1140, 1143, 1148, 1149,
1093 1155, 1159, 1161, 1163, 1165, 1167, 1169, 1171, 1173, 1175,
1094 1177, 1179, 1181, 1183, 1184, 1192, 1193, 1195, 1198, 1200,
1095 1202, 1204, 1206, 1208, 1210, 1212, 1214, 1216, 1218, 1220,
1096 1222, 1224, 1226, 1228, 1230, 1232, 1234, 1236, 1238, 1241,
1097 1246, 1248, 1253, 1258, 1263, 1268, 1273, 1278, 1283, 1288,
1098 1289, 1295, 1299, 1301, 1302, 1306, 1307, 1310, 1312, 1314,
1099 1316, 1318, 1320, 1325, 1330, 1335, 1340, 1345, 1350, 1355,
1100 1360, 1365, 1370, 1371, 1378, 1379, 1385, 1389, 1391, 1393,
1101 1396, 1398, 1400, 1402, 1404, 1406, 1411, 1416, 1417, 1424,
1102 1427, 1429, 1431, 1433, 1435, 1440, 1445, 1451, 1454, 1456,
1103 1458, 1460, 1465, 1466, 1473, 1474, 1480, 1484, 1486, 1488,
1104 1491, 1493, 1495, 1497, 1499, 1501, 1506, 1511, 1517, 1520,
1105 1522, 1524, 1526, 1528, 1530, 1532, 1534, 1536, 1538, 1540,
1106 1542, 1544, 1546, 1548, 1550, 1552, 1554, 1556, 1558, 1560,
1107 1562, 1564, 1566, 1568, 1570, 1572, 1574, 1576, 1578, 1580,
1108 1582, 1584, 1586, 1588, 1590, 1592, 1594, 1596, 1598, 1600,
1109 1602, 1604, 1606, 1608, 1610, 1612, 1614, 1616, 1618, 1620,
1110 1622, 1624, 1626, 1628, 1630, 1632, 1634, 1636, 1641, 1646,
1111 1651, 1656, 1661, 1666, 1671, 1676, 1681, 1686, 1691, 1696,
1112 1701, 1706, 1711, 1716, 1721, 1726, 1731, 1736, 1741, 1746,
1113 1751, 1756, 1761, 1766, 1771, 1776, 1781, 1786, 1791, 1796,
1114 1801, 1806, 1811, 1816, 1821, 1826, 1831, 1836, 1841, 1846,
1115 1851, 1856, 1861, 1866, 1871, 1876, 1881, 1886, 1891, 1892,
1116 1898, 1902, 1904, 1906, 1908, 1910, 1912, 1914, 1916, 1918,
1117 1920, 1922, 1924, 1926, 1928, 1930, 1932, 1934, 1936, 1938,
1118 1940, 1942, 1943, 1949, 1953, 1955, 1957, 1959, 1961, 1963,
1119 1965, 1967, 1969, 1971, 1973, 1975, 1977, 1979, 1981, 1983,
1120 1985, 1987, 1989, 1991, 1993, 1998, 2003, 2008, 2013, 2018,
1121 2019, 2026, 2029, 2031, 2033, 2035, 2037, 2039, 2041, 2043,
1122 2045, 2050, 2055, 2056, 2062, 2066, 2068, 2070, 2072, 2077,
1123 2082, 2083, 2089, 2093, 2095, 2097, 2099, 2105, 2108, 2110,
1124 2112, 2114, 2116, 2118, 2120, 2122, 2124, 2126, 2128, 2130,
1125 2132, 2134, 2136, 2138, 2140, 2142, 2144, 2146, 2148, 2153,
1126 2158, 2163, 2168, 2173, 2178, 2183, 2188, 2193, 2198, 2203,
1127 2208, 2213, 2218, 2223, 2228, 2233, 2238, 2244, 2247, 2249,
1128 2251, 2253, 2255, 2257, 2259, 2261, 2263, 2265, 2270, 2275,
1129 2280, 2285, 2290, 2295
1130 };
1131
1132 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
1133 static const yytype_int16 yyrhs[] =
1134 {
1135 268, 0, -1, -1, 268, 269, -1, 297, -1, 303,
1136 -1, 318, -1, 582, -1, 355, -1, 374, -1, 388,
1137 -1, 279, -1, 603, -1, 414, -1, 421, -1, 431,
1138 -1, 440, -1, 471, -1, 481, -1, 487, -1, 501,
1139 -1, 566, -1, 491, -1, 274, -1, 1, 262, -1,
1140 1, 263, -1, -1, 271, -1, 133, 270, -1, 133,
1141 175, 270, -1, 133, 176, 270, -1, 133, 177, 270,
1142 -1, 133, 178, 270, -1, 133, 179, 270, -1, -1,
1143 273, -1, 133, 272, -1, 133, 14, 272, -1, 133,
1144 15, 272, -1, 133, 16, 272, -1, 121, 264, 275,
1145 263, 262, -1, 275, 276, -1, 276, -1, 277, -1,
1146 278, -1, 1, 262, -1, 120, 265, 155, 262, -1,
1147 150, 265, 155, 262, -1, 183, 264, 280, 263, 262,
1148 -1, 280, 281, -1, 281, -1, 288, -1, 293, -1,
1149 296, -1, 290, -1, 291, -1, 292, -1, 295, -1,
1150 287, -1, 294, -1, 289, -1, 286, -1, 282, -1,
1151 1, 262, -1, -1, 170, 283, 265, 284, 262, -1,
1152 284, 266, 285, -1, 285, -1, 171, -1, 172, -1,
1153 169, 265, 155, 262, -1, 167, 265, 155, 262, -1,
1154 122, 265, 155, 262, -1, 185, 265, 155, 262, -1,
1155 37, 265, 155, 262, -1, 125, 265, 155, 262, -1,
1156 124, 265, 155, 262, -1, 257, 265, 155, 262, -1,
1157 258, 265, 155, 262, -1, 229, 265, 133, 262, -1,
1158 86, 265, 199, 262, -1, 5, 264, 298, 263, 262,
1159 -1, 298, 299, -1, 299, -1, 300, -1, 302, -1,
1160 301, -1, 1, 262, -1, 122, 265, 155, 262, -1,
1161 48, 265, 155, 262, -1, 37, 265, 155, 262, -1,
1162 104, 264, 304, 263, 262, -1, 304, 305, -1, 305,
1163 -1, 306, -1, 307, -1, 316, -1, 317, -1, 308,
1164 -1, 310, -1, 312, -1, 313, -1, 315, -1, 311,
1165 -1, 314, -1, 309, -1, 1, 262, -1, 221, 265,
1166 155, 262, -1, 140, 265, 155, 262, -1, 64, 265,
1167 155, 262, -1, 57, 265, 155, 262, -1, 62, 265,
1168 155, 262, -1, 63, 265, 155, 262, -1, 60, 265,
1169 155, 262, -1, 59, 265, 155, 262, -1, 61, 265,
1170 155, 262, -1, 58, 265, 155, 262, -1, 105, 265,
1171 222, 262, -1, 105, 265, 224, 262, -1, 105, 265,
1172 228, 262, -1, 105, 265, 226, 262, -1, 105, 265,
1173 227, 262, -1, 105, 265, 225, 262, -1, 105, 265,
1174 223, 262, -1, 255, 265, 199, 262, -1, -1, 138,
1175 319, 320, 264, 321, 263, 262, -1, -1, 324, -1,
1176 321, 322, -1, 322, -1, 323, -1, 325, -1, 326,
1177 -1, 345, -1, 346, -1, 330, -1, 329, -1, 334,
1178 -1, 335, -1, 337, -1, 338, -1, 339, -1, 340,
1179 -1, 341, -1, 336, -1, 342, -1, 343, -1, 344,
1180 -1, 347, -1, 327, -1, 328, -1, 348, -1, 1,
1181 262, -1, 122, 265, 155, 262, -1, 155, -1, 250,
1182 265, 155, 262, -1, 149, 265, 155, 262, -1, 50,
1183 265, 199, 262, -1, 168, 265, 155, 262, -1, 26,
1184 265, 155, 262, -1, -1, 238, 331, 265, 332, 262,
1185 -1, 332, 266, 333, -1, 333, -1, 206, -1, 209,
1186 -1, 210, -1, 212, -1, 213, -1, 216, -1, 235,
1187 -1, 230, -1, 232, -1, 239, -1, 236, -1, 215,
1188 -1, 231, -1, 234, -1, 217, -1, 242, -1, 207,
1189 -1, 208, -1, 220, -1, 74, 265, 199, 262, -1,
1190 163, 265, 199, 262, -1, 164, 265, 199, 262, -1,
1191 94, 265, 199, 262, -1, 259, 265, 199, 262, -1,
1192 249, 265, 199, 262, -1, 67, 265, 199, 262, -1,
1193 127, 265, 199, 262, -1, 38, 265, 199, 262, -1,
1194 161, 265, 199, 262, -1, 5, 265, 199, 262, -1,
1195 79, 265, 199, 262, -1, 81, 265, 199, 262, -1,
1196 231, 265, 199, 262, -1, -1, 55, 349, 265, 350,
1197 262, -1, 350, 266, 351, -1, 351, -1, -1, 132,
1198 352, 354, -1, -1, 353, 354, -1, 74, -1, 163,
1199 -1, 94, -1, 249, -1, 259, -1, 67, -1, 38,
1200 -1, 161, -1, 5, -1, 79, -1, 127, -1, 231,
1201 -1, 143, -1, 81, -1, 164, -1, 50, -1, -1,
1202 26, 356, 357, 264, 358, 263, 262, -1, -1, 361,
1203 -1, 358, 359, -1, 359, -1, 360, -1, 371, -1,
1204 372, -1, 362, -1, 363, -1, 373, -1, 364, -1,
1205 365, -1, 366, -1, 367, -1, 368, -1, 369, -1,
1206 370, -1, 1, 262, -1, 122, 265, 155, 262, -1,
1207 155, -1, 152, 265, 271, 262, -1, 153, 265, 271,
1208 262, -1, 136, 265, 133, 262, -1, 30, 265, 271,
1209 262, -1, 114, 265, 133, 262, -1, 109, 265, 133,
1210 262, -1, 111, 265, 133, 262, -1, 110, 265, 133,
1211 262, -1, 180, 265, 273, 262, -1, 23, 265, 133,
1212 262, -1, 24, 265, 133, 262, -1, 135, 265, 133,
1213 262, -1, -1, 102, 375, 264, 380, 263, 262, -1,
1214 -1, 55, 377, 265, 378, 262, -1, 378, 266, 379,
1215 -1, 379, -1, 237, -1, 78, -1, 233, -1, 380,
1216 381, -1, 381, -1, 382, -1, 376, -1, 386, -1,
1217 387, -1, 1, 262, -1, -1, 154, 265, 384, 383,
1218 262, -1, 384, 266, 385, -1, 385, -1, 133, -1,
1219 133, 204, 133, -1, 91, 265, 155, 262, -1, 85,
1220 265, 155, 262, -1, -1, 75, 389, 264, 390, 263,
1221 262, -1, 390, 391, -1, 391, -1, 392, -1, 393,
1222 -1, 395, -1, 397, -1, 404, -1, 405, -1, 406,
1223 -1, 408, -1, 409, -1, 410, -1, 394, -1, 411,
1224 -1, 412, -1, 407, -1, 413, -1, 396, -1, 1,
1225 262, -1, 250, 265, 155, 262, -1, 149, 265, 155,
1226 262, -1, 193, 265, 199, 262, -1, 26, 265, 155,
1227 262, -1, 50, 265, 199, 262, -1, -1, 55, 398,
1228 265, 399, 262, -1, 399, 266, 400, -1, 400, -1,
1229 -1, 132, 401, 403, -1, -1, 402, 403, -1, 193,
1230 -1, 51, -1, 95, -1, 76, -1, 20, -1, 21,
1231 -1, 131, -1, 69, -1, 174, -1, 123, -1, 95,
1232 265, 199, 262, -1, 76, 265, 199, 262, -1, 51,
1233 265, 199, 262, -1, 20, 265, 199, 262, -1, 131,
1234 265, 199, 262, -1, 69, 265, 199, 262, -1, 192,
1235 265, 155, 262, -1, 159, 265, 155, 262, -1, 158,
1236 265, 133, 262, -1, 123, 265, 199, 262, -1, -1,
1237 173, 415, 264, 416, 263, 262, -1, 416, 417, -1,
1238 417, -1, 418, -1, 419, -1, 420, -1, 1, 262,
1239 -1, 157, 265, 155, 262, -1, 22, 265, 155, 262,
1240 -1, 126, 265, 155, 262, -1, -1, 187, 422, 264,
1241 423, 263, 262, -1, 423, 424, -1, 424, -1, 425,
1242 -1, 426, -1, 427, -1, 1, 262, -1, 122, 265,
1243 155, 262, -1, 250, 265, 155, 262, -1, -1, 189,
1244 428, 265, 429, 262, -1, 429, 266, 430, -1, 430,
1245 -1, 94, -1, 246, -1, 249, -1, 259, -1, 247,
1246 -1, 241, -1, 173, -1, 248, -1, 240, -1, 220,
1247 -1, 205, -1, -1, 188, 432, 264, 433, 263, 262,
1248 -1, 433, 434, -1, 434, -1, 435, -1, 436, -1,
1249 1, 262, -1, 122, 265, 155, 262, -1, -1, 189,
1250 437, 265, 438, 262, -1, 438, 266, 439, -1, 439,
1251 -1, 94, -1, 246, -1, 249, -1, 259, -1, 247,
1252 -1, 241, -1, 173, -1, 248, -1, 240, -1, 220,
1253 -1, 205, -1, -1, 29, 441, 442, 264, 443, 263,
1254 262, -1, -1, 446, -1, 443, 444, -1, 444, -1,
1255 445, -1, 447, -1, 448, -1, 449, -1, 450, -1,
1256 452, -1, 451, -1, 453, -1, 454, -1, 467, -1,
1257 468, -1, 469, -1, 465, -1, 462, -1, 464, -1,
1258 463, -1, 461, -1, 470, -1, 466, -1, 1, 262,
1259 -1, 122, 265, 155, 262, -1, 155, -1, 85, 265,
1260 155, 262, -1, 257, 265, 155, 262, -1, 181, 265,
1261 155, 262, -1, 3, 265, 155, 262, -1, 154, 265,
1262 133, 262, -1, 6, 265, 218, 262, -1, 6, 265,
1263 219, 262, -1, 54, 265, 155, 262, -1, -1, 55,
1264 455, 265, 456, 262, -1, 456, 266, 457, -1, 457,
1265 -1, -1, 132, 458, 460, -1, -1, 459, 460, -1,
1266 27, -1, 31, -1, 10, -1, 12, -1, 244, -1,
1267 168, 265, 155, 262, -1, 50, 265, 199, 262, -1,
1268 31, 265, 199, 262, -1, 27, 265, 199, 262, -1,
1269 10, 265, 199, 262, -1, 244, 265, 199, 262, -1,
1270 87, 265, 155, 262, -1, 100, 265, 155, 262, -1,
1271 26, 265, 155, 262, -1, 25, 265, 155, 262, -1,
1272 -1, 92, 472, 264, 477, 263, 262, -1, -1, 189,
1273 474, 265, 475, 262, -1, 475, 266, 476, -1, 476,
1274 -1, 160, -1, 477, 478, -1, 478, -1, 479, -1,
1275 480, -1, 473, -1, 1, -1, 250, 265, 155, 262,
1276 -1, 157, 265, 155, 262, -1, -1, 36, 482, 264,
1277 483, 263, 262, -1, 483, 484, -1, 484, -1, 485,
1278 -1, 486, -1, 1, -1, 91, 265, 155, 262, -1,
1279 157, 265, 155, 262, -1, 52, 264, 488, 263, 262,
1280 -1, 488, 489, -1, 489, -1, 490, -1, 1, -1,
1281 91, 265, 155, 262, -1, -1, 65, 492, 264, 497,
1282 263, 262, -1, -1, 189, 494, 265, 495, 262, -1,
1283 495, 266, 496, -1, 496, -1, 160, -1, 497, 498,
1284 -1, 498, -1, 499, -1, 500, -1, 493, -1, 1,
1285 -1, 122, 265, 155, 262, -1, 157, 265, 155, 262,
1286 -1, 66, 264, 502, 263, 262, -1, 502, 503, -1,
1287 503, -1, 512, -1, 513, -1, 515, -1, 516, -1,
1288 517, -1, 518, -1, 519, -1, 520, -1, 521, -1,
1289 522, -1, 511, -1, 524, -1, 525, -1, 526, -1,
1290 527, -1, 543, -1, 529, -1, 531, -1, 533, -1,
1291 532, -1, 536, -1, 530, -1, 537, -1, 538, -1,
1292 539, -1, 540, -1, 542, -1, 541, -1, 557, -1,
1293 544, -1, 548, -1, 549, -1, 553, -1, 534, -1,
1294 535, -1, 563, -1, 561, -1, 562, -1, 545, -1,
1295 514, -1, 546, -1, 547, -1, 564, -1, 552, -1,
1296 523, -1, 565, -1, 550, -1, 551, -1, 507, -1,
1297 510, -1, 505, -1, 506, -1, 508, -1, 509, -1,
1298 528, -1, 504, -1, 1, -1, 116, 265, 133, 262,
1299 -1, 72, 265, 133, 262, -1, 73, 265, 133, 262,
1300 -1, 12, 265, 199, 262, -1, 256, 265, 199, 262,
1301 -1, 162, 265, 271, 262, -1, 186, 265, 199, 262,
1302 -1, 93, 265, 133, 262, -1, 84, 265, 199, 262,
1303 -1, 89, 265, 199, 262, -1, 43, 265, 199, 262,
1304 -1, 53, 265, 199, 262, -1, 8, 265, 199, 262,
1305 -1, 113, 265, 271, 262, -1, 112, 265, 133, 262,
1306 -1, 106, 265, 133, 262, -1, 9, 265, 271, 262,
1307 -1, 203, 265, 271, 262, -1, 202, 265, 271, 262,
1308 -1, 77, 265, 133, 262, -1, 97, 265, 199, 262,
1309 -1, 96, 265, 155, 262, -1, 90, 265, 199, 262,
1310 -1, 261, 265, 199, 262, -1, 194, 265, 199, 262,
1311 -1, 197, 265, 199, 262, -1, 198, 265, 199, 262,
1312 -1, 196, 265, 199, 262, -1, 196, 265, 200, 262,
1313 -1, 195, 265, 199, 262, -1, 195, 265, 200, 262,
1314 -1, 147, 265, 271, 262, -1, 19, 265, 271, 262,
1315 -1, 139, 265, 199, 262, -1, 148, 265, 271, 262,
1316 -1, 190, 265, 199, 262, -1, 130, 265, 199, 262,
1317 -1, 245, 265, 199, 262, -1, 142, 265, 199, 262,
1318 -1, 117, 265, 155, 262, -1, 88, 265, 271, 262,
1319 -1, 45, 265, 133, 262, -1, 115, 265, 133, 262,
1320 -1, 184, 265, 155, 262, -1, 32, 265, 155, 262,
1321 -1, 28, 265, 133, 262, -1, 251, 265, 199, 262,
1322 -1, 47, 265, 155, 262, -1, 151, 265, 199, 262,
1323 -1, 39, 265, 199, 262, -1, 243, 265, 271, 262,
1324 -1, -1, 144, 554, 265, 555, 262, -1, 555, 266,
1325 556, -1, 556, -1, 206, -1, 209, -1, 210, -1,
1326 212, -1, 213, -1, 216, -1, 235, -1, 230, -1,
1327 232, -1, 239, -1, 236, -1, 215, -1, 231, -1,
1328 234, -1, 217, -1, 242, -1, 207, -1, 208, -1,
1329 220, -1, -1, 141, 558, 265, 559, 262, -1, 559,
1330 266, 560, -1, 560, -1, 206, -1, 209, -1, 210,
1331 -1, 212, -1, 213, -1, 216, -1, 235, -1, 230,
1332 -1, 232, -1, 239, -1, 236, -1, 215, -1, 231,
1333 -1, 234, -1, 217, -1, 242, -1, 207, -1, 208,
1334 -1, 220, -1, 118, 265, 133, 262, -1, 119, 265,
1335 133, 262, -1, 33, 265, 133, 262, -1, 211, 265,
1336 273, 262, -1, 44, 265, 199, 262, -1, -1, 68,
1337 567, 264, 568, 263, 262, -1, 568, 569, -1, 569,
1338 -1, 570, -1, 571, -1, 572, -1, 576, -1, 577,
1339 -1, 578, -1, 1, -1, 49, 265, 199, 262, -1,
1340 46, 265, 271, 262, -1, -1, 104, 573, 265, 574,
1341 262, -1, 574, 266, 575, -1, 575, -1, 201, -1,
1342 11, -1, 250, 265, 155, 262, -1, 122, 265, 155,
1343 262, -1, -1, 4, 579, 265, 580, 262, -1, 580,
1344 266, 581, -1, 581, -1, 201, -1, 11, -1, 22,
1345 264, 583, 263, 262, -1, 583, 584, -1, 584, -1,
1346 587, -1, 588, -1, 589, -1, 590, -1, 595, -1,
1347 591, -1, 592, -1, 593, -1, 594, -1, 596, -1,
1348 597, -1, 598, -1, 586, -1, 599, -1, 600, -1,
1349 601, -1, 602, -1, 585, -1, 1, -1, 40, 265,
1350 199, 262, -1, 165, 265, 199, 262, -1, 42, 265,
1351 199, 262, -1, 252, 265, 199, 262, -1, 253, 265,
1352 199, 262, -1, 254, 265, 199, 262, -1, 98, 265,
1353 271, 262, -1, 99, 265, 271, 262, -1, 108, 265,
1354 133, 262, -1, 156, 265, 199, 262, -1, 107, 265,
1355 133, 262, -1, 35, 265, 133, 262, -1, 34, 265,
1356 133, 262, -1, 128, 265, 199, 262, -1, 129, 265,
1357 199, 262, -1, 13, 265, 199, 262, -1, 145, 265,
1358 133, 262, -1, 146, 265, 271, 262, -1, 182, 264,
1359 604, 263, 262, -1, 604, 605, -1, 605, -1, 606,
1360 -1, 607, -1, 609, -1, 611, -1, 610, -1, 608,
1361 -1, 612, -1, 1, -1, 56, 265, 199, 262, -1,
1362 83, 265, 199, 262, -1, 80, 265, 155, 262, -1,
1363 101, 265, 271, 262, -1, 78, 265, 199, 262, -1,
1364 41, 265, 199, 262, -1, 82, 265, 199, 262, -1
1365 };
1366
1367 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1368 static const yytype_uint16 yyrline[] =
1369 {
1370 0, 400, 400, 401, 404, 405, 406, 407, 408, 409,
1371 410, 411, 412, 413, 414, 415, 416, 417, 418, 419,
1372 420, 421, 422, 423, 424, 425, 429, 429, 430, 434,
1373 438, 442, 446, 450, 456, 456, 457, 458, 459, 460,
1374 467, 470, 470, 471, 471, 471, 473, 481, 490, 492,
1375 492, 493, 493, 494, 494, 495, 495, 496, 497, 497,
1376 498, 498, 499, 500, 504, 503, 518, 518, 519, 523,
1377 529, 563, 623, 637, 652, 661, 675, 684, 712, 742,
1378 765, 787, 789, 789, 790, 790, 791, 791, 793, 802,
1379 811, 824, 826, 827, 829, 829, 830, 831, 831, 832,
1380 832, 833, 833, 834, 834, 835, 836, 838, 842, 846,
1381 853, 860, 867, 874, 881, 888, 895, 902, 906, 910,
1382 914, 918, 922, 926, 932, 942, 941, 1035, 1035, 1036,
1383 1036, 1037, 1037, 1037, 1037, 1038, 1038, 1039, 1039, 1039,
1384 1040, 1040, 1040, 1041, 1041, 1041, 1042, 1042, 1042, 1042,
1385 1043, 1043, 1044, 1044, 1046, 1058, 1070, 1104, 1116, 1127,
1386 1169, 1179, 1178, 1184, 1184, 1185, 1189, 1193, 1197, 1201,
1387 1205, 1209, 1213, 1217, 1221, 1225, 1229, 1233, 1237, 1241,
1388 1245, 1249, 1253, 1257, 1263, 1274, 1285, 1296, 1307, 1318,
1389 1329, 1340, 1351, 1362, 1373, 1384, 1395, 1406, 1418, 1417,
1390 1421, 1421, 1422, 1422, 1423, 1423, 1425, 1432, 1439, 1446,
1391 1453, 1460, 1467, 1474, 1481, 1488, 1495, 1502, 1509, 1516,
1392 1523, 1530, 1544, 1543, 1593, 1593, 1595, 1595, 1596, 1597,
1393 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606,
1394 1607, 1608, 1610, 1619, 1628, 1634, 1640, 1646, 1652, 1658,
1395 1664, 1670, 1676, 1682, 1688, 1694, 1704, 1703, 1720, 1719,
1396 1724, 1724, 1725, 1729, 1733, 1741, 1741, 1742, 1742, 1742,
1397 1742, 1742, 1744, 1744, 1746, 1746, 1748, 1762, 1782, 1791,
1398 1804, 1803, 1872, 1872, 1873, 1873, 1873, 1873, 1874, 1874,
1399 1875, 1875, 1875, 1876, 1876, 1877, 1877, 1877, 1878, 1878,
1400 1878, 1880, 1917, 1930, 1941, 1950, 1962, 1961, 1965, 1965,
1401 1966, 1966, 1967, 1967, 1969, 1977, 1984, 1991, 1998, 2005,
1402 2012, 2019, 2026, 2033, 2042, 2053, 2064, 2075, 2086, 2097,
1403 2109, 2128, 2138, 2147, 2163, 2162, 2178, 2178, 2179, 2179,
1404 2179, 2179, 2181, 2190, 2205, 2219, 2218, 2234, 2234, 2235,
1405 2235, 2235, 2235, 2237, 2246, 2269, 2268, 2274, 2274, 2275,
1406 2279, 2283, 2287, 2291, 2295, 2299, 2303, 2307, 2311, 2315,
1407 2325, 2324, 2341, 2341, 2342, 2342, 2342, 2344, 2351, 2350,
1408 2356, 2356, 2357, 2361, 2365, 2369, 2373, 2377, 2381, 2385,
1409 2389, 2393, 2397, 2407, 2406, 2552, 2552, 2553, 2553, 2554,
1410 2554, 2554, 2555, 2555, 2556, 2556, 2557, 2557, 2557, 2558,
1411 2558, 2558, 2559, 2559, 2559, 2560, 2560, 2561, 2561, 2563,
1412 2575, 2587, 2596, 2622, 2640, 2658, 2664, 2668, 2676, 2686,
1413 2685, 2689, 2689, 2690, 2690, 2691, 2691, 2693, 2704, 2711,
1414 2718, 2725, 2735, 2776, 2787, 2798, 2813, 2824, 2835, 2848,
1415 2861, 2870, 2906, 2905, 2970, 2969, 2973, 2973, 2974, 2980,
1416 2980, 2981, 2981, 2981, 2981, 2983, 3002, 3012, 3011, 3033,
1417 3033, 3034, 3034, 3034, 3036, 3045, 3057, 3059, 3059, 3060,
1418 3060, 3062, 3084, 3083, 3126, 3125, 3129, 3129, 3130, 3136,
1419 3136, 3137, 3137, 3137, 3137, 3139, 3145, 3154, 3157, 3157,
1420 3158, 3158, 3159, 3159, 3160, 3160, 3161, 3161, 3162, 3162,
1421 3163, 3163, 3164, 3164, 3165, 3165, 3166, 3166, 3167, 3167,
1422 3168, 3168, 3169, 3169, 3170, 3170, 3171, 3171, 3172, 3172,
1423 3173, 3173, 3174, 3174, 3175, 3175, 3176, 3176, 3177, 3177,
1424 3178, 3179, 3179, 3180, 3180, 3181, 3181, 3182, 3182, 3183,
1425 3183, 3184, 3184, 3185, 3185, 3186, 3187, 3190, 3195, 3200,
1426 3205, 3210, 3215, 3220, 3225, 3230, 3235, 3240, 3245, 3250,
1427 3255, 3260, 3265, 3270, 3275, 3280, 3286, 3297, 3302, 3311,
1428 3316, 3321, 3326, 3331, 3336, 3339, 3344, 3347, 3352, 3357,
1429 3362, 3367, 3372, 3377, 3382, 3387, 3392, 3403, 3408, 3413,
1430 3418, 3427, 3459, 3477, 3482, 3491, 3496, 3501, 3507, 3506,
1431 3511, 3511, 3512, 3515, 3518, 3521, 3524, 3527, 3530, 3533,
1432 3536, 3539, 3542, 3545, 3548, 3551, 3554, 3557, 3560, 3563,
1433 3566, 3572, 3571, 3576, 3576, 3577, 3580, 3583, 3586, 3589,
1434 3592, 3595, 3598, 3601, 3604, 3607, 3610, 3613, 3616, 3619,
1435 3622, 3625, 3628, 3631, 3636, 3641, 3646, 3651, 3656, 3665,
1436 3664, 3688, 3688, 3689, 3690, 3691, 3692, 3693, 3694, 3695,
1437 3697, 3703, 3710, 3709, 3714, 3714, 3715, 3719, 3725, 3759,
1438 3769, 3768, 3818, 3818, 3819, 3823, 3832, 3835, 3835, 3836,
1439 3836, 3837, 3837, 3838, 3838, 3839, 3839, 3840, 3840, 3841,
1440 3842, 3842, 3843, 3843, 3844, 3844, 3845, 3845, 3847, 3852,
1441 3857, 3862, 3867, 3872, 3877, 3882, 3887, 3892, 3897, 3902,
1442 3907, 3912, 3917, 3922, 3927, 3932, 3940, 3943, 3943, 3944,
1443 3944, 3945, 3946, 3947, 3947, 3948, 3949, 3951, 3957, 3963,
1444 3972, 3986, 3992, 3998
1445 };
1446 #endif
1447
1448 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1449 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1450 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1451 static const char *const yytname[] =
1452 {
1453 "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ACTION", "ADMIN",
1454 "AFTYPE", "T_ALLOW", "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME",
1455 "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BURST_TOPICWHO", "BYTES", "KBYTES",
1456 "MBYTES", "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CAN_IDLE",
1457 "CHANNEL", "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CIPHER_PREFERENCE",
1458 "CLASS", "COMPRESSED", "COMPRESSION_LEVEL", "CONNECT", "CONNECTFREQ",
1459 "CRYPTLINK", "DEFAULT_CIPHER_PREFERENCE", "DEFAULT_FLOODCOUNT",
1460 "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1461 "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1462 "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS", "DISABLE_REMOTE_COMMANDS",
1463 "DOT_IN_IP6_ADDR", "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH", "EMAIL",
1464 "ENABLE", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE",
1465 "FAKENAME", "IRCD_FLAGS", "FLATTEN_LINKS", "FFAILED_OPERLOG", "FKILLLOG",
1466 "FKLINELOG", "FGLINELOG", "FIOERRLOG", "FOPERLOG", "FOPERSPYLOG",
1467 "FUSERLOG", "GECOS", "GENERAL", "GLINE", "GLINES", "GLINE_EXEMPT",
1468 "GLINE_LOG", "GLINE_TIME", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1469 "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1470 "HIDDEN_ADMIN", "HIDDEN_NAME", "HIDDEN_OPER", "HIDE_SERVER_IPS",
1471 "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK", "IDLETIME",
1472 "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "KILL",
1473 "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KLINE_REASON",
1474 "KLINE_WITH_REASON", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1475 "LINKS_DELAY", "LISTEN", "T_LOG", "LOGGING", "LOG_LEVEL", "MAX_ACCEPT",
1476 "MAX_BANS", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1477 "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1478 "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1479 "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1480 "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1481 "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1482 "NOT", "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1483 "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID", "OPER_LOG",
1484 "OPER_ONLY_UMODES", "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES",
1485 "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE",
1486 "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT",
1487 "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T",
1488 "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",
1489 "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",
1490 "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "T_SSL_CONNECTION_METHOD",
1491 "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES",
1492 "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD", "SERVERHIDE",
1493 "SERVERINFO", "SERVLINK_PATH", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1494 "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SILENT", "SPOOF",
1495 "SPOOF_NOTICE", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1496 "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL",
1497 "TMASKED", "T_REJECT", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS",
1498 "T_ALL", "T_BOTS", "T_SOFTCALLERID", "T_CALLERID", "T_CCONN",
1499 "T_CCONN_FULL", "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DRONE",
1500 "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1501 "T_LOGPATH", "T_L_CRIT", "T_L_DEBUG", "T_L_ERROR", "T_L_INFO",
1502 "T_L_NOTICE", "T_L_TRACE", "T_L_WARN", "T_MAX_CLIENTS", "T_NCHANGE",
1503 "T_OPERWALL", "T_REJ", "T_SERVER", "T_SERVNOTICE", "T_SKILL", "T_SPY",
1504 "T_SSL", "T_UMODES", "T_UNAUTH", "T_UNRESV", "T_UNXLINE", "T_WALLOP",
1505 "THROTTLE_TIME", "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE",
1506 "TRESV", "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX",
1507 "USE_KNOCK", "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6",
1508 "XLINE", "WARN", "WARN_NO_NLINE", "';'", "'}'", "'{'", "'='", "','",
1509 "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1510 "sizespec", "modules_entry", "modules_items", "modules_item",
1511 "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1512 "serverinfo_item", "serverinfo_ssl_connection_method", "$@1",
1513 "method_types", "method_type_item", "serverinfo_ssl_certificate_file",
1514 "serverinfo_rsa_private_key_file", "serverinfo_name", "serverinfo_sid",
1515 "serverinfo_description", "serverinfo_network_name",
1516 "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1517 "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1518 "admin_item", "admin_name", "admin_email", "admin_description",
1519 "logging_entry", "logging_items", "logging_item", "logging_path",
1520 "logging_oper_log", "logging_fuserlog", "logging_ffailed_operlog",
1521 "logging_foperlog", "logging_foperspylog", "logging_fglinelog",
1522 "logging_fklinelog", "logging_ioerrlog", "logging_killlog",
1523 "logging_log_level", "logging_use_logging", "oper_entry", "$@2",
1524 "oper_name_b", "oper_items", "oper_item", "oper_name", "oper_name_t",
1525 "oper_user", "oper_password", "oper_encrypted",
1526 "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@3",
1527 "oper_umodes_items", "oper_umodes_item", "oper_global_kill",
1528 "oper_remote", "oper_remoteban", "oper_kline", "oper_xline",
1529 "oper_unkline", "oper_gline", "oper_nick_changes", "oper_die",
1530 "oper_rehash", "oper_admin", "oper_hidden_admin", "oper_hidden_oper",
1531 "oper_operwall", "oper_flags", "$@4", "oper_flags_items",
1532 "oper_flags_item", "$@5", "$@6", "oper_flags_item_atom", "class_entry",
1533 "$@7", "class_name_b", "class_items", "class_item", "class_name",
1534 "class_name_t", "class_ping_time", "class_ping_warning",
1535 "class_number_per_ip", "class_connectfreq", "class_max_number",
1536 "class_max_global", "class_max_local", "class_max_ident", "class_sendq",
1537 "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1538 "class_number_per_cidr", "listen_entry", "$@8", "listen_flags", "$@9",
1539 "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1540 "listen_port", "$@10", "port_items", "port_item", "listen_address",
1541 "listen_host", "auth_entry", "$@11", "auth_items", "auth_item",
1542 "auth_user", "auth_passwd", "auth_spoof_notice", "auth_class",
1543 "auth_encrypted", "auth_flags", "$@12", "auth_flags_items",
1544 "auth_flags_item", "$@13", "$@14", "auth_flags_item_atom",
1545 "auth_kline_exempt", "auth_need_ident", "auth_exceed_limit",
1546 "auth_can_flood", "auth_no_tilde", "auth_gline_exempt", "auth_spoof",
1547 "auth_redir_serv", "auth_redir_port", "auth_need_password", "resv_entry",
1548 "$@15", "resv_items", "resv_item", "resv_creason", "resv_channel",
1549 "resv_nick", "shared_entry", "$@16", "shared_items", "shared_item",
1550 "shared_name", "shared_user", "shared_type", "$@17", "shared_types",
1551 "shared_type_item", "cluster_entry", "$@18", "cluster_items",
1552 "cluster_item", "cluster_name", "cluster_type", "$@19", "cluster_types",
1553 "cluster_type_item", "connect_entry", "$@20", "connect_name_b",
1554 "connect_items", "connect_item", "connect_name", "connect_name_t",
1555 "connect_host", "connect_vhost", "connect_send_password",
1556 "connect_accept_password", "connect_port", "connect_aftype",
1557 "connect_fakename", "connect_flags", "$@21", "connect_flags_items",
1558 "connect_flags_item", "$@22", "$@23", "connect_flags_item_atom",
1559 "connect_rsa_public_key_file", "connect_encrypted", "connect_cryptlink",
1560 "connect_compressed", "connect_auto", "connect_topicburst",
1561 "connect_hub_mask", "connect_leaf_mask", "connect_class",
1562 "connect_cipher_preference", "kill_entry", "$@24", "kill_type", "$@25",
1563 "kill_type_items", "kill_type_item", "kill_items", "kill_item",
1564 "kill_user", "kill_reason", "deny_entry", "$@26", "deny_items",
1565 "deny_item", "deny_ip", "deny_reason", "exempt_entry", "exempt_items",
1566 "exempt_item", "exempt_ip", "gecos_entry", "$@27", "gecos_flags", "$@28",
1567 "gecos_flags_items", "gecos_flags_item", "gecos_items", "gecos_item",
1568 "gecos_name", "gecos_reason", "general_entry", "general_items",
1569 "general_item", "general_max_watch", "general_gline_min_cidr",
1570 "general_gline_min_cidr6", "general_burst_away",
1571 "general_use_whois_actually", "general_reject_hold_time",
1572 "general_tkline_expire_notices", "general_kill_chase_time_limit",
1573 "general_hide_spoof_ips", "general_ignore_bogus_ts",
1574 "general_disable_remote_commands", "general_failed_oper_notice",
1575 "general_anti_nick_flood", "general_max_nick_time",
1576 "general_max_nick_changes", "general_max_accept",
1577 "general_anti_spam_exit_message_time", "general_ts_warn_delta",
1578 "general_ts_max_delta", "general_havent_read_conf",
1579 "general_kline_with_reason", "general_kline_reason",
1580 "general_invisible_on_connect", "general_warn_no_nline",
1581 "general_stats_e_disabled", "general_stats_o_oper_only",
1582 "general_stats_P_oper_only", "general_stats_k_oper_only",
1583 "general_stats_i_oper_only", "general_pace_wait",
1584 "general_caller_id_wait", "general_opers_bypass_callerid",
1585 "general_pace_wait_simple", "general_short_motd",
1586 "general_no_oper_flood", "general_true_no_oper_flood",
1587 "general_oper_pass_resv", "general_message_locale", "general_idletime",
1588 "general_dots_in_ident", "general_max_targets", "general_servlink_path",
1589 "general_default_cipher_preference", "general_compression_level",
1590 "general_use_egd", "general_egdpool_path", "general_ping_cookie",
1591 "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1592 "$@29", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1593 "$@30", "umode_items", "umode_item", "general_min_nonwildcard",
1594 "general_min_nonwildcard_simple", "general_default_floodcount",
1595 "general_client_flood", "general_dot_in_ip6_addr", "gline_entry", "$@31",
1596 "gline_items", "gline_item", "gline_enable", "gline_duration",
1597 "gline_logging", "$@32", "gline_logging_types",
1598 "gline_logging_type_item", "gline_user", "gline_server", "gline_action",
1599 "$@33", "gdeny_types", "gdeny_type_item", "channel_entry",
1600 "channel_items", "channel_item", "channel_disable_fake_channels",
1601 "channel_restrict_channels", "channel_disable_local_channels",
1602 "channel_use_except", "channel_use_invex", "channel_use_knock",
1603 "channel_knock_delay", "channel_knock_delay_channel",
1604 "channel_max_chans_per_user", "channel_quiet_on_ban", "channel_max_bans",
1605 "channel_default_split_user_count", "channel_default_split_server_count",
1606 "channel_no_create_on_split", "channel_no_join_on_split",
1607 "channel_burst_topicwho", "channel_jflood_count", "channel_jflood_time",
1608 "serverhide_entry", "serverhide_items", "serverhide_item",
1609 "serverhide_flatten_links", "serverhide_hide_servers",
1610 "serverhide_hidden_name", "serverhide_links_delay", "serverhide_hidden",
1611 "serverhide_disable_hidden", "serverhide_hide_server_ips", 0
1612 };
1613 #endif
1614
1615 # ifdef YYPRINT
1616 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1617 token YYLEX-NUM. */
1618 static const yytype_uint16 yytoknum[] =
1619 {
1620 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1621 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1622 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1623 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1624 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1625 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1626 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1627 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1628 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1629 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1630 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1631 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1632 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1633 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1634 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1635 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1636 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1637 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1638 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1639 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
1640 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1641 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
1642 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
1643 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
1644 495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
1645 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
1646 515, 516, 59, 125, 123, 61, 44
1647 };
1648 # endif
1649
1650 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1651 static const yytype_uint16 yyr1[] =
1652 {
1653 0, 267, 268, 268, 269, 269, 269, 269, 269, 269,
1654 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
1655 269, 269, 269, 269, 269, 269, 270, 270, 271, 271,
1656 271, 271, 271, 271, 272, 272, 273, 273, 273, 273,
1657 274, 275, 275, 276, 276, 276, 277, 278, 279, 280,
1658 280, 281, 281, 281, 281, 281, 281, 281, 281, 281,
1659 281, 281, 281, 281, 283, 282, 284, 284, 285, 285,
1660 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1661 296, 297, 298, 298, 299, 299, 299, 299, 300, 301,
1662 302, 303, 304, 304, 305, 305, 305, 305, 305, 305,
1663 305, 305, 305, 305, 305, 305, 305, 306, 307, 308,
1664 309, 310, 311, 312, 313, 314, 315, 316, 316, 316,
1665 316, 316, 316, 316, 317, 319, 318, 320, 320, 321,
1666 321, 322, 322, 322, 322, 322, 322, 322, 322, 322,
1667 322, 322, 322, 322, 322, 322, 322, 322, 322, 322,
1668 322, 322, 322, 322, 323, 324, 325, 326, 327, 328,
1669 329, 331, 330, 332, 332, 333, 333, 333, 333, 333,
1670 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
1671 333, 333, 333, 333, 334, 335, 336, 337, 338, 339,
1672 340, 341, 342, 343, 344, 345, 346, 347, 349, 348,
1673 350, 350, 352, 351, 353, 351, 354, 354, 354, 354,
1674 354, 354, 354, 354, 354, 354, 354, 354, 354, 354,
1675 354, 354, 356, 355, 357, 357, 358, 358, 359, 359,
1676 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
1677 359, 359, 360, 361, 362, 363, 364, 365, 366, 367,
1678 368, 369, 370, 371, 372, 373, 375, 374, 377, 376,
1679 378, 378, 379, 379, 379, 380, 380, 381, 381, 381,
1680 381, 381, 383, 382, 384, 384, 385, 385, 386, 387,
1681 389, 388, 390, 390, 391, 391, 391, 391, 391, 391,
1682 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
1683 391, 392, 393, 394, 395, 396, 398, 397, 399, 399,
1684 401, 400, 402, 400, 403, 403, 403, 403, 403, 403,
1685 403, 403, 403, 403, 404, 405, 406, 407, 408, 409,
1686 410, 411, 412, 413, 415, 414, 416, 416, 417, 417,
1687 417, 417, 418, 419, 420, 422, 421, 423, 423, 424,
1688 424, 424, 424, 425, 426, 428, 427, 429, 429, 430,
1689 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
1690 432, 431, 433, 433, 434, 434, 434, 435, 437, 436,
1691 438, 438, 439, 439, 439, 439, 439, 439, 439, 439,
1692 439, 439, 439, 441, 440, 442, 442, 443, 443, 444,
1693 444, 444, 444, 444, 444, 444, 444, 444, 444, 444,
1694 444, 444, 444, 444, 444, 444, 444, 444, 444, 445,
1695 446, 447, 448, 449, 450, 451, 452, 452, 453, 455,
1696 454, 456, 456, 458, 457, 459, 457, 460, 460, 460,
1697 460, 460, 461, 462, 463, 464, 465, 466, 467, 468,
1698 469, 470, 472, 471, 474, 473, 475, 475, 476, 477,
1699 477, 478, 478, 478, 478, 479, 480, 482, 481, 483,
1700 483, 484, 484, 484, 485, 486, 487, 488, 488, 489,
1701 489, 490, 492, 491, 494, 493, 495, 495, 496, 497,
1702 497, 498, 498, 498, 498, 499, 500, 501, 502, 502,
1703 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
1704 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
1705 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
1706 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
1707 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
1708 503, 503, 503, 503, 503, 503, 503, 504, 505, 506,
1709 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
1710 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
1711 527, 528, 529, 530, 531, 531, 532, 532, 533, 534,
1712 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
1713 545, 546, 547, 548, 549, 550, 551, 552, 554, 553,
1714 555, 555, 556, 556, 556, 556, 556, 556, 556, 556,
1715 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
1716 556, 558, 557, 559, 559, 560, 560, 560, 560, 560,
1717 560, 560, 560, 560, 560, 560, 560, 560, 560, 560,
1718 560, 560, 560, 560, 561, 562, 563, 564, 565, 567,
1719 566, 568, 568, 569, 569, 569, 569, 569, 569, 569,
1720 570, 571, 573, 572, 574, 574, 575, 575, 576, 577,
1721 579, 578, 580, 580, 581, 581, 582, 583, 583, 584,
1722 584, 584, 584, 584, 584, 584, 584, 584, 584, 584,
1723 584, 584, 584, 584, 584, 584, 584, 584, 585, 586,
1724 587, 588, 589, 590, 591, 592, 593, 594, 595, 596,
1725 597, 598, 599, 600, 601, 602, 603, 604, 604, 605,
1726 605, 605, 605, 605, 605, 605, 605, 606, 607, 608,
1727 609, 610, 611, 612
1728 };
1729
1730 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1731 static const yytype_uint8 yyr2[] =
1732 {
1733 0, 2, 0, 2, 1, 1, 1, 1, 1, 1,
1734 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1735 1, 1, 1, 1, 2, 2, 0, 1, 2, 3,
1736 3, 3, 3, 3, 0, 1, 2, 3, 3, 3,
1737 5, 2, 1, 1, 1, 2, 4, 4, 5, 2,
1738 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1739 1, 1, 1, 2, 0, 5, 3, 1, 1, 1,
1740 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1741 4, 5, 2, 1, 1, 1, 1, 2, 4, 4,
1742 4, 5, 2, 1, 1, 1, 1, 1, 1, 1,
1743 1, 1, 1, 1, 1, 1, 2, 4, 4, 4,
1744 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1745 4, 4, 4, 4, 4, 0, 7, 0, 1, 2,
1746 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1747 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1748 1, 1, 1, 2, 4, 1, 4, 4, 4, 4,
1749 4, 0, 5, 3, 1, 1, 1, 1, 1, 1,
1750 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1751 1, 1, 1, 1, 4, 4, 4, 4, 4, 4,
1752 4, 4, 4, 4, 4, 4, 4, 4, 0, 5,
1753 3, 1, 0, 3, 0, 2, 1, 1, 1, 1,
1754 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1755 1, 1, 0, 7, 0, 1, 2, 1, 1, 1,
1756 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1757 1, 2, 4, 1, 4, 4, 4, 4, 4, 4,
1758 4, 4, 4, 4, 4, 4, 0, 6, 0, 5,
1759 3, 1, 1, 1, 1, 2, 1, 1, 1, 1,
1760 1, 2, 0, 5, 3, 1, 1, 3, 4, 4,
1761 0, 6, 2, 1, 1, 1, 1, 1, 1, 1,
1762 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1763 2, 4, 4, 4, 4, 4, 0, 5, 3, 1,
1764 0, 3, 0, 2, 1, 1, 1, 1, 1, 1,
1765 1, 1, 1, 1, 4, 4, 4, 4, 4, 4,
1766 4, 4, 4, 4, 0, 6, 2, 1, 1, 1,
1767 1, 2, 4, 4, 4, 0, 6, 2, 1, 1,
1768 1, 1, 2, 4, 4, 0, 5, 3, 1, 1,
1769 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1770 0, 6, 2, 1, 1, 1, 2, 4, 0, 5,
1771 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1772 1, 1, 1, 0, 7, 0, 1, 2, 1, 1,
1773 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1774 1, 1, 1, 1, 1, 1, 1, 1, 2, 4,
1775 1, 4, 4, 4, 4, 4, 4, 4, 4, 0,
1776 5, 3, 1, 0, 3, 0, 2, 1, 1, 1,
1777 1, 1, 4, 4, 4, 4, 4, 4, 4, 4,
1778 4, 4, 0, 6, 0, 5, 3, 1, 1, 2,
1779 1, 1, 1, 1, 1, 4, 4, 0, 6, 2,
1780 1, 1, 1, 1, 4, 4, 5, 2, 1, 1,
1781 1, 4, 0, 6, 0, 5, 3, 1, 1, 2,
1782 1, 1, 1, 1, 1, 4, 4, 5, 2, 1,
1783 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1784 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1785 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1786 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1787 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1788 1, 1, 1, 1, 1, 1, 1, 4, 4, 4,
1789 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1790 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1791 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1792 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1793 4, 4, 4, 4, 4, 4, 4, 4, 0, 5,
1794 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1795 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1796 1, 0, 5, 3, 1, 1, 1, 1, 1, 1,
1797 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1798 1, 1, 1, 1, 4, 4, 4, 4, 4, 0,
1799 6, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1800 4, 4, 0, 5, 3, 1, 1, 1, 4, 4,
1801 0, 5, 3, 1, 1, 1, 5, 2, 1, 1,
1802 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1803 1, 1, 1, 1, 1, 1, 1, 1, 4, 4,
1804 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1805 4, 4, 4, 4, 4, 4, 5, 2, 1, 1,
1806 1, 1, 1, 1, 1, 1, 1, 4, 4, 4,
1807 4, 4, 4, 4
1808 };
1809
1810 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1811 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1812 means the default is an error. */
1813 static const yytype_uint16 yydefact[] =
1814 {
1815 2, 0, 1, 0, 0, 0, 222, 393, 467, 0,
1816 482, 0, 659, 280, 452, 256, 0, 0, 125, 334,
1817 0, 0, 345, 370, 3, 23, 11, 4, 5, 6,
1818 8, 9, 10, 13, 14, 15, 16, 17, 18, 19,
1819 22, 20, 21, 7, 12, 24, 25, 0, 0, 224,
1820 395, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1821 0, 127, 0, 0, 0, 0, 0, 0, 0, 0,
1822 0, 0, 83, 84, 86, 85, 707, 0, 0, 0,
1823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1824 0, 0, 0, 0, 0, 0, 688, 706, 701, 689,
1825 690, 691, 692, 694, 695, 696, 697, 693, 698, 699,
1826 700, 702, 703, 704, 705, 243, 0, 225, 420, 0,
1827 396, 0, 480, 0, 0, 478, 479, 0, 556, 0,
1828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1831 0, 0, 631, 0, 608, 0, 0, 0, 0, 0,
1832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1833 0, 0, 0, 0, 0, 0, 499, 555, 550, 551,
1834 548, 552, 553, 549, 510, 500, 501, 539, 502, 503,
1835 504, 505, 506, 507, 508, 509, 544, 511, 512, 513,
1836 514, 554, 516, 521, 517, 519, 518, 533, 534, 520,
1837 522, 523, 524, 525, 527, 526, 515, 529, 538, 540,
1838 541, 530, 531, 546, 547, 543, 532, 528, 536, 537,
1839 535, 542, 545, 0, 0, 0, 0, 0, 0, 0,
1840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1841 0, 93, 94, 95, 98, 105, 99, 103, 100, 101,
1842 104, 102, 96, 97, 0, 0, 0, 0, 42, 43,
1843 44, 155, 0, 128, 0, 736, 0, 0, 0, 0,
1844 0, 0, 0, 0, 728, 729, 730, 734, 731, 733,
1845 732, 735, 0, 0, 0, 0, 0, 0, 0, 0,
1846 64, 0, 0, 0, 0, 0, 50, 62, 61, 58,
1847 51, 60, 54, 55, 56, 52, 59, 57, 53, 0,
1848 0, 87, 0, 0, 0, 0, 82, 0, 0, 0,
1849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1850 0, 0, 0, 0, 0, 0, 687, 0, 0, 473,
1851 0, 0, 0, 470, 471, 472, 0, 0, 477, 494,
1852 0, 0, 484, 493, 0, 490, 491, 492, 0, 0,
1853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1858 0, 0, 0, 0, 0, 498, 669, 680, 0, 0,
1859 672, 0, 0, 0, 662, 663, 664, 665, 666, 667,
1860 668, 0, 0, 0, 0, 0, 306, 0, 0, 0,
1861 0, 0, 0, 0, 0, 0, 0, 0, 0, 283,
1862 284, 285, 294, 286, 299, 287, 288, 289, 290, 297,
1863 291, 292, 293, 295, 296, 298, 464, 0, 454, 0,
1864 463, 0, 460, 461, 462, 0, 258, 0, 0, 0,
1865 268, 0, 266, 267, 269, 270, 106, 0, 0, 0,
1866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1867 92, 45, 0, 0, 0, 41, 0, 0, 0, 0,
1868 0, 0, 337, 338, 339, 340, 0, 0, 0, 0,
1869 0, 0, 0, 0, 727, 63, 0, 0, 0, 0,
1870 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
1871 0, 0, 355, 0, 0, 348, 349, 350, 351, 0,
1872 0, 378, 0, 373, 374, 375, 0, 0, 0, 81,
1873 0, 0, 0, 0, 0, 26, 0, 0, 0, 0,
1874 0, 0, 0, 0, 0, 0, 0, 0, 0, 686,
1875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1876 0, 0, 0, 0, 0, 227, 228, 231, 232, 234,
1877 235, 236, 237, 238, 239, 240, 229, 230, 233, 0,
1878 0, 0, 0, 0, 0, 0, 0, 0, 0, 429,
1879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1880 398, 399, 400, 401, 402, 403, 405, 404, 406, 407,
1881 415, 412, 414, 413, 411, 417, 408, 409, 410, 416,
1882 0, 0, 0, 469, 0, 476, 0, 0, 0, 0,
1883 489, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1888 0, 0, 0, 34, 0, 0, 0, 0, 0, 0,
1889 497, 0, 0, 0, 0, 0, 0, 0, 661, 300,
1890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1891 0, 0, 0, 0, 0, 0, 0, 282, 0, 0,
1892 0, 0, 459, 271, 0, 0, 0, 0, 0, 265,
1893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1894 0, 0, 0, 0, 0, 0, 0, 0, 91, 0,
1895 0, 40, 0, 0, 0, 0, 0, 198, 0, 0,
1896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1897 0, 161, 0, 0, 0, 0, 130, 131, 132, 133,
1898 150, 151, 137, 136, 138, 139, 145, 140, 141, 142,
1899 143, 144, 146, 147, 148, 134, 135, 149, 152, 341,
1900 0, 0, 0, 0, 336, 0, 0, 0, 0, 0,
1901 0, 0, 726, 0, 0, 0, 0, 0, 0, 0,
1902 0, 0, 0, 0, 0, 48, 352, 0, 0, 0,
1903 0, 347, 376, 0, 0, 0, 372, 90, 89, 88,
1904 723, 720, 719, 708, 710, 26, 26, 26, 26, 26,
1905 28, 27, 714, 715, 718, 716, 721, 722, 724, 725,
1906 717, 709, 711, 712, 713, 241, 0, 0, 0, 0,
1907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1908 226, 418, 0, 0, 0, 0, 0, 0, 0, 0,
1909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1910 0, 0, 397, 0, 0, 468, 481, 0, 0, 0,
1911 483, 569, 573, 560, 589, 602, 601, 656, 606, 567,
1912 658, 598, 604, 568, 558, 559, 576, 565, 597, 566,
1913 579, 564, 578, 577, 572, 571, 570, 599, 557, 596,
1914 654, 655, 593, 590, 635, 651, 652, 636, 637, 638,
1915 639, 646, 640, 649, 653, 642, 647, 643, 648, 641,
1916 645, 644, 650, 0, 634, 595, 612, 628, 629, 613,
1917 614, 615, 616, 623, 617, 626, 630, 619, 624, 620,
1918 625, 618, 622, 621, 627, 0, 611, 588, 591, 605,
1919 562, 600, 563, 592, 581, 586, 587, 584, 585, 582,
1920 583, 575, 574, 34, 34, 34, 36, 35, 657, 607,
1921 594, 603, 561, 580, 0, 0, 0, 0, 0, 0,
1922 660, 0, 0, 0, 0, 312, 0, 0, 0, 0,
1923 0, 0, 0, 0, 0, 0, 0, 281, 0, 0,
1924 0, 453, 0, 0, 0, 276, 272, 275, 257, 110,
1925 116, 114, 113, 115, 111, 112, 109, 117, 123, 118,
1926 122, 120, 121, 119, 108, 107, 124, 46, 47, 153,
1927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1928 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1929 0, 0, 0, 129, 0, 0, 0, 335, 742, 737,
1930 741, 739, 743, 738, 740, 74, 80, 72, 76, 75,
1931 71, 70, 68, 69, 0, 67, 73, 79, 77, 78,
1932 0, 0, 0, 346, 0, 0, 371, 29, 30, 31,
1933 32, 33, 0, 0, 0, 0, 0, 0, 0, 0,
1934 0, 0, 0, 0, 0, 223, 0, 0, 0, 0,
1935 0, 0, 0, 0, 0, 0, 435, 0, 0, 0,
1936 0, 0, 0, 0, 0, 0, 394, 474, 475, 495,
1937 496, 488, 0, 487, 632, 0, 609, 0, 37, 38,
1938 39, 685, 684, 0, 683, 671, 670, 677, 676, 0,
1939 675, 679, 678, 327, 304, 305, 326, 310, 0, 309,
1940 0, 329, 325, 324, 333, 328, 302, 332, 331, 330,
1941 303, 301, 466, 458, 0, 457, 465, 263, 264, 262,
1942 0, 261, 279, 278, 0, 0, 0, 0, 0, 0,
1943 0, 204, 0, 0, 0, 0, 0, 0, 0, 0,
1944 0, 0, 0, 0, 0, 0, 0, 0, 0, 126,
1945 343, 344, 342, 65, 0, 353, 359, 365, 369, 368,
1946 367, 364, 360, 363, 366, 361, 362, 0, 358, 354,
1947 377, 382, 388, 392, 391, 390, 387, 383, 386, 389,
1948 384, 385, 0, 381, 253, 254, 247, 249, 251, 250,
1949 248, 242, 255, 246, 244, 245, 252, 424, 426, 427,
1950 446, 451, 450, 445, 444, 443, 428, 433, 0, 432,
1951 0, 421, 448, 449, 419, 425, 442, 423, 447, 422,
1952 485, 0, 633, 610, 681, 0, 673, 0, 0, 307,
1953 312, 318, 319, 315, 321, 317, 316, 323, 320, 322,
1954 314, 313, 455, 0, 259, 0, 277, 274, 273, 194,
1955 160, 192, 158, 202, 0, 201, 0, 190, 184, 195