ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_parser.c
(Generate patch)

Comparing ircd-hybrid/trunk/src/conf_parser.c (file contents):
Revision 1752 by michael, Wed Jan 16 19:17:40 2013 UTC vs.
Revision 2244 by michael, Sat Jun 15 22:08:10 2013 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.7.  */
1 > /* A Bison parser, made by GNU Bison 2.7.12-4996.  */
2  
3   /* Bison implementation for Yacc-like parsers in C
4    
5 <      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
5 >      Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
6    
7     This program is free software: you can redistribute it and/or modify
8     it under the terms of the GNU General Public License as published by
# Line 44 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.7"
47 > #define YYBISON_VERSION "2.7.12-4996"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 80 | Line 80
80   #include "log.h"
81   #include "client.h"     /* for UMODE_ALL only */
82   #include "irc_string.h"
83 #include "sprintf_irc.h"
83   #include "memory.h"
84   #include "modules.h"
85   #include "s_serv.h"
# Line 90 | Line 89
89   #include "resv.h"
90   #include "numeric.h"
91   #include "s_user.h"
92 + #include "motd.h"
93  
94   #ifdef HAVE_LIBCRYPTO
95   #include <openssl/rsa.h>
# Line 119 | Line 119 | static struct
119      bind,
120      file,
121      ciph,
122 +    cert,
123      rpass,
124      spass,
125      class;
# Line 134 | Line 135 | static struct
135      ping_freq,
136      max_perip,
137      con_freq,
138 +    min_idle,
139 +    max_idle,
140      max_total,
141      max_global,
142      max_local,
# Line 176 | Line 179 | reset_block_state(void)
179  
180  
181   /* Line 371 of yacc.c  */
182 < #line 180 "conf_parser.c"
182 > #line 183 "conf_parser.c"
183  
184   # ifndef YY_NULL
185   #  if defined __cplusplus && 201103L <= __cplusplus
# Line 245 | Line 248 | extern int yydebug;
248       EXCEED_LIMIT = 288,
249       EXEMPT = 289,
250       FAILED_OPER_NOTICE = 290,
251 <     IRCD_FLAGS = 291,
252 <     FLATTEN_LINKS = 292,
253 <     GECOS = 293,
254 <     GENERAL = 294,
255 <     GLINE = 295,
256 <     GLINE_DURATION = 296,
257 <     GLINE_ENABLE = 297,
258 <     GLINE_EXEMPT = 298,
259 <     GLINE_REQUEST_DURATION = 299,
260 <     GLINE_MIN_CIDR = 300,
261 <     GLINE_MIN_CIDR6 = 301,
262 <     GLOBAL_KILL = 302,
263 <     IRCD_AUTH = 303,
264 <     NEED_IDENT = 304,
265 <     HAVENT_READ_CONF = 305,
266 <     HIDDEN = 306,
267 <     HIDDEN_NAME = 307,
268 <     HIDE_SERVER_IPS = 308,
269 <     HIDE_SERVERS = 309,
270 <     HIDE_SPOOF_IPS = 310,
271 <     HOST = 311,
272 <     HUB = 312,
273 <     HUB_MASK = 313,
274 <     IGNORE_BOGUS_TS = 314,
275 <     INVISIBLE_ON_CONNECT = 315,
276 <     IP = 316,
277 <     KILL = 317,
278 <     KILL_CHASE_TIME_LIMIT = 318,
279 <     KLINE = 319,
280 <     KLINE_EXEMPT = 320,
281 <     KNOCK_DELAY = 321,
282 <     KNOCK_DELAY_CHANNEL = 322,
283 <     LEAF_MASK = 323,
284 <     LINKS_DELAY = 324,
285 <     LISTEN = 325,
286 <     T_LOG = 326,
287 <     MAX_ACCEPT = 327,
288 <     MAX_BANS = 328,
289 <     MAX_CHANS_PER_OPER = 329,
290 <     MAX_CHANS_PER_USER = 330,
291 <     MAX_GLOBAL = 331,
292 <     MAX_IDENT = 332,
293 <     MAX_LOCAL = 333,
294 <     MAX_NICK_CHANGES = 334,
295 <     MAX_NICK_LENGTH = 335,
296 <     MAX_NICK_TIME = 336,
297 <     MAX_NUMBER = 337,
298 <     MAX_TARGETS = 338,
299 <     MAX_TOPIC_LENGTH = 339,
300 <     MAX_WATCH = 340,
301 <     MESSAGE_LOCALE = 341,
302 <     MIN_NONWILDCARD = 342,
303 <     MIN_NONWILDCARD_SIMPLE = 343,
304 <     MODULE = 344,
305 <     MODULES = 345,
306 <     NAME = 346,
307 <     NEED_PASSWORD = 347,
308 <     NETWORK_DESC = 348,
309 <     NETWORK_NAME = 349,
310 <     NICK = 350,
311 <     NICK_CHANGES = 351,
312 <     NO_CREATE_ON_SPLIT = 352,
313 <     NO_JOIN_ON_SPLIT = 353,
314 <     NO_OPER_FLOOD = 354,
315 <     NO_TILDE = 355,
316 <     NUMBER = 356,
317 <     NUMBER_PER_CIDR = 357,
318 <     NUMBER_PER_IP = 358,
319 <     OPERATOR = 359,
320 <     OPERS_BYPASS_CALLERID = 360,
321 <     OPER_ONLY_UMODES = 361,
322 <     OPER_PASS_RESV = 362,
323 <     OPER_SPY_T = 363,
324 <     OPER_UMODES = 364,
325 <     JOIN_FLOOD_COUNT = 365,
326 <     JOIN_FLOOD_TIME = 366,
327 <     PACE_WAIT = 367,
328 <     PACE_WAIT_SIMPLE = 368,
329 <     PASSWORD = 369,
330 <     PATH = 370,
331 <     PING_COOKIE = 371,
332 <     PING_TIME = 372,
333 <     PORT = 373,
334 <     QSTRING = 374,
335 <     QUIET_ON_BAN = 375,
336 <     REASON = 376,
337 <     REDIRPORT = 377,
338 <     REDIRSERV = 378,
339 <     REGEX_T = 379,
340 <     REHASH = 380,
341 <     REMOTE = 381,
342 <     REMOTEBAN = 382,
343 <     RESTRICT_CHANNELS = 383,
344 <     RSA_PRIVATE_KEY_FILE = 384,
345 <     RSA_PUBLIC_KEY_FILE = 385,
346 <     SSL_CERTIFICATE_FILE = 386,
347 <     SSL_DH_PARAM_FILE = 387,
348 <     T_SSL_CLIENT_METHOD = 388,
349 <     T_SSL_SERVER_METHOD = 389,
350 <     T_SSLV3 = 390,
351 <     T_TLSV1 = 391,
352 <     RESV = 392,
353 <     RESV_EXEMPT = 393,
354 <     SECONDS = 394,
355 <     MINUTES = 395,
356 <     HOURS = 396,
357 <     DAYS = 397,
358 <     WEEKS = 398,
359 <     SENDQ = 399,
360 <     SEND_PASSWORD = 400,
361 <     SERVERHIDE = 401,
362 <     SERVERINFO = 402,
363 <     IRCD_SID = 403,
364 <     TKLINE_EXPIRE_NOTICES = 404,
365 <     T_SHARED = 405,
366 <     T_CLUSTER = 406,
367 <     TYPE = 407,
368 <     SHORT_MOTD = 408,
369 <     SPOOF = 409,
370 <     SPOOF_NOTICE = 410,
371 <     STATS_E_DISABLED = 411,
372 <     STATS_I_OPER_ONLY = 412,
373 <     STATS_K_OPER_ONLY = 413,
374 <     STATS_O_OPER_ONLY = 414,
375 <     STATS_P_OPER_ONLY = 415,
376 <     TBOOL = 416,
377 <     TMASKED = 417,
378 <     TS_MAX_DELTA = 418,
379 <     TS_WARN_DELTA = 419,
380 <     TWODOTS = 420,
381 <     T_ALL = 421,
382 <     T_BOTS = 422,
383 <     T_SOFTCALLERID = 423,
384 <     T_CALLERID = 424,
385 <     T_CCONN = 425,
386 <     T_CCONN_FULL = 426,
387 <     T_SSL_CIPHER_LIST = 427,
388 <     T_DEAF = 428,
389 <     T_DEBUG = 429,
390 <     T_DLINE = 430,
391 <     T_EXTERNAL = 431,
392 <     T_FULL = 432,
393 <     T_INVISIBLE = 433,
394 <     T_IPV4 = 434,
395 <     T_IPV6 = 435,
396 <     T_LOCOPS = 436,
397 <     T_MAX_CLIENTS = 437,
398 <     T_NCHANGE = 438,
399 <     T_OPERWALL = 439,
400 <     T_RECVQ = 440,
401 <     T_REJ = 441,
402 <     T_SERVER = 442,
403 <     T_SERVNOTICE = 443,
404 <     T_SET = 444,
405 <     T_SKILL = 445,
251 >     FLATTEN_LINKS = 291,
252 >     GECOS = 292,
253 >     GENERAL = 293,
254 >     GLINE = 294,
255 >     GLINE_DURATION = 295,
256 >     GLINE_ENABLE = 296,
257 >     GLINE_EXEMPT = 297,
258 >     GLINE_MIN_CIDR = 298,
259 >     GLINE_MIN_CIDR6 = 299,
260 >     GLINE_REQUEST_DURATION = 300,
261 >     GLOBAL_KILL = 301,
262 >     HAVENT_READ_CONF = 302,
263 >     HIDDEN = 303,
264 >     HIDDEN_NAME = 304,
265 >     HIDE_IDLE_FROM_OPERS = 305,
266 >     HIDE_SERVER_IPS = 306,
267 >     HIDE_SERVERS = 307,
268 >     HIDE_SERVICES = 308,
269 >     HIDE_SPOOF_IPS = 309,
270 >     HOST = 310,
271 >     HUB = 311,
272 >     HUB_MASK = 312,
273 >     IGNORE_BOGUS_TS = 313,
274 >     INVISIBLE_ON_CONNECT = 314,
275 >     IP = 315,
276 >     IRCD_AUTH = 316,
277 >     IRCD_FLAGS = 317,
278 >     IRCD_SID = 318,
279 >     JOIN_FLOOD_COUNT = 319,
280 >     JOIN_FLOOD_TIME = 320,
281 >     KILL = 321,
282 >     KILL_CHASE_TIME_LIMIT = 322,
283 >     KLINE = 323,
284 >     KLINE_EXEMPT = 324,
285 >     KNOCK_DELAY = 325,
286 >     KNOCK_DELAY_CHANNEL = 326,
287 >     LEAF_MASK = 327,
288 >     LINKS_DELAY = 328,
289 >     LISTEN = 329,
290 >     MASK = 330,
291 >     MAX_ACCEPT = 331,
292 >     MAX_BANS = 332,
293 >     MAX_CHANS_PER_OPER = 333,
294 >     MAX_CHANS_PER_USER = 334,
295 >     MAX_GLOBAL = 335,
296 >     MAX_IDENT = 336,
297 >     MAX_IDLE = 337,
298 >     MAX_LOCAL = 338,
299 >     MAX_NICK_CHANGES = 339,
300 >     MAX_NICK_LENGTH = 340,
301 >     MAX_NICK_TIME = 341,
302 >     MAX_NUMBER = 342,
303 >     MAX_TARGETS = 343,
304 >     MAX_TOPIC_LENGTH = 344,
305 >     MAX_WATCH = 345,
306 >     MIN_IDLE = 346,
307 >     MIN_NONWILDCARD = 347,
308 >     MIN_NONWILDCARD_SIMPLE = 348,
309 >     MODULE = 349,
310 >     MODULES = 350,
311 >     MOTD = 351,
312 >     NAME = 352,
313 >     NEED_IDENT = 353,
314 >     NEED_PASSWORD = 354,
315 >     NETWORK_DESC = 355,
316 >     NETWORK_NAME = 356,
317 >     NICK = 357,
318 >     NO_CREATE_ON_SPLIT = 358,
319 >     NO_JOIN_ON_SPLIT = 359,
320 >     NO_OPER_FLOOD = 360,
321 >     NO_TILDE = 361,
322 >     NUMBER = 362,
323 >     NUMBER_PER_CIDR = 363,
324 >     NUMBER_PER_IP = 364,
325 >     OPER_ONLY_UMODES = 365,
326 >     OPER_PASS_RESV = 366,
327 >     OPER_UMODES = 367,
328 >     OPERATOR = 368,
329 >     OPERS_BYPASS_CALLERID = 369,
330 >     PACE_WAIT = 370,
331 >     PACE_WAIT_SIMPLE = 371,
332 >     PASSWORD = 372,
333 >     PATH = 373,
334 >     PING_COOKIE = 374,
335 >     PING_TIME = 375,
336 >     PORT = 376,
337 >     QSTRING = 377,
338 >     RANDOM_IDLE = 378,
339 >     REASON = 379,
340 >     REDIRPORT = 380,
341 >     REDIRSERV = 381,
342 >     REHASH = 382,
343 >     REMOTE = 383,
344 >     REMOTEBAN = 384,
345 >     RESV = 385,
346 >     RESV_EXEMPT = 386,
347 >     RSA_PRIVATE_KEY_FILE = 387,
348 >     RSA_PUBLIC_KEY_FILE = 388,
349 >     SECONDS = 389,
350 >     MINUTES = 390,
351 >     HOURS = 391,
352 >     DAYS = 392,
353 >     WEEKS = 393,
354 >     MONTHS = 394,
355 >     YEARS = 395,
356 >     SEND_PASSWORD = 396,
357 >     SENDQ = 397,
358 >     SERVERHIDE = 398,
359 >     SERVERINFO = 399,
360 >     SHORT_MOTD = 400,
361 >     SPOOF = 401,
362 >     SPOOF_NOTICE = 402,
363 >     SQUIT = 403,
364 >     SSL_CERTIFICATE_FILE = 404,
365 >     SSL_CERTIFICATE_FINGERPRINT = 405,
366 >     SSL_DH_PARAM_FILE = 406,
367 >     STATS_E_DISABLED = 407,
368 >     STATS_I_OPER_ONLY = 408,
369 >     STATS_K_OPER_ONLY = 409,
370 >     STATS_O_OPER_ONLY = 410,
371 >     STATS_P_OPER_ONLY = 411,
372 >     T_ALL = 412,
373 >     T_BOTS = 413,
374 >     T_CALLERID = 414,
375 >     T_CCONN = 415,
376 >     T_CLUSTER = 416,
377 >     T_DEAF = 417,
378 >     T_DEBUG = 418,
379 >     T_DLINE = 419,
380 >     T_EXTERNAL = 420,
381 >     T_FARCONNECT = 421,
382 >     T_FILE = 422,
383 >     T_FULL = 423,
384 >     T_GLOBOPS = 424,
385 >     T_INVISIBLE = 425,
386 >     T_IPV4 = 426,
387 >     T_IPV6 = 427,
388 >     T_LOCOPS = 428,
389 >     T_LOG = 429,
390 >     T_MAX_CLIENTS = 430,
391 >     T_NCHANGE = 431,
392 >     T_NONONREG = 432,
393 >     T_OPERWALL = 433,
394 >     T_RECVQ = 434,
395 >     T_REJ = 435,
396 >     T_RESTART = 436,
397 >     T_SERVER = 437,
398 >     T_SERVICE = 438,
399 >     T_SERVICES_NAME = 439,
400 >     T_SERVNOTICE = 440,
401 >     T_SET = 441,
402 >     T_SHARED = 442,
403 >     T_SIZE = 443,
404 >     T_SKILL = 444,
405 >     T_SOFTCALLERID = 445,
406       T_SPY = 446,
407       T_SSL = 447,
408 <     T_UMODES = 448,
409 <     T_UNAUTH = 449,
410 <     T_UNDLINE = 450,
411 <     T_UNLIMITED = 451,
412 <     T_UNRESV = 452,
413 <     T_UNXLINE = 453,
414 <     T_GLOBOPS = 454,
415 <     T_WALLOP = 455,
416 <     T_WEBIRC = 456,
417 <     T_RESTART = 457,
418 <     T_SERVICE = 458,
419 <     T_SERVICES_NAME = 459,
420 <     THROTTLE_TIME = 460,
421 <     TRUE_NO_OPER_FLOOD = 461,
422 <     UNKLINE = 462,
423 <     USER = 463,
424 <     USE_EGD = 464,
425 <     USE_LOGGING = 465,
426 <     VHOST = 466,
427 <     VHOST6 = 467,
428 <     XLINE = 468,
429 <     WARN_NO_NLINE = 469,
430 <     T_SIZE = 470,
431 <     T_FILE = 471
408 >     T_SSL_CIPHER_LIST = 448,
409 >     T_SSL_CLIENT_METHOD = 449,
410 >     T_SSL_SERVER_METHOD = 450,
411 >     T_SSLV3 = 451,
412 >     T_TLSV1 = 452,
413 >     T_UMODES = 453,
414 >     T_UNAUTH = 454,
415 >     T_UNDLINE = 455,
416 >     T_UNLIMITED = 456,
417 >     T_UNRESV = 457,
418 >     T_UNXLINE = 458,
419 >     T_WALLOP = 459,
420 >     T_WALLOPS = 460,
421 >     T_WEBIRC = 461,
422 >     TBOOL = 462,
423 >     THROTTLE_TIME = 463,
424 >     TKLINE_EXPIRE_NOTICES = 464,
425 >     TMASKED = 465,
426 >     TRUE_NO_OPER_FLOOD = 466,
427 >     TS_MAX_DELTA = 467,
428 >     TS_WARN_DELTA = 468,
429 >     TWODOTS = 469,
430 >     TYPE = 470,
431 >     UNKLINE = 471,
432 >     USE_EGD = 472,
433 >     USE_LOGGING = 473,
434 >     USER = 474,
435 >     VHOST = 475,
436 >     VHOST6 = 476,
437 >     WARN_NO_NLINE = 477,
438 >     XLINE = 478
439     };
440   #endif
441   /* Tokens.  */
# Line 462 | Line 472 | extern int yydebug;
472   #define EXCEED_LIMIT 288
473   #define EXEMPT 289
474   #define FAILED_OPER_NOTICE 290
475 < #define IRCD_FLAGS 291
476 < #define FLATTEN_LINKS 292
477 < #define GECOS 293
478 < #define GENERAL 294
479 < #define GLINE 295
480 < #define GLINE_DURATION 296
481 < #define GLINE_ENABLE 297
482 < #define GLINE_EXEMPT 298
483 < #define GLINE_REQUEST_DURATION 299
484 < #define GLINE_MIN_CIDR 300
485 < #define GLINE_MIN_CIDR6 301
486 < #define GLOBAL_KILL 302
487 < #define IRCD_AUTH 303
488 < #define NEED_IDENT 304
489 < #define HAVENT_READ_CONF 305
490 < #define HIDDEN 306
491 < #define HIDDEN_NAME 307
492 < #define HIDE_SERVER_IPS 308
493 < #define HIDE_SERVERS 309
494 < #define HIDE_SPOOF_IPS 310
495 < #define HOST 311
496 < #define HUB 312
497 < #define HUB_MASK 313
498 < #define IGNORE_BOGUS_TS 314
499 < #define INVISIBLE_ON_CONNECT 315
500 < #define IP 316
501 < #define KILL 317
502 < #define KILL_CHASE_TIME_LIMIT 318
503 < #define KLINE 319
504 < #define KLINE_EXEMPT 320
505 < #define KNOCK_DELAY 321
506 < #define KNOCK_DELAY_CHANNEL 322
507 < #define LEAF_MASK 323
508 < #define LINKS_DELAY 324
509 < #define LISTEN 325
510 < #define T_LOG 326
511 < #define MAX_ACCEPT 327
512 < #define MAX_BANS 328
513 < #define MAX_CHANS_PER_OPER 329
514 < #define MAX_CHANS_PER_USER 330
515 < #define MAX_GLOBAL 331
516 < #define MAX_IDENT 332
517 < #define MAX_LOCAL 333
518 < #define MAX_NICK_CHANGES 334
519 < #define MAX_NICK_LENGTH 335
520 < #define MAX_NICK_TIME 336
521 < #define MAX_NUMBER 337
522 < #define MAX_TARGETS 338
523 < #define MAX_TOPIC_LENGTH 339
524 < #define MAX_WATCH 340
525 < #define MESSAGE_LOCALE 341
526 < #define MIN_NONWILDCARD 342
527 < #define MIN_NONWILDCARD_SIMPLE 343
528 < #define MODULE 344
529 < #define MODULES 345
530 < #define NAME 346
531 < #define NEED_PASSWORD 347
532 < #define NETWORK_DESC 348
533 < #define NETWORK_NAME 349
534 < #define NICK 350
535 < #define NICK_CHANGES 351
536 < #define NO_CREATE_ON_SPLIT 352
537 < #define NO_JOIN_ON_SPLIT 353
538 < #define NO_OPER_FLOOD 354
539 < #define NO_TILDE 355
540 < #define NUMBER 356
541 < #define NUMBER_PER_CIDR 357
542 < #define NUMBER_PER_IP 358
543 < #define OPERATOR 359
544 < #define OPERS_BYPASS_CALLERID 360
545 < #define OPER_ONLY_UMODES 361
546 < #define OPER_PASS_RESV 362
547 < #define OPER_SPY_T 363
548 < #define OPER_UMODES 364
549 < #define JOIN_FLOOD_COUNT 365
550 < #define JOIN_FLOOD_TIME 366
551 < #define PACE_WAIT 367
552 < #define PACE_WAIT_SIMPLE 368
553 < #define PASSWORD 369
554 < #define PATH 370
555 < #define PING_COOKIE 371
556 < #define PING_TIME 372
557 < #define PORT 373
558 < #define QSTRING 374
559 < #define QUIET_ON_BAN 375
560 < #define REASON 376
561 < #define REDIRPORT 377
562 < #define REDIRSERV 378
563 < #define REGEX_T 379
564 < #define REHASH 380
565 < #define REMOTE 381
566 < #define REMOTEBAN 382
567 < #define RESTRICT_CHANNELS 383
568 < #define RSA_PRIVATE_KEY_FILE 384
569 < #define RSA_PUBLIC_KEY_FILE 385
570 < #define SSL_CERTIFICATE_FILE 386
571 < #define SSL_DH_PARAM_FILE 387
572 < #define T_SSL_CLIENT_METHOD 388
573 < #define T_SSL_SERVER_METHOD 389
574 < #define T_SSLV3 390
575 < #define T_TLSV1 391
576 < #define RESV 392
577 < #define RESV_EXEMPT 393
578 < #define SECONDS 394
579 < #define MINUTES 395
580 < #define HOURS 396
581 < #define DAYS 397
582 < #define WEEKS 398
583 < #define SENDQ 399
584 < #define SEND_PASSWORD 400
585 < #define SERVERHIDE 401
586 < #define SERVERINFO 402
587 < #define IRCD_SID 403
588 < #define TKLINE_EXPIRE_NOTICES 404
589 < #define T_SHARED 405
590 < #define T_CLUSTER 406
591 < #define TYPE 407
592 < #define SHORT_MOTD 408
593 < #define SPOOF 409
594 < #define SPOOF_NOTICE 410
595 < #define STATS_E_DISABLED 411
596 < #define STATS_I_OPER_ONLY 412
597 < #define STATS_K_OPER_ONLY 413
598 < #define STATS_O_OPER_ONLY 414
599 < #define STATS_P_OPER_ONLY 415
600 < #define TBOOL 416
601 < #define TMASKED 417
602 < #define TS_MAX_DELTA 418
603 < #define TS_WARN_DELTA 419
604 < #define TWODOTS 420
605 < #define T_ALL 421
606 < #define T_BOTS 422
607 < #define T_SOFTCALLERID 423
608 < #define T_CALLERID 424
609 < #define T_CCONN 425
610 < #define T_CCONN_FULL 426
611 < #define T_SSL_CIPHER_LIST 427
612 < #define T_DEAF 428
613 < #define T_DEBUG 429
614 < #define T_DLINE 430
615 < #define T_EXTERNAL 431
616 < #define T_FULL 432
617 < #define T_INVISIBLE 433
618 < #define T_IPV4 434
619 < #define T_IPV6 435
620 < #define T_LOCOPS 436
621 < #define T_MAX_CLIENTS 437
622 < #define T_NCHANGE 438
623 < #define T_OPERWALL 439
624 < #define T_RECVQ 440
625 < #define T_REJ 441
626 < #define T_SERVER 442
627 < #define T_SERVNOTICE 443
628 < #define T_SET 444
629 < #define T_SKILL 445
475 > #define FLATTEN_LINKS 291
476 > #define GECOS 292
477 > #define GENERAL 293
478 > #define GLINE 294
479 > #define GLINE_DURATION 295
480 > #define GLINE_ENABLE 296
481 > #define GLINE_EXEMPT 297
482 > #define GLINE_MIN_CIDR 298
483 > #define GLINE_MIN_CIDR6 299
484 > #define GLINE_REQUEST_DURATION 300
485 > #define GLOBAL_KILL 301
486 > #define HAVENT_READ_CONF 302
487 > #define HIDDEN 303
488 > #define HIDDEN_NAME 304
489 > #define HIDE_IDLE_FROM_OPERS 305
490 > #define HIDE_SERVER_IPS 306
491 > #define HIDE_SERVERS 307
492 > #define HIDE_SERVICES 308
493 > #define HIDE_SPOOF_IPS 309
494 > #define HOST 310
495 > #define HUB 311
496 > #define HUB_MASK 312
497 > #define IGNORE_BOGUS_TS 313
498 > #define INVISIBLE_ON_CONNECT 314
499 > #define IP 315
500 > #define IRCD_AUTH 316
501 > #define IRCD_FLAGS 317
502 > #define IRCD_SID 318
503 > #define JOIN_FLOOD_COUNT 319
504 > #define JOIN_FLOOD_TIME 320
505 > #define KILL 321
506 > #define KILL_CHASE_TIME_LIMIT 322
507 > #define KLINE 323
508 > #define KLINE_EXEMPT 324
509 > #define KNOCK_DELAY 325
510 > #define KNOCK_DELAY_CHANNEL 326
511 > #define LEAF_MASK 327
512 > #define LINKS_DELAY 328
513 > #define LISTEN 329
514 > #define MASK 330
515 > #define MAX_ACCEPT 331
516 > #define MAX_BANS 332
517 > #define MAX_CHANS_PER_OPER 333
518 > #define MAX_CHANS_PER_USER 334
519 > #define MAX_GLOBAL 335
520 > #define MAX_IDENT 336
521 > #define MAX_IDLE 337
522 > #define MAX_LOCAL 338
523 > #define MAX_NICK_CHANGES 339
524 > #define MAX_NICK_LENGTH 340
525 > #define MAX_NICK_TIME 341
526 > #define MAX_NUMBER 342
527 > #define MAX_TARGETS 343
528 > #define MAX_TOPIC_LENGTH 344
529 > #define MAX_WATCH 345
530 > #define MIN_IDLE 346
531 > #define MIN_NONWILDCARD 347
532 > #define MIN_NONWILDCARD_SIMPLE 348
533 > #define MODULE 349
534 > #define MODULES 350
535 > #define MOTD 351
536 > #define NAME 352
537 > #define NEED_IDENT 353
538 > #define NEED_PASSWORD 354
539 > #define NETWORK_DESC 355
540 > #define NETWORK_NAME 356
541 > #define NICK 357
542 > #define NO_CREATE_ON_SPLIT 358
543 > #define NO_JOIN_ON_SPLIT 359
544 > #define NO_OPER_FLOOD 360
545 > #define NO_TILDE 361
546 > #define NUMBER 362
547 > #define NUMBER_PER_CIDR 363
548 > #define NUMBER_PER_IP 364
549 > #define OPER_ONLY_UMODES 365
550 > #define OPER_PASS_RESV 366
551 > #define OPER_UMODES 367
552 > #define OPERATOR 368
553 > #define OPERS_BYPASS_CALLERID 369
554 > #define PACE_WAIT 370
555 > #define PACE_WAIT_SIMPLE 371
556 > #define PASSWORD 372
557 > #define PATH 373
558 > #define PING_COOKIE 374
559 > #define PING_TIME 375
560 > #define PORT 376
561 > #define QSTRING 377
562 > #define RANDOM_IDLE 378
563 > #define REASON 379
564 > #define REDIRPORT 380
565 > #define REDIRSERV 381
566 > #define REHASH 382
567 > #define REMOTE 383
568 > #define REMOTEBAN 384
569 > #define RESV 385
570 > #define RESV_EXEMPT 386
571 > #define RSA_PRIVATE_KEY_FILE 387
572 > #define RSA_PUBLIC_KEY_FILE 388
573 > #define SECONDS 389
574 > #define MINUTES 390
575 > #define HOURS 391
576 > #define DAYS 392
577 > #define WEEKS 393
578 > #define MONTHS 394
579 > #define YEARS 395
580 > #define SEND_PASSWORD 396
581 > #define SENDQ 397
582 > #define SERVERHIDE 398
583 > #define SERVERINFO 399
584 > #define SHORT_MOTD 400
585 > #define SPOOF 401
586 > #define SPOOF_NOTICE 402
587 > #define SQUIT 403
588 > #define SSL_CERTIFICATE_FILE 404
589 > #define SSL_CERTIFICATE_FINGERPRINT 405
590 > #define SSL_DH_PARAM_FILE 406
591 > #define STATS_E_DISABLED 407
592 > #define STATS_I_OPER_ONLY 408
593 > #define STATS_K_OPER_ONLY 409
594 > #define STATS_O_OPER_ONLY 410
595 > #define STATS_P_OPER_ONLY 411
596 > #define T_ALL 412
597 > #define T_BOTS 413
598 > #define T_CALLERID 414
599 > #define T_CCONN 415
600 > #define T_CLUSTER 416
601 > #define T_DEAF 417
602 > #define T_DEBUG 418
603 > #define T_DLINE 419
604 > #define T_EXTERNAL 420
605 > #define T_FARCONNECT 421
606 > #define T_FILE 422
607 > #define T_FULL 423
608 > #define T_GLOBOPS 424
609 > #define T_INVISIBLE 425
610 > #define T_IPV4 426
611 > #define T_IPV6 427
612 > #define T_LOCOPS 428
613 > #define T_LOG 429
614 > #define T_MAX_CLIENTS 430
615 > #define T_NCHANGE 431
616 > #define T_NONONREG 432
617 > #define T_OPERWALL 433
618 > #define T_RECVQ 434
619 > #define T_REJ 435
620 > #define T_RESTART 436
621 > #define T_SERVER 437
622 > #define T_SERVICE 438
623 > #define T_SERVICES_NAME 439
624 > #define T_SERVNOTICE 440
625 > #define T_SET 441
626 > #define T_SHARED 442
627 > #define T_SIZE 443
628 > #define T_SKILL 444
629 > #define T_SOFTCALLERID 445
630   #define T_SPY 446
631   #define T_SSL 447
632 < #define T_UMODES 448
633 < #define T_UNAUTH 449
634 < #define T_UNDLINE 450
635 < #define T_UNLIMITED 451
636 < #define T_UNRESV 452
637 < #define T_UNXLINE 453
638 < #define T_GLOBOPS 454
639 < #define T_WALLOP 455
640 < #define T_WEBIRC 456
641 < #define T_RESTART 457
642 < #define T_SERVICE 458
643 < #define T_SERVICES_NAME 459
644 < #define THROTTLE_TIME 460
645 < #define TRUE_NO_OPER_FLOOD 461
646 < #define UNKLINE 462
647 < #define USER 463
648 < #define USE_EGD 464
649 < #define USE_LOGGING 465
650 < #define VHOST 466
651 < #define VHOST6 467
652 < #define XLINE 468
653 < #define WARN_NO_NLINE 469
654 < #define T_SIZE 470
655 < #define T_FILE 471
632 > #define T_SSL_CIPHER_LIST 448
633 > #define T_SSL_CLIENT_METHOD 449
634 > #define T_SSL_SERVER_METHOD 450
635 > #define T_SSLV3 451
636 > #define T_TLSV1 452
637 > #define T_UMODES 453
638 > #define T_UNAUTH 454
639 > #define T_UNDLINE 455
640 > #define T_UNLIMITED 456
641 > #define T_UNRESV 457
642 > #define T_UNXLINE 458
643 > #define T_WALLOP 459
644 > #define T_WALLOPS 460
645 > #define T_WEBIRC 461
646 > #define TBOOL 462
647 > #define THROTTLE_TIME 463
648 > #define TKLINE_EXPIRE_NOTICES 464
649 > #define TMASKED 465
650 > #define TRUE_NO_OPER_FLOOD 466
651 > #define TS_MAX_DELTA 467
652 > #define TS_WARN_DELTA 468
653 > #define TWODOTS 469
654 > #define TYPE 470
655 > #define UNKLINE 471
656 > #define USE_EGD 472
657 > #define USE_LOGGING 473
658 > #define USER 474
659 > #define VHOST 475
660 > #define VHOST6 476
661 > #define WARN_NO_NLINE 477
662 > #define XLINE 478
663  
664  
665  
# Line 650 | Line 667 | extern int yydebug;
667   typedef union YYSTYPE
668   {
669   /* Line 387 of yacc.c  */
670 < #line 137 "conf_parser.y"
670 > #line 140 "conf_parser.y"
671  
672    int number;
673    char *string;
674  
675  
676   /* Line 387 of yacc.c  */
677 < #line 661 "conf_parser.c"
677 > #line 678 "conf_parser.c"
678   } YYSTYPE;
679   # define YYSTYPE_IS_TRIVIAL 1
680   # define yystype YYSTYPE /* obsolescent; will be withdrawn */
# Line 685 | Line 702 | int yyparse ();
702   /* Copy the second part of user declarations.  */
703  
704   /* Line 390 of yacc.c  */
705 < #line 689 "conf_parser.c"
705 > #line 706 "conf_parser.c"
706  
707   #ifdef short
708   # undef short
# Line 746 | Line 763 | typedef short int yytype_int16;
763   # endif
764   #endif
765  
766 + #ifndef __attribute__
767 + /* This feature is available in gcc versions 2.5 and later.  */
768 + # if (! defined __GNUC__ || __GNUC__ < 2 \
769 +      || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
770 + #  define __attribute__(Spec) /* empty */
771 + # endif
772 + #endif
773 +
774   /* Suppress unused-variable warnings by "using" E.  */
775   #if ! defined lint || defined __GNUC__
776   # define YYUSE(E) ((void) (E))
# Line 753 | Line 778 | typedef short int yytype_int16;
778   # define YYUSE(E) /* empty */
779   #endif
780  
781 +
782   /* Identity function, used to suppress warnings about constant conditions.  */
783   #ifndef lint
784   # define YYID(N) (N)
# Line 905 | Line 931 | union yyalloc
931   /* YYFINAL -- State number of the termination state.  */
932   #define YYFINAL  2
933   /* YYLAST -- Last index in YYTABLE.  */
934 < #define YYLAST   1186
934 > #define YYLAST   1219
935  
936   /* YYNTOKENS -- Number of terminals.  */
937 < #define YYNTOKENS  222
937 > #define YYNTOKENS  230
938   /* YYNNTS -- Number of nonterminals.  */
939 < #define YYNNTS  284
939 > #define YYNNTS  288
940   /* YYNRULES -- Number of rules.  */
941 < #define YYNRULES  630
941 > #define YYNRULES  648
942   /* YYNRULES -- Number of states.  */
943 < #define YYNSTATES  1234
943 > #define YYNSTATES  1270
944  
945   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
946   #define YYUNDEFTOK  2
947 < #define YYMAXUTOK   471
947 > #define YYMAXUTOK   478
948  
949   #define YYTRANSLATE(YYX)                                                \
950    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 930 | Line 956 | static const yytype_uint8 yytranslate[]
956         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
957         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
958         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
959 <       2,     2,     2,     2,   221,     2,     2,     2,     2,     2,
960 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   217,
961 <       2,   220,     2,     2,     2,     2,     2,     2,     2,     2,
959 >       2,     2,     2,     2,   228,     2,     2,     2,     2,     2,
960 >       2,     2,     2,     2,     2,     2,     2,     2,   229,   224,
961 >       2,   227,     2,     2,     2,     2,     2,     2,     2,     2,
962         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
963         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
964         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
965         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
966         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
967 <       2,     2,     2,   219,     2,   218,     2,     2,     2,     2,
967 >       2,     2,     2,   226,     2,   225,     2,     2,     2,     2,
968         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
969         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
970         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 973 | Line 999 | static const yytype_uint8 yytranslate[]
999       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1000       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1001       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1002 <     215,   216
1002 >     215,   216,   217,   218,   219,   220,   221,   222,   223
1003   };
1004  
1005   #if YYDEBUG
# Line 983 | Line 1009 | static const yytype_uint16 yyprhs[] =
1009   {
1010         0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
1011        19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
1012 <      39,    41,    43,    45,    47,    50,    53,    54,    56,    59,
1013 <      63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
1014 <      97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
1015 <     134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
1016 <     154,   156,   158,   160,   162,   164,   166,   168,   170,   173,
1017 <     178,   183,   187,   189,   191,   193,   197,   199,   201,   203,
1018 <     208,   213,   218,   223,   228,   233,   238,   243,   248,   253,
1019 <     258,   263,   268,   273,   278,   284,   287,   289,   291,   293,
1020 <     295,   298,   303,   308,   313,   319,   322,   324,   326,   328,
1021 <     331,   336,   337,   344,   347,   349,   351,   353,   355,   358,
1022 <     363,   368,   373,   374,   380,   384,   386,   388,   390,   392,
1023 <     394,   396,   398,   400,   401,   408,   411,   413,   415,   417,
1024 <     419,   421,   423,   425,   427,   429,   432,   437,   442,   447,
1025 <     452,   457,   462,   463,   469,   473,   475,   477,   479,   481,
1026 <     483,   485,   487,   489,   491,   493,   495,   497,   499,   501,
1027 <     503,   505,   507,   509,   511,   513,   515,   516,   522,   526,
1028 <     528,   530,   532,   534,   536,   538,   540,   542,   544,   546,
1029 <     548,   550,   552,   554,   556,   558,   560,   562,   564,   566,
1030 <     567,   574,   577,   579,   581,   583,   585,   587,   589,   591,
1031 <     593,   595,   597,   599,   601,   603,   605,   608,   613,   618,
1032 <     623,   628,   633,   638,   643,   648,   653,   658,   663,   668,
1033 <     673,   674,   681,   682,   688,   692,   694,   696,   698,   700,
1034 <     703,   705,   707,   709,   711,   713,   716,   717,   723,   727,
1035 <     729,   731,   735,   740,   745,   746,   753,   756,   758,   760,
1036 <     762,   764,   766,   768,   770,   772,   774,   777,   782,   787,
1037 <     792,   797,   798,   804,   808,   810,   812,   814,   816,   818,
1038 <     820,   822,   824,   826,   828,   830,   835,   840,   845,   846,
1039 <     853,   856,   858,   860,   862,   864,   867,   872,   877,   882,
1040 <     888,   891,   893,   895,   897,   902,   903,   910,   913,   915,
1041 <     917,   919,   921,   924,   929,   934,   935,   941,   945,   947,
1042 <     949,   951,   953,   955,   957,   959,   961,   963,   965,   967,
1043 <     968,   975,   978,   980,   982,   984,   987,   992,   993,   999,
1044 <    1003,  1005,  1007,  1009,  1011,  1013,  1015,  1017,  1019,  1021,
1045 <    1023,  1025,  1026,  1033,  1036,  1038,  1040,  1042,  1044,  1046,
1046 <    1048,  1050,  1052,  1054,  1056,  1058,  1060,  1062,  1064,  1067,
1047 <    1072,  1077,  1082,  1087,  1092,  1097,  1102,  1107,  1108,  1114,
1048 <    1118,  1120,  1122,  1124,  1129,  1134,  1139,  1144,  1149,  1150,
1049 <    1157,  1158,  1164,  1168,  1170,  1172,  1175,  1177,  1179,  1181,
1050 <    1183,  1185,  1190,  1195,  1196,  1203,  1206,  1208,  1210,  1212,
1051 <    1214,  1219,  1224,  1230,  1233,  1235,  1237,  1239,  1244,  1245,
1052 <    1252,  1253,  1259,  1263,  1265,  1267,  1270,  1272,  1274,  1276,
1053 <    1278,  1280,  1285,  1290,  1296,  1299,  1301,  1303,  1305,  1307,
1054 <    1309,  1311,  1313,  1315,  1317,  1319,  1321,  1323,  1325,  1327,
1055 <    1329,  1331,  1333,  1335,  1337,  1339,  1341,  1343,  1345,  1347,
1056 <    1349,  1351,  1353,  1355,  1357,  1359,  1361,  1363,  1365,  1367,
1057 <    1369,  1371,  1373,  1375,  1377,  1379,  1381,  1383,  1385,  1387,
1058 <    1389,  1391,  1393,  1395,  1397,  1399,  1401,  1406,  1411,  1416,
1059 <    1421,  1426,  1431,  1436,  1441,  1446,  1451,  1456,  1461,  1466,
1060 <    1471,  1476,  1481,  1486,  1491,  1496,  1501,  1506,  1511,  1516,
1061 <    1521,  1526,  1531,  1536,  1541,  1546,  1551,  1556,  1561,  1566,
1062 <    1571,  1576,  1581,  1586,  1591,  1596,  1601,  1606,  1611,  1616,
1063 <    1621,  1626,  1631,  1632,  1638,  1642,  1644,  1646,  1648,  1650,
1064 <    1652,  1654,  1656,  1658,  1660,  1662,  1664,  1666,  1668,  1670,
1065 <    1672,  1674,  1676,  1678,  1680,  1682,  1684,  1685,  1691,  1695,
1066 <    1697,  1699,  1701,  1703,  1705,  1707,  1709,  1711,  1713,  1715,
1067 <    1717,  1719,  1721,  1723,  1725,  1727,  1729,  1731,  1733,  1735,
1068 <    1737,  1742,  1747,  1752,  1758,  1761,  1763,  1765,  1767,  1769,
1069 <    1771,  1773,  1775,  1777,  1779,  1781,  1783,  1785,  1787,  1789,
1070 <    1791,  1793,  1798,  1803,  1808,  1813,  1818,  1823,  1828,  1833,
1071 <    1838,  1843,  1848,  1853,  1858,  1863,  1869,  1872,  1874,  1876,
1072 <    1878,  1880,  1882,  1884,  1886,  1888,  1893,  1898,  1903,  1908,
1073 <    1913
1012 >      39,    41,    43,    45,    47,    49,    52,    55,    56,    58,
1013 >      61,    65,    69,    73,    77,    81,    85,    89,    90,    92,
1014 >      95,    99,   103,   107,   113,   116,   118,   120,   122,   125,
1015 >     130,   135,   141,   144,   146,   148,   150,   152,   154,   156,
1016 >     158,   160,   162,   164,   166,   168,   170,   172,   174,   176,
1017 >     178,   180,   183,   188,   193,   197,   199,   201,   203,   207,
1018 >     209,   211,   213,   218,   223,   228,   233,   238,   243,   248,
1019 >     253,   258,   263,   268,   273,   278,   283,   288,   294,   297,
1020 >     299,   301,   303,   305,   308,   313,   318,   323,   324,   331,
1021 >     334,   336,   338,   340,   343,   348,   353,   359,   362,   364,
1022 >     366,   368,   371,   376,   377,   384,   387,   389,   391,   393,
1023 >     395,   398,   403,   408,   413,   414,   420,   424,   426,   428,
1024 >     430,   432,   434,   436,   438,   440,   441,   448,   451,   453,
1025 >     455,   457,   459,   461,   463,   465,   467,   469,   471,   474,
1026 >     479,   484,   489,   494,   499,   504,   509,   510,   516,   520,
1027 >     522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
1028 >     542,   544,   546,   548,   550,   552,   554,   556,   558,   560,
1029 >     562,   564,   565,   571,   575,   577,   581,   583,   587,   589,
1030 >     593,   595,   597,   599,   601,   603,   605,   607,   609,   611,
1031 >     613,   615,   617,   619,   621,   623,   625,   627,   629,   630,
1032 >     637,   640,   642,   644,   646,   648,   650,   652,   654,   656,
1033 >     658,   660,   662,   664,   666,   668,   670,   672,   674,   677,
1034 >     682,   687,   692,   697,   702,   707,   712,   717,   722,   727,
1035 >     732,   737,   742,   747,   752,   753,   759,   763,   765,   767,
1036 >     769,   770,   777,   778,   784,   788,   790,   792,   794,   796,
1037 >     799,   801,   803,   805,   807,   809,   812,   813,   819,   823,
1038 >     825,   827,   831,   836,   841,   842,   849,   852,   854,   856,
1039 >     858,   860,   862,   864,   866,   868,   870,   873,   878,   883,
1040 >     888,   893,   894,   900,   904,   906,   908,   910,   912,   914,
1041 >     916,   918,   920,   922,   924,   926,   931,   936,   941,   942,
1042 >     949,   952,   954,   956,   958,   960,   963,   968,   973,   978,
1043 >     984,   987,   989,   991,   993,   998,   999,  1006,  1009,  1011,
1044 >    1013,  1015,  1017,  1020,  1025,  1030,  1031,  1037,  1041,  1043,
1045 >    1045,  1047,  1049,  1051,  1053,  1055,  1057,  1059,  1061,  1063,
1046 >    1064,  1071,  1074,  1076,  1078,  1080,  1083,  1088,  1089,  1095,
1047 >    1099,  1101,  1103,  1105,  1107,  1109,  1111,  1113,  1115,  1117,
1048 >    1119,  1121,  1122,  1129,  1132,  1134,  1136,  1138,  1140,  1142,
1049 >    1144,  1146,  1148,  1150,  1152,  1154,  1156,  1158,  1160,  1162,
1050 >    1165,  1170,  1175,  1180,  1185,  1190,  1195,  1200,  1205,  1210,
1051 >    1211,  1217,  1221,  1223,  1225,  1227,  1232,  1237,  1242,  1247,
1052 >    1252,  1253,  1260,  1263,  1265,  1267,  1269,  1271,  1276,  1281,
1053 >    1282,  1289,  1292,  1294,  1296,  1298,  1300,  1305,  1310,  1316,
1054 >    1319,  1321,  1323,  1325,  1330,  1331,  1338,  1341,  1343,  1345,
1055 >    1347,  1349,  1354,  1359,  1365,  1368,  1370,  1372,  1374,  1376,
1056 >    1378,  1380,  1382,  1384,  1386,  1388,  1390,  1392,  1394,  1396,
1057 >    1398,  1400,  1402,  1404,  1406,  1408,  1410,  1412,  1414,  1416,
1058 >    1418,  1420,  1422,  1424,  1426,  1428,  1430,  1432,  1434,  1436,
1059 >    1438,  1440,  1442,  1444,  1446,  1448,  1450,  1452,  1454,  1456,
1060 >    1458,  1460,  1462,  1464,  1466,  1471,  1476,  1481,  1486,  1491,
1061 >    1496,  1501,  1506,  1511,  1516,  1521,  1526,  1531,  1536,  1541,
1062 >    1546,  1551,  1556,  1561,  1566,  1571,  1576,  1581,  1586,  1591,
1063 >    1596,  1601,  1606,  1611,  1616,  1621,  1626,  1631,  1636,  1641,
1064 >    1646,  1651,  1656,  1661,  1666,  1671,  1676,  1681,  1686,  1687,
1065 >    1693,  1697,  1699,  1701,  1703,  1705,  1707,  1709,  1711,  1713,
1066 >    1715,  1717,  1719,  1721,  1723,  1725,  1727,  1729,  1731,  1733,
1067 >    1735,  1737,  1739,  1741,  1742,  1748,  1752,  1754,  1756,  1758,
1068 >    1760,  1762,  1764,  1766,  1768,  1770,  1772,  1774,  1776,  1778,
1069 >    1780,  1782,  1784,  1786,  1788,  1790,  1792,  1794,  1796,  1801,
1070 >    1806,  1811,  1817,  1820,  1822,  1824,  1826,  1828,  1830,  1832,
1071 >    1834,  1836,  1838,  1840,  1842,  1844,  1846,  1848,  1853,  1858,
1072 >    1863,  1868,  1873,  1878,  1883,  1888,  1893,  1898,  1903,  1908,
1073 >    1914,  1917,  1919,  1921,  1923,  1925,  1927,  1929,  1931,  1933,
1074 >    1935,  1937,  1942,  1947,  1952,  1957,  1962,  1967,  1972
1075   };
1076  
1077   /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1078   static const yytype_int16 yyrhs[] =
1079   {
1080 <     223,     0,    -1,    -1,   223,   224,    -1,   258,    -1,   264,
1081 <      -1,   278,    -1,   480,    -1,   296,    -1,   313,    -1,   327,
1082 <      -1,   234,    -1,   497,    -1,   342,    -1,   349,    -1,   353,
1083 <      -1,   363,    -1,   372,    -1,   392,    -1,   402,    -1,   408,
1084 <      -1,   422,    -1,   412,    -1,   229,    -1,     1,   217,    -1,
1085 <       1,   218,    -1,    -1,   226,    -1,   101,   225,    -1,   101,
1086 <     139,   225,    -1,   101,   140,   225,    -1,   101,   141,   225,
1087 <      -1,   101,   142,   225,    -1,   101,   143,   225,    -1,    -1,
1088 <     228,    -1,   101,   227,    -1,   101,     9,   227,    -1,   101,
1089 <      10,   227,    -1,   101,    11,   227,    -1,    90,   219,   230,
1090 <     218,   217,    -1,   230,   231,    -1,   231,    -1,   232,    -1,
1091 <     233,    -1,     1,   217,    -1,    89,   220,   119,   217,    -1,
1092 <     115,   220,   119,   217,    -1,   147,   219,   235,   218,   217,
1093 <      -1,   235,   236,    -1,   236,    -1,   247,    -1,   252,    -1,
1094 <     257,    -1,   249,    -1,   250,    -1,   251,    -1,   254,    -1,
1095 <     255,    -1,   256,    -1,   245,    -1,   244,    -1,   253,    -1,
1096 <     248,    -1,   243,    -1,   237,    -1,   238,    -1,   246,    -1,
1097 <       1,   217,    -1,   133,   220,   239,   217,    -1,   134,   220,
1098 <     241,   217,    -1,   239,   221,   240,    -1,   240,    -1,   135,
1099 <      -1,   136,    -1,   241,   221,   242,    -1,   242,    -1,   135,
1100 <      -1,   136,    -1,   131,   220,   119,   217,    -1,   129,   220,
1101 <     119,   217,    -1,   132,   220,   119,   217,    -1,   172,   220,
1102 <     119,   217,    -1,    91,   220,   119,   217,    -1,   148,   220,
1103 <     119,   217,    -1,    24,   220,   119,   217,    -1,    94,   220,
1104 <     119,   217,    -1,    93,   220,   119,   217,    -1,   211,   220,
1105 <     119,   217,    -1,   212,   220,   119,   217,    -1,   182,   220,
1106 <     101,   217,    -1,    80,   220,   101,   217,    -1,    84,   220,
1107 <     101,   217,    -1,    57,   220,   161,   217,    -1,     4,   219,
1108 <     259,   218,   217,    -1,   259,   260,    -1,   260,    -1,   261,
1109 <      -1,   263,    -1,   262,    -1,     1,   217,    -1,    91,   220,
1110 <     119,   217,    -1,    31,   220,   119,   217,    -1,    24,   220,
1111 <     119,   217,    -1,    71,   219,   265,   218,   217,    -1,   265,
1112 <     266,    -1,   266,    -1,   267,    -1,   268,    -1,     1,   217,
1113 <      -1,   210,   220,   161,   217,    -1,    -1,   269,   216,   219,
1114 <     270,   218,   217,    -1,   270,   271,    -1,   271,    -1,   272,
1115 <      -1,   274,    -1,   273,    -1,     1,   217,    -1,    91,   220,
1116 <     119,   217,    -1,   215,   220,   228,   217,    -1,   215,   220,
1117 <     196,   217,    -1,    -1,   152,   275,   220,   276,   217,    -1,
1118 <     276,   221,   277,    -1,   277,    -1,   208,    -1,   104,    -1,
1119 <      40,    -1,   175,    -1,    64,    -1,    62,    -1,   174,    -1,
1120 <      -1,   104,   279,   219,   280,   218,   217,    -1,   280,   281,
1121 <      -1,   281,    -1,   282,    -1,   283,    -1,   284,    -1,   288,
1122 <      -1,   287,    -1,   285,    -1,   286,    -1,   292,    -1,     1,
1123 <     217,    -1,    91,   220,   119,   217,    -1,   208,   220,   119,
1124 <     217,    -1,   114,   220,   119,   217,    -1,    32,   220,   161,
1125 <     217,    -1,   130,   220,   119,   217,    -1,    17,   220,   119,
1126 <     217,    -1,    -1,   193,   289,   220,   290,   217,    -1,   290,
1127 <     221,   291,    -1,   291,    -1,   167,    -1,   170,    -1,   171,
1128 <      -1,   173,    -1,   174,    -1,   177,    -1,    51,    -1,   190,
1129 <      -1,   183,    -1,   186,    -1,   194,    -1,   191,    -1,   176,
1130 <      -1,   184,    -1,   188,    -1,   178,    -1,   200,    -1,   168,
1131 <      -1,   169,    -1,   181,    -1,    -1,    36,   293,   220,   294,
1132 <     217,    -1,   294,   221,   295,    -1,   295,    -1,    47,    -1,
1133 <     126,    -1,    64,    -1,   207,    -1,   175,    -1,   195,    -1,
1134 <     213,    -1,    40,    -1,    25,    -1,   202,    -1,   125,    -1,
1135 <       4,    -1,    96,    -1,   184,    -1,   199,    -1,   108,    -1,
1136 <     127,    -1,   189,    -1,    89,    -1,    -1,    17,   297,   219,
1137 <     298,   218,   217,    -1,   298,   299,    -1,   299,    -1,   300,
1138 <      -1,   310,    -1,   311,    -1,   301,    -1,   312,    -1,   302,
1139 <      -1,   303,    -1,   304,    -1,   305,    -1,   306,    -1,   307,
1140 <      -1,   308,    -1,   309,    -1,     1,   217,    -1,    91,   220,
1141 <     119,   217,    -1,   117,   220,   226,   217,    -1,   103,   220,
1142 <     101,   217,    -1,    19,   220,   226,   217,    -1,    82,   220,
1143 <     101,   217,    -1,    76,   220,   101,   217,    -1,    78,   220,
1144 <     101,   217,    -1,    77,   220,   101,   217,    -1,   144,   220,
1145 <     228,   217,    -1,   185,   220,   228,   217,    -1,    15,   220,
1146 <     101,   217,    -1,    16,   220,   101,   217,    -1,   102,   220,
1147 <     101,   217,    -1,    -1,    70,   314,   219,   319,   218,   217,
1148 <      -1,    -1,    36,   316,   220,   317,   217,    -1,   317,   221,
1149 <     318,    -1,   318,    -1,   192,    -1,    51,    -1,   187,    -1,
1150 <     319,   320,    -1,   320,    -1,   321,    -1,   315,    -1,   325,
1151 <      -1,   326,    -1,     1,   217,    -1,    -1,   118,   220,   323,
1152 <     322,   217,    -1,   323,   221,   324,    -1,   324,    -1,   101,
1153 <      -1,   101,   165,   101,    -1,    61,   220,   119,   217,    -1,
1154 <      56,   220,   119,   217,    -1,    -1,    48,   328,   219,   329,
1155 <     218,   217,    -1,   329,   330,    -1,   330,    -1,   331,    -1,
1156 <     332,    -1,   333,    -1,   335,    -1,   339,    -1,   340,    -1,
1157 <     341,    -1,   334,    -1,     1,   217,    -1,   208,   220,   119,
1158 <     217,    -1,   114,   220,   119,   217,    -1,    17,   220,   119,
1159 <     217,    -1,    32,   220,   161,   217,    -1,    -1,    36,   336,
1160 <     220,   337,   217,    -1,   337,   221,   338,    -1,   338,    -1,
1161 <     155,    -1,    33,    -1,    65,    -1,    49,    -1,    13,    -1,
1162 <     100,    -1,    43,    -1,   138,    -1,   201,    -1,    92,    -1,
1163 <     154,   220,   119,   217,    -1,   123,   220,   119,   217,    -1,
1164 <     122,   220,   101,   217,    -1,    -1,   137,   343,   219,   344,
1165 <     218,   217,    -1,   344,   345,    -1,   345,    -1,   346,    -1,
1166 <     347,    -1,   348,    -1,     1,   217,    -1,   121,   220,   119,
1167 <     217,    -1,    14,   220,   119,   217,    -1,    95,   220,   119,
1168 <     217,    -1,   203,   219,   350,   218,   217,    -1,   350,   351,
1169 <      -1,   351,    -1,   352,    -1,     1,    -1,    91,   220,   119,
1170 <     217,    -1,    -1,   150,   354,   219,   355,   218,   217,    -1,
1171 <     355,   356,    -1,   356,    -1,   357,    -1,   358,    -1,   359,
1172 <      -1,     1,   217,    -1,    91,   220,   119,   217,    -1,   208,
1173 <     220,   119,   217,    -1,    -1,   152,   360,   220,   361,   217,
1174 <      -1,   361,   221,   362,    -1,   362,    -1,    64,    -1,   207,
1175 <      -1,   175,    -1,   195,    -1,   213,    -1,   198,    -1,   137,
1176 <      -1,   197,    -1,   181,    -1,   166,    -1,    -1,   151,   364,
1177 <     219,   365,   218,   217,    -1,   365,   366,    -1,   366,    -1,
1178 <     367,    -1,   368,    -1,     1,   217,    -1,    91,   220,   119,
1179 <     217,    -1,    -1,   152,   369,   220,   370,   217,    -1,   370,
1180 <     221,   371,    -1,   371,    -1,    64,    -1,   207,    -1,   175,
1181 <      -1,   195,    -1,   213,    -1,   198,    -1,   137,    -1,   197,
1182 <      -1,   181,    -1,   166,    -1,    -1,    18,   373,   219,   374,
1183 <     218,   217,    -1,   374,   375,    -1,   375,    -1,   376,    -1,
1184 <     377,    -1,   378,    -1,   379,    -1,   380,    -1,   382,    -1,
1185 <     381,    -1,   391,    -1,   383,    -1,   388,    -1,   389,    -1,
1186 <     390,    -1,   387,    -1,     1,   217,    -1,    91,   220,   119,
1187 <     217,    -1,    56,   220,   119,   217,    -1,   211,   220,   119,
1188 <     217,    -1,   145,   220,   119,   217,    -1,     3,   220,   119,
1189 <     217,    -1,   118,   220,   101,   217,    -1,     5,   220,   179,
1190 <     217,    -1,     5,   220,   180,   217,    -1,    -1,    36,   384,
1191 <     220,   385,   217,    -1,   385,   221,   386,    -1,   386,    -1,
1192 <       8,    -1,   192,    -1,    32,   220,   161,   217,    -1,    58,
1193 <     220,   119,   217,    -1,    68,   220,   119,   217,    -1,    17,
1194 <     220,   119,   217,    -1,   172,   220,   119,   217,    -1,    -1,
1195 <      62,   393,   219,   398,   218,   217,    -1,    -1,   152,   395,
1196 <     220,   396,   217,    -1,   396,   221,   397,    -1,   397,    -1,
1197 <     124,    -1,   398,   399,    -1,   399,    -1,   400,    -1,   401,
1198 <      -1,   394,    -1,     1,    -1,   208,   220,   119,   217,    -1,
1199 <     121,   220,   119,   217,    -1,    -1,    23,   403,   219,   404,
1200 <     218,   217,    -1,   404,   405,    -1,   405,    -1,   406,    -1,
1201 <     407,    -1,     1,    -1,    61,   220,   119,   217,    -1,   121,
1202 <     220,   119,   217,    -1,    34,   219,   409,   218,   217,    -1,
1203 <     409,   410,    -1,   410,    -1,   411,    -1,     1,    -1,    61,
1204 <     220,   119,   217,    -1,    -1,    38,   413,   219,   418,   218,
1205 <     217,    -1,    -1,   152,   415,   220,   416,   217,    -1,   416,
1206 <     221,   417,    -1,   417,    -1,   124,    -1,   418,   419,    -1,
1207 <     419,    -1,   420,    -1,   421,    -1,   414,    -1,     1,    -1,
1208 <      91,   220,   119,   217,    -1,   121,   220,   119,   217,    -1,
1209 <      39,   219,   423,   218,   217,    -1,   423,   424,    -1,   424,
1210 <      -1,   433,    -1,   434,    -1,   436,    -1,   437,    -1,   438,
1211 <      -1,   439,    -1,   440,    -1,   441,    -1,   442,    -1,   443,
1212 <      -1,   432,    -1,   445,    -1,   446,    -1,   461,    -1,   448,
1213 <      -1,   450,    -1,   452,    -1,   451,    -1,   455,    -1,   449,
1214 <      -1,   456,    -1,   457,    -1,   458,    -1,   459,    -1,   460,
1215 <      -1,   473,    -1,   462,    -1,   463,    -1,   464,    -1,   469,
1216 <      -1,   453,    -1,   454,    -1,   479,    -1,   477,    -1,   478,
1217 <      -1,   435,    -1,   468,    -1,   444,    -1,   466,    -1,   467,
1218 <      -1,   431,    -1,   426,    -1,   427,    -1,   428,    -1,   429,
1219 <      -1,   430,    -1,   447,    -1,   425,    -1,   465,    -1,     1,
1220 <      -1,    85,   220,   101,   217,    -1,    42,   220,   161,   217,
1221 <      -1,    41,   220,   226,   217,    -1,    44,   220,   226,   217,
1222 <      -1,    45,   220,   101,   217,    -1,    46,   220,   101,   217,
1223 <      -1,   149,   220,   161,   217,    -1,    63,   220,   226,   217,
1224 <      -1,    55,   220,   161,   217,    -1,    59,   220,   161,   217,
1225 <      -1,    28,   220,   161,   217,    -1,    35,   220,   161,   217,
1226 <      -1,     6,   220,   161,   217,    -1,    81,   220,   226,   217,
1227 <      -1,    79,   220,   101,   217,    -1,    72,   220,   101,   217,
1228 <      -1,     7,   220,   226,   217,    -1,   164,   220,   226,   217,
1229 <      -1,   163,   220,   226,   217,    -1,    50,   220,   101,   217,
1230 <      -1,    60,   220,   161,   217,    -1,   214,   220,   161,   217,
1231 <      -1,   156,   220,   161,   217,    -1,   159,   220,   161,   217,
1232 <      -1,   160,   220,   161,   217,    -1,   158,   220,   161,   217,
1233 <      -1,   158,   220,   162,   217,    -1,   157,   220,   161,   217,
1234 <      -1,   157,   220,   162,   217,    -1,   112,   220,   226,   217,
1235 <      -1,    12,   220,   226,   217,    -1,   105,   220,   161,   217,
1236 <      -1,   113,   220,   226,   217,    -1,   153,   220,   161,   217,
1237 <      -1,    99,   220,   161,   217,    -1,   206,   220,   161,   217,
1238 <      -1,   107,   220,   161,   217,    -1,    86,   220,   119,   217,
1239 <      -1,    29,   220,   101,   217,    -1,    83,   220,   101,   217,
1240 <      -1,   209,   220,   161,   217,    -1,    30,   220,   119,   217,
1241 <      -1,   204,   220,   119,   217,    -1,   116,   220,   161,   217,
1242 <      -1,    26,   220,   161,   217,    -1,   205,   220,   226,   217,
1243 <      -1,    -1,   109,   470,   220,   471,   217,    -1,   471,   221,
1244 <     472,    -1,   472,    -1,   167,    -1,   170,    -1,   171,    -1,
1245 <     173,    -1,   174,    -1,   177,    -1,    51,    -1,   190,    -1,
1246 <     183,    -1,   186,    -1,   194,    -1,   191,    -1,   176,    -1,
1247 <     184,    -1,   188,    -1,   178,    -1,   200,    -1,   168,    -1,
1248 <     169,    -1,   181,    -1,    -1,   106,   474,   220,   475,   217,
1249 <      -1,   475,   221,   476,    -1,   476,    -1,   167,    -1,   170,
1250 <      -1,   171,    -1,   173,    -1,   174,    -1,   177,    -1,   190,
1251 <      -1,    51,    -1,   183,    -1,   186,    -1,   194,    -1,   191,
1252 <      -1,   176,    -1,   184,    -1,   188,    -1,   178,    -1,   200,
1253 <      -1,   168,    -1,   169,    -1,   181,    -1,    87,   220,   101,
1254 <     217,    -1,    88,   220,   101,   217,    -1,    20,   220,   101,
1255 <     217,    -1,    14,   219,   481,   218,   217,    -1,   481,   482,
1256 <      -1,   482,    -1,   490,    -1,   485,    -1,   486,    -1,   487,
1257 <      -1,   488,    -1,   489,    -1,   491,    -1,   492,    -1,   493,
1258 <      -1,   484,    -1,   494,    -1,   495,    -1,   496,    -1,   483,
1259 <      -1,     1,    -1,    27,   220,   161,   217,    -1,   128,   220,
1260 <     161,   217,    -1,    66,   220,   226,   217,    -1,    67,   220,
1261 <     226,   217,    -1,    75,   220,   101,   217,    -1,    74,   220,
1262 <     101,   217,    -1,   120,   220,   161,   217,    -1,    73,   220,
1263 <     101,   217,    -1,    22,   220,   101,   217,    -1,    21,   220,
1264 <     101,   217,    -1,    97,   220,   161,   217,    -1,    98,   220,
1265 <     161,   217,    -1,   110,   220,   101,   217,    -1,   111,   220,
1266 <     226,   217,    -1,   146,   219,   498,   218,   217,    -1,   498,
1267 <     499,    -1,   499,    -1,   500,    -1,   501,    -1,   503,    -1,
1268 <     504,    -1,   502,    -1,   505,    -1,     1,    -1,    37,   220,
1269 <     161,   217,    -1,    54,   220,   161,   217,    -1,    52,   220,
1270 <     119,   217,    -1,    69,   220,   226,   217,    -1,    51,   220,
1271 <     161,   217,    -1,    53,   220,   161,   217,    -1
1080 >     231,     0,    -1,    -1,   231,   232,    -1,   266,    -1,   278,
1081 >      -1,   292,    -1,   492,    -1,   311,    -1,   334,    -1,   348,
1082 >      -1,   242,    -1,   507,    -1,   363,    -1,   370,    -1,   374,
1083 >      -1,   384,    -1,   393,    -1,   414,    -1,   420,    -1,   426,
1084 >      -1,   436,    -1,   430,    -1,   237,    -1,   272,    -1,     1,
1085 >     224,    -1,     1,   225,    -1,    -1,   234,    -1,   107,   233,
1086 >      -1,   107,   134,   233,    -1,   107,   135,   233,    -1,   107,
1087 >     136,   233,    -1,   107,   137,   233,    -1,   107,   138,   233,
1088 >      -1,   107,   139,   233,    -1,   107,   140,   233,    -1,    -1,
1089 >     236,    -1,   107,   235,    -1,   107,     9,   235,    -1,   107,
1090 >      10,   235,    -1,   107,    11,   235,    -1,    95,   226,   238,
1091 >     225,   224,    -1,   238,   239,    -1,   239,    -1,   240,    -1,
1092 >     241,    -1,     1,   224,    -1,    94,   227,   122,   224,    -1,
1093 >     118,   227,   122,   224,    -1,   144,   226,   243,   225,   224,
1094 >      -1,   243,   244,    -1,   244,    -1,   255,    -1,   260,    -1,
1095 >     265,    -1,   257,    -1,   258,    -1,   259,    -1,   262,    -1,
1096 >     263,    -1,   264,    -1,   253,    -1,   252,    -1,   261,    -1,
1097 >     256,    -1,   251,    -1,   245,    -1,   246,    -1,   254,    -1,
1098 >       1,   224,    -1,   194,   227,   247,   224,    -1,   195,   227,
1099 >     249,   224,    -1,   247,   228,   248,    -1,   248,    -1,   196,
1100 >      -1,   197,    -1,   249,   228,   250,    -1,   250,    -1,   196,
1101 >      -1,   197,    -1,   149,   227,   122,   224,    -1,   132,   227,
1102 >     122,   224,    -1,   151,   227,   122,   224,    -1,   193,   227,
1103 >     122,   224,    -1,    97,   227,   122,   224,    -1,    63,   227,
1104 >     122,   224,    -1,    24,   227,   122,   224,    -1,   101,   227,
1105 >     122,   224,    -1,   100,   227,   122,   224,    -1,   220,   227,
1106 >     122,   224,    -1,   221,   227,   122,   224,    -1,   175,   227,
1107 >     107,   224,    -1,    85,   227,   107,   224,    -1,    89,   227,
1108 >     107,   224,    -1,    56,   227,   207,   224,    -1,     4,   226,
1109 >     267,   225,   224,    -1,   267,   268,    -1,   268,    -1,   269,
1110 >      -1,   271,    -1,   270,    -1,     1,   224,    -1,    97,   227,
1111 >     122,   224,    -1,    31,   227,   122,   224,    -1,    24,   227,
1112 >     122,   224,    -1,    -1,    96,   273,   226,   274,   225,   224,
1113 >      -1,   274,   275,    -1,   275,    -1,   276,    -1,   277,    -1,
1114 >       1,   224,    -1,    75,   227,   122,   224,    -1,   167,   227,
1115 >     122,   224,    -1,   174,   226,   279,   225,   224,    -1,   279,
1116 >     280,    -1,   280,    -1,   281,    -1,   282,    -1,     1,   224,
1117 >      -1,   218,   227,   207,   224,    -1,    -1,   283,   167,   226,
1118 >     284,   225,   224,    -1,   284,   285,    -1,   285,    -1,   286,
1119 >      -1,   288,    -1,   287,    -1,     1,   224,    -1,    97,   227,
1120 >     122,   224,    -1,   188,   227,   236,   224,    -1,   188,   227,
1121 >     201,   224,    -1,    -1,   215,   289,   227,   290,   224,    -1,
1122 >     290,   228,   291,    -1,   291,    -1,   219,    -1,   113,    -1,
1123 >      39,    -1,   164,    -1,    68,    -1,    66,    -1,   163,    -1,
1124 >      -1,   113,   293,   226,   294,   225,   224,    -1,   294,   295,
1125 >      -1,   295,    -1,   296,    -1,   297,    -1,   298,    -1,   303,
1126 >      -1,   302,    -1,   299,    -1,   300,    -1,   301,    -1,   307,
1127 >      -1,     1,   224,    -1,    97,   227,   122,   224,    -1,   219,
1128 >     227,   122,   224,    -1,   117,   227,   122,   224,    -1,    32,
1129 >     227,   207,   224,    -1,   133,   227,   122,   224,    -1,   150,
1130 >     227,   122,   224,    -1,    17,   227,   122,   224,    -1,    -1,
1131 >     198,   304,   227,   305,   224,    -1,   305,   228,   306,    -1,
1132 >     306,    -1,   158,    -1,   160,    -1,   162,    -1,   163,    -1,
1133 >     168,    -1,    48,    -1,   189,    -1,   176,    -1,   180,    -1,
1134 >     199,    -1,   191,    -1,   165,    -1,   178,    -1,   185,    -1,
1135 >     170,    -1,   204,    -1,   190,    -1,   159,    -1,   173,    -1,
1136 >     177,    -1,   166,    -1,    -1,    62,   308,   227,   309,   224,
1137 >      -1,   309,   228,   310,    -1,   310,    -1,    66,   229,   128,
1138 >      -1,    66,    -1,    18,   229,   128,    -1,    18,    -1,   148,
1139 >     229,   128,    -1,   148,    -1,    68,    -1,   216,    -1,   164,
1140 >      -1,   200,    -1,   223,    -1,    39,    -1,    25,    -1,   181,
1141 >      -1,   127,    -1,     4,    -1,   178,    -1,   169,    -1,   205,
1142 >      -1,   173,    -1,   129,    -1,   186,    -1,    94,    -1,    -1,
1143 >      17,   312,   226,   313,   225,   224,    -1,   313,   314,    -1,
1144 >     314,    -1,   315,    -1,   325,    -1,   326,    -1,   316,    -1,
1145 >     327,    -1,   317,    -1,   318,    -1,   319,    -1,   320,    -1,
1146 >     321,    -1,   322,    -1,   323,    -1,   324,    -1,   328,    -1,
1147 >     329,    -1,   330,    -1,     1,   224,    -1,    97,   227,   122,
1148 >     224,    -1,   120,   227,   234,   224,    -1,   109,   227,   107,
1149 >     224,    -1,    19,   227,   234,   224,    -1,    87,   227,   107,
1150 >     224,    -1,    80,   227,   107,   224,    -1,    83,   227,   107,
1151 >     224,    -1,    81,   227,   107,   224,    -1,   142,   227,   236,
1152 >     224,    -1,   179,   227,   236,   224,    -1,    15,   227,   107,
1153 >     224,    -1,    16,   227,   107,   224,    -1,   108,   227,   107,
1154 >     224,    -1,    91,   227,   234,   224,    -1,    82,   227,   234,
1155 >     224,    -1,    -1,    62,   331,   227,   332,   224,    -1,   332,
1156 >     228,   333,    -1,   333,    -1,   123,    -1,    50,    -1,    -1,
1157 >      74,   335,   226,   340,   225,   224,    -1,    -1,    62,   337,
1158 >     227,   338,   224,    -1,   338,   228,   339,    -1,   339,    -1,
1159 >     192,    -1,    48,    -1,   182,    -1,   340,   341,    -1,   341,
1160 >      -1,   342,    -1,   336,    -1,   346,    -1,   347,    -1,     1,
1161 >     224,    -1,    -1,   121,   227,   344,   343,   224,    -1,   344,
1162 >     228,   345,    -1,   345,    -1,   107,    -1,   107,   214,   107,
1163 >      -1,    60,   227,   122,   224,    -1,    55,   227,   122,   224,
1164 >      -1,    -1,    61,   349,   226,   350,   225,   224,    -1,   350,
1165 >     351,    -1,   351,    -1,   352,    -1,   353,    -1,   354,    -1,
1166 >     356,    -1,   360,    -1,   361,    -1,   362,    -1,   355,    -1,
1167 >       1,   224,    -1,   219,   227,   122,   224,    -1,   117,   227,
1168 >     122,   224,    -1,    17,   227,   122,   224,    -1,    32,   227,
1169 >     207,   224,    -1,    -1,    62,   357,   227,   358,   224,    -1,
1170 >     358,   228,   359,    -1,   359,    -1,   147,    -1,    33,    -1,
1171 >      69,    -1,    98,    -1,    13,    -1,   106,    -1,    42,    -1,
1172 >     131,    -1,   206,    -1,    99,    -1,   146,   227,   122,   224,
1173 >      -1,   126,   227,   122,   224,    -1,   125,   227,   107,   224,
1174 >      -1,    -1,   130,   364,   226,   365,   225,   224,    -1,   365,
1175 >     366,    -1,   366,    -1,   367,    -1,   368,    -1,   369,    -1,
1176 >       1,   224,    -1,    75,   227,   122,   224,    -1,   124,   227,
1177 >     122,   224,    -1,    34,   227,   122,   224,    -1,   183,   226,
1178 >     371,   225,   224,    -1,   371,   372,    -1,   372,    -1,   373,
1179 >      -1,     1,    -1,    97,   227,   122,   224,    -1,    -1,   187,
1180 >     375,   226,   376,   225,   224,    -1,   376,   377,    -1,   377,
1181 >      -1,   378,    -1,   379,    -1,   380,    -1,     1,   224,    -1,
1182 >      97,   227,   122,   224,    -1,   219,   227,   122,   224,    -1,
1183 >      -1,   215,   381,   227,   382,   224,    -1,   382,   228,   383,
1184 >      -1,   383,    -1,    68,    -1,   216,    -1,   164,    -1,   200,
1185 >      -1,   223,    -1,   203,    -1,   130,    -1,   202,    -1,   173,
1186 >      -1,   157,    -1,    -1,   161,   385,   226,   386,   225,   224,
1187 >      -1,   386,   387,    -1,   387,    -1,   388,    -1,   389,    -1,
1188 >       1,   224,    -1,    97,   227,   122,   224,    -1,    -1,   215,
1189 >     390,   227,   391,   224,    -1,   391,   228,   392,    -1,   392,
1190 >      -1,    68,    -1,   216,    -1,   164,    -1,   200,    -1,   223,
1191 >      -1,   203,    -1,   130,    -1,   202,    -1,   173,    -1,   157,
1192 >      -1,    -1,    18,   394,   226,   395,   225,   224,    -1,   395,
1193 >     396,    -1,   396,    -1,   397,    -1,   398,    -1,   399,    -1,
1194 >     400,    -1,   401,    -1,   402,    -1,   404,    -1,   403,    -1,
1195 >     413,    -1,   405,    -1,   410,    -1,   411,    -1,   412,    -1,
1196 >     409,    -1,     1,   224,    -1,    97,   227,   122,   224,    -1,
1197 >      55,   227,   122,   224,    -1,   220,   227,   122,   224,    -1,
1198 >     141,   227,   122,   224,    -1,     3,   227,   122,   224,    -1,
1199 >     150,   227,   122,   224,    -1,   121,   227,   107,   224,    -1,
1200 >       5,   227,   171,   224,    -1,     5,   227,   172,   224,    -1,
1201 >      -1,    62,   406,   227,   407,   224,    -1,   407,   228,   408,
1202 >      -1,   408,    -1,     8,    -1,   192,    -1,    32,   227,   207,
1203 >     224,    -1,    57,   227,   122,   224,    -1,    72,   227,   122,
1204 >     224,    -1,    17,   227,   122,   224,    -1,   193,   227,   122,
1205 >     224,    -1,    -1,    66,   415,   226,   416,   225,   224,    -1,
1206 >     416,   417,    -1,   417,    -1,   418,    -1,   419,    -1,     1,
1207 >      -1,   219,   227,   122,   224,    -1,   124,   227,   122,   224,
1208 >      -1,    -1,    23,   421,   226,   422,   225,   224,    -1,   422,
1209 >     423,    -1,   423,    -1,   424,    -1,   425,    -1,     1,    -1,
1210 >      60,   227,   122,   224,    -1,   124,   227,   122,   224,    -1,
1211 >      34,   226,   427,   225,   224,    -1,   427,   428,    -1,   428,
1212 >      -1,   429,    -1,     1,    -1,    60,   227,   122,   224,    -1,
1213 >      -1,    37,   431,   226,   432,   225,   224,    -1,   432,   433,
1214 >      -1,   433,    -1,   434,    -1,   435,    -1,     1,    -1,    97,
1215 >     227,   122,   224,    -1,   124,   227,   122,   224,    -1,    38,
1216 >     226,   437,   225,   224,    -1,   437,   438,    -1,   438,    -1,
1217 >     447,    -1,   448,    -1,   449,    -1,   450,    -1,   451,    -1,
1218 >     452,    -1,   453,    -1,   454,    -1,   455,    -1,   456,    -1,
1219 >     446,    -1,   458,    -1,   459,    -1,   473,    -1,   461,    -1,
1220 >     463,    -1,   465,    -1,   464,    -1,   468,    -1,   462,    -1,
1221 >     469,    -1,   470,    -1,   471,    -1,   472,    -1,   485,    -1,
1222 >     474,    -1,   475,    -1,   476,    -1,   481,    -1,   466,    -1,
1223 >     467,    -1,   491,    -1,   489,    -1,   490,    -1,   480,    -1,
1224 >     457,    -1,   478,    -1,   479,    -1,   445,    -1,   440,    -1,
1225 >     441,    -1,   442,    -1,   443,    -1,   444,    -1,   460,    -1,
1226 >     439,    -1,   477,    -1,     1,    -1,    90,   227,   107,   224,
1227 >      -1,    41,   227,   207,   224,    -1,    40,   227,   234,   224,
1228 >      -1,    45,   227,   234,   224,    -1,    43,   227,   107,   224,
1229 >      -1,    44,   227,   107,   224,    -1,   209,   227,   207,   224,
1230 >      -1,    67,   227,   234,   224,    -1,    54,   227,   207,   224,
1231 >      -1,    58,   227,   207,   224,    -1,    35,   227,   207,   224,
1232 >      -1,     6,   227,   207,   224,    -1,    86,   227,   234,   224,
1233 >      -1,    84,   227,   107,   224,    -1,    76,   227,   107,   224,
1234 >      -1,     7,   227,   234,   224,    -1,   213,   227,   234,   224,
1235 >      -1,   212,   227,   234,   224,    -1,    47,   227,   107,   224,
1236 >      -1,    59,   227,   207,   224,    -1,   222,   227,   207,   224,
1237 >      -1,   152,   227,   207,   224,    -1,   155,   227,   207,   224,
1238 >      -1,   156,   227,   207,   224,    -1,   154,   227,   207,   224,
1239 >      -1,   154,   227,   210,   224,    -1,   153,   227,   207,   224,
1240 >      -1,   153,   227,   210,   224,    -1,   115,   227,   234,   224,
1241 >      -1,    12,   227,   234,   224,    -1,   114,   227,   207,   224,
1242 >      -1,   116,   227,   234,   224,    -1,   145,   227,   207,   224,
1243 >      -1,   105,   227,   207,   224,    -1,   211,   227,   207,   224,
1244 >      -1,   111,   227,   207,   224,    -1,    29,   227,   107,   224,
1245 >      -1,    88,   227,   107,   224,    -1,   217,   227,   207,   224,
1246 >      -1,    30,   227,   122,   224,    -1,   184,   227,   122,   224,
1247 >      -1,   119,   227,   207,   224,    -1,    26,   227,   207,   224,
1248 >      -1,   208,   227,   234,   224,    -1,    -1,   112,   482,   227,
1249 >     483,   224,    -1,   483,   228,   484,    -1,   484,    -1,   158,
1250 >      -1,   160,    -1,   162,    -1,   163,    -1,   168,    -1,    48,
1251 >      -1,   189,    -1,   176,    -1,   180,    -1,   199,    -1,   191,
1252 >      -1,   165,    -1,   178,    -1,   185,    -1,   170,    -1,   204,
1253 >      -1,   190,    -1,   159,    -1,   173,    -1,   177,    -1,   166,
1254 >      -1,    -1,   110,   486,   227,   487,   224,    -1,   487,   228,
1255 >     488,    -1,   488,    -1,   158,    -1,   160,    -1,   162,    -1,
1256 >     163,    -1,   168,    -1,   189,    -1,    48,    -1,   176,    -1,
1257 >     180,    -1,   199,    -1,   191,    -1,   165,    -1,   178,    -1,
1258 >     185,    -1,   170,    -1,   204,    -1,   190,    -1,   159,    -1,
1259 >     173,    -1,   177,    -1,   166,    -1,    92,   227,   107,   224,
1260 >      -1,    93,   227,   107,   224,    -1,    20,   227,   107,   224,
1261 >      -1,    14,   226,   493,   225,   224,    -1,   493,   494,    -1,
1262 >     494,    -1,   500,    -1,   496,    -1,   497,    -1,   498,    -1,
1263 >     499,    -1,   501,    -1,   502,    -1,   503,    -1,   504,    -1,
1264 >     505,    -1,   506,    -1,   495,    -1,     1,    -1,    27,   227,
1265 >     207,   224,    -1,    70,   227,   234,   224,    -1,    71,   227,
1266 >     234,   224,    -1,    79,   227,   107,   224,    -1,    78,   227,
1267 >     107,   224,    -1,    77,   227,   107,   224,    -1,    22,   227,
1268 >     107,   224,    -1,    21,   227,   107,   224,    -1,   103,   227,
1269 >     207,   224,    -1,   104,   227,   207,   224,    -1,    64,   227,
1270 >     107,   224,    -1,    65,   227,   234,   224,    -1,   143,   226,
1271 >     508,   225,   224,    -1,   508,   509,    -1,   509,    -1,   510,
1272 >      -1,   511,    -1,   512,    -1,   513,    -1,   515,    -1,   516,
1273 >      -1,   514,    -1,   517,    -1,     1,    -1,    36,   227,   207,
1274 >     224,    -1,    28,   227,   207,   224,    -1,    52,   227,   207,
1275 >     224,    -1,    53,   227,   207,   224,    -1,    49,   227,   122,
1276 >     224,    -1,    73,   227,   234,   224,    -1,    48,   227,   207,
1277 >     224,    -1,    51,   227,   207,   224,    -1
1278   };
1279  
1280   /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1281   static const yytype_uint16 yyrline[] =
1282   {
1283 <       0,   359,   359,   360,   363,   364,   365,   366,   367,   368,
1284 <     369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
1285 <     379,   380,   381,   382,   383,   384,   388,   388,   389,   393,
1286 <     397,   401,   405,   409,   415,   415,   416,   417,   418,   419,
1287 <     426,   429,   429,   430,   430,   430,   432,   438,   445,   447,
1288 <     447,   448,   448,   449,   449,   450,   450,   451,   451,   452,
1289 <     452,   453,   453,   454,   454,   455,   455,   456,   457,   460,
1290 <     461,   463,   463,   464,   470,   478,   478,   479,   485,   493,
1291 <     535,   594,   622,   630,   645,   660,   669,   683,   692,   720,
1292 <     750,   775,   797,   819,   828,   830,   830,   831,   831,   832,
1293 <     832,   834,   843,   852,   864,   865,   865,   867,   867,   868,
1294 <     870,   877,   877,   890,   891,   893,   893,   894,   894,   896,
1295 <     904,   907,   913,   912,   918,   918,   919,   923,   927,   931,
1296 <     935,   939,   943,   954,   953,  1030,  1030,  1031,  1031,  1031,
1297 <    1032,  1032,  1032,  1033,  1033,  1033,  1035,  1041,  1047,  1053,
1298 <    1064,  1070,  1077,  1076,  1082,  1082,  1083,  1087,  1091,  1095,
1299 <    1099,  1103,  1107,  1111,  1115,  1119,  1123,  1127,  1131,  1135,
1300 <    1139,  1143,  1147,  1151,  1155,  1159,  1166,  1165,  1171,  1171,
1301 <    1172,  1176,  1180,  1184,  1188,  1192,  1196,  1200,  1204,  1208,
1302 <    1212,  1216,  1220,  1224,  1228,  1232,  1236,  1240,  1244,  1255,
1303 <    1254,  1305,  1305,  1306,  1307,  1307,  1308,  1309,  1310,  1311,
1304 <    1312,  1313,  1314,  1315,  1316,  1316,  1317,  1319,  1325,  1331,
1305 <    1337,  1343,  1349,  1355,  1361,  1367,  1373,  1380,  1386,  1392,
1306 <    1402,  1401,  1408,  1407,  1412,  1412,  1413,  1417,  1421,  1427,
1307 <    1427,  1428,  1428,  1428,  1428,  1428,  1430,  1430,  1432,  1432,
1308 <    1434,  1448,  1468,  1474,  1484,  1483,  1525,  1525,  1526,  1526,
1309 <    1526,  1526,  1527,  1527,  1527,  1528,  1528,  1530,  1536,  1542,
1310 <    1548,  1560,  1559,  1565,  1565,  1566,  1570,  1574,  1578,  1582,
1311 <    1586,  1590,  1594,  1598,  1602,  1608,  1622,  1631,  1645,  1644,
1312 <    1653,  1653,  1654,  1654,  1654,  1654,  1656,  1662,  1671,  1680,
1313 <    1682,  1682,  1683,  1683,  1685,  1701,  1700,  1725,  1725,  1726,
1314 <    1726,  1726,  1726,  1728,  1734,  1754,  1753,  1759,  1759,  1760,
1315 <    1764,  1768,  1772,  1776,  1780,  1784,  1788,  1792,  1796,  1806,
1316 <    1805,  1826,  1826,  1827,  1827,  1827,  1829,  1836,  1835,  1841,
1317 <    1841,  1842,  1846,  1850,  1854,  1858,  1862,  1866,  1870,  1874,
1318 <    1878,  1888,  1887,  1953,  1953,  1954,  1954,  1954,  1955,  1955,
1319 <    1956,  1956,  1956,  1957,  1957,  1957,  1958,  1958,  1959,  1961,
1320 <    1967,  1973,  1979,  1992,  2005,  2011,  2015,  2024,  2023,  2028,
1321 <    2028,  2029,  2033,  2039,  2050,  2056,  2062,  2068,  2084,  2083,
1322 <    2146,  2145,  2151,  2151,  2152,  2158,  2158,  2159,  2159,  2159,
1323 <    2159,  2161,  2181,  2191,  2190,  2217,  2217,  2218,  2218,  2218,
1324 <    2220,  2226,  2235,  2237,  2237,  2238,  2238,  2240,  2258,  2257,
1325 <    2303,  2302,  2308,  2308,  2309,  2315,  2315,  2316,  2316,  2316,
1326 <    2316,  2318,  2324,  2333,  2336,  2336,  2337,  2337,  2338,  2338,
1327 <    2339,  2339,  2340,  2340,  2341,  2341,  2342,  2343,  2344,  2344,
1328 <    2345,  2345,  2346,  2346,  2347,  2347,  2348,  2348,  2349,  2349,
1329 <    2350,  2351,  2351,  2352,  2352,  2353,  2353,  2354,  2354,  2355,
1330 <    2355,  2356,  2357,  2357,  2358,  2359,  2360,  2360,  2361,  2361,
1331 <    2362,  2363,  2364,  2365,  2365,  2366,  2369,  2374,  2380,  2386,
1332 <    2392,  2397,  2402,  2407,  2412,  2417,  2422,  2427,  2432,  2437,
1333 <    2442,  2447,  2452,  2457,  2462,  2468,  2479,  2484,  2489,  2494,
1334 <    2499,  2504,  2507,  2512,  2515,  2520,  2525,  2530,  2535,  2540,
1335 <    2545,  2550,  2555,  2560,  2571,  2576,  2581,  2586,  2595,  2604,
1336 <    2609,  2614,  2620,  2619,  2624,  2624,  2625,  2628,  2631,  2634,
1337 <    2637,  2640,  2643,  2646,  2649,  2652,  2655,  2658,  2661,  2664,
1338 <    2667,  2670,  2673,  2676,  2679,  2682,  2688,  2687,  2692,  2692,
1339 <    2693,  2696,  2699,  2702,  2705,  2708,  2711,  2714,  2717,  2720,
1340 <    2723,  2726,  2729,  2732,  2735,  2738,  2741,  2744,  2747,  2750,
1341 <    2755,  2760,  2765,  2774,  2777,  2777,  2778,  2779,  2779,  2780,
1342 <    2780,  2781,  2781,  2782,  2783,  2783,  2784,  2785,  2785,  2786,
1343 <    2786,  2788,  2793,  2798,  2803,  2808,  2813,  2818,  2823,  2828,
1344 <    2833,  2838,  2843,  2848,  2853,  2861,  2864,  2864,  2865,  2865,
1345 <    2866,  2867,  2867,  2868,  2869,  2871,  2877,  2883,  2892,  2906,
1346 <    2912
1283 >       0,   367,   367,   368,   371,   372,   373,   374,   375,   376,
1284 >     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
1285 >     387,   388,   389,   390,   391,   392,   393,   397,   397,   398,
1286 >     402,   406,   410,   414,   418,   422,   426,   432,   432,   433,
1287 >     434,   435,   436,   443,   446,   446,   447,   447,   447,   449,
1288 >     455,   462,   464,   464,   465,   465,   466,   466,   467,   467,
1289 >     468,   468,   469,   469,   470,   470,   471,   471,   472,   472,
1290 >     473,   474,   477,   478,   480,   480,   481,   487,   495,   495,
1291 >     496,   502,   510,   552,   611,   639,   647,   662,   677,   686,
1292 >     700,   709,   737,   767,   792,   814,   836,   845,   847,   847,
1293 >     848,   848,   849,   849,   851,   860,   869,   882,   881,   899,
1294 >     899,   900,   900,   900,   902,   908,   917,   918,   918,   920,
1295 >     920,   921,   923,   930,   930,   943,   944,   946,   946,   947,
1296 >     947,   949,   957,   960,   966,   965,   971,   971,   972,   976,
1297 >     980,   984,   988,   992,   996,  1007,  1006,  1086,  1086,  1087,
1298 >    1087,  1087,  1088,  1088,  1088,  1089,  1089,  1090,  1090,  1092,
1299 >    1098,  1104,  1110,  1121,  1127,  1133,  1140,  1139,  1145,  1145,
1300 >    1146,  1150,  1154,  1158,  1162,  1166,  1170,  1174,  1178,  1182,
1301 >    1186,  1190,  1194,  1198,  1202,  1206,  1210,  1214,  1218,  1222,
1302 >    1226,  1233,  1232,  1238,  1238,  1239,  1243,  1247,  1251,  1255,
1303 >    1259,  1263,  1267,  1271,  1275,  1279,  1283,  1287,  1291,  1295,
1304 >    1299,  1303,  1307,  1311,  1315,  1319,  1323,  1327,  1338,  1337,
1305 >    1398,  1398,  1399,  1400,  1400,  1401,  1402,  1403,  1404,  1405,
1306 >    1406,  1407,  1408,  1409,  1409,  1410,  1411,  1412,  1413,  1415,
1307 >    1421,  1427,  1433,  1439,  1445,  1451,  1457,  1463,  1469,  1476,
1308 >    1482,  1488,  1494,  1503,  1513,  1512,  1518,  1518,  1519,  1523,
1309 >    1534,  1533,  1540,  1539,  1544,  1544,  1545,  1549,  1553,  1559,
1310 >    1559,  1560,  1560,  1560,  1560,  1560,  1562,  1562,  1564,  1564,
1311 >    1566,  1580,  1600,  1606,  1616,  1615,  1657,  1657,  1658,  1658,
1312 >    1658,  1658,  1659,  1659,  1659,  1660,  1660,  1662,  1668,  1674,
1313 >    1680,  1692,  1691,  1697,  1697,  1698,  1702,  1706,  1710,  1714,
1314 >    1718,  1722,  1726,  1730,  1734,  1740,  1754,  1763,  1777,  1776,
1315 >    1791,  1791,  1792,  1792,  1792,  1792,  1794,  1800,  1806,  1816,
1316 >    1818,  1818,  1819,  1819,  1821,  1837,  1836,  1861,  1861,  1862,
1317 >    1862,  1862,  1862,  1864,  1870,  1890,  1889,  1895,  1895,  1896,
1318 >    1900,  1904,  1908,  1912,  1916,  1920,  1924,  1928,  1932,  1942,
1319 >    1941,  1962,  1962,  1963,  1963,  1963,  1965,  1972,  1971,  1977,
1320 >    1977,  1978,  1982,  1986,  1990,  1994,  1998,  2002,  2006,  2010,
1321 >    2014,  2024,  2023,  2093,  2093,  2094,  2094,  2094,  2095,  2095,
1322 >    2096,  2097,  2097,  2097,  2098,  2098,  2098,  2099,  2099,  2100,
1323 >    2102,  2108,  2114,  2120,  2133,  2146,  2152,  2158,  2162,  2171,
1324 >    2170,  2175,  2175,  2176,  2180,  2186,  2197,  2203,  2209,  2215,
1325 >    2231,  2230,  2256,  2256,  2257,  2257,  2257,  2259,  2279,  2289,
1326 >    2288,  2315,  2315,  2316,  2316,  2316,  2318,  2324,  2333,  2335,
1327 >    2335,  2336,  2336,  2338,  2356,  2355,  2378,  2378,  2379,  2379,
1328 >    2379,  2381,  2387,  2396,  2399,  2399,  2400,  2400,  2401,  2401,
1329 >    2402,  2402,  2403,  2403,  2404,  2404,  2405,  2406,  2407,  2407,
1330 >    2408,  2408,  2409,  2409,  2410,  2410,  2411,  2411,  2412,  2412,
1331 >    2413,  2413,  2414,  2414,  2415,  2415,  2416,  2416,  2417,  2417,
1332 >    2418,  2418,  2419,  2420,  2421,  2421,  2422,  2422,  2423,  2424,
1333 >    2425,  2426,  2426,  2427,  2430,  2435,  2441,  2447,  2453,  2458,
1334 >    2463,  2468,  2473,  2478,  2483,  2488,  2493,  2498,  2503,  2508,
1335 >    2513,  2518,  2524,  2535,  2540,  2545,  2550,  2555,  2560,  2563,
1336 >    2568,  2571,  2576,  2581,  2586,  2591,  2596,  2601,  2606,  2611,
1337 >    2616,  2621,  2626,  2631,  2640,  2649,  2654,  2659,  2665,  2664,
1338 >    2669,  2669,  2670,  2673,  2676,  2679,  2682,  2685,  2688,  2691,
1339 >    2694,  2697,  2700,  2703,  2706,  2709,  2712,  2715,  2718,  2721,
1340 >    2724,  2727,  2730,  2736,  2735,  2740,  2740,  2741,  2744,  2747,
1341 >    2750,  2753,  2756,  2759,  2762,  2765,  2768,  2771,  2774,  2777,
1342 >    2780,  2783,  2786,  2789,  2792,  2795,  2798,  2801,  2806,  2811,
1343 >    2816,  2825,  2828,  2828,  2829,  2830,  2830,  2831,  2831,  2832,
1344 >    2833,  2834,  2835,  2836,  2836,  2837,  2837,  2839,  2844,  2849,
1345 >    2854,  2859,  2864,  2869,  2874,  2879,  2884,  2889,  2894,  2902,
1346 >    2905,  2905,  2906,  2906,  2907,  2908,  2909,  2910,  2910,  2911,
1347 >    2912,  2914,  2920,  2926,  2932,  2938,  2947,  2961,  2967
1348   };
1349   #endif
1350  
# Line 1327 | Line 1361 | static const char *const yytname[] =
1361    "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1362    "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1363    "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1364 <  "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1365 <  "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT",
1366 <  "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1367 <  "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1368 <  "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SPOOF_IPS",
1364 >  "FAILED_OPER_NOTICE", "FLATTEN_LINKS", "GECOS", "GENERAL", "GLINE",
1365 >  "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT", "GLINE_MIN_CIDR",
1366 >  "GLINE_MIN_CIDR6", "GLINE_REQUEST_DURATION", "GLOBAL_KILL",
1367 >  "HAVENT_READ_CONF", "HIDDEN", "HIDDEN_NAME", "HIDE_IDLE_FROM_OPERS",
1368 >  "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SERVICES", "HIDE_SPOOF_IPS",
1369    "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1370 <  "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT",
1371 <  "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY",
1372 <  "LISTEN", "T_LOG", "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER",
1373 <  "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1374 <  "MAX_NICK_CHANGES", "MAX_NICK_LENGTH", "MAX_NICK_TIME", "MAX_NUMBER",
1375 <  "MAX_TARGETS", "MAX_TOPIC_LENGTH", "MAX_WATCH", "MESSAGE_LOCALE",
1376 <  "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME",
1377 <  "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1378 <  "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1379 <  "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPERATOR",
1380 <  "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1381 <  "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME",
1382 <  "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE",
1383 <  "PING_TIME", "PORT", "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT",
1384 <  "REDIRSERV", "REGEX_T", "REHASH", "REMOTE", "REMOTEBAN",
1385 <  "RESTRICT_CHANNELS", "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE",
1386 <  "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD",
1387 <  "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT",
1388 <  "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD",
1389 <  "SERVERHIDE", "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1390 <  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1391 <  "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY",
1392 <  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED",
1393 <  "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1394 <  "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1395 <  "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1396 <  "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS",
1397 <  "T_NCHANGE", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_SERVER",
1398 <  "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1399 <  "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE",
1400 <  "T_GLOBOPS", "T_WALLOP", "T_WEBIRC", "T_RESTART", "T_SERVICE",
1401 <  "T_SERVICES_NAME", "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD", "UNKLINE",
1402 <  "USER", "USE_EGD", "USE_LOGGING", "VHOST", "VHOST6", "XLINE",
1403 <  "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",
1370 >  "IP", "IRCD_AUTH", "IRCD_FLAGS", "IRCD_SID", "JOIN_FLOOD_COUNT",
1371 >  "JOIN_FLOOD_TIME", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE",
1372 >  "KLINE_EXEMPT", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1373 >  "LINKS_DELAY", "LISTEN", "MASK", "MAX_ACCEPT", "MAX_BANS",
1374 >  "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT",
1375 >  "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES", "MAX_NICK_LENGTH",
1376 >  "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS", "MAX_TOPIC_LENGTH",
1377 >  "MAX_WATCH", "MIN_IDLE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE",
1378 >  "MODULE", "MODULES", "MOTD", "NAME", "NEED_IDENT", "NEED_PASSWORD",
1379 >  "NETWORK_DESC", "NETWORK_NAME", "NICK", "NO_CREATE_ON_SPLIT",
1380 >  "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE", "NUMBER",
1381 >  "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1382 >  "OPER_UMODES", "OPERATOR", "OPERS_BYPASS_CALLERID", "PACE_WAIT",
1383 >  "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME",
1384 >  "PORT", "QSTRING", "RANDOM_IDLE", "REASON", "REDIRPORT", "REDIRSERV",
1385 >  "REHASH", "REMOTE", "REMOTEBAN", "RESV", "RESV_EXEMPT",
1386 >  "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SECONDS", "MINUTES",
1387 >  "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ",
1388 >  "SERVERHIDE", "SERVERINFO", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1389 >  "SQUIT", "SSL_CERTIFICATE_FILE", "SSL_CERTIFICATE_FINGERPRINT",
1390 >  "SSL_DH_PARAM_FILE", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1391 >  "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "T_ALL",
1392 >  "T_BOTS", "T_CALLERID", "T_CCONN", "T_CLUSTER", "T_DEAF", "T_DEBUG",
1393 >  "T_DLINE", "T_EXTERNAL", "T_FARCONNECT", "T_FILE", "T_FULL", "T_GLOBOPS",
1394 >  "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_LOG", "T_MAX_CLIENTS",
1395 >  "T_NCHANGE", "T_NONONREG", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_RESTART",
1396 >  "T_SERVER", "T_SERVICE", "T_SERVICES_NAME", "T_SERVNOTICE", "T_SET",
1397 >  "T_SHARED", "T_SIZE", "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL",
1398 >  "T_SSL_CIPHER_LIST", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD",
1399 >  "T_SSLV3", "T_TLSV1", "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED",
1400 >  "T_UNRESV", "T_UNXLINE", "T_WALLOP", "T_WALLOPS", "T_WEBIRC", "TBOOL",
1401 >  "THROTTLE_TIME", "TKLINE_EXPIRE_NOTICES", "TMASKED",
1402 >  "TRUE_NO_OPER_FLOOD", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "TYPE",
1403 >  "UNKLINE", "USE_EGD", "USE_LOGGING", "USER", "VHOST", "VHOST6",
1404 >  "WARN_NO_NLINE", "XLINE", "';'", "'}'", "'{'", "'='", "','", "':'",
1405    "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1406    "sizespec", "modules_entry", "modules_items", "modules_item",
1407    "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
# Line 1381 | Line 1416 | static const char *const yytname[] =
1416    "serverinfo_max_clients", "serverinfo_max_nick_length",
1417    "serverinfo_max_topic_length", "serverinfo_hub", "admin_entry",
1418    "admin_items", "admin_item", "admin_name", "admin_email",
1419 <  "admin_description", "logging_entry", "logging_items", "logging_item",
1420 <  "logging_use_logging", "logging_file_entry", "$@1", "logging_file_items",
1421 <  "logging_file_item", "logging_file_name", "logging_file_size",
1422 <  "logging_file_type", "$@2", "logging_file_type_items",
1423 <  "logging_file_type_item", "oper_entry", "$@3", "oper_items", "oper_item",
1424 <  "oper_name", "oper_user", "oper_password", "oper_encrypted",
1425 <  "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@4",
1426 <  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@5",
1427 <  "oper_flags_items", "oper_flags_item", "class_entry", "$@6",
1419 >  "admin_description", "motd_entry", "$@1", "motd_items", "motd_item",
1420 >  "motd_mask", "motd_file", "logging_entry", "logging_items",
1421 >  "logging_item", "logging_use_logging", "logging_file_entry", "$@2",
1422 >  "logging_file_items", "logging_file_item", "logging_file_name",
1423 >  "logging_file_size", "logging_file_type", "$@3",
1424 >  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@4",
1425 >  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1426 >  "oper_encrypted", "oper_rsa_public_key_file",
1427 >  "oper_ssl_certificate_fingerprint", "oper_class", "oper_umodes", "$@5",
1428 >  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@6",
1429 >  "oper_flags_items", "oper_flags_item", "class_entry", "$@7",
1430    "class_items", "class_item", "class_name", "class_ping_time",
1431    "class_number_per_ip", "class_connectfreq", "class_max_number",
1432    "class_max_global", "class_max_local", "class_max_ident", "class_sendq",
1433    "class_recvq", "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1434 <  "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1435 <  "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1436 <  "listen_port", "$@9", "port_items", "port_item", "listen_address",
1437 <  "listen_host", "auth_entry", "$@10", "auth_items", "auth_item",
1438 <  "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1439 <  "$@11", "auth_flags_items", "auth_flags_item", "auth_spoof",
1440 <  "auth_redir_serv", "auth_redir_port", "resv_entry", "$@12", "resv_items",
1441 <  "resv_item", "resv_creason", "resv_channel", "resv_nick",
1442 <  "service_entry", "service_items", "service_item", "service_name",
1443 <  "shared_entry", "$@13", "shared_items", "shared_item", "shared_name",
1444 <  "shared_user", "shared_type", "$@14", "shared_types", "shared_type_item",
1445 <  "cluster_entry", "$@15", "cluster_items", "cluster_item", "cluster_name",
1446 <  "cluster_type", "$@16", "cluster_types", "cluster_type_item",
1447 <  "connect_entry", "$@17", "connect_items", "connect_item", "connect_name",
1434 >  "class_number_per_cidr", "class_min_idle", "class_max_idle",
1435 >  "class_flags", "$@8", "class_flags_items", "class_flags_item",
1436 >  "listen_entry", "$@9", "listen_flags", "$@10", "listen_flags_items",
1437 >  "listen_flags_item", "listen_items", "listen_item", "listen_port",
1438 >  "$@11", "port_items", "port_item", "listen_address", "listen_host",
1439 >  "auth_entry", "$@12", "auth_items", "auth_item", "auth_user",
1440 >  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@13",
1441 >  "auth_flags_items", "auth_flags_item", "auth_spoof", "auth_redir_serv",
1442 >  "auth_redir_port", "resv_entry", "$@14", "resv_items", "resv_item",
1443 >  "resv_mask", "resv_reason", "resv_exempt", "service_entry",
1444 >  "service_items", "service_item", "service_name", "shared_entry", "$@15",
1445 >  "shared_items", "shared_item", "shared_name", "shared_user",
1446 >  "shared_type", "$@16", "shared_types", "shared_type_item",
1447 >  "cluster_entry", "$@17", "cluster_items", "cluster_item", "cluster_name",
1448 >  "cluster_type", "$@18", "cluster_types", "cluster_type_item",
1449 >  "connect_entry", "$@19", "connect_items", "connect_item", "connect_name",
1450    "connect_host", "connect_vhost", "connect_send_password",
1451 <  "connect_accept_password", "connect_port", "connect_aftype",
1452 <  "connect_flags", "$@18", "connect_flags_items", "connect_flags_item",
1453 <  "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1454 <  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@19",
1455 <  "kill_type", "$@20", "kill_type_items", "kill_type_item", "kill_items",
1456 <  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@21",
1451 >  "connect_accept_password", "connect_ssl_certificate_fingerprint",
1452 >  "connect_port", "connect_aftype", "connect_flags", "$@20",
1453 >  "connect_flags_items", "connect_flags_item", "connect_encrypted",
1454 >  "connect_hub_mask", "connect_leaf_mask", "connect_class",
1455 >  "connect_ssl_cipher_list", "kill_entry", "$@21", "kill_items",
1456 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@22",
1457    "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1458 <  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@22",
1420 <  "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1458 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@23",
1459    "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1460    "general_entry", "general_items", "general_item", "general_max_watch",
1461    "general_gline_enable", "general_gline_duration",
1462    "general_gline_request_duration", "general_gline_min_cidr",
1463    "general_gline_min_cidr6", "general_tkline_expire_notices",
1464    "general_kill_chase_time_limit", "general_hide_spoof_ips",
1465 <  "general_ignore_bogus_ts", "general_disable_remote_commands",
1466 <  "general_failed_oper_notice", "general_anti_nick_flood",
1467 <  "general_max_nick_time", "general_max_nick_changes",
1468 <  "general_max_accept", "general_anti_spam_exit_message_time",
1469 <  "general_ts_warn_delta", "general_ts_max_delta",
1470 <  "general_havent_read_conf", "general_invisible_on_connect",
1471 <  "general_warn_no_nline", "general_stats_e_disabled",
1472 <  "general_stats_o_oper_only", "general_stats_P_oper_only",
1473 <  "general_stats_k_oper_only", "general_stats_i_oper_only",
1474 <  "general_pace_wait", "general_caller_id_wait",
1475 <  "general_opers_bypass_callerid", "general_pace_wait_simple",
1476 <  "general_short_motd", "general_no_oper_flood",
1477 <  "general_true_no_oper_flood", "general_oper_pass_resv",
1440 <  "general_message_locale", "general_dots_in_ident", "general_max_targets",
1465 >  "general_ignore_bogus_ts", "general_failed_oper_notice",
1466 >  "general_anti_nick_flood", "general_max_nick_time",
1467 >  "general_max_nick_changes", "general_max_accept",
1468 >  "general_anti_spam_exit_message_time", "general_ts_warn_delta",
1469 >  "general_ts_max_delta", "general_havent_read_conf",
1470 >  "general_invisible_on_connect", "general_warn_no_nline",
1471 >  "general_stats_e_disabled", "general_stats_o_oper_only",
1472 >  "general_stats_P_oper_only", "general_stats_k_oper_only",
1473 >  "general_stats_i_oper_only", "general_pace_wait",
1474 >  "general_caller_id_wait", "general_opers_bypass_callerid",
1475 >  "general_pace_wait_simple", "general_short_motd",
1476 >  "general_no_oper_flood", "general_true_no_oper_flood",
1477 >  "general_oper_pass_resv", "general_dots_in_ident", "general_max_targets",
1478    "general_use_egd", "general_egdpool_path", "general_services_name",
1479    "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1480    "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1481    "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1482    "general_min_nonwildcard", "general_min_nonwildcard_simple",
1483    "general_default_floodcount", "channel_entry", "channel_items",
1484 <  "channel_item", "channel_disable_fake_channels",
1448 <  "channel_restrict_channels", "channel_knock_delay",
1484 >  "channel_item", "channel_disable_fake_channels", "channel_knock_delay",
1485    "channel_knock_delay_channel", "channel_max_chans_per_user",
1486 <  "channel_max_chans_per_oper", "channel_quiet_on_ban", "channel_max_bans",
1486 >  "channel_max_chans_per_oper", "channel_max_bans",
1487    "channel_default_split_user_count", "channel_default_split_server_count",
1488    "channel_no_create_on_split", "channel_no_join_on_split",
1489    "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1490    "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1491 <  "serverhide_hide_servers", "serverhide_hidden_name",
1491 >  "serverhide_disable_remote_commands", "serverhide_hide_servers",
1492 >  "serverhide_hide_services", "serverhide_hidden_name",
1493    "serverhide_links_delay", "serverhide_hidden",
1494    "serverhide_hide_server_ips", YY_NULL
1495   };
# Line 1484 | Line 1521 | static const yytype_uint16 yytoknum[] =
1521       435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1522       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1523       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1524 <     465,   466,   467,   468,   469,   470,   471,    59,   125,   123,
1525 <      61,    44
1524 >     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1525 >     475,   476,   477,   478,    59,   125,   123,    61,    44,    58
1526   };
1527   # endif
1528  
1529   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1530   static const yytype_uint16 yyr1[] =
1531   {
1532 <       0,   222,   223,   223,   224,   224,   224,   224,   224,   224,
1533 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
1534 <     224,   224,   224,   224,   224,   224,   225,   225,   226,   226,
1535 <     226,   226,   226,   226,   227,   227,   228,   228,   228,   228,
1536 <     229,   230,   230,   231,   231,   231,   232,   233,   234,   235,
1537 <     235,   236,   236,   236,   236,   236,   236,   236,   236,   236,
1538 <     236,   236,   236,   236,   236,   236,   236,   236,   236,   237,
1539 <     238,   239,   239,   240,   240,   241,   241,   242,   242,   243,
1540 <     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1541 <     254,   255,   256,   257,   258,   259,   259,   260,   260,   260,
1542 <     260,   261,   262,   263,   264,   265,   265,   266,   266,   266,
1543 <     267,   269,   268,   270,   270,   271,   271,   271,   271,   272,
1544 <     273,   273,   275,   274,   276,   276,   277,   277,   277,   277,
1545 <     277,   277,   277,   279,   278,   280,   280,   281,   281,   281,
1546 <     281,   281,   281,   281,   281,   281,   282,   283,   284,   285,
1547 <     286,   287,   289,   288,   290,   290,   291,   291,   291,   291,
1548 <     291,   291,   291,   291,   291,   291,   291,   291,   291,   291,
1549 <     291,   291,   291,   291,   291,   291,   293,   292,   294,   294,
1550 <     295,   295,   295,   295,   295,   295,   295,   295,   295,   295,
1551 <     295,   295,   295,   295,   295,   295,   295,   295,   295,   297,
1552 <     296,   298,   298,   299,   299,   299,   299,   299,   299,   299,
1553 <     299,   299,   299,   299,   299,   299,   299,   300,   301,   302,
1554 <     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
1555 <     314,   313,   316,   315,   317,   317,   318,   318,   318,   319,
1556 <     319,   320,   320,   320,   320,   320,   322,   321,   323,   323,
1557 <     324,   324,   325,   326,   328,   327,   329,   329,   330,   330,
1558 <     330,   330,   330,   330,   330,   330,   330,   331,   332,   333,
1559 <     334,   336,   335,   337,   337,   338,   338,   338,   338,   338,
1560 <     338,   338,   338,   338,   338,   339,   340,   341,   343,   342,
1561 <     344,   344,   345,   345,   345,   345,   346,   347,   348,   349,
1562 <     350,   350,   351,   351,   352,   354,   353,   355,   355,   356,
1563 <     356,   356,   356,   357,   358,   360,   359,   361,   361,   362,
1564 <     362,   362,   362,   362,   362,   362,   362,   362,   362,   364,
1565 <     363,   365,   365,   366,   366,   366,   367,   369,   368,   370,
1566 <     370,   371,   371,   371,   371,   371,   371,   371,   371,   371,
1567 <     371,   373,   372,   374,   374,   375,   375,   375,   375,   375,
1568 <     375,   375,   375,   375,   375,   375,   375,   375,   375,   376,
1569 <     377,   378,   379,   380,   381,   382,   382,   384,   383,   385,
1570 <     385,   386,   386,   387,   388,   389,   390,   391,   393,   392,
1571 <     395,   394,   396,   396,   397,   398,   398,   399,   399,   399,
1572 <     399,   400,   401,   403,   402,   404,   404,   405,   405,   405,
1573 <     406,   407,   408,   409,   409,   410,   410,   411,   413,   412,
1574 <     415,   414,   416,   416,   417,   418,   418,   419,   419,   419,
1575 <     419,   420,   421,   422,   423,   423,   424,   424,   424,   424,
1576 <     424,   424,   424,   424,   424,   424,   424,   424,   424,   424,
1577 <     424,   424,   424,   424,   424,   424,   424,   424,   424,   424,
1578 <     424,   424,   424,   424,   424,   424,   424,   424,   424,   424,
1579 <     424,   424,   424,   424,   424,   424,   424,   424,   424,   424,
1580 <     424,   424,   424,   424,   424,   424,   425,   426,   427,   428,
1581 <     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
1582 <     439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
1583 <     449,   450,   450,   451,   451,   452,   453,   454,   455,   456,
1584 <     457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
1585 <     467,   468,   470,   469,   471,   471,   472,   472,   472,   472,
1586 <     472,   472,   472,   472,   472,   472,   472,   472,   472,   472,
1587 <     472,   472,   472,   472,   472,   472,   474,   473,   475,   475,
1588 <     476,   476,   476,   476,   476,   476,   476,   476,   476,   476,
1589 <     476,   476,   476,   476,   476,   476,   476,   476,   476,   476,
1590 <     477,   478,   479,   480,   481,   481,   482,   482,   482,   482,
1591 <     482,   482,   482,   482,   482,   482,   482,   482,   482,   482,
1592 <     482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
1593 <     492,   493,   494,   495,   496,   497,   498,   498,   499,   499,
1594 <     499,   499,   499,   499,   499,   500,   501,   502,   503,   504,
1595 <     505
1532 >       0,   230,   231,   231,   232,   232,   232,   232,   232,   232,
1533 >     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1534 >     232,   232,   232,   232,   232,   232,   232,   233,   233,   234,
1535 >     234,   234,   234,   234,   234,   234,   234,   235,   235,   236,
1536 >     236,   236,   236,   237,   238,   238,   239,   239,   239,   240,
1537 >     241,   242,   243,   243,   244,   244,   244,   244,   244,   244,
1538 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
1539 >     244,   244,   245,   246,   247,   247,   248,   248,   249,   249,
1540 >     250,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1541 >     259,   260,   261,   262,   263,   264,   265,   266,   267,   267,
1542 >     268,   268,   268,   268,   269,   270,   271,   273,   272,   274,
1543 >     274,   275,   275,   275,   276,   277,   278,   279,   279,   280,
1544 >     280,   280,   281,   283,   282,   284,   284,   285,   285,   285,
1545 >     285,   286,   287,   287,   289,   288,   290,   290,   291,   291,
1546 >     291,   291,   291,   291,   291,   293,   292,   294,   294,   295,
1547 >     295,   295,   295,   295,   295,   295,   295,   295,   295,   296,
1548 >     297,   298,   299,   300,   301,   302,   304,   303,   305,   305,
1549 >     306,   306,   306,   306,   306,   306,   306,   306,   306,   306,
1550 >     306,   306,   306,   306,   306,   306,   306,   306,   306,   306,
1551 >     306,   308,   307,   309,   309,   310,   310,   310,   310,   310,
1552 >     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
1553 >     310,   310,   310,   310,   310,   310,   310,   310,   312,   311,
1554 >     313,   313,   314,   314,   314,   314,   314,   314,   314,   314,
1555 >     314,   314,   314,   314,   314,   314,   314,   314,   314,   315,
1556 >     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
1557 >     326,   327,   328,   329,   331,   330,   332,   332,   333,   333,
1558 >     335,   334,   337,   336,   338,   338,   339,   339,   339,   340,
1559 >     340,   341,   341,   341,   341,   341,   343,   342,   344,   344,
1560 >     345,   345,   346,   347,   349,   348,   350,   350,   351,   351,
1561 >     351,   351,   351,   351,   351,   351,   351,   352,   353,   354,
1562 >     355,   357,   356,   358,   358,   359,   359,   359,   359,   359,
1563 >     359,   359,   359,   359,   359,   360,   361,   362,   364,   363,
1564 >     365,   365,   366,   366,   366,   366,   367,   368,   369,   370,
1565 >     371,   371,   372,   372,   373,   375,   374,   376,   376,   377,
1566 >     377,   377,   377,   378,   379,   381,   380,   382,   382,   383,
1567 >     383,   383,   383,   383,   383,   383,   383,   383,   383,   385,
1568 >     384,   386,   386,   387,   387,   387,   388,   390,   389,   391,
1569 >     391,   392,   392,   392,   392,   392,   392,   392,   392,   392,
1570 >     392,   394,   393,   395,   395,   396,   396,   396,   396,   396,
1571 >     396,   396,   396,   396,   396,   396,   396,   396,   396,   396,
1572 >     397,   398,   399,   400,   401,   402,   403,   404,   404,   406,
1573 >     405,   407,   407,   408,   408,   409,   410,   411,   412,   413,
1574 >     415,   414,   416,   416,   417,   417,   417,   418,   419,   421,
1575 >     420,   422,   422,   423,   423,   423,   424,   425,   426,   427,
1576 >     427,   428,   428,   429,   431,   430,   432,   432,   433,   433,
1577 >     433,   434,   435,   436,   437,   437,   438,   438,   438,   438,
1578 >     438,   438,   438,   438,   438,   438,   438,   438,   438,   438,
1579 >     438,   438,   438,   438,   438,   438,   438,   438,   438,   438,
1580 >     438,   438,   438,   438,   438,   438,   438,   438,   438,   438,
1581 >     438,   438,   438,   438,   438,   438,   438,   438,   438,   438,
1582 >     438,   438,   438,   438,   439,   440,   441,   442,   443,   444,
1583 >     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1584 >     455,   456,   457,   458,   459,   460,   461,   462,   463,   463,
1585 >     464,   464,   465,   466,   467,   468,   469,   470,   471,   472,
1586 >     473,   474,   475,   476,   477,   478,   479,   480,   482,   481,
1587 >     483,   483,   484,   484,   484,   484,   484,   484,   484,   484,
1588 >     484,   484,   484,   484,   484,   484,   484,   484,   484,   484,
1589 >     484,   484,   484,   486,   485,   487,   487,   488,   488,   488,
1590 >     488,   488,   488,   488,   488,   488,   488,   488,   488,   488,
1591 >     488,   488,   488,   488,   488,   488,   488,   488,   489,   490,
1592 >     491,   492,   493,   493,   494,   494,   494,   494,   494,   494,
1593 >     494,   494,   494,   494,   494,   494,   494,   495,   496,   497,
1594 >     498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
1595 >     508,   508,   509,   509,   509,   509,   509,   509,   509,   509,
1596 >     509,   510,   511,   512,   513,   514,   515,   516,   517
1597   };
1598  
1599   /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1563 | Line 1601 | static const yytype_uint8 yyr2[] =
1601   {
1602         0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1603         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1604 <       1,     1,     1,     1,     2,     2,     0,     1,     2,     3,
1605 <       3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1606 <       5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1604 >       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
1605 >       3,     3,     3,     3,     3,     3,     3,     0,     1,     2,
1606 >       3,     3,     3,     5,     2,     1,     1,     1,     2,     4,
1607 >       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1608         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1609 +       1,     2,     4,     4,     3,     1,     1,     1,     3,     1,
1610 +       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
1611 +       4,     4,     4,     4,     4,     4,     4,     5,     2,     1,
1612 +       1,     1,     1,     2,     4,     4,     4,     0,     6,     2,
1613 +       1,     1,     1,     2,     4,     4,     5,     2,     1,     1,
1614 +       1,     2,     4,     0,     6,     2,     1,     1,     1,     1,
1615 +       2,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1616 +       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1617         1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
1618 <       4,     3,     1,     1,     1,     3,     1,     1,     1,     4,
1572 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1573 <       4,     4,     4,     4,     5,     2,     1,     1,     1,     1,
1574 <       2,     4,     4,     4,     5,     2,     1,     1,     1,     2,
1575 <       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
1576 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1577 <       1,     1,     1,     0,     6,     2,     1,     1,     1,     1,
1578 <       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
1579 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1618 >       4,     4,     4,     4,     4,     4,     0,     5,     3,     1,
1619         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1581       1,     1,     1,     1,     1,     1,     0,     5,     3,     1,
1620         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1621 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1622 <       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1623 <       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
1621 >       1,     0,     5,     3,     1,     3,     1,     3,     1,     3,
1622 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1623 >       1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
1624 >       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1625 >       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
1626         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1627 +       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1628         0,     6,     0,     5,     3,     1,     1,     1,     1,     2,
1629         1,     1,     1,     1,     1,     2,     0,     5,     3,     1,
1630         1,     3,     4,     4,     0,     6,     2,     1,     1,     1,
# Line 1597 | Line 1638 | static const yytype_uint8 yyr2[] =
1638         6,     2,     1,     1,     1,     2,     4,     0,     5,     3,
1639         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1640         1,     0,     6,     2,     1,     1,     1,     1,     1,     1,
1641 <       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
1642 <       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
1643 <       1,     1,     1,     4,     4,     4,     4,     4,     0,     6,
1644 <       0,     5,     3,     1,     1,     2,     1,     1,     1,     1,
1645 <       1,     4,     4,     0,     6,     2,     1,     1,     1,     1,
1646 <       4,     4,     5,     2,     1,     1,     1,     4,     0,     6,
1606 <       0,     5,     3,     1,     1,     2,     1,     1,     1,     1,
1641 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1642 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     0,
1643 >       5,     3,     1,     1,     1,     4,     4,     4,     4,     4,
1644 >       0,     6,     2,     1,     1,     1,     1,     4,     4,     0,
1645 >       6,     2,     1,     1,     1,     1,     4,     4,     5,     2,
1646 >       1,     1,     1,     4,     0,     6,     2,     1,     1,     1,
1647         1,     4,     4,     5,     2,     1,     1,     1,     1,     1,
1648         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1649         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1650         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1651         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1652 <       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
1613 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1652 >       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1653         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1654         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1655         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1656 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1657 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1619 <       1,     1,     1,     1,     1,     1,     0,     5,     3,     1,
1656 >       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
1657 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1658         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1659 +       1,     1,     1,     0,     5,     3,     1,     1,     1,     1,
1660         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1661 <       4,     4,     4,     5,     2,     1,     1,     1,     1,     1,
1662 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1663 <       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1664 <       4,     4,     4,     4,     4,     5,     2,     1,     1,     1,
1665 <       1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
1666 <       4
1661 >       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1662 >       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1663 >       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1664 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     5,
1665 >       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1666 >       1,     4,     4,     4,     4,     4,     4,     4,     4
1667   };
1668  
1669   /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
# Line 1632 | Line 1671 | static const yytype_uint8 yyr2[] =
1671     means the default is an error.  */
1672   static const yytype_uint16 yydefact[] =
1673   {
1674 <       2,     0,     1,     0,     0,     0,   199,   351,   403,     0,
1675 <     418,     0,   254,   388,   230,     0,     0,   133,   288,     0,
1676 <       0,   305,   329,     0,     3,    23,    11,     4,     5,     6,
1677 <       8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1678 <      20,    22,    21,     7,    12,    24,    25,     0,     0,     0,
1674 >       2,     0,     1,     0,     0,     0,   218,   381,   429,     0,
1675 >     444,     0,   284,   420,   260,     0,   107,   145,   318,     0,
1676 >       0,   359,     0,     0,   335,     3,    23,    11,     4,    24,
1677 >       5,     6,     8,     9,    10,    13,    14,    15,    16,    17,
1678 >      18,    19,    20,    22,    21,     7,    12,    25,    26,     0,
1679 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1680         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1681 +       0,     0,     0,     0,     0,    99,   100,   102,   101,   616,
1682         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1683 <       0,     0,    96,    97,    99,    98,   600,     0,     0,     0,
1683 >       0,     0,     0,   603,   615,   605,   606,   607,   608,   604,
1684 >     609,   610,   611,   612,   613,   614,     0,     0,     0,   442,
1685 >       0,     0,   440,   441,     0,   503,     0,     0,     0,     0,
1686         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1644       0,     0,   585,   599,   595,   587,   588,   589,   590,   591,
1645     586,   592,   593,   594,   596,   597,   598,     0,     0,     0,
1646     416,     0,     0,   414,   415,     0,   485,     0,     0,     0,
1687         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1688 +       0,     0,   573,     0,   548,     0,     0,     0,     0,     0,
1689         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1690 <       0,     0,     0,     0,     0,     0,   556,     0,   532,     0,
1690 >       0,     0,     0,     0,   455,   501,   495,   496,   497,   498,
1691 >     499,   494,   466,   456,   457,   458,   459,   460,   461,   462,
1692 >     463,   464,   465,   491,   467,   468,   500,   470,   475,   471,
1693 >     473,   472,   485,   486,   474,   476,   477,   478,   479,   469,
1694 >     481,   482,   483,   502,   492,   493,   490,   484,   480,   488,
1695 >     489,   487,     0,     0,     0,     0,     0,     0,     0,    45,
1696 >      46,    47,     0,     0,     0,   640,     0,     0,     0,     0,
1697 >       0,     0,     0,     0,     0,   631,   632,   633,   634,   635,
1698 >     638,   636,   637,   639,     0,     0,     0,     0,     0,     0,
1699         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1700 <       0,     0,     0,     0,     0,     0,     0,   435,   483,   477,
1701 <     478,   479,   480,   481,   476,   446,   436,   437,   471,   438,
1702 <     439,   440,   441,   442,   443,   444,   445,   473,   447,   448,
1703 <     482,   450,   455,   451,   453,   452,   466,   467,   454,   456,
1704 <     457,   458,   459,   460,   449,   462,   463,   464,   484,   474,
1705 <     475,   472,   465,   461,   469,   470,   468,     0,     0,     0,
1657 <       0,     0,     0,   106,   107,   108,     0,     0,     0,     0,
1658 <       0,    42,    43,    44,     0,     0,   624,     0,     0,     0,
1659 <       0,     0,     0,     0,   617,   618,   619,   622,   620,   621,
1660 <     623,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1700 >       0,     0,     0,    53,    68,    69,    67,    64,    63,    70,
1701 >      54,    66,    57,    58,    59,    55,    65,    60,    61,    62,
1702 >      56,     0,     0,     0,     0,   118,   119,   120,     0,   333,
1703 >       0,     0,   331,   332,     0,   103,     0,     0,     0,     0,
1704 >      98,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1705 >       0,     0,     0,     0,   602,     0,     0,     0,     0,   254,
1706         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1707 <      50,    65,    66,    64,    61,    60,    67,    51,    63,    54,
1708 <      55,    56,    52,    62,    57,    58,    59,    53,     0,     0,
1709 <     303,     0,     0,   301,   302,   100,     0,     0,     0,     0,
1710 <      95,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1711 <       0,     0,     0,     0,     0,     0,   584,     0,     0,     0,
1707 >       0,     0,     0,   221,   222,   225,   227,   228,   229,   230,
1708 >     231,   232,   233,   234,   223,   224,   226,   235,   236,   237,
1709 >       0,     0,     0,     0,     0,     0,     0,   409,     0,     0,
1710 >       0,     0,     0,     0,     0,     0,   384,   385,   386,   387,
1711 >     388,   389,   390,   392,   391,   394,   398,   395,   396,   397,
1712 >     393,   435,     0,     0,     0,   432,   433,   434,     0,     0,
1713 >     439,   450,     0,     0,     0,   447,   448,   449,     0,     0,
1714         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1668       0,     0,   202,   203,   206,   208,   209,   210,   211,   212,
1669     213,   214,   215,   204,   205,   207,     0,     0,     0,     0,
1670       0,   377,     0,     0,     0,     0,     0,     0,     0,     0,
1671       0,   354,   355,   356,   357,   358,   359,   361,   360,   363,
1672     367,   364,   365,   366,   362,   409,     0,     0,     0,   406,
1673     407,   408,     0,     0,   413,   430,     0,     0,   420,   429,
1674       0,   426,   427,   428,     0,     0,     0,     0,     0,     0,
1715         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1716         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1717         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1718 +       0,     0,     0,     0,     0,     0,   454,     0,     0,     0,
1719 +     301,     0,     0,     0,     0,     0,     0,   287,   288,   289,
1720 +     290,   295,   291,   292,   293,   294,   426,     0,     0,     0,
1721 +     423,   424,   425,     0,     0,     0,   262,     0,   272,     0,
1722 +     270,   271,   273,   274,    48,     0,     0,     0,    44,     0,
1723 +       0,     0,     0,   110,   111,   112,     0,     0,     0,   191,
1724 +       0,     0,     0,     0,   166,     0,     0,   148,   149,   150,
1725 +     151,   154,   155,   156,   153,   152,   157,     0,     0,     0,
1726 +       0,     0,   321,   322,   323,   324,     0,     0,     0,     0,
1727 +       0,     0,     0,     0,     0,   630,    71,     0,     0,     0,
1728         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1729 <       0,     0,     0,     0,   434,     0,     0,     0,   271,     0,
1730 <       0,     0,     0,     0,     0,   257,   258,   259,   260,   265,
1731 <     261,   262,   263,   264,   400,     0,   390,     0,   399,     0,
1732 <     396,   397,   398,     0,   232,     0,     0,     0,   242,     0,
1733 <     240,   241,   243,   244,   109,     0,     0,   105,     0,    45,
1684 <       0,     0,     0,    41,     0,     0,     0,   176,     0,     0,
1685 <       0,   152,     0,     0,   136,   137,   138,   139,   142,   143,
1686 <     141,   140,   144,     0,     0,     0,     0,     0,   291,   292,
1687 <     293,   294,     0,     0,     0,     0,     0,     0,     0,   616,
1688 <      68,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1689 <       0,     0,     0,     0,     0,     0,     0,     0,     0,    49,
1690 <       0,     0,   315,     0,     0,   308,   309,   310,   311,     0,
1691 <       0,   337,     0,   332,   333,   334,     0,     0,   300,     0,
1692 <       0,     0,    94,     0,     0,     0,    26,     0,     0,     0,
1693 <       0,     0,     0,     0,     0,     0,     0,     0,   583,   216,
1729 >       0,     0,     0,     0,     0,    52,     0,     0,   367,     0,
1730 >     362,   363,   364,   121,     0,     0,   117,     0,     0,     0,
1731 >     330,     0,     0,   345,     0,     0,   338,   339,   340,   341,
1732 >       0,     0,     0,    97,     0,     0,     0,     0,    27,     0,
1733 >       0,     0,     0,     0,     0,     0,     0,   601,   238,     0,
1734         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1735 <       0,     0,     0,     0,   201,   368,     0,     0,     0,     0,
1735 >       0,     0,     0,     0,     0,     0,   220,   399,     0,     0,
1736         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1737 <     353,     0,     0,     0,   405,     0,   412,     0,     0,     0,
1738 <       0,   425,     0,     0,     0,     0,     0,     0,     0,     0,
1737 >       0,     0,     0,   383,     0,     0,     0,   431,     0,   438,
1738 >       0,     0,     0,   446,     0,     0,     0,     0,     0,     0,
1739         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1740         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1741         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1742         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1743 <       0,     0,     0,   433,   266,     0,     0,     0,     0,     0,
1744 <       0,     0,     0,     0,   256,     0,     0,     0,     0,   395,
1745 <     245,     0,     0,     0,     0,     0,   239,     0,   104,     0,
1746 <       0,     0,    40,   145,     0,     0,     0,     0,     0,     0,
1747 <       0,     0,     0,   135,   295,     0,     0,     0,     0,   290,
1748 <       0,     0,     0,     0,     0,     0,   615,     0,     0,     0,
1749 <       0,     0,     0,     0,     0,     0,     0,    73,    74,     0,
1750 <      72,    77,    78,     0,    76,     0,     0,     0,     0,     0,
1751 <      48,   312,     0,     0,     0,     0,   307,   335,     0,     0,
1752 <       0,   331,     0,   299,   103,   102,   101,   610,   609,   601,
1753 <      26,    26,    26,    26,    26,    28,    27,   603,   604,   608,
1754 <     606,   605,   611,   612,   613,   614,   607,   602,     0,     0,
1755 <       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
1756 <       0,     0,   200,     0,     0,     0,     0,     0,     0,     0,
1757 <       0,     0,     0,     0,     0,     0,     0,   352,     0,     0,
1758 <     404,   417,     0,     0,     0,   419,   498,   502,   516,   582,
1759 <     530,   496,   524,   527,   497,   488,   487,   489,   490,   491,
1760 <     505,   494,   495,   506,   493,   501,   500,   499,   525,   486,
1761 <     523,   580,   581,   520,   517,   567,   560,   577,   578,   561,
1762 <     562,   563,   564,   572,   565,   575,   579,   568,   573,   569,
1763 <     574,   566,   571,   570,   576,     0,   559,   522,   542,   536,
1764 <     553,   554,   537,   538,   539,   540,   548,   541,   551,   555,
1765 <     544,   549,   545,   550,   543,   547,   546,   552,     0,   535,
1766 <     515,   518,   529,   492,   519,   508,   513,   514,   511,   512,
1767 <     509,   510,   504,   503,   528,   531,   521,   526,   507,     0,
1768 <       0,     0,     0,     0,     0,     0,     0,   255,     0,     0,
1769 <       0,   389,     0,     0,     0,   250,   246,   249,   231,   110,
1770 <       0,     0,   122,     0,     0,   114,   115,   117,   116,    46,
1771 <      47,     0,     0,     0,     0,     0,     0,     0,     0,   134,
1772 <       0,     0,     0,   289,   625,   629,   627,   630,   626,   628,
1773 <      85,    93,    91,    92,    83,    87,    86,    80,    79,    81,
1774 <      69,     0,    70,     0,    84,    82,    90,    88,    89,     0,
1775 <       0,     0,   306,     0,     0,   330,   304,    29,    30,    31,
1776 <      32,    33,   227,   228,   220,   222,   224,   223,   221,   217,
1777 <     229,   219,   218,    34,    34,    34,    36,    35,   225,   226,
1778 <     373,   375,   376,   386,   383,   381,   382,     0,   380,   370,
1779 <     384,   385,   369,   374,   372,   387,   371,   410,   411,   431,
1780 <     432,   424,     0,   423,   557,     0,   533,     0,   269,   270,
1781 <     279,   276,   281,   278,   277,   284,   280,   282,   275,   283,
1782 <       0,   274,   268,   287,   286,   285,   267,   402,   394,     0,
1783 <     393,   401,   237,   238,   236,     0,   235,   253,   252,     0,
1784 <       0,     0,   118,     0,     0,     0,     0,   113,   151,   149,
1785 <     191,   188,   187,   180,   182,   198,   192,   195,   190,   181,
1786 <     196,   184,   193,   197,   185,   194,   189,   183,   186,     0,
1787 <     179,   146,   148,   150,   162,   156,   173,   174,   157,   158,
1788 <     159,   160,   168,   161,   171,   175,   164,   169,   165,   170,
1789 <     163,   167,   166,   172,     0,   155,   147,   297,   298,   296,
1790 <      71,    75,   313,   319,   325,   328,   321,   327,   322,   326,
1791 <     324,   320,   323,     0,   318,   314,   336,   341,   347,   350,
1792 <     343,   349,   344,   348,   346,   342,   345,     0,   340,    37,
1793 <      38,    39,   378,     0,   421,     0,   558,   534,   272,     0,
1794 <     391,     0,   233,     0,   251,   248,   247,     0,     0,     0,
1795 <       0,   112,   177,     0,   153,     0,   316,     0,   338,     0,
1796 <     379,   422,   273,   392,   234,   119,   128,   131,   130,   127,
1797 <     132,   129,   126,     0,   125,   121,   120,   178,   154,   317,
1798 <     339,   123,     0,   124
1743 >       0,     0,     0,   453,   296,     0,     0,     0,     0,     0,
1744 >       0,     0,     0,     0,   286,     0,     0,     0,   422,   275,
1745 >       0,     0,     0,     0,     0,   269,     0,     0,    43,   113,
1746 >       0,     0,     0,   109,   158,     0,     0,     0,     0,     0,
1747 >       0,     0,     0,     0,     0,   147,   325,     0,     0,     0,
1748 >       0,   320,     0,     0,     0,     0,     0,     0,     0,     0,
1749 >     629,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1750 >       0,     0,     0,     0,    76,    77,     0,    75,    80,    81,
1751 >       0,    79,     0,     0,    51,   365,     0,     0,     0,   361,
1752 >       0,   116,     0,     0,   329,   342,     0,     0,     0,     0,
1753 >     337,   106,   105,   104,   624,   623,   617,   627,    27,    27,
1754 >      27,    27,    27,    27,    27,    29,    28,   628,   618,   619,
1755 >     622,   621,   620,   625,   626,     0,     0,     0,     0,     0,
1756 >       0,     0,     0,     0,     0,     0,     0,     0,     0,    37,
1757 >       0,     0,   219,     0,     0,     0,     0,     0,     0,     0,
1758 >       0,     0,     0,     0,     0,     0,     0,     0,   382,     0,
1759 >       0,   430,   443,     0,     0,   445,   515,   519,   533,   600,
1760 >     546,   540,   543,   514,   506,   505,   508,   509,   507,   522,
1761 >     512,   513,   523,   511,   518,   517,   516,   541,   504,   598,
1762 >     599,   537,   583,   577,   594,   578,   579,   580,   588,   597,
1763 >     581,   591,   595,   584,   596,   589,   585,   590,   582,   593,
1764 >     587,   586,   592,     0,   576,   539,   557,   552,   569,   553,
1765 >     554,   555,   563,   572,   556,   566,   570,   559,   571,   564,
1766 >     560,   565,   558,   568,   562,   561,   567,     0,   551,   534,
1767 >     532,   535,   545,   536,   525,   530,   531,   528,   529,   526,
1768 >     527,   544,   547,   510,   538,   521,   520,   542,   524,     0,
1769 >       0,     0,     0,     0,     0,     0,     0,   285,     0,     0,
1770 >     421,     0,     0,     0,   280,   276,   279,   261,    49,    50,
1771 >       0,     0,   108,     0,     0,     0,     0,     0,     0,     0,
1772 >       0,     0,   146,     0,     0,     0,   319,   642,   641,   647,
1773 >     645,   648,   643,   644,   646,    88,    96,    87,    94,    95,
1774 >      86,    90,    89,    83,    82,    84,    93,    85,    72,     0,
1775 >      73,     0,    91,    92,     0,     0,   360,   122,     0,     0,
1776 >       0,   134,     0,   126,   127,   129,   128,   334,     0,     0,
1777 >       0,   336,    30,    31,    32,    33,    34,    35,    36,   249,
1778 >     250,   242,   259,   258,     0,   257,   244,   246,   253,   245,
1779 >     243,   252,   239,   251,   241,   240,    37,    37,    37,    39,
1780 >      38,   247,   248,   404,   407,   408,   418,   415,   401,   416,
1781 >     413,   414,     0,   412,   417,   400,   406,   403,   405,   419,
1782 >     402,   436,   437,   451,   452,   574,     0,   549,     0,   299,
1783 >     300,   309,   306,   311,   307,   308,   314,   310,   312,   305,
1784 >     313,     0,   304,   298,   317,   316,   315,   297,   428,   427,
1785 >     283,   282,   267,   268,   266,     0,   265,     0,     0,     0,
1786 >     114,   115,   165,   162,   210,   198,   207,   206,   196,   201,
1787 >     217,   209,   215,   200,   203,   212,   214,   211,   208,   216,
1788 >     204,   213,   202,   205,     0,   194,   159,   161,   163,   164,
1789 >     175,   170,   187,   171,   172,   173,   181,   190,   174,   184,
1790 >     188,   177,   189,   182,   178,   183,   176,   186,   180,   179,
1791 >     185,     0,   169,   160,   328,   326,   327,    74,    78,   366,
1792 >     371,   377,   380,   373,   379,   374,   378,   376,   372,   375,
1793 >       0,   370,   130,     0,     0,     0,     0,   125,   343,   349,
1794 >     355,   358,   351,   357,   352,   356,   354,   350,   353,     0,
1795 >     348,   344,   255,     0,    40,    41,    42,   410,     0,   575,
1796 >     550,   302,     0,   263,     0,   281,   278,   277,     0,     0,
1797 >       0,   192,     0,   167,     0,   368,     0,     0,     0,     0,
1798 >       0,   124,   346,     0,   256,   411,   303,   264,   197,   195,
1799 >     199,   193,   168,   369,   131,   133,   132,   140,   143,   142,
1800 >     139,   144,   141,   138,     0,   137,   347,   135,     0,   136
1801   };
1802  
1803   /* YYDEFGOTO[NTERM-NUM].  */
1804   static const yytype_int16 yydefgoto[] =
1805   {
1806 <      -1,     1,    24,   785,   786,  1026,  1027,    25,   230,   231,
1807 <     232,   233,    26,   269,   270,   271,   272,   749,   750,   753,
1808 <     754,   273,   274,   275,   276,   277,   278,   279,   280,   281,
1809 <     282,   283,   284,   285,   286,   287,    27,    71,    72,    73,
1810 <      74,    75,    28,   222,   223,   224,   225,   226,   954,   955,
1811 <     956,   957,   958,  1094,  1223,  1224,    29,    60,   503,   504,
1812 <     505,   506,   507,   508,   509,   510,   511,   720,  1144,  1145,
1813 <     512,   716,  1119,  1120,    30,    49,   331,   332,   333,   334,
1814 <     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1815 <     345,    31,    57,   478,   701,  1085,  1086,   479,   480,   481,
1816 <    1091,   946,   947,   482,   483,    32,    55,   454,   455,   456,
1817 <     457,   458,   459,   460,   687,  1070,  1071,   461,   462,   463,
1818 <      33,    61,   517,   518,   519,   520,   521,    34,   292,   293,
1819 <     294,    35,    64,   554,   555,   556,   557,   558,   763,  1163,
1820 <    1164,    36,    65,   562,   563,   564,   565,   769,  1177,  1178,
1821 <      37,    50,   360,   361,   362,   363,   364,   365,   366,   367,
1822 <     368,   369,   610,  1037,  1038,   370,   371,   372,   373,   374,
1823 <      38,    56,   468,   696,  1079,  1080,   469,   470,   471,   472,
1824 <      39,    51,   378,   379,   380,   381,    40,   112,   113,   114,
1825 <      41,    53,   389,   629,  1052,  1053,   390,   391,   392,   393,
1826 <      42,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1827 <     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1828 <     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1829 <     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1830 <     205,   206,   207,   208,   209,   210,   211,   212,   425,   908,
1831 <     909,   213,   423,   885,   886,   214,   215,   216,    43,    91,
1832 <      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1833 <     102,   103,   104,   105,   106,    44,   243,   244,   245,   246,
1834 <     247,   248,   249,   250
1806 >      -1,     1,    25,   805,   806,  1059,  1060,    26,   218,   219,
1807 >     220,   221,    27,   262,   263,   264,   265,   766,   767,   770,
1808 >     771,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1809 >     275,   276,   277,   278,   279,   280,    28,    74,    75,    76,
1810 >      77,    78,    29,    61,   492,   493,   494,   495,    30,   284,
1811 >     285,   286,   287,   288,  1022,  1023,  1024,  1025,  1026,  1195,
1812 >    1264,  1265,    31,    62,   506,   507,   508,   509,   510,   511,
1813 >     512,   513,   514,   515,   732,  1171,  1172,   516,   727,  1144,
1814 >    1145,    32,    51,   332,   333,   334,   335,   336,   337,   338,
1815 >     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
1816 >     349,   602,  1044,  1045,    33,    59,   478,   712,  1115,  1116,
1817 >     479,   480,   481,  1119,   965,   966,   482,   483,    34,    57,
1818 >     456,   457,   458,   459,   460,   461,   462,   697,  1101,  1102,
1819 >     463,   464,   465,    35,    63,   521,   522,   523,   524,   525,
1820 >      36,   291,   292,   293,    37,    69,   575,   576,   577,   578,
1821 >     579,   787,  1209,  1210,    38,    66,   559,   560,   561,   562,
1822 >     777,  1190,  1191,    39,    52,   365,   366,   367,   368,   369,
1823 >     370,   371,   372,   373,   374,   375,   624,  1072,  1073,   376,
1824 >     377,   378,   379,   380,    40,    58,   469,   470,   471,   472,
1825 >      41,    53,   384,   385,   386,   387,    42,   111,   112,   113,
1826 >      43,    55,   394,   395,   396,   397,    44,   163,   164,   165,
1827 >     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1828 >     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1829 >     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1830 >     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1831 >     206,   207,   426,   927,   928,   208,   424,   903,   904,   209,
1832 >     210,   211,    45,    92,    93,    94,    95,    96,    97,    98,
1833 >      99,   100,   101,   102,   103,   104,   105,    46,   234,   235,
1834 >     236,   237,   238,   239,   240,   241,   242,   243
1835   };
1836  
1837   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1838     STATE-NUM.  */
1839 < #define YYPACT_NINF -966
1839 > #define YYPACT_NINF -990
1840   static const yytype_int16 yypact[] =
1841   {
1842 <    -966,   599,  -966,  -165,  -183,  -181,  -966,  -966,  -966,  -146,
1843 <    -966,  -127,  -966,  -966,  -966,  -121,  -112,  -966,  -966,  -107,
1844 <     -98,  -966,  -966,   -90,  -966,  -966,  -966,  -966,  -966,  -966,
1845 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1846 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,   338,   822,   -73,
1847 <     -56,   -17,    10,   -15,   405,   -11,    -7,    -1,    38,    75,
1848 <      45,    52,   328,   443,    64,    69,     8,  -197,   -72,     7,
1849 <      17,    11,  -966,  -966,  -966,  -966,  -966,    37,    65,    72,
1850 <      79,    90,    97,   106,   107,   111,   115,   117,   121,   122,
1851 <     123,    22,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1852 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,   665,   550,    67,
1853 <    -966,   125,    16,  -966,  -966,   184,  -966,   129,   131,   133,
1854 <     135,   136,   137,   138,   141,   147,   151,   152,   156,   157,
1855 <     163,   164,   167,   168,   169,   172,   173,   174,   175,   176,
1856 <     182,   183,   185,   187,   188,   189,  -966,   190,  -966,   194,
1857 <     199,   204,   206,   208,   210,   212,   216,   217,   219,   221,
1858 <     222,   223,   225,   232,   233,   236,   110,  -966,  -966,  -966,
1859 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1860 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1861 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1862 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1863 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,   384,     5,   362,
1864 <      34,   237,    84,  -966,  -966,  -966,    73,    78,   238,   241,
1865 <      29,  -966,  -966,  -966,   308,    66,  -966,   242,   243,   250,
1866 <     251,   252,   254,     3,  -966,  -966,  -966,  -966,  -966,  -966,
1867 <    -966,    86,   258,   262,   263,   265,   267,   269,   275,   276,
1868 <     277,   279,   283,   285,   288,   293,   295,   299,   300,   148,
1869 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1870 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,   170,    23,
1871 <    -966,   304,    18,  -966,  -966,  -966,   231,   249,   271,    87,
1872 <    -966,   303,   374,   320,   424,   424,   425,   427,   429,   371,
1873 <     378,   444,   424,   385,   386,   331,  -966,   332,   330,   337,
1874 <     339,   340,   346,   350,   359,   361,   363,   364,   365,   367,
1875 <     368,   230,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1876 <    -966,  -966,  -966,  -966,  -966,  -966,   335,   369,   370,   373,
1877 <     376,  -966,   377,   381,   387,   392,   403,   404,   406,   408,
1878 <     255,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1879 <    -966,  -966,  -966,  -966,  -966,  -966,   409,   410,    47,  -966,
1880 <    -966,  -966,   475,   388,  -966,  -966,   412,   414,  -966,  -966,
1881 <      32,  -966,  -966,  -966,   437,   424,   424,   503,   460,   474,
1882 <     535,   523,   484,   424,   487,   424,   548,   549,   551,   490,
1883 <     498,   504,   424,   563,   566,   424,   572,   573,   556,   575,
1884 <     578,   522,   524,   466,   526,   468,   424,   424,   529,   532,
1885 <     533,   537,   -71,    39,   539,   540,   424,   424,   577,   424,
1886 <     541,   543,   544,   491,  -966,   492,   472,   496,  -966,   497,
1887 <     499,   501,   505,   507,   130,  -966,  -966,  -966,  -966,  -966,
1888 <    -966,  -966,  -966,  -966,  -966,   508,  -966,   511,  -966,     6,
1889 <    -966,  -966,  -966,   493,  -966,   512,   514,   517,  -966,    25,
1890 <    -966,  -966,  -966,  -966,  -966,   546,   495,  -966,   520,  -966,
1891 <     605,   621,   534,  -966,   536,   528,   538,  -966,   542,   545,
1892 <     552,  -966,   553,   261,  -966,  -966,  -966,  -966,  -966,  -966,
1893 <    -966,  -966,  -966,   547,   554,   555,   557,    20,  -966,  -966,
1894 <    -966,  -966,   591,   593,   636,   596,   598,   424,   559,  -966,
1895 <    -966,   641,   602,   617,   668,   647,   651,   652,   659,   660,
1896 <     661,    42,    71,   662,   664,   683,   666,   667,   582,  -966,
1897 <     583,   585,  -966,   587,    68,  -966,  -966,  -966,  -966,   595,
1898 <     607,  -966,    83,  -966,  -966,  -966,   673,   611,  -966,   613,
1899 <     616,   618,  -966,   623,   624,   628,   401,   629,   630,   639,
1900 <     642,   646,   649,   654,   656,   663,   669,   670,  -966,  -966,
1901 <     694,   712,   424,   736,   763,   768,   775,   758,   778,   780,
1902 <     424,   781,   781,   674,  -966,  -966,   764,    31,   766,   729,
1903 <     672,   774,   779,   782,   783,   793,   784,   785,   786,   682,
1904 <    -966,   787,   788,   691,  -966,   692,  -966,   791,   792,   680,
1905 <     695,  -966,   696,   697,   698,   699,   700,   701,   704,   705,
1906 <     706,   707,   708,   709,   710,   711,   713,   714,   717,   718,
1907 <     719,   720,   721,   722,   723,   724,   726,   727,   728,   730,
1908 <     731,   620,   732,   648,   734,   735,   737,   738,   739,   740,
1909 <     741,   742,   743,   744,   745,   746,   747,   748,   749,   750,
1910 <     751,   752,   753,  -966,  -966,   810,   811,   733,   827,   870,
1911 <     854,   855,   856,   759,  -966,   858,   760,   859,   762,  -966,
1912 <    -966,   761,   863,   864,   883,   769,  -966,   770,  -966,   103,
1913 <     771,   772,  -966,  -966,   866,   829,   773,   872,   873,   875,
1914 <     776,   876,   789,  -966,  -966,   878,   879,   880,   790,  -966,
1915 <     794,   795,   796,   797,   798,   799,  -966,   800,   801,   802,
1916 <     803,   804,   805,   806,   807,   808,   809,  -966,  -966,  -199,
1917 <    -966,  -966,  -966,  -192,  -966,   812,   813,   814,   815,   816,
1918 <    -966,  -966,   881,   817,   882,   818,  -966,  -966,   884,   819,
1919 <     821,  -966,   823,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1920 <     424,   424,   424,   424,   424,  -966,  -966,  -966,  -966,  -966,
1921 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,   824,   825,
1922 <     826,   828,   830,   831,   832,   833,   834,   835,   836,     4,
1923 <     837,   838,  -966,   839,   840,   841,   842,   843,     0,   844,
1924 <     845,   846,   847,   848,   849,   850,   851,  -966,   852,   853,
1925 <    -966,  -966,   857,   860,   885,  -966,  -966,  -966,  -966,  -966,
1926 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1927 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1928 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1929 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1930 <    -966,  -966,  -966,  -966,  -966,  -190,  -966,  -966,  -966,  -966,
1931 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1932 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -189,  -966,
1933 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1934 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,   861,
1935 <     862,   321,   865,   867,   868,   869,   871,  -966,   874,   886,
1936 <     877,  -966,    -6,   887,   888,   906,   889,  -966,  -966,  -966,
1937 <     890,   891,  -966,   892,    15,  -966,  -966,  -966,  -966,  -966,
1938 <    -966,   896,   897,   531,   898,   899,   900,   684,   901,  -966,
1939 <     902,   903,   904,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1940 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1941 <    -966,    42,  -966,    71,  -966,  -966,  -966,  -966,  -966,   905,
1942 <     465,   907,  -966,   908,   516,  -966,  -966,  -966,  -966,  -966,
1943 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1944 <    -966,  -966,  -966,   781,   781,   781,  -966,  -966,  -966,  -966,
1945 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -180,  -966,  -966,
1946 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1947 <    -966,  -966,  -171,  -966,  -966,   620,  -966,   648,  -966,  -966,
1948 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1949 <    -170,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -147,
1950 <    -966,  -966,  -966,  -966,  -966,  -142,  -966,  -966,  -966,   926,
1951 <     883,   909,  -966,   915,   910,   -96,   911,  -966,  -966,  -966,
1952 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1953 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -139,
1954 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1955 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1956 <    -966,  -966,  -966,  -966,  -134,  -966,  -966,  -966,  -966,  -966,
1957 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1958 <    -966,  -966,  -966,   -41,  -966,  -966,  -966,  -966,  -966,  -966,
1959 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,   -38,  -966,  -966,
1960 <    -966,  -966,  -966,     0,  -966,   885,  -966,  -966,  -966,   321,
1961 <    -966,   886,  -966,    -6,  -966,  -966,  -966,   912,   469,   914,
1962 <     916,  -966,  -966,   531,  -966,   684,  -966,   465,  -966,   516,
1963 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1964 <    -966,  -966,  -966,   -18,  -966,  -966,  -966,  -966,  -966,  -966,
1965 <    -966,  -966,   469,  -966
1842 >    -990,   660,  -990,  -163,  -210,  -201,  -990,  -990,  -990,  -195,
1843 >    -990,  -192,  -990,  -990,  -990,  -190,  -990,  -990,  -990,  -178,
1844 >    -172,  -990,  -150,  -148,  -990,  -990,  -990,  -990,  -990,  -990,
1845 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1846 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,   248,
1847 >     886,  -127,  -125,  -106,    27,   -92,   424,   -71,   -58,   -53,
1848 >      49,   -42,   -40,   -34,   320,   395,   -28,     9,    26,   -20,
1849 >    -131,   -16,     1,    38,     8,  -990,  -990,  -990,  -990,  -990,
1850 >      87,    90,   103,   108,   112,   113,   115,   116,   117,   119,
1851 >     122,   123,   337,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1852 >    -990,  -990,  -990,  -990,  -990,  -990,   700,   380,    51,  -990,
1853 >     125,    25,  -990,  -990,    80,  -990,   126,   127,   130,   133,
1854 >     134,   136,   139,   140,   143,   147,   148,   150,   151,   152,
1855 >     153,   155,   157,   159,   160,   161,   162,   163,   164,   167,
1856 >     168,   171,  -990,   172,  -990,   176,   177,   182,   183,   190,
1857 >     191,   194,   195,   196,   197,   199,   200,   201,   205,   206,
1858 >     207,   211,   212,   107,  -990,  -990,  -990,  -990,  -990,  -990,
1859 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1860 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1861 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1862 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1863 >    -990,  -990,   330,     6,    11,   101,   216,   218,    46,  -990,
1864 >    -990,  -990,    13,   501,    17,  -990,   219,   221,   222,   230,
1865 >     233,   235,   236,   239,     7,  -990,  -990,  -990,  -990,  -990,
1866 >    -990,  -990,  -990,  -990,   189,   243,   246,   247,   252,   254,
1867 >     258,   259,   260,   261,   262,   263,   266,   267,   270,   271,
1868 >     276,   278,    21,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1869 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1870 >    -990,    85,   251,   280,    18,  -990,  -990,  -990,    73,  -990,
1871 >     282,    62,  -990,  -990,     5,  -990,   384,   389,   391,   291,
1872 >    -990,   412,   413,   315,   416,   417,   417,   417,   418,   419,
1873 >     425,   334,   335,   313,  -990,   323,   321,   324,   326,  -990,
1874 >     338,   340,   341,   344,   345,   348,   355,   357,   358,   359,
1875 >     360,   364,   186,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1876 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1877 >     368,   367,   369,   370,   372,   374,   375,  -990,   376,   377,
1878 >     378,   382,   385,   386,   387,   279,  -990,  -990,  -990,  -990,
1879 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1880 >    -990,  -990,   390,   392,    22,  -990,  -990,  -990,   428,   383,
1881 >    -990,  -990,   393,   402,    20,  -990,  -990,  -990,   404,   417,
1882 >     417,   457,   423,   524,   516,   435,   417,   436,   537,   542,
1883 >     417,   543,   438,   441,   445,   417,   546,   548,   417,   550,
1884 >     551,   552,   555,   456,   439,   458,   440,   462,   417,   417,
1885 >     463,   464,   466,    83,    94,   469,   472,   559,   417,   475,
1886 >     477,   417,   417,   478,   479,   465,  -990,   468,   460,   476,
1887 >    -990,   480,   482,   483,   485,   487,    32,  -990,  -990,  -990,
1888 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,   490,   491,    39,
1889 >    -990,  -990,  -990,   498,   496,   497,  -990,   502,  -990,    10,
1890 >    -990,  -990,  -990,  -990,  -990,   568,   571,   504,  -990,   506,
1891 >     508,   509,    14,  -990,  -990,  -990,   507,   510,   517,  -990,
1892 >     518,   519,   521,   522,  -990,   525,    12,  -990,  -990,  -990,
1893 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,   529,   530,   531,
1894 >     532,     4,  -990,  -990,  -990,  -990,   499,   526,   544,   582,
1895 >     553,   556,   557,   417,   547,  -990,  -990,   603,   558,   644,
1896 >     661,   663,   645,   650,   653,   655,   656,   657,   677,   664,
1897 >      57,    59,   666,   667,   569,  -990,   570,   565,  -990,    74,
1898 >    -990,  -990,  -990,  -990,   588,   572,  -990,   573,   676,   576,
1899 >    -990,   577,   575,  -990,   578,    19,  -990,  -990,  -990,  -990,
1900 >     583,   586,   587,  -990,   589,   592,   594,   595,   421,   598,
1901 >     599,   600,   601,   602,   605,   606,   607,  -990,  -990,   699,
1902 >     720,   417,   609,   725,   730,   417,   731,   732,   417,   711,
1903 >     733,   734,   417,   737,   737,   621,  -990,  -990,   724,   104,
1904 >     736,   641,   738,   740,   625,   741,   743,   748,   744,   750,
1905 >     751,   752,   646,  -990,   753,   755,   654,  -990,   659,  -990,
1906 >     771,   775,   674,  -990,   681,   685,   686,   688,   690,   694,
1907 >     695,   696,   697,   698,   702,   709,   712,   714,   716,   717,
1908 >     719,   728,   729,   742,   745,   746,   747,   754,   756,   757,
1909 >     691,   758,   726,   759,   760,   761,   762,   763,   764,   767,
1910 >     768,   770,   772,   773,   774,   776,   777,   778,   779,   780,
1911 >     781,   782,   783,  -990,  -990,   801,   693,   721,   802,   794,
1912 >     822,   833,   839,   784,  -990,   840,   845,   785,  -990,  -990,
1913 >     850,   852,   749,   868,   786,  -990,   787,   788,  -990,  -990,
1914 >     855,   857,   789,  -990,  -990,   871,   792,   790,   873,   892,
1915 >     893,   894,   791,   897,   796,  -990,  -990,   899,   900,   901,
1916 >     800,  -990,   803,   804,   805,   806,   807,   808,   809,   810,
1917 >    -990,   811,   812,   813,   814,   815,   816,   817,   818,   819,
1918 >     820,   821,   823,   824,  -990,  -990,  -187,  -990,  -990,  -990,
1919 >    -182,  -990,   825,   826,  -990,  -990,   903,   799,   827,  -990,
1920 >     828,  -990,    97,   829,  -990,  -990,   924,   830,   932,   831,
1921 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,   417,   417,
1922 >     417,   417,   417,   417,   417,  -990,  -990,  -990,  -990,  -990,
1923 >    -990,  -990,  -990,  -990,  -990,   832,   834,   835,   -33,   836,
1924 >     837,   838,   841,   842,   843,   844,   846,   847,   848,   179,
1925 >     849,   851,  -990,   853,   854,   856,   858,   859,   860,   861,
1926 >      16,   862,   863,   864,   865,   866,   867,   869,  -990,   870,
1927 >     872,  -990,  -990,   874,   875,  -990,  -990,  -990,  -990,  -990,
1928 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1929 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1930 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1931 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1932 >    -990,  -990,  -990,  -171,  -990,  -990,  -990,  -990,  -990,  -990,
1933 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1934 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -133,  -990,  -990,
1935 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1936 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,   876,
1937 >     877,   541,   878,   879,   880,   881,   882,  -990,   883,   884,
1938 >    -990,   885,   887,   121,   896,   888,  -990,  -990,  -990,  -990,
1939 >     889,   890,  -990,   891,   895,   527,   898,   902,   904,   905,
1940 >     769,   906,  -990,   907,   908,   909,  -990,  -990,  -990,  -990,
1941 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1942 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,    57,
1943 >    -990,    59,  -990,  -990,   910,   538,  -990,  -990,   911,   912,
1944 >     913,  -990,    82,  -990,  -990,  -990,  -990,  -990,   914,   612,
1945 >     917,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1946 >    -990,  -990,  -990,  -990,  -124,  -990,  -990,  -990,  -990,  -990,
1947 >    -990,  -990,  -990,  -990,  -990,  -990,   737,   737,   737,  -990,
1948 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1949 >    -990,  -990,   -68,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1950 >    -990,  -990,  -990,  -990,  -990,  -990,   691,  -990,   726,  -990,
1951 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1952 >    -990,   -21,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1953 >    -990,  -990,  -990,  -990,  -990,   -15,  -990,   956,   868,   918,
1954 >    -990,  -990,  -990,  -990,  -990,   915,  -990,  -990,   916,  -990,
1955 >    -990,  -990,  -990,   919,  -990,  -990,  -990,  -990,  -990,  -990,
1956 >    -990,  -990,  -990,  -990,    50,  -990,  -990,  -990,  -990,  -990,
1957 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1958 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1959 >    -990,    64,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1960 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1961 >      98,  -990,  -990,   942,   -77,   920,   922,  -990,  -990,  -990,
1962 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,    99,
1963 >    -990,  -990,  -990,   -33,  -990,  -990,  -990,  -990,    16,  -990,
1964 >    -990,  -990,   541,  -990,   121,  -990,  -990,  -990,   941,   946,
1965 >     948,  -990,   527,  -990,   769,  -990,   538,   925,   926,   927,
1966 >     242,  -990,  -990,   612,  -990,  -990,  -990,  -990,  -990,  -990,
1967 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1968 >    -990,  -990,  -990,  -990,   109,  -990,  -990,  -990,   242,  -990
1969   };
1970  
1971   /* YYPGOTO[NTERM-NUM].  */
1972   static const yytype_int16 yypgoto[] =
1973   {
1974 <    -966,  -966,  -966,  -718,  -302,  -965,  -601,  -966,  -966,   893,
1975 <    -966,  -966,  -966,  -966,   767,  -966,  -966,  -966,    13,  -966,
1976 <       9,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1977 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,   934,  -966,
1978 <    -966,  -966,  -966,  -966,   913,  -966,  -966,  -966,  -966,    54,
1979 <    -966,  -966,  -966,  -966,  -966,  -204,  -966,  -966,  -966,   569,
1980 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -161,
1981 <    -966,  -966,  -966,  -157,  -966,  -966,  -966,   756,  -966,  -966,
1982 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1983 <    -966,  -966,  -966,  -966,  -966,  -966,  -120,  -966,   597,  -966,
1984 <    -966,  -966,   -10,  -966,  -966,  -966,  -966,  -966,   627,  -966,
1985 <    -966,  -966,  -966,  -966,  -966,  -966,  -114,  -966,  -966,  -966,
1986 <    -966,  -966,  -966,   576,  -966,  -966,  -966,  -966,  -966,   894,
1987 <    -966,  -966,  -966,  -966,   580,  -966,  -966,  -966,  -966,  -966,
1988 <    -124,  -966,  -966,  -966,   527,  -966,  -966,  -966,  -966,  -119,
1989 <    -966,  -966,  -966,   777,  -966,  -966,  -966,  -966,  -966,  -966,
1990 <    -966,  -966,  -966,  -966,   -91,  -966,  -966,  -966,  -966,  -966,
1991 <    -966,  -966,  -966,  -966,  -966,   -95,  -966,   626,  -966,  -966,
1992 <    -966,  -966,  -966,   725,  -966,  -966,  -966,  -966,   985,  -966,
1993 <    -966,  -966,  -966,  -966,  -966,   -87,  -966,   716,  -966,  -966,
1994 <    -966,  -966,   933,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1995 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1996 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1997 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1998 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1999 <      43,  -966,  -966,  -966,    46,  -966,  -966,  -966,  -966,  -966,
2000 <    1011,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
2001 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,   895,  -966,  -966,
2002 <    -966,  -966,  -966,  -966
1974 >    -990,  -990,  -990,  -176,  -303,  -989,  -613,  -990,  -990,   934,
1975 >    -990,  -990,  -990,  -990,   921,  -990,  -990,  -990,    70,  -990,
1976 >      81,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1977 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  1007,  -990,
1978 >    -990,  -990,  -990,  -990,  -990,   620,  -990,  -990,  -990,  -990,
1979 >     923,  -990,  -990,  -990,  -990,    75,  -990,  -990,  -990,  -990,
1980 >    -990,  -173,  -990,  -990,  -990,   611,  -990,  -990,  -990,  -990,
1981 >    -990,  -990,  -990,  -990,  -990,  -990,  -116,  -990,  -990,  -990,
1982 >    -112,  -990,  -990,  -990,   793,  -990,  -990,  -990,  -990,  -990,
1983 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1984 >    -990,  -990,  -990,   -90,  -990,  -990,  -990,  -990,  -990,  -103,
1985 >    -990,   648,  -990,  -990,  -990,    35,  -990,  -990,  -990,  -990,
1986 >    -990,   668,  -990,  -990,  -990,  -990,  -990,  -990,  -990,   -86,
1987 >    -990,  -990,  -990,  -990,  -990,  -990,   616,  -990,  -990,  -990,
1988 >    -990,  -990,   928,  -990,  -990,  -990,  -990,   579,  -990,  -990,
1989 >    -990,  -990,  -990,  -100,  -990,  -990,  -990,   596,  -990,  -990,
1990 >    -990,  -990,   -80,  -990,  -990,  -990,   795,  -990,  -990,  -990,
1991 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,   -61,  -990,
1992 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,   689,  -990,  -990,
1993 >    -990,  -990,  -990,   797,  -990,  -990,  -990,  -990,  1048,  -990,
1994 >    -990,  -990,  -990,   798,  -990,  -990,  -990,  -990,   998,  -990,
1995 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1996 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1997 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1998 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,
1999 >    -990,  -990,  -990,  -990,    76,  -990,  -990,  -990,    77,  -990,
2000 >    -990,  -990,  -990,  -990,  1070,  -990,  -990,  -990,  -990,  -990,
2001 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990,   931,
2002 >    -990,  -990,  -990,  -990,  -990,  -990,  -990,  -990
2003   };
2004  
2005   /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
2006     positive, shift that token.  If negative, reduce the rule which
2007     number is the opposite.  If YYTABLE_NINF, syntax error.  */
2008 < #define YYTABLE_NINF -112
2008 > #define YYTABLE_NINF -124
2009   static const yytype_int16 yytable[] =
2010   {
2011 <     810,   811,   577,   578,   236,   809,   464,   464,  1035,   290,
2012 <     585,   110,    67,  1023,  1024,  1025,   950,   110,   990,   290,
2013 <     295,   513,   991,    76,   559,   992,   473,  1054,  1056,   993,
2014 <     227,  1055,  1057,   385,   514,    68,    47,  1182,    48,   220,
2015 <     237,  1183,    69,    77,    78,  1082,  1184,  1188,   375,    79,
2016 <    1185,  1189,    45,    46,   238,   239,   240,   241,  1179,  1180,
2017 <    1181,   474,  1007,  1008,  1009,  1010,  1011,   513,   375,   550,
2018 <    1190,   111,   242,    52,  1191,  1192,   227,   111,  1202,  1193,
2019 <     514,   475,  1203,  1204,   559,   220,   476,  1205,    80,    81,
2020 <     670,   671,    54,   633,   634,    82,    83,    84,    58,   291,
2021 <    1199,   641,    70,   643,   950,   809,   951,    59,   376,   291,
2022 <     650,   116,    62,   653,   560,   515,   117,   118,   228,    85,
2023 <      86,    63,   119,   386,   664,   665,   465,   465,   376,    66,
2024 <     120,   445,    87,    88,   676,   677,   121,   679,   122,   123,
2025 <     124,   516,    89,   477,   229,   125,   107,   446,   296,   251,
2026 <      90,   126,   127,   387,   128,   129,   130,   466,   466,   551,
2027 <     131,   515,   447,   108,   228,   132,   448,   952,   377,   133,
2028 <     134,   550,   252,   135,   560,   561,  1206,   747,   748,  1208,
2029 <    1207,  1083,   136,  1209,   388,   385,  1084,   516,   377,   137,
2030 <     229,   138,  1036,   139,   951,   140,   141,   142,   143,  1231,
2031 <     672,   673,   109,  1232,   115,   253,   751,   752,   217,   144,
2032 <     814,   815,   218,   467,   467,   145,   146,   147,   219,   148,
2033 <     552,   528,   149,   150,   698,   735,   151,   297,   254,   299,
2034 <     953,   317,   255,  1096,   383,   561,   567,   298,   728,   256,
2035 <     315,   257,   258,   705,   449,   318,   319,   492,   221,   320,
2036 <     630,   484,   450,   451,  -111,   952,   346,   301,   347,   152,
2037 <     348,   551,   494,   153,   234,   623,   154,   155,   156,   157,
2038 <     158,   235,   349,   159,   160,   386,   553,   259,   495,   260,
2039 <     261,   262,   263,   288,   452,   302,   765,   350,   289,   488,
2040 <     800,   351,   303,   496,   221,   489,   264,   497,   808,   304,
2041 <    -111,   770,   486,   530,   572,   387,   321,   322,   323,   494,
2042 <     305,   352,   324,   353,   161,   162,   163,   306,   953,   164,
2043 <     265,   325,   552,   354,   165,   495,   307,   308,   443,   236,
2044 <     266,   309,   326,   327,  1060,   310,   388,   311,   453,    67,
2045 <     496,   312,   313,   314,   497,   382,   355,   328,   693,   394,
2046 <     569,   395,   498,   396,  1061,   397,   398,   399,   400,   267,
2047 <     268,   401,    68,   473,  1062,   237,   548,   402,   570,    69,
2048 <    1063,   403,   404,   356,   329,   499,   405,   406,   553,   238,
2049 <     239,   240,   241,   407,   408,   445,  1064,   409,   410,   411,
2050 <     571,   500,   412,   413,   414,   415,   416,   242,   474,   498,
2051 <     357,   446,   417,   418,   573,   419,   116,   420,   421,   422,
2052 <     424,   117,   118,  1065,   426,   330,   447,   119,   475,   427,
2053 <     448,  1066,   499,   476,   428,   120,   429,   358,   430,    70,
2054 <     431,   121,   432,   122,   123,   124,   433,   434,   500,   435,
2055 <     125,   436,   437,   438,   251,   439,   126,   127,   603,   128,
2056 <     129,   130,   440,   441,   501,   131,   442,   485,   490,  1067,
2057 <     132,   491,   522,   523,   133,   134,   359,   252,   135,   502,
2058 <     524,   525,   526,   619,   527,   574,  1068,   136,   531,   722,
2059 <     477,   575,   532,   533,   137,   534,   138,   535,   139,   536,
2060 <     140,   141,   142,   143,  1200,   537,   538,   539,   449,   540,
2061 <     253,   501,   576,   541,   144,   542,   450,   451,   543,  1216,
2062 <     145,   146,   147,   544,   148,   545,   502,   149,   150,   546,
2063 <     547,   151,  1069,   254,   566,   576,   579,   255,   580,  1153,
2064 <     581,  1217,   582,  1218,   256,  1100,   257,   258,   452,   583,
2065 <     780,   781,   782,   783,   784,   584,   586,   587,   588,   589,
2066 <     590,   346,   605,   347,   152,   348,  1101,   591,   153,   592,
2067 <     593,   154,   155,   156,   157,   158,   594,   349,   159,   160,
2068 <     595,  1102,   259,  1219,   260,   261,   262,   263,  1103,   596,
2069 <    1167,   597,   350,   598,   599,   600,   351,   601,   602,   606,
2070 <     607,   264,   453,   608,   625,  1104,   609,   611,   632,     2,
2071 <       3,   612,  1154,     4,   635,   626,   352,   613,   353,   161,
2072 <     162,   163,   614,     5,   164,   265,     6,     7,   354,   165,
2073 <    1105,   636,     8,   615,   616,   266,   617,  1106,   618,   621,
2074 <     622,  1155,   627,     9,   628,   637,   638,    10,    11,  1107,
2075 <    1156,   355,   639,  1220,  1221,   640,  1157,    12,   642,   644,
2076 <     645,   647,   646,  1168,   267,   268,  1108,  1109,  1110,   648,
2077 <    1158,    13,  1159,  1160,   651,   649,   317,   652,   356,    14,
2078 <      15,   865,  1161,   654,   655,   656,   657,  1222,  1162,   658,
2079 <     318,   319,  1169,   659,   320,   660,   661,   662,   663,    16,
2080 <     666,  1170,   685,   667,   668,   357,   678,  1171,   669,   888,
2081 <     674,   675,   680,    17,   681,   682,  1111,   707,   683,   684,
2082 <     700,  1172,   708,  1173,  1174,  1112,   686,   688,   739,   689,
2083 <    1113,   690,   358,  1175,   710,   691,  1114,   692,   695,  1176,
2084 <    1115,   697,   702,  1116,   703,  1124,    18,   704,  1117,   709,
2085 <     711,   321,   322,   323,  1118,    19,    20,   324,   714,    21,
2086 <      22,   712,   730,   713,   731,   732,   325,   733,   715,   734,
2087 <     737,   359,   717,   738,   724,   718,   741,   326,   327,   740,
2088 <     742,   743,   719,   721,   725,   726,   736,   727,   744,   745,
2089 <     746,   755,   328,   756,   757,   758,   759,   866,   867,   868,
2090 <     869,   870,   772,   871,   872,   798,   873,   874,   875,   760,
2091 <     761,   876,    23,   877,   878,   762,   879,   764,   880,   329,
2092 <     881,   882,   767,   799,   883,   889,   890,   891,   892,   893,
2093 <     884,   894,   895,    76,   896,   897,   898,   768,   773,   899,
2094 <     774,   900,   901,   775,   902,   776,   903,   801,   904,   905,
2095 <     777,   778,   906,    77,    78,   779,   787,   788,   907,    79,
2096 <     330,  1125,  1126,  1127,  1128,  1129,   789,  1130,  1131,   790,
2097 <    1132,  1133,  1134,   791,   802,  1135,   792,  1136,  1137,   803,
2098 <    1138,   793,  1139,   794,  1140,  1141,   804,   805,  1142,   806,
2099 <     795,   807,   809,   813,  1143,   816,   796,   797,    80,    81,
2100 <     817,   812,   818,   819,   823,    82,    83,    84,   820,   827,
2101 <     834,   821,   822,   824,   825,   826,   828,   829,   830,   831,
2102 <     832,   833,   835,   836,   837,   838,   839,   840,   841,    85,
2103 <      86,   842,   843,   844,   845,   846,   847,   848,   849,   929,
2104 <     850,   851,    87,    88,   852,   853,   854,   855,   856,   857,
2105 <     858,   859,    89,   860,   861,   862,   932,   863,   864,   887,
2106 <      90,   910,   911,   931,   912,   913,   914,   915,   916,   917,
2107 <     918,   919,   920,   921,   922,   923,   924,   925,   926,   927,
2108 <     928,   933,   930,   934,   935,   936,   937,   938,   940,   941,
2109 <     939,   942,   943,   944,   945,   961,   948,   949,   959,   960,
2110 <     962,   964,   965,   963,   966,   968,   967,   970,   971,   972,
2111 <     999,  1001,  1151,  1003,  1150,   300,   969,   973,  1097,  1051,
2112 <    1078,   974,   975,   976,   977,   978,   979,   980,   981,   982,
2113 <     983,   984,   985,   986,   987,   988,   989,  1194,  1233,   994,
2114 <     995,   996,   997,   998,  1197,  1002,   549,  1000,  1005,  1004,
2115 <    1006,  1012,  1013,  1014,  1228,  1015,  1227,  1016,  1017,  1018,
2116 <    1019,  1020,  1021,  1022,  1028,  1029,  1030,  1031,  1032,  1033,
2117 <    1034,  1039,  1040,  1041,  1042,  1043,  1044,  1045,  1046,  1047,
2118 <    1048,  1089,   723,  1214,  1049,  1212,   706,  1050,  1058,  1059,
2119 <    1195,   694,  1072,  1229,  1073,  1074,  1075,   604,  1076,   771,
2120 <    1230,  1077,  1210,   729,  1081,   699,  1213,   384,  1211,   444,
2121 <    1187,  1186,   316,   624,  1087,  1088,   631,  1092,     0,     0,
2122 <    1090,  1093,  1095,  1098,  1099,  1121,  1122,  1123,  1146,  1147,
2123 <    1148,  1149,  1152,   493,  1165,  1166,  1196,     0,  1201,  1215,
2124 <    1198,  1225,     0,  1226,   766,   487,     0,   620,   529,     0,
2125 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2011 >     830,   831,   589,   590,   591,   517,   571,   466,   225,    70,
2012 >     282,   473,   473,   496,   489,   489,    49,  1042,   517,   282,
2013 >     571,   391,   244,   381,  1070,    50,   109,   289,   109,   497,
2014 >     829,    54,    71,   447,    56,   226,    60,  1008,   518,    72,
2015 >     466,  1009,  1010,   227,   498,   245,  1011,   215,    64,   448,
2016 >     215,   518,   381,  1085,    65,   228,   229,  1086,   230,   231,
2017 >     232,    47,    48,   289,   449,   474,   474,  1214,  1215,  1216,
2018 >     475,   475,   476,   476,   499,   556,    67,   246,    68,   519,
2019 >     233,   391,   382,  1018,   247,   110,   556,   110,   490,   490,
2020 >    1043,  1087,   519,   295,   450,  1088,   645,   646,  1018,   106,
2021 >    1212,   107,   572,   652,  1213,    73,   248,   656,   115,   500,
2022 >     249,   382,   661,   116,   117,   664,   572,   392,   250,   118,
2023 >     108,   251,   252,   290,  1238,   674,   675,   119,   520,   501,
2024 >     467,   477,   477,   120,   114,   686,   121,   122,   689,   690,
2025 >     216,   520,   123,   216,   393,   502,   383,   124,   125,   451,
2026 >     126,   127,   128,   253,   129,   212,  1217,   452,   453,   290,
2027 >    1218,   130,   503,   467,   217,   131,   132,   217,   213,  1112,
2028 >     254,   557,   255,   214,   133,   383,  -123,   392,   454,  1019,
2029 >     491,   491,   557,   134,   222,  -123,   223,   315,  1056,  1057,
2030 >    1058,   135,   224,   136,  1019,   137,   256,   138,   281,   139,
2031 >     140,   316,   317,  1221,   393,   318,   294,  1222,  1071,  1223,
2032 >     504,   296,   141,  1224,   257,   258,   259,   142,   143,   144,
2033 >     573,   145,   146,   147,   574,   468,   148,   283,   297,   740,
2034 >     749,   505,   534,   299,   573,   714,   283,   734,   574,   722,
2035 >     567,   260,   261,   565,   789,   642,   554,   636,   319,    70,
2036 >     389,   455,   149,   764,   765,   768,   769,   703,   468,   150,
2037 >     151,   152,   153,   154,   707,   298,   320,   321,   322,   323,
2038 >    1020,   487,    71,   324,  1231,   834,   835,   325,  1232,    72,
2039 >     350,  1257,   351,   326,   352,  1020,   829,   569,  1233,   558,
2040 >     679,   155,  1234,   680,   327,   328,   353,  1021,   817,   778,
2041 >     558,   681,   821,  1113,   682,   824,   329,  1196,  1258,   828,
2042 >    1259,   354,  1021,  1114,   301,   156,   157,   302,   158,   159,
2043 >     160,   225,  1235,  1242,   161,   484,  1236,  1243,   330,   162,
2044 >     303,   447,   445,  1267,   355,   304,   356,  1268,    79,   305,
2045 >     306,   357,   307,   308,   309,    73,   310,   448,   226,   311,
2046 >     312,   358,   388,   398,   399,  1260,   227,   400,    80,    81,
2047 >     401,   402,   449,   403,    82,   331,   404,   405,   228,   229,
2048 >     406,   230,   231,   232,   407,   408,   359,   409,   410,   411,
2049 >     412,   350,   413,   351,   414,   352,   415,   416,   417,   418,
2050 >     419,   420,   450,   233,   421,   422,   244,   353,   423,   425,
2051 >     360,    83,    84,   427,   428,  1261,  1262,    85,    86,   429,
2052 >     430,   615,   354,   536,    87,    88,    89,   431,   432,   245,
2053 >     361,   433,   434,   435,   436,   115,   437,   438,   439,   362,
2054 >     116,   117,   440,   441,   442,   355,   118,   356,   443,   444,
2055 >      90,    91,   357,   485,   119,   486,   526,   451,   527,   528,
2056 >     120,   246,   358,   121,   122,   452,   453,   529,   247,   123,
2057 >     530,  1263,   531,   532,   124,   125,   533,   126,   127,   128,
2058 >     537,   129,   363,   538,   539,   563,   454,   359,   130,   540,
2059 >     248,   541,   131,   132,   249,   542,   543,   544,   545,   546,
2060 >     547,   133,   250,   548,   549,   251,   252,   550,   551,   364,
2061 >     134,   360,   496,   552,   632,   553,   580,   564,   135,   568,
2062 >     136,   581,   137,   582,   138,   583,   139,   140,   497,   584,
2063 >     585,   361,   586,   587,   588,   592,   593,   253,   588,   141,
2064 >     362,  1124,   594,   498,   142,   143,   144,   597,   145,   146,
2065 >     147,   595,   596,   148,   254,  1125,   255,   598,   599,   455,
2066 >     638,   600,  1126,   601,  1091,   798,   799,   800,   801,   802,
2067 >     803,   804,   313,   499,   647,   603,  1127,   604,   605,   149,
2068 >     256,   606,   607,   363,  1092,   608,   150,   151,   152,   153,
2069 >     154,  1239,   609,  1093,   610,   611,   612,   613,   257,   258,
2070 >     259,   614,   617,  1128,   618,  1129,   619,   620,   500,   621,
2071 >     364,   622,   623,   625,   626,   627,  1180,   639,   155,   628,
2072 >    1094,   644,   629,   630,   631,   260,   261,   634,   501,   635,
2073 >     640,  1130,  1032,  1033,  1034,  1035,  1036,  1037,  1038,   641,
2074 >     648,   649,   156,   157,   502,   158,   159,   160,   650,  1095,
2075 >    1096,   161,   651,   653,   654,   658,   162,  1097,   659,   655,
2076 >     657,   503,   660,   662,  1131,   663,  1132,   665,   666,   667,
2077 >       2,     3,   668,   669,     4,   671,   670,   672,  1181,   673,
2078 >     676,   677,  1098,   678,     5,  1133,   683,     6,     7,   684,
2079 >    1199,   685,   687,     8,   688,   691,   692,   695,  1099,   693,
2080 >     716,  1134,   694,   717,     9,  1182,  1135,    10,    11,   504,
2081 >    1136,   315,  1183,   696,   745,  1137,   742,   698,  1138,   699,
2082 >     700,  1184,   701,  1139,   702,   316,   317,   705,   706,   318,
2083 >     505,    12,   709,   710,   711,   751,    13,  1140,   718,   713,
2084 >     719,   724,  1141,   743,    14,   720,   721,   725,  1185,   882,
2085 >    1186,  1187,  1200,  1142,   726,   728,   729,  1100,   730,   731,
2086 >    1143,   744,   733,   736,  1188,    15,    16,   737,   738,   739,
2087 >     746,  1189,   319,   747,   748,   752,   753,   756,   754,  1201,
2088 >     755,   750,   757,    17,   906,   758,  1202,   759,   760,   761,
2089 >     320,   321,   322,   323,   762,  1203,   763,   324,   772,   773,
2090 >      18,   325,   776,   774,   775,   780,   781,   326,   783,   782,
2091 >     784,   785,   786,    19,    20,   788,   815,   791,   327,   328,
2092 >     792,   793,  1204,   794,  1205,  1206,   795,  1150,   796,   797,
2093 >     329,    21,   807,   808,   809,   810,   811,   816,  1207,   812,
2094 >     813,   814,   819,   825,    22,  1208,   818,   820,   822,   823,
2095 >     826,   827,   330,    23,   829,   832,   833,    24,   837,   883,
2096 >     884,   885,   840,   886,   887,   843,   888,   889,   836,   890,
2097 >     838,   891,   839,   841,   892,   842,   844,   893,   894,   895,
2098 >     848,   896,   845,   846,   847,   849,   897,   850,   851,   331,
2099 >     898,   899,   900,   852,   907,   908,   909,    79,   910,   911,
2100 >     901,   912,   913,   853,   914,   902,   915,   854,   855,   916,
2101 >     950,   953,   917,   918,   919,   856,   920,    80,    81,   857,
2102 >     858,   921,   859,    82,   860,   922,   923,   924,   861,   862,
2103 >     863,   864,   865,   949,   952,   925,   866,  1151,  1152,  1153,
2104 >     926,  1154,  1155,   867,  1156,  1157,   868,  1158,   869,  1159,
2105 >     870,   871,  1160,   872,   954,  1161,  1162,  1163,   951,  1164,
2106 >      83,    84,   873,   874,  1165,   955,    85,    86,  1166,  1167,
2107 >    1168,   956,   958,    87,    88,    89,   875,   959,  1169,   876,
2108 >     877,   878,   961,  1170,   962,   964,   963,   970,   879,   971,
2109 >     880,   881,   905,   929,   930,   931,   932,   933,   934,    90,
2110 >      91,   935,   936,   973,   937,   976,   938,   939,   940,   974,
2111 >     941,   942,   943,   944,   945,   946,   947,   948,   957,   960,
2112 >     967,   968,   969,   972,   977,   978,   979,   975,   980,   981,
2113 >     982,   983,   984,   985,   986,  1014,  1015,   987,   988,   989,
2114 >     990,   991,   992,   993,   994,   995,   996,   997,   998,   999,
2115 >    1000,  1001,  1002,  1003,  1004,  1005,  1028,  1006,  1007,  1012,
2116 >    1013,  1016,  1017,  1027,  1030,  1031,  1039,  1029,  1040,  1041,
2117 >    1046,  1047,  1048,  1225,  1237,  1049,  1050,  1051,  1052,  1248,
2118 >    1053,  1054,  1055,  1061,  1249,  1062,  1250,  1063,  1064,  1177,
2119 >    1065,   300,  1066,  1067,  1068,  1069,  1074,  1075,  1076,  1077,
2120 >    1078,  1079,  1178,  1080,  1081,  1269,  1082,  1197,  1083,  1084,
2121 >    1089,  1090,  1103,  1104,  1105,  1106,  1107,  1108,  1109,  1110,
2122 >    1117,  1111,   723,  1120,  1121,  1122,  1118,   735,  1252,  1123,
2123 >    1251,  1247,  1146,  1244,   704,   616,  1147,   715,  1148,  1149,
2124 >    1173,  1174,  1175,  1176,  1179,  1192,  1246,   741,  1198,  1193,
2125 >    1194,  1211,  1227,  1266,  1228,  1229,  1241,  1240,  1230,  1254,
2126 >    1255,  1256,   488,  1226,   790,   779,  1253,  1245,   708,   390,
2127 >     633,   446,   314,  1219,  1220,   535,     0,     0,     0,     0,
2128         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2129 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2130 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2131 <       0,     0,     0,     0,     0,     0,   568
2129 >       0,   637,     0,   555,     0,     0,     0,     0,     0,     0,
2130 >       0,     0,   643,     0,     0,     0,     0,     0,     0,     0,
2131 >       0,     0,     0,     0,     0,     0,     0,   566,     0,     0,
2132 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   570
2133   };
2134  
2135   #define yypact_value_is_default(Yystate) \
2136 <  (!!((Yystate) == (-966)))
2136 >  (!!((Yystate) == (-990)))
2137  
2138   #define yytable_value_is_error(Yytable_value) \
2139    YYID (0)
2140  
2141   static const yytype_int16 yycheck[] =
2142   {
2143 <     601,   602,   304,   305,     1,   101,     1,     1,     8,     1,
2144 <     312,     1,     1,     9,    10,    11,     1,     1,   217,     1,
2145 <     217,     1,   221,     1,     1,   217,     1,   217,   217,   221,
2146 <       1,   221,   221,     1,    14,    24,   219,   217,   219,     1,
2147 <      37,   221,    31,    21,    22,    51,   217,   217,     1,    27,
2148 <     221,   221,   217,   218,    51,    52,    53,    54,  1023,  1024,
2149 <    1025,    36,   780,   781,   782,   783,   784,     1,     1,     1,
2150 <     217,    61,    69,   219,   221,   217,     1,    61,   217,   221,
2151 <      14,    56,   221,   217,     1,     1,    61,   221,    66,    67,
2152 <     161,   162,   219,   395,   396,    73,    74,    75,   219,    91,
2153 <     196,   403,    91,   405,     1,   101,    91,   219,    61,    91,
2154 <     412,     1,   219,   415,    91,    95,     6,     7,    89,    97,
2155 <      98,   219,    12,    91,   426,   427,   121,   121,    61,   219,
2156 <      20,     1,   110,   111,   436,   437,    26,   439,    28,    29,
2157 <      30,   121,   120,   118,   115,    35,   219,    17,   220,     1,
2158 <     128,    41,    42,   121,    44,    45,    46,   152,   152,    91,
2159 <      50,    95,    32,   219,    89,    55,    36,   152,   121,    59,
2160 <      60,     1,    24,    63,    91,   152,   217,   135,   136,   217,
2161 <     221,   187,    72,   221,   152,     1,   192,   121,   121,    79,
2162 <     115,    81,   192,    83,    91,    85,    86,    87,    88,   217,
2163 <     161,   162,   219,   221,   219,    57,   135,   136,   219,    99,
2164 <     179,   180,   219,   208,   208,   105,   106,   107,   219,   109,
2165 <     152,   218,   112,   113,   218,   527,   116,   220,    80,   218,
2166 <     215,     1,    84,   218,   218,   152,   218,   220,   218,    91,
2167 <     218,    93,    94,   218,   114,    15,    16,   218,   210,    19,
2168 <     218,   217,   122,   123,   216,   152,     1,   220,     3,   149,
2169 <       5,    91,     1,   153,   219,   218,   156,   157,   158,   159,
2170 <     160,   219,    17,   163,   164,    91,   208,   129,    17,   131,
2171 <     132,   133,   134,   219,   154,   220,   218,    32,   219,   216,
2172 <     592,    36,   220,    32,   210,   217,   148,    36,   600,   220,
2173 <     216,   218,   218,   217,   217,   121,    76,    77,    78,     1,
2174 <     220,    56,    82,    58,   204,   205,   206,   220,   215,   209,
2175 <     172,    91,   152,    68,   214,    17,   220,   220,   218,     1,
2176 <     182,   220,   102,   103,    13,   220,   152,   220,   208,     1,
2177 <      32,   220,   220,   220,    36,   220,    91,   117,   218,   220,
2178 <     119,   220,    91,   220,    33,   220,   220,   220,   220,   211,
2179 <     212,   220,    24,     1,    43,    37,   218,   220,   119,    31,
2180 <      49,   220,   220,   118,   144,   114,   220,   220,   208,    51,
2181 <      52,    53,    54,   220,   220,     1,    65,   220,   220,   220,
2182 <     119,   130,   220,   220,   220,   220,   220,    69,    36,    91,
2183 <     145,    17,   220,   220,   101,   220,     1,   220,   220,   220,
2184 <     220,     6,     7,    92,   220,   185,    32,    12,    56,   220,
2185 <      36,   100,   114,    61,   220,    20,   220,   172,   220,    91,
2186 <     220,    26,   220,    28,    29,    30,   220,   220,   130,   220,
2187 <      35,   220,   220,   220,     1,   220,    41,    42,   218,    44,
2188 <      45,    46,   220,   220,   193,    50,   220,   220,   220,   138,
2189 <      55,   220,   220,   220,    59,    60,   211,    24,    63,   208,
2190 <     220,   220,   220,   218,   220,   101,   155,    72,   220,   218,
2191 <     118,   161,   220,   220,    79,   220,    81,   220,    83,   220,
2192 <      85,    86,    87,    88,  1095,   220,   220,   220,   114,   220,
2193 <      57,   193,   101,   220,    99,   220,   122,   123,   220,    40,
2194 <     105,   106,   107,   220,   109,   220,   208,   112,   113,   220,
2195 <     220,   116,   201,    80,   220,   101,   101,    84,   101,    64,
2196 <     101,    62,   161,    64,    91,     4,    93,    94,   154,   161,
2197 <     139,   140,   141,   142,   143,   101,   161,   161,   217,   217,
2198 <     220,     1,   217,     3,   149,     5,    25,   220,   153,   220,
2199 <     220,   156,   157,   158,   159,   160,   220,    17,   163,   164,
2200 <     220,    40,   129,   104,   131,   132,   133,   134,    47,   220,
2201 <      64,   220,    32,   220,   220,   220,    36,   220,   220,   220,
2202 <     220,   148,   208,   220,   119,    64,   220,   220,   161,     0,
2203 <       1,   220,   137,     4,   101,   217,    56,   220,    58,   204,
2204 <     205,   206,   220,    14,   209,   172,    17,    18,    68,   214,
2205 <      89,   161,    23,   220,   220,   182,   220,    96,   220,   220,
2206 <     220,   166,   220,    34,   220,   161,   101,    38,    39,   108,
2207 <     175,    91,   119,   174,   175,   161,   181,    48,   161,   101,
2208 <     101,   161,   101,   137,   211,   212,   125,   126,   127,   161,
2209 <     195,    62,   197,   198,   101,   161,     1,   101,   118,    70,
2210 <      71,    51,   207,   101,   101,   119,   101,   208,   213,   101,
2211 <      15,    16,   166,   161,    19,   161,   220,   161,   220,    90,
2212 <     161,   175,   220,   161,   161,   145,   119,   181,   161,    51,
2213 <     161,   161,   161,   104,   161,   161,   175,   161,   217,   217,
2214 <     217,   195,   217,   197,   198,   184,   220,   220,   101,   220,
2215 <     189,   220,   172,   207,   119,   220,   195,   220,   220,   213,
2216 <     199,   220,   220,   202,   220,    51,   137,   220,   207,   219,
2217 <     119,    76,    77,    78,   213,   146,   147,    82,   220,   150,
2218 <     151,   217,   161,   217,   161,   119,    91,   161,   220,   161,
2219 <     119,   211,   220,   161,   217,   220,   119,   102,   103,   101,
2220 <     119,   119,   220,   220,   220,   220,   217,   220,   119,   119,
2221 <     119,   119,   117,   119,   101,   119,   119,   167,   168,   169,
2222 <     170,   171,   119,   173,   174,   101,   176,   177,   178,   217,
2223 <     217,   181,   203,   183,   184,   220,   186,   220,   188,   144,
2224 <     190,   191,   217,   101,   194,   167,   168,   169,   170,   171,
2225 <     200,   173,   174,     1,   176,   177,   178,   220,   217,   181,
2226 <     217,   183,   184,   217,   186,   217,   188,   101,   190,   191,
2227 <     217,   217,   194,    21,    22,   217,   217,   217,   200,    27,
2228 <     185,   167,   168,   169,   170,   171,   217,   173,   174,   217,
2229 <     176,   177,   178,   217,   101,   181,   217,   183,   184,   101,
2230 <     186,   217,   188,   217,   190,   191,   101,   119,   194,   101,
2231 <     217,   101,   101,   119,   200,   119,   217,   217,    66,    67,
2232 <     161,   217,   220,   119,   101,    73,    74,    75,   119,   217,
2233 <     220,   119,   119,   119,   119,   119,   119,   119,   217,   217,
2234 <     119,   119,   217,   217,   217,   217,   217,   217,   217,    97,
2235 <      98,   217,   217,   217,   217,   217,   217,   217,   217,   119,
2236 <     217,   217,   110,   111,   217,   217,   217,   217,   217,   217,
2237 <     217,   217,   120,   217,   217,   217,   119,   217,   217,   217,
2238 <     128,   217,   217,   220,   217,   217,   217,   217,   217,   217,
2239 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2240 <     217,   101,   161,   119,   119,   119,   217,   119,   119,   217,
2241 <     220,   220,   119,   119,   101,   119,   217,   217,   217,   217,
2242 <     161,   119,   119,   220,   119,   119,   220,   119,   119,   119,
2243 <     119,   119,   993,   119,   991,    71,   217,   217,   954,   124,
2244 <     124,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2245 <     217,   217,   217,   217,   217,   217,   217,   101,  1232,   217,
2246 <     217,   217,   217,   217,   119,   217,   269,   220,   217,   220,
2247 <     217,   217,   217,   217,  1205,   217,  1203,   217,   217,   217,
2248 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2249 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2250 <     217,   165,   503,  1193,   217,  1189,   479,   217,   217,   217,
2251 <    1090,   454,   217,  1207,   217,   217,   217,   331,   217,   562,
2252 <    1209,   217,  1183,   517,   217,   469,  1191,   112,  1185,   166,
2253 <    1057,  1055,    91,   378,   217,   217,   390,   217,    -1,    -1,
2254 <     221,   220,   220,   217,   217,   217,   217,   217,   217,   217,
2255 <     217,   217,   217,   230,   217,   217,   217,    -1,   217,   217,
2256 <     220,   217,    -1,   217,   554,   222,    -1,   360,   243,    -1,
2257 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2258 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2259 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2143 >     613,   614,   305,   306,   307,     1,     1,     1,     1,     1,
2144 >       1,     1,     1,     1,     1,     1,   226,    50,     1,     1,
2145 >       1,     1,     1,     1,     8,   226,     1,     1,     1,    17,
2146 >     107,   226,    24,     1,   226,    28,   226,   224,    34,    31,
2147 >       1,   228,   224,    36,    32,    24,   228,     1,   226,    17,
2148 >       1,    34,     1,   224,   226,    48,    49,   228,    51,    52,
2149 >      53,   224,   225,     1,    32,    55,    55,  1056,  1057,  1058,
2150 >      60,    60,    62,    62,    62,     1,   226,    56,   226,    75,
2151 >      73,     1,    60,     1,    63,    60,     1,    60,    75,    75,
2152 >     123,   224,    75,   224,    62,   228,   399,   400,     1,   226,
2153 >     224,   226,    97,   406,   228,    97,    85,   410,     1,    97,
2154 >      89,    60,   415,     6,     7,   418,    97,    97,    97,    12,
2155 >     226,   100,   101,    97,   201,   428,   429,    20,   124,   117,
2156 >     124,   121,   121,    26,   226,   438,    29,    30,   441,   442,
2157 >      94,   124,    35,    94,   124,   133,   124,    40,    41,   117,
2158 >      43,    44,    45,   132,    47,   226,   224,   125,   126,    97,
2159 >     228,    54,   150,   124,   118,    58,    59,   118,   226,    48,
2160 >     149,    97,   151,   226,    67,   124,   167,    97,   146,    97,
2161 >     167,   167,    97,    76,   226,   167,   226,     1,     9,    10,
2162 >      11,    84,   226,    86,    97,    88,   175,    90,   226,    92,
2163 >      93,    15,    16,   224,   124,    19,   226,   228,   192,   224,
2164 >     198,   227,   105,   228,   193,   194,   195,   110,   111,   112,
2165 >     215,   114,   115,   116,   219,   219,   119,   218,   227,   225,
2166 >     533,   219,   225,   225,   215,   225,   218,   225,   219,   225,
2167 >     167,   220,   221,   225,   225,   225,   225,   225,    62,     1,
2168 >     225,   219,   145,   196,   197,   196,   197,   225,   219,   152,
2169 >     153,   154,   155,   156,   225,   227,    80,    81,    82,    83,
2170 >     188,   225,    24,    87,   224,   171,   172,    91,   228,    31,
2171 >       1,    39,     3,    97,     5,   188,   107,   225,   224,   215,
2172 >     207,   184,   228,   210,   108,   109,    17,   215,   601,   225,
2173 >     215,   207,   605,   182,   210,   608,   120,   225,    66,   612,
2174 >      68,    32,   215,   192,   227,   208,   209,   227,   211,   212,
2175 >     213,     1,   224,   224,   217,   224,   228,   228,   142,   222,
2176 >     227,     1,   225,   224,    55,   227,    57,   228,     1,   227,
2177 >     227,    62,   227,   227,   227,    97,   227,    17,    28,   227,
2178 >     227,    72,   227,   227,   227,   113,    36,   227,    21,    22,
2179 >     227,   227,    32,   227,    27,   179,   227,   227,    48,    49,
2180 >     227,    51,    52,    53,   227,   227,    97,   227,   227,   227,
2181 >     227,     1,   227,     3,   227,     5,   227,   227,   227,   227,
2182 >     227,   227,    62,    73,   227,   227,     1,    17,   227,   227,
2183 >     121,    64,    65,   227,   227,   163,   164,    70,    71,   227,
2184 >     227,   225,    32,   224,    77,    78,    79,   227,   227,    24,
2185 >     141,   227,   227,   227,   227,     1,   227,   227,   227,   150,
2186 >       6,     7,   227,   227,   227,    55,    12,    57,   227,   227,
2187 >     103,   104,    62,   227,    20,   227,   227,   117,   227,   227,
2188 >      26,    56,    72,    29,    30,   125,   126,   227,    63,    35,
2189 >     227,   219,   227,   227,    40,    41,   227,    43,    44,    45,
2190 >     227,    47,   193,   227,   227,   224,   146,    97,    54,   227,
2191 >      85,   227,    58,    59,    89,   227,   227,   227,   227,   227,
2192 >     227,    67,    97,   227,   227,   100,   101,   227,   227,   220,
2193 >      76,   121,     1,   227,   225,   227,   122,   227,    84,   227,
2194 >      86,   122,    88,   122,    90,   224,    92,    93,    17,   107,
2195 >     107,   141,   207,   107,   107,   107,   107,   132,   107,   105,
2196 >     150,     4,   107,    32,   110,   111,   112,   224,   114,   115,
2197 >     116,   207,   207,   119,   149,    18,   151,   224,   227,   219,
2198 >     122,   227,    25,   227,    13,   134,   135,   136,   137,   138,
2199 >     139,   140,   225,    62,   107,   227,    39,   227,   227,   145,
2200 >     175,   227,   227,   193,    33,   227,   152,   153,   154,   155,
2201 >     156,  1194,   227,    42,   227,   227,   227,   227,   193,   194,
2202 >     195,   227,   224,    66,   227,    68,   227,   227,    97,   227,
2203 >     220,   227,   227,   227,   227,   227,    68,   224,   184,   227,
2204 >      69,   207,   227,   227,   227,   220,   221,   227,   117,   227,
2205 >     227,    94,   798,   799,   800,   801,   802,   803,   804,   227,
2206 >     207,   107,   208,   209,   133,   211,   212,   213,   122,    98,
2207 >      99,   217,   207,   207,   107,   207,   222,   106,   207,   107,
2208 >     107,   150,   207,   107,   127,   107,   129,   107,   107,   107,
2209 >       0,     1,   107,   207,     4,   207,   227,   227,   130,   207,
2210 >     207,   207,   131,   207,    14,   148,   207,    17,    18,   207,
2211 >      68,   122,   207,    23,   207,   207,   207,   227,   147,   224,
2212 >     122,   164,   224,   122,    34,   157,   169,    37,    38,   198,
2213 >     173,     1,   164,   227,   122,   178,   207,   227,   181,   227,
2214 >     227,   173,   227,   186,   227,    15,    16,   227,   227,    19,
2215 >     219,    61,   224,   227,   227,   122,    66,   200,   224,   227,
2216 >     224,   224,   205,   207,    74,   227,   227,   227,   200,    48,
2217 >     202,   203,   130,   216,   227,   227,   227,   206,   227,   227,
2218 >     223,   207,   227,   224,   216,    95,    96,   227,   227,   227,
2219 >     207,   223,    62,   207,   207,   207,   122,   122,   107,   157,
2220 >     107,   224,   122,   113,    48,   122,   164,   122,   122,   122,
2221 >      80,    81,    82,    83,   107,   173,   122,    87,   122,   122,
2222 >     130,    91,   227,   224,   224,   207,   224,    97,   122,   226,
2223 >     224,   224,   227,   143,   144,   227,   107,   224,   108,   109,
2224 >     224,   224,   200,   224,   202,   203,   224,    48,   224,   224,
2225 >     120,   161,   224,   224,   224,   224,   224,   107,   216,   224,
2226 >     224,   224,   107,   122,   174,   223,   227,   107,   107,   107,
2227 >     107,   107,   142,   183,   107,   224,   122,   187,   207,   158,
2228 >     159,   160,   227,   162,   163,   107,   165,   166,   122,   168,
2229 >     122,   170,   122,   122,   173,   122,   122,   176,   177,   178,
2230 >     224,   180,   122,   122,   122,   122,   185,   122,   224,   179,
2231 >     189,   190,   191,   224,   158,   159,   160,     1,   162,   163,
2232 >     199,   165,   166,   122,   168,   204,   170,   122,   224,   173,
2233 >     207,   107,   176,   177,   178,   224,   180,    21,    22,   224,
2234 >     224,   185,   224,    27,   224,   189,   190,   191,   224,   224,
2235 >     224,   224,   224,   122,   122,   199,   224,   158,   159,   160,
2236 >     204,   162,   163,   224,   165,   166,   224,   168,   224,   170,
2237 >     224,   224,   173,   224,   122,   176,   177,   178,   227,   180,
2238 >      64,    65,   224,   224,   185,   122,    70,    71,   189,   190,
2239 >     191,   122,   122,    77,    78,    79,   224,   122,   199,   224,
2240 >     224,   224,   122,   204,   122,   107,   227,   122,   224,   122,
2241 >     224,   224,   224,   224,   224,   224,   224,   224,   224,   103,
2242 >     104,   224,   224,   122,   224,   122,   224,   224,   224,   207,
2243 >     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2244 >     224,   224,   224,   224,   122,   122,   122,   227,   227,   122,
2245 >     224,   122,   122,   122,   224,   122,   227,   224,   224,   224,
2246 >     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2247 >     224,   224,   224,   224,   224,   224,   122,   224,   224,   224,
2248 >     224,   224,   224,   224,   122,   224,   224,   227,   224,   224,
2249 >     224,   224,   224,   107,   122,   224,   224,   224,   224,   128,
2250 >     224,   224,   224,   224,   128,   224,   128,   224,   224,  1009,
2251 >     224,    74,   224,   224,   224,   224,   224,   224,   224,   224,
2252 >     224,   224,  1011,   224,   224,  1268,   224,  1022,   224,   224,
2253 >     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2254 >     214,   224,   492,   224,   224,   224,   228,   506,  1234,   224,
2255 >    1232,  1224,   224,  1213,   456,   332,   224,   479,   224,   224,
2256 >     224,   224,   224,   224,   224,   224,  1222,   521,   224,   227,
2257 >     227,   224,   224,  1243,   229,   229,   224,   227,   229,   224,
2258 >     224,   224,   218,  1118,   575,   559,  1236,  1218,   469,   111,
2259 >     365,   163,    92,  1086,  1088,   234,    -1,    -1,    -1,    -1,
2260        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2261 <      -1,    -1,    -1,    -1,    -1,    -1,   292
2261 >      -1,   384,    -1,   262,    -1,    -1,    -1,    -1,    -1,    -1,
2262 >      -1,    -1,   394,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2263 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,   284,    -1,    -1,
2264 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   291
2265   };
2266  
2267   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2268     symbol of state STATE-NUM.  */
2269   static const yytype_uint16 yystos[] =
2270   {
2271 <       0,   223,     0,     1,     4,    14,    17,    18,    23,    34,
2272 <      38,    39,    48,    62,    70,    71,    90,   104,   137,   146,
2273 <     147,   150,   151,   203,   224,   229,   234,   258,   264,   278,
2274 <     296,   313,   327,   342,   349,   353,   363,   372,   392,   402,
2275 <     408,   412,   422,   480,   497,   217,   218,   219,   219,   297,
2276 <     373,   403,   219,   413,   219,   328,   393,   314,   219,   219,
2277 <     279,   343,   219,   219,   354,   364,   219,     1,    24,    31,
2278 <      91,   259,   260,   261,   262,   263,     1,    21,    22,    27,
2279 <      66,    67,    73,    74,    75,    97,    98,   110,   111,   120,
2280 <     128,   481,   482,   483,   484,   485,   486,   487,   488,   489,
2281 <     490,   491,   492,   493,   494,   495,   496,   219,   219,   219,
2282 <       1,    61,   409,   410,   411,   219,     1,     6,     7,    12,
2283 <      20,    26,    28,    29,    30,    35,    41,    42,    44,    45,
2284 <      46,    50,    55,    59,    60,    63,    72,    79,    81,    83,
2285 <      85,    86,    87,    88,    99,   105,   106,   107,   109,   112,
2286 <     113,   116,   149,   153,   156,   157,   158,   159,   160,   163,
2287 <     164,   204,   205,   206,   209,   214,   423,   424,   425,   426,
2288 <     427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
2289 <     437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
2290 <     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
2291 <     457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
2292 <     467,   468,   469,   473,   477,   478,   479,   219,   219,   219,
2293 <       1,   210,   265,   266,   267,   268,   269,     1,    89,   115,
2294 <     230,   231,   232,   233,   219,   219,     1,    37,    51,    52,
2295 <      53,    54,    69,   498,   499,   500,   501,   502,   503,   504,
2296 <     505,     1,    24,    57,    80,    84,    91,    93,    94,   129,
2297 <     131,   132,   133,   134,   148,   172,   182,   211,   212,   235,
2298 <     236,   237,   238,   243,   244,   245,   246,   247,   248,   249,
2299 <     250,   251,   252,   253,   254,   255,   256,   257,   219,   219,
2300 <       1,    91,   350,   351,   352,   217,   220,   220,   220,   218,
2301 <     260,   220,   220,   220,   220,   220,   220,   220,   220,   220,
2302 <     220,   220,   220,   220,   220,   218,   482,     1,    15,    16,
2303 <      19,    76,    77,    78,    82,    91,   102,   103,   117,   144,
2304 <     185,   298,   299,   300,   301,   302,   303,   304,   305,   306,
2305 <     307,   308,   309,   310,   311,   312,     1,     3,     5,    17,
2306 <      32,    36,    56,    58,    68,    91,   118,   145,   172,   211,
2307 <     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
2308 <     387,   388,   389,   390,   391,     1,    61,   121,   404,   405,
2309 <     406,   407,   220,   218,   410,     1,    91,   121,   152,   414,
2310 <     418,   419,   420,   421,   220,   220,   220,   220,   220,   220,
2311 <     220,   220,   220,   220,   220,   220,   220,   220,   220,   220,
2312 <     220,   220,   220,   220,   220,   220,   220,   220,   220,   220,
2313 <     220,   220,   220,   474,   220,   470,   220,   220,   220,   220,
2314 <     220,   220,   220,   220,   220,   220,   220,   220,   220,   220,
2315 <     220,   220,   220,   218,   424,     1,    17,    32,    36,   114,
2316 <     122,   123,   154,   208,   329,   330,   331,   332,   333,   334,
2317 <     335,   339,   340,   341,     1,   121,   152,   208,   394,   398,
2318 <     399,   400,   401,     1,    36,    56,    61,   118,   315,   319,
2319 <     320,   321,   325,   326,   217,   220,   218,   266,   216,   217,
2320 <     220,   220,   218,   231,     1,    17,    32,    36,    91,   114,
2321 <     130,   193,   208,   280,   281,   282,   283,   284,   285,   286,
2322 <     287,   288,   292,     1,    14,    95,   121,   344,   345,   346,
2323 <     347,   348,   220,   220,   220,   220,   220,   220,   218,   499,
2324 <     217,   220,   220,   220,   220,   220,   220,   220,   220,   220,
2325 <     220,   220,   220,   220,   220,   220,   220,   220,   218,   236,
2326 <       1,    91,   152,   208,   355,   356,   357,   358,   359,     1,
2327 <      91,   152,   365,   366,   367,   368,   220,   218,   351,   119,
2328 <     119,   119,   217,   101,   101,   161,   101,   226,   226,   101,
2329 <     101,   101,   161,   161,   101,   226,   161,   161,   217,   217,
2330 <     220,   220,   220,   220,   220,   220,   220,   220,   220,   220,
2331 <     220,   220,   220,   218,   299,   217,   220,   220,   220,   220,
2332 <     384,   220,   220,   220,   220,   220,   220,   220,   220,   218,
2333 <     375,   220,   220,   218,   405,   119,   217,   220,   220,   415,
2334 <     218,   419,   161,   226,   226,   101,   161,   161,   101,   119,
2335 <     161,   226,   161,   226,   101,   101,   101,   161,   161,   161,
2336 <     226,   101,   101,   226,   101,   101,   119,   101,   101,   161,
2337 <     161,   220,   161,   220,   226,   226,   161,   161,   161,   161,
2338 <     161,   162,   161,   162,   161,   161,   226,   226,   119,   226,
2339 <     161,   161,   161,   217,   217,   220,   220,   336,   220,   220,
2340 <     220,   220,   220,   218,   330,   220,   395,   220,   218,   399,
2341 <     217,   316,   220,   220,   220,   218,   320,   161,   217,   219,
2342 <     119,   119,   217,   217,   220,   220,   293,   220,   220,   220,
2343 <     289,   220,   218,   281,   217,   220,   220,   220,   218,   345,
2344 <     161,   161,   119,   161,   161,   226,   217,   119,   161,   101,
2345 <     101,   119,   119,   119,   119,   119,   119,   135,   136,   239,
2346 <     240,   135,   136,   241,   242,   119,   119,   101,   119,   119,
2347 <     217,   217,   220,   360,   220,   218,   356,   217,   220,   369,
2348 <     218,   366,   119,   217,   217,   217,   217,   217,   217,   217,
2349 <     139,   140,   141,   142,   143,   225,   226,   217,   217,   217,
2350 <     217,   217,   217,   217,   217,   217,   217,   217,   101,   101,
2351 <     226,   101,   101,   101,   101,   119,   101,   101,   226,   101,
2352 <     228,   228,   217,   119,   179,   180,   119,   161,   220,   119,
2353 <     119,   119,   119,   101,   119,   119,   119,   217,   119,   119,
2354 <     217,   217,   119,   119,   220,   217,   217,   217,   217,   217,
2355 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2356 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2357 <     217,   217,   217,   217,   217,    51,   167,   168,   169,   170,
2358 <     171,   173,   174,   176,   177,   178,   181,   183,   184,   186,
2359 <     188,   190,   191,   194,   200,   475,   476,   217,    51,   167,
2360 <     168,   169,   170,   171,   173,   174,   176,   177,   178,   181,
2361 <     183,   184,   186,   188,   190,   191,   194,   200,   471,   472,
2362 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2363 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   119,
2364 <     161,   220,   119,   101,   119,   119,   119,   217,   119,   220,
2365 <     119,   217,   220,   119,   119,   101,   323,   324,   217,   217,
2366 <       1,    91,   152,   215,   270,   271,   272,   273,   274,   217,
2367 <     217,   119,   161,   220,   119,   119,   119,   220,   119,   217,
2368 <     119,   119,   119,   217,   217,   217,   217,   217,   217,   217,
2369 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2370 <     217,   221,   217,   221,   217,   217,   217,   217,   217,   119,
2371 <     220,   119,   217,   119,   220,   217,   217,   225,   225,   225,
2372 <     225,   225,   217,   217,   217,   217,   217,   217,   217,   217,
2373 <     217,   217,   217,     9,    10,    11,   227,   228,   217,   217,
2374 <     217,   217,   217,   217,   217,     8,   192,   385,   386,   217,
2375 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2376 <     217,   124,   416,   417,   217,   221,   217,   221,   217,   217,
2377 <      13,    33,    43,    49,    65,    92,   100,   138,   155,   201,
2378 <     337,   338,   217,   217,   217,   217,   217,   217,   124,   396,
2379 <     397,   217,    51,   187,   192,   317,   318,   217,   217,   165,
2380 <     221,   322,   217,   220,   275,   220,   218,   271,   217,   217,
2381 <       4,    25,    40,    47,    64,    89,    96,   108,   125,   126,
2382 <     127,   175,   184,   189,   195,   199,   202,   207,   213,   294,
2383 <     295,   217,   217,   217,    51,   167,   168,   169,   170,   171,
2384 <     173,   174,   176,   177,   178,   181,   183,   184,   186,   188,
2385 <     190,   191,   194,   200,   290,   291,   217,   217,   217,   217,
2386 <     240,   242,   217,    64,   137,   166,   175,   181,   195,   197,
2387 <     198,   207,   213,   361,   362,   217,   217,    64,   137,   166,
2388 <     175,   181,   195,   197,   198,   207,   213,   370,   371,   227,
2389 <     227,   227,   217,   221,   217,   221,   476,   472,   217,   221,
2390 <     217,   221,   217,   221,   101,   324,   217,   119,   220,   196,
2391 <     228,   217,   217,   221,   217,   221,   217,   221,   217,   221,
2392 <     386,   417,   338,   397,   318,   217,    40,    62,    64,   104,
2393 <     174,   175,   208,   276,   277,   217,   217,   295,   291,   362,
2394 <     371,   217,   221,   277
2271 >       0,   231,     0,     1,     4,    14,    17,    18,    23,    34,
2272 >      37,    38,    61,    66,    74,    95,    96,   113,   130,   143,
2273 >     144,   161,   174,   183,   187,   232,   237,   242,   266,   272,
2274 >     278,   292,   311,   334,   348,   363,   370,   374,   384,   393,
2275 >     414,   420,   426,   430,   436,   492,   507,   224,   225,   226,
2276 >     226,   312,   394,   421,   226,   431,   226,   349,   415,   335,
2277 >     226,   273,   293,   364,   226,   226,   385,   226,   226,   375,
2278 >       1,    24,    31,    97,   267,   268,   269,   270,   271,     1,
2279 >      21,    22,    27,    64,    65,    70,    71,    77,    78,    79,
2280 >     103,   104,   493,   494,   495,   496,   497,   498,   499,   500,
2281 >     501,   502,   503,   504,   505,   506,   226,   226,   226,     1,
2282 >      60,   427,   428,   429,   226,     1,     6,     7,    12,    20,
2283 >      26,    29,    30,    35,    40,    41,    43,    44,    45,    47,
2284 >      54,    58,    59,    67,    76,    84,    86,    88,    90,    92,
2285 >      93,   105,   110,   111,   112,   114,   115,   116,   119,   145,
2286 >     152,   153,   154,   155,   156,   184,   208,   209,   211,   212,
2287 >     213,   217,   222,   437,   438,   439,   440,   441,   442,   443,
2288 >     444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
2289 >     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
2290 >     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
2291 >     474,   475,   476,   477,   478,   479,   480,   481,   485,   489,
2292 >     490,   491,   226,   226,   226,     1,    94,   118,   238,   239,
2293 >     240,   241,   226,   226,   226,     1,    28,    36,    48,    49,
2294 >      51,    52,    53,    73,   508,   509,   510,   511,   512,   513,
2295 >     514,   515,   516,   517,     1,    24,    56,    63,    85,    89,
2296 >      97,   100,   101,   132,   149,   151,   175,   193,   194,   195,
2297 >     220,   221,   243,   244,   245,   246,   251,   252,   253,   254,
2298 >     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
2299 >     265,   226,     1,   218,   279,   280,   281,   282,   283,     1,
2300 >      97,   371,   372,   373,   226,   224,   227,   227,   227,   225,
2301 >     268,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2302 >     227,   227,   227,   225,   494,     1,    15,    16,    19,    62,
2303 >      80,    81,    82,    83,    87,    91,    97,   108,   109,   120,
2304 >     142,   179,   313,   314,   315,   316,   317,   318,   319,   320,
2305 >     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
2306 >       1,     3,     5,    17,    32,    55,    57,    62,    72,    97,
2307 >     121,   141,   150,   193,   220,   395,   396,   397,   398,   399,
2308 >     400,   401,   402,   403,   404,   405,   409,   410,   411,   412,
2309 >     413,     1,    60,   124,   422,   423,   424,   425,   227,   225,
2310 >     428,     1,    97,   124,   432,   433,   434,   435,   227,   227,
2311 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2312 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2313 >     227,   227,   227,   227,   486,   227,   482,   227,   227,   227,
2314 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2315 >     227,   227,   227,   227,   227,   225,   438,     1,    17,    32,
2316 >      62,   117,   125,   126,   146,   219,   350,   351,   352,   353,
2317 >     354,   355,   356,   360,   361,   362,     1,   124,   219,   416,
2318 >     417,   418,   419,     1,    55,    60,    62,   121,   336,   340,
2319 >     341,   342,   346,   347,   224,   227,   227,   225,   239,     1,
2320 >      75,   167,   274,   275,   276,   277,     1,    17,    32,    62,
2321 >      97,   117,   133,   150,   198,   219,   294,   295,   296,   297,
2322 >     298,   299,   300,   301,   302,   303,   307,     1,    34,    75,
2323 >     124,   365,   366,   367,   368,   369,   227,   227,   227,   227,
2324 >     227,   227,   227,   227,   225,   509,   224,   227,   227,   227,
2325 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2326 >     227,   227,   227,   227,   225,   244,     1,    97,   215,   386,
2327 >     387,   388,   389,   224,   227,   225,   280,   167,   227,   225,
2328 >     372,     1,    97,   215,   219,   376,   377,   378,   379,   380,
2329 >     122,   122,   122,   224,   107,   107,   207,   107,   107,   234,
2330 >     234,   234,   107,   107,   107,   207,   207,   224,   224,   227,
2331 >     227,   227,   331,   227,   227,   227,   227,   227,   227,   227,
2332 >     227,   227,   227,   227,   227,   225,   314,   224,   227,   227,
2333 >     227,   227,   227,   227,   406,   227,   227,   227,   227,   227,
2334 >     227,   227,   225,   396,   227,   227,   225,   423,   122,   224,
2335 >     227,   227,   225,   433,   207,   234,   234,   107,   207,   107,
2336 >     122,   207,   234,   207,   107,   107,   234,   107,   207,   207,
2337 >     207,   234,   107,   107,   234,   107,   107,   107,   107,   207,
2338 >     227,   207,   227,   207,   234,   234,   207,   207,   207,   207,
2339 >     210,   207,   210,   207,   207,   122,   234,   207,   207,   234,
2340 >     234,   207,   207,   224,   224,   227,   227,   357,   227,   227,
2341 >     227,   227,   227,   225,   351,   227,   227,   225,   417,   224,
2342 >     227,   227,   337,   227,   225,   341,   122,   122,   224,   224,
2343 >     227,   227,   225,   275,   224,   227,   227,   308,   227,   227,
2344 >     227,   227,   304,   227,   225,   295,   224,   227,   227,   227,
2345 >     225,   366,   207,   207,   207,   122,   207,   207,   207,   234,
2346 >     224,   122,   207,   122,   107,   107,   122,   122,   122,   122,
2347 >     122,   122,   107,   122,   196,   197,   247,   248,   196,   197,
2348 >     249,   250,   122,   122,   224,   224,   227,   390,   225,   387,
2349 >     207,   224,   226,   122,   224,   224,   227,   381,   227,   225,
2350 >     377,   224,   224,   224,   224,   224,   224,   224,   134,   135,
2351 >     136,   137,   138,   139,   140,   233,   234,   224,   224,   224,
2352 >     224,   224,   224,   224,   224,   107,   107,   234,   227,   107,
2353 >     107,   234,   107,   107,   234,   122,   107,   107,   234,   107,
2354 >     236,   236,   224,   122,   171,   172,   122,   207,   122,   122,
2355 >     227,   122,   122,   107,   122,   122,   122,   122,   224,   122,
2356 >     122,   224,   224,   122,   122,   224,   224,   224,   224,   224,
2357 >     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2358 >     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2359 >     224,   224,    48,   158,   159,   160,   162,   163,   165,   166,
2360 >     168,   170,   173,   176,   177,   178,   180,   185,   189,   190,
2361 >     191,   199,   204,   487,   488,   224,    48,   158,   159,   160,
2362 >     162,   163,   165,   166,   168,   170,   173,   176,   177,   178,
2363 >     180,   185,   189,   190,   191,   199,   204,   483,   484,   224,
2364 >     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2365 >     224,   224,   224,   224,   224,   224,   224,   224,   224,   122,
2366 >     207,   227,   122,   107,   122,   122,   122,   224,   122,   122,
2367 >     224,   122,   122,   227,   107,   344,   345,   224,   224,   224,
2368 >     122,   122,   224,   122,   207,   227,   122,   122,   122,   122,
2369 >     227,   122,   224,   122,   122,   122,   224,   224,   224,   224,
2370 >     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2371 >     224,   224,   224,   224,   224,   224,   224,   224,   224,   228,
2372 >     224,   228,   224,   224,   122,   227,   224,   224,     1,    97,
2373 >     188,   215,   284,   285,   286,   287,   288,   224,   122,   227,
2374 >     122,   224,   233,   233,   233,   233,   233,   233,   233,   224,
2375 >     224,   224,    50,   123,   332,   333,   224,   224,   224,   224,
2376 >     224,   224,   224,   224,   224,   224,     9,    10,    11,   235,
2377 >     236,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2378 >       8,   192,   407,   408,   224,   224,   224,   224,   224,   224,
2379 >     224,   224,   224,   224,   224,   224,   228,   224,   228,   224,
2380 >     224,    13,    33,    42,    69,    98,    99,   106,   131,   147,
2381 >     206,   358,   359,   224,   224,   224,   224,   224,   224,   224,
2382 >     224,   224,    48,   182,   192,   338,   339,   214,   228,   343,
2383 >     224,   224,   224,   224,     4,    18,    25,    39,    66,    68,
2384 >      94,   127,   129,   148,   164,   169,   173,   178,   181,   186,
2385 >     200,   205,   216,   223,   309,   310,   224,   224,   224,   224,
2386 >      48,   158,   159,   160,   162,   163,   165,   166,   168,   170,
2387 >     173,   176,   177,   178,   180,   185,   189,   190,   191,   199,
2388 >     204,   305,   306,   224,   224,   224,   224,   248,   250,   224,
2389 >      68,   130,   157,   164,   173,   200,   202,   203,   216,   223,
2390 >     391,   392,   224,   227,   227,   289,   225,   285,   224,    68,
2391 >     130,   157,   164,   173,   200,   202,   203,   216,   223,   382,
2392 >     383,   224,   224,   228,   235,   235,   235,   224,   228,   488,
2393 >     484,   224,   228,   224,   228,   107,   345,   224,   229,   229,
2394 >     229,   224,   228,   224,   228,   224,   228,   122,   201,   236,
2395 >     227,   224,   224,   228,   333,   408,   359,   339,   128,   128,
2396 >     128,   310,   306,   392,   224,   224,   224,    39,    66,    68,
2397 >     113,   163,   164,   219,   290,   291,   383,   224,   228,   291
2398   };
2399  
2400   #define yyerrok         (yyerrstatus = 0)
# Line 2458 | Line 2512 | yy_symbol_value_print (yyoutput, yytype,
2512   # else
2513    YYUSE (yyoutput);
2514   # endif
2515 <  switch (yytype)
2462 <    {
2463 <      default:
2464 <        break;
2465 <    }
2515 >  YYUSE (yytype);
2516   }
2517  
2518  
# Line 2852 | Line 2902 | yydestruct (yymsg, yytype, yyvaluep)
2902      yymsg = "Deleting";
2903    YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2904  
2905 <  switch (yytype)
2856 <    {
2857 <
2858 <      default:
2859 <        break;
2860 <    }
2905 >  YYUSE (yytype);
2906   }
2907  
2908  
# Line 3140 | Line 3185 | yyreduce:
3185    YY_REDUCE_PRINT (yyn);
3186    switch (yyn)
3187      {
3188 <        case 26:
3189 < /* Line 1792 of yacc.c  */
3190 < #line 388 "conf_parser.y"
3188 >        case 27:
3189 > /* Line 1787 of yacc.c  */
3190 > #line 397 "conf_parser.y"
3191      { (yyval.number) = 0; }
3192      break;
3193  
3194 <  case 28:
3195 < /* Line 1792 of yacc.c  */
3196 < #line 390 "conf_parser.y"
3194 >  case 29:
3195 > /* Line 1787 of yacc.c  */
3196 > #line 399 "conf_parser.y"
3197      {
3198                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3199                  }
3200      break;
3201  
3202 <  case 29:
3203 < /* Line 1792 of yacc.c  */
3204 < #line 394 "conf_parser.y"
3202 >  case 30:
3203 > /* Line 1787 of yacc.c  */
3204 > #line 403 "conf_parser.y"
3205      {
3206                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3207                  }
3208      break;
3209  
3210 <  case 30:
3211 < /* Line 1792 of yacc.c  */
3212 < #line 398 "conf_parser.y"
3210 >  case 31:
3211 > /* Line 1787 of yacc.c  */
3212 > #line 407 "conf_parser.y"
3213      {
3214                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3215                  }
3216      break;
3217  
3218 <  case 31:
3219 < /* Line 1792 of yacc.c  */
3220 < #line 402 "conf_parser.y"
3218 >  case 32:
3219 > /* Line 1787 of yacc.c  */
3220 > #line 411 "conf_parser.y"
3221      {
3222                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3223                  }
3224      break;
3225  
3226 <  case 32:
3227 < /* Line 1792 of yacc.c  */
3228 < #line 406 "conf_parser.y"
3226 >  case 33:
3227 > /* Line 1787 of yacc.c  */
3228 > #line 415 "conf_parser.y"
3229      {
3230                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3231                  }
3232      break;
3233  
3234 <  case 33:
3235 < /* Line 1792 of yacc.c  */
3236 < #line 410 "conf_parser.y"
3234 >  case 34:
3235 > /* Line 1787 of yacc.c  */
3236 > #line 419 "conf_parser.y"
3237      {
3238                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3239                  }
3240      break;
3241  
3242 <  case 34:
3243 < /* Line 1792 of yacc.c  */
3244 < #line 415 "conf_parser.y"
3245 <    { (yyval.number) = 0; }
3242 >  case 35:
3243 > /* Line 1787 of yacc.c  */
3244 > #line 423 "conf_parser.y"
3245 >    {
3246 >                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[(3) - (3)].number);
3247 >                }
3248      break;
3249  
3250    case 36:
3251 < /* Line 1792 of yacc.c  */
3252 < #line 416 "conf_parser.y"
3253 <    { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3251 > /* Line 1787 of yacc.c  */
3252 > #line 427 "conf_parser.y"
3253 >    {
3254 >                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 365 + (yyvsp[(3) - (3)].number);
3255 >                }
3256      break;
3257  
3258    case 37:
3259 < /* Line 1792 of yacc.c  */
3260 < #line 417 "conf_parser.y"
3259 > /* Line 1787 of yacc.c  */
3260 > #line 432 "conf_parser.y"
3261 >    { (yyval.number) = 0; }
3262 >    break;
3263 >
3264 >  case 39:
3265 > /* Line 1787 of yacc.c  */
3266 > #line 433 "conf_parser.y"
3267 >    { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3268 >    break;
3269 >
3270 >  case 40:
3271 > /* Line 1787 of yacc.c  */
3272 > #line 434 "conf_parser.y"
3273      { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3274      break;
3275  
3276 <  case 38:
3277 < /* Line 1792 of yacc.c  */
3278 < #line 418 "conf_parser.y"
3276 >  case 41:
3277 > /* Line 1787 of yacc.c  */
3278 > #line 435 "conf_parser.y"
3279      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3280      break;
3281  
3282 <  case 39:
3283 < /* Line 1792 of yacc.c  */
3284 < #line 419 "conf_parser.y"
3282 >  case 42:
3283 > /* Line 1787 of yacc.c  */
3284 > #line 436 "conf_parser.y"
3285      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
3286      break;
3287  
3288 <  case 46:
3289 < /* Line 1792 of yacc.c  */
3290 < #line 433 "conf_parser.y"
3288 >  case 49:
3289 > /* Line 1787 of yacc.c  */
3290 > #line 450 "conf_parser.y"
3291      {
3292    if (conf_parser_ctx.pass == 2)
3293      add_conf_module(libio_basename(yylval.string));
3294   }
3295      break;
3296  
3297 <  case 47:
3298 < /* Line 1792 of yacc.c  */
3299 < #line 439 "conf_parser.y"
3297 >  case 50:
3298 > /* Line 1787 of yacc.c  */
3299 > #line 456 "conf_parser.y"
3300      {
3301    if (conf_parser_ctx.pass == 2)
3302      mod_add_path(yylval.string);
3303   }
3304      break;
3305  
3306 <  case 73:
3307 < /* Line 1792 of yacc.c  */
3308 < #line 465 "conf_parser.y"
3306 >  case 76:
3307 > /* Line 1787 of yacc.c  */
3308 > #line 482 "conf_parser.y"
3309      {
3310   #ifdef HAVE_LIBCRYPTO
3311    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
# Line 3253 | Line 3314 | yyreduce:
3314   }
3315      break;
3316  
3317 <  case 74:
3318 < /* Line 1792 of yacc.c  */
3319 < #line 471 "conf_parser.y"
3317 >  case 77:
3318 > /* Line 1787 of yacc.c  */
3319 > #line 488 "conf_parser.y"
3320      {
3321   #ifdef HAVE_LIBCRYPTO
3322    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
# Line 3264 | Line 3325 | yyreduce:
3325   }
3326      break;
3327  
3328 <  case 77:
3329 < /* Line 1792 of yacc.c  */
3330 < #line 480 "conf_parser.y"
3328 >  case 80:
3329 > /* Line 1787 of yacc.c  */
3330 > #line 497 "conf_parser.y"
3331      {
3332   #ifdef HAVE_LIBCRYPTO
3333    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3275 | Line 3336 | yyreduce:
3336   }
3337      break;
3338  
3339 <  case 78:
3340 < /* Line 1792 of yacc.c  */
3341 < #line 486 "conf_parser.y"
3339 >  case 81:
3340 > /* Line 1787 of yacc.c  */
3341 > #line 503 "conf_parser.y"
3342      {
3343   #ifdef HAVE_LIBCRYPTO
3344    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3286 | Line 3347 | yyreduce:
3347   }
3348      break;
3349  
3350 <  case 79:
3351 < /* Line 1792 of yacc.c  */
3352 < #line 494 "conf_parser.y"
3350 >  case 82:
3351 > /* Line 1787 of yacc.c  */
3352 > #line 511 "conf_parser.y"
3353      {
3354   #ifdef HAVE_LIBCRYPTO
3355    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3322 | Line 3383 | yyreduce:
3383      if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3384          !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3385      {
3386 <      report_crypto_errors("Could not read RSA private key");
3387 <      conf_error_report(ERR_lib_error_string(ERR_get_error()));
3386 >      report_crypto_errors();
3387 >      conf_error_report("Could not read RSA private key");
3388        break;
3389      }
3390    }
# Line 3331 | Line 3392 | yyreduce:
3392   }
3393      break;
3394  
3395 <  case 80:
3396 < /* Line 1792 of yacc.c  */
3397 < #line 536 "conf_parser.y"
3395 >  case 83:
3396 > /* Line 1787 of yacc.c  */
3397 > #line 553 "conf_parser.y"
3398      {
3399   #ifdef HAVE_LIBCRYPTO
3400 <  if (conf_parser_ctx.pass == 1)
3340 <  {
3341 <    BIO *file;
3400 >  BIO *file = NULL;
3401  
3402 <    if (ServerInfo.rsa_private_key)
3403 <    {
3345 <      RSA_free(ServerInfo.rsa_private_key);
3346 <      ServerInfo.rsa_private_key = NULL;
3347 <    }
3402 >  if (conf_parser_ctx.pass != 1)
3403 >    break;
3404  
3405 <    if (ServerInfo.rsa_private_key_file)
3406 <    {
3407 <      MyFree(ServerInfo.rsa_private_key_file);
3408 <      ServerInfo.rsa_private_key_file = NULL;
3409 <    }
3405 >  if (ServerInfo.rsa_private_key)
3406 >  {
3407 >    RSA_free(ServerInfo.rsa_private_key);
3408 >    ServerInfo.rsa_private_key = NULL;
3409 >  }
3410  
3411 <    ServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3411 >  if (ServerInfo.rsa_private_key_file)
3412 >  {
3413 >    MyFree(ServerInfo.rsa_private_key_file);
3414 >    ServerInfo.rsa_private_key_file = NULL;
3415 >  }
3416  
3417 <    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3358 <    {
3359 <      conf_error_report("File open failed, ignoring");
3360 <      break;
3361 <    }
3417 >  ServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3418  
3419 <    ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3419 >  if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3420 >  {
3421 >    conf_error_report("File open failed, ignoring");
3422 >    break;
3423 >  }
3424  
3425 <    BIO_set_close(file, BIO_CLOSE);
3366 <    BIO_free(file);
3425 >  ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3426  
3427 <    if (ServerInfo.rsa_private_key == NULL)
3428 <    {
3370 <      conf_error_report("Couldn't extract key, ignoring");
3371 <      break;
3372 <    }
3427 >  BIO_set_close(file, BIO_CLOSE);
3428 >  BIO_free(file);
3429  
3430 <    if (!RSA_check_key(ServerInfo.rsa_private_key))
3431 <    {
3432 <      RSA_free(ServerInfo.rsa_private_key);
3433 <      ServerInfo.rsa_private_key = NULL;
3430 >  if (ServerInfo.rsa_private_key == NULL)
3431 >  {
3432 >    conf_error_report("Couldn't extract key, ignoring");
3433 >    break;
3434 >  }
3435  
3436 <      conf_error_report("Invalid key, ignoring");
3437 <      break;
3438 <    }
3436 >  if (!RSA_check_key(ServerInfo.rsa_private_key))
3437 >  {
3438 >    RSA_free(ServerInfo.rsa_private_key);
3439 >    ServerInfo.rsa_private_key = NULL;
3440  
3441 <    /* require 2048 bit (256 byte) key */
3442 <    if (RSA_size(ServerInfo.rsa_private_key) != 256)
3443 <    {
3386 <      RSA_free(ServerInfo.rsa_private_key);
3387 <      ServerInfo.rsa_private_key = NULL;
3441 >    conf_error_report("Invalid key, ignoring");
3442 >    break;
3443 >  }
3444  
3445 <      conf_error_report("Not a 2048 bit key, ignoring");
3446 <    }
3445 >  /* require 2048 bit (256 byte) key */
3446 >  if (RSA_size(ServerInfo.rsa_private_key) != 256)
3447 >  {
3448 >    RSA_free(ServerInfo.rsa_private_key);
3449 >    ServerInfo.rsa_private_key = NULL;
3450 >
3451 >    conf_error_report("Not a 2048 bit key, ignoring");
3452    }
3453   #endif
3454   }
3455      break;
3456  
3457 <  case 81:
3458 < /* Line 1792 of yacc.c  */
3459 < #line 595 "conf_parser.y"
3457 >  case 84:
3458 > /* Line 1787 of yacc.c  */
3459 > #line 612 "conf_parser.y"
3460      {
3461   /* TBD - XXX: error reporting */
3462   #ifdef HAVE_LIBCRYPTO
# Line 3424 | Line 3485 | yyreduce:
3485   }
3486      break;
3487  
3488 <  case 82:
3489 < /* Line 1792 of yacc.c  */
3490 < #line 623 "conf_parser.y"
3488 >  case 85:
3489 > /* Line 1787 of yacc.c  */
3490 > #line 640 "conf_parser.y"
3491      {
3492   #ifdef HAVE_LIBCRYPTO
3493    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3435 | Line 3496 | yyreduce:
3496   }
3497      break;
3498  
3499 <  case 83:
3500 < /* Line 1792 of yacc.c  */
3501 < #line 631 "conf_parser.y"
3499 >  case 86:
3500 > /* Line 1787 of yacc.c  */
3501 > #line 648 "conf_parser.y"
3502      {
3503    /* this isn't rehashable */
3504    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
# Line 3453 | Line 3514 | yyreduce:
3514   }
3515      break;
3516  
3517 <  case 84:
3518 < /* Line 1792 of yacc.c  */
3519 < #line 646 "conf_parser.y"
3517 >  case 87:
3518 > /* Line 1787 of yacc.c  */
3519 > #line 663 "conf_parser.y"
3520      {
3521    /* this isn't rehashable */
3522    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3471 | Line 3532 | yyreduce:
3532   }
3533      break;
3534  
3535 <  case 85:
3536 < /* Line 1792 of yacc.c  */
3537 < #line 661 "conf_parser.y"
3535 >  case 88:
3536 > /* Line 1787 of yacc.c  */
3537 > #line 678 "conf_parser.y"
3538      {
3539    if (conf_parser_ctx.pass == 2)
3540    {
# Line 3483 | Line 3544 | yyreduce:
3544   }
3545      break;
3546  
3547 <  case 86:
3548 < /* Line 1792 of yacc.c  */
3549 < #line 670 "conf_parser.y"
3547 >  case 89:
3548 > /* Line 1787 of yacc.c  */
3549 > #line 687 "conf_parser.y"
3550      {
3551    if (conf_parser_ctx.pass == 2)
3552    {
# Line 3500 | Line 3561 | yyreduce:
3561   }
3562      break;
3563  
3564 <  case 87:
3565 < /* Line 1792 of yacc.c  */
3566 < #line 684 "conf_parser.y"
3564 >  case 90:
3565 > /* Line 1787 of yacc.c  */
3566 > #line 701 "conf_parser.y"
3567      {
3568 <  if (conf_parser_ctx.pass == 2)
3569 <  {
3570 <    MyFree(ServerInfo.network_desc);
3571 <    ServerInfo.network_desc = xstrdup(yylval.string);
3572 <  }
3568 >  if (conf_parser_ctx.pass != 2)
3569 >    break;
3570 >
3571 >  MyFree(ServerInfo.network_desc);
3572 >  ServerInfo.network_desc = xstrdup(yylval.string);
3573   }
3574      break;
3575  
3576 <  case 88:
3577 < /* Line 1792 of yacc.c  */
3578 < #line 693 "conf_parser.y"
3576 >  case 91:
3577 > /* Line 1787 of yacc.c  */
3578 > #line 710 "conf_parser.y"
3579      {
3580    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3581    {
# Line 3543 | Line 3604 | yyreduce:
3604   }
3605      break;
3606  
3607 <  case 89:
3608 < /* Line 1792 of yacc.c  */
3609 < #line 721 "conf_parser.y"
3607 >  case 92:
3608 > /* Line 1787 of yacc.c  */
3609 > #line 738 "conf_parser.y"
3610      {
3611   #ifdef IPV6
3612    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3576 | Line 3637 | yyreduce:
3637   }
3638      break;
3639  
3640 <  case 90:
3641 < /* Line 1792 of yacc.c  */
3642 < #line 751 "conf_parser.y"
3640 >  case 93:
3641 > /* Line 1787 of yacc.c  */
3642 > #line 768 "conf_parser.y"
3643      {
3644    if (conf_parser_ctx.pass != 2)
3645      break;
# Line 3604 | Line 3665 | yyreduce:
3665   }
3666      break;
3667  
3668 <  case 91:
3669 < /* Line 1792 of yacc.c  */
3670 < #line 776 "conf_parser.y"
3668 >  case 94:
3669 > /* Line 1787 of yacc.c  */
3670 > #line 793 "conf_parser.y"
3671      {
3672    if (conf_parser_ctx.pass != 2)
3673      break;
# Line 3629 | Line 3690 | yyreduce:
3690   }
3691      break;
3692  
3693 <  case 92:
3694 < /* Line 1792 of yacc.c  */
3695 < #line 798 "conf_parser.y"
3693 >  case 95:
3694 > /* Line 1787 of yacc.c  */
3695 > #line 815 "conf_parser.y"
3696      {
3697    if (conf_parser_ctx.pass != 2)
3698      break;
# Line 3654 | Line 3715 | yyreduce:
3715   }
3716      break;
3717  
3718 <  case 93:
3719 < /* Line 1792 of yacc.c  */
3720 < #line 820 "conf_parser.y"
3718 >  case 96:
3719 > /* Line 1787 of yacc.c  */
3720 > #line 837 "conf_parser.y"
3721      {
3722    if (conf_parser_ctx.pass == 2)
3723      ServerInfo.hub = yylval.number;
3724   }
3725      break;
3726  
3727 <  case 101:
3728 < /* Line 1792 of yacc.c  */
3729 < #line 835 "conf_parser.y"
3727 >  case 104:
3728 > /* Line 1787 of yacc.c  */
3729 > #line 852 "conf_parser.y"
3730 >    {
3731 >  if (conf_parser_ctx.pass != 2)
3732 >    break;
3733 >
3734 >  MyFree(AdminInfo.name);
3735 >  AdminInfo.name = xstrdup(yylval.string);
3736 > }
3737 >    break;
3738 >
3739 >  case 105:
3740 > /* Line 1787 of yacc.c  */
3741 > #line 861 "conf_parser.y"
3742 >    {
3743 >  if (conf_parser_ctx.pass != 2)
3744 >    break;
3745 >
3746 >  MyFree(AdminInfo.email);
3747 >  AdminInfo.email = xstrdup(yylval.string);
3748 > }
3749 >    break;
3750 >
3751 >  case 106:
3752 > /* Line 1787 of yacc.c  */
3753 > #line 870 "conf_parser.y"
3754 >    {
3755 >  if (conf_parser_ctx.pass != 2)
3756 >    break;
3757 >
3758 >  MyFree(AdminInfo.description);
3759 >  AdminInfo.description = xstrdup(yylval.string);
3760 > }
3761 >    break;
3762 >
3763 >  case 107:
3764 > /* Line 1787 of yacc.c  */
3765 > #line 882 "conf_parser.y"
3766      {
3767    if (conf_parser_ctx.pass == 2)
3768 <  {
3769 <    MyFree(AdminInfo.name);
3770 <    AdminInfo.name = xstrdup(yylval.string);
3771 <  }
3768 >    reset_block_state();
3769 > }
3770 >    break;
3771 >
3772 >  case 108:
3773 > /* Line 1787 of yacc.c  */
3774 > #line 886 "conf_parser.y"
3775 >    {
3776 >  dlink_node *ptr = NULL;
3777 >
3778 >  if (conf_parser_ctx.pass != 2)
3779 >    break;
3780 >
3781 >  if (!block_state.file.buf[0])
3782 >    break;
3783 >
3784 >  DLINK_FOREACH(ptr, block_state.mask.list.head)
3785 >    motd_add(ptr->data, block_state.file.buf);
3786   }
3787      break;
3788  
3789 <  case 102:
3790 < /* Line 1792 of yacc.c  */
3791 < #line 844 "conf_parser.y"
3789 >  case 114:
3790 > /* Line 1787 of yacc.c  */
3791 > #line 903 "conf_parser.y"
3792      {
3793    if (conf_parser_ctx.pass == 2)
3794 <  {
3684 <    MyFree(AdminInfo.email);
3685 <    AdminInfo.email = xstrdup(yylval.string);
3686 <  }
3794 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3795   }
3796      break;
3797  
3798 <  case 103:
3799 < /* Line 1792 of yacc.c  */
3800 < #line 853 "conf_parser.y"
3798 >  case 115:
3799 > /* Line 1787 of yacc.c  */
3800 > #line 909 "conf_parser.y"
3801      {
3802    if (conf_parser_ctx.pass == 2)
3803 <  {
3696 <    MyFree(AdminInfo.description);
3697 <    AdminInfo.description = xstrdup(yylval.string);
3698 <  }
3803 >    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3804   }
3805      break;
3806  
3807 <  case 110:
3808 < /* Line 1792 of yacc.c  */
3809 < #line 871 "conf_parser.y"
3807 >  case 122:
3808 > /* Line 1787 of yacc.c  */
3809 > #line 924 "conf_parser.y"
3810      {
3811    if (conf_parser_ctx.pass == 2)
3812      ConfigLoggingEntry.use_logging = yylval.number;
3813   }
3814      break;
3815  
3816 <  case 111:
3817 < /* Line 1792 of yacc.c  */
3818 < #line 877 "conf_parser.y"
3816 >  case 123:
3817 > /* Line 1787 of yacc.c  */
3818 > #line 930 "conf_parser.y"
3819      {
3820    if (conf_parser_ctx.pass == 2)
3821      reset_block_state();
3822   }
3823      break;
3824  
3825 <  case 112:
3826 < /* Line 1792 of yacc.c  */
3827 < #line 881 "conf_parser.y"
3825 >  case 124:
3826 > /* Line 1787 of yacc.c  */
3827 > #line 934 "conf_parser.y"
3828      {
3829    if (conf_parser_ctx.pass != 2)
3830      break;
3831  
3832    if (block_state.type.value && block_state.file.buf[0])
3833 <    log_add_file(block_state.type.value, block_state.size.value,
3833 >    log_set_file(block_state.type.value, block_state.size.value,
3834                   block_state.file.buf);
3835   }
3836      break;
3837  
3838 <  case 119:
3839 < /* Line 1792 of yacc.c  */
3840 < #line 897 "conf_parser.y"
3838 >  case 131:
3839 > /* Line 1787 of yacc.c  */
3840 > #line 950 "conf_parser.y"
3841      {
3842    if (conf_parser_ctx.pass != 2)
3843      break;
# Line 3741 | Line 3846 | yyreduce:
3846   }
3847      break;
3848  
3849 <  case 120:
3850 < /* Line 1792 of yacc.c  */
3851 < #line 905 "conf_parser.y"
3849 >  case 132:
3850 > /* Line 1787 of yacc.c  */
3851 > #line 958 "conf_parser.y"
3852      {
3853    block_state.size.value = (yyvsp[(3) - (4)].number);
3854   }
3855      break;
3856  
3857 <  case 121:
3858 < /* Line 1792 of yacc.c  */
3859 < #line 908 "conf_parser.y"
3857 >  case 133:
3858 > /* Line 1787 of yacc.c  */
3859 > #line 961 "conf_parser.y"
3860      {
3861    block_state.size.value = 0;
3862   }
3863      break;
3864  
3865 <  case 122:
3866 < /* Line 1792 of yacc.c  */
3867 < #line 913 "conf_parser.y"
3865 >  case 134:
3866 > /* Line 1787 of yacc.c  */
3867 > #line 966 "conf_parser.y"
3868      {
3869    if (conf_parser_ctx.pass == 2)
3870      block_state.type.value = 0;
3871   }
3872      break;
3873  
3874 <  case 126:
3875 < /* Line 1792 of yacc.c  */
3876 < #line 920 "conf_parser.y"
3874 >  case 138:
3875 > /* Line 1787 of yacc.c  */
3876 > #line 973 "conf_parser.y"
3877      {
3878    if (conf_parser_ctx.pass == 2)
3879      block_state.type.value = LOG_TYPE_USER;
3880   }
3881      break;
3882  
3883 <  case 127:
3884 < /* Line 1792 of yacc.c  */
3885 < #line 924 "conf_parser.y"
3883 >  case 139:
3884 > /* Line 1787 of yacc.c  */
3885 > #line 977 "conf_parser.y"
3886      {
3887    if (conf_parser_ctx.pass == 2)
3888      block_state.type.value = LOG_TYPE_OPER;
3889   }
3890      break;
3891  
3892 <  case 128:
3893 < /* Line 1792 of yacc.c  */
3894 < #line 928 "conf_parser.y"
3892 >  case 140:
3893 > /* Line 1787 of yacc.c  */
3894 > #line 981 "conf_parser.y"
3895      {
3896    if (conf_parser_ctx.pass == 2)
3897      block_state.type.value = LOG_TYPE_GLINE;
3898   }
3899      break;
3900  
3901 <  case 129:
3902 < /* Line 1792 of yacc.c  */
3903 < #line 932 "conf_parser.y"
3901 >  case 141:
3902 > /* Line 1787 of yacc.c  */
3903 > #line 985 "conf_parser.y"
3904      {
3905    if (conf_parser_ctx.pass == 2)
3906      block_state.type.value = LOG_TYPE_DLINE;
3907   }
3908      break;
3909  
3910 <  case 130:
3911 < /* Line 1792 of yacc.c  */
3912 < #line 936 "conf_parser.y"
3910 >  case 142:
3911 > /* Line 1787 of yacc.c  */
3912 > #line 989 "conf_parser.y"
3913      {
3914    if (conf_parser_ctx.pass == 2)
3915      block_state.type.value = LOG_TYPE_KLINE;
3916   }
3917      break;
3918  
3919 <  case 131:
3920 < /* Line 1792 of yacc.c  */
3921 < #line 940 "conf_parser.y"
3919 >  case 143:
3920 > /* Line 1787 of yacc.c  */
3921 > #line 993 "conf_parser.y"
3922      {
3923    if (conf_parser_ctx.pass == 2)
3924      block_state.type.value = LOG_TYPE_KILL;
3925   }
3926      break;
3927  
3928 <  case 132:
3929 < /* Line 1792 of yacc.c  */
3930 < #line 944 "conf_parser.y"
3928 >  case 144:
3929 > /* Line 1787 of yacc.c  */
3930 > #line 997 "conf_parser.y"
3931      {
3932    if (conf_parser_ctx.pass == 2)
3933      block_state.type.value = LOG_TYPE_DEBUG;
3934   }
3935      break;
3936  
3937 <  case 133:
3938 < /* Line 1792 of yacc.c  */
3939 < #line 954 "conf_parser.y"
3937 >  case 145:
3938 > /* Line 1787 of yacc.c  */
3939 > #line 1007 "conf_parser.y"
3940      {
3941    if (conf_parser_ctx.pass != 2)
3942      break;
# Line 3841 | Line 3946 | yyreduce:
3946   }
3947      break;
3948  
3949 <  case 134:
3950 < /* Line 1792 of yacc.c  */
3951 < #line 961 "conf_parser.y"
3949 >  case 146:
3950 > /* Line 1787 of yacc.c  */
3951 > #line 1014 "conf_parser.y"
3952      {
3953    dlink_node *ptr = NULL;
3954  
# Line 3853 | Line 3958 | yyreduce:
3958    if (!block_state.name.buf[0])
3959      break;
3960   #ifdef HAVE_LIBCRYPTO
3961 <  if (!(block_state.file.buf[0] ||
3962 <        block_state.rpass.buf[0]))
3961 >  if (!block_state.file.buf[0] &&
3962 >      !block_state.rpass.buf[0])
3963      break;
3964   #else
3965    if (!block_state.rpass.buf[0])
# Line 3875 | Line 3980 | yyreduce:
3980      nuh.hostsize = sizeof(block_state.host.buf);
3981      split_nuh(&nuh);
3982  
3983 <    conf        = conf_make(CONF_OPER);
3984 <    conf->name  = xstrdup(block_state.name.buf);
3985 <    conf->user  = xstrdup(block_state.user.buf);
3986 <    conf->host  = xstrdup(block_state.host.buf);
3983 >    conf         = conf_make(CONF_OPER);
3984 >    conf->name   = xstrdup(block_state.name.buf);
3985 >    conf->user   = xstrdup(block_state.user.buf);
3986 >    conf->host   = xstrdup(block_state.host.buf);
3987 >
3988 >    if (block_state.cert.buf[0])
3989 >      conf->certfp = xstrdup(block_state.cert.buf);
3990  
3991      if (block_state.rpass.buf[0])
3992        conf->passwd = xstrdup(block_state.rpass.buf);
# Line 3914 | Line 4022 | yyreduce:
4022   }
4023      break;
4024  
4025 <  case 146:
4026 < /* Line 1792 of yacc.c  */
4027 < #line 1036 "conf_parser.y"
4025 >  case 159:
4026 > /* Line 1787 of yacc.c  */
4027 > #line 1093 "conf_parser.y"
4028      {
4029    if (conf_parser_ctx.pass == 2)
4030      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4031   }
4032      break;
4033  
4034 <  case 147:
4035 < /* Line 1792 of yacc.c  */
4036 < #line 1042 "conf_parser.y"
4034 >  case 160:
4035 > /* Line 1787 of yacc.c  */
4036 > #line 1099 "conf_parser.y"
4037      {
4038    if (conf_parser_ctx.pass == 2)
4039      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4040   }
4041      break;
4042  
4043 <  case 148:
4044 < /* Line 1792 of yacc.c  */
4045 < #line 1048 "conf_parser.y"
4043 >  case 161:
4044 > /* Line 1787 of yacc.c  */
4045 > #line 1105 "conf_parser.y"
4046      {
4047    if (conf_parser_ctx.pass == 2)
4048      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4049   }
4050      break;
4051  
4052 <  case 149:
4053 < /* Line 1792 of yacc.c  */
4054 < #line 1054 "conf_parser.y"
4052 >  case 162:
4053 > /* Line 1787 of yacc.c  */
4054 > #line 1111 "conf_parser.y"
4055      {
4056 <  if (conf_parser_ctx.pass == 2)
4057 <  {
4058 <    if (yylval.number)
4059 <      block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
4060 <    else
4061 <      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4062 <  }
4056 >  if (conf_parser_ctx.pass != 2)
4057 >    break;
4058 >
4059 >  if (yylval.number)
4060 >    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
4061 >  else
4062 >    block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4063   }
4064      break;
4065  
4066 <  case 150:
4067 < /* Line 1792 of yacc.c  */
4068 < #line 1065 "conf_parser.y"
4066 >  case 163:
4067 > /* Line 1787 of yacc.c  */
4068 > #line 1122 "conf_parser.y"
4069      {
4070    if (conf_parser_ctx.pass == 2)
4071      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
4072   }
4073      break;
4074  
4075 <  case 151:
4076 < /* Line 1792 of yacc.c  */
4077 < #line 1071 "conf_parser.y"
4075 >  case 164:
4076 > /* Line 1787 of yacc.c  */
4077 > #line 1128 "conf_parser.y"
4078      {
4079    if (conf_parser_ctx.pass == 2)
4080 <    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4080 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
4081   }
4082      break;
4083  
4084 <  case 152:
4085 < /* Line 1792 of yacc.c  */
4086 < #line 1077 "conf_parser.y"
4084 >  case 165:
4085 > /* Line 1787 of yacc.c  */
4086 > #line 1134 "conf_parser.y"
4087      {
4088    if (conf_parser_ctx.pass == 2)
4089 <    block_state.modes.value = 0;
4089 >    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4090   }
4091      break;
4092  
4093 <  case 156:
4094 < /* Line 1792 of yacc.c  */
4095 < #line 1084 "conf_parser.y"
4093 >  case 166:
4094 > /* Line 1787 of yacc.c  */
4095 > #line 1140 "conf_parser.y"
4096      {
4097    if (conf_parser_ctx.pass == 2)
4098 <    block_state.modes.value |= UMODE_BOTS;
4098 >    block_state.modes.value = 0;
4099   }
4100      break;
4101  
4102 <  case 157:
4103 < /* Line 1792 of yacc.c  */
4104 < #line 1088 "conf_parser.y"
4102 >  case 170:
4103 > /* Line 1787 of yacc.c  */
4104 > #line 1147 "conf_parser.y"
4105      {
4106    if (conf_parser_ctx.pass == 2)
4107 <    block_state.modes.value |= UMODE_CCONN;
4107 >    block_state.modes.value |= UMODE_BOTS;
4108   }
4109      break;
4110  
4111 <  case 158:
4112 < /* Line 1792 of yacc.c  */
4113 < #line 1092 "conf_parser.y"
4111 >  case 171:
4112 > /* Line 1787 of yacc.c  */
4113 > #line 1151 "conf_parser.y"
4114      {
4115    if (conf_parser_ctx.pass == 2)
4116 <    block_state.modes.value |= UMODE_CCONN_FULL;
4116 >    block_state.modes.value |= UMODE_CCONN;
4117   }
4118      break;
4119  
4120 <  case 159:
4121 < /* Line 1792 of yacc.c  */
4122 < #line 1096 "conf_parser.y"
4120 >  case 172:
4121 > /* Line 1787 of yacc.c  */
4122 > #line 1155 "conf_parser.y"
4123      {
4124    if (conf_parser_ctx.pass == 2)
4125      block_state.modes.value |= UMODE_DEAF;
4126   }
4127      break;
4128  
4129 <  case 160:
4130 < /* Line 1792 of yacc.c  */
4131 < #line 1100 "conf_parser.y"
4129 >  case 173:
4130 > /* Line 1787 of yacc.c  */
4131 > #line 1159 "conf_parser.y"
4132      {
4133    if (conf_parser_ctx.pass == 2)
4134      block_state.modes.value |= UMODE_DEBUG;
4135   }
4136      break;
4137  
4138 <  case 161:
4139 < /* Line 1792 of yacc.c  */
4140 < #line 1104 "conf_parser.y"
4138 >  case 174:
4139 > /* Line 1787 of yacc.c  */
4140 > #line 1163 "conf_parser.y"
4141      {
4142    if (conf_parser_ctx.pass == 2)
4143      block_state.modes.value |= UMODE_FULL;
4144   }
4145      break;
4146  
4147 <  case 162:
4148 < /* Line 1792 of yacc.c  */
4149 < #line 1108 "conf_parser.y"
4147 >  case 175:
4148 > /* Line 1787 of yacc.c  */
4149 > #line 1167 "conf_parser.y"
4150      {
4151    if (conf_parser_ctx.pass == 2)
4152      block_state.modes.value |= UMODE_HIDDEN;
4153   }
4154      break;
4155  
4156 <  case 163:
4157 < /* Line 1792 of yacc.c  */
4158 < #line 1112 "conf_parser.y"
4156 >  case 176:
4157 > /* Line 1787 of yacc.c  */
4158 > #line 1171 "conf_parser.y"
4159      {
4160    if (conf_parser_ctx.pass == 2)
4161      block_state.modes.value |= UMODE_SKILL;
4162   }
4163      break;
4164  
4165 <  case 164:
4166 < /* Line 1792 of yacc.c  */
4167 < #line 1116 "conf_parser.y"
4165 >  case 177:
4166 > /* Line 1787 of yacc.c  */
4167 > #line 1175 "conf_parser.y"
4168      {
4169    if (conf_parser_ctx.pass == 2)
4170      block_state.modes.value |= UMODE_NCHANGE;
4171   }
4172      break;
4173  
4174 <  case 165:
4175 < /* Line 1792 of yacc.c  */
4176 < #line 1120 "conf_parser.y"
4174 >  case 178:
4175 > /* Line 1787 of yacc.c  */
4176 > #line 1179 "conf_parser.y"
4177      {
4178    if (conf_parser_ctx.pass == 2)
4179      block_state.modes.value |= UMODE_REJ;
4180   }
4181      break;
4182  
4183 <  case 166:
4184 < /* Line 1792 of yacc.c  */
4185 < #line 1124 "conf_parser.y"
4183 >  case 179:
4184 > /* Line 1787 of yacc.c  */
4185 > #line 1183 "conf_parser.y"
4186      {
4187    if (conf_parser_ctx.pass == 2)
4188      block_state.modes.value |= UMODE_UNAUTH;
4189   }
4190      break;
4191  
4192 <  case 167:
4193 < /* Line 1792 of yacc.c  */
4194 < #line 1128 "conf_parser.y"
4192 >  case 180:
4193 > /* Line 1787 of yacc.c  */
4194 > #line 1187 "conf_parser.y"
4195      {
4196    if (conf_parser_ctx.pass == 2)
4197      block_state.modes.value |= UMODE_SPY;
4198   }
4199      break;
4200  
4201 <  case 168:
4202 < /* Line 1792 of yacc.c  */
4203 < #line 1132 "conf_parser.y"
4201 >  case 181:
4202 > /* Line 1787 of yacc.c  */
4203 > #line 1191 "conf_parser.y"
4204      {
4205    if (conf_parser_ctx.pass == 2)
4206      block_state.modes.value |= UMODE_EXTERNAL;
4207   }
4208      break;
4209  
4210 <  case 169:
4211 < /* Line 1792 of yacc.c  */
4212 < #line 1136 "conf_parser.y"
4210 >  case 182:
4211 > /* Line 1787 of yacc.c  */
4212 > #line 1195 "conf_parser.y"
4213      {
4214    if (conf_parser_ctx.pass == 2)
4215      block_state.modes.value |= UMODE_OPERWALL;
4216   }
4217      break;
4218  
4219 <  case 170:
4220 < /* Line 1792 of yacc.c  */
4221 < #line 1140 "conf_parser.y"
4219 >  case 183:
4220 > /* Line 1787 of yacc.c  */
4221 > #line 1199 "conf_parser.y"
4222      {
4223    if (conf_parser_ctx.pass == 2)
4224      block_state.modes.value |= UMODE_SERVNOTICE;
4225   }
4226      break;
4227  
4228 <  case 171:
4229 < /* Line 1792 of yacc.c  */
4230 < #line 1144 "conf_parser.y"
4228 >  case 184:
4229 > /* Line 1787 of yacc.c  */
4230 > #line 1203 "conf_parser.y"
4231      {
4232    if (conf_parser_ctx.pass == 2)
4233      block_state.modes.value |= UMODE_INVISIBLE;
4234   }
4235      break;
4236  
4237 <  case 172:
4238 < /* Line 1792 of yacc.c  */
4239 < #line 1148 "conf_parser.y"
4237 >  case 185:
4238 > /* Line 1787 of yacc.c  */
4239 > #line 1207 "conf_parser.y"
4240      {
4241    if (conf_parser_ctx.pass == 2)
4242      block_state.modes.value |= UMODE_WALLOP;
4243   }
4244      break;
4245  
4246 <  case 173:
4247 < /* Line 1792 of yacc.c  */
4248 < #line 1152 "conf_parser.y"
4246 >  case 186:
4247 > /* Line 1787 of yacc.c  */
4248 > #line 1211 "conf_parser.y"
4249      {
4250    if (conf_parser_ctx.pass == 2)
4251      block_state.modes.value |= UMODE_SOFTCALLERID;
4252   }
4253      break;
4254  
4255 <  case 174:
4256 < /* Line 1792 of yacc.c  */
4257 < #line 1156 "conf_parser.y"
4255 >  case 187:
4256 > /* Line 1787 of yacc.c  */
4257 > #line 1215 "conf_parser.y"
4258      {
4259    if (conf_parser_ctx.pass == 2)
4260      block_state.modes.value |= UMODE_CALLERID;
4261   }
4262      break;
4263  
4264 <  case 175:
4265 < /* Line 1792 of yacc.c  */
4266 < #line 1160 "conf_parser.y"
4264 >  case 188:
4265 > /* Line 1787 of yacc.c  */
4266 > #line 1219 "conf_parser.y"
4267      {
4268    if (conf_parser_ctx.pass == 2)
4269      block_state.modes.value |= UMODE_LOCOPS;
4270   }
4271      break;
4272  
4273 <  case 176:
4274 < /* Line 1792 of yacc.c  */
4275 < #line 1166 "conf_parser.y"
4273 >  case 189:
4274 > /* Line 1787 of yacc.c  */
4275 > #line 1223 "conf_parser.y"
4276 >    {
4277 >  if (conf_parser_ctx.pass == 2)
4278 >    block_state.modes.value |= UMODE_REGONLY;
4279 > }
4280 >    break;
4281 >
4282 >  case 190:
4283 > /* Line 1787 of yacc.c  */
4284 > #line 1227 "conf_parser.y"
4285 >    {
4286 >  if (conf_parser_ctx.pass == 2)
4287 >    block_state.modes.value |= UMODE_FARCONNECT;
4288 > }
4289 >    break;
4290 >
4291 >  case 191:
4292 > /* Line 1787 of yacc.c  */
4293 > #line 1233 "conf_parser.y"
4294      {
4295    if (conf_parser_ctx.pass == 2)
4296      block_state.port.value = 0;
4297   }
4298      break;
4299  
4300 <  case 180:
4301 < /* Line 1792 of yacc.c  */
4302 < #line 1173 "conf_parser.y"
4300 >  case 195:
4301 > /* Line 1787 of yacc.c  */
4302 > #line 1240 "conf_parser.y"
4303      {
4304    if (conf_parser_ctx.pass == 2)
4305 <    block_state.port.value |= OPER_FLAG_GLOBAL_KILL;
4305 >    block_state.port.value |= OPER_FLAG_KILL_REMOTE;
4306   }
4307      break;
4308  
4309 <  case 181:
4310 < /* Line 1792 of yacc.c  */
4311 < #line 1177 "conf_parser.y"
4309 >  case 196:
4310 > /* Line 1787 of yacc.c  */
4311 > #line 1244 "conf_parser.y"
4312      {
4313    if (conf_parser_ctx.pass == 2)
4314 <    block_state.port.value |= OPER_FLAG_REMOTE;
4314 >    block_state.port.value |= OPER_FLAG_KILL;
4315   }
4316      break;
4317  
4318 <  case 182:
4319 < /* Line 1792 of yacc.c  */
4320 < #line 1181 "conf_parser.y"
4318 >  case 197:
4319 > /* Line 1787 of yacc.c  */
4320 > #line 1248 "conf_parser.y"
4321 >    {
4322 >  if (conf_parser_ctx.pass == 2)
4323 >    block_state.port.value |= OPER_FLAG_CONNECT_REMOTE;
4324 > }
4325 >    break;
4326 >
4327 >  case 198:
4328 > /* Line 1787 of yacc.c  */
4329 > #line 1252 "conf_parser.y"
4330 >    {
4331 >  if (conf_parser_ctx.pass == 2)
4332 >    block_state.port.value |= OPER_FLAG_CONNECT;
4333 > }
4334 >    break;
4335 >
4336 >  case 199:
4337 > /* Line 1787 of yacc.c  */
4338 > #line 1256 "conf_parser.y"
4339 >    {
4340 >  if (conf_parser_ctx.pass == 2)
4341 >    block_state.port.value |= OPER_FLAG_SQUIT_REMOTE;
4342 > }
4343 >    break;
4344 >
4345 >  case 200:
4346 > /* Line 1787 of yacc.c  */
4347 > #line 1260 "conf_parser.y"
4348 >    {
4349 >  if (conf_parser_ctx.pass == 2)
4350 >    block_state.port.value |= OPER_FLAG_SQUIT;
4351 > }
4352 >    break;
4353 >
4354 >  case 201:
4355 > /* Line 1787 of yacc.c  */
4356 > #line 1264 "conf_parser.y"
4357      {
4358    if (conf_parser_ctx.pass == 2)
4359      block_state.port.value |= OPER_FLAG_K;
4360   }
4361      break;
4362  
4363 <  case 183:
4364 < /* Line 1792 of yacc.c  */
4365 < #line 1185 "conf_parser.y"
4363 >  case 202:
4364 > /* Line 1787 of yacc.c  */
4365 > #line 1268 "conf_parser.y"
4366      {
4367    if (conf_parser_ctx.pass == 2)
4368      block_state.port.value |= OPER_FLAG_UNKLINE;
4369   }
4370      break;
4371  
4372 <  case 184:
4373 < /* Line 1792 of yacc.c  */
4374 < #line 1189 "conf_parser.y"
4372 >  case 203:
4373 > /* Line 1787 of yacc.c  */
4374 > #line 1272 "conf_parser.y"
4375      {
4376    if (conf_parser_ctx.pass == 2)
4377      block_state.port.value |= OPER_FLAG_DLINE;
4378   }
4379      break;
4380  
4381 <  case 185:
4382 < /* Line 1792 of yacc.c  */
4383 < #line 1193 "conf_parser.y"
4381 >  case 204:
4382 > /* Line 1787 of yacc.c  */
4383 > #line 1276 "conf_parser.y"
4384      {
4385    if (conf_parser_ctx.pass == 2)
4386      block_state.port.value |= OPER_FLAG_UNDLINE;
4387   }
4388      break;
4389  
4390 <  case 186:
4391 < /* Line 1792 of yacc.c  */
4392 < #line 1197 "conf_parser.y"
4390 >  case 205:
4391 > /* Line 1787 of yacc.c  */
4392 > #line 1280 "conf_parser.y"
4393      {
4394    if (conf_parser_ctx.pass == 2)
4395      block_state.port.value |= OPER_FLAG_X;
4396   }
4397      break;
4398  
4399 <  case 187:
4400 < /* Line 1792 of yacc.c  */
4401 < #line 1201 "conf_parser.y"
4399 >  case 206:
4400 > /* Line 1787 of yacc.c  */
4401 > #line 1284 "conf_parser.y"
4402      {
4403    if (conf_parser_ctx.pass == 2)
4404      block_state.port.value |= OPER_FLAG_GLINE;
4405   }
4406      break;
4407  
4408 <  case 188:
4409 < /* Line 1792 of yacc.c  */
4410 < #line 1205 "conf_parser.y"
4408 >  case 207:
4409 > /* Line 1787 of yacc.c  */
4410 > #line 1288 "conf_parser.y"
4411      {
4412    if (conf_parser_ctx.pass == 2)
4413      block_state.port.value |= OPER_FLAG_DIE;
4414   }
4415      break;
4416  
4417 <  case 189:
4418 < /* Line 1792 of yacc.c  */
4419 < #line 1209 "conf_parser.y"
4417 >  case 208:
4418 > /* Line 1787 of yacc.c  */
4419 > #line 1292 "conf_parser.y"
4420      {
4421    if (conf_parser_ctx.pass == 2)
4422      block_state.port.value |= OPER_FLAG_RESTART;
4423   }
4424      break;
4425  
4426 <  case 190:
4427 < /* Line 1792 of yacc.c  */
4428 < #line 1213 "conf_parser.y"
4426 >  case 209:
4427 > /* Line 1787 of yacc.c  */
4428 > #line 1296 "conf_parser.y"
4429      {
4430    if (conf_parser_ctx.pass == 2)
4431      block_state.port.value |= OPER_FLAG_REHASH;
4432   }
4433      break;
4434  
4435 <  case 191:
4436 < /* Line 1792 of yacc.c  */
4437 < #line 1217 "conf_parser.y"
4435 >  case 210:
4436 > /* Line 1787 of yacc.c  */
4437 > #line 1300 "conf_parser.y"
4438      {
4439    if (conf_parser_ctx.pass == 2)
4440      block_state.port.value |= OPER_FLAG_ADMIN;
4441   }
4442      break;
4443  
4444 <  case 192:
4445 < /* Line 1792 of yacc.c  */
4446 < #line 1221 "conf_parser.y"
4444 >  case 211:
4445 > /* Line 1787 of yacc.c  */
4446 > #line 1304 "conf_parser.y"
4447      {
4448    if (conf_parser_ctx.pass == 2)
4449 <    block_state.port.value |= OPER_FLAG_N;
4449 >    block_state.port.value |= OPER_FLAG_OPERWALL;
4450   }
4451      break;
4452  
4453 <  case 193:
4454 < /* Line 1792 of yacc.c  */
4455 < #line 1225 "conf_parser.y"
4453 >  case 212:
4454 > /* Line 1787 of yacc.c  */
4455 > #line 1308 "conf_parser.y"
4456      {
4457    if (conf_parser_ctx.pass == 2)
4458 <    block_state.port.value |= OPER_FLAG_OPERWALL;
4458 >    block_state.port.value |= OPER_FLAG_GLOBOPS;
4459   }
4460      break;
4461  
4462 <  case 194:
4463 < /* Line 1792 of yacc.c  */
4464 < #line 1229 "conf_parser.y"
4462 >  case 213:
4463 > /* Line 1787 of yacc.c  */
4464 > #line 1312 "conf_parser.y"
4465      {
4466    if (conf_parser_ctx.pass == 2)
4467 <    block_state.port.value |= OPER_FLAG_GLOBOPS;
4467 >    block_state.port.value |= OPER_FLAG_WALLOPS;
4468   }
4469      break;
4470  
4471 <  case 195:
4472 < /* Line 1792 of yacc.c  */
4473 < #line 1233 "conf_parser.y"
4471 >  case 214:
4472 > /* Line 1787 of yacc.c  */
4473 > #line 1316 "conf_parser.y"
4474      {
4475    if (conf_parser_ctx.pass == 2)
4476 <    block_state.port.value |= OPER_FLAG_OPER_SPY;
4476 >    block_state.port.value |= OPER_FLAG_LOCOPS;
4477   }
4478      break;
4479  
4480 <  case 196:
4481 < /* Line 1792 of yacc.c  */
4482 < #line 1237 "conf_parser.y"
4480 >  case 215:
4481 > /* Line 1787 of yacc.c  */
4482 > #line 1320 "conf_parser.y"
4483      {
4484    if (conf_parser_ctx.pass == 2)
4485      block_state.port.value |= OPER_FLAG_REMOTEBAN;
4486   }
4487      break;
4488  
4489 <  case 197:
4490 < /* Line 1792 of yacc.c  */
4491 < #line 1241 "conf_parser.y"
4489 >  case 216:
4490 > /* Line 1787 of yacc.c  */
4491 > #line 1324 "conf_parser.y"
4492      {
4493    if (conf_parser_ctx.pass == 2)
4494      block_state.port.value |= OPER_FLAG_SET;
4495   }
4496      break;
4497  
4498 <  case 198:
4499 < /* Line 1792 of yacc.c  */
4500 < #line 1245 "conf_parser.y"
4498 >  case 217:
4499 > /* Line 1787 of yacc.c  */
4500 > #line 1328 "conf_parser.y"
4501      {
4502    if (conf_parser_ctx.pass == 2)
4503      block_state.port.value |= OPER_FLAG_MODULE;
4504   }
4505      break;
4506  
4507 <  case 199:
4508 < /* Line 1792 of yacc.c  */
4509 < #line 1255 "conf_parser.y"
4507 >  case 218:
4508 > /* Line 1787 of yacc.c  */
4509 > #line 1338 "conf_parser.y"
4510      {
4511    if (conf_parser_ctx.pass != 1)
4512      break;
# Line 4356 | Line 4518 | yyreduce:
4518    block_state.max_total.value = MAXIMUM_LINKS_DEFAULT;
4519    block_state.max_sendq.value = DEFAULT_SENDQ;
4520    block_state.max_recvq.value = DEFAULT_RECVQ;
4359
4521   }
4522      break;
4523  
4524 <  case 200:
4525 < /* Line 1792 of yacc.c  */
4526 < #line 1268 "conf_parser.y"
4524 >  case 219:
4525 > /* Line 1787 of yacc.c  */
4526 > #line 1350 "conf_parser.y"
4527      {
4528    struct ClassItem *class = NULL;
4529  
# Line 4388 | Line 4549 | yyreduce:
4549    class->max_sendq = block_state.max_sendq.value;
4550    class->max_recvq = block_state.max_recvq.value;
4551  
4552 +  if (block_state.min_idle.value > block_state.max_idle.value)
4553 +  {
4554 +    block_state.min_idle.value = 0;
4555 +    block_state.max_idle.value = 0;
4556 +    block_state.flags.value &= ~CLASS_FLAGS_FAKE_IDLE;
4557 +  }
4558 +
4559 +  class->flags = block_state.flags.value;
4560 +  class->min_idle = block_state.min_idle.value;
4561 +  class->max_idle = block_state.max_idle.value;
4562 +
4563    if (class->number_per_cidr && block_state.number_per_cidr.value)
4564      if ((class->cidr_bitlen_ipv4 && block_state.cidr_bitlen_ipv4.value) ||
4565          (class->cidr_bitlen_ipv6 && block_state.cidr_bitlen_ipv6.value))
# Line 4401 | Line 4573 | yyreduce:
4573   }
4574      break;
4575  
4576 <  case 217:
4577 < /* Line 1792 of yacc.c  */
4578 < #line 1320 "conf_parser.y"
4576 >  case 239:
4577 > /* Line 1787 of yacc.c  */
4578 > #line 1416 "conf_parser.y"
4579      {
4580    if (conf_parser_ctx.pass == 1)
4581      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4582   }
4583      break;
4584  
4585 <  case 218:
4586 < /* Line 1792 of yacc.c  */
4587 < #line 1326 "conf_parser.y"
4585 >  case 240:
4586 > /* Line 1787 of yacc.c  */
4587 > #line 1422 "conf_parser.y"
4588      {
4589    if (conf_parser_ctx.pass == 1)
4590      block_state.ping_freq.value = (yyvsp[(3) - (4)].number);
4591   }
4592      break;
4593  
4594 <  case 219:
4595 < /* Line 1792 of yacc.c  */
4596 < #line 1332 "conf_parser.y"
4594 >  case 241:
4595 > /* Line 1787 of yacc.c  */
4596 > #line 1428 "conf_parser.y"
4597      {
4598    if (conf_parser_ctx.pass == 1)
4599      block_state.max_perip.value = (yyvsp[(3) - (4)].number);
4600   }
4601      break;
4602  
4603 <  case 220:
4604 < /* Line 1792 of yacc.c  */
4605 < #line 1338 "conf_parser.y"
4603 >  case 242:
4604 > /* Line 1787 of yacc.c  */
4605 > #line 1434 "conf_parser.y"
4606      {
4607    if (conf_parser_ctx.pass == 1)
4608      block_state.con_freq.value = (yyvsp[(3) - (4)].number);
4609   }
4610      break;
4611  
4612 <  case 221:
4613 < /* Line 1792 of yacc.c  */
4614 < #line 1344 "conf_parser.y"
4612 >  case 243:
4613 > /* Line 1787 of yacc.c  */
4614 > #line 1440 "conf_parser.y"
4615      {
4616    if (conf_parser_ctx.pass == 1)
4617      block_state.max_total.value = (yyvsp[(3) - (4)].number);
4618   }
4619      break;
4620  
4621 <  case 222:
4622 < /* Line 1792 of yacc.c  */
4623 < #line 1350 "conf_parser.y"
4621 >  case 244:
4622 > /* Line 1787 of yacc.c  */
4623 > #line 1446 "conf_parser.y"
4624      {
4625    if (conf_parser_ctx.pass == 1)
4626      block_state.max_global.value = (yyvsp[(3) - (4)].number);
4627   }
4628      break;
4629  
4630 <  case 223:
4631 < /* Line 1792 of yacc.c  */
4632 < #line 1356 "conf_parser.y"
4630 >  case 245:
4631 > /* Line 1787 of yacc.c  */
4632 > #line 1452 "conf_parser.y"
4633      {
4634    if (conf_parser_ctx.pass == 1)
4635      block_state.max_local.value = (yyvsp[(3) - (4)].number);
4636   }
4637      break;
4638  
4639 <  case 224:
4640 < /* Line 1792 of yacc.c  */
4641 < #line 1362 "conf_parser.y"
4639 >  case 246:
4640 > /* Line 1787 of yacc.c  */
4641 > #line 1458 "conf_parser.y"
4642      {
4643    if (conf_parser_ctx.pass == 1)
4644      block_state.max_ident.value = (yyvsp[(3) - (4)].number);
4645   }
4646      break;
4647  
4648 <  case 225:
4649 < /* Line 1792 of yacc.c  */
4650 < #line 1368 "conf_parser.y"
4648 >  case 247:
4649 > /* Line 1787 of yacc.c  */
4650 > #line 1464 "conf_parser.y"
4651      {
4652    if (conf_parser_ctx.pass == 1)
4653      block_state.max_sendq.value = (yyvsp[(3) - (4)].number);
4654   }
4655      break;
4656  
4657 <  case 226:
4658 < /* Line 1792 of yacc.c  */
4659 < #line 1374 "conf_parser.y"
4657 >  case 248:
4658 > /* Line 1787 of yacc.c  */
4659 > #line 1470 "conf_parser.y"
4660      {
4661    if (conf_parser_ctx.pass == 1)
4662      if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
# Line 4492 | Line 4664 | yyreduce:
4664   }
4665      break;
4666  
4667 <  case 227:
4668 < /* Line 1792 of yacc.c  */
4669 < #line 1381 "conf_parser.y"
4667 >  case 249:
4668 > /* Line 1787 of yacc.c  */
4669 > #line 1477 "conf_parser.y"
4670      {
4671    if (conf_parser_ctx.pass == 1)
4672      block_state.cidr_bitlen_ipv4.value = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4673   }
4674      break;
4675  
4676 <  case 228:
4677 < /* Line 1792 of yacc.c  */
4678 < #line 1387 "conf_parser.y"
4676 >  case 250:
4677 > /* Line 1787 of yacc.c  */
4678 > #line 1483 "conf_parser.y"
4679      {
4680    if (conf_parser_ctx.pass == 1)
4681      block_state.cidr_bitlen_ipv6.value = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4682   }
4683      break;
4684  
4685 <  case 229:
4686 < /* Line 1792 of yacc.c  */
4687 < #line 1393 "conf_parser.y"
4685 >  case 251:
4686 > /* Line 1787 of yacc.c  */
4687 > #line 1489 "conf_parser.y"
4688      {
4689    if (conf_parser_ctx.pass == 1)
4690      block_state.number_per_cidr.value = (yyvsp[(3) - (4)].number);
4691   }
4692      break;
4693  
4694 <  case 230:
4695 < /* Line 1792 of yacc.c  */
4696 < #line 1402 "conf_parser.y"
4694 >  case 252:
4695 > /* Line 1787 of yacc.c  */
4696 > #line 1495 "conf_parser.y"
4697 >    {
4698 >  if (conf_parser_ctx.pass != 1)
4699 >    break;
4700 >
4701 >  block_state.min_idle.value = (yyvsp[(3) - (4)].number);
4702 >  block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4703 > }
4704 >    break;
4705 >
4706 >  case 253:
4707 > /* Line 1787 of yacc.c  */
4708 > #line 1504 "conf_parser.y"
4709 >    {
4710 >  if (conf_parser_ctx.pass != 1)
4711 >    break;
4712 >
4713 >  block_state.max_idle.value = (yyvsp[(3) - (4)].number);
4714 >  block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4715 > }
4716 >    break;
4717 >
4718 >  case 254:
4719 > /* Line 1787 of yacc.c  */
4720 > #line 1513 "conf_parser.y"
4721 >    {
4722 >  if (conf_parser_ctx.pass == 1)
4723 >    block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
4724 > }
4725 >    break;
4726 >
4727 >  case 258:
4728 > /* Line 1787 of yacc.c  */
4729 > #line 1520 "conf_parser.y"
4730 >    {
4731 >  if (conf_parser_ctx.pass == 1)
4732 >    block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
4733 > }
4734 >    break;
4735 >
4736 >  case 259:
4737 > /* Line 1787 of yacc.c  */
4738 > #line 1524 "conf_parser.y"
4739 >    {
4740 >  if (conf_parser_ctx.pass == 1)
4741 >    block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
4742 > }
4743 >    break;
4744 >
4745 >  case 260:
4746 > /* Line 1787 of yacc.c  */
4747 > #line 1534 "conf_parser.y"
4748      {
4749    if (conf_parser_ctx.pass == 2)
4750      reset_block_state();
4751   }
4752      break;
4753  
4754 <  case 232:
4755 < /* Line 1792 of yacc.c  */
4756 < #line 1408 "conf_parser.y"
4754 >  case 262:
4755 > /* Line 1787 of yacc.c  */
4756 > #line 1540 "conf_parser.y"
4757      {
4758    block_state.flags.value = 0;
4759   }
4760      break;
4761  
4762 <  case 236:
4763 < /* Line 1792 of yacc.c  */
4764 < #line 1414 "conf_parser.y"
4762 >  case 266:
4763 > /* Line 1787 of yacc.c  */
4764 > #line 1546 "conf_parser.y"
4765      {
4766    if (conf_parser_ctx.pass == 2)
4767      block_state.flags.value |= LISTENER_SSL;
4768   }
4769      break;
4770  
4771 <  case 237:
4772 < /* Line 1792 of yacc.c  */
4773 < #line 1418 "conf_parser.y"
4771 >  case 267:
4772 > /* Line 1787 of yacc.c  */
4773 > #line 1550 "conf_parser.y"
4774      {
4775    if (conf_parser_ctx.pass == 2)
4776      block_state.flags.value |= LISTENER_HIDDEN;
4777   }
4778      break;
4779  
4780 <  case 238:
4781 < /* Line 1792 of yacc.c  */
4782 < #line 1422 "conf_parser.y"
4780 >  case 268:
4781 > /* Line 1787 of yacc.c  */
4782 > #line 1554 "conf_parser.y"
4783      {
4784    if (conf_parser_ctx.pass == 2)
4785     block_state.flags.value |= LISTENER_SERVER;
4786   }
4787      break;
4788  
4789 <  case 246:
4790 < /* Line 1792 of yacc.c  */
4791 < #line 1430 "conf_parser.y"
4789 >  case 276:
4790 > /* Line 1787 of yacc.c  */
4791 > #line 1562 "conf_parser.y"
4792      { block_state.flags.value = 0; }
4793      break;
4794  
4795 <  case 250:
4796 < /* Line 1792 of yacc.c  */
4797 < #line 1435 "conf_parser.y"
4795 >  case 280:
4796 > /* Line 1787 of yacc.c  */
4797 > #line 1567 "conf_parser.y"
4798      {
4799    if (conf_parser_ctx.pass == 2)
4800    {
# Line 4588 | Line 4811 | yyreduce:
4811   }
4812      break;
4813  
4814 <  case 251:
4815 < /* Line 1792 of yacc.c  */
4816 < #line 1449 "conf_parser.y"
4814 >  case 281:
4815 > /* Line 1787 of yacc.c  */
4816 > #line 1581 "conf_parser.y"
4817      {
4818    if (conf_parser_ctx.pass == 2)
4819    {
# Line 4611 | Line 4834 | yyreduce:
4834   }
4835      break;
4836  
4837 <  case 252:
4838 < /* Line 1792 of yacc.c  */
4839 < #line 1469 "conf_parser.y"
4837 >  case 282:
4838 > /* Line 1787 of yacc.c  */
4839 > #line 1601 "conf_parser.y"
4840      {
4841    if (conf_parser_ctx.pass == 2)
4842      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4843   }
4844      break;
4845  
4846 <  case 253:
4847 < /* Line 1792 of yacc.c  */
4848 < #line 1475 "conf_parser.y"
4846 >  case 283:
4847 > /* Line 1787 of yacc.c  */
4848 > #line 1607 "conf_parser.y"
4849      {
4850    if (conf_parser_ctx.pass == 2)
4851      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4852   }
4853      break;
4854  
4855 <  case 254:
4856 < /* Line 1792 of yacc.c  */
4857 < #line 1484 "conf_parser.y"
4855 >  case 284:
4856 > /* Line 1787 of yacc.c  */
4857 > #line 1616 "conf_parser.y"
4858      {
4859    if (conf_parser_ctx.pass == 2)
4860      reset_block_state();
4861   }
4862      break;
4863  
4864 <  case 255:
4865 < /* Line 1792 of yacc.c  */
4866 < #line 1488 "conf_parser.y"
4864 >  case 285:
4865 > /* Line 1787 of yacc.c  */
4866 > #line 1620 "conf_parser.y"
4867      {
4868    dlink_node *ptr = NULL;
4869  
# Line 4662 | Line 4885 | yyreduce:
4885      split_nuh(&nuh);
4886  
4887      conf        = conf_make(CONF_CLIENT);
4888 <    conf->user  = xstrdup(collapse(block_state.user.buf));
4889 <    conf->host  = xstrdup(collapse(block_state.host.buf));
4888 >    conf->user  = xstrdup(block_state.user.buf);
4889 >    conf->host  = xstrdup(block_state.host.buf);
4890  
4891      if (block_state.rpass.buf[0])
4892        conf->passwd = xstrdup(block_state.rpass.buf);
4893      if (block_state.name.buf[0])
4894 <      conf->passwd = xstrdup(block_state.name.buf);
4894 >      conf->name = xstrdup(block_state.name.buf);
4895  
4896      conf->flags = block_state.flags.value;
4897      conf->port  = block_state.port.value;
# Line 4679 | Line 4902 | yyreduce:
4902   }
4903      break;
4904  
4905 <  case 267:
4906 < /* Line 1792 of yacc.c  */
4907 < #line 1531 "conf_parser.y"
4905 >  case 297:
4906 > /* Line 1787 of yacc.c  */
4907 > #line 1663 "conf_parser.y"
4908      {
4909    if (conf_parser_ctx.pass == 2)
4910      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4911   }
4912      break;
4913  
4914 <  case 268:
4915 < /* Line 1792 of yacc.c  */
4916 < #line 1537 "conf_parser.y"
4914 >  case 298:
4915 > /* Line 1787 of yacc.c  */
4916 > #line 1669 "conf_parser.y"
4917      {
4918    if (conf_parser_ctx.pass == 2)
4919      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4920   }
4921      break;
4922  
4923 <  case 269:
4924 < /* Line 1792 of yacc.c  */
4925 < #line 1543 "conf_parser.y"
4923 >  case 299:
4924 > /* Line 1787 of yacc.c  */
4925 > #line 1675 "conf_parser.y"
4926      {
4927    if (conf_parser_ctx.pass == 2)
4928      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4929   }
4930      break;
4931  
4932 <  case 270:
4933 < /* Line 1792 of yacc.c  */
4934 < #line 1549 "conf_parser.y"
4932 >  case 300:
4933 > /* Line 1787 of yacc.c  */
4934 > #line 1681 "conf_parser.y"
4935      {
4936    if (conf_parser_ctx.pass == 2)
4937    {
# Line 4720 | Line 4943 | yyreduce:
4943   }
4944      break;
4945  
4946 <  case 271:
4947 < /* Line 1792 of yacc.c  */
4948 < #line 1560 "conf_parser.y"
4946 >  case 301:
4947 > /* Line 1787 of yacc.c  */
4948 > #line 1692 "conf_parser.y"
4949      {
4950    if (conf_parser_ctx.pass == 2)
4951 <    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
4951 >    block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP);
4952   }
4953      break;
4954  
4955 <  case 275:
4956 < /* Line 1792 of yacc.c  */
4957 < #line 1567 "conf_parser.y"
4955 >  case 305:
4956 > /* Line 1787 of yacc.c  */
4957 > #line 1699 "conf_parser.y"
4958      {
4959    if (conf_parser_ctx.pass == 2)
4960      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4961   }
4962      break;
4963  
4964 <  case 276:
4965 < /* Line 1792 of yacc.c  */
4966 < #line 1571 "conf_parser.y"
4964 >  case 306:
4965 > /* Line 1787 of yacc.c  */
4966 > #line 1703 "conf_parser.y"
4967      {
4968    if (conf_parser_ctx.pass == 2)
4969      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4970   }
4971      break;
4972  
4973 <  case 277:
4974 < /* Line 1792 of yacc.c  */
4975 < #line 1575 "conf_parser.y"
4973 >  case 307:
4974 > /* Line 1787 of yacc.c  */
4975 > #line 1707 "conf_parser.y"
4976      {
4977    if (conf_parser_ctx.pass == 2)
4978      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4979   }
4980      break;
4981  
4982 <  case 278:
4983 < /* Line 1792 of yacc.c  */
4984 < #line 1579 "conf_parser.y"
4982 >  case 308:
4983 > /* Line 1787 of yacc.c  */
4984 > #line 1711 "conf_parser.y"
4985      {
4986    if (conf_parser_ctx.pass == 2)
4987      block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4988   }
4989      break;
4990  
4991 <  case 279:
4992 < /* Line 1792 of yacc.c  */
4993 < #line 1583 "conf_parser.y"
4991 >  case 309:
4992 > /* Line 1787 of yacc.c  */
4993 > #line 1715 "conf_parser.y"
4994      {
4995    if (conf_parser_ctx.pass == 2)
4996      block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4997   }
4998      break;
4999  
5000 <  case 280:
5001 < /* Line 1792 of yacc.c  */
5002 < #line 1587 "conf_parser.y"
5000 >  case 310:
5001 > /* Line 1787 of yacc.c  */
5002 > #line 1719 "conf_parser.y"
5003      {
5004    if (conf_parser_ctx.pass == 2)
5005      block_state.flags.value |= CONF_FLAGS_NO_TILDE;
5006   }
5007      break;
5008  
5009 <  case 281:
5010 < /* Line 1792 of yacc.c  */
5011 < #line 1591 "conf_parser.y"
5009 >  case 311:
5010 > /* Line 1787 of yacc.c  */
5011 > #line 1723 "conf_parser.y"
5012      {
5013    if (conf_parser_ctx.pass == 2)
5014      block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
5015   }
5016      break;
5017  
5018 <  case 282:
5019 < /* Line 1792 of yacc.c  */
5020 < #line 1595 "conf_parser.y"
5018 >  case 312:
5019 > /* Line 1787 of yacc.c  */
5020 > #line 1727 "conf_parser.y"
5021      {
5022    if (conf_parser_ctx.pass == 2)
5023      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
5024   }
5025      break;
5026  
5027 <  case 283:
5028 < /* Line 1792 of yacc.c  */
5029 < #line 1599 "conf_parser.y"
5027 >  case 313:
5028 > /* Line 1787 of yacc.c  */
5029 > #line 1731 "conf_parser.y"
5030      {
5031    if (conf_parser_ctx.pass == 2)
5032      block_state.flags.value |= CONF_FLAGS_WEBIRC;
5033   }
5034      break;
5035  
5036 <  case 284:
5037 < /* Line 1792 of yacc.c  */
5038 < #line 1603 "conf_parser.y"
5036 >  case 314:
5037 > /* Line 1787 of yacc.c  */
5038 > #line 1735 "conf_parser.y"
5039      {
5040    if (conf_parser_ctx.pass == 2)
5041      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
5042   }
5043      break;
5044  
5045 <  case 285:
5046 < /* Line 1792 of yacc.c  */
5047 < #line 1609 "conf_parser.y"
5045 >  case 315:
5046 > /* Line 1787 of yacc.c  */
5047 > #line 1741 "conf_parser.y"
5048      {
5049    if (conf_parser_ctx.pass != 2)
5050      break;
# Line 4836 | Line 5059 | yyreduce:
5059   }
5060      break;
5061  
5062 <  case 286:
5063 < /* Line 1792 of yacc.c  */
5064 < #line 1623 "conf_parser.y"
5062 >  case 316:
5063 > /* Line 1787 of yacc.c  */
5064 > #line 1755 "conf_parser.y"
5065      {
5066    if (conf_parser_ctx.pass != 2)
5067      break;
# Line 4848 | Line 5071 | yyreduce:
5071   }
5072      break;
5073  
5074 <  case 287:
5075 < /* Line 1792 of yacc.c  */
5076 < #line 1632 "conf_parser.y"
5074 >  case 317:
5075 > /* Line 1787 of yacc.c  */
5076 > #line 1764 "conf_parser.y"
5077      {
5078    if (conf_parser_ctx.pass != 2)
5079      break;
# Line 4860 | Line 5083 | yyreduce:
5083   }
5084      break;
5085  
5086 <  case 288:
5087 < /* Line 1792 of yacc.c  */
5088 < #line 1645 "conf_parser.y"
5086 >  case 318:
5087 > /* Line 1787 of yacc.c  */
5088 > #line 1777 "conf_parser.y"
5089      {
5090    if (conf_parser_ctx.pass != 2)
5091      break;
# Line 4872 | Line 5095 | yyreduce:
5095   }
5096      break;
5097  
5098 <  case 296:
5099 < /* Line 1792 of yacc.c  */
5100 < #line 1657 "conf_parser.y"
5098 >  case 319:
5099 > /* Line 1787 of yacc.c  */
5100 > #line 1784 "conf_parser.y"
5101      {
5102 <  if (conf_parser_ctx.pass == 2)
5103 <    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5102 >  if (conf_parser_ctx.pass != 2)
5103 >    break;
5104 >
5105 >  create_resv(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
5106   }
5107      break;
5108  
5109 <  case 297:
5110 < /* Line 1792 of yacc.c  */
5111 < #line 1663 "conf_parser.y"
5109 >  case 326:
5110 > /* Line 1787 of yacc.c  */
5111 > #line 1795 "conf_parser.y"
5112      {
5113 <  if (conf_parser_ctx.pass != 2)
5113 >  if (conf_parser_ctx.pass == 2)
5114 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5115 > }
5116      break;
5117  
5118 <  if (IsChanPrefix(*yylval.string))
5119 <    create_channel_resv(yylval.string, block_state.rpass.buf, 1);
5118 >  case 327:
5119 > /* Line 1787 of yacc.c  */
5120 > #line 1801 "conf_parser.y"
5121 >    {
5122 >  if (conf_parser_ctx.pass == 2)
5123 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5124   }
5125      break;
5126  
5127 <  case 298:
5128 < /* Line 1792 of yacc.c  */
5129 < #line 1672 "conf_parser.y"
5127 >  case 328:
5128 > /* Line 1787 of yacc.c  */
5129 > #line 1807 "conf_parser.y"
5130      {
5131    if (conf_parser_ctx.pass == 2)
5132 <    create_nick_resv(yylval.string, block_state.rpass.buf, 1);
5132 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
5133   }
5134      break;
5135  
5136 <  case 304:
5137 < /* Line 1792 of yacc.c  */
5138 < #line 1686 "conf_parser.y"
5136 >  case 334:
5137 > /* Line 1787 of yacc.c  */
5138 > #line 1822 "conf_parser.y"
5139      {
5140 <  if (conf_parser_ctx.pass == 2)
5140 >  if (conf_parser_ctx.pass != 2)
5141 >    break;
5142 >
5143 >  if (valid_servname(yylval.string))
5144    {
5145 <    if (valid_servname(yylval.string))
5146 <    {
4913 <      struct MaskItem *conf = conf_make(CONF_SERVICE);
4914 <      conf->name = xstrdup(yylval.string);
4915 <    }
5145 >    struct MaskItem *conf = conf_make(CONF_SERVICE);
5146 >    conf->name = xstrdup(yylval.string);
5147    }
5148   }
5149      break;
5150  
5151 <  case 305:
5152 < /* Line 1792 of yacc.c  */
5153 < #line 1701 "conf_parser.y"
5151 >  case 335:
5152 > /* Line 1787 of yacc.c  */
5153 > #line 1837 "conf_parser.y"
5154      {
5155    if (conf_parser_ctx.pass != 2)
5156      break;
# Line 4933 | Line 5164 | yyreduce:
5164   }
5165      break;
5166  
5167 <  case 306:
5168 < /* Line 1792 of yacc.c  */
5169 < #line 1712 "conf_parser.y"
5167 >  case 336:
5168 > /* Line 1787 of yacc.c  */
5169 > #line 1848 "conf_parser.y"
5170      {
5171    struct MaskItem *conf = NULL;
5172  
# Line 4946 | Line 5177 | yyreduce:
5177    conf->flags = block_state.flags.value;
5178    conf->name = xstrdup(block_state.name.buf);
5179    conf->user = xstrdup(block_state.user.buf);
5180 <  conf->user = xstrdup(block_state.host.buf);
5180 >  conf->host = xstrdup(block_state.host.buf);
5181   }
5182      break;
5183  
5184 <  case 313:
5185 < /* Line 1792 of yacc.c  */
5186 < #line 1729 "conf_parser.y"
5184 >  case 343:
5185 > /* Line 1787 of yacc.c  */
5186 > #line 1865 "conf_parser.y"
5187      {
5188    if (conf_parser_ctx.pass == 2)
5189      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5190   }
5191      break;
5192  
5193 <  case 314:
5194 < /* Line 1792 of yacc.c  */
5195 < #line 1735 "conf_parser.y"
5193 >  case 344:
5194 > /* Line 1787 of yacc.c  */
5195 > #line 1871 "conf_parser.y"
5196      {
5197    if (conf_parser_ctx.pass == 2)
5198    {
# Line 4981 | Line 5212 | yyreduce:
5212   }
5213      break;
5214  
5215 <  case 315:
5216 < /* Line 1792 of yacc.c  */
5217 < #line 1754 "conf_parser.y"
5215 >  case 345:
5216 > /* Line 1787 of yacc.c  */
5217 > #line 1890 "conf_parser.y"
5218      {
5219    if (conf_parser_ctx.pass == 2)
5220      block_state.flags.value = 0;
5221   }
5222      break;
5223  
5224 <  case 319:
5225 < /* Line 1792 of yacc.c  */
5226 < #line 1761 "conf_parser.y"
5224 >  case 349:
5225 > /* Line 1787 of yacc.c  */
5226 > #line 1897 "conf_parser.y"
5227      {
5228    if (conf_parser_ctx.pass == 2)
5229      block_state.flags.value |= SHARED_KLINE;
5230   }
5231      break;
5232  
5233 <  case 320:
5234 < /* Line 1792 of yacc.c  */
5235 < #line 1765 "conf_parser.y"
5233 >  case 350:
5234 > /* Line 1787 of yacc.c  */
5235 > #line 1901 "conf_parser.y"
5236      {
5237    if (conf_parser_ctx.pass == 2)
5238      block_state.flags.value |= SHARED_UNKLINE;
5239   }
5240      break;
5241  
5242 <  case 321:
5243 < /* Line 1792 of yacc.c  */
5244 < #line 1769 "conf_parser.y"
5242 >  case 351:
5243 > /* Line 1787 of yacc.c  */
5244 > #line 1905 "conf_parser.y"
5245      {
5246    if (conf_parser_ctx.pass == 2)
5247      block_state.flags.value |= SHARED_DLINE;
5248   }
5249      break;
5250  
5251 <  case 322:
5252 < /* Line 1792 of yacc.c  */
5253 < #line 1773 "conf_parser.y"
5251 >  case 352:
5252 > /* Line 1787 of yacc.c  */
5253 > #line 1909 "conf_parser.y"
5254      {
5255    if (conf_parser_ctx.pass == 2)
5256      block_state.flags.value |= SHARED_UNDLINE;
5257   }
5258      break;
5259  
5260 <  case 323:
5261 < /* Line 1792 of yacc.c  */
5262 < #line 1777 "conf_parser.y"
5260 >  case 353:
5261 > /* Line 1787 of yacc.c  */
5262 > #line 1913 "conf_parser.y"
5263      {
5264    if (conf_parser_ctx.pass == 2)
5265      block_state.flags.value |= SHARED_XLINE;
5266   }
5267      break;
5268  
5269 <  case 324:
5270 < /* Line 1792 of yacc.c  */
5271 < #line 1781 "conf_parser.y"
5269 >  case 354:
5270 > /* Line 1787 of yacc.c  */
5271 > #line 1917 "conf_parser.y"
5272      {
5273    if (conf_parser_ctx.pass == 2)
5274      block_state.flags.value |= SHARED_UNXLINE;
5275   }
5276      break;
5277  
5278 <  case 325:
5279 < /* Line 1792 of yacc.c  */
5280 < #line 1785 "conf_parser.y"
5278 >  case 355:
5279 > /* Line 1787 of yacc.c  */
5280 > #line 1921 "conf_parser.y"
5281      {
5282    if (conf_parser_ctx.pass == 2)
5283      block_state.flags.value |= SHARED_RESV;
5284   }
5285      break;
5286  
5287 <  case 326:
5288 < /* Line 1792 of yacc.c  */
5289 < #line 1789 "conf_parser.y"
5287 >  case 356:
5288 > /* Line 1787 of yacc.c  */
5289 > #line 1925 "conf_parser.y"
5290      {
5291    if (conf_parser_ctx.pass == 2)
5292      block_state.flags.value |= SHARED_UNRESV;
5293   }
5294      break;
5295  
5296 <  case 327:
5297 < /* Line 1792 of yacc.c  */
5298 < #line 1793 "conf_parser.y"
5296 >  case 357:
5297 > /* Line 1787 of yacc.c  */
5298 > #line 1929 "conf_parser.y"
5299      {
5300    if (conf_parser_ctx.pass == 2)
5301      block_state.flags.value |= SHARED_LOCOPS;
5302   }
5303      break;
5304  
5305 <  case 328:
5306 < /* Line 1792 of yacc.c  */
5307 < #line 1797 "conf_parser.y"
5305 >  case 358:
5306 > /* Line 1787 of yacc.c  */
5307 > #line 1933 "conf_parser.y"
5308      {
5309    if (conf_parser_ctx.pass == 2)
5310      block_state.flags.value = SHARED_ALL;
5311   }
5312      break;
5313  
5314 <  case 329:
5315 < /* Line 1792 of yacc.c  */
5316 < #line 1806 "conf_parser.y"
5314 >  case 359:
5315 > /* Line 1787 of yacc.c  */
5316 > #line 1942 "conf_parser.y"
5317      {
5318    if (conf_parser_ctx.pass != 2)
5319      break;
# Line 5094 | Line 5325 | yyreduce:
5325   }
5326      break;
5327  
5328 <  case 330:
5329 < /* Line 1792 of yacc.c  */
5330 < #line 1815 "conf_parser.y"
5328 >  case 360:
5329 > /* Line 1787 of yacc.c  */
5330 > #line 1951 "conf_parser.y"
5331      {
5332    struct MaskItem *conf = NULL;
5333  
# Line 5109 | Line 5340 | yyreduce:
5340   }
5341      break;
5342  
5343 <  case 336:
5344 < /* Line 1792 of yacc.c  */
5345 < #line 1830 "conf_parser.y"
5343 >  case 366:
5344 > /* Line 1787 of yacc.c  */
5345 > #line 1966 "conf_parser.y"
5346      {
5347    if (conf_parser_ctx.pass == 2)
5348      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5349   }
5350      break;
5351  
5352 <  case 337:
5353 < /* Line 1792 of yacc.c  */
5354 < #line 1836 "conf_parser.y"
5352 >  case 367:
5353 > /* Line 1787 of yacc.c  */
5354 > #line 1972 "conf_parser.y"
5355      {
5356    if (conf_parser_ctx.pass == 2)
5357      block_state.flags.value = 0;
5358   }
5359      break;
5360  
5361 <  case 341:
5362 < /* Line 1792 of yacc.c  */
5363 < #line 1843 "conf_parser.y"
5361 >  case 371:
5362 > /* Line 1787 of yacc.c  */
5363 > #line 1979 "conf_parser.y"
5364      {
5365    if (conf_parser_ctx.pass == 2)
5366      block_state.flags.value |= SHARED_KLINE;
5367   }
5368      break;
5369  
5370 <  case 342:
5371 < /* Line 1792 of yacc.c  */
5372 < #line 1847 "conf_parser.y"
5370 >  case 372:
5371 > /* Line 1787 of yacc.c  */
5372 > #line 1983 "conf_parser.y"
5373      {
5374    if (conf_parser_ctx.pass == 2)
5375      block_state.flags.value |= SHARED_UNKLINE;
5376   }
5377      break;
5378  
5379 <  case 343:
5380 < /* Line 1792 of yacc.c  */
5381 < #line 1851 "conf_parser.y"
5379 >  case 373:
5380 > /* Line 1787 of yacc.c  */
5381 > #line 1987 "conf_parser.y"
5382      {
5383    if (conf_parser_ctx.pass == 2)
5384      block_state.flags.value |= SHARED_DLINE;
5385   }
5386      break;
5387  
5388 <  case 344:
5389 < /* Line 1792 of yacc.c  */
5390 < #line 1855 "conf_parser.y"
5388 >  case 374:
5389 > /* Line 1787 of yacc.c  */
5390 > #line 1991 "conf_parser.y"
5391      {
5392    if (conf_parser_ctx.pass == 2)
5393      block_state.flags.value |= SHARED_UNDLINE;
5394   }
5395      break;
5396  
5397 <  case 345:
5398 < /* Line 1792 of yacc.c  */
5399 < #line 1859 "conf_parser.y"
5397 >  case 375:
5398 > /* Line 1787 of yacc.c  */
5399 > #line 1995 "conf_parser.y"
5400      {
5401    if (conf_parser_ctx.pass == 2)
5402      block_state.flags.value |= SHARED_XLINE;
5403   }
5404      break;
5405  
5406 <  case 346:
5407 < /* Line 1792 of yacc.c  */
5408 < #line 1863 "conf_parser.y"
5406 >  case 376:
5407 > /* Line 1787 of yacc.c  */
5408 > #line 1999 "conf_parser.y"
5409      {
5410    if (conf_parser_ctx.pass == 2)
5411      block_state.flags.value |= SHARED_UNXLINE;
5412   }
5413      break;
5414  
5415 <  case 347:
5416 < /* Line 1792 of yacc.c  */
5417 < #line 1867 "conf_parser.y"
5415 >  case 377:
5416 > /* Line 1787 of yacc.c  */
5417 > #line 2003 "conf_parser.y"
5418      {
5419    if (conf_parser_ctx.pass == 2)
5420      block_state.flags.value |= SHARED_RESV;
5421   }
5422      break;
5423  
5424 <  case 348:
5425 < /* Line 1792 of yacc.c  */
5426 < #line 1871 "conf_parser.y"
5424 >  case 378:
5425 > /* Line 1787 of yacc.c  */
5426 > #line 2007 "conf_parser.y"
5427      {
5428    if (conf_parser_ctx.pass == 2)
5429      block_state.flags.value |= SHARED_UNRESV;
5430   }
5431      break;
5432  
5433 <  case 349:
5434 < /* Line 1792 of yacc.c  */
5435 < #line 1875 "conf_parser.y"
5433 >  case 379:
5434 > /* Line 1787 of yacc.c  */
5435 > #line 2011 "conf_parser.y"
5436      {
5437    if (conf_parser_ctx.pass == 2)
5438      block_state.flags.value |= SHARED_LOCOPS;
5439   }
5440      break;
5441  
5442 <  case 350:
5443 < /* Line 1792 of yacc.c  */
5444 < #line 1879 "conf_parser.y"
5442 >  case 380:
5443 > /* Line 1787 of yacc.c  */
5444 > #line 2015 "conf_parser.y"
5445      {
5446    if (conf_parser_ctx.pass == 2)
5447      block_state.flags.value = SHARED_ALL;
5448   }
5449      break;
5450  
5451 <  case 351:
5452 < /* Line 1792 of yacc.c  */
5453 < #line 1888 "conf_parser.y"
5451 >  case 381:
5452 > /* Line 1787 of yacc.c  */
5453 > #line 2024 "conf_parser.y"
5454      {
5455  
5456    if (conf_parser_ctx.pass != 2)
# Line 5230 | Line 5461 | yyreduce:
5461   }
5462      break;
5463  
5464 <  case 352:
5465 < /* Line 1792 of yacc.c  */
5466 < #line 1896 "conf_parser.y"
5464 >  case 382:
5465 > /* Line 1787 of yacc.c  */
5466 > #line 2032 "conf_parser.y"
5467      {
5468    struct MaskItem *conf = NULL;
5469    struct addrinfo hints, *res;
# Line 5244 | Line 5475 | yyreduce:
5475        !block_state.host.buf[0])
5476      break;
5477  
5478 <  if (!(block_state.rpass.buf[0] ||
5479 <        block_state.spass.buf[0]))
5478 >  if (!block_state.rpass.buf[0] ||
5479 >      !block_state.spass.buf[0])
5480      break;
5481  
5482    if (has_wildcards(block_state.name.buf) ||
# Line 5260 | Line 5491 | yyreduce:
5491    conf->name = xstrdup(block_state.name.buf);
5492    conf->passwd = xstrdup(block_state.rpass.buf);
5493    conf->spasswd = xstrdup(block_state.spass.buf);
5494 +
5495 +  if (block_state.cert.buf[0])
5496 +    conf->certfp = xstrdup(block_state.cert.buf);
5497 +
5498    conf->cipher_list = xstrdup(block_state.ciph.buf);
5499  
5500    dlinkMoveList(&block_state.leaf.list, &conf->leaf_list);
# Line 5291 | Line 5526 | yyreduce:
5526   }
5527      break;
5528  
5529 <  case 369:
5530 < /* Line 1792 of yacc.c  */
5531 < #line 1962 "conf_parser.y"
5529 >  case 400:
5530 > /* Line 1787 of yacc.c  */
5531 > #line 2103 "conf_parser.y"
5532      {
5533    if (conf_parser_ctx.pass == 2)
5534      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5535   }
5536      break;
5537  
5538 <  case 370:
5539 < /* Line 1792 of yacc.c  */
5540 < #line 1968 "conf_parser.y"
5538 >  case 401:
5539 > /* Line 1787 of yacc.c  */
5540 > #line 2109 "conf_parser.y"
5541      {
5542    if (conf_parser_ctx.pass == 2)
5543      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
5544   }
5545      break;
5546  
5547 <  case 371:
5548 < /* Line 1792 of yacc.c  */
5549 < #line 1974 "conf_parser.y"
5547 >  case 402:
5548 > /* Line 1787 of yacc.c  */
5549 > #line 2115 "conf_parser.y"
5550      {
5551    if (conf_parser_ctx.pass == 2)
5552      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
5553   }
5554      break;
5555  
5556 <  case 372:
5557 < /* Line 1792 of yacc.c  */
5558 < #line 1980 "conf_parser.y"
5556 >  case 403:
5557 > /* Line 1787 of yacc.c  */
5558 > #line 2121 "conf_parser.y"
5559      {
5560    if (conf_parser_ctx.pass != 2)
5561      break;
# Line 5334 | Line 5569 | yyreduce:
5569   }
5570      break;
5571  
5572 <  case 373:
5573 < /* Line 1792 of yacc.c  */
5574 < #line 1993 "conf_parser.y"
5572 >  case 404:
5573 > /* Line 1787 of yacc.c  */
5574 > #line 2134 "conf_parser.y"
5575      {
5576    if (conf_parser_ctx.pass != 2)
5577      break;
# Line 5350 | Line 5585 | yyreduce:
5585   }
5586      break;
5587  
5588 <  case 374:
5589 < /* Line 1792 of yacc.c  */
5590 < #line 2006 "conf_parser.y"
5588 >  case 405:
5589 > /* Line 1787 of yacc.c  */
5590 > #line 2147 "conf_parser.y"
5591 >    {
5592 >  if (conf_parser_ctx.pass == 2)
5593 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
5594 > }
5595 >    break;
5596 >
5597 >  case 406:
5598 > /* Line 1787 of yacc.c  */
5599 > #line 2153 "conf_parser.y"
5600      {
5601    if (conf_parser_ctx.pass == 2)
5602      block_state.port.value = (yyvsp[(3) - (4)].number);
5603   }
5604      break;
5605  
5606 <  case 375:
5607 < /* Line 1792 of yacc.c  */
5608 < #line 2012 "conf_parser.y"
5606 >  case 407:
5607 > /* Line 1787 of yacc.c  */
5608 > #line 2159 "conf_parser.y"
5609      {
5610    if (conf_parser_ctx.pass == 2)
5611      block_state.aftype.value = AF_INET;
5612   }
5613      break;
5614  
5615 <  case 376:
5616 < /* Line 1792 of yacc.c  */
5617 < #line 2016 "conf_parser.y"
5615 >  case 408:
5616 > /* Line 1787 of yacc.c  */
5617 > #line 2163 "conf_parser.y"
5618      {
5619   #ifdef IPV6
5620    if (conf_parser_ctx.pass == 2)
# Line 5379 | Line 5623 | yyreduce:
5623   }
5624      break;
5625  
5626 <  case 377:
5627 < /* Line 1792 of yacc.c  */
5628 < #line 2024 "conf_parser.y"
5626 >  case 409:
5627 > /* Line 1787 of yacc.c  */
5628 > #line 2171 "conf_parser.y"
5629      {
5630    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5631   }
5632      break;
5633  
5634 <  case 381:
5635 < /* Line 1792 of yacc.c  */
5636 < #line 2030 "conf_parser.y"
5634 >  case 413:
5635 > /* Line 1787 of yacc.c  */
5636 > #line 2177 "conf_parser.y"
5637      {
5638    if (conf_parser_ctx.pass == 2)
5639      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
5640   }
5641      break;
5642  
5643 <  case 382:
5644 < /* Line 1792 of yacc.c  */
5645 < #line 2034 "conf_parser.y"
5643 >  case 414:
5644 > /* Line 1787 of yacc.c  */
5645 > #line 2181 "conf_parser.y"
5646      {
5647    if (conf_parser_ctx.pass == 2)
5648      block_state.flags.value |= CONF_FLAGS_SSL;
5649   }
5650      break;
5651  
5652 <  case 383:
5653 < /* Line 1792 of yacc.c  */
5654 < #line 2040 "conf_parser.y"
5652 >  case 415:
5653 > /* Line 1787 of yacc.c  */
5654 > #line 2187 "conf_parser.y"
5655      {
5656    if (conf_parser_ctx.pass == 2)
5657    {
# Line 5419 | Line 5663 | yyreduce:
5663   }
5664      break;
5665  
5666 <  case 384:
5667 < /* Line 1792 of yacc.c  */
5668 < #line 2051 "conf_parser.y"
5666 >  case 416:
5667 > /* Line 1787 of yacc.c  */
5668 > #line 2198 "conf_parser.y"
5669      {
5670    if (conf_parser_ctx.pass == 2)
5671      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
5672   }
5673      break;
5674  
5675 <  case 385:
5676 < /* Line 1792 of yacc.c  */
5677 < #line 2057 "conf_parser.y"
5675 >  case 417:
5676 > /* Line 1787 of yacc.c  */
5677 > #line 2204 "conf_parser.y"
5678      {
5679    if (conf_parser_ctx.pass == 2)
5680      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
5681   }
5682      break;
5683  
5684 <  case 386:
5685 < /* Line 1792 of yacc.c  */
5686 < #line 2063 "conf_parser.y"
5684 >  case 418:
5685 > /* Line 1787 of yacc.c  */
5686 > #line 2210 "conf_parser.y"
5687      {
5688    if (conf_parser_ctx.pass == 2)
5689      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
5690   }
5691      break;
5692  
5693 <  case 387:
5694 < /* Line 1792 of yacc.c  */
5695 < #line 2069 "conf_parser.y"
5693 >  case 419:
5694 > /* Line 1787 of yacc.c  */
5695 > #line 2216 "conf_parser.y"
5696      {
5697   #ifdef HAVE_LIBCRYPTO
5698    if (conf_parser_ctx.pass == 2)
# Line 5460 | Line 5704 | yyreduce:
5704   }
5705      break;
5706  
5707 <  case 388:
5708 < /* Line 1792 of yacc.c  */
5709 < #line 2084 "conf_parser.y"
5707 >  case 420:
5708 > /* Line 1787 of yacc.c  */
5709 > #line 2231 "conf_parser.y"
5710      {
5711    if (conf_parser_ctx.pass == 2)
5712      reset_block_state();
5713   }
5714      break;
5715  
5716 <  case 389:
5717 < /* Line 1792 of yacc.c  */
5718 < #line 2088 "conf_parser.y"
5716 >  case 421:
5717 > /* Line 1787 of yacc.c  */
5718 > #line 2235 "conf_parser.y"
5719      {
5720    struct MaskItem *conf = NULL;
5721  
# Line 5482 | Line 5726 | yyreduce:
5726        !block_state.host.buf[0])
5727      break;
5728  
5729 +  conf = conf_make(CONF_KLINE);
5730 +  conf->user = xstrdup(block_state.user.buf);
5731 +  conf->host = xstrdup(block_state.host.buf);
5732  
5733 <  if (block_state.port.value == 1)
5734 <  {
5488 < #ifdef HAVE_LIBPCRE
5489 <    void *exp_user = NULL;
5490 <    void *exp_host = NULL;
5491 <    const char *errptr = NULL;
5492 <
5493 <    if (!(exp_user = ircd_pcre_compile(block_state.user.buf, &errptr)) ||
5494 <        !(exp_host = ircd_pcre_compile(block_state.host.buf, &errptr)))
5495 <    {
5496 <      ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: %s",
5497 <           errptr);
5498 <      break;
5499 <    }
5500 <
5501 <    conf = conf_make(CONF_RKLINE);
5502 <    conf->regexuser = exp_user;
5503 <    conf->regexhost = exp_host;
5504 <
5505 <    conf->user = xstrdup(block_state.user.buf);
5506 <    conf->host = xstrdup(block_state.host.buf);
5507 <
5508 <    if (block_state.rpass.buf[0])
5509 <      conf->reason = xstrdup(block_state.rpass.buf);
5510 <    else
5511 <      conf->reason = xstrdup(CONF_NOREASON);
5512 < #else
5513 <    ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
5514 <    break;
5515 < #endif
5516 <  }
5733 >  if (block_state.rpass.buf[0])
5734 >    conf->reason = xstrdup(block_state.rpass.buf);
5735    else
5736 <  {
5737 <    conf = conf_make(CONF_KLINE);
5520 <
5521 <    conf->user = xstrdup(block_state.user.buf);
5522 <    conf->host = xstrdup(block_state.host.buf);
5523 <
5524 <    if (block_state.rpass.buf[0])
5525 <      conf->reason = xstrdup(block_state.rpass.buf);
5526 <    else
5527 <      conf->reason = xstrdup(CONF_NOREASON);
5528 <    add_conf_by_address(CONF_KLINE, conf);
5529 <  }
5530 < }
5531 <    break;
5532 <
5533 <  case 390:
5534 < /* Line 1792 of yacc.c  */
5535 < #line 2146 "conf_parser.y"
5536 <    {
5537 <  if (conf_parser_ctx.pass == 2)
5538 <    block_state.port.value = 0;
5539 < }
5540 <    break;
5541 <
5542 <  case 394:
5543 < /* Line 1792 of yacc.c  */
5544 < #line 2153 "conf_parser.y"
5545 <    {
5546 <  if (conf_parser_ctx.pass == 2)
5547 <    block_state.port.value = 1;
5736 >    conf->reason = xstrdup(CONF_NOREASON);
5737 >  add_conf_by_address(CONF_KLINE, conf);
5738   }
5739      break;
5740  
5741 <  case 401:
5742 < /* Line 1792 of yacc.c  */
5743 < #line 2162 "conf_parser.y"
5741 >  case 427:
5742 > /* Line 1787 of yacc.c  */
5743 > #line 2260 "conf_parser.y"
5744      {
5745  
5746    if (conf_parser_ctx.pass == 2)
# Line 5571 | Line 5761 | yyreduce:
5761   }
5762      break;
5763  
5764 <  case 402:
5765 < /* Line 1792 of yacc.c  */
5766 < #line 2182 "conf_parser.y"
5764 >  case 428:
5765 > /* Line 1787 of yacc.c  */
5766 > #line 2280 "conf_parser.y"
5767      {
5768    if (conf_parser_ctx.pass == 2)
5769      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5770   }
5771      break;
5772  
5773 <  case 403:
5774 < /* Line 1792 of yacc.c  */
5775 < #line 2191 "conf_parser.y"
5773 >  case 429:
5774 > /* Line 1787 of yacc.c  */
5775 > #line 2289 "conf_parser.y"
5776      {
5777    if (conf_parser_ctx.pass == 2)
5778      reset_block_state();
5779   }
5780      break;
5781  
5782 <  case 404:
5783 < /* Line 1792 of yacc.c  */
5784 < #line 2195 "conf_parser.y"
5782 >  case 430:
5783 > /* Line 1787 of yacc.c  */
5784 > #line 2293 "conf_parser.y"
5785      {
5786    struct MaskItem *conf = NULL;
5787  
# Line 5615 | Line 5805 | yyreduce:
5805   }
5806      break;
5807  
5808 <  case 410:
5809 < /* Line 1792 of yacc.c  */
5810 < #line 2221 "conf_parser.y"
5808 >  case 436:
5809 > /* Line 1787 of yacc.c  */
5810 > #line 2319 "conf_parser.y"
5811      {
5812    if (conf_parser_ctx.pass == 2)
5813      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5814   }
5815      break;
5816  
5817 <  case 411:
5818 < /* Line 1792 of yacc.c  */
5819 < #line 2227 "conf_parser.y"
5817 >  case 437:
5818 > /* Line 1787 of yacc.c  */
5819 > #line 2325 "conf_parser.y"
5820      {
5821    if (conf_parser_ctx.pass == 2)
5822      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5823   }
5824      break;
5825  
5826 <  case 417:
5827 < /* Line 1792 of yacc.c  */
5828 < #line 2241 "conf_parser.y"
5826 >  case 443:
5827 > /* Line 1787 of yacc.c  */
5828 > #line 2339 "conf_parser.y"
5829      {
5830    if (conf_parser_ctx.pass == 2)
5831    {
# Line 5650 | Line 5840 | yyreduce:
5840   }
5841      break;
5842  
5843 <  case 418:
5844 < /* Line 1792 of yacc.c  */
5845 < #line 2258 "conf_parser.y"
5843 >  case 444:
5844 > /* Line 1787 of yacc.c  */
5845 > #line 2356 "conf_parser.y"
5846      {
5847    if (conf_parser_ctx.pass == 2)
5848      reset_block_state();
5849   }
5850      break;
5851  
5852 <  case 419:
5853 < /* Line 1792 of yacc.c  */
5854 < #line 2262 "conf_parser.y"
5852 >  case 445:
5853 > /* Line 1787 of yacc.c  */
5854 > #line 2360 "conf_parser.y"
5855      {
5856    struct MaskItem *conf = NULL;
5857  
# Line 5671 | Line 5861 | yyreduce:
5861    if (!block_state.name.buf[0])
5862      break;
5863  
5864 <  if (block_state.port.value == 1)
5675 <  {
5676 < #ifdef HAVE_LIBPCRE
5677 <    void *exp_p = NULL;
5678 <    const char *errptr = NULL;
5679 <
5680 <    if (!(exp_p = ircd_pcre_compile(block_state.name.buf, &errptr)))
5681 <    {
5682 <      ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
5683 <           errptr);
5684 <      break;
5685 <    }
5686 <
5687 <    conf = conf_make(CONF_RXLINE);
5688 <    conf->regexuser = exp_p;
5689 < #else
5690 <    conf_error_report("Failed to add regular expression based X-Line: no PCRE support");
5691 <    break;
5692 < #endif
5693 <  }
5694 <  else
5695 <    conf = conf_make(CONF_XLINE);
5696 <
5864 >  conf = conf_make(CONF_XLINE);
5865    conf->name = xstrdup(block_state.name.buf);
5866  
5867    if (block_state.rpass.buf[0])
# Line 5703 | Line 5871 | yyreduce:
5871   }
5872      break;
5873  
5874 <  case 420:
5875 < /* Line 1792 of yacc.c  */
5876 < #line 2303 "conf_parser.y"
5709 <    {
5710 <  if (conf_parser_ctx.pass == 2)
5711 <    block_state.port.value = 0;
5712 < }
5713 <    break;
5714 <
5715 <  case 424:
5716 < /* Line 1792 of yacc.c  */
5717 < #line 2310 "conf_parser.y"
5718 <    {
5719 <  if (conf_parser_ctx.pass == 2)
5720 <    block_state.port.value = 1;
5721 < }
5722 <    break;
5723 <
5724 <  case 431:
5725 < /* Line 1792 of yacc.c  */
5726 < #line 2319 "conf_parser.y"
5874 >  case 451:
5875 > /* Line 1787 of yacc.c  */
5876 > #line 2382 "conf_parser.y"
5877      {
5878    if (conf_parser_ctx.pass == 2)
5879      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5880   }
5881      break;
5882  
5883 <  case 432:
5884 < /* Line 1792 of yacc.c  */
5885 < #line 2325 "conf_parser.y"
5883 >  case 452:
5884 > /* Line 1787 of yacc.c  */
5885 > #line 2388 "conf_parser.y"
5886      {
5887    if (conf_parser_ctx.pass == 2)
5888      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5889   }
5890      break;
5891  
5892 <  case 486:
5893 < /* Line 1792 of yacc.c  */
5894 < #line 2370 "conf_parser.y"
5892 >  case 504:
5893 > /* Line 1787 of yacc.c  */
5894 > #line 2431 "conf_parser.y"
5895      {
5896    ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5897   }
5898      break;
5899  
5900 <  case 487:
5901 < /* Line 1792 of yacc.c  */
5902 < #line 2375 "conf_parser.y"
5900 >  case 505:
5901 > /* Line 1787 of yacc.c  */
5902 > #line 2436 "conf_parser.y"
5903      {
5904    if (conf_parser_ctx.pass == 2)
5905      ConfigFileEntry.glines = yylval.number;
5906   }
5907      break;
5908  
5909 <  case 488:
5910 < /* Line 1792 of yacc.c  */
5911 < #line 2381 "conf_parser.y"
5909 >  case 506:
5910 > /* Line 1787 of yacc.c  */
5911 > #line 2442 "conf_parser.y"
5912      {
5913    if (conf_parser_ctx.pass == 2)
5914      ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5915   }
5916      break;
5917  
5918 <  case 489:
5919 < /* Line 1792 of yacc.c  */
5920 < #line 2387 "conf_parser.y"
5918 >  case 507:
5919 > /* Line 1787 of yacc.c  */
5920 > #line 2448 "conf_parser.y"
5921      {
5922    if (conf_parser_ctx.pass == 2)
5923      ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5924   }
5925      break;
5926  
5927 <  case 490:
5928 < /* Line 1792 of yacc.c  */
5929 < #line 2393 "conf_parser.y"
5927 >  case 508:
5928 > /* Line 1787 of yacc.c  */
5929 > #line 2454 "conf_parser.y"
5930      {
5931    ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5932   }
5933      break;
5934  
5935 <  case 491:
5936 < /* Line 1792 of yacc.c  */
5937 < #line 2398 "conf_parser.y"
5935 >  case 509:
5936 > /* Line 1787 of yacc.c  */
5937 > #line 2459 "conf_parser.y"
5938      {
5939    ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5940   }
5941      break;
5942  
5943 <  case 492:
5944 < /* Line 1792 of yacc.c  */
5945 < #line 2403 "conf_parser.y"
5943 >  case 510:
5944 > /* Line 1787 of yacc.c  */
5945 > #line 2464 "conf_parser.y"
5946      {
5947    ConfigFileEntry.tkline_expire_notices = yylval.number;
5948   }
5949      break;
5950  
5951 <  case 493:
5952 < /* Line 1792 of yacc.c  */
5953 < #line 2408 "conf_parser.y"
5951 >  case 511:
5952 > /* Line 1787 of yacc.c  */
5953 > #line 2469 "conf_parser.y"
5954      {
5955    ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
5956   }
5957      break;
5958  
5959 <  case 494:
5960 < /* Line 1792 of yacc.c  */
5961 < #line 2413 "conf_parser.y"
5959 >  case 512:
5960 > /* Line 1787 of yacc.c  */
5961 > #line 2474 "conf_parser.y"
5962      {
5963    ConfigFileEntry.hide_spoof_ips = yylval.number;
5964   }
5965      break;
5966  
5967 <  case 495:
5968 < /* Line 1792 of yacc.c  */
5969 < #line 2418 "conf_parser.y"
5967 >  case 513:
5968 > /* Line 1787 of yacc.c  */
5969 > #line 2479 "conf_parser.y"
5970      {
5971    ConfigFileEntry.ignore_bogus_ts = yylval.number;
5972   }
5973      break;
5974  
5975 <  case 496:
5976 < /* Line 1792 of yacc.c  */
5977 < #line 2423 "conf_parser.y"
5828 <    {
5829 <  ConfigFileEntry.disable_remote = yylval.number;
5830 < }
5831 <    break;
5832 <
5833 <  case 497:
5834 < /* Line 1792 of yacc.c  */
5835 < #line 2428 "conf_parser.y"
5975 >  case 514:
5976 > /* Line 1787 of yacc.c  */
5977 > #line 2484 "conf_parser.y"
5978      {
5979    ConfigFileEntry.failed_oper_notice = yylval.number;
5980   }
5981      break;
5982  
5983 <  case 498:
5984 < /* Line 1792 of yacc.c  */
5985 < #line 2433 "conf_parser.y"
5983 >  case 515:
5984 > /* Line 1787 of yacc.c  */
5985 > #line 2489 "conf_parser.y"
5986      {
5987    ConfigFileEntry.anti_nick_flood = yylval.number;
5988   }
5989      break;
5990  
5991 <  case 499:
5992 < /* Line 1792 of yacc.c  */
5993 < #line 2438 "conf_parser.y"
5991 >  case 516:
5992 > /* Line 1787 of yacc.c  */
5993 > #line 2494 "conf_parser.y"
5994      {
5995    ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
5996   }
5997      break;
5998  
5999 <  case 500:
6000 < /* Line 1792 of yacc.c  */
6001 < #line 2443 "conf_parser.y"
5999 >  case 517:
6000 > /* Line 1787 of yacc.c  */
6001 > #line 2499 "conf_parser.y"
6002      {
6003    ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
6004   }
6005      break;
6006  
6007 <  case 501:
6008 < /* Line 1792 of yacc.c  */
6009 < #line 2448 "conf_parser.y"
6007 >  case 518:
6008 > /* Line 1787 of yacc.c  */
6009 > #line 2504 "conf_parser.y"
6010      {
6011    ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
6012   }
6013      break;
6014  
6015 <  case 502:
6016 < /* Line 1792 of yacc.c  */
6017 < #line 2453 "conf_parser.y"
6015 >  case 519:
6016 > /* Line 1787 of yacc.c  */
6017 > #line 2509 "conf_parser.y"
6018      {
6019    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
6020   }
6021      break;
6022  
6023 <  case 503:
6024 < /* Line 1792 of yacc.c  */
6025 < #line 2458 "conf_parser.y"
6023 >  case 520:
6024 > /* Line 1787 of yacc.c  */
6025 > #line 2514 "conf_parser.y"
6026      {
6027    ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
6028   }
6029      break;
6030  
6031 <  case 504:
6032 < /* Line 1792 of yacc.c  */
6033 < #line 2463 "conf_parser.y"
6031 >  case 521:
6032 > /* Line 1787 of yacc.c  */
6033 > #line 2519 "conf_parser.y"
6034      {
6035    if (conf_parser_ctx.pass == 2)
6036      ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
6037   }
6038      break;
6039  
6040 <  case 505:
6041 < /* Line 1792 of yacc.c  */
6042 < #line 2469 "conf_parser.y"
6040 >  case 522:
6041 > /* Line 1787 of yacc.c  */
6042 > #line 2525 "conf_parser.y"
6043      {
6044    if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
6045    {
# Line 5909 | Line 6051 | yyreduce:
6051   }
6052      break;
6053  
6054 <  case 506:
6055 < /* Line 1792 of yacc.c  */
6056 < #line 2480 "conf_parser.y"
6054 >  case 523:
6055 > /* Line 1787 of yacc.c  */
6056 > #line 2536 "conf_parser.y"
6057      {
6058    ConfigFileEntry.invisible_on_connect = yylval.number;
6059   }
6060      break;
6061  
6062 <  case 507:
6063 < /* Line 1792 of yacc.c  */
6064 < #line 2485 "conf_parser.y"
6062 >  case 524:
6063 > /* Line 1787 of yacc.c  */
6064 > #line 2541 "conf_parser.y"
6065      {
6066    ConfigFileEntry.warn_no_nline = yylval.number;
6067   }
6068      break;
6069  
6070 <  case 508:
6071 < /* Line 1792 of yacc.c  */
6072 < #line 2490 "conf_parser.y"
6070 >  case 525:
6071 > /* Line 1787 of yacc.c  */
6072 > #line 2546 "conf_parser.y"
6073      {
6074    ConfigFileEntry.stats_e_disabled = yylval.number;
6075   }
6076      break;
6077  
6078 <  case 509:
6079 < /* Line 1792 of yacc.c  */
6080 < #line 2495 "conf_parser.y"
6078 >  case 526:
6079 > /* Line 1787 of yacc.c  */
6080 > #line 2551 "conf_parser.y"
6081      {
6082    ConfigFileEntry.stats_o_oper_only = yylval.number;
6083   }
6084      break;
6085  
6086 <  case 510:
6087 < /* Line 1792 of yacc.c  */
6088 < #line 2500 "conf_parser.y"
6086 >  case 527:
6087 > /* Line 1787 of yacc.c  */
6088 > #line 2556 "conf_parser.y"
6089      {
6090    ConfigFileEntry.stats_P_oper_only = yylval.number;
6091   }
6092      break;
6093  
6094 <  case 511:
6095 < /* Line 1792 of yacc.c  */
6096 < #line 2505 "conf_parser.y"
6094 >  case 528:
6095 > /* Line 1787 of yacc.c  */
6096 > #line 2561 "conf_parser.y"
6097      {
6098    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
6099   }
6100      break;
6101  
6102 <  case 512:
6103 < /* Line 1792 of yacc.c  */
6104 < #line 2508 "conf_parser.y"
6102 >  case 529:
6103 > /* Line 1787 of yacc.c  */
6104 > #line 2564 "conf_parser.y"
6105      {
6106    ConfigFileEntry.stats_k_oper_only = 1;
6107   }
6108      break;
6109  
6110 <  case 513:
6111 < /* Line 1792 of yacc.c  */
6112 < #line 2513 "conf_parser.y"
6110 >  case 530:
6111 > /* Line 1787 of yacc.c  */
6112 > #line 2569 "conf_parser.y"
6113      {
6114    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
6115   }
6116      break;
6117  
6118 <  case 514:
6119 < /* Line 1792 of yacc.c  */
6120 < #line 2516 "conf_parser.y"
6118 >  case 531:
6119 > /* Line 1787 of yacc.c  */
6120 > #line 2572 "conf_parser.y"
6121      {
6122    ConfigFileEntry.stats_i_oper_only = 1;
6123   }
6124      break;
6125  
6126 <  case 515:
6127 < /* Line 1792 of yacc.c  */
6128 < #line 2521 "conf_parser.y"
6126 >  case 532:
6127 > /* Line 1787 of yacc.c  */
6128 > #line 2577 "conf_parser.y"
6129      {
6130    ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
6131   }
6132      break;
6133  
6134 <  case 516:
6135 < /* Line 1792 of yacc.c  */
6136 < #line 2526 "conf_parser.y"
6134 >  case 533:
6135 > /* Line 1787 of yacc.c  */
6136 > #line 2582 "conf_parser.y"
6137      {
6138    ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
6139   }
6140      break;
6141  
6142 <  case 517:
6143 < /* Line 1792 of yacc.c  */
6144 < #line 2531 "conf_parser.y"
6142 >  case 534:
6143 > /* Line 1787 of yacc.c  */
6144 > #line 2587 "conf_parser.y"
6145      {
6146    ConfigFileEntry.opers_bypass_callerid = yylval.number;
6147   }
6148      break;
6149  
6150 <  case 518:
6151 < /* Line 1792 of yacc.c  */
6152 < #line 2536 "conf_parser.y"
6150 >  case 535:
6151 > /* Line 1787 of yacc.c  */
6152 > #line 2592 "conf_parser.y"
6153      {
6154    ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
6155   }
6156      break;
6157  
6158 <  case 519:
6159 < /* Line 1792 of yacc.c  */
6160 < #line 2541 "conf_parser.y"
6158 >  case 536:
6159 > /* Line 1787 of yacc.c  */
6160 > #line 2597 "conf_parser.y"
6161      {
6162    ConfigFileEntry.short_motd = yylval.number;
6163   }
6164      break;
6165  
6166 <  case 520:
6167 < /* Line 1792 of yacc.c  */
6168 < #line 2546 "conf_parser.y"
6166 >  case 537:
6167 > /* Line 1787 of yacc.c  */
6168 > #line 2602 "conf_parser.y"
6169      {
6170    ConfigFileEntry.no_oper_flood = yylval.number;
6171   }
6172      break;
6173  
6174 <  case 521:
6175 < /* Line 1792 of yacc.c  */
6176 < #line 2551 "conf_parser.y"
6174 >  case 538:
6175 > /* Line 1787 of yacc.c  */
6176 > #line 2607 "conf_parser.y"
6177      {
6178    ConfigFileEntry.true_no_oper_flood = yylval.number;
6179   }
6180      break;
6181  
6182 <  case 522:
6183 < /* Line 1792 of yacc.c  */
6184 < #line 2556 "conf_parser.y"
6182 >  case 539:
6183 > /* Line 1787 of yacc.c  */
6184 > #line 2612 "conf_parser.y"
6185      {
6186    ConfigFileEntry.oper_pass_resv = yylval.number;
6187   }
6188      break;
6189  
6190 <  case 523:
6191 < /* Line 1792 of yacc.c  */
6192 < #line 2561 "conf_parser.y"
6051 <    {
6052 <  if (conf_parser_ctx.pass == 2)
6053 <  {
6054 <    if (strlen(yylval.string) > LOCALE_LENGTH-2)
6055 <      yylval.string[LOCALE_LENGTH-1] = '\0';
6056 <
6057 <    set_locale(yylval.string);
6058 <  }
6059 < }
6060 <    break;
6061 <
6062 <  case 524:
6063 < /* Line 1792 of yacc.c  */
6064 < #line 2572 "conf_parser.y"
6190 >  case 540:
6191 > /* Line 1787 of yacc.c  */
6192 > #line 2617 "conf_parser.y"
6193      {
6194    ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
6195   }
6196      break;
6197  
6198 <  case 525:
6199 < /* Line 1792 of yacc.c  */
6200 < #line 2577 "conf_parser.y"
6198 >  case 541:
6199 > /* Line 1787 of yacc.c  */
6200 > #line 2622 "conf_parser.y"
6201      {
6202    ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
6203   }
6204      break;
6205  
6206 <  case 526:
6207 < /* Line 1792 of yacc.c  */
6208 < #line 2582 "conf_parser.y"
6206 >  case 542:
6207 > /* Line 1787 of yacc.c  */
6208 > #line 2627 "conf_parser.y"
6209      {
6210    ConfigFileEntry.use_egd = yylval.number;
6211   }
6212      break;
6213  
6214 <  case 527:
6215 < /* Line 1792 of yacc.c  */
6216 < #line 2587 "conf_parser.y"
6214 >  case 543:
6215 > /* Line 1787 of yacc.c  */
6216 > #line 2632 "conf_parser.y"
6217      {
6218    if (conf_parser_ctx.pass == 2)
6219    {
# Line 6095 | Line 6223 | yyreduce:
6223   }
6224      break;
6225  
6226 <  case 528:
6227 < /* Line 1792 of yacc.c  */
6228 < #line 2596 "conf_parser.y"
6226 >  case 544:
6227 > /* Line 1787 of yacc.c  */
6228 > #line 2641 "conf_parser.y"
6229      {
6230    if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6231    {
# Line 6107 | Line 6235 | yyreduce:
6235   }
6236      break;
6237  
6238 <  case 529:
6239 < /* Line 1792 of yacc.c  */
6240 < #line 2605 "conf_parser.y"
6238 >  case 545:
6239 > /* Line 1787 of yacc.c  */
6240 > #line 2650 "conf_parser.y"
6241      {
6242    ConfigFileEntry.ping_cookie = yylval.number;
6243   }
6244      break;
6245  
6246 <  case 530:
6247 < /* Line 1792 of yacc.c  */
6248 < #line 2610 "conf_parser.y"
6246 >  case 546:
6247 > /* Line 1787 of yacc.c  */
6248 > #line 2655 "conf_parser.y"
6249      {
6250    ConfigFileEntry.disable_auth = yylval.number;
6251   }
6252      break;
6253  
6254 <  case 531:
6255 < /* Line 1792 of yacc.c  */
6256 < #line 2615 "conf_parser.y"
6254 >  case 547:
6255 > /* Line 1787 of yacc.c  */
6256 > #line 2660 "conf_parser.y"
6257      {
6258    ConfigFileEntry.throttle_time = yylval.number;
6259   }
6260      break;
6261  
6262 <  case 532:
6263 < /* Line 1792 of yacc.c  */
6264 < #line 2620 "conf_parser.y"
6262 >  case 548:
6263 > /* Line 1787 of yacc.c  */
6264 > #line 2665 "conf_parser.y"
6265      {
6266    ConfigFileEntry.oper_umodes = 0;
6267   }
6268      break;
6269  
6270 <  case 536:
6271 < /* Line 1792 of yacc.c  */
6272 < #line 2626 "conf_parser.y"
6270 >  case 552:
6271 > /* Line 1787 of yacc.c  */
6272 > #line 2671 "conf_parser.y"
6273      {
6274    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6275   }
6276      break;
6277  
6278 <  case 537:
6279 < /* Line 1792 of yacc.c  */
6280 < #line 2629 "conf_parser.y"
6278 >  case 553:
6279 > /* Line 1787 of yacc.c  */
6280 > #line 2674 "conf_parser.y"
6281      {
6282    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6283   }
6284      break;
6285  
6286 <  case 538:
6287 < /* Line 1792 of yacc.c  */
6288 < #line 2632 "conf_parser.y"
6161 <    {
6162 <  ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6163 < }
6164 <    break;
6165 <
6166 <  case 539:
6167 < /* Line 1792 of yacc.c  */
6168 < #line 2635 "conf_parser.y"
6286 >  case 554:
6287 > /* Line 1787 of yacc.c  */
6288 > #line 2677 "conf_parser.y"
6289      {
6290    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6291   }
6292      break;
6293  
6294 <  case 540:
6295 < /* Line 1792 of yacc.c  */
6296 < #line 2638 "conf_parser.y"
6294 >  case 555:
6295 > /* Line 1787 of yacc.c  */
6296 > #line 2680 "conf_parser.y"
6297      {
6298    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6299   }
6300      break;
6301  
6302 <  case 541:
6303 < /* Line 1792 of yacc.c  */
6304 < #line 2641 "conf_parser.y"
6302 >  case 556:
6303 > /* Line 1787 of yacc.c  */
6304 > #line 2683 "conf_parser.y"
6305      {
6306    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6307   }
6308      break;
6309  
6310 <  case 542:
6311 < /* Line 1792 of yacc.c  */
6312 < #line 2644 "conf_parser.y"
6310 >  case 557:
6311 > /* Line 1787 of yacc.c  */
6312 > #line 2686 "conf_parser.y"
6313      {
6314    ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6315   }
6316      break;
6317  
6318 <  case 543:
6319 < /* Line 1792 of yacc.c  */
6320 < #line 2647 "conf_parser.y"
6318 >  case 558:
6319 > /* Line 1787 of yacc.c  */
6320 > #line 2689 "conf_parser.y"
6321      {
6322    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6323   }
6324      break;
6325  
6326 <  case 544:
6327 < /* Line 1792 of yacc.c  */
6328 < #line 2650 "conf_parser.y"
6326 >  case 559:
6327 > /* Line 1787 of yacc.c  */
6328 > #line 2692 "conf_parser.y"
6329      {
6330    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6331   }
6332      break;
6333  
6334 <  case 545:
6335 < /* Line 1792 of yacc.c  */
6336 < #line 2653 "conf_parser.y"
6334 >  case 560:
6335 > /* Line 1787 of yacc.c  */
6336 > #line 2695 "conf_parser.y"
6337      {
6338    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6339   }
6340      break;
6341  
6342 <  case 546:
6343 < /* Line 1792 of yacc.c  */
6344 < #line 2656 "conf_parser.y"
6342 >  case 561:
6343 > /* Line 1787 of yacc.c  */
6344 > #line 2698 "conf_parser.y"
6345      {
6346    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6347   }
6348      break;
6349  
6350 <  case 547:
6351 < /* Line 1792 of yacc.c  */
6352 < #line 2659 "conf_parser.y"
6350 >  case 562:
6351 > /* Line 1787 of yacc.c  */
6352 > #line 2701 "conf_parser.y"
6353      {
6354    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6355   }
6356      break;
6357  
6358 <  case 548:
6359 < /* Line 1792 of yacc.c  */
6360 < #line 2662 "conf_parser.y"
6358 >  case 563:
6359 > /* Line 1787 of yacc.c  */
6360 > #line 2704 "conf_parser.y"
6361      {
6362    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6363   }
6364      break;
6365  
6366 <  case 549:
6367 < /* Line 1792 of yacc.c  */
6368 < #line 2665 "conf_parser.y"
6366 >  case 564:
6367 > /* Line 1787 of yacc.c  */
6368 > #line 2707 "conf_parser.y"
6369      {
6370    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6371   }
6372      break;
6373  
6374 <  case 550:
6375 < /* Line 1792 of yacc.c  */
6376 < #line 2668 "conf_parser.y"
6374 >  case 565:
6375 > /* Line 1787 of yacc.c  */
6376 > #line 2710 "conf_parser.y"
6377      {
6378    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6379   }
6380      break;
6381  
6382 <  case 551:
6383 < /* Line 1792 of yacc.c  */
6384 < #line 2671 "conf_parser.y"
6382 >  case 566:
6383 > /* Line 1787 of yacc.c  */
6384 > #line 2713 "conf_parser.y"
6385      {
6386    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6387   }
6388      break;
6389  
6390 <  case 552:
6391 < /* Line 1792 of yacc.c  */
6392 < #line 2674 "conf_parser.y"
6390 >  case 567:
6391 > /* Line 1787 of yacc.c  */
6392 > #line 2716 "conf_parser.y"
6393      {
6394    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6395   }
6396      break;
6397  
6398 <  case 553:
6399 < /* Line 1792 of yacc.c  */
6400 < #line 2677 "conf_parser.y"
6398 >  case 568:
6399 > /* Line 1787 of yacc.c  */
6400 > #line 2719 "conf_parser.y"
6401      {
6402    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6403   }
6404      break;
6405  
6406 <  case 554:
6407 < /* Line 1792 of yacc.c  */
6408 < #line 2680 "conf_parser.y"
6406 >  case 569:
6407 > /* Line 1787 of yacc.c  */
6408 > #line 2722 "conf_parser.y"
6409      {
6410    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6411   }
6412      break;
6413  
6414 <  case 555:
6415 < /* Line 1792 of yacc.c  */
6416 < #line 2683 "conf_parser.y"
6414 >  case 570:
6415 > /* Line 1787 of yacc.c  */
6416 > #line 2725 "conf_parser.y"
6417      {
6418    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6419   }
6420      break;
6421  
6422 <  case 556:
6423 < /* Line 1792 of yacc.c  */
6424 < #line 2688 "conf_parser.y"
6422 >  case 571:
6423 > /* Line 1787 of yacc.c  */
6424 > #line 2728 "conf_parser.y"
6425      {
6426 <  ConfigFileEntry.oper_only_umodes = 0;
6426 >  ConfigFileEntry.oper_umodes |= UMODE_REGONLY;
6427   }
6428      break;
6429  
6430 <  case 560:
6431 < /* Line 1792 of yacc.c  */
6432 < #line 2694 "conf_parser.y"
6430 >  case 572:
6431 > /* Line 1787 of yacc.c  */
6432 > #line 2731 "conf_parser.y"
6433      {
6434 <  ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6434 >  ConfigFileEntry.oper_umodes |= UMODE_FARCONNECT;
6435   }
6436      break;
6437  
6438 <  case 561:
6439 < /* Line 1792 of yacc.c  */
6440 < #line 2697 "conf_parser.y"
6438 >  case 573:
6439 > /* Line 1787 of yacc.c  */
6440 > #line 2736 "conf_parser.y"
6441      {
6442 <  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6442 >  ConfigFileEntry.oper_only_umodes = 0;
6443   }
6444      break;
6445  
6446 <  case 562:
6447 < /* Line 1792 of yacc.c  */
6448 < #line 2700 "conf_parser.y"
6446 >  case 577:
6447 > /* Line 1787 of yacc.c  */
6448 > #line 2742 "conf_parser.y"
6449      {
6450 <  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6450 >  ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6451   }
6452      break;
6453  
6454 <  case 563:
6455 < /* Line 1792 of yacc.c  */
6456 < #line 2703 "conf_parser.y"
6454 >  case 578:
6455 > /* Line 1787 of yacc.c  */
6456 > #line 2745 "conf_parser.y"
6457 >    {
6458 >  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6459 > }
6460 >    break;
6461 >
6462 >  case 579:
6463 > /* Line 1787 of yacc.c  */
6464 > #line 2748 "conf_parser.y"
6465      {
6466    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6467   }
6468      break;
6469  
6470 <  case 564:
6471 < /* Line 1792 of yacc.c  */
6472 < #line 2706 "conf_parser.y"
6470 >  case 580:
6471 > /* Line 1787 of yacc.c  */
6472 > #line 2751 "conf_parser.y"
6473      {
6474    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6475   }
6476      break;
6477  
6478 <  case 565:
6479 < /* Line 1792 of yacc.c  */
6480 < #line 2709 "conf_parser.y"
6478 >  case 581:
6479 > /* Line 1787 of yacc.c  */
6480 > #line 2754 "conf_parser.y"
6481      {
6482    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6483   }
6484      break;
6485  
6486 <  case 566:
6487 < /* Line 1792 of yacc.c  */
6488 < #line 2712 "conf_parser.y"
6486 >  case 582:
6487 > /* Line 1787 of yacc.c  */
6488 > #line 2757 "conf_parser.y"
6489      {
6490    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6491   }
6492      break;
6493  
6494 <  case 567:
6495 < /* Line 1792 of yacc.c  */
6496 < #line 2715 "conf_parser.y"
6494 >  case 583:
6495 > /* Line 1787 of yacc.c  */
6496 > #line 2760 "conf_parser.y"
6497      {
6498    ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6499   }
6500      break;
6501  
6502 <  case 568:
6503 < /* Line 1792 of yacc.c  */
6504 < #line 2718 "conf_parser.y"
6502 >  case 584:
6503 > /* Line 1787 of yacc.c  */
6504 > #line 2763 "conf_parser.y"
6505      {
6506    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6507   }
6508      break;
6509  
6510 <  case 569:
6511 < /* Line 1792 of yacc.c  */
6512 < #line 2721 "conf_parser.y"
6510 >  case 585:
6511 > /* Line 1787 of yacc.c  */
6512 > #line 2766 "conf_parser.y"
6513      {
6514    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6515   }
6516      break;
6517  
6518 <  case 570:
6519 < /* Line 1792 of yacc.c  */
6520 < #line 2724 "conf_parser.y"
6518 >  case 586:
6519 > /* Line 1787 of yacc.c  */
6520 > #line 2769 "conf_parser.y"
6521      {
6522    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6523   }
6524      break;
6525  
6526 <  case 571:
6527 < /* Line 1792 of yacc.c  */
6528 < #line 2727 "conf_parser.y"
6526 >  case 587:
6527 > /* Line 1787 of yacc.c  */
6528 > #line 2772 "conf_parser.y"
6529      {
6530    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6531   }
6532      break;
6533  
6534 <  case 572:
6535 < /* Line 1792 of yacc.c  */
6536 < #line 2730 "conf_parser.y"
6534 >  case 588:
6535 > /* Line 1787 of yacc.c  */
6536 > #line 2775 "conf_parser.y"
6537      {
6538    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6539   }
6540      break;
6541  
6542 <  case 573:
6543 < /* Line 1792 of yacc.c  */
6544 < #line 2733 "conf_parser.y"
6542 >  case 589:
6543 > /* Line 1787 of yacc.c  */
6544 > #line 2778 "conf_parser.y"
6545      {
6546    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6547   }
6548      break;
6549  
6550 <  case 574:
6551 < /* Line 1792 of yacc.c  */
6552 < #line 2736 "conf_parser.y"
6550 >  case 590:
6551 > /* Line 1787 of yacc.c  */
6552 > #line 2781 "conf_parser.y"
6553      {
6554    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6555   }
6556      break;
6557  
6558 <  case 575:
6559 < /* Line 1792 of yacc.c  */
6560 < #line 2739 "conf_parser.y"
6558 >  case 591:
6559 > /* Line 1787 of yacc.c  */
6560 > #line 2784 "conf_parser.y"
6561      {
6562    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6563   }
6564      break;
6565  
6566 <  case 576:
6567 < /* Line 1792 of yacc.c  */
6568 < #line 2742 "conf_parser.y"
6566 >  case 592:
6567 > /* Line 1787 of yacc.c  */
6568 > #line 2787 "conf_parser.y"
6569      {
6570    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6571   }
6572      break;
6573  
6574 <  case 577:
6575 < /* Line 1792 of yacc.c  */
6576 < #line 2745 "conf_parser.y"
6574 >  case 593:
6575 > /* Line 1787 of yacc.c  */
6576 > #line 2790 "conf_parser.y"
6577      {
6578    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6579   }
6580      break;
6581  
6582 <  case 578:
6583 < /* Line 1792 of yacc.c  */
6584 < #line 2748 "conf_parser.y"
6582 >  case 594:
6583 > /* Line 1787 of yacc.c  */
6584 > #line 2793 "conf_parser.y"
6585      {
6586    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6587   }
6588      break;
6589  
6590 <  case 579:
6591 < /* Line 1792 of yacc.c  */
6592 < #line 2751 "conf_parser.y"
6590 >  case 595:
6591 > /* Line 1787 of yacc.c  */
6592 > #line 2796 "conf_parser.y"
6593      {
6594    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6595   }
6596      break;
6597  
6598 <  case 580:
6599 < /* Line 1792 of yacc.c  */
6600 < #line 2756 "conf_parser.y"
6598 >  case 596:
6599 > /* Line 1787 of yacc.c  */
6600 > #line 2799 "conf_parser.y"
6601      {
6602 <  ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6602 >  ConfigFileEntry.oper_only_umodes |= UMODE_REGONLY;
6603   }
6604      break;
6605  
6606 <  case 581:
6607 < /* Line 1792 of yacc.c  */
6608 < #line 2761 "conf_parser.y"
6606 >  case 597:
6607 > /* Line 1787 of yacc.c  */
6608 > #line 2802 "conf_parser.y"
6609      {
6610 <  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6610 >  ConfigFileEntry.oper_only_umodes |= UMODE_FARCONNECT;
6611   }
6612      break;
6613  
6614 <  case 582:
6615 < /* Line 1792 of yacc.c  */
6616 < #line 2766 "conf_parser.y"
6614 >  case 598:
6615 > /* Line 1787 of yacc.c  */
6616 > #line 2807 "conf_parser.y"
6617      {
6618 <  ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6618 >  ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6619   }
6620      break;
6621  
6622 <  case 601:
6623 < /* Line 1792 of yacc.c  */
6624 < #line 2789 "conf_parser.y"
6622 >  case 599:
6623 > /* Line 1787 of yacc.c  */
6624 > #line 2812 "conf_parser.y"
6625      {
6626 <  ConfigChannel.disable_fake_channels = yylval.number;
6626 >  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6627   }
6628      break;
6629  
6630 <  case 602:
6631 < /* Line 1792 of yacc.c  */
6632 < #line 2794 "conf_parser.y"
6630 >  case 600:
6631 > /* Line 1787 of yacc.c  */
6632 > #line 2817 "conf_parser.y"
6633      {
6634 <  ConfigChannel.restrict_channels = yylval.number;
6634 >  ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6635   }
6636      break;
6637  
6638 <  case 603:
6639 < /* Line 1792 of yacc.c  */
6640 < #line 2799 "conf_parser.y"
6638 >  case 617:
6639 > /* Line 1787 of yacc.c  */
6640 > #line 2840 "conf_parser.y"
6641      {
6642 <  ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6642 >  ConfigChannel.disable_fake_channels = yylval.number;
6643   }
6644      break;
6645  
6646 <  case 604:
6647 < /* Line 1792 of yacc.c  */
6648 < #line 2804 "conf_parser.y"
6646 >  case 618:
6647 > /* Line 1787 of yacc.c  */
6648 > #line 2845 "conf_parser.y"
6649      {
6650 <  ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6650 >  ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6651   }
6652      break;
6653  
6654 <  case 605:
6655 < /* Line 1792 of yacc.c  */
6656 < #line 2809 "conf_parser.y"
6654 >  case 619:
6655 > /* Line 1787 of yacc.c  */
6656 > #line 2850 "conf_parser.y"
6657      {
6658 <  ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6658 >  ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6659   }
6660      break;
6661  
6662 <  case 606:
6663 < /* Line 1792 of yacc.c  */
6664 < #line 2814 "conf_parser.y"
6662 >  case 620:
6663 > /* Line 1787 of yacc.c  */
6664 > #line 2855 "conf_parser.y"
6665      {
6666 <  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6666 >  ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6667   }
6668      break;
6669  
6670 <  case 607:
6671 < /* Line 1792 of yacc.c  */
6672 < #line 2819 "conf_parser.y"
6670 >  case 621:
6671 > /* Line 1787 of yacc.c  */
6672 > #line 2860 "conf_parser.y"
6673      {
6674 <  ConfigChannel.quiet_on_ban = yylval.number;
6674 >  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6675   }
6676      break;
6677  
6678 <  case 608:
6679 < /* Line 1792 of yacc.c  */
6680 < #line 2824 "conf_parser.y"
6678 >  case 622:
6679 > /* Line 1787 of yacc.c  */
6680 > #line 2865 "conf_parser.y"
6681      {
6682    ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6683   }
6684      break;
6685  
6686 <  case 609:
6687 < /* Line 1792 of yacc.c  */
6688 < #line 2829 "conf_parser.y"
6686 >  case 623:
6687 > /* Line 1787 of yacc.c  */
6688 > #line 2870 "conf_parser.y"
6689      {
6690    ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6691   }
6692      break;
6693  
6694 <  case 610:
6695 < /* Line 1792 of yacc.c  */
6696 < #line 2834 "conf_parser.y"
6694 >  case 624:
6695 > /* Line 1787 of yacc.c  */
6696 > #line 2875 "conf_parser.y"
6697      {
6698    ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6699   }
6700      break;
6701  
6702 <  case 611:
6703 < /* Line 1792 of yacc.c  */
6704 < #line 2839 "conf_parser.y"
6702 >  case 625:
6703 > /* Line 1787 of yacc.c  */
6704 > #line 2880 "conf_parser.y"
6705      {
6706    ConfigChannel.no_create_on_split = yylval.number;
6707   }
6708      break;
6709  
6710 <  case 612:
6711 < /* Line 1792 of yacc.c  */
6712 < #line 2844 "conf_parser.y"
6710 >  case 626:
6711 > /* Line 1787 of yacc.c  */
6712 > #line 2885 "conf_parser.y"
6713      {
6714    ConfigChannel.no_join_on_split = yylval.number;
6715   }
6716      break;
6717  
6718 <  case 613:
6719 < /* Line 1792 of yacc.c  */
6720 < #line 2849 "conf_parser.y"
6718 >  case 627:
6719 > /* Line 1787 of yacc.c  */
6720 > #line 2890 "conf_parser.y"
6721      {
6722    GlobalSetOptions.joinfloodcount = yylval.number;
6723   }
6724      break;
6725  
6726 <  case 614:
6727 < /* Line 1792 of yacc.c  */
6728 < #line 2854 "conf_parser.y"
6726 >  case 628:
6727 > /* Line 1787 of yacc.c  */
6728 > #line 2895 "conf_parser.y"
6729      {
6730    GlobalSetOptions.joinfloodtime = yylval.number;
6731   }
6732      break;
6733  
6734 <  case 625:
6735 < /* Line 1792 of yacc.c  */
6736 < #line 2872 "conf_parser.y"
6734 >  case 641:
6735 > /* Line 1787 of yacc.c  */
6736 > #line 2915 "conf_parser.y"
6737      {
6738    if (conf_parser_ctx.pass == 2)
6739      ConfigServerHide.flatten_links = yylval.number;
6740   }
6741      break;
6742  
6743 <  case 626:
6744 < /* Line 1792 of yacc.c  */
6745 < #line 2878 "conf_parser.y"
6743 >  case 642:
6744 > /* Line 1787 of yacc.c  */
6745 > #line 2921 "conf_parser.y"
6746 >    {
6747 >  if (conf_parser_ctx.pass == 2)
6748 >    ConfigServerHide.disable_remote_commands = yylval.number;
6749 > }
6750 >    break;
6751 >
6752 >  case 643:
6753 > /* Line 1787 of yacc.c  */
6754 > #line 2927 "conf_parser.y"
6755      {
6756    if (conf_parser_ctx.pass == 2)
6757      ConfigServerHide.hide_servers = yylval.number;
6758   }
6759      break;
6760  
6761 <  case 627:
6762 < /* Line 1792 of yacc.c  */
6763 < #line 2884 "conf_parser.y"
6761 >  case 644:
6762 > /* Line 1787 of yacc.c  */
6763 > #line 2933 "conf_parser.y"
6764 >    {
6765 >  if (conf_parser_ctx.pass == 2)
6766 >    ConfigServerHide.hide_services = yylval.number;
6767 > }
6768 >    break;
6769 >
6770 >  case 645:
6771 > /* Line 1787 of yacc.c  */
6772 > #line 2939 "conf_parser.y"
6773      {
6774    if (conf_parser_ctx.pass == 2)
6775    {
# Line 6633 | Line 6779 | yyreduce:
6779   }
6780      break;
6781  
6782 <  case 628:
6783 < /* Line 1792 of yacc.c  */
6784 < #line 2893 "conf_parser.y"
6782 >  case 646:
6783 > /* Line 1787 of yacc.c  */
6784 > #line 2948 "conf_parser.y"
6785      {
6786    if (conf_parser_ctx.pass == 2)
6787    {
# Line 6650 | Line 6796 | yyreduce:
6796   }
6797      break;
6798  
6799 <  case 629:
6800 < /* Line 1792 of yacc.c  */
6801 < #line 2907 "conf_parser.y"
6799 >  case 647:
6800 > /* Line 1787 of yacc.c  */
6801 > #line 2962 "conf_parser.y"
6802      {
6803    if (conf_parser_ctx.pass == 2)
6804      ConfigServerHide.hidden = yylval.number;
6805   }
6806      break;
6807  
6808 <  case 630:
6809 < /* Line 1792 of yacc.c  */
6810 < #line 2913 "conf_parser.y"
6808 >  case 648:
6809 > /* Line 1787 of yacc.c  */
6810 > #line 2968 "conf_parser.y"
6811      {
6812    if (conf_parser_ctx.pass == 2)
6813      ConfigServerHide.hide_server_ips = yylval.number;
# Line 6669 | Line 6815 | yyreduce:
6815      break;
6816  
6817  
6818 < /* Line 1792 of yacc.c  */
6819 < #line 6674 "conf_parser.c"
6818 > /* Line 1787 of yacc.c  */
6819 > #line 6820 "conf_parser.c"
6820        default: break;
6821      }
6822    /* User semantic actions sometimes alter yychar, and that requires

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)