/[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 913 - (show annotations)
Wed Nov 7 23:20:12 2007 UTC (12 years, 2 months ago) by michael
File MIME type: text/x-chdr
File size: 241780 byte(s)
- Added some missing files
- Moved HOSTLEN and USERLEN definition back to ircd_defs.h
  Those two shouldn't be configurable

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