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

Comparing ircd-hybrid/branches/8.2.x/src/conf_parser.c (file contents):
Revision 3474 by michael, Sun May 4 15:45:10 2014 UTC vs.
Revision 5399 by michael, Tue Jan 20 14:49:22 2015 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 3.0.2.  */
1 > /* A Bison parser, made by GNU Bison 3.0.3.  */
2  
3   /* Bison implementation for Yacc-like parsers in C
4  
5 <   Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
5 >   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
6  
7     This program is free software: you can redistribute it and/or modify
8     it under the terms of the GNU General Public License as published by
# Line 44 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "3.0.2"
47 > #define YYBISON_VERSION "3.0.3"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 75 | Line 75
75   #include "list.h"
76   #include "conf.h"
77   #include "conf_class.h"
78 + #include "conf_pseudo.h"
79   #include "event.h"
80   #include "log.h"
81   #include "client.h"     /* for UMODE_ALL only */
# Line 114 | Line 115 | static struct
115    {
116      char buf[IRCD_BUFSIZE];
117    } name,
118 +    nick,
119      user,
120      host,
121      addr,
# Line 123 | Line 125 | static struct
125      cert,
126      rpass,
127      spass,
128 <    class;
128 >    class,
129 >    target,
130 >    prepend,
131 >    command;
132  
133    struct
134    {
# Line 145 | Line 150 | static struct
150      max_ident,
151      max_sendq,
152      max_recvq,
153 +    max_channels,
154      cidr_bitlen_ipv4,
155      cidr_bitlen_ipv6,
156      number_per_cidr;
# Line 153 | Line 159 | static struct
159   static void
160   reset_block_state(void)
161   {
162 <  dlink_node *ptr = NULL, *ptr_next = NULL;
162 >  dlink_node *node = NULL, *node_next = NULL;
163  
164 <  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.mask.list.head)
164 >  DLINK_FOREACH_SAFE(node, node_next, block_state.mask.list.head)
165    {
166 <    MyFree(ptr->data);
167 <    dlinkDelete(ptr, &block_state.mask.list);
168 <    free_dlink_node(ptr);
166 >    MyFree(node->data);
167 >    dlinkDelete(node, &block_state.mask.list);
168 >    free_dlink_node(node);
169    }
170  
171 <  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.leaf.list.head)
171 >  DLINK_FOREACH_SAFE(node, node_next, block_state.leaf.list.head)
172    {
173 <    MyFree(ptr->data);
174 <    dlinkDelete(ptr, &block_state.leaf.list);
175 <    free_dlink_node(ptr);
173 >    MyFree(node->data);
174 >    dlinkDelete(node, &block_state.leaf.list);
175 >    free_dlink_node(node);
176    }
177  
178 <  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.hub.list.head)
178 >  DLINK_FOREACH_SAFE(node, node_next, block_state.hub.list.head)
179    {
180 <    MyFree(ptr->data);
181 <    dlinkDelete(ptr, &block_state.hub.list);
182 <    free_dlink_node(ptr);
180 >    MyFree(node->data);
181 >    dlinkDelete(node, &block_state.hub.list);
182 >    free_dlink_node(node);
183    }
184  
185    memset(&block_state, 0, sizeof(block_state));
186   }
187  
188  
189 < #line 184 "conf_parser.c" /* yacc.c:339  */
189 > #line 190 "conf_parser.c" /* yacc.c:339  */
190  
191   # ifndef YY_NULLPTR
192   #  if defined __cplusplus && 201103L <= __cplusplus
# Line 221 | Line 227 | extern int yydebug;
227      ANTI_NICK_FLOOD = 261,
228      ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
229      AUTOCONN = 263,
230 <    BYTES = 264,
231 <    KBYTES = 265,
232 <    MBYTES = 266,
233 <    CALLER_ID_WAIT = 267,
234 <    CAN_FLOOD = 268,
235 <    CHANNEL = 269,
236 <    CIDR_BITLEN_IPV4 = 270,
237 <    CIDR_BITLEN_IPV6 = 271,
238 <    CLASS = 272,
239 <    CONNECT = 273,
240 <    CONNECTFREQ = 274,
241 <    CYCLE_ON_HOST_CHANGE = 275,
242 <    DEFAULT_FLOODCOUNT = 276,
243 <    DEFAULT_SPLIT_SERVER_COUNT = 277,
244 <    DEFAULT_SPLIT_USER_COUNT = 278,
245 <    DENY = 279,
246 <    DESCRIPTION = 280,
247 <    DIE = 281,
248 <    DISABLE_AUTH = 282,
249 <    DISABLE_FAKE_CHANNELS = 283,
250 <    DISABLE_REMOTE_COMMANDS = 284,
251 <    DOTS_IN_IDENT = 285,
252 <    EGDPOOL_PATH = 286,
253 <    EMAIL = 287,
254 <    ENCRYPTED = 288,
255 <    EXCEED_LIMIT = 289,
256 <    EXEMPT = 290,
257 <    FAILED_OPER_NOTICE = 291,
258 <    FLATTEN_LINKS = 292,
259 <    GECOS = 293,
260 <    GENERAL = 294,
261 <    GLINE = 295,
262 <    GLINE_DURATION = 296,
263 <    GLINE_ENABLE = 297,
264 <    GLINE_EXEMPT = 298,
265 <    GLINE_MIN_CIDR = 299,
266 <    GLINE_MIN_CIDR6 = 300,
267 <    GLINE_REQUEST_DURATION = 301,
268 <    GLOBAL_KILL = 302,
269 <    HAVENT_READ_CONF = 303,
270 <    HIDDEN = 304,
271 <    HIDDEN_NAME = 305,
272 <    HIDE_IDLE_FROM_OPERS = 306,
273 <    HIDE_SERVER_IPS = 307,
274 <    HIDE_SERVERS = 308,
275 <    HIDE_SERVICES = 309,
276 <    HIDE_SPOOF_IPS = 310,
277 <    HOST = 311,
278 <    HUB = 312,
279 <    HUB_MASK = 313,
280 <    IGNORE_BOGUS_TS = 314,
281 <    INVISIBLE_ON_CONNECT = 315,
282 <    IP = 316,
283 <    IRCD_AUTH = 317,
284 <    IRCD_FLAGS = 318,
285 <    IRCD_SID = 319,
286 <    JOIN_FLOOD_COUNT = 320,
287 <    JOIN_FLOOD_TIME = 321,
288 <    KILL = 322,
289 <    KILL_CHASE_TIME_LIMIT = 323,
290 <    KLINE = 324,
291 <    KLINE_EXEMPT = 325,
292 <    KNOCK_DELAY = 326,
293 <    KNOCK_DELAY_CHANNEL = 327,
294 <    LEAF_MASK = 328,
295 <    LINKS_DELAY = 329,
296 <    LISTEN = 330,
297 <    MASK = 331,
298 <    MAX_ACCEPT = 332,
299 <    MAX_BANS = 333,
300 <    MAX_CHANS_PER_OPER = 334,
301 <    MAX_CHANS_PER_USER = 335,
302 <    MAX_GLOBAL = 336,
303 <    MAX_IDENT = 337,
304 <    MAX_IDLE = 338,
305 <    MAX_LOCAL = 339,
306 <    MAX_NICK_CHANGES = 340,
307 <    MAX_NICK_LENGTH = 341,
308 <    MAX_NICK_TIME = 342,
309 <    MAX_NUMBER = 343,
310 <    MAX_TARGETS = 344,
311 <    MAX_TOPIC_LENGTH = 345,
312 <    MAX_WATCH = 346,
313 <    MIN_IDLE = 347,
314 <    MIN_NONWILDCARD = 348,
315 <    MIN_NONWILDCARD_SIMPLE = 349,
316 <    MODULE = 350,
317 <    MODULES = 351,
318 <    MOTD = 352,
319 <    NAME = 353,
320 <    NEED_IDENT = 354,
321 <    NEED_PASSWORD = 355,
322 <    NETWORK_DESC = 356,
323 <    NETWORK_NAME = 357,
324 <    NICK = 358,
325 <    NO_CREATE_ON_SPLIT = 359,
326 <    NO_JOIN_ON_SPLIT = 360,
327 <    NO_OPER_FLOOD = 361,
328 <    NO_TILDE = 362,
329 <    NUMBER = 363,
330 <    NUMBER_PER_CIDR = 364,
331 <    NUMBER_PER_IP = 365,
332 <    OPER_ONLY_UMODES = 366,
333 <    OPER_PASS_RESV = 367,
334 <    OPER_UMODES = 368,
335 <    OPERATOR = 369,
336 <    OPERS_BYPASS_CALLERID = 370,
337 <    PACE_WAIT = 371,
338 <    PACE_WAIT_SIMPLE = 372,
339 <    PASSWORD = 373,
340 <    PATH = 374,
341 <    PING_COOKIE = 375,
342 <    PING_TIME = 376,
343 <    PORT = 377,
344 <    QSTRING = 378,
345 <    RANDOM_IDLE = 379,
346 <    REASON = 380,
347 <    REDIRPORT = 381,
348 <    REDIRSERV = 382,
349 <    REHASH = 383,
350 <    REMOTE = 384,
351 <    REMOTEBAN = 385,
352 <    RESV = 386,
353 <    RESV_EXEMPT = 387,
354 <    RSA_PRIVATE_KEY_FILE = 388,
355 <    RSA_PUBLIC_KEY_FILE = 389,
356 <    SECONDS = 390,
357 <    MINUTES = 391,
358 <    HOURS = 392,
359 <    DAYS = 393,
360 <    WEEKS = 394,
361 <    MONTHS = 395,
362 <    YEARS = 396,
363 <    SEND_PASSWORD = 397,
364 <    SENDQ = 398,
365 <    SERVERHIDE = 399,
366 <    SERVERINFO = 400,
367 <    SHORT_MOTD = 401,
368 <    SPOOF = 402,
369 <    SPOOF_NOTICE = 403,
370 <    SQUIT = 404,
371 <    SSL_CERTIFICATE_FILE = 405,
372 <    SSL_CERTIFICATE_FINGERPRINT = 406,
373 <    SSL_CONNECTION_REQUIRED = 407,
374 <    SSL_DH_PARAM_FILE = 408,
375 <    STATS_E_DISABLED = 409,
376 <    STATS_I_OPER_ONLY = 410,
377 <    STATS_K_OPER_ONLY = 411,
378 <    STATS_O_OPER_ONLY = 412,
379 <    STATS_P_OPER_ONLY = 413,
380 <    STATS_U_OPER_ONLY = 414,
381 <    T_ALL = 415,
382 <    T_BOTS = 416,
383 <    T_CALLERID = 417,
384 <    T_CCONN = 418,
385 <    T_CLUSTER = 419,
386 <    T_DEAF = 420,
387 <    T_DEBUG = 421,
388 <    T_DLINE = 422,
389 <    T_EXTERNAL = 423,
390 <    T_FARCONNECT = 424,
391 <    T_FILE = 425,
392 <    T_FULL = 426,
393 <    T_GLOBOPS = 427,
394 <    T_INVISIBLE = 428,
395 <    T_IPV4 = 429,
396 <    T_IPV6 = 430,
397 <    T_LOCOPS = 431,
398 <    T_LOG = 432,
399 <    T_MAX_CLIENTS = 433,
400 <    T_NCHANGE = 434,
401 <    T_NONONREG = 435,
402 <    T_OPERWALL = 436,
403 <    T_RECVQ = 437,
404 <    T_REJ = 438,
405 <    T_RESTART = 439,
406 <    T_SERVER = 440,
407 <    T_SERVICE = 441,
408 <    T_SERVICES_NAME = 442,
409 <    T_SERVNOTICE = 443,
410 <    T_SET = 444,
411 <    T_SHARED = 445,
412 <    T_SIZE = 446,
413 <    T_SKILL = 447,
414 <    T_SOFTCALLERID = 448,
415 <    T_SPY = 449,
416 <    T_SSL = 450,
417 <    T_SSL_CIPHER_LIST = 451,
418 <    T_SSL_CLIENT_METHOD = 452,
419 <    T_SSL_SERVER_METHOD = 453,
420 <    T_SSLV3 = 454,
421 <    T_TLSV1 = 455,
422 <    T_UMODES = 456,
423 <    T_UNAUTH = 457,
424 <    T_UNDLINE = 458,
425 <    T_UNLIMITED = 459,
426 <    T_UNRESV = 460,
427 <    T_UNXLINE = 461,
428 <    T_WALLOP = 462,
429 <    T_WALLOPS = 463,
430 <    T_WEBIRC = 464,
431 <    TBOOL = 465,
432 <    THROTTLE_TIME = 466,
433 <    TKLINE_EXPIRE_NOTICES = 467,
434 <    TMASKED = 468,
435 <    TRUE_NO_OPER_FLOOD = 469,
436 <    TS_MAX_DELTA = 470,
437 <    TS_WARN_DELTA = 471,
438 <    TWODOTS = 472,
439 <    TYPE = 473,
440 <    UNKLINE = 474,
441 <    USE_EGD = 475,
442 <    USE_LOGGING = 476,
443 <    USER = 477,
444 <    VHOST = 478,
445 <    VHOST6 = 479,
446 <    WARN_NO_CONNECT_BLOCK = 480,
447 <    XLINE = 481
230 >    AWAY_COUNT = 264,
231 >    AWAY_TIME = 265,
232 >    BYTES = 266,
233 >    KBYTES = 267,
234 >    MBYTES = 268,
235 >    CALLER_ID_WAIT = 269,
236 >    CAN_FLOOD = 270,
237 >    CHANNEL = 271,
238 >    CIDR_BITLEN_IPV4 = 272,
239 >    CIDR_BITLEN_IPV6 = 273,
240 >    CLASS = 274,
241 >    CONNECT = 275,
242 >    CONNECTFREQ = 276,
243 >    CYCLE_ON_HOST_CHANGE = 277,
244 >    DEFAULT_FLOODCOUNT = 278,
245 >    DEFAULT_SPLIT_SERVER_COUNT = 279,
246 >    DEFAULT_SPLIT_USER_COUNT = 280,
247 >    DENY = 281,
248 >    DESCRIPTION = 282,
249 >    DIE = 283,
250 >    DISABLE_AUTH = 284,
251 >    DISABLE_FAKE_CHANNELS = 285,
252 >    DISABLE_REMOTE_COMMANDS = 286,
253 >    DOTS_IN_IDENT = 287,
254 >    EGDPOOL_PATH = 288,
255 >    EMAIL = 289,
256 >    ENCRYPTED = 290,
257 >    EXCEED_LIMIT = 291,
258 >    EXEMPT = 292,
259 >    FAILED_OPER_NOTICE = 293,
260 >    FLATTEN_LINKS = 294,
261 >    GECOS = 295,
262 >    GENERAL = 296,
263 >    GLINE = 297,
264 >    GLINE_DURATION = 298,
265 >    GLINE_ENABLE = 299,
266 >    GLINE_EXEMPT = 300,
267 >    GLINE_MIN_CIDR = 301,
268 >    GLINE_MIN_CIDR6 = 302,
269 >    GLINE_REQUEST_DURATION = 303,
270 >    GLOBAL_KILL = 304,
271 >    HAVENT_READ_CONF = 305,
272 >    HIDDEN = 306,
273 >    HIDDEN_NAME = 307,
274 >    HIDE_CHANS = 308,
275 >    HIDE_IDLE = 309,
276 >    HIDE_IDLE_FROM_OPERS = 310,
277 >    HIDE_SERVER_IPS = 311,
278 >    HIDE_SERVERS = 312,
279 >    HIDE_SERVICES = 313,
280 >    HIDE_SPOOF_IPS = 314,
281 >    HOST = 315,
282 >    HUB = 316,
283 >    HUB_MASK = 317,
284 >    IGNORE_BOGUS_TS = 318,
285 >    INVISIBLE_ON_CONNECT = 319,
286 >    INVITE_CLIENT_COUNT = 320,
287 >    INVITE_CLIENT_TIME = 321,
288 >    IP = 322,
289 >    IRCD_AUTH = 323,
290 >    IRCD_FLAGS = 324,
291 >    IRCD_SID = 325,
292 >    JOIN_FLOOD_COUNT = 326,
293 >    JOIN_FLOOD_TIME = 327,
294 >    KILL = 328,
295 >    KILL_CHASE_TIME_LIMIT = 329,
296 >    KLINE = 330,
297 >    KLINE_EXEMPT = 331,
298 >    KNOCK_CLIENT_COUNT = 332,
299 >    KNOCK_CLIENT_TIME = 333,
300 >    KNOCK_DELAY_CHANNEL = 334,
301 >    LEAF_MASK = 335,
302 >    LINKS_DELAY = 336,
303 >    LISTEN = 337,
304 >    MASK = 338,
305 >    MAX_ACCEPT = 339,
306 >    MAX_BANS = 340,
307 >    MAX_CHANNELS = 341,
308 >    MAX_GLOBAL = 342,
309 >    MAX_IDENT = 343,
310 >    MAX_IDLE = 344,
311 >    MAX_LOCAL = 345,
312 >    MAX_NICK_CHANGES = 346,
313 >    MAX_NICK_LENGTH = 347,
314 >    MAX_NICK_TIME = 348,
315 >    MAX_NUMBER = 349,
316 >    MAX_TARGETS = 350,
317 >    MAX_TOPIC_LENGTH = 351,
318 >    MAX_WATCH = 352,
319 >    MIN_IDLE = 353,
320 >    MIN_NONWILDCARD = 354,
321 >    MIN_NONWILDCARD_SIMPLE = 355,
322 >    MODULE = 356,
323 >    MODULES = 357,
324 >    MOTD = 358,
325 >    NAME = 359,
326 >    NEED_IDENT = 360,
327 >    NEED_PASSWORD = 361,
328 >    NETWORK_DESC = 362,
329 >    NETWORK_NAME = 363,
330 >    NICK = 364,
331 >    NO_CREATE_ON_SPLIT = 365,
332 >    NO_JOIN_ON_SPLIT = 366,
333 >    NO_OPER_FLOOD = 367,
334 >    NO_TILDE = 368,
335 >    NUMBER = 369,
336 >    NUMBER_PER_CIDR = 370,
337 >    NUMBER_PER_IP = 371,
338 >    OPER_ONLY_UMODES = 372,
339 >    OPER_PASS_RESV = 373,
340 >    OPER_UMODES = 374,
341 >    OPERATOR = 375,
342 >    OPERS_BYPASS_CALLERID = 376,
343 >    PACE_WAIT = 377,
344 >    PACE_WAIT_SIMPLE = 378,
345 >    PASSWORD = 379,
346 >    PATH = 380,
347 >    PING_COOKIE = 381,
348 >    PING_TIME = 382,
349 >    PORT = 383,
350 >    QSTRING = 384,
351 >    RANDOM_IDLE = 385,
352 >    REASON = 386,
353 >    REDIRPORT = 387,
354 >    REDIRSERV = 388,
355 >    REHASH = 389,
356 >    REMOTE = 390,
357 >    REMOTEBAN = 391,
358 >    RESV = 392,
359 >    RESV_EXEMPT = 393,
360 >    RSA_PRIVATE_KEY_FILE = 394,
361 >    RSA_PUBLIC_KEY_FILE = 395,
362 >    SECONDS = 396,
363 >    MINUTES = 397,
364 >    HOURS = 398,
365 >    DAYS = 399,
366 >    WEEKS = 400,
367 >    MONTHS = 401,
368 >    YEARS = 402,
369 >    SEND_PASSWORD = 403,
370 >    SENDQ = 404,
371 >    SERVERHIDE = 405,
372 >    SERVERINFO = 406,
373 >    SHORT_MOTD = 407,
374 >    SPOOF = 408,
375 >    SPOOF_NOTICE = 409,
376 >    SQUIT = 410,
377 >    SSL_CERTIFICATE_FILE = 411,
378 >    SSL_CERTIFICATE_FINGERPRINT = 412,
379 >    SSL_CONNECTION_REQUIRED = 413,
380 >    SSL_DH_ELLIPTIC_CURVE = 414,
381 >    SSL_DH_PARAM_FILE = 415,
382 >    SSL_MESSAGE_DIGEST_ALGORITHM = 416,
383 >    STATS_E_DISABLED = 417,
384 >    STATS_I_OPER_ONLY = 418,
385 >    STATS_K_OPER_ONLY = 419,
386 >    STATS_M_OPER_ONLY = 420,
387 >    STATS_O_OPER_ONLY = 421,
388 >    STATS_P_OPER_ONLY = 422,
389 >    STATS_U_OPER_ONLY = 423,
390 >    T_ALL = 424,
391 >    T_BOTS = 425,
392 >    T_CALLERID = 426,
393 >    T_CCONN = 427,
394 >    T_COMMAND = 428,
395 >    T_CLUSTER = 429,
396 >    T_DEAF = 430,
397 >    T_DEBUG = 431,
398 >    T_DLINE = 432,
399 >    T_EXTERNAL = 433,
400 >    T_FARCONNECT = 434,
401 >    T_FILE = 435,
402 >    T_FULL = 436,
403 >    T_GLOBOPS = 437,
404 >    T_INVISIBLE = 438,
405 >    T_IPV4 = 439,
406 >    T_IPV6 = 440,
407 >    T_LOCOPS = 441,
408 >    T_LOG = 442,
409 >    T_MAX_CLIENTS = 443,
410 >    T_NCHANGE = 444,
411 >    T_NONONREG = 445,
412 >    T_OPME = 446,
413 >    T_PREPEND = 447,
414 >    T_PSEUDO = 448,
415 >    T_RECVQ = 449,
416 >    T_REJ = 450,
417 >    T_RESTART = 451,
418 >    T_SERVER = 452,
419 >    T_SERVICE = 453,
420 >    T_SERVNOTICE = 454,
421 >    T_SET = 455,
422 >    T_SHARED = 456,
423 >    T_SIZE = 457,
424 >    T_SKILL = 458,
425 >    T_SOFTCALLERID = 459,
426 >    T_SPY = 460,
427 >    T_SSL = 461,
428 >    T_SSL_CIPHER_LIST = 462,
429 >    T_TARGET = 463,
430 >    T_UMODES = 464,
431 >    T_UNAUTH = 465,
432 >    T_UNDLINE = 466,
433 >    T_UNLIMITED = 467,
434 >    T_UNRESV = 468,
435 >    T_UNXLINE = 469,
436 >    T_WALLOP = 470,
437 >    T_WALLOPS = 471,
438 >    T_WEBIRC = 472,
439 >    TBOOL = 473,
440 >    THROTTLE_COUNT = 474,
441 >    THROTTLE_TIME = 475,
442 >    TKLINE_EXPIRE_NOTICES = 476,
443 >    TMASKED = 477,
444 >    TS_MAX_DELTA = 478,
445 >    TS_WARN_DELTA = 479,
446 >    TWODOTS = 480,
447 >    TYPE = 481,
448 >    UNKLINE = 482,
449 >    USE_EGD = 483,
450 >    USE_LOGGING = 484,
451 >    USER = 485,
452 >    VHOST = 486,
453 >    VHOST6 = 487,
454 >    WARN_NO_CONNECT_BLOCK = 488,
455 >    XLINE = 489
456    };
457   #endif
458   /* Tokens.  */
# Line 448 | Line 462 | extern int yydebug;
462   #define ANTI_NICK_FLOOD 261
463   #define ANTI_SPAM_EXIT_MESSAGE_TIME 262
464   #define AUTOCONN 263
465 < #define BYTES 264
466 < #define KBYTES 265
467 < #define MBYTES 266
468 < #define CALLER_ID_WAIT 267
469 < #define CAN_FLOOD 268
470 < #define CHANNEL 269
471 < #define CIDR_BITLEN_IPV4 270
472 < #define CIDR_BITLEN_IPV6 271
473 < #define CLASS 272
474 < #define CONNECT 273
475 < #define CONNECTFREQ 274
476 < #define CYCLE_ON_HOST_CHANGE 275
477 < #define DEFAULT_FLOODCOUNT 276
478 < #define DEFAULT_SPLIT_SERVER_COUNT 277
479 < #define DEFAULT_SPLIT_USER_COUNT 278
480 < #define DENY 279
481 < #define DESCRIPTION 280
482 < #define DIE 281
483 < #define DISABLE_AUTH 282
484 < #define DISABLE_FAKE_CHANNELS 283
485 < #define DISABLE_REMOTE_COMMANDS 284
486 < #define DOTS_IN_IDENT 285
487 < #define EGDPOOL_PATH 286
488 < #define EMAIL 287
489 < #define ENCRYPTED 288
490 < #define EXCEED_LIMIT 289
491 < #define EXEMPT 290
492 < #define FAILED_OPER_NOTICE 291
493 < #define FLATTEN_LINKS 292
494 < #define GECOS 293
495 < #define GENERAL 294
496 < #define GLINE 295
497 < #define GLINE_DURATION 296
498 < #define GLINE_ENABLE 297
499 < #define GLINE_EXEMPT 298
500 < #define GLINE_MIN_CIDR 299
501 < #define GLINE_MIN_CIDR6 300
502 < #define GLINE_REQUEST_DURATION 301
503 < #define GLOBAL_KILL 302
504 < #define HAVENT_READ_CONF 303
505 < #define HIDDEN 304
506 < #define HIDDEN_NAME 305
507 < #define HIDE_IDLE_FROM_OPERS 306
508 < #define HIDE_SERVER_IPS 307
509 < #define HIDE_SERVERS 308
510 < #define HIDE_SERVICES 309
511 < #define HIDE_SPOOF_IPS 310
512 < #define HOST 311
513 < #define HUB 312
514 < #define HUB_MASK 313
515 < #define IGNORE_BOGUS_TS 314
516 < #define INVISIBLE_ON_CONNECT 315
517 < #define IP 316
518 < #define IRCD_AUTH 317
519 < #define IRCD_FLAGS 318
520 < #define IRCD_SID 319
521 < #define JOIN_FLOOD_COUNT 320
522 < #define JOIN_FLOOD_TIME 321
523 < #define KILL 322
524 < #define KILL_CHASE_TIME_LIMIT 323
525 < #define KLINE 324
526 < #define KLINE_EXEMPT 325
527 < #define KNOCK_DELAY 326
528 < #define KNOCK_DELAY_CHANNEL 327
529 < #define LEAF_MASK 328
530 < #define LINKS_DELAY 329
531 < #define LISTEN 330
532 < #define MASK 331
533 < #define MAX_ACCEPT 332
534 < #define MAX_BANS 333
535 < #define MAX_CHANS_PER_OPER 334
536 < #define MAX_CHANS_PER_USER 335
537 < #define MAX_GLOBAL 336
538 < #define MAX_IDENT 337
539 < #define MAX_IDLE 338
540 < #define MAX_LOCAL 339
541 < #define MAX_NICK_CHANGES 340
542 < #define MAX_NICK_LENGTH 341
543 < #define MAX_NICK_TIME 342
544 < #define MAX_NUMBER 343
545 < #define MAX_TARGETS 344
546 < #define MAX_TOPIC_LENGTH 345
547 < #define MAX_WATCH 346
548 < #define MIN_IDLE 347
549 < #define MIN_NONWILDCARD 348
550 < #define MIN_NONWILDCARD_SIMPLE 349
551 < #define MODULE 350
552 < #define MODULES 351
553 < #define MOTD 352
554 < #define NAME 353
555 < #define NEED_IDENT 354
556 < #define NEED_PASSWORD 355
557 < #define NETWORK_DESC 356
558 < #define NETWORK_NAME 357
559 < #define NICK 358
560 < #define NO_CREATE_ON_SPLIT 359
561 < #define NO_JOIN_ON_SPLIT 360
562 < #define NO_OPER_FLOOD 361
563 < #define NO_TILDE 362
564 < #define NUMBER 363
565 < #define NUMBER_PER_CIDR 364
566 < #define NUMBER_PER_IP 365
567 < #define OPER_ONLY_UMODES 366
568 < #define OPER_PASS_RESV 367
569 < #define OPER_UMODES 368
570 < #define OPERATOR 369
571 < #define OPERS_BYPASS_CALLERID 370
572 < #define PACE_WAIT 371
573 < #define PACE_WAIT_SIMPLE 372
574 < #define PASSWORD 373
575 < #define PATH 374
576 < #define PING_COOKIE 375
577 < #define PING_TIME 376
578 < #define PORT 377
579 < #define QSTRING 378
580 < #define RANDOM_IDLE 379
581 < #define REASON 380
582 < #define REDIRPORT 381
583 < #define REDIRSERV 382
584 < #define REHASH 383
585 < #define REMOTE 384
586 < #define REMOTEBAN 385
587 < #define RESV 386
588 < #define RESV_EXEMPT 387
589 < #define RSA_PRIVATE_KEY_FILE 388
590 < #define RSA_PUBLIC_KEY_FILE 389
591 < #define SECONDS 390
592 < #define MINUTES 391
593 < #define HOURS 392
594 < #define DAYS 393
595 < #define WEEKS 394
596 < #define MONTHS 395
597 < #define YEARS 396
598 < #define SEND_PASSWORD 397
599 < #define SENDQ 398
600 < #define SERVERHIDE 399
601 < #define SERVERINFO 400
602 < #define SHORT_MOTD 401
603 < #define SPOOF 402
604 < #define SPOOF_NOTICE 403
605 < #define SQUIT 404
606 < #define SSL_CERTIFICATE_FILE 405
607 < #define SSL_CERTIFICATE_FINGERPRINT 406
608 < #define SSL_CONNECTION_REQUIRED 407
609 < #define SSL_DH_PARAM_FILE 408
610 < #define STATS_E_DISABLED 409
611 < #define STATS_I_OPER_ONLY 410
612 < #define STATS_K_OPER_ONLY 411
613 < #define STATS_O_OPER_ONLY 412
614 < #define STATS_P_OPER_ONLY 413
615 < #define STATS_U_OPER_ONLY 414
616 < #define T_ALL 415
617 < #define T_BOTS 416
618 < #define T_CALLERID 417
619 < #define T_CCONN 418
620 < #define T_CLUSTER 419
621 < #define T_DEAF 420
622 < #define T_DEBUG 421
623 < #define T_DLINE 422
624 < #define T_EXTERNAL 423
625 < #define T_FARCONNECT 424
626 < #define T_FILE 425
627 < #define T_FULL 426
628 < #define T_GLOBOPS 427
629 < #define T_INVISIBLE 428
630 < #define T_IPV4 429
631 < #define T_IPV6 430
632 < #define T_LOCOPS 431
633 < #define T_LOG 432
634 < #define T_MAX_CLIENTS 433
635 < #define T_NCHANGE 434
636 < #define T_NONONREG 435
637 < #define T_OPERWALL 436
638 < #define T_RECVQ 437
639 < #define T_REJ 438
640 < #define T_RESTART 439
641 < #define T_SERVER 440
642 < #define T_SERVICE 441
643 < #define T_SERVICES_NAME 442
644 < #define T_SERVNOTICE 443
645 < #define T_SET 444
646 < #define T_SHARED 445
647 < #define T_SIZE 446
648 < #define T_SKILL 447
649 < #define T_SOFTCALLERID 448
650 < #define T_SPY 449
651 < #define T_SSL 450
652 < #define T_SSL_CIPHER_LIST 451
653 < #define T_SSL_CLIENT_METHOD 452
654 < #define T_SSL_SERVER_METHOD 453
655 < #define T_SSLV3 454
656 < #define T_TLSV1 455
657 < #define T_UMODES 456
658 < #define T_UNAUTH 457
659 < #define T_UNDLINE 458
660 < #define T_UNLIMITED 459
661 < #define T_UNRESV 460
662 < #define T_UNXLINE 461
663 < #define T_WALLOP 462
664 < #define T_WALLOPS 463
665 < #define T_WEBIRC 464
666 < #define TBOOL 465
667 < #define THROTTLE_TIME 466
668 < #define TKLINE_EXPIRE_NOTICES 467
669 < #define TMASKED 468
670 < #define TRUE_NO_OPER_FLOOD 469
671 < #define TS_MAX_DELTA 470
672 < #define TS_WARN_DELTA 471
673 < #define TWODOTS 472
674 < #define TYPE 473
675 < #define UNKLINE 474
676 < #define USE_EGD 475
677 < #define USE_LOGGING 476
678 < #define USER 477
679 < #define VHOST 478
680 < #define VHOST6 479
681 < #define WARN_NO_CONNECT_BLOCK 480
682 < #define XLINE 481
465 > #define AWAY_COUNT 264
466 > #define AWAY_TIME 265
467 > #define BYTES 266
468 > #define KBYTES 267
469 > #define MBYTES 268
470 > #define CALLER_ID_WAIT 269
471 > #define CAN_FLOOD 270
472 > #define CHANNEL 271
473 > #define CIDR_BITLEN_IPV4 272
474 > #define CIDR_BITLEN_IPV6 273
475 > #define CLASS 274
476 > #define CONNECT 275
477 > #define CONNECTFREQ 276
478 > #define CYCLE_ON_HOST_CHANGE 277
479 > #define DEFAULT_FLOODCOUNT 278
480 > #define DEFAULT_SPLIT_SERVER_COUNT 279
481 > #define DEFAULT_SPLIT_USER_COUNT 280
482 > #define DENY 281
483 > #define DESCRIPTION 282
484 > #define DIE 283
485 > #define DISABLE_AUTH 284
486 > #define DISABLE_FAKE_CHANNELS 285
487 > #define DISABLE_REMOTE_COMMANDS 286
488 > #define DOTS_IN_IDENT 287
489 > #define EGDPOOL_PATH 288
490 > #define EMAIL 289
491 > #define ENCRYPTED 290
492 > #define EXCEED_LIMIT 291
493 > #define EXEMPT 292
494 > #define FAILED_OPER_NOTICE 293
495 > #define FLATTEN_LINKS 294
496 > #define GECOS 295
497 > #define GENERAL 296
498 > #define GLINE 297
499 > #define GLINE_DURATION 298
500 > #define GLINE_ENABLE 299
501 > #define GLINE_EXEMPT 300
502 > #define GLINE_MIN_CIDR 301
503 > #define GLINE_MIN_CIDR6 302
504 > #define GLINE_REQUEST_DURATION 303
505 > #define GLOBAL_KILL 304
506 > #define HAVENT_READ_CONF 305
507 > #define HIDDEN 306
508 > #define HIDDEN_NAME 307
509 > #define HIDE_CHANS 308
510 > #define HIDE_IDLE 309
511 > #define HIDE_IDLE_FROM_OPERS 310
512 > #define HIDE_SERVER_IPS 311
513 > #define HIDE_SERVERS 312
514 > #define HIDE_SERVICES 313
515 > #define HIDE_SPOOF_IPS 314
516 > #define HOST 315
517 > #define HUB 316
518 > #define HUB_MASK 317
519 > #define IGNORE_BOGUS_TS 318
520 > #define INVISIBLE_ON_CONNECT 319
521 > #define INVITE_CLIENT_COUNT 320
522 > #define INVITE_CLIENT_TIME 321
523 > #define IP 322
524 > #define IRCD_AUTH 323
525 > #define IRCD_FLAGS 324
526 > #define IRCD_SID 325
527 > #define JOIN_FLOOD_COUNT 326
528 > #define JOIN_FLOOD_TIME 327
529 > #define KILL 328
530 > #define KILL_CHASE_TIME_LIMIT 329
531 > #define KLINE 330
532 > #define KLINE_EXEMPT 331
533 > #define KNOCK_CLIENT_COUNT 332
534 > #define KNOCK_CLIENT_TIME 333
535 > #define KNOCK_DELAY_CHANNEL 334
536 > #define LEAF_MASK 335
537 > #define LINKS_DELAY 336
538 > #define LISTEN 337
539 > #define MASK 338
540 > #define MAX_ACCEPT 339
541 > #define MAX_BANS 340
542 > #define MAX_CHANNELS 341
543 > #define MAX_GLOBAL 342
544 > #define MAX_IDENT 343
545 > #define MAX_IDLE 344
546 > #define MAX_LOCAL 345
547 > #define MAX_NICK_CHANGES 346
548 > #define MAX_NICK_LENGTH 347
549 > #define MAX_NICK_TIME 348
550 > #define MAX_NUMBER 349
551 > #define MAX_TARGETS 350
552 > #define MAX_TOPIC_LENGTH 351
553 > #define MAX_WATCH 352
554 > #define MIN_IDLE 353
555 > #define MIN_NONWILDCARD 354
556 > #define MIN_NONWILDCARD_SIMPLE 355
557 > #define MODULE 356
558 > #define MODULES 357
559 > #define MOTD 358
560 > #define NAME 359
561 > #define NEED_IDENT 360
562 > #define NEED_PASSWORD 361
563 > #define NETWORK_DESC 362
564 > #define NETWORK_NAME 363
565 > #define NICK 364
566 > #define NO_CREATE_ON_SPLIT 365
567 > #define NO_JOIN_ON_SPLIT 366
568 > #define NO_OPER_FLOOD 367
569 > #define NO_TILDE 368
570 > #define NUMBER 369
571 > #define NUMBER_PER_CIDR 370
572 > #define NUMBER_PER_IP 371
573 > #define OPER_ONLY_UMODES 372
574 > #define OPER_PASS_RESV 373
575 > #define OPER_UMODES 374
576 > #define OPERATOR 375
577 > #define OPERS_BYPASS_CALLERID 376
578 > #define PACE_WAIT 377
579 > #define PACE_WAIT_SIMPLE 378
580 > #define PASSWORD 379
581 > #define PATH 380
582 > #define PING_COOKIE 381
583 > #define PING_TIME 382
584 > #define PORT 383
585 > #define QSTRING 384
586 > #define RANDOM_IDLE 385
587 > #define REASON 386
588 > #define REDIRPORT 387
589 > #define REDIRSERV 388
590 > #define REHASH 389
591 > #define REMOTE 390
592 > #define REMOTEBAN 391
593 > #define RESV 392
594 > #define RESV_EXEMPT 393
595 > #define RSA_PRIVATE_KEY_FILE 394
596 > #define RSA_PUBLIC_KEY_FILE 395
597 > #define SECONDS 396
598 > #define MINUTES 397
599 > #define HOURS 398
600 > #define DAYS 399
601 > #define WEEKS 400
602 > #define MONTHS 401
603 > #define YEARS 402
604 > #define SEND_PASSWORD 403
605 > #define SENDQ 404
606 > #define SERVERHIDE 405
607 > #define SERVERINFO 406
608 > #define SHORT_MOTD 407
609 > #define SPOOF 408
610 > #define SPOOF_NOTICE 409
611 > #define SQUIT 410
612 > #define SSL_CERTIFICATE_FILE 411
613 > #define SSL_CERTIFICATE_FINGERPRINT 412
614 > #define SSL_CONNECTION_REQUIRED 413
615 > #define SSL_DH_ELLIPTIC_CURVE 414
616 > #define SSL_DH_PARAM_FILE 415
617 > #define SSL_MESSAGE_DIGEST_ALGORITHM 416
618 > #define STATS_E_DISABLED 417
619 > #define STATS_I_OPER_ONLY 418
620 > #define STATS_K_OPER_ONLY 419
621 > #define STATS_M_OPER_ONLY 420
622 > #define STATS_O_OPER_ONLY 421
623 > #define STATS_P_OPER_ONLY 422
624 > #define STATS_U_OPER_ONLY 423
625 > #define T_ALL 424
626 > #define T_BOTS 425
627 > #define T_CALLERID 426
628 > #define T_CCONN 427
629 > #define T_COMMAND 428
630 > #define T_CLUSTER 429
631 > #define T_DEAF 430
632 > #define T_DEBUG 431
633 > #define T_DLINE 432
634 > #define T_EXTERNAL 433
635 > #define T_FARCONNECT 434
636 > #define T_FILE 435
637 > #define T_FULL 436
638 > #define T_GLOBOPS 437
639 > #define T_INVISIBLE 438
640 > #define T_IPV4 439
641 > #define T_IPV6 440
642 > #define T_LOCOPS 441
643 > #define T_LOG 442
644 > #define T_MAX_CLIENTS 443
645 > #define T_NCHANGE 444
646 > #define T_NONONREG 445
647 > #define T_OPME 446
648 > #define T_PREPEND 447
649 > #define T_PSEUDO 448
650 > #define T_RECVQ 449
651 > #define T_REJ 450
652 > #define T_RESTART 451
653 > #define T_SERVER 452
654 > #define T_SERVICE 453
655 > #define T_SERVNOTICE 454
656 > #define T_SET 455
657 > #define T_SHARED 456
658 > #define T_SIZE 457
659 > #define T_SKILL 458
660 > #define T_SOFTCALLERID 459
661 > #define T_SPY 460
662 > #define T_SSL 461
663 > #define T_SSL_CIPHER_LIST 462
664 > #define T_TARGET 463
665 > #define T_UMODES 464
666 > #define T_UNAUTH 465
667 > #define T_UNDLINE 466
668 > #define T_UNLIMITED 467
669 > #define T_UNRESV 468
670 > #define T_UNXLINE 469
671 > #define T_WALLOP 470
672 > #define T_WALLOPS 471
673 > #define T_WEBIRC 472
674 > #define TBOOL 473
675 > #define THROTTLE_COUNT 474
676 > #define THROTTLE_TIME 475
677 > #define TKLINE_EXPIRE_NOTICES 476
678 > #define TMASKED 477
679 > #define TS_MAX_DELTA 478
680 > #define TS_WARN_DELTA 479
681 > #define TWODOTS 480
682 > #define TYPE 481
683 > #define UNKLINE 482
684 > #define USE_EGD 483
685 > #define USE_LOGGING 484
686 > #define USER 485
687 > #define VHOST 486
688 > #define VHOST6 487
689 > #define WARN_NO_CONNECT_BLOCK 488
690 > #define XLINE 489
691  
692   /* Value type.  */
693   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
694 < typedef union YYSTYPE YYSTYPE;
694 >
695   union YYSTYPE
696   {
697 < #line 146 "conf_parser.y" /* yacc.c:355  */
697 > #line 152 "conf_parser.y" /* yacc.c:355  */
698  
699    int number;
700    char *string;
701  
702 < #line 681 "conf_parser.c" /* yacc.c:355  */
702 > #line 703 "conf_parser.c" /* yacc.c:355  */
703   };
704 +
705 + typedef union YYSTYPE YYSTYPE;
706   # define YYSTYPE_IS_TRIVIAL 1
707   # define YYSTYPE_IS_DECLARED 1
708   #endif
# Line 692 | Line 716 | int yyparse (void);
716  
717   /* Copy the second part of user declarations.  */
718  
719 < #line 696 "conf_parser.c" /* yacc.c:358  */
719 > #line 720 "conf_parser.c" /* yacc.c:358  */
720  
721   #ifdef short
722   # undef short
# Line 934 | Line 958 | union yyalloc
958   /* YYFINAL -- State number of the termination state.  */
959   #define YYFINAL  2
960   /* YYLAST -- Last index in YYTABLE.  */
961 < #define YYLAST   1233
961 > #define YYLAST   1291
962  
963   /* YYNTOKENS -- Number of terminals.  */
964 < #define YYNTOKENS  233
964 > #define YYNTOKENS  241
965   /* YYNNTS -- Number of nonterminals.  */
966 < #define YYNNTS  291
966 > #define YYNNTS  297
967   /* YYNRULES -- Number of rules.  */
968 < #define YYNRULES  657
968 > #define YYNRULES  668
969   /* YYNSTATES -- Number of states.  */
970 < #define YYNSTATES  1288
970 > #define YYNSTATES  1320
971  
972   /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
973     by yylex, with out-of-bounds checking.  */
974   #define YYUNDEFTOK  2
975 < #define YYMAXUTOK   481
975 > #define YYMAXUTOK   489
976  
977   #define YYTRANSLATE(YYX)                                                \
978    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 961 | Line 985 | static const yytype_uint8 yytranslate[]
985         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
986         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
987         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
988 <       2,     2,     2,     2,   231,     2,     2,     2,     2,     2,
989 <       2,     2,     2,     2,     2,     2,     2,     2,   232,   227,
990 <       2,   230,     2,     2,     2,     2,     2,     2,     2,     2,
988 >       2,     2,     2,     2,   239,     2,     2,     2,     2,     2,
989 >       2,     2,     2,     2,     2,     2,     2,     2,   240,   235,
990 >       2,   238,     2,     2,     2,     2,     2,     2,     2,     2,
991         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
992         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
993         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
994         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
995         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
996 <       2,     2,     2,   229,     2,   228,     2,     2,     2,     2,
996 >       2,     2,     2,   237,     2,   236,     2,     2,     2,     2,
997         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
998         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
999         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 1005 | Line 1029 | static const yytype_uint8 yytranslate[]
1029       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1030       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1031       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1032 <     225,   226
1032 >     225,   226,   227,   228,   229,   230,   231,   232,   233,   234
1033   };
1034  
1035   #if YYDEBUG
1036    /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1037   static const yytype_uint16 yyrline[] =
1038   {
1039 <       0,   376,   376,   377,   380,   381,   382,   383,   384,   385,
1040 <     386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
1041 <     396,   397,   398,   399,   400,   401,   402,   406,   406,   407,
1042 <     408,   409,   410,   411,   412,   413,   414,   417,   417,   418,
1043 <     419,   420,   421,   428,   431,   431,   432,   432,   432,   434,
1044 <     440,   447,   449,   449,   450,   451,   452,   453,   454,   455,
1045 <     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
1046 <     466,   467,   470,   471,   473,   473,   474,   480,   488,   488,
1047 <     489,   495,   503,   545,   603,   631,   639,   654,   669,   678,
1048 <     692,   701,   729,   759,   784,   806,   828,   837,   839,   839,
1049 <     840,   841,   842,   843,   845,   854,   863,   876,   875,   893,
1050 <     893,   894,   894,   894,   896,   902,   911,   912,   912,   914,
1051 <     914,   915,   917,   924,   924,   937,   938,   940,   940,   941,
1052 <     941,   943,   951,   954,   960,   959,   965,   965,   966,   970,
1053 <     974,   978,   982,   986,   990,   994,   998,  1009,  1008,  1088,
1054 <    1088,  1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,
1055 <    1098,  1099,  1101,  1107,  1113,  1119,  1130,  1136,  1142,  1153,
1056 <    1160,  1159,  1165,  1165,  1166,  1170,  1174,  1178,  1182,  1186,
1057 <    1190,  1194,  1198,  1202,  1206,  1210,  1214,  1218,  1222,  1226,
1058 <    1230,  1234,  1238,  1242,  1246,  1253,  1252,  1258,  1258,  1259,
1059 <    1263,  1267,  1271,  1275,  1279,  1283,  1287,  1291,  1295,  1299,
1060 <    1303,  1307,  1311,  1315,  1319,  1323,  1327,  1331,  1335,  1339,
1061 <    1343,  1347,  1351,  1362,  1361,  1422,  1422,  1423,  1424,  1425,
1062 <    1426,  1427,  1428,  1429,  1430,  1431,  1432,  1433,  1434,  1434,
1063 <    1435,  1436,  1437,  1438,  1440,  1446,  1452,  1458,  1464,  1470,
1064 <    1476,  1482,  1488,  1494,  1501,  1507,  1513,  1519,  1528,  1538,
1065 <    1537,  1543,  1543,  1544,  1548,  1559,  1558,  1565,  1564,  1569,
1066 <    1569,  1570,  1574,  1578,  1584,  1584,  1585,  1585,  1585,  1585,
1067 <    1585,  1587,  1587,  1589,  1589,  1591,  1605,  1623,  1629,  1639,
1068 <    1638,  1680,  1680,  1681,  1682,  1683,  1684,  1685,  1686,  1687,
1069 <    1688,  1689,  1691,  1697,  1703,  1709,  1721,  1720,  1726,  1726,
1070 <    1727,  1731,  1735,  1739,  1743,  1747,  1751,  1755,  1759,  1763,
1071 <    1769,  1783,  1792,  1806,  1805,  1820,  1820,  1821,  1821,  1821,
1072 <    1821,  1823,  1829,  1835,  1845,  1847,  1847,  1848,  1848,  1850,
1073 <    1866,  1865,  1890,  1890,  1891,  1891,  1891,  1891,  1893,  1899,
1074 <    1919,  1918,  1924,  1924,  1925,  1929,  1933,  1937,  1941,  1945,
1075 <    1949,  1953,  1957,  1961,  1971,  1970,  1991,  1991,  1992,  1992,
1076 <    1992,  1994,  2001,  2000,  2006,  2006,  2007,  2011,  2015,  2019,
1077 <    2023,  2027,  2031,  2035,  2039,  2043,  2053,  2052,  2124,  2124,
1078 <    2125,  2126,  2127,  2128,  2129,  2130,  2131,  2132,  2133,  2134,
1079 <    2135,  2136,  2137,  2138,  2139,  2141,  2147,  2153,  2159,  2172,
1080 <    2185,  2191,  2197,  2201,  2210,  2209,  2214,  2214,  2215,  2219,
1081 <    2225,  2236,  2242,  2248,  2254,  2270,  2269,  2295,  2295,  2296,
1082 <    2296,  2296,  2298,  2318,  2328,  2327,  2354,  2354,  2355,  2355,
1083 <    2355,  2357,  2363,  2372,  2374,  2374,  2375,  2375,  2377,  2395,
1084 <    2394,  2417,  2417,  2418,  2418,  2418,  2420,  2426,  2435,  2438,
1085 <    2438,  2439,  2440,  2441,  2442,  2443,  2444,  2445,  2446,  2447,
1086 <    2448,  2449,  2450,  2451,  2452,  2453,  2454,  2455,  2456,  2457,
1087 <    2458,  2459,  2460,  2461,  2462,  2463,  2464,  2465,  2466,  2467,
1088 <    2468,  2469,  2470,  2471,  2472,  2473,  2474,  2475,  2476,  2477,
1089 <    2478,  2479,  2480,  2481,  2482,  2483,  2484,  2485,  2486,  2487,
1090 <    2488,  2491,  2496,  2502,  2508,  2514,  2520,  2525,  2530,  2535,
1091 <    2540,  2545,  2550,  2555,  2560,  2565,  2570,  2575,  2580,  2585,
1092 <    2591,  2602,  2607,  2612,  2617,  2622,  2627,  2632,  2635,  2640,
1093 <    2643,  2648,  2653,  2658,  2663,  2668,  2673,  2678,  2683,  2688,
1094 <    2693,  2698,  2703,  2712,  2721,  2726,  2731,  2737,  2736,  2741,
1095 <    2741,  2742,  2745,  2748,  2751,  2754,  2757,  2760,  2763,  2766,
1096 <    2769,  2772,  2775,  2778,  2781,  2784,  2787,  2790,  2793,  2796,
1097 <    2799,  2802,  2808,  2807,  2812,  2812,  2813,  2816,  2819,  2822,
1098 <    2825,  2828,  2831,  2834,  2837,  2840,  2843,  2846,  2849,  2852,
1099 <    2855,  2858,  2861,  2864,  2867,  2870,  2873,  2878,  2883,  2888,
1100 <    2897,  2900,  2900,  2901,  2902,  2903,  2904,  2905,  2906,  2907,
1101 <    2908,  2909,  2910,  2911,  2912,  2913,  2915,  2920,  2925,  2930,
1102 <    2935,  2940,  2945,  2950,  2955,  2960,  2965,  2970,  2978,  2981,
1103 <    2981,  2982,  2983,  2984,  2985,  2986,  2987,  2988,  2989,  2990,
1104 <    2992,  2998,  3004,  3010,  3016,  3025,  3039,  3045
1039 >       0,   390,   390,   391,   394,   395,   396,   397,   398,   399,
1040 >     400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
1041 >     410,   411,   412,   413,   414,   415,   416,   417,   421,   421,
1042 >     422,   423,   424,   425,   426,   427,   428,   429,   432,   432,
1043 >     433,   434,   435,   436,   443,   446,   446,   447,   447,   447,
1044 >     449,   455,   462,   464,   464,   465,   466,   467,   468,   469,
1045 >     470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
1046 >     480,   481,   482,   485,   525,   583,   612,   620,   634,   662,
1047 >     677,   692,   702,   716,   725,   753,   781,   806,   828,   850,
1048 >     859,   861,   861,   862,   863,   864,   865,   867,   876,   885,
1049 >     898,   897,   915,   915,   916,   916,   916,   918,   924,   934,
1050 >     933,   952,   952,   953,   953,   953,   953,   953,   955,   961,
1051 >     967,   973,   996,   997,   997,   999,   999,  1000,  1002,  1009,
1052 >    1009,  1022,  1023,  1025,  1025,  1026,  1026,  1028,  1036,  1039,
1053 >    1045,  1044,  1050,  1050,  1051,  1055,  1059,  1063,  1067,  1071,
1054 >    1075,  1079,  1083,  1094,  1093,  1179,  1179,  1180,  1181,  1182,
1055 >    1183,  1184,  1185,  1186,  1187,  1188,  1189,  1190,  1192,  1198,
1056 >    1204,  1210,  1221,  1227,  1233,  1244,  1251,  1250,  1256,  1256,
1057 >    1257,  1261,  1265,  1269,  1273,  1277,  1281,  1285,  1289,  1293,
1058 >    1297,  1301,  1305,  1309,  1313,  1317,  1321,  1325,  1329,  1333,
1059 >    1337,  1341,  1348,  1347,  1353,  1353,  1354,  1358,  1362,  1366,
1060 >    1370,  1374,  1378,  1382,  1386,  1390,  1394,  1398,  1402,  1406,
1061 >    1410,  1414,  1418,  1422,  1426,  1430,  1434,  1438,  1442,  1446,
1062 >    1457,  1456,  1518,  1518,  1519,  1520,  1521,  1522,  1523,  1524,
1063 >    1525,  1526,  1527,  1528,  1529,  1530,  1531,  1531,  1532,  1533,
1064 >    1534,  1535,  1537,  1543,  1549,  1555,  1561,  1567,  1573,  1579,
1065 >    1585,  1591,  1597,  1604,  1610,  1616,  1622,  1631,  1641,  1640,
1066 >    1646,  1646,  1647,  1651,  1662,  1661,  1668,  1667,  1672,  1672,
1067 >    1673,  1677,  1681,  1687,  1687,  1688,  1688,  1688,  1688,  1688,
1068 >    1690,  1690,  1692,  1692,  1694,  1707,  1724,  1730,  1740,  1739,
1069 >    1781,  1781,  1782,  1783,  1784,  1785,  1786,  1787,  1788,  1789,
1070 >    1790,  1792,  1798,  1804,  1810,  1822,  1821,  1827,  1827,  1828,
1071 >    1832,  1836,  1840,  1844,  1848,  1852,  1856,  1860,  1864,  1870,
1072 >    1884,  1893,  1907,  1906,  1921,  1921,  1922,  1922,  1922,  1922,
1073 >    1924,  1930,  1936,  1946,  1948,  1948,  1949,  1949,  1951,  1967,
1074 >    1966,  1991,  1991,  1992,  1992,  1992,  1992,  1994,  2000,  2020,
1075 >    2019,  2025,  2025,  2026,  2030,  2034,  2038,  2042,  2046,  2050,
1076 >    2054,  2058,  2062,  2072,  2071,  2092,  2092,  2093,  2093,  2093,
1077 >    2095,  2102,  2101,  2107,  2107,  2108,  2112,  2116,  2120,  2124,
1078 >    2128,  2132,  2136,  2140,  2144,  2154,  2153,  2225,  2225,  2226,
1079 >    2227,  2228,  2229,  2230,  2231,  2232,  2233,  2234,  2235,  2236,
1080 >    2237,  2238,  2239,  2240,  2242,  2248,  2254,  2260,  2273,  2286,
1081 >    2292,  2298,  2302,  2309,  2308,  2313,  2313,  2314,  2318,  2324,
1082 >    2335,  2341,  2347,  2353,  2369,  2368,  2394,  2394,  2395,  2395,
1083 >    2395,  2397,  2417,  2427,  2426,  2453,  2453,  2454,  2454,  2454,
1084 >    2456,  2462,  2471,  2473,  2473,  2474,  2474,  2476,  2494,  2493,
1085 >    2516,  2516,  2517,  2517,  2517,  2519,  2525,  2534,  2537,  2537,
1086 >    2538,  2539,  2540,  2541,  2542,  2543,  2544,  2545,  2546,  2547,
1087 >    2548,  2549,  2550,  2551,  2552,  2553,  2554,  2555,  2556,  2557,
1088 >    2558,  2559,  2560,  2561,  2562,  2563,  2564,  2565,  2566,  2567,
1089 >    2568,  2569,  2570,  2571,  2572,  2573,  2574,  2575,  2576,  2577,
1090 >    2578,  2579,  2580,  2581,  2582,  2583,  2584,  2585,  2586,  2589,
1091 >    2594,  2599,  2604,  2610,  2616,  2622,  2628,  2633,  2638,  2643,
1092 >    2648,  2653,  2658,  2663,  2668,  2673,  2678,  2683,  2688,  2694,
1093 >    2705,  2710,  2715,  2720,  2725,  2730,  2735,  2740,  2743,  2748,
1094 >    2751,  2756,  2761,  2766,  2771,  2776,  2781,  2786,  2791,  2796,
1095 >    2801,  2806,  2811,  2816,  2822,  2821,  2826,  2826,  2827,  2830,
1096 >    2833,  2836,  2839,  2842,  2845,  2848,  2851,  2854,  2857,  2860,
1097 >    2863,  2866,  2869,  2872,  2875,  2878,  2881,  2884,  2887,  2890,
1098 >    2896,  2895,  2900,  2900,  2901,  2904,  2907,  2910,  2913,  2916,
1099 >    2919,  2922,  2925,  2928,  2931,  2934,  2937,  2940,  2943,  2946,
1100 >    2949,  2952,  2955,  2958,  2963,  2968,  2973,  2982,  2985,  2985,
1101 >    2986,  2987,  2988,  2989,  2990,  2991,  2992,  2993,  2994,  2995,
1102 >    2996,  2997,  2998,  2999,  3000,  3002,  3007,  3012,  3017,  3022,
1103 >    3027,  3032,  3037,  3042,  3047,  3052,  3057,  3062,  3067,  3075,
1104 >    3078,  3078,  3079,  3080,  3081,  3082,  3083,  3084,  3085,  3086,
1105 >    3087,  3089,  3095,  3101,  3107,  3113,  3122,  3137,  3143
1106   };
1107   #endif
1108  
# Line 1087 | Line 1112 | static const yytype_uint16 yyrline[] =
1112   static const char *const yytname[] =
1113   {
1114    "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ADMIN", "AFTYPE",
1115 <  "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1116 <  "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1117 <  "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1118 <  "CONNECTFREQ", "CYCLE_ON_HOST_CHANGE", "DEFAULT_FLOODCOUNT",
1115 >  "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN",
1116 >  "AWAY_COUNT", "AWAY_TIME", "BYTES", "KBYTES", "MBYTES", "CALLER_ID_WAIT",
1117 >  "CAN_FLOOD", "CHANNEL", "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS",
1118 >  "CONNECT", "CONNECTFREQ", "CYCLE_ON_HOST_CHANGE", "DEFAULT_FLOODCOUNT",
1119    "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1120    "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1121    "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "EGDPOOL_PATH", "EMAIL",
# Line 1098 | Line 1123 | static const char *const yytname[] =
1123    "FLATTEN_LINKS", "GECOS", "GENERAL", "GLINE", "GLINE_DURATION",
1124    "GLINE_ENABLE", "GLINE_EXEMPT", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1125    "GLINE_REQUEST_DURATION", "GLOBAL_KILL", "HAVENT_READ_CONF", "HIDDEN",
1126 <  "HIDDEN_NAME", "HIDE_IDLE_FROM_OPERS", "HIDE_SERVER_IPS", "HIDE_SERVERS",
1127 <  "HIDE_SERVICES", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK",
1128 <  "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "IRCD_AUTH",
1126 >  "HIDDEN_NAME", "HIDE_CHANS", "HIDE_IDLE", "HIDE_IDLE_FROM_OPERS",
1127 >  "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SERVICES", "HIDE_SPOOF_IPS",
1128 >  "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1129 >  "INVITE_CLIENT_COUNT", "INVITE_CLIENT_TIME", "IP", "IRCD_AUTH",
1130    "IRCD_FLAGS", "IRCD_SID", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "KILL",
1131 <  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KNOCK_DELAY",
1132 <  "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY", "LISTEN", "MASK",
1133 <  "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER",
1134 <  "MAX_GLOBAL", "MAX_IDENT", "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES",
1131 >  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KNOCK_CLIENT_COUNT",
1132 >  "KNOCK_CLIENT_TIME", "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY",
1133 >  "LISTEN", "MASK", "MAX_ACCEPT", "MAX_BANS", "MAX_CHANNELS", "MAX_GLOBAL",
1134 >  "MAX_IDENT", "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES",
1135    "MAX_NICK_LENGTH", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1136    "MAX_TOPIC_LENGTH", "MAX_WATCH", "MIN_IDLE", "MIN_NONWILDCARD",
1137    "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "MOTD", "NAME",
# Line 1120 | Line 1146 | static const char *const yytname[] =
1146    "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ",
1147    "SERVERHIDE", "SERVERINFO", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1148    "SQUIT", "SSL_CERTIFICATE_FILE", "SSL_CERTIFICATE_FINGERPRINT",
1149 <  "SSL_CONNECTION_REQUIRED", "SSL_DH_PARAM_FILE", "STATS_E_DISABLED",
1150 <  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",
1149 >  "SSL_CONNECTION_REQUIRED", "SSL_DH_ELLIPTIC_CURVE", "SSL_DH_PARAM_FILE",
1150 >  "SSL_MESSAGE_DIGEST_ALGORITHM", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1151 >  "STATS_K_OPER_ONLY", "STATS_M_OPER_ONLY", "STATS_O_OPER_ONLY",
1152    "STATS_P_OPER_ONLY", "STATS_U_OPER_ONLY", "T_ALL", "T_BOTS",
1153 <  "T_CALLERID", "T_CCONN", "T_CLUSTER", "T_DEAF", "T_DEBUG", "T_DLINE",
1154 <  "T_EXTERNAL", "T_FARCONNECT", "T_FILE", "T_FULL", "T_GLOBOPS",
1153 >  "T_CALLERID", "T_CCONN", "T_COMMAND", "T_CLUSTER", "T_DEAF", "T_DEBUG",
1154 >  "T_DLINE", "T_EXTERNAL", "T_FARCONNECT", "T_FILE", "T_FULL", "T_GLOBOPS",
1155    "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_LOG", "T_MAX_CLIENTS",
1156 <  "T_NCHANGE", "T_NONONREG", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_RESTART",
1157 <  "T_SERVER", "T_SERVICE", "T_SERVICES_NAME", "T_SERVNOTICE", "T_SET",
1156 >  "T_NCHANGE", "T_NONONREG", "T_OPME", "T_PREPEND", "T_PSEUDO", "T_RECVQ",
1157 >  "T_REJ", "T_RESTART", "T_SERVER", "T_SERVICE", "T_SERVNOTICE", "T_SET",
1158    "T_SHARED", "T_SIZE", "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL",
1159 <  "T_SSL_CIPHER_LIST", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD",
1160 <  "T_SSLV3", "T_TLSV1", "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED",
1161 <  "T_UNRESV", "T_UNXLINE", "T_WALLOP", "T_WALLOPS", "T_WEBIRC", "TBOOL",
1162 <  "THROTTLE_TIME", "TKLINE_EXPIRE_NOTICES", "TMASKED",
1163 <  "TRUE_NO_OPER_FLOOD", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "TYPE",
1164 <  "UNKLINE", "USE_EGD", "USE_LOGGING", "USER", "VHOST", "VHOST6",
1165 <  "WARN_NO_CONNECT_BLOCK", "XLINE", "';'", "'}'", "'{'", "'='", "','",
1139 <  "':'", "$accept", "conf", "conf_item", "timespec_", "timespec",
1159 >  "T_SSL_CIPHER_LIST", "T_TARGET", "T_UMODES", "T_UNAUTH", "T_UNDLINE",
1160 >  "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_WALLOP", "T_WALLOPS",
1161 >  "T_WEBIRC", "TBOOL", "THROTTLE_COUNT", "THROTTLE_TIME",
1162 >  "TKLINE_EXPIRE_NOTICES", "TMASKED", "TS_MAX_DELTA", "TS_WARN_DELTA",
1163 >  "TWODOTS", "TYPE", "UNKLINE", "USE_EGD", "USE_LOGGING", "USER", "VHOST",
1164 >  "VHOST6", "WARN_NO_CONNECT_BLOCK", "XLINE", "';'", "'}'", "'{'", "'='",
1165 >  "','", "':'", "$accept", "conf", "conf_item", "timespec_", "timespec",
1166    "sizespec_", "sizespec", "modules_entry", "modules_items",
1167    "modules_item", "modules_module", "modules_path", "serverinfo_entry",
1168 <  "serverinfo_items", "serverinfo_item", "serverinfo_ssl_client_method",
1143 <  "serverinfo_ssl_server_method", "client_method_types",
1144 <  "client_method_type_item", "server_method_types",
1145 <  "server_method_type_item", "serverinfo_ssl_certificate_file",
1168 >  "serverinfo_items", "serverinfo_item", "serverinfo_ssl_certificate_file",
1169    "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1170 <  "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1170 >  "serverinfo_ssl_cipher_list", "serverinfo_ssl_message_digest_algorithm",
1171 >  "serverinfo_ssl_dh_elliptic_curve", "serverinfo_name", "serverinfo_sid",
1172    "serverinfo_description", "serverinfo_network_name",
1173    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1174    "serverinfo_max_clients", "serverinfo_max_nick_length",
1175    "serverinfo_max_topic_length", "serverinfo_hub", "admin_entry",
1176    "admin_items", "admin_item", "admin_name", "admin_email",
1177    "admin_description", "motd_entry", "$@1", "motd_items", "motd_item",
1178 <  "motd_mask", "motd_file", "logging_entry", "logging_items",
1179 <  "logging_item", "logging_use_logging", "logging_file_entry", "$@2",
1180 <  "logging_file_items", "logging_file_item", "logging_file_name",
1181 <  "logging_file_size", "logging_file_type", "$@3",
1182 <  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@4",
1183 <  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1184 <  "oper_encrypted", "oper_rsa_public_key_file",
1185 <  "oper_ssl_certificate_fingerprint", "oper_ssl_connection_required",
1186 <  "oper_class", "oper_umodes", "$@5", "oper_umodes_items",
1187 <  "oper_umodes_item", "oper_flags", "$@6", "oper_flags_items",
1188 <  "oper_flags_item", "class_entry", "$@7", "class_items", "class_item",
1189 <  "class_name", "class_ping_time", "class_number_per_ip",
1190 <  "class_connectfreq", "class_max_number", "class_max_global",
1191 <  "class_max_local", "class_max_ident", "class_sendq", "class_recvq",
1178 >  "motd_mask", "motd_file", "pseudo_entry", "$@2", "pseudo_items",
1179 >  "pseudo_item", "pseudo_command", "pseudo_name", "pseudo_prepend",
1180 >  "pseudo_target", "logging_entry", "logging_items", "logging_item",
1181 >  "logging_use_logging", "logging_file_entry", "$@3", "logging_file_items",
1182 >  "logging_file_item", "logging_file_name", "logging_file_size",
1183 >  "logging_file_type", "$@4", "logging_file_type_items",
1184 >  "logging_file_type_item", "oper_entry", "$@5", "oper_items", "oper_item",
1185 >  "oper_name", "oper_user", "oper_password", "oper_encrypted",
1186 >  "oper_rsa_public_key_file", "oper_ssl_certificate_fingerprint",
1187 >  "oper_ssl_connection_required", "oper_class", "oper_umodes", "$@6",
1188 >  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@7",
1189 >  "oper_flags_items", "oper_flags_item", "class_entry", "$@8",
1190 >  "class_items", "class_item", "class_name", "class_ping_time",
1191 >  "class_number_per_ip", "class_connectfreq", "class_max_channels",
1192 >  "class_max_number", "class_max_global", "class_max_local",
1193 >  "class_max_ident", "class_sendq", "class_recvq",
1194    "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1195    "class_number_per_cidr", "class_min_idle", "class_max_idle",
1196 <  "class_flags", "$@8", "class_flags_items", "class_flags_item",
1197 <  "listen_entry", "$@9", "listen_flags", "$@10", "listen_flags_items",
1196 >  "class_flags", "$@9", "class_flags_items", "class_flags_item",
1197 >  "listen_entry", "$@10", "listen_flags", "$@11", "listen_flags_items",
1198    "listen_flags_item", "listen_items", "listen_item", "listen_port",
1199 <  "$@11", "port_items", "port_item", "listen_address", "listen_host",
1200 <  "auth_entry", "$@12", "auth_items", "auth_item", "auth_user",
1201 <  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@13",
1199 >  "$@12", "port_items", "port_item", "listen_address", "listen_host",
1200 >  "auth_entry", "$@13", "auth_items", "auth_item", "auth_user",
1201 >  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@14",
1202    "auth_flags_items", "auth_flags_item", "auth_spoof", "auth_redir_serv",
1203 <  "auth_redir_port", "resv_entry", "$@14", "resv_items", "resv_item",
1203 >  "auth_redir_port", "resv_entry", "$@15", "resv_items", "resv_item",
1204    "resv_mask", "resv_reason", "resv_exempt", "service_entry",
1205 <  "service_items", "service_item", "service_name", "shared_entry", "$@15",
1205 >  "service_items", "service_item", "service_name", "shared_entry", "$@16",
1206    "shared_items", "shared_item", "shared_name", "shared_user",
1207 <  "shared_type", "$@16", "shared_types", "shared_type_item",
1208 <  "cluster_entry", "$@17", "cluster_items", "cluster_item", "cluster_name",
1209 <  "cluster_type", "$@18", "cluster_types", "cluster_type_item",
1210 <  "connect_entry", "$@19", "connect_items", "connect_item", "connect_name",
1207 >  "shared_type", "$@17", "shared_types", "shared_type_item",
1208 >  "cluster_entry", "$@18", "cluster_items", "cluster_item", "cluster_name",
1209 >  "cluster_type", "$@19", "cluster_types", "cluster_type_item",
1210 >  "connect_entry", "$@20", "connect_items", "connect_item", "connect_name",
1211    "connect_host", "connect_vhost", "connect_send_password",
1212    "connect_accept_password", "connect_ssl_certificate_fingerprint",
1213 <  "connect_port", "connect_aftype", "connect_flags", "$@20",
1213 >  "connect_port", "connect_aftype", "connect_flags", "$@21",
1214    "connect_flags_items", "connect_flags_item", "connect_encrypted",
1215    "connect_hub_mask", "connect_leaf_mask", "connect_class",
1216 <  "connect_ssl_cipher_list", "kill_entry", "$@21", "kill_items",
1217 <  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@22",
1216 >  "connect_ssl_cipher_list", "kill_entry", "$@22", "kill_items",
1217 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@23",
1218    "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1219 <  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@23",
1219 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@24",
1220    "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1221 <  "general_entry", "general_items", "general_item", "general_max_watch",
1222 <  "general_cycle_on_host_change", "general_gline_enable",
1223 <  "general_gline_duration", "general_gline_request_duration",
1224 <  "general_gline_min_cidr", "general_gline_min_cidr6",
1225 <  "general_tkline_expire_notices", "general_kill_chase_time_limit",
1226 <  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1221 >  "general_entry", "general_items", "general_item", "general_away_count",
1222 >  "general_away_time", "general_max_watch", "general_cycle_on_host_change",
1223 >  "general_gline_enable", "general_gline_duration",
1224 >  "general_gline_request_duration", "general_gline_min_cidr",
1225 >  "general_gline_min_cidr6", "general_tkline_expire_notices",
1226 >  "general_kill_chase_time_limit", "general_ignore_bogus_ts",
1227    "general_failed_oper_notice", "general_anti_nick_flood",
1228    "general_max_nick_time", "general_max_nick_changes",
1229    "general_max_accept", "general_anti_spam_exit_message_time",
1230    "general_ts_warn_delta", "general_ts_max_delta",
1231    "general_havent_read_conf", "general_invisible_on_connect",
1232    "general_warn_no_connect_block", "general_stats_e_disabled",
1233 <  "general_stats_o_oper_only", "general_stats_P_oper_only",
1234 <  "general_stats_u_oper_only", "general_stats_k_oper_only",
1235 <  "general_stats_i_oper_only", "general_pace_wait",
1236 <  "general_caller_id_wait", "general_opers_bypass_callerid",
1237 <  "general_pace_wait_simple", "general_short_motd",
1238 <  "general_no_oper_flood", "general_true_no_oper_flood",
1239 <  "general_oper_pass_resv", "general_dots_in_ident", "general_max_targets",
1240 <  "general_use_egd", "general_egdpool_path", "general_services_name",
1241 <  "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1242 <  "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1243 <  "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1244 <  "general_min_nonwildcard", "general_min_nonwildcard_simple",
1245 <  "general_default_floodcount", "channel_entry", "channel_items",
1246 <  "channel_item", "channel_disable_fake_channels", "channel_knock_delay",
1247 <  "channel_knock_delay_channel", "channel_max_chans_per_user",
1248 <  "channel_max_chans_per_oper", "channel_max_bans",
1233 >  "general_stats_m_oper_only", "general_stats_o_oper_only",
1234 >  "general_stats_P_oper_only", "general_stats_u_oper_only",
1235 >  "general_stats_k_oper_only", "general_stats_i_oper_only",
1236 >  "general_pace_wait", "general_caller_id_wait",
1237 >  "general_opers_bypass_callerid", "general_pace_wait_simple",
1238 >  "general_short_motd", "general_no_oper_flood", "general_oper_pass_resv",
1239 >  "general_dots_in_ident", "general_max_targets", "general_ping_cookie",
1240 >  "general_disable_auth", "general_throttle_count",
1241 >  "general_throttle_time", "general_oper_umodes", "$@25", "umode_oitems",
1242 >  "umode_oitem", "general_oper_only_umodes", "$@26", "umode_items",
1243 >  "umode_item", "general_min_nonwildcard",
1244 >  "general_min_nonwildcard_simple", "general_default_floodcount",
1245 >  "channel_entry", "channel_items", "channel_item",
1246 >  "channel_disable_fake_channels", "channel_invite_client_count",
1247 >  "channel_invite_client_time", "channel_knock_client_count",
1248 >  "channel_knock_client_time", "channel_knock_delay_channel",
1249 >  "channel_max_channels", "channel_max_bans",
1250    "channel_default_split_user_count", "channel_default_split_server_count",
1251    "channel_no_create_on_split", "channel_no_join_on_split",
1252    "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
# Line 1258 | Line 1285 | static const yytype_uint16 yytoknum[] =
1285       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1286       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1287       465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1288 <     475,   476,   477,   478,   479,   480,   481,    59,   125,   123,
1289 <      61,    44,    58
1288 >     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1289 >     485,   486,   487,   488,   489,    59,   125,   123,    61,    44,
1290 >      58
1291   };
1292   # endif
1293  
1294 < #define YYPACT_NINF -755
1294 > #define YYPACT_NINF -752
1295  
1296   #define yypact_value_is_default(Yystate) \
1297 <  (!!((Yystate) == (-755)))
1297 >  (!!((Yystate) == (-752)))
1298  
1299 < #define YYTABLE_NINF -124
1299 > #define YYTABLE_NINF -130
1300  
1301   #define yytable_value_is_error(Yytable_value) \
1302    0
# Line 1277 | Line 1305 | static const yytype_uint16 yytoknum[] =
1305       STATE-NUM.  */
1306   static const yytype_int16 yypact[] =
1307   {
1308 <    -755,   717,  -755,  -198,  -223,  -208,  -755,  -755,  -755,  -186,
1309 <    -755,  -184,  -755,  -755,  -755,  -179,  -755,  -755,  -755,  -168,
1310 <    -154,  -755,  -146,  -123,  -755,  -755,  -755,  -755,  -755,  -755,
1311 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1312 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   282,
1313 <     963,   -84,   -59,   -46,   130,   -45,   414,   -39,   -26,   -19,
1314 <      79,   -18,   -11,    21,   503,   408,    40,    39,    53,    41,
1315 <     -14,    -1,    64,    66,     7,  -755,  -755,  -755,  -755,  -755,
1316 <      81,    82,    96,   100,   102,   104,   105,   117,   119,   121,
1317 <     127,   128,    13,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1318 <    -755,  -755,  -755,  -755,  -755,  -755,   723,   577,    61,  -755,
1319 <     131,    10,  -755,  -755,    36,  -755,   132,   133,   135,   139,
1320 <     141,   142,   143,   144,   146,   148,   151,   153,   157,   158,
1321 <     160,   162,   164,   165,   166,   168,   170,   180,   182,   183,
1322 <     187,   188,   189,  -755,   192,  -755,   193,   195,   197,   199,
1323 <     200,   201,   202,   206,   207,   208,   209,   212,   213,   216,
1324 <     217,   219,   221,   222,   223,   108,  -755,  -755,  -755,  -755,
1325 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1326 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1327 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1328 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1329 <    -755,  -755,  -755,  -755,  -755,  -755,   353,     8,   292,    29,
1330 <     227,   231,    24,  -755,  -755,  -755,    22,   546,    47,  -755,
1331 <     236,   237,   240,   246,   248,   251,   253,   254,    15,  -755,
1332 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,    60,   255,
1333 <     257,   259,   260,   262,   263,   265,   266,   272,   288,   291,
1334 <     294,   303,   305,   306,   307,   308,     9,  -755,  -755,  -755,
1335 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1336 <    -755,  -755,  -755,  -755,  -755,     4,    65,   309,    19,  -755,
1337 <    -755,  -755,   155,  -755,   313,    23,  -755,  -755,    62,  -755,
1338 <     215,   352,   365,   270,  -755,   252,   436,   335,   438,   440,
1339 <     440,   440,   443,   451,   454,   355,   356,   340,  -755,   347,
1340 <     346,   351,   354,  -755,   357,   358,   360,   362,   366,   367,
1341 <     368,   369,   370,   372,   373,   377,   258,  -755,  -755,  -755,
1342 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1343 <    -755,  -755,  -755,  -755,   381,   382,   383,   384,   385,   386,
1344 <     387,  -755,   388,   390,   391,   392,   393,   394,   397,   326,
1345 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1346 <    -755,  -755,  -755,  -755,  -755,  -755,   406,   407,    69,  -755,
1347 <    -755,  -755,   460,   411,  -755,  -755,   412,   413,    48,  -755,
1348 <    -755,  -755,   375,   440,   440,   401,   487,   431,   537,   523,
1349 <     437,   440,   439,   540,   543,   440,   547,   446,   447,   448,
1350 <     440,   551,   552,   440,   553,   554,   555,   557,   456,   441,
1351 <     457,   442,   458,   440,   440,   459,   464,   466,    58,    95,
1352 <     467,   468,   469,   558,   440,   472,   473,   440,   440,   474,
1353 <     475,   461,  -755,   462,   463,   465,  -755,   471,   476,   477,
1354 <     479,   480,   163,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1355 <    -755,  -755,  -755,   481,   482,    50,  -755,  -755,  -755,   489,
1356 <     484,   490,  -755,   492,  -755,    25,  -755,  -755,  -755,  -755,
1357 <    -755,   563,   564,   496,  -755,   498,   499,   506,    18,  -755,
1358 <    -755,  -755,   510,   515,   516,  -755,   518,   519,   527,   528,
1359 <     529,  -755,   531,    14,  -755,  -755,  -755,  -755,  -755,  -755,
1360 <    -755,  -755,  -755,  -755,  -755,   513,   532,   533,   534,    11,
1361 <    -755,  -755,  -755,  -755,   493,   494,   544,   567,   556,   559,
1362 <     560,   440,   526,  -755,  -755,   569,   561,   571,   562,   594,
1363 <     603,   642,   644,   649,   651,   652,   668,   654,   -99,   -42,
1364 <     655,   657,   566,  -755,   568,   572,  -755,    73,  -755,  -755,
1365 <    -755,  -755,   573,   570,  -755,   565,   658,   574,  -755,   581,
1366 <     579,  -755,   582,    27,  -755,  -755,  -755,  -755,   589,   590,
1367 <     591,  -755,   592,   593,   595,   596,   267,   597,   598,   599,
1368 <     600,   601,   602,   607,   608,  -755,  -755,   674,   677,   440,
1369 <     606,   680,   683,   440,   690,   691,   440,   707,   729,   732,
1370 <     440,   733,   733,   615,  -755,  -755,   720,   129,   728,   646,
1371 <     731,   735,   629,   745,   746,   762,   748,   750,   751,   752,
1372 <     653,  -755,   756,   759,   656,  -755,   660,  -755,   761,   765,
1373 <     662,  -755,   663,   665,   666,   669,   670,   671,   672,   675,
1374 <     679,   687,   692,   694,   695,   697,   698,   704,   705,   706,
1375 <     710,   711,   715,   716,   719,   721,   730,   738,   740,   684,
1376 <     741,   747,   749,   753,   754,   760,   763,   766,   767,   771,
1377 <     772,   773,   774,   775,   776,   777,   778,   779,   780,   781,
1378 <     782,   783,   784,  -755,  -755,   788,   685,   714,   794,   793,
1379 <     811,   824,   827,   785,  -755,   837,   839,   786,  -755,  -755,
1380 <     854,   856,   787,   796,   789,  -755,   791,   792,  -755,  -755,
1381 <     866,   873,   795,  -755,  -755,   891,   805,   797,   897,   898,
1382 <     900,   901,   815,   800,   903,   804,  -755,  -755,   909,   910,
1383 <     913,   810,  -755,   812,   813,   817,   818,   819,   820,   821,
1384 <     822,  -755,   823,   825,   826,   828,   829,   830,   831,   832,
1385 <     833,   834,   835,   836,   838,  -755,  -755,  -209,  -755,  -755,
1386 <    -755,  -189,  -755,   842,   843,  -755,  -755,   915,   841,   845,
1387 <    -755,   846,  -755,    26,   847,  -755,  -755,   928,   848,   931,
1388 <     849,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   440,
1389 <     440,   440,   440,   440,   440,   440,  -755,  -755,  -755,  -755,
1390 <    -755,  -755,  -755,  -755,  -755,  -755,   850,   852,   853,   -34,
1391 <     855,   857,   858,   859,   860,   861,   862,   863,   864,   865,
1392 <     289,   867,   868,  -755,   869,   870,   871,   872,   874,   875,
1393 <     876,     5,   877,   878,   879,   880,   881,   882,   883,  -755,
1394 <     884,   885,  -755,  -755,   886,   887,  -755,  -755,  -755,  -755,
1395 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1396 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1397 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1398 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1399 <    -755,  -755,  -755,  -755,  -755,  -174,  -755,  -755,  -755,  -755,
1400 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1401 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -172,
1402 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1403 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1404 <    -755,  -755,   888,   889,   245,   890,   892,   893,   894,   895,
1405 <    -755,   896,   899,  -755,   902,   904,   -16,   907,   844,  -755,
1406 <    -755,  -755,  -755,   905,   906,  -755,   908,   911,   524,   912,
1407 <     914,   916,   917,   918,   790,   919,  -755,   920,   921,   922,
1408 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1409 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1410 <    -755,  -755,  -755,   -99,  -755,   -42,  -755,  -755,   923,   584,
1411 <    -755,  -755,   924,   851,   925,  -755,    57,  -755,  -755,  -755,
1412 <    -755,  -755,   926,   769,   927,  -755,  -755,  -755,  -755,  -755,
1413 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -171,  -755,
1414 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1415 <     733,   733,   733,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1416 <    -755,  -755,  -755,  -755,  -755,  -755,  -155,  -755,  -755,  -755,
1417 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1418 <     684,  -755,   747,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1419 <    -755,  -755,  -755,  -755,  -755,   -50,  -755,  -755,  -755,  -755,
1420 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   -49,
1421 <    -755,   956,   796,   929,  -755,  -755,  -755,  -755,  -755,   930,
1422 <    -755,  -755,   932,  -755,  -755,  -755,  -755,   933,  -755,  -755,
1423 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   -23,
1424 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1425 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1426 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,   -15,  -755,  -755,
1427 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1428 <    -755,  -755,  -755,  -755,  -755,  -755,     0,  -755,  -755,   943,
1429 <    -101,   936,   934,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1430 <    -755,  -755,  -755,  -755,  -755,    30,  -755,  -755,  -755,   -34,
1431 <    -755,  -755,  -755,  -755,     5,  -755,  -755,  -755,   245,  -755,
1432 <     -16,  -755,  -755,  -755,   954,   964,   971,  -755,   524,  -755,
1433 <     790,  -755,   584,   940,   941,   942,   297,  -755,  -755,   769,
1434 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1435 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1436 <    -755,  -755,    55,  -755,  -755,  -755,   297,  -755
1308 >    -752,   617,  -752,  -202,  -226,  -217,  -752,  -752,  -752,  -209,
1309 >    -752,  -206,  -752,  -752,  -752,  -201,  -752,  -752,  -752,  -189,
1310 >    -180,  -752,  -162,  -752,  -153,  -752,  -752,  -752,  -752,  -752,
1311 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1312 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1313 >    -752,   304,   687,  -140,  -139,  -133,    14,  -132,   381,  -118,
1314 >    -113,  -109,   209,  -108,   -88,   -87,   731,   421,   -76,    12,
1315 >     -73,    17,   -71,  -163,  -112,   -62,   -48,    39,  -752,  -752,
1316 >    -752,  -752,  -752,   -32,   -30,   -29,   -16,    21,    28,    41,
1317 >      81,    84,    91,    98,    99,   101,   116,   230,  -752,  -752,
1318 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1319 >    -752,  -752,  -752,   606,   507,     9,  -752,   118,    13,  -752,
1320 >    -752,    82,  -752,   120,   122,   125,   127,   128,   129,   132,
1321 >     134,   135,   136,   137,   138,   139,   141,   146,   151,   154,
1322 >     155,   156,   167,   168,   169,   171,   173,   174,   177,   180,
1323 >    -752,   183,  -752,   185,   188,   194,   195,   196,   198,   200,
1324 >     201,   205,   208,   212,   214,   215,   218,   219,   224,   225,
1325 >     229,    15,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1326 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1327 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1328 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1329 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1330 >    -752,   515,    34,    26,   124,   233,   235,    45,  -752,  -752,
1331 >    -752,     7,   416,   231,  -752,   241,   245,   248,   249,   250,
1332 >     251,   252,   254,   117,  -752,  -752,  -752,  -752,  -752,  -752,
1333 >    -752,  -752,  -752,   234,   256,   257,   259,   267,   268,   271,
1334 >     273,   276,   277,   281,   283,   286,   297,   298,   301,   313,
1335 >     320,    55,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1336 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1337 >      51,   324,   323,    16,  -752,  -752,  -752,    70,   380,  -752,
1338 >     326,    54,  -752,  -752,    87,  -752,   226,   339,   436,   331,
1339 >    -752,   335,   456,   360,   469,   471,   472,   471,   476,   471,
1340 >     471,   477,   478,   375,   377,   362,  -752,   368,   370,   372,
1341 >     378,  -752,   388,   391,   392,   393,   394,   396,   400,   403,
1342 >     406,   407,   412,   413,   418,   184,  -752,  -752,  -752,  -752,
1343 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1344 >    -752,  -752,  -752,  -752,   371,   422,   423,   424,   427,   428,
1345 >     431,  -752,   432,   433,   434,   435,   445,   448,   449,   223,
1346 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1347 >    -752,  -752,  -752,  -752,  -752,  -752,   451,   453,    29,  -752,
1348 >    -752,  -752,   484,   439,  -752,  -752,   459,   460,    53,  -752,
1349 >    -752,  -752,   397,   471,   545,   471,   471,   483,   549,   489,
1350 >     594,   491,   471,   495,   601,   602,   471,   604,   508,   509,
1351 >     471,   611,   614,   471,   615,   616,   621,   622,   513,   501,
1352 >     522,   503,   525,   471,   471,   530,   531,   532,  -199,  -179,
1353 >     538,   539,   542,   543,   649,   471,   551,   471,   471,   553,
1354 >     540,  -752,   555,   536,   546,  -752,   548,   556,   557,   558,
1355 >     563,   211,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1356 >    -752,  -752,   564,   567,    76,  -752,  -752,  -752,   568,   569,
1357 >     570,  -752,   571,  -752,    25,  -752,  -752,  -752,  -752,  -752,
1358 >     651,   664,   576,  -752,   578,   579,   581,    40,  -752,  -752,
1359 >    -752,   585,   583,   587,  -752,   588,   591,   596,   598,   599,
1360 >    -752,   605,   228,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1361 >    -752,  -752,  -752,  -752,   597,   607,   608,   610,     8,  -752,
1362 >    -752,  -752,  -752,   626,   631,   632,   677,   634,   635,   636,
1363 >     471,   623,  -752,  -752,   685,   641,   710,   702,   726,   732,
1364 >     737,   741,   744,   746,   748,   749,   751,   767,   755,   756,
1365 >     757,   625,  -752,   654,   653,  -752,   121,  -752,  -752,  -752,
1366 >    -752,   669,   655,  -752,   656,   659,   657,   661,   662,   663,
1367 >      48,  -752,  -752,  -752,  -752,  -752,   773,   672,  -752,   676,
1368 >     678,  -752,   680,    68,  -752,  -752,  -752,  -752,   679,   684,
1369 >     686,  -752,   690,   691,   692,   695,   535,   696,   697,   699,
1370 >     700,   701,   705,   706,   707,   708,   711,  -752,  -752,   808,
1371 >     814,   471,   709,   831,   834,   836,   471,   837,   838,   471,
1372 >     824,   840,   841,   471,   842,   842,   722,  -752,  -752,   829,
1373 >    -134,   830,   742,   832,   833,   725,   835,   839,   851,   843,
1374 >     844,   845,   846,   735,  -752,   847,   848,   736,  -752,   743,
1375 >    -752,   850,   852,   745,  -752,   747,   750,   752,   753,   754,
1376 >     758,   759,   760,   761,   762,   763,   764,   765,   766,   768,
1377 >     769,   770,   771,   772,   774,   775,   776,   777,   778,   779,
1378 >     780,   781,   734,   782,   652,   783,   784,   785,   786,   787,
1379 >     788,   789,   790,   791,   792,   793,   794,   795,   796,   797,
1380 >     798,   799,   800,   801,   802,  -752,  -752,   854,   820,   728,
1381 >     855,   853,   857,   861,   862,   804,  -752,   863,   873,   805,
1382 >    -752,  -752,   879,   912,   806,   928,   810,  -752,   811,   812,
1383 >    -752,  -752,   914,   919,   815,  -752,  -752,   920,   849,   813,
1384 >     923,   924,   925,   926,   856,   818,   929,   822,  -752,  -752,
1385 >     930,   931,   932,   827,  -752,   828,   858,   859,   860,   864,
1386 >     865,   866,   867,  -752,   868,   869,   870,   871,   872,   874,
1387 >     875,   876,   877,   878,   880,   881,   882,   883,   884,   885,
1388 >     886,  -752,  -752,   935,   887,   888,  -752,   889,  -752,    67,
1389 >    -752,   936,   937,   939,   940,   891,  -752,   892,  -752,  -752,
1390 >     941,   890,   942,   894,  -752,  -752,  -752,  -752,  -752,  -752,
1391 >    -752,  -752,   471,   471,   471,   471,   471,   471,   471,  -752,
1392 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1393 >    -752,   895,   896,   897,   -43,   898,   899,   900,   901,   902,
1394 >     903,   904,   905,   906,   907,   908,   206,   909,   910,  -752,
1395 >     911,   913,   915,   916,   917,   918,   921,    -3,   922,   927,
1396 >     933,   934,   938,   943,   944,  -752,   945,   946,  -752,  -752,
1397 >     947,   948,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1398 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1399 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1400 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1401 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1402 >    -175,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1403 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1404 >    -752,  -752,  -752,  -752,  -752,  -168,  -752,  -752,  -752,  -752,
1405 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1406 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,   949,   950,   425,
1407 >     951,   952,   953,   954,   955,  -752,   956,   957,  -752,   958,
1408 >     959,    -9,   970,   730,  -752,  -752,  -752,  -752,   961,   962,
1409 >    -752,   963,   964,   341,   965,   966,   967,   968,   969,   693,
1410 >     971,  -752,   972,   973,   974,  -752,  -752,  -752,  -752,  -752,
1411 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1412 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1413 >    -752,   975,   385,  -752,  -752,   976,   977,   978,  -752,    31,
1414 >    -752,  -752,  -752,  -752,   979,   982,   983,   984,  -752,  -752,
1415 >     985,   565,   986,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1416 >    -752,  -752,  -752,  -752,  -752,  -752,  -165,  -752,  -752,  -752,
1417 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,   842,
1418 >     842,   842,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1419 >    -752,  -752,  -752,  -752,  -752,  -128,  -752,  -752,  -752,  -752,
1420 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,   734,
1421 >    -752,   652,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1422 >    -752,  -752,  -752,  -752,   -46,  -752,  -752,  -752,  -752,  -752,
1423 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,   -40,  -752,
1424 >     994,   928,   987,  -752,  -752,  -752,  -752,  -752,   988,  -752,
1425 >    -752,   989,  -752,  -752,  -752,  -752,   990,  -752,  -752,  -752,
1426 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,   -35,  -752,
1427 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1428 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1429 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,   -12,  -752,  -752,
1430 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1431 >    -752,  -752,  -752,  -752,    86,  -752,  -752,   960,  -111,   993,
1432 >     991,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1433 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,    89,  -752,  -752,
1434 >    -752,   -43,  -752,  -752,  -752,  -752,    -3,  -752,  -752,  -752,
1435 >     425,  -752,    -9,  -752,  -752,  -752,  1012,  1014,  1019,  -752,
1436 >     341,  -752,   693,  -752,   385,   992,   997,   998,   547,  -752,
1437 >    -752,   565,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1438 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1439 >    -752,  -752,  -752,  -752,   107,  -752,  -752,  -752,   547,  -752
1440   };
1441  
1442    /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
# Line 1413 | Line 1444 | static const yytype_int16 yypact[] =
1444       means the default is an error.  */
1445   static const yytype_uint16 yydefact[] =
1446   {
1447 <       2,     0,     1,     0,     0,     0,   223,   386,   434,     0,
1448 <     449,     0,   289,   425,   265,     0,   107,   147,   323,     0,
1449 <       0,   364,     0,     0,   340,     3,    23,    11,     4,    24,
1450 <       5,     6,     8,     9,    10,    13,    14,    15,    16,    17,
1451 <      18,    19,    20,    22,    21,     7,    12,    25,    26,     0,
1447 >       2,     0,     1,     0,     0,     0,   230,   395,   443,     0,
1448 >     458,     0,   298,   434,   274,     0,   100,   153,   332,     0,
1449 >       0,   373,     0,   109,     0,   349,     3,    23,    11,     4,
1450 >      24,    25,     5,     6,     8,     9,    10,    13,    14,    15,
1451 >      16,    17,    18,    19,    20,    22,    21,     7,    12,    26,
1452 >      27,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1453         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1454 +       0,     0,     0,     0,     0,     0,     0,     0,    92,    93,
1455 +      95,    94,   634,     0,     0,     0,     0,     0,     0,     0,
1456 +       0,     0,     0,     0,     0,     0,     0,     0,   619,   633,
1457 +     621,   622,   623,   624,   625,   626,   620,   627,   628,   629,
1458 +     630,   631,   632,     0,     0,     0,   456,     0,     0,   454,
1459 +     455,     0,   518,     0,     0,     0,     0,     0,     0,     0,
1460         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1423       0,     0,     0,     0,     0,    99,   100,   102,   101,   625,
1461         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1462 <       0,     0,     0,   612,   624,   614,   615,   616,   617,   613,
1426 <     618,   619,   620,   621,   622,   623,     0,     0,     0,   447,
1427 <       0,     0,   445,   446,     0,   510,     0,     0,     0,     0,
1462 >     590,     0,   564,     0,     0,     0,     0,     0,     0,     0,
1463         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1464 +       0,     0,   469,   470,   471,   516,   517,   510,   511,   512,
1465 +     513,   514,   509,   481,   472,   473,   474,   475,   476,   477,
1466 +     478,   479,   480,   506,   482,   483,   515,   487,   488,   489,
1467 +     490,   486,   485,   491,   499,   500,   492,   493,   494,   495,
1468 +     484,   497,   507,   508,   504,   505,   498,   496,   502,   503,
1469 +     501,     0,     0,     0,     0,     0,     0,     0,    46,    47,
1470 +      48,     0,     0,     0,   660,     0,     0,     0,     0,     0,
1471 +       0,     0,     0,     0,   651,   652,   653,   654,   655,   658,
1472 +     656,   657,   659,     0,     0,     0,     0,     0,     0,     0,
1473         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1474 <       0,     0,     0,   582,     0,   557,     0,     0,     0,     0,
1474 >       0,     0,    54,    69,    66,    64,    70,    71,    65,    55,
1475 >      68,    58,    59,    60,    56,    67,    61,    62,    63,    57,
1476 >       0,     0,     0,     0,   124,   125,   126,     0,     0,   347,
1477 >       0,     0,   345,   346,     0,    96,     0,     0,     0,     0,
1478 >      91,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1479 >       0,     0,     0,     0,     0,     0,   618,     0,     0,     0,
1480 >       0,   268,     0,     0,     0,     0,     0,     0,     0,     0,
1481 >       0,     0,     0,     0,     0,     0,   233,   234,   237,   239,
1482 >     240,   241,   242,   243,   244,   245,   246,   247,   235,   236,
1483 >     238,   248,   249,   250,     0,     0,     0,     0,     0,     0,
1484 >       0,   423,     0,     0,     0,     0,     0,     0,     0,     0,
1485 >     398,   399,   400,   401,   402,   403,   404,   406,   405,   408,
1486 >     412,   409,   410,   411,   407,   449,     0,     0,     0,   446,
1487 >     447,   448,     0,     0,   453,   464,     0,     0,     0,   461,
1488 >     462,   463,     0,     0,     0,     0,     0,     0,     0,     0,
1489         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1432       0,     0,     0,     0,     0,     0,   460,   507,   509,   501,
1433     502,   503,   504,   505,   500,   471,   461,   462,   463,   464,
1434     465,   466,   467,   468,   469,   470,   497,   472,   473,   506,
1435     475,   480,   481,   476,   478,   477,   491,   492,   479,   482,
1436     483,   484,   485,   474,   487,   488,   489,   508,   498,   499,
1437     496,   490,   486,   494,   495,   493,     0,     0,     0,     0,
1438       0,     0,     0,    45,    46,    47,     0,     0,     0,   649,
1439       0,     0,     0,     0,     0,     0,     0,     0,     0,   640,
1440     641,   642,   643,   644,   647,   645,   646,   648,     0,     0,
1490         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1442       0,     0,     0,     0,     0,     0,     0,    53,    68,    69,
1443      67,    64,    63,    70,    54,    66,    57,    58,    59,    55,
1444      65,    60,    61,    62,    56,     0,     0,     0,     0,   118,
1445     119,   120,     0,   338,     0,     0,   336,   337,     0,   103,
1446       0,     0,     0,     0,    98,     0,     0,     0,     0,     0,
1447       0,     0,     0,     0,     0,     0,     0,     0,   611,     0,
1448       0,     0,     0,   259,     0,     0,     0,     0,     0,     0,
1449       0,     0,     0,     0,     0,     0,     0,   226,   227,   230,
1450     232,   233,   234,   235,   236,   237,   238,   239,   228,   229,
1451     231,   240,   241,   242,     0,     0,     0,     0,     0,     0,
1452       0,   414,     0,     0,     0,     0,     0,     0,     0,     0,
1453     389,   390,   391,   392,   393,   394,   395,   397,   396,   399,
1454     403,   400,   401,   402,   398,   440,     0,     0,     0,   437,
1455     438,   439,     0,     0,   444,   455,     0,     0,     0,   452,
1456     453,   454,     0,     0,     0,     0,     0,     0,     0,     0,
1491         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1492         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1493 +       0,   468,     0,     0,     0,   315,     0,     0,     0,     0,
1494 +       0,     0,   301,   302,   303,   304,   309,   305,   306,   307,
1495 +     308,   440,     0,     0,     0,   437,   438,   439,     0,     0,
1496 +       0,   276,     0,   286,     0,   284,   285,   287,   288,    49,
1497 +       0,     0,     0,    45,     0,     0,     0,     0,   103,   104,
1498 +     105,     0,     0,     0,   202,     0,     0,     0,     0,     0,
1499 +     176,     0,     0,   156,   157,   158,   159,   162,   163,   164,
1500 +     165,   161,   160,   166,     0,     0,     0,     0,     0,   335,
1501 +     336,   337,   338,     0,     0,     0,     0,     0,     0,     0,
1502 +       0,     0,   650,    72,     0,     0,     0,     0,     0,     0,
1503         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1504 +       0,     0,    53,     0,     0,   381,     0,   376,   377,   378,
1505 +     127,     0,     0,   123,     0,     0,     0,     0,     0,     0,
1506 +       0,   112,   113,   115,   114,   116,     0,     0,   344,     0,
1507 +       0,   359,     0,     0,   352,   353,   354,   355,     0,     0,
1508 +       0,    90,     0,     0,     0,     0,    28,     0,     0,     0,
1509 +       0,     0,     0,     0,     0,     0,     0,   617,   251,     0,
1510         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1511 <       0,     0,   459,     0,     0,     0,   306,     0,     0,     0,
1462 <       0,     0,     0,   292,   293,   294,   295,   300,   296,   297,
1463 <     298,   299,   431,     0,     0,     0,   428,   429,   430,     0,
1464 <       0,     0,   267,     0,   277,     0,   275,   276,   278,   279,
1465 <      48,     0,     0,     0,    44,     0,     0,     0,     0,   110,
1466 <     111,   112,     0,     0,     0,   195,     0,     0,     0,     0,
1467 <       0,   170,     0,     0,   150,   151,   152,   153,   156,   157,
1468 <     158,   159,   155,   154,   160,     0,     0,     0,     0,     0,
1469 <     326,   327,   328,   329,     0,     0,     0,     0,     0,     0,
1470 <       0,     0,     0,   639,    71,     0,     0,     0,     0,     0,
1511 >       0,     0,     0,     0,     0,     0,     0,   232,   413,     0,
1512         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1513 <       0,     0,     0,    52,     0,     0,   372,     0,   367,   368,
1514 <     369,   121,     0,     0,   117,     0,     0,     0,   335,     0,
1474 <       0,   350,     0,     0,   343,   344,   345,   346,     0,     0,
1475 <       0,    97,     0,     0,     0,     0,    27,     0,     0,     0,
1476 <       0,     0,     0,     0,     0,   610,   243,     0,     0,     0,
1513 >       0,     0,     0,     0,   397,     0,     0,     0,   445,     0,
1514 >     452,     0,     0,     0,   460,     0,     0,     0,     0,     0,
1515         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1478       0,     0,     0,     0,   225,   404,     0,     0,     0,     0,
1516         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1480       0,   388,     0,     0,     0,   436,     0,   443,     0,     0,
1481       0,   451,     0,     0,     0,     0,     0,     0,     0,     0,
1517         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1518         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1519 +       0,     0,     0,     0,     0,   467,   310,     0,     0,     0,
1520 +       0,     0,     0,     0,     0,     0,   300,     0,     0,     0,
1521 +     436,   289,     0,     0,     0,     0,     0,   283,     0,     0,
1522 +      44,   106,     0,     0,     0,   102,   167,     0,     0,     0,
1523 +       0,     0,     0,     0,     0,     0,     0,     0,   155,   339,
1524 +       0,     0,     0,     0,   334,     0,     0,     0,     0,     0,
1525 +       0,     0,     0,   649,     0,     0,     0,     0,     0,     0,
1526         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1527 +       0,    52,   379,     0,     0,     0,   375,     0,   122,     0,
1528 +     117,     0,     0,     0,     0,     0,   111,     0,   343,   356,
1529 +       0,     0,     0,     0,   351,    99,    98,    97,   644,   643,
1530 +     635,   636,    28,    28,    28,    28,    28,    28,    28,    30,
1531 +      29,   637,   647,   648,   638,   639,   640,   642,   641,   645,
1532 +     646,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1533 +       0,     0,     0,     0,     0,     0,    38,     0,     0,   231,
1534         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1535 <       0,     0,     0,   458,   301,     0,     0,     0,     0,     0,
1536 <       0,     0,     0,     0,   291,     0,     0,     0,   427,   280,
1537 <       0,     0,     0,     0,     0,   274,     0,     0,    43,   113,
1538 <       0,     0,     0,   109,   161,     0,     0,     0,     0,     0,
1539 <       0,     0,     0,     0,     0,     0,   149,   330,     0,     0,
1540 <       0,     0,   325,     0,     0,     0,     0,     0,     0,     0,
1541 <       0,   638,     0,     0,     0,     0,     0,     0,     0,     0,
1542 <       0,     0,     0,     0,     0,    76,    77,     0,    75,    80,
1543 <      81,     0,    79,     0,     0,    51,   370,     0,     0,     0,
1544 <     366,     0,   116,     0,     0,   334,   347,     0,     0,     0,
1545 <       0,   342,   106,   105,   104,   633,   632,   626,   636,    27,
1546 <      27,    27,    27,    27,    27,    27,    29,    28,   637,   627,
1547 <     628,   631,   630,   629,   634,   635,     0,     0,     0,     0,
1548 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1549 <      37,     0,     0,   224,     0,     0,     0,     0,     0,     0,
1550 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   387,
1551 <       0,     0,   435,   448,     0,     0,   450,   523,   527,   542,
1552 <     512,   609,   555,   549,   552,   522,   514,   513,   516,   517,
1553 <     515,   530,   520,   521,   531,   519,   526,   525,   524,   550,
1554 <     511,   607,   608,   546,   592,   586,   603,   587,   588,   589,
1555 <     597,   606,   590,   600,   604,   593,   605,   598,   594,   599,
1556 <     591,   602,   596,   595,   601,     0,   585,   548,   566,   561,
1557 <     578,   562,   563,   564,   572,   581,   565,   575,   579,   568,
1558 <     580,   573,   569,   574,   567,   577,   571,   570,   576,     0,
1559 <     560,   543,   541,   544,   554,   545,   533,   539,   540,   537,
1560 <     538,   534,   535,   536,   553,   556,   518,   547,   529,   528,
1561 <     551,   532,     0,     0,     0,     0,     0,     0,     0,     0,
1562 <     290,     0,     0,   426,     0,     0,     0,   285,   281,   284,
1563 <     266,    49,    50,     0,     0,   108,     0,     0,     0,     0,
1564 <       0,     0,     0,     0,     0,     0,   148,     0,     0,     0,
1565 <     324,   651,   650,   656,   654,   657,   652,   653,   655,    88,
1566 <      96,    87,    94,    95,    86,    90,    89,    83,    82,    84,
1567 <      93,    85,    72,     0,    73,     0,    91,    92,     0,     0,
1568 <     365,   122,     0,     0,     0,   134,     0,   126,   127,   129,
1569 <     128,   339,     0,     0,     0,   341,    30,    31,    32,    33,
1570 <      34,    35,    36,   254,   255,   247,   264,   263,     0,   262,
1571 <     249,   251,   258,   250,   248,   257,   244,   256,   246,   245,
1572 <      37,    37,    37,    39,    38,   252,   253,   409,   412,   413,
1573 <     423,   420,   406,   421,   418,   419,     0,   417,   422,   405,
1574 <     411,   408,   410,   424,   407,   441,   442,   456,   457,   583,
1575 <       0,   558,     0,   304,   305,   314,   311,   316,   312,   313,
1576 <     319,   315,   317,   310,   318,     0,   309,   303,   322,   321,
1577 <     320,   302,   433,   432,   288,   287,   272,   273,   271,     0,
1578 <     270,     0,     0,     0,   114,   115,   169,   165,   215,   202,
1530 <     212,   211,   200,   205,   222,   214,   220,   204,   207,   217,
1531 <     219,   216,   213,   221,   208,   210,   218,   206,   209,     0,
1532 <     198,   162,   164,   166,   167,   168,   179,   174,   191,   175,
1533 <     176,   177,   185,   194,   178,   188,   192,   181,   193,   186,
1534 <     182,   187,   180,   190,   184,   183,   189,     0,   173,   163,
1535 <     333,   331,   332,    74,    78,   371,   376,   382,   385,   378,
1536 <     384,   379,   383,   381,   377,   380,     0,   375,   130,     0,
1537 <       0,     0,     0,   125,   348,   354,   360,   363,   356,   362,
1538 <     357,   361,   359,   355,   358,     0,   353,   349,   260,     0,
1539 <      40,    41,    42,   415,     0,   584,   559,   307,     0,   268,
1540 <       0,   286,   283,   282,     0,     0,     0,   196,     0,   171,
1541 <       0,   373,     0,     0,     0,     0,     0,   124,   351,     0,
1542 <     261,   416,   308,   269,   201,   199,   203,   197,   172,   374,
1543 <     131,   133,   132,   140,   145,   144,   139,   142,   146,   143,
1544 <     138,   141,     0,   137,   352,   135,     0,   136
1535 >       0,     0,     0,     0,     0,   396,     0,     0,   444,   457,
1536 >       0,     0,   459,   532,   536,   519,   520,   552,   522,   616,
1537 >     561,   558,   531,   524,   523,   526,   527,   525,   539,   530,
1538 >     540,   529,   535,   534,   533,   559,   521,   614,   615,   556,
1539 >     600,   594,   610,   595,   596,   597,   605,   613,   598,   607,
1540 >     611,   601,   612,   602,   606,   599,   609,   604,   603,   608,
1541 >       0,   593,   557,   573,   574,   575,   568,   586,   569,   570,
1542 >     571,   581,   589,   572,   583,   587,   577,   588,   578,   582,
1543 >     576,   585,   580,   579,   584,     0,   567,   553,   551,   554,
1544 >     560,   555,   542,   549,   550,   547,   548,   543,   544,   545,
1545 >     546,   562,   563,   528,   538,   537,   541,     0,     0,     0,
1546 >       0,     0,     0,     0,     0,   299,     0,     0,   435,     0,
1547 >       0,     0,   294,   290,   293,   275,    50,    51,     0,     0,
1548 >     101,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1549 >       0,   154,     0,     0,     0,   333,   662,   661,   667,   665,
1550 >     668,   663,   664,   666,    81,    89,    80,    87,    88,    79,
1551 >      83,    82,    74,    73,    78,    75,    77,    86,    76,    84,
1552 >      85,     0,     0,   374,   128,     0,     0,     0,   140,     0,
1553 >     132,   133,   135,   134,     0,     0,     0,     0,   110,   348,
1554 >       0,     0,     0,   350,    31,    32,    33,    34,    35,    36,
1555 >      37,   263,   264,   255,   273,   272,     0,   271,   256,   258,
1556 >     260,   267,   259,   257,   266,   252,   265,   254,   253,    38,
1557 >      38,    38,    40,    39,   261,   262,   418,   421,   422,   432,
1558 >     429,   415,   430,   427,   428,     0,   426,   431,   414,   420,
1559 >     417,   419,   433,   416,   450,   451,   465,   466,   591,     0,
1560 >     565,     0,   313,   314,   323,   320,   325,   321,   322,   328,
1561 >     324,   326,   319,   327,     0,   318,   312,   331,   330,   329,
1562 >     311,   442,   441,   297,   296,   281,   282,   280,     0,   279,
1563 >       0,     0,     0,   107,   108,   175,   171,   222,   209,   219,
1564 >     218,   207,   212,   228,   221,   226,   211,   214,   223,   225,
1565 >     229,   220,   227,   215,   217,   224,   213,   216,     0,   205,
1566 >     168,   170,   172,   173,   174,   185,   186,   187,   180,   198,
1567 >     181,   182,   183,   193,   201,   184,   195,   199,   189,   200,
1568 >     190,   194,   188,   197,   192,   191,   196,     0,   179,   169,
1569 >     342,   340,   341,   380,   385,   391,   394,   387,   393,   388,
1570 >     392,   390,   386,   389,     0,   384,   136,     0,     0,     0,
1571 >       0,   131,   119,   118,   120,   121,   357,   363,   369,   372,
1572 >     365,   371,   366,   370,   368,   364,   367,     0,   362,   358,
1573 >     269,     0,    41,    42,    43,   424,     0,   592,   566,   316,
1574 >       0,   277,     0,   295,   292,   291,     0,     0,     0,   203,
1575 >       0,   177,     0,   382,     0,     0,     0,     0,     0,   130,
1576 >     360,     0,   270,   425,   317,   278,   208,   206,   210,   204,
1577 >     178,   383,   137,   139,   138,   146,   151,   150,   145,   148,
1578 >     152,   149,   144,   147,     0,   143,   361,   141,     0,   142
1579   };
1580  
1581    /* YYPGOTO[NTERM-NUM].  */
1582   static const yytype_int16 yypgoto[] =
1583   {
1584 <    -755,  -755,  -755,  -298,  -307,  -754,  -621,  -755,  -755,   935,
1585 <    -755,  -755,  -755,  -755,   619,  -755,  -755,  -755,   107,  -755,
1586 <      93,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1587 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  1051,  -755,
1588 <    -755,  -755,  -755,  -755,  -755,   630,  -755,  -755,  -755,  -755,
1589 <     937,  -755,  -755,  -755,  -755,    91,  -755,  -755,  -755,  -755,
1590 <    -755,  -152,  -755,  -755,  -755,   623,  -755,  -755,  -755,  -755,
1591 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -113,  -755,  -755,
1592 <    -755,  -108,  -755,  -755,  -755,   806,  -755,  -755,  -755,  -755,
1593 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1594 <    -755,  -755,  -755,  -755,   -77,  -755,  -755,  -755,  -755,  -755,
1595 <     -82,  -755,   678,  -755,  -755,  -755,    28,  -755,  -755,  -755,
1596 <    -755,  -755,   708,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1597 <     -79,  -755,  -755,  -755,  -755,  -755,  -755,   643,  -755,  -755,
1598 <    -755,  -755,  -755,   938,  -755,  -755,  -755,  -755,   588,  -755,
1599 <    -755,  -755,  -755,  -755,   -86,  -755,  -755,  -755,   609,  -755,
1600 <    -755,  -755,  -755,   -78,  -755,  -755,  -755,   808,  -755,  -755,
1601 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   -56,
1602 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   700,  -755,
1603 <    -755,  -755,  -755,  -755,   798,  -755,  -755,  -755,  -755,  1068,
1604 <    -755,  -755,  -755,  -755,   799,  -755,  -755,  -755,  -755,  1015,
1605 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1606 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1607 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1608 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1609 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,    80,  -755,  -755,
1610 <    -755,    83,  -755,  -755,  -755,  -755,  -755,  1089,  -755,  -755,
1611 <    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1612 <    -755,  -755,   946,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1613 <    -755
1584 >    -752,  -752,  -752,  -436,  -313,  -751,  -644,  -752,  -752,   996,
1585 >    -752,  -752,  -752,  -752,   807,  -752,  -752,  -752,  -752,  -752,
1586 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1587 >    -752,  -752,  -752,  -752,   995,  -752,  -752,  -752,  -752,  -752,
1588 >    -752,   566,  -752,  -752,  -752,  -752,  -752,   485,  -752,  -752,
1589 >    -752,  -752,  -752,  -752,   803,  -752,  -752,  -752,  -752,    18,
1590 >    -752,  -752,  -752,  -752,  -752,  -242,  -752,  -752,  -752,   559,
1591 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1592 >    -752,  -203,  -752,  -752,  -752,  -200,  -752,  -752,  -752,   738,
1593 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1594 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -177,
1595 >    -752,  -752,  -752,  -752,  -752,  -190,  -752,   592,  -752,  -752,
1596 >    -752,   -74,  -752,  -752,  -752,  -752,  -752,   619,  -752,  -752,
1597 >    -752,  -752,  -752,  -752,  -752,  -185,  -752,  -752,  -752,  -752,
1598 >    -752,  -752,   550,  -752,  -752,  -752,  -752,  -752,   821,  -752,
1599 >    -752,  -752,  -752,   488,  -752,  -752,  -752,  -752,  -752,  -194,
1600 >    -752,  -752,  -752,   516,  -752,  -752,  -752,  -752,  -186,  -752,
1601 >    -752,  -752,   826,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1602 >    -752,  -752,  -752,  -752,  -152,  -752,  -752,  -752,  -752,  -752,
1603 >    -752,  -752,  -752,   671,  -752,  -752,  -752,  -752,  -752,   893,
1604 >    -752,  -752,  -752,  -752,  1040,  -752,  -752,  -752,  -752,   816,
1605 >    -752,  -752,  -752,  -752,   999,  -752,  -752,  -752,  -752,  -752,
1606 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1607 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1608 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1609 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1610 >    -752,    30,  -752,  -752,  -752,    35,  -752,  -752,  -752,  -752,
1611 >    -752,  1062,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
1612 >    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  1000,  -752,
1613 >    -752,  -752,  -752,  -752,  -752,  -752,  -752
1614   };
1615  
1616    /* YYDEFGOTO[NTERM-NUM].  */
1617   static const yytype_int16 yydefgoto[] =
1618   {
1619 <      -1,     1,    25,   816,   817,  1073,  1074,    26,   222,   223,
1620 <     224,   225,    27,   266,   267,   268,   269,   777,   778,   781,
1621 <     782,   270,   271,   272,   273,   274,   275,   276,   277,   278,
1622 <     279,   280,   281,   282,   283,   284,    28,    74,    75,    76,
1623 <      77,    78,    29,    61,   498,   499,   500,   501,    30,   288,
1624 <     289,   290,   291,   292,  1036,  1037,  1038,  1039,  1040,  1211,
1625 <    1282,  1283,    31,    62,   513,   514,   515,   516,   517,   518,
1626 <     519,   520,   521,   522,   523,   743,  1187,  1188,   524,   737,
1627 <    1159,  1160,    32,    51,   336,   337,   338,   339,   340,   341,
1628 <     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
1629 <     352,   353,   610,  1058,  1059,    33,    59,   484,   722,  1129,
1630 <    1130,   485,   486,   487,  1133,   978,   979,   488,   489,    34,
1631 <      57,   462,   463,   464,   465,   466,   467,   468,   707,  1115,
1632 <    1116,   469,   470,   471,    35,    63,   529,   530,   531,   532,
1633 <     533,    36,   295,   296,   297,    37,    69,   583,   584,   585,
1634 <     586,   587,   798,  1225,  1226,    38,    66,   567,   568,   569,
1635 <     570,   788,  1206,  1207,    39,    52,   369,   370,   371,   372,
1636 <     373,   374,   375,   376,   377,   378,   379,   632,  1086,  1087,
1637 <     380,   381,   382,   383,   384,    40,    58,   475,   476,   477,
1638 <     478,    41,    53,   388,   389,   390,   391,    42,   111,   112,
1639 <     113,    43,    55,   398,   399,   400,   401,    44,   165,   166,
1640 <     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1641 <     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1642 <     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1643 <     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1644 <     207,   208,   209,   210,   211,   431,   939,   940,   212,   429,
1645 <     915,   916,   213,   214,   215,    45,    92,    93,    94,    95,
1646 <      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1647 <      46,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1648 <     247
1619 >      -1,     1,    26,   839,   840,  1102,  1103,    27,   227,   228,
1620 >     229,   230,    28,   271,   272,   273,   274,   275,   276,   277,
1621 >     278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
1622 >     288,   289,    29,    77,    78,    79,    80,    81,    30,    63,
1623 >     507,   508,   509,   510,    31,    70,   590,   591,   592,   593,
1624 >     594,   595,    32,   293,   294,   295,   296,   297,  1059,  1060,
1625 >    1061,  1062,  1063,  1239,  1314,  1315,    33,    64,   522,   523,
1626 >     524,   525,   526,   527,   528,   529,   530,   531,   532,   765,
1627 >    1217,  1218,   533,   759,  1188,  1189,    34,    53,   345,   346,
1628 >     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
1629 >     357,   358,   359,   360,   361,   362,   363,   632,  1086,  1087,
1630 >      35,    61,   493,   744,  1158,  1159,   494,   495,   496,  1162,
1631 >    1003,  1004,   497,   498,    36,    59,   471,   472,   473,   474,
1632 >     475,   476,   477,   729,  1144,  1145,   478,   479,   480,    37,
1633 >      65,   538,   539,   540,   541,   542,    38,   301,   302,   303,
1634 >      39,    72,   603,   604,   605,   606,   607,   821,  1257,  1258,
1635 >      40,    68,   576,   577,   578,   579,   804,  1234,  1235,    41,
1636 >      54,   379,   380,   381,   382,   383,   384,   385,   386,   387,
1637 >     388,   389,   655,  1115,  1116,   390,   391,   392,   393,   394,
1638 >      42,    60,   484,   485,   486,   487,    43,    55,   398,   399,
1639 >     400,   401,    44,   118,   119,   120,    45,    57,   408,   409,
1640 >     410,   411,    46,   171,   172,   173,   174,   175,   176,   177,
1641 >     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1642 >     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1643 >     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1644 >     208,   209,   210,   211,   212,   213,   214,   215,   216,   441,
1645 >     965,   966,   217,   439,   940,   941,   218,   219,   220,    47,
1646 >      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1647 >     107,   108,   109,   110,   111,   112,    48,   243,   244,   245,
1648 >     246,   247,   248,   249,   250,   251,   252
1649   };
1650  
1651    /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
# Line 1619 | Line 1653 | static const yytype_int16 yydefgoto[] =
1653       number is the opposite.  If YYTABLE_NINF, syntax error.  */
1654   static const yytype_int16 yytable[] =
1655   {
1656 <     841,   842,   597,   598,   599,   564,    49,   840,    70,   472,
1657 <     248,   109,   525,  1084,    79,   502,   229,  1056,  1022,   495,
1658 <     286,    50,  1023,   495,   293,   219,   479,  1032,   579,    47,
1659 <      48,   503,    71,  1126,   249,    80,    81,   395,  1024,    72,
1660 <     286,    82,  1025,    54,   230,    56,   526,   504,   525,   395,
1661 <      60,   472,   231,  1099,   293,  1101,  1228,  1100,  1032,  1102,
1662 <    1229,    64,   385,   579,   232,   233,   250,   234,   235,   236,
1663 <     385,   110,  1233,   251,   564,    65,  1234,   505,    83,    84,
1664 <     219,   480,   526,    67,    85,    86,   481,   527,   482,   237,
1665 <    1057,    87,    88,    89,   496,   252,   653,   654,   496,   253,
1666 <     775,   776,   565,  1254,   661,    73,    68,   254,   665,   115,
1667 <     255,   256,   506,   670,   116,   117,   673,    90,    91,   220,
1668 <     118,   294,   386,   527,  1033,   580,   683,   684,   119,   120,
1669 <     386,   109,   507,   473,   396,   121,   528,   696,   122,   123,
1670 <     699,   700,   257,   221,   124,   106,   396,   483,   508,   125,
1671 <     126,   294,   127,   128,   129,  1033,   130,   779,   780,   258,
1672 <     580,   397,   259,   131,   453,   509,   510,   132,   133,  1127,
1673 <     107,   565,   528,   397,   220,   473,   134,  1237,  1239,  1128,
1674 <     454,  1238,  1240,   108,   114,   135,   387,   260,   497,  -123,
1675 <     216,   110,   497,   136,   387,   137,   455,   138,   221,   139,
1676 <    1085,   140,   141,   217,  1247,   261,   262,   263,  1248,  -123,
1677 <     218,   226,  1249,   299,   142,   511,  1250,  1034,   227,   143,
1678 <     144,   145,   566,   146,   147,   148,   456,  1251,   149,   300,
1679 <     474,  1252,   264,   265,   760,   303,   512,   562,   393,   751,
1680 <     287,   317,   745,   542,  1035,   581,   732,   573,  1034,   582,
1681 <     228,   577,   493,   724,   150,   800,   490,  1258,  1105,   319,
1682 <     287,  1259,   151,   152,   153,   154,   155,   156,   688,   285,
1683 <     298,   689,   474,   320,   321,  1035,   650,   322,   717,  1106,
1684 <     581,   457,  1285,    70,   582,  1212,  1286,   544,  1107,   458,
1685 <     459,   566,   571,   479,   301,   157,   302,   644,  1070,  1071,
1686 <    1072,   789,   828,   845,   846,   690,   832,    71,   691,   835,
1687 <     460,   305,   306,   839,    72,  1108,  1230,  1231,  1232,   158,
1688 <     159,   323,   160,   161,   162,   575,   307,   354,   163,   355,
1689 <     308,   356,   309,   164,   310,   311,   451,  1273,   588,   324,
1690 <     325,   326,   327,   357,  1109,  1110,   328,   312,   480,   313,
1691 <     329,   314,  1111,   481,   453,   482,   330,   315,   316,   358,
1692 <     592,   392,   402,   403,  1274,   404,  1275,   331,   332,   405,
1693 <     454,   406,   407,   408,   409,   596,   410,  1112,   411,   333,
1694 <      73,   412,   359,   413,   360,   461,   455,   414,   415,   361,
1695 <     416,   713,   417,  1113,   418,   419,   420,   840,   421,   362,
1696 <     422,   334,   809,   810,   811,   812,   813,   814,   815,   248,
1697 <     423,  1276,   424,   425,   483,   115,   456,   426,   427,   428,
1698 <     116,   117,   430,   432,   363,   433,   118,   434,  1277,   435,
1699 <     436,   437,   438,   249,   119,   120,   439,   440,   441,   442,
1700 <     335,   121,   443,   444,   122,   123,   445,   446,   364,   447,
1701 <     124,   448,   449,   450,  1114,   125,   126,   491,   127,   128,
1702 <     129,   492,   130,  1278,  1279,   250,   534,   535,   365,   131,
1703 <     536,   457,   251,   132,   133,   589,   537,   366,   538,   458,
1704 <     459,   539,   134,   540,   541,   545,   623,   546,   590,   547,
1705 <     548,   135,   549,   550,   252,   551,   552,   591,   253,   136,
1706 <     460,   137,   553,   138,   229,   139,   254,   140,   141,   255,
1707 <     256,  1046,  1047,  1048,  1049,  1050,  1051,  1052,   554,  1280,
1708 <     142,   555,   367,  1281,   556,   143,   144,   145,  1138,   146,
1709 <     147,   148,   230,   557,   149,   558,   559,   560,   561,   572,
1710 <     231,   257,  1139,   576,   593,   594,   595,   502,   596,   368,
1711 <    1140,   600,   232,   233,   640,   234,   235,   236,   258,   601,
1712 <     150,   259,   602,   503,  1141,   603,   604,   605,   151,   152,
1713 <     153,   154,   155,   156,   606,   461,   607,   237,   354,   504,
1714 <     355,   608,   356,   646,   609,   652,   260,   611,   612,  1255,
1715 <     613,  1142,   614,  1143,   357,   656,   615,   616,   617,   618,
1716 <     619,   157,   620,   621,   261,   262,   263,   622,   625,   505,
1717 <     358,   655,   626,   627,   628,   629,   630,   631,   633,  1144,
1718 <     634,   635,   636,   637,   638,   158,   159,   639,   160,   161,
1719 <     162,   264,   265,   359,   163,   360,   642,   643,   647,   164,
1720 <     361,   657,   648,   649,   506,   658,   659,   660,   663,   662,
1721 <     362,   664,  1145,  1196,  1146,   666,   667,   668,   669,   671,
1722 <     672,   674,   675,   676,   507,   677,   678,   680,   682,   685,
1723 <     765,   679,   681,  1147,   686,   363,   687,   692,   693,   694,
1724 <     508,   695,   697,   698,   701,   702,   726,   727,   703,   704,
1725 <     756,  1148,   762,   705,   764,   706,  1149,   509,   510,   364,
1726 <    1150,   708,   766,   753,   754,  1151,   709,   710,  1152,   711,
1727 <     712,   715,   716,  1153,   720,  1197,   719,     2,     3,   365,
1728 <     721,     4,   723,   728,   319,   729,   767,  1154,   366,   730,
1729 <    1155,     5,  1156,   894,     6,     7,   731,   734,   320,   321,
1730 <     747,     8,   322,  1157,  1198,   735,   736,   511,   738,   739,
1731 <    1158,  1199,     9,   761,   755,    10,    11,   740,   741,   742,
1732 <    1200,   744,   748,   749,   750,   768,   757,   769,   512,   758,
1733 <     759,   763,   770,   367,   771,   772,   773,   774,   783,    12,
1734 <     784,   794,   826,   791,    13,   827,   323,  1201,   830,  1202,
1735 <    1203,   831,    14,   785,   793,   786,   918,   792,   833,   834,
1736 <     368,   795,   787,  1204,   324,   325,   326,   327,   796,   797,
1737 <    1205,   328,   799,    15,    16,   329,   802,   803,   804,   805,
1738 <     806,   330,   807,   808,   818,   819,   820,   821,   822,   823,
1739 <     836,    17,   331,   332,   824,   825,   829,   837,  1215,  1166,
1740 <     838,   840,   843,   844,   333,   895,   896,   897,    18,   898,
1741 <     899,   847,   900,   901,   849,   902,   848,   903,   850,   851,
1742 <     904,    19,    20,   905,   906,   907,   334,   908,   852,   853,
1743 <     854,   855,   909,   856,   857,   858,   910,   911,   912,   860,
1744 <     859,    21,   861,   862,   864,   563,   913,   863,   865,   866,
1745 <     867,   914,   868,   869,    22,   963,   870,   871,   872,   873,
1746 <    1216,   966,   874,    23,   977,   335,   875,    24,   919,   920,
1747 <     921,   962,   922,   923,   876,   924,   925,   965,   926,   877,
1748 <     927,   878,   879,   928,   880,   881,   929,   930,   931,  1217,
1749 <     932,   882,   883,   884,   967,   933,  1218,   885,   886,   934,
1750 <     935,   936,   887,   888,   964,  1219,   889,   968,   890,   937,
1751 <     969,  1167,  1168,  1169,   938,  1170,  1171,   891,  1172,  1173,
1752 <     971,  1174,   972,  1175,    79,   892,  1176,   893,   917,  1177,
1753 <    1178,  1179,  1220,  1180,  1221,  1222,   941,   974,  1181,   975,
1754 <     942,   943,  1182,  1183,  1184,    80,    81,   944,  1223,   983,
1755 <     945,    82,  1185,   946,   947,  1224,   984,  1186,   948,   949,
1756 <     950,   951,   952,   953,   954,   955,   956,   957,   958,   959,
1757 <     960,   961,   970,   973,   986,   987,   980,   976,   981,   982,
1758 <     989,   990,   985,   991,   992,   993,   995,   988,    83,    84,
1759 <     994,   996,   997,   998,    85,    86,   999,  1000,  1028,  1001,
1760 <    1002,    87,    88,    89,  1003,  1004,  1005,  1006,  1007,  1008,
1761 <    1009,  1042,  1010,  1011,  1044,  1012,  1013,  1014,  1015,  1016,
1762 <    1017,  1018,  1019,  1020,  1241,  1021,  1253,    90,    91,  1026,
1763 <    1027,  1029,  1030,  1031,  1041,  1132,  1045,  1053,  1043,  1054,
1764 <    1055,  1209,  1060,  1264,  1061,  1062,  1063,  1064,  1065,  1066,
1765 <    1067,  1068,  1069,  1265,  1075,  1076,  1077,  1078,  1079,  1080,
1766 <    1266,  1081,  1082,  1083,  1088,  1089,  1090,  1091,  1092,  1093,
1767 <    1094,  1095,  1096,  1097,  1098,  1103,  1104,  1117,  1194,  1118,
1768 <    1119,  1120,  1121,  1122,  1131,   304,  1123,  1213,   733,  1124,
1769 <    1193,  1125,  1134,  1135,  1287,  1136,   746,  1268,  1137,  1161,
1770 <    1267,  1162,   624,  1163,  1164,  1165,  1189,  1190,  1191,  1192,
1771 <    1195,  1208,  1260,  1214,  1227,  1210,  1243,   494,  1263,  1262,
1772 <    1242,  1257,  1244,   725,  1245,  1246,  1256,  1270,  1271,  1272,
1773 <     714,   801,   752,  1284,  1269,   718,   790,   641,  1261,   394,
1774 <     452,   318,  1236,  1235,   543,     0,   645,     0,     0,     0,
1775 <       0,     0,     0,     0,     0,     0,     0,   651,     0,     0,
1656 >     867,   868,   617,   866,   619,  1113,   621,   622,   504,   534,
1657 >     395,    51,  1084,   291,   116,   116,   122,   291,   299,   711,
1658 >      52,   123,   124,   712,   125,   126,   488,   488,    56,   127,
1659 >     395,    58,  1055,    49,    50,   481,    62,   128,   129,   713,
1660 >      73,   504,  1155,   714,   130,   535,   224,   131,    66,   585,
1661 >     871,   872,   573,   132,   405,   299,   253,    67,   133,   134,
1662 >    1128,   135,   136,   137,  1129,   138,    74,  1130,  1055,   599,
1663 >    1260,  1131,   305,    75,  1261,    69,   396,   481,   139,   140,
1664 >     117,   117,   254,   405,    71,   489,   489,  1085,   599,   141,
1665 >     505,   536,   490,   490,   491,   491,   396,   113,   114,   142,
1666 >     676,  1286,   678,   679,   115,   121,   143,  1265,   144,   685,
1667 >     145,  1266,   146,   689,   147,   148,   255,   693,   234,   221,
1668 >     696,   300,   573,   505,   222,   256,   306,   149,   223,   231,
1669 >     706,   707,   150,   151,   152,  1056,   153,   154,   155,   537,
1670 >     397,   156,   720,    76,   722,   723,   225,   257,   235,   232,
1671 >     233,   258,   586,   492,   492,   574,   236,   406,   300,   259,
1672 >     397,   290,   260,   261,   298,   482,   304,   157,   237,   238,
1673 >     226,  1056,   600,   239,   240,   241,   307,   158,   159,   160,
1674 >     161,   162,   163,   164,   407,   327,   406,   506,  1156,  1269,
1675 >     308,   600,  -129,  1270,   262,  1271,  -129,  1157,   242,  1272,
1676 >    1279,   328,   329,  1114,  1280,   330,   311,   482,   312,   313,
1677 >     224,   263,   462,   407,   264,   265,   266,  1099,  1100,  1101,
1678 >     506,   587,   314,  1281,   364,   574,   365,  1282,   366,   511,
1679 >     463,    82,   534,  1057,   165,   166,   167,   782,   168,   169,
1680 >     588,   292,   367,   267,   773,   292,   464,   512,   170,   403,
1681 >     584,   460,   582,   331,    83,    84,   589,  1058,   368,   315,
1682 >      85,   746,   268,   513,   483,   667,   316,  1240,   535,  1057,
1683 >     332,   333,   334,   335,   336,   309,   754,   575,   337,   317,
1684 >     465,   502,   338,   369,   815,   370,   269,   270,   339,   673,
1685 >     597,   571,   371,  1058,   601,    86,    87,   514,   602,   340,
1686 >     341,    88,    89,   372,   823,    73,   483,    90,    91,    92,
1687 >     225,   342,   739,   601,   536,    93,    94,   602,   853,   318,
1688 >     866,  1283,   319,   858,  1290,  1284,   861,   373,  1291,   320,
1689 >     865,    74,   515,   343,   226,   466,   321,   322,    75,   323,
1690 >      95,    96,  1317,   467,   468,  1167,  1318,   575,  1262,  1263,
1691 >    1264,   374,   516,   551,   324,   608,   402,   805,   412,   499,
1692 >     413,  1168,   537,   414,   469,   415,   416,   417,   517,  1169,
1693 >     418,   375,   419,   420,   421,   422,   423,   424,   344,   425,
1694 >     376,   585,   122,  1170,   426,   518,   519,   123,   124,   427,
1695 >     125,   126,   428,   429,   430,   127,  1074,  1075,  1076,  1077,
1696 >    1078,  1079,  1080,   128,   129,   431,   432,   433,    76,   434,
1697 >     130,   435,   436,   131,  1171,   437,  1172,   511,   438,   132,
1698 >     646,   440,   253,   442,   133,   134,   443,   135,   136,   137,
1699 >     377,   138,   444,   445,   446,   512,   447,   520,   448,   449,
1700 >    1134,   470,  1173,   450,   139,   140,   451,   735,   254,   612,
1701 >     452,   513,   453,   454,   378,   141,   455,   456,   521,   663,
1702 >    1224,  1135,   457,   458,   767,   142,   325,   459,   609,   553,
1703 >    1136,   500,   143,   501,   144,  1174,   145,  1175,   146,   543,
1704 >     147,   148,   255,   544,   586,   514,   545,   546,   547,   548,
1705 >     549,   256,   550,   149,   554,   555,  1176,   556,   150,   151,
1706 >     152,  1137,   153,   154,   155,   557,   558,   156,   364,   559,
1707 >     365,   560,   366,   257,   561,   562,   462,   258,  1177,   563,
1708 >     515,   564,  1225,  1178,   565,   259,   367,  1179,   260,   261,
1709 >    1138,  1139,  1180,   157,   463,   566,   567,  1181,  1140,   568,
1710 >     516,  1182,   368,   158,   159,   160,   161,   162,   163,   164,
1711 >     464,   569,  1183,   587,  1226,  1184,   517,  1185,   570,   580,
1712 >     262,   581,  1227,  1141,   596,   610,   611,   369,  1186,   370,
1713 >     613,  1228,   588,   518,   519,  1187,   371,   263,   614,  1142,
1714 >     264,   265,   266,   615,   465,   616,   618,   372,   589,  1305,
1715 >     620,   623,   624,   625,  1287,   626,  1229,   627,  1230,  1231,
1716 >     165,   166,   167,   628,   168,   169,   648,   327,   629,   267,
1717 >     630,   373,  1232,   669,   170,   675,   631,     2,     3,  1233,
1718 >    1306,     4,  1307,   328,   329,   520,   633,   330,   268,   634,
1719 >     635,   636,   637,     5,   638,   374,     6,     7,   639,   466,
1720 >    1247,   640,  1143,     8,   641,   642,   521,   467,   468,   616,
1721 >     643,   644,   269,   270,     9,   375,   645,    10,    11,   677,
1722 >     649,   650,   651,   681,   376,   652,   653,  1308,   469,   654,
1723 >     656,   657,   658,   659,   670,   331,   832,   833,   834,   835,
1724 >     836,   837,   838,   660,  1309,    12,   661,   662,    82,   665,
1725 >      13,   666,   332,   333,   334,   335,   336,   671,   672,    14,
1726 >     337,   680,  1248,   943,   338,   944,   945,   682,   683,   684,
1727 >     339,    83,    84,   686,   377,   687,   688,    85,   690,    15,
1728 >      16,   340,   341,  1310,  1311,   694,   691,   692,   695,   697,
1729 >     698,   701,   234,   342,  1249,   699,   700,    17,   378,   702,
1730 >     703,   704,  1250,   705,  1195,   470,  1196,  1197,   708,   709,
1731 >     710,  1251,    86,    87,    18,   343,   715,   716,    88,    89,
1732 >     717,   718,   235,   719,    90,    91,    92,    19,    20,   721,
1733 >     236,   724,    93,    94,   727,   725,  1252,  1312,  1253,  1254,
1734 >     748,  1313,   237,   238,   728,   920,   730,   239,   240,   241,
1735 >     726,    21,  1255,   749,   731,   732,   733,    95,    96,  1256,
1736 >     344,   734,   737,   741,    22,   738,   778,   742,   743,   745,
1737 >      23,   750,   242,   751,   784,    24,   787,   752,    25,   753,
1738 >     756,   757,   946,   947,   948,   758,   760,   949,   950,   761,
1739 >     951,   952,   769,   953,   762,   954,   763,   764,   955,   786,
1740 >     788,   956,   957,   766,   775,   770,   771,   958,   772,   776,
1741 >     777,   959,   779,   780,   781,   960,   961,   962,   783,   785,
1742 >     801,   789,   963,  1198,  1199,  1200,   790,   964,  1201,  1202,
1743 >     791,  1203,  1204,   792,  1205,   793,  1206,   794,   795,  1207,
1744 >     796,   797,  1208,  1209,   798,   799,   800,   807,  1210,   802,
1745 >     808,   803,  1211,   809,   810,   811,  1212,  1213,  1214,   812,
1746 >     813,   814,   817,  1215,   921,   922,   923,   818,  1216,   924,
1747 >     925,   819,   926,   927,   825,   928,   820,   929,   822,   826,
1748 >     930,   827,   851,   931,   932,   828,   829,   830,   852,   933,
1749 >     831,   841,   842,   934,   843,   844,   845,   935,   936,   937,
1750 >     846,   847,   848,   849,   938,   855,   850,   854,   856,   939,
1751 >     857,   859,   860,   862,   863,   864,   866,   869,   870,   873,
1752 >     874,   875,   876,   877,   878,   880,   989,   991,   879,  1161,
1753 >     885,   888,   881,   882,   883,   884,   886,   887,   889,   890,
1754 >     892,   891,   893,   987,   990,   894,   992,   895,   896,   897,
1755 >     993,   994,   996,   898,   899,   900,   901,   902,   903,   904,
1756 >     905,   906,   997,   907,   908,   909,   910,   911,   999,   912,
1757 >     913,   914,   915,   916,   917,   918,   919,   942,   967,   968,
1758 >     969,   970,   971,   972,   973,   974,   975,   976,   977,   978,
1759 >     979,   980,   981,   982,   983,   984,   985,   986,   988,   995,
1760 >     998,  1000,  1002,  1008,  1001,  1005,  1006,  1007,  1009,  1011,
1761 >    1010,  1013,  1014,  1015,  1016,  1017,  1019,  1021,  1020,  1022,
1762 >    1023,  1024,  1025,  1026,  1051,  1064,  1065,  1012,  1066,  1067,
1763 >    1070,  1072,   310,   755,  1018,   816,  1319,  1241,   572,  1300,
1764 >    1299,   768,  1295,   647,  1292,  1294,   747,  1274,   774,  1285,
1765 >     736,   824,   806,  1027,  1028,  1029,   583,  1316,  1301,  1030,
1766 >    1031,  1032,  1033,  1034,  1035,  1036,  1037,  1038,  1273,  1039,
1767 >    1040,  1041,  1042,  1043,  1293,  1044,  1045,  1046,  1047,  1048,
1768 >    1049,  1050,   598,  1053,  1054,  1052,  1068,  1069,  1071,  1073,
1769 >    1081,  1082,  1083,  1088,  1089,  1090,  1091,  1092,  1093,  1094,
1770 >    1095,  1096,  1097,  1098,  1104,  1105,  1106,  1296,  1107,  1297,
1771 >    1108,  1109,  1110,  1111,  1298,   740,  1112,  1117,   404,   326,
1772 >       0,  1268,  1118,     0,  1267,     0,     0,     0,  1119,  1120,
1773 >     461,     0,     0,  1121,     0,     0,     0,     0,  1122,  1123,
1774 >    1124,  1125,  1126,  1127,  1132,  1133,  1146,  1147,  1148,  1149,
1775 >    1150,  1151,  1152,  1153,  1154,  1160,  1163,  1164,  1165,  1166,
1776 >    1190,  1191,  1192,  1193,  1194,   664,  1219,  1220,  1221,  1222,
1777 >    1223,  1236,     0,     0,  1242,  1237,  1238,  1243,  1244,  1245,
1778 >    1246,  1259,  1275,   503,   674,     0,  1289,  1302,  1276,  1277,
1779 >    1278,  1288,  1303,  1304,     0,     0,     0,     0,     0,     0,
1780 >       0,     0,     0,   552,     0,     0,     0,     0,     0,     0,
1781 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1782 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1783         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1784         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1785 <       0,     0,     0,     0,     0,   574,     0,     0,     0,     0,
1745 <       0,     0,     0,   578
1785 >       0,   668
1786   };
1787  
1788   static const yytype_int16 yycheck[] =
1789   {
1790 <     621,   622,   309,   310,   311,     1,   229,   108,     1,     1,
1791 <       1,     1,     1,     8,     1,     1,     1,    51,   227,     1,
1792 <       1,   229,   231,     1,     1,     1,     1,     1,     1,   227,
1793 <     228,    17,    25,    49,    25,    22,    23,     1,   227,    32,
1794 <       1,    28,   231,   229,    29,   229,    35,    33,     1,     1,
1795 <     229,     1,    37,   227,     1,   227,   227,   231,     1,   231,
1796 <     231,   229,     1,     1,    49,    50,    57,    52,    53,    54,
1797 <       1,    61,   227,    64,     1,   229,   231,    63,    65,    66,
1798 <       1,    56,    35,   229,    71,    72,    61,    76,    63,    74,
1799 <     124,    78,    79,    80,    76,    86,   403,   404,    76,    90,
1800 <     199,   200,    98,   204,   411,    98,   229,    98,   415,     1,
1801 <     101,   102,    98,   420,     6,     7,   423,   104,   105,    95,
1802 <      12,    98,    61,    76,    98,    98,   433,   434,    20,    21,
1803 <      61,     1,   118,   125,    98,    27,   125,   444,    30,    31,
1804 <     447,   448,   133,   119,    36,   229,    98,   122,   134,    41,
1805 <      42,    98,    44,    45,    46,    98,    48,   199,   200,   150,
1806 <      98,   125,   153,    55,     1,   151,   152,    59,    60,   185,
1807 <     229,    98,   125,   125,    95,   125,    68,   227,   227,   195,
1808 <      17,   231,   231,   229,   229,    77,   125,   178,   170,   170,
1809 <     229,    61,   170,    85,   125,    87,    33,    89,   119,    91,
1810 <     195,    93,    94,   229,   227,   196,   197,   198,   231,   170,
1811 <     229,   229,   227,   227,   106,   201,   231,   191,   229,   111,
1812 <     112,   113,   218,   115,   116,   117,    63,   227,   120,   230,
1813 <     222,   231,   223,   224,   541,   228,   222,   228,   228,   228,
1814 <     221,   228,   228,   228,   218,   218,   228,   228,   191,   222,
1815 <     229,   228,   228,   228,   146,   228,   227,   227,    13,     1,
1816 <     221,   231,   154,   155,   156,   157,   158,   159,   210,   229,
1817 <     229,   213,   222,    15,    16,   218,   228,    19,   228,    34,
1818 <     218,   118,   227,     1,   222,   228,   231,   227,    43,   126,
1819 <     127,   218,   227,     1,   230,   187,   230,   228,     9,    10,
1820 <      11,   228,   609,   174,   175,   210,   613,    25,   213,   616,
1821 <     147,   230,   230,   620,    32,    70,  1070,  1071,  1072,   211,
1822 <     212,    63,   214,   215,   216,   170,   230,     1,   220,     3,
1823 <     230,     5,   230,   225,   230,   230,   228,    40,   123,    81,
1824 <      82,    83,    84,    17,    99,   100,    88,   230,    56,   230,
1825 <      92,   230,   107,    61,     1,    63,    98,   230,   230,    33,
1826 <     108,   230,   230,   230,    67,   230,    69,   109,   110,   230,
1827 <      17,   230,   230,   230,   230,   108,   230,   132,   230,   121,
1828 <      98,   230,    56,   230,    58,   222,    33,   230,   230,    63,
1829 <     230,   228,   230,   148,   230,   230,   230,   108,   230,    73,
1830 <     230,   143,   135,   136,   137,   138,   139,   140,   141,     1,
1831 <     230,   114,   230,   230,   122,     1,    63,   230,   230,   230,
1832 <       6,     7,   230,   230,    98,   230,    12,   230,   131,   230,
1833 <     230,   230,   230,    25,    20,    21,   230,   230,   230,   230,
1834 <     182,    27,   230,   230,    30,    31,   230,   230,   122,   230,
1835 <      36,   230,   230,   230,   209,    41,    42,   230,    44,    45,
1836 <      46,   230,    48,   166,   167,    57,   230,   230,   142,    55,
1837 <     230,   118,    64,    59,    60,   123,   230,   151,   230,   126,
1838 <     127,   230,    68,   230,   230,   230,   228,   230,   123,   230,
1839 <     230,    77,   230,   230,    86,   230,   230,   227,    90,    85,
1840 <     147,    87,   230,    89,     1,    91,    98,    93,    94,   101,
1841 <     102,   809,   810,   811,   812,   813,   814,   815,   230,   222,
1842 <     106,   230,   196,   226,   230,   111,   112,   113,     4,   115,
1843 <     116,   117,    29,   230,   120,   230,   230,   230,   230,   230,
1844 <      37,   133,    18,   230,   108,   210,   108,     1,   108,   223,
1845 <      26,   108,    49,    50,   228,    52,    53,    54,   150,   108,
1846 <     146,   153,   108,    17,    40,   210,   210,   227,   154,   155,
1847 <     156,   157,   158,   159,   227,   222,   230,    74,     1,    33,
1848 <       3,   230,     5,   123,   230,   210,   178,   230,   230,  1210,
1849 <     230,    67,   230,    69,    17,   108,   230,   230,   230,   230,
1850 <     230,   187,   230,   230,   196,   197,   198,   230,   227,    63,
1851 <      33,   210,   230,   230,   230,   230,   230,   230,   230,    95,
1852 <     230,   230,   230,   230,   230,   211,   212,   230,   214,   215,
1853 <     216,   223,   224,    56,   220,    58,   230,   230,   227,   225,
1854 <      63,   210,   230,   230,    98,   108,   123,   210,   108,   210,
1855 <      73,   108,   128,    69,   130,   108,   210,   210,   210,   108,
1856 <     108,   108,   108,   108,   118,   108,   210,   210,   210,   210,
1857 <     108,   230,   230,   149,   210,    98,   210,   210,   210,   210,
1858 <     134,   123,   210,   210,   210,   210,   123,   123,   227,   227,
1859 <     123,   167,   123,   230,   123,   230,   172,   151,   152,   122,
1860 <     176,   230,   108,   210,   210,   181,   230,   230,   184,   230,
1861 <     230,   230,   230,   189,   230,   131,   227,     0,     1,   142,
1862 <     230,     4,   230,   227,     1,   227,   123,   203,   151,   230,
1863 <     206,    14,   208,    49,    17,    18,   230,   227,    15,    16,
1864 <     227,    24,    19,   219,   160,   230,   230,   201,   230,   230,
1865 <     226,   167,    35,   227,   210,    38,    39,   230,   230,   230,
1866 <     176,   230,   230,   230,   230,   123,   210,   123,   222,   210,
1867 <     210,   210,   123,   196,   123,   123,   108,   123,   123,    62,
1868 <     123,   123,   108,   210,    67,   108,    63,   203,   108,   205,
1869 <     206,   108,    75,   227,   229,   227,    49,   227,   108,   108,
1870 <     223,   227,   230,   219,    81,    82,    83,    84,   227,   230,
1871 <     226,    88,   230,    96,    97,    92,   227,   227,   227,   227,
1872 <     227,    98,   227,   227,   227,   227,   227,   227,   227,   227,
1873 <     123,   114,   109,   110,   227,   227,   230,   108,    69,    49,
1874 <     108,   108,   227,   123,   121,   161,   162,   163,   131,   165,
1875 <     166,   123,   168,   169,   123,   171,   210,   173,   123,   230,
1876 <     176,   144,   145,   179,   180,   181,   143,   183,   123,   123,
1877 <     108,   123,   188,   123,   123,   123,   192,   193,   194,   123,
1878 <     227,   164,   123,   227,   123,   266,   202,   227,   123,   227,
1879 <     227,   207,   227,   227,   177,   210,   227,   227,   227,   227,
1880 <     131,   108,   227,   186,   108,   182,   227,   190,   161,   162,
1881 <     163,   123,   165,   166,   227,   168,   169,   123,   171,   227,
1882 <     173,   227,   227,   176,   227,   227,   179,   180,   181,   160,
1883 <     183,   227,   227,   227,   123,   188,   167,   227,   227,   192,
1884 <     193,   194,   227,   227,   230,   176,   227,   123,   227,   202,
1885 <     123,   161,   162,   163,   207,   165,   166,   227,   168,   169,
1886 <     123,   171,   123,   173,     1,   227,   176,   227,   227,   179,
1887 <     180,   181,   203,   183,   205,   206,   227,   123,   188,   123,
1888 <     227,   227,   192,   193,   194,    22,    23,   227,   219,   123,
1889 <     227,    28,   202,   227,   227,   226,   123,   207,   227,   227,
1890 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1891 <     227,   227,   227,   227,   123,   210,   227,   230,   227,   227,
1892 <     123,   123,   227,   123,   123,   210,   123,   230,    65,    66,
1893 <     230,   227,   123,   123,    71,    72,   123,   227,   123,   227,
1894 <     227,    78,    79,    80,   227,   227,   227,   227,   227,   227,
1895 <     227,   123,   227,   227,   123,   227,   227,   227,   227,   227,
1896 <     227,   227,   227,   227,   108,   227,   123,   104,   105,   227,
1897 <     227,   230,   227,   227,   227,   231,   227,   227,   230,   227,
1898 <     227,   230,   227,   129,   227,   227,   227,   227,   227,   227,
1899 <     227,   227,   227,   129,   227,   227,   227,   227,   227,   227,
1900 <     129,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1901 <     227,   227,   227,   227,   227,   227,   227,   227,  1025,   227,
1902 <     227,   227,   227,   227,   217,    74,   227,  1036,   498,   227,
1903 <    1023,   227,   227,   227,  1286,   227,   513,  1250,   227,   227,
1904 <    1248,   227,   336,   227,   227,   227,   227,   227,   227,   227,
1905 <     227,   227,  1229,   227,   227,   230,   227,   222,  1240,  1238,
1906 <    1132,   227,   232,   485,   232,   232,   230,   227,   227,   227,
1907 <     462,   583,   529,  1259,  1252,   475,   567,   369,  1234,   111,
1908 <     165,    92,  1102,  1100,   238,    -1,   388,    -1,    -1,    -1,
1909 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,   398,    -1,    -1,
1790 >     644,   645,   315,   114,   317,     8,   319,   320,     1,     1,
1791 >       1,   237,    55,     1,     1,     1,     1,     1,     1,   218,
1792 >     237,     6,     7,   222,     9,    10,     1,     1,   237,    14,
1793 >       1,   237,     1,   235,   236,     1,   237,    22,    23,   218,
1794 >       1,     1,    51,   222,    29,    37,     1,    32,   237,     1,
1795 >     184,   185,     1,    38,     1,     1,     1,   237,    43,    44,
1796 >     235,    46,    47,    48,   239,    50,    27,   235,     1,     1,
1797 >     235,   239,   235,    34,   239,   237,    67,     1,    63,    64,
1798 >      67,    67,    27,     1,   237,    60,    60,   130,     1,    74,
1799 >      83,    83,    67,    67,    69,    69,    67,   237,   237,    84,
1800 >     413,   212,   415,   416,   237,   237,    91,   235,    93,   422,
1801 >      95,   239,    97,   426,    99,   100,    61,   430,     1,   237,
1802 >     433,   104,     1,    83,   237,    70,   238,   112,   237,   237,
1803 >     443,   444,   117,   118,   119,   104,   121,   122,   123,   131,
1804 >     131,   126,   455,   104,   457,   458,   101,    92,    31,   237,
1805 >     237,    96,   104,   128,   128,   104,    39,   104,   104,   104,
1806 >     131,   237,   107,   108,   237,   131,   237,   152,    51,    52,
1807 >     125,   104,   104,    56,    57,    58,   238,   162,   163,   164,
1808 >     165,   166,   167,   168,   131,     1,   104,   180,   197,   235,
1809 >     238,   104,   180,   239,   139,   235,   180,   206,    81,   239,
1810 >     235,    17,    18,   206,   239,    21,   238,   131,   238,   238,
1811 >       1,   156,     1,   131,   159,   160,   161,    11,    12,    13,
1812 >     180,   173,   238,   235,     1,   104,     3,   239,     5,     1,
1813 >      19,     1,     1,   202,   219,   220,   221,   550,   223,   224,
1814 >     192,   229,    19,   188,   236,   229,    35,    19,   233,   236,
1815 >     180,   236,   236,    69,    24,    25,   208,   226,    35,   238,
1816 >      30,   236,   207,    35,   230,   236,   238,   236,    37,   202,
1817 >      86,    87,    88,    89,    90,   236,   236,   226,    94,   238,
1818 >      69,   236,    98,    60,   236,    62,   231,   232,   104,   236,
1819 >     236,   236,    69,   226,   226,    65,    66,    69,   230,   115,
1820 >     116,    71,    72,    80,   236,     1,   230,    77,    78,    79,
1821 >     101,   127,   236,   226,    83,    85,    86,   230,   631,   238,
1822 >     114,   235,   238,   636,   235,   239,   639,   104,   239,   238,
1823 >     643,    27,   104,   149,   125,   124,   238,   238,    34,   238,
1824 >     110,   111,   235,   132,   133,     4,   239,   226,  1099,  1100,
1825 >    1101,   128,   124,   236,   238,   129,   238,   236,   238,   235,
1826 >     238,    20,   131,   238,   153,   238,   238,   238,   140,    28,
1827 >     238,   148,   238,   238,   238,   238,   238,   238,   194,   238,
1828 >     157,     1,     1,    42,   238,   157,   158,     6,     7,   238,
1829 >       9,    10,   238,   238,   238,    14,   832,   833,   834,   835,
1830 >     836,   837,   838,    22,    23,   238,   238,   238,   104,   238,
1831 >      29,   238,   238,    32,    73,   238,    75,     1,   238,    38,
1832 >     236,   238,     1,   238,    43,    44,   238,    46,    47,    48,
1833 >     207,    50,   238,   238,   238,    19,   238,   209,   238,   238,
1834 >      15,   230,   101,   238,    63,    64,   238,   236,    27,   114,
1835 >     238,    35,   238,   238,   231,    74,   238,   238,   230,   236,
1836 >      75,    36,   238,   238,   236,    84,   236,   238,   129,   235,
1837 >      45,   238,    91,   238,    93,   134,    95,   136,    97,   238,
1838 >      99,   100,    61,   238,   104,    69,   238,   238,   238,   238,
1839 >     238,    70,   238,   112,   238,   238,   155,   238,   117,   118,
1840 >     119,    76,   121,   122,   123,   238,   238,   126,     1,   238,
1841 >       3,   238,     5,    92,   238,   238,     1,    96,   177,   238,
1842 >     104,   238,   137,   182,   238,   104,    19,   186,   107,   108,
1843 >     105,   106,   191,   152,    19,   238,   238,   196,   113,   238,
1844 >     124,   200,    35,   162,   163,   164,   165,   166,   167,   168,
1845 >      35,   238,   211,   173,   169,   214,   140,   216,   238,   235,
1846 >     139,   238,   177,   138,   238,   129,   235,    60,   227,    62,
1847 >     114,   186,   192,   157,   158,   234,    69,   156,   218,   154,
1848 >     159,   160,   161,   114,    69,   114,   114,    80,   208,    42,
1849 >     114,   114,   114,   218,  1238,   218,   211,   235,   213,   214,
1850 >     219,   220,   221,   235,   223,   224,   235,     1,   238,   188,
1851 >     238,   104,   227,   129,   233,   218,   238,     0,     1,   234,
1852 >      73,     4,    75,    17,    18,   209,   238,    21,   207,   238,
1853 >     238,   238,   238,    16,   238,   128,    19,    20,   238,   124,
1854 >      75,   238,   217,    26,   238,   238,   230,   132,   133,   114,
1855 >     238,   238,   231,   232,    37,   148,   238,    40,    41,   114,
1856 >     238,   238,   238,   114,   157,   238,   238,   120,   153,   238,
1857 >     238,   238,   238,   238,   235,    69,   141,   142,   143,   144,
1858 >     145,   146,   147,   238,   137,    68,   238,   238,     1,   238,
1859 >      73,   238,    86,    87,    88,    89,    90,   238,   238,    82,
1860 >      94,   218,   137,    51,    98,    53,    54,   218,   114,   218,
1861 >     104,    24,    25,   218,   207,   114,   114,    30,   114,   102,
1862 >     103,   115,   116,   176,   177,   114,   218,   218,   114,   114,
1863 >     114,   218,     1,   127,   169,   114,   114,   120,   231,   238,
1864 >     218,   238,   177,   218,    51,   230,    53,    54,   218,   218,
1865 >     218,   186,    65,    66,   137,   149,   218,   218,    71,    72,
1866 >     218,   218,    31,   114,    77,    78,    79,   150,   151,   218,
1867 >      39,   218,    85,    86,   238,   235,   211,   230,   213,   214,
1868 >     129,   234,    51,    52,   238,    51,   238,    56,    57,    58,
1869 >     235,   174,   227,   129,   238,   238,   238,   110,   111,   234,
1870 >     194,   238,   238,   235,   187,   238,   129,   238,   238,   238,
1871 >     193,   235,    81,   235,   129,   198,   114,   238,   201,   238,
1872 >     235,   238,   170,   171,   172,   238,   238,   175,   176,   238,
1873 >     178,   179,   235,   181,   238,   183,   238,   238,   186,   129,
1874 >     114,   189,   190,   238,   218,   238,   238,   195,   238,   218,
1875 >     218,   199,   218,   218,   218,   203,   204,   205,   235,   218,
1876 >     235,   129,   210,   170,   171,   172,   129,   215,   175,   176,
1877 >     129,   178,   179,   129,   181,   129,   183,   129,   129,   186,
1878 >     129,   114,   189,   190,   129,   129,   129,   218,   195,   235,
1879 >     235,   238,   199,   237,   235,   238,   203,   204,   205,   238,
1880 >     238,   238,   129,   210,   170,   171,   172,   235,   215,   175,
1881 >     176,   235,   178,   179,   235,   181,   238,   183,   238,   235,
1882 >     186,   235,   114,   189,   190,   235,   235,   235,   114,   195,
1883 >     235,   235,   235,   199,   235,   235,   235,   203,   204,   205,
1884 >     235,   235,   235,   235,   210,   114,   235,   238,   114,   215,
1885 >     114,   114,   114,   129,   114,   114,   114,   235,   129,   129,
1886 >     218,   129,   129,   238,   129,   114,   238,   114,   129,   239,
1887 >     235,   235,   129,   129,   129,   129,   129,   129,   235,   129,
1888 >     235,   129,   235,   129,   129,   235,   129,   235,   235,   235,
1889 >     129,   129,   129,   235,   235,   235,   235,   235,   235,   235,
1890 >     235,   235,   129,   235,   235,   235,   235,   235,   129,   235,
1891 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
1892 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
1893 >     235,   235,   235,   235,   235,   235,   235,   235,   218,   235,
1894 >     235,   129,   114,   129,   238,   235,   235,   235,   129,   129,
1895 >     235,   238,   129,   129,   129,   129,   238,   235,   129,   129,
1896 >     129,   129,   235,   235,   129,   129,   129,   218,   129,   129,
1897 >     129,   129,    77,   507,   218,   590,  1318,  1059,   271,  1282,
1898 >    1280,   522,  1272,   345,  1261,  1270,   494,  1161,   538,   129,
1899 >     471,   603,   576,   235,   235,   235,   293,  1291,  1284,   235,
1900 >     235,   235,   235,   235,   235,   235,   235,   235,   114,   235,
1901 >     235,   235,   235,   235,  1266,   235,   235,   235,   235,   235,
1902 >     235,   235,   301,   235,   235,   238,   235,   235,   238,   235,
1903 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
1904 >     235,   235,   235,   235,   235,   235,   235,   135,   235,   135,
1905 >     235,   235,   235,   235,   135,   484,   235,   235,   118,    97,
1906 >      -1,  1131,   235,    -1,  1129,    -1,    -1,    -1,   235,   235,
1907 >     171,    -1,    -1,   235,    -1,    -1,    -1,    -1,   235,   235,
1908 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
1909 >     235,   235,   235,   235,   235,   225,   235,   235,   235,   235,
1910 >     235,   235,   235,   235,   235,   379,   235,   235,   235,   235,
1911 >     235,   235,    -1,    -1,   235,   238,   238,   235,   235,   235,
1912 >     235,   235,   235,   227,   408,    -1,   235,   235,   240,   240,
1913 >     240,   238,   235,   235,    -1,    -1,    -1,    -1,    -1,    -1,
1914 >      -1,    -1,    -1,   243,    -1,    -1,    -1,    -1,    -1,    -1,
1915 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1916 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1917        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1918        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1919 <      -1,    -1,    -1,    -1,    -1,   288,    -1,    -1,    -1,    -1,
1873 <      -1,    -1,    -1,   295
1919 >      -1,   398
1920   };
1921  
1922    /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1923       symbol of state STATE-NUM.  */
1924   static const yytype_uint16 yystos[] =
1925   {
1926 <       0,   234,     0,     1,     4,    14,    17,    18,    24,    35,
1927 <      38,    39,    62,    67,    75,    96,    97,   114,   131,   144,
1928 <     145,   164,   177,   186,   190,   235,   240,   245,   269,   275,
1929 <     281,   295,   315,   338,   352,   367,   374,   378,   388,   397,
1930 <     418,   424,   430,   434,   440,   498,   513,   227,   228,   229,
1931 <     229,   316,   398,   425,   229,   435,   229,   353,   419,   339,
1932 <     229,   276,   296,   368,   229,   229,   389,   229,   229,   379,
1933 <       1,    25,    32,    98,   270,   271,   272,   273,   274,     1,
1934 <      22,    23,    28,    65,    66,    71,    72,    78,    79,    80,
1935 <     104,   105,   499,   500,   501,   502,   503,   504,   505,   506,
1936 <     507,   508,   509,   510,   511,   512,   229,   229,   229,     1,
1937 <      61,   431,   432,   433,   229,     1,     6,     7,    12,    20,
1938 <      21,    27,    30,    31,    36,    41,    42,    44,    45,    46,
1939 <      48,    55,    59,    60,    68,    77,    85,    87,    89,    91,
1940 <      93,    94,   106,   111,   112,   113,   115,   116,   117,   120,
1941 <     146,   154,   155,   156,   157,   158,   159,   187,   211,   212,
1942 <     214,   215,   216,   220,   225,   441,   442,   443,   444,   445,
1943 <     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
1944 <     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
1945 <     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
1946 <     476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
1947 <     486,   487,   491,   495,   496,   497,   229,   229,   229,     1,
1948 <      95,   119,   241,   242,   243,   244,   229,   229,   229,     1,
1949 <      29,    37,    49,    50,    52,    53,    54,    74,   514,   515,
1950 <     516,   517,   518,   519,   520,   521,   522,   523,     1,    25,
1951 <      57,    64,    86,    90,    98,   101,   102,   133,   150,   153,
1952 <     178,   196,   197,   198,   223,   224,   246,   247,   248,   249,
1953 <     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1954 <     264,   265,   266,   267,   268,   229,     1,   221,   282,   283,
1955 <     284,   285,   286,     1,    98,   375,   376,   377,   229,   227,
1956 <     230,   230,   230,   228,   271,   230,   230,   230,   230,   230,
1957 <     230,   230,   230,   230,   230,   230,   230,   228,   500,     1,
1958 <      15,    16,    19,    63,    81,    82,    83,    84,    88,    92,
1959 <      98,   109,   110,   121,   143,   182,   317,   318,   319,   320,
1960 <     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
1961 <     331,   332,   333,   334,     1,     3,     5,    17,    33,    56,
1962 <      58,    63,    73,    98,   122,   142,   151,   196,   223,   399,
1963 <     400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
1964 <     413,   414,   415,   416,   417,     1,    61,   125,   426,   427,
1965 <     428,   429,   230,   228,   432,     1,    98,   125,   436,   437,
1966 <     438,   439,   230,   230,   230,   230,   230,   230,   230,   230,
1967 <     230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1968 <     230,   230,   230,   230,   230,   230,   230,   230,   230,   492,
1969 <     230,   488,   230,   230,   230,   230,   230,   230,   230,   230,
1970 <     230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1971 <     230,   228,   442,     1,    17,    33,    63,   118,   126,   127,
1972 <     147,   222,   354,   355,   356,   357,   358,   359,   360,   364,
1973 <     365,   366,     1,   125,   222,   420,   421,   422,   423,     1,
1974 <      56,    61,    63,   122,   340,   344,   345,   346,   350,   351,
1975 <     227,   230,   230,   228,   242,     1,    76,   170,   277,   278,
1976 <     279,   280,     1,    17,    33,    63,    98,   118,   134,   151,
1977 <     152,   201,   222,   297,   298,   299,   300,   301,   302,   303,
1978 <     304,   305,   306,   307,   311,     1,    35,    76,   125,   369,
1979 <     370,   371,   372,   373,   230,   230,   230,   230,   230,   230,
1980 <     230,   230,   228,   515,   227,   230,   230,   230,   230,   230,
1981 <     230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1982 <     230,   230,   228,   247,     1,    98,   218,   390,   391,   392,
1983 <     393,   227,   230,   228,   283,   170,   230,   228,   376,     1,
1984 <      98,   218,   222,   380,   381,   382,   383,   384,   123,   123,
1985 <     123,   227,   108,   108,   210,   108,   108,   237,   237,   237,
1986 <     108,   108,   108,   210,   210,   227,   227,   230,   230,   230,
1987 <     335,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1988 <     230,   230,   230,   228,   318,   227,   230,   230,   230,   230,
1989 <     230,   230,   410,   230,   230,   230,   230,   230,   230,   230,
1990 <     228,   400,   230,   230,   228,   427,   123,   227,   230,   230,
1991 <     228,   437,   210,   237,   237,   210,   108,   210,   108,   123,
1992 <     210,   237,   210,   108,   108,   237,   108,   210,   210,   210,
1993 <     237,   108,   108,   237,   108,   108,   108,   108,   210,   230,
1994 <     210,   230,   210,   237,   237,   210,   210,   210,   210,   213,
1995 <     210,   213,   210,   210,   210,   123,   237,   210,   210,   237,
1996 <     237,   210,   210,   227,   227,   230,   230,   361,   230,   230,
1997 <     230,   230,   230,   228,   355,   230,   230,   228,   421,   227,
1998 <     230,   230,   341,   230,   228,   345,   123,   123,   227,   227,
1999 <     230,   230,   228,   278,   227,   230,   230,   312,   230,   230,
2000 <     230,   230,   230,   308,   230,   228,   298,   227,   230,   230,
2001 <     230,   228,   370,   210,   210,   210,   123,   210,   210,   210,
2002 <     237,   227,   123,   210,   123,   108,   108,   123,   123,   123,
2003 <     123,   123,   123,   108,   123,   199,   200,   250,   251,   199,
2004 <     200,   252,   253,   123,   123,   227,   227,   230,   394,   228,
2005 <     391,   210,   227,   229,   123,   227,   227,   230,   385,   230,
2006 <     228,   381,   227,   227,   227,   227,   227,   227,   227,   135,
2007 <     136,   137,   138,   139,   140,   141,   236,   237,   227,   227,
2008 <     227,   227,   227,   227,   227,   227,   108,   108,   237,   230,
2009 <     108,   108,   237,   108,   108,   237,   123,   108,   108,   237,
2010 <     108,   239,   239,   227,   123,   174,   175,   123,   210,   123,
2011 <     123,   230,   123,   123,   108,   123,   123,   123,   123,   227,
2012 <     123,   123,   227,   227,   123,   123,   227,   227,   227,   227,
2013 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2014 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2015 <     227,   227,   227,   227,    49,   161,   162,   163,   165,   166,
2016 <     168,   169,   171,   173,   176,   179,   180,   181,   183,   188,
2017 <     192,   193,   194,   202,   207,   493,   494,   227,    49,   161,
2018 <     162,   163,   165,   166,   168,   169,   171,   173,   176,   179,
2019 <     180,   181,   183,   188,   192,   193,   194,   202,   207,   489,
2020 <     490,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2021 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2022 <     227,   227,   123,   210,   230,   123,   108,   123,   123,   123,
2023 <     227,   123,   123,   227,   123,   123,   230,   108,   348,   349,
2024 <     227,   227,   227,   123,   123,   227,   123,   210,   230,   123,
2025 <     123,   123,   123,   210,   230,   123,   227,   123,   123,   123,
2026 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2027 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2028 <     227,   227,   227,   231,   227,   231,   227,   227,   123,   230,
2029 <     227,   227,     1,    98,   191,   218,   287,   288,   289,   290,
2030 <     291,   227,   123,   230,   123,   227,   236,   236,   236,   236,
2031 <     236,   236,   236,   227,   227,   227,    51,   124,   336,   337,
2032 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2033 <       9,    10,    11,   238,   239,   227,   227,   227,   227,   227,
2034 <     227,   227,   227,   227,     8,   195,   411,   412,   227,   227,
2035 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2036 <     231,   227,   231,   227,   227,    13,    34,    43,    70,    99,
2037 <     100,   107,   132,   148,   209,   362,   363,   227,   227,   227,
2038 <     227,   227,   227,   227,   227,   227,    49,   185,   195,   342,
2039 <     343,   217,   231,   347,   227,   227,   227,   227,     4,    18,
2040 <      26,    40,    67,    69,    95,   128,   130,   149,   167,   172,
2041 <     176,   181,   184,   189,   203,   206,   208,   219,   226,   313,
2042 <     314,   227,   227,   227,   227,   227,    49,   161,   162,   163,
2043 <     165,   166,   168,   169,   171,   173,   176,   179,   180,   181,
2044 <     183,   188,   192,   193,   194,   202,   207,   309,   310,   227,
2045 <     227,   227,   227,   251,   253,   227,    69,   131,   160,   167,
2046 <     176,   203,   205,   206,   219,   226,   395,   396,   227,   230,
2047 <     230,   292,   228,   288,   227,    69,   131,   160,   167,   176,
2048 <     203,   205,   206,   219,   226,   386,   387,   227,   227,   231,
2049 <     238,   238,   238,   227,   231,   494,   490,   227,   231,   227,
2050 <     231,   108,   349,   227,   232,   232,   232,   227,   231,   227,
2051 <     231,   227,   231,   123,   204,   239,   230,   227,   227,   231,
2052 <     337,   412,   363,   343,   129,   129,   129,   314,   310,   396,
2053 <     227,   227,   227,    40,    67,    69,   114,   131,   166,   167,
2054 <     222,   226,   293,   294,   387,   227,   231,   294
1926 >       0,   242,     0,     1,     4,    16,    19,    20,    26,    37,
1927 >      40,    41,    68,    73,    82,   102,   103,   120,   137,   150,
1928 >     151,   174,   187,   193,   198,   201,   243,   248,   253,   273,
1929 >     279,   285,   293,   307,   327,   351,   365,   380,   387,   391,
1930 >     401,   410,   431,   437,   443,   447,   453,   510,   527,   235,
1931 >     236,   237,   237,   328,   411,   438,   237,   448,   237,   366,
1932 >     432,   352,   237,   280,   308,   381,   237,   237,   402,   237,
1933 >     286,   237,   392,     1,    27,    34,   104,   274,   275,   276,
1934 >     277,   278,     1,    24,    25,    30,    65,    66,    71,    72,
1935 >      77,    78,    79,    85,    86,   110,   111,   511,   512,   513,
1936 >     514,   515,   516,   517,   518,   519,   520,   521,   522,   523,
1937 >     524,   525,   526,   237,   237,   237,     1,    67,   444,   445,
1938 >     446,   237,     1,     6,     7,     9,    10,    14,    22,    23,
1939 >      29,    32,    38,    43,    44,    46,    47,    48,    50,    63,
1940 >      64,    74,    84,    91,    93,    95,    97,    99,   100,   112,
1941 >     117,   118,   119,   121,   122,   123,   126,   152,   162,   163,
1942 >     164,   165,   166,   167,   168,   219,   220,   221,   223,   224,
1943 >     233,   454,   455,   456,   457,   458,   459,   460,   461,   462,
1944 >     463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
1945 >     473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
1946 >     483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
1947 >     493,   494,   495,   496,   497,   498,   499,   503,   507,   508,
1948 >     509,   237,   237,   237,     1,   101,   125,   249,   250,   251,
1949 >     252,   237,   237,   237,     1,    31,    39,    51,    52,    56,
1950 >      57,    58,    81,   528,   529,   530,   531,   532,   533,   534,
1951 >     535,   536,   537,     1,    27,    61,    70,    92,    96,   104,
1952 >     107,   108,   139,   156,   159,   160,   161,   188,   207,   231,
1953 >     232,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1954 >     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
1955 >     237,     1,   229,   294,   295,   296,   297,   298,   237,     1,
1956 >     104,   388,   389,   390,   237,   235,   238,   238,   238,   236,
1957 >     275,   238,   238,   238,   238,   238,   238,   238,   238,   238,
1958 >     238,   238,   238,   238,   238,   236,   512,     1,    17,    18,
1959 >      21,    69,    86,    87,    88,    89,    90,    94,    98,   104,
1960 >     115,   116,   127,   149,   194,   329,   330,   331,   332,   333,
1961 >     334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
1962 >     344,   345,   346,   347,     1,     3,     5,    19,    35,    60,
1963 >      62,    69,    80,   104,   128,   148,   157,   207,   231,   412,
1964 >     413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
1965 >     426,   427,   428,   429,   430,     1,    67,   131,   439,   440,
1966 >     441,   442,   238,   236,   445,     1,   104,   131,   449,   450,
1967 >     451,   452,   238,   238,   238,   238,   238,   238,   238,   238,
1968 >     238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
1969 >     238,   238,   238,   238,   238,   238,   238,   238,   238,   504,
1970 >     238,   500,   238,   238,   238,   238,   238,   238,   238,   238,
1971 >     238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
1972 >     236,   455,     1,    19,    35,    69,   124,   132,   133,   153,
1973 >     230,   367,   368,   369,   370,   371,   372,   373,   377,   378,
1974 >     379,     1,   131,   230,   433,   434,   435,   436,     1,    60,
1975 >      67,    69,   128,   353,   357,   358,   359,   363,   364,   235,
1976 >     238,   238,   236,   250,     1,    83,   180,   281,   282,   283,
1977 >     284,     1,    19,    35,    69,   104,   124,   140,   157,   158,
1978 >     209,   230,   309,   310,   311,   312,   313,   314,   315,   316,
1979 >     317,   318,   319,   323,     1,    37,    83,   131,   382,   383,
1980 >     384,   385,   386,   238,   238,   238,   238,   238,   238,   238,
1981 >     238,   236,   529,   235,   238,   238,   238,   238,   238,   238,
1982 >     238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
1983 >     238,   236,   255,     1,   104,   226,   403,   404,   405,   406,
1984 >     235,   238,   236,   295,   180,     1,   104,   173,   192,   208,
1985 >     287,   288,   289,   290,   291,   292,   238,   236,   389,     1,
1986 >     104,   226,   230,   393,   394,   395,   396,   397,   129,   129,
1987 >     129,   235,   114,   114,   218,   114,   114,   245,   114,   245,
1988 >     114,   245,   245,   114,   114,   218,   218,   235,   235,   238,
1989 >     238,   238,   348,   238,   238,   238,   238,   238,   238,   238,
1990 >     238,   238,   238,   238,   238,   238,   236,   330,   235,   238,
1991 >     238,   238,   238,   238,   238,   423,   238,   238,   238,   238,
1992 >     238,   238,   238,   236,   413,   238,   238,   236,   440,   129,
1993 >     235,   238,   238,   236,   450,   218,   245,   114,   245,   245,
1994 >     218,   114,   218,   114,   218,   245,   218,   114,   114,   245,
1995 >     114,   218,   218,   245,   114,   114,   245,   114,   114,   114,
1996 >     114,   218,   238,   218,   238,   218,   245,   245,   218,   218,
1997 >     218,   218,   222,   218,   222,   218,   218,   218,   218,   114,
1998 >     245,   218,   245,   245,   218,   235,   235,   238,   238,   374,
1999 >     238,   238,   238,   238,   238,   236,   368,   238,   238,   236,
2000 >     434,   235,   238,   238,   354,   238,   236,   358,   129,   129,
2001 >     235,   235,   238,   238,   236,   282,   235,   238,   238,   324,
2002 >     238,   238,   238,   238,   238,   320,   238,   236,   310,   235,
2003 >     238,   238,   238,   236,   383,   218,   218,   218,   129,   218,
2004 >     218,   218,   245,   235,   129,   218,   129,   114,   114,   129,
2005 >     129,   129,   129,   129,   129,   129,   129,   114,   129,   129,
2006 >     129,   235,   235,   238,   407,   236,   404,   218,   235,   237,
2007 >     235,   238,   238,   238,   238,   236,   288,   129,   235,   235,
2008 >     238,   398,   238,   236,   394,   235,   235,   235,   235,   235,
2009 >     235,   235,   141,   142,   143,   144,   145,   146,   147,   244,
2010 >     245,   235,   235,   235,   235,   235,   235,   235,   235,   235,
2011 >     235,   114,   114,   245,   238,   114,   114,   114,   245,   114,
2012 >     114,   245,   129,   114,   114,   245,   114,   247,   247,   235,
2013 >     129,   184,   185,   129,   218,   129,   129,   238,   129,   129,
2014 >     114,   129,   129,   129,   129,   235,   129,   129,   235,   235,
2015 >     129,   129,   235,   235,   235,   235,   235,   235,   235,   235,
2016 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
2017 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
2018 >      51,   170,   171,   172,   175,   176,   178,   179,   181,   183,
2019 >     186,   189,   190,   195,   199,   203,   204,   205,   210,   215,
2020 >     505,   506,   235,    51,    53,    54,   170,   171,   172,   175,
2021 >     176,   178,   179,   181,   183,   186,   189,   190,   195,   199,
2022 >     203,   204,   205,   210,   215,   501,   502,   235,   235,   235,
2023 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
2024 >     235,   235,   235,   235,   235,   235,   235,   129,   218,   238,
2025 >     129,   114,   129,   129,   129,   235,   129,   129,   235,   129,
2026 >     129,   238,   114,   361,   362,   235,   235,   235,   129,   129,
2027 >     235,   129,   218,   238,   129,   129,   129,   129,   218,   238,
2028 >     129,   235,   129,   129,   129,   235,   235,   235,   235,   235,
2029 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
2030 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
2031 >     235,   129,   238,   235,   235,     1,   104,   202,   226,   299,
2032 >     300,   301,   302,   303,   129,   129,   129,   129,   235,   235,
2033 >     129,   238,   129,   235,   244,   244,   244,   244,   244,   244,
2034 >     244,   235,   235,   235,    55,   130,   349,   350,   235,   235,
2035 >     235,   235,   235,   235,   235,   235,   235,   235,   235,    11,
2036 >      12,    13,   246,   247,   235,   235,   235,   235,   235,   235,
2037 >     235,   235,   235,     8,   206,   424,   425,   235,   235,   235,
2038 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   239,
2039 >     235,   239,   235,   235,    15,    36,    45,    76,   105,   106,
2040 >     113,   138,   154,   217,   375,   376,   235,   235,   235,   235,
2041 >     235,   235,   235,   235,   235,    51,   197,   206,   355,   356,
2042 >     225,   239,   360,   235,   235,   235,   235,     4,    20,    28,
2043 >      42,    73,    75,   101,   134,   136,   155,   177,   182,   186,
2044 >     191,   196,   200,   211,   214,   216,   227,   234,   325,   326,
2045 >     235,   235,   235,   235,   235,    51,    53,    54,   170,   171,
2046 >     172,   175,   176,   178,   179,   181,   183,   186,   189,   190,
2047 >     195,   199,   203,   204,   205,   210,   215,   321,   322,   235,
2048 >     235,   235,   235,   235,    75,   137,   169,   177,   186,   211,
2049 >     213,   214,   227,   234,   408,   409,   235,   238,   238,   304,
2050 >     236,   300,   235,   235,   235,   235,   235,    75,   137,   169,
2051 >     177,   186,   211,   213,   214,   227,   234,   399,   400,   235,
2052 >     235,   239,   246,   246,   246,   235,   239,   506,   502,   235,
2053 >     239,   235,   239,   114,   362,   235,   240,   240,   240,   235,
2054 >     239,   235,   239,   235,   239,   129,   212,   247,   238,   235,
2055 >     235,   239,   350,   425,   376,   356,   135,   135,   135,   326,
2056 >     322,   409,   235,   235,   235,    42,    73,    75,   120,   137,
2057 >     176,   177,   230,   234,   305,   306,   400,   235,   239,   306
2058   };
2059  
2060    /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
2061   static const yytype_uint16 yyr1[] =
2062   {
2063 <       0,   233,   234,   234,   235,   235,   235,   235,   235,   235,
2064 <     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
2065 <     235,   235,   235,   235,   235,   235,   235,   236,   236,   237,
2066 <     237,   237,   237,   237,   237,   237,   237,   238,   238,   239,
2067 <     239,   239,   239,   240,   241,   241,   242,   242,   242,   243,
2068 <     244,   245,   246,   246,   247,   247,   247,   247,   247,   247,
2069 <     247,   247,   247,   247,   247,   247,   247,   247,   247,   247,
2070 <     247,   247,   248,   249,   250,   250,   251,   251,   252,   252,
2071 <     253,   253,   254,   255,   256,   257,   258,   259,   260,   261,
2072 <     262,   263,   264,   265,   266,   267,   268,   269,   270,   270,
2073 <     271,   271,   271,   271,   272,   273,   274,   276,   275,   277,
2074 <     277,   278,   278,   278,   279,   280,   281,   282,   282,   283,
2075 <     283,   283,   284,   286,   285,   287,   287,   288,   288,   288,
2076 <     288,   289,   290,   290,   292,   291,   293,   293,   294,   294,
2077 <     294,   294,   294,   294,   294,   294,   294,   296,   295,   297,
2078 <     297,   298,   298,   298,   298,   298,   298,   298,   298,   298,
2079 <     298,   298,   299,   300,   301,   302,   303,   304,   305,   306,
2080 <     308,   307,   309,   309,   310,   310,   310,   310,   310,   310,
2081 <     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
2082 <     310,   310,   310,   310,   310,   312,   311,   313,   313,   314,
2083 <     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
2084 <     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
2085 <     314,   314,   314,   316,   315,   317,   317,   318,   318,   318,
2086 <     318,   318,   318,   318,   318,   318,   318,   318,   318,   318,
2087 <     318,   318,   318,   318,   319,   320,   321,   322,   323,   324,
2088 <     325,   326,   327,   328,   329,   330,   331,   332,   333,   335,
2089 <     334,   336,   336,   337,   337,   339,   338,   341,   340,   342,
2090 <     342,   343,   343,   343,   344,   344,   345,   345,   345,   345,
2091 <     345,   347,   346,   348,   348,   349,   349,   350,   351,   353,
2092 <     352,   354,   354,   355,   355,   355,   355,   355,   355,   355,
2093 <     355,   355,   356,   357,   358,   359,   361,   360,   362,   362,
2094 <     363,   363,   363,   363,   363,   363,   363,   363,   363,   363,
2095 <     364,   365,   366,   368,   367,   369,   369,   370,   370,   370,
2096 <     370,   371,   372,   373,   374,   375,   375,   376,   376,   377,
2097 <     379,   378,   380,   380,   381,   381,   381,   381,   382,   383,
2098 <     385,   384,   386,   386,   387,   387,   387,   387,   387,   387,
2099 <     387,   387,   387,   387,   389,   388,   390,   390,   391,   391,
2100 <     391,   392,   394,   393,   395,   395,   396,   396,   396,   396,
2101 <     396,   396,   396,   396,   396,   396,   398,   397,   399,   399,
2102 <     400,   400,   400,   400,   400,   400,   400,   400,   400,   400,
2103 <     400,   400,   400,   400,   400,   401,   402,   403,   404,   405,
2104 <     406,   407,   408,   408,   410,   409,   411,   411,   412,   412,
2105 <     413,   414,   415,   416,   417,   419,   418,   420,   420,   421,
2106 <     421,   421,   422,   423,   425,   424,   426,   426,   427,   427,
2107 <     427,   428,   429,   430,   431,   431,   432,   432,   433,   435,
2108 <     434,   436,   436,   437,   437,   437,   438,   439,   440,   441,
2109 <     441,   442,   442,   442,   442,   442,   442,   442,   442,   442,
2110 <     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
2111 <     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
2112 <     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
2113 <     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
2114 <     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
2115 <     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
2116 <     462,   463,   464,   465,   466,   467,   468,   469,   469,   470,
2117 <     470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
2118 <     480,   481,   482,   483,   484,   485,   486,   488,   487,   489,
2119 <     489,   490,   490,   490,   490,   490,   490,   490,   490,   490,
2120 <     490,   490,   490,   490,   490,   490,   490,   490,   490,   490,
2121 <     490,   490,   492,   491,   493,   493,   494,   494,   494,   494,
2122 <     494,   494,   494,   494,   494,   494,   494,   494,   494,   494,
2123 <     494,   494,   494,   494,   494,   494,   494,   495,   496,   497,
2124 <     498,   499,   499,   500,   500,   500,   500,   500,   500,   500,
2125 <     500,   500,   500,   500,   500,   500,   501,   502,   503,   504,
2126 <     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
2127 <     514,   515,   515,   515,   515,   515,   515,   515,   515,   515,
2128 <     516,   517,   518,   519,   520,   521,   522,   523
2063 >       0,   241,   242,   242,   243,   243,   243,   243,   243,   243,
2064 >     243,   243,   243,   243,   243,   243,   243,   243,   243,   243,
2065 >     243,   243,   243,   243,   243,   243,   243,   243,   244,   244,
2066 >     245,   245,   245,   245,   245,   245,   245,   245,   246,   246,
2067 >     247,   247,   247,   247,   248,   249,   249,   250,   250,   250,
2068 >     251,   252,   253,   254,   254,   255,   255,   255,   255,   255,
2069 >     255,   255,   255,   255,   255,   255,   255,   255,   255,   255,
2070 >     255,   255,   255,   256,   257,   258,   259,   260,   261,   262,
2071 >     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
2072 >     273,   274,   274,   275,   275,   275,   275,   276,   277,   278,
2073 >     280,   279,   281,   281,   282,   282,   282,   283,   284,   286,
2074 >     285,   287,   287,   288,   288,   288,   288,   288,   289,   290,
2075 >     291,   292,   293,   294,   294,   295,   295,   295,   296,   298,
2076 >     297,   299,   299,   300,   300,   300,   300,   301,   302,   302,
2077 >     304,   303,   305,   305,   306,   306,   306,   306,   306,   306,
2078 >     306,   306,   306,   308,   307,   309,   309,   310,   310,   310,
2079 >     310,   310,   310,   310,   310,   310,   310,   310,   311,   312,
2080 >     313,   314,   315,   316,   317,   318,   320,   319,   321,   321,
2081 >     322,   322,   322,   322,   322,   322,   322,   322,   322,   322,
2082 >     322,   322,   322,   322,   322,   322,   322,   322,   322,   322,
2083 >     322,   322,   324,   323,   325,   325,   326,   326,   326,   326,
2084 >     326,   326,   326,   326,   326,   326,   326,   326,   326,   326,
2085 >     326,   326,   326,   326,   326,   326,   326,   326,   326,   326,
2086 >     328,   327,   329,   329,   330,   330,   330,   330,   330,   330,
2087 >     330,   330,   330,   330,   330,   330,   330,   330,   330,   330,
2088 >     330,   330,   331,   332,   333,   334,   335,   336,   337,   338,
2089 >     339,   340,   341,   342,   343,   344,   345,   346,   348,   347,
2090 >     349,   349,   350,   350,   352,   351,   354,   353,   355,   355,
2091 >     356,   356,   356,   357,   357,   358,   358,   358,   358,   358,
2092 >     360,   359,   361,   361,   362,   362,   363,   364,   366,   365,
2093 >     367,   367,   368,   368,   368,   368,   368,   368,   368,   368,
2094 >     368,   369,   370,   371,   372,   374,   373,   375,   375,   376,
2095 >     376,   376,   376,   376,   376,   376,   376,   376,   376,   377,
2096 >     378,   379,   381,   380,   382,   382,   383,   383,   383,   383,
2097 >     384,   385,   386,   387,   388,   388,   389,   389,   390,   392,
2098 >     391,   393,   393,   394,   394,   394,   394,   395,   396,   398,
2099 >     397,   399,   399,   400,   400,   400,   400,   400,   400,   400,
2100 >     400,   400,   400,   402,   401,   403,   403,   404,   404,   404,
2101 >     405,   407,   406,   408,   408,   409,   409,   409,   409,   409,
2102 >     409,   409,   409,   409,   409,   411,   410,   412,   412,   413,
2103 >     413,   413,   413,   413,   413,   413,   413,   413,   413,   413,
2104 >     413,   413,   413,   413,   414,   415,   416,   417,   418,   419,
2105 >     420,   421,   421,   423,   422,   424,   424,   425,   425,   426,
2106 >     427,   428,   429,   430,   432,   431,   433,   433,   434,   434,
2107 >     434,   435,   436,   438,   437,   439,   439,   440,   440,   440,
2108 >     441,   442,   443,   444,   444,   445,   445,   446,   448,   447,
2109 >     449,   449,   450,   450,   450,   451,   452,   453,   454,   454,
2110 >     455,   455,   455,   455,   455,   455,   455,   455,   455,   455,
2111 >     455,   455,   455,   455,   455,   455,   455,   455,   455,   455,
2112 >     455,   455,   455,   455,   455,   455,   455,   455,   455,   455,
2113 >     455,   455,   455,   455,   455,   455,   455,   455,   455,   455,
2114 >     455,   455,   455,   455,   455,   455,   455,   455,   455,   456,
2115 >     457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
2116 >     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
2117 >     477,   478,   479,   480,   481,   482,   483,   484,   484,   485,
2118 >     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
2119 >     495,   496,   497,   498,   500,   499,   501,   501,   502,   502,
2120 >     502,   502,   502,   502,   502,   502,   502,   502,   502,   502,
2121 >     502,   502,   502,   502,   502,   502,   502,   502,   502,   502,
2122 >     504,   503,   505,   505,   506,   506,   506,   506,   506,   506,
2123 >     506,   506,   506,   506,   506,   506,   506,   506,   506,   506,
2124 >     506,   506,   506,   506,   507,   508,   509,   510,   511,   511,
2125 >     512,   512,   512,   512,   512,   512,   512,   512,   512,   512,
2126 >     512,   512,   512,   512,   512,   513,   514,   515,   516,   517,
2127 >     518,   519,   520,   521,   522,   523,   524,   525,   526,   527,
2128 >     528,   528,   529,   529,   529,   529,   529,   529,   529,   529,
2129 >     529,   530,   531,   532,   533,   534,   535,   536,   537
2130   };
2131  
2132    /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
# Line 2084 | Line 2134 | static const yytype_uint8 yyr2[] =
2134   {
2135         0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
2136         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2137 <       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
2138 <       3,     3,     3,     3,     3,     3,     3,     0,     1,     2,
2139 <       3,     3,     3,     5,     2,     1,     1,     1,     2,     4,
2140 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
2091 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2092 <       1,     2,     4,     4,     3,     1,     1,     1,     3,     1,
2093 <       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
2094 <       4,     4,     4,     4,     4,     4,     4,     5,     2,     1,
2095 <       1,     1,     1,     2,     4,     4,     4,     0,     6,     2,
2096 <       1,     1,     1,     2,     4,     4,     5,     2,     1,     1,
2097 <       1,     2,     4,     0,     6,     2,     1,     1,     1,     1,
2098 <       2,     4,     4,     4,     0,     5,     3,     1,     1,     1,
2099 <       1,     1,     1,     1,     1,     1,     1,     0,     6,     2,
2137 >       1,     1,     1,     1,     1,     1,     2,     2,     0,     1,
2138 >       2,     3,     3,     3,     3,     3,     3,     3,     0,     1,
2139 >       2,     3,     3,     3,     5,     2,     1,     1,     1,     2,
2140 >       4,     4,     5,     2,     1,     1,     1,     1,     1,     1,
2141         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2142 <       1,     2,     4,     4,     4,     4,     4,     4,     4,     4,
2142 >       1,     1,     2,     4,     4,     4,     4,     4,     4,     4,
2143 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2144 >       5,     2,     1,     1,     1,     1,     2,     4,     4,     4,
2145 >       0,     6,     2,     1,     1,     1,     2,     4,     4,     0,
2146 >       6,     2,     1,     1,     1,     1,     1,     2,     4,     4,
2147 >       4,     4,     5,     2,     1,     1,     1,     2,     4,     0,
2148 >       6,     2,     1,     1,     1,     1,     2,     4,     4,     4,
2149         0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
2103       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2104       1,     1,     1,     1,     1,     0,     5,     3,     1,     3,
2105       1,     3,     1,     3,     1,     1,     1,     1,     1,     1,
2106       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2150         1,     1,     1,     0,     6,     2,     1,     1,     1,     1,
2151 +       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
2152 +       4,     4,     4,     4,     4,     4,     0,     5,     3,     1,
2153         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2109       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
2110       4,     4,     4,     4,     4,     4,     4,     4,     4,     0,
2111       5,     3,     1,     1,     1,     0,     6,     0,     5,     3,
2112       1,     1,     1,     1,     2,     1,     1,     1,     1,     1,
2113       2,     0,     5,     3,     1,     1,     3,     4,     4,     0,
2114       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
2115       1,     2,     4,     4,     4,     4,     0,     5,     3,     1,
2154         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2155 <       4,     4,     4,     0,     6,     2,     1,     1,     1,     1,
2156 <       2,     4,     4,     4,     5,     2,     1,     1,     1,     4,
2119 <       0,     6,     2,     1,     1,     1,     1,     2,     4,     4,
2120 <       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
2121 <       1,     1,     1,     1,     0,     6,     2,     1,     1,     1,
2122 <       2,     4,     0,     5,     3,     1,     1,     1,     1,     1,
2123 <       1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
2155 >       1,     1,     0,     5,     3,     1,     3,     1,     3,     1,
2156 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2157         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2158 <       1,     1,     1,     1,     2,     4,     4,     4,     4,     4,
2159 <       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
2160 <       4,     4,     4,     4,     4,     0,     6,     2,     1,     1,
2161 <       1,     1,     4,     4,     0,     6,     2,     1,     1,     1,
2162 <       1,     4,     4,     5,     2,     1,     1,     1,     4,     0,
2163 <       6,     2,     1,     1,     1,     1,     4,     4,     5,     2,
2158 >       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
2159 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2160 >       1,     2,     4,     4,     4,     4,     4,     4,     4,     4,
2161 >       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
2162 >       3,     1,     1,     1,     0,     6,     0,     5,     3,     1,
2163 >       1,     1,     1,     2,     1,     1,     1,     1,     1,     2,
2164 >       0,     5,     3,     1,     1,     3,     4,     4,     0,     6,
2165 >       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2166 >       2,     4,     4,     4,     4,     0,     5,     3,     1,     1,
2167 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
2168 >       4,     4,     0,     6,     2,     1,     1,     1,     1,     2,
2169 >       4,     4,     4,     5,     2,     1,     1,     1,     4,     0,
2170 >       6,     2,     1,     1,     1,     1,     2,     4,     4,     0,
2171 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
2172 >       1,     1,     1,     0,     6,     2,     1,     1,     1,     2,
2173 >       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
2174 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
2175         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2176 +       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
2177 +       4,     4,     4,     0,     5,     3,     1,     1,     1,     4,
2178 +       4,     4,     4,     4,     0,     6,     2,     1,     1,     1,
2179 +       1,     4,     4,     0,     6,     2,     1,     1,     1,     1,
2180 +       4,     4,     5,     2,     1,     1,     1,     4,     0,     6,
2181 +       2,     1,     1,     1,     1,     4,     4,     5,     2,     1,
2182         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2183         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2184         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2185         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2186 <       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2186 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
2187 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2188         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2189         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2190         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2191 <       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
2191 >       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
2192         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2193         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2194 <       1,     1,     0,     5,     3,     1,     1,     1,     1,     1,
2194 >       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
2195         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2196 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
2146 <       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
2147 <       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
2148 <       4,     4,     4,     4,     4,     4,     4,     4,     5,     2,
2196 >       1,     1,     1,     1,     4,     4,     4,     5,     2,     1,
2197         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2198 <       4,     4,     4,     4,     4,     4,     4,     4
2198 >       1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
2199 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     5,
2200 >       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2201 >       1,     4,     4,     4,     4,     4,     4,     4,     4
2202   };
2203  
2204  
# Line 2823 | Line 2874 | yyreduce:
2874    YY_REDUCE_PRINT (yyn);
2875    switch (yyn)
2876      {
2877 <        case 27:
2878 < #line 406 "conf_parser.y" /* yacc.c:1646  */
2877 >        case 28:
2878 > #line 421 "conf_parser.y" /* yacc.c:1646  */
2879      { (yyval.number) = 0; }
2880 < #line 2830 "conf_parser.c" /* yacc.c:1646  */
2880 > #line 2881 "conf_parser.c" /* yacc.c:1646  */
2881      break;
2882  
2883 <  case 29:
2884 < #line 407 "conf_parser.y" /* yacc.c:1646  */
2883 >  case 30:
2884 > #line 422 "conf_parser.y" /* yacc.c:1646  */
2885      { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2886 < #line 2836 "conf_parser.c" /* yacc.c:1646  */
2886 > #line 2887 "conf_parser.c" /* yacc.c:1646  */
2887      break;
2888  
2889 <  case 30:
2890 < #line 408 "conf_parser.y" /* yacc.c:1646  */
2889 >  case 31:
2890 > #line 423 "conf_parser.y" /* yacc.c:1646  */
2891      { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2892 < #line 2842 "conf_parser.c" /* yacc.c:1646  */
2892 > #line 2893 "conf_parser.c" /* yacc.c:1646  */
2893      break;
2894  
2895 <  case 31:
2896 < #line 409 "conf_parser.y" /* yacc.c:1646  */
2895 >  case 32:
2896 > #line 424 "conf_parser.y" /* yacc.c:1646  */
2897      { (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number); }
2898 < #line 2848 "conf_parser.c" /* yacc.c:1646  */
2898 > #line 2899 "conf_parser.c" /* yacc.c:1646  */
2899      break;
2900  
2901 <  case 32:
2902 < #line 410 "conf_parser.y" /* yacc.c:1646  */
2901 >  case 33:
2902 > #line 425 "conf_parser.y" /* yacc.c:1646  */
2903      { (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number); }
2904 < #line 2854 "conf_parser.c" /* yacc.c:1646  */
2904 > #line 2905 "conf_parser.c" /* yacc.c:1646  */
2905      break;
2906  
2907 <  case 33:
2908 < #line 411 "conf_parser.y" /* yacc.c:1646  */
2907 >  case 34:
2908 > #line 426 "conf_parser.y" /* yacc.c:1646  */
2909      { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number); }
2910 < #line 2860 "conf_parser.c" /* yacc.c:1646  */
2910 > #line 2911 "conf_parser.c" /* yacc.c:1646  */
2911      break;
2912  
2913 <  case 34:
2914 < #line 412 "conf_parser.y" /* yacc.c:1646  */
2913 >  case 35:
2914 > #line 427 "conf_parser.y" /* yacc.c:1646  */
2915      { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number); }
2916 < #line 2866 "conf_parser.c" /* yacc.c:1646  */
2916 > #line 2917 "conf_parser.c" /* yacc.c:1646  */
2917      break;
2918  
2919 <  case 35:
2920 < #line 413 "conf_parser.y" /* yacc.c:1646  */
2919 >  case 36:
2920 > #line 428 "conf_parser.y" /* yacc.c:1646  */
2921      { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number); }
2922 < #line 2872 "conf_parser.c" /* yacc.c:1646  */
2922 > #line 2923 "conf_parser.c" /* yacc.c:1646  */
2923      break;
2924  
2925 <  case 36:
2926 < #line 414 "conf_parser.y" /* yacc.c:1646  */
2925 >  case 37:
2926 > #line 429 "conf_parser.y" /* yacc.c:1646  */
2927      { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number); }
2928 < #line 2878 "conf_parser.c" /* yacc.c:1646  */
2928 > #line 2929 "conf_parser.c" /* yacc.c:1646  */
2929      break;
2930  
2931 <  case 37:
2932 < #line 417 "conf_parser.y" /* yacc.c:1646  */
2931 >  case 38:
2932 > #line 432 "conf_parser.y" /* yacc.c:1646  */
2933      { (yyval.number) = 0; }
2934 < #line 2884 "conf_parser.c" /* yacc.c:1646  */
2934 > #line 2935 "conf_parser.c" /* yacc.c:1646  */
2935      break;
2936  
2937 <  case 39:
2938 < #line 418 "conf_parser.y" /* yacc.c:1646  */
2937 >  case 40:
2938 > #line 433 "conf_parser.y" /* yacc.c:1646  */
2939      { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2940 < #line 2890 "conf_parser.c" /* yacc.c:1646  */
2940 > #line 2941 "conf_parser.c" /* yacc.c:1646  */
2941      break;
2942  
2943 <  case 40:
2944 < #line 419 "conf_parser.y" /* yacc.c:1646  */
2943 >  case 41:
2944 > #line 434 "conf_parser.y" /* yacc.c:1646  */
2945      { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2946 < #line 2896 "conf_parser.c" /* yacc.c:1646  */
2946 > #line 2947 "conf_parser.c" /* yacc.c:1646  */
2947      break;
2948  
2949 <  case 41:
2950 < #line 420 "conf_parser.y" /* yacc.c:1646  */
2949 >  case 42:
2950 > #line 435 "conf_parser.y" /* yacc.c:1646  */
2951      { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); }
2952 < #line 2902 "conf_parser.c" /* yacc.c:1646  */
2952 > #line 2953 "conf_parser.c" /* yacc.c:1646  */
2953      break;
2954  
2955 <  case 42:
2956 < #line 421 "conf_parser.y" /* yacc.c:1646  */
2955 >  case 43:
2956 > #line 436 "conf_parser.y" /* yacc.c:1646  */
2957      { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); }
2958 < #line 2908 "conf_parser.c" /* yacc.c:1646  */
2958 > #line 2959 "conf_parser.c" /* yacc.c:1646  */
2959      break;
2960  
2961 <  case 49:
2962 < #line 435 "conf_parser.y" /* yacc.c:1646  */
2961 >  case 50:
2962 > #line 450 "conf_parser.y" /* yacc.c:1646  */
2963      {
2964    if (conf_parser_ctx.pass == 2)
2965      add_conf_module(libio_basename(yylval.string));
2966   }
2967 < #line 2917 "conf_parser.c" /* yacc.c:1646  */
2967 > #line 2968 "conf_parser.c" /* yacc.c:1646  */
2968      break;
2969  
2970 <  case 50:
2971 < #line 441 "conf_parser.y" /* yacc.c:1646  */
2970 >  case 51:
2971 > #line 456 "conf_parser.y" /* yacc.c:1646  */
2972      {
2973    if (conf_parser_ctx.pass == 2)
2974      mod_add_path(yylval.string);
2975   }
2976 < #line 2926 "conf_parser.c" /* yacc.c:1646  */
2926 <    break;
2927 <
2928 <  case 76:
2929 < #line 475 "conf_parser.y" /* yacc.c:1646  */
2930 <    {
2931 < #ifdef HAVE_LIBCRYPTO
2932 <  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
2933 <    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
2934 < #endif
2935 < }
2936 < #line 2937 "conf_parser.c" /* yacc.c:1646  */
2937 <    break;
2938 <
2939 <  case 77:
2940 < #line 481 "conf_parser.y" /* yacc.c:1646  */
2941 <    {
2942 < #ifdef HAVE_LIBCRYPTO
2943 <  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
2944 <    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
2945 < #endif
2946 < }
2947 < #line 2948 "conf_parser.c" /* yacc.c:1646  */
2948 <    break;
2949 <
2950 <  case 80:
2951 < #line 490 "conf_parser.y" /* yacc.c:1646  */
2952 <    {
2953 < #ifdef HAVE_LIBCRYPTO
2954 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2955 <    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
2956 < #endif
2957 < }
2958 < #line 2959 "conf_parser.c" /* yacc.c:1646  */
2959 <    break;
2960 <
2961 <  case 81:
2962 < #line 496 "conf_parser.y" /* yacc.c:1646  */
2963 <    {
2964 < #ifdef HAVE_LIBCRYPTO
2965 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2966 <    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
2967 < #endif
2968 < }
2969 < #line 2970 "conf_parser.c" /* yacc.c:1646  */
2976 > #line 2977 "conf_parser.c" /* yacc.c:1646  */
2977      break;
2978  
2979 <  case 82:
2980 < #line 504 "conf_parser.y" /* yacc.c:1646  */
2979 >  case 73:
2980 > #line 486 "conf_parser.y" /* yacc.c:1646  */
2981      {
2982   #ifdef HAVE_LIBCRYPTO
2983 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2983 >  if (conf_parser_ctx.pass == 2)
2984    {
2985 <    if (!ServerInfo.rsa_private_key_file)
2985 >    if (!ConfigServerInfo.rsa_private_key_file)
2986      {
2987        conf_error_report("No rsa_private_key_file specified, SSL disabled");
2988        break;
2989      }
2990  
2991 <    if (SSL_CTX_use_certificate_file(ServerInfo.server_ctx, yylval.string,
2992 <                                     SSL_FILETYPE_PEM) <= 0 ||
2986 <        SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
2987 <                                     SSL_FILETYPE_PEM) <= 0)
2991 >    if (SSL_CTX_use_certificate_chain_file(ConfigServerInfo.server_ctx, yylval.string) <= 0 ||
2992 >        SSL_CTX_use_certificate_chain_file(ConfigServerInfo.client_ctx, yylval.string) <= 0)
2993      {
2994        report_crypto_errors();
2995        conf_error_report("Could not open/read certificate file");
2996        break;
2997      }
2998  
2999 <    if (SSL_CTX_use_PrivateKey_file(ServerInfo.server_ctx, ServerInfo.rsa_private_key_file,
2999 >    if (SSL_CTX_use_PrivateKey_file(ConfigServerInfo.server_ctx, ConfigServerInfo.rsa_private_key_file,
3000                                      SSL_FILETYPE_PEM) <= 0 ||
3001 <        SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3001 >        SSL_CTX_use_PrivateKey_file(ConfigServerInfo.client_ctx, ConfigServerInfo.rsa_private_key_file,
3002                                      SSL_FILETYPE_PEM) <= 0)
3003      {
3004        report_crypto_errors();
# Line 3001 | Line 3006 | yyreduce:
3006        break;
3007      }
3008  
3009 <    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3010 <        !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3009 >    if (!SSL_CTX_check_private_key(ConfigServerInfo.server_ctx) ||
3010 >        !SSL_CTX_check_private_key(ConfigServerInfo.client_ctx))
3011      {
3012        report_crypto_errors();
3013        conf_error_report("Could not read RSA private key");
# Line 3011 | Line 3016 | yyreduce:
3016    }
3017   #endif
3018   }
3019 < #line 3015 "conf_parser.c" /* yacc.c:1646  */
3019 > #line 3020 "conf_parser.c" /* yacc.c:1646  */
3020      break;
3021  
3022 <  case 83:
3023 < #line 546 "conf_parser.y" /* yacc.c:1646  */
3022 >  case 74:
3023 > #line 526 "conf_parser.y" /* yacc.c:1646  */
3024      {
3025   #ifdef HAVE_LIBCRYPTO
3026    BIO *file = NULL;
# Line 3023 | Line 3028 | yyreduce:
3028    if (conf_parser_ctx.pass != 1)
3029      break;
3030  
3031 <  if (ServerInfo.rsa_private_key)
3031 >  if (ConfigServerInfo.rsa_private_key)
3032    {
3033 <    RSA_free(ServerInfo.rsa_private_key);
3034 <    ServerInfo.rsa_private_key = NULL;
3033 >    RSA_free(ConfigServerInfo.rsa_private_key);
3034 >    ConfigServerInfo.rsa_private_key = NULL;
3035    }
3036  
3037 <  if (ServerInfo.rsa_private_key_file)
3037 >  if (ConfigServerInfo.rsa_private_key_file)
3038    {
3039 <    MyFree(ServerInfo.rsa_private_key_file);
3040 <    ServerInfo.rsa_private_key_file = NULL;
3039 >    MyFree(ConfigServerInfo.rsa_private_key_file);
3040 >    ConfigServerInfo.rsa_private_key_file = NULL;
3041    }
3042  
3043 <  ServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3043 >  ConfigServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3044  
3045    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3046    {
# Line 3043 | Line 3048 | yyreduce:
3048      break;
3049    }
3050  
3051 <  ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3051 >  ConfigServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3052  
3053    BIO_set_close(file, BIO_CLOSE);
3054    BIO_free(file);
3055  
3056 <  if (ServerInfo.rsa_private_key == NULL)
3056 >  if (ConfigServerInfo.rsa_private_key == NULL)
3057    {
3058      conf_error_report("Couldn't extract key, ignoring");
3059      break;
3060    }
3061  
3062 <  if (!RSA_check_key(ServerInfo.rsa_private_key))
3062 >  if (!RSA_check_key(ConfigServerInfo.rsa_private_key))
3063    {
3064 <    RSA_free(ServerInfo.rsa_private_key);
3065 <    ServerInfo.rsa_private_key = NULL;
3064 >    RSA_free(ConfigServerInfo.rsa_private_key);
3065 >    ConfigServerInfo.rsa_private_key = NULL;
3066  
3067      conf_error_report("Invalid key, ignoring");
3068      break;
3069    }
3070  
3071 <  if (RSA_size(ServerInfo.rsa_private_key) < 128)
3071 >  if (RSA_size(ConfigServerInfo.rsa_private_key) < 128)
3072    {
3073 <    RSA_free(ServerInfo.rsa_private_key);
3074 <    ServerInfo.rsa_private_key = NULL;
3073 >    RSA_free(ConfigServerInfo.rsa_private_key);
3074 >    ConfigServerInfo.rsa_private_key = NULL;
3075  
3076      conf_error_report("Ignoring serverinfo::rsa_private_key_file -- need at least a 1024 bit key size");
3077    }
3078   #endif
3079   }
3080 < #line 3076 "conf_parser.c" /* yacc.c:1646  */
3080 > #line 3081 "conf_parser.c" /* yacc.c:1646  */
3081      break;
3082  
3083 <  case 84:
3084 < #line 604 "conf_parser.y" /* yacc.c:1646  */
3083 >  case 75:
3084 > #line 584 "conf_parser.y" /* yacc.c:1646  */
3085      {
3081 /* TBD - XXX: error reporting */
3086   #ifdef HAVE_LIBCRYPTO
3087 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3087 >  if (conf_parser_ctx.pass == 2)
3088    {
3089      BIO *file = BIO_new_file(yylval.string, "r");
3090  
# Line 3095 | Line 3099 | yyreduce:
3099          if (DH_size(dh) < 128)
3100            conf_error_report("Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3101          else
3102 <          SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3102 >          SSL_CTX_set_tmp_dh(ConfigServerInfo.server_ctx, dh);
3103  
3104          DH_free(dh);
3105        }
3106      }
3107 +    else
3108 +      conf_error_report("Ignoring serverinfo::ssl_dh_param_file -- could not open/read Diffie-Hellman parameter file");
3109    }
3110   #endif
3111   }
3112 < #line 3107 "conf_parser.c" /* yacc.c:1646  */
3112 > #line 3113 "conf_parser.c" /* yacc.c:1646  */
3113      break;
3114  
3115 <  case 85:
3116 < #line 632 "conf_parser.y" /* yacc.c:1646  */
3115 >  case 76:
3116 > #line 613 "conf_parser.y" /* yacc.c:1646  */
3117      {
3118   #ifdef HAVE_LIBCRYPTO
3119 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3120 <    SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3119 >  if (conf_parser_ctx.pass == 2)
3120 >    SSL_CTX_set_cipher_list(ConfigServerInfo.server_ctx, yylval.string);
3121   #endif
3122   }
3123 < #line 3118 "conf_parser.c" /* yacc.c:1646  */
3123 > #line 3124 "conf_parser.c" /* yacc.c:1646  */
3124      break;
3125  
3126 <  case 86:
3127 < #line 640 "conf_parser.y" /* yacc.c:1646  */
3126 >  case 77:
3127 > #line 621 "conf_parser.y" /* yacc.c:1646  */
3128 >    {
3129 > #ifdef HAVE_LIBCRYPTO
3130 >  if (conf_parser_ctx.pass == 2)
3131 >  {
3132 >    if ((ConfigServerInfo.message_digest_algorithm = EVP_get_digestbyname(yylval.string)) == NULL)
3133 >    {
3134 >      ConfigServerInfo.message_digest_algorithm = EVP_sha256();
3135 >      conf_error_report("Ignoring serverinfo::ssl_message_digest_algorithm -- unknown message digest algorithm");
3136 >    }
3137 >  }
3138 > #endif
3139 > }
3140 > #line 3141 "conf_parser.c" /* yacc.c:1646  */
3141 >    break;
3142 >
3143 >  case 78:
3144 > #line 635 "conf_parser.y" /* yacc.c:1646  */
3145 >    {
3146 > #ifdef HAVE_LIBCRYPTO
3147 > #if OPENSSL_VERSION_NUMBER >= 0x009080FFL && !defined(OPENSSL_NO_ECDH)
3148 >  int nid = 0;
3149 >  EC_KEY *key = NULL;
3150 >
3151 >  if (conf_parser_ctx.pass == 2)
3152 >  {
3153 >    if ((nid = OBJ_sn2nid(yylval.string)) == 0)
3154 >    {
3155 >        conf_error_report("Ignoring serverinfo::serverinfo_ssl_dh_elliptic_curve -- unknown curve name");
3156 >        break;
3157 >    }
3158 >
3159 >    if ((key = EC_KEY_new_by_curve_name(nid)) == NULL)
3160 >    {
3161 >      conf_error_report("Ignoring serverinfo::serverinfo_ssl_dh_elliptic_curve -- could not create curve");
3162 >      break;
3163 >    }
3164 >
3165 >    SSL_CTX_set_tmp_ecdh(ConfigServerInfo.server_ctx, key);
3166 >    EC_KEY_free(key);
3167 > }
3168 > #endif
3169 > #endif
3170 > }
3171 > #line 3172 "conf_parser.c" /* yacc.c:1646  */
3172 >    break;
3173 >
3174 >  case 79:
3175 > #line 663 "conf_parser.y" /* yacc.c:1646  */
3176      {
3177    /* this isn't rehashable */
3178 <  if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
3178 >  if (conf_parser_ctx.pass == 2 && !ConfigServerInfo.name)
3179    {
3180      if (valid_servname(yylval.string))
3181 <      ServerInfo.name = xstrdup(yylval.string);
3181 >      ConfigServerInfo.name = xstrdup(yylval.string);
3182      else
3183      {
3184        conf_error_report("Ignoring serverinfo::name -- invalid name. Aborting.");
# Line 3132 | Line 3186 | yyreduce:
3186      }
3187    }
3188   }
3189 < #line 3136 "conf_parser.c" /* yacc.c:1646  */
3189 > #line 3190 "conf_parser.c" /* yacc.c:1646  */
3190      break;
3191  
3192 <  case 87:
3193 < #line 655 "conf_parser.y" /* yacc.c:1646  */
3192 >  case 80:
3193 > #line 678 "conf_parser.y" /* yacc.c:1646  */
3194      {
3195    /* this isn't rehashable */
3196 <  if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
3196 >  if (conf_parser_ctx.pass == 2 && !ConfigServerInfo.sid)
3197    {
3198      if (valid_sid(yylval.string))
3199 <      ServerInfo.sid = xstrdup(yylval.string);
3199 >      ConfigServerInfo.sid = xstrdup(yylval.string);
3200      else
3201      {
3202        conf_error_report("Ignoring serverinfo::sid -- invalid SID. Aborting.");
# Line 3150 | Line 3204 | yyreduce:
3204      }
3205    }
3206   }
3207 < #line 3154 "conf_parser.c" /* yacc.c:1646  */
3207 > #line 3208 "conf_parser.c" /* yacc.c:1646  */
3208      break;
3209  
3210 <  case 88:
3211 < #line 670 "conf_parser.y" /* yacc.c:1646  */
3210 >  case 81:
3211 > #line 693 "conf_parser.y" /* yacc.c:1646  */
3212      {
3213    if (conf_parser_ctx.pass == 2)
3214    {
3215 <    MyFree(ServerInfo.description);
3216 <    ServerInfo.description = xstrdup(yylval.string);
3215 >    MyFree(ConfigServerInfo.description);
3216 >    ConfigServerInfo.description = xstrdup(yylval.string);
3217 >    strlcpy(me.info, ConfigServerInfo.description, sizeof(me.info));
3218    }
3219   }
3220 < #line 3166 "conf_parser.c" /* yacc.c:1646  */
3220 > #line 3221 "conf_parser.c" /* yacc.c:1646  */
3221      break;
3222  
3223 <  case 89:
3224 < #line 679 "conf_parser.y" /* yacc.c:1646  */
3223 >  case 82:
3224 > #line 703 "conf_parser.y" /* yacc.c:1646  */
3225      {
3226    if (conf_parser_ctx.pass == 2)
3227    {
3228      char *p;
3229  
3230      if ((p = strchr(yylval.string, ' ')))
3231 <      p = '\0';
3231 >      *p = '\0';
3232  
3233 <    MyFree(ServerInfo.network_name);
3234 <    ServerInfo.network_name = xstrdup(yylval.string);
3233 >    MyFree(ConfigServerInfo.network_name);
3234 >    ConfigServerInfo.network_name = xstrdup(yylval.string);
3235    }
3236   }
3237 < #line 3183 "conf_parser.c" /* yacc.c:1646  */
3237 > #line 3238 "conf_parser.c" /* yacc.c:1646  */
3238      break;
3239  
3240 <  case 90:
3241 < #line 693 "conf_parser.y" /* yacc.c:1646  */
3240 >  case 83:
3241 > #line 717 "conf_parser.y" /* yacc.c:1646  */
3242      {
3243    if (conf_parser_ctx.pass != 2)
3244      break;
3245  
3246 <  MyFree(ServerInfo.network_desc);
3247 <  ServerInfo.network_desc = xstrdup(yylval.string);
3246 >  MyFree(ConfigServerInfo.network_desc);
3247 >  ConfigServerInfo.network_desc = xstrdup(yylval.string);
3248   }
3249 < #line 3195 "conf_parser.c" /* yacc.c:1646  */
3249 > #line 3250 "conf_parser.c" /* yacc.c:1646  */
3250      break;
3251  
3252 <  case 91:
3253 < #line 702 "conf_parser.y" /* yacc.c:1646  */
3252 >  case 84:
3253 > #line 726 "conf_parser.y" /* yacc.c:1646  */
3254      {
3255    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3256    {
# Line 3213 | Line 3268 | yyreduce:
3268      {
3269        assert(res);
3270  
3271 <      memcpy(&ServerInfo.ip, res->ai_addr, res->ai_addrlen);
3272 <      ServerInfo.ip.ss.ss_family = res->ai_family;
3273 <      ServerInfo.ip.ss_len = res->ai_addrlen;
3271 >      memcpy(&ConfigServerInfo.ip, res->ai_addr, res->ai_addrlen);
3272 >      ConfigServerInfo.ip.ss.ss_family = res->ai_family;
3273 >      ConfigServerInfo.ip.ss_len = res->ai_addrlen;
3274        freeaddrinfo(res);
3275  
3276 <      ServerInfo.specific_ipv4_vhost = 1;
3276 >      ConfigServerInfo.specific_ipv4_vhost = 1;
3277      }
3278    }
3279   }
3280 < #line 3226 "conf_parser.c" /* yacc.c:1646  */
3280 > #line 3281 "conf_parser.c" /* yacc.c:1646  */
3281      break;
3282  
3283 <  case 92:
3284 < #line 730 "conf_parser.y" /* yacc.c:1646  */
3283 >  case 85:
3284 > #line 754 "conf_parser.y" /* yacc.c:1646  */
3285      {
3231 #ifdef IPV6
3286    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3287    {
3288      struct addrinfo hints, *res;
# Line 3245 | Line 3299 | yyreduce:
3299      {
3300        assert(res);
3301  
3302 <      memcpy(&ServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3303 <      ServerInfo.ip6.ss.ss_family = res->ai_family;
3304 <      ServerInfo.ip6.ss_len = res->ai_addrlen;
3302 >      memcpy(&ConfigServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3303 >      ConfigServerInfo.ip6.ss.ss_family = res->ai_family;
3304 >      ConfigServerInfo.ip6.ss_len = res->ai_addrlen;
3305        freeaddrinfo(res);
3306  
3307 <      ServerInfo.specific_ipv6_vhost = 1;
3307 >      ConfigServerInfo.specific_ipv6_vhost = 1;
3308      }
3309    }
3256 #endif
3310   }
3311 < #line 3259 "conf_parser.c" /* yacc.c:1646  */
3311 > #line 3312 "conf_parser.c" /* yacc.c:1646  */
3312      break;
3313  
3314 <  case 93:
3315 < #line 760 "conf_parser.y" /* yacc.c:1646  */
3314 >  case 86:
3315 > #line 782 "conf_parser.y" /* yacc.c:1646  */
3316      {
3317    if (conf_parser_ctx.pass != 2)
3318      break;
# Line 3270 | Line 3323 | yyreduce:
3323  
3324      snprintf(buf, sizeof(buf), "MAXCLIENTS too low, setting to %d", MAXCLIENTS_MIN);
3325      conf_error_report(buf);
3326 <    ServerInfo.max_clients = MAXCLIENTS_MIN;
3326 >    ConfigServerInfo.max_clients = MAXCLIENTS_MIN;
3327    }
3328    else if ((yyvsp[-1].number) > MAXCLIENTS_MAX)
3329    {
# Line 3278 | Line 3331 | yyreduce:
3331  
3332      snprintf(buf, sizeof(buf), "MAXCLIENTS too high, setting to %d", MAXCLIENTS_MAX);
3333      conf_error_report(buf);
3334 <    ServerInfo.max_clients = MAXCLIENTS_MAX;
3334 >    ConfigServerInfo.max_clients = MAXCLIENTS_MAX;
3335    }
3336    else
3337 <    ServerInfo.max_clients = (yyvsp[-1].number);
3337 >    ConfigServerInfo.max_clients = (yyvsp[-1].number);
3338   }
3339 < #line 3287 "conf_parser.c" /* yacc.c:1646  */
3339 > #line 3340 "conf_parser.c" /* yacc.c:1646  */
3340      break;
3341  
3342 <  case 94:
3343 < #line 785 "conf_parser.y" /* yacc.c:1646  */
3342 >  case 87:
3343 > #line 807 "conf_parser.y" /* yacc.c:1646  */
3344      {
3345    if (conf_parser_ctx.pass != 2)
3346      break;
# Line 3295 | Line 3348 | yyreduce:
3348    if ((yyvsp[-1].number) < 9)
3349    {
3350      conf_error_report("max_nick_length too low, setting to 9");
3351 <    ServerInfo.max_nick_length = 9;
3351 >    ConfigServerInfo.max_nick_length = 9;
3352    }
3353    else if ((yyvsp[-1].number) > NICKLEN)
3354    {
# Line 3303 | Line 3356 | yyreduce:
3356  
3357      snprintf(buf, sizeof(buf), "max_nick_length too high, setting to %d", NICKLEN);
3358      conf_error_report(buf);
3359 <    ServerInfo.max_nick_length = NICKLEN;
3359 >    ConfigServerInfo.max_nick_length = NICKLEN;
3360    }
3361    else
3362 <    ServerInfo.max_nick_length = (yyvsp[-1].number);
3362 >    ConfigServerInfo.max_nick_length = (yyvsp[-1].number);
3363   }
3364 < #line 3312 "conf_parser.c" /* yacc.c:1646  */
3364 > #line 3365 "conf_parser.c" /* yacc.c:1646  */
3365      break;
3366  
3367 <  case 95:
3368 < #line 807 "conf_parser.y" /* yacc.c:1646  */
3367 >  case 88:
3368 > #line 829 "conf_parser.y" /* yacc.c:1646  */
3369      {
3370    if (conf_parser_ctx.pass != 2)
3371      break;
# Line 3320 | Line 3373 | yyreduce:
3373    if ((yyvsp[-1].number) < 80)
3374    {
3375      conf_error_report("max_topic_length too low, setting to 80");
3376 <    ServerInfo.max_topic_length = 80;
3376 >    ConfigServerInfo.max_topic_length = 80;
3377    }
3378    else if ((yyvsp[-1].number) > TOPICLEN)
3379    {
# Line 3328 | Line 3381 | yyreduce:
3381  
3382      snprintf(buf, sizeof(buf), "max_topic_length too high, setting to %d", TOPICLEN);
3383      conf_error_report(buf);
3384 <    ServerInfo.max_topic_length = TOPICLEN;
3384 >    ConfigServerInfo.max_topic_length = TOPICLEN;
3385    }
3386    else
3387 <    ServerInfo.max_topic_length = (yyvsp[-1].number);
3387 >    ConfigServerInfo.max_topic_length = (yyvsp[-1].number);
3388   }
3389 < #line 3337 "conf_parser.c" /* yacc.c:1646  */
3389 > #line 3390 "conf_parser.c" /* yacc.c:1646  */
3390      break;
3391  
3392 <  case 96:
3393 < #line 829 "conf_parser.y" /* yacc.c:1646  */
3392 >  case 89:
3393 > #line 851 "conf_parser.y" /* yacc.c:1646  */
3394      {
3395    if (conf_parser_ctx.pass == 2)
3396 <    ServerInfo.hub = yylval.number;
3396 >    ConfigServerInfo.hub = yylval.number;
3397   }
3398 < #line 3346 "conf_parser.c" /* yacc.c:1646  */
3398 > #line 3399 "conf_parser.c" /* yacc.c:1646  */
3399      break;
3400  
3401 <  case 104:
3402 < #line 846 "conf_parser.y" /* yacc.c:1646  */
3401 >  case 97:
3402 > #line 868 "conf_parser.y" /* yacc.c:1646  */
3403      {
3404    if (conf_parser_ctx.pass != 2)
3405      break;
3406  
3407 <  MyFree(AdminInfo.name);
3408 <  AdminInfo.name = xstrdup(yylval.string);
3407 >  MyFree(ConfigAdminInfo.name);
3408 >  ConfigAdminInfo.name = xstrdup(yylval.string);
3409   }
3410 < #line 3358 "conf_parser.c" /* yacc.c:1646  */
3410 > #line 3411 "conf_parser.c" /* yacc.c:1646  */
3411      break;
3412  
3413 <  case 105:
3414 < #line 855 "conf_parser.y" /* yacc.c:1646  */
3413 >  case 98:
3414 > #line 877 "conf_parser.y" /* yacc.c:1646  */
3415      {
3416    if (conf_parser_ctx.pass != 2)
3417      break;
3418  
3419 <  MyFree(AdminInfo.email);
3420 <  AdminInfo.email = xstrdup(yylval.string);
3419 >  MyFree(ConfigAdminInfo.email);
3420 >  ConfigAdminInfo.email = xstrdup(yylval.string);
3421   }
3422 < #line 3370 "conf_parser.c" /* yacc.c:1646  */
3422 > #line 3423 "conf_parser.c" /* yacc.c:1646  */
3423      break;
3424  
3425 <  case 106:
3426 < #line 864 "conf_parser.y" /* yacc.c:1646  */
3425 >  case 99:
3426 > #line 886 "conf_parser.y" /* yacc.c:1646  */
3427      {
3428    if (conf_parser_ctx.pass != 2)
3429      break;
3430  
3431 <  MyFree(AdminInfo.description);
3432 <  AdminInfo.description = xstrdup(yylval.string);
3431 >  MyFree(ConfigAdminInfo.description);
3432 >  ConfigAdminInfo.description = xstrdup(yylval.string);
3433   }
3434 < #line 3382 "conf_parser.c" /* yacc.c:1646  */
3434 > #line 3435 "conf_parser.c" /* yacc.c:1646  */
3435      break;
3436  
3437 <  case 107:
3438 < #line 876 "conf_parser.y" /* yacc.c:1646  */
3437 >  case 100:
3438 > #line 898 "conf_parser.y" /* yacc.c:1646  */
3439      {
3440    if (conf_parser_ctx.pass == 2)
3441      reset_block_state();
3442   }
3443 < #line 3391 "conf_parser.c" /* yacc.c:1646  */
3443 > #line 3444 "conf_parser.c" /* yacc.c:1646  */
3444      break;
3445  
3446 <  case 108:
3447 < #line 880 "conf_parser.y" /* yacc.c:1646  */
3446 >  case 101:
3447 > #line 902 "conf_parser.y" /* yacc.c:1646  */
3448      {
3449 <  dlink_node *ptr = NULL;
3449 >  dlink_node *node = NULL;
3450  
3451    if (conf_parser_ctx.pass != 2)
3452      break;
# Line 3401 | Line 3454 | yyreduce:
3454    if (!block_state.file.buf[0])
3455      break;
3456  
3457 <  DLINK_FOREACH(ptr, block_state.mask.list.head)
3458 <    motd_add(ptr->data, block_state.file.buf);
3457 >  DLINK_FOREACH(node, block_state.mask.list.head)
3458 >    motd_add(node->data, block_state.file.buf);
3459   }
3460 < #line 3408 "conf_parser.c" /* yacc.c:1646  */
3460 > #line 3461 "conf_parser.c" /* yacc.c:1646  */
3461      break;
3462  
3463 <  case 114:
3464 < #line 897 "conf_parser.y" /* yacc.c:1646  */
3463 >  case 107:
3464 > #line 919 "conf_parser.y" /* yacc.c:1646  */
3465      {
3466    if (conf_parser_ctx.pass == 2)
3467      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3468   }
3469 < #line 3417 "conf_parser.c" /* yacc.c:1646  */
3469 > #line 3470 "conf_parser.c" /* yacc.c:1646  */
3470      break;
3471  
3472 <  case 115:
3473 < #line 903 "conf_parser.y" /* yacc.c:1646  */
3472 >  case 108:
3473 > #line 925 "conf_parser.y" /* yacc.c:1646  */
3474      {
3475    if (conf_parser_ctx.pass == 2)
3476      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3477   }
3478 < #line 3426 "conf_parser.c" /* yacc.c:1646  */
3478 > #line 3479 "conf_parser.c" /* yacc.c:1646  */
3479      break;
3480  
3481 <  case 122:
3482 < #line 918 "conf_parser.y" /* yacc.c:1646  */
3481 >  case 109:
3482 > #line 934 "conf_parser.y" /* yacc.c:1646  */
3483      {
3484    if (conf_parser_ctx.pass == 2)
3485 <    ConfigLoggingEntry.use_logging = yylval.number;
3485 >    reset_block_state();
3486   }
3487 < #line 3435 "conf_parser.c" /* yacc.c:1646  */
3487 > #line 3488 "conf_parser.c" /* yacc.c:1646  */
3488 >    break;
3489 >
3490 >  case 110:
3491 > #line 938 "conf_parser.y" /* yacc.c:1646  */
3492 >    {
3493 >  if (conf_parser_ctx.pass != 2)
3494 >    break;
3495 >
3496 >  if (!block_state.command.buf[0] ||
3497 >      !block_state.name.buf[0] ||
3498 >      !block_state.nick.buf[0] ||
3499 >      !block_state.host.buf[0])
3500 >    break;
3501 >
3502 >  pseudo_register(block_state.name.buf, block_state.nick.buf, block_state.host.buf,
3503 >                  block_state.prepend.buf, block_state.command.buf);
3504 > }
3505 > #line 3506 "conf_parser.c" /* yacc.c:1646  */
3506 >    break;
3507 >
3508 >  case 118:
3509 > #line 956 "conf_parser.y" /* yacc.c:1646  */
3510 >    {
3511 >  if (conf_parser_ctx.pass == 2)
3512 >    strlcpy(block_state.command.buf, yylval.string, sizeof(block_state.command.buf));
3513 > }
3514 > #line 3515 "conf_parser.c" /* yacc.c:1646  */
3515 >    break;
3516 >
3517 >  case 119:
3518 > #line 962 "conf_parser.y" /* yacc.c:1646  */
3519 >    {
3520 >  if (conf_parser_ctx.pass == 2)
3521 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3522 > }
3523 > #line 3524 "conf_parser.c" /* yacc.c:1646  */
3524 >    break;
3525 >
3526 >  case 120:
3527 > #line 968 "conf_parser.y" /* yacc.c:1646  */
3528 >    {
3529 >  if (conf_parser_ctx.pass == 2)
3530 >    strlcpy(block_state.prepend.buf, yylval.string, sizeof(block_state.prepend.buf));
3531 > }
3532 > #line 3533 "conf_parser.c" /* yacc.c:1646  */
3533 >    break;
3534 >
3535 >  case 121:
3536 > #line 974 "conf_parser.y" /* yacc.c:1646  */
3537 >    {
3538 >  if (conf_parser_ctx.pass == 2)
3539 >  {
3540 >    struct split_nuh_item nuh;
3541 >
3542 >    nuh.nuhmask  = yylval.string;
3543 >    nuh.nickptr  = NULL;
3544 >    nuh.userptr  = block_state.user.buf;
3545 >    nuh.hostptr  = block_state.host.buf;
3546 >    nuh.nicksize = 0;
3547 >    nuh.usersize = sizeof(block_state.nick.buf);
3548 >    nuh.hostsize = sizeof(block_state.host.buf);
3549 >    split_nuh(&nuh);
3550 >
3551 >    strlcpy(block_state.nick.buf, nuh.userptr, sizeof(block_state.nick.buf));
3552 >    strlcpy(block_state.host.buf, nuh.hostptr, sizeof(block_state.host.buf));
3553 >  }
3554 > }
3555 > #line 3556 "conf_parser.c" /* yacc.c:1646  */
3556 >    break;
3557 >
3558 >  case 128:
3559 > #line 1003 "conf_parser.y" /* yacc.c:1646  */
3560 >    {
3561 >  if (conf_parser_ctx.pass == 2)
3562 >    ConfigLog.use_logging = yylval.number;
3563 > }
3564 > #line 3565 "conf_parser.c" /* yacc.c:1646  */
3565      break;
3566  
3567 <  case 123:
3568 < #line 924 "conf_parser.y" /* yacc.c:1646  */
3567 >  case 129:
3568 > #line 1009 "conf_parser.y" /* yacc.c:1646  */
3569      {
3570    if (conf_parser_ctx.pass == 2)
3571      reset_block_state();
3572   }
3573 < #line 3444 "conf_parser.c" /* yacc.c:1646  */
3573 > #line 3574 "conf_parser.c" /* yacc.c:1646  */
3574      break;
3575  
3576 <  case 124:
3577 < #line 928 "conf_parser.y" /* yacc.c:1646  */
3576 >  case 130:
3577 > #line 1013 "conf_parser.y" /* yacc.c:1646  */
3578      {
3579    if (conf_parser_ctx.pass != 2)
3580      break;
# Line 3453 | Line 3583 | yyreduce:
3583      log_set_file(block_state.type.value, block_state.size.value,
3584                   block_state.file.buf);
3585   }
3586 < #line 3457 "conf_parser.c" /* yacc.c:1646  */
3586 > #line 3587 "conf_parser.c" /* yacc.c:1646  */
3587      break;
3588  
3589 <  case 131:
3590 < #line 944 "conf_parser.y" /* yacc.c:1646  */
3589 >  case 137:
3590 > #line 1029 "conf_parser.y" /* yacc.c:1646  */
3591      {
3592    if (conf_parser_ctx.pass != 2)
3593      break;
3594  
3595    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3596   }
3597 < #line 3468 "conf_parser.c" /* yacc.c:1646  */
3597 > #line 3598 "conf_parser.c" /* yacc.c:1646  */
3598      break;
3599  
3600 <  case 132:
3601 < #line 952 "conf_parser.y" /* yacc.c:1646  */
3600 >  case 138:
3601 > #line 1037 "conf_parser.y" /* yacc.c:1646  */
3602      {
3603    block_state.size.value = (yyvsp[-1].number);
3604   }
3605 < #line 3476 "conf_parser.c" /* yacc.c:1646  */
3605 > #line 3606 "conf_parser.c" /* yacc.c:1646  */
3606      break;
3607  
3608 <  case 133:
3609 < #line 955 "conf_parser.y" /* yacc.c:1646  */
3608 >  case 139:
3609 > #line 1040 "conf_parser.y" /* yacc.c:1646  */
3610      {
3611    block_state.size.value = 0;
3612   }
3613 < #line 3484 "conf_parser.c" /* yacc.c:1646  */
3613 > #line 3614 "conf_parser.c" /* yacc.c:1646  */
3614      break;
3615  
3616 <  case 134:
3617 < #line 960 "conf_parser.y" /* yacc.c:1646  */
3616 >  case 140:
3617 > #line 1045 "conf_parser.y" /* yacc.c:1646  */
3618      {
3619    if (conf_parser_ctx.pass == 2)
3620      block_state.type.value = 0;
3621   }
3622 < #line 3493 "conf_parser.c" /* yacc.c:1646  */
3622 > #line 3623 "conf_parser.c" /* yacc.c:1646  */
3623      break;
3624  
3625 <  case 138:
3626 < #line 967 "conf_parser.y" /* yacc.c:1646  */
3625 >  case 144:
3626 > #line 1052 "conf_parser.y" /* yacc.c:1646  */
3627      {
3628    if (conf_parser_ctx.pass == 2)
3629      block_state.type.value = LOG_TYPE_USER;
3630   }
3631 < #line 3502 "conf_parser.c" /* yacc.c:1646  */
3631 > #line 3632 "conf_parser.c" /* yacc.c:1646  */
3632      break;
3633  
3634 <  case 139:
3635 < #line 971 "conf_parser.y" /* yacc.c:1646  */
3634 >  case 145:
3635 > #line 1056 "conf_parser.y" /* yacc.c:1646  */
3636      {
3637    if (conf_parser_ctx.pass == 2)
3638      block_state.type.value = LOG_TYPE_OPER;
3639   }
3640 < #line 3511 "conf_parser.c" /* yacc.c:1646  */
3640 > #line 3641 "conf_parser.c" /* yacc.c:1646  */
3641      break;
3642  
3643 <  case 140:
3644 < #line 975 "conf_parser.y" /* yacc.c:1646  */
3643 >  case 146:
3644 > #line 1060 "conf_parser.y" /* yacc.c:1646  */
3645      {
3646    if (conf_parser_ctx.pass == 2)
3647      block_state.type.value = LOG_TYPE_GLINE;
3648   }
3649 < #line 3520 "conf_parser.c" /* yacc.c:1646  */
3649 > #line 3650 "conf_parser.c" /* yacc.c:1646  */
3650      break;
3651  
3652 <  case 141:
3653 < #line 979 "conf_parser.y" /* yacc.c:1646  */
3652 >  case 147:
3653 > #line 1064 "conf_parser.y" /* yacc.c:1646  */
3654      {
3655    if (conf_parser_ctx.pass == 2)
3656      block_state.type.value = LOG_TYPE_XLINE;
3657   }
3658 < #line 3529 "conf_parser.c" /* yacc.c:1646  */
3658 > #line 3659 "conf_parser.c" /* yacc.c:1646  */
3659      break;
3660  
3661 <  case 142:
3662 < #line 983 "conf_parser.y" /* yacc.c:1646  */
3661 >  case 148:
3662 > #line 1068 "conf_parser.y" /* yacc.c:1646  */
3663      {
3664    if (conf_parser_ctx.pass == 2)
3665      block_state.type.value = LOG_TYPE_RESV;
3666   }
3667 < #line 3538 "conf_parser.c" /* yacc.c:1646  */
3667 > #line 3668 "conf_parser.c" /* yacc.c:1646  */
3668      break;
3669  
3670 <  case 143:
3671 < #line 987 "conf_parser.y" /* yacc.c:1646  */
3670 >  case 149:
3671 > #line 1072 "conf_parser.y" /* yacc.c:1646  */
3672      {
3673    if (conf_parser_ctx.pass == 2)
3674      block_state.type.value = LOG_TYPE_DLINE;
3675   }
3676 < #line 3547 "conf_parser.c" /* yacc.c:1646  */
3676 > #line 3677 "conf_parser.c" /* yacc.c:1646  */
3677      break;
3678  
3679 <  case 144:
3680 < #line 991 "conf_parser.y" /* yacc.c:1646  */
3679 >  case 150:
3680 > #line 1076 "conf_parser.y" /* yacc.c:1646  */
3681      {
3682    if (conf_parser_ctx.pass == 2)
3683      block_state.type.value = LOG_TYPE_KLINE;
3684   }
3685 < #line 3556 "conf_parser.c" /* yacc.c:1646  */
3685 > #line 3686 "conf_parser.c" /* yacc.c:1646  */
3686      break;
3687  
3688 <  case 145:
3689 < #line 995 "conf_parser.y" /* yacc.c:1646  */
3688 >  case 151:
3689 > #line 1080 "conf_parser.y" /* yacc.c:1646  */
3690      {
3691    if (conf_parser_ctx.pass == 2)
3692      block_state.type.value = LOG_TYPE_KILL;
3693   }
3694 < #line 3565 "conf_parser.c" /* yacc.c:1646  */
3694 > #line 3695 "conf_parser.c" /* yacc.c:1646  */
3695      break;
3696  
3697 <  case 146:
3698 < #line 999 "conf_parser.y" /* yacc.c:1646  */
3697 >  case 152:
3698 > #line 1084 "conf_parser.y" /* yacc.c:1646  */
3699      {
3700    if (conf_parser_ctx.pass == 2)
3701      block_state.type.value = LOG_TYPE_DEBUG;
3702   }
3703 < #line 3574 "conf_parser.c" /* yacc.c:1646  */
3703 > #line 3704 "conf_parser.c" /* yacc.c:1646  */
3704      break;
3705  
3706 <  case 147:
3707 < #line 1009 "conf_parser.y" /* yacc.c:1646  */
3706 >  case 153:
3707 > #line 1094 "conf_parser.y" /* yacc.c:1646  */
3708      {
3709    if (conf_parser_ctx.pass != 2)
3710      break;
# Line 3582 | Line 3712 | yyreduce:
3712    reset_block_state();
3713    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3714   }
3715 < #line 3586 "conf_parser.c" /* yacc.c:1646  */
3715 > #line 3716 "conf_parser.c" /* yacc.c:1646  */
3716      break;
3717  
3718 <  case 148:
3719 < #line 1016 "conf_parser.y" /* yacc.c:1646  */
3718 >  case 154:
3719 > #line 1101 "conf_parser.y" /* yacc.c:1646  */
3720      {
3721 <  dlink_node *ptr = NULL;
3721 >  dlink_node *node = NULL;
3722  
3723    if (conf_parser_ctx.pass != 2)
3724      break;
# Line 3604 | Line 3734 | yyreduce:
3734      break;
3735   #endif
3736  
3737 <  DLINK_FOREACH(ptr, block_state.mask.list.head)
3737 >  DLINK_FOREACH(node, block_state.mask.list.head)
3738    {
3739      struct MaskItem *conf = NULL;
3740      struct split_nuh_item nuh;
3741  
3742 <    nuh.nuhmask  = ptr->data;
3742 >    nuh.nuhmask  = node->data;
3743      nuh.nickptr  = NULL;
3744      nuh.userptr  = block_state.user.buf;
3745      nuh.hostptr  = block_state.host.buf;
# Line 3644 | Line 3774 | yyreduce:
3774  
3775        if ((file = BIO_new_file(block_state.file.buf, "r")) == NULL)
3776        {
3777 <        conf_error_report("Ignoring rsa_public_key_file -- file doesn't exist");
3777 >        ilog(LOG_TYPE_IRCD, "Ignoring rsa_public_key_file -- file doesn't exist");
3778          break;
3779        }
3780  
3781        if ((pkey = PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL)) == NULL)
3782 <        conf_error_report("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
3782 >        ilog(LOG_TYPE_IRCD, "Ignoring rsa_public_key_file -- key invalid; check key syntax");
3783 >      else
3784 >      {
3785 >        if (RSA_size(pkey) > 128)
3786 >          ilog(LOG_TYPE_IRCD, "Ignoring rsa_public_key_file -- key size must be 1024 or below");
3787 >        else
3788 >          conf->rsa_public_key = pkey;
3789 >      }
3790  
3654      conf->rsa_public_key = pkey;
3791        BIO_set_close(file, BIO_CLOSE);
3792        BIO_free(file);
3793      }
3794   #endif /* HAVE_LIBCRYPTO */
3795    }
3796   }
3797 < #line 3662 "conf_parser.c" /* yacc.c:1646  */
3797 > #line 3798 "conf_parser.c" /* yacc.c:1646  */
3798      break;
3799  
3800 <  case 162:
3801 < #line 1102 "conf_parser.y" /* yacc.c:1646  */
3800 >  case 168:
3801 > #line 1193 "conf_parser.y" /* yacc.c:1646  */
3802      {
3803    if (conf_parser_ctx.pass == 2)
3804      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3805   }
3806 < #line 3671 "conf_parser.c" /* yacc.c:1646  */
3806 > #line 3807 "conf_parser.c" /* yacc.c:1646  */
3807      break;
3808  
3809 <  case 163:
3810 < #line 1108 "conf_parser.y" /* yacc.c:1646  */
3809 >  case 169:
3810 > #line 1199 "conf_parser.y" /* yacc.c:1646  */
3811      {
3812    if (conf_parser_ctx.pass == 2)
3813      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3814   }
3815 < #line 3680 "conf_parser.c" /* yacc.c:1646  */
3815 > #line 3816 "conf_parser.c" /* yacc.c:1646  */
3816      break;
3817  
3818 <  case 164:
3819 < #line 1114 "conf_parser.y" /* yacc.c:1646  */
3818 >  case 170:
3819 > #line 1205 "conf_parser.y" /* yacc.c:1646  */
3820      {
3821    if (conf_parser_ctx.pass == 2)
3822      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
3823   }
3824 < #line 3689 "conf_parser.c" /* yacc.c:1646  */
3824 > #line 3825 "conf_parser.c" /* yacc.c:1646  */
3825      break;
3826  
3827 <  case 165:
3828 < #line 1120 "conf_parser.y" /* yacc.c:1646  */
3827 >  case 171:
3828 > #line 1211 "conf_parser.y" /* yacc.c:1646  */
3829      {
3830    if (conf_parser_ctx.pass != 2)
3831      break;
# Line 3699 | Line 3835 | yyreduce:
3835    else
3836      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3837   }
3838 < #line 3703 "conf_parser.c" /* yacc.c:1646  */
3838 > #line 3839 "conf_parser.c" /* yacc.c:1646  */
3839      break;
3840  
3841 <  case 166:
3842 < #line 1131 "conf_parser.y" /* yacc.c:1646  */
3841 >  case 172:
3842 > #line 1222 "conf_parser.y" /* yacc.c:1646  */
3843      {
3844    if (conf_parser_ctx.pass == 2)
3845      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3846   }
3847 < #line 3712 "conf_parser.c" /* yacc.c:1646  */
3847 > #line 3848 "conf_parser.c" /* yacc.c:1646  */
3848      break;
3849  
3850 <  case 167:
3851 < #line 1137 "conf_parser.y" /* yacc.c:1646  */
3850 >  case 173:
3851 > #line 1228 "conf_parser.y" /* yacc.c:1646  */
3852      {
3853    if (conf_parser_ctx.pass == 2)
3854      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
3855   }
3856 < #line 3721 "conf_parser.c" /* yacc.c:1646  */
3856 > #line 3857 "conf_parser.c" /* yacc.c:1646  */
3857      break;
3858  
3859 <  case 168:
3860 < #line 1143 "conf_parser.y" /* yacc.c:1646  */
3859 >  case 174:
3860 > #line 1234 "conf_parser.y" /* yacc.c:1646  */
3861      {
3862    if (conf_parser_ctx.pass != 2)
3863      break;
# Line 3731 | Line 3867 | yyreduce:
3867    else
3868      block_state.flags.value &= ~CONF_FLAGS_SSL;
3869   }
3870 < #line 3735 "conf_parser.c" /* yacc.c:1646  */
3870 > #line 3871 "conf_parser.c" /* yacc.c:1646  */
3871      break;
3872  
3873 <  case 169:
3874 < #line 1154 "conf_parser.y" /* yacc.c:1646  */
3873 >  case 175:
3874 > #line 1245 "conf_parser.y" /* yacc.c:1646  */
3875      {
3876    if (conf_parser_ctx.pass == 2)
3877      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3878   }
3879 < #line 3744 "conf_parser.c" /* yacc.c:1646  */
3879 > #line 3880 "conf_parser.c" /* yacc.c:1646  */
3880      break;
3881  
3882 <  case 170:
3883 < #line 1160 "conf_parser.y" /* yacc.c:1646  */
3882 >  case 176:
3883 > #line 1251 "conf_parser.y" /* yacc.c:1646  */
3884      {
3885    if (conf_parser_ctx.pass == 2)
3886      block_state.modes.value = 0;
3887   }
3888 < #line 3753 "conf_parser.c" /* yacc.c:1646  */
3888 > #line 3889 "conf_parser.c" /* yacc.c:1646  */
3889      break;
3890  
3891 <  case 174:
3892 < #line 1167 "conf_parser.y" /* yacc.c:1646  */
3891 >  case 180:
3892 > #line 1258 "conf_parser.y" /* yacc.c:1646  */
3893      {
3894    if (conf_parser_ctx.pass == 2)
3895      block_state.modes.value |= UMODE_BOTS;
3896   }
3897 < #line 3762 "conf_parser.c" /* yacc.c:1646  */
3897 > #line 3898 "conf_parser.c" /* yacc.c:1646  */
3898      break;
3899  
3900 <  case 175:
3901 < #line 1171 "conf_parser.y" /* yacc.c:1646  */
3900 >  case 181:
3901 > #line 1262 "conf_parser.y" /* yacc.c:1646  */
3902      {
3903    if (conf_parser_ctx.pass == 2)
3904      block_state.modes.value |= UMODE_CCONN;
3905   }
3906 < #line 3771 "conf_parser.c" /* yacc.c:1646  */
3906 > #line 3907 "conf_parser.c" /* yacc.c:1646  */
3907      break;
3908  
3909 <  case 176:
3910 < #line 1175 "conf_parser.y" /* yacc.c:1646  */
3909 >  case 182:
3910 > #line 1266 "conf_parser.y" /* yacc.c:1646  */
3911      {
3912    if (conf_parser_ctx.pass == 2)
3913      block_state.modes.value |= UMODE_DEAF;
3914   }
3915 < #line 3780 "conf_parser.c" /* yacc.c:1646  */
3915 > #line 3916 "conf_parser.c" /* yacc.c:1646  */
3916      break;
3917  
3918 <  case 177:
3919 < #line 1179 "conf_parser.y" /* yacc.c:1646  */
3918 >  case 183:
3919 > #line 1270 "conf_parser.y" /* yacc.c:1646  */
3920      {
3921    if (conf_parser_ctx.pass == 2)
3922      block_state.modes.value |= UMODE_DEBUG;
3923   }
3924 < #line 3789 "conf_parser.c" /* yacc.c:1646  */
3924 > #line 3925 "conf_parser.c" /* yacc.c:1646  */
3925      break;
3926  
3927 <  case 178:
3928 < #line 1183 "conf_parser.y" /* yacc.c:1646  */
3927 >  case 184:
3928 > #line 1274 "conf_parser.y" /* yacc.c:1646  */
3929      {
3930    if (conf_parser_ctx.pass == 2)
3931      block_state.modes.value |= UMODE_FULL;
3932   }
3933 < #line 3798 "conf_parser.c" /* yacc.c:1646  */
3933 > #line 3934 "conf_parser.c" /* yacc.c:1646  */
3934      break;
3935  
3936 <  case 179:
3937 < #line 1187 "conf_parser.y" /* yacc.c:1646  */
3936 >  case 185:
3937 > #line 1278 "conf_parser.y" /* yacc.c:1646  */
3938      {
3939    if (conf_parser_ctx.pass == 2)
3940      block_state.modes.value |= UMODE_HIDDEN;
3941   }
3942 < #line 3807 "conf_parser.c" /* yacc.c:1646  */
3942 > #line 3943 "conf_parser.c" /* yacc.c:1646  */
3943      break;
3944  
3945 <  case 180:
3946 < #line 1191 "conf_parser.y" /* yacc.c:1646  */
3945 >  case 186:
3946 > #line 1282 "conf_parser.y" /* yacc.c:1646  */
3947 >    {
3948 >  if (conf_parser_ctx.pass == 2)
3949 >    block_state.modes.value |= UMODE_HIDECHANS;
3950 > }
3951 > #line 3952 "conf_parser.c" /* yacc.c:1646  */
3952 >    break;
3953 >
3954 >  case 187:
3955 > #line 1286 "conf_parser.y" /* yacc.c:1646  */
3956 >    {
3957 >  if (conf_parser_ctx.pass == 2)
3958 >    block_state.modes.value |= UMODE_HIDEIDLE;
3959 > }
3960 > #line 3961 "conf_parser.c" /* yacc.c:1646  */
3961 >    break;
3962 >
3963 >  case 188:
3964 > #line 1290 "conf_parser.y" /* yacc.c:1646  */
3965      {
3966    if (conf_parser_ctx.pass == 2)
3967      block_state.modes.value |= UMODE_SKILL;
3968   }
3969 < #line 3816 "conf_parser.c" /* yacc.c:1646  */
3969 > #line 3970 "conf_parser.c" /* yacc.c:1646  */
3970      break;
3971  
3972 <  case 181:
3973 < #line 1195 "conf_parser.y" /* yacc.c:1646  */
3972 >  case 189:
3973 > #line 1294 "conf_parser.y" /* yacc.c:1646  */
3974      {
3975    if (conf_parser_ctx.pass == 2)
3976      block_state.modes.value |= UMODE_NCHANGE;
3977   }
3978 < #line 3825 "conf_parser.c" /* yacc.c:1646  */
3978 > #line 3979 "conf_parser.c" /* yacc.c:1646  */
3979      break;
3980  
3981 <  case 182:
3982 < #line 1199 "conf_parser.y" /* yacc.c:1646  */
3981 >  case 190:
3982 > #line 1298 "conf_parser.y" /* yacc.c:1646  */
3983      {
3984    if (conf_parser_ctx.pass == 2)
3985      block_state.modes.value |= UMODE_REJ;
3986   }
3987 < #line 3834 "conf_parser.c" /* yacc.c:1646  */
3987 > #line 3988 "conf_parser.c" /* yacc.c:1646  */
3988      break;
3989  
3990 <  case 183:
3991 < #line 1203 "conf_parser.y" /* yacc.c:1646  */
3990 >  case 191:
3991 > #line 1302 "conf_parser.y" /* yacc.c:1646  */
3992      {
3993    if (conf_parser_ctx.pass == 2)
3994      block_state.modes.value |= UMODE_UNAUTH;
3995   }
3996 < #line 3843 "conf_parser.c" /* yacc.c:1646  */
3996 > #line 3997 "conf_parser.c" /* yacc.c:1646  */
3997      break;
3998  
3999 <  case 184:
4000 < #line 1207 "conf_parser.y" /* yacc.c:1646  */
3999 >  case 192:
4000 > #line 1306 "conf_parser.y" /* yacc.c:1646  */
4001      {
4002    if (conf_parser_ctx.pass == 2)
4003      block_state.modes.value |= UMODE_SPY;
4004   }
4005 < #line 3852 "conf_parser.c" /* yacc.c:1646  */
4005 > #line 4006 "conf_parser.c" /* yacc.c:1646  */
4006      break;
4007  
4008 <  case 185:
4009 < #line 1211 "conf_parser.y" /* yacc.c:1646  */
4008 >  case 193:
4009 > #line 1310 "conf_parser.y" /* yacc.c:1646  */
4010      {
4011    if (conf_parser_ctx.pass == 2)
4012      block_state.modes.value |= UMODE_EXTERNAL;
4013   }
4014 < #line 3861 "conf_parser.c" /* yacc.c:1646  */
3861 <    break;
3862 <
3863 <  case 186:
3864 < #line 1215 "conf_parser.y" /* yacc.c:1646  */
3865 <    {
3866 <  if (conf_parser_ctx.pass == 2)
3867 <    block_state.modes.value |= UMODE_OPERWALL;
3868 < }
3869 < #line 3870 "conf_parser.c" /* yacc.c:1646  */
4014 > #line 4015 "conf_parser.c" /* yacc.c:1646  */
4015      break;
4016  
4017 <  case 187:
4018 < #line 1219 "conf_parser.y" /* yacc.c:1646  */
4017 >  case 194:
4018 > #line 1314 "conf_parser.y" /* yacc.c:1646  */
4019      {
4020    if (conf_parser_ctx.pass == 2)
4021      block_state.modes.value |= UMODE_SERVNOTICE;
4022   }
4023 < #line 3879 "conf_parser.c" /* yacc.c:1646  */
4023 > #line 4024 "conf_parser.c" /* yacc.c:1646  */
4024      break;
4025  
4026 <  case 188:
4027 < #line 1223 "conf_parser.y" /* yacc.c:1646  */
4026 >  case 195:
4027 > #line 1318 "conf_parser.y" /* yacc.c:1646  */
4028      {
4029    if (conf_parser_ctx.pass == 2)
4030      block_state.modes.value |= UMODE_INVISIBLE;
4031   }
4032 < #line 3888 "conf_parser.c" /* yacc.c:1646  */
4032 > #line 4033 "conf_parser.c" /* yacc.c:1646  */
4033      break;
4034  
4035 <  case 189:
4036 < #line 1227 "conf_parser.y" /* yacc.c:1646  */
4035 >  case 196:
4036 > #line 1322 "conf_parser.y" /* yacc.c:1646  */
4037      {
4038    if (conf_parser_ctx.pass == 2)
4039      block_state.modes.value |= UMODE_WALLOP;
4040   }
4041 < #line 3897 "conf_parser.c" /* yacc.c:1646  */
4041 > #line 4042 "conf_parser.c" /* yacc.c:1646  */
4042      break;
4043  
4044 <  case 190:
4045 < #line 1231 "conf_parser.y" /* yacc.c:1646  */
4044 >  case 197:
4045 > #line 1326 "conf_parser.y" /* yacc.c:1646  */
4046      {
4047    if (conf_parser_ctx.pass == 2)
4048      block_state.modes.value |= UMODE_SOFTCALLERID;
4049   }
4050 < #line 3906 "conf_parser.c" /* yacc.c:1646  */
4050 > #line 4051 "conf_parser.c" /* yacc.c:1646  */
4051      break;
4052  
4053 <  case 191:
4054 < #line 1235 "conf_parser.y" /* yacc.c:1646  */
4053 >  case 198:
4054 > #line 1330 "conf_parser.y" /* yacc.c:1646  */
4055      {
4056    if (conf_parser_ctx.pass == 2)
4057      block_state.modes.value |= UMODE_CALLERID;
4058   }
4059 < #line 3915 "conf_parser.c" /* yacc.c:1646  */
4059 > #line 4060 "conf_parser.c" /* yacc.c:1646  */
4060      break;
4061  
4062 <  case 192:
4063 < #line 1239 "conf_parser.y" /* yacc.c:1646  */
4062 >  case 199:
4063 > #line 1334 "conf_parser.y" /* yacc.c:1646  */
4064      {
4065    if (conf_parser_ctx.pass == 2)
4066      block_state.modes.value |= UMODE_LOCOPS;
4067   }
4068 < #line 3924 "conf_parser.c" /* yacc.c:1646  */
4068 > #line 4069 "conf_parser.c" /* yacc.c:1646  */
4069      break;
4070  
4071 <  case 193:
4072 < #line 1243 "conf_parser.y" /* yacc.c:1646  */
4071 >  case 200:
4072 > #line 1338 "conf_parser.y" /* yacc.c:1646  */
4073      {
4074    if (conf_parser_ctx.pass == 2)
4075      block_state.modes.value |= UMODE_REGONLY;
4076   }
4077 < #line 3933 "conf_parser.c" /* yacc.c:1646  */
4077 > #line 4078 "conf_parser.c" /* yacc.c:1646  */
4078      break;
4079  
4080 <  case 194:
4081 < #line 1247 "conf_parser.y" /* yacc.c:1646  */
4080 >  case 201:
4081 > #line 1342 "conf_parser.y" /* yacc.c:1646  */
4082      {
4083    if (conf_parser_ctx.pass == 2)
4084      block_state.modes.value |= UMODE_FARCONNECT;
4085   }
4086 < #line 3942 "conf_parser.c" /* yacc.c:1646  */
4086 > #line 4087 "conf_parser.c" /* yacc.c:1646  */
4087      break;
4088  
4089 <  case 195:
4090 < #line 1253 "conf_parser.y" /* yacc.c:1646  */
4089 >  case 202:
4090 > #line 1348 "conf_parser.y" /* yacc.c:1646  */
4091      {
4092    if (conf_parser_ctx.pass == 2)
4093      block_state.port.value = 0;
4094   }
4095 < #line 3951 "conf_parser.c" /* yacc.c:1646  */
4095 > #line 4096 "conf_parser.c" /* yacc.c:1646  */
4096      break;
4097  
4098 <  case 199:
4099 < #line 1260 "conf_parser.y" /* yacc.c:1646  */
4098 >  case 206:
4099 > #line 1355 "conf_parser.y" /* yacc.c:1646  */
4100      {
4101    if (conf_parser_ctx.pass == 2)
4102      block_state.port.value |= OPER_FLAG_KILL_REMOTE;
4103   }
4104 < #line 3960 "conf_parser.c" /* yacc.c:1646  */
4104 > #line 4105 "conf_parser.c" /* yacc.c:1646  */
4105      break;
4106  
4107 <  case 200:
4108 < #line 1264 "conf_parser.y" /* yacc.c:1646  */
4107 >  case 207:
4108 > #line 1359 "conf_parser.y" /* yacc.c:1646  */
4109      {
4110    if (conf_parser_ctx.pass == 2)
4111      block_state.port.value |= OPER_FLAG_KILL;
4112   }
4113 < #line 3969 "conf_parser.c" /* yacc.c:1646  */
4113 > #line 4114 "conf_parser.c" /* yacc.c:1646  */
4114      break;
4115  
4116 <  case 201:
4117 < #line 1268 "conf_parser.y" /* yacc.c:1646  */
4116 >  case 208:
4117 > #line 1363 "conf_parser.y" /* yacc.c:1646  */
4118      {
4119    if (conf_parser_ctx.pass == 2)
4120      block_state.port.value |= OPER_FLAG_CONNECT_REMOTE;
4121   }
4122 < #line 3978 "conf_parser.c" /* yacc.c:1646  */
4122 > #line 4123 "conf_parser.c" /* yacc.c:1646  */
4123      break;
4124  
4125 <  case 202:
4126 < #line 1272 "conf_parser.y" /* yacc.c:1646  */
4125 >  case 209:
4126 > #line 1367 "conf_parser.y" /* yacc.c:1646  */
4127      {
4128    if (conf_parser_ctx.pass == 2)
4129      block_state.port.value |= OPER_FLAG_CONNECT;
4130   }
4131 < #line 3987 "conf_parser.c" /* yacc.c:1646  */
4131 > #line 4132 "conf_parser.c" /* yacc.c:1646  */
4132      break;
4133  
4134 <  case 203:
4135 < #line 1276 "conf_parser.y" /* yacc.c:1646  */
4134 >  case 210:
4135 > #line 1371 "conf_parser.y" /* yacc.c:1646  */
4136      {
4137    if (conf_parser_ctx.pass == 2)
4138      block_state.port.value |= OPER_FLAG_SQUIT_REMOTE;
4139   }
4140 < #line 3996 "conf_parser.c" /* yacc.c:1646  */
4140 > #line 4141 "conf_parser.c" /* yacc.c:1646  */
4141      break;
4142  
4143 <  case 204:
4144 < #line 1280 "conf_parser.y" /* yacc.c:1646  */
4143 >  case 211:
4144 > #line 1375 "conf_parser.y" /* yacc.c:1646  */
4145      {
4146    if (conf_parser_ctx.pass == 2)
4147      block_state.port.value |= OPER_FLAG_SQUIT;
4148   }
4149 < #line 4005 "conf_parser.c" /* yacc.c:1646  */
4149 > #line 4150 "conf_parser.c" /* yacc.c:1646  */
4150      break;
4151  
4152 <  case 205:
4153 < #line 1284 "conf_parser.y" /* yacc.c:1646  */
4152 >  case 212:
4153 > #line 1379 "conf_parser.y" /* yacc.c:1646  */
4154      {
4155    if (conf_parser_ctx.pass == 2)
4156 <    block_state.port.value |= OPER_FLAG_K;
4156 >    block_state.port.value |= OPER_FLAG_KLINE;
4157   }
4158 < #line 4014 "conf_parser.c" /* yacc.c:1646  */
4158 > #line 4159 "conf_parser.c" /* yacc.c:1646  */
4159      break;
4160  
4161 <  case 206:
4162 < #line 1288 "conf_parser.y" /* yacc.c:1646  */
4161 >  case 213:
4162 > #line 1383 "conf_parser.y" /* yacc.c:1646  */
4163      {
4164    if (conf_parser_ctx.pass == 2)
4165      block_state.port.value |= OPER_FLAG_UNKLINE;
4166   }
4167 < #line 4023 "conf_parser.c" /* yacc.c:1646  */
4167 > #line 4168 "conf_parser.c" /* yacc.c:1646  */
4168      break;
4169  
4170 <  case 207:
4171 < #line 1292 "conf_parser.y" /* yacc.c:1646  */
4170 >  case 214:
4171 > #line 1387 "conf_parser.y" /* yacc.c:1646  */
4172      {
4173    if (conf_parser_ctx.pass == 2)
4174      block_state.port.value |= OPER_FLAG_DLINE;
4175   }
4176 < #line 4032 "conf_parser.c" /* yacc.c:1646  */
4176 > #line 4177 "conf_parser.c" /* yacc.c:1646  */
4177      break;
4178  
4179 <  case 208:
4180 < #line 1296 "conf_parser.y" /* yacc.c:1646  */
4179 >  case 215:
4180 > #line 1391 "conf_parser.y" /* yacc.c:1646  */
4181      {
4182    if (conf_parser_ctx.pass == 2)
4183      block_state.port.value |= OPER_FLAG_UNDLINE;
4184   }
4185 < #line 4041 "conf_parser.c" /* yacc.c:1646  */
4185 > #line 4186 "conf_parser.c" /* yacc.c:1646  */
4186      break;
4187  
4188 <  case 209:
4189 < #line 1300 "conf_parser.y" /* yacc.c:1646  */
4188 >  case 216:
4189 > #line 1395 "conf_parser.y" /* yacc.c:1646  */
4190      {
4191    if (conf_parser_ctx.pass == 2)
4192      block_state.port.value |= OPER_FLAG_XLINE;
4193   }
4194 < #line 4050 "conf_parser.c" /* yacc.c:1646  */
4194 > #line 4195 "conf_parser.c" /* yacc.c:1646  */
4195      break;
4196  
4197 <  case 210:
4198 < #line 1304 "conf_parser.y" /* yacc.c:1646  */
4197 >  case 217:
4198 > #line 1399 "conf_parser.y" /* yacc.c:1646  */
4199      {
4200    if (conf_parser_ctx.pass == 2)
4201      block_state.port.value |= OPER_FLAG_UNXLINE;
4202   }
4203 < #line 4059 "conf_parser.c" /* yacc.c:1646  */
4203 > #line 4204 "conf_parser.c" /* yacc.c:1646  */
4204      break;
4205  
4206 <  case 211:
4207 < #line 1308 "conf_parser.y" /* yacc.c:1646  */
4206 >  case 218:
4207 > #line 1403 "conf_parser.y" /* yacc.c:1646  */
4208      {
4209    if (conf_parser_ctx.pass == 2)
4210      block_state.port.value |= OPER_FLAG_GLINE;
4211   }
4212 < #line 4068 "conf_parser.c" /* yacc.c:1646  */
4212 > #line 4213 "conf_parser.c" /* yacc.c:1646  */
4213      break;
4214  
4215 <  case 212:
4216 < #line 1312 "conf_parser.y" /* yacc.c:1646  */
4215 >  case 219:
4216 > #line 1407 "conf_parser.y" /* yacc.c:1646  */
4217      {
4218    if (conf_parser_ctx.pass == 2)
4219      block_state.port.value |= OPER_FLAG_DIE;
4220   }
4221 < #line 4077 "conf_parser.c" /* yacc.c:1646  */
4221 > #line 4222 "conf_parser.c" /* yacc.c:1646  */
4222      break;
4223  
4224 <  case 213:
4225 < #line 1316 "conf_parser.y" /* yacc.c:1646  */
4224 >  case 220:
4225 > #line 1411 "conf_parser.y" /* yacc.c:1646  */
4226      {
4227    if (conf_parser_ctx.pass == 2)
4228      block_state.port.value |= OPER_FLAG_RESTART;
4229   }
4230 < #line 4086 "conf_parser.c" /* yacc.c:1646  */
4230 > #line 4231 "conf_parser.c" /* yacc.c:1646  */
4231      break;
4232  
4233 <  case 214:
4234 < #line 1320 "conf_parser.y" /* yacc.c:1646  */
4233 >  case 221:
4234 > #line 1415 "conf_parser.y" /* yacc.c:1646  */
4235      {
4236    if (conf_parser_ctx.pass == 2)
4237      block_state.port.value |= OPER_FLAG_REHASH;
4238   }
4239 < #line 4095 "conf_parser.c" /* yacc.c:1646  */
4239 > #line 4240 "conf_parser.c" /* yacc.c:1646  */
4240      break;
4241  
4242 <  case 215:
4243 < #line 1324 "conf_parser.y" /* yacc.c:1646  */
4242 >  case 222:
4243 > #line 1419 "conf_parser.y" /* yacc.c:1646  */
4244      {
4245    if (conf_parser_ctx.pass == 2)
4246      block_state.port.value |= OPER_FLAG_ADMIN;
4247   }
4248 < #line 4104 "conf_parser.c" /* yacc.c:1646  */
4104 <    break;
4105 <
4106 <  case 216:
4107 < #line 1328 "conf_parser.y" /* yacc.c:1646  */
4108 <    {
4109 <  if (conf_parser_ctx.pass == 2)
4110 <    block_state.port.value |= OPER_FLAG_OPERWALL;
4111 < }
4112 < #line 4113 "conf_parser.c" /* yacc.c:1646  */
4248 > #line 4249 "conf_parser.c" /* yacc.c:1646  */
4249      break;
4250  
4251 <  case 217:
4252 < #line 1332 "conf_parser.y" /* yacc.c:1646  */
4251 >  case 223:
4252 > #line 1423 "conf_parser.y" /* yacc.c:1646  */
4253      {
4254    if (conf_parser_ctx.pass == 2)
4255      block_state.port.value |= OPER_FLAG_GLOBOPS;
4256   }
4257 < #line 4122 "conf_parser.c" /* yacc.c:1646  */
4257 > #line 4258 "conf_parser.c" /* yacc.c:1646  */
4258      break;
4259  
4260 <  case 218:
4261 < #line 1336 "conf_parser.y" /* yacc.c:1646  */
4260 >  case 224:
4261 > #line 1427 "conf_parser.y" /* yacc.c:1646  */
4262      {
4263    if (conf_parser_ctx.pass == 2)
4264      block_state.port.value |= OPER_FLAG_WALLOPS;
4265   }
4266 < #line 4131 "conf_parser.c" /* yacc.c:1646  */
4266 > #line 4267 "conf_parser.c" /* yacc.c:1646  */
4267      break;
4268  
4269 <  case 219:
4270 < #line 1340 "conf_parser.y" /* yacc.c:1646  */
4269 >  case 225:
4270 > #line 1431 "conf_parser.y" /* yacc.c:1646  */
4271      {
4272    if (conf_parser_ctx.pass == 2)
4273      block_state.port.value |= OPER_FLAG_LOCOPS;
4274   }
4275 < #line 4140 "conf_parser.c" /* yacc.c:1646  */
4275 > #line 4276 "conf_parser.c" /* yacc.c:1646  */
4276      break;
4277  
4278 <  case 220:
4279 < #line 1344 "conf_parser.y" /* yacc.c:1646  */
4278 >  case 226:
4279 > #line 1435 "conf_parser.y" /* yacc.c:1646  */
4280      {
4281    if (conf_parser_ctx.pass == 2)
4282      block_state.port.value |= OPER_FLAG_REMOTEBAN;
4283   }
4284 < #line 4149 "conf_parser.c" /* yacc.c:1646  */
4284 > #line 4285 "conf_parser.c" /* yacc.c:1646  */
4285      break;
4286  
4287 <  case 221:
4288 < #line 1348 "conf_parser.y" /* yacc.c:1646  */
4287 >  case 227:
4288 > #line 1439 "conf_parser.y" /* yacc.c:1646  */
4289      {
4290    if (conf_parser_ctx.pass == 2)
4291      block_state.port.value |= OPER_FLAG_SET;
4292   }
4293 < #line 4158 "conf_parser.c" /* yacc.c:1646  */
4293 > #line 4294 "conf_parser.c" /* yacc.c:1646  */
4294      break;
4295  
4296 <  case 222:
4297 < #line 1352 "conf_parser.y" /* yacc.c:1646  */
4296 >  case 228:
4297 > #line 1443 "conf_parser.y" /* yacc.c:1646  */
4298      {
4299    if (conf_parser_ctx.pass == 2)
4300      block_state.port.value |= OPER_FLAG_MODULE;
4301   }
4302 < #line 4167 "conf_parser.c" /* yacc.c:1646  */
4302 > #line 4303 "conf_parser.c" /* yacc.c:1646  */
4303      break;
4304  
4305 <  case 223:
4306 < #line 1362 "conf_parser.y" /* yacc.c:1646  */
4305 >  case 229:
4306 > #line 1447 "conf_parser.y" /* yacc.c:1646  */
4307 >    {
4308 >  if (conf_parser_ctx.pass == 2)
4309 >    block_state.port.value |= OPER_FLAG_OPME;
4310 > }
4311 > #line 4312 "conf_parser.c" /* yacc.c:1646  */
4312 >    break;
4313 >
4314 >  case 230:
4315 > #line 1457 "conf_parser.y" /* yacc.c:1646  */
4316      {
4317    if (conf_parser_ctx.pass != 1)
4318      break;
# Line 4180 | Line 4325 | yyreduce:
4325    block_state.max_sendq.value = DEFAULT_SENDQ;
4326    block_state.max_recvq.value = DEFAULT_RECVQ;
4327   }
4328 < #line 4184 "conf_parser.c" /* yacc.c:1646  */
4328 > #line 4329 "conf_parser.c" /* yacc.c:1646  */
4329      break;
4330  
4331 <  case 224:
4332 < #line 1374 "conf_parser.y" /* yacc.c:1646  */
4331 >  case 231:
4332 > #line 1469 "conf_parser.y" /* yacc.c:1646  */
4333      {
4334    struct ClassItem *class = NULL;
4335  
# Line 4209 | Line 4354 | yyreduce:
4354    class->max_ident = block_state.max_ident.value;
4355    class->max_sendq = block_state.max_sendq.value;
4356    class->max_recvq = block_state.max_recvq.value;
4357 +  class->max_channels = block_state.max_channels.value;
4358  
4359    if (block_state.min_idle.value > block_state.max_idle.value)
4360    {
# Line 4232 | Line 4378 | yyreduce:
4378    class->cidr_bitlen_ipv6 = block_state.cidr_bitlen_ipv6.value;
4379    class->number_per_cidr = block_state.number_per_cidr.value;
4380   }
4381 < #line 4236 "conf_parser.c" /* yacc.c:1646  */
4381 > #line 4382 "conf_parser.c" /* yacc.c:1646  */
4382      break;
4383  
4384 <  case 244:
4385 < #line 1441 "conf_parser.y" /* yacc.c:1646  */
4384 >  case 252:
4385 > #line 1538 "conf_parser.y" /* yacc.c:1646  */
4386      {
4387    if (conf_parser_ctx.pass == 1)
4388      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4389   }
4390 < #line 4245 "conf_parser.c" /* yacc.c:1646  */
4390 > #line 4391 "conf_parser.c" /* yacc.c:1646  */
4391      break;
4392  
4393 <  case 245:
4394 < #line 1447 "conf_parser.y" /* yacc.c:1646  */
4393 >  case 253:
4394 > #line 1544 "conf_parser.y" /* yacc.c:1646  */
4395      {
4396    if (conf_parser_ctx.pass == 1)
4397      block_state.ping_freq.value = (yyvsp[-1].number);
4398   }
4399 < #line 4254 "conf_parser.c" /* yacc.c:1646  */
4399 > #line 4400 "conf_parser.c" /* yacc.c:1646  */
4400      break;
4401  
4402 <  case 246:
4403 < #line 1453 "conf_parser.y" /* yacc.c:1646  */
4402 >  case 254:
4403 > #line 1550 "conf_parser.y" /* yacc.c:1646  */
4404      {
4405    if (conf_parser_ctx.pass == 1)
4406      block_state.max_perip.value = (yyvsp[-1].number);
4407   }
4408 < #line 4263 "conf_parser.c" /* yacc.c:1646  */
4408 > #line 4409 "conf_parser.c" /* yacc.c:1646  */
4409      break;
4410  
4411 <  case 247:
4412 < #line 1459 "conf_parser.y" /* yacc.c:1646  */
4411 >  case 255:
4412 > #line 1556 "conf_parser.y" /* yacc.c:1646  */
4413      {
4414    if (conf_parser_ctx.pass == 1)
4415      block_state.con_freq.value = (yyvsp[-1].number);
4416   }
4417 < #line 4272 "conf_parser.c" /* yacc.c:1646  */
4417 > #line 4418 "conf_parser.c" /* yacc.c:1646  */
4418      break;
4419  
4420 <  case 248:
4421 < #line 1465 "conf_parser.y" /* yacc.c:1646  */
4420 >  case 256:
4421 > #line 1562 "conf_parser.y" /* yacc.c:1646  */
4422 >    {
4423 >  if (conf_parser_ctx.pass == 1)
4424 >    block_state.max_channels.value = (yyvsp[-1].number);
4425 > }
4426 > #line 4427 "conf_parser.c" /* yacc.c:1646  */
4427 >    break;
4428 >
4429 >  case 257:
4430 > #line 1568 "conf_parser.y" /* yacc.c:1646  */
4431      {
4432    if (conf_parser_ctx.pass == 1)
4433      block_state.max_total.value = (yyvsp[-1].number);
4434   }
4435 < #line 4281 "conf_parser.c" /* yacc.c:1646  */
4435 > #line 4436 "conf_parser.c" /* yacc.c:1646  */
4436      break;
4437  
4438 <  case 249:
4439 < #line 1471 "conf_parser.y" /* yacc.c:1646  */
4438 >  case 258:
4439 > #line 1574 "conf_parser.y" /* yacc.c:1646  */
4440      {
4441    if (conf_parser_ctx.pass == 1)
4442      block_state.max_global.value = (yyvsp[-1].number);
4443   }
4444 < #line 4290 "conf_parser.c" /* yacc.c:1646  */
4444 > #line 4445 "conf_parser.c" /* yacc.c:1646  */
4445      break;
4446  
4447 <  case 250:
4448 < #line 1477 "conf_parser.y" /* yacc.c:1646  */
4447 >  case 259:
4448 > #line 1580 "conf_parser.y" /* yacc.c:1646  */
4449      {
4450    if (conf_parser_ctx.pass == 1)
4451      block_state.max_local.value = (yyvsp[-1].number);
4452   }
4453 < #line 4299 "conf_parser.c" /* yacc.c:1646  */
4453 > #line 4454 "conf_parser.c" /* yacc.c:1646  */
4454      break;
4455  
4456 <  case 251:
4457 < #line 1483 "conf_parser.y" /* yacc.c:1646  */
4456 >  case 260:
4457 > #line 1586 "conf_parser.y" /* yacc.c:1646  */
4458      {
4459    if (conf_parser_ctx.pass == 1)
4460      block_state.max_ident.value = (yyvsp[-1].number);
4461   }
4462 < #line 4308 "conf_parser.c" /* yacc.c:1646  */
4462 > #line 4463 "conf_parser.c" /* yacc.c:1646  */
4463      break;
4464  
4465 <  case 252:
4466 < #line 1489 "conf_parser.y" /* yacc.c:1646  */
4465 >  case 261:
4466 > #line 1592 "conf_parser.y" /* yacc.c:1646  */
4467      {
4468    if (conf_parser_ctx.pass == 1)
4469      block_state.max_sendq.value = (yyvsp[-1].number);
4470   }
4471 < #line 4317 "conf_parser.c" /* yacc.c:1646  */
4471 > #line 4472 "conf_parser.c" /* yacc.c:1646  */
4472      break;
4473  
4474 <  case 253:
4475 < #line 1495 "conf_parser.y" /* yacc.c:1646  */
4474 >  case 262:
4475 > #line 1598 "conf_parser.y" /* yacc.c:1646  */
4476      {
4477    if (conf_parser_ctx.pass == 1)
4478      if ((yyvsp[-1].number) >= CLIENT_FLOOD_MIN && (yyvsp[-1].number) <= CLIENT_FLOOD_MAX)
4479        block_state.max_recvq.value = (yyvsp[-1].number);
4480   }
4481 < #line 4327 "conf_parser.c" /* yacc.c:1646  */
4481 > #line 4482 "conf_parser.c" /* yacc.c:1646  */
4482      break;
4483  
4484 <  case 254:
4485 < #line 1502 "conf_parser.y" /* yacc.c:1646  */
4484 >  case 263:
4485 > #line 1605 "conf_parser.y" /* yacc.c:1646  */
4486      {
4487    if (conf_parser_ctx.pass == 1)
4488      block_state.cidr_bitlen_ipv4.value = (yyvsp[-1].number) > 32 ? 32 : (yyvsp[-1].number);
4489   }
4490 < #line 4336 "conf_parser.c" /* yacc.c:1646  */
4490 > #line 4491 "conf_parser.c" /* yacc.c:1646  */
4491      break;
4492  
4493 <  case 255:
4494 < #line 1508 "conf_parser.y" /* yacc.c:1646  */
4493 >  case 264:
4494 > #line 1611 "conf_parser.y" /* yacc.c:1646  */
4495      {
4496    if (conf_parser_ctx.pass == 1)
4497      block_state.cidr_bitlen_ipv6.value = (yyvsp[-1].number) > 128 ? 128 : (yyvsp[-1].number);
4498   }
4499 < #line 4345 "conf_parser.c" /* yacc.c:1646  */
4499 > #line 4500 "conf_parser.c" /* yacc.c:1646  */
4500      break;
4501  
4502 <  case 256:
4503 < #line 1514 "conf_parser.y" /* yacc.c:1646  */
4502 >  case 265:
4503 > #line 1617 "conf_parser.y" /* yacc.c:1646  */
4504      {
4505    if (conf_parser_ctx.pass == 1)
4506      block_state.number_per_cidr.value = (yyvsp[-1].number);
4507   }
4508 < #line 4354 "conf_parser.c" /* yacc.c:1646  */
4508 > #line 4509 "conf_parser.c" /* yacc.c:1646  */
4509      break;
4510  
4511 <  case 257:
4512 < #line 1520 "conf_parser.y" /* yacc.c:1646  */
4511 >  case 266:
4512 > #line 1623 "conf_parser.y" /* yacc.c:1646  */
4513      {
4514    if (conf_parser_ctx.pass != 1)
4515      break;
# Line 4362 | Line 4517 | yyreduce:
4517    block_state.min_idle.value = (yyvsp[-1].number);
4518    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4519   }
4520 < #line 4366 "conf_parser.c" /* yacc.c:1646  */
4520 > #line 4521 "conf_parser.c" /* yacc.c:1646  */
4521      break;
4522  
4523 <  case 258:
4524 < #line 1529 "conf_parser.y" /* yacc.c:1646  */
4523 >  case 267:
4524 > #line 1632 "conf_parser.y" /* yacc.c:1646  */
4525      {
4526    if (conf_parser_ctx.pass != 1)
4527      break;
# Line 4374 | Line 4529 | yyreduce:
4529    block_state.max_idle.value = (yyvsp[-1].number);
4530    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4531   }
4532 < #line 4378 "conf_parser.c" /* yacc.c:1646  */
4532 > #line 4533 "conf_parser.c" /* yacc.c:1646  */
4533      break;
4534  
4535 <  case 259:
4536 < #line 1538 "conf_parser.y" /* yacc.c:1646  */
4535 >  case 268:
4536 > #line 1641 "conf_parser.y" /* yacc.c:1646  */
4537      {
4538    if (conf_parser_ctx.pass == 1)
4539      block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
4540   }
4541 < #line 4387 "conf_parser.c" /* yacc.c:1646  */
4541 > #line 4542 "conf_parser.c" /* yacc.c:1646  */
4542      break;
4543  
4544 <  case 263:
4545 < #line 1545 "conf_parser.y" /* yacc.c:1646  */
4544 >  case 272:
4545 > #line 1648 "conf_parser.y" /* yacc.c:1646  */
4546      {
4547    if (conf_parser_ctx.pass == 1)
4548      block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
4549   }
4550 < #line 4396 "conf_parser.c" /* yacc.c:1646  */
4550 > #line 4551 "conf_parser.c" /* yacc.c:1646  */
4551      break;
4552  
4553 <  case 264:
4554 < #line 1549 "conf_parser.y" /* yacc.c:1646  */
4553 >  case 273:
4554 > #line 1652 "conf_parser.y" /* yacc.c:1646  */
4555      {
4556    if (conf_parser_ctx.pass == 1)
4557      block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
4558   }
4559 < #line 4405 "conf_parser.c" /* yacc.c:1646  */
4559 > #line 4560 "conf_parser.c" /* yacc.c:1646  */
4560      break;
4561  
4562 <  case 265:
4563 < #line 1559 "conf_parser.y" /* yacc.c:1646  */
4562 >  case 274:
4563 > #line 1662 "conf_parser.y" /* yacc.c:1646  */
4564      {
4565    if (conf_parser_ctx.pass == 2)
4566      reset_block_state();
4567   }
4568 < #line 4414 "conf_parser.c" /* yacc.c:1646  */
4568 > #line 4569 "conf_parser.c" /* yacc.c:1646  */
4569      break;
4570  
4571 <  case 267:
4572 < #line 1565 "conf_parser.y" /* yacc.c:1646  */
4571 >  case 276:
4572 > #line 1668 "conf_parser.y" /* yacc.c:1646  */
4573      {
4574    block_state.flags.value = 0;
4575   }
4576 < #line 4422 "conf_parser.c" /* yacc.c:1646  */
4576 > #line 4577 "conf_parser.c" /* yacc.c:1646  */
4577      break;
4578  
4579 <  case 271:
4580 < #line 1571 "conf_parser.y" /* yacc.c:1646  */
4579 >  case 280:
4580 > #line 1674 "conf_parser.y" /* yacc.c:1646  */
4581      {
4582    if (conf_parser_ctx.pass == 2)
4583      block_state.flags.value |= LISTENER_SSL;
4584   }
4585 < #line 4431 "conf_parser.c" /* yacc.c:1646  */
4585 > #line 4586 "conf_parser.c" /* yacc.c:1646  */
4586      break;
4587  
4588 <  case 272:
4589 < #line 1575 "conf_parser.y" /* yacc.c:1646  */
4588 >  case 281:
4589 > #line 1678 "conf_parser.y" /* yacc.c:1646  */
4590      {
4591    if (conf_parser_ctx.pass == 2)
4592      block_state.flags.value |= LISTENER_HIDDEN;
4593   }
4594 < #line 4440 "conf_parser.c" /* yacc.c:1646  */
4594 > #line 4595 "conf_parser.c" /* yacc.c:1646  */
4595      break;
4596  
4597 <  case 273:
4598 < #line 1579 "conf_parser.y" /* yacc.c:1646  */
4597 >  case 282:
4598 > #line 1682 "conf_parser.y" /* yacc.c:1646  */
4599      {
4600    if (conf_parser_ctx.pass == 2)
4601     block_state.flags.value |= LISTENER_SERVER;
4602   }
4603 < #line 4449 "conf_parser.c" /* yacc.c:1646  */
4603 > #line 4604 "conf_parser.c" /* yacc.c:1646  */
4604      break;
4605  
4606 <  case 281:
4607 < #line 1587 "conf_parser.y" /* yacc.c:1646  */
4606 >  case 290:
4607 > #line 1690 "conf_parser.y" /* yacc.c:1646  */
4608      { block_state.flags.value = 0; }
4609 < #line 4455 "conf_parser.c" /* yacc.c:1646  */
4609 > #line 4610 "conf_parser.c" /* yacc.c:1646  */
4610      break;
4611  
4612 <  case 285:
4613 < #line 1592 "conf_parser.y" /* yacc.c:1646  */
4612 >  case 294:
4613 > #line 1695 "conf_parser.y" /* yacc.c:1646  */
4614      {
4615    if (conf_parser_ctx.pass == 2)
4616    {
4617 + #ifndef HAVE_LIBCRYPTO
4618      if (block_state.flags.value & LISTENER_SSL)
4619 < #ifdef HAVE_LIBCRYPTO
4620 <      if (!ServerInfo.server_ctx)
4619 >    {
4620 >      conf_error_report("SSL not available - port closed");
4621 >      break;
4622 >    }
4623   #endif
4466      {
4467        conf_error_report("SSL not available - port closed");
4468        break;
4469      }
4624      add_listener((yyvsp[0].number), block_state.addr.buf, block_state.flags.value);
4625    }
4626   }
4627 < #line 4474 "conf_parser.c" /* yacc.c:1646  */
4627 > #line 4628 "conf_parser.c" /* yacc.c:1646  */
4628      break;
4629  
4630 <  case 286:
4631 < #line 1606 "conf_parser.y" /* yacc.c:1646  */
4630 >  case 295:
4631 > #line 1708 "conf_parser.y" /* yacc.c:1646  */
4632      {
4633    if (conf_parser_ctx.pass == 2)
4634    {
4635 + #ifndef HAVE_LIBCRYPTO
4636      if (block_state.flags.value & LISTENER_SSL)
4637 < #ifdef HAVE_LIBCRYPTO
4638 <      if (!ServerInfo.server_ctx)
4637 >    {
4638 >      conf_error_report("SSL not available - port closed");
4639 >      break;
4640 >    }
4641   #endif
4485      {
4486        conf_error_report("SSL not available - port closed");
4487        break;
4488      }
4642  
4643      for (int i = (yyvsp[-2].number); i <= (yyvsp[0].number); ++i)
4644        add_listener(i, block_state.addr.buf, block_state.flags.value);
4645    }
4646   }
4647 < #line 4495 "conf_parser.c" /* yacc.c:1646  */
4647 > #line 4648 "conf_parser.c" /* yacc.c:1646  */
4648      break;
4649  
4650 <  case 287:
4651 < #line 1624 "conf_parser.y" /* yacc.c:1646  */
4650 >  case 296:
4651 > #line 1725 "conf_parser.y" /* yacc.c:1646  */
4652      {
4653    if (conf_parser_ctx.pass == 2)
4654      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4655   }
4656 < #line 4504 "conf_parser.c" /* yacc.c:1646  */
4656 > #line 4657 "conf_parser.c" /* yacc.c:1646  */
4657      break;
4658  
4659 <  case 288:
4660 < #line 1630 "conf_parser.y" /* yacc.c:1646  */
4659 >  case 297:
4660 > #line 1731 "conf_parser.y" /* yacc.c:1646  */
4661      {
4662    if (conf_parser_ctx.pass == 2)
4663      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4664   }
4665 < #line 4513 "conf_parser.c" /* yacc.c:1646  */
4665 > #line 4666 "conf_parser.c" /* yacc.c:1646  */
4666      break;
4667  
4668 <  case 289:
4669 < #line 1639 "conf_parser.y" /* yacc.c:1646  */
4668 >  case 298:
4669 > #line 1740 "conf_parser.y" /* yacc.c:1646  */
4670      {
4671    if (conf_parser_ctx.pass == 2)
4672      reset_block_state();
4673   }
4674 < #line 4522 "conf_parser.c" /* yacc.c:1646  */
4674 > #line 4675 "conf_parser.c" /* yacc.c:1646  */
4675      break;
4676  
4677 <  case 290:
4678 < #line 1643 "conf_parser.y" /* yacc.c:1646  */
4677 >  case 299:
4678 > #line 1744 "conf_parser.y" /* yacc.c:1646  */
4679      {
4680 <  dlink_node *ptr = NULL;
4680 >  dlink_node *node = NULL;
4681  
4682    if (conf_parser_ctx.pass != 2)
4683      break;
4684  
4685 <  DLINK_FOREACH(ptr, block_state.mask.list.head)
4685 >  DLINK_FOREACH(node, block_state.mask.list.head)
4686    {
4687      struct MaskItem *conf = NULL;
4688      struct split_nuh_item nuh;
4689  
4690 <    nuh.nuhmask  = ptr->data;
4690 >    nuh.nuhmask  = node->data;
4691      nuh.nickptr  = NULL;
4692      nuh.userptr  = block_state.user.buf;
4693      nuh.hostptr  = block_state.host.buf;
# Line 4559 | Line 4712 | yyreduce:
4712      add_conf_by_address(CONF_CLIENT, conf);
4713    }
4714   }
4715 < #line 4563 "conf_parser.c" /* yacc.c:1646  */
4715 > #line 4716 "conf_parser.c" /* yacc.c:1646  */
4716      break;
4717  
4718 <  case 302:
4719 < #line 1692 "conf_parser.y" /* yacc.c:1646  */
4718 >  case 311:
4719 > #line 1793 "conf_parser.y" /* yacc.c:1646  */
4720      {
4721    if (conf_parser_ctx.pass == 2)
4722      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4723   }
4724 < #line 4572 "conf_parser.c" /* yacc.c:1646  */
4724 > #line 4725 "conf_parser.c" /* yacc.c:1646  */
4725      break;
4726  
4727 <  case 303:
4728 < #line 1698 "conf_parser.y" /* yacc.c:1646  */
4727 >  case 312:
4728 > #line 1799 "conf_parser.y" /* yacc.c:1646  */
4729      {
4730    if (conf_parser_ctx.pass == 2)
4731      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4732   }
4733 < #line 4581 "conf_parser.c" /* yacc.c:1646  */
4733 > #line 4734 "conf_parser.c" /* yacc.c:1646  */
4734      break;
4735  
4736 <  case 304:
4737 < #line 1704 "conf_parser.y" /* yacc.c:1646  */
4736 >  case 313:
4737 > #line 1805 "conf_parser.y" /* yacc.c:1646  */
4738      {
4739    if (conf_parser_ctx.pass == 2)
4740      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4741   }
4742 < #line 4590 "conf_parser.c" /* yacc.c:1646  */
4742 > #line 4743 "conf_parser.c" /* yacc.c:1646  */
4743      break;
4744  
4745 <  case 305:
4746 < #line 1710 "conf_parser.y" /* yacc.c:1646  */
4745 >  case 314:
4746 > #line 1811 "conf_parser.y" /* yacc.c:1646  */
4747      {
4748    if (conf_parser_ctx.pass == 2)
4749    {
# Line 4600 | Line 4753 | yyreduce:
4753        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4754    }
4755   }
4756 < #line 4604 "conf_parser.c" /* yacc.c:1646  */
4756 > #line 4757 "conf_parser.c" /* yacc.c:1646  */
4757      break;
4758  
4759 <  case 306:
4760 < #line 1721 "conf_parser.y" /* yacc.c:1646  */
4759 >  case 315:
4760 > #line 1822 "conf_parser.y" /* yacc.c:1646  */
4761      {
4762    if (conf_parser_ctx.pass == 2)
4763      block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP);
4764   }
4765 < #line 4613 "conf_parser.c" /* yacc.c:1646  */
4765 > #line 4766 "conf_parser.c" /* yacc.c:1646  */
4766      break;
4767  
4768 <  case 310:
4769 < #line 1728 "conf_parser.y" /* yacc.c:1646  */
4768 >  case 319:
4769 > #line 1829 "conf_parser.y" /* yacc.c:1646  */
4770      {
4771    if (conf_parser_ctx.pass == 2)
4772      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4773   }
4774 < #line 4622 "conf_parser.c" /* yacc.c:1646  */
4774 > #line 4775 "conf_parser.c" /* yacc.c:1646  */
4775      break;
4776  
4777 <  case 311:
4778 < #line 1732 "conf_parser.y" /* yacc.c:1646  */
4777 >  case 320:
4778 > #line 1833 "conf_parser.y" /* yacc.c:1646  */
4779      {
4780    if (conf_parser_ctx.pass == 2)
4781      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4782   }
4783 < #line 4631 "conf_parser.c" /* yacc.c:1646  */
4783 > #line 4784 "conf_parser.c" /* yacc.c:1646  */
4784      break;
4785  
4786 <  case 312:
4787 < #line 1736 "conf_parser.y" /* yacc.c:1646  */
4786 >  case 321:
4787 > #line 1837 "conf_parser.y" /* yacc.c:1646  */
4788      {
4789    if (conf_parser_ctx.pass == 2)
4790      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4791   }
4792 < #line 4640 "conf_parser.c" /* yacc.c:1646  */
4792 > #line 4793 "conf_parser.c" /* yacc.c:1646  */
4793      break;
4794  
4795 <  case 313:
4796 < #line 1740 "conf_parser.y" /* yacc.c:1646  */
4795 >  case 322:
4796 > #line 1841 "conf_parser.y" /* yacc.c:1646  */
4797      {
4798    if (conf_parser_ctx.pass == 2)
4799      block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4800   }
4801 < #line 4649 "conf_parser.c" /* yacc.c:1646  */
4801 > #line 4802 "conf_parser.c" /* yacc.c:1646  */
4802      break;
4803  
4804 <  case 314:
4805 < #line 1744 "conf_parser.y" /* yacc.c:1646  */
4804 >  case 323:
4805 > #line 1845 "conf_parser.y" /* yacc.c:1646  */
4806      {
4807    if (conf_parser_ctx.pass == 2)
4808      block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4809   }
4810 < #line 4658 "conf_parser.c" /* yacc.c:1646  */
4810 > #line 4811 "conf_parser.c" /* yacc.c:1646  */
4811      break;
4812  
4813 <  case 315:
4814 < #line 1748 "conf_parser.y" /* yacc.c:1646  */
4813 >  case 324:
4814 > #line 1849 "conf_parser.y" /* yacc.c:1646  */
4815      {
4816    if (conf_parser_ctx.pass == 2)
4817      block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4818   }
4819 < #line 4667 "conf_parser.c" /* yacc.c:1646  */
4819 > #line 4820 "conf_parser.c" /* yacc.c:1646  */
4820      break;
4821  
4822 <  case 316:
4823 < #line 1752 "conf_parser.y" /* yacc.c:1646  */
4822 >  case 325:
4823 > #line 1853 "conf_parser.y" /* yacc.c:1646  */
4824      {
4825    if (conf_parser_ctx.pass == 2)
4826      block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
4827   }
4828 < #line 4676 "conf_parser.c" /* yacc.c:1646  */
4828 > #line 4829 "conf_parser.c" /* yacc.c:1646  */
4829      break;
4830  
4831 <  case 317:
4832 < #line 1756 "conf_parser.y" /* yacc.c:1646  */
4831 >  case 326:
4832 > #line 1857 "conf_parser.y" /* yacc.c:1646  */
4833      {
4834    if (conf_parser_ctx.pass == 2)
4835      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4836   }
4837 < #line 4685 "conf_parser.c" /* yacc.c:1646  */
4837 > #line 4838 "conf_parser.c" /* yacc.c:1646  */
4838      break;
4839  
4840 <  case 318:
4841 < #line 1760 "conf_parser.y" /* yacc.c:1646  */
4840 >  case 327:
4841 > #line 1861 "conf_parser.y" /* yacc.c:1646  */
4842      {
4843    if (conf_parser_ctx.pass == 2)
4844      block_state.flags.value |= CONF_FLAGS_WEBIRC;
4845   }
4846 < #line 4694 "conf_parser.c" /* yacc.c:1646  */
4846 > #line 4847 "conf_parser.c" /* yacc.c:1646  */
4847      break;
4848  
4849 <  case 319:
4850 < #line 1764 "conf_parser.y" /* yacc.c:1646  */
4849 >  case 328:
4850 > #line 1865 "conf_parser.y" /* yacc.c:1646  */
4851      {
4852    if (conf_parser_ctx.pass == 2)
4853      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4854   }
4855 < #line 4703 "conf_parser.c" /* yacc.c:1646  */
4855 > #line 4856 "conf_parser.c" /* yacc.c:1646  */
4856      break;
4857  
4858 <  case 320:
4859 < #line 1770 "conf_parser.y" /* yacc.c:1646  */
4858 >  case 329:
4859 > #line 1871 "conf_parser.y" /* yacc.c:1646  */
4860      {
4861    if (conf_parser_ctx.pass != 2)
4862      break;
# Line 4716 | Line 4869 | yyreduce:
4869    else
4870      ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4871   }
4872 < #line 4720 "conf_parser.c" /* yacc.c:1646  */
4872 > #line 4873 "conf_parser.c" /* yacc.c:1646  */
4873      break;
4874  
4875 <  case 321:
4876 < #line 1784 "conf_parser.y" /* yacc.c:1646  */
4875 >  case 330:
4876 > #line 1885 "conf_parser.y" /* yacc.c:1646  */
4877      {
4878    if (conf_parser_ctx.pass != 2)
4879      break;
# Line 4728 | Line 4881 | yyreduce:
4881    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4882    block_state.flags.value |= CONF_FLAGS_REDIR;
4883   }
4884 < #line 4732 "conf_parser.c" /* yacc.c:1646  */
4884 > #line 4885 "conf_parser.c" /* yacc.c:1646  */
4885      break;
4886  
4887 <  case 322:
4888 < #line 1793 "conf_parser.y" /* yacc.c:1646  */
4887 >  case 331:
4888 > #line 1894 "conf_parser.y" /* yacc.c:1646  */
4889      {
4890    if (conf_parser_ctx.pass != 2)
4891      break;
# Line 4740 | Line 4893 | yyreduce:
4893    block_state.flags.value |= CONF_FLAGS_REDIR;
4894    block_state.port.value = (yyvsp[-1].number);
4895   }
4896 < #line 4744 "conf_parser.c" /* yacc.c:1646  */
4896 > #line 4897 "conf_parser.c" /* yacc.c:1646  */
4897      break;
4898  
4899 <  case 323:
4900 < #line 1806 "conf_parser.y" /* yacc.c:1646  */
4899 >  case 332:
4900 > #line 1907 "conf_parser.y" /* yacc.c:1646  */
4901      {
4902    if (conf_parser_ctx.pass != 2)
4903      break;
# Line 4752 | Line 4905 | yyreduce:
4905    reset_block_state();
4906    strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));
4907   }
4908 < #line 4756 "conf_parser.c" /* yacc.c:1646  */
4908 > #line 4909 "conf_parser.c" /* yacc.c:1646  */
4909      break;
4910  
4911 <  case 324:
4912 < #line 1813 "conf_parser.y" /* yacc.c:1646  */
4911 >  case 333:
4912 > #line 1914 "conf_parser.y" /* yacc.c:1646  */
4913      {
4914    if (conf_parser_ctx.pass != 2)
4915      break;
4916  
4917    create_resv(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4918   }
4919 < #line 4767 "conf_parser.c" /* yacc.c:1646  */
4919 > #line 4920 "conf_parser.c" /* yacc.c:1646  */
4920      break;
4921  
4922 <  case 331:
4923 < #line 1824 "conf_parser.y" /* yacc.c:1646  */
4922 >  case 340:
4923 > #line 1925 "conf_parser.y" /* yacc.c:1646  */
4924      {
4925    if (conf_parser_ctx.pass == 2)
4926      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4927   }
4928 < #line 4776 "conf_parser.c" /* yacc.c:1646  */
4928 > #line 4929 "conf_parser.c" /* yacc.c:1646  */
4929      break;
4930  
4931 <  case 332:
4932 < #line 1830 "conf_parser.y" /* yacc.c:1646  */
4931 >  case 341:
4932 > #line 1931 "conf_parser.y" /* yacc.c:1646  */
4933      {
4934    if (conf_parser_ctx.pass == 2)
4935      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4936   }
4937 < #line 4785 "conf_parser.c" /* yacc.c:1646  */
4937 > #line 4938 "conf_parser.c" /* yacc.c:1646  */
4938      break;
4939  
4940 <  case 333:
4941 < #line 1836 "conf_parser.y" /* yacc.c:1646  */
4940 >  case 342:
4941 > #line 1937 "conf_parser.y" /* yacc.c:1646  */
4942      {
4943    if (conf_parser_ctx.pass == 2)
4944      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4945   }
4946 < #line 4794 "conf_parser.c" /* yacc.c:1646  */
4946 > #line 4947 "conf_parser.c" /* yacc.c:1646  */
4947      break;
4948  
4949 <  case 339:
4950 < #line 1851 "conf_parser.y" /* yacc.c:1646  */
4949 >  case 348:
4950 > #line 1952 "conf_parser.y" /* yacc.c:1646  */
4951      {
4952    if (conf_parser_ctx.pass != 2)
4953      break;
# Line 4805 | Line 4958 | yyreduce:
4958      conf->name = xstrdup(yylval.string);
4959    }
4960   }
4961 < #line 4809 "conf_parser.c" /* yacc.c:1646  */
4961 > #line 4962 "conf_parser.c" /* yacc.c:1646  */
4962      break;
4963  
4964 <  case 340:
4965 < #line 1866 "conf_parser.y" /* yacc.c:1646  */
4964 >  case 349:
4965 > #line 1967 "conf_parser.y" /* yacc.c:1646  */
4966      {
4967    if (conf_parser_ctx.pass != 2)
4968      break;
# Line 4821 | Line 4974 | yyreduce:
4974    strlcpy(block_state.host.buf, "*", sizeof(block_state.host.buf));
4975    block_state.flags.value = SHARED_ALL;
4976   }
4977 < #line 4825 "conf_parser.c" /* yacc.c:1646  */
4977 > #line 4978 "conf_parser.c" /* yacc.c:1646  */
4978      break;
4979  
4980 <  case 341:
4981 < #line 1877 "conf_parser.y" /* yacc.c:1646  */
4980 >  case 350:
4981 > #line 1978 "conf_parser.y" /* yacc.c:1646  */
4982      {
4983    struct MaskItem *conf = NULL;
4984  
# Line 4838 | Line 4991 | yyreduce:
4991    conf->user = xstrdup(block_state.user.buf);
4992    conf->host = xstrdup(block_state.host.buf);
4993   }
4994 < #line 4842 "conf_parser.c" /* yacc.c:1646  */
4994 > #line 4995 "conf_parser.c" /* yacc.c:1646  */
4995      break;
4996  
4997 <  case 348:
4998 < #line 1894 "conf_parser.y" /* yacc.c:1646  */
4997 >  case 357:
4998 > #line 1995 "conf_parser.y" /* yacc.c:1646  */
4999      {
5000    if (conf_parser_ctx.pass == 2)
5001      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5002   }
5003 < #line 4851 "conf_parser.c" /* yacc.c:1646  */
5003 > #line 5004 "conf_parser.c" /* yacc.c:1646  */
5004      break;
5005  
5006 <  case 349:
5007 < #line 1900 "conf_parser.y" /* yacc.c:1646  */
5006 >  case 358:
5007 > #line 2001 "conf_parser.y" /* yacc.c:1646  */
5008      {
5009    if (conf_parser_ctx.pass == 2)
5010    {
# Line 4869 | Line 5022 | yyreduce:
5022      split_nuh(&nuh);
5023    }
5024   }
5025 < #line 4873 "conf_parser.c" /* yacc.c:1646  */
5025 > #line 5026 "conf_parser.c" /* yacc.c:1646  */
5026      break;
5027  
5028 <  case 350:
5029 < #line 1919 "conf_parser.y" /* yacc.c:1646  */
5028 >  case 359:
5029 > #line 2020 "conf_parser.y" /* yacc.c:1646  */
5030      {
5031    if (conf_parser_ctx.pass == 2)
5032      block_state.flags.value = 0;
5033   }
5034 < #line 4882 "conf_parser.c" /* yacc.c:1646  */
5034 > #line 5035 "conf_parser.c" /* yacc.c:1646  */
5035      break;
5036  
5037 <  case 354:
5038 < #line 1926 "conf_parser.y" /* yacc.c:1646  */
5037 >  case 363:
5038 > #line 2027 "conf_parser.y" /* yacc.c:1646  */
5039      {
5040    if (conf_parser_ctx.pass == 2)
5041      block_state.flags.value |= SHARED_KLINE;
5042   }
5043 < #line 4891 "conf_parser.c" /* yacc.c:1646  */
5043 > #line 5044 "conf_parser.c" /* yacc.c:1646  */
5044      break;
5045  
5046 <  case 355:
5047 < #line 1930 "conf_parser.y" /* yacc.c:1646  */
5046 >  case 364:
5047 > #line 2031 "conf_parser.y" /* yacc.c:1646  */
5048      {
5049    if (conf_parser_ctx.pass == 2)
5050      block_state.flags.value |= SHARED_UNKLINE;
5051   }
5052 < #line 4900 "conf_parser.c" /* yacc.c:1646  */
5052 > #line 5053 "conf_parser.c" /* yacc.c:1646  */
5053      break;
5054  
5055 <  case 356:
5056 < #line 1934 "conf_parser.y" /* yacc.c:1646  */
5055 >  case 365:
5056 > #line 2035 "conf_parser.y" /* yacc.c:1646  */
5057      {
5058    if (conf_parser_ctx.pass == 2)
5059      block_state.flags.value |= SHARED_DLINE;
5060   }
5061 < #line 4909 "conf_parser.c" /* yacc.c:1646  */
5061 > #line 5062 "conf_parser.c" /* yacc.c:1646  */
5062      break;
5063  
5064 <  case 357:
5065 < #line 1938 "conf_parser.y" /* yacc.c:1646  */
5064 >  case 366:
5065 > #line 2039 "conf_parser.y" /* yacc.c:1646  */
5066      {
5067    if (conf_parser_ctx.pass == 2)
5068      block_state.flags.value |= SHARED_UNDLINE;
5069   }
5070 < #line 4918 "conf_parser.c" /* yacc.c:1646  */
5070 > #line 5071 "conf_parser.c" /* yacc.c:1646  */
5071      break;
5072  
5073 <  case 358:
5074 < #line 1942 "conf_parser.y" /* yacc.c:1646  */
5073 >  case 367:
5074 > #line 2043 "conf_parser.y" /* yacc.c:1646  */
5075      {
5076    if (conf_parser_ctx.pass == 2)
5077      block_state.flags.value |= SHARED_XLINE;
5078   }
5079 < #line 4927 "conf_parser.c" /* yacc.c:1646  */
5079 > #line 5080 "conf_parser.c" /* yacc.c:1646  */
5080      break;
5081  
5082 <  case 359:
5083 < #line 1946 "conf_parser.y" /* yacc.c:1646  */
5082 >  case 368:
5083 > #line 2047 "conf_parser.y" /* yacc.c:1646  */
5084      {
5085    if (conf_parser_ctx.pass == 2)
5086      block_state.flags.value |= SHARED_UNXLINE;
5087   }
5088 < #line 4936 "conf_parser.c" /* yacc.c:1646  */
5088 > #line 5089 "conf_parser.c" /* yacc.c:1646  */
5089      break;
5090  
5091 <  case 360:
5092 < #line 1950 "conf_parser.y" /* yacc.c:1646  */
5091 >  case 369:
5092 > #line 2051 "conf_parser.y" /* yacc.c:1646  */
5093      {
5094    if (conf_parser_ctx.pass == 2)
5095      block_state.flags.value |= SHARED_RESV;
5096   }
5097 < #line 4945 "conf_parser.c" /* yacc.c:1646  */
5097 > #line 5098 "conf_parser.c" /* yacc.c:1646  */
5098      break;
5099  
5100 <  case 361:
5101 < #line 1954 "conf_parser.y" /* yacc.c:1646  */
5100 >  case 370:
5101 > #line 2055 "conf_parser.y" /* yacc.c:1646  */
5102      {
5103    if (conf_parser_ctx.pass == 2)
5104      block_state.flags.value |= SHARED_UNRESV;
5105   }
5106 < #line 4954 "conf_parser.c" /* yacc.c:1646  */
5106 > #line 5107 "conf_parser.c" /* yacc.c:1646  */
5107      break;
5108  
5109 <  case 362:
5110 < #line 1958 "conf_parser.y" /* yacc.c:1646  */
5109 >  case 371:
5110 > #line 2059 "conf_parser.y" /* yacc.c:1646  */
5111      {
5112    if (conf_parser_ctx.pass == 2)
5113      block_state.flags.value |= SHARED_LOCOPS;
5114   }
5115 < #line 4963 "conf_parser.c" /* yacc.c:1646  */
5115 > #line 5116 "conf_parser.c" /* yacc.c:1646  */
5116      break;
5117  
5118 <  case 363:
5119 < #line 1962 "conf_parser.y" /* yacc.c:1646  */
5118 >  case 372:
5119 > #line 2063 "conf_parser.y" /* yacc.c:1646  */
5120      {
5121    if (conf_parser_ctx.pass == 2)
5122      block_state.flags.value = SHARED_ALL;
5123   }
5124 < #line 4972 "conf_parser.c" /* yacc.c:1646  */
5124 > #line 5125 "conf_parser.c" /* yacc.c:1646  */
5125      break;
5126  
5127 <  case 364:
5128 < #line 1971 "conf_parser.y" /* yacc.c:1646  */
5127 >  case 373:
5128 > #line 2072 "conf_parser.y" /* yacc.c:1646  */
5129      {
5130    if (conf_parser_ctx.pass != 2)
5131      break;
# Line 4982 | Line 5135 | yyreduce:
5135    strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));
5136    block_state.flags.value = SHARED_ALL;
5137   }
5138 < #line 4986 "conf_parser.c" /* yacc.c:1646  */
5138 > #line 5139 "conf_parser.c" /* yacc.c:1646  */
5139      break;
5140  
5141 <  case 365:
5142 < #line 1980 "conf_parser.y" /* yacc.c:1646  */
5141 >  case 374:
5142 > #line 2081 "conf_parser.y" /* yacc.c:1646  */
5143      {
5144    struct MaskItem *conf = NULL;
5145  
# Line 4997 | Line 5150 | yyreduce:
5150    conf->flags = block_state.flags.value;
5151    conf->name = xstrdup(block_state.name.buf);
5152   }
5153 < #line 5001 "conf_parser.c" /* yacc.c:1646  */
5153 > #line 5154 "conf_parser.c" /* yacc.c:1646  */
5154      break;
5155  
5156 <  case 371:
5157 < #line 1995 "conf_parser.y" /* yacc.c:1646  */
5156 >  case 380:
5157 > #line 2096 "conf_parser.y" /* yacc.c:1646  */
5158      {
5159    if (conf_parser_ctx.pass == 2)
5160      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5161   }
5162 < #line 5010 "conf_parser.c" /* yacc.c:1646  */
5162 > #line 5163 "conf_parser.c" /* yacc.c:1646  */
5163      break;
5164  
5165 <  case 372:
5166 < #line 2001 "conf_parser.y" /* yacc.c:1646  */
5165 >  case 381:
5166 > #line 2102 "conf_parser.y" /* yacc.c:1646  */
5167      {
5168    if (conf_parser_ctx.pass == 2)
5169      block_state.flags.value = 0;
5170   }
5171 < #line 5019 "conf_parser.c" /* yacc.c:1646  */
5171 > #line 5172 "conf_parser.c" /* yacc.c:1646  */
5172      break;
5173  
5174 <  case 376:
5175 < #line 2008 "conf_parser.y" /* yacc.c:1646  */
5174 >  case 385:
5175 > #line 2109 "conf_parser.y" /* yacc.c:1646  */
5176      {
5177    if (conf_parser_ctx.pass == 2)
5178      block_state.flags.value |= SHARED_KLINE;
5179   }
5180 < #line 5028 "conf_parser.c" /* yacc.c:1646  */
5180 > #line 5181 "conf_parser.c" /* yacc.c:1646  */
5181      break;
5182  
5183 <  case 377:
5184 < #line 2012 "conf_parser.y" /* yacc.c:1646  */
5183 >  case 386:
5184 > #line 2113 "conf_parser.y" /* yacc.c:1646  */
5185      {
5186    if (conf_parser_ctx.pass == 2)
5187      block_state.flags.value |= SHARED_UNKLINE;
5188   }
5189 < #line 5037 "conf_parser.c" /* yacc.c:1646  */
5189 > #line 5190 "conf_parser.c" /* yacc.c:1646  */
5190      break;
5191  
5192 <  case 378:
5193 < #line 2016 "conf_parser.y" /* yacc.c:1646  */
5192 >  case 387:
5193 > #line 2117 "conf_parser.y" /* yacc.c:1646  */
5194      {
5195    if (conf_parser_ctx.pass == 2)
5196      block_state.flags.value |= SHARED_DLINE;
5197   }
5198 < #line 5046 "conf_parser.c" /* yacc.c:1646  */
5198 > #line 5199 "conf_parser.c" /* yacc.c:1646  */
5199      break;
5200  
5201 <  case 379:
5202 < #line 2020 "conf_parser.y" /* yacc.c:1646  */
5201 >  case 388:
5202 > #line 2121 "conf_parser.y" /* yacc.c:1646  */
5203      {
5204    if (conf_parser_ctx.pass == 2)
5205      block_state.flags.value |= SHARED_UNDLINE;
5206   }
5207 < #line 5055 "conf_parser.c" /* yacc.c:1646  */
5207 > #line 5208 "conf_parser.c" /* yacc.c:1646  */
5208      break;
5209  
5210 <  case 380:
5211 < #line 2024 "conf_parser.y" /* yacc.c:1646  */
5210 >  case 389:
5211 > #line 2125 "conf_parser.y" /* yacc.c:1646  */
5212      {
5213    if (conf_parser_ctx.pass == 2)
5214      block_state.flags.value |= SHARED_XLINE;
5215   }
5216 < #line 5064 "conf_parser.c" /* yacc.c:1646  */
5216 > #line 5217 "conf_parser.c" /* yacc.c:1646  */
5217      break;
5218  
5219 <  case 381:
5220 < #line 2028 "conf_parser.y" /* yacc.c:1646  */
5219 >  case 390:
5220 > #line 2129 "conf_parser.y" /* yacc.c:1646  */
5221      {
5222    if (conf_parser_ctx.pass == 2)
5223      block_state.flags.value |= SHARED_UNXLINE;
5224   }
5225 < #line 5073 "conf_parser.c" /* yacc.c:1646  */
5225 > #line 5226 "conf_parser.c" /* yacc.c:1646  */
5226      break;
5227  
5228 <  case 382:
5229 < #line 2032 "conf_parser.y" /* yacc.c:1646  */
5228 >  case 391:
5229 > #line 2133 "conf_parser.y" /* yacc.c:1646  */
5230      {
5231    if (conf_parser_ctx.pass == 2)
5232      block_state.flags.value |= SHARED_RESV;
5233   }
5234 < #line 5082 "conf_parser.c" /* yacc.c:1646  */
5234 > #line 5235 "conf_parser.c" /* yacc.c:1646  */
5235      break;
5236  
5237 <  case 383:
5238 < #line 2036 "conf_parser.y" /* yacc.c:1646  */
5237 >  case 392:
5238 > #line 2137 "conf_parser.y" /* yacc.c:1646  */
5239      {
5240    if (conf_parser_ctx.pass == 2)
5241      block_state.flags.value |= SHARED_UNRESV;
5242   }
5243 < #line 5091 "conf_parser.c" /* yacc.c:1646  */
5243 > #line 5244 "conf_parser.c" /* yacc.c:1646  */
5244      break;
5245  
5246 <  case 384:
5247 < #line 2040 "conf_parser.y" /* yacc.c:1646  */
5246 >  case 393:
5247 > #line 2141 "conf_parser.y" /* yacc.c:1646  */
5248      {
5249    if (conf_parser_ctx.pass == 2)
5250      block_state.flags.value |= SHARED_LOCOPS;
5251   }
5252 < #line 5100 "conf_parser.c" /* yacc.c:1646  */
5252 > #line 5253 "conf_parser.c" /* yacc.c:1646  */
5253      break;
5254  
5255 <  case 385:
5256 < #line 2044 "conf_parser.y" /* yacc.c:1646  */
5255 >  case 394:
5256 > #line 2145 "conf_parser.y" /* yacc.c:1646  */
5257      {
5258    if (conf_parser_ctx.pass == 2)
5259      block_state.flags.value = SHARED_ALL;
5260   }
5261 < #line 5109 "conf_parser.c" /* yacc.c:1646  */
5261 > #line 5262 "conf_parser.c" /* yacc.c:1646  */
5262      break;
5263  
5264 <  case 386:
5265 < #line 2053 "conf_parser.y" /* yacc.c:1646  */
5264 >  case 395:
5265 > #line 2154 "conf_parser.y" /* yacc.c:1646  */
5266      {
5267  
5268    if (conf_parser_ctx.pass != 2)
# Line 5119 | Line 5272 | yyreduce:
5272    block_state.aftype.value = AF_INET;
5273    block_state.port.value = PORTNUM;
5274   }
5275 < #line 5123 "conf_parser.c" /* yacc.c:1646  */
5275 > #line 5276 "conf_parser.c" /* yacc.c:1646  */
5276      break;
5277  
5278 <  case 387:
5279 < #line 2062 "conf_parser.y" /* yacc.c:1646  */
5278 >  case 396:
5279 > #line 2163 "conf_parser.y" /* yacc.c:1646  */
5280      {
5281    struct MaskItem *conf = NULL;
5282    struct addrinfo hints, *res;
# Line 5185 | Line 5338 | yyreduce:
5338    conf_add_class_to_conf(conf, block_state.class.buf);
5339    lookup_confhost(conf);
5340   }
5341 < #line 5189 "conf_parser.c" /* yacc.c:1646  */
5341 > #line 5342 "conf_parser.c" /* yacc.c:1646  */
5342      break;
5343  
5344 <  case 405:
5345 < #line 2142 "conf_parser.y" /* yacc.c:1646  */
5344 >  case 414:
5345 > #line 2243 "conf_parser.y" /* yacc.c:1646  */
5346      {
5347    if (conf_parser_ctx.pass == 2)
5348      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5349   }
5350 < #line 5198 "conf_parser.c" /* yacc.c:1646  */
5350 > #line 5351 "conf_parser.c" /* yacc.c:1646  */
5351      break;
5352  
5353 <  case 406:
5354 < #line 2148 "conf_parser.y" /* yacc.c:1646  */
5353 >  case 415:
5354 > #line 2249 "conf_parser.y" /* yacc.c:1646  */
5355      {
5356    if (conf_parser_ctx.pass == 2)
5357      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
5358   }
5359 < #line 5207 "conf_parser.c" /* yacc.c:1646  */
5359 > #line 5360 "conf_parser.c" /* yacc.c:1646  */
5360      break;
5361  
5362 <  case 407:
5363 < #line 2154 "conf_parser.y" /* yacc.c:1646  */
5362 >  case 416:
5363 > #line 2255 "conf_parser.y" /* yacc.c:1646  */
5364      {
5365    if (conf_parser_ctx.pass == 2)
5366      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
5367   }
5368 < #line 5216 "conf_parser.c" /* yacc.c:1646  */
5368 > #line 5369 "conf_parser.c" /* yacc.c:1646  */
5369      break;
5370  
5371 <  case 408:
5372 < #line 2160 "conf_parser.y" /* yacc.c:1646  */
5371 >  case 417:
5372 > #line 2261 "conf_parser.y" /* yacc.c:1646  */
5373      {
5374    if (conf_parser_ctx.pass != 2)
5375      break;
# Line 5228 | Line 5381 | yyreduce:
5381    else
5382      strlcpy(block_state.spass.buf, yylval.string, sizeof(block_state.spass.buf));
5383   }
5384 < #line 5232 "conf_parser.c" /* yacc.c:1646  */
5384 > #line 5385 "conf_parser.c" /* yacc.c:1646  */
5385      break;
5386  
5387 <  case 409:
5388 < #line 2173 "conf_parser.y" /* yacc.c:1646  */
5387 >  case 418:
5388 > #line 2274 "conf_parser.y" /* yacc.c:1646  */
5389      {
5390    if (conf_parser_ctx.pass != 2)
5391      break;
# Line 5244 | Line 5397 | yyreduce:
5397    else
5398      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5399   }
5400 < #line 5248 "conf_parser.c" /* yacc.c:1646  */
5400 > #line 5401 "conf_parser.c" /* yacc.c:1646  */
5401      break;
5402  
5403 <  case 410:
5404 < #line 2186 "conf_parser.y" /* yacc.c:1646  */
5403 >  case 419:
5404 > #line 2287 "conf_parser.y" /* yacc.c:1646  */
5405      {
5406    if (conf_parser_ctx.pass == 2)
5407      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
5408   }
5409 < #line 5257 "conf_parser.c" /* yacc.c:1646  */
5409 > #line 5410 "conf_parser.c" /* yacc.c:1646  */
5410      break;
5411  
5412 <  case 411:
5413 < #line 2192 "conf_parser.y" /* yacc.c:1646  */
5412 >  case 420:
5413 > #line 2293 "conf_parser.y" /* yacc.c:1646  */
5414      {
5415    if (conf_parser_ctx.pass == 2)
5416      block_state.port.value = (yyvsp[-1].number);
5417   }
5418 < #line 5266 "conf_parser.c" /* yacc.c:1646  */
5418 > #line 5419 "conf_parser.c" /* yacc.c:1646  */
5419      break;
5420  
5421 <  case 412:
5422 < #line 2198 "conf_parser.y" /* yacc.c:1646  */
5421 >  case 421:
5422 > #line 2299 "conf_parser.y" /* yacc.c:1646  */
5423      {
5424    if (conf_parser_ctx.pass == 2)
5425      block_state.aftype.value = AF_INET;
5426   }
5427 < #line 5275 "conf_parser.c" /* yacc.c:1646  */
5427 > #line 5428 "conf_parser.c" /* yacc.c:1646  */
5428      break;
5429  
5430 <  case 413:
5431 < #line 2202 "conf_parser.y" /* yacc.c:1646  */
5430 >  case 422:
5431 > #line 2303 "conf_parser.y" /* yacc.c:1646  */
5432      {
5280 #ifdef IPV6
5433    if (conf_parser_ctx.pass == 2)
5434      block_state.aftype.value = AF_INET6;
5283 #endif
5435   }
5436 < #line 5286 "conf_parser.c" /* yacc.c:1646  */
5436 > #line 5437 "conf_parser.c" /* yacc.c:1646  */
5437      break;
5438  
5439 <  case 414:
5440 < #line 2210 "conf_parser.y" /* yacc.c:1646  */
5439 >  case 423:
5440 > #line 2309 "conf_parser.y" /* yacc.c:1646  */
5441      {
5442    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5443   }
5444 < #line 5294 "conf_parser.c" /* yacc.c:1646  */
5444 > #line 5445 "conf_parser.c" /* yacc.c:1646  */
5445      break;
5446  
5447 <  case 418:
5448 < #line 2216 "conf_parser.y" /* yacc.c:1646  */
5447 >  case 427:
5448 > #line 2315 "conf_parser.y" /* yacc.c:1646  */
5449      {
5450    if (conf_parser_ctx.pass == 2)
5451      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
5452   }
5453 < #line 5303 "conf_parser.c" /* yacc.c:1646  */
5453 > #line 5454 "conf_parser.c" /* yacc.c:1646  */
5454      break;
5455  
5456 <  case 419:
5457 < #line 2220 "conf_parser.y" /* yacc.c:1646  */
5456 >  case 428:
5457 > #line 2319 "conf_parser.y" /* yacc.c:1646  */
5458      {
5459    if (conf_parser_ctx.pass == 2)
5460      block_state.flags.value |= CONF_FLAGS_SSL;
5461   }
5462 < #line 5312 "conf_parser.c" /* yacc.c:1646  */
5462 > #line 5463 "conf_parser.c" /* yacc.c:1646  */
5463      break;
5464  
5465 <  case 420:
5466 < #line 2226 "conf_parser.y" /* yacc.c:1646  */
5465 >  case 429:
5466 > #line 2325 "conf_parser.y" /* yacc.c:1646  */
5467      {
5468    if (conf_parser_ctx.pass == 2)
5469    {
# Line 5322 | Line 5473 | yyreduce:
5473        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
5474    }
5475   }
5476 < #line 5326 "conf_parser.c" /* yacc.c:1646  */
5476 > #line 5477 "conf_parser.c" /* yacc.c:1646  */
5477      break;
5478  
5479 <  case 421:
5480 < #line 2237 "conf_parser.y" /* yacc.c:1646  */
5479 >  case 430:
5480 > #line 2336 "conf_parser.y" /* yacc.c:1646  */
5481      {
5482    if (conf_parser_ctx.pass == 2)
5483      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
5484   }
5485 < #line 5335 "conf_parser.c" /* yacc.c:1646  */
5485 > #line 5486 "conf_parser.c" /* yacc.c:1646  */
5486      break;
5487  
5488 <  case 422:
5489 < #line 2243 "conf_parser.y" /* yacc.c:1646  */
5488 >  case 431:
5489 > #line 2342 "conf_parser.y" /* yacc.c:1646  */
5490      {
5491    if (conf_parser_ctx.pass == 2)
5492      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
5493   }
5494 < #line 5344 "conf_parser.c" /* yacc.c:1646  */
5494 > #line 5495 "conf_parser.c" /* yacc.c:1646  */
5495      break;
5496  
5497 <  case 423:
5498 < #line 2249 "conf_parser.y" /* yacc.c:1646  */
5497 >  case 432:
5498 > #line 2348 "conf_parser.y" /* yacc.c:1646  */
5499      {
5500    if (conf_parser_ctx.pass == 2)
5501      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
5502   }
5503 < #line 5353 "conf_parser.c" /* yacc.c:1646  */
5503 > #line 5504 "conf_parser.c" /* yacc.c:1646  */
5504      break;
5505  
5506 <  case 424:
5507 < #line 2255 "conf_parser.y" /* yacc.c:1646  */
5506 >  case 433:
5507 > #line 2354 "conf_parser.y" /* yacc.c:1646  */
5508      {
5509   #ifdef HAVE_LIBCRYPTO
5510    if (conf_parser_ctx.pass == 2)
# Line 5363 | Line 5514 | yyreduce:
5514      conf_error_report("Ignoring connect::ciphers -- no OpenSSL support");
5515   #endif
5516   }
5517 < #line 5367 "conf_parser.c" /* yacc.c:1646  */
5517 > #line 5518 "conf_parser.c" /* yacc.c:1646  */
5518      break;
5519  
5520 <  case 425:
5521 < #line 2270 "conf_parser.y" /* yacc.c:1646  */
5520 >  case 434:
5521 > #line 2369 "conf_parser.y" /* yacc.c:1646  */
5522      {
5523    if (conf_parser_ctx.pass == 2)
5524      reset_block_state();
5525   }
5526 < #line 5376 "conf_parser.c" /* yacc.c:1646  */
5526 > #line 5527 "conf_parser.c" /* yacc.c:1646  */
5527      break;
5528  
5529 <  case 426:
5530 < #line 2274 "conf_parser.y" /* yacc.c:1646  */
5529 >  case 435:
5530 > #line 2373 "conf_parser.y" /* yacc.c:1646  */
5531      {
5532    struct MaskItem *conf = NULL;
5533  
# Line 5397 | Line 5548 | yyreduce:
5548      conf->reason = xstrdup(CONF_NOREASON);
5549    add_conf_by_address(CONF_KLINE, conf);
5550   }
5551 < #line 5401 "conf_parser.c" /* yacc.c:1646  */
5551 > #line 5552 "conf_parser.c" /* yacc.c:1646  */
5552      break;
5553  
5554 <  case 432:
5555 < #line 2299 "conf_parser.y" /* yacc.c:1646  */
5554 >  case 441:
5555 > #line 2398 "conf_parser.y" /* yacc.c:1646  */
5556      {
5557  
5558    if (conf_parser_ctx.pass == 2)
# Line 5420 | Line 5571 | yyreduce:
5571      split_nuh(&nuh);
5572    }
5573   }
5574 < #line 5424 "conf_parser.c" /* yacc.c:1646  */
5574 > #line 5575 "conf_parser.c" /* yacc.c:1646  */
5575      break;
5576  
5577 <  case 433:
5578 < #line 2319 "conf_parser.y" /* yacc.c:1646  */
5577 >  case 442:
5578 > #line 2418 "conf_parser.y" /* yacc.c:1646  */
5579      {
5580    if (conf_parser_ctx.pass == 2)
5581      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5582   }
5583 < #line 5433 "conf_parser.c" /* yacc.c:1646  */
5583 > #line 5584 "conf_parser.c" /* yacc.c:1646  */
5584      break;
5585  
5586 <  case 434:
5587 < #line 2328 "conf_parser.y" /* yacc.c:1646  */
5586 >  case 443:
5587 > #line 2427 "conf_parser.y" /* yacc.c:1646  */
5588      {
5589    if (conf_parser_ctx.pass == 2)
5590      reset_block_state();
5591   }
5592 < #line 5442 "conf_parser.c" /* yacc.c:1646  */
5592 > #line 5593 "conf_parser.c" /* yacc.c:1646  */
5593      break;
5594  
5595 <  case 435:
5596 < #line 2332 "conf_parser.y" /* yacc.c:1646  */
5595 >  case 444:
5596 > #line 2431 "conf_parser.y" /* yacc.c:1646  */
5597      {
5598    struct MaskItem *conf = NULL;
5599  
# Line 5464 | Line 5615 | yyreduce:
5615      add_conf_by_address(CONF_DLINE, conf);
5616    }
5617   }
5618 < #line 5468 "conf_parser.c" /* yacc.c:1646  */
5618 > #line 5619 "conf_parser.c" /* yacc.c:1646  */
5619      break;
5620  
5621 <  case 441:
5622 < #line 2358 "conf_parser.y" /* yacc.c:1646  */
5621 >  case 450:
5622 > #line 2457 "conf_parser.y" /* yacc.c:1646  */
5623      {
5624    if (conf_parser_ctx.pass == 2)
5625      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5626   }
5627 < #line 5477 "conf_parser.c" /* yacc.c:1646  */
5627 > #line 5628 "conf_parser.c" /* yacc.c:1646  */
5628      break;
5629  
5630 <  case 442:
5631 < #line 2364 "conf_parser.y" /* yacc.c:1646  */
5630 >  case 451:
5631 > #line 2463 "conf_parser.y" /* yacc.c:1646  */
5632      {
5633    if (conf_parser_ctx.pass == 2)
5634      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5635   }
5636 < #line 5486 "conf_parser.c" /* yacc.c:1646  */
5636 > #line 5637 "conf_parser.c" /* yacc.c:1646  */
5637      break;
5638  
5639 <  case 448:
5640 < #line 2378 "conf_parser.y" /* yacc.c:1646  */
5639 >  case 457:
5640 > #line 2477 "conf_parser.y" /* yacc.c:1646  */
5641      {
5642    if (conf_parser_ctx.pass == 2)
5643    {
# Line 5499 | Line 5650 | yyreduce:
5650      }
5651    }
5652   }
5653 < #line 5503 "conf_parser.c" /* yacc.c:1646  */
5653 > #line 5654 "conf_parser.c" /* yacc.c:1646  */
5654      break;
5655  
5656 <  case 449:
5657 < #line 2395 "conf_parser.y" /* yacc.c:1646  */
5656 >  case 458:
5657 > #line 2494 "conf_parser.y" /* yacc.c:1646  */
5658      {
5659    if (conf_parser_ctx.pass == 2)
5660      reset_block_state();
5661   }
5662 < #line 5512 "conf_parser.c" /* yacc.c:1646  */
5662 > #line 5663 "conf_parser.c" /* yacc.c:1646  */
5663      break;
5664  
5665 <  case 450:
5666 < #line 2399 "conf_parser.y" /* yacc.c:1646  */
5665 >  case 459:
5666 > #line 2498 "conf_parser.y" /* yacc.c:1646  */
5667      {
5668    struct MaskItem *conf = NULL;
5669  
# Line 5530 | Line 5681 | yyreduce:
5681    else
5682      conf->reason = xstrdup(CONF_NOREASON);
5683   }
5684 < #line 5534 "conf_parser.c" /* yacc.c:1646  */
5684 > #line 5685 "conf_parser.c" /* yacc.c:1646  */
5685      break;
5686  
5687 <  case 456:
5688 < #line 2421 "conf_parser.y" /* yacc.c:1646  */
5687 >  case 465:
5688 > #line 2520 "conf_parser.y" /* yacc.c:1646  */
5689      {
5690    if (conf_parser_ctx.pass == 2)
5691      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5692   }
5693 < #line 5543 "conf_parser.c" /* yacc.c:1646  */
5693 > #line 5694 "conf_parser.c" /* yacc.c:1646  */
5694      break;
5695  
5696 <  case 457:
5697 < #line 2427 "conf_parser.y" /* yacc.c:1646  */
5696 >  case 466:
5697 > #line 2526 "conf_parser.y" /* yacc.c:1646  */
5698      {
5699    if (conf_parser_ctx.pass == 2)
5700      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5701   }
5702 < #line 5552 "conf_parser.c" /* yacc.c:1646  */
5552 <    break;
5553 <
5554 <  case 511:
5555 < #line 2492 "conf_parser.y" /* yacc.c:1646  */
5556 <    {
5557 <  ConfigFileEntry.max_watch = (yyvsp[-1].number);
5558 < }
5559 < #line 5560 "conf_parser.c" /* yacc.c:1646  */
5560 <    break;
5561 <
5562 <  case 512:
5563 < #line 2497 "conf_parser.y" /* yacc.c:1646  */
5564 <    {
5565 <  if (conf_parser_ctx.pass == 2)
5566 <    ConfigFileEntry.cycle_on_host_change = yylval.number;
5567 < }
5568 < #line 5569 "conf_parser.c" /* yacc.c:1646  */
5569 <    break;
5570 <
5571 <  case 513:
5572 < #line 2503 "conf_parser.y" /* yacc.c:1646  */
5573 <    {
5574 <  if (conf_parser_ctx.pass == 2)
5575 <    ConfigFileEntry.glines = yylval.number;
5576 < }
5577 < #line 5578 "conf_parser.c" /* yacc.c:1646  */
5578 <    break;
5579 <
5580 <  case 514:
5581 < #line 2509 "conf_parser.y" /* yacc.c:1646  */
5582 <    {
5583 <  if (conf_parser_ctx.pass == 2)
5584 <    ConfigFileEntry.gline_time = (yyvsp[-1].number);
5585 < }
5586 < #line 5587 "conf_parser.c" /* yacc.c:1646  */
5587 <    break;
5588 <
5589 <  case 515:
5590 < #line 2515 "conf_parser.y" /* yacc.c:1646  */
5591 <    {
5592 <  if (conf_parser_ctx.pass == 2)
5593 <    ConfigFileEntry.gline_request_time = (yyvsp[-1].number);
5594 < }
5595 < #line 5596 "conf_parser.c" /* yacc.c:1646  */
5596 <    break;
5597 <
5598 <  case 516:
5599 < #line 2521 "conf_parser.y" /* yacc.c:1646  */
5600 <    {
5601 <  ConfigFileEntry.gline_min_cidr = (yyvsp[-1].number);
5602 < }
5603 < #line 5604 "conf_parser.c" /* yacc.c:1646  */
5604 <    break;
5605 <
5606 <  case 517:
5607 < #line 2526 "conf_parser.y" /* yacc.c:1646  */
5608 <    {
5609 <  ConfigFileEntry.gline_min_cidr6 = (yyvsp[-1].number);
5610 < }
5611 < #line 5612 "conf_parser.c" /* yacc.c:1646  */
5612 <    break;
5613 <
5614 <  case 518:
5615 < #line 2531 "conf_parser.y" /* yacc.c:1646  */
5616 <    {
5617 <  ConfigFileEntry.tkline_expire_notices = yylval.number;
5618 < }
5619 < #line 5620 "conf_parser.c" /* yacc.c:1646  */
5702 > #line 5703 "conf_parser.c" /* yacc.c:1646  */
5703      break;
5704  
5705    case 519:
5706 < #line 2536 "conf_parser.y" /* yacc.c:1646  */
5706 > #line 2590 "conf_parser.y" /* yacc.c:1646  */
5707      {
5708 <  ConfigFileEntry.kill_chase_time_limit = (yyvsp[-1].number);
5708 >  ConfigGeneral.away_count = (yyvsp[-1].number);
5709   }
5710 < #line 5628 "conf_parser.c" /* yacc.c:1646  */
5710 > #line 5711 "conf_parser.c" /* yacc.c:1646  */
5711      break;
5712  
5713    case 520:
5714 < #line 2541 "conf_parser.y" /* yacc.c:1646  */
5714 > #line 2595 "conf_parser.y" /* yacc.c:1646  */
5715      {
5716 <  ConfigFileEntry.hide_spoof_ips = yylval.number;
5716 >  ConfigGeneral.away_time = (yyvsp[-1].number);
5717   }
5718 < #line 5636 "conf_parser.c" /* yacc.c:1646  */
5718 > #line 5719 "conf_parser.c" /* yacc.c:1646  */
5719      break;
5720  
5721    case 521:
5722 < #line 2546 "conf_parser.y" /* yacc.c:1646  */
5722 > #line 2600 "conf_parser.y" /* yacc.c:1646  */
5723      {
5724 <  ConfigFileEntry.ignore_bogus_ts = yylval.number;
5724 >  ConfigGeneral.max_watch = (yyvsp[-1].number);
5725   }
5726 < #line 5644 "conf_parser.c" /* yacc.c:1646  */
5726 > #line 5727 "conf_parser.c" /* yacc.c:1646  */
5727      break;
5728  
5729    case 522:
5730 < #line 2551 "conf_parser.y" /* yacc.c:1646  */
5730 > #line 2605 "conf_parser.y" /* yacc.c:1646  */
5731      {
5732 <  ConfigFileEntry.failed_oper_notice = yylval.number;
5732 >  if (conf_parser_ctx.pass == 2)
5733 >    ConfigGeneral.cycle_on_host_change = yylval.number;
5734   }
5735 < #line 5652 "conf_parser.c" /* yacc.c:1646  */
5735 > #line 5736 "conf_parser.c" /* yacc.c:1646  */
5736      break;
5737  
5738    case 523:
5739 < #line 2556 "conf_parser.y" /* yacc.c:1646  */
5739 > #line 2611 "conf_parser.y" /* yacc.c:1646  */
5740      {
5741 <  ConfigFileEntry.anti_nick_flood = yylval.number;
5741 >  if (conf_parser_ctx.pass == 2)
5742 >    ConfigGeneral.glines = yylval.number;
5743   }
5744 < #line 5660 "conf_parser.c" /* yacc.c:1646  */
5744 > #line 5745 "conf_parser.c" /* yacc.c:1646  */
5745      break;
5746  
5747    case 524:
5748 < #line 2561 "conf_parser.y" /* yacc.c:1646  */
5748 > #line 2617 "conf_parser.y" /* yacc.c:1646  */
5749      {
5750 <  ConfigFileEntry.max_nick_time = (yyvsp[-1].number);
5750 >  if (conf_parser_ctx.pass == 2)
5751 >    ConfigGeneral.gline_time = (yyvsp[-1].number);
5752   }
5753 < #line 5668 "conf_parser.c" /* yacc.c:1646  */
5753 > #line 5754 "conf_parser.c" /* yacc.c:1646  */
5754      break;
5755  
5756    case 525:
5757 < #line 2566 "conf_parser.y" /* yacc.c:1646  */
5757 > #line 2623 "conf_parser.y" /* yacc.c:1646  */
5758      {
5759 <  ConfigFileEntry.max_nick_changes = (yyvsp[-1].number);
5759 >  if (conf_parser_ctx.pass == 2)
5760 >    ConfigGeneral.gline_request_time = (yyvsp[-1].number);
5761   }
5762 < #line 5676 "conf_parser.c" /* yacc.c:1646  */
5762 > #line 5763 "conf_parser.c" /* yacc.c:1646  */
5763      break;
5764  
5765    case 526:
5766 < #line 2571 "conf_parser.y" /* yacc.c:1646  */
5766 > #line 2629 "conf_parser.y" /* yacc.c:1646  */
5767      {
5768 <  ConfigFileEntry.max_accept = (yyvsp[-1].number);
5768 >  ConfigGeneral.gline_min_cidr = (yyvsp[-1].number);
5769   }
5770 < #line 5684 "conf_parser.c" /* yacc.c:1646  */
5770 > #line 5771 "conf_parser.c" /* yacc.c:1646  */
5771      break;
5772  
5773    case 527:
5774 < #line 2576 "conf_parser.y" /* yacc.c:1646  */
5774 > #line 2634 "conf_parser.y" /* yacc.c:1646  */
5775      {
5776 <  ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[-1].number);
5776 >  ConfigGeneral.gline_min_cidr6 = (yyvsp[-1].number);
5777   }
5778 < #line 5692 "conf_parser.c" /* yacc.c:1646  */
5778 > #line 5779 "conf_parser.c" /* yacc.c:1646  */
5779      break;
5780  
5781    case 528:
5782 < #line 2581 "conf_parser.y" /* yacc.c:1646  */
5782 > #line 2639 "conf_parser.y" /* yacc.c:1646  */
5783      {
5784 <  ConfigFileEntry.ts_warn_delta = (yyvsp[-1].number);
5784 >  ConfigGeneral.tkline_expire_notices = yylval.number;
5785   }
5786 < #line 5700 "conf_parser.c" /* yacc.c:1646  */
5786 > #line 5787 "conf_parser.c" /* yacc.c:1646  */
5787      break;
5788  
5789    case 529:
5790 < #line 2586 "conf_parser.y" /* yacc.c:1646  */
5790 > #line 2644 "conf_parser.y" /* yacc.c:1646  */
5791      {
5792 <  if (conf_parser_ctx.pass == 2)
5706 <    ConfigFileEntry.ts_max_delta = (yyvsp[-1].number);
5792 >  ConfigGeneral.kill_chase_time_limit = (yyvsp[-1].number);
5793   }
5794 < #line 5709 "conf_parser.c" /* yacc.c:1646  */
5794 > #line 5795 "conf_parser.c" /* yacc.c:1646  */
5795      break;
5796  
5797    case 530:
5798 < #line 2592 "conf_parser.y" /* yacc.c:1646  */
5798 > #line 2649 "conf_parser.y" /* yacc.c:1646  */
5799      {
5800 <  if (((yyvsp[-1].number) > 0) && conf_parser_ctx.pass == 1)
5715 <  {
5716 <    ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
5717 <    ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
5718 <    ilog(LOG_TYPE_IRCD, "Consider actually reading/editing the conf file, and removing this line.");
5719 <    exit(0);
5720 <  }
5800 >  ConfigGeneral.ignore_bogus_ts = yylval.number;
5801   }
5802 < #line 5723 "conf_parser.c" /* yacc.c:1646  */
5802 > #line 5803 "conf_parser.c" /* yacc.c:1646  */
5803      break;
5804  
5805    case 531:
5806 < #line 2603 "conf_parser.y" /* yacc.c:1646  */
5806 > #line 2654 "conf_parser.y" /* yacc.c:1646  */
5807      {
5808 <  ConfigFileEntry.invisible_on_connect = yylval.number;
5808 >  ConfigGeneral.failed_oper_notice = yylval.number;
5809   }
5810 < #line 5731 "conf_parser.c" /* yacc.c:1646  */
5810 > #line 5811 "conf_parser.c" /* yacc.c:1646  */
5811      break;
5812  
5813    case 532:
5814 < #line 2608 "conf_parser.y" /* yacc.c:1646  */
5814 > #line 2659 "conf_parser.y" /* yacc.c:1646  */
5815      {
5816 <  ConfigFileEntry.warn_no_connect_block = yylval.number;
5816 >  ConfigGeneral.anti_nick_flood = yylval.number;
5817   }
5818 < #line 5739 "conf_parser.c" /* yacc.c:1646  */
5818 > #line 5819 "conf_parser.c" /* yacc.c:1646  */
5819      break;
5820  
5821    case 533:
5822 < #line 2613 "conf_parser.y" /* yacc.c:1646  */
5822 > #line 2664 "conf_parser.y" /* yacc.c:1646  */
5823      {
5824 <  ConfigFileEntry.stats_e_disabled = yylval.number;
5824 >  ConfigGeneral.max_nick_time = (yyvsp[-1].number);
5825   }
5826 < #line 5747 "conf_parser.c" /* yacc.c:1646  */
5826 > #line 5827 "conf_parser.c" /* yacc.c:1646  */
5827      break;
5828  
5829    case 534:
5830 < #line 2618 "conf_parser.y" /* yacc.c:1646  */
5830 > #line 2669 "conf_parser.y" /* yacc.c:1646  */
5831      {
5832 <  ConfigFileEntry.stats_o_oper_only = yylval.number;
5832 >  ConfigGeneral.max_nick_changes = (yyvsp[-1].number);
5833   }
5834 < #line 5755 "conf_parser.c" /* yacc.c:1646  */
5834 > #line 5835 "conf_parser.c" /* yacc.c:1646  */
5835      break;
5836  
5837    case 535:
5838 < #line 2623 "conf_parser.y" /* yacc.c:1646  */
5838 > #line 2674 "conf_parser.y" /* yacc.c:1646  */
5839      {
5840 <  ConfigFileEntry.stats_P_oper_only = yylval.number;
5840 >  ConfigGeneral.max_accept = (yyvsp[-1].number);
5841   }
5842 < #line 5763 "conf_parser.c" /* yacc.c:1646  */
5842 > #line 5843 "conf_parser.c" /* yacc.c:1646  */
5843      break;
5844  
5845    case 536:
5846 < #line 2628 "conf_parser.y" /* yacc.c:1646  */
5846 > #line 2679 "conf_parser.y" /* yacc.c:1646  */
5847      {
5848 <  ConfigFileEntry.stats_u_oper_only = yylval.number;
5848 >  ConfigGeneral.anti_spam_exit_message_time = (yyvsp[-1].number);
5849   }
5850 < #line 5771 "conf_parser.c" /* yacc.c:1646  */
5850 > #line 5851 "conf_parser.c" /* yacc.c:1646  */
5851      break;
5852  
5853    case 537:
5854 < #line 2633 "conf_parser.y" /* yacc.c:1646  */
5854 > #line 2684 "conf_parser.y" /* yacc.c:1646  */
5855      {
5856 <  ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
5856 >  ConfigGeneral.ts_warn_delta = (yyvsp[-1].number);
5857   }
5858 < #line 5779 "conf_parser.c" /* yacc.c:1646  */
5858 > #line 5859 "conf_parser.c" /* yacc.c:1646  */
5859      break;
5860  
5861    case 538:
5862 < #line 2636 "conf_parser.y" /* yacc.c:1646  */
5862 > #line 2689 "conf_parser.y" /* yacc.c:1646  */
5863      {
5864 <  ConfigFileEntry.stats_k_oper_only = 1;
5864 >  if (conf_parser_ctx.pass == 2)
5865 >    ConfigGeneral.ts_max_delta = (yyvsp[-1].number);
5866   }
5867 < #line 5787 "conf_parser.c" /* yacc.c:1646  */
5867 > #line 5868 "conf_parser.c" /* yacc.c:1646  */
5868      break;
5869  
5870    case 539:
5871 < #line 2641 "conf_parser.y" /* yacc.c:1646  */
5871 > #line 2695 "conf_parser.y" /* yacc.c:1646  */
5872      {
5873 <  ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
5873 >  if (((yyvsp[-1].number) > 0) && conf_parser_ctx.pass == 1)
5874 >  {
5875 >    ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
5876 >    ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
5877 >    ilog(LOG_TYPE_IRCD, "Consider actually reading/editing the conf file, and removing this line.");
5878 >    exit(0);
5879 >  }
5880   }
5881 < #line 5795 "conf_parser.c" /* yacc.c:1646  */
5881 > #line 5882 "conf_parser.c" /* yacc.c:1646  */
5882      break;
5883  
5884    case 540:
5885 < #line 2644 "conf_parser.y" /* yacc.c:1646  */
5885 > #line 2706 "conf_parser.y" /* yacc.c:1646  */
5886      {
5887 <  ConfigFileEntry.stats_i_oper_only = 1;
5887 >  ConfigGeneral.invisible_on_connect = yylval.number;
5888   }
5889 < #line 5803 "conf_parser.c" /* yacc.c:1646  */
5889 > #line 5890 "conf_parser.c" /* yacc.c:1646  */
5890      break;
5891  
5892    case 541:
5893 < #line 2649 "conf_parser.y" /* yacc.c:1646  */
5893 > #line 2711 "conf_parser.y" /* yacc.c:1646  */
5894      {
5895 <  ConfigFileEntry.pace_wait = (yyvsp[-1].number);
5895 >  ConfigGeneral.warn_no_connect_block = yylval.number;
5896   }
5897 < #line 5811 "conf_parser.c" /* yacc.c:1646  */
5897 > #line 5898 "conf_parser.c" /* yacc.c:1646  */
5898      break;
5899  
5900    case 542:
5901 < #line 2654 "conf_parser.y" /* yacc.c:1646  */
5901 > #line 2716 "conf_parser.y" /* yacc.c:1646  */
5902      {
5903 <  ConfigFileEntry.caller_id_wait = (yyvsp[-1].number);
5903 >  ConfigGeneral.stats_e_disabled = yylval.number;
5904   }
5905 < #line 5819 "conf_parser.c" /* yacc.c:1646  */
5905 > #line 5906 "conf_parser.c" /* yacc.c:1646  */
5906      break;
5907  
5908    case 543:
5909 < #line 2659 "conf_parser.y" /* yacc.c:1646  */
5909 > #line 2721 "conf_parser.y" /* yacc.c:1646  */
5910      {
5911 <  ConfigFileEntry.opers_bypass_callerid = yylval.number;
5911 >  ConfigGeneral.stats_m_oper_only = yylval.number;
5912   }
5913 < #line 5827 "conf_parser.c" /* yacc.c:1646  */
5913 > #line 5914 "conf_parser.c" /* yacc.c:1646  */
5914      break;
5915  
5916    case 544:
5917 < #line 2664 "conf_parser.y" /* yacc.c:1646  */
5917 > #line 2726 "conf_parser.y" /* yacc.c:1646  */
5918      {
5919 <  ConfigFileEntry.pace_wait_simple = (yyvsp[-1].number);
5919 >  ConfigGeneral.stats_o_oper_only = yylval.number;
5920   }
5921 < #line 5835 "conf_parser.c" /* yacc.c:1646  */
5921 > #line 5922 "conf_parser.c" /* yacc.c:1646  */
5922      break;
5923  
5924    case 545:
5925 < #line 2669 "conf_parser.y" /* yacc.c:1646  */
5925 > #line 2731 "conf_parser.y" /* yacc.c:1646  */
5926      {
5927 <  ConfigFileEntry.short_motd = yylval.number;
5927 >  ConfigGeneral.stats_P_oper_only = yylval.number;
5928   }
5929 < #line 5843 "conf_parser.c" /* yacc.c:1646  */
5929 > #line 5930 "conf_parser.c" /* yacc.c:1646  */
5930      break;
5931  
5932    case 546:
5933 < #line 2674 "conf_parser.y" /* yacc.c:1646  */
5933 > #line 2736 "conf_parser.y" /* yacc.c:1646  */
5934      {
5935 <  ConfigFileEntry.no_oper_flood = yylval.number;
5935 >  ConfigGeneral.stats_u_oper_only = yylval.number;
5936   }
5937 < #line 5851 "conf_parser.c" /* yacc.c:1646  */
5937 > #line 5938 "conf_parser.c" /* yacc.c:1646  */
5938      break;
5939  
5940    case 547:
5941 < #line 2679 "conf_parser.y" /* yacc.c:1646  */
5941 > #line 2741 "conf_parser.y" /* yacc.c:1646  */
5942      {
5943 <  ConfigFileEntry.true_no_oper_flood = yylval.number;
5943 >  ConfigGeneral.stats_k_oper_only = 2 * yylval.number;
5944   }
5945 < #line 5859 "conf_parser.c" /* yacc.c:1646  */
5945 > #line 5946 "conf_parser.c" /* yacc.c:1646  */
5946      break;
5947  
5948    case 548:
5949 < #line 2684 "conf_parser.y" /* yacc.c:1646  */
5949 > #line 2744 "conf_parser.y" /* yacc.c:1646  */
5950      {
5951 <  ConfigFileEntry.oper_pass_resv = yylval.number;
5951 >  ConfigGeneral.stats_k_oper_only = 1;
5952   }
5953 < #line 5867 "conf_parser.c" /* yacc.c:1646  */
5953 > #line 5954 "conf_parser.c" /* yacc.c:1646  */
5954      break;
5955  
5956    case 549:
5957 < #line 2689 "conf_parser.y" /* yacc.c:1646  */
5957 > #line 2749 "conf_parser.y" /* yacc.c:1646  */
5958      {
5959 <  ConfigFileEntry.dots_in_ident = (yyvsp[-1].number);
5959 >  ConfigGeneral.stats_i_oper_only = 2 * yylval.number;
5960   }
5961 < #line 5875 "conf_parser.c" /* yacc.c:1646  */
5961 > #line 5962 "conf_parser.c" /* yacc.c:1646  */
5962      break;
5963  
5964    case 550:
5965 < #line 2694 "conf_parser.y" /* yacc.c:1646  */
5965 > #line 2752 "conf_parser.y" /* yacc.c:1646  */
5966      {
5967 <  ConfigFileEntry.max_targets = (yyvsp[-1].number);
5967 >  ConfigGeneral.stats_i_oper_only = 1;
5968   }
5969 < #line 5883 "conf_parser.c" /* yacc.c:1646  */
5969 > #line 5970 "conf_parser.c" /* yacc.c:1646  */
5970      break;
5971  
5972    case 551:
5973 < #line 2699 "conf_parser.y" /* yacc.c:1646  */
5973 > #line 2757 "conf_parser.y" /* yacc.c:1646  */
5974      {
5975 <  ConfigFileEntry.use_egd = yylval.number;
5975 >  ConfigGeneral.pace_wait = (yyvsp[-1].number);
5976   }
5977 < #line 5891 "conf_parser.c" /* yacc.c:1646  */
5977 > #line 5978 "conf_parser.c" /* yacc.c:1646  */
5978      break;
5979  
5980    case 552:
5981 < #line 2704 "conf_parser.y" /* yacc.c:1646  */
5981 > #line 2762 "conf_parser.y" /* yacc.c:1646  */
5982      {
5983 <  if (conf_parser_ctx.pass == 2)
5897 <  {
5898 <    MyFree(ConfigFileEntry.egdpool_path);
5899 <    ConfigFileEntry.egdpool_path = xstrdup(yylval.string);
5900 <  }
5983 >  ConfigGeneral.caller_id_wait = (yyvsp[-1].number);
5984   }
5985 < #line 5903 "conf_parser.c" /* yacc.c:1646  */
5985 > #line 5986 "conf_parser.c" /* yacc.c:1646  */
5986      break;
5987  
5988    case 553:
5989 < #line 2713 "conf_parser.y" /* yacc.c:1646  */
5989 > #line 2767 "conf_parser.y" /* yacc.c:1646  */
5990      {
5991 <  if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
5909 <  {
5910 <    MyFree(ConfigFileEntry.service_name);
5911 <    ConfigFileEntry.service_name = xstrdup(yylval.string);
5912 <  }
5991 >  ConfigGeneral.opers_bypass_callerid = yylval.number;
5992   }
5993 < #line 5915 "conf_parser.c" /* yacc.c:1646  */
5993 > #line 5994 "conf_parser.c" /* yacc.c:1646  */
5994      break;
5995  
5996    case 554:
5997 < #line 2722 "conf_parser.y" /* yacc.c:1646  */
5997 > #line 2772 "conf_parser.y" /* yacc.c:1646  */
5998      {
5999 <  ConfigFileEntry.ping_cookie = yylval.number;
5999 >  ConfigGeneral.pace_wait_simple = (yyvsp[-1].number);
6000   }
6001 < #line 5923 "conf_parser.c" /* yacc.c:1646  */
6001 > #line 6002 "conf_parser.c" /* yacc.c:1646  */
6002      break;
6003  
6004    case 555:
6005 < #line 2727 "conf_parser.y" /* yacc.c:1646  */
6005 > #line 2777 "conf_parser.y" /* yacc.c:1646  */
6006      {
6007 <  ConfigFileEntry.disable_auth = yylval.number;
6007 >  ConfigGeneral.short_motd = yylval.number;
6008   }
6009 < #line 5931 "conf_parser.c" /* yacc.c:1646  */
6009 > #line 6010 "conf_parser.c" /* yacc.c:1646  */
6010      break;
6011  
6012    case 556:
6013 < #line 2732 "conf_parser.y" /* yacc.c:1646  */
6013 > #line 2782 "conf_parser.y" /* yacc.c:1646  */
6014      {
6015 <  ConfigFileEntry.throttle_time = (yyvsp[-1].number);
6015 >  ConfigGeneral.no_oper_flood = yylval.number;
6016   }
6017 < #line 5939 "conf_parser.c" /* yacc.c:1646  */
6017 > #line 6018 "conf_parser.c" /* yacc.c:1646  */
6018      break;
6019  
6020    case 557:
6021 < #line 2737 "conf_parser.y" /* yacc.c:1646  */
6021 > #line 2787 "conf_parser.y" /* yacc.c:1646  */
6022      {
6023 <  ConfigFileEntry.oper_umodes = 0;
6023 >  ConfigGeneral.oper_pass_resv = yylval.number;
6024   }
6025 < #line 5947 "conf_parser.c" /* yacc.c:1646  */
6025 > #line 6026 "conf_parser.c" /* yacc.c:1646  */
6026      break;
6027  
6028 <  case 561:
6029 < #line 2743 "conf_parser.y" /* yacc.c:1646  */
6028 >  case 558:
6029 > #line 2792 "conf_parser.y" /* yacc.c:1646  */
6030      {
6031 <  ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6031 >  ConfigGeneral.dots_in_ident = (yyvsp[-1].number);
6032   }
6033 < #line 5955 "conf_parser.c" /* yacc.c:1646  */
6033 > #line 6034 "conf_parser.c" /* yacc.c:1646  */
6034      break;
6035  
6036 <  case 562:
6037 < #line 2746 "conf_parser.y" /* yacc.c:1646  */
6036 >  case 559:
6037 > #line 2797 "conf_parser.y" /* yacc.c:1646  */
6038      {
6039 <  ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6039 >  ConfigGeneral.max_targets = (yyvsp[-1].number);
6040   }
6041 < #line 5963 "conf_parser.c" /* yacc.c:1646  */
6041 > #line 6042 "conf_parser.c" /* yacc.c:1646  */
6042      break;
6043  
6044 <  case 563:
6045 < #line 2749 "conf_parser.y" /* yacc.c:1646  */
6044 >  case 560:
6045 > #line 2802 "conf_parser.y" /* yacc.c:1646  */
6046      {
6047 <  ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6047 >  ConfigGeneral.ping_cookie = yylval.number;
6048   }
6049 < #line 5971 "conf_parser.c" /* yacc.c:1646  */
6049 > #line 6050 "conf_parser.c" /* yacc.c:1646  */
6050      break;
6051  
6052 <  case 564:
6053 < #line 2752 "conf_parser.y" /* yacc.c:1646  */
6052 >  case 561:
6053 > #line 2807 "conf_parser.y" /* yacc.c:1646  */
6054      {
6055 <  ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6055 >  ConfigGeneral.disable_auth = yylval.number;
6056   }
6057 < #line 5979 "conf_parser.c" /* yacc.c:1646  */
6057 > #line 6058 "conf_parser.c" /* yacc.c:1646  */
6058      break;
6059  
6060 <  case 565:
6061 < #line 2755 "conf_parser.y" /* yacc.c:1646  */
6060 >  case 562:
6061 > #line 2812 "conf_parser.y" /* yacc.c:1646  */
6062      {
6063 <  ConfigFileEntry.oper_umodes |= UMODE_FULL;
6063 >  ConfigGeneral.throttle_count = (yyvsp[-1].number);
6064   }
6065 < #line 5987 "conf_parser.c" /* yacc.c:1646  */
6065 > #line 6066 "conf_parser.c" /* yacc.c:1646  */
6066      break;
6067  
6068 <  case 566:
6069 < #line 2758 "conf_parser.y" /* yacc.c:1646  */
6068 >  case 563:
6069 > #line 2817 "conf_parser.y" /* yacc.c:1646  */
6070      {
6071 <  ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6071 >  ConfigGeneral.throttle_time = (yyvsp[-1].number);
6072   }
6073 < #line 5995 "conf_parser.c" /* yacc.c:1646  */
6073 > #line 6074 "conf_parser.c" /* yacc.c:1646  */
6074      break;
6075  
6076 <  case 567:
6077 < #line 2761 "conf_parser.y" /* yacc.c:1646  */
6076 >  case 564:
6077 > #line 2822 "conf_parser.y" /* yacc.c:1646  */
6078      {
6079 <  ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6079 >  ConfigGeneral.oper_umodes = 0;
6080   }
6081 < #line 6003 "conf_parser.c" /* yacc.c:1646  */
6081 > #line 6082 "conf_parser.c" /* yacc.c:1646  */
6082      break;
6083  
6084    case 568:
6085 < #line 2764 "conf_parser.y" /* yacc.c:1646  */
6085 > #line 2828 "conf_parser.y" /* yacc.c:1646  */
6086      {
6087 <  ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6087 >  ConfigGeneral.oper_umodes |= UMODE_BOTS;
6088   }
6089 < #line 6011 "conf_parser.c" /* yacc.c:1646  */
6089 > #line 6090 "conf_parser.c" /* yacc.c:1646  */
6090      break;
6091  
6092    case 569:
6093 < #line 2767 "conf_parser.y" /* yacc.c:1646  */
6093 > #line 2831 "conf_parser.y" /* yacc.c:1646  */
6094      {
6095 <  ConfigFileEntry.oper_umodes |= UMODE_REJ;
6095 >  ConfigGeneral.oper_umodes |= UMODE_CCONN;
6096   }
6097 < #line 6019 "conf_parser.c" /* yacc.c:1646  */
6097 > #line 6098 "conf_parser.c" /* yacc.c:1646  */
6098      break;
6099  
6100    case 570:
6101 < #line 2770 "conf_parser.y" /* yacc.c:1646  */
6101 > #line 2834 "conf_parser.y" /* yacc.c:1646  */
6102      {
6103 <  ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6103 >  ConfigGeneral.oper_umodes |= UMODE_DEAF;
6104   }
6105 < #line 6027 "conf_parser.c" /* yacc.c:1646  */
6105 > #line 6106 "conf_parser.c" /* yacc.c:1646  */
6106      break;
6107  
6108    case 571:
6109 < #line 2773 "conf_parser.y" /* yacc.c:1646  */
6109 > #line 2837 "conf_parser.y" /* yacc.c:1646  */
6110      {
6111 <  ConfigFileEntry.oper_umodes |= UMODE_SPY;
6111 >  ConfigGeneral.oper_umodes |= UMODE_DEBUG;
6112   }
6113 < #line 6035 "conf_parser.c" /* yacc.c:1646  */
6113 > #line 6114 "conf_parser.c" /* yacc.c:1646  */
6114      break;
6115  
6116    case 572:
6117 < #line 2776 "conf_parser.y" /* yacc.c:1646  */
6117 > #line 2840 "conf_parser.y" /* yacc.c:1646  */
6118      {
6119 <  ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6119 >  ConfigGeneral.oper_umodes |= UMODE_FULL;
6120   }
6121 < #line 6043 "conf_parser.c" /* yacc.c:1646  */
6121 > #line 6122 "conf_parser.c" /* yacc.c:1646  */
6122      break;
6123  
6124    case 573:
6125 < #line 2779 "conf_parser.y" /* yacc.c:1646  */
6125 > #line 2843 "conf_parser.y" /* yacc.c:1646  */
6126      {
6127 <  ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6127 >  ConfigGeneral.oper_umodes |= UMODE_HIDDEN;
6128   }
6129 < #line 6051 "conf_parser.c" /* yacc.c:1646  */
6129 > #line 6130 "conf_parser.c" /* yacc.c:1646  */
6130      break;
6131  
6132    case 574:
6133 < #line 2782 "conf_parser.y" /* yacc.c:1646  */
6133 > #line 2846 "conf_parser.y" /* yacc.c:1646  */
6134      {
6135 <  ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6135 >  ConfigGeneral.oper_umodes |= UMODE_HIDECHANS;
6136   }
6137 < #line 6059 "conf_parser.c" /* yacc.c:1646  */
6137 > #line 6138 "conf_parser.c" /* yacc.c:1646  */
6138      break;
6139  
6140    case 575:
6141 < #line 2785 "conf_parser.y" /* yacc.c:1646  */
6141 > #line 2849 "conf_parser.y" /* yacc.c:1646  */
6142      {
6143 <  ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6143 >  ConfigGeneral.oper_umodes |= UMODE_HIDEIDLE;
6144   }
6145 < #line 6067 "conf_parser.c" /* yacc.c:1646  */
6145 > #line 6146 "conf_parser.c" /* yacc.c:1646  */
6146      break;
6147  
6148    case 576:
6149 < #line 2788 "conf_parser.y" /* yacc.c:1646  */
6149 > #line 2852 "conf_parser.y" /* yacc.c:1646  */
6150      {
6151 <  ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6151 >  ConfigGeneral.oper_umodes |= UMODE_SKILL;
6152   }
6153 < #line 6075 "conf_parser.c" /* yacc.c:1646  */
6153 > #line 6154 "conf_parser.c" /* yacc.c:1646  */
6154      break;
6155  
6156    case 577:
6157 < #line 2791 "conf_parser.y" /* yacc.c:1646  */
6157 > #line 2855 "conf_parser.y" /* yacc.c:1646  */
6158      {
6159 <  ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6159 >  ConfigGeneral.oper_umodes |= UMODE_NCHANGE;
6160   }
6161 < #line 6083 "conf_parser.c" /* yacc.c:1646  */
6161 > #line 6162 "conf_parser.c" /* yacc.c:1646  */
6162      break;
6163  
6164    case 578:
6165 < #line 2794 "conf_parser.y" /* yacc.c:1646  */
6165 > #line 2858 "conf_parser.y" /* yacc.c:1646  */
6166      {
6167 <  ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6167 >  ConfigGeneral.oper_umodes |= UMODE_REJ;
6168   }
6169 < #line 6091 "conf_parser.c" /* yacc.c:1646  */
6169 > #line 6170 "conf_parser.c" /* yacc.c:1646  */
6170      break;
6171  
6172    case 579:
6173 < #line 2797 "conf_parser.y" /* yacc.c:1646  */
6173 > #line 2861 "conf_parser.y" /* yacc.c:1646  */
6174      {
6175 <  ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6175 >  ConfigGeneral.oper_umodes |= UMODE_UNAUTH;
6176   }
6177 < #line 6099 "conf_parser.c" /* yacc.c:1646  */
6177 > #line 6178 "conf_parser.c" /* yacc.c:1646  */
6178      break;
6179  
6180    case 580:
6181 < #line 2800 "conf_parser.y" /* yacc.c:1646  */
6181 > #line 2864 "conf_parser.y" /* yacc.c:1646  */
6182      {
6183 <  ConfigFileEntry.oper_umodes |= UMODE_REGONLY;
6183 >  ConfigGeneral.oper_umodes |= UMODE_SPY;
6184   }
6185 < #line 6107 "conf_parser.c" /* yacc.c:1646  */
6185 > #line 6186 "conf_parser.c" /* yacc.c:1646  */
6186      break;
6187  
6188    case 581:
6189 < #line 2803 "conf_parser.y" /* yacc.c:1646  */
6189 > #line 2867 "conf_parser.y" /* yacc.c:1646  */
6190      {
6191 <  ConfigFileEntry.oper_umodes |= UMODE_FARCONNECT;
6191 >  ConfigGeneral.oper_umodes |= UMODE_EXTERNAL;
6192   }
6193 < #line 6115 "conf_parser.c" /* yacc.c:1646  */
6193 > #line 6194 "conf_parser.c" /* yacc.c:1646  */
6194      break;
6195  
6196    case 582:
6197 < #line 2808 "conf_parser.y" /* yacc.c:1646  */
6197 > #line 2870 "conf_parser.y" /* yacc.c:1646  */
6198      {
6199 <  ConfigFileEntry.oper_only_umodes = 0;
6199 >  ConfigGeneral.oper_umodes |= UMODE_SERVNOTICE;
6200   }
6201 < #line 6123 "conf_parser.c" /* yacc.c:1646  */
6201 > #line 6202 "conf_parser.c" /* yacc.c:1646  */
6202      break;
6203  
6204 <  case 586:
6205 < #line 2814 "conf_parser.y" /* yacc.c:1646  */
6204 >  case 583:
6205 > #line 2873 "conf_parser.y" /* yacc.c:1646  */
6206      {
6207 <  ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6207 >  ConfigGeneral.oper_umodes |= UMODE_INVISIBLE;
6208   }
6209 < #line 6131 "conf_parser.c" /* yacc.c:1646  */
6209 > #line 6210 "conf_parser.c" /* yacc.c:1646  */
6210      break;
6211  
6212 <  case 587:
6213 < #line 2817 "conf_parser.y" /* yacc.c:1646  */
6212 >  case 584:
6213 > #line 2876 "conf_parser.y" /* yacc.c:1646  */
6214      {
6215 <  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6215 >  ConfigGeneral.oper_umodes |= UMODE_WALLOP;
6216   }
6217 < #line 6139 "conf_parser.c" /* yacc.c:1646  */
6217 > #line 6218 "conf_parser.c" /* yacc.c:1646  */
6218      break;
6219  
6220 <  case 588:
6221 < #line 2820 "conf_parser.y" /* yacc.c:1646  */
6220 >  case 585:
6221 > #line 2879 "conf_parser.y" /* yacc.c:1646  */
6222      {
6223 <  ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6223 >  ConfigGeneral.oper_umodes |= UMODE_SOFTCALLERID;
6224   }
6225 < #line 6147 "conf_parser.c" /* yacc.c:1646  */
6225 > #line 6226 "conf_parser.c" /* yacc.c:1646  */
6226      break;
6227  
6228 <  case 589:
6229 < #line 2823 "conf_parser.y" /* yacc.c:1646  */
6228 >  case 586:
6229 > #line 2882 "conf_parser.y" /* yacc.c:1646  */
6230      {
6231 <  ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6231 >  ConfigGeneral.oper_umodes |= UMODE_CALLERID;
6232   }
6233 < #line 6155 "conf_parser.c" /* yacc.c:1646  */
6233 > #line 6234 "conf_parser.c" /* yacc.c:1646  */
6234      break;
6235  
6236 <  case 590:
6237 < #line 2826 "conf_parser.y" /* yacc.c:1646  */
6236 >  case 587:
6237 > #line 2885 "conf_parser.y" /* yacc.c:1646  */
6238      {
6239 <  ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6239 >  ConfigGeneral.oper_umodes |= UMODE_LOCOPS;
6240   }
6241 < #line 6163 "conf_parser.c" /* yacc.c:1646  */
6241 > #line 6242 "conf_parser.c" /* yacc.c:1646  */
6242      break;
6243  
6244 <  case 591:
6245 < #line 2829 "conf_parser.y" /* yacc.c:1646  */
6244 >  case 588:
6245 > #line 2888 "conf_parser.y" /* yacc.c:1646  */
6246      {
6247 <  ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6247 >  ConfigGeneral.oper_umodes |= UMODE_REGONLY;
6248   }
6249 < #line 6171 "conf_parser.c" /* yacc.c:1646  */
6249 > #line 6250 "conf_parser.c" /* yacc.c:1646  */
6250      break;
6251  
6252 <  case 592:
6253 < #line 2832 "conf_parser.y" /* yacc.c:1646  */
6252 >  case 589:
6253 > #line 2891 "conf_parser.y" /* yacc.c:1646  */
6254      {
6255 <  ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6255 >  ConfigGeneral.oper_umodes |= UMODE_FARCONNECT;
6256   }
6257 < #line 6179 "conf_parser.c" /* yacc.c:1646  */
6257 > #line 6258 "conf_parser.c" /* yacc.c:1646  */
6258      break;
6259  
6260 <  case 593:
6261 < #line 2835 "conf_parser.y" /* yacc.c:1646  */
6260 >  case 590:
6261 > #line 2896 "conf_parser.y" /* yacc.c:1646  */
6262      {
6263 <  ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6263 >  ConfigGeneral.oper_only_umodes = 0;
6264   }
6265 < #line 6187 "conf_parser.c" /* yacc.c:1646  */
6265 > #line 6266 "conf_parser.c" /* yacc.c:1646  */
6266      break;
6267  
6268    case 594:
6269 < #line 2838 "conf_parser.y" /* yacc.c:1646  */
6269 > #line 2902 "conf_parser.y" /* yacc.c:1646  */
6270      {
6271 <  ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6271 >  ConfigGeneral.oper_only_umodes |= UMODE_BOTS;
6272   }
6273 < #line 6195 "conf_parser.c" /* yacc.c:1646  */
6273 > #line 6274 "conf_parser.c" /* yacc.c:1646  */
6274      break;
6275  
6276    case 595:
6277 < #line 2841 "conf_parser.y" /* yacc.c:1646  */
6277 > #line 2905 "conf_parser.y" /* yacc.c:1646  */
6278      {
6279 <  ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6279 >  ConfigGeneral.oper_only_umodes |= UMODE_CCONN;
6280   }
6281 < #line 6203 "conf_parser.c" /* yacc.c:1646  */
6281 > #line 6282 "conf_parser.c" /* yacc.c:1646  */
6282      break;
6283  
6284    case 596:
6285 < #line 2844 "conf_parser.y" /* yacc.c:1646  */
6285 > #line 2908 "conf_parser.y" /* yacc.c:1646  */
6286      {
6287 <  ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6287 >  ConfigGeneral.oper_only_umodes |= UMODE_DEAF;
6288   }
6289 < #line 6211 "conf_parser.c" /* yacc.c:1646  */
6289 > #line 6290 "conf_parser.c" /* yacc.c:1646  */
6290      break;
6291  
6292    case 597:
6293 < #line 2847 "conf_parser.y" /* yacc.c:1646  */
6293 > #line 2911 "conf_parser.y" /* yacc.c:1646  */
6294      {
6295 <  ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6295 >  ConfigGeneral.oper_only_umodes |= UMODE_DEBUG;
6296   }
6297 < #line 6219 "conf_parser.c" /* yacc.c:1646  */
6297 > #line 6298 "conf_parser.c" /* yacc.c:1646  */
6298      break;
6299  
6300    case 598:
6301 < #line 2850 "conf_parser.y" /* yacc.c:1646  */
6301 > #line 2914 "conf_parser.y" /* yacc.c:1646  */
6302      {
6303 <  ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6303 >  ConfigGeneral.oper_only_umodes |= UMODE_FULL;
6304   }
6305 < #line 6227 "conf_parser.c" /* yacc.c:1646  */
6305 > #line 6306 "conf_parser.c" /* yacc.c:1646  */
6306      break;
6307  
6308    case 599:
6309 < #line 2853 "conf_parser.y" /* yacc.c:1646  */
6309 > #line 2917 "conf_parser.y" /* yacc.c:1646  */
6310      {
6311 <  ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6311 >  ConfigGeneral.oper_only_umodes |= UMODE_SKILL;
6312   }
6313 < #line 6235 "conf_parser.c" /* yacc.c:1646  */
6313 > #line 6314 "conf_parser.c" /* yacc.c:1646  */
6314      break;
6315  
6316    case 600:
6317 < #line 2856 "conf_parser.y" /* yacc.c:1646  */
6317 > #line 2920 "conf_parser.y" /* yacc.c:1646  */
6318      {
6319 <  ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6319 >  ConfigGeneral.oper_only_umodes |= UMODE_HIDDEN;
6320   }
6321 < #line 6243 "conf_parser.c" /* yacc.c:1646  */
6321 > #line 6322 "conf_parser.c" /* yacc.c:1646  */
6322      break;
6323  
6324    case 601:
6325 < #line 2859 "conf_parser.y" /* yacc.c:1646  */
6325 > #line 2923 "conf_parser.y" /* yacc.c:1646  */
6326      {
6327 <  ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6327 >  ConfigGeneral.oper_only_umodes |= UMODE_NCHANGE;
6328   }
6329 < #line 6251 "conf_parser.c" /* yacc.c:1646  */
6329 > #line 6330 "conf_parser.c" /* yacc.c:1646  */
6330      break;
6331  
6332    case 602:
6333 < #line 2862 "conf_parser.y" /* yacc.c:1646  */
6333 > #line 2926 "conf_parser.y" /* yacc.c:1646  */
6334      {
6335 <  ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6335 >  ConfigGeneral.oper_only_umodes |= UMODE_REJ;
6336   }
6337 < #line 6259 "conf_parser.c" /* yacc.c:1646  */
6337 > #line 6338 "conf_parser.c" /* yacc.c:1646  */
6338      break;
6339  
6340    case 603:
6341 < #line 2865 "conf_parser.y" /* yacc.c:1646  */
6341 > #line 2929 "conf_parser.y" /* yacc.c:1646  */
6342      {
6343 <  ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6343 >  ConfigGeneral.oper_only_umodes |= UMODE_UNAUTH;
6344   }
6345 < #line 6267 "conf_parser.c" /* yacc.c:1646  */
6345 > #line 6346 "conf_parser.c" /* yacc.c:1646  */
6346      break;
6347  
6348    case 604:
6349 < #line 2868 "conf_parser.y" /* yacc.c:1646  */
6349 > #line 2932 "conf_parser.y" /* yacc.c:1646  */
6350      {
6351 <  ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6351 >  ConfigGeneral.oper_only_umodes |= UMODE_SPY;
6352   }
6353 < #line 6275 "conf_parser.c" /* yacc.c:1646  */
6353 > #line 6354 "conf_parser.c" /* yacc.c:1646  */
6354      break;
6355  
6356    case 605:
6357 < #line 2871 "conf_parser.y" /* yacc.c:1646  */
6357 > #line 2935 "conf_parser.y" /* yacc.c:1646  */
6358      {
6359 <  ConfigFileEntry.oper_only_umodes |= UMODE_REGONLY;
6359 >  ConfigGeneral.oper_only_umodes |= UMODE_EXTERNAL;
6360   }
6361 < #line 6283 "conf_parser.c" /* yacc.c:1646  */
6361 > #line 6362 "conf_parser.c" /* yacc.c:1646  */
6362      break;
6363  
6364    case 606:
6365 < #line 2874 "conf_parser.y" /* yacc.c:1646  */
6365 > #line 2938 "conf_parser.y" /* yacc.c:1646  */
6366      {
6367 <  ConfigFileEntry.oper_only_umodes |= UMODE_FARCONNECT;
6367 >  ConfigGeneral.oper_only_umodes |= UMODE_SERVNOTICE;
6368   }
6369 < #line 6291 "conf_parser.c" /* yacc.c:1646  */
6369 > #line 6370 "conf_parser.c" /* yacc.c:1646  */
6370      break;
6371  
6372    case 607:
6373 < #line 2879 "conf_parser.y" /* yacc.c:1646  */
6373 > #line 2941 "conf_parser.y" /* yacc.c:1646  */
6374      {
6375 <  ConfigFileEntry.min_nonwildcard = (yyvsp[-1].number);
6375 >  ConfigGeneral.oper_only_umodes |= UMODE_INVISIBLE;
6376   }
6377 < #line 6299 "conf_parser.c" /* yacc.c:1646  */
6377 > #line 6378 "conf_parser.c" /* yacc.c:1646  */
6378      break;
6379  
6380    case 608:
6381 < #line 2884 "conf_parser.y" /* yacc.c:1646  */
6381 > #line 2944 "conf_parser.y" /* yacc.c:1646  */
6382      {
6383 <  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[-1].number);
6383 >  ConfigGeneral.oper_only_umodes |= UMODE_WALLOP;
6384   }
6385 < #line 6307 "conf_parser.c" /* yacc.c:1646  */
6385 > #line 6386 "conf_parser.c" /* yacc.c:1646  */
6386      break;
6387  
6388    case 609:
6389 < #line 2889 "conf_parser.y" /* yacc.c:1646  */
6389 > #line 2947 "conf_parser.y" /* yacc.c:1646  */
6390      {
6391 <  ConfigFileEntry.default_floodcount = (yyvsp[-1].number);
6391 >  ConfigGeneral.oper_only_umodes |= UMODE_SOFTCALLERID;
6392   }
6393 < #line 6315 "conf_parser.c" /* yacc.c:1646  */
6393 > #line 6394 "conf_parser.c" /* yacc.c:1646  */
6394      break;
6395  
6396 <  case 626:
6397 < #line 2916 "conf_parser.y" /* yacc.c:1646  */
6396 >  case 610:
6397 > #line 2950 "conf_parser.y" /* yacc.c:1646  */
6398 >    {
6399 >  ConfigGeneral.oper_only_umodes |= UMODE_CALLERID;
6400 > }
6401 > #line 6402 "conf_parser.c" /* yacc.c:1646  */
6402 >    break;
6403 >
6404 >  case 611:
6405 > #line 2953 "conf_parser.y" /* yacc.c:1646  */
6406 >    {
6407 >  ConfigGeneral.oper_only_umodes |= UMODE_LOCOPS;
6408 > }
6409 > #line 6410 "conf_parser.c" /* yacc.c:1646  */
6410 >    break;
6411 >
6412 >  case 612:
6413 > #line 2956 "conf_parser.y" /* yacc.c:1646  */
6414 >    {
6415 >  ConfigGeneral.oper_only_umodes |= UMODE_REGONLY;
6416 > }
6417 > #line 6418 "conf_parser.c" /* yacc.c:1646  */
6418 >    break;
6419 >
6420 >  case 613:
6421 > #line 2959 "conf_parser.y" /* yacc.c:1646  */
6422 >    {
6423 >  ConfigGeneral.oper_only_umodes |= UMODE_FARCONNECT;
6424 > }
6425 > #line 6426 "conf_parser.c" /* yacc.c:1646  */
6426 >    break;
6427 >
6428 >  case 614:
6429 > #line 2964 "conf_parser.y" /* yacc.c:1646  */
6430 >    {
6431 >  ConfigGeneral.min_nonwildcard = (yyvsp[-1].number);
6432 > }
6433 > #line 6434 "conf_parser.c" /* yacc.c:1646  */
6434 >    break;
6435 >
6436 >  case 615:
6437 > #line 2969 "conf_parser.y" /* yacc.c:1646  */
6438 >    {
6439 >  ConfigGeneral.min_nonwildcard_simple = (yyvsp[-1].number);
6440 > }
6441 > #line 6442 "conf_parser.c" /* yacc.c:1646  */
6442 >    break;
6443 >
6444 >  case 616:
6445 > #line 2974 "conf_parser.y" /* yacc.c:1646  */
6446 >    {
6447 >  ConfigGeneral.default_floodcount = (yyvsp[-1].number);
6448 > }
6449 > #line 6450 "conf_parser.c" /* yacc.c:1646  */
6450 >    break;
6451 >
6452 >  case 635:
6453 > #line 3003 "conf_parser.y" /* yacc.c:1646  */
6454      {
6455    ConfigChannel.disable_fake_channels = yylval.number;
6456   }
6457 < #line 6323 "conf_parser.c" /* yacc.c:1646  */
6457 > #line 6458 "conf_parser.c" /* yacc.c:1646  */
6458      break;
6459  
6460 <  case 627:
6461 < #line 2921 "conf_parser.y" /* yacc.c:1646  */
6460 >  case 636:
6461 > #line 3008 "conf_parser.y" /* yacc.c:1646  */
6462      {
6463 <  ConfigChannel.knock_delay = (yyvsp[-1].number);
6463 >  ConfigChannel.invite_client_count = (yyvsp[-1].number);
6464   }
6465 < #line 6331 "conf_parser.c" /* yacc.c:1646  */
6465 > #line 6466 "conf_parser.c" /* yacc.c:1646  */
6466      break;
6467  
6468 <  case 628:
6469 < #line 2926 "conf_parser.y" /* yacc.c:1646  */
6468 >  case 637:
6469 > #line 3013 "conf_parser.y" /* yacc.c:1646  */
6470      {
6471 <  ConfigChannel.knock_delay_channel = (yyvsp[-1].number);
6471 >  ConfigChannel.invite_client_time = (yyvsp[-1].number);
6472   }
6473 < #line 6339 "conf_parser.c" /* yacc.c:1646  */
6473 > #line 6474 "conf_parser.c" /* yacc.c:1646  */
6474      break;
6475  
6476 <  case 629:
6477 < #line 2931 "conf_parser.y" /* yacc.c:1646  */
6476 >  case 638:
6477 > #line 3018 "conf_parser.y" /* yacc.c:1646  */
6478      {
6479 <  ConfigChannel.max_chans_per_user = (yyvsp[-1].number);
6479 >  ConfigChannel.knock_client_count = (yyvsp[-1].number);
6480   }
6481 < #line 6347 "conf_parser.c" /* yacc.c:1646  */
6481 > #line 6482 "conf_parser.c" /* yacc.c:1646  */
6482      break;
6483  
6484 <  case 630:
6485 < #line 2936 "conf_parser.y" /* yacc.c:1646  */
6484 >  case 639:
6485 > #line 3023 "conf_parser.y" /* yacc.c:1646  */
6486      {
6487 <  ConfigChannel.max_chans_per_oper = (yyvsp[-1].number);
6487 >  ConfigChannel.knock_client_time = (yyvsp[-1].number);
6488   }
6489 < #line 6355 "conf_parser.c" /* yacc.c:1646  */
6489 > #line 6490 "conf_parser.c" /* yacc.c:1646  */
6490      break;
6491  
6492 <  case 631:
6493 < #line 2941 "conf_parser.y" /* yacc.c:1646  */
6492 >  case 640:
6493 > #line 3028 "conf_parser.y" /* yacc.c:1646  */
6494 >    {
6495 >  ConfigChannel.knock_delay_channel = (yyvsp[-1].number);
6496 > }
6497 > #line 6498 "conf_parser.c" /* yacc.c:1646  */
6498 >    break;
6499 >
6500 >  case 641:
6501 > #line 3033 "conf_parser.y" /* yacc.c:1646  */
6502 >    {
6503 >  ConfigChannel.max_channels = (yyvsp[-1].number);
6504 > }
6505 > #line 6506 "conf_parser.c" /* yacc.c:1646  */
6506 >    break;
6507 >
6508 >  case 642:
6509 > #line 3038 "conf_parser.y" /* yacc.c:1646  */
6510      {
6511    ConfigChannel.max_bans = (yyvsp[-1].number);
6512   }
6513 < #line 6363 "conf_parser.c" /* yacc.c:1646  */
6513 > #line 6514 "conf_parser.c" /* yacc.c:1646  */
6514      break;
6515  
6516 <  case 632:
6517 < #line 2946 "conf_parser.y" /* yacc.c:1646  */
6516 >  case 643:
6517 > #line 3043 "conf_parser.y" /* yacc.c:1646  */
6518      {
6519    ConfigChannel.default_split_user_count = (yyvsp[-1].number);
6520   }
6521 < #line 6371 "conf_parser.c" /* yacc.c:1646  */
6521 > #line 6522 "conf_parser.c" /* yacc.c:1646  */
6522      break;
6523  
6524 <  case 633:
6525 < #line 2951 "conf_parser.y" /* yacc.c:1646  */
6524 >  case 644:
6525 > #line 3048 "conf_parser.y" /* yacc.c:1646  */
6526      {
6527    ConfigChannel.default_split_server_count = (yyvsp[-1].number);
6528   }
6529 < #line 6379 "conf_parser.c" /* yacc.c:1646  */
6529 > #line 6530 "conf_parser.c" /* yacc.c:1646  */
6530      break;
6531  
6532 <  case 634:
6533 < #line 2956 "conf_parser.y" /* yacc.c:1646  */
6532 >  case 645:
6533 > #line 3053 "conf_parser.y" /* yacc.c:1646  */
6534      {
6535    ConfigChannel.no_create_on_split = yylval.number;
6536   }
6537 < #line 6387 "conf_parser.c" /* yacc.c:1646  */
6537 > #line 6538 "conf_parser.c" /* yacc.c:1646  */
6538      break;
6539  
6540 <  case 635:
6541 < #line 2961 "conf_parser.y" /* yacc.c:1646  */
6540 >  case 646:
6541 > #line 3058 "conf_parser.y" /* yacc.c:1646  */
6542      {
6543    ConfigChannel.no_join_on_split = yylval.number;
6544   }
6545 < #line 6395 "conf_parser.c" /* yacc.c:1646  */
6545 > #line 6546 "conf_parser.c" /* yacc.c:1646  */
6546      break;
6547  
6548 <  case 636:
6549 < #line 2966 "conf_parser.y" /* yacc.c:1646  */
6548 >  case 647:
6549 > #line 3063 "conf_parser.y" /* yacc.c:1646  */
6550      {
6551    GlobalSetOptions.joinfloodcount = yylval.number;
6552   }
6553 < #line 6403 "conf_parser.c" /* yacc.c:1646  */
6553 > #line 6554 "conf_parser.c" /* yacc.c:1646  */
6554      break;
6555  
6556 <  case 637:
6557 < #line 2971 "conf_parser.y" /* yacc.c:1646  */
6556 >  case 648:
6557 > #line 3068 "conf_parser.y" /* yacc.c:1646  */
6558      {
6559    GlobalSetOptions.joinfloodtime = (yyvsp[-1].number);
6560   }
6561 < #line 6411 "conf_parser.c" /* yacc.c:1646  */
6561 > #line 6562 "conf_parser.c" /* yacc.c:1646  */
6562      break;
6563  
6564 <  case 650:
6565 < #line 2993 "conf_parser.y" /* yacc.c:1646  */
6564 >  case 661:
6565 > #line 3090 "conf_parser.y" /* yacc.c:1646  */
6566      {
6567    if (conf_parser_ctx.pass == 2)
6568      ConfigServerHide.flatten_links = yylval.number;
6569   }
6570 < #line 6420 "conf_parser.c" /* yacc.c:1646  */
6570 > #line 6571 "conf_parser.c" /* yacc.c:1646  */
6571      break;
6572  
6573 <  case 651:
6574 < #line 2999 "conf_parser.y" /* yacc.c:1646  */
6573 >  case 662:
6574 > #line 3096 "conf_parser.y" /* yacc.c:1646  */
6575      {
6576    if (conf_parser_ctx.pass == 2)
6577      ConfigServerHide.disable_remote_commands = yylval.number;
6578   }
6579 < #line 6429 "conf_parser.c" /* yacc.c:1646  */
6579 > #line 6580 "conf_parser.c" /* yacc.c:1646  */
6580      break;
6581  
6582 <  case 652:
6583 < #line 3005 "conf_parser.y" /* yacc.c:1646  */
6582 >  case 663:
6583 > #line 3102 "conf_parser.y" /* yacc.c:1646  */
6584      {
6585    if (conf_parser_ctx.pass == 2)
6586      ConfigServerHide.hide_servers = yylval.number;
6587   }
6588 < #line 6438 "conf_parser.c" /* yacc.c:1646  */
6588 > #line 6589 "conf_parser.c" /* yacc.c:1646  */
6589      break;
6590  
6591 <  case 653:
6592 < #line 3011 "conf_parser.y" /* yacc.c:1646  */
6591 >  case 664:
6592 > #line 3108 "conf_parser.y" /* yacc.c:1646  */
6593      {
6594    if (conf_parser_ctx.pass == 2)
6595      ConfigServerHide.hide_services = yylval.number;
6596   }
6597 < #line 6447 "conf_parser.c" /* yacc.c:1646  */
6597 > #line 6598 "conf_parser.c" /* yacc.c:1646  */
6598      break;
6599  
6600 <  case 654:
6601 < #line 3017 "conf_parser.y" /* yacc.c:1646  */
6600 >  case 665:
6601 > #line 3114 "conf_parser.y" /* yacc.c:1646  */
6602      {
6603    if (conf_parser_ctx.pass == 2)
6604    {
# Line 6455 | Line 6606 | yyreduce:
6606      ConfigServerHide.hidden_name = xstrdup(yylval.string);
6607    }
6608   }
6609 < #line 6459 "conf_parser.c" /* yacc.c:1646  */
6609 > #line 6610 "conf_parser.c" /* yacc.c:1646  */
6610      break;
6611  
6612 <  case 655:
6613 < #line 3026 "conf_parser.y" /* yacc.c:1646  */
6612 >  case 666:
6613 > #line 3123 "conf_parser.y" /* yacc.c:1646  */
6614      {
6615    if (conf_parser_ctx.pass == 2)
6616    {
6617      if (((yyvsp[-1].number) > 0) && ConfigServerHide.links_disabled == 1)
6618      {
6619 <      eventAddIsh("write_links_file", write_links_file, NULL, (yyvsp[-1].number));
6619 >      event_write_links_file.when = (yyvsp[-1].number);
6620 >      event_addish(&event_write_links_file, NULL);
6621        ConfigServerHide.links_disabled = 0;
6622      }
6623  
6624      ConfigServerHide.links_delay = (yyvsp[-1].number);
6625    }
6626   }
6627 < #line 6476 "conf_parser.c" /* yacc.c:1646  */
6627 > #line 6628 "conf_parser.c" /* yacc.c:1646  */
6628      break;
6629  
6630 <  case 656:
6631 < #line 3040 "conf_parser.y" /* yacc.c:1646  */
6630 >  case 667:
6631 > #line 3138 "conf_parser.y" /* yacc.c:1646  */
6632      {
6633    if (conf_parser_ctx.pass == 2)
6634      ConfigServerHide.hidden = yylval.number;
6635   }
6636 < #line 6485 "conf_parser.c" /* yacc.c:1646  */
6636 > #line 6637 "conf_parser.c" /* yacc.c:1646  */
6637      break;
6638  
6639 <  case 657:
6640 < #line 3046 "conf_parser.y" /* yacc.c:1646  */
6639 >  case 668:
6640 > #line 3144 "conf_parser.y" /* yacc.c:1646  */
6641      {
6642    if (conf_parser_ctx.pass == 2)
6643      ConfigServerHide.hide_server_ips = yylval.number;
6644   }
6645 < #line 6494 "conf_parser.c" /* yacc.c:1646  */
6645 > #line 6646 "conf_parser.c" /* yacc.c:1646  */
6646      break;
6647  
6648  
6649 < #line 6498 "conf_parser.c" /* yacc.c:1646  */
6649 > #line 6650 "conf_parser.c" /* yacc.c:1646  */
6650        default: break;
6651      }
6652    /* User semantic actions sometimes alter yychar, and that requires

Diff Legend

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