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-7.2/src/ircd_parser.c (file contents), Revision 1024 by michael, Sun Nov 1 23:14:25 2009 UTC vs.
ircd-hybrid-8/src/ircd_parser.c (file contents), Revision 1303 by michael, Fri Mar 23 10:52:19 2012 UTC

# Line 1 | Line 1
1 + /* A Bison parser, made by GNU Bison 2.5.  */
2  
3 < /* A Bison parser, made by GNU Bison 2.4.1.  */
3 <
4 < /* Skeleton implementation for Bison's Yacc-like parsers in C
3 > /* Bison implementation for Yacc-like parsers in C
4    
5 <      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
7 <   Free Software Foundation, Inc.
5 >      Copyright (C) 1984, 1989-1990, 2000-2011 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 46 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.4.1"
47 > #define YYBISON_VERSION "2.5"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 67 | Line 65
65  
66   /* Copy the first part of user declarations.  */
67  
68 < /* Line 189 of yacc.c  */
68 > /* Line 268 of yacc.c  */
69   #line 25 "ircd_parser.y"
70  
71  
# Line 84 | Line 82
82   #include "s_log.h"
83   #include "client.h"     /* for UMODE_ALL only */
84   #include "irc_string.h"
87 #include "irc_getaddrinfo.h"
85   #include "sprintf_irc.h"
86   #include "memory.h"
87   #include "modules.h"
# Line 118 | Line 115 | static char userbuf[IRCD_BUFSIZE];
115   static char hostbuf[IRCD_BUFSIZE];
116   static char reasonbuf[REASONLEN + 1];
117   static char gecos_name[REALLEN * 4];
118 <
118 > static char lfile[IRCD_BUFSIZE];
119 > static unsigned int ltype = 0;
120 > static unsigned int lsize = 0;
121   static char *resv_reason = NULL;
122   static char *listener_address = NULL;
124 static int not_atom = 0;
123  
124   struct CollectItem
125   {
# Line 176 | Line 174 | unhook_hub_leaf_confs(void)
174  
175  
176  
177 < /* Line 189 of yacc.c  */
178 < #line 181 "ircd_parser.c"
177 > /* Line 268 of yacc.c  */
178 > #line 179 "ircd_parser.c"
179  
180   /* Enabling traces.  */
181   #ifndef YYDEBUG
# Line 222 | Line 220 | unhook_hub_leaf_confs(void)
220       TBYTES = 273,
221       CALLER_ID_WAIT = 274,
222       CAN_FLOOD = 275,
223 <     CAN_IDLE = 276,
224 <     CHANNEL = 277,
225 <     CIDR_BITLEN_IPV4 = 278,
226 <     CIDR_BITLEN_IPV6 = 279,
227 <     CIPHER_PREFERENCE = 280,
228 <     CLASS = 281,
229 <     COMPRESSED = 282,
230 <     COMPRESSION_LEVEL = 283,
231 <     CONNECT = 284,
232 <     CONNECTFREQ = 285,
233 <     CRYPTLINK = 286,
234 <     DEFAULT_CIPHER_PREFERENCE = 287,
235 <     DEFAULT_FLOODCOUNT = 288,
236 <     DEFAULT_SPLIT_SERVER_COUNT = 289,
237 <     DEFAULT_SPLIT_USER_COUNT = 290,
238 <     DENY = 291,
239 <     DESCRIPTION = 292,
240 <     DIE = 293,
241 <     DISABLE_AUTH = 294,
242 <     DISABLE_FAKE_CHANNELS = 295,
243 <     DISABLE_HIDDEN = 296,
244 <     DISABLE_LOCAL_CHANNELS = 297,
245 <     DISABLE_REMOTE_COMMANDS = 298,
246 <     DOT_IN_IP6_ADDR = 299,
247 <     DOTS_IN_IDENT = 300,
248 <     DURATION = 301,
249 <     EGDPOOL_PATH = 302,
250 <     EMAIL = 303,
251 <     ENABLE = 304,
252 <     ENCRYPTED = 305,
253 <     EXCEED_LIMIT = 306,
254 <     EXEMPT = 307,
255 <     FAILED_OPER_NOTICE = 308,
256 <     FAKENAME = 309,
257 <     IRCD_FLAGS = 310,
258 <     FLATTEN_LINKS = 311,
259 <     FFAILED_OPERLOG = 312,
260 <     FKILLLOG = 313,
261 <     FKLINELOG = 314,
262 <     FGLINELOG = 315,
263 <     FIOERRLOG = 316,
264 <     FOPERLOG = 317,
265 <     FOPERSPYLOG = 318,
266 <     FUSERLOG = 319,
267 <     GECOS = 320,
268 <     GENERAL = 321,
269 <     GLINE = 322,
270 <     GLINES = 323,
271 <     GLINE_EXEMPT = 324,
272 <     GLINE_LOG = 325,
273 <     GLINE_TIME = 326,
274 <     GLINE_MIN_CIDR = 327,
275 <     GLINE_MIN_CIDR6 = 328,
276 <     GLOBAL_KILL = 329,
277 <     IRCD_AUTH = 330,
278 <     NEED_IDENT = 331,
279 <     HAVENT_READ_CONF = 332,
280 <     HIDDEN = 333,
281 <     HIDDEN_ADMIN = 334,
282 <     HIDDEN_NAME = 335,
283 <     HIDDEN_OPER = 336,
284 <     HIDE_SERVER_IPS = 337,
285 <     HIDE_SERVERS = 338,
286 <     HIDE_SPOOF_IPS = 339,
287 <     HOST = 340,
288 <     HUB = 341,
289 <     HUB_MASK = 342,
290 <     IDLETIME = 343,
291 <     IGNORE_BOGUS_TS = 344,
292 <     INVISIBLE_ON_CONNECT = 345,
293 <     IP = 346,
294 <     KILL = 347,
295 <     KILL_CHASE_TIME_LIMIT = 348,
296 <     KLINE = 349,
297 <     KLINE_EXEMPT = 350,
298 <     KLINE_REASON = 351,
299 <     KLINE_WITH_REASON = 352,
300 <     KNOCK_DELAY = 353,
301 <     KNOCK_DELAY_CHANNEL = 354,
302 <     LEAF_MASK = 355,
303 <     LINKS_DELAY = 356,
304 <     LISTEN = 357,
305 <     T_LOG = 358,
306 <     LOGGING = 359,
307 <     LOG_LEVEL = 360,
308 <     MAX_ACCEPT = 361,
309 <     MAX_BANS = 362,
310 <     MAX_CHANS_PER_USER = 363,
311 <     MAX_GLOBAL = 364,
312 <     MAX_IDENT = 365,
313 <     MAX_LOCAL = 366,
314 <     MAX_NICK_CHANGES = 367,
315 <     MAX_NICK_TIME = 368,
316 <     MAX_NUMBER = 369,
317 <     MAX_TARGETS = 370,
318 <     MAX_WATCH = 371,
319 <     MESSAGE_LOCALE = 372,
320 <     MIN_NONWILDCARD = 373,
321 <     MIN_NONWILDCARD_SIMPLE = 374,
322 <     MODULE = 375,
323 <     MODULES = 376,
324 <     NAME = 377,
325 <     NEED_PASSWORD = 378,
326 <     NETWORK_DESC = 379,
327 <     NETWORK_NAME = 380,
328 <     NICK = 381,
329 <     NICK_CHANGES = 382,
330 <     NO_CREATE_ON_SPLIT = 383,
331 <     NO_JOIN_ON_SPLIT = 384,
332 <     NO_OPER_FLOOD = 385,
333 <     NO_TILDE = 386,
334 <     NOT = 387,
335 <     NUMBER = 388,
336 <     NUMBER_PER_IDENT = 389,
337 <     NUMBER_PER_CIDR = 390,
338 <     NUMBER_PER_IP = 391,
339 <     NUMBER_PER_IP_GLOBAL = 392,
340 <     OPERATOR = 393,
341 <     OPERS_BYPASS_CALLERID = 394,
342 <     OPER_LOG = 395,
343 <     OPER_ONLY_UMODES = 396,
344 <     OPER_PASS_RESV = 397,
345 <     OPER_SPY_T = 398,
346 <     OPER_UMODES = 399,
347 <     JOIN_FLOOD_COUNT = 400,
348 <     JOIN_FLOOD_TIME = 401,
349 <     PACE_WAIT = 402,
350 <     PACE_WAIT_SIMPLE = 403,
351 <     PASSWORD = 404,
352 <     PATH = 405,
353 <     PING_COOKIE = 406,
354 <     PING_TIME = 407,
355 <     PING_WARNING = 408,
356 <     PORT = 409,
357 <     QSTRING = 410,
358 <     QUIET_ON_BAN = 411,
359 <     REASON = 412,
360 <     REDIRPORT = 413,
361 <     REDIRSERV = 414,
362 <     REGEX_T = 415,
363 <     REHASH = 416,
364 <     TREJECT_HOLD_TIME = 417,
365 <     REMOTE = 418,
366 <     REMOTEBAN = 419,
367 <     RESTRICT_CHANNELS = 420,
368 <     RESTRICTED = 421,
369 <     RSA_PRIVATE_KEY_FILE = 422,
370 <     RSA_PUBLIC_KEY_FILE = 423,
371 <     SSL_CERTIFICATE_FILE = 424,
372 <     T_SSL_CONNECTION_METHOD = 425,
373 <     T_SSLV3 = 426,
374 <     T_TLSV1 = 427,
375 <     RESV = 428,
376 <     RESV_EXEMPT = 429,
377 <     SECONDS = 430,
378 <     MINUTES = 431,
379 <     HOURS = 432,
380 <     DAYS = 433,
381 <     WEEKS = 434,
382 <     SENDQ = 435,
383 <     SEND_PASSWORD = 436,
384 <     SERVERHIDE = 437,
385 <     SERVERINFO = 438,
386 <     SERVLINK_PATH = 439,
387 <     IRCD_SID = 440,
388 <     TKLINE_EXPIRE_NOTICES = 441,
389 <     T_SHARED = 442,
390 <     T_CLUSTER = 443,
391 <     TYPE = 444,
392 <     SHORT_MOTD = 445,
393 <     SILENT = 446,
394 <     SPOOF = 447,
395 <     SPOOF_NOTICE = 448,
396 <     STATS_E_DISABLED = 449,
397 <     STATS_I_OPER_ONLY = 450,
398 <     STATS_K_OPER_ONLY = 451,
399 <     STATS_O_OPER_ONLY = 452,
400 <     STATS_P_OPER_ONLY = 453,
401 <     TBOOL = 454,
402 <     TMASKED = 455,
403 <     T_REJECT = 456,
404 <     TS_MAX_DELTA = 457,
405 <     TS_WARN_DELTA = 458,
406 <     TWODOTS = 459,
407 <     T_ALL = 460,
408 <     T_BOTS = 461,
409 <     T_SOFTCALLERID = 462,
410 <     T_CALLERID = 463,
411 <     T_CCONN = 464,
412 <     T_CCONN_FULL = 465,
413 <     T_CLIENT_FLOOD = 466,
414 <     T_DEAF = 467,
415 <     T_DEBUG = 468,
416 <     T_DRONE = 469,
417 <     T_EXTERNAL = 470,
418 <     T_FULL = 471,
419 <     T_INVISIBLE = 472,
420 <     T_IPV4 = 473,
421 <     T_IPV6 = 474,
422 <     T_LOCOPS = 475,
423 <     T_LOGPATH = 476,
424 <     T_L_CRIT = 477,
425 <     T_L_DEBUG = 478,
426 <     T_L_ERROR = 479,
427 <     T_L_INFO = 480,
428 <     T_L_NOTICE = 481,
429 <     T_L_TRACE = 482,
430 <     T_L_WARN = 483,
431 <     T_MAX_CLIENTS = 484,
432 <     T_NCHANGE = 485,
433 <     T_OPERWALL = 486,
434 <     T_REJ = 487,
435 <     T_SERVER = 488,
436 <     T_SERVNOTICE = 489,
437 <     T_SKILL = 490,
438 <     T_SPY = 491,
439 <     T_SSL = 492,
440 <     T_UMODES = 493,
443 <     T_UNAUTH = 494,
444 <     T_UNRESV = 495,
445 <     T_UNXLINE = 496,
446 <     T_WALLOP = 497,
447 <     THROTTLE_TIME = 498,
448 <     TOPICBURST = 499,
449 <     TRUE_NO_OPER_FLOOD = 500,
450 <     TKLINE = 501,
451 <     TXLINE = 502,
452 <     TRESV = 503,
453 <     UNKLINE = 504,
454 <     USER = 505,
455 <     USE_EGD = 506,
456 <     USE_EXCEPT = 507,
457 <     USE_INVEX = 508,
458 <     USE_KNOCK = 509,
459 <     USE_LOGGING = 510,
460 <     USE_WHOIS_ACTUALLY = 511,
461 <     VHOST = 512,
462 <     VHOST6 = 513,
463 <     XLINE = 514,
464 <     WARN = 515,
465 <     WARN_NO_NLINE = 516
223 >     CHANNEL = 276,
224 >     CIDR_BITLEN_IPV4 = 277,
225 >     CIDR_BITLEN_IPV6 = 278,
226 >     CLASS = 279,
227 >     CONNECT = 280,
228 >     CONNECTFREQ = 281,
229 >     DEFAULT_FLOODCOUNT = 282,
230 >     DEFAULT_SPLIT_SERVER_COUNT = 283,
231 >     DEFAULT_SPLIT_USER_COUNT = 284,
232 >     DENY = 285,
233 >     DESCRIPTION = 286,
234 >     DIE = 287,
235 >     DISABLE_AUTH = 288,
236 >     DISABLE_FAKE_CHANNELS = 289,
237 >     DISABLE_HIDDEN = 290,
238 >     DISABLE_LOCAL_CHANNELS = 291,
239 >     DISABLE_REMOTE_COMMANDS = 292,
240 >     DOTS_IN_IDENT = 293,
241 >     DURATION = 294,
242 >     EGDPOOL_PATH = 295,
243 >     EMAIL = 296,
244 >     ENABLE = 297,
245 >     ENCRYPTED = 298,
246 >     EXCEED_LIMIT = 299,
247 >     EXEMPT = 300,
248 >     FAILED_OPER_NOTICE = 301,
249 >     IRCD_FLAGS = 302,
250 >     FLATTEN_LINKS = 303,
251 >     GECOS = 304,
252 >     GENERAL = 305,
253 >     GLINE = 306,
254 >     GLINES = 307,
255 >     GLINE_EXEMPT = 308,
256 >     GLINE_TIME = 309,
257 >     GLINE_MIN_CIDR = 310,
258 >     GLINE_MIN_CIDR6 = 311,
259 >     GLOBAL_KILL = 312,
260 >     IRCD_AUTH = 313,
261 >     NEED_IDENT = 314,
262 >     HAVENT_READ_CONF = 315,
263 >     HIDDEN = 316,
264 >     HIDDEN_NAME = 317,
265 >     HIDE_SERVER_IPS = 318,
266 >     HIDE_SERVERS = 319,
267 >     HIDE_SPOOF_IPS = 320,
268 >     HOST = 321,
269 >     HUB = 322,
270 >     HUB_MASK = 323,
271 >     IGNORE_BOGUS_TS = 324,
272 >     INVISIBLE_ON_CONNECT = 325,
273 >     IP = 326,
274 >     KILL = 327,
275 >     KILL_CHASE_TIME_LIMIT = 328,
276 >     KLINE = 329,
277 >     KLINE_EXEMPT = 330,
278 >     KLINE_REASON = 331,
279 >     KLINE_WITH_REASON = 332,
280 >     KNOCK_DELAY = 333,
281 >     KNOCK_DELAY_CHANNEL = 334,
282 >     LEAF_MASK = 335,
283 >     LINKS_DELAY = 336,
284 >     LISTEN = 337,
285 >     T_LOG = 338,
286 >     MAX_ACCEPT = 339,
287 >     MAX_BANS = 340,
288 >     MAX_CHANS_PER_USER = 341,
289 >     MAX_GLOBAL = 342,
290 >     MAX_IDENT = 343,
291 >     MAX_LOCAL = 344,
292 >     MAX_NICK_CHANGES = 345,
293 >     MAX_NICK_TIME = 346,
294 >     MAX_NUMBER = 347,
295 >     MAX_TARGETS = 348,
296 >     MAX_WATCH = 349,
297 >     MESSAGE_LOCALE = 350,
298 >     MIN_NONWILDCARD = 351,
299 >     MIN_NONWILDCARD_SIMPLE = 352,
300 >     MODULE = 353,
301 >     MODULES = 354,
302 >     NAME = 355,
303 >     NEED_PASSWORD = 356,
304 >     NETWORK_DESC = 357,
305 >     NETWORK_NAME = 358,
306 >     NICK = 359,
307 >     NICK_CHANGES = 360,
308 >     NO_CREATE_ON_SPLIT = 361,
309 >     NO_JOIN_ON_SPLIT = 362,
310 >     NO_OPER_FLOOD = 363,
311 >     NO_TILDE = 364,
312 >     NUMBER = 365,
313 >     NUMBER_PER_IDENT = 366,
314 >     NUMBER_PER_CIDR = 367,
315 >     NUMBER_PER_IP = 368,
316 >     NUMBER_PER_IP_GLOBAL = 369,
317 >     OPERATOR = 370,
318 >     OPERS_BYPASS_CALLERID = 371,
319 >     OPER_ONLY_UMODES = 372,
320 >     OPER_PASS_RESV = 373,
321 >     OPER_SPY_T = 374,
322 >     OPER_UMODES = 375,
323 >     JOIN_FLOOD_COUNT = 376,
324 >     JOIN_FLOOD_TIME = 377,
325 >     PACE_WAIT = 378,
326 >     PACE_WAIT_SIMPLE = 379,
327 >     PASSWORD = 380,
328 >     PATH = 381,
329 >     PING_COOKIE = 382,
330 >     PING_TIME = 383,
331 >     PING_WARNING = 384,
332 >     PORT = 385,
333 >     QSTRING = 386,
334 >     QUIET_ON_BAN = 387,
335 >     REASON = 388,
336 >     REDIRPORT = 389,
337 >     REDIRSERV = 390,
338 >     REGEX_T = 391,
339 >     REHASH = 392,
340 >     TREJECT_HOLD_TIME = 393,
341 >     REMOTE = 394,
342 >     REMOTEBAN = 395,
343 >     RESTRICT_CHANNELS = 396,
344 >     RESTRICTED = 397,
345 >     RSA_PRIVATE_KEY_FILE = 398,
346 >     RSA_PUBLIC_KEY_FILE = 399,
347 >     SSL_CERTIFICATE_FILE = 400,
348 >     T_SSL_CONNECTION_METHOD = 401,
349 >     T_SSLV3 = 402,
350 >     T_TLSV1 = 403,
351 >     RESV = 404,
352 >     RESV_EXEMPT = 405,
353 >     SECONDS = 406,
354 >     MINUTES = 407,
355 >     HOURS = 408,
356 >     DAYS = 409,
357 >     WEEKS = 410,
358 >     SENDQ = 411,
359 >     SEND_PASSWORD = 412,
360 >     SERVERHIDE = 413,
361 >     SERVERINFO = 414,
362 >     IRCD_SID = 415,
363 >     TKLINE_EXPIRE_NOTICES = 416,
364 >     T_SHARED = 417,
365 >     T_CLUSTER = 418,
366 >     TYPE = 419,
367 >     SHORT_MOTD = 420,
368 >     SILENT = 421,
369 >     SPOOF = 422,
370 >     SPOOF_NOTICE = 423,
371 >     STATS_E_DISABLED = 424,
372 >     STATS_I_OPER_ONLY = 425,
373 >     STATS_K_OPER_ONLY = 426,
374 >     STATS_O_OPER_ONLY = 427,
375 >     STATS_P_OPER_ONLY = 428,
376 >     TBOOL = 429,
377 >     TMASKED = 430,
378 >     T_REJECT = 431,
379 >     TS_MAX_DELTA = 432,
380 >     TS_WARN_DELTA = 433,
381 >     TWODOTS = 434,
382 >     T_ALL = 435,
383 >     T_BOTS = 436,
384 >     T_SOFTCALLERID = 437,
385 >     T_CALLERID = 438,
386 >     T_CCONN = 439,
387 >     T_CCONN_FULL = 440,
388 >     T_CLIENT_FLOOD = 441,
389 >     T_DEAF = 442,
390 >     T_DEBUG = 443,
391 >     T_DLINE = 444,
392 >     T_DRONE = 445,
393 >     T_EXTERNAL = 446,
394 >     T_FULL = 447,
395 >     T_INVISIBLE = 448,
396 >     T_IPV4 = 449,
397 >     T_IPV6 = 450,
398 >     T_LOCOPS = 451,
399 >     T_MAX_CLIENTS = 452,
400 >     T_NCHANGE = 453,
401 >     T_OPERWALL = 454,
402 >     T_REJ = 455,
403 >     T_SERVER = 456,
404 >     T_SERVNOTICE = 457,
405 >     T_SKILL = 458,
406 >     T_SPY = 459,
407 >     T_SSL = 460,
408 >     T_UMODES = 461,
409 >     T_UNAUTH = 462,
410 >     T_UNDLINE = 463,
411 >     T_UNLIMITED = 464,
412 >     T_UNRESV = 465,
413 >     T_UNXLINE = 466,
414 >     T_GLOBOPS = 467,
415 >     T_WALLOP = 468,
416 >     T_RESTART = 469,
417 >     T_SERVICE = 470,
418 >     T_SERVICES_NAME = 471,
419 >     T_TIMESTAMP = 472,
420 >     THROTTLE_TIME = 473,
421 >     TOPICBURST = 474,
422 >     TRUE_NO_OPER_FLOOD = 475,
423 >     TKLINE = 476,
424 >     TXLINE = 477,
425 >     TRESV = 478,
426 >     UNKLINE = 479,
427 >     USER = 480,
428 >     USE_EGD = 481,
429 >     USE_EXCEPT = 482,
430 >     USE_INVEX = 483,
431 >     USE_KNOCK = 484,
432 >     USE_LOGGING = 485,
433 >     USE_WHOIS_ACTUALLY = 486,
434 >     VHOST = 487,
435 >     VHOST6 = 488,
436 >     XLINE = 489,
437 >     WARN = 490,
438 >     WARN_NO_NLINE = 491,
439 >     T_SIZE = 492,
440 >     T_FILE = 493
441     };
442   #endif
443   /* Tokens.  */
# Line 484 | Line 459 | unhook_hub_leaf_confs(void)
459   #define TBYTES 273
460   #define CALLER_ID_WAIT 274
461   #define CAN_FLOOD 275
462 < #define CAN_IDLE 276
463 < #define CHANNEL 277
464 < #define CIDR_BITLEN_IPV4 278
465 < #define CIDR_BITLEN_IPV6 279
466 < #define CIPHER_PREFERENCE 280
467 < #define CLASS 281
468 < #define COMPRESSED 282
469 < #define COMPRESSION_LEVEL 283
470 < #define CONNECT 284
471 < #define CONNECTFREQ 285
472 < #define CRYPTLINK 286
473 < #define DEFAULT_CIPHER_PREFERENCE 287
474 < #define DEFAULT_FLOODCOUNT 288
475 < #define DEFAULT_SPLIT_SERVER_COUNT 289
476 < #define DEFAULT_SPLIT_USER_COUNT 290
477 < #define DENY 291
478 < #define DESCRIPTION 292
479 < #define DIE 293
480 < #define DISABLE_AUTH 294
481 < #define DISABLE_FAKE_CHANNELS 295
482 < #define DISABLE_HIDDEN 296
483 < #define DISABLE_LOCAL_CHANNELS 297
484 < #define DISABLE_REMOTE_COMMANDS 298
485 < #define DOT_IN_IP6_ADDR 299
486 < #define DOTS_IN_IDENT 300
487 < #define DURATION 301
488 < #define EGDPOOL_PATH 302
489 < #define EMAIL 303
490 < #define ENABLE 304
491 < #define ENCRYPTED 305
492 < #define EXCEED_LIMIT 306
493 < #define EXEMPT 307
494 < #define FAILED_OPER_NOTICE 308
495 < #define FAKENAME 309
496 < #define IRCD_FLAGS 310
497 < #define FLATTEN_LINKS 311
498 < #define FFAILED_OPERLOG 312
499 < #define FKILLLOG 313
500 < #define FKLINELOG 314
501 < #define FGLINELOG 315
502 < #define FIOERRLOG 316
503 < #define FOPERLOG 317
504 < #define FOPERSPYLOG 318
505 < #define FUSERLOG 319
506 < #define GECOS 320
507 < #define GENERAL 321
508 < #define GLINE 322
509 < #define GLINES 323
510 < #define GLINE_EXEMPT 324
511 < #define GLINE_LOG 325
512 < #define GLINE_TIME 326
513 < #define GLINE_MIN_CIDR 327
514 < #define GLINE_MIN_CIDR6 328
515 < #define GLOBAL_KILL 329
516 < #define IRCD_AUTH 330
517 < #define NEED_IDENT 331
518 < #define HAVENT_READ_CONF 332
519 < #define HIDDEN 333
520 < #define HIDDEN_ADMIN 334
521 < #define HIDDEN_NAME 335
522 < #define HIDDEN_OPER 336
523 < #define HIDE_SERVER_IPS 337
524 < #define HIDE_SERVERS 338
525 < #define HIDE_SPOOF_IPS 339
526 < #define HOST 340
527 < #define HUB 341
528 < #define HUB_MASK 342
529 < #define IDLETIME 343
530 < #define IGNORE_BOGUS_TS 344
531 < #define INVISIBLE_ON_CONNECT 345
532 < #define IP 346
533 < #define KILL 347
534 < #define KILL_CHASE_TIME_LIMIT 348
535 < #define KLINE 349
536 < #define KLINE_EXEMPT 350
537 < #define KLINE_REASON 351
538 < #define KLINE_WITH_REASON 352
539 < #define KNOCK_DELAY 353
540 < #define KNOCK_DELAY_CHANNEL 354
541 < #define LEAF_MASK 355
542 < #define LINKS_DELAY 356
543 < #define LISTEN 357
544 < #define T_LOG 358
545 < #define LOGGING 359
546 < #define LOG_LEVEL 360
547 < #define MAX_ACCEPT 361
548 < #define MAX_BANS 362
549 < #define MAX_CHANS_PER_USER 363
550 < #define MAX_GLOBAL 364
551 < #define MAX_IDENT 365
552 < #define MAX_LOCAL 366
553 < #define MAX_NICK_CHANGES 367
554 < #define MAX_NICK_TIME 368
555 < #define MAX_NUMBER 369
556 < #define MAX_TARGETS 370
557 < #define MAX_WATCH 371
558 < #define MESSAGE_LOCALE 372
559 < #define MIN_NONWILDCARD 373
560 < #define MIN_NONWILDCARD_SIMPLE 374
561 < #define MODULE 375
562 < #define MODULES 376
563 < #define NAME 377
564 < #define NEED_PASSWORD 378
565 < #define NETWORK_DESC 379
566 < #define NETWORK_NAME 380
567 < #define NICK 381
568 < #define NICK_CHANGES 382
569 < #define NO_CREATE_ON_SPLIT 383
570 < #define NO_JOIN_ON_SPLIT 384
571 < #define NO_OPER_FLOOD 385
572 < #define NO_TILDE 386
573 < #define NOT 387
574 < #define NUMBER 388
575 < #define NUMBER_PER_IDENT 389
576 < #define NUMBER_PER_CIDR 390
577 < #define NUMBER_PER_IP 391
578 < #define NUMBER_PER_IP_GLOBAL 392
579 < #define OPERATOR 393
580 < #define OPERS_BYPASS_CALLERID 394
581 < #define OPER_LOG 395
582 < #define OPER_ONLY_UMODES 396
583 < #define OPER_PASS_RESV 397
584 < #define OPER_SPY_T 398
585 < #define OPER_UMODES 399
586 < #define JOIN_FLOOD_COUNT 400
587 < #define JOIN_FLOOD_TIME 401
588 < #define PACE_WAIT 402
589 < #define PACE_WAIT_SIMPLE 403
590 < #define PASSWORD 404
591 < #define PATH 405
592 < #define PING_COOKIE 406
593 < #define PING_TIME 407
594 < #define PING_WARNING 408
595 < #define PORT 409
596 < #define QSTRING 410
597 < #define QUIET_ON_BAN 411
598 < #define REASON 412
599 < #define REDIRPORT 413
600 < #define REDIRSERV 414
601 < #define REGEX_T 415
602 < #define REHASH 416
603 < #define TREJECT_HOLD_TIME 417
604 < #define REMOTE 418
605 < #define REMOTEBAN 419
606 < #define RESTRICT_CHANNELS 420
607 < #define RESTRICTED 421
608 < #define RSA_PRIVATE_KEY_FILE 422
609 < #define RSA_PUBLIC_KEY_FILE 423
610 < #define SSL_CERTIFICATE_FILE 424
611 < #define T_SSL_CONNECTION_METHOD 425
612 < #define T_SSLV3 426
613 < #define T_TLSV1 427
614 < #define RESV 428
615 < #define RESV_EXEMPT 429
616 < #define SECONDS 430
617 < #define MINUTES 431
618 < #define HOURS 432
619 < #define DAYS 433
620 < #define WEEKS 434
621 < #define SENDQ 435
622 < #define SEND_PASSWORD 436
623 < #define SERVERHIDE 437
624 < #define SERVERINFO 438
625 < #define SERVLINK_PATH 439
626 < #define IRCD_SID 440
627 < #define TKLINE_EXPIRE_NOTICES 441
628 < #define T_SHARED 442
629 < #define T_CLUSTER 443
630 < #define TYPE 444
631 < #define SHORT_MOTD 445
632 < #define SILENT 446
633 < #define SPOOF 447
634 < #define SPOOF_NOTICE 448
635 < #define STATS_E_DISABLED 449
636 < #define STATS_I_OPER_ONLY 450
637 < #define STATS_K_OPER_ONLY 451
638 < #define STATS_O_OPER_ONLY 452
639 < #define STATS_P_OPER_ONLY 453
640 < #define TBOOL 454
641 < #define TMASKED 455
642 < #define T_REJECT 456
643 < #define TS_MAX_DELTA 457
644 < #define TS_WARN_DELTA 458
645 < #define TWODOTS 459
646 < #define T_ALL 460
647 < #define T_BOTS 461
648 < #define T_SOFTCALLERID 462
649 < #define T_CALLERID 463
650 < #define T_CCONN 464
651 < #define T_CCONN_FULL 465
652 < #define T_CLIENT_FLOOD 466
653 < #define T_DEAF 467
654 < #define T_DEBUG 468
655 < #define T_DRONE 469
656 < #define T_EXTERNAL 470
657 < #define T_FULL 471
658 < #define T_INVISIBLE 472
659 < #define T_IPV4 473
660 < #define T_IPV6 474
661 < #define T_LOCOPS 475
662 < #define T_LOGPATH 476
663 < #define T_L_CRIT 477
664 < #define T_L_DEBUG 478
665 < #define T_L_ERROR 479
666 < #define T_L_INFO 480
667 < #define T_L_NOTICE 481
668 < #define T_L_TRACE 482
669 < #define T_L_WARN 483
670 < #define T_MAX_CLIENTS 484
671 < #define T_NCHANGE 485
672 < #define T_OPERWALL 486
673 < #define T_REJ 487
674 < #define T_SERVER 488
675 < #define T_SERVNOTICE 489
676 < #define T_SKILL 490
677 < #define T_SPY 491
678 < #define T_SSL 492
679 < #define T_UMODES 493
705 < #define T_UNAUTH 494
706 < #define T_UNRESV 495
707 < #define T_UNXLINE 496
708 < #define T_WALLOP 497
709 < #define THROTTLE_TIME 498
710 < #define TOPICBURST 499
711 < #define TRUE_NO_OPER_FLOOD 500
712 < #define TKLINE 501
713 < #define TXLINE 502
714 < #define TRESV 503
715 < #define UNKLINE 504
716 < #define USER 505
717 < #define USE_EGD 506
718 < #define USE_EXCEPT 507
719 < #define USE_INVEX 508
720 < #define USE_KNOCK 509
721 < #define USE_LOGGING 510
722 < #define USE_WHOIS_ACTUALLY 511
723 < #define VHOST 512
724 < #define VHOST6 513
725 < #define XLINE 514
726 < #define WARN 515
727 < #define WARN_NO_NLINE 516
462 > #define CHANNEL 276
463 > #define CIDR_BITLEN_IPV4 277
464 > #define CIDR_BITLEN_IPV6 278
465 > #define CLASS 279
466 > #define CONNECT 280
467 > #define CONNECTFREQ 281
468 > #define DEFAULT_FLOODCOUNT 282
469 > #define DEFAULT_SPLIT_SERVER_COUNT 283
470 > #define DEFAULT_SPLIT_USER_COUNT 284
471 > #define DENY 285
472 > #define DESCRIPTION 286
473 > #define DIE 287
474 > #define DISABLE_AUTH 288
475 > #define DISABLE_FAKE_CHANNELS 289
476 > #define DISABLE_HIDDEN 290
477 > #define DISABLE_LOCAL_CHANNELS 291
478 > #define DISABLE_REMOTE_COMMANDS 292
479 > #define DOTS_IN_IDENT 293
480 > #define DURATION 294
481 > #define EGDPOOL_PATH 295
482 > #define EMAIL 296
483 > #define ENABLE 297
484 > #define ENCRYPTED 298
485 > #define EXCEED_LIMIT 299
486 > #define EXEMPT 300
487 > #define FAILED_OPER_NOTICE 301
488 > #define IRCD_FLAGS 302
489 > #define FLATTEN_LINKS 303
490 > #define GECOS 304
491 > #define GENERAL 305
492 > #define GLINE 306
493 > #define GLINES 307
494 > #define GLINE_EXEMPT 308
495 > #define GLINE_TIME 309
496 > #define GLINE_MIN_CIDR 310
497 > #define GLINE_MIN_CIDR6 311
498 > #define GLOBAL_KILL 312
499 > #define IRCD_AUTH 313
500 > #define NEED_IDENT 314
501 > #define HAVENT_READ_CONF 315
502 > #define HIDDEN 316
503 > #define HIDDEN_NAME 317
504 > #define HIDE_SERVER_IPS 318
505 > #define HIDE_SERVERS 319
506 > #define HIDE_SPOOF_IPS 320
507 > #define HOST 321
508 > #define HUB 322
509 > #define HUB_MASK 323
510 > #define IGNORE_BOGUS_TS 324
511 > #define INVISIBLE_ON_CONNECT 325
512 > #define IP 326
513 > #define KILL 327
514 > #define KILL_CHASE_TIME_LIMIT 328
515 > #define KLINE 329
516 > #define KLINE_EXEMPT 330
517 > #define KLINE_REASON 331
518 > #define KLINE_WITH_REASON 332
519 > #define KNOCK_DELAY 333
520 > #define KNOCK_DELAY_CHANNEL 334
521 > #define LEAF_MASK 335
522 > #define LINKS_DELAY 336
523 > #define LISTEN 337
524 > #define T_LOG 338
525 > #define MAX_ACCEPT 339
526 > #define MAX_BANS 340
527 > #define MAX_CHANS_PER_USER 341
528 > #define MAX_GLOBAL 342
529 > #define MAX_IDENT 343
530 > #define MAX_LOCAL 344
531 > #define MAX_NICK_CHANGES 345
532 > #define MAX_NICK_TIME 346
533 > #define MAX_NUMBER 347
534 > #define MAX_TARGETS 348
535 > #define MAX_WATCH 349
536 > #define MESSAGE_LOCALE 350
537 > #define MIN_NONWILDCARD 351
538 > #define MIN_NONWILDCARD_SIMPLE 352
539 > #define MODULE 353
540 > #define MODULES 354
541 > #define NAME 355
542 > #define NEED_PASSWORD 356
543 > #define NETWORK_DESC 357
544 > #define NETWORK_NAME 358
545 > #define NICK 359
546 > #define NICK_CHANGES 360
547 > #define NO_CREATE_ON_SPLIT 361
548 > #define NO_JOIN_ON_SPLIT 362
549 > #define NO_OPER_FLOOD 363
550 > #define NO_TILDE 364
551 > #define NUMBER 365
552 > #define NUMBER_PER_IDENT 366
553 > #define NUMBER_PER_CIDR 367
554 > #define NUMBER_PER_IP 368
555 > #define NUMBER_PER_IP_GLOBAL 369
556 > #define OPERATOR 370
557 > #define OPERS_BYPASS_CALLERID 371
558 > #define OPER_ONLY_UMODES 372
559 > #define OPER_PASS_RESV 373
560 > #define OPER_SPY_T 374
561 > #define OPER_UMODES 375
562 > #define JOIN_FLOOD_COUNT 376
563 > #define JOIN_FLOOD_TIME 377
564 > #define PACE_WAIT 378
565 > #define PACE_WAIT_SIMPLE 379
566 > #define PASSWORD 380
567 > #define PATH 381
568 > #define PING_COOKIE 382
569 > #define PING_TIME 383
570 > #define PING_WARNING 384
571 > #define PORT 385
572 > #define QSTRING 386
573 > #define QUIET_ON_BAN 387
574 > #define REASON 388
575 > #define REDIRPORT 389
576 > #define REDIRSERV 390
577 > #define REGEX_T 391
578 > #define REHASH 392
579 > #define TREJECT_HOLD_TIME 393
580 > #define REMOTE 394
581 > #define REMOTEBAN 395
582 > #define RESTRICT_CHANNELS 396
583 > #define RESTRICTED 397
584 > #define RSA_PRIVATE_KEY_FILE 398
585 > #define RSA_PUBLIC_KEY_FILE 399
586 > #define SSL_CERTIFICATE_FILE 400
587 > #define T_SSL_CONNECTION_METHOD 401
588 > #define T_SSLV3 402
589 > #define T_TLSV1 403
590 > #define RESV 404
591 > #define RESV_EXEMPT 405
592 > #define SECONDS 406
593 > #define MINUTES 407
594 > #define HOURS 408
595 > #define DAYS 409
596 > #define WEEKS 410
597 > #define SENDQ 411
598 > #define SEND_PASSWORD 412
599 > #define SERVERHIDE 413
600 > #define SERVERINFO 414
601 > #define IRCD_SID 415
602 > #define TKLINE_EXPIRE_NOTICES 416
603 > #define T_SHARED 417
604 > #define T_CLUSTER 418
605 > #define TYPE 419
606 > #define SHORT_MOTD 420
607 > #define SILENT 421
608 > #define SPOOF 422
609 > #define SPOOF_NOTICE 423
610 > #define STATS_E_DISABLED 424
611 > #define STATS_I_OPER_ONLY 425
612 > #define STATS_K_OPER_ONLY 426
613 > #define STATS_O_OPER_ONLY 427
614 > #define STATS_P_OPER_ONLY 428
615 > #define TBOOL 429
616 > #define TMASKED 430
617 > #define T_REJECT 431
618 > #define TS_MAX_DELTA 432
619 > #define TS_WARN_DELTA 433
620 > #define TWODOTS 434
621 > #define T_ALL 435
622 > #define T_BOTS 436
623 > #define T_SOFTCALLERID 437
624 > #define T_CALLERID 438
625 > #define T_CCONN 439
626 > #define T_CCONN_FULL 440
627 > #define T_CLIENT_FLOOD 441
628 > #define T_DEAF 442
629 > #define T_DEBUG 443
630 > #define T_DLINE 444
631 > #define T_DRONE 445
632 > #define T_EXTERNAL 446
633 > #define T_FULL 447
634 > #define T_INVISIBLE 448
635 > #define T_IPV4 449
636 > #define T_IPV6 450
637 > #define T_LOCOPS 451
638 > #define T_MAX_CLIENTS 452
639 > #define T_NCHANGE 453
640 > #define T_OPERWALL 454
641 > #define T_REJ 455
642 > #define T_SERVER 456
643 > #define T_SERVNOTICE 457
644 > #define T_SKILL 458
645 > #define T_SPY 459
646 > #define T_SSL 460
647 > #define T_UMODES 461
648 > #define T_UNAUTH 462
649 > #define T_UNDLINE 463
650 > #define T_UNLIMITED 464
651 > #define T_UNRESV 465
652 > #define T_UNXLINE 466
653 > #define T_GLOBOPS 467
654 > #define T_WALLOP 468
655 > #define T_RESTART 469
656 > #define T_SERVICE 470
657 > #define T_SERVICES_NAME 471
658 > #define T_TIMESTAMP 472
659 > #define THROTTLE_TIME 473
660 > #define TOPICBURST 474
661 > #define TRUE_NO_OPER_FLOOD 475
662 > #define TKLINE 476
663 > #define TXLINE 477
664 > #define TRESV 478
665 > #define UNKLINE 479
666 > #define USER 480
667 > #define USE_EGD 481
668 > #define USE_EXCEPT 482
669 > #define USE_INVEX 483
670 > #define USE_KNOCK 484
671 > #define USE_LOGGING 485
672 > #define USE_WHOIS_ACTUALLY 486
673 > #define VHOST 487
674 > #define VHOST6 488
675 > #define XLINE 489
676 > #define WARN 490
677 > #define WARN_NO_NLINE 491
678 > #define T_SIZE 492
679 > #define T_FILE 493
680  
681  
682  
# Line 733 | Line 685 | unhook_hub_leaf_confs(void)
685   typedef union YYSTYPE
686   {
687  
688 < /* Line 214 of yacc.c  */
688 > /* Line 293 of yacc.c  */
689   #line 132 "ircd_parser.y"
690  
691    int number;
# Line 741 | Line 693 | typedef union YYSTYPE
693  
694  
695  
696 < /* Line 214 of yacc.c  */
697 < #line 746 "ircd_parser.c"
696 > /* Line 293 of yacc.c  */
697 > #line 698 "ircd_parser.c"
698   } YYSTYPE;
699   # define YYSTYPE_IS_TRIVIAL 1
700   # define yystype YYSTYPE /* obsolescent; will be withdrawn */
# Line 753 | Line 705 | typedef union YYSTYPE
705   /* Copy the second part of user declarations.  */
706  
707  
708 < /* Line 264 of yacc.c  */
709 < #line 758 "ircd_parser.c"
708 > /* Line 343 of yacc.c  */
709 > #line 710 "ircd_parser.c"
710  
711   #ifdef short
712   # undef short
# Line 804 | Line 756 | typedef short int yytype_int16;
756   #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
757  
758   #ifndef YY_
759 < # if YYENABLE_NLS
759 > # if defined YYENABLE_NLS && YYENABLE_NLS
760   #  if ENABLE_NLS
761   #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
762   #   define YY_(msgid) dgettext ("bison-runtime", msgid)
# Line 857 | Line 809 | YYID (yyi)
809   #    define alloca _alloca
810   #   else
811   #    define YYSTACK_ALLOC alloca
812 < #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
812 > #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
813       || defined __cplusplus || defined _MSC_VER)
814   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
815 < #     ifndef _STDLIB_H
816 < #      define _STDLIB_H 1
815 > #     ifndef EXIT_SUCCESS
816 > #      define EXIT_SUCCESS 0
817   #     endif
818   #    endif
819   #   endif
# Line 884 | Line 836 | YYID (yyi)
836   #  ifndef YYSTACK_ALLOC_MAXIMUM
837   #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
838   #  endif
839 < #  if (defined __cplusplus && ! defined _STDLIB_H \
839 > #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
840         && ! ((defined YYMALLOC || defined malloc) \
841               && (defined YYFREE || defined free)))
842   #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
843 < #   ifndef _STDLIB_H
844 < #    define _STDLIB_H 1
843 > #   ifndef EXIT_SUCCESS
844 > #    define EXIT_SUCCESS 0
845   #   endif
846   #  endif
847   #  ifndef YYMALLOC
848   #   define YYMALLOC malloc
849 < #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
849 > #   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
850       || defined __cplusplus || defined _MSC_VER)
851   void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
852   #   endif
853   #  endif
854   #  ifndef YYFREE
855   #   define YYFREE free
856 < #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
856 > #   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
857       || defined __cplusplus || defined _MSC_VER)
858   void free (void *); /* INFRINGES ON USER NAME SPACE */
859   #   endif
# Line 930 | Line 882 | union yyalloc
882       ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
883        + YYSTACK_GAP_MAXIMUM)
884  
885 < /* Copy COUNT objects from FROM to TO.  The source and destination do
934 <   not overlap.  */
935 < # ifndef YYCOPY
936 < #  if defined __GNUC__ && 1 < __GNUC__
937 < #   define YYCOPY(To, From, Count) \
938 <      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
939 < #  else
940 < #   define YYCOPY(To, From, Count)              \
941 <      do                                        \
942 <        {                                       \
943 <          YYSIZE_T yyi;                         \
944 <          for (yyi = 0; yyi < (Count); yyi++)   \
945 <            (To)[yyi] = (From)[yyi];            \
946 <        }                                       \
947 <      while (YYID (0))
948 < #  endif
949 < # endif
885 > # define YYCOPY_NEEDED 1
886  
887   /* Relocate STACK from its old location to the new one.  The
888     local variables YYSIZE and YYSTACKSIZE give the old and new number of
# Line 966 | Line 902 | union yyalloc
902  
903   #endif
904  
905 + #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
906 + /* Copy COUNT objects from FROM to TO.  The source and destination do
907 +   not overlap.  */
908 + # ifndef YYCOPY
909 + #  if defined __GNUC__ && 1 < __GNUC__
910 + #   define YYCOPY(To, From, Count) \
911 +      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
912 + #  else
913 + #   define YYCOPY(To, From, Count)              \
914 +      do                                        \
915 +        {                                       \
916 +          YYSIZE_T yyi;                         \
917 +          for (yyi = 0; yyi < (Count); yyi++)   \
918 +            (To)[yyi] = (From)[yyi];            \
919 +        }                                       \
920 +      while (YYID (0))
921 + #  endif
922 + # endif
923 + #endif /* !YYCOPY_NEEDED */
924 +
925   /* YYFINAL -- State number of the termination state.  */
926   #define YYFINAL  2
927   /* YYLAST -- Last index in YYTABLE.  */
928 < #define YYLAST   1413
928 > #define YYLAST   1354
929  
930   /* YYNTOKENS -- Number of terminals.  */
931 < #define YYNTOKENS  267
931 > #define YYNTOKENS  244
932   /* YYNNTS -- Number of nonterminals.  */
933 < #define YYNNTS  346
933 > #define YYNNTS  301
934   /* YYNRULES -- Number of rules.  */
935 < #define YYNRULES  743
935 > #define YYNRULES  659
936   /* YYNRULES -- Number of states.  */
937 < #define YYNSTATES  1494
937 > #define YYNSTATES  1292
938  
939   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
940   #define YYUNDEFTOK  2
941 < #define YYMAXUTOK   516
941 > #define YYMAXUTOK   493
942  
943   #define YYTRANSLATE(YYX)                                                \
944    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
945  
946   /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
947 < static const yytype_uint16 yytranslate[] =
947 > static const yytype_uint8 yytranslate[] =
948   {
949         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
950         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
951         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
952         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
953 <       2,     2,     2,     2,   266,     2,     2,     2,     2,     2,
954 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   262,
955 <       2,   265,     2,     2,     2,     2,     2,     2,     2,     2,
953 >       2,     2,     2,     2,   243,     2,     2,     2,     2,     2,
954 >       2,     2,     2,     2,     2,     2,     2,     2,     2,   239,
955 >       2,   242,     2,     2,     2,     2,     2,     2,     2,     2,
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,     2,     2,     2,     2,     2,     2,
960         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
961 <       2,     2,     2,   264,     2,   263,     2,     2,     2,     2,
961 >       2,     2,     2,   241,     2,   240,     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,
# Line 1039 | Line 995 | static const yytype_uint16 yytranslate[]
995       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
996       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
997       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
998 <     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1043 <     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1044 <     255,   256,   257,   258,   259,   260,   261
998 >     235,   236,   237,   238
999   };
1000  
1001   #if YYDEBUG
# Line 1051 | Line 1005 | static const yytype_uint16 yyprhs[] =
1005   {
1006         0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
1007        19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
1008 <      39,    41,    43,    45,    47,    50,    53,    54,    56,    59,
1009 <      63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
1010 <      97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
1011 <     134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
1012 <     154,   156,   158,   160,   163,   164,   170,   174,   176,   178,
1013 <     180,   185,   190,   195,   200,   205,   210,   215,   220,   225,
1014 <     230,   235,   241,   244,   246,   248,   250,   252,   255,   260,
1015 <     265,   270,   276,   279,   281,   283,   285,   287,   289,   291,
1016 <     293,   295,   297,   299,   301,   303,   305,   308,   313,   318,
1017 <     323,   328,   333,   338,   343,   348,   353,   358,   363,   368,
1018 <     373,   378,   383,   388,   393,   398,   399,   407,   408,   410,
1019 <     413,   415,   417,   419,   421,   423,   425,   427,   429,   431,
1020 <     433,   435,   437,   439,   441,   443,   445,   447,   449,   451,
1021 <     453,   455,   457,   459,   462,   467,   469,   474,   479,   484,
1022 <     489,   494,   495,   501,   505,   507,   509,   511,   513,   515,
1023 <     517,   519,   521,   523,   525,   527,   529,   531,   533,   535,
1024 <     537,   539,   541,   543,   545,   550,   555,   560,   565,   570,
1025 <     575,   580,   585,   590,   595,   600,   605,   610,   615,   616,
1026 <     622,   626,   628,   629,   633,   634,   637,   639,   641,   643,
1027 <     645,   647,   649,   651,   653,   655,   657,   659,   661,   663,
1028 <     665,   667,   669,   670,   678,   679,   681,   684,   686,   688,
1029 <     690,   692,   694,   696,   698,   700,   702,   704,   706,   708,
1030 <     710,   712,   715,   720,   722,   727,   732,   737,   742,   747,
1031 <     752,   757,   762,   767,   772,   777,   782,   783,   790,   791,
1032 <     797,   801,   803,   805,   807,   809,   812,   814,   816,   818,
1033 <     820,   822,   825,   826,   832,   836,   838,   840,   844,   849,
1034 <     854,   855,   862,   865,   867,   869,   871,   873,   875,   877,
1035 <     879,   881,   883,   885,   887,   889,   891,   893,   895,   897,
1036 <     899,   902,   907,   912,   917,   922,   927,   928,   934,   938,
1037 <     940,   941,   945,   946,   949,   951,   953,   955,   957,   959,
1038 <     961,   963,   965,   967,   969,   974,   979,   984,   989,   994,
1039 <     999,  1004,  1009,  1014,  1019,  1020,  1027,  1030,  1032,  1034,
1040 <    1036,  1038,  1041,  1046,  1051,  1056,  1057,  1064,  1067,  1069,
1041 <    1071,  1073,  1075,  1078,  1083,  1088,  1089,  1095,  1099,  1101,
1042 <    1103,  1105,  1107,  1109,  1111,  1113,  1115,  1117,  1119,  1121,
1043 <    1123,  1124,  1131,  1134,  1136,  1138,  1140,  1143,  1148,  1149,
1044 <    1155,  1159,  1161,  1163,  1165,  1167,  1169,  1171,  1173,  1175,
1045 <    1177,  1179,  1181,  1183,  1184,  1192,  1193,  1195,  1198,  1200,
1046 <    1202,  1204,  1206,  1208,  1210,  1212,  1214,  1216,  1218,  1220,
1047 <    1222,  1224,  1226,  1228,  1230,  1232,  1234,  1236,  1238,  1241,
1048 <    1246,  1248,  1253,  1258,  1263,  1268,  1273,  1278,  1283,  1288,
1049 <    1289,  1295,  1299,  1301,  1302,  1306,  1307,  1310,  1312,  1314,
1050 <    1316,  1318,  1320,  1325,  1330,  1335,  1340,  1345,  1350,  1355,
1051 <    1360,  1365,  1370,  1371,  1378,  1379,  1385,  1389,  1391,  1393,
1052 <    1396,  1398,  1400,  1402,  1404,  1406,  1411,  1416,  1417,  1424,
1053 <    1427,  1429,  1431,  1433,  1435,  1440,  1445,  1451,  1454,  1456,
1054 <    1458,  1460,  1465,  1466,  1473,  1474,  1480,  1484,  1486,  1488,
1055 <    1491,  1493,  1495,  1497,  1499,  1501,  1506,  1511,  1517,  1520,
1056 <    1522,  1524,  1526,  1528,  1530,  1532,  1534,  1536,  1538,  1540,
1057 <    1542,  1544,  1546,  1548,  1550,  1552,  1554,  1556,  1558,  1560,
1058 <    1562,  1564,  1566,  1568,  1570,  1572,  1574,  1576,  1578,  1580,
1059 <    1582,  1584,  1586,  1588,  1590,  1592,  1594,  1596,  1598,  1600,
1060 <    1602,  1604,  1606,  1608,  1610,  1612,  1614,  1616,  1618,  1620,
1061 <    1622,  1624,  1626,  1628,  1630,  1632,  1634,  1636,  1641,  1646,
1062 <    1651,  1656,  1661,  1666,  1671,  1676,  1681,  1686,  1691,  1696,
1063 <    1701,  1706,  1711,  1716,  1721,  1726,  1731,  1736,  1741,  1746,
1064 <    1751,  1756,  1761,  1766,  1771,  1776,  1781,  1786,  1791,  1796,
1065 <    1801,  1806,  1811,  1816,  1821,  1826,  1831,  1836,  1841,  1846,
1066 <    1851,  1856,  1861,  1866,  1871,  1876,  1881,  1886,  1891,  1892,
1067 <    1898,  1902,  1904,  1906,  1908,  1910,  1912,  1914,  1916,  1918,
1068 <    1920,  1922,  1924,  1926,  1928,  1930,  1932,  1934,  1936,  1938,
1069 <    1940,  1942,  1943,  1949,  1953,  1955,  1957,  1959,  1961,  1963,
1070 <    1965,  1967,  1969,  1971,  1973,  1975,  1977,  1979,  1981,  1983,
1071 <    1985,  1987,  1989,  1991,  1993,  1998,  2003,  2008,  2013,  2018,
1118 <    2019,  2026,  2029,  2031,  2033,  2035,  2037,  2039,  2041,  2043,
1119 <    2045,  2050,  2055,  2056,  2062,  2066,  2068,  2070,  2072,  2077,
1120 <    2082,  2083,  2089,  2093,  2095,  2097,  2099,  2105,  2108,  2110,
1121 <    2112,  2114,  2116,  2118,  2120,  2122,  2124,  2126,  2128,  2130,
1122 <    2132,  2134,  2136,  2138,  2140,  2142,  2144,  2146,  2148,  2153,
1123 <    2158,  2163,  2168,  2173,  2178,  2183,  2188,  2193,  2198,  2203,
1124 <    2208,  2213,  2218,  2223,  2228,  2233,  2238,  2244,  2247,  2249,
1125 <    2251,  2253,  2255,  2257,  2259,  2261,  2263,  2265,  2270,  2275,
1126 <    2280,  2285,  2290,  2295
1008 >      39,    41,    43,    45,    47,    49,    52,    55,    56,    58,
1009 >      61,    65,    69,    73,    77,    81,    82,    84,    87,    91,
1010 >      95,    99,   105,   108,   110,   112,   114,   117,   122,   127,
1011 >     133,   136,   138,   140,   142,   144,   146,   148,   150,   152,
1012 >     154,   156,   158,   160,   162,   165,   166,   172,   176,   178,
1013 >     180,   182,   187,   192,   197,   202,   207,   212,   217,   222,
1014 >     227,   232,   237,   243,   246,   248,   250,   252,   254,   257,
1015 >     262,   267,   272,   278,   281,   283,   285,   287,   289,   292,
1016 >     297,   302,   303,   310,   313,   315,   317,   319,   321,   324,
1017 >     329,   334,   339,   340,   346,   350,   352,   354,   356,   358,
1018 >     360,   362,   364,   366,   367,   374,   377,   379,   381,   383,
1019 >     385,   387,   389,   391,   393,   395,   398,   403,   408,   413,
1020 >     418,   423,   428,   429,   435,   439,   441,   443,   445,   447,
1021 >     449,   451,   453,   455,   457,   459,   461,   463,   465,   467,
1022 >     469,   471,   473,   475,   477,   479,   481,   482,   488,   492,
1023 >     494,   496,   498,   500,   502,   504,   506,   508,   510,   512,
1024 >     514,   516,   518,   520,   522,   524,   526,   528,   530,   531,
1025 >     538,   541,   543,   545,   547,   549,   551,   553,   555,   557,
1026 >     559,   561,   563,   565,   567,   569,   572,   577,   582,   587,
1027 >     592,   597,   602,   607,   612,   617,   622,   627,   632,   637,
1028 >     638,   645,   646,   652,   656,   658,   660,   662,   664,   667,
1029 >     669,   671,   673,   675,   677,   680,   681,   687,   691,   693,
1030 >     695,   699,   704,   709,   710,   717,   720,   722,   724,   726,
1031 >     728,   730,   732,   734,   736,   738,   741,   746,   751,   756,
1032 >     761,   762,   768,   772,   774,   776,   778,   780,   782,   784,
1033 >     786,   788,   790,   792,   797,   802,   807,   808,   815,   818,
1034 >     820,   822,   824,   826,   829,   834,   839,   844,   850,   853,
1035 >     855,   857,   859,   864,   865,   872,   875,   877,   879,   881,
1036 >     883,   886,   891,   896,   897,   903,   907,   909,   911,   913,
1037 >     915,   917,   919,   921,   923,   925,   927,   929,   930,   937,
1038 >     940,   942,   944,   946,   949,   954,   955,   961,   965,   967,
1039 >     969,   971,   973,   975,   977,   979,   981,   983,   985,   987,
1040 >     988,   995,   998,  1000,  1002,  1004,  1006,  1008,  1010,  1012,
1041 >    1014,  1016,  1018,  1020,  1022,  1024,  1027,  1032,  1037,  1042,
1042 >    1047,  1052,  1057,  1062,  1067,  1068,  1074,  1078,  1080,  1082,
1043 >    1084,  1086,  1088,  1093,  1098,  1103,  1108,  1109,  1116,  1117,
1044 >    1123,  1127,  1129,  1131,  1134,  1136,  1138,  1140,  1142,  1144,
1045 >    1149,  1154,  1155,  1162,  1165,  1167,  1169,  1171,  1173,  1178,
1046 >    1183,  1189,  1192,  1194,  1196,  1198,  1203,  1204,  1211,  1212,
1047 >    1218,  1222,  1224,  1226,  1229,  1231,  1233,  1235,  1237,  1239,
1048 >    1244,  1249,  1255,  1258,  1260,  1262,  1264,  1266,  1268,  1270,
1049 >    1272,  1274,  1276,  1278,  1280,  1282,  1284,  1286,  1288,  1290,
1050 >    1292,  1294,  1296,  1298,  1300,  1302,  1304,  1306,  1308,  1310,
1051 >    1312,  1314,  1316,  1318,  1320,  1322,  1324,  1326,  1328,  1330,
1052 >    1332,  1334,  1336,  1338,  1340,  1342,  1344,  1346,  1348,  1350,
1053 >    1352,  1354,  1356,  1358,  1360,  1362,  1364,  1369,  1374,  1379,
1054 >    1384,  1389,  1394,  1399,  1404,  1409,  1414,  1419,  1424,  1429,
1055 >    1434,  1439,  1444,  1449,  1454,  1459,  1464,  1469,  1474,  1479,
1056 >    1484,  1489,  1494,  1499,  1504,  1509,  1514,  1519,  1524,  1529,
1057 >    1534,  1539,  1544,  1549,  1554,  1559,  1564,  1569,  1574,  1579,
1058 >    1584,  1589,  1594,  1599,  1600,  1606,  1610,  1612,  1614,  1616,
1059 >    1618,  1620,  1622,  1624,  1626,  1628,  1630,  1632,  1634,  1636,
1060 >    1638,  1640,  1642,  1644,  1646,  1648,  1650,  1652,  1653,  1659,
1061 >    1663,  1665,  1667,  1669,  1671,  1673,  1675,  1677,  1679,  1681,
1062 >    1683,  1685,  1687,  1689,  1691,  1693,  1695,  1697,  1699,  1701,
1063 >    1703,  1705,  1710,  1715,  1720,  1725,  1726,  1733,  1736,  1738,
1064 >    1740,  1742,  1744,  1746,  1748,  1750,  1752,  1757,  1762,  1763,
1065 >    1769,  1773,  1775,  1777,  1779,  1784,  1789,  1790,  1796,  1800,
1066 >    1802,  1804,  1806,  1812,  1815,  1817,  1819,  1821,  1823,  1825,
1067 >    1827,  1829,  1831,  1833,  1835,  1837,  1839,  1841,  1843,  1845,
1068 >    1847,  1849,  1851,  1853,  1855,  1860,  1865,  1870,  1875,  1880,
1069 >    1885,  1890,  1895,  1900,  1905,  1910,  1915,  1920,  1925,  1930,
1070 >    1935,  1940,  1945,  1951,  1954,  1956,  1958,  1960,  1962,  1964,
1071 >    1966,  1968,  1970,  1972,  1977,  1982,  1987,  1992,  1997,  2002
1072   };
1073  
1074   /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1075   static const yytype_int16 yyrhs[] =
1076   {
1077 <     268,     0,    -1,    -1,   268,   269,    -1,   297,    -1,   303,
1078 <      -1,   318,    -1,   582,    -1,   355,    -1,   374,    -1,   388,
1079 <      -1,   279,    -1,   603,    -1,   414,    -1,   421,    -1,   431,
1080 <      -1,   440,    -1,   471,    -1,   481,    -1,   487,    -1,   501,
1081 <      -1,   566,    -1,   491,    -1,   274,    -1,     1,   262,    -1,
1082 <       1,   263,    -1,    -1,   271,    -1,   133,   270,    -1,   133,
1083 <     175,   270,    -1,   133,   176,   270,    -1,   133,   177,   270,
1084 <      -1,   133,   178,   270,    -1,   133,   179,   270,    -1,    -1,
1085 <     273,    -1,   133,   272,    -1,   133,    14,   272,    -1,   133,
1086 <      15,   272,    -1,   133,    16,   272,    -1,   121,   264,   275,
1087 <     263,   262,    -1,   275,   276,    -1,   276,    -1,   277,    -1,
1088 <     278,    -1,     1,   262,    -1,   120,   265,   155,   262,    -1,
1089 <     150,   265,   155,   262,    -1,   183,   264,   280,   263,   262,
1090 <      -1,   280,   281,    -1,   281,    -1,   288,    -1,   293,    -1,
1091 <     296,    -1,   290,    -1,   291,    -1,   292,    -1,   295,    -1,
1092 <     287,    -1,   294,    -1,   289,    -1,   286,    -1,   282,    -1,
1093 <       1,   262,    -1,    -1,   170,   283,   265,   284,   262,    -1,
1094 <     284,   266,   285,    -1,   285,    -1,   171,    -1,   172,    -1,
1095 <     169,   265,   155,   262,    -1,   167,   265,   155,   262,    -1,
1096 <     122,   265,   155,   262,    -1,   185,   265,   155,   262,    -1,
1097 <      37,   265,   155,   262,    -1,   125,   265,   155,   262,    -1,
1098 <     124,   265,   155,   262,    -1,   257,   265,   155,   262,    -1,
1099 <     258,   265,   155,   262,    -1,   229,   265,   133,   262,    -1,
1100 <      86,   265,   199,   262,    -1,     5,   264,   298,   263,   262,
1101 <      -1,   298,   299,    -1,   299,    -1,   300,    -1,   302,    -1,
1102 <     301,    -1,     1,   262,    -1,   122,   265,   155,   262,    -1,
1103 <      48,   265,   155,   262,    -1,    37,   265,   155,   262,    -1,
1104 <     104,   264,   304,   263,   262,    -1,   304,   305,    -1,   305,
1105 <      -1,   306,    -1,   307,    -1,   316,    -1,   317,    -1,   308,
1106 <      -1,   310,    -1,   312,    -1,   313,    -1,   315,    -1,   311,
1107 <      -1,   314,    -1,   309,    -1,     1,   262,    -1,   221,   265,
1108 <     155,   262,    -1,   140,   265,   155,   262,    -1,    64,   265,
1109 <     155,   262,    -1,    57,   265,   155,   262,    -1,    62,   265,
1110 <     155,   262,    -1,    63,   265,   155,   262,    -1,    60,   265,
1111 <     155,   262,    -1,    59,   265,   155,   262,    -1,    61,   265,
1112 <     155,   262,    -1,    58,   265,   155,   262,    -1,   105,   265,
1113 <     222,   262,    -1,   105,   265,   224,   262,    -1,   105,   265,
1114 <     228,   262,    -1,   105,   265,   226,   262,    -1,   105,   265,
1115 <     227,   262,    -1,   105,   265,   225,   262,    -1,   105,   265,
1116 <     223,   262,    -1,   255,   265,   199,   262,    -1,    -1,   138,
1117 <     319,   320,   264,   321,   263,   262,    -1,    -1,   324,    -1,
1118 <     321,   322,    -1,   322,    -1,   323,    -1,   325,    -1,   326,
1119 <      -1,   345,    -1,   346,    -1,   330,    -1,   329,    -1,   334,
1120 <      -1,   335,    -1,   337,    -1,   338,    -1,   339,    -1,   340,
1121 <      -1,   341,    -1,   336,    -1,   342,    -1,   343,    -1,   344,
1122 <      -1,   347,    -1,   327,    -1,   328,    -1,   348,    -1,     1,
1123 <     262,    -1,   122,   265,   155,   262,    -1,   155,    -1,   250,
1124 <     265,   155,   262,    -1,   149,   265,   155,   262,    -1,    50,
1125 <     265,   199,   262,    -1,   168,   265,   155,   262,    -1,    26,
1126 <     265,   155,   262,    -1,    -1,   238,   331,   265,   332,   262,
1127 <      -1,   332,   266,   333,    -1,   333,    -1,   206,    -1,   209,
1128 <      -1,   210,    -1,   212,    -1,   213,    -1,   216,    -1,   235,
1129 <      -1,   230,    -1,   232,    -1,   239,    -1,   236,    -1,   215,
1130 <      -1,   231,    -1,   234,    -1,   217,    -1,   242,    -1,   207,
1131 <      -1,   208,    -1,   220,    -1,    74,   265,   199,   262,    -1,
1132 <     163,   265,   199,   262,    -1,   164,   265,   199,   262,    -1,
1133 <      94,   265,   199,   262,    -1,   259,   265,   199,   262,    -1,
1134 <     249,   265,   199,   262,    -1,    67,   265,   199,   262,    -1,
1135 <     127,   265,   199,   262,    -1,    38,   265,   199,   262,    -1,
1136 <     161,   265,   199,   262,    -1,     5,   265,   199,   262,    -1,
1137 <      79,   265,   199,   262,    -1,    81,   265,   199,   262,    -1,
1138 <     231,   265,   199,   262,    -1,    -1,    55,   349,   265,   350,
1139 <     262,    -1,   350,   266,   351,    -1,   351,    -1,    -1,   132,
1140 <     352,   354,    -1,    -1,   353,   354,    -1,    74,    -1,   163,
1141 <      -1,    94,    -1,   249,    -1,   259,    -1,    67,    -1,    38,
1142 <      -1,   161,    -1,     5,    -1,    79,    -1,   127,    -1,   231,
1143 <      -1,   143,    -1,    81,    -1,   164,    -1,    50,    -1,    -1,
1144 <      26,   356,   357,   264,   358,   263,   262,    -1,    -1,   361,
1145 <      -1,   358,   359,    -1,   359,    -1,   360,    -1,   371,    -1,
1146 <     372,    -1,   362,    -1,   363,    -1,   373,    -1,   364,    -1,
1147 <     365,    -1,   366,    -1,   367,    -1,   368,    -1,   369,    -1,
1148 <     370,    -1,     1,   262,    -1,   122,   265,   155,   262,    -1,
1149 <     155,    -1,   152,   265,   271,   262,    -1,   153,   265,   271,
1150 <     262,    -1,   136,   265,   133,   262,    -1,    30,   265,   271,
1151 <     262,    -1,   114,   265,   133,   262,    -1,   109,   265,   133,
1152 <     262,    -1,   111,   265,   133,   262,    -1,   110,   265,   133,
1153 <     262,    -1,   180,   265,   273,   262,    -1,    23,   265,   133,
1154 <     262,    -1,    24,   265,   133,   262,    -1,   135,   265,   133,
1155 <     262,    -1,    -1,   102,   375,   264,   380,   263,   262,    -1,
1156 <      -1,    55,   377,   265,   378,   262,    -1,   378,   266,   379,
1157 <      -1,   379,    -1,   237,    -1,    78,    -1,   233,    -1,   380,
1158 <     381,    -1,   381,    -1,   382,    -1,   376,    -1,   386,    -1,
1159 <     387,    -1,     1,   262,    -1,    -1,   154,   265,   384,   383,
1160 <     262,    -1,   384,   266,   385,    -1,   385,    -1,   133,    -1,
1161 <     133,   204,   133,    -1,    91,   265,   155,   262,    -1,    85,
1162 <     265,   155,   262,    -1,    -1,    75,   389,   264,   390,   263,
1163 <     262,    -1,   390,   391,    -1,   391,    -1,   392,    -1,   393,
1164 <      -1,   395,    -1,   397,    -1,   404,    -1,   405,    -1,   406,
1165 <      -1,   408,    -1,   409,    -1,   410,    -1,   394,    -1,   411,
1166 <      -1,   412,    -1,   407,    -1,   413,    -1,   396,    -1,     1,
1167 <     262,    -1,   250,   265,   155,   262,    -1,   149,   265,   155,
1168 <     262,    -1,   193,   265,   199,   262,    -1,    26,   265,   155,
1169 <     262,    -1,    50,   265,   199,   262,    -1,    -1,    55,   398,
1170 <     265,   399,   262,    -1,   399,   266,   400,    -1,   400,    -1,
1171 <      -1,   132,   401,   403,    -1,    -1,   402,   403,    -1,   193,
1172 <      -1,    51,    -1,    95,    -1,    76,    -1,    20,    -1,    21,
1173 <      -1,   131,    -1,    69,    -1,   174,    -1,   123,    -1,    95,
1174 <     265,   199,   262,    -1,    76,   265,   199,   262,    -1,    51,
1175 <     265,   199,   262,    -1,    20,   265,   199,   262,    -1,   131,
1176 <     265,   199,   262,    -1,    69,   265,   199,   262,    -1,   192,
1177 <     265,   155,   262,    -1,   159,   265,   155,   262,    -1,   158,
1178 <     265,   133,   262,    -1,   123,   265,   199,   262,    -1,    -1,
1179 <     173,   415,   264,   416,   263,   262,    -1,   416,   417,    -1,
1180 <     417,    -1,   418,    -1,   419,    -1,   420,    -1,     1,   262,
1181 <      -1,   157,   265,   155,   262,    -1,    22,   265,   155,   262,
1182 <      -1,   126,   265,   155,   262,    -1,    -1,   187,   422,   264,
1183 <     423,   263,   262,    -1,   423,   424,    -1,   424,    -1,   425,
1184 <      -1,   426,    -1,   427,    -1,     1,   262,    -1,   122,   265,
1185 <     155,   262,    -1,   250,   265,   155,   262,    -1,    -1,   189,
1186 <     428,   265,   429,   262,    -1,   429,   266,   430,    -1,   430,
1187 <      -1,    94,    -1,   246,    -1,   249,    -1,   259,    -1,   247,
1188 <      -1,   241,    -1,   173,    -1,   248,    -1,   240,    -1,   220,
1189 <      -1,   205,    -1,    -1,   188,   432,   264,   433,   263,   262,
1190 <      -1,   433,   434,    -1,   434,    -1,   435,    -1,   436,    -1,
1191 <       1,   262,    -1,   122,   265,   155,   262,    -1,    -1,   189,
1192 <     437,   265,   438,   262,    -1,   438,   266,   439,    -1,   439,
1193 <      -1,    94,    -1,   246,    -1,   249,    -1,   259,    -1,   247,
1194 <      -1,   241,    -1,   173,    -1,   248,    -1,   240,    -1,   220,
1195 <      -1,   205,    -1,    -1,    29,   441,   442,   264,   443,   263,
1196 <     262,    -1,    -1,   446,    -1,   443,   444,    -1,   444,    -1,
1197 <     445,    -1,   447,    -1,   448,    -1,   449,    -1,   450,    -1,
1198 <     452,    -1,   451,    -1,   453,    -1,   454,    -1,   467,    -1,
1199 <     468,    -1,   469,    -1,   465,    -1,   462,    -1,   464,    -1,
1200 <     463,    -1,   461,    -1,   470,    -1,   466,    -1,     1,   262,
1201 <      -1,   122,   265,   155,   262,    -1,   155,    -1,    85,   265,
1202 <     155,   262,    -1,   257,   265,   155,   262,    -1,   181,   265,
1203 <     155,   262,    -1,     3,   265,   155,   262,    -1,   154,   265,
1204 <     133,   262,    -1,     6,   265,   218,   262,    -1,     6,   265,
1205 <     219,   262,    -1,    54,   265,   155,   262,    -1,    -1,    55,
1206 <     455,   265,   456,   262,    -1,   456,   266,   457,    -1,   457,
1207 <      -1,    -1,   132,   458,   460,    -1,    -1,   459,   460,    -1,
1208 <      27,    -1,    31,    -1,    10,    -1,    12,    -1,   244,    -1,
1209 <     168,   265,   155,   262,    -1,    50,   265,   199,   262,    -1,
1210 <      31,   265,   199,   262,    -1,    27,   265,   199,   262,    -1,
1211 <      10,   265,   199,   262,    -1,   244,   265,   199,   262,    -1,
1212 <      87,   265,   155,   262,    -1,   100,   265,   155,   262,    -1,
1213 <      26,   265,   155,   262,    -1,    25,   265,   155,   262,    -1,
1214 <      -1,    92,   472,   264,   477,   263,   262,    -1,    -1,   189,
1215 <     474,   265,   475,   262,    -1,   475,   266,   476,    -1,   476,
1216 <      -1,   160,    -1,   477,   478,    -1,   478,    -1,   479,    -1,
1217 <     480,    -1,   473,    -1,     1,    -1,   250,   265,   155,   262,
1218 <      -1,   157,   265,   155,   262,    -1,    -1,    36,   482,   264,
1219 <     483,   263,   262,    -1,   483,   484,    -1,   484,    -1,   485,
1220 <      -1,   486,    -1,     1,    -1,    91,   265,   155,   262,    -1,
1221 <     157,   265,   155,   262,    -1,    52,   264,   488,   263,   262,
1222 <      -1,   488,   489,    -1,   489,    -1,   490,    -1,     1,    -1,
1223 <      91,   265,   155,   262,    -1,    -1,    65,   492,   264,   497,
1224 <     263,   262,    -1,    -1,   189,   494,   265,   495,   262,    -1,
1225 <     495,   266,   496,    -1,   496,    -1,   160,    -1,   497,   498,
1226 <      -1,   498,    -1,   499,    -1,   500,    -1,   493,    -1,     1,
1227 <      -1,   122,   265,   155,   262,    -1,   157,   265,   155,   262,
1228 <      -1,    66,   264,   502,   263,   262,    -1,   502,   503,    -1,
1229 <     503,    -1,   512,    -1,   513,    -1,   515,    -1,   516,    -1,
1230 <     517,    -1,   518,    -1,   519,    -1,   520,    -1,   521,    -1,
1231 <     522,    -1,   511,    -1,   524,    -1,   525,    -1,   526,    -1,
1232 <     527,    -1,   543,    -1,   529,    -1,   531,    -1,   533,    -1,
1233 <     532,    -1,   536,    -1,   530,    -1,   537,    -1,   538,    -1,
1234 <     539,    -1,   540,    -1,   542,    -1,   541,    -1,   557,    -1,
1235 <     544,    -1,   548,    -1,   549,    -1,   553,    -1,   534,    -1,
1236 <     535,    -1,   563,    -1,   561,    -1,   562,    -1,   545,    -1,
1237 <     514,    -1,   546,    -1,   547,    -1,   564,    -1,   552,    -1,
1238 <     523,    -1,   565,    -1,   550,    -1,   551,    -1,   507,    -1,
1239 <     510,    -1,   505,    -1,   506,    -1,   508,    -1,   509,    -1,
1240 <     528,    -1,   504,    -1,     1,    -1,   116,   265,   133,   262,
1241 <      -1,    72,   265,   133,   262,    -1,    73,   265,   133,   262,
1242 <      -1,    12,   265,   199,   262,    -1,   256,   265,   199,   262,
1243 <      -1,   162,   265,   271,   262,    -1,   186,   265,   199,   262,
1244 <      -1,    93,   265,   133,   262,    -1,    84,   265,   199,   262,
1245 <      -1,    89,   265,   199,   262,    -1,    43,   265,   199,   262,
1246 <      -1,    53,   265,   199,   262,    -1,     8,   265,   199,   262,
1247 <      -1,   113,   265,   271,   262,    -1,   112,   265,   133,   262,
1248 <      -1,   106,   265,   133,   262,    -1,     9,   265,   271,   262,
1249 <      -1,   203,   265,   271,   262,    -1,   202,   265,   271,   262,
1250 <      -1,    77,   265,   133,   262,    -1,    97,   265,   199,   262,
1251 <      -1,    96,   265,   155,   262,    -1,    90,   265,   199,   262,
1252 <      -1,   261,   265,   199,   262,    -1,   194,   265,   199,   262,
1253 <      -1,   197,   265,   199,   262,    -1,   198,   265,   199,   262,
1254 <      -1,   196,   265,   199,   262,    -1,   196,   265,   200,   262,
1255 <      -1,   195,   265,   199,   262,    -1,   195,   265,   200,   262,
1256 <      -1,   147,   265,   271,   262,    -1,    19,   265,   271,   262,
1257 <      -1,   139,   265,   199,   262,    -1,   148,   265,   271,   262,
1258 <      -1,   190,   265,   199,   262,    -1,   130,   265,   199,   262,
1259 <      -1,   245,   265,   199,   262,    -1,   142,   265,   199,   262,
1260 <      -1,   117,   265,   155,   262,    -1,    88,   265,   271,   262,
1261 <      -1,    45,   265,   133,   262,    -1,   115,   265,   133,   262,
1262 <      -1,   184,   265,   155,   262,    -1,    32,   265,   155,   262,
1263 <      -1,    28,   265,   133,   262,    -1,   251,   265,   199,   262,
1264 <      -1,    47,   265,   155,   262,    -1,   151,   265,   199,   262,
1265 <      -1,    39,   265,   199,   262,    -1,   243,   265,   271,   262,
1266 <      -1,    -1,   144,   554,   265,   555,   262,    -1,   555,   266,
1267 <     556,    -1,   556,    -1,   206,    -1,   209,    -1,   210,    -1,
1268 <     212,    -1,   213,    -1,   216,    -1,   235,    -1,   230,    -1,
1269 <     232,    -1,   239,    -1,   236,    -1,   215,    -1,   231,    -1,
1270 <     234,    -1,   217,    -1,   242,    -1,   207,    -1,   208,    -1,
1271 <     220,    -1,    -1,   141,   558,   265,   559,   262,    -1,   559,
1272 <     266,   560,    -1,   560,    -1,   206,    -1,   209,    -1,   210,
1273 <      -1,   212,    -1,   213,    -1,   216,    -1,   235,    -1,   230,
1274 <      -1,   232,    -1,   239,    -1,   236,    -1,   215,    -1,   231,
1275 <      -1,   234,    -1,   217,    -1,   242,    -1,   207,    -1,   208,
1276 <      -1,   220,    -1,   118,   265,   133,   262,    -1,   119,   265,
1277 <     133,   262,    -1,    33,   265,   133,   262,    -1,   211,   265,
1333 <     273,   262,    -1,    44,   265,   199,   262,    -1,    -1,    68,
1334 <     567,   264,   568,   263,   262,    -1,   568,   569,    -1,   569,
1335 <      -1,   570,    -1,   571,    -1,   572,    -1,   576,    -1,   577,
1336 <      -1,   578,    -1,     1,    -1,    49,   265,   199,   262,    -1,
1337 <      46,   265,   271,   262,    -1,    -1,   104,   573,   265,   574,
1338 <     262,    -1,   574,   266,   575,    -1,   575,    -1,   201,    -1,
1339 <      11,    -1,   250,   265,   155,   262,    -1,   122,   265,   155,
1340 <     262,    -1,    -1,     4,   579,   265,   580,   262,    -1,   580,
1341 <     266,   581,    -1,   581,    -1,   201,    -1,    11,    -1,    22,
1342 <     264,   583,   263,   262,    -1,   583,   584,    -1,   584,    -1,
1343 <     587,    -1,   588,    -1,   589,    -1,   590,    -1,   595,    -1,
1344 <     591,    -1,   592,    -1,   593,    -1,   594,    -1,   596,    -1,
1345 <     597,    -1,   598,    -1,   586,    -1,   599,    -1,   600,    -1,
1346 <     601,    -1,   602,    -1,   585,    -1,     1,    -1,    40,   265,
1347 <     199,   262,    -1,   165,   265,   199,   262,    -1,    42,   265,
1348 <     199,   262,    -1,   252,   265,   199,   262,    -1,   253,   265,
1349 <     199,   262,    -1,   254,   265,   199,   262,    -1,    98,   265,
1350 <     271,   262,    -1,    99,   265,   271,   262,    -1,   108,   265,
1351 <     133,   262,    -1,   156,   265,   199,   262,    -1,   107,   265,
1352 <     133,   262,    -1,    35,   265,   133,   262,    -1,    34,   265,
1353 <     133,   262,    -1,   128,   265,   199,   262,    -1,   129,   265,
1354 <     199,   262,    -1,    13,   265,   199,   262,    -1,   145,   265,
1355 <     133,   262,    -1,   146,   265,   271,   262,    -1,   182,   264,
1356 <     604,   263,   262,    -1,   604,   605,    -1,   605,    -1,   606,
1357 <      -1,   607,    -1,   609,    -1,   611,    -1,   610,    -1,   608,
1358 <      -1,   612,    -1,     1,    -1,    56,   265,   199,   262,    -1,
1359 <      83,   265,   199,   262,    -1,    80,   265,   155,   262,    -1,
1360 <     101,   265,   271,   262,    -1,    78,   265,   199,   262,    -1,
1361 <      41,   265,   199,   262,    -1,    82,   265,   199,   262,    -1
1077 >     245,     0,    -1,    -1,   245,   246,    -1,   274,    -1,   280,
1078 >      -1,   295,    -1,   514,    -1,   313,    -1,   330,    -1,   344,
1079 >      -1,   256,    -1,   535,    -1,   359,    -1,   366,    -1,   370,
1080 >      -1,   380,    -1,   389,    -1,   408,    -1,   418,    -1,   424,
1081 >      -1,   438,    -1,   498,    -1,   428,    -1,   251,    -1,     1,
1082 >     239,    -1,     1,   240,    -1,    -1,   248,    -1,   110,   247,
1083 >      -1,   110,   151,   247,    -1,   110,   152,   247,    -1,   110,
1084 >     153,   247,    -1,   110,   154,   247,    -1,   110,   155,   247,
1085 >      -1,    -1,   250,    -1,   110,   249,    -1,   110,    14,   249,
1086 >      -1,   110,    15,   249,    -1,   110,    16,   249,    -1,    99,
1087 >     241,   252,   240,   239,    -1,   252,   253,    -1,   253,    -1,
1088 >     254,    -1,   255,    -1,     1,   239,    -1,    98,   242,   131,
1089 >     239,    -1,   126,   242,   131,   239,    -1,   159,   241,   257,
1090 >     240,   239,    -1,   257,   258,    -1,   258,    -1,   265,    -1,
1091 >     270,    -1,   273,    -1,   267,    -1,   268,    -1,   269,    -1,
1092 >     272,    -1,   264,    -1,   271,    -1,   266,    -1,   263,    -1,
1093 >     259,    -1,     1,   239,    -1,    -1,   146,   260,   242,   261,
1094 >     239,    -1,   261,   243,   262,    -1,   262,    -1,   147,    -1,
1095 >     148,    -1,   145,   242,   131,   239,    -1,   143,   242,   131,
1096 >     239,    -1,   100,   242,   131,   239,    -1,   160,   242,   131,
1097 >     239,    -1,    31,   242,   131,   239,    -1,   103,   242,   131,
1098 >     239,    -1,   102,   242,   131,   239,    -1,   232,   242,   131,
1099 >     239,    -1,   233,   242,   131,   239,    -1,   197,   242,   110,
1100 >     239,    -1,    67,   242,   174,   239,    -1,     5,   241,   275,
1101 >     240,   239,    -1,   275,   276,    -1,   276,    -1,   277,    -1,
1102 >     279,    -1,   278,    -1,     1,   239,    -1,   100,   242,   131,
1103 >     239,    -1,    41,   242,   131,   239,    -1,    31,   242,   131,
1104 >     239,    -1,    83,   241,   281,   240,   239,    -1,   281,   282,
1105 >      -1,   282,    -1,   283,    -1,   284,    -1,   285,    -1,     1,
1106 >     239,    -1,   230,   242,   174,   239,    -1,   217,   242,   174,
1107 >     239,    -1,    -1,   286,   238,   241,   287,   240,   239,    -1,
1108 >     287,   288,    -1,   288,    -1,   289,    -1,   291,    -1,   290,
1109 >      -1,     1,   239,    -1,   100,   242,   131,   239,    -1,   237,
1110 >     242,   250,   239,    -1,   237,   242,   209,   239,    -1,    -1,
1111 >     164,   292,   242,   293,   239,    -1,   293,   243,   294,    -1,
1112 >     294,    -1,   225,    -1,   115,    -1,    51,    -1,   189,    -1,
1113 >      74,    -1,    72,    -1,   188,    -1,    -1,   115,   296,   241,
1114 >     297,   240,   239,    -1,   297,   298,    -1,   298,    -1,   299,
1115 >      -1,   300,    -1,   301,    -1,   305,    -1,   304,    -1,   302,
1116 >      -1,   303,    -1,   309,    -1,     1,   239,    -1,   100,   242,
1117 >     131,   239,    -1,   225,   242,   131,   239,    -1,   125,   242,
1118 >     131,   239,    -1,    43,   242,   174,   239,    -1,   144,   242,
1119 >     131,   239,    -1,    24,   242,   131,   239,    -1,    -1,   206,
1120 >     306,   242,   307,   239,    -1,   307,   243,   308,    -1,   308,
1121 >      -1,   181,    -1,   184,    -1,   185,    -1,   187,    -1,   188,
1122 >      -1,   192,    -1,    61,    -1,   203,    -1,   198,    -1,   200,
1123 >      -1,   207,    -1,   204,    -1,   191,    -1,   199,    -1,   202,
1124 >      -1,   193,    -1,   213,    -1,   182,    -1,   183,    -1,   196,
1125 >      -1,    -1,    47,   310,   242,   311,   239,    -1,   311,   243,
1126 >     312,    -1,   312,    -1,    57,    -1,   139,    -1,    74,    -1,
1127 >     224,    -1,   189,    -1,   208,    -1,   234,    -1,    51,    -1,
1128 >      32,    -1,   214,    -1,   137,    -1,     5,    -1,   105,    -1,
1129 >     199,    -1,   212,    -1,   119,    -1,   140,    -1,    98,    -1,
1130 >      -1,    24,   314,   241,   315,   240,   239,    -1,   315,   316,
1131 >      -1,   316,    -1,   317,    -1,   327,    -1,   328,    -1,   318,
1132 >      -1,   319,    -1,   329,    -1,   320,    -1,   321,    -1,   322,
1133 >      -1,   323,    -1,   324,    -1,   325,    -1,   326,    -1,     1,
1134 >     239,    -1,   100,   242,   131,   239,    -1,   128,   242,   248,
1135 >     239,    -1,   129,   242,   248,   239,    -1,   113,   242,   110,
1136 >     239,    -1,    26,   242,   248,   239,    -1,    92,   242,   110,
1137 >     239,    -1,    87,   242,   110,   239,    -1,    89,   242,   110,
1138 >     239,    -1,    88,   242,   110,   239,    -1,   156,   242,   250,
1139 >     239,    -1,    22,   242,   110,   239,    -1,    23,   242,   110,
1140 >     239,    -1,   112,   242,   110,   239,    -1,    -1,    82,   331,
1141 >     241,   336,   240,   239,    -1,    -1,    47,   333,   242,   334,
1142 >     239,    -1,   334,   243,   335,    -1,   335,    -1,   205,    -1,
1143 >      61,    -1,   201,    -1,   336,   337,    -1,   337,    -1,   338,
1144 >      -1,   332,    -1,   342,    -1,   343,    -1,     1,   239,    -1,
1145 >      -1,   130,   242,   340,   339,   239,    -1,   340,   243,   341,
1146 >      -1,   341,    -1,   110,    -1,   110,   179,   110,    -1,    71,
1147 >     242,   131,   239,    -1,    66,   242,   131,   239,    -1,    -1,
1148 >      58,   345,   241,   346,   240,   239,    -1,   346,   347,    -1,
1149 >     347,    -1,   348,    -1,   349,    -1,   350,    -1,   352,    -1,
1150 >     356,    -1,   357,    -1,   358,    -1,   351,    -1,     1,   239,
1151 >      -1,   225,   242,   131,   239,    -1,   125,   242,   131,   239,
1152 >      -1,    24,   242,   131,   239,    -1,    43,   242,   174,   239,
1153 >      -1,    -1,    47,   353,   242,   354,   239,    -1,   354,   243,
1154 >     355,    -1,   355,    -1,   168,    -1,    44,    -1,    75,    -1,
1155 >      59,    -1,    20,    -1,   109,    -1,    53,    -1,   150,    -1,
1156 >     101,    -1,   167,   242,   131,   239,    -1,   135,   242,   131,
1157 >     239,    -1,   134,   242,   110,   239,    -1,    -1,   149,   360,
1158 >     241,   361,   240,   239,    -1,   361,   362,    -1,   362,    -1,
1159 >     363,    -1,   364,    -1,   365,    -1,     1,   239,    -1,   133,
1160 >     242,   131,   239,    -1,    21,   242,   131,   239,    -1,   104,
1161 >     242,   131,   239,    -1,   215,   241,   367,   240,   239,    -1,
1162 >     367,   368,    -1,   368,    -1,   369,    -1,     1,    -1,   100,
1163 >     242,   131,   239,    -1,    -1,   162,   371,   241,   372,   240,
1164 >     239,    -1,   372,   373,    -1,   373,    -1,   374,    -1,   375,
1165 >      -1,   376,    -1,     1,   239,    -1,   100,   242,   131,   239,
1166 >      -1,   225,   242,   131,   239,    -1,    -1,   164,   377,   242,
1167 >     378,   239,    -1,   378,   243,   379,    -1,   379,    -1,    74,
1168 >      -1,   224,    -1,   189,    -1,   208,    -1,   234,    -1,   211,
1169 >      -1,   149,    -1,   210,    -1,   196,    -1,   180,    -1,    -1,
1170 >     163,   381,   241,   382,   240,   239,    -1,   382,   383,    -1,
1171 >     383,    -1,   384,    -1,   385,    -1,     1,   239,    -1,   100,
1172 >     242,   131,   239,    -1,    -1,   164,   386,   242,   387,   239,
1173 >      -1,   387,   243,   388,    -1,   388,    -1,    74,    -1,   224,
1174 >      -1,   189,    -1,   208,    -1,   234,    -1,   211,    -1,   149,
1175 >      -1,   210,    -1,   196,    -1,   180,    -1,    -1,    25,   390,
1176 >     241,   391,   240,   239,    -1,   391,   392,    -1,   392,    -1,
1177 >     393,    -1,   394,    -1,   395,    -1,   396,    -1,   397,    -1,
1178 >     399,    -1,   398,    -1,   400,    -1,   405,    -1,   406,    -1,
1179 >     407,    -1,   404,    -1,     1,   239,    -1,   100,   242,   131,
1180 >     239,    -1,    66,   242,   131,   239,    -1,   232,   242,   131,
1181 >     239,    -1,   157,   242,   131,   239,    -1,     3,   242,   131,
1182 >     239,    -1,   130,   242,   110,   239,    -1,     6,   242,   194,
1183 >     239,    -1,     6,   242,   195,   239,    -1,    -1,    47,   401,
1184 >     242,   402,   239,    -1,   402,   243,   403,    -1,   403,    -1,
1185 >      10,    -1,    12,    -1,   219,    -1,   205,    -1,    43,   242,
1186 >     174,   239,    -1,    68,   242,   131,   239,    -1,    80,   242,
1187 >     131,   239,    -1,    24,   242,   131,   239,    -1,    -1,    72,
1188 >     409,   241,   414,   240,   239,    -1,    -1,   164,   411,   242,
1189 >     412,   239,    -1,   412,   243,   413,    -1,   413,    -1,   136,
1190 >      -1,   414,   415,    -1,   415,    -1,   416,    -1,   417,    -1,
1191 >     410,    -1,     1,    -1,   225,   242,   131,   239,    -1,   133,
1192 >     242,   131,   239,    -1,    -1,    30,   419,   241,   420,   240,
1193 >     239,    -1,   420,   421,    -1,   421,    -1,   422,    -1,   423,
1194 >      -1,     1,    -1,    71,   242,   131,   239,    -1,   133,   242,
1195 >     131,   239,    -1,    45,   241,   425,   240,   239,    -1,   425,
1196 >     426,    -1,   426,    -1,   427,    -1,     1,    -1,    71,   242,
1197 >     131,   239,    -1,    -1,    49,   429,   241,   434,   240,   239,
1198 >      -1,    -1,   164,   431,   242,   432,   239,    -1,   432,   243,
1199 >     433,    -1,   433,    -1,   136,    -1,   434,   435,    -1,   435,
1200 >      -1,   436,    -1,   437,    -1,   430,    -1,     1,    -1,   100,
1201 >     242,   131,   239,    -1,   133,   242,   131,   239,    -1,    50,
1202 >     241,   439,   240,   239,    -1,   439,   440,    -1,   440,    -1,
1203 >     448,    -1,   449,    -1,   451,    -1,   452,    -1,   453,    -1,
1204 >     454,    -1,   455,    -1,   456,    -1,   457,    -1,   458,    -1,
1205 >     447,    -1,   460,    -1,   461,    -1,   462,    -1,   463,    -1,
1206 >     478,    -1,   465,    -1,   467,    -1,   469,    -1,   468,    -1,
1207 >     472,    -1,   466,    -1,   473,    -1,   474,    -1,   475,    -1,
1208 >     476,    -1,   477,    -1,   490,    -1,   479,    -1,   480,    -1,
1209 >     481,    -1,   486,    -1,   470,    -1,   471,    -1,   496,    -1,
1210 >     494,    -1,   495,    -1,   450,    -1,   497,    -1,   485,    -1,
1211 >     459,    -1,   483,    -1,   484,    -1,   446,    -1,   442,    -1,
1212 >     443,    -1,   444,    -1,   445,    -1,   464,    -1,   441,    -1,
1213 >     482,    -1,     1,    -1,    94,   242,   110,   239,    -1,    55,
1214 >     242,   110,   239,    -1,    56,   242,   110,   239,    -1,   231,
1215 >     242,   174,   239,    -1,   138,   242,   248,   239,    -1,   161,
1216 >     242,   174,   239,    -1,    73,   242,   248,   239,    -1,    65,
1217 >     242,   174,   239,    -1,    69,   242,   174,   239,    -1,    37,
1218 >     242,   174,   239,    -1,    46,   242,   174,   239,    -1,     8,
1219 >     242,   174,   239,    -1,    91,   242,   248,   239,    -1,    90,
1220 >     242,   110,   239,    -1,    84,   242,   110,   239,    -1,     9,
1221 >     242,   248,   239,    -1,   178,   242,   248,   239,    -1,   177,
1222 >     242,   248,   239,    -1,    60,   242,   110,   239,    -1,    77,
1223 >     242,   174,   239,    -1,    76,   242,   131,   239,    -1,    70,
1224 >     242,   174,   239,    -1,   236,   242,   174,   239,    -1,   169,
1225 >     242,   174,   239,    -1,   172,   242,   174,   239,    -1,   173,
1226 >     242,   174,   239,    -1,   171,   242,   174,   239,    -1,   171,
1227 >     242,   175,   239,    -1,   170,   242,   174,   239,    -1,   170,
1228 >     242,   175,   239,    -1,   123,   242,   248,   239,    -1,    19,
1229 >     242,   248,   239,    -1,   116,   242,   174,   239,    -1,   124,
1230 >     242,   248,   239,    -1,   165,   242,   174,   239,    -1,   108,
1231 >     242,   174,   239,    -1,   220,   242,   174,   239,    -1,   118,
1232 >     242,   174,   239,    -1,    95,   242,   131,   239,    -1,    38,
1233 >     242,   110,   239,    -1,    93,   242,   110,   239,    -1,   226,
1234 >     242,   174,   239,    -1,    40,   242,   131,   239,    -1,   216,
1235 >     242,   131,   239,    -1,   127,   242,   174,   239,    -1,    33,
1236 >     242,   174,   239,    -1,   218,   242,   248,   239,    -1,    -1,
1237 >     120,   487,   242,   488,   239,    -1,   488,   243,   489,    -1,
1238 >     489,    -1,   181,    -1,   184,    -1,   185,    -1,   187,    -1,
1239 >     188,    -1,   192,    -1,    61,    -1,   203,    -1,   198,    -1,
1240 >     200,    -1,   207,    -1,   204,    -1,   191,    -1,   199,    -1,
1241 >     202,    -1,   193,    -1,   213,    -1,   182,    -1,   183,    -1,
1242 >     196,    -1,    -1,   117,   491,   242,   492,   239,    -1,   492,
1243 >     243,   493,    -1,   493,    -1,   181,    -1,   184,    -1,   185,
1244 >      -1,   187,    -1,   188,    -1,   192,    -1,   203,    -1,    61,
1245 >      -1,   198,    -1,   200,    -1,   207,    -1,   204,    -1,   191,
1246 >      -1,   199,    -1,   202,    -1,   193,    -1,   213,    -1,   182,
1247 >      -1,   183,    -1,   196,    -1,    96,   242,   110,   239,    -1,
1248 >      97,   242,   110,   239,    -1,    27,   242,   110,   239,    -1,
1249 >     186,   242,   250,   239,    -1,    -1,    52,   499,   241,   500,
1250 >     240,   239,    -1,   500,   501,    -1,   501,    -1,   502,    -1,
1251 >     503,    -1,   504,    -1,   508,    -1,   509,    -1,   510,    -1,
1252 >       1,    -1,    42,   242,   174,   239,    -1,    39,   242,   248,
1253 >     239,    -1,    -1,    83,   505,   242,   506,   239,    -1,   506,
1254 >     243,   507,    -1,   507,    -1,   176,    -1,    11,    -1,   225,
1255 >     242,   131,   239,    -1,   100,   242,   131,   239,    -1,    -1,
1256 >       4,   511,   242,   512,   239,    -1,   512,   243,   513,    -1,
1257 >     513,    -1,   176,    -1,    11,    -1,    21,   241,   515,   240,
1258 >     239,    -1,   515,   516,    -1,   516,    -1,   519,    -1,   520,
1259 >      -1,   521,    -1,   522,    -1,   527,    -1,   523,    -1,   524,
1260 >      -1,   525,    -1,   526,    -1,   528,    -1,   529,    -1,   530,
1261 >      -1,   518,    -1,   531,    -1,   532,    -1,   533,    -1,   534,
1262 >      -1,   517,    -1,     1,    -1,    34,   242,   174,   239,    -1,
1263 >     141,   242,   174,   239,    -1,    36,   242,   174,   239,    -1,
1264 >     227,   242,   174,   239,    -1,   228,   242,   174,   239,    -1,
1265 >     229,   242,   174,   239,    -1,    78,   242,   248,   239,    -1,
1266 >      79,   242,   248,   239,    -1,    86,   242,   110,   239,    -1,
1267 >     132,   242,   174,   239,    -1,    85,   242,   110,   239,    -1,
1268 >      29,   242,   110,   239,    -1,    28,   242,   110,   239,    -1,
1269 >     106,   242,   174,   239,    -1,   107,   242,   174,   239,    -1,
1270 >      13,   242,   174,   239,    -1,   121,   242,   110,   239,    -1,
1271 >     122,   242,   248,   239,    -1,   158,   241,   536,   240,   239,
1272 >      -1,   536,   537,    -1,   537,    -1,   538,    -1,   539,    -1,
1273 >     541,    -1,   543,    -1,   542,    -1,   540,    -1,   544,    -1,
1274 >       1,    -1,    48,   242,   174,   239,    -1,    64,   242,   174,
1275 >     239,    -1,    62,   242,   131,   239,    -1,    81,   242,   248,
1276 >     239,    -1,    61,   242,   174,   239,    -1,    35,   242,   174,
1277 >     239,    -1,    63,   242,   174,   239,    -1
1278   };
1279  
1280   /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1281   static const yytype_uint16 yyrline[] =
1282   {
1283 <       0,   397,   397,   398,   401,   402,   403,   404,   405,   406,
1284 <     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
1285 <     417,   418,   419,   420,   421,   422,   426,   426,   427,   431,
1286 <     435,   439,   443,   447,   453,   453,   454,   455,   456,   457,
1287 <     464,   467,   467,   468,   468,   468,   470,   478,   487,   489,
1288 <     489,   490,   490,   491,   491,   492,   492,   493,   494,   494,
1289 <     495,   495,   496,   497,   501,   500,   519,   519,   520,   526,
1290 <     534,   568,   628,   642,   657,   666,   680,   689,   717,   747,
1291 <     770,   792,   794,   794,   795,   795,   796,   796,   798,   807,
1292 <     816,   829,   831,   832,   834,   834,   835,   836,   836,   837,
1293 <     837,   838,   838,   839,   839,   840,   841,   843,   847,   851,
1294 <     858,   865,   872,   879,   886,   893,   900,   907,   911,   915,
1295 <     919,   923,   927,   931,   937,   947,   946,  1040,  1040,  1041,
1296 <    1041,  1042,  1042,  1042,  1042,  1043,  1043,  1044,  1044,  1044,
1297 <    1045,  1045,  1045,  1046,  1046,  1046,  1047,  1047,  1047,  1047,
1298 <    1048,  1048,  1049,  1049,  1051,  1063,  1075,  1109,  1121,  1132,
1299 <    1174,  1184,  1183,  1189,  1189,  1190,  1194,  1198,  1202,  1206,
1300 <    1210,  1214,  1218,  1222,  1226,  1230,  1234,  1238,  1242,  1246,
1301 <    1250,  1254,  1258,  1262,  1268,  1279,  1290,  1301,  1312,  1323,
1302 <    1334,  1345,  1356,  1367,  1378,  1389,  1400,  1411,  1423,  1422,
1303 <    1426,  1426,  1427,  1427,  1428,  1428,  1430,  1437,  1444,  1451,
1304 <    1458,  1465,  1472,  1479,  1486,  1493,  1500,  1507,  1514,  1521,
1305 <    1528,  1535,  1549,  1548,  1598,  1598,  1600,  1600,  1601,  1602,
1306 <    1602,  1603,  1604,  1605,  1606,  1607,  1608,  1609,  1610,  1611,
1307 <    1612,  1613,  1615,  1624,  1633,  1639,  1645,  1651,  1657,  1663,
1308 <    1669,  1675,  1681,  1687,  1693,  1699,  1709,  1708,  1725,  1724,
1309 <    1729,  1729,  1730,  1734,  1738,  1746,  1746,  1747,  1747,  1747,
1310 <    1747,  1747,  1749,  1749,  1751,  1751,  1753,  1767,  1787,  1796,
1311 <    1809,  1808,  1877,  1877,  1878,  1878,  1878,  1878,  1879,  1879,
1312 <    1880,  1880,  1880,  1881,  1881,  1882,  1882,  1882,  1883,  1883,
1313 <    1883,  1885,  1922,  1935,  1946,  1955,  1967,  1966,  1970,  1970,
1314 <    1971,  1971,  1972,  1972,  1974,  1982,  1989,  1996,  2003,  2010,
1315 <    2017,  2024,  2031,  2038,  2047,  2058,  2069,  2080,  2091,  2102,
1316 <    2114,  2133,  2143,  2152,  2168,  2167,  2183,  2183,  2184,  2184,
1317 <    2184,  2184,  2186,  2195,  2210,  2224,  2223,  2239,  2239,  2240,
1318 <    2240,  2240,  2240,  2242,  2251,  2274,  2273,  2279,  2279,  2280,
1319 <    2284,  2288,  2292,  2296,  2300,  2304,  2308,  2312,  2316,  2320,
1320 <    2330,  2329,  2346,  2346,  2347,  2347,  2347,  2349,  2356,  2355,
1321 <    2361,  2361,  2362,  2366,  2370,  2374,  2378,  2382,  2386,  2390,
1322 <    2394,  2398,  2402,  2412,  2411,  2557,  2557,  2558,  2558,  2559,
1323 <    2559,  2559,  2560,  2560,  2561,  2561,  2562,  2562,  2562,  2563,
1324 <    2563,  2563,  2564,  2564,  2564,  2565,  2565,  2566,  2566,  2568,
1325 <    2580,  2592,  2601,  2627,  2645,  2663,  2669,  2673,  2681,  2691,
1326 <    2690,  2694,  2694,  2695,  2695,  2696,  2696,  2698,  2709,  2716,
1327 <    2723,  2730,  2740,  2781,  2792,  2803,  2818,  2829,  2840,  2853,
1328 <    2866,  2875,  2911,  2910,  2974,  2973,  2977,  2977,  2978,  2984,
1329 <    2984,  2985,  2985,  2985,  2985,  2987,  3006,  3016,  3015,  3038,
1330 <    3038,  3039,  3039,  3039,  3041,  3047,  3056,  3058,  3058,  3059,
1331 <    3059,  3061,  3080,  3079,  3127,  3126,  3130,  3130,  3131,  3137,
1332 <    3137,  3138,  3138,  3138,  3138,  3140,  3146,  3155,  3158,  3158,
1333 <    3159,  3159,  3160,  3160,  3161,  3161,  3162,  3162,  3163,  3163,
1334 <    3164,  3164,  3165,  3165,  3166,  3166,  3167,  3167,  3168,  3168,
1335 <    3169,  3169,  3170,  3170,  3171,  3171,  3172,  3172,  3173,  3173,
1336 <    3174,  3174,  3175,  3175,  3176,  3176,  3177,  3177,  3178,  3178,
1337 <    3179,  3180,  3180,  3181,  3181,  3182,  3182,  3183,  3183,  3184,
1338 <    3184,  3185,  3185,  3186,  3186,  3187,  3188,  3191,  3196,  3201,
1339 <    3206,  3211,  3216,  3221,  3226,  3231,  3236,  3241,  3246,  3251,
1340 <    3256,  3261,  3266,  3271,  3276,  3281,  3287,  3298,  3303,  3312,
1341 <    3317,  3322,  3327,  3332,  3337,  3340,  3345,  3348,  3353,  3358,
1342 <    3363,  3368,  3373,  3378,  3383,  3388,  3393,  3404,  3409,  3414,
1343 <    3419,  3428,  3460,  3478,  3483,  3492,  3497,  3502,  3508,  3507,
1344 <    3512,  3512,  3513,  3516,  3519,  3522,  3525,  3528,  3531,  3534,
1345 <    3537,  3540,  3543,  3546,  3549,  3552,  3555,  3558,  3561,  3564,
1346 <    3567,  3573,  3572,  3577,  3577,  3578,  3581,  3584,  3587,  3590,
1347 <    3593,  3596,  3599,  3602,  3605,  3608,  3611,  3614,  3617,  3620,
1348 <    3623,  3626,  3629,  3632,  3637,  3642,  3647,  3652,  3657,  3666,
1433 <    3665,  3689,  3689,  3690,  3691,  3692,  3693,  3694,  3695,  3696,
1434 <    3698,  3704,  3711,  3710,  3715,  3715,  3716,  3720,  3726,  3760,
1435 <    3770,  3769,  3819,  3819,  3820,  3824,  3833,  3836,  3836,  3837,
1436 <    3837,  3838,  3838,  3839,  3839,  3840,  3840,  3841,  3841,  3842,
1437 <    3843,  3843,  3844,  3844,  3845,  3845,  3846,  3846,  3848,  3853,
1438 <    3858,  3863,  3868,  3873,  3878,  3883,  3888,  3893,  3898,  3903,
1439 <    3908,  3913,  3918,  3923,  3928,  3933,  3941,  3944,  3944,  3945,
1440 <    3945,  3946,  3947,  3948,  3948,  3949,  3950,  3952,  3958,  3964,
1441 <    3973,  3987,  3993,  3999
1283 >       0,   374,   374,   375,   378,   379,   380,   381,   382,   383,
1284 >     384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
1285 >     394,   395,   396,   397,   398,   399,   400,   404,   404,   405,
1286 >     409,   413,   417,   421,   425,   431,   431,   432,   433,   434,
1287 >     435,   442,   445,   445,   446,   446,   446,   448,   454,   461,
1288 >     463,   463,   464,   464,   465,   465,   466,   466,   467,   468,
1289 >     468,   469,   469,   470,   471,   475,   474,   500,   500,   501,
1290 >     507,   515,   554,   614,   629,   644,   653,   667,   676,   704,
1291 >     734,   757,   766,   768,   768,   769,   769,   770,   770,   772,
1292 >     781,   790,   802,   803,   803,   805,   805,   805,   806,   808,
1293 >     814,   821,   821,   831,   832,   834,   834,   835,   835,   837,
1294 >     842,   845,   851,   850,   856,   856,   857,   861,   865,   869,
1295 >     873,   877,   881,   892,   891,   989,   989,   990,   990,   990,
1296 >     991,   991,   991,   992,   992,   992,   994,  1006,  1043,  1055,
1297 >    1066,  1108,  1118,  1117,  1123,  1123,  1124,  1128,  1132,  1136,
1298 >    1140,  1144,  1148,  1152,  1156,  1160,  1164,  1168,  1172,  1176,
1299 >    1180,  1184,  1188,  1192,  1196,  1200,  1207,  1206,  1212,  1212,
1300 >    1213,  1217,  1221,  1225,  1229,  1233,  1237,  1241,  1245,  1249,
1301 >    1253,  1257,  1261,  1265,  1269,  1273,  1277,  1281,  1292,  1291,
1302 >    1341,  1341,  1342,  1343,  1343,  1344,  1345,  1346,  1347,  1348,
1303 >    1349,  1350,  1351,  1352,  1353,  1354,  1356,  1365,  1371,  1377,
1304 >    1383,  1389,  1395,  1401,  1407,  1413,  1419,  1425,  1431,  1441,
1305 >    1440,  1457,  1456,  1461,  1461,  1462,  1466,  1470,  1478,  1478,
1306 >    1479,  1479,  1479,  1479,  1479,  1481,  1481,  1483,  1483,  1485,
1307 >    1499,  1519,  1528,  1541,  1540,  1609,  1609,  1610,  1610,  1610,
1308 >    1610,  1611,  1611,  1611,  1612,  1612,  1614,  1651,  1664,  1673,
1309 >    1685,  1684,  1688,  1688,  1689,  1693,  1697,  1701,  1705,  1709,
1310 >    1713,  1717,  1721,  1728,  1747,  1757,  1771,  1770,  1786,  1786,
1311 >    1787,  1787,  1787,  1787,  1789,  1798,  1813,  1826,  1828,  1828,
1312 >    1829,  1829,  1831,  1847,  1846,  1862,  1862,  1863,  1863,  1863,
1313 >    1863,  1865,  1874,  1897,  1896,  1902,  1902,  1903,  1907,  1911,
1314 >    1915,  1919,  1923,  1927,  1931,  1935,  1939,  1949,  1948,  1965,
1315 >    1965,  1966,  1966,  1966,  1968,  1975,  1974,  1980,  1980,  1981,
1316 >    1985,  1989,  1993,  1997,  2001,  2005,  2009,  2013,  2017,  2027,
1317 >    2026,  2155,  2155,  2156,  2156,  2156,  2157,  2157,  2158,  2158,
1318 >    2159,  2159,  2159,  2160,  2160,  2161,  2163,  2175,  2184,  2210,
1319 >    2228,  2246,  2252,  2256,  2265,  2264,  2268,  2268,  2269,  2273,
1320 >    2277,  2281,  2287,  2298,  2311,  2324,  2337,  2336,  2400,  2399,
1321 >    2403,  2403,  2404,  2410,  2410,  2411,  2411,  2411,  2411,  2413,
1322 >    2432,  2442,  2441,  2464,  2464,  2465,  2465,  2465,  2467,  2473,
1323 >    2482,  2484,  2484,  2485,  2485,  2487,  2506,  2505,  2553,  2552,
1324 >    2556,  2556,  2557,  2563,  2563,  2564,  2564,  2564,  2564,  2566,
1325 >    2572,  2581,  2584,  2584,  2585,  2585,  2586,  2586,  2587,  2587,
1326 >    2588,  2588,  2589,  2589,  2590,  2590,  2591,  2591,  2592,  2592,
1327 >    2593,  2593,  2594,  2594,  2595,  2595,  2596,  2596,  2597,  2597,
1328 >    2598,  2599,  2599,  2600,  2600,  2601,  2601,  2602,  2602,  2603,
1329 >    2603,  2604,  2605,  2606,  2606,  2607,  2608,  2609,  2609,  2610,
1330 >    2610,  2611,  2611,  2612,  2612,  2613,  2616,  2621,  2626,  2631,
1331 >    2636,  2641,  2646,  2651,  2656,  2661,  2666,  2671,  2676,  2681,
1332 >    2686,  2691,  2696,  2701,  2707,  2718,  2723,  2732,  2737,  2742,
1333 >    2747,  2752,  2757,  2760,  2765,  2768,  2773,  2778,  2783,  2788,
1334 >    2793,  2798,  2803,  2808,  2813,  2824,  2829,  2834,  2839,  2848,
1335 >    2857,  2862,  2867,  2873,  2872,  2877,  2877,  2878,  2881,  2884,
1336 >    2887,  2890,  2893,  2896,  2899,  2902,  2905,  2908,  2911,  2914,
1337 >    2917,  2920,  2923,  2926,  2929,  2932,  2935,  2941,  2940,  2945,
1338 >    2945,  2946,  2949,  2952,  2955,  2958,  2961,  2964,  2967,  2970,
1339 >    2973,  2976,  2979,  2982,  2985,  2988,  2991,  2994,  2997,  3000,
1340 >    3003,  3008,  3013,  3018,  3023,  3033,  3032,  3056,  3056,  3057,
1341 >    3058,  3059,  3060,  3061,  3062,  3063,  3065,  3071,  3078,  3077,
1342 >    3082,  3082,  3083,  3087,  3093,  3127,  3137,  3136,  3186,  3186,
1343 >    3187,  3191,  3200,  3203,  3203,  3204,  3204,  3205,  3205,  3206,
1344 >    3206,  3207,  3207,  3208,  3208,  3209,  3210,  3210,  3211,  3211,
1345 >    3212,  3212,  3213,  3213,  3215,  3220,  3225,  3230,  3235,  3240,
1346 >    3245,  3250,  3255,  3260,  3265,  3270,  3275,  3280,  3285,  3290,
1347 >    3295,  3300,  3308,  3311,  3311,  3312,  3312,  3313,  3314,  3315,
1348 >    3315,  3316,  3317,  3319,  3325,  3331,  3340,  3354,  3360,  3366
1349   };
1350   #endif
1351  
# Line 1450 | Line 1357 | static const char *const yytname[] =
1357    "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ACTION", "ADMIN",
1358    "AFTYPE", "T_ALLOW", "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME",
1359    "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BURST_TOPICWHO", "BYTES", "KBYTES",
1360 <  "MBYTES", "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CAN_IDLE",
1361 <  "CHANNEL", "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CIPHER_PREFERENCE",
1362 <  "CLASS", "COMPRESSED", "COMPRESSION_LEVEL", "CONNECT", "CONNECTFREQ",
1363 <  "CRYPTLINK", "DEFAULT_CIPHER_PREFERENCE", "DEFAULT_FLOODCOUNT",
1364 <  "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1365 <  "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1366 <  "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS", "DISABLE_REMOTE_COMMANDS",
1367 <  "DOT_IN_IP6_ADDR", "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH", "EMAIL",
1368 <  "ENABLE", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE",
1369 <  "FAKENAME", "IRCD_FLAGS", "FLATTEN_LINKS", "FFAILED_OPERLOG", "FKILLLOG",
1370 <  "FKLINELOG", "FGLINELOG", "FIOERRLOG", "FOPERLOG", "FOPERSPYLOG",
1371 <  "FUSERLOG", "GECOS", "GENERAL", "GLINE", "GLINES", "GLINE_EXEMPT",
1465 <  "GLINE_LOG", "GLINE_TIME", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1466 <  "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1467 <  "HIDDEN_ADMIN", "HIDDEN_NAME", "HIDDEN_OPER", "HIDE_SERVER_IPS",
1468 <  "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK", "IDLETIME",
1360 >  "MBYTES", "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1361 >  "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1362 >  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1363 >  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1364 >  "DISABLE_FAKE_CHANNELS", "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS",
1365 >  "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH",
1366 >  "EMAIL", "ENABLE", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1367 >  "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1368 >  "GLINE", "GLINES", "GLINE_EXEMPT", "GLINE_TIME", "GLINE_MIN_CIDR",
1369 >  "GLINE_MIN_CIDR6", "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT",
1370 >  "HAVENT_READ_CONF", "HIDDEN", "HIDDEN_NAME", "HIDE_SERVER_IPS",
1371 >  "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK",
1372    "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "KILL",
1373    "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KLINE_REASON",
1374    "KLINE_WITH_REASON", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1375 <  "LINKS_DELAY", "LISTEN", "T_LOG", "LOGGING", "LOG_LEVEL", "MAX_ACCEPT",
1376 <  "MAX_BANS", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1375 >  "LINKS_DELAY", "LISTEN", "T_LOG", "MAX_ACCEPT", "MAX_BANS",
1376 >  "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1377    "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1378    "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1379    "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1380    "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1381    "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1382 <  "NOT", "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1383 <  "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID", "OPER_LOG",
1382 >  "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1383 >  "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID",
1384    "OPER_ONLY_UMODES", "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES",
1385    "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE",
1386    "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT",
# Line 1487 | Line 1390 | static const char *const yytname[] =
1390    "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "T_SSL_CONNECTION_METHOD",
1391    "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES",
1392    "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD", "SERVERHIDE",
1393 <  "SERVERINFO", "SERVLINK_PATH", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1394 <  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SILENT", "SPOOF",
1395 <  "SPOOF_NOTICE", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1396 <  "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL",
1397 <  "TMASKED", "T_REJECT", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS",
1398 <  "T_ALL", "T_BOTS", "T_SOFTCALLERID", "T_CALLERID", "T_CCONN",
1399 <  "T_CCONN_FULL", "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DRONE",
1393 >  "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES", "T_SHARED",
1394 >  "T_CLUSTER", "TYPE", "SHORT_MOTD", "SILENT", "SPOOF", "SPOOF_NOTICE",
1395 >  "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY",
1396 >  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED", "T_REJECT",
1397 >  "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1398 >  "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1399 >  "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DLINE", "T_DRONE",
1400    "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1401 <  "T_LOGPATH", "T_L_CRIT", "T_L_DEBUG", "T_L_ERROR", "T_L_INFO",
1402 <  "T_L_NOTICE", "T_L_TRACE", "T_L_WARN", "T_MAX_CLIENTS", "T_NCHANGE",
1403 <  "T_OPERWALL", "T_REJ", "T_SERVER", "T_SERVNOTICE", "T_SKILL", "T_SPY",
1404 <  "T_SSL", "T_UMODES", "T_UNAUTH", "T_UNRESV", "T_UNXLINE", "T_WALLOP",
1401 >  "T_MAX_CLIENTS", "T_NCHANGE", "T_OPERWALL", "T_REJ", "T_SERVER",
1402 >  "T_SERVNOTICE", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES", "T_UNAUTH",
1403 >  "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_GLOBOPS",
1404 >  "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME", "T_TIMESTAMP",
1405    "THROTTLE_TIME", "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE",
1406    "TRESV", "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX",
1407    "USE_KNOCK", "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6",
1408 <  "XLINE", "WARN", "WARN_NO_NLINE", "';'", "'}'", "'{'", "'='", "','",
1409 <  "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1410 <  "sizespec", "modules_entry", "modules_items", "modules_item",
1411 <  "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1412 <  "serverinfo_item", "serverinfo_ssl_connection_method", "$@1",
1413 <  "method_types", "method_type_item", "serverinfo_ssl_certificate_file",
1408 >  "XLINE", "WARN", "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'",
1409 >  "'{'", "'='", "','", "$accept", "conf", "conf_item", "timespec_",
1410 >  "timespec", "sizespec_", "sizespec", "modules_entry", "modules_items",
1411 >  "modules_item", "modules_module", "modules_path", "serverinfo_entry",
1412 >  "serverinfo_items", "serverinfo_item",
1413 >  "serverinfo_ssl_connection_method", "$@1", "method_types",
1414 >  "method_type_item", "serverinfo_ssl_certificate_file",
1415    "serverinfo_rsa_private_key_file", "serverinfo_name", "serverinfo_sid",
1416    "serverinfo_description", "serverinfo_network_name",
1417    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1418    "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1419    "admin_item", "admin_name", "admin_email", "admin_description",
1420 <  "logging_entry", "logging_items", "logging_item", "logging_path",
1421 <  "logging_oper_log", "logging_fuserlog", "logging_ffailed_operlog",
1422 <  "logging_foperlog", "logging_foperspylog", "logging_fglinelog",
1423 <  "logging_fklinelog", "logging_ioerrlog", "logging_killlog",
1424 <  "logging_log_level", "logging_use_logging", "oper_entry", "$@2",
1425 <  "oper_name_b", "oper_items", "oper_item", "oper_name", "oper_name_t",
1426 <  "oper_user", "oper_password", "oper_encrypted",
1427 <  "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@3",
1428 <  "oper_umodes_items", "oper_umodes_item", "oper_global_kill",
1429 <  "oper_remote", "oper_remoteban", "oper_kline", "oper_xline",
1430 <  "oper_unkline", "oper_gline", "oper_nick_changes", "oper_die",
1431 <  "oper_rehash", "oper_admin", "oper_hidden_admin", "oper_hidden_oper",
1432 <  "oper_operwall", "oper_flags", "$@4", "oper_flags_items",
1433 <  "oper_flags_item", "$@5", "$@6", "oper_flags_item_atom", "class_entry",
1434 <  "$@7", "class_name_b", "class_items", "class_item", "class_name",
1435 <  "class_name_t", "class_ping_time", "class_ping_warning",
1436 <  "class_number_per_ip", "class_connectfreq", "class_max_number",
1437 <  "class_max_global", "class_max_local", "class_max_ident", "class_sendq",
1534 <  "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1535 <  "class_number_per_cidr", "listen_entry", "$@8", "listen_flags", "$@9",
1536 <  "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1537 <  "listen_port", "$@10", "port_items", "port_item", "listen_address",
1538 <  "listen_host", "auth_entry", "$@11", "auth_items", "auth_item",
1539 <  "auth_user", "auth_passwd", "auth_spoof_notice", "auth_class",
1420 >  "logging_entry", "logging_items", "logging_item", "logging_use_logging",
1421 >  "logging_timestamp", "logging_file_entry", "$@2", "logging_file_items",
1422 >  "logging_file_item", "logging_file_name", "logging_file_size",
1423 >  "logging_file_type", "$@3", "logging_file_type_items",
1424 >  "logging_file_type_item", "oper_entry", "$@4", "oper_items", "oper_item",
1425 >  "oper_name", "oper_user", "oper_password", "oper_encrypted",
1426 >  "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@5",
1427 >  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@6",
1428 >  "oper_flags_items", "oper_flags_item", "class_entry", "$@7",
1429 >  "class_items", "class_item", "class_name", "class_ping_time",
1430 >  "class_ping_warning", "class_number_per_ip", "class_connectfreq",
1431 >  "class_max_number", "class_max_global", "class_max_local",
1432 >  "class_max_ident", "class_sendq", "class_cidr_bitlen_ipv4",
1433 >  "class_cidr_bitlen_ipv6", "class_number_per_cidr", "listen_entry", "$@8",
1434 >  "listen_flags", "$@9", "listen_flags_items", "listen_flags_item",
1435 >  "listen_items", "listen_item", "listen_port", "$@10", "port_items",
1436 >  "port_item", "listen_address", "listen_host", "auth_entry", "$@11",
1437 >  "auth_items", "auth_item", "auth_user", "auth_passwd", "auth_class",
1438    "auth_encrypted", "auth_flags", "$@12", "auth_flags_items",
1439 <  "auth_flags_item", "$@13", "$@14", "auth_flags_item_atom",
1440 <  "auth_kline_exempt", "auth_need_ident", "auth_exceed_limit",
1441 <  "auth_can_flood", "auth_no_tilde", "auth_gline_exempt", "auth_spoof",
1442 <  "auth_redir_serv", "auth_redir_port", "auth_need_password", "resv_entry",
1443 <  "$@15", "resv_items", "resv_item", "resv_creason", "resv_channel",
1444 <  "resv_nick", "shared_entry", "$@16", "shared_items", "shared_item",
1445 <  "shared_name", "shared_user", "shared_type", "$@17", "shared_types",
1446 <  "shared_type_item", "cluster_entry", "$@18", "cluster_items",
1447 <  "cluster_item", "cluster_name", "cluster_type", "$@19", "cluster_types",
1448 <  "cluster_type_item", "connect_entry", "$@20", "connect_name_b",
1449 <  "connect_items", "connect_item", "connect_name", "connect_name_t",
1450 <  "connect_host", "connect_vhost", "connect_send_password",
1451 <  "connect_accept_password", "connect_port", "connect_aftype",
1452 <  "connect_fakename", "connect_flags", "$@21", "connect_flags_items",
1453 <  "connect_flags_item", "$@22", "$@23", "connect_flags_item_atom",
1454 <  "connect_rsa_public_key_file", "connect_encrypted", "connect_cryptlink",
1455 <  "connect_compressed", "connect_auto", "connect_topicburst",
1456 <  "connect_hub_mask", "connect_leaf_mask", "connect_class",
1457 <  "connect_cipher_preference", "kill_entry", "$@24", "kill_type", "$@25",
1458 <  "kill_type_items", "kill_type_item", "kill_items", "kill_item",
1459 <  "kill_user", "kill_reason", "deny_entry", "$@26", "deny_items",
1562 <  "deny_item", "deny_ip", "deny_reason", "exempt_entry", "exempt_items",
1563 <  "exempt_item", "exempt_ip", "gecos_entry", "$@27", "gecos_flags", "$@28",
1564 <  "gecos_flags_items", "gecos_flags_item", "gecos_items", "gecos_item",
1565 <  "gecos_name", "gecos_reason", "general_entry", "general_items",
1566 <  "general_item", "general_max_watch", "general_gline_min_cidr",
1567 <  "general_gline_min_cidr6", "general_burst_away",
1439 >  "auth_flags_item", "auth_spoof", "auth_redir_serv", "auth_redir_port",
1440 >  "resv_entry", "$@13", "resv_items", "resv_item", "resv_creason",
1441 >  "resv_channel", "resv_nick", "service_entry", "service_items",
1442 >  "service_item", "service_name", "shared_entry", "$@14", "shared_items",
1443 >  "shared_item", "shared_name", "shared_user", "shared_type", "$@15",
1444 >  "shared_types", "shared_type_item", "cluster_entry", "$@16",
1445 >  "cluster_items", "cluster_item", "cluster_name", "cluster_type", "$@17",
1446 >  "cluster_types", "cluster_type_item", "connect_entry", "$@18",
1447 >  "connect_items", "connect_item", "connect_name", "connect_host",
1448 >  "connect_vhost", "connect_send_password", "connect_accept_password",
1449 >  "connect_port", "connect_aftype", "connect_flags", "$@19",
1450 >  "connect_flags_items", "connect_flags_item", "connect_encrypted",
1451 >  "connect_hub_mask", "connect_leaf_mask", "connect_class", "kill_entry",
1452 >  "$@20", "kill_type", "$@21", "kill_type_items", "kill_type_item",
1453 >  "kill_items", "kill_item", "kill_user", "kill_reason", "deny_entry",
1454 >  "$@22", "deny_items", "deny_item", "deny_ip", "deny_reason",
1455 >  "exempt_entry", "exempt_items", "exempt_item", "exempt_ip",
1456 >  "gecos_entry", "$@23", "gecos_flags", "$@24", "gecos_flags_items",
1457 >  "gecos_flags_item", "gecos_items", "gecos_item", "gecos_name",
1458 >  "gecos_reason", "general_entry", "general_items", "general_item",
1459 >  "general_max_watch", "general_gline_min_cidr", "general_gline_min_cidr6",
1460    "general_use_whois_actually", "general_reject_hold_time",
1461    "general_tkline_expire_notices", "general_kill_chase_time_limit",
1462    "general_hide_spoof_ips", "general_ignore_bogus_ts",
# Line 1581 | Line 1473 | static const char *const yytname[] =
1473    "general_caller_id_wait", "general_opers_bypass_callerid",
1474    "general_pace_wait_simple", "general_short_motd",
1475    "general_no_oper_flood", "general_true_no_oper_flood",
1476 <  "general_oper_pass_resv", "general_message_locale", "general_idletime",
1477 <  "general_dots_in_ident", "general_max_targets", "general_servlink_path",
1478 <  "general_default_cipher_preference", "general_compression_level",
1587 <  "general_use_egd", "general_egdpool_path", "general_ping_cookie",
1476 >  "general_oper_pass_resv", "general_message_locale",
1477 >  "general_dots_in_ident", "general_max_targets", "general_use_egd",
1478 >  "general_egdpool_path", "general_services_name", "general_ping_cookie",
1479    "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1480 <  "$@29", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1481 <  "$@30", "umode_items", "umode_item", "general_min_nonwildcard",
1480 >  "$@25", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1481 >  "$@26", "umode_items", "umode_item", "general_min_nonwildcard",
1482    "general_min_nonwildcard_simple", "general_default_floodcount",
1483 <  "general_client_flood", "general_dot_in_ip6_addr", "gline_entry", "$@31",
1484 <  "gline_items", "gline_item", "gline_enable", "gline_duration",
1485 <  "gline_logging", "$@32", "gline_logging_types",
1486 <  "gline_logging_type_item", "gline_user", "gline_server", "gline_action",
1487 <  "$@33", "gdeny_types", "gdeny_type_item", "channel_entry",
1488 <  "channel_items", "channel_item", "channel_disable_fake_channels",
1489 <  "channel_restrict_channels", "channel_disable_local_channels",
1490 <  "channel_use_except", "channel_use_invex", "channel_use_knock",
1491 <  "channel_knock_delay", "channel_knock_delay_channel",
1492 <  "channel_max_chans_per_user", "channel_quiet_on_ban", "channel_max_bans",
1483 >  "general_client_flood", "gline_entry", "$@27", "gline_items",
1484 >  "gline_item", "gline_enable", "gline_duration", "gline_logging", "$@28",
1485 >  "gline_logging_types", "gline_logging_type_item", "gline_user",
1486 >  "gline_server", "gline_action", "$@29", "gdeny_types", "gdeny_type_item",
1487 >  "channel_entry", "channel_items", "channel_item",
1488 >  "channel_disable_fake_channels", "channel_restrict_channels",
1489 >  "channel_disable_local_channels", "channel_use_except",
1490 >  "channel_use_invex", "channel_use_knock", "channel_knock_delay",
1491 >  "channel_knock_delay_channel", "channel_max_chans_per_user",
1492 >  "channel_quiet_on_ban", "channel_max_bans",
1493    "channel_default_split_user_count", "channel_default_split_server_count",
1494    "channel_no_create_on_split", "channel_no_join_on_split",
1495    "channel_burst_topicwho", "channel_jflood_count", "channel_jflood_time",
# Line 1637 | Line 1528 | static const yytype_uint16 yytoknum[] =
1528       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1529       465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1530       475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1531 <     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1532 <     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
1642 <     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
1643 <     515,   516,    59,   125,   123,    61,    44
1531 >     485,   486,   487,   488,   489,   490,   491,   492,   493,    59,
1532 >     125,   123,    61,    44
1533   };
1534   # endif
1535  
1536   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1537   static const yytype_uint16 yyr1[] =
1538   {
1539 <       0,   267,   268,   268,   269,   269,   269,   269,   269,   269,
1540 <     269,   269,   269,   269,   269,   269,   269,   269,   269,   269,
1541 <     269,   269,   269,   269,   269,   269,   270,   270,   271,   271,
1542 <     271,   271,   271,   271,   272,   272,   273,   273,   273,   273,
1543 <     274,   275,   275,   276,   276,   276,   277,   278,   279,   280,
1544 <     280,   281,   281,   281,   281,   281,   281,   281,   281,   281,
1545 <     281,   281,   281,   281,   283,   282,   284,   284,   285,   285,
1546 <     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
1547 <     296,   297,   298,   298,   299,   299,   299,   299,   300,   301,
1548 <     302,   303,   304,   304,   305,   305,   305,   305,   305,   305,
1549 <     305,   305,   305,   305,   305,   305,   305,   306,   307,   308,
1550 <     309,   310,   311,   312,   313,   314,   315,   316,   316,   316,
1551 <     316,   316,   316,   316,   317,   319,   318,   320,   320,   321,
1552 <     321,   322,   322,   322,   322,   322,   322,   322,   322,   322,
1553 <     322,   322,   322,   322,   322,   322,   322,   322,   322,   322,
1554 <     322,   322,   322,   322,   323,   324,   325,   326,   327,   328,
1555 <     329,   331,   330,   332,   332,   333,   333,   333,   333,   333,
1556 <     333,   333,   333,   333,   333,   333,   333,   333,   333,   333,
1557 <     333,   333,   333,   333,   334,   335,   336,   337,   338,   339,
1558 <     340,   341,   342,   343,   344,   345,   346,   347,   349,   348,
1559 <     350,   350,   352,   351,   353,   351,   354,   354,   354,   354,
1560 <     354,   354,   354,   354,   354,   354,   354,   354,   354,   354,
1561 <     354,   354,   356,   355,   357,   357,   358,   358,   359,   359,
1562 <     359,   359,   359,   359,   359,   359,   359,   359,   359,   359,
1563 <     359,   359,   360,   361,   362,   363,   364,   365,   366,   367,
1564 <     368,   369,   370,   371,   372,   373,   375,   374,   377,   376,
1565 <     378,   378,   379,   379,   379,   380,   380,   381,   381,   381,
1566 <     381,   381,   383,   382,   384,   384,   385,   385,   386,   387,
1567 <     389,   388,   390,   390,   391,   391,   391,   391,   391,   391,
1568 <     391,   391,   391,   391,   391,   391,   391,   391,   391,   391,
1569 <     391,   392,   393,   394,   395,   396,   398,   397,   399,   399,
1570 <     401,   400,   402,   400,   403,   403,   403,   403,   403,   403,
1571 <     403,   403,   403,   403,   404,   405,   406,   407,   408,   409,
1572 <     410,   411,   412,   413,   415,   414,   416,   416,   417,   417,
1573 <     417,   417,   418,   419,   420,   422,   421,   423,   423,   424,
1574 <     424,   424,   424,   425,   426,   428,   427,   429,   429,   430,
1575 <     430,   430,   430,   430,   430,   430,   430,   430,   430,   430,
1576 <     432,   431,   433,   433,   434,   434,   434,   435,   437,   436,
1577 <     438,   438,   439,   439,   439,   439,   439,   439,   439,   439,
1578 <     439,   439,   439,   441,   440,   442,   442,   443,   443,   444,
1579 <     444,   444,   444,   444,   444,   444,   444,   444,   444,   444,
1580 <     444,   444,   444,   444,   444,   444,   444,   444,   444,   445,
1581 <     446,   447,   448,   449,   450,   451,   452,   452,   453,   455,
1582 <     454,   456,   456,   458,   457,   459,   457,   460,   460,   460,
1583 <     460,   460,   461,   462,   463,   464,   465,   466,   467,   468,
1584 <     469,   470,   472,   471,   474,   473,   475,   475,   476,   477,
1585 <     477,   478,   478,   478,   478,   479,   480,   482,   481,   483,
1586 <     483,   484,   484,   484,   485,   486,   487,   488,   488,   489,
1587 <     489,   490,   492,   491,   494,   493,   495,   495,   496,   497,
1588 <     497,   498,   498,   498,   498,   499,   500,   501,   502,   502,
1589 <     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
1590 <     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
1591 <     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
1592 <     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
1593 <     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
1594 <     503,   503,   503,   503,   503,   503,   503,   504,   505,   506,
1595 <     507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
1596 <     517,   518,   519,   520,   521,   522,   523,   524,   525,   526,
1597 <     527,   528,   529,   530,   531,   531,   532,   532,   533,   534,
1598 <     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
1599 <     545,   546,   547,   548,   549,   550,   551,   552,   554,   553,
1600 <     555,   555,   556,   556,   556,   556,   556,   556,   556,   556,
1601 <     556,   556,   556,   556,   556,   556,   556,   556,   556,   556,
1602 <     556,   558,   557,   559,   559,   560,   560,   560,   560,   560,
1603 <     560,   560,   560,   560,   560,   560,   560,   560,   560,   560,
1604 <     560,   560,   560,   560,   561,   562,   563,   564,   565,   567,
1716 <     566,   568,   568,   569,   569,   569,   569,   569,   569,   569,
1717 <     570,   571,   573,   572,   574,   574,   575,   575,   576,   577,
1718 <     579,   578,   580,   580,   581,   581,   582,   583,   583,   584,
1719 <     584,   584,   584,   584,   584,   584,   584,   584,   584,   584,
1720 <     584,   584,   584,   584,   584,   584,   584,   584,   585,   586,
1721 <     587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
1722 <     597,   598,   599,   600,   601,   602,   603,   604,   604,   605,
1723 <     605,   605,   605,   605,   605,   605,   605,   606,   607,   608,
1724 <     609,   610,   611,   612
1539 >       0,   244,   245,   245,   246,   246,   246,   246,   246,   246,
1540 >     246,   246,   246,   246,   246,   246,   246,   246,   246,   246,
1541 >     246,   246,   246,   246,   246,   246,   246,   247,   247,   248,
1542 >     248,   248,   248,   248,   248,   249,   249,   250,   250,   250,
1543 >     250,   251,   252,   252,   253,   253,   253,   254,   255,   256,
1544 >     257,   257,   258,   258,   258,   258,   258,   258,   258,   258,
1545 >     258,   258,   258,   258,   258,   260,   259,   261,   261,   262,
1546 >     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
1547 >     272,   273,   274,   275,   275,   276,   276,   276,   276,   277,
1548 >     278,   279,   280,   281,   281,   282,   282,   282,   282,   283,
1549 >     284,   286,   285,   287,   287,   288,   288,   288,   288,   289,
1550 >     290,   290,   292,   291,   293,   293,   294,   294,   294,   294,
1551 >     294,   294,   294,   296,   295,   297,   297,   298,   298,   298,
1552 >     298,   298,   298,   298,   298,   298,   299,   300,   301,   302,
1553 >     303,   304,   306,   305,   307,   307,   308,   308,   308,   308,
1554 >     308,   308,   308,   308,   308,   308,   308,   308,   308,   308,
1555 >     308,   308,   308,   308,   308,   308,   310,   309,   311,   311,
1556 >     312,   312,   312,   312,   312,   312,   312,   312,   312,   312,
1557 >     312,   312,   312,   312,   312,   312,   312,   312,   314,   313,
1558 >     315,   315,   316,   316,   316,   316,   316,   316,   316,   316,
1559 >     316,   316,   316,   316,   316,   316,   317,   318,   319,   320,
1560 >     321,   322,   323,   324,   325,   326,   327,   328,   329,   331,
1561 >     330,   333,   332,   334,   334,   335,   335,   335,   336,   336,
1562 >     337,   337,   337,   337,   337,   339,   338,   340,   340,   341,
1563 >     341,   342,   343,   345,   344,   346,   346,   347,   347,   347,
1564 >     347,   347,   347,   347,   347,   347,   348,   349,   350,   351,
1565 >     353,   352,   354,   354,   355,   355,   355,   355,   355,   355,
1566 >     355,   355,   355,   356,   357,   358,   360,   359,   361,   361,
1567 >     362,   362,   362,   362,   363,   364,   365,   366,   367,   367,
1568 >     368,   368,   369,   371,   370,   372,   372,   373,   373,   373,
1569 >     373,   374,   375,   377,   376,   378,   378,   379,   379,   379,
1570 >     379,   379,   379,   379,   379,   379,   379,   381,   380,   382,
1571 >     382,   383,   383,   383,   384,   386,   385,   387,   387,   388,
1572 >     388,   388,   388,   388,   388,   388,   388,   388,   388,   390,
1573 >     389,   391,   391,   392,   392,   392,   392,   392,   392,   392,
1574 >     392,   392,   392,   392,   392,   392,   393,   394,   395,   396,
1575 >     397,   398,   399,   399,   401,   400,   402,   402,   403,   403,
1576 >     403,   403,   404,   405,   406,   407,   409,   408,   411,   410,
1577 >     412,   412,   413,   414,   414,   415,   415,   415,   415,   416,
1578 >     417,   419,   418,   420,   420,   421,   421,   421,   422,   423,
1579 >     424,   425,   425,   426,   426,   427,   429,   428,   431,   430,
1580 >     432,   432,   433,   434,   434,   435,   435,   435,   435,   436,
1581 >     437,   438,   439,   439,   440,   440,   440,   440,   440,   440,
1582 >     440,   440,   440,   440,   440,   440,   440,   440,   440,   440,
1583 >     440,   440,   440,   440,   440,   440,   440,   440,   440,   440,
1584 >     440,   440,   440,   440,   440,   440,   440,   440,   440,   440,
1585 >     440,   440,   440,   440,   440,   440,   440,   440,   440,   440,
1586 >     440,   440,   440,   440,   440,   440,   441,   442,   443,   444,
1587 >     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1588 >     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1589 >     465,   466,   467,   467,   468,   468,   469,   470,   471,   472,
1590 >     473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
1591 >     483,   484,   485,   487,   486,   488,   488,   489,   489,   489,
1592 >     489,   489,   489,   489,   489,   489,   489,   489,   489,   489,
1593 >     489,   489,   489,   489,   489,   489,   489,   491,   490,   492,
1594 >     492,   493,   493,   493,   493,   493,   493,   493,   493,   493,
1595 >     493,   493,   493,   493,   493,   493,   493,   493,   493,   493,
1596 >     493,   494,   495,   496,   497,   499,   498,   500,   500,   501,
1597 >     501,   501,   501,   501,   501,   501,   502,   503,   505,   504,
1598 >     506,   506,   507,   507,   508,   509,   511,   510,   512,   512,
1599 >     513,   513,   514,   515,   515,   516,   516,   516,   516,   516,
1600 >     516,   516,   516,   516,   516,   516,   516,   516,   516,   516,
1601 >     516,   516,   516,   516,   517,   518,   519,   520,   521,   522,
1602 >     523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
1603 >     533,   534,   535,   536,   536,   537,   537,   537,   537,   537,
1604 >     537,   537,   537,   538,   539,   540,   541,   542,   543,   544
1605   };
1606  
1607   /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1729 | Line 1609 | static const yytype_uint8 yyr2[] =
1609   {
1610         0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1611         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1612 <       1,     1,     1,     1,     2,     2,     0,     1,     2,     3,
1613 <       3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1614 <       5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1615 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1616 <       1,     1,     1,     2,     0,     5,     3,     1,     1,     1,
1617 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1618 <       4,     5,     2,     1,     1,     1,     1,     2,     4,     4,
1619 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1620 <       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
1621 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1622 <       4,     4,     4,     4,     4,     0,     7,     0,     1,     2,
1623 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1612 >       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
1613 >       3,     3,     3,     3,     3,     0,     1,     2,     3,     3,
1614 >       3,     5,     2,     1,     1,     1,     2,     4,     4,     5,
1615 >       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1616 >       1,     1,     1,     1,     2,     0,     5,     3,     1,     1,
1617 >       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1618 >       4,     4,     5,     2,     1,     1,     1,     1,     2,     4,
1619 >       4,     4,     5,     2,     1,     1,     1,     1,     2,     4,
1620 >       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
1621 >       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1622 >       1,     1,     1,     0,     6,     2,     1,     1,     1,     1,
1623 >       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
1624 >       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1625         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1626 <       1,     1,     1,     2,     4,     1,     4,     4,     4,     4,
1746 <       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1747 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1748 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1749 <       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
1750 <       3,     1,     0,     3,     0,     2,     1,     1,     1,     1,
1751 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1752 <       1,     1,     0,     7,     0,     1,     2,     1,     1,     1,
1753 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1754 <       1,     2,     4,     1,     4,     4,     4,     4,     4,     4,
1755 <       4,     4,     4,     4,     4,     4,     0,     6,     0,     5,
1756 <       3,     1,     1,     1,     1,     2,     1,     1,     1,     1,
1757 <       1,     2,     0,     5,     3,     1,     1,     3,     4,     4,
1758 <       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1759 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1760 <       2,     4,     4,     4,     4,     4,     0,     5,     3,     1,
1761 <       0,     3,     0,     2,     1,     1,     1,     1,     1,     1,
1762 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1763 <       4,     4,     4,     4,     0,     6,     2,     1,     1,     1,
1764 <       1,     2,     4,     4,     4,     0,     6,     2,     1,     1,
1765 <       1,     1,     2,     4,     4,     0,     5,     3,     1,     1,
1766 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1767 <       0,     6,     2,     1,     1,     1,     2,     4,     0,     5,
1768 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1769 <       1,     1,     1,     0,     7,     0,     1,     2,     1,     1,
1770 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1771 <       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
1772 <       1,     4,     4,     4,     4,     4,     4,     4,     4,     0,
1773 <       5,     3,     1,     0,     3,     0,     2,     1,     1,     1,
1774 <       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
1775 <       4,     4,     0,     6,     0,     5,     3,     1,     1,     2,
1776 <       1,     1,     1,     1,     1,     4,     4,     0,     6,     2,
1777 <       1,     1,     1,     1,     4,     4,     5,     2,     1,     1,
1778 <       1,     4,     0,     6,     0,     5,     3,     1,     1,     2,
1779 <       1,     1,     1,     1,     1,     4,     4,     5,     2,     1,
1626 >       1,     1,     1,     1,     1,     1,     0,     5,     3,     1,
1627         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1628 +       1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
1629 +       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1630 +       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
1631 +       4,     4,     4,     4,     4,     4,     4,     4,     4,     0,
1632 +       6,     0,     5,     3,     1,     1,     1,     1,     2,     1,
1633 +       1,     1,     1,     1,     2,     0,     5,     3,     1,     1,
1634 +       3,     4,     4,     0,     6,     2,     1,     1,     1,     1,
1635 +       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
1636 +       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
1637 +       1,     1,     1,     4,     4,     4,     0,     6,     2,     1,
1638 +       1,     1,     1,     2,     4,     4,     4,     5,     2,     1,
1639 +       1,     1,     4,     0,     6,     2,     1,     1,     1,     1,
1640 +       2,     4,     4,     0,     5,     3,     1,     1,     1,     1,
1641 +       1,     1,     1,     1,     1,     1,     1,     0,     6,     2,
1642 +       1,     1,     1,     2,     4,     0,     5,     3,     1,     1,
1643 +       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1644 +       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1645 +       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
1646 +       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1647 +       1,     1,     4,     4,     4,     4,     0,     6,     0,     5,
1648 +       3,     1,     1,     2,     1,     1,     1,     1,     1,     4,
1649 +       4,     0,     6,     2,     1,     1,     1,     1,     4,     4,
1650 +       5,     2,     1,     1,     1,     4,     0,     6,     0,     5,
1651 +       3,     1,     1,     2,     1,     1,     1,     1,     1,     4,
1652 +       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1653         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1654         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1655         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1656         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1657 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1657 >       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
1658         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1659         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1660         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1661         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1662 <       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
1791 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1662 >       4,     4,     4,     0,     5,     3,     1,     1,     1,     1,
1663         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1664 <       1,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1664 >       1,     1,     1,     1,     1,     1,     1,     0,     5,     3,
1665         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1795       1,     1,     1,     1,     4,     4,     4,     4,     4,     0,
1796       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1797       4,     4,     0,     5,     3,     1,     1,     1,     4,     4,
1798       0,     5,     3,     1,     1,     1,     5,     2,     1,     1,
1666         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1667 <       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1667 >       1,     4,     4,     4,     4,     0,     6,     2,     1,     1,
1668 >       1,     1,     1,     1,     1,     1,     4,     4,     0,     5,
1669 >       3,     1,     1,     1,     4,     4,     0,     5,     3,     1,
1670 >       1,     1,     5,     2,     1,     1,     1,     1,     1,     1,
1671 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1672 >       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1673         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1674 <       4,     4,     4,     4,     4,     4,     5,     2,     1,     1,
1675 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1804 <       4,     4,     4,     4
1674 >       4,     4,     5,     2,     1,     1,     1,     1,     1,     1,
1675 >       1,     1,     1,     4,     4,     4,     4,     4,     4,     4
1676   };
1677  
1678 < /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1679 <   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1678 > /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1679 >   Performed when YYTABLE doesn't specify something else to do.  Zero
1680     means the default is an error.  */
1681   static const yytype_uint16 yydefact[] =
1682   {
1683 <       2,     0,     1,     0,     0,     0,   222,   393,   467,     0,
1684 <     482,     0,   659,   280,   452,   256,     0,     0,   125,   334,
1685 <       0,     0,   345,   370,     3,    23,    11,     4,     5,     6,
1686 <       8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1687 <      22,    20,    21,     7,    12,    24,    25,     0,     0,   224,
1817 <     395,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1818 <       0,   127,     0,     0,     0,     0,     0,     0,     0,     0,
1819 <       0,     0,    83,    84,    86,    85,   707,     0,     0,     0,
1820 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1821 <       0,     0,     0,     0,     0,     0,   688,   706,   701,   689,
1822 <     690,   691,   692,   694,   695,   696,   697,   693,   698,   699,
1823 <     700,   702,   703,   704,   705,   243,     0,   225,   420,     0,
1824 <     396,     0,   480,     0,     0,   478,   479,     0,   556,     0,
1825 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1826 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1827 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1828 <       0,     0,   631,     0,   608,     0,     0,     0,     0,     0,
1829 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1830 <       0,     0,     0,     0,     0,     0,   499,   555,   550,   551,
1831 <     548,   552,   553,   549,   510,   500,   501,   539,   502,   503,
1832 <     504,   505,   506,   507,   508,   509,   544,   511,   512,   513,
1833 <     514,   554,   516,   521,   517,   519,   518,   533,   534,   520,
1834 <     522,   523,   524,   525,   527,   526,   515,   529,   538,   540,
1835 <     541,   530,   531,   546,   547,   543,   532,   528,   536,   537,
1836 <     535,   542,   545,     0,     0,     0,     0,     0,     0,     0,
1837 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1838 <       0,    93,    94,    95,    98,   105,    99,   103,   100,   101,
1839 <     104,   102,    96,    97,     0,     0,     0,     0,    42,    43,
1840 <      44,   155,     0,   128,     0,   736,     0,     0,     0,     0,
1841 <       0,     0,     0,     0,   728,   729,   730,   734,   731,   733,
1842 <     732,   735,     0,     0,     0,     0,     0,     0,     0,     0,
1843 <      64,     0,     0,     0,     0,     0,    50,    62,    61,    58,
1844 <      51,    60,    54,    55,    56,    52,    59,    57,    53,     0,
1845 <       0,    87,     0,     0,     0,     0,    82,     0,     0,     0,
1846 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1847 <       0,     0,     0,     0,     0,     0,   687,     0,     0,   473,
1848 <       0,     0,     0,   470,   471,   472,     0,     0,   477,   494,
1849 <       0,     0,   484,   493,     0,   490,   491,   492,     0,     0,
1683 >       2,     0,     1,     0,     0,     0,   188,   339,   391,     0,
1684 >     406,     0,   575,   243,   376,   219,     0,     0,   123,   276,
1685 >       0,     0,   293,   317,     0,     3,    24,    11,     4,     5,
1686 >       6,     8,     9,    10,    13,    14,    15,    16,    17,    18,
1687 >      19,    20,    23,    21,    22,     7,    12,    25,    26,     0,
1688         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1689         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1690 +       0,     0,     0,     0,     0,    84,    85,    87,    86,   623,
1691         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1692 +       0,     0,     0,     0,     0,     0,     0,     0,     0,   604,
1693 +     622,   617,   605,   606,   607,   608,   610,   611,   612,   613,
1694 +     609,   614,   615,   616,   618,   619,   620,   621,     0,     0,
1695 +       0,   404,     0,     0,   402,   403,     0,   475,     0,     0,
1696         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1697         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1698 <       0,     0,     0,     0,     0,   498,   669,   680,     0,     0,
1856 <     672,     0,     0,     0,   662,   663,   664,   665,   666,   667,
1857 <     668,     0,     0,     0,     0,     0,   306,     0,     0,     0,
1858 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   283,
1859 <     284,   285,   294,   286,   299,   287,   288,   289,   290,   297,
1860 <     291,   292,   293,   295,   296,   298,   464,     0,   454,     0,
1861 <     463,     0,   460,   461,   462,     0,   258,     0,     0,     0,
1862 <     268,     0,   266,   267,   269,   270,   106,     0,     0,     0,
1698 >       0,     0,     0,     0,     0,     0,   547,     0,   523,     0,
1699         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1864      92,    45,     0,     0,     0,    41,     0,     0,     0,     0,
1865       0,     0,   337,   338,   339,   340,     0,     0,     0,     0,
1866       0,     0,     0,     0,   727,    63,     0,     0,     0,     0,
1867       0,     0,     0,     0,     0,     0,     0,     0,     0,    49,
1868       0,     0,   355,     0,     0,   348,   349,   350,   351,     0,
1869       0,   378,     0,   373,   374,   375,     0,     0,     0,    81,
1870       0,     0,     0,     0,     0,    26,     0,     0,     0,     0,
1871       0,     0,     0,     0,     0,     0,     0,     0,     0,   686,
1700         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1701 <       0,     0,     0,     0,     0,   227,   228,   231,   232,   234,
1702 <     235,   236,   237,   238,   239,   240,   229,   230,   233,     0,
1703 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   429,
1701 >     423,   473,   468,   469,   470,   471,   467,   434,   424,   425,
1702 >     461,   426,   427,   428,   429,   430,   431,   432,   433,   464,
1703 >     435,   436,   437,   438,   472,   440,   445,   441,   443,   442,
1704 >     456,   457,   444,   446,   447,   448,   449,   450,   439,   452,
1705 >     453,   454,   474,   465,   466,   463,   455,   451,   459,   460,
1706 >     458,   462,     0,     0,     0,     0,     0,     0,     0,     0,
1707 >      94,    95,    96,    97,     0,     0,     0,     0,     0,    43,
1708 >      44,    45,     0,     0,   652,     0,     0,     0,     0,     0,
1709 >       0,     0,     0,   644,   645,   646,   650,   647,   649,   648,
1710 >     651,     0,     0,     0,     0,     0,     0,     0,     0,    65,
1711 >       0,     0,     0,     0,     0,    51,    63,    62,    59,    52,
1712 >      61,    55,    56,    57,    53,    60,    58,    54,     0,     0,
1713 >     291,     0,     0,   289,   290,    88,     0,     0,     0,     0,
1714 >      83,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1715         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1716 <     398,   399,   400,   401,   402,   403,   405,   404,   406,   407,
1717 <     415,   412,   414,   413,   411,   417,   408,   409,   410,   416,
1718 <       0,     0,     0,   469,     0,   476,     0,     0,     0,     0,
1719 <     489,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1716 >     603,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1717 >       0,     0,     0,     0,     0,     0,   191,   192,   195,   196,
1718 >     198,   199,   200,   201,   202,   203,   204,   193,   194,   197,
1719 >       0,     0,     0,     0,     0,   364,     0,     0,     0,     0,
1720 >       0,     0,     0,     0,   342,   343,   344,   345,   346,   347,
1721 >     349,   348,   350,   354,   351,   352,   353,   397,     0,     0,
1722 >       0,   394,   395,   396,     0,     0,   401,   418,     0,     0,
1723 >     408,   417,     0,   414,   415,   416,     0,     0,     0,     0,
1724         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1725         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1726         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1727         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1728 <       0,     0,     0,    34,     0,     0,     0,     0,     0,     0,
1729 <     497,     0,     0,     0,     0,     0,     0,     0,   661,   300,
1728 >       0,     0,     0,     0,     0,     0,     0,     0,   422,   585,
1729 >     596,     0,     0,   588,     0,     0,     0,   578,   579,   580,
1730 >     581,   582,   583,   584,     0,     0,     0,   260,     0,     0,
1731 >       0,     0,     0,     0,   246,   247,   248,   249,   254,   250,
1732 >     251,   252,   253,   388,     0,   378,     0,   387,     0,   384,
1733 >     385,   386,     0,   221,     0,     0,     0,   231,     0,   229,
1734 >     230,   232,   233,    98,     0,     0,     0,    93,     0,    46,
1735 >       0,     0,     0,    42,     0,     0,     0,   166,     0,     0,
1736 >       0,   142,     0,     0,   126,   127,   128,   129,   132,   133,
1737 >     131,   130,   134,     0,     0,     0,     0,     0,   279,   280,
1738 >     281,   282,     0,     0,     0,     0,     0,     0,     0,     0,
1739 >     643,    64,     0,     0,     0,     0,     0,     0,     0,     0,
1740 >       0,     0,     0,     0,     0,    50,     0,     0,   303,     0,
1741 >       0,   296,   297,   298,   299,     0,     0,   325,     0,   320,
1742 >     321,   322,     0,     0,   288,     0,     0,     0,    82,     0,
1743 >       0,     0,     0,     0,    27,     0,     0,     0,     0,     0,
1744 >       0,     0,     0,     0,     0,     0,     0,     0,   602,   205,
1745         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1746 <       0,     0,     0,     0,     0,     0,     0,   282,     0,     0,
1747 <       0,     0,   459,   271,     0,     0,     0,     0,     0,   265,
1746 >       0,     0,     0,     0,   190,   355,     0,     0,     0,     0,
1747 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   341,
1748 >       0,     0,     0,   393,     0,   400,     0,     0,     0,     0,
1749 >     413,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1750         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1891       0,     0,     0,     0,     0,     0,     0,     0,    91,     0,
1892       0,    40,     0,     0,     0,     0,     0,   198,     0,     0,
1751         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1894       0,   161,     0,     0,     0,     0,   130,   131,   132,   133,
1895     150,   151,   137,   136,   138,   139,   145,   140,   141,   142,
1896     143,   144,   146,   147,   148,   134,   135,   149,   152,   341,
1897       0,     0,     0,     0,   336,     0,     0,     0,     0,     0,
1898       0,     0,   726,     0,     0,     0,     0,     0,     0,     0,
1899       0,     0,     0,     0,     0,    48,   352,     0,     0,     0,
1900       0,   347,   376,     0,     0,     0,   372,    90,    89,    88,
1901     723,   720,   719,   708,   710,    26,    26,    26,    26,    26,
1902      28,    27,   714,   715,   718,   716,   721,   722,   724,   725,
1903     717,   709,   711,   712,   713,   241,     0,     0,     0,     0,
1752         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1753 <     226,   418,     0,     0,     0,     0,     0,     0,     0,     0,
1753 >       0,     0,     0,     0,     0,     0,     0,    35,     0,     0,
1754 >       0,     0,     0,     0,     0,   421,     0,     0,     0,     0,
1755 >       0,     0,     0,   577,   255,     0,     0,     0,     0,     0,
1756 >       0,     0,     0,     0,   245,     0,     0,     0,     0,   383,
1757 >     234,     0,     0,     0,     0,     0,   228,     0,     0,    92,
1758 >       0,     0,     0,    41,   135,     0,     0,     0,     0,     0,
1759 >       0,     0,     0,     0,   125,   283,     0,     0,     0,     0,
1760 >     278,     0,     0,     0,     0,     0,     0,     0,   642,     0,
1761         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1762 <       0,     0,   397,     0,     0,   468,   481,     0,     0,     0,
1763 <     483,   569,   573,   560,   589,   602,   601,   656,   606,   567,
1764 <     658,   598,   604,   568,   558,   559,   576,   565,   597,   566,
1765 <     579,   564,   578,   577,   572,   571,   570,   599,   557,   596,
1766 <     654,   655,   593,   590,   635,   651,   652,   636,   637,   638,
1767 <     639,   646,   640,   649,   653,   642,   647,   643,   648,   641,
1913 <     645,   644,   650,     0,   634,   595,   612,   628,   629,   613,
1914 <     614,   615,   616,   623,   617,   626,   630,   619,   624,   620,
1915 <     625,   618,   622,   621,   627,     0,   611,   588,   591,   605,
1916 <     562,   600,   563,   592,   581,   586,   587,   584,   585,   582,
1917 <     583,   575,   574,    34,    34,    34,    36,    35,   657,   607,
1918 <     594,   603,   561,   580,     0,     0,     0,     0,     0,     0,
1919 <     660,     0,     0,     0,     0,   312,     0,     0,     0,     0,
1920 <       0,     0,     0,     0,     0,     0,     0,   281,     0,     0,
1921 <       0,   453,     0,     0,     0,   276,   272,   275,   257,   110,
1922 <     116,   114,   113,   115,   111,   112,   109,   117,   123,   118,
1923 <     122,   120,   121,   119,   108,   107,   124,    46,    47,   153,
1762 >       0,    49,   300,     0,     0,     0,     0,   295,   323,     0,
1763 >       0,     0,   319,     0,   287,    91,    90,    89,   639,   636,
1764 >     635,   624,   626,    27,    27,    27,    27,    27,    29,    28,
1765 >     630,   631,   634,   632,   637,   638,   640,   641,   633,   625,
1766 >     627,   628,   629,     0,     0,     0,     0,     0,     0,     0,
1767 >       0,     0,     0,     0,     0,     0,   189,     0,     0,     0,
1768         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1769 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1770 <       0,     0,     0,   129,     0,     0,     0,   335,   742,   737,
1771 <     741,   739,   743,   738,   740,    74,    80,    72,    76,    75,
1772 <      71,    70,    68,    69,     0,    67,    73,    79,    77,    78,
1773 <       0,     0,     0,   346,     0,     0,   371,    29,    30,    31,
1774 <      32,    33,     0,     0,     0,     0,     0,     0,     0,     0,
1775 <       0,     0,     0,     0,     0,   223,     0,     0,     0,     0,
1776 <       0,     0,     0,     0,     0,     0,   435,     0,     0,     0,
1777 <       0,     0,     0,     0,     0,     0,   394,   474,   475,   495,
1778 <     496,   488,     0,   487,   632,     0,   609,     0,    37,    38,
1779 <      39,   685,   684,     0,   683,   671,   670,   677,   676,     0,
1780 <     675,   679,   678,   327,   304,   305,   326,   310,     0,   309,
1781 <       0,   329,   325,   324,   333,   328,   302,   332,   331,   330,
1782 <     303,   301,   466,   458,     0,   457,   465,   263,   264,   262,
1783 <       0,   261,   279,   278,     0,     0,     0,     0,     0,     0,
1784 <       0,   204,     0,     0,     0,     0,     0,     0,     0,     0,
1785 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   126,
1786 <     343,   344,   342,    65,     0,   353,   359,   365,   369,   368,
1787 <     367,   364,   360,   363,   366,   361,   362,     0,   358,   354,
1788 <     377,   382,   388,   392,   391,   390,   387,   383,   386,   389,
1789 <     384,   385,     0,   381,   253,   254,   247,   249,   251,   250,
1790 <     248,   242,   255,   246,   244,   245,   252,   424,   426,   427,
1791 <     446,   451,   450,   445,   444,   443,   428,   433,     0,   432,
1792 <       0,   421,   448,   449,   419,   425,   442,   423,   447,   422,
1793 <     485,     0,   633,   610,   681,     0,   673,     0,     0,   307,
1794 <     312,   318,   319,   315,   321,   317,   316,   323,   320,   322,
1795 <     314,   313,   455,     0,   259,     0,   277,   274,   273,   194,
1796 <     160,   192,   158,   202,     0,   201,     0,   190,   184,   195,
1797 <     196,   187,   154,   191,   157,   193,   185,   186,   159,   197,
1798 <     165,   181,   182,   166,   167,   168,   169,   176,   170,   179,
1799 <     183,   172,   177,   173,   178,   171,   175,   174,   180,     0,
1800 <     164,   189,   156,   188,    66,   356,     0,   379,     0,     0,
1801 <     430,   435,   439,   440,   437,   438,   441,   436,   486,   682,
1802 <     674,   311,   308,   456,   260,     0,   199,   204,   214,   212,
1803 <     221,   211,   206,   215,   219,   208,   216,   218,   213,   207,
1804 <     220,   217,   209,   210,   205,   162,     0,   357,   380,   434,
1805 <     431,   203,   200,   163
1769 >     340,     0,     0,   392,   405,     0,     0,     0,   407,   487,
1770 >     491,   507,   573,   521,   485,   515,   518,   486,   477,   478,
1771 >     494,   483,   484,   497,   482,   496,   495,   490,   489,   488,
1772 >     516,   476,   514,   571,   572,   511,   508,   558,   551,   568,
1773 >     569,   552,   553,   554,   555,   563,   556,   566,   570,   559,
1774 >     564,   560,   565,   557,   562,   561,   567,     0,   550,   513,
1775 >     533,   527,   544,   545,   528,   529,   530,   531,   539,   532,
1776 >     542,   546,   535,   540,   536,   541,   534,   538,   537,   543,
1777 >       0,   526,   506,   509,   520,   480,   481,   510,   499,   504,
1778 >     505,   502,   503,   500,   501,   493,   492,    35,    35,    35,
1779 >      37,    36,   574,   519,   522,   512,   517,   479,   498,     0,
1780 >       0,     0,     0,     0,     0,   576,     0,     0,     0,     0,
1781 >       0,     0,     0,     0,   244,     0,     0,     0,   377,     0,
1782 >       0,     0,   239,   235,   238,   220,   100,    99,     0,     0,
1783 >     112,     0,     0,   104,   105,   107,   106,    47,    48,     0,
1784 >       0,     0,     0,     0,     0,     0,     0,   124,     0,     0,
1785 >       0,   277,   658,   653,   657,   655,   659,   654,   656,    75,
1786 >      81,    73,    77,    76,    72,    71,    69,    70,     0,    68,
1787 >      74,    80,    78,    79,     0,     0,     0,   294,     0,     0,
1788 >     318,   292,    30,    31,    32,    33,    34,   216,   217,   210,
1789 >     212,   214,   213,   211,   206,   218,   209,   207,   208,   215,
1790 >     360,   362,   363,   375,   372,   368,   369,   371,   370,     0,
1791 >     367,   357,   373,   374,   356,   361,   359,   358,   398,   399,
1792 >     419,   420,   412,     0,   411,   548,     0,   524,     0,    38,
1793 >      39,    40,   601,   600,     0,   599,   587,   586,   593,   592,
1794 >       0,   591,   595,   594,   258,   259,   268,   265,   270,   267,
1795 >     266,   272,   269,   271,   264,     0,   263,   257,   275,   274,
1796 >     273,   256,   390,   382,     0,   381,   389,   226,   227,   225,
1797 >       0,   224,   242,   241,     0,     0,     0,   108,     0,     0,
1798 >       0,     0,   103,   141,   139,   181,   178,   177,   170,   172,
1799 >     187,   182,   185,   180,   171,   186,   174,   183,   175,   184,
1800 >     179,   173,   176,     0,   169,   136,   138,   140,   152,   146,
1801 >     163,   164,   147,   148,   149,   150,   158,   151,   161,   165,
1802 >     154,   159,   155,   160,   153,   157,   156,   162,     0,   145,
1803 >     137,   285,   286,   284,    66,     0,   301,   307,   313,   316,
1804 >     309,   315,   310,   314,   312,   308,   311,     0,   306,   302,
1805 >     324,   329,   335,   338,   331,   337,   332,   336,   334,   330,
1806 >     333,     0,   328,   365,     0,   409,     0,   549,   525,   597,
1807 >       0,   589,     0,   261,     0,   379,     0,   222,     0,   240,
1808 >     237,   236,     0,     0,     0,     0,   102,   167,     0,   143,
1809 >       0,    67,   304,     0,   326,     0,   366,   410,   598,   590,
1810 >     262,   380,   223,   109,   118,   121,   120,   117,   122,   119,
1811 >     116,     0,   115,   111,   110,   168,   144,   305,   327,   113,
1812 >       0,   114
1813   };
1814  
1815   /* YYDEFGOTO[NTERM-NUM].  */
1816   static const yytype_int16 yydefgoto[] =
1817   {
1818 <      -1,     1,    24,   900,   901,  1056,  1057,    25,   277,   278,
1819 <     279,   280,    26,   315,   316,   317,   553,  1164,  1165,   318,
1820 <     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
1821 <      27,    71,    72,    73,    74,    75,    28,   260,   261,   262,
1822 <     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
1823 <     273,    29,    61,   282,   825,   826,   827,   283,   828,   829,
1824 <     830,   831,   832,   833,  1138,  1439,  1440,   834,   835,   836,
1825 <     837,   838,   839,   840,   841,   842,   843,   844,   845,   846,
1826 <     847,   848,  1124,  1404,  1405,  1465,  1406,  1484,    30,    49,
1827 <     116,   614,   615,   616,   117,   617,   618,   619,   620,   621,
1828 <     622,   623,   624,   625,   626,   627,   628,    31,    58,   500,
1829 <     774,  1270,  1271,   501,   502,   503,  1276,  1096,  1097,   504,
1830 <     505,    32,    56,   468,   469,   470,   471,   472,   473,   474,
1831 <     475,   754,  1248,  1249,  1378,  1250,  1391,   476,   477,   478,
1832 <     479,   480,   481,   482,   483,   484,   485,    33,    62,   531,
1833 <     532,   533,   534,   535,    34,    65,   564,   565,   566,   567,
1834 <     568,   878,  1317,  1318,    35,    66,   572,   573,   574,   575,
1835 <     884,  1332,  1333,    36,    50,   119,   649,   650,   651,   120,
1836 <     652,   653,   654,   655,   656,   657,   658,   659,   941,  1358,
1837 <    1359,  1449,  1360,  1457,   660,   661,   662,   663,   664,   665,
1838 <     666,   667,   668,   669,    37,    57,   490,   769,  1264,  1265,
1839 <     491,   492,   493,   494,    38,    51,   362,   363,   364,   365,
1840 <      39,   124,   125,   126,    40,    53,   373,   678,  1222,  1223,
1841 <     374,   375,   376,   377,    41,   185,   186,   187,   188,   189,
1842 <     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1843 <     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1844 <     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1845 <     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1846 <     230,   231,   232,   233,   234,   235,   236,   413,  1035,  1036,
1847 <     237,   411,  1013,  1014,   238,   239,   240,   241,   242,    42,
1848 <      55,   443,   444,   445,   446,   447,   744,  1239,  1240,   448,
1998 <     449,   450,   741,  1233,  1234,    43,    95,    96,    97,    98,
1999 <      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
2000 <     109,   110,   111,   112,   113,   114,    44,   293,   294,   295,
2001 <     296,   297,   298,   299,   300,   301
1818 >      -1,     1,    25,   818,   819,   960,   961,    26,   248,   249,
1819 >     250,   251,    27,   284,   285,   286,   569,  1038,  1039,   287,
1820 >     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
1821 >      28,    74,    75,    76,    77,    78,    29,   239,   240,   241,
1822 >     242,   243,   244,  1002,  1003,  1004,  1005,  1006,  1149,  1281,
1823 >    1282,    30,    63,   533,   534,   535,   536,   537,   538,   539,
1824 >     540,   541,   761,  1198,  1199,   542,   757,  1173,  1174,    31,
1825 >      51,   345,   346,   347,   348,   349,   350,   351,   352,   353,
1826 >     354,   355,   356,   357,   358,   359,    32,    60,   507,   741,
1827 >    1140,  1141,   508,   509,   510,  1146,   993,   994,   511,   512,
1828 >      33,    58,   483,   484,   485,   486,   487,   488,   489,   727,
1829 >    1125,  1126,   490,   491,   492,    34,    64,   547,   548,   549,
1830 >     550,   551,    35,   302,   303,   304,    36,    67,   580,   581,
1831 >     582,   583,   584,   794,  1217,  1218,    37,    68,   588,   589,
1832 >     590,   591,   800,  1231,  1232,    38,    52,   373,   374,   375,
1833 >     376,   377,   378,   379,   380,   381,   382,   640,  1079,  1080,
1834 >     383,   384,   385,   386,    39,    59,   497,   736,  1134,  1135,
1835 >     498,   499,   500,   501,    40,    53,   390,   391,   392,   393,
1836 >      41,   123,   124,   125,    42,    55,   401,   658,  1093,  1094,
1837 >     402,   403,   404,   405,    43,   179,   180,   181,   182,   183,
1838 >     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1839 >     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1840 >     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1841 >     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1842 >     224,   225,   226,   436,   940,   941,   227,   434,   917,   918,
1843 >     228,   229,   230,   231,    44,    57,   466,   467,   468,   469,
1844 >     470,   719,  1110,  1111,   471,   472,   473,   716,  1104,  1105,
1845 >      45,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1846 >     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
1847 >     117,    46,   262,   263,   264,   265,   266,   267,   268,   269,
1848 >     270
1849   };
1850  
1851   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1852     STATE-NUM.  */
1853 < #define YYPACT_NINF -952
1853 > #define YYPACT_NINF -772
1854   static const yytype_int16 yypact[] =
1855   {
1856 <    -952,   888,  -952,  -233,  -260,  -258,  -952,  -952,  -952,  -255,
1857 <    -952,  -253,  -952,  -952,  -952,  -952,  -250,  -237,  -952,  -952,
1858 <    -228,  -226,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1859 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1860 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,   302,   766,  -136,
1861 <    -112,  -199,    17,  -193,   475,  -190,  -187,  -173,  -167,   702,
1862 <       2,   -46,  -149,   361,   520,  -140,  -134,  -130,  -121,  -102,
1863 <     -84,     4,  -952,  -952,  -952,  -952,  -952,   -82,   -77,   -62,
1864 <     -57,   -51,   -33,   -30,   -25,   -16,    -5,    -4,    20,    24,
1865 <      37,    40,    46,    49,    59,   286,  -952,  -952,  -952,  -952,
1866 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1867 <    -952,  -952,  -952,  -952,  -952,  -952,    36,  -952,  -952,    63,
1868 <    -952,    19,  -952,    70,     7,  -952,  -952,   159,  -952,    71,
1869 <      76,    79,    84,    91,    98,   104,   105,   107,   108,   109,
1870 <     112,   113,   114,   116,   117,   118,   121,   125,   126,   130,
1871 <     132,   136,   140,   142,   144,   146,   148,   153,   155,   157,
1872 <     161,   164,  -952,   165,  -952,   169,   170,   171,   172,   173,
1873 <     181,   184,   185,   194,   196,   198,   199,   200,   201,   204,
1874 <     206,   209,   210,   212,   213,    23,  -952,  -952,  -952,  -952,
1875 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1876 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1877 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1878 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1879 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1880 <    -952,  -952,  -952,   552,   784,    93,    88,   217,   215,   216,
1881 <     220,   224,   225,   226,   227,   231,   232,   234,   235,   239,
1882 <     133,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1883 <    -952,  -952,  -952,  -952,   243,   241,   245,    27,  -952,  -952,
1884 <    -952,  -952,   247,  -952,    25,  -952,   248,   250,   252,   259,
1885 <     260,   261,   266,    45,  -952,  -952,  -952,  -952,  -952,  -952,
1886 <    -952,  -952,   271,   269,   270,   272,   276,   278,   279,   280,
1887 <    -952,   281,   285,   289,   290,   303,  -952,  -952,  -952,  -952,
1888 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,    56,
1889 <      62,  -952,   357,   381,   396,   296,  -952,   363,   434,   436,
1890 <     374,   375,   444,   444,   449,   450,   387,   390,   462,   444,
1891 <     397,   400,   403,   404,   405,   318,  -952,   634,   703,  -952,
1892 <     342,   343,    15,  -952,  -952,  -952,   454,   348,  -952,  -952,
1893 <     346,   353,  -952,  -952,   158,  -952,  -952,  -952,   414,   444,
1894 <     421,   444,   494,   476,   497,   433,   435,   437,   500,   483,
1895 <     440,   510,   513,   514,   451,   444,   452,   453,   516,   499,
1896 <     461,   529,   530,   444,   533,   542,   512,   543,   546,   481,
1897 <     482,   417,   484,   419,   444,   444,   486,   444,   536,   489,
1898 <     493,   495,  -150,  -141,   496,   498,   444,   444,   560,   444,
1899 <     501,   503,   509,   511,   455,  -952,  -952,  -952,   446,   456,
1900 <    -952,   457,   459,    44,  -952,  -952,  -952,  -952,  -952,  -952,
1901 <    -952,   463,   467,   468,   485,   487,  -952,   490,   506,   507,
1902 <     508,   519,   524,   526,   527,   531,   532,   544,   160,  -952,
1903 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1904 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,   548,  -952,   550,
1905 <    -952,    12,  -952,  -952,  -952,   465,  -952,   551,   553,   554,
1906 <    -952,    14,  -952,  -952,  -952,  -952,  -952,   557,   559,   561,
1907 <     564,   585,   586,   591,   592,   230,   596,   613,   577,   537,
1908 <    -952,  -952,   640,   643,   549,  -952,   574,   555,   556,   562,
1909 <     563,    32,  -952,  -952,  -952,  -952,   623,   630,   631,   665,
1910 <     632,   633,   444,   575,  -952,  -952,   681,   639,   685,   688,
1911 <     689,   690,   691,   582,   693,   565,   694,   695,   589,  -952,
1912 <     590,   593,  -952,   594,     9,  -952,  -952,  -952,  -952,   601,
1913 <     607,  -952,    33,  -952,  -952,  -952,   604,   614,   615,  -952,
1914 <     616,   619,   620,   624,   625,   189,   628,   629,   635,   636,
1915 <     637,   638,   641,   642,   644,   646,   647,   651,   654,  -952,
1916 <     656,   610,   618,   627,   655,   660,   661,   662,   663,   664,
1917 <     667,   669,   670,   671,   223,  -952,  -952,  -952,  -952,  -952,
1918 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,   657,
1919 <     672,   673,   674,   676,   679,   680,   683,   684,   686,  -952,
1920 <     687,   696,   697,   699,   700,   701,   704,   705,   706,   238,
1921 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1922 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1923 <     730,   741,   659,  -952,   668,  -952,   746,   747,   707,   711,
1924 <    -952,   712,   713,   716,   717,   719,   720,   721,   722,   723,
1925 <     724,   725,   726,   727,   729,   731,   732,   733,   734,   735,
1926 <     736,   737,   738,   739,   740,   742,   743,   744,   745,   748,
1927 <     749,   750,   751,   752,   815,   753,   871,   754,   755,   767,
1928 <     771,   774,   775,   776,   777,   778,   779,   780,   781,   782,
1929 <     786,   790,   791,   315,   793,   794,   796,   797,   798,   800,
1930 <    -952,   799,   444,   756,   801,   795,   803,   805,  -952,  -952,
1931 <     760,   812,   769,   804,   807,   809,   864,   866,   869,   870,
1932 <     918,   566,   919,   927,   886,   934,   828,  -952,   937,   829,
1933 <     938,   833,  -952,  -952,   831,   942,   943,   772,   837,  -952,
1934 <     838,   842,   846,   847,   849,   850,   857,   860,   865,   867,
1935 <     868,   872,   873,   874,   875,   879,   883,   884,  -952,   887,
1936 <     889,  -952,   890,   861,   891,   892,   893,  -952,   894,   895,
1937 <     896,   897,   898,   899,   900,   901,   902,   903,   904,   905,
1938 <     906,  -952,   907,   909,   910,   149,  -952,  -952,  -952,  -952,
1939 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1940 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1941 <     976,   977,   978,   911,  -952,   914,   915,   916,   917,   920,
1942 <     921,   922,  -952,   923,   924,   925,   926,   928,   929,   930,
1943 <     -15,   931,   932,   933,   935,  -952,  -952,   993,   936,   998,
1944 <     940,  -952,  -952,   999,   939,   941,  -952,  -952,  -952,  -952,
1945 <    -952,  -952,  -952,  -952,  -952,   444,   444,   444,   444,   444,
1946 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1947 <    -952,  -952,  -952,  -952,  -952,  -952,   813,  1022,   444,  1047,
1948 <    1048,  1056,  1063,  1043,  1066,  1067,   444,   444,   560,   944,
1949 <    -952,  -952,  1050,   -13,  1008,  1053,  1054,  1011,  1012,  1013,
1950 <    1058,   949,  1060,  1061,  1062,  1064,  1085,  1065,  1068,  1023,
1951 <    1069,   959,  -952,   963,   964,  -952,  -952,   965,   966,  1070,
1952 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1953 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1954 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1955 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1956 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1957 <    -952,  -952,  -952,  -245,  -952,  -952,  -952,  -952,  -952,  -952,
1958 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1959 <    -952,  -952,  -952,  -952,  -952,  -202,  -952,  -952,  -952,  -952,
1960 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1961 <    -952,  -952,  -952,   560,   560,   560,  -952,  -952,  -952,  -952,
1962 <    -952,  -952,  -952,  -952,     1,   967,   969,    11,   970,   971,
1963 <    -952,   972,   973,   974,   975,  1106,   979,   980,   981,   982,
1964 <     983,   984,   985,   986,   987,   988,   989,  -952,   990,  1079,
1965 <     991,  -952,     0,   992,   994,   650,   995,  -952,  -952,  -952,
1966 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1967 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1968 <    1041,  1100,  1059,  1071,   997,  1072,  1073,  1074,  1075,  1076,
1969 <    1102,  1077,  1104,  1078,  1080,  1081,  1105,  1082,  1000,  1083,
1970 <    1108,  1084,  1002,  -952,  1004,  1005,  1006,  -952,  -952,  -952,
1971 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1972 <    -952,  -952,  -952,  -952,  -174,  -952,  -952,  -952,  -952,  -952,
1973 <    1007,   534,  1016,  -952,  1024,   621,  -952,  -952,  -952,  -952,
1974 <    -952,  -952,  1025,  1026,  1027,  1028,  1029,  1030,  1031,  1032,
1975 <    1033,  1034,  1035,  1036,  1037,  -952,  1038,  1039,  1040,  1042,
1976 <    1044,  1045,  1046,  1049,  1051,  1052,  1152,  1055,  1057,  1086,
1977 <    1087,  1088,  1089,  1090,  1091,  1092,  -952,  -952,  -952,  -952,
1978 <    -952,  -952,  -148,  -952,  -952,   815,  -952,   871,  -952,  -952,
1979 <    -952,  -952,  -952,  -145,  -952,  -952,  -952,  -952,  -952,  -129,
1980 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -117,  -952,
1981 <     447,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1982 <    -952,  -952,  -952,  -952,   -35,  -952,  -952,  -952,  -952,  -952,
1983 <     -10,  -952,  -952,  -952,  1170,   772,  1093,  1094,  1095,  1096,
1984 <    1097,  1153,  1098,  1099,  1101,  1103,  1107,  1109,  1110,  1111,
1985 <    1112,  1113,  1114,  1115,  1116,   908,  1117,  1118,  1119,  -952,
2139 <    -952,  -952,  -952,  -952,   -15,  -952,  -952,  -952,  -952,  -952,
2140 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,    -8,  -952,  -952,
2141 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2142 <    -952,  -952,    35,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2143 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2144 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,    80,  -952,
2145 <      13,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2146 <    -952,  1070,  -952,  -952,  -952,     1,  -952,    11,   447,  -952,
2147 <    1106,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2148 <    -952,  -952,  -952,  1079,  -952,     0,  -952,  -952,  -952,  -952,
2149 <    -952,  -952,  -952,  -952,    89,  -952,   366,  -952,  -952,  -952,
2150 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2151 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2152 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,    95,
2153 <    -952,  -952,  -952,  -952,  -952,  -952,   534,  -952,   621,    13,
2154 <    -952,  1152,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2155 <    -952,  -952,  -952,  -952,  -952,   366,  -952,  1153,  -952,  -952,
2156 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2157 <    -952,  -952,  -952,  -952,  -952,  -952,   908,  -952,  -952,  -952,
2158 <    -952,  -952,  -952,  -952
1856 >    -772,   643,  -772,  -190,  -234,  -231,  -772,  -772,  -772,  -225,
1857 >    -772,  -215,  -772,  -772,  -772,  -772,  -207,  -205,  -772,  -772,
1858 >    -202,  -194,  -772,  -772,  -174,  -772,  -772,  -772,  -772,  -772,
1859 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1860 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,   258,
1861 >     533,  -171,  -168,  -155,    14,  -146,   367,  -143,  -141,  -134,
1862 >    -131,     3,    41,  -128,  -112,   746,   326,  -109,   -98,    20,
1863 >    -115,   -90,   -87,   -81,     4,  -772,  -772,  -772,  -772,  -772,
1864 >     -71,   -68,   -48,   -45,   -31,   -24,   -15,    21,    23,    54,
1865 >      63,    72,    77,    78,    79,    80,    87,    88,   274,  -772,
1866 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1867 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,   683,   449,
1868 >      47,  -772,    90,    32,  -772,  -772,   192,  -772,    98,   130,
1869 >     137,   147,   148,   156,   167,   168,   169,   172,   175,   176,
1870 >     177,   178,   179,   183,   188,   196,   197,   199,   200,   203,
1871 >     207,   211,   212,   214,   217,   225,  -772,   226,  -772,   228,
1872 >     232,   239,   240,   246,   247,   251,   255,   256,   262,   264,
1873 >     265,   267,   268,   269,   270,   271,   276,   277,   278,   108,
1874 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1875 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1876 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1877 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1878 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1879 >    -772,  -772,   562,   299,    58,   317,    35,   279,   284,    71,
1880 >    -772,  -772,  -772,  -772,   116,   209,   285,   288,    53,  -772,
1881 >    -772,  -772,   507,   283,  -772,   291,   293,   300,   301,   306,
1882 >     309,   310,    18,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1883 >    -772,   261,   313,   314,   315,   318,   323,   328,   329,  -772,
1884 >     330,   331,   333,   334,   152,  -772,  -772,  -772,  -772,  -772,
1885 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,    12,    70,
1886 >    -772,   335,    28,  -772,  -772,  -772,   119,   260,   394,   339,
1887 >    -772,   406,   458,   471,   408,   410,   476,   476,   479,   480,
1888 >     418,   420,   486,   476,   423,   426,   428,   434,   436,   360,
1889 >    -772,   376,   374,   375,   378,   381,   382,   383,   384,   386,
1890 >     392,   395,   399,   400,   404,     2,  -772,  -772,  -772,  -772,
1891 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1892 >     417,   405,   415,   416,   419,  -772,   421,   427,   429,   430,
1893 >     433,   435,   438,     8,  -772,  -772,  -772,  -772,  -772,  -772,
1894 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,   440,   441,
1895 >      16,  -772,  -772,  -772,   529,   431,  -772,  -772,   443,   444,
1896 >    -772,  -772,    26,  -772,  -772,  -772,   504,   476,   476,   577,
1897 >     516,   517,   586,   566,   525,   593,   597,   598,   536,   537,
1898 >     538,   476,   585,   543,   608,   609,   476,   610,   611,   591,
1899 >     613,   617,   554,   556,   489,   564,   499,   476,   476,   572,
1900 >     476,   579,   583,   589,  -117,   -91,   590,   592,   476,   476,
1901 >     657,   637,   476,   595,   600,   602,   603,   539,  -772,  -772,
1902 >    -772,   542,   544,  -772,   547,   548,    36,  -772,  -772,  -772,
1903 >    -772,  -772,  -772,  -772,   540,   549,   551,  -772,   555,   557,
1904 >     558,   561,   571,    22,  -772,  -772,  -772,  -772,  -772,  -772,
1905 >    -772,  -772,  -772,  -772,   580,  -772,   581,  -772,    11,  -772,
1906 >    -772,  -772,   541,  -772,   599,   601,   605,  -772,    30,  -772,
1907 >    -772,  -772,  -772,  -772,   624,   645,   546,  -772,   587,  -772,
1908 >     703,   711,   606,  -772,   615,   620,   621,  -772,   623,   627,
1909 >     631,  -772,   632,   206,  -772,  -772,  -772,  -772,  -772,  -772,
1910 >    -772,  -772,  -772,   618,   634,   635,   636,    17,  -772,  -772,
1911 >    -772,  -772,   670,   674,   706,   751,   709,   710,   476,   646,
1912 >    -772,  -772,   755,   713,   757,   758,   759,   760,   761,   651,
1913 >     763,   785,   765,   767,   660,  -772,   661,   659,  -772,   662,
1914 >      42,  -772,  -772,  -772,  -772,   663,   664,  -772,     5,  -772,
1915 >    -772,  -772,   772,   666,  -772,   669,   671,   672,  -772,   673,
1916 >     675,   676,   677,   678,   325,   679,   680,   681,   682,   684,
1917 >     685,   686,   687,   688,   689,   690,   691,   692,  -772,  -772,
1918 >     797,   799,   476,   803,   812,   822,   823,   804,   824,   826,
1919 >     476,   476,   657,   698,  -772,  -772,   807,    44,   808,   766,
1920 >     699,   811,   813,   814,   815,   833,   816,   817,   712,  -772,
1921 >     818,   819,   714,  -772,   715,  -772,   821,   825,   716,   718,
1922 >    -772,   720,   721,   722,   723,   724,   725,   726,   727,   728,
1923 >     730,   731,   732,   733,   734,   735,   736,   737,   738,   739,
1924 >     740,   741,   742,   743,   744,   745,   747,   748,   749,   552,
1925 >     750,   633,   752,   753,   754,   756,   762,   764,   768,   769,
1926 >     770,   771,   773,   774,   775,   776,   777,   355,   778,   779,
1927 >     780,   781,   782,   783,   784,  -772,   786,   476,   794,   787,
1928 >     854,   859,   788,  -772,  -772,   863,   828,   789,   865,   845,
1929 >     866,   867,   868,   791,  -772,   869,   790,   873,   795,  -772,
1930 >    -772,   793,   874,   875,   901,   798,  -772,   800,   801,  -772,
1931 >     171,   802,   805,  -772,  -772,   893,   851,   796,   895,   902,
1932 >     905,   806,   911,   810,  -772,  -772,   912,   914,   915,   820,
1933 >    -772,   827,   829,   830,   831,   832,   834,   835,  -772,   836,
1934 >     837,   838,   839,   840,   841,   842,   143,   843,   844,   846,
1935 >     847,  -772,  -772,   916,   809,   919,   848,  -772,  -772,   921,
1936 >     849,   850,  -772,   853,  -772,  -772,  -772,  -772,  -772,  -772,
1937 >    -772,  -772,  -772,   476,   476,   476,   476,   476,  -772,  -772,
1938 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1939 >    -772,  -772,  -772,   855,   856,   857,   858,   860,   861,   862,
1940 >     864,   870,   871,   872,   876,   877,  -772,   878,   879,   880,
1941 >     881,   882,    10,   883,   884,   885,   886,   887,   888,   889,
1942 >    -772,   890,   891,  -772,  -772,   892,   894,   917,  -772,  -772,
1943 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1944 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1945 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1946 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1947 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -187,  -772,  -772,
1948 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1949 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1950 >     -77,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1951 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,   657,   657,   657,
1952 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,    19,
1953 >     896,   897,    33,   898,   899,  -772,   900,   903,   729,   904,
1954 >     906,   907,   908,   909,  -772,   910,   918,   913,  -772,     7,
1955 >     920,   922,   923,   924,  -772,  -772,  -772,  -772,   925,   926,
1956 >    -772,   927,    96,  -772,  -772,  -772,  -772,  -772,  -772,   931,
1957 >     932,   490,   933,   934,   935,   668,   936,  -772,   937,   938,
1958 >     939,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1959 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,   -29,  -772,
1960 >    -772,  -772,  -772,  -772,   940,   425,   941,  -772,   942,   442,
1961 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1962 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1963 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,   -26,
1964 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1965 >    -772,  -772,  -772,    74,  -772,  -772,   552,  -772,   633,  -772,
1966 >    -772,  -772,  -772,  -772,   102,  -772,  -772,  -772,  -772,  -772,
1967 >     104,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1968 >    -772,  -772,  -772,  -772,  -772,   112,  -772,  -772,  -772,  -772,
1969 >    -772,  -772,  -772,  -772,   122,  -772,  -772,  -772,  -772,  -772,
1970 >     123,  -772,  -772,  -772,   945,   901,   943,  -772,   929,   944,
1971 >     -69,   946,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1972 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1973 >    -772,  -772,  -772,   124,  -772,  -772,  -772,  -772,  -772,  -772,
1974 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1975 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,   134,  -772,
1976 >    -772,  -772,  -772,  -772,  -772,   143,  -772,  -772,  -772,  -772,
1977 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,   139,  -772,  -772,
1978 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1979 >    -772,   158,  -772,  -772,    10,  -772,   917,  -772,  -772,  -772,
1980 >      19,  -772,    33,  -772,   729,  -772,   918,  -772,     7,  -772,
1981 >    -772,  -772,   948,   149,   949,   950,  -772,  -772,   490,  -772,
1982 >     668,  -772,  -772,   425,  -772,   442,  -772,  -772,  -772,  -772,
1983 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1984 >    -772,   160,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1985 >     149,  -772
1986   };
1987  
1988   /* YYPGOTO[NTERM-NUM].  */
1989   static const yytype_int16 yypgoto[] =
1990   {
1991 <    -952,  -952,  -952,  -816,  -342,  -951,  -426,  -952,  -952,   578,
1992 <    -952,  -952,  -952,  -952,   541,  -952,  -952,  -952,     5,  -952,
1993 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1994 <    -952,  -952,  1234,  -952,  -952,  -952,  -952,  -952,  1122,  -952,
1995 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1996 <    -952,  -952,  -952,  -952,  -952,   491,  -952,  -952,  -952,  -952,
1997 <    -952,  -952,  -952,  -952,  -952,  -952,  -176,  -952,  -952,  -952,
1998 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1999 <    -952,  -952,  -952,  -952,  -155,  -952,  -952,  -147,  -952,  -952,
2000 <    -952,  -952,   708,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2001 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2002 <    -952,  -952,   -80,  -952,   819,  -952,  -952,  -952,    48,  -952,
2003 <    -952,  -952,  -952,  -952,   853,  -952,  -952,  -952,  -952,  -952,
2004 <    -952,  -952,  -952,   -56,  -952,  -952,   -53,  -952,  -952,  -952,
2005 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2006 <     802,  -952,  -952,  -952,  -952,  -952,  -952,   762,  -952,  -952,
2007 <    -952,  -952,  -952,  -119,  -952,  -952,  -952,   757,  -952,  -952,
2008 <    -952,  -952,  -120,  -952,  -952,  -952,  -952,   682,  -952,  -952,
2009 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2010 <    -116,  -952,  -952,  -115,  -952,  -952,  -952,  -952,  -952,  -952,
2011 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,   -63,
2012 <    -952,   841,  -952,  -952,  -952,  -952,  -952,  1021,  -952,  -952,
2013 <    -952,  -952,  1212,  -952,  -952,  -952,  -952,  -952,  -952,   -34,
2014 <    -952,   968,  -952,  -952,  -952,  -952,  1154,  -952,  -952,  -952,
2015 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2016 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2017 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2018 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2019 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,   111,
2020 <    -952,  -952,  -952,   115,  -952,  -952,  -952,  -952,  -952,  -952,
2021 <    -952,  -952,   945,  -952,  -952,  -952,  -952,  -952,   -36,  -952,
2195 <    -952,  -952,  -952,  -952,   -32,  -952,  -952,  1249,  -952,  -952,
2196 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2197 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  1120,  -952,
2198 <    -952,  -952,  -952,  -952,  -952,  -952
1991 >    -772,  -772,  -772,  -753,  -315,  -771,  -450,  -772,  -772,   947,
1992 >    -772,  -772,  -772,  -772,   928,  -772,  -772,  -772,  -149,  -772,
1993 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1994 >    -772,  -772,   983,  -772,  -772,  -772,  -772,  -772,   951,  -772,
1995 >    -772,  -772,  -772,  -772,    56,  -772,  -772,  -772,  -772,  -772,
1996 >    -229,  -772,  -772,  -772,   530,  -772,  -772,  -772,  -772,  -772,
1997 >    -772,  -772,  -772,  -772,  -198,  -772,  -772,  -772,  -193,  -772,
1998 >    -772,  -772,   719,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1999 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
2000 >    -772,  -181,  -772,   576,  -772,  -772,  -772,   -73,  -772,  -772,
2001 >    -772,  -772,  -772,   607,  -772,  -772,  -772,  -772,  -772,  -772,
2002 >    -772,  -156,  -772,  -772,  -772,  -772,  -772,  -772,   559,  -772,
2003 >    -772,  -772,  -772,  -772,   852,  -772,  -772,  -772,  -772,   513,
2004 >    -772,  -772,  -772,  -772,  -772,  -165,  -772,  -772,  -772,   519,
2005 >    -772,  -772,  -772,  -772,  -161,  -772,  -772,  -772,   792,  -772,
2006 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -129,
2007 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -138,
2008 >    -772,   614,  -772,  -772,  -772,  -772,  -772,   930,  -772,  -772,
2009 >    -772,  -772,   990,  -772,  -772,  -772,  -772,  -772,  -772,  -122,
2010 >    -772,   952,  -772,  -772,  -772,  -772,   953,  -772,  -772,  -772,
2011 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
2012 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
2013 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
2014 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
2015 >    -772,  -772,  -772,  -772,  -772,    43,  -772,  -772,  -772,    38,
2016 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,   694,  -772,  -772,
2017 >    -772,  -772,  -772,  -102,  -772,  -772,  -772,  -772,  -772,   -96,
2018 >    -772,  -772,  1052,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
2019 >    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
2020 >    -772,  -772,  -772,   954,  -772,  -772,  -772,  -772,  -772,  -772,
2021 >    -772
2022   };
2023  
2024   /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
2025     positive, shift that token.  If negative, reduce the rule which
2026 <   number is the opposite.  If zero, do what YYDEFACT says.
2027 <   If YYTABLE_NINF, syntax error.  */
2028 < #define YYTABLE_NINF -1
2206 < static const yytype_uint16 yytable[] =
2026 >   number is the opposite.  If YYTABLE_NINF, syntax error.  */
2027 > #define YYTABLE_NINF -102
2028 > static const yytype_int16 yytable[] =
2029   {
2030 <     586,   587,   734,   274,    47,    67,    48,   593,   122,    52,
2031 <     560,    54,  1231,   486,    59,   495,   359,  1224,   122,   115,
2032 <     359,  1225,  1237,  1452,   128,  1453,   527,    60,   274,    45,
2033 <      46,   129,   130,   527,   569,   131,    63,   682,    64,   684,
2034 <    1454,    68,   132,   118,  1455,   436,   285,   528,   437,   725,
2035 <     726,   133,    69,   698,   528,   134,   135,   560,   727,   728,
2036 <    1226,   706,   136,   569,  1227,   121,   137,   138,   139,   496,
2037 <     140,   127,   717,   718,   243,   720,   141,   244,  1267,  1177,
2038 <    1178,  1179,  1180,  1181,   731,   732,   286,   735,  1303,   495,
2039 <     438,   245,  1304,   439,   486,   142,   143,   246,   123,   497,
2040 <     144,   287,  1228,  1229,  1230,   498,   360,   145,   123,   281,
2041 <     360,   146,   147,   148,  1370,   284,   149,  1374,  1371,   150,
2042 <     151,  1375,   275,   288,   329,   289,    70,   290,   291,   152,
2043 <     330,   561,   331,  1376,   247,   153,   154,  1377,   155,   156,
2044 <     157,   158,   159,   496,   332,  1379,   292,   275,   440,  1380,
2045 <     802,   529,   276,   160,   803,   570,  1162,  1163,   529,   369,
2046 <     369,   451,   161,   333,   162,   163,   441,   164,   499,   487,
2047 <     165,   166,   361,   497,   167,   804,   361,   276,   561,   498,
2048 <     452,   334,   530,   337,   570,   168,   453,   805,   338,   530,
2049 <     248,   249,   250,   251,   252,   253,   254,   255,   562,   806,
2050 <     861,   488,  1232,   339,   807,  1197,  1198,   169,   340,   170,
2051 <     454,   455,  1238,   171,   341,   456,   808,   172,   173,   174,
2052 <     175,   176,   571,   809,   600,   177,   178,  1392,   810,   457,
2053 <     811,  1393,   342,  1268,   179,   343,   458,  1269,   256,   629,
2054 <     344,   630,   499,   812,   631,   562,   601,   602,   632,   345,
2055 <     487,   571,  1394,   603,  1445,   459,  1395,  1456,  1446,   563,
2056 <     346,   347,   489,   633,   634,   635,   180,   335,   181,   636,
2057 <     367,   813,   880,   257,   182,   771,   814,   778,   672,   183,
2058 <     370,   370,   488,   460,   184,   348,   434,    76,   637,   349,
2059 <     524,   461,   638,   639,   442,   853,   885,  1447,   815,    77,
2060 <     357,  1448,   350,    67,   302,   351,   563,   747,   543,   462,
2061 <     816,   352,   817,   818,   353,   371,   371,   819,   463,   464,
2062 <      78,    79,   585,   640,   354,   641,    80,   358,    81,  1053,
2063 <    1054,  1055,   604,   605,   606,   366,   378,   607,   642,    68,
2064 <     303,   379,  1450,   489,   380,   608,  1451,   372,   372,   381,
2065 <      69,  1466,   465,   466,   258,  1467,   382,  1485,   609,   610,
2066 <     643,  1486,   285,   383,   895,   896,   897,   898,   899,   384,
2067 <     385,  1468,   386,   387,   388,   611,   612,   389,   390,   391,
2068 <     820,   392,   393,   394,    82,    83,   395,   821,   259,   304,
2069 <     396,   397,   644,    84,    85,   398,   519,   399,   822,   823,
2070 <    1065,   400,   286,   613,  1469,   401,   645,   402,   824,   403,
2071 <     467,   404,  1142,   405,    86,    87,  1470,   287,   406,   646,
2072 <     407,   679,   408,   766,    70,   305,   409,   306,   307,   410,
2073 <     412,    88,    89,  1471,   414,   415,   416,   417,   418,   288,
2074 <    1472,   289,    90,   290,   291,  1473,   419,  1474,   733,   420,
2075 <     421,    91,   788,   789,   790,   791,   792,   793,   794,   422,
2076 <    1475,   423,   292,   424,   425,   426,   427,  1381,  1382,   428,
2077 <     308,   429,   309,   310,   430,   431,   128,   432,   433,   506,
2078 <     507,   508,   647,   129,   130,   509,   929,   131,   311,   510,
2079 <     511,   512,   513,  1476,   132,   648,   514,   515,  1383,   516,
2080 <     517,   951,  1194,   133,   518,   521,   522,   134,   135,  1477,
2081 <     523,   526,   576,   536,   136,   537,  1384,   538,   137,   138,
2082 <     139,   302,   140,  1385,   539,   540,   541,  1478,   141,  1479,
2083 <    1480,   542,   312,   545,   546,   547,   577,   548,    92,    93,
2084 <      94,   549,  1386,   550,   551,   552,   554,   142,   143,   355,
2085 <     555,   578,   144,   436,   556,   557,   437,   303,   579,   145,
2086 <     313,   314,   580,   146,   147,   148,   558,   581,   149,   582,
2087 <    1387,   150,   151,   583,   584,   802,  1184,   585,  1388,   803,
2088 <     599,   152,   588,   589,  1192,  1193,   590,   153,   154,   591,
2089 <     155,   156,   157,   158,   159,   592,   594,  1481,   438,   595,
2090 <     804,   439,   596,   597,   598,   160,   304,   670,   671,   674,
2091 <     675,   676,   805,   681,   161,  1482,   162,   163,   677,   164,
2092 <     683,  1389,   165,   166,   806,  1483,   167,   685,  1306,   807,
2093 <     687,   686,   688,   691,   689,   600,   690,   168,   692,   693,
2094 <    1390,   808,   305,   694,   306,   307,   695,   696,   809,   701,
2095 <     697,   699,   700,   810,   702,   811,   440,   601,   602,   169,
2096 <     703,   170,   704,   705,   603,   171,   707,   709,   812,   172,
2097 <     173,   174,   175,   176,   441,   708,   710,   177,   178,   711,
2098 <     712,   713,   714,   715,   716,   719,   179,   308,   722,   309,
2099 <     310,   721,   723,   733,   724,   729,   813,   730,   872,  1082,
2100 <     736,   814,   737,   247,   629,   311,   630,  1307,   738,   631,
2101 <     739,   742,   780,   632,   781,  1321,   782,   740,   180,   783,
2102 <     181,   743,   745,   815,   746,   749,   182,   773,   633,   634,
2103 <     635,   183,   750,   751,   636,   816,   184,   817,   818,  1308,
2104 <     784,   785,   819,   604,   605,   606,   786,   787,   607,   312,
2105 <     752,   795,   753,   637,  1309,   755,   608,   638,   639,   248,
2106 <     249,   250,   251,   252,   253,   254,   255,    76,   796,   609,
2107 <     610,   756,   757,   758,  1310,  1311,   797,   313,   314,    77,
2108 <    1312,  1313,  1314,  1315,   759,   451,   611,   612,   640,   760,
2109 <     641,   761,   762,  1316,  1322,   799,   763,   764,   800,   798,
2110 <      78,    79,   442,   642,   452,   820,    80,   256,    81,   765,
2111 <     453,   801,   821,   768,   613,   770,   775,   849,   776,   777,
2112 <     858,   850,   855,   822,   823,   643,  1323,   851,   852,   856,
2113 <     857,   859,   860,   824,   454,   455,   863,   862,   864,   456,
2114 <     865,  1324,   257,   866,   867,   868,   869,   870,   871,   873,
2115 <     874,   875,   876,   457,  1274,   525,   559,   644,   877,   879,
2116 <     458,  1325,  1326,   882,    82,    83,   887,  1327,  1328,  1329,
2117 <    1330,   645,   883,    84,    85,   916,   888,   889,   890,   459,
2118 <    1331,   891,   892,   917,   646,   953,   893,   894,     2,     3,
2119 <     902,   903,   918,     4,    86,    87,   954,   904,   905,   906,
2120 <     907,   957,   958,   908,   909,  1095,   910,   460,   911,   912,
2121 <       5,    88,    89,   913,     6,   461,   914,     7,   915,   931,
2122 <     919,   955,    90,   258,     8,   920,   921,   922,   923,   924,
2123 <     956,    91,   925,   462,   926,   927,   928,   932,   933,   934,
2124 <       9,   935,   463,   464,   936,   937,  1182,   647,   938,   939,
2125 <    1068,   940,   942,    10,    11,  1066,    12,   259,  1069,  1071,
2126 <     648,   943,   944,    13,   945,   946,   947,  1072,  1073,   948,
2127 <     949,   950,   959,   960,   961,   962,   465,   466,   963,   964,
2128 <      14,   965,   966,   967,   968,   969,   970,   971,   972,   973,
2129 <      15,   974,    16,   975,   976,   977,   978,   979,   980,   981,
2130 <     982,   983,   984,  1074,   985,   986,   987,   988,  1076,    17,
2131 <     989,   990,   991,   992,   993,  1015,  1037,  1038,    92,    93,
2132 <      94,   994,   995,   996,   997,   998,    18,   999,  1000,  1039,
2133 <    1001,  1002,  1003,  1040,   467,  1004,  1041,  1042,  1043,  1044,
2134 <    1045,  1046,  1047,  1048,  1049,  1005,  1006,  1007,  1050,  1008,
2135 <    1009,  1010,  1051,  1052,  1011,  1058,  1059,  1012,  1060,  1061,
2136 <    1062,    19,  1063,  1077,  1064,  1078,  1067,  1070,  1079,  1080,
2137 <      20,    21,  1075,  1081,  1083,    22,    23,  1016,  1017,  1018,
2138 <    1019,  1020,  1084,  1021,  1022,  1085,  1023,  1024,  1025,  1086,
2139 <    1087,  1026,  1088,  1090,  1089,  1091,  1092,  1093,  1094,  1098,
2140 <    1099,  1027,  1028,  1029,  1100,  1030,  1031,  1032,  1101,  1102,
2141 <    1033,  1103,  1104,  1034,  1420,  1421,  1422,  1423,  1424,  1105,
2142 <    1425,  1426,  1106,  1427,  1428,  1429,  1120,  1107,  1430,  1108,
2143 <    1109,  1144,  1145,  1146,  1110,  1111,  1112,  1113,  1431,  1432,
2144 <    1433,  1114,  1434,  1435,  1436,  1115,  1116,  1437,  1170,  1117,
2145 <    1438,  1118,  1119,  1172,  1174,  1183,  1121,  1122,  1123,  1125,
2146 <    1126,  1127,  1128,  1129,  1130,  1131,  1132,  1133,  1134,  1135,
2147 <    1136,  1137,  1139,  1147,  1140,  1141,  1148,  1149,  1150,  1151,
2148 <    1185,  1186,  1152,  1153,  1154,  1155,  1156,  1157,  1158,  1187,
2149 <    1159,  1160,  1161,  1166,  1167,  1168,  1188,  1169,  1189,  1190,
2150 <    1191,  1171,  1173,  1176,  1175,  1196,  1195,  1199,  1200,  1201,
2151 <    1202,  1203,  1204,  1205,  1206,  1207,  1208,  1209,  1211,  1210,
2152 <    1212,  1216,  1214,  1213,  1215,  1217,  1218,  1219,  1220,  1235,
2153 <    1221,  1236,  1241,  1242,  1243,  1244,  1245,  1246,  1247,  1263,
2154 <    1277,  1251,  1252,  1253,  1254,  1255,  1256,  1257,  1258,  1259,
2155 <    1260,  1261,  1262,  1266,  1272,  1278,  1273,  1287,  1279,  1289,
2156 <    1293,  1275,  1281,  1297,  1299,  1295,  1300,  1301,  1302,  1305,
2157 <    1280,  1282,  1283,  1284,  1285,  1286,  1288,  1290,  1319,  1291,
2158 <    1292,  1294,  1296,  1298,  1357,  1403,  1320,  1334,  1335,  1336,
2337 <    1337,  1338,  1339,  1340,  1341,  1342,  1343,  1344,  1345,  1346,
2338 <    1347,  1348,  1349,  1396,  1350,   336,  1351,  1352,  1353,  1444,
2339 <    1493,  1354,  1492,  1355,  1356,  1464,  1143,  1361,  1491,  1362,
2340 <     779,   767,   930,  1397,  1462,  1461,   881,  1487,  1488,   886,
2341 <    1463,   952,   772,   854,  1489,  1490,   368,  1458,  1373,   435,
2342 <    1372,  1460,   680,  1459,   356,     0,     0,     0,  1363,  1364,
2343 <    1365,  1366,  1367,  1368,  1369,  1398,  1399,  1400,  1401,  1402,
2344 <    1407,  1408,     0,  1409,     0,  1410,     0,     0,     0,  1411,
2345 <       0,  1412,  1413,  1414,  1415,  1416,  1417,  1418,  1419,  1441,
2346 <    1442,  1443,   520,   673,     0,     0,     0,     0,   748,     0,
2030 >     708,   605,   606,   331,   236,    70,   585,    49,   612,   360,
2031 >      50,   361,   493,   576,   362,   121,    54,   387,   543,   254,
2032 >    1075,   300,  1076,   474,   332,   333,    56,   397,   334,   300,
2033 >    1102,   502,   363,   121,    61,    71,    62,   459,   544,    65,
2034 >     460,   707,   245,   576,  1108,    72,   475,    66,   387,    47,
2035 >      48,   364,  1095,   255,   245,   365,  1096,   699,   700,   493,
2036 >    1052,  1053,  1054,  1055,  1056,   476,   256,    69,  1137,   477,
2037 >     118,   585,   236,   119,   366,   461,   367,   503,   462,   257,
2038 >     258,   259,   260,   701,   702,   122,   120,   388,   368,   335,
2039 >     336,   337,   662,   663,   338,   126,   504,   998,   232,   261,
2040 >     233,   505,   339,   122,    73,   586,   676,   234,   369,   127,
2041 >     235,   681,   577,   252,   340,   341,   128,   129,   388,   463,
2042 >     301,   545,   692,   693,   305,   695,   398,   130,   301,   253,
2043 >     342,   343,   298,   705,   706,   131,   464,   710,   370,   246,
2044 >    1254,   132,   577,   299,   494,   133,   134,   478,   135,   389,
2045 >     546,   246,   306,   271,   136,   307,   479,   480,   344,   399,
2046 >     506,   308,  1097,   137,   138,   371,  1098,   247,   139,   587,
2047 >     586,   311,   998,   140,   312,   495,   578,   141,   142,   247,
2048 >     389,   143,   845,   272,   144,   145,  1099,  1100,  1101,   481,
2049 >     400,   494,   146,   397,   313,  1103,   999,   314,   147,   148,
2050 >    1274,   149,   150,   151,   152,   153,   578,   524,  1138,  1109,
2051 >    1204,   315,  1139,  1233,  1205,  1077,   154,  1234,   316,   273,
2052 >     237,  1275,   495,  1276,   155,   156,   157,   317,   158,  1078,
2053 >     525,   159,   160,   238,   587,   161,   496,   579,   848,   849,
2054 >     372,  -101,   633,   777,   309,   801,   162,   482,   648,   526,
2055 >     595,   738,   274,   527,   275,   276,   652,   769,   559,    70,
2056 >    1000,   465,   733,   318,  1277,   319,   659,   579,   593,   163,
2057 >     745,   999,   395,   164,   513,    79,   722,   165,   166,   167,
2058 >     168,   169,   796,   496,   543,   170,   171,    80,   237,    71,
2059 >    1036,  1037,   398,   522,   172,   277,   320,   278,   279,    72,
2060 >     474,   238,    81,    82,   544,   321,   528,   835,    83,  -101,
2061 >      84,   516,   280,  1235,   322,   843,   844,  1236,   502,   323,
2062 >     324,   325,   326,   475,   173,   399,   174,   271,   175,   327,
2063 >     328,   529,   394,  1001,   176,  1000,  1151,  1278,  1279,   177,
2064 >     406,  1239,   476,  1241,   178,  1240,   477,  1242,   457,   281,
2065 >     530,  1243,    85,    86,   518,  1244,   400,   272,    73,    87,
2066 >      88,  1245,  1247,  1257,   503,  1246,  1248,  1258,   127,   957,
2067 >     958,   959,   407,  1259,  1280,   128,   129,  1260,  1262,   408,
2068 >      89,    90,  1263,   504,   282,   283,   130,   545,   505,   409,
2069 >     410,   596,   574,   273,   131,    91,    92,  1264,   411,  1289,
2070 >     132,  1265,   970,  1290,   133,   134,    93,   135,  1001,   412,
2071 >     413,   414,   531,   136,   415,    94,   546,   416,   417,   418,
2072 >     419,   420,   137,   138,   478,   421,   274,   139,   275,   276,
2073 >     422,   532,   140,   479,   480,   604,   141,   142,   423,   424,
2074 >     143,   425,   426,   144,   145,   427,   763,   506,   519,   428,
2075 >     360,   146,   361,   429,   430,   362,   431,   147,   148,   432,
2076 >     149,   150,   151,   152,   153,   707,   481,   433,   435,   277,
2077 >     437,   278,   279,   363,   438,   154,   813,   814,   815,   816,
2078 >     817,   439,   440,   155,   156,   157,   280,   158,   441,   442,
2079 >     159,   160,   364,   443,   161,  1155,   365,   444,   445,  1207,
2080 >     561,    95,    96,    97,   446,   162,   447,   448,   524,   449,
2081 >     450,   451,   452,   453,   329,   366,  1221,   367,   454,   455,
2082 >     456,   514,  1156,   281,   482,   597,   515,   520,   163,   368,
2083 >     521,   525,   164,   552,    79,   553,   165,   166,   167,   168,
2084 >     169,  1157,   554,   555,   170,   171,    80,  1158,   556,   369,
2085 >     526,   557,   558,   172,   527,   562,   563,   564,   282,   283,
2086 >     565,    81,    82,   459,  1159,   566,   460,    83,   600,    84,
2087 >     567,   568,   570,   571,  1208,   572,   573,   592,   598,   370,
2088 >     599,   601,   602,   173,   603,   174,   604,   175,  1160,   607,
2089 >     608,  1222,   609,   176,   610,  1161,   611,   613,   177,   618,
2090 >     614,   461,   615,   178,   462,  1209,   371,   528,   616,  1162,
2091 >     617,    85,    86,   897,  1210,   619,   620,   621,    87,    88,
2092 >     622,  1211,  1223,   623,   624,   625,   626,  1163,   627,  1164,
2093 >    1165,  1224,   529,  1212,   628,  1213,  1214,   629,  1225,    89,
2094 >      90,   630,   631,     2,     3,   463,   632,   636,     4,  1215,
2095 >    1226,   530,  1227,  1228,    91,    92,   635,   637,   638,  1216,
2096 >     654,   639,   464,   641,     5,    93,  1229,     6,     7,   642,
2097 >     655,   643,   644,     8,    94,   645,  1230,   646,   661,  1166,
2098 >     647,   372,   650,   651,   331,   656,   657,   664,     9,  1167,
2099 >     665,   666,    10,    11,   920,    12,   667,   668,  1168,   669,
2100 >    1255,    13,  1169,   670,  1170,   332,   333,   671,   672,   334,
2101 >     673,   674,   675,   531,  1171,    14,   677,   678,   679,   680,
2102 >     682,   683,   684,   685,  1172,    15,    16,   686,   687,  1178,
2103 >     688,   689,   532,   898,   899,   900,   901,   902,   690,   903,
2104 >     904,   691,    17,   905,   906,   907,   694,   254,   908,  1116,
2105 >     909,   910,   911,   696,   912,   913,   914,   697,    18,   915,
2106 >      95,    96,    97,   698,   703,   916,   704,   707,   709,   711,
2107 >     335,   336,   337,  1117,   712,   338,   713,   714,   715,   724,
2108 >     740,   255,  1118,   339,   717,   749,   718,   465,  1119,   720,
2109 >     721,   725,    19,   726,   256,   340,   341,   728,   747,   729,
2110 >     730,    20,    21,   731,  1120,    22,    23,   257,   258,   259,
2111 >     260,   342,   343,   732,   921,   922,   923,   924,   925,   748,
2112 >     926,   927,   735,   737,   928,   929,   930,   261,   750,   931,
2113 >    1121,   932,   933,   934,   751,   935,   936,   937,  1122,   344,
2114 >     938,   742,   752,   743,   771,   753,   939,   744,   772,  1179,
2115 >    1180,  1181,  1182,  1183,   754,  1184,  1185,   765,    24,  1186,
2116 >    1187,  1188,   755,   756,  1189,   758,  1190,  1191,  1192,   759,
2117 >    1193,  1194,  1195,   760,   762,  1196,   766,   767,   768,  1123,
2118 >     773,  1197,   774,   775,   776,   778,   779,   780,   781,   782,
2119 >     783,   784,   785,   786,   787,   788,   789,  1124,   790,   791,
2120 >     792,   793,   798,   803,   795,   804,   799,   833,   805,   834,
2121 >     806,   807,   808,   836,   809,   810,   811,   812,   820,   821,
2122 >     822,   823,   837,   824,   825,   826,   827,   828,   829,   830,
2123 >     831,   832,   838,   839,   841,   840,   842,   846,   847,   850,
2124 >     851,   852,   853,   857,   854,   855,   856,   858,   859,   861,
2125 >     862,   860,   865,   863,   864,   980,   866,   868,   867,   869,
2126 >     870,   871,   872,   873,   874,   875,   876,   877,   971,   878,
2127 >     879,   880,   881,   882,   883,   884,   885,   886,   887,   888,
2128 >     889,   890,   891,   892,   893,   973,   894,   895,   896,   919,
2129 >     974,   942,   943,   944,   976,   945,   979,   981,   982,   983,
2130 >     985,   946,   977,   947,   987,   990,   991,   948,   949,   950,
2131 >     951,   992,   952,   953,   954,   955,   956,   962,   963,   964,
2132 >     965,   966,   967,   968,  1009,  1010,  1012,   975,   969,   972,
2133 >     984,   978,   986,  1013,   988,   989,  1014,   995,  1011,   996,
2134 >     997,  1007,  1016,  1018,  1008,  1019,  1020,  1044,  1015,  1017,
2135 >    1046,  1045,  1048,  1092,  1133,  1249,  1261,   310,  1152,  1021,
2136 >    1252,  1291,  1286,   764,   634,  1285,  1022,  1272,  1023,  1024,
2137 >    1025,  1026,  1250,  1027,  1028,  1029,  1030,  1031,  1032,  1033,
2138 >    1034,  1035,  1040,  1041,   746,  1042,  1043,  1047,  1270,  1050,
2139 >     734,  1049,  1051,   797,  1057,  1058,  1059,  1060,  1287,  1061,
2140 >    1062,  1063,  1144,  1064,  1288,  1266,   770,   802,  1271,  1065,
2141 >    1066,  1067,   739,   396,  1267,  1068,  1069,  1070,  1071,  1072,
2142 >    1073,  1074,  1081,  1082,  1083,  1084,  1085,  1086,  1087,  1088,
2143 >    1089,  1090,   458,  1091,  1237,  1106,  1107,  1112,  1113,  1114,
2144 >    1269,  1238,  1115,  1127,  1268,  1128,  1129,  1130,  1131,  1132,
2145 >     330,     0,  1136,     0,   594,     0,     0,     0,     0,  1142,
2146 >     723,  1143,     0,     0,  1147,   649,     0,  1145,  1148,  1150,
2147 >    1153,  1154,  1175,  1176,  1177,  1200,  1201,  1202,  1203,  1206,
2148 >    1219,  1220,  1251,     0,     0,  1256,  1253,  1273,  1283,  1284,
2149 >     517,     0,     0,     0,     0,   523,     0,     0,     0,     0,
2150 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2151 >       0,     0,   575,     0,     0,     0,   560,     0,     0,     0,
2152 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2153 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2154 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2155 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2156 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2157 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2158 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2159         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2160         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2161 <       0,     0,     0,   544
2161 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2162 >     653,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2163 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2164 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2165 >       0,     0,     0,     0,   660
2166   };
2167  
2168 + #define yypact_value_is_default(yystate) \
2169 +  ((yystate) == (-772))
2170 +
2171 + #define yytable_value_is_error(yytable_value) \
2172 +  YYID (0)
2173 +
2174   static const yytype_int16 yycheck[] =
2175   {
2176 <     342,   343,   428,     1,   264,     1,   264,   349,     1,   264,
2177 <       1,   264,    11,     1,   264,     1,     1,   262,     1,   155,
2178 <       1,   266,    11,    10,     1,    12,     1,   264,     1,   262,
2179 <     263,     8,     9,     1,     1,    12,   264,   379,   264,   381,
2180 <      27,    37,    19,   155,    31,     1,     1,    22,     4,   199,
2181 <     200,    28,    48,   395,    22,    32,    33,     1,   199,   200,
2182 <     262,   403,    39,     1,   266,   264,    43,    44,    45,    55,
2183 <      47,   264,   414,   415,   264,   417,    53,   264,    78,   895,
2184 <     896,   897,   898,   899,   426,   427,    41,   429,   262,     1,
2185 <      46,   264,   266,    49,     1,    72,    73,   264,    91,    85,
2186 <      77,    56,  1053,  1054,  1055,    91,    91,    84,    91,   155,
2187 <      91,    88,    89,    90,   262,   264,    93,   262,   266,    96,
2188 <      97,   266,   120,    78,   264,    80,   122,    82,    83,   106,
2189 <     264,   122,   262,   262,     1,   112,   113,   266,   115,   116,
2190 <     117,   118,   119,    55,   265,   262,   101,   120,   104,   266,
2191 <       1,   126,   150,   130,     5,   122,   171,   172,   126,     1,
2192 <       1,     1,   139,   265,   141,   142,   122,   144,   154,   157,
2193 <     147,   148,   157,    85,   151,    26,   157,   150,   122,    91,
2194 <      20,   265,   157,   265,   122,   162,    26,    38,   265,   157,
2195 <      57,    58,    59,    60,    61,    62,    63,    64,   189,    50,
2196 <     542,   189,   201,   265,    55,   218,   219,   184,   265,   186,
2197 <      50,    51,   201,   190,   265,    55,    67,   194,   195,   196,
2198 <     197,   198,   189,    74,     1,   202,   203,   262,    79,    69,
2199 <      81,   266,   265,   233,   211,   265,    76,   237,   105,     1,
2200 <     265,     3,   154,    94,     6,   189,    23,    24,    10,   265,
2201 <     157,   189,   262,    30,   262,    95,   266,   244,   266,   250,
2202 <     265,   265,   250,    25,    26,    27,   243,   263,   245,    31,
2203 <     263,   122,   263,   140,   251,   263,   127,   263,   263,   256,
2204 <     122,   122,   189,   123,   261,   265,   263,     1,    50,   265,
2205 <     263,   131,    54,    55,   250,   263,   263,   262,   149,    13,
2206 <     264,   266,   265,     1,     1,   265,   250,   263,   263,   149,
2207 <     161,   265,   163,   164,   265,   157,   157,   168,   158,   159,
2208 <      34,    35,   133,    85,   265,    87,    40,   264,    42,    14,
2209 <      15,    16,   109,   110,   111,   265,   265,   114,   100,    37,
2210 <      37,   265,   262,   250,   265,   122,   266,   189,   189,   265,
2211 <      48,   262,   192,   193,   221,   266,   265,   262,   135,   136,
2212 <     122,   266,     1,   265,   175,   176,   177,   178,   179,   265,
2213 <     265,     5,   265,   265,   265,   152,   153,   265,   265,   265,
2214 <     231,   265,   265,   265,    98,    99,   265,   238,   255,    86,
2215 <     265,   265,   154,   107,   108,   265,   263,   265,   249,   250,
2216 <     742,   265,    41,   180,    38,   265,   168,   265,   259,   265,
2217 <     250,   265,   263,   265,   128,   129,    50,    56,   265,   181,
2218 <     265,   263,   265,   263,   122,   122,   265,   124,   125,   265,
2219 <     265,   145,   146,    67,   265,   265,   265,   265,   265,    78,
2220 <      74,    80,   156,    82,    83,    79,   265,    81,   133,   265,
2221 <     265,   165,   222,   223,   224,   225,   226,   227,   228,   265,
2222 <      94,   265,   101,   265,   265,   265,   265,    20,    21,   265,
2223 <     167,   265,   169,   170,   265,   265,     1,   265,   265,   262,
2224 <     265,   265,   244,     8,     9,   265,   263,    12,   185,   265,
2225 <     265,   265,   265,   127,    19,   257,   265,   265,    51,   265,
2226 <     265,   263,   928,    28,   265,   262,   265,    32,    33,   143,
2227 <     265,   264,   155,   265,    39,   265,    69,   265,    43,    44,
2228 <      45,     1,    47,    76,   265,   265,   265,   161,    53,   163,
2229 <     164,   265,   229,   262,   265,   265,   155,   265,   252,   253,
2230 <     254,   265,    95,   265,   265,   265,   265,    72,    73,   263,
2231 <     265,   155,    77,     1,   265,   265,     4,    37,   262,    84,
2232 <     257,   258,   199,    88,    89,    90,   263,   133,    93,   133,
2233 <     123,    96,    97,   199,   199,     1,   918,   133,   131,     5,
2234 <     262,   106,   133,   133,   926,   927,   199,   112,   113,   199,
2235 <     115,   116,   117,   118,   119,   133,   199,   231,    46,   199,
2236 <      26,    49,   199,   199,   199,   130,    86,   265,   265,   155,
2237 <     262,   265,    38,   199,   139,   249,   141,   142,   265,   144,
2238 <     199,   174,   147,   148,    50,   259,   151,   133,    94,    55,
2239 <     133,   155,   199,   133,   199,     1,   199,   162,   155,   199,
2240 <     193,    67,   122,   133,   124,   125,   133,   133,    74,   133,
2241 <     199,   199,   199,    79,   155,    81,   104,    23,    24,   184,
2242 <     199,   186,   133,   133,    30,   190,   133,   155,    94,   194,
2243 <     195,   196,   197,   198,   122,   133,   133,   202,   203,   133,
2244 <     199,   199,   265,   199,   265,   199,   211,   167,   199,   169,
2245 <     170,   155,   199,   133,   199,   199,   122,   199,   133,   133,
2246 <     199,   127,   199,     1,     1,   185,     3,   173,   199,     6,
2247 <     199,   265,   155,    10,   155,    94,   155,   262,   243,   155,
2248 <     245,   265,   265,   149,   265,   262,   251,   262,    25,    26,
2249 <      27,   256,   265,   265,    31,   161,   261,   163,   164,   205,
2250 <     155,   155,   168,   109,   110,   111,   155,   155,   114,   229,
2251 <     265,   155,   265,    50,   220,   265,   122,    54,    55,    57,
2252 <      58,    59,    60,    61,    62,    63,    64,     1,   155,   135,
2253 <     136,   265,   265,   265,   240,   241,   199,   257,   258,    13,
2254 <     246,   247,   248,   249,   265,     1,   152,   153,    85,   265,
2255 <      87,   265,   265,   259,   173,   155,   265,   265,   155,   262,
2256 <      34,    35,   250,   100,    20,   231,    40,   105,    42,   265,
2257 <      26,   262,   238,   265,   180,   265,   265,   262,   265,   265,
2258 <     155,   265,   199,   249,   250,   122,   205,   265,   265,   199,
2259 <     199,   199,   199,   259,    50,    51,   155,   262,   199,    55,
2260 <     155,   220,   140,   155,   155,   155,   155,   265,   155,   155,
2261 <     155,   262,   262,    69,   204,   277,   315,   154,   265,   265,
2262 <      76,   240,   241,   262,    98,    99,   262,   246,   247,   248,
2263 <     249,   168,   265,   107,   108,   265,   262,   262,   262,    95,
2264 <     259,   262,   262,   265,   181,   155,   262,   262,     0,     1,
2265 <     262,   262,   265,     5,   128,   129,   155,   262,   262,   262,
2266 <     262,   155,   155,   262,   262,   133,   262,   123,   262,   262,
2267 <      22,   145,   146,   262,    26,   131,   262,    29,   262,   262,
2268 <     265,   262,   156,   221,    36,   265,   265,   265,   265,   265,
2269 <     262,   165,   265,   149,   265,   265,   265,   265,   265,   265,
2270 <      52,   265,   158,   159,   265,   265,   133,   244,   265,   265,
2271 <     155,   265,   265,    65,    66,   199,    68,   255,   155,   199,
2272 <     257,   265,   265,    75,   265,   265,   265,   155,   199,   265,
2273 <     265,   265,   265,   262,   262,   262,   192,   193,   262,   262,
2274 <      92,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2275 <     102,   262,   104,   262,   262,   262,   262,   262,   262,   262,
2276 <     262,   262,   262,   199,   262,   262,   262,   262,   199,   121,
2277 <     262,   262,   262,   262,   262,   262,   262,   262,   252,   253,
2278 <     254,   206,   207,   208,   209,   210,   138,   212,   213,   262,
2279 <     215,   216,   217,   262,   250,   220,   262,   262,   262,   262,
2280 <     262,   262,   262,   262,   262,   230,   231,   232,   262,   234,
2281 <     235,   236,   262,   262,   239,   262,   262,   242,   262,   262,
2282 <     262,   173,   262,   199,   265,   199,   265,   262,   199,   199,
2283 <     182,   183,   265,   155,   155,   187,   188,   206,   207,   208,
2284 <     209,   210,   155,   212,   213,   199,   215,   216,   217,   155,
2285 <     262,   220,   155,   155,   265,   262,   265,   155,   155,   262,
2286 <     262,   230,   231,   232,   262,   234,   235,   236,   262,   262,
2287 <     239,   262,   262,   242,   206,   207,   208,   209,   210,   262,
2288 <     212,   213,   262,   215,   216,   217,   265,   262,   220,   262,
2289 <     262,   155,   155,   155,   262,   262,   262,   262,   230,   231,
2290 <     232,   262,   234,   235,   236,   262,   262,   239,   155,   262,
2291 <     242,   262,   262,   155,   155,   133,   265,   265,   265,   265,
2292 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2293 <     265,   265,   265,   262,   265,   265,   262,   262,   262,   262,
2294 <     133,   133,   262,   262,   262,   262,   262,   262,   262,   133,
2295 <     262,   262,   262,   262,   262,   262,   133,   262,   155,   133,
2296 <     133,   265,   262,   262,   265,   155,   262,   199,   155,   155,
2297 <     199,   199,   199,   155,   265,   155,   155,   155,   133,   155,
2298 <     155,   262,   199,   155,   155,   262,   262,   262,   262,   262,
2299 <     160,   262,   262,   262,   262,   262,   262,   262,   132,   160,
2300 <     199,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2301 <     262,   262,   262,   262,   262,   155,   262,   155,   199,   155,
2480 <     155,   266,   265,   155,   262,   265,   262,   262,   262,   262,
2481 <     199,   199,   199,   199,   199,   199,   199,   199,   262,   199,
2482 <     199,   199,   199,   199,   132,   132,   262,   262,   262,   262,
2483 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2484 <     262,   262,   262,   133,   262,    71,   262,   262,   262,  1304,
2485 <    1486,   262,  1467,   262,   262,  1395,   825,   262,  1465,   262,
2486 <     501,   468,   614,  1275,  1380,  1378,   564,  1446,  1448,   572,
2487 <    1393,   649,   491,   531,  1449,  1451,   124,  1371,  1227,   185,
2488 <    1225,  1377,   374,  1375,    95,    -1,    -1,    -1,   262,   262,
2489 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2490 <     262,   262,    -1,   262,    -1,   262,    -1,    -1,    -1,   262,
2491 <      -1,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2492 <     262,   262,   260,   362,    -1,    -1,    -1,    -1,   443,    -1,
2176 >     450,   316,   317,     1,     1,     1,     1,   241,   323,     1,
2177 >     241,     3,     1,     1,     6,     1,   241,     1,     1,     1,
2178 >      10,     1,    12,     1,    22,    23,   241,     1,    26,     1,
2179 >      11,     1,    24,     1,   241,    31,   241,     1,    21,   241,
2180 >       4,   110,     1,     1,    11,    41,    24,   241,     1,   239,
2181 >     240,    43,   239,    35,     1,    47,   243,   174,   175,     1,
2182 >     813,   814,   815,   816,   817,    43,    48,   241,    61,    47,
2183 >     241,     1,     1,   241,    66,    39,    68,    47,    42,    61,
2184 >      62,    63,    64,   174,   175,    71,   241,    71,    80,    87,
2185 >      88,    89,   407,   408,    92,   241,    66,     1,   241,    81,
2186 >     241,    71,   100,    71,   100,   100,   421,   241,   100,     1,
2187 >     241,   426,   100,   241,   112,   113,     8,     9,    71,    83,
2188 >     100,   104,   437,   438,   239,   440,   100,    19,   100,   241,
2189 >     128,   129,   241,   448,   449,    27,   100,   452,   130,    98,
2190 >     209,    33,   100,   241,   133,    37,    38,   125,    40,   133,
2191 >     133,    98,   242,     1,    46,   242,   134,   135,   156,   133,
2192 >     130,   242,   239,    55,    56,   157,   243,   126,    60,   164,
2193 >     100,   242,     1,    65,   242,   164,   164,    69,    70,   126,
2194 >     133,    73,   632,    31,    76,    77,   957,   958,   959,   167,
2195 >     164,   133,    84,     1,   242,   176,   100,   242,    90,    91,
2196 >      51,    93,    94,    95,    96,    97,   164,     1,   201,   176,
2197 >     239,   242,   205,   239,   243,   205,   108,   243,   242,    67,
2198 >     217,    72,   164,    74,   116,   117,   118,   242,   120,   219,
2199 >      24,   123,   124,   230,   164,   127,   225,   225,   194,   195,
2200 >     232,   238,   240,   558,   240,   240,   138,   225,   240,    43,
2201 >     131,   240,   100,    47,   102,   103,   240,   240,   240,     1,
2202 >     164,   225,   240,   242,   115,   242,   240,   225,   240,   161,
2203 >     240,   100,   240,   165,   239,     1,   240,   169,   170,   171,
2204 >     172,   173,   240,   225,     1,   177,   178,    13,   217,    31,
2205 >     147,   148,   100,   240,   186,   143,   242,   145,   146,    41,
2206 >       1,   230,    28,    29,    21,   242,   100,   622,    34,   238,
2207 >      36,   240,   160,   239,   242,   630,   631,   243,     1,   242,
2208 >     242,   242,   242,    24,   216,   133,   218,     1,   220,   242,
2209 >     242,   125,   242,   237,   226,   164,   240,   188,   189,   231,
2210 >     242,   239,    43,   239,   236,   243,    47,   243,   240,   197,
2211 >     144,   239,    78,    79,   238,   243,   164,    31,   100,    85,
2212 >      86,   239,   239,   239,    47,   243,   243,   243,     1,    14,
2213 >      15,    16,   242,   239,   225,     8,     9,   243,   239,   242,
2214 >     106,   107,   243,    66,   232,   233,    19,   104,    71,   242,
2215 >     242,   131,   240,    67,    27,   121,   122,   239,   242,   239,
2216 >      33,   243,   717,   243,    37,    38,   132,    40,   237,   242,
2217 >     242,   242,   206,    46,   242,   141,   133,   242,   242,   242,
2218 >     242,   242,    55,    56,   125,   242,   100,    60,   102,   103,
2219 >     242,   225,    65,   134,   135,   110,    69,    70,   242,   242,
2220 >      73,   242,   242,    76,    77,   242,   240,   130,   239,   242,
2221 >       1,    84,     3,   242,   242,     6,   242,    90,    91,   242,
2222 >      93,    94,    95,    96,    97,   110,   167,   242,   242,   143,
2223 >     242,   145,   146,    24,   242,   108,   151,   152,   153,   154,
2224 >     155,   242,   242,   116,   117,   118,   160,   120,   242,   242,
2225 >     123,   124,    43,   242,   127,     5,    47,   242,   242,    74,
2226 >     239,   227,   228,   229,   242,   138,   242,   242,     1,   242,
2227 >     242,   242,   242,   242,   240,    66,    74,    68,   242,   242,
2228 >     242,   242,    32,   197,   225,   131,   242,   242,   161,    80,
2229 >     242,    24,   165,   242,     1,   242,   169,   170,   171,   172,
2230 >     173,    51,   242,   242,   177,   178,    13,    57,   242,   100,
2231 >      43,   242,   242,   186,    47,   242,   242,   242,   232,   233,
2232 >     242,    28,    29,     1,    74,   242,     4,    34,   110,    36,
2233 >     242,   242,   242,   242,   149,   242,   242,   242,   239,   130,
2234 >     174,   110,   174,   216,   174,   218,   110,   220,    98,   110,
2235 >     110,   149,   174,   226,   174,   105,   110,   174,   231,   239,
2236 >     174,    39,   174,   236,    42,   180,   157,   100,   174,   119,
2237 >     174,    78,    79,    61,   189,   239,   242,   242,    85,    86,
2238 >     242,   196,   180,   242,   242,   242,   242,   137,   242,   139,
2239 >     140,   189,   125,   208,   242,   210,   211,   242,   196,   106,
2240 >     107,   242,   242,     0,     1,    83,   242,   242,     5,   224,
2241 >     208,   144,   210,   211,   121,   122,   239,   242,   242,   234,
2242 >     131,   242,   100,   242,    21,   132,   224,    24,    25,   242,
2243 >     239,   242,   242,    30,   141,   242,   234,   242,   174,   189,
2244 >     242,   232,   242,   242,     1,   242,   242,   110,    45,   199,
2245 >     174,   174,    49,    50,    61,    52,   110,   131,   208,   174,
2246 >    1150,    58,   212,   110,   214,    22,    23,   110,   110,    26,
2247 >     174,   174,   174,   206,   224,    72,   131,   174,   110,   110,
2248 >     110,   110,   131,   110,   234,    82,    83,   110,   174,    61,
2249 >     174,   242,   225,   181,   182,   183,   184,   185,   174,   187,
2250 >     188,   242,    99,   191,   192,   193,   174,     1,   196,    20,
2251 >     198,   199,   200,   174,   202,   203,   204,   174,   115,   207,
2252 >     227,   228,   229,   174,   174,   213,   174,   110,   131,   174,
2253 >      87,    88,    89,    44,   174,    92,   174,   174,   239,   239,
2254 >     239,    35,    53,   100,   242,   239,   242,   225,    59,   242,
2255 >     242,   242,   149,   242,    48,   112,   113,   242,   174,   242,
2256 >     242,   158,   159,   242,    75,   162,   163,    61,    62,    63,
2257 >      64,   128,   129,   242,   181,   182,   183,   184,   185,   174,
2258 >     187,   188,   242,   242,   191,   192,   193,    81,   241,   196,
2259 >     101,   198,   199,   200,   131,   202,   203,   204,   109,   156,
2260 >     207,   242,   131,   242,   174,   239,   213,   242,   174,   181,
2261 >     182,   183,   184,   185,   239,   187,   188,   239,   215,   191,
2262 >     192,   193,   242,   242,   196,   242,   198,   199,   200,   242,
2263 >     202,   203,   204,   242,   242,   207,   242,   242,   242,   150,
2264 >     174,   213,   131,   174,   174,   239,   131,   174,   131,   131,
2265 >     131,   131,   131,   242,   131,   110,   131,   168,   131,   239,
2266 >     239,   242,   239,   131,   242,   239,   242,   110,   239,   110,
2267 >     239,   239,   239,   110,   239,   239,   239,   239,   239,   239,
2268 >     239,   239,   110,   239,   239,   239,   239,   239,   239,   239,
2269 >     239,   239,   110,   110,   110,   131,   110,   239,   131,   131,
2270 >     174,   242,   131,   110,   131,   131,   131,   131,   131,   131,
2271 >     131,   239,   131,   239,   239,   110,   131,   239,   242,   239,
2272 >     239,   239,   239,   239,   239,   239,   239,   239,   174,   239,
2273 >     239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
2274 >     239,   239,   239,   239,   239,   131,   239,   239,   239,   239,
2275 >     131,   239,   239,   239,   131,   239,   131,   131,   131,   131,
2276 >     131,   239,   174,   239,   131,   131,   131,   239,   239,   239,
2277 >     239,   110,   239,   239,   239,   239,   239,   239,   239,   239,
2278 >     239,   239,   239,   239,   131,   174,   131,   239,   242,   242,
2279 >     239,   242,   242,   131,   239,   242,   131,   239,   242,   239,
2280 >     239,   239,   131,   131,   239,   131,   131,   131,   242,   239,
2281 >     131,   242,   131,   136,   136,   110,  1205,    74,  1002,   239,
2282 >     131,  1290,  1260,   533,   345,  1258,   239,  1248,   239,   239,
2283 >     239,   239,  1145,   239,   239,   239,   239,   239,   239,   239,
2284 >     239,   239,   239,   239,   508,   239,   239,   239,  1244,   239,
2285 >     483,   242,   239,   580,   239,   239,   239,   239,  1263,   239,
2286 >     239,   239,   179,   239,  1265,  1234,   547,   588,  1246,   239,
2287 >     239,   239,   498,   123,  1236,   239,   239,   239,   239,   239,
2288 >     239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
2289 >     239,   239,   179,   239,  1096,   239,   239,   239,   239,   239,
2290 >    1242,  1098,   239,   239,  1240,   239,   239,   239,   239,   239,
2291 >      98,    -1,   239,    -1,   302,    -1,    -1,    -1,    -1,   239,
2292 >     466,   239,    -1,    -1,   239,   373,    -1,   243,   242,   242,
2293 >     239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
2294 >     239,   239,   239,    -1,    -1,   239,   242,   239,   239,   239,
2295 >     239,    -1,    -1,    -1,    -1,   248,    -1,    -1,    -1,    -1,
2296 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2297 >      -1,    -1,   284,    -1,    -1,    -1,   262,    -1,    -1,    -1,
2298 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2299 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2300 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2301 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2302        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2303        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2304 <      -1,    -1,    -1,   293
2304 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2305 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2306 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2307 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2308 >     390,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2309 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2310 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2311 >      -1,    -1,    -1,    -1,   402
2312   };
2313  
2314   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2315     symbol of state STATE-NUM.  */
2316   static const yytype_uint16 yystos[] =
2317   {
2318 <       0,   268,     0,     1,     5,    22,    26,    29,    36,    52,
2319 <      65,    66,    68,    75,    92,   102,   104,   121,   138,   173,
2320 <     182,   183,   187,   188,   269,   274,   279,   297,   303,   318,
2321 <     355,   374,   388,   414,   421,   431,   440,   471,   481,   487,
2322 <     491,   501,   566,   582,   603,   262,   263,   264,   264,   356,
2323 <     441,   482,   264,   492,   264,   567,   389,   472,   375,   264,
2324 <     264,   319,   415,   264,   264,   422,   432,     1,    37,    48,
2325 <     122,   298,   299,   300,   301,   302,     1,    13,    34,    35,
2326 <      40,    42,    98,    99,   107,   108,   128,   129,   145,   146,
2327 <     156,   165,   252,   253,   254,   583,   584,   585,   586,   587,
2512 <     588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
2513 <     598,   599,   600,   601,   602,   155,   357,   361,   155,   442,
2514 <     446,   264,     1,    91,   488,   489,   490,   264,     1,     8,
2515 <       9,    12,    19,    28,    32,    33,    39,    43,    44,    45,
2516 <      47,    53,    72,    73,    77,    84,    88,    89,    90,    93,
2517 <      96,    97,   106,   112,   113,   115,   116,   117,   118,   119,
2518 <     130,   139,   141,   142,   144,   147,   148,   151,   162,   184,
2519 <     186,   190,   194,   195,   196,   197,   198,   202,   203,   211,
2520 <     243,   245,   251,   256,   261,   502,   503,   504,   505,   506,
2521 <     507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
2318 >       0,   245,     0,     1,     5,    21,    24,    25,    30,    45,
2319 >      49,    50,    52,    58,    72,    82,    83,    99,   115,   149,
2320 >     158,   159,   162,   163,   215,   246,   251,   256,   274,   280,
2321 >     295,   313,   330,   344,   359,   366,   370,   380,   389,   408,
2322 >     418,   424,   428,   438,   498,   514,   535,   239,   240,   241,
2323 >     241,   314,   390,   419,   241,   429,   241,   499,   345,   409,
2324 >     331,   241,   241,   296,   360,   241,   241,   371,   381,   241,
2325 >       1,    31,    41,   100,   275,   276,   277,   278,   279,     1,
2326 >      13,    28,    29,    34,    36,    78,    79,    85,    86,   106,
2327 >     107,   121,   122,   132,   141,   227,   228,   229,   515,   516,
2328       517,   518,   519,   520,   521,   522,   523,   524,   525,   526,
2329 <     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
2330 <     537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
2331 <     547,   548,   549,   550,   551,   552,   553,   557,   561,   562,
2332 <     563,   564,   565,   264,   264,   264,   264,     1,    57,    58,
2333 <      59,    60,    61,    62,    63,    64,   105,   140,   221,   255,
2334 <     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
2335 <     314,   315,   316,   317,     1,   120,   150,   275,   276,   277,
2336 <     278,   155,   320,   324,   264,     1,    41,    56,    78,    80,
2337 <      82,    83,   101,   604,   605,   606,   607,   608,   609,   610,
2338 <     611,   612,     1,    37,    86,   122,   124,   125,   167,   169,
2339 <     170,   185,   229,   257,   258,   280,   281,   282,   286,   287,
2340 <     288,   289,   290,   291,   292,   293,   294,   295,   296,   264,
2341 <     264,   262,   265,   265,   265,   263,   299,   265,   265,   265,
2342 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2343 <     265,   265,   265,   265,   265,   263,   584,   264,   264,     1,
2344 <      91,   157,   483,   484,   485,   486,   265,   263,   489,     1,
2345 <     122,   157,   189,   493,   497,   498,   499,   500,   265,   265,
2346 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2347 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2348 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2349 <     265,   558,   265,   554,   265,   265,   265,   265,   265,   265,
2350 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2351 <     265,   265,   265,   265,   263,   503,     1,     4,    46,    49,
2352 <     104,   122,   250,   568,   569,   570,   571,   572,   576,   577,
2353 <     578,     1,    20,    26,    50,    51,    55,    69,    76,    95,
2354 <     123,   131,   149,   158,   159,   192,   193,   250,   390,   391,
2355 <     392,   393,   394,   395,   396,   397,   404,   405,   406,   407,
2356 <     408,   409,   410,   411,   412,   413,     1,   157,   189,   250,
2357 <     473,   477,   478,   479,   480,     1,    55,    85,    91,   154,
2358 <     376,   380,   381,   382,   386,   387,   262,   265,   265,   265,
2359 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   263,
2360 <     305,   262,   265,   265,   263,   276,   264,     1,    22,   126,
2361 <     157,   416,   417,   418,   419,   420,   265,   265,   265,   265,
2362 <     265,   265,   265,   263,   605,   262,   265,   265,   265,   265,
2363 <     265,   265,   265,   283,   265,   265,   265,   265,   263,   281,
2364 <       1,   122,   189,   250,   423,   424,   425,   426,   427,     1,
2365 <     122,   189,   433,   434,   435,   436,   155,   155,   155,   262,
2366 <     199,   133,   133,   199,   199,   133,   271,   271,   133,   133,
2367 <     199,   199,   133,   271,   199,   199,   199,   199,   199,   262,
2368 <       1,    23,    24,    30,   109,   110,   111,   114,   122,   135,
2369 <     136,   152,   153,   180,   358,   359,   360,   362,   363,   364,
2370 <     365,   366,   367,   368,   369,   370,   371,   372,   373,     1,
2371 <       3,     6,    10,    25,    26,    27,    31,    50,    54,    55,
2372 <      85,    87,   100,   122,   154,   168,   181,   244,   257,   443,
2373 <     444,   445,   447,   448,   449,   450,   451,   452,   453,   454,
2374 <     461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
2375 <     265,   265,   263,   484,   155,   262,   265,   265,   494,   263,
2376 <     498,   199,   271,   199,   271,   133,   155,   133,   199,   199,
2377 <     199,   133,   155,   199,   133,   133,   133,   199,   271,   199,
2378 <     199,   133,   155,   199,   133,   133,   271,   133,   133,   155,
2379 <     133,   133,   199,   199,   265,   199,   265,   271,   271,   199,
2380 <     271,   155,   199,   199,   199,   199,   200,   199,   200,   199,
2381 <     199,   271,   271,   133,   273,   271,   199,   199,   199,   199,
2382 <     262,   579,   265,   265,   573,   265,   265,   263,   569,   262,
2383 <     265,   265,   265,   265,   398,   265,   265,   265,   265,   265,
2384 <     265,   265,   265,   265,   265,   265,   263,   391,   265,   474,
2385 <     265,   263,   478,   262,   377,   265,   265,   265,   263,   381,
2386 <     155,   155,   155,   155,   155,   155,   155,   155,   222,   223,
2387 <     224,   225,   226,   227,   228,   155,   155,   199,   262,   155,
2388 <     155,   262,     1,     5,    26,    38,    50,    55,    67,    74,
2389 <      79,    81,    94,   122,   127,   149,   161,   163,   164,   168,
2390 <     231,   238,   249,   250,   259,   321,   322,   323,   325,   326,
2391 <     327,   328,   329,   330,   334,   335,   336,   337,   338,   339,
2392 <     340,   341,   342,   343,   344,   345,   346,   347,   348,   262,
2393 <     265,   265,   265,   263,   417,   199,   199,   199,   155,   199,
2394 <     199,   271,   262,   155,   199,   155,   155,   155,   155,   155,
2395 <     265,   155,   133,   155,   155,   262,   262,   265,   428,   265,
2396 <     263,   424,   262,   265,   437,   263,   434,   262,   262,   262,
2397 <     262,   262,   262,   262,   262,   175,   176,   177,   178,   179,
2398 <     270,   271,   262,   262,   262,   262,   262,   262,   262,   262,
2399 <     262,   262,   262,   262,   262,   262,   265,   265,   265,   265,
2400 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   263,
2401 <     359,   262,   265,   265,   265,   265,   265,   265,   265,   265,
2402 <     265,   455,   265,   265,   265,   265,   265,   265,   265,   265,
2403 <     265,   263,   444,   155,   155,   262,   262,   155,   155,   265,
2404 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2405 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2406 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2407 <     262,   262,   262,   262,   206,   207,   208,   209,   210,   212,
2408 <     213,   215,   216,   217,   220,   230,   231,   232,   234,   235,
2409 <     236,   239,   242,   559,   560,   262,   206,   207,   208,   209,
2410 <     210,   212,   213,   215,   216,   217,   220,   230,   231,   232,
2411 <     234,   235,   236,   239,   242,   555,   556,   262,   262,   262,
2412 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2413 <     262,   262,   262,    14,    15,    16,   272,   273,   262,   262,
2414 <     262,   262,   262,   262,   265,   271,   199,   265,   155,   155,
2415 <     262,   199,   155,   199,   199,   265,   199,   199,   199,   199,
2416 <     199,   155,   133,   155,   155,   199,   155,   262,   155,   265,
2417 <     155,   262,   265,   155,   155,   133,   384,   385,   262,   262,
2418 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2419 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2420 <     265,   265,   265,   265,   349,   265,   265,   265,   265,   265,
2421 <     265,   265,   265,   265,   265,   265,   265,   265,   331,   265,
2422 <     265,   265,   263,   322,   155,   155,   155,   262,   262,   262,
2423 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2424 <     262,   262,   171,   172,   284,   285,   262,   262,   262,   262,
2425 <     155,   265,   155,   262,   155,   265,   262,   270,   270,   270,
2426 <     270,   270,   133,   133,   271,   133,   133,   133,   133,   155,
2427 <     133,   133,   271,   271,   273,   262,   155,   218,   219,   199,
2428 <     155,   155,   199,   199,   199,   155,   265,   155,   155,   155,
2429 <     155,   133,   155,   155,   199,   155,   262,   262,   262,   262,
2430 <     262,   160,   495,   496,   262,   266,   262,   266,   272,   272,
2431 <     272,    11,   201,   580,   581,   262,   262,    11,   201,   574,
2432 <     575,   262,   262,   262,   262,   262,   262,   132,   399,   400,
2433 <     402,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2434 <     262,   262,   262,   160,   475,   476,   262,    78,   233,   237,
2435 <     378,   379,   262,   262,   204,   266,   383,   199,   155,   199,
2436 <     199,   265,   199,   199,   199,   199,   199,   155,   199,   155,
2437 <     199,   199,   199,   155,   199,   265,   199,   155,   199,   262,
2438 <     262,   262,   262,   262,   266,   262,    94,   173,   205,   220,
2439 <     240,   241,   246,   247,   248,   249,   259,   429,   430,   262,
2440 <     262,    94,   173,   205,   220,   240,   241,   246,   247,   248,
2441 <     249,   259,   438,   439,   262,   262,   262,   262,   262,   262,
2442 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2443 <     262,   262,   262,   262,   262,   262,   262,   132,   456,   457,
2444 <     459,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2445 <     262,   266,   560,   556,   262,   266,   262,   266,   401,   262,
2446 <     266,    20,    21,    51,    69,    76,    95,   123,   131,   174,
2447 <     193,   403,   262,   266,   262,   266,   133,   385,   262,   262,
2642 <     262,   262,   262,   132,   350,   351,   353,   262,   262,   262,
2643 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2644 <     206,   207,   208,   209,   210,   212,   213,   215,   216,   217,
2645 <     220,   230,   231,   232,   234,   235,   236,   239,   242,   332,
2646 <     333,   262,   262,   262,   285,   262,   266,   262,   266,   458,
2647 <     262,   266,    10,    12,    27,    31,   244,   460,   496,   581,
2648 <     575,   403,   400,   476,   379,   352,   262,   266,     5,    38,
2649 <      50,    67,    74,    79,    81,    94,   127,   143,   161,   163,
2650 <     164,   231,   249,   259,   354,   262,   266,   430,   439,   460,
2651 <     457,   354,   351,   333
2329 >     527,   528,   529,   530,   531,   532,   533,   534,   241,   241,
2330 >     241,     1,    71,   425,   426,   427,   241,     1,     8,     9,
2331 >      19,    27,    33,    37,    38,    40,    46,    55,    56,    60,
2332 >      65,    69,    70,    73,    76,    77,    84,    90,    91,    93,
2333 >      94,    95,    96,    97,   108,   116,   117,   118,   120,   123,
2334 >     124,   127,   138,   161,   165,   169,   170,   171,   172,   173,
2335 >     177,   178,   186,   216,   218,   220,   226,   231,   236,   439,
2336 >     440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
2337 >     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
2338 >     460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
2339 >     470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
2340 >     480,   481,   482,   483,   484,   485,   486,   490,   494,   495,
2341 >     496,   497,   241,   241,   241,   241,     1,   217,   230,   281,
2342 >     282,   283,   284,   285,   286,     1,    98,   126,   252,   253,
2343 >     254,   255,   241,   241,     1,    35,    48,    61,    62,    63,
2344 >      64,    81,   536,   537,   538,   539,   540,   541,   542,   543,
2345 >     544,     1,    31,    67,   100,   102,   103,   143,   145,   146,
2346 >     160,   197,   232,   233,   257,   258,   259,   263,   264,   265,
2347 >     266,   267,   268,   269,   270,   271,   272,   273,   241,   241,
2348 >       1,   100,   367,   368,   369,   239,   242,   242,   242,   240,
2349 >     276,   242,   242,   242,   242,   242,   242,   242,   242,   242,
2350 >     242,   242,   242,   242,   242,   242,   242,   242,   242,   240,
2351 >     516,     1,    22,    23,    26,    87,    88,    89,    92,   100,
2352 >     112,   113,   128,   129,   156,   315,   316,   317,   318,   319,
2353 >     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
2354 >       1,     3,     6,    24,    43,    47,    66,    68,    80,   100,
2355 >     130,   157,   232,   391,   392,   393,   394,   395,   396,   397,
2356 >     398,   399,   400,   404,   405,   406,   407,     1,    71,   133,
2357 >     420,   421,   422,   423,   242,   240,   426,     1,   100,   133,
2358 >     164,   430,   434,   435,   436,   437,   242,   242,   242,   242,
2359 >     242,   242,   242,   242,   242,   242,   242,   242,   242,   242,
2360 >     242,   242,   242,   242,   242,   242,   242,   242,   242,   242,
2361 >     242,   242,   242,   242,   491,   242,   487,   242,   242,   242,
2362 >     242,   242,   242,   242,   242,   242,   242,   242,   242,   242,
2363 >     242,   242,   242,   242,   242,   242,   242,   240,   440,     1,
2364 >       4,    39,    42,    83,   100,   225,   500,   501,   502,   503,
2365 >     504,   508,   509,   510,     1,    24,    43,    47,   125,   134,
2366 >     135,   167,   225,   346,   347,   348,   349,   350,   351,   352,
2367 >     356,   357,   358,     1,   133,   164,   225,   410,   414,   415,
2368 >     416,   417,     1,    47,    66,    71,   130,   332,   336,   337,
2369 >     338,   342,   343,   239,   242,   242,   240,   282,   238,   239,
2370 >     242,   242,   240,   253,     1,    24,    43,    47,   100,   125,
2371 >     144,   206,   225,   297,   298,   299,   300,   301,   302,   303,
2372 >     304,   305,   309,     1,    21,   104,   133,   361,   362,   363,
2373 >     364,   365,   242,   242,   242,   242,   242,   242,   242,   240,
2374 >     537,   239,   242,   242,   242,   242,   242,   242,   242,   260,
2375 >     242,   242,   242,   242,   240,   258,     1,   100,   164,   225,
2376 >     372,   373,   374,   375,   376,     1,   100,   164,   382,   383,
2377 >     384,   385,   242,   240,   368,   131,   131,   131,   239,   174,
2378 >     110,   110,   174,   174,   110,   248,   248,   110,   110,   174,
2379 >     174,   110,   248,   174,   174,   174,   174,   174,   239,   239,
2380 >     242,   242,   242,   242,   242,   242,   242,   242,   242,   242,
2381 >     242,   242,   242,   240,   316,   239,   242,   242,   242,   242,
2382 >     401,   242,   242,   242,   242,   242,   242,   242,   240,   392,
2383 >     242,   242,   240,   421,   131,   239,   242,   242,   431,   240,
2384 >     435,   174,   248,   248,   110,   174,   174,   110,   131,   174,
2385 >     110,   110,   110,   174,   174,   174,   248,   131,   174,   110,
2386 >     110,   248,   110,   110,   131,   110,   110,   174,   174,   242,
2387 >     174,   242,   248,   248,   174,   248,   174,   174,   174,   174,
2388 >     175,   174,   175,   174,   174,   248,   248,   110,   250,   131,
2389 >     248,   174,   174,   174,   174,   239,   511,   242,   242,   505,
2390 >     242,   242,   240,   501,   239,   242,   242,   353,   242,   242,
2391 >     242,   242,   242,   240,   347,   242,   411,   242,   240,   415,
2392 >     239,   333,   242,   242,   242,   240,   337,   174,   174,   239,
2393 >     241,   131,   131,   239,   239,   242,   242,   310,   242,   242,
2394 >     242,   306,   242,   240,   298,   239,   242,   242,   242,   240,
2395 >     362,   174,   174,   174,   131,   174,   174,   248,   239,   131,
2396 >     174,   131,   131,   131,   131,   131,   242,   131,   110,   131,
2397 >     131,   239,   239,   242,   377,   242,   240,   373,   239,   242,
2398 >     386,   240,   383,   131,   239,   239,   239,   239,   239,   239,
2399 >     239,   239,   239,   151,   152,   153,   154,   155,   247,   248,
2400 >     239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
2401 >     239,   239,   239,   110,   110,   248,   110,   110,   110,   110,
2402 >     131,   110,   110,   248,   248,   250,   239,   131,   194,   195,
2403 >     131,   174,   242,   131,   131,   131,   131,   110,   131,   131,
2404 >     239,   131,   131,   239,   239,   131,   131,   242,   239,   239,
2405 >     239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
2406 >     239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
2407 >     239,   239,   239,   239,   239,   239,   239,    61,   181,   182,
2408 >     183,   184,   185,   187,   188,   191,   192,   193,   196,   198,
2409 >     199,   200,   202,   203,   204,   207,   213,   492,   493,   239,
2410 >      61,   181,   182,   183,   184,   185,   187,   188,   191,   192,
2411 >     193,   196,   198,   199,   200,   202,   203,   204,   207,   213,
2412 >     488,   489,   239,   239,   239,   239,   239,   239,   239,   239,
2413 >     239,   239,   239,   239,   239,   239,   239,    14,    15,    16,
2414 >     249,   250,   239,   239,   239,   239,   239,   239,   239,   242,
2415 >     248,   174,   242,   131,   131,   239,   131,   174,   242,   131,
2416 >     110,   131,   131,   131,   239,   131,   242,   131,   239,   242,
2417 >     131,   131,   110,   340,   341,   239,   239,   239,     1,   100,
2418 >     164,   237,   287,   288,   289,   290,   291,   239,   239,   131,
2419 >     174,   242,   131,   131,   131,   242,   131,   239,   131,   131,
2420 >     131,   239,   239,   239,   239,   239,   239,   239,   239,   239,
2421 >     239,   239,   239,   239,   239,   239,   147,   148,   261,   262,
2422 >     239,   239,   239,   239,   131,   242,   131,   239,   131,   242,
2423 >     239,   239,   247,   247,   247,   247,   247,   239,   239,   239,
2424 >     239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
2425 >     239,   239,   239,   239,   239,    10,    12,   205,   219,   402,
2426 >     403,   239,   239,   239,   239,   239,   239,   239,   239,   239,
2427 >     239,   239,   136,   432,   433,   239,   243,   239,   243,   249,
2428 >     249,   249,    11,   176,   512,   513,   239,   239,    11,   176,
2429 >     506,   507,   239,   239,   239,   239,    20,    44,    53,    59,
2430 >      75,   101,   109,   150,   168,   354,   355,   239,   239,   239,
2431 >     239,   239,   239,   136,   412,   413,   239,    61,   201,   205,
2432 >     334,   335,   239,   239,   179,   243,   339,   239,   242,   292,
2433 >     242,   240,   288,   239,   239,     5,    32,    51,    57,    74,
2434 >      98,   105,   119,   137,   139,   140,   189,   199,   208,   212,
2435 >     214,   224,   234,   311,   312,   239,   239,   239,    61,   181,
2436 >     182,   183,   184,   185,   187,   188,   191,   192,   193,   196,
2437 >     198,   199,   200,   202,   203,   204,   207,   213,   307,   308,
2438 >     239,   239,   239,   239,   239,   243,   239,    74,   149,   180,
2439 >     189,   196,   208,   210,   211,   224,   234,   378,   379,   239,
2440 >     239,    74,   149,   180,   189,   196,   208,   210,   211,   224,
2441 >     234,   387,   388,   239,   243,   239,   243,   493,   489,   239,
2442 >     243,   239,   243,   239,   243,   239,   243,   239,   243,   110,
2443 >     341,   239,   131,   242,   209,   250,   239,   239,   243,   239,
2444 >     243,   262,   239,   243,   239,   243,   403,   433,   513,   507,
2445 >     355,   413,   335,   239,    51,    72,    74,   115,   188,   189,
2446 >     225,   293,   294,   239,   239,   312,   308,   379,   388,   239,
2447 >     243,   294
2448   };
2449  
2450   #define yyerrok         (yyerrstatus = 0)
# Line 2663 | Line 2459 | static const yytype_uint16 yystos[] =
2459  
2460   /* Like YYERROR except do call yyerror.  This remains here temporarily
2461     to ease the transition to the new meaning of YYERROR, for GCC.
2462 <   Once GCC version 2 has supplanted version 1, this can go.  */
2462 >   Once GCC version 2 has supplanted version 1, this can go.  However,
2463 >   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
2464 >   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
2465 >   discussed.  */
2466  
2467   #define YYFAIL          goto yyerrlab
2468 + #if defined YYFAIL
2469 +  /* This is here to suppress warnings from the GCC cpp's
2470 +     -Wunused-macros.  Normally we don't worry about that warning, but
2471 +     some users do, and we want to make it easy for users to remove
2472 +     YYFAIL uses, which will produce warnings from Bison 2.5.  */
2473 + #endif
2474  
2475   #define YYRECOVERING()  (!!yyerrstatus)
2476  
# Line 2675 | Line 2480 | do                                                             \
2480      {                                                           \
2481        yychar = (Token);                                         \
2482        yylval = (Value);                                         \
2678      yytoken = YYTRANSLATE (yychar);                           \
2483        YYPOPSTACK (1);                                           \
2484        goto yybackup;                                            \
2485      }                                                           \
# Line 2717 | Line 2521 | while (YYID (0))
2521   #endif
2522  
2523  
2524 < /* YY_LOCATION_PRINT -- Print the location on the stream.
2721 <   This macro was not mandated originally: define only if we know
2722 <   we won't break user code: when these are the locations we know.  */
2524 > /* This macro is provided for backward compatibility. */
2525  
2526   #ifndef YY_LOCATION_PRINT
2527 < # if YYLTYPE_IS_TRIVIAL
2726 < #  define YY_LOCATION_PRINT(File, Loc)                  \
2727 <     fprintf (File, "%d.%d-%d.%d",                      \
2728 <              (Loc).first_line, (Loc).first_column,     \
2729 <              (Loc).last_line,  (Loc).last_column)
2730 < # else
2731 < #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2732 < # endif
2527 > # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2528   #endif
2529  
2530  
# Line 2921 | Line 2716 | int yydebug;
2716   # define YYMAXDEPTH 10000
2717   #endif
2718  
2924
2719  
2720   #if YYERROR_VERBOSE
2721  
# Line 3024 | Line 2818 | yytnamerr (char *yyres, const char *yyst
2818   }
2819   # endif
2820  
2821 < /* Copy into YYRESULT an error message about the unexpected token
2822 <   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
2823 <   including the terminating null byte.  If YYRESULT is null, do not
2824 <   copy anything; just return the number of bytes that would be
2825 <   copied.  As a special case, return 0 if an ordinary "syntax error"
2826 <   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
2827 <   size calculation.  */
2828 < static YYSIZE_T
2829 < yysyntax_error (char *yyresult, int yystate, int yychar)
2821 > /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
2822 >   about the unexpected token YYTOKEN for the state stack whose top is
2823 >   YYSSP.
2824 >
2825 >   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
2826 >   not large enough to hold the message.  In that case, also set
2827 >   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
2828 >   required number of bytes is too large to store.  */
2829 > static int
2830 > yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2831 >                yytype_int16 *yyssp, int yytoken)
2832   {
2833 <  int yyn = yypact[yystate];
2833 >  YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
2834 >  YYSIZE_T yysize = yysize0;
2835 >  YYSIZE_T yysize1;
2836 >  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2837 >  /* Internationalized format string. */
2838 >  const char *yyformat = 0;
2839 >  /* Arguments of yyformat. */
2840 >  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2841 >  /* Number of reported tokens (one for the "unexpected", one per
2842 >     "expected"). */
2843 >  int yycount = 0;
2844 >
2845 >  /* There are many possibilities here to consider:
2846 >     - Assume YYFAIL is not used.  It's too flawed to consider.  See
2847 >       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
2848 >       for details.  YYERROR is fine as it does not invoke this
2849 >       function.
2850 >     - If this state is a consistent state with a default action, then
2851 >       the only way this function was invoked is if the default action
2852 >       is an error action.  In that case, don't check for expected
2853 >       tokens because there are none.
2854 >     - The only way there can be no lookahead present (in yychar) is if
2855 >       this state is a consistent state with a default action.  Thus,
2856 >       detecting the absence of a lookahead is sufficient to determine
2857 >       that there is no unexpected or expected token to report.  In that
2858 >       case, just report a simple "syntax error".
2859 >     - Don't assume there isn't a lookahead just because this state is a
2860 >       consistent state with a default action.  There might have been a
2861 >       previous inconsistent state, consistent state with a non-default
2862 >       action, or user semantic action that manipulated yychar.
2863 >     - Of course, the expected token list depends on states to have
2864 >       correct lookahead information, and it depends on the parser not
2865 >       to perform extra reductions after fetching a lookahead from the
2866 >       scanner and before detecting a syntax error.  Thus, state merging
2867 >       (from LALR or IELR) and default reductions corrupt the expected
2868 >       token list.  However, the list is correct for canonical LR with
2869 >       one exception: it will still contain any token that will not be
2870 >       accepted due to an error action in a later state.
2871 >  */
2872 >  if (yytoken != YYEMPTY)
2873 >    {
2874 >      int yyn = yypact[*yyssp];
2875 >      yyarg[yycount++] = yytname[yytoken];
2876 >      if (!yypact_value_is_default (yyn))
2877 >        {
2878 >          /* Start YYX at -YYN if negative to avoid negative indexes in
2879 >             YYCHECK.  In other words, skip the first -YYN actions for
2880 >             this state because they are default actions.  */
2881 >          int yyxbegin = yyn < 0 ? -yyn : 0;
2882 >          /* Stay within bounds of both yycheck and yytname.  */
2883 >          int yychecklim = YYLAST - yyn + 1;
2884 >          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2885 >          int yyx;
2886 >
2887 >          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2888 >            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
2889 >                && !yytable_value_is_error (yytable[yyx + yyn]))
2890 >              {
2891 >                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2892 >                  {
2893 >                    yycount = 1;
2894 >                    yysize = yysize0;
2895 >                    break;
2896 >                  }
2897 >                yyarg[yycount++] = yytname[yyx];
2898 >                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2899 >                if (! (yysize <= yysize1
2900 >                       && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2901 >                  return 2;
2902 >                yysize = yysize1;
2903 >              }
2904 >        }
2905 >    }
2906  
2907 <  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
3040 <    return 0;
3041 <  else
2907 >  switch (yycount)
2908      {
2909 <      int yytype = YYTRANSLATE (yychar);
2910 <      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2911 <      YYSIZE_T yysize = yysize0;
2912 <      YYSIZE_T yysize1;
2913 <      int yysize_overflow = 0;
2914 <      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2915 <      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2916 <      int yyx;
2917 <
2918 < # if 0
2919 <      /* This is so xgettext sees the translatable formats that are
2920 <         constructed on the fly.  */
2921 <      YY_("syntax error, unexpected %s");
2922 <      YY_("syntax error, unexpected %s, expecting %s");
2923 <      YY_("syntax error, unexpected %s, expecting %s or %s");
2924 <      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2925 <      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2926 < # endif
2927 <      char *yyfmt;
2928 <      char const *yyf;
2929 <      static char const yyunexpected[] = "syntax error, unexpected %s";
2930 <      static char const yyexpecting[] = ", expecting %s";
2931 <      static char const yyor[] = " or %s";
2932 <      char yyformat[sizeof yyunexpected
2933 <                    + sizeof yyexpecting - 1
2934 <                    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2935 <                       * (sizeof yyor - 1))];
2936 <      char const *yyprefix = yyexpecting;
2937 <
2938 <      /* Start YYX at -YYN if negative to avoid negative indexes in
2939 <         YYCHECK.  */
2940 <      int yyxbegin = yyn < 0 ? -yyn : 0;
2941 <
2942 <      /* Stay within bounds of both yycheck and yytname.  */
2943 <      int yychecklim = YYLAST - yyn + 1;
2944 <      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2945 <      int yycount = 1;
2946 <
2947 <      yyarg[0] = yytname[yytype];
2948 <      yyfmt = yystpcpy (yyformat, yyunexpected);
2949 <
2950 <      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2951 <        if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2952 <          {
2953 <            if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2954 <              {
3089 <                yycount = 1;
3090 <                yysize = yysize0;
3091 <                yyformat[sizeof yyunexpected - 1] = '\0';
3092 <                break;
3093 <              }
3094 <            yyarg[yycount++] = yytname[yyx];
3095 <            yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3096 <            yysize_overflow |= (yysize1 < yysize);
3097 <            yysize = yysize1;
3098 <            yyfmt = yystpcpy (yyfmt, yyprefix);
3099 <            yyprefix = yyor;
3100 <          }
3101 <
3102 <      yyf = YY_(yyformat);
3103 <      yysize1 = yysize + yystrlen (yyf);
3104 <      yysize_overflow |= (yysize1 < yysize);
3105 <      yysize = yysize1;
3106 <
3107 <      if (yysize_overflow)
3108 <        return YYSIZE_MAXIMUM;
3109 <
3110 <      if (yyresult)
3111 <        {
3112 <          /* Avoid sprintf, as that infringes on the user's name space.
3113 <             Don't have undefined behavior even if the translation
3114 <             produced a string with the wrong number of "%s"s.  */
3115 <          char *yyp = yyresult;
3116 <          int yyi = 0;
3117 <          while ((*yyp = *yyf) != '\0')
3118 <            {
3119 <              if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3120 <                {
3121 <                  yyp += yytnamerr (yyp, yyarg[yyi++]);
3122 <                  yyf += 2;
3123 <                }
3124 <              else
3125 <                {
3126 <                  yyp++;
3127 <                  yyf++;
3128 <                }
3129 <            }
3130 <        }
3131 <      return yysize;
3132 <    }
2909 > # define YYCASE_(N, S)                      \
2910 >      case N:                               \
2911 >        yyformat = S;                       \
2912 >      break
2913 >      YYCASE_(0, YY_("syntax error"));
2914 >      YYCASE_(1, YY_("syntax error, unexpected %s"));
2915 >      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
2916 >      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
2917 >      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
2918 >      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
2919 > # undef YYCASE_
2920 >    }
2921 >
2922 >  yysize1 = yysize + yystrlen (yyformat);
2923 >  if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2924 >    return 2;
2925 >  yysize = yysize1;
2926 >
2927 >  if (*yymsg_alloc < yysize)
2928 >    {
2929 >      *yymsg_alloc = 2 * yysize;
2930 >      if (! (yysize <= *yymsg_alloc
2931 >             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
2932 >        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
2933 >      return 1;
2934 >    }
2935 >
2936 >  /* Avoid sprintf, as that infringes on the user's name space.
2937 >     Don't have undefined behavior even if the translation
2938 >     produced a string with the wrong number of "%s"s.  */
2939 >  {
2940 >    char *yyp = *yymsg;
2941 >    int yyi = 0;
2942 >    while ((*yyp = *yyformat) != '\0')
2943 >      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
2944 >        {
2945 >          yyp += yytnamerr (yyp, yyarg[yyi++]);
2946 >          yyformat += 2;
2947 >        }
2948 >      else
2949 >        {
2950 >          yyp++;
2951 >          yyformat++;
2952 >        }
2953 >  }
2954 >  return 0;
2955   }
2956   #endif /* YYERROR_VERBOSE */
3135
2957  
2958   /*-----------------------------------------------.
2959   | Release the memory associated to this symbol.  |
# Line 3165 | Line 2986 | yydestruct (yymsg, yytype, yyvaluep)
2986      }
2987   }
2988  
2989 +
2990   /* Prevent warnings from -Wmissing-prototypes.  */
2991   #ifdef YYPARSE_PARAM
2992   #if defined __STDC__ || defined __cplusplus
# Line 3191 | Line 3013 | YYSTYPE yylval;
3013   int yynerrs;
3014  
3015  
3016 <
3017 < /*-------------------------.
3018 < | yyparse or yypush_parse.  |
3197 < `-------------------------*/
3016 > /*----------.
3017 > | yyparse.  |
3018 > `----------*/
3019  
3020   #ifdef YYPARSE_PARAM
3021   #if (defined __STDC__ || defined __C99__FUNC__ \
# Line 3218 | Line 3039 | yyparse ()
3039   #endif
3040   #endif
3041   {
3221
3222
3042      int yystate;
3043      /* Number of tokens to shift before error messages enabled.  */
3044      int yyerrstatus;
# Line 3374 | Line 3193 | yybackup:
3193  
3194    /* First try to decide what to do without reference to lookahead token.  */
3195    yyn = yypact[yystate];
3196 <  if (yyn == YYPACT_NINF)
3196 >  if (yypact_value_is_default (yyn))
3197      goto yydefault;
3198  
3199    /* Not known => get a lookahead token if don't already have one.  */
# Line 3405 | Line 3224 | yybackup:
3224    yyn = yytable[yyn];
3225    if (yyn <= 0)
3226      {
3227 <      if (yyn == 0 || yyn == YYTABLE_NINF)
3228 <        goto yyerrlab;
3227 >      if (yytable_value_is_error (yyn))
3228 >        goto yyerrlab;
3229        yyn = -yyn;
3230        goto yyreduce;
3231      }
# Line 3459 | Line 3278 | yyreduce:
3278    YY_REDUCE_PRINT (yyn);
3279    switch (yyn)
3280      {
3281 <        case 26:
3281 >        case 27:
3282  
3283 < /* Line 1455 of yacc.c  */
3284 < #line 426 "ircd_parser.y"
3283 > /* Line 1806 of yacc.c  */
3284 > #line 404 "ircd_parser.y"
3285      { (yyval.number) = 0; }
3286      break;
3287  
3288 <  case 28:
3288 >  case 29:
3289  
3290 < /* Line 1455 of yacc.c  */
3291 < #line 428 "ircd_parser.y"
3290 > /* Line 1806 of yacc.c  */
3291 > #line 406 "ircd_parser.y"
3292      {
3293                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3294                  }
3295      break;
3296  
3297 <  case 29:
3297 >  case 30:
3298  
3299 < /* Line 1455 of yacc.c  */
3300 < #line 432 "ircd_parser.y"
3299 > /* Line 1806 of yacc.c  */
3300 > #line 410 "ircd_parser.y"
3301      {
3302                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3303                  }
3304      break;
3305  
3306 <  case 30:
3306 >  case 31:
3307  
3308 < /* Line 1455 of yacc.c  */
3309 < #line 436 "ircd_parser.y"
3308 > /* Line 1806 of yacc.c  */
3309 > #line 414 "ircd_parser.y"
3310      {
3311                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3312                  }
3313      break;
3314  
3315 <  case 31:
3315 >  case 32:
3316  
3317 < /* Line 1455 of yacc.c  */
3318 < #line 440 "ircd_parser.y"
3317 > /* Line 1806 of yacc.c  */
3318 > #line 418 "ircd_parser.y"
3319      {
3320                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3321                  }
3322      break;
3323  
3324 <  case 32:
3324 >  case 33:
3325  
3326 < /* Line 1455 of yacc.c  */
3327 < #line 444 "ircd_parser.y"
3326 > /* Line 1806 of yacc.c  */
3327 > #line 422 "ircd_parser.y"
3328      {
3329                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3330                  }
3331      break;
3332  
3333 <  case 33:
3333 >  case 34:
3334  
3335 < /* Line 1455 of yacc.c  */
3336 < #line 448 "ircd_parser.y"
3335 > /* Line 1806 of yacc.c  */
3336 > #line 426 "ircd_parser.y"
3337      {
3338                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3339                  }
3340      break;
3341  
3342 <  case 34:
3342 >  case 35:
3343  
3344 < /* Line 1455 of yacc.c  */
3345 < #line 453 "ircd_parser.y"
3344 > /* Line 1806 of yacc.c  */
3345 > #line 431 "ircd_parser.y"
3346      { (yyval.number) = 0; }
3347      break;
3348  
3349 <  case 36:
3349 >  case 37:
3350  
3351 < /* Line 1455 of yacc.c  */
3352 < #line 454 "ircd_parser.y"
3351 > /* Line 1806 of yacc.c  */
3352 > #line 432 "ircd_parser.y"
3353      { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3354      break;
3355  
3356 <  case 37:
3356 >  case 38:
3357  
3358 < /* Line 1455 of yacc.c  */
3359 < #line 455 "ircd_parser.y"
3358 > /* Line 1806 of yacc.c  */
3359 > #line 433 "ircd_parser.y"
3360      { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3361      break;
3362  
3363 <  case 38:
3363 >  case 39:
3364  
3365 < /* Line 1455 of yacc.c  */
3366 < #line 456 "ircd_parser.y"
3365 > /* Line 1806 of yacc.c  */
3366 > #line 434 "ircd_parser.y"
3367      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3368      break;
3369  
3370 <  case 39:
3370 >  case 40:
3371  
3372 < /* Line 1455 of yacc.c  */
3373 < #line 457 "ircd_parser.y"
3372 > /* Line 1806 of yacc.c  */
3373 > #line 435 "ircd_parser.y"
3374      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
3375      break;
3376  
3377 <  case 46:
3377 >  case 47:
3378  
3379 < /* Line 1455 of yacc.c  */
3380 < #line 471 "ircd_parser.y"
3379 > /* Line 1806 of yacc.c  */
3380 > #line 449 "ircd_parser.y"
3381      {
3563 #ifndef STATIC_MODULES /* NOOP in the static case */
3382    if (conf_parser_ctx.pass == 2)
3383      add_conf_module(libio_basename(yylval.string));
3566 #endif
3384   }
3385      break;
3386  
3387 <  case 47:
3387 >  case 48:
3388  
3389 < /* Line 1455 of yacc.c  */
3390 < #line 479 "ircd_parser.y"
3389 > /* Line 1806 of yacc.c  */
3390 > #line 455 "ircd_parser.y"
3391      {
3575 #ifndef STATIC_MODULES
3392    if (conf_parser_ctx.pass == 2)
3393      mod_add_path(yylval.string);
3578 #endif
3394   }
3395      break;
3396  
3397 <  case 64:
3397 >  case 65:
3398  
3399 < /* Line 1455 of yacc.c  */
3400 < #line 501 "ircd_parser.y"
3399 > /* Line 1806 of yacc.c  */
3400 > #line 475 "ircd_parser.y"
3401      {
3402   #ifdef HAVE_LIBCRYPTO
3403    if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
# Line 3591 | Line 3406 | yyreduce:
3406   }
3407      break;
3408  
3409 <  case 65:
3409 >  case 66:
3410  
3411 < /* Line 1455 of yacc.c  */
3412 < #line 507 "ircd_parser.y"
3411 > /* Line 1806 of yacc.c  */
3412 > #line 481 "ircd_parser.y"
3413      {
3414   #ifdef HAVE_LIBCRYPTO
3415    if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3416    {
3417      if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_SSLV3))
3418 +    {
3419        SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3420 +      SSL_CTX_set_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
3421 +    }
3422 +
3423      if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_TLSV1))
3424 +    {
3425        SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3426 +      SSL_CTX_set_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
3427 +    }
3428    }
3429   #endif
3430   }
3431      break;
3432  
3433 <  case 68:
3433 >  case 69:
3434  
3435 < /* Line 1455 of yacc.c  */
3436 < #line 521 "ircd_parser.y"
3435 > /* Line 1806 of yacc.c  */
3436 > #line 502 "ircd_parser.y"
3437      {
3438   #ifdef HAVE_LIBCRYPTO
3439    if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
# Line 3620 | Line 3442 | yyreduce:
3442   }
3443      break;
3444  
3445 <  case 69:
3445 >  case 70:
3446  
3447 < /* Line 1455 of yacc.c  */
3448 < #line 527 "ircd_parser.y"
3447 > /* Line 1806 of yacc.c  */
3448 > #line 508 "ircd_parser.y"
3449      {
3450   #ifdef HAVE_LIBCRYPTO
3451    if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
# Line 3632 | Line 3454 | yyreduce:
3454   }
3455      break;
3456  
3457 <  case 70:
3457 >  case 71:
3458  
3459 < /* Line 1455 of yacc.c  */
3460 < #line 535 "ircd_parser.y"
3459 > /* Line 1806 of yacc.c  */
3460 > #line 516 "ircd_parser.y"
3461      {
3462   #ifdef HAVE_LIBCRYPTO
3463    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3647 | Line 3469 | yyreduce:
3469      }
3470  
3471      if (SSL_CTX_use_certificate_file(ServerInfo.server_ctx, yylval.string,
3472 +                                     SSL_FILETYPE_PEM) <= 0 ||
3473 +        SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3474                                       SSL_FILETYPE_PEM) <= 0)
3475      {
3476        yyerror(ERR_lib_error_string(ERR_get_error()));
# Line 3654 | Line 3478 | yyreduce:
3478      }
3479  
3480      if (SSL_CTX_use_PrivateKey_file(ServerInfo.server_ctx, ServerInfo.rsa_private_key_file,
3481 +                                    SSL_FILETYPE_PEM) <= 0 ||
3482 +        SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3483                                      SSL_FILETYPE_PEM) <= 0)
3484      {
3485        yyerror(ERR_lib_error_string(ERR_get_error()));
3486        break;
3487      }
3488  
3489 <    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx))
3489 >    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3490 >        !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3491      {
3492        yyerror(ERR_lib_error_string(ERR_get_error()));
3493        break;
# Line 3670 | Line 3497 | yyreduce:
3497   }
3498      break;
3499  
3500 <  case 71:
3500 >  case 72:
3501  
3502 < /* Line 1455 of yacc.c  */
3503 < #line 569 "ircd_parser.y"
3502 > /* Line 1806 of yacc.c  */
3503 > #line 555 "ircd_parser.y"
3504      {
3505   #ifdef HAVE_LIBCRYPTO
3506    if (conf_parser_ctx.pass == 1)
# Line 3734 | Line 3561 | yyreduce:
3561   }
3562      break;
3563  
3564 <  case 72:
3564 >  case 73:
3565  
3566 < /* Line 1455 of yacc.c  */
3567 < #line 629 "ircd_parser.y"
3566 > /* Line 1806 of yacc.c  */
3567 > #line 615 "ircd_parser.y"
3568      {
3569    /* this isn't rehashable */
3570 <  if (conf_parser_ctx.pass == 2)
3570 >  if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
3571    {
3572 <    if (ServerInfo.name == NULL)
3572 >    if (valid_servname(yylval.string))
3573 >      DupString(ServerInfo.name, yylval.string);
3574 >    else
3575      {
3576 <      /* the ircd will exit() in main() if we dont set one */
3577 <      if (strlen(yylval.string) <= HOSTLEN)
3749 <        DupString(ServerInfo.name, yylval.string);
3576 >      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::name -- invalid name. Aborting.");
3577 >      exit(0);
3578      }
3579    }
3580   }
3581      break;
3582  
3583 <  case 73:
3583 >  case 74:
3584  
3585 < /* Line 1455 of yacc.c  */
3586 < #line 643 "ircd_parser.y"
3585 > /* Line 1806 of yacc.c  */
3586 > #line 630 "ircd_parser.y"
3587      {
3588    /* this isn't rehashable */
3589    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3764 | Line 3592 | yyreduce:
3592        DupString(ServerInfo.sid, yylval.string);
3593      else
3594      {
3595 <      ilog(L_ERROR, "Ignoring config file entry SID -- invalid SID. Aborting.");
3595 >      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::sid -- invalid SID. Aborting.");
3596        exit(0);
3597      }
3598    }
3599   }
3600      break;
3601  
3602 <  case 74:
3602 >  case 75:
3603  
3604 < /* Line 1455 of yacc.c  */
3605 < #line 658 "ircd_parser.y"
3604 > /* Line 1806 of yacc.c  */
3605 > #line 645 "ircd_parser.y"
3606      {
3607    if (conf_parser_ctx.pass == 2)
3608    {
# Line 3784 | Line 3612 | yyreduce:
3612   }
3613      break;
3614  
3615 <  case 75:
3615 >  case 76:
3616  
3617 < /* Line 1455 of yacc.c  */
3618 < #line 667 "ircd_parser.y"
3617 > /* Line 1806 of yacc.c  */
3618 > #line 654 "ircd_parser.y"
3619      {
3620    if (conf_parser_ctx.pass == 2)
3621    {
# Line 3802 | Line 3630 | yyreduce:
3630   }
3631      break;
3632  
3633 <  case 76:
3633 >  case 77:
3634  
3635 < /* Line 1455 of yacc.c  */
3636 < #line 681 "ircd_parser.y"
3635 > /* Line 1806 of yacc.c  */
3636 > #line 668 "ircd_parser.y"
3637      {
3638    if (conf_parser_ctx.pass == 2)
3639    {
# Line 3815 | Line 3643 | yyreduce:
3643   }
3644      break;
3645  
3646 <  case 77:
3646 >  case 78:
3647  
3648 < /* Line 1455 of yacc.c  */
3649 < #line 690 "ircd_parser.y"
3648 > /* Line 1806 of yacc.c  */
3649 > #line 677 "ircd_parser.y"
3650      {
3651    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3652    {
# Line 3830 | Line 3658 | yyreduce:
3658      hints.ai_socktype = SOCK_STREAM;
3659      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
3660  
3661 <    if (irc_getaddrinfo(yylval.string, NULL, &hints, &res))
3662 <      ilog(L_ERROR, "Invalid netmask for server vhost(%s)", yylval.string);
3661 >    if (getaddrinfo(yylval.string, NULL, &hints, &res))
3662 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
3663      else
3664      {
3665        assert(res != NULL);
# Line 3839 | Line 3667 | yyreduce:
3667        memcpy(&ServerInfo.ip, res->ai_addr, res->ai_addrlen);
3668        ServerInfo.ip.ss.ss_family = res->ai_family;
3669        ServerInfo.ip.ss_len = res->ai_addrlen;
3670 <      irc_freeaddrinfo(res);
3670 >      freeaddrinfo(res);
3671  
3672        ServerInfo.specific_ipv4_vhost = 1;
3673      }
# Line 3847 | Line 3675 | yyreduce:
3675   }
3676      break;
3677  
3678 <  case 78:
3678 >  case 79:
3679  
3680 < /* Line 1455 of yacc.c  */
3681 < #line 718 "ircd_parser.y"
3680 > /* Line 1806 of yacc.c  */
3681 > #line 705 "ircd_parser.y"
3682      {
3683   #ifdef IPV6
3684    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3863 | Line 3691 | yyreduce:
3691      hints.ai_socktype = SOCK_STREAM;
3692      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
3693  
3694 <    if (irc_getaddrinfo(yylval.string, NULL, &hints, &res))
3695 <      ilog(L_ERROR, "Invalid netmask for server vhost6(%s)", yylval.string);
3694 >    if (getaddrinfo(yylval.string, NULL, &hints, &res))
3695 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost6(%s)", yylval.string);
3696      else
3697      {
3698        assert(res != NULL);
# Line 3872 | Line 3700 | yyreduce:
3700        memcpy(&ServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3701        ServerInfo.ip6.ss.ss_family = res->ai_family;
3702        ServerInfo.ip6.ss_len = res->ai_addrlen;
3703 <      irc_freeaddrinfo(res);
3703 >      freeaddrinfo(res);
3704  
3705        ServerInfo.specific_ipv6_vhost = 1;
3706      }
# Line 3881 | Line 3709 | yyreduce:
3709   }
3710      break;
3711  
3712 <  case 79:
3712 >  case 80:
3713  
3714 < /* Line 1455 of yacc.c  */
3715 < #line 748 "ircd_parser.y"
3714 > /* Line 1806 of yacc.c  */
3715 > #line 735 "ircd_parser.y"
3716      {
3717    if (conf_parser_ctx.pass == 2)
3718    {
# Line 3908 | Line 3736 | yyreduce:
3736   }
3737      break;
3738  
3739 <  case 80:
3739 >  case 81:
3740  
3741 < /* Line 1455 of yacc.c  */
3742 < #line 771 "ircd_parser.y"
3741 > /* Line 1806 of yacc.c  */
3742 > #line 758 "ircd_parser.y"
3743      {
3744    if (conf_parser_ctx.pass == 2)
3745 <  {
3918 <    if (yylval.number)
3919 <    {
3920 <      ServerInfo.hub = 1;
3921 <      delete_capability("HUB");
3922 <      add_capability("HUB", CAP_HUB, 1);
3923 <    }
3924 <    else if (ServerInfo.hub)
3925 <    {
3926 <
3927 <      ServerInfo.hub = 0;
3928 <      delete_capability("HUB");
3929 <    }
3930 <  }
3745 >    ServerInfo.hub = yylval.number;
3746   }
3747      break;
3748  
3749 <  case 88:
3749 >  case 89:
3750  
3751 < /* Line 1455 of yacc.c  */
3752 < #line 799 "ircd_parser.y"
3751 > /* Line 1806 of yacc.c  */
3752 > #line 773 "ircd_parser.y"
3753      {
3754    if (conf_parser_ctx.pass == 2)
3755    {
# Line 3944 | Line 3759 | yyreduce:
3759   }
3760      break;
3761  
3762 <  case 89:
3762 >  case 90:
3763  
3764 < /* Line 1455 of yacc.c  */
3765 < #line 808 "ircd_parser.y"
3764 > /* Line 1806 of yacc.c  */
3765 > #line 782 "ircd_parser.y"
3766      {
3767    if (conf_parser_ctx.pass == 2)
3768    {
# Line 3957 | Line 3772 | yyreduce:
3772   }
3773      break;
3774  
3775 <  case 90:
3775 >  case 91:
3776  
3777 < /* Line 1455 of yacc.c  */
3778 < #line 817 "ircd_parser.y"
3777 > /* Line 1806 of yacc.c  */
3778 > #line 791 "ircd_parser.y"
3779      {
3780    if (conf_parser_ctx.pass == 2)
3781    {
# Line 3970 | Line 3785 | yyreduce:
3785   }
3786      break;
3787  
3788 <  case 107:
3788 >  case 99:
3789  
3790 < /* Line 1455 of yacc.c  */
3791 < #line 844 "ircd_parser.y"
3790 > /* Line 1806 of yacc.c  */
3791 > #line 809 "ircd_parser.y"
3792      {
3793 <                        }
3794 <    break;
3795 <
3981 <  case 108:
3982 <
3983 < /* Line 1455 of yacc.c  */
3984 < #line 848 "ircd_parser.y"
3985 <    {
3986 <                        }
3793 >  if (conf_parser_ctx.pass == 2)
3794 >    ConfigLoggingEntry.use_logging = yylval.number;
3795 > }
3796      break;
3797  
3798 <  case 109:
3798 >  case 100:
3799  
3800 < /* Line 1455 of yacc.c  */
3801 < #line 852 "ircd_parser.y"
3800 > /* Line 1806 of yacc.c  */
3801 > #line 815 "ircd_parser.y"
3802      {
3803    if (conf_parser_ctx.pass == 2)
3804 <    strlcpy(ConfigLoggingEntry.userlog, yylval.string,
3996 <            sizeof(ConfigLoggingEntry.userlog));
3804 >    ConfigLoggingEntry.timestamp = yylval.number;
3805   }
3806      break;
3807  
3808 <  case 110:
3808 >  case 101:
3809  
3810 < /* Line 1455 of yacc.c  */
3811 < #line 859 "ircd_parser.y"
3810 > /* Line 1806 of yacc.c  */
3811 > #line 821 "ircd_parser.y"
3812      {
3813 <  if (conf_parser_ctx.pass == 2)
3814 <    strlcpy(ConfigLoggingEntry.failed_operlog, yylval.string,
3815 <            sizeof(ConfigLoggingEntry.failed_operlog));
3813 >  lfile[0] = '\0';
3814 >  ltype = 0;
3815 >  lsize = 0;
3816   }
3817      break;
3818  
3819 <  case 111:
3819 >  case 102:
3820  
3821 < /* Line 1455 of yacc.c  */
3822 < #line 866 "ircd_parser.y"
3821 > /* Line 1806 of yacc.c  */
3822 > #line 826 "ircd_parser.y"
3823      {
3824 <  if (conf_parser_ctx.pass == 2)
3825 <    strlcpy(ConfigLoggingEntry.operlog, yylval.string,
4018 <            sizeof(ConfigLoggingEntry.operlog));
3824 >  if (conf_parser_ctx.pass == 2 && ltype > 0)
3825 >    log_add_file(ltype, lsize, lfile);
3826   }
3827      break;
3828  
3829 <  case 112:
3829 >  case 109:
3830  
3831 < /* Line 1455 of yacc.c  */
3832 < #line 873 "ircd_parser.y"
3831 > /* Line 1806 of yacc.c  */
3832 > #line 838 "ircd_parser.y"
3833      {
3834 <  if (conf_parser_ctx.pass == 2)
4028 <    strlcpy(ConfigLoggingEntry.operspylog, yylval.string,
4029 <            sizeof(ConfigLoggingEntry.operspylog));
3834 >  strlcpy(lfile, yylval.string, sizeof(lfile));
3835   }
3836      break;
3837  
3838 <  case 113:
3838 >  case 110:
3839  
3840 < /* Line 1455 of yacc.c  */
3841 < #line 880 "ircd_parser.y"
3840 > /* Line 1806 of yacc.c  */
3841 > #line 843 "ircd_parser.y"
3842      {
3843 <  if (conf_parser_ctx.pass == 2)
4039 <    strlcpy(ConfigLoggingEntry.glinelog, yylval.string,
4040 <            sizeof(ConfigLoggingEntry.glinelog));
3843 >  lsize = (yyvsp[(3) - (4)].number);
3844   }
3845      break;
3846  
3847 <  case 114:
3847 >  case 111:
3848  
3849 < /* Line 1455 of yacc.c  */
3850 < #line 887 "ircd_parser.y"
3849 > /* Line 1806 of yacc.c  */
3850 > #line 846 "ircd_parser.y"
3851      {
3852 <  if (conf_parser_ctx.pass == 2)
4050 <    strlcpy(ConfigLoggingEntry.klinelog, yylval.string,
4051 <            sizeof(ConfigLoggingEntry.klinelog));
3852 >  lsize = 0;
3853   }
3854      break;
3855  
3856 <  case 115:
3856 >  case 112:
3857  
3858 < /* Line 1455 of yacc.c  */
3859 < #line 894 "ircd_parser.y"
3858 > /* Line 1806 of yacc.c  */
3859 > #line 851 "ircd_parser.y"
3860      {
3861    if (conf_parser_ctx.pass == 2)
3862 <    strlcpy(ConfigLoggingEntry.ioerrlog, yylval.string,
4062 <            sizeof(ConfigLoggingEntry.ioerrlog));
3862 >    ltype = 0;
3863   }
3864      break;
3865  
3866    case 116:
3867  
3868 < /* Line 1455 of yacc.c  */
3869 < #line 901 "ircd_parser.y"
3868 > /* Line 1806 of yacc.c  */
3869 > #line 858 "ircd_parser.y"
3870      {
3871    if (conf_parser_ctx.pass == 2)
3872 <    strlcpy(ConfigLoggingEntry.killlog, yylval.string,
4073 <            sizeof(ConfigLoggingEntry.killlog));
3872 >    ltype = LOG_TYPE_USER;
3873   }
3874      break;
3875  
3876    case 117:
3877  
3878 < /* Line 1455 of yacc.c  */
3879 < #line 908 "ircd_parser.y"
3880 <    {
3878 > /* Line 1806 of yacc.c  */
3879 > #line 862 "ircd_parser.y"
3880 >    {
3881    if (conf_parser_ctx.pass == 2)
3882 <    set_log_level(L_CRIT);
3882 >    ltype = LOG_TYPE_OPER;
3883   }
3884      break;
3885  
3886    case 118:
3887  
3888 < /* Line 1455 of yacc.c  */
3889 < #line 912 "ircd_parser.y"
3888 > /* Line 1806 of yacc.c  */
3889 > #line 866 "ircd_parser.y"
3890      {
3891    if (conf_parser_ctx.pass == 2)
3892 <    set_log_level(L_ERROR);
3892 >    ltype = LOG_TYPE_GLINE;
3893   }
3894      break;
3895  
3896    case 119:
3897  
3898 < /* Line 1455 of yacc.c  */
3899 < #line 916 "ircd_parser.y"
3898 > /* Line 1806 of yacc.c  */
3899 > #line 870 "ircd_parser.y"
3900      {
3901    if (conf_parser_ctx.pass == 2)
3902 <    set_log_level(L_WARN);
3902 >    ltype = LOG_TYPE_DLINE;
3903   }
3904      break;
3905  
3906    case 120:
3907  
3908 < /* Line 1455 of yacc.c  */
3909 < #line 920 "ircd_parser.y"
3908 > /* Line 1806 of yacc.c  */
3909 > #line 874 "ircd_parser.y"
3910      {
3911    if (conf_parser_ctx.pass == 2)
3912 <    set_log_level(L_NOTICE);
3912 >    ltype = LOG_TYPE_KLINE;
3913   }
3914      break;
3915  
3916    case 121:
3917  
3918 < /* Line 1455 of yacc.c  */
3919 < #line 924 "ircd_parser.y"
3918 > /* Line 1806 of yacc.c  */
3919 > #line 878 "ircd_parser.y"
3920      {
3921    if (conf_parser_ctx.pass == 2)
3922 <    set_log_level(L_TRACE);
3922 >    ltype = LOG_TYPE_KILL;
3923   }
3924      break;
3925  
3926    case 122:
3927  
3928 < /* Line 1455 of yacc.c  */
3929 < #line 928 "ircd_parser.y"
3928 > /* Line 1806 of yacc.c  */
3929 > #line 882 "ircd_parser.y"
3930      {
3931    if (conf_parser_ctx.pass == 2)
3932 <    set_log_level(L_INFO);
3932 >    ltype = LOG_TYPE_DEBUG;
3933   }
3934      break;
3935  
3936    case 123:
3937  
3938 < /* Line 1455 of yacc.c  */
3939 < #line 932 "ircd_parser.y"
4141 <    {
4142 <  if (conf_parser_ctx.pass == 2)
4143 <    set_log_level(L_DEBUG);
4144 < }
4145 <    break;
4146 <
4147 <  case 124:
4148 <
4149 < /* Line 1455 of yacc.c  */
4150 < #line 938 "ircd_parser.y"
4151 <    {
4152 <  if (conf_parser_ctx.pass == 2)
4153 <    ConfigLoggingEntry.use_logging = yylval.number;
4154 < }
4155 <    break;
4156 <
4157 <  case 125:
4158 <
4159 < /* Line 1455 of yacc.c  */
4160 < #line 947 "ircd_parser.y"
3938 > /* Line 1806 of yacc.c  */
3939 > #line 892 "ircd_parser.y"
3940      {
3941    if (conf_parser_ctx.pass == 2)
3942    {
# Line 4173 | Line 3952 | yyreduce:
3952   }
3953      break;
3954  
3955 <  case 126:
3955 >  case 124:
3956  
3957 < /* Line 1455 of yacc.c  */
3958 < #line 960 "ircd_parser.y"
3957 > /* Line 1806 of yacc.c  */
3958 > #line 905 "ircd_parser.y"
3959      {
3960    if (conf_parser_ctx.pass == 2)
3961    {
# Line 4211 | Line 3990 | yyreduce:
3990          DupString(new_aconf->host, yy_tmp->host);
3991        else
3992          DupString(new_aconf->host, "*");
3993 +
3994 +      new_aconf->type = parse_netmask(new_aconf->host, &new_aconf->ipnum,
3995 +                                     &new_aconf->bits);
3996 +
3997        conf_add_class_to_conf(new_conf, class_name);
3998        if (yy_aconf->passwd != NULL)
3999          DupString(new_aconf->passwd, yy_aconf->passwd);
# Line 4258 | Line 4041 | yyreduce:
4041   }
4042      break;
4043  
4044 <  case 154:
4044 >  case 136:
4045  
4046 < /* Line 1455 of yacc.c  */
4047 < #line 1052 "ircd_parser.y"
4046 > /* Line 1806 of yacc.c  */
4047 > #line 995 "ircd_parser.y"
4048      {
4049    if (conf_parser_ctx.pass == 2)
4050    {
# Line 4274 | Line 4057 | yyreduce:
4057   }
4058      break;
4059  
4060 <  case 155:
4278 <
4279 < /* Line 1455 of yacc.c  */
4280 < #line 1064 "ircd_parser.y"
4281 <    {
4282 <  if (conf_parser_ctx.pass == 2)
4283 <  {
4284 <    if (strlen(yylval.string) > OPERNICKLEN)
4285 <      yylval.string[OPERNICKLEN] = '\0';
4286 <
4287 <    MyFree(yy_conf->name);
4288 <    DupString(yy_conf->name, yylval.string);
4289 <  }
4290 < }
4291 <    break;
4060 >  case 137:
4061  
4062 <  case 156:
4063 <
4295 < /* Line 1455 of yacc.c  */
4296 < #line 1076 "ircd_parser.y"
4062 > /* Line 1806 of yacc.c  */
4063 > #line 1007 "ircd_parser.y"
4064      {
4065    if (conf_parser_ctx.pass == 2)
4066    {
# Line 4314 | Line 4081 | yyreduce:
4081      {
4082        DupString(yy_aconf->user, userbuf);
4083        DupString(yy_aconf->host, hostbuf);
4084 +
4085 +      yy_aconf->type = parse_netmask(yy_aconf->host, &yy_aconf->ipnum,
4086 +                                    &yy_aconf->bits);
4087      }
4088      else
4089      {
# Line 4328 | Line 4098 | yyreduce:
4098   }
4099      break;
4100  
4101 <  case 157:
4101 >  case 138:
4102  
4103 < /* Line 1455 of yacc.c  */
4104 < #line 1110 "ircd_parser.y"
4103 > /* Line 1806 of yacc.c  */
4104 > #line 1044 "ircd_parser.y"
4105      {
4106    if (conf_parser_ctx.pass == 2)
4107    {
# Line 4344 | Line 4114 | yyreduce:
4114   }
4115      break;
4116  
4117 <  case 158:
4117 >  case 139:
4118  
4119 < /* Line 1455 of yacc.c  */
4120 < #line 1122 "ircd_parser.y"
4119 > /* Line 1806 of yacc.c  */
4120 > #line 1056 "ircd_parser.y"
4121      {
4122    if (conf_parser_ctx.pass == 2)
4123    {
# Line 4359 | Line 4129 | yyreduce:
4129   }
4130      break;
4131  
4132 <  case 159:
4132 >  case 140:
4133  
4134 < /* Line 1455 of yacc.c  */
4135 < #line 1133 "ircd_parser.y"
4134 > /* Line 1806 of yacc.c  */
4135 > #line 1067 "ircd_parser.y"
4136      {
4137   #ifdef HAVE_LIBCRYPTO
4138    if (conf_parser_ctx.pass == 2)
# Line 4405 | Line 4175 | yyreduce:
4175   }
4176      break;
4177  
4178 <  case 160:
4178 >  case 141:
4179  
4180 < /* Line 1455 of yacc.c  */
4181 < #line 1175 "ircd_parser.y"
4180 > /* Line 1806 of yacc.c  */
4181 > #line 1109 "ircd_parser.y"
4182      {
4183    if (conf_parser_ctx.pass == 2)
4184    {
# Line 4418 | Line 4188 | yyreduce:
4188   }
4189      break;
4190  
4191 <  case 161:
4191 >  case 142:
4192  
4193 < /* Line 1455 of yacc.c  */
4194 < #line 1184 "ircd_parser.y"
4193 > /* Line 1806 of yacc.c  */
4194 > #line 1118 "ircd_parser.y"
4195      {
4196    if (conf_parser_ctx.pass == 2)
4197      yy_aconf->modes = 0;
4198   }
4199      break;
4200  
4201 <  case 165:
4201 >  case 146:
4202  
4203 < /* Line 1455 of yacc.c  */
4204 < #line 1191 "ircd_parser.y"
4203 > /* Line 1806 of yacc.c  */
4204 > #line 1125 "ircd_parser.y"
4205      {
4206    if (conf_parser_ctx.pass == 2)
4207      yy_aconf->modes |= UMODE_BOTS;
4208   }
4209      break;
4210  
4211 <  case 166:
4211 >  case 147:
4212  
4213 < /* Line 1455 of yacc.c  */
4214 < #line 1195 "ircd_parser.y"
4213 > /* Line 1806 of yacc.c  */
4214 > #line 1129 "ircd_parser.y"
4215      {
4216    if (conf_parser_ctx.pass == 2)
4217      yy_aconf->modes |= UMODE_CCONN;
4218   }
4219      break;
4220  
4221 <  case 167:
4221 >  case 148:
4222  
4223 < /* Line 1455 of yacc.c  */
4224 < #line 1199 "ircd_parser.y"
4223 > /* Line 1806 of yacc.c  */
4224 > #line 1133 "ircd_parser.y"
4225      {
4226    if (conf_parser_ctx.pass == 2)
4227      yy_aconf->modes |= UMODE_CCONN_FULL;
4228   }
4229      break;
4230  
4231 <  case 168:
4231 >  case 149:
4232  
4233 < /* Line 1455 of yacc.c  */
4234 < #line 1203 "ircd_parser.y"
4233 > /* Line 1806 of yacc.c  */
4234 > #line 1137 "ircd_parser.y"
4235      {
4236    if (conf_parser_ctx.pass == 2)
4237      yy_aconf->modes |= UMODE_DEAF;
4238   }
4239      break;
4240  
4241 <  case 169:
4241 >  case 150:
4242  
4243 < /* Line 1455 of yacc.c  */
4244 < #line 1207 "ircd_parser.y"
4243 > /* Line 1806 of yacc.c  */
4244 > #line 1141 "ircd_parser.y"
4245      {
4246    if (conf_parser_ctx.pass == 2)
4247      yy_aconf->modes |= UMODE_DEBUG;
4248   }
4249      break;
4250  
4251 <  case 170:
4251 >  case 151:
4252  
4253 < /* Line 1455 of yacc.c  */
4254 < #line 1211 "ircd_parser.y"
4253 > /* Line 1806 of yacc.c  */
4254 > #line 1145 "ircd_parser.y"
4255      {
4256    if (conf_parser_ctx.pass == 2)
4257      yy_aconf->modes |= UMODE_FULL;
4258   }
4259      break;
4260  
4261 <  case 171:
4261 >  case 152:
4262  
4263 < /* Line 1455 of yacc.c  */
4264 < #line 1215 "ircd_parser.y"
4263 > /* Line 1806 of yacc.c  */
4264 > #line 1149 "ircd_parser.y"
4265 >    {
4266 >  if (conf_parser_ctx.pass == 2)
4267 >    yy_aconf->modes |= UMODE_HIDDEN;
4268 > }
4269 >    break;
4270 >
4271 >  case 153:
4272 >
4273 > /* Line 1806 of yacc.c  */
4274 > #line 1153 "ircd_parser.y"
4275      {
4276    if (conf_parser_ctx.pass == 2)
4277      yy_aconf->modes |= UMODE_SKILL;
4278   }
4279      break;
4280  
4281 <  case 172:
4281 >  case 154:
4282  
4283 < /* Line 1455 of yacc.c  */
4284 < #line 1219 "ircd_parser.y"
4283 > /* Line 1806 of yacc.c  */
4284 > #line 1157 "ircd_parser.y"
4285      {
4286    if (conf_parser_ctx.pass == 2)
4287      yy_aconf->modes |= UMODE_NCHANGE;
4288   }
4289      break;
4290  
4291 <  case 173:
4291 >  case 155:
4292  
4293 < /* Line 1455 of yacc.c  */
4294 < #line 1223 "ircd_parser.y"
4293 > /* Line 1806 of yacc.c  */
4294 > #line 1161 "ircd_parser.y"
4295      {
4296    if (conf_parser_ctx.pass == 2)
4297      yy_aconf->modes |= UMODE_REJ;
4298   }
4299      break;
4300  
4301 <  case 174:
4301 >  case 156:
4302  
4303 < /* Line 1455 of yacc.c  */
4304 < #line 1227 "ircd_parser.y"
4303 > /* Line 1806 of yacc.c  */
4304 > #line 1165 "ircd_parser.y"
4305      {
4306    if (conf_parser_ctx.pass == 2)
4307      yy_aconf->modes |= UMODE_UNAUTH;
4308   }
4309      break;
4310  
4311 <  case 175:
4311 >  case 157:
4312  
4313 < /* Line 1455 of yacc.c  */
4314 < #line 1231 "ircd_parser.y"
4313 > /* Line 1806 of yacc.c  */
4314 > #line 1169 "ircd_parser.y"
4315      {
4316    if (conf_parser_ctx.pass == 2)
4317      yy_aconf->modes |= UMODE_SPY;
4318   }
4319      break;
4320  
4321 <  case 176:
4321 >  case 158:
4322  
4323 < /* Line 1455 of yacc.c  */
4324 < #line 1235 "ircd_parser.y"
4323 > /* Line 1806 of yacc.c  */
4324 > #line 1173 "ircd_parser.y"
4325      {
4326    if (conf_parser_ctx.pass == 2)
4327      yy_aconf->modes |= UMODE_EXTERNAL;
4328   }
4329      break;
4330  
4331 <  case 177:
4331 >  case 159:
4332  
4333 < /* Line 1455 of yacc.c  */
4334 < #line 1239 "ircd_parser.y"
4333 > /* Line 1806 of yacc.c  */
4334 > #line 1177 "ircd_parser.y"
4335      {
4336    if (conf_parser_ctx.pass == 2)
4337      yy_aconf->modes |= UMODE_OPERWALL;
4338   }
4339      break;
4340  
4341 <  case 178:
4341 >  case 160:
4342  
4343 < /* Line 1455 of yacc.c  */
4344 < #line 1243 "ircd_parser.y"
4343 > /* Line 1806 of yacc.c  */
4344 > #line 1181 "ircd_parser.y"
4345      {
4346    if (conf_parser_ctx.pass == 2)
4347      yy_aconf->modes |= UMODE_SERVNOTICE;
4348   }
4349      break;
4350  
4351 <  case 179:
4351 >  case 161:
4352  
4353 < /* Line 1455 of yacc.c  */
4354 < #line 1247 "ircd_parser.y"
4353 > /* Line 1806 of yacc.c  */
4354 > #line 1185 "ircd_parser.y"
4355      {
4356    if (conf_parser_ctx.pass == 2)
4357      yy_aconf->modes |= UMODE_INVISIBLE;
4358   }
4359      break;
4360  
4361 <  case 180:
4361 >  case 162:
4362  
4363 < /* Line 1455 of yacc.c  */
4364 < #line 1251 "ircd_parser.y"
4363 > /* Line 1806 of yacc.c  */
4364 > #line 1189 "ircd_parser.y"
4365      {
4366    if (conf_parser_ctx.pass == 2)
4367      yy_aconf->modes |= UMODE_WALLOP;
4368   }
4369      break;
4370  
4371 <  case 181:
4371 >  case 163:
4372  
4373 < /* Line 1455 of yacc.c  */
4374 < #line 1255 "ircd_parser.y"
4373 > /* Line 1806 of yacc.c  */
4374 > #line 1193 "ircd_parser.y"
4375      {
4376    if (conf_parser_ctx.pass == 2)
4377      yy_aconf->modes |= UMODE_SOFTCALLERID;
4378   }
4379      break;
4380  
4381 <  case 182:
4381 >  case 164:
4382  
4383 < /* Line 1455 of yacc.c  */
4384 < #line 1259 "ircd_parser.y"
4383 > /* Line 1806 of yacc.c  */
4384 > #line 1197 "ircd_parser.y"
4385      {
4386    if (conf_parser_ctx.pass == 2)
4387      yy_aconf->modes |= UMODE_CALLERID;
4388   }
4389      break;
4390  
4391 <  case 183:
4391 >  case 165:
4392  
4393 < /* Line 1455 of yacc.c  */
4394 < #line 1263 "ircd_parser.y"
4393 > /* Line 1806 of yacc.c  */
4394 > #line 1201 "ircd_parser.y"
4395      {
4396    if (conf_parser_ctx.pass == 2)
4397      yy_aconf->modes |= UMODE_LOCOPS;
4398   }
4399      break;
4400  
4401 <  case 184:
4622 <
4623 < /* Line 1455 of yacc.c  */
4624 < #line 1269 "ircd_parser.y"
4625 <    {
4626 <  if (conf_parser_ctx.pass == 2)
4627 <  {
4628 <    if (yylval.number)
4629 <      yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4630 <    else
4631 <      yy_aconf->port &= ~OPER_FLAG_GLOBAL_KILL;
4632 <  }
4633 < }
4634 <    break;
4635 <
4636 <  case 185:
4637 <
4638 < /* Line 1455 of yacc.c  */
4639 < #line 1280 "ircd_parser.y"
4640 <    {
4641 <  if (conf_parser_ctx.pass == 2)
4642 <  {
4643 <    if (yylval.number)
4644 <      yy_aconf->port |= OPER_FLAG_REMOTE;
4645 <    else
4646 <      yy_aconf->port &= ~OPER_FLAG_REMOTE;
4647 <  }
4648 < }
4649 <    break;
4650 <
4651 <  case 186:
4652 <
4653 < /* Line 1455 of yacc.c  */
4654 < #line 1291 "ircd_parser.y"
4655 <    {
4656 <  if (conf_parser_ctx.pass == 2)
4657 <  {
4658 <    if (yylval.number)
4659 <      yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4660 <    else
4661 <      yy_aconf->port &= ~OPER_FLAG_REMOTEBAN;
4662 <  }
4663 < }
4664 <    break;
4665 <
4666 <  case 187:
4667 <
4668 < /* Line 1455 of yacc.c  */
4669 < #line 1302 "ircd_parser.y"
4670 <    {
4671 <  if (conf_parser_ctx.pass == 2)
4672 <  {
4673 <    if (yylval.number)
4674 <      yy_aconf->port |= OPER_FLAG_K;
4675 <    else
4676 <      yy_aconf->port &= ~OPER_FLAG_K;
4677 <  }
4678 < }
4679 <    break;
4680 <
4681 <  case 188:
4682 <
4683 < /* Line 1455 of yacc.c  */
4684 < #line 1313 "ircd_parser.y"
4685 <    {
4686 <  if (conf_parser_ctx.pass == 2)
4687 <  {
4688 <    if (yylval.number)
4689 <      yy_aconf->port |= OPER_FLAG_X;
4690 <    else
4691 <      yy_aconf->port &= ~OPER_FLAG_X;
4692 <  }
4693 < }
4694 <    break;
4695 <
4696 <  case 189:
4697 <
4698 < /* Line 1455 of yacc.c  */
4699 < #line 1324 "ircd_parser.y"
4700 <    {
4701 <  if (conf_parser_ctx.pass == 2)
4702 <  {
4703 <    if (yylval.number)
4704 <      yy_aconf->port |= OPER_FLAG_UNKLINE;
4705 <    else
4706 <      yy_aconf->port &= ~OPER_FLAG_UNKLINE;
4707 <  }
4708 < }
4709 <    break;
4710 <
4711 <  case 190:
4712 <
4713 < /* Line 1455 of yacc.c  */
4714 < #line 1335 "ircd_parser.y"
4715 <    {
4716 <  if (conf_parser_ctx.pass == 2)
4717 <  {
4718 <    if (yylval.number)
4719 <      yy_aconf->port |= OPER_FLAG_GLINE;
4720 <    else
4721 <      yy_aconf->port &= ~OPER_FLAG_GLINE;
4722 <  }
4723 < }
4724 <    break;
4725 <
4726 <  case 191:
4727 <
4728 < /* Line 1455 of yacc.c  */
4729 < #line 1346 "ircd_parser.y"
4730 <    {
4731 <  if (conf_parser_ctx.pass == 2)
4732 <  {
4733 <    if (yylval.number)
4734 <      yy_aconf->port |= OPER_FLAG_N;
4735 <    else
4736 <      yy_aconf->port &= ~OPER_FLAG_N;
4737 <  }
4738 < }
4739 <    break;
4740 <
4741 <  case 192:
4742 <
4743 < /* Line 1455 of yacc.c  */
4744 < #line 1357 "ircd_parser.y"
4745 <    {
4746 <  if (conf_parser_ctx.pass == 2)
4747 <  {
4748 <    if (yylval.number)
4749 <      yy_aconf->port |= OPER_FLAG_DIE;
4750 <    else
4751 <      yy_aconf->port &= ~OPER_FLAG_DIE;
4752 <  }
4753 < }
4754 <    break;
4755 <
4756 <  case 193:
4757 <
4758 < /* Line 1455 of yacc.c  */
4759 < #line 1368 "ircd_parser.y"
4760 <    {
4761 <  if (conf_parser_ctx.pass == 2)
4762 <  {
4763 <    if (yylval.number)
4764 <      yy_aconf->port |= OPER_FLAG_REHASH;
4765 <    else
4766 <      yy_aconf->port &= ~OPER_FLAG_REHASH;
4767 <  }
4768 < }
4769 <    break;
4770 <
4771 <  case 194:
4772 <
4773 < /* Line 1455 of yacc.c  */
4774 < #line 1379 "ircd_parser.y"
4775 <    {
4776 <  if (conf_parser_ctx.pass == 2)
4777 <  {
4778 <    if (yylval.number)
4779 <      yy_aconf->port |= OPER_FLAG_ADMIN;
4780 <    else
4781 <      yy_aconf->port &= ~OPER_FLAG_ADMIN;
4782 <  }
4783 < }
4784 <    break;
4785 <
4786 <  case 195:
4401 >  case 166:
4402  
4403 < /* Line 1455 of yacc.c  */
4404 < #line 1390 "ircd_parser.y"
4403 > /* Line 1806 of yacc.c  */
4404 > #line 1207 "ircd_parser.y"
4405      {
4406    if (conf_parser_ctx.pass == 2)
4407 <  {
4793 <    if (yylval.number)
4794 <      yy_aconf->port |= OPER_FLAG_HIDDEN_ADMIN;
4795 <    else
4796 <      yy_aconf->port &= ~OPER_FLAG_HIDDEN_ADMIN;
4797 <  }
4407 >    yy_aconf->port = 0;
4408   }
4409      break;
4410  
4411 <  case 196:
4411 >  case 170:
4412  
4413 < /* Line 1455 of yacc.c  */
4414 < #line 1401 "ircd_parser.y"
4413 > /* Line 1806 of yacc.c  */
4414 > #line 1214 "ircd_parser.y"
4415      {
4416    if (conf_parser_ctx.pass == 2)
4417 <  {
4808 <    if (yylval.number)
4809 <      yy_aconf->port |= OPER_FLAG_HIDDEN_OPER;
4810 <    else
4811 <      yy_aconf->port &= ~OPER_FLAG_HIDDEN_OPER;
4812 <  }
4417 >    yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4418   }
4419      break;
4420  
4421 <  case 197:
4421 >  case 171:
4422  
4423 < /* Line 1455 of yacc.c  */
4424 < #line 1412 "ircd_parser.y"
4423 > /* Line 1806 of yacc.c  */
4424 > #line 1218 "ircd_parser.y"
4425      {
4426    if (conf_parser_ctx.pass == 2)
4427 <  {
4823 <    if (yylval.number)
4824 <      yy_aconf->port |= OPER_FLAG_OPERWALL;
4825 <    else
4826 <      yy_aconf->port &= ~OPER_FLAG_OPERWALL;
4827 <  }
4828 < }
4829 <    break;
4830 <
4831 <  case 198:
4832 <
4833 < /* Line 1455 of yacc.c  */
4834 < #line 1423 "ircd_parser.y"
4835 <    {
4427 >    yy_aconf->port |= OPER_FLAG_REMOTE;
4428   }
4429      break;
4430  
4431 <  case 202:
4840 <
4841 < /* Line 1455 of yacc.c  */
4842 < #line 1427 "ircd_parser.y"
4843 <    { not_atom = 1; }
4844 <    break;
4845 <
4846 <  case 204:
4847 <
4848 < /* Line 1455 of yacc.c  */
4849 < #line 1428 "ircd_parser.y"
4850 <    { not_atom = 0; }
4851 <    break;
4852 <
4853 <  case 206:
4431 >  case 172:
4432  
4433 < /* Line 1455 of yacc.c  */
4434 < #line 1431 "ircd_parser.y"
4433 > /* Line 1806 of yacc.c  */
4434 > #line 1222 "ircd_parser.y"
4435      {
4436    if (conf_parser_ctx.pass == 2)
4437 <  {
4860 <    if (not_atom)yy_aconf->port &= ~OPER_FLAG_GLOBAL_KILL;
4861 <    else yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4862 <  }
4437 >    yy_aconf->port |= OPER_FLAG_K;
4438   }
4439      break;
4440  
4441 <  case 207:
4441 >  case 173:
4442  
4443 < /* Line 1455 of yacc.c  */
4444 < #line 1438 "ircd_parser.y"
4443 > /* Line 1806 of yacc.c  */
4444 > #line 1226 "ircd_parser.y"
4445      {
4446    if (conf_parser_ctx.pass == 2)
4447 <  {
4873 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REMOTE;
4874 <    else yy_aconf->port |= OPER_FLAG_REMOTE;
4875 <  }
4447 >    yy_aconf->port |= OPER_FLAG_UNKLINE;
4448   }
4449      break;
4450  
4451 <  case 208:
4451 >  case 174:
4452  
4453 < /* Line 1455 of yacc.c  */
4454 < #line 1445 "ircd_parser.y"
4453 > /* Line 1806 of yacc.c  */
4454 > #line 1230 "ircd_parser.y"
4455      {
4456    if (conf_parser_ctx.pass == 2)
4457 <  {
4886 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_K;
4887 <    else yy_aconf->port |= OPER_FLAG_K;
4888 <  }
4457 >    yy_aconf->port |= OPER_FLAG_DLINE;
4458   }
4459      break;
4460  
4461 <  case 209:
4461 >  case 175:
4462  
4463 < /* Line 1455 of yacc.c  */
4464 < #line 1452 "ircd_parser.y"
4463 > /* Line 1806 of yacc.c  */
4464 > #line 1234 "ircd_parser.y"
4465      {
4466    if (conf_parser_ctx.pass == 2)
4467 <  {
4899 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_UNKLINE;
4900 <    else yy_aconf->port |= OPER_FLAG_UNKLINE;
4901 <  }
4467 >    yy_aconf->port |= OPER_FLAG_UNDLINE;
4468   }
4469      break;
4470  
4471 <  case 210:
4471 >  case 176:
4472  
4473 < /* Line 1455 of yacc.c  */
4474 < #line 1459 "ircd_parser.y"
4473 > /* Line 1806 of yacc.c  */
4474 > #line 1238 "ircd_parser.y"
4475      {
4476    if (conf_parser_ctx.pass == 2)
4477 <  {
4912 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_X;
4913 <    else yy_aconf->port |= OPER_FLAG_X;
4914 <  }
4477 >    yy_aconf->port |= OPER_FLAG_X;
4478   }
4479      break;
4480  
4481 <  case 211:
4481 >  case 177:
4482  
4483 < /* Line 1455 of yacc.c  */
4484 < #line 1466 "ircd_parser.y"
4483 > /* Line 1806 of yacc.c  */
4484 > #line 1242 "ircd_parser.y"
4485      {
4486    if (conf_parser_ctx.pass == 2)
4487 <  {
4925 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_GLINE;
4926 <    else yy_aconf->port |= OPER_FLAG_GLINE;
4927 <  }
4487 >    yy_aconf->port |= OPER_FLAG_GLINE;
4488   }
4489      break;
4490  
4491 <  case 212:
4491 >  case 178:
4492  
4493 < /* Line 1455 of yacc.c  */
4494 < #line 1473 "ircd_parser.y"
4493 > /* Line 1806 of yacc.c  */
4494 > #line 1246 "ircd_parser.y"
4495      {
4496    if (conf_parser_ctx.pass == 2)
4497 <  {
4938 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_DIE;
4939 <    else yy_aconf->port |= OPER_FLAG_DIE;
4940 <  }
4497 >    yy_aconf->port |= OPER_FLAG_DIE;
4498   }
4499      break;
4500  
4501 <  case 213:
4501 >  case 179:
4502  
4503 < /* Line 1455 of yacc.c  */
4504 < #line 1480 "ircd_parser.y"
4503 > /* Line 1806 of yacc.c  */
4504 > #line 1250 "ircd_parser.y"
4505      {
4506    if (conf_parser_ctx.pass == 2)
4507 <  {
4951 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REHASH;
4952 <    else yy_aconf->port |= OPER_FLAG_REHASH;
4953 <  }
4507 >    yy_aconf->port |= OPER_FLAG_RESTART;
4508   }
4509      break;
4510  
4511 <  case 214:
4511 >  case 180:
4512  
4513 < /* Line 1455 of yacc.c  */
4514 < #line 1487 "ircd_parser.y"
4513 > /* Line 1806 of yacc.c  */
4514 > #line 1254 "ircd_parser.y"
4515      {
4516    if (conf_parser_ctx.pass == 2)
4517 <  {
4964 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_ADMIN;
4965 <    else yy_aconf->port |= OPER_FLAG_ADMIN;
4966 <  }
4517 >    yy_aconf->port |= OPER_FLAG_REHASH;
4518   }
4519      break;
4520  
4521 <  case 215:
4521 >  case 181:
4522  
4523 < /* Line 1455 of yacc.c  */
4524 < #line 1494 "ircd_parser.y"
4523 > /* Line 1806 of yacc.c  */
4524 > #line 1258 "ircd_parser.y"
4525      {
4526    if (conf_parser_ctx.pass == 2)
4527 <  {
4977 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_HIDDEN_ADMIN;
4978 <    else yy_aconf->port |= OPER_FLAG_HIDDEN_ADMIN;
4979 <  }
4527 >    yy_aconf->port |= OPER_FLAG_ADMIN;
4528   }
4529      break;
4530  
4531 <  case 216:
4531 >  case 182:
4532  
4533 < /* Line 1455 of yacc.c  */
4534 < #line 1501 "ircd_parser.y"
4533 > /* Line 1806 of yacc.c  */
4534 > #line 1262 "ircd_parser.y"
4535      {
4536    if (conf_parser_ctx.pass == 2)
4537 <  {
4990 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_N;
4991 <    else yy_aconf->port |= OPER_FLAG_N;
4992 <  }
4537 >    yy_aconf->port |= OPER_FLAG_N;
4538   }
4539      break;
4540  
4541 <  case 217:
4541 >  case 183:
4542  
4543 < /* Line 1455 of yacc.c  */
4544 < #line 1508 "ircd_parser.y"
4543 > /* Line 1806 of yacc.c  */
4544 > #line 1266 "ircd_parser.y"
4545      {
4546    if (conf_parser_ctx.pass == 2)
4547 <  {
5003 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_OPERWALL;
5004 <    else yy_aconf->port |= OPER_FLAG_OPERWALL;
5005 <  }
4547 >    yy_aconf->port |= OPER_FLAG_OPERWALL;
4548   }
4549      break;
4550  
4551 <  case 218:
4551 >  case 184:
4552  
4553 < /* Line 1455 of yacc.c  */
4554 < #line 1515 "ircd_parser.y"
4553 > /* Line 1806 of yacc.c  */
4554 > #line 1270 "ircd_parser.y"
4555      {
4556    if (conf_parser_ctx.pass == 2)
4557 <  {
5016 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_OPER_SPY;
5017 <    else yy_aconf->port |= OPER_FLAG_OPER_SPY;
5018 <  }
4557 >    yy_aconf->port |= OPER_FLAG_GLOBOPS;
4558   }
4559      break;
4560  
4561 <  case 219:
4561 >  case 185:
4562  
4563 < /* Line 1455 of yacc.c  */
4564 < #line 1522 "ircd_parser.y"
4563 > /* Line 1806 of yacc.c  */
4564 > #line 1274 "ircd_parser.y"
4565      {
4566    if (conf_parser_ctx.pass == 2)
4567 <  {
5029 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_HIDDEN_OPER;
5030 <    else yy_aconf->port |= OPER_FLAG_HIDDEN_OPER;
5031 <  }
4567 >    yy_aconf->port |= OPER_FLAG_OPER_SPY;
4568   }
4569      break;
4570  
4571 <  case 220:
4571 >  case 186:
4572  
4573 < /* Line 1455 of yacc.c  */
4574 < #line 1529 "ircd_parser.y"
4573 > /* Line 1806 of yacc.c  */
4574 > #line 1278 "ircd_parser.y"
4575      {
4576    if (conf_parser_ctx.pass == 2)
4577 <  {
5042 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REMOTEBAN;
5043 <    else yy_aconf->port |= OPER_FLAG_REMOTEBAN;
5044 <  }
4577 >    yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4578   }
4579      break;
4580  
4581 <  case 221:
4581 >  case 187:
4582  
4583 < /* Line 1455 of yacc.c  */
4584 < #line 1536 "ircd_parser.y"
4583 > /* Line 1806 of yacc.c  */
4584 > #line 1282 "ircd_parser.y"
4585      {
4586    if (conf_parser_ctx.pass == 2)
4587 <  {
5055 <    if (not_atom) ClearConfEncrypted(yy_aconf);
5056 <    else SetConfEncrypted(yy_aconf);
5057 <  }
4587 >    yy_aconf->port |= OPER_FLAG_MODULE;
4588   }
4589      break;
4590  
4591 <  case 222:
4591 >  case 188:
4592  
4593 < /* Line 1455 of yacc.c  */
4594 < #line 1549 "ircd_parser.y"
4593 > /* Line 1806 of yacc.c  */
4594 > #line 1292 "ircd_parser.y"
4595      {
4596    if (conf_parser_ctx.pass == 1)
4597    {
# Line 5071 | Line 4601 | yyreduce:
4601   }
4602      break;
4603  
4604 <  case 223:
4604 >  case 189:
4605  
4606 < /* Line 1455 of yacc.c  */
4607 < #line 1556 "ircd_parser.y"
4606 > /* Line 1806 of yacc.c  */
4607 > #line 1299 "ircd_parser.y"
4608      {
4609    if (conf_parser_ctx.pass == 1)
4610    {
# Line 5085 | Line 4615 | yyreduce:
4615        delete_conf_item(yy_conf);
4616      else
4617      {
4618 <      cconf = find_exact_name_conf(CLASS_TYPE, yy_class_name, NULL, NULL);
4618 >      cconf = find_exact_name_conf(CLASS_TYPE, NULL, yy_class_name, NULL, NULL);
4619  
4620        if (cconf != NULL)                /* The class existed already */
4621        {
# Line 5118 | Line 4648 | yyreduce:
4648   }
4649      break;
4650  
4651 <  case 242:
5122 <
5123 < /* Line 1455 of yacc.c  */
5124 < #line 1616 "ircd_parser.y"
5125 <    {
5126 <  if (conf_parser_ctx.pass == 1)
5127 <  {
5128 <    MyFree(yy_class_name);
5129 <    DupString(yy_class_name, yylval.string);
5130 <  }
5131 < }
5132 <    break;
5133 <
5134 <  case 243:
4651 >  case 206:
4652  
4653 < /* Line 1455 of yacc.c  */
4654 < #line 1625 "ircd_parser.y"
4653 > /* Line 1806 of yacc.c  */
4654 > #line 1357 "ircd_parser.y"
4655      {
4656    if (conf_parser_ctx.pass == 1)
4657    {
# Line 5144 | Line 4661 | yyreduce:
4661   }
4662      break;
4663  
4664 <  case 244:
4664 >  case 207:
4665  
4666 < /* Line 1455 of yacc.c  */
4667 < #line 1634 "ircd_parser.y"
4666 > /* Line 1806 of yacc.c  */
4667 > #line 1366 "ircd_parser.y"
4668      {
4669    if (conf_parser_ctx.pass == 1)
4670      PingFreq(yy_class) = (yyvsp[(3) - (4)].number);
4671   }
4672      break;
4673  
4674 <  case 245:
4674 >  case 208:
4675  
4676 < /* Line 1455 of yacc.c  */
4677 < #line 1640 "ircd_parser.y"
4676 > /* Line 1806 of yacc.c  */
4677 > #line 1372 "ircd_parser.y"
4678      {
4679    if (conf_parser_ctx.pass == 1)
4680      PingWarning(yy_class) = (yyvsp[(3) - (4)].number);
4681   }
4682      break;
4683  
4684 <  case 246:
4684 >  case 209:
4685  
4686 < /* Line 1455 of yacc.c  */
4687 < #line 1646 "ircd_parser.y"
4686 > /* Line 1806 of yacc.c  */
4687 > #line 1378 "ircd_parser.y"
4688      {
4689    if (conf_parser_ctx.pass == 1)
4690      MaxPerIp(yy_class) = (yyvsp[(3) - (4)].number);
4691   }
4692      break;
4693  
4694 <  case 247:
4694 >  case 210:
4695  
4696 < /* Line 1455 of yacc.c  */
4697 < #line 1652 "ircd_parser.y"
4696 > /* Line 1806 of yacc.c  */
4697 > #line 1384 "ircd_parser.y"
4698      {
4699    if (conf_parser_ctx.pass == 1)
4700      ConFreq(yy_class) = (yyvsp[(3) - (4)].number);
4701   }
4702      break;
4703  
4704 <  case 248:
4704 >  case 211:
4705  
4706 < /* Line 1455 of yacc.c  */
4707 < #line 1658 "ircd_parser.y"
4706 > /* Line 1806 of yacc.c  */
4707 > #line 1390 "ircd_parser.y"
4708      {
4709    if (conf_parser_ctx.pass == 1)
4710      MaxTotal(yy_class) = (yyvsp[(3) - (4)].number);
4711   }
4712      break;
4713  
4714 <  case 249:
4714 >  case 212:
4715  
4716 < /* Line 1455 of yacc.c  */
4717 < #line 1664 "ircd_parser.y"
4716 > /* Line 1806 of yacc.c  */
4717 > #line 1396 "ircd_parser.y"
4718      {
4719    if (conf_parser_ctx.pass == 1)
4720      MaxGlobal(yy_class) = (yyvsp[(3) - (4)].number);
4721   }
4722      break;
4723  
4724 <  case 250:
4724 >  case 213:
4725  
4726 < /* Line 1455 of yacc.c  */
4727 < #line 1670 "ircd_parser.y"
4726 > /* Line 1806 of yacc.c  */
4727 > #line 1402 "ircd_parser.y"
4728      {
4729    if (conf_parser_ctx.pass == 1)
4730      MaxLocal(yy_class) = (yyvsp[(3) - (4)].number);
4731   }
4732      break;
4733  
4734 <  case 251:
4734 >  case 214:
4735  
4736 < /* Line 1455 of yacc.c  */
4737 < #line 1676 "ircd_parser.y"
4736 > /* Line 1806 of yacc.c  */
4737 > #line 1408 "ircd_parser.y"
4738      {
4739    if (conf_parser_ctx.pass == 1)
4740      MaxIdent(yy_class) = (yyvsp[(3) - (4)].number);
4741   }
4742      break;
4743  
4744 <  case 252:
4744 >  case 215:
4745  
4746 < /* Line 1455 of yacc.c  */
4747 < #line 1682 "ircd_parser.y"
4746 > /* Line 1806 of yacc.c  */
4747 > #line 1414 "ircd_parser.y"
4748      {
4749    if (conf_parser_ctx.pass == 1)
4750      MaxSendq(yy_class) = (yyvsp[(3) - (4)].number);
4751   }
4752      break;
4753  
4754 <  case 253:
4754 >  case 216:
4755  
4756 < /* Line 1455 of yacc.c  */
4757 < #line 1688 "ircd_parser.y"
4756 > /* Line 1806 of yacc.c  */
4757 > #line 1420 "ircd_parser.y"
4758      {
4759    if (conf_parser_ctx.pass == 1)
4760      CidrBitlenIPV4(yy_class) = (yyvsp[(3) - (4)].number);
4761   }
4762      break;
4763  
4764 <  case 254:
4764 >  case 217:
4765  
4766 < /* Line 1455 of yacc.c  */
4767 < #line 1694 "ircd_parser.y"
4766 > /* Line 1806 of yacc.c  */
4767 > #line 1426 "ircd_parser.y"
4768      {
4769    if (conf_parser_ctx.pass == 1)
4770      CidrBitlenIPV6(yy_class) = (yyvsp[(3) - (4)].number);
4771   }
4772      break;
4773  
4774 <  case 255:
4774 >  case 218:
4775  
4776 < /* Line 1455 of yacc.c  */
4777 < #line 1700 "ircd_parser.y"
4776 > /* Line 1806 of yacc.c  */
4777 > #line 1432 "ircd_parser.y"
4778      {
4779    if (conf_parser_ctx.pass == 1)
4780      NumberPerCidr(yy_class) = (yyvsp[(3) - (4)].number);
4781   }
4782      break;
4783  
4784 <  case 256:
4784 >  case 219:
4785  
4786 < /* Line 1455 of yacc.c  */
4787 < #line 1709 "ircd_parser.y"
4786 > /* Line 1806 of yacc.c  */
4787 > #line 1441 "ircd_parser.y"
4788      {
4789    if (conf_parser_ctx.pass == 2)
4790    {
# Line 5277 | Line 4794 | yyreduce:
4794   }
4795      break;
4796  
4797 <  case 257:
4797 >  case 220:
4798  
4799 < /* Line 1455 of yacc.c  */
4800 < #line 1716 "ircd_parser.y"
4799 > /* Line 1806 of yacc.c  */
4800 > #line 1448 "ircd_parser.y"
4801      {
4802    if (conf_parser_ctx.pass == 2)
4803    {
# Line 5290 | Line 4807 | yyreduce:
4807   }
4808      break;
4809  
4810 <  case 258:
4810 >  case 221:
4811  
4812 < /* Line 1455 of yacc.c  */
4813 < #line 1725 "ircd_parser.y"
4812 > /* Line 1806 of yacc.c  */
4813 > #line 1457 "ircd_parser.y"
4814      {
4815    listener_flags = 0;
4816   }
4817      break;
4818  
4819 <  case 262:
4819 >  case 225:
4820  
4821 < /* Line 1455 of yacc.c  */
4822 < #line 1731 "ircd_parser.y"
4821 > /* Line 1806 of yacc.c  */
4822 > #line 1463 "ircd_parser.y"
4823      {
4824    if (conf_parser_ctx.pass == 2)
4825      listener_flags |= LISTENER_SSL;
4826   }
4827      break;
4828  
4829 <  case 263:
4829 >  case 226:
4830  
4831 < /* Line 1455 of yacc.c  */
4832 < #line 1735 "ircd_parser.y"
4831 > /* Line 1806 of yacc.c  */
4832 > #line 1467 "ircd_parser.y"
4833      {
4834    if (conf_parser_ctx.pass == 2)
4835      listener_flags |= LISTENER_HIDDEN;
4836   }
4837      break;
4838  
4839 <  case 264:
4839 >  case 227:
4840  
4841 < /* Line 1455 of yacc.c  */
4842 < #line 1739 "ircd_parser.y"
4841 > /* Line 1806 of yacc.c  */
4842 > #line 1471 "ircd_parser.y"
4843      {
4844    if (conf_parser_ctx.pass == 2)
4845      listener_flags |= LISTENER_SERVER;
4846   }
4847      break;
4848  
4849 <  case 272:
4849 >  case 235:
4850  
4851 < /* Line 1455 of yacc.c  */
4852 < #line 1749 "ircd_parser.y"
4851 > /* Line 1806 of yacc.c  */
4852 > #line 1481 "ircd_parser.y"
4853      { listener_flags = 0; }
4854      break;
4855  
4856 <  case 276:
4856 >  case 239:
4857  
4858 < /* Line 1455 of yacc.c  */
4859 < #line 1754 "ircd_parser.y"
4858 > /* Line 1806 of yacc.c  */
4859 > #line 1486 "ircd_parser.y"
4860      {
4861    if (conf_parser_ctx.pass == 2)
4862    {
# Line 5356 | Line 4873 | yyreduce:
4873   }
4874      break;
4875  
4876 <  case 277:
4876 >  case 240:
4877  
4878 < /* Line 1455 of yacc.c  */
4879 < #line 1768 "ircd_parser.y"
4878 > /* Line 1806 of yacc.c  */
4879 > #line 1500 "ircd_parser.y"
4880      {
4881    if (conf_parser_ctx.pass == 2)
4882    {
# Line 5380 | Line 4897 | yyreduce:
4897   }
4898      break;
4899  
4900 <  case 278:
4900 >  case 241:
4901  
4902 < /* Line 1455 of yacc.c  */
4903 < #line 1788 "ircd_parser.y"
4902 > /* Line 1806 of yacc.c  */
4903 > #line 1520 "ircd_parser.y"
4904      {
4905    if (conf_parser_ctx.pass == 2)
4906    {
# Line 5393 | Line 4910 | yyreduce:
4910   }
4911      break;
4912  
4913 <  case 279:
4913 >  case 242:
4914  
4915 < /* Line 1455 of yacc.c  */
4916 < #line 1797 "ircd_parser.y"
4915 > /* Line 1806 of yacc.c  */
4916 > #line 1529 "ircd_parser.y"
4917      {
4918    if (conf_parser_ctx.pass == 2)
4919    {
# Line 5406 | Line 4923 | yyreduce:
4923   }
4924      break;
4925  
4926 <  case 280:
4926 >  case 243:
4927  
4928 < /* Line 1455 of yacc.c  */
4929 < #line 1809 "ircd_parser.y"
4928 > /* Line 1806 of yacc.c  */
4929 > #line 1541 "ircd_parser.y"
4930      {
4931    if (conf_parser_ctx.pass == 2)
4932    {
# Line 5424 | Line 4941 | yyreduce:
4941   }
4942      break;
4943  
4944 <  case 281:
4944 >  case 244:
4945  
4946 < /* Line 1455 of yacc.c  */
4947 < #line 1821 "ircd_parser.y"
4946 > /* Line 1806 of yacc.c  */
4947 > #line 1553 "ircd_parser.y"
4948      {
4949    if (conf_parser_ctx.pass == 2)
4950    {
# Line 5485 | Line 5002 | yyreduce:
5002   }
5003      break;
5004  
5005 <  case 301:
5005 >  case 256:
5006  
5007 < /* Line 1455 of yacc.c  */
5008 < #line 1886 "ircd_parser.y"
5007 > /* Line 1806 of yacc.c  */
5008 > #line 1615 "ircd_parser.y"
5009      {
5010    if (conf_parser_ctx.pass == 2)
5011    {
# Line 5524 | Line 5041 | yyreduce:
5041   }
5042      break;
5043  
5044 <  case 302:
5044 >  case 257:
5045  
5046 < /* Line 1455 of yacc.c  */
5047 < #line 1923 "ircd_parser.y"
5046 > /* Line 1806 of yacc.c  */
5047 > #line 1652 "ircd_parser.y"
5048      {
5049    if (conf_parser_ctx.pass == 2)
5050    {
# Line 5541 | Line 5058 | yyreduce:
5058   }
5059      break;
5060  
5061 <  case 303:
5545 <
5546 < /* Line 1455 of yacc.c  */
5547 < #line 1936 "ircd_parser.y"
5548 <    {
5549 <  if (conf_parser_ctx.pass == 2)
5550 <  {
5551 <    if (yylval.number)
5552 <      yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
5553 <    else
5554 <      yy_aconf->flags &= ~CONF_FLAGS_SPOOF_NOTICE;
5555 <  }
5556 < }
5557 <    break;
5558 <
5559 <  case 304:
5061 >  case 258:
5062  
5063 < /* Line 1455 of yacc.c  */
5064 < #line 1947 "ircd_parser.y"
5063 > /* Line 1806 of yacc.c  */
5064 > #line 1665 "ircd_parser.y"
5065      {
5066    if (conf_parser_ctx.pass == 2)
5067    {
# Line 5569 | Line 5071 | yyreduce:
5071   }
5072      break;
5073  
5074 <  case 305:
5074 >  case 259:
5075  
5076 < /* Line 1455 of yacc.c  */
5077 < #line 1956 "ircd_parser.y"
5076 > /* Line 1806 of yacc.c  */
5077 > #line 1674 "ircd_parser.y"
5078      {
5079    if (conf_parser_ctx.pass == 2)
5080    {
# Line 5584 | Line 5086 | yyreduce:
5086   }
5087      break;
5088  
5089 <  case 306:
5588 <
5589 < /* Line 1455 of yacc.c  */
5590 < #line 1967 "ircd_parser.y"
5591 <    {
5592 < }
5593 <    break;
5594 <
5595 <  case 310:
5596 <
5597 < /* Line 1455 of yacc.c  */
5598 < #line 1971 "ircd_parser.y"
5599 <    { not_atom = 1; }
5600 <    break;
5601 <
5602 <  case 312:
5603 <
5604 < /* Line 1455 of yacc.c  */
5605 < #line 1972 "ircd_parser.y"
5606 <    { not_atom = 0; }
5607 <    break;
5608 <
5609 <  case 314:
5610 <
5611 < /* Line 1455 of yacc.c  */
5612 < #line 1975 "ircd_parser.y"
5613 <    {
5614 <  if (conf_parser_ctx.pass == 2)
5615 <  {
5616 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_SPOOF_NOTICE;
5617 <    else yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
5618 <  }
5619 <
5620 < }
5621 <    break;
5622 <
5623 <  case 315:
5624 <
5625 < /* Line 1455 of yacc.c  */
5626 < #line 1983 "ircd_parser.y"
5627 <    {
5628 <  if (conf_parser_ctx.pass == 2)
5629 <  {
5630 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NOLIMIT;
5631 <    else yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
5632 <  }
5633 < }
5634 <    break;
5635 <
5636 <  case 316:
5637 <
5638 < /* Line 1455 of yacc.c  */
5639 < #line 1990 "ircd_parser.y"
5640 <    {
5641 <  if (conf_parser_ctx.pass == 2)
5642 <  {
5643 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTKLINE;
5644 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
5645 <  }
5646 < }
5647 <    break;
5648 <
5649 <  case 317:
5650 <
5651 < /* Line 1455 of yacc.c  */
5652 < #line 1997 "ircd_parser.y"
5653 <    {
5654 <  if (conf_parser_ctx.pass == 2)
5655 <  {
5656 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NEED_IDENTD;
5657 <    else yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
5658 <  }
5659 < }
5660 <    break;
5661 <
5662 <  case 318:
5663 <
5664 < /* Line 1455 of yacc.c  */
5665 < #line 2004 "ircd_parser.y"
5666 <    {
5667 <  if (conf_parser_ctx.pass == 2)
5668 <  {
5669 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_CAN_FLOOD;
5670 <    else yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
5671 <  }
5672 < }
5673 <    break;
5674 <
5675 <  case 319:
5089 >  case 260:
5090  
5091 < /* Line 1455 of yacc.c  */
5092 < #line 2011 "ircd_parser.y"
5091 > /* Line 1806 of yacc.c  */
5092 > #line 1685 "ircd_parser.y"
5093      {
5680  if (conf_parser_ctx.pass == 2)
5681  {
5682    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_IDLE_LINED;
5683    else yy_aconf->flags |= CONF_FLAGS_IDLE_LINED;
5684  }
5094   }
5095      break;
5096  
5097 <  case 320:
5097 >  case 264:
5098  
5099 < /* Line 1455 of yacc.c  */
5100 < #line 2018 "ircd_parser.y"
5099 > /* Line 1806 of yacc.c  */
5100 > #line 1690 "ircd_parser.y"
5101      {
5102    if (conf_parser_ctx.pass == 2)
5103 <  {
5695 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NO_TILDE;
5696 <    else yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
5697 <  }
5103 >    yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
5104   }
5105      break;
5106  
5107 <  case 321:
5107 >  case 265:
5108  
5109 < /* Line 1455 of yacc.c  */
5110 < #line 2025 "ircd_parser.y"
5109 > /* Line 1806 of yacc.c  */
5110 > #line 1694 "ircd_parser.y"
5111      {
5112    if (conf_parser_ctx.pass == 2)
5113 <  {
5708 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTGLINE;
5709 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
5710 <  }
5113 >    yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
5114   }
5115      break;
5116  
5117 <  case 322:
5117 >  case 266:
5118  
5119 < /* Line 1455 of yacc.c  */
5120 < #line 2032 "ircd_parser.y"
5119 > /* Line 1806 of yacc.c  */
5120 > #line 1698 "ircd_parser.y"
5121      {
5122    if (conf_parser_ctx.pass == 2)
5123 <  {
5721 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTRESV;
5722 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
5723 <  }
5123 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
5124   }
5125      break;
5126  
5127 <  case 323:
5127 >  case 267:
5128  
5129 < /* Line 1455 of yacc.c  */
5130 < #line 2039 "ircd_parser.y"
5129 > /* Line 1806 of yacc.c  */
5130 > #line 1702 "ircd_parser.y"
5131      {
5132    if (conf_parser_ctx.pass == 2)
5133 <  {
5734 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NEED_PASSWORD;
5735 <    else yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
5736 <  }
5133 >    yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
5134   }
5135      break;
5136  
5137 <  case 324:
5137 >  case 268:
5138  
5139 < /* Line 1455 of yacc.c  */
5140 < #line 2048 "ircd_parser.y"
5139 > /* Line 1806 of yacc.c  */
5140 > #line 1706 "ircd_parser.y"
5141      {
5142    if (conf_parser_ctx.pass == 2)
5143 <  {
5747 <    if (yylval.number)
5748 <      yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
5749 <    else
5750 <      yy_aconf->flags &= ~CONF_FLAGS_EXEMPTKLINE;
5751 <  }
5143 >    yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
5144   }
5145      break;
5146  
5147 <  case 325:
5147 >  case 269:
5148  
5149 < /* Line 1455 of yacc.c  */
5150 < #line 2059 "ircd_parser.y"
5149 > /* Line 1806 of yacc.c  */
5150 > #line 1710 "ircd_parser.y"
5151      {
5152    if (conf_parser_ctx.pass == 2)
5153 <  {
5762 <    if (yylval.number)
5763 <      yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
5764 <    else
5765 <      yy_aconf->flags &= ~CONF_FLAGS_NEED_IDENTD;
5766 <  }
5767 < }
5768 <    break;
5769 <
5770 <  case 326:
5771 <
5772 < /* Line 1455 of yacc.c  */
5773 < #line 2070 "ircd_parser.y"
5774 <    {
5775 <  if (conf_parser_ctx.pass == 2)
5776 <  {
5777 <    if (yylval.number)
5778 <      yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
5779 <    else
5780 <      yy_aconf->flags &= ~CONF_FLAGS_NOLIMIT;
5781 <  }
5153 >    yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
5154   }
5155      break;
5156  
5157 <  case 327:
5157 >  case 270:
5158  
5159 < /* Line 1455 of yacc.c  */
5160 < #line 2081 "ircd_parser.y"
5159 > /* Line 1806 of yacc.c  */
5160 > #line 1714 "ircd_parser.y"
5161      {
5162    if (conf_parser_ctx.pass == 2)
5163 <  {
5792 <    if (yylval.number)
5793 <      yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
5794 <    else
5795 <      yy_aconf->flags &= ~CONF_FLAGS_CAN_FLOOD;
5796 <  }
5163 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
5164   }
5165      break;
5166  
5167 <  case 328:
5167 >  case 271:
5168  
5169 < /* Line 1455 of yacc.c  */
5170 < #line 2092 "ircd_parser.y"
5169 > /* Line 1806 of yacc.c  */
5170 > #line 1718 "ircd_parser.y"
5171      {
5172    if (conf_parser_ctx.pass == 2)
5173 <  {
5807 <    if (yylval.number)
5808 <      yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
5809 <    else
5810 <      yy_aconf->flags &= ~CONF_FLAGS_NO_TILDE;
5811 <  }
5173 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
5174   }
5175      break;
5176  
5177 <  case 329:
5177 >  case 272:
5178  
5179 < /* Line 1455 of yacc.c  */
5180 < #line 2103 "ircd_parser.y"
5179 > /* Line 1806 of yacc.c  */
5180 > #line 1722 "ircd_parser.y"
5181      {
5182    if (conf_parser_ctx.pass == 2)
5183 <  {
5822 <    if (yylval.number)
5823 <      yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
5824 <    else
5825 <      yy_aconf->flags &= ~CONF_FLAGS_EXEMPTGLINE;
5826 <  }
5183 >    yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
5184   }
5185      break;
5186  
5187 <  case 330:
5187 >  case 273:
5188  
5189 < /* Line 1455 of yacc.c  */
5190 < #line 2115 "ircd_parser.y"
5189 > /* Line 1806 of yacc.c  */
5190 > #line 1729 "ircd_parser.y"
5191      {
5192    if (conf_parser_ctx.pass == 2)
5193    {
# Line 5843 | Line 5200 | yyreduce:
5200      }
5201      else
5202      {
5203 <      ilog(L_ERROR, "Spoofs must be less than %d..ignoring it", HOSTLEN);
5203 >      ilog(LOG_TYPE_IRCD, "Spoofs must be less than %d..ignoring it", HOSTLEN);
5204        yy_conf->name = NULL;
5205      }
5206    }
5207   }
5208      break;
5209  
5210 <  case 331:
5210 >  case 274:
5211  
5212 < /* Line 1455 of yacc.c  */
5213 < #line 2134 "ircd_parser.y"
5212 > /* Line 1806 of yacc.c  */
5213 > #line 1748 "ircd_parser.y"
5214      {
5215    if (conf_parser_ctx.pass == 2)
5216    {
# Line 5864 | Line 5221 | yyreduce:
5221   }
5222      break;
5223  
5224 <  case 332:
5224 >  case 275:
5225  
5226 < /* Line 1455 of yacc.c  */
5227 < #line 2144 "ircd_parser.y"
5226 > /* Line 1806 of yacc.c  */
5227 > #line 1758 "ircd_parser.y"
5228      {
5229    if (conf_parser_ctx.pass == 2)
5230    {
# Line 5877 | Line 5234 | yyreduce:
5234   }
5235      break;
5236  
5237 <  case 333:
5881 <
5882 < /* Line 1455 of yacc.c  */
5883 < #line 2153 "ircd_parser.y"
5884 <    {
5885 <  if (conf_parser_ctx.pass == 2)
5886 <  {
5887 <    if (yylval.number)
5888 <      yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
5889 <    else
5890 <      yy_aconf->flags &= ~CONF_FLAGS_NEED_PASSWORD;
5891 <  }
5892 < }
5893 <    break;
5894 <
5895 <  case 334:
5237 >  case 276:
5238  
5239 < /* Line 1455 of yacc.c  */
5240 < #line 2168 "ircd_parser.y"
5239 > /* Line 1806 of yacc.c  */
5240 > #line 1771 "ircd_parser.y"
5241      {
5242    if (conf_parser_ctx.pass == 2)
5243    {
# Line 5905 | Line 5247 | yyreduce:
5247   }
5248      break;
5249  
5250 <  case 335:
5250 >  case 277:
5251  
5252 < /* Line 1455 of yacc.c  */
5253 < #line 2175 "ircd_parser.y"
5252 > /* Line 1806 of yacc.c  */
5253 > #line 1778 "ircd_parser.y"
5254      {
5255    if (conf_parser_ctx.pass == 2)
5256    {
# Line 5918 | Line 5260 | yyreduce:
5260   }
5261      break;
5262  
5263 <  case 342:
5263 >  case 284:
5264  
5265 < /* Line 1455 of yacc.c  */
5266 < #line 2187 "ircd_parser.y"
5265 > /* Line 1806 of yacc.c  */
5266 > #line 1790 "ircd_parser.y"
5267      {
5268    if (conf_parser_ctx.pass == 2)
5269    {
# Line 5931 | Line 5273 | yyreduce:
5273   }
5274      break;
5275  
5276 <  case 343:
5276 >  case 285:
5277  
5278 < /* Line 1455 of yacc.c  */
5279 < #line 2196 "ircd_parser.y"
5278 > /* Line 1806 of yacc.c  */
5279 > #line 1799 "ircd_parser.y"
5280      {
5281    if (conf_parser_ctx.pass == 2)
5282    {
# Line 5950 | Line 5292 | yyreduce:
5292   }
5293      break;
5294  
5295 <  case 344:
5295 >  case 286:
5296  
5297 < /* Line 1455 of yacc.c  */
5298 < #line 2211 "ircd_parser.y"
5297 > /* Line 1806 of yacc.c  */
5298 > #line 1814 "ircd_parser.y"
5299      {
5300    if (conf_parser_ctx.pass == 2)
5301    {
# Line 5964 | Line 5306 | yyreduce:
5306   }
5307      break;
5308  
5309 <  case 345:
5309 >  case 292:
5310 >
5311 > /* Line 1806 of yacc.c  */
5312 > #line 1832 "ircd_parser.y"
5313 >    {
5314 >  if (conf_parser_ctx.pass == 2)
5315 >  {
5316 >    if (valid_servname(yylval.string))
5317 >    {
5318 >      yy_conf = make_conf_item(SERVICE_TYPE);
5319 >      DupString(yy_conf->name, yylval.string);
5320 >    }
5321 >  }
5322 > }
5323 >    break;
5324 >
5325 >  case 293:
5326  
5327 < /* Line 1455 of yacc.c  */
5328 < #line 2224 "ircd_parser.y"
5327 > /* Line 1806 of yacc.c  */
5328 > #line 1847 "ircd_parser.y"
5329      {
5330    if (conf_parser_ctx.pass == 2)
5331    {
# Line 5978 | Line 5336 | yyreduce:
5336   }
5337      break;
5338  
5339 <  case 346:
5339 >  case 294:
5340  
5341 < /* Line 1455 of yacc.c  */
5342 < #line 2232 "ircd_parser.y"
5341 > /* Line 1806 of yacc.c  */
5342 > #line 1855 "ircd_parser.y"
5343      {
5344    if (conf_parser_ctx.pass == 2)
5345    {
# Line 5990 | Line 5348 | yyreduce:
5348   }
5349      break;
5350  
5351 <  case 353:
5351 >  case 301:
5352  
5353 < /* Line 1455 of yacc.c  */
5354 < #line 2243 "ircd_parser.y"
5353 > /* Line 1806 of yacc.c  */
5354 > #line 1866 "ircd_parser.y"
5355      {
5356    if (conf_parser_ctx.pass == 2)
5357    {
# Line 6003 | Line 5361 | yyreduce:
5361   }
5362      break;
5363  
5364 <  case 354:
5364 >  case 302:
5365  
5366 < /* Line 1455 of yacc.c  */
5367 < #line 2252 "ircd_parser.y"
5366 > /* Line 1806 of yacc.c  */
5367 > #line 1875 "ircd_parser.y"
5368      {
5369    if (conf_parser_ctx.pass == 2)
5370    {
# Line 6029 | Line 5387 | yyreduce:
5387   }
5388      break;
5389  
5390 <  case 355:
5390 >  case 303:
5391  
5392 < /* Line 1455 of yacc.c  */
5393 < #line 2274 "ircd_parser.y"
5392 > /* Line 1806 of yacc.c  */
5393 > #line 1897 "ircd_parser.y"
5394      {
5395    if (conf_parser_ctx.pass == 2)
5396      yy_match_item->action = 0;
5397   }
5398      break;
5399  
5400 <  case 359:
5400 >  case 307:
5401  
5402 < /* Line 1455 of yacc.c  */
5403 < #line 2281 "ircd_parser.y"
5402 > /* Line 1806 of yacc.c  */
5403 > #line 1904 "ircd_parser.y"
5404      {
5405    if (conf_parser_ctx.pass == 2)
5406      yy_match_item->action |= SHARED_KLINE;
5407   }
5408      break;
5409  
5410 <  case 360:
5410 >  case 308:
5411  
5412 < /* Line 1455 of yacc.c  */
5413 < #line 2285 "ircd_parser.y"
5412 > /* Line 1806 of yacc.c  */
5413 > #line 1908 "ircd_parser.y"
5414      {
5415    if (conf_parser_ctx.pass == 2)
5416 <    yy_match_item->action |= SHARED_TKLINE;
5416 >    yy_match_item->action |= SHARED_UNKLINE;
5417   }
5418      break;
5419  
5420 <  case 361:
5420 >  case 309:
5421  
5422 < /* Line 1455 of yacc.c  */
5423 < #line 2289 "ircd_parser.y"
5422 > /* Line 1806 of yacc.c  */
5423 > #line 1912 "ircd_parser.y"
5424      {
5425    if (conf_parser_ctx.pass == 2)
5426 <    yy_match_item->action |= SHARED_UNKLINE;
5426 >    yy_match_item->action |= SHARED_DLINE;
5427   }
5428      break;
5429  
5430 <  case 362:
5430 >  case 310:
5431  
5432 < /* Line 1455 of yacc.c  */
5433 < #line 2293 "ircd_parser.y"
5432 > /* Line 1806 of yacc.c  */
5433 > #line 1916 "ircd_parser.y"
5434      {
5435    if (conf_parser_ctx.pass == 2)
5436 <    yy_match_item->action |= SHARED_XLINE;
5436 >    yy_match_item->action |= SHARED_UNDLINE;
5437   }
5438      break;
5439  
5440 <  case 363:
5440 >  case 311:
5441  
5442 < /* Line 1455 of yacc.c  */
5443 < #line 2297 "ircd_parser.y"
5442 > /* Line 1806 of yacc.c  */
5443 > #line 1920 "ircd_parser.y"
5444      {
5445    if (conf_parser_ctx.pass == 2)
5446 <    yy_match_item->action |= SHARED_TXLINE;
5446 >    yy_match_item->action |= SHARED_XLINE;
5447   }
5448      break;
5449  
5450 <  case 364:
5450 >  case 312:
5451  
5452 < /* Line 1455 of yacc.c  */
5453 < #line 2301 "ircd_parser.y"
5452 > /* Line 1806 of yacc.c  */
5453 > #line 1924 "ircd_parser.y"
5454      {
5455    if (conf_parser_ctx.pass == 2)
5456      yy_match_item->action |= SHARED_UNXLINE;
5457   }
5458      break;
5459  
5460 <  case 365:
5460 >  case 313:
5461  
5462 < /* Line 1455 of yacc.c  */
5463 < #line 2305 "ircd_parser.y"
5462 > /* Line 1806 of yacc.c  */
5463 > #line 1928 "ircd_parser.y"
5464      {
5465    if (conf_parser_ctx.pass == 2)
5466      yy_match_item->action |= SHARED_RESV;
5467   }
5468      break;
5469  
5470 <  case 366:
6113 <
6114 < /* Line 1455 of yacc.c  */
6115 < #line 2309 "ircd_parser.y"
6116 <    {
6117 <  if (conf_parser_ctx.pass == 2)
6118 <    yy_match_item->action |= SHARED_TRESV;
6119 < }
6120 <    break;
6121 <
6122 <  case 367:
5470 >  case 314:
5471  
5472 < /* Line 1455 of yacc.c  */
5473 < #line 2313 "ircd_parser.y"
5472 > /* Line 1806 of yacc.c  */
5473 > #line 1932 "ircd_parser.y"
5474      {
5475    if (conf_parser_ctx.pass == 2)
5476      yy_match_item->action |= SHARED_UNRESV;
5477   }
5478      break;
5479  
5480 <  case 368:
5480 >  case 315:
5481  
5482 < /* Line 1455 of yacc.c  */
5483 < #line 2317 "ircd_parser.y"
5482 > /* Line 1806 of yacc.c  */
5483 > #line 1936 "ircd_parser.y"
5484      {
5485    if (conf_parser_ctx.pass == 2)
5486      yy_match_item->action |= SHARED_LOCOPS;
5487   }
5488      break;
5489  
5490 <  case 369:
5490 >  case 316:
5491  
5492 < /* Line 1455 of yacc.c  */
5493 < #line 2321 "ircd_parser.y"
5492 > /* Line 1806 of yacc.c  */
5493 > #line 1940 "ircd_parser.y"
5494      {
5495    if (conf_parser_ctx.pass == 2)
5496      yy_match_item->action = SHARED_ALL;
5497   }
5498      break;
5499  
5500 <  case 370:
5500 >  case 317:
5501  
5502 < /* Line 1455 of yacc.c  */
5503 < #line 2330 "ircd_parser.y"
5502 > /* Line 1806 of yacc.c  */
5503 > #line 1949 "ircd_parser.y"
5504      {
5505    if (conf_parser_ctx.pass == 2)
5506    {
# Line 6162 | Line 5510 | yyreduce:
5510   }
5511      break;
5512  
5513 <  case 371:
5513 >  case 318:
5514  
5515 < /* Line 1455 of yacc.c  */
5516 < #line 2337 "ircd_parser.y"
5515 > /* Line 1806 of yacc.c  */
5516 > #line 1956 "ircd_parser.y"
5517      {
5518    if (conf_parser_ctx.pass == 2)
5519    {
# Line 6176 | Line 5524 | yyreduce:
5524   }
5525      break;
5526  
5527 <  case 377:
5527 >  case 324:
5528  
5529 < /* Line 1455 of yacc.c  */
5530 < #line 2350 "ircd_parser.y"
5529 > /* Line 1806 of yacc.c  */
5530 > #line 1969 "ircd_parser.y"
5531      {
5532    if (conf_parser_ctx.pass == 2)
5533      DupString(yy_conf->name, yylval.string);
5534   }
5535      break;
5536  
5537 <  case 378:
5537 >  case 325:
5538  
5539 < /* Line 1455 of yacc.c  */
5540 < #line 2356 "ircd_parser.y"
5539 > /* Line 1806 of yacc.c  */
5540 > #line 1975 "ircd_parser.y"
5541      {
5542    if (conf_parser_ctx.pass == 2)
5543      yy_conf->flags = 0;
5544   }
5545      break;
5546  
5547 <  case 382:
5547 >  case 329:
5548  
5549 < /* Line 1455 of yacc.c  */
5550 < #line 2363 "ircd_parser.y"
5549 > /* Line 1806 of yacc.c  */
5550 > #line 1982 "ircd_parser.y"
5551      {
5552    if (conf_parser_ctx.pass == 2)
5553      yy_conf->flags |= SHARED_KLINE;
5554   }
5555      break;
5556  
5557 <  case 383:
5557 >  case 330:
5558  
5559 < /* Line 1455 of yacc.c  */
5560 < #line 2367 "ircd_parser.y"
5559 > /* Line 1806 of yacc.c  */
5560 > #line 1986 "ircd_parser.y"
5561      {
5562    if (conf_parser_ctx.pass == 2)
5563 <    yy_conf->flags |= SHARED_TKLINE;
5563 >    yy_conf->flags |= SHARED_UNKLINE;
5564   }
5565      break;
5566  
5567 <  case 384:
5567 >  case 331:
5568  
5569 < /* Line 1455 of yacc.c  */
5570 < #line 2371 "ircd_parser.y"
5569 > /* Line 1806 of yacc.c  */
5570 > #line 1990 "ircd_parser.y"
5571      {
5572    if (conf_parser_ctx.pass == 2)
5573 <    yy_conf->flags |= SHARED_UNKLINE;
5573 >    yy_conf->flags |= SHARED_DLINE;
5574   }
5575      break;
5576  
5577 <  case 385:
5577 >  case 332:
5578  
5579 < /* Line 1455 of yacc.c  */
5580 < #line 2375 "ircd_parser.y"
5579 > /* Line 1806 of yacc.c  */
5580 > #line 1994 "ircd_parser.y"
5581      {
5582    if (conf_parser_ctx.pass == 2)
5583 <    yy_conf->flags |= SHARED_XLINE;
5583 >    yy_conf->flags |= SHARED_UNDLINE;
5584   }
5585      break;
5586  
5587 <  case 386:
5587 >  case 333:
5588  
5589 < /* Line 1455 of yacc.c  */
5590 < #line 2379 "ircd_parser.y"
5589 > /* Line 1806 of yacc.c  */
5590 > #line 1998 "ircd_parser.y"
5591      {
5592    if (conf_parser_ctx.pass == 2)
5593 <    yy_conf->flags |= SHARED_TXLINE;
5593 >    yy_conf->flags |= SHARED_XLINE;
5594   }
5595      break;
5596  
5597 <  case 387:
5597 >  case 334:
5598  
5599 < /* Line 1455 of yacc.c  */
5600 < #line 2383 "ircd_parser.y"
5599 > /* Line 1806 of yacc.c  */
5600 > #line 2002 "ircd_parser.y"
5601      {
5602    if (conf_parser_ctx.pass == 2)
5603      yy_conf->flags |= SHARED_UNXLINE;
5604   }
5605      break;
5606  
5607 <  case 388:
5607 >  case 335:
5608  
5609 < /* Line 1455 of yacc.c  */
5610 < #line 2387 "ircd_parser.y"
5609 > /* Line 1806 of yacc.c  */
5610 > #line 2006 "ircd_parser.y"
5611      {
5612    if (conf_parser_ctx.pass == 2)
5613      yy_conf->flags |= SHARED_RESV;
5614   }
5615      break;
5616  
5617 <  case 389:
5617 >  case 336:
5618  
5619 < /* Line 1455 of yacc.c  */
5620 < #line 2391 "ircd_parser.y"
6273 <    {
6274 <  if (conf_parser_ctx.pass == 2)
6275 <    yy_conf->flags |= SHARED_TRESV;
6276 < }
6277 <    break;
6278 <
6279 <  case 390:
6280 <
6281 < /* Line 1455 of yacc.c  */
6282 < #line 2395 "ircd_parser.y"
5619 > /* Line 1806 of yacc.c  */
5620 > #line 2010 "ircd_parser.y"
5621      {
5622    if (conf_parser_ctx.pass == 2)
5623      yy_conf->flags |= SHARED_UNRESV;
5624   }
5625      break;
5626  
5627 <  case 391:
5627 >  case 337:
5628  
5629 < /* Line 1455 of yacc.c  */
5630 < #line 2399 "ircd_parser.y"
5629 > /* Line 1806 of yacc.c  */
5630 > #line 2014 "ircd_parser.y"
5631      {
5632    if (conf_parser_ctx.pass == 2)
5633      yy_conf->flags |= SHARED_LOCOPS;
5634   }
5635      break;
5636  
5637 <  case 392:
5637 >  case 338:
5638  
5639 < /* Line 1455 of yacc.c  */
5640 < #line 2403 "ircd_parser.y"
5639 > /* Line 1806 of yacc.c  */
5640 > #line 2018 "ircd_parser.y"
5641      {
5642    if (conf_parser_ctx.pass == 2)
5643      yy_conf->flags = SHARED_ALL;
5644   }
5645      break;
5646  
5647 <  case 393:
5647 >  case 339:
5648  
5649 < /* Line 1455 of yacc.c  */
5650 < #line 2412 "ircd_parser.y"
5649 > /* Line 1806 of yacc.c  */
5650 > #line 2027 "ircd_parser.y"
5651      {
5652    if (conf_parser_ctx.pass == 2)
5653    {
5654      yy_conf = make_conf_item(SERVER_TYPE);
5655 <    yy_aconf = (struct AccessItem *)map_to_conf(yy_conf);
5656 <    yy_aconf->passwd = NULL;
5655 >    yy_aconf = map_to_conf(yy_conf);
5656 >
5657      /* defaults */
5658      yy_aconf->port = PORTNUM;
6321
6322    if (ConfigFileEntry.burst_away)
6323      yy_aconf->flags = CONF_FLAGS_BURST_AWAY;
5659    }
5660    else
5661    {
# Line 6330 | Line 5665 | yyreduce:
5665   }
5666      break;
5667  
5668 <  case 394:
5668 >  case 340:
5669  
5670 < /* Line 1455 of yacc.c  */
5671 < #line 2430 "ircd_parser.y"
5670 > /* Line 1806 of yacc.c  */
5671 > #line 2042 "ircd_parser.y"
5672      {
5673    if (conf_parser_ctx.pass == 2)
5674    {
5675      struct CollectItem *yy_hconf=NULL;
5676      struct CollectItem *yy_lconf=NULL;
5677 <    dlink_node *ptr;
5678 <    dlink_node *next_ptr;
6344 < #ifdef HAVE_LIBCRYPTO
5677 >    dlink_node *ptr = NULL, *next_ptr = NULL;
5678 >
5679      if (yy_aconf->host &&
5680 <        ((yy_aconf->passwd && yy_aconf->spasswd) ||
5681 <         (yy_aconf->rsa_public_key && IsConfCryptLink(yy_aconf))))
5682 < #else /* !HAVE_LIBCRYPTO */
5683 <      if (yy_aconf->host && !IsConfCryptLink(yy_aconf) &&
5684 <          yy_aconf->passwd && yy_aconf->spasswd)
5685 < #endif /* !HAVE_LIBCRYPTO */
5686 <        {
5687 <          if (conf_add_server(yy_conf, class_name) == -1)
5688 <          {
5689 <            delete_conf_item(yy_conf);
5690 <            yy_conf = NULL;
5691 <            yy_aconf = NULL;
5692 <          }
5693 <        }
5694 <        else
6361 <        {
6362 <          /* Even if yy_conf ->name is NULL
6363 <           * should still unhook any hub/leaf confs still pending
6364 <           */
6365 <          unhook_hub_leaf_confs();
5680 >        yy_aconf->passwd && yy_aconf->spasswd)
5681 >    {
5682 >      if (conf_add_server(yy_conf, class_name) == -1)
5683 >      {
5684 >        delete_conf_item(yy_conf);
5685 >        yy_conf = NULL;
5686 >        yy_aconf = NULL;
5687 >      }
5688 >    }
5689 >    else
5690 >    {
5691 >      /* Even if yy_conf ->name is NULL
5692 >       * should still unhook any hub/leaf confs still pending
5693 >       */
5694 >      unhook_hub_leaf_confs();
5695  
5696 <          if (yy_conf->name != NULL)
5697 <          {
5698 < #ifndef HAVE_LIBCRYPTO
5699 <            if (IsConfCryptLink(yy_aconf))
5700 <              yyerror("Ignoring connect block -- no OpenSSL support");
5701 < #else
5702 <            if (IsConfCryptLink(yy_aconf) && !yy_aconf->rsa_public_key)
6374 <              yyerror("Ignoring connect block -- missing key");
6375 < #endif
6376 <            if (yy_aconf->host == NULL)
6377 <              yyerror("Ignoring connect block -- missing host");
6378 <            else if (!IsConfCryptLink(yy_aconf) &&
6379 <                    (!yy_aconf->passwd || !yy_aconf->spasswd))
6380 <              yyerror("Ignoring connect block -- missing password");
6381 <          }
5696 >      if (yy_conf->name != NULL)
5697 >      {
5698 >        if (yy_aconf->host == NULL)
5699 >          yyerror("Ignoring connect block -- missing host");
5700 >        else if (!yy_aconf->passwd || !yy_aconf->spasswd)
5701 >          yyerror("Ignoring connect block -- missing password");
5702 >      }
5703  
5704  
5705 <          /* XXX
5706 <           * This fixes a try_connections() core (caused by invalid class_ptr
5707 <           * pointers) reported by metalrock. That's an ugly fix, but there
5708 <           * is currently no better way. The entire config subsystem needs an
5709 <           * rewrite ASAP. make_conf_item() shouldn't really add things onto
5710 <           * a doubly linked list immediately without any sanity checks!  -Michael
5711 <           */
5712 <          delete_conf_item(yy_conf);
5705 >      /* XXX
5706 >       * This fixes a try_connections() core (caused by invalid class_ptr
5707 >       * pointers) reported by metalrock. That's an ugly fix, but there
5708 >       * is currently no better way. The entire config subsystem needs an
5709 >       * rewrite ASAP. make_conf_item() shouldn't really add things onto
5710 >       * a doubly linked list immediately without any sanity checks!  -Michael
5711 >       */
5712 >      delete_conf_item(yy_conf);
5713  
5714 <          yy_aconf = NULL;
5715 <          yy_conf = NULL;
5716 <        }
5714 >      yy_aconf = NULL;
5715 >      yy_conf = NULL;
5716 >    }
5717  
5718        /*
5719         * yy_conf is still pointing at the server that is having
# Line 6462 | Line 5783 | yyreduce:
5783   }
5784      break;
5785  
5786 <  case 419:
6466 <
6467 < /* Line 1455 of yacc.c  */
6468 < #line 2569 "ircd_parser.y"
6469 <    {
6470 <  if (conf_parser_ctx.pass == 2)
6471 <  {
6472 <    if (yy_conf->name != NULL)
6473 <      yyerror("Multiple connect name entry");
6474 <
6475 <    MyFree(yy_conf->name);
6476 <    DupString(yy_conf->name, yylval.string);
6477 <  }
6478 < }
6479 <    break;
6480 <
6481 <  case 420:
5786 >  case 356:
5787  
5788 < /* Line 1455 of yacc.c  */
5789 < #line 2581 "ircd_parser.y"
5788 > /* Line 1806 of yacc.c  */
5789 > #line 2164 "ircd_parser.y"
5790      {
5791    if (conf_parser_ctx.pass == 2)
5792    {
# Line 6494 | Line 5799 | yyreduce:
5799   }
5800      break;
5801  
5802 <  case 421:
5802 >  case 357:
5803  
5804 < /* Line 1455 of yacc.c  */
5805 < #line 2593 "ircd_parser.y"
5804 > /* Line 1806 of yacc.c  */
5805 > #line 2176 "ircd_parser.y"
5806      {
5807    if (conf_parser_ctx.pass == 2)
5808    {
# Line 6507 | Line 5812 | yyreduce:
5812   }
5813      break;
5814  
5815 <  case 422:
5815 >  case 358:
5816  
5817 < /* Line 1455 of yacc.c  */
5818 < #line 2602 "ircd_parser.y"
5817 > /* Line 1806 of yacc.c  */
5818 > #line 2185 "ircd_parser.y"
5819      {
5820    if (conf_parser_ctx.pass == 2)
5821    {
# Line 6522 | Line 5827 | yyreduce:
5827      hints.ai_socktype = SOCK_STREAM;
5828      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
5829  
5830 <    if (irc_getaddrinfo(yylval.string, NULL, &hints, &res))
5831 <      ilog(L_ERROR, "Invalid netmask for server vhost(%s)", yylval.string);
5830 >    if (getaddrinfo(yylval.string, NULL, &hints, &res))
5831 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
5832      else
5833      {
5834        assert(res != NULL);
# Line 6531 | Line 5836 | yyreduce:
5836        memcpy(&yy_aconf->my_ipnum, res->ai_addr, res->ai_addrlen);
5837        yy_aconf->my_ipnum.ss.ss_family = res->ai_family;
5838        yy_aconf->my_ipnum.ss_len = res->ai_addrlen;
5839 <      irc_freeaddrinfo(res);
5839 >      freeaddrinfo(res);
5840      }
5841    }
5842   }
5843      break;
5844  
5845 <  case 423:
5845 >  case 359:
5846  
5847 < /* Line 1455 of yacc.c  */
5848 < #line 2628 "ircd_parser.y"
5847 > /* Line 1806 of yacc.c  */
5848 > #line 2211 "ircd_parser.y"
5849      {
5850    if (conf_parser_ctx.pass == 2)
5851    {
# Line 6559 | Line 5864 | yyreduce:
5864   }
5865      break;
5866  
5867 <  case 424:
5867 >  case 360:
5868  
5869 < /* Line 1455 of yacc.c  */
5870 < #line 2646 "ircd_parser.y"
5869 > /* Line 1806 of yacc.c  */
5870 > #line 2229 "ircd_parser.y"
5871      {
5872    if (conf_parser_ctx.pass == 2)
5873    {
# Line 6581 | Line 5886 | yyreduce:
5886   }
5887      break;
5888  
5889 <  case 425:
5889 >  case 361:
5890  
5891 < /* Line 1455 of yacc.c  */
5892 < #line 2664 "ircd_parser.y"
5891 > /* Line 1806 of yacc.c  */
5892 > #line 2247 "ircd_parser.y"
5893      {
5894    if (conf_parser_ctx.pass == 2)
5895      yy_aconf->port = (yyvsp[(3) - (4)].number);
5896   }
5897      break;
5898  
5899 <  case 426:
5899 >  case 362:
5900  
5901 < /* Line 1455 of yacc.c  */
5902 < #line 2670 "ircd_parser.y"
5901 > /* Line 1806 of yacc.c  */
5902 > #line 2253 "ircd_parser.y"
5903      {
5904    if (conf_parser_ctx.pass == 2)
5905      yy_aconf->aftype = AF_INET;
5906   }
5907      break;
5908  
5909 <  case 427:
5909 >  case 363:
5910  
5911 < /* Line 1455 of yacc.c  */
5912 < #line 2674 "ircd_parser.y"
5911 > /* Line 1806 of yacc.c  */
5912 > #line 2257 "ircd_parser.y"
5913      {
5914   #ifdef IPV6
5915    if (conf_parser_ctx.pass == 2)
# Line 6613 | Line 5918 | yyreduce:
5918   }
5919      break;
5920  
5921 <  case 428:
6617 <
6618 < /* Line 1455 of yacc.c  */
6619 < #line 2682 "ircd_parser.y"
6620 <    {
6621 <  if (conf_parser_ctx.pass == 2)
6622 <  {
6623 <    MyFree(yy_aconf->fakename);
6624 <    DupString(yy_aconf->fakename, yylval.string);
6625 <  }
6626 < }
6627 <    break;
6628 <
6629 <  case 429:
6630 <
6631 < /* Line 1455 of yacc.c  */
6632 < #line 2691 "ircd_parser.y"
6633 <    {
6634 < }
6635 <    break;
6636 <
6637 <  case 433:
6638 <
6639 < /* Line 1455 of yacc.c  */
6640 < #line 2695 "ircd_parser.y"
6641 <    { not_atom = 1; }
6642 <    break;
6643 <
6644 <  case 435:
6645 <
6646 < /* Line 1455 of yacc.c  */
6647 < #line 2696 "ircd_parser.y"
6648 <    { not_atom = 0; }
6649 <    break;
6650 <
6651 <  case 437:
6652 <
6653 < /* Line 1455 of yacc.c  */
6654 < #line 2699 "ircd_parser.y"
6655 <    {
6656 <  if (conf_parser_ctx.pass == 2)
6657 < #ifndef HAVE_LIBZ
6658 <    yyerror("Ignoring flags = compressed; -- no zlib support");
6659 < #else
6660 < {
6661 <   if (not_atom)ClearConfCompressed(yy_aconf);
6662 <   else SetConfCompressed(yy_aconf);
6663 < }
6664 < #endif
6665 < }
6666 <    break;
6667 <
6668 <  case 438:
5921 >  case 364:
5922  
5923 < /* Line 1455 of yacc.c  */
5924 < #line 2710 "ircd_parser.y"
5923 > /* Line 1806 of yacc.c  */
5924 > #line 2265 "ircd_parser.y"
5925      {
6673  if (conf_parser_ctx.pass == 2)
6674  {
6675    if (not_atom)ClearConfCryptLink(yy_aconf);
6676    else SetConfCryptLink(yy_aconf);
6677  }
5926   }
5927      break;
5928  
5929 <  case 439:
5929 >  case 368:
5930  
5931 < /* Line 1455 of yacc.c  */
5932 < #line 2717 "ircd_parser.y"
5931 > /* Line 1806 of yacc.c  */
5932 > #line 2270 "ircd_parser.y"
5933      {
5934    if (conf_parser_ctx.pass == 2)
5935 <  {
6688 <    if (not_atom)ClearConfAllowAutoConn(yy_aconf);
6689 <    else SetConfAllowAutoConn(yy_aconf);
6690 <  }
5935 >    SetConfAllowAutoConn(yy_aconf);
5936   }
5937      break;
5938  
5939 <  case 440:
5939 >  case 369:
5940  
5941 < /* Line 1455 of yacc.c  */
5942 < #line 2724 "ircd_parser.y"
5941 > /* Line 1806 of yacc.c  */
5942 > #line 2274 "ircd_parser.y"
5943      {
5944    if (conf_parser_ctx.pass == 2)
5945 <  {
6701 <    if (not_atom)ClearConfAwayBurst(yy_aconf);
6702 <    else SetConfAwayBurst(yy_aconf);
6703 <  }
5945 >    SetConfAwayBurst(yy_aconf);
5946   }
5947      break;
5948  
5949 <  case 441:
5949 >  case 370:
5950  
5951 < /* Line 1455 of yacc.c  */
5952 < #line 2731 "ircd_parser.y"
5951 > /* Line 1806 of yacc.c  */
5952 > #line 2278 "ircd_parser.y"
5953      {
5954    if (conf_parser_ctx.pass == 2)
5955 <  {
6714 <    if (not_atom)ClearConfTopicBurst(yy_aconf);
6715 <    else SetConfTopicBurst(yy_aconf);
6716 <  }
5955 >    SetConfTopicBurst(yy_aconf);
5956   }
5957      break;
5958  
5959 <  case 442:
5959 >  case 371:
5960  
5961 < /* Line 1455 of yacc.c  */
5962 < #line 2741 "ircd_parser.y"
5961 > /* Line 1806 of yacc.c  */
5962 > #line 2282 "ircd_parser.y"
5963      {
6725 #ifdef HAVE_LIBCRYPTO
5964    if (conf_parser_ctx.pass == 2)
5965 <  {
6728 <    BIO *file;
6729 <
6730 <    if (yy_aconf->rsa_public_key != NULL)
6731 <    {
6732 <      RSA_free(yy_aconf->rsa_public_key);
6733 <      yy_aconf->rsa_public_key = NULL;
6734 <    }
6735 <
6736 <    if (yy_aconf->rsa_public_key_file != NULL)
6737 <    {
6738 <      MyFree(yy_aconf->rsa_public_key_file);
6739 <      yy_aconf->rsa_public_key_file = NULL;
6740 <    }
6741 <
6742 <    DupString(yy_aconf->rsa_public_key_file, yylval.string);
6743 <
6744 <    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
6745 <    {
6746 <      yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
6747 <      break;
6748 <    }
6749 <
6750 <    yy_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
6751 <
6752 <    if (yy_aconf->rsa_public_key == NULL)
6753 <    {
6754 <      yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
6755 <      break;
6756 <    }
6757 <      
6758 <    BIO_set_close(file, BIO_CLOSE);
6759 <    BIO_free(file);
6760 <  }
6761 < #endif /* HAVE_LIBCRYPTO */
5965 >    SetConfSSL(yy_aconf);
5966   }
5967      break;
5968  
5969 <  case 443:
5969 >  case 372:
5970  
5971 < /* Line 1455 of yacc.c  */
5972 < #line 2782 "ircd_parser.y"
5971 > /* Line 1806 of yacc.c  */
5972 > #line 2288 "ircd_parser.y"
5973      {
5974    if (conf_parser_ctx.pass == 2)
5975    {
# Line 6777 | Line 5981 | yyreduce:
5981   }
5982      break;
5983  
5984 <  case 444:
6781 <
6782 < /* Line 1455 of yacc.c  */
6783 < #line 2793 "ircd_parser.y"
6784 <    {
6785 <  if (conf_parser_ctx.pass == 2)
6786 <  {
6787 <    if (yylval.number)
6788 <      yy_aconf->flags |= CONF_FLAGS_CRYPTLINK;
6789 <    else
6790 <      yy_aconf->flags &= ~CONF_FLAGS_CRYPTLINK;
6791 <  }
6792 < }
6793 <    break;
6794 <
6795 <  case 445:
6796 <
6797 < /* Line 1455 of yacc.c  */
6798 < #line 2804 "ircd_parser.y"
6799 <    {
6800 <  if (conf_parser_ctx.pass == 2)
6801 <  {
6802 <    if (yylval.number)
6803 < #ifndef HAVE_LIBZ
6804 <      yyerror("Ignoring compressed=yes; -- no zlib support");
6805 < #else
6806 <      yy_aconf->flags |= CONF_FLAGS_COMPRESSED;
6807 < #endif
6808 <    else
6809 <      yy_aconf->flags &= ~CONF_FLAGS_COMPRESSED;
6810 <  }
6811 < }
6812 <    break;
6813 <
6814 <  case 446:
6815 <
6816 < /* Line 1455 of yacc.c  */
6817 < #line 2819 "ircd_parser.y"
6818 <    {
6819 <  if (conf_parser_ctx.pass == 2)
6820 <  {
6821 <    if (yylval.number)
6822 <      yy_aconf->flags |= CONF_FLAGS_ALLOW_AUTO_CONN;
6823 <    else
6824 <      yy_aconf->flags &= ~CONF_FLAGS_ALLOW_AUTO_CONN;
6825 <  }
6826 < }
6827 <    break;
6828 <
6829 <  case 447:
5984 >  case 373:
5985  
5986 < /* Line 1455 of yacc.c  */
5987 < #line 2830 "ircd_parser.y"
6833 <    {
6834 <  if (conf_parser_ctx.pass == 2)
6835 <  {
6836 <    if (yylval.number)
6837 <      SetConfTopicBurst(yy_aconf);
6838 <    else
6839 <      ClearConfTopicBurst(yy_aconf);
6840 <  }
6841 < }
6842 <    break;
6843 <
6844 <  case 448:
6845 <
6846 < /* Line 1455 of yacc.c  */
6847 < #line 2841 "ircd_parser.y"
5986 > /* Line 1806 of yacc.c  */
5987 > #line 2299 "ircd_parser.y"
5988      {
5989    if (conf_parser_ctx.pass == 2)
5990    {
# Line 6858 | Line 5998 | yyreduce:
5998   }
5999      break;
6000  
6001 <  case 449:
6001 >  case 374:
6002  
6003 < /* Line 1455 of yacc.c  */
6004 < #line 2854 "ircd_parser.y"
6003 > /* Line 1806 of yacc.c  */
6004 > #line 2312 "ircd_parser.y"
6005      {
6006    if (conf_parser_ctx.pass == 2)
6007    {
# Line 6875 | Line 6015 | yyreduce:
6015   }
6016      break;
6017  
6018 <  case 450:
6018 >  case 375:
6019  
6020 < /* Line 1455 of yacc.c  */
6021 < #line 2867 "ircd_parser.y"
6020 > /* Line 1806 of yacc.c  */
6021 > #line 2325 "ircd_parser.y"
6022      {
6023    if (conf_parser_ctx.pass == 2)
6024    {
# Line 6888 | Line 6028 | yyreduce:
6028   }
6029      break;
6030  
6031 <  case 451:
6892 <
6893 < /* Line 1455 of yacc.c  */
6894 < #line 2876 "ircd_parser.y"
6895 <    {
6896 < #ifdef HAVE_LIBCRYPTO
6897 <  if (conf_parser_ctx.pass == 2)
6898 <  {
6899 <    struct EncCapability *ecap;
6900 <    const char *cipher_name;
6901 <    int found = 0;
6902 <
6903 <    yy_aconf->cipher_preference = NULL;
6904 <    cipher_name = yylval.string;
6905 <
6906 <    for (ecap = CipherTable; ecap->name; ecap++)
6907 <    {
6908 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
6909 <          (ecap->cap & CAP_ENC_MASK))
6910 <      {
6911 <        yy_aconf->cipher_preference = ecap;
6912 <        found = 1;
6913 <        break;
6914 <      }
6915 <    }
6916 <
6917 <    if (!found)
6918 <      yyerror("Invalid cipher");
6919 <  }
6920 < #else
6921 <  if (conf_parser_ctx.pass == 2)
6922 <    yyerror("Ignoring cipher_preference -- no OpenSSL support");
6923 < #endif
6924 < }
6925 <    break;
6926 <
6927 <  case 452:
6031 >  case 376:
6032  
6033 < /* Line 1455 of yacc.c  */
6034 < #line 2911 "ircd_parser.y"
6033 > /* Line 1806 of yacc.c  */
6034 > #line 2337 "ircd_parser.y"
6035      {
6036    if (conf_parser_ctx.pass == 2)
6037    {
# Line 6937 | Line 6041 | yyreduce:
6041   }
6042      break;
6043  
6044 <  case 453:
6044 >  case 377:
6045  
6046 < /* Line 1455 of yacc.c  */
6047 < #line 2918 "ircd_parser.y"
6046 > /* Line 1806 of yacc.c  */
6047 > #line 2344 "ircd_parser.y"
6048      {
6049    if (conf_parser_ctx.pass == 2)
6050    {
# Line 6956 | Line 6060 | yyreduce:
6060          if (!(exp_user = ircd_pcre_compile(userbuf, &errptr)) ||
6061              !(exp_host = ircd_pcre_compile(hostbuf, &errptr)))
6062          {
6063 <          ilog(L_ERROR, "Failed to add regular expression based K-Line: %s",
6063 >          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: %s",
6064                 errptr);
6065            break;
6066          }
# Line 6973 | Line 6077 | yyreduce:
6077          else
6078            DupString(yy_aconf->reason, "No reason");
6079   #else
6080 <        ilog(L_ERROR, "Failed to add regular expression based K-Line: no PCRE support");
6080 >        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
6081          break;
6082   #endif
6083        }
# Line 6997 | Line 6101 | yyreduce:
6101   }
6102      break;
6103  
6104 <  case 454:
6104 >  case 378:
6105  
6106 < /* Line 1455 of yacc.c  */
6107 < #line 2974 "ircd_parser.y"
6106 > /* Line 1806 of yacc.c  */
6107 > #line 2400 "ircd_parser.y"
6108      {
6109   }
6110      break;
6111  
6112 <  case 458:
6112 >  case 382:
6113  
6114 < /* Line 1455 of yacc.c  */
6115 < #line 2979 "ircd_parser.y"
6114 > /* Line 1806 of yacc.c  */
6115 > #line 2405 "ircd_parser.y"
6116      {
6117    if (conf_parser_ctx.pass == 2)
6118      regex_ban = 1;
6119   }
6120      break;
6121  
6122 <  case 465:
6122 >  case 389:
6123  
6124 < /* Line 1455 of yacc.c  */
6125 < #line 2988 "ircd_parser.y"
6124 > /* Line 1806 of yacc.c  */
6125 > #line 2414 "ircd_parser.y"
6126      {
6127    if (conf_parser_ctx.pass == 2)
6128    {
# Line 7038 | Line 6142 | yyreduce:
6142   }
6143      break;
6144  
6145 <  case 466:
6145 >  case 390:
6146  
6147 < /* Line 1455 of yacc.c  */
6148 < #line 3007 "ircd_parser.y"
6147 > /* Line 1806 of yacc.c  */
6148 > #line 2433 "ircd_parser.y"
6149      {
6150    if (conf_parser_ctx.pass == 2)
6151      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
6152   }
6153      break;
6154  
6155 <  case 467:
6155 >  case 391:
6156  
6157 < /* Line 1455 of yacc.c  */
6158 < #line 3016 "ircd_parser.y"
6157 > /* Line 1806 of yacc.c  */
6158 > #line 2442 "ircd_parser.y"
6159      {
6160    if (conf_parser_ctx.pass == 2)
6161      hostbuf[0] = reasonbuf[0] = '\0';
6162   }
6163      break;
6164  
6165 <  case 468:
6165 >  case 392:
6166  
6167 < /* Line 1455 of yacc.c  */
6168 < #line 3020 "ircd_parser.y"
6167 > /* Line 1806 of yacc.c  */
6168 > #line 2446 "ircd_parser.y"
6169      {
6170    if (conf_parser_ctx.pass == 2)
6171    {
# Line 7081 | Line 6185 | yyreduce:
6185   }
6186      break;
6187  
6188 <  case 474:
6188 >  case 398:
6189  
6190 < /* Line 1455 of yacc.c  */
6191 < #line 3042 "ircd_parser.y"
6190 > /* Line 1806 of yacc.c  */
6191 > #line 2468 "ircd_parser.y"
6192      {
6193    if (conf_parser_ctx.pass == 2)
6194      strlcpy(hostbuf, yylval.string, sizeof(hostbuf));
6195   }
6196      break;
6197  
6198 <  case 475:
6198 >  case 399:
6199  
6200 < /* Line 1455 of yacc.c  */
6201 < #line 3048 "ircd_parser.y"
6200 > /* Line 1806 of yacc.c  */
6201 > #line 2474 "ircd_parser.y"
6202      {
6203    if (conf_parser_ctx.pass == 2)
6204      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
6205   }
6206      break;
6207  
6208 <  case 481:
6208 >  case 405:
6209  
6210 < /* Line 1455 of yacc.c  */
6211 < #line 3062 "ircd_parser.y"
6210 > /* Line 1806 of yacc.c  */
6211 > #line 2488 "ircd_parser.y"
6212      {
6213    if (conf_parser_ctx.pass == 2)
6214    {
# Line 7120 | Line 6224 | yyreduce:
6224   }
6225      break;
6226  
6227 <  case 482:
6227 >  case 406:
6228  
6229 < /* Line 1455 of yacc.c  */
6230 < #line 3080 "ircd_parser.y"
6229 > /* Line 1806 of yacc.c  */
6230 > #line 2506 "ircd_parser.y"
6231      {
6232    if (conf_parser_ctx.pass == 2)
6233    {
# Line 7133 | Line 6237 | yyreduce:
6237   }
6238      break;
6239  
6240 <  case 483:
6240 >  case 407:
6241  
6242 < /* Line 1455 of yacc.c  */
6243 < #line 3087 "ircd_parser.y"
6242 > /* Line 1806 of yacc.c  */
6243 > #line 2513 "ircd_parser.y"
6244      {
6245    if (conf_parser_ctx.pass == 2)
6246    {
# Line 7150 | Line 6254 | yyreduce:
6254  
6255          if (!(exp_p = ircd_pcre_compile(gecos_name, &errptr)))
6256          {
6257 <          ilog(L_ERROR, "Failed to add regular expression based X-Line: %s",
6257 >          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
6258                 errptr);
6259            break;
6260          }
# Line 7158 | Line 6262 | yyreduce:
6262          yy_conf = make_conf_item(RXLINE_TYPE);
6263          yy_conf->regexpname = exp_p;
6264   #else
6265 <        ilog(L_ERROR, "Failed to add regular expression based X-Line: no PCRE support");
6265 >        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: no PCRE support");
6266          break;
6267   #endif
6268        }
# Line 7177 | Line 6281 | yyreduce:
6281   }
6282      break;
6283  
6284 <  case 484:
6284 >  case 408:
6285  
6286 < /* Line 1455 of yacc.c  */
6287 < #line 3127 "ircd_parser.y"
6286 > /* Line 1806 of yacc.c  */
6287 > #line 2553 "ircd_parser.y"
6288      {
6289   }
6290      break;
6291  
6292 <  case 488:
6292 >  case 412:
6293  
6294 < /* Line 1455 of yacc.c  */
6295 < #line 3132 "ircd_parser.y"
6294 > /* Line 1806 of yacc.c  */
6295 > #line 2558 "ircd_parser.y"
6296      {
6297    if (conf_parser_ctx.pass == 2)
6298      regex_ban = 1;
6299   }
6300      break;
6301  
6302 <  case 495:
6302 >  case 419:
6303  
6304 < /* Line 1455 of yacc.c  */
6305 < #line 3141 "ircd_parser.y"
6304 > /* Line 1806 of yacc.c  */
6305 > #line 2567 "ircd_parser.y"
6306      {
6307    if (conf_parser_ctx.pass == 2)
6308      strlcpy(gecos_name, yylval.string, sizeof(gecos_name));
6309   }
6310      break;
6311  
6312 <  case 496:
6312 >  case 420:
6313  
6314 < /* Line 1455 of yacc.c  */
6315 < #line 3147 "ircd_parser.y"
6314 > /* Line 1806 of yacc.c  */
6315 > #line 2573 "ircd_parser.y"
6316      {
6317    if (conf_parser_ctx.pass == 2)
6318      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
6319   }
6320      break;
6321  
6322 <  case 557:
6322 >  case 476:
6323  
6324 < /* Line 1455 of yacc.c  */
6325 < #line 3192 "ircd_parser.y"
6324 > /* Line 1806 of yacc.c  */
6325 > #line 2617 "ircd_parser.y"
6326      {
6327    ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
6328   }
6329      break;
6330  
6331 <  case 558:
6331 >  case 477:
6332  
6333 < /* Line 1455 of yacc.c  */
6334 < #line 3197 "ircd_parser.y"
6333 > /* Line 1806 of yacc.c  */
6334 > #line 2622 "ircd_parser.y"
6335      {
6336    ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
6337   }
6338      break;
6339  
6340 <  case 559:
6340 >  case 478:
6341  
6342 < /* Line 1455 of yacc.c  */
6343 < #line 3202 "ircd_parser.y"
6342 > /* Line 1806 of yacc.c  */
6343 > #line 2627 "ircd_parser.y"
6344      {
6345    ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
6346   }
6347      break;
6348  
6349 <  case 560:
7246 <
7247 < /* Line 1455 of yacc.c  */
7248 < #line 3207 "ircd_parser.y"
7249 <    {
7250 <  ConfigFileEntry.burst_away = yylval.number;
7251 < }
7252 <    break;
7253 <
7254 <  case 561:
6349 >  case 479:
6350  
6351 < /* Line 1455 of yacc.c  */
6352 < #line 3212 "ircd_parser.y"
6351 > /* Line 1806 of yacc.c  */
6352 > #line 2632 "ircd_parser.y"
6353      {
6354    ConfigFileEntry.use_whois_actually = yylval.number;
6355   }
6356      break;
6357  
6358 <  case 562:
6358 >  case 480:
6359  
6360 < /* Line 1455 of yacc.c  */
6361 < #line 3217 "ircd_parser.y"
6360 > /* Line 1806 of yacc.c  */
6361 > #line 2637 "ircd_parser.y"
6362      {
6363    GlobalSetOptions.rejecttime = yylval.number;
6364   }
6365      break;
6366  
6367 <  case 563:
6367 >  case 481:
6368  
6369 < /* Line 1455 of yacc.c  */
6370 < #line 3222 "ircd_parser.y"
6369 > /* Line 1806 of yacc.c  */
6370 > #line 2642 "ircd_parser.y"
6371      {
6372    ConfigFileEntry.tkline_expire_notices = yylval.number;
6373   }
6374      break;
6375  
6376 <  case 564:
6376 >  case 482:
6377  
6378 < /* Line 1455 of yacc.c  */
6379 < #line 3227 "ircd_parser.y"
6378 > /* Line 1806 of yacc.c  */
6379 > #line 2647 "ircd_parser.y"
6380      {
6381    ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
6382   }
6383      break;
6384  
6385 <  case 565:
6385 >  case 483:
6386  
6387 < /* Line 1455 of yacc.c  */
6388 < #line 3232 "ircd_parser.y"
6387 > /* Line 1806 of yacc.c  */
6388 > #line 2652 "ircd_parser.y"
6389      {
6390    ConfigFileEntry.hide_spoof_ips = yylval.number;
6391   }
6392      break;
6393  
6394 <  case 566:
6394 >  case 484:
6395  
6396 < /* Line 1455 of yacc.c  */
6397 < #line 3237 "ircd_parser.y"
6396 > /* Line 1806 of yacc.c  */
6397 > #line 2657 "ircd_parser.y"
6398      {
6399    ConfigFileEntry.ignore_bogus_ts = yylval.number;
6400   }
6401      break;
6402  
6403 <  case 567:
6403 >  case 485:
6404  
6405 < /* Line 1455 of yacc.c  */
6406 < #line 3242 "ircd_parser.y"
6405 > /* Line 1806 of yacc.c  */
6406 > #line 2662 "ircd_parser.y"
6407      {
6408    ConfigFileEntry.disable_remote = yylval.number;
6409   }
6410      break;
6411  
6412 <  case 568:
6412 >  case 486:
6413  
6414 < /* Line 1455 of yacc.c  */
6415 < #line 3247 "ircd_parser.y"
6414 > /* Line 1806 of yacc.c  */
6415 > #line 2667 "ircd_parser.y"
6416      {
6417    ConfigFileEntry.failed_oper_notice = yylval.number;
6418   }
6419      break;
6420  
6421 <  case 569:
6421 >  case 487:
6422  
6423 < /* Line 1455 of yacc.c  */
6424 < #line 3252 "ircd_parser.y"
6423 > /* Line 1806 of yacc.c  */
6424 > #line 2672 "ircd_parser.y"
6425      {
6426    ConfigFileEntry.anti_nick_flood = yylval.number;
6427   }
6428      break;
6429  
6430 <  case 570:
6430 >  case 488:
6431  
6432 < /* Line 1455 of yacc.c  */
6433 < #line 3257 "ircd_parser.y"
6432 > /* Line 1806 of yacc.c  */
6433 > #line 2677 "ircd_parser.y"
6434      {
6435    ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
6436   }
6437      break;
6438  
6439 <  case 571:
6439 >  case 489:
6440  
6441 < /* Line 1455 of yacc.c  */
6442 < #line 3262 "ircd_parser.y"
6441 > /* Line 1806 of yacc.c  */
6442 > #line 2682 "ircd_parser.y"
6443      {
6444    ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
6445   }
6446      break;
6447  
6448 <  case 572:
6448 >  case 490:
6449  
6450 < /* Line 1455 of yacc.c  */
6451 < #line 3267 "ircd_parser.y"
6450 > /* Line 1806 of yacc.c  */
6451 > #line 2687 "ircd_parser.y"
6452      {
6453    ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
6454   }
6455      break;
6456  
6457 <  case 573:
6457 >  case 491:
6458  
6459 < /* Line 1455 of yacc.c  */
6460 < #line 3272 "ircd_parser.y"
6459 > /* Line 1806 of yacc.c  */
6460 > #line 2692 "ircd_parser.y"
6461      {
6462    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
6463   }
6464      break;
6465  
6466 <  case 574:
6466 >  case 492:
6467  
6468 < /* Line 1455 of yacc.c  */
6469 < #line 3277 "ircd_parser.y"
6468 > /* Line 1806 of yacc.c  */
6469 > #line 2697 "ircd_parser.y"
6470      {
6471    ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
6472   }
6473      break;
6474  
6475 <  case 575:
6475 >  case 493:
6476  
6477 < /* Line 1455 of yacc.c  */
6478 < #line 3282 "ircd_parser.y"
6477 > /* Line 1806 of yacc.c  */
6478 > #line 2702 "ircd_parser.y"
6479      {
6480    if (conf_parser_ctx.pass == 2)
6481      ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
6482   }
6483      break;
6484  
6485 <  case 576:
6485 >  case 494:
6486  
6487 < /* Line 1455 of yacc.c  */
6488 < #line 3288 "ircd_parser.y"
6487 > /* Line 1806 of yacc.c  */
6488 > #line 2708 "ircd_parser.y"
6489      {
6490    if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
6491    {
6492 <    ilog(L_CRIT, "You haven't read your config file properly.");
6493 <    ilog(L_CRIT, "There is a line in the example conf that will kill your server if not removed.");
6494 <    ilog(L_CRIT, "Consider actually reading/editing the conf file, and removing this line.");
6492 >    ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
6493 >    ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
6494 >    ilog(LOG_TYPE_IRCD, "Consider actually reading/editing the conf file, and removing this line.");
6495      exit(0);
6496    }
6497   }
6498      break;
6499  
6500 <  case 577:
6500 >  case 495:
6501  
6502 < /* Line 1455 of yacc.c  */
6503 < #line 3299 "ircd_parser.y"
6502 > /* Line 1806 of yacc.c  */
6503 > #line 2719 "ircd_parser.y"
6504      {
6505    ConfigFileEntry.kline_with_reason = yylval.number;
6506   }
6507      break;
6508  
6509 <  case 578:
6509 >  case 496:
6510  
6511 < /* Line 1455 of yacc.c  */
6512 < #line 3304 "ircd_parser.y"
6511 > /* Line 1806 of yacc.c  */
6512 > #line 2724 "ircd_parser.y"
6513      {
6514    if (conf_parser_ctx.pass == 2)
6515    {
# Line 7424 | Line 6519 | yyreduce:
6519   }
6520      break;
6521  
6522 <  case 579:
6522 >  case 497:
6523  
6524 < /* Line 1455 of yacc.c  */
6525 < #line 3313 "ircd_parser.y"
6524 > /* Line 1806 of yacc.c  */
6525 > #line 2733 "ircd_parser.y"
6526      {
6527    ConfigFileEntry.invisible_on_connect = yylval.number;
6528   }
6529      break;
6530  
6531 <  case 580:
6531 >  case 498:
6532  
6533 < /* Line 1455 of yacc.c  */
6534 < #line 3318 "ircd_parser.y"
6533 > /* Line 1806 of yacc.c  */
6534 > #line 2738 "ircd_parser.y"
6535      {
6536    ConfigFileEntry.warn_no_nline = yylval.number;
6537   }
6538      break;
6539  
6540 <  case 581:
6540 >  case 499:
6541  
6542 < /* Line 1455 of yacc.c  */
6543 < #line 3323 "ircd_parser.y"
6542 > /* Line 1806 of yacc.c  */
6543 > #line 2743 "ircd_parser.y"
6544      {
6545    ConfigFileEntry.stats_e_disabled = yylval.number;
6546   }
6547      break;
6548  
6549 <  case 582:
6549 >  case 500:
6550  
6551 < /* Line 1455 of yacc.c  */
6552 < #line 3328 "ircd_parser.y"
6551 > /* Line 1806 of yacc.c  */
6552 > #line 2748 "ircd_parser.y"
6553      {
6554    ConfigFileEntry.stats_o_oper_only = yylval.number;
6555   }
6556      break;
6557  
6558 <  case 583:
6558 >  case 501:
6559  
6560 < /* Line 1455 of yacc.c  */
6561 < #line 3333 "ircd_parser.y"
6560 > /* Line 1806 of yacc.c  */
6561 > #line 2753 "ircd_parser.y"
6562      {
6563    ConfigFileEntry.stats_P_oper_only = yylval.number;
6564   }
6565      break;
6566  
6567 <  case 584:
6567 >  case 502:
6568  
6569 < /* Line 1455 of yacc.c  */
6570 < #line 3338 "ircd_parser.y"
6569 > /* Line 1806 of yacc.c  */
6570 > #line 2758 "ircd_parser.y"
6571      {
6572    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
6573   }
6574      break;
6575  
6576 <  case 585:
6576 >  case 503:
6577  
6578 < /* Line 1455 of yacc.c  */
6579 < #line 3341 "ircd_parser.y"
6578 > /* Line 1806 of yacc.c  */
6579 > #line 2761 "ircd_parser.y"
6580      {
6581    ConfigFileEntry.stats_k_oper_only = 1;
6582   }
6583      break;
6584  
6585 <  case 586:
6585 >  case 504:
6586  
6587 < /* Line 1455 of yacc.c  */
6588 < #line 3346 "ircd_parser.y"
6587 > /* Line 1806 of yacc.c  */
6588 > #line 2766 "ircd_parser.y"
6589      {
6590    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
6591   }
6592      break;
6593  
6594 <  case 587:
6594 >  case 505:
6595  
6596 < /* Line 1455 of yacc.c  */
6597 < #line 3349 "ircd_parser.y"
6596 > /* Line 1806 of yacc.c  */
6597 > #line 2769 "ircd_parser.y"
6598      {
6599    ConfigFileEntry.stats_i_oper_only = 1;
6600   }
6601      break;
6602  
6603 <  case 588:
6603 >  case 506:
6604  
6605 < /* Line 1455 of yacc.c  */
6606 < #line 3354 "ircd_parser.y"
6605 > /* Line 1806 of yacc.c  */
6606 > #line 2774 "ircd_parser.y"
6607      {
6608    ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
6609   }
6610      break;
6611  
6612 <  case 589:
6612 >  case 507:
6613  
6614 < /* Line 1455 of yacc.c  */
6615 < #line 3359 "ircd_parser.y"
6614 > /* Line 1806 of yacc.c  */
6615 > #line 2779 "ircd_parser.y"
6616      {
6617    ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
6618   }
6619      break;
6620  
6621 <  case 590:
6621 >  case 508:
6622  
6623 < /* Line 1455 of yacc.c  */
6624 < #line 3364 "ircd_parser.y"
6623 > /* Line 1806 of yacc.c  */
6624 > #line 2784 "ircd_parser.y"
6625      {
6626    ConfigFileEntry.opers_bypass_callerid = yylval.number;
6627   }
6628      break;
6629  
6630 <  case 591:
6630 >  case 509:
6631  
6632 < /* Line 1455 of yacc.c  */
6633 < #line 3369 "ircd_parser.y"
6632 > /* Line 1806 of yacc.c  */
6633 > #line 2789 "ircd_parser.y"
6634      {
6635    ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
6636   }
6637      break;
6638  
6639 <  case 592:
6639 >  case 510:
6640  
6641 < /* Line 1455 of yacc.c  */
6642 < #line 3374 "ircd_parser.y"
6641 > /* Line 1806 of yacc.c  */
6642 > #line 2794 "ircd_parser.y"
6643      {
6644    ConfigFileEntry.short_motd = yylval.number;
6645   }
6646      break;
6647  
6648 <  case 593:
6648 >  case 511:
6649  
6650 < /* Line 1455 of yacc.c  */
6651 < #line 3379 "ircd_parser.y"
6650 > /* Line 1806 of yacc.c  */
6651 > #line 2799 "ircd_parser.y"
6652      {
6653    ConfigFileEntry.no_oper_flood = yylval.number;
6654   }
6655      break;
6656  
6657 <  case 594:
6657 >  case 512:
6658  
6659 < /* Line 1455 of yacc.c  */
6660 < #line 3384 "ircd_parser.y"
6659 > /* Line 1806 of yacc.c  */
6660 > #line 2804 "ircd_parser.y"
6661      {
6662    ConfigFileEntry.true_no_oper_flood = yylval.number;
6663   }
6664      break;
6665  
6666 <  case 595:
6666 >  case 513:
6667  
6668 < /* Line 1455 of yacc.c  */
6669 < #line 3389 "ircd_parser.y"
6668 > /* Line 1806 of yacc.c  */
6669 > #line 2809 "ircd_parser.y"
6670      {
6671    ConfigFileEntry.oper_pass_resv = yylval.number;
6672   }
6673      break;
6674  
6675 <  case 596:
6675 >  case 514:
6676  
6677 < /* Line 1455 of yacc.c  */
6678 < #line 3394 "ircd_parser.y"
6677 > /* Line 1806 of yacc.c  */
6678 > #line 2814 "ircd_parser.y"
6679      {
6680    if (conf_parser_ctx.pass == 2)
6681    {
# Line 7592 | Line 6687 | yyreduce:
6687   }
6688      break;
6689  
6690 <  case 597:
7596 <
7597 < /* Line 1455 of yacc.c  */
7598 < #line 3405 "ircd_parser.y"
7599 <    {
7600 <  ConfigFileEntry.idletime = (yyvsp[(3) - (4)].number);
7601 < }
7602 <    break;
7603 <
7604 <  case 598:
6690 >  case 515:
6691  
6692 < /* Line 1455 of yacc.c  */
6693 < #line 3410 "ircd_parser.y"
6692 > /* Line 1806 of yacc.c  */
6693 > #line 2825 "ircd_parser.y"
6694      {
6695    ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
6696   }
6697      break;
6698  
6699 <  case 599:
6699 >  case 516:
6700  
6701 < /* Line 1455 of yacc.c  */
6702 < #line 3415 "ircd_parser.y"
6701 > /* Line 1806 of yacc.c  */
6702 > #line 2830 "ircd_parser.y"
6703      {
6704    ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
6705   }
6706      break;
6707  
6708 <  case 600:
6708 >  case 517:
6709  
6710 < /* Line 1455 of yacc.c  */
6711 < #line 3420 "ircd_parser.y"
6710 > /* Line 1806 of yacc.c  */
6711 > #line 2835 "ircd_parser.y"
6712      {
6713 <  if (conf_parser_ctx.pass == 2)
7628 <  {
7629 <    MyFree(ConfigFileEntry.servlink_path);
7630 <    DupString(ConfigFileEntry.servlink_path, yylval.string);
7631 <  }
7632 < }
7633 <    break;
7634 <
7635 <  case 601:
7636 <
7637 < /* Line 1455 of yacc.c  */
7638 < #line 3429 "ircd_parser.y"
7639 <    {
7640 < #ifdef HAVE_LIBCRYPTO
7641 <  if (conf_parser_ctx.pass == 2)
7642 <  {
7643 <    struct EncCapability *ecap;
7644 <    const char *cipher_name;
7645 <    int found = 0;
7646 <
7647 <    ConfigFileEntry.default_cipher_preference = NULL;
7648 <    cipher_name = yylval.string;
7649 <
7650 <    for (ecap = CipherTable; ecap->name; ecap++)
7651 <    {
7652 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
7653 <          (ecap->cap & CAP_ENC_MASK))
7654 <      {
7655 <        ConfigFileEntry.default_cipher_preference = ecap;
7656 <        found = 1;
7657 <        break;
7658 <      }
7659 <    }
7660 <
7661 <    if (!found)
7662 <      yyerror("Invalid cipher");
7663 <  }
7664 < #else
7665 <  if (conf_parser_ctx.pass == 2)
7666 <    yyerror("Ignoring default_cipher_preference -- no OpenSSL support");
7667 < #endif
6713 >  ConfigFileEntry.use_egd = yylval.number;
6714   }
6715      break;
6716  
6717 <  case 602:
6717 >  case 518:
6718  
6719 < /* Line 1455 of yacc.c  */
6720 < #line 3461 "ircd_parser.y"
6719 > /* Line 1806 of yacc.c  */
6720 > #line 2840 "ircd_parser.y"
6721      {
6722    if (conf_parser_ctx.pass == 2)
6723    {
6724 <    ConfigFileEntry.compression_level = (yyvsp[(3) - (4)].number);
6725 < #ifndef HAVE_LIBZ
7680 <    yyerror("Ignoring compression_level -- no zlib support");
7681 < #else
7682 <    if ((ConfigFileEntry.compression_level < 1) ||
7683 <        (ConfigFileEntry.compression_level > 9))
7684 <    {
7685 <      yyerror("Ignoring invalid compression_level, using default");
7686 <      ConfigFileEntry.compression_level = 0;
7687 <    }
7688 < #endif
6724 >    MyFree(ConfigFileEntry.egdpool_path);
6725 >    DupString(ConfigFileEntry.egdpool_path, yylval.string);
6726    }
6727   }
6728      break;
6729  
6730 <  case 603:
7694 <
7695 < /* Line 1455 of yacc.c  */
7696 < #line 3479 "ircd_parser.y"
7697 <    {
7698 <  ConfigFileEntry.use_egd = yylval.number;
7699 < }
7700 <    break;
7701 <
7702 <  case 604:
6730 >  case 519:
6731  
6732 < /* Line 1455 of yacc.c  */
6733 < #line 3484 "ircd_parser.y"
6732 > /* Line 1806 of yacc.c  */
6733 > #line 2849 "ircd_parser.y"
6734      {
6735 <  if (conf_parser_ctx.pass == 2)
6735 >  if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6736    {
6737 <    MyFree(ConfigFileEntry.egdpool_path);
6738 <    DupString(ConfigFileEntry.egdpool_path, yylval.string);
6737 >    MyFree(ConfigFileEntry.service_name);
6738 >    DupString(ConfigFileEntry.service_name, yylval.string);
6739    }
6740   }
6741      break;
6742  
6743 <  case 605:
6743 >  case 520:
6744  
6745 < /* Line 1455 of yacc.c  */
6746 < #line 3493 "ircd_parser.y"
6745 > /* Line 1806 of yacc.c  */
6746 > #line 2858 "ircd_parser.y"
6747      {
6748    ConfigFileEntry.ping_cookie = yylval.number;
6749   }
6750      break;
6751  
6752 <  case 606:
6752 >  case 521:
6753  
6754 < /* Line 1455 of yacc.c  */
6755 < #line 3498 "ircd_parser.y"
6754 > /* Line 1806 of yacc.c  */
6755 > #line 2863 "ircd_parser.y"
6756      {
6757    ConfigFileEntry.disable_auth = yylval.number;
6758   }
6759      break;
6760  
6761 <  case 607:
6761 >  case 522:
6762  
6763 < /* Line 1455 of yacc.c  */
6764 < #line 3503 "ircd_parser.y"
6763 > /* Line 1806 of yacc.c  */
6764 > #line 2868 "ircd_parser.y"
6765      {
6766    ConfigFileEntry.throttle_time = yylval.number;
6767   }
6768      break;
6769  
6770 <  case 608:
6770 >  case 523:
6771  
6772 < /* Line 1455 of yacc.c  */
6773 < #line 3508 "ircd_parser.y"
6772 > /* Line 1806 of yacc.c  */
6773 > #line 2873 "ircd_parser.y"
6774      {
6775    ConfigFileEntry.oper_umodes = 0;
6776   }
6777      break;
6778  
6779 <  case 612:
6779 >  case 527:
6780  
6781 < /* Line 1455 of yacc.c  */
6782 < #line 3514 "ircd_parser.y"
6781 > /* Line 1806 of yacc.c  */
6782 > #line 2879 "ircd_parser.y"
6783      {
6784    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6785   }
6786      break;
6787  
6788 <  case 613:
6788 >  case 528:
6789  
6790 < /* Line 1455 of yacc.c  */
6791 < #line 3517 "ircd_parser.y"
6790 > /* Line 1806 of yacc.c  */
6791 > #line 2882 "ircd_parser.y"
6792      {
6793    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6794   }
6795      break;
6796  
6797 <  case 614:
6797 >  case 529:
6798  
6799 < /* Line 1455 of yacc.c  */
6800 < #line 3520 "ircd_parser.y"
6799 > /* Line 1806 of yacc.c  */
6800 > #line 2885 "ircd_parser.y"
6801      {
6802    ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6803   }
6804      break;
6805  
6806 <  case 615:
6806 >  case 530:
6807  
6808 < /* Line 1455 of yacc.c  */
6809 < #line 3523 "ircd_parser.y"
6808 > /* Line 1806 of yacc.c  */
6809 > #line 2888 "ircd_parser.y"
6810      {
6811    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6812   }
6813      break;
6814  
6815 <  case 616:
6815 >  case 531:
6816  
6817 < /* Line 1455 of yacc.c  */
6818 < #line 3526 "ircd_parser.y"
6817 > /* Line 1806 of yacc.c  */
6818 > #line 2891 "ircd_parser.y"
6819      {
6820    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6821   }
6822      break;
6823  
6824 <  case 617:
6824 >  case 532:
6825  
6826 < /* Line 1455 of yacc.c  */
6827 < #line 3529 "ircd_parser.y"
6826 > /* Line 1806 of yacc.c  */
6827 > #line 2894 "ircd_parser.y"
6828      {
6829    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6830   }
6831      break;
6832  
6833 <  case 618:
6833 >  case 533:
6834 >
6835 > /* Line 1806 of yacc.c  */
6836 > #line 2897 "ircd_parser.y"
6837 >    {
6838 >  ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6839 > }
6840 >    break;
6841 >
6842 >  case 534:
6843  
6844 < /* Line 1455 of yacc.c  */
6845 < #line 3532 "ircd_parser.y"
6844 > /* Line 1806 of yacc.c  */
6845 > #line 2900 "ircd_parser.y"
6846      {
6847    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6848   }
6849      break;
6850  
6851 <  case 619:
6851 >  case 535:
6852  
6853 < /* Line 1455 of yacc.c  */
6854 < #line 3535 "ircd_parser.y"
6853 > /* Line 1806 of yacc.c  */
6854 > #line 2903 "ircd_parser.y"
6855      {
6856    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6857   }
6858      break;
6859  
6860 <  case 620:
6860 >  case 536:
6861  
6862 < /* Line 1455 of yacc.c  */
6863 < #line 3538 "ircd_parser.y"
6862 > /* Line 1806 of yacc.c  */
6863 > #line 2906 "ircd_parser.y"
6864      {
6865    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6866   }
6867      break;
6868  
6869 <  case 621:
6869 >  case 537:
6870  
6871 < /* Line 1455 of yacc.c  */
6872 < #line 3541 "ircd_parser.y"
6871 > /* Line 1806 of yacc.c  */
6872 > #line 2909 "ircd_parser.y"
6873      {
6874    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6875   }
6876      break;
6877  
6878 <  case 622:
6878 >  case 538:
6879  
6880 < /* Line 1455 of yacc.c  */
6881 < #line 3544 "ircd_parser.y"
6880 > /* Line 1806 of yacc.c  */
6881 > #line 2912 "ircd_parser.y"
6882      {
6883    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6884   }
6885      break;
6886  
6887 <  case 623:
6887 >  case 539:
6888  
6889 < /* Line 1455 of yacc.c  */
6890 < #line 3547 "ircd_parser.y"
6889 > /* Line 1806 of yacc.c  */
6890 > #line 2915 "ircd_parser.y"
6891      {
6892    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6893   }
6894      break;
6895  
6896 <  case 624:
6896 >  case 540:
6897  
6898 < /* Line 1455 of yacc.c  */
6899 < #line 3550 "ircd_parser.y"
6898 > /* Line 1806 of yacc.c  */
6899 > #line 2918 "ircd_parser.y"
6900      {
6901    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6902   }
6903      break;
6904  
6905 <  case 625:
6905 >  case 541:
6906  
6907 < /* Line 1455 of yacc.c  */
6908 < #line 3553 "ircd_parser.y"
6907 > /* Line 1806 of yacc.c  */
6908 > #line 2921 "ircd_parser.y"
6909      {
6910    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6911   }
6912      break;
6913  
6914 <  case 626:
6914 >  case 542:
6915  
6916 < /* Line 1455 of yacc.c  */
6917 < #line 3556 "ircd_parser.y"
6916 > /* Line 1806 of yacc.c  */
6917 > #line 2924 "ircd_parser.y"
6918      {
6919    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6920   }
6921      break;
6922  
6923 <  case 627:
6923 >  case 543:
6924  
6925 < /* Line 1455 of yacc.c  */
6926 < #line 3559 "ircd_parser.y"
6925 > /* Line 1806 of yacc.c  */
6926 > #line 2927 "ircd_parser.y"
6927      {
6928    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6929   }
6930      break;
6931  
6932 <  case 628:
6932 >  case 544:
6933  
6934 < /* Line 1455 of yacc.c  */
6935 < #line 3562 "ircd_parser.y"
6934 > /* Line 1806 of yacc.c  */
6935 > #line 2930 "ircd_parser.y"
6936      {
6937    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6938   }
6939      break;
6940  
6941 <  case 629:
6941 >  case 545:
6942  
6943 < /* Line 1455 of yacc.c  */
6944 < #line 3565 "ircd_parser.y"
6943 > /* Line 1806 of yacc.c  */
6944 > #line 2933 "ircd_parser.y"
6945      {
6946    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6947   }
6948      break;
6949  
6950 <  case 630:
6950 >  case 546:
6951  
6952 < /* Line 1455 of yacc.c  */
6953 < #line 3568 "ircd_parser.y"
6952 > /* Line 1806 of yacc.c  */
6953 > #line 2936 "ircd_parser.y"
6954      {
6955    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6956   }
6957      break;
6958  
6959 <  case 631:
6959 >  case 547:
6960  
6961 < /* Line 1455 of yacc.c  */
6962 < #line 3573 "ircd_parser.y"
6961 > /* Line 1806 of yacc.c  */
6962 > #line 2941 "ircd_parser.y"
6963      {
6964    ConfigFileEntry.oper_only_umodes = 0;
6965   }
6966      break;
6967  
6968 <  case 635:
6968 >  case 551:
6969  
6970 < /* Line 1455 of yacc.c  */
6971 < #line 3579 "ircd_parser.y"
6970 > /* Line 1806 of yacc.c  */
6971 > #line 2947 "ircd_parser.y"
6972      {
6973    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6974   }
6975      break;
6976  
6977 <  case 636:
6977 >  case 552:
6978  
6979 < /* Line 1455 of yacc.c  */
6980 < #line 3582 "ircd_parser.y"
6979 > /* Line 1806 of yacc.c  */
6980 > #line 2950 "ircd_parser.y"
6981      {
6982    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6983   }
6984      break;
6985  
6986 <  case 637:
6986 >  case 553:
6987  
6988 < /* Line 1455 of yacc.c  */
6989 < #line 3585 "ircd_parser.y"
6988 > /* Line 1806 of yacc.c  */
6989 > #line 2953 "ircd_parser.y"
6990      {
6991    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6992   }
6993      break;
6994  
6995 <  case 638:
6995 >  case 554:
6996  
6997 < /* Line 1455 of yacc.c  */
6998 < #line 3588 "ircd_parser.y"
6997 > /* Line 1806 of yacc.c  */
6998 > #line 2956 "ircd_parser.y"
6999      {
7000    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
7001   }
7002      break;
7003  
7004 <  case 639:
7004 >  case 555:
7005  
7006 < /* Line 1455 of yacc.c  */
7007 < #line 3591 "ircd_parser.y"
7006 > /* Line 1806 of yacc.c  */
7007 > #line 2959 "ircd_parser.y"
7008      {
7009    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
7010   }
7011      break;
7012  
7013 <  case 640:
7013 >  case 556:
7014  
7015 < /* Line 1455 of yacc.c  */
7016 < #line 3594 "ircd_parser.y"
7015 > /* Line 1806 of yacc.c  */
7016 > #line 2962 "ircd_parser.y"
7017      {
7018    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
7019   }
7020      break;
7021  
7022 <  case 641:
7022 >  case 557:
7023  
7024 < /* Line 1455 of yacc.c  */
7025 < #line 3597 "ircd_parser.y"
7024 > /* Line 1806 of yacc.c  */
7025 > #line 2965 "ircd_parser.y"
7026      {
7027    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
7028   }
7029      break;
7030  
7031 <  case 642:
7031 >  case 558:
7032 >
7033 > /* Line 1806 of yacc.c  */
7034 > #line 2968 "ircd_parser.y"
7035 >    {
7036 >  ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
7037 > }
7038 >    break;
7039 >
7040 >  case 559:
7041  
7042 < /* Line 1455 of yacc.c  */
7043 < #line 3600 "ircd_parser.y"
7042 > /* Line 1806 of yacc.c  */
7043 > #line 2971 "ircd_parser.y"
7044      {
7045    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
7046   }
7047      break;
7048  
7049 <  case 643:
7049 >  case 560:
7050  
7051 < /* Line 1455 of yacc.c  */
7052 < #line 3603 "ircd_parser.y"
7051 > /* Line 1806 of yacc.c  */
7052 > #line 2974 "ircd_parser.y"
7053      {
7054    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
7055   }
7056      break;
7057  
7058 <  case 644:
7058 >  case 561:
7059  
7060 < /* Line 1455 of yacc.c  */
7061 < #line 3606 "ircd_parser.y"
7060 > /* Line 1806 of yacc.c  */
7061 > #line 2977 "ircd_parser.y"
7062      {
7063    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
7064   }
7065      break;
7066  
7067 <  case 645:
7067 >  case 562:
7068  
7069 < /* Line 1455 of yacc.c  */
7070 < #line 3609 "ircd_parser.y"
7069 > /* Line 1806 of yacc.c  */
7070 > #line 2980 "ircd_parser.y"
7071      {
7072    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
7073   }
7074      break;
7075  
7076 <  case 646:
7076 >  case 563:
7077  
7078 < /* Line 1455 of yacc.c  */
7079 < #line 3612 "ircd_parser.y"
7078 > /* Line 1806 of yacc.c  */
7079 > #line 2983 "ircd_parser.y"
7080      {
7081    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
7082   }
7083      break;
7084  
7085 <  case 647:
7085 >  case 564:
7086  
7087 < /* Line 1455 of yacc.c  */
7088 < #line 3615 "ircd_parser.y"
7087 > /* Line 1806 of yacc.c  */
7088 > #line 2986 "ircd_parser.y"
7089      {
7090    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
7091   }
7092      break;
7093  
7094 <  case 648:
7094 >  case 565:
7095  
7096 < /* Line 1455 of yacc.c  */
7097 < #line 3618 "ircd_parser.y"
7096 > /* Line 1806 of yacc.c  */
7097 > #line 2989 "ircd_parser.y"
7098      {
7099    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
7100   }
7101      break;
7102  
7103 <  case 649:
7103 >  case 566:
7104  
7105 < /* Line 1455 of yacc.c  */
7106 < #line 3621 "ircd_parser.y"
7105 > /* Line 1806 of yacc.c  */
7106 > #line 2992 "ircd_parser.y"
7107      {
7108    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
7109   }
7110      break;
7111  
7112 <  case 650:
7112 >  case 567:
7113  
7114 < /* Line 1455 of yacc.c  */
7115 < #line 3624 "ircd_parser.y"
7114 > /* Line 1806 of yacc.c  */
7115 > #line 2995 "ircd_parser.y"
7116      {
7117    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
7118   }
7119      break;
7120  
7121 <  case 651:
7121 >  case 568:
7122  
7123 < /* Line 1455 of yacc.c  */
7124 < #line 3627 "ircd_parser.y"
7123 > /* Line 1806 of yacc.c  */
7124 > #line 2998 "ircd_parser.y"
7125      {
7126    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
7127   }
7128      break;
7129  
7130 <  case 652:
7130 >  case 569:
7131  
7132 < /* Line 1455 of yacc.c  */
7133 < #line 3630 "ircd_parser.y"
7132 > /* Line 1806 of yacc.c  */
7133 > #line 3001 "ircd_parser.y"
7134      {
7135    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
7136   }
7137      break;
7138  
7139 <  case 653:
7139 >  case 570:
7140  
7141 < /* Line 1455 of yacc.c  */
7142 < #line 3633 "ircd_parser.y"
7141 > /* Line 1806 of yacc.c  */
7142 > #line 3004 "ircd_parser.y"
7143      {
7144    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
7145   }
7146      break;
7147  
7148 <  case 654:
7148 >  case 571:
7149  
7150 < /* Line 1455 of yacc.c  */
7151 < #line 3638 "ircd_parser.y"
7150 > /* Line 1806 of yacc.c  */
7151 > #line 3009 "ircd_parser.y"
7152      {
7153    ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
7154   }
7155      break;
7156  
7157 <  case 655:
7157 >  case 572:
7158  
7159 < /* Line 1455 of yacc.c  */
7160 < #line 3643 "ircd_parser.y"
7159 > /* Line 1806 of yacc.c  */
7160 > #line 3014 "ircd_parser.y"
7161      {
7162    ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
7163   }
7164      break;
7165  
7166 <  case 656:
7166 >  case 573:
7167  
7168 < /* Line 1455 of yacc.c  */
7169 < #line 3648 "ircd_parser.y"
7168 > /* Line 1806 of yacc.c  */
7169 > #line 3019 "ircd_parser.y"
7170      {
7171    ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
7172   }
7173      break;
7174  
7175 <  case 657:
7175 >  case 574:
7176  
7177 < /* Line 1455 of yacc.c  */
7178 < #line 3653 "ircd_parser.y"
7177 > /* Line 1806 of yacc.c  */
7178 > #line 3024 "ircd_parser.y"
7179      {
7180    ConfigFileEntry.client_flood = (yyvsp[(3) - (4)].number);
7181   }
7182      break;
7183  
7184 <  case 658:
8139 <
8140 < /* Line 1455 of yacc.c  */
8141 < #line 3658 "ircd_parser.y"
8142 <    {
8143 <  ConfigFileEntry.dot_in_ip6_addr = yylval.number;
8144 < }
8145 <    break;
8146 <
8147 <  case 659:
7184 >  case 575:
7185  
7186 < /* Line 1455 of yacc.c  */
7187 < #line 3666 "ircd_parser.y"
7186 > /* Line 1806 of yacc.c  */
7187 > #line 3033 "ircd_parser.y"
7188      {
7189    if (conf_parser_ctx.pass == 2)
7190    {
# Line 8157 | Line 7194 | yyreduce:
7194   }
7195      break;
7196  
7197 <  case 660:
7197 >  case 576:
7198  
7199 < /* Line 1455 of yacc.c  */
7200 < #line 3673 "ircd_parser.y"
7199 > /* Line 1806 of yacc.c  */
7200 > #line 3040 "ircd_parser.y"
7201      {
7202    if (conf_parser_ctx.pass == 2)
7203    {
# Line 8178 | Line 7215 | yyreduce:
7215   }
7216      break;
7217  
7218 <  case 670:
7218 >  case 586:
7219  
7220 < /* Line 1455 of yacc.c  */
7221 < #line 3699 "ircd_parser.y"
7220 > /* Line 1806 of yacc.c  */
7221 > #line 3066 "ircd_parser.y"
7222      {
7223    if (conf_parser_ctx.pass == 2)
7224      ConfigFileEntry.glines = yylval.number;
7225   }
7226      break;
7227  
7228 <  case 671:
7228 >  case 587:
7229  
7230 < /* Line 1455 of yacc.c  */
7231 < #line 3705 "ircd_parser.y"
7230 > /* Line 1806 of yacc.c  */
7231 > #line 3072 "ircd_parser.y"
7232      {
7233    if (conf_parser_ctx.pass == 2)
7234      ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
7235   }
7236      break;
7237  
7238 <  case 672:
7238 >  case 588:
7239  
7240 < /* Line 1455 of yacc.c  */
7241 < #line 3711 "ircd_parser.y"
7240 > /* Line 1806 of yacc.c  */
7241 > #line 3078 "ircd_parser.y"
7242      {
7243    if (conf_parser_ctx.pass == 2)
7244      ConfigFileEntry.gline_logging = 0;
7245   }
7246      break;
7247  
7248 <  case 676:
7248 >  case 592:
7249  
7250 < /* Line 1455 of yacc.c  */
7251 < #line 3717 "ircd_parser.y"
7250 > /* Line 1806 of yacc.c  */
7251 > #line 3084 "ircd_parser.y"
7252      {
7253    if (conf_parser_ctx.pass == 2)
7254      ConfigFileEntry.gline_logging |= GDENY_REJECT;
7255   }
7256      break;
7257  
7258 <  case 677:
7258 >  case 593:
7259  
7260 < /* Line 1455 of yacc.c  */
7261 < #line 3721 "ircd_parser.y"
7260 > /* Line 1806 of yacc.c  */
7261 > #line 3088 "ircd_parser.y"
7262      {
7263    if (conf_parser_ctx.pass == 2)
7264      ConfigFileEntry.gline_logging |= GDENY_BLOCK;
7265   }
7266      break;
7267  
7268 <  case 678:
7268 >  case 594:
7269  
7270 < /* Line 1455 of yacc.c  */
7271 < #line 3727 "ircd_parser.y"
7270 > /* Line 1806 of yacc.c  */
7271 > #line 3094 "ircd_parser.y"
7272      {
7273    if (conf_parser_ctx.pass == 2)
7274    {
# Line 8266 | Line 7303 | yyreduce:
7303   }
7304      break;
7305  
7306 <  case 679:
7306 >  case 595:
7307  
7308 < /* Line 1455 of yacc.c  */
7309 < #line 3761 "ircd_parser.y"
7308 > /* Line 1806 of yacc.c  */
7309 > #line 3128 "ircd_parser.y"
7310      {
7311    if (conf_parser_ctx.pass == 2)  
7312    {
# Line 8279 | Line 7316 | yyreduce:
7316   }
7317      break;
7318  
7319 <  case 680:
7319 >  case 596:
7320  
7321 < /* Line 1455 of yacc.c  */
7322 < #line 3770 "ircd_parser.y"
7321 > /* Line 1806 of yacc.c  */
7322 > #line 3137 "ircd_parser.y"
7323      {
7324    if (conf_parser_ctx.pass == 2)
7325      yy_aconf->flags = 0;
7326   }
7327      break;
7328  
7329 <  case 681:
7329 >  case 597:
7330  
7331 < /* Line 1455 of yacc.c  */
7332 < #line 3774 "ircd_parser.y"
7331 > /* Line 1806 of yacc.c  */
7332 > #line 3141 "ircd_parser.y"
7333      {
7334    if (conf_parser_ctx.pass == 2)
7335    {
# Line 8339 | Line 7376 | yyreduce:
7376   }
7377      break;
7378  
7379 <  case 684:
7379 >  case 600:
7380  
7381 < /* Line 1455 of yacc.c  */
7382 < #line 3821 "ircd_parser.y"
7381 > /* Line 1806 of yacc.c  */
7382 > #line 3188 "ircd_parser.y"
7383      {
7384    if (conf_parser_ctx.pass == 2)
7385      yy_aconf->flags |= GDENY_REJECT;
7386   }
7387      break;
7388  
7389 <  case 685:
7389 >  case 601:
7390  
7391 < /* Line 1455 of yacc.c  */
7392 < #line 3825 "ircd_parser.y"
7391 > /* Line 1806 of yacc.c  */
7392 > #line 3192 "ircd_parser.y"
7393      {
7394    if (conf_parser_ctx.pass == 2)
7395      yy_aconf->flags |= GDENY_BLOCK;
7396   }
7397      break;
7398  
7399 <  case 708:
7399 >  case 624:
7400  
7401 < /* Line 1455 of yacc.c  */
7402 < #line 3849 "ircd_parser.y"
7401 > /* Line 1806 of yacc.c  */
7402 > #line 3216 "ircd_parser.y"
7403      {
7404    ConfigChannel.disable_fake_channels = yylval.number;
7405   }
7406      break;
7407  
7408 <  case 709:
7408 >  case 625:
7409  
7410 < /* Line 1455 of yacc.c  */
7411 < #line 3854 "ircd_parser.y"
7410 > /* Line 1806 of yacc.c  */
7411 > #line 3221 "ircd_parser.y"
7412      {
7413    ConfigChannel.restrict_channels = yylval.number;
7414   }
7415      break;
7416  
7417 <  case 710:
7417 >  case 626:
7418  
7419 < /* Line 1455 of yacc.c  */
7420 < #line 3859 "ircd_parser.y"
7419 > /* Line 1806 of yacc.c  */
7420 > #line 3226 "ircd_parser.y"
7421      {
7422    ConfigChannel.disable_local_channels = yylval.number;
7423   }
7424      break;
7425  
7426 <  case 711:
7426 >  case 627:
7427  
7428 < /* Line 1455 of yacc.c  */
7429 < #line 3864 "ircd_parser.y"
7428 > /* Line 1806 of yacc.c  */
7429 > #line 3231 "ircd_parser.y"
7430      {
7431    ConfigChannel.use_except = yylval.number;
7432   }
7433      break;
7434  
7435 <  case 712:
7435 >  case 628:
7436  
7437 < /* Line 1455 of yacc.c  */
7438 < #line 3869 "ircd_parser.y"
7437 > /* Line 1806 of yacc.c  */
7438 > #line 3236 "ircd_parser.y"
7439      {
7440    ConfigChannel.use_invex = yylval.number;
7441   }
7442      break;
7443  
7444 <  case 713:
7444 >  case 629:
7445  
7446 < /* Line 1455 of yacc.c  */
7447 < #line 3874 "ircd_parser.y"
7446 > /* Line 1806 of yacc.c  */
7447 > #line 3241 "ircd_parser.y"
7448      {
7449    ConfigChannel.use_knock = yylval.number;
7450   }
7451      break;
7452  
7453 <  case 714:
7453 >  case 630:
7454  
7455 < /* Line 1455 of yacc.c  */
7456 < #line 3879 "ircd_parser.y"
7455 > /* Line 1806 of yacc.c  */
7456 > #line 3246 "ircd_parser.y"
7457      {
7458    ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
7459   }
7460      break;
7461  
7462 <  case 715:
7462 >  case 631:
7463  
7464 < /* Line 1455 of yacc.c  */
7465 < #line 3884 "ircd_parser.y"
7464 > /* Line 1806 of yacc.c  */
7465 > #line 3251 "ircd_parser.y"
7466      {
7467    ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
7468   }
7469      break;
7470  
7471 <  case 716:
7471 >  case 632:
7472  
7473 < /* Line 1455 of yacc.c  */
7474 < #line 3889 "ircd_parser.y"
7473 > /* Line 1806 of yacc.c  */
7474 > #line 3256 "ircd_parser.y"
7475      {
7476    ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
7477   }
7478      break;
7479  
7480 <  case 717:
7480 >  case 633:
7481  
7482 < /* Line 1455 of yacc.c  */
7483 < #line 3894 "ircd_parser.y"
7482 > /* Line 1806 of yacc.c  */
7483 > #line 3261 "ircd_parser.y"
7484      {
7485    ConfigChannel.quiet_on_ban = yylval.number;
7486   }
7487      break;
7488  
7489 <  case 718:
7489 >  case 634:
7490  
7491 < /* Line 1455 of yacc.c  */
7492 < #line 3899 "ircd_parser.y"
7491 > /* Line 1806 of yacc.c  */
7492 > #line 3266 "ircd_parser.y"
7493      {
7494    ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
7495   }
7496      break;
7497  
7498 <  case 719:
7498 >  case 635:
7499  
7500 < /* Line 1455 of yacc.c  */
7501 < #line 3904 "ircd_parser.y"
7500 > /* Line 1806 of yacc.c  */
7501 > #line 3271 "ircd_parser.y"
7502      {
7503    ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
7504   }
7505      break;
7506  
7507 <  case 720:
7507 >  case 636:
7508  
7509 < /* Line 1455 of yacc.c  */
7510 < #line 3909 "ircd_parser.y"
7509 > /* Line 1806 of yacc.c  */
7510 > #line 3276 "ircd_parser.y"
7511      {
7512    ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
7513   }
7514      break;
7515  
7516 <  case 721:
7516 >  case 637:
7517  
7518 < /* Line 1455 of yacc.c  */
7519 < #line 3914 "ircd_parser.y"
7518 > /* Line 1806 of yacc.c  */
7519 > #line 3281 "ircd_parser.y"
7520      {
7521    ConfigChannel.no_create_on_split = yylval.number;
7522   }
7523      break;
7524  
7525 <  case 722:
7525 >  case 638:
7526  
7527 < /* Line 1455 of yacc.c  */
7528 < #line 3919 "ircd_parser.y"
7527 > /* Line 1806 of yacc.c  */
7528 > #line 3286 "ircd_parser.y"
7529      {
7530    ConfigChannel.no_join_on_split = yylval.number;
7531   }
7532      break;
7533  
7534 <  case 723:
7534 >  case 639:
7535  
7536 < /* Line 1455 of yacc.c  */
7537 < #line 3924 "ircd_parser.y"
7536 > /* Line 1806 of yacc.c  */
7537 > #line 3291 "ircd_parser.y"
7538      {
7539    ConfigChannel.burst_topicwho = yylval.number;
7540   }
7541      break;
7542  
7543 <  case 724:
7543 >  case 640:
7544  
7545 < /* Line 1455 of yacc.c  */
7546 < #line 3929 "ircd_parser.y"
7545 > /* Line 1806 of yacc.c  */
7546 > #line 3296 "ircd_parser.y"
7547      {
7548    GlobalSetOptions.joinfloodcount = yylval.number;
7549   }
7550      break;
7551  
7552 <  case 725:
7552 >  case 641:
7553  
7554 < /* Line 1455 of yacc.c  */
7555 < #line 3934 "ircd_parser.y"
7554 > /* Line 1806 of yacc.c  */
7555 > #line 3301 "ircd_parser.y"
7556      {
7557    GlobalSetOptions.joinfloodtime = yylval.number;
7558   }
7559      break;
7560  
7561 <  case 737:
7561 >  case 653:
7562  
7563 < /* Line 1455 of yacc.c  */
7564 < #line 3953 "ircd_parser.y"
7563 > /* Line 1806 of yacc.c  */
7564 > #line 3320 "ircd_parser.y"
7565      {
7566    if (conf_parser_ctx.pass == 2)
7567      ConfigServerHide.flatten_links = yylval.number;
7568   }
7569      break;
7570  
7571 <  case 738:
7571 >  case 654:
7572  
7573 < /* Line 1455 of yacc.c  */
7574 < #line 3959 "ircd_parser.y"
7573 > /* Line 1806 of yacc.c  */
7574 > #line 3326 "ircd_parser.y"
7575      {
7576    if (conf_parser_ctx.pass == 2)
7577      ConfigServerHide.hide_servers = yylval.number;
7578   }
7579      break;
7580  
7581 <  case 739:
7581 >  case 655:
7582  
7583 < /* Line 1455 of yacc.c  */
7584 < #line 3965 "ircd_parser.y"
7583 > /* Line 1806 of yacc.c  */
7584 > #line 3332 "ircd_parser.y"
7585      {
7586    if (conf_parser_ctx.pass == 2)
7587    {
# Line 8554 | Line 7591 | yyreduce:
7591   }
7592      break;
7593  
7594 <  case 740:
7594 >  case 656:
7595  
7596 < /* Line 1455 of yacc.c  */
7597 < #line 3974 "ircd_parser.y"
7596 > /* Line 1806 of yacc.c  */
7597 > #line 3341 "ircd_parser.y"
7598      {
7599    if (conf_parser_ctx.pass == 2)
7600    {
# Line 8572 | Line 7609 | yyreduce:
7609   }
7610      break;
7611  
7612 <  case 741:
7612 >  case 657:
7613  
7614 < /* Line 1455 of yacc.c  */
7615 < #line 3988 "ircd_parser.y"
7614 > /* Line 1806 of yacc.c  */
7615 > #line 3355 "ircd_parser.y"
7616      {
7617    if (conf_parser_ctx.pass == 2)
7618      ConfigServerHide.hidden = yylval.number;
7619   }
7620      break;
7621  
7622 <  case 742:
7622 >  case 658:
7623  
7624 < /* Line 1455 of yacc.c  */
7625 < #line 3994 "ircd_parser.y"
7624 > /* Line 1806 of yacc.c  */
7625 > #line 3361 "ircd_parser.y"
7626      {
7627    if (conf_parser_ctx.pass == 2)
7628      ConfigServerHide.disable_hidden = yylval.number;
7629   }
7630      break;
7631  
7632 <  case 743:
7632 >  case 659:
7633  
7634 < /* Line 1455 of yacc.c  */
7635 < #line 4000 "ircd_parser.y"
7634 > /* Line 1806 of yacc.c  */
7635 > #line 3367 "ircd_parser.y"
7636      {
7637    if (conf_parser_ctx.pass == 2)
7638      ConfigServerHide.hide_server_ips = yylval.number;
# Line 8604 | Line 7641 | yyreduce:
7641  
7642  
7643  
7644 < /* Line 1455 of yacc.c  */
7645 < #line 8609 "ircd_parser.c"
7644 > /* Line 1806 of yacc.c  */
7645 > #line 7646 "ircd_parser.c"
7646        default: break;
7647      }
7648 +  /* User semantic actions sometimes alter yychar, and that requires
7649 +     that yytoken be updated with the new translation.  We take the
7650 +     approach of translating immediately before every use of yytoken.
7651 +     One alternative is translating here after every semantic action,
7652 +     but that translation would be missed if the semantic action invokes
7653 +     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
7654 +     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
7655 +     incorrect destructor might then be invoked immediately.  In the
7656 +     case of YYERROR or YYBACKUP, subsequent parser actions might lead
7657 +     to an incorrect destructor call or verbose syntax error message
7658 +     before the lookahead is translated.  */
7659    YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
7660  
7661    YYPOPSTACK (yylen);
# Line 8635 | Line 7683 | yyreduce:
7683   | yyerrlab -- here on detecting error |
7684   `------------------------------------*/
7685   yyerrlab:
7686 +  /* Make sure we have latest lookahead translation.  See comments at
7687 +     user semantic actions for why this is necessary.  */
7688 +  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
7689 +
7690    /* If not already recovering from an error, report this error.  */
7691    if (!yyerrstatus)
7692      {
# Line 8642 | Line 7694 | yyerrlab:
7694   #if ! YYERROR_VERBOSE
7695        yyerror (YY_("syntax error"));
7696   #else
7697 + # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
7698 +                                        yyssp, yytoken)
7699        {
7700 <        YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
7701 <        if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
7702 <          {
7703 <            YYSIZE_T yyalloc = 2 * yysize;
7704 <            if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
7705 <              yyalloc = YYSTACK_ALLOC_MAXIMUM;
7706 <            if (yymsg != yymsgbuf)
7707 <              YYSTACK_FREE (yymsg);
7708 <            yymsg = (char *) YYSTACK_ALLOC (yyalloc);
7709 <            if (yymsg)
7710 <              yymsg_alloc = yyalloc;
7711 <            else
7712 <              {
7713 <                yymsg = yymsgbuf;
7714 <                yymsg_alloc = sizeof yymsgbuf;
7715 <              }
7716 <          }
7717 <
7718 <        if (0 < yysize && yysize <= yymsg_alloc)
7719 <          {
7720 <            (void) yysyntax_error (yymsg, yystate, yychar);
7721 <            yyerror (yymsg);
7722 <          }
7723 <        else
7724 <          {
8671 <            yyerror (YY_("syntax error"));
8672 <            if (yysize != 0)
8673 <              goto yyexhaustedlab;
8674 <          }
7700 >        char const *yymsgp = YY_("syntax error");
7701 >        int yysyntax_error_status;
7702 >        yysyntax_error_status = YYSYNTAX_ERROR;
7703 >        if (yysyntax_error_status == 0)
7704 >          yymsgp = yymsg;
7705 >        else if (yysyntax_error_status == 1)
7706 >          {
7707 >            if (yymsg != yymsgbuf)
7708 >              YYSTACK_FREE (yymsg);
7709 >            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
7710 >            if (!yymsg)
7711 >              {
7712 >                yymsg = yymsgbuf;
7713 >                yymsg_alloc = sizeof yymsgbuf;
7714 >                yysyntax_error_status = 2;
7715 >              }
7716 >            else
7717 >              {
7718 >                yysyntax_error_status = YYSYNTAX_ERROR;
7719 >                yymsgp = yymsg;
7720 >              }
7721 >          }
7722 >        yyerror (yymsgp);
7723 >        if (yysyntax_error_status == 2)
7724 >          goto yyexhaustedlab;
7725        }
7726 + # undef YYSYNTAX_ERROR
7727   #endif
7728      }
7729  
# Line 8731 | Line 7782 | yyerrlab1:
7782    for (;;)
7783      {
7784        yyn = yypact[yystate];
7785 <      if (yyn != YYPACT_NINF)
7785 >      if (!yypact_value_is_default (yyn))
7786          {
7787            yyn += YYTERROR;
7788            if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
# Line 8790 | Line 7841 | yyexhaustedlab:
7841  
7842   yyreturn:
7843    if (yychar != YYEMPTY)
7844 <     yydestruct ("Cleanup: discarding lookahead",
7845 <                 yytoken, &yylval);
7844 >    {
7845 >      /* Make sure we have latest lookahead translation.  See comments at
7846 >         user semantic actions for why this is necessary.  */
7847 >      yytoken = YYTRANSLATE (yychar);
7848 >      yydestruct ("Cleanup: discarding lookahead",
7849 >                  yytoken, &yylval);
7850 >    }
7851    /* Do not reclaim the symbols of the rule which action triggered
7852       this YYABORT or YYACCEPT.  */
7853    YYPOPSTACK (yylen);

Diff Legend

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