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

Comparing ircd-hybrid/trunk/src/conf_parser.c (file contents):
Revision 4114 by michael, Tue Jul 1 16:47:15 2014 UTC vs.
Revision 7668 by michael, Wed Jul 20 17:09:49 2016 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.4.  */
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.4"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 65 | Line 65
65   #line 28 "conf_parser.y" /* yacc.c:339  */
66  
67  
68 #define YY_NO_UNPUT
69 #include <sys/types.h>
70 #include <string.h>
71
68   #include "config.h"
69   #include "stdinc.h"
70   #include "ircd.h"
71   #include "list.h"
72   #include "conf.h"
73   #include "conf_class.h"
74 + #include "conf_cluster.h"
75 + #include "conf_gecos.h"
76 + #include "conf_pseudo.h"
77 + #include "conf_resv.h"
78 + #include "conf_service.h"
79 + #include "conf_shared.h"
80   #include "event.h"
81 + #include "id.h"
82   #include "log.h"
80 #include "client.h"     /* for UMODE_ALL only */
83   #include "irc_string.h"
84   #include "memory.h"
85   #include "modules.h"
86   #include "server.h"
87   #include "hostmask.h"
86 #include "send.h"
88   #include "listener.h"
88 #include "resv.h"
89 #include "numeric.h"
89   #include "user.h"
90   #include "motd.h"
91  
93 #ifdef HAVE_LIBCRYPTO
94 #include <openssl/rsa.h>
95 #include <openssl/bio.h>
96 #include <openssl/pem.h>
97 #include <openssl/dh.h>
98 #endif
99
100 #include "rsa.h"
101
92   int yylex(void);
93  
94   static struct
# Line 114 | Line 104 | static struct
104    {
105      char buf[IRCD_BUFSIZE];
106    } name,
107 +    nick,
108      user,
109      host,
110      addr,
# Line 123 | Line 114 | static struct
114      cert,
115      rpass,
116      spass,
117 <    class;
117 >    whois,
118 >    class,
119 >    target,
120 >    prepend,
121 >    command;
122  
123    struct
124    {
# Line 142 | Line 137 | static struct
137      max_total,
138      max_global,
139      max_local,
145    max_ident,
140      max_sendq,
141      max_recvq,
142      max_channels,
# Line 154 | Line 148 | static struct
148   static void
149   reset_block_state(void)
150   {
151 <  dlink_node *ptr = NULL, *ptr_next = NULL;
151 >  dlink_node *node = NULL, *node_next = NULL;
152  
153 <  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.mask.list.head)
153 >  DLINK_FOREACH_SAFE(node, node_next, block_state.mask.list.head)
154    {
155 <    MyFree(ptr->data);
156 <    dlinkDelete(ptr, &block_state.mask.list);
157 <    free_dlink_node(ptr);
155 >    xfree(node->data);
156 >    dlinkDelete(node, &block_state.mask.list);
157 >    free_dlink_node(node);
158    }
159  
160 <  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.leaf.list.head)
160 >  DLINK_FOREACH_SAFE(node, node_next, block_state.leaf.list.head)
161    {
162 <    MyFree(ptr->data);
163 <    dlinkDelete(ptr, &block_state.leaf.list);
164 <    free_dlink_node(ptr);
162 >    xfree(node->data);
163 >    dlinkDelete(node, &block_state.leaf.list);
164 >    free_dlink_node(node);
165    }
166  
167 <  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.hub.list.head)
167 >  DLINK_FOREACH_SAFE(node, node_next, block_state.hub.list.head)
168    {
169 <    MyFree(ptr->data);
170 <    dlinkDelete(ptr, &block_state.hub.list);
171 <    free_dlink_node(ptr);
169 >    xfree(node->data);
170 >    dlinkDelete(node, &block_state.hub.list);
171 >    free_dlink_node(node);
172    }
173  
174    memset(&block_state, 0, sizeof(block_state));
175   }
176  
177  
178 < #line 185 "conf_parser.c" /* yacc.c:339  */
178 > #line 179 "conf_parser.c" /* yacc.c:339  */
179  
180   # ifndef YY_NULLPTR
181   #  if defined __cplusplus && 201103L <= __cplusplus
# Line 222 | Line 216 | extern int yydebug;
216      ANTI_NICK_FLOOD = 261,
217      ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
218      AUTOCONN = 263,
219 <    BYTES = 264,
220 <    KBYTES = 265,
221 <    MBYTES = 266,
222 <    CALLER_ID_WAIT = 267,
223 <    CAN_FLOOD = 268,
224 <    CHANNEL = 269,
225 <    CIDR_BITLEN_IPV4 = 270,
226 <    CIDR_BITLEN_IPV6 = 271,
227 <    CLASS = 272,
228 <    CONNECT = 273,
229 <    CONNECTFREQ = 274,
230 <    CYCLE_ON_HOST_CHANGE = 275,
231 <    DEFAULT_FLOODCOUNT = 276,
232 <    DEFAULT_SPLIT_SERVER_COUNT = 277,
233 <    DEFAULT_SPLIT_USER_COUNT = 278,
234 <    DENY = 279,
235 <    DESCRIPTION = 280,
236 <    DIE = 281,
237 <    DISABLE_AUTH = 282,
238 <    DISABLE_FAKE_CHANNELS = 283,
239 <    DISABLE_REMOTE_COMMANDS = 284,
240 <    DOTS_IN_IDENT = 285,
241 <    EGDPOOL_PATH = 286,
242 <    EMAIL = 287,
243 <    ENCRYPTED = 288,
244 <    EXCEED_LIMIT = 289,
245 <    EXEMPT = 290,
246 <    FAILED_OPER_NOTICE = 291,
247 <    FLATTEN_LINKS = 292,
248 <    GECOS = 293,
249 <    GENERAL = 294,
250 <    GLINE = 295,
251 <    GLINE_DURATION = 296,
252 <    GLINE_ENABLE = 297,
253 <    GLINE_EXEMPT = 298,
254 <    GLINE_MIN_CIDR = 299,
255 <    GLINE_MIN_CIDR6 = 300,
256 <    GLINE_REQUEST_DURATION = 301,
257 <    GLOBAL_KILL = 302,
258 <    HAVENT_READ_CONF = 303,
259 <    HIDDEN = 304,
260 <    HIDDEN_NAME = 305,
261 <    HIDE_CHANS = 306,
262 <    HIDE_IDLE = 307,
263 <    HIDE_IDLE_FROM_OPERS = 308,
264 <    HIDE_SERVER_IPS = 309,
265 <    HIDE_SERVERS = 310,
266 <    HIDE_SERVICES = 311,
267 <    HIDE_SPOOF_IPS = 312,
268 <    HOST = 313,
269 <    HUB = 314,
270 <    HUB_MASK = 315,
271 <    IGNORE_BOGUS_TS = 316,
272 <    INVISIBLE_ON_CONNECT = 317,
273 <    INVITE_CLIENT_COUNT = 318,
274 <    INVITE_CLIENT_TIME = 319,
275 <    IP = 320,
276 <    IRCD_AUTH = 321,
277 <    IRCD_FLAGS = 322,
278 <    IRCD_SID = 323,
279 <    JOIN_FLOOD_COUNT = 324,
280 <    JOIN_FLOOD_TIME = 325,
281 <    KILL = 326,
282 <    KILL_CHASE_TIME_LIMIT = 327,
283 <    KLINE = 328,
284 <    KLINE_EXEMPT = 329,
219 >    AWAY_COUNT = 264,
220 >    AWAY_TIME = 265,
221 >    BYTES = 266,
222 >    KBYTES = 267,
223 >    MBYTES = 268,
224 >    CALLER_ID_WAIT = 269,
225 >    CAN_FLOOD = 270,
226 >    CHANNEL = 271,
227 >    CHECK_CACHE = 272,
228 >    CIDR_BITLEN_IPV4 = 273,
229 >    CIDR_BITLEN_IPV6 = 274,
230 >    CLASS = 275,
231 >    CLOSE = 276,
232 >    CONNECT = 277,
233 >    CONNECTFREQ = 278,
234 >    CYCLE_ON_HOST_CHANGE = 279,
235 >    DEFAULT_FLOODCOUNT = 280,
236 >    DEFAULT_JOIN_FLOOD_COUNT = 281,
237 >    DEFAULT_JOIN_FLOOD_TIME = 282,
238 >    DEFAULT_MAX_CLIENTS = 283,
239 >    DENY = 284,
240 >    DESCRIPTION = 285,
241 >    DIE = 286,
242 >    DISABLE_AUTH = 287,
243 >    DISABLE_FAKE_CHANNELS = 288,
244 >    DISABLE_REMOTE_COMMANDS = 289,
245 >    DLINE_MIN_CIDR = 290,
246 >    DLINE_MIN_CIDR6 = 291,
247 >    DOTS_IN_IDENT = 292,
248 >    EMAIL = 293,
249 >    ENCRYPTED = 294,
250 >    EXCEED_LIMIT = 295,
251 >    EXEMPT = 296,
252 >    FAILED_OPER_NOTICE = 297,
253 >    FLATTEN_LINKS = 298,
254 >    FLATTEN_LINKS_DELAY = 299,
255 >    FLATTEN_LINKS_FILE = 300,
256 >    GECOS = 301,
257 >    GENERAL = 302,
258 >    HIDDEN = 303,
259 >    HIDDEN_NAME = 304,
260 >    HIDE_CHANS = 305,
261 >    HIDE_IDLE = 306,
262 >    HIDE_IDLE_FROM_OPERS = 307,
263 >    HIDE_SERVER_IPS = 308,
264 >    HIDE_SERVERS = 309,
265 >    HIDE_SERVICES = 310,
266 >    HOST = 311,
267 >    HUB = 312,
268 >    HUB_MASK = 313,
269 >    IGNORE_BOGUS_TS = 314,
270 >    INVISIBLE_ON_CONNECT = 315,
271 >    INVITE_CLIENT_COUNT = 316,
272 >    INVITE_CLIENT_TIME = 317,
273 >    INVITE_DELAY_CHANNEL = 318,
274 >    IP = 319,
275 >    IRCD_AUTH = 320,
276 >    IRCD_FLAGS = 321,
277 >    IRCD_SID = 322,
278 >    JOIN = 323,
279 >    KILL = 324,
280 >    KILL_CHASE_TIME_LIMIT = 325,
281 >    KLINE = 326,
282 >    KLINE_EXEMPT = 327,
283 >    KLINE_MIN_CIDR = 328,
284 >    KLINE_MIN_CIDR6 = 329,
285      KNOCK_CLIENT_COUNT = 330,
286      KNOCK_CLIENT_TIME = 331,
287      KNOCK_DELAY_CHANNEL = 332,
288      LEAF_MASK = 333,
289 <    LINKS_DELAY = 334,
290 <    LISTEN = 335,
291 <    MASK = 336,
292 <    MAX_ACCEPT = 337,
293 <    MAX_BANS = 338,
294 <    MAX_CHANNELS = 339,
295 <    MAX_GLOBAL = 340,
296 <    MAX_IDENT = 341,
297 <    MAX_IDLE = 342,
298 <    MAX_LOCAL = 343,
299 <    MAX_NICK_CHANGES = 344,
300 <    MAX_NICK_LENGTH = 345,
301 <    MAX_NICK_TIME = 346,
302 <    MAX_NUMBER = 347,
303 <    MAX_TARGETS = 348,
304 <    MAX_TOPIC_LENGTH = 349,
305 <    MAX_WATCH = 350,
306 <    MIN_IDLE = 351,
307 <    MIN_NONWILDCARD = 352,
308 <    MIN_NONWILDCARD_SIMPLE = 353,
309 <    MODULE = 354,
310 <    MODULES = 355,
311 <    MOTD = 356,
312 <    NAME = 357,
313 <    NEED_IDENT = 358,
314 <    NEED_PASSWORD = 359,
315 <    NETWORK_DESC = 360,
316 <    NETWORK_NAME = 361,
317 <    NICK = 362,
318 <    NO_CREATE_ON_SPLIT = 363,
319 <    NO_JOIN_ON_SPLIT = 364,
320 <    NO_OPER_FLOOD = 365,
321 <    NO_TILDE = 366,
322 <    NUMBER = 367,
323 <    NUMBER_PER_CIDR = 368,
324 <    NUMBER_PER_IP = 369,
325 <    OPER_ONLY_UMODES = 370,
326 <    OPER_PASS_RESV = 371,
289 >    LIBGEOIP_DATABASE_OPTIONS = 334,
290 >    LIBGEOIP_IPV4_DATABASE_FILE = 335,
291 >    LIBGEOIP_IPV6_DATABASE_FILE = 336,
292 >    LISTEN = 337,
293 >    MASK = 338,
294 >    MAX_ACCEPT = 339,
295 >    MAX_BANS = 340,
296 >    MAX_CHANNELS = 341,
297 >    MAX_GLOBAL = 342,
298 >    MAX_IDLE = 343,
299 >    MAX_LOCAL = 344,
300 >    MAX_NICK_CHANGES = 345,
301 >    MAX_NICK_LENGTH = 346,
302 >    MAX_NICK_TIME = 347,
303 >    MAX_NUMBER = 348,
304 >    MAX_TARGETS = 349,
305 >    MAX_TOPIC_LENGTH = 350,
306 >    MAX_WATCH = 351,
307 >    MEMORY_CACHE = 352,
308 >    MIN_IDLE = 353,
309 >    MIN_NONWILDCARD = 354,
310 >    MIN_NONWILDCARD_SIMPLE = 355,
311 >    MMAP_CACHE = 356,
312 >    MODULE = 357,
313 >    MODULES = 358,
314 >    MOTD = 359,
315 >    NAME = 360,
316 >    NEED_IDENT = 361,
317 >    NEED_PASSWORD = 362,
318 >    NETWORK_DESC = 363,
319 >    NETWORK_NAME = 364,
320 >    NICK = 365,
321 >    NO_OPER_FLOOD = 366,
322 >    NO_TILDE = 367,
323 >    NUMBER = 368,
324 >    NUMBER_PER_CIDR = 369,
325 >    NUMBER_PER_IP = 370,
326 >    OPER_ONLY_UMODES = 371,
327      OPER_UMODES = 372,
328      OPERATOR = 373,
329      OPERS_BYPASS_CALLERID = 374,
# Line 351 | Line 345 | extern int yydebug;
345      RESV = 390,
346      RESV_EXEMPT = 391,
347      RSA_PRIVATE_KEY_FILE = 392,
348 <    RSA_PUBLIC_KEY_FILE = 393,
349 <    SECONDS = 394,
350 <    MINUTES = 395,
351 <    HOURS = 396,
352 <    DAYS = 397,
353 <    WEEKS = 398,
354 <    MONTHS = 399,
355 <    YEARS = 400,
356 <    SEND_PASSWORD = 401,
357 <    SENDQ = 402,
358 <    SERVERHIDE = 403,
359 <    SERVERINFO = 404,
360 <    SHORT_MOTD = 405,
361 <    SPOOF = 406,
362 <    SPOOF_NOTICE = 407,
363 <    SQUIT = 408,
364 <    SSL_CERTIFICATE_FILE = 409,
365 <    SSL_CERTIFICATE_FINGERPRINT = 410,
366 <    SSL_CONNECTION_REQUIRED = 411,
367 <    SSL_DH_ELLIPTIC_CURVE = 412,
368 <    SSL_DH_PARAM_FILE = 413,
369 <    SSL_MESSAGE_DIGEST_ALGORITHM = 414,
348 >    SECONDS = 393,
349 >    MINUTES = 394,
350 >    HOURS = 395,
351 >    DAYS = 396,
352 >    WEEKS = 397,
353 >    MONTHS = 398,
354 >    YEARS = 399,
355 >    SEND_PASSWORD = 400,
356 >    SENDQ = 401,
357 >    SERVERHIDE = 402,
358 >    SERVERINFO = 403,
359 >    SHORT_MOTD = 404,
360 >    SPOOF = 405,
361 >    SPOOF_NOTICE = 406,
362 >    SQUIT = 407,
363 >    SSL_CERTIFICATE_FILE = 408,
364 >    SSL_CERTIFICATE_FINGERPRINT = 409,
365 >    SSL_CONNECTION_REQUIRED = 410,
366 >    SSL_DH_ELLIPTIC_CURVE = 411,
367 >    SSL_DH_PARAM_FILE = 412,
368 >    SSL_MESSAGE_DIGEST_ALGORITHM = 413,
369 >    STANDARD = 414,
370      STATS_E_DISABLED = 415,
371      STATS_I_OPER_ONLY = 416,
372      STATS_K_OPER_ONLY = 417,
373 <    STATS_O_OPER_ONLY = 418,
374 <    STATS_P_OPER_ONLY = 419,
375 <    STATS_U_OPER_ONLY = 420,
376 <    T_ALL = 421,
377 <    T_BOTS = 422,
378 <    T_CALLERID = 423,
379 <    T_CCONN = 424,
380 <    T_CLUSTER = 425,
381 <    T_DEAF = 426,
382 <    T_DEBUG = 427,
383 <    T_DLINE = 428,
384 <    T_EXTERNAL = 429,
385 <    T_FARCONNECT = 430,
386 <    T_FILE = 431,
387 <    T_FULL = 432,
388 <    T_GLOBOPS = 433,
389 <    T_INVISIBLE = 434,
390 <    T_IPV4 = 435,
391 <    T_IPV6 = 436,
392 <    T_LOCOPS = 437,
393 <    T_LOG = 438,
394 <    T_MAX_CLIENTS = 439,
395 <    T_NCHANGE = 440,
396 <    T_NONONREG = 441,
397 <    T_RECVQ = 442,
398 <    T_REJ = 443,
399 <    T_RESTART = 444,
400 <    T_SERVER = 445,
401 <    T_SERVICE = 446,
402 <    T_SERVICES_NAME = 447,
403 <    T_SERVNOTICE = 448,
404 <    T_SET = 449,
405 <    T_SHARED = 450,
406 <    T_SIZE = 451,
407 <    T_SKILL = 452,
408 <    T_SOFTCALLERID = 453,
409 <    T_SPY = 454,
410 <    T_SSL = 455,
411 <    T_SSL_CIPHER_LIST = 456,
412 <    T_SSL_CLIENT_METHOD = 457,
413 <    T_SSL_SERVER_METHOD = 458,
414 <    T_SSLV3 = 459,
415 <    T_TLSV1 = 460,
373 >    STATS_M_OPER_ONLY = 418,
374 >    STATS_O_OPER_ONLY = 419,
375 >    STATS_P_OPER_ONLY = 420,
376 >    STATS_U_OPER_ONLY = 421,
377 >    T_ALL = 422,
378 >    T_BOTS = 423,
379 >    T_CALLERID = 424,
380 >    T_CCONN = 425,
381 >    T_COMMAND = 426,
382 >    T_CLUSTER = 427,
383 >    T_DEAF = 428,
384 >    T_DEBUG = 429,
385 >    T_DLINE = 430,
386 >    T_EXTERNAL = 431,
387 >    T_FARCONNECT = 432,
388 >    T_FILE = 433,
389 >    T_FULL = 434,
390 >    T_GLOBOPS = 435,
391 >    T_INVISIBLE = 436,
392 >    T_IPV4 = 437,
393 >    T_IPV6 = 438,
394 >    T_LOCOPS = 439,
395 >    T_LOG = 440,
396 >    T_NCHANGE = 441,
397 >    T_NONONREG = 442,
398 >    T_OPME = 443,
399 >    T_PREPEND = 444,
400 >    T_PSEUDO = 445,
401 >    T_RECVQ = 446,
402 >    T_REJ = 447,
403 >    T_RESTART = 448,
404 >    T_SERVER = 449,
405 >    T_SERVICE = 450,
406 >    T_SERVNOTICE = 451,
407 >    T_SET = 452,
408 >    T_SHARED = 453,
409 >    T_SIZE = 454,
410 >    T_SKILL = 455,
411 >    T_SOFTCALLERID = 456,
412 >    T_SPY = 457,
413 >    T_SSL = 458,
414 >    T_SSL_CIPHER_LIST = 459,
415 >    T_TARGET = 460,
416      T_UMODES = 461,
417      T_UNAUTH = 462,
418      T_UNDLINE = 463,
# Line 433 | Line 427 | extern int yydebug;
427      THROTTLE_TIME = 472,
428      TKLINE_EXPIRE_NOTICES = 473,
429      TMASKED = 474,
430 <    TRUE_NO_OPER_FLOOD = 475,
431 <    TS_MAX_DELTA = 476,
432 <    TS_WARN_DELTA = 477,
433 <    TWODOTS = 478,
434 <    TYPE = 479,
435 <    UNKLINE = 480,
436 <    USE_EGD = 481,
437 <    USE_LOGGING = 482,
438 <    USER = 483,
439 <    VHOST = 484,
440 <    VHOST6 = 485,
441 <    WARN_NO_CONNECT_BLOCK = 486,
442 <    XLINE = 487
430 >    TS_MAX_DELTA = 475,
431 >    TS_WARN_DELTA = 476,
432 >    TWODOTS = 477,
433 >    TYPE = 478,
434 >    UNKLINE = 479,
435 >    USE_LOGGING = 480,
436 >    USER = 481,
437 >    VHOST = 482,
438 >    VHOST6 = 483,
439 >    WARN_NO_CONNECT_BLOCK = 484,
440 >    WHOIS = 485,
441 >    WHOWAS_HISTORY_LENGTH = 486,
442 >    XLINE = 487,
443 >    XLINE_EXEMPT = 488
444    };
445   #endif
446   /* Tokens.  */
# Line 455 | Line 450 | extern int yydebug;
450   #define ANTI_NICK_FLOOD 261
451   #define ANTI_SPAM_EXIT_MESSAGE_TIME 262
452   #define AUTOCONN 263
453 < #define BYTES 264
454 < #define KBYTES 265
455 < #define MBYTES 266
456 < #define CALLER_ID_WAIT 267
457 < #define CAN_FLOOD 268
458 < #define CHANNEL 269
459 < #define CIDR_BITLEN_IPV4 270
460 < #define CIDR_BITLEN_IPV6 271
461 < #define CLASS 272
462 < #define CONNECT 273
463 < #define CONNECTFREQ 274
464 < #define CYCLE_ON_HOST_CHANGE 275
465 < #define DEFAULT_FLOODCOUNT 276
466 < #define DEFAULT_SPLIT_SERVER_COUNT 277
467 < #define DEFAULT_SPLIT_USER_COUNT 278
468 < #define DENY 279
469 < #define DESCRIPTION 280
470 < #define DIE 281
471 < #define DISABLE_AUTH 282
472 < #define DISABLE_FAKE_CHANNELS 283
473 < #define DISABLE_REMOTE_COMMANDS 284
474 < #define DOTS_IN_IDENT 285
475 < #define EGDPOOL_PATH 286
476 < #define EMAIL 287
477 < #define ENCRYPTED 288
478 < #define EXCEED_LIMIT 289
479 < #define EXEMPT 290
480 < #define FAILED_OPER_NOTICE 291
481 < #define FLATTEN_LINKS 292
482 < #define GECOS 293
483 < #define GENERAL 294
484 < #define GLINE 295
485 < #define GLINE_DURATION 296
486 < #define GLINE_ENABLE 297
487 < #define GLINE_EXEMPT 298
488 < #define GLINE_MIN_CIDR 299
489 < #define GLINE_MIN_CIDR6 300
490 < #define GLINE_REQUEST_DURATION 301
491 < #define GLOBAL_KILL 302
492 < #define HAVENT_READ_CONF 303
493 < #define HIDDEN 304
494 < #define HIDDEN_NAME 305
495 < #define HIDE_CHANS 306
496 < #define HIDE_IDLE 307
497 < #define HIDE_IDLE_FROM_OPERS 308
498 < #define HIDE_SERVER_IPS 309
499 < #define HIDE_SERVERS 310
500 < #define HIDE_SERVICES 311
501 < #define HIDE_SPOOF_IPS 312
502 < #define HOST 313
503 < #define HUB 314
504 < #define HUB_MASK 315
505 < #define IGNORE_BOGUS_TS 316
506 < #define INVISIBLE_ON_CONNECT 317
507 < #define INVITE_CLIENT_COUNT 318
508 < #define INVITE_CLIENT_TIME 319
509 < #define IP 320
510 < #define IRCD_AUTH 321
511 < #define IRCD_FLAGS 322
512 < #define IRCD_SID 323
513 < #define JOIN_FLOOD_COUNT 324
514 < #define JOIN_FLOOD_TIME 325
515 < #define KILL 326
516 < #define KILL_CHASE_TIME_LIMIT 327
517 < #define KLINE 328
518 < #define KLINE_EXEMPT 329
453 > #define AWAY_COUNT 264
454 > #define AWAY_TIME 265
455 > #define BYTES 266
456 > #define KBYTES 267
457 > #define MBYTES 268
458 > #define CALLER_ID_WAIT 269
459 > #define CAN_FLOOD 270
460 > #define CHANNEL 271
461 > #define CHECK_CACHE 272
462 > #define CIDR_BITLEN_IPV4 273
463 > #define CIDR_BITLEN_IPV6 274
464 > #define CLASS 275
465 > #define CLOSE 276
466 > #define CONNECT 277
467 > #define CONNECTFREQ 278
468 > #define CYCLE_ON_HOST_CHANGE 279
469 > #define DEFAULT_FLOODCOUNT 280
470 > #define DEFAULT_JOIN_FLOOD_COUNT 281
471 > #define DEFAULT_JOIN_FLOOD_TIME 282
472 > #define DEFAULT_MAX_CLIENTS 283
473 > #define DENY 284
474 > #define DESCRIPTION 285
475 > #define DIE 286
476 > #define DISABLE_AUTH 287
477 > #define DISABLE_FAKE_CHANNELS 288
478 > #define DISABLE_REMOTE_COMMANDS 289
479 > #define DLINE_MIN_CIDR 290
480 > #define DLINE_MIN_CIDR6 291
481 > #define DOTS_IN_IDENT 292
482 > #define EMAIL 293
483 > #define ENCRYPTED 294
484 > #define EXCEED_LIMIT 295
485 > #define EXEMPT 296
486 > #define FAILED_OPER_NOTICE 297
487 > #define FLATTEN_LINKS 298
488 > #define FLATTEN_LINKS_DELAY 299
489 > #define FLATTEN_LINKS_FILE 300
490 > #define GECOS 301
491 > #define GENERAL 302
492 > #define HIDDEN 303
493 > #define HIDDEN_NAME 304
494 > #define HIDE_CHANS 305
495 > #define HIDE_IDLE 306
496 > #define HIDE_IDLE_FROM_OPERS 307
497 > #define HIDE_SERVER_IPS 308
498 > #define HIDE_SERVERS 309
499 > #define HIDE_SERVICES 310
500 > #define HOST 311
501 > #define HUB 312
502 > #define HUB_MASK 313
503 > #define IGNORE_BOGUS_TS 314
504 > #define INVISIBLE_ON_CONNECT 315
505 > #define INVITE_CLIENT_COUNT 316
506 > #define INVITE_CLIENT_TIME 317
507 > #define INVITE_DELAY_CHANNEL 318
508 > #define IP 319
509 > #define IRCD_AUTH 320
510 > #define IRCD_FLAGS 321
511 > #define IRCD_SID 322
512 > #define JOIN 323
513 > #define KILL 324
514 > #define KILL_CHASE_TIME_LIMIT 325
515 > #define KLINE 326
516 > #define KLINE_EXEMPT 327
517 > #define KLINE_MIN_CIDR 328
518 > #define KLINE_MIN_CIDR6 329
519   #define KNOCK_CLIENT_COUNT 330
520   #define KNOCK_CLIENT_TIME 331
521   #define KNOCK_DELAY_CHANNEL 332
522   #define LEAF_MASK 333
523 < #define LINKS_DELAY 334
524 < #define LISTEN 335
525 < #define MASK 336
526 < #define MAX_ACCEPT 337
527 < #define MAX_BANS 338
528 < #define MAX_CHANNELS 339
529 < #define MAX_GLOBAL 340
530 < #define MAX_IDENT 341
531 < #define MAX_IDLE 342
532 < #define MAX_LOCAL 343
533 < #define MAX_NICK_CHANGES 344
534 < #define MAX_NICK_LENGTH 345
535 < #define MAX_NICK_TIME 346
536 < #define MAX_NUMBER 347
537 < #define MAX_TARGETS 348
538 < #define MAX_TOPIC_LENGTH 349
539 < #define MAX_WATCH 350
540 < #define MIN_IDLE 351
541 < #define MIN_NONWILDCARD 352
542 < #define MIN_NONWILDCARD_SIMPLE 353
543 < #define MODULE 354
544 < #define MODULES 355
545 < #define MOTD 356
546 < #define NAME 357
547 < #define NEED_IDENT 358
548 < #define NEED_PASSWORD 359
549 < #define NETWORK_DESC 360
550 < #define NETWORK_NAME 361
551 < #define NICK 362
552 < #define NO_CREATE_ON_SPLIT 363
553 < #define NO_JOIN_ON_SPLIT 364
554 < #define NO_OPER_FLOOD 365
555 < #define NO_TILDE 366
556 < #define NUMBER 367
557 < #define NUMBER_PER_CIDR 368
558 < #define NUMBER_PER_IP 369
559 < #define OPER_ONLY_UMODES 370
560 < #define OPER_PASS_RESV 371
523 > #define LIBGEOIP_DATABASE_OPTIONS 334
524 > #define LIBGEOIP_IPV4_DATABASE_FILE 335
525 > #define LIBGEOIP_IPV6_DATABASE_FILE 336
526 > #define LISTEN 337
527 > #define MASK 338
528 > #define MAX_ACCEPT 339
529 > #define MAX_BANS 340
530 > #define MAX_CHANNELS 341
531 > #define MAX_GLOBAL 342
532 > #define MAX_IDLE 343
533 > #define MAX_LOCAL 344
534 > #define MAX_NICK_CHANGES 345
535 > #define MAX_NICK_LENGTH 346
536 > #define MAX_NICK_TIME 347
537 > #define MAX_NUMBER 348
538 > #define MAX_TARGETS 349
539 > #define MAX_TOPIC_LENGTH 350
540 > #define MAX_WATCH 351
541 > #define MEMORY_CACHE 352
542 > #define MIN_IDLE 353
543 > #define MIN_NONWILDCARD 354
544 > #define MIN_NONWILDCARD_SIMPLE 355
545 > #define MMAP_CACHE 356
546 > #define MODULE 357
547 > #define MODULES 358
548 > #define MOTD 359
549 > #define NAME 360
550 > #define NEED_IDENT 361
551 > #define NEED_PASSWORD 362
552 > #define NETWORK_DESC 363
553 > #define NETWORK_NAME 364
554 > #define NICK 365
555 > #define NO_OPER_FLOOD 366
556 > #define NO_TILDE 367
557 > #define NUMBER 368
558 > #define NUMBER_PER_CIDR 369
559 > #define NUMBER_PER_IP 370
560 > #define OPER_ONLY_UMODES 371
561   #define OPER_UMODES 372
562   #define OPERATOR 373
563   #define OPERS_BYPASS_CALLERID 374
# Line 584 | Line 579 | extern int yydebug;
579   #define RESV 390
580   #define RESV_EXEMPT 391
581   #define RSA_PRIVATE_KEY_FILE 392
582 < #define RSA_PUBLIC_KEY_FILE 393
583 < #define SECONDS 394
584 < #define MINUTES 395
585 < #define HOURS 396
586 < #define DAYS 397
587 < #define WEEKS 398
588 < #define MONTHS 399
589 < #define YEARS 400
590 < #define SEND_PASSWORD 401
591 < #define SENDQ 402
592 < #define SERVERHIDE 403
593 < #define SERVERINFO 404
594 < #define SHORT_MOTD 405
595 < #define SPOOF 406
596 < #define SPOOF_NOTICE 407
597 < #define SQUIT 408
598 < #define SSL_CERTIFICATE_FILE 409
599 < #define SSL_CERTIFICATE_FINGERPRINT 410
600 < #define SSL_CONNECTION_REQUIRED 411
601 < #define SSL_DH_ELLIPTIC_CURVE 412
602 < #define SSL_DH_PARAM_FILE 413
603 < #define SSL_MESSAGE_DIGEST_ALGORITHM 414
582 > #define SECONDS 393
583 > #define MINUTES 394
584 > #define HOURS 395
585 > #define DAYS 396
586 > #define WEEKS 397
587 > #define MONTHS 398
588 > #define YEARS 399
589 > #define SEND_PASSWORD 400
590 > #define SENDQ 401
591 > #define SERVERHIDE 402
592 > #define SERVERINFO 403
593 > #define SHORT_MOTD 404
594 > #define SPOOF 405
595 > #define SPOOF_NOTICE 406
596 > #define SQUIT 407
597 > #define SSL_CERTIFICATE_FILE 408
598 > #define SSL_CERTIFICATE_FINGERPRINT 409
599 > #define SSL_CONNECTION_REQUIRED 410
600 > #define SSL_DH_ELLIPTIC_CURVE 411
601 > #define SSL_DH_PARAM_FILE 412
602 > #define SSL_MESSAGE_DIGEST_ALGORITHM 413
603 > #define STANDARD 414
604   #define STATS_E_DISABLED 415
605   #define STATS_I_OPER_ONLY 416
606   #define STATS_K_OPER_ONLY 417
607 < #define STATS_O_OPER_ONLY 418
608 < #define STATS_P_OPER_ONLY 419
609 < #define STATS_U_OPER_ONLY 420
610 < #define T_ALL 421
611 < #define T_BOTS 422
612 < #define T_CALLERID 423
613 < #define T_CCONN 424
614 < #define T_CLUSTER 425
615 < #define T_DEAF 426
616 < #define T_DEBUG 427
617 < #define T_DLINE 428
618 < #define T_EXTERNAL 429
619 < #define T_FARCONNECT 430
620 < #define T_FILE 431
621 < #define T_FULL 432
622 < #define T_GLOBOPS 433
623 < #define T_INVISIBLE 434
624 < #define T_IPV4 435
625 < #define T_IPV6 436
626 < #define T_LOCOPS 437
627 < #define T_LOG 438
628 < #define T_MAX_CLIENTS 439
629 < #define T_NCHANGE 440
630 < #define T_NONONREG 441
631 < #define T_RECVQ 442
632 < #define T_REJ 443
633 < #define T_RESTART 444
634 < #define T_SERVER 445
635 < #define T_SERVICE 446
636 < #define T_SERVICES_NAME 447
637 < #define T_SERVNOTICE 448
638 < #define T_SET 449
639 < #define T_SHARED 450
640 < #define T_SIZE 451
641 < #define T_SKILL 452
642 < #define T_SOFTCALLERID 453
643 < #define T_SPY 454
644 < #define T_SSL 455
645 < #define T_SSL_CIPHER_LIST 456
646 < #define T_SSL_CLIENT_METHOD 457
647 < #define T_SSL_SERVER_METHOD 458
648 < #define T_SSLV3 459
649 < #define T_TLSV1 460
607 > #define STATS_M_OPER_ONLY 418
608 > #define STATS_O_OPER_ONLY 419
609 > #define STATS_P_OPER_ONLY 420
610 > #define STATS_U_OPER_ONLY 421
611 > #define T_ALL 422
612 > #define T_BOTS 423
613 > #define T_CALLERID 424
614 > #define T_CCONN 425
615 > #define T_COMMAND 426
616 > #define T_CLUSTER 427
617 > #define T_DEAF 428
618 > #define T_DEBUG 429
619 > #define T_DLINE 430
620 > #define T_EXTERNAL 431
621 > #define T_FARCONNECT 432
622 > #define T_FILE 433
623 > #define T_FULL 434
624 > #define T_GLOBOPS 435
625 > #define T_INVISIBLE 436
626 > #define T_IPV4 437
627 > #define T_IPV6 438
628 > #define T_LOCOPS 439
629 > #define T_LOG 440
630 > #define T_NCHANGE 441
631 > #define T_NONONREG 442
632 > #define T_OPME 443
633 > #define T_PREPEND 444
634 > #define T_PSEUDO 445
635 > #define T_RECVQ 446
636 > #define T_REJ 447
637 > #define T_RESTART 448
638 > #define T_SERVER 449
639 > #define T_SERVICE 450
640 > #define T_SERVNOTICE 451
641 > #define T_SET 452
642 > #define T_SHARED 453
643 > #define T_SIZE 454
644 > #define T_SKILL 455
645 > #define T_SOFTCALLERID 456
646 > #define T_SPY 457
647 > #define T_SSL 458
648 > #define T_SSL_CIPHER_LIST 459
649 > #define T_TARGET 460
650   #define T_UMODES 461
651   #define T_UNAUTH 462
652   #define T_UNDLINE 463
# Line 666 | Line 661 | extern int yydebug;
661   #define THROTTLE_TIME 472
662   #define TKLINE_EXPIRE_NOTICES 473
663   #define TMASKED 474
664 < #define TRUE_NO_OPER_FLOOD 475
665 < #define TS_MAX_DELTA 476
666 < #define TS_WARN_DELTA 477
667 < #define TWODOTS 478
668 < #define TYPE 479
669 < #define UNKLINE 480
670 < #define USE_EGD 481
671 < #define USE_LOGGING 482
672 < #define USER 483
673 < #define VHOST 484
674 < #define VHOST6 485
675 < #define WARN_NO_CONNECT_BLOCK 486
664 > #define TS_MAX_DELTA 475
665 > #define TS_WARN_DELTA 476
666 > #define TWODOTS 477
667 > #define TYPE 478
668 > #define UNKLINE 479
669 > #define USE_LOGGING 480
670 > #define USER 481
671 > #define VHOST 482
672 > #define VHOST6 483
673 > #define WARN_NO_CONNECT_BLOCK 484
674 > #define WHOIS 485
675 > #define WHOWAS_HISTORY_LENGTH 486
676   #define XLINE 487
677 + #define XLINE_EXEMPT 488
678  
679   /* Value type.  */
680   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
681 < typedef union YYSTYPE YYSTYPE;
681 >
682   union YYSTYPE
683   {
684 < #line 147 "conf_parser.y" /* yacc.c:355  */
684 > #line 141 "conf_parser.y" /* yacc.c:355  */
685  
686    int number;
687    char *string;
688  
689 < #line 694 "conf_parser.c" /* yacc.c:355  */
689 > #line 690 "conf_parser.c" /* yacc.c:355  */
690   };
691 +
692 + typedef union YYSTYPE YYSTYPE;
693   # define YYSTYPE_IS_TRIVIAL 1
694   # define YYSTYPE_IS_DECLARED 1
695   #endif
# Line 705 | Line 703 | int yyparse (void);
703  
704   /* Copy the second part of user declarations.  */
705  
706 < #line 709 "conf_parser.c" /* yacc.c:358  */
706 > #line 707 "conf_parser.c" /* yacc.c:358  */
707  
708   #ifdef short
709   # undef short
# Line 947 | Line 945 | union yyalloc
945   /* YYFINAL -- State number of the termination state.  */
946   #define YYFINAL  2
947   /* YYLAST -- Last index in YYTABLE.  */
948 < #define YYLAST   1377
948 > #define YYLAST   1274
949  
950   /* YYNTOKENS -- Number of terminals.  */
951 < #define YYNTOKENS  239
951 > #define YYNTOKENS  240
952   /* YYNNTS -- Number of nonterminals.  */
953 < #define YYNNTS  297
953 > #define YYNNTS  298
954   /* YYNRULES -- Number of rules.  */
955 < #define YYNRULES  669
955 > #define YYNRULES  675
956   /* YYNSTATES -- Number of states.  */
957 < #define YYNSTATES  1318
957 > #define YYNSTATES  1327
958  
959   /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
960     by yylex, with out-of-bounds checking.  */
961   #define YYUNDEFTOK  2
962 < #define YYMAXUTOK   487
962 > #define YYMAXUTOK   488
963  
964   #define YYTRANSLATE(YYX)                                                \
965    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 974 | Line 972 | static const yytype_uint8 yytranslate[]
972         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
973         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
974         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
975 <       2,     2,     2,     2,   237,     2,     2,     2,     2,     2,
976 <       2,     2,     2,     2,     2,     2,     2,     2,   238,   233,
977 <       2,   236,     2,     2,     2,     2,     2,     2,     2,     2,
975 >       2,     2,     2,     2,   238,     2,     2,     2,     2,     2,
976 >       2,     2,     2,     2,     2,     2,     2,     2,   239,   234,
977 >       2,   237,     2,     2,     2,     2,     2,     2,     2,     2,
978         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
979         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
980         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
981         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
982         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
983 <       2,     2,     2,   235,     2,   234,     2,     2,     2,     2,
983 >       2,     2,     2,   236,     2,   235,     2,     2,     2,     2,
984         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
985         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
986         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 1018 | Line 1016 | static const yytype_uint8 yytranslate[]
1016       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1017       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1018       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1019 <     225,   226,   227,   228,   229,   230,   231,   232
1019 >     225,   226,   227,   228,   229,   230,   231,   232,   233
1020   };
1021  
1022   #if YYDEBUG
1023    /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1024   static const yytype_uint16 yyrline[] =
1025   {
1026 <       0,   383,   383,   384,   387,   388,   389,   390,   391,   392,
1027 <     393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
1028 <     403,   404,   405,   406,   407,   408,   409,   413,   413,   414,
1029 <     415,   416,   417,   418,   419,   420,   421,   424,   424,   425,
1030 <     426,   427,   428,   435,   438,   438,   439,   439,   439,   441,
1031 <     447,   454,   456,   456,   457,   458,   459,   460,   461,   462,
1032 <     463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
1033 <     473,   474,   475,   476,   479,   480,   482,   482,   483,   489,
1034 <     497,   497,   498,   504,   512,   554,   612,   640,   648,   661,
1035 <     689,   704,   719,   728,   742,   751,   779,   809,   834,   856,
1036 <     878,   887,   889,   889,   890,   891,   892,   893,   895,   904,
1037 <     913,   926,   925,   943,   943,   944,   944,   944,   946,   952,
1038 <     961,   962,   962,   964,   964,   965,   967,   974,   974,   987,
1039 <     988,   990,   990,   991,   991,   993,  1001,  1004,  1010,  1009,
1040 <    1015,  1015,  1016,  1020,  1024,  1028,  1032,  1036,  1040,  1044,
1041 <    1048,  1059,  1058,  1138,  1138,  1139,  1140,  1141,  1142,  1143,
1042 <    1144,  1145,  1146,  1147,  1148,  1149,  1151,  1157,  1163,  1169,
1043 <    1180,  1186,  1192,  1203,  1210,  1209,  1215,  1215,  1216,  1220,
1044 <    1224,  1228,  1232,  1236,  1240,  1244,  1248,  1252,  1256,  1260,
1045 <    1264,  1268,  1272,  1276,  1280,  1284,  1288,  1292,  1296,  1300,
1046 <    1307,  1306,  1312,  1312,  1313,  1317,  1321,  1325,  1329,  1333,
1047 <    1337,  1341,  1345,  1349,  1353,  1357,  1361,  1365,  1369,  1373,
1048 <    1377,  1381,  1385,  1389,  1393,  1397,  1401,  1412,  1411,  1473,
1049 <    1473,  1474,  1475,  1476,  1477,  1478,  1479,  1480,  1481,  1482,
1050 <    1483,  1484,  1485,  1486,  1486,  1487,  1488,  1489,  1490,  1492,
1051 <    1498,  1504,  1510,  1516,  1522,  1528,  1534,  1540,  1546,  1552,
1052 <    1559,  1565,  1571,  1577,  1586,  1596,  1595,  1601,  1601,  1602,
1053 <    1606,  1617,  1616,  1623,  1622,  1627,  1627,  1628,  1632,  1636,
1054 <    1642,  1642,  1643,  1643,  1643,  1643,  1643,  1645,  1645,  1647,
1055 <    1647,  1649,  1663,  1681,  1687,  1697,  1696,  1738,  1738,  1739,
1056 <    1740,  1741,  1742,  1743,  1744,  1745,  1746,  1747,  1749,  1755,
1057 <    1761,  1767,  1779,  1778,  1784,  1784,  1785,  1789,  1793,  1797,
1058 <    1801,  1805,  1809,  1813,  1817,  1821,  1827,  1841,  1850,  1864,
1059 <    1863,  1878,  1878,  1879,  1879,  1879,  1879,  1881,  1887,  1893,
1060 <    1903,  1905,  1905,  1906,  1906,  1908,  1924,  1923,  1948,  1948,
1061 <    1949,  1949,  1949,  1949,  1951,  1957,  1977,  1976,  1982,  1982,
1062 <    1983,  1987,  1991,  1995,  1999,  2003,  2007,  2011,  2015,  2019,
1063 <    2029,  2028,  2049,  2049,  2050,  2050,  2050,  2052,  2059,  2058,
1064 <    2064,  2064,  2065,  2069,  2073,  2077,  2081,  2085,  2089,  2093,
1065 <    2097,  2101,  2111,  2110,  2182,  2182,  2183,  2184,  2185,  2186,
1066 <    2187,  2188,  2189,  2190,  2191,  2192,  2193,  2194,  2195,  2196,
1067 <    2197,  2199,  2205,  2211,  2217,  2230,  2243,  2249,  2255,  2259,
1068 <    2268,  2267,  2272,  2272,  2273,  2277,  2283,  2294,  2300,  2306,
1069 <    2312,  2328,  2327,  2353,  2353,  2354,  2354,  2354,  2356,  2376,
1070 <    2386,  2385,  2412,  2412,  2413,  2413,  2413,  2415,  2421,  2430,
1071 <    2432,  2432,  2433,  2433,  2435,  2453,  2452,  2475,  2475,  2476,
1072 <    2476,  2476,  2478,  2484,  2493,  2496,  2496,  2497,  2498,  2499,
1073 <    2500,  2501,  2502,  2503,  2504,  2505,  2506,  2507,  2508,  2509,
1074 <    2510,  2511,  2512,  2513,  2514,  2515,  2516,  2517,  2518,  2519,
1075 <    2520,  2521,  2522,  2523,  2524,  2525,  2526,  2527,  2528,  2529,
1076 <    2530,  2531,  2532,  2533,  2534,  2535,  2536,  2537,  2538,  2539,
1077 <    2540,  2541,  2542,  2543,  2544,  2545,  2546,  2547,  2550,  2555,
1078 <    2561,  2567,  2573,  2579,  2584,  2589,  2594,  2599,  2604,  2609,
1079 <    2614,  2619,  2624,  2629,  2634,  2639,  2644,  2650,  2661,  2666,
1080 <    2671,  2676,  2681,  2686,  2691,  2694,  2699,  2702,  2707,  2712,
1081 <    2717,  2722,  2727,  2732,  2737,  2742,  2747,  2752,  2757,  2762,
1082 <    2771,  2780,  2785,  2790,  2795,  2801,  2800,  2805,  2805,  2806,
1083 <    2809,  2812,  2815,  2818,  2821,  2824,  2827,  2830,  2833,  2836,
1084 <    2839,  2842,  2845,  2848,  2851,  2854,  2857,  2860,  2863,  2866,
1085 <    2869,  2875,  2874,  2879,  2879,  2880,  2883,  2886,  2889,  2892,
1086 <    2895,  2898,  2901,  2904,  2907,  2910,  2913,  2916,  2919,  2922,
1087 <    2925,  2928,  2931,  2934,  2937,  2942,  2947,  2952,  2961,  2964,
1088 <    2964,  2965,  2966,  2967,  2968,  2969,  2970,  2971,  2972,  2973,
1089 <    2974,  2975,  2976,  2977,  2978,  2979,  2981,  2986,  2991,  2996,
1090 <    3001,  3006,  3011,  3016,  3021,  3026,  3031,  3036,  3041,  3046,
1091 <    3054,  3057,  3057,  3058,  3059,  3060,  3061,  3062,  3063,  3064,
1092 <    3065,  3066,  3068,  3074,  3080,  3086,  3092,  3101,  3116,  3122
1026 >       0,   378,   378,   379,   382,   383,   384,   385,   386,   387,
1027 >     388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
1028 >     398,   399,   400,   401,   402,   403,   404,   405,   409,   409,
1029 >     410,   411,   412,   413,   414,   415,   416,   417,   420,   420,
1030 >     421,   422,   423,   424,   431,   433,   433,   434,   434,   434,
1031 >     436,   442,   452,   454,   454,   455,   456,   457,   458,   459,
1032 >     460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
1033 >     470,   471,   472,   473,   474,   475,   478,   487,   496,   505,
1034 >     514,   523,   533,   532,   538,   538,   539,   545,   551,   557,
1035 >     565,   580,   595,   610,   625,   635,   649,   658,   686,   714,
1036 >     739,   761,   783,   793,   795,   795,   796,   797,   798,   799,
1037 >     801,   810,   819,   833,   832,   850,   850,   851,   851,   851,
1038 >     853,   859,   870,   869,   888,   888,   889,   889,   889,   889,
1039 >     889,   891,   897,   903,   909,   931,   932,   932,   934,   934,
1040 >     935,   937,   944,   944,   957,   958,   960,   960,   961,   961,
1041 >     963,   971,   974,   980,   979,   985,   985,   986,   990,   994,
1042 >     998,  1002,  1006,  1010,  1014,  1025,  1024,  1085,  1085,  1086,
1043 >    1087,  1088,  1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,
1044 >    1098,  1104,  1110,  1116,  1122,  1133,  1139,  1150,  1157,  1156,
1045 >    1162,  1162,  1163,  1167,  1171,  1175,  1179,  1183,  1187,  1191,
1046 >    1195,  1199,  1203,  1207,  1211,  1215,  1219,  1223,  1227,  1231,
1047 >    1235,  1239,  1243,  1247,  1254,  1253,  1259,  1259,  1260,  1264,
1048 >    1268,  1272,  1276,  1280,  1284,  1288,  1292,  1296,  1300,  1304,
1049 >    1308,  1312,  1316,  1320,  1324,  1328,  1332,  1336,  1340,  1344,
1050 >    1348,  1352,  1356,  1360,  1364,  1368,  1372,  1383,  1382,  1438,
1051 >    1438,  1439,  1440,  1441,  1442,  1443,  1444,  1445,  1446,  1447,
1052 >    1448,  1449,  1450,  1451,  1452,  1453,  1454,  1455,  1457,  1463,
1053 >    1469,  1475,  1481,  1487,  1493,  1499,  1505,  1511,  1518,  1524,
1054 >    1530,  1536,  1545,  1555,  1554,  1560,  1560,  1561,  1565,  1576,
1055 >    1575,  1582,  1581,  1586,  1586,  1587,  1591,  1595,  1601,  1601,
1056 >    1602,  1602,  1602,  1602,  1602,  1604,  1604,  1606,  1606,  1608,
1057 >    1621,  1638,  1644,  1655,  1654,  1700,  1700,  1701,  1702,  1703,
1058 >    1704,  1705,  1706,  1707,  1708,  1709,  1711,  1717,  1723,  1729,
1059 >    1741,  1740,  1746,  1746,  1747,  1751,  1755,  1759,  1763,  1767,
1060 >    1771,  1775,  1779,  1783,  1789,  1803,  1812,  1826,  1825,  1840,
1061 >    1840,  1841,  1841,  1841,  1841,  1843,  1849,  1855,  1865,  1867,
1062 >    1867,  1868,  1868,  1870,  1887,  1886,  1909,  1909,  1910,  1910,
1063 >    1910,  1910,  1912,  1918,  1938,  1937,  1943,  1943,  1944,  1948,
1064 >    1952,  1956,  1960,  1964,  1968,  1972,  1976,  1980,  1991,  1990,
1065 >    2009,  2009,  2010,  2010,  2010,  2012,  2019,  2018,  2024,  2024,
1066 >    2025,  2029,  2033,  2037,  2041,  2045,  2049,  2053,  2057,  2061,
1067 >    2072,  2071,  2143,  2143,  2144,  2145,  2146,  2147,  2148,  2149,
1068 >    2150,  2151,  2152,  2153,  2154,  2155,  2156,  2157,  2158,  2160,
1069 >    2166,  2172,  2178,  2191,  2204,  2210,  2216,  2220,  2227,  2226,
1070 >    2231,  2231,  2232,  2236,  2242,  2253,  2259,  2265,  2271,  2287,
1071 >    2286,  2312,  2312,  2313,  2313,  2313,  2315,  2335,  2346,  2345,
1072 >    2372,  2372,  2373,  2373,  2373,  2375,  2381,  2391,  2393,  2393,
1073 >    2394,  2394,  2396,  2414,  2413,  2434,  2434,  2435,  2435,  2435,
1074 >    2437,  2443,  2453,  2455,  2455,  2456,  2457,  2458,  2459,  2460,
1075 >    2461,  2462,  2463,  2464,  2465,  2466,  2467,  2468,  2469,  2470,
1076 >    2471,  2472,  2473,  2474,  2475,  2476,  2477,  2478,  2479,  2480,
1077 >    2481,  2482,  2483,  2484,  2485,  2486,  2487,  2488,  2489,  2490,
1078 >    2491,  2492,  2493,  2494,  2495,  2496,  2497,  2498,  2499,  2500,
1079 >    2501,  2502,  2505,  2510,  2515,  2520,  2525,  2531,  2536,  2541,
1080 >    2546,  2551,  2556,  2561,  2566,  2571,  2576,  2581,  2586,  2591,
1081 >    2596,  2601,  2607,  2612,  2617,  2622,  2627,  2632,  2637,  2642,
1082 >    2645,  2650,  2653,  2658,  2663,  2668,  2673,  2678,  2683,  2688,
1083 >    2693,  2698,  2703,  2708,  2713,  2719,  2718,  2723,  2723,  2724,
1084 >    2727,  2730,  2733,  2736,  2739,  2742,  2745,  2748,  2751,  2754,
1085 >    2757,  2760,  2763,  2766,  2769,  2772,  2775,  2778,  2781,  2784,
1086 >    2787,  2793,  2792,  2797,  2797,  2798,  2801,  2804,  2807,  2810,
1087 >    2813,  2816,  2819,  2822,  2825,  2828,  2831,  2834,  2837,  2840,
1088 >    2843,  2846,  2849,  2852,  2855,  2860,  2865,  2870,  2879,  2881,
1089 >    2881,  2882,  2883,  2884,  2885,  2886,  2887,  2888,  2889,  2890,
1090 >    2891,  2892,  2893,  2895,  2900,  2905,  2910,  2915,  2920,  2925,
1091 >    2930,  2935,  2940,  2945,  2954,  2956,  2956,  2957,  2958,  2959,
1092 >    2960,  2961,  2962,  2963,  2964,  2965,  2966,  2968,  2974,  2990,
1093 >    2999,  3005,  3011,  3017,  3026,  3032
1094   };
1095   #endif
1096  
# Line 1101 | Line 1100 | static const yytype_uint16 yyrline[] =
1100   static const char *const yytname[] =
1101   {
1102    "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ADMIN", "AFTYPE",
1103 <  "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1104 <  "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1105 <  "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1106 <  "CONNECTFREQ", "CYCLE_ON_HOST_CHANGE", "DEFAULT_FLOODCOUNT",
1107 <  "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1108 <  "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1109 <  "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "EGDPOOL_PATH", "EMAIL",
1110 <  "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE",
1111 <  "FLATTEN_LINKS", "GECOS", "GENERAL", "GLINE", "GLINE_DURATION",
1112 <  "GLINE_ENABLE", "GLINE_EXEMPT", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1113 <  "GLINE_REQUEST_DURATION", "GLOBAL_KILL", "HAVENT_READ_CONF", "HIDDEN",
1114 <  "HIDDEN_NAME", "HIDE_CHANS", "HIDE_IDLE", "HIDE_IDLE_FROM_OPERS",
1115 <  "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SERVICES", "HIDE_SPOOF_IPS",
1116 <  "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1117 <  "INVITE_CLIENT_COUNT", "INVITE_CLIENT_TIME", "IP", "IRCD_AUTH",
1118 <  "IRCD_FLAGS", "IRCD_SID", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "KILL",
1119 <  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KNOCK_CLIENT_COUNT",
1120 <  "KNOCK_CLIENT_TIME", "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY",
1121 <  "LISTEN", "MASK", "MAX_ACCEPT", "MAX_BANS", "MAX_CHANNELS", "MAX_GLOBAL",
1122 <  "MAX_IDENT", "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES",
1123 <  "MAX_NICK_LENGTH", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1124 <  "MAX_TOPIC_LENGTH", "MAX_WATCH", "MIN_IDLE", "MIN_NONWILDCARD",
1125 <  "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "MOTD", "NAME",
1126 <  "NEED_IDENT", "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME", "NICK",
1127 <  "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1103 >  "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN",
1104 >  "AWAY_COUNT", "AWAY_TIME", "BYTES", "KBYTES", "MBYTES", "CALLER_ID_WAIT",
1105 >  "CAN_FLOOD", "CHANNEL", "CHECK_CACHE", "CIDR_BITLEN_IPV4",
1106 >  "CIDR_BITLEN_IPV6", "CLASS", "CLOSE", "CONNECT", "CONNECTFREQ",
1107 >  "CYCLE_ON_HOST_CHANGE", "DEFAULT_FLOODCOUNT", "DEFAULT_JOIN_FLOOD_COUNT",
1108 >  "DEFAULT_JOIN_FLOOD_TIME", "DEFAULT_MAX_CLIENTS", "DENY", "DESCRIPTION",
1109 >  "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1110 >  "DISABLE_REMOTE_COMMANDS", "DLINE_MIN_CIDR", "DLINE_MIN_CIDR6",
1111 >  "DOTS_IN_IDENT", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1112 >  "FAILED_OPER_NOTICE", "FLATTEN_LINKS", "FLATTEN_LINKS_DELAY",
1113 >  "FLATTEN_LINKS_FILE", "GECOS", "GENERAL", "HIDDEN", "HIDDEN_NAME",
1114 >  "HIDE_CHANS", "HIDE_IDLE", "HIDE_IDLE_FROM_OPERS", "HIDE_SERVER_IPS",
1115 >  "HIDE_SERVERS", "HIDE_SERVICES", "HOST", "HUB", "HUB_MASK",
1116 >  "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "INVITE_CLIENT_COUNT",
1117 >  "INVITE_CLIENT_TIME", "INVITE_DELAY_CHANNEL", "IP", "IRCD_AUTH",
1118 >  "IRCD_FLAGS", "IRCD_SID", "JOIN", "KILL", "KILL_CHASE_TIME_LIMIT",
1119 >  "KLINE", "KLINE_EXEMPT", "KLINE_MIN_CIDR", "KLINE_MIN_CIDR6",
1120 >  "KNOCK_CLIENT_COUNT", "KNOCK_CLIENT_TIME", "KNOCK_DELAY_CHANNEL",
1121 >  "LEAF_MASK", "LIBGEOIP_DATABASE_OPTIONS", "LIBGEOIP_IPV4_DATABASE_FILE",
1122 >  "LIBGEOIP_IPV6_DATABASE_FILE", "LISTEN", "MASK", "MAX_ACCEPT",
1123 >  "MAX_BANS", "MAX_CHANNELS", "MAX_GLOBAL", "MAX_IDLE", "MAX_LOCAL",
1124 >  "MAX_NICK_CHANGES", "MAX_NICK_LENGTH", "MAX_NICK_TIME", "MAX_NUMBER",
1125 >  "MAX_TARGETS", "MAX_TOPIC_LENGTH", "MAX_WATCH", "MEMORY_CACHE",
1126 >  "MIN_IDLE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", "MMAP_CACHE",
1127 >  "MODULE", "MODULES", "MOTD", "NAME", "NEED_IDENT", "NEED_PASSWORD",
1128 >  "NETWORK_DESC", "NETWORK_NAME", "NICK", "NO_OPER_FLOOD", "NO_TILDE",
1129    "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPER_ONLY_UMODES",
1130 <  "OPER_PASS_RESV", "OPER_UMODES", "OPERATOR", "OPERS_BYPASS_CALLERID",
1131 <  "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE",
1132 <  "PING_TIME", "PORT", "QSTRING", "RANDOM_IDLE", "REASON", "REDIRPORT",
1133 <  "REDIRSERV", "REHASH", "REMOTE", "REMOTEBAN", "RESV", "RESV_EXEMPT",
1134 <  "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SECONDS", "MINUTES",
1135 <  "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ",
1136 <  "SERVERHIDE", "SERVERINFO", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1137 <  "SQUIT", "SSL_CERTIFICATE_FILE", "SSL_CERTIFICATE_FINGERPRINT",
1138 <  "SSL_CONNECTION_REQUIRED", "SSL_DH_ELLIPTIC_CURVE", "SSL_DH_PARAM_FILE",
1139 <  "SSL_MESSAGE_DIGEST_ALGORITHM", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1140 <  "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY",
1141 <  "STATS_U_OPER_ONLY", "T_ALL", "T_BOTS", "T_CALLERID", "T_CCONN",
1142 <  "T_CLUSTER", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1143 <  "T_FARCONNECT", "T_FILE", "T_FULL", "T_GLOBOPS", "T_INVISIBLE", "T_IPV4",
1144 <  "T_IPV6", "T_LOCOPS", "T_LOG", "T_MAX_CLIENTS", "T_NCHANGE",
1145 <  "T_NONONREG", "T_RECVQ", "T_REJ", "T_RESTART", "T_SERVER", "T_SERVICE",
1146 <  "T_SERVICES_NAME", "T_SERVNOTICE", "T_SET", "T_SHARED", "T_SIZE",
1147 <  "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL", "T_SSL_CIPHER_LIST",
1148 <  "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1",
1149 <  "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV",
1150 <  "T_UNXLINE", "T_WALLOP", "T_WALLOPS", "T_WEBIRC", "TBOOL",
1151 <  "THROTTLE_COUNT", "THROTTLE_TIME", "TKLINE_EXPIRE_NOTICES", "TMASKED",
1152 <  "TRUE_NO_OPER_FLOOD", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "TYPE",
1153 <  "UNKLINE", "USE_EGD", "USE_LOGGING", "USER", "VHOST", "VHOST6",
1154 <  "WARN_NO_CONNECT_BLOCK", "XLINE", "';'", "'}'", "'{'", "'='", "','",
1155 <  "':'", "$accept", "conf", "conf_item", "timespec_", "timespec",
1156 <  "sizespec_", "sizespec", "modules_entry", "modules_items",
1157 <  "modules_item", "modules_module", "modules_path", "serverinfo_entry",
1158 <  "serverinfo_items", "serverinfo_item", "serverinfo_ssl_client_method",
1159 <  "serverinfo_ssl_server_method", "client_method_types",
1160 <  "client_method_type_item", "server_method_types",
1161 <  "server_method_type_item", "serverinfo_ssl_certificate_file",
1130 >  "OPER_UMODES", "OPERATOR", "OPERS_BYPASS_CALLERID", "PACE_WAIT",
1131 >  "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME",
1132 >  "PORT", "QSTRING", "RANDOM_IDLE", "REASON", "REDIRPORT", "REDIRSERV",
1133 >  "REHASH", "REMOTE", "REMOTEBAN", "RESV", "RESV_EXEMPT",
1134 >  "RSA_PRIVATE_KEY_FILE", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS",
1135 >  "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ", "SERVERHIDE", "SERVERINFO",
1136 >  "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE", "SQUIT", "SSL_CERTIFICATE_FILE",
1137 >  "SSL_CERTIFICATE_FINGERPRINT", "SSL_CONNECTION_REQUIRED",
1138 >  "SSL_DH_ELLIPTIC_CURVE", "SSL_DH_PARAM_FILE",
1139 >  "SSL_MESSAGE_DIGEST_ALGORITHM", "STANDARD", "STATS_E_DISABLED",
1140 >  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_M_OPER_ONLY",
1141 >  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "STATS_U_OPER_ONLY", "T_ALL",
1142 >  "T_BOTS", "T_CALLERID", "T_CCONN", "T_COMMAND", "T_CLUSTER", "T_DEAF",
1143 >  "T_DEBUG", "T_DLINE", "T_EXTERNAL", "T_FARCONNECT", "T_FILE", "T_FULL",
1144 >  "T_GLOBOPS", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_LOG",
1145 >  "T_NCHANGE", "T_NONONREG", "T_OPME", "T_PREPEND", "T_PSEUDO", "T_RECVQ",
1146 >  "T_REJ", "T_RESTART", "T_SERVER", "T_SERVICE", "T_SERVNOTICE", "T_SET",
1147 >  "T_SHARED", "T_SIZE", "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL",
1148 >  "T_SSL_CIPHER_LIST", "T_TARGET", "T_UMODES", "T_UNAUTH", "T_UNDLINE",
1149 >  "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_WALLOP", "T_WALLOPS",
1150 >  "T_WEBIRC", "TBOOL", "THROTTLE_COUNT", "THROTTLE_TIME",
1151 >  "TKLINE_EXPIRE_NOTICES", "TMASKED", "TS_MAX_DELTA", "TS_WARN_DELTA",
1152 >  "TWODOTS", "TYPE", "UNKLINE", "USE_LOGGING", "USER", "VHOST", "VHOST6",
1153 >  "WARN_NO_CONNECT_BLOCK", "WHOIS", "WHOWAS_HISTORY_LENGTH", "XLINE",
1154 >  "XLINE_EXEMPT", "';'", "'}'", "'{'", "'='", "','", "':'", "$accept",
1155 >  "conf", "conf_item", "timespec_", "timespec", "sizespec_", "sizespec",
1156 >  "modules_entry", "modules_items", "modules_item", "modules_module",
1157 >  "modules_path", "serverinfo_entry", "serverinfo_items",
1158 >  "serverinfo_item", "serverinfo_ssl_certificate_file",
1159    "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1160    "serverinfo_ssl_cipher_list", "serverinfo_ssl_message_digest_algorithm",
1161 <  "serverinfo_ssl_dh_elliptic_curve", "serverinfo_name", "serverinfo_sid",
1162 <  "serverinfo_description", "serverinfo_network_name",
1161 >  "serverinfo_ssl_dh_elliptic_curve",
1162 >  "serverinfo_libgeoip_database_options", "$@1", "options_items",
1163 >  "options_item", "serverinfo_libgeoip_ipv4_database_file",
1164 >  "serverinfo_libgeoip_ipv6_database_file", "serverinfo_name",
1165 >  "serverinfo_sid", "serverinfo_description", "serverinfo_network_name",
1166    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1167 <  "serverinfo_max_clients", "serverinfo_max_nick_length",
1167 >  "serverinfo_default_max_clients", "serverinfo_max_nick_length",
1168    "serverinfo_max_topic_length", "serverinfo_hub", "admin_entry",
1169    "admin_items", "admin_item", "admin_name", "admin_email",
1170 <  "admin_description", "motd_entry", "$@1", "motd_items", "motd_item",
1171 <  "motd_mask", "motd_file", "logging_entry", "logging_items",
1172 <  "logging_item", "logging_use_logging", "logging_file_entry", "$@2",
1173 <  "logging_file_items", "logging_file_item", "logging_file_name",
1174 <  "logging_file_size", "logging_file_type", "$@3",
1175 <  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@4",
1176 <  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1177 <  "oper_encrypted", "oper_rsa_public_key_file",
1178 <  "oper_ssl_certificate_fingerprint", "oper_ssl_connection_required",
1179 <  "oper_class", "oper_umodes", "$@5", "oper_umodes_items",
1180 <  "oper_umodes_item", "oper_flags", "$@6", "oper_flags_items",
1181 <  "oper_flags_item", "class_entry", "$@7", "class_items", "class_item",
1182 <  "class_name", "class_ping_time", "class_number_per_ip",
1183 <  "class_connectfreq", "class_max_channels", "class_max_number",
1184 <  "class_max_global", "class_max_local", "class_max_ident", "class_sendq",
1170 >  "admin_description", "motd_entry", "$@2", "motd_items", "motd_item",
1171 >  "motd_mask", "motd_file", "pseudo_entry", "$@3", "pseudo_items",
1172 >  "pseudo_item", "pseudo_command", "pseudo_name", "pseudo_prepend",
1173 >  "pseudo_target", "logging_entry", "logging_items", "logging_item",
1174 >  "logging_use_logging", "logging_file_entry", "$@4", "logging_file_items",
1175 >  "logging_file_item", "logging_file_name", "logging_file_size",
1176 >  "logging_file_type", "$@5", "logging_file_type_items",
1177 >  "logging_file_type_item", "oper_entry", "$@6", "oper_items", "oper_item",
1178 >  "oper_name", "oper_user", "oper_password", "oper_whois",
1179 >  "oper_encrypted", "oper_ssl_certificate_fingerprint",
1180 >  "oper_ssl_connection_required", "oper_class", "oper_umodes", "$@7",
1181 >  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@8",
1182 >  "oper_flags_items", "oper_flags_item", "class_entry", "$@9",
1183 >  "class_items", "class_item", "class_name", "class_ping_time",
1184 >  "class_number_per_ip", "class_connectfreq", "class_max_channels",
1185 >  "class_max_number", "class_max_global", "class_max_local", "class_sendq",
1186    "class_recvq", "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1187    "class_number_per_cidr", "class_min_idle", "class_max_idle",
1188 <  "class_flags", "$@8", "class_flags_items", "class_flags_item",
1189 <  "listen_entry", "$@9", "listen_flags", "$@10", "listen_flags_items",
1188 >  "class_flags", "$@10", "class_flags_items", "class_flags_item",
1189 >  "listen_entry", "$@11", "listen_flags", "$@12", "listen_flags_items",
1190    "listen_flags_item", "listen_items", "listen_item", "listen_port",
1191 <  "$@11", "port_items", "port_item", "listen_address", "listen_host",
1192 <  "auth_entry", "$@12", "auth_items", "auth_item", "auth_user",
1193 <  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@13",
1191 >  "$@13", "port_items", "port_item", "listen_address", "listen_host",
1192 >  "auth_entry", "$@14", "auth_items", "auth_item", "auth_user",
1193 >  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@15",
1194    "auth_flags_items", "auth_flags_item", "auth_spoof", "auth_redir_serv",
1195 <  "auth_redir_port", "resv_entry", "$@14", "resv_items", "resv_item",
1195 >  "auth_redir_port", "resv_entry", "$@16", "resv_items", "resv_item",
1196    "resv_mask", "resv_reason", "resv_exempt", "service_entry",
1197 <  "service_items", "service_item", "service_name", "shared_entry", "$@15",
1197 >  "service_items", "service_item", "service_name", "shared_entry", "$@17",
1198    "shared_items", "shared_item", "shared_name", "shared_user",
1199 <  "shared_type", "$@16", "shared_types", "shared_type_item",
1200 <  "cluster_entry", "$@17", "cluster_items", "cluster_item", "cluster_name",
1201 <  "cluster_type", "$@18", "cluster_types", "cluster_type_item",
1202 <  "connect_entry", "$@19", "connect_items", "connect_item", "connect_name",
1199 >  "shared_type", "$@18", "shared_types", "shared_type_item",
1200 >  "cluster_entry", "$@19", "cluster_items", "cluster_item", "cluster_name",
1201 >  "cluster_type", "$@20", "cluster_types", "cluster_type_item",
1202 >  "connect_entry", "$@21", "connect_items", "connect_item", "connect_name",
1203    "connect_host", "connect_vhost", "connect_send_password",
1204    "connect_accept_password", "connect_ssl_certificate_fingerprint",
1205 <  "connect_port", "connect_aftype", "connect_flags", "$@20",
1205 >  "connect_port", "connect_aftype", "connect_flags", "$@22",
1206    "connect_flags_items", "connect_flags_item", "connect_encrypted",
1207    "connect_hub_mask", "connect_leaf_mask", "connect_class",
1208 <  "connect_ssl_cipher_list", "kill_entry", "$@21", "kill_items",
1209 <  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@22",
1208 >  "connect_ssl_cipher_list", "kill_entry", "$@23", "kill_items",
1209 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@24",
1210    "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1211 <  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@23",
1211 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@25",
1212    "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1213 <  "general_entry", "general_items", "general_item", "general_max_watch",
1214 <  "general_cycle_on_host_change", "general_gline_enable",
1215 <  "general_gline_duration", "general_gline_request_duration",
1216 <  "general_gline_min_cidr", "general_gline_min_cidr6",
1213 >  "general_entry", "general_items", "general_item", "general_away_count",
1214 >  "general_away_time", "general_max_watch",
1215 >  "general_whowas_history_length", "general_cycle_on_host_change",
1216 >  "general_dline_min_cidr", "general_dline_min_cidr6",
1217 >  "general_kline_min_cidr", "general_kline_min_cidr6",
1218    "general_tkline_expire_notices", "general_kill_chase_time_limit",
1219 <  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1220 <  "general_failed_oper_notice", "general_anti_nick_flood",
1221 <  "general_max_nick_time", "general_max_nick_changes",
1222 <  "general_max_accept", "general_anti_spam_exit_message_time",
1223 <  "general_ts_warn_delta", "general_ts_max_delta",
1222 <  "general_havent_read_conf", "general_invisible_on_connect",
1219 >  "general_ignore_bogus_ts", "general_failed_oper_notice",
1220 >  "general_anti_nick_flood", "general_max_nick_time",
1221 >  "general_max_nick_changes", "general_max_accept",
1222 >  "general_anti_spam_exit_message_time", "general_ts_warn_delta",
1223 >  "general_ts_max_delta", "general_invisible_on_connect",
1224    "general_warn_no_connect_block", "general_stats_e_disabled",
1225 <  "general_stats_o_oper_only", "general_stats_P_oper_only",
1226 <  "general_stats_u_oper_only", "general_stats_k_oper_only",
1227 <  "general_stats_i_oper_only", "general_pace_wait",
1228 <  "general_caller_id_wait", "general_opers_bypass_callerid",
1229 <  "general_pace_wait_simple", "general_short_motd",
1230 <  "general_no_oper_flood", "general_true_no_oper_flood",
1231 <  "general_oper_pass_resv", "general_dots_in_ident", "general_max_targets",
1232 <  "general_use_egd", "general_egdpool_path", "general_services_name",
1233 <  "general_ping_cookie", "general_disable_auth", "general_throttle_count",
1234 <  "general_throttle_time", "general_oper_umodes", "$@24", "umode_oitems",
1234 <  "umode_oitem", "general_oper_only_umodes", "$@25", "umode_items",
1235 <  "umode_item", "general_min_nonwildcard",
1225 >  "general_stats_m_oper_only", "general_stats_o_oper_only",
1226 >  "general_stats_P_oper_only", "general_stats_u_oper_only",
1227 >  "general_stats_k_oper_only", "general_stats_i_oper_only",
1228 >  "general_pace_wait", "general_caller_id_wait",
1229 >  "general_opers_bypass_callerid", "general_pace_wait_simple",
1230 >  "general_short_motd", "general_no_oper_flood", "general_dots_in_ident",
1231 >  "general_max_targets", "general_ping_cookie", "general_disable_auth",
1232 >  "general_throttle_count", "general_throttle_time", "general_oper_umodes",
1233 >  "$@26", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1234 >  "$@27", "umode_items", "umode_item", "general_min_nonwildcard",
1235    "general_min_nonwildcard_simple", "general_default_floodcount",
1236    "channel_entry", "channel_items", "channel_item",
1237    "channel_disable_fake_channels", "channel_invite_client_count",
1238 <  "channel_invite_client_time", "channel_knock_client_count",
1239 <  "channel_knock_client_time", "channel_knock_delay_channel",
1240 <  "channel_max_channels", "channel_max_bans",
1241 <  "channel_default_split_user_count", "channel_default_split_server_count",
1242 <  "channel_no_create_on_split", "channel_no_join_on_split",
1244 <  "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1238 >  "channel_invite_client_time", "channel_invite_delay_channel",
1239 >  "channel_knock_client_count", "channel_knock_client_time",
1240 >  "channel_knock_delay_channel", "channel_max_channels",
1241 >  "channel_max_bans", "channel_default_join_flood_count",
1242 >  "channel_default_join_flood_time", "serverhide_entry",
1243    "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1244 +  "serverhide_flatten_links_delay", "serverhide_flatten_links_file",
1245    "serverhide_disable_remote_commands", "serverhide_hide_servers",
1246    "serverhide_hide_services", "serverhide_hidden_name",
1247 <  "serverhide_links_delay", "serverhide_hidden",
1249 <  "serverhide_hide_server_ips", YY_NULLPTR
1247 >  "serverhide_hidden", "serverhide_hide_server_ips", YY_NULLPTR
1248   };
1249   #endif
1250  
# Line 1278 | Line 1276 | static const yytype_uint16 yytoknum[] =
1276       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1277       465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1278       475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1279 <     485,   486,   487,    59,   125,   123,    61,    44,    58
1279 >     485,   486,   487,   488,    59,   125,   123,    61,    44,    58
1280   };
1281   # endif
1282  
1283 < #define YYPACT_NINF -789
1283 > #define YYPACT_NINF -728
1284  
1285   #define yypact_value_is_default(Yystate) \
1286 <  (!!((Yystate) == (-789)))
1286 >  (!!((Yystate) == (-728)))
1287  
1288 < #define YYTABLE_NINF -128
1288 > #define YYTABLE_NINF -143
1289  
1290   #define yytable_value_is_error(Yytable_value) \
1291    0
# Line 1296 | Line 1294 | static const yytype_uint16 yytoknum[] =
1294       STATE-NUM.  */
1295   static const yytype_int16 yypact[] =
1296   {
1297 <    -789,   656,  -789,   -59,  -226,  -220,  -789,  -789,  -789,  -217,
1298 <    -789,  -198,  -789,  -789,  -789,  -195,  -789,  -789,  -789,  -192,
1299 <    -189,  -789,  -181,  -171,  -789,  -789,  -789,  -789,  -789,  -789,
1300 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1301 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,   307,
1302 <     925,  -169,  -160,  -158,    22,  -155,   387,  -136,  -121,  -119,
1303 <      50,  -116,  -114,   -97,   761,   433,   -84,    34,     2,   -82,
1304 <     -73,   -47,   -34,   -27,     9,  -789,  -789,  -789,  -789,  -789,
1305 <     -22,    -7,    -1,    44,    68,    79,    82,    84,    88,    92,
1306 <      98,   102,   104,   112,   266,  -789,  -789,  -789,  -789,  -789,
1307 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1308 <     681,   563,    19,  -789,   115,    21,  -789,  -789,    26,  -789,
1309 <     119,   129,   131,   141,   143,   145,   147,   148,   150,   154,
1310 <     155,   156,   159,   160,   164,   167,   175,   176,   177,   179,
1311 <     180,   183,   184,   186,   188,   189,   190,  -789,   194,  -789,
1312 <     207,   209,   210,   211,   215,   216,   217,   218,   220,   221,
1313 <     224,   225,   226,   227,   228,   230,   231,   232,   234,   235,
1314 <      61,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1315 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1316 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1317 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1318 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1319 <    -789,  -789,   343,    69,   301,   -70,   236,   239,    16,  -789,
1320 <    -789,  -789,   125,   388,   275,  -789,   241,   243,   251,   252,
1321 <     253,   255,   257,   259,   308,  -789,  -789,  -789,  -789,  -789,
1322 <    -789,  -789,  -789,  -789,   -29,   260,   263,   269,   273,   285,
1323 <     286,   288,   293,   294,   295,   296,   297,   300,   304,   305,
1324 <     310,   317,   319,   320,   168,  -789,  -789,  -789,  -789,  -789,
1325 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1326 <    -789,  -789,  -789,  -789,  -789,    25,    53,   321,    10,  -789,
1327 <    -789,  -789,    89,  -789,   322,    97,  -789,  -789,    93,  -789,
1328 <     258,   398,   432,    73,  -789,   249,   270,   345,   449,   450,
1329 <     451,   450,   457,   450,   450,   460,   461,   359,   361,   344,
1330 <    -789,   348,   342,   349,   350,  -789,   352,   353,   362,   364,
1331 <     365,   366,   370,   375,   376,   378,   383,   384,   386,   146,
1332 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1333 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,   377,   389,
1334 <     391,   393,   395,   396,   397,  -789,   401,   403,   404,   407,
1335 <     412,   414,   415,    11,  -789,  -789,  -789,  -789,  -789,  -789,
1336 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1337 <     417,   418,     7,  -789,  -789,  -789,   468,   413,  -789,  -789,
1338 <     419,   422,    38,  -789,  -789,  -789,   382,   450,   450,   409,
1339 <     547,   446,   552,   539,   453,   450,   454,   559,   566,   450,
1340 <     567,   466,   469,   470,   450,   574,   575,   450,   578,   580,
1341 <     586,   587,   486,   439,   488,   472,   489,   450,   450,   491,
1342 <     495,   497,  -190,  -183,   498,   499,   500,   589,   605,   450,
1343 <     505,   506,   450,   450,   508,   509,   492,  -789,   496,   502,
1344 <     507,  -789,   510,   511,   514,   515,   516,    57,  -789,  -789,
1345 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,   517,   518,
1346 <      41,  -789,  -789,  -789,   501,   523,   524,  -789,   525,  -789,
1347 <      18,  -789,  -789,  -789,  -789,  -789,   601,   603,   512,  -789,
1348 <     530,   534,   535,    29,  -789,  -789,  -789,   542,   536,   540,
1349 <    -789,   544,   549,   553,   557,   560,  -789,   561,    62,  -789,
1350 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1351 <     545,   564,   571,   573,    12,  -789,  -789,  -789,  -789,   520,
1352 <     526,   529,   604,   584,   588,   597,   450,   555,  -789,  -789,
1353 <     606,   599,   675,   620,   706,   692,   693,   695,   696,   697,
1354 <     698,   700,   702,   718,   704,   142,   149,   705,   707,   600,
1355 <    -789,   602,   607,  -789,    30,  -789,  -789,  -789,  -789,   621,
1356 <     608,  -789,   609,   710,   612,  -789,   613,   614,  -789,   616,
1357 <      23,  -789,  -789,  -789,  -789,   615,   625,   628,  -789,   631,
1358 <     633,   636,   638,   374,   639,   642,   644,   645,   646,   647,
1359 <     649,   651,   655,   657,  -789,  -789,   726,   737,   450,   617,
1360 <     742,   777,   779,   450,   780,   781,   450,   715,   782,   784,
1361 <     450,   791,   791,   673,  -789,  -789,   783,   192,   786,   709,
1362 <     790,   792,   672,   793,   795,   799,   798,   807,   813,   817,
1363 <     712,  -789,   824,   827,   722,  -789,   727,  -789,   837,   838,
1364 <     733,  -789,   734,   735,   736,   739,   741,   744,   745,   746,
1365 <     749,   750,   751,   752,   753,   754,   757,   758,   759,   760,
1366 <     763,   765,   766,   770,   771,   772,   773,   774,   778,   764,
1367 <     785,   688,   787,   788,   789,   794,   796,   797,   802,   803,
1368 <     804,   805,   806,   808,   809,   810,   811,   812,   814,   815,
1369 <     816,   818,   819,   820,  -789,  -789,   843,   800,   776,   848,
1370 <     869,   870,   883,   886,   821,  -789,   887,   889,   822,  -789,
1371 <    -789,   890,   892,   823,   911,   825,  -789,   828,   829,  -789,
1372 <    -789,   897,   898,   830,  -789,  -789,   899,   831,   832,   901,
1373 <     904,   905,   913,   835,   833,   929,   834,  -789,  -789,   930,
1374 <     933,   937,   839,  -789,   840,   841,   842,   844,   845,   846,
1375 <     847,   849,  -789,   850,   851,   852,   853,   854,   855,   856,
1376 <     857,   858,   859,   860,   861,   862,   863,   864,  -789,  -789,
1377 <    -188,  -789,  -789,  -789,  -185,  -789,   865,   866,  -789,  -789,
1378 <     938,   867,   868,  -789,   871,  -789,   182,   872,  -789,  -789,
1379 <     939,   873,   943,   874,  -789,  -789,  -789,  -789,  -789,  -789,
1380 <    -789,  -789,   450,   450,   450,   450,   450,   450,   450,  -789,
1381 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1382 <    -789,   875,   877,   878,   -32,   879,   880,   881,   882,   884,
1383 <     885,   888,   891,   893,   894,   895,   289,   896,   900,  -789,
1384 <     902,   903,   906,   907,   908,   909,   910,    -3,   912,   914,
1385 <     915,   916,   917,   918,   919,  -789,   920,   921,  -789,  -789,
1386 <     922,   923,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1387 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1388 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1389 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1390 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1391 <    -180,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1392 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1393 <    -789,  -789,  -789,  -789,  -789,  -178,  -789,  -789,  -789,  -789,
1394 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1395 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,   924,
1396 <     926,   541,   927,   928,   931,   932,   934,  -789,   935,   936,
1397 <    -789,   940,   941,     1,   947,   942,  -789,  -789,  -789,  -789,
1398 <     944,   945,  -789,   948,   949,   494,   950,   951,   952,   953,
1399 <     954,   730,   955,  -789,   956,   957,   958,  -789,  -789,  -789,
1400 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1401 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1402 <    -789,  -789,   142,  -789,   149,  -789,  -789,   959,   576,  -789,
1403 <    -789,   960,   961,   962,  -789,    32,  -789,  -789,  -789,  -789,
1404 <    -789,   963,   748,   966,  -789,  -789,  -789,  -789,  -789,  -789,
1405 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -177,  -789,  -789,
1406 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1407 <     791,   791,   791,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1408 <    -789,  -789,  -789,  -789,  -789,  -789,  -172,  -789,  -789,  -789,
1409 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1410 <     764,  -789,   688,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1411 <    -789,  -789,  -789,  -789,  -789,   -65,  -789,  -789,  -789,  -789,
1412 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,   -43,
1413 <    -789,   964,   911,   967,  -789,  -789,  -789,  -789,  -789,   965,
1414 <    -789,  -789,   968,  -789,  -789,  -789,  -789,   969,  -789,  -789,
1415 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,   -41,  -789,
1416 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1417 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1418 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,   -30,  -789,  -789,
1419 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1420 <    -789,  -789,  -789,  -789,  -789,  -789,   -18,  -789,  -789,   973,
1421 <     -74,   972,   971,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1422 <    -789,  -789,  -789,  -789,  -789,   -17,  -789,  -789,  -789,   -32,
1423 <    -789,  -789,  -789,  -789,    -3,  -789,  -789,  -789,   541,  -789,
1424 <       1,  -789,  -789,  -789,   983,   986,   987,  -789,   494,  -789,
1425 <     730,  -789,   576,   976,   977,   978,   410,  -789,  -789,   748,
1426 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1427 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1428 <    -789,  -789,    70,  -789,  -789,  -789,   410,  -789
1297 >    -728,   669,  -728,  -191,  -226,  -219,  -728,  -728,  -728,  -216,
1298 >    -728,  -214,  -728,  -728,  -728,  -208,  -728,  -728,  -728,  -195,
1299 >    -187,  -728,  -177,  -728,  -167,  -728,  -728,  -728,  -728,  -728,
1300 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1301 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1302 >    -728,    37,   762,  -165,  -162,  -160,     2,  -154,   390,  -152,
1303 >    -139,  -127,   287,  -124,  -113,  -106,   934,   438,   -80,    35,
1304 >     -75,    17,   -68,   -48,   -44,   -43,   -37,    10,  -728,  -728,
1305 >    -728,  -728,  -728,   -29,   -15,    47,    53,    66,    67,    80,
1306 >      86,    87,   106,   112,   171,  -728,  -728,  -728,  -728,  -728,
1307 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,   705,   573,    30,
1308 >    -728,   114,    24,  -728,  -728,    28,  -728,   117,   122,   124,
1309 >     125,   128,   133,   134,   136,   137,   142,   143,   147,   149,
1310 >     151,   156,   158,   161,   164,   165,   166,   168,   170,   175,
1311 >     180,   182,  -728,  -728,   183,   187,   191,   193,   194,   198,
1312 >     199,   200,   203,   204,   205,   206,   207,   208,   214,   215,
1313 >     216,   217,   222,    54,  -728,  -728,  -728,  -728,  -728,  -728,
1314 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1315 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1316 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1317 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1318 >    -728,   522,    51,   352,   -23,   224,   225,    41,  -728,  -728,
1319 >    -728,    12,   343,   309,  -728,   230,   232,   233,   234,   235,
1320 >     236,   238,   239,   240,   293,  -728,  -728,  -728,  -728,  -728,
1321 >    -728,  -728,  -728,  -728,  -728,    98,   242,   244,   246,   250,
1322 >    -728,   251,   255,   262,   263,   265,   266,   267,   271,   275,
1323 >     276,   278,   279,   283,   284,   285,    26,  -728,  -728,  -728,
1324 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1325 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,    50,   153,
1326 >     288,    57,  -728,  -728,  -728,   100,    91,  -728,   289,    15,
1327 >    -728,  -728,    72,  -728,   138,   256,   296,   223,  -728,   411,
1328 >     417,   316,   419,   417,   417,   421,   417,   417,   423,   424,
1329 >     304,  -728,   306,   307,   308,   311,  -728,   321,   325,   326,
1330 >     327,   328,   329,   331,   333,   334,   335,   349,   350,   220,
1331 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1332 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,   355,   353,   360,
1333 >     361,   362,   364,   365,  -728,   366,   377,   378,   379,   383,
1334 >     386,   388,   186,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1335 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   389,
1336 >     391,    23,  -728,  -728,  -728,   414,   393,  -728,  -728,   395,
1337 >     397,    31,  -728,  -728,  -728,   415,   417,   524,   417,   417,
1338 >     426,   527,   428,   532,   533,   534,   433,   435,   439,   417,
1339 >     542,   543,   547,   548,   417,   549,   550,   554,   555,   456,
1340 >     437,   440,   460,   417,   417,   461,   464,   465,  -196,  -185,
1341 >     467,   468,   469,   471,   574,   417,   475,   417,   417,   477,
1342 >     580,   462,  -728,   463,   457,   458,  -728,   470,   472,   474,
1343 >     480,   482,    79,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1344 >    -728,  -728,  -728,   483,   485,    76,  -728,  -728,  -728,   466,
1345 >     488,   489,  -728,   492,  -728,     6,  -728,  -728,  -728,  -728,
1346 >    -728,   575,   577,   478,  -728,   497,   495,   496,    46,  -728,
1347 >    -728,  -728,   501,   499,   500,  -728,   502,   504,   507,   508,
1348 >    -728,   509,   510,   146,  -728,  -728,  -728,  -728,  -728,  -728,
1349 >    -728,  -728,  -728,  -728,  -728,   515,   513,   516,   518,   140,
1350 >    -728,  -728,  -728,  -728,   486,   490,   417,   581,   537,   587,
1351 >     544,   545,   553,   528,  -728,  -728,   645,   634,   559,   637,
1352 >     530,   638,   642,   662,   663,   652,   654,   657,   659,   670,
1353 >     672,   674,   675,   678,   679,   680,   556,  -728,   562,   571,
1354 >    -728,    44,  -728,  -728,  -728,  -728,   594,   578,  -728,   579,
1355 >     584,   576,   585,   589,   590,   150,  -728,  -728,  -728,  -728,
1356 >    -728,   684,   595,  -728,   597,   591,  -728,   596,    14,  -728,
1357 >    -728,  -728,  -728,   598,   600,   601,  -728,   602,   863,   606,
1358 >     608,   609,   610,   611,   612,   615,   616,   618,   619,  -728,
1359 >    -728,   701,   742,   417,   621,   743,   750,   417,   757,   759,
1360 >     417,   747,   764,   767,   417,   768,   768,   641,  -728,  -728,
1361 >     755,   -79,   756,   671,   758,   760,   653,   770,   771,   776,
1362 >     780,   783,   785,   787,   661,  -728,   788,   790,   686,  -728,
1363 >     688,  -728,   796,   798,   693,  -728,   695,   696,   697,   702,
1364 >     703,   704,   706,   711,   714,   717,   721,   722,   724,   728,
1365 >     729,   730,   733,   737,   738,   752,   761,   765,   766,   774,
1366 >     775,   773,   692,   777,   778,   779,   781,   782,   789,   791,
1367 >     792,   793,   794,   795,   797,   799,   800,   801,   802,   803,
1368 >     804,   805,   806,   807,  -728,  -728,   839,   676,   666,   854,
1369 >     813,   857,   864,   865,   808,  -728,   866,   871,   809,  -728,
1370 >    -728,   887,   890,   753,   906,   810,  -728,   811,   812,  -728,
1371 >    -728,   893,   894,   814,  -728,  -728,   895,   815,   816,   897,
1372 >     905,   920,   834,   817,   923,   924,   818,  -728,  -728,   928,
1373 >     929,   930,   824,  -728,   825,   826,   827,   828,   829,   830,
1374 >     831,   832,   833,  -728,   835,   836,   837,   838,   219,   840,
1375 >     841,   842,   843,   844,   845,   846,   847,   848,   849,   850,
1376 >     851,   852,   853,   855,  -728,  -728,   941,   856,   858,  -728,
1377 >     860,  -728,     3,  -728,   946,   961,   963,   964,   861,  -728,
1378 >     862,  -728,  -728,   970,   867,   971,   868,  -728,  -728,  -728,
1379 >    -728,  -728,   417,   417,   417,   417,   417,   417,   417,  -728,
1380 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1381 >    -728,   869,   872,   873,   -26,   874,   875,   876,   877,   878,
1382 >     879,   880,   881,   882,   883,   345,   884,   885,  -728,   886,
1383 >     888,   889,   891,   892,   896,   898,     4,   899,   900,   901,
1384 >     902,   903,   904,   907,  -728,   908,   909,  -728,  -728,   910,
1385 >     911,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1386 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1387 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1388 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1389 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -201,  -728,  -728,
1390 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1391 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1392 >    -728,  -199,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1393 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1394 >    -728,  -728,  -728,  -728,   912,   913,   552,   914,   915,   916,
1395 >     917,   918,  -728,   919,   921,  -728,   922,   925,   -27,   932,
1396 >     926,  -728,  -728,  -728,  -728,   927,   931,  -728,   933,   935,
1397 >     425,   936,   937,   938,   939,   732,   940,   942,  -728,   943,
1398 >     944,   945,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1399 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1400 >    -188,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1401 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,   947,   546,  -728,
1402 >    -728,   948,   949,   950,  -728,    64,  -728,  -728,  -728,  -728,
1403 >     951,   954,   955,   956,  -728,  -728,   957,   786,   958,  -728,
1404 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1405 >    -728,  -728,  -181,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1406 >    -728,  -728,  -728,  -728,   768,   768,   768,  -728,  -728,  -728,
1407 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1408 >    -153,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1409 >    -728,  -728,  -728,  -728,   773,  -728,   692,  -728,  -728,  -728,
1410 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   -76,
1411 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1412 >    -728,  -728,  -728,   -46,  -728,   986,   906,   959,  -728,  -728,
1413 >    -728,  -728,  -728,  -728,   960,  -728,   962,   965,  -728,  -728,
1414 >     966,   967,  -728,  -728,   968,  -728,  -728,  -728,  -728,  -728,
1415 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,   -39,  -728,  -728,
1416 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1417 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1418 >    -728,  -728,  -728,  -728,  -728,    -7,  -728,  -728,  -728,  -728,
1419 >    -728,  -728,  -728,   219,  -728,  -728,  -728,  -728,  -728,  -728,
1420 >    -728,  -728,  -728,  -728,  -728,    59,  -728,  -728,   973,   -99,
1421 >     972,   969,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1422 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,    95,  -728,
1423 >    -728,  -728,   -26,  -728,  -728,  -728,  -728,     4,  -728,  -728,
1424 >    -728,   552,  -728,   -27,  -728,  -728,  -728,   988,   989,   994,
1425 >     993,   996,   998,  -728,   425,  -728,   732,  -728,  -728,   546,
1426 >     974,   976,   977,   259,  -728,  -728,   786,  -728,  -728,  -728,
1427 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1428 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1429 >    -728,   126,  -728,  -728,  -728,   259,  -728
1430   };
1431  
1432    /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
# Line 1435 | Line 1434 | static const yytype_int16 yypact[] =
1434       means the default is an error.  */
1435   static const yytype_uint16 yydefact[] =
1436   {
1437 <       2,     0,     1,     0,     0,     0,   227,   392,   440,     0,
1438 <     455,     0,   295,   431,   271,     0,   111,   151,   329,     0,
1439 <       0,   370,     0,     0,   346,     3,    23,    11,     4,    24,
1440 <       5,     6,     8,     9,    10,    13,    14,    15,    16,    17,
1441 <      18,    19,    20,    22,    21,     7,    12,    25,    26,     0,
1442 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1444 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1445 <       0,     0,     0,     0,     0,   103,   104,   106,   105,   635,
1446 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1447 <       0,     0,     0,     0,     0,   620,   634,   622,   623,   624,
1448 <     625,   626,   627,   621,   628,   629,   630,   631,   632,   633,
1449 <       0,     0,     0,   453,     0,     0,   451,   452,     0,   517,
1450 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1451 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1452 <       0,     0,     0,     0,     0,     0,     0,   591,     0,   565,
1437 >       2,     0,     1,     0,     0,     0,   247,   410,   458,     0,
1438 >     473,     0,   313,   449,   289,     0,   113,   165,   347,     0,
1439 >       0,   388,     0,   122,     0,   364,     3,    23,    11,     4,
1440 >      24,    25,     5,     6,     8,     9,    10,    13,    14,    15,
1441 >      16,    17,    18,    19,    20,    22,    21,     7,    12,    26,
1442 >      27,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1443         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1444 +       0,     0,     0,     0,     0,     0,     0,     0,   105,   106,
1445 +     108,   107,   642,     0,     0,     0,     0,     0,     0,     0,
1446 +       0,     0,     0,     0,     0,   630,   641,   632,   633,   634,
1447 +     635,   636,   637,   638,   631,   639,   640,     0,     0,     0,
1448 +     471,     0,     0,   469,   470,     0,   531,     0,     0,     0,
1449         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1455       0,   466,   514,   516,   508,   509,   510,   511,   512,   507,
1456     477,   467,   468,   469,   470,   471,   472,   473,   474,   475,
1457     476,   504,   478,   479,   513,   481,   486,   487,   482,   484,
1458     483,   497,   498,   485,   488,   489,   490,   491,   480,   493,
1459     494,   495,   515,   505,   506,   502,   503,   496,   492,   500,
1460     501,   499,     0,     0,     0,     0,     0,     0,     0,    45,
1461      46,    47,     0,     0,     0,   661,     0,     0,     0,     0,
1462       0,     0,     0,     0,     0,   652,   653,   654,   655,   656,
1463     659,   657,   658,   660,     0,     0,     0,     0,     0,     0,
1450         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1451 <       0,     0,     0,     0,     0,    53,    69,    70,    68,    65,
1466 <      63,    71,    72,    64,    54,    67,    57,    58,    59,    55,
1467 <      66,    60,    61,    62,    56,     0,     0,     0,     0,   122,
1468 <     123,   124,     0,   344,     0,     0,   342,   343,     0,   107,
1469 <       0,     0,     0,     0,   102,     0,     0,     0,     0,     0,
1451 >       0,     0,   601,   575,     0,     0,     0,     0,     0,     0,
1452         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1453 <     619,     0,     0,     0,     0,   265,     0,     0,     0,     0,
1453 >       0,     0,     0,     0,   484,   485,   486,   529,   493,   530,
1454 >     524,   525,   526,   527,   523,   497,   487,   488,   489,   490,
1455 >     491,   492,   494,   495,   496,   498,   499,   528,   503,   504,
1456 >     505,   506,   502,   501,   507,   514,   515,   508,   509,   510,
1457 >     500,   512,   521,   522,   519,   520,   513,   511,   517,   518,
1458 >     516,     0,     0,     0,     0,     0,     0,     0,    46,    47,
1459 >      48,     0,     0,     0,   666,     0,     0,     0,     0,     0,
1460 >       0,     0,     0,     0,     0,   656,   657,   658,   659,   660,
1461 >     661,   662,   664,   663,   665,     0,     0,     0,     0,     0,
1462 >      82,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1463 >       0,     0,     0,     0,     0,     0,     0,    54,    69,    66,
1464 >      64,    70,    71,    65,    72,    73,    74,    55,    68,    58,
1465 >      59,    60,    56,    67,    61,    62,    63,    57,     0,     0,
1466 >       0,     0,   137,   138,   139,     0,     0,   362,     0,     0,
1467 >     360,   361,     0,   109,     0,     0,     0,     0,   104,     0,
1468         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1469 <     230,   231,   234,   236,   237,   238,   239,   240,   241,   242,
1474 <     243,   244,   232,   233,   235,   245,   246,   247,     0,     0,
1475 <       0,     0,     0,     0,     0,   420,     0,     0,     0,     0,
1476 <       0,     0,     0,     0,   395,   396,   397,   398,   399,   400,
1477 <     401,   403,   402,   405,   409,   406,   407,   408,   404,   446,
1478 <       0,     0,     0,   443,   444,   445,     0,     0,   450,   461,
1479 <       0,     0,     0,   458,   459,   460,     0,     0,     0,     0,
1469 >       0,   629,     0,     0,     0,     0,   283,     0,     0,     0,
1470         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1471 +     250,   251,   254,   256,   257,   258,   259,   260,   261,   262,
1472 +     263,   252,   253,   255,   264,   265,   266,     0,     0,     0,
1473 +       0,     0,     0,     0,   438,     0,     0,     0,     0,     0,
1474 +       0,     0,     0,   413,   414,   415,   416,   417,   418,   419,
1475 +     421,   420,   423,   427,   424,   425,   426,   422,   464,     0,
1476 +       0,     0,   461,   462,   463,     0,     0,   468,   479,     0,
1477 +       0,     0,   476,   477,   478,     0,     0,     0,     0,     0,
1478         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1479         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1480         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1484       0,     0,     0,     0,     0,     0,     0,   465,     0,     0,
1485       0,   312,     0,     0,     0,     0,     0,     0,   298,   299,
1486     300,   301,   306,   302,   303,   304,   305,   437,     0,     0,
1487       0,   434,   435,   436,     0,     0,     0,   273,     0,   283,
1488       0,   281,   282,   284,   285,    48,     0,     0,     0,    44,
1489       0,     0,     0,     0,   114,   115,   116,     0,     0,     0,
1490     200,     0,     0,     0,     0,     0,   174,     0,     0,   154,
1491     155,   156,   157,   160,   161,   162,   163,   159,   158,   164,
1492       0,     0,     0,     0,     0,   332,   333,   334,   335,     0,
1493       0,     0,     0,     0,     0,     0,     0,     0,   651,    73,
1481         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1482 +       0,     0,   483,     0,     0,     0,   330,     0,     0,     0,
1483 +       0,     0,     0,   316,   317,   318,   319,   324,   320,   321,
1484 +     322,   323,   455,     0,     0,     0,   452,   453,   454,     0,
1485 +       0,     0,   291,     0,   301,     0,   299,   300,   302,   303,
1486 +      49,     0,     0,     0,    45,     0,     0,     0,     0,   116,
1487 +     117,   118,     0,     0,     0,   214,     0,     0,     0,     0,
1488 +     188,     0,     0,     0,   168,   169,   170,   171,   172,   175,
1489 +     176,   177,   174,   173,   178,     0,     0,     0,     0,     0,
1490 +     350,   351,   352,   353,     0,     0,     0,     0,     0,     0,
1491 +       0,     0,     0,     0,   655,    75,     0,     0,     0,     0,
1492         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1493 <      52,     0,     0,   378,     0,   373,   374,   375,   125,     0,
1494 <       0,   121,     0,     0,     0,   341,     0,     0,   356,     0,
1495 <       0,   349,   350,   351,   352,     0,     0,     0,   101,     0,
1496 <       0,     0,     0,    27,     0,     0,     0,     0,     0,     0,
1497 <       0,     0,     0,     0,   618,   248,     0,     0,     0,     0,
1493 >       0,     0,     0,     0,     0,     0,     0,    53,     0,     0,
1494 >     396,     0,   391,   392,   393,   140,     0,     0,   136,     0,
1495 >       0,     0,     0,     0,     0,     0,   125,   126,   128,   127,
1496 >     129,     0,     0,   359,     0,     0,   374,     0,     0,   367,
1497 >     368,   369,   370,     0,     0,     0,   103,     0,    28,     0,
1498 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   628,
1499 >     267,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1500 >       0,     0,     0,     0,     0,     0,     0,     0,   249,   428,
1501         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1502 <       0,     0,     0,     0,   229,   410,     0,     0,     0,     0,
1502 >       0,     0,     0,     0,     0,   412,     0,     0,     0,   460,
1503 >       0,   467,     0,     0,     0,   475,     0,     0,     0,     0,
1504         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1504       0,   394,     0,     0,     0,   442,     0,   449,     0,     0,
1505       0,   457,     0,     0,     0,     0,     0,     0,     0,     0,
1505         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1506         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1507         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1508 +       0,     0,     0,     0,   482,   325,     0,     0,     0,     0,
1509 +       0,     0,     0,     0,     0,   315,     0,     0,     0,   451,
1510 +     304,     0,     0,     0,     0,     0,   298,     0,     0,    44,
1511 +     119,     0,     0,     0,   115,   179,     0,     0,     0,     0,
1512 +       0,     0,     0,     0,     0,     0,     0,   167,   354,     0,
1513 +       0,     0,     0,   349,     0,     0,     0,     0,     0,     0,
1514 +       0,     0,     0,   654,     0,     0,     0,     0,     0,     0,
1515         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1516 <       0,     0,     0,     0,   464,   307,     0,     0,     0,     0,
1517 <       0,     0,     0,     0,     0,   297,     0,     0,     0,   433,
1518 <     286,     0,     0,     0,     0,     0,   280,     0,     0,    43,
1519 <     117,     0,     0,     0,   113,   165,     0,     0,     0,     0,
1520 <       0,     0,     0,     0,     0,     0,     0,   153,   336,     0,
1521 <       0,     0,     0,   331,     0,     0,     0,     0,     0,     0,
1522 <       0,     0,   650,     0,     0,     0,     0,     0,     0,     0,
1517 <       0,     0,     0,     0,     0,     0,     0,     0,    78,    79,
1518 <       0,    77,    82,    83,     0,    81,     0,     0,    51,   376,
1519 <       0,     0,     0,   372,     0,   120,     0,     0,   340,   353,
1520 <       0,     0,     0,     0,   348,   110,   109,   108,   645,   644,
1521 <     636,   637,    27,    27,    27,    27,    27,    27,    27,    29,
1522 <      28,   638,   648,   649,   639,   640,   641,   643,   642,   646,
1523 <     647,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1524 <       0,     0,     0,     0,     0,     0,    37,     0,     0,   228,
1516 >       0,     0,     0,     0,    52,   394,     0,     0,     0,   390,
1517 >       0,   135,     0,   130,     0,     0,     0,     0,     0,   124,
1518 >       0,   358,   371,     0,     0,     0,     0,   366,   112,   111,
1519 >     110,   652,    28,    28,    28,    28,    28,    28,    28,    30,
1520 >      29,   653,   643,   644,   645,   646,   647,   648,   649,   651,
1521 >     650,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1522 >       0,     0,     0,     0,     0,    38,     0,     0,   248,     0,
1523         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1524 <       0,     0,     0,     0,     0,   393,     0,     0,   441,   454,
1525 <       0,     0,   456,   530,   534,   549,   519,   617,   562,   556,
1526 <     559,   529,   521,   520,   523,   524,   522,   537,   527,   528,
1527 <     538,   526,   533,   532,   531,   557,   518,   615,   616,   553,
1528 <     601,   595,   611,   596,   597,   598,   606,   614,   599,   608,
1529 <     612,   602,   613,   603,   607,   600,   610,   605,   604,   609,
1530 <       0,   594,   555,   574,   575,   576,   569,   587,   570,   571,
1531 <     572,   582,   590,   573,   584,   588,   578,   589,   579,   583,
1532 <     577,   586,   581,   580,   585,     0,   568,   550,   548,   551,
1533 <     561,   552,   540,   546,   547,   544,   545,   541,   542,   543,
1534 <     560,   563,   564,   525,   554,   536,   535,   558,   539,     0,
1535 <       0,     0,     0,     0,     0,     0,     0,   296,     0,     0,
1536 <     432,     0,     0,     0,   291,   287,   290,   272,    49,    50,
1537 <       0,     0,   112,     0,     0,     0,     0,     0,     0,     0,
1538 <       0,     0,     0,   152,     0,     0,     0,   330,   663,   662,
1539 <     668,   666,   669,   664,   665,   667,    92,   100,    91,    98,
1540 <      99,    90,    94,    93,    85,    84,    89,    86,    88,    97,
1541 <      87,    74,     0,    75,     0,    95,    96,     0,     0,   371,
1542 <     126,     0,     0,     0,   138,     0,   130,   131,   133,   132,
1543 <     345,     0,     0,     0,   347,    30,    31,    32,    33,    34,
1544 <      35,    36,   260,   261,   252,   270,   269,     0,   268,   253,
1545 <     255,   257,   264,   256,   254,   263,   249,   262,   251,   250,
1546 <      37,    37,    37,    39,    38,   258,   259,   415,   418,   419,
1547 <     429,   426,   412,   427,   424,   425,     0,   423,   428,   411,
1548 <     417,   414,   416,   430,   413,   447,   448,   462,   463,   592,
1549 <       0,   566,     0,   310,   311,   320,   317,   322,   318,   319,
1550 <     325,   321,   323,   316,   324,     0,   315,   309,   328,   327,
1551 <     326,   308,   439,   438,   294,   293,   278,   279,   277,     0,
1552 <     276,     0,     0,     0,   118,   119,   173,   169,   220,   207,
1553 <     217,   216,   205,   210,   226,   219,   224,   209,   212,   221,
1554 <     223,   218,   225,   213,   215,   222,   211,   214,     0,   203,
1555 <     166,   168,   170,   171,   172,   183,   184,   185,   178,   196,
1556 <     179,   180,   181,   191,   199,   182,   193,   197,   187,   198,
1557 <     188,   192,   186,   195,   190,   189,   194,     0,   177,   167,
1558 <     339,   337,   338,    76,    80,   377,   382,   388,   391,   384,
1559 <     390,   385,   389,   387,   383,   386,     0,   381,   134,     0,
1560 <       0,     0,     0,   129,   354,   360,   366,   369,   362,   368,
1561 <     363,   367,   365,   361,   364,     0,   359,   355,   266,     0,
1562 <      40,    41,    42,   421,     0,   593,   567,   313,     0,   274,
1563 <       0,   292,   289,   288,     0,     0,     0,   201,     0,   175,
1564 <       0,   379,     0,     0,     0,     0,     0,   128,   357,     0,
1565 <     267,   422,   314,   275,   206,   204,   208,   202,   176,   380,
1566 <     135,   137,   136,   144,   149,   148,   143,   146,   150,   147,
1567 <     142,   145,     0,   141,   358,   139,     0,   140
1524 >       0,     0,     0,     0,   411,     0,     0,   459,   472,     0,
1525 >       0,   474,   545,   549,   532,   533,   564,   536,   627,   572,
1526 >     537,   538,   569,   544,   543,   552,   542,   539,   540,   548,
1527 >     547,   546,   570,   534,   625,   626,   568,   611,   605,   621,
1528 >     606,   607,   608,   616,   624,   609,   618,   622,   612,   623,
1529 >     613,   617,   610,   620,   615,   614,   619,     0,   604,   584,
1530 >     585,   586,   579,   597,   580,   581,   582,   592,   600,   583,
1531 >     594,   598,   588,   599,   589,   593,   587,   596,   591,   590,
1532 >     595,     0,   578,   565,   563,   566,   571,   567,   554,   561,
1533 >     562,   559,   560,   555,   556,   557,   558,   573,   574,   541,
1534 >     551,   550,   553,   535,     0,     0,     0,     0,     0,     0,
1535 >       0,     0,   314,     0,     0,   450,     0,     0,     0,   309,
1536 >     305,   308,   290,    50,    51,     0,     0,   114,     0,     0,
1537 >       0,     0,     0,     0,     0,     0,     0,     0,   166,     0,
1538 >       0,     0,   348,   670,   667,   668,   669,   674,   673,   675,
1539 >     671,   672,    99,    94,   102,    93,    89,    87,    88,    86,
1540 >       0,    85,    90,    91,   100,   101,    92,    96,    95,    77,
1541 >      76,    81,    78,    80,    79,    97,    98,     0,     0,   389,
1542 >     141,     0,     0,     0,   153,     0,   145,   146,   148,   147,
1543 >       0,     0,     0,     0,   123,   363,     0,     0,     0,   365,
1544 >      31,    32,    33,    34,    35,    36,    37,   278,   279,   271,
1545 >     288,   287,     0,   286,   272,   274,   282,   275,   273,   281,
1546 >     268,   280,   270,   269,    38,    38,    38,    40,    39,   276,
1547 >     277,   433,   436,   437,   447,   444,   430,   445,   442,   443,
1548 >       0,   441,   446,   429,   435,   432,   434,   448,   431,   465,
1549 >     466,   480,   481,   602,     0,   576,     0,   328,   329,   339,
1550 >     335,   336,   338,   343,   340,   341,   334,   342,   337,     0,
1551 >     333,   327,   346,   345,   344,   326,   457,   456,   312,   311,
1552 >     296,   297,   295,     0,   294,     0,     0,     0,   120,   121,
1553 >     187,   184,   234,   246,   221,   230,     0,   219,   224,   240,
1554 >       0,   233,   238,   244,   223,   226,   235,   237,   241,   231,
1555 >     239,   227,   245,   229,   236,   225,   228,     0,   217,   180,
1556 >     182,   185,   186,   197,   198,   199,   192,   210,   193,   194,
1557 >     195,   205,   213,   196,   207,   211,   201,   212,   202,   206,
1558 >     200,   209,   204,   203,   208,     0,   191,   181,   183,   357,
1559 >     355,   356,    83,     0,   395,   400,   406,   409,   402,   408,
1560 >     403,   407,   405,   401,   404,     0,   399,   149,     0,     0,
1561 >       0,     0,   144,   132,   131,   133,   134,   372,   378,   384,
1562 >     387,   380,   386,   381,   385,   383,   379,   382,     0,   377,
1563 >     373,   284,     0,    41,    42,    43,   439,     0,   603,   577,
1564 >     331,     0,   292,     0,   310,   307,   306,     0,     0,     0,
1565 >       0,     0,     0,   215,     0,   189,     0,    84,   397,     0,
1566 >       0,     0,     0,     0,   143,   375,     0,   285,   440,   332,
1567 >     293,   220,   243,   218,   242,   232,   222,   216,   190,   398,
1568 >     150,   152,   151,   163,   162,   158,   160,   164,   161,   157,
1569 >     159,     0,   156,   376,   154,     0,   155
1570   };
1571  
1572    /* YYPGOTO[NTERM-NUM].  */
1573   static const yytype_int16 yypgoto[] =
1574   {
1575 <    -789,  -789,  -789,  -396,  -317,  -788,  -641,  -789,  -789,   974,
1576 <    -789,  -789,  -789,  -789,   946,  -789,  -789,  -789,    54,  -789,
1577 <      17,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1578 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1579 <    1007,  -789,  -789,  -789,  -789,  -789,  -789,   610,  -789,  -789,
1580 <    -789,  -789,   836,  -789,  -789,  -789,  -789,    37,  -789,  -789,
1581 <    -789,  -789,  -789,  -194,  -789,  -789,  -789,   618,  -789,  -789,
1582 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -150,
1583 <    -789,  -789,  -789,  -153,  -789,  -789,  -789,   826,  -789,  -789,
1584 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1585 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -128,  -789,  -789,
1586 <    -789,  -789,  -789,  -138,  -789,   637,  -789,  -789,  -789,   -24,
1587 <    -789,  -789,  -789,  -789,  -789,   667,  -789,  -789,  -789,  -789,
1588 <    -789,  -789,  -789,  -110,  -789,  -789,  -789,  -789,  -789,  -789,
1589 <     619,  -789,  -789,  -789,  -789,  -789,   970,  -789,  -789,  -789,
1590 <    -789,   562,  -789,  -789,  -789,  -789,  -789,  -123,  -789,  -789,
1591 <    -789,   592,  -789,  -789,  -789,  -789,  -111,  -789,  -789,  -789,
1592 <     876,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1593 <    -789,  -789,   -92,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1594 <    -789,   690,  -789,  -789,  -789,  -789,  -789,   975,  -789,  -789,
1595 <    -789,  -789,  1079,  -789,  -789,  -789,  -789,   801,  -789,  -789,
1596 <    -789,  -789,  1025,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1597 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1598 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1599 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1600 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1601 <    -789,    80,  -789,  -789,  -789,    71,  -789,  -789,  -789,  -789,
1602 <    -789,  1111,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1603 <    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,   979,  -789,
1604 <    -789,  -789,  -789,  -789,  -789,  -789,  -789
1575 >    -728,  -728,  -728,  -243,  -308,  -727,  -635,  -728,  -728,   978,
1576 >    -728,  -728,  -728,  -728,   952,  -728,  -728,  -728,  -728,  -728,
1577 >    -728,  -728,  -728,  -728,  -122,  -728,  -728,  -728,  -728,  -728,
1578 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1579 >    1028,  -728,  -728,  -728,  -728,  -728,  -728,   660,  -728,  -728,
1580 >    -728,  -728,  -728,   572,  -728,  -728,  -728,  -728,  -728,  -728,
1581 >     953,  -728,  -728,  -728,  -728,    84,  -728,  -728,  -728,  -728,
1582 >    -728,  -163,  -728,  -728,  -728,   627,  -728,  -728,  -728,  -728,
1583 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -126,  -728,  -728,
1584 >    -728,  -121,  -728,  -728,  -728,   859,  -728,  -728,  -728,  -728,
1585 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1586 >    -728,  -728,  -728,  -728,   -96,  -728,  -728,  -728,  -728,  -728,
1587 >    -105,  -728,   690,  -728,  -728,  -728,    27,  -728,  -728,  -728,
1588 >    -728,  -728,   718,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1589 >     -87,  -728,  -728,  -728,  -728,  -728,  -728,   665,  -728,  -728,
1590 >    -728,  -728,  -728,   975,  -728,  -728,  -728,  -728,   599,  -728,
1591 >    -728,  -728,  -728,  -728,  -100,  -728,  -728,  -728,   629,  -728,
1592 >    -728,  -728,  -728,   -77,  -728,  -728,  -728,   870,  -728,  -728,
1593 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   -65,
1594 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   739,  -728,
1595 >    -728,  -728,  -728,  -728,   822,  -728,  -728,  -728,  -728,  1103,
1596 >    -728,  -728,  -728,  -728,   819,  -728,  -728,  -728,  -728,  1053,
1597 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1598 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1599 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1600 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1601 >    -728,  -728,  -728,  -728,    93,  -728,  -728,  -728,    97,  -728,
1602 >    -728,  -728,  -728,  -728,  1123,  -728,  -728,  -728,  -728,  -728,
1603 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   990,  -728,
1604 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728
1605   };
1606  
1607    /* YYDEFGOTO[NTERM-NUM].  */
1608   static const yytype_int16 yydefgoto[] =
1609   {
1610 <      -1,     1,    25,   839,   840,  1103,  1104,    26,   228,   229,
1611 <     230,   231,    27,   274,   275,   276,   277,   800,   801,   804,
1612 <     805,   278,   279,   280,   281,   282,   283,   284,   285,   286,
1613 <     287,   288,   289,   290,   291,   292,   293,   294,    28,    74,
1614 <      75,    76,    77,    78,    29,    61,   513,   514,   515,   516,
1615 <      30,   298,   299,   300,   301,   302,  1065,  1066,  1067,  1068,
1616 <    1069,  1241,  1312,  1313,    31,    62,   528,   529,   530,   531,
1617 <     532,   533,   534,   535,   536,   537,   538,   764,  1217,  1218,
1618 <     539,   758,  1188,  1189,    32,    51,   349,   350,   351,   352,
1619 <     353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
1620 <     363,   364,   365,   366,   367,   629,  1087,  1088,    33,    59,
1621 <     499,   743,  1159,  1160,   500,   501,   502,  1163,  1005,  1006,
1622 <     503,   504,    34,    57,   477,   478,   479,   480,   481,   482,
1623 <     483,   728,  1145,  1146,   484,   485,   486,    35,    63,   544,
1624 <     545,   546,   547,   548,    36,   305,   306,   307,    37,    69,
1625 <     600,   601,   602,   603,   604,   821,  1255,  1256,    38,    66,
1626 <     584,   585,   586,   587,   811,  1236,  1237,    39,    52,   383,
1627 <     384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
1628 <     652,  1116,  1117,   394,   395,   396,   397,   398,    40,    58,
1629 <     490,   491,   492,   493,    41,    53,   402,   403,   404,   405,
1630 <      42,   115,   116,   117,    43,    55,   412,   413,   414,   415,
1631 <      44,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1632 <     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1633 <     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1634 <     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1635 <     209,   210,   211,   212,   213,   214,   215,   216,   217,   445,
1636 <     965,   966,   218,   443,   940,   941,   219,   220,   221,    45,
1637 <      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1638 <     104,   105,   106,   107,   108,   109,    46,   244,   245,   246,
1639 <     247,   248,   249,   250,   251,   252,   253
1610 >      -1,     1,    26,   829,   830,  1097,  1098,    27,   217,   218,
1611 >     219,   220,    28,   266,   267,   268,   269,   270,   271,   272,
1612 >     273,   274,   550,  1030,  1031,   275,   276,   277,   278,   279,
1613 >     280,   281,   282,   283,   284,   285,   286,   287,    29,    77,
1614 >      78,    79,    80,    81,    30,    63,   498,   499,   500,   501,
1615 >      31,    70,   585,   586,   587,   588,   589,   590,    32,   291,
1616 >     292,   293,   294,   295,  1055,  1056,  1057,  1058,  1059,  1240,
1617 >    1321,  1322,    33,    64,   513,   514,   515,   516,   517,   518,
1618 >     519,   520,   521,   522,   523,   753,  1215,  1216,   524,   748,
1619 >    1187,  1188,    34,    53,   339,   340,   341,   342,   343,   344,
1620 >     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1621 >     355,   356,   624,  1082,  1083,    35,    61,   484,   733,  1153,
1622 >    1154,   485,   486,   487,  1157,   990,   991,   488,   489,    36,
1623 >      59,   462,   463,   464,   465,   466,   467,   468,   718,  1139,
1624 >    1140,   469,   470,   471,    37,    65,   529,   530,   531,   532,
1625 >     533,    38,   299,   300,   301,    39,    72,   598,   599,   600,
1626 >     601,   602,   814,  1258,  1259,    40,    68,   571,   572,   573,
1627 >     574,   797,  1235,  1236,    41,    54,   372,   373,   374,   375,
1628 >     376,   377,   378,   379,   380,   381,   382,   646,  1110,  1111,
1629 >     383,   384,   385,   386,   387,    42,    60,   475,   476,   477,
1630 >     478,    43,    55,   391,   392,   393,   394,    44,   112,   113,
1631 >     114,    45,    57,   401,   402,   403,   404,    46,   163,   164,
1632 >     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1633 >     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1634 >     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1635 >     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1636 >     205,   206,   431,   951,   952,   207,   430,   927,   928,   208,
1637 >     209,   210,    47,    94,    95,    96,    97,    98,    99,   100,
1638 >     101,   102,   103,   104,   105,   106,    48,   234,   235,   236,
1639 >     237,   238,   239,   240,   241,   242,   243,   244
1640   };
1641  
1642    /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
# Line 1644 | Line 1644 | static const yytype_int16 yydefgoto[] =
1644       number is the opposite.  If YYTABLE_NINF, syntax error.  */
1645   static const yytype_int16 yytable[] =
1646   {
1647 <     867,   868,   614,   303,   616,  1114,   618,   619,   399,    49,
1648 <      70,   296,   368,   540,   369,    50,   370,   225,    54,   494,
1649 <     399,  1085,   113,   113,   596,   708,   581,   409,   371,   709,
1650 <     510,   581,   710,  1061,    71,   296,   711,    56,   866,   409,
1651 <      60,    72,   487,    64,   372,  1051,    65,   541,  1053,  1052,
1652 <    1156,   225,  1054,  1129,    67,  1131,  1258,  1130,   468,  1132,
1653 <    1259,  1263,   119,   517,    68,  1264,   110,   120,   121,   373,
1654 <     487,   374,   400,   122,   469,   111,   495,   112,   375,   518,
1655 <     118,   123,   124,   496,   400,   497,   114,   114,   125,   376,
1656 <     470,   126,   127,   542,   596,   519,  1086,   128,   303,   222,
1657 <     673,   674,   129,   130,   304,   131,   132,   133,   681,   134,
1658 <     511,    73,   685,   377,   223,   226,   224,   690,   135,   232,
1659 <     693,   233,   136,   137,   471,   597,   510,   582,   410,   520,
1660 <     703,   704,   582,   138,  1062,  1284,   401,   378,   234,   227,
1661 <     410,   543,   717,   139,   498,   720,   721,   331,   401,   226,
1662 <     140,   295,   141,   308,   142,   411,   143,   379,   144,   145,
1663 <     309,   332,   333,   505,   521,   334,   380,   411,  1267,   254,
1664 <     488,   146,  1268,   227,    47,    48,   147,   148,   149,   472,
1665 <     150,   151,   152,  1061,   522,   153,  -127,   473,   474,   310,
1666 <    1269,  1157,  1277,   255,  1270,   597,  1278,  1115,   488,   304,
1667 <     523,  1158,   311,  1279,   559,   512,   511,  1280,   475,   312,
1668 <    -127,   154,   381,   335,   315,  1281,  1288,   524,   525,  1282,
1669 <    1289,   155,   156,   157,   158,   159,   160,   256,  1063,   316,
1670 <     336,   337,   338,   339,   340,   317,   257,   297,   341,   781,
1671 <     382,   664,   342,   313,   590,   660,   772,   598,   343,   583,
1672 <     508,   599,   745,   161,   583,   407,  1064,   823,   258,   344,
1673 <     345,   297,   259,   753,   812,   592,  1242,    79,   526,   489,
1674 <     260,   346,   670,   261,   262,   738,   540,   162,   163,   164,
1675 <     318,   165,   166,   167,  1062,   476,   588,   168,    80,    81,
1676 <     527,   734,   169,   347,    82,   466,   766,   489,  1100,  1101,
1677 <    1102,   512,   494,  1315,   319,   263,   608,  1316,    70,   235,
1678 <     541,   853,  1260,  1261,  1262,   320,   858,   598,   321,   861,
1679 <     322,   599,   264,   865,   323,   265,   266,   267,   324,    83,
1680 <      84,   594,    71,   348,   325,    85,    86,   236,   326,    72,
1681 <     327,    87,    88,    89,   468,   237,   798,   799,   328,    90,
1682 <      91,   406,   268,   802,   803,   416,   542,   238,   239,   495,
1683 <     469,   609,   240,   241,   242,   417,   496,   418,   497,   269,
1684 <     270,   271,   871,   872,    92,    93,   470,   419,  1063,   420,
1685 <     643,   421,   610,   422,   423,   605,   424,   243,   119,   517,
1686 <     425,   426,   427,   120,   121,   428,   429,   272,   273,   122,
1687 <     430,   866,   579,   431,   543,   518,  1064,   123,   124,    73,
1688 <     471,   432,   433,   434,   125,   435,   436,   126,   127,   437,
1689 <     438,   519,   439,   128,   440,   441,   442,   498,   129,   130,
1690 <     444,   131,   132,   133,   254,   134,  1075,  1076,  1077,  1078,
1691 <    1079,  1080,  1081,   446,   135,   447,   448,   449,   136,   137,
1692 <    1303,   450,   451,   452,   453,   520,   454,   455,   255,   138,
1693 <     456,   457,   458,   459,   460,   472,   461,   462,   463,   139,
1694 <     464,   465,   506,   473,   474,   507,   140,   549,   141,   550,
1695 <     142,  1304,   143,  1305,   144,   145,   613,   551,   552,   553,
1696 <     521,   554,   256,   555,   475,   556,   560,   146,  1168,   561,
1697 <     329,   257,   147,   148,   149,   562,   150,   151,   152,   563,
1698 <     522,   153,  1169,   832,   833,   834,   835,   836,   837,   838,
1699 <    1170,   564,   565,   258,   566,   606,   523,   259,  1306,   567,
1700 <     568,   569,   570,   571,  1171,   260,   572,   154,   261,   262,
1701 <     573,   574,   557,   524,   525,  1307,   575,   155,   156,   157,
1702 <     158,   159,   160,   576,  1135,   577,   578,   589,   593,   607,
1703 <     611,   612,   613,   615,   368,  1172,   369,  1173,   370,   617,
1704 <     263,   476,   620,   621,   622,  1136,   623,   624,   626,   161,
1705 <     371,   625,  1308,  1309,  1137,   627,   628,   264,   630,   631,
1706 <     265,   266,   267,  1174,   526,   666,   372,   672,   632,  1285,
1707 <     633,   634,   635,   162,   163,   164,   636,   165,   166,   167,
1708 <     645,   637,   638,   168,   639,  1138,   527,   268,   169,   640,
1709 <     641,   373,   642,   374,   675,   646,  1175,   647,  1176,   648,
1710 <     375,   649,   650,   651,   269,   270,   271,   653,  1310,   654,
1711 <     655,   376,  1311,   656,  1139,  1140,   667,  1177,   657,  1226,
1712 <     658,   659,  1141,   662,   663,   668,     2,     3,   669,   676,
1713 <       4,   677,   272,   273,   678,   377,   679,  1178,   680,   682,
1714 <       5,   683,  1179,     6,     7,   699,  1180,  1142,   684,   686,
1715 <       8,   687,   331,  1181,   688,   689,   691,   692,  1182,   378,
1716 <     694,     9,   695,  1143,    10,    11,   332,   333,   696,   697,
1717 <     334,   698,  1183,   700,   702,  1184,   705,  1185,   701,   379,
1718 <     706,  1227,   707,   712,   713,   714,   715,   716,   380,  1186,
1719 <     718,   719,    12,   722,   723,   724,  1187,    13,   747,   725,
1720 <     748,   777,   786,   783,   740,   774,    14,   943,   726,   944,
1721 <     945,   775,  1228,   727,   776,   749,   729,   730,   335,  1229,
1722 <     731,   732,   733,   736,   737,  1144,    15,    16,  1230,   741,
1723 <     742,   744,   235,   750,   381,   336,   337,   338,   339,   340,
1724 <     751,   752,   756,   341,    17,   755,   757,   342,   768,  1195,
1725 <     759,  1196,  1197,   343,  1231,   760,  1232,  1233,   782,   761,
1726 <     236,    18,   382,   762,   344,   345,   763,   765,   237,   778,
1727 <     769,  1234,   785,   779,    19,    20,   346,   770,  1235,   771,
1728 <     238,   239,   780,   920,   784,   240,   241,   242,   787,   788,
1729 <     789,  1245,   790,   791,   792,   793,    21,   794,   347,   795,
1730 <     796,   797,   806,   808,   807,   809,   814,   817,   851,    22,
1731 <     243,   815,   862,   810,   816,   818,   819,    23,   825,   852,
1732 <     820,    24,   822,   854,   855,   946,   947,   948,   826,   949,
1733 <     950,   827,   951,   952,   828,   953,   829,   954,   348,   830,
1734 <     955,   831,   841,   956,   957,   842,   958,   843,   844,   845,
1735 <     846,   959,   847,  1246,   848,   960,   961,   962,   849,   856,
1736 <     850,   857,   859,   860,   863,   963,   864,  1198,  1199,  1200,
1737 <     964,  1201,  1202,   866,  1203,  1204,   869,  1205,   877,  1206,
1738 <     870,   880,  1207,   873,  1247,  1208,  1209,   875,  1210,   876,
1739 <     878,  1248,   879,  1211,   874,   881,    79,  1212,  1213,  1214,
1740 <    1249,   921,   922,   923,   882,   924,   925,  1215,   926,   927,
1741 <     883,   928,  1216,   929,   884,   885,   930,    80,    81,   931,
1742 <     932,   886,   933,    82,   887,   888,  1250,   934,  1251,  1252,
1743 <     889,   935,   936,   937,   890,   891,   892,   893,   894,   895,
1744 <     989,   938,   896,  1253,   897,   992,   939,   898,   899,   900,
1745 <    1254,   993,   901,   902,   903,   904,   905,   906,    83,    84,
1746 <     907,   908,   909,   910,    85,    86,   911,   994,   912,   913,
1747 <      87,    88,    89,   914,   915,   916,   917,   918,    90,    91,
1748 <     995,   919,   991,   996,   998,   990,   999,  1001,   942,  1002,
1749 <     967,   968,   969,  1004,  1010,  1011,  1013,   970,  1016,   971,
1750 <     972,  1017,  1018,    92,    93,   973,   974,   975,   976,   977,
1751 <    1019,   978,   979,   980,   981,   982,  1014,   983,   984,   985,
1752 <    1020,   986,   987,   988,   997,  1000,  1022,  1024,  1007,  1003,
1753 <    1025,  1008,  1009,  1012,  1026,  1057,  1071,  1023,  1015,  1021,
1754 <    1073,  1224,  1027,  1028,  1029,  1030,  1271,  1031,  1032,  1033,
1755 <    1034,   314,  1035,  1036,  1037,  1038,  1039,  1040,  1041,  1042,
1756 <    1043,  1044,  1045,  1046,  1047,  1048,  1049,  1050,  1055,  1056,
1757 <    1283,  1059,  1243,  1058,  1060,  1070,  1223,  1074,  1082,  1072,
1758 <    1083,  1084,  1089,  1090,  1091,  1092,  1294,  1093,  1094,  1295,
1759 <    1296,  1095,  1317,   754,  1096,  1297,  1097,  1098,  1099,  1105,
1760 <    1298,  1290,  1293,  1106,   591,  1107,  1108,   746,  1272,  1109,
1761 <    1110,  1111,  1112,  1113,   735,  1118,   767,  1119,  1120,  1121,
1762 <    1122,  1123,  1124,  1125,  1126,  1127,  1128,  1133,  1292,  1134,
1763 <    1147,  1148,   824,   773,  1149,  1150,  1314,  1151,  1152,  1153,
1764 <    1161,  1299,  1291,  1154,  1155,   644,   813,  1164,  1165,  1162,
1765 <     739,  1166,  1167,  1190,  1191,  1192,  1193,  1194,  1219,  1220,
1766 <    1221,  1222,  1225,  1238,   408,   467,  1244,  1239,  1240,  1257,
1767 <    1273,  1265,   509,  1274,  1287,   330,  1275,  1276,  1286,  1300,
1768 <    1301,  1302,  1266,   671,     0,     0,     0,     0,     0,     0,
1769 <     580,     0,     0,   558,     0,     0,     0,     0,     0,     0,
1770 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1771 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1772 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   661,
1773 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1774 <       0,     0,     0,     0,     0,   595,     0,     0,     0,     0,
1775 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1776 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1777 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1778 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1779 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1647 >     856,   857,   609,   110,  1051,   612,   613,   479,   615,   616,
1648 >      51,    73,  1108,   495,   855,   594,   297,    52,   297,   699,
1649 >      56,  1150,    58,   700,   388,   110,  1080,   245,    62,   398,
1650 >     701,   388,   398,  1123,   702,  1125,   289,  1124,    73,  1126,
1651 >      74,    66,   214,    49,    50,   568,  1222,   495,    75,    67,
1652 >    1223,   568,   472,  1261,   246,   116,   247,  1262,   289,    69,
1653 >     117,   118,   480,   119,   120,  1051,   111,    74,   121,    71,
1654 >     481,   107,   482,   594,   108,    75,   109,   472,   122,   123,
1655 >     453,  1266,   115,   248,   211,  1267,   124,   389,   111,   125,
1656 >     126,   127,   580,   249,   389,   496,   128,   212,   667,   454,
1657 >     669,   670,  1081,   860,   861,   250,   251,   252,  1052,   213,
1658 >    1291,   680,   221,   129,   130,    76,   685,   253,   455,   595,
1659 >     298,   254,   298,   222,   131,   694,   695,   132,   133,   496,
1660 >     223,   255,   483,   399,   256,   257,   399,   708,   134,   710,
1661 >     711,   525,    76,   215,   135,   456,   136,   502,   137,   569,
1662 >     138,   580,   390,   139,   140,   569,   288,   400,  1270,   390,
1663 >     400,   296,  1271,   258,   216,   141,   503,  1151,   302,  1052,
1664 >     142,   143,    82,   144,   145,   146,  1152,   595,   147,   259,
1665 >     473,   526,   260,   261,   262,   504,   303,   357,  1272,   358,
1666 >     497,   359,  1273,   304,   305,  1283,   581,    83,    84,  1284,
1667 >     306,   457,  1053,   148,    85,   473,   360,  1109,   309,   458,
1668 >     459,   490,   505,  -142,   149,   150,   151,   152,   153,   154,
1669 >     155,   322,   310,   527,   497,   361,  1054,  1285,   766,   460,
1670 >     263,  1286,    86,    87,    88,  -142,  1026,   596,   323,   324,
1671 >     597,   735,   362,   325,   363,   307,    89,    90,    91,   816,
1672 >     592,   506,   364,   264,   265,   581,    92,    93,   658,   396,
1673 >     290,   566,   582,  1053,   365,   603,   664,   570,   507,   528,
1674 >     156,   157,   158,   570,   159,   160,   493,   474,   579,   798,
1675 >     583,   743,   290,   161,   311,   162,   326,  1054,   214,   451,
1676 >     312,   366,   577,  1288,   224,   596,   584,  1289,   597,  1241,
1677 >     508,   509,   474,   313,   314,   461,   327,   328,   329,   330,
1678 >     525,   728,   367,   331,   724,   843,  1027,   315,   332,   847,
1679 >    1028,   582,   850,   316,   317,   333,   854,   225,  1313,  1295,
1680 >    1314,   368,   545,  1296,   334,   335,   226,   227,   228,   583,
1681 >     369,   229,   230,   318,   502,   336,   231,   232,   233,   319,
1682 >     526,   395,   510,   479,   405,   584,  1094,  1095,  1096,   406,
1683 >    1324,   407,   408,   503,  1325,   409,   337,  1263,  1264,  1265,
1684 >     410,   411,   511,   412,   413,   762,   512,  1315,  1029,   414,
1685 >     415,   756,   504,   604,   416,   808,   417,   575,   418,   215,
1686 >     370,   116,   527,   419,  1316,   420,   117,   118,   421,   119,
1687 >     120,   422,   423,   424,   121,   425,   320,   426,   480,   505,
1688 >     216,   338,   427,   371,   122,   123,   481,   428,   482,   429,
1689 >     432,   654,   124,   605,   433,   125,   126,   127,   434,  1162,
1690 >     435,   436,   128,  1317,  1318,   437,   438,   439,   528,   245,
1691 >     440,   441,   442,   443,   444,   445,  1163,  1164,   506,   129,
1692 >     130,   446,   447,   448,   449,   637,  1165,   606,   855,   450,
1693 >     131,   491,   492,   132,   133,   507,   246,   534,   247,   535,
1694 >     536,   537,   538,   539,   134,   540,   541,   542,   483,   546,
1695 >     135,   547,   136,   548,   137,  1319,   138,   549,   551,   139,
1696 >     140,  1320,   552,  1166,  1167,   248,  1168,   508,   509,   553,
1697 >     554,   141,   555,   556,   557,   249,   142,   143,   558,   144,
1698 >     145,   146,   559,   560,   147,   561,   562,   250,   251,   252,
1699 >     563,   564,   565,   453,   607,   576,   591,  1169,   543,   253,
1700 >     608,   610,   611,   254,   614,  1170,   617,   618,   619,   148,
1701 >     620,   660,   454,   255,   621,   622,   256,   257,   623,   510,
1702 >     149,   150,   151,   152,   153,   154,   155,  1171,   625,  1172,
1703 >    1173,   455,   626,   627,   628,   629,   630,  1129,   631,   511,
1704 >     632,   633,   634,   512,   357,   258,   358,  1174,   359,  1070,
1705 >    1071,  1072,  1073,  1074,  1075,  1076,   635,   636,   456,   639,
1706 >     640,   259,  1130,   360,   260,   261,   262,   641,   642,   643,
1707 >    1175,   644,   645,   647,  1292,  1176,   156,   157,   158,  1177,
1708 >     159,   160,   361,  1178,   648,   649,   650,  1225,  1179,   161,
1709 >     651,   162,  1180,   652,  1131,   653,   656,   661,   657,   362,
1710 >     666,   363,   662,  1181,   663,  1182,  1183,   668,  1184,   364,
1711 >     672,   671,   263,   673,   457,   674,   675,   676,   677,  1185,
1712 >     678,   365,   458,   459,   679,   681,   682,  1186,  1132,  1133,
1713 >     683,   684,   686,   687,  1134,   264,   265,   688,   689,     2,
1714 >       3,   690,   460,     4,   691,   693,   696,   692,   366,   697,
1715 >     698,  1226,   703,   704,   705,     5,   706,   707,  1135,     6,
1716 >     709,     7,   712,   713,   716,   717,   714,   715,     8,   367,
1717 >     730,   764,   737,  1136,   738,   765,   322,   719,   767,   720,
1718 >       9,   721,   739,  1227,   769,    10,    11,   722,   368,   723,
1719 >     726,  1228,   727,   323,   324,   731,   732,   369,   325,   734,
1720 >    1229,   740,   741,   742,    12,   745,   746,   747,    13,   749,
1721 >     929,   750,   930,   931,   751,   752,   754,   755,   461,   758,
1722 >     759,    14,   768,   760,  1230,   761,  1231,  1232,   774,   770,
1723 >     771,   775,   773,    82,   777,   779,  1137,   778,   772,   780,
1724 >    1233,   326,    15,    16,   776,   781,   782,   370,  1234,   783,
1725 >    1193,   784,  1194,  1195,   785,  1138,   786,    17,    83,    84,
1726 >     794,   327,   328,   329,   330,    85,   795,   787,   331,   788,
1727 >     371,   789,   790,   332,    18,   791,   792,   793,   796,   800,
1728 >     333,   810,   801,   804,   841,   802,    19,    20,   803,   334,
1729 >     335,   907,   805,    86,    87,    88,   806,   807,   813,   811,
1730 >     336,   812,   818,   815,   819,   820,   821,    89,    90,    91,
1731 >     831,    21,   832,   833,   834,   835,   836,    92,    93,   837,
1732 >     838,   337,   839,   840,    22,   842,   845,  1248,   844,    23,
1733 >     932,   933,   934,   846,    24,   935,   936,    25,   937,   938,
1734 >     848,   939,   849,   940,   851,   858,   941,   852,   942,   943,
1735 >     853,   855,   859,   862,   944,   864,   863,   865,   945,   869,
1736 >     866,   975,   946,   947,   948,   874,   338,   867,   868,   949,
1737 >    1196,  1197,  1198,   976,   950,  1199,  1200,   870,  1201,  1202,
1738 >     871,  1203,   872,  1204,   873,   875,  1205,   876,  1206,  1207,
1739 >     877,  1249,   878,   879,  1208,   880,   978,   881,  1209,   882,
1740 >     883,   884,  1210,  1211,  1212,   224,   885,   886,   887,  1213,
1741 >     888,   908,   909,   910,  1214,   889,   911,   912,   890,   913,
1742 >     914,   891,   915,  1250,   916,   892,   893,   917,   894,   918,
1743 >     919,  1251,   895,   896,   897,   920,   974,   898,   225,   921,
1744 >    1252,   899,   900,   922,   923,   924,   608,   226,   227,   228,
1745 >     925,   977,   229,   230,   979,   926,   901,   231,   232,   233,
1746 >     988,   980,   981,   983,  1253,   902,  1254,  1255,   984,   903,
1747 >     904,   822,   823,   824,   825,   826,   827,   828,   905,   906,
1748 >    1256,   953,   954,   955,   986,   956,   957,   987,  1257,   989,
1749 >     995,   996,   998,   958,  1001,   959,   960,   961,   962,   963,
1750 >     999,   964,  1002,   965,   966,   967,   968,   969,   970,   971,
1751 >     972,   973,   982,   985,   992,   993,   994,  1003,   997,  1004,
1752 >    1006,  1007,  1008,  1000,  1005,  1009,  1010,  1011,  1012,  1013,
1753 >    1014,  1015,  1016,  1017,  1018,  1019,  1020,  1021,  1047,  1022,
1754 >    1023,  1024,  1025,  1060,  1032,  1033,  1034,  1035,  1036,  1037,
1755 >    1038,  1039,  1040,  1041,  1042,  1043,  1044,  1045,  1061,  1046,
1756 >    1062,  1063,  1049,  1048,  1050,  1064,  1065,  1066,  1068,  1274,
1757 >    1290,  1287,  1069,  1077,  1067,   308,  1078,  1079,  1084,  1085,
1758 >    1086,  1087,  1088,  1089,  1090,  1091,  1092,  1093,  1099,  1100,
1759 >    1101,  1301,  1102,  1103,  1302,  1104,  1105,  1303,  1304,  1305,
1760 >    1106,  1306,  1107,  1112,  1113,  1114,  1115,  1116,  1117,  1242,
1761 >     757,  1118,  1119,  1120,  1121,  1122,  1127,  1128,  1141,  1142,
1762 >    1143,  1144,  1145,  1146,  1155,  1147,  1148,   809,   744,  1149,
1763 >    1308,  1158,  1326,  1307,  1156,  1159,  1297,  1160,  1300,  1161,
1764 >    1189,  1190,  1191,  1192,  1217,   736,  1218,  1219,  1220,  1221,
1765 >     725,  1224,  1237,  1275,  1299,  1243,  1238,  1239,  1244,  1245,
1766 >    1246,  1247,  1260,  1276,   763,   494,  1323,   817,   638,  1277,
1767 >     799,  1278,  1298,  1294,  1279,  1280,  1281,  1282,  1310,  1293,
1768 >    1311,  1312,  1309,   659,   729,   397,   452,   321,   567,  1269,
1769 >     665,  1268,     0,     0,   544,     0,     0,     0,     0,     0,
1770         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1771 +       0,     0,   655,     0,   578,     0,     0,     0,     0,     0,
1772         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1773         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1774 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1784 <       0,     0,     0,     0,     0,     0,     0,   665
1774 >       0,     0,     0,     0,   593
1775   };
1776  
1777   static const yytype_int16 yycheck[] =
1778   {
1779 <     641,   642,   319,     1,   321,     8,   323,   324,     1,   235,
1780 <       1,     1,     1,     1,     3,   235,     5,     1,   235,     1,
1781 <       1,    53,     1,     1,     1,   215,     1,     1,    17,   219,
1782 <       1,     1,   215,     1,    25,     1,   219,   235,   112,     1,
1783 <     235,    32,     1,   235,    33,   233,   235,    35,   233,   237,
1784 <      49,     1,   237,   233,   235,   233,   233,   237,     1,   237,
1785 <     237,   233,     1,     1,   235,   237,   235,     6,     7,    58,
1786 <       1,    60,    65,    12,    17,   235,    58,   235,    67,    17,
1787 <     235,    20,    21,    65,    65,    67,    65,    65,    27,    78,
1788 <      33,    30,    31,    81,     1,    33,   128,    36,     1,   235,
1789 <     417,   418,    41,    42,   102,    44,    45,    46,   425,    48,
1790 <      81,   102,   429,   102,   235,    99,   235,   434,    57,   235,
1791 <     437,   235,    61,    62,    67,   102,     1,   102,   102,    67,
1792 <     447,   448,   102,    72,   102,   209,   129,   126,   235,   123,
1793 <     102,   129,   459,    82,   126,   462,   463,     1,   129,    99,
1794 <      89,   235,    91,   235,    93,   129,    95,   146,    97,    98,
1795 <     233,    15,    16,   233,   102,    19,   155,   129,   233,     1,
1796 <     129,   110,   237,   123,   233,   234,   115,   116,   117,   122,
1797 <     119,   120,   121,     1,   122,   124,   176,   130,   131,   236,
1798 <     233,   190,   233,    25,   237,   102,   237,   200,   129,   102,
1799 <     138,   200,   236,   233,   233,   176,    81,   237,   151,   236,
1800 <     176,   150,   201,    67,   236,   233,   233,   155,   156,   237,
1801 <     237,   160,   161,   162,   163,   164,   165,    59,   196,   236,
1802 <      84,    85,    86,    87,    88,   236,    68,   227,    92,   556,
1803 <     229,   234,    96,   234,   234,   234,   234,   224,   102,   224,
1804 <     234,   228,   234,   192,   224,   234,   224,   234,    90,   113,
1805 <     114,   227,    94,   234,   234,   176,   234,     1,   206,   228,
1806 <     102,   125,   234,   105,   106,   234,     1,   216,   217,   218,
1807 <     236,   220,   221,   222,   102,   228,   233,   226,    22,    23,
1808 <     228,   234,   231,   147,    28,   234,   234,   228,     9,    10,
1809 <      11,   176,     1,   233,   236,   137,   233,   237,     1,     1,
1810 <      35,   628,  1100,  1101,  1102,   236,   633,   224,   236,   636,
1811 <     236,   228,   154,   640,   236,   157,   158,   159,   236,    63,
1812 <      64,   234,    25,   187,   236,    69,    70,    29,   236,    32,
1813 <     236,    75,    76,    77,     1,    37,   204,   205,   236,    83,
1814 <      84,   236,   184,   204,   205,   236,    81,    49,    50,    58,
1815 <      17,   112,    54,    55,    56,   236,    65,   236,    67,   201,
1816 <     202,   203,   180,   181,   108,   109,    33,   236,   196,   236,
1817 <     234,   236,   112,   236,   236,   127,   236,    79,     1,     1,
1818 <     236,   236,   236,     6,     7,   236,   236,   229,   230,    12,
1819 <     236,   112,   234,   236,   129,    17,   224,    20,    21,   102,
1820 <      67,   236,   236,   236,    27,   236,   236,    30,    31,   236,
1821 <     236,    33,   236,    36,   236,   236,   236,   126,    41,    42,
1822 <     236,    44,    45,    46,     1,    48,   832,   833,   834,   835,
1823 <     836,   837,   838,   236,    57,   236,   236,   236,    61,    62,
1824 <      40,   236,   236,   236,   236,    67,   236,   236,    25,    72,
1825 <     236,   236,   236,   236,   236,   122,   236,   236,   236,    82,
1826 <     236,   236,   236,   130,   131,   236,    89,   236,    91,   236,
1827 <      93,    71,    95,    73,    97,    98,   112,   236,   236,   236,
1828 <     102,   236,    59,   236,   151,   236,   236,   110,     4,   236,
1829 <     234,    68,   115,   116,   117,   236,   119,   120,   121,   236,
1830 <     122,   124,    18,   139,   140,   141,   142,   143,   144,   145,
1831 <      26,   236,   236,    90,   236,   127,   138,    94,   118,   236,
1832 <     236,   236,   236,   236,    40,   102,   236,   150,   105,   106,
1833 <     236,   236,   234,   155,   156,   135,   236,   160,   161,   162,
1834 <     163,   164,   165,   236,    13,   236,   236,   236,   236,   127,
1835 <     215,   112,   112,   112,     1,    71,     3,    73,     5,   112,
1836 <     137,   228,   112,   112,   215,    34,   215,   233,   236,   192,
1837 <      17,   233,   172,   173,    43,   236,   236,   154,   236,   236,
1838 <     157,   158,   159,    99,   206,   127,    33,   215,   236,  1240,
1839 <     236,   236,   236,   216,   217,   218,   236,   220,   221,   222,
1840 <     233,   236,   236,   226,   236,    74,   228,   184,   231,   236,
1841 <     236,    58,   236,    60,   215,   236,   132,   236,   134,   236,
1842 <      67,   236,   236,   236,   201,   202,   203,   236,   228,   236,
1843 <     236,    78,   232,   236,   103,   104,   233,   153,   236,    73,
1844 <     236,   236,   111,   236,   236,   236,     0,     1,   236,   112,
1845 <       4,   215,   229,   230,   112,   102,   127,   173,   215,   215,
1846 <      14,   112,   178,    17,    18,   236,   182,   136,   112,   112,
1847 <      24,   215,     1,   189,   215,   215,   112,   112,   194,   126,
1848 <     112,    35,   112,   152,    38,    39,    15,    16,   112,   112,
1849 <      19,   215,   208,   215,   215,   211,   215,   213,   236,   146,
1850 <     215,   135,   215,   215,   215,   215,   127,   112,   155,   225,
1851 <     215,   215,    66,   215,   215,   233,   232,    71,   127,   233,
1852 <     127,   127,   112,   127,   233,   215,    80,    49,   236,    51,
1853 <      52,   215,   166,   236,   215,   233,   236,   236,    67,   173,
1854 <     236,   236,   236,   236,   236,   214,   100,   101,   182,   236,
1855 <     236,   236,     1,   233,   201,    84,    85,    86,    87,    88,
1856 <     236,   236,   236,    92,   118,   233,   236,    96,   233,    49,
1857 <     236,    51,    52,   102,   208,   236,   210,   211,   233,   236,
1858 <      29,   135,   229,   236,   113,   114,   236,   236,    37,   215,
1859 <     236,   225,   127,   215,   148,   149,   125,   236,   232,   236,
1860 <      49,    50,   215,    49,   215,    54,    55,    56,   112,   127,
1861 <     127,    73,   127,   127,   127,   127,   170,   127,   147,   127,
1862 <     112,   127,   127,   233,   127,   233,   215,   127,   112,   183,
1863 <      79,   233,   127,   236,   235,   233,   233,   191,   233,   112,
1864 <     236,   195,   236,   236,   112,   167,   168,   169,   233,   171,
1865 <     172,   233,   174,   175,   233,   177,   233,   179,   187,   233,
1866 <     182,   233,   233,   185,   186,   233,   188,   233,   233,   233,
1867 <     233,   193,   233,   135,   233,   197,   198,   199,   233,   112,
1868 <     233,   112,   112,   112,   112,   207,   112,   167,   168,   169,
1869 <     212,   171,   172,   112,   174,   175,   233,   177,   236,   179,
1870 <     127,   112,   182,   127,   166,   185,   186,   127,   188,   127,
1871 <     127,   173,   127,   193,   215,   127,     1,   197,   198,   199,
1872 <     182,   167,   168,   169,   127,   171,   172,   207,   174,   175,
1873 <     127,   177,   212,   179,   127,   233,   182,    22,    23,   185,
1874 <     186,   127,   188,    28,   127,   233,   208,   193,   210,   211,
1875 <     233,   197,   198,   199,   127,   127,   233,   233,   233,   233,
1876 <     127,   207,   233,   225,   233,   127,   212,   233,   233,   233,
1877 <     232,   112,   233,   233,   233,   233,   233,   233,    63,    64,
1878 <     233,   233,   233,   233,    69,    70,   233,   127,   233,   233,
1879 <      75,    76,    77,   233,   233,   233,   233,   233,    83,    84,
1880 <     127,   233,   236,   127,   127,   215,   127,   127,   233,   127,
1881 <     233,   233,   233,   112,   127,   127,   127,   233,   127,   233,
1882 <     233,   127,   127,   108,   109,   233,   233,   233,   233,   233,
1883 <     127,   233,   233,   233,   233,   233,   215,   233,   233,   233,
1884 <     215,   233,   233,   233,   233,   233,   127,   127,   233,   236,
1885 <     127,   233,   233,   233,   127,   127,   127,   233,   236,   236,
1886 <     127,  1054,   233,   233,   233,   233,   112,   233,   233,   233,
1887 <     233,    74,   233,   233,   233,   233,   233,   233,   233,   233,
1888 <     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
1889 <     127,   233,  1065,   236,   233,   233,  1052,   233,   233,   236,
1890 <     233,   233,   233,   233,   233,   233,   133,   233,   233,   133,
1891 <     133,   233,  1316,   513,   233,  1278,   233,   233,   233,   233,
1892 <    1280,  1259,  1270,   233,   298,   233,   233,   500,  1162,   233,
1893 <     233,   233,   233,   233,   477,   233,   528,   233,   233,   233,
1894 <     233,   233,   233,   233,   233,   233,   233,   233,  1268,   233,
1895 <     233,   233,   600,   544,   233,   233,  1289,   233,   233,   233,
1896 <     223,  1282,  1264,   233,   233,   349,   584,   233,   233,   237,
1897 <     490,   233,   233,   233,   233,   233,   233,   233,   233,   233,
1898 <     233,   233,   233,   233,   115,   170,   233,   236,   236,   233,
1899 <     233,  1130,   228,   238,   233,    94,   238,   238,   236,   233,
1900 <     233,   233,  1132,   412,    -1,    -1,    -1,    -1,    -1,    -1,
1901 <     274,    -1,    -1,   244,    -1,    -1,    -1,    -1,    -1,    -1,
1912 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1913 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1914 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   383,
1915 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1916 <      -1,    -1,    -1,    -1,    -1,   305,    -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,    -1,    -1,    -1,    -1,    -1,
1779 >     635,   636,   310,     1,     1,   313,   314,     1,   316,   317,
1780 >     236,     1,     8,     1,   113,     1,     1,   236,     1,   215,
1781 >     236,    48,   236,   219,     1,     1,    52,     1,   236,     1,
1782 >     215,     1,     1,   234,   219,   234,     1,   238,     1,   238,
1783 >      30,   236,     1,   234,   235,     1,   234,     1,    38,   236,
1784 >     238,     1,     1,   234,    28,     1,    30,   238,     1,   236,
1785 >       6,     7,    56,     9,    10,     1,    64,    30,    14,   236,
1786 >      64,   236,    66,     1,   236,    38,   236,     1,    24,    25,
1787 >       1,   234,   236,    57,   236,   238,    32,    64,    64,    35,
1788 >      36,    37,     1,    67,    64,    83,    42,   236,   406,    20,
1789 >     408,   409,   128,   182,   183,    79,    80,    81,   105,   236,
1790 >     209,   419,   236,    59,    60,   105,   424,    91,    39,   105,
1791 >     105,    95,   105,   236,    70,   433,   434,    73,    74,    83,
1792 >     236,   105,   126,   105,   108,   109,   105,   445,    84,   447,
1793 >     448,     1,   105,   102,    90,    66,    92,     1,    94,   105,
1794 >      96,     1,   129,    99,   100,   105,   236,   129,   234,   129,
1795 >     129,   236,   238,   137,   123,   111,    20,   194,   236,   105,
1796 >     116,   117,     1,   119,   120,   121,   203,   105,   124,   153,
1797 >     129,    41,   156,   157,   158,    39,   234,     1,   234,     3,
1798 >     178,     5,   238,   237,   237,   234,   105,    26,    27,   238,
1799 >     237,   122,   199,   149,    33,   129,    20,   203,   237,   130,
1800 >     131,   234,    66,   178,   160,   161,   162,   163,   164,   165,
1801 >     166,     1,   237,    83,   178,    39,   223,   234,   536,   150,
1802 >     204,   238,    61,    62,    63,   178,    17,   223,    18,    19,
1803 >     226,   235,    56,    23,    58,   235,    75,    76,    77,   235,
1804 >     235,   105,    66,   227,   228,   105,    85,    86,   235,   235,
1805 >     225,   235,   171,   199,    78,   127,   235,   223,   122,   129,
1806 >     216,   217,   218,   223,   220,   221,   235,   226,   178,   235,
1807 >     189,   235,   225,   229,   237,   231,    66,   223,     1,   235,
1808 >     237,   105,   235,   234,     1,   223,   205,   238,   226,   235,
1809 >     154,   155,   226,   237,   237,   226,    86,    87,    88,    89,
1810 >       1,   235,   126,    93,   235,   623,    97,   237,    98,   627,
1811 >     101,   171,   630,   237,   237,   105,   634,    34,    69,   234,
1812 >      71,   145,   234,   238,   114,   115,    43,    44,    45,   189,
1813 >     154,    48,    49,   237,     1,   125,    53,    54,    55,   237,
1814 >      41,   237,   206,     1,   237,   205,    11,    12,    13,   237,
1815 >     234,   237,   237,    20,   238,   237,   146,  1094,  1095,  1096,
1816 >     237,   237,   226,   237,   237,   235,   230,   118,   159,   237,
1817 >     237,   235,    39,   127,   237,   235,   237,   234,   237,   102,
1818 >     204,     1,    83,   237,   135,   237,     6,     7,   237,     9,
1819 >      10,   237,   237,   237,    14,   237,   235,   237,    56,    66,
1820 >     123,   191,   237,   227,    24,    25,    64,   237,    66,   237,
1821 >     237,   235,    32,   127,   237,    35,    36,    37,   237,     4,
1822 >     237,   237,    42,   174,   175,   237,   237,   237,   129,     1,
1823 >     237,   237,   237,   237,   237,   237,    21,    22,   105,    59,
1824 >      60,   237,   237,   237,   237,   235,    31,   234,   113,   237,
1825 >      70,   237,   237,    73,    74,   122,    28,   237,    30,   237,
1826 >     237,   237,   237,   237,    84,   237,   237,   237,   126,   237,
1827 >      90,   237,    92,   237,    94,   226,    96,   237,   237,    99,
1828 >     100,   232,   237,    68,    69,    57,    71,   154,   155,   237,
1829 >     237,   111,   237,   237,   237,    67,   116,   117,   237,   119,
1830 >     120,   121,   237,   237,   124,   237,   237,    79,    80,    81,
1831 >     237,   237,   237,     1,   113,   237,   237,   102,   235,    91,
1832 >     113,   215,   113,    95,   113,   110,   113,   113,   234,   149,
1833 >     234,   127,    20,   105,   237,   237,   108,   109,   237,   206,
1834 >     160,   161,   162,   163,   164,   165,   166,   132,   237,   134,
1835 >     135,    39,   237,   237,   237,   237,   237,    15,   237,   226,
1836 >     237,   237,   237,   230,     1,   137,     3,   152,     5,   822,
1837 >     823,   824,   825,   826,   827,   828,   237,   237,    66,   234,
1838 >     237,   153,    40,    20,   156,   157,   158,   237,   237,   237,
1839 >     175,   237,   237,   237,  1239,   180,   216,   217,   218,   184,
1840 >     220,   221,    39,   188,   237,   237,   237,    71,   193,   229,
1841 >     237,   231,   197,   237,    72,   237,   237,   234,   237,    56,
1842 >     215,    58,   237,   208,   237,   210,   211,   113,   213,    66,
1843 >     113,   215,   204,   215,   122,   113,   113,   113,   215,   224,
1844 >     215,    78,   130,   131,   215,   113,   113,   232,   106,   107,
1845 >     113,   113,   113,   113,   112,   227,   228,   113,   113,     0,
1846 >       1,   215,   150,     4,   237,   215,   215,   237,   105,   215,
1847 >     215,   135,   215,   215,   215,    16,   215,   113,   136,    20,
1848 >     215,    22,   215,   113,   237,   237,   234,   234,    29,   126,
1849 >     234,   215,   127,   151,   127,   215,     1,   237,   127,   237,
1850 >      41,   237,   234,   167,   127,    46,    47,   237,   145,   237,
1851 >     237,   175,   237,    18,    19,   237,   237,   154,    23,   237,
1852 >     184,   234,   237,   237,    65,   234,   237,   237,    69,   237,
1853 >      48,   237,    50,    51,   237,   237,   237,   237,   226,   234,
1854 >     237,    82,   215,   237,   208,   237,   210,   211,   113,   215,
1855 >     215,   127,   234,     1,   127,   127,   214,   237,   215,   127,
1856 >     224,    66,   103,   104,   215,   113,   113,   204,   232,   127,
1857 >      48,   127,    50,    51,   127,   233,   127,   118,    26,    27,
1858 >     234,    86,    87,    88,    89,    33,   234,   127,    93,   127,
1859 >     227,   127,   127,    98,   135,   127,   127,   127,   237,   215,
1860 >     105,   127,   234,   237,   113,   236,   147,   148,   234,   114,
1861 >     115,    48,   237,    61,    62,    63,   237,   237,   237,   234,
1862 >     125,   234,   234,   237,   234,   234,   234,    75,    76,    77,
1863 >     234,   172,   234,   234,   234,   234,   234,    85,    86,   234,
1864 >     234,   146,   234,   234,   185,   113,   113,    71,   237,   190,
1865 >     168,   169,   170,   113,   195,   173,   174,   198,   176,   177,
1866 >     113,   179,   113,   181,   127,   234,   184,   113,   186,   187,
1867 >     113,   113,   127,   127,   192,   127,   215,   127,   196,   113,
1868 >     237,   215,   200,   201,   202,   234,   191,   127,   127,   207,
1869 >     168,   169,   170,   237,   212,   173,   174,   127,   176,   177,
1870 >     127,   179,   127,   181,   127,   127,   184,   127,   186,   187,
1871 >     234,   135,   234,   127,   192,   127,   113,   234,   196,   234,
1872 >     234,   234,   200,   201,   202,     1,   234,   234,   234,   207,
1873 >     234,   168,   169,   170,   212,   234,   173,   174,   234,   176,
1874 >     177,   234,   179,   167,   181,   234,   234,   184,   234,   186,
1875 >     187,   175,   234,   234,   234,   192,   127,   234,    34,   196,
1876 >     184,   234,   234,   200,   201,   202,   113,    43,    44,    45,
1877 >     207,   127,    48,    49,   127,   212,   234,    53,    54,    55,
1878 >     237,   127,   127,   127,   208,   234,   210,   211,   127,   234,
1879 >     234,   138,   139,   140,   141,   142,   143,   144,   234,   234,
1880 >     224,   234,   234,   234,   127,   234,   234,   127,   232,   113,
1881 >     127,   127,   127,   234,   127,   234,   234,   234,   234,   234,
1882 >     215,   234,   127,   234,   234,   234,   234,   234,   234,   234,
1883 >     234,   234,   234,   234,   234,   234,   234,   127,   234,   215,
1884 >     127,   127,   234,   237,   237,   127,   127,   127,   234,   234,
1885 >     234,   234,   234,   234,   234,   234,   234,   234,   127,   234,
1886 >     234,   234,   234,   127,   234,   234,   234,   234,   234,   234,
1887 >     234,   234,   234,   234,   234,   234,   234,   234,   127,   234,
1888 >     127,   127,   234,   237,   234,   234,   234,   127,   127,   113,
1889 >     127,  1223,   234,   234,   237,    77,   234,   234,   234,   234,
1890 >     234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1891 >     234,   133,   234,   234,   135,   234,   234,   133,   135,   133,
1892 >     234,   133,   234,   234,   234,   234,   234,   234,   234,  1055,
1893 >     513,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1894 >     234,   234,   234,   234,   222,   234,   234,   585,   498,   234,
1895 >    1286,   234,  1325,  1284,   238,   234,  1262,   234,  1273,   234,
1896 >     234,   234,   234,   234,   234,   485,   234,   234,   234,   234,
1897 >     462,   234,   234,  1156,  1271,   234,   237,   237,   234,   234,
1898 >     234,   234,   234,   234,   529,   217,  1296,   598,   339,   239,
1899 >     571,   239,  1267,   234,   239,   239,   239,   239,   234,   237,
1900 >     234,   234,  1289,   391,   475,   112,   163,    94,   266,  1126,
1901 >     401,  1124,    -1,    -1,   234,    -1,    -1,    -1,    -1,    -1,
1902        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1903 +      -1,    -1,   372,    -1,   291,    -1,    -1,    -1,    -1,    -1,
1904        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1905        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1906 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1924 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1925 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1926 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,   402
1906 >      -1,    -1,    -1,    -1,   299
1907   };
1908  
1909    /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1910       symbol of state STATE-NUM.  */
1911   static const yytype_uint16 yystos[] =
1912   {
1913 <       0,   240,     0,     1,     4,    14,    17,    18,    24,    35,
1914 <      38,    39,    66,    71,    80,   100,   101,   118,   135,   148,
1915 <     149,   170,   183,   191,   195,   241,   246,   251,   277,   283,
1916 <     289,   303,   323,   347,   361,   376,   383,   387,   397,   406,
1917 <     427,   433,   439,   443,   449,   508,   525,   233,   234,   235,
1918 <     235,   324,   407,   434,   235,   444,   235,   362,   428,   348,
1919 <     235,   284,   304,   377,   235,   235,   398,   235,   235,   388,
1920 <       1,    25,    32,   102,   278,   279,   280,   281,   282,     1,
1921 <      22,    23,    28,    63,    64,    69,    70,    75,    76,    77,
1922 <      83,    84,   108,   109,   509,   510,   511,   512,   513,   514,
1923 <     515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
1924 <     235,   235,   235,     1,    65,   440,   441,   442,   235,     1,
1925 <       6,     7,    12,    20,    21,    27,    30,    31,    36,    41,
1926 <      42,    44,    45,    46,    48,    57,    61,    62,    72,    82,
1927 <      89,    91,    93,    95,    97,    98,   110,   115,   116,   117,
1928 <     119,   120,   121,   124,   150,   160,   161,   162,   163,   164,
1929 <     165,   192,   216,   217,   218,   220,   221,   222,   226,   231,
1930 <     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
1931 <     460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
1932 <     470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
1933 <     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
1934 <     490,   491,   492,   493,   494,   495,   496,   497,   501,   505,
1935 <     506,   507,   235,   235,   235,     1,    99,   123,   247,   248,
1936 <     249,   250,   235,   235,   235,     1,    29,    37,    49,    50,
1937 <      54,    55,    56,    79,   526,   527,   528,   529,   530,   531,
1938 <     532,   533,   534,   535,     1,    25,    59,    68,    90,    94,
1939 <     102,   105,   106,   137,   154,   157,   158,   159,   184,   201,
1940 <     202,   203,   229,   230,   252,   253,   254,   255,   260,   261,
1941 <     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
1942 <     272,   273,   274,   275,   276,   235,     1,   227,   290,   291,
1943 <     292,   293,   294,     1,   102,   384,   385,   386,   235,   233,
1944 <     236,   236,   236,   234,   279,   236,   236,   236,   236,   236,
1945 <     236,   236,   236,   236,   236,   236,   236,   236,   236,   234,
1946 <     510,     1,    15,    16,    19,    67,    84,    85,    86,    87,
1947 <      88,    92,    96,   102,   113,   114,   125,   147,   187,   325,
1948 <     326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
1949 <     336,   337,   338,   339,   340,   341,   342,   343,     1,     3,
1950 <       5,    17,    33,    58,    60,    67,    78,   102,   126,   146,
1951 <     155,   201,   229,   408,   409,   410,   411,   412,   413,   414,
1952 <     415,   416,   417,   418,   422,   423,   424,   425,   426,     1,
1953 <      65,   129,   435,   436,   437,   438,   236,   234,   441,     1,
1954 <     102,   129,   445,   446,   447,   448,   236,   236,   236,   236,
1955 <     236,   236,   236,   236,   236,   236,   236,   236,   236,   236,
1956 <     236,   236,   236,   236,   236,   236,   236,   236,   236,   236,
1957 <     236,   236,   236,   502,   236,   498,   236,   236,   236,   236,
1958 <     236,   236,   236,   236,   236,   236,   236,   236,   236,   236,
1959 <     236,   236,   236,   236,   236,   236,   234,   451,     1,    17,
1960 <      33,    67,   122,   130,   131,   151,   228,   363,   364,   365,
1961 <     366,   367,   368,   369,   373,   374,   375,     1,   129,   228,
1962 <     429,   430,   431,   432,     1,    58,    65,    67,   126,   349,
1963 <     353,   354,   355,   359,   360,   233,   236,   236,   234,   248,
1964 <       1,    81,   176,   285,   286,   287,   288,     1,    17,    33,
1965 <      67,   102,   122,   138,   155,   156,   206,   228,   305,   306,
1966 <     307,   308,   309,   310,   311,   312,   313,   314,   315,   319,
1967 <       1,    35,    81,   129,   378,   379,   380,   381,   382,   236,
1968 <     236,   236,   236,   236,   236,   236,   236,   234,   527,   233,
1969 <     236,   236,   236,   236,   236,   236,   236,   236,   236,   236,
1970 <     236,   236,   236,   236,   236,   236,   236,   236,   236,   234,
1971 <     253,     1,   102,   224,   399,   400,   401,   402,   233,   236,
1972 <     234,   291,   176,   236,   234,   385,     1,   102,   224,   228,
1973 <     389,   390,   391,   392,   393,   127,   127,   127,   233,   112,
1974 <     112,   215,   112,   112,   243,   112,   243,   112,   243,   243,
1975 <     112,   112,   215,   215,   233,   233,   236,   236,   236,   344,
1976 <     236,   236,   236,   236,   236,   236,   236,   236,   236,   236,
1977 <     236,   236,   236,   234,   326,   233,   236,   236,   236,   236,
1978 <     236,   236,   419,   236,   236,   236,   236,   236,   236,   236,
1979 <     234,   409,   236,   236,   234,   436,   127,   233,   236,   236,
1980 <     234,   446,   215,   243,   243,   215,   112,   215,   112,   127,
1981 <     215,   243,   215,   112,   112,   243,   112,   215,   215,   215,
1982 <     243,   112,   112,   243,   112,   112,   112,   112,   215,   236,
1983 <     215,   236,   215,   243,   243,   215,   215,   215,   215,   219,
1984 <     215,   219,   215,   215,   215,   127,   112,   243,   215,   215,
1985 <     243,   243,   215,   215,   233,   233,   236,   236,   370,   236,
1986 <     236,   236,   236,   236,   234,   364,   236,   236,   234,   430,
1987 <     233,   236,   236,   350,   236,   234,   354,   127,   127,   233,
1988 <     233,   236,   236,   234,   286,   233,   236,   236,   320,   236,
1989 <     236,   236,   236,   236,   316,   236,   234,   306,   233,   236,
1990 <     236,   236,   234,   379,   215,   215,   215,   127,   215,   215,
1991 <     215,   243,   233,   127,   215,   127,   112,   112,   127,   127,
1992 <     127,   127,   127,   127,   127,   127,   112,   127,   204,   205,
1993 <     256,   257,   204,   205,   258,   259,   127,   127,   233,   233,
1994 <     236,   403,   234,   400,   215,   233,   235,   127,   233,   233,
1995 <     236,   394,   236,   234,   390,   233,   233,   233,   233,   233,
1996 <     233,   233,   139,   140,   141,   142,   143,   144,   145,   242,
1997 <     243,   233,   233,   233,   233,   233,   233,   233,   233,   233,
1998 <     233,   112,   112,   243,   236,   112,   112,   112,   243,   112,
1999 <     112,   243,   127,   112,   112,   243,   112,   245,   245,   233,
2000 <     127,   180,   181,   127,   215,   127,   127,   236,   127,   127,
2001 <     112,   127,   127,   127,   127,   233,   127,   127,   233,   233,
2002 <     127,   127,   233,   233,   233,   233,   233,   233,   233,   233,
2003 <     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
2004 <     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
2005 <      49,   167,   168,   169,   171,   172,   174,   175,   177,   179,
2006 <     182,   185,   186,   188,   193,   197,   198,   199,   207,   212,
2007 <     503,   504,   233,    49,    51,    52,   167,   168,   169,   171,
2008 <     172,   174,   175,   177,   179,   182,   185,   186,   188,   193,
2009 <     197,   198,   199,   207,   212,   499,   500,   233,   233,   233,
2010 <     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
2011 <     233,   233,   233,   233,   233,   233,   233,   233,   233,   127,
2012 <     215,   236,   127,   112,   127,   127,   127,   233,   127,   127,
2013 <     233,   127,   127,   236,   112,   357,   358,   233,   233,   233,
2014 <     127,   127,   233,   127,   215,   236,   127,   127,   127,   127,
2015 <     215,   236,   127,   233,   127,   127,   127,   233,   233,   233,
2016 <     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
2017 <     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
2018 <     233,   233,   237,   233,   237,   233,   233,   127,   236,   233,
2019 <     233,     1,   102,   196,   224,   295,   296,   297,   298,   299,
2020 <     233,   127,   236,   127,   233,   242,   242,   242,   242,   242,
2021 <     242,   242,   233,   233,   233,    53,   128,   345,   346,   233,
2022 <     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
2023 <       9,    10,    11,   244,   245,   233,   233,   233,   233,   233,
2024 <     233,   233,   233,   233,     8,   200,   420,   421,   233,   233,
2025 <     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
2026 <     237,   233,   237,   233,   233,    13,    34,    43,    74,   103,
2027 <     104,   111,   136,   152,   214,   371,   372,   233,   233,   233,
2028 <     233,   233,   233,   233,   233,   233,    49,   190,   200,   351,
2029 <     352,   223,   237,   356,   233,   233,   233,   233,     4,    18,
2030 <      26,    40,    71,    73,    99,   132,   134,   153,   173,   178,
2031 <     182,   189,   194,   208,   211,   213,   225,   232,   321,   322,
2032 <     233,   233,   233,   233,   233,    49,    51,    52,   167,   168,
2033 <     169,   171,   172,   174,   175,   177,   179,   182,   185,   186,
2034 <     188,   193,   197,   198,   199,   207,   212,   317,   318,   233,
2035 <     233,   233,   233,   257,   259,   233,    73,   135,   166,   173,
2036 <     182,   208,   210,   211,   225,   232,   404,   405,   233,   236,
2037 <     236,   300,   234,   296,   233,    73,   135,   166,   173,   182,
2038 <     208,   210,   211,   225,   232,   395,   396,   233,   233,   237,
2039 <     244,   244,   244,   233,   237,   504,   500,   233,   237,   233,
2040 <     237,   112,   358,   233,   238,   238,   238,   233,   237,   233,
2041 <     237,   233,   237,   127,   209,   245,   236,   233,   233,   237,
2042 <     346,   421,   372,   352,   133,   133,   133,   322,   318,   405,
2043 <     233,   233,   233,    40,    71,    73,   118,   135,   172,   173,
2044 <     228,   232,   301,   302,   396,   233,   237,   302
1913 >       0,   241,     0,     1,     4,    16,    20,    22,    29,    41,
1914 >      46,    47,    65,    69,    82,   103,   104,   118,   135,   147,
1915 >     148,   172,   185,   190,   195,   198,   242,   247,   252,   278,
1916 >     284,   290,   298,   312,   332,   355,   369,   384,   391,   395,
1917 >     405,   414,   435,   441,   447,   451,   457,   512,   526,   234,
1918 >     235,   236,   236,   333,   415,   442,   236,   452,   236,   370,
1919 >     436,   356,   236,   285,   313,   385,   236,   236,   406,   236,
1920 >     291,   236,   396,     1,    30,    38,   105,   279,   280,   281,
1921 >     282,   283,     1,    26,    27,    33,    61,    62,    63,    75,
1922 >      76,    77,    85,    86,   513,   514,   515,   516,   517,   518,
1923 >     519,   520,   521,   522,   523,   524,   525,   236,   236,   236,
1924 >       1,    64,   448,   449,   450,   236,     1,     6,     7,     9,
1925 >      10,    14,    24,    25,    32,    35,    36,    37,    42,    59,
1926 >      60,    70,    73,    74,    84,    90,    92,    94,    96,    99,
1927 >     100,   111,   116,   117,   119,   120,   121,   124,   149,   160,
1928 >     161,   162,   163,   164,   165,   166,   216,   217,   218,   220,
1929 >     221,   229,   231,   458,   459,   460,   461,   462,   463,   464,
1930 >     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1931 >     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1932 >     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1933 >     495,   496,   497,   498,   499,   500,   501,   505,   509,   510,
1934 >     511,   236,   236,   236,     1,   102,   123,   248,   249,   250,
1935 >     251,   236,   236,   236,     1,    34,    43,    44,    45,    48,
1936 >      49,    53,    54,    55,   527,   528,   529,   530,   531,   532,
1937 >     533,   534,   535,   536,   537,     1,    28,    30,    57,    67,
1938 >      79,    80,    81,    91,    95,   105,   108,   109,   137,   153,
1939 >     156,   157,   158,   204,   227,   228,   253,   254,   255,   256,
1940 >     257,   258,   259,   260,   261,   265,   266,   267,   268,   269,
1941 >     270,   271,   272,   273,   274,   275,   276,   277,   236,     1,
1942 >     225,   299,   300,   301,   302,   303,   236,     1,   105,   392,
1943 >     393,   394,   236,   234,   237,   237,   237,   235,   280,   237,
1944 >     237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
1945 >     235,   514,     1,    18,    19,    23,    66,    86,    87,    88,
1946 >      89,    93,    98,   105,   114,   115,   125,   146,   191,   334,
1947 >     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1948 >     345,   346,   347,   348,   349,   350,   351,     1,     3,     5,
1949 >      20,    39,    56,    58,    66,    78,   105,   126,   145,   154,
1950 >     204,   227,   416,   417,   418,   419,   420,   421,   422,   423,
1951 >     424,   425,   426,   430,   431,   432,   433,   434,     1,    64,
1952 >     129,   443,   444,   445,   446,   237,   235,   449,     1,   105,
1953 >     129,   453,   454,   455,   456,   237,   237,   237,   237,   237,
1954 >     237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
1955 >     237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
1956 >     506,   502,   237,   237,   237,   237,   237,   237,   237,   237,
1957 >     237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
1958 >     237,   235,   459,     1,    20,    39,    66,   122,   130,   131,
1959 >     150,   226,   371,   372,   373,   374,   375,   376,   377,   381,
1960 >     382,   383,     1,   129,   226,   437,   438,   439,   440,     1,
1961 >      56,    64,    66,   126,   357,   361,   362,   363,   367,   368,
1962 >     234,   237,   237,   235,   249,     1,    83,   178,   286,   287,
1963 >     288,   289,     1,    20,    39,    66,   105,   122,   154,   155,
1964 >     206,   226,   230,   314,   315,   316,   317,   318,   319,   320,
1965 >     321,   322,   323,   324,   328,     1,    41,    83,   129,   386,
1966 >     387,   388,   389,   390,   237,   237,   237,   237,   237,   237,
1967 >     237,   237,   237,   235,   528,   234,   237,   237,   237,   237,
1968 >     262,   237,   237,   237,   237,   237,   237,   237,   237,   237,
1969 >     237,   237,   237,   237,   237,   237,   235,   254,     1,   105,
1970 >     223,   407,   408,   409,   410,   234,   237,   235,   300,   178,
1971 >       1,   105,   171,   189,   205,   292,   293,   294,   295,   296,
1972 >     297,   237,   235,   393,     1,   105,   223,   226,   397,   398,
1973 >     399,   400,   401,   127,   127,   127,   234,   113,   113,   244,
1974 >     215,   113,   244,   244,   113,   244,   244,   113,   113,   234,
1975 >     234,   237,   237,   237,   352,   237,   237,   237,   237,   237,
1976 >     237,   237,   237,   237,   237,   237,   237,   235,   335,   234,
1977 >     237,   237,   237,   237,   237,   237,   427,   237,   237,   237,
1978 >     237,   237,   237,   237,   235,   417,   237,   237,   235,   444,
1979 >     127,   234,   237,   237,   235,   454,   215,   244,   113,   244,
1980 >     244,   215,   113,   215,   113,   113,   113,   215,   215,   215,
1981 >     244,   113,   113,   113,   113,   244,   113,   113,   113,   113,
1982 >     215,   237,   237,   215,   244,   244,   215,   215,   215,   215,
1983 >     219,   215,   219,   215,   215,   215,   215,   113,   244,   215,
1984 >     244,   244,   215,   113,   234,   234,   237,   237,   378,   237,
1985 >     237,   237,   237,   237,   235,   372,   237,   237,   235,   438,
1986 >     234,   237,   237,   358,   237,   235,   362,   127,   127,   234,
1987 >     234,   237,   237,   235,   287,   234,   237,   237,   329,   237,
1988 >     237,   237,   237,   325,   237,   237,   235,   315,   234,   237,
1989 >     237,   237,   235,   387,   215,   215,   244,   127,   215,   127,
1990 >     215,   215,   215,   234,   113,   127,   215,   127,   237,   127,
1991 >     127,   113,   113,   127,   127,   127,   127,   127,   127,   127,
1992 >     127,   127,   127,   127,   234,   234,   237,   411,   235,   408,
1993 >     215,   234,   236,   234,   237,   237,   237,   237,   235,   293,
1994 >     127,   234,   234,   237,   402,   237,   235,   398,   234,   234,
1995 >     234,   234,   138,   139,   140,   141,   142,   143,   144,   243,
1996 >     244,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1997 >     234,   113,   113,   244,   237,   113,   113,   244,   113,   113,
1998 >     244,   127,   113,   113,   244,   113,   246,   246,   234,   127,
1999 >     182,   183,   127,   215,   127,   127,   237,   127,   127,   113,
2000 >     127,   127,   127,   127,   234,   127,   127,   234,   234,   127,
2001 >     127,   234,   234,   234,   234,   234,   234,   234,   234,   234,
2002 >     234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
2003 >     234,   234,   234,   234,   234,   234,   234,    48,   168,   169,
2004 >     170,   173,   174,   176,   177,   179,   181,   184,   186,   187,
2005 >     192,   196,   200,   201,   202,   207,   212,   507,   508,    48,
2006 >      50,    51,   168,   169,   170,   173,   174,   176,   177,   179,
2007 >     181,   184,   186,   187,   192,   196,   200,   201,   202,   207,
2008 >     212,   503,   504,   234,   234,   234,   234,   234,   234,   234,
2009 >     234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
2010 >     234,   234,   234,   234,   127,   215,   237,   127,   113,   127,
2011 >     127,   127,   234,   127,   127,   234,   127,   127,   237,   113,
2012 >     365,   366,   234,   234,   234,   127,   127,   234,   127,   215,
2013 >     237,   127,   127,   127,   215,   237,   127,   127,   234,   127,
2014 >     127,   127,   234,   234,   234,   234,   234,   234,   234,   234,
2015 >     234,   234,   234,   234,   234,   234,    17,    97,   101,   159,
2016 >     263,   264,   234,   234,   234,   234,   234,   234,   234,   234,
2017 >     234,   234,   234,   234,   234,   234,   234,   127,   237,   234,
2018 >     234,     1,   105,   199,   223,   304,   305,   306,   307,   308,
2019 >     127,   127,   127,   127,   234,   234,   127,   237,   127,   234,
2020 >     243,   243,   243,   243,   243,   243,   243,   234,   234,   234,
2021 >      52,   128,   353,   354,   234,   234,   234,   234,   234,   234,
2022 >     234,   234,   234,   234,    11,    12,    13,   245,   246,   234,
2023 >     234,   234,   234,   234,   234,   234,   234,   234,     8,   203,
2024 >     428,   429,   234,   234,   234,   234,   234,   234,   234,   234,
2025 >     234,   234,   234,   234,   238,   234,   238,   234,   234,    15,
2026 >      40,    72,   106,   107,   112,   136,   151,   214,   233,   379,
2027 >     380,   234,   234,   234,   234,   234,   234,   234,   234,   234,
2028 >      48,   194,   203,   359,   360,   222,   238,   364,   234,   234,
2029 >     234,   234,     4,    21,    22,    31,    68,    69,    71,   102,
2030 >     110,   132,   134,   135,   152,   175,   180,   184,   188,   193,
2031 >     197,   208,   210,   211,   213,   224,   232,   330,   331,   234,
2032 >     234,   234,   234,    48,    50,    51,   168,   169,   170,   173,
2033 >     174,   176,   177,   179,   181,   184,   186,   187,   192,   196,
2034 >     200,   201,   202,   207,   212,   326,   327,   234,   234,   234,
2035 >     234,   234,   234,   238,   234,    71,   135,   167,   175,   184,
2036 >     208,   210,   211,   224,   232,   412,   413,   234,   237,   237,
2037 >     309,   235,   305,   234,   234,   234,   234,   234,    71,   135,
2038 >     167,   175,   184,   208,   210,   211,   224,   232,   403,   404,
2039 >     234,   234,   238,   245,   245,   245,   234,   238,   508,   504,
2040 >     234,   238,   234,   238,   113,   366,   234,   239,   239,   239,
2041 >     239,   239,   239,   234,   238,   234,   238,   264,   234,   238,
2042 >     127,   209,   246,   237,   234,   234,   238,   354,   429,   380,
2043 >     360,   133,   135,   133,   135,   133,   133,   331,   327,   413,
2044 >     234,   234,   234,    69,    71,   118,   135,   174,   175,   226,
2045 >     232,   310,   311,   404,   234,   238,   311
2046   };
2047  
2048    /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
2049   static const yytype_uint16 yyr1[] =
2050   {
2051 <       0,   239,   240,   240,   241,   241,   241,   241,   241,   241,
2052 <     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2053 <     241,   241,   241,   241,   241,   241,   241,   242,   242,   243,
2054 <     243,   243,   243,   243,   243,   243,   243,   244,   244,   245,
2055 <     245,   245,   245,   246,   247,   247,   248,   248,   248,   249,
2056 <     250,   251,   252,   252,   253,   253,   253,   253,   253,   253,
2057 <     253,   253,   253,   253,   253,   253,   253,   253,   253,   253,
2058 <     253,   253,   253,   253,   254,   255,   256,   256,   257,   257,
2059 <     258,   258,   259,   259,   260,   261,   262,   263,   264,   265,
2060 <     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
2061 <     276,   277,   278,   278,   279,   279,   279,   279,   280,   281,
2062 <     282,   284,   283,   285,   285,   286,   286,   286,   287,   288,
2063 <     289,   290,   290,   291,   291,   291,   292,   294,   293,   295,
2064 <     295,   296,   296,   296,   296,   297,   298,   298,   300,   299,
2065 <     301,   301,   302,   302,   302,   302,   302,   302,   302,   302,
2066 <     302,   304,   303,   305,   305,   306,   306,   306,   306,   306,
2067 <     306,   306,   306,   306,   306,   306,   307,   308,   309,   310,
2068 <     311,   312,   313,   314,   316,   315,   317,   317,   318,   318,
2069 <     318,   318,   318,   318,   318,   318,   318,   318,   318,   318,
2070 <     318,   318,   318,   318,   318,   318,   318,   318,   318,   318,
2071 <     320,   319,   321,   321,   322,   322,   322,   322,   322,   322,
2072 <     322,   322,   322,   322,   322,   322,   322,   322,   322,   322,
2073 <     322,   322,   322,   322,   322,   322,   322,   324,   323,   325,
2074 <     325,   326,   326,   326,   326,   326,   326,   326,   326,   326,
2075 <     326,   326,   326,   326,   326,   326,   326,   326,   326,   327,
2076 <     328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
2077 <     338,   339,   340,   341,   342,   344,   343,   345,   345,   346,
2078 <     346,   348,   347,   350,   349,   351,   351,   352,   352,   352,
2079 <     353,   353,   354,   354,   354,   354,   354,   356,   355,   357,
2080 <     357,   358,   358,   359,   360,   362,   361,   363,   363,   364,
2081 <     364,   364,   364,   364,   364,   364,   364,   364,   365,   366,
2082 <     367,   368,   370,   369,   371,   371,   372,   372,   372,   372,
2083 <     372,   372,   372,   372,   372,   372,   373,   374,   375,   377,
2084 <     376,   378,   378,   379,   379,   379,   379,   380,   381,   382,
2085 <     383,   384,   384,   385,   385,   386,   388,   387,   389,   389,
2086 <     390,   390,   390,   390,   391,   392,   394,   393,   395,   395,
2087 <     396,   396,   396,   396,   396,   396,   396,   396,   396,   396,
2088 <     398,   397,   399,   399,   400,   400,   400,   401,   403,   402,
2089 <     404,   404,   405,   405,   405,   405,   405,   405,   405,   405,
2090 <     405,   405,   407,   406,   408,   408,   409,   409,   409,   409,
2091 <     409,   409,   409,   409,   409,   409,   409,   409,   409,   409,
2092 <     409,   410,   411,   412,   413,   414,   415,   416,   417,   417,
2093 <     419,   418,   420,   420,   421,   421,   422,   423,   424,   425,
2094 <     426,   428,   427,   429,   429,   430,   430,   430,   431,   432,
2095 <     434,   433,   435,   435,   436,   436,   436,   437,   438,   439,
2096 <     440,   440,   441,   441,   442,   444,   443,   445,   445,   446,
2097 <     446,   446,   447,   448,   449,   450,   450,   451,   451,   451,
2098 <     451,   451,   451,   451,   451,   451,   451,   451,   451,   451,
2099 <     451,   451,   451,   451,   451,   451,   451,   451,   451,   451,
2100 <     451,   451,   451,   451,   451,   451,   451,   451,   451,   451,
2101 <     451,   451,   451,   451,   451,   451,   451,   451,   451,   451,
2102 <     451,   451,   451,   451,   451,   451,   451,   451,   452,   453,
2103 <     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
2104 <     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
2105 <     474,   475,   476,   477,   478,   478,   479,   479,   480,   481,
2106 <     482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
2107 <     492,   493,   494,   495,   496,   498,   497,   499,   499,   500,
2108 <     500,   500,   500,   500,   500,   500,   500,   500,   500,   500,
2128 <     500,   500,   500,   500,   500,   500,   500,   500,   500,   500,
2129 <     500,   502,   501,   503,   503,   504,   504,   504,   504,   504,
2051 >       0,   240,   241,   241,   242,   242,   242,   242,   242,   242,
2052 >     242,   242,   242,   242,   242,   242,   242,   242,   242,   242,
2053 >     242,   242,   242,   242,   242,   242,   242,   242,   243,   243,
2054 >     244,   244,   244,   244,   244,   244,   244,   244,   245,   245,
2055 >     246,   246,   246,   246,   247,   248,   248,   249,   249,   249,
2056 >     250,   251,   252,   253,   253,   254,   254,   254,   254,   254,
2057 >     254,   254,   254,   254,   254,   254,   254,   254,   254,   254,
2058 >     254,   254,   254,   254,   254,   254,   255,   256,   257,   258,
2059 >     259,   260,   262,   261,   263,   263,   264,   264,   264,   264,
2060 >     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
2061 >     275,   276,   277,   278,   279,   279,   280,   280,   280,   280,
2062 >     281,   282,   283,   285,   284,   286,   286,   287,   287,   287,
2063 >     288,   289,   291,   290,   292,   292,   293,   293,   293,   293,
2064 >     293,   294,   295,   296,   297,   298,   299,   299,   300,   300,
2065 >     300,   301,   303,   302,   304,   304,   305,   305,   305,   305,
2066 >     306,   307,   307,   309,   308,   310,   310,   311,   311,   311,
2067 >     311,   311,   311,   311,   311,   313,   312,   314,   314,   315,
2068 >     315,   315,   315,   315,   315,   315,   315,   315,   315,   315,
2069 >     316,   317,   318,   319,   320,   321,   322,   323,   325,   324,
2070 >     326,   326,   327,   327,   327,   327,   327,   327,   327,   327,
2071 >     327,   327,   327,   327,   327,   327,   327,   327,   327,   327,
2072 >     327,   327,   327,   327,   329,   328,   330,   330,   331,   331,
2073 >     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
2074 >     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
2075 >     331,   331,   331,   331,   331,   331,   331,   333,   332,   334,
2076 >     334,   335,   335,   335,   335,   335,   335,   335,   335,   335,
2077 >     335,   335,   335,   335,   335,   335,   335,   335,   336,   337,
2078 >     338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
2079 >     348,   349,   350,   352,   351,   353,   353,   354,   354,   356,
2080 >     355,   358,   357,   359,   359,   360,   360,   360,   361,   361,
2081 >     362,   362,   362,   362,   362,   364,   363,   365,   365,   366,
2082 >     366,   367,   368,   370,   369,   371,   371,   372,   372,   372,
2083 >     372,   372,   372,   372,   372,   372,   373,   374,   375,   376,
2084 >     378,   377,   379,   379,   380,   380,   380,   380,   380,   380,
2085 >     380,   380,   380,   380,   381,   382,   383,   385,   384,   386,
2086 >     386,   387,   387,   387,   387,   388,   389,   390,   391,   392,
2087 >     392,   393,   393,   394,   396,   395,   397,   397,   398,   398,
2088 >     398,   398,   399,   400,   402,   401,   403,   403,   404,   404,
2089 >     404,   404,   404,   404,   404,   404,   404,   404,   406,   405,
2090 >     407,   407,   408,   408,   408,   409,   411,   410,   412,   412,
2091 >     413,   413,   413,   413,   413,   413,   413,   413,   413,   413,
2092 >     415,   414,   416,   416,   417,   417,   417,   417,   417,   417,
2093 >     417,   417,   417,   417,   417,   417,   417,   417,   417,   418,
2094 >     419,   420,   421,   422,   423,   424,   425,   425,   427,   426,
2095 >     428,   428,   429,   429,   430,   431,   432,   433,   434,   436,
2096 >     435,   437,   437,   438,   438,   438,   439,   440,   442,   441,
2097 >     443,   443,   444,   444,   444,   445,   446,   447,   448,   448,
2098 >     449,   449,   450,   452,   451,   453,   453,   454,   454,   454,
2099 >     455,   456,   457,   458,   458,   459,   459,   459,   459,   459,
2100 >     459,   459,   459,   459,   459,   459,   459,   459,   459,   459,
2101 >     459,   459,   459,   459,   459,   459,   459,   459,   459,   459,
2102 >     459,   459,   459,   459,   459,   459,   459,   459,   459,   459,
2103 >     459,   459,   459,   459,   459,   459,   459,   459,   459,   459,
2104 >     459,   459,   460,   461,   462,   463,   464,   465,   466,   467,
2105 >     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
2106 >     478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
2107 >     487,   488,   488,   489,   490,   491,   492,   493,   494,   495,
2108 >     496,   497,   498,   499,   500,   502,   501,   503,   503,   504,
2109       504,   504,   504,   504,   504,   504,   504,   504,   504,   504,
2110 <     504,   504,   504,   504,   504,   505,   506,   507,   508,   509,
2111 <     509,   510,   510,   510,   510,   510,   510,   510,   510,   510,
2112 <     510,   510,   510,   510,   510,   510,   511,   512,   513,   514,
2113 <     515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
2114 <     525,   526,   526,   527,   527,   527,   527,   527,   527,   527,
2115 <     527,   527,   528,   529,   530,   531,   532,   533,   534,   535
2110 >     504,   504,   504,   504,   504,   504,   504,   504,   504,   504,
2111 >     504,   506,   505,   507,   507,   508,   508,   508,   508,   508,
2112 >     508,   508,   508,   508,   508,   508,   508,   508,   508,   508,
2113 >     508,   508,   508,   508,   508,   509,   510,   511,   512,   513,
2114 >     513,   514,   514,   514,   514,   514,   514,   514,   514,   514,
2115 >     514,   514,   514,   515,   516,   517,   518,   519,   520,   521,
2116 >     522,   523,   524,   525,   526,   527,   527,   528,   528,   528,
2117 >     528,   528,   528,   528,   528,   528,   528,   529,   530,   531,
2118 >     532,   533,   534,   535,   536,   537
2119   };
2120  
2121    /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
# Line 2141 | Line 2123 | static const yytype_uint8 yyr2[] =
2123   {
2124         0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
2125         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2126 <       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
2127 <       3,     3,     3,     3,     3,     3,     3,     0,     1,     2,
2128 <       3,     3,     3,     5,     2,     1,     1,     1,     2,     4,
2129 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
2126 >       1,     1,     1,     1,     1,     1,     2,     2,     0,     1,
2127 >       2,     3,     3,     3,     3,     3,     3,     3,     0,     1,
2128 >       2,     3,     3,     3,     5,     2,     1,     1,     1,     2,
2129 >       4,     4,     5,     2,     1,     1,     1,     1,     1,     1,
2130         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2131 <       1,     1,     1,     2,     4,     4,     3,     1,     1,     1,
2132 <       3,     1,     1,     1,     4,     4,     4,     4,     4,     4,
2131 >       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
2132 >       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
2133         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2134 <       4,     5,     2,     1,     1,     1,     1,     2,     4,     4,
2135 <       4,     0,     6,     2,     1,     1,     1,     2,     4,     4,
2136 <       5,     2,     1,     1,     1,     2,     4,     0,     6,     2,
2137 <       1,     1,     1,     1,     2,     4,     4,     4,     0,     5,
2134 >       4,     4,     4,     5,     2,     1,     1,     1,     1,     2,
2135 >       4,     4,     4,     0,     6,     2,     1,     1,     1,     2,
2136 >       4,     4,     0,     6,     2,     1,     1,     1,     1,     1,
2137 >       2,     4,     4,     4,     4,     5,     2,     1,     1,     1,
2138 >       2,     4,     0,     6,     2,     1,     1,     1,     1,     2,
2139 >       4,     4,     4,     0,     5,     3,     1,     1,     1,     1,
2140 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
2141 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
2142 >       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
2143         3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2157       1,     0,     6,     2,     1,     1,     1,     1,     1,     1,
2158       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
2159       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
2160       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2144         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2145 <       0,     5,     3,     1,     3,     1,     3,     1,     3,     1,
2145 >       1,     1,     1,     1,     0,     5,     3,     1,     3,     1,
2146 >       3,     1,     3,     1,     1,     1,     1,     1,     1,     1,
2147 >       1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
2148 >       1,     1,     3,     3,     1,     1,     1,     0,     6,     2,
2149         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2164       1,     1,     1,     1,     1,     1,     1,     0,     6,     2,
2165       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2166       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
2167       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2168       4,     4,     4,     4,     4,     0,     5,     3,     1,     1,
2169       1,     0,     6,     0,     5,     3,     1,     1,     1,     1,
2170       2,     1,     1,     1,     1,     1,     2,     0,     5,     3,
2171       1,     1,     3,     4,     4,     0,     6,     2,     1,     1,
2150         1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
2151 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
2152 <       1,     1,     1,     1,     1,     1,     4,     4,     4,     0,
2153 <       6,     2,     1,     1,     1,     1,     2,     4,     4,     4,
2154 <       5,     2,     1,     1,     1,     4,     0,     6,     2,     1,
2155 <       1,     1,     1,     2,     4,     4,     0,     5,     3,     1,
2156 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2157 <       0,     6,     2,     1,     1,     1,     2,     4,     0,     5,
2158 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2159 <       1,     1,     0,     6,     2,     1,     1,     1,     1,     1,
2151 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2152 >       4,     4,     4,     0,     5,     3,     1,     1,     1,     0,
2153 >       6,     0,     5,     3,     1,     1,     1,     1,     2,     1,
2154 >       1,     1,     1,     1,     2,     0,     5,     3,     1,     1,
2155 >       3,     4,     4,     0,     6,     2,     1,     1,     1,     1,
2156 >       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
2157 >       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
2158 >       1,     1,     1,     1,     4,     4,     4,     0,     6,     2,
2159 >       1,     1,     1,     1,     2,     4,     4,     4,     5,     2,
2160 >       1,     1,     1,     4,     0,     6,     2,     1,     1,     1,
2161 >       1,     2,     4,     4,     0,     5,     3,     1,     1,     1,
2162 >       1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
2163 >       2,     1,     1,     1,     2,     4,     0,     5,     3,     1,
2164         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2165 <       2,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2166 <       0,     5,     3,     1,     1,     1,     4,     4,     4,     4,
2167 <       4,     0,     6,     2,     1,     1,     1,     1,     4,     4,
2168 <       0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
2169 <       2,     1,     1,     1,     4,     0,     6,     2,     1,     1,
2170 <       1,     1,     4,     4,     5,     2,     1,     1,     1,     1,
2165 >       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
2166 >       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
2167 >       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
2168 >       3,     1,     1,     1,     4,     4,     4,     4,     4,     0,
2169 >       6,     2,     1,     1,     1,     1,     4,     4,     0,     6,
2170 >       2,     1,     1,     1,     1,     4,     4,     5,     2,     1,
2171 >       1,     1,     4,     0,     6,     2,     1,     1,     1,     1,
2172 >       4,     4,     5,     2,     1,     1,     1,     1,     1,     1,
2173         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2174         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2175         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2176         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2177 <       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
2194 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2177 >       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
2178         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2179         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2180         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
# Line 2202 | Line 2185 | static const yytype_uint8 yyr2[] =
2185         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2186         1,     1,     1,     1,     1,     4,     4,     4,     5,     2,
2187         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2188 <       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
2189 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2190 <       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
2191 <       1,     1,     4,     4,     4,     4,     4,     4,     4,     4
2188 >       1,     1,     1,     4,     4,     4,     4,     4,     4,     4,
2189 >       4,     4,     4,     4,     5,     2,     1,     1,     1,     1,
2190 >       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
2191 >       4,     4,     4,     4,     4,     4
2192   };
2193  
2194  
# Line 2881 | Line 2864 | yyreduce:
2864    YY_REDUCE_PRINT (yyn);
2865    switch (yyn)
2866      {
2867 <        case 27:
2868 < #line 413 "conf_parser.y" /* yacc.c:1646  */
2867 >        case 28:
2868 > #line 409 "conf_parser.y" /* yacc.c:1646  */
2869      { (yyval.number) = 0; }
2870 < #line 2888 "conf_parser.c" /* yacc.c:1646  */
2870 > #line 2871 "conf_parser.c" /* yacc.c:1646  */
2871      break;
2872  
2873 <  case 29:
2874 < #line 414 "conf_parser.y" /* yacc.c:1646  */
2873 >  case 30:
2874 > #line 410 "conf_parser.y" /* yacc.c:1646  */
2875      { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2876 < #line 2894 "conf_parser.c" /* yacc.c:1646  */
2876 > #line 2877 "conf_parser.c" /* yacc.c:1646  */
2877      break;
2878  
2879 <  case 30:
2880 < #line 415 "conf_parser.y" /* yacc.c:1646  */
2879 >  case 31:
2880 > #line 411 "conf_parser.y" /* yacc.c:1646  */
2881      { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2882 < #line 2900 "conf_parser.c" /* yacc.c:1646  */
2882 > #line 2883 "conf_parser.c" /* yacc.c:1646  */
2883      break;
2884  
2885 <  case 31:
2886 < #line 416 "conf_parser.y" /* yacc.c:1646  */
2885 >  case 32:
2886 > #line 412 "conf_parser.y" /* yacc.c:1646  */
2887      { (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number); }
2888 < #line 2906 "conf_parser.c" /* yacc.c:1646  */
2888 > #line 2889 "conf_parser.c" /* yacc.c:1646  */
2889      break;
2890  
2891 <  case 32:
2892 < #line 417 "conf_parser.y" /* yacc.c:1646  */
2891 >  case 33:
2892 > #line 413 "conf_parser.y" /* yacc.c:1646  */
2893      { (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number); }
2894 < #line 2912 "conf_parser.c" /* yacc.c:1646  */
2894 > #line 2895 "conf_parser.c" /* yacc.c:1646  */
2895      break;
2896  
2897 <  case 33:
2898 < #line 418 "conf_parser.y" /* yacc.c:1646  */
2897 >  case 34:
2898 > #line 414 "conf_parser.y" /* yacc.c:1646  */
2899      { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number); }
2900 < #line 2918 "conf_parser.c" /* yacc.c:1646  */
2900 > #line 2901 "conf_parser.c" /* yacc.c:1646  */
2901      break;
2902  
2903 <  case 34:
2904 < #line 419 "conf_parser.y" /* yacc.c:1646  */
2903 >  case 35:
2904 > #line 415 "conf_parser.y" /* yacc.c:1646  */
2905      { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number); }
2906 < #line 2924 "conf_parser.c" /* yacc.c:1646  */
2906 > #line 2907 "conf_parser.c" /* yacc.c:1646  */
2907      break;
2908  
2909 <  case 35:
2910 < #line 420 "conf_parser.y" /* yacc.c:1646  */
2909 >  case 36:
2910 > #line 416 "conf_parser.y" /* yacc.c:1646  */
2911      { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number); }
2912 < #line 2930 "conf_parser.c" /* yacc.c:1646  */
2912 > #line 2913 "conf_parser.c" /* yacc.c:1646  */
2913      break;
2914  
2915 <  case 36:
2916 < #line 421 "conf_parser.y" /* yacc.c:1646  */
2915 >  case 37:
2916 > #line 417 "conf_parser.y" /* yacc.c:1646  */
2917      { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number); }
2918 < #line 2936 "conf_parser.c" /* yacc.c:1646  */
2918 > #line 2919 "conf_parser.c" /* yacc.c:1646  */
2919      break;
2920  
2921 <  case 37:
2922 < #line 424 "conf_parser.y" /* yacc.c:1646  */
2921 >  case 38:
2922 > #line 420 "conf_parser.y" /* yacc.c:1646  */
2923      { (yyval.number) = 0; }
2924 < #line 2942 "conf_parser.c" /* yacc.c:1646  */
2924 > #line 2925 "conf_parser.c" /* yacc.c:1646  */
2925      break;
2926  
2927 <  case 39:
2928 < #line 425 "conf_parser.y" /* yacc.c:1646  */
2927 >  case 40:
2928 > #line 421 "conf_parser.y" /* yacc.c:1646  */
2929      { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2930 < #line 2948 "conf_parser.c" /* yacc.c:1646  */
2930 > #line 2931 "conf_parser.c" /* yacc.c:1646  */
2931      break;
2932  
2933 <  case 40:
2934 < #line 426 "conf_parser.y" /* yacc.c:1646  */
2933 >  case 41:
2934 > #line 422 "conf_parser.y" /* yacc.c:1646  */
2935      { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2936 < #line 2954 "conf_parser.c" /* yacc.c:1646  */
2936 > #line 2937 "conf_parser.c" /* yacc.c:1646  */
2937      break;
2938  
2939 <  case 41:
2940 < #line 427 "conf_parser.y" /* yacc.c:1646  */
2939 >  case 42:
2940 > #line 423 "conf_parser.y" /* yacc.c:1646  */
2941      { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); }
2942 < #line 2960 "conf_parser.c" /* yacc.c:1646  */
2942 > #line 2943 "conf_parser.c" /* yacc.c:1646  */
2943      break;
2944  
2945 <  case 42:
2946 < #line 428 "conf_parser.y" /* yacc.c:1646  */
2945 >  case 43:
2946 > #line 424 "conf_parser.y" /* yacc.c:1646  */
2947      { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); }
2948 < #line 2966 "conf_parser.c" /* yacc.c:1646  */
2948 > #line 2949 "conf_parser.c" /* yacc.c:1646  */
2949      break;
2950  
2951 <  case 49:
2952 < #line 442 "conf_parser.y" /* yacc.c:1646  */
2951 >  case 50:
2952 > #line 437 "conf_parser.y" /* yacc.c:1646  */
2953      {
2954    if (conf_parser_ctx.pass == 2)
2955      add_conf_module(libio_basename(yylval.string));
2956   }
2957 < #line 2975 "conf_parser.c" /* yacc.c:1646  */
2957 > #line 2958 "conf_parser.c" /* yacc.c:1646  */
2958      break;
2959  
2960 <  case 50:
2961 < #line 448 "conf_parser.y" /* yacc.c:1646  */
2960 >  case 51:
2961 > #line 443 "conf_parser.y" /* yacc.c:1646  */
2962      {
2963    if (conf_parser_ctx.pass == 2)
2964      mod_add_path(yylval.string);
2965   }
2966 < #line 2984 "conf_parser.c" /* yacc.c:1646  */
2966 > #line 2967 "conf_parser.c" /* yacc.c:1646  */
2967      break;
2968  
2969 <  case 78:
2970 < #line 484 "conf_parser.y" /* yacc.c:1646  */
2988 <    {
2989 < #ifdef HAVE_LIBCRYPTO
2990 <  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
2991 <    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
2992 < #endif
2993 < }
2994 < #line 2995 "conf_parser.c" /* yacc.c:1646  */
2995 <    break;
2996 <
2997 <  case 79:
2998 < #line 490 "conf_parser.y" /* yacc.c:1646  */
2969 >  case 76:
2970 > #line 479 "conf_parser.y" /* yacc.c:1646  */
2971      {
2972 < #ifdef HAVE_LIBCRYPTO
2973 <  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
2974 <    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
2975 < #endif
2972 >  if (conf_parser_ctx.pass == 2)
2973 >  {
2974 >    xfree(ConfigServerInfo.ssl_certificate_file);
2975 >    ConfigServerInfo.ssl_certificate_file = xstrdup(yylval.string);
2976 >  }
2977   }
2978 < #line 3006 "conf_parser.c" /* yacc.c:1646  */
2978 > #line 2979 "conf_parser.c" /* yacc.c:1646  */
2979      break;
2980  
2981 <  case 82:
2982 < #line 499 "conf_parser.y" /* yacc.c:1646  */
2981 >  case 77:
2982 > #line 488 "conf_parser.y" /* yacc.c:1646  */
2983      {
2984 < #ifdef HAVE_LIBCRYPTO
2985 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2986 <    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
2987 < #endif
2984 >  if (conf_parser_ctx.pass == 2)
2985 >  {
2986 >    xfree(ConfigServerInfo.rsa_private_key_file);
2987 >    ConfigServerInfo.rsa_private_key_file = xstrdup(yylval.string);
2988 >  }
2989   }
2990 < #line 3017 "conf_parser.c" /* yacc.c:1646  */
2990 > #line 2991 "conf_parser.c" /* yacc.c:1646  */
2991      break;
2992  
2993 <  case 83:
2994 < #line 505 "conf_parser.y" /* yacc.c:1646  */
2993 >  case 78:
2994 > #line 497 "conf_parser.y" /* yacc.c:1646  */
2995      {
2996 < #ifdef HAVE_LIBCRYPTO
2997 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2998 <    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
2999 < #endif
2996 >  if (conf_parser_ctx.pass == 2)
2997 >  {
2998 >    xfree(ConfigServerInfo.ssl_dh_param_file);
2999 >    ConfigServerInfo.ssl_dh_param_file = xstrdup(yylval.string);
3000 >  }
3001   }
3002 < #line 3028 "conf_parser.c" /* yacc.c:1646  */
3002 > #line 3003 "conf_parser.c" /* yacc.c:1646  */
3003      break;
3004  
3005 <  case 84:
3006 < #line 513 "conf_parser.y" /* yacc.c:1646  */
3005 >  case 79:
3006 > #line 506 "conf_parser.y" /* yacc.c:1646  */
3007      {
3008 < #ifdef HAVE_LIBCRYPTO
3034 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3008 >  if (conf_parser_ctx.pass == 2)
3009    {
3010 <    if (!ServerInfo.rsa_private_key_file)
3011 <    {
3038 <      conf_error_report("No rsa_private_key_file specified, SSL disabled");
3039 <      break;
3040 <    }
3041 <
3042 <    if (SSL_CTX_use_certificate_file(ServerInfo.server_ctx, yylval.string,
3043 <                                     SSL_FILETYPE_PEM) <= 0 ||
3044 <        SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3045 <                                     SSL_FILETYPE_PEM) <= 0)
3046 <    {
3047 <      report_crypto_errors();
3048 <      conf_error_report("Could not open/read certificate file");
3049 <      break;
3050 <    }
3051 <
3052 <    if (SSL_CTX_use_PrivateKey_file(ServerInfo.server_ctx, ServerInfo.rsa_private_key_file,
3053 <                                    SSL_FILETYPE_PEM) <= 0 ||
3054 <        SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3055 <                                    SSL_FILETYPE_PEM) <= 0)
3056 <    {
3057 <      report_crypto_errors();
3058 <      conf_error_report("Could not read RSA private key");
3059 <      break;
3060 <    }
3061 <
3062 <    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3063 <        !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3064 <    {
3065 <      report_crypto_errors();
3066 <      conf_error_report("Could not read RSA private key");
3067 <      break;
3068 <    }
3010 >    xfree(ConfigServerInfo.ssl_cipher_list);
3011 >    ConfigServerInfo.ssl_cipher_list = xstrdup(yylval.string);
3012    }
3070 #endif
3013   }
3014 < #line 3073 "conf_parser.c" /* yacc.c:1646  */
3014 > #line 3015 "conf_parser.c" /* yacc.c:1646  */
3015      break;
3016  
3017 <  case 85:
3018 < #line 555 "conf_parser.y" /* yacc.c:1646  */
3017 >  case 80:
3018 > #line 515 "conf_parser.y" /* yacc.c:1646  */
3019      {
3020 < #ifdef HAVE_LIBCRYPTO
3079 <  BIO *file = NULL;
3080 <
3081 <  if (conf_parser_ctx.pass != 1)
3082 <    break;
3083 <
3084 <  if (ServerInfo.rsa_private_key)
3085 <  {
3086 <    RSA_free(ServerInfo.rsa_private_key);
3087 <    ServerInfo.rsa_private_key = NULL;
3088 <  }
3089 <
3090 <  if (ServerInfo.rsa_private_key_file)
3020 >  if (conf_parser_ctx.pass == 2)
3021    {
3022 <    MyFree(ServerInfo.rsa_private_key_file);
3023 <    ServerInfo.rsa_private_key_file = NULL;
3022 >    xfree(ConfigServerInfo.ssl_message_digest_algorithm);
3023 >    ConfigServerInfo.ssl_message_digest_algorithm = xstrdup(yylval.string);
3024    }
3025 <
3026 <  ServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3097 <
3098 <  if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3099 <  {
3100 <    conf_error_report("File open failed, ignoring");
3025 > }
3026 > #line 3027 "conf_parser.c" /* yacc.c:1646  */
3027      break;
3102  }
3103
3104  ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3105
3106  BIO_set_close(file, BIO_CLOSE);
3107  BIO_free(file);
3028  
3029 <  if (ServerInfo.rsa_private_key == NULL)
3029 >  case 81:
3030 > #line 524 "conf_parser.y" /* yacc.c:1646  */
3031 >    {
3032 >  if (conf_parser_ctx.pass == 2)
3033    {
3034 <    conf_error_report("Couldn't extract key, ignoring");
3035 <    break;
3034 >    xfree(ConfigServerInfo.ssl_dh_elliptic_curve);
3035 >    ConfigServerInfo.ssl_dh_elliptic_curve = xstrdup(yylval.string);
3036    }
3037 <
3038 <  if (!RSA_check_key(ServerInfo.rsa_private_key))
3116 <  {
3117 <    RSA_free(ServerInfo.rsa_private_key);
3118 <    ServerInfo.rsa_private_key = NULL;
3119 <
3120 <    conf_error_report("Invalid key, ignoring");
3037 > }
3038 > #line 3039 "conf_parser.c" /* yacc.c:1646  */
3039      break;
3122  }
3123
3124  if (RSA_size(ServerInfo.rsa_private_key) < 128)
3125  {
3126    RSA_free(ServerInfo.rsa_private_key);
3127    ServerInfo.rsa_private_key = NULL;
3040  
3041 <    conf_error_report("Ignoring serverinfo::rsa_private_key_file -- need at least a 1024 bit key size");
3042 <  }
3043 < #endif
3041 >  case 82:
3042 > #line 533 "conf_parser.y" /* yacc.c:1646  */
3043 >    {
3044 >  if (conf_parser_ctx.pass == 1)
3045 >    ConfigServerInfo.libgeoip_database_options = 0;
3046   }
3047 < #line 3134 "conf_parser.c" /* yacc.c:1646  */
3047 > #line 3048 "conf_parser.c" /* yacc.c:1646  */
3048      break;
3049  
3050    case 86:
3051 < #line 613 "conf_parser.y" /* yacc.c:1646  */
3051 > #line 540 "conf_parser.y" /* yacc.c:1646  */
3052      {
3053 < /* TBD - XXX: error reporting */
3054 < #ifdef HAVE_LIBCRYPTO
3055 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3142 <  {
3143 <    BIO *file = BIO_new_file(yylval.string, "r");
3144 <
3145 <    if (file)
3146 <    {
3147 <      DH *dh = PEM_read_bio_DHparams(file, NULL, NULL, NULL);
3148 <
3149 <      BIO_free(file);
3150 <
3151 <      if (dh)
3152 <      {
3153 <        if (DH_size(dh) < 128)
3154 <          conf_error_report("Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3155 <        else
3156 <          SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3157 <
3158 <        DH_free(dh);
3159 <      }
3160 <    }
3161 <  }
3053 > #ifdef HAVE_LIBGEOIP
3054 >  if (conf_parser_ctx.pass == 1)
3055 >    ConfigServerInfo.libgeoip_database_options |= GEOIP_STANDARD;
3056   #endif
3057   }
3058 < #line 3165 "conf_parser.c" /* yacc.c:1646  */
3058 > #line 3059 "conf_parser.c" /* yacc.c:1646  */
3059      break;
3060  
3061    case 87:
3062 < #line 641 "conf_parser.y" /* yacc.c:1646  */
3062 > #line 546 "conf_parser.y" /* yacc.c:1646  */
3063      {
3064 < #ifdef HAVE_LIBCRYPTO
3065 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3066 <    SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3064 > #ifdef HAVE_LIBGEOIP
3065 >  if (conf_parser_ctx.pass == 1)
3066 >    ConfigServerInfo.libgeoip_database_options |= GEOIP_MEMORY_CACHE;
3067   #endif
3068   }
3069 < #line 3176 "conf_parser.c" /* yacc.c:1646  */
3069 > #line 3070 "conf_parser.c" /* yacc.c:1646  */
3070      break;
3071  
3072    case 88:
3073 < #line 649 "conf_parser.y" /* yacc.c:1646  */
3073 > #line 552 "conf_parser.y" /* yacc.c:1646  */
3074      {
3075 < #ifdef HAVE_LIBCRYPTO
3076 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3077 <  {
3184 <    if ((ServerInfo.message_digest_algorithm = EVP_get_digestbyname(yylval.string)) == NULL)
3185 <      conf_error_report("Ignoring serverinfo::ssl_message_digest_algorithm -- unknown message digest algorithm");
3186 <    else
3187 <      ServerInfo.message_digest_algorithm = EVP_sha256();
3188 <  }
3075 > #ifdef HAVE_LIBGEOIP
3076 >  if (conf_parser_ctx.pass == 1)
3077 >    ConfigServerInfo.libgeoip_database_options |= GEOIP_MMAP_CACHE;
3078   #endif
3079   }
3080 < #line 3192 "conf_parser.c" /* yacc.c:1646  */
3080 > #line 3081 "conf_parser.c" /* yacc.c:1646  */
3081      break;
3082  
3083    case 89:
3084 < #line 662 "conf_parser.y" /* yacc.c:1646  */
3084 > #line 558 "conf_parser.y" /* yacc.c:1646  */
3085      {
3086 < #ifdef HAVE_LIBCRYPTO
3087 < #if OPENSSL_VERSION_NUMBER >= 0x1000005FL && !defined(OPENSSL_NO_ECDH)
3088 <  int nid = 0;
3089 <  EC_KEY *key = NULL;
3086 > #ifdef HAVE_LIBGEOIP
3087 >  if (conf_parser_ctx.pass == 1)
3088 >    ConfigServerInfo.libgeoip_database_options |= GEOIP_CHECK_CACHE;
3089 > #endif
3090 > }
3091 > #line 3092 "conf_parser.c" /* yacc.c:1646  */
3092 >    break;
3093  
3094 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3095 <  {
3204 <    if ((nid = OBJ_sn2nid(yylval.string)) == 0)
3094 >  case 90:
3095 > #line 566 "conf_parser.y" /* yacc.c:1646  */
3096      {
3097 <        conf_error_report("Ignoring serverinfo::serverinfo_ssl_dh_elliptic_curve -- unknown curve name");
3098 <        break;
3099 <    }
3097 >  if (conf_parser_ctx.pass == 2)
3098 >  {
3099 >    xfree(ConfigServerInfo.libgeoip_ipv4_database_file);
3100 >    ConfigServerInfo.libgeoip_ipv4_database_file = xstrdup(yylval.string);
3101  
3102 <    if ((key = EC_KEY_new_by_curve_name(nid)) == NULL)
3102 > #ifdef HAVE_LIBGEOIP
3103 >    if (GeoIPv4_ctx)
3104 >      GeoIP_delete(GeoIPv4_ctx);
3105 >    GeoIPv4_ctx = GeoIP_open(yylval.string, ConfigServerInfo.libgeoip_database_options);
3106 > #endif
3107 >  }
3108 > }
3109 > #line 3110 "conf_parser.c" /* yacc.c:1646  */
3110 >    break;
3111 >
3112 >  case 91:
3113 > #line 581 "conf_parser.y" /* yacc.c:1646  */
3114      {
3115 <      conf_error_report("Ignoring serverinfo::serverinfo_ssl_dh_elliptic_curve -- could not create curve");
3116 <      break;
3117 <    }
3115 >  if (conf_parser_ctx.pass == 2)
3116 >  {
3117 >    xfree(ConfigServerInfo.libgeoip_ipv6_database_file);
3118 >    ConfigServerInfo.libgeoip_ipv6_database_file = xstrdup(yylval.string);
3119  
3120 <    SSL_CTX_set_tmp_ecdh(ServerInfo.server_ctx, key);
3121 <    EC_KEY_free(key);
3122 < }
3123 < #endif
3120 > #ifdef HAVE_LIBGEOIP
3121 >    if (GeoIPv6_ctx)
3122 >      GeoIP_delete(GeoIPv6_ctx);
3123 >    GeoIPv6_ctx = GeoIP_open(yylval.string, ConfigServerInfo.libgeoip_database_options);
3124   #endif
3125 +  }
3126   }
3127 < #line 3223 "conf_parser.c" /* yacc.c:1646  */
3127 > #line 3128 "conf_parser.c" /* yacc.c:1646  */
3128      break;
3129  
3130 <  case 90:
3131 < #line 690 "conf_parser.y" /* yacc.c:1646  */
3130 >  case 92:
3131 > #line 596 "conf_parser.y" /* yacc.c:1646  */
3132      {
3133 <  /* this isn't rehashable */
3134 <  if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
3133 >  /* This isn't rehashable */
3134 >  if (conf_parser_ctx.pass == 2 && !ConfigServerInfo.name)
3135    {
3136      if (valid_servname(yylval.string))
3137 <      ServerInfo.name = xstrdup(yylval.string);
3137 >      ConfigServerInfo.name = xstrdup(yylval.string);
3138      else
3139      {
3140        conf_error_report("Ignoring serverinfo::name -- invalid name. Aborting.");
3141 <      exit(0);
3141 >      exit(EXIT_FAILURE);
3142      }
3143    }
3144   }
3145 < #line 3241 "conf_parser.c" /* yacc.c:1646  */
3145 > #line 3146 "conf_parser.c" /* yacc.c:1646  */
3146      break;
3147  
3148 <  case 91:
3149 < #line 705 "conf_parser.y" /* yacc.c:1646  */
3148 >  case 93:
3149 > #line 611 "conf_parser.y" /* yacc.c:1646  */
3150      {
3151 <  /* this isn't rehashable */
3152 <  if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
3151 >  /* This isn't rehashable */
3152 >  if (conf_parser_ctx.pass == 2 && !ConfigServerInfo.sid)
3153    {
3154      if (valid_sid(yylval.string))
3155 <      ServerInfo.sid = xstrdup(yylval.string);
3155 >      ConfigServerInfo.sid = xstrdup(yylval.string);
3156      else
3157      {
3158        conf_error_report("Ignoring serverinfo::sid -- invalid SID. Aborting.");
3159 <      exit(0);
3159 >      exit(EXIT_FAILURE);
3160      }
3161    }
3162   }
3163 < #line 3259 "conf_parser.c" /* yacc.c:1646  */
3163 > #line 3164 "conf_parser.c" /* yacc.c:1646  */
3164      break;
3165  
3166 <  case 92:
3167 < #line 720 "conf_parser.y" /* yacc.c:1646  */
3166 >  case 94:
3167 > #line 626 "conf_parser.y" /* yacc.c:1646  */
3168      {
3169    if (conf_parser_ctx.pass == 2)
3170    {
3171 <    MyFree(ServerInfo.description);
3172 <    ServerInfo.description = xstrdup(yylval.string);
3171 >    xfree(ConfigServerInfo.description);
3172 >    ConfigServerInfo.description = xstrdup(yylval.string);
3173 >    strlcpy(me.info, ConfigServerInfo.description, sizeof(me.info));
3174    }
3175   }
3176 < #line 3271 "conf_parser.c" /* yacc.c:1646  */
3176 > #line 3177 "conf_parser.c" /* yacc.c:1646  */
3177      break;
3178  
3179 <  case 93:
3180 < #line 729 "conf_parser.y" /* yacc.c:1646  */
3179 >  case 95:
3180 > #line 636 "conf_parser.y" /* yacc.c:1646  */
3181      {
3182    if (conf_parser_ctx.pass == 2)
3183    {
# Line 3280 | Line 3186 | yyreduce:
3186      if ((p = strchr(yylval.string, ' ')))
3187        *p = '\0';
3188  
3189 <    MyFree(ServerInfo.network_name);
3190 <    ServerInfo.network_name = xstrdup(yylval.string);
3189 >    xfree(ConfigServerInfo.network_name);
3190 >    ConfigServerInfo.network_name = xstrdup(yylval.string);
3191    }
3192   }
3193 < #line 3288 "conf_parser.c" /* yacc.c:1646  */
3193 > #line 3194 "conf_parser.c" /* yacc.c:1646  */
3194      break;
3195  
3196 <  case 94:
3197 < #line 743 "conf_parser.y" /* yacc.c:1646  */
3196 >  case 96:
3197 > #line 650 "conf_parser.y" /* yacc.c:1646  */
3198      {
3199    if (conf_parser_ctx.pass != 2)
3200      break;
3201  
3202 <  MyFree(ServerInfo.network_desc);
3203 <  ServerInfo.network_desc = xstrdup(yylval.string);
3202 >  xfree(ConfigServerInfo.network_desc);
3203 >  ConfigServerInfo.network_desc = xstrdup(yylval.string);
3204   }
3205 < #line 3300 "conf_parser.c" /* yacc.c:1646  */
3205 > #line 3206 "conf_parser.c" /* yacc.c:1646  */
3206      break;
3207  
3208 <  case 95:
3209 < #line 752 "conf_parser.y" /* yacc.c:1646  */
3208 >  case 97:
3209 > #line 659 "conf_parser.y" /* yacc.c:1646  */
3210      {
3211    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3212    {
# Line 3318 | Line 3224 | yyreduce:
3224      {
3225        assert(res);
3226  
3227 <      memcpy(&ServerInfo.ip, res->ai_addr, res->ai_addrlen);
3228 <      ServerInfo.ip.ss.ss_family = res->ai_family;
3229 <      ServerInfo.ip.ss_len = res->ai_addrlen;
3227 >      memcpy(&ConfigServerInfo.ip, res->ai_addr, res->ai_addrlen);
3228 >      ConfigServerInfo.ip.ss.ss_family = res->ai_family;
3229 >      ConfigServerInfo.ip.ss_len = res->ai_addrlen;
3230        freeaddrinfo(res);
3231  
3232 <      ServerInfo.specific_ipv4_vhost = 1;
3232 >      ConfigServerInfo.specific_ipv4_vhost = 1;
3233      }
3234    }
3235   }
3236 < #line 3331 "conf_parser.c" /* yacc.c:1646  */
3236 > #line 3237 "conf_parser.c" /* yacc.c:1646  */
3237      break;
3238  
3239 <  case 96:
3240 < #line 780 "conf_parser.y" /* yacc.c:1646  */
3239 >  case 98:
3240 > #line 687 "conf_parser.y" /* yacc.c:1646  */
3241      {
3336 #ifdef IPV6
3242    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3243    {
3244      struct addrinfo hints, *res;
# Line 3350 | Line 3255 | yyreduce:
3255      {
3256        assert(res);
3257  
3258 <      memcpy(&ServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3259 <      ServerInfo.ip6.ss.ss_family = res->ai_family;
3260 <      ServerInfo.ip6.ss_len = res->ai_addrlen;
3258 >      memcpy(&ConfigServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3259 >      ConfigServerInfo.ip6.ss.ss_family = res->ai_family;
3260 >      ConfigServerInfo.ip6.ss_len = res->ai_addrlen;
3261        freeaddrinfo(res);
3262  
3263 <      ServerInfo.specific_ipv6_vhost = 1;
3263 >      ConfigServerInfo.specific_ipv6_vhost = 1;
3264      }
3265    }
3361 #endif
3266   }
3267 < #line 3364 "conf_parser.c" /* yacc.c:1646  */
3267 > #line 3268 "conf_parser.c" /* yacc.c:1646  */
3268      break;
3269  
3270 <  case 97:
3271 < #line 810 "conf_parser.y" /* yacc.c:1646  */
3270 >  case 99:
3271 > #line 715 "conf_parser.y" /* yacc.c:1646  */
3272      {
3273    if (conf_parser_ctx.pass != 2)
3274      break;
# Line 3375 | Line 3279 | yyreduce:
3279  
3280      snprintf(buf, sizeof(buf), "MAXCLIENTS too low, setting to %d", MAXCLIENTS_MIN);
3281      conf_error_report(buf);
3282 <    ServerInfo.max_clients = MAXCLIENTS_MIN;
3282 >    ConfigServerInfo.default_max_clients = MAXCLIENTS_MIN;
3283    }
3284    else if ((yyvsp[-1].number) > MAXCLIENTS_MAX)
3285    {
# Line 3383 | Line 3287 | yyreduce:
3287  
3288      snprintf(buf, sizeof(buf), "MAXCLIENTS too high, setting to %d", MAXCLIENTS_MAX);
3289      conf_error_report(buf);
3290 <    ServerInfo.max_clients = MAXCLIENTS_MAX;
3290 >    ConfigServerInfo.default_max_clients = MAXCLIENTS_MAX;
3291    }
3292    else
3293 <    ServerInfo.max_clients = (yyvsp[-1].number);
3293 >    ConfigServerInfo.default_max_clients = (yyvsp[-1].number);
3294   }
3295 < #line 3392 "conf_parser.c" /* yacc.c:1646  */
3295 > #line 3296 "conf_parser.c" /* yacc.c:1646  */
3296      break;
3297  
3298 <  case 98:
3299 < #line 835 "conf_parser.y" /* yacc.c:1646  */
3298 >  case 100:
3299 > #line 740 "conf_parser.y" /* yacc.c:1646  */
3300      {
3301    if (conf_parser_ctx.pass != 2)
3302      break;
# Line 3400 | Line 3304 | yyreduce:
3304    if ((yyvsp[-1].number) < 9)
3305    {
3306      conf_error_report("max_nick_length too low, setting to 9");
3307 <    ServerInfo.max_nick_length = 9;
3307 >    ConfigServerInfo.max_nick_length = 9;
3308    }
3309    else if ((yyvsp[-1].number) > NICKLEN)
3310    {
# Line 3408 | Line 3312 | yyreduce:
3312  
3313      snprintf(buf, sizeof(buf), "max_nick_length too high, setting to %d", NICKLEN);
3314      conf_error_report(buf);
3315 <    ServerInfo.max_nick_length = NICKLEN;
3315 >    ConfigServerInfo.max_nick_length = NICKLEN;
3316    }
3317    else
3318 <    ServerInfo.max_nick_length = (yyvsp[-1].number);
3318 >    ConfigServerInfo.max_nick_length = (yyvsp[-1].number);
3319   }
3320 < #line 3417 "conf_parser.c" /* yacc.c:1646  */
3320 > #line 3321 "conf_parser.c" /* yacc.c:1646  */
3321      break;
3322  
3323 <  case 99:
3324 < #line 857 "conf_parser.y" /* yacc.c:1646  */
3323 >  case 101:
3324 > #line 762 "conf_parser.y" /* yacc.c:1646  */
3325      {
3326    if (conf_parser_ctx.pass != 2)
3327      break;
# Line 3425 | Line 3329 | yyreduce:
3329    if ((yyvsp[-1].number) < 80)
3330    {
3331      conf_error_report("max_topic_length too low, setting to 80");
3332 <    ServerInfo.max_topic_length = 80;
3332 >    ConfigServerInfo.max_topic_length = 80;
3333    }
3334    else if ((yyvsp[-1].number) > TOPICLEN)
3335    {
# Line 3433 | Line 3337 | yyreduce:
3337  
3338      snprintf(buf, sizeof(buf), "max_topic_length too high, setting to %d", TOPICLEN);
3339      conf_error_report(buf);
3340 <    ServerInfo.max_topic_length = TOPICLEN;
3340 >    ConfigServerInfo.max_topic_length = TOPICLEN;
3341    }
3342    else
3343 <    ServerInfo.max_topic_length = (yyvsp[-1].number);
3343 >    ConfigServerInfo.max_topic_length = (yyvsp[-1].number);
3344   }
3345 < #line 3442 "conf_parser.c" /* yacc.c:1646  */
3345 > #line 3346 "conf_parser.c" /* yacc.c:1646  */
3346      break;
3347  
3348 <  case 100:
3349 < #line 879 "conf_parser.y" /* yacc.c:1646  */
3348 >  case 102:
3349 > #line 784 "conf_parser.y" /* yacc.c:1646  */
3350      {
3351    if (conf_parser_ctx.pass == 2)
3352 <    ServerInfo.hub = yylval.number;
3352 >    ConfigServerInfo.hub = yylval.number;
3353   }
3354 < #line 3451 "conf_parser.c" /* yacc.c:1646  */
3354 > #line 3355 "conf_parser.c" /* yacc.c:1646  */
3355      break;
3356  
3357 <  case 108:
3358 < #line 896 "conf_parser.y" /* yacc.c:1646  */
3357 >  case 110:
3358 > #line 802 "conf_parser.y" /* yacc.c:1646  */
3359      {
3360    if (conf_parser_ctx.pass != 2)
3361      break;
3362  
3363 <  MyFree(AdminInfo.name);
3364 <  AdminInfo.name = xstrdup(yylval.string);
3363 >  xfree(ConfigAdminInfo.name);
3364 >  ConfigAdminInfo.name = xstrdup(yylval.string);
3365   }
3366 < #line 3463 "conf_parser.c" /* yacc.c:1646  */
3366 > #line 3367 "conf_parser.c" /* yacc.c:1646  */
3367      break;
3368  
3369 <  case 109:
3370 < #line 905 "conf_parser.y" /* yacc.c:1646  */
3369 >  case 111:
3370 > #line 811 "conf_parser.y" /* yacc.c:1646  */
3371      {
3372    if (conf_parser_ctx.pass != 2)
3373      break;
3374  
3375 <  MyFree(AdminInfo.email);
3376 <  AdminInfo.email = xstrdup(yylval.string);
3375 >  xfree(ConfigAdminInfo.email);
3376 >  ConfigAdminInfo.email = xstrdup(yylval.string);
3377   }
3378 < #line 3475 "conf_parser.c" /* yacc.c:1646  */
3378 > #line 3379 "conf_parser.c" /* yacc.c:1646  */
3379      break;
3380  
3381 <  case 110:
3382 < #line 914 "conf_parser.y" /* yacc.c:1646  */
3381 >  case 112:
3382 > #line 820 "conf_parser.y" /* yacc.c:1646  */
3383      {
3384    if (conf_parser_ctx.pass != 2)
3385      break;
3386  
3387 <  MyFree(AdminInfo.description);
3388 <  AdminInfo.description = xstrdup(yylval.string);
3387 >  xfree(ConfigAdminInfo.description);
3388 >  ConfigAdminInfo.description = xstrdup(yylval.string);
3389   }
3390 < #line 3487 "conf_parser.c" /* yacc.c:1646  */
3390 > #line 3391 "conf_parser.c" /* yacc.c:1646  */
3391      break;
3392  
3393 <  case 111:
3394 < #line 926 "conf_parser.y" /* yacc.c:1646  */
3393 >  case 113:
3394 > #line 833 "conf_parser.y" /* yacc.c:1646  */
3395      {
3396    if (conf_parser_ctx.pass == 2)
3397      reset_block_state();
3398   }
3399 < #line 3496 "conf_parser.c" /* yacc.c:1646  */
3399 > #line 3400 "conf_parser.c" /* yacc.c:1646  */
3400      break;
3401  
3402 <  case 112:
3403 < #line 930 "conf_parser.y" /* yacc.c:1646  */
3402 >  case 114:
3403 > #line 837 "conf_parser.y" /* yacc.c:1646  */
3404      {
3405 <  dlink_node *ptr = NULL;
3405 >  dlink_node *node = NULL;
3406  
3407    if (conf_parser_ctx.pass != 2)
3408      break;
# Line 3506 | Line 3410 | yyreduce:
3410    if (!block_state.file.buf[0])
3411      break;
3412  
3413 <  DLINK_FOREACH(ptr, block_state.mask.list.head)
3414 <    motd_add(ptr->data, block_state.file.buf);
3413 >  DLINK_FOREACH(node, block_state.mask.list.head)
3414 >    motd_add(node->data, block_state.file.buf);
3415   }
3416 < #line 3513 "conf_parser.c" /* yacc.c:1646  */
3416 > #line 3417 "conf_parser.c" /* yacc.c:1646  */
3417      break;
3418  
3419 <  case 118:
3420 < #line 947 "conf_parser.y" /* yacc.c:1646  */
3419 >  case 120:
3420 > #line 854 "conf_parser.y" /* yacc.c:1646  */
3421      {
3422    if (conf_parser_ctx.pass == 2)
3423      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3424   }
3425 < #line 3522 "conf_parser.c" /* yacc.c:1646  */
3425 > #line 3426 "conf_parser.c" /* yacc.c:1646  */
3426      break;
3427  
3428 <  case 119:
3429 < #line 953 "conf_parser.y" /* yacc.c:1646  */
3428 >  case 121:
3429 > #line 860 "conf_parser.y" /* yacc.c:1646  */
3430      {
3431    if (conf_parser_ctx.pass == 2)
3432      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3433   }
3434 < #line 3531 "conf_parser.c" /* yacc.c:1646  */
3434 > #line 3435 "conf_parser.c" /* yacc.c:1646  */
3435 >    break;
3436 >
3437 >  case 122:
3438 > #line 870 "conf_parser.y" /* yacc.c:1646  */
3439 >    {
3440 >  if (conf_parser_ctx.pass == 2)
3441 >    reset_block_state();
3442 > }
3443 > #line 3444 "conf_parser.c" /* yacc.c:1646  */
3444 >    break;
3445 >
3446 >  case 123:
3447 > #line 874 "conf_parser.y" /* yacc.c:1646  */
3448 >    {
3449 >  if (conf_parser_ctx.pass != 2)
3450 >    break;
3451 >
3452 >  if (!block_state.command.buf[0] ||
3453 >      !block_state.name.buf[0] ||
3454 >      !block_state.nick.buf[0] ||
3455 >      !block_state.host.buf[0])
3456 >    break;
3457 >
3458 >  pseudo_register(block_state.name.buf, block_state.nick.buf, block_state.host.buf,
3459 >                  block_state.prepend.buf, block_state.command.buf);
3460 > }
3461 > #line 3462 "conf_parser.c" /* yacc.c:1646  */
3462 >    break;
3463 >
3464 >  case 131:
3465 > #line 892 "conf_parser.y" /* yacc.c:1646  */
3466 >    {
3467 >  if (conf_parser_ctx.pass == 2)
3468 >    strlcpy(block_state.command.buf, yylval.string, sizeof(block_state.command.buf));
3469 > }
3470 > #line 3471 "conf_parser.c" /* yacc.c:1646  */
3471 >    break;
3472 >
3473 >  case 132:
3474 > #line 898 "conf_parser.y" /* yacc.c:1646  */
3475 >    {
3476 >  if (conf_parser_ctx.pass == 2)
3477 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3478 > }
3479 > #line 3480 "conf_parser.c" /* yacc.c:1646  */
3480 >    break;
3481 >
3482 >  case 133:
3483 > #line 904 "conf_parser.y" /* yacc.c:1646  */
3484 >    {
3485 >  if (conf_parser_ctx.pass == 2)
3486 >    strlcpy(block_state.prepend.buf, yylval.string, sizeof(block_state.prepend.buf));
3487 > }
3488 > #line 3489 "conf_parser.c" /* yacc.c:1646  */
3489      break;
3490  
3491 <  case 126:
3492 < #line 968 "conf_parser.y" /* yacc.c:1646  */
3491 >  case 134:
3492 > #line 910 "conf_parser.y" /* yacc.c:1646  */
3493      {
3494    if (conf_parser_ctx.pass == 2)
3495 <    ConfigLoggingEntry.use_logging = yylval.number;
3495 >  {
3496 >    struct split_nuh_item nuh;
3497 >
3498 >    nuh.nuhmask  = yylval.string;
3499 >    nuh.nickptr  = NULL;
3500 >    nuh.userptr  = block_state.nick.buf;
3501 >    nuh.hostptr  = block_state.host.buf;
3502 >    nuh.nicksize = 0;
3503 >    nuh.usersize = sizeof(block_state.nick.buf);
3504 >    nuh.hostsize = sizeof(block_state.host.buf);
3505 >
3506 >    split_nuh(&nuh);
3507 >  }
3508   }
3509 < #line 3540 "conf_parser.c" /* yacc.c:1646  */
3509 > #line 3510 "conf_parser.c" /* yacc.c:1646  */
3510      break;
3511  
3512 <  case 127:
3513 < #line 974 "conf_parser.y" /* yacc.c:1646  */
3512 >  case 141:
3513 > #line 938 "conf_parser.y" /* yacc.c:1646  */
3514 >    {
3515 >  if (conf_parser_ctx.pass == 2)
3516 >    ConfigLog.use_logging = yylval.number;
3517 > }
3518 > #line 3519 "conf_parser.c" /* yacc.c:1646  */
3519 >    break;
3520 >
3521 >  case 142:
3522 > #line 944 "conf_parser.y" /* yacc.c:1646  */
3523      {
3524    if (conf_parser_ctx.pass == 2)
3525      reset_block_state();
3526   }
3527 < #line 3549 "conf_parser.c" /* yacc.c:1646  */
3527 > #line 3528 "conf_parser.c" /* yacc.c:1646  */
3528      break;
3529  
3530 <  case 128:
3531 < #line 978 "conf_parser.y" /* yacc.c:1646  */
3530 >  case 143:
3531 > #line 948 "conf_parser.y" /* yacc.c:1646  */
3532      {
3533    if (conf_parser_ctx.pass != 2)
3534      break;
# Line 3558 | Line 3537 | yyreduce:
3537      log_set_file(block_state.type.value, block_state.size.value,
3538                   block_state.file.buf);
3539   }
3540 < #line 3562 "conf_parser.c" /* yacc.c:1646  */
3540 > #line 3541 "conf_parser.c" /* yacc.c:1646  */
3541      break;
3542  
3543 <  case 135:
3544 < #line 994 "conf_parser.y" /* yacc.c:1646  */
3543 >  case 150:
3544 > #line 964 "conf_parser.y" /* yacc.c:1646  */
3545      {
3546    if (conf_parser_ctx.pass != 2)
3547      break;
3548  
3549    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3550   }
3551 < #line 3573 "conf_parser.c" /* yacc.c:1646  */
3551 > #line 3552 "conf_parser.c" /* yacc.c:1646  */
3552      break;
3553  
3554 <  case 136:
3555 < #line 1002 "conf_parser.y" /* yacc.c:1646  */
3554 >  case 151:
3555 > #line 972 "conf_parser.y" /* yacc.c:1646  */
3556      {
3557    block_state.size.value = (yyvsp[-1].number);
3558   }
3559 < #line 3581 "conf_parser.c" /* yacc.c:1646  */
3559 > #line 3560 "conf_parser.c" /* yacc.c:1646  */
3560      break;
3561  
3562 <  case 137:
3563 < #line 1005 "conf_parser.y" /* yacc.c:1646  */
3562 >  case 152:
3563 > #line 975 "conf_parser.y" /* yacc.c:1646  */
3564      {
3565    block_state.size.value = 0;
3566   }
3567 < #line 3589 "conf_parser.c" /* yacc.c:1646  */
3567 > #line 3568 "conf_parser.c" /* yacc.c:1646  */
3568      break;
3569  
3570 <  case 138:
3571 < #line 1010 "conf_parser.y" /* yacc.c:1646  */
3570 >  case 153:
3571 > #line 980 "conf_parser.y" /* yacc.c:1646  */
3572      {
3573    if (conf_parser_ctx.pass == 2)
3574      block_state.type.value = 0;
3575   }
3576 < #line 3598 "conf_parser.c" /* yacc.c:1646  */
3576 > #line 3577 "conf_parser.c" /* yacc.c:1646  */
3577      break;
3578  
3579 <  case 142:
3580 < #line 1017 "conf_parser.y" /* yacc.c:1646  */
3579 >  case 157:
3580 > #line 987 "conf_parser.y" /* yacc.c:1646  */
3581      {
3582    if (conf_parser_ctx.pass == 2)
3583      block_state.type.value = LOG_TYPE_USER;
3584   }
3585 < #line 3607 "conf_parser.c" /* yacc.c:1646  */
3585 > #line 3586 "conf_parser.c" /* yacc.c:1646  */
3586      break;
3587  
3588 <  case 143:
3589 < #line 1021 "conf_parser.y" /* yacc.c:1646  */
3588 >  case 158:
3589 > #line 991 "conf_parser.y" /* yacc.c:1646  */
3590      {
3591    if (conf_parser_ctx.pass == 2)
3592      block_state.type.value = LOG_TYPE_OPER;
3593   }
3594 < #line 3616 "conf_parser.c" /* yacc.c:1646  */
3594 > #line 3595 "conf_parser.c" /* yacc.c:1646  */
3595      break;
3596  
3597 <  case 144:
3598 < #line 1025 "conf_parser.y" /* yacc.c:1646  */
3620 <    {
3621 <  if (conf_parser_ctx.pass == 2)
3622 <    block_state.type.value = LOG_TYPE_GLINE;
3623 < }
3624 < #line 3625 "conf_parser.c" /* yacc.c:1646  */
3625 <    break;
3626 <
3627 <  case 145:
3628 < #line 1029 "conf_parser.y" /* yacc.c:1646  */
3597 >  case 159:
3598 > #line 995 "conf_parser.y" /* yacc.c:1646  */
3599      {
3600    if (conf_parser_ctx.pass == 2)
3601      block_state.type.value = LOG_TYPE_XLINE;
3602   }
3603 < #line 3634 "conf_parser.c" /* yacc.c:1646  */
3603 > #line 3604 "conf_parser.c" /* yacc.c:1646  */
3604      break;
3605  
3606 <  case 146:
3607 < #line 1033 "conf_parser.y" /* yacc.c:1646  */
3606 >  case 160:
3607 > #line 999 "conf_parser.y" /* yacc.c:1646  */
3608      {
3609    if (conf_parser_ctx.pass == 2)
3610      block_state.type.value = LOG_TYPE_RESV;
3611   }
3612 < #line 3643 "conf_parser.c" /* yacc.c:1646  */
3612 > #line 3613 "conf_parser.c" /* yacc.c:1646  */
3613      break;
3614  
3615 <  case 147:
3616 < #line 1037 "conf_parser.y" /* yacc.c:1646  */
3615 >  case 161:
3616 > #line 1003 "conf_parser.y" /* yacc.c:1646  */
3617      {
3618    if (conf_parser_ctx.pass == 2)
3619      block_state.type.value = LOG_TYPE_DLINE;
3620   }
3621 < #line 3652 "conf_parser.c" /* yacc.c:1646  */
3621 > #line 3622 "conf_parser.c" /* yacc.c:1646  */
3622      break;
3623  
3624 <  case 148:
3625 < #line 1041 "conf_parser.y" /* yacc.c:1646  */
3624 >  case 162:
3625 > #line 1007 "conf_parser.y" /* yacc.c:1646  */
3626      {
3627    if (conf_parser_ctx.pass == 2)
3628      block_state.type.value = LOG_TYPE_KLINE;
3629   }
3630 < #line 3661 "conf_parser.c" /* yacc.c:1646  */
3630 > #line 3631 "conf_parser.c" /* yacc.c:1646  */
3631      break;
3632  
3633 <  case 149:
3634 < #line 1045 "conf_parser.y" /* yacc.c:1646  */
3633 >  case 163:
3634 > #line 1011 "conf_parser.y" /* yacc.c:1646  */
3635      {
3636    if (conf_parser_ctx.pass == 2)
3637      block_state.type.value = LOG_TYPE_KILL;
3638   }
3639 < #line 3670 "conf_parser.c" /* yacc.c:1646  */
3639 > #line 3640 "conf_parser.c" /* yacc.c:1646  */
3640      break;
3641  
3642 <  case 150:
3643 < #line 1049 "conf_parser.y" /* yacc.c:1646  */
3642 >  case 164:
3643 > #line 1015 "conf_parser.y" /* yacc.c:1646  */
3644      {
3645    if (conf_parser_ctx.pass == 2)
3646      block_state.type.value = LOG_TYPE_DEBUG;
3647   }
3648 < #line 3679 "conf_parser.c" /* yacc.c:1646  */
3648 > #line 3649 "conf_parser.c" /* yacc.c:1646  */
3649      break;
3650  
3651 <  case 151:
3652 < #line 1059 "conf_parser.y" /* yacc.c:1646  */
3651 >  case 165:
3652 > #line 1025 "conf_parser.y" /* yacc.c:1646  */
3653      {
3654    if (conf_parser_ctx.pass != 2)
3655      break;
# Line 3687 | Line 3657 | yyreduce:
3657    reset_block_state();
3658    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3659   }
3660 < #line 3691 "conf_parser.c" /* yacc.c:1646  */
3660 > #line 3661 "conf_parser.c" /* yacc.c:1646  */
3661      break;
3662  
3663 <  case 152:
3664 < #line 1066 "conf_parser.y" /* yacc.c:1646  */
3663 >  case 166:
3664 > #line 1032 "conf_parser.y" /* yacc.c:1646  */
3665      {
3666 <  dlink_node *ptr = NULL;
3666 >  dlink_node *node = NULL;
3667  
3668    if (conf_parser_ctx.pass != 2)
3669      break;
3670  
3671    if (!block_state.name.buf[0])
3672      break;
3673 < #ifdef HAVE_LIBCRYPTO
3704 <  if (!block_state.file.buf[0] &&
3705 <      !block_state.rpass.buf[0])
3706 <    break;
3707 < #else
3673 >
3674    if (!block_state.rpass.buf[0])
3675      break;
3710 #endif
3676  
3677 <  DLINK_FOREACH(ptr, block_state.mask.list.head)
3677 >  DLINK_FOREACH(node, block_state.mask.list.head)
3678    {
3679      struct MaskItem *conf = NULL;
3680      struct split_nuh_item nuh;
3681 +    char *s = node->data;
3682 +
3683 +    if (EmptyString(s))
3684 +      continue;
3685  
3686 <    nuh.nuhmask  = ptr->data;
3686 >    nuh.nuhmask  = s;
3687      nuh.nickptr  = NULL;
3688      nuh.userptr  = block_state.user.buf;
3689      nuh.hostptr  = block_state.host.buf;
# Line 3734 | Line 3703 | yyreduce:
3703      if (block_state.rpass.buf[0])
3704        conf->passwd = xstrdup(block_state.rpass.buf);
3705  
3706 +    if (block_state.whois.buf[0])
3707 +      conf->whois = xstrdup(block_state.whois.buf);
3708 +
3709      conf->flags = block_state.flags.value;
3710      conf->modes = block_state.modes.value;
3711      conf->port  = block_state.port.value;
3712      conf->htype = parse_netmask(conf->host, &conf->addr, &conf->bits);
3713  
3714      conf_add_class_to_conf(conf, block_state.class.buf);
3743
3744 #ifdef HAVE_LIBCRYPTO
3745    if (block_state.file.buf[0])
3746    {
3747      BIO *file = NULL;
3748      RSA *pkey = NULL;
3749
3750      if ((file = BIO_new_file(block_state.file.buf, "r")) == NULL)
3751      {
3752        conf_error_report("Ignoring rsa_public_key_file -- file doesn't exist");
3753        break;
3754      }
3755
3756      if ((pkey = PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL)) == NULL)
3757        conf_error_report("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
3758
3759      conf->rsa_public_key = pkey;
3760      BIO_set_close(file, BIO_CLOSE);
3761      BIO_free(file);
3762    }
3763 #endif /* HAVE_LIBCRYPTO */
3715    }
3716   }
3717 < #line 3767 "conf_parser.c" /* yacc.c:1646  */
3717 > #line 3718 "conf_parser.c" /* yacc.c:1646  */
3718      break;
3719  
3720 <  case 166:
3721 < #line 1152 "conf_parser.y" /* yacc.c:1646  */
3720 >  case 180:
3721 > #line 1099 "conf_parser.y" /* yacc.c:1646  */
3722      {
3723    if (conf_parser_ctx.pass == 2)
3724      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3725   }
3726 < #line 3776 "conf_parser.c" /* yacc.c:1646  */
3726 > #line 3727 "conf_parser.c" /* yacc.c:1646  */
3727      break;
3728  
3729 <  case 167:
3730 < #line 1158 "conf_parser.y" /* yacc.c:1646  */
3729 >  case 181:
3730 > #line 1105 "conf_parser.y" /* yacc.c:1646  */
3731      {
3732    if (conf_parser_ctx.pass == 2)
3733      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3734   }
3735 < #line 3785 "conf_parser.c" /* yacc.c:1646  */
3735 > #line 3736 "conf_parser.c" /* yacc.c:1646  */
3736      break;
3737  
3738 <  case 168:
3739 < #line 1164 "conf_parser.y" /* yacc.c:1646  */
3738 >  case 182:
3739 > #line 1111 "conf_parser.y" /* yacc.c:1646  */
3740      {
3741    if (conf_parser_ctx.pass == 2)
3742      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
3743   }
3744 < #line 3794 "conf_parser.c" /* yacc.c:1646  */
3744 > #line 3745 "conf_parser.c" /* yacc.c:1646  */
3745 >    break;
3746 >
3747 >  case 183:
3748 > #line 1117 "conf_parser.y" /* yacc.c:1646  */
3749 >    {
3750 >  if (conf_parser_ctx.pass == 2)
3751 >    strlcpy(block_state.whois.buf, yylval.string, sizeof(block_state.whois.buf));
3752 > }
3753 > #line 3754 "conf_parser.c" /* yacc.c:1646  */
3754      break;
3755  
3756 <  case 169:
3757 < #line 1170 "conf_parser.y" /* yacc.c:1646  */
3756 >  case 184:
3757 > #line 1123 "conf_parser.y" /* yacc.c:1646  */
3758      {
3759    if (conf_parser_ctx.pass != 2)
3760      break;
# Line 3804 | Line 3764 | yyreduce:
3764    else
3765      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3766   }
3767 < #line 3808 "conf_parser.c" /* yacc.c:1646  */
3767 > #line 3768 "conf_parser.c" /* yacc.c:1646  */
3768      break;
3769  
3770 <  case 170:
3771 < #line 1181 "conf_parser.y" /* yacc.c:1646  */
3812 <    {
3813 <  if (conf_parser_ctx.pass == 2)
3814 <    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3815 < }
3816 < #line 3817 "conf_parser.c" /* yacc.c:1646  */
3817 <    break;
3818 <
3819 <  case 171:
3820 < #line 1187 "conf_parser.y" /* yacc.c:1646  */
3770 >  case 185:
3771 > #line 1134 "conf_parser.y" /* yacc.c:1646  */
3772      {
3773    if (conf_parser_ctx.pass == 2)
3774      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
3775   }
3776 < #line 3826 "conf_parser.c" /* yacc.c:1646  */
3776 > #line 3777 "conf_parser.c" /* yacc.c:1646  */
3777      break;
3778  
3779 <  case 172:
3780 < #line 1193 "conf_parser.y" /* yacc.c:1646  */
3779 >  case 186:
3780 > #line 1140 "conf_parser.y" /* yacc.c:1646  */
3781      {
3782    if (conf_parser_ctx.pass != 2)
3783      break;
# Line 3836 | Line 3787 | yyreduce:
3787    else
3788      block_state.flags.value &= ~CONF_FLAGS_SSL;
3789   }
3790 < #line 3840 "conf_parser.c" /* yacc.c:1646  */
3790 > #line 3791 "conf_parser.c" /* yacc.c:1646  */
3791      break;
3792  
3793 <  case 173:
3794 < #line 1204 "conf_parser.y" /* yacc.c:1646  */
3793 >  case 187:
3794 > #line 1151 "conf_parser.y" /* yacc.c:1646  */
3795      {
3796    if (conf_parser_ctx.pass == 2)
3797      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3798   }
3799 < #line 3849 "conf_parser.c" /* yacc.c:1646  */
3799 > #line 3800 "conf_parser.c" /* yacc.c:1646  */
3800      break;
3801  
3802 <  case 174:
3803 < #line 1210 "conf_parser.y" /* yacc.c:1646  */
3802 >  case 188:
3803 > #line 1157 "conf_parser.y" /* yacc.c:1646  */
3804      {
3805    if (conf_parser_ctx.pass == 2)
3806      block_state.modes.value = 0;
3807   }
3808 < #line 3858 "conf_parser.c" /* yacc.c:1646  */
3808 > #line 3809 "conf_parser.c" /* yacc.c:1646  */
3809      break;
3810  
3811 <  case 178:
3812 < #line 1217 "conf_parser.y" /* yacc.c:1646  */
3811 >  case 192:
3812 > #line 1164 "conf_parser.y" /* yacc.c:1646  */
3813      {
3814    if (conf_parser_ctx.pass == 2)
3815      block_state.modes.value |= UMODE_BOTS;
3816   }
3817 < #line 3867 "conf_parser.c" /* yacc.c:1646  */
3817 > #line 3818 "conf_parser.c" /* yacc.c:1646  */
3818      break;
3819  
3820 <  case 179:
3821 < #line 1221 "conf_parser.y" /* yacc.c:1646  */
3820 >  case 193:
3821 > #line 1168 "conf_parser.y" /* yacc.c:1646  */
3822      {
3823    if (conf_parser_ctx.pass == 2)
3824      block_state.modes.value |= UMODE_CCONN;
3825   }
3826 < #line 3876 "conf_parser.c" /* yacc.c:1646  */
3826 > #line 3827 "conf_parser.c" /* yacc.c:1646  */
3827      break;
3828  
3829 <  case 180:
3830 < #line 1225 "conf_parser.y" /* yacc.c:1646  */
3829 >  case 194:
3830 > #line 1172 "conf_parser.y" /* yacc.c:1646  */
3831      {
3832    if (conf_parser_ctx.pass == 2)
3833      block_state.modes.value |= UMODE_DEAF;
3834   }
3835 < #line 3885 "conf_parser.c" /* yacc.c:1646  */
3835 > #line 3836 "conf_parser.c" /* yacc.c:1646  */
3836      break;
3837  
3838 <  case 181:
3839 < #line 1229 "conf_parser.y" /* yacc.c:1646  */
3838 >  case 195:
3839 > #line 1176 "conf_parser.y" /* yacc.c:1646  */
3840      {
3841    if (conf_parser_ctx.pass == 2)
3842      block_state.modes.value |= UMODE_DEBUG;
3843   }
3844 < #line 3894 "conf_parser.c" /* yacc.c:1646  */
3844 > #line 3845 "conf_parser.c" /* yacc.c:1646  */
3845      break;
3846  
3847 <  case 182:
3848 < #line 1233 "conf_parser.y" /* yacc.c:1646  */
3847 >  case 196:
3848 > #line 1180 "conf_parser.y" /* yacc.c:1646  */
3849      {
3850    if (conf_parser_ctx.pass == 2)
3851      block_state.modes.value |= UMODE_FULL;
3852   }
3853 < #line 3903 "conf_parser.c" /* yacc.c:1646  */
3853 > #line 3854 "conf_parser.c" /* yacc.c:1646  */
3854      break;
3855  
3856 <  case 183:
3857 < #line 1237 "conf_parser.y" /* yacc.c:1646  */
3856 >  case 197:
3857 > #line 1184 "conf_parser.y" /* yacc.c:1646  */
3858      {
3859    if (conf_parser_ctx.pass == 2)
3860      block_state.modes.value |= UMODE_HIDDEN;
3861   }
3862 < #line 3912 "conf_parser.c" /* yacc.c:1646  */
3862 > #line 3863 "conf_parser.c" /* yacc.c:1646  */
3863      break;
3864  
3865 <  case 184:
3866 < #line 1241 "conf_parser.y" /* yacc.c:1646  */
3865 >  case 198:
3866 > #line 1188 "conf_parser.y" /* yacc.c:1646  */
3867      {
3868    if (conf_parser_ctx.pass == 2)
3869      block_state.modes.value |= UMODE_HIDECHANS;
3870   }
3871 < #line 3921 "conf_parser.c" /* yacc.c:1646  */
3871 > #line 3872 "conf_parser.c" /* yacc.c:1646  */
3872      break;
3873  
3874 <  case 185:
3875 < #line 1245 "conf_parser.y" /* yacc.c:1646  */
3874 >  case 199:
3875 > #line 1192 "conf_parser.y" /* yacc.c:1646  */
3876      {
3877    if (conf_parser_ctx.pass == 2)
3878      block_state.modes.value |= UMODE_HIDEIDLE;
3879   }
3880 < #line 3930 "conf_parser.c" /* yacc.c:1646  */
3880 > #line 3881 "conf_parser.c" /* yacc.c:1646  */
3881      break;
3882  
3883 <  case 186:
3884 < #line 1249 "conf_parser.y" /* yacc.c:1646  */
3883 >  case 200:
3884 > #line 1196 "conf_parser.y" /* yacc.c:1646  */
3885      {
3886    if (conf_parser_ctx.pass == 2)
3887      block_state.modes.value |= UMODE_SKILL;
3888   }
3889 < #line 3939 "conf_parser.c" /* yacc.c:1646  */
3889 > #line 3890 "conf_parser.c" /* yacc.c:1646  */
3890      break;
3891  
3892 <  case 187:
3893 < #line 1253 "conf_parser.y" /* yacc.c:1646  */
3892 >  case 201:
3893 > #line 1200 "conf_parser.y" /* yacc.c:1646  */
3894      {
3895    if (conf_parser_ctx.pass == 2)
3896      block_state.modes.value |= UMODE_NCHANGE;
3897   }
3898 < #line 3948 "conf_parser.c" /* yacc.c:1646  */
3898 > #line 3899 "conf_parser.c" /* yacc.c:1646  */
3899      break;
3900  
3901 <  case 188:
3902 < #line 1257 "conf_parser.y" /* yacc.c:1646  */
3901 >  case 202:
3902 > #line 1204 "conf_parser.y" /* yacc.c:1646  */
3903      {
3904    if (conf_parser_ctx.pass == 2)
3905      block_state.modes.value |= UMODE_REJ;
3906   }
3907 < #line 3957 "conf_parser.c" /* yacc.c:1646  */
3907 > #line 3908 "conf_parser.c" /* yacc.c:1646  */
3908      break;
3909  
3910 <  case 189:
3911 < #line 1261 "conf_parser.y" /* yacc.c:1646  */
3910 >  case 203:
3911 > #line 1208 "conf_parser.y" /* yacc.c:1646  */
3912      {
3913    if (conf_parser_ctx.pass == 2)
3914      block_state.modes.value |= UMODE_UNAUTH;
3915   }
3916 < #line 3966 "conf_parser.c" /* yacc.c:1646  */
3916 > #line 3917 "conf_parser.c" /* yacc.c:1646  */
3917      break;
3918  
3919 <  case 190:
3920 < #line 1265 "conf_parser.y" /* yacc.c:1646  */
3919 >  case 204:
3920 > #line 1212 "conf_parser.y" /* yacc.c:1646  */
3921      {
3922    if (conf_parser_ctx.pass == 2)
3923      block_state.modes.value |= UMODE_SPY;
3924   }
3925 < #line 3975 "conf_parser.c" /* yacc.c:1646  */
3925 > #line 3926 "conf_parser.c" /* yacc.c:1646  */
3926      break;
3927  
3928 <  case 191:
3929 < #line 1269 "conf_parser.y" /* yacc.c:1646  */
3928 >  case 205:
3929 > #line 1216 "conf_parser.y" /* yacc.c:1646  */
3930      {
3931    if (conf_parser_ctx.pass == 2)
3932      block_state.modes.value |= UMODE_EXTERNAL;
3933   }
3934 < #line 3984 "conf_parser.c" /* yacc.c:1646  */
3934 > #line 3935 "conf_parser.c" /* yacc.c:1646  */
3935      break;
3936  
3937 <  case 192:
3938 < #line 1273 "conf_parser.y" /* yacc.c:1646  */
3937 >  case 206:
3938 > #line 1220 "conf_parser.y" /* yacc.c:1646  */
3939      {
3940    if (conf_parser_ctx.pass == 2)
3941      block_state.modes.value |= UMODE_SERVNOTICE;
3942   }
3943 < #line 3993 "conf_parser.c" /* yacc.c:1646  */
3943 > #line 3944 "conf_parser.c" /* yacc.c:1646  */
3944      break;
3945  
3946 <  case 193:
3947 < #line 1277 "conf_parser.y" /* yacc.c:1646  */
3946 >  case 207:
3947 > #line 1224 "conf_parser.y" /* yacc.c:1646  */
3948      {
3949    if (conf_parser_ctx.pass == 2)
3950      block_state.modes.value |= UMODE_INVISIBLE;
3951   }
3952 < #line 4002 "conf_parser.c" /* yacc.c:1646  */
3952 > #line 3953 "conf_parser.c" /* yacc.c:1646  */
3953      break;
3954  
3955 <  case 194:
3956 < #line 1281 "conf_parser.y" /* yacc.c:1646  */
3955 >  case 208:
3956 > #line 1228 "conf_parser.y" /* yacc.c:1646  */
3957      {
3958    if (conf_parser_ctx.pass == 2)
3959      block_state.modes.value |= UMODE_WALLOP;
3960   }
3961 < #line 4011 "conf_parser.c" /* yacc.c:1646  */
3961 > #line 3962 "conf_parser.c" /* yacc.c:1646  */
3962      break;
3963  
3964 <  case 195:
3965 < #line 1285 "conf_parser.y" /* yacc.c:1646  */
3964 >  case 209:
3965 > #line 1232 "conf_parser.y" /* yacc.c:1646  */
3966      {
3967    if (conf_parser_ctx.pass == 2)
3968      block_state.modes.value |= UMODE_SOFTCALLERID;
3969   }
3970 < #line 4020 "conf_parser.c" /* yacc.c:1646  */
3970 > #line 3971 "conf_parser.c" /* yacc.c:1646  */
3971      break;
3972  
3973 <  case 196:
3974 < #line 1289 "conf_parser.y" /* yacc.c:1646  */
3973 >  case 210:
3974 > #line 1236 "conf_parser.y" /* yacc.c:1646  */
3975      {
3976    if (conf_parser_ctx.pass == 2)
3977      block_state.modes.value |= UMODE_CALLERID;
3978   }
3979 < #line 4029 "conf_parser.c" /* yacc.c:1646  */
3979 > #line 3980 "conf_parser.c" /* yacc.c:1646  */
3980      break;
3981  
3982 <  case 197:
3983 < #line 1293 "conf_parser.y" /* yacc.c:1646  */
3982 >  case 211:
3983 > #line 1240 "conf_parser.y" /* yacc.c:1646  */
3984      {
3985    if (conf_parser_ctx.pass == 2)
3986      block_state.modes.value |= UMODE_LOCOPS;
3987   }
3988 < #line 4038 "conf_parser.c" /* yacc.c:1646  */
3988 > #line 3989 "conf_parser.c" /* yacc.c:1646  */
3989      break;
3990  
3991 <  case 198:
3992 < #line 1297 "conf_parser.y" /* yacc.c:1646  */
3991 >  case 212:
3992 > #line 1244 "conf_parser.y" /* yacc.c:1646  */
3993      {
3994    if (conf_parser_ctx.pass == 2)
3995      block_state.modes.value |= UMODE_REGONLY;
3996   }
3997 < #line 4047 "conf_parser.c" /* yacc.c:1646  */
3997 > #line 3998 "conf_parser.c" /* yacc.c:1646  */
3998      break;
3999  
4000 <  case 199:
4001 < #line 1301 "conf_parser.y" /* yacc.c:1646  */
4000 >  case 213:
4001 > #line 1248 "conf_parser.y" /* yacc.c:1646  */
4002      {
4003    if (conf_parser_ctx.pass == 2)
4004      block_state.modes.value |= UMODE_FARCONNECT;
4005   }
4006 < #line 4056 "conf_parser.c" /* yacc.c:1646  */
4006 > #line 4007 "conf_parser.c" /* yacc.c:1646  */
4007      break;
4008  
4009 <  case 200:
4010 < #line 1307 "conf_parser.y" /* yacc.c:1646  */
4009 >  case 214:
4010 > #line 1254 "conf_parser.y" /* yacc.c:1646  */
4011      {
4012    if (conf_parser_ctx.pass == 2)
4013      block_state.port.value = 0;
4014   }
4015 < #line 4065 "conf_parser.c" /* yacc.c:1646  */
4015 > #line 4016 "conf_parser.c" /* yacc.c:1646  */
4016      break;
4017  
4018 <  case 204:
4019 < #line 1314 "conf_parser.y" /* yacc.c:1646  */
4018 >  case 218:
4019 > #line 1261 "conf_parser.y" /* yacc.c:1646  */
4020      {
4021    if (conf_parser_ctx.pass == 2)
4022      block_state.port.value |= OPER_FLAG_KILL_REMOTE;
4023   }
4024 < #line 4074 "conf_parser.c" /* yacc.c:1646  */
4024 > #line 4025 "conf_parser.c" /* yacc.c:1646  */
4025      break;
4026  
4027 <  case 205:
4028 < #line 1318 "conf_parser.y" /* yacc.c:1646  */
4027 >  case 219:
4028 > #line 1265 "conf_parser.y" /* yacc.c:1646  */
4029      {
4030    if (conf_parser_ctx.pass == 2)
4031      block_state.port.value |= OPER_FLAG_KILL;
4032   }
4033 < #line 4083 "conf_parser.c" /* yacc.c:1646  */
4033 > #line 4034 "conf_parser.c" /* yacc.c:1646  */
4034      break;
4035  
4036 <  case 206:
4037 < #line 1322 "conf_parser.y" /* yacc.c:1646  */
4036 >  case 220:
4037 > #line 1269 "conf_parser.y" /* yacc.c:1646  */
4038      {
4039    if (conf_parser_ctx.pass == 2)
4040      block_state.port.value |= OPER_FLAG_CONNECT_REMOTE;
4041   }
4042 < #line 4092 "conf_parser.c" /* yacc.c:1646  */
4042 > #line 4043 "conf_parser.c" /* yacc.c:1646  */
4043      break;
4044  
4045 <  case 207:
4046 < #line 1326 "conf_parser.y" /* yacc.c:1646  */
4045 >  case 221:
4046 > #line 1273 "conf_parser.y" /* yacc.c:1646  */
4047      {
4048    if (conf_parser_ctx.pass == 2)
4049      block_state.port.value |= OPER_FLAG_CONNECT;
4050   }
4051 < #line 4101 "conf_parser.c" /* yacc.c:1646  */
4051 > #line 4052 "conf_parser.c" /* yacc.c:1646  */
4052      break;
4053  
4054 <  case 208:
4055 < #line 1330 "conf_parser.y" /* yacc.c:1646  */
4054 >  case 222:
4055 > #line 1277 "conf_parser.y" /* yacc.c:1646  */
4056      {
4057    if (conf_parser_ctx.pass == 2)
4058      block_state.port.value |= OPER_FLAG_SQUIT_REMOTE;
4059   }
4060 < #line 4110 "conf_parser.c" /* yacc.c:1646  */
4060 > #line 4061 "conf_parser.c" /* yacc.c:1646  */
4061      break;
4062  
4063 <  case 209:
4064 < #line 1334 "conf_parser.y" /* yacc.c:1646  */
4063 >  case 223:
4064 > #line 1281 "conf_parser.y" /* yacc.c:1646  */
4065      {
4066    if (conf_parser_ctx.pass == 2)
4067      block_state.port.value |= OPER_FLAG_SQUIT;
4068   }
4069 < #line 4119 "conf_parser.c" /* yacc.c:1646  */
4069 > #line 4070 "conf_parser.c" /* yacc.c:1646  */
4070      break;
4071  
4072 <  case 210:
4073 < #line 1338 "conf_parser.y" /* yacc.c:1646  */
4072 >  case 224:
4073 > #line 1285 "conf_parser.y" /* yacc.c:1646  */
4074      {
4075    if (conf_parser_ctx.pass == 2)
4076      block_state.port.value |= OPER_FLAG_KLINE;
4077   }
4078 < #line 4128 "conf_parser.c" /* yacc.c:1646  */
4078 > #line 4079 "conf_parser.c" /* yacc.c:1646  */
4079      break;
4080  
4081 <  case 211:
4082 < #line 1342 "conf_parser.y" /* yacc.c:1646  */
4081 >  case 225:
4082 > #line 1289 "conf_parser.y" /* yacc.c:1646  */
4083      {
4084    if (conf_parser_ctx.pass == 2)
4085      block_state.port.value |= OPER_FLAG_UNKLINE;
4086   }
4087 < #line 4137 "conf_parser.c" /* yacc.c:1646  */
4087 > #line 4088 "conf_parser.c" /* yacc.c:1646  */
4088      break;
4089  
4090 <  case 212:
4091 < #line 1346 "conf_parser.y" /* yacc.c:1646  */
4090 >  case 226:
4091 > #line 1293 "conf_parser.y" /* yacc.c:1646  */
4092      {
4093    if (conf_parser_ctx.pass == 2)
4094      block_state.port.value |= OPER_FLAG_DLINE;
4095   }
4096 < #line 4146 "conf_parser.c" /* yacc.c:1646  */
4096 > #line 4097 "conf_parser.c" /* yacc.c:1646  */
4097      break;
4098  
4099 <  case 213:
4100 < #line 1350 "conf_parser.y" /* yacc.c:1646  */
4099 >  case 227:
4100 > #line 1297 "conf_parser.y" /* yacc.c:1646  */
4101      {
4102    if (conf_parser_ctx.pass == 2)
4103      block_state.port.value |= OPER_FLAG_UNDLINE;
4104   }
4105 < #line 4155 "conf_parser.c" /* yacc.c:1646  */
4105 > #line 4106 "conf_parser.c" /* yacc.c:1646  */
4106      break;
4107  
4108 <  case 214:
4109 < #line 1354 "conf_parser.y" /* yacc.c:1646  */
4108 >  case 228:
4109 > #line 1301 "conf_parser.y" /* yacc.c:1646  */
4110      {
4111    if (conf_parser_ctx.pass == 2)
4112      block_state.port.value |= OPER_FLAG_XLINE;
4113   }
4114 < #line 4164 "conf_parser.c" /* yacc.c:1646  */
4114 > #line 4115 "conf_parser.c" /* yacc.c:1646  */
4115      break;
4116  
4117 <  case 215:
4118 < #line 1358 "conf_parser.y" /* yacc.c:1646  */
4117 >  case 229:
4118 > #line 1305 "conf_parser.y" /* yacc.c:1646  */
4119      {
4120    if (conf_parser_ctx.pass == 2)
4121      block_state.port.value |= OPER_FLAG_UNXLINE;
4122   }
4123 < #line 4173 "conf_parser.c" /* yacc.c:1646  */
4123 > #line 4124 "conf_parser.c" /* yacc.c:1646  */
4124      break;
4125  
4126 <  case 216:
4127 < #line 1362 "conf_parser.y" /* yacc.c:1646  */
4126 >  case 230:
4127 > #line 1309 "conf_parser.y" /* yacc.c:1646  */
4128      {
4129    if (conf_parser_ctx.pass == 2)
4130 <    block_state.port.value |= OPER_FLAG_GLINE;
4130 >    block_state.port.value |= OPER_FLAG_DIE;
4131   }
4132 < #line 4182 "conf_parser.c" /* yacc.c:1646  */
4132 > #line 4133 "conf_parser.c" /* yacc.c:1646  */
4133      break;
4134  
4135 <  case 217:
4136 < #line 1366 "conf_parser.y" /* yacc.c:1646  */
4135 >  case 231:
4136 > #line 1313 "conf_parser.y" /* yacc.c:1646  */
4137      {
4138    if (conf_parser_ctx.pass == 2)
4139 <    block_state.port.value |= OPER_FLAG_DIE;
4139 >    block_state.port.value |= OPER_FLAG_RESTART;
4140   }
4141 < #line 4191 "conf_parser.c" /* yacc.c:1646  */
4141 > #line 4142 "conf_parser.c" /* yacc.c:1646  */
4142      break;
4143  
4144 <  case 218:
4145 < #line 1370 "conf_parser.y" /* yacc.c:1646  */
4144 >  case 232:
4145 > #line 1317 "conf_parser.y" /* yacc.c:1646  */
4146      {
4147    if (conf_parser_ctx.pass == 2)
4148 <    block_state.port.value |= OPER_FLAG_RESTART;
4148 >    block_state.port.value |= OPER_FLAG_REHASH_REMOTE;
4149   }
4150 < #line 4200 "conf_parser.c" /* yacc.c:1646  */
4150 > #line 4151 "conf_parser.c" /* yacc.c:1646  */
4151      break;
4152  
4153 <  case 219:
4154 < #line 1374 "conf_parser.y" /* yacc.c:1646  */
4153 >  case 233:
4154 > #line 1321 "conf_parser.y" /* yacc.c:1646  */
4155      {
4156    if (conf_parser_ctx.pass == 2)
4157      block_state.port.value |= OPER_FLAG_REHASH;
4158   }
4159 < #line 4209 "conf_parser.c" /* yacc.c:1646  */
4159 > #line 4160 "conf_parser.c" /* yacc.c:1646  */
4160      break;
4161  
4162 <  case 220:
4163 < #line 1378 "conf_parser.y" /* yacc.c:1646  */
4162 >  case 234:
4163 > #line 1325 "conf_parser.y" /* yacc.c:1646  */
4164      {
4165    if (conf_parser_ctx.pass == 2)
4166      block_state.port.value |= OPER_FLAG_ADMIN;
4167   }
4168 < #line 4218 "conf_parser.c" /* yacc.c:1646  */
4168 > #line 4169 "conf_parser.c" /* yacc.c:1646  */
4169      break;
4170  
4171 <  case 221:
4172 < #line 1382 "conf_parser.y" /* yacc.c:1646  */
4171 >  case 235:
4172 > #line 1329 "conf_parser.y" /* yacc.c:1646  */
4173      {
4174    if (conf_parser_ctx.pass == 2)
4175      block_state.port.value |= OPER_FLAG_GLOBOPS;
4176   }
4177 < #line 4227 "conf_parser.c" /* yacc.c:1646  */
4177 > #line 4178 "conf_parser.c" /* yacc.c:1646  */
4178      break;
4179  
4180 <  case 222:
4181 < #line 1386 "conf_parser.y" /* yacc.c:1646  */
4180 >  case 236:
4181 > #line 1333 "conf_parser.y" /* yacc.c:1646  */
4182      {
4183    if (conf_parser_ctx.pass == 2)
4184      block_state.port.value |= OPER_FLAG_WALLOPS;
4185   }
4186 < #line 4236 "conf_parser.c" /* yacc.c:1646  */
4186 > #line 4187 "conf_parser.c" /* yacc.c:1646  */
4187      break;
4188  
4189 <  case 223:
4190 < #line 1390 "conf_parser.y" /* yacc.c:1646  */
4189 >  case 237:
4190 > #line 1337 "conf_parser.y" /* yacc.c:1646  */
4191      {
4192    if (conf_parser_ctx.pass == 2)
4193      block_state.port.value |= OPER_FLAG_LOCOPS;
4194   }
4195 < #line 4245 "conf_parser.c" /* yacc.c:1646  */
4195 > #line 4196 "conf_parser.c" /* yacc.c:1646  */
4196      break;
4197  
4198 <  case 224:
4199 < #line 1394 "conf_parser.y" /* yacc.c:1646  */
4198 >  case 238:
4199 > #line 1341 "conf_parser.y" /* yacc.c:1646  */
4200      {
4201    if (conf_parser_ctx.pass == 2)
4202      block_state.port.value |= OPER_FLAG_REMOTEBAN;
4203   }
4204 < #line 4254 "conf_parser.c" /* yacc.c:1646  */
4204 > #line 4205 "conf_parser.c" /* yacc.c:1646  */
4205      break;
4206  
4207 <  case 225:
4208 < #line 1398 "conf_parser.y" /* yacc.c:1646  */
4207 >  case 239:
4208 > #line 1345 "conf_parser.y" /* yacc.c:1646  */
4209      {
4210    if (conf_parser_ctx.pass == 2)
4211      block_state.port.value |= OPER_FLAG_SET;
4212   }
4213 < #line 4263 "conf_parser.c" /* yacc.c:1646  */
4213 > #line 4214 "conf_parser.c" /* yacc.c:1646  */
4214      break;
4215  
4216 <  case 226:
4217 < #line 1402 "conf_parser.y" /* yacc.c:1646  */
4216 >  case 240:
4217 > #line 1349 "conf_parser.y" /* yacc.c:1646  */
4218      {
4219    if (conf_parser_ctx.pass == 2)
4220      block_state.port.value |= OPER_FLAG_MODULE;
4221   }
4222 < #line 4272 "conf_parser.c" /* yacc.c:1646  */
4222 > #line 4223 "conf_parser.c" /* yacc.c:1646  */
4223      break;
4224  
4225 <  case 227:
4226 < #line 1412 "conf_parser.y" /* yacc.c:1646  */
4225 >  case 241:
4226 > #line 1353 "conf_parser.y" /* yacc.c:1646  */
4227 >    {
4228 >  if (conf_parser_ctx.pass == 2)
4229 >    block_state.port.value |= OPER_FLAG_OPME;
4230 > }
4231 > #line 4232 "conf_parser.c" /* yacc.c:1646  */
4232 >    break;
4233 >
4234 >  case 242:
4235 > #line 1357 "conf_parser.y" /* yacc.c:1646  */
4236 >    {
4237 >  if (conf_parser_ctx.pass == 2)
4238 >    block_state.port.value |= OPER_FLAG_NICK_RESV;
4239 > }
4240 > #line 4241 "conf_parser.c" /* yacc.c:1646  */
4241 >    break;
4242 >
4243 >  case 243:
4244 > #line 1361 "conf_parser.y" /* yacc.c:1646  */
4245 >    {
4246 >  if (conf_parser_ctx.pass == 2)
4247 >    block_state.port.value |= OPER_FLAG_JOIN_RESV;
4248 > }
4249 > #line 4250 "conf_parser.c" /* yacc.c:1646  */
4250 >    break;
4251 >
4252 >  case 244:
4253 > #line 1365 "conf_parser.y" /* yacc.c:1646  */
4254 >    {
4255 >  if (conf_parser_ctx.pass == 2)
4256 >    block_state.port.value |= OPER_FLAG_RESV;
4257 > }
4258 > #line 4259 "conf_parser.c" /* yacc.c:1646  */
4259 >    break;
4260 >
4261 >  case 245:
4262 > #line 1369 "conf_parser.y" /* yacc.c:1646  */
4263 >    {
4264 >  if (conf_parser_ctx.pass == 2)
4265 >    block_state.port.value |= OPER_FLAG_UNRESV;
4266 > }
4267 > #line 4268 "conf_parser.c" /* yacc.c:1646  */
4268 >    break;
4269 >
4270 >  case 246:
4271 > #line 1373 "conf_parser.y" /* yacc.c:1646  */
4272 >    {
4273 >  if (conf_parser_ctx.pass == 2)
4274 >    block_state.port.value |= OPER_FLAG_CLOSE;
4275 > }
4276 > #line 4277 "conf_parser.c" /* yacc.c:1646  */
4277 >    break;
4278 >
4279 >  case 247:
4280 > #line 1383 "conf_parser.y" /* yacc.c:1646  */
4281      {
4282    if (conf_parser_ctx.pass != 1)
4283      break;
# Line 4285 | Line 4290 | yyreduce:
4290    block_state.max_sendq.value = DEFAULT_SENDQ;
4291    block_state.max_recvq.value = DEFAULT_RECVQ;
4292   }
4293 < #line 4289 "conf_parser.c" /* yacc.c:1646  */
4293 > #line 4294 "conf_parser.c" /* yacc.c:1646  */
4294      break;
4295  
4296 <  case 228:
4297 < #line 1424 "conf_parser.y" /* yacc.c:1646  */
4296 >  case 248:
4297 > #line 1395 "conf_parser.y" /* yacc.c:1646  */
4298      {
4299    struct ClassItem *class = NULL;
4300  
# Line 4303 | Line 4308 | yyreduce:
4308      class = class_make();
4309  
4310    class->active = 1;
4311 <  MyFree(class->name);
4311 >  xfree(class->name);
4312    class->name = xstrdup(block_state.class.buf);
4313    class->ping_freq = block_state.ping_freq.value;
4314    class->max_perip = block_state.max_perip.value;
# Line 4311 | Line 4316 | yyreduce:
4316    class->max_total = block_state.max_total.value;
4317    class->max_global = block_state.max_global.value;
4318    class->max_local = block_state.max_local.value;
4314  class->max_ident = block_state.max_ident.value;
4319    class->max_sendq = block_state.max_sendq.value;
4320    class->max_recvq = block_state.max_recvq.value;
4321    class->max_channels = block_state.max_channels.value;
# Line 4327 | Line 4331 | yyreduce:
4331    class->min_idle = block_state.min_idle.value;
4332    class->max_idle = block_state.max_idle.value;
4333  
4334 <  if (class->number_per_cidr && block_state.number_per_cidr.value)
4331 <    if ((class->cidr_bitlen_ipv4 && block_state.cidr_bitlen_ipv4.value) ||
4332 <        (class->cidr_bitlen_ipv6 && block_state.cidr_bitlen_ipv6.value))
4333 <      if ((class->cidr_bitlen_ipv4 != block_state.cidr_bitlen_ipv4.value) ||
4334 <          (class->cidr_bitlen_ipv6 != block_state.cidr_bitlen_ipv6.value))
4335 <        rebuild_cidr_list(class);
4334 >  rebuild_cidr_list(class);
4335  
4336    class->cidr_bitlen_ipv4 = block_state.cidr_bitlen_ipv4.value;
4337    class->cidr_bitlen_ipv6 = block_state.cidr_bitlen_ipv6.value;
4338    class->number_per_cidr = block_state.number_per_cidr.value;
4339   }
4340 < #line 4342 "conf_parser.c" /* yacc.c:1646  */
4340 > #line 4341 "conf_parser.c" /* yacc.c:1646  */
4341      break;
4342  
4343 <  case 249:
4344 < #line 1493 "conf_parser.y" /* yacc.c:1646  */
4343 >  case 268:
4344 > #line 1458 "conf_parser.y" /* yacc.c:1646  */
4345      {
4346    if (conf_parser_ctx.pass == 1)
4347      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4348   }
4349 < #line 4351 "conf_parser.c" /* yacc.c:1646  */
4349 > #line 4350 "conf_parser.c" /* yacc.c:1646  */
4350      break;
4351  
4352 <  case 250:
4353 < #line 1499 "conf_parser.y" /* yacc.c:1646  */
4352 >  case 269:
4353 > #line 1464 "conf_parser.y" /* yacc.c:1646  */
4354      {
4355    if (conf_parser_ctx.pass == 1)
4356      block_state.ping_freq.value = (yyvsp[-1].number);
4357   }
4358 < #line 4360 "conf_parser.c" /* yacc.c:1646  */
4358 > #line 4359 "conf_parser.c" /* yacc.c:1646  */
4359      break;
4360  
4361 <  case 251:
4362 < #line 1505 "conf_parser.y" /* yacc.c:1646  */
4361 >  case 270:
4362 > #line 1470 "conf_parser.y" /* yacc.c:1646  */
4363      {
4364    if (conf_parser_ctx.pass == 1)
4365      block_state.max_perip.value = (yyvsp[-1].number);
4366   }
4367 < #line 4369 "conf_parser.c" /* yacc.c:1646  */
4367 > #line 4368 "conf_parser.c" /* yacc.c:1646  */
4368      break;
4369  
4370 <  case 252:
4371 < #line 1511 "conf_parser.y" /* yacc.c:1646  */
4370 >  case 271:
4371 > #line 1476 "conf_parser.y" /* yacc.c:1646  */
4372      {
4373    if (conf_parser_ctx.pass == 1)
4374      block_state.con_freq.value = (yyvsp[-1].number);
4375   }
4376 < #line 4378 "conf_parser.c" /* yacc.c:1646  */
4376 > #line 4377 "conf_parser.c" /* yacc.c:1646  */
4377      break;
4378  
4379 <  case 253:
4380 < #line 1517 "conf_parser.y" /* yacc.c:1646  */
4379 >  case 272:
4380 > #line 1482 "conf_parser.y" /* yacc.c:1646  */
4381      {
4382    if (conf_parser_ctx.pass == 1)
4383      block_state.max_channels.value = (yyvsp[-1].number);
4384   }
4385 < #line 4387 "conf_parser.c" /* yacc.c:1646  */
4385 > #line 4386 "conf_parser.c" /* yacc.c:1646  */
4386      break;
4387  
4388 <  case 254:
4389 < #line 1523 "conf_parser.y" /* yacc.c:1646  */
4388 >  case 273:
4389 > #line 1488 "conf_parser.y" /* yacc.c:1646  */
4390      {
4391    if (conf_parser_ctx.pass == 1)
4392      block_state.max_total.value = (yyvsp[-1].number);
4393   }
4394 < #line 4396 "conf_parser.c" /* yacc.c:1646  */
4394 > #line 4395 "conf_parser.c" /* yacc.c:1646  */
4395      break;
4396  
4397 <  case 255:
4398 < #line 1529 "conf_parser.y" /* yacc.c:1646  */
4397 >  case 274:
4398 > #line 1494 "conf_parser.y" /* yacc.c:1646  */
4399      {
4400    if (conf_parser_ctx.pass == 1)
4401      block_state.max_global.value = (yyvsp[-1].number);
4402   }
4403 < #line 4405 "conf_parser.c" /* yacc.c:1646  */
4403 > #line 4404 "conf_parser.c" /* yacc.c:1646  */
4404      break;
4405  
4406 <  case 256:
4407 < #line 1535 "conf_parser.y" /* yacc.c:1646  */
4406 >  case 275:
4407 > #line 1500 "conf_parser.y" /* yacc.c:1646  */
4408      {
4409    if (conf_parser_ctx.pass == 1)
4410      block_state.max_local.value = (yyvsp[-1].number);
4411   }
4412 < #line 4414 "conf_parser.c" /* yacc.c:1646  */
4414 <    break;
4415 <
4416 <  case 257:
4417 < #line 1541 "conf_parser.y" /* yacc.c:1646  */
4418 <    {
4419 <  if (conf_parser_ctx.pass == 1)
4420 <    block_state.max_ident.value = (yyvsp[-1].number);
4421 < }
4422 < #line 4423 "conf_parser.c" /* yacc.c:1646  */
4412 > #line 4413 "conf_parser.c" /* yacc.c:1646  */
4413      break;
4414  
4415 <  case 258:
4416 < #line 1547 "conf_parser.y" /* yacc.c:1646  */
4415 >  case 276:
4416 > #line 1506 "conf_parser.y" /* yacc.c:1646  */
4417      {
4418    if (conf_parser_ctx.pass == 1)
4419      block_state.max_sendq.value = (yyvsp[-1].number);
4420   }
4421 < #line 4432 "conf_parser.c" /* yacc.c:1646  */
4421 > #line 4422 "conf_parser.c" /* yacc.c:1646  */
4422      break;
4423  
4424 <  case 259:
4425 < #line 1553 "conf_parser.y" /* yacc.c:1646  */
4424 >  case 277:
4425 > #line 1512 "conf_parser.y" /* yacc.c:1646  */
4426      {
4427    if (conf_parser_ctx.pass == 1)
4428      if ((yyvsp[-1].number) >= CLIENT_FLOOD_MIN && (yyvsp[-1].number) <= CLIENT_FLOOD_MAX)
4429        block_state.max_recvq.value = (yyvsp[-1].number);
4430   }
4431 < #line 4442 "conf_parser.c" /* yacc.c:1646  */
4431 > #line 4432 "conf_parser.c" /* yacc.c:1646  */
4432      break;
4433  
4434 <  case 260:
4435 < #line 1560 "conf_parser.y" /* yacc.c:1646  */
4434 >  case 278:
4435 > #line 1519 "conf_parser.y" /* yacc.c:1646  */
4436      {
4437    if (conf_parser_ctx.pass == 1)
4438      block_state.cidr_bitlen_ipv4.value = (yyvsp[-1].number) > 32 ? 32 : (yyvsp[-1].number);
4439   }
4440 < #line 4451 "conf_parser.c" /* yacc.c:1646  */
4440 > #line 4441 "conf_parser.c" /* yacc.c:1646  */
4441      break;
4442  
4443 <  case 261:
4444 < #line 1566 "conf_parser.y" /* yacc.c:1646  */
4443 >  case 279:
4444 > #line 1525 "conf_parser.y" /* yacc.c:1646  */
4445      {
4446    if (conf_parser_ctx.pass == 1)
4447      block_state.cidr_bitlen_ipv6.value = (yyvsp[-1].number) > 128 ? 128 : (yyvsp[-1].number);
4448   }
4449 < #line 4460 "conf_parser.c" /* yacc.c:1646  */
4449 > #line 4450 "conf_parser.c" /* yacc.c:1646  */
4450      break;
4451  
4452 <  case 262:
4453 < #line 1572 "conf_parser.y" /* yacc.c:1646  */
4452 >  case 280:
4453 > #line 1531 "conf_parser.y" /* yacc.c:1646  */
4454      {
4455    if (conf_parser_ctx.pass == 1)
4456      block_state.number_per_cidr.value = (yyvsp[-1].number);
4457   }
4458 < #line 4469 "conf_parser.c" /* yacc.c:1646  */
4458 > #line 4459 "conf_parser.c" /* yacc.c:1646  */
4459      break;
4460  
4461 <  case 263:
4462 < #line 1578 "conf_parser.y" /* yacc.c:1646  */
4461 >  case 281:
4462 > #line 1537 "conf_parser.y" /* yacc.c:1646  */
4463      {
4464    if (conf_parser_ctx.pass != 1)
4465      break;
# Line 4477 | Line 4467 | yyreduce:
4467    block_state.min_idle.value = (yyvsp[-1].number);
4468    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4469   }
4470 < #line 4481 "conf_parser.c" /* yacc.c:1646  */
4470 > #line 4471 "conf_parser.c" /* yacc.c:1646  */
4471      break;
4472  
4473 <  case 264:
4474 < #line 1587 "conf_parser.y" /* yacc.c:1646  */
4473 >  case 282:
4474 > #line 1546 "conf_parser.y" /* yacc.c:1646  */
4475      {
4476    if (conf_parser_ctx.pass != 1)
4477      break;
# Line 4489 | Line 4479 | yyreduce:
4479    block_state.max_idle.value = (yyvsp[-1].number);
4480    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4481   }
4482 < #line 4493 "conf_parser.c" /* yacc.c:1646  */
4482 > #line 4483 "conf_parser.c" /* yacc.c:1646  */
4483      break;
4484  
4485 <  case 265:
4486 < #line 1596 "conf_parser.y" /* yacc.c:1646  */
4485 >  case 283:
4486 > #line 1555 "conf_parser.y" /* yacc.c:1646  */
4487      {
4488    if (conf_parser_ctx.pass == 1)
4489      block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
4490   }
4491 < #line 4502 "conf_parser.c" /* yacc.c:1646  */
4491 > #line 4492 "conf_parser.c" /* yacc.c:1646  */
4492      break;
4493  
4494 <  case 269:
4495 < #line 1603 "conf_parser.y" /* yacc.c:1646  */
4494 >  case 287:
4495 > #line 1562 "conf_parser.y" /* yacc.c:1646  */
4496      {
4497    if (conf_parser_ctx.pass == 1)
4498      block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
4499   }
4500 < #line 4511 "conf_parser.c" /* yacc.c:1646  */
4500 > #line 4501 "conf_parser.c" /* yacc.c:1646  */
4501      break;
4502  
4503 <  case 270:
4504 < #line 1607 "conf_parser.y" /* yacc.c:1646  */
4503 >  case 288:
4504 > #line 1566 "conf_parser.y" /* yacc.c:1646  */
4505      {
4506    if (conf_parser_ctx.pass == 1)
4507      block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
4508   }
4509 < #line 4520 "conf_parser.c" /* yacc.c:1646  */
4509 > #line 4510 "conf_parser.c" /* yacc.c:1646  */
4510      break;
4511  
4512 <  case 271:
4513 < #line 1617 "conf_parser.y" /* yacc.c:1646  */
4512 >  case 289:
4513 > #line 1576 "conf_parser.y" /* yacc.c:1646  */
4514      {
4515    if (conf_parser_ctx.pass == 2)
4516      reset_block_state();
4517   }
4518 < #line 4529 "conf_parser.c" /* yacc.c:1646  */
4518 > #line 4519 "conf_parser.c" /* yacc.c:1646  */
4519      break;
4520  
4521 <  case 273:
4522 < #line 1623 "conf_parser.y" /* yacc.c:1646  */
4521 >  case 291:
4522 > #line 1582 "conf_parser.y" /* yacc.c:1646  */
4523      {
4524    block_state.flags.value = 0;
4525   }
4526 < #line 4537 "conf_parser.c" /* yacc.c:1646  */
4526 > #line 4527 "conf_parser.c" /* yacc.c:1646  */
4527      break;
4528  
4529 <  case 277:
4530 < #line 1629 "conf_parser.y" /* yacc.c:1646  */
4529 >  case 295:
4530 > #line 1588 "conf_parser.y" /* yacc.c:1646  */
4531      {
4532    if (conf_parser_ctx.pass == 2)
4533      block_state.flags.value |= LISTENER_SSL;
4534   }
4535 < #line 4546 "conf_parser.c" /* yacc.c:1646  */
4535 > #line 4536 "conf_parser.c" /* yacc.c:1646  */
4536      break;
4537  
4538 <  case 278:
4539 < #line 1633 "conf_parser.y" /* yacc.c:1646  */
4538 >  case 296:
4539 > #line 1592 "conf_parser.y" /* yacc.c:1646  */
4540      {
4541    if (conf_parser_ctx.pass == 2)
4542      block_state.flags.value |= LISTENER_HIDDEN;
4543   }
4544 < #line 4555 "conf_parser.c" /* yacc.c:1646  */
4544 > #line 4545 "conf_parser.c" /* yacc.c:1646  */
4545      break;
4546  
4547 <  case 279:
4548 < #line 1637 "conf_parser.y" /* yacc.c:1646  */
4547 >  case 297:
4548 > #line 1596 "conf_parser.y" /* yacc.c:1646  */
4549      {
4550    if (conf_parser_ctx.pass == 2)
4551     block_state.flags.value |= LISTENER_SERVER;
4552   }
4553 < #line 4564 "conf_parser.c" /* yacc.c:1646  */
4553 > #line 4554 "conf_parser.c" /* yacc.c:1646  */
4554      break;
4555  
4556 <  case 287:
4557 < #line 1645 "conf_parser.y" /* yacc.c:1646  */
4556 >  case 305:
4557 > #line 1604 "conf_parser.y" /* yacc.c:1646  */
4558      { block_state.flags.value = 0; }
4559 < #line 4570 "conf_parser.c" /* yacc.c:1646  */
4559 > #line 4560 "conf_parser.c" /* yacc.c:1646  */
4560      break;
4561  
4562 <  case 291:
4563 < #line 1650 "conf_parser.y" /* yacc.c:1646  */
4562 >  case 309:
4563 > #line 1609 "conf_parser.y" /* yacc.c:1646  */
4564      {
4565    if (conf_parser_ctx.pass == 2)
4566    {
4567 + #ifndef HAVE_TLS
4568      if (block_state.flags.value & LISTENER_SSL)
4569 < #ifdef HAVE_LIBCRYPTO
4570 <      if (!ServerInfo.server_ctx)
4569 >    {
4570 >      conf_error_report("TLS not available - port closed");
4571 >      break;
4572 >    }
4573   #endif
4574 <      {
4582 <        conf_error_report("SSL not available - port closed");
4583 <        break;
4584 <      }
4585 <    add_listener((yyvsp[0].number), block_state.addr.buf, block_state.flags.value);
4574 >    listener_add((yyvsp[0].number), block_state.addr.buf, block_state.flags.value);
4575    }
4576   }
4577 < #line 4589 "conf_parser.c" /* yacc.c:1646  */
4577 > #line 4578 "conf_parser.c" /* yacc.c:1646  */
4578      break;
4579  
4580 <  case 292:
4581 < #line 1664 "conf_parser.y" /* yacc.c:1646  */
4580 >  case 310:
4581 > #line 1622 "conf_parser.y" /* yacc.c:1646  */
4582      {
4583    if (conf_parser_ctx.pass == 2)
4584    {
4585 + #ifndef HAVE_TLS
4586      if (block_state.flags.value & LISTENER_SSL)
4587 < #ifdef HAVE_LIBCRYPTO
4588 <      if (!ServerInfo.server_ctx)
4587 >    {
4588 >      conf_error_report("TLS not available - port closed");
4589 >      break;
4590 >    }
4591   #endif
4600      {
4601        conf_error_report("SSL not available - port closed");
4602        break;
4603      }
4592  
4593      for (int i = (yyvsp[-2].number); i <= (yyvsp[0].number); ++i)
4594 <      add_listener(i, block_state.addr.buf, block_state.flags.value);
4594 >      listener_add(i, block_state.addr.buf, block_state.flags.value);
4595    }
4596   }
4597 < #line 4610 "conf_parser.c" /* yacc.c:1646  */
4597 > #line 4598 "conf_parser.c" /* yacc.c:1646  */
4598      break;
4599  
4600 <  case 293:
4601 < #line 1682 "conf_parser.y" /* yacc.c:1646  */
4600 >  case 311:
4601 > #line 1639 "conf_parser.y" /* yacc.c:1646  */
4602      {
4603    if (conf_parser_ctx.pass == 2)
4604      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4605   }
4606 < #line 4619 "conf_parser.c" /* yacc.c:1646  */
4606 > #line 4607 "conf_parser.c" /* yacc.c:1646  */
4607      break;
4608  
4609 <  case 294:
4610 < #line 1688 "conf_parser.y" /* yacc.c:1646  */
4609 >  case 312:
4610 > #line 1645 "conf_parser.y" /* yacc.c:1646  */
4611      {
4612    if (conf_parser_ctx.pass == 2)
4613      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4614   }
4615 < #line 4628 "conf_parser.c" /* yacc.c:1646  */
4615 > #line 4616 "conf_parser.c" /* yacc.c:1646  */
4616      break;
4617  
4618 <  case 295:
4619 < #line 1697 "conf_parser.y" /* yacc.c:1646  */
4618 >  case 313:
4619 > #line 1655 "conf_parser.y" /* yacc.c:1646  */
4620      {
4621    if (conf_parser_ctx.pass == 2)
4622      reset_block_state();
4623   }
4624 < #line 4637 "conf_parser.c" /* yacc.c:1646  */
4624 > #line 4625 "conf_parser.c" /* yacc.c:1646  */
4625      break;
4626  
4627 <  case 296:
4628 < #line 1701 "conf_parser.y" /* yacc.c:1646  */
4627 >  case 314:
4628 > #line 1659 "conf_parser.y" /* yacc.c:1646  */
4629      {
4630 <  dlink_node *ptr = NULL;
4630 >  dlink_node *node = NULL;
4631  
4632    if (conf_parser_ctx.pass != 2)
4633      break;
4634  
4635 <  DLINK_FOREACH(ptr, block_state.mask.list.head)
4635 >  DLINK_FOREACH(node, block_state.mask.list.head)
4636    {
4637      struct MaskItem *conf = NULL;
4638      struct split_nuh_item nuh;
4639 +    char *s = node->data;
4640  
4641 <    nuh.nuhmask  = ptr->data;
4641 >    if (EmptyString(s))
4642 >      continue;
4643 >
4644 >    nuh.nuhmask  = s;
4645      nuh.nickptr  = NULL;
4646      nuh.userptr  = block_state.user.buf;
4647      nuh.hostptr  = block_state.host.buf;
# Line 4674 | Line 4666 | yyreduce:
4666      add_conf_by_address(CONF_CLIENT, conf);
4667    }
4668   }
4669 < #line 4678 "conf_parser.c" /* yacc.c:1646  */
4669 > #line 4670 "conf_parser.c" /* yacc.c:1646  */
4670      break;
4671  
4672 <  case 308:
4673 < #line 1750 "conf_parser.y" /* yacc.c:1646  */
4672 >  case 326:
4673 > #line 1712 "conf_parser.y" /* yacc.c:1646  */
4674      {
4675    if (conf_parser_ctx.pass == 2)
4676      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4677   }
4678 < #line 4687 "conf_parser.c" /* yacc.c:1646  */
4678 > #line 4679 "conf_parser.c" /* yacc.c:1646  */
4679      break;
4680  
4681 <  case 309:
4682 < #line 1756 "conf_parser.y" /* yacc.c:1646  */
4681 >  case 327:
4682 > #line 1718 "conf_parser.y" /* yacc.c:1646  */
4683      {
4684    if (conf_parser_ctx.pass == 2)
4685      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4686   }
4687 < #line 4696 "conf_parser.c" /* yacc.c:1646  */
4687 > #line 4688 "conf_parser.c" /* yacc.c:1646  */
4688      break;
4689  
4690 <  case 310:
4691 < #line 1762 "conf_parser.y" /* yacc.c:1646  */
4690 >  case 328:
4691 > #line 1724 "conf_parser.y" /* yacc.c:1646  */
4692      {
4693    if (conf_parser_ctx.pass == 2)
4694      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4695   }
4696 < #line 4705 "conf_parser.c" /* yacc.c:1646  */
4696 > #line 4697 "conf_parser.c" /* yacc.c:1646  */
4697      break;
4698  
4699 <  case 311:
4700 < #line 1768 "conf_parser.y" /* yacc.c:1646  */
4699 >  case 329:
4700 > #line 1730 "conf_parser.y" /* yacc.c:1646  */
4701      {
4702    if (conf_parser_ctx.pass == 2)
4703    {
# Line 4715 | Line 4707 | yyreduce:
4707        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4708    }
4709   }
4710 < #line 4719 "conf_parser.c" /* yacc.c:1646  */
4710 > #line 4711 "conf_parser.c" /* yacc.c:1646  */
4711      break;
4712  
4713 <  case 312:
4714 < #line 1779 "conf_parser.y" /* yacc.c:1646  */
4713 >  case 330:
4714 > #line 1741 "conf_parser.y" /* yacc.c:1646  */
4715      {
4716    if (conf_parser_ctx.pass == 2)
4717      block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP);
4718   }
4719 < #line 4728 "conf_parser.c" /* yacc.c:1646  */
4719 > #line 4720 "conf_parser.c" /* yacc.c:1646  */
4720      break;
4721  
4722 <  case 316:
4723 < #line 1786 "conf_parser.y" /* yacc.c:1646  */
4722 >  case 334:
4723 > #line 1748 "conf_parser.y" /* yacc.c:1646  */
4724      {
4725    if (conf_parser_ctx.pass == 2)
4726      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4727   }
4728 < #line 4737 "conf_parser.c" /* yacc.c:1646  */
4728 > #line 4729 "conf_parser.c" /* yacc.c:1646  */
4729      break;
4730  
4731 <  case 317:
4732 < #line 1790 "conf_parser.y" /* yacc.c:1646  */
4731 >  case 335:
4732 > #line 1752 "conf_parser.y" /* yacc.c:1646  */
4733      {
4734    if (conf_parser_ctx.pass == 2)
4735      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4736   }
4737 < #line 4746 "conf_parser.c" /* yacc.c:1646  */
4737 > #line 4738 "conf_parser.c" /* yacc.c:1646  */
4738      break;
4739  
4740 <  case 318:
4741 < #line 1794 "conf_parser.y" /* yacc.c:1646  */
4740 >  case 336:
4741 > #line 1756 "conf_parser.y" /* yacc.c:1646  */
4742      {
4743    if (conf_parser_ctx.pass == 2)
4744      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4745   }
4746 < #line 4755 "conf_parser.c" /* yacc.c:1646  */
4746 > #line 4747 "conf_parser.c" /* yacc.c:1646  */
4747      break;
4748  
4749 <  case 319:
4750 < #line 1798 "conf_parser.y" /* yacc.c:1646  */
4749 >  case 337:
4750 > #line 1760 "conf_parser.y" /* yacc.c:1646  */
4751      {
4752    if (conf_parser_ctx.pass == 2)
4753 <    block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4753 >    block_state.flags.value |= CONF_FLAGS_EXEMPTXLINE;
4754   }
4755 < #line 4764 "conf_parser.c" /* yacc.c:1646  */
4755 > #line 4756 "conf_parser.c" /* yacc.c:1646  */
4756      break;
4757  
4758 <  case 320:
4759 < #line 1802 "conf_parser.y" /* yacc.c:1646  */
4758 >  case 338:
4759 > #line 1764 "conf_parser.y" /* yacc.c:1646  */
4760      {
4761    if (conf_parser_ctx.pass == 2)
4762 <    block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4762 >    block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4763   }
4764 < #line 4773 "conf_parser.c" /* yacc.c:1646  */
4764 > #line 4765 "conf_parser.c" /* yacc.c:1646  */
4765      break;
4766  
4767 <  case 321:
4768 < #line 1806 "conf_parser.y" /* yacc.c:1646  */
4767 >  case 339:
4768 > #line 1768 "conf_parser.y" /* yacc.c:1646  */
4769      {
4770    if (conf_parser_ctx.pass == 2)
4771 <    block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4771 >    block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4772   }
4773 < #line 4782 "conf_parser.c" /* yacc.c:1646  */
4773 > #line 4774 "conf_parser.c" /* yacc.c:1646  */
4774      break;
4775  
4776 <  case 322:
4777 < #line 1810 "conf_parser.y" /* yacc.c:1646  */
4776 >  case 340:
4777 > #line 1772 "conf_parser.y" /* yacc.c:1646  */
4778      {
4779    if (conf_parser_ctx.pass == 2)
4780 <    block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
4780 >    block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4781   }
4782 < #line 4791 "conf_parser.c" /* yacc.c:1646  */
4782 > #line 4783 "conf_parser.c" /* yacc.c:1646  */
4783      break;
4784  
4785 <  case 323:
4786 < #line 1814 "conf_parser.y" /* yacc.c:1646  */
4785 >  case 341:
4786 > #line 1776 "conf_parser.y" /* yacc.c:1646  */
4787      {
4788    if (conf_parser_ctx.pass == 2)
4789      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4790   }
4791 < #line 4800 "conf_parser.c" /* yacc.c:1646  */
4791 > #line 4792 "conf_parser.c" /* yacc.c:1646  */
4792      break;
4793  
4794 <  case 324:
4795 < #line 1818 "conf_parser.y" /* yacc.c:1646  */
4794 >  case 342:
4795 > #line 1780 "conf_parser.y" /* yacc.c:1646  */
4796      {
4797    if (conf_parser_ctx.pass == 2)
4798      block_state.flags.value |= CONF_FLAGS_WEBIRC;
4799   }
4800 < #line 4809 "conf_parser.c" /* yacc.c:1646  */
4800 > #line 4801 "conf_parser.c" /* yacc.c:1646  */
4801      break;
4802  
4803 <  case 325:
4804 < #line 1822 "conf_parser.y" /* yacc.c:1646  */
4803 >  case 343:
4804 > #line 1784 "conf_parser.y" /* yacc.c:1646  */
4805      {
4806    if (conf_parser_ctx.pass == 2)
4807      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4808   }
4809 < #line 4818 "conf_parser.c" /* yacc.c:1646  */
4809 > #line 4810 "conf_parser.c" /* yacc.c:1646  */
4810      break;
4811  
4812 <  case 326:
4813 < #line 1828 "conf_parser.y" /* yacc.c:1646  */
4812 >  case 344:
4813 > #line 1790 "conf_parser.y" /* yacc.c:1646  */
4814      {
4815    if (conf_parser_ctx.pass != 2)
4816      break;
# Line 4831 | Line 4823 | yyreduce:
4823    else
4824      ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4825   }
4826 < #line 4835 "conf_parser.c" /* yacc.c:1646  */
4826 > #line 4827 "conf_parser.c" /* yacc.c:1646  */
4827      break;
4828  
4829 <  case 327:
4830 < #line 1842 "conf_parser.y" /* yacc.c:1646  */
4829 >  case 345:
4830 > #line 1804 "conf_parser.y" /* yacc.c:1646  */
4831      {
4832    if (conf_parser_ctx.pass != 2)
4833      break;
# Line 4843 | Line 4835 | yyreduce:
4835    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4836    block_state.flags.value |= CONF_FLAGS_REDIR;
4837   }
4838 < #line 4847 "conf_parser.c" /* yacc.c:1646  */
4838 > #line 4839 "conf_parser.c" /* yacc.c:1646  */
4839      break;
4840  
4841 <  case 328:
4842 < #line 1851 "conf_parser.y" /* yacc.c:1646  */
4841 >  case 346:
4842 > #line 1813 "conf_parser.y" /* yacc.c:1646  */
4843      {
4844    if (conf_parser_ctx.pass != 2)
4845      break;
# Line 4855 | Line 4847 | yyreduce:
4847    block_state.flags.value |= CONF_FLAGS_REDIR;
4848    block_state.port.value = (yyvsp[-1].number);
4849   }
4850 < #line 4859 "conf_parser.c" /* yacc.c:1646  */
4850 > #line 4851 "conf_parser.c" /* yacc.c:1646  */
4851      break;
4852  
4853 <  case 329:
4854 < #line 1864 "conf_parser.y" /* yacc.c:1646  */
4853 >  case 347:
4854 > #line 1826 "conf_parser.y" /* yacc.c:1646  */
4855      {
4856    if (conf_parser_ctx.pass != 2)
4857      break;
# Line 4867 | Line 4859 | yyreduce:
4859    reset_block_state();
4860    strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));
4861   }
4862 < #line 4871 "conf_parser.c" /* yacc.c:1646  */
4862 > #line 4863 "conf_parser.c" /* yacc.c:1646  */
4863      break;
4864  
4865 <  case 330:
4866 < #line 1871 "conf_parser.y" /* yacc.c:1646  */
4865 >  case 348:
4866 > #line 1833 "conf_parser.y" /* yacc.c:1646  */
4867      {
4868    if (conf_parser_ctx.pass != 2)
4869      break;
4870  
4871 <  create_resv(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4871 >  resv_make(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4872   }
4873 < #line 4882 "conf_parser.c" /* yacc.c:1646  */
4873 > #line 4874 "conf_parser.c" /* yacc.c:1646  */
4874      break;
4875  
4876 <  case 337:
4877 < #line 1882 "conf_parser.y" /* yacc.c:1646  */
4876 >  case 355:
4877 > #line 1844 "conf_parser.y" /* yacc.c:1646  */
4878      {
4879    if (conf_parser_ctx.pass == 2)
4880      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4881   }
4882 < #line 4891 "conf_parser.c" /* yacc.c:1646  */
4882 > #line 4883 "conf_parser.c" /* yacc.c:1646  */
4883      break;
4884  
4885 <  case 338:
4886 < #line 1888 "conf_parser.y" /* yacc.c:1646  */
4885 >  case 356:
4886 > #line 1850 "conf_parser.y" /* yacc.c:1646  */
4887      {
4888    if (conf_parser_ctx.pass == 2)
4889      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4890   }
4891 < #line 4900 "conf_parser.c" /* yacc.c:1646  */
4891 > #line 4892 "conf_parser.c" /* yacc.c:1646  */
4892      break;
4893  
4894 <  case 339:
4895 < #line 1894 "conf_parser.y" /* yacc.c:1646  */
4894 >  case 357:
4895 > #line 1856 "conf_parser.y" /* yacc.c:1646  */
4896      {
4897    if (conf_parser_ctx.pass == 2)
4898      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4899   }
4900 < #line 4909 "conf_parser.c" /* yacc.c:1646  */
4900 > #line 4901 "conf_parser.c" /* yacc.c:1646  */
4901      break;
4902  
4903 <  case 345:
4904 < #line 1909 "conf_parser.y" /* yacc.c:1646  */
4903 >  case 363:
4904 > #line 1871 "conf_parser.y" /* yacc.c:1646  */
4905      {
4906    if (conf_parser_ctx.pass != 2)
4907      break;
4908  
4909    if (valid_servname(yylval.string))
4910    {
4911 <    struct MaskItem *conf = conf_make(CONF_SERVICE);
4912 <    conf->name = xstrdup(yylval.string);
4911 >    struct ServiceItem *service = service_make();
4912 >    service->name = xstrdup(yylval.string);
4913    }
4914   }
4915 < #line 4924 "conf_parser.c" /* yacc.c:1646  */
4915 > #line 4916 "conf_parser.c" /* yacc.c:1646  */
4916      break;
4917  
4918 <  case 346:
4919 < #line 1924 "conf_parser.y" /* yacc.c:1646  */
4918 >  case 364:
4919 > #line 1887 "conf_parser.y" /* yacc.c:1646  */
4920      {
4921    if (conf_parser_ctx.pass != 2)
4922      break;
# Line 4936 | Line 4928 | yyreduce:
4928    strlcpy(block_state.host.buf, "*", sizeof(block_state.host.buf));
4929    block_state.flags.value = SHARED_ALL;
4930   }
4931 < #line 4940 "conf_parser.c" /* yacc.c:1646  */
4931 > #line 4932 "conf_parser.c" /* yacc.c:1646  */
4932      break;
4933  
4934 <  case 347:
4935 < #line 1935 "conf_parser.y" /* yacc.c:1646  */
4934 >  case 365:
4935 > #line 1898 "conf_parser.y" /* yacc.c:1646  */
4936      {
4945  struct MaskItem *conf = NULL;
4946
4937    if (conf_parser_ctx.pass != 2)
4938      break;
4939  
4940 <  conf = conf_make(CONF_ULINE);
4941 <  conf->flags = block_state.flags.value;
4942 <  conf->name = xstrdup(block_state.name.buf);
4943 <  conf->user = xstrdup(block_state.user.buf);
4944 <  conf->host = xstrdup(block_state.host.buf);
4940 >  struct SharedItem *shared = shared_make();
4941 >  shared->type = block_state.flags.value;
4942 >  shared->server = xstrdup(block_state.name.buf);
4943 >  shared->user = xstrdup(block_state.user.buf);
4944 >  shared->host = xstrdup(block_state.host.buf);
4945   }
4946 < #line 4957 "conf_parser.c" /* yacc.c:1646  */
4946 > #line 4947 "conf_parser.c" /* yacc.c:1646  */
4947      break;
4948  
4949 <  case 354:
4950 < #line 1952 "conf_parser.y" /* yacc.c:1646  */
4949 >  case 372:
4950 > #line 1913 "conf_parser.y" /* yacc.c:1646  */
4951      {
4952    if (conf_parser_ctx.pass == 2)
4953      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4954   }
4955 < #line 4966 "conf_parser.c" /* yacc.c:1646  */
4955 > #line 4956 "conf_parser.c" /* yacc.c:1646  */
4956      break;
4957  
4958 <  case 355:
4959 < #line 1958 "conf_parser.y" /* yacc.c:1646  */
4958 >  case 373:
4959 > #line 1919 "conf_parser.y" /* yacc.c:1646  */
4960      {
4961    if (conf_parser_ctx.pass == 2)
4962    {
# Line 4984 | Line 4974 | yyreduce:
4974      split_nuh(&nuh);
4975    }
4976   }
4977 < #line 4988 "conf_parser.c" /* yacc.c:1646  */
4977 > #line 4978 "conf_parser.c" /* yacc.c:1646  */
4978      break;
4979  
4980 <  case 356:
4981 < #line 1977 "conf_parser.y" /* yacc.c:1646  */
4980 >  case 374:
4981 > #line 1938 "conf_parser.y" /* yacc.c:1646  */
4982      {
4983    if (conf_parser_ctx.pass == 2)
4984      block_state.flags.value = 0;
4985   }
4986 < #line 4997 "conf_parser.c" /* yacc.c:1646  */
4986 > #line 4987 "conf_parser.c" /* yacc.c:1646  */
4987      break;
4988  
4989 <  case 360:
4990 < #line 1984 "conf_parser.y" /* yacc.c:1646  */
4989 >  case 378:
4990 > #line 1945 "conf_parser.y" /* yacc.c:1646  */
4991      {
4992    if (conf_parser_ctx.pass == 2)
4993      block_state.flags.value |= SHARED_KLINE;
4994   }
4995 < #line 5006 "conf_parser.c" /* yacc.c:1646  */
4995 > #line 4996 "conf_parser.c" /* yacc.c:1646  */
4996      break;
4997  
4998 <  case 361:
4999 < #line 1988 "conf_parser.y" /* yacc.c:1646  */
4998 >  case 379:
4999 > #line 1949 "conf_parser.y" /* yacc.c:1646  */
5000      {
5001    if (conf_parser_ctx.pass == 2)
5002      block_state.flags.value |= SHARED_UNKLINE;
5003   }
5004 < #line 5015 "conf_parser.c" /* yacc.c:1646  */
5004 > #line 5005 "conf_parser.c" /* yacc.c:1646  */
5005      break;
5006  
5007 <  case 362:
5008 < #line 1992 "conf_parser.y" /* yacc.c:1646  */
5007 >  case 380:
5008 > #line 1953 "conf_parser.y" /* yacc.c:1646  */
5009      {
5010    if (conf_parser_ctx.pass == 2)
5011      block_state.flags.value |= SHARED_DLINE;
5012   }
5013 < #line 5024 "conf_parser.c" /* yacc.c:1646  */
5013 > #line 5014 "conf_parser.c" /* yacc.c:1646  */
5014      break;
5015  
5016 <  case 363:
5017 < #line 1996 "conf_parser.y" /* yacc.c:1646  */
5016 >  case 381:
5017 > #line 1957 "conf_parser.y" /* yacc.c:1646  */
5018      {
5019    if (conf_parser_ctx.pass == 2)
5020      block_state.flags.value |= SHARED_UNDLINE;
5021   }
5022 < #line 5033 "conf_parser.c" /* yacc.c:1646  */
5022 > #line 5023 "conf_parser.c" /* yacc.c:1646  */
5023      break;
5024  
5025 <  case 364:
5026 < #line 2000 "conf_parser.y" /* yacc.c:1646  */
5025 >  case 382:
5026 > #line 1961 "conf_parser.y" /* yacc.c:1646  */
5027      {
5028    if (conf_parser_ctx.pass == 2)
5029      block_state.flags.value |= SHARED_XLINE;
5030   }
5031 < #line 5042 "conf_parser.c" /* yacc.c:1646  */
5031 > #line 5032 "conf_parser.c" /* yacc.c:1646  */
5032      break;
5033  
5034 <  case 365:
5035 < #line 2004 "conf_parser.y" /* yacc.c:1646  */
5034 >  case 383:
5035 > #line 1965 "conf_parser.y" /* yacc.c:1646  */
5036      {
5037    if (conf_parser_ctx.pass == 2)
5038      block_state.flags.value |= SHARED_UNXLINE;
5039   }
5040 < #line 5051 "conf_parser.c" /* yacc.c:1646  */
5040 > #line 5041 "conf_parser.c" /* yacc.c:1646  */
5041      break;
5042  
5043 <  case 366:
5044 < #line 2008 "conf_parser.y" /* yacc.c:1646  */
5043 >  case 384:
5044 > #line 1969 "conf_parser.y" /* yacc.c:1646  */
5045      {
5046    if (conf_parser_ctx.pass == 2)
5047      block_state.flags.value |= SHARED_RESV;
5048   }
5049 < #line 5060 "conf_parser.c" /* yacc.c:1646  */
5049 > #line 5050 "conf_parser.c" /* yacc.c:1646  */
5050      break;
5051  
5052 <  case 367:
5053 < #line 2012 "conf_parser.y" /* yacc.c:1646  */
5052 >  case 385:
5053 > #line 1973 "conf_parser.y" /* yacc.c:1646  */
5054      {
5055    if (conf_parser_ctx.pass == 2)
5056      block_state.flags.value |= SHARED_UNRESV;
5057   }
5058 < #line 5069 "conf_parser.c" /* yacc.c:1646  */
5058 > #line 5059 "conf_parser.c" /* yacc.c:1646  */
5059      break;
5060  
5061 <  case 368:
5062 < #line 2016 "conf_parser.y" /* yacc.c:1646  */
5061 >  case 386:
5062 > #line 1977 "conf_parser.y" /* yacc.c:1646  */
5063      {
5064    if (conf_parser_ctx.pass == 2)
5065      block_state.flags.value |= SHARED_LOCOPS;
5066   }
5067 < #line 5078 "conf_parser.c" /* yacc.c:1646  */
5067 > #line 5068 "conf_parser.c" /* yacc.c:1646  */
5068      break;
5069  
5070 <  case 369:
5071 < #line 2020 "conf_parser.y" /* yacc.c:1646  */
5070 >  case 387:
5071 > #line 1981 "conf_parser.y" /* yacc.c:1646  */
5072      {
5073    if (conf_parser_ctx.pass == 2)
5074      block_state.flags.value = SHARED_ALL;
5075   }
5076 < #line 5087 "conf_parser.c" /* yacc.c:1646  */
5076 > #line 5077 "conf_parser.c" /* yacc.c:1646  */
5077      break;
5078  
5079 <  case 370:
5080 < #line 2029 "conf_parser.y" /* yacc.c:1646  */
5079 >  case 388:
5080 > #line 1991 "conf_parser.y" /* yacc.c:1646  */
5081      {
5082    if (conf_parser_ctx.pass != 2)
5083      break;
# Line 5095 | Line 5085 | yyreduce:
5085    reset_block_state();
5086  
5087    strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));
5088 <  block_state.flags.value = SHARED_ALL;
5088 >  block_state.flags.value = CLUSTER_ALL;
5089   }
5090 < #line 5101 "conf_parser.c" /* yacc.c:1646  */
5090 > #line 5091 "conf_parser.c" /* yacc.c:1646  */
5091      break;
5092  
5093 <  case 371:
5094 < #line 2038 "conf_parser.y" /* yacc.c:1646  */
5093 >  case 389:
5094 > #line 2000 "conf_parser.y" /* yacc.c:1646  */
5095      {
5106  struct MaskItem *conf = NULL;
5107
5096    if (conf_parser_ctx.pass != 2)
5097      break;
5098  
5099 <  conf = conf_make(CONF_CLUSTER);
5100 <  conf->flags = block_state.flags.value;
5101 <  conf->name = xstrdup(block_state.name.buf);
5099 >  struct ClusterItem *cluster = cluster_make();
5100 >  cluster->type = block_state.flags.value;
5101 >  cluster->server = xstrdup(block_state.name.buf);
5102   }
5103 < #line 5116 "conf_parser.c" /* yacc.c:1646  */
5103 > #line 5104 "conf_parser.c" /* yacc.c:1646  */
5104      break;
5105  
5106 <  case 377:
5107 < #line 2053 "conf_parser.y" /* yacc.c:1646  */
5106 >  case 395:
5107 > #line 2013 "conf_parser.y" /* yacc.c:1646  */
5108      {
5109    if (conf_parser_ctx.pass == 2)
5110      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5111   }
5112 < #line 5125 "conf_parser.c" /* yacc.c:1646  */
5112 > #line 5113 "conf_parser.c" /* yacc.c:1646  */
5113      break;
5114  
5115 <  case 378:
5116 < #line 2059 "conf_parser.y" /* yacc.c:1646  */
5115 >  case 396:
5116 > #line 2019 "conf_parser.y" /* yacc.c:1646  */
5117      {
5118    if (conf_parser_ctx.pass == 2)
5119      block_state.flags.value = 0;
5120   }
5121 < #line 5134 "conf_parser.c" /* yacc.c:1646  */
5121 > #line 5122 "conf_parser.c" /* yacc.c:1646  */
5122      break;
5123  
5124 <  case 382:
5125 < #line 2066 "conf_parser.y" /* yacc.c:1646  */
5124 >  case 400:
5125 > #line 2026 "conf_parser.y" /* yacc.c:1646  */
5126      {
5127    if (conf_parser_ctx.pass == 2)
5128 <    block_state.flags.value |= SHARED_KLINE;
5128 >    block_state.flags.value |= CLUSTER_KLINE;
5129   }
5130 < #line 5143 "conf_parser.c" /* yacc.c:1646  */
5130 > #line 5131 "conf_parser.c" /* yacc.c:1646  */
5131      break;
5132  
5133 <  case 383:
5134 < #line 2070 "conf_parser.y" /* yacc.c:1646  */
5133 >  case 401:
5134 > #line 2030 "conf_parser.y" /* yacc.c:1646  */
5135      {
5136    if (conf_parser_ctx.pass == 2)
5137 <    block_state.flags.value |= SHARED_UNKLINE;
5137 >    block_state.flags.value |= CLUSTER_UNKLINE;
5138   }
5139 < #line 5152 "conf_parser.c" /* yacc.c:1646  */
5139 > #line 5140 "conf_parser.c" /* yacc.c:1646  */
5140      break;
5141  
5142 <  case 384:
5143 < #line 2074 "conf_parser.y" /* yacc.c:1646  */
5142 >  case 402:
5143 > #line 2034 "conf_parser.y" /* yacc.c:1646  */
5144      {
5145    if (conf_parser_ctx.pass == 2)
5146 <    block_state.flags.value |= SHARED_DLINE;
5146 >    block_state.flags.value |= CLUSTER_DLINE;
5147   }
5148 < #line 5161 "conf_parser.c" /* yacc.c:1646  */
5148 > #line 5149 "conf_parser.c" /* yacc.c:1646  */
5149      break;
5150  
5151 <  case 385:
5152 < #line 2078 "conf_parser.y" /* yacc.c:1646  */
5151 >  case 403:
5152 > #line 2038 "conf_parser.y" /* yacc.c:1646  */
5153      {
5154    if (conf_parser_ctx.pass == 2)
5155 <    block_state.flags.value |= SHARED_UNDLINE;
5155 >    block_state.flags.value |= CLUSTER_UNDLINE;
5156   }
5157 < #line 5170 "conf_parser.c" /* yacc.c:1646  */
5157 > #line 5158 "conf_parser.c" /* yacc.c:1646  */
5158      break;
5159  
5160 <  case 386:
5161 < #line 2082 "conf_parser.y" /* yacc.c:1646  */
5160 >  case 404:
5161 > #line 2042 "conf_parser.y" /* yacc.c:1646  */
5162      {
5163    if (conf_parser_ctx.pass == 2)
5164 <    block_state.flags.value |= SHARED_XLINE;
5164 >    block_state.flags.value |= CLUSTER_XLINE;
5165   }
5166 < #line 5179 "conf_parser.c" /* yacc.c:1646  */
5166 > #line 5167 "conf_parser.c" /* yacc.c:1646  */
5167      break;
5168  
5169 <  case 387:
5170 < #line 2086 "conf_parser.y" /* yacc.c:1646  */
5169 >  case 405:
5170 > #line 2046 "conf_parser.y" /* yacc.c:1646  */
5171      {
5172    if (conf_parser_ctx.pass == 2)
5173 <    block_state.flags.value |= SHARED_UNXLINE;
5173 >    block_state.flags.value |= CLUSTER_UNXLINE;
5174   }
5175 < #line 5188 "conf_parser.c" /* yacc.c:1646  */
5175 > #line 5176 "conf_parser.c" /* yacc.c:1646  */
5176      break;
5177  
5178 <  case 388:
5179 < #line 2090 "conf_parser.y" /* yacc.c:1646  */
5178 >  case 406:
5179 > #line 2050 "conf_parser.y" /* yacc.c:1646  */
5180      {
5181    if (conf_parser_ctx.pass == 2)
5182 <    block_state.flags.value |= SHARED_RESV;
5182 >    block_state.flags.value |= CLUSTER_RESV;
5183   }
5184 < #line 5197 "conf_parser.c" /* yacc.c:1646  */
5184 > #line 5185 "conf_parser.c" /* yacc.c:1646  */
5185      break;
5186  
5187 <  case 389:
5188 < #line 2094 "conf_parser.y" /* yacc.c:1646  */
5187 >  case 407:
5188 > #line 2054 "conf_parser.y" /* yacc.c:1646  */
5189      {
5190    if (conf_parser_ctx.pass == 2)
5191 <    block_state.flags.value |= SHARED_UNRESV;
5191 >    block_state.flags.value |= CLUSTER_UNRESV;
5192   }
5193 < #line 5206 "conf_parser.c" /* yacc.c:1646  */
5193 > #line 5194 "conf_parser.c" /* yacc.c:1646  */
5194      break;
5195  
5196 <  case 390:
5197 < #line 2098 "conf_parser.y" /* yacc.c:1646  */
5196 >  case 408:
5197 > #line 2058 "conf_parser.y" /* yacc.c:1646  */
5198      {
5199    if (conf_parser_ctx.pass == 2)
5200 <    block_state.flags.value |= SHARED_LOCOPS;
5200 >    block_state.flags.value |= CLUSTER_LOCOPS;
5201   }
5202 < #line 5215 "conf_parser.c" /* yacc.c:1646  */
5202 > #line 5203 "conf_parser.c" /* yacc.c:1646  */
5203      break;
5204  
5205 <  case 391:
5206 < #line 2102 "conf_parser.y" /* yacc.c:1646  */
5205 >  case 409:
5206 > #line 2062 "conf_parser.y" /* yacc.c:1646  */
5207      {
5208    if (conf_parser_ctx.pass == 2)
5209 <    block_state.flags.value = SHARED_ALL;
5209 >    block_state.flags.value = CLUSTER_ALL;
5210   }
5211 < #line 5224 "conf_parser.c" /* yacc.c:1646  */
5211 > #line 5212 "conf_parser.c" /* yacc.c:1646  */
5212      break;
5213  
5214 <  case 392:
5215 < #line 2111 "conf_parser.y" /* yacc.c:1646  */
5214 >  case 410:
5215 > #line 2072 "conf_parser.y" /* yacc.c:1646  */
5216      {
5217  
5218    if (conf_parser_ctx.pass != 2)
# Line 5234 | Line 5222 | yyreduce:
5222    block_state.aftype.value = AF_INET;
5223    block_state.port.value = PORTNUM;
5224   }
5225 < #line 5238 "conf_parser.c" /* yacc.c:1646  */
5225 > #line 5226 "conf_parser.c" /* yacc.c:1646  */
5226      break;
5227  
5228 <  case 393:
5229 < #line 2120 "conf_parser.y" /* yacc.c:1646  */
5228 >  case 411:
5229 > #line 2081 "conf_parser.y" /* yacc.c:1646  */
5230      {
5231    struct MaskItem *conf = NULL;
5232    struct addrinfo hints, *res;
# Line 5300 | Line 5288 | yyreduce:
5288    conf_add_class_to_conf(conf, block_state.class.buf);
5289    lookup_confhost(conf);
5290   }
5291 < #line 5304 "conf_parser.c" /* yacc.c:1646  */
5291 > #line 5292 "conf_parser.c" /* yacc.c:1646  */
5292      break;
5293  
5294 <  case 411:
5295 < #line 2200 "conf_parser.y" /* yacc.c:1646  */
5294 >  case 429:
5295 > #line 2161 "conf_parser.y" /* yacc.c:1646  */
5296      {
5297    if (conf_parser_ctx.pass == 2)
5298      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5299   }
5300 < #line 5313 "conf_parser.c" /* yacc.c:1646  */
5300 > #line 5301 "conf_parser.c" /* yacc.c:1646  */
5301      break;
5302  
5303 <  case 412:
5304 < #line 2206 "conf_parser.y" /* yacc.c:1646  */
5303 >  case 430:
5304 > #line 2167 "conf_parser.y" /* yacc.c:1646  */
5305      {
5306    if (conf_parser_ctx.pass == 2)
5307      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
5308   }
5309 < #line 5322 "conf_parser.c" /* yacc.c:1646  */
5309 > #line 5310 "conf_parser.c" /* yacc.c:1646  */
5310      break;
5311  
5312 <  case 413:
5313 < #line 2212 "conf_parser.y" /* yacc.c:1646  */
5312 >  case 431:
5313 > #line 2173 "conf_parser.y" /* yacc.c:1646  */
5314      {
5315    if (conf_parser_ctx.pass == 2)
5316      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
5317   }
5318 < #line 5331 "conf_parser.c" /* yacc.c:1646  */
5318 > #line 5319 "conf_parser.c" /* yacc.c:1646  */
5319      break;
5320  
5321 <  case 414:
5322 < #line 2218 "conf_parser.y" /* yacc.c:1646  */
5321 >  case 432:
5322 > #line 2179 "conf_parser.y" /* yacc.c:1646  */
5323      {
5324    if (conf_parser_ctx.pass != 2)
5325      break;
# Line 5343 | Line 5331 | yyreduce:
5331    else
5332      strlcpy(block_state.spass.buf, yylval.string, sizeof(block_state.spass.buf));
5333   }
5334 < #line 5347 "conf_parser.c" /* yacc.c:1646  */
5334 > #line 5335 "conf_parser.c" /* yacc.c:1646  */
5335      break;
5336  
5337 <  case 415:
5338 < #line 2231 "conf_parser.y" /* yacc.c:1646  */
5337 >  case 433:
5338 > #line 2192 "conf_parser.y" /* yacc.c:1646  */
5339      {
5340    if (conf_parser_ctx.pass != 2)
5341      break;
# Line 5359 | Line 5347 | yyreduce:
5347    else
5348      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5349   }
5350 < #line 5363 "conf_parser.c" /* yacc.c:1646  */
5350 > #line 5351 "conf_parser.c" /* yacc.c:1646  */
5351      break;
5352  
5353 <  case 416:
5354 < #line 2244 "conf_parser.y" /* yacc.c:1646  */
5353 >  case 434:
5354 > #line 2205 "conf_parser.y" /* yacc.c:1646  */
5355      {
5356    if (conf_parser_ctx.pass == 2)
5357      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
5358   }
5359 < #line 5372 "conf_parser.c" /* yacc.c:1646  */
5359 > #line 5360 "conf_parser.c" /* yacc.c:1646  */
5360      break;
5361  
5362 <  case 417:
5363 < #line 2250 "conf_parser.y" /* yacc.c:1646  */
5362 >  case 435:
5363 > #line 2211 "conf_parser.y" /* yacc.c:1646  */
5364      {
5365    if (conf_parser_ctx.pass == 2)
5366      block_state.port.value = (yyvsp[-1].number);
5367   }
5368 < #line 5381 "conf_parser.c" /* yacc.c:1646  */
5368 > #line 5369 "conf_parser.c" /* yacc.c:1646  */
5369      break;
5370  
5371 <  case 418:
5372 < #line 2256 "conf_parser.y" /* yacc.c:1646  */
5371 >  case 436:
5372 > #line 2217 "conf_parser.y" /* yacc.c:1646  */
5373      {
5374    if (conf_parser_ctx.pass == 2)
5375      block_state.aftype.value = AF_INET;
5376   }
5377 < #line 5390 "conf_parser.c" /* yacc.c:1646  */
5377 > #line 5378 "conf_parser.c" /* yacc.c:1646  */
5378      break;
5379  
5380 <  case 419:
5381 < #line 2260 "conf_parser.y" /* yacc.c:1646  */
5380 >  case 437:
5381 > #line 2221 "conf_parser.y" /* yacc.c:1646  */
5382      {
5395 #ifdef IPV6
5383    if (conf_parser_ctx.pass == 2)
5384      block_state.aftype.value = AF_INET6;
5398 #endif
5385   }
5386 < #line 5401 "conf_parser.c" /* yacc.c:1646  */
5386 > #line 5387 "conf_parser.c" /* yacc.c:1646  */
5387      break;
5388  
5389 <  case 420:
5390 < #line 2268 "conf_parser.y" /* yacc.c:1646  */
5389 >  case 438:
5390 > #line 2227 "conf_parser.y" /* yacc.c:1646  */
5391      {
5392    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5393   }
5394 < #line 5409 "conf_parser.c" /* yacc.c:1646  */
5394 > #line 5395 "conf_parser.c" /* yacc.c:1646  */
5395      break;
5396  
5397 <  case 424:
5398 < #line 2274 "conf_parser.y" /* yacc.c:1646  */
5397 >  case 442:
5398 > #line 2233 "conf_parser.y" /* yacc.c:1646  */
5399      {
5400    if (conf_parser_ctx.pass == 2)
5401      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
5402   }
5403 < #line 5418 "conf_parser.c" /* yacc.c:1646  */
5403 > #line 5404 "conf_parser.c" /* yacc.c:1646  */
5404      break;
5405  
5406 <  case 425:
5407 < #line 2278 "conf_parser.y" /* yacc.c:1646  */
5406 >  case 443:
5407 > #line 2237 "conf_parser.y" /* yacc.c:1646  */
5408      {
5409    if (conf_parser_ctx.pass == 2)
5410      block_state.flags.value |= CONF_FLAGS_SSL;
5411   }
5412 < #line 5427 "conf_parser.c" /* yacc.c:1646  */
5412 > #line 5413 "conf_parser.c" /* yacc.c:1646  */
5413      break;
5414  
5415 <  case 426:
5416 < #line 2284 "conf_parser.y" /* yacc.c:1646  */
5415 >  case 444:
5416 > #line 2243 "conf_parser.y" /* yacc.c:1646  */
5417      {
5418    if (conf_parser_ctx.pass == 2)
5419    {
# Line 5437 | Line 5423 | yyreduce:
5423        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
5424    }
5425   }
5426 < #line 5441 "conf_parser.c" /* yacc.c:1646  */
5426 > #line 5427 "conf_parser.c" /* yacc.c:1646  */
5427      break;
5428  
5429 <  case 427:
5430 < #line 2295 "conf_parser.y" /* yacc.c:1646  */
5429 >  case 445:
5430 > #line 2254 "conf_parser.y" /* yacc.c:1646  */
5431      {
5432    if (conf_parser_ctx.pass == 2)
5433      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
5434   }
5435 < #line 5450 "conf_parser.c" /* yacc.c:1646  */
5435 > #line 5436 "conf_parser.c" /* yacc.c:1646  */
5436      break;
5437  
5438 <  case 428:
5439 < #line 2301 "conf_parser.y" /* yacc.c:1646  */
5438 >  case 446:
5439 > #line 2260 "conf_parser.y" /* yacc.c:1646  */
5440      {
5441    if (conf_parser_ctx.pass == 2)
5442      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
5443   }
5444 < #line 5459 "conf_parser.c" /* yacc.c:1646  */
5444 > #line 5445 "conf_parser.c" /* yacc.c:1646  */
5445      break;
5446  
5447 <  case 429:
5448 < #line 2307 "conf_parser.y" /* yacc.c:1646  */
5447 >  case 447:
5448 > #line 2266 "conf_parser.y" /* yacc.c:1646  */
5449      {
5450    if (conf_parser_ctx.pass == 2)
5451      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
5452   }
5453 < #line 5468 "conf_parser.c" /* yacc.c:1646  */
5453 > #line 5454 "conf_parser.c" /* yacc.c:1646  */
5454      break;
5455  
5456 <  case 430:
5457 < #line 2313 "conf_parser.y" /* yacc.c:1646  */
5456 >  case 448:
5457 > #line 2272 "conf_parser.y" /* yacc.c:1646  */
5458      {
5459 < #ifdef HAVE_LIBCRYPTO
5459 > #ifdef HAVE_TLS
5460    if (conf_parser_ctx.pass == 2)
5461      strlcpy(block_state.ciph.buf, yylval.string, sizeof(block_state.ciph.buf));
5462   #else
5463    if (conf_parser_ctx.pass == 2)
5464 <    conf_error_report("Ignoring connect::ciphers -- no OpenSSL support");
5464 >    conf_error_report("Ignoring connect::ciphers -- no TLS support");
5465   #endif
5466   }
5467 < #line 5482 "conf_parser.c" /* yacc.c:1646  */
5467 > #line 5468 "conf_parser.c" /* yacc.c:1646  */
5468      break;
5469  
5470 <  case 431:
5471 < #line 2328 "conf_parser.y" /* yacc.c:1646  */
5470 >  case 449:
5471 > #line 2287 "conf_parser.y" /* yacc.c:1646  */
5472      {
5473    if (conf_parser_ctx.pass == 2)
5474      reset_block_state();
5475   }
5476 < #line 5491 "conf_parser.c" /* yacc.c:1646  */
5476 > #line 5477 "conf_parser.c" /* yacc.c:1646  */
5477      break;
5478  
5479 <  case 432:
5480 < #line 2332 "conf_parser.y" /* yacc.c:1646  */
5479 >  case 450:
5480 > #line 2291 "conf_parser.y" /* yacc.c:1646  */
5481      {
5482    struct MaskItem *conf = NULL;
5483  
# Line 5512 | Line 5498 | yyreduce:
5498      conf->reason = xstrdup(CONF_NOREASON);
5499    add_conf_by_address(CONF_KLINE, conf);
5500   }
5501 < #line 5516 "conf_parser.c" /* yacc.c:1646  */
5501 > #line 5502 "conf_parser.c" /* yacc.c:1646  */
5502      break;
5503  
5504 <  case 438:
5505 < #line 2357 "conf_parser.y" /* yacc.c:1646  */
5504 >  case 456:
5505 > #line 2316 "conf_parser.y" /* yacc.c:1646  */
5506      {
5507  
5508    if (conf_parser_ctx.pass == 2)
# Line 5535 | Line 5521 | yyreduce:
5521      split_nuh(&nuh);
5522    }
5523   }
5524 < #line 5539 "conf_parser.c" /* yacc.c:1646  */
5524 > #line 5525 "conf_parser.c" /* yacc.c:1646  */
5525      break;
5526  
5527 <  case 439:
5528 < #line 2377 "conf_parser.y" /* yacc.c:1646  */
5527 >  case 457:
5528 > #line 2336 "conf_parser.y" /* yacc.c:1646  */
5529      {
5530    if (conf_parser_ctx.pass == 2)
5531      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5532   }
5533 < #line 5548 "conf_parser.c" /* yacc.c:1646  */
5533 > #line 5534 "conf_parser.c" /* yacc.c:1646  */
5534      break;
5535  
5536 <  case 440:
5537 < #line 2386 "conf_parser.y" /* yacc.c:1646  */
5536 >  case 458:
5537 > #line 2346 "conf_parser.y" /* yacc.c:1646  */
5538      {
5539    if (conf_parser_ctx.pass == 2)
5540      reset_block_state();
5541   }
5542 < #line 5557 "conf_parser.c" /* yacc.c:1646  */
5542 > #line 5543 "conf_parser.c" /* yacc.c:1646  */
5543      break;
5544  
5545 <  case 441:
5546 < #line 2390 "conf_parser.y" /* yacc.c:1646  */
5545 >  case 459:
5546 > #line 2350 "conf_parser.y" /* yacc.c:1646  */
5547      {
5548    struct MaskItem *conf = NULL;
5549  
# Line 5579 | Line 5565 | yyreduce:
5565      add_conf_by_address(CONF_DLINE, conf);
5566    }
5567   }
5568 < #line 5583 "conf_parser.c" /* yacc.c:1646  */
5568 > #line 5569 "conf_parser.c" /* yacc.c:1646  */
5569      break;
5570  
5571 <  case 447:
5572 < #line 2416 "conf_parser.y" /* yacc.c:1646  */
5571 >  case 465:
5572 > #line 2376 "conf_parser.y" /* yacc.c:1646  */
5573      {
5574    if (conf_parser_ctx.pass == 2)
5575      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5576   }
5577 < #line 5592 "conf_parser.c" /* yacc.c:1646  */
5577 > #line 5578 "conf_parser.c" /* yacc.c:1646  */
5578      break;
5579  
5580 <  case 448:
5581 < #line 2422 "conf_parser.y" /* yacc.c:1646  */
5580 >  case 466:
5581 > #line 2382 "conf_parser.y" /* yacc.c:1646  */
5582      {
5583    if (conf_parser_ctx.pass == 2)
5584      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5585   }
5586 < #line 5601 "conf_parser.c" /* yacc.c:1646  */
5586 > #line 5587 "conf_parser.c" /* yacc.c:1646  */
5587      break;
5588  
5589 <  case 454:
5590 < #line 2436 "conf_parser.y" /* yacc.c:1646  */
5589 >  case 472:
5590 > #line 2397 "conf_parser.y" /* yacc.c:1646  */
5591      {
5592    if (conf_parser_ctx.pass == 2)
5593    {
5594 <    if (yylval.string[0] && parse_netmask(yylval.string, NULL, NULL) != HM_HOST)
5594 >    if (*yylval.string && parse_netmask(yylval.string, NULL, NULL) != HM_HOST)
5595      {
5596        struct MaskItem *conf = conf_make(CONF_EXEMPT);
5597        conf->host = xstrdup(yylval.string);
# Line 5614 | Line 5600 | yyreduce:
5600      }
5601    }
5602   }
5603 < #line 5618 "conf_parser.c" /* yacc.c:1646  */
5603 > #line 5604 "conf_parser.c" /* yacc.c:1646  */
5604      break;
5605  
5606 <  case 455:
5607 < #line 2453 "conf_parser.y" /* yacc.c:1646  */
5606 >  case 473:
5607 > #line 2414 "conf_parser.y" /* yacc.c:1646  */
5608      {
5609    if (conf_parser_ctx.pass == 2)
5610      reset_block_state();
5611   }
5612 < #line 5627 "conf_parser.c" /* yacc.c:1646  */
5612 > #line 5613 "conf_parser.c" /* yacc.c:1646  */
5613      break;
5614  
5615 <  case 456:
5616 < #line 2457 "conf_parser.y" /* yacc.c:1646  */
5615 >  case 474:
5616 > #line 2418 "conf_parser.y" /* yacc.c:1646  */
5617      {
5632  struct MaskItem *conf = NULL;
5633
5618    if (conf_parser_ctx.pass != 2)
5619      break;
5620  
5621    if (!block_state.name.buf[0])
5622      break;
5623  
5624 <  conf = conf_make(CONF_XLINE);
5625 <  conf->name = xstrdup(block_state.name.buf);
5624 >  struct GecosItem *gecos = gecos_make();
5625 >  gecos->mask = xstrdup(block_state.name.buf);
5626  
5627    if (block_state.rpass.buf[0])
5628 <    conf->reason = xstrdup(block_state.rpass.buf);
5628 >    gecos->reason = xstrdup(block_state.rpass.buf);
5629    else
5630 <    conf->reason = xstrdup(CONF_NOREASON);
5630 >    gecos->reason = xstrdup(CONF_NOREASON);
5631   }
5632 < #line 5649 "conf_parser.c" /* yacc.c:1646  */
5632 > #line 5633 "conf_parser.c" /* yacc.c:1646  */
5633      break;
5634  
5635 <  case 462:
5636 < #line 2479 "conf_parser.y" /* yacc.c:1646  */
5635 >  case 480:
5636 > #line 2438 "conf_parser.y" /* yacc.c:1646  */
5637      {
5638    if (conf_parser_ctx.pass == 2)
5639      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5640   }
5641 < #line 5658 "conf_parser.c" /* yacc.c:1646  */
5641 > #line 5642 "conf_parser.c" /* yacc.c:1646  */
5642      break;
5643  
5644 <  case 463:
5645 < #line 2485 "conf_parser.y" /* yacc.c:1646  */
5644 >  case 481:
5645 > #line 2444 "conf_parser.y" /* yacc.c:1646  */
5646      {
5647    if (conf_parser_ctx.pass == 2)
5648      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5649   }
5650 < #line 5667 "conf_parser.c" /* yacc.c:1646  */
5667 <    break;
5668 <
5669 <  case 518:
5670 < #line 2551 "conf_parser.y" /* yacc.c:1646  */
5671 <    {
5672 <  ConfigFileEntry.max_watch = (yyvsp[-1].number);
5673 < }
5674 < #line 5675 "conf_parser.c" /* yacc.c:1646  */
5675 <    break;
5676 <
5677 <  case 519:
5678 < #line 2556 "conf_parser.y" /* yacc.c:1646  */
5679 <    {
5680 <  if (conf_parser_ctx.pass == 2)
5681 <    ConfigFileEntry.cycle_on_host_change = yylval.number;
5682 < }
5683 < #line 5684 "conf_parser.c" /* yacc.c:1646  */
5684 <    break;
5685 <
5686 <  case 520:
5687 < #line 2562 "conf_parser.y" /* yacc.c:1646  */
5688 <    {
5689 <  if (conf_parser_ctx.pass == 2)
5690 <    ConfigFileEntry.glines = yylval.number;
5691 < }
5692 < #line 5693 "conf_parser.c" /* yacc.c:1646  */
5693 <    break;
5694 <
5695 <  case 521:
5696 < #line 2568 "conf_parser.y" /* yacc.c:1646  */
5697 <    {
5698 <  if (conf_parser_ctx.pass == 2)
5699 <    ConfigFileEntry.gline_time = (yyvsp[-1].number);
5700 < }
5701 < #line 5702 "conf_parser.c" /* yacc.c:1646  */
5702 <    break;
5703 <
5704 <  case 522:
5705 < #line 2574 "conf_parser.y" /* yacc.c:1646  */
5706 <    {
5707 <  if (conf_parser_ctx.pass == 2)
5708 <    ConfigFileEntry.gline_request_time = (yyvsp[-1].number);
5709 < }
5710 < #line 5711 "conf_parser.c" /* yacc.c:1646  */
5711 <    break;
5712 <
5713 <  case 523:
5714 < #line 2580 "conf_parser.y" /* yacc.c:1646  */
5715 <    {
5716 <  ConfigFileEntry.gline_min_cidr = (yyvsp[-1].number);
5717 < }
5718 < #line 5719 "conf_parser.c" /* yacc.c:1646  */
5719 <    break;
5720 <
5721 <  case 524:
5722 < #line 2585 "conf_parser.y" /* yacc.c:1646  */
5723 <    {
5724 <  ConfigFileEntry.gline_min_cidr6 = (yyvsp[-1].number);
5725 < }
5726 < #line 5727 "conf_parser.c" /* yacc.c:1646  */
5727 <    break;
5728 <
5729 <  case 525:
5730 < #line 2590 "conf_parser.y" /* yacc.c:1646  */
5731 <    {
5732 <  ConfigFileEntry.tkline_expire_notices = yylval.number;
5733 < }
5734 < #line 5735 "conf_parser.c" /* yacc.c:1646  */
5735 <    break;
5736 <
5737 <  case 526:
5738 < #line 2595 "conf_parser.y" /* yacc.c:1646  */
5739 <    {
5740 <  ConfigFileEntry.kill_chase_time_limit = (yyvsp[-1].number);
5741 < }
5742 < #line 5743 "conf_parser.c" /* yacc.c:1646  */
5743 <    break;
5744 <
5745 <  case 527:
5746 < #line 2600 "conf_parser.y" /* yacc.c:1646  */
5747 <    {
5748 <  ConfigFileEntry.hide_spoof_ips = yylval.number;
5749 < }
5750 < #line 5751 "conf_parser.c" /* yacc.c:1646  */
5751 <    break;
5752 <
5753 <  case 528:
5754 < #line 2605 "conf_parser.y" /* yacc.c:1646  */
5755 <    {
5756 <  ConfigFileEntry.ignore_bogus_ts = yylval.number;
5757 < }
5758 < #line 5759 "conf_parser.c" /* yacc.c:1646  */
5759 <    break;
5760 <
5761 <  case 529:
5762 < #line 2610 "conf_parser.y" /* yacc.c:1646  */
5763 <    {
5764 <  ConfigFileEntry.failed_oper_notice = yylval.number;
5765 < }
5766 < #line 5767 "conf_parser.c" /* yacc.c:1646  */
5767 <    break;
5768 <
5769 <  case 530:
5770 < #line 2615 "conf_parser.y" /* yacc.c:1646  */
5771 <    {
5772 <  ConfigFileEntry.anti_nick_flood = yylval.number;
5773 < }
5774 < #line 5775 "conf_parser.c" /* yacc.c:1646  */
5775 <    break;
5776 <
5777 <  case 531:
5778 < #line 2620 "conf_parser.y" /* yacc.c:1646  */
5779 <    {
5780 <  ConfigFileEntry.max_nick_time = (yyvsp[-1].number);
5781 < }
5782 < #line 5783 "conf_parser.c" /* yacc.c:1646  */
5650 > #line 5651 "conf_parser.c" /* yacc.c:1646  */
5651      break;
5652  
5653    case 532:
5654 < #line 2625 "conf_parser.y" /* yacc.c:1646  */
5654 > #line 2506 "conf_parser.y" /* yacc.c:1646  */
5655      {
5656 <  ConfigFileEntry.max_nick_changes = (yyvsp[-1].number);
5656 >  ConfigGeneral.away_count = (yyvsp[-1].number);
5657   }
5658 < #line 5791 "conf_parser.c" /* yacc.c:1646  */
5658 > #line 5659 "conf_parser.c" /* yacc.c:1646  */
5659      break;
5660  
5661    case 533:
5662 < #line 2630 "conf_parser.y" /* yacc.c:1646  */
5662 > #line 2511 "conf_parser.y" /* yacc.c:1646  */
5663      {
5664 <  ConfigFileEntry.max_accept = (yyvsp[-1].number);
5664 >  ConfigGeneral.away_time = (yyvsp[-1].number);
5665   }
5666 < #line 5799 "conf_parser.c" /* yacc.c:1646  */
5666 > #line 5667 "conf_parser.c" /* yacc.c:1646  */
5667      break;
5668  
5669    case 534:
5670 < #line 2635 "conf_parser.y" /* yacc.c:1646  */
5670 > #line 2516 "conf_parser.y" /* yacc.c:1646  */
5671      {
5672 <  ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[-1].number);
5672 >  ConfigGeneral.max_watch = (yyvsp[-1].number);
5673   }
5674 < #line 5807 "conf_parser.c" /* yacc.c:1646  */
5674 > #line 5675 "conf_parser.c" /* yacc.c:1646  */
5675      break;
5676  
5677    case 535:
5678 < #line 2640 "conf_parser.y" /* yacc.c:1646  */
5678 > #line 2521 "conf_parser.y" /* yacc.c:1646  */
5679      {
5680 <  ConfigFileEntry.ts_warn_delta = (yyvsp[-1].number);
5680 >  ConfigGeneral.whowas_history_length = (yyvsp[-1].number);
5681   }
5682 < #line 5815 "conf_parser.c" /* yacc.c:1646  */
5682 > #line 5683 "conf_parser.c" /* yacc.c:1646  */
5683      break;
5684  
5685    case 536:
5686 < #line 2645 "conf_parser.y" /* yacc.c:1646  */
5686 > #line 2526 "conf_parser.y" /* yacc.c:1646  */
5687      {
5688    if (conf_parser_ctx.pass == 2)
5689 <    ConfigFileEntry.ts_max_delta = (yyvsp[-1].number);
5689 >    ConfigGeneral.cycle_on_host_change = yylval.number;
5690   }
5691 < #line 5824 "conf_parser.c" /* yacc.c:1646  */
5691 > #line 5692 "conf_parser.c" /* yacc.c:1646  */
5692      break;
5693  
5694    case 537:
5695 < #line 2651 "conf_parser.y" /* yacc.c:1646  */
5695 > #line 2532 "conf_parser.y" /* yacc.c:1646  */
5696      {
5697 <  if (((yyvsp[-1].number) > 0) && conf_parser_ctx.pass == 1)
5830 <  {
5831 <    ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
5832 <    ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
5833 <    ilog(LOG_TYPE_IRCD, "Consider actually reading/editing the conf file, and removing this line.");
5834 <    exit(0);
5835 <  }
5697 >  ConfigGeneral.dline_min_cidr = (yyvsp[-1].number);
5698   }
5699 < #line 5838 "conf_parser.c" /* yacc.c:1646  */
5699 > #line 5700 "conf_parser.c" /* yacc.c:1646  */
5700      break;
5701  
5702    case 538:
5703 < #line 2662 "conf_parser.y" /* yacc.c:1646  */
5703 > #line 2537 "conf_parser.y" /* yacc.c:1646  */
5704      {
5705 <  ConfigFileEntry.invisible_on_connect = yylval.number;
5705 >  ConfigGeneral.dline_min_cidr6 = (yyvsp[-1].number);
5706   }
5707 < #line 5846 "conf_parser.c" /* yacc.c:1646  */
5707 > #line 5708 "conf_parser.c" /* yacc.c:1646  */
5708      break;
5709  
5710    case 539:
5711 < #line 2667 "conf_parser.y" /* yacc.c:1646  */
5711 > #line 2542 "conf_parser.y" /* yacc.c:1646  */
5712      {
5713 <  ConfigFileEntry.warn_no_connect_block = yylval.number;
5713 >  ConfigGeneral.kline_min_cidr = (yyvsp[-1].number);
5714   }
5715 < #line 5854 "conf_parser.c" /* yacc.c:1646  */
5715 > #line 5716 "conf_parser.c" /* yacc.c:1646  */
5716      break;
5717  
5718    case 540:
5719 < #line 2672 "conf_parser.y" /* yacc.c:1646  */
5719 > #line 2547 "conf_parser.y" /* yacc.c:1646  */
5720      {
5721 <  ConfigFileEntry.stats_e_disabled = yylval.number;
5721 >  ConfigGeneral.kline_min_cidr6 = (yyvsp[-1].number);
5722   }
5723 < #line 5862 "conf_parser.c" /* yacc.c:1646  */
5723 > #line 5724 "conf_parser.c" /* yacc.c:1646  */
5724      break;
5725  
5726    case 541:
5727 < #line 2677 "conf_parser.y" /* yacc.c:1646  */
5727 > #line 2552 "conf_parser.y" /* yacc.c:1646  */
5728      {
5729 <  ConfigFileEntry.stats_o_oper_only = yylval.number;
5729 >  ConfigGeneral.tkline_expire_notices = yylval.number;
5730   }
5731 < #line 5870 "conf_parser.c" /* yacc.c:1646  */
5731 > #line 5732 "conf_parser.c" /* yacc.c:1646  */
5732      break;
5733  
5734    case 542:
5735 < #line 2682 "conf_parser.y" /* yacc.c:1646  */
5735 > #line 2557 "conf_parser.y" /* yacc.c:1646  */
5736      {
5737 <  ConfigFileEntry.stats_P_oper_only = yylval.number;
5737 >  ConfigGeneral.kill_chase_time_limit = (yyvsp[-1].number);
5738   }
5739 < #line 5878 "conf_parser.c" /* yacc.c:1646  */
5739 > #line 5740 "conf_parser.c" /* yacc.c:1646  */
5740      break;
5741  
5742    case 543:
5743 < #line 2687 "conf_parser.y" /* yacc.c:1646  */
5743 > #line 2562 "conf_parser.y" /* yacc.c:1646  */
5744      {
5745 <  ConfigFileEntry.stats_u_oper_only = yylval.number;
5745 >  ConfigGeneral.ignore_bogus_ts = yylval.number;
5746   }
5747 < #line 5886 "conf_parser.c" /* yacc.c:1646  */
5747 > #line 5748 "conf_parser.c" /* yacc.c:1646  */
5748      break;
5749  
5750    case 544:
5751 < #line 2692 "conf_parser.y" /* yacc.c:1646  */
5751 > #line 2567 "conf_parser.y" /* yacc.c:1646  */
5752      {
5753 <  ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
5753 >  ConfigGeneral.failed_oper_notice = yylval.number;
5754   }
5755 < #line 5894 "conf_parser.c" /* yacc.c:1646  */
5755 > #line 5756 "conf_parser.c" /* yacc.c:1646  */
5756      break;
5757  
5758    case 545:
5759 < #line 2695 "conf_parser.y" /* yacc.c:1646  */
5759 > #line 2572 "conf_parser.y" /* yacc.c:1646  */
5760      {
5761 <  ConfigFileEntry.stats_k_oper_only = 1;
5761 >  ConfigGeneral.anti_nick_flood = yylval.number;
5762   }
5763 < #line 5902 "conf_parser.c" /* yacc.c:1646  */
5763 > #line 5764 "conf_parser.c" /* yacc.c:1646  */
5764      break;
5765  
5766    case 546:
5767 < #line 2700 "conf_parser.y" /* yacc.c:1646  */
5767 > #line 2577 "conf_parser.y" /* yacc.c:1646  */
5768      {
5769 <  ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
5769 >  ConfigGeneral.max_nick_time = (yyvsp[-1].number);
5770   }
5771 < #line 5910 "conf_parser.c" /* yacc.c:1646  */
5771 > #line 5772 "conf_parser.c" /* yacc.c:1646  */
5772      break;
5773  
5774    case 547:
5775 < #line 2703 "conf_parser.y" /* yacc.c:1646  */
5775 > #line 2582 "conf_parser.y" /* yacc.c:1646  */
5776      {
5777 <  ConfigFileEntry.stats_i_oper_only = 1;
5777 >  ConfigGeneral.max_nick_changes = (yyvsp[-1].number);
5778   }
5779 < #line 5918 "conf_parser.c" /* yacc.c:1646  */
5779 > #line 5780 "conf_parser.c" /* yacc.c:1646  */
5780      break;
5781  
5782    case 548:
5783 < #line 2708 "conf_parser.y" /* yacc.c:1646  */
5783 > #line 2587 "conf_parser.y" /* yacc.c:1646  */
5784      {
5785 <  ConfigFileEntry.pace_wait = (yyvsp[-1].number);
5785 >  ConfigGeneral.max_accept = (yyvsp[-1].number);
5786   }
5787 < #line 5926 "conf_parser.c" /* yacc.c:1646  */
5787 > #line 5788 "conf_parser.c" /* yacc.c:1646  */
5788      break;
5789  
5790    case 549:
5791 < #line 2713 "conf_parser.y" /* yacc.c:1646  */
5791 > #line 2592 "conf_parser.y" /* yacc.c:1646  */
5792      {
5793 <  ConfigFileEntry.caller_id_wait = (yyvsp[-1].number);
5793 >  ConfigGeneral.anti_spam_exit_message_time = (yyvsp[-1].number);
5794   }
5795 < #line 5934 "conf_parser.c" /* yacc.c:1646  */
5795 > #line 5796 "conf_parser.c" /* yacc.c:1646  */
5796      break;
5797  
5798    case 550:
5799 < #line 2718 "conf_parser.y" /* yacc.c:1646  */
5799 > #line 2597 "conf_parser.y" /* yacc.c:1646  */
5800      {
5801 <  ConfigFileEntry.opers_bypass_callerid = yylval.number;
5801 >  ConfigGeneral.ts_warn_delta = (yyvsp[-1].number);
5802   }
5803 < #line 5942 "conf_parser.c" /* yacc.c:1646  */
5803 > #line 5804 "conf_parser.c" /* yacc.c:1646  */
5804      break;
5805  
5806    case 551:
5807 < #line 2723 "conf_parser.y" /* yacc.c:1646  */
5807 > #line 2602 "conf_parser.y" /* yacc.c:1646  */
5808      {
5809 <  ConfigFileEntry.pace_wait_simple = (yyvsp[-1].number);
5809 >  if (conf_parser_ctx.pass == 2)
5810 >    ConfigGeneral.ts_max_delta = (yyvsp[-1].number);
5811   }
5812 < #line 5950 "conf_parser.c" /* yacc.c:1646  */
5812 > #line 5813 "conf_parser.c" /* yacc.c:1646  */
5813      break;
5814  
5815    case 552:
5816 < #line 2728 "conf_parser.y" /* yacc.c:1646  */
5816 > #line 2608 "conf_parser.y" /* yacc.c:1646  */
5817      {
5818 <  ConfigFileEntry.short_motd = yylval.number;
5818 >  ConfigGeneral.invisible_on_connect = yylval.number;
5819   }
5820 < #line 5958 "conf_parser.c" /* yacc.c:1646  */
5820 > #line 5821 "conf_parser.c" /* yacc.c:1646  */
5821      break;
5822  
5823    case 553:
5824 < #line 2733 "conf_parser.y" /* yacc.c:1646  */
5824 > #line 2613 "conf_parser.y" /* yacc.c:1646  */
5825      {
5826 <  ConfigFileEntry.no_oper_flood = yylval.number;
5826 >  ConfigGeneral.warn_no_connect_block = yylval.number;
5827   }
5828 < #line 5966 "conf_parser.c" /* yacc.c:1646  */
5828 > #line 5829 "conf_parser.c" /* yacc.c:1646  */
5829      break;
5830  
5831    case 554:
5832 < #line 2738 "conf_parser.y" /* yacc.c:1646  */
5832 > #line 2618 "conf_parser.y" /* yacc.c:1646  */
5833      {
5834 <  ConfigFileEntry.true_no_oper_flood = yylval.number;
5834 >  ConfigGeneral.stats_e_disabled = yylval.number;
5835   }
5836 < #line 5974 "conf_parser.c" /* yacc.c:1646  */
5836 > #line 5837 "conf_parser.c" /* yacc.c:1646  */
5837      break;
5838  
5839    case 555:
5840 < #line 2743 "conf_parser.y" /* yacc.c:1646  */
5840 > #line 2623 "conf_parser.y" /* yacc.c:1646  */
5841      {
5842 <  ConfigFileEntry.oper_pass_resv = yylval.number;
5842 >  ConfigGeneral.stats_m_oper_only = yylval.number;
5843   }
5844 < #line 5982 "conf_parser.c" /* yacc.c:1646  */
5844 > #line 5845 "conf_parser.c" /* yacc.c:1646  */
5845      break;
5846  
5847    case 556:
5848 < #line 2748 "conf_parser.y" /* yacc.c:1646  */
5848 > #line 2628 "conf_parser.y" /* yacc.c:1646  */
5849      {
5850 <  ConfigFileEntry.dots_in_ident = (yyvsp[-1].number);
5850 >  ConfigGeneral.stats_o_oper_only = yylval.number;
5851   }
5852 < #line 5990 "conf_parser.c" /* yacc.c:1646  */
5852 > #line 5853 "conf_parser.c" /* yacc.c:1646  */
5853      break;
5854  
5855    case 557:
5856 < #line 2753 "conf_parser.y" /* yacc.c:1646  */
5856 > #line 2633 "conf_parser.y" /* yacc.c:1646  */
5857      {
5858 <  ConfigFileEntry.max_targets = (yyvsp[-1].number);
5858 >  ConfigGeneral.stats_P_oper_only = yylval.number;
5859   }
5860 < #line 5998 "conf_parser.c" /* yacc.c:1646  */
5860 > #line 5861 "conf_parser.c" /* yacc.c:1646  */
5861      break;
5862  
5863    case 558:
5864 < #line 2758 "conf_parser.y" /* yacc.c:1646  */
5864 > #line 2638 "conf_parser.y" /* yacc.c:1646  */
5865      {
5866 <  ConfigFileEntry.use_egd = yylval.number;
5866 >  ConfigGeneral.stats_u_oper_only = yylval.number;
5867   }
5868 < #line 6006 "conf_parser.c" /* yacc.c:1646  */
5868 > #line 5869 "conf_parser.c" /* yacc.c:1646  */
5869      break;
5870  
5871    case 559:
5872 < #line 2763 "conf_parser.y" /* yacc.c:1646  */
5872 > #line 2643 "conf_parser.y" /* yacc.c:1646  */
5873      {
5874 <  if (conf_parser_ctx.pass == 2)
6012 <  {
6013 <    MyFree(ConfigFileEntry.egdpool_path);
6014 <    ConfigFileEntry.egdpool_path = xstrdup(yylval.string);
6015 <  }
5874 >  ConfigGeneral.stats_k_oper_only = 2 * yylval.number;
5875   }
5876 < #line 6018 "conf_parser.c" /* yacc.c:1646  */
5876 > #line 5877 "conf_parser.c" /* yacc.c:1646  */
5877      break;
5878  
5879    case 560:
5880 < #line 2772 "conf_parser.y" /* yacc.c:1646  */
5880 > #line 2646 "conf_parser.y" /* yacc.c:1646  */
5881      {
5882 <  if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6024 <  {
6025 <    MyFree(ConfigFileEntry.service_name);
6026 <    ConfigFileEntry.service_name = xstrdup(yylval.string);
6027 <  }
5882 >  ConfigGeneral.stats_k_oper_only = 1;
5883   }
5884 < #line 6030 "conf_parser.c" /* yacc.c:1646  */
5884 > #line 5885 "conf_parser.c" /* yacc.c:1646  */
5885      break;
5886  
5887    case 561:
5888 < #line 2781 "conf_parser.y" /* yacc.c:1646  */
5888 > #line 2651 "conf_parser.y" /* yacc.c:1646  */
5889      {
5890 <  ConfigFileEntry.ping_cookie = yylval.number;
5890 >  ConfigGeneral.stats_i_oper_only = 2 * yylval.number;
5891   }
5892 < #line 6038 "conf_parser.c" /* yacc.c:1646  */
5892 > #line 5893 "conf_parser.c" /* yacc.c:1646  */
5893      break;
5894  
5895    case 562:
5896 < #line 2786 "conf_parser.y" /* yacc.c:1646  */
5896 > #line 2654 "conf_parser.y" /* yacc.c:1646  */
5897      {
5898 <  ConfigFileEntry.disable_auth = yylval.number;
5898 >  ConfigGeneral.stats_i_oper_only = 1;
5899   }
5900 < #line 6046 "conf_parser.c" /* yacc.c:1646  */
5900 > #line 5901 "conf_parser.c" /* yacc.c:1646  */
5901      break;
5902  
5903    case 563:
5904 < #line 2791 "conf_parser.y" /* yacc.c:1646  */
5904 > #line 2659 "conf_parser.y" /* yacc.c:1646  */
5905      {
5906 <  ConfigFileEntry.throttle_count = (yyvsp[-1].number);
5906 >  ConfigGeneral.pace_wait = (yyvsp[-1].number);
5907   }
5908 < #line 6054 "conf_parser.c" /* yacc.c:1646  */
5908 > #line 5909 "conf_parser.c" /* yacc.c:1646  */
5909      break;
5910  
5911    case 564:
5912 < #line 2796 "conf_parser.y" /* yacc.c:1646  */
5912 > #line 2664 "conf_parser.y" /* yacc.c:1646  */
5913      {
5914 <  ConfigFileEntry.throttle_time = (yyvsp[-1].number);
5914 >  ConfigGeneral.caller_id_wait = (yyvsp[-1].number);
5915   }
5916 < #line 6062 "conf_parser.c" /* yacc.c:1646  */
5916 > #line 5917 "conf_parser.c" /* yacc.c:1646  */
5917      break;
5918  
5919    case 565:
5920 < #line 2801 "conf_parser.y" /* yacc.c:1646  */
5920 > #line 2669 "conf_parser.y" /* yacc.c:1646  */
5921      {
5922 <  ConfigFileEntry.oper_umodes = 0;
5922 >  ConfigGeneral.opers_bypass_callerid = yylval.number;
5923   }
5924 < #line 6070 "conf_parser.c" /* yacc.c:1646  */
5924 > #line 5925 "conf_parser.c" /* yacc.c:1646  */
5925      break;
5926  
5927 <  case 569:
5928 < #line 2807 "conf_parser.y" /* yacc.c:1646  */
5927 >  case 566:
5928 > #line 2674 "conf_parser.y" /* yacc.c:1646  */
5929      {
5930 <  ConfigFileEntry.oper_umodes |= UMODE_BOTS;
5930 >  ConfigGeneral.pace_wait_simple = (yyvsp[-1].number);
5931   }
5932 < #line 6078 "conf_parser.c" /* yacc.c:1646  */
5932 > #line 5933 "conf_parser.c" /* yacc.c:1646  */
5933      break;
5934  
5935 <  case 570:
5936 < #line 2810 "conf_parser.y" /* yacc.c:1646  */
5935 >  case 567:
5936 > #line 2679 "conf_parser.y" /* yacc.c:1646  */
5937      {
5938 <  ConfigFileEntry.oper_umodes |= UMODE_CCONN;
5938 >  ConfigGeneral.short_motd = yylval.number;
5939   }
5940 < #line 6086 "conf_parser.c" /* yacc.c:1646  */
5940 > #line 5941 "conf_parser.c" /* yacc.c:1646  */
5941      break;
5942  
5943 <  case 571:
5944 < #line 2813 "conf_parser.y" /* yacc.c:1646  */
5943 >  case 568:
5944 > #line 2684 "conf_parser.y" /* yacc.c:1646  */
5945      {
5946 <  ConfigFileEntry.oper_umodes |= UMODE_DEAF;
5946 >  ConfigGeneral.no_oper_flood = yylval.number;
5947   }
5948 < #line 6094 "conf_parser.c" /* yacc.c:1646  */
5948 > #line 5949 "conf_parser.c" /* yacc.c:1646  */
5949      break;
5950  
5951 <  case 572:
5952 < #line 2816 "conf_parser.y" /* yacc.c:1646  */
5951 >  case 569:
5952 > #line 2689 "conf_parser.y" /* yacc.c:1646  */
5953      {
5954 <  ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
5954 >  ConfigGeneral.dots_in_ident = (yyvsp[-1].number);
5955   }
5956 < #line 6102 "conf_parser.c" /* yacc.c:1646  */
5956 > #line 5957 "conf_parser.c" /* yacc.c:1646  */
5957      break;
5958  
5959 <  case 573:
5960 < #line 2819 "conf_parser.y" /* yacc.c:1646  */
5959 >  case 570:
5960 > #line 2694 "conf_parser.y" /* yacc.c:1646  */
5961      {
5962 <  ConfigFileEntry.oper_umodes |= UMODE_FULL;
5962 >  ConfigGeneral.max_targets = (yyvsp[-1].number);
5963   }
5964 < #line 6110 "conf_parser.c" /* yacc.c:1646  */
5964 > #line 5965 "conf_parser.c" /* yacc.c:1646  */
5965      break;
5966  
5967 <  case 574:
5968 < #line 2822 "conf_parser.y" /* yacc.c:1646  */
5967 >  case 571:
5968 > #line 2699 "conf_parser.y" /* yacc.c:1646  */
5969      {
5970 <  ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
5970 >  ConfigGeneral.ping_cookie = yylval.number;
5971   }
5972 < #line 6118 "conf_parser.c" /* yacc.c:1646  */
5972 > #line 5973 "conf_parser.c" /* yacc.c:1646  */
5973      break;
5974  
5975 <  case 575:
5976 < #line 2825 "conf_parser.y" /* yacc.c:1646  */
5975 >  case 572:
5976 > #line 2704 "conf_parser.y" /* yacc.c:1646  */
5977      {
5978 <  ConfigFileEntry.oper_umodes |= UMODE_HIDECHANS;
5978 >  ConfigGeneral.disable_auth = yylval.number;
5979   }
5980 < #line 6126 "conf_parser.c" /* yacc.c:1646  */
5980 > #line 5981 "conf_parser.c" /* yacc.c:1646  */
5981      break;
5982  
5983 <  case 576:
5984 < #line 2828 "conf_parser.y" /* yacc.c:1646  */
5983 >  case 573:
5984 > #line 2709 "conf_parser.y" /* yacc.c:1646  */
5985      {
5986 <  ConfigFileEntry.oper_umodes |= UMODE_HIDEIDLE;
5986 >  ConfigGeneral.throttle_count = (yyvsp[-1].number);
5987   }
5988 < #line 6134 "conf_parser.c" /* yacc.c:1646  */
5988 > #line 5989 "conf_parser.c" /* yacc.c:1646  */
5989      break;
5990  
5991 <  case 577:
5992 < #line 2831 "conf_parser.y" /* yacc.c:1646  */
5991 >  case 574:
5992 > #line 2714 "conf_parser.y" /* yacc.c:1646  */
5993      {
5994 <  ConfigFileEntry.oper_umodes |= UMODE_SKILL;
5994 >  ConfigGeneral.throttle_time = (yyvsp[-1].number);
5995   }
5996 < #line 6142 "conf_parser.c" /* yacc.c:1646  */
5996 > #line 5997 "conf_parser.c" /* yacc.c:1646  */
5997      break;
5998  
5999 <  case 578:
6000 < #line 2834 "conf_parser.y" /* yacc.c:1646  */
5999 >  case 575:
6000 > #line 2719 "conf_parser.y" /* yacc.c:1646  */
6001      {
6002 <  ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6002 >  ConfigGeneral.oper_umodes = 0;
6003   }
6004 < #line 6150 "conf_parser.c" /* yacc.c:1646  */
6004 > #line 6005 "conf_parser.c" /* yacc.c:1646  */
6005      break;
6006  
6007    case 579:
6008 < #line 2837 "conf_parser.y" /* yacc.c:1646  */
6008 > #line 2725 "conf_parser.y" /* yacc.c:1646  */
6009      {
6010 <  ConfigFileEntry.oper_umodes |= UMODE_REJ;
6010 >  ConfigGeneral.oper_umodes |= UMODE_BOTS;
6011   }
6012 < #line 6158 "conf_parser.c" /* yacc.c:1646  */
6012 > #line 6013 "conf_parser.c" /* yacc.c:1646  */
6013      break;
6014  
6015    case 580:
6016 < #line 2840 "conf_parser.y" /* yacc.c:1646  */
6016 > #line 2728 "conf_parser.y" /* yacc.c:1646  */
6017      {
6018 <  ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6018 >  ConfigGeneral.oper_umodes |= UMODE_CCONN;
6019   }
6020 < #line 6166 "conf_parser.c" /* yacc.c:1646  */
6020 > #line 6021 "conf_parser.c" /* yacc.c:1646  */
6021      break;
6022  
6023    case 581:
6024 < #line 2843 "conf_parser.y" /* yacc.c:1646  */
6024 > #line 2731 "conf_parser.y" /* yacc.c:1646  */
6025      {
6026 <  ConfigFileEntry.oper_umodes |= UMODE_SPY;
6026 >  ConfigGeneral.oper_umodes |= UMODE_DEAF;
6027   }
6028 < #line 6174 "conf_parser.c" /* yacc.c:1646  */
6028 > #line 6029 "conf_parser.c" /* yacc.c:1646  */
6029      break;
6030  
6031    case 582:
6032 < #line 2846 "conf_parser.y" /* yacc.c:1646  */
6032 > #line 2734 "conf_parser.y" /* yacc.c:1646  */
6033      {
6034 <  ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6034 >  ConfigGeneral.oper_umodes |= UMODE_DEBUG;
6035   }
6036 < #line 6182 "conf_parser.c" /* yacc.c:1646  */
6036 > #line 6037 "conf_parser.c" /* yacc.c:1646  */
6037      break;
6038  
6039    case 583:
6040 < #line 2849 "conf_parser.y" /* yacc.c:1646  */
6040 > #line 2737 "conf_parser.y" /* yacc.c:1646  */
6041      {
6042 <  ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6042 >  ConfigGeneral.oper_umodes |= UMODE_FULL;
6043   }
6044 < #line 6190 "conf_parser.c" /* yacc.c:1646  */
6044 > #line 6045 "conf_parser.c" /* yacc.c:1646  */
6045      break;
6046  
6047    case 584:
6048 < #line 2852 "conf_parser.y" /* yacc.c:1646  */
6048 > #line 2740 "conf_parser.y" /* yacc.c:1646  */
6049      {
6050 <  ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6050 >  ConfigGeneral.oper_umodes |= UMODE_HIDDEN;
6051   }
6052 < #line 6198 "conf_parser.c" /* yacc.c:1646  */
6052 > #line 6053 "conf_parser.c" /* yacc.c:1646  */
6053      break;
6054  
6055    case 585:
6056 < #line 2855 "conf_parser.y" /* yacc.c:1646  */
6056 > #line 2743 "conf_parser.y" /* yacc.c:1646  */
6057      {
6058 <  ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6058 >  ConfigGeneral.oper_umodes |= UMODE_HIDECHANS;
6059   }
6060 < #line 6206 "conf_parser.c" /* yacc.c:1646  */
6060 > #line 6061 "conf_parser.c" /* yacc.c:1646  */
6061      break;
6062  
6063    case 586:
6064 < #line 2858 "conf_parser.y" /* yacc.c:1646  */
6064 > #line 2746 "conf_parser.y" /* yacc.c:1646  */
6065      {
6066 <  ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6066 >  ConfigGeneral.oper_umodes |= UMODE_HIDEIDLE;
6067   }
6068 < #line 6214 "conf_parser.c" /* yacc.c:1646  */
6068 > #line 6069 "conf_parser.c" /* yacc.c:1646  */
6069      break;
6070  
6071    case 587:
6072 < #line 2861 "conf_parser.y" /* yacc.c:1646  */
6072 > #line 2749 "conf_parser.y" /* yacc.c:1646  */
6073      {
6074 <  ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6074 >  ConfigGeneral.oper_umodes |= UMODE_SKILL;
6075   }
6076 < #line 6222 "conf_parser.c" /* yacc.c:1646  */
6076 > #line 6077 "conf_parser.c" /* yacc.c:1646  */
6077      break;
6078  
6079    case 588:
6080 < #line 2864 "conf_parser.y" /* yacc.c:1646  */
6080 > #line 2752 "conf_parser.y" /* yacc.c:1646  */
6081      {
6082 <  ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6082 >  ConfigGeneral.oper_umodes |= UMODE_NCHANGE;
6083   }
6084 < #line 6230 "conf_parser.c" /* yacc.c:1646  */
6084 > #line 6085 "conf_parser.c" /* yacc.c:1646  */
6085      break;
6086  
6087    case 589:
6088 < #line 2867 "conf_parser.y" /* yacc.c:1646  */
6088 > #line 2755 "conf_parser.y" /* yacc.c:1646  */
6089      {
6090 <  ConfigFileEntry.oper_umodes |= UMODE_REGONLY;
6090 >  ConfigGeneral.oper_umodes |= UMODE_REJ;
6091   }
6092 < #line 6238 "conf_parser.c" /* yacc.c:1646  */
6092 > #line 6093 "conf_parser.c" /* yacc.c:1646  */
6093      break;
6094  
6095    case 590:
6096 < #line 2870 "conf_parser.y" /* yacc.c:1646  */
6096 > #line 2758 "conf_parser.y" /* yacc.c:1646  */
6097      {
6098 <  ConfigFileEntry.oper_umodes |= UMODE_FARCONNECT;
6098 >  ConfigGeneral.oper_umodes |= UMODE_UNAUTH;
6099   }
6100 < #line 6246 "conf_parser.c" /* yacc.c:1646  */
6100 > #line 6101 "conf_parser.c" /* yacc.c:1646  */
6101      break;
6102  
6103    case 591:
6104 < #line 2875 "conf_parser.y" /* yacc.c:1646  */
6104 > #line 2761 "conf_parser.y" /* yacc.c:1646  */
6105      {
6106 <  ConfigFileEntry.oper_only_umodes = 0;
6106 >  ConfigGeneral.oper_umodes |= UMODE_SPY;
6107   }
6108 < #line 6254 "conf_parser.c" /* yacc.c:1646  */
6108 > #line 6109 "conf_parser.c" /* yacc.c:1646  */
6109      break;
6110  
6111 <  case 595:
6112 < #line 2881 "conf_parser.y" /* yacc.c:1646  */
6111 >  case 592:
6112 > #line 2764 "conf_parser.y" /* yacc.c:1646  */
6113      {
6114 <  ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6114 >  ConfigGeneral.oper_umodes |= UMODE_EXTERNAL;
6115   }
6116 < #line 6262 "conf_parser.c" /* yacc.c:1646  */
6116 > #line 6117 "conf_parser.c" /* yacc.c:1646  */
6117      break;
6118  
6119 <  case 596:
6120 < #line 2884 "conf_parser.y" /* yacc.c:1646  */
6119 >  case 593:
6120 > #line 2767 "conf_parser.y" /* yacc.c:1646  */
6121      {
6122 <  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6122 >  ConfigGeneral.oper_umodes |= UMODE_SERVNOTICE;
6123   }
6124 < #line 6270 "conf_parser.c" /* yacc.c:1646  */
6124 > #line 6125 "conf_parser.c" /* yacc.c:1646  */
6125      break;
6126  
6127 <  case 597:
6128 < #line 2887 "conf_parser.y" /* yacc.c:1646  */
6127 >  case 594:
6128 > #line 2770 "conf_parser.y" /* yacc.c:1646  */
6129      {
6130 <  ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6130 >  ConfigGeneral.oper_umodes |= UMODE_INVISIBLE;
6131   }
6132 < #line 6278 "conf_parser.c" /* yacc.c:1646  */
6132 > #line 6133 "conf_parser.c" /* yacc.c:1646  */
6133      break;
6134  
6135 <  case 598:
6136 < #line 2890 "conf_parser.y" /* yacc.c:1646  */
6135 >  case 595:
6136 > #line 2773 "conf_parser.y" /* yacc.c:1646  */
6137      {
6138 <  ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6138 >  ConfigGeneral.oper_umodes |= UMODE_WALLOP;
6139   }
6140 < #line 6286 "conf_parser.c" /* yacc.c:1646  */
6140 > #line 6141 "conf_parser.c" /* yacc.c:1646  */
6141      break;
6142  
6143 <  case 599:
6144 < #line 2893 "conf_parser.y" /* yacc.c:1646  */
6143 >  case 596:
6144 > #line 2776 "conf_parser.y" /* yacc.c:1646  */
6145      {
6146 <  ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6146 >  ConfigGeneral.oper_umodes |= UMODE_SOFTCALLERID;
6147   }
6148 < #line 6294 "conf_parser.c" /* yacc.c:1646  */
6148 > #line 6149 "conf_parser.c" /* yacc.c:1646  */
6149      break;
6150  
6151 <  case 600:
6152 < #line 2896 "conf_parser.y" /* yacc.c:1646  */
6151 >  case 597:
6152 > #line 2779 "conf_parser.y" /* yacc.c:1646  */
6153      {
6154 <  ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6154 >  ConfigGeneral.oper_umodes |= UMODE_CALLERID;
6155   }
6156 < #line 6302 "conf_parser.c" /* yacc.c:1646  */
6156 > #line 6157 "conf_parser.c" /* yacc.c:1646  */
6157      break;
6158  
6159 <  case 601:
6160 < #line 2899 "conf_parser.y" /* yacc.c:1646  */
6159 >  case 598:
6160 > #line 2782 "conf_parser.y" /* yacc.c:1646  */
6161      {
6162 <  ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6162 >  ConfigGeneral.oper_umodes |= UMODE_LOCOPS;
6163   }
6164 < #line 6310 "conf_parser.c" /* yacc.c:1646  */
6164 > #line 6165 "conf_parser.c" /* yacc.c:1646  */
6165      break;
6166  
6167 <  case 602:
6168 < #line 2902 "conf_parser.y" /* yacc.c:1646  */
6167 >  case 599:
6168 > #line 2785 "conf_parser.y" /* yacc.c:1646  */
6169      {
6170 <  ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6170 >  ConfigGeneral.oper_umodes |= UMODE_REGONLY;
6171   }
6172 < #line 6318 "conf_parser.c" /* yacc.c:1646  */
6172 > #line 6173 "conf_parser.c" /* yacc.c:1646  */
6173      break;
6174  
6175 <  case 603:
6176 < #line 2905 "conf_parser.y" /* yacc.c:1646  */
6175 >  case 600:
6176 > #line 2788 "conf_parser.y" /* yacc.c:1646  */
6177      {
6178 <  ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6178 >  ConfigGeneral.oper_umodes |= UMODE_FARCONNECT;
6179   }
6180 < #line 6326 "conf_parser.c" /* yacc.c:1646  */
6180 > #line 6181 "conf_parser.c" /* yacc.c:1646  */
6181      break;
6182  
6183 <  case 604:
6184 < #line 2908 "conf_parser.y" /* yacc.c:1646  */
6183 >  case 601:
6184 > #line 2793 "conf_parser.y" /* yacc.c:1646  */
6185      {
6186 <  ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6186 >  ConfigGeneral.oper_only_umodes = 0;
6187   }
6188 < #line 6334 "conf_parser.c" /* yacc.c:1646  */
6188 > #line 6189 "conf_parser.c" /* yacc.c:1646  */
6189      break;
6190  
6191    case 605:
6192 < #line 2911 "conf_parser.y" /* yacc.c:1646  */
6192 > #line 2799 "conf_parser.y" /* yacc.c:1646  */
6193      {
6194 <  ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6194 >  ConfigGeneral.oper_only_umodes |= UMODE_BOTS;
6195   }
6196 < #line 6342 "conf_parser.c" /* yacc.c:1646  */
6196 > #line 6197 "conf_parser.c" /* yacc.c:1646  */
6197      break;
6198  
6199    case 606:
6200 < #line 2914 "conf_parser.y" /* yacc.c:1646  */
6200 > #line 2802 "conf_parser.y" /* yacc.c:1646  */
6201      {
6202 <  ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6202 >  ConfigGeneral.oper_only_umodes |= UMODE_CCONN;
6203   }
6204 < #line 6350 "conf_parser.c" /* yacc.c:1646  */
6204 > #line 6205 "conf_parser.c" /* yacc.c:1646  */
6205      break;
6206  
6207    case 607:
6208 < #line 2917 "conf_parser.y" /* yacc.c:1646  */
6208 > #line 2805 "conf_parser.y" /* yacc.c:1646  */
6209      {
6210 <  ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6210 >  ConfigGeneral.oper_only_umodes |= UMODE_DEAF;
6211   }
6212 < #line 6358 "conf_parser.c" /* yacc.c:1646  */
6212 > #line 6213 "conf_parser.c" /* yacc.c:1646  */
6213      break;
6214  
6215    case 608:
6216 < #line 2920 "conf_parser.y" /* yacc.c:1646  */
6216 > #line 2808 "conf_parser.y" /* yacc.c:1646  */
6217      {
6218 <  ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6218 >  ConfigGeneral.oper_only_umodes |= UMODE_DEBUG;
6219   }
6220 < #line 6366 "conf_parser.c" /* yacc.c:1646  */
6220 > #line 6221 "conf_parser.c" /* yacc.c:1646  */
6221      break;
6222  
6223    case 609:
6224 < #line 2923 "conf_parser.y" /* yacc.c:1646  */
6224 > #line 2811 "conf_parser.y" /* yacc.c:1646  */
6225      {
6226 <  ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6226 >  ConfigGeneral.oper_only_umodes |= UMODE_FULL;
6227   }
6228 < #line 6374 "conf_parser.c" /* yacc.c:1646  */
6228 > #line 6229 "conf_parser.c" /* yacc.c:1646  */
6229      break;
6230  
6231    case 610:
6232 < #line 2926 "conf_parser.y" /* yacc.c:1646  */
6232 > #line 2814 "conf_parser.y" /* yacc.c:1646  */
6233      {
6234 <  ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6234 >  ConfigGeneral.oper_only_umodes |= UMODE_SKILL;
6235   }
6236 < #line 6382 "conf_parser.c" /* yacc.c:1646  */
6236 > #line 6237 "conf_parser.c" /* yacc.c:1646  */
6237      break;
6238  
6239    case 611:
6240 < #line 2929 "conf_parser.y" /* yacc.c:1646  */
6240 > #line 2817 "conf_parser.y" /* yacc.c:1646  */
6241      {
6242 <  ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6242 >  ConfigGeneral.oper_only_umodes |= UMODE_HIDDEN;
6243   }
6244 < #line 6390 "conf_parser.c" /* yacc.c:1646  */
6244 > #line 6245 "conf_parser.c" /* yacc.c:1646  */
6245      break;
6246  
6247    case 612:
6248 < #line 2932 "conf_parser.y" /* yacc.c:1646  */
6248 > #line 2820 "conf_parser.y" /* yacc.c:1646  */
6249      {
6250 <  ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6250 >  ConfigGeneral.oper_only_umodes |= UMODE_NCHANGE;
6251   }
6252 < #line 6398 "conf_parser.c" /* yacc.c:1646  */
6252 > #line 6253 "conf_parser.c" /* yacc.c:1646  */
6253      break;
6254  
6255    case 613:
6256 < #line 2935 "conf_parser.y" /* yacc.c:1646  */
6256 > #line 2823 "conf_parser.y" /* yacc.c:1646  */
6257      {
6258 <  ConfigFileEntry.oper_only_umodes |= UMODE_REGONLY;
6258 >  ConfigGeneral.oper_only_umodes |= UMODE_REJ;
6259   }
6260 < #line 6406 "conf_parser.c" /* yacc.c:1646  */
6260 > #line 6261 "conf_parser.c" /* yacc.c:1646  */
6261      break;
6262  
6263    case 614:
6264 < #line 2938 "conf_parser.y" /* yacc.c:1646  */
6264 > #line 2826 "conf_parser.y" /* yacc.c:1646  */
6265      {
6266 <  ConfigFileEntry.oper_only_umodes |= UMODE_FARCONNECT;
6266 >  ConfigGeneral.oper_only_umodes |= UMODE_UNAUTH;
6267   }
6268 < #line 6414 "conf_parser.c" /* yacc.c:1646  */
6268 > #line 6269 "conf_parser.c" /* yacc.c:1646  */
6269      break;
6270  
6271    case 615:
6272 < #line 2943 "conf_parser.y" /* yacc.c:1646  */
6272 > #line 2829 "conf_parser.y" /* yacc.c:1646  */
6273      {
6274 <  ConfigFileEntry.min_nonwildcard = (yyvsp[-1].number);
6274 >  ConfigGeneral.oper_only_umodes |= UMODE_SPY;
6275   }
6276 < #line 6422 "conf_parser.c" /* yacc.c:1646  */
6276 > #line 6277 "conf_parser.c" /* yacc.c:1646  */
6277      break;
6278  
6279    case 616:
6280 < #line 2948 "conf_parser.y" /* yacc.c:1646  */
6280 > #line 2832 "conf_parser.y" /* yacc.c:1646  */
6281      {
6282 <  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[-1].number);
6282 >  ConfigGeneral.oper_only_umodes |= UMODE_EXTERNAL;
6283   }
6284 < #line 6430 "conf_parser.c" /* yacc.c:1646  */
6284 > #line 6285 "conf_parser.c" /* yacc.c:1646  */
6285      break;
6286  
6287    case 617:
6288 < #line 2953 "conf_parser.y" /* yacc.c:1646  */
6288 > #line 2835 "conf_parser.y" /* yacc.c:1646  */
6289      {
6290 <  ConfigFileEntry.default_floodcount = (yyvsp[-1].number);
6290 >  ConfigGeneral.oper_only_umodes |= UMODE_SERVNOTICE;
6291   }
6292 < #line 6438 "conf_parser.c" /* yacc.c:1646  */
6292 > #line 6293 "conf_parser.c" /* yacc.c:1646  */
6293      break;
6294  
6295 <  case 636:
6296 < #line 2982 "conf_parser.y" /* yacc.c:1646  */
6295 >  case 618:
6296 > #line 2838 "conf_parser.y" /* yacc.c:1646  */
6297      {
6298 <  ConfigChannel.disable_fake_channels = yylval.number;
6298 >  ConfigGeneral.oper_only_umodes |= UMODE_INVISIBLE;
6299   }
6300 < #line 6446 "conf_parser.c" /* yacc.c:1646  */
6300 > #line 6301 "conf_parser.c" /* yacc.c:1646  */
6301      break;
6302  
6303 <  case 637:
6304 < #line 2987 "conf_parser.y" /* yacc.c:1646  */
6303 >  case 619:
6304 > #line 2841 "conf_parser.y" /* yacc.c:1646  */
6305      {
6306 <  ConfigChannel.invite_client_count = (yyvsp[-1].number);
6306 >  ConfigGeneral.oper_only_umodes |= UMODE_WALLOP;
6307   }
6308 < #line 6454 "conf_parser.c" /* yacc.c:1646  */
6308 > #line 6309 "conf_parser.c" /* yacc.c:1646  */
6309      break;
6310  
6311 <  case 638:
6312 < #line 2992 "conf_parser.y" /* yacc.c:1646  */
6311 >  case 620:
6312 > #line 2844 "conf_parser.y" /* yacc.c:1646  */
6313      {
6314 <  ConfigChannel.invite_client_time = (yyvsp[-1].number);
6314 >  ConfigGeneral.oper_only_umodes |= UMODE_SOFTCALLERID;
6315   }
6316 < #line 6462 "conf_parser.c" /* yacc.c:1646  */
6316 > #line 6317 "conf_parser.c" /* yacc.c:1646  */
6317      break;
6318  
6319 <  case 639:
6320 < #line 2997 "conf_parser.y" /* yacc.c:1646  */
6319 >  case 621:
6320 > #line 2847 "conf_parser.y" /* yacc.c:1646  */
6321      {
6322 <  ConfigChannel.knock_client_count = (yyvsp[-1].number);
6322 >  ConfigGeneral.oper_only_umodes |= UMODE_CALLERID;
6323   }
6324 < #line 6470 "conf_parser.c" /* yacc.c:1646  */
6324 > #line 6325 "conf_parser.c" /* yacc.c:1646  */
6325      break;
6326  
6327 <  case 640:
6328 < #line 3002 "conf_parser.y" /* yacc.c:1646  */
6327 >  case 622:
6328 > #line 2850 "conf_parser.y" /* yacc.c:1646  */
6329      {
6330 <  ConfigChannel.knock_client_time = (yyvsp[-1].number);
6330 >  ConfigGeneral.oper_only_umodes |= UMODE_LOCOPS;
6331   }
6332 < #line 6478 "conf_parser.c" /* yacc.c:1646  */
6332 > #line 6333 "conf_parser.c" /* yacc.c:1646  */
6333      break;
6334  
6335 <  case 641:
6336 < #line 3007 "conf_parser.y" /* yacc.c:1646  */
6335 >  case 623:
6336 > #line 2853 "conf_parser.y" /* yacc.c:1646  */
6337      {
6338 <  ConfigChannel.knock_delay_channel = (yyvsp[-1].number);
6338 >  ConfigGeneral.oper_only_umodes |= UMODE_REGONLY;
6339   }
6340 < #line 6486 "conf_parser.c" /* yacc.c:1646  */
6340 > #line 6341 "conf_parser.c" /* yacc.c:1646  */
6341      break;
6342  
6343 <  case 642:
6344 < #line 3012 "conf_parser.y" /* yacc.c:1646  */
6343 >  case 624:
6344 > #line 2856 "conf_parser.y" /* yacc.c:1646  */
6345      {
6346 <  ConfigChannel.max_channels = (yyvsp[-1].number);
6346 >  ConfigGeneral.oper_only_umodes |= UMODE_FARCONNECT;
6347   }
6348 < #line 6494 "conf_parser.c" /* yacc.c:1646  */
6348 > #line 6349 "conf_parser.c" /* yacc.c:1646  */
6349 >    break;
6350 >
6351 >  case 625:
6352 > #line 2861 "conf_parser.y" /* yacc.c:1646  */
6353 >    {
6354 >  ConfigGeneral.min_nonwildcard = (yyvsp[-1].number);
6355 > }
6356 > #line 6357 "conf_parser.c" /* yacc.c:1646  */
6357 >    break;
6358 >
6359 >  case 626:
6360 > #line 2866 "conf_parser.y" /* yacc.c:1646  */
6361 >    {
6362 >  ConfigGeneral.min_nonwildcard_simple = (yyvsp[-1].number);
6363 > }
6364 > #line 6365 "conf_parser.c" /* yacc.c:1646  */
6365 >    break;
6366 >
6367 >  case 627:
6368 > #line 2871 "conf_parser.y" /* yacc.c:1646  */
6369 >    {
6370 >  ConfigGeneral.default_floodcount = (yyvsp[-1].number);
6371 > }
6372 > #line 6373 "conf_parser.c" /* yacc.c:1646  */
6373      break;
6374  
6375    case 643:
6376 < #line 3017 "conf_parser.y" /* yacc.c:1646  */
6376 > #line 2896 "conf_parser.y" /* yacc.c:1646  */
6377      {
6378 <  ConfigChannel.max_bans = (yyvsp[-1].number);
6378 >  ConfigChannel.disable_fake_channels = yylval.number;
6379   }
6380 < #line 6502 "conf_parser.c" /* yacc.c:1646  */
6380 > #line 6381 "conf_parser.c" /* yacc.c:1646  */
6381      break;
6382  
6383    case 644:
6384 < #line 3022 "conf_parser.y" /* yacc.c:1646  */
6384 > #line 2901 "conf_parser.y" /* yacc.c:1646  */
6385      {
6386 <  ConfigChannel.default_split_user_count = (yyvsp[-1].number);
6386 >  ConfigChannel.invite_client_count = (yyvsp[-1].number);
6387   }
6388 < #line 6510 "conf_parser.c" /* yacc.c:1646  */
6388 > #line 6389 "conf_parser.c" /* yacc.c:1646  */
6389      break;
6390  
6391    case 645:
6392 < #line 3027 "conf_parser.y" /* yacc.c:1646  */
6392 > #line 2906 "conf_parser.y" /* yacc.c:1646  */
6393      {
6394 <  ConfigChannel.default_split_server_count = (yyvsp[-1].number);
6394 >  ConfigChannel.invite_client_time = (yyvsp[-1].number);
6395   }
6396 < #line 6518 "conf_parser.c" /* yacc.c:1646  */
6396 > #line 6397 "conf_parser.c" /* yacc.c:1646  */
6397      break;
6398  
6399    case 646:
6400 < #line 3032 "conf_parser.y" /* yacc.c:1646  */
6400 > #line 2911 "conf_parser.y" /* yacc.c:1646  */
6401      {
6402 <  ConfigChannel.no_create_on_split = yylval.number;
6402 >  ConfigChannel.invite_delay_channel = (yyvsp[-1].number);
6403   }
6404 < #line 6526 "conf_parser.c" /* yacc.c:1646  */
6404 > #line 6405 "conf_parser.c" /* yacc.c:1646  */
6405      break;
6406  
6407    case 647:
6408 < #line 3037 "conf_parser.y" /* yacc.c:1646  */
6408 > #line 2916 "conf_parser.y" /* yacc.c:1646  */
6409      {
6410 <  ConfigChannel.no_join_on_split = yylval.number;
6410 >  ConfigChannel.knock_client_count = (yyvsp[-1].number);
6411   }
6412 < #line 6534 "conf_parser.c" /* yacc.c:1646  */
6412 > #line 6413 "conf_parser.c" /* yacc.c:1646  */
6413      break;
6414  
6415    case 648:
6416 < #line 3042 "conf_parser.y" /* yacc.c:1646  */
6416 > #line 2921 "conf_parser.y" /* yacc.c:1646  */
6417      {
6418 <  GlobalSetOptions.joinfloodcount = yylval.number;
6418 >  ConfigChannel.knock_client_time = (yyvsp[-1].number);
6419   }
6420 < #line 6542 "conf_parser.c" /* yacc.c:1646  */
6420 > #line 6421 "conf_parser.c" /* yacc.c:1646  */
6421      break;
6422  
6423    case 649:
6424 < #line 3047 "conf_parser.y" /* yacc.c:1646  */
6424 > #line 2926 "conf_parser.y" /* yacc.c:1646  */
6425      {
6426 <  GlobalSetOptions.joinfloodtime = (yyvsp[-1].number);
6426 >  ConfigChannel.knock_delay_channel = (yyvsp[-1].number);
6427   }
6428 < #line 6550 "conf_parser.c" /* yacc.c:1646  */
6428 > #line 6429 "conf_parser.c" /* yacc.c:1646  */
6429      break;
6430  
6431 <  case 662:
6432 < #line 3069 "conf_parser.y" /* yacc.c:1646  */
6431 >  case 650:
6432 > #line 2931 "conf_parser.y" /* yacc.c:1646  */
6433      {
6434 <  if (conf_parser_ctx.pass == 2)
6556 <    ConfigServerHide.flatten_links = yylval.number;
6434 >  ConfigChannel.max_channels = (yyvsp[-1].number);
6435   }
6436 < #line 6559 "conf_parser.c" /* yacc.c:1646  */
6436 > #line 6437 "conf_parser.c" /* yacc.c:1646  */
6437      break;
6438  
6439 <  case 663:
6440 < #line 3075 "conf_parser.y" /* yacc.c:1646  */
6439 >  case 651:
6440 > #line 2936 "conf_parser.y" /* yacc.c:1646  */
6441      {
6442 <  if (conf_parser_ctx.pass == 2)
6565 <    ConfigServerHide.disable_remote_commands = yylval.number;
6442 >  ConfigChannel.max_bans = (yyvsp[-1].number);
6443   }
6444 < #line 6568 "conf_parser.c" /* yacc.c:1646  */
6444 > #line 6445 "conf_parser.c" /* yacc.c:1646  */
6445      break;
6446  
6447 <  case 664:
6448 < #line 3081 "conf_parser.y" /* yacc.c:1646  */
6447 >  case 652:
6448 > #line 2941 "conf_parser.y" /* yacc.c:1646  */
6449      {
6450 <  if (conf_parser_ctx.pass == 2)
6574 <    ConfigServerHide.hide_servers = yylval.number;
6450 >  ConfigChannel.default_join_flood_count = yylval.number;
6451   }
6452 < #line 6577 "conf_parser.c" /* yacc.c:1646  */
6452 > #line 6453 "conf_parser.c" /* yacc.c:1646  */
6453      break;
6454  
6455 <  case 665:
6456 < #line 3087 "conf_parser.y" /* yacc.c:1646  */
6455 >  case 653:
6456 > #line 2946 "conf_parser.y" /* yacc.c:1646  */
6457 >    {
6458 >  ConfigChannel.default_join_flood_time = (yyvsp[-1].number);
6459 > }
6460 > #line 6461 "conf_parser.c" /* yacc.c:1646  */
6461 >    break;
6462 >
6463 >  case 667:
6464 > #line 2969 "conf_parser.y" /* yacc.c:1646  */
6465      {
6466    if (conf_parser_ctx.pass == 2)
6467 <    ConfigServerHide.hide_services = yylval.number;
6467 >    ConfigServerHide.flatten_links = yylval.number;
6468   }
6469 < #line 6586 "conf_parser.c" /* yacc.c:1646  */
6469 > #line 6470 "conf_parser.c" /* yacc.c:1646  */
6470      break;
6471  
6472 <  case 666:
6473 < #line 3093 "conf_parser.y" /* yacc.c:1646  */
6472 >  case 668:
6473 > #line 2975 "conf_parser.y" /* yacc.c:1646  */
6474      {
6475    if (conf_parser_ctx.pass == 2)
6476    {
6477 <    MyFree(ConfigServerHide.hidden_name);
6478 <    ConfigServerHide.hidden_name = xstrdup(yylval.string);
6477 >    if ((yyvsp[-1].number) > 0)
6478 >    {
6479 >      event_write_links_file.when = (yyvsp[-1].number);
6480 >      event_add(&event_write_links_file, NULL);
6481 >    }
6482 >    else
6483 >     event_delete(&event_write_links_file);
6484 >
6485 >    ConfigServerHide.flatten_links_delay = (yyvsp[-1].number);
6486    }
6487   }
6488 < #line 6598 "conf_parser.c" /* yacc.c:1646  */
6488 > #line 6489 "conf_parser.c" /* yacc.c:1646  */
6489      break;
6490  
6491 <  case 667:
6492 < #line 3102 "conf_parser.y" /* yacc.c:1646  */
6491 >  case 669:
6492 > #line 2991 "conf_parser.y" /* yacc.c:1646  */
6493      {
6494    if (conf_parser_ctx.pass == 2)
6495    {
6496 <    if (((yyvsp[-1].number) > 0) && ConfigServerHide.links_disabled == 1)
6496 >    xfree(ConfigServerHide.flatten_links_file);
6497 >    ConfigServerHide.flatten_links_file = xstrdup(yylval.string);
6498 >  }
6499 > }
6500 > #line 6501 "conf_parser.c" /* yacc.c:1646  */
6501 >    break;
6502 >
6503 >  case 670:
6504 > #line 3000 "conf_parser.y" /* yacc.c:1646  */
6505      {
6506 <      event_write_links_file.when = (yyvsp[-1].number);
6507 <      event_addish(&event_write_links_file, NULL);
6508 <      ConfigServerHide.links_disabled = 0;
6509 <    }
6506 >  if (conf_parser_ctx.pass == 2)
6507 >    ConfigServerHide.disable_remote_commands = yylval.number;
6508 > }
6509 > #line 6510 "conf_parser.c" /* yacc.c:1646  */
6510 >    break;
6511 >
6512 >  case 671:
6513 > #line 3006 "conf_parser.y" /* yacc.c:1646  */
6514 >    {
6515 >  if (conf_parser_ctx.pass == 2)
6516 >    ConfigServerHide.hide_servers = yylval.number;
6517 > }
6518 > #line 6519 "conf_parser.c" /* yacc.c:1646  */
6519 >    break;
6520 >
6521 >  case 672:
6522 > #line 3012 "conf_parser.y" /* yacc.c:1646  */
6523 >    {
6524 >  if (conf_parser_ctx.pass == 2)
6525 >    ConfigServerHide.hide_services = yylval.number;
6526 > }
6527 > #line 6528 "conf_parser.c" /* yacc.c:1646  */
6528 >    break;
6529  
6530 <    ConfigServerHide.links_delay = (yyvsp[-1].number);
6530 >  case 673:
6531 > #line 3018 "conf_parser.y" /* yacc.c:1646  */
6532 >    {
6533 >  if (conf_parser_ctx.pass == 2)
6534 >  {
6535 >    xfree(ConfigServerHide.hidden_name);
6536 >    ConfigServerHide.hidden_name = xstrdup(yylval.string);
6537    }
6538   }
6539 < #line 6616 "conf_parser.c" /* yacc.c:1646  */
6539 > #line 6540 "conf_parser.c" /* yacc.c:1646  */
6540      break;
6541  
6542 <  case 668:
6543 < #line 3117 "conf_parser.y" /* yacc.c:1646  */
6542 >  case 674:
6543 > #line 3027 "conf_parser.y" /* yacc.c:1646  */
6544      {
6545    if (conf_parser_ctx.pass == 2)
6546      ConfigServerHide.hidden = yylval.number;
6547   }
6548 < #line 6625 "conf_parser.c" /* yacc.c:1646  */
6548 > #line 6549 "conf_parser.c" /* yacc.c:1646  */
6549      break;
6550  
6551 <  case 669:
6552 < #line 3123 "conf_parser.y" /* yacc.c:1646  */
6551 >  case 675:
6552 > #line 3033 "conf_parser.y" /* yacc.c:1646  */
6553      {
6554    if (conf_parser_ctx.pass == 2)
6555      ConfigServerHide.hide_server_ips = yylval.number;
6556   }
6557 < #line 6634 "conf_parser.c" /* yacc.c:1646  */
6557 > #line 6558 "conf_parser.c" /* yacc.c:1646  */
6558      break;
6559  
6560  
6561 < #line 6638 "conf_parser.c" /* yacc.c:1646  */
6561 > #line 6562 "conf_parser.c" /* yacc.c:1646  */
6562        default: break;
6563      }
6564    /* User semantic actions sometimes alter yychar, and that requires

Comparing ircd-hybrid/trunk/src/conf_parser.c (property svn:keywords):
Revision 4114 by michael, Tue Jul 1 16:47:15 2014 UTC vs.
Revision 7668 by michael, Wed Jul 20 17:09:49 2016 UTC

# Line 1 | Line 1
1 < Id Revision
1 > Id

Diff Legend

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