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-8/src/conf_parser.c (file contents), Revision 1377 by michael, Mon Apr 30 19:35:16 2012 UTC vs.
ircd-hybrid/trunk/src/conf_parser.c (file contents), Revision 1646 by michael, Wed Nov 7 21:02:43 2012 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.5.  */
1 > /* A Bison parser, made by GNU Bison 2.6.2.33-cc5a9.  */
2  
3   /* Bison implementation for Yacc-like parsers in C
4    
5 <      Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
5 >      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
6    
7     This program is free software: you can redistribute it and/or modify
8     it under the terms of the GNU General Public License as published by
# Line 44 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.5"
47 > #define YYBISON_VERSION "2.6.2.33-cc5a9"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 58 | Line 58
58   /* Pull parsers.  */
59   #define YYPULL 1
60  
61 /* Using locations.  */
62 #define YYLSP_NEEDED 0
61  
62  
63  
64   /* Copy the first part of user declarations.  */
65 <
68 < /* Line 268 of yacc.c  */
65 > /* Line 358 of yacc.c  */
66   #line 25 "conf_parser.y"
67  
68  
# Line 78 | Line 75
75   #include "ircd.h"
76   #include "list.h"
77   #include "conf.h"
78 + #include "conf_class.h"
79   #include "event.h"
80   #include "log.h"
81   #include "client.h"     /* for UMODE_ALL only */
# Line 103 | Line 101
101   int yylex(void);
102  
103   static char *class_name = NULL;
104 < static struct ConfItem *yy_conf = NULL;
107 < static struct AccessItem *yy_aconf = NULL;
108 < static struct MatchItem *yy_match_item = NULL;
104 > static struct MaskItem *yy_conf = NULL;
105   static struct ClassItem *yy_class = NULL;
106   static char *yy_class_name = NULL;
107  
108   static dlink_list col_conf_list  = { NULL, NULL, 0 };
113 static dlink_list hub_conf_list  = { NULL, NULL, 0 };
114 static dlink_list leaf_conf_list = { NULL, NULL, 0 };
109   static unsigned int listener_flags = 0;
110   static unsigned int regex_ban = 0;
111   static char userbuf[IRCD_BUFSIZE];
# Line 124 | Line 118 | static unsigned int lsize = 0;
118   static char *resv_reason = NULL;
119   static char *listener_address = NULL;
120  
121 < struct CollectItem
121 > static struct
122   {
123 <  dlink_node node;
124 <  char *name;
125 <  char *user;
126 <  char *host;
127 <  char *passwd;
128 <  int  port;
129 <  int  flags;
130 < #ifdef HAVE_LIBCRYPTO
131 <  char *rsa_public_key_file;
132 <  RSA *rsa_public_key;
133 < #endif
134 < };
123 >  struct {
124 >    dlink_list list;
125 >  } mask,
126 >    leaf,
127 >    hub;
128 >
129 >  struct {
130 >    char buf[IRCD_BUFSIZE];
131 >  } name,
132 >    user,
133 >    host,
134 >    addr,
135 >    pass,
136 >    file,
137 >    class;
138 >
139 >  struct {
140 >    unsigned int value;
141 >  } flags,
142 >    modes,
143 >    port,
144 >    ping_freq,
145 >    max_perip,
146 >    con_freq,
147 >    max_total,
148 >    max_global,
149 >    max_local,
150 >    max_ident,
151 >    max_sendq,
152 >    max_recvq,
153 >    cidr_bitlen_ipv4,
154 >    cidr_bitlen_ipv6,
155 >    number_per_cidr;
156 > } block_state;
157  
158   static void
159 < free_collect_item(struct CollectItem *item)
159 > reset_block_state(void)
160   {
161 <  MyFree(item->name);
146 <  MyFree(item->user);
147 <  MyFree(item->host);
148 <  MyFree(item->passwd);
149 < #ifdef HAVE_LIBCRYPTO
150 <  MyFree(item->rsa_public_key_file);
151 < #endif
152 <  MyFree(item);
153 < }
161 >  dlink_node *ptr = NULL, *ptr_next = NULL;
162  
163 < static void
164 < unhook_hub_leaf_confs(void)
165 < {
166 <  dlink_node *ptr;
167 <  dlink_node *next_ptr;
168 <  struct CollectItem *yy_hconf;
161 <  struct CollectItem *yy_lconf;
163 >  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.mask.list.head)
164 >  {
165 >    MyFree(ptr->data);
166 >    dlinkDelete(ptr, &block_state.mask.list);
167 >    free_dlink_node(ptr);
168 >  }
169  
170 <  DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
170 >  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.leaf.list.head)
171    {
172 <    yy_hconf = ptr->data;
173 <    dlinkDelete(&yy_hconf->node, &hub_conf_list);
174 <    free_collect_item(yy_hconf);
172 >    MyFree(ptr->data);
173 >    dlinkDelete(ptr, &block_state.leaf.list);
174 >    free_dlink_node(ptr);
175    }
176  
177 <  DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
177 >  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.hub.list.head)
178    {
179 <    yy_lconf = ptr->data;
180 <    dlinkDelete(&yy_lconf->node, &leaf_conf_list);
181 <    free_collect_item(yy_lconf);
179 >    MyFree(ptr->data);
180 >    dlinkDelete(ptr, &block_state.hub.list);
181 >    free_dlink_node(ptr);
182    }
176 }
183  
184 +  memset(&block_state, 0, sizeof(block_state));
185 + }
186  
187  
188 < /* Line 268 of yacc.c  */
189 < #line 182 "conf_parser.c"
188 > /* Line 358 of yacc.c  */
189 > #line 190 "conf_parser.c"
190  
191 < /* Enabling traces.  */
192 < #ifndef YYDEBUG
193 < # define YYDEBUG 0
194 < #endif
191 > # ifndef YY_NULL
192 > #  if defined __cplusplus && 201103L <= __cplusplus
193 > #   define YY_NULL nullptr
194 > #  else
195 > #   define YY_NULL 0
196 > #  endif
197 > # endif
198  
199   /* Enabling verbose error messages.  */
200   #ifdef YYERROR_VERBOSE
# Line 193 | Line 204 | unhook_hub_leaf_confs(void)
204   # define YYERROR_VERBOSE 0
205   #endif
206  
207 < /* Enabling the token table.  */
208 < #ifndef YYTOKEN_TABLE
209 < # define YYTOKEN_TABLE 0
207 > /* In a future release of Bison, this section will be replaced
208 >   by #include "y.tab.h".  */
209 > #ifndef YY_YY_Y_TAB_H_INCLUDED
210 > # define YY_YY_Y_TAB_H_INCLUDED
211 > /* Enabling traces.  */
212 > #ifndef YYDEBUG
213 > # define YYDEBUG 0
214 > #endif
215 > #if YYDEBUG
216 > extern int yydebug;
217   #endif
200
218  
219   /* Tokens.  */
220   #ifndef YYTOKENTYPE
# Line 206 | Line 223 | unhook_hub_leaf_confs(void)
223        know about them.  */
224     enum yytokentype {
225       ACCEPT_PASSWORD = 258,
226 <     ACTION = 259,
227 <     ADMIN = 260,
228 <     AFTYPE = 261,
229 <     T_ALLOW = 262,
230 <     ANTI_NICK_FLOOD = 263,
231 <     ANTI_SPAM_EXIT_MESSAGE_TIME = 264,
232 <     AUTOCONN = 265,
233 <     T_BLOCK = 266,
234 <     BURST_AWAY = 267,
235 <     BURST_TOPICWHO = 268,
236 <     BYTES = 269,
237 <     KBYTES = 270,
238 <     MBYTES = 271,
239 <     GBYTES = 272,
240 <     TBYTES = 273,
241 <     CALLER_ID_WAIT = 274,
242 <     CAN_FLOOD = 275,
243 <     CHANNEL = 276,
244 <     CIDR_BITLEN_IPV4 = 277,
245 <     CIDR_BITLEN_IPV6 = 278,
246 <     CLASS = 279,
247 <     CONNECT = 280,
248 <     CONNECTFREQ = 281,
249 <     DEFAULT_FLOODCOUNT = 282,
250 <     DEFAULT_SPLIT_SERVER_COUNT = 283,
251 <     DEFAULT_SPLIT_USER_COUNT = 284,
252 <     DENY = 285,
253 <     DESCRIPTION = 286,
254 <     DIE = 287,
255 <     DISABLE_AUTH = 288,
256 <     DISABLE_FAKE_CHANNELS = 289,
257 <     DISABLE_HIDDEN = 290,
258 <     DISABLE_LOCAL_CHANNELS = 291,
259 <     DISABLE_REMOTE_COMMANDS = 292,
260 <     DOTS_IN_IDENT = 293,
261 <     DURATION = 294,
262 <     EGDPOOL_PATH = 295,
263 <     EMAIL = 296,
264 <     ENABLE = 297,
265 <     ENCRYPTED = 298,
266 <     EXCEED_LIMIT = 299,
267 <     EXEMPT = 300,
268 <     FAILED_OPER_NOTICE = 301,
269 <     IRCD_FLAGS = 302,
270 <     FLATTEN_LINKS = 303,
271 <     GECOS = 304,
272 <     GENERAL = 305,
273 <     GLINE = 306,
274 <     GLINES = 307,
275 <     GLINE_EXEMPT = 308,
276 <     GLINE_TIME = 309,
277 <     GLINE_MIN_CIDR = 310,
278 <     GLINE_MIN_CIDR6 = 311,
279 <     GLOBAL_KILL = 312,
280 <     IRCD_AUTH = 313,
281 <     NEED_IDENT = 314,
282 <     HAVENT_READ_CONF = 315,
283 <     HIDDEN = 316,
284 <     HIDDEN_NAME = 317,
285 <     HIDE_SERVER_IPS = 318,
286 <     HIDE_SERVERS = 319,
287 <     HIDE_SPOOF_IPS = 320,
288 <     HOST = 321,
289 <     HUB = 322,
290 <     HUB_MASK = 323,
291 <     IGNORE_BOGUS_TS = 324,
292 <     INVISIBLE_ON_CONNECT = 325,
293 <     IP = 326,
294 <     KILL = 327,
295 <     KILL_CHASE_TIME_LIMIT = 328,
296 <     KLINE = 329,
297 <     KLINE_EXEMPT = 330,
298 <     KLINE_REASON = 331,
299 <     KLINE_WITH_REASON = 332,
300 <     KNOCK_DELAY = 333,
301 <     KNOCK_DELAY_CHANNEL = 334,
302 <     LEAF_MASK = 335,
303 <     LINKS_DELAY = 336,
304 <     LISTEN = 337,
305 <     T_LOG = 338,
306 <     MAX_ACCEPT = 339,
307 <     MAX_BANS = 340,
308 <     MAX_CHANS_PER_USER = 341,
309 <     MAX_GLOBAL = 342,
310 <     MAX_IDENT = 343,
311 <     MAX_LOCAL = 344,
312 <     MAX_NICK_CHANGES = 345,
313 <     MAX_NICK_TIME = 346,
314 <     MAX_NUMBER = 347,
315 <     MAX_TARGETS = 348,
316 <     MAX_WATCH = 349,
317 <     MESSAGE_LOCALE = 350,
318 <     MIN_NONWILDCARD = 351,
319 <     MIN_NONWILDCARD_SIMPLE = 352,
320 <     MODULE = 353,
321 <     MODULES = 354,
322 <     NAME = 355,
323 <     NEED_PASSWORD = 356,
324 <     NETWORK_DESC = 357,
325 <     NETWORK_NAME = 358,
326 <     NICK = 359,
327 <     NICK_CHANGES = 360,
328 <     NO_CREATE_ON_SPLIT = 361,
329 <     NO_JOIN_ON_SPLIT = 362,
330 <     NO_OPER_FLOOD = 363,
331 <     NO_TILDE = 364,
332 <     NUMBER = 365,
333 <     NUMBER_PER_IDENT = 366,
334 <     NUMBER_PER_CIDR = 367,
335 <     NUMBER_PER_IP = 368,
336 <     NUMBER_PER_IP_GLOBAL = 369,
337 <     OPERATOR = 370,
338 <     OPERS_BYPASS_CALLERID = 371,
339 <     OPER_ONLY_UMODES = 372,
340 <     OPER_PASS_RESV = 373,
341 <     OPER_SPY_T = 374,
342 <     OPER_UMODES = 375,
343 <     JOIN_FLOOD_COUNT = 376,
344 <     JOIN_FLOOD_TIME = 377,
345 <     PACE_WAIT = 378,
346 <     PACE_WAIT_SIMPLE = 379,
347 <     PASSWORD = 380,
348 <     PATH = 381,
349 <     PING_COOKIE = 382,
350 <     PING_TIME = 383,
351 <     PING_WARNING = 384,
352 <     PORT = 385,
353 <     QSTRING = 386,
354 <     QUIET_ON_BAN = 387,
355 <     REASON = 388,
356 <     REDIRPORT = 389,
357 <     REDIRSERV = 390,
358 <     REGEX_T = 391,
359 <     REHASH = 392,
360 <     TREJECT_HOLD_TIME = 393,
361 <     REMOTE = 394,
362 <     REMOTEBAN = 395,
363 <     RESTRICT_CHANNELS = 396,
364 <     RESTRICTED = 397,
365 <     RSA_PRIVATE_KEY_FILE = 398,
366 <     RSA_PUBLIC_KEY_FILE = 399,
367 <     SSL_CERTIFICATE_FILE = 400,
368 <     SSL_DH_PARAM_FILE = 401,
369 <     T_SSL_CLIENT_METHOD = 402,
370 <     T_SSL_SERVER_METHOD = 403,
371 <     T_SSLV3 = 404,
372 <     T_TLSV1 = 405,
373 <     RESV = 406,
374 <     RESV_EXEMPT = 407,
375 <     SECONDS = 408,
376 <     MINUTES = 409,
377 <     HOURS = 410,
378 <     DAYS = 411,
379 <     WEEKS = 412,
380 <     SENDQ = 413,
381 <     SEND_PASSWORD = 414,
382 <     SERVERHIDE = 415,
383 <     SERVERINFO = 416,
384 <     IRCD_SID = 417,
385 <     TKLINE_EXPIRE_NOTICES = 418,
386 <     T_SHARED = 419,
387 <     T_CLUSTER = 420,
388 <     TYPE = 421,
389 <     SHORT_MOTD = 422,
390 <     SILENT = 423,
391 <     SPOOF = 424,
392 <     SPOOF_NOTICE = 425,
393 <     STATS_E_DISABLED = 426,
394 <     STATS_I_OPER_ONLY = 427,
395 <     STATS_K_OPER_ONLY = 428,
396 <     STATS_O_OPER_ONLY = 429,
397 <     STATS_P_OPER_ONLY = 430,
398 <     TBOOL = 431,
399 <     TMASKED = 432,
400 <     T_REJECT = 433,
401 <     TS_MAX_DELTA = 434,
402 <     TS_WARN_DELTA = 435,
403 <     TWODOTS = 436,
404 <     T_ALL = 437,
405 <     T_BOTS = 438,
406 <     T_SOFTCALLERID = 439,
407 <     T_CALLERID = 440,
408 <     T_CCONN = 441,
409 <     T_CCONN_FULL = 442,
410 <     T_SSL_CIPHER_LIST = 443,
411 <     T_CLIENT_FLOOD = 444,
412 <     T_DEAF = 445,
413 <     T_DEBUG = 446,
414 <     T_DLINE = 447,
415 <     T_DRONE = 448,
416 <     T_EXTERNAL = 449,
417 <     T_FULL = 450,
418 <     T_INVISIBLE = 451,
419 <     T_IPV4 = 452,
420 <     T_IPV6 = 453,
421 <     T_LOCOPS = 454,
422 <     T_MAX_CLIENTS = 455,
423 <     T_NCHANGE = 456,
424 <     T_OPERWALL = 457,
425 <     T_REJ = 458,
426 <     T_SERVER = 459,
427 <     T_SERVNOTICE = 460,
428 <     T_SKILL = 461,
429 <     T_SPY = 462,
430 <     T_SSL = 463,
431 <     T_UMODES = 464,
432 <     T_UNAUTH = 465,
433 <     T_UNDLINE = 466,
434 <     T_UNLIMITED = 467,
435 <     T_UNRESV = 468,
419 <     T_UNXLINE = 469,
420 <     T_GLOBOPS = 470,
421 <     T_WALLOP = 471,
422 <     T_RESTART = 472,
423 <     T_SERVICE = 473,
424 <     T_SERVICES_NAME = 474,
425 <     THROTTLE_TIME = 475,
426 <     TOPICBURST = 476,
427 <     TRUE_NO_OPER_FLOOD = 477,
428 <     TKLINE = 478,
429 <     TXLINE = 479,
430 <     TRESV = 480,
431 <     UNKLINE = 481,
432 <     USER = 482,
433 <     USE_EGD = 483,
434 <     USE_EXCEPT = 484,
435 <     USE_INVEX = 485,
436 <     USE_KNOCK = 486,
437 <     USE_LOGGING = 487,
438 <     USE_WHOIS_ACTUALLY = 488,
439 <     VHOST = 489,
440 <     VHOST6 = 490,
441 <     XLINE = 491,
442 <     WARN = 492,
443 <     WARN_NO_NLINE = 493,
444 <     T_SIZE = 494,
445 <     T_FILE = 495
226 >     ADMIN = 259,
227 >     AFTYPE = 260,
228 >     ANTI_NICK_FLOOD = 261,
229 >     ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
230 >     AUTOCONN = 263,
231 >     BYTES = 264,
232 >     KBYTES = 265,
233 >     MBYTES = 266,
234 >     CALLER_ID_WAIT = 267,
235 >     CAN_FLOOD = 268,
236 >     CHANNEL = 269,
237 >     CIDR_BITLEN_IPV4 = 270,
238 >     CIDR_BITLEN_IPV6 = 271,
239 >     CLASS = 272,
240 >     CONNECT = 273,
241 >     CONNECTFREQ = 274,
242 >     DEFAULT_FLOODCOUNT = 275,
243 >     DEFAULT_SPLIT_SERVER_COUNT = 276,
244 >     DEFAULT_SPLIT_USER_COUNT = 277,
245 >     DENY = 278,
246 >     DESCRIPTION = 279,
247 >     DIE = 280,
248 >     DISABLE_AUTH = 281,
249 >     DISABLE_FAKE_CHANNELS = 282,
250 >     DISABLE_REMOTE_COMMANDS = 283,
251 >     DOTS_IN_IDENT = 284,
252 >     EGDPOOL_PATH = 285,
253 >     EMAIL = 286,
254 >     ENCRYPTED = 287,
255 >     EXCEED_LIMIT = 288,
256 >     EXEMPT = 289,
257 >     FAILED_OPER_NOTICE = 290,
258 >     IRCD_FLAGS = 291,
259 >     FLATTEN_LINKS = 292,
260 >     GECOS = 293,
261 >     GENERAL = 294,
262 >     GLINE = 295,
263 >     GLINE_DURATION = 296,
264 >     GLINE_ENABLE = 297,
265 >     GLINE_EXEMPT = 298,
266 >     GLINE_REQUEST_DURATION = 299,
267 >     GLINE_MIN_CIDR = 300,
268 >     GLINE_MIN_CIDR6 = 301,
269 >     GLOBAL_KILL = 302,
270 >     IRCD_AUTH = 303,
271 >     NEED_IDENT = 304,
272 >     HAVENT_READ_CONF = 305,
273 >     HIDDEN = 306,
274 >     HIDDEN_NAME = 307,
275 >     HIDE_SERVER_IPS = 308,
276 >     HIDE_SERVERS = 309,
277 >     HIDE_SPOOF_IPS = 310,
278 >     HOST = 311,
279 >     HUB = 312,
280 >     HUB_MASK = 313,
281 >     IGNORE_BOGUS_TS = 314,
282 >     INVISIBLE_ON_CONNECT = 315,
283 >     IP = 316,
284 >     KILL = 317,
285 >     KILL_CHASE_TIME_LIMIT = 318,
286 >     KLINE = 319,
287 >     KLINE_EXEMPT = 320,
288 >     KNOCK_DELAY = 321,
289 >     KNOCK_DELAY_CHANNEL = 322,
290 >     LEAF_MASK = 323,
291 >     LINKS_DELAY = 324,
292 >     LISTEN = 325,
293 >     T_LOG = 326,
294 >     MAX_ACCEPT = 327,
295 >     MAX_BANS = 328,
296 >     MAX_CHANS_PER_OPER = 329,
297 >     MAX_CHANS_PER_USER = 330,
298 >     MAX_GLOBAL = 331,
299 >     MAX_IDENT = 332,
300 >     MAX_LOCAL = 333,
301 >     MAX_NICK_CHANGES = 334,
302 >     MAX_NICK_TIME = 335,
303 >     MAX_NUMBER = 336,
304 >     MAX_TARGETS = 337,
305 >     MAX_WATCH = 338,
306 >     MESSAGE_LOCALE = 339,
307 >     MIN_NONWILDCARD = 340,
308 >     MIN_NONWILDCARD_SIMPLE = 341,
309 >     MODULE = 342,
310 >     MODULES = 343,
311 >     NAME = 344,
312 >     NEED_PASSWORD = 345,
313 >     NETWORK_DESC = 346,
314 >     NETWORK_NAME = 347,
315 >     NICK = 348,
316 >     NICK_CHANGES = 349,
317 >     NO_CREATE_ON_SPLIT = 350,
318 >     NO_JOIN_ON_SPLIT = 351,
319 >     NO_OPER_FLOOD = 352,
320 >     NO_TILDE = 353,
321 >     NUMBER = 354,
322 >     NUMBER_PER_CIDR = 355,
323 >     NUMBER_PER_IP = 356,
324 >     OPERATOR = 357,
325 >     OPERS_BYPASS_CALLERID = 358,
326 >     OPER_ONLY_UMODES = 359,
327 >     OPER_PASS_RESV = 360,
328 >     OPER_SPY_T = 361,
329 >     OPER_UMODES = 362,
330 >     JOIN_FLOOD_COUNT = 363,
331 >     JOIN_FLOOD_TIME = 364,
332 >     PACE_WAIT = 365,
333 >     PACE_WAIT_SIMPLE = 366,
334 >     PASSWORD = 367,
335 >     PATH = 368,
336 >     PING_COOKIE = 369,
337 >     PING_TIME = 370,
338 >     PORT = 371,
339 >     QSTRING = 372,
340 >     QUIET_ON_BAN = 373,
341 >     REASON = 374,
342 >     REDIRPORT = 375,
343 >     REDIRSERV = 376,
344 >     REGEX_T = 377,
345 >     REHASH = 378,
346 >     REMOTE = 379,
347 >     REMOTEBAN = 380,
348 >     RESTRICT_CHANNELS = 381,
349 >     RSA_PRIVATE_KEY_FILE = 382,
350 >     RSA_PUBLIC_KEY_FILE = 383,
351 >     SSL_CERTIFICATE_FILE = 384,
352 >     SSL_DH_PARAM_FILE = 385,
353 >     T_SSL_CLIENT_METHOD = 386,
354 >     T_SSL_SERVER_METHOD = 387,
355 >     T_SSLV3 = 388,
356 >     T_TLSV1 = 389,
357 >     RESV = 390,
358 >     RESV_EXEMPT = 391,
359 >     SECONDS = 392,
360 >     MINUTES = 393,
361 >     HOURS = 394,
362 >     DAYS = 395,
363 >     WEEKS = 396,
364 >     SENDQ = 397,
365 >     SEND_PASSWORD = 398,
366 >     SERVERHIDE = 399,
367 >     SERVERINFO = 400,
368 >     IRCD_SID = 401,
369 >     TKLINE_EXPIRE_NOTICES = 402,
370 >     T_SHARED = 403,
371 >     T_CLUSTER = 404,
372 >     TYPE = 405,
373 >     SHORT_MOTD = 406,
374 >     SPOOF = 407,
375 >     SPOOF_NOTICE = 408,
376 >     STATS_E_DISABLED = 409,
377 >     STATS_I_OPER_ONLY = 410,
378 >     STATS_K_OPER_ONLY = 411,
379 >     STATS_O_OPER_ONLY = 412,
380 >     STATS_P_OPER_ONLY = 413,
381 >     TBOOL = 414,
382 >     TMASKED = 415,
383 >     TS_MAX_DELTA = 416,
384 >     TS_WARN_DELTA = 417,
385 >     TWODOTS = 418,
386 >     T_ALL = 419,
387 >     T_BOTS = 420,
388 >     T_SOFTCALLERID = 421,
389 >     T_CALLERID = 422,
390 >     T_CCONN = 423,
391 >     T_CCONN_FULL = 424,
392 >     T_SSL_CIPHER_LIST = 425,
393 >     T_DEAF = 426,
394 >     T_DEBUG = 427,
395 >     T_DLINE = 428,
396 >     T_EXTERNAL = 429,
397 >     T_FULL = 430,
398 >     T_INVISIBLE = 431,
399 >     T_IPV4 = 432,
400 >     T_IPV6 = 433,
401 >     T_LOCOPS = 434,
402 >     T_MAX_CLIENTS = 435,
403 >     T_NCHANGE = 436,
404 >     T_OPERWALL = 437,
405 >     T_RECVQ = 438,
406 >     T_REJ = 439,
407 >     T_SERVER = 440,
408 >     T_SERVNOTICE = 441,
409 >     T_SET = 442,
410 >     T_SKILL = 443,
411 >     T_SPY = 444,
412 >     T_SSL = 445,
413 >     T_UMODES = 446,
414 >     T_UNAUTH = 447,
415 >     T_UNDLINE = 448,
416 >     T_UNLIMITED = 449,
417 >     T_UNRESV = 450,
418 >     T_UNXLINE = 451,
419 >     T_GLOBOPS = 452,
420 >     T_WALLOP = 453,
421 >     T_RESTART = 454,
422 >     T_SERVICE = 455,
423 >     T_SERVICES_NAME = 456,
424 >     THROTTLE_TIME = 457,
425 >     TRUE_NO_OPER_FLOOD = 458,
426 >     UNKLINE = 459,
427 >     USER = 460,
428 >     USE_EGD = 461,
429 >     USE_LOGGING = 462,
430 >     VHOST = 463,
431 >     VHOST6 = 464,
432 >     XLINE = 465,
433 >     WARN_NO_NLINE = 466,
434 >     T_SIZE = 467,
435 >     T_FILE = 468
436     };
437   #endif
438   /* Tokens.  */
439   #define ACCEPT_PASSWORD 258
440 < #define ACTION 259
441 < #define ADMIN 260
442 < #define AFTYPE 261
443 < #define T_ALLOW 262
444 < #define ANTI_NICK_FLOOD 263
445 < #define ANTI_SPAM_EXIT_MESSAGE_TIME 264
446 < #define AUTOCONN 265
447 < #define T_BLOCK 266
448 < #define BURST_AWAY 267
449 < #define BURST_TOPICWHO 268
450 < #define BYTES 269
451 < #define KBYTES 270
452 < #define MBYTES 271
453 < #define GBYTES 272
454 < #define TBYTES 273
455 < #define CALLER_ID_WAIT 274
456 < #define CAN_FLOOD 275
457 < #define CHANNEL 276
458 < #define CIDR_BITLEN_IPV4 277
459 < #define CIDR_BITLEN_IPV6 278
460 < #define CLASS 279
461 < #define CONNECT 280
462 < #define CONNECTFREQ 281
463 < #define DEFAULT_FLOODCOUNT 282
464 < #define DEFAULT_SPLIT_SERVER_COUNT 283
465 < #define DEFAULT_SPLIT_USER_COUNT 284
466 < #define DENY 285
467 < #define DESCRIPTION 286
468 < #define DIE 287
469 < #define DISABLE_AUTH 288
470 < #define DISABLE_FAKE_CHANNELS 289
471 < #define DISABLE_HIDDEN 290
472 < #define DISABLE_LOCAL_CHANNELS 291
473 < #define DISABLE_REMOTE_COMMANDS 292
474 < #define DOTS_IN_IDENT 293
475 < #define DURATION 294
476 < #define EGDPOOL_PATH 295
477 < #define EMAIL 296
478 < #define ENABLE 297
479 < #define ENCRYPTED 298
480 < #define EXCEED_LIMIT 299
481 < #define EXEMPT 300
482 < #define FAILED_OPER_NOTICE 301
483 < #define IRCD_FLAGS 302
484 < #define FLATTEN_LINKS 303
485 < #define GECOS 304
486 < #define GENERAL 305
487 < #define GLINE 306
488 < #define GLINES 307
489 < #define GLINE_EXEMPT 308
490 < #define GLINE_TIME 309
491 < #define GLINE_MIN_CIDR 310
492 < #define GLINE_MIN_CIDR6 311
493 < #define GLOBAL_KILL 312
494 < #define IRCD_AUTH 313
495 < #define NEED_IDENT 314
496 < #define HAVENT_READ_CONF 315
497 < #define HIDDEN 316
498 < #define HIDDEN_NAME 317
499 < #define HIDE_SERVER_IPS 318
500 < #define HIDE_SERVERS 319
501 < #define HIDE_SPOOF_IPS 320
502 < #define HOST 321
503 < #define HUB 322
504 < #define HUB_MASK 323
505 < #define IGNORE_BOGUS_TS 324
506 < #define INVISIBLE_ON_CONNECT 325
507 < #define IP 326
508 < #define KILL 327
509 < #define KILL_CHASE_TIME_LIMIT 328
510 < #define KLINE 329
511 < #define KLINE_EXEMPT 330
512 < #define KLINE_REASON 331
513 < #define KLINE_WITH_REASON 332
514 < #define KNOCK_DELAY 333
515 < #define KNOCK_DELAY_CHANNEL 334
516 < #define LEAF_MASK 335
517 < #define LINKS_DELAY 336
518 < #define LISTEN 337
519 < #define T_LOG 338
520 < #define MAX_ACCEPT 339
521 < #define MAX_BANS 340
522 < #define MAX_CHANS_PER_USER 341
523 < #define MAX_GLOBAL 342
524 < #define MAX_IDENT 343
525 < #define MAX_LOCAL 344
526 < #define MAX_NICK_CHANGES 345
527 < #define MAX_NICK_TIME 346
528 < #define MAX_NUMBER 347
529 < #define MAX_TARGETS 348
530 < #define MAX_WATCH 349
531 < #define MESSAGE_LOCALE 350
532 < #define MIN_NONWILDCARD 351
533 < #define MIN_NONWILDCARD_SIMPLE 352
534 < #define MODULE 353
535 < #define MODULES 354
536 < #define NAME 355
537 < #define NEED_PASSWORD 356
538 < #define NETWORK_DESC 357
539 < #define NETWORK_NAME 358
540 < #define NICK 359
541 < #define NICK_CHANGES 360
542 < #define NO_CREATE_ON_SPLIT 361
543 < #define NO_JOIN_ON_SPLIT 362
544 < #define NO_OPER_FLOOD 363
545 < #define NO_TILDE 364
546 < #define NUMBER 365
547 < #define NUMBER_PER_IDENT 366
548 < #define NUMBER_PER_CIDR 367
549 < #define NUMBER_PER_IP 368
550 < #define NUMBER_PER_IP_GLOBAL 369
551 < #define OPERATOR 370
552 < #define OPERS_BYPASS_CALLERID 371
553 < #define OPER_ONLY_UMODES 372
554 < #define OPER_PASS_RESV 373
555 < #define OPER_SPY_T 374
556 < #define OPER_UMODES 375
557 < #define JOIN_FLOOD_COUNT 376
558 < #define JOIN_FLOOD_TIME 377
559 < #define PACE_WAIT 378
560 < #define PACE_WAIT_SIMPLE 379
561 < #define PASSWORD 380
562 < #define PATH 381
563 < #define PING_COOKIE 382
564 < #define PING_TIME 383
565 < #define PING_WARNING 384
566 < #define PORT 385
567 < #define QSTRING 386
568 < #define QUIET_ON_BAN 387
569 < #define REASON 388
570 < #define REDIRPORT 389
571 < #define REDIRSERV 390
572 < #define REGEX_T 391
573 < #define REHASH 392
574 < #define TREJECT_HOLD_TIME 393
575 < #define REMOTE 394
576 < #define REMOTEBAN 395
577 < #define RESTRICT_CHANNELS 396
578 < #define RESTRICTED 397
579 < #define RSA_PRIVATE_KEY_FILE 398
580 < #define RSA_PUBLIC_KEY_FILE 399
581 < #define SSL_CERTIFICATE_FILE 400
582 < #define SSL_DH_PARAM_FILE 401
583 < #define T_SSL_CLIENT_METHOD 402
584 < #define T_SSL_SERVER_METHOD 403
585 < #define T_SSLV3 404
586 < #define T_TLSV1 405
587 < #define RESV 406
588 < #define RESV_EXEMPT 407
589 < #define SECONDS 408
590 < #define MINUTES 409
591 < #define HOURS 410
592 < #define DAYS 411
593 < #define WEEKS 412
594 < #define SENDQ 413
595 < #define SEND_PASSWORD 414
596 < #define SERVERHIDE 415
597 < #define SERVERINFO 416
598 < #define IRCD_SID 417
599 < #define TKLINE_EXPIRE_NOTICES 418
600 < #define T_SHARED 419
601 < #define T_CLUSTER 420
602 < #define TYPE 421
603 < #define SHORT_MOTD 422
604 < #define SILENT 423
605 < #define SPOOF 424
606 < #define SPOOF_NOTICE 425
607 < #define STATS_E_DISABLED 426
608 < #define STATS_I_OPER_ONLY 427
609 < #define STATS_K_OPER_ONLY 428
610 < #define STATS_O_OPER_ONLY 429
611 < #define STATS_P_OPER_ONLY 430
612 < #define TBOOL 431
613 < #define TMASKED 432
614 < #define T_REJECT 433
615 < #define TS_MAX_DELTA 434
616 < #define TS_WARN_DELTA 435
617 < #define TWODOTS 436
618 < #define T_ALL 437
619 < #define T_BOTS 438
620 < #define T_SOFTCALLERID 439
621 < #define T_CALLERID 440
622 < #define T_CCONN 441
623 < #define T_CCONN_FULL 442
624 < #define T_SSL_CIPHER_LIST 443
625 < #define T_CLIENT_FLOOD 444
626 < #define T_DEAF 445
627 < #define T_DEBUG 446
628 < #define T_DLINE 447
629 < #define T_DRONE 448
630 < #define T_EXTERNAL 449
631 < #define T_FULL 450
632 < #define T_INVISIBLE 451
633 < #define T_IPV4 452
634 < #define T_IPV6 453
635 < #define T_LOCOPS 454
636 < #define T_MAX_CLIENTS 455
637 < #define T_NCHANGE 456
638 < #define T_OPERWALL 457
639 < #define T_REJ 458
640 < #define T_SERVER 459
641 < #define T_SERVNOTICE 460
642 < #define T_SKILL 461
643 < #define T_SPY 462
644 < #define T_SSL 463
645 < #define T_UMODES 464
646 < #define T_UNAUTH 465
647 < #define T_UNDLINE 466
648 < #define T_UNLIMITED 467
649 < #define T_UNRESV 468
660 < #define T_UNXLINE 469
661 < #define T_GLOBOPS 470
662 < #define T_WALLOP 471
663 < #define T_RESTART 472
664 < #define T_SERVICE 473
665 < #define T_SERVICES_NAME 474
666 < #define THROTTLE_TIME 475
667 < #define TOPICBURST 476
668 < #define TRUE_NO_OPER_FLOOD 477
669 < #define TKLINE 478
670 < #define TXLINE 479
671 < #define TRESV 480
672 < #define UNKLINE 481
673 < #define USER 482
674 < #define USE_EGD 483
675 < #define USE_EXCEPT 484
676 < #define USE_INVEX 485
677 < #define USE_KNOCK 486
678 < #define USE_LOGGING 487
679 < #define USE_WHOIS_ACTUALLY 488
680 < #define VHOST 489
681 < #define VHOST6 490
682 < #define XLINE 491
683 < #define WARN 492
684 < #define WARN_NO_NLINE 493
685 < #define T_SIZE 494
686 < #define T_FILE 495
687 <
440 > #define ADMIN 259
441 > #define AFTYPE 260
442 > #define ANTI_NICK_FLOOD 261
443 > #define ANTI_SPAM_EXIT_MESSAGE_TIME 262
444 > #define AUTOCONN 263
445 > #define BYTES 264
446 > #define KBYTES 265
447 > #define MBYTES 266
448 > #define CALLER_ID_WAIT 267
449 > #define CAN_FLOOD 268
450 > #define CHANNEL 269
451 > #define CIDR_BITLEN_IPV4 270
452 > #define CIDR_BITLEN_IPV6 271
453 > #define CLASS 272
454 > #define CONNECT 273
455 > #define CONNECTFREQ 274
456 > #define DEFAULT_FLOODCOUNT 275
457 > #define DEFAULT_SPLIT_SERVER_COUNT 276
458 > #define DEFAULT_SPLIT_USER_COUNT 277
459 > #define DENY 278
460 > #define DESCRIPTION 279
461 > #define DIE 280
462 > #define DISABLE_AUTH 281
463 > #define DISABLE_FAKE_CHANNELS 282
464 > #define DISABLE_REMOTE_COMMANDS 283
465 > #define DOTS_IN_IDENT 284
466 > #define EGDPOOL_PATH 285
467 > #define EMAIL 286
468 > #define ENCRYPTED 287
469 > #define EXCEED_LIMIT 288
470 > #define EXEMPT 289
471 > #define FAILED_OPER_NOTICE 290
472 > #define IRCD_FLAGS 291
473 > #define FLATTEN_LINKS 292
474 > #define GECOS 293
475 > #define GENERAL 294
476 > #define GLINE 295
477 > #define GLINE_DURATION 296
478 > #define GLINE_ENABLE 297
479 > #define GLINE_EXEMPT 298
480 > #define GLINE_REQUEST_DURATION 299
481 > #define GLINE_MIN_CIDR 300
482 > #define GLINE_MIN_CIDR6 301
483 > #define GLOBAL_KILL 302
484 > #define IRCD_AUTH 303
485 > #define NEED_IDENT 304
486 > #define HAVENT_READ_CONF 305
487 > #define HIDDEN 306
488 > #define HIDDEN_NAME 307
489 > #define HIDE_SERVER_IPS 308
490 > #define HIDE_SERVERS 309
491 > #define HIDE_SPOOF_IPS 310
492 > #define HOST 311
493 > #define HUB 312
494 > #define HUB_MASK 313
495 > #define IGNORE_BOGUS_TS 314
496 > #define INVISIBLE_ON_CONNECT 315
497 > #define IP 316
498 > #define KILL 317
499 > #define KILL_CHASE_TIME_LIMIT 318
500 > #define KLINE 319
501 > #define KLINE_EXEMPT 320
502 > #define KNOCK_DELAY 321
503 > #define KNOCK_DELAY_CHANNEL 322
504 > #define LEAF_MASK 323
505 > #define LINKS_DELAY 324
506 > #define LISTEN 325
507 > #define T_LOG 326
508 > #define MAX_ACCEPT 327
509 > #define MAX_BANS 328
510 > #define MAX_CHANS_PER_OPER 329
511 > #define MAX_CHANS_PER_USER 330
512 > #define MAX_GLOBAL 331
513 > #define MAX_IDENT 332
514 > #define MAX_LOCAL 333
515 > #define MAX_NICK_CHANGES 334
516 > #define MAX_NICK_TIME 335
517 > #define MAX_NUMBER 336
518 > #define MAX_TARGETS 337
519 > #define MAX_WATCH 338
520 > #define MESSAGE_LOCALE 339
521 > #define MIN_NONWILDCARD 340
522 > #define MIN_NONWILDCARD_SIMPLE 341
523 > #define MODULE 342
524 > #define MODULES 343
525 > #define NAME 344
526 > #define NEED_PASSWORD 345
527 > #define NETWORK_DESC 346
528 > #define NETWORK_NAME 347
529 > #define NICK 348
530 > #define NICK_CHANGES 349
531 > #define NO_CREATE_ON_SPLIT 350
532 > #define NO_JOIN_ON_SPLIT 351
533 > #define NO_OPER_FLOOD 352
534 > #define NO_TILDE 353
535 > #define NUMBER 354
536 > #define NUMBER_PER_CIDR 355
537 > #define NUMBER_PER_IP 356
538 > #define OPERATOR 357
539 > #define OPERS_BYPASS_CALLERID 358
540 > #define OPER_ONLY_UMODES 359
541 > #define OPER_PASS_RESV 360
542 > #define OPER_SPY_T 361
543 > #define OPER_UMODES 362
544 > #define JOIN_FLOOD_COUNT 363
545 > #define JOIN_FLOOD_TIME 364
546 > #define PACE_WAIT 365
547 > #define PACE_WAIT_SIMPLE 366
548 > #define PASSWORD 367
549 > #define PATH 368
550 > #define PING_COOKIE 369
551 > #define PING_TIME 370
552 > #define PORT 371
553 > #define QSTRING 372
554 > #define QUIET_ON_BAN 373
555 > #define REASON 374
556 > #define REDIRPORT 375
557 > #define REDIRSERV 376
558 > #define REGEX_T 377
559 > #define REHASH 378
560 > #define REMOTE 379
561 > #define REMOTEBAN 380
562 > #define RESTRICT_CHANNELS 381
563 > #define RSA_PRIVATE_KEY_FILE 382
564 > #define RSA_PUBLIC_KEY_FILE 383
565 > #define SSL_CERTIFICATE_FILE 384
566 > #define SSL_DH_PARAM_FILE 385
567 > #define T_SSL_CLIENT_METHOD 386
568 > #define T_SSL_SERVER_METHOD 387
569 > #define T_SSLV3 388
570 > #define T_TLSV1 389
571 > #define RESV 390
572 > #define RESV_EXEMPT 391
573 > #define SECONDS 392
574 > #define MINUTES 393
575 > #define HOURS 394
576 > #define DAYS 395
577 > #define WEEKS 396
578 > #define SENDQ 397
579 > #define SEND_PASSWORD 398
580 > #define SERVERHIDE 399
581 > #define SERVERINFO 400
582 > #define IRCD_SID 401
583 > #define TKLINE_EXPIRE_NOTICES 402
584 > #define T_SHARED 403
585 > #define T_CLUSTER 404
586 > #define TYPE 405
587 > #define SHORT_MOTD 406
588 > #define SPOOF 407
589 > #define SPOOF_NOTICE 408
590 > #define STATS_E_DISABLED 409
591 > #define STATS_I_OPER_ONLY 410
592 > #define STATS_K_OPER_ONLY 411
593 > #define STATS_O_OPER_ONLY 412
594 > #define STATS_P_OPER_ONLY 413
595 > #define TBOOL 414
596 > #define TMASKED 415
597 > #define TS_MAX_DELTA 416
598 > #define TS_WARN_DELTA 417
599 > #define TWODOTS 418
600 > #define T_ALL 419
601 > #define T_BOTS 420
602 > #define T_SOFTCALLERID 421
603 > #define T_CALLERID 422
604 > #define T_CCONN 423
605 > #define T_CCONN_FULL 424
606 > #define T_SSL_CIPHER_LIST 425
607 > #define T_DEAF 426
608 > #define T_DEBUG 427
609 > #define T_DLINE 428
610 > #define T_EXTERNAL 429
611 > #define T_FULL 430
612 > #define T_INVISIBLE 431
613 > #define T_IPV4 432
614 > #define T_IPV6 433
615 > #define T_LOCOPS 434
616 > #define T_MAX_CLIENTS 435
617 > #define T_NCHANGE 436
618 > #define T_OPERWALL 437
619 > #define T_RECVQ 438
620 > #define T_REJ 439
621 > #define T_SERVER 440
622 > #define T_SERVNOTICE 441
623 > #define T_SET 442
624 > #define T_SKILL 443
625 > #define T_SPY 444
626 > #define T_SSL 445
627 > #define T_UMODES 446
628 > #define T_UNAUTH 447
629 > #define T_UNDLINE 448
630 > #define T_UNLIMITED 449
631 > #define T_UNRESV 450
632 > #define T_UNXLINE 451
633 > #define T_GLOBOPS 452
634 > #define T_WALLOP 453
635 > #define T_RESTART 454
636 > #define T_SERVICE 455
637 > #define T_SERVICES_NAME 456
638 > #define THROTTLE_TIME 457
639 > #define TRUE_NO_OPER_FLOOD 458
640 > #define UNKLINE 459
641 > #define USER 460
642 > #define USE_EGD 461
643 > #define USE_LOGGING 462
644 > #define VHOST 463
645 > #define VHOST6 464
646 > #define XLINE 465
647 > #define WARN_NO_NLINE 466
648 > #define T_SIZE 467
649 > #define T_FILE 468
650  
651  
652  
653   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
654   typedef union YYSTYPE
655   {
656 <
657 < /* Line 293 of yacc.c  */
696 < #line 135 "conf_parser.y"
656 > /* Line 374 of yacc.c  */
657 > #line 147 "conf_parser.y"
658  
659    int number;
660    char *string;
661  
662  
663 <
664 < /* Line 293 of yacc.c  */
704 < #line 705 "conf_parser.c"
663 > /* Line 374 of yacc.c  */
664 > #line 665 "conf_parser.c"
665   } YYSTYPE;
666   # define YYSTYPE_IS_TRIVIAL 1
667   # define yystype YYSTYPE /* obsolescent; will be withdrawn */
668   # define YYSTYPE_IS_DECLARED 1
669   #endif
670  
671 + extern YYSTYPE yylval;
672  
673 < /* Copy the second part of user declarations.  */
673 > #ifdef YYPARSE_PARAM
674 > #if defined __STDC__ || defined __cplusplus
675 > int yyparse (void *YYPARSE_PARAM);
676 > #else
677 > int yyparse ();
678 > #endif
679 > #else /* ! YYPARSE_PARAM */
680 > #if defined __STDC__ || defined __cplusplus
681 > int yyparse (void);
682 > #else
683 > int yyparse ();
684 > #endif
685 > #endif /* ! YYPARSE_PARAM */
686  
687 + #endif /* !YY_YY_Y_TAB_H_INCLUDED  */
688 +
689 + /* Copy the second part of user declarations.  */
690  
691 < /* Line 343 of yacc.c  */
692 < #line 717 "conf_parser.c"
691 > /* Line 377 of yacc.c  */
692 > #line 693 "conf_parser.c"
693  
694   #ifdef short
695   # undef short
# Line 766 | Line 742 | typedef short int yytype_int16;
742   # if defined YYENABLE_NLS && YYENABLE_NLS
743   #  if ENABLE_NLS
744   #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
745 < #   define YY_(msgid) dgettext ("bison-runtime", msgid)
745 > #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
746   #  endif
747   # endif
748   # ifndef YY_
749 < #  define YY_(msgid) msgid
749 > #  define YY_(Msgid) Msgid
750   # endif
751   #endif
752  
753   /* Suppress unused-variable warnings by "using" E.  */
754   #if ! defined lint || defined __GNUC__
755 < # define YYUSE(e) ((void) (e))
755 > # define YYUSE(E) ((void) (E))
756   #else
757 < # define YYUSE(e) /* empty */
757 > # define YYUSE(E) /* empty */
758   #endif
759  
760   /* Identity function, used to suppress warnings about constant conditions.  */
761   #ifndef lint
762 < # define YYID(n) (n)
762 > # define YYID(N) (N)
763   #else
764   #if (defined __STDC__ || defined __C99__FUNC__ \
765       || defined __cplusplus || defined _MSC_VER)
# Line 819 | Line 795 | YYID (yyi)
795   #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
796       || defined __cplusplus || defined _MSC_VER)
797   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
798 +      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
799   #     ifndef EXIT_SUCCESS
800   #      define EXIT_SUCCESS 0
801   #     endif
# Line 910 | Line 887 | union yyalloc
887   #endif
888  
889   #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
890 < /* Copy COUNT objects from FROM to TO.  The source and destination do
890 > /* Copy COUNT objects from SRC to DST.  The source and destination do
891     not overlap.  */
892   # ifndef YYCOPY
893   #  if defined __GNUC__ && 1 < __GNUC__
894 < #   define YYCOPY(To, From, Count) \
895 <      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
894 > #   define YYCOPY(Dst, Src, Count) \
895 >      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
896   #  else
897 < #   define YYCOPY(To, From, Count)              \
898 <      do                                        \
899 <        {                                       \
900 <          YYSIZE_T yyi;                         \
901 <          for (yyi = 0; yyi < (Count); yyi++)   \
902 <            (To)[yyi] = (From)[yyi];            \
903 <        }                                       \
897 > #   define YYCOPY(Dst, Src, Count)              \
898 >      do                                        \
899 >        {                                       \
900 >          YYSIZE_T yyi;                         \
901 >          for (yyi = 0; yyi < (Count); yyi++)   \
902 >            (Dst)[yyi] = (Src)[yyi];            \
903 >        }                                       \
904        while (YYID (0))
905   #  endif
906   # endif
# Line 932 | Line 909 | union yyalloc
909   /* YYFINAL -- State number of the termination state.  */
910   #define YYFINAL  2
911   /* YYLAST -- Last index in YYTABLE.  */
912 < #define YYLAST   1267
912 > #define YYLAST   1180
913  
914   /* YYNTOKENS -- Number of terminals.  */
915 < #define YYNTOKENS  246
915 > #define YYNTOKENS  219
916   /* YYNNTS -- Number of nonterminals.  */
917 < #define YYNNTS  305
917 > #define YYNNTS  282
918   /* YYNRULES -- Number of rules.  */
919 < #define YYNRULES  668
919 > #define YYNRULES  625
920   /* YYNRULES -- Number of states.  */
921 < #define YYNSTATES  1311
921 > #define YYNSTATES  1223
922  
923   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
924   #define YYUNDEFTOK  2
925 < #define YYMAXUTOK   495
925 > #define YYMAXUTOK   468
926  
927   #define YYTRANSLATE(YYX)                                                \
928    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 957 | Line 934 | static const yytype_uint8 yytranslate[]
934         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
935         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
936         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
937 <       2,     2,     2,     2,   245,     2,     2,     2,     2,     2,
938 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   241,
939 <       2,   244,     2,     2,     2,     2,     2,     2,     2,     2,
937 >       2,     2,     2,     2,   218,     2,     2,     2,     2,     2,
938 >       2,     2,     2,     2,     2,     2,     2,     2,     2,   214,
939 >       2,   217,     2,     2,     2,     2,     2,     2,     2,     2,
940         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
941         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
942         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
943         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
944         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
945 <       2,     2,     2,   243,     2,   242,     2,     2,     2,     2,
945 >       2,     2,     2,   216,     2,   215,     2,     2,     2,     2,
946         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
947         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
948         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 999 | Line 976 | static const yytype_uint8 yytranslate[]
976       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
977       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
978       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
979 <     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1003 <     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1004 <     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1005 <     235,   236,   237,   238,   239,   240
979 >     205,   206,   207,   208,   209,   210,   211,   212,   213
980   };
981  
982   #if YYDEBUG
# Line 1012 | Line 986 | static const yytype_uint16 yyprhs[] =
986   {
987         0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
988        19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
989 <      39,    41,    43,    45,    47,    49,    52,    55,    56,    58,
990 <      61,    65,    69,    73,    77,    81,    82,    84,    87,    91,
991 <      95,    99,   105,   108,   110,   112,   114,   117,   122,   127,
992 <     133,   136,   138,   140,   142,   144,   146,   148,   150,   152,
993 <     154,   156,   158,   160,   162,   164,   166,   168,   171,   176,
994 <     181,   185,   187,   189,   191,   195,   197,   199,   201,   206,
995 <     211,   216,   221,   226,   231,   236,   241,   246,   251,   256,
996 <     261,   266,   272,   275,   277,   279,   281,   283,   286,   291,
997 <     296,   301,   307,   310,   312,   314,   316,   319,   324,   325,
998 <     332,   335,   337,   339,   341,   343,   346,   351,   356,   361,
999 <     362,   368,   372,   374,   376,   378,   380,   382,   384,   386,
1000 <     388,   389,   396,   399,   401,   403,   405,   407,   409,   411,
1001 <     413,   415,   417,   420,   425,   430,   435,   440,   445,   450,
1002 <     451,   457,   461,   463,   465,   467,   469,   471,   473,   475,
989 >      39,    41,    43,    45,    47,    50,    53,    54,    56,    59,
990 >      63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
991 >      97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
992 >     134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
993 >     154,   156,   158,   160,   162,   164,   166,   169,   174,   179,
994 >     183,   185,   187,   189,   193,   195,   197,   199,   204,   209,
995 >     214,   219,   224,   229,   234,   239,   244,   249,   254,   259,
996 >     264,   270,   273,   275,   277,   279,   281,   284,   289,   294,
997 >     299,   305,   308,   310,   312,   314,   317,   322,   323,   330,
998 >     333,   335,   337,   339,   341,   344,   349,   354,   359,   360,
999 >     366,   370,   372,   374,   376,   378,   380,   382,   384,   386,
1000 >     387,   394,   397,   399,   401,   403,   405,   407,   409,   411,
1001 >     413,   415,   418,   423,   428,   433,   438,   443,   448,   449,
1002 >     455,   459,   461,   463,   465,   467,   469,   471,   473,   475,
1003       477,   479,   481,   483,   485,   487,   489,   491,   493,   495,
1004 <     497,   499,   501,   503,   504,   510,   514,   516,   518,   520,
1004 >     497,   499,   501,   502,   508,   512,   514,   516,   518,   520,
1005       522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
1006       542,   544,   546,   548,   550,   552,   553,   560,   563,   565,
1007       567,   569,   571,   573,   575,   577,   579,   581,   583,   585,
# Line 1047 | Line 1021 | static const yytype_uint16 yyprhs[] =
1021       997,   999,  1001,  1003,  1005,  1007,  1009,  1010,  1017,  1020,
1022      1022,  1024,  1026,  1028,  1030,  1032,  1034,  1036,  1038,  1040,
1023      1042,  1044,  1046,  1048,  1051,  1056,  1061,  1066,  1071,  1076,
1024 <    1081,  1086,  1091,  1092,  1098,  1102,  1104,  1106,  1108,  1110,
1025 <    1112,  1117,  1122,  1127,  1132,  1137,  1138,  1145,  1146,  1152,
1026 <    1156,  1158,  1160,  1163,  1165,  1167,  1169,  1171,  1173,  1178,
1027 <    1183,  1184,  1191,  1194,  1196,  1198,  1200,  1202,  1207,  1212,
1028 <    1218,  1221,  1223,  1225,  1227,  1232,  1233,  1240,  1241,  1247,
1029 <    1251,  1253,  1255,  1258,  1260,  1262,  1264,  1266,  1268,  1273,
1030 <    1278,  1284,  1287,  1289,  1291,  1293,  1295,  1297,  1299,  1301,
1024 >    1081,  1086,  1091,  1092,  1098,  1102,  1104,  1106,  1108,  1113,
1025 >    1118,  1123,  1128,  1133,  1134,  1141,  1142,  1148,  1152,  1154,
1026 >    1156,  1159,  1161,  1163,  1165,  1167,  1169,  1174,  1179,  1180,
1027 >    1187,  1190,  1192,  1194,  1196,  1198,  1203,  1208,  1214,  1217,
1028 >    1219,  1221,  1223,  1228,  1229,  1236,  1237,  1243,  1247,  1249,
1029 >    1251,  1254,  1256,  1258,  1260,  1262,  1264,  1269,  1274,  1280,
1030 >    1283,  1285,  1287,  1289,  1291,  1293,  1295,  1297,  1299,  1301,
1031      1303,  1305,  1307,  1309,  1311,  1313,  1315,  1317,  1319,  1321,
1032      1323,  1325,  1327,  1329,  1331,  1333,  1335,  1337,  1339,  1341,
1033      1343,  1345,  1347,  1349,  1351,  1353,  1355,  1357,  1359,  1361,
1034      1363,  1365,  1367,  1369,  1371,  1373,  1375,  1377,  1379,  1381,
1035 <    1383,  1385,  1387,  1389,  1391,  1393,  1398,  1403,  1408,  1413,
1036 <    1418,  1423,  1428,  1433,  1438,  1443,  1448,  1453,  1458,  1463,
1037 <    1468,  1473,  1478,  1483,  1488,  1493,  1498,  1503,  1508,  1513,
1038 <    1518,  1523,  1528,  1533,  1538,  1543,  1548,  1553,  1558,  1563,
1039 <    1568,  1573,  1578,  1583,  1588,  1593,  1598,  1603,  1608,  1613,
1040 <    1618,  1623,  1628,  1629,  1635,  1639,  1641,  1643,  1645,  1647,
1041 <    1649,  1651,  1653,  1655,  1657,  1659,  1661,  1663,  1665,  1667,
1042 <    1669,  1671,  1673,  1675,  1677,  1679,  1681,  1682,  1688,  1692,
1043 <    1694,  1696,  1698,  1700,  1702,  1704,  1706,  1708,  1710,  1712,
1044 <    1714,  1716,  1718,  1720,  1722,  1724,  1726,  1728,  1730,  1732,
1045 <    1734,  1739,  1744,  1749,  1754,  1755,  1762,  1765,  1767,  1769,
1046 <    1771,  1773,  1775,  1777,  1779,  1781,  1786,  1791,  1792,  1798,
1047 <    1802,  1804,  1806,  1808,  1813,  1818,  1819,  1825,  1829,  1831,
1048 <    1833,  1835,  1841,  1844,  1846,  1848,  1850,  1852,  1854,  1856,
1049 <    1858,  1860,  1862,  1864,  1866,  1868,  1870,  1872,  1874,  1876,
1076 <    1878,  1880,  1882,  1884,  1889,  1894,  1899,  1904,  1909,  1914,
1077 <    1919,  1924,  1929,  1934,  1939,  1944,  1949,  1954,  1959,  1964,
1078 <    1969,  1974,  1980,  1983,  1985,  1987,  1989,  1991,  1993,  1995,
1079 <    1997,  1999,  2001,  2006,  2011,  2016,  2021,  2026,  2031
1035 >    1383,  1385,  1390,  1395,  1400,  1405,  1410,  1415,  1420,  1425,
1036 >    1430,  1435,  1440,  1445,  1450,  1455,  1460,  1465,  1470,  1475,
1037 >    1480,  1485,  1490,  1495,  1500,  1505,  1510,  1515,  1520,  1525,
1038 >    1530,  1535,  1540,  1545,  1550,  1555,  1560,  1565,  1570,  1575,
1039 >    1580,  1585,  1590,  1595,  1600,  1605,  1610,  1615,  1616,  1622,
1040 >    1626,  1628,  1630,  1632,  1634,  1636,  1638,  1640,  1642,  1644,
1041 >    1646,  1648,  1650,  1652,  1654,  1656,  1658,  1660,  1662,  1664,
1042 >    1666,  1668,  1669,  1675,  1679,  1681,  1683,  1685,  1687,  1689,
1043 >    1691,  1693,  1695,  1697,  1699,  1701,  1703,  1705,  1707,  1709,
1044 >    1711,  1713,  1715,  1717,  1719,  1721,  1726,  1731,  1736,  1742,
1045 >    1745,  1747,  1749,  1751,  1753,  1755,  1757,  1759,  1761,  1763,
1046 >    1765,  1767,  1769,  1771,  1773,  1775,  1777,  1782,  1787,  1792,
1047 >    1797,  1802,  1807,  1812,  1817,  1822,  1827,  1832,  1837,  1842,
1048 >    1847,  1853,  1856,  1858,  1860,  1862,  1864,  1866,  1868,  1870,
1049 >    1872,  1877,  1882,  1887,  1892,  1897
1050   };
1051  
1052   /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1053   static const yytype_int16 yyrhs[] =
1054   {
1055 <     247,     0,    -1,    -1,   247,   248,    -1,   280,    -1,   286,
1056 <      -1,   300,    -1,   520,    -1,   318,    -1,   335,    -1,   349,
1057 <      -1,   258,    -1,   541,    -1,   364,    -1,   371,    -1,   375,
1058 <      -1,   385,    -1,   394,    -1,   414,    -1,   424,    -1,   430,
1059 <      -1,   444,    -1,   504,    -1,   434,    -1,   253,    -1,     1,
1060 <     241,    -1,     1,   242,    -1,    -1,   250,    -1,   110,   249,
1061 <      -1,   110,   153,   249,    -1,   110,   154,   249,    -1,   110,
1062 <     155,   249,    -1,   110,   156,   249,    -1,   110,   157,   249,
1063 <      -1,    -1,   252,    -1,   110,   251,    -1,   110,    14,   251,
1064 <      -1,   110,    15,   251,    -1,   110,    16,   251,    -1,    99,
1065 <     243,   254,   242,   241,    -1,   254,   255,    -1,   255,    -1,
1066 <     256,    -1,   257,    -1,     1,   241,    -1,    98,   244,   131,
1067 <     241,    -1,   126,   244,   131,   241,    -1,   161,   243,   259,
1068 <     242,   241,    -1,   259,   260,    -1,   260,    -1,   271,    -1,
1069 <     276,    -1,   279,    -1,   273,    -1,   274,    -1,   275,    -1,
1070 <     278,    -1,   269,    -1,   268,    -1,   277,    -1,   272,    -1,
1071 <     267,    -1,   261,    -1,   262,    -1,   270,    -1,     1,   241,
1072 <      -1,   147,   244,   263,   241,    -1,   148,   244,   265,   241,
1073 <      -1,   263,   245,   264,    -1,   264,    -1,   149,    -1,   150,
1074 <      -1,   265,   245,   266,    -1,   266,    -1,   149,    -1,   150,
1075 <      -1,   145,   244,   131,   241,    -1,   143,   244,   131,   241,
1076 <      -1,   146,   244,   131,   241,    -1,   188,   244,   131,   241,
1077 <      -1,   100,   244,   131,   241,    -1,   162,   244,   131,   241,
1078 <      -1,    31,   244,   131,   241,    -1,   103,   244,   131,   241,
1079 <      -1,   102,   244,   131,   241,    -1,   234,   244,   131,   241,
1080 <      -1,   235,   244,   131,   241,    -1,   200,   244,   110,   241,
1081 <      -1,    67,   244,   176,   241,    -1,     5,   243,   281,   242,
1082 <     241,    -1,   281,   282,    -1,   282,    -1,   283,    -1,   285,
1083 <      -1,   284,    -1,     1,   241,    -1,   100,   244,   131,   241,
1084 <      -1,    41,   244,   131,   241,    -1,    31,   244,   131,   241,
1085 <      -1,    83,   243,   287,   242,   241,    -1,   287,   288,    -1,
1086 <     288,    -1,   289,    -1,   290,    -1,     1,   241,    -1,   232,
1087 <     244,   176,   241,    -1,    -1,   291,   240,   243,   292,   242,
1088 <     241,    -1,   292,   293,    -1,   293,    -1,   294,    -1,   296,
1089 <      -1,   295,    -1,     1,   241,    -1,   100,   244,   131,   241,
1090 <      -1,   239,   244,   252,   241,    -1,   239,   244,   212,   241,
1091 <      -1,    -1,   166,   297,   244,   298,   241,    -1,   298,   245,
1092 <     299,    -1,   299,    -1,   227,    -1,   115,    -1,    51,    -1,
1093 <     192,    -1,    74,    -1,    72,    -1,   191,    -1,    -1,   115,
1094 <     301,   243,   302,   242,   241,    -1,   302,   303,    -1,   303,
1095 <      -1,   304,    -1,   305,    -1,   306,    -1,   310,    -1,   309,
1096 <      -1,   307,    -1,   308,    -1,   314,    -1,     1,   241,    -1,
1097 <     100,   244,   131,   241,    -1,   227,   244,   131,   241,    -1,
1098 <     125,   244,   131,   241,    -1,    43,   244,   176,   241,    -1,
1099 <     144,   244,   131,   241,    -1,    24,   244,   131,   241,    -1,
1100 <      -1,   209,   311,   244,   312,   241,    -1,   312,   245,   313,
1101 <      -1,   313,    -1,   183,    -1,   186,    -1,   187,    -1,   190,
1102 <      -1,   191,    -1,   195,    -1,    61,    -1,   206,    -1,   201,
1103 <      -1,   203,    -1,   210,    -1,   207,    -1,   194,    -1,   202,
1104 <      -1,   205,    -1,   196,    -1,   216,    -1,   184,    -1,   185,
1105 <      -1,   199,    -1,    -1,    47,   315,   244,   316,   241,    -1,
1106 <     316,   245,   317,    -1,   317,    -1,    57,    -1,   139,    -1,
1107 <      74,    -1,   226,    -1,   192,    -1,   211,    -1,   236,    -1,
1108 <      51,    -1,    32,    -1,   217,    -1,   137,    -1,     5,    -1,
1109 <     105,    -1,   202,    -1,   215,    -1,   119,    -1,   140,    -1,
1110 <      98,    -1,    -1,    24,   319,   243,   320,   242,   241,    -1,
1111 <     320,   321,    -1,   321,    -1,   322,    -1,   332,    -1,   333,
1112 <      -1,   323,    -1,   324,    -1,   334,    -1,   325,    -1,   326,
1113 <      -1,   327,    -1,   328,    -1,   329,    -1,   330,    -1,   331,
1114 <      -1,     1,   241,    -1,   100,   244,   131,   241,    -1,   128,
1115 <     244,   250,   241,    -1,   129,   244,   250,   241,    -1,   113,
1116 <     244,   110,   241,    -1,    26,   244,   250,   241,    -1,    92,
1117 <     244,   110,   241,    -1,    87,   244,   110,   241,    -1,    89,
1118 <     244,   110,   241,    -1,    88,   244,   110,   241,    -1,   158,
1119 <     244,   252,   241,    -1,    22,   244,   110,   241,    -1,    23,
1120 <     244,   110,   241,    -1,   112,   244,   110,   241,    -1,    -1,
1121 <      82,   336,   243,   341,   242,   241,    -1,    -1,    47,   338,
1122 <     244,   339,   241,    -1,   339,   245,   340,    -1,   340,    -1,
1123 <     208,    -1,    61,    -1,   204,    -1,   341,   342,    -1,   342,
1124 <      -1,   343,    -1,   337,    -1,   347,    -1,   348,    -1,     1,
1125 <     241,    -1,    -1,   130,   244,   345,   344,   241,    -1,   345,
1126 <     245,   346,    -1,   346,    -1,   110,    -1,   110,   181,   110,
1127 <      -1,    71,   244,   131,   241,    -1,    66,   244,   131,   241,
1128 <      -1,    -1,    58,   350,   243,   351,   242,   241,    -1,   351,
1129 <     352,    -1,   352,    -1,   353,    -1,   354,    -1,   355,    -1,
1130 <     357,    -1,   361,    -1,   362,    -1,   363,    -1,   356,    -1,
1131 <       1,   241,    -1,   227,   244,   131,   241,    -1,   125,   244,
1132 <     131,   241,    -1,    24,   244,   131,   241,    -1,    43,   244,
1133 <     176,   241,    -1,    -1,    47,   358,   244,   359,   241,    -1,
1134 <     359,   245,   360,    -1,   360,    -1,   170,    -1,    44,    -1,
1135 <      75,    -1,    59,    -1,    20,    -1,   109,    -1,    53,    -1,
1136 <     152,    -1,   101,    -1,   169,   244,   131,   241,    -1,   135,
1137 <     244,   131,   241,    -1,   134,   244,   110,   241,    -1,    -1,
1138 <     151,   365,   243,   366,   242,   241,    -1,   366,   367,    -1,
1139 <     367,    -1,   368,    -1,   369,    -1,   370,    -1,     1,   241,
1140 <      -1,   133,   244,   131,   241,    -1,    21,   244,   131,   241,
1141 <      -1,   104,   244,   131,   241,    -1,   218,   243,   372,   242,
1142 <     241,    -1,   372,   373,    -1,   373,    -1,   374,    -1,     1,
1143 <      -1,   100,   244,   131,   241,    -1,    -1,   164,   376,   243,
1144 <     377,   242,   241,    -1,   377,   378,    -1,   378,    -1,   379,
1145 <      -1,   380,    -1,   381,    -1,     1,   241,    -1,   100,   244,
1146 <     131,   241,    -1,   227,   244,   131,   241,    -1,    -1,   166,
1147 <     382,   244,   383,   241,    -1,   383,   245,   384,    -1,   384,
1148 <      -1,    74,    -1,   226,    -1,   192,    -1,   211,    -1,   236,
1149 <      -1,   214,    -1,   151,    -1,   213,    -1,   199,    -1,   182,
1150 <      -1,    -1,   165,   386,   243,   387,   242,   241,    -1,   387,
1151 <     388,    -1,   388,    -1,   389,    -1,   390,    -1,     1,   241,
1152 <      -1,   100,   244,   131,   241,    -1,    -1,   166,   391,   244,
1153 <     392,   241,    -1,   392,   245,   393,    -1,   393,    -1,    74,
1154 <      -1,   226,    -1,   192,    -1,   211,    -1,   236,    -1,   214,
1155 <      -1,   151,    -1,   213,    -1,   199,    -1,   182,    -1,    -1,
1156 <      25,   395,   243,   396,   242,   241,    -1,   396,   397,    -1,
1157 <     397,    -1,   398,    -1,   399,    -1,   400,    -1,   401,    -1,
1158 <     402,    -1,   404,    -1,   403,    -1,   413,    -1,   405,    -1,
1159 <     410,    -1,   411,    -1,   412,    -1,   409,    -1,     1,   241,
1160 <      -1,   100,   244,   131,   241,    -1,    66,   244,   131,   241,
1161 <      -1,   234,   244,   131,   241,    -1,   159,   244,   131,   241,
1162 <      -1,     3,   244,   131,   241,    -1,   130,   244,   110,   241,
1163 <      -1,     6,   244,   197,   241,    -1,     6,   244,   198,   241,
1164 <      -1,    -1,    47,   406,   244,   407,   241,    -1,   407,   245,
1165 <     408,    -1,   408,    -1,    10,    -1,    12,    -1,   221,    -1,
1166 <     208,    -1,    43,   244,   176,   241,    -1,    68,   244,   131,
1167 <     241,    -1,    80,   244,   131,   241,    -1,    24,   244,   131,
1168 <     241,    -1,   188,   244,   131,   241,    -1,    -1,    72,   415,
1169 <     243,   420,   242,   241,    -1,    -1,   166,   417,   244,   418,
1170 <     241,    -1,   418,   245,   419,    -1,   419,    -1,   136,    -1,
1171 <     420,   421,    -1,   421,    -1,   422,    -1,   423,    -1,   416,
1172 <      -1,     1,    -1,   227,   244,   131,   241,    -1,   133,   244,
1173 <     131,   241,    -1,    -1,    30,   425,   243,   426,   242,   241,
1174 <      -1,   426,   427,    -1,   427,    -1,   428,    -1,   429,    -1,
1175 <       1,    -1,    71,   244,   131,   241,    -1,   133,   244,   131,
1176 <     241,    -1,    45,   243,   431,   242,   241,    -1,   431,   432,
1177 <      -1,   432,    -1,   433,    -1,     1,    -1,    71,   244,   131,
1178 <     241,    -1,    -1,    49,   435,   243,   440,   242,   241,    -1,
1179 <      -1,   166,   437,   244,   438,   241,    -1,   438,   245,   439,
1180 <      -1,   439,    -1,   136,    -1,   440,   441,    -1,   441,    -1,
1181 <     442,    -1,   443,    -1,   436,    -1,     1,    -1,   100,   244,
1182 <     131,   241,    -1,   133,   244,   131,   241,    -1,    50,   243,
1183 <     445,   242,   241,    -1,   445,   446,    -1,   446,    -1,   454,
1184 <      -1,   455,    -1,   457,    -1,   458,    -1,   459,    -1,   460,
1185 <      -1,   461,    -1,   462,    -1,   463,    -1,   464,    -1,   453,
1186 <      -1,   466,    -1,   467,    -1,   468,    -1,   469,    -1,   484,
1187 <      -1,   471,    -1,   473,    -1,   475,    -1,   474,    -1,   478,
1188 <      -1,   472,    -1,   479,    -1,   480,    -1,   481,    -1,   482,
1189 <      -1,   483,    -1,   496,    -1,   485,    -1,   486,    -1,   487,
1190 <      -1,   492,    -1,   476,    -1,   477,    -1,   502,    -1,   500,
1191 <      -1,   501,    -1,   456,    -1,   503,    -1,   491,    -1,   465,
1192 <      -1,   489,    -1,   490,    -1,   452,    -1,   448,    -1,   449,
1193 <      -1,   450,    -1,   451,    -1,   470,    -1,   447,    -1,   488,
1194 <      -1,     1,    -1,    94,   244,   110,   241,    -1,    55,   244,
1195 <     110,   241,    -1,    56,   244,   110,   241,    -1,   233,   244,
1196 <     176,   241,    -1,   138,   244,   250,   241,    -1,   163,   244,
1197 <     176,   241,    -1,    73,   244,   250,   241,    -1,    65,   244,
1198 <     176,   241,    -1,    69,   244,   176,   241,    -1,    37,   244,
1199 <     176,   241,    -1,    46,   244,   176,   241,    -1,     8,   244,
1200 <     176,   241,    -1,    91,   244,   250,   241,    -1,    90,   244,
1201 <     110,   241,    -1,    84,   244,   110,   241,    -1,     9,   244,
1202 <     250,   241,    -1,   180,   244,   250,   241,    -1,   179,   244,
1203 <     250,   241,    -1,    60,   244,   110,   241,    -1,    77,   244,
1204 <     176,   241,    -1,    76,   244,   131,   241,    -1,    70,   244,
1205 <     176,   241,    -1,   238,   244,   176,   241,    -1,   171,   244,
1206 <     176,   241,    -1,   174,   244,   176,   241,    -1,   175,   244,
1207 <     176,   241,    -1,   173,   244,   176,   241,    -1,   173,   244,
1208 <     177,   241,    -1,   172,   244,   176,   241,    -1,   172,   244,
1209 <     177,   241,    -1,   123,   244,   250,   241,    -1,    19,   244,
1210 <     250,   241,    -1,   116,   244,   176,   241,    -1,   124,   244,
1211 <     250,   241,    -1,   167,   244,   176,   241,    -1,   108,   244,
1212 <     176,   241,    -1,   222,   244,   176,   241,    -1,   118,   244,
1213 <     176,   241,    -1,    95,   244,   131,   241,    -1,    38,   244,
1214 <     110,   241,    -1,    93,   244,   110,   241,    -1,   228,   244,
1215 <     176,   241,    -1,    40,   244,   131,   241,    -1,   219,   244,
1216 <     131,   241,    -1,   127,   244,   176,   241,    -1,    33,   244,
1217 <     176,   241,    -1,   220,   244,   250,   241,    -1,    -1,   120,
1218 <     493,   244,   494,   241,    -1,   494,   245,   495,    -1,   495,
1219 <      -1,   183,    -1,   186,    -1,   187,    -1,   190,    -1,   191,
1220 <      -1,   195,    -1,    61,    -1,   206,    -1,   201,    -1,   203,
1221 <      -1,   210,    -1,   207,    -1,   194,    -1,   202,    -1,   205,
1222 <      -1,   196,    -1,   216,    -1,   184,    -1,   185,    -1,   199,
1223 <      -1,    -1,   117,   497,   244,   498,   241,    -1,   498,   245,
1224 <     499,    -1,   499,    -1,   183,    -1,   186,    -1,   187,    -1,
1225 <     190,    -1,   191,    -1,   195,    -1,   206,    -1,    61,    -1,
1226 <     201,    -1,   203,    -1,   210,    -1,   207,    -1,   194,    -1,
1227 <     202,    -1,   205,    -1,   196,    -1,   216,    -1,   184,    -1,
1228 <     185,    -1,   199,    -1,    96,   244,   110,   241,    -1,    97,
1229 <     244,   110,   241,    -1,    27,   244,   110,   241,    -1,   189,
1230 <     244,   252,   241,    -1,    -1,    52,   505,   243,   506,   242,
1231 <     241,    -1,   506,   507,    -1,   507,    -1,   508,    -1,   509,
1232 <      -1,   510,    -1,   514,    -1,   515,    -1,   516,    -1,     1,
1233 <      -1,    42,   244,   176,   241,    -1,    39,   244,   250,   241,
1234 <      -1,    -1,    83,   511,   244,   512,   241,    -1,   512,   245,
1235 <     513,    -1,   513,    -1,   178,    -1,    11,    -1,   227,   244,
1236 <     131,   241,    -1,   100,   244,   131,   241,    -1,    -1,     4,
1237 <     517,   244,   518,   241,    -1,   518,   245,   519,    -1,   519,
1238 <      -1,   178,    -1,    11,    -1,    21,   243,   521,   242,   241,
1239 <      -1,   521,   522,    -1,   522,    -1,   525,    -1,   526,    -1,
1240 <     527,    -1,   528,    -1,   533,    -1,   529,    -1,   530,    -1,
1241 <     531,    -1,   532,    -1,   534,    -1,   535,    -1,   536,    -1,
1242 <     524,    -1,   537,    -1,   538,    -1,   539,    -1,   540,    -1,
1243 <     523,    -1,     1,    -1,    34,   244,   176,   241,    -1,   141,
1244 <     244,   176,   241,    -1,    36,   244,   176,   241,    -1,   229,
1245 <     244,   176,   241,    -1,   230,   244,   176,   241,    -1,   231,
1276 <     244,   176,   241,    -1,    78,   244,   250,   241,    -1,    79,
1277 <     244,   250,   241,    -1,    86,   244,   110,   241,    -1,   132,
1278 <     244,   176,   241,    -1,    85,   244,   110,   241,    -1,    29,
1279 <     244,   110,   241,    -1,    28,   244,   110,   241,    -1,   106,
1280 <     244,   176,   241,    -1,   107,   244,   176,   241,    -1,    13,
1281 <     244,   176,   241,    -1,   121,   244,   110,   241,    -1,   122,
1282 <     244,   250,   241,    -1,   160,   243,   542,   242,   241,    -1,
1283 <     542,   543,    -1,   543,    -1,   544,    -1,   545,    -1,   547,
1284 <      -1,   549,    -1,   548,    -1,   546,    -1,   550,    -1,     1,
1285 <      -1,    48,   244,   176,   241,    -1,    64,   244,   176,   241,
1286 <      -1,    62,   244,   131,   241,    -1,    81,   244,   250,   241,
1287 <      -1,    61,   244,   176,   241,    -1,    35,   244,   176,   241,
1288 <      -1,    63,   244,   176,   241,    -1
1055 >     220,     0,    -1,    -1,   220,   221,    -1,   253,    -1,   259,
1056 >      -1,   273,    -1,   475,    -1,   291,    -1,   308,    -1,   322,
1057 >      -1,   231,    -1,   492,    -1,   337,    -1,   344,    -1,   348,
1058 >      -1,   358,    -1,   367,    -1,   387,    -1,   397,    -1,   403,
1059 >      -1,   417,    -1,   407,    -1,   226,    -1,     1,   214,    -1,
1060 >       1,   215,    -1,    -1,   223,    -1,    99,   222,    -1,    99,
1061 >     137,   222,    -1,    99,   138,   222,    -1,    99,   139,   222,
1062 >      -1,    99,   140,   222,    -1,    99,   141,   222,    -1,    -1,
1063 >     225,    -1,    99,   224,    -1,    99,     9,   224,    -1,    99,
1064 >      10,   224,    -1,    99,    11,   224,    -1,    88,   216,   227,
1065 >     215,   214,    -1,   227,   228,    -1,   228,    -1,   229,    -1,
1066 >     230,    -1,     1,   214,    -1,    87,   217,   117,   214,    -1,
1067 >     113,   217,   117,   214,    -1,   145,   216,   232,   215,   214,
1068 >      -1,   232,   233,    -1,   233,    -1,   244,    -1,   249,    -1,
1069 >     252,    -1,   246,    -1,   247,    -1,   248,    -1,   251,    -1,
1070 >     242,    -1,   241,    -1,   250,    -1,   245,    -1,   240,    -1,
1071 >     234,    -1,   235,    -1,   243,    -1,     1,   214,    -1,   131,
1072 >     217,   236,   214,    -1,   132,   217,   238,   214,    -1,   236,
1073 >     218,   237,    -1,   237,    -1,   133,    -1,   134,    -1,   238,
1074 >     218,   239,    -1,   239,    -1,   133,    -1,   134,    -1,   129,
1075 >     217,   117,   214,    -1,   127,   217,   117,   214,    -1,   130,
1076 >     217,   117,   214,    -1,   170,   217,   117,   214,    -1,    89,
1077 >     217,   117,   214,    -1,   146,   217,   117,   214,    -1,    24,
1078 >     217,   117,   214,    -1,    92,   217,   117,   214,    -1,    91,
1079 >     217,   117,   214,    -1,   208,   217,   117,   214,    -1,   209,
1080 >     217,   117,   214,    -1,   180,   217,    99,   214,    -1,    57,
1081 >     217,   159,   214,    -1,     4,   216,   254,   215,   214,    -1,
1082 >     254,   255,    -1,   255,    -1,   256,    -1,   258,    -1,   257,
1083 >      -1,     1,   214,    -1,    89,   217,   117,   214,    -1,    31,
1084 >     217,   117,   214,    -1,    24,   217,   117,   214,    -1,    71,
1085 >     216,   260,   215,   214,    -1,   260,   261,    -1,   261,    -1,
1086 >     262,    -1,   263,    -1,     1,   214,    -1,   207,   217,   159,
1087 >     214,    -1,    -1,   264,   213,   216,   265,   215,   214,    -1,
1088 >     265,   266,    -1,   266,    -1,   267,    -1,   269,    -1,   268,
1089 >      -1,     1,   214,    -1,    89,   217,   117,   214,    -1,   212,
1090 >     217,   225,   214,    -1,   212,   217,   194,   214,    -1,    -1,
1091 >     150,   270,   217,   271,   214,    -1,   271,   218,   272,    -1,
1092 >     272,    -1,   205,    -1,   102,    -1,    40,    -1,   173,    -1,
1093 >      64,    -1,    62,    -1,   172,    -1,    -1,   102,   274,   216,
1094 >     275,   215,   214,    -1,   275,   276,    -1,   276,    -1,   277,
1095 >      -1,   278,    -1,   279,    -1,   283,    -1,   282,    -1,   280,
1096 >      -1,   281,    -1,   287,    -1,     1,   214,    -1,    89,   217,
1097 >     117,   214,    -1,   205,   217,   117,   214,    -1,   112,   217,
1098 >     117,   214,    -1,    32,   217,   159,   214,    -1,   128,   217,
1099 >     117,   214,    -1,    17,   217,   117,   214,    -1,    -1,   191,
1100 >     284,   217,   285,   214,    -1,   285,   218,   286,    -1,   286,
1101 >      -1,   165,    -1,   168,    -1,   169,    -1,   171,    -1,   172,
1102 >      -1,   175,    -1,    51,    -1,   188,    -1,   181,    -1,   184,
1103 >      -1,   192,    -1,   189,    -1,   174,    -1,   182,    -1,   186,
1104 >      -1,   176,    -1,   198,    -1,   166,    -1,   167,    -1,   179,
1105 >      -1,    -1,    36,   288,   217,   289,   214,    -1,   289,   218,
1106 >     290,    -1,   290,    -1,    47,    -1,   124,    -1,    64,    -1,
1107 >     204,    -1,   173,    -1,   193,    -1,   210,    -1,    40,    -1,
1108 >      25,    -1,   199,    -1,   123,    -1,     4,    -1,    94,    -1,
1109 >     182,    -1,   197,    -1,   106,    -1,   125,    -1,   187,    -1,
1110 >      87,    -1,    -1,    17,   292,   216,   293,   215,   214,    -1,
1111 >     293,   294,    -1,   294,    -1,   295,    -1,   305,    -1,   306,
1112 >      -1,   296,    -1,   307,    -1,   297,    -1,   298,    -1,   299,
1113 >      -1,   300,    -1,   301,    -1,   302,    -1,   303,    -1,   304,
1114 >      -1,     1,   214,    -1,    89,   217,   117,   214,    -1,   115,
1115 >     217,   223,   214,    -1,   101,   217,    99,   214,    -1,    19,
1116 >     217,   223,   214,    -1,    81,   217,    99,   214,    -1,    76,
1117 >     217,    99,   214,    -1,    78,   217,    99,   214,    -1,    77,
1118 >     217,    99,   214,    -1,   142,   217,   225,   214,    -1,   183,
1119 >     217,   225,   214,    -1,    15,   217,    99,   214,    -1,    16,
1120 >     217,    99,   214,    -1,   100,   217,    99,   214,    -1,    -1,
1121 >      70,   309,   216,   314,   215,   214,    -1,    -1,    36,   311,
1122 >     217,   312,   214,    -1,   312,   218,   313,    -1,   313,    -1,
1123 >     190,    -1,    51,    -1,   185,    -1,   314,   315,    -1,   315,
1124 >      -1,   316,    -1,   310,    -1,   320,    -1,   321,    -1,     1,
1125 >     214,    -1,    -1,   116,   217,   318,   317,   214,    -1,   318,
1126 >     218,   319,    -1,   319,    -1,    99,    -1,    99,   163,    99,
1127 >      -1,    61,   217,   117,   214,    -1,    56,   217,   117,   214,
1128 >      -1,    -1,    48,   323,   216,   324,   215,   214,    -1,   324,
1129 >     325,    -1,   325,    -1,   326,    -1,   327,    -1,   328,    -1,
1130 >     330,    -1,   334,    -1,   335,    -1,   336,    -1,   329,    -1,
1131 >       1,   214,    -1,   205,   217,   117,   214,    -1,   112,   217,
1132 >     117,   214,    -1,    17,   217,   117,   214,    -1,    32,   217,
1133 >     159,   214,    -1,    -1,    36,   331,   217,   332,   214,    -1,
1134 >     332,   218,   333,    -1,   333,    -1,   153,    -1,    33,    -1,
1135 >      65,    -1,    49,    -1,    13,    -1,    98,    -1,    43,    -1,
1136 >     136,    -1,    90,    -1,   152,   217,   117,   214,    -1,   121,
1137 >     217,   117,   214,    -1,   120,   217,    99,   214,    -1,    -1,
1138 >     135,   338,   216,   339,   215,   214,    -1,   339,   340,    -1,
1139 >     340,    -1,   341,    -1,   342,    -1,   343,    -1,     1,   214,
1140 >      -1,   119,   217,   117,   214,    -1,    14,   217,   117,   214,
1141 >      -1,    93,   217,   117,   214,    -1,   200,   216,   345,   215,
1142 >     214,    -1,   345,   346,    -1,   346,    -1,   347,    -1,     1,
1143 >      -1,    89,   217,   117,   214,    -1,    -1,   148,   349,   216,
1144 >     350,   215,   214,    -1,   350,   351,    -1,   351,    -1,   352,
1145 >      -1,   353,    -1,   354,    -1,     1,   214,    -1,    89,   217,
1146 >     117,   214,    -1,   205,   217,   117,   214,    -1,    -1,   150,
1147 >     355,   217,   356,   214,    -1,   356,   218,   357,    -1,   357,
1148 >      -1,    64,    -1,   204,    -1,   173,    -1,   193,    -1,   210,
1149 >      -1,   196,    -1,   135,    -1,   195,    -1,   179,    -1,   164,
1150 >      -1,    -1,   149,   359,   216,   360,   215,   214,    -1,   360,
1151 >     361,    -1,   361,    -1,   362,    -1,   363,    -1,     1,   214,
1152 >      -1,    89,   217,   117,   214,    -1,    -1,   150,   364,   217,
1153 >     365,   214,    -1,   365,   218,   366,    -1,   366,    -1,    64,
1154 >      -1,   204,    -1,   173,    -1,   193,    -1,   210,    -1,   196,
1155 >      -1,   135,    -1,   195,    -1,   179,    -1,   164,    -1,    -1,
1156 >      18,   368,   216,   369,   215,   214,    -1,   369,   370,    -1,
1157 >     370,    -1,   371,    -1,   372,    -1,   373,    -1,   374,    -1,
1158 >     375,    -1,   377,    -1,   376,    -1,   386,    -1,   378,    -1,
1159 >     383,    -1,   384,    -1,   385,    -1,   382,    -1,     1,   214,
1160 >      -1,    89,   217,   117,   214,    -1,    56,   217,   117,   214,
1161 >      -1,   208,   217,   117,   214,    -1,   143,   217,   117,   214,
1162 >      -1,     3,   217,   117,   214,    -1,   116,   217,    99,   214,
1163 >      -1,     5,   217,   177,   214,    -1,     5,   217,   178,   214,
1164 >      -1,    -1,    36,   379,   217,   380,   214,    -1,   380,   218,
1165 >     381,    -1,   381,    -1,     8,    -1,   190,    -1,    32,   217,
1166 >     159,   214,    -1,    58,   217,   117,   214,    -1,    68,   217,
1167 >     117,   214,    -1,    17,   217,   117,   214,    -1,   170,   217,
1168 >     117,   214,    -1,    -1,    62,   388,   216,   393,   215,   214,
1169 >      -1,    -1,   150,   390,   217,   391,   214,    -1,   391,   218,
1170 >     392,    -1,   392,    -1,   122,    -1,   393,   394,    -1,   394,
1171 >      -1,   395,    -1,   396,    -1,   389,    -1,     1,    -1,   205,
1172 >     217,   117,   214,    -1,   119,   217,   117,   214,    -1,    -1,
1173 >      23,   398,   216,   399,   215,   214,    -1,   399,   400,    -1,
1174 >     400,    -1,   401,    -1,   402,    -1,     1,    -1,    61,   217,
1175 >     117,   214,    -1,   119,   217,   117,   214,    -1,    34,   216,
1176 >     404,   215,   214,    -1,   404,   405,    -1,   405,    -1,   406,
1177 >      -1,     1,    -1,    61,   217,   117,   214,    -1,    -1,    38,
1178 >     408,   216,   413,   215,   214,    -1,    -1,   150,   410,   217,
1179 >     411,   214,    -1,   411,   218,   412,    -1,   412,    -1,   122,
1180 >      -1,   413,   414,    -1,   414,    -1,   415,    -1,   416,    -1,
1181 >     409,    -1,     1,    -1,    89,   217,   117,   214,    -1,   119,
1182 >     217,   117,   214,    -1,    39,   216,   418,   215,   214,    -1,
1183 >     418,   419,    -1,   419,    -1,   428,    -1,   429,    -1,   431,
1184 >      -1,   432,    -1,   433,    -1,   434,    -1,   435,    -1,   436,
1185 >      -1,   437,    -1,   438,    -1,   427,    -1,   440,    -1,   441,
1186 >      -1,   456,    -1,   443,    -1,   445,    -1,   447,    -1,   446,
1187 >      -1,   450,    -1,   444,    -1,   451,    -1,   452,    -1,   453,
1188 >      -1,   454,    -1,   455,    -1,   468,    -1,   457,    -1,   458,
1189 >      -1,   459,    -1,   464,    -1,   448,    -1,   449,    -1,   474,
1190 >      -1,   472,    -1,   473,    -1,   430,    -1,   463,    -1,   439,
1191 >      -1,   461,    -1,   462,    -1,   426,    -1,   421,    -1,   422,
1192 >      -1,   423,    -1,   424,    -1,   425,    -1,   442,    -1,   420,
1193 >      -1,   460,    -1,     1,    -1,    83,   217,    99,   214,    -1,
1194 >      42,   217,   159,   214,    -1,    41,   217,   223,   214,    -1,
1195 >      44,   217,   223,   214,    -1,    45,   217,    99,   214,    -1,
1196 >      46,   217,    99,   214,    -1,   147,   217,   159,   214,    -1,
1197 >      63,   217,   223,   214,    -1,    55,   217,   159,   214,    -1,
1198 >      59,   217,   159,   214,    -1,    28,   217,   159,   214,    -1,
1199 >      35,   217,   159,   214,    -1,     6,   217,   159,   214,    -1,
1200 >      80,   217,   223,   214,    -1,    79,   217,    99,   214,    -1,
1201 >      72,   217,    99,   214,    -1,     7,   217,   223,   214,    -1,
1202 >     162,   217,   223,   214,    -1,   161,   217,   223,   214,    -1,
1203 >      50,   217,    99,   214,    -1,    60,   217,   159,   214,    -1,
1204 >     211,   217,   159,   214,    -1,   154,   217,   159,   214,    -1,
1205 >     157,   217,   159,   214,    -1,   158,   217,   159,   214,    -1,
1206 >     156,   217,   159,   214,    -1,   156,   217,   160,   214,    -1,
1207 >     155,   217,   159,   214,    -1,   155,   217,   160,   214,    -1,
1208 >     110,   217,   223,   214,    -1,    12,   217,   223,   214,    -1,
1209 >     103,   217,   159,   214,    -1,   111,   217,   223,   214,    -1,
1210 >     151,   217,   159,   214,    -1,    97,   217,   159,   214,    -1,
1211 >     203,   217,   159,   214,    -1,   105,   217,   159,   214,    -1,
1212 >      84,   217,   117,   214,    -1,    29,   217,    99,   214,    -1,
1213 >      82,   217,    99,   214,    -1,   206,   217,   159,   214,    -1,
1214 >      30,   217,   117,   214,    -1,   201,   217,   117,   214,    -1,
1215 >     114,   217,   159,   214,    -1,    26,   217,   159,   214,    -1,
1216 >     202,   217,   223,   214,    -1,    -1,   107,   465,   217,   466,
1217 >     214,    -1,   466,   218,   467,    -1,   467,    -1,   165,    -1,
1218 >     168,    -1,   169,    -1,   171,    -1,   172,    -1,   175,    -1,
1219 >      51,    -1,   188,    -1,   181,    -1,   184,    -1,   192,    -1,
1220 >     189,    -1,   174,    -1,   182,    -1,   186,    -1,   176,    -1,
1221 >     198,    -1,   166,    -1,   167,    -1,   179,    -1,    -1,   104,
1222 >     469,   217,   470,   214,    -1,   470,   218,   471,    -1,   471,
1223 >      -1,   165,    -1,   168,    -1,   169,    -1,   171,    -1,   172,
1224 >      -1,   175,    -1,   188,    -1,    51,    -1,   181,    -1,   184,
1225 >      -1,   192,    -1,   189,    -1,   174,    -1,   182,    -1,   186,
1226 >      -1,   176,    -1,   198,    -1,   166,    -1,   167,    -1,   179,
1227 >      -1,    85,   217,    99,   214,    -1,    86,   217,    99,   214,
1228 >      -1,    20,   217,    99,   214,    -1,    14,   216,   476,   215,
1229 >     214,    -1,   476,   477,    -1,   477,    -1,   485,    -1,   480,
1230 >      -1,   481,    -1,   482,    -1,   483,    -1,   484,    -1,   486,
1231 >      -1,   487,    -1,   488,    -1,   479,    -1,   489,    -1,   490,
1232 >      -1,   491,    -1,   478,    -1,     1,    -1,    27,   217,   159,
1233 >     214,    -1,   126,   217,   159,   214,    -1,    66,   217,   223,
1234 >     214,    -1,    67,   217,   223,   214,    -1,    75,   217,    99,
1235 >     214,    -1,    74,   217,    99,   214,    -1,   118,   217,   159,
1236 >     214,    -1,    73,   217,    99,   214,    -1,    22,   217,    99,
1237 >     214,    -1,    21,   217,    99,   214,    -1,    95,   217,   159,
1238 >     214,    -1,    96,   217,   159,   214,    -1,   108,   217,    99,
1239 >     214,    -1,   109,   217,   223,   214,    -1,   144,   216,   493,
1240 >     215,   214,    -1,   493,   494,    -1,   494,    -1,   495,    -1,
1241 >     496,    -1,   498,    -1,   499,    -1,   497,    -1,   500,    -1,
1242 >       1,    -1,    37,   217,   159,   214,    -1,    54,   217,   159,
1243 >     214,    -1,    52,   217,   117,   214,    -1,    69,   217,   223,
1244 >     214,    -1,    51,   217,   159,   214,    -1,    53,   217,   159,
1245 >     214,    -1
1246   };
1247  
1248   /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1249   static const yytype_uint16 yyrline[] =
1250   {
1251 <       0,   379,   379,   380,   383,   384,   385,   386,   387,   388,
1252 <     389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
1253 <     399,   400,   401,   402,   403,   404,   405,   409,   409,   410,
1254 <     414,   418,   422,   426,   430,   436,   436,   437,   438,   439,
1255 <     440,   447,   450,   450,   451,   451,   451,   453,   459,   466,
1256 <     468,   468,   469,   469,   470,   470,   471,   471,   472,   472,
1257 <     473,   473,   474,   474,   475,   475,   476,   477,   480,   481,
1258 <     483,   483,   484,   490,   498,   498,   499,   505,   513,   552,
1259 <     611,   639,   647,   662,   677,   686,   700,   709,   737,   767,
1260 <     790,   799,   801,   801,   802,   802,   803,   803,   805,   814,
1261 <     823,   835,   836,   836,   838,   838,   839,   841,   848,   848,
1262 <     858,   859,   861,   861,   862,   862,   864,   869,   872,   878,
1263 <     877,   883,   883,   884,   888,   892,   896,   900,   904,   908,
1264 <     919,   918,  1016,  1016,  1017,  1017,  1017,  1018,  1018,  1018,
1265 <    1019,  1019,  1019,  1021,  1033,  1070,  1082,  1093,  1135,  1145,
1266 <    1144,  1150,  1150,  1151,  1155,  1159,  1163,  1167,  1171,  1175,
1267 <    1179,  1183,  1187,  1191,  1195,  1199,  1203,  1207,  1211,  1215,
1268 <    1219,  1223,  1227,  1234,  1233,  1239,  1239,  1240,  1244,  1248,
1269 <    1252,  1256,  1260,  1264,  1268,  1272,  1276,  1280,  1284,  1288,
1270 <    1292,  1296,  1300,  1304,  1308,  1319,  1318,  1368,  1368,  1369,
1271 <    1370,  1370,  1371,  1372,  1373,  1374,  1375,  1376,  1377,  1378,
1272 <    1379,  1380,  1381,  1383,  1392,  1398,  1404,  1410,  1416,  1422,
1273 <    1428,  1434,  1440,  1446,  1452,  1458,  1468,  1467,  1484,  1483,
1274 <    1488,  1488,  1489,  1493,  1497,  1505,  1505,  1506,  1506,  1506,
1275 <    1506,  1506,  1508,  1508,  1510,  1510,  1512,  1526,  1546,  1555,
1276 <    1568,  1567,  1636,  1636,  1637,  1637,  1637,  1637,  1638,  1638,
1277 <    1638,  1639,  1639,  1641,  1678,  1691,  1700,  1712,  1711,  1715,
1278 <    1715,  1716,  1720,  1724,  1728,  1732,  1736,  1740,  1744,  1748,
1279 <    1755,  1774,  1784,  1798,  1797,  1813,  1813,  1814,  1814,  1814,
1280 <    1814,  1816,  1825,  1840,  1853,  1855,  1855,  1856,  1856,  1858,
1281 <    1874,  1873,  1889,  1889,  1890,  1890,  1890,  1890,  1892,  1901,
1282 <    1924,  1923,  1929,  1929,  1930,  1934,  1938,  1942,  1946,  1950,
1283 <    1954,  1958,  1962,  1966,  1976,  1975,  1992,  1992,  1993,  1993,
1284 <    1993,  1995,  2002,  2001,  2007,  2007,  2008,  2012,  2016,  2020,
1285 <    2024,  2028,  2032,  2036,  2040,  2044,  2054,  2053,  2182,  2182,
1286 <    2183,  2183,  2183,  2184,  2184,  2185,  2185,  2185,  2186,  2186,
1287 <    2186,  2187,  2187,  2188,  2190,  2199,  2208,  2234,  2252,  2270,
1288 <    2276,  2280,  2289,  2288,  2292,  2292,  2293,  2297,  2301,  2305,
1289 <    2311,  2322,  2335,  2348,  2357,  2376,  2375,  2441,  2440,  2444,
1290 <    2444,  2445,  2451,  2451,  2452,  2452,  2452,  2452,  2454,  2473,
1291 <    2483,  2482,  2507,  2507,  2508,  2508,  2508,  2510,  2516,  2525,
1292 <    2527,  2527,  2528,  2528,  2530,  2549,  2548,  2596,  2595,  2599,
1293 <    2599,  2600,  2606,  2606,  2607,  2607,  2607,  2607,  2609,  2615,
1294 <    2624,  2627,  2627,  2628,  2628,  2629,  2629,  2630,  2630,  2631,
1295 <    2631,  2632,  2632,  2633,  2633,  2634,  2634,  2635,  2635,  2636,
1296 <    2636,  2637,  2637,  2638,  2638,  2639,  2639,  2640,  2640,  2641,
1297 <    2642,  2642,  2643,  2643,  2644,  2644,  2645,  2645,  2646,  2646,
1298 <    2647,  2648,  2649,  2649,  2650,  2651,  2652,  2652,  2653,  2653,
1299 <    2654,  2654,  2655,  2655,  2656,  2659,  2664,  2669,  2674,  2679,
1300 <    2684,  2689,  2694,  2699,  2704,  2709,  2714,  2719,  2724,  2729,
1301 <    2734,  2739,  2744,  2750,  2761,  2766,  2775,  2780,  2785,  2790,
1302 <    2795,  2800,  2803,  2808,  2811,  2816,  2821,  2826,  2831,  2836,
1303 <    2841,  2846,  2851,  2856,  2867,  2872,  2877,  2882,  2891,  2900,
1304 <    2905,  2910,  2916,  2915,  2920,  2920,  2921,  2924,  2927,  2930,
1305 <    2933,  2936,  2939,  2942,  2945,  2948,  2951,  2954,  2957,  2960,
1306 <    2963,  2966,  2969,  2972,  2975,  2978,  2984,  2983,  2988,  2988,
1307 <    2989,  2992,  2995,  2998,  3001,  3004,  3007,  3010,  3013,  3016,
1308 <    3019,  3022,  3025,  3028,  3031,  3034,  3037,  3040,  3043,  3046,
1309 <    3051,  3056,  3061,  3066,  3076,  3075,  3099,  3099,  3100,  3101,
1310 <    3102,  3103,  3104,  3105,  3106,  3108,  3114,  3121,  3120,  3125,
1311 <    3125,  3126,  3130,  3136,  3170,  3180,  3179,  3229,  3229,  3230,
1312 <    3234,  3243,  3246,  3246,  3247,  3247,  3248,  3248,  3249,  3249,
1313 <    3250,  3250,  3251,  3251,  3252,  3253,  3253,  3254,  3254,  3255,
1357 <    3255,  3256,  3256,  3258,  3263,  3268,  3273,  3278,  3283,  3288,
1358 <    3293,  3298,  3303,  3308,  3313,  3318,  3323,  3328,  3333,  3338,
1359 <    3343,  3351,  3354,  3354,  3355,  3355,  3356,  3357,  3358,  3358,
1360 <    3359,  3360,  3362,  3368,  3374,  3383,  3397,  3403,  3409
1251 >       0,   366,   366,   367,   370,   371,   372,   373,   374,   375,
1252 >     376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
1253 >     386,   387,   388,   389,   390,   391,   395,   395,   396,   400,
1254 >     404,   408,   412,   416,   422,   422,   423,   424,   425,   426,
1255 >     433,   436,   436,   437,   437,   437,   439,   445,   452,   454,
1256 >     454,   455,   455,   456,   456,   457,   457,   458,   458,   459,
1257 >     459,   460,   460,   461,   461,   462,   463,   466,   467,   469,
1258 >     469,   470,   476,   484,   484,   485,   491,   499,   538,   597,
1259 >     625,   633,   648,   663,   672,   686,   695,   723,   753,   776,
1260 >     785,   787,   787,   788,   788,   789,   789,   791,   800,   809,
1261 >     821,   822,   822,   824,   824,   825,   827,   834,   834,   844,
1262 >     845,   847,   847,   848,   848,   850,   855,   858,   864,   863,
1263 >     869,   869,   870,   874,   878,   882,   886,   890,   894,   905,
1264 >     904,   983,   983,   984,   984,   984,   985,   985,   985,   986,
1265 >     986,   986,   988,   994,  1000,  1006,  1017,  1023,  1030,  1029,
1266 >    1035,  1035,  1036,  1040,  1044,  1048,  1052,  1056,  1060,  1064,
1267 >    1068,  1072,  1076,  1080,  1084,  1088,  1092,  1096,  1100,  1104,
1268 >    1108,  1112,  1119,  1118,  1124,  1124,  1125,  1129,  1133,  1137,
1269 >    1141,  1145,  1149,  1153,  1157,  1161,  1165,  1169,  1173,  1177,
1270 >    1181,  1185,  1189,  1193,  1197,  1208,  1207,  1253,  1253,  1254,
1271 >    1255,  1255,  1256,  1257,  1258,  1259,  1260,  1261,  1262,  1263,
1272 >    1264,  1264,  1265,  1267,  1276,  1282,  1288,  1294,  1300,  1306,
1273 >    1312,  1318,  1324,  1331,  1337,  1343,  1353,  1352,  1359,  1358,
1274 >    1363,  1363,  1364,  1368,  1372,  1378,  1378,  1379,  1379,  1379,
1275 >    1379,  1379,  1381,  1381,  1383,  1383,  1385,  1399,  1419,  1425,
1276 >    1435,  1434,  1476,  1476,  1477,  1477,  1477,  1477,  1478,  1478,
1277 >    1478,  1479,  1479,  1481,  1487,  1493,  1499,  1511,  1510,  1516,
1278 >    1516,  1517,  1521,  1525,  1529,  1533,  1537,  1541,  1545,  1549,
1279 >    1555,  1569,  1578,  1591,  1590,  1606,  1606,  1607,  1607,  1607,
1280 >    1607,  1609,  1618,  1633,  1646,  1648,  1648,  1649,  1649,  1651,
1281 >    1667,  1666,  1681,  1681,  1682,  1682,  1682,  1682,  1684,  1693,
1282 >    1716,  1715,  1721,  1721,  1722,  1726,  1730,  1734,  1738,  1742,
1283 >    1746,  1750,  1754,  1758,  1768,  1767,  1783,  1783,  1784,  1784,
1284 >    1784,  1786,  1793,  1792,  1798,  1798,  1799,  1803,  1807,  1811,
1285 >    1815,  1819,  1823,  1827,  1831,  1835,  1845,  1844,  1893,  1893,
1286 >    1894,  1894,  1894,  1895,  1895,  1896,  1896,  1896,  1897,  1897,
1287 >    1897,  1898,  1898,  1899,  1901,  1910,  1919,  1945,  1963,  1981,
1288 >    1987,  1991,  2000,  1999,  2003,  2003,  2004,  2008,  2014,  2025,
1289 >    2035,  2046,  2055,  2074,  2073,  2137,  2136,  2140,  2140,  2141,
1290 >    2147,  2147,  2148,  2148,  2148,  2148,  2150,  2169,  2179,  2178,
1291 >    2205,  2205,  2206,  2206,  2206,  2208,  2214,  2223,  2225,  2225,
1292 >    2226,  2226,  2228,  2246,  2245,  2291,  2290,  2296,  2296,  2297,
1293 >    2303,  2303,  2304,  2304,  2304,  2304,  2306,  2312,  2321,  2324,
1294 >    2324,  2325,  2325,  2326,  2326,  2327,  2327,  2328,  2328,  2329,
1295 >    2329,  2330,  2331,  2332,  2332,  2333,  2333,  2334,  2334,  2335,
1296 >    2335,  2336,  2336,  2337,  2337,  2338,  2339,  2339,  2340,  2340,
1297 >    2341,  2341,  2342,  2342,  2343,  2343,  2344,  2345,  2345,  2346,
1298 >    2347,  2348,  2348,  2349,  2349,  2350,  2351,  2352,  2353,  2353,
1299 >    2354,  2357,  2362,  2368,  2374,  2380,  2385,  2390,  2395,  2400,
1300 >    2405,  2410,  2415,  2420,  2425,  2430,  2435,  2440,  2445,  2450,
1301 >    2456,  2467,  2472,  2477,  2482,  2487,  2492,  2495,  2500,  2503,
1302 >    2508,  2513,  2518,  2523,  2528,  2533,  2538,  2543,  2548,  2559,
1303 >    2564,  2569,  2574,  2583,  2592,  2597,  2602,  2608,  2607,  2612,
1304 >    2612,  2613,  2616,  2619,  2622,  2625,  2628,  2631,  2634,  2637,
1305 >    2640,  2643,  2646,  2649,  2652,  2655,  2658,  2661,  2664,  2667,
1306 >    2670,  2676,  2675,  2680,  2680,  2681,  2684,  2687,  2690,  2693,
1307 >    2696,  2699,  2702,  2705,  2708,  2711,  2714,  2717,  2720,  2723,
1308 >    2726,  2729,  2732,  2735,  2738,  2743,  2748,  2753,  2762,  2765,
1309 >    2765,  2766,  2767,  2767,  2768,  2768,  2769,  2769,  2770,  2771,
1310 >    2771,  2772,  2773,  2773,  2774,  2774,  2776,  2781,  2786,  2791,
1311 >    2796,  2801,  2806,  2811,  2816,  2821,  2826,  2831,  2836,  2841,
1312 >    2849,  2852,  2852,  2853,  2853,  2854,  2855,  2855,  2856,  2857,
1313 >    2859,  2865,  2871,  2880,  2894,  2900
1314   };
1315   #endif
1316  
1317 < #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1317 > #if YYDEBUG || YYERROR_VERBOSE || 0
1318   /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1319     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1320   static const char *const yytname[] =
1321   {
1322 <  "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ACTION", "ADMIN",
1323 <  "AFTYPE", "T_ALLOW", "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME",
1324 <  "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BURST_TOPICWHO", "BYTES", "KBYTES",
1372 <  "MBYTES", "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1322 >  "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ADMIN", "AFTYPE",
1323 >  "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1324 >  "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1325    "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1326    "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1327    "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1328 <  "DISABLE_FAKE_CHANNELS", "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS",
1329 <  "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH",
1378 <  "EMAIL", "ENABLE", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1328 >  "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1329 >  "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1330    "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1331 <  "GLINE", "GLINES", "GLINE_EXEMPT", "GLINE_TIME", "GLINE_MIN_CIDR",
1332 <  "GLINE_MIN_CIDR6", "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT",
1333 <  "HAVENT_READ_CONF", "HIDDEN", "HIDDEN_NAME", "HIDE_SERVER_IPS",
1334 <  "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK",
1335 <  "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "KILL",
1336 <  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KLINE_REASON",
1337 <  "KLINE_WITH_REASON", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1338 <  "LINKS_DELAY", "LISTEN", "T_LOG", "MAX_ACCEPT", "MAX_BANS",
1331 >  "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT",
1332 >  "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1333 >  "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1334 >  "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SPOOF_IPS",
1335 >  "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1336 >  "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT",
1337 >  "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY",
1338 >  "LISTEN", "T_LOG", "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER",
1339    "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1340    "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1341    "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1342    "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1343    "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1344    "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1345 <  "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1346 <  "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID",
1347 <  "OPER_ONLY_UMODES", "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES",
1348 <  "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE",
1349 <  "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT",
1350 <  "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T",
1351 <  "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",
1352 <  "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",
1353 <  "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE",
1354 <  "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1",
1355 <  "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS",
1356 <  "SENDQ", "SEND_PASSWORD", "SERVERHIDE", "SERVERINFO", "IRCD_SID",
1357 <  "TKLINE_EXPIRE_NOTICES", "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD",
1358 <  "SILENT", "SPOOF", "SPOOF_NOTICE", "STATS_E_DISABLED",
1359 <  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",
1360 <  "STATS_P_OPER_ONLY", "TBOOL", "TMASKED", "T_REJECT", "TS_MAX_DELTA",
1361 <  "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS", "T_SOFTCALLERID",
1362 <  "T_CALLERID", "T_CCONN", "T_CCONN_FULL", "T_SSL_CIPHER_LIST",
1363 <  "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DLINE", "T_DRONE",
1364 <  "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1365 <  "T_MAX_CLIENTS", "T_NCHANGE", "T_OPERWALL", "T_REJ", "T_SERVER",
1366 <  "T_SERVNOTICE", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES", "T_UNAUTH",
1367 <  "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_GLOBOPS",
1368 <  "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME", "THROTTLE_TIME",
1369 <  "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE", "TRESV",
1370 <  "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX", "USE_KNOCK",
1371 <  "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6", "XLINE", "WARN",
1372 <  "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",
1422 <  "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1423 <  "sizespec", "modules_entry", "modules_items", "modules_item",
1424 <  "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1345 >  "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPERATOR",
1346 >  "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1347 >  "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME",
1348 >  "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE",
1349 >  "PING_TIME", "PORT", "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT",
1350 >  "REDIRSERV", "REGEX_T", "REHASH", "REMOTE", "REMOTEBAN",
1351 >  "RESTRICT_CHANNELS", "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE",
1352 >  "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD",
1353 >  "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT",
1354 >  "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD",
1355 >  "SERVERHIDE", "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1356 >  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1357 >  "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY",
1358 >  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED",
1359 >  "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1360 >  "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1361 >  "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1362 >  "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS",
1363 >  "T_NCHANGE", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_SERVER",
1364 >  "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1365 >  "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE",
1366 >  "T_GLOBOPS", "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME",
1367 >  "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD", "UNKLINE", "USER", "USE_EGD",
1368 >  "USE_LOGGING", "VHOST", "VHOST6", "XLINE", "WARN_NO_NLINE", "T_SIZE",
1369 >  "T_FILE", "';'", "'}'", "'{'", "'='", "','", "$accept", "conf",
1370 >  "conf_item", "timespec_", "timespec", "sizespec_", "sizespec",
1371 >  "modules_entry", "modules_items", "modules_item", "modules_module",
1372 >  "modules_path", "serverinfo_entry", "serverinfo_items",
1373    "serverinfo_item", "serverinfo_ssl_client_method",
1374    "serverinfo_ssl_server_method", "client_method_types",
1375    "client_method_type_item", "server_method_types",
# Line 1441 | Line 1389 | static const char *const yytname[] =
1389    "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1390    "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1391    "class_entry", "$@6", "class_items", "class_item", "class_name",
1392 <  "class_ping_time", "class_ping_warning", "class_number_per_ip",
1393 <  "class_connectfreq", "class_max_number", "class_max_global",
1394 <  "class_max_local", "class_max_ident", "class_sendq",
1392 >  "class_ping_time", "class_number_per_ip", "class_connectfreq",
1393 >  "class_max_number", "class_max_global", "class_max_local",
1394 >  "class_max_ident", "class_sendq", "class_recvq",
1395    "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1396    "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1397    "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
# Line 1471 | Line 1419 | static const char *const yytname[] =
1419    "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1420    "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1421    "general_entry", "general_items", "general_item", "general_max_watch",
1422 <  "general_gline_min_cidr", "general_gline_min_cidr6",
1423 <  "general_use_whois_actually", "general_reject_hold_time",
1424 <  "general_tkline_expire_notices", "general_kill_chase_time_limit",
1425 <  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1426 <  "general_disable_remote_commands", "general_failed_oper_notice",
1427 <  "general_anti_nick_flood", "general_max_nick_time",
1428 <  "general_max_nick_changes", "general_max_accept",
1429 <  "general_anti_spam_exit_message_time", "general_ts_warn_delta",
1430 <  "general_ts_max_delta", "general_havent_read_conf",
1431 <  "general_kline_with_reason", "general_kline_reason",
1432 <  "general_invisible_on_connect", "general_warn_no_nline",
1433 <  "general_stats_e_disabled", "general_stats_o_oper_only",
1434 <  "general_stats_P_oper_only", "general_stats_k_oper_only",
1435 <  "general_stats_i_oper_only", "general_pace_wait",
1436 <  "general_caller_id_wait", "general_opers_bypass_callerid",
1437 <  "general_pace_wait_simple", "general_short_motd",
1438 <  "general_no_oper_flood", "general_true_no_oper_flood",
1439 <  "general_oper_pass_resv", "general_message_locale",
1440 <  "general_dots_in_ident", "general_max_targets", "general_use_egd",
1441 <  "general_egdpool_path", "general_services_name", "general_ping_cookie",
1442 <  "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1443 <  "$@24", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1444 <  "$@25", "umode_items", "umode_item", "general_min_nonwildcard",
1445 <  "general_min_nonwildcard_simple", "general_default_floodcount",
1446 <  "general_client_flood", "gline_entry", "$@26", "gline_items",
1447 <  "gline_item", "gline_enable", "gline_duration", "gline_logging", "$@27",
1500 <  "gline_logging_types", "gline_logging_type_item", "gline_user",
1501 <  "gline_server", "gline_action", "$@28", "gdeny_types", "gdeny_type_item",
1502 <  "channel_entry", "channel_items", "channel_item",
1503 <  "channel_disable_fake_channels", "channel_restrict_channels",
1504 <  "channel_disable_local_channels", "channel_use_except",
1505 <  "channel_use_invex", "channel_use_knock", "channel_knock_delay",
1422 >  "general_gline_enable", "general_gline_duration",
1423 >  "general_gline_request_duration", "general_gline_min_cidr",
1424 >  "general_gline_min_cidr6", "general_tkline_expire_notices",
1425 >  "general_kill_chase_time_limit", "general_hide_spoof_ips",
1426 >  "general_ignore_bogus_ts", "general_disable_remote_commands",
1427 >  "general_failed_oper_notice", "general_anti_nick_flood",
1428 >  "general_max_nick_time", "general_max_nick_changes",
1429 >  "general_max_accept", "general_anti_spam_exit_message_time",
1430 >  "general_ts_warn_delta", "general_ts_max_delta",
1431 >  "general_havent_read_conf", "general_invisible_on_connect",
1432 >  "general_warn_no_nline", "general_stats_e_disabled",
1433 >  "general_stats_o_oper_only", "general_stats_P_oper_only",
1434 >  "general_stats_k_oper_only", "general_stats_i_oper_only",
1435 >  "general_pace_wait", "general_caller_id_wait",
1436 >  "general_opers_bypass_callerid", "general_pace_wait_simple",
1437 >  "general_short_motd", "general_no_oper_flood",
1438 >  "general_true_no_oper_flood", "general_oper_pass_resv",
1439 >  "general_message_locale", "general_dots_in_ident", "general_max_targets",
1440 >  "general_use_egd", "general_egdpool_path", "general_services_name",
1441 >  "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1442 >  "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1443 >  "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1444 >  "general_min_nonwildcard", "general_min_nonwildcard_simple",
1445 >  "general_default_floodcount", "channel_entry", "channel_items",
1446 >  "channel_item", "channel_disable_fake_channels",
1447 >  "channel_restrict_channels", "channel_knock_delay",
1448    "channel_knock_delay_channel", "channel_max_chans_per_user",
1449 <  "channel_quiet_on_ban", "channel_max_bans",
1449 >  "channel_max_chans_per_oper", "channel_quiet_on_ban", "channel_max_bans",
1450    "channel_default_split_user_count", "channel_default_split_server_count",
1451    "channel_no_create_on_split", "channel_no_join_on_split",
1452 <  "channel_burst_topicwho", "channel_jflood_count", "channel_jflood_time",
1453 <  "serverhide_entry", "serverhide_items", "serverhide_item",
1454 <  "serverhide_flatten_links", "serverhide_hide_servers",
1455 <  "serverhide_hidden_name", "serverhide_links_delay", "serverhide_hidden",
1456 <  "serverhide_disable_hidden", "serverhide_hide_server_ips", 0
1452 >  "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1453 >  "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1454 >  "serverhide_hide_servers", "serverhide_hidden_name",
1455 >  "serverhide_links_delay", "serverhide_hidden",
1456 >  "serverhide_hide_server_ips", YY_NULL
1457   };
1458   #endif
1459  
# Line 1541 | Line 1483 | static const yytype_uint16 yytoknum[] =
1483       435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1484       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1485       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1486 <     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1545 <     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1546 <     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1547 <     495,    59,   125,   123,    61,    44
1486 >     465,   466,   467,   468,    59,   125,   123,    61,    44
1487   };
1488   # endif
1489  
1490   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1491   static const yytype_uint16 yyr1[] =
1492   {
1493 <       0,   246,   247,   247,   248,   248,   248,   248,   248,   248,
1494 <     248,   248,   248,   248,   248,   248,   248,   248,   248,   248,
1495 <     248,   248,   248,   248,   248,   248,   248,   249,   249,   250,
1496 <     250,   250,   250,   250,   250,   251,   251,   252,   252,   252,
1497 <     252,   253,   254,   254,   255,   255,   255,   256,   257,   258,
1498 <     259,   259,   260,   260,   260,   260,   260,   260,   260,   260,
1499 <     260,   260,   260,   260,   260,   260,   260,   260,   261,   262,
1500 <     263,   263,   264,   264,   265,   265,   266,   266,   267,   268,
1501 <     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
1502 <     279,   280,   281,   281,   282,   282,   282,   282,   283,   284,
1503 <     285,   286,   287,   287,   288,   288,   288,   289,   291,   290,
1504 <     292,   292,   293,   293,   293,   293,   294,   295,   295,   297,
1505 <     296,   298,   298,   299,   299,   299,   299,   299,   299,   299,
1506 <     301,   300,   302,   302,   303,   303,   303,   303,   303,   303,
1507 <     303,   303,   303,   304,   305,   306,   307,   308,   309,   311,
1508 <     310,   312,   312,   313,   313,   313,   313,   313,   313,   313,
1509 <     313,   313,   313,   313,   313,   313,   313,   313,   313,   313,
1510 <     313,   313,   313,   315,   314,   316,   316,   317,   317,   317,
1511 <     317,   317,   317,   317,   317,   317,   317,   317,   317,   317,
1512 <     317,   317,   317,   317,   317,   319,   318,   320,   320,   321,
1513 <     321,   321,   321,   321,   321,   321,   321,   321,   321,   321,
1514 <     321,   321,   321,   322,   323,   324,   325,   326,   327,   328,
1515 <     329,   330,   331,   332,   333,   334,   336,   335,   338,   337,
1516 <     339,   339,   340,   340,   340,   341,   341,   342,   342,   342,
1517 <     342,   342,   344,   343,   345,   345,   346,   346,   347,   348,
1518 <     350,   349,   351,   351,   352,   352,   352,   352,   352,   352,
1519 <     352,   352,   352,   353,   354,   355,   356,   358,   357,   359,
1520 <     359,   360,   360,   360,   360,   360,   360,   360,   360,   360,
1521 <     361,   362,   363,   365,   364,   366,   366,   367,   367,   367,
1522 <     367,   368,   369,   370,   371,   372,   372,   373,   373,   374,
1523 <     376,   375,   377,   377,   378,   378,   378,   378,   379,   380,
1524 <     382,   381,   383,   383,   384,   384,   384,   384,   384,   384,
1525 <     384,   384,   384,   384,   386,   385,   387,   387,   388,   388,
1526 <     388,   389,   391,   390,   392,   392,   393,   393,   393,   393,
1527 <     393,   393,   393,   393,   393,   393,   395,   394,   396,   396,
1528 <     397,   397,   397,   397,   397,   397,   397,   397,   397,   397,
1529 <     397,   397,   397,   397,   398,   399,   400,   401,   402,   403,
1530 <     404,   404,   406,   405,   407,   407,   408,   408,   408,   408,
1531 <     409,   410,   411,   412,   413,   415,   414,   417,   416,   418,
1532 <     418,   419,   420,   420,   421,   421,   421,   421,   422,   423,
1533 <     425,   424,   426,   426,   427,   427,   427,   428,   429,   430,
1534 <     431,   431,   432,   432,   433,   435,   434,   437,   436,   438,
1535 <     438,   439,   440,   440,   441,   441,   441,   441,   442,   443,
1536 <     444,   445,   445,   446,   446,   446,   446,   446,   446,   446,
1537 <     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1538 <     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1539 <     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1540 <     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1541 <     446,   446,   446,   446,   446,   447,   448,   449,   450,   451,
1542 <     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
1543 <     462,   463,   464,   465,   466,   467,   468,   469,   470,   471,
1544 <     472,   473,   473,   474,   474,   475,   476,   477,   478,   479,
1545 <     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
1546 <     490,   491,   493,   492,   494,   494,   495,   495,   495,   495,
1547 <     495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
1548 <     495,   495,   495,   495,   495,   495,   497,   496,   498,   498,
1549 <     499,   499,   499,   499,   499,   499,   499,   499,   499,   499,
1550 <     499,   499,   499,   499,   499,   499,   499,   499,   499,   499,
1551 <     500,   501,   502,   503,   505,   504,   506,   506,   507,   507,
1552 <     507,   507,   507,   507,   507,   508,   509,   511,   510,   512,
1553 <     512,   513,   513,   514,   515,   517,   516,   518,   518,   519,
1554 <     519,   520,   521,   521,   522,   522,   522,   522,   522,   522,
1555 <     522,   522,   522,   522,   522,   522,   522,   522,   522,   522,
1617 <     522,   522,   522,   523,   524,   525,   526,   527,   528,   529,
1618 <     530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
1619 <     540,   541,   542,   542,   543,   543,   543,   543,   543,   543,
1620 <     543,   543,   544,   545,   546,   547,   548,   549,   550
1493 >       0,   219,   220,   220,   221,   221,   221,   221,   221,   221,
1494 >     221,   221,   221,   221,   221,   221,   221,   221,   221,   221,
1495 >     221,   221,   221,   221,   221,   221,   222,   222,   223,   223,
1496 >     223,   223,   223,   223,   224,   224,   225,   225,   225,   225,
1497 >     226,   227,   227,   228,   228,   228,   229,   230,   231,   232,
1498 >     232,   233,   233,   233,   233,   233,   233,   233,   233,   233,
1499 >     233,   233,   233,   233,   233,   233,   233,   234,   235,   236,
1500 >     236,   237,   237,   238,   238,   239,   239,   240,   241,   242,
1501 >     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1502 >     253,   254,   254,   255,   255,   255,   255,   256,   257,   258,
1503 >     259,   260,   260,   261,   261,   261,   262,   264,   263,   265,
1504 >     265,   266,   266,   266,   266,   267,   268,   268,   270,   269,
1505 >     271,   271,   272,   272,   272,   272,   272,   272,   272,   274,
1506 >     273,   275,   275,   276,   276,   276,   276,   276,   276,   276,
1507 >     276,   276,   277,   278,   279,   280,   281,   282,   284,   283,
1508 >     285,   285,   286,   286,   286,   286,   286,   286,   286,   286,
1509 >     286,   286,   286,   286,   286,   286,   286,   286,   286,   286,
1510 >     286,   286,   288,   287,   289,   289,   290,   290,   290,   290,
1511 >     290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
1512 >     290,   290,   290,   290,   290,   292,   291,   293,   293,   294,
1513 >     294,   294,   294,   294,   294,   294,   294,   294,   294,   294,
1514 >     294,   294,   294,   295,   296,   297,   298,   299,   300,   301,
1515 >     302,   303,   304,   305,   306,   307,   309,   308,   311,   310,
1516 >     312,   312,   313,   313,   313,   314,   314,   315,   315,   315,
1517 >     315,   315,   317,   316,   318,   318,   319,   319,   320,   321,
1518 >     323,   322,   324,   324,   325,   325,   325,   325,   325,   325,
1519 >     325,   325,   325,   326,   327,   328,   329,   331,   330,   332,
1520 >     332,   333,   333,   333,   333,   333,   333,   333,   333,   333,
1521 >     334,   335,   336,   338,   337,   339,   339,   340,   340,   340,
1522 >     340,   341,   342,   343,   344,   345,   345,   346,   346,   347,
1523 >     349,   348,   350,   350,   351,   351,   351,   351,   352,   353,
1524 >     355,   354,   356,   356,   357,   357,   357,   357,   357,   357,
1525 >     357,   357,   357,   357,   359,   358,   360,   360,   361,   361,
1526 >     361,   362,   364,   363,   365,   365,   366,   366,   366,   366,
1527 >     366,   366,   366,   366,   366,   366,   368,   367,   369,   369,
1528 >     370,   370,   370,   370,   370,   370,   370,   370,   370,   370,
1529 >     370,   370,   370,   370,   371,   372,   373,   374,   375,   376,
1530 >     377,   377,   379,   378,   380,   380,   381,   381,   382,   383,
1531 >     384,   385,   386,   388,   387,   390,   389,   391,   391,   392,
1532 >     393,   393,   394,   394,   394,   394,   395,   396,   398,   397,
1533 >     399,   399,   400,   400,   400,   401,   402,   403,   404,   404,
1534 >     405,   405,   406,   408,   407,   410,   409,   411,   411,   412,
1535 >     413,   413,   414,   414,   414,   414,   415,   416,   417,   418,
1536 >     418,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1537 >     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1538 >     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1539 >     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1540 >     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1541 >     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
1542 >     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
1543 >     439,   440,   441,   442,   443,   444,   445,   445,   446,   446,
1544 >     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
1545 >     457,   458,   459,   460,   461,   462,   463,   465,   464,   466,
1546 >     466,   467,   467,   467,   467,   467,   467,   467,   467,   467,
1547 >     467,   467,   467,   467,   467,   467,   467,   467,   467,   467,
1548 >     467,   469,   468,   470,   470,   471,   471,   471,   471,   471,
1549 >     471,   471,   471,   471,   471,   471,   471,   471,   471,   471,
1550 >     471,   471,   471,   471,   471,   472,   473,   474,   475,   476,
1551 >     476,   477,   477,   477,   477,   477,   477,   477,   477,   477,
1552 >     477,   477,   477,   477,   477,   477,   478,   479,   480,   481,
1553 >     482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
1554 >     492,   493,   493,   494,   494,   494,   494,   494,   494,   494,
1555 >     495,   496,   497,   498,   499,   500
1556   };
1557  
1558   /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1625 | Line 1560 | static const yytype_uint8 yyr2[] =
1560   {
1561         0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1562         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1563 <       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
1564 <       3,     3,     3,     3,     3,     0,     1,     2,     3,     3,
1565 <       3,     5,     2,     1,     1,     1,     2,     4,     4,     5,
1566 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1567 <       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
1568 <       3,     1,     1,     1,     3,     1,     1,     1,     4,     4,
1563 >       1,     1,     1,     1,     2,     2,     0,     1,     2,     3,
1564 >       3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1565 >       5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1566 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1567 >       1,     1,     1,     1,     1,     1,     2,     4,     4,     3,
1568 >       1,     1,     1,     3,     1,     1,     1,     4,     4,     4,
1569         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1570 <       4,     5,     2,     1,     1,     1,     1,     2,     4,     4,
1571 <       4,     5,     2,     1,     1,     1,     2,     4,     0,     6,
1572 <       2,     1,     1,     1,     1,     2,     4,     4,     4,     0,
1573 <       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1574 <       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1575 <       1,     1,     2,     4,     4,     4,     4,     4,     4,     0,
1576 <       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1570 >       5,     2,     1,     1,     1,     1,     2,     4,     4,     4,
1571 >       5,     2,     1,     1,     1,     2,     4,     0,     6,     2,
1572 >       1,     1,     1,     1,     2,     4,     4,     4,     0,     5,
1573 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1574 >       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1575 >       1,     2,     4,     4,     4,     4,     4,     4,     0,     5,
1576 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1577         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1578 <       1,     1,     1,     0,     5,     3,     1,     1,     1,     1,
1578 >       1,     1,     0,     5,     3,     1,     1,     1,     1,     1,
1579         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1580         1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1581         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
# Line 1660 | Line 1595 | static const yytype_uint8 yyr2[] =
1595         1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
1596         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1597         1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
1598 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1599 <       4,     4,     4,     4,     4,     0,     6,     0,     5,     3,
1600 <       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1601 <       0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
1602 <       2,     1,     1,     1,     4,     0,     6,     0,     5,     3,
1603 <       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1669 <       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1598 >       4,     4,     0,     5,     3,     1,     1,     1,     4,     4,
1599 >       4,     4,     4,     0,     6,     0,     5,     3,     1,     1,
1600 >       2,     1,     1,     1,     1,     1,     4,     4,     0,     6,
1601 >       2,     1,     1,     1,     1,     4,     4,     5,     2,     1,
1602 >       1,     1,     4,     0,     6,     0,     5,     3,     1,     1,
1603 >       2,     1,     1,     1,     1,     1,     4,     4,     5,     2,
1604         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1605         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1606         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1607         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1608 <       1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
1609 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1608 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1609 >       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1610         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1611         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1612         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1613 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1613 >       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
1614         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1681       1,     1,     1,     1,     1,     1,     0,     5,     3,     1,
1615         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1616 +       1,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1617         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1618 <       4,     4,     4,     4,     0,     6,     2,     1,     1,     1,
1685 <       1,     1,     1,     1,     1,     4,     4,     0,     5,     3,
1686 <       1,     1,     1,     4,     4,     0,     5,     3,     1,     1,
1687 <       1,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1618 >       1,     1,     1,     1,     1,     4,     4,     4,     5,     2,
1619         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1620 <       1,     1,     1,     4,     4,     4,     4,     4,     4,     4,
1620 >       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
1621         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1622 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1623 <       1,     1,     4,     4,     4,     4,     4,     4,     4
1622 >       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1623 >       4,     4,     4,     4,     4,     4
1624   };
1625  
1626   /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
# Line 1697 | Line 1628 | static const yytype_uint8 yyr2[] =
1628     means the default is an error.  */
1629   static const yytype_uint16 yydefact[] =
1630   {
1631 <       2,     0,     1,     0,     0,     0,   195,   346,   400,     0,
1632 <     415,     0,   584,   250,   385,   226,     0,     0,   130,   283,
1633 <       0,     0,   300,   324,     0,     3,    24,    11,     4,     5,
1634 <       6,     8,     9,    10,    13,    14,    15,    16,    17,    18,
1635 <      19,    20,    23,    21,    22,     7,    12,    25,    26,     0,
1705 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1631 >       2,     0,     1,     0,     0,     0,   195,   346,   398,     0,
1632 >     413,     0,   250,   383,   226,     0,     0,   129,   283,     0,
1633 >       0,   300,   324,     0,     3,    23,    11,     4,     5,     6,
1634 >       8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1635 >      20,    22,    21,     7,    12,    24,    25,     0,     0,     0,
1636         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1707       0,     0,     0,     0,     0,    93,    94,    96,    95,   632,
1637         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1638 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   613,
1710 <     631,   626,   614,   615,   616,   617,   619,   620,   621,   622,
1711 <     618,   623,   624,   625,   627,   628,   629,   630,     0,     0,
1712 <       0,   413,     0,     0,   411,   412,     0,   484,     0,     0,
1638 >       0,     0,    92,    93,    95,    94,   595,     0,     0,     0,
1639         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1640 +       0,     0,   580,   594,   590,   582,   583,   584,   585,   586,
1641 +     581,   587,   588,   589,   591,   592,   593,     0,     0,     0,
1642 +     411,     0,     0,   409,   410,     0,   480,     0,     0,     0,
1643         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1715       0,     0,     0,     0,     0,     0,   556,     0,   532,     0,
1644         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1645 +       0,     0,     0,     0,     0,     0,   551,     0,   527,     0,
1646         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1647 <     432,   482,   477,   478,   479,   480,   476,   443,   433,   434,
1648 <     470,   435,   436,   437,   438,   439,   440,   441,   442,   473,
1649 <     444,   445,   446,   447,   481,   449,   454,   450,   452,   451,
1650 <     465,   466,   453,   455,   456,   457,   458,   459,   448,   461,
1651 <     462,   463,   483,   474,   475,   472,   464,   460,   468,   469,
1652 <     467,   471,     0,     0,     0,     0,     0,     0,     0,   103,
1653 <     104,   105,     0,     0,     0,     0,     0,    43,    44,    45,
1654 <       0,     0,   661,     0,     0,     0,     0,     0,     0,     0,
1655 <       0,   653,   654,   655,   659,   656,   658,   657,   660,     0,
1647 >       0,     0,     0,     0,     0,     0,     0,   430,   478,   472,
1648 >     473,   474,   475,   476,   471,   441,   431,   432,   466,   433,
1649 >     434,   435,   436,   437,   438,   439,   440,   468,   442,   443,
1650 >     477,   445,   450,   446,   448,   447,   461,   462,   449,   451,
1651 >     452,   453,   454,   455,   444,   457,   458,   459,   479,   469,
1652 >     470,   467,   460,   456,   464,   465,   463,     0,     0,     0,
1653 >       0,     0,     0,   102,   103,   104,     0,     0,     0,     0,
1654 >       0,    42,    43,    44,     0,     0,   619,     0,     0,     0,
1655 >       0,     0,     0,     0,   612,   613,   614,   617,   615,   616,
1656 >     618,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1657 >       0,     0,     0,     0,     0,     0,     0,     0,    50,    63,
1658 >      64,    62,    59,    58,    65,    51,    61,    54,    55,    56,
1659 >      52,    60,    57,    53,     0,     0,   298,     0,     0,   296,
1660 >     297,    96,     0,     0,     0,     0,    91,     0,     0,     0,
1661         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1662 <       0,     0,     0,     0,     0,     0,    51,    64,    65,    63,
1663 <      60,    59,    66,    52,    62,    55,    56,    57,    53,    61,
1664 <      58,    54,     0,     0,   298,     0,     0,   296,   297,    97,
1665 <       0,     0,     0,     0,    92,     0,     0,     0,     0,     0,
1662 >       0,     0,   579,     0,     0,     0,     0,     0,     0,     0,
1663 >       0,     0,     0,     0,     0,     0,     0,     0,   198,   199,
1664 >     202,   204,   205,   206,   207,   208,   209,   210,   211,   200,
1665 >     201,   203,     0,     0,     0,     0,     0,   372,     0,     0,
1666 >       0,     0,     0,     0,     0,     0,     0,   349,   350,   351,
1667 >     352,   353,   354,   356,   355,   358,   362,   359,   360,   361,
1668 >     357,   404,     0,     0,     0,   401,   402,   403,     0,     0,
1669 >     408,   425,     0,     0,   415,   424,     0,   421,   422,   423,
1670         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1733       0,     0,     0,     0,   612,     0,     0,     0,     0,     0,
1671         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1735     198,   199,   202,   203,   205,   206,   207,   208,   209,   210,
1736     211,   200,   201,   204,     0,     0,     0,     0,     0,   372,
1737       0,     0,     0,     0,     0,     0,     0,     0,     0,   349,
1738     350,   351,   352,   353,   354,   356,   355,   358,   362,   359,
1739     360,   361,   357,   406,     0,     0,     0,   403,   404,   405,
1740       0,     0,   410,   427,     0,     0,   417,   426,     0,   423,
1741     424,   425,     0,     0,     0,     0,     0,     0,     0,     0,
1672         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1673         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1674         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1675 +     429,     0,     0,     0,   267,     0,     0,     0,     0,     0,
1676 +       0,   253,   254,   255,   256,   261,   257,   258,   259,   260,
1677 +     395,     0,   385,     0,   394,     0,   391,   392,   393,     0,
1678 +     228,     0,     0,     0,   238,     0,   236,   237,   239,   240,
1679 +     105,     0,     0,   101,     0,    45,     0,     0,     0,    41,
1680 +       0,     0,     0,   172,     0,     0,     0,   148,     0,     0,
1681 +     132,   133,   134,   135,   138,   139,   137,   136,   140,     0,
1682 +       0,     0,     0,     0,   286,   287,   288,   289,     0,     0,
1683 +       0,     0,     0,     0,     0,   611,    66,     0,     0,     0,
1684         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1685 <       0,     0,     0,     0,   431,   594,   605,     0,     0,   597,
1747 <       0,     0,     0,   587,   588,   589,   590,   591,   592,   593,
1748 <       0,     0,     0,   267,     0,     0,     0,     0,     0,     0,
1749 <     253,   254,   255,   256,   261,   257,   258,   259,   260,   397,
1750 <       0,   387,     0,   396,     0,   393,   394,   395,     0,   228,
1751 <       0,     0,     0,   238,     0,   236,   237,   239,   240,   106,
1752 <       0,     0,   102,     0,    46,     0,     0,     0,    42,     0,
1753 <       0,     0,   173,     0,     0,     0,   149,     0,     0,   133,
1754 <     134,   135,   136,   139,   140,   138,   137,   141,     0,     0,
1755 <       0,     0,     0,   286,   287,   288,   289,     0,     0,     0,
1756 <       0,     0,     0,     0,     0,   652,    67,     0,     0,     0,
1757 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1758 <       0,     0,     0,    50,     0,     0,   310,     0,     0,   303,
1685 >       0,     0,     0,    49,     0,     0,   310,     0,     0,   303,
1686       304,   305,   306,     0,     0,   332,     0,   327,   328,   329,
1687 <       0,     0,   295,     0,     0,     0,    91,     0,     0,     0,
1688 <       0,     0,    27,     0,     0,     0,     0,     0,     0,     0,
1689 <       0,     0,     0,     0,     0,     0,   611,   212,     0,     0,
1687 >       0,     0,   295,     0,     0,     0,    90,     0,     0,     0,
1688 >      26,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1689 >       0,     0,   578,   212,     0,     0,     0,     0,     0,     0,
1690 >       0,     0,     0,     0,     0,     0,     0,     0,   197,   363,
1691         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1692 <       0,     0,   197,   363,     0,     0,     0,     0,     0,     0,
1693 <       0,     0,     0,     0,     0,     0,     0,     0,   348,     0,
1766 <       0,     0,   402,     0,   409,     0,     0,     0,     0,   422,
1692 >       0,     0,     0,     0,   348,     0,     0,     0,   400,     0,
1693 >     407,     0,     0,     0,     0,   420,     0,     0,     0,     0,
1694         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1695         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1696         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1697         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1698 <       0,     0,     0,     0,     0,     0,    35,     0,     0,     0,
1699 <       0,     0,     0,     0,   430,     0,     0,     0,     0,     0,
1700 <       0,     0,   586,   262,     0,     0,     0,     0,     0,     0,
1701 <       0,     0,     0,   252,     0,     0,     0,     0,   392,   241,
1702 <       0,     0,     0,     0,     0,   235,     0,   101,     0,     0,
1703 <       0,    41,   142,     0,     0,     0,     0,     0,     0,     0,
1704 <       0,     0,   132,   290,     0,     0,     0,     0,   285,     0,
1705 <       0,     0,     0,     0,     0,     0,   651,     0,     0,     0,
1706 <       0,     0,     0,     0,     0,    72,    73,     0,    71,    76,
1707 <      77,     0,    75,     0,     0,     0,     0,     0,    49,   307,
1708 <       0,     0,     0,     0,   302,   330,     0,     0,     0,   326,
1709 <       0,   294,   100,    99,    98,   648,   645,   644,   633,   635,
1783 <      27,    27,    27,    27,    27,    29,    28,   639,   640,   643,
1784 <     641,   646,   647,   649,   650,   642,   634,   636,   637,   638,
1698 >       0,     0,     0,     0,     0,     0,     0,   428,   262,     0,
1699 >       0,     0,     0,     0,     0,     0,     0,     0,   252,     0,
1700 >       0,     0,     0,   390,   241,     0,     0,     0,     0,     0,
1701 >     235,     0,   100,     0,     0,     0,    40,   141,     0,     0,
1702 >       0,     0,     0,     0,     0,     0,     0,   131,   290,     0,
1703 >       0,     0,     0,   285,     0,     0,     0,     0,     0,     0,
1704 >     610,     0,     0,     0,     0,     0,     0,     0,     0,    71,
1705 >      72,     0,    70,    75,    76,     0,    74,     0,     0,     0,
1706 >       0,     0,    48,   307,     0,     0,     0,     0,   302,   330,
1707 >       0,     0,     0,   326,     0,   294,    99,    98,    97,   605,
1708 >     604,   596,    26,    26,    26,    26,    26,    28,    27,   598,
1709 >     599,   603,   601,   600,   606,   607,   608,   609,   602,   597,
1710         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1711 <       0,     0,     0,   196,     0,     0,     0,     0,     0,     0,
1712 <       0,     0,     0,     0,     0,     0,     0,     0,   347,     0,
1713 <       0,   401,   414,     0,     0,     0,   416,   496,   500,   516,
1714 <     582,   530,   494,   524,   527,   495,   486,   487,   503,   492,
1715 <     493,   506,   491,   505,   504,   499,   498,   497,   525,   485,
1716 <     523,   580,   581,   520,   517,   567,   560,   577,   578,   561,
1717 <     562,   563,   564,   572,   565,   575,   579,   568,   573,   569,
1718 <     574,   566,   571,   570,   576,     0,   559,   522,   542,   536,
1719 <     553,   554,   537,   538,   539,   540,   548,   541,   551,   555,
1720 <     544,   549,   545,   550,   543,   547,   546,   552,     0,   535,
1721 <     515,   518,   529,   489,   490,   519,   508,   513,   514,   511,
1722 <     512,   509,   510,   502,   501,    35,    35,    35,    37,    36,
1723 <     583,   528,   531,   521,   526,   488,   507,     0,     0,     0,
1724 <       0,     0,     0,   585,     0,     0,     0,     0,     0,     0,
1725 <       0,     0,   251,     0,     0,     0,   386,     0,     0,     0,
1726 <     246,   242,   245,   227,   107,     0,     0,   119,     0,     0,
1727 <     111,   112,   114,   113,    47,    48,     0,     0,     0,     0,
1728 <       0,     0,     0,     0,   131,     0,     0,     0,   284,   667,
1729 <     662,   666,   664,   668,   663,   665,    84,    90,    82,    86,
1730 <      85,    79,    78,    80,    68,     0,    69,     0,    83,    81,
1731 <      89,    87,    88,     0,     0,     0,   301,     0,     0,   325,
1732 <     299,    30,    31,    32,    33,    34,   223,   224,   217,   219,
1733 <     221,   220,   218,   213,   225,   216,   214,   215,   222,   368,
1734 <     370,   371,   383,   380,   376,   377,   379,   378,     0,   375,
1735 <     365,   381,   382,   364,   369,   367,   384,   366,   407,   408,
1736 <     428,   429,   421,     0,   420,   557,     0,   533,     0,    38,
1737 <      39,    40,   610,   609,     0,   608,   596,   595,   602,   601,
1738 <       0,   600,   604,   603,   265,   266,   275,   272,   277,   274,
1739 <     273,   279,   276,   278,   271,     0,   270,   264,   282,   281,
1740 <     280,   263,   399,   391,     0,   390,   398,   233,   234,   232,
1741 <       0,   231,   249,   248,     0,     0,     0,   115,     0,     0,
1742 <       0,     0,   110,   148,   146,   188,   185,   184,   177,   179,
1743 <     194,   189,   192,   187,   178,   193,   181,   190,   182,   191,
1744 <     186,   180,   183,     0,   176,   143,   145,   147,   159,   153,
1745 <     170,   171,   154,   155,   156,   157,   165,   158,   168,   172,
1746 <     161,   166,   162,   167,   160,   164,   163,   169,     0,   152,
1747 <     144,   292,   293,   291,    70,    74,   308,   314,   320,   323,
1748 <     316,   322,   317,   321,   319,   315,   318,     0,   313,   309,
1749 <     331,   336,   342,   345,   338,   344,   339,   343,   341,   337,
1750 <     340,     0,   335,   373,     0,   418,     0,   558,   534,   606,
1751 <       0,   598,     0,   268,     0,   388,     0,   229,     0,   247,
1752 <     244,   243,     0,     0,     0,     0,   109,   174,     0,   150,
1753 <       0,   311,     0,   333,     0,   374,   419,   607,   599,   269,
1829 <     389,   230,   116,   125,   128,   127,   124,   129,   126,   123,
1830 <       0,   122,   118,   117,   175,   151,   312,   334,   120,     0,
1831 <     121
1711 >       0,    34,     0,     0,   196,     0,     0,     0,     0,     0,
1712 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   347,
1713 >       0,     0,   399,   412,     0,     0,     0,   414,   493,   497,
1714 >     511,   577,   525,   491,   519,   522,   492,   483,   482,   484,
1715 >     485,   486,   500,   489,   490,   501,   488,   496,   495,   494,
1716 >     520,   481,   518,   575,   576,   515,   512,   562,   555,   572,
1717 >     573,   556,   557,   558,   559,   567,   560,   570,   574,   563,
1718 >     568,   564,   569,   561,   566,   565,   571,     0,   554,   517,
1719 >     537,   531,   548,   549,   532,   533,   534,   535,   543,   536,
1720 >     546,   550,   539,   544,   540,   545,   538,   542,   541,   547,
1721 >       0,   530,   510,   513,   524,   487,   514,   503,   508,   509,
1722 >     506,   507,   504,   505,   499,   498,   523,   526,   516,   521,
1723 >     502,     0,     0,     0,     0,     0,     0,     0,     0,   251,
1724 >       0,     0,     0,   384,     0,     0,     0,   246,   242,   245,
1725 >     227,   106,     0,     0,   118,     0,     0,   110,   111,   113,
1726 >     112,    46,    47,     0,     0,     0,     0,     0,     0,     0,
1727 >       0,   130,     0,     0,     0,   284,   620,   624,   622,   625,
1728 >     621,   623,    83,    89,    81,    85,    84,    78,    77,    79,
1729 >      67,     0,    68,     0,    82,    80,    88,    86,    87,     0,
1730 >       0,     0,   301,     0,     0,   325,   299,    29,    30,    31,
1731 >      32,    33,   223,   224,   216,   218,   220,   219,   217,   213,
1732 >     225,   215,   214,    34,    34,    34,    36,    35,   221,   222,
1733 >     368,   370,   371,   381,   378,   376,   377,     0,   375,   365,
1734 >     379,   380,   364,   369,   367,   382,   366,   405,   406,   426,
1735 >     427,   419,     0,   418,   552,     0,   528,     0,   265,   266,
1736 >     275,   272,   277,   274,   273,   279,   276,   278,   271,     0,
1737 >     270,   264,   282,   281,   280,   263,   397,   389,     0,   388,
1738 >     396,   233,   234,   232,     0,   231,   249,   248,     0,     0,
1739 >       0,   114,     0,     0,     0,     0,   109,   147,   145,   187,
1740 >     184,   183,   176,   178,   194,   188,   191,   186,   177,   192,
1741 >     180,   189,   193,   181,   190,   185,   179,   182,     0,   175,
1742 >     142,   144,   146,   158,   152,   169,   170,   153,   154,   155,
1743 >     156,   164,   157,   167,   171,   160,   165,   161,   166,   159,
1744 >     163,   162,   168,     0,   151,   143,   292,   293,   291,    69,
1745 >      73,   308,   314,   320,   323,   316,   322,   317,   321,   319,
1746 >     315,   318,     0,   313,   309,   331,   336,   342,   345,   338,
1747 >     344,   339,   343,   341,   337,   340,     0,   335,    37,    38,
1748 >      39,   373,     0,   416,     0,   553,   529,   268,     0,   386,
1749 >       0,   229,     0,   247,   244,   243,     0,     0,     0,     0,
1750 >     108,   173,     0,   149,     0,   311,     0,   333,     0,   374,
1751 >     417,   269,   387,   230,   115,   124,   127,   126,   123,   128,
1752 >     125,   122,     0,   121,   117,   116,   174,   150,   312,   334,
1753 >     119,     0,   120
1754   };
1755  
1756   /* YYDEFGOTO[NTERM-NUM].  */
1757   static const yytype_int16 yydefgoto[] =
1758   {
1759 <      -1,     1,    25,   835,   836,   978,   979,    26,   246,   247,
1760 <     248,   249,    27,   285,   286,   287,   288,   797,   798,   801,
1761 <     802,   289,   290,   291,   292,   293,   294,   295,   296,   297,
1762 <     298,   299,   300,   301,    28,    74,    75,    76,    77,    78,
1763 <      29,   238,   239,   240,   241,   242,  1019,  1020,  1021,  1022,
1764 <    1023,  1169,  1300,  1301,    30,    63,   538,   539,   540,   541,
1765 <     542,   543,   544,   545,   546,   769,  1218,  1219,   547,   765,
1766 <    1193,  1194,    31,    51,   349,   350,   351,   352,   353,   354,
1767 <     355,   356,   357,   358,   359,   360,   361,   362,   363,    32,
1768 <      60,   513,   750,  1160,  1161,   514,   515,   516,  1166,  1011,
1769 <    1012,   517,   518,    33,    58,   489,   490,   491,   492,   493,
1770 <     494,   495,   736,  1145,  1146,   496,   497,   498,    34,    64,
1771 <     552,   553,   554,   555,   556,    35,   306,   307,   308,    36,
1772 <      67,   588,   589,   590,   591,   592,   811,  1237,  1238,    37,
1773 <      68,   596,   597,   598,   599,   817,  1251,  1252,    38,    52,
1774 <     378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
1775 <     648,  1098,  1099,   388,   389,   390,   391,   392,    39,    59,
1776 <     503,   745,  1154,  1155,   504,   505,   506,   507,    40,    53,
1777 <     396,   397,   398,   399,    41,   123,   124,   125,    42,    55,
1778 <     407,   667,  1113,  1114,   408,   409,   410,   411,    43,   179,
1779 <     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1780 <     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1781 <     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1782 <     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1783 <     220,   221,   222,   223,   224,   225,   226,   442,   958,   959,
1784 <     227,   440,   935,   936,   228,   229,   230,   231,    44,    57,
1785 <     472,   473,   474,   475,   476,   728,  1130,  1131,   477,   478,
1786 <     479,   725,  1124,  1125,    45,    98,    99,   100,   101,   102,
1787 <     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1866 <     113,   114,   115,   116,   117,    46,   260,   261,   262,   263,
1867 <     264,   265,   266,   267,   268
1759 >      -1,     1,    24,   777,   778,  1016,  1017,    25,   230,   231,
1760 >     232,   233,    26,   267,   268,   269,   270,   741,   742,   745,
1761 >     746,   271,   272,   273,   274,   275,   276,   277,   278,   279,
1762 >     280,   281,   282,   283,    27,    71,    72,    73,    74,    75,
1763 >      28,   222,   223,   224,   225,   226,   946,   947,   948,   949,
1764 >     950,  1083,  1212,  1213,    29,    60,   499,   500,   501,   502,
1765 >     503,   504,   505,   506,   507,   714,  1133,  1134,   508,   710,
1766 >    1108,  1109,    30,    49,   327,   328,   329,   330,   331,   332,
1767 >     333,   334,   335,   336,   337,   338,   339,   340,   341,    31,
1768 >      57,   474,   695,  1074,  1075,   475,   476,   477,  1080,   938,
1769 >     939,   478,   479,    32,    55,   450,   451,   452,   453,   454,
1770 >     455,   456,   681,  1059,  1060,   457,   458,   459,    33,    61,
1771 >     513,   514,   515,   516,   517,    34,   288,   289,   290,    35,
1772 >      64,   548,   549,   550,   551,   552,   755,  1152,  1153,    36,
1773 >      65,   556,   557,   558,   559,   761,  1166,  1167,    37,    50,
1774 >     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
1775 >     604,  1027,  1028,   366,   367,   368,   369,   370,    38,    56,
1776 >     464,   690,  1068,  1069,   465,   466,   467,   468,    39,    51,
1777 >     374,   375,   376,   377,    40,   112,   113,   114,    41,    53,
1778 >     385,   623,  1042,  1043,   386,   387,   388,   389,    42,   166,
1779 >     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1780 >     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1781 >     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1782 >     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1783 >     207,   208,   209,   210,   211,   212,   421,   900,   901,   213,
1784 >     419,   877,   878,   214,   215,   216,    43,    91,    92,    93,
1785 >      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1786 >     104,   105,   106,    44,   243,   244,   245,   246,   247,   248,
1787 >     249,   250
1788   };
1789  
1790   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1791     STATE-NUM.  */
1792 < #define YYPACT_NINF -560
1792 > #define YYPACT_NINF -745
1793   static const yytype_int16 yypact[] =
1794   {
1795 <    -560,   667,  -560,  -206,  -223,  -221,  -560,  -560,  -560,  -218,
1796 <    -560,  -191,  -560,  -560,  -560,  -560,  -189,  -183,  -560,  -560,
1797 <    -154,  -136,  -560,  -560,  -133,  -560,  -560,  -560,  -560,  -560,
1798 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1799 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,    42,
1800 <     544,  -115,  -109,   -80,    32,   -72,   375,   -70,   -53,   -51,
1801 <     -33,    60,    87,   -20,   -18,   324,   334,    -5,    -3,    20,
1802 <     -89,    17,    35,    51,     9,  -560,  -560,  -560,  -560,  -560,
1803 <      61,    63,    73,    79,    96,   111,   117,   125,   131,   136,
1804 <     137,   152,   154,   156,   159,   162,   170,   175,   180,  -560,
1805 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1806 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   709,   461,
1807 <      98,  -560,   195,    10,  -560,  -560,   266,  -560,   198,   199,
1808 <     202,   203,   206,   213,   214,   216,   217,   219,   229,   230,
1809 <     231,   232,   242,   243,   246,   250,   253,   256,   257,   259,
1810 <     261,   263,   265,   268,   275,   276,  -560,   277,  -560,   281,
1811 <     282,   284,   287,   291,   293,   295,   296,   299,   300,   307,
1812 <     314,   315,   316,   318,   319,   321,   322,   323,   327,   110,
1813 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1814 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1815 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1816 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1817 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1818 <    -560,  -560,     2,   509,    16,   326,    57,   330,    36,  -560,
1819 <    -560,  -560,     7,    77,   331,   332,    28,  -560,  -560,  -560,
1820 <     279,   211,  -560,   335,   338,   339,   341,   342,   343,   344,
1821 <       3,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   200,
1822 <     345,   346,   348,   349,   352,   355,   356,   357,   358,   360,
1823 <     362,   363,   365,   366,   367,    74,  -560,  -560,  -560,  -560,
1824 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1825 <    -560,  -560,   197,     6,  -560,   368,    46,  -560,  -560,  -560,
1826 <     140,   173,   392,   329,  -560,   438,   328,   505,   441,   445,
1827 <     514,   514,   515,   516,   451,   452,   521,   514,   456,   457,
1828 <     459,   460,   462,   396,  -560,   398,   397,   401,   402,   403,
1829 <     404,   408,   409,   410,   411,   412,   413,   415,   416,     4,
1830 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1831 <    -560,  -560,  -560,  -560,   399,   417,   418,   419,   420,  -560,
1832 <     425,   426,   429,   430,   431,   433,   435,   436,   290,  -560,
1833 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1834 <    -560,  -560,  -560,  -560,   439,   440,    11,  -560,  -560,  -560,
1835 <     511,   446,  -560,  -560,   442,   449,  -560,  -560,    12,  -560,
1836 <    -560,  -560,   522,   514,   514,   590,   525,   526,   593,   573,
1837 <     532,   597,   599,   601,   546,   550,   551,   514,   598,   552,
1838 <     624,   627,   514,   628,   630,   610,   636,   637,   572,   575,
1839 <     508,   577,   510,   514,   514,   579,   514,   580,   583,   584,
1840 <    -105,   -99,   585,   586,   514,   514,   653,   633,   514,   589,
1841 <     592,   594,   595,   528,  -560,  -560,  -560,   533,   534,  -560,
1842 <     535,   536,    14,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1843 <     540,   539,   541,  -560,   543,   545,   547,   548,   549,    33,
1844 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1845 <     555,  -560,   556,  -560,    22,  -560,  -560,  -560,   553,  -560,
1846 <     558,   559,   560,  -560,     8,  -560,  -560,  -560,  -560,  -560,
1847 <     596,   554,  -560,   212,  -560,   645,   657,   564,  -560,   565,
1848 <     563,   566,  -560,   567,   568,   569,  -560,   570,    15,  -560,
1849 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   574,   576,
1850 <     581,   582,    27,  -560,  -560,  -560,  -560,   608,   614,   632,
1851 <     685,   641,   643,   514,   588,  -560,  -560,   692,   648,   699,
1852 <     702,   703,   704,   705,   708,   -63,   -49,   710,   711,   730,
1853 <     712,   713,   604,  -560,   611,   607,  -560,   612,    97,  -560,
1854 <    -560,  -560,  -560,   619,   617,  -560,    30,  -560,  -560,  -560,
1855 <     724,   622,  -560,   631,   634,   635,  -560,   654,   656,   660,
1856 <     664,   665,   272,   676,   677,   681,   684,   693,   695,   696,
1857 <     698,   701,   706,   707,   714,   715,  -560,  -560,   761,   764,
1858 <     514,   767,   768,   776,   779,   763,   823,   828,   514,   514,
1859 <     653,   716,  -560,  -560,   809,   -75,   812,   770,   700,   818,
1860 <     819,   820,   821,   843,   827,   829,   830,   718,  -560,   831,
1861 <     832,   723,  -560,   726,  -560,   834,   835,   728,   727,  -560,
1862 <     729,   732,   733,   734,   735,   736,   737,   739,   740,   741,
1863 <     742,   743,   744,   745,   746,   747,   748,   749,   750,   751,
1864 <     752,   753,   754,   755,   756,   757,   758,   759,   663,   760,
1865 <     697,   762,   765,   766,   769,   771,   772,   773,   774,   775,
1866 <     777,   778,   780,   782,   783,   784,    54,   785,   786,   787,
1867 <     788,   789,   790,   791,  -560,   792,   514,   793,   794,   871,
1868 <     873,   796,  -560,  -560,   874,   833,   795,   877,   844,   880,
1869 <     886,   889,   800,  -560,   902,   798,   903,   802,  -560,  -560,
1870 <     801,   904,   913,   936,   806,  -560,   807,  -560,   194,   808,
1871 <     810,  -560,  -560,   919,   876,   811,   922,   923,   925,   813,
1872 <     927,   822,  -560,  -560,   928,   929,   930,   824,  -560,   825,
1873 <     826,   836,   837,   838,   839,   840,  -560,   841,   842,   845,
1874 <     846,   847,   848,   849,   850,  -560,  -560,  -199,  -560,  -560,
1875 <    -560,  -196,  -560,   851,   852,   853,   854,   855,  -560,  -560,
1876 <     931,   856,   933,   857,  -560,  -560,   937,   858,   860,  -560,
1877 <     862,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1878 <     514,   514,   514,   514,   514,  -560,  -560,  -560,  -560,  -560,
1879 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1880 <     863,   864,   865,   866,   867,   868,   869,   872,   875,   878,
1881 <     879,   881,   882,  -560,   883,   884,   885,   887,   888,   141,
1882 <     890,   891,   892,   893,   894,   895,   896,   897,  -560,   898,
1883 <     899,  -560,  -560,   900,   901,   934,  -560,  -560,  -560,  -560,
1884 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1885 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1886 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1887 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1888 <    -560,  -560,  -560,  -560,  -560,  -182,  -560,  -560,  -560,  -560,
1889 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1890 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   -30,  -560,
1891 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1892 <    -560,  -560,  -560,  -560,  -560,   653,   653,   653,  -560,  -560,
1893 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,    13,   905,   906,
1894 <      21,   907,   908,  -560,   909,   910,   870,   911,   912,   914,
1895 <     915,   916,  -560,   917,   935,   918,  -560,   -47,   920,   921,
1896 <     940,   924,  -560,  -560,  -560,   926,   932,  -560,   938,    89,
1897 <    -560,  -560,  -560,  -560,  -560,  -560,   939,   942,   479,   943,
1898 <     944,   945,   725,   946,  -560,   947,   948,   949,  -560,  -560,
1899 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1900 <    -560,  -560,  -560,  -560,  -560,   -63,  -560,   -49,  -560,  -560,
1901 <    -560,  -560,  -560,   950,   507,   951,  -560,   952,   531,  -560,
1902 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1903 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1904 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,    -6,  -560,
1905 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1906 <    -560,  -560,  -560,    65,  -560,  -560,   663,  -560,   697,  -560,
1907 <    -560,  -560,  -560,  -560,   100,  -560,  -560,  -560,  -560,  -560,
1908 <     101,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1909 <    -560,  -560,  -560,  -560,  -560,   106,  -560,  -560,  -560,  -560,
1910 <    -560,  -560,  -560,  -560,   109,  -560,  -560,  -560,  -560,  -560,
1911 <     112,  -560,  -560,  -560,   959,   936,   953,  -560,   941,   954,
1912 <     -91,   955,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1913 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1914 <    -560,  -560,  -560,   123,  -560,  -560,  -560,  -560,  -560,  -560,
1915 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1916 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   126,  -560,
1917 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1998 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,   133,  -560,  -560,
1999 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2000 <    -560,   148,  -560,  -560,   141,  -560,   934,  -560,  -560,  -560,
2001 <      13,  -560,    21,  -560,   870,  -560,   935,  -560,   -47,  -560,
2002 <    -560,  -560,   956,   262,   958,   960,  -560,  -560,   479,  -560,
2003 <     725,  -560,   507,  -560,   531,  -560,  -560,  -560,  -560,  -560,
2004 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2005 <     150,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   262,
2006 <    -560
1795 >    -745,   615,  -745,  -209,  -208,  -192,  -745,  -745,  -745,  -190,
1796 >    -745,  -183,  -745,  -745,  -745,  -169,  -167,  -745,  -745,  -144,
1797 >    -137,  -745,  -745,  -132,  -745,  -745,  -745,  -745,  -745,  -745,
1798 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1799 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,   292,   784,  -111,
1800 >    -102,   -93,    22,   -90,   389,   -80,   -74,   -72,    50,    15,
1801 >     -65,   -60,   299,   388,   -54,   -34,    18,  -176,   -58,   -32,
1802 >     -22,     3,  -745,  -745,  -745,  -745,  -745,   -15,    -9,    26,
1803 >      38,    67,    69,    75,    80,    82,    88,    90,    93,   100,
1804 >     107,   195,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1805 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,   569,   505,    13,
1806 >    -745,   115,    12,  -745,  -745,   258,  -745,   117,   122,   129,
1807 >     131,   140,   141,   144,   145,   146,   154,   155,   156,   159,
1808 >     161,   165,   166,   168,   170,   174,   175,   176,   177,   180,
1809 >     190,   194,   197,   199,   203,   204,  -745,   205,  -745,   206,
1810 >     209,   211,   212,   215,   219,   221,   224,   225,   229,   230,
1811 >     233,   234,   236,   237,   239,   240,    36,  -745,  -745,  -745,
1812 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1813 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1814 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1815 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1816 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,   343,    60,   284,
1817 >    -157,   241,    43,  -745,  -745,  -745,    66,   113,   242,   245,
1818 >      99,  -745,  -745,  -745,   348,    62,  -745,   249,   253,   264,
1819 >     266,   267,   271,    16,  -745,  -745,  -745,  -745,  -745,  -745,
1820 >    -745,   268,   273,   274,   280,   281,   285,   287,   290,   294,
1821 >     295,   296,   297,   306,   307,   308,   309,    74,  -745,  -745,
1822 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1823 >    -745,  -745,  -745,  -745,   220,   277,  -745,   310,    20,  -745,
1824 >    -745,  -745,   252,   370,   384,   302,  -745,   410,   430,   371,
1825 >     432,   432,   433,   434,   436,   379,   390,   453,   432,   395,
1826 >     396,   342,  -745,   345,   349,   350,   352,   354,   355,   357,
1827 >     360,   361,   362,   363,   365,   366,   369,   152,  -745,  -745,
1828 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1829 >    -745,  -745,   346,   372,   381,   385,   386,  -745,   392,   393,
1830 >     397,   400,   401,   405,   407,   408,   270,  -745,  -745,  -745,
1831 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1832 >    -745,  -745,   409,   413,    51,  -745,  -745,  -745,   445,   351,
1833 >    -745,  -745,   414,   417,  -745,  -745,     8,  -745,  -745,  -745,
1834 >     428,   432,   432,   502,   446,   447,   508,   495,   454,   432,
1835 >     461,   432,   528,   536,   537,   480,   485,   493,   432,   556,
1836 >     557,   432,   562,   563,   548,   567,   568,   512,   513,   456,
1837 >     519,   459,   432,   432,   521,   522,   523,   524,    14,    54,
1838 >     530,   532,   432,   432,   570,   432,   533,   535,   538,   474,
1839 >    -745,   481,   479,   483,  -745,   484,   488,   492,   498,   501,
1840 >     128,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1841 >    -745,   503,  -745,   506,  -745,    19,  -745,  -745,  -745,   514,
1842 >    -745,   515,   518,   520,  -745,   116,  -745,  -745,  -745,  -745,
1843 >    -745,   539,   516,  -745,   496,  -745,   602,   612,   526,  -745,
1844 >     527,   531,   534,  -745,   540,   544,   545,  -745,   553,   183,
1845 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,   541,
1846 >     560,   561,   573,    11,  -745,  -745,  -745,  -745,   572,   575,
1847 >     621,   584,   585,   432,   542,  -745,  -745,   629,   586,   630,
1848 >     632,   636,   637,   663,   670,   112,   196,   684,   691,   674,
1849 >     696,   701,   605,  -745,   619,   617,  -745,   622,    59,  -745,
1850 >    -745,  -745,  -745,   627,   626,  -745,   110,  -745,  -745,  -745,
1851 >     719,   633,  -745,   635,   638,   639,  -745,   641,   642,   646,
1852 >     265,   647,   648,   649,   650,   651,   652,   653,   654,   655,
1853 >     657,   658,  -745,  -745,   771,   774,   432,   775,   776,   777,
1854 >     778,   761,   782,   783,   432,   785,   785,   669,  -745,  -745,
1855 >     768,   164,   769,   728,   671,   772,   773,   779,   780,   792,
1856 >     781,   786,   787,   680,  -745,   788,   789,   681,  -745,   685,
1857 >    -745,   790,   791,   683,   687,  -745,   695,   697,   698,   699,
1858 >     700,   702,   703,   704,   705,   706,   707,   708,   709,   710,
1859 >     711,   712,   713,   714,   715,   716,   717,   718,   720,   721,
1860 >     722,   723,   724,   725,   726,   600,   727,   628,   729,   730,
1861 >     731,   732,   733,   734,   735,   736,   737,   738,   739,   740,
1862 >     741,   742,   743,   744,   745,   746,   747,  -745,  -745,   798,
1863 >     803,   748,   816,   843,   846,   847,   849,   753,  -745,   851,
1864 >     752,   853,   757,  -745,  -745,   755,   856,   857,   876,   762,
1865 >    -745,   763,  -745,   187,   764,   765,  -745,  -745,   863,   822,
1866 >     766,   865,   867,   868,   770,   869,   793,  -745,  -745,   871,
1867 >     872,   873,   794,  -745,   795,   796,   797,   799,   800,   801,
1868 >    -745,   802,   804,   805,   806,   807,   808,   809,   810,  -745,
1869 >    -745,  -196,  -745,  -745,  -745,  -179,  -745,   811,   812,   813,
1870 >     814,   815,  -745,  -745,   874,   817,   875,   818,  -745,  -745,
1871 >     877,   819,   821,  -745,   823,  -745,  -745,  -745,  -745,  -745,
1872 >    -745,  -745,   432,   432,   432,   432,   432,  -745,  -745,  -745,
1873 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1874 >     824,   825,   826,   827,   828,   829,   830,   831,   832,   833,
1875 >     834,    79,   835,   836,  -745,   837,   838,   839,   840,   841,
1876 >      -1,   842,   844,   845,   848,   850,   852,   854,   855,  -745,
1877 >     858,   859,  -745,  -745,   860,   861,   878,  -745,  -745,  -745,
1878 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1879 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1880 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1881 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1882 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -178,  -745,  -745,
1883 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1884 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1885 >    -173,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1886 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1887 >    -745,   862,   864,   693,   866,   870,   879,   880,   881,  -745,
1888 >     882,   883,   884,  -745,   -36,   885,   886,   894,   887,  -745,
1889 >    -745,  -745,   888,   889,  -745,   890,    86,  -745,  -745,  -745,
1890 >    -745,  -745,  -745,   895,   896,   517,   897,   898,   899,   656,
1891 >     900,  -745,   901,   902,   903,  -745,  -745,  -745,  -745,  -745,
1892 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1893 >    -745,   112,  -745,   196,  -745,  -745,  -745,  -745,  -745,   904,
1894 >     464,   905,  -745,   906,   529,  -745,  -745,  -745,  -745,  -745,
1895 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1896 >    -745,  -745,  -745,   785,   785,   785,  -745,  -745,  -745,  -745,
1897 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -168,  -745,  -745,
1898 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1899 >    -745,  -745,  -160,  -745,  -745,   600,  -745,   628,  -745,  -745,
1900 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -159,
1901 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,   -57,  -745,
1902 >    -745,  -745,  -745,  -745,   -38,  -745,  -745,  -745,   907,   876,
1903 >     908,  -745,   913,   891,   -88,   909,  -745,  -745,  -745,  -745,
1904 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1905 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,    -7,  -745,
1906 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1907 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1908 >    -745,  -745,  -745,    63,  -745,  -745,  -745,  -745,  -745,  -745,
1909 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1910 >    -745,  -745,    94,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1911 >    -745,  -745,  -745,  -745,  -745,  -745,   101,  -745,  -745,  -745,
1912 >    -745,  -745,    -1,  -745,   878,  -745,  -745,  -745,   693,  -745,
1913 >     883,  -745,   -36,  -745,  -745,  -745,   910,   403,   911,   912,
1914 >    -745,  -745,   517,  -745,   656,  -745,   464,  -745,   529,  -745,
1915 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1916 >    -745,  -745,   104,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1917 >    -745,   403,  -745
1918   };
1919  
1920   /* YYPGOTO[NTERM-NUM].  */
1921   static const yytype_int16 yypgoto[] =
1922   {
1923 <    -560,  -560,  -560,  -316,  -319,  -559,  -456,  -560,  -560,   957,
1924 <    -560,  -560,  -560,  -560,   799,  -560,  -560,  -560,    18,  -560,
1925 <      19,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1926 <    -560,  -560,  -560,  -560,  -560,  -560,  1000,  -560,  -560,  -560,
1927 <    -560,  -560,   859,  -560,  -560,  -560,  -560,    56,  -560,  -560,
1928 <    -560,  -560,  -560,  -224,  -560,  -560,  -560,   561,  -560,  -560,
1929 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -169,  -560,  -560,
1930 <    -560,  -166,  -560,  -560,  -560,   781,  -560,  -560,  -560,  -560,
1931 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1932 <    -560,  -560,  -560,  -560,  -153,  -560,   600,  -560,  -560,  -560,
1933 <     -48,  -560,  -560,  -560,  -560,  -560,   629,  -560,  -560,  -560,
1934 <    -560,  -560,  -560,  -560,  -137,  -560,  -560,  -560,  -560,  -560,
1935 <    -560,   591,  -560,  -560,  -560,  -560,  -560,   961,  -560,  -560,
1936 <    -560,  -560,   557,  -560,  -560,  -560,  -560,  -560,  -138,  -560,
1937 <    -560,  -560,   578,  -560,  -560,  -560,  -560,  -130,  -560,  -560,
1938 <    -560,   797,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1939 <    -560,  -560,   -94,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1940 <    -560,  -560,  -560,  -103,  -560,   661,  -560,  -560,  -560,  -560,
1941 <    -560,   804,  -560,  -560,  -560,  -560,  1041,  -560,  -560,  -560,
1942 <    -560,  -560,  -560,   -90,  -560,   803,  -560,  -560,  -560,  -560,
1943 <     989,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1944 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1945 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1946 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1947 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,    52,
1948 <    -560,  -560,  -560,    55,  -560,  -560,  -560,  -560,  -560,  -560,
1949 <    -560,   738,  -560,  -560,  -560,  -560,  -560,   -85,  -560,  -560,
1950 <    -560,  -560,  -560,   -88,  -560,  -560,  1075,  -560,  -560,  -560,
1951 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2041 <    -560,  -560,  -560,  -560,  -560,  -560,  -560,   962,  -560,  -560,
2042 <    -560,  -560,  -560,  -560,  -560
1923 >    -745,  -745,  -745,  -744,  -298,  -659,  -595,  -745,  -745,   767,
1924 >    -745,  -745,  -745,  -745,   750,  -745,  -745,  -745,    17,  -745,
1925 >      10,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1926 >    -745,  -745,  -745,  -745,  -745,  -745,   924,  -745,  -745,  -745,
1927 >    -745,  -745,   914,  -745,  -745,  -745,  -745,    53,  -745,  -745,
1928 >    -745,  -745,  -745,  -225,  -745,  -745,  -745,   504,  -745,  -745,
1929 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -193,  -745,  -745,
1930 >    -745,  -188,  -745,  -745,  -745,   675,  -745,  -745,  -745,  -745,
1931 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1932 >    -745,  -745,  -745,  -745,  -170,  -745,   558,  -745,  -745,  -745,
1933 >     -48,  -745,  -745,  -745,  -745,  -745,   610,  -745,  -745,  -745,
1934 >    -745,  -745,  -745,  -745,  -117,  -745,  -745,  -745,  -745,  -745,
1935 >    -745,   550,  -745,  -745,  -745,  -745,  -745,   892,  -745,  -745,
1936 >    -745,  -745,   543,  -745,  -745,  -745,  -745,  -745,  -131,  -745,
1937 >    -745,  -745,   511,  -745,  -745,  -745,  -745,  -128,  -745,  -745,
1938 >    -745,   820,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1939 >    -745,  -745,  -101,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1940 >    -745,  -745,  -745,  -103,  -745,   614,  -745,  -745,  -745,  -745,
1941 >    -745,   754,  -745,  -745,  -745,  -745,   969,  -745,  -745,  -745,
1942 >    -745,  -745,  -745,   -92,  -745,   749,  -745,  -745,  -745,  -745,
1943 >     917,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1944 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1945 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1946 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1947 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,    39,  -745,
1948 >    -745,  -745,    40,  -745,  -745,  -745,  -745,  -745,   996,  -745,
1949 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1950 >    -745,  -745,  -745,  -745,  -745,   915,  -745,  -745,  -745,  -745,
1951 >    -745,  -745
1952   };
1953  
1954   /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1955     positive, shift that token.  If negative, reduce the rule which
1956     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1957 < #define YYTABLE_NINF -109
1957 > #define YYTABLE_NINF -108
1958   static const yytype_int16 yytable[] =
1959   {
1960 <     717,   613,   614,   465,   252,   335,   466,   593,   620,   508,
1961 <      70,   121,   393,   403,  1157,   465,   529,   499,   466,   716,
1962 <      49,   304,    50,   499,  1122,    54,   336,   337,   548,   243,
1963 <     338,   593,  1128,   121,   480,    47,    48,   236,   253,   530,
1964 <      71,   467,  1054,    70,   468,  1056,  1055,   304,   549,  1057,
1965 <      72,   254,    56,   467,    61,   509,   468,   481,   531,  1115,
1966 <      62,   236,   532,  1116,   255,   256,   257,   258,   975,   976,
1967 <     977,   708,   709,    71,   510,   269,   482,   710,   711,   511,
1968 <     483,   122,   394,    72,   259,   469,   795,   796,   243,    65,
1969 <    1015,   339,   340,   341,   671,   672,   342,   469,   584,   393,
1970 <     799,   800,   470,   122,   343,   270,   594,    66,   685,    73,
1971 <      69,   127,   404,   690,   470,   533,   344,   345,   128,   129,
1972 <     305,  1274,   865,   866,   701,   702,   244,   704,   118,   130,
1973 <     594,   550,   346,   347,   119,   714,   715,   131,   512,   719,
1974 <     534,   271,    73,   132,   395,   405,   305,   133,   134,   500,
1975 <     135,  1094,   309,  1095,   245,   500,   136,  1158,   484,   535,
1976 <     551,  1159,   348,   120,   716,   137,   138,   485,   486,   394,
1977 <     139,   126,   595,   232,   272,   140,   273,   274,   406,   141,
1978 <     142,    79,   501,   143,   862,   244,   144,   145,   501,  1016,
1979 <     233,  1123,   234,    80,   146,  1015,   595,   585,   584,  1129,
1980 <     147,   148,   487,   149,   150,   151,   152,   153,    81,    82,
1981 <     235,  1117,   548,   245,    83,  1118,    84,   275,   154,   276,
1982 <     277,   278,   279,   250,   536,   251,   155,   156,   157,   471,
1983 <     158,   395,   549,   159,   160,  1253,   280,   161,   302,  1254,
1984 <     303,   471,   537,   502,   785,   564,   641,   523,   162,   502,
1985 <     754,   313,   401,   661,   668,  1017,   731,   771,    85,    86,
1986 <     488,   310,   281,   586,   747,    87,    88,   403,   237,   777,
1987 <     527,   603,   818,   163,   282,   742,  -108,   164,   521,   311,
1988 <     529,   165,   166,   167,   168,   169,    89,    90,   601,   170,
1989 <     171,   364,   237,   365,  1016,   312,   366,   585,   519,   172,
1990 <    -108,    91,    92,   530,   604,   315,  1255,   316,   283,   284,
1991 <    1256,   852,    93,  1293,   367,   550,   582,   317,   524,   860,
1992 <     861,    94,   531,   318,   587,   252,   532,   508,  1018,   173,
1993 <     174,  1171,   175,   368,  1294,   269,  1295,   369,   176,   813,
1994 <     319,  1259,  1261,   177,   551,  1260,  1262,  1263,   178,  1096,
1995 <    1265,  1264,   463,  1267,  1266,   320,   370,  1268,   371,   253,
1996 <    1017,   321,  1097,   586,  1277,   270,   404,  1279,  1278,   322,
1997 <     372,  1280,   254,   509,  1281,   323,   127,  1296,  1282,   533,
1998 <     324,   325,   612,   128,   129,   255,   256,   257,   258,  1283,
1999 <     373,  1308,   510,  1284,   130,  1309,   326,   511,   327,   405,
2000 <     328,   271,   131,   329,   534,   259,   330,   988,   132,    95,
2001 <      96,    97,   133,   134,   331,   135,  1119,  1120,  1121,   332,
2002 <     374,   136,   333,   535,   587,   830,   831,   832,   833,   834,
2003 <     137,   138,   406,  1018,   272,   139,   273,   274,   608,   400,
2004 <     140,   566,   412,   413,   141,   142,   414,   415,   143,   375,
2005 <     416,   144,   145,  1297,  1298,   758,   512,   417,   418,   146,
2006 <     419,   420,   364,   421,   365,   147,   148,   366,   149,   150,
2007 <     151,   152,   153,   422,   423,   424,   425,   275,   376,   276,
2008 <     277,   278,   279,   154,  1175,   367,   426,   427,   536,  1299,
2009 <     428,   155,   156,   157,   429,   158,   280,   430,   159,   160,
2010 <     431,   432,   161,   433,   368,   434,   537,   435,   369,   436,
2011 <     480,  1176,   437,   162,  1071,  1072,  1073,  1074,  1075,   438,
2012 <     439,   441,   281,   605,   377,   443,   444,   370,   445,   371,
2013 <    1177,   446,   657,   481,   282,   447,  1178,   448,   163,   449,
2014 <     450,   372,   164,   451,   452,    79,   165,   166,   167,   168,
2015 <     169,   453,   482,  1179,   170,   171,   483,    80,   454,   455,
2016 <     456,   373,   457,   458,   172,   459,   460,   461,   283,   284,
2017 <     606,   462,    81,    82,   520,   525,   526,  1180,    83,   557,
2018 <      84,  1227,   558,   559,  1181,   560,   561,   562,   563,   567,
2019 <     568,   374,   569,   570,   173,   174,   571,   175,  1182,   572,
2020 <     573,   574,   575,   176,   576,  1241,   577,   578,   177,   579,
2021 <     580,   581,   600,   178,   607,   609,  1183,   610,  1184,  1185,
2022 <     375,   611,    85,    86,   612,   615,   616,   617,   618,    87,
2023 <      88,   619,   621,   622,   484,   623,   624,   626,   625,   627,
2024 <     643,   628,   663,   485,   486,   629,   630,   631,   632,   376,
2025 <      89,    90,   633,   634,   635,   636,   637,   638,  1228,   639,
2026 <     640,   644,   645,   646,   647,    91,    92,     2,     3,   649,
2027 <     650,  1186,     4,   651,   652,   653,    93,   654,   487,   655,
2028 <     656,  1187,  1242,   659,   660,    94,   665,   664,     5,  1229,
2029 <    1188,     6,     7,   666,  1189,   377,  1190,     8,   670,  1230,
2030 <     673,   674,   675,   676,   677,  1191,  1231,   679,   678,   680,
2031 <     335,   681,     9,  1243,  1275,  1192,    10,    11,  1232,    12,
2032 <    1233,  1234,   682,  1244,   915,    13,   683,   684,   687,   686,
2033 <    1245,   336,   337,  1235,   688,   338,   488,   689,   691,    14,
2034 <     692,   693,  1246,  1236,  1247,  1248,   694,   695,   696,    15,
2035 <      16,   697,   698,   699,   700,   703,   705,  1249,   938,   706,
2036 <     707,   712,   713,   716,   718,   720,    17,  1250,   721,   724,
2037 <     722,   723,   756,    95,    96,    97,   759,   726,   727,   729,
2038 <     730,   733,    18,   734,   779,   735,  1198,   737,   760,   738,
2039 <     780,   739,   740,   741,   749,   757,   339,   340,   341,   744,
2040 <     746,   342,   751,   752,   753,   761,   762,   763,   781,   343,
2041 <     764,   766,   767,   768,   770,   773,   782,   783,    19,   784,
2042 <     774,   344,   345,   787,   788,   775,   776,    20,    21,   786,
2043 <     789,    22,    23,   790,   791,   792,   793,   346,   347,   794,
2044 <     805,   803,   804,   806,   807,   808,   916,   917,   918,   919,
2045 <     920,   810,   809,   921,   922,   820,   812,   923,   924,   925,
2046 <     815,   816,   926,   821,   927,   928,   929,   348,   930,   931,
2047 <     932,   850,   822,   933,   851,   823,   824,   853,   854,   934,
2048 <     939,   940,   941,   942,   943,    24,   855,   944,   945,   856,
2049 <    1136,   946,   947,   948,   857,   825,   949,   826,   950,   951,
2050 <     952,   827,   953,   954,   955,   828,   829,   956,  1199,  1200,
2051 <    1201,  1202,  1203,   957,  1137,  1204,  1205,   837,   838,  1206,
2052 <    1207,  1208,   839,  1138,  1209,   840,  1210,  1211,  1212,  1139,
2053 <    1213,  1214,  1215,   858,   841,  1216,   842,   843,   859,   844,
2054 <     864,  1217,   845,   867,   869,  1140,   868,   846,   847,   870,
2055 <     871,   872,   873,   874,   998,   848,   849,   863,   875,   878,
2056 <     876,   877,   879,   880,   881,   883,   884,   882,   886,   989,
2057 <     887,  1141,   885,   888,   889,   890,   891,   892,   893,  1142,
2058 <     894,   895,   896,   897,   898,   899,   900,   901,   902,   903,
2059 <     904,   905,   906,   907,   908,   909,   910,   911,   912,   913,
2060 <     914,   937,   991,   960,   992,   994,   961,   962,   997,   995,
2061 <     963,   999,   964,   965,   966,   967,   968,  1000,   969,   970,
2062 <    1001,   971,  1143,   972,   973,   974,   980,   981,   982,   983,
2063 <     984,   985,   986,  1003,  1005,  1008,   987,   993,   990,   996,
2064 <    1144,  1002,  1004,  1006,  1009,  1007,  1010,  1013,  1014,  1024,
2065 <    1026,  1025,  1027,  1029,  1030,  1028,  1031,  1032,  1033,  1035,
2066 <    1036,  1037,  1063,  1034,  1065,  1038,  1039,  1040,  1067,  1269,
2067 <    1112,  1153,  1272,  1224,   314,  1172,  1225,  1041,  1042,  1043,
2068 <    1044,  1045,  1046,  1047,   583,  1310,  1048,  1049,  1050,  1051,
2069 <    1052,  1053,  1058,  1059,  1060,  1061,  1062,   522,  1066,   772,
2070 <    1064,  1069,  1068,  1070,  1076,  1077,  1078,  1079,  1080,  1081,
2071 <    1082,  1305,  1304,  1083,   755,  1291,  1084,  1270,   743,  1085,
2072 <    1086,  1164,  1087,  1088,  1089,  1090,  1091,  1289,  1092,  1093,
2073 <     642,  1100,  1101,  1102,  1103,  1104,  1105,  1106,  1107,  1108,
2165 <    1109,  1110,  1111,   778,  1306,   814,  1126,  1127,  1132,  1133,
2166 <    1134,  1135,  1147,  1148,  1307,  1149,  1150,  1151,  1152,  1156,
2167 <    1285,  1162,  1163,  1290,   402,   748,  1286,  1167,   464,  1165,
2168 <    1258,  1257,  1287,   334,   819,   658,  1168,  1288,     0,     0,
2169 <    1173,     0,  1170,  1174,  1195,  1196,  1197,  1220,  1221,  1222,
2170 <    1223,  1226,  1239,  1240,  1271,     0,  1276,  1292,  1273,  1302,
2171 <     662,  1303,     0,   528,     0,     0,     0,     0,     0,     0,
2172 <     732,   669,     0,     0,     0,     0,     0,     0,     0,     0,
2173 <       0,     0,   565,     0,     0,     0,     0,     0,     0,     0,
2174 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1960 >     802,   803,   571,   572,    67,    45,    46,  1025,    47,   381,
1961 >     579,   801,   509,   110,   371,  1071,   227,   236,   980,   286,
1962 >     460,   286,   981,   110,    48,   510,    52,    68,   997,   998,
1963 >     999,  1000,  1001,    54,    69,   982,  1044,   116,   291,   983,
1964 >    1045,  1046,   117,   118,   220,  1047,  1171,    58,   119,    59,
1965 >    1172,   220,   371,   237,  1173,  1177,   120,   480,  1174,  1178,
1966 >     544,   460,   121,   509,   122,   123,   124,   238,   239,   240,
1967 >     241,   125,    62,   111,   372,   251,   510,   126,   127,    63,
1968 >     128,   129,   130,   111,    66,   242,   131,   942,  1013,  1014,
1969 >    1015,   132,    70,   627,   628,   133,   134,   382,   252,   135,
1970 >     227,   635,   228,   637,   511,   107,  1188,   287,   136,   287,
1971 >     644,   553,   372,   647,   108,   137,   138,   469,   139,   140,
1972 >     141,   142,   143,   109,   658,   659,   115,   383,   229,   441,
1973 >     512,   253,   373,   144,   670,   671,   217,   673,   461,   145,
1974 >     146,   147,   218,   148,   219,   442,   149,   150,   545,  1072,
1975 >     151,   234,   470,   313,  1073,   511,   235,  1179,   384,   292,
1976 >     443,  1180,   284,   254,   444,   255,   256,   314,   315,   462,
1977 >     373,   316,   471,   664,   665,   943,  1181,   472,   801,   461,
1978 >    1182,   512,   285,   152,   490,   293,   228,   153,   942,  1026,
1979 >     154,   155,   156,   157,   158,   294,    76,   159,   160,   554,
1980 >     491,   257,   297,   258,   259,   260,   261,  1191,   298,   546,
1981 >     462,  1192,   229,   666,   667,   492,    77,    78,   295,   493,
1982 >     262,   544,    79,   624,   463,   729,   722,   379,   317,   318,
1983 >     319,   524,   473,   320,   692,   561,   944,   161,   162,   163,
1984 >     445,   321,   164,   299,   263,   739,   740,   165,   446,   447,
1985 >     221,   439,   322,   323,   264,   300,  -107,   221,   482,   381,
1986 >     555,    80,    81,  -107,   547,   463,   617,   324,    82,    83,
1987 >      84,   342,   494,   343,   757,   344,   943,  1193,   553,   484,
1988 >     448,  1194,   265,   266,   301,   469,   302,   345,   792,   542,
1989 >      85,    86,   303,    67,   325,   495,   800,   304,   945,   305,
1990 >     236,  1085,   346,    87,    88,   306,   347,   307,  1195,   545,
1991 >     308,   496,  1196,    89,   488,  1197,    68,   309,  1220,  1198,
1992 >     470,    90,  1221,    69,   310,   762,   348,   485,   349,   743,
1993 >     744,   699,   378,   449,   390,   326,   237,   944,   350,   391,
1994 >     471,   806,   807,   687,   441,   472,   392,   382,   393,   490,
1995 >     238,   239,   240,   241,  1168,  1169,  1170,   394,   395,   351,
1996 >     442,   396,   397,   398,   570,   491,   554,   597,   242,   563,
1997 >     546,   399,   400,   401,   497,   443,   402,   383,   403,   444,
1998 >     492,    70,   404,   405,   493,   406,   352,   407,   498,   251,
1999 >     116,   408,   409,   410,   411,   117,   118,   412,   716,   945,
2000 >     473,   119,   772,   773,   774,   775,   776,   413,   384,   120,
2001 >     311,   414,   252,   353,   415,   121,   416,   122,   123,   124,
2002 >     417,   418,   420,   422,   125,   547,   423,   555,   424,   425,
2003 >     126,   127,   426,   128,   129,   130,   427,   494,   428,   131,
2004 >     354,   429,   430,  1205,   132,   253,   431,   432,   133,   134,
2005 >     433,   434,   135,   435,   436,   445,   437,   438,   481,   486,
2006 >     495,   136,   487,   446,   447,  1206,   518,  1207,   137,   138,
2007 >     519,   139,   140,   141,   142,   143,   496,   254,   355,   255,
2008 >     256,   520,   526,   521,   522,   613,   144,   564,   523,  1189,
2009 >     527,   528,   145,   146,   147,   448,   148,   529,   530,   149,
2010 >     150,   565,   531,   151,   532,  1208,   342,   533,   343,   567,
2011 >     344,   534,   535,   536,   537,   257,   566,   258,   259,   260,
2012 >     261,  1089,   345,   538,   539,   540,   541,   560,  1142,   568,
2013 >     569,   570,   573,   574,   262,   575,   152,   346,   576,   497,
2014 >     153,   347,  1090,   154,   155,   156,   157,   158,   449,   577,
2015 >     159,   160,   578,   498,   580,   581,   582,  1091,   263,   583,
2016 >     599,   348,   619,   349,  1092,   620,   584,   585,   264,   586,
2017 >     313,   587,   588,   350,   589,  1209,  1210,   590,   591,   592,
2018 >     593,  1093,   594,   595,   314,   315,   596,   626,   316,   600,
2019 >     161,   162,   163,  1156,   351,   164,   265,   266,   601,  1143,
2020 >     165,   629,   602,   603,  1094,   630,   631,   632,  1211,   605,
2021 >     606,  1095,   633,   634,   607,     2,     3,   608,   609,     4,
2022 >     636,   352,   610,  1096,   611,   612,   615,   638,  1144,     5,
2023 >     616,   621,     6,     7,   622,   639,   640,  1145,     8,   641,
2024 >    1097,  1098,  1099,  1146,   642,   317,   318,   319,   353,     9,
2025 >     320,   857,   643,    10,    11,   645,   646,  1147,   321,  1148,
2026 >    1149,   648,   649,    12,  1157,   650,   651,   652,  1150,   322,
2027 >     323,   653,   654,   655,  1151,   354,   657,    13,   656,   880,
2028 >     660,   661,   662,   663,   324,    14,    15,   672,   677,   668,
2029 >    1100,   669,   674,  1158,   675,   678,   679,   676,   701,  1101,
2030 >     680,   682,  1159,    16,  1102,   683,  1050,  1113,  1160,   684,
2031 >    1103,   325,   703,   355,  1104,   685,  1105,    17,   686,   704,
2032 >     689,  1106,  1161,   691,  1162,  1163,  1051,  1107,   694,   705,
2033 >     702,   724,   696,  1164,   725,   697,  1052,   698,   726,  1165,
2034 >     706,   707,  1053,   727,   728,   732,   731,   733,   708,   734,
2035 >      18,   709,   326,   735,   736,   718,   730,   711,  1054,    19,
2036 >      20,   712,   713,    21,    22,   858,   859,   860,   861,   862,
2037 >     715,   863,   864,   749,   865,   866,   867,   719,   720,   868,
2038 >     737,   869,   870,  1055,   871,    76,   872,   738,   873,   874,
2039 >     721,  1056,   875,   881,   882,   883,   884,   885,   876,   886,
2040 >     887,   747,   888,   889,   890,    77,    78,   891,   748,   892,
2041 >     893,    79,   894,   750,   895,    23,   896,   897,   751,   752,
2042 >     898,  1114,  1115,  1116,  1117,  1118,   899,  1119,  1120,  1057,
2043 >    1121,  1122,  1123,   753,   754,  1124,   764,  1125,  1126,   756,
2044 >    1127,   759,  1128,   760,  1129,  1130,  1058,   765,  1131,   766,
2045 >      80,    81,   767,   768,  1132,   769,   770,    82,    83,    84,
2046 >     771,   779,   780,   781,   782,   783,   784,   785,   786,   787,
2047 >     790,   788,   789,   791,   793,   794,   795,   796,   797,    85,
2048 >      86,   798,   799,   804,   801,   805,   808,   809,   810,   811,
2049 >     812,   815,    87,    88,   819,   822,   813,   814,   816,   823,
2050 >     826,   827,    89,   817,   818,   820,   821,   824,   825,   828,
2051 >      90,   829,   830,   831,   832,   921,   833,   834,   835,   836,
2052 >     837,   838,   839,   840,   841,   842,   843,   844,   845,   846,
2053 >     847,   848,   849,   924,   850,   851,   852,   853,   854,   855,
2054 >     856,   879,   925,   902,   903,   904,   905,   906,   907,   908,
2055 >     909,   910,   911,   912,   913,   914,   915,   916,   917,   918,
2056 >     919,   920,   922,   926,   927,   923,   928,   929,   930,   931,
2057 >     932,   933,   934,   935,   936,   937,   940,   941,   951,   952,
2058 >     953,   954,   956,   955,   957,   958,   960,   959,   962,   963,
2059 >     964,   989,   991,  1140,   993,   296,  1222,   489,  1139,  1086,
2060 >    1041,  1217,   598,   717,  1216,  1067,  1183,   961,   965,   966,
2061 >     967,   968,  1203,   969,   970,   971,   972,   543,   973,   974,
2062 >     975,   976,   977,   978,   979,   984,   985,   986,   987,   988,
2063 >    1186,  1184,   992,   700,   990,   995,   994,   996,  1002,  1003,
2064 >    1004,  1005,  1006,  1007,  1008,  1009,  1010,  1011,  1012,  1018,
2065 >    1019,  1020,  1021,  1022,  1023,  1024,  1029,  1078,  1030,  1031,
2066 >     688,  1201,  1032,   723,  1033,  1218,  1034,   763,  1035,  1036,
2067 >    1219,  1199,  1037,  1038,  1039,  1040,  1048,  1202,  1049,   693,
2068 >    1061,   380,  1200,   440,  1062,  1175,  1176,   312,     0,     0,
2069 >       0,   758,     0,  1063,  1064,  1065,  1066,     0,  1070,  1076,
2070 >    1077,     0,  1081,     0,     0,  1079,  1082,  1084,  1187,  1087,
2071 >    1088,  1110,  1111,  1112,  1135,  1136,  1137,  1138,  1141,  1154,
2072 >    1155,     0,  1185,  1190,  1204,  1214,  1215,     0,   618,     0,
2073 >       0,     0,     0,     0,     0,   625,   483,     0,     0,     0,
2074         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2075 +       0,     0,     0,     0,     0,     0,     0,     0,   525,     0,
2076         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2077 <       0,     0,     0,     0,     0,     0,     0,   602
2077 >       0,     0,     0,     0,     0,     0,   614,     0,     0,     0,
2078 >     562
2079   };
2080  
2081 < #define yypact_value_is_default(yystate) \
2082 <  ((yystate) == (-560))
2081 > #define yypact_value_is_default(Yystate) \
2082 >  (!!((Yystate) == (-745)))
2083  
2084 < #define yytable_value_is_error(yytable_value) \
2084 > #define yytable_value_is_error(Yytable_value) \
2085    YYID (0)
2086  
2087   static const yytype_int16 yycheck[] =
2088   {
2089 <     456,   320,   321,     1,     1,     1,     4,     1,   327,     1,
2090 <       1,     1,     1,     1,    61,     1,     1,     1,     4,   110,
2091 <     243,     1,   243,     1,    11,   243,    22,    23,     1,     1,
2092 <      26,     1,    11,     1,     1,   241,   242,     1,    35,    24,
2093 <      31,    39,   241,     1,    42,   241,   245,     1,    21,   245,
2094 <      41,    48,   243,    39,   243,    47,    42,    24,    43,   241,
2095 <     243,     1,    47,   245,    61,    62,    63,    64,    14,    15,
2096 <      16,   176,   177,    31,    66,     1,    43,   176,   177,    71,
2097 <      47,    71,    71,    41,    81,    83,   149,   150,     1,   243,
2098 <       1,    87,    88,    89,   413,   414,    92,    83,     1,     1,
2099 <     149,   150,   100,    71,   100,    31,   100,   243,   427,   100,
2100 <     243,     1,   100,   432,   100,   100,   112,   113,     8,     9,
2101 <     100,   212,   197,   198,   443,   444,    98,   446,   243,    19,
2102 <     100,   104,   128,   129,   243,   454,   455,    27,   130,   458,
2103 <     125,    67,   100,    33,   133,   133,   100,    37,    38,   133,
2104 <      40,    10,   241,    12,   126,   133,    46,   204,   125,   144,
2105 <     133,   208,   158,   243,   110,    55,    56,   134,   135,    71,
2106 <      60,   243,   166,   243,   100,    65,   102,   103,   166,    69,
2107 <      70,     1,   166,    73,   640,    98,    76,    77,   166,   100,
2108 <     243,   178,   243,    13,    84,     1,   166,   100,     1,   178,
2109 <      90,    91,   169,    93,    94,    95,    96,    97,    28,    29,
2110 <     243,   241,     1,   126,    34,   245,    36,   143,   108,   145,
2111 <     146,   147,   148,   243,   209,   243,   116,   117,   118,   227,
2112 <     120,   133,    21,   123,   124,   241,   162,   127,   243,   245,
2113 <     243,   227,   227,   227,   563,   242,   242,   240,   138,   227,
2114 <     242,   242,   242,   242,   242,   166,   242,   242,    78,    79,
2115 <     227,   244,   188,   166,   242,    85,    86,     1,   232,   242,
2116 <     242,   131,   242,   163,   200,   242,   240,   167,   242,   244,
2117 <       1,   171,   172,   173,   174,   175,   106,   107,   242,   179,
2118 <     180,     1,   232,     3,   100,   244,     6,   100,   241,   189,
2119 <     240,   121,   122,    24,   131,   244,   241,   244,   234,   235,
2120 <     245,   630,   132,    51,    24,   104,   242,   244,   241,   638,
2121 <     639,   141,    43,   244,   227,     1,    47,     1,   239,   219,
2122 <     220,   242,   222,    43,    72,     1,    74,    47,   228,   242,
2123 <     244,   241,   241,   233,   133,   245,   245,   241,   238,   208,
2124 <     241,   245,   242,   241,   245,   244,    66,   245,    68,    35,
2125 <     166,   244,   221,   166,   241,    31,   100,   241,   245,   244,
2126 <      80,   245,    48,    47,   241,   244,     1,   115,   245,   100,
2127 <     244,   244,   110,     8,     9,    61,    62,    63,    64,   241,
2128 <     100,   241,    66,   245,    19,   245,   244,    71,   244,   133,
2129 <     244,    67,    27,   244,   125,    81,   244,   726,    33,   229,
2130 <     230,   231,    37,    38,   244,    40,   975,   976,   977,   244,
2131 <     130,    46,   242,   144,   227,   153,   154,   155,   156,   157,
2132 <      55,    56,   166,   239,   100,    60,   102,   103,   110,   244,
2133 <      65,   241,   244,   244,    69,    70,   244,   244,    73,   159,
2134 <     244,    76,    77,   191,   192,   243,   130,   244,   244,    84,
2135 <     244,   244,     1,   244,     3,    90,    91,     6,    93,    94,
2136 <      95,    96,    97,   244,   244,   244,   244,   143,   188,   145,
2137 <     146,   147,   148,   108,     5,    24,   244,   244,   209,   227,
2138 <     244,   116,   117,   118,   244,   120,   162,   244,   123,   124,
2139 <     244,   244,   127,   244,    43,   244,   227,   244,    47,   244,
2140 <       1,    32,   244,   138,   830,   831,   832,   833,   834,   244,
2141 <     244,   244,   188,   131,   234,   244,   244,    66,   244,    68,
2142 <      51,   244,   242,    24,   200,   244,    57,   244,   163,   244,
2143 <     244,    80,   167,   244,   244,     1,   171,   172,   173,   174,
2144 <     175,   244,    43,    74,   179,   180,    47,    13,   244,   244,
2145 <     244,   100,   244,   244,   189,   244,   244,   244,   234,   235,
2146 <     241,   244,    28,    29,   244,   244,   244,    98,    34,   244,
2147 <      36,    74,   244,   244,   105,   244,   244,   244,   244,   244,
2148 <     244,   130,   244,   244,   219,   220,   244,   222,   119,   244,
2149 <     244,   244,   244,   228,   244,    74,   244,   244,   233,   244,
2150 <     244,   244,   244,   238,   176,   110,   137,   176,   139,   140,
2151 <     159,   176,    78,    79,   110,   110,   110,   176,   176,    85,
2152 <      86,   110,   176,   176,   125,   176,   176,   241,   176,   241,
2153 <     241,   244,   131,   134,   135,   244,   244,   244,   244,   188,
2154 <     106,   107,   244,   244,   244,   244,   244,   244,   151,   244,
2155 <     244,   244,   244,   244,   244,   121,   122,     0,     1,   244,
2156 <     244,   192,     5,   244,   244,   244,   132,   244,   169,   244,
2157 <     244,   202,   151,   244,   244,   141,   244,   241,    21,   182,
2158 <     211,    24,    25,   244,   215,   234,   217,    30,   176,   192,
2159 <     110,   176,   176,   110,   131,   226,   199,   110,   176,   110,
2160 <       1,   110,    45,   182,  1170,   236,    49,    50,   211,    52,
2161 <     213,   214,   176,   192,    61,    58,   176,   176,   176,   131,
2162 <     199,    22,    23,   226,   110,    26,   227,   110,   110,    72,
2163 <     110,   131,   211,   236,   213,   214,   110,   110,   176,    82,
2164 <      83,   176,   244,   176,   244,   176,   176,   226,    61,   176,
2165 <     176,   176,   176,   110,   131,   176,    99,   236,   176,   241,
2166 <     176,   176,   176,   229,   230,   231,   131,   244,   244,   244,
2167 <     244,   241,   115,   244,   176,   244,    61,   244,   131,   244,
2168 <     176,   244,   244,   244,   241,   241,    87,    88,    89,   244,
2169 <     244,    92,   244,   244,   244,   241,   241,   244,   176,   100,
2170 <     244,   244,   244,   244,   244,   241,   131,   176,   151,   176,
2171 <     244,   112,   113,   131,   176,   244,   244,   160,   161,   241,
2172 <     131,   164,   165,   131,   131,   131,   131,   128,   129,   131,
2173 <     110,   131,   131,   131,   131,   241,   183,   184,   185,   186,
2174 <     187,   244,   241,   190,   191,   131,   244,   194,   195,   196,
2175 <     241,   244,   199,   241,   201,   202,   203,   158,   205,   206,
2176 <     207,   110,   241,   210,   110,   241,   241,   110,   110,   216,
2177 <     183,   184,   185,   186,   187,   218,   110,   190,   191,   110,
2178 <      20,   194,   195,   196,   131,   241,   199,   241,   201,   202,
2179 <     203,   241,   205,   206,   207,   241,   241,   210,   183,   184,
2180 <     185,   186,   187,   216,    44,   190,   191,   241,   241,   194,
2181 <     195,   196,   241,    53,   199,   241,   201,   202,   203,    59,
2182 <     205,   206,   207,   110,   241,   210,   241,   241,   110,   241,
2183 <     131,   216,   241,   131,   244,    75,   176,   241,   241,   131,
2184 <     131,   131,   131,   110,   110,   241,   241,   241,   131,   241,
2185 <     131,   131,   131,   131,   241,   131,   131,   241,   241,   176,
2186 <     241,   101,   244,   241,   241,   241,   241,   241,   241,   109,
2187 <     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2188 <     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2189 <     241,   241,   131,   241,   131,   131,   241,   241,   131,   176,
2190 <     241,   131,   241,   241,   241,   241,   241,   131,   241,   241,
2191 <     131,   241,   152,   241,   241,   241,   241,   241,   241,   241,
2192 <     241,   241,   241,   131,   131,   131,   244,   241,   244,   244,
2193 <     170,   241,   244,   241,   131,   244,   110,   241,   241,   241,
2194 <     131,   241,   176,   131,   131,   244,   131,   244,   131,   131,
2195 <     131,   131,   131,   241,   131,   241,   241,   241,   131,   110,
2196 <     136,   136,   131,  1055,    74,  1019,  1057,   241,   241,   241,
2197 <     241,   241,   241,   241,   285,  1309,   241,   241,   241,   241,
2198 <     241,   241,   241,   241,   241,   241,   241,   238,   241,   538,
2199 <     244,   241,   244,   241,   241,   241,   241,   241,   241,   241,
2200 <     241,  1280,  1278,   241,   514,  1268,   241,  1165,   489,   241,
2201 <     241,   181,   241,   241,   241,   241,   241,  1264,   241,   241,
2202 <     349,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2302 <     241,   241,   241,   552,  1282,   588,   241,   241,   241,   241,
2303 <     241,   241,   241,   241,  1284,   241,   241,   241,   241,   241,
2304 <    1254,   241,   241,  1266,   123,   504,  1256,   241,   179,   245,
2305 <    1118,  1116,  1260,    98,   596,   378,   244,  1262,    -1,    -1,
2306 <     241,    -1,   244,   241,   241,   241,   241,   241,   241,   241,
2307 <     241,   241,   241,   241,   241,    -1,   241,   241,   244,   241,
2308 <     396,   241,    -1,   246,    -1,    -1,    -1,    -1,    -1,    -1,
2309 <     472,   408,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2310 <      -1,    -1,   260,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2089 >     595,   596,   300,   301,     1,   214,   215,     8,   216,     1,
2090 >     308,    99,     1,     1,     1,    51,     1,     1,   214,     1,
2091 >       1,     1,   218,     1,   216,    14,   216,    24,   772,   773,
2092 >     774,   775,   776,   216,    31,   214,   214,     1,   214,   218,
2093 >     218,   214,     6,     7,     1,   218,   214,   216,    12,   216,
2094 >     218,     1,     1,    37,   214,   214,    20,   214,   218,   218,
2095 >       1,     1,    26,     1,    28,    29,    30,    51,    52,    53,
2096 >      54,    35,   216,    61,    61,     1,    14,    41,    42,   216,
2097 >      44,    45,    46,    61,   216,    69,    50,     1,     9,    10,
2098 >      11,    55,    89,   391,   392,    59,    60,    89,    24,    63,
2099 >       1,   399,    87,   401,    93,   216,   194,    89,    72,    89,
2100 >     408,     1,    61,   411,   216,    79,    80,     1,    82,    83,
2101 >      84,    85,    86,   216,   422,   423,   216,   119,   113,     1,
2102 >     119,    57,   119,    97,   432,   433,   216,   435,   119,   103,
2103 >     104,   105,   216,   107,   216,    17,   110,   111,    89,   185,
2104 >     114,   216,    36,     1,   190,    93,   216,   214,   150,   217,
2105 >      32,   218,   216,    89,    36,    91,    92,    15,    16,   150,
2106 >     119,    19,    56,   159,   160,    89,   214,    61,    99,   119,
2107 >     218,   119,   216,   147,     1,   217,    87,   151,     1,   190,
2108 >     154,   155,   156,   157,   158,   217,     1,   161,   162,    89,
2109 >      17,   127,   217,   129,   130,   131,   132,   214,   217,   150,
2110 >     150,   218,   113,   159,   160,    32,    21,    22,   215,    36,
2111 >     146,     1,    27,   215,   205,   523,   215,   215,    76,    77,
2112 >      78,   215,   116,    81,   215,   215,   150,   201,   202,   203,
2113 >     112,    89,   206,   217,   170,   133,   134,   211,   120,   121,
2114 >     207,   215,   100,   101,   180,   217,   213,   207,   215,     1,
2115 >     150,    66,    67,   213,   205,   205,   215,   115,    73,    74,
2116 >      75,     1,    89,     3,   215,     5,    89,   214,     1,   213,
2117 >     152,   218,   208,   209,   217,     1,   217,    17,   586,   215,
2118 >      95,    96,   217,     1,   142,   112,   594,   217,   212,   217,
2119 >       1,   215,    32,   108,   109,   217,    36,   217,   214,    89,
2120 >     217,   128,   218,   118,   215,   214,    24,   217,   214,   218,
2121 >      36,   126,   218,    31,   217,   215,    56,   214,    58,   133,
2122 >     134,   215,   217,   205,   217,   183,    37,   150,    68,   217,
2123 >      56,   177,   178,   215,     1,    61,   217,    89,   217,     1,
2124 >      51,    52,    53,    54,  1013,  1014,  1015,   217,   217,    89,
2125 >      17,   217,   217,   217,    99,    17,    89,   215,    69,   117,
2126 >     150,   217,   217,   217,   191,    32,   217,   119,   217,    36,
2127 >      32,    89,   217,   217,    36,   217,   116,   217,   205,     1,
2128 >       1,   217,   217,   217,   217,     6,     7,   217,   215,   212,
2129 >     116,    12,   137,   138,   139,   140,   141,   217,   150,    20,
2130 >     215,   217,    24,   143,   217,    26,   217,    28,    29,    30,
2131 >     217,   217,   217,   217,    35,   205,   217,   150,   217,   217,
2132 >      41,    42,   217,    44,    45,    46,   217,    89,   217,    50,
2133 >     170,   217,   217,    40,    55,    57,   217,   217,    59,    60,
2134 >     217,   217,    63,   217,   217,   112,   217,   217,   217,   217,
2135 >     112,    72,   217,   120,   121,    62,   217,    64,    79,    80,
2136 >     217,    82,    83,    84,    85,    86,   128,    89,   208,    91,
2137 >      92,   217,   214,   217,   217,   215,    97,   117,   217,  1084,
2138 >     217,   217,   103,   104,   105,   152,   107,   217,   217,   110,
2139 >     111,   117,   217,   114,   217,   102,     1,   217,     3,    99,
2140 >       5,   217,   217,   217,   217,   127,   214,   129,   130,   131,
2141 >     132,     4,    17,   217,   217,   217,   217,   217,    64,    99,
2142 >     159,    99,    99,    99,   146,    99,   147,    32,   159,   191,
2143 >     151,    36,    25,   154,   155,   156,   157,   158,   205,   159,
2144 >     161,   162,    99,   205,   159,   159,   214,    40,   170,   214,
2145 >     214,    56,   117,    58,    47,   214,   217,   217,   180,   217,
2146 >       1,   217,   217,    68,   217,   172,   173,   217,   217,   217,
2147 >     217,    64,   217,   217,    15,    16,   217,   159,    19,   217,
2148 >     201,   202,   203,    64,    89,   206,   208,   209,   217,   135,
2149 >     211,    99,   217,   217,    87,   159,   159,    99,   205,   217,
2150 >     217,    94,   117,   159,   217,     0,     1,   217,   217,     4,
2151 >     159,   116,   217,   106,   217,   217,   217,    99,   164,    14,
2152 >     217,   217,    17,    18,   217,    99,    99,   173,    23,   159,
2153 >     123,   124,   125,   179,   159,    76,    77,    78,   143,    34,
2154 >      81,    51,   159,    38,    39,    99,    99,   193,    89,   195,
2155 >     196,    99,    99,    48,   135,   117,    99,    99,   204,   100,
2156 >     101,   159,   159,   217,   210,   170,   217,    62,   159,    51,
2157 >     159,   159,   159,   159,   115,    70,    71,   117,   214,   159,
2158 >     173,   159,   159,   164,   159,   214,   217,   159,   159,   182,
2159 >     217,   217,   173,    88,   187,   217,    13,    51,   179,   217,
2160 >     193,   142,   216,   208,   197,   217,   199,   102,   217,   117,
2161 >     217,   204,   193,   217,   195,   196,    33,   210,   214,   117,
2162 >     214,   159,   217,   204,   159,   217,    43,   217,   117,   210,
2163 >     214,   214,    49,   159,   159,   159,   117,   117,   217,   117,
2164 >     135,   217,   183,   117,   117,   214,   214,   217,    65,   144,
2165 >     145,   217,   217,   148,   149,   165,   166,   167,   168,   169,
2166 >     217,   171,   172,    99,   174,   175,   176,   217,   217,   179,
2167 >     117,   181,   182,    90,   184,     1,   186,   117,   188,   189,
2168 >     217,    98,   192,   165,   166,   167,   168,   169,   198,   171,
2169 >     172,   117,   174,   175,   176,    21,    22,   179,   117,   181,
2170 >     182,    27,   184,   117,   186,   200,   188,   189,   117,   214,
2171 >     192,   165,   166,   167,   168,   169,   198,   171,   172,   136,
2172 >     174,   175,   176,   214,   217,   179,   117,   181,   182,   217,
2173 >     184,   214,   186,   217,   188,   189,   153,   214,   192,   214,
2174 >      66,    67,   214,   214,   198,   214,   214,    73,    74,    75,
2175 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2176 >      99,   214,   214,    99,    99,    99,    99,    99,   117,    95,
2177 >      96,    99,    99,   214,    99,   117,   117,   159,   217,   117,
2178 >     117,    99,   108,   109,   214,   214,   117,   117,   117,   214,
2179 >     217,   214,   118,   117,   117,   117,   117,   117,   117,   214,
2180 >     126,   214,   214,   214,   214,   117,   214,   214,   214,   214,
2181 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2182 >     214,   214,   214,   117,   214,   214,   214,   214,   214,   214,
2183 >     214,   214,    99,   214,   214,   214,   214,   214,   214,   214,
2184 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2185 >     214,   214,   159,   117,   117,   217,   117,   214,   117,   217,
2186 >     117,   214,   217,   117,   117,    99,   214,   214,   214,   214,
2187 >     117,   159,   117,   217,   117,   117,   117,   217,   117,   117,
2188 >     117,   117,   117,   983,   117,    71,  1221,   230,   981,   946,
2189 >     122,  1194,   327,   499,  1192,   122,    99,   214,   214,   214,
2190 >     214,   214,  1182,   214,   214,   214,   214,   267,   214,   214,
2191 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2192 >     117,  1079,   214,   475,   217,   214,   217,   214,   214,   214,
2193 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2194 >     214,   214,   214,   214,   214,   214,   214,   163,   214,   214,
2195 >     450,  1178,   214,   513,   214,  1196,   214,   556,   214,   214,
2196 >    1198,  1172,   214,   214,   214,   214,   214,  1180,   214,   465,
2197 >     214,   112,  1174,   166,   214,  1045,  1047,    91,    -1,    -1,
2198 >      -1,   548,    -1,   214,   214,   214,   214,    -1,   214,   214,
2199 >     214,    -1,   214,    -1,    -1,   218,   217,   217,   217,   214,
2200 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2201 >     214,    -1,   214,   214,   214,   214,   214,    -1,   374,    -1,
2202 >      -1,    -1,    -1,    -1,    -1,   386,   222,    -1,    -1,    -1,
2203        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2204 +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   243,    -1,
2205        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2206 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2207 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,   306
2206 >      -1,    -1,    -1,    -1,    -1,    -1,   356,    -1,    -1,    -1,
2207 >     288
2208   };
2209  
2210   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2211     symbol of state STATE-NUM.  */
2212   static const yytype_uint16 yystos[] =
2213   {
2214 <       0,   247,     0,     1,     5,    21,    24,    25,    30,    45,
2215 <      49,    50,    52,    58,    72,    82,    83,    99,   115,   151,
2216 <     160,   161,   164,   165,   218,   248,   253,   258,   280,   286,
2217 <     300,   318,   335,   349,   364,   371,   375,   385,   394,   414,
2218 <     424,   430,   434,   444,   504,   520,   541,   241,   242,   243,
2219 <     243,   319,   395,   425,   243,   435,   243,   505,   350,   415,
2220 <     336,   243,   243,   301,   365,   243,   243,   376,   386,   243,
2221 <       1,    31,    41,   100,   281,   282,   283,   284,   285,     1,
2222 <      13,    28,    29,    34,    36,    78,    79,    85,    86,   106,
2223 <     107,   121,   122,   132,   141,   229,   230,   231,   521,   522,
2224 <     523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
2225 <     533,   534,   535,   536,   537,   538,   539,   540,   243,   243,
2226 <     243,     1,    71,   431,   432,   433,   243,     1,     8,     9,
2227 <      19,    27,    33,    37,    38,    40,    46,    55,    56,    60,
2228 <      65,    69,    70,    73,    76,    77,    84,    90,    91,    93,
2229 <      94,    95,    96,    97,   108,   116,   117,   118,   120,   123,
2230 <     124,   127,   138,   163,   167,   171,   172,   173,   174,   175,
2231 <     179,   180,   189,   219,   220,   222,   228,   233,   238,   445,
2232 <     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
2233 <     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
2234 <     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
2235 <     476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
2236 <     486,   487,   488,   489,   490,   491,   492,   496,   500,   501,
2237 <     502,   503,   243,   243,   243,   243,     1,   232,   287,   288,
2238 <     289,   290,   291,     1,    98,   126,   254,   255,   256,   257,
2239 <     243,   243,     1,    35,    48,    61,    62,    63,    64,    81,
2240 <     542,   543,   544,   545,   546,   547,   548,   549,   550,     1,
2241 <      31,    67,   100,   102,   103,   143,   145,   146,   147,   148,
2242 <     162,   188,   200,   234,   235,   259,   260,   261,   262,   267,
2243 <     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
2244 <     278,   279,   243,   243,     1,   100,   372,   373,   374,   241,
2245 <     244,   244,   244,   242,   282,   244,   244,   244,   244,   244,
2246 <     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2247 <     244,   244,   244,   242,   522,     1,    22,    23,    26,    87,
2248 <      88,    89,    92,   100,   112,   113,   128,   129,   158,   320,
2249 <     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
2250 <     331,   332,   333,   334,     1,     3,     6,    24,    43,    47,
2251 <      66,    68,    80,   100,   130,   159,   188,   234,   396,   397,
2252 <     398,   399,   400,   401,   402,   403,   404,   405,   409,   410,
2253 <     411,   412,   413,     1,    71,   133,   426,   427,   428,   429,
2254 <     244,   242,   432,     1,   100,   133,   166,   436,   440,   441,
2255 <     442,   443,   244,   244,   244,   244,   244,   244,   244,   244,
2256 <     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2257 <     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2258 <     497,   244,   493,   244,   244,   244,   244,   244,   244,   244,
2259 <     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2260 <     244,   244,   244,   242,   446,     1,     4,    39,    42,    83,
2261 <     100,   227,   506,   507,   508,   509,   510,   514,   515,   516,
2262 <       1,    24,    43,    47,   125,   134,   135,   169,   227,   351,
2263 <     352,   353,   354,   355,   356,   357,   361,   362,   363,     1,
2264 <     133,   166,   227,   416,   420,   421,   422,   423,     1,    47,
2265 <      66,    71,   130,   337,   341,   342,   343,   347,   348,   241,
2266 <     244,   242,   288,   240,   241,   244,   244,   242,   255,     1,
2267 <      24,    43,    47,   100,   125,   144,   209,   227,   302,   303,
2268 <     304,   305,   306,   307,   308,   309,   310,   314,     1,    21,
2269 <     104,   133,   366,   367,   368,   369,   370,   244,   244,   244,
2270 <     244,   244,   244,   244,   242,   543,   241,   244,   244,   244,
2271 <     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2272 <     244,   244,   242,   260,     1,   100,   166,   227,   377,   378,
2273 <     379,   380,   381,     1,   100,   166,   387,   388,   389,   390,
2274 <     244,   242,   373,   131,   131,   131,   241,   176,   110,   110,
2275 <     176,   176,   110,   250,   250,   110,   110,   176,   176,   110,
2276 <     250,   176,   176,   176,   176,   176,   241,   241,   244,   244,
2277 <     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2278 <     244,   242,   321,   241,   244,   244,   244,   244,   406,   244,
2279 <     244,   244,   244,   244,   244,   244,   244,   242,   397,   244,
2280 <     244,   242,   427,   131,   241,   244,   244,   437,   242,   441,
2281 <     176,   250,   250,   110,   176,   176,   110,   131,   176,   110,
2282 <     110,   110,   176,   176,   176,   250,   131,   176,   110,   110,
2283 <     250,   110,   110,   131,   110,   110,   176,   176,   244,   176,
2284 <     244,   250,   250,   176,   250,   176,   176,   176,   176,   177,
2285 <     176,   177,   176,   176,   250,   250,   110,   252,   131,   250,
2286 <     176,   176,   176,   176,   241,   517,   244,   244,   511,   244,
2287 <     244,   242,   507,   241,   244,   244,   358,   244,   244,   244,
2288 <     244,   244,   242,   352,   244,   417,   244,   242,   421,   241,
2289 <     338,   244,   244,   244,   242,   342,   176,   241,   243,   131,
2290 <     131,   241,   241,   244,   244,   315,   244,   244,   244,   311,
2291 <     244,   242,   303,   241,   244,   244,   244,   242,   367,   176,
2292 <     176,   176,   131,   176,   176,   250,   241,   131,   176,   131,
2293 <     131,   131,   131,   131,   131,   149,   150,   263,   264,   149,
2294 <     150,   265,   266,   131,   131,   110,   131,   131,   241,   241,
2295 <     244,   382,   244,   242,   378,   241,   244,   391,   242,   388,
2296 <     131,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2297 <     153,   154,   155,   156,   157,   249,   250,   241,   241,   241,
2298 <     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2299 <     110,   110,   250,   110,   110,   110,   110,   131,   110,   110,
2300 <     250,   250,   252,   241,   131,   197,   198,   131,   176,   244,
2301 <     131,   131,   131,   131,   110,   131,   131,   131,   241,   131,
2302 <     131,   241,   241,   131,   131,   244,   241,   241,   241,   241,
2303 <     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2304 <     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2305 <     241,   241,   241,   241,   241,    61,   183,   184,   185,   186,
2306 <     187,   190,   191,   194,   195,   196,   199,   201,   202,   203,
2307 <     205,   206,   207,   210,   216,   498,   499,   241,    61,   183,
2308 <     184,   185,   186,   187,   190,   191,   194,   195,   196,   199,
2309 <     201,   202,   203,   205,   206,   207,   210,   216,   494,   495,
2310 <     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2311 <     241,   241,   241,   241,   241,    14,    15,    16,   251,   252,
2312 <     241,   241,   241,   241,   241,   241,   241,   244,   250,   176,
2313 <     244,   131,   131,   241,   131,   176,   244,   131,   110,   131,
2314 <     131,   131,   241,   131,   244,   131,   241,   244,   131,   131,
2315 <     110,   345,   346,   241,   241,     1,   100,   166,   239,   292,
2316 <     293,   294,   295,   296,   241,   241,   131,   176,   244,   131,
2317 <     131,   131,   244,   131,   241,   131,   131,   131,   241,   241,
2318 <     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2319 <     241,   241,   241,   241,   241,   245,   241,   245,   241,   241,
2320 <     241,   241,   241,   131,   244,   131,   241,   131,   244,   241,
2321 <     241,   249,   249,   249,   249,   249,   241,   241,   241,   241,
2322 <     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2323 <     241,   241,   241,   241,    10,    12,   208,   221,   407,   408,
2324 <     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2325 <     241,   241,   136,   438,   439,   241,   245,   241,   245,   251,
2326 <     251,   251,    11,   178,   518,   519,   241,   241,    11,   178,
2327 <     512,   513,   241,   241,   241,   241,    20,    44,    53,    59,
2328 <      75,   101,   109,   152,   170,   359,   360,   241,   241,   241,
2329 <     241,   241,   241,   136,   418,   419,   241,    61,   204,   208,
2330 <     339,   340,   241,   241,   181,   245,   344,   241,   244,   297,
2331 <     244,   242,   293,   241,   241,     5,    32,    51,    57,    74,
2332 <      98,   105,   119,   137,   139,   140,   192,   202,   211,   215,
2333 <     217,   226,   236,   316,   317,   241,   241,   241,    61,   183,
2334 <     184,   185,   186,   187,   190,   191,   194,   195,   196,   199,
2335 <     201,   202,   203,   205,   206,   207,   210,   216,   312,   313,
2336 <     241,   241,   241,   241,   264,   266,   241,    74,   151,   182,
2444 <     192,   199,   211,   213,   214,   226,   236,   383,   384,   241,
2445 <     241,    74,   151,   182,   192,   199,   211,   213,   214,   226,
2446 <     236,   392,   393,   241,   245,   241,   245,   499,   495,   241,
2447 <     245,   241,   245,   241,   245,   241,   245,   241,   245,   110,
2448 <     346,   241,   131,   244,   212,   252,   241,   241,   245,   241,
2449 <     245,   241,   245,   241,   245,   408,   439,   519,   513,   360,
2450 <     419,   340,   241,    51,    72,    74,   115,   191,   192,   227,
2451 <     298,   299,   241,   241,   317,   313,   384,   393,   241,   245,
2452 <     299
2214 >       0,   220,     0,     1,     4,    14,    17,    18,    23,    34,
2215 >      38,    39,    48,    62,    70,    71,    88,   102,   135,   144,
2216 >     145,   148,   149,   200,   221,   226,   231,   253,   259,   273,
2217 >     291,   308,   322,   337,   344,   348,   358,   367,   387,   397,
2218 >     403,   407,   417,   475,   492,   214,   215,   216,   216,   292,
2219 >     368,   398,   216,   408,   216,   323,   388,   309,   216,   216,
2220 >     274,   338,   216,   216,   349,   359,   216,     1,    24,    31,
2221 >      89,   254,   255,   256,   257,   258,     1,    21,    22,    27,
2222 >      66,    67,    73,    74,    75,    95,    96,   108,   109,   118,
2223 >     126,   476,   477,   478,   479,   480,   481,   482,   483,   484,
2224 >     485,   486,   487,   488,   489,   490,   491,   216,   216,   216,
2225 >       1,    61,   404,   405,   406,   216,     1,     6,     7,    12,
2226 >      20,    26,    28,    29,    30,    35,    41,    42,    44,    45,
2227 >      46,    50,    55,    59,    60,    63,    72,    79,    80,    82,
2228 >      83,    84,    85,    86,    97,   103,   104,   105,   107,   110,
2229 >     111,   114,   147,   151,   154,   155,   156,   157,   158,   161,
2230 >     162,   201,   202,   203,   206,   211,   418,   419,   420,   421,
2231 >     422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
2232 >     432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
2233 >     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
2234 >     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
2235 >     462,   463,   464,   468,   472,   473,   474,   216,   216,   216,
2236 >       1,   207,   260,   261,   262,   263,   264,     1,    87,   113,
2237 >     227,   228,   229,   230,   216,   216,     1,    37,    51,    52,
2238 >      53,    54,    69,   493,   494,   495,   496,   497,   498,   499,
2239 >     500,     1,    24,    57,    89,    91,    92,   127,   129,   130,
2240 >     131,   132,   146,   170,   180,   208,   209,   232,   233,   234,
2241 >     235,   240,   241,   242,   243,   244,   245,   246,   247,   248,
2242 >     249,   250,   251,   252,   216,   216,     1,    89,   345,   346,
2243 >     347,   214,   217,   217,   217,   215,   255,   217,   217,   217,
2244 >     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2245 >     217,   215,   477,     1,    15,    16,    19,    76,    77,    78,
2246 >      81,    89,   100,   101,   115,   142,   183,   293,   294,   295,
2247 >     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
2248 >     306,   307,     1,     3,     5,    17,    32,    36,    56,    58,
2249 >      68,    89,   116,   143,   170,   208,   369,   370,   371,   372,
2250 >     373,   374,   375,   376,   377,   378,   382,   383,   384,   385,
2251 >     386,     1,    61,   119,   399,   400,   401,   402,   217,   215,
2252 >     405,     1,    89,   119,   150,   409,   413,   414,   415,   416,
2253 >     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2254 >     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2255 >     217,   217,   217,   217,   217,   217,   217,   217,   217,   469,
2256 >     217,   465,   217,   217,   217,   217,   217,   217,   217,   217,
2257 >     217,   217,   217,   217,   217,   217,   217,   217,   217,   215,
2258 >     419,     1,    17,    32,    36,   112,   120,   121,   152,   205,
2259 >     324,   325,   326,   327,   328,   329,   330,   334,   335,   336,
2260 >       1,   119,   150,   205,   389,   393,   394,   395,   396,     1,
2261 >      36,    56,    61,   116,   310,   314,   315,   316,   320,   321,
2262 >     214,   217,   215,   261,   213,   214,   217,   217,   215,   228,
2263 >       1,    17,    32,    36,    89,   112,   128,   191,   205,   275,
2264 >     276,   277,   278,   279,   280,   281,   282,   283,   287,     1,
2265 >      14,    93,   119,   339,   340,   341,   342,   343,   217,   217,
2266 >     217,   217,   217,   217,   215,   494,   214,   217,   217,   217,
2267 >     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2268 >     217,   217,   215,   233,     1,    89,   150,   205,   350,   351,
2269 >     352,   353,   354,     1,    89,   150,   360,   361,   362,   363,
2270 >     217,   215,   346,   117,   117,   117,   214,    99,    99,   159,
2271 >      99,   223,   223,    99,    99,    99,   159,   159,    99,   223,
2272 >     159,   159,   214,   214,   217,   217,   217,   217,   217,   217,
2273 >     217,   217,   217,   217,   217,   217,   217,   215,   294,   214,
2274 >     217,   217,   217,   217,   379,   217,   217,   217,   217,   217,
2275 >     217,   217,   217,   215,   370,   217,   217,   215,   400,   117,
2276 >     214,   217,   217,   410,   215,   414,   159,   223,   223,    99,
2277 >     159,   159,    99,   117,   159,   223,   159,   223,    99,    99,
2278 >      99,   159,   159,   159,   223,    99,    99,   223,    99,    99,
2279 >     117,    99,    99,   159,   159,   217,   159,   217,   223,   223,
2280 >     159,   159,   159,   159,   159,   160,   159,   160,   159,   159,
2281 >     223,   223,   117,   223,   159,   159,   159,   214,   214,   217,
2282 >     217,   331,   217,   217,   217,   217,   217,   215,   325,   217,
2283 >     390,   217,   215,   394,   214,   311,   217,   217,   217,   215,
2284 >     315,   159,   214,   216,   117,   117,   214,   214,   217,   217,
2285 >     288,   217,   217,   217,   284,   217,   215,   276,   214,   217,
2286 >     217,   217,   215,   340,   159,   159,   117,   159,   159,   223,
2287 >     214,   117,   159,   117,   117,   117,   117,   117,   117,   133,
2288 >     134,   236,   237,   133,   134,   238,   239,   117,   117,    99,
2289 >     117,   117,   214,   214,   217,   355,   217,   215,   351,   214,
2290 >     217,   364,   215,   361,   117,   214,   214,   214,   214,   214,
2291 >     214,   214,   137,   138,   139,   140,   141,   222,   223,   214,
2292 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2293 >      99,    99,   223,    99,    99,    99,    99,   117,    99,    99,
2294 >     223,    99,   225,   225,   214,   117,   177,   178,   117,   159,
2295 >     217,   117,   117,   117,   117,    99,   117,   117,   117,   214,
2296 >     117,   117,   214,   214,   117,   117,   217,   214,   214,   214,
2297 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2298 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2299 >     214,   214,   214,   214,   214,   214,   214,    51,   165,   166,
2300 >     167,   168,   169,   171,   172,   174,   175,   176,   179,   181,
2301 >     182,   184,   186,   188,   189,   192,   198,   470,   471,   214,
2302 >      51,   165,   166,   167,   168,   169,   171,   172,   174,   175,
2303 >     176,   179,   181,   182,   184,   186,   188,   189,   192,   198,
2304 >     466,   467,   214,   214,   214,   214,   214,   214,   214,   214,
2305 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2306 >     214,   117,   159,   217,   117,    99,   117,   117,   117,   214,
2307 >     117,   217,   117,   214,   217,   117,   117,    99,   318,   319,
2308 >     214,   214,     1,    89,   150,   212,   265,   266,   267,   268,
2309 >     269,   214,   214,   117,   159,   217,   117,   117,   117,   217,
2310 >     117,   214,   117,   117,   117,   214,   214,   214,   214,   214,
2311 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2312 >     214,   218,   214,   218,   214,   214,   214,   214,   214,   117,
2313 >     217,   117,   214,   117,   217,   214,   214,   222,   222,   222,
2314 >     222,   222,   214,   214,   214,   214,   214,   214,   214,   214,
2315 >     214,   214,   214,     9,    10,    11,   224,   225,   214,   214,
2316 >     214,   214,   214,   214,   214,     8,   190,   380,   381,   214,
2317 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2318 >     214,   122,   411,   412,   214,   218,   214,   218,   214,   214,
2319 >      13,    33,    43,    49,    65,    90,    98,   136,   153,   332,
2320 >     333,   214,   214,   214,   214,   214,   214,   122,   391,   392,
2321 >     214,    51,   185,   190,   312,   313,   214,   214,   163,   218,
2322 >     317,   214,   217,   270,   217,   215,   266,   214,   214,     4,
2323 >      25,    40,    47,    64,    87,    94,   106,   123,   124,   125,
2324 >     173,   182,   187,   193,   197,   199,   204,   210,   289,   290,
2325 >     214,   214,   214,    51,   165,   166,   167,   168,   169,   171,
2326 >     172,   174,   175,   176,   179,   181,   182,   184,   186,   188,
2327 >     189,   192,   198,   285,   286,   214,   214,   214,   214,   237,
2328 >     239,   214,    64,   135,   164,   173,   179,   193,   195,   196,
2329 >     204,   210,   356,   357,   214,   214,    64,   135,   164,   173,
2330 >     179,   193,   195,   196,   204,   210,   365,   366,   224,   224,
2331 >     224,   214,   218,   214,   218,   471,   467,   214,   218,   214,
2332 >     218,   214,   218,    99,   319,   214,   117,   217,   194,   225,
2333 >     214,   214,   218,   214,   218,   214,   218,   214,   218,   381,
2334 >     412,   333,   392,   313,   214,    40,    62,    64,   102,   172,
2335 >     173,   205,   271,   272,   214,   214,   290,   286,   357,   366,
2336 >     214,   218,   272
2337   };
2338  
2339   #define yyerrok         (yyerrstatus = 0)
# Line 2479 | Line 2363 | static const yytype_uint16 yystos[] =
2363  
2364   #define YYRECOVERING()  (!!yyerrstatus)
2365  
2366 < #define YYBACKUP(Token, Value)                                  \
2367 < do                                                              \
2368 <  if (yychar == YYEMPTY && yylen == 1)                          \
2369 <    {                                                           \
2370 <      yychar = (Token);                                         \
2371 <      yylval = (Value);                                         \
2372 <      YYPOPSTACK (1);                                           \
2373 <      goto yybackup;                                            \
2374 <    }                                                           \
2375 <  else                                                          \
2376 <    {                                                           \
2366 > #define YYBACKUP(Token, Value)                                  \
2367 > do                                                              \
2368 >  if (yychar == YYEMPTY)                                        \
2369 >    {                                                           \
2370 >      yychar = (Token);                                         \
2371 >      yylval = (Value);                                         \
2372 >      YYPOPSTACK (yylen);                                       \
2373 >      yystate = *yyssp;                                         \
2374 >      goto yybackup;                                            \
2375 >    }                                                           \
2376 >  else                                                          \
2377 >    {                                                           \
2378        yyerror (YY_("syntax error: cannot back up")); \
2379        YYERROR;                                                  \
2380      }                                                           \
# Line 2499 | Line 2384 | while (YYID (0))
2384   #define YYTERROR        1
2385   #define YYERRCODE       256
2386  
2502
2387   /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2388     If N is 0, then set CURRENT to the empty location which ends
2389     the previous symbol: RHS[0] (always defined).  */
2390  
2507 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2391   #ifndef YYLLOC_DEFAULT
2392 < # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2393 <    do                                                                  \
2394 <      if (YYID (N))                                                    \
2395 <        {                                                               \
2396 <          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2397 <          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2398 <          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2399 <          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2400 <        }                                                               \
2401 <      else                                                              \
2402 <        {                                                               \
2403 <          (Current).first_line   = (Current).last_line   =              \
2404 <            YYRHSLOC (Rhs, 0).last_line;                                \
2405 <          (Current).first_column = (Current).last_column =              \
2406 <            YYRHSLOC (Rhs, 0).last_column;                              \
2407 <        }                                                               \
2392 > # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2393 >    do                                                                  \
2394 >      if (YYID (N))                                                     \
2395 >        {                                                               \
2396 >          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2397 >          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2398 >          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2399 >          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2400 >        }                                                               \
2401 >      else                                                              \
2402 >        {                                                               \
2403 >          (Current).first_line   = (Current).last_line   =              \
2404 >            YYRHSLOC (Rhs, 0).last_line;                                \
2405 >          (Current).first_column = (Current).last_column =              \
2406 >            YYRHSLOC (Rhs, 0).last_column;                              \
2407 >        }                                                               \
2408      while (YYID (0))
2409   #endif
2410  
2411 + #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2412 +
2413 +
2414  
2415   /* This macro is provided for backward compatibility. */
2416  
# Line 2584 | Line 2470 | yy_symbol_value_print (yyoutput, yytype,
2470      YYSTYPE const * const yyvaluep;
2471   #endif
2472   {
2473 +  FILE *yyo = yyoutput;
2474 +  YYUSE (yyo);
2475    if (!yyvaluep)
2476      return;
2477   # ifdef YYPRINT
# Line 2835 | Line 2723 | static int
2723   yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2724                  yytype_int16 *yyssp, int yytoken)
2725   {
2726 <  YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
2726 >  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
2727    YYSIZE_T yysize = yysize0;
2728    YYSIZE_T yysize1;
2729    enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2730    /* Internationalized format string. */
2731 <  const char *yyformat = 0;
2731 >  const char *yyformat = YY_NULL;
2732    /* Arguments of yyformat. */
2733    char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2734    /* Number of reported tokens (one for the "unexpected", one per
# Line 2900 | Line 2788 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2788                      break;
2789                    }
2790                  yyarg[yycount++] = yytname[yyx];
2791 <                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2791 >                yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2792                  if (! (yysize <= yysize1
2793                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2794                    return 2;
# Line 2992 | Line 2880 | yydestruct (yymsg, yytype, yyvaluep)
2880   }
2881  
2882  
2995 /* Prevent warnings from -Wmissing-prototypes.  */
2996 #ifdef YYPARSE_PARAM
2997 #if defined __STDC__ || defined __cplusplus
2998 int yyparse (void *YYPARSE_PARAM);
2999 #else
3000 int yyparse ();
3001 #endif
3002 #else /* ! YYPARSE_PARAM */
3003 #if defined __STDC__ || defined __cplusplus
3004 int yyparse (void);
3005 #else
3006 int yyparse ();
3007 #endif
3008 #endif /* ! YYPARSE_PARAM */
2883  
2884  
2885   /* The lookahead symbol.  */
2886   int yychar;
2887  
2888 +
2889 + #ifndef YYLVAL_INITIALIZE
2890 + # define YYLVAL_INITIALIZE()
2891 + #endif
2892 + #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2893 + # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2894 + # define YY_IGNORE_MAYBE_UNINITIALIZED_END
2895 + #endif
2896 +
2897   /* The semantic value of the lookahead symbol.  */
2898   YYSTYPE yylval;
2899  
# Line 3052 | Line 2935 | yyparse ()
2935         `yyss': related to states.
2936         `yyvs': related to semantic values.
2937  
2938 <       Refer to the stacks thru separate pointers, to allow yyoverflow
2938 >       Refer to the stacks through separate pointers, to allow yyoverflow
2939         to reallocate them elsewhere.  */
2940  
2941      /* The state stack.  */
# Line 3070 | Line 2953 | yyparse ()
2953    int yyn;
2954    int yyresult;
2955    /* Lookahead token as an internal (translated) token number.  */
2956 <  int yytoken;
2956 >  int yytoken = 0;
2957    /* The variables used to return semantic value and location from the
2958       action routines.  */
2959    YYSTYPE yyval;
# Line 3088 | Line 2971 | yyparse ()
2971       Keep to zero when no symbol should be popped.  */
2972    int yylen = 0;
2973  
3091  yytoken = 0;
2974    yyss = yyssa;
2975    yyvs = yyvsa;
2976    yystacksize = YYINITDEPTH;
# Line 3107 | Line 2989 | yyparse ()
2989    yyssp = yyss;
2990    yyvsp = yyvs;
2991  
2992 +  YYLVAL_INITIALIZE ();
2993    goto yysetstate;
2994  
2995   /*------------------------------------------------------------.
# Line 3247 | Line 3130 | yybackup:
3130    yychar = YYEMPTY;
3131  
3132    yystate = yyn;
3133 +  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3134    *++yyvsp = yylval;
3135 +  YY_IGNORE_MAYBE_UNINITIALIZED_END
3136  
3137    goto yynewstate;
3138  
# Line 3283 | Line 3168 | yyreduce:
3168    YY_REDUCE_PRINT (yyn);
3169    switch (yyn)
3170      {
3171 <        case 27:
3172 <
3173 < /* Line 1806 of yacc.c  */
3289 < #line 409 "conf_parser.y"
3171 >        case 26:
3172 > /* Line 1813 of yacc.c  */
3173 > #line 395 "conf_parser.y"
3174      { (yyval.number) = 0; }
3175      break;
3176  
3177 <  case 29:
3178 <
3179 < /* Line 1806 of yacc.c  */
3296 < #line 411 "conf_parser.y"
3177 >  case 28:
3178 > /* Line 1813 of yacc.c  */
3179 > #line 397 "conf_parser.y"
3180      {
3181                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3182                  }
3183      break;
3184  
3185 <  case 30:
3186 <
3187 < /* Line 1806 of yacc.c  */
3305 < #line 415 "conf_parser.y"
3185 >  case 29:
3186 > /* Line 1813 of yacc.c  */
3187 > #line 401 "conf_parser.y"
3188      {
3189                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3190                  }
3191      break;
3192  
3193 <  case 31:
3194 <
3195 < /* Line 1806 of yacc.c  */
3314 < #line 419 "conf_parser.y"
3193 >  case 30:
3194 > /* Line 1813 of yacc.c  */
3195 > #line 405 "conf_parser.y"
3196      {
3197                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3198                  }
3199      break;
3200  
3201 <  case 32:
3202 <
3203 < /* Line 1806 of yacc.c  */
3323 < #line 423 "conf_parser.y"
3201 >  case 31:
3202 > /* Line 1813 of yacc.c  */
3203 > #line 409 "conf_parser.y"
3204      {
3205                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3206                  }
3207      break;
3208  
3209 <  case 33:
3210 <
3211 < /* Line 1806 of yacc.c  */
3332 < #line 427 "conf_parser.y"
3209 >  case 32:
3210 > /* Line 1813 of yacc.c  */
3211 > #line 413 "conf_parser.y"
3212      {
3213                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3214                  }
3215      break;
3216  
3217 <  case 34:
3218 <
3219 < /* Line 1806 of yacc.c  */
3341 < #line 431 "conf_parser.y"
3217 >  case 33:
3218 > /* Line 1813 of yacc.c  */
3219 > #line 417 "conf_parser.y"
3220      {
3221                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3222                  }
3223      break;
3224  
3225 <  case 35:
3226 <
3227 < /* Line 1806 of yacc.c  */
3350 < #line 436 "conf_parser.y"
3225 >  case 34:
3226 > /* Line 1813 of yacc.c  */
3227 > #line 422 "conf_parser.y"
3228      { (yyval.number) = 0; }
3229      break;
3230  
3231 <  case 37:
3232 <
3233 < /* Line 1806 of yacc.c  */
3357 < #line 437 "conf_parser.y"
3231 >  case 36:
3232 > /* Line 1813 of yacc.c  */
3233 > #line 423 "conf_parser.y"
3234      { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3235      break;
3236  
3237 <  case 38:
3238 <
3239 < /* Line 1806 of yacc.c  */
3364 < #line 438 "conf_parser.y"
3237 >  case 37:
3238 > /* Line 1813 of yacc.c  */
3239 > #line 424 "conf_parser.y"
3240      { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3241      break;
3242  
3243 <  case 39:
3244 <
3245 < /* Line 1806 of yacc.c  */
3371 < #line 439 "conf_parser.y"
3243 >  case 38:
3244 > /* Line 1813 of yacc.c  */
3245 > #line 425 "conf_parser.y"
3246      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3247      break;
3248  
3249 <  case 40:
3250 <
3251 < /* Line 1806 of yacc.c  */
3378 < #line 440 "conf_parser.y"
3249 >  case 39:
3250 > /* Line 1813 of yacc.c  */
3251 > #line 426 "conf_parser.y"
3252      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
3253      break;
3254  
3255 <  case 47:
3256 <
3257 < /* Line 1806 of yacc.c  */
3385 < #line 454 "conf_parser.y"
3255 >  case 46:
3256 > /* Line 1813 of yacc.c  */
3257 > #line 440 "conf_parser.y"
3258      {
3259    if (conf_parser_ctx.pass == 2)
3260      add_conf_module(libio_basename(yylval.string));
3261   }
3262      break;
3263  
3264 <  case 48:
3265 <
3266 < /* Line 1806 of yacc.c  */
3395 < #line 460 "conf_parser.y"
3264 >  case 47:
3265 > /* Line 1813 of yacc.c  */
3266 > #line 446 "conf_parser.y"
3267      {
3268    if (conf_parser_ctx.pass == 2)
3269      mod_add_path(yylval.string);
3270   }
3271      break;
3272  
3273 <  case 72:
3274 <
3275 < /* Line 1806 of yacc.c  */
3405 < #line 485 "conf_parser.y"
3273 >  case 71:
3274 > /* Line 1813 of yacc.c  */
3275 > #line 471 "conf_parser.y"
3276      {
3277   #ifdef HAVE_LIBCRYPTO
3278    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
# Line 3411 | Line 3281 | yyreduce:
3281   }
3282      break;
3283  
3284 <  case 73:
3285 <
3286 < /* Line 1806 of yacc.c  */
3417 < #line 491 "conf_parser.y"
3284 >  case 72:
3285 > /* Line 1813 of yacc.c  */
3286 > #line 477 "conf_parser.y"
3287      {
3288   #ifdef HAVE_LIBCRYPTO
3289    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
# Line 3423 | Line 3292 | yyreduce:
3292   }
3293      break;
3294  
3295 <  case 76:
3296 <
3297 < /* Line 1806 of yacc.c  */
3429 < #line 500 "conf_parser.y"
3295 >  case 75:
3296 > /* Line 1813 of yacc.c  */
3297 > #line 486 "conf_parser.y"
3298      {
3299   #ifdef HAVE_LIBCRYPTO
3300    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3435 | Line 3303 | yyreduce:
3303   }
3304      break;
3305  
3306 <  case 77:
3307 <
3308 < /* Line 1806 of yacc.c  */
3441 < #line 506 "conf_parser.y"
3306 >  case 76:
3307 > /* Line 1813 of yacc.c  */
3308 > #line 492 "conf_parser.y"
3309      {
3310   #ifdef HAVE_LIBCRYPTO
3311    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3447 | Line 3314 | yyreduce:
3314   }
3315      break;
3316  
3317 <  case 78:
3318 <
3319 < /* Line 1806 of yacc.c  */
3453 < #line 514 "conf_parser.y"
3317 >  case 77:
3318 > /* Line 1813 of yacc.c  */
3319 > #line 500 "conf_parser.y"
3320      {
3321   #ifdef HAVE_LIBCRYPTO
3322    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3490 | Line 3356 | yyreduce:
3356   }
3357      break;
3358  
3359 <  case 79:
3360 <
3361 < /* Line 1806 of yacc.c  */
3496 < #line 553 "conf_parser.y"
3359 >  case 78:
3360 > /* Line 1813 of yacc.c  */
3361 > #line 539 "conf_parser.y"
3362      {
3363   #ifdef HAVE_LIBCRYPTO
3364    if (conf_parser_ctx.pass == 1)
# Line 3512 | Line 3377 | yyreduce:
3377        ServerInfo.rsa_private_key_file = NULL;
3378      }
3379  
3380 <    DupString(ServerInfo.rsa_private_key_file, yylval.string);
3380 >    ServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3381  
3382      if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3383      {
# Line 3553 | Line 3418 | yyreduce:
3418   }
3419      break;
3420  
3421 <  case 80:
3422 <
3423 < /* Line 1806 of yacc.c  */
3559 < #line 612 "conf_parser.y"
3421 >  case 79:
3422 > /* Line 1813 of yacc.c  */
3423 > #line 598 "conf_parser.y"
3424      {
3425   /* TBD - XXX: error reporting */
3426   #ifdef HAVE_LIBCRYPTO
# Line 3585 | Line 3449 | yyreduce:
3449   }
3450      break;
3451  
3452 <  case 81:
3453 <
3454 < /* Line 1806 of yacc.c  */
3591 < #line 640 "conf_parser.y"
3452 >  case 80:
3453 > /* Line 1813 of yacc.c  */
3454 > #line 626 "conf_parser.y"
3455      {
3456   #ifdef HAVE_LIBCRYPTO
3457    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3597 | Line 3460 | yyreduce:
3460   }
3461      break;
3462  
3463 <  case 82:
3464 <
3465 < /* Line 1806 of yacc.c  */
3603 < #line 648 "conf_parser.y"
3463 >  case 81:
3464 > /* Line 1813 of yacc.c  */
3465 > #line 634 "conf_parser.y"
3466      {
3467    /* this isn't rehashable */
3468    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
3469    {
3470      if (valid_servname(yylval.string))
3471 <      DupString(ServerInfo.name, yylval.string);
3471 >      ServerInfo.name = xstrdup(yylval.string);
3472      else
3473      {
3474        ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::name -- invalid name. Aborting.");
# Line 3616 | Line 3478 | yyreduce:
3478   }
3479      break;
3480  
3481 <  case 83:
3482 <
3483 < /* Line 1806 of yacc.c  */
3622 < #line 663 "conf_parser.y"
3481 >  case 82:
3482 > /* Line 1813 of yacc.c  */
3483 > #line 649 "conf_parser.y"
3484      {
3485    /* this isn't rehashable */
3486    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
3487    {
3488      if (valid_sid(yylval.string))
3489 <      DupString(ServerInfo.sid, yylval.string);
3489 >      ServerInfo.sid = xstrdup(yylval.string);
3490      else
3491      {
3492        ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::sid -- invalid SID. Aborting.");
# Line 3635 | Line 3496 | yyreduce:
3496   }
3497      break;
3498  
3499 <  case 84:
3500 <
3501 < /* Line 1806 of yacc.c  */
3641 < #line 678 "conf_parser.y"
3499 >  case 83:
3500 > /* Line 1813 of yacc.c  */
3501 > #line 664 "conf_parser.y"
3502      {
3503    if (conf_parser_ctx.pass == 2)
3504    {
3505      MyFree(ServerInfo.description);
3506 <    DupString(ServerInfo.description,yylval.string);
3506 >    ServerInfo.description = xstrdup(yylval.string);
3507    }
3508   }
3509      break;
3510  
3511 <  case 85:
3512 <
3513 < /* Line 1806 of yacc.c  */
3654 < #line 687 "conf_parser.y"
3511 >  case 84:
3512 > /* Line 1813 of yacc.c  */
3513 > #line 673 "conf_parser.y"
3514      {
3515    if (conf_parser_ctx.pass == 2)
3516    {
# Line 3661 | Line 3520 | yyreduce:
3520        p = '\0';
3521  
3522      MyFree(ServerInfo.network_name);
3523 <    DupString(ServerInfo.network_name, yylval.string);
3523 >    ServerInfo.network_name = xstrdup(yylval.string);
3524    }
3525   }
3526      break;
3527  
3528 <  case 86:
3529 <
3530 < /* Line 1806 of yacc.c  */
3672 < #line 701 "conf_parser.y"
3528 >  case 85:
3529 > /* Line 1813 of yacc.c  */
3530 > #line 687 "conf_parser.y"
3531      {
3532    if (conf_parser_ctx.pass == 2)
3533    {
3534      MyFree(ServerInfo.network_desc);
3535 <    DupString(ServerInfo.network_desc, yylval.string);
3535 >    ServerInfo.network_desc = xstrdup(yylval.string);
3536    }
3537   }
3538      break;
3539  
3540 <  case 87:
3541 <
3542 < /* Line 1806 of yacc.c  */
3685 < #line 710 "conf_parser.y"
3540 >  case 86:
3541 > /* Line 1813 of yacc.c  */
3542 > #line 696 "conf_parser.y"
3543      {
3544    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3545    {
# Line 3711 | Line 3568 | yyreduce:
3568   }
3569      break;
3570  
3571 <  case 88:
3572 <
3573 < /* Line 1806 of yacc.c  */
3717 < #line 738 "conf_parser.y"
3571 >  case 87:
3572 > /* Line 1813 of yacc.c  */
3573 > #line 724 "conf_parser.y"
3574      {
3575   #ifdef IPV6
3576    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3745 | Line 3601 | yyreduce:
3601   }
3602      break;
3603  
3604 <  case 89:
3605 <
3606 < /* Line 1806 of yacc.c  */
3751 < #line 768 "conf_parser.y"
3604 >  case 88:
3605 > /* Line 1813 of yacc.c  */
3606 > #line 754 "conf_parser.y"
3607      {
3608    if (conf_parser_ctx.pass == 2)
3609    {
# Line 3772 | Line 3627 | yyreduce:
3627   }
3628      break;
3629  
3630 <  case 90:
3631 <
3632 < /* Line 1806 of yacc.c  */
3778 < #line 791 "conf_parser.y"
3630 >  case 89:
3631 > /* Line 1813 of yacc.c  */
3632 > #line 777 "conf_parser.y"
3633      {
3634    if (conf_parser_ctx.pass == 2)
3635      ServerInfo.hub = yylval.number;
3636   }
3637      break;
3638  
3639 <  case 98:
3640 <
3641 < /* Line 1806 of yacc.c  */
3788 < #line 806 "conf_parser.y"
3639 >  case 97:
3640 > /* Line 1813 of yacc.c  */
3641 > #line 792 "conf_parser.y"
3642      {
3643    if (conf_parser_ctx.pass == 2)
3644    {
3645      MyFree(AdminInfo.name);
3646 <    DupString(AdminInfo.name, yylval.string);
3646 >    AdminInfo.name = xstrdup(yylval.string);
3647    }
3648   }
3649      break;
3650  
3651 <  case 99:
3652 <
3653 < /* Line 1806 of yacc.c  */
3801 < #line 815 "conf_parser.y"
3651 >  case 98:
3652 > /* Line 1813 of yacc.c  */
3653 > #line 801 "conf_parser.y"
3654      {
3655    if (conf_parser_ctx.pass == 2)
3656    {
3657      MyFree(AdminInfo.email);
3658 <    DupString(AdminInfo.email, yylval.string);
3658 >    AdminInfo.email = xstrdup(yylval.string);
3659    }
3660   }
3661      break;
3662  
3663 <  case 100:
3664 <
3665 < /* Line 1806 of yacc.c  */
3814 < #line 824 "conf_parser.y"
3663 >  case 99:
3664 > /* Line 1813 of yacc.c  */
3665 > #line 810 "conf_parser.y"
3666      {
3667    if (conf_parser_ctx.pass == 2)
3668    {
3669      MyFree(AdminInfo.description);
3670 <    DupString(AdminInfo.description, yylval.string);
3670 >    AdminInfo.description = xstrdup(yylval.string);
3671    }
3672   }
3673      break;
3674  
3675 <  case 107:
3676 <
3677 < /* Line 1806 of yacc.c  */
3827 < #line 842 "conf_parser.y"
3675 >  case 106:
3676 > /* Line 1813 of yacc.c  */
3677 > #line 828 "conf_parser.y"
3678      {
3679    if (conf_parser_ctx.pass == 2)
3680      ConfigLoggingEntry.use_logging = yylval.number;
3681   }
3682      break;
3683  
3684 <  case 108:
3685 <
3686 < /* Line 1806 of yacc.c  */
3837 < #line 848 "conf_parser.y"
3684 >  case 107:
3685 > /* Line 1813 of yacc.c  */
3686 > #line 834 "conf_parser.y"
3687      {
3688    lfile[0] = '\0';
3689    ltype = 0;
# Line 3842 | Line 3691 | yyreduce:
3691   }
3692      break;
3693  
3694 <  case 109:
3695 <
3696 < /* Line 1806 of yacc.c  */
3848 < #line 853 "conf_parser.y"
3694 >  case 108:
3695 > /* Line 1813 of yacc.c  */
3696 > #line 839 "conf_parser.y"
3697      {
3698    if (conf_parser_ctx.pass == 2 && ltype > 0)
3699      log_add_file(ltype, lsize, lfile);
3700   }
3701      break;
3702  
3703 <  case 116:
3704 <
3705 < /* Line 1806 of yacc.c  */
3858 < #line 865 "conf_parser.y"
3703 >  case 115:
3704 > /* Line 1813 of yacc.c  */
3705 > #line 851 "conf_parser.y"
3706      {
3707    strlcpy(lfile, yylval.string, sizeof(lfile));
3708   }
3709      break;
3710  
3711 <  case 117:
3712 <
3713 < /* Line 1806 of yacc.c  */
3867 < #line 870 "conf_parser.y"
3711 >  case 116:
3712 > /* Line 1813 of yacc.c  */
3713 > #line 856 "conf_parser.y"
3714      {
3715    lsize = (yyvsp[(3) - (4)].number);
3716   }
3717      break;
3718  
3719 <  case 118:
3720 <
3721 < /* Line 1806 of yacc.c  */
3876 < #line 873 "conf_parser.y"
3719 >  case 117:
3720 > /* Line 1813 of yacc.c  */
3721 > #line 859 "conf_parser.y"
3722      {
3723    lsize = 0;
3724   }
3725      break;
3726  
3727 <  case 119:
3728 <
3729 < /* Line 1806 of yacc.c  */
3885 < #line 878 "conf_parser.y"
3727 >  case 118:
3728 > /* Line 1813 of yacc.c  */
3729 > #line 864 "conf_parser.y"
3730      {
3731    if (conf_parser_ctx.pass == 2)
3732      ltype = 0;
3733   }
3734      break;
3735  
3736 <  case 123:
3737 <
3738 < /* Line 1806 of yacc.c  */
3895 < #line 885 "conf_parser.y"
3736 >  case 122:
3737 > /* Line 1813 of yacc.c  */
3738 > #line 871 "conf_parser.y"
3739      {
3740    if (conf_parser_ctx.pass == 2)
3741      ltype = LOG_TYPE_USER;
3742   }
3743      break;
3744  
3745 <  case 124:
3746 <
3747 < /* Line 1806 of yacc.c  */
3905 < #line 889 "conf_parser.y"
3745 >  case 123:
3746 > /* Line 1813 of yacc.c  */
3747 > #line 875 "conf_parser.y"
3748      {
3749    if (conf_parser_ctx.pass == 2)
3750      ltype = LOG_TYPE_OPER;
3751   }
3752      break;
3753  
3754 <  case 125:
3755 <
3756 < /* Line 1806 of yacc.c  */
3915 < #line 893 "conf_parser.y"
3754 >  case 124:
3755 > /* Line 1813 of yacc.c  */
3756 > #line 879 "conf_parser.y"
3757      {
3758    if (conf_parser_ctx.pass == 2)
3759      ltype = LOG_TYPE_GLINE;
3760   }
3761      break;
3762  
3763 <  case 126:
3764 <
3765 < /* Line 1806 of yacc.c  */
3925 < #line 897 "conf_parser.y"
3763 >  case 125:
3764 > /* Line 1813 of yacc.c  */
3765 > #line 883 "conf_parser.y"
3766      {
3767    if (conf_parser_ctx.pass == 2)
3768      ltype = LOG_TYPE_DLINE;
3769   }
3770      break;
3771  
3772 <  case 127:
3773 <
3774 < /* Line 1806 of yacc.c  */
3935 < #line 901 "conf_parser.y"
3772 >  case 126:
3773 > /* Line 1813 of yacc.c  */
3774 > #line 887 "conf_parser.y"
3775      {
3776    if (conf_parser_ctx.pass == 2)
3777      ltype = LOG_TYPE_KLINE;
3778   }
3779      break;
3780  
3781 <  case 128:
3782 <
3783 < /* Line 1806 of yacc.c  */
3945 < #line 905 "conf_parser.y"
3781 >  case 127:
3782 > /* Line 1813 of yacc.c  */
3783 > #line 891 "conf_parser.y"
3784      {
3785    if (conf_parser_ctx.pass == 2)
3786      ltype = LOG_TYPE_KILL;
3787   }
3788      break;
3789  
3790 <  case 129:
3791 <
3792 < /* Line 1806 of yacc.c  */
3955 < #line 909 "conf_parser.y"
3790 >  case 128:
3791 > /* Line 1813 of yacc.c  */
3792 > #line 895 "conf_parser.y"
3793      {
3794    if (conf_parser_ctx.pass == 2)
3795      ltype = LOG_TYPE_DEBUG;
3796   }
3797      break;
3798  
3799 <  case 130:
3800 <
3801 < /* Line 1806 of yacc.c  */
3965 < #line 919 "conf_parser.y"
3799 >  case 129:
3800 > /* Line 1813 of yacc.c  */
3801 > #line 905 "conf_parser.y"
3802      {
3803 <  if (conf_parser_ctx.pass == 2)
3968 <  {
3969 <    yy_conf = make_conf_item(OPER_TYPE);
3970 <    yy_aconf = map_to_conf(yy_conf);
3971 <    SetConfEncrypted(yy_aconf); /* Yes, the default is encrypted */
3972 <  }
3973 <  else
3974 <  {
3975 <    MyFree(class_name);
3976 <    class_name = NULL;
3977 <  }
3978 < }
3803 >  if (conf_parser_ctx.pass != 2)
3804      break;
3805  
3806 <  case 131:
3806 >  reset_block_state();
3807 >  block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3808 > }
3809 >    break;
3810  
3811 < /* Line 1806 of yacc.c  */
3812 < #line 932 "conf_parser.y"
3811 >  case 130:
3812 > /* Line 1813 of yacc.c  */
3813 > #line 912 "conf_parser.y"
3814      {
3815 <  if (conf_parser_ctx.pass == 2)
3987 <  {
3988 <    struct CollectItem *yy_tmp;
3989 <    dlink_node *ptr;
3990 <    dlink_node *next_ptr;
3991 <
3992 <    conf_add_class_to_conf(yy_conf, class_name);
3993 <
3994 <    /* Now, make sure there is a copy of the "base" given oper
3995 <     * block in each of the collected copies
3996 <     */
3815 >  dlink_node *ptr = NULL;
3816  
3817 <    DLINK_FOREACH_SAFE(ptr, next_ptr, col_conf_list.head)
3818 <    {
4000 <      struct AccessItem *new_aconf;
4001 <      struct ConfItem *new_conf;
4002 <      yy_tmp = ptr->data;
3817 >  if (conf_parser_ctx.pass != 2)
3818 >    break;
3819  
3820 <      new_conf = make_conf_item(OPER_TYPE);
3821 <      new_aconf = (struct AccessItem *)map_to_conf(new_conf);
3820 >  if (!block_state.name.buf[0])
3821 >    break;
3822 > #ifdef HAVE_LIBCRYPTO
3823 >  if (!(block_state.file.buf[0] ||
3824 >        block_state.pass.buf[0]))
3825 >    break;
3826 > #else
3827 >  if (!block_state.pass.buf[0])
3828 >    break;
3829 > #endif
3830  
3831 <      new_aconf->flags = yy_aconf->flags;
3831 >  DLINK_FOREACH(ptr, block_state.mask.list.head)
3832 >  {
3833 >    struct MaskItem *conf = NULL;
3834 >    struct split_nuh_item nuh;
3835  
3836 <      if (yy_conf->name != NULL)
3837 <        DupString(new_conf->name, yy_conf->name);
3838 <      if (yy_tmp->user != NULL)
3839 <        DupString(new_aconf->user, yy_tmp->user);
3840 <      else
3841 <        DupString(new_aconf->user, "*");
3842 <      if (yy_tmp->host != NULL)
3843 <        DupString(new_aconf->host, yy_tmp->host);
4017 <      else
4018 <        DupString(new_aconf->host, "*");
3836 >    nuh.nuhmask  = ptr->data;
3837 >    nuh.nickptr  = NULL;
3838 >    nuh.userptr  = userbuf;
3839 >    nuh.hostptr  = hostbuf;
3840 >    nuh.nicksize = 0;
3841 >    nuh.usersize = sizeof(userbuf);
3842 >    nuh.hostsize = sizeof(hostbuf);
3843 >    split_nuh(&nuh);
3844  
3845 <      new_aconf->type = parse_netmask(new_aconf->host, &new_aconf->ipnum,
3846 <                                     &new_aconf->bits);
3845 >    conf        = conf_make(CONF_OPER);
3846 >    conf->user  = xstrdup(userbuf);
3847 >    conf->host  = xstrdup(hostbuf);
3848 >
3849 >    if (block_state.pass.buf[0])
3850 >      conf->passwd = xstrdup(block_state.pass.buf);
3851 >
3852 >    conf->flags = block_state.flags.value;
3853 >    conf->modes = block_state.modes.value;
3854 >    conf->port  = block_state.port.value;
3855 >    conf->htype = parse_netmask(conf->host, &conf->addr, &conf->bits);
3856  
3857 <      conf_add_class_to_conf(new_conf, class_name);
4024 <      if (yy_aconf->passwd != NULL)
4025 <        DupString(new_aconf->passwd, yy_aconf->passwd);
3857 >    conf_add_class_to_conf(conf, block_state.class.buf);
3858  
4027      new_aconf->port = yy_aconf->port;
3859   #ifdef HAVE_LIBCRYPTO
3860 <      if (yy_aconf->rsa_public_key_file != NULL)
3861 <      {
3862 <        BIO *file;
3863 <
4033 <        DupString(new_aconf->rsa_public_key_file,
4034 <                  yy_aconf->rsa_public_key_file);
3860 >    if (block_state.file.buf[0])
3861 >    {
3862 >      BIO *file = NULL;
3863 >      RSA *pkey = NULL;
3864  
3865 <        file = BIO_new_file(yy_aconf->rsa_public_key_file, "r");
3866 <        new_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file,
3867 <                                                           NULL, 0, NULL);
3868 <        BIO_set_close(file, BIO_CLOSE);
4040 <        BIO_free(file);
3865 >      if ((file = BIO_new_file(block_state.file.buf, "r")) == NULL)
3866 >      {
3867 >        yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
3868 >        break;
3869        }
4042 #endif
3870  
3871 < #ifdef HAVE_LIBCRYPTO
4045 <      if (yy_tmp->name && (yy_tmp->passwd || yy_aconf->rsa_public_key)
4046 <          && yy_tmp->host)
4047 < #else
4048 <      if (yy_tmp->name && yy_tmp->passwd && yy_tmp->host)
4049 < #endif
3871 >      if ((pkey = PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL)) == NULL)
3872        {
3873 <        conf_add_class_to_conf(new_conf, class_name);
3874 <        if (yy_tmp->name != NULL)
4053 <          DupString(new_conf->name, yy_tmp->name);
3873 >        yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
3874 >        break;
3875        }
3876  
3877 <      dlinkDelete(&yy_tmp->node, &col_conf_list);
3878 <      free_collect_item(yy_tmp);
3877 >      conf->rsa_public_key = pkey;
3878 >      BIO_set_close(file, BIO_CLOSE);
3879 >      BIO_free(file);
3880      }
3881 <
4060 <    yy_conf = NULL;
4061 <    yy_aconf = NULL;
4062 <
4063 <
4064 <    MyFree(class_name);
4065 <    class_name = NULL;
3881 > #endif /* HAVE_LIBCRYPTO */
3882    }
3883   }
3884      break;
3885  
3886 <  case 143:
3887 <
3888 < /* Line 1806 of yacc.c  */
4073 < #line 1022 "conf_parser.y"
3886 >  case 142:
3887 > /* Line 1813 of yacc.c  */
3888 > #line 989 "conf_parser.y"
3889      {
3890    if (conf_parser_ctx.pass == 2)
3891 <  {
4077 <    if (strlen(yylval.string) > OPERNICKLEN)
4078 <      yylval.string[OPERNICKLEN] = '\0';
4079 <
4080 <    MyFree(yy_conf->name);
4081 <    DupString(yy_conf->name, yylval.string);
4082 <  }
3891 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3892   }
3893      break;
3894  
3895 <  case 144:
3896 <
3897 < /* Line 1806 of yacc.c  */
4089 < #line 1034 "conf_parser.y"
3895 >  case 143:
3896 > /* Line 1813 of yacc.c  */
3897 > #line 995 "conf_parser.y"
3898      {
3899    if (conf_parser_ctx.pass == 2)
3900 <  {
3901 <    struct split_nuh_item nuh;
3902 <
4095 <    nuh.nuhmask  = yylval.string;
4096 <    nuh.nickptr  = NULL;
4097 <    nuh.userptr  = userbuf;
4098 <    nuh.hostptr  = hostbuf;
4099 <
4100 <    nuh.nicksize = 0;
4101 <    nuh.usersize = sizeof(userbuf);
4102 <    nuh.hostsize = sizeof(hostbuf);
4103 <
4104 <    split_nuh(&nuh);
4105 <
4106 <    if (yy_aconf->user == NULL)
4107 <    {
4108 <      DupString(yy_aconf->user, userbuf);
4109 <      DupString(yy_aconf->host, hostbuf);
3900 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3901 > }
3902 >    break;
3903  
3904 <      yy_aconf->type = parse_netmask(yy_aconf->host, &yy_aconf->ipnum,
3905 <                                    &yy_aconf->bits);
3906 <    }
4114 <    else
3904 >  case 144:
3905 > /* Line 1813 of yacc.c  */
3906 > #line 1001 "conf_parser.y"
3907      {
3908 <      struct CollectItem *yy_tmp = MyMalloc(sizeof(struct CollectItem));
3909 <
4118 <      DupString(yy_tmp->user, userbuf);
4119 <      DupString(yy_tmp->host, hostbuf);
4120 <
4121 <      dlinkAdd(yy_tmp, &yy_tmp->node, &col_conf_list);
4122 <    }
4123 <  }
3908 >  if (conf_parser_ctx.pass == 2)
3909 >    strlcpy(block_state.pass.buf, yylval.string, sizeof(block_state.pass.buf));
3910   }
3911      break;
3912  
3913    case 145:
3914 <
3915 < /* Line 1806 of yacc.c  */
4130 < #line 1071 "conf_parser.y"
3914 > /* Line 1813 of yacc.c  */
3915 > #line 1007 "conf_parser.y"
3916      {
3917    if (conf_parser_ctx.pass == 2)
3918    {
3919 <    if (yy_aconf->passwd != NULL)
3920 <      memset(yy_aconf->passwd, 0, strlen(yy_aconf->passwd));
3921 <
3922 <    MyFree(yy_aconf->passwd);
4138 <    DupString(yy_aconf->passwd, yylval.string);
3919 >    if (yylval.number)
3920 >      block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3921 >    else
3922 >      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3923    }
3924   }
3925      break;
3926  
3927    case 146:
3928 <
3929 < /* Line 1806 of yacc.c  */
4146 < #line 1083 "conf_parser.y"
3928 > /* Line 1813 of yacc.c  */
3929 > #line 1018 "conf_parser.y"
3930      {
3931    if (conf_parser_ctx.pass == 2)
3932 <  {
4150 <    if (yylval.number)
4151 <      SetConfEncrypted(yy_aconf);
4152 <    else
4153 <      ClearConfEncrypted(yy_aconf);
4154 <  }
3932 >    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3933   }
3934      break;
3935  
3936    case 147:
3937 <
3938 < /* Line 1806 of yacc.c  */
4161 < #line 1094 "conf_parser.y"
3937 > /* Line 1813 of yacc.c  */
3938 > #line 1024 "conf_parser.y"
3939      {
4163 #ifdef HAVE_LIBCRYPTO
3940    if (conf_parser_ctx.pass == 2)
3941 <  {
4166 <    BIO *file;
4167 <
4168 <    if (yy_aconf->rsa_public_key != NULL)
4169 <    {
4170 <      RSA_free(yy_aconf->rsa_public_key);
4171 <      yy_aconf->rsa_public_key = NULL;
4172 <    }
4173 <
4174 <    if (yy_aconf->rsa_public_key_file != NULL)
4175 <    {
4176 <      MyFree(yy_aconf->rsa_public_key_file);
4177 <      yy_aconf->rsa_public_key_file = NULL;
4178 <    }
4179 <
4180 <    DupString(yy_aconf->rsa_public_key_file, yylval.string);
4181 <    file = BIO_new_file(yylval.string, "r");
4182 <
4183 <    if (file == NULL)
4184 <    {
4185 <      yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
4186 <      break;
4187 <    }
4188 <
4189 <    yy_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
4190 <
4191 <    if (yy_aconf->rsa_public_key == NULL)
4192 <    {
4193 <      yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
4194 <      break;
4195 <    }
4196 <
4197 <    BIO_set_close(file, BIO_CLOSE);
4198 <    BIO_free(file);
4199 <  }
4200 < #endif /* HAVE_LIBCRYPTO */
3941 >    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3942   }
3943      break;
3944  
3945    case 148:
3946 <
3947 < /* Line 1806 of yacc.c  */
4207 < #line 1136 "conf_parser.y"
3946 > /* Line 1813 of yacc.c  */
3947 > #line 1030 "conf_parser.y"
3948      {
3949    if (conf_parser_ctx.pass == 2)
3950 <  {
4211 <    MyFree(class_name);
4212 <    DupString(class_name, yylval.string);
4213 <  }
3950 >    block_state.modes.value = 0;
3951   }
3952      break;
3953  
3954 <  case 149:
3955 <
3956 < /* Line 1806 of yacc.c  */
4220 < #line 1145 "conf_parser.y"
3954 >  case 152:
3955 > /* Line 1813 of yacc.c  */
3956 > #line 1037 "conf_parser.y"
3957      {
3958    if (conf_parser_ctx.pass == 2)
3959 <    yy_aconf->modes = 0;
3959 >    block_state.modes.value |= UMODE_BOTS;
3960   }
3961      break;
3962  
3963    case 153:
3964 <
3965 < /* Line 1806 of yacc.c  */
4230 < #line 1152 "conf_parser.y"
3964 > /* Line 1813 of yacc.c  */
3965 > #line 1041 "conf_parser.y"
3966      {
3967    if (conf_parser_ctx.pass == 2)
3968 <    yy_aconf->modes |= UMODE_BOTS;
3968 >    block_state.modes.value |= UMODE_CCONN;
3969   }
3970      break;
3971  
3972    case 154:
3973 <
3974 < /* Line 1806 of yacc.c  */
4240 < #line 1156 "conf_parser.y"
3973 > /* Line 1813 of yacc.c  */
3974 > #line 1045 "conf_parser.y"
3975      {
3976    if (conf_parser_ctx.pass == 2)
3977 <    yy_aconf->modes |= UMODE_CCONN;
3977 >    block_state.modes.value |= UMODE_CCONN_FULL;
3978   }
3979      break;
3980  
3981    case 155:
3982 <
3983 < /* Line 1806 of yacc.c  */
4250 < #line 1160 "conf_parser.y"
3982 > /* Line 1813 of yacc.c  */
3983 > #line 1049 "conf_parser.y"
3984      {
3985    if (conf_parser_ctx.pass == 2)
3986 <    yy_aconf->modes |= UMODE_CCONN_FULL;
3986 >    block_state.modes.value |= UMODE_DEAF;
3987   }
3988      break;
3989  
3990    case 156:
3991 <
3992 < /* Line 1806 of yacc.c  */
4260 < #line 1164 "conf_parser.y"
3991 > /* Line 1813 of yacc.c  */
3992 > #line 1053 "conf_parser.y"
3993      {
3994    if (conf_parser_ctx.pass == 2)
3995 <    yy_aconf->modes |= UMODE_DEAF;
3995 >    block_state.modes.value |= UMODE_DEBUG;
3996   }
3997      break;
3998  
3999    case 157:
4000 <
4001 < /* Line 1806 of yacc.c  */
4270 < #line 1168 "conf_parser.y"
4000 > /* Line 1813 of yacc.c  */
4001 > #line 1057 "conf_parser.y"
4002      {
4003    if (conf_parser_ctx.pass == 2)
4004 <    yy_aconf->modes |= UMODE_DEBUG;
4004 >    block_state.modes.value |= UMODE_FULL;
4005   }
4006      break;
4007  
4008    case 158:
4009 <
4010 < /* Line 1806 of yacc.c  */
4280 < #line 1172 "conf_parser.y"
4009 > /* Line 1813 of yacc.c  */
4010 > #line 1061 "conf_parser.y"
4011      {
4012    if (conf_parser_ctx.pass == 2)
4013 <    yy_aconf->modes |= UMODE_FULL;
4013 >    block_state.modes.value |= UMODE_HIDDEN;
4014   }
4015      break;
4016  
4017    case 159:
4018 <
4019 < /* Line 1806 of yacc.c  */
4290 < #line 1176 "conf_parser.y"
4018 > /* Line 1813 of yacc.c  */
4019 > #line 1065 "conf_parser.y"
4020      {
4021    if (conf_parser_ctx.pass == 2)
4022 <    yy_aconf->modes |= UMODE_HIDDEN;
4022 >    block_state.modes.value |= UMODE_SKILL;
4023   }
4024      break;
4025  
4026    case 160:
4027 <
4028 < /* Line 1806 of yacc.c  */
4300 < #line 1180 "conf_parser.y"
4027 > /* Line 1813 of yacc.c  */
4028 > #line 1069 "conf_parser.y"
4029      {
4030    if (conf_parser_ctx.pass == 2)
4031 <    yy_aconf->modes |= UMODE_SKILL;
4031 >    block_state.modes.value |= UMODE_NCHANGE;
4032   }
4033      break;
4034  
4035    case 161:
4036 <
4037 < /* Line 1806 of yacc.c  */
4310 < #line 1184 "conf_parser.y"
4036 > /* Line 1813 of yacc.c  */
4037 > #line 1073 "conf_parser.y"
4038      {
4039    if (conf_parser_ctx.pass == 2)
4040 <    yy_aconf->modes |= UMODE_NCHANGE;
4040 >    block_state.modes.value |= UMODE_REJ;
4041   }
4042      break;
4043  
4044    case 162:
4045 <
4046 < /* Line 1806 of yacc.c  */
4320 < #line 1188 "conf_parser.y"
4045 > /* Line 1813 of yacc.c  */
4046 > #line 1077 "conf_parser.y"
4047      {
4048    if (conf_parser_ctx.pass == 2)
4049 <    yy_aconf->modes |= UMODE_REJ;
4049 >    block_state.modes.value |= UMODE_UNAUTH;
4050   }
4051      break;
4052  
4053    case 163:
4054 <
4055 < /* Line 1806 of yacc.c  */
4330 < #line 1192 "conf_parser.y"
4054 > /* Line 1813 of yacc.c  */
4055 > #line 1081 "conf_parser.y"
4056      {
4057    if (conf_parser_ctx.pass == 2)
4058 <    yy_aconf->modes |= UMODE_UNAUTH;
4058 >    block_state.modes.value |= UMODE_SPY;
4059   }
4060      break;
4061  
4062    case 164:
4063 <
4064 < /* Line 1806 of yacc.c  */
4340 < #line 1196 "conf_parser.y"
4063 > /* Line 1813 of yacc.c  */
4064 > #line 1085 "conf_parser.y"
4065      {
4066    if (conf_parser_ctx.pass == 2)
4067 <    yy_aconf->modes |= UMODE_SPY;
4067 >    block_state.modes.value |= UMODE_EXTERNAL;
4068   }
4069      break;
4070  
4071    case 165:
4072 <
4073 < /* Line 1806 of yacc.c  */
4350 < #line 1200 "conf_parser.y"
4072 > /* Line 1813 of yacc.c  */
4073 > #line 1089 "conf_parser.y"
4074      {
4075    if (conf_parser_ctx.pass == 2)
4076 <    yy_aconf->modes |= UMODE_EXTERNAL;
4076 >    block_state.modes.value |= UMODE_OPERWALL;
4077   }
4078      break;
4079  
4080    case 166:
4081 <
4082 < /* Line 1806 of yacc.c  */
4360 < #line 1204 "conf_parser.y"
4081 > /* Line 1813 of yacc.c  */
4082 > #line 1093 "conf_parser.y"
4083      {
4084    if (conf_parser_ctx.pass == 2)
4085 <    yy_aconf->modes |= UMODE_OPERWALL;
4085 >    block_state.modes.value |= UMODE_SERVNOTICE;
4086   }
4087      break;
4088  
4089    case 167:
4090 <
4091 < /* Line 1806 of yacc.c  */
4370 < #line 1208 "conf_parser.y"
4090 > /* Line 1813 of yacc.c  */
4091 > #line 1097 "conf_parser.y"
4092      {
4093    if (conf_parser_ctx.pass == 2)
4094 <    yy_aconf->modes |= UMODE_SERVNOTICE;
4094 >    block_state.modes.value |= UMODE_INVISIBLE;
4095   }
4096      break;
4097  
4098    case 168:
4099 <
4100 < /* Line 1806 of yacc.c  */
4380 < #line 1212 "conf_parser.y"
4099 > /* Line 1813 of yacc.c  */
4100 > #line 1101 "conf_parser.y"
4101      {
4102    if (conf_parser_ctx.pass == 2)
4103 <    yy_aconf->modes |= UMODE_INVISIBLE;
4103 >    block_state.modes.value |= UMODE_WALLOP;
4104   }
4105      break;
4106  
4107    case 169:
4108 <
4109 < /* Line 1806 of yacc.c  */
4390 < #line 1216 "conf_parser.y"
4108 > /* Line 1813 of yacc.c  */
4109 > #line 1105 "conf_parser.y"
4110      {
4111    if (conf_parser_ctx.pass == 2)
4112 <    yy_aconf->modes |= UMODE_WALLOP;
4112 >    block_state.modes.value |= UMODE_SOFTCALLERID;
4113   }
4114      break;
4115  
4116    case 170:
4117 <
4118 < /* Line 1806 of yacc.c  */
4400 < #line 1220 "conf_parser.y"
4117 > /* Line 1813 of yacc.c  */
4118 > #line 1109 "conf_parser.y"
4119      {
4120    if (conf_parser_ctx.pass == 2)
4121 <    yy_aconf->modes |= UMODE_SOFTCALLERID;
4121 >    block_state.modes.value |= UMODE_CALLERID;
4122   }
4123      break;
4124  
4125    case 171:
4126 <
4127 < /* Line 1806 of yacc.c  */
4410 < #line 1224 "conf_parser.y"
4126 > /* Line 1813 of yacc.c  */
4127 > #line 1113 "conf_parser.y"
4128      {
4129    if (conf_parser_ctx.pass == 2)
4130 <    yy_aconf->modes |= UMODE_CALLERID;
4130 >    block_state.modes.value |= UMODE_LOCOPS;
4131   }
4132      break;
4133  
4134    case 172:
4135 <
4136 < /* Line 1806 of yacc.c  */
4420 < #line 1228 "conf_parser.y"
4135 > /* Line 1813 of yacc.c  */
4136 > #line 1119 "conf_parser.y"
4137      {
4138    if (conf_parser_ctx.pass == 2)
4139 <    yy_aconf->modes |= UMODE_LOCOPS;
4139 >    block_state.port.value = 0;
4140   }
4141      break;
4142  
4143 <  case 173:
4144 <
4145 < /* Line 1806 of yacc.c  */
4430 < #line 1234 "conf_parser.y"
4143 >  case 176:
4144 > /* Line 1813 of yacc.c  */
4145 > #line 1126 "conf_parser.y"
4146      {
4147    if (conf_parser_ctx.pass == 2)
4148 <    yy_aconf->port = 0;
4148 >    block_state.port.value |= OPER_FLAG_GLOBAL_KILL;
4149   }
4150      break;
4151  
4152    case 177:
4153 <
4154 < /* Line 1806 of yacc.c  */
4440 < #line 1241 "conf_parser.y"
4153 > /* Line 1813 of yacc.c  */
4154 > #line 1130 "conf_parser.y"
4155      {
4156    if (conf_parser_ctx.pass == 2)
4157 <    yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4157 >    block_state.port.value |= OPER_FLAG_REMOTE;
4158   }
4159      break;
4160  
4161    case 178:
4162 <
4163 < /* Line 1806 of yacc.c  */
4450 < #line 1245 "conf_parser.y"
4162 > /* Line 1813 of yacc.c  */
4163 > #line 1134 "conf_parser.y"
4164      {
4165    if (conf_parser_ctx.pass == 2)
4166 <    yy_aconf->port |= OPER_FLAG_REMOTE;
4166 >    block_state.port.value |= OPER_FLAG_K;
4167   }
4168      break;
4169  
4170    case 179:
4171 <
4172 < /* Line 1806 of yacc.c  */
4460 < #line 1249 "conf_parser.y"
4171 > /* Line 1813 of yacc.c  */
4172 > #line 1138 "conf_parser.y"
4173      {
4174    if (conf_parser_ctx.pass == 2)
4175 <    yy_aconf->port |= OPER_FLAG_K;
4175 >    block_state.port.value |= OPER_FLAG_UNKLINE;
4176   }
4177      break;
4178  
4179    case 180:
4180 <
4181 < /* Line 1806 of yacc.c  */
4470 < #line 1253 "conf_parser.y"
4180 > /* Line 1813 of yacc.c  */
4181 > #line 1142 "conf_parser.y"
4182      {
4183    if (conf_parser_ctx.pass == 2)
4184 <    yy_aconf->port |= OPER_FLAG_UNKLINE;
4184 >    block_state.port.value |= OPER_FLAG_DLINE;
4185   }
4186      break;
4187  
4188    case 181:
4189 <
4190 < /* Line 1806 of yacc.c  */
4480 < #line 1257 "conf_parser.y"
4189 > /* Line 1813 of yacc.c  */
4190 > #line 1146 "conf_parser.y"
4191      {
4192    if (conf_parser_ctx.pass == 2)
4193 <    yy_aconf->port |= OPER_FLAG_DLINE;
4193 >    block_state.port.value |= OPER_FLAG_UNDLINE;
4194   }
4195      break;
4196  
4197    case 182:
4198 <
4199 < /* Line 1806 of yacc.c  */
4490 < #line 1261 "conf_parser.y"
4198 > /* Line 1813 of yacc.c  */
4199 > #line 1150 "conf_parser.y"
4200      {
4201    if (conf_parser_ctx.pass == 2)
4202 <    yy_aconf->port |= OPER_FLAG_UNDLINE;
4202 >    block_state.port.value |= OPER_FLAG_X;
4203   }
4204      break;
4205  
4206    case 183:
4207 <
4208 < /* Line 1806 of yacc.c  */
4500 < #line 1265 "conf_parser.y"
4207 > /* Line 1813 of yacc.c  */
4208 > #line 1154 "conf_parser.y"
4209      {
4210    if (conf_parser_ctx.pass == 2)
4211 <    yy_aconf->port |= OPER_FLAG_X;
4211 >    block_state.port.value |= OPER_FLAG_GLINE;
4212   }
4213      break;
4214  
4215    case 184:
4216 <
4217 < /* Line 1806 of yacc.c  */
4510 < #line 1269 "conf_parser.y"
4216 > /* Line 1813 of yacc.c  */
4217 > #line 1158 "conf_parser.y"
4218      {
4219    if (conf_parser_ctx.pass == 2)
4220 <    yy_aconf->port |= OPER_FLAG_GLINE;
4220 >    block_state.port.value |= OPER_FLAG_DIE;
4221   }
4222      break;
4223  
4224    case 185:
4225 <
4226 < /* Line 1806 of yacc.c  */
4520 < #line 1273 "conf_parser.y"
4225 > /* Line 1813 of yacc.c  */
4226 > #line 1162 "conf_parser.y"
4227      {
4228    if (conf_parser_ctx.pass == 2)
4229 <    yy_aconf->port |= OPER_FLAG_DIE;
4229 >    block_state.port.value |= OPER_FLAG_RESTART;
4230   }
4231      break;
4232  
4233    case 186:
4234 <
4235 < /* Line 1806 of yacc.c  */
4530 < #line 1277 "conf_parser.y"
4234 > /* Line 1813 of yacc.c  */
4235 > #line 1166 "conf_parser.y"
4236      {
4237    if (conf_parser_ctx.pass == 2)
4238 <    yy_aconf->port |= OPER_FLAG_RESTART;
4238 >    block_state.port.value |= OPER_FLAG_REHASH;
4239   }
4240      break;
4241  
4242    case 187:
4243 <
4244 < /* Line 1806 of yacc.c  */
4540 < #line 1281 "conf_parser.y"
4243 > /* Line 1813 of yacc.c  */
4244 > #line 1170 "conf_parser.y"
4245      {
4246    if (conf_parser_ctx.pass == 2)
4247 <    yy_aconf->port |= OPER_FLAG_REHASH;
4247 >    block_state.port.value |= OPER_FLAG_ADMIN;
4248   }
4249      break;
4250  
4251    case 188:
4252 <
4253 < /* Line 1806 of yacc.c  */
4550 < #line 1285 "conf_parser.y"
4252 > /* Line 1813 of yacc.c  */
4253 > #line 1174 "conf_parser.y"
4254      {
4255    if (conf_parser_ctx.pass == 2)
4256 <    yy_aconf->port |= OPER_FLAG_ADMIN;
4256 >    block_state.port.value |= OPER_FLAG_N;
4257   }
4258      break;
4259  
4260    case 189:
4261 <
4262 < /* Line 1806 of yacc.c  */
4560 < #line 1289 "conf_parser.y"
4261 > /* Line 1813 of yacc.c  */
4262 > #line 1178 "conf_parser.y"
4263      {
4264    if (conf_parser_ctx.pass == 2)
4265 <    yy_aconf->port |= OPER_FLAG_N;
4265 >    block_state.port.value |= OPER_FLAG_OPERWALL;
4266   }
4267      break;
4268  
4269    case 190:
4270 <
4271 < /* Line 1806 of yacc.c  */
4570 < #line 1293 "conf_parser.y"
4270 > /* Line 1813 of yacc.c  */
4271 > #line 1182 "conf_parser.y"
4272      {
4273    if (conf_parser_ctx.pass == 2)
4274 <    yy_aconf->port |= OPER_FLAG_OPERWALL;
4274 >    block_state.port.value |= OPER_FLAG_GLOBOPS;
4275   }
4276      break;
4277  
4278    case 191:
4279 <
4280 < /* Line 1806 of yacc.c  */
4580 < #line 1297 "conf_parser.y"
4279 > /* Line 1813 of yacc.c  */
4280 > #line 1186 "conf_parser.y"
4281      {
4282    if (conf_parser_ctx.pass == 2)
4283 <    yy_aconf->port |= OPER_FLAG_GLOBOPS;
4283 >    block_state.port.value |= OPER_FLAG_OPER_SPY;
4284   }
4285      break;
4286  
4287    case 192:
4288 <
4289 < /* Line 1806 of yacc.c  */
4590 < #line 1301 "conf_parser.y"
4288 > /* Line 1813 of yacc.c  */
4289 > #line 1190 "conf_parser.y"
4290      {
4291    if (conf_parser_ctx.pass == 2)
4292 <    yy_aconf->port |= OPER_FLAG_OPER_SPY;
4292 >    block_state.port.value |= OPER_FLAG_REMOTEBAN;
4293   }
4294      break;
4295  
4296    case 193:
4297 <
4298 < /* Line 1806 of yacc.c  */
4600 < #line 1305 "conf_parser.y"
4297 > /* Line 1813 of yacc.c  */
4298 > #line 1194 "conf_parser.y"
4299      {
4300    if (conf_parser_ctx.pass == 2)
4301 <    yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4301 >    block_state.port.value |= OPER_FLAG_SET;
4302   }
4303      break;
4304  
4305    case 194:
4306 <
4307 < /* Line 1806 of yacc.c  */
4610 < #line 1309 "conf_parser.y"
4306 > /* Line 1813 of yacc.c  */
4307 > #line 1198 "conf_parser.y"
4308      {
4309    if (conf_parser_ctx.pass == 2)
4310 <    yy_aconf->port |= OPER_FLAG_MODULE;
4310 >    block_state.port.value |= OPER_FLAG_MODULE;
4311   }
4312      break;
4313  
4314    case 195:
4315 <
4316 < /* Line 1806 of yacc.c  */
4620 < #line 1319 "conf_parser.y"
4315 > /* Line 1813 of yacc.c  */
4316 > #line 1208 "conf_parser.y"
4317      {
4318    if (conf_parser_ctx.pass == 1)
4319    {
4320 <    yy_conf = make_conf_item(CLASS_TYPE);
4625 <    yy_class = map_to_conf(yy_conf);
4320 >    yy_class = class_make();
4321    }
4322   }
4323      break;
4324  
4325    case 196:
4326 <
4327 < /* Line 1806 of yacc.c  */
4633 < #line 1326 "conf_parser.y"
4326 > /* Line 1813 of yacc.c  */
4327 > #line 1214 "conf_parser.y"
4328      {
4329    if (conf_parser_ctx.pass == 1)
4330    {
4637    struct ConfItem *cconf = NULL;
4331      struct ClassItem *class = NULL;
4332  
4333      if (yy_class_name == NULL)
4334 <      delete_conf_item(yy_conf);
4334 >      class_free(yy_class);
4335      else
4336      {
4337 <      cconf = find_exact_name_conf(CLASS_TYPE, NULL, yy_class_name, NULL, NULL);
4337 >      class = class_find(yy_class_name, 0);
4338  
4339 <      if (cconf != NULL)                /* The class existed already */
4339 >      if (class != NULL)                /* The class existed already */
4340        {
4341          int user_count = 0;
4342  
4343 <        rebuild_cidr_class(cconf, yy_class);
4651 <
4652 <        class = map_to_conf(cconf);
4343 >        rebuild_cidr_class(class, yy_class);
4344  
4345 <        user_count = class->curr_user_count;
4345 >        user_count = class->ref_count;
4346          memcpy(class, yy_class, sizeof(*class));
4347 <        class->curr_user_count = user_count;
4347 >        class->ref_count = user_count;
4348          class->active = 1;
4349  
4350 <        delete_conf_item(yy_conf);
4350 >        class_free(yy_class);
4351  
4352 <        MyFree(cconf->name);            /* Allows case change of class name */
4353 <        cconf->name = yy_class_name;
4352 >        MyFree(class->name);            /* Allows case change of class name */
4353 >        class->name = yy_class_name;
4354        }
4355        else      /* Brand new class */
4356        {
4357 <        MyFree(yy_conf->name);          /* just in case it was allocated */
4358 <        yy_conf->name = yy_class_name;
4357 >        MyFree(yy_class->name);          /* just in case it was allocated */
4358 >        yy_class->name = yy_class_name;
4359          yy_class->active = 1;
4360        }
4361      }
# Line 4675 | Line 4366 | yyreduce:
4366      break;
4367  
4368    case 213:
4369 <
4370 < /* Line 1806 of yacc.c  */
4680 < #line 1384 "conf_parser.y"
4369 > /* Line 1813 of yacc.c  */
4370 > #line 1268 "conf_parser.y"
4371      {
4372    if (conf_parser_ctx.pass == 1)
4373    {
4374      MyFree(yy_class_name);
4375 <    DupString(yy_class_name, yylval.string);
4375 >    yy_class_name = xstrdup(yylval.string);
4376    }
4377   }
4378      break;
4379  
4380    case 214:
4381 <
4382 < /* Line 1806 of yacc.c  */
4693 < #line 1393 "conf_parser.y"
4381 > /* Line 1813 of yacc.c  */
4382 > #line 1277 "conf_parser.y"
4383      {
4384    if (conf_parser_ctx.pass == 1)
4385      yy_class->ping_freq = (yyvsp[(3) - (4)].number);
# Line 4698 | Line 4387 | yyreduce:
4387      break;
4388  
4389    case 215:
4390 <
4391 < /* Line 1806 of yacc.c  */
4703 < #line 1399 "conf_parser.y"
4390 > /* Line 1813 of yacc.c  */
4391 > #line 1283 "conf_parser.y"
4392      {
4393    if (conf_parser_ctx.pass == 1)
4394 <    yy_class->ping_warning = (yyvsp[(3) - (4)].number);
4394 >    yy_class->max_perip = (yyvsp[(3) - (4)].number);
4395   }
4396      break;
4397  
4398    case 216:
4399 <
4400 < /* Line 1806 of yacc.c  */
4713 < #line 1405 "conf_parser.y"
4399 > /* Line 1813 of yacc.c  */
4400 > #line 1289 "conf_parser.y"
4401      {
4402    if (conf_parser_ctx.pass == 1)
4403 <    yy_class->max_perip = (yyvsp[(3) - (4)].number);
4403 >    yy_class->con_freq = (yyvsp[(3) - (4)].number);
4404   }
4405      break;
4406  
4407    case 217:
4408 <
4409 < /* Line 1806 of yacc.c  */
4723 < #line 1411 "conf_parser.y"
4408 > /* Line 1813 of yacc.c  */
4409 > #line 1295 "conf_parser.y"
4410      {
4411    if (conf_parser_ctx.pass == 1)
4412 <    yy_class->con_freq = (yyvsp[(3) - (4)].number);
4412 >    yy_class->max_total = (yyvsp[(3) - (4)].number);
4413   }
4414      break;
4415  
4416    case 218:
4417 <
4418 < /* Line 1806 of yacc.c  */
4733 < #line 1417 "conf_parser.y"
4417 > /* Line 1813 of yacc.c  */
4418 > #line 1301 "conf_parser.y"
4419      {
4420    if (conf_parser_ctx.pass == 1)
4421 <    yy_class->max_total = (yyvsp[(3) - (4)].number);
4421 >    yy_class->max_global = (yyvsp[(3) - (4)].number);
4422   }
4423      break;
4424  
4425    case 219:
4426 <
4427 < /* Line 1806 of yacc.c  */
4743 < #line 1423 "conf_parser.y"
4426 > /* Line 1813 of yacc.c  */
4427 > #line 1307 "conf_parser.y"
4428      {
4429    if (conf_parser_ctx.pass == 1)
4430 <    yy_class->max_global = (yyvsp[(3) - (4)].number);
4430 >    yy_class->max_local = (yyvsp[(3) - (4)].number);
4431   }
4432      break;
4433  
4434    case 220:
4435 <
4436 < /* Line 1806 of yacc.c  */
4753 < #line 1429 "conf_parser.y"
4435 > /* Line 1813 of yacc.c  */
4436 > #line 1313 "conf_parser.y"
4437      {
4438    if (conf_parser_ctx.pass == 1)
4439 <    yy_class->max_local = (yyvsp[(3) - (4)].number);
4439 >    yy_class->max_ident = (yyvsp[(3) - (4)].number);
4440   }
4441      break;
4442  
4443    case 221:
4444 <
4445 < /* Line 1806 of yacc.c  */
4763 < #line 1435 "conf_parser.y"
4444 > /* Line 1813 of yacc.c  */
4445 > #line 1319 "conf_parser.y"
4446      {
4447    if (conf_parser_ctx.pass == 1)
4448 <    yy_class->max_ident = (yyvsp[(3) - (4)].number);
4448 >    yy_class->max_sendq = (yyvsp[(3) - (4)].number);
4449   }
4450      break;
4451  
4452    case 222:
4453 <
4454 < /* Line 1806 of yacc.c  */
4773 < #line 1441 "conf_parser.y"
4453 > /* Line 1813 of yacc.c  */
4454 > #line 1325 "conf_parser.y"
4455      {
4456    if (conf_parser_ctx.pass == 1)
4457 <    yy_class->max_sendq = (yyvsp[(3) - (4)].number);
4457 >    if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
4458 >      yy_class->max_recvq = (yyvsp[(3) - (4)].number);
4459   }
4460      break;
4461  
4462    case 223:
4463 <
4464 < /* Line 1806 of yacc.c  */
4783 < #line 1447 "conf_parser.y"
4463 > /* Line 1813 of yacc.c  */
4464 > #line 1332 "conf_parser.y"
4465      {
4466    if (conf_parser_ctx.pass == 1)
4467 <    yy_class->cidr_bitlen_ipv4 = (yyvsp[(3) - (4)].number);
4467 >    yy_class->cidr_bitlen_ipv4 = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4468   }
4469      break;
4470  
4471    case 224:
4472 <
4473 < /* Line 1806 of yacc.c  */
4793 < #line 1453 "conf_parser.y"
4472 > /* Line 1813 of yacc.c  */
4473 > #line 1338 "conf_parser.y"
4474      {
4475    if (conf_parser_ctx.pass == 1)
4476 <    yy_class->cidr_bitlen_ipv6 = (yyvsp[(3) - (4)].number);
4476 >    yy_class->cidr_bitlen_ipv6 = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4477   }
4478      break;
4479  
4480    case 225:
4481 <
4482 < /* Line 1806 of yacc.c  */
4803 < #line 1459 "conf_parser.y"
4481 > /* Line 1813 of yacc.c  */
4482 > #line 1344 "conf_parser.y"
4483      {
4484    if (conf_parser_ctx.pass == 1)
4485      yy_class->number_per_cidr = (yyvsp[(3) - (4)].number);
# Line 4808 | Line 4487 | yyreduce:
4487      break;
4488  
4489    case 226:
4490 <
4491 < /* Line 1806 of yacc.c  */
4813 < #line 1468 "conf_parser.y"
4490 > /* Line 1813 of yacc.c  */
4491 > #line 1353 "conf_parser.y"
4492      {
4493    if (conf_parser_ctx.pass == 2)
4494 <  {
4817 <    listener_address = NULL;
4818 <    listener_flags = 0;
4819 <  }
4820 < }
4821 <    break;
4822 <
4823 <  case 227:
4824 <
4825 < /* Line 1806 of yacc.c  */
4826 < #line 1475 "conf_parser.y"
4827 <    {
4828 <  if (conf_parser_ctx.pass == 2)
4829 <  {
4830 <    MyFree(listener_address);
4831 <    listener_address = NULL;
4832 <  }
4494 >    reset_block_state();
4495   }
4496      break;
4497  
4498    case 228:
4499 <
4500 < /* Line 1806 of yacc.c  */
4839 < #line 1484 "conf_parser.y"
4499 > /* Line 1813 of yacc.c  */
4500 > #line 1359 "conf_parser.y"
4501      {
4502 <  listener_flags = 0;
4502 >  block_state.flags.value = 0;
4503   }
4504      break;
4505  
4506    case 232:
4507 <
4508 < /* Line 1806 of yacc.c  */
4848 < #line 1490 "conf_parser.y"
4507 > /* Line 1813 of yacc.c  */
4508 > #line 1365 "conf_parser.y"
4509      {
4510    if (conf_parser_ctx.pass == 2)
4511 <    listener_flags |= LISTENER_SSL;
4511 >    block_state.flags.value |= LISTENER_SSL;
4512   }
4513      break;
4514  
4515    case 233:
4516 <
4517 < /* Line 1806 of yacc.c  */
4858 < #line 1494 "conf_parser.y"
4516 > /* Line 1813 of yacc.c  */
4517 > #line 1369 "conf_parser.y"
4518      {
4519    if (conf_parser_ctx.pass == 2)
4520 <    listener_flags |= LISTENER_HIDDEN;
4520 >    block_state.flags.value |=LISTENER_HIDDEN;
4521   }
4522      break;
4523  
4524    case 234:
4525 <
4526 < /* Line 1806 of yacc.c  */
4868 < #line 1498 "conf_parser.y"
4525 > /* Line 1813 of yacc.c  */
4526 > #line 1373 "conf_parser.y"
4527      {
4528    if (conf_parser_ctx.pass == 2)
4529 <    listener_flags |= LISTENER_SERVER;
4529 >   block_state.flags.value |=LISTENER_SERVER;
4530   }
4531      break;
4532  
4533    case 242:
4534 <
4535 < /* Line 1806 of yacc.c  */
4536 < #line 1508 "conf_parser.y"
4879 <    { listener_flags = 0; }
4534 > /* Line 1813 of yacc.c  */
4535 > #line 1381 "conf_parser.y"
4536 >    { block_state.flags.value |= 0; }
4537      break;
4538  
4539    case 246:
4540 <
4541 < /* Line 1806 of yacc.c  */
4885 < #line 1513 "conf_parser.y"
4540 > /* Line 1813 of yacc.c  */
4541 > #line 1386 "conf_parser.y"
4542      {
4543    if (conf_parser_ctx.pass == 2)
4544    {
4545 <    if ((listener_flags & LISTENER_SSL))
4545 >    if (block_state.flags.value & LISTENER_SSL)
4546   #ifdef HAVE_LIBCRYPTO
4547        if (!ServerInfo.server_ctx)
4548   #endif
# Line 4894 | Line 4550 | yyreduce:
4550          yyerror("SSL not available - port closed");
4551          break;
4552        }
4553 <    add_listener((yyvsp[(1) - (1)].number), listener_address, listener_flags);
4553 >    add_listener((yyvsp[(1) - (1)].number), block_state.addr.buf, block_state.flags.value);
4554    }
4555   }
4556      break;
4557  
4558    case 247:
4559 <
4560 < /* Line 1806 of yacc.c  */
4905 < #line 1527 "conf_parser.y"
4559 > /* Line 1813 of yacc.c  */
4560 > #line 1400 "conf_parser.y"
4561      {
4562    if (conf_parser_ctx.pass == 2)
4563    {
4564      int i;
4565  
4566 <    if ((listener_flags & LISTENER_SSL))
4566 >    if (block_state.flags.value & LISTENER_SSL)
4567   #ifdef HAVE_LIBCRYPTO
4568        if (!ServerInfo.server_ctx)
4569   #endif
# Line 4918 | Line 4573 | yyreduce:
4573        }
4574  
4575      for (i = (yyvsp[(1) - (3)].number); i <= (yyvsp[(3) - (3)].number); ++i)
4576 <      add_listener(i, listener_address, listener_flags);
4576 >      add_listener(i, block_state.addr.buf, block_state.flags.value);
4577    }
4578   }
4579      break;
4580  
4581    case 248:
4582 <
4583 < /* Line 1806 of yacc.c  */
4929 < #line 1547 "conf_parser.y"
4582 > /* Line 1813 of yacc.c  */
4583 > #line 1420 "conf_parser.y"
4584      {
4585    if (conf_parser_ctx.pass == 2)
4586 <  {
4933 <    MyFree(listener_address);
4934 <    DupString(listener_address, yylval.string);
4935 <  }
4586 >    strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4587   }
4588      break;
4589  
4590    case 249:
4591 <
4592 < /* Line 1806 of yacc.c  */
4942 < #line 1556 "conf_parser.y"
4591 > /* Line 1813 of yacc.c  */
4592 > #line 1426 "conf_parser.y"
4593      {
4594    if (conf_parser_ctx.pass == 2)
4595 <  {
4946 <    MyFree(listener_address);
4947 <    DupString(listener_address, yylval.string);
4948 <  }
4595 >    strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4596   }
4597      break;
4598  
4599    case 250:
4600 <
4601 < /* Line 1806 of yacc.c  */
4955 < #line 1568 "conf_parser.y"
4600 > /* Line 1813 of yacc.c  */
4601 > #line 1435 "conf_parser.y"
4602      {
4603    if (conf_parser_ctx.pass == 2)
4604 <  {
4959 <    yy_conf = make_conf_item(CLIENT_TYPE);
4960 <    yy_aconf = map_to_conf(yy_conf);
4961 <  }
4962 <  else
4963 <  {
4964 <    MyFree(class_name);
4965 <    class_name = NULL;
4966 <  }
4604 >    reset_block_state();
4605   }
4606      break;
4607  
4608    case 251:
4609 <
4610 < /* Line 1806 of yacc.c  */
4973 < #line 1580 "conf_parser.y"
4974 <    {
4975 <  if (conf_parser_ctx.pass == 2)
4976 <  {
4977 <    struct CollectItem *yy_tmp = NULL;
4978 <    dlink_node *ptr = NULL, *next_ptr = NULL;
4979 <
4980 <    if (yy_aconf->user && yy_aconf->host)
4981 <    {
4982 <      conf_add_class_to_conf(yy_conf, class_name);
4983 <      add_conf_by_address(CONF_CLIENT, yy_aconf);
4984 <    }
4985 <    else
4986 <      delete_conf_item(yy_conf);
4987 <
4988 <    /* copy over settings from first struct */
4989 <    DLINK_FOREACH_SAFE(ptr, next_ptr, col_conf_list.head)
4609 > /* Line 1813 of yacc.c  */
4610 > #line 1439 "conf_parser.y"
4611      {
4612 <      struct AccessItem *new_aconf;
4992 <      struct ConfItem *new_conf;
4612 >  dlink_node *ptr = NULL;
4613  
4614 <      new_conf = make_conf_item(CLIENT_TYPE);
4995 <      new_aconf = map_to_conf(new_conf);
4996 <
4997 <      yy_tmp = ptr->data;
4998 <
4999 <      assert(yy_tmp->user && yy_tmp->host);
5000 <
5001 <      if (yy_aconf->passwd != NULL)
5002 <        DupString(new_aconf->passwd, yy_aconf->passwd);
5003 <      if (yy_conf->name != NULL)
5004 <        DupString(new_conf->name, yy_conf->name);
5005 <      if (yy_aconf->passwd != NULL)
5006 <        DupString(new_aconf->passwd, yy_aconf->passwd);
5007 <
5008 <      new_aconf->flags = yy_aconf->flags;
5009 <      new_aconf->port  = yy_aconf->port;
5010 <
5011 <      DupString(new_aconf->user, yy_tmp->user);
5012 <      collapse(new_aconf->user);
5013 <
5014 <      DupString(new_aconf->host, yy_tmp->host);
5015 <      collapse(new_aconf->host);
5016 <
5017 <      conf_add_class_to_conf(new_conf, class_name);
5018 <      add_conf_by_address(CONF_CLIENT, new_aconf);
5019 <      dlinkDelete(&yy_tmp->node, &col_conf_list);
5020 <      free_collect_item(yy_tmp);
5021 <    }
5022 <
5023 <    MyFree(class_name);
5024 <    class_name = NULL;
5025 <    yy_conf = NULL;
5026 <    yy_aconf = NULL;
5027 <  }
5028 < }
4614 >  if (conf_parser_ctx.pass != 2)
4615      break;
4616  
4617 <  case 263:
5032 <
5033 < /* Line 1806 of yacc.c  */
5034 < #line 1642 "conf_parser.y"
5035 <    {
5036 <  if (conf_parser_ctx.pass == 2)
4617 >  DLINK_FOREACH(ptr, block_state.mask.list.head)
4618    {
4619 <    struct CollectItem *yy_tmp = NULL;
4619 >    struct MaskItem *conf = NULL;
4620      struct split_nuh_item nuh;
4621  
4622 <    nuh.nuhmask  = yylval.string;
4622 >    nuh.nuhmask  = ptr->data;
4623      nuh.nickptr  = NULL;
4624      nuh.userptr  = userbuf;
4625      nuh.hostptr  = hostbuf;
5045
4626      nuh.nicksize = 0;
4627      nuh.usersize = sizeof(userbuf);
4628      nuh.hostsize = sizeof(hostbuf);
5049
4629      split_nuh(&nuh);
4630  
4631 <    if (yy_aconf->user == NULL)
4632 <    {
4633 <      DupString(yy_aconf->user, userbuf);
4634 <      DupString(yy_aconf->host, hostbuf);
4635 <    }
4636 <    else
4637 <    {
4638 <      yy_tmp = MyMalloc(sizeof(struct CollectItem));
4631 >    conf        = conf_make(CONF_CLIENT);
4632 >    conf->user  = xstrdup(collapse(userbuf));
4633 >    conf->host  = xstrdup(collapse(hostbuf));
4634 >
4635 >    if (block_state.pass.buf[0])
4636 >      conf->passwd = xstrdup(block_state.pass.buf);
4637 >    if (block_state.name.buf[0])
4638 >      conf->passwd = xstrdup(block_state.name.buf);
4639  
4640 <      DupString(yy_tmp->user, userbuf);
4641 <      DupString(yy_tmp->host, hostbuf);
4640 >    conf->flags = block_state.flags.value;
4641 >    conf->port  = block_state.port.value;
4642  
4643 <      dlinkAdd(yy_tmp, &yy_tmp->node, &col_conf_list);
4644 <    }
4643 >    conf_add_class_to_conf(conf, block_state.class.buf);
4644 >    add_conf_by_address(CONF_CLIENT, conf);
4645    }
4646   }
4647      break;
4648  
4649 <  case 264:
4650 <
4651 < /* Line 1806 of yacc.c  */
5073 < #line 1679 "conf_parser.y"
4649 >  case 263:
4650 > /* Line 1813 of yacc.c  */
4651 > #line 1482 "conf_parser.y"
4652      {
4653    if (conf_parser_ctx.pass == 2)
4654 <  {
4655 <    /* be paranoid */
4656 <    if (yy_aconf->passwd != NULL)
5079 <      memset(yy_aconf->passwd, 0, strlen(yy_aconf->passwd));
4654 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4655 > }
4656 >    break;
4657  
4658 <    MyFree(yy_aconf->passwd);
4659 <    DupString(yy_aconf->passwd, yylval.string);
4660 <  }
4658 >  case 264:
4659 > /* Line 1813 of yacc.c  */
4660 > #line 1488 "conf_parser.y"
4661 >    {
4662 >  if (conf_parser_ctx.pass == 2)
4663 >    strlcpy(block_state.pass.buf, yylval.string, sizeof(block_state.pass.buf));
4664   }
4665      break;
4666  
4667    case 265:
4668 <
4669 < /* Line 1806 of yacc.c  */
5090 < #line 1692 "conf_parser.y"
4668 > /* Line 1813 of yacc.c  */
4669 > #line 1494 "conf_parser.y"
4670      {
4671    if (conf_parser_ctx.pass == 2)
4672 <  {
5094 <    MyFree(class_name);
5095 <    DupString(class_name, yylval.string);
5096 <  }
4672 >    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4673   }
4674      break;
4675  
4676    case 266:
4677 <
4678 < /* Line 1806 of yacc.c  */
5103 < #line 1701 "conf_parser.y"
4677 > /* Line 1813 of yacc.c  */
4678 > #line 1500 "conf_parser.y"
4679      {
4680    if (conf_parser_ctx.pass == 2)
4681    {
4682      if (yylval.number)
4683 <      SetConfEncrypted(yy_aconf);
4683 >      block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
4684      else
4685 <      ClearConfEncrypted(yy_aconf);
4685 >      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4686    }
4687   }
4688      break;
4689  
4690    case 267:
4691 <
4692 < /* Line 1806 of yacc.c  */
5118 < #line 1712 "conf_parser.y"
4691 > /* Line 1813 of yacc.c  */
4692 > #line 1511 "conf_parser.y"
4693      {
4694 +  if (conf_parser_ctx.pass == 2)
4695 +    block_state.flags.value = 0;
4696   }
4697      break;
4698  
4699    case 271:
4700 <
4701 < /* Line 1806 of yacc.c  */
5126 < #line 1717 "conf_parser.y"
4700 > /* Line 1813 of yacc.c  */
4701 > #line 1518 "conf_parser.y"
4702      {
4703    if (conf_parser_ctx.pass == 2)
4704 <    yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
4704 >    block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4705   }
4706      break;
4707  
4708    case 272:
4709 <
4710 < /* Line 1806 of yacc.c  */
5136 < #line 1721 "conf_parser.y"
4709 > /* Line 1813 of yacc.c  */
4710 > #line 1522 "conf_parser.y"
4711      {
4712    if (conf_parser_ctx.pass == 2)
4713 <    yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
4713 >    block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4714   }
4715      break;
4716  
4717    case 273:
4718 <
4719 < /* Line 1806 of yacc.c  */
5146 < #line 1725 "conf_parser.y"
4718 > /* Line 1813 of yacc.c  */
4719 > #line 1526 "conf_parser.y"
4720      {
4721    if (conf_parser_ctx.pass == 2)
4722 <    yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
4722 >    block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4723   }
4724      break;
4725  
4726    case 274:
4727 <
4728 < /* Line 1806 of yacc.c  */
5156 < #line 1729 "conf_parser.y"
4727 > /* Line 1813 of yacc.c  */
4728 > #line 1530 "conf_parser.y"
4729      {
4730    if (conf_parser_ctx.pass == 2)
4731 <    yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
4731 >    block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4732   }
4733      break;
4734  
4735    case 275:
4736 <
4737 < /* Line 1806 of yacc.c  */
5166 < #line 1733 "conf_parser.y"
4736 > /* Line 1813 of yacc.c  */
4737 > #line 1534 "conf_parser.y"
4738      {
4739    if (conf_parser_ctx.pass == 2)
4740 <    yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
4740 >    block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4741   }
4742      break;
4743  
4744    case 276:
4745 <
4746 < /* Line 1806 of yacc.c  */
5176 < #line 1737 "conf_parser.y"
4745 > /* Line 1813 of yacc.c  */
4746 > #line 1538 "conf_parser.y"
4747      {
4748    if (conf_parser_ctx.pass == 2)
4749 <    yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
4749 >    block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4750   }
4751      break;
4752  
4753    case 277:
4754 <
4755 < /* Line 1806 of yacc.c  */
5186 < #line 1741 "conf_parser.y"
4754 > /* Line 1813 of yacc.c  */
4755 > #line 1542 "conf_parser.y"
4756      {
4757    if (conf_parser_ctx.pass == 2)
4758 <    yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
4758 >    block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
4759   }
4760      break;
4761  
4762    case 278:
4763 <
4764 < /* Line 1806 of yacc.c  */
5196 < #line 1745 "conf_parser.y"
4763 > /* Line 1813 of yacc.c  */
4764 > #line 1546 "conf_parser.y"
4765      {
4766    if (conf_parser_ctx.pass == 2)
4767 <    yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
4767 >    block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4768   }
4769      break;
4770  
4771    case 279:
4772 <
4773 < /* Line 1806 of yacc.c  */
5206 < #line 1749 "conf_parser.y"
4772 > /* Line 1813 of yacc.c  */
4773 > #line 1550 "conf_parser.y"
4774      {
4775    if (conf_parser_ctx.pass == 2)
4776 <    yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
4776 >    block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4777   }
4778      break;
4779  
4780    case 280:
4781 <
4782 < /* Line 1806 of yacc.c  */
5216 < #line 1756 "conf_parser.y"
4781 > /* Line 1813 of yacc.c  */
4782 > #line 1556 "conf_parser.y"
4783      {
4784 <  if (conf_parser_ctx.pass == 2)
4785 <  {
5220 <    MyFree(yy_conf->name);
4784 >  if (conf_parser_ctx.pass != 2)
4785 >    break;
4786  
4787 <    if (strlen(yylval.string) < HOSTLEN)
4788 <    {    
4789 <      DupString(yy_conf->name, yylval.string);
4790 <      yy_aconf->flags |= CONF_FLAGS_SPOOF_IP;
5226 <    }
5227 <    else
5228 <    {
5229 <      ilog(LOG_TYPE_IRCD, "Spoofs must be less than %d..ignoring it", HOSTLEN);
5230 <      yy_conf->name = NULL;
5231 <    }
4787 >  if (strlen(yylval.string) <= HOSTLEN && valid_hostname(yylval.string))
4788 >  {
4789 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4790 >    block_state.flags.value |= CONF_FLAGS_SPOOF_IP;
4791    }
4792 +  else
4793 +    ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4794   }
4795      break;
4796  
4797    case 281:
4798 <
4799 < /* Line 1806 of yacc.c  */
5239 < #line 1775 "conf_parser.y"
4798 > /* Line 1813 of yacc.c  */
4799 > #line 1570 "conf_parser.y"
4800      {
4801 <  if (conf_parser_ctx.pass == 2)
4802 <  {
4803 <    yy_aconf->flags |= CONF_FLAGS_REDIR;
4804 <    MyFree(yy_conf->name);
4805 <    DupString(yy_conf->name, yylval.string);
5246 <  }
4801 >  if (conf_parser_ctx.pass != 2)
4802 >    break;
4803 >
4804 >  strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4805 >  block_state.flags.value |= CONF_FLAGS_REDIR;
4806   }
4807      break;
4808  
4809    case 282:
4810 <
4811 < /* Line 1806 of yacc.c  */
5253 < #line 1785 "conf_parser.y"
4810 > /* Line 1813 of yacc.c  */
4811 > #line 1579 "conf_parser.y"
4812      {
4813 <  if (conf_parser_ctx.pass == 2)
4814 <  {
4815 <    yy_aconf->flags |= CONF_FLAGS_REDIR;
4816 <    yy_aconf->port = (yyvsp[(3) - (4)].number);
5259 <  }
4813 >  if (conf_parser_ctx.pass != 2)
4814 >    break;
4815 >  block_state.flags.value |= CONF_FLAGS_REDIR;
4816 >  block_state.port.value = (yyvsp[(3) - (4)].number);
4817   }
4818      break;
4819  
4820    case 283:
4821 <
4822 < /* Line 1806 of yacc.c  */
5266 < #line 1798 "conf_parser.y"
4821 > /* Line 1813 of yacc.c  */
4822 > #line 1591 "conf_parser.y"
4823      {
4824    if (conf_parser_ctx.pass == 2)
4825    {
# Line 5274 | Line 4830 | yyreduce:
4830      break;
4831  
4832    case 284:
4833 <
4834 < /* Line 1806 of yacc.c  */
5279 < #line 1805 "conf_parser.y"
4833 > /* Line 1813 of yacc.c  */
4834 > #line 1598 "conf_parser.y"
4835      {
4836    if (conf_parser_ctx.pass == 2)
4837    {
# Line 5287 | Line 4842 | yyreduce:
4842      break;
4843  
4844    case 291:
4845 <
4846 < /* Line 1806 of yacc.c  */
5292 < #line 1817 "conf_parser.y"
4845 > /* Line 1813 of yacc.c  */
4846 > #line 1610 "conf_parser.y"
4847      {
4848    if (conf_parser_ctx.pass == 2)
4849    {
4850      MyFree(resv_reason);
4851 <    DupString(resv_reason, yylval.string);
4851 >    resv_reason = xstrdup(yylval.string);
4852    }
4853   }
4854      break;
4855  
4856    case 292:
4857 <
4858 < /* Line 1806 of yacc.c  */
5305 < #line 1826 "conf_parser.y"
4857 > /* Line 1813 of yacc.c  */
4858 > #line 1619 "conf_parser.y"
4859      {
4860    if (conf_parser_ctx.pass == 2)
4861    {
# Line 5319 | Line 4872 | yyreduce:
4872      break;
4873  
4874    case 293:
4875 <
4876 < /* Line 1806 of yacc.c  */
5324 < #line 1841 "conf_parser.y"
4875 > /* Line 1813 of yacc.c  */
4876 > #line 1634 "conf_parser.y"
4877      {
4878    if (conf_parser_ctx.pass == 2)
4879    {
# Line 5333 | Line 4885 | yyreduce:
4885      break;
4886  
4887    case 299:
4888 <
4889 < /* Line 1806 of yacc.c  */
5338 < #line 1859 "conf_parser.y"
4888 > /* Line 1813 of yacc.c  */
4889 > #line 1652 "conf_parser.y"
4890      {
4891    if (conf_parser_ctx.pass == 2)
4892    {
4893      if (valid_servname(yylval.string))
4894      {
4895 <      yy_conf = make_conf_item(SERVICE_TYPE);
4896 <      DupString(yy_conf->name, yylval.string);
4895 >      yy_conf = conf_make(CONF_SERVICE);
4896 >      yy_conf->name = xstrdup(yylval.string);
4897      }
4898    }
4899   }
4900      break;
4901  
4902    case 300:
4903 <
4904 < /* Line 1806 of yacc.c  */
5354 < #line 1874 "conf_parser.y"
4903 > /* Line 1813 of yacc.c  */
4904 > #line 1667 "conf_parser.y"
4905      {
4906    if (conf_parser_ctx.pass == 2)
4907    {
4908 <    yy_conf = make_conf_item(ULINE_TYPE);
4909 <    yy_match_item = map_to_conf(yy_conf);
5360 <    yy_match_item->action = SHARED_ALL;
4908 >    yy_conf = conf_make(CONF_ULINE);
4909 >    yy_conf->flags = SHARED_ALL;
4910    }
4911   }
4912      break;
4913  
4914    case 301:
4915 <
4916 < /* Line 1806 of yacc.c  */
5368 < #line 1882 "conf_parser.y"
4915 > /* Line 1813 of yacc.c  */
4916 > #line 1674 "conf_parser.y"
4917      {
4918    if (conf_parser_ctx.pass == 2)
4919    {
# Line 5375 | Line 4923 | yyreduce:
4923      break;
4924  
4925    case 308:
4926 <
4927 < /* Line 1806 of yacc.c  */
5380 < #line 1893 "conf_parser.y"
4926 > /* Line 1813 of yacc.c  */
4927 > #line 1685 "conf_parser.y"
4928      {
4929    if (conf_parser_ctx.pass == 2)
4930    {
# Line 5388 | Line 4935 | yyreduce:
4935      break;
4936  
4937    case 309:
4938 <
4939 < /* Line 1806 of yacc.c  */
5393 < #line 1902 "conf_parser.y"
4938 > /* Line 1813 of yacc.c  */
4939 > #line 1694 "conf_parser.y"
4940      {
4941    if (conf_parser_ctx.pass == 2)
4942    {
# Line 5407 | Line 4953 | yyreduce:
4953  
4954      split_nuh(&nuh);
4955  
4956 <    DupString(yy_match_item->user, userbuf);
4957 <    DupString(yy_match_item->host, hostbuf);
4956 >    DupString(yy_conf->user, userbuf);
4957 >    DupString(yy_conf->host, hostbuf);
4958    }
4959   }
4960      break;
4961  
4962    case 310:
4963 <
4964 < /* Line 1806 of yacc.c  */
5419 < #line 1924 "conf_parser.y"
4963 > /* Line 1813 of yacc.c  */
4964 > #line 1716 "conf_parser.y"
4965      {
4966    if (conf_parser_ctx.pass == 2)
4967 <    yy_match_item->action = 0;
4967 >    yy_conf->flags = 0;
4968   }
4969      break;
4970  
4971    case 314:
4972 <
4973 < /* Line 1806 of yacc.c  */
5429 < #line 1931 "conf_parser.y"
4972 > /* Line 1813 of yacc.c  */
4973 > #line 1723 "conf_parser.y"
4974      {
4975    if (conf_parser_ctx.pass == 2)
4976 <    yy_match_item->action |= SHARED_KLINE;
4976 >    yy_conf->flags |= SHARED_KLINE;
4977   }
4978      break;
4979  
4980    case 315:
4981 <
4982 < /* Line 1806 of yacc.c  */
5439 < #line 1935 "conf_parser.y"
4981 > /* Line 1813 of yacc.c  */
4982 > #line 1727 "conf_parser.y"
4983      {
4984    if (conf_parser_ctx.pass == 2)
4985 <    yy_match_item->action |= SHARED_UNKLINE;
4985 >    yy_conf->flags |= SHARED_UNKLINE;
4986   }
4987      break;
4988  
4989    case 316:
4990 <
4991 < /* Line 1806 of yacc.c  */
5449 < #line 1939 "conf_parser.y"
4990 > /* Line 1813 of yacc.c  */
4991 > #line 1731 "conf_parser.y"
4992      {
4993    if (conf_parser_ctx.pass == 2)
4994 <    yy_match_item->action |= SHARED_DLINE;
4994 >    yy_conf->flags |= SHARED_DLINE;
4995   }
4996      break;
4997  
4998    case 317:
4999 <
5000 < /* Line 1806 of yacc.c  */
5459 < #line 1943 "conf_parser.y"
4999 > /* Line 1813 of yacc.c  */
5000 > #line 1735 "conf_parser.y"
5001      {
5002    if (conf_parser_ctx.pass == 2)
5003 <    yy_match_item->action |= SHARED_UNDLINE;
5003 >    yy_conf->flags |= SHARED_UNDLINE;
5004   }
5005      break;
5006  
5007    case 318:
5008 <
5009 < /* Line 1806 of yacc.c  */
5469 < #line 1947 "conf_parser.y"
5008 > /* Line 1813 of yacc.c  */
5009 > #line 1739 "conf_parser.y"
5010      {
5011    if (conf_parser_ctx.pass == 2)
5012 <    yy_match_item->action |= SHARED_XLINE;
5012 >    yy_conf->flags |= SHARED_XLINE;
5013   }
5014      break;
5015  
5016    case 319:
5017 <
5018 < /* Line 1806 of yacc.c  */
5479 < #line 1951 "conf_parser.y"
5017 > /* Line 1813 of yacc.c  */
5018 > #line 1743 "conf_parser.y"
5019      {
5020    if (conf_parser_ctx.pass == 2)
5021 <    yy_match_item->action |= SHARED_UNXLINE;
5021 >    yy_conf->flags |= SHARED_UNXLINE;
5022   }
5023      break;
5024  
5025    case 320:
5026 <
5027 < /* Line 1806 of yacc.c  */
5489 < #line 1955 "conf_parser.y"
5026 > /* Line 1813 of yacc.c  */
5027 > #line 1747 "conf_parser.y"
5028      {
5029    if (conf_parser_ctx.pass == 2)
5030 <    yy_match_item->action |= SHARED_RESV;
5030 >    yy_conf->flags |= SHARED_RESV;
5031   }
5032      break;
5033  
5034    case 321:
5035 <
5036 < /* Line 1806 of yacc.c  */
5499 < #line 1959 "conf_parser.y"
5035 > /* Line 1813 of yacc.c  */
5036 > #line 1751 "conf_parser.y"
5037      {
5038    if (conf_parser_ctx.pass == 2)
5039 <    yy_match_item->action |= SHARED_UNRESV;
5039 >    yy_conf->flags |= SHARED_UNRESV;
5040   }
5041      break;
5042  
5043    case 322:
5044 <
5045 < /* Line 1806 of yacc.c  */
5509 < #line 1963 "conf_parser.y"
5044 > /* Line 1813 of yacc.c  */
5045 > #line 1755 "conf_parser.y"
5046      {
5047    if (conf_parser_ctx.pass == 2)
5048 <    yy_match_item->action |= SHARED_LOCOPS;
5048 >    yy_conf->flags |= SHARED_LOCOPS;
5049   }
5050      break;
5051  
5052    case 323:
5053 <
5054 < /* Line 1806 of yacc.c  */
5519 < #line 1967 "conf_parser.y"
5053 > /* Line 1813 of yacc.c  */
5054 > #line 1759 "conf_parser.y"
5055      {
5056    if (conf_parser_ctx.pass == 2)
5057 <    yy_match_item->action = SHARED_ALL;
5057 >    yy_conf->flags = SHARED_ALL;
5058   }
5059      break;
5060  
5061    case 324:
5062 <
5063 < /* Line 1806 of yacc.c  */
5529 < #line 1976 "conf_parser.y"
5062 > /* Line 1813 of yacc.c  */
5063 > #line 1768 "conf_parser.y"
5064      {
5065    if (conf_parser_ctx.pass == 2)
5066    {
5067 <    yy_conf = make_conf_item(CLUSTER_TYPE);
5534 <    yy_conf->flags = SHARED_ALL;
5067 >    yy_conf = conf_make(CONF_CLUSTER);
5068    }
5069   }
5070      break;
5071  
5072    case 325:
5073 <
5074 < /* Line 1806 of yacc.c  */
5542 < #line 1983 "conf_parser.y"
5073 > /* Line 1813 of yacc.c  */
5074 > #line 1774 "conf_parser.y"
5075      {
5076    if (conf_parser_ctx.pass == 2)
5077    {
# Line 5551 | Line 5083 | yyreduce:
5083      break;
5084  
5085    case 331:
5086 <
5087 < /* Line 1806 of yacc.c  */
5556 < #line 1996 "conf_parser.y"
5086 > /* Line 1813 of yacc.c  */
5087 > #line 1787 "conf_parser.y"
5088      {
5089    if (conf_parser_ctx.pass == 2)
5090      DupString(yy_conf->name, yylval.string);
# Line 5561 | Line 5092 | yyreduce:
5092      break;
5093  
5094    case 332:
5095 <
5096 < /* Line 1806 of yacc.c  */
5566 < #line 2002 "conf_parser.y"
5095 > /* Line 1813 of yacc.c  */
5096 > #line 1793 "conf_parser.y"
5097      {
5098    if (conf_parser_ctx.pass == 2)
5099      yy_conf->flags = 0;
# Line 5571 | Line 5101 | yyreduce:
5101      break;
5102  
5103    case 336:
5104 <
5105 < /* Line 1806 of yacc.c  */
5576 < #line 2009 "conf_parser.y"
5104 > /* Line 1813 of yacc.c  */
5105 > #line 1800 "conf_parser.y"
5106      {
5107    if (conf_parser_ctx.pass == 2)
5108      yy_conf->flags |= SHARED_KLINE;
# Line 5581 | Line 5110 | yyreduce:
5110      break;
5111  
5112    case 337:
5113 <
5114 < /* Line 1806 of yacc.c  */
5586 < #line 2013 "conf_parser.y"
5113 > /* Line 1813 of yacc.c  */
5114 > #line 1804 "conf_parser.y"
5115      {
5116    if (conf_parser_ctx.pass == 2)
5117      yy_conf->flags |= SHARED_UNKLINE;
# Line 5591 | Line 5119 | yyreduce:
5119      break;
5120  
5121    case 338:
5122 <
5123 < /* Line 1806 of yacc.c  */
5596 < #line 2017 "conf_parser.y"
5122 > /* Line 1813 of yacc.c  */
5123 > #line 1808 "conf_parser.y"
5124      {
5125    if (conf_parser_ctx.pass == 2)
5126      yy_conf->flags |= SHARED_DLINE;
# Line 5601 | Line 5128 | yyreduce:
5128      break;
5129  
5130    case 339:
5131 <
5132 < /* Line 1806 of yacc.c  */
5606 < #line 2021 "conf_parser.y"
5131 > /* Line 1813 of yacc.c  */
5132 > #line 1812 "conf_parser.y"
5133      {
5134    if (conf_parser_ctx.pass == 2)
5135      yy_conf->flags |= SHARED_UNDLINE;
# Line 5611 | Line 5137 | yyreduce:
5137      break;
5138  
5139    case 340:
5140 <
5141 < /* Line 1806 of yacc.c  */
5616 < #line 2025 "conf_parser.y"
5140 > /* Line 1813 of yacc.c  */
5141 > #line 1816 "conf_parser.y"
5142      {
5143    if (conf_parser_ctx.pass == 2)
5144      yy_conf->flags |= SHARED_XLINE;
# Line 5621 | Line 5146 | yyreduce:
5146      break;
5147  
5148    case 341:
5149 <
5150 < /* Line 1806 of yacc.c  */
5626 < #line 2029 "conf_parser.y"
5149 > /* Line 1813 of yacc.c  */
5150 > #line 1820 "conf_parser.y"
5151      {
5152    if (conf_parser_ctx.pass == 2)
5153      yy_conf->flags |= SHARED_UNXLINE;
# Line 5631 | Line 5155 | yyreduce:
5155      break;
5156  
5157    case 342:
5158 <
5159 < /* Line 1806 of yacc.c  */
5636 < #line 2033 "conf_parser.y"
5158 > /* Line 1813 of yacc.c  */
5159 > #line 1824 "conf_parser.y"
5160      {
5161    if (conf_parser_ctx.pass == 2)
5162      yy_conf->flags |= SHARED_RESV;
# Line 5641 | Line 5164 | yyreduce:
5164      break;
5165  
5166    case 343:
5167 <
5168 < /* Line 1806 of yacc.c  */
5646 < #line 2037 "conf_parser.y"
5167 > /* Line 1813 of yacc.c  */
5168 > #line 1828 "conf_parser.y"
5169      {
5170    if (conf_parser_ctx.pass == 2)
5171      yy_conf->flags |= SHARED_UNRESV;
# Line 5651 | Line 5173 | yyreduce:
5173      break;
5174  
5175    case 344:
5176 <
5177 < /* Line 1806 of yacc.c  */
5656 < #line 2041 "conf_parser.y"
5176 > /* Line 1813 of yacc.c  */
5177 > #line 1832 "conf_parser.y"
5178      {
5179    if (conf_parser_ctx.pass == 2)
5180      yy_conf->flags |= SHARED_LOCOPS;
# Line 5661 | Line 5182 | yyreduce:
5182      break;
5183  
5184    case 345:
5185 <
5186 < /* Line 1806 of yacc.c  */
5666 < #line 2045 "conf_parser.y"
5185 > /* Line 1813 of yacc.c  */
5186 > #line 1836 "conf_parser.y"
5187      {
5188    if (conf_parser_ctx.pass == 2)
5189      yy_conf->flags = SHARED_ALL;
# Line 5671 | Line 5191 | yyreduce:
5191      break;
5192  
5193    case 346:
5194 <
5195 < /* Line 1806 of yacc.c  */
5676 < #line 2054 "conf_parser.y"
5194 > /* Line 1813 of yacc.c  */
5195 > #line 1845 "conf_parser.y"
5196      {
5197    if (conf_parser_ctx.pass == 2)
5198    {
5199 <    yy_conf = make_conf_item(SERVER_TYPE);
5681 <    yy_aconf = map_to_conf(yy_conf);
5199 >    yy_conf = conf_make(CONF_SERVER);
5200  
5201      /* defaults */
5202 <    yy_aconf->port = PORTNUM;
5202 >    yy_conf->port = PORTNUM;
5203    }
5204    else
5205    {
# Line 5692 | Line 5210 | yyreduce:
5210      break;
5211  
5212    case 347:
5213 <
5214 < /* Line 1806 of yacc.c  */
5697 < #line 2069 "conf_parser.y"
5213 > /* Line 1813 of yacc.c  */
5214 > #line 1859 "conf_parser.y"
5215      {
5216    if (conf_parser_ctx.pass == 2)
5217    {
5218 <    struct CollectItem *yy_hconf=NULL;
5702 <    struct CollectItem *yy_lconf=NULL;
5703 <    dlink_node *ptr = NULL, *next_ptr = NULL;
5704 <
5705 <    if (yy_aconf->host &&
5706 <        yy_aconf->passwd && yy_aconf->spasswd)
5218 >    if (yy_conf->host && yy_conf->passwd && yy_conf->spasswd)
5219      {
5220        if (conf_add_server(yy_conf, class_name) == -1)
5221 <      {
5710 <        delete_conf_item(yy_conf);
5711 <        yy_conf = NULL;
5712 <        yy_aconf = NULL;
5713 <      }
5221 >        conf_free(yy_conf);
5222      }
5223      else
5224      {
5717      /* Even if yy_conf ->name is NULL
5718       * should still unhook any hub/leaf confs still pending
5719       */
5720      unhook_hub_leaf_confs();
5721
5225        if (yy_conf->name != NULL)
5226        {
5227 <        if (yy_aconf->host == NULL)
5227 >        if (yy_conf->host == NULL)
5228            yyerror("Ignoring connect block -- missing host");
5229 <        else if (!yy_aconf->passwd || !yy_aconf->spasswd)
5229 >        else if (!yy_conf->passwd || !yy_conf->spasswd)
5230            yyerror("Ignoring connect block -- missing password");
5231        }
5232  
5730
5233        /* XXX
5234         * This fixes a try_connections() core (caused by invalid class_ptr
5235         * pointers) reported by metalrock. That's an ugly fix, but there
# Line 5735 | Line 5237 | yyreduce:
5237         * rewrite ASAP. make_conf_item() shouldn't really add things onto
5238         * a doubly linked list immediately without any sanity checks!  -Michael
5239         */
5240 <      delete_conf_item(yy_conf);
5739 <
5740 <      yy_aconf = NULL;
5741 <      yy_conf = NULL;
5240 >      conf_free(yy_conf);
5241      }
5242  
5243 <      /*
5244 <       * yy_conf is still pointing at the server that is having
5245 <       * a connect block built for it. This means, y_aconf->name
5747 <       * points to the actual irc name this server will be known as.
5748 <       * Now this new server has a set or even just one hub_mask (or leaf_mask)
5749 <       * given in the link list at yy_hconf. Fill in the HUB confs
5750 <       * from this link list now.
5751 <       */        
5752 <      DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
5753 <      {
5754 <        struct ConfItem *new_hub_conf;
5755 <        struct MatchItem *match_item;
5756 <
5757 <        yy_hconf = ptr->data;
5758 <
5759 <        /* yy_conf == NULL is a fatal error for this connect block! */
5760 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
5761 <        {
5762 <          new_hub_conf = make_conf_item(HUB_TYPE);
5763 <          match_item = (struct MatchItem *)map_to_conf(new_hub_conf);
5764 <          DupString(new_hub_conf->name, yy_conf->name);
5765 <          if (yy_hconf->user != NULL)
5766 <            DupString(match_item->user, yy_hconf->user);
5767 <          else
5768 <            DupString(match_item->user, "*");
5769 <          if (yy_hconf->host != NULL)
5770 <            DupString(match_item->host, yy_hconf->host);
5771 <          else
5772 <            DupString(match_item->host, "*");
5773 <        }
5774 <        dlinkDelete(&yy_hconf->node, &hub_conf_list);
5775 <        free_collect_item(yy_hconf);
5776 <      }
5777 <
5778 <      /* Ditto for the LEAF confs */
5779 <
5780 <      DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
5781 <      {
5782 <        struct ConfItem *new_leaf_conf;
5783 <        struct MatchItem *match_item;
5784 <
5785 <        yy_lconf = ptr->data;
5786 <
5787 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
5788 <        {
5789 <          new_leaf_conf = make_conf_item(LEAF_TYPE);
5790 <          match_item = (struct MatchItem *)map_to_conf(new_leaf_conf);
5791 <          DupString(new_leaf_conf->name, yy_conf->name);
5792 <          if (yy_lconf->user != NULL)
5793 <            DupString(match_item->user, yy_lconf->user);
5794 <          else
5795 <            DupString(match_item->user, "*");
5796 <          if (yy_lconf->host != NULL)
5797 <            DupString(match_item->host, yy_lconf->host);
5798 <          else
5799 <            DupString(match_item->host, "*");
5800 <        }
5801 <        dlinkDelete(&yy_lconf->node, &leaf_conf_list);
5802 <        free_collect_item(yy_lconf);
5803 <      }
5804 <      MyFree(class_name);
5805 <      class_name = NULL;
5806 <      yy_conf = NULL;
5807 <      yy_aconf = NULL;
5243 >    MyFree(class_name);
5244 >    class_name = NULL;
5245 >    yy_conf = NULL;
5246    }
5247   }
5248      break;
5249  
5250    case 364:
5251 <
5252 < /* Line 1806 of yacc.c  */
5815 < #line 2191 "conf_parser.y"
5251 > /* Line 1813 of yacc.c  */
5252 > #line 1902 "conf_parser.y"
5253      {
5254    if (conf_parser_ctx.pass == 2)
5255    {
# Line 5823 | Line 5260 | yyreduce:
5260      break;
5261  
5262    case 365:
5263 <
5264 < /* Line 1806 of yacc.c  */
5828 < #line 2200 "conf_parser.y"
5263 > /* Line 1813 of yacc.c  */
5264 > #line 1911 "conf_parser.y"
5265      {
5266    if (conf_parser_ctx.pass == 2)
5267    {
5268 <    MyFree(yy_aconf->host);
5269 <    DupString(yy_aconf->host, yylval.string);
5268 >    MyFree(yy_conf->host);
5269 >    DupString(yy_conf->host, yylval.string);
5270    }
5271   }
5272      break;
5273  
5274    case 366:
5275 <
5276 < /* Line 1806 of yacc.c  */
5841 < #line 2209 "conf_parser.y"
5275 > /* Line 1813 of yacc.c  */
5276 > #line 1920 "conf_parser.y"
5277      {
5278    if (conf_parser_ctx.pass == 2)
5279    {
# Line 5856 | Line 5291 | yyreduce:
5291      {
5292        assert(res != NULL);
5293  
5294 <      memcpy(&yy_aconf->my_ipnum, res->ai_addr, res->ai_addrlen);
5295 <      yy_aconf->my_ipnum.ss.ss_family = res->ai_family;
5296 <      yy_aconf->my_ipnum.ss_len = res->ai_addrlen;
5294 >      memcpy(&yy_conf->bind, res->ai_addr, res->ai_addrlen);
5295 >      yy_conf->bind.ss.ss_family = res->ai_family;
5296 >      yy_conf->bind.ss_len = res->ai_addrlen;
5297        freeaddrinfo(res);
5298      }
5299    }
# Line 5866 | Line 5301 | yyreduce:
5301      break;
5302  
5303    case 367:
5304 <
5305 < /* Line 1806 of yacc.c  */
5871 < #line 2235 "conf_parser.y"
5304 > /* Line 1813 of yacc.c  */
5305 > #line 1946 "conf_parser.y"
5306      {
5307    if (conf_parser_ctx.pass == 2)
5308    {
# Line 5877 | Line 5311 | yyreduce:
5311      else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5312        yyerror("Server passwords cannot contain spaces");
5313      else {
5314 <      if (yy_aconf->spasswd != NULL)
5315 <        memset(yy_aconf->spasswd, 0, strlen(yy_aconf->spasswd));
5314 >      if (yy_conf->spasswd != NULL)
5315 >        memset(yy_conf->spasswd, 0, strlen(yy_conf->spasswd));
5316  
5317 <      MyFree(yy_aconf->spasswd);
5318 <      DupString(yy_aconf->spasswd, yylval.string);
5317 >      MyFree(yy_conf->spasswd);
5318 >      DupString(yy_conf->spasswd, yylval.string);
5319      }
5320    }
5321   }
5322      break;
5323  
5324    case 368:
5325 <
5326 < /* Line 1806 of yacc.c  */
5893 < #line 2253 "conf_parser.y"
5325 > /* Line 1813 of yacc.c  */
5326 > #line 1964 "conf_parser.y"
5327      {
5328    if (conf_parser_ctx.pass == 2)
5329    {
# Line 5899 | Line 5332 | yyreduce:
5332      else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5333        yyerror("Server passwords cannot contain spaces");
5334      else {
5335 <      if (yy_aconf->passwd != NULL)
5336 <        memset(yy_aconf->passwd, 0, strlen(yy_aconf->passwd));
5335 >      if (yy_conf->passwd != NULL)
5336 >        memset(yy_conf->passwd, 0, strlen(yy_conf->passwd));
5337  
5338 <      MyFree(yy_aconf->passwd);
5339 <      DupString(yy_aconf->passwd, yylval.string);
5338 >      MyFree(yy_conf->passwd);
5339 >      DupString(yy_conf->passwd, yylval.string);
5340      }
5341    }
5342   }
5343      break;
5344  
5345    case 369:
5346 <
5347 < /* Line 1806 of yacc.c  */
5915 < #line 2271 "conf_parser.y"
5346 > /* Line 1813 of yacc.c  */
5347 > #line 1982 "conf_parser.y"
5348      {
5349    if (conf_parser_ctx.pass == 2)
5350 <    yy_aconf->port = (yyvsp[(3) - (4)].number);
5350 >    yy_conf->port = (yyvsp[(3) - (4)].number);
5351   }
5352      break;
5353  
5354    case 370:
5355 <
5356 < /* Line 1806 of yacc.c  */
5925 < #line 2277 "conf_parser.y"
5355 > /* Line 1813 of yacc.c  */
5356 > #line 1988 "conf_parser.y"
5357      {
5358    if (conf_parser_ctx.pass == 2)
5359 <    yy_aconf->aftype = AF_INET;
5359 >    yy_conf->aftype = AF_INET;
5360   }
5361      break;
5362  
5363    case 371:
5364 <
5365 < /* Line 1806 of yacc.c  */
5935 < #line 2281 "conf_parser.y"
5364 > /* Line 1813 of yacc.c  */
5365 > #line 1992 "conf_parser.y"
5366      {
5367   #ifdef IPV6
5368    if (conf_parser_ctx.pass == 2)
5369 <    yy_aconf->aftype = AF_INET6;
5369 >    yy_conf->aftype = AF_INET6;
5370   #endif
5371   }
5372      break;
5373  
5374    case 372:
5375 <
5376 < /* Line 1806 of yacc.c  */
5947 < #line 2289 "conf_parser.y"
5375 > /* Line 1813 of yacc.c  */
5376 > #line 2000 "conf_parser.y"
5377      {
5378   }
5379      break;
5380  
5381    case 376:
5382 <
5383 < /* Line 1806 of yacc.c  */
5955 < #line 2294 "conf_parser.y"
5382 > /* Line 1813 of yacc.c  */
5383 > #line 2005 "conf_parser.y"
5384      {
5385    if (conf_parser_ctx.pass == 2)
5386 <    SetConfAllowAutoConn(yy_aconf);
5386 >    SetConfAllowAutoConn(yy_conf);
5387   }
5388      break;
5389  
5390    case 377:
5391 <
5392 < /* Line 1806 of yacc.c  */
5965 < #line 2298 "conf_parser.y"
5391 > /* Line 1813 of yacc.c  */
5392 > #line 2009 "conf_parser.y"
5393      {
5394    if (conf_parser_ctx.pass == 2)
5395 <    SetConfAwayBurst(yy_aconf);
5395 >    SetConfSSL(yy_conf);
5396   }
5397      break;
5398  
5399    case 378:
5400 <
5401 < /* Line 1806 of yacc.c  */
5975 < #line 2302 "conf_parser.y"
5976 <    {
5977 <  if (conf_parser_ctx.pass == 2)
5978 <    SetConfTopicBurst(yy_aconf);
5979 < }
5980 <    break;
5981 <
5982 <  case 379:
5983 <
5984 < /* Line 1806 of yacc.c  */
5985 < #line 2306 "conf_parser.y"
5986 <    {
5987 <  if (conf_parser_ctx.pass == 2)
5988 <    SetConfSSL(yy_aconf);
5989 < }
5990 <    break;
5991 <
5992 <  case 380:
5993 <
5994 < /* Line 1806 of yacc.c  */
5995 < #line 2312 "conf_parser.y"
5400 > /* Line 1813 of yacc.c  */
5401 > #line 2015 "conf_parser.y"
5402      {
5403    if (conf_parser_ctx.pass == 2)
5404    {
5405      if (yylval.number)
5406 <      yy_aconf->flags |= CONF_FLAGS_ENCRYPTED;
5406 >      yy_conf->flags |= CONF_FLAGS_ENCRYPTED;
5407      else
5408 <      yy_aconf->flags &= ~CONF_FLAGS_ENCRYPTED;
5408 >      yy_conf->flags &= ~CONF_FLAGS_ENCRYPTED;
5409    }
5410   }
5411      break;
5412  
5413 <  case 381:
5414 <
5415 < /* Line 1806 of yacc.c  */
6010 < #line 2323 "conf_parser.y"
5413 >  case 379:
5414 > /* Line 1813 of yacc.c  */
5415 > #line 2026 "conf_parser.y"
5416      {
5417    if (conf_parser_ctx.pass == 2)
5418    {
5419 <    struct CollectItem *yy_tmp;
5419 >    char *mask = xstrdup(yylval.string);
5420  
5421 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
6017 <    DupString(yy_tmp->host, yylval.string);
6018 <    DupString(yy_tmp->user, "*");
6019 <    dlinkAdd(yy_tmp, &yy_tmp->node, &hub_conf_list);
5421 >    dlinkAdd(mask, make_dlink_node(), &yy_conf->hub_list);
5422    }
5423   }
5424      break;
5425  
5426 <  case 382:
5427 <
5428 < /* Line 1806 of yacc.c  */
6027 < #line 2336 "conf_parser.y"
5426 >  case 380:
5427 > /* Line 1813 of yacc.c  */
5428 > #line 2036 "conf_parser.y"
5429      {
5430    if (conf_parser_ctx.pass == 2)
5431    {
5432 <    struct CollectItem *yy_tmp;
5432 >    char *mask;
5433  
5434 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
5435 <    DupString(yy_tmp->host, yylval.string);
6035 <    DupString(yy_tmp->user, "*");
6036 <    dlinkAdd(yy_tmp, &yy_tmp->node, &leaf_conf_list);
5434 >    DupString(mask, yylval.string);
5435 >    dlinkAdd(mask, make_dlink_node(), &yy_conf->leaf_list);
5436    }
5437   }
5438      break;
5439  
5440 <  case 383:
5441 <
5442 < /* Line 1806 of yacc.c  */
6044 < #line 2349 "conf_parser.y"
5440 >  case 381:
5441 > /* Line 1813 of yacc.c  */
5442 > #line 2047 "conf_parser.y"
5443      {
5444    if (conf_parser_ctx.pass == 2)
5445    {
# Line 6051 | Line 5449 | yyreduce:
5449   }
5450      break;
5451  
5452 <  case 384:
5453 <
5454 < /* Line 1806 of yacc.c  */
6057 < #line 2358 "conf_parser.y"
5452 >  case 382:
5453 > /* Line 1813 of yacc.c  */
5454 > #line 2056 "conf_parser.y"
5455      {
5456   #ifdef HAVE_LIBCRYPTO
5457    if (conf_parser_ctx.pass == 2)
5458    {
5459 <    MyFree(yy_aconf->cipher_list);
5460 <    DupString(yy_aconf->cipher_list, yylval.string);
5459 >    MyFree(yy_conf->cipher_list);
5460 >    DupString(yy_conf->cipher_list, yylval.string);
5461    }
5462   #else
5463    if (conf_parser_ctx.pass == 2)
# Line 6069 | Line 5466 | yyreduce:
5466   }
5467      break;
5468  
5469 <  case 385:
5470 <
5471 < /* Line 1806 of yacc.c  */
6075 < #line 2376 "conf_parser.y"
5469 >  case 383:
5470 > /* Line 1813 of yacc.c  */
5471 > #line 2074 "conf_parser.y"
5472      {
5473    if (conf_parser_ctx.pass == 2)
5474    {
# Line 6082 | Line 5478 | yyreduce:
5478   }
5479      break;
5480  
5481 <  case 386:
5482 <
5483 < /* Line 1806 of yacc.c  */
6088 < #line 2383 "conf_parser.y"
5481 >  case 384:
5482 > /* Line 1813 of yacc.c  */
5483 > #line 2081 "conf_parser.y"
5484      {
5485    if (conf_parser_ctx.pass == 2)
5486    {
5487 +    struct MaskItem *conf = NULL;
5488 +
5489      if (userbuf[0] && hostbuf[0])
5490      {
5491        if (regex_ban)
# Line 6106 | Line 5503 | yyreduce:
5503            break;
5504          }
5505  
5506 <        yy_aconf = map_to_conf(make_conf_item(RKLINE_TYPE));
5507 <        yy_aconf->regexuser = exp_user;
5508 <        yy_aconf->regexhost = exp_host;
5506 >        conf = conf_make(CONF_RKLINE);
5507 >        conf->regexuser = exp_user;
5508 >        conf->regexhost = exp_host;
5509  
5510 <        DupString(yy_aconf->user, userbuf);
5511 <        DupString(yy_aconf->host, hostbuf);
5510 >        conf->user = xstrdup(userbuf);
5511 >        conf->host = xstrdup(hostbuf);
5512  
5513          if (reasonbuf[0])
5514 <          DupString(yy_aconf->reason, reasonbuf);
5514 >          conf->reason = xstrdup(reasonbuf);
5515          else
5516 <          DupString(yy_aconf->reason, "No reason");
5516 >          conf->reason = xstrdup(CONF_NOREASON);
5517   #else
5518          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
5519          break;
# Line 6124 | Line 5521 | yyreduce:
5521        }
5522        else
5523        {
5524 <        find_and_delete_temporary(userbuf, hostbuf, CONF_KLINE);
6128 <
6129 <        yy_aconf = map_to_conf(make_conf_item(KLINE_TYPE));
5524 >        conf = conf_make(CONF_KLINE);
5525  
5526 <        DupString(yy_aconf->user, userbuf);
5527 <        DupString(yy_aconf->host, hostbuf);
5526 >        conf->user = xstrdup(userbuf);
5527 >        conf->host = xstrdup(hostbuf);
5528  
5529          if (reasonbuf[0])
5530 <          DupString(yy_aconf->reason, reasonbuf);
5530 >          conf->reason = xstrdup(reasonbuf);
5531          else
5532 <          DupString(yy_aconf->reason, "No reason");
5533 <        add_conf_by_address(CONF_KLINE, yy_aconf);
5532 >          conf->reason = xstrdup(CONF_NOREASON);
5533 >        add_conf_by_address(CONF_KLINE, conf);
5534        }
5535      }
6141
6142    yy_aconf = NULL;
5536    }
5537   }
5538      break;
5539  
5540 <  case 387:
5541 <
5542 < /* Line 1806 of yacc.c  */
6150 < #line 2441 "conf_parser.y"
5540 >  case 385:
5541 > /* Line 1813 of yacc.c  */
5542 > #line 2137 "conf_parser.y"
5543      {
5544   }
5545      break;
5546  
5547 <  case 391:
5548 <
5549 < /* Line 1806 of yacc.c  */
6158 < #line 2446 "conf_parser.y"
5547 >  case 389:
5548 > /* Line 1813 of yacc.c  */
5549 > #line 2142 "conf_parser.y"
5550      {
5551    if (conf_parser_ctx.pass == 2)
5552      regex_ban = 1;
5553   }
5554      break;
5555  
5556 <  case 398:
5557 <
5558 < /* Line 1806 of yacc.c  */
6168 < #line 2455 "conf_parser.y"
5556 >  case 396:
5557 > /* Line 1813 of yacc.c  */
5558 > #line 2151 "conf_parser.y"
5559      {
5560    if (conf_parser_ctx.pass == 2)
5561    {
# Line 6185 | Line 5575 | yyreduce:
5575   }
5576      break;
5577  
5578 <  case 399:
5579 <
5580 < /* Line 1806 of yacc.c  */
6191 < #line 2474 "conf_parser.y"
5578 >  case 397:
5579 > /* Line 1813 of yacc.c  */
5580 > #line 2170 "conf_parser.y"
5581      {
5582    if (conf_parser_ctx.pass == 2)
5583      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5584   }
5585      break;
5586  
5587 <  case 400:
5588 <
5589 < /* Line 1806 of yacc.c  */
6201 < #line 2483 "conf_parser.y"
5587 >  case 398:
5588 > /* Line 1813 of yacc.c  */
5589 > #line 2179 "conf_parser.y"
5590      {
5591    if (conf_parser_ctx.pass == 2)
5592 <    hostbuf[0] = reasonbuf[0] = '\0';
5592 >    reset_block_state();
5593   }
5594      break;
5595  
5596 <  case 401:
5597 <
5598 < /* Line 1806 of yacc.c  */
6211 < #line 2487 "conf_parser.y"
6212 <    {
6213 <  if (conf_parser_ctx.pass == 2)
6214 <  {
6215 <    if (hostbuf[0] && parse_netmask(hostbuf, NULL, NULL) != HM_HOST)
5596 >  case 399:
5597 > /* Line 1813 of yacc.c  */
5598 > #line 2183 "conf_parser.y"
5599      {
5600 <      find_and_delete_temporary(NULL, hostbuf, CONF_DLINE);
5600 >  struct MaskItem *conf = NULL;
5601  
5602 <      yy_aconf = map_to_conf(make_conf_item(DLINE_TYPE));
5603 <      DupString(yy_aconf->host, hostbuf);
5602 >  if (conf_parser_ctx.pass != 2)
5603 >    break;
5604  
5605 <      if (reasonbuf[0])
5606 <        DupString(yy_aconf->reason, reasonbuf);
5607 <      else
5608 <        DupString(yy_aconf->reason, "No reason");
5609 <      add_conf_by_address(CONF_DLINE, yy_aconf);
5610 <      yy_aconf = NULL;
5611 <    }
5605 >  if (!block_state.addr.buf[0])
5606 >    break;
5607 >
5608 >  if (parse_netmask(block_state.addr.buf, NULL, NULL) != HM_HOST)
5609 >  {
5610 >    conf = conf_make(CONF_DLINE);
5611 >    conf->host = xstrdup(block_state.addr.buf);
5612 >
5613 >    if (block_state.pass.buf[0])
5614 >      conf->reason = xstrdup(block_state.pass.buf);
5615 >    else
5616 >      conf->reason = xstrdup(CONF_NOREASON);
5617 >    add_conf_by_address(CONF_DLINE, conf);
5618    }
5619   }
5620      break;
5621  
5622 <  case 407:
5623 <
5624 < /* Line 1806 of yacc.c  */
6236 < #line 2511 "conf_parser.y"
5622 >  case 405:
5623 > /* Line 1813 of yacc.c  */
5624 > #line 2209 "conf_parser.y"
5625      {
5626    if (conf_parser_ctx.pass == 2)
5627 <    strlcpy(hostbuf, yylval.string, sizeof(hostbuf));
5627 >    strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5628   }
5629      break;
5630  
5631 <  case 408:
5632 <
5633 < /* Line 1806 of yacc.c  */
6246 < #line 2517 "conf_parser.y"
5631 >  case 406:
5632 > /* Line 1813 of yacc.c  */
5633 > #line 2215 "conf_parser.y"
5634      {
5635    if (conf_parser_ctx.pass == 2)
5636 <    strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5636 >    strlcpy(block_state.pass.buf, yylval.string, sizeof(block_state.pass.buf));
5637   }
5638      break;
5639  
5640 <  case 414:
5641 <
5642 < /* Line 1806 of yacc.c  */
6256 < #line 2531 "conf_parser.y"
5640 >  case 412:
5641 > /* Line 1813 of yacc.c  */
5642 > #line 2229 "conf_parser.y"
5643      {
5644    if (conf_parser_ctx.pass == 2)
5645    {
5646      if (yylval.string[0] && parse_netmask(yylval.string, NULL, NULL) != HM_HOST)
5647      {
5648 <      yy_aconf = map_to_conf(make_conf_item(EXEMPTDLINE_TYPE));
5649 <      DupString(yy_aconf->host, yylval.string);
5648 >      struct MaskItem *conf = conf_make(CONF_EXEMPT);
5649 >      conf->host = xstrdup(yylval.string);
5650  
5651 <      add_conf_by_address(CONF_EXEMPTDLINE, yy_aconf);
6266 <      yy_aconf = NULL;
5651 >      add_conf_by_address(CONF_EXEMPT, conf);
5652      }
5653    }
5654   }
5655      break;
5656  
5657 <  case 415:
5658 <
5659 < /* Line 1806 of yacc.c  */
6275 < #line 2549 "conf_parser.y"
5657 >  case 413:
5658 > /* Line 1813 of yacc.c  */
5659 > #line 2246 "conf_parser.y"
5660      {
5661    if (conf_parser_ctx.pass == 2)
5662 <  {
6279 <    regex_ban = 0;
6280 <    reasonbuf[0] = gecos_name[0] = '\0';
6281 <  }
5662 >    reset_block_state();
5663   }
5664      break;
5665  
5666 <  case 416:
5667 <
5668 < /* Line 1806 of yacc.c  */
6288 < #line 2556 "conf_parser.y"
5666 >  case 414:
5667 > /* Line 1813 of yacc.c  */
5668 > #line 2250 "conf_parser.y"
5669      {
5670 <  if (conf_parser_ctx.pass == 2)
5670 >  struct MaskItem *conf = NULL;
5671 >
5672 >  if (conf_parser_ctx.pass != 2)
5673 >    break;
5674 >
5675 >  if (!block_state.name.buf[0])
5676 >    break;
5677 >
5678 >  if (block_state.port.value == 1)
5679    {
6292    if (gecos_name[0])
6293    {
6294      if (regex_ban)
6295      {
5680   #ifdef HAVE_LIBPCRE
5681 <        void *exp_p = NULL;
5682 <        const char *errptr = NULL;
5681 >    void *exp_p = NULL;
5682 >    const char *errptr = NULL;
5683  
5684 <        if (!(exp_p = ircd_pcre_compile(gecos_name, &errptr)))
5685 <        {
5686 <          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
5687 <               errptr);
5688 <          break;
5689 <        }
5684 >    if (!(exp_p = ircd_pcre_compile(block_state.name.buf, &errptr)))
5685 >    {
5686 >      ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
5687 >           errptr);
5688 >      break;
5689 >    }
5690  
5691 <        yy_conf = make_conf_item(RXLINE_TYPE);
5692 <        yy_conf->regexpname = exp_p;
5691 >    conf = conf_make(CONF_RXLINE);
5692 >    conf->regexuser = exp_p;
5693   #else
5694 <        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: no PCRE support");
5695 <        break;
5694 >    ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: no PCRE support");
5695 >    break;
5696   #endif
5697 <      }
5698 <      else
5699 <        yy_conf = make_conf_item(XLINE_TYPE);
5697 >  }
5698 >  else
5699 >    conf = conf_make(CONF_XLINE);
5700  
5701 <      yy_match_item = map_to_conf(yy_conf);
6318 <      DupString(yy_conf->name, gecos_name);
5701 >  conf->name = xstrdup(block_state.name.buf);
5702  
5703 <      if (reasonbuf[0])
5704 <        DupString(yy_match_item->reason, reasonbuf);
5705 <      else
5706 <        DupString(yy_match_item->reason, "No reason");
6324 <    }
6325 <  }
5703 >  if (block_state.pass.buf[0])
5704 >    conf->reason = xstrdup(block_state.pass.buf);
5705 >  else
5706 >    conf->reason = xstrdup(CONF_NOREASON);
5707   }
5708      break;
5709  
5710 <  case 417:
5711 <
5712 < /* Line 1806 of yacc.c  */
6332 < #line 2596 "conf_parser.y"
5710 >  case 415:
5711 > /* Line 1813 of yacc.c  */
5712 > #line 2291 "conf_parser.y"
5713      {
5714 +  if (conf_parser_ctx.pass == 2)
5715 +    block_state.port.value = 0;
5716   }
5717      break;
5718  
5719 <  case 421:
5720 <
5721 < /* Line 1806 of yacc.c  */
6340 < #line 2601 "conf_parser.y"
5719 >  case 419:
5720 > /* Line 1813 of yacc.c  */
5721 > #line 2298 "conf_parser.y"
5722      {
5723    if (conf_parser_ctx.pass == 2)
5724 <    regex_ban = 1;
5724 >    block_state.port.value = 1;
5725   }
5726      break;
5727  
5728 <  case 428:
5729 <
5730 < /* Line 1806 of yacc.c  */
6350 < #line 2610 "conf_parser.y"
5728 >  case 426:
5729 > /* Line 1813 of yacc.c  */
5730 > #line 2307 "conf_parser.y"
5731      {
5732    if (conf_parser_ctx.pass == 2)
5733 <    strlcpy(gecos_name, yylval.string, sizeof(gecos_name));
5733 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5734   }
5735      break;
5736  
5737 <  case 429:
5738 <
5739 < /* Line 1806 of yacc.c  */
6360 < #line 2616 "conf_parser.y"
5737 >  case 427:
5738 > /* Line 1813 of yacc.c  */
5739 > #line 2313 "conf_parser.y"
5740      {
5741    if (conf_parser_ctx.pass == 2)
5742 <    strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5742 >    strlcpy(block_state.pass.buf, yylval.string, sizeof(block_state.pass.buf));
5743   }
5744      break;
5745  
5746 <  case 485:
5747 <
5748 < /* Line 1806 of yacc.c  */
6370 < #line 2660 "conf_parser.y"
5746 >  case 481:
5747 > /* Line 1813 of yacc.c  */
5748 > #line 2358 "conf_parser.y"
5749      {
5750    ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5751   }
5752      break;
5753  
5754 <  case 486:
5755 <
5756 < /* Line 1806 of yacc.c  */
6379 < #line 2665 "conf_parser.y"
5754 >  case 482:
5755 > /* Line 1813 of yacc.c  */
5756 > #line 2363 "conf_parser.y"
5757      {
5758 <  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5758 >  if (conf_parser_ctx.pass == 2)
5759 >    ConfigFileEntry.glines = yylval.number;
5760   }
5761      break;
5762  
5763 <  case 487:
5764 <
5765 < /* Line 1806 of yacc.c  */
6388 < #line 2670 "conf_parser.y"
5763 >  case 483:
5764 > /* Line 1813 of yacc.c  */
5765 > #line 2369 "conf_parser.y"
5766      {
5767 <  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5767 >  if (conf_parser_ctx.pass == 2)
5768 >    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5769   }
5770      break;
5771  
5772 <  case 488:
5773 <
5774 < /* Line 1806 of yacc.c  */
6397 < #line 2675 "conf_parser.y"
5772 >  case 484:
5773 > /* Line 1813 of yacc.c  */
5774 > #line 2375 "conf_parser.y"
5775      {
5776 <  ConfigFileEntry.use_whois_actually = yylval.number;
5776 >  if (conf_parser_ctx.pass == 2)
5777 >    ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5778   }
5779      break;
5780  
5781 <  case 489:
5782 <
5783 < /* Line 1806 of yacc.c  */
6406 < #line 2680 "conf_parser.y"
5781 >  case 485:
5782 > /* Line 1813 of yacc.c  */
5783 > #line 2381 "conf_parser.y"
5784      {
5785 <  GlobalSetOptions.rejecttime = yylval.number;
5785 >  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5786   }
5787      break;
5788  
5789 <  case 490:
5789 >  case 486:
5790 > /* Line 1813 of yacc.c  */
5791 > #line 2386 "conf_parser.y"
5792 >    {
5793 >  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5794 > }
5795 >    break;
5796  
5797 < /* Line 1806 of yacc.c  */
5798 < #line 2685 "conf_parser.y"
5797 >  case 487:
5798 > /* Line 1813 of yacc.c  */
5799 > #line 2391 "conf_parser.y"
5800      {
5801    ConfigFileEntry.tkline_expire_notices = yylval.number;
5802   }
5803      break;
5804  
5805 <  case 491:
5806 <
5807 < /* Line 1806 of yacc.c  */
6424 < #line 2690 "conf_parser.y"
5805 >  case 488:
5806 > /* Line 1813 of yacc.c  */
5807 > #line 2396 "conf_parser.y"
5808      {
5809    ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
5810   }
5811      break;
5812  
5813 <  case 492:
5814 <
5815 < /* Line 1806 of yacc.c  */
6433 < #line 2695 "conf_parser.y"
5813 >  case 489:
5814 > /* Line 1813 of yacc.c  */
5815 > #line 2401 "conf_parser.y"
5816      {
5817    ConfigFileEntry.hide_spoof_ips = yylval.number;
5818   }
5819      break;
5820  
5821 <  case 493:
5822 <
5823 < /* Line 1806 of yacc.c  */
6442 < #line 2700 "conf_parser.y"
5821 >  case 490:
5822 > /* Line 1813 of yacc.c  */
5823 > #line 2406 "conf_parser.y"
5824      {
5825    ConfigFileEntry.ignore_bogus_ts = yylval.number;
5826   }
5827      break;
5828  
5829 <  case 494:
5830 <
5831 < /* Line 1806 of yacc.c  */
6451 < #line 2705 "conf_parser.y"
5829 >  case 491:
5830 > /* Line 1813 of yacc.c  */
5831 > #line 2411 "conf_parser.y"
5832      {
5833    ConfigFileEntry.disable_remote = yylval.number;
5834   }
5835      break;
5836  
5837 <  case 495:
5838 <
5839 < /* Line 1806 of yacc.c  */
6460 < #line 2710 "conf_parser.y"
5837 >  case 492:
5838 > /* Line 1813 of yacc.c  */
5839 > #line 2416 "conf_parser.y"
5840      {
5841    ConfigFileEntry.failed_oper_notice = yylval.number;
5842   }
5843      break;
5844  
5845 <  case 496:
5846 <
5847 < /* Line 1806 of yacc.c  */
6469 < #line 2715 "conf_parser.y"
5845 >  case 493:
5846 > /* Line 1813 of yacc.c  */
5847 > #line 2421 "conf_parser.y"
5848      {
5849    ConfigFileEntry.anti_nick_flood = yylval.number;
5850   }
5851      break;
5852  
5853 <  case 497:
5854 <
5855 < /* Line 1806 of yacc.c  */
6478 < #line 2720 "conf_parser.y"
5853 >  case 494:
5854 > /* Line 1813 of yacc.c  */
5855 > #line 2426 "conf_parser.y"
5856      {
5857    ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
5858   }
5859      break;
5860  
5861 <  case 498:
5862 <
5863 < /* Line 1806 of yacc.c  */
6487 < #line 2725 "conf_parser.y"
5861 >  case 495:
5862 > /* Line 1813 of yacc.c  */
5863 > #line 2431 "conf_parser.y"
5864      {
5865    ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
5866   }
5867      break;
5868  
5869 <  case 499:
5870 <
5871 < /* Line 1806 of yacc.c  */
6496 < #line 2730 "conf_parser.y"
5869 >  case 496:
5870 > /* Line 1813 of yacc.c  */
5871 > #line 2436 "conf_parser.y"
5872      {
5873    ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
5874   }
5875      break;
5876  
5877 <  case 500:
5878 <
5879 < /* Line 1806 of yacc.c  */
6505 < #line 2735 "conf_parser.y"
5877 >  case 497:
5878 > /* Line 1813 of yacc.c  */
5879 > #line 2441 "conf_parser.y"
5880      {
5881    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
5882   }
5883      break;
5884  
5885 <  case 501:
5886 <
5887 < /* Line 1806 of yacc.c  */
6514 < #line 2740 "conf_parser.y"
5885 >  case 498:
5886 > /* Line 1813 of yacc.c  */
5887 > #line 2446 "conf_parser.y"
5888      {
5889    ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
5890   }
5891      break;
5892  
5893 <  case 502:
5894 <
5895 < /* Line 1806 of yacc.c  */
6523 < #line 2745 "conf_parser.y"
5893 >  case 499:
5894 > /* Line 1813 of yacc.c  */
5895 > #line 2451 "conf_parser.y"
5896      {
5897    if (conf_parser_ctx.pass == 2)
5898      ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
5899   }
5900      break;
5901  
5902 <  case 503:
5903 <
5904 < /* Line 1806 of yacc.c  */
6533 < #line 2751 "conf_parser.y"
5902 >  case 500:
5903 > /* Line 1813 of yacc.c  */
5904 > #line 2457 "conf_parser.y"
5905      {
5906    if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
5907    {
# Line 6542 | Line 5913 | yyreduce:
5913   }
5914      break;
5915  
5916 <  case 504:
5917 <
5918 < /* Line 1806 of yacc.c  */
6548 < #line 2762 "conf_parser.y"
6549 <    {
6550 <  ConfigFileEntry.kline_with_reason = yylval.number;
6551 < }
6552 <    break;
6553 <
6554 <  case 505:
6555 <
6556 < /* Line 1806 of yacc.c  */
6557 < #line 2767 "conf_parser.y"
6558 <    {
6559 <  if (conf_parser_ctx.pass == 2)
6560 <  {
6561 <    MyFree(ConfigFileEntry.kline_reason);
6562 <    DupString(ConfigFileEntry.kline_reason, yylval.string);
6563 <  }
6564 < }
6565 <    break;
6566 <
6567 <  case 506:
6568 <
6569 < /* Line 1806 of yacc.c  */
6570 < #line 2776 "conf_parser.y"
5916 >  case 501:
5917 > /* Line 1813 of yacc.c  */
5918 > #line 2468 "conf_parser.y"
5919      {
5920    ConfigFileEntry.invisible_on_connect = yylval.number;
5921   }
5922      break;
5923  
5924 <  case 507:
5925 <
5926 < /* Line 1806 of yacc.c  */
6579 < #line 2781 "conf_parser.y"
5924 >  case 502:
5925 > /* Line 1813 of yacc.c  */
5926 > #line 2473 "conf_parser.y"
5927      {
5928    ConfigFileEntry.warn_no_nline = yylval.number;
5929   }
5930      break;
5931  
5932 <  case 508:
5933 <
5934 < /* Line 1806 of yacc.c  */
6588 < #line 2786 "conf_parser.y"
5932 >  case 503:
5933 > /* Line 1813 of yacc.c  */
5934 > #line 2478 "conf_parser.y"
5935      {
5936    ConfigFileEntry.stats_e_disabled = yylval.number;
5937   }
5938      break;
5939  
5940 <  case 509:
5941 <
5942 < /* Line 1806 of yacc.c  */
6597 < #line 2791 "conf_parser.y"
5940 >  case 504:
5941 > /* Line 1813 of yacc.c  */
5942 > #line 2483 "conf_parser.y"
5943      {
5944    ConfigFileEntry.stats_o_oper_only = yylval.number;
5945   }
5946      break;
5947  
5948 <  case 510:
5949 <
5950 < /* Line 1806 of yacc.c  */
6606 < #line 2796 "conf_parser.y"
5948 >  case 505:
5949 > /* Line 1813 of yacc.c  */
5950 > #line 2488 "conf_parser.y"
5951      {
5952    ConfigFileEntry.stats_P_oper_only = yylval.number;
5953   }
5954      break;
5955  
5956 <  case 511:
5957 <
5958 < /* Line 1806 of yacc.c  */
6615 < #line 2801 "conf_parser.y"
5956 >  case 506:
5957 > /* Line 1813 of yacc.c  */
5958 > #line 2493 "conf_parser.y"
5959      {
5960    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
5961   }
5962      break;
5963  
5964 <  case 512:
5965 <
5966 < /* Line 1806 of yacc.c  */
6624 < #line 2804 "conf_parser.y"
5964 >  case 507:
5965 > /* Line 1813 of yacc.c  */
5966 > #line 2496 "conf_parser.y"
5967      {
5968    ConfigFileEntry.stats_k_oper_only = 1;
5969   }
5970      break;
5971  
5972 <  case 513:
5973 <
5974 < /* Line 1806 of yacc.c  */
6633 < #line 2809 "conf_parser.y"
5972 >  case 508:
5973 > /* Line 1813 of yacc.c  */
5974 > #line 2501 "conf_parser.y"
5975      {
5976    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
5977   }
5978      break;
5979  
5980 <  case 514:
5981 <
5982 < /* Line 1806 of yacc.c  */
6642 < #line 2812 "conf_parser.y"
5980 >  case 509:
5981 > /* Line 1813 of yacc.c  */
5982 > #line 2504 "conf_parser.y"
5983      {
5984    ConfigFileEntry.stats_i_oper_only = 1;
5985   }
5986      break;
5987  
5988 <  case 515:
5989 <
5990 < /* Line 1806 of yacc.c  */
6651 < #line 2817 "conf_parser.y"
5988 >  case 510:
5989 > /* Line 1813 of yacc.c  */
5990 > #line 2509 "conf_parser.y"
5991      {
5992    ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
5993   }
5994      break;
5995  
5996 <  case 516:
5997 <
5998 < /* Line 1806 of yacc.c  */
6660 < #line 2822 "conf_parser.y"
5996 >  case 511:
5997 > /* Line 1813 of yacc.c  */
5998 > #line 2514 "conf_parser.y"
5999      {
6000    ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
6001   }
6002      break;
6003  
6004 <  case 517:
6005 <
6006 < /* Line 1806 of yacc.c  */
6669 < #line 2827 "conf_parser.y"
6004 >  case 512:
6005 > /* Line 1813 of yacc.c  */
6006 > #line 2519 "conf_parser.y"
6007      {
6008    ConfigFileEntry.opers_bypass_callerid = yylval.number;
6009   }
6010      break;
6011  
6012 <  case 518:
6013 <
6014 < /* Line 1806 of yacc.c  */
6678 < #line 2832 "conf_parser.y"
6012 >  case 513:
6013 > /* Line 1813 of yacc.c  */
6014 > #line 2524 "conf_parser.y"
6015      {
6016    ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
6017   }
6018      break;
6019  
6020 <  case 519:
6021 <
6022 < /* Line 1806 of yacc.c  */
6687 < #line 2837 "conf_parser.y"
6020 >  case 514:
6021 > /* Line 1813 of yacc.c  */
6022 > #line 2529 "conf_parser.y"
6023      {
6024    ConfigFileEntry.short_motd = yylval.number;
6025   }
6026      break;
6027  
6028 <  case 520:
6029 <
6030 < /* Line 1806 of yacc.c  */
6696 < #line 2842 "conf_parser.y"
6028 >  case 515:
6029 > /* Line 1813 of yacc.c  */
6030 > #line 2534 "conf_parser.y"
6031      {
6032    ConfigFileEntry.no_oper_flood = yylval.number;
6033   }
6034      break;
6035  
6036 <  case 521:
6037 <
6038 < /* Line 1806 of yacc.c  */
6705 < #line 2847 "conf_parser.y"
6036 >  case 516:
6037 > /* Line 1813 of yacc.c  */
6038 > #line 2539 "conf_parser.y"
6039      {
6040    ConfigFileEntry.true_no_oper_flood = yylval.number;
6041   }
6042      break;
6043  
6044 <  case 522:
6045 <
6046 < /* Line 1806 of yacc.c  */
6714 < #line 2852 "conf_parser.y"
6044 >  case 517:
6045 > /* Line 1813 of yacc.c  */
6046 > #line 2544 "conf_parser.y"
6047      {
6048    ConfigFileEntry.oper_pass_resv = yylval.number;
6049   }
6050      break;
6051  
6052 <  case 523:
6053 <
6054 < /* Line 1806 of yacc.c  */
6723 < #line 2857 "conf_parser.y"
6052 >  case 518:
6053 > /* Line 1813 of yacc.c  */
6054 > #line 2549 "conf_parser.y"
6055      {
6056    if (conf_parser_ctx.pass == 2)
6057    {
# Line 6732 | Line 6063 | yyreduce:
6063   }
6064      break;
6065  
6066 <  case 524:
6067 <
6068 < /* Line 1806 of yacc.c  */
6738 < #line 2868 "conf_parser.y"
6066 >  case 519:
6067 > /* Line 1813 of yacc.c  */
6068 > #line 2560 "conf_parser.y"
6069      {
6070    ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
6071   }
6072      break;
6073  
6074 <  case 525:
6075 <
6076 < /* Line 1806 of yacc.c  */
6747 < #line 2873 "conf_parser.y"
6074 >  case 520:
6075 > /* Line 1813 of yacc.c  */
6076 > #line 2565 "conf_parser.y"
6077      {
6078    ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
6079   }
6080      break;
6081  
6082 <  case 526:
6083 <
6084 < /* Line 1806 of yacc.c  */
6756 < #line 2878 "conf_parser.y"
6082 >  case 521:
6083 > /* Line 1813 of yacc.c  */
6084 > #line 2570 "conf_parser.y"
6085      {
6086    ConfigFileEntry.use_egd = yylval.number;
6087   }
6088      break;
6089  
6090 <  case 527:
6091 <
6092 < /* Line 1806 of yacc.c  */
6765 < #line 2883 "conf_parser.y"
6090 >  case 522:
6091 > /* Line 1813 of yacc.c  */
6092 > #line 2575 "conf_parser.y"
6093      {
6094    if (conf_parser_ctx.pass == 2)
6095    {
6096      MyFree(ConfigFileEntry.egdpool_path);
6097 <    DupString(ConfigFileEntry.egdpool_path, yylval.string);
6097 >    ConfigFileEntry.egdpool_path = xstrdup(yylval.string);
6098    }
6099   }
6100      break;
6101  
6102 <  case 528:
6103 <
6104 < /* Line 1806 of yacc.c  */
6778 < #line 2892 "conf_parser.y"
6102 >  case 523:
6103 > /* Line 1813 of yacc.c  */
6104 > #line 2584 "conf_parser.y"
6105      {
6106    if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6107    {
6108      MyFree(ConfigFileEntry.service_name);
6109 <    DupString(ConfigFileEntry.service_name, yylval.string);
6109 >    ConfigFileEntry.service_name = xstrdup(yylval.string);
6110    }
6111   }
6112      break;
6113  
6114 <  case 529:
6115 <
6116 < /* Line 1806 of yacc.c  */
6791 < #line 2901 "conf_parser.y"
6114 >  case 524:
6115 > /* Line 1813 of yacc.c  */
6116 > #line 2593 "conf_parser.y"
6117      {
6118    ConfigFileEntry.ping_cookie = yylval.number;
6119   }
6120      break;
6121  
6122 <  case 530:
6123 <
6124 < /* Line 1806 of yacc.c  */
6800 < #line 2906 "conf_parser.y"
6122 >  case 525:
6123 > /* Line 1813 of yacc.c  */
6124 > #line 2598 "conf_parser.y"
6125      {
6126    ConfigFileEntry.disable_auth = yylval.number;
6127   }
6128      break;
6129  
6130 <  case 531:
6131 <
6132 < /* Line 1806 of yacc.c  */
6809 < #line 2911 "conf_parser.y"
6130 >  case 526:
6131 > /* Line 1813 of yacc.c  */
6132 > #line 2603 "conf_parser.y"
6133      {
6134    ConfigFileEntry.throttle_time = yylval.number;
6135   }
6136      break;
6137  
6138 <  case 532:
6139 <
6140 < /* Line 1806 of yacc.c  */
6818 < #line 2916 "conf_parser.y"
6138 >  case 527:
6139 > /* Line 1813 of yacc.c  */
6140 > #line 2608 "conf_parser.y"
6141      {
6142    ConfigFileEntry.oper_umodes = 0;
6143   }
6144      break;
6145  
6146 <  case 536:
6147 <
6148 < /* Line 1806 of yacc.c  */
6827 < #line 2922 "conf_parser.y"
6146 >  case 531:
6147 > /* Line 1813 of yacc.c  */
6148 > #line 2614 "conf_parser.y"
6149      {
6150    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6151   }
6152      break;
6153  
6154 <  case 537:
6155 <
6156 < /* Line 1806 of yacc.c  */
6836 < #line 2925 "conf_parser.y"
6154 >  case 532:
6155 > /* Line 1813 of yacc.c  */
6156 > #line 2617 "conf_parser.y"
6157      {
6158    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6159   }
6160      break;
6161  
6162 <  case 538:
6163 <
6164 < /* Line 1806 of yacc.c  */
6845 < #line 2928 "conf_parser.y"
6162 >  case 533:
6163 > /* Line 1813 of yacc.c  */
6164 > #line 2620 "conf_parser.y"
6165      {
6166    ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6167   }
6168      break;
6169  
6170 <  case 539:
6171 <
6172 < /* Line 1806 of yacc.c  */
6854 < #line 2931 "conf_parser.y"
6170 >  case 534:
6171 > /* Line 1813 of yacc.c  */
6172 > #line 2623 "conf_parser.y"
6173      {
6174    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6175   }
6176      break;
6177  
6178 <  case 540:
6179 <
6180 < /* Line 1806 of yacc.c  */
6863 < #line 2934 "conf_parser.y"
6178 >  case 535:
6179 > /* Line 1813 of yacc.c  */
6180 > #line 2626 "conf_parser.y"
6181      {
6182    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6183   }
6184      break;
6185  
6186 <  case 541:
6187 <
6188 < /* Line 1806 of yacc.c  */
6872 < #line 2937 "conf_parser.y"
6186 >  case 536:
6187 > /* Line 1813 of yacc.c  */
6188 > #line 2629 "conf_parser.y"
6189      {
6190    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6191   }
6192      break;
6193  
6194 <  case 542:
6195 <
6196 < /* Line 1806 of yacc.c  */
6881 < #line 2940 "conf_parser.y"
6194 >  case 537:
6195 > /* Line 1813 of yacc.c  */
6196 > #line 2632 "conf_parser.y"
6197      {
6198    ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6199   }
6200      break;
6201  
6202 <  case 543:
6203 <
6204 < /* Line 1806 of yacc.c  */
6890 < #line 2943 "conf_parser.y"
6202 >  case 538:
6203 > /* Line 1813 of yacc.c  */
6204 > #line 2635 "conf_parser.y"
6205      {
6206    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6207   }
6208      break;
6209  
6210 <  case 544:
6211 <
6212 < /* Line 1806 of yacc.c  */
6899 < #line 2946 "conf_parser.y"
6210 >  case 539:
6211 > /* Line 1813 of yacc.c  */
6212 > #line 2638 "conf_parser.y"
6213      {
6214    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6215   }
6216      break;
6217  
6218 <  case 545:
6219 <
6220 < /* Line 1806 of yacc.c  */
6908 < #line 2949 "conf_parser.y"
6218 >  case 540:
6219 > /* Line 1813 of yacc.c  */
6220 > #line 2641 "conf_parser.y"
6221      {
6222    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6223   }
6224      break;
6225  
6226 <  case 546:
6227 <
6228 < /* Line 1806 of yacc.c  */
6917 < #line 2952 "conf_parser.y"
6226 >  case 541:
6227 > /* Line 1813 of yacc.c  */
6228 > #line 2644 "conf_parser.y"
6229      {
6230    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6231   }
6232      break;
6233  
6234 <  case 547:
6235 <
6236 < /* Line 1806 of yacc.c  */
6926 < #line 2955 "conf_parser.y"
6234 >  case 542:
6235 > /* Line 1813 of yacc.c  */
6236 > #line 2647 "conf_parser.y"
6237      {
6238    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6239   }
6240      break;
6241  
6242 <  case 548:
6243 <
6244 < /* Line 1806 of yacc.c  */
6935 < #line 2958 "conf_parser.y"
6242 >  case 543:
6243 > /* Line 1813 of yacc.c  */
6244 > #line 2650 "conf_parser.y"
6245      {
6246    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6247   }
6248      break;
6249  
6250 <  case 549:
6251 <
6252 < /* Line 1806 of yacc.c  */
6944 < #line 2961 "conf_parser.y"
6250 >  case 544:
6251 > /* Line 1813 of yacc.c  */
6252 > #line 2653 "conf_parser.y"
6253      {
6254    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6255   }
6256      break;
6257  
6258 <  case 550:
6259 <
6260 < /* Line 1806 of yacc.c  */
6953 < #line 2964 "conf_parser.y"
6258 >  case 545:
6259 > /* Line 1813 of yacc.c  */
6260 > #line 2656 "conf_parser.y"
6261      {
6262    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6263   }
6264      break;
6265  
6266 <  case 551:
6267 <
6268 < /* Line 1806 of yacc.c  */
6962 < #line 2967 "conf_parser.y"
6266 >  case 546:
6267 > /* Line 1813 of yacc.c  */
6268 > #line 2659 "conf_parser.y"
6269      {
6270    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6271   }
6272      break;
6273  
6274 <  case 552:
6275 <
6276 < /* Line 1806 of yacc.c  */
6971 < #line 2970 "conf_parser.y"
6274 >  case 547:
6275 > /* Line 1813 of yacc.c  */
6276 > #line 2662 "conf_parser.y"
6277      {
6278    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6279   }
6280      break;
6281  
6282 <  case 553:
6283 <
6284 < /* Line 1806 of yacc.c  */
6980 < #line 2973 "conf_parser.y"
6282 >  case 548:
6283 > /* Line 1813 of yacc.c  */
6284 > #line 2665 "conf_parser.y"
6285      {
6286    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6287   }
6288      break;
6289  
6290 <  case 554:
6291 <
6292 < /* Line 1806 of yacc.c  */
6989 < #line 2976 "conf_parser.y"
6290 >  case 549:
6291 > /* Line 1813 of yacc.c  */
6292 > #line 2668 "conf_parser.y"
6293      {
6294    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6295   }
6296      break;
6297  
6298 <  case 555:
6299 <
6300 < /* Line 1806 of yacc.c  */
6998 < #line 2979 "conf_parser.y"
6298 >  case 550:
6299 > /* Line 1813 of yacc.c  */
6300 > #line 2671 "conf_parser.y"
6301      {
6302    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6303   }
6304      break;
6305  
6306 <  case 556:
6307 <
6308 < /* Line 1806 of yacc.c  */
7007 < #line 2984 "conf_parser.y"
6306 >  case 551:
6307 > /* Line 1813 of yacc.c  */
6308 > #line 2676 "conf_parser.y"
6309      {
6310    ConfigFileEntry.oper_only_umodes = 0;
6311   }
6312      break;
6313  
6314 <  case 560:
6315 <
6316 < /* Line 1806 of yacc.c  */
7016 < #line 2990 "conf_parser.y"
6314 >  case 555:
6315 > /* Line 1813 of yacc.c  */
6316 > #line 2682 "conf_parser.y"
6317      {
6318    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6319   }
6320      break;
6321  
6322 <  case 561:
6323 <
6324 < /* Line 1806 of yacc.c  */
7025 < #line 2993 "conf_parser.y"
6322 >  case 556:
6323 > /* Line 1813 of yacc.c  */
6324 > #line 2685 "conf_parser.y"
6325      {
6326    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6327   }
6328      break;
6329  
6330 <  case 562:
6331 <
6332 < /* Line 1806 of yacc.c  */
7034 < #line 2996 "conf_parser.y"
6330 >  case 557:
6331 > /* Line 1813 of yacc.c  */
6332 > #line 2688 "conf_parser.y"
6333      {
6334    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6335   }
6336      break;
6337  
6338 <  case 563:
6339 <
6340 < /* Line 1806 of yacc.c  */
7043 < #line 2999 "conf_parser.y"
6338 >  case 558:
6339 > /* Line 1813 of yacc.c  */
6340 > #line 2691 "conf_parser.y"
6341      {
6342    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6343   }
6344      break;
6345  
6346 <  case 564:
6347 <
6348 < /* Line 1806 of yacc.c  */
7052 < #line 3002 "conf_parser.y"
6346 >  case 559:
6347 > /* Line 1813 of yacc.c  */
6348 > #line 2694 "conf_parser.y"
6349      {
6350    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6351   }
6352      break;
6353  
6354 <  case 565:
6355 <
6356 < /* Line 1806 of yacc.c  */
7061 < #line 3005 "conf_parser.y"
6354 >  case 560:
6355 > /* Line 1813 of yacc.c  */
6356 > #line 2697 "conf_parser.y"
6357      {
6358    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6359   }
6360      break;
6361  
6362 <  case 566:
6363 <
6364 < /* Line 1806 of yacc.c  */
7070 < #line 3008 "conf_parser.y"
6362 >  case 561:
6363 > /* Line 1813 of yacc.c  */
6364 > #line 2700 "conf_parser.y"
6365      {
6366    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6367   }
6368      break;
6369  
6370 <  case 567:
6371 <
6372 < /* Line 1806 of yacc.c  */
7079 < #line 3011 "conf_parser.y"
6370 >  case 562:
6371 > /* Line 1813 of yacc.c  */
6372 > #line 2703 "conf_parser.y"
6373      {
6374    ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6375   }
6376      break;
6377  
6378 <  case 568:
6379 <
6380 < /* Line 1806 of yacc.c  */
7088 < #line 3014 "conf_parser.y"
6378 >  case 563:
6379 > /* Line 1813 of yacc.c  */
6380 > #line 2706 "conf_parser.y"
6381      {
6382    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6383   }
6384      break;
6385  
6386 <  case 569:
6387 <
6388 < /* Line 1806 of yacc.c  */
7097 < #line 3017 "conf_parser.y"
6386 >  case 564:
6387 > /* Line 1813 of yacc.c  */
6388 > #line 2709 "conf_parser.y"
6389      {
6390    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6391   }
6392      break;
6393  
6394 <  case 570:
6395 <
6396 < /* Line 1806 of yacc.c  */
7106 < #line 3020 "conf_parser.y"
6394 >  case 565:
6395 > /* Line 1813 of yacc.c  */
6396 > #line 2712 "conf_parser.y"
6397      {
6398    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6399   }
6400      break;
6401  
6402 <  case 571:
6403 <
6404 < /* Line 1806 of yacc.c  */
7115 < #line 3023 "conf_parser.y"
6402 >  case 566:
6403 > /* Line 1813 of yacc.c  */
6404 > #line 2715 "conf_parser.y"
6405      {
6406    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6407   }
6408      break;
6409  
6410 <  case 572:
6411 <
6412 < /* Line 1806 of yacc.c  */
7124 < #line 3026 "conf_parser.y"
6410 >  case 567:
6411 > /* Line 1813 of yacc.c  */
6412 > #line 2718 "conf_parser.y"
6413      {
6414    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6415   }
6416      break;
6417  
6418 <  case 573:
6419 <
6420 < /* Line 1806 of yacc.c  */
7133 < #line 3029 "conf_parser.y"
6418 >  case 568:
6419 > /* Line 1813 of yacc.c  */
6420 > #line 2721 "conf_parser.y"
6421      {
6422    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6423   }
6424      break;
6425  
6426 <  case 574:
6427 <
6428 < /* Line 1806 of yacc.c  */
7142 < #line 3032 "conf_parser.y"
6426 >  case 569:
6427 > /* Line 1813 of yacc.c  */
6428 > #line 2724 "conf_parser.y"
6429      {
6430    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6431   }
6432      break;
6433  
6434 <  case 575:
6435 <
6436 < /* Line 1806 of yacc.c  */
7151 < #line 3035 "conf_parser.y"
6434 >  case 570:
6435 > /* Line 1813 of yacc.c  */
6436 > #line 2727 "conf_parser.y"
6437      {
6438    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6439   }
6440      break;
6441  
6442 <  case 576:
6443 <
6444 < /* Line 1806 of yacc.c  */
7160 < #line 3038 "conf_parser.y"
6442 >  case 571:
6443 > /* Line 1813 of yacc.c  */
6444 > #line 2730 "conf_parser.y"
6445      {
6446    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6447   }
6448      break;
6449  
6450 <  case 577:
6451 <
6452 < /* Line 1806 of yacc.c  */
7169 < #line 3041 "conf_parser.y"
6450 >  case 572:
6451 > /* Line 1813 of yacc.c  */
6452 > #line 2733 "conf_parser.y"
6453      {
6454    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6455   }
6456      break;
6457  
6458 <  case 578:
6459 <
6460 < /* Line 1806 of yacc.c  */
7178 < #line 3044 "conf_parser.y"
6458 >  case 573:
6459 > /* Line 1813 of yacc.c  */
6460 > #line 2736 "conf_parser.y"
6461      {
6462    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6463   }
6464      break;
6465  
6466 <  case 579:
6467 <
6468 < /* Line 1806 of yacc.c  */
7187 < #line 3047 "conf_parser.y"
6466 >  case 574:
6467 > /* Line 1813 of yacc.c  */
6468 > #line 2739 "conf_parser.y"
6469      {
6470    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6471   }
6472      break;
6473  
6474 <  case 580:
6475 <
6476 < /* Line 1806 of yacc.c  */
7196 < #line 3052 "conf_parser.y"
6474 >  case 575:
6475 > /* Line 1813 of yacc.c  */
6476 > #line 2744 "conf_parser.y"
6477      {
6478    ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6479   }
6480      break;
6481  
6482 <  case 581:
6483 <
6484 < /* Line 1806 of yacc.c  */
7205 < #line 3057 "conf_parser.y"
6482 >  case 576:
6483 > /* Line 1813 of yacc.c  */
6484 > #line 2749 "conf_parser.y"
6485      {
6486    ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6487   }
6488      break;
6489  
6490 <  case 582:
6491 <
6492 < /* Line 1806 of yacc.c  */
7214 < #line 3062 "conf_parser.y"
6490 >  case 577:
6491 > /* Line 1813 of yacc.c  */
6492 > #line 2754 "conf_parser.y"
6493      {
6494    ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6495   }
6496      break;
6497  
7220  case 583:
7221
7222 /* Line 1806 of yacc.c  */
7223 #line 3067 "conf_parser.y"
7224    {
7225  ConfigFileEntry.client_flood = (yyvsp[(3) - (4)].number);
7226 }
7227    break;
7228
7229  case 584:
7230
7231 /* Line 1806 of yacc.c  */
7232 #line 3076 "conf_parser.y"
7233    {
7234  if (conf_parser_ctx.pass == 2)
7235  {
7236    yy_conf = make_conf_item(GDENY_TYPE);
7237    yy_aconf = map_to_conf(yy_conf);
7238  }
7239 }
7240    break;
7241
7242  case 585:
7243
7244 /* Line 1806 of yacc.c  */
7245 #line 3083 "conf_parser.y"
7246    {
7247  if (conf_parser_ctx.pass == 2)
7248  {
7249    /*
7250     * since we re-allocate yy_conf/yy_aconf after the end of action=, at the
7251     * end we will have one extra, so we should free it.
7252     */
7253    if (yy_conf->name == NULL || yy_aconf->user == NULL)
7254    {
7255      delete_conf_item(yy_conf);
7256      yy_conf = NULL;
7257      yy_aconf = NULL;
7258    }
7259  }
7260 }
7261    break;
7262
7263  case 595:
7264
7265 /* Line 1806 of yacc.c  */
7266 #line 3109 "conf_parser.y"
7267    {
7268  if (conf_parser_ctx.pass == 2)
7269    ConfigFileEntry.glines = yylval.number;
7270 }
7271    break;
7272
6498    case 596:
6499 <
6500 < /* Line 1806 of yacc.c  */
7276 < #line 3115 "conf_parser.y"
7277 <    {
7278 <  if (conf_parser_ctx.pass == 2)
7279 <    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
7280 < }
7281 <    break;
7282 <
7283 <  case 597:
7284 <
7285 < /* Line 1806 of yacc.c  */
7286 < #line 3121 "conf_parser.y"
7287 <    {
7288 <  if (conf_parser_ctx.pass == 2)
7289 <    ConfigFileEntry.gline_logging = 0;
7290 < }
7291 <    break;
7292 <
7293 <  case 601:
7294 <
7295 < /* Line 1806 of yacc.c  */
7296 < #line 3127 "conf_parser.y"
7297 <    {
7298 <  if (conf_parser_ctx.pass == 2)
7299 <    ConfigFileEntry.gline_logging |= GDENY_REJECT;
7300 < }
7301 <    break;
7302 <
7303 <  case 602:
7304 <
7305 < /* Line 1806 of yacc.c  */
7306 < #line 3131 "conf_parser.y"
7307 <    {
7308 <  if (conf_parser_ctx.pass == 2)
7309 <    ConfigFileEntry.gline_logging |= GDENY_BLOCK;
7310 < }
7311 <    break;
7312 <
7313 <  case 603:
7314 <
7315 < /* Line 1806 of yacc.c  */
7316 < #line 3137 "conf_parser.y"
7317 <    {
7318 <  if (conf_parser_ctx.pass == 2)
7319 <  {
7320 <    struct split_nuh_item nuh;
7321 <
7322 <    nuh.nuhmask  = yylval.string;
7323 <    nuh.nickptr  = NULL;
7324 <    nuh.userptr  = userbuf;
7325 <    nuh.hostptr  = hostbuf;
7326 <
7327 <    nuh.nicksize = 0;
7328 <    nuh.usersize = sizeof(userbuf);
7329 <    nuh.hostsize = sizeof(hostbuf);
7330 <
7331 <    split_nuh(&nuh);
7332 <
7333 <    if (yy_aconf->user == NULL)
7334 <    {
7335 <      DupString(yy_aconf->user, userbuf);
7336 <      DupString(yy_aconf->host, hostbuf);
7337 <    }
7338 <    else
7339 <    {
7340 <      struct CollectItem *yy_tmp = MyMalloc(sizeof(struct CollectItem));
7341 <
7342 <      DupString(yy_tmp->user, userbuf);
7343 <      DupString(yy_tmp->host, hostbuf);
7344 <
7345 <      dlinkAdd(yy_tmp, &yy_tmp->node, &col_conf_list);
7346 <    }
7347 <  }
7348 < }
7349 <    break;
7350 <
7351 <  case 604:
7352 <
7353 < /* Line 1806 of yacc.c  */
7354 < #line 3171 "conf_parser.y"
7355 <    {
7356 <  if (conf_parser_ctx.pass == 2)  
7357 <  {
7358 <    MyFree(yy_conf->name);
7359 <    DupString(yy_conf->name, yylval.string);
7360 <  }
7361 < }
7362 <    break;
7363 <
7364 <  case 605:
7365 <
7366 < /* Line 1806 of yacc.c  */
7367 < #line 3180 "conf_parser.y"
7368 <    {
7369 <  if (conf_parser_ctx.pass == 2)
7370 <    yy_aconf->flags = 0;
7371 < }
7372 <    break;
7373 <
7374 <  case 606:
7375 <
7376 < /* Line 1806 of yacc.c  */
7377 < #line 3184 "conf_parser.y"
7378 <    {
7379 <  if (conf_parser_ctx.pass == 2)
7380 <  {
7381 <    struct CollectItem *yy_tmp = NULL;
7382 <    dlink_node *ptr, *next_ptr;
7383 <
7384 <    DLINK_FOREACH_SAFE(ptr, next_ptr, col_conf_list.head)
7385 <    {
7386 <      struct AccessItem *new_aconf;
7387 <      struct ConfItem *new_conf;
7388 <
7389 <      yy_tmp = ptr->data;
7390 <      new_conf = make_conf_item(GDENY_TYPE);
7391 <      new_aconf = map_to_conf(new_conf);
7392 <
7393 <      new_aconf->flags = yy_aconf->flags;
7394 <
7395 <      if (yy_conf->name != NULL)
7396 <        DupString(new_conf->name, yy_conf->name);
7397 <      else
7398 <        DupString(new_conf->name, "*");
7399 <      if (yy_aconf->user != NULL)
7400 <         DupString(new_aconf->user, yy_tmp->user);
7401 <      else  
7402 <        DupString(new_aconf->user, "*");
7403 <      if (yy_aconf->host != NULL)
7404 <        DupString(new_aconf->host, yy_tmp->host);
7405 <      else
7406 <        DupString(new_aconf->host, "*");
7407 <
7408 <      dlinkDelete(&yy_tmp->node, &col_conf_list);
7409 <    }
7410 <
7411 <    /*
7412 <     * In case someone has fed us with more than one action= after user/name
7413 <     * which would leak memory  -Michael
7414 <     */
7415 <    if (yy_conf->name == NULL || yy_aconf->user == NULL)
7416 <      delete_conf_item(yy_conf);
7417 <
7418 <    yy_conf = make_conf_item(GDENY_TYPE);
7419 <    yy_aconf = map_to_conf(yy_conf);
7420 <  }
7421 < }
7422 <    break;
7423 <
7424 <  case 609:
7425 <
7426 < /* Line 1806 of yacc.c  */
7427 < #line 3231 "conf_parser.y"
7428 <    {
7429 <  if (conf_parser_ctx.pass == 2)
7430 <    yy_aconf->flags |= GDENY_REJECT;
7431 < }
7432 <    break;
7433 <
7434 <  case 610:
7435 <
7436 < /* Line 1806 of yacc.c  */
7437 < #line 3235 "conf_parser.y"
7438 <    {
7439 <  if (conf_parser_ctx.pass == 2)
7440 <    yy_aconf->flags |= GDENY_BLOCK;
7441 < }
7442 <    break;
7443 <
7444 <  case 633:
7445 <
7446 < /* Line 1806 of yacc.c  */
7447 < #line 3259 "conf_parser.y"
6499 > /* Line 1813 of yacc.c  */
6500 > #line 2777 "conf_parser.y"
6501      {
6502    ConfigChannel.disable_fake_channels = yylval.number;
6503   }
6504      break;
6505  
6506 <  case 634:
6507 <
6508 < /* Line 1806 of yacc.c  */
7456 < #line 3264 "conf_parser.y"
6506 >  case 597:
6507 > /* Line 1813 of yacc.c  */
6508 > #line 2782 "conf_parser.y"
6509      {
6510    ConfigChannel.restrict_channels = yylval.number;
6511   }
6512      break;
6513  
6514 <  case 635:
6515 <
6516 < /* Line 1806 of yacc.c  */
7465 < #line 3269 "conf_parser.y"
7466 <    {
7467 <  ConfigChannel.disable_local_channels = yylval.number;
7468 < }
7469 <    break;
7470 <
7471 <  case 636:
7472 <
7473 < /* Line 1806 of yacc.c  */
7474 < #line 3274 "conf_parser.y"
7475 <    {
7476 <  ConfigChannel.use_except = yylval.number;
7477 < }
7478 <    break;
7479 <
7480 <  case 637:
7481 <
7482 < /* Line 1806 of yacc.c  */
7483 < #line 3279 "conf_parser.y"
7484 <    {
7485 <  ConfigChannel.use_invex = yylval.number;
7486 < }
7487 <    break;
7488 <
7489 <  case 638:
7490 <
7491 < /* Line 1806 of yacc.c  */
7492 < #line 3284 "conf_parser.y"
7493 <    {
7494 <  ConfigChannel.use_knock = yylval.number;
7495 < }
7496 <    break;
7497 <
7498 <  case 639:
7499 <
7500 < /* Line 1806 of yacc.c  */
7501 < #line 3289 "conf_parser.y"
6514 >  case 598:
6515 > /* Line 1813 of yacc.c  */
6516 > #line 2787 "conf_parser.y"
6517      {
6518    ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6519   }
6520      break;
6521  
6522 <  case 640:
6523 <
6524 < /* Line 1806 of yacc.c  */
7510 < #line 3294 "conf_parser.y"
6522 >  case 599:
6523 > /* Line 1813 of yacc.c  */
6524 > #line 2792 "conf_parser.y"
6525      {
6526    ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6527   }
6528      break;
6529  
6530 <  case 641:
6531 <
6532 < /* Line 1806 of yacc.c  */
7519 < #line 3299 "conf_parser.y"
6530 >  case 600:
6531 > /* Line 1813 of yacc.c  */
6532 > #line 2797 "conf_parser.y"
6533      {
6534    ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6535   }
6536      break;
6537  
6538 <  case 642:
6538 >  case 601:
6539 > /* Line 1813 of yacc.c  */
6540 > #line 2802 "conf_parser.y"
6541 >    {
6542 >  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6543 > }
6544 >    break;
6545  
6546 < /* Line 1806 of yacc.c  */
6547 < #line 3304 "conf_parser.y"
6546 >  case 602:
6547 > /* Line 1813 of yacc.c  */
6548 > #line 2807 "conf_parser.y"
6549      {
6550    ConfigChannel.quiet_on_ban = yylval.number;
6551   }
6552      break;
6553  
6554 <  case 643:
6555 <
6556 < /* Line 1806 of yacc.c  */
7537 < #line 3309 "conf_parser.y"
6554 >  case 603:
6555 > /* Line 1813 of yacc.c  */
6556 > #line 2812 "conf_parser.y"
6557      {
6558    ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6559   }
6560      break;
6561  
6562 <  case 644:
6563 <
6564 < /* Line 1806 of yacc.c  */
7546 < #line 3314 "conf_parser.y"
6562 >  case 604:
6563 > /* Line 1813 of yacc.c  */
6564 > #line 2817 "conf_parser.y"
6565      {
6566    ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6567   }
6568      break;
6569  
6570 <  case 645:
6571 <
6572 < /* Line 1806 of yacc.c  */
7555 < #line 3319 "conf_parser.y"
6570 >  case 605:
6571 > /* Line 1813 of yacc.c  */
6572 > #line 2822 "conf_parser.y"
6573      {
6574    ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6575   }
6576      break;
6577  
6578 <  case 646:
6579 <
6580 < /* Line 1806 of yacc.c  */
7564 < #line 3324 "conf_parser.y"
6578 >  case 606:
6579 > /* Line 1813 of yacc.c  */
6580 > #line 2827 "conf_parser.y"
6581      {
6582    ConfigChannel.no_create_on_split = yylval.number;
6583   }
6584      break;
6585  
6586 <  case 647:
6587 <
6588 < /* Line 1806 of yacc.c  */
7573 < #line 3329 "conf_parser.y"
6586 >  case 607:
6587 > /* Line 1813 of yacc.c  */
6588 > #line 2832 "conf_parser.y"
6589      {
6590    ConfigChannel.no_join_on_split = yylval.number;
6591   }
6592      break;
6593  
6594 <  case 648:
6595 <
6596 < /* Line 1806 of yacc.c  */
7582 < #line 3334 "conf_parser.y"
7583 <    {
7584 <  ConfigChannel.burst_topicwho = yylval.number;
7585 < }
7586 <    break;
7587 <
7588 <  case 649:
7589 <
7590 < /* Line 1806 of yacc.c  */
7591 < #line 3339 "conf_parser.y"
6594 >  case 608:
6595 > /* Line 1813 of yacc.c  */
6596 > #line 2837 "conf_parser.y"
6597      {
6598    GlobalSetOptions.joinfloodcount = yylval.number;
6599   }
6600      break;
6601  
6602 <  case 650:
6603 <
6604 < /* Line 1806 of yacc.c  */
7600 < #line 3344 "conf_parser.y"
6602 >  case 609:
6603 > /* Line 1813 of yacc.c  */
6604 > #line 2842 "conf_parser.y"
6605      {
6606    GlobalSetOptions.joinfloodtime = yylval.number;
6607   }
6608      break;
6609  
6610 <  case 662:
6611 <
6612 < /* Line 1806 of yacc.c  */
7609 < #line 3363 "conf_parser.y"
6610 >  case 620:
6611 > /* Line 1813 of yacc.c  */
6612 > #line 2860 "conf_parser.y"
6613      {
6614    if (conf_parser_ctx.pass == 2)
6615      ConfigServerHide.flatten_links = yylval.number;
6616   }
6617      break;
6618  
6619 <  case 663:
6620 <
6621 < /* Line 1806 of yacc.c  */
7619 < #line 3369 "conf_parser.y"
6619 >  case 621:
6620 > /* Line 1813 of yacc.c  */
6621 > #line 2866 "conf_parser.y"
6622      {
6623    if (conf_parser_ctx.pass == 2)
6624      ConfigServerHide.hide_servers = yylval.number;
6625   }
6626      break;
6627  
6628 <  case 664:
6629 <
6630 < /* Line 1806 of yacc.c  */
7629 < #line 3375 "conf_parser.y"
6628 >  case 622:
6629 > /* Line 1813 of yacc.c  */
6630 > #line 2872 "conf_parser.y"
6631      {
6632    if (conf_parser_ctx.pass == 2)
6633    {
6634      MyFree(ConfigServerHide.hidden_name);
6635 <    DupString(ConfigServerHide.hidden_name, yylval.string);
6635 >    ConfigServerHide.hidden_name = xstrdup(yylval.string);
6636    }
6637   }
6638      break;
6639  
6640 <  case 665:
6641 <
6642 < /* Line 1806 of yacc.c  */
7642 < #line 3384 "conf_parser.y"
6640 >  case 623:
6641 > /* Line 1813 of yacc.c  */
6642 > #line 2881 "conf_parser.y"
6643      {
6644    if (conf_parser_ctx.pass == 2)
6645    {
# Line 7654 | Line 6654 | yyreduce:
6654   }
6655      break;
6656  
6657 <  case 666:
6658 <
6659 < /* Line 1806 of yacc.c  */
7660 < #line 3398 "conf_parser.y"
6657 >  case 624:
6658 > /* Line 1813 of yacc.c  */
6659 > #line 2895 "conf_parser.y"
6660      {
6661    if (conf_parser_ctx.pass == 2)
6662      ConfigServerHide.hidden = yylval.number;
6663   }
6664      break;
6665  
6666 <  case 667:
6667 <
6668 < /* Line 1806 of yacc.c  */
7670 < #line 3404 "conf_parser.y"
7671 <    {
7672 <  if (conf_parser_ctx.pass == 2)
7673 <    ConfigServerHide.disable_hidden = yylval.number;
7674 < }
7675 <    break;
7676 <
7677 <  case 668:
7678 <
7679 < /* Line 1806 of yacc.c  */
7680 < #line 3410 "conf_parser.y"
6666 >  case 625:
6667 > /* Line 1813 of yacc.c  */
6668 > #line 2901 "conf_parser.y"
6669      {
6670    if (conf_parser_ctx.pass == 2)
6671      ConfigServerHide.hide_server_ips = yylval.number;
# Line 7685 | Line 6673 | yyreduce:
6673      break;
6674  
6675  
6676 <
6677 < /* Line 1806 of yacc.c  */
7690 < #line 7691 "conf_parser.c"
6676 > /* Line 1813 of yacc.c  */
6677 > #line 6678 "conf_parser.c"
6678        default: break;
6679      }
6680    /* User semantic actions sometimes alter yychar, and that requires
# Line 7850 | Line 6837 | yyerrlab1:
6837        YY_STACK_PRINT (yyss, yyssp);
6838      }
6839  
6840 +  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
6841    *++yyvsp = yylval;
6842 +  YY_IGNORE_MAYBE_UNINITIALIZED_END
6843  
6844  
6845    /* Shift the error token.  */
# Line 7874 | Line 6863 | yyabortlab:
6863    yyresult = 1;
6864    goto yyreturn;
6865  
6866 < #if !defined(yyoverflow) || YYERROR_VERBOSE
6866 > #if !defined yyoverflow || YYERROR_VERBOSE
6867   /*-------------------------------------------------.
6868   | yyexhaustedlab -- memory exhaustion comes here.  |
6869   `-------------------------------------------------*/
# Line 7916 | Line 6905 | yyreturn:
6905   }
6906  
6907  
7919

Diff Legend

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