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

Comparing:
ircd-hybrid-7.2/src/ircd_parser.c (file contents), Revision 1009 by michael, Sun Sep 13 15:02:30 2009 UTC vs.
ircd-hybrid-8/src/conf_parser.c (file contents), Revision 1526 by michael, Mon Sep 10 18:06:06 2012 UTC

# Line 1 | Line 1
1 + /* A Bison parser, made by GNU Bison 2.6.2.  */
2  
3 < /* A Bison parser, made by GNU Bison 2.4.1.  */
3 <
4 < /* Skeleton implementation for Bison's Yacc-like parsers in C
3 > /* Bison implementation for Yacc-like parsers in C
4    
5 <      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
7 <   Free Software Foundation, Inc.
5 >      Copyright (C) 1984, 1989-1990, 2000-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 46 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.4.1"
47 > #define YYBISON_VERSION "2.6.2"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 60 | Line 58
58   /* Pull parsers.  */
59   #define YYPULL 1
60  
63 /* Using locations.  */
64 #define YYLSP_NEEDED 0
61  
62  
63  
64   /* Copy the first part of user declarations.  */
65 <
66 < /* Line 189 of yacc.c  */
71 < #line 25 "ircd_parser.y"
65 > /* Line 336 of yacc.c  */
66 > #line 25 "conf_parser.y"
67  
68  
69   #define YY_NO_UNPUT
# Line 76 | Line 71
71   #include <string.h>
72  
73   #include "config.h"
79 #ifdef HAVE_LIBPCRE
80 #include <pcre.h>
81 #endif
74   #include "stdinc.h"
75   #include "ircd.h"
84 #include "tools.h"
76   #include "list.h"
77 < #include "s_conf.h"
77 > #include "conf.h"
78   #include "event.h"
79 < #include "s_log.h"
79 > #include "log.h"
80   #include "client.h"     /* for UMODE_ALL only */
81   #include "irc_string.h"
91 #include "irc_getaddrinfo.h"
82   #include "sprintf_irc.h"
83   #include "memory.h"
84   #include "modules.h"
# Line 104 | Line 94
94   #include <openssl/rsa.h>
95   #include <openssl/bio.h>
96   #include <openssl/pem.h>
97 + #include <openssl/dh.h>
98   #endif
99  
100 + int yylex(void);
101 +
102   static char *class_name = NULL;
103   static struct ConfItem *yy_conf = NULL;
104   static struct AccessItem *yy_aconf = NULL;
# Line 114 | Line 107 | static struct ClassItem *yy_class = NULL
107   static char *yy_class_name = NULL;
108  
109   static dlink_list col_conf_list  = { NULL, NULL, 0 };
117 static dlink_list hub_conf_list  = { NULL, NULL, 0 };
118 static dlink_list leaf_conf_list = { NULL, NULL, 0 };
110   static unsigned int listener_flags = 0;
111   static unsigned int regex_ban = 0;
112   static char userbuf[IRCD_BUFSIZE];
113   static char hostbuf[IRCD_BUFSIZE];
114   static char reasonbuf[REASONLEN + 1];
115   static char gecos_name[REALLEN * 4];
116 <
117 < extern dlink_list gdeny_items; /* XXX */
118 <
116 > static char lfile[IRCD_BUFSIZE];
117 > static unsigned int ltype = 0;
118 > static unsigned int lsize = 0;
119   static char *resv_reason = NULL;
120   static char *listener_address = NULL;
130 static int not_atom = 0;
121  
122   struct CollectItem
123   {
# Line 157 | Line 147 | free_collect_item(struct CollectItem *it
147    MyFree(item);
148   }
149  
160 static void
161 unhook_hub_leaf_confs(void)
162 {
163  dlink_node *ptr;
164  dlink_node *next_ptr;
165  struct CollectItem *yy_hconf;
166  struct CollectItem *yy_lconf;
167
168  DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
169  {
170    yy_hconf = ptr->data;
171    dlinkDelete(&yy_hconf->node, &hub_conf_list);
172    free_collect_item(yy_hconf);
173  }
174
175  DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
176  {
177    yy_lconf = ptr->data;
178    dlinkDelete(&yy_lconf->node, &leaf_conf_list);
179    free_collect_item(yy_lconf);
180  }
181 }
182
150  
151 + /* Line 336 of yacc.c  */
152 + #line 153 "conf_parser.c"
153  
154 < /* Line 189 of yacc.c  */
155 < #line 187 "ircd_parser.c"
156 <
157 < /* Enabling traces.  */
158 < #ifndef YYDEBUG
159 < # define YYDEBUG 0
160 < #endif
154 > # ifndef YY_NULL
155 > #  if defined __cplusplus && 201103L <= __cplusplus
156 > #   define YY_NULL nullptr
157 > #  else
158 > #   define YY_NULL 0
159 > #  endif
160 > # endif
161  
162   /* Enabling verbose error messages.  */
163   #ifdef YYERROR_VERBOSE
# Line 198 | Line 167 | unhook_hub_leaf_confs(void)
167   # define YYERROR_VERBOSE 0
168   #endif
169  
170 < /* Enabling the token table.  */
171 < #ifndef YYTOKEN_TABLE
172 < # define YYTOKEN_TABLE 0
170 > /* In a future release of Bison, this section will be replaced
171 >   by #include "y.tab.h".  */
172 > #ifndef YY_Y_TAB_H
173 > # define YY_Y_TAB_H
174 > /* Enabling traces.  */
175 > #ifndef YYDEBUG
176 > # define YYDEBUG 0
177 > #endif
178 > #if YYDEBUG
179 > extern int yydebug;
180   #endif
205
181  
182   /* Tokens.  */
183   #ifndef YYTOKENTYPE
# Line 211 | Line 186 | unhook_hub_leaf_confs(void)
186        know about them.  */
187     enum yytokentype {
188       ACCEPT_PASSWORD = 258,
189 <     ACTION = 259,
190 <     ADMIN = 260,
191 <     AFTYPE = 261,
192 <     T_ALLOW = 262,
193 <     ANTI_NICK_FLOOD = 263,
194 <     ANTI_SPAM_EXIT_MESSAGE_TIME = 264,
195 <     AUTOCONN = 265,
196 <     T_BLOCK = 266,
197 <     BURST_AWAY = 267,
198 <     BURST_TOPICWHO = 268,
199 <     BYTES = 269,
200 <     KBYTES = 270,
201 <     MBYTES = 271,
202 <     GBYTES = 272,
203 <     TBYTES = 273,
204 <     CALLER_ID_WAIT = 274,
205 <     CAN_FLOOD = 275,
206 <     CAN_IDLE = 276,
207 <     CHANNEL = 277,
208 <     CIDR_BITLEN_IPV4 = 278,
209 <     CIDR_BITLEN_IPV6 = 279,
210 <     CIPHER_PREFERENCE = 280,
211 <     CLASS = 281,
212 <     COMPRESSED = 282,
213 <     COMPRESSION_LEVEL = 283,
214 <     CONNECT = 284,
215 <     CONNECTFREQ = 285,
216 <     CRYPTLINK = 286,
217 <     DEFAULT_CIPHER_PREFERENCE = 287,
218 <     DEFAULT_FLOODCOUNT = 288,
219 <     DEFAULT_SPLIT_SERVER_COUNT = 289,
220 <     DEFAULT_SPLIT_USER_COUNT = 290,
221 <     DENY = 291,
222 <     DESCRIPTION = 292,
223 <     DIE = 293,
224 <     DISABLE_AUTH = 294,
225 <     DISABLE_FAKE_CHANNELS = 295,
226 <     DISABLE_HIDDEN = 296,
227 <     DISABLE_LOCAL_CHANNELS = 297,
228 <     DISABLE_REMOTE_COMMANDS = 298,
229 <     DOT_IN_IP6_ADDR = 299,
230 <     DOTS_IN_IDENT = 300,
231 <     DURATION = 301,
232 <     EGDPOOL_PATH = 302,
233 <     EMAIL = 303,
234 <     ENABLE = 304,
235 <     ENCRYPTED = 305,
236 <     EXCEED_LIMIT = 306,
237 <     EXEMPT = 307,
238 <     FAILED_OPER_NOTICE = 308,
239 <     FAKENAME = 309,
240 <     IRCD_FLAGS = 310,
241 <     FLATTEN_LINKS = 311,
242 <     FFAILED_OPERLOG = 312,
243 <     FKILLLOG = 313,
244 <     FKLINELOG = 314,
245 <     FGLINELOG = 315,
246 <     FIOERRLOG = 316,
247 <     FOPERLOG = 317,
248 <     FOPERSPYLOG = 318,
249 <     FUSERLOG = 319,
250 <     GECOS = 320,
251 <     GENERAL = 321,
252 <     GLINE = 322,
253 <     GLINES = 323,
254 <     GLINE_EXEMPT = 324,
255 <     GLINE_LOG = 325,
256 <     GLINE_TIME = 326,
257 <     GLINE_MIN_CIDR = 327,
258 <     GLINE_MIN_CIDR6 = 328,
259 <     GLOBAL_KILL = 329,
260 <     IRCD_AUTH = 330,
261 <     NEED_IDENT = 331,
262 <     HAVENT_READ_CONF = 332,
263 <     HIDDEN = 333,
264 <     HIDDEN_ADMIN = 334,
265 <     HIDDEN_NAME = 335,
266 <     HIDDEN_OPER = 336,
267 <     HIDE_SERVER_IPS = 337,
268 <     HIDE_SERVERS = 338,
269 <     HIDE_SPOOF_IPS = 339,
270 <     HOST = 340,
271 <     HUB = 341,
272 <     HUB_MASK = 342,
273 <     IDLETIME = 343,
274 <     IGNORE_BOGUS_TS = 344,
275 <     INVISIBLE_ON_CONNECT = 345,
276 <     IP = 346,
277 <     KILL = 347,
278 <     KILL_CHASE_TIME_LIMIT = 348,
279 <     KLINE = 349,
280 <     KLINE_EXEMPT = 350,
281 <     KLINE_REASON = 351,
282 <     KLINE_WITH_REASON = 352,
283 <     KNOCK_DELAY = 353,
284 <     KNOCK_DELAY_CHANNEL = 354,
285 <     LEAF_MASK = 355,
286 <     LINKS_DELAY = 356,
287 <     LISTEN = 357,
288 <     T_LOG = 358,
289 <     LOGGING = 359,
290 <     LOG_LEVEL = 360,
291 <     MAX_ACCEPT = 361,
292 <     MAX_BANS = 362,
293 <     MAX_CHANS_PER_USER = 363,
294 <     MAX_GLOBAL = 364,
295 <     MAX_IDENT = 365,
296 <     MAX_LOCAL = 366,
297 <     MAX_NICK_CHANGES = 367,
298 <     MAX_NICK_TIME = 368,
299 <     MAX_NUMBER = 369,
300 <     MAX_TARGETS = 370,
301 <     MAX_WATCH = 371,
302 <     MESSAGE_LOCALE = 372,
303 <     MIN_NONWILDCARD = 373,
304 <     MIN_NONWILDCARD_SIMPLE = 374,
305 <     MODULE = 375,
306 <     MODULES = 376,
307 <     NAME = 377,
308 <     NEED_PASSWORD = 378,
309 <     NETWORK_DESC = 379,
310 <     NETWORK_NAME = 380,
311 <     NICK = 381,
312 <     NICK_CHANGES = 382,
313 <     NO_CREATE_ON_SPLIT = 383,
314 <     NO_JOIN_ON_SPLIT = 384,
315 <     NO_OPER_FLOOD = 385,
316 <     NO_TILDE = 386,
317 <     NOT = 387,
318 <     NUMBER = 388,
319 <     NUMBER_PER_IDENT = 389,
320 <     NUMBER_PER_CIDR = 390,
321 <     NUMBER_PER_IP = 391,
322 <     NUMBER_PER_IP_GLOBAL = 392,
323 <     OPERATOR = 393,
324 <     OPERS_BYPASS_CALLERID = 394,
325 <     OPER_LOG = 395,
326 <     OPER_ONLY_UMODES = 396,
327 <     OPER_PASS_RESV = 397,
328 <     OPER_SPY_T = 398,
329 <     OPER_UMODES = 399,
330 <     JOIN_FLOOD_COUNT = 400,
331 <     JOIN_FLOOD_TIME = 401,
332 <     PACE_WAIT = 402,
333 <     PACE_WAIT_SIMPLE = 403,
334 <     PASSWORD = 404,
335 <     PATH = 405,
336 <     PING_COOKIE = 406,
337 <     PING_TIME = 407,
338 <     PING_WARNING = 408,
339 <     PORT = 409,
340 <     QSTRING = 410,
341 <     QUIET_ON_BAN = 411,
342 <     REASON = 412,
343 <     REDIRPORT = 413,
344 <     REDIRSERV = 414,
345 <     REGEX_T = 415,
346 <     REHASH = 416,
347 <     TREJECT_HOLD_TIME = 417,
348 <     REMOTE = 418,
349 <     REMOTEBAN = 419,
350 <     RESTRICT_CHANNELS = 420,
351 <     RESTRICTED = 421,
352 <     RSA_PRIVATE_KEY_FILE = 422,
353 <     RSA_PUBLIC_KEY_FILE = 423,
354 <     SSL_CERTIFICATE_FILE = 424,
355 <     T_SSL_CONNECTION_METHOD = 425,
356 <     T_SSLV3 = 426,
357 <     T_TLSV1 = 427,
358 <     RESV = 428,
359 <     RESV_EXEMPT = 429,
360 <     SECONDS = 430,
361 <     MINUTES = 431,
362 <     HOURS = 432,
363 <     DAYS = 433,
364 <     WEEKS = 434,
365 <     SENDQ = 435,
366 <     SEND_PASSWORD = 436,
367 <     SERVERHIDE = 437,
368 <     SERVERINFO = 438,
369 <     SERVLINK_PATH = 439,
370 <     IRCD_SID = 440,
371 <     TKLINE_EXPIRE_NOTICES = 441,
372 <     T_SHARED = 442,
373 <     T_CLUSTER = 443,
374 <     TYPE = 444,
375 <     SHORT_MOTD = 445,
376 <     SILENT = 446,
377 <     SPOOF = 447,
378 <     SPOOF_NOTICE = 448,
379 <     STATS_E_DISABLED = 449,
380 <     STATS_I_OPER_ONLY = 450,
381 <     STATS_K_OPER_ONLY = 451,
382 <     STATS_O_OPER_ONLY = 452,
383 <     STATS_P_OPER_ONLY = 453,
384 <     TBOOL = 454,
385 <     TMASKED = 455,
386 <     T_REJECT = 456,
387 <     TS_MAX_DELTA = 457,
388 <     TS_WARN_DELTA = 458,
389 <     TWODOTS = 459,
390 <     T_ALL = 460,
391 <     T_BOTS = 461,
392 <     T_SOFTCALLERID = 462,
393 <     T_CALLERID = 463,
394 <     T_CCONN = 464,
395 <     T_CCONN_FULL = 465,
396 <     T_CLIENT_FLOOD = 466,
397 <     T_DEAF = 467,
398 <     T_DEBUG = 468,
399 <     T_DRONE = 469,
400 <     T_EXTERNAL = 470,
401 <     T_FULL = 471,
402 <     T_INVISIBLE = 472,
403 <     T_IPV4 = 473,
429 <     T_IPV6 = 474,
430 <     T_LOCOPS = 475,
431 <     T_LOGPATH = 476,
432 <     T_L_CRIT = 477,
433 <     T_L_DEBUG = 478,
434 <     T_L_ERROR = 479,
435 <     T_L_INFO = 480,
436 <     T_L_NOTICE = 481,
437 <     T_L_TRACE = 482,
438 <     T_L_WARN = 483,
439 <     T_MAX_CLIENTS = 484,
440 <     T_NCHANGE = 485,
441 <     T_OPERWALL = 486,
442 <     T_REJ = 487,
443 <     T_SERVER = 488,
444 <     T_SERVNOTICE = 489,
445 <     T_SKILL = 490,
446 <     T_SPY = 491,
447 <     T_SSL = 492,
448 <     T_UMODES = 493,
449 <     T_UNAUTH = 494,
450 <     T_UNRESV = 495,
451 <     T_UNXLINE = 496,
452 <     T_WALLOP = 497,
453 <     THROTTLE_TIME = 498,
454 <     TOPICBURST = 499,
455 <     TRUE_NO_OPER_FLOOD = 500,
456 <     TKLINE = 501,
457 <     TXLINE = 502,
458 <     TRESV = 503,
459 <     UNKLINE = 504,
460 <     USER = 505,
461 <     USE_EGD = 506,
462 <     USE_EXCEPT = 507,
463 <     USE_INVEX = 508,
464 <     USE_KNOCK = 509,
465 <     USE_LOGGING = 510,
466 <     USE_WHOIS_ACTUALLY = 511,
467 <     VHOST = 512,
468 <     VHOST6 = 513,
469 <     XLINE = 514,
470 <     WARN = 515,
471 <     WARN_NO_NLINE = 516
189 >     ADMIN = 259,
190 >     AFTYPE = 260,
191 >     ANTI_NICK_FLOOD = 261,
192 >     ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
193 >     AUTOCONN = 263,
194 >     BYTES = 264,
195 >     KBYTES = 265,
196 >     MBYTES = 266,
197 >     CALLER_ID_WAIT = 267,
198 >     CAN_FLOOD = 268,
199 >     CHANNEL = 269,
200 >     CIDR_BITLEN_IPV4 = 270,
201 >     CIDR_BITLEN_IPV6 = 271,
202 >     CLASS = 272,
203 >     CONNECT = 273,
204 >     CONNECTFREQ = 274,
205 >     DEFAULT_FLOODCOUNT = 275,
206 >     DEFAULT_SPLIT_SERVER_COUNT = 276,
207 >     DEFAULT_SPLIT_USER_COUNT = 277,
208 >     DENY = 278,
209 >     DESCRIPTION = 279,
210 >     DIE = 280,
211 >     DISABLE_AUTH = 281,
212 >     DISABLE_FAKE_CHANNELS = 282,
213 >     DISABLE_REMOTE_COMMANDS = 283,
214 >     DOTS_IN_IDENT = 284,
215 >     EGDPOOL_PATH = 285,
216 >     EMAIL = 286,
217 >     ENCRYPTED = 287,
218 >     EXCEED_LIMIT = 288,
219 >     EXEMPT = 289,
220 >     FAILED_OPER_NOTICE = 290,
221 >     IRCD_FLAGS = 291,
222 >     FLATTEN_LINKS = 292,
223 >     GECOS = 293,
224 >     GENERAL = 294,
225 >     GLINE = 295,
226 >     GLINE_DURATION = 296,
227 >     GLINE_ENABLE = 297,
228 >     GLINE_EXEMPT = 298,
229 >     GLINE_REQUEST_DURATION = 299,
230 >     GLINE_MIN_CIDR = 300,
231 >     GLINE_MIN_CIDR6 = 301,
232 >     GLOBAL_KILL = 302,
233 >     IRCD_AUTH = 303,
234 >     NEED_IDENT = 304,
235 >     HAVENT_READ_CONF = 305,
236 >     HIDDEN = 306,
237 >     HIDDEN_NAME = 307,
238 >     HIDE_SERVER_IPS = 308,
239 >     HIDE_SERVERS = 309,
240 >     HIDE_SPOOF_IPS = 310,
241 >     HOST = 311,
242 >     HUB = 312,
243 >     HUB_MASK = 313,
244 >     IGNORE_BOGUS_TS = 314,
245 >     INVISIBLE_ON_CONNECT = 315,
246 >     IP = 316,
247 >     KILL = 317,
248 >     KILL_CHASE_TIME_LIMIT = 318,
249 >     KLINE = 319,
250 >     KLINE_EXEMPT = 320,
251 >     KLINE_REASON = 321,
252 >     KLINE_WITH_REASON = 322,
253 >     KNOCK_DELAY = 323,
254 >     KNOCK_DELAY_CHANNEL = 324,
255 >     LEAF_MASK = 325,
256 >     LINKS_DELAY = 326,
257 >     LISTEN = 327,
258 >     T_LOG = 328,
259 >     MAX_ACCEPT = 329,
260 >     MAX_BANS = 330,
261 >     MAX_CHANS_PER_OPER = 331,
262 >     MAX_CHANS_PER_USER = 332,
263 >     MAX_GLOBAL = 333,
264 >     MAX_IDENT = 334,
265 >     MAX_LOCAL = 335,
266 >     MAX_NICK_CHANGES = 336,
267 >     MAX_NICK_TIME = 337,
268 >     MAX_NUMBER = 338,
269 >     MAX_TARGETS = 339,
270 >     MAX_WATCH = 340,
271 >     MESSAGE_LOCALE = 341,
272 >     MIN_NONWILDCARD = 342,
273 >     MIN_NONWILDCARD_SIMPLE = 343,
274 >     MODULE = 344,
275 >     MODULES = 345,
276 >     NAME = 346,
277 >     NEED_PASSWORD = 347,
278 >     NETWORK_DESC = 348,
279 >     NETWORK_NAME = 349,
280 >     NICK = 350,
281 >     NICK_CHANGES = 351,
282 >     NO_CREATE_ON_SPLIT = 352,
283 >     NO_JOIN_ON_SPLIT = 353,
284 >     NO_OPER_FLOOD = 354,
285 >     NO_TILDE = 355,
286 >     NUMBER = 356,
287 >     NUMBER_PER_CIDR = 357,
288 >     NUMBER_PER_IP = 358,
289 >     OPERATOR = 359,
290 >     OPERS_BYPASS_CALLERID = 360,
291 >     OPER_ONLY_UMODES = 361,
292 >     OPER_PASS_RESV = 362,
293 >     OPER_SPY_T = 363,
294 >     OPER_UMODES = 364,
295 >     JOIN_FLOOD_COUNT = 365,
296 >     JOIN_FLOOD_TIME = 366,
297 >     PACE_WAIT = 367,
298 >     PACE_WAIT_SIMPLE = 368,
299 >     PASSWORD = 369,
300 >     PATH = 370,
301 >     PING_COOKIE = 371,
302 >     PING_TIME = 372,
303 >     PING_WARNING = 373,
304 >     PORT = 374,
305 >     QSTRING = 375,
306 >     QUIET_ON_BAN = 376,
307 >     REASON = 377,
308 >     REDIRPORT = 378,
309 >     REDIRSERV = 379,
310 >     REGEX_T = 380,
311 >     REHASH = 381,
312 >     TREJECT_HOLD_TIME = 382,
313 >     REMOTE = 383,
314 >     REMOTEBAN = 384,
315 >     RESTRICT_CHANNELS = 385,
316 >     RSA_PRIVATE_KEY_FILE = 386,
317 >     RSA_PUBLIC_KEY_FILE = 387,
318 >     SSL_CERTIFICATE_FILE = 388,
319 >     SSL_DH_PARAM_FILE = 389,
320 >     T_SSL_CLIENT_METHOD = 390,
321 >     T_SSL_SERVER_METHOD = 391,
322 >     T_SSLV3 = 392,
323 >     T_TLSV1 = 393,
324 >     RESV = 394,
325 >     RESV_EXEMPT = 395,
326 >     SECONDS = 396,
327 >     MINUTES = 397,
328 >     HOURS = 398,
329 >     DAYS = 399,
330 >     WEEKS = 400,
331 >     SENDQ = 401,
332 >     SEND_PASSWORD = 402,
333 >     SERVERHIDE = 403,
334 >     SERVERINFO = 404,
335 >     IRCD_SID = 405,
336 >     TKLINE_EXPIRE_NOTICES = 406,
337 >     T_SHARED = 407,
338 >     T_CLUSTER = 408,
339 >     TYPE = 409,
340 >     SHORT_MOTD = 410,
341 >     SPOOF = 411,
342 >     SPOOF_NOTICE = 412,
343 >     STATS_E_DISABLED = 413,
344 >     STATS_I_OPER_ONLY = 414,
345 >     STATS_K_OPER_ONLY = 415,
346 >     STATS_O_OPER_ONLY = 416,
347 >     STATS_P_OPER_ONLY = 417,
348 >     TBOOL = 418,
349 >     TMASKED = 419,
350 >     TS_MAX_DELTA = 420,
351 >     TS_WARN_DELTA = 421,
352 >     TWODOTS = 422,
353 >     T_ALL = 423,
354 >     T_BOTS = 424,
355 >     T_SOFTCALLERID = 425,
356 >     T_CALLERID = 426,
357 >     T_CCONN = 427,
358 >     T_CCONN_FULL = 428,
359 >     T_SSL_CIPHER_LIST = 429,
360 >     T_DEAF = 430,
361 >     T_DEBUG = 431,
362 >     T_DLINE = 432,
363 >     T_EXTERNAL = 433,
364 >     T_FULL = 434,
365 >     T_INVISIBLE = 435,
366 >     T_IPV4 = 436,
367 >     T_IPV6 = 437,
368 >     T_LOCOPS = 438,
369 >     T_MAX_CLIENTS = 439,
370 >     T_NCHANGE = 440,
371 >     T_OPERWALL = 441,
372 >     T_RECVQ = 442,
373 >     T_REJ = 443,
374 >     T_SERVER = 444,
375 >     T_SERVNOTICE = 445,
376 >     T_SET = 446,
377 >     T_SKILL = 447,
378 >     T_SPY = 448,
379 >     T_SSL = 449,
380 >     T_UMODES = 450,
381 >     T_UNAUTH = 451,
382 >     T_UNDLINE = 452,
383 >     T_UNLIMITED = 453,
384 >     T_UNRESV = 454,
385 >     T_UNXLINE = 455,
386 >     T_GLOBOPS = 456,
387 >     T_WALLOP = 457,
388 >     T_RESTART = 458,
389 >     T_SERVICE = 459,
390 >     T_SERVICES_NAME = 460,
391 >     THROTTLE_TIME = 461,
392 >     TRUE_NO_OPER_FLOOD = 462,
393 >     UNKLINE = 463,
394 >     USER = 464,
395 >     USE_EGD = 465,
396 >     USE_LOGGING = 466,
397 >     USE_WHOIS_ACTUALLY = 467,
398 >     VHOST = 468,
399 >     VHOST6 = 469,
400 >     XLINE = 470,
401 >     WARN_NO_NLINE = 471,
402 >     T_SIZE = 472,
403 >     T_FILE = 473
404     };
405   #endif
406   /* Tokens.  */
407   #define ACCEPT_PASSWORD 258
408 < #define ACTION 259
409 < #define ADMIN 260
410 < #define AFTYPE 261
411 < #define T_ALLOW 262
412 < #define ANTI_NICK_FLOOD 263
413 < #define ANTI_SPAM_EXIT_MESSAGE_TIME 264
414 < #define AUTOCONN 265
415 < #define T_BLOCK 266
416 < #define BURST_AWAY 267
417 < #define BURST_TOPICWHO 268
418 < #define BYTES 269
419 < #define KBYTES 270
420 < #define MBYTES 271
421 < #define GBYTES 272
422 < #define TBYTES 273
423 < #define CALLER_ID_WAIT 274
424 < #define CAN_FLOOD 275
425 < #define CAN_IDLE 276
426 < #define CHANNEL 277
427 < #define CIDR_BITLEN_IPV4 278
428 < #define CIDR_BITLEN_IPV6 279
429 < #define CIPHER_PREFERENCE 280
430 < #define CLASS 281
431 < #define COMPRESSED 282
432 < #define COMPRESSION_LEVEL 283
433 < #define CONNECT 284
434 < #define CONNECTFREQ 285
435 < #define CRYPTLINK 286
436 < #define DEFAULT_CIPHER_PREFERENCE 287
437 < #define DEFAULT_FLOODCOUNT 288
438 < #define DEFAULT_SPLIT_SERVER_COUNT 289
439 < #define DEFAULT_SPLIT_USER_COUNT 290
440 < #define DENY 291
441 < #define DESCRIPTION 292
442 < #define DIE 293
443 < #define DISABLE_AUTH 294
444 < #define DISABLE_FAKE_CHANNELS 295
445 < #define DISABLE_HIDDEN 296
446 < #define DISABLE_LOCAL_CHANNELS 297
447 < #define DISABLE_REMOTE_COMMANDS 298
448 < #define DOT_IN_IP6_ADDR 299
449 < #define DOTS_IN_IDENT 300
450 < #define DURATION 301
451 < #define EGDPOOL_PATH 302
452 < #define EMAIL 303
453 < #define ENABLE 304
454 < #define ENCRYPTED 305
455 < #define EXCEED_LIMIT 306
456 < #define EXEMPT 307
457 < #define FAILED_OPER_NOTICE 308
458 < #define FAKENAME 309
459 < #define IRCD_FLAGS 310
460 < #define FLATTEN_LINKS 311
461 < #define FFAILED_OPERLOG 312
462 < #define FKILLLOG 313
463 < #define FKLINELOG 314
464 < #define FGLINELOG 315
465 < #define FIOERRLOG 316
466 < #define FOPERLOG 317
467 < #define FOPERSPYLOG 318
468 < #define FUSERLOG 319
469 < #define GECOS 320
470 < #define GENERAL 321
471 < #define GLINE 322
472 < #define GLINES 323
473 < #define GLINE_EXEMPT 324
474 < #define GLINE_LOG 325
475 < #define GLINE_TIME 326
476 < #define GLINE_MIN_CIDR 327
477 < #define GLINE_MIN_CIDR6 328
478 < #define GLOBAL_KILL 329
479 < #define IRCD_AUTH 330
480 < #define NEED_IDENT 331
481 < #define HAVENT_READ_CONF 332
482 < #define HIDDEN 333
483 < #define HIDDEN_ADMIN 334
484 < #define HIDDEN_NAME 335
485 < #define HIDDEN_OPER 336
486 < #define HIDE_SERVER_IPS 337
487 < #define HIDE_SERVERS 338
488 < #define HIDE_SPOOF_IPS 339
489 < #define HOST 340
490 < #define HUB 341
491 < #define HUB_MASK 342
492 < #define IDLETIME 343
493 < #define IGNORE_BOGUS_TS 344
494 < #define INVISIBLE_ON_CONNECT 345
495 < #define IP 346
496 < #define KILL 347
497 < #define KILL_CHASE_TIME_LIMIT 348
498 < #define KLINE 349
499 < #define KLINE_EXEMPT 350
500 < #define KLINE_REASON 351
501 < #define KLINE_WITH_REASON 352
502 < #define KNOCK_DELAY 353
503 < #define KNOCK_DELAY_CHANNEL 354
504 < #define LEAF_MASK 355
505 < #define LINKS_DELAY 356
506 < #define LISTEN 357
507 < #define T_LOG 358
508 < #define LOGGING 359
509 < #define LOG_LEVEL 360
510 < #define MAX_ACCEPT 361
511 < #define MAX_BANS 362
512 < #define MAX_CHANS_PER_USER 363
513 < #define MAX_GLOBAL 364
514 < #define MAX_IDENT 365
515 < #define MAX_LOCAL 366
516 < #define MAX_NICK_CHANGES 367
517 < #define MAX_NICK_TIME 368
518 < #define MAX_NUMBER 369
519 < #define MAX_TARGETS 370
520 < #define MAX_WATCH 371
521 < #define MESSAGE_LOCALE 372
522 < #define MIN_NONWILDCARD 373
523 < #define MIN_NONWILDCARD_SIMPLE 374
524 < #define MODULE 375
525 < #define MODULES 376
526 < #define NAME 377
527 < #define NEED_PASSWORD 378
528 < #define NETWORK_DESC 379
529 < #define NETWORK_NAME 380
530 < #define NICK 381
531 < #define NICK_CHANGES 382
532 < #define NO_CREATE_ON_SPLIT 383
533 < #define NO_JOIN_ON_SPLIT 384
534 < #define NO_OPER_FLOOD 385
535 < #define NO_TILDE 386
536 < #define NOT 387
537 < #define NUMBER 388
538 < #define NUMBER_PER_IDENT 389
539 < #define NUMBER_PER_CIDR 390
540 < #define NUMBER_PER_IP 391
541 < #define NUMBER_PER_IP_GLOBAL 392
542 < #define OPERATOR 393
543 < #define OPERS_BYPASS_CALLERID 394
544 < #define OPER_LOG 395
545 < #define OPER_ONLY_UMODES 396
546 < #define OPER_PASS_RESV 397
547 < #define OPER_SPY_T 398
548 < #define OPER_UMODES 399
549 < #define JOIN_FLOOD_COUNT 400
550 < #define JOIN_FLOOD_TIME 401
551 < #define PACE_WAIT 402
552 < #define PACE_WAIT_SIMPLE 403
553 < #define PASSWORD 404
554 < #define PATH 405
555 < #define PING_COOKIE 406
556 < #define PING_TIME 407
557 < #define PING_WARNING 408
558 < #define PORT 409
559 < #define QSTRING 410
560 < #define QUIET_ON_BAN 411
561 < #define REASON 412
562 < #define REDIRPORT 413
563 < #define REDIRSERV 414
564 < #define REGEX_T 415
565 < #define REHASH 416
566 < #define TREJECT_HOLD_TIME 417
567 < #define REMOTE 418
568 < #define REMOTEBAN 419
569 < #define RESTRICT_CHANNELS 420
570 < #define RESTRICTED 421
571 < #define RSA_PRIVATE_KEY_FILE 422
572 < #define RSA_PUBLIC_KEY_FILE 423
573 < #define SSL_CERTIFICATE_FILE 424
574 < #define T_SSL_CONNECTION_METHOD 425
575 < #define T_SSLV3 426
576 < #define T_TLSV1 427
577 < #define RESV 428
578 < #define RESV_EXEMPT 429
579 < #define SECONDS 430
580 < #define MINUTES 431
581 < #define HOURS 432
582 < #define DAYS 433
583 < #define WEEKS 434
584 < #define SENDQ 435
585 < #define SEND_PASSWORD 436
586 < #define SERVERHIDE 437
587 < #define SERVERINFO 438
588 < #define SERVLINK_PATH 439
589 < #define IRCD_SID 440
590 < #define TKLINE_EXPIRE_NOTICES 441
591 < #define T_SHARED 442
592 < #define T_CLUSTER 443
593 < #define TYPE 444
594 < #define SHORT_MOTD 445
595 < #define SILENT 446
596 < #define SPOOF 447
597 < #define SPOOF_NOTICE 448
598 < #define STATS_E_DISABLED 449
599 < #define STATS_I_OPER_ONLY 450
600 < #define STATS_K_OPER_ONLY 451
601 < #define STATS_O_OPER_ONLY 452
602 < #define STATS_P_OPER_ONLY 453
603 < #define TBOOL 454
604 < #define TMASKED 455
605 < #define T_REJECT 456
606 < #define TS_MAX_DELTA 457
607 < #define TS_WARN_DELTA 458
608 < #define TWODOTS 459
609 < #define T_ALL 460
610 < #define T_BOTS 461
611 < #define T_SOFTCALLERID 462
612 < #define T_CALLERID 463
613 < #define T_CCONN 464
614 < #define T_CCONN_FULL 465
615 < #define T_CLIENT_FLOOD 466
616 < #define T_DEAF 467
617 < #define T_DEBUG 468
618 < #define T_DRONE 469
619 < #define T_EXTERNAL 470
620 < #define T_FULL 471
621 < #define T_INVISIBLE 472
622 < #define T_IPV4 473
691 < #define T_IPV6 474
692 < #define T_LOCOPS 475
693 < #define T_LOGPATH 476
694 < #define T_L_CRIT 477
695 < #define T_L_DEBUG 478
696 < #define T_L_ERROR 479
697 < #define T_L_INFO 480
698 < #define T_L_NOTICE 481
699 < #define T_L_TRACE 482
700 < #define T_L_WARN 483
701 < #define T_MAX_CLIENTS 484
702 < #define T_NCHANGE 485
703 < #define T_OPERWALL 486
704 < #define T_REJ 487
705 < #define T_SERVER 488
706 < #define T_SERVNOTICE 489
707 < #define T_SKILL 490
708 < #define T_SPY 491
709 < #define T_SSL 492
710 < #define T_UMODES 493
711 < #define T_UNAUTH 494
712 < #define T_UNRESV 495
713 < #define T_UNXLINE 496
714 < #define T_WALLOP 497
715 < #define THROTTLE_TIME 498
716 < #define TOPICBURST 499
717 < #define TRUE_NO_OPER_FLOOD 500
718 < #define TKLINE 501
719 < #define TXLINE 502
720 < #define TRESV 503
721 < #define UNKLINE 504
722 < #define USER 505
723 < #define USE_EGD 506
724 < #define USE_EXCEPT 507
725 < #define USE_INVEX 508
726 < #define USE_KNOCK 509
727 < #define USE_LOGGING 510
728 < #define USE_WHOIS_ACTUALLY 511
729 < #define VHOST 512
730 < #define VHOST6 513
731 < #define XLINE 514
732 < #define WARN 515
733 < #define WARN_NO_NLINE 516
734 <
408 > #define ADMIN 259
409 > #define AFTYPE 260
410 > #define ANTI_NICK_FLOOD 261
411 > #define ANTI_SPAM_EXIT_MESSAGE_TIME 262
412 > #define AUTOCONN 263
413 > #define BYTES 264
414 > #define KBYTES 265
415 > #define MBYTES 266
416 > #define CALLER_ID_WAIT 267
417 > #define CAN_FLOOD 268
418 > #define CHANNEL 269
419 > #define CIDR_BITLEN_IPV4 270
420 > #define CIDR_BITLEN_IPV6 271
421 > #define CLASS 272
422 > #define CONNECT 273
423 > #define CONNECTFREQ 274
424 > #define DEFAULT_FLOODCOUNT 275
425 > #define DEFAULT_SPLIT_SERVER_COUNT 276
426 > #define DEFAULT_SPLIT_USER_COUNT 277
427 > #define DENY 278
428 > #define DESCRIPTION 279
429 > #define DIE 280
430 > #define DISABLE_AUTH 281
431 > #define DISABLE_FAKE_CHANNELS 282
432 > #define DISABLE_REMOTE_COMMANDS 283
433 > #define DOTS_IN_IDENT 284
434 > #define EGDPOOL_PATH 285
435 > #define EMAIL 286
436 > #define ENCRYPTED 287
437 > #define EXCEED_LIMIT 288
438 > #define EXEMPT 289
439 > #define FAILED_OPER_NOTICE 290
440 > #define IRCD_FLAGS 291
441 > #define FLATTEN_LINKS 292
442 > #define GECOS 293
443 > #define GENERAL 294
444 > #define GLINE 295
445 > #define GLINE_DURATION 296
446 > #define GLINE_ENABLE 297
447 > #define GLINE_EXEMPT 298
448 > #define GLINE_REQUEST_DURATION 299
449 > #define GLINE_MIN_CIDR 300
450 > #define GLINE_MIN_CIDR6 301
451 > #define GLOBAL_KILL 302
452 > #define IRCD_AUTH 303
453 > #define NEED_IDENT 304
454 > #define HAVENT_READ_CONF 305
455 > #define HIDDEN 306
456 > #define HIDDEN_NAME 307
457 > #define HIDE_SERVER_IPS 308
458 > #define HIDE_SERVERS 309
459 > #define HIDE_SPOOF_IPS 310
460 > #define HOST 311
461 > #define HUB 312
462 > #define HUB_MASK 313
463 > #define IGNORE_BOGUS_TS 314
464 > #define INVISIBLE_ON_CONNECT 315
465 > #define IP 316
466 > #define KILL 317
467 > #define KILL_CHASE_TIME_LIMIT 318
468 > #define KLINE 319
469 > #define KLINE_EXEMPT 320
470 > #define KLINE_REASON 321
471 > #define KLINE_WITH_REASON 322
472 > #define KNOCK_DELAY 323
473 > #define KNOCK_DELAY_CHANNEL 324
474 > #define LEAF_MASK 325
475 > #define LINKS_DELAY 326
476 > #define LISTEN 327
477 > #define T_LOG 328
478 > #define MAX_ACCEPT 329
479 > #define MAX_BANS 330
480 > #define MAX_CHANS_PER_OPER 331
481 > #define MAX_CHANS_PER_USER 332
482 > #define MAX_GLOBAL 333
483 > #define MAX_IDENT 334
484 > #define MAX_LOCAL 335
485 > #define MAX_NICK_CHANGES 336
486 > #define MAX_NICK_TIME 337
487 > #define MAX_NUMBER 338
488 > #define MAX_TARGETS 339
489 > #define MAX_WATCH 340
490 > #define MESSAGE_LOCALE 341
491 > #define MIN_NONWILDCARD 342
492 > #define MIN_NONWILDCARD_SIMPLE 343
493 > #define MODULE 344
494 > #define MODULES 345
495 > #define NAME 346
496 > #define NEED_PASSWORD 347
497 > #define NETWORK_DESC 348
498 > #define NETWORK_NAME 349
499 > #define NICK 350
500 > #define NICK_CHANGES 351
501 > #define NO_CREATE_ON_SPLIT 352
502 > #define NO_JOIN_ON_SPLIT 353
503 > #define NO_OPER_FLOOD 354
504 > #define NO_TILDE 355
505 > #define NUMBER 356
506 > #define NUMBER_PER_CIDR 357
507 > #define NUMBER_PER_IP 358
508 > #define OPERATOR 359
509 > #define OPERS_BYPASS_CALLERID 360
510 > #define OPER_ONLY_UMODES 361
511 > #define OPER_PASS_RESV 362
512 > #define OPER_SPY_T 363
513 > #define OPER_UMODES 364
514 > #define JOIN_FLOOD_COUNT 365
515 > #define JOIN_FLOOD_TIME 366
516 > #define PACE_WAIT 367
517 > #define PACE_WAIT_SIMPLE 368
518 > #define PASSWORD 369
519 > #define PATH 370
520 > #define PING_COOKIE 371
521 > #define PING_TIME 372
522 > #define PING_WARNING 373
523 > #define PORT 374
524 > #define QSTRING 375
525 > #define QUIET_ON_BAN 376
526 > #define REASON 377
527 > #define REDIRPORT 378
528 > #define REDIRSERV 379
529 > #define REGEX_T 380
530 > #define REHASH 381
531 > #define TREJECT_HOLD_TIME 382
532 > #define REMOTE 383
533 > #define REMOTEBAN 384
534 > #define RESTRICT_CHANNELS 385
535 > #define RSA_PRIVATE_KEY_FILE 386
536 > #define RSA_PUBLIC_KEY_FILE 387
537 > #define SSL_CERTIFICATE_FILE 388
538 > #define SSL_DH_PARAM_FILE 389
539 > #define T_SSL_CLIENT_METHOD 390
540 > #define T_SSL_SERVER_METHOD 391
541 > #define T_SSLV3 392
542 > #define T_TLSV1 393
543 > #define RESV 394
544 > #define RESV_EXEMPT 395
545 > #define SECONDS 396
546 > #define MINUTES 397
547 > #define HOURS 398
548 > #define DAYS 399
549 > #define WEEKS 400
550 > #define SENDQ 401
551 > #define SEND_PASSWORD 402
552 > #define SERVERHIDE 403
553 > #define SERVERINFO 404
554 > #define IRCD_SID 405
555 > #define TKLINE_EXPIRE_NOTICES 406
556 > #define T_SHARED 407
557 > #define T_CLUSTER 408
558 > #define TYPE 409
559 > #define SHORT_MOTD 410
560 > #define SPOOF 411
561 > #define SPOOF_NOTICE 412
562 > #define STATS_E_DISABLED 413
563 > #define STATS_I_OPER_ONLY 414
564 > #define STATS_K_OPER_ONLY 415
565 > #define STATS_O_OPER_ONLY 416
566 > #define STATS_P_OPER_ONLY 417
567 > #define TBOOL 418
568 > #define TMASKED 419
569 > #define TS_MAX_DELTA 420
570 > #define TS_WARN_DELTA 421
571 > #define TWODOTS 422
572 > #define T_ALL 423
573 > #define T_BOTS 424
574 > #define T_SOFTCALLERID 425
575 > #define T_CALLERID 426
576 > #define T_CCONN 427
577 > #define T_CCONN_FULL 428
578 > #define T_SSL_CIPHER_LIST 429
579 > #define T_DEAF 430
580 > #define T_DEBUG 431
581 > #define T_DLINE 432
582 > #define T_EXTERNAL 433
583 > #define T_FULL 434
584 > #define T_INVISIBLE 435
585 > #define T_IPV4 436
586 > #define T_IPV6 437
587 > #define T_LOCOPS 438
588 > #define T_MAX_CLIENTS 439
589 > #define T_NCHANGE 440
590 > #define T_OPERWALL 441
591 > #define T_RECVQ 442
592 > #define T_REJ 443
593 > #define T_SERVER 444
594 > #define T_SERVNOTICE 445
595 > #define T_SET 446
596 > #define T_SKILL 447
597 > #define T_SPY 448
598 > #define T_SSL 449
599 > #define T_UMODES 450
600 > #define T_UNAUTH 451
601 > #define T_UNDLINE 452
602 > #define T_UNLIMITED 453
603 > #define T_UNRESV 454
604 > #define T_UNXLINE 455
605 > #define T_GLOBOPS 456
606 > #define T_WALLOP 457
607 > #define T_RESTART 458
608 > #define T_SERVICE 459
609 > #define T_SERVICES_NAME 460
610 > #define THROTTLE_TIME 461
611 > #define TRUE_NO_OPER_FLOOD 462
612 > #define UNKLINE 463
613 > #define USER 464
614 > #define USE_EGD 465
615 > #define USE_LOGGING 466
616 > #define USE_WHOIS_ACTUALLY 467
617 > #define VHOST 468
618 > #define VHOST6 469
619 > #define XLINE 470
620 > #define WARN_NO_NLINE 471
621 > #define T_SIZE 472
622 > #define T_FILE 473
623  
624  
625  
626   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
627   typedef union YYSTYPE
628   {
629 <
630 < /* Line 214 of yacc.c  */
743 < #line 138 "ircd_parser.y"
629 > /* Line 350 of yacc.c  */
630 > #line 110 "conf_parser.y"
631  
632    int number;
633    char *string;
634  
635  
636 <
637 < /* Line 214 of yacc.c  */
751 < #line 752 "ircd_parser.c"
636 > /* Line 350 of yacc.c  */
637 > #line 638 "conf_parser.c"
638   } YYSTYPE;
639   # define YYSTYPE_IS_TRIVIAL 1
640   # define yystype YYSTYPE /* obsolescent; will be withdrawn */
641   # define YYSTYPE_IS_DECLARED 1
642   #endif
643  
644 + extern YYSTYPE yylval;
645  
646 < /* Copy the second part of user declarations.  */
646 > #ifdef YYPARSE_PARAM
647 > #if defined __STDC__ || defined __cplusplus
648 > int yyparse (void *YYPARSE_PARAM);
649 > #else
650 > int yyparse ();
651 > #endif
652 > #else /* ! YYPARSE_PARAM */
653 > #if defined __STDC__ || defined __cplusplus
654 > int yyparse (void);
655 > #else
656 > int yyparse ();
657 > #endif
658 > #endif /* ! YYPARSE_PARAM */
659 >
660 > #endif /* !YY_Y_TAB_H  */
661  
662 + /* Copy the second part of user declarations.  */
663  
664 < /* Line 264 of yacc.c  */
665 < #line 764 "ircd_parser.c"
664 > /* Line 353 of yacc.c  */
665 > #line 666 "conf_parser.c"
666  
667   #ifdef short
668   # undef short
# Line 810 | Line 712 | typedef short int yytype_int16;
712   #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
713  
714   #ifndef YY_
715 < # if YYENABLE_NLS
715 > # if defined YYENABLE_NLS && YYENABLE_NLS
716   #  if ENABLE_NLS
717   #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
718   #   define YY_(msgid) dgettext ("bison-runtime", msgid)
# Line 863 | Line 765 | YYID (yyi)
765   #    define alloca _alloca
766   #   else
767   #    define YYSTACK_ALLOC alloca
768 < #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
768 > #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
769       || defined __cplusplus || defined _MSC_VER)
770   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
771 < #     ifndef _STDLIB_H
772 < #      define _STDLIB_H 1
771 >      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
772 > #     ifndef EXIT_SUCCESS
773 > #      define EXIT_SUCCESS 0
774   #     endif
775   #    endif
776   #   endif
# Line 890 | Line 793 | YYID (yyi)
793   #  ifndef YYSTACK_ALLOC_MAXIMUM
794   #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
795   #  endif
796 < #  if (defined __cplusplus && ! defined _STDLIB_H \
796 > #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
797         && ! ((defined YYMALLOC || defined malloc) \
798               && (defined YYFREE || defined free)))
799   #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
800 < #   ifndef _STDLIB_H
801 < #    define _STDLIB_H 1
800 > #   ifndef EXIT_SUCCESS
801 > #    define EXIT_SUCCESS 0
802   #   endif
803   #  endif
804   #  ifndef YYMALLOC
805   #   define YYMALLOC malloc
806 < #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
806 > #   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
807       || defined __cplusplus || defined _MSC_VER)
808   void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
809   #   endif
810   #  endif
811   #  ifndef YYFREE
812   #   define YYFREE free
813 < #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
813 > #   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
814       || defined __cplusplus || defined _MSC_VER)
815   void free (void *); /* INFRINGES ON USER NAME SPACE */
816   #   endif
# Line 936 | Line 839 | union yyalloc
839       ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
840        + YYSTACK_GAP_MAXIMUM)
841  
842 < /* Copy COUNT objects from FROM to TO.  The source and destination do
940 <   not overlap.  */
941 < # ifndef YYCOPY
942 < #  if defined __GNUC__ && 1 < __GNUC__
943 < #   define YYCOPY(To, From, Count) \
944 <      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
945 < #  else
946 < #   define YYCOPY(To, From, Count)              \
947 <      do                                        \
948 <        {                                       \
949 <          YYSIZE_T yyi;                         \
950 <          for (yyi = 0; yyi < (Count); yyi++)   \
951 <            (To)[yyi] = (From)[yyi];            \
952 <        }                                       \
953 <      while (YYID (0))
954 < #  endif
955 < # endif
842 > # define YYCOPY_NEEDED 1
843  
844   /* Relocate STACK from its old location to the new one.  The
845     local variables YYSIZE and YYSTACKSIZE give the old and new number of
# Line 972 | Line 859 | union yyalloc
859  
860   #endif
861  
862 + #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
863 + /* Copy COUNT objects from SRC to DST.  The source and destination do
864 +   not overlap.  */
865 + # ifndef YYCOPY
866 + #  if defined __GNUC__ && 1 < __GNUC__
867 + #   define YYCOPY(Dst, Src, Count) \
868 +      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
869 + #  else
870 + #   define YYCOPY(Dst, Src, Count)              \
871 +      do                                        \
872 +        {                                       \
873 +          YYSIZE_T yyi;                         \
874 +          for (yyi = 0; yyi < (Count); yyi++)   \
875 +            (Dst)[yyi] = (Src)[yyi];            \
876 +        }                                       \
877 +      while (YYID (0))
878 + #  endif
879 + # endif
880 + #endif /* !YYCOPY_NEEDED */
881 +
882   /* YYFINAL -- State number of the termination state.  */
883   #define YYFINAL  2
884   /* YYLAST -- Last index in YYTABLE.  */
885 < #define YYLAST   1413
885 > #define YYLAST   1231
886  
887   /* YYNTOKENS -- Number of terminals.  */
888 < #define YYNTOKENS  267
888 > #define YYNTOKENS  224
889   /* YYNNTS -- Number of nonterminals.  */
890 < #define YYNNTS  346
890 > #define YYNNTS  287
891   /* YYNRULES -- Number of rules.  */
892 < #define YYNRULES  743
892 > #define YYNRULES  635
893   /* YYNRULES -- Number of states.  */
894 < #define YYNSTATES  1494
894 > #define YYNSTATES  1248
895  
896   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
897   #define YYUNDEFTOK  2
898 < #define YYMAXUTOK   516
898 > #define YYMAXUTOK   473
899  
900   #define YYTRANSLATE(YYX)                                                \
901    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
902  
903   /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
904 < static const yytype_uint16 yytranslate[] =
904 > static const yytype_uint8 yytranslate[] =
905   {
906         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
907         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
908         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
909         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
910 <       2,     2,     2,     2,   266,     2,     2,     2,     2,     2,
911 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   262,
912 <       2,   265,     2,     2,     2,     2,     2,     2,     2,     2,
910 >       2,     2,     2,     2,   223,     2,     2,     2,     2,     2,
911 >       2,     2,     2,     2,     2,     2,     2,     2,     2,   219,
912 >       2,   222,     2,     2,     2,     2,     2,     2,     2,     2,
913         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
914         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
915         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
916         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
917         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
918 <       2,     2,     2,   264,     2,   263,     2,     2,     2,     2,
918 >       2,     2,     2,   221,     2,   220,     2,     2,     2,     2,
919         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
920         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
921         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 1043 | Line 950 | static const yytype_uint16 yytranslate[]
950       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
951       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
952       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
953 <     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1047 <     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1048 <     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1049 <     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1050 <     255,   256,   257,   258,   259,   260,   261
953 >     215,   216,   217,   218
954   };
955  
956   #if YYDEBUG
# Line 1061 | Line 964 | static const yytype_uint16 yyprhs[] =
964        63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
965        97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
966       134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
967 <     154,   156,   158,   160,   163,   164,   170,   174,   176,   178,
968 <     180,   185,   190,   195,   200,   205,   210,   215,   220,   225,
969 <     230,   235,   241,   244,   246,   248,   250,   252,   255,   260,
970 <     265,   270,   276,   279,   281,   283,   285,   287,   289,   291,
971 <     293,   295,   297,   299,   301,   303,   305,   308,   313,   318,
972 <     323,   328,   333,   338,   343,   348,   353,   358,   363,   368,
973 <     373,   378,   383,   388,   393,   398,   399,   407,   408,   410,
974 <     413,   415,   417,   419,   421,   423,   425,   427,   429,   431,
975 <     433,   435,   437,   439,   441,   443,   445,   447,   449,   451,
976 <     453,   455,   457,   459,   462,   467,   469,   474,   479,   484,
977 <     489,   494,   495,   501,   505,   507,   509,   511,   513,   515,
978 <     517,   519,   521,   523,   525,   527,   529,   531,   533,   535,
979 <     537,   539,   541,   543,   545,   550,   555,   560,   565,   570,
980 <     575,   580,   585,   590,   595,   600,   605,   610,   615,   616,
981 <     622,   626,   628,   629,   633,   634,   637,   639,   641,   643,
982 <     645,   647,   649,   651,   653,   655,   657,   659,   661,   663,
983 <     665,   667,   669,   670,   678,   679,   681,   684,   686,   688,
984 <     690,   692,   694,   696,   698,   700,   702,   704,   706,   708,
985 <     710,   712,   715,   720,   722,   727,   732,   737,   742,   747,
986 <     752,   757,   762,   767,   772,   777,   782,   783,   790,   791,
987 <     797,   801,   803,   805,   807,   809,   812,   814,   816,   818,
988 <     820,   822,   825,   826,   832,   836,   838,   840,   844,   849,
989 <     854,   855,   862,   865,   867,   869,   871,   873,   875,   877,
990 <     879,   881,   883,   885,   887,   889,   891,   893,   895,   897,
991 <     899,   902,   907,   912,   917,   922,   927,   928,   934,   938,
992 <     940,   941,   945,   946,   949,   951,   953,   955,   957,   959,
993 <     961,   963,   965,   967,   969,   974,   979,   984,   989,   994,
994 <     999,  1004,  1009,  1014,  1019,  1020,  1027,  1030,  1032,  1034,
995 <    1036,  1038,  1041,  1046,  1051,  1056,  1057,  1064,  1067,  1069,
996 <    1071,  1073,  1075,  1078,  1083,  1088,  1089,  1095,  1099,  1101,
997 <    1103,  1105,  1107,  1109,  1111,  1113,  1115,  1117,  1119,  1121,
998 <    1123,  1124,  1131,  1134,  1136,  1138,  1140,  1143,  1148,  1149,
999 <    1155,  1159,  1161,  1163,  1165,  1167,  1169,  1171,  1173,  1175,
1000 <    1177,  1179,  1181,  1183,  1184,  1192,  1193,  1195,  1198,  1200,
1001 <    1202,  1204,  1206,  1208,  1210,  1212,  1214,  1216,  1218,  1220,
1002 <    1222,  1224,  1226,  1228,  1230,  1232,  1234,  1236,  1238,  1241,
1003 <    1246,  1248,  1253,  1258,  1263,  1268,  1273,  1278,  1283,  1288,
1004 <    1289,  1295,  1299,  1301,  1302,  1306,  1307,  1310,  1312,  1314,
1005 <    1316,  1318,  1320,  1325,  1330,  1335,  1340,  1345,  1350,  1355,
1006 <    1360,  1365,  1370,  1371,  1378,  1379,  1385,  1389,  1391,  1393,
1007 <    1396,  1398,  1400,  1402,  1404,  1406,  1411,  1416,  1417,  1424,
1008 <    1427,  1429,  1431,  1433,  1435,  1440,  1445,  1451,  1454,  1456,
1009 <    1458,  1460,  1465,  1466,  1473,  1474,  1480,  1484,  1486,  1488,
1010 <    1491,  1493,  1495,  1497,  1499,  1501,  1506,  1511,  1517,  1520,
1011 <    1522,  1524,  1526,  1528,  1530,  1532,  1534,  1536,  1538,  1540,
1012 <    1542,  1544,  1546,  1548,  1550,  1552,  1554,  1556,  1558,  1560,
1013 <    1562,  1564,  1566,  1568,  1570,  1572,  1574,  1576,  1578,  1580,
1014 <    1582,  1584,  1586,  1588,  1590,  1592,  1594,  1596,  1598,  1600,
1015 <    1602,  1604,  1606,  1608,  1610,  1612,  1614,  1616,  1618,  1620,
1016 <    1622,  1624,  1626,  1628,  1630,  1632,  1634,  1636,  1641,  1646,
1017 <    1651,  1656,  1661,  1666,  1671,  1676,  1681,  1686,  1691,  1696,
1018 <    1701,  1706,  1711,  1716,  1721,  1726,  1731,  1736,  1741,  1746,
1019 <    1751,  1756,  1761,  1766,  1771,  1776,  1781,  1786,  1791,  1796,
1020 <    1801,  1806,  1811,  1816,  1821,  1826,  1831,  1836,  1841,  1846,
1021 <    1851,  1856,  1861,  1866,  1871,  1876,  1881,  1886,  1891,  1892,
1022 <    1898,  1902,  1904,  1906,  1908,  1910,  1912,  1914,  1916,  1918,
1023 <    1920,  1922,  1924,  1926,  1928,  1930,  1932,  1934,  1936,  1938,
1024 <    1940,  1942,  1943,  1949,  1953,  1955,  1957,  1959,  1961,  1963,
1122 <    1965,  1967,  1969,  1971,  1973,  1975,  1977,  1979,  1981,  1983,
1123 <    1985,  1987,  1989,  1991,  1993,  1998,  2003,  2008,  2013,  2018,
1124 <    2019,  2026,  2029,  2031,  2033,  2035,  2037,  2039,  2041,  2043,
1125 <    2045,  2050,  2055,  2056,  2062,  2066,  2068,  2070,  2072,  2077,
1126 <    2082,  2083,  2089,  2093,  2095,  2097,  2099,  2105,  2108,  2110,
1127 <    2112,  2114,  2116,  2118,  2120,  2122,  2124,  2126,  2128,  2130,
1128 <    2132,  2134,  2136,  2138,  2140,  2142,  2144,  2146,  2148,  2153,
1129 <    2158,  2163,  2168,  2173,  2178,  2183,  2188,  2193,  2198,  2203,
1130 <    2208,  2213,  2218,  2223,  2228,  2233,  2238,  2244,  2247,  2249,
1131 <    2251,  2253,  2255,  2257,  2259,  2261,  2263,  2265,  2270,  2275,
1132 <    2280,  2285,  2290,  2295
967 >     154,   156,   158,   160,   162,   164,   166,   169,   174,   179,
968 >     183,   185,   187,   189,   193,   195,   197,   199,   204,   209,
969 >     214,   219,   224,   229,   234,   239,   244,   249,   254,   259,
970 >     264,   270,   273,   275,   277,   279,   281,   284,   289,   294,
971 >     299,   305,   308,   310,   312,   314,   317,   322,   323,   330,
972 >     333,   335,   337,   339,   341,   344,   349,   354,   359,   360,
973 >     366,   370,   372,   374,   376,   378,   380,   382,   384,   386,
974 >     387,   394,   397,   399,   401,   403,   405,   407,   409,   411,
975 >     413,   415,   418,   423,   428,   433,   438,   443,   448,   449,
976 >     455,   459,   461,   463,   465,   467,   469,   471,   473,   475,
977 >     477,   479,   481,   483,   485,   487,   489,   491,   493,   495,
978 >     497,   499,   501,   502,   508,   512,   514,   516,   518,   520,
979 >     522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
980 >     542,   544,   546,   548,   550,   552,   553,   560,   563,   565,
981 >     567,   569,   571,   573,   575,   577,   579,   581,   583,   585,
982 >     587,   589,   591,   593,   596,   601,   606,   611,   616,   621,
983 >     626,   631,   636,   641,   646,   651,   656,   661,   666,   667,
984 >     674,   675,   681,   685,   687,   689,   691,   693,   696,   698,
985 >     700,   702,   704,   706,   709,   710,   716,   720,   722,   724,
986 >     728,   733,   738,   739,   746,   749,   751,   753,   755,   757,
987 >     759,   761,   763,   765,   767,   770,   775,   780,   785,   790,
988 >     791,   797,   801,   803,   805,   807,   809,   811,   813,   815,
989 >     817,   819,   821,   826,   831,   836,   837,   844,   847,   849,
990 >     851,   853,   855,   858,   863,   868,   873,   879,   882,   884,
991 >     886,   888,   893,   894,   901,   904,   906,   908,   910,   912,
992 >     915,   920,   925,   926,   932,   936,   938,   940,   942,   944,
993 >     946,   948,   950,   952,   954,   956,   958,   959,   966,   969,
994 >     971,   973,   975,   978,   983,   984,   990,   994,   996,   998,
995 >    1000,  1002,  1004,  1006,  1008,  1010,  1012,  1014,  1016,  1017,
996 >    1024,  1027,  1029,  1031,  1033,  1035,  1037,  1039,  1041,  1043,
997 >    1045,  1047,  1049,  1051,  1053,  1055,  1058,  1063,  1068,  1073,
998 >    1078,  1083,  1088,  1093,  1098,  1099,  1105,  1109,  1111,  1113,
999 >    1115,  1120,  1125,  1130,  1135,  1140,  1141,  1148,  1149,  1155,
1000 >    1159,  1161,  1163,  1166,  1168,  1170,  1172,  1174,  1176,  1181,
1001 >    1186,  1187,  1194,  1197,  1199,  1201,  1203,  1205,  1210,  1215,
1002 >    1221,  1224,  1226,  1228,  1230,  1235,  1236,  1243,  1244,  1250,
1003 >    1254,  1256,  1258,  1261,  1263,  1265,  1267,  1269,  1271,  1276,
1004 >    1281,  1287,  1290,  1292,  1294,  1296,  1298,  1300,  1302,  1304,
1005 >    1306,  1308,  1310,  1312,  1314,  1316,  1318,  1320,  1322,  1324,
1006 >    1326,  1328,  1330,  1332,  1334,  1336,  1338,  1340,  1342,  1344,
1007 >    1346,  1348,  1350,  1352,  1354,  1356,  1358,  1360,  1362,  1364,
1008 >    1366,  1368,  1370,  1372,  1374,  1376,  1378,  1380,  1382,  1384,
1009 >    1386,  1388,  1390,  1392,  1394,  1396,  1398,  1400,  1405,  1410,
1010 >    1415,  1420,  1425,  1430,  1435,  1440,  1445,  1450,  1455,  1460,
1011 >    1465,  1470,  1475,  1480,  1485,  1490,  1495,  1500,  1505,  1510,
1012 >    1515,  1520,  1525,  1530,  1535,  1540,  1545,  1550,  1555,  1560,
1013 >    1565,  1570,  1575,  1580,  1585,  1590,  1595,  1600,  1605,  1610,
1014 >    1615,  1620,  1625,  1630,  1635,  1640,  1645,  1650,  1651,  1657,
1015 >    1661,  1663,  1665,  1667,  1669,  1671,  1673,  1675,  1677,  1679,
1016 >    1681,  1683,  1685,  1687,  1689,  1691,  1693,  1695,  1697,  1699,
1017 >    1701,  1703,  1704,  1710,  1714,  1716,  1718,  1720,  1722,  1724,
1018 >    1726,  1728,  1730,  1732,  1734,  1736,  1738,  1740,  1742,  1744,
1019 >    1746,  1748,  1750,  1752,  1754,  1756,  1761,  1766,  1771,  1777,
1020 >    1780,  1782,  1784,  1786,  1788,  1790,  1792,  1794,  1796,  1798,
1021 >    1800,  1802,  1804,  1806,  1808,  1810,  1812,  1817,  1822,  1827,
1022 >    1832,  1837,  1842,  1847,  1852,  1857,  1862,  1867,  1872,  1877,
1023 >    1882,  1888,  1891,  1893,  1895,  1897,  1899,  1901,  1903,  1905,
1024 >    1907,  1912,  1917,  1922,  1927,  1932
1025   };
1026  
1027   /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1028   static const yytype_int16 yyrhs[] =
1029   {
1030 <     268,     0,    -1,    -1,   268,   269,    -1,   297,    -1,   303,
1031 <      -1,   318,    -1,   582,    -1,   355,    -1,   374,    -1,   388,
1032 <      -1,   279,    -1,   603,    -1,   414,    -1,   421,    -1,   431,
1033 <      -1,   440,    -1,   471,    -1,   481,    -1,   487,    -1,   501,
1034 <      -1,   566,    -1,   491,    -1,   274,    -1,     1,   262,    -1,
1035 <       1,   263,    -1,    -1,   271,    -1,   133,   270,    -1,   133,
1036 <     175,   270,    -1,   133,   176,   270,    -1,   133,   177,   270,
1037 <      -1,   133,   178,   270,    -1,   133,   179,   270,    -1,    -1,
1038 <     273,    -1,   133,   272,    -1,   133,    14,   272,    -1,   133,
1039 <      15,   272,    -1,   133,    16,   272,    -1,   121,   264,   275,
1040 <     263,   262,    -1,   275,   276,    -1,   276,    -1,   277,    -1,
1041 <     278,    -1,     1,   262,    -1,   120,   265,   155,   262,    -1,
1042 <     150,   265,   155,   262,    -1,   183,   264,   280,   263,   262,
1043 <      -1,   280,   281,    -1,   281,    -1,   288,    -1,   293,    -1,
1044 <     296,    -1,   290,    -1,   291,    -1,   292,    -1,   295,    -1,
1045 <     287,    -1,   294,    -1,   289,    -1,   286,    -1,   282,    -1,
1046 <       1,   262,    -1,    -1,   170,   283,   265,   284,   262,    -1,
1047 <     284,   266,   285,    -1,   285,    -1,   171,    -1,   172,    -1,
1048 <     169,   265,   155,   262,    -1,   167,   265,   155,   262,    -1,
1049 <     122,   265,   155,   262,    -1,   185,   265,   155,   262,    -1,
1050 <      37,   265,   155,   262,    -1,   125,   265,   155,   262,    -1,
1051 <     124,   265,   155,   262,    -1,   257,   265,   155,   262,    -1,
1052 <     258,   265,   155,   262,    -1,   229,   265,   133,   262,    -1,
1053 <      86,   265,   199,   262,    -1,     5,   264,   298,   263,   262,
1054 <      -1,   298,   299,    -1,   299,    -1,   300,    -1,   302,    -1,
1055 <     301,    -1,     1,   262,    -1,   122,   265,   155,   262,    -1,
1056 <      48,   265,   155,   262,    -1,    37,   265,   155,   262,    -1,
1057 <     104,   264,   304,   263,   262,    -1,   304,   305,    -1,   305,
1058 <      -1,   306,    -1,   307,    -1,   316,    -1,   317,    -1,   308,
1059 <      -1,   310,    -1,   312,    -1,   313,    -1,   315,    -1,   311,
1060 <      -1,   314,    -1,   309,    -1,     1,   262,    -1,   221,   265,
1061 <     155,   262,    -1,   140,   265,   155,   262,    -1,    64,   265,
1062 <     155,   262,    -1,    57,   265,   155,   262,    -1,    62,   265,
1063 <     155,   262,    -1,    63,   265,   155,   262,    -1,    60,   265,
1064 <     155,   262,    -1,    59,   265,   155,   262,    -1,    61,   265,
1065 <     155,   262,    -1,    58,   265,   155,   262,    -1,   105,   265,
1066 <     222,   262,    -1,   105,   265,   224,   262,    -1,   105,   265,
1067 <     228,   262,    -1,   105,   265,   226,   262,    -1,   105,   265,
1068 <     227,   262,    -1,   105,   265,   225,   262,    -1,   105,   265,
1069 <     223,   262,    -1,   255,   265,   199,   262,    -1,    -1,   138,
1070 <     319,   320,   264,   321,   263,   262,    -1,    -1,   324,    -1,
1071 <     321,   322,    -1,   322,    -1,   323,    -1,   325,    -1,   326,
1072 <      -1,   345,    -1,   346,    -1,   330,    -1,   329,    -1,   334,
1073 <      -1,   335,    -1,   337,    -1,   338,    -1,   339,    -1,   340,
1074 <      -1,   341,    -1,   336,    -1,   342,    -1,   343,    -1,   344,
1075 <      -1,   347,    -1,   327,    -1,   328,    -1,   348,    -1,     1,
1076 <     262,    -1,   122,   265,   155,   262,    -1,   155,    -1,   250,
1077 <     265,   155,   262,    -1,   149,   265,   155,   262,    -1,    50,
1078 <     265,   199,   262,    -1,   168,   265,   155,   262,    -1,    26,
1079 <     265,   155,   262,    -1,    -1,   238,   331,   265,   332,   262,
1080 <      -1,   332,   266,   333,    -1,   333,    -1,   206,    -1,   209,
1081 <      -1,   210,    -1,   212,    -1,   213,    -1,   216,    -1,   235,
1082 <      -1,   230,    -1,   232,    -1,   239,    -1,   236,    -1,   215,
1083 <      -1,   231,    -1,   234,    -1,   217,    -1,   242,    -1,   207,
1084 <      -1,   208,    -1,   220,    -1,    74,   265,   199,   262,    -1,
1085 <     163,   265,   199,   262,    -1,   164,   265,   199,   262,    -1,
1086 <      94,   265,   199,   262,    -1,   259,   265,   199,   262,    -1,
1087 <     249,   265,   199,   262,    -1,    67,   265,   199,   262,    -1,
1088 <     127,   265,   199,   262,    -1,    38,   265,   199,   262,    -1,
1089 <     161,   265,   199,   262,    -1,     5,   265,   199,   262,    -1,
1090 <      79,   265,   199,   262,    -1,    81,   265,   199,   262,    -1,
1091 <     231,   265,   199,   262,    -1,    -1,    55,   349,   265,   350,
1092 <     262,    -1,   350,   266,   351,    -1,   351,    -1,    -1,   132,
1093 <     352,   354,    -1,    -1,   353,   354,    -1,    74,    -1,   163,
1094 <      -1,    94,    -1,   249,    -1,   259,    -1,    67,    -1,    38,
1095 <      -1,   161,    -1,     5,    -1,    79,    -1,   127,    -1,   231,
1096 <      -1,   143,    -1,    81,    -1,   164,    -1,    50,    -1,    -1,
1097 <      26,   356,   357,   264,   358,   263,   262,    -1,    -1,   361,
1098 <      -1,   358,   359,    -1,   359,    -1,   360,    -1,   371,    -1,
1099 <     372,    -1,   362,    -1,   363,    -1,   373,    -1,   364,    -1,
1100 <     365,    -1,   366,    -1,   367,    -1,   368,    -1,   369,    -1,
1101 <     370,    -1,     1,   262,    -1,   122,   265,   155,   262,    -1,
1102 <     155,    -1,   152,   265,   271,   262,    -1,   153,   265,   271,
1103 <     262,    -1,   136,   265,   133,   262,    -1,    30,   265,   271,
1104 <     262,    -1,   114,   265,   133,   262,    -1,   109,   265,   133,
1105 <     262,    -1,   111,   265,   133,   262,    -1,   110,   265,   133,
1106 <     262,    -1,   180,   265,   273,   262,    -1,    23,   265,   133,
1107 <     262,    -1,    24,   265,   133,   262,    -1,   135,   265,   133,
1108 <     262,    -1,    -1,   102,   375,   264,   380,   263,   262,    -1,
1109 <      -1,    55,   377,   265,   378,   262,    -1,   378,   266,   379,
1110 <      -1,   379,    -1,   237,    -1,    78,    -1,   233,    -1,   380,
1111 <     381,    -1,   381,    -1,   382,    -1,   376,    -1,   386,    -1,
1112 <     387,    -1,     1,   262,    -1,    -1,   154,   265,   384,   383,
1113 <     262,    -1,   384,   266,   385,    -1,   385,    -1,   133,    -1,
1114 <     133,   204,   133,    -1,    91,   265,   155,   262,    -1,    85,
1115 <     265,   155,   262,    -1,    -1,    75,   389,   264,   390,   263,
1116 <     262,    -1,   390,   391,    -1,   391,    -1,   392,    -1,   393,
1117 <      -1,   395,    -1,   397,    -1,   404,    -1,   405,    -1,   406,
1118 <      -1,   408,    -1,   409,    -1,   410,    -1,   394,    -1,   411,
1119 <      -1,   412,    -1,   407,    -1,   413,    -1,   396,    -1,     1,
1120 <     262,    -1,   250,   265,   155,   262,    -1,   149,   265,   155,
1121 <     262,    -1,   193,   265,   199,   262,    -1,    26,   265,   155,
1122 <     262,    -1,    50,   265,   199,   262,    -1,    -1,    55,   398,
1123 <     265,   399,   262,    -1,   399,   266,   400,    -1,   400,    -1,
1124 <      -1,   132,   401,   403,    -1,    -1,   402,   403,    -1,   193,
1125 <      -1,    51,    -1,    95,    -1,    76,    -1,    20,    -1,    21,
1126 <      -1,   131,    -1,    69,    -1,   174,    -1,   123,    -1,    95,
1127 <     265,   199,   262,    -1,    76,   265,   199,   262,    -1,    51,
1128 <     265,   199,   262,    -1,    20,   265,   199,   262,    -1,   131,
1129 <     265,   199,   262,    -1,    69,   265,   199,   262,    -1,   192,
1130 <     265,   155,   262,    -1,   159,   265,   155,   262,    -1,   158,
1131 <     265,   133,   262,    -1,   123,   265,   199,   262,    -1,    -1,
1132 <     173,   415,   264,   416,   263,   262,    -1,   416,   417,    -1,
1133 <     417,    -1,   418,    -1,   419,    -1,   420,    -1,     1,   262,
1134 <      -1,   157,   265,   155,   262,    -1,    22,   265,   155,   262,
1135 <      -1,   126,   265,   155,   262,    -1,    -1,   187,   422,   264,
1136 <     423,   263,   262,    -1,   423,   424,    -1,   424,    -1,   425,
1137 <      -1,   426,    -1,   427,    -1,     1,   262,    -1,   122,   265,
1138 <     155,   262,    -1,   250,   265,   155,   262,    -1,    -1,   189,
1139 <     428,   265,   429,   262,    -1,   429,   266,   430,    -1,   430,
1140 <      -1,    94,    -1,   246,    -1,   249,    -1,   259,    -1,   247,
1141 <      -1,   241,    -1,   173,    -1,   248,    -1,   240,    -1,   220,
1142 <      -1,   205,    -1,    -1,   188,   432,   264,   433,   263,   262,
1143 <      -1,   433,   434,    -1,   434,    -1,   435,    -1,   436,    -1,
1144 <       1,   262,    -1,   122,   265,   155,   262,    -1,    -1,   189,
1145 <     437,   265,   438,   262,    -1,   438,   266,   439,    -1,   439,
1146 <      -1,    94,    -1,   246,    -1,   249,    -1,   259,    -1,   247,
1147 <      -1,   241,    -1,   173,    -1,   248,    -1,   240,    -1,   220,
1148 <      -1,   205,    -1,    -1,    29,   441,   442,   264,   443,   263,
1149 <     262,    -1,    -1,   446,    -1,   443,   444,    -1,   444,    -1,
1150 <     445,    -1,   447,    -1,   448,    -1,   449,    -1,   450,    -1,
1151 <     452,    -1,   451,    -1,   453,    -1,   454,    -1,   467,    -1,
1152 <     468,    -1,   469,    -1,   465,    -1,   462,    -1,   464,    -1,
1153 <     463,    -1,   461,    -1,   470,    -1,   466,    -1,     1,   262,
1154 <      -1,   122,   265,   155,   262,    -1,   155,    -1,    85,   265,
1155 <     155,   262,    -1,   257,   265,   155,   262,    -1,   181,   265,
1156 <     155,   262,    -1,     3,   265,   155,   262,    -1,   154,   265,
1157 <     133,   262,    -1,     6,   265,   218,   262,    -1,     6,   265,
1158 <     219,   262,    -1,    54,   265,   155,   262,    -1,    -1,    55,
1159 <     455,   265,   456,   262,    -1,   456,   266,   457,    -1,   457,
1160 <      -1,    -1,   132,   458,   460,    -1,    -1,   459,   460,    -1,
1161 <      27,    -1,    31,    -1,    10,    -1,    12,    -1,   244,    -1,
1162 <     168,   265,   155,   262,    -1,    50,   265,   199,   262,    -1,
1163 <      31,   265,   199,   262,    -1,    27,   265,   199,   262,    -1,
1164 <      10,   265,   199,   262,    -1,   244,   265,   199,   262,    -1,
1165 <      87,   265,   155,   262,    -1,   100,   265,   155,   262,    -1,
1166 <      26,   265,   155,   262,    -1,    25,   265,   155,   262,    -1,
1167 <      -1,    92,   472,   264,   477,   263,   262,    -1,    -1,   189,
1168 <     474,   265,   475,   262,    -1,   475,   266,   476,    -1,   476,
1169 <      -1,   160,    -1,   477,   478,    -1,   478,    -1,   479,    -1,
1170 <     480,    -1,   473,    -1,     1,    -1,   250,   265,   155,   262,
1171 <      -1,   157,   265,   155,   262,    -1,    -1,    36,   482,   264,
1172 <     483,   263,   262,    -1,   483,   484,    -1,   484,    -1,   485,
1173 <      -1,   486,    -1,     1,    -1,    91,   265,   155,   262,    -1,
1174 <     157,   265,   155,   262,    -1,    52,   264,   488,   263,   262,
1175 <      -1,   488,   489,    -1,   489,    -1,   490,    -1,     1,    -1,
1176 <      91,   265,   155,   262,    -1,    -1,    65,   492,   264,   497,
1177 <     263,   262,    -1,    -1,   189,   494,   265,   495,   262,    -1,
1178 <     495,   266,   496,    -1,   496,    -1,   160,    -1,   497,   498,
1179 <      -1,   498,    -1,   499,    -1,   500,    -1,   493,    -1,     1,
1180 <      -1,   122,   265,   155,   262,    -1,   157,   265,   155,   262,
1181 <      -1,    66,   264,   502,   263,   262,    -1,   502,   503,    -1,
1182 <     503,    -1,   512,    -1,   513,    -1,   515,    -1,   516,    -1,
1183 <     517,    -1,   518,    -1,   519,    -1,   520,    -1,   521,    -1,
1184 <     522,    -1,   511,    -1,   524,    -1,   525,    -1,   526,    -1,
1185 <     527,    -1,   543,    -1,   529,    -1,   531,    -1,   533,    -1,
1186 <     532,    -1,   536,    -1,   530,    -1,   537,    -1,   538,    -1,
1187 <     539,    -1,   540,    -1,   542,    -1,   541,    -1,   557,    -1,
1188 <     544,    -1,   548,    -1,   549,    -1,   553,    -1,   534,    -1,
1189 <     535,    -1,   563,    -1,   561,    -1,   562,    -1,   545,    -1,
1190 <     514,    -1,   546,    -1,   547,    -1,   564,    -1,   552,    -1,
1191 <     523,    -1,   565,    -1,   550,    -1,   551,    -1,   507,    -1,
1192 <     510,    -1,   505,    -1,   506,    -1,   508,    -1,   509,    -1,
1193 <     528,    -1,   504,    -1,     1,    -1,   116,   265,   133,   262,
1194 <      -1,    72,   265,   133,   262,    -1,    73,   265,   133,   262,
1195 <      -1,    12,   265,   199,   262,    -1,   256,   265,   199,   262,
1196 <      -1,   162,   265,   271,   262,    -1,   186,   265,   199,   262,
1197 <      -1,    93,   265,   133,   262,    -1,    84,   265,   199,   262,
1198 <      -1,    89,   265,   199,   262,    -1,    43,   265,   199,   262,
1199 <      -1,    53,   265,   199,   262,    -1,     8,   265,   199,   262,
1200 <      -1,   113,   265,   271,   262,    -1,   112,   265,   133,   262,
1201 <      -1,   106,   265,   133,   262,    -1,     9,   265,   271,   262,
1202 <      -1,   203,   265,   271,   262,    -1,   202,   265,   271,   262,
1203 <      -1,    77,   265,   133,   262,    -1,    97,   265,   199,   262,
1204 <      -1,    96,   265,   155,   262,    -1,    90,   265,   199,   262,
1205 <      -1,   261,   265,   199,   262,    -1,   194,   265,   199,   262,
1206 <      -1,   197,   265,   199,   262,    -1,   198,   265,   199,   262,
1207 <      -1,   196,   265,   199,   262,    -1,   196,   265,   200,   262,
1208 <      -1,   195,   265,   199,   262,    -1,   195,   265,   200,   262,
1209 <      -1,   147,   265,   271,   262,    -1,    19,   265,   271,   262,
1210 <      -1,   139,   265,   199,   262,    -1,   148,   265,   271,   262,
1211 <      -1,   190,   265,   199,   262,    -1,   130,   265,   199,   262,
1212 <      -1,   245,   265,   199,   262,    -1,   142,   265,   199,   262,
1213 <      -1,   117,   265,   155,   262,    -1,    88,   265,   271,   262,
1214 <      -1,    45,   265,   133,   262,    -1,   115,   265,   133,   262,
1215 <      -1,   184,   265,   155,   262,    -1,    32,   265,   155,   262,
1216 <      -1,    28,   265,   133,   262,    -1,   251,   265,   199,   262,
1217 <      -1,    47,   265,   155,   262,    -1,   151,   265,   199,   262,
1218 <      -1,    39,   265,   199,   262,    -1,   243,   265,   271,   262,
1219 <      -1,    -1,   144,   554,   265,   555,   262,    -1,   555,   266,
1220 <     556,    -1,   556,    -1,   206,    -1,   209,    -1,   210,    -1,
1221 <     212,    -1,   213,    -1,   216,    -1,   235,    -1,   230,    -1,
1222 <     232,    -1,   239,    -1,   236,    -1,   215,    -1,   231,    -1,
1223 <     234,    -1,   217,    -1,   242,    -1,   207,    -1,   208,    -1,
1332 <     220,    -1,    -1,   141,   558,   265,   559,   262,    -1,   559,
1333 <     266,   560,    -1,   560,    -1,   206,    -1,   209,    -1,   210,
1334 <      -1,   212,    -1,   213,    -1,   216,    -1,   235,    -1,   230,
1335 <      -1,   232,    -1,   239,    -1,   236,    -1,   215,    -1,   231,
1336 <      -1,   234,    -1,   217,    -1,   242,    -1,   207,    -1,   208,
1337 <      -1,   220,    -1,   118,   265,   133,   262,    -1,   119,   265,
1338 <     133,   262,    -1,    33,   265,   133,   262,    -1,   211,   265,
1339 <     273,   262,    -1,    44,   265,   199,   262,    -1,    -1,    68,
1340 <     567,   264,   568,   263,   262,    -1,   568,   569,    -1,   569,
1341 <      -1,   570,    -1,   571,    -1,   572,    -1,   576,    -1,   577,
1342 <      -1,   578,    -1,     1,    -1,    49,   265,   199,   262,    -1,
1343 <      46,   265,   271,   262,    -1,    -1,   104,   573,   265,   574,
1344 <     262,    -1,   574,   266,   575,    -1,   575,    -1,   201,    -1,
1345 <      11,    -1,   250,   265,   155,   262,    -1,   122,   265,   155,
1346 <     262,    -1,    -1,     4,   579,   265,   580,   262,    -1,   580,
1347 <     266,   581,    -1,   581,    -1,   201,    -1,    11,    -1,    22,
1348 <     264,   583,   263,   262,    -1,   583,   584,    -1,   584,    -1,
1349 <     587,    -1,   588,    -1,   589,    -1,   590,    -1,   595,    -1,
1350 <     591,    -1,   592,    -1,   593,    -1,   594,    -1,   596,    -1,
1351 <     597,    -1,   598,    -1,   586,    -1,   599,    -1,   600,    -1,
1352 <     601,    -1,   602,    -1,   585,    -1,     1,    -1,    40,   265,
1353 <     199,   262,    -1,   165,   265,   199,   262,    -1,    42,   265,
1354 <     199,   262,    -1,   252,   265,   199,   262,    -1,   253,   265,
1355 <     199,   262,    -1,   254,   265,   199,   262,    -1,    98,   265,
1356 <     271,   262,    -1,    99,   265,   271,   262,    -1,   108,   265,
1357 <     133,   262,    -1,   156,   265,   199,   262,    -1,   107,   265,
1358 <     133,   262,    -1,    35,   265,   133,   262,    -1,    34,   265,
1359 <     133,   262,    -1,   128,   265,   199,   262,    -1,   129,   265,
1360 <     199,   262,    -1,    13,   265,   199,   262,    -1,   145,   265,
1361 <     133,   262,    -1,   146,   265,   271,   262,    -1,   182,   264,
1362 <     604,   263,   262,    -1,   604,   605,    -1,   605,    -1,   606,
1363 <      -1,   607,    -1,   609,    -1,   611,    -1,   610,    -1,   608,
1364 <      -1,   612,    -1,     1,    -1,    56,   265,   199,   262,    -1,
1365 <      83,   265,   199,   262,    -1,    80,   265,   155,   262,    -1,
1366 <     101,   265,   271,   262,    -1,    78,   265,   199,   262,    -1,
1367 <      41,   265,   199,   262,    -1,    82,   265,   199,   262,    -1
1030 >     225,     0,    -1,    -1,   225,   226,    -1,   258,    -1,   264,
1031 >      -1,   278,    -1,   485,    -1,   296,    -1,   314,    -1,   328,
1032 >      -1,   236,    -1,   502,    -1,   343,    -1,   350,    -1,   354,
1033 >      -1,   364,    -1,   373,    -1,   393,    -1,   403,    -1,   409,
1034 >      -1,   423,    -1,   413,    -1,   231,    -1,     1,   219,    -1,
1035 >       1,   220,    -1,    -1,   228,    -1,   101,   227,    -1,   101,
1036 >     141,   227,    -1,   101,   142,   227,    -1,   101,   143,   227,
1037 >      -1,   101,   144,   227,    -1,   101,   145,   227,    -1,    -1,
1038 >     230,    -1,   101,   229,    -1,   101,     9,   229,    -1,   101,
1039 >      10,   229,    -1,   101,    11,   229,    -1,    90,   221,   232,
1040 >     220,   219,    -1,   232,   233,    -1,   233,    -1,   234,    -1,
1041 >     235,    -1,     1,   219,    -1,    89,   222,   120,   219,    -1,
1042 >     115,   222,   120,   219,    -1,   149,   221,   237,   220,   219,
1043 >      -1,   237,   238,    -1,   238,    -1,   249,    -1,   254,    -1,
1044 >     257,    -1,   251,    -1,   252,    -1,   253,    -1,   256,    -1,
1045 >     247,    -1,   246,    -1,   255,    -1,   250,    -1,   245,    -1,
1046 >     239,    -1,   240,    -1,   248,    -1,     1,   219,    -1,   135,
1047 >     222,   241,   219,    -1,   136,   222,   243,   219,    -1,   241,
1048 >     223,   242,    -1,   242,    -1,   137,    -1,   138,    -1,   243,
1049 >     223,   244,    -1,   244,    -1,   137,    -1,   138,    -1,   133,
1050 >     222,   120,   219,    -1,   131,   222,   120,   219,    -1,   134,
1051 >     222,   120,   219,    -1,   174,   222,   120,   219,    -1,    91,
1052 >     222,   120,   219,    -1,   150,   222,   120,   219,    -1,    24,
1053 >     222,   120,   219,    -1,    94,   222,   120,   219,    -1,    93,
1054 >     222,   120,   219,    -1,   213,   222,   120,   219,    -1,   214,
1055 >     222,   120,   219,    -1,   184,   222,   101,   219,    -1,    57,
1056 >     222,   163,   219,    -1,     4,   221,   259,   220,   219,    -1,
1057 >     259,   260,    -1,   260,    -1,   261,    -1,   263,    -1,   262,
1058 >      -1,     1,   219,    -1,    91,   222,   120,   219,    -1,    31,
1059 >     222,   120,   219,    -1,    24,   222,   120,   219,    -1,    73,
1060 >     221,   265,   220,   219,    -1,   265,   266,    -1,   266,    -1,
1061 >     267,    -1,   268,    -1,     1,   219,    -1,   211,   222,   163,
1062 >     219,    -1,    -1,   269,   218,   221,   270,   220,   219,    -1,
1063 >     270,   271,    -1,   271,    -1,   272,    -1,   274,    -1,   273,
1064 >      -1,     1,   219,    -1,    91,   222,   120,   219,    -1,   217,
1065 >     222,   230,   219,    -1,   217,   222,   198,   219,    -1,    -1,
1066 >     154,   275,   222,   276,   219,    -1,   276,   223,   277,    -1,
1067 >     277,    -1,   209,    -1,   104,    -1,    40,    -1,   177,    -1,
1068 >      64,    -1,    62,    -1,   176,    -1,    -1,   104,   279,   221,
1069 >     280,   220,   219,    -1,   280,   281,    -1,   281,    -1,   282,
1070 >      -1,   283,    -1,   284,    -1,   288,    -1,   287,    -1,   285,
1071 >      -1,   286,    -1,   292,    -1,     1,   219,    -1,    91,   222,
1072 >     120,   219,    -1,   209,   222,   120,   219,    -1,   114,   222,
1073 >     120,   219,    -1,    32,   222,   163,   219,    -1,   132,   222,
1074 >     120,   219,    -1,    17,   222,   120,   219,    -1,    -1,   195,
1075 >     289,   222,   290,   219,    -1,   290,   223,   291,    -1,   291,
1076 >      -1,   169,    -1,   172,    -1,   173,    -1,   175,    -1,   176,
1077 >      -1,   179,    -1,    51,    -1,   192,    -1,   185,    -1,   188,
1078 >      -1,   196,    -1,   193,    -1,   178,    -1,   186,    -1,   190,
1079 >      -1,   180,    -1,   202,    -1,   170,    -1,   171,    -1,   183,
1080 >      -1,    -1,    36,   293,   222,   294,   219,    -1,   294,   223,
1081 >     295,    -1,   295,    -1,    47,    -1,   128,    -1,    64,    -1,
1082 >     208,    -1,   177,    -1,   197,    -1,   215,    -1,    40,    -1,
1083 >      25,    -1,   203,    -1,   126,    -1,     4,    -1,    96,    -1,
1084 >     186,    -1,   201,    -1,   108,    -1,   129,    -1,   191,    -1,
1085 >      89,    -1,    -1,    17,   297,   221,   298,   220,   219,    -1,
1086 >     298,   299,    -1,   299,    -1,   300,    -1,   311,    -1,   312,
1087 >      -1,   301,    -1,   302,    -1,   313,    -1,   303,    -1,   304,
1088 >      -1,   305,    -1,   306,    -1,   307,    -1,   308,    -1,   309,
1089 >      -1,   310,    -1,     1,   219,    -1,    91,   222,   120,   219,
1090 >      -1,   117,   222,   228,   219,    -1,   118,   222,   228,   219,
1091 >      -1,   103,   222,   101,   219,    -1,    19,   222,   228,   219,
1092 >      -1,    83,   222,   101,   219,    -1,    78,   222,   101,   219,
1093 >      -1,    80,   222,   101,   219,    -1,    79,   222,   101,   219,
1094 >      -1,   146,   222,   230,   219,    -1,   187,   222,   230,   219,
1095 >      -1,    15,   222,   101,   219,    -1,    16,   222,   101,   219,
1096 >      -1,   102,   222,   101,   219,    -1,    -1,    72,   315,   221,
1097 >     320,   220,   219,    -1,    -1,    36,   317,   222,   318,   219,
1098 >      -1,   318,   223,   319,    -1,   319,    -1,   194,    -1,    51,
1099 >      -1,   189,    -1,   320,   321,    -1,   321,    -1,   322,    -1,
1100 >     316,    -1,   326,    -1,   327,    -1,     1,   219,    -1,    -1,
1101 >     119,   222,   324,   323,   219,    -1,   324,   223,   325,    -1,
1102 >     325,    -1,   101,    -1,   101,   167,   101,    -1,    61,   222,
1103 >     120,   219,    -1,    56,   222,   120,   219,    -1,    -1,    48,
1104 >     329,   221,   330,   220,   219,    -1,   330,   331,    -1,   331,
1105 >      -1,   332,    -1,   333,    -1,   334,    -1,   336,    -1,   340,
1106 >      -1,   341,    -1,   342,    -1,   335,    -1,     1,   219,    -1,
1107 >     209,   222,   120,   219,    -1,   114,   222,   120,   219,    -1,
1108 >      17,   222,   120,   219,    -1,    32,   222,   163,   219,    -1,
1109 >      -1,    36,   337,   222,   338,   219,    -1,   338,   223,   339,
1110 >      -1,   339,    -1,   157,    -1,    33,    -1,    65,    -1,    49,
1111 >      -1,    13,    -1,   100,    -1,    43,    -1,   140,    -1,    92,
1112 >      -1,   156,   222,   120,   219,    -1,   124,   222,   120,   219,
1113 >      -1,   123,   222,   101,   219,    -1,    -1,   139,   344,   221,
1114 >     345,   220,   219,    -1,   345,   346,    -1,   346,    -1,   347,
1115 >      -1,   348,    -1,   349,    -1,     1,   219,    -1,   122,   222,
1116 >     120,   219,    -1,    14,   222,   120,   219,    -1,    95,   222,
1117 >     120,   219,    -1,   204,   221,   351,   220,   219,    -1,   351,
1118 >     352,    -1,   352,    -1,   353,    -1,     1,    -1,    91,   222,
1119 >     120,   219,    -1,    -1,   152,   355,   221,   356,   220,   219,
1120 >      -1,   356,   357,    -1,   357,    -1,   358,    -1,   359,    -1,
1121 >     360,    -1,     1,   219,    -1,    91,   222,   120,   219,    -1,
1122 >     209,   222,   120,   219,    -1,    -1,   154,   361,   222,   362,
1123 >     219,    -1,   362,   223,   363,    -1,   363,    -1,    64,    -1,
1124 >     208,    -1,   177,    -1,   197,    -1,   215,    -1,   200,    -1,
1125 >     139,    -1,   199,    -1,   183,    -1,   168,    -1,    -1,   153,
1126 >     365,   221,   366,   220,   219,    -1,   366,   367,    -1,   367,
1127 >      -1,   368,    -1,   369,    -1,     1,   219,    -1,    91,   222,
1128 >     120,   219,    -1,    -1,   154,   370,   222,   371,   219,    -1,
1129 >     371,   223,   372,    -1,   372,    -1,    64,    -1,   208,    -1,
1130 >     177,    -1,   197,    -1,   215,    -1,   200,    -1,   139,    -1,
1131 >     199,    -1,   183,    -1,   168,    -1,    -1,    18,   374,   221,
1132 >     375,   220,   219,    -1,   375,   376,    -1,   376,    -1,   377,
1133 >      -1,   378,    -1,   379,    -1,   380,    -1,   381,    -1,   383,
1134 >      -1,   382,    -1,   392,    -1,   384,    -1,   389,    -1,   390,
1135 >      -1,   391,    -1,   388,    -1,     1,   219,    -1,    91,   222,
1136 >     120,   219,    -1,    56,   222,   120,   219,    -1,   213,   222,
1137 >     120,   219,    -1,   147,   222,   120,   219,    -1,     3,   222,
1138 >     120,   219,    -1,   119,   222,   101,   219,    -1,     5,   222,
1139 >     181,   219,    -1,     5,   222,   182,   219,    -1,    -1,    36,
1140 >     385,   222,   386,   219,    -1,   386,   223,   387,    -1,   387,
1141 >      -1,     8,    -1,   194,    -1,    32,   222,   163,   219,    -1,
1142 >      58,   222,   120,   219,    -1,    70,   222,   120,   219,    -1,
1143 >      17,   222,   120,   219,    -1,   174,   222,   120,   219,    -1,
1144 >      -1,    62,   394,   221,   399,   220,   219,    -1,    -1,   154,
1145 >     396,   222,   397,   219,    -1,   397,   223,   398,    -1,   398,
1146 >      -1,   125,    -1,   399,   400,    -1,   400,    -1,   401,    -1,
1147 >     402,    -1,   395,    -1,     1,    -1,   209,   222,   120,   219,
1148 >      -1,   122,   222,   120,   219,    -1,    -1,    23,   404,   221,
1149 >     405,   220,   219,    -1,   405,   406,    -1,   406,    -1,   407,
1150 >      -1,   408,    -1,     1,    -1,    61,   222,   120,   219,    -1,
1151 >     122,   222,   120,   219,    -1,    34,   221,   410,   220,   219,
1152 >      -1,   410,   411,    -1,   411,    -1,   412,    -1,     1,    -1,
1153 >      61,   222,   120,   219,    -1,    -1,    38,   414,   221,   419,
1154 >     220,   219,    -1,    -1,   154,   416,   222,   417,   219,    -1,
1155 >     417,   223,   418,    -1,   418,    -1,   125,    -1,   419,   420,
1156 >      -1,   420,    -1,   421,    -1,   422,    -1,   415,    -1,     1,
1157 >      -1,    91,   222,   120,   219,    -1,   122,   222,   120,   219,
1158 >      -1,    39,   221,   424,   220,   219,    -1,   424,   425,    -1,
1159 >     425,    -1,   436,    -1,   437,    -1,   439,    -1,   440,    -1,
1160 >     441,    -1,   442,    -1,   443,    -1,   444,    -1,   445,    -1,
1161 >     446,    -1,   435,    -1,   448,    -1,   449,    -1,   450,    -1,
1162 >     451,    -1,   466,    -1,   453,    -1,   455,    -1,   457,    -1,
1163 >     456,    -1,   460,    -1,   454,    -1,   461,    -1,   462,    -1,
1164 >     463,    -1,   464,    -1,   465,    -1,   478,    -1,   467,    -1,
1165 >     468,    -1,   469,    -1,   474,    -1,   458,    -1,   459,    -1,
1166 >     484,    -1,   482,    -1,   483,    -1,   438,    -1,   473,    -1,
1167 >     447,    -1,   471,    -1,   472,    -1,   434,    -1,   427,    -1,
1168 >     428,    -1,   429,    -1,   430,    -1,   431,    -1,   432,    -1,
1169 >     433,    -1,   452,    -1,   426,    -1,   470,    -1,     1,    -1,
1170 >      85,   222,   101,   219,    -1,    42,   222,   163,   219,    -1,
1171 >      41,   222,   228,   219,    -1,    44,   222,   228,   219,    -1,
1172 >      45,   222,   101,   219,    -1,    46,   222,   101,   219,    -1,
1173 >     212,   222,   163,   219,    -1,   127,   222,   228,   219,    -1,
1174 >     151,   222,   163,   219,    -1,    63,   222,   228,   219,    -1,
1175 >      55,   222,   163,   219,    -1,    59,   222,   163,   219,    -1,
1176 >      28,   222,   163,   219,    -1,    35,   222,   163,   219,    -1,
1177 >       6,   222,   163,   219,    -1,    82,   222,   228,   219,    -1,
1178 >      81,   222,   101,   219,    -1,    74,   222,   101,   219,    -1,
1179 >       7,   222,   228,   219,    -1,   166,   222,   228,   219,    -1,
1180 >     165,   222,   228,   219,    -1,    50,   222,   101,   219,    -1,
1181 >      67,   222,   163,   219,    -1,    66,   222,   120,   219,    -1,
1182 >      60,   222,   163,   219,    -1,   216,   222,   163,   219,    -1,
1183 >     158,   222,   163,   219,    -1,   161,   222,   163,   219,    -1,
1184 >     162,   222,   163,   219,    -1,   160,   222,   163,   219,    -1,
1185 >     160,   222,   164,   219,    -1,   159,   222,   163,   219,    -1,
1186 >     159,   222,   164,   219,    -1,   112,   222,   228,   219,    -1,
1187 >      12,   222,   228,   219,    -1,   105,   222,   163,   219,    -1,
1188 >     113,   222,   228,   219,    -1,   155,   222,   163,   219,    -1,
1189 >      99,   222,   163,   219,    -1,   207,   222,   163,   219,    -1,
1190 >     107,   222,   163,   219,    -1,    86,   222,   120,   219,    -1,
1191 >      29,   222,   101,   219,    -1,    84,   222,   101,   219,    -1,
1192 >     210,   222,   163,   219,    -1,    30,   222,   120,   219,    -1,
1193 >     205,   222,   120,   219,    -1,   116,   222,   163,   219,    -1,
1194 >      26,   222,   163,   219,    -1,   206,   222,   228,   219,    -1,
1195 >      -1,   109,   475,   222,   476,   219,    -1,   476,   223,   477,
1196 >      -1,   477,    -1,   169,    -1,   172,    -1,   173,    -1,   175,
1197 >      -1,   176,    -1,   179,    -1,    51,    -1,   192,    -1,   185,
1198 >      -1,   188,    -1,   196,    -1,   193,    -1,   178,    -1,   186,
1199 >      -1,   190,    -1,   180,    -1,   202,    -1,   170,    -1,   171,
1200 >      -1,   183,    -1,    -1,   106,   479,   222,   480,   219,    -1,
1201 >     480,   223,   481,    -1,   481,    -1,   169,    -1,   172,    -1,
1202 >     173,    -1,   175,    -1,   176,    -1,   179,    -1,   192,    -1,
1203 >      51,    -1,   185,    -1,   188,    -1,   196,    -1,   193,    -1,
1204 >     178,    -1,   186,    -1,   190,    -1,   180,    -1,   202,    -1,
1205 >     170,    -1,   171,    -1,   183,    -1,    87,   222,   101,   219,
1206 >      -1,    88,   222,   101,   219,    -1,    20,   222,   101,   219,
1207 >      -1,    14,   221,   486,   220,   219,    -1,   486,   487,    -1,
1208 >     487,    -1,   495,    -1,   490,    -1,   491,    -1,   492,    -1,
1209 >     493,    -1,   494,    -1,   496,    -1,   497,    -1,   498,    -1,
1210 >     489,    -1,   499,    -1,   500,    -1,   501,    -1,   488,    -1,
1211 >       1,    -1,    27,   222,   163,   219,    -1,   130,   222,   163,
1212 >     219,    -1,    68,   222,   228,   219,    -1,    69,   222,   228,
1213 >     219,    -1,    77,   222,   101,   219,    -1,    76,   222,   101,
1214 >     219,    -1,   121,   222,   163,   219,    -1,    75,   222,   101,
1215 >     219,    -1,    22,   222,   101,   219,    -1,    21,   222,   101,
1216 >     219,    -1,    97,   222,   163,   219,    -1,    98,   222,   163,
1217 >     219,    -1,   110,   222,   101,   219,    -1,   111,   222,   228,
1218 >     219,    -1,   148,   221,   503,   220,   219,    -1,   503,   504,
1219 >      -1,   504,    -1,   505,    -1,   506,    -1,   508,    -1,   509,
1220 >      -1,   507,    -1,   510,    -1,     1,    -1,    37,   222,   163,
1221 >     219,    -1,    54,   222,   163,   219,    -1,    52,   222,   120,
1222 >     219,    -1,    71,   222,   228,   219,    -1,    51,   222,   163,
1223 >     219,    -1,    53,   222,   163,   219,    -1
1224   };
1225  
1226   /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1227   static const yytype_uint16 yyrline[] =
1228   {
1229 <       0,   403,   403,   404,   407,   408,   409,   410,   411,   412,
1230 <     413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
1231 <     423,   424,   425,   426,   427,   428,   432,   432,   433,   437,
1232 <     441,   445,   449,   453,   459,   459,   460,   461,   462,   463,
1233 <     470,   473,   473,   474,   474,   474,   476,   484,   493,   495,
1234 <     495,   496,   496,   497,   497,   498,   498,   499,   500,   500,
1235 <     501,   501,   502,   503,   507,   506,   521,   521,   522,   526,
1236 <     532,   566,   626,   640,   655,   664,   678,   687,   715,   745,
1237 <     768,   790,   792,   792,   793,   793,   794,   794,   796,   805,
1238 <     814,   827,   829,   830,   832,   832,   833,   834,   834,   835,
1239 <     835,   836,   836,   837,   837,   838,   839,   841,   845,   849,
1240 <     856,   863,   870,   877,   884,   891,   898,   905,   909,   913,
1241 <     917,   921,   925,   929,   935,   945,   944,  1038,  1038,  1039,
1242 <    1039,  1040,  1040,  1040,  1040,  1041,  1041,  1042,  1042,  1042,
1243 <    1043,  1043,  1043,  1044,  1044,  1044,  1045,  1045,  1045,  1045,
1244 <    1046,  1046,  1047,  1047,  1049,  1061,  1073,  1107,  1119,  1130,
1245 <    1172,  1182,  1181,  1187,  1187,  1188,  1192,  1196,  1200,  1204,
1246 <    1208,  1212,  1216,  1220,  1224,  1228,  1232,  1236,  1240,  1244,
1247 <    1248,  1252,  1256,  1260,  1266,  1277,  1288,  1299,  1310,  1321,
1248 <    1332,  1343,  1354,  1365,  1376,  1387,  1398,  1409,  1421,  1420,
1249 <    1424,  1424,  1425,  1425,  1426,  1426,  1428,  1435,  1442,  1449,
1250 <    1456,  1463,  1470,  1477,  1484,  1491,  1498,  1505,  1512,  1519,
1251 <    1526,  1533,  1547,  1546,  1596,  1596,  1598,  1598,  1599,  1600,
1252 <    1600,  1601,  1602,  1603,  1604,  1605,  1606,  1607,  1608,  1609,
1253 <    1610,  1611,  1613,  1622,  1631,  1637,  1643,  1649,  1655,  1661,
1254 <    1667,  1673,  1679,  1685,  1691,  1697,  1707,  1706,  1723,  1722,
1255 <    1727,  1727,  1728,  1732,  1736,  1744,  1744,  1745,  1745,  1745,
1256 <    1745,  1745,  1747,  1747,  1749,  1749,  1751,  1765,  1785,  1794,
1257 <    1807,  1806,  1875,  1875,  1876,  1876,  1876,  1876,  1877,  1877,
1258 <    1878,  1878,  1878,  1879,  1879,  1880,  1880,  1880,  1881,  1881,
1259 <    1881,  1883,  1920,  1933,  1944,  1953,  1965,  1964,  1968,  1968,
1260 <    1969,  1969,  1970,  1970,  1972,  1980,  1987,  1994,  2001,  2008,
1261 <    2015,  2022,  2029,  2036,  2045,  2056,  2067,  2078,  2089,  2100,
1262 <    2112,  2131,  2141,  2150,  2166,  2165,  2181,  2181,  2182,  2182,
1263 <    2182,  2182,  2184,  2193,  2208,  2222,  2221,  2237,  2237,  2238,
1264 <    2238,  2238,  2238,  2240,  2249,  2272,  2271,  2277,  2277,  2278,
1265 <    2282,  2286,  2290,  2294,  2298,  2302,  2306,  2310,  2314,  2318,
1266 <    2328,  2327,  2344,  2344,  2345,  2345,  2345,  2347,  2354,  2353,
1267 <    2359,  2359,  2360,  2364,  2368,  2372,  2376,  2380,  2384,  2388,
1268 <    2392,  2396,  2400,  2410,  2409,  2555,  2555,  2556,  2556,  2557,
1269 <    2557,  2557,  2558,  2558,  2559,  2559,  2560,  2560,  2560,  2561,
1270 <    2561,  2561,  2562,  2562,  2562,  2563,  2563,  2564,  2564,  2566,
1271 <    2578,  2590,  2599,  2625,  2643,  2661,  2667,  2671,  2679,  2689,
1272 <    2688,  2692,  2692,  2693,  2693,  2694,  2694,  2696,  2707,  2714,
1273 <    2721,  2728,  2738,  2779,  2790,  2801,  2816,  2827,  2838,  2851,
1274 <    2864,  2873,  2909,  2908,  2972,  2971,  2975,  2975,  2976,  2982,
1275 <    2982,  2983,  2983,  2983,  2983,  2985,  3004,  3014,  3013,  3036,
1276 <    3036,  3037,  3037,  3037,  3039,  3045,  3054,  3056,  3056,  3057,
1277 <    3057,  3059,  3078,  3077,  3125,  3124,  3128,  3128,  3129,  3135,
1278 <    3135,  3136,  3136,  3136,  3136,  3138,  3144,  3153,  3156,  3156,
1279 <    3157,  3157,  3158,  3158,  3159,  3159,  3160,  3160,  3161,  3161,
1280 <    3162,  3162,  3163,  3163,  3164,  3164,  3165,  3165,  3166,  3166,
1281 <    3167,  3167,  3168,  3168,  3169,  3169,  3170,  3170,  3171,  3171,
1282 <    3172,  3172,  3173,  3173,  3174,  3174,  3175,  3175,  3176,  3176,
1283 <    3177,  3178,  3178,  3179,  3179,  3180,  3180,  3181,  3181,  3182,
1284 <    3182,  3183,  3183,  3184,  3184,  3185,  3186,  3189,  3194,  3199,
1285 <    3204,  3209,  3214,  3219,  3224,  3229,  3234,  3239,  3244,  3249,
1286 <    3254,  3259,  3264,  3269,  3274,  3279,  3285,  3296,  3301,  3310,
1287 <    3315,  3320,  3325,  3330,  3335,  3338,  3343,  3346,  3351,  3356,
1288 <    3361,  3366,  3371,  3376,  3381,  3386,  3391,  3402,  3407,  3412,
1289 <    3417,  3426,  3458,  3476,  3481,  3490,  3495,  3500,  3506,  3505,
1290 <    3510,  3510,  3511,  3514,  3517,  3520,  3523,  3526,  3529,  3532,
1291 <    3535,  3538,  3541,  3544,  3547,  3550,  3553,  3556,  3559,  3562,
1292 <    3565,  3571,  3570,  3575,  3575,  3576,  3579,  3582,  3585,  3588,
1437 <    3591,  3594,  3597,  3600,  3603,  3606,  3609,  3612,  3615,  3618,
1438 <    3621,  3624,  3627,  3630,  3635,  3640,  3645,  3650,  3655,  3664,
1439 <    3663,  3687,  3687,  3688,  3689,  3690,  3691,  3692,  3693,  3694,
1440 <    3696,  3702,  3709,  3708,  3713,  3713,  3714,  3718,  3724,  3758,
1441 <    3768,  3767,  3817,  3817,  3818,  3822,  3831,  3834,  3834,  3835,
1442 <    3835,  3836,  3836,  3837,  3837,  3838,  3838,  3839,  3839,  3840,
1443 <    3841,  3841,  3842,  3842,  3843,  3843,  3844,  3844,  3846,  3851,
1444 <    3856,  3861,  3866,  3871,  3876,  3881,  3886,  3891,  3896,  3901,
1445 <    3906,  3911,  3916,  3921,  3926,  3931,  3939,  3942,  3942,  3943,
1446 <    3943,  3944,  3945,  3946,  3946,  3947,  3948,  3950,  3956,  3962,
1447 <    3971,  3985,  3991,  3997
1229 >       0,   334,   334,   335,   338,   339,   340,   341,   342,   343,
1230 >     344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
1231 >     354,   355,   356,   357,   358,   359,   363,   363,   364,   368,
1232 >     372,   376,   380,   384,   390,   390,   391,   392,   393,   394,
1233 >     401,   404,   404,   405,   405,   405,   407,   413,   420,   422,
1234 >     422,   423,   423,   424,   424,   425,   425,   426,   426,   427,
1235 >     427,   428,   428,   429,   429,   430,   431,   434,   435,   437,
1236 >     437,   438,   444,   452,   452,   453,   459,   467,   506,   565,
1237 >     593,   601,   616,   631,   640,   654,   663,   691,   721,   744,
1238 >     753,   755,   755,   756,   756,   757,   757,   759,   768,   777,
1239 >     789,   790,   790,   792,   792,   793,   795,   802,   802,   812,
1240 >     813,   815,   815,   816,   816,   818,   823,   826,   832,   831,
1241 >     837,   837,   838,   842,   846,   850,   854,   858,   862,   873,
1242 >     872,   970,   970,   971,   971,   971,   972,   972,   972,   973,
1243 >     973,   973,   975,   984,  1021,  1033,  1044,  1086,  1096,  1095,
1244 >    1101,  1101,  1102,  1106,  1110,  1114,  1118,  1122,  1126,  1130,
1245 >    1134,  1138,  1142,  1146,  1150,  1154,  1158,  1162,  1166,  1170,
1246 >    1174,  1178,  1185,  1184,  1190,  1190,  1191,  1195,  1199,  1203,
1247 >    1207,  1211,  1215,  1219,  1223,  1227,  1231,  1235,  1239,  1243,
1248 >    1247,  1251,  1255,  1259,  1263,  1274,  1273,  1323,  1323,  1324,
1249 >    1325,  1325,  1326,  1327,  1328,  1329,  1330,  1331,  1332,  1333,
1250 >    1334,  1335,  1335,  1336,  1338,  1347,  1353,  1359,  1365,  1371,
1251 >    1377,  1383,  1389,  1395,  1401,  1408,  1414,  1420,  1430,  1429,
1252 >    1446,  1445,  1450,  1450,  1451,  1455,  1459,  1467,  1467,  1468,
1253 >    1468,  1468,  1468,  1468,  1470,  1470,  1472,  1472,  1474,  1488,
1254 >    1508,  1517,  1530,  1529,  1598,  1598,  1599,  1599,  1599,  1599,
1255 >    1600,  1600,  1600,  1601,  1601,  1603,  1638,  1651,  1660,  1672,
1256 >    1671,  1675,  1675,  1676,  1680,  1684,  1688,  1692,  1696,  1700,
1257 >    1704,  1708,  1715,  1734,  1744,  1758,  1757,  1773,  1773,  1774,
1258 >    1774,  1774,  1774,  1776,  1785,  1800,  1813,  1815,  1815,  1816,
1259 >    1816,  1818,  1834,  1833,  1849,  1849,  1850,  1850,  1850,  1850,
1260 >    1852,  1861,  1884,  1883,  1889,  1889,  1890,  1894,  1898,  1902,
1261 >    1906,  1910,  1914,  1918,  1922,  1926,  1936,  1935,  1952,  1952,
1262 >    1953,  1953,  1953,  1955,  1962,  1961,  1967,  1967,  1968,  1972,
1263 >    1976,  1980,  1984,  1988,  1992,  1996,  2000,  2004,  2014,  2013,
1264 >    2064,  2064,  2065,  2065,  2065,  2066,  2066,  2067,  2067,  2067,
1265 >    2068,  2068,  2068,  2069,  2069,  2070,  2072,  2081,  2090,  2116,
1266 >    2134,  2152,  2158,  2162,  2171,  2170,  2174,  2174,  2175,  2179,
1267 >    2185,  2196,  2207,  2218,  2227,  2246,  2245,  2311,  2310,  2314,
1268 >    2314,  2315,  2321,  2321,  2322,  2322,  2322,  2322,  2324,  2343,
1269 >    2353,  2352,  2377,  2377,  2378,  2378,  2378,  2380,  2386,  2395,
1270 >    2397,  2397,  2398,  2398,  2400,  2419,  2418,  2466,  2465,  2469,
1271 >    2469,  2470,  2476,  2476,  2477,  2477,  2477,  2477,  2479,  2485,
1272 >    2494,  2497,  2497,  2498,  2498,  2499,  2499,  2500,  2500,  2501,
1273 >    2501,  2502,  2502,  2503,  2503,  2504,  2504,  2505,  2505,  2506,
1274 >    2506,  2507,  2507,  2508,  2508,  2509,  2509,  2510,  2510,  2511,
1275 >    2512,  2512,  2513,  2513,  2514,  2514,  2515,  2515,  2516,  2516,
1276 >    2517,  2518,  2518,  2519,  2520,  2521,  2521,  2522,  2522,  2523,
1277 >    2524,  2524,  2525,  2525,  2526,  2526,  2527,  2530,  2535,  2541,
1278 >    2547,  2553,  2558,  2563,  2568,  2573,  2578,  2583,  2588,  2593,
1279 >    2598,  2603,  2608,  2613,  2618,  2623,  2628,  2633,  2639,  2650,
1280 >    2655,  2664,  2669,  2674,  2679,  2684,  2689,  2692,  2697,  2700,
1281 >    2705,  2710,  2715,  2720,  2725,  2730,  2735,  2740,  2745,  2756,
1282 >    2761,  2766,  2771,  2780,  2789,  2794,  2799,  2805,  2804,  2809,
1283 >    2809,  2810,  2813,  2816,  2819,  2822,  2825,  2828,  2831,  2834,
1284 >    2837,  2840,  2843,  2846,  2849,  2852,  2855,  2858,  2861,  2864,
1285 >    2867,  2873,  2872,  2877,  2877,  2878,  2881,  2884,  2887,  2890,
1286 >    2893,  2896,  2899,  2902,  2905,  2908,  2911,  2914,  2917,  2920,
1287 >    2923,  2926,  2929,  2932,  2935,  2940,  2945,  2950,  2959,  2962,
1288 >    2962,  2963,  2964,  2964,  2965,  2965,  2966,  2966,  2967,  2968,
1289 >    2968,  2969,  2970,  2970,  2971,  2971,  2973,  2978,  2983,  2988,
1290 >    2993,  2998,  3003,  3008,  3013,  3018,  3023,  3028,  3033,  3038,
1291 >    3046,  3049,  3049,  3050,  3050,  3051,  3052,  3052,  3053,  3054,
1292 >    3056,  3062,  3068,  3077,  3091,  3097
1293   };
1294   #endif
1295  
1296 < #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1296 > #if YYDEBUG || YYERROR_VERBOSE || 0
1297   /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1298     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1299   static const char *const yytname[] =
1300   {
1301 <  "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ACTION", "ADMIN",
1302 <  "AFTYPE", "T_ALLOW", "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME",
1303 <  "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BURST_TOPICWHO", "BYTES", "KBYTES",
1304 <  "MBYTES", "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CAN_IDLE",
1305 <  "CHANNEL", "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CIPHER_PREFERENCE",
1306 <  "CLASS", "COMPRESSED", "COMPRESSION_LEVEL", "CONNECT", "CONNECTFREQ",
1307 <  "CRYPTLINK", "DEFAULT_CIPHER_PREFERENCE", "DEFAULT_FLOODCOUNT",
1308 <  "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1309 <  "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1310 <  "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS", "DISABLE_REMOTE_COMMANDS",
1311 <  "DOT_IN_IP6_ADDR", "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH", "EMAIL",
1467 <  "ENABLE", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE",
1468 <  "FAKENAME", "IRCD_FLAGS", "FLATTEN_LINKS", "FFAILED_OPERLOG", "FKILLLOG",
1469 <  "FKLINELOG", "FGLINELOG", "FIOERRLOG", "FOPERLOG", "FOPERSPYLOG",
1470 <  "FUSERLOG", "GECOS", "GENERAL", "GLINE", "GLINES", "GLINE_EXEMPT",
1471 <  "GLINE_LOG", "GLINE_TIME", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1301 >  "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ADMIN", "AFTYPE",
1302 >  "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1303 >  "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1304 >  "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1305 >  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1306 >  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1307 >  "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1308 >  "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1309 >  "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1310 >  "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT",
1311 >  "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1312    "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1313 <  "HIDDEN_ADMIN", "HIDDEN_NAME", "HIDDEN_OPER", "HIDE_SERVER_IPS",
1314 <  "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK", "IDLETIME",
1315 <  "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "KILL",
1316 <  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KLINE_REASON",
1317 <  "KLINE_WITH_REASON", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1318 <  "LINKS_DELAY", "LISTEN", "T_LOG", "LOGGING", "LOG_LEVEL", "MAX_ACCEPT",
1319 <  "MAX_BANS", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1320 <  "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1321 <  "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1322 <  "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1323 <  "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1324 <  "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1325 <  "NOT", "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1326 <  "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID", "OPER_LOG",
1327 <  "OPER_ONLY_UMODES", "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES",
1328 <  "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE",
1329 <  "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT",
1330 <  "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T",
1331 <  "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",
1332 <  "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",
1493 <  "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "T_SSL_CONNECTION_METHOD",
1313 >  "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SPOOF_IPS",
1314 >  "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1315 >  "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT",
1316 >  "KLINE_REASON", "KLINE_WITH_REASON", "KNOCK_DELAY",
1317 >  "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY", "LISTEN", "T_LOG",
1318 >  "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER",
1319 >  "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL", "MAX_NICK_CHANGES",
1320 >  "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS", "MAX_WATCH",
1321 >  "MESSAGE_LOCALE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", "MODULE",
1322 >  "MODULES", "NAME", "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME",
1323 >  "NICK", "NICK_CHANGES", "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT",
1324 >  "NO_OPER_FLOOD", "NO_TILDE", "NUMBER", "NUMBER_PER_CIDR",
1325 >  "NUMBER_PER_IP", "OPERATOR", "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES",
1326 >  "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT",
1327 >  "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH",
1328 >  "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT", "QSTRING",
1329 >  "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T", "REHASH",
1330 >  "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN", "RESTRICT_CHANNELS",
1331 >  "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE",
1332 >  "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD",
1333    "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES",
1334    "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD", "SERVERHIDE",
1335 <  "SERVERINFO", "SERVLINK_PATH", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1336 <  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SILENT", "SPOOF",
1337 <  "SPOOF_NOTICE", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1338 <  "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL",
1339 <  "TMASKED", "T_REJECT", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS",
1340 <  "T_ALL", "T_BOTS", "T_SOFTCALLERID", "T_CALLERID", "T_CCONN",
1341 <  "T_CCONN_FULL", "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DRONE",
1342 <  "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1343 <  "T_LOGPATH", "T_L_CRIT", "T_L_DEBUG", "T_L_ERROR", "T_L_INFO",
1344 <  "T_L_NOTICE", "T_L_TRACE", "T_L_WARN", "T_MAX_CLIENTS", "T_NCHANGE",
1345 <  "T_OPERWALL", "T_REJ", "T_SERVER", "T_SERVNOTICE", "T_SKILL", "T_SPY",
1346 <  "T_SSL", "T_UMODES", "T_UNAUTH", "T_UNRESV", "T_UNXLINE", "T_WALLOP",
1347 <  "THROTTLE_TIME", "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE",
1348 <  "TRESV", "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX",
1349 <  "USE_KNOCK", "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6",
1511 <  "XLINE", "WARN", "WARN_NO_NLINE", "';'", "'}'", "'{'", "'='", "','",
1335 >  "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES", "T_SHARED",
1336 >  "T_CLUSTER", "TYPE", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1337 >  "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY",
1338 >  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED",
1339 >  "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1340 >  "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1341 >  "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1342 >  "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS",
1343 >  "T_NCHANGE", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_SERVER",
1344 >  "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1345 >  "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE",
1346 >  "T_GLOBOPS", "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME",
1347 >  "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD", "UNKLINE", "USER", "USE_EGD",
1348 >  "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6", "XLINE",
1349 >  "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",
1350    "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1351    "sizespec", "modules_entry", "modules_items", "modules_item",
1352    "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1353 <  "serverinfo_item", "serverinfo_ssl_connection_method", "$@1",
1354 <  "method_types", "method_type_item", "serverinfo_ssl_certificate_file",
1355 <  "serverinfo_rsa_private_key_file", "serverinfo_name", "serverinfo_sid",
1353 >  "serverinfo_item", "serverinfo_ssl_client_method",
1354 >  "serverinfo_ssl_server_method", "client_method_types",
1355 >  "client_method_type_item", "server_method_types",
1356 >  "server_method_type_item", "serverinfo_ssl_certificate_file",
1357 >  "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1358 >  "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1359    "serverinfo_description", "serverinfo_network_name",
1360    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1361    "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1362    "admin_item", "admin_name", "admin_email", "admin_description",
1363 <  "logging_entry", "logging_items", "logging_item", "logging_path",
1364 <  "logging_oper_log", "logging_fuserlog", "logging_ffailed_operlog",
1365 <  "logging_foperlog", "logging_foperspylog", "logging_fglinelog",
1366 <  "logging_fklinelog", "logging_ioerrlog", "logging_killlog",
1367 <  "logging_log_level", "logging_use_logging", "oper_entry", "$@2",
1368 <  "oper_name_b", "oper_items", "oper_item", "oper_name", "oper_name_t",
1369 <  "oper_user", "oper_password", "oper_encrypted",
1370 <  "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@3",
1371 <  "oper_umodes_items", "oper_umodes_item", "oper_global_kill",
1372 <  "oper_remote", "oper_remoteban", "oper_kline", "oper_xline",
1373 <  "oper_unkline", "oper_gline", "oper_nick_changes", "oper_die",
1374 <  "oper_rehash", "oper_admin", "oper_hidden_admin", "oper_hidden_oper",
1534 <  "oper_operwall", "oper_flags", "$@4", "oper_flags_items",
1535 <  "oper_flags_item", "$@5", "$@6", "oper_flags_item_atom", "class_entry",
1536 <  "$@7", "class_name_b", "class_items", "class_item", "class_name",
1537 <  "class_name_t", "class_ping_time", "class_ping_warning",
1538 <  "class_number_per_ip", "class_connectfreq", "class_max_number",
1539 <  "class_max_global", "class_max_local", "class_max_ident", "class_sendq",
1363 >  "logging_entry", "logging_items", "logging_item", "logging_use_logging",
1364 >  "logging_file_entry", "$@1", "logging_file_items", "logging_file_item",
1365 >  "logging_file_name", "logging_file_size", "logging_file_type", "$@2",
1366 >  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@3",
1367 >  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1368 >  "oper_encrypted", "oper_rsa_public_key_file", "oper_class",
1369 >  "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1370 >  "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1371 >  "class_entry", "$@6", "class_items", "class_item", "class_name",
1372 >  "class_ping_time", "class_ping_warning", "class_number_per_ip",
1373 >  "class_connectfreq", "class_max_number", "class_max_global",
1374 >  "class_max_local", "class_max_ident", "class_sendq", "class_recvq",
1375    "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1376 <  "class_number_per_cidr", "listen_entry", "$@8", "listen_flags", "$@9",
1376 >  "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1377    "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1378 <  "listen_port", "$@10", "port_items", "port_item", "listen_address",
1379 <  "listen_host", "auth_entry", "$@11", "auth_items", "auth_item",
1380 <  "auth_user", "auth_passwd", "auth_spoof_notice", "auth_class",
1381 <  "auth_encrypted", "auth_flags", "$@12", "auth_flags_items",
1382 <  "auth_flags_item", "$@13", "$@14", "auth_flags_item_atom",
1383 <  "auth_kline_exempt", "auth_need_ident", "auth_exceed_limit",
1384 <  "auth_can_flood", "auth_no_tilde", "auth_gline_exempt", "auth_spoof",
1385 <  "auth_redir_serv", "auth_redir_port", "auth_need_password", "resv_entry",
1386 <  "$@15", "resv_items", "resv_item", "resv_creason", "resv_channel",
1387 <  "resv_nick", "shared_entry", "$@16", "shared_items", "shared_item",
1388 <  "shared_name", "shared_user", "shared_type", "$@17", "shared_types",
1389 <  "shared_type_item", "cluster_entry", "$@18", "cluster_items",
1555 <  "cluster_item", "cluster_name", "cluster_type", "$@19", "cluster_types",
1556 <  "cluster_type_item", "connect_entry", "$@20", "connect_name_b",
1557 <  "connect_items", "connect_item", "connect_name", "connect_name_t",
1378 >  "listen_port", "$@9", "port_items", "port_item", "listen_address",
1379 >  "listen_host", "auth_entry", "$@10", "auth_items", "auth_item",
1380 >  "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1381 >  "$@11", "auth_flags_items", "auth_flags_item", "auth_spoof",
1382 >  "auth_redir_serv", "auth_redir_port", "resv_entry", "$@12", "resv_items",
1383 >  "resv_item", "resv_creason", "resv_channel", "resv_nick",
1384 >  "service_entry", "service_items", "service_item", "service_name",
1385 >  "shared_entry", "$@13", "shared_items", "shared_item", "shared_name",
1386 >  "shared_user", "shared_type", "$@14", "shared_types", "shared_type_item",
1387 >  "cluster_entry", "$@15", "cluster_items", "cluster_item", "cluster_name",
1388 >  "cluster_type", "$@16", "cluster_types", "cluster_type_item",
1389 >  "connect_entry", "$@17", "connect_items", "connect_item", "connect_name",
1390    "connect_host", "connect_vhost", "connect_send_password",
1391    "connect_accept_password", "connect_port", "connect_aftype",
1392 <  "connect_fakename", "connect_flags", "$@21", "connect_flags_items",
1393 <  "connect_flags_item", "$@22", "$@23", "connect_flags_item_atom",
1394 <  "connect_rsa_public_key_file", "connect_encrypted", "connect_cryptlink",
1395 <  "connect_compressed", "connect_auto", "connect_topicburst",
1396 <  "connect_hub_mask", "connect_leaf_mask", "connect_class",
1397 <  "connect_cipher_preference", "kill_entry", "$@24", "kill_type", "$@25",
1398 <  "kill_type_items", "kill_type_item", "kill_items", "kill_item",
1399 <  "kill_user", "kill_reason", "deny_entry", "$@26", "deny_items",
1400 <  "deny_item", "deny_ip", "deny_reason", "exempt_entry", "exempt_items",
1401 <  "exempt_item", "exempt_ip", "gecos_entry", "$@27", "gecos_flags", "$@28",
1402 <  "gecos_flags_items", "gecos_flags_item", "gecos_items", "gecos_item",
1403 <  "gecos_name", "gecos_reason", "general_entry", "general_items",
1404 <  "general_item", "general_max_watch", "general_gline_min_cidr",
1405 <  "general_gline_min_cidr6", "general_burst_away",
1406 <  "general_use_whois_actually", "general_reject_hold_time",
1407 <  "general_tkline_expire_notices", "general_kill_chase_time_limit",
1408 <  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1409 <  "general_disable_remote_commands", "general_failed_oper_notice",
1410 <  "general_anti_nick_flood", "general_max_nick_time",
1411 <  "general_max_nick_changes", "general_max_accept",
1412 <  "general_anti_spam_exit_message_time", "general_ts_warn_delta",
1413 <  "general_ts_max_delta", "general_havent_read_conf",
1414 <  "general_kline_with_reason", "general_kline_reason",
1415 <  "general_invisible_on_connect", "general_warn_no_nline",
1416 <  "general_stats_e_disabled", "general_stats_o_oper_only",
1417 <  "general_stats_P_oper_only", "general_stats_k_oper_only",
1418 <  "general_stats_i_oper_only", "general_pace_wait",
1419 <  "general_caller_id_wait", "general_opers_bypass_callerid",
1420 <  "general_pace_wait_simple", "general_short_motd",
1421 <  "general_no_oper_flood", "general_true_no_oper_flood",
1422 <  "general_oper_pass_resv", "general_message_locale", "general_idletime",
1423 <  "general_dots_in_ident", "general_max_targets", "general_servlink_path",
1424 <  "general_default_cipher_preference", "general_compression_level",
1425 <  "general_use_egd", "general_egdpool_path", "general_ping_cookie",
1426 <  "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1427 <  "$@29", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1428 <  "$@30", "umode_items", "umode_item", "general_min_nonwildcard",
1429 <  "general_min_nonwildcard_simple", "general_default_floodcount",
1430 <  "general_client_flood", "general_dot_in_ip6_addr", "gline_entry", "$@31",
1431 <  "gline_items", "gline_item", "gline_enable", "gline_duration",
1600 <  "gline_logging", "$@32", "gline_logging_types",
1601 <  "gline_logging_type_item", "gline_user", "gline_server", "gline_action",
1602 <  "$@33", "gdeny_types", "gdeny_type_item", "channel_entry",
1603 <  "channel_items", "channel_item", "channel_disable_fake_channels",
1604 <  "channel_restrict_channels", "channel_disable_local_channels",
1605 <  "channel_use_except", "channel_use_invex", "channel_use_knock",
1606 <  "channel_knock_delay", "channel_knock_delay_channel",
1607 <  "channel_max_chans_per_user", "channel_quiet_on_ban", "channel_max_bans",
1392 >  "connect_flags", "$@18", "connect_flags_items", "connect_flags_item",
1393 >  "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1394 >  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@19",
1395 >  "kill_type", "$@20", "kill_type_items", "kill_type_item", "kill_items",
1396 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@21",
1397 >  "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1398 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@22",
1399 >  "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1400 >  "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1401 >  "general_entry", "general_items", "general_item", "general_max_watch",
1402 >  "general_gline_enable", "general_gline_duration",
1403 >  "general_gline_request_duration", "general_gline_min_cidr",
1404 >  "general_gline_min_cidr6", "general_use_whois_actually",
1405 >  "general_reject_hold_time", "general_tkline_expire_notices",
1406 >  "general_kill_chase_time_limit", "general_hide_spoof_ips",
1407 >  "general_ignore_bogus_ts", "general_disable_remote_commands",
1408 >  "general_failed_oper_notice", "general_anti_nick_flood",
1409 >  "general_max_nick_time", "general_max_nick_changes",
1410 >  "general_max_accept", "general_anti_spam_exit_message_time",
1411 >  "general_ts_warn_delta", "general_ts_max_delta",
1412 >  "general_havent_read_conf", "general_kline_with_reason",
1413 >  "general_kline_reason", "general_invisible_on_connect",
1414 >  "general_warn_no_nline", "general_stats_e_disabled",
1415 >  "general_stats_o_oper_only", "general_stats_P_oper_only",
1416 >  "general_stats_k_oper_only", "general_stats_i_oper_only",
1417 >  "general_pace_wait", "general_caller_id_wait",
1418 >  "general_opers_bypass_callerid", "general_pace_wait_simple",
1419 >  "general_short_motd", "general_no_oper_flood",
1420 >  "general_true_no_oper_flood", "general_oper_pass_resv",
1421 >  "general_message_locale", "general_dots_in_ident", "general_max_targets",
1422 >  "general_use_egd", "general_egdpool_path", "general_services_name",
1423 >  "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1424 >  "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1425 >  "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1426 >  "general_min_nonwildcard", "general_min_nonwildcard_simple",
1427 >  "general_default_floodcount", "channel_entry", "channel_items",
1428 >  "channel_item", "channel_disable_fake_channels",
1429 >  "channel_restrict_channels", "channel_knock_delay",
1430 >  "channel_knock_delay_channel", "channel_max_chans_per_user",
1431 >  "channel_max_chans_per_oper", "channel_quiet_on_ban", "channel_max_bans",
1432    "channel_default_split_user_count", "channel_default_split_server_count",
1433    "channel_no_create_on_split", "channel_no_join_on_split",
1434 <  "channel_burst_topicwho", "channel_jflood_count", "channel_jflood_time",
1435 <  "serverhide_entry", "serverhide_items", "serverhide_item",
1436 <  "serverhide_flatten_links", "serverhide_hide_servers",
1437 <  "serverhide_hidden_name", "serverhide_links_delay", "serverhide_hidden",
1438 <  "serverhide_disable_hidden", "serverhide_hide_server_ips", 0
1434 >  "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1435 >  "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1436 >  "serverhide_hide_servers", "serverhide_hidden_name",
1437 >  "serverhide_links_delay", "serverhide_hidden",
1438 >  "serverhide_hide_server_ips", YY_NULL
1439   };
1440   #endif
1441  
# Line 1641 | Line 1465 | static const yytype_uint16 yytoknum[] =
1465       435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1466       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1467       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1468 <     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1469 <     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1646 <     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1647 <     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
1648 <     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
1649 <     515,   516,    59,   125,   123,    61,    44
1468 >     465,   466,   467,   468,   469,   470,   471,   472,   473,    59,
1469 >     125,   123,    61,    44
1470   };
1471   # endif
1472  
1473   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1474   static const yytype_uint16 yyr1[] =
1475   {
1476 <       0,   267,   268,   268,   269,   269,   269,   269,   269,   269,
1477 <     269,   269,   269,   269,   269,   269,   269,   269,   269,   269,
1478 <     269,   269,   269,   269,   269,   269,   270,   270,   271,   271,
1479 <     271,   271,   271,   271,   272,   272,   273,   273,   273,   273,
1480 <     274,   275,   275,   276,   276,   276,   277,   278,   279,   280,
1481 <     280,   281,   281,   281,   281,   281,   281,   281,   281,   281,
1482 <     281,   281,   281,   281,   283,   282,   284,   284,   285,   285,
1483 <     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
1484 <     296,   297,   298,   298,   299,   299,   299,   299,   300,   301,
1485 <     302,   303,   304,   304,   305,   305,   305,   305,   305,   305,
1486 <     305,   305,   305,   305,   305,   305,   305,   306,   307,   308,
1487 <     309,   310,   311,   312,   313,   314,   315,   316,   316,   316,
1488 <     316,   316,   316,   316,   317,   319,   318,   320,   320,   321,
1489 <     321,   322,   322,   322,   322,   322,   322,   322,   322,   322,
1490 <     322,   322,   322,   322,   322,   322,   322,   322,   322,   322,
1491 <     322,   322,   322,   322,   323,   324,   325,   326,   327,   328,
1492 <     329,   331,   330,   332,   332,   333,   333,   333,   333,   333,
1493 <     333,   333,   333,   333,   333,   333,   333,   333,   333,   333,
1494 <     333,   333,   333,   333,   334,   335,   336,   337,   338,   339,
1495 <     340,   341,   342,   343,   344,   345,   346,   347,   349,   348,
1496 <     350,   350,   352,   351,   353,   351,   354,   354,   354,   354,
1497 <     354,   354,   354,   354,   354,   354,   354,   354,   354,   354,
1498 <     354,   354,   356,   355,   357,   357,   358,   358,   359,   359,
1499 <     359,   359,   359,   359,   359,   359,   359,   359,   359,   359,
1500 <     359,   359,   360,   361,   362,   363,   364,   365,   366,   367,
1501 <     368,   369,   370,   371,   372,   373,   375,   374,   377,   376,
1502 <     378,   378,   379,   379,   379,   380,   380,   381,   381,   381,
1503 <     381,   381,   383,   382,   384,   384,   385,   385,   386,   387,
1504 <     389,   388,   390,   390,   391,   391,   391,   391,   391,   391,
1505 <     391,   391,   391,   391,   391,   391,   391,   391,   391,   391,
1506 <     391,   392,   393,   394,   395,   396,   398,   397,   399,   399,
1507 <     401,   400,   402,   400,   403,   403,   403,   403,   403,   403,
1508 <     403,   403,   403,   403,   404,   405,   406,   407,   408,   409,
1509 <     410,   411,   412,   413,   415,   414,   416,   416,   417,   417,
1510 <     417,   417,   418,   419,   420,   422,   421,   423,   423,   424,
1511 <     424,   424,   424,   425,   426,   428,   427,   429,   429,   430,
1512 <     430,   430,   430,   430,   430,   430,   430,   430,   430,   430,
1513 <     432,   431,   433,   433,   434,   434,   434,   435,   437,   436,
1514 <     438,   438,   439,   439,   439,   439,   439,   439,   439,   439,
1515 <     439,   439,   439,   441,   440,   442,   442,   443,   443,   444,
1516 <     444,   444,   444,   444,   444,   444,   444,   444,   444,   444,
1517 <     444,   444,   444,   444,   444,   444,   444,   444,   444,   445,
1518 <     446,   447,   448,   449,   450,   451,   452,   452,   453,   455,
1519 <     454,   456,   456,   458,   457,   459,   457,   460,   460,   460,
1520 <     460,   460,   461,   462,   463,   464,   465,   466,   467,   468,
1521 <     469,   470,   472,   471,   474,   473,   475,   475,   476,   477,
1522 <     477,   478,   478,   478,   478,   479,   480,   482,   481,   483,
1523 <     483,   484,   484,   484,   485,   486,   487,   488,   488,   489,
1524 <     489,   490,   492,   491,   494,   493,   495,   495,   496,   497,
1525 <     497,   498,   498,   498,   498,   499,   500,   501,   502,   502,
1526 <     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
1527 <     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
1528 <     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
1529 <     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
1530 <     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
1531 <     503,   503,   503,   503,   503,   503,   503,   504,   505,   506,
1532 <     507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
1533 <     517,   518,   519,   520,   521,   522,   523,   524,   525,   526,
1534 <     527,   528,   529,   530,   531,   531,   532,   532,   533,   534,
1535 <     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
1536 <     545,   546,   547,   548,   549,   550,   551,   552,   554,   553,
1537 <     555,   555,   556,   556,   556,   556,   556,   556,   556,   556,
1538 <     556,   556,   556,   556,   556,   556,   556,   556,   556,   556,
1539 <     556,   558,   557,   559,   559,   560,   560,   560,   560,   560,
1720 <     560,   560,   560,   560,   560,   560,   560,   560,   560,   560,
1721 <     560,   560,   560,   560,   561,   562,   563,   564,   565,   567,
1722 <     566,   568,   568,   569,   569,   569,   569,   569,   569,   569,
1723 <     570,   571,   573,   572,   574,   574,   575,   575,   576,   577,
1724 <     579,   578,   580,   580,   581,   581,   582,   583,   583,   584,
1725 <     584,   584,   584,   584,   584,   584,   584,   584,   584,   584,
1726 <     584,   584,   584,   584,   584,   584,   584,   584,   585,   586,
1727 <     587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
1728 <     597,   598,   599,   600,   601,   602,   603,   604,   604,   605,
1729 <     605,   605,   605,   605,   605,   605,   605,   606,   607,   608,
1730 <     609,   610,   611,   612
1476 >       0,   224,   225,   225,   226,   226,   226,   226,   226,   226,
1477 >     226,   226,   226,   226,   226,   226,   226,   226,   226,   226,
1478 >     226,   226,   226,   226,   226,   226,   227,   227,   228,   228,
1479 >     228,   228,   228,   228,   229,   229,   230,   230,   230,   230,
1480 >     231,   232,   232,   233,   233,   233,   234,   235,   236,   237,
1481 >     237,   238,   238,   238,   238,   238,   238,   238,   238,   238,
1482 >     238,   238,   238,   238,   238,   238,   238,   239,   240,   241,
1483 >     241,   242,   242,   243,   243,   244,   244,   245,   246,   247,
1484 >     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1485 >     258,   259,   259,   260,   260,   260,   260,   261,   262,   263,
1486 >     264,   265,   265,   266,   266,   266,   267,   269,   268,   270,
1487 >     270,   271,   271,   271,   271,   272,   273,   273,   275,   274,
1488 >     276,   276,   277,   277,   277,   277,   277,   277,   277,   279,
1489 >     278,   280,   280,   281,   281,   281,   281,   281,   281,   281,
1490 >     281,   281,   282,   283,   284,   285,   286,   287,   289,   288,
1491 >     290,   290,   291,   291,   291,   291,   291,   291,   291,   291,
1492 >     291,   291,   291,   291,   291,   291,   291,   291,   291,   291,
1493 >     291,   291,   293,   292,   294,   294,   295,   295,   295,   295,
1494 >     295,   295,   295,   295,   295,   295,   295,   295,   295,   295,
1495 >     295,   295,   295,   295,   295,   297,   296,   298,   298,   299,
1496 >     299,   299,   299,   299,   299,   299,   299,   299,   299,   299,
1497 >     299,   299,   299,   299,   300,   301,   302,   303,   304,   305,
1498 >     306,   307,   308,   309,   310,   311,   312,   313,   315,   314,
1499 >     317,   316,   318,   318,   319,   319,   319,   320,   320,   321,
1500 >     321,   321,   321,   321,   323,   322,   324,   324,   325,   325,
1501 >     326,   327,   329,   328,   330,   330,   331,   331,   331,   331,
1502 >     331,   331,   331,   331,   331,   332,   333,   334,   335,   337,
1503 >     336,   338,   338,   339,   339,   339,   339,   339,   339,   339,
1504 >     339,   339,   340,   341,   342,   344,   343,   345,   345,   346,
1505 >     346,   346,   346,   347,   348,   349,   350,   351,   351,   352,
1506 >     352,   353,   355,   354,   356,   356,   357,   357,   357,   357,
1507 >     358,   359,   361,   360,   362,   362,   363,   363,   363,   363,
1508 >     363,   363,   363,   363,   363,   363,   365,   364,   366,   366,
1509 >     367,   367,   367,   368,   370,   369,   371,   371,   372,   372,
1510 >     372,   372,   372,   372,   372,   372,   372,   372,   374,   373,
1511 >     375,   375,   376,   376,   376,   376,   376,   376,   376,   376,
1512 >     376,   376,   376,   376,   376,   376,   377,   378,   379,   380,
1513 >     381,   382,   383,   383,   385,   384,   386,   386,   387,   387,
1514 >     388,   389,   390,   391,   392,   394,   393,   396,   395,   397,
1515 >     397,   398,   399,   399,   400,   400,   400,   400,   401,   402,
1516 >     404,   403,   405,   405,   406,   406,   406,   407,   408,   409,
1517 >     410,   410,   411,   411,   412,   414,   413,   416,   415,   417,
1518 >     417,   418,   419,   419,   420,   420,   420,   420,   421,   422,
1519 >     423,   424,   424,   425,   425,   425,   425,   425,   425,   425,
1520 >     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
1521 >     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
1522 >     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
1523 >     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
1524 >     425,   425,   425,   425,   425,   425,   425,   426,   427,   428,
1525 >     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
1526 >     439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
1527 >     449,   450,   451,   452,   453,   454,   455,   455,   456,   456,
1528 >     457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
1529 >     467,   468,   469,   470,   471,   472,   473,   475,   474,   476,
1530 >     476,   477,   477,   477,   477,   477,   477,   477,   477,   477,
1531 >     477,   477,   477,   477,   477,   477,   477,   477,   477,   477,
1532 >     477,   479,   478,   480,   480,   481,   481,   481,   481,   481,
1533 >     481,   481,   481,   481,   481,   481,   481,   481,   481,   481,
1534 >     481,   481,   481,   481,   481,   482,   483,   484,   485,   486,
1535 >     486,   487,   487,   487,   487,   487,   487,   487,   487,   487,
1536 >     487,   487,   487,   487,   487,   487,   488,   489,   490,   491,
1537 >     492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
1538 >     502,   503,   503,   504,   504,   504,   504,   504,   504,   504,
1539 >     505,   506,   507,   508,   509,   510
1540   };
1541  
1542   /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1739 | Line 1548 | static const yytype_uint8 yyr2[] =
1548         3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1549         5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1550         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1551 <       1,     1,     1,     2,     0,     5,     3,     1,     1,     1,
1551 >       1,     1,     1,     1,     1,     1,     2,     4,     4,     3,
1552 >       1,     1,     1,     3,     1,     1,     1,     4,     4,     4,
1553         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1554 <       4,     5,     2,     1,     1,     1,     1,     2,     4,     4,
1555 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1556 <       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
1557 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1558 <       4,     4,     4,     4,     4,     0,     7,     0,     1,     2,
1559 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1750 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1751 <       1,     1,     1,     2,     4,     1,     4,     4,     4,     4,
1752 <       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1753 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1754 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1755 <       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
1756 <       3,     1,     0,     3,     0,     2,     1,     1,     1,     1,
1757 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1758 <       1,     1,     0,     7,     0,     1,     2,     1,     1,     1,
1759 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1760 <       1,     2,     4,     1,     4,     4,     4,     4,     4,     4,
1761 <       4,     4,     4,     4,     4,     4,     0,     6,     0,     5,
1762 <       3,     1,     1,     1,     1,     2,     1,     1,     1,     1,
1763 <       1,     2,     0,     5,     3,     1,     1,     3,     4,     4,
1764 <       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1765 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1766 <       2,     4,     4,     4,     4,     4,     0,     5,     3,     1,
1767 <       0,     3,     0,     2,     1,     1,     1,     1,     1,     1,
1768 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1769 <       4,     4,     4,     4,     0,     6,     2,     1,     1,     1,
1770 <       1,     2,     4,     4,     4,     0,     6,     2,     1,     1,
1771 <       1,     1,     2,     4,     4,     0,     5,     3,     1,     1,
1772 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1773 <       0,     6,     2,     1,     1,     1,     2,     4,     0,     5,
1554 >       5,     2,     1,     1,     1,     1,     2,     4,     4,     4,
1555 >       5,     2,     1,     1,     1,     2,     4,     0,     6,     2,
1556 >       1,     1,     1,     1,     2,     4,     4,     4,     0,     5,
1557 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1558 >       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1559 >       1,     2,     4,     4,     4,     4,     4,     4,     0,     5,
1560         3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1775       1,     1,     1,     0,     7,     0,     1,     2,     1,     1,
1561         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1562 <       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
1563 <       1,     4,     4,     4,     4,     4,     4,     4,     4,     0,
1564 <       5,     3,     1,     0,     3,     0,     2,     1,     1,     1,
1780 <       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
1781 <       4,     4,     0,     6,     0,     5,     3,     1,     1,     2,
1782 <       1,     1,     1,     1,     1,     4,     4,     0,     6,     2,
1783 <       1,     1,     1,     1,     4,     4,     5,     2,     1,     1,
1784 <       1,     4,     0,     6,     0,     5,     3,     1,     1,     2,
1785 <       1,     1,     1,     1,     1,     4,     4,     5,     2,     1,
1562 >       1,     1,     0,     5,     3,     1,     1,     1,     1,     1,
1563 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1564 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1565         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1566 +       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
1567 +       4,     4,     4,     4,     4,     4,     4,     4,     0,     6,
1568 +       0,     5,     3,     1,     1,     1,     1,     2,     1,     1,
1569 +       1,     1,     1,     2,     0,     5,     3,     1,     1,     3,
1570 +       4,     4,     0,     6,     2,     1,     1,     1,     1,     1,
1571 +       1,     1,     1,     1,     2,     4,     4,     4,     4,     0,
1572 +       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1573 +       1,     1,     4,     4,     4,     0,     6,     2,     1,     1,
1574 +       1,     1,     2,     4,     4,     4,     5,     2,     1,     1,
1575 +       1,     4,     0,     6,     2,     1,     1,     1,     1,     2,
1576 +       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1577 +       1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
1578 +       1,     1,     2,     4,     0,     5,     3,     1,     1,     1,
1579 +       1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
1580 +       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1581 +       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
1582 +       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1583 +       4,     4,     4,     4,     4,     0,     6,     0,     5,     3,
1584 +       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1585 +       0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
1586 +       2,     1,     1,     1,     4,     0,     6,     0,     5,     3,
1587 +       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1588 +       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1589         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1590         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1591         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
# Line 1793 | Line 1595 | static const yytype_uint8 yyr2[] =
1595         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1596         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1597         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1598 <       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
1599 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1598 >       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
1599 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1600         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1601         1,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1602         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1603 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     0,
1802 <       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1803 <       4,     4,     0,     5,     3,     1,     1,     1,     4,     4,
1804 <       0,     5,     3,     1,     1,     1,     5,     2,     1,     1,
1603 >       1,     1,     1,     1,     1,     4,     4,     4,     5,     2,
1604         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1605 <       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1605 >       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
1606         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1607 <       4,     4,     4,     4,     4,     4,     5,     2,     1,     1,
1608 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1810 <       4,     4,     4,     4
1607 >       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1608 >       4,     4,     4,     4,     4,     4
1609   };
1610  
1611 < /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1612 <   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1611 > /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1612 >   Performed when YYTABLE doesn't specify something else to do.  Zero
1613     means the default is an error.  */
1614   static const yytype_uint16 yydefact[] =
1615   {
1616 <       2,     0,     1,     0,     0,     0,   222,   393,   467,     0,
1617 <     482,     0,   659,   280,   452,   256,     0,     0,   125,   334,
1618 <       0,     0,   345,   370,     3,    23,    11,     4,     5,     6,
1616 >       2,     0,     1,     0,     0,     0,   195,   348,   400,     0,
1617 >     415,     0,   252,   385,   228,     0,     0,   129,   285,     0,
1618 >       0,   302,   326,     0,     3,    23,    11,     4,     5,     6,
1619         8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1620 <      22,    20,    21,     7,    12,    24,    25,     0,     0,   224,
1823 <     395,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1824 <       0,   127,     0,     0,     0,     0,     0,     0,     0,     0,
1825 <       0,     0,    83,    84,    86,    85,   707,     0,     0,     0,
1826 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1827 <       0,     0,     0,     0,     0,     0,   688,   706,   701,   689,
1828 <     690,   691,   692,   694,   695,   696,   697,   693,   698,   699,
1829 <     700,   702,   703,   704,   705,   243,     0,   225,   420,     0,
1830 <     396,     0,   480,     0,     0,   478,   479,     0,   556,     0,
1831 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1832 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1833 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1834 <       0,     0,   631,     0,   608,     0,     0,     0,     0,     0,
1835 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1836 <       0,     0,     0,     0,     0,     0,   499,   555,   550,   551,
1837 <     548,   552,   553,   549,   510,   500,   501,   539,   502,   503,
1838 <     504,   505,   506,   507,   508,   509,   544,   511,   512,   513,
1839 <     514,   554,   516,   521,   517,   519,   518,   533,   534,   520,
1840 <     522,   523,   524,   525,   527,   526,   515,   529,   538,   540,
1841 <     541,   530,   531,   546,   547,   543,   532,   528,   536,   537,
1842 <     535,   542,   545,     0,     0,     0,     0,     0,     0,     0,
1843 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1844 <       0,    93,    94,    95,    98,   105,    99,   103,   100,   101,
1845 <     104,   102,    96,    97,     0,     0,     0,     0,    42,    43,
1846 <      44,   155,     0,   128,     0,   736,     0,     0,     0,     0,
1847 <       0,     0,     0,     0,   728,   729,   730,   734,   731,   733,
1848 <     732,   735,     0,     0,     0,     0,     0,     0,     0,     0,
1849 <      64,     0,     0,     0,     0,     0,    50,    62,    61,    58,
1850 <      51,    60,    54,    55,    56,    52,    59,    57,    53,     0,
1851 <       0,    87,     0,     0,     0,     0,    82,     0,     0,     0,
1620 >      20,    22,    21,     7,    12,    24,    25,     0,     0,     0,
1621         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1853       0,     0,     0,     0,     0,     0,   687,     0,     0,   473,
1854       0,     0,     0,   470,   471,   472,     0,     0,   477,   494,
1855       0,     0,   484,   493,     0,   490,   491,   492,     0,     0,
1622         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1623 +       0,     0,    92,    93,    95,    94,   605,     0,     0,     0,
1624         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1625 +       0,     0,   590,   604,   600,   592,   593,   594,   595,   596,
1626 +     591,   597,   598,   599,   601,   602,   603,     0,     0,     0,
1627 +     413,     0,     0,   411,   412,     0,   486,     0,     0,     0,
1628         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1629         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1630 +       0,     0,     0,     0,     0,     0,     0,     0,   561,     0,
1631 +     537,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1632         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1633 <       0,     0,     0,     0,     0,   498,   669,   680,     0,     0,
1634 <     672,     0,     0,     0,   662,   663,   664,   665,   666,   667,
1635 <     668,     0,     0,     0,     0,     0,   306,     0,     0,     0,
1636 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   283,
1637 <     284,   285,   294,   286,   299,   287,   288,   289,   290,   297,
1638 <     291,   292,   293,   295,   296,   298,   464,     0,   454,     0,
1639 <     463,     0,   460,   461,   462,     0,   258,     0,     0,     0,
1640 <     268,     0,   266,   267,   269,   270,   106,     0,     0,     0,
1633 >       0,   432,   484,   476,   477,   478,   479,   480,   481,   482,
1634 >     475,   443,   433,   434,   470,   435,   436,   437,   438,   439,
1635 >     440,   441,   442,   472,   444,   445,   446,   447,   483,   449,
1636 >     454,   450,   452,   451,   465,   466,   453,   455,   456,   457,
1637 >     458,   459,   448,   461,   462,   463,   485,   473,   474,   471,
1638 >     464,   460,   468,   469,   467,     0,     0,     0,     0,     0,
1639 >       0,   102,   103,   104,     0,     0,     0,     0,     0,    42,
1640 >      43,    44,     0,     0,   629,     0,     0,     0,     0,     0,
1641 >       0,     0,   622,   623,   624,   627,   625,   626,   628,     0,
1642         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1643 <      92,    45,     0,     0,     0,    41,     0,     0,     0,     0,
1644 <       0,     0,   337,   338,   339,   340,     0,     0,     0,     0,
1645 <       0,     0,     0,     0,   727,    63,     0,     0,     0,     0,
1646 <       0,     0,     0,     0,     0,     0,     0,     0,     0,    49,
1874 <       0,     0,   355,     0,     0,   348,   349,   350,   351,     0,
1875 <       0,   378,     0,   373,   374,   375,     0,     0,     0,    81,
1876 <       0,     0,     0,     0,     0,    26,     0,     0,     0,     0,
1877 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   686,
1643 >       0,     0,     0,     0,     0,     0,    50,    63,    64,    62,
1644 >      59,    58,    65,    51,    61,    54,    55,    56,    52,    60,
1645 >      57,    53,     0,     0,   300,     0,     0,   298,   299,    96,
1646 >       0,     0,     0,     0,    91,     0,     0,     0,     0,     0,
1647         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1648 <       0,     0,     0,     0,     0,   227,   228,   231,   232,   234,
1649 <     235,   236,   237,   238,   239,   240,   229,   230,   233,     0,
1650 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   429,
1648 >     589,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1649 >       0,     0,     0,     0,     0,     0,     0,   198,   199,   202,
1650 >     203,   205,   206,   207,   208,   209,   210,   211,   212,   200,
1651 >     201,   204,     0,     0,     0,     0,     0,   374,     0,     0,
1652 >       0,     0,     0,     0,     0,     0,     0,   351,   352,   353,
1653 >     354,   355,   356,   358,   357,   360,   364,   361,   362,   363,
1654 >     359,   406,     0,     0,     0,   403,   404,   405,     0,     0,
1655 >     410,   427,     0,     0,   417,   426,     0,   423,   424,   425,
1656         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1883     398,   399,   400,   401,   402,   403,   405,   404,   406,   407,
1884     415,   412,   414,   413,   411,   417,   408,   409,   410,   416,
1885       0,     0,     0,   469,     0,   476,     0,     0,     0,     0,
1886     489,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1657         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1658         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1659         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1660         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1661 <       0,     0,     0,    34,     0,     0,     0,     0,     0,     0,
1662 <     497,     0,     0,     0,     0,     0,     0,     0,   661,   300,
1661 >       0,     0,     0,     0,   431,     0,     0,     0,   269,     0,
1662 >       0,     0,     0,     0,     0,   255,   256,   257,   258,   263,
1663 >     259,   260,   261,   262,   397,     0,   387,     0,   396,     0,
1664 >     393,   394,   395,     0,   230,     0,     0,     0,   240,     0,
1665 >     238,   239,   241,   242,   105,     0,     0,   101,     0,    45,
1666 >       0,     0,     0,    41,     0,     0,     0,   172,     0,     0,
1667 >       0,   148,     0,     0,   132,   133,   134,   135,   138,   139,
1668 >     137,   136,   140,     0,     0,     0,     0,     0,   288,   289,
1669 >     290,   291,     0,     0,     0,     0,     0,     0,     0,   621,
1670 >      66,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1671 >       0,     0,     0,     0,     0,     0,     0,    49,     0,     0,
1672 >     312,     0,     0,   305,   306,   307,   308,     0,     0,   334,
1673 >       0,   329,   330,   331,     0,     0,   297,     0,     0,     0,
1674 >      90,     0,     0,     0,    26,     0,     0,     0,     0,     0,
1675 >       0,     0,     0,     0,     0,     0,   588,   213,     0,     0,
1676         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1677 <       0,     0,     0,     0,     0,     0,     0,   282,     0,     0,
1678 <       0,     0,   459,   271,     0,     0,     0,     0,     0,   265,
1677 >       0,     0,     0,   197,   365,     0,     0,     0,     0,     0,
1678 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   350,
1679 >       0,     0,     0,   402,     0,   409,     0,     0,     0,     0,
1680 >     422,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1681         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1897       0,     0,     0,     0,     0,     0,     0,     0,    91,     0,
1898       0,    40,     0,     0,     0,     0,     0,   198,     0,     0,
1682         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1900       0,   161,     0,     0,     0,     0,   130,   131,   132,   133,
1901     150,   151,   137,   136,   138,   139,   145,   140,   141,   142,
1902     143,   144,   146,   147,   148,   134,   135,   149,   152,   341,
1903       0,     0,     0,     0,   336,     0,     0,     0,     0,     0,
1904       0,     0,   726,     0,     0,     0,     0,     0,     0,     0,
1905       0,     0,     0,     0,     0,    48,   352,     0,     0,     0,
1906       0,   347,   376,     0,     0,     0,   372,    90,    89,    88,
1907     723,   720,   719,   708,   710,    26,    26,    26,    26,    26,
1908      28,    27,   714,   715,   718,   716,   721,   722,   724,   725,
1909     717,   709,   711,   712,   713,   241,     0,     0,     0,     0,
1683         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1911     226,   418,     0,     0,     0,     0,     0,     0,     0,     0,
1684         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1685 <       0,     0,   397,     0,     0,   468,   481,     0,     0,     0,
1686 <     483,   569,   573,   560,   589,   602,   601,   656,   606,   567,
1687 <     658,   598,   604,   568,   558,   559,   576,   565,   597,   566,
1688 <     579,   564,   578,   577,   572,   571,   570,   599,   557,   596,
1689 <     654,   655,   593,   590,   635,   651,   652,   636,   637,   638,
1690 <     639,   646,   640,   649,   653,   642,   647,   643,   648,   641,
1691 <     645,   644,   650,     0,   634,   595,   612,   628,   629,   613,
1692 <     614,   615,   616,   623,   617,   626,   630,   619,   624,   620,
1693 <     625,   618,   622,   621,   627,     0,   611,   588,   591,   605,
1694 <     562,   600,   563,   592,   581,   586,   587,   584,   585,   582,
1695 <     583,   575,   574,    34,    34,    34,    36,    35,   657,   607,
1696 <     594,   603,   561,   580,     0,     0,     0,     0,     0,     0,
1925 <     660,     0,     0,     0,     0,   312,     0,     0,     0,     0,
1926 <       0,     0,     0,     0,     0,     0,     0,   281,     0,     0,
1927 <       0,   453,     0,     0,     0,   276,   272,   275,   257,   110,
1928 <     116,   114,   113,   115,   111,   112,   109,   117,   123,   118,
1929 <     122,   120,   121,   119,   108,   107,   124,    46,    47,   153,
1685 >       0,     0,     0,     0,     0,     0,   430,   264,     0,     0,
1686 >       0,     0,     0,     0,     0,     0,     0,   254,     0,     0,
1687 >       0,     0,   392,   243,     0,     0,     0,     0,     0,   237,
1688 >       0,   100,     0,     0,     0,    40,   141,     0,     0,     0,
1689 >       0,     0,     0,     0,     0,     0,   131,   292,     0,     0,
1690 >       0,     0,   287,     0,     0,     0,     0,     0,     0,   620,
1691 >       0,     0,     0,     0,     0,     0,     0,     0,    71,    72,
1692 >       0,    70,    75,    76,     0,    74,     0,     0,     0,     0,
1693 >       0,    48,   309,     0,     0,     0,     0,   304,   332,     0,
1694 >       0,     0,   328,     0,   296,    99,    98,    97,   615,   614,
1695 >     606,    26,    26,    26,    26,    26,    28,    27,   608,   609,
1696 >     613,   611,   610,   616,   617,   618,   619,   612,   607,     0,
1697         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1698 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1699 <       0,     0,     0,   129,     0,     0,     0,   335,   742,   737,
1700 <     741,   739,   743,   738,   740,    74,    80,    72,    76,    75,
1701 <      71,    70,    68,    69,     0,    67,    73,    79,    77,    78,
1702 <       0,     0,     0,   346,     0,     0,   371,    29,    30,    31,
1703 <      32,    33,     0,     0,     0,     0,     0,     0,     0,     0,
1704 <       0,     0,     0,     0,     0,   223,     0,     0,     0,     0,
1705 <       0,     0,     0,     0,     0,     0,   435,     0,     0,     0,
1706 <       0,     0,     0,     0,     0,     0,   394,   474,   475,   495,
1707 <     496,   488,     0,   487,   632,     0,   609,     0,    37,    38,
1708 <      39,   685,   684,     0,   683,   671,   670,   677,   676,     0,
1709 <     675,   679,   678,   327,   304,   305,   326,   310,     0,   309,
1710 <       0,   329,   325,   324,   333,   328,   302,   332,   331,   330,
1711 <     303,   301,   466,   458,     0,   457,   465,   263,   264,   262,
1712 <       0,   261,   279,   278,     0,     0,     0,     0,     0,     0,
1713 <       0,   204,     0,     0,     0,     0,     0,     0,     0,     0,
1714 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   126,
1715 <     343,   344,   342,    65,     0,   353,   359,   365,   369,   368,
1716 <     367,   364,   360,   363,   366,   361,   362,     0,   358,   354,
1717 <     377,   382,   388,   392,   391,   390,   387,   383,   386,   389,
1718 <     384,   385,     0,   381,   253,   254,   247,   249,   251,   250,
1719 <     248,   242,   255,   246,   244,   245,   252,   424,   426,   427,
1720 <     446,   451,   450,   445,   444,   443,   428,   433,     0,   432,
1721 <       0,   421,   448,   449,   419,   425,   442,   423,   447,   422,
1722 <     485,     0,   633,   610,   681,     0,   673,     0,     0,   307,
1723 <     312,   318,   319,   315,   321,   317,   316,   323,   320,   322,
1724 <     314,   313,   455,     0,   259,     0,   277,   274,   273,   194,
1725 <     160,   192,   158,   202,     0,   201,     0,   190,   184,   195,
1726 <     196,   187,   154,   191,   157,   193,   185,   186,   159,   197,
1727 <     165,   181,   182,   166,   167,   168,   169,   176,   170,   179,
1728 <     183,   172,   177,   173,   178,   171,   175,   174,   180,     0,
1729 <     164,   189,   156,   188,    66,   356,     0,   379,     0,     0,
1730 <     430,   435,   439,   440,   437,   438,   441,   436,   486,   682,
1731 <     674,   311,   308,   456,   260,     0,   199,   204,   214,   212,
1732 <     221,   211,   206,   215,   219,   208,   216,   218,   213,   207,
1733 <     220,   217,   209,   210,   205,   162,     0,   357,   380,   434,
1734 <     431,   203,   200,   163
1698 >       0,    34,     0,     0,   196,     0,     0,     0,     0,     0,
1699 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   349,
1700 >       0,     0,   401,   414,     0,     0,     0,   416,   501,   505,
1701 >     521,   587,   535,   499,   529,   532,   500,   489,   488,   490,
1702 >     491,   492,   508,   497,   498,   511,   496,   510,   509,   504,
1703 >     503,   502,   530,   487,   528,   585,   586,   525,   522,   572,
1704 >     565,   582,   583,   566,   567,   568,   569,   577,   570,   580,
1705 >     584,   573,   578,   574,   579,   571,   576,   575,   581,     0,
1706 >     564,   527,   547,   541,   558,   559,   542,   543,   544,   545,
1707 >     553,   546,   556,   560,   549,   554,   550,   555,   548,   552,
1708 >     551,   557,     0,   540,   520,   523,   534,   494,   495,   524,
1709 >     513,   518,   519,   516,   517,   514,   515,   507,   506,   533,
1710 >     536,   526,   531,   493,   512,     0,     0,     0,     0,     0,
1711 >       0,     0,     0,   253,     0,     0,     0,   386,     0,     0,
1712 >       0,   248,   244,   247,   229,   106,     0,     0,   118,     0,
1713 >       0,   110,   111,   113,   112,    46,    47,     0,     0,     0,
1714 >       0,     0,     0,     0,     0,   130,     0,     0,     0,   286,
1715 >     630,   634,   632,   635,   631,   633,    83,    89,    81,    85,
1716 >      84,    78,    77,    79,    67,     0,    68,     0,    82,    80,
1717 >      88,    86,    87,     0,     0,     0,   303,     0,     0,   327,
1718 >     301,    29,    30,    31,    32,    33,   225,   226,   218,   220,
1719 >     222,   221,   219,   214,   227,   217,   215,   216,    34,    34,
1720 >      34,    36,    35,   223,   224,   370,   372,   373,   383,   380,
1721 >     378,   379,     0,   377,   367,   381,   382,   366,   371,   369,
1722 >     384,   368,   407,   408,   428,   429,   421,     0,   420,   562,
1723 >       0,   538,     0,   267,   268,   277,   274,   279,   276,   275,
1724 >     281,   278,   280,   273,     0,   272,   266,   284,   283,   282,
1725 >     265,   399,   391,     0,   390,   398,   235,   236,   234,     0,
1726 >     233,   251,   250,     0,     0,     0,   114,     0,     0,     0,
1727 >       0,   109,   147,   145,   187,   184,   183,   176,   178,   194,
1728 >     188,   191,   186,   177,   192,   180,   189,   193,   181,   190,
1729 >     185,   179,   182,     0,   175,   142,   144,   146,   158,   152,
1730 >     169,   170,   153,   154,   155,   156,   164,   157,   167,   171,
1731 >     160,   165,   161,   166,   159,   163,   162,   168,     0,   151,
1732 >     143,   294,   295,   293,    69,    73,   310,   316,   322,   325,
1733 >     318,   324,   319,   323,   321,   317,   320,     0,   315,   311,
1734 >     333,   338,   344,   347,   340,   346,   341,   345,   343,   339,
1735 >     342,     0,   337,    37,    38,    39,   375,     0,   418,     0,
1736 >     563,   539,   270,     0,   388,     0,   231,     0,   249,   246,
1737 >     245,     0,     0,     0,     0,   108,   173,     0,   149,     0,
1738 >     313,     0,   335,     0,   376,   419,   271,   389,   232,   115,
1739 >     124,   127,   126,   123,   128,   125,   122,     0,   121,   117,
1740 >     116,   174,   150,   314,   336,   119,     0,   120
1741   };
1742  
1743   /* YYDEFGOTO[NTERM-NUM].  */
1744   static const yytype_int16 yydefgoto[] =
1745   {
1746 <      -1,     1,    24,   900,   901,  1056,  1057,    25,   277,   278,
1747 <     279,   280,    26,   315,   316,   317,   553,  1164,  1165,   318,
1748 <     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
1749 <      27,    71,    72,    73,    74,    75,    28,   260,   261,   262,
1750 <     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
1751 <     273,    29,    61,   282,   825,   826,   827,   283,   828,   829,
1752 <     830,   831,   832,   833,  1138,  1439,  1440,   834,   835,   836,
1753 <     837,   838,   839,   840,   841,   842,   843,   844,   845,   846,
1754 <     847,   848,  1124,  1404,  1405,  1465,  1406,  1484,    30,    49,
1755 <     116,   614,   615,   616,   117,   617,   618,   619,   620,   621,
1756 <     622,   623,   624,   625,   626,   627,   628,    31,    58,   500,
1757 <     774,  1270,  1271,   501,   502,   503,  1276,  1096,  1097,   504,
1758 <     505,    32,    56,   468,   469,   470,   471,   472,   473,   474,
1759 <     475,   754,  1248,  1249,  1378,  1250,  1391,   476,   477,   478,
1760 <     479,   480,   481,   482,   483,   484,   485,    33,    62,   531,
1761 <     532,   533,   534,   535,    34,    65,   564,   565,   566,   567,
1762 <     568,   878,  1317,  1318,    35,    66,   572,   573,   574,   575,
1763 <     884,  1332,  1333,    36,    50,   119,   649,   650,   651,   120,
1764 <     652,   653,   654,   655,   656,   657,   658,   659,   941,  1358,
1765 <    1359,  1449,  1360,  1457,   660,   661,   662,   663,   664,   665,
1766 <     666,   667,   668,   669,    37,    57,   490,   769,  1264,  1265,
1767 <     491,   492,   493,   494,    38,    51,   362,   363,   364,   365,
1995 <      39,   124,   125,   126,    40,    53,   373,   678,  1222,  1223,
1996 <     374,   375,   376,   377,    41,   185,   186,   187,   188,   189,
1746 >      -1,     1,    24,   796,   797,  1041,  1042,    25,   238,   239,
1747 >     240,   241,    26,   275,   276,   277,   278,   760,   761,   764,
1748 >     765,   279,   280,   281,   282,   283,   284,   285,   286,   287,
1749 >     288,   289,   290,   291,    27,    71,    72,    73,    74,    75,
1750 >      28,   230,   231,   232,   233,   234,   970,   971,   972,   973,
1751 >     974,  1108,  1237,  1238,    29,    60,   513,   514,   515,   516,
1752 >     517,   518,   519,   520,   521,   733,  1158,  1159,   522,   729,
1753 >    1133,  1134,    30,    49,   336,   337,   338,   339,   340,   341,
1754 >     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
1755 >      31,    57,   488,   714,  1099,  1100,   489,   490,   491,  1105,
1756 >     962,   963,   492,   493,    32,    55,   464,   465,   466,   467,
1757 >     468,   469,   470,   700,  1084,  1085,   471,   472,   473,    33,
1758 >      61,   527,   528,   529,   530,   531,    34,   296,   297,   298,
1759 >      35,    64,   562,   563,   564,   565,   566,   774,  1177,  1178,
1760 >      36,    65,   570,   571,   572,   573,   780,  1191,  1192,    37,
1761 >      50,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1762 >     375,   619,  1052,  1053,   376,   377,   378,   379,   380,    38,
1763 >      56,   478,   709,  1093,  1094,   479,   480,   481,   482,    39,
1764 >      51,   384,   385,   386,   387,    40,   112,   113,   114,    41,
1765 >      53,   395,   638,  1067,  1068,   396,   397,   398,   399,    42,
1766 >     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1767 >     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1768       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1769       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1770       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1771 <     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1772 <     230,   231,   232,   233,   234,   235,   236,   413,  1035,  1036,
1773 <     237,   411,  1013,  1014,   238,   239,   240,   241,   242,    42,
1774 <      55,   443,   444,   445,   446,   447,   744,  1239,  1240,   448,
2004 <     449,   450,   741,  1233,  1234,    43,    95,    96,    97,    98,
2005 <      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
2006 <     109,   110,   111,   112,   113,   114,    44,   293,   294,   295,
2007 <     296,   297,   298,   299,   300,   301
1771 >     220,   433,   922,   923,   221,   431,   899,   900,   222,   223,
1772 >     224,    43,    91,    92,    93,    94,    95,    96,    97,    98,
1773 >      99,   100,   101,   102,   103,   104,   105,   106,    44,   251,
1774 >     252,   253,   254,   255,   256,   257,   258
1775   };
1776  
1777   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1778     STATE-NUM.  */
1779 < #define YYPACT_NINF -952
1779 > #define YYPACT_NINF -861
1780   static const yytype_int16 yypact[] =
1781   {
1782 <    -952,   888,  -952,  -233,  -260,  -258,  -952,  -952,  -952,  -255,
1783 <    -952,  -253,  -952,  -952,  -952,  -952,  -250,  -237,  -952,  -952,
1784 <    -228,  -226,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1785 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1786 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,   302,   766,  -136,
1787 <    -112,  -199,    17,  -193,   475,  -190,  -187,  -173,  -167,   702,
1788 <       2,   -46,  -149,   361,   520,  -140,  -134,  -130,  -121,  -102,
1789 <     -84,     4,  -952,  -952,  -952,  -952,  -952,   -82,   -77,   -62,
1790 <     -57,   -51,   -33,   -30,   -25,   -16,    -5,    -4,    20,    24,
1791 <      37,    40,    46,    49,    59,   286,  -952,  -952,  -952,  -952,
1792 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1793 <    -952,  -952,  -952,  -952,  -952,  -952,    36,  -952,  -952,    63,
1794 <    -952,    19,  -952,    70,     7,  -952,  -952,   159,  -952,    71,
1795 <      76,    79,    84,    91,    98,   104,   105,   107,   108,   109,
1796 <     112,   113,   114,   116,   117,   118,   121,   125,   126,   130,
1797 <     132,   136,   140,   142,   144,   146,   148,   153,   155,   157,
1798 <     161,   164,  -952,   165,  -952,   169,   170,   171,   172,   173,
1799 <     181,   184,   185,   194,   196,   198,   199,   200,   201,   204,
1800 <     206,   209,   210,   212,   213,    23,  -952,  -952,  -952,  -952,
1801 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1802 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1803 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1804 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1805 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1806 <    -952,  -952,  -952,   552,   784,    93,    88,   217,   215,   216,
1807 <     220,   224,   225,   226,   227,   231,   232,   234,   235,   239,
1808 <     133,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1809 <    -952,  -952,  -952,  -952,   243,   241,   245,    27,  -952,  -952,
1810 <    -952,  -952,   247,  -952,    25,  -952,   248,   250,   252,   259,
1811 <     260,   261,   266,    45,  -952,  -952,  -952,  -952,  -952,  -952,
1812 <    -952,  -952,   271,   269,   270,   272,   276,   278,   279,   280,
1813 <    -952,   281,   285,   289,   290,   303,  -952,  -952,  -952,  -952,
1814 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,    56,
1815 <      62,  -952,   357,   381,   396,   296,  -952,   363,   434,   436,
1816 <     374,   375,   444,   444,   449,   450,   387,   390,   462,   444,
1817 <     397,   400,   403,   404,   405,   318,  -952,   634,   703,  -952,
1818 <     342,   343,    15,  -952,  -952,  -952,   454,   348,  -952,  -952,
1819 <     346,   353,  -952,  -952,   158,  -952,  -952,  -952,   414,   444,
1820 <     421,   444,   494,   476,   497,   433,   435,   437,   500,   483,
1821 <     440,   510,   513,   514,   451,   444,   452,   453,   516,   499,
1822 <     461,   529,   530,   444,   533,   542,   512,   543,   546,   481,
1823 <     482,   417,   484,   419,   444,   444,   486,   444,   536,   489,
1824 <     493,   495,  -150,  -141,   496,   498,   444,   444,   560,   444,
1825 <     501,   503,   509,   511,   455,  -952,  -952,  -952,   446,   456,
1826 <    -952,   457,   459,    44,  -952,  -952,  -952,  -952,  -952,  -952,
1827 <    -952,   463,   467,   468,   485,   487,  -952,   490,   506,   507,
1828 <     508,   519,   524,   526,   527,   531,   532,   544,   160,  -952,
1829 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1830 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,   548,  -952,   550,
1831 <    -952,    12,  -952,  -952,  -952,   465,  -952,   551,   553,   554,
1832 <    -952,    14,  -952,  -952,  -952,  -952,  -952,   557,   559,   561,
1833 <     564,   585,   586,   591,   592,   230,   596,   613,   577,   537,
1834 <    -952,  -952,   640,   643,   549,  -952,   574,   555,   556,   562,
1835 <     563,    32,  -952,  -952,  -952,  -952,   623,   630,   631,   665,
1836 <     632,   633,   444,   575,  -952,  -952,   681,   639,   685,   688,
1837 <     689,   690,   691,   582,   693,   565,   694,   695,   589,  -952,
1838 <     590,   593,  -952,   594,     9,  -952,  -952,  -952,  -952,   601,
1839 <     607,  -952,    33,  -952,  -952,  -952,   604,   614,   615,  -952,
1840 <     616,   619,   620,   624,   625,   189,   628,   629,   635,   636,
1841 <     637,   638,   641,   642,   644,   646,   647,   651,   654,  -952,
1842 <     656,   610,   618,   627,   655,   660,   661,   662,   663,   664,
1843 <     667,   669,   670,   671,   223,  -952,  -952,  -952,  -952,  -952,
1844 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,   657,
1845 <     672,   673,   674,   676,   679,   680,   683,   684,   686,  -952,
1846 <     687,   696,   697,   699,   700,   701,   704,   705,   706,   238,
1847 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1848 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1849 <     730,   741,   659,  -952,   668,  -952,   746,   747,   707,   711,
1850 <    -952,   712,   713,   716,   717,   719,   720,   721,   722,   723,
1851 <     724,   725,   726,   727,   729,   731,   732,   733,   734,   735,
1852 <     736,   737,   738,   739,   740,   742,   743,   744,   745,   748,
1853 <     749,   750,   751,   752,   815,   753,   871,   754,   755,   767,
1854 <     771,   774,   775,   776,   777,   778,   779,   780,   781,   782,
1855 <     786,   790,   791,   315,   793,   794,   796,   797,   798,   800,
1856 <    -952,   799,   444,   756,   801,   795,   803,   805,  -952,  -952,
1857 <     760,   812,   769,   804,   807,   809,   864,   866,   869,   870,
1858 <     918,   566,   919,   927,   886,   934,   828,  -952,   937,   829,
1859 <     938,   833,  -952,  -952,   831,   942,   943,   772,   837,  -952,
1860 <     838,   842,   846,   847,   849,   850,   857,   860,   865,   867,
1861 <     868,   872,   873,   874,   875,   879,   883,   884,  -952,   887,
1862 <     889,  -952,   890,   861,   891,   892,   893,  -952,   894,   895,
1863 <     896,   897,   898,   899,   900,   901,   902,   903,   904,   905,
1864 <     906,  -952,   907,   909,   910,   149,  -952,  -952,  -952,  -952,
1865 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1866 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1867 <     976,   977,   978,   911,  -952,   914,   915,   916,   917,   920,
1868 <     921,   922,  -952,   923,   924,   925,   926,   928,   929,   930,
1869 <     -15,   931,   932,   933,   935,  -952,  -952,   993,   936,   998,
1870 <     940,  -952,  -952,   999,   939,   941,  -952,  -952,  -952,  -952,
1871 <    -952,  -952,  -952,  -952,  -952,   444,   444,   444,   444,   444,
1872 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1873 <    -952,  -952,  -952,  -952,  -952,  -952,   813,  1022,   444,  1047,
1874 <    1048,  1056,  1063,  1043,  1066,  1067,   444,   444,   560,   944,
1875 <    -952,  -952,  1050,   -13,  1008,  1053,  1054,  1011,  1012,  1013,
1876 <    1058,   949,  1060,  1061,  1062,  1064,  1085,  1065,  1068,  1023,
1877 <    1069,   959,  -952,   963,   964,  -952,  -952,   965,   966,  1070,
1878 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1879 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1880 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1881 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1882 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1883 <    -952,  -952,  -952,  -245,  -952,  -952,  -952,  -952,  -952,  -952,
1884 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1885 <    -952,  -952,  -952,  -952,  -952,  -202,  -952,  -952,  -952,  -952,
1886 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1887 <    -952,  -952,  -952,   560,   560,   560,  -952,  -952,  -952,  -952,
1888 <    -952,  -952,  -952,  -952,     1,   967,   969,    11,   970,   971,
1889 <    -952,   972,   973,   974,   975,  1106,   979,   980,   981,   982,
1890 <     983,   984,   985,   986,   987,   988,   989,  -952,   990,  1079,
1891 <     991,  -952,     0,   992,   994,   650,   995,  -952,  -952,  -952,
1892 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1893 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1894 <    1041,  1100,  1059,  1071,   997,  1072,  1073,  1074,  1075,  1076,
1895 <    1102,  1077,  1104,  1078,  1080,  1081,  1105,  1082,  1000,  1083,
1896 <    1108,  1084,  1002,  -952,  1004,  1005,  1006,  -952,  -952,  -952,
1897 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1898 <    -952,  -952,  -952,  -952,  -174,  -952,  -952,  -952,  -952,  -952,
1899 <    1007,   534,  1016,  -952,  1024,   621,  -952,  -952,  -952,  -952,
1900 <    -952,  -952,  1025,  1026,  1027,  1028,  1029,  1030,  1031,  1032,
1901 <    1033,  1034,  1035,  1036,  1037,  -952,  1038,  1039,  1040,  1042,
1902 <    1044,  1045,  1046,  1049,  1051,  1052,  1152,  1055,  1057,  1086,
1903 <    1087,  1088,  1089,  1090,  1091,  1092,  -952,  -952,  -952,  -952,
1904 <    -952,  -952,  -148,  -952,  -952,   815,  -952,   871,  -952,  -952,
1905 <    -952,  -952,  -952,  -145,  -952,  -952,  -952,  -952,  -952,  -129,
1906 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -117,  -952,
2140 <     447,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2141 <    -952,  -952,  -952,  -952,   -35,  -952,  -952,  -952,  -952,  -952,
2142 <     -10,  -952,  -952,  -952,  1170,   772,  1093,  1094,  1095,  1096,
2143 <    1097,  1153,  1098,  1099,  1101,  1103,  1107,  1109,  1110,  1111,
2144 <    1112,  1113,  1114,  1115,  1116,   908,  1117,  1118,  1119,  -952,
2145 <    -952,  -952,  -952,  -952,   -15,  -952,  -952,  -952,  -952,  -952,
2146 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,    -8,  -952,  -952,
2147 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2148 <    -952,  -952,    35,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2149 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2150 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,    80,  -952,
2151 <      13,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2152 <    -952,  1070,  -952,  -952,  -952,     1,  -952,    11,   447,  -952,
2153 <    1106,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2154 <    -952,  -952,  -952,  1079,  -952,     0,  -952,  -952,  -952,  -952,
2155 <    -952,  -952,  -952,  -952,    89,  -952,   366,  -952,  -952,  -952,
2156 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2157 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2158 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,    95,
2159 <    -952,  -952,  -952,  -952,  -952,  -952,   534,  -952,   621,    13,
2160 <    -952,  1152,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2161 <    -952,  -952,  -952,  -952,  -952,   366,  -952,  1153,  -952,  -952,
2162 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2163 <    -952,  -952,  -952,  -952,  -952,  -952,   908,  -952,  -952,  -952,
2164 <    -952,  -952,  -952,  -952
1782 >    -861,   613,  -861,  -173,  -209,  -198,  -861,  -861,  -861,  -193,
1783 >    -861,  -188,  -861,  -861,  -861,  -185,  -183,  -861,  -861,  -180,
1784 >    -169,  -861,  -861,  -138,  -861,  -861,  -861,  -861,  -861,  -861,
1785 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1786 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,    18,   823,  -124,
1787 >    -100,   -98,    21,   -80,   438,   -74,   -71,   -58,    44,     4,
1788 >     -20,   -15,   378,   326,   -10,    -7,     7,   -66,    41,    51,
1789 >      57,     8,  -861,  -861,  -861,  -861,  -861,    59,    62,    65,
1790 >      84,    92,    96,   100,   102,   103,   104,   106,   110,   117,
1791 >     122,     3,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1792 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,   555,   356,    49,
1793 >    -861,   123,    26,  -861,  -861,   166,  -861,   133,   134,   136,
1794 >     138,   141,   144,   145,   148,   149,   153,   154,   155,   156,
1795 >     158,   160,   162,   163,   165,   167,   168,   169,   172,   173,
1796 >     177,   179,   186,   189,   191,   194,   196,   201,  -861,   203,
1797 >    -861,   211,   212,   214,   215,   218,   220,   221,   224,   226,
1798 >     229,   231,   234,   243,   247,   248,   250,   252,   255,   259,
1799 >     131,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1800 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1801 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1802 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1803 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1804 >    -861,  -861,  -861,  -861,  -861,   392,    42,   279,     1,   263,
1805 >      58,  -861,  -861,  -861,    80,    94,   264,   265,    19,  -861,
1806 >    -861,  -861,   364,   188,  -861,   267,   269,   270,   272,   273,
1807 >     280,    14,  -861,  -861,  -861,  -861,  -861,  -861,  -861,   288,
1808 >     286,   287,   289,   291,   292,   296,   299,   305,   306,   309,
1809 >     311,   312,   313,   319,   320,    91,  -861,  -861,  -861,  -861,
1810 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1811 >    -861,  -861,    20,    16,  -861,   324,    36,  -861,  -861,  -861,
1812 >     157,   290,   429,   336,  -861,   456,   457,   398,   462,   462,
1813 >     463,   465,   466,   409,   412,   475,   462,   420,   422,   367,
1814 >    -861,   368,   366,   369,   370,   372,   373,   383,   384,   385,
1815 >     386,   388,   393,   394,   396,   400,   251,  -861,  -861,  -861,
1816 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1817 >    -861,  -861,   371,   401,   402,   403,   404,  -861,   406,   407,
1818 >     410,   415,   418,   431,   433,   434,   316,  -861,  -861,  -861,
1819 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1820 >    -861,  -861,   440,   441,    30,  -861,  -861,  -861,   500,   445,
1821 >    -861,  -861,   443,   444,  -861,  -861,    34,  -861,  -861,  -861,
1822 >     497,   462,   462,   566,   505,   506,   569,   551,   511,   462,
1823 >     515,   462,   578,   579,   580,   520,   521,   524,   462,   562,
1824 >     525,   588,   590,   462,   591,   592,   574,   594,   595,   534,
1825 >     535,   478,   539,   483,   462,   462,   543,   462,   544,   545,
1826 >     546,   -87,    97,   548,   549,   462,   462,   593,   462,   552,
1827 >     556,   557,   559,   499,  -861,   504,   502,   503,  -861,   507,
1828 >     516,   526,   528,   533,    12,  -861,  -861,  -861,  -861,  -861,
1829 >    -861,  -861,  -861,  -861,  -861,   536,  -861,   537,  -861,    33,
1830 >    -861,  -861,  -861,   508,  -861,   538,   542,   550,  -861,    25,
1831 >    -861,  -861,  -861,  -861,  -861,   563,   560,  -861,   522,  -861,
1832 >     636,   655,   568,  -861,   570,   558,   571,  -861,   581,   585,
1833 >     586,  -861,   599,   232,  -861,  -861,  -861,  -861,  -861,  -861,
1834 >    -861,  -861,  -861,   573,   601,   603,   604,    88,  -861,  -861,
1835 >    -861,  -861,   619,   622,   693,   652,   664,   462,   610,  -861,
1836 >    -861,   710,   668,   712,   713,   714,   715,   716,   717,   -75,
1837 >     -68,   718,   720,   740,   722,   723,   627,  -861,   628,   629,
1838 >    -861,   630,    39,  -861,  -861,  -861,  -861,   634,   633,  -861,
1839 >      15,  -861,  -861,  -861,   736,   638,  -861,   640,   641,   642,
1840 >    -861,   643,   644,   646,   261,   647,   648,   650,   653,   654,
1841 >     656,   657,   658,   663,   665,   666,  -861,  -861,   773,   782,
1842 >     462,   786,   787,   789,   792,   774,   794,   796,   462,   462,
1843 >     800,   800,   683,  -861,  -861,   783,   119,   784,   742,   684,
1844 >     788,   790,   791,   793,   806,   795,   797,   798,   690,  -861,
1845 >     799,   802,   695,  -861,   697,  -861,   803,   804,   703,   707,
1846 >    -861,   708,   709,   711,   719,   721,   724,   726,   727,   728,
1847 >     729,   730,   731,   732,   733,   735,   737,   738,   739,   741,
1848 >     743,   744,   745,   746,   747,   748,   749,   750,   751,   752,
1849 >     753,   754,   561,   755,   598,   756,   757,   758,   759,   760,
1850 >     761,   762,   763,   764,   765,   766,   767,   768,   769,   770,
1851 >     771,   772,   775,   776,   777,   778,  -861,  -861,   809,   779,
1852 >     780,   811,   831,   815,   816,   817,   781,  -861,   819,   785,
1853 >     821,   801,  -861,  -861,   805,   835,   839,   860,   807,  -861,
1854 >     810,  -861,    55,   812,   813,  -861,  -861,   872,   830,   808,
1855 >     878,   879,   881,   814,   883,   818,  -861,  -861,   884,   885,
1856 >     886,   820,  -861,   822,   824,   825,   826,   827,   828,  -861,
1857 >     829,   832,   833,   834,   836,   837,   838,   840,  -861,  -861,
1858 >    -205,  -861,  -861,  -861,  -166,  -861,   841,   842,   843,   844,
1859 >     845,  -861,  -861,   888,   846,   889,   847,  -861,  -861,   890,
1860 >     848,   850,  -861,   852,  -861,  -861,  -861,  -861,  -861,  -861,
1861 >    -861,   462,   462,   462,   462,   462,  -861,  -861,  -861,  -861,
1862 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,   853,
1863 >     854,   855,   856,   857,   858,   859,   861,   862,   863,   864,
1864 >     865,    64,   866,   867,  -861,   868,   869,   870,   871,   873,
1865 >      -2,   874,   875,   876,   877,   880,   882,   887,   891,  -861,
1866 >     892,   893,  -861,  -861,   894,   895,   896,  -861,  -861,  -861,
1867 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1868 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1869 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1870 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1871 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -165,
1872 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1873 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1874 >    -861,  -861,  -159,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1875 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1876 >    -861,  -861,  -861,  -861,  -861,   897,   898,   519,   899,   900,
1877 >     901,   902,   903,  -861,   904,   908,   905,  -861,   -40,   906,
1878 >     907,   849,   689,  -861,  -861,  -861,   909,   910,  -861,   911,
1879 >      54,  -861,  -861,  -861,  -861,  -861,  -861,   912,   915,   513,
1880 >     916,   917,   918,   626,   919,  -861,   920,   921,   922,  -861,
1881 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1882 >    -861,  -861,  -861,  -861,  -861,   -75,  -861,   -68,  -861,  -861,
1883 >    -861,  -861,  -861,   923,   671,   924,  -861,   925,   681,  -861,
1884 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1885 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,   800,   800,
1886 >     800,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1887 >    -861,  -861,  -135,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1888 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -129,  -861,  -861,
1889 >     561,  -861,   598,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1890 >    -861,  -861,  -861,  -861,  -103,  -861,  -861,  -861,  -861,  -861,
1891 >    -861,  -861,  -861,  -101,  -861,  -861,  -861,  -861,  -861,   -61,
1892 >    -861,  -861,  -861,   913,   860,   926,  -861,   914,   927,   -94,
1893 >     928,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1894 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1895 >    -861,  -861,  -861,   -24,  -861,  -861,  -861,  -861,  -861,  -861,
1896 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1897 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,   -19,  -861,
1898 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1899 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,   -16,  -861,  -861,
1900 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1901 >    -861,    76,  -861,  -861,  -861,  -861,  -861,    -2,  -861,   896,
1902 >    -861,  -861,  -861,   519,  -861,   908,  -861,   -40,  -861,  -861,
1903 >    -861,   929,   245,   931,   932,  -861,  -861,   513,  -861,   626,
1904 >    -861,   671,  -861,   681,  -861,  -861,  -861,  -861,  -861,  -861,
1905 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,    93,  -861,  -861,
1906 >    -861,  -861,  -861,  -861,  -861,  -861,   245,  -861
1907   };
1908  
1909   /* YYPGOTO[NTERM-NUM].  */
1910   static const yytype_int16 yypgoto[] =
1911   {
1912 <    -952,  -952,  -952,  -816,  -342,  -951,  -426,  -952,  -952,   578,
1913 <    -952,  -952,  -952,  -952,   541,  -952,  -952,  -952,     5,  -952,
1914 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1915 <    -952,  -952,  1234,  -952,  -952,  -952,  -952,  -952,  1122,  -952,
1916 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1917 <    -952,  -952,  -952,  -952,  -952,   491,  -952,  -952,  -952,  -952,
1918 <    -952,  -952,  -952,  -952,  -952,  -952,  -176,  -952,  -952,  -952,
1919 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1920 <    -952,  -952,  -952,  -952,  -155,  -952,  -952,  -147,  -952,  -952,
1921 <    -952,  -952,   708,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1922 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1923 <    -952,  -952,   -80,  -952,   819,  -952,  -952,  -952,    48,  -952,
1924 <    -952,  -952,  -952,  -952,   853,  -952,  -952,  -952,  -952,  -952,
1925 <    -952,  -952,  -952,   -56,  -952,  -952,   -53,  -952,  -952,  -952,
1926 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1927 <     802,  -952,  -952,  -952,  -952,  -952,  -952,   762,  -952,  -952,
1928 <    -952,  -952,  -952,  -119,  -952,  -952,  -952,   757,  -952,  -952,
1929 <    -952,  -952,  -120,  -952,  -952,  -952,  -952,   682,  -952,  -952,
1930 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1931 <    -116,  -952,  -952,  -115,  -952,  -952,  -952,  -952,  -952,  -952,
1932 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,   -63,
1933 <    -952,   841,  -952,  -952,  -952,  -952,  -952,  1021,  -952,  -952,
1934 <    -952,  -952,  1212,  -952,  -952,  -952,  -952,  -952,  -952,   -34,
1935 <    -952,   968,  -952,  -952,  -952,  -952,  1154,  -952,  -952,  -952,
1936 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1937 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1938 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1939 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1940 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,   111,
2199 <    -952,  -952,  -952,   115,  -952,  -952,  -952,  -952,  -952,  -952,
2200 <    -952,  -952,   945,  -952,  -952,  -952,  -952,  -952,   -36,  -952,
2201 <    -952,  -952,  -952,  -952,   -32,  -952,  -952,  1249,  -952,  -952,
2202 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2203 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  1120,  -952,
2204 <    -952,  -952,  -952,  -952,  -952,  -952
1912 >    -861,  -861,  -861,  -213,  -306,  -860,  -610,  -861,  -861,   930,
1913 >    -861,  -861,  -861,  -861,   933,  -861,  -861,  -861,     6,  -861,
1914 >       5,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1915 >    -861,  -861,  -861,  -861,  -861,  -861,   942,  -861,  -861,  -861,
1916 >    -861,  -861,   934,  -861,  -861,  -861,  -861,    45,  -861,  -861,
1917 >    -861,  -861,  -861,  -229,  -861,  -861,  -861,   509,  -861,  -861,
1918 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -201,  -861,  -861,
1919 >    -861,  -194,  -861,  -861,  -861,   688,  -861,  -861,  -861,  -861,
1920 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1921 >    -861,  -861,  -861,  -861,  -861,  -182,  -861,   530,  -861,  -861,
1922 >    -861,   -76,  -861,  -861,  -861,  -861,  -861,   576,  -861,  -861,
1923 >    -861,  -861,  -861,  -861,  -861,  -168,  -861,  -861,  -861,  -861,
1924 >    -861,  -861,   523,  -861,  -861,  -861,  -861,  -861,   935,  -861,
1925 >    -861,  -861,  -861,   476,  -861,  -861,  -861,  -861,  -861,  -179,
1926 >    -861,  -861,  -861,   479,  -861,  -861,  -861,  -861,  -158,  -861,
1927 >    -861,  -861,   692,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1928 >    -861,  -861,  -861,  -143,  -861,  -861,  -861,  -861,  -861,  -861,
1929 >    -861,  -861,  -861,  -861,  -126,  -861,   612,  -861,  -861,  -861,
1930 >    -861,  -861,   725,  -861,  -861,  -861,  -861,   955,  -861,  -861,
1931 >    -861,  -861,  -861,  -861,  -102,  -861,   702,  -861,  -861,  -861,
1932 >    -861,   937,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1933 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1934 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1935 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1936 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1937 >    -861,  -861,  -861,    28,  -861,  -861,  -861,    32,  -861,  -861,
1938 >    -861,  -861,  -861,  1012,  -861,  -861,  -861,  -861,  -861,  -861,
1939 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1940 >     936,  -861,  -861,  -861,  -861,  -861,  -861
1941   };
1942  
1943   /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1944     positive, shift that token.  If negative, reduce the rule which
1945 <   number is the opposite.  If zero, do what YYDEFACT says.
1946 <   If YYTABLE_NINF, syntax error.  */
1947 < #define YYTABLE_NINF -1
2212 < static const yytype_uint16 yytable[] =
1945 >   number is the opposite.  If YYTABLE_NINF, syntax error.  */
1946 > #define YYTABLE_NINF -108
1947 > static const yytype_int16 yytable[] =
1948   {
1949 <     586,   587,   734,   274,    47,    67,    48,   593,   122,    52,
1950 <     560,    54,  1231,   486,    59,   495,   359,  1224,   122,   115,
1951 <     359,  1225,  1237,  1452,   128,  1453,   527,    60,   274,    45,
1952 <      46,   129,   130,   527,   569,   131,    63,   682,    64,   684,
1953 <    1454,    68,   132,   118,  1455,   436,   285,   528,   437,   725,
1954 <     726,   133,    69,   698,   528,   134,   135,   560,   727,   728,
1955 <    1226,   706,   136,   569,  1227,   121,   137,   138,   139,   496,
1956 <     140,   127,   717,   718,   243,   720,   141,   244,  1267,  1177,
1957 <    1178,  1179,  1180,  1181,   731,   732,   286,   735,  1303,   495,
1958 <     438,   245,  1304,   439,   486,   142,   143,   246,   123,   497,
1959 <     144,   287,  1228,  1229,  1230,   498,   360,   145,   123,   281,
1960 <     360,   146,   147,   148,  1370,   284,   149,  1374,  1371,   150,
1961 <     151,  1375,   275,   288,   329,   289,    70,   290,   291,   152,
1962 <     330,   561,   331,  1376,   247,   153,   154,  1377,   155,   156,
1963 <     157,   158,   159,   496,   332,  1379,   292,   275,   440,  1380,
1964 <     802,   529,   276,   160,   803,   570,  1162,  1163,   529,   369,
1965 <     369,   451,   161,   333,   162,   163,   441,   164,   499,   487,
1966 <     165,   166,   361,   497,   167,   804,   361,   276,   561,   498,
1967 <     452,   334,   530,   337,   570,   168,   453,   805,   338,   530,
1968 <     248,   249,   250,   251,   252,   253,   254,   255,   562,   806,
1969 <     861,   488,  1232,   339,   807,  1197,  1198,   169,   340,   170,
1970 <     454,   455,  1238,   171,   341,   456,   808,   172,   173,   174,
1971 <     175,   176,   571,   809,   600,   177,   178,  1392,   810,   457,
1972 <     811,  1393,   342,  1268,   179,   343,   458,  1269,   256,   629,
1973 <     344,   630,   499,   812,   631,   562,   601,   602,   632,   345,
1974 <     487,   571,  1394,   603,  1445,   459,  1395,  1456,  1446,   563,
1975 <     346,   347,   489,   633,   634,   635,   180,   335,   181,   636,
1976 <     367,   813,   880,   257,   182,   771,   814,   778,   672,   183,
1977 <     370,   370,   488,   460,   184,   348,   434,    76,   637,   349,
1978 <     524,   461,   638,   639,   442,   853,   885,  1447,   815,    77,
1979 <     357,  1448,   350,    67,   302,   351,   563,   747,   543,   462,
1980 <     816,   352,   817,   818,   353,   371,   371,   819,   463,   464,
1981 <      78,    79,   585,   640,   354,   641,    80,   358,    81,  1053,
1982 <    1054,  1055,   604,   605,   606,   366,   378,   607,   642,    68,
1983 <     303,   379,  1450,   489,   380,   608,  1451,   372,   372,   381,
1984 <      69,  1466,   465,   466,   258,  1467,   382,  1485,   609,   610,
1985 <     643,  1486,   285,   383,   895,   896,   897,   898,   899,   384,
1986 <     385,  1468,   386,   387,   388,   611,   612,   389,   390,   391,
1987 <     820,   392,   393,   394,    82,    83,   395,   821,   259,   304,
1988 <     396,   397,   644,    84,    85,   398,   519,   399,   822,   823,
1989 <    1065,   400,   286,   613,  1469,   401,   645,   402,   824,   403,
1990 <     467,   404,  1142,   405,    86,    87,  1470,   287,   406,   646,
1991 <     407,   679,   408,   766,    70,   305,   409,   306,   307,   410,
1992 <     412,    88,    89,  1471,   414,   415,   416,   417,   418,   288,
1993 <    1472,   289,    90,   290,   291,  1473,   419,  1474,   733,   420,
1994 <     421,    91,   788,   789,   790,   791,   792,   793,   794,   422,
1995 <    1475,   423,   292,   424,   425,   426,   427,  1381,  1382,   428,
1996 <     308,   429,   309,   310,   430,   431,   128,   432,   433,   506,
1997 <     507,   508,   647,   129,   130,   509,   929,   131,   311,   510,
1998 <     511,   512,   513,  1476,   132,   648,   514,   515,  1383,   516,
1999 <     517,   951,  1194,   133,   518,   521,   522,   134,   135,  1477,
2000 <     523,   526,   576,   536,   136,   537,  1384,   538,   137,   138,
2001 <     139,   302,   140,  1385,   539,   540,   541,  1478,   141,  1479,
2002 <    1480,   542,   312,   545,   546,   547,   577,   548,    92,    93,
2003 <      94,   549,  1386,   550,   551,   552,   554,   142,   143,   355,
2004 <     555,   578,   144,   436,   556,   557,   437,   303,   579,   145,
2005 <     313,   314,   580,   146,   147,   148,   558,   581,   149,   582,
2006 <    1387,   150,   151,   583,   584,   802,  1184,   585,  1388,   803,
2007 <     599,   152,   588,   589,  1192,  1193,   590,   153,   154,   591,
2008 <     155,   156,   157,   158,   159,   592,   594,  1481,   438,   595,
2009 <     804,   439,   596,   597,   598,   160,   304,   670,   671,   674,
2010 <     675,   676,   805,   681,   161,  1482,   162,   163,   677,   164,
2011 <     683,  1389,   165,   166,   806,  1483,   167,   685,  1306,   807,
2012 <     687,   686,   688,   691,   689,   600,   690,   168,   692,   693,
2013 <    1390,   808,   305,   694,   306,   307,   695,   696,   809,   701,
2014 <     697,   699,   700,   810,   702,   811,   440,   601,   602,   169,
2015 <     703,   170,   704,   705,   603,   171,   707,   709,   812,   172,
2016 <     173,   174,   175,   176,   441,   708,   710,   177,   178,   711,
2017 <     712,   713,   714,   715,   716,   719,   179,   308,   722,   309,
2018 <     310,   721,   723,   733,   724,   729,   813,   730,   872,  1082,
2019 <     736,   814,   737,   247,   629,   311,   630,  1307,   738,   631,
2020 <     739,   742,   780,   632,   781,  1321,   782,   740,   180,   783,
2021 <     181,   743,   745,   815,   746,   749,   182,   773,   633,   634,
2022 <     635,   183,   750,   751,   636,   816,   184,   817,   818,  1308,
2023 <     784,   785,   819,   604,   605,   606,   786,   787,   607,   312,
2024 <     752,   795,   753,   637,  1309,   755,   608,   638,   639,   248,
2025 <     249,   250,   251,   252,   253,   254,   255,    76,   796,   609,
2026 <     610,   756,   757,   758,  1310,  1311,   797,   313,   314,    77,
2027 <    1312,  1313,  1314,  1315,   759,   451,   611,   612,   640,   760,
2028 <     641,   761,   762,  1316,  1322,   799,   763,   764,   800,   798,
2029 <      78,    79,   442,   642,   452,   820,    80,   256,    81,   765,
2030 <     453,   801,   821,   768,   613,   770,   775,   849,   776,   777,
2031 <     858,   850,   855,   822,   823,   643,  1323,   851,   852,   856,
2032 <     857,   859,   860,   824,   454,   455,   863,   862,   864,   456,
2033 <     865,  1324,   257,   866,   867,   868,   869,   870,   871,   873,
2034 <     874,   875,   876,   457,  1274,   525,   559,   644,   877,   879,
2035 <     458,  1325,  1326,   882,    82,    83,   887,  1327,  1328,  1329,
2036 <    1330,   645,   883,    84,    85,   916,   888,   889,   890,   459,
2037 <    1331,   891,   892,   917,   646,   953,   893,   894,     2,     3,
2038 <     902,   903,   918,     4,    86,    87,   954,   904,   905,   906,
2039 <     907,   957,   958,   908,   909,  1095,   910,   460,   911,   912,
2040 <       5,    88,    89,   913,     6,   461,   914,     7,   915,   931,
2041 <     919,   955,    90,   258,     8,   920,   921,   922,   923,   924,
2042 <     956,    91,   925,   462,   926,   927,   928,   932,   933,   934,
2043 <       9,   935,   463,   464,   936,   937,  1182,   647,   938,   939,
2044 <    1068,   940,   942,    10,    11,  1066,    12,   259,  1069,  1071,
2045 <     648,   943,   944,    13,   945,   946,   947,  1072,  1073,   948,
2046 <     949,   950,   959,   960,   961,   962,   465,   466,   963,   964,
2047 <      14,   965,   966,   967,   968,   969,   970,   971,   972,   973,
2048 <      15,   974,    16,   975,   976,   977,   978,   979,   980,   981,
2049 <     982,   983,   984,  1074,   985,   986,   987,   988,  1076,    17,
2050 <     989,   990,   991,   992,   993,  1015,  1037,  1038,    92,    93,
2051 <      94,   994,   995,   996,   997,   998,    18,   999,  1000,  1039,
2052 <    1001,  1002,  1003,  1040,   467,  1004,  1041,  1042,  1043,  1044,
2053 <    1045,  1046,  1047,  1048,  1049,  1005,  1006,  1007,  1050,  1008,
2054 <    1009,  1010,  1051,  1052,  1011,  1058,  1059,  1012,  1060,  1061,
2055 <    1062,    19,  1063,  1077,  1064,  1078,  1067,  1070,  1079,  1080,
2056 <      20,    21,  1075,  1081,  1083,    22,    23,  1016,  1017,  1018,
2057 <    1019,  1020,  1084,  1021,  1022,  1085,  1023,  1024,  1025,  1086,
2058 <    1087,  1026,  1088,  1090,  1089,  1091,  1092,  1093,  1094,  1098,
2059 <    1099,  1027,  1028,  1029,  1100,  1030,  1031,  1032,  1101,  1102,
2060 <    1033,  1103,  1104,  1034,  1420,  1421,  1422,  1423,  1424,  1105,
2061 <    1425,  1426,  1106,  1427,  1428,  1429,  1120,  1107,  1430,  1108,
2062 <    1109,  1144,  1145,  1146,  1110,  1111,  1112,  1113,  1431,  1432,
2063 <    1433,  1114,  1434,  1435,  1436,  1115,  1116,  1437,  1170,  1117,
2064 <    1438,  1118,  1119,  1172,  1174,  1183,  1121,  1122,  1123,  1125,
2065 <    1126,  1127,  1128,  1129,  1130,  1131,  1132,  1133,  1134,  1135,
2066 <    1136,  1137,  1139,  1147,  1140,  1141,  1148,  1149,  1150,  1151,
2067 <    1185,  1186,  1152,  1153,  1154,  1155,  1156,  1157,  1158,  1187,
2068 <    1159,  1160,  1161,  1166,  1167,  1168,  1188,  1169,  1189,  1190,
2069 <    1191,  1171,  1173,  1176,  1175,  1196,  1195,  1199,  1200,  1201,
2335 <    1202,  1203,  1204,  1205,  1206,  1207,  1208,  1209,  1211,  1210,
2336 <    1212,  1216,  1214,  1213,  1215,  1217,  1218,  1219,  1220,  1235,
2337 <    1221,  1236,  1241,  1242,  1243,  1244,  1245,  1246,  1247,  1263,
2338 <    1277,  1251,  1252,  1253,  1254,  1255,  1256,  1257,  1258,  1259,
2339 <    1260,  1261,  1262,  1266,  1272,  1278,  1273,  1287,  1279,  1289,
2340 <    1293,  1275,  1281,  1297,  1299,  1295,  1300,  1301,  1302,  1305,
2341 <    1280,  1282,  1283,  1284,  1285,  1286,  1288,  1290,  1319,  1291,
2342 <    1292,  1294,  1296,  1298,  1357,  1403,  1320,  1334,  1335,  1336,
2343 <    1337,  1338,  1339,  1340,  1341,  1342,  1343,  1344,  1345,  1346,
2344 <    1347,  1348,  1349,  1396,  1350,   336,  1351,  1352,  1353,  1444,
2345 <    1493,  1354,  1492,  1355,  1356,  1464,  1143,  1361,  1491,  1362,
2346 <     779,   767,   930,  1397,  1462,  1461,   881,  1487,  1488,   886,
2347 <    1463,   952,   772,   854,  1489,  1490,   368,  1458,  1373,   435,
2348 <    1372,  1460,   680,  1459,   356,     0,     0,     0,  1363,  1364,
2349 <    1365,  1366,  1367,  1368,  1369,  1398,  1399,  1400,  1401,  1402,
2350 <    1407,  1408,     0,  1409,     0,  1410,     0,     0,     0,  1411,
2351 <       0,  1412,  1413,  1414,  1415,  1416,  1417,  1418,  1419,  1441,
2352 <    1442,  1443,   520,   673,     0,     0,     0,     0,   748,     0,
1949 >     822,   823,   585,   586,    76,   235,  1050,   821,   294,    67,
1950 >     593,  1096,    47,   455,  1004,   244,   567,   567,  1005,    67,
1951 >     235,   558,   110,    48,    77,    78,   483,   110,    52,   456,
1952 >      79,   381,    68,    54,   474,   391,    58,   294,    59,    69,
1953 >     558,    62,    68,   474,   457,   228,    45,    46,   458,    69,
1954 >     381,   245,    63,  1006,  1069,   966,   966,  1007,  1070,   228,
1955 >    1071,   484,   758,   759,  1072,   246,   247,   248,   249,   762,
1956 >     763,    80,    81,  1038,  1039,  1040,   682,   683,    82,    83,
1957 >      84,   485,   111,    66,  1196,   250,   486,   111,  1197,   523,
1958 >    1198,   382,   259,   236,  1199,   642,   643,   107,   295,    70,
1959 >      85,    86,   524,   650,  1213,   652,   568,   568,   236,    70,
1960 >     382,   559,   659,    87,    88,   260,  1202,   664,  1204,   237,
1961 >    1203,   108,  1205,   109,    89,   392,   459,   295,   675,   676,
1962 >     559,   678,   116,    90,   237,   460,   461,   117,   118,   688,
1963 >     689,   115,   691,   119,   487,   967,   967,   225,   261,  1097,
1964 >     226,   120,   383,   299,  1098,   475,   393,   121,  1206,   122,
1965 >     123,   124,  1207,   227,   475,   821,   125,   391,   462,   569,
1966 >     569,   383,   126,   127,   560,   128,   129,   130,  1193,  1194,
1967 >    1195,   131,   262,   525,   263,   264,   132,   476,   394,   523,
1968 >     133,   134,  1051,   560,   135,  1216,   476,   136,   137,  1217,
1969 >    1218,   242,   524,  1220,  1219,   138,   243,  1221,   968,   968,
1970 >     526,   292,   139,   140,   293,   141,   142,   143,   144,   145,
1971 >     494,   463,   265,   319,   266,   267,   268,   269,   303,   561,
1972 >     146,   748,   706,   504,   538,   781,   147,   148,   149,   502,
1973 >     150,   270,   477,   151,   152,   718,   389,   153,   561,   505,
1974 >     632,   477,   321,   711,   639,   229,   575,   392,   154,   776,
1975 >     684,   685,  -107,   300,   506,   271,   322,   323,   507,   229,
1976 >     324,   969,   969,   301,  1110,   272,  -107,   577,   496,   302,
1977 >     483,   305,   155,   525,   306,  1230,   156,   307,   393,   157,
1978 >     158,   159,   160,   161,   811,  1222,   162,   163,   498,  1223,
1979 >     826,   827,   819,   820,   273,   274,   308,  1231,   741,  1232,
1980 >     526,   556,  1245,   499,   309,   484,  1246,   352,   310,   353,
1981 >     394,   354,   311,   508,   312,   313,   314,   259,   315,   325,
1982 >     326,   327,   316,   355,   328,   485,   164,   165,   166,   317,
1983 >     486,   167,   329,   168,   318,   388,   509,   169,   356,  1233,
1984 >     260,   453,   357,   330,   331,   400,   401,   352,   402,   353,
1985 >     403,   354,   584,   404,   510,   504,   405,   406,   332,   333,
1986 >     407,   408,   358,   355,   359,   409,   410,   411,   412,   244,
1987 >     413,   505,   414,   261,   415,   416,   360,   417,   356,   418,
1988 >     419,   420,   357,   455,   421,   422,   506,   334,   487,   423,
1989 >     507,   424,   791,   792,   793,   794,   795,   361,   425,   456,
1990 >     578,   426,   358,   427,   359,   245,   428,   262,   429,   263,
1991 >     264,  1234,  1235,   430,   457,   432,   360,   511,   458,   246,
1992 >     247,   248,   249,   434,   435,   362,   436,   437,   335,   116,
1993 >     438,   512,   439,   440,   117,   118,   441,   361,   442,   250,
1994 >     119,   443,   735,   444,  1236,   508,   445,   265,   120,   266,
1995 >     267,   268,   269,   363,   121,   446,   122,   123,   124,   447,
1996 >     448,   612,   449,   125,   450,   362,   270,   451,   509,   126,
1997 >     127,   452,   128,   129,   130,   495,   500,   501,   131,   532,
1998 >     364,   533,   534,   132,   535,   536,   510,   133,   134,  1214,
1999 >     271,   135,   537,   363,   136,   137,   459,   540,   541,   542,
2000 >     272,   543,   138,   544,   545,   460,   461,  1114,   546,   139,
2001 >     140,   547,   141,   142,   143,   144,   145,   548,   549,   365,
2002 >     364,   550,  1075,   551,   552,   553,   628,   146,  1115,   273,
2003 >     274,   554,   555,   147,   148,   149,   574,   150,   462,   579,
2004 >     151,   152,  1076,  1116,   153,   580,   321,   581,   582,   511,
2005 >    1117,   583,  1077,   584,   587,   154,   588,   589,  1078,   365,
2006 >     322,   323,   590,   512,   324,   591,   592,  1118,  1021,  1022,
2007 >    1023,  1024,  1025,   594,  1079,   595,   596,   597,   598,   155,
2008 >     614,   599,   600,   156,   601,   602,   157,   158,   159,   160,
2009 >     161,   463,  1119,   162,   163,   603,   604,   605,   606,  1120,
2010 >     607,  1080,   879,     2,     3,   608,   609,     4,   610,  1081,
2011 >     634,  1121,   611,   615,   616,   617,   618,     5,   620,   621,
2012 >       6,     7,   622,   325,   326,   327,     8,   623,   328,  1122,
2013 >     624,  1123,  1124,   164,   165,   166,   329,     9,   167,   902,
2014 >     168,    10,    11,   625,   169,   626,   627,   330,   331,  1082,
2015 >     641,    12,   630,   631,   635,   636,   637,   644,   645,   646,
2016 >     647,   648,   332,   333,   649,    13,  1083,  1138,   651,   653,
2017 >     654,   655,   660,   656,   657,    14,    15,   658,   661,   662,
2018 >    1125,   663,   665,   666,   667,   668,   669,   670,   671,  1126,
2019 >     672,   334,   673,    16,  1127,   674,   677,   679,   680,   681,
2020 >    1128,   686,   687,   690,  1129,   692,  1130,    17,   696,   693,
2021 >     694,  1131,   695,   697,   698,   699,   720,   713,  1132,   701,
2022 >     880,   881,   882,   883,   884,  1167,   885,   886,   702,   887,
2023 >     888,   889,   335,   722,   890,  1181,   891,   892,   703,   893,
2024 >     704,   894,    18,   895,   896,   705,   723,   897,   708,   710,
2025 >     715,    19,    20,   898,   716,    21,    22,   903,   904,   905,
2026 >     906,   907,   717,   908,   909,   724,   910,   911,   912,   721,
2027 >     727,   913,   743,   914,   915,   744,   916,   725,   917,   726,
2028 >     918,   919,   737,   728,   920,  1139,  1140,  1141,  1142,  1143,
2029 >     921,  1144,  1145,   730,  1146,  1147,  1148,   731,   732,  1149,
2030 >    1168,  1150,  1151,   745,  1152,   746,  1153,    23,  1154,  1155,
2031 >    1182,   734,  1156,   738,    76,   739,   740,   747,  1157,   749,
2032 >     750,   751,   752,   753,   754,   755,   756,   757,   766,  1169,
2033 >     767,   768,   769,   770,    77,    78,   771,   772,  1170,  1183,
2034 >      79,   773,   775,   778,  1171,   779,   783,   784,  1184,   785,
2035 >     786,   787,   788,   789,  1185,   790,   798,   799,  1172,   800,
2036 >    1173,  1174,   801,   802,   809,   803,   804,   805,  1186,  1175,
2037 >    1187,  1188,   806,   810,   807,   808,  1176,   812,   813,  1189,
2038 >     814,    80,    81,   815,   816,   817,  1190,   818,    82,    83,
2039 >      84,   821,   824,   825,   828,   829,   830,   835,   831,   839,
2040 >     832,   833,  1104,   834,   842,   836,   843,   837,   838,   840,
2041 >      85,    86,   841,   844,   845,   846,   847,   848,   849,   945,
2042 >     850,   948,   949,    87,    88,   950,   951,   952,   851,   954,
2043 >     852,   956,   946,   853,    89,   854,   855,   856,   857,   858,
2044 >     859,   860,   861,    90,   862,   959,   863,   864,   865,   960,
2045 >     866,   961,   867,   868,   869,   870,   871,   872,   873,   874,
2046 >     875,   876,   877,   878,   901,   924,   925,   926,   927,   928,
2047 >     929,   930,   931,   932,   933,   934,   935,   936,   937,   938,
2048 >     939,   940,   977,   978,   941,   942,   943,   944,   980,   981,
2049 >     953,   982,   947,   984,   986,   987,   988,   955,  1013,  1015,
2050 >    1017,  1164,  1165,   304,  1208,  1111,  1103,  1247,  1242,   719,
2051 >     957,  1066,   736,  1241,   613,  1228,   964,   958,  1209,   965,
2052 >     979,   975,   976,  1092,  1211,  1226,   983,   985,   777,   989,
2053 >     707,   990,  1243,   991,   992,   993,   994,   995,   996,   782,
2054 >     742,   997,   998,   999,  1224,  1000,  1001,  1002,   629,  1003,
2055 >    1008,  1009,  1010,  1011,  1012,  1244,  1016,   390,  1014,  1019,
2056 >    1018,  1020,  1026,  1027,  1028,  1029,  1030,  1031,  1032,  1227,
2057 >    1033,  1034,  1035,  1036,  1037,  1043,  1044,  1045,  1046,  1047,
2058 >    1048,   712,  1049,  1054,  1055,  1056,  1057,  1225,   640,  1058,
2059 >    1201,  1059,  1200,   320,     0,     0,  1060,   454,     0,   633,
2060 >    1061,  1062,  1063,  1064,  1065,     0,  1073,  1074,  1086,  1087,
2061 >    1088,  1089,  1090,  1091,  1095,  1101,  1102,     0,  1106,     0,
2062 >       0,  1112,  1107,  1109,  1113,  1135,  1136,  1137,  1160,  1161,
2063 >    1162,  1163,  1166,  1179,  1180,  1210,     0,  1215,  1229,  1212,
2064 >    1239,  1240,     0,     0,     0,     0,     0,     0,     0,     0,
2065 >       0,     0,     0,     0,   497,     0,     0,     0,   503,     0,
2066 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2067 >       0,     0,     0,     0,     0,     0,     0,   539,     0,     0,
2068 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2069 >       0,     0,     0,     0,     0,     0,     0,     0,   557,     0,
2070         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2071         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2072 <       0,     0,     0,   544
2072 >       0,   576
2073   };
2074  
2075 + #define yypact_value_is_default(yystate) \
2076 +  ((yystate) == (-861))
2077 +
2078 + #define yytable_value_is_error(yytable_value) \
2079 +  YYID (0)
2080 +
2081   static const yytype_int16 yycheck[] =
2082   {
2083 <     342,   343,   428,     1,   264,     1,   264,   349,     1,   264,
2084 <       1,   264,    11,     1,   264,     1,     1,   262,     1,   155,
2085 <       1,   266,    11,    10,     1,    12,     1,   264,     1,   262,
2086 <     263,     8,     9,     1,     1,    12,   264,   379,   264,   381,
2087 <      27,    37,    19,   155,    31,     1,     1,    22,     4,   199,
2088 <     200,    28,    48,   395,    22,    32,    33,     1,   199,   200,
2089 <     262,   403,    39,     1,   266,   264,    43,    44,    45,    55,
2090 <      47,   264,   414,   415,   264,   417,    53,   264,    78,   895,
2091 <     896,   897,   898,   899,   426,   427,    41,   429,   262,     1,
2092 <      46,   264,   266,    49,     1,    72,    73,   264,    91,    85,
2093 <      77,    56,  1053,  1054,  1055,    91,    91,    84,    91,   155,
2094 <      91,    88,    89,    90,   262,   264,    93,   262,   266,    96,
2095 <      97,   266,   120,    78,   264,    80,   122,    82,    83,   106,
2096 <     264,   122,   262,   262,     1,   112,   113,   266,   115,   116,
2097 <     117,   118,   119,    55,   265,   262,   101,   120,   104,   266,
2098 <       1,   126,   150,   130,     5,   122,   171,   172,   126,     1,
2099 <       1,     1,   139,   265,   141,   142,   122,   144,   154,   157,
2100 <     147,   148,   157,    85,   151,    26,   157,   150,   122,    91,
2101 <      20,   265,   157,   265,   122,   162,    26,    38,   265,   157,
2102 <      57,    58,    59,    60,    61,    62,    63,    64,   189,    50,
2103 <     542,   189,   201,   265,    55,   218,   219,   184,   265,   186,
2104 <      50,    51,   201,   190,   265,    55,    67,   194,   195,   196,
2105 <     197,   198,   189,    74,     1,   202,   203,   262,    79,    69,
2106 <      81,   266,   265,   233,   211,   265,    76,   237,   105,     1,
2107 <     265,     3,   154,    94,     6,   189,    23,    24,    10,   265,
2108 <     157,   189,   262,    30,   262,    95,   266,   244,   266,   250,
2109 <     265,   265,   250,    25,    26,    27,   243,   263,   245,    31,
2110 <     263,   122,   263,   140,   251,   263,   127,   263,   263,   256,
2111 <     122,   122,   189,   123,   261,   265,   263,     1,    50,   265,
2112 <     263,   131,    54,    55,   250,   263,   263,   262,   149,    13,
2113 <     264,   266,   265,     1,     1,   265,   250,   263,   263,   149,
2114 <     161,   265,   163,   164,   265,   157,   157,   168,   158,   159,
2115 <      34,    35,   133,    85,   265,    87,    40,   264,    42,    14,
2116 <      15,    16,   109,   110,   111,   265,   265,   114,   100,    37,
2117 <      37,   265,   262,   250,   265,   122,   266,   189,   189,   265,
2118 <      48,   262,   192,   193,   221,   266,   265,   262,   135,   136,
2119 <     122,   266,     1,   265,   175,   176,   177,   178,   179,   265,
2120 <     265,     5,   265,   265,   265,   152,   153,   265,   265,   265,
2121 <     231,   265,   265,   265,    98,    99,   265,   238,   255,    86,
2122 <     265,   265,   154,   107,   108,   265,   263,   265,   249,   250,
2123 <     742,   265,    41,   180,    38,   265,   168,   265,   259,   265,
2124 <     250,   265,   263,   265,   128,   129,    50,    56,   265,   181,
2125 <     265,   263,   265,   263,   122,   122,   265,   124,   125,   265,
2126 <     265,   145,   146,    67,   265,   265,   265,   265,   265,    78,
2127 <      74,    80,   156,    82,    83,    79,   265,    81,   133,   265,
2128 <     265,   165,   222,   223,   224,   225,   226,   227,   228,   265,
2129 <      94,   265,   101,   265,   265,   265,   265,    20,    21,   265,
2130 <     167,   265,   169,   170,   265,   265,     1,   265,   265,   262,
2131 <     265,   265,   244,     8,     9,   265,   263,    12,   185,   265,
2132 <     265,   265,   265,   127,    19,   257,   265,   265,    51,   265,
2133 <     265,   263,   928,    28,   265,   262,   265,    32,    33,   143,
2134 <     265,   264,   155,   265,    39,   265,    69,   265,    43,    44,
2135 <      45,     1,    47,    76,   265,   265,   265,   161,    53,   163,
2136 <     164,   265,   229,   262,   265,   265,   155,   265,   252,   253,
2137 <     254,   265,    95,   265,   265,   265,   265,    72,    73,   263,
2138 <     265,   155,    77,     1,   265,   265,     4,    37,   262,    84,
2139 <     257,   258,   199,    88,    89,    90,   263,   133,    93,   133,
2140 <     123,    96,    97,   199,   199,     1,   918,   133,   131,     5,
2141 <     262,   106,   133,   133,   926,   927,   199,   112,   113,   199,
2142 <     115,   116,   117,   118,   119,   133,   199,   231,    46,   199,
2143 <      26,    49,   199,   199,   199,   130,    86,   265,   265,   155,
2144 <     262,   265,    38,   199,   139,   249,   141,   142,   265,   144,
2145 <     199,   174,   147,   148,    50,   259,   151,   133,    94,    55,
2146 <     133,   155,   199,   133,   199,     1,   199,   162,   155,   199,
2147 <     193,    67,   122,   133,   124,   125,   133,   133,    74,   133,
2148 <     199,   199,   199,    79,   155,    81,   104,    23,    24,   184,
2149 <     199,   186,   133,   133,    30,   190,   133,   155,    94,   194,
2150 <     195,   196,   197,   198,   122,   133,   133,   202,   203,   133,
2151 <     199,   199,   265,   199,   265,   199,   211,   167,   199,   169,
2152 <     170,   155,   199,   133,   199,   199,   122,   199,   133,   133,
2153 <     199,   127,   199,     1,     1,   185,     3,   173,   199,     6,
2154 <     199,   265,   155,    10,   155,    94,   155,   262,   243,   155,
2155 <     245,   265,   265,   149,   265,   262,   251,   262,    25,    26,
2156 <      27,   256,   265,   265,    31,   161,   261,   163,   164,   205,
2157 <     155,   155,   168,   109,   110,   111,   155,   155,   114,   229,
2158 <     265,   155,   265,    50,   220,   265,   122,    54,    55,    57,
2159 <      58,    59,    60,    61,    62,    63,    64,     1,   155,   135,
2160 <     136,   265,   265,   265,   240,   241,   199,   257,   258,    13,
2161 <     246,   247,   248,   249,   265,     1,   152,   153,    85,   265,
2162 <      87,   265,   265,   259,   173,   155,   265,   265,   155,   262,
2163 <      34,    35,   250,   100,    20,   231,    40,   105,    42,   265,
2164 <      26,   262,   238,   265,   180,   265,   265,   262,   265,   265,
2165 <     155,   265,   199,   249,   250,   122,   205,   265,   265,   199,
2166 <     199,   199,   199,   259,    50,    51,   155,   262,   199,    55,
2167 <     155,   220,   140,   155,   155,   155,   155,   265,   155,   155,
2168 <     155,   262,   262,    69,   204,   277,   315,   154,   265,   265,
2169 <      76,   240,   241,   262,    98,    99,   262,   246,   247,   248,
2170 <     249,   168,   265,   107,   108,   265,   262,   262,   262,    95,
2171 <     259,   262,   262,   265,   181,   155,   262,   262,     0,     1,
2172 <     262,   262,   265,     5,   128,   129,   155,   262,   262,   262,
2173 <     262,   155,   155,   262,   262,   133,   262,   123,   262,   262,
2174 <      22,   145,   146,   262,    26,   131,   262,    29,   262,   262,
2175 <     265,   262,   156,   221,    36,   265,   265,   265,   265,   265,
2176 <     262,   165,   265,   149,   265,   265,   265,   265,   265,   265,
2177 <      52,   265,   158,   159,   265,   265,   133,   244,   265,   265,
2178 <     155,   265,   265,    65,    66,   199,    68,   255,   155,   199,
2179 <     257,   265,   265,    75,   265,   265,   265,   155,   199,   265,
2180 <     265,   265,   265,   262,   262,   262,   192,   193,   262,   262,
2181 <      92,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2182 <     102,   262,   104,   262,   262,   262,   262,   262,   262,   262,
2183 <     262,   262,   262,   199,   262,   262,   262,   262,   199,   121,
2184 <     262,   262,   262,   262,   262,   262,   262,   262,   252,   253,
2185 <     254,   206,   207,   208,   209,   210,   138,   212,   213,   262,
2186 <     215,   216,   217,   262,   250,   220,   262,   262,   262,   262,
2187 <     262,   262,   262,   262,   262,   230,   231,   232,   262,   234,
2188 <     235,   236,   262,   262,   239,   262,   262,   242,   262,   262,
2189 <     262,   173,   262,   199,   265,   199,   265,   262,   199,   199,
2190 <     182,   183,   265,   155,   155,   187,   188,   206,   207,   208,
2191 <     209,   210,   155,   212,   213,   199,   215,   216,   217,   155,
2192 <     262,   220,   155,   155,   265,   262,   265,   155,   155,   262,
2193 <     262,   230,   231,   232,   262,   234,   235,   236,   262,   262,
2194 <     239,   262,   262,   242,   206,   207,   208,   209,   210,   262,
2195 <     212,   213,   262,   215,   216,   217,   265,   262,   220,   262,
2196 <     262,   155,   155,   155,   262,   262,   262,   262,   230,   231,
2197 <     232,   262,   234,   235,   236,   262,   262,   239,   155,   262,
2198 <     242,   262,   262,   155,   155,   133,   265,   265,   265,   265,
2199 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2200 <     265,   265,   265,   262,   265,   265,   262,   262,   262,   262,
2201 <     133,   133,   262,   262,   262,   262,   262,   262,   262,   133,
2479 <     262,   262,   262,   262,   262,   262,   133,   262,   155,   133,
2480 <     133,   265,   262,   262,   265,   155,   262,   199,   155,   155,
2481 <     199,   199,   199,   155,   265,   155,   155,   155,   133,   155,
2482 <     155,   262,   199,   155,   155,   262,   262,   262,   262,   262,
2483 <     160,   262,   262,   262,   262,   262,   262,   262,   132,   160,
2484 <     199,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2485 <     262,   262,   262,   262,   262,   155,   262,   155,   199,   155,
2486 <     155,   266,   265,   155,   262,   265,   262,   262,   262,   262,
2487 <     199,   199,   199,   199,   199,   199,   199,   199,   262,   199,
2488 <     199,   199,   199,   199,   132,   132,   262,   262,   262,   262,
2489 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2490 <     262,   262,   262,   133,   262,    71,   262,   262,   262,  1304,
2491 <    1486,   262,  1467,   262,   262,  1395,   825,   262,  1465,   262,
2492 <     501,   468,   614,  1275,  1380,  1378,   564,  1446,  1448,   572,
2493 <    1393,   649,   491,   531,  1449,  1451,   124,  1371,  1227,   185,
2494 <    1225,  1377,   374,  1375,    95,    -1,    -1,    -1,   262,   262,
2495 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2496 <     262,   262,    -1,   262,    -1,   262,    -1,    -1,    -1,   262,
2497 <      -1,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2498 <     262,   262,   260,   362,    -1,    -1,    -1,    -1,   443,    -1,
2083 >     610,   611,   308,   309,     1,     1,     8,   101,     1,     1,
2084 >     316,    51,   221,     1,   219,     1,     1,     1,   223,     1,
2085 >       1,     1,     1,   221,    21,    22,     1,     1,   221,    17,
2086 >      27,     1,    24,   221,     1,     1,   221,     1,   221,    31,
2087 >       1,   221,    24,     1,    32,     1,   219,   220,    36,    31,
2088 >       1,    37,   221,   219,   219,     1,     1,   223,   223,     1,
2089 >     219,    36,   137,   138,   223,    51,    52,    53,    54,   137,
2090 >     138,    68,    69,     9,    10,    11,   163,   164,    75,    76,
2091 >      77,    56,    61,   221,   219,    71,    61,    61,   223,     1,
2092 >     219,    61,     1,    89,   223,   401,   402,   221,    91,    91,
2093 >      97,    98,    14,   409,   198,   411,    91,    91,    89,    91,
2094 >      61,    91,   418,   110,   111,    24,   219,   423,   219,   115,
2095 >     223,   221,   223,   221,   121,    91,   114,    91,   434,   435,
2096 >      91,   437,     1,   130,   115,   123,   124,     6,     7,   445,
2097 >     446,   221,   448,    12,   119,    91,    91,   221,    57,   189,
2098 >     221,    20,   122,   219,   194,   122,   122,    26,   219,    28,
2099 >      29,    30,   223,   221,   122,   101,    35,     1,   156,   154,
2100 >     154,   122,    41,    42,   154,    44,    45,    46,  1038,  1039,
2101 >    1040,    50,    91,    95,    93,    94,    55,   154,   154,     1,
2102 >      59,    60,   194,   154,    63,   219,   154,    66,    67,   223,
2103 >     219,   221,    14,   219,   223,    74,   221,   223,   154,   154,
2104 >     122,   221,    81,    82,   221,    84,    85,    86,    87,    88,
2105 >     219,   209,   131,   220,   133,   134,   135,   136,   220,   209,
2106 >      99,   537,   220,     1,   220,   220,   105,   106,   107,   220,
2107 >     109,   150,   209,   112,   113,   220,   220,   116,   209,    17,
2108 >     220,   209,     1,   220,   220,   211,   220,    91,   127,   220,
2109 >     163,   164,   218,   222,    32,   174,    15,    16,    36,   211,
2110 >      19,   217,   217,   222,   220,   184,   218,   120,   220,   222,
2111 >       1,   222,   151,    95,   222,    40,   155,   222,   122,   158,
2112 >     159,   160,   161,   162,   600,   219,   165,   166,   218,   223,
2113 >     181,   182,   608,   609,   213,   214,   222,    62,   220,    64,
2114 >     122,   220,   219,   219,   222,    36,   223,     1,   222,     3,
2115 >     154,     5,   222,    91,   222,   222,   222,     1,   222,    78,
2116 >      79,    80,   222,    17,    83,    56,   205,   206,   207,   222,
2117 >      61,   210,    91,   212,   222,   222,   114,   216,    32,   104,
2118 >      24,   220,    36,   102,   103,   222,   222,     1,   222,     3,
2119 >     222,     5,   101,   222,   132,     1,   222,   222,   117,   118,
2120 >     222,   222,    56,    17,    58,   222,   222,   222,   222,     1,
2121 >     222,    17,   222,    57,   222,   222,    70,   222,    32,   222,
2122 >     222,   222,    36,     1,   222,   222,    32,   146,   119,   222,
2123 >      36,   222,   141,   142,   143,   144,   145,    91,   222,    17,
2124 >     120,   222,    56,   222,    58,    37,   222,    91,   222,    93,
2125 >      94,   176,   177,   222,    32,   222,    70,   195,    36,    51,
2126 >      52,    53,    54,   222,   222,   119,   222,   222,   187,     1,
2127 >     222,   209,   222,   222,     6,     7,   222,    91,   222,    71,
2128 >      12,   222,   220,   222,   209,    91,   222,   131,    20,   133,
2129 >     134,   135,   136,   147,    26,   222,    28,    29,    30,   222,
2130 >     222,   220,   222,    35,   222,   119,   150,   222,   114,    41,
2131 >      42,   222,    44,    45,    46,   222,   222,   222,    50,   222,
2132 >     174,   222,   222,    55,   222,   222,   132,    59,    60,  1109,
2133 >     174,    63,   222,   147,    66,    67,   114,   219,   222,   222,
2134 >     184,   222,    74,   222,   222,   123,   124,     4,   222,    81,
2135 >      82,   222,    84,    85,    86,    87,    88,   222,   222,   213,
2136 >     174,   222,    13,   222,   222,   222,   220,    99,    25,   213,
2137 >     214,   222,   222,   105,   106,   107,   222,   109,   156,   120,
2138 >     112,   113,    33,    40,   116,   219,     1,   101,   101,   195,
2139 >      47,   163,    43,   101,   101,   127,   101,   101,    49,   213,
2140 >      15,    16,   163,   209,    19,   163,   101,    64,   791,   792,
2141 >     793,   794,   795,   163,    65,   163,   219,   219,   222,   151,
2142 >     219,   222,   222,   155,   222,   222,   158,   159,   160,   161,
2143 >     162,   209,    89,   165,   166,   222,   222,   222,   222,    96,
2144 >     222,    92,    51,     0,     1,   222,   222,     4,   222,   100,
2145 >     120,   108,   222,   222,   222,   222,   222,    14,   222,   222,
2146 >      17,    18,   222,    78,    79,    80,    23,   222,    83,   126,
2147 >     222,   128,   129,   205,   206,   207,    91,    34,   210,    51,
2148 >     212,    38,    39,   222,   216,   222,   222,   102,   103,   140,
2149 >     163,    48,   222,   222,   219,   222,   222,   101,   163,   163,
2150 >     101,   120,   117,   118,   163,    62,   157,    51,   163,   101,
2151 >     101,   101,   120,   163,   163,    72,    73,   163,   163,   101,
2152 >     177,   101,   101,   101,   120,   101,   101,   163,   163,   186,
2153 >     222,   146,   163,    90,   191,   222,   163,   163,   163,   163,
2154 >     197,   163,   163,   120,   201,   163,   203,   104,   219,   163,
2155 >     163,   208,   163,   219,   222,   222,   163,   219,   215,   222,
2156 >     169,   170,   171,   172,   173,    64,   175,   176,   222,   178,
2157 >     179,   180,   187,   221,   183,    64,   185,   186,   222,   188,
2158 >     222,   190,   139,   192,   193,   222,   120,   196,   222,   222,
2159 >     222,   148,   149,   202,   222,   152,   153,   169,   170,   171,
2160 >     172,   173,   222,   175,   176,   120,   178,   179,   180,   219,
2161 >     222,   183,   163,   185,   186,   163,   188,   219,   190,   219,
2162 >     192,   193,   219,   222,   196,   169,   170,   171,   172,   173,
2163 >     202,   175,   176,   222,   178,   179,   180,   222,   222,   183,
2164 >     139,   185,   186,   120,   188,   163,   190,   204,   192,   193,
2165 >     139,   222,   196,   222,     1,   222,   222,   163,   202,   219,
2166 >     120,   163,   120,   120,   120,   120,   120,   120,   120,   168,
2167 >     120,   101,   120,   120,    21,    22,   219,   219,   177,   168,
2168 >      27,   222,   222,   219,   183,   222,   120,   219,   177,   219,
2169 >     219,   219,   219,   219,   183,   219,   219,   219,   197,   219,
2170 >     199,   200,   219,   219,   101,   219,   219,   219,   197,   208,
2171 >     199,   200,   219,   101,   219,   219,   215,   101,   101,   208,
2172 >     101,    68,    69,   101,   120,   101,   215,   101,    75,    76,
2173 >      77,   101,   219,   120,   120,   163,   222,   101,   120,   219,
2174 >     120,   120,   223,   120,   219,   120,   219,   120,   120,   120,
2175 >      97,    98,   120,   120,   120,   222,   219,   219,   219,   120,
2176 >     219,   120,   101,   110,   111,   120,   120,   120,   219,   120,
2177 >     219,   120,   163,   219,   121,   219,   219,   219,   219,   219,
2178 >     219,   219,   219,   130,   219,   120,   219,   219,   219,   120,
2179 >     219,   101,   219,   219,   219,   219,   219,   219,   219,   219,
2180 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2181 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2182 >     219,   219,   120,   163,   219,   219,   219,   219,   120,   120,
2183 >     219,   120,   222,   120,   120,   120,   120,   222,   120,   120,
2184 >     120,  1005,  1007,    71,   101,   970,   167,  1246,  1219,   489,
2185 >     219,   125,   513,  1217,   336,  1207,   219,   222,  1104,   219,
2186 >     222,   219,   219,   125,   120,  1203,   222,   219,   562,   219,
2187 >     464,   219,  1221,   219,   219,   219,   219,   219,   219,   570,
2188 >     527,   219,   219,   219,  1197,   219,   219,   219,   366,   219,
2189 >     219,   219,   219,   219,   219,  1223,   219,   112,   222,   219,
2190 >     222,   219,   219,   219,   219,   219,   219,   219,   219,  1205,
2191 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2192 >     219,   479,   219,   219,   219,   219,   219,  1199,   396,   219,
2193 >    1072,   219,  1070,    91,    -1,    -1,   219,   170,    -1,   384,
2194 >     219,   219,   219,   219,   219,    -1,   219,   219,   219,   219,
2195 >     219,   219,   219,   219,   219,   219,   219,    -1,   219,    -1,
2196 >      -1,   219,   222,   222,   219,   219,   219,   219,   219,   219,
2197 >     219,   219,   219,   219,   219,   219,    -1,   219,   219,   222,
2198 >     219,   219,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2199 >      -1,    -1,    -1,    -1,   230,    -1,    -1,    -1,   238,    -1,
2200 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2201 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,   251,    -1,    -1,
2202        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2203 +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   275,    -1,
2204        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2205 <      -1,    -1,    -1,   293
2205 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2206 >      -1,   296
2207   };
2208  
2209   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2210     symbol of state STATE-NUM.  */
2211   static const yytype_uint16 yystos[] =
2212   {
2213 <       0,   268,     0,     1,     5,    22,    26,    29,    36,    52,
2214 <      65,    66,    68,    75,    92,   102,   104,   121,   138,   173,
2215 <     182,   183,   187,   188,   269,   274,   279,   297,   303,   318,
2216 <     355,   374,   388,   414,   421,   431,   440,   471,   481,   487,
2217 <     491,   501,   566,   582,   603,   262,   263,   264,   264,   356,
2218 <     441,   482,   264,   492,   264,   567,   389,   472,   375,   264,
2219 <     264,   319,   415,   264,   264,   422,   432,     1,    37,    48,
2220 <     122,   298,   299,   300,   301,   302,     1,    13,    34,    35,
2221 <      40,    42,    98,    99,   107,   108,   128,   129,   145,   146,
2222 <     156,   165,   252,   253,   254,   583,   584,   585,   586,   587,
2223 <     588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
2224 <     598,   599,   600,   601,   602,   155,   357,   361,   155,   442,
2225 <     446,   264,     1,    91,   488,   489,   490,   264,     1,     8,
2226 <       9,    12,    19,    28,    32,    33,    39,    43,    44,    45,
2227 <      47,    53,    72,    73,    77,    84,    88,    89,    90,    93,
2228 <      96,    97,   106,   112,   113,   115,   116,   117,   118,   119,
2229 <     130,   139,   141,   142,   144,   147,   148,   151,   162,   184,
2230 <     186,   190,   194,   195,   196,   197,   198,   202,   203,   211,
2231 <     243,   245,   251,   256,   261,   502,   503,   504,   505,   506,
2232 <     507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
2233 <     517,   518,   519,   520,   521,   522,   523,   524,   525,   526,
2234 <     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
2235 <     537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
2236 <     547,   548,   549,   550,   551,   552,   553,   557,   561,   562,
2237 <     563,   564,   565,   264,   264,   264,   264,     1,    57,    58,
2238 <      59,    60,    61,    62,    63,    64,   105,   140,   221,   255,
2239 <     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
2240 <     314,   315,   316,   317,     1,   120,   150,   275,   276,   277,
2241 <     278,   155,   320,   324,   264,     1,    41,    56,    78,    80,
2242 <      82,    83,   101,   604,   605,   606,   607,   608,   609,   610,
2243 <     611,   612,     1,    37,    86,   122,   124,   125,   167,   169,
2244 <     170,   185,   229,   257,   258,   280,   281,   282,   286,   287,
2245 <     288,   289,   290,   291,   292,   293,   294,   295,   296,   264,
2246 <     264,   262,   265,   265,   265,   263,   299,   265,   265,   265,
2247 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2248 <     265,   265,   265,   265,   265,   263,   584,   264,   264,     1,
2249 <      91,   157,   483,   484,   485,   486,   265,   263,   489,     1,
2250 <     122,   157,   189,   493,   497,   498,   499,   500,   265,   265,
2251 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2252 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2253 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2254 <     265,   558,   265,   554,   265,   265,   265,   265,   265,   265,
2255 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2256 <     265,   265,   265,   265,   263,   503,     1,     4,    46,    49,
2257 <     104,   122,   250,   568,   569,   570,   571,   572,   576,   577,
2258 <     578,     1,    20,    26,    50,    51,    55,    69,    76,    95,
2259 <     123,   131,   149,   158,   159,   192,   193,   250,   390,   391,
2260 <     392,   393,   394,   395,   396,   397,   404,   405,   406,   407,
2261 <     408,   409,   410,   411,   412,   413,     1,   157,   189,   250,
2262 <     473,   477,   478,   479,   480,     1,    55,    85,    91,   154,
2263 <     376,   380,   381,   382,   386,   387,   262,   265,   265,   265,
2264 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   263,
2265 <     305,   262,   265,   265,   263,   276,   264,     1,    22,   126,
2266 <     157,   416,   417,   418,   419,   420,   265,   265,   265,   265,
2267 <     265,   265,   265,   263,   605,   262,   265,   265,   265,   265,
2268 <     265,   265,   265,   283,   265,   265,   265,   265,   263,   281,
2269 <       1,   122,   189,   250,   423,   424,   425,   426,   427,     1,
2270 <     122,   189,   433,   434,   435,   436,   155,   155,   155,   262,
2271 <     199,   133,   133,   199,   199,   133,   271,   271,   133,   133,
2272 <     199,   199,   133,   271,   199,   199,   199,   199,   199,   262,
2273 <       1,    23,    24,    30,   109,   110,   111,   114,   122,   135,
2274 <     136,   152,   153,   180,   358,   359,   360,   362,   363,   364,
2275 <     365,   366,   367,   368,   369,   370,   371,   372,   373,     1,
2276 <       3,     6,    10,    25,    26,    27,    31,    50,    54,    55,
2277 <      85,    87,   100,   122,   154,   168,   181,   244,   257,   443,
2278 <     444,   445,   447,   448,   449,   450,   451,   452,   453,   454,
2279 <     461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
2280 <     265,   265,   263,   484,   155,   262,   265,   265,   494,   263,
2281 <     498,   199,   271,   199,   271,   133,   155,   133,   199,   199,
2282 <     199,   133,   155,   199,   133,   133,   133,   199,   271,   199,
2283 <     199,   133,   155,   199,   133,   133,   271,   133,   133,   155,
2284 <     133,   133,   199,   199,   265,   199,   265,   271,   271,   199,
2285 <     271,   155,   199,   199,   199,   199,   200,   199,   200,   199,
2286 <     199,   271,   271,   133,   273,   271,   199,   199,   199,   199,
2287 <     262,   579,   265,   265,   573,   265,   265,   263,   569,   262,
2288 <     265,   265,   265,   265,   398,   265,   265,   265,   265,   265,
2289 <     265,   265,   265,   265,   265,   265,   263,   391,   265,   474,
2290 <     265,   263,   478,   262,   377,   265,   265,   265,   263,   381,
2291 <     155,   155,   155,   155,   155,   155,   155,   155,   222,   223,
2292 <     224,   225,   226,   227,   228,   155,   155,   199,   262,   155,
2293 <     155,   262,     1,     5,    26,    38,    50,    55,    67,    74,
2294 <      79,    81,    94,   122,   127,   149,   161,   163,   164,   168,
2295 <     231,   238,   249,   250,   259,   321,   322,   323,   325,   326,
2296 <     327,   328,   329,   330,   334,   335,   336,   337,   338,   339,
2297 <     340,   341,   342,   343,   344,   345,   346,   347,   348,   262,
2298 <     265,   265,   265,   263,   417,   199,   199,   199,   155,   199,
2299 <     199,   271,   262,   155,   199,   155,   155,   155,   155,   155,
2300 <     265,   155,   133,   155,   155,   262,   262,   265,   428,   265,
2301 <     263,   424,   262,   265,   437,   263,   434,   262,   262,   262,
2302 <     262,   262,   262,   262,   262,   175,   176,   177,   178,   179,
2303 <     270,   271,   262,   262,   262,   262,   262,   262,   262,   262,
2304 <     262,   262,   262,   262,   262,   262,   265,   265,   265,   265,
2305 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   263,
2306 <     359,   262,   265,   265,   265,   265,   265,   265,   265,   265,
2307 <     265,   455,   265,   265,   265,   265,   265,   265,   265,   265,
2308 <     265,   263,   444,   155,   155,   262,   262,   155,   155,   265,
2309 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2310 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2311 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2312 <     262,   262,   262,   262,   206,   207,   208,   209,   210,   212,
2313 <     213,   215,   216,   217,   220,   230,   231,   232,   234,   235,
2314 <     236,   239,   242,   559,   560,   262,   206,   207,   208,   209,
2315 <     210,   212,   213,   215,   216,   217,   220,   230,   231,   232,
2316 <     234,   235,   236,   239,   242,   555,   556,   262,   262,   262,
2317 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2318 <     262,   262,   262,    14,    15,    16,   272,   273,   262,   262,
2319 <     262,   262,   262,   262,   265,   271,   199,   265,   155,   155,
2320 <     262,   199,   155,   199,   199,   265,   199,   199,   199,   199,
2321 <     199,   155,   133,   155,   155,   199,   155,   262,   155,   265,
2322 <     155,   262,   265,   155,   155,   133,   384,   385,   262,   262,
2323 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2324 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2325 <     265,   265,   265,   265,   349,   265,   265,   265,   265,   265,
2326 <     265,   265,   265,   265,   265,   265,   265,   265,   331,   265,
2327 <     265,   265,   263,   322,   155,   155,   155,   262,   262,   262,
2328 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2329 <     262,   262,   171,   172,   284,   285,   262,   262,   262,   262,
2330 <     155,   265,   155,   262,   155,   265,   262,   270,   270,   270,
2331 <     270,   270,   133,   133,   271,   133,   133,   133,   133,   155,
2332 <     133,   133,   271,   271,   273,   262,   155,   218,   219,   199,
2333 <     155,   155,   199,   199,   199,   155,   265,   155,   155,   155,
2334 <     155,   133,   155,   155,   199,   155,   262,   262,   262,   262,
2335 <     262,   160,   495,   496,   262,   266,   262,   266,   272,   272,
2336 <     272,    11,   201,   580,   581,   262,   262,    11,   201,   574,
2337 <     575,   262,   262,   262,   262,   262,   262,   132,   399,   400,
2633 <     402,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2634 <     262,   262,   262,   160,   475,   476,   262,    78,   233,   237,
2635 <     378,   379,   262,   262,   204,   266,   383,   199,   155,   199,
2636 <     199,   265,   199,   199,   199,   199,   199,   155,   199,   155,
2637 <     199,   199,   199,   155,   199,   265,   199,   155,   199,   262,
2638 <     262,   262,   262,   262,   266,   262,    94,   173,   205,   220,
2639 <     240,   241,   246,   247,   248,   249,   259,   429,   430,   262,
2640 <     262,    94,   173,   205,   220,   240,   241,   246,   247,   248,
2641 <     249,   259,   438,   439,   262,   262,   262,   262,   262,   262,
2642 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2643 <     262,   262,   262,   262,   262,   262,   262,   132,   456,   457,
2644 <     459,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2645 <     262,   266,   560,   556,   262,   266,   262,   266,   401,   262,
2646 <     266,    20,    21,    51,    69,    76,    95,   123,   131,   174,
2647 <     193,   403,   262,   266,   262,   266,   133,   385,   262,   262,
2648 <     262,   262,   262,   132,   350,   351,   353,   262,   262,   262,
2649 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2650 <     206,   207,   208,   209,   210,   212,   213,   215,   216,   217,
2651 <     220,   230,   231,   232,   234,   235,   236,   239,   242,   332,
2652 <     333,   262,   262,   262,   285,   262,   266,   262,   266,   458,
2653 <     262,   266,    10,    12,    27,    31,   244,   460,   496,   581,
2654 <     575,   403,   400,   476,   379,   352,   262,   266,     5,    38,
2655 <      50,    67,    74,    79,    81,    94,   127,   143,   161,   163,
2656 <     164,   231,   249,   259,   354,   262,   266,   430,   439,   460,
2657 <     457,   354,   351,   333
2213 >       0,   225,     0,     1,     4,    14,    17,    18,    23,    34,
2214 >      38,    39,    48,    62,    72,    73,    90,   104,   139,   148,
2215 >     149,   152,   153,   204,   226,   231,   236,   258,   264,   278,
2216 >     296,   314,   328,   343,   350,   354,   364,   373,   393,   403,
2217 >     409,   413,   423,   485,   502,   219,   220,   221,   221,   297,
2218 >     374,   404,   221,   414,   221,   329,   394,   315,   221,   221,
2219 >     279,   344,   221,   221,   355,   365,   221,     1,    24,    31,
2220 >      91,   259,   260,   261,   262,   263,     1,    21,    22,    27,
2221 >      68,    69,    75,    76,    77,    97,    98,   110,   111,   121,
2222 >     130,   486,   487,   488,   489,   490,   491,   492,   493,   494,
2223 >     495,   496,   497,   498,   499,   500,   501,   221,   221,   221,
2224 >       1,    61,   410,   411,   412,   221,     1,     6,     7,    12,
2225 >      20,    26,    28,    29,    30,    35,    41,    42,    44,    45,
2226 >      46,    50,    55,    59,    60,    63,    66,    67,    74,    81,
2227 >      82,    84,    85,    86,    87,    88,    99,   105,   106,   107,
2228 >     109,   112,   113,   116,   127,   151,   155,   158,   159,   160,
2229 >     161,   162,   165,   166,   205,   206,   207,   210,   212,   216,
2230 >     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
2231 >     434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
2232 >     444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
2233 >     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
2234 >     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
2235 >     474,   478,   482,   483,   484,   221,   221,   221,     1,   211,
2236 >     265,   266,   267,   268,   269,     1,    89,   115,   232,   233,
2237 >     234,   235,   221,   221,     1,    37,    51,    52,    53,    54,
2238 >      71,   503,   504,   505,   506,   507,   508,   509,   510,     1,
2239 >      24,    57,    91,    93,    94,   131,   133,   134,   135,   136,
2240 >     150,   174,   184,   213,   214,   237,   238,   239,   240,   245,
2241 >     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
2242 >     256,   257,   221,   221,     1,    91,   351,   352,   353,   219,
2243 >     222,   222,   222,   220,   260,   222,   222,   222,   222,   222,
2244 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   220,
2245 >     487,     1,    15,    16,    19,    78,    79,    80,    83,    91,
2246 >     102,   103,   117,   118,   146,   187,   298,   299,   300,   301,
2247 >     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
2248 >     312,   313,     1,     3,     5,    17,    32,    36,    56,    58,
2249 >      70,    91,   119,   147,   174,   213,   375,   376,   377,   378,
2250 >     379,   380,   381,   382,   383,   384,   388,   389,   390,   391,
2251 >     392,     1,    61,   122,   405,   406,   407,   408,   222,   220,
2252 >     411,     1,    91,   122,   154,   415,   419,   420,   421,   422,
2253 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2254 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2255 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2256 >     222,   479,   222,   475,   222,   222,   222,   222,   222,   222,
2257 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2258 >     222,   222,   222,   220,   425,     1,    17,    32,    36,   114,
2259 >     123,   124,   156,   209,   330,   331,   332,   333,   334,   335,
2260 >     336,   340,   341,   342,     1,   122,   154,   209,   395,   399,
2261 >     400,   401,   402,     1,    36,    56,    61,   119,   316,   320,
2262 >     321,   322,   326,   327,   219,   222,   220,   266,   218,   219,
2263 >     222,   222,   220,   233,     1,    17,    32,    36,    91,   114,
2264 >     132,   195,   209,   280,   281,   282,   283,   284,   285,   286,
2265 >     287,   288,   292,     1,    14,    95,   122,   345,   346,   347,
2266 >     348,   349,   222,   222,   222,   222,   222,   222,   220,   504,
2267 >     219,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2268 >     222,   222,   222,   222,   222,   222,   220,   238,     1,    91,
2269 >     154,   209,   356,   357,   358,   359,   360,     1,    91,   154,
2270 >     366,   367,   368,   369,   222,   220,   352,   120,   120,   120,
2271 >     219,   101,   101,   163,   101,   228,   228,   101,   101,   101,
2272 >     163,   163,   101,   228,   163,   163,   219,   219,   222,   222,
2273 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2274 >     222,   222,   220,   299,   219,   222,   222,   222,   222,   385,
2275 >     222,   222,   222,   222,   222,   222,   222,   222,   220,   376,
2276 >     222,   222,   220,   406,   120,   219,   222,   222,   416,   220,
2277 >     420,   163,   228,   228,   101,   163,   163,   101,   120,   163,
2278 >     228,   163,   228,   101,   101,   101,   163,   163,   163,   228,
2279 >     120,   163,   101,   101,   228,   101,   101,   120,   101,   101,
2280 >     163,   163,   222,   163,   222,   228,   228,   163,   228,   163,
2281 >     163,   163,   163,   164,   163,   164,   163,   163,   228,   228,
2282 >     120,   228,   163,   163,   163,   163,   219,   219,   222,   222,
2283 >     337,   222,   222,   222,   222,   222,   220,   331,   222,   396,
2284 >     222,   220,   400,   219,   317,   222,   222,   222,   220,   321,
2285 >     163,   219,   221,   120,   120,   219,   219,   222,   222,   293,
2286 >     222,   222,   222,   289,   222,   220,   281,   219,   222,   222,
2287 >     222,   220,   346,   163,   163,   120,   163,   163,   228,   219,
2288 >     120,   163,   120,   120,   120,   120,   120,   120,   137,   138,
2289 >     241,   242,   137,   138,   243,   244,   120,   120,   101,   120,
2290 >     120,   219,   219,   222,   361,   222,   220,   357,   219,   222,
2291 >     370,   220,   367,   120,   219,   219,   219,   219,   219,   219,
2292 >     219,   141,   142,   143,   144,   145,   227,   228,   219,   219,
2293 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   101,
2294 >     101,   228,   101,   101,   101,   101,   120,   101,   101,   228,
2295 >     228,   101,   230,   230,   219,   120,   181,   182,   120,   163,
2296 >     222,   120,   120,   120,   120,   101,   120,   120,   120,   219,
2297 >     120,   120,   219,   219,   120,   120,   222,   219,   219,   219,
2298 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2299 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2300 >     219,   219,   219,   219,   219,   219,   219,   219,   219,    51,
2301 >     169,   170,   171,   172,   173,   175,   176,   178,   179,   180,
2302 >     183,   185,   186,   188,   190,   192,   193,   196,   202,   480,
2303 >     481,   219,    51,   169,   170,   171,   172,   173,   175,   176,
2304 >     178,   179,   180,   183,   185,   186,   188,   190,   192,   193,
2305 >     196,   202,   476,   477,   219,   219,   219,   219,   219,   219,
2306 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2307 >     219,   219,   219,   219,   219,   120,   163,   222,   120,   101,
2308 >     120,   120,   120,   219,   120,   222,   120,   219,   222,   120,
2309 >     120,   101,   324,   325,   219,   219,     1,    91,   154,   217,
2310 >     270,   271,   272,   273,   274,   219,   219,   120,   163,   222,
2311 >     120,   120,   120,   222,   120,   219,   120,   120,   120,   219,
2312 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2313 >     219,   219,   219,   219,   219,   223,   219,   223,   219,   219,
2314 >     219,   219,   219,   120,   222,   120,   219,   120,   222,   219,
2315 >     219,   227,   227,   227,   227,   227,   219,   219,   219,   219,
2316 >     219,   219,   219,   219,   219,   219,   219,   219,     9,    10,
2317 >      11,   229,   230,   219,   219,   219,   219,   219,   219,   219,
2318 >       8,   194,   386,   387,   219,   219,   219,   219,   219,   219,
2319 >     219,   219,   219,   219,   219,   219,   125,   417,   418,   219,
2320 >     223,   219,   223,   219,   219,    13,    33,    43,    49,    65,
2321 >      92,   100,   140,   157,   338,   339,   219,   219,   219,   219,
2322 >     219,   219,   125,   397,   398,   219,    51,   189,   194,   318,
2323 >     319,   219,   219,   167,   223,   323,   219,   222,   275,   222,
2324 >     220,   271,   219,   219,     4,    25,    40,    47,    64,    89,
2325 >      96,   108,   126,   128,   129,   177,   186,   191,   197,   201,
2326 >     203,   208,   215,   294,   295,   219,   219,   219,    51,   169,
2327 >     170,   171,   172,   173,   175,   176,   178,   179,   180,   183,
2328 >     185,   186,   188,   190,   192,   193,   196,   202,   290,   291,
2329 >     219,   219,   219,   219,   242,   244,   219,    64,   139,   168,
2330 >     177,   183,   197,   199,   200,   208,   215,   362,   363,   219,
2331 >     219,    64,   139,   168,   177,   183,   197,   199,   200,   208,
2332 >     215,   371,   372,   229,   229,   229,   219,   223,   219,   223,
2333 >     481,   477,   219,   223,   219,   223,   219,   223,   101,   325,
2334 >     219,   120,   222,   198,   230,   219,   219,   223,   219,   223,
2335 >     219,   223,   219,   223,   387,   418,   339,   398,   319,   219,
2336 >      40,    62,    64,   104,   176,   177,   209,   276,   277,   219,
2337 >     219,   295,   291,   363,   372,   219,   223,   277
2338   };
2339  
2340   #define yyerrok         (yyerrstatus = 0)
# Line 2669 | Line 2349 | static const yytype_uint16 yystos[] =
2349  
2350   /* Like YYERROR except do call yyerror.  This remains here temporarily
2351     to ease the transition to the new meaning of YYERROR, for GCC.
2352 <   Once GCC version 2 has supplanted version 1, this can go.  */
2352 >   Once GCC version 2 has supplanted version 1, this can go.  However,
2353 >   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
2354 >   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
2355 >   discussed.  */
2356  
2357   #define YYFAIL          goto yyerrlab
2358 + #if defined YYFAIL
2359 +  /* This is here to suppress warnings from the GCC cpp's
2360 +     -Wunused-macros.  Normally we don't worry about that warning, but
2361 +     some users do, and we want to make it easy for users to remove
2362 +     YYFAIL uses, which will produce warnings from Bison 2.5.  */
2363 + #endif
2364  
2365   #define YYRECOVERING()  (!!yyerrstatus)
2366  
2367 < #define YYBACKUP(Token, Value)                                  \
2368 < do                                                              \
2369 <  if (yychar == YYEMPTY && yylen == 1)                          \
2370 <    {                                                           \
2371 <      yychar = (Token);                                         \
2372 <      yylval = (Value);                                         \
2373 <      yytoken = YYTRANSLATE (yychar);                           \
2374 <      YYPOPSTACK (1);                                           \
2375 <      goto yybackup;                                            \
2376 <    }                                                           \
2377 <  else                                                          \
2378 <    {                                                           \
2367 > #define YYBACKUP(Token, Value)                                  \
2368 > do                                                              \
2369 >  if (yychar == YYEMPTY)                                        \
2370 >    {                                                           \
2371 >      yychar = (Token);                                         \
2372 >      yylval = (Value);                                         \
2373 >      YYPOPSTACK (yylen);                                       \
2374 >      yystate = *yyssp;                                         \
2375 >      goto yybackup;                                            \
2376 >    }                                                           \
2377 >  else                                                          \
2378 >    {                                                           \
2379        yyerror (YY_("syntax error: cannot back up")); \
2380        YYERROR;                                                  \
2381      }                                                           \
# Line 2696 | Line 2385 | while (YYID (0))
2385   #define YYTERROR        1
2386   #define YYERRCODE       256
2387  
2699
2388   /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2389     If N is 0, then set CURRENT to the empty location which ends
2390     the previous symbol: RHS[0] (always defined).  */
2391  
2704 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2392   #ifndef YYLLOC_DEFAULT
2393 < # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2394 <    do                                                                  \
2395 <      if (YYID (N))                                                    \
2396 <        {                                                               \
2397 <          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2398 <          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2399 <          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2400 <          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2401 <        }                                                               \
2402 <      else                                                              \
2403 <        {                                                               \
2404 <          (Current).first_line   = (Current).last_line   =              \
2405 <            YYRHSLOC (Rhs, 0).last_line;                                \
2406 <          (Current).first_column = (Current).last_column =              \
2407 <            YYRHSLOC (Rhs, 0).last_column;                              \
2408 <        }                                                               \
2393 > # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2394 >    do                                                                  \
2395 >      if (YYID (N))                                                     \
2396 >        {                                                               \
2397 >          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2398 >          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2399 >          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2400 >          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2401 >        }                                                               \
2402 >      else                                                              \
2403 >        {                                                               \
2404 >          (Current).first_line   = (Current).last_line   =              \
2405 >            YYRHSLOC (Rhs, 0).last_line;                                \
2406 >          (Current).first_column = (Current).last_column =              \
2407 >            YYRHSLOC (Rhs, 0).last_column;                              \
2408 >        }                                                               \
2409      while (YYID (0))
2410   #endif
2411  
2412 + #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2413 +
2414 +
2415  
2416 < /* YY_LOCATION_PRINT -- Print the location on the stream.
2727 <   This macro was not mandated originally: define only if we know
2728 <   we won't break user code: when these are the locations we know.  */
2416 > /* This macro is provided for backward compatibility. */
2417  
2418   #ifndef YY_LOCATION_PRINT
2419 < # if YYLTYPE_IS_TRIVIAL
2732 < #  define YY_LOCATION_PRINT(File, Loc)                  \
2733 <     fprintf (File, "%d.%d-%d.%d",                      \
2734 <              (Loc).first_line, (Loc).first_column,     \
2735 <              (Loc).last_line,  (Loc).last_column)
2736 < # else
2737 < #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2738 < # endif
2419 > # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2420   #endif
2421  
2422  
# Line 2790 | Line 2471 | yy_symbol_value_print (yyoutput, yytype,
2471      YYSTYPE const * const yyvaluep;
2472   #endif
2473   {
2474 +  FILE *yyo = yyoutput;
2475 +  YYUSE (yyo);
2476    if (!yyvaluep)
2477      return;
2478   # ifdef YYPRINT
# Line 2927 | Line 2610 | int yydebug;
2610   # define YYMAXDEPTH 10000
2611   #endif
2612  
2930
2613  
2614   #if YYERROR_VERBOSE
2615  
# Line 3030 | Line 2712 | yytnamerr (char *yyres, const char *yyst
2712   }
2713   # endif
2714  
2715 < /* Copy into YYRESULT an error message about the unexpected token
2716 <   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
2717 <   including the terminating null byte.  If YYRESULT is null, do not
2718 <   copy anything; just return the number of bytes that would be
2719 <   copied.  As a special case, return 0 if an ordinary "syntax error"
2720 <   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
2721 <   size calculation.  */
2722 < static YYSIZE_T
2723 < yysyntax_error (char *yyresult, int yystate, int yychar)
2715 > /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
2716 >   about the unexpected token YYTOKEN for the state stack whose top is
2717 >   YYSSP.
2718 >
2719 >   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
2720 >   not large enough to hold the message.  In that case, also set
2721 >   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
2722 >   required number of bytes is too large to store.  */
2723 > static int
2724 > yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2725 >                yytype_int16 *yyssp, int yytoken)
2726   {
2727 <  int yyn = yypact[yystate];
2727 >  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
2728 >  YYSIZE_T yysize = yysize0;
2729 >  YYSIZE_T yysize1;
2730 >  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2731 >  /* Internationalized format string. */
2732 >  const char *yyformat = YY_NULL;
2733 >  /* Arguments of yyformat. */
2734 >  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2735 >  /* Number of reported tokens (one for the "unexpected", one per
2736 >     "expected"). */
2737 >  int yycount = 0;
2738 >
2739 >  /* There are many possibilities here to consider:
2740 >     - Assume YYFAIL is not used.  It's too flawed to consider.  See
2741 >       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
2742 >       for details.  YYERROR is fine as it does not invoke this
2743 >       function.
2744 >     - If this state is a consistent state with a default action, then
2745 >       the only way this function was invoked is if the default action
2746 >       is an error action.  In that case, don't check for expected
2747 >       tokens because there are none.
2748 >     - The only way there can be no lookahead present (in yychar) is if
2749 >       this state is a consistent state with a default action.  Thus,
2750 >       detecting the absence of a lookahead is sufficient to determine
2751 >       that there is no unexpected or expected token to report.  In that
2752 >       case, just report a simple "syntax error".
2753 >     - Don't assume there isn't a lookahead just because this state is a
2754 >       consistent state with a default action.  There might have been a
2755 >       previous inconsistent state, consistent state with a non-default
2756 >       action, or user semantic action that manipulated yychar.
2757 >     - Of course, the expected token list depends on states to have
2758 >       correct lookahead information, and it depends on the parser not
2759 >       to perform extra reductions after fetching a lookahead from the
2760 >       scanner and before detecting a syntax error.  Thus, state merging
2761 >       (from LALR or IELR) and default reductions corrupt the expected
2762 >       token list.  However, the list is correct for canonical LR with
2763 >       one exception: it will still contain any token that will not be
2764 >       accepted due to an error action in a later state.
2765 >  */
2766 >  if (yytoken != YYEMPTY)
2767 >    {
2768 >      int yyn = yypact[*yyssp];
2769 >      yyarg[yycount++] = yytname[yytoken];
2770 >      if (!yypact_value_is_default (yyn))
2771 >        {
2772 >          /* Start YYX at -YYN if negative to avoid negative indexes in
2773 >             YYCHECK.  In other words, skip the first -YYN actions for
2774 >             this state because they are default actions.  */
2775 >          int yyxbegin = yyn < 0 ? -yyn : 0;
2776 >          /* Stay within bounds of both yycheck and yytname.  */
2777 >          int yychecklim = YYLAST - yyn + 1;
2778 >          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2779 >          int yyx;
2780 >
2781 >          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2782 >            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
2783 >                && !yytable_value_is_error (yytable[yyx + yyn]))
2784 >              {
2785 >                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2786 >                  {
2787 >                    yycount = 1;
2788 >                    yysize = yysize0;
2789 >                    break;
2790 >                  }
2791 >                yyarg[yycount++] = yytname[yyx];
2792 >                yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2793 >                if (! (yysize <= yysize1
2794 >                       && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2795 >                  return 2;
2796 >                yysize = yysize1;
2797 >              }
2798 >        }
2799 >    }
2800  
2801 <  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
3046 <    return 0;
3047 <  else
2801 >  switch (yycount)
2802      {
2803 <      int yytype = YYTRANSLATE (yychar);
2804 <      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2805 <      YYSIZE_T yysize = yysize0;
2806 <      YYSIZE_T yysize1;
2807 <      int yysize_overflow = 0;
2808 <      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2809 <      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2810 <      int yyx;
2811 <
2812 < # if 0
2813 <      /* This is so xgettext sees the translatable formats that are
2814 <         constructed on the fly.  */
2815 <      YY_("syntax error, unexpected %s");
2816 <      YY_("syntax error, unexpected %s, expecting %s");
2817 <      YY_("syntax error, unexpected %s, expecting %s or %s");
2818 <      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2819 <      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2820 < # endif
2821 <      char *yyfmt;
2822 <      char const *yyf;
2823 <      static char const yyunexpected[] = "syntax error, unexpected %s";
2824 <      static char const yyexpecting[] = ", expecting %s";
2825 <      static char const yyor[] = " or %s";
2826 <      char yyformat[sizeof yyunexpected
2827 <                    + sizeof yyexpecting - 1
2828 <                    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2829 <                       * (sizeof yyor - 1))];
2830 <      char const *yyprefix = yyexpecting;
2831 <
2832 <      /* Start YYX at -YYN if negative to avoid negative indexes in
2833 <         YYCHECK.  */
2834 <      int yyxbegin = yyn < 0 ? -yyn : 0;
2835 <
2836 <      /* Stay within bounds of both yycheck and yytname.  */
2837 <      int yychecklim = YYLAST - yyn + 1;
2838 <      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2839 <      int yycount = 1;
2840 <
2841 <      yyarg[0] = yytname[yytype];
2842 <      yyfmt = yystpcpy (yyformat, yyunexpected);
2843 <
2844 <      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2845 <        if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2846 <          {
2847 <            if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2848 <              {
3095 <                yycount = 1;
3096 <                yysize = yysize0;
3097 <                yyformat[sizeof yyunexpected - 1] = '\0';
3098 <                break;
3099 <              }
3100 <            yyarg[yycount++] = yytname[yyx];
3101 <            yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3102 <            yysize_overflow |= (yysize1 < yysize);
3103 <            yysize = yysize1;
3104 <            yyfmt = yystpcpy (yyfmt, yyprefix);
3105 <            yyprefix = yyor;
3106 <          }
3107 <
3108 <      yyf = YY_(yyformat);
3109 <      yysize1 = yysize + yystrlen (yyf);
3110 <      yysize_overflow |= (yysize1 < yysize);
3111 <      yysize = yysize1;
3112 <
3113 <      if (yysize_overflow)
3114 <        return YYSIZE_MAXIMUM;
3115 <
3116 <      if (yyresult)
3117 <        {
3118 <          /* Avoid sprintf, as that infringes on the user's name space.
3119 <             Don't have undefined behavior even if the translation
3120 <             produced a string with the wrong number of "%s"s.  */
3121 <          char *yyp = yyresult;
3122 <          int yyi = 0;
3123 <          while ((*yyp = *yyf) != '\0')
3124 <            {
3125 <              if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3126 <                {
3127 <                  yyp += yytnamerr (yyp, yyarg[yyi++]);
3128 <                  yyf += 2;
3129 <                }
3130 <              else
3131 <                {
3132 <                  yyp++;
3133 <                  yyf++;
3134 <                }
3135 <            }
3136 <        }
3137 <      return yysize;
3138 <    }
2803 > # define YYCASE_(N, S)                      \
2804 >      case N:                               \
2805 >        yyformat = S;                       \
2806 >      break
2807 >      YYCASE_(0, YY_("syntax error"));
2808 >      YYCASE_(1, YY_("syntax error, unexpected %s"));
2809 >      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
2810 >      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
2811 >      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
2812 >      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
2813 > # undef YYCASE_
2814 >    }
2815 >
2816 >  yysize1 = yysize + yystrlen (yyformat);
2817 >  if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2818 >    return 2;
2819 >  yysize = yysize1;
2820 >
2821 >  if (*yymsg_alloc < yysize)
2822 >    {
2823 >      *yymsg_alloc = 2 * yysize;
2824 >      if (! (yysize <= *yymsg_alloc
2825 >             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
2826 >        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
2827 >      return 1;
2828 >    }
2829 >
2830 >  /* Avoid sprintf, as that infringes on the user's name space.
2831 >     Don't have undefined behavior even if the translation
2832 >     produced a string with the wrong number of "%s"s.  */
2833 >  {
2834 >    char *yyp = *yymsg;
2835 >    int yyi = 0;
2836 >    while ((*yyp = *yyformat) != '\0')
2837 >      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
2838 >        {
2839 >          yyp += yytnamerr (yyp, yyarg[yyi++]);
2840 >          yyformat += 2;
2841 >        }
2842 >      else
2843 >        {
2844 >          yyp++;
2845 >          yyformat++;
2846 >        }
2847 >  }
2848 >  return 0;
2849   }
2850   #endif /* YYERROR_VERBOSE */
3141
2851  
2852   /*-----------------------------------------------.
2853   | Release the memory associated to this symbol.  |
# Line 3171 | Line 2880 | yydestruct (yymsg, yytype, yyvaluep)
2880      }
2881   }
2882  
2883 < /* Prevent warnings from -Wmissing-prototypes.  */
3175 < #ifdef YYPARSE_PARAM
3176 < #if defined __STDC__ || defined __cplusplus
3177 < int yyparse (void *YYPARSE_PARAM);
3178 < #else
3179 < int yyparse ();
3180 < #endif
3181 < #else /* ! YYPARSE_PARAM */
3182 < #if defined __STDC__ || defined __cplusplus
3183 < int yyparse (void);
3184 < #else
3185 < int yyparse ();
3186 < #endif
3187 < #endif /* ! YYPARSE_PARAM */
2883 >
2884  
2885  
2886   /* The lookahead symbol.  */
# Line 3197 | Line 2893 | YYSTYPE yylval;
2893   int yynerrs;
2894  
2895  
2896 <
2897 < /*-------------------------.
2898 < | yyparse or yypush_parse.  |
3203 < `-------------------------*/
2896 > /*----------.
2897 > | yyparse.  |
2898 > `----------*/
2899  
2900   #ifdef YYPARSE_PARAM
2901   #if (defined __STDC__ || defined __C99__FUNC__ \
# Line 3224 | Line 2919 | yyparse ()
2919   #endif
2920   #endif
2921   {
3227
3228
2922      int yystate;
2923      /* Number of tokens to shift before error messages enabled.  */
2924      int yyerrstatus;
# Line 3234 | Line 2927 | yyparse ()
2927         `yyss': related to states.
2928         `yyvs': related to semantic values.
2929  
2930 <       Refer to the stacks thru separate pointers, to allow yyoverflow
2930 >       Refer to the stacks through separate pointers, to allow yyoverflow
2931         to reallocate them elsewhere.  */
2932  
2933      /* The state stack.  */
# Line 3288 | Line 2981 | yyparse ()
2981       The wasted elements are never initialized.  */
2982    yyssp = yyss;
2983    yyvsp = yyvs;
3291
2984    goto yysetstate;
2985  
2986   /*------------------------------------------------------------.
# Line 3380 | Line 3072 | yybackup:
3072  
3073    /* First try to decide what to do without reference to lookahead token.  */
3074    yyn = yypact[yystate];
3075 <  if (yyn == YYPACT_NINF)
3075 >  if (yypact_value_is_default (yyn))
3076      goto yydefault;
3077  
3078    /* Not known => get a lookahead token if don't already have one.  */
# Line 3411 | Line 3103 | yybackup:
3103    yyn = yytable[yyn];
3104    if (yyn <= 0)
3105      {
3106 <      if (yyn == 0 || yyn == YYTABLE_NINF)
3107 <        goto yyerrlab;
3106 >      if (yytable_value_is_error (yyn))
3107 >        goto yyerrlab;
3108        yyn = -yyn;
3109        goto yyreduce;
3110      }
# Line 3466 | Line 3158 | yyreduce:
3158    switch (yyn)
3159      {
3160          case 26:
3161 <
3162 < /* Line 1455 of yacc.c  */
3471 < #line 432 "ircd_parser.y"
3161 > /* Line 1787 of yacc.c  */
3162 > #line 363 "conf_parser.y"
3163      { (yyval.number) = 0; }
3164      break;
3165  
3166    case 28:
3167 <
3168 < /* Line 1455 of yacc.c  */
3478 < #line 434 "ircd_parser.y"
3167 > /* Line 1787 of yacc.c  */
3168 > #line 365 "conf_parser.y"
3169      {
3170                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3171                  }
3172      break;
3173  
3174    case 29:
3175 <
3176 < /* Line 1455 of yacc.c  */
3487 < #line 438 "ircd_parser.y"
3175 > /* Line 1787 of yacc.c  */
3176 > #line 369 "conf_parser.y"
3177      {
3178                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3179                  }
3180      break;
3181  
3182    case 30:
3183 <
3184 < /* Line 1455 of yacc.c  */
3496 < #line 442 "ircd_parser.y"
3183 > /* Line 1787 of yacc.c  */
3184 > #line 373 "conf_parser.y"
3185      {
3186                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3187                  }
3188      break;
3189  
3190    case 31:
3191 <
3192 < /* Line 1455 of yacc.c  */
3505 < #line 446 "ircd_parser.y"
3191 > /* Line 1787 of yacc.c  */
3192 > #line 377 "conf_parser.y"
3193      {
3194                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3195                  }
3196      break;
3197  
3198    case 32:
3199 <
3200 < /* Line 1455 of yacc.c  */
3514 < #line 450 "ircd_parser.y"
3199 > /* Line 1787 of yacc.c  */
3200 > #line 381 "conf_parser.y"
3201      {
3202                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3203                  }
3204      break;
3205  
3206    case 33:
3207 <
3208 < /* Line 1455 of yacc.c  */
3523 < #line 454 "ircd_parser.y"
3207 > /* Line 1787 of yacc.c  */
3208 > #line 385 "conf_parser.y"
3209      {
3210                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3211                  }
3212      break;
3213  
3214    case 34:
3215 <
3216 < /* Line 1455 of yacc.c  */
3532 < #line 459 "ircd_parser.y"
3215 > /* Line 1787 of yacc.c  */
3216 > #line 390 "conf_parser.y"
3217      { (yyval.number) = 0; }
3218      break;
3219  
3220    case 36:
3221 <
3222 < /* Line 1455 of yacc.c  */
3539 < #line 460 "ircd_parser.y"
3221 > /* Line 1787 of yacc.c  */
3222 > #line 391 "conf_parser.y"
3223      { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3224      break;
3225  
3226    case 37:
3227 <
3228 < /* Line 1455 of yacc.c  */
3546 < #line 461 "ircd_parser.y"
3227 > /* Line 1787 of yacc.c  */
3228 > #line 392 "conf_parser.y"
3229      { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3230      break;
3231  
3232    case 38:
3233 <
3234 < /* Line 1455 of yacc.c  */
3553 < #line 462 "ircd_parser.y"
3233 > /* Line 1787 of yacc.c  */
3234 > #line 393 "conf_parser.y"
3235      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3236      break;
3237  
3238    case 39:
3239 <
3240 < /* Line 1455 of yacc.c  */
3560 < #line 463 "ircd_parser.y"
3239 > /* Line 1787 of yacc.c  */
3240 > #line 394 "conf_parser.y"
3241      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
3242      break;
3243  
3244    case 46:
3245 <
3246 < /* Line 1455 of yacc.c  */
3567 < #line 477 "ircd_parser.y"
3245 > /* Line 1787 of yacc.c  */
3246 > #line 408 "conf_parser.y"
3247      {
3569 #ifndef STATIC_MODULES /* NOOP in the static case */
3248    if (conf_parser_ctx.pass == 2)
3249      add_conf_module(libio_basename(yylval.string));
3572 #endif
3250   }
3251      break;
3252  
3253    case 47:
3254 <
3255 < /* Line 1455 of yacc.c  */
3579 < #line 485 "ircd_parser.y"
3254 > /* Line 1787 of yacc.c  */
3255 > #line 414 "conf_parser.y"
3256      {
3581 #ifndef STATIC_MODULES
3257    if (conf_parser_ctx.pass == 2)
3258      mod_add_path(yylval.string);
3584 #endif
3259   }
3260      break;
3261  
3262 <  case 64:
3263 <
3264 < /* Line 1455 of yacc.c  */
3591 < #line 507 "ircd_parser.y"
3262 >  case 71:
3263 > /* Line 1787 of yacc.c  */
3264 > #line 439 "conf_parser.y"
3265      {
3266 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3267 <    ServerInfo.tls_version = 0;
3266 > #ifdef HAVE_LIBCRYPTO
3267 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3268 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
3269 > #endif
3270   }
3271      break;
3272  
3273 <  case 65:
3274 <
3275 < /* Line 1455 of yacc.c  */
3601 < #line 511 "ircd_parser.y"
3273 >  case 72:
3274 > /* Line 1787 of yacc.c  */
3275 > #line 445 "conf_parser.y"
3276      {
3277 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3278 <  {
3279 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_SSLV3))
3280 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3607 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_TLSV1))
3608 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3609 <  }
3277 > #ifdef HAVE_LIBCRYPTO
3278 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3279 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
3280 > #endif
3281   }
3282      break;
3283  
3284 <  case 68:
3285 <
3286 < /* Line 1455 of yacc.c  */
3616 < #line 523 "ircd_parser.y"
3284 >  case 75:
3285 > /* Line 1787 of yacc.c  */
3286 > #line 454 "conf_parser.y"
3287      {
3288 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3289 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_SSLV3;
3288 > #ifdef HAVE_LIBCRYPTO
3289 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3290 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3291 > #endif
3292   }
3293      break;
3294  
3295 <  case 69:
3296 <
3297 < /* Line 1455 of yacc.c  */
3626 < #line 527 "ircd_parser.y"
3295 >  case 76:
3296 > /* Line 1787 of yacc.c  */
3297 > #line 460 "conf_parser.y"
3298      {
3299 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3300 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_TLSV1;
3299 > #ifdef HAVE_LIBCRYPTO
3300 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3301 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3302 > #endif
3303   }
3304      break;
3305  
3306 <  case 70:
3307 <
3308 < /* Line 1455 of yacc.c  */
3636 < #line 533 "ircd_parser.y"
3306 >  case 77:
3307 > /* Line 1787 of yacc.c  */
3308 > #line 468 "conf_parser.y"
3309      {
3310   #ifdef HAVE_LIBCRYPTO
3311    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3645 | Line 3317 | yyreduce:
3317      }
3318  
3319      if (SSL_CTX_use_certificate_file(ServerInfo.server_ctx, yylval.string,
3320 +                                     SSL_FILETYPE_PEM) <= 0 ||
3321 +        SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3322                                       SSL_FILETYPE_PEM) <= 0)
3323      {
3324        yyerror(ERR_lib_error_string(ERR_get_error()));
# Line 3652 | Line 3326 | yyreduce:
3326      }
3327  
3328      if (SSL_CTX_use_PrivateKey_file(ServerInfo.server_ctx, ServerInfo.rsa_private_key_file,
3329 +                                    SSL_FILETYPE_PEM) <= 0 ||
3330 +        SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3331                                      SSL_FILETYPE_PEM) <= 0)
3332      {
3333        yyerror(ERR_lib_error_string(ERR_get_error()));
3334        break;
3335      }
3336  
3337 <    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx))
3337 >    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3338 >        !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3339      {
3340        yyerror(ERR_lib_error_string(ERR_get_error()));
3341        break;
# Line 3668 | Line 3345 | yyreduce:
3345   }
3346      break;
3347  
3348 <  case 71:
3349 <
3350 < /* Line 1455 of yacc.c  */
3674 < #line 567 "ircd_parser.y"
3348 >  case 78:
3349 > /* Line 1787 of yacc.c  */
3350 > #line 507 "conf_parser.y"
3351      {
3352   #ifdef HAVE_LIBCRYPTO
3353    if (conf_parser_ctx.pass == 1)
# Line 3698 | Line 3374 | yyreduce:
3374        break;
3375      }
3376  
3377 <    ServerInfo.rsa_private_key = (RSA *)PEM_read_bio_RSAPrivateKey(file, NULL,
3702 <      0, NULL);
3377 >    ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3378  
3379      BIO_set_close(file, BIO_CLOSE);
3380      BIO_free(file);
# Line 3732 | Line 3407 | yyreduce:
3407   }
3408      break;
3409  
3410 <  case 72:
3410 >  case 79:
3411 > /* Line 1787 of yacc.c  */
3412 > #line 566 "conf_parser.y"
3413 >    {
3414 > /* TBD - XXX: error reporting */
3415 > #ifdef HAVE_LIBCRYPTO
3416 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3417 >  {
3418 >    BIO *file = BIO_new_file(yylval.string, "r");
3419 >
3420 >    if (file)
3421 >    {
3422 >      DH *dh = PEM_read_bio_DHparams(file, NULL, NULL, NULL);
3423 >
3424 >      BIO_free(file);
3425 >
3426 >      if (dh)
3427 >      {
3428 >        if (DH_size(dh) < 128)
3429 >          ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3430 >        else
3431 >          SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3432 >
3433 >        DH_free(dh);
3434 >      }
3435 >    }
3436 >  }
3437 > #endif
3438 > }
3439 >    break;
3440 >
3441 >  case 80:
3442 > /* Line 1787 of yacc.c  */
3443 > #line 594 "conf_parser.y"
3444 >    {
3445 > #ifdef HAVE_LIBCRYPTO
3446 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3447 >    SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3448 > #endif
3449 > }
3450 >    break;
3451  
3452 < /* Line 1455 of yacc.c  */
3453 < #line 627 "ircd_parser.y"
3452 >  case 81:
3453 > /* Line 1787 of yacc.c  */
3454 > #line 602 "conf_parser.y"
3455      {
3456    /* this isn't rehashable */
3457 <  if (conf_parser_ctx.pass == 2)
3457 >  if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
3458    {
3459 <    if (ServerInfo.name == NULL)
3459 >    if (valid_servname(yylval.string))
3460 >      DupString(ServerInfo.name, yylval.string);
3461 >    else
3462      {
3463 <      /* the ircd will exit() in main() if we dont set one */
3464 <      if (strlen(yylval.string) <= HOSTLEN)
3747 <        DupString(ServerInfo.name, yylval.string);
3463 >      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::name -- invalid name. Aborting.");
3464 >      exit(0);
3465      }
3466    }
3467   }
3468      break;
3469  
3470 <  case 73:
3471 <
3472 < /* Line 1455 of yacc.c  */
3756 < #line 641 "ircd_parser.y"
3470 >  case 82:
3471 > /* Line 1787 of yacc.c  */
3472 > #line 617 "conf_parser.y"
3473      {
3474    /* this isn't rehashable */
3475    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3762 | Line 3478 | yyreduce:
3478        DupString(ServerInfo.sid, yylval.string);
3479      else
3480      {
3481 <      ilog(L_ERROR, "Ignoring config file entry SID -- invalid SID. Aborting.");
3481 >      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::sid -- invalid SID. Aborting.");
3482        exit(0);
3483      }
3484    }
3485   }
3486      break;
3487  
3488 <  case 74:
3489 <
3490 < /* Line 1455 of yacc.c  */
3775 < #line 656 "ircd_parser.y"
3488 >  case 83:
3489 > /* Line 1787 of yacc.c  */
3490 > #line 632 "conf_parser.y"
3491      {
3492    if (conf_parser_ctx.pass == 2)
3493    {
# Line 3782 | Line 3497 | yyreduce:
3497   }
3498      break;
3499  
3500 <  case 75:
3501 <
3502 < /* Line 1455 of yacc.c  */
3788 < #line 665 "ircd_parser.y"
3500 >  case 84:
3501 > /* Line 1787 of yacc.c  */
3502 > #line 641 "conf_parser.y"
3503      {
3504    if (conf_parser_ctx.pass == 2)
3505    {
# Line 3800 | Line 3514 | yyreduce:
3514   }
3515      break;
3516  
3517 <  case 76:
3518 <
3519 < /* Line 1455 of yacc.c  */
3806 < #line 679 "ircd_parser.y"
3517 >  case 85:
3518 > /* Line 1787 of yacc.c  */
3519 > #line 655 "conf_parser.y"
3520      {
3521    if (conf_parser_ctx.pass == 2)
3522    {
# Line 3813 | Line 3526 | yyreduce:
3526   }
3527      break;
3528  
3529 <  case 77:
3530 <
3531 < /* Line 1455 of yacc.c  */
3819 < #line 688 "ircd_parser.y"
3529 >  case 86:
3530 > /* Line 1787 of yacc.c  */
3531 > #line 664 "conf_parser.y"
3532      {
3533    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3534    {
# Line 3828 | Line 3540 | yyreduce:
3540      hints.ai_socktype = SOCK_STREAM;
3541      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
3542  
3543 <    if (irc_getaddrinfo(yylval.string, NULL, &hints, &res))
3544 <      ilog(L_ERROR, "Invalid netmask for server vhost(%s)", yylval.string);
3543 >    if (getaddrinfo(yylval.string, NULL, &hints, &res))
3544 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
3545      else
3546      {
3547        assert(res != NULL);
# Line 3837 | Line 3549 | yyreduce:
3549        memcpy(&ServerInfo.ip, res->ai_addr, res->ai_addrlen);
3550        ServerInfo.ip.ss.ss_family = res->ai_family;
3551        ServerInfo.ip.ss_len = res->ai_addrlen;
3552 <      irc_freeaddrinfo(res);
3552 >      freeaddrinfo(res);
3553  
3554        ServerInfo.specific_ipv4_vhost = 1;
3555      }
# Line 3845 | Line 3557 | yyreduce:
3557   }
3558      break;
3559  
3560 <  case 78:
3561 <
3562 < /* Line 1455 of yacc.c  */
3851 < #line 716 "ircd_parser.y"
3560 >  case 87:
3561 > /* Line 1787 of yacc.c  */
3562 > #line 692 "conf_parser.y"
3563      {
3564   #ifdef IPV6
3565    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3861 | Line 3572 | yyreduce:
3572      hints.ai_socktype = SOCK_STREAM;
3573      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
3574  
3575 <    if (irc_getaddrinfo(yylval.string, NULL, &hints, &res))
3576 <      ilog(L_ERROR, "Invalid netmask for server vhost6(%s)", yylval.string);
3575 >    if (getaddrinfo(yylval.string, NULL, &hints, &res))
3576 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost6(%s)", yylval.string);
3577      else
3578      {
3579        assert(res != NULL);
# Line 3870 | Line 3581 | yyreduce:
3581        memcpy(&ServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3582        ServerInfo.ip6.ss.ss_family = res->ai_family;
3583        ServerInfo.ip6.ss_len = res->ai_addrlen;
3584 <      irc_freeaddrinfo(res);
3584 >      freeaddrinfo(res);
3585  
3586        ServerInfo.specific_ipv6_vhost = 1;
3587      }
# Line 3879 | Line 3590 | yyreduce:
3590   }
3591      break;
3592  
3593 <  case 79:
3594 <
3595 < /* Line 1455 of yacc.c  */
3885 < #line 746 "ircd_parser.y"
3593 >  case 88:
3594 > /* Line 1787 of yacc.c  */
3595 > #line 722 "conf_parser.y"
3596      {
3597    if (conf_parser_ctx.pass == 2)
3598    {
# Line 3906 | Line 3616 | yyreduce:
3616   }
3617      break;
3618  
3619 <  case 80:
3620 <
3621 < /* Line 1455 of yacc.c  */
3912 < #line 769 "ircd_parser.y"
3619 >  case 89:
3620 > /* Line 1787 of yacc.c  */
3621 > #line 745 "conf_parser.y"
3622      {
3623    if (conf_parser_ctx.pass == 2)
3624 <  {
3916 <    if (yylval.number)
3917 <    {
3918 <      ServerInfo.hub = 1;
3919 <      delete_capability("HUB");
3920 <      add_capability("HUB", CAP_HUB, 1);
3921 <    }
3922 <    else if (ServerInfo.hub)
3923 <    {
3924 <
3925 <      ServerInfo.hub = 0;
3926 <      delete_capability("HUB");
3927 <    }
3928 <  }
3624 >    ServerInfo.hub = yylval.number;
3625   }
3626      break;
3627  
3628 <  case 88:
3629 <
3630 < /* Line 1455 of yacc.c  */
3935 < #line 797 "ircd_parser.y"
3628 >  case 97:
3629 > /* Line 1787 of yacc.c  */
3630 > #line 760 "conf_parser.y"
3631      {
3632    if (conf_parser_ctx.pass == 2)
3633    {
# Line 3942 | Line 3637 | yyreduce:
3637   }
3638      break;
3639  
3640 <  case 89:
3641 <
3642 < /* Line 1455 of yacc.c  */
3948 < #line 806 "ircd_parser.y"
3640 >  case 98:
3641 > /* Line 1787 of yacc.c  */
3642 > #line 769 "conf_parser.y"
3643      {
3644    if (conf_parser_ctx.pass == 2)
3645    {
# Line 3955 | Line 3649 | yyreduce:
3649   }
3650      break;
3651  
3652 <  case 90:
3653 <
3654 < /* Line 1455 of yacc.c  */
3961 < #line 815 "ircd_parser.y"
3652 >  case 99:
3653 > /* Line 1787 of yacc.c  */
3654 > #line 778 "conf_parser.y"
3655      {
3656    if (conf_parser_ctx.pass == 2)
3657    {
# Line 3968 | Line 3661 | yyreduce:
3661   }
3662      break;
3663  
3664 <  case 107:
3665 <
3666 < /* Line 1455 of yacc.c  */
3974 < #line 842 "ircd_parser.y"
3975 <    {
3976 <                        }
3977 <    break;
3978 <
3979 <  case 108:
3980 <
3981 < /* Line 1455 of yacc.c  */
3982 < #line 846 "ircd_parser.y"
3983 <    {
3984 <                        }
3985 <    break;
3986 <
3987 <  case 109:
3988 <
3989 < /* Line 1455 of yacc.c  */
3990 < #line 850 "ircd_parser.y"
3664 >  case 106:
3665 > /* Line 1787 of yacc.c  */
3666 > #line 796 "conf_parser.y"
3667      {
3668    if (conf_parser_ctx.pass == 2)
3669 <    strlcpy(ConfigLoggingEntry.userlog, yylval.string,
3994 <            sizeof(ConfigLoggingEntry.userlog));
3995 < }
3996 <    break;
3997 <
3998 <  case 110:
3999 <
4000 < /* Line 1455 of yacc.c  */
4001 < #line 857 "ircd_parser.y"
4002 <    {
4003 <  if (conf_parser_ctx.pass == 2)
4004 <    strlcpy(ConfigLoggingEntry.failed_operlog, yylval.string,
4005 <            sizeof(ConfigLoggingEntry.failed_operlog));
3669 >    ConfigLoggingEntry.use_logging = yylval.number;
3670   }
3671      break;
3672  
3673 <  case 111:
3674 <
3675 < /* Line 1455 of yacc.c  */
4012 < #line 864 "ircd_parser.y"
3673 >  case 107:
3674 > /* Line 1787 of yacc.c  */
3675 > #line 802 "conf_parser.y"
3676      {
3677 <  if (conf_parser_ctx.pass == 2)
3678 <    strlcpy(ConfigLoggingEntry.operlog, yylval.string,
3679 <            sizeof(ConfigLoggingEntry.operlog));
3677 >  lfile[0] = '\0';
3678 >  ltype = 0;
3679 >  lsize = 0;
3680   }
3681      break;
3682  
3683 <  case 112:
3684 <
3685 < /* Line 1455 of yacc.c  */
4023 < #line 871 "ircd_parser.y"
3683 >  case 108:
3684 > /* Line 1787 of yacc.c  */
3685 > #line 807 "conf_parser.y"
3686      {
3687 <  if (conf_parser_ctx.pass == 2)
3688 <    strlcpy(ConfigLoggingEntry.operspylog, yylval.string,
4027 <            sizeof(ConfigLoggingEntry.operspylog));
3687 >  if (conf_parser_ctx.pass == 2 && ltype > 0)
3688 >    log_add_file(ltype, lsize, lfile);
3689   }
3690      break;
3691  
3692 <  case 113:
3693 <
3694 < /* Line 1455 of yacc.c  */
4034 < #line 878 "ircd_parser.y"
3692 >  case 115:
3693 > /* Line 1787 of yacc.c  */
3694 > #line 819 "conf_parser.y"
3695      {
3696 <  if (conf_parser_ctx.pass == 2)
4037 <    strlcpy(ConfigLoggingEntry.glinelog, yylval.string,
4038 <            sizeof(ConfigLoggingEntry.glinelog));
3696 >  strlcpy(lfile, yylval.string, sizeof(lfile));
3697   }
3698      break;
3699  
3700 <  case 114:
3701 <
3702 < /* Line 1455 of yacc.c  */
4045 < #line 885 "ircd_parser.y"
3700 >  case 116:
3701 > /* Line 1787 of yacc.c  */
3702 > #line 824 "conf_parser.y"
3703      {
3704 <  if (conf_parser_ctx.pass == 2)
4048 <    strlcpy(ConfigLoggingEntry.klinelog, yylval.string,
4049 <            sizeof(ConfigLoggingEntry.klinelog));
3704 >  lsize = (yyvsp[(3) - (4)].number);
3705   }
3706      break;
3707  
3708 <  case 115:
3709 <
3710 < /* Line 1455 of yacc.c  */
4056 < #line 892 "ircd_parser.y"
3708 >  case 117:
3709 > /* Line 1787 of yacc.c  */
3710 > #line 827 "conf_parser.y"
3711      {
3712 <  if (conf_parser_ctx.pass == 2)
4059 <    strlcpy(ConfigLoggingEntry.ioerrlog, yylval.string,
4060 <            sizeof(ConfigLoggingEntry.ioerrlog));
3712 >  lsize = 0;
3713   }
3714      break;
3715  
3716 <  case 116:
3717 <
3718 < /* Line 1455 of yacc.c  */
4067 < #line 899 "ircd_parser.y"
3716 >  case 118:
3717 > /* Line 1787 of yacc.c  */
3718 > #line 832 "conf_parser.y"
3719      {
3720    if (conf_parser_ctx.pass == 2)
3721 <    strlcpy(ConfigLoggingEntry.killlog, yylval.string,
4071 <            sizeof(ConfigLoggingEntry.killlog));
3721 >    ltype = 0;
3722   }
3723      break;
3724  
3725 <  case 117:
3726 <
3727 < /* Line 1455 of yacc.c  */
4078 < #line 906 "ircd_parser.y"
4079 <    {
4080 <  if (conf_parser_ctx.pass == 2)
4081 <    set_log_level(L_CRIT);
4082 < }
4083 <    break;
4084 <
4085 <  case 118:
4086 <
4087 < /* Line 1455 of yacc.c  */
4088 < #line 910 "ircd_parser.y"
3725 >  case 122:
3726 > /* Line 1787 of yacc.c  */
3727 > #line 839 "conf_parser.y"
3728      {
3729    if (conf_parser_ctx.pass == 2)
3730 <    set_log_level(L_ERROR);
3730 >    ltype = LOG_TYPE_USER;
3731   }
3732      break;
3733  
3734 <  case 119:
3735 <
3736 < /* Line 1455 of yacc.c  */
4098 < #line 914 "ircd_parser.y"
3734 >  case 123:
3735 > /* Line 1787 of yacc.c  */
3736 > #line 843 "conf_parser.y"
3737      {
3738    if (conf_parser_ctx.pass == 2)
3739 <    set_log_level(L_WARN);
3739 >    ltype = LOG_TYPE_OPER;
3740   }
3741      break;
3742  
3743 <  case 120:
3744 <
3745 < /* Line 1455 of yacc.c  */
4108 < #line 918 "ircd_parser.y"
3743 >  case 124:
3744 > /* Line 1787 of yacc.c  */
3745 > #line 847 "conf_parser.y"
3746      {
3747    if (conf_parser_ctx.pass == 2)
3748 <    set_log_level(L_NOTICE);
3748 >    ltype = LOG_TYPE_GLINE;
3749   }
3750      break;
3751  
3752 <  case 121:
3753 <
3754 < /* Line 1455 of yacc.c  */
4118 < #line 922 "ircd_parser.y"
3752 >  case 125:
3753 > /* Line 1787 of yacc.c  */
3754 > #line 851 "conf_parser.y"
3755      {
3756    if (conf_parser_ctx.pass == 2)
3757 <    set_log_level(L_TRACE);
3757 >    ltype = LOG_TYPE_DLINE;
3758   }
3759      break;
3760  
3761 <  case 122:
3762 <
3763 < /* Line 1455 of yacc.c  */
4128 < #line 926 "ircd_parser.y"
3761 >  case 126:
3762 > /* Line 1787 of yacc.c  */
3763 > #line 855 "conf_parser.y"
3764      {
3765    if (conf_parser_ctx.pass == 2)
3766 <    set_log_level(L_INFO);
3766 >    ltype = LOG_TYPE_KLINE;
3767   }
3768      break;
3769  
3770 <  case 123:
3771 <
3772 < /* Line 1455 of yacc.c  */
4138 < #line 930 "ircd_parser.y"
3770 >  case 127:
3771 > /* Line 1787 of yacc.c  */
3772 > #line 859 "conf_parser.y"
3773      {
3774    if (conf_parser_ctx.pass == 2)
3775 <    set_log_level(L_DEBUG);
3775 >    ltype = LOG_TYPE_KILL;
3776   }
3777      break;
3778  
3779 <  case 124:
3780 <
3781 < /* Line 1455 of yacc.c  */
4148 < #line 936 "ircd_parser.y"
3779 >  case 128:
3780 > /* Line 1787 of yacc.c  */
3781 > #line 863 "conf_parser.y"
3782      {
3783    if (conf_parser_ctx.pass == 2)
3784 <    ConfigLoggingEntry.use_logging = yylval.number;
3784 >    ltype = LOG_TYPE_DEBUG;
3785   }
3786      break;
3787  
3788 <  case 125:
3789 <
3790 < /* Line 1455 of yacc.c  */
4158 < #line 945 "ircd_parser.y"
3788 >  case 129:
3789 > /* Line 1787 of yacc.c  */
3790 > #line 873 "conf_parser.y"
3791      {
3792    if (conf_parser_ctx.pass == 2)
3793    {
# Line 4171 | Line 3803 | yyreduce:
3803   }
3804      break;
3805  
3806 <  case 126:
3807 <
3808 < /* Line 1455 of yacc.c  */
4177 < #line 958 "ircd_parser.y"
3806 >  case 130:
3807 > /* Line 1787 of yacc.c  */
3808 > #line 886 "conf_parser.y"
3809      {
3810    if (conf_parser_ctx.pass == 2)
3811    {
# Line 4209 | Line 3840 | yyreduce:
3840          DupString(new_aconf->host, yy_tmp->host);
3841        else
3842          DupString(new_aconf->host, "*");
3843 +
3844 +      new_aconf->type = parse_netmask(new_aconf->host, &new_aconf->addr,
3845 +                                     &new_aconf->bits);
3846 +
3847        conf_add_class_to_conf(new_conf, class_name);
3848        if (yy_aconf->passwd != NULL)
3849          DupString(new_aconf->passwd, yy_aconf->passwd);
# Line 4223 | Line 3858 | yyreduce:
3858                    yy_aconf->rsa_public_key_file);
3859  
3860          file = BIO_new_file(yy_aconf->rsa_public_key_file, "r");
3861 <        new_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file,
3861 >        new_aconf->rsa_public_key = PEM_read_bio_RSA_PUBKEY(file,
3862                                                             NULL, 0, NULL);
3863          BIO_set_close(file, BIO_CLOSE);
3864          BIO_free(file);
# Line 4256 | Line 3891 | yyreduce:
3891   }
3892      break;
3893  
3894 <  case 154:
3895 <
3896 < /* Line 1455 of yacc.c  */
4262 < #line 1050 "ircd_parser.y"
4263 <    {
4264 <  if (conf_parser_ctx.pass == 2)
4265 <  {
4266 <    if (strlen(yylval.string) > OPERNICKLEN)
4267 <      yylval.string[OPERNICKLEN] = '\0';
4268 <
4269 <    MyFree(yy_conf->name);
4270 <    DupString(yy_conf->name, yylval.string);
4271 <  }
4272 < }
4273 <    break;
4274 <
4275 <  case 155:
4276 <
4277 < /* Line 1455 of yacc.c  */
4278 < #line 1062 "ircd_parser.y"
3894 >  case 142:
3895 > /* Line 1787 of yacc.c  */
3896 > #line 976 "conf_parser.y"
3897      {
3898    if (conf_parser_ctx.pass == 2)
3899    {
4282    if (strlen(yylval.string) > OPERNICKLEN)
4283      yylval.string[OPERNICKLEN] = '\0';
4284
3900      MyFree(yy_conf->name);
3901      DupString(yy_conf->name, yylval.string);
3902    }
3903   }
3904      break;
3905  
3906 <  case 156:
3907 <
3908 < /* Line 1455 of yacc.c  */
4294 < #line 1074 "ircd_parser.y"
3906 >  case 143:
3907 > /* Line 1787 of yacc.c  */
3908 > #line 985 "conf_parser.y"
3909      {
3910    if (conf_parser_ctx.pass == 2)
3911    {
# Line 4312 | Line 3926 | yyreduce:
3926      {
3927        DupString(yy_aconf->user, userbuf);
3928        DupString(yy_aconf->host, hostbuf);
3929 +
3930 +      yy_aconf->type = parse_netmask(yy_aconf->host, &yy_aconf->addr,
3931 +                                    &yy_aconf->bits);
3932      }
3933      else
3934      {
# Line 4326 | Line 3943 | yyreduce:
3943   }
3944      break;
3945  
3946 <  case 157:
3947 <
3948 < /* Line 1455 of yacc.c  */
4332 < #line 1108 "ircd_parser.y"
3946 >  case 144:
3947 > /* Line 1787 of yacc.c  */
3948 > #line 1022 "conf_parser.y"
3949      {
3950    if (conf_parser_ctx.pass == 2)
3951    {
# Line 4342 | Line 3958 | yyreduce:
3958   }
3959      break;
3960  
3961 <  case 158:
3962 <
3963 < /* Line 1455 of yacc.c  */
4348 < #line 1120 "ircd_parser.y"
3961 >  case 145:
3962 > /* Line 1787 of yacc.c  */
3963 > #line 1034 "conf_parser.y"
3964      {
3965    if (conf_parser_ctx.pass == 2)
3966    {
# Line 4357 | Line 3972 | yyreduce:
3972   }
3973      break;
3974  
3975 <  case 159:
3976 <
3977 < /* Line 1455 of yacc.c  */
4363 < #line 1131 "ircd_parser.y"
3975 >  case 146:
3976 > /* Line 1787 of yacc.c  */
3977 > #line 1045 "conf_parser.y"
3978      {
3979   #ifdef HAVE_LIBCRYPTO
3980    if (conf_parser_ctx.pass == 2)
# Line 4388 | Line 4002 | yyreduce:
4002        break;
4003      }
4004  
4005 <    yy_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
4005 >    yy_aconf->rsa_public_key = PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
4006  
4007      if (yy_aconf->rsa_public_key == NULL)
4008      {
# Line 4403 | Line 4017 | yyreduce:
4017   }
4018      break;
4019  
4020 <  case 160:
4021 <
4022 < /* Line 1455 of yacc.c  */
4409 < #line 1173 "ircd_parser.y"
4020 >  case 147:
4021 > /* Line 1787 of yacc.c  */
4022 > #line 1087 "conf_parser.y"
4023      {
4024    if (conf_parser_ctx.pass == 2)
4025    {
# Line 4416 | Line 4029 | yyreduce:
4029   }
4030      break;
4031  
4032 <  case 161:
4033 <
4034 < /* Line 1455 of yacc.c  */
4422 < #line 1182 "ircd_parser.y"
4032 >  case 148:
4033 > /* Line 1787 of yacc.c  */
4034 > #line 1096 "conf_parser.y"
4035      {
4036    if (conf_parser_ctx.pass == 2)
4037      yy_aconf->modes = 0;
4038   }
4039      break;
4040  
4041 <  case 165:
4042 <
4043 < /* Line 1455 of yacc.c  */
4432 < #line 1189 "ircd_parser.y"
4041 >  case 152:
4042 > /* Line 1787 of yacc.c  */
4043 > #line 1103 "conf_parser.y"
4044      {
4045    if (conf_parser_ctx.pass == 2)
4046      yy_aconf->modes |= UMODE_BOTS;
4047   }
4048      break;
4049  
4050 <  case 166:
4051 <
4052 < /* Line 1455 of yacc.c  */
4442 < #line 1193 "ircd_parser.y"
4050 >  case 153:
4051 > /* Line 1787 of yacc.c  */
4052 > #line 1107 "conf_parser.y"
4053      {
4054    if (conf_parser_ctx.pass == 2)
4055      yy_aconf->modes |= UMODE_CCONN;
4056   }
4057      break;
4058  
4059 <  case 167:
4060 <
4061 < /* Line 1455 of yacc.c  */
4452 < #line 1197 "ircd_parser.y"
4059 >  case 154:
4060 > /* Line 1787 of yacc.c  */
4061 > #line 1111 "conf_parser.y"
4062      {
4063    if (conf_parser_ctx.pass == 2)
4064      yy_aconf->modes |= UMODE_CCONN_FULL;
4065   }
4066      break;
4067  
4068 <  case 168:
4069 <
4070 < /* Line 1455 of yacc.c  */
4462 < #line 1201 "ircd_parser.y"
4068 >  case 155:
4069 > /* Line 1787 of yacc.c  */
4070 > #line 1115 "conf_parser.y"
4071      {
4072    if (conf_parser_ctx.pass == 2)
4073      yy_aconf->modes |= UMODE_DEAF;
4074   }
4075      break;
4076  
4077 <  case 169:
4078 <
4079 < /* Line 1455 of yacc.c  */
4472 < #line 1205 "ircd_parser.y"
4077 >  case 156:
4078 > /* Line 1787 of yacc.c  */
4079 > #line 1119 "conf_parser.y"
4080      {
4081    if (conf_parser_ctx.pass == 2)
4082      yy_aconf->modes |= UMODE_DEBUG;
4083   }
4084      break;
4085  
4086 <  case 170:
4087 <
4088 < /* Line 1455 of yacc.c  */
4482 < #line 1209 "ircd_parser.y"
4086 >  case 157:
4087 > /* Line 1787 of yacc.c  */
4088 > #line 1123 "conf_parser.y"
4089      {
4090    if (conf_parser_ctx.pass == 2)
4091      yy_aconf->modes |= UMODE_FULL;
4092   }
4093      break;
4094  
4095 <  case 171:
4095 >  case 158:
4096 > /* Line 1787 of yacc.c  */
4097 > #line 1127 "conf_parser.y"
4098 >    {
4099 >  if (conf_parser_ctx.pass == 2)
4100 >    yy_aconf->modes |= UMODE_HIDDEN;
4101 > }
4102 >    break;
4103  
4104 < /* Line 1455 of yacc.c  */
4105 < #line 1213 "ircd_parser.y"
4104 >  case 159:
4105 > /* Line 1787 of yacc.c  */
4106 > #line 1131 "conf_parser.y"
4107      {
4108    if (conf_parser_ctx.pass == 2)
4109      yy_aconf->modes |= UMODE_SKILL;
4110   }
4111      break;
4112  
4113 <  case 172:
4114 <
4115 < /* Line 1455 of yacc.c  */
4502 < #line 1217 "ircd_parser.y"
4113 >  case 160:
4114 > /* Line 1787 of yacc.c  */
4115 > #line 1135 "conf_parser.y"
4116      {
4117    if (conf_parser_ctx.pass == 2)
4118      yy_aconf->modes |= UMODE_NCHANGE;
4119   }
4120      break;
4121  
4122 <  case 173:
4123 <
4124 < /* Line 1455 of yacc.c  */
4512 < #line 1221 "ircd_parser.y"
4122 >  case 161:
4123 > /* Line 1787 of yacc.c  */
4124 > #line 1139 "conf_parser.y"
4125      {
4126    if (conf_parser_ctx.pass == 2)
4127      yy_aconf->modes |= UMODE_REJ;
4128   }
4129      break;
4130  
4131 <  case 174:
4132 <
4133 < /* Line 1455 of yacc.c  */
4522 < #line 1225 "ircd_parser.y"
4131 >  case 162:
4132 > /* Line 1787 of yacc.c  */
4133 > #line 1143 "conf_parser.y"
4134      {
4135    if (conf_parser_ctx.pass == 2)
4136      yy_aconf->modes |= UMODE_UNAUTH;
4137   }
4138      break;
4139  
4140 <  case 175:
4141 <
4142 < /* Line 1455 of yacc.c  */
4532 < #line 1229 "ircd_parser.y"
4140 >  case 163:
4141 > /* Line 1787 of yacc.c  */
4142 > #line 1147 "conf_parser.y"
4143      {
4144    if (conf_parser_ctx.pass == 2)
4145      yy_aconf->modes |= UMODE_SPY;
4146   }
4147      break;
4148  
4149 <  case 176:
4150 <
4151 < /* Line 1455 of yacc.c  */
4542 < #line 1233 "ircd_parser.y"
4149 >  case 164:
4150 > /* Line 1787 of yacc.c  */
4151 > #line 1151 "conf_parser.y"
4152      {
4153    if (conf_parser_ctx.pass == 2)
4154      yy_aconf->modes |= UMODE_EXTERNAL;
4155   }
4156      break;
4157  
4158 <  case 177:
4159 <
4160 < /* Line 1455 of yacc.c  */
4552 < #line 1237 "ircd_parser.y"
4158 >  case 165:
4159 > /* Line 1787 of yacc.c  */
4160 > #line 1155 "conf_parser.y"
4161      {
4162    if (conf_parser_ctx.pass == 2)
4163      yy_aconf->modes |= UMODE_OPERWALL;
4164   }
4165      break;
4166  
4167 <  case 178:
4168 <
4169 < /* Line 1455 of yacc.c  */
4562 < #line 1241 "ircd_parser.y"
4167 >  case 166:
4168 > /* Line 1787 of yacc.c  */
4169 > #line 1159 "conf_parser.y"
4170      {
4171    if (conf_parser_ctx.pass == 2)
4172      yy_aconf->modes |= UMODE_SERVNOTICE;
4173   }
4174      break;
4175  
4176 <  case 179:
4177 <
4178 < /* Line 1455 of yacc.c  */
4572 < #line 1245 "ircd_parser.y"
4176 >  case 167:
4177 > /* Line 1787 of yacc.c  */
4178 > #line 1163 "conf_parser.y"
4179      {
4180    if (conf_parser_ctx.pass == 2)
4181      yy_aconf->modes |= UMODE_INVISIBLE;
4182   }
4183      break;
4184  
4185 <  case 180:
4186 <
4187 < /* Line 1455 of yacc.c  */
4582 < #line 1249 "ircd_parser.y"
4185 >  case 168:
4186 > /* Line 1787 of yacc.c  */
4187 > #line 1167 "conf_parser.y"
4188      {
4189    if (conf_parser_ctx.pass == 2)
4190      yy_aconf->modes |= UMODE_WALLOP;
4191   }
4192      break;
4193  
4194 <  case 181:
4195 <
4196 < /* Line 1455 of yacc.c  */
4592 < #line 1253 "ircd_parser.y"
4194 >  case 169:
4195 > /* Line 1787 of yacc.c  */
4196 > #line 1171 "conf_parser.y"
4197      {
4198    if (conf_parser_ctx.pass == 2)
4199      yy_aconf->modes |= UMODE_SOFTCALLERID;
4200   }
4201      break;
4202  
4203 <  case 182:
4204 <
4205 < /* Line 1455 of yacc.c  */
4602 < #line 1257 "ircd_parser.y"
4203 >  case 170:
4204 > /* Line 1787 of yacc.c  */
4205 > #line 1175 "conf_parser.y"
4206      {
4207    if (conf_parser_ctx.pass == 2)
4208      yy_aconf->modes |= UMODE_CALLERID;
4209   }
4210      break;
4211  
4212 <  case 183:
4213 <
4214 < /* Line 1455 of yacc.c  */
4612 < #line 1261 "ircd_parser.y"
4212 >  case 171:
4213 > /* Line 1787 of yacc.c  */
4214 > #line 1179 "conf_parser.y"
4215      {
4216    if (conf_parser_ctx.pass == 2)
4217      yy_aconf->modes |= UMODE_LOCOPS;
4218   }
4219      break;
4220  
4221 <  case 184:
4222 <
4223 < /* Line 1455 of yacc.c  */
4622 < #line 1267 "ircd_parser.y"
4623 <    {
4624 <  if (conf_parser_ctx.pass == 2)
4625 <  {
4626 <    if (yylval.number)
4627 <      yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4628 <    else
4629 <      yy_aconf->port &= ~OPER_FLAG_GLOBAL_KILL;
4630 <  }
4631 < }
4632 <    break;
4633 <
4634 <  case 185:
4635 <
4636 < /* Line 1455 of yacc.c  */
4637 < #line 1278 "ircd_parser.y"
4638 <    {
4639 <  if (conf_parser_ctx.pass == 2)
4640 <  {
4641 <    if (yylval.number)
4642 <      yy_aconf->port |= OPER_FLAG_REMOTE;
4643 <    else
4644 <      yy_aconf->port &= ~OPER_FLAG_REMOTE;
4645 <  }
4646 < }
4647 <    break;
4648 <
4649 <  case 186:
4650 <
4651 < /* Line 1455 of yacc.c  */
4652 < #line 1289 "ircd_parser.y"
4653 <    {
4654 <  if (conf_parser_ctx.pass == 2)
4655 <  {
4656 <    if (yylval.number)
4657 <      yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4658 <    else
4659 <      yy_aconf->port &= ~OPER_FLAG_REMOTEBAN;
4660 <  }
4661 < }
4662 <    break;
4663 <
4664 <  case 187:
4665 <
4666 < /* Line 1455 of yacc.c  */
4667 < #line 1300 "ircd_parser.y"
4668 <    {
4669 <  if (conf_parser_ctx.pass == 2)
4670 <  {
4671 <    if (yylval.number)
4672 <      yy_aconf->port |= OPER_FLAG_K;
4673 <    else
4674 <      yy_aconf->port &= ~OPER_FLAG_K;
4675 <  }
4676 < }
4677 <    break;
4678 <
4679 <  case 188:
4680 <
4681 < /* Line 1455 of yacc.c  */
4682 < #line 1311 "ircd_parser.y"
4683 <    {
4684 <  if (conf_parser_ctx.pass == 2)
4685 <  {
4686 <    if (yylval.number)
4687 <      yy_aconf->port |= OPER_FLAG_X;
4688 <    else
4689 <      yy_aconf->port &= ~OPER_FLAG_X;
4690 <  }
4691 < }
4692 <    break;
4693 <
4694 <  case 189:
4695 <
4696 < /* Line 1455 of yacc.c  */
4697 < #line 1322 "ircd_parser.y"
4698 <    {
4699 <  if (conf_parser_ctx.pass == 2)
4700 <  {
4701 <    if (yylval.number)
4702 <      yy_aconf->port |= OPER_FLAG_UNKLINE;
4703 <    else
4704 <      yy_aconf->port &= ~OPER_FLAG_UNKLINE;
4705 <  }
4706 < }
4707 <    break;
4708 <
4709 <  case 190:
4710 <
4711 < /* Line 1455 of yacc.c  */
4712 < #line 1333 "ircd_parser.y"
4713 <    {
4714 <  if (conf_parser_ctx.pass == 2)
4715 <  {
4716 <    if (yylval.number)
4717 <      yy_aconf->port |= OPER_FLAG_GLINE;
4718 <    else
4719 <      yy_aconf->port &= ~OPER_FLAG_GLINE;
4720 <  }
4721 < }
4722 <    break;
4723 <
4724 <  case 191:
4725 <
4726 < /* Line 1455 of yacc.c  */
4727 < #line 1344 "ircd_parser.y"
4728 <    {
4729 <  if (conf_parser_ctx.pass == 2)
4730 <  {
4731 <    if (yylval.number)
4732 <      yy_aconf->port |= OPER_FLAG_N;
4733 <    else
4734 <      yy_aconf->port &= ~OPER_FLAG_N;
4735 <  }
4736 < }
4737 <    break;
4738 <
4739 <  case 192:
4740 <
4741 < /* Line 1455 of yacc.c  */
4742 < #line 1355 "ircd_parser.y"
4743 <    {
4744 <  if (conf_parser_ctx.pass == 2)
4745 <  {
4746 <    if (yylval.number)
4747 <      yy_aconf->port |= OPER_FLAG_DIE;
4748 <    else
4749 <      yy_aconf->port &= ~OPER_FLAG_DIE;
4750 <  }
4751 < }
4752 <    break;
4753 <
4754 <  case 193:
4755 <
4756 < /* Line 1455 of yacc.c  */
4757 < #line 1366 "ircd_parser.y"
4758 <    {
4759 <  if (conf_parser_ctx.pass == 2)
4760 <  {
4761 <    if (yylval.number)
4762 <      yy_aconf->port |= OPER_FLAG_REHASH;
4763 <    else
4764 <      yy_aconf->port &= ~OPER_FLAG_REHASH;
4765 <  }
4766 < }
4767 <    break;
4768 <
4769 <  case 194:
4770 <
4771 < /* Line 1455 of yacc.c  */
4772 < #line 1377 "ircd_parser.y"
4221 >  case 172:
4222 > /* Line 1787 of yacc.c  */
4223 > #line 1185 "conf_parser.y"
4224      {
4225    if (conf_parser_ctx.pass == 2)
4226 <  {
4776 <    if (yylval.number)
4777 <      yy_aconf->port |= OPER_FLAG_ADMIN;
4778 <    else
4779 <      yy_aconf->port &= ~OPER_FLAG_ADMIN;
4780 <  }
4226 >    yy_aconf->port = 0;
4227   }
4228      break;
4229  
4230 <  case 195:
4231 <
4232 < /* Line 1455 of yacc.c  */
4787 < #line 1388 "ircd_parser.y"
4230 >  case 176:
4231 > /* Line 1787 of yacc.c  */
4232 > #line 1192 "conf_parser.y"
4233      {
4234    if (conf_parser_ctx.pass == 2)
4235 <  {
4791 <    if (yylval.number)
4792 <      yy_aconf->port |= OPER_FLAG_HIDDEN_ADMIN;
4793 <    else
4794 <      yy_aconf->port &= ~OPER_FLAG_HIDDEN_ADMIN;
4795 <  }
4235 >    yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4236   }
4237      break;
4238  
4239 <  case 196:
4240 <
4241 < /* Line 1455 of yacc.c  */
4802 < #line 1399 "ircd_parser.y"
4239 >  case 177:
4240 > /* Line 1787 of yacc.c  */
4241 > #line 1196 "conf_parser.y"
4242      {
4243    if (conf_parser_ctx.pass == 2)
4244 <  {
4806 <    if (yylval.number)
4807 <      yy_aconf->port |= OPER_FLAG_HIDDEN_OPER;
4808 <    else
4809 <      yy_aconf->port &= ~OPER_FLAG_HIDDEN_OPER;
4810 <  }
4244 >    yy_aconf->port |= OPER_FLAG_REMOTE;
4245   }
4246      break;
4247  
4248 <  case 197:
4249 <
4250 < /* Line 1455 of yacc.c  */
4817 < #line 1410 "ircd_parser.y"
4248 >  case 178:
4249 > /* Line 1787 of yacc.c  */
4250 > #line 1200 "conf_parser.y"
4251      {
4252    if (conf_parser_ctx.pass == 2)
4253 <  {
4821 <    if (yylval.number)
4822 <      yy_aconf->port |= OPER_FLAG_OPERWALL;
4823 <    else
4824 <      yy_aconf->port &= ~OPER_FLAG_OPERWALL;
4825 <  }
4253 >    yy_aconf->port |= OPER_FLAG_K;
4254   }
4255      break;
4256  
4257 <  case 198:
4258 <
4259 < /* Line 1455 of yacc.c  */
4832 < #line 1421 "ircd_parser.y"
4833 <    {
4834 < }
4835 <    break;
4836 <
4837 <  case 202:
4838 <
4839 < /* Line 1455 of yacc.c  */
4840 < #line 1425 "ircd_parser.y"
4841 <    { not_atom = 1; }
4842 <    break;
4843 <
4844 <  case 204:
4845 <
4846 < /* Line 1455 of yacc.c  */
4847 < #line 1426 "ircd_parser.y"
4848 <    { not_atom = 0; }
4849 <    break;
4850 <
4851 <  case 206:
4852 <
4853 < /* Line 1455 of yacc.c  */
4854 < #line 1429 "ircd_parser.y"
4257 >  case 179:
4258 > /* Line 1787 of yacc.c  */
4259 > #line 1204 "conf_parser.y"
4260      {
4261    if (conf_parser_ctx.pass == 2)
4262 <  {
4858 <    if (not_atom)yy_aconf->port &= ~OPER_FLAG_GLOBAL_KILL;
4859 <    else yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4860 <  }
4262 >    yy_aconf->port |= OPER_FLAG_UNKLINE;
4263   }
4264      break;
4265  
4266 <  case 207:
4267 <
4268 < /* Line 1455 of yacc.c  */
4867 < #line 1436 "ircd_parser.y"
4266 >  case 180:
4267 > /* Line 1787 of yacc.c  */
4268 > #line 1208 "conf_parser.y"
4269      {
4270    if (conf_parser_ctx.pass == 2)
4271 <  {
4871 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REMOTE;
4872 <    else yy_aconf->port |= OPER_FLAG_REMOTE;
4873 <  }
4271 >    yy_aconf->port |= OPER_FLAG_DLINE;
4272   }
4273      break;
4274  
4275 <  case 208:
4276 <
4277 < /* Line 1455 of yacc.c  */
4880 < #line 1443 "ircd_parser.y"
4275 >  case 181:
4276 > /* Line 1787 of yacc.c  */
4277 > #line 1212 "conf_parser.y"
4278      {
4279    if (conf_parser_ctx.pass == 2)
4280 <  {
4884 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_K;
4885 <    else yy_aconf->port |= OPER_FLAG_K;
4886 <  }
4280 >    yy_aconf->port |= OPER_FLAG_UNDLINE;
4281   }
4282      break;
4283  
4284 <  case 209:
4285 <
4286 < /* Line 1455 of yacc.c  */
4893 < #line 1450 "ircd_parser.y"
4284 >  case 182:
4285 > /* Line 1787 of yacc.c  */
4286 > #line 1216 "conf_parser.y"
4287      {
4288    if (conf_parser_ctx.pass == 2)
4289 <  {
4897 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_UNKLINE;
4898 <    else yy_aconf->port |= OPER_FLAG_UNKLINE;
4899 <  }
4289 >    yy_aconf->port |= OPER_FLAG_X;
4290   }
4291      break;
4292  
4293 <  case 210:
4294 <
4295 < /* Line 1455 of yacc.c  */
4906 < #line 1457 "ircd_parser.y"
4293 >  case 183:
4294 > /* Line 1787 of yacc.c  */
4295 > #line 1220 "conf_parser.y"
4296      {
4297    if (conf_parser_ctx.pass == 2)
4298 <  {
4910 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_X;
4911 <    else yy_aconf->port |= OPER_FLAG_X;
4912 <  }
4298 >    yy_aconf->port |= OPER_FLAG_GLINE;
4299   }
4300      break;
4301  
4302 <  case 211:
4303 <
4304 < /* Line 1455 of yacc.c  */
4919 < #line 1464 "ircd_parser.y"
4302 >  case 184:
4303 > /* Line 1787 of yacc.c  */
4304 > #line 1224 "conf_parser.y"
4305      {
4306    if (conf_parser_ctx.pass == 2)
4307 <  {
4923 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_GLINE;
4924 <    else yy_aconf->port |= OPER_FLAG_GLINE;
4925 <  }
4307 >    yy_aconf->port |= OPER_FLAG_DIE;
4308   }
4309      break;
4310  
4311 <  case 212:
4312 <
4313 < /* Line 1455 of yacc.c  */
4932 < #line 1471 "ircd_parser.y"
4311 >  case 185:
4312 > /* Line 1787 of yacc.c  */
4313 > #line 1228 "conf_parser.y"
4314      {
4315    if (conf_parser_ctx.pass == 2)
4316 <  {
4936 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_DIE;
4937 <    else yy_aconf->port |= OPER_FLAG_DIE;
4938 <  }
4316 >    yy_aconf->port |= OPER_FLAG_RESTART;
4317   }
4318      break;
4319  
4320 <  case 213:
4321 <
4322 < /* Line 1455 of yacc.c  */
4945 < #line 1478 "ircd_parser.y"
4320 >  case 186:
4321 > /* Line 1787 of yacc.c  */
4322 > #line 1232 "conf_parser.y"
4323      {
4324    if (conf_parser_ctx.pass == 2)
4325 <  {
4949 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REHASH;
4950 <    else yy_aconf->port |= OPER_FLAG_REHASH;
4951 <  }
4325 >    yy_aconf->port |= OPER_FLAG_REHASH;
4326   }
4327      break;
4328  
4329 <  case 214:
4330 <
4331 < /* Line 1455 of yacc.c  */
4958 < #line 1485 "ircd_parser.y"
4329 >  case 187:
4330 > /* Line 1787 of yacc.c  */
4331 > #line 1236 "conf_parser.y"
4332      {
4333    if (conf_parser_ctx.pass == 2)
4334 <  {
4962 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_ADMIN;
4963 <    else yy_aconf->port |= OPER_FLAG_ADMIN;
4964 <  }
4334 >    yy_aconf->port |= OPER_FLAG_ADMIN;
4335   }
4336      break;
4337  
4338 <  case 215:
4339 <
4340 < /* Line 1455 of yacc.c  */
4971 < #line 1492 "ircd_parser.y"
4338 >  case 188:
4339 > /* Line 1787 of yacc.c  */
4340 > #line 1240 "conf_parser.y"
4341      {
4342    if (conf_parser_ctx.pass == 2)
4343 <  {
4975 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_HIDDEN_ADMIN;
4976 <    else yy_aconf->port |= OPER_FLAG_HIDDEN_ADMIN;
4977 <  }
4343 >    yy_aconf->port |= OPER_FLAG_N;
4344   }
4345      break;
4346  
4347 <  case 216:
4348 <
4349 < /* Line 1455 of yacc.c  */
4984 < #line 1499 "ircd_parser.y"
4347 >  case 189:
4348 > /* Line 1787 of yacc.c  */
4349 > #line 1244 "conf_parser.y"
4350      {
4351    if (conf_parser_ctx.pass == 2)
4352 <  {
4988 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_N;
4989 <    else yy_aconf->port |= OPER_FLAG_N;
4990 <  }
4352 >    yy_aconf->port |= OPER_FLAG_OPERWALL;
4353   }
4354      break;
4355  
4356 <  case 217:
4357 <
4358 < /* Line 1455 of yacc.c  */
4997 < #line 1506 "ircd_parser.y"
4356 >  case 190:
4357 > /* Line 1787 of yacc.c  */
4358 > #line 1248 "conf_parser.y"
4359      {
4360    if (conf_parser_ctx.pass == 2)
4361 <  {
5001 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_OPERWALL;
5002 <    else yy_aconf->port |= OPER_FLAG_OPERWALL;
5003 <  }
4361 >    yy_aconf->port |= OPER_FLAG_GLOBOPS;
4362   }
4363      break;
4364  
4365 <  case 218:
4366 <
4367 < /* Line 1455 of yacc.c  */
5010 < #line 1513 "ircd_parser.y"
4365 >  case 191:
4366 > /* Line 1787 of yacc.c  */
4367 > #line 1252 "conf_parser.y"
4368      {
4369    if (conf_parser_ctx.pass == 2)
4370 <  {
5014 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_OPER_SPY;
5015 <    else yy_aconf->port |= OPER_FLAG_OPER_SPY;
5016 <  }
4370 >    yy_aconf->port |= OPER_FLAG_OPER_SPY;
4371   }
4372      break;
4373  
4374 <  case 219:
4375 <
4376 < /* Line 1455 of yacc.c  */
5023 < #line 1520 "ircd_parser.y"
4374 >  case 192:
4375 > /* Line 1787 of yacc.c  */
4376 > #line 1256 "conf_parser.y"
4377      {
4378    if (conf_parser_ctx.pass == 2)
4379 <  {
5027 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_HIDDEN_OPER;
5028 <    else yy_aconf->port |= OPER_FLAG_HIDDEN_OPER;
5029 <  }
4379 >    yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4380   }
4381      break;
4382  
4383 <  case 220:
4384 <
4385 < /* Line 1455 of yacc.c  */
5036 < #line 1527 "ircd_parser.y"
4383 >  case 193:
4384 > /* Line 1787 of yacc.c  */
4385 > #line 1260 "conf_parser.y"
4386      {
4387    if (conf_parser_ctx.pass == 2)
4388 <  {
5040 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REMOTEBAN;
5041 <    else yy_aconf->port |= OPER_FLAG_REMOTEBAN;
5042 <  }
4388 >    yy_aconf->port |= OPER_FLAG_SET;
4389   }
4390      break;
4391  
4392 <  case 221:
4393 <
4394 < /* Line 1455 of yacc.c  */
5049 < #line 1534 "ircd_parser.y"
4392 >  case 194:
4393 > /* Line 1787 of yacc.c  */
4394 > #line 1264 "conf_parser.y"
4395      {
4396    if (conf_parser_ctx.pass == 2)
4397 <  {
5053 <    if (not_atom) ClearConfEncrypted(yy_aconf);
5054 <    else SetConfEncrypted(yy_aconf);
5055 <  }
4397 >    yy_aconf->port |= OPER_FLAG_MODULE;
4398   }
4399      break;
4400  
4401 <  case 222:
4402 <
4403 < /* Line 1455 of yacc.c  */
5062 < #line 1547 "ircd_parser.y"
4401 >  case 195:
4402 > /* Line 1787 of yacc.c  */
4403 > #line 1274 "conf_parser.y"
4404      {
4405    if (conf_parser_ctx.pass == 1)
4406    {
# Line 5069 | Line 4410 | yyreduce:
4410   }
4411      break;
4412  
4413 <  case 223:
4414 <
4415 < /* Line 1455 of yacc.c  */
5075 < #line 1554 "ircd_parser.y"
4413 >  case 196:
4414 > /* Line 1787 of yacc.c  */
4415 > #line 1281 "conf_parser.y"
4416      {
4417    if (conf_parser_ctx.pass == 1)
4418    {
# Line 5083 | Line 4423 | yyreduce:
4423        delete_conf_item(yy_conf);
4424      else
4425      {
4426 <      cconf = find_exact_name_conf(CLASS_TYPE, yy_class_name, NULL, NULL);
4426 >      cconf = find_exact_name_conf(CLASS_TYPE, NULL, yy_class_name, NULL, NULL);
4427  
4428        if (cconf != NULL)                /* The class existed already */
4429        {
# Line 5116 | Line 4456 | yyreduce:
4456   }
4457      break;
4458  
4459 <  case 242:
4460 <
4461 < /* Line 1455 of yacc.c  */
5122 < #line 1614 "ircd_parser.y"
4459 >  case 214:
4460 > /* Line 1787 of yacc.c  */
4461 > #line 1339 "conf_parser.y"
4462      {
4463    if (conf_parser_ctx.pass == 1)
4464    {
# Line 5129 | Line 4468 | yyreduce:
4468   }
4469      break;
4470  
4471 <  case 243:
4472 <
4473 < /* Line 1455 of yacc.c  */
5135 < #line 1623 "ircd_parser.y"
4471 >  case 215:
4472 > /* Line 1787 of yacc.c  */
4473 > #line 1348 "conf_parser.y"
4474      {
4475    if (conf_parser_ctx.pass == 1)
4476 <  {
5139 <    MyFree(yy_class_name);
5140 <    DupString(yy_class_name, yylval.string);
5141 <  }
4476 >    yy_class->ping_freq = (yyvsp[(3) - (4)].number);
4477   }
4478      break;
4479  
4480 <  case 244:
4481 <
4482 < /* Line 1455 of yacc.c  */
5148 < #line 1632 "ircd_parser.y"
4480 >  case 216:
4481 > /* Line 1787 of yacc.c  */
4482 > #line 1354 "conf_parser.y"
4483      {
4484    if (conf_parser_ctx.pass == 1)
4485 <    PingFreq(yy_class) = (yyvsp[(3) - (4)].number);
4485 >    yy_class->ping_warning = (yyvsp[(3) - (4)].number);
4486   }
4487      break;
4488  
4489 <  case 245:
4490 <
4491 < /* Line 1455 of yacc.c  */
5158 < #line 1638 "ircd_parser.y"
4489 >  case 217:
4490 > /* Line 1787 of yacc.c  */
4491 > #line 1360 "conf_parser.y"
4492      {
4493    if (conf_parser_ctx.pass == 1)
4494 <    PingWarning(yy_class) = (yyvsp[(3) - (4)].number);
4494 >    yy_class->max_perip = (yyvsp[(3) - (4)].number);
4495   }
4496      break;
4497  
4498 <  case 246:
4499 <
4500 < /* Line 1455 of yacc.c  */
5168 < #line 1644 "ircd_parser.y"
4498 >  case 218:
4499 > /* Line 1787 of yacc.c  */
4500 > #line 1366 "conf_parser.y"
4501      {
4502    if (conf_parser_ctx.pass == 1)
4503 <    MaxPerIp(yy_class) = (yyvsp[(3) - (4)].number);
4503 >    yy_class->con_freq = (yyvsp[(3) - (4)].number);
4504   }
4505      break;
4506  
4507 <  case 247:
4508 <
4509 < /* Line 1455 of yacc.c  */
5178 < #line 1650 "ircd_parser.y"
4507 >  case 219:
4508 > /* Line 1787 of yacc.c  */
4509 > #line 1372 "conf_parser.y"
4510      {
4511    if (conf_parser_ctx.pass == 1)
4512 <    ConFreq(yy_class) = (yyvsp[(3) - (4)].number);
4512 >    yy_class->max_total = (yyvsp[(3) - (4)].number);
4513   }
4514      break;
4515  
4516 <  case 248:
4517 <
4518 < /* Line 1455 of yacc.c  */
5188 < #line 1656 "ircd_parser.y"
4516 >  case 220:
4517 > /* Line 1787 of yacc.c  */
4518 > #line 1378 "conf_parser.y"
4519      {
4520    if (conf_parser_ctx.pass == 1)
4521 <    MaxTotal(yy_class) = (yyvsp[(3) - (4)].number);
4521 >    yy_class->max_global = (yyvsp[(3) - (4)].number);
4522   }
4523      break;
4524  
4525 <  case 249:
4526 <
4527 < /* Line 1455 of yacc.c  */
5198 < #line 1662 "ircd_parser.y"
4525 >  case 221:
4526 > /* Line 1787 of yacc.c  */
4527 > #line 1384 "conf_parser.y"
4528      {
4529    if (conf_parser_ctx.pass == 1)
4530 <    MaxGlobal(yy_class) = (yyvsp[(3) - (4)].number);
4530 >    yy_class->max_local = (yyvsp[(3) - (4)].number);
4531   }
4532      break;
4533  
4534 <  case 250:
4535 <
4536 < /* Line 1455 of yacc.c  */
5208 < #line 1668 "ircd_parser.y"
4534 >  case 222:
4535 > /* Line 1787 of yacc.c  */
4536 > #line 1390 "conf_parser.y"
4537      {
4538    if (conf_parser_ctx.pass == 1)
4539 <    MaxLocal(yy_class) = (yyvsp[(3) - (4)].number);
4539 >    yy_class->max_ident = (yyvsp[(3) - (4)].number);
4540   }
4541      break;
4542  
4543 <  case 251:
4544 <
4545 < /* Line 1455 of yacc.c  */
5218 < #line 1674 "ircd_parser.y"
4543 >  case 223:
4544 > /* Line 1787 of yacc.c  */
4545 > #line 1396 "conf_parser.y"
4546      {
4547    if (conf_parser_ctx.pass == 1)
4548 <    MaxIdent(yy_class) = (yyvsp[(3) - (4)].number);
4548 >    yy_class->max_sendq = (yyvsp[(3) - (4)].number);
4549   }
4550      break;
4551  
4552 <  case 252:
4553 <
4554 < /* Line 1455 of yacc.c  */
5228 < #line 1680 "ircd_parser.y"
4552 >  case 224:
4553 > /* Line 1787 of yacc.c  */
4554 > #line 1402 "conf_parser.y"
4555      {
4556    if (conf_parser_ctx.pass == 1)
4557 <    MaxSendq(yy_class) = (yyvsp[(3) - (4)].number);
4557 >    if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
4558 >      yy_class->max_recvq = (yyvsp[(3) - (4)].number);
4559   }
4560      break;
4561  
4562 <  case 253:
4563 <
4564 < /* Line 1455 of yacc.c  */
5238 < #line 1686 "ircd_parser.y"
4562 >  case 225:
4563 > /* Line 1787 of yacc.c  */
4564 > #line 1409 "conf_parser.y"
4565      {
4566    if (conf_parser_ctx.pass == 1)
4567 <    CidrBitlenIPV4(yy_class) = (yyvsp[(3) - (4)].number);
4567 >    yy_class->cidr_bitlen_ipv4 = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4568   }
4569      break;
4570  
4571 <  case 254:
4572 <
4573 < /* Line 1455 of yacc.c  */
5248 < #line 1692 "ircd_parser.y"
4571 >  case 226:
4572 > /* Line 1787 of yacc.c  */
4573 > #line 1415 "conf_parser.y"
4574      {
4575    if (conf_parser_ctx.pass == 1)
4576 <    CidrBitlenIPV6(yy_class) = (yyvsp[(3) - (4)].number);
4576 >    yy_class->cidr_bitlen_ipv6 = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4577   }
4578      break;
4579  
4580 <  case 255:
4581 <
4582 < /* Line 1455 of yacc.c  */
5258 < #line 1698 "ircd_parser.y"
4580 >  case 227:
4581 > /* Line 1787 of yacc.c  */
4582 > #line 1421 "conf_parser.y"
4583      {
4584    if (conf_parser_ctx.pass == 1)
4585 <    NumberPerCidr(yy_class) = (yyvsp[(3) - (4)].number);
4585 >    yy_class->number_per_cidr = (yyvsp[(3) - (4)].number);
4586   }
4587      break;
4588  
4589 <  case 256:
4590 <
4591 < /* Line 1455 of yacc.c  */
5268 < #line 1707 "ircd_parser.y"
4589 >  case 228:
4590 > /* Line 1787 of yacc.c  */
4591 > #line 1430 "conf_parser.y"
4592      {
4593    if (conf_parser_ctx.pass == 2)
4594    {
# Line 5275 | Line 4598 | yyreduce:
4598   }
4599      break;
4600  
4601 <  case 257:
4602 <
4603 < /* Line 1455 of yacc.c  */
5281 < #line 1714 "ircd_parser.y"
4601 >  case 229:
4602 > /* Line 1787 of yacc.c  */
4603 > #line 1437 "conf_parser.y"
4604      {
4605    if (conf_parser_ctx.pass == 2)
4606    {
# Line 5288 | Line 4610 | yyreduce:
4610   }
4611      break;
4612  
4613 <  case 258:
4614 <
4615 < /* Line 1455 of yacc.c  */
5294 < #line 1723 "ircd_parser.y"
4613 >  case 230:
4614 > /* Line 1787 of yacc.c  */
4615 > #line 1446 "conf_parser.y"
4616      {
4617    listener_flags = 0;
4618   }
4619      break;
4620  
4621 <  case 262:
4622 <
4623 < /* Line 1455 of yacc.c  */
5303 < #line 1729 "ircd_parser.y"
4621 >  case 234:
4622 > /* Line 1787 of yacc.c  */
4623 > #line 1452 "conf_parser.y"
4624      {
4625    if (conf_parser_ctx.pass == 2)
4626      listener_flags |= LISTENER_SSL;
4627   }
4628      break;
4629  
4630 <  case 263:
4631 <
4632 < /* Line 1455 of yacc.c  */
5313 < #line 1733 "ircd_parser.y"
4630 >  case 235:
4631 > /* Line 1787 of yacc.c  */
4632 > #line 1456 "conf_parser.y"
4633      {
4634    if (conf_parser_ctx.pass == 2)
4635      listener_flags |= LISTENER_HIDDEN;
4636   }
4637      break;
4638  
4639 <  case 264:
4640 <
4641 < /* Line 1455 of yacc.c  */
5323 < #line 1737 "ircd_parser.y"
4639 >  case 236:
4640 > /* Line 1787 of yacc.c  */
4641 > #line 1460 "conf_parser.y"
4642      {
4643    if (conf_parser_ctx.pass == 2)
4644      listener_flags |= LISTENER_SERVER;
4645   }
4646      break;
4647  
4648 <  case 272:
4649 <
4650 < /* Line 1455 of yacc.c  */
5333 < #line 1747 "ircd_parser.y"
4648 >  case 244:
4649 > /* Line 1787 of yacc.c  */
4650 > #line 1470 "conf_parser.y"
4651      { listener_flags = 0; }
4652      break;
4653  
4654 <  case 276:
4655 <
4656 < /* Line 1455 of yacc.c  */
5340 < #line 1752 "ircd_parser.y"
4654 >  case 248:
4655 > /* Line 1787 of yacc.c  */
4656 > #line 1475 "conf_parser.y"
4657      {
4658    if (conf_parser_ctx.pass == 2)
4659    {
# Line 5354 | Line 4670 | yyreduce:
4670   }
4671      break;
4672  
4673 <  case 277:
4674 <
4675 < /* Line 1455 of yacc.c  */
5360 < #line 1766 "ircd_parser.y"
4673 >  case 249:
4674 > /* Line 1787 of yacc.c  */
4675 > #line 1489 "conf_parser.y"
4676      {
4677    if (conf_parser_ctx.pass == 2)
4678    {
# Line 5378 | Line 4693 | yyreduce:
4693   }
4694      break;
4695  
4696 <  case 278:
4697 <
4698 < /* Line 1455 of yacc.c  */
5384 < #line 1786 "ircd_parser.y"
4696 >  case 250:
4697 > /* Line 1787 of yacc.c  */
4698 > #line 1509 "conf_parser.y"
4699      {
4700    if (conf_parser_ctx.pass == 2)
4701    {
# Line 5391 | Line 4705 | yyreduce:
4705   }
4706      break;
4707  
4708 <  case 279:
4709 <
4710 < /* Line 1455 of yacc.c  */
5397 < #line 1795 "ircd_parser.y"
4708 >  case 251:
4709 > /* Line 1787 of yacc.c  */
4710 > #line 1518 "conf_parser.y"
4711      {
4712    if (conf_parser_ctx.pass == 2)
4713    {
# Line 5404 | Line 4717 | yyreduce:
4717   }
4718      break;
4719  
4720 <  case 280:
4721 <
4722 < /* Line 1455 of yacc.c  */
5410 < #line 1807 "ircd_parser.y"
4720 >  case 252:
4721 > /* Line 1787 of yacc.c  */
4722 > #line 1530 "conf_parser.y"
4723      {
4724    if (conf_parser_ctx.pass == 2)
4725    {
# Line 5422 | Line 4734 | yyreduce:
4734   }
4735      break;
4736  
4737 <  case 281:
4738 <
4739 < /* Line 1455 of yacc.c  */
5428 < #line 1819 "ircd_parser.y"
4737 >  case 253:
4738 > /* Line 1787 of yacc.c  */
4739 > #line 1542 "conf_parser.y"
4740      {
4741    if (conf_parser_ctx.pass == 2)
4742    {
# Line 5483 | Line 4794 | yyreduce:
4794   }
4795      break;
4796  
4797 <  case 301:
4798 <
4799 < /* Line 1455 of yacc.c  */
5489 < #line 1884 "ircd_parser.y"
4797 >  case 265:
4798 > /* Line 1787 of yacc.c  */
4799 > #line 1604 "conf_parser.y"
4800      {
4801    if (conf_parser_ctx.pass == 2)
4802    {
# Line 5522 | Line 4832 | yyreduce:
4832   }
4833      break;
4834  
4835 <  case 302:
4836 <
4837 < /* Line 1455 of yacc.c  */
5528 < #line 1921 "ircd_parser.y"
4835 >  case 266:
4836 > /* Line 1787 of yacc.c  */
4837 > #line 1639 "conf_parser.y"
4838      {
4839    if (conf_parser_ctx.pass == 2)
4840    {
# Line 5539 | Line 4848 | yyreduce:
4848   }
4849      break;
4850  
4851 <  case 303:
4852 <
4853 < /* Line 1455 of yacc.c  */
5545 < #line 1934 "ircd_parser.y"
5546 <    {
5547 <  if (conf_parser_ctx.pass == 2)
5548 <  {
5549 <    if (yylval.number)
5550 <      yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
5551 <    else
5552 <      yy_aconf->flags &= ~CONF_FLAGS_SPOOF_NOTICE;
5553 <  }
5554 < }
5555 <    break;
5556 <
5557 <  case 304:
5558 <
5559 < /* Line 1455 of yacc.c  */
5560 < #line 1945 "ircd_parser.y"
4851 >  case 267:
4852 > /* Line 1787 of yacc.c  */
4853 > #line 1652 "conf_parser.y"
4854      {
4855    if (conf_parser_ctx.pass == 2)
4856    {
# Line 5567 | Line 4860 | yyreduce:
4860   }
4861      break;
4862  
4863 <  case 305:
4864 <
4865 < /* Line 1455 of yacc.c  */
5573 < #line 1954 "ircd_parser.y"
4863 >  case 268:
4864 > /* Line 1787 of yacc.c  */
4865 > #line 1661 "conf_parser.y"
4866      {
4867    if (conf_parser_ctx.pass == 2)
4868    {
# Line 5582 | Line 4874 | yyreduce:
4874   }
4875      break;
4876  
4877 <  case 306:
4878 <
4879 < /* Line 1455 of yacc.c  */
5588 < #line 1965 "ircd_parser.y"
5589 <    {
5590 < }
5591 <    break;
5592 <
5593 <  case 310:
5594 <
5595 < /* Line 1455 of yacc.c  */
5596 < #line 1969 "ircd_parser.y"
5597 <    { not_atom = 1; }
5598 <    break;
5599 <
5600 <  case 312:
5601 <
5602 < /* Line 1455 of yacc.c  */
5603 < #line 1970 "ircd_parser.y"
5604 <    { not_atom = 0; }
5605 <    break;
5606 <
5607 <  case 314:
5608 <
5609 < /* Line 1455 of yacc.c  */
5610 < #line 1973 "ircd_parser.y"
5611 <    {
5612 <  if (conf_parser_ctx.pass == 2)
5613 <  {
5614 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_SPOOF_NOTICE;
5615 <    else yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
5616 <  }
5617 <
5618 < }
5619 <    break;
5620 <
5621 <  case 315:
5622 <
5623 < /* Line 1455 of yacc.c  */
5624 < #line 1981 "ircd_parser.y"
5625 <    {
5626 <  if (conf_parser_ctx.pass == 2)
5627 <  {
5628 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NOLIMIT;
5629 <    else yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
5630 <  }
5631 < }
5632 <    break;
5633 <
5634 <  case 316:
5635 <
5636 < /* Line 1455 of yacc.c  */
5637 < #line 1988 "ircd_parser.y"
5638 <    {
5639 <  if (conf_parser_ctx.pass == 2)
5640 <  {
5641 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTKLINE;
5642 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
5643 <  }
5644 < }
5645 <    break;
5646 <
5647 <  case 317:
5648 <
5649 < /* Line 1455 of yacc.c  */
5650 < #line 1995 "ircd_parser.y"
5651 <    {
5652 <  if (conf_parser_ctx.pass == 2)
5653 <  {
5654 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NEED_IDENTD;
5655 <    else yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
5656 <  }
5657 < }
5658 <    break;
5659 <
5660 <  case 318:
5661 <
5662 < /* Line 1455 of yacc.c  */
5663 < #line 2002 "ircd_parser.y"
5664 <    {
5665 <  if (conf_parser_ctx.pass == 2)
5666 <  {
5667 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_CAN_FLOOD;
5668 <    else yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
5669 <  }
5670 < }
5671 <    break;
5672 <
5673 <  case 319:
5674 <
5675 < /* Line 1455 of yacc.c  */
5676 < #line 2009 "ircd_parser.y"
4877 >  case 269:
4878 > /* Line 1787 of yacc.c  */
4879 > #line 1672 "conf_parser.y"
4880      {
5678  if (conf_parser_ctx.pass == 2)
5679  {
5680    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_IDLE_LINED;
5681    else yy_aconf->flags |= CONF_FLAGS_IDLE_LINED;
5682  }
4881   }
4882      break;
4883  
4884 <  case 320:
4885 <
4886 < /* Line 1455 of yacc.c  */
5689 < #line 2016 "ircd_parser.y"
4884 >  case 273:
4885 > /* Line 1787 of yacc.c  */
4886 > #line 1677 "conf_parser.y"
4887      {
4888    if (conf_parser_ctx.pass == 2)
4889 <  {
5693 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NO_TILDE;
5694 <    else yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
5695 <  }
4889 >    yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
4890   }
4891      break;
4892  
4893 <  case 321:
4894 <
4895 < /* Line 1455 of yacc.c  */
5702 < #line 2023 "ircd_parser.y"
4893 >  case 274:
4894 > /* Line 1787 of yacc.c  */
4895 > #line 1681 "conf_parser.y"
4896      {
4897    if (conf_parser_ctx.pass == 2)
4898 <  {
5706 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTGLINE;
5707 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
5708 <  }
4898 >    yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
4899   }
4900      break;
4901  
4902 <  case 322:
4903 <
4904 < /* Line 1455 of yacc.c  */
5715 < #line 2030 "ircd_parser.y"
4902 >  case 275:
4903 > /* Line 1787 of yacc.c  */
4904 > #line 1685 "conf_parser.y"
4905      {
4906    if (conf_parser_ctx.pass == 2)
4907 <  {
5719 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTRESV;
5720 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
5721 <  }
4907 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
4908   }
4909      break;
4910  
4911 <  case 323:
4912 <
4913 < /* Line 1455 of yacc.c  */
5728 < #line 2037 "ircd_parser.y"
5729 <    {
5730 <  if (conf_parser_ctx.pass == 2)
5731 <  {
5732 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NEED_PASSWORD;
5733 <    else yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
5734 <  }
5735 < }
5736 <    break;
5737 <
5738 <  case 324:
5739 <
5740 < /* Line 1455 of yacc.c  */
5741 < #line 2046 "ircd_parser.y"
4911 >  case 276:
4912 > /* Line 1787 of yacc.c  */
4913 > #line 1689 "conf_parser.y"
4914      {
4915    if (conf_parser_ctx.pass == 2)
4916 <  {
5745 <    if (yylval.number)
5746 <      yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
5747 <    else
5748 <      yy_aconf->flags &= ~CONF_FLAGS_EXEMPTKLINE;
5749 <  }
4916 >    yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
4917   }
4918      break;
4919  
4920 <  case 325:
4921 <
4922 < /* Line 1455 of yacc.c  */
5756 < #line 2057 "ircd_parser.y"
4920 >  case 277:
4921 > /* Line 1787 of yacc.c  */
4922 > #line 1693 "conf_parser.y"
4923      {
4924    if (conf_parser_ctx.pass == 2)
4925 <  {
5760 <    if (yylval.number)
5761 <      yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
5762 <    else
5763 <      yy_aconf->flags &= ~CONF_FLAGS_NEED_IDENTD;
5764 <  }
4925 >    yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
4926   }
4927      break;
4928  
4929 <  case 326:
4930 <
4931 < /* Line 1455 of yacc.c  */
5771 < #line 2068 "ircd_parser.y"
4929 >  case 278:
4930 > /* Line 1787 of yacc.c  */
4931 > #line 1697 "conf_parser.y"
4932      {
4933    if (conf_parser_ctx.pass == 2)
4934 <  {
5775 <    if (yylval.number)
5776 <      yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
5777 <    else
5778 <      yy_aconf->flags &= ~CONF_FLAGS_NOLIMIT;
5779 <  }
4934 >    yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
4935   }
4936      break;
4937  
4938 <  case 327:
4939 <
4940 < /* Line 1455 of yacc.c  */
5786 < #line 2079 "ircd_parser.y"
4938 >  case 279:
4939 > /* Line 1787 of yacc.c  */
4940 > #line 1701 "conf_parser.y"
4941      {
4942    if (conf_parser_ctx.pass == 2)
4943 <  {
5790 <    if (yylval.number)
5791 <      yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
5792 <    else
5793 <      yy_aconf->flags &= ~CONF_FLAGS_CAN_FLOOD;
5794 <  }
4943 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
4944   }
4945      break;
4946  
4947 <  case 328:
4948 <
4949 < /* Line 1455 of yacc.c  */
5801 < #line 2090 "ircd_parser.y"
4947 >  case 280:
4948 > /* Line 1787 of yacc.c  */
4949 > #line 1705 "conf_parser.y"
4950      {
4951    if (conf_parser_ctx.pass == 2)
4952 <  {
5805 <    if (yylval.number)
5806 <      yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
5807 <    else
5808 <      yy_aconf->flags &= ~CONF_FLAGS_NO_TILDE;
5809 <  }
4952 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
4953   }
4954      break;
4955  
4956 <  case 329:
4957 <
4958 < /* Line 1455 of yacc.c  */
5816 < #line 2101 "ircd_parser.y"
4956 >  case 281:
4957 > /* Line 1787 of yacc.c  */
4958 > #line 1709 "conf_parser.y"
4959      {
4960    if (conf_parser_ctx.pass == 2)
4961 <  {
5820 <    if (yylval.number)
5821 <      yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
5822 <    else
5823 <      yy_aconf->flags &= ~CONF_FLAGS_EXEMPTGLINE;
5824 <  }
4961 >    yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
4962   }
4963      break;
4964  
4965 <  case 330:
4966 <
4967 < /* Line 1455 of yacc.c  */
5831 < #line 2113 "ircd_parser.y"
4965 >  case 282:
4966 > /* Line 1787 of yacc.c  */
4967 > #line 1716 "conf_parser.y"
4968      {
4969    if (conf_parser_ctx.pass == 2)
4970    {
# Line 5841 | Line 4977 | yyreduce:
4977      }
4978      else
4979      {
4980 <      ilog(L_ERROR, "Spoofs must be less than %d..ignoring it", HOSTLEN);
4980 >      ilog(LOG_TYPE_IRCD, "Spoofs must be less than %d..ignoring it", HOSTLEN);
4981        yy_conf->name = NULL;
4982      }
4983    }
4984   }
4985      break;
4986  
4987 <  case 331:
4988 <
4989 < /* Line 1455 of yacc.c  */
5854 < #line 2132 "ircd_parser.y"
4987 >  case 283:
4988 > /* Line 1787 of yacc.c  */
4989 > #line 1735 "conf_parser.y"
4990      {
4991    if (conf_parser_ctx.pass == 2)
4992    {
# Line 5862 | Line 4997 | yyreduce:
4997   }
4998      break;
4999  
5000 <  case 332:
5001 <
5002 < /* Line 1455 of yacc.c  */
5868 < #line 2142 "ircd_parser.y"
5000 >  case 284:
5001 > /* Line 1787 of yacc.c  */
5002 > #line 1745 "conf_parser.y"
5003      {
5004    if (conf_parser_ctx.pass == 2)
5005    {
# Line 5875 | Line 5009 | yyreduce:
5009   }
5010      break;
5011  
5012 <  case 333:
5013 <
5014 < /* Line 1455 of yacc.c  */
5881 < #line 2151 "ircd_parser.y"
5882 <    {
5883 <  if (conf_parser_ctx.pass == 2)
5884 <  {
5885 <    if (yylval.number)
5886 <      yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
5887 <    else
5888 <      yy_aconf->flags &= ~CONF_FLAGS_NEED_PASSWORD;
5889 <  }
5890 < }
5891 <    break;
5892 <
5893 <  case 334:
5894 <
5895 < /* Line 1455 of yacc.c  */
5896 < #line 2166 "ircd_parser.y"
5012 >  case 285:
5013 > /* Line 1787 of yacc.c  */
5014 > #line 1758 "conf_parser.y"
5015      {
5016    if (conf_parser_ctx.pass == 2)
5017    {
# Line 5903 | Line 5021 | yyreduce:
5021   }
5022      break;
5023  
5024 <  case 335:
5025 <
5026 < /* Line 1455 of yacc.c  */
5909 < #line 2173 "ircd_parser.y"
5024 >  case 286:
5025 > /* Line 1787 of yacc.c  */
5026 > #line 1765 "conf_parser.y"
5027      {
5028    if (conf_parser_ctx.pass == 2)
5029    {
# Line 5916 | Line 5033 | yyreduce:
5033   }
5034      break;
5035  
5036 <  case 342:
5037 <
5038 < /* Line 1455 of yacc.c  */
5922 < #line 2185 "ircd_parser.y"
5036 >  case 293:
5037 > /* Line 1787 of yacc.c  */
5038 > #line 1777 "conf_parser.y"
5039      {
5040    if (conf_parser_ctx.pass == 2)
5041    {
# Line 5929 | Line 5045 | yyreduce:
5045   }
5046      break;
5047  
5048 <  case 343:
5049 <
5050 < /* Line 1455 of yacc.c  */
5935 < #line 2194 "ircd_parser.y"
5048 >  case 294:
5049 > /* Line 1787 of yacc.c  */
5050 > #line 1786 "conf_parser.y"
5051      {
5052    if (conf_parser_ctx.pass == 2)
5053    {
# Line 5948 | Line 5063 | yyreduce:
5063   }
5064      break;
5065  
5066 <  case 344:
5067 <
5068 < /* Line 1455 of yacc.c  */
5954 < #line 2209 "ircd_parser.y"
5066 >  case 295:
5067 > /* Line 1787 of yacc.c  */
5068 > #line 1801 "conf_parser.y"
5069      {
5070    if (conf_parser_ctx.pass == 2)
5071    {
# Line 5962 | Line 5076 | yyreduce:
5076   }
5077      break;
5078  
5079 <  case 345:
5079 >  case 301:
5080 > /* Line 1787 of yacc.c  */
5081 > #line 1819 "conf_parser.y"
5082 >    {
5083 >  if (conf_parser_ctx.pass == 2)
5084 >  {
5085 >    if (valid_servname(yylval.string))
5086 >    {
5087 >      yy_conf = make_conf_item(SERVICE_TYPE);
5088 >      DupString(yy_conf->name, yylval.string);
5089 >    }
5090 >  }
5091 > }
5092 >    break;
5093  
5094 < /* Line 1455 of yacc.c  */
5095 < #line 2222 "ircd_parser.y"
5094 >  case 302:
5095 > /* Line 1787 of yacc.c  */
5096 > #line 1834 "conf_parser.y"
5097      {
5098    if (conf_parser_ctx.pass == 2)
5099    {
# Line 5976 | Line 5104 | yyreduce:
5104   }
5105      break;
5106  
5107 <  case 346:
5108 <
5109 < /* Line 1455 of yacc.c  */
5982 < #line 2230 "ircd_parser.y"
5107 >  case 303:
5108 > /* Line 1787 of yacc.c  */
5109 > #line 1842 "conf_parser.y"
5110      {
5111    if (conf_parser_ctx.pass == 2)
5112    {
# Line 5988 | Line 5115 | yyreduce:
5115   }
5116      break;
5117  
5118 <  case 353:
5119 <
5120 < /* Line 1455 of yacc.c  */
5994 < #line 2241 "ircd_parser.y"
5118 >  case 310:
5119 > /* Line 1787 of yacc.c  */
5120 > #line 1853 "conf_parser.y"
5121      {
5122    if (conf_parser_ctx.pass == 2)
5123    {
# Line 6001 | Line 5127 | yyreduce:
5127   }
5128      break;
5129  
5130 <  case 354:
5131 <
5132 < /* Line 1455 of yacc.c  */
6007 < #line 2250 "ircd_parser.y"
5130 >  case 311:
5131 > /* Line 1787 of yacc.c  */
5132 > #line 1862 "conf_parser.y"
5133      {
5134    if (conf_parser_ctx.pass == 2)
5135    {
# Line 6027 | Line 5152 | yyreduce:
5152   }
5153      break;
5154  
5155 <  case 355:
5156 <
5157 < /* Line 1455 of yacc.c  */
6033 < #line 2272 "ircd_parser.y"
5155 >  case 312:
5156 > /* Line 1787 of yacc.c  */
5157 > #line 1884 "conf_parser.y"
5158      {
5159    if (conf_parser_ctx.pass == 2)
5160      yy_match_item->action = 0;
5161   }
5162      break;
5163  
5164 <  case 359:
5165 <
5166 < /* Line 1455 of yacc.c  */
6043 < #line 2279 "ircd_parser.y"
5164 >  case 316:
5165 > /* Line 1787 of yacc.c  */
5166 > #line 1891 "conf_parser.y"
5167      {
5168    if (conf_parser_ctx.pass == 2)
5169      yy_match_item->action |= SHARED_KLINE;
5170   }
5171      break;
5172  
5173 <  case 360:
5174 <
5175 < /* Line 1455 of yacc.c  */
6053 < #line 2283 "ircd_parser.y"
5173 >  case 317:
5174 > /* Line 1787 of yacc.c  */
5175 > #line 1895 "conf_parser.y"
5176      {
5177    if (conf_parser_ctx.pass == 2)
5178 <    yy_match_item->action |= SHARED_TKLINE;
5178 >    yy_match_item->action |= SHARED_UNKLINE;
5179   }
5180      break;
5181  
5182 <  case 361:
5183 <
5184 < /* Line 1455 of yacc.c  */
6063 < #line 2287 "ircd_parser.y"
5182 >  case 318:
5183 > /* Line 1787 of yacc.c  */
5184 > #line 1899 "conf_parser.y"
5185      {
5186    if (conf_parser_ctx.pass == 2)
5187 <    yy_match_item->action |= SHARED_UNKLINE;
5187 >    yy_match_item->action |= SHARED_DLINE;
5188   }
5189      break;
5190  
5191 <  case 362:
5192 <
5193 < /* Line 1455 of yacc.c  */
6073 < #line 2291 "ircd_parser.y"
5191 >  case 319:
5192 > /* Line 1787 of yacc.c  */
5193 > #line 1903 "conf_parser.y"
5194      {
5195    if (conf_parser_ctx.pass == 2)
5196 <    yy_match_item->action |= SHARED_XLINE;
5196 >    yy_match_item->action |= SHARED_UNDLINE;
5197   }
5198      break;
5199  
5200 <  case 363:
5201 <
5202 < /* Line 1455 of yacc.c  */
6083 < #line 2295 "ircd_parser.y"
5200 >  case 320:
5201 > /* Line 1787 of yacc.c  */
5202 > #line 1907 "conf_parser.y"
5203      {
5204    if (conf_parser_ctx.pass == 2)
5205 <    yy_match_item->action |= SHARED_TXLINE;
5205 >    yy_match_item->action |= SHARED_XLINE;
5206   }
5207      break;
5208  
5209 <  case 364:
5210 <
5211 < /* Line 1455 of yacc.c  */
6093 < #line 2299 "ircd_parser.y"
5209 >  case 321:
5210 > /* Line 1787 of yacc.c  */
5211 > #line 1911 "conf_parser.y"
5212      {
5213    if (conf_parser_ctx.pass == 2)
5214      yy_match_item->action |= SHARED_UNXLINE;
5215   }
5216      break;
5217  
5218 <  case 365:
5219 <
5220 < /* Line 1455 of yacc.c  */
6103 < #line 2303 "ircd_parser.y"
5218 >  case 322:
5219 > /* Line 1787 of yacc.c  */
5220 > #line 1915 "conf_parser.y"
5221      {
5222    if (conf_parser_ctx.pass == 2)
5223      yy_match_item->action |= SHARED_RESV;
5224   }
5225      break;
5226  
5227 <  case 366:
5228 <
5229 < /* Line 1455 of yacc.c  */
6113 < #line 2307 "ircd_parser.y"
6114 <    {
6115 <  if (conf_parser_ctx.pass == 2)
6116 <    yy_match_item->action |= SHARED_TRESV;
6117 < }
6118 <    break;
6119 <
6120 <  case 367:
6121 <
6122 < /* Line 1455 of yacc.c  */
6123 < #line 2311 "ircd_parser.y"
5227 >  case 323:
5228 > /* Line 1787 of yacc.c  */
5229 > #line 1919 "conf_parser.y"
5230      {
5231    if (conf_parser_ctx.pass == 2)
5232      yy_match_item->action |= SHARED_UNRESV;
5233   }
5234      break;
5235  
5236 <  case 368:
5237 <
5238 < /* Line 1455 of yacc.c  */
6133 < #line 2315 "ircd_parser.y"
5236 >  case 324:
5237 > /* Line 1787 of yacc.c  */
5238 > #line 1923 "conf_parser.y"
5239      {
5240    if (conf_parser_ctx.pass == 2)
5241      yy_match_item->action |= SHARED_LOCOPS;
5242   }
5243      break;
5244  
5245 <  case 369:
5246 <
5247 < /* Line 1455 of yacc.c  */
6143 < #line 2319 "ircd_parser.y"
5245 >  case 325:
5246 > /* Line 1787 of yacc.c  */
5247 > #line 1927 "conf_parser.y"
5248      {
5249    if (conf_parser_ctx.pass == 2)
5250      yy_match_item->action = SHARED_ALL;
5251   }
5252      break;
5253  
5254 <  case 370:
5255 <
5256 < /* Line 1455 of yacc.c  */
6153 < #line 2328 "ircd_parser.y"
5254 >  case 326:
5255 > /* Line 1787 of yacc.c  */
5256 > #line 1936 "conf_parser.y"
5257      {
5258    if (conf_parser_ctx.pass == 2)
5259    {
# Line 6160 | Line 5263 | yyreduce:
5263   }
5264      break;
5265  
5266 <  case 371:
5267 <
5268 < /* Line 1455 of yacc.c  */
6166 < #line 2335 "ircd_parser.y"
5266 >  case 327:
5267 > /* Line 1787 of yacc.c  */
5268 > #line 1943 "conf_parser.y"
5269      {
5270    if (conf_parser_ctx.pass == 2)
5271    {
# Line 6174 | Line 5276 | yyreduce:
5276   }
5277      break;
5278  
5279 <  case 377:
5280 <
5281 < /* Line 1455 of yacc.c  */
6180 < #line 2348 "ircd_parser.y"
5279 >  case 333:
5280 > /* Line 1787 of yacc.c  */
5281 > #line 1956 "conf_parser.y"
5282      {
5283    if (conf_parser_ctx.pass == 2)
5284      DupString(yy_conf->name, yylval.string);
5285   }
5286      break;
5287  
5288 <  case 378:
5289 <
5290 < /* Line 1455 of yacc.c  */
6190 < #line 2354 "ircd_parser.y"
5288 >  case 334:
5289 > /* Line 1787 of yacc.c  */
5290 > #line 1962 "conf_parser.y"
5291      {
5292    if (conf_parser_ctx.pass == 2)
5293      yy_conf->flags = 0;
5294   }
5295      break;
5296  
5297 <  case 382:
5298 <
5299 < /* Line 1455 of yacc.c  */
6200 < #line 2361 "ircd_parser.y"
5297 >  case 338:
5298 > /* Line 1787 of yacc.c  */
5299 > #line 1969 "conf_parser.y"
5300      {
5301    if (conf_parser_ctx.pass == 2)
5302      yy_conf->flags |= SHARED_KLINE;
5303   }
5304      break;
5305  
5306 <  case 383:
5307 <
5308 < /* Line 1455 of yacc.c  */
6210 < #line 2365 "ircd_parser.y"
5306 >  case 339:
5307 > /* Line 1787 of yacc.c  */
5308 > #line 1973 "conf_parser.y"
5309      {
5310    if (conf_parser_ctx.pass == 2)
5311 <    yy_conf->flags |= SHARED_TKLINE;
5311 >    yy_conf->flags |= SHARED_UNKLINE;
5312   }
5313      break;
5314  
5315 <  case 384:
5316 <
5317 < /* Line 1455 of yacc.c  */
6220 < #line 2369 "ircd_parser.y"
5315 >  case 340:
5316 > /* Line 1787 of yacc.c  */
5317 > #line 1977 "conf_parser.y"
5318      {
5319    if (conf_parser_ctx.pass == 2)
5320 <    yy_conf->flags |= SHARED_UNKLINE;
5320 >    yy_conf->flags |= SHARED_DLINE;
5321   }
5322      break;
5323  
5324 <  case 385:
5325 <
5326 < /* Line 1455 of yacc.c  */
6230 < #line 2373 "ircd_parser.y"
5324 >  case 341:
5325 > /* Line 1787 of yacc.c  */
5326 > #line 1981 "conf_parser.y"
5327      {
5328    if (conf_parser_ctx.pass == 2)
5329 <    yy_conf->flags |= SHARED_XLINE;
5329 >    yy_conf->flags |= SHARED_UNDLINE;
5330   }
5331      break;
5332  
5333 <  case 386:
5334 <
5335 < /* Line 1455 of yacc.c  */
6240 < #line 2377 "ircd_parser.y"
5333 >  case 342:
5334 > /* Line 1787 of yacc.c  */
5335 > #line 1985 "conf_parser.y"
5336      {
5337    if (conf_parser_ctx.pass == 2)
5338 <    yy_conf->flags |= SHARED_TXLINE;
5338 >    yy_conf->flags |= SHARED_XLINE;
5339   }
5340      break;
5341  
5342 <  case 387:
5343 <
5344 < /* Line 1455 of yacc.c  */
6250 < #line 2381 "ircd_parser.y"
5342 >  case 343:
5343 > /* Line 1787 of yacc.c  */
5344 > #line 1989 "conf_parser.y"
5345      {
5346    if (conf_parser_ctx.pass == 2)
5347      yy_conf->flags |= SHARED_UNXLINE;
5348   }
5349      break;
5350  
5351 <  case 388:
5352 <
5353 < /* Line 1455 of yacc.c  */
6260 < #line 2385 "ircd_parser.y"
5351 >  case 344:
5352 > /* Line 1787 of yacc.c  */
5353 > #line 1993 "conf_parser.y"
5354      {
5355    if (conf_parser_ctx.pass == 2)
5356      yy_conf->flags |= SHARED_RESV;
5357   }
5358      break;
5359  
5360 <  case 389:
5361 <
5362 < /* Line 1455 of yacc.c  */
6270 < #line 2389 "ircd_parser.y"
6271 <    {
6272 <  if (conf_parser_ctx.pass == 2)
6273 <    yy_conf->flags |= SHARED_TRESV;
6274 < }
6275 <    break;
6276 <
6277 <  case 390:
6278 <
6279 < /* Line 1455 of yacc.c  */
6280 < #line 2393 "ircd_parser.y"
5360 >  case 345:
5361 > /* Line 1787 of yacc.c  */
5362 > #line 1997 "conf_parser.y"
5363      {
5364    if (conf_parser_ctx.pass == 2)
5365      yy_conf->flags |= SHARED_UNRESV;
5366   }
5367      break;
5368  
5369 <  case 391:
5370 <
5371 < /* Line 1455 of yacc.c  */
6290 < #line 2397 "ircd_parser.y"
5369 >  case 346:
5370 > /* Line 1787 of yacc.c  */
5371 > #line 2001 "conf_parser.y"
5372      {
5373    if (conf_parser_ctx.pass == 2)
5374      yy_conf->flags |= SHARED_LOCOPS;
5375   }
5376      break;
5377  
5378 <  case 392:
5379 <
5380 < /* Line 1455 of yacc.c  */
6300 < #line 2401 "ircd_parser.y"
5378 >  case 347:
5379 > /* Line 1787 of yacc.c  */
5380 > #line 2005 "conf_parser.y"
5381      {
5382    if (conf_parser_ctx.pass == 2)
5383      yy_conf->flags = SHARED_ALL;
5384   }
5385      break;
5386  
5387 <  case 393:
5388 <
5389 < /* Line 1455 of yacc.c  */
6310 < #line 2410 "ircd_parser.y"
5387 >  case 348:
5388 > /* Line 1787 of yacc.c  */
5389 > #line 2014 "conf_parser.y"
5390      {
5391    if (conf_parser_ctx.pass == 2)
5392    {
5393      yy_conf = make_conf_item(SERVER_TYPE);
5394 <    yy_aconf = (struct AccessItem *)map_to_conf(yy_conf);
5395 <    yy_aconf->passwd = NULL;
5394 >    yy_aconf = map_to_conf(yy_conf);
5395 >
5396      /* defaults */
5397      yy_aconf->port = PORTNUM;
6319
6320    if (ConfigFileEntry.burst_away)
6321      yy_aconf->flags = CONF_FLAGS_BURST_AWAY;
5398    }
5399    else
5400    {
# Line 6328 | Line 5404 | yyreduce:
5404   }
5405      break;
5406  
5407 <  case 394:
5408 <
5409 < /* Line 1455 of yacc.c  */
6334 < #line 2428 "ircd_parser.y"
5407 >  case 349:
5408 > /* Line 1787 of yacc.c  */
5409 > #line 2029 "conf_parser.y"
5410      {
5411    if (conf_parser_ctx.pass == 2)
5412    {
5413 <    struct CollectItem *yy_hconf=NULL;
5414 <    struct CollectItem *yy_lconf=NULL;
5415 <    dlink_node *ptr;
5416 <    dlink_node *next_ptr;
5417 < #ifdef HAVE_LIBCRYPTO
5418 <    if (yy_aconf->host &&
5419 <        ((yy_aconf->passwd && yy_aconf->spasswd) ||
5420 <         (yy_aconf->rsa_public_key && IsConfCryptLink(yy_aconf))))
6346 < #else /* !HAVE_LIBCRYPTO */
6347 <      if (yy_aconf->host && !IsConfCryptLink(yy_aconf) &&
6348 <          yy_aconf->passwd && yy_aconf->spasswd)
6349 < #endif /* !HAVE_LIBCRYPTO */
6350 <        {
6351 <          if (conf_add_server(yy_conf, class_name) == -1)
6352 <          {
6353 <            delete_conf_item(yy_conf);
6354 <            yy_conf = NULL;
6355 <            yy_aconf = NULL;
6356 <          }
6357 <        }
6358 <        else
6359 <        {
6360 <          /* Even if yy_conf ->name is NULL
6361 <           * should still unhook any hub/leaf confs still pending
6362 <           */
6363 <          unhook_hub_leaf_confs();
6364 <
6365 <          if (yy_conf->name != NULL)
6366 <          {
6367 < #ifndef HAVE_LIBCRYPTO
6368 <            if (IsConfCryptLink(yy_aconf))
6369 <              yyerror("Ignoring connect block -- no OpenSSL support");
6370 < #else
6371 <            if (IsConfCryptLink(yy_aconf) && !yy_aconf->rsa_public_key)
6372 <              yyerror("Ignoring connect block -- missing key");
6373 < #endif
6374 <            if (yy_aconf->host == NULL)
6375 <              yyerror("Ignoring connect block -- missing host");
6376 <            else if (!IsConfCryptLink(yy_aconf) &&
6377 <                    (!yy_aconf->passwd || !yy_aconf->spasswd))
6378 <              yyerror("Ignoring connect block -- missing password");
6379 <          }
6380 <
6381 <
6382 <          /* XXX
6383 <           * This fixes a try_connections() core (caused by invalid class_ptr
6384 <           * pointers) reported by metalrock. That's an ugly fix, but there
6385 <           * is currently no better way. The entire config subsystem needs an
6386 <           * rewrite ASAP. make_conf_item() shouldn't really add things onto
6387 <           * a doubly linked list immediately without any sanity checks!  -Michael
6388 <           */
6389 <          delete_conf_item(yy_conf);
6390 <
6391 <          yy_aconf = NULL;
6392 <          yy_conf = NULL;
6393 <        }
6394 <
6395 <      /*
6396 <       * yy_conf is still pointing at the server that is having
6397 <       * a connect block built for it. This means, y_aconf->name
6398 <       * points to the actual irc name this server will be known as.
6399 <       * Now this new server has a set or even just one hub_mask (or leaf_mask)
6400 <       * given in the link list at yy_hconf. Fill in the HUB confs
6401 <       * from this link list now.
6402 <       */        
6403 <      DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
5413 >    if (yy_aconf->host && yy_aconf->passwd && yy_aconf->spasswd)
5414 >    {
5415 >      if (conf_add_server(yy_conf, class_name) == -1)
5416 >        delete_conf_item(yy_conf);
5417 >    }
5418 >    else
5419 >    {
5420 >      if (yy_conf->name != NULL)
5421        {
5422 <        struct ConfItem *new_hub_conf;
5423 <        struct MatchItem *match_item;
5424 <
5425 <        yy_hconf = ptr->data;
6409 <
6410 <        /* yy_conf == NULL is a fatal error for this connect block! */
6411 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
6412 <        {
6413 <          new_hub_conf = make_conf_item(HUB_TYPE);
6414 <          match_item = (struct MatchItem *)map_to_conf(new_hub_conf);
6415 <          DupString(new_hub_conf->name, yy_conf->name);
6416 <          if (yy_hconf->user != NULL)
6417 <            DupString(match_item->user, yy_hconf->user);
6418 <          else
6419 <            DupString(match_item->user, "*");
6420 <          if (yy_hconf->host != NULL)
6421 <            DupString(match_item->host, yy_hconf->host);
6422 <          else
6423 <            DupString(match_item->host, "*");
6424 <        }
6425 <        dlinkDelete(&yy_hconf->node, &hub_conf_list);
6426 <        free_collect_item(yy_hconf);
5422 >        if (yy_aconf->host == NULL)
5423 >          yyerror("Ignoring connect block -- missing host");
5424 >        else if (!yy_aconf->passwd || !yy_aconf->spasswd)
5425 >          yyerror("Ignoring connect block -- missing password");
5426        }
5427  
5428 <      /* Ditto for the LEAF confs */
5429 <
5430 <      DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
5431 <      {
5432 <        struct ConfItem *new_leaf_conf;
5433 <        struct MatchItem *match_item;
5434 <
5435 <        yy_lconf = ptr->data;
5436 <
6438 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
6439 <        {
6440 <          new_leaf_conf = make_conf_item(LEAF_TYPE);
6441 <          match_item = (struct MatchItem *)map_to_conf(new_leaf_conf);
6442 <          DupString(new_leaf_conf->name, yy_conf->name);
6443 <          if (yy_lconf->user != NULL)
6444 <            DupString(match_item->user, yy_lconf->user);
6445 <          else
6446 <            DupString(match_item->user, "*");
6447 <          if (yy_lconf->host != NULL)
6448 <            DupString(match_item->host, yy_lconf->host);
6449 <          else
6450 <            DupString(match_item->host, "*");
6451 <        }
6452 <        dlinkDelete(&yy_lconf->node, &leaf_conf_list);
6453 <        free_collect_item(yy_lconf);
6454 <      }
6455 <      MyFree(class_name);
6456 <      class_name = NULL;
6457 <      yy_conf = NULL;
6458 <      yy_aconf = NULL;
6459 <  }
6460 < }
6461 <    break;
6462 <
6463 <  case 419:
6464 <
6465 < /* Line 1455 of yacc.c  */
6466 < #line 2567 "ircd_parser.y"
6467 <    {
6468 <  if (conf_parser_ctx.pass == 2)
6469 <  {
6470 <    if (yy_conf->name != NULL)
6471 <      yyerror("Multiple connect name entry");
5428 >      /* XXX
5429 >       * This fixes a try_connections() core (caused by invalid class_ptr
5430 >       * pointers) reported by metalrock. That's an ugly fix, but there
5431 >       * is currently no better way. The entire config subsystem needs an
5432 >       * rewrite ASAP. make_conf_item() shouldn't really add things onto
5433 >       * a doubly linked list immediately without any sanity checks!  -Michael
5434 >       */
5435 >      delete_conf_item(yy_conf);
5436 >    }
5437  
5438 <    MyFree(yy_conf->name);
5439 <    DupString(yy_conf->name, yylval.string);
5438 >    MyFree(class_name);
5439 >    class_name = NULL;
5440 >    yy_conf = NULL;
5441 >    yy_aconf = NULL;
5442    }
5443   }
5444      break;
5445  
5446 <  case 420:
5447 <
5448 < /* Line 1455 of yacc.c  */
6482 < #line 2579 "ircd_parser.y"
5446 >  case 366:
5447 > /* Line 1787 of yacc.c  */
5448 > #line 2073 "conf_parser.y"
5449      {
5450    if (conf_parser_ctx.pass == 2)
5451    {
6486    if (yy_conf->name != NULL)
6487      yyerror("Multiple connect name entry");
6488
5452      MyFree(yy_conf->name);
5453      DupString(yy_conf->name, yylval.string);
5454    }
5455   }
5456      break;
5457  
5458 <  case 421:
5459 <
5460 < /* Line 1455 of yacc.c  */
6498 < #line 2591 "ircd_parser.y"
5458 >  case 367:
5459 > /* Line 1787 of yacc.c  */
5460 > #line 2082 "conf_parser.y"
5461      {
5462    if (conf_parser_ctx.pass == 2)
5463    {
# Line 6505 | Line 5467 | yyreduce:
5467   }
5468      break;
5469  
5470 <  case 422:
5471 <
5472 < /* Line 1455 of yacc.c  */
6511 < #line 2600 "ircd_parser.y"
5470 >  case 368:
5471 > /* Line 1787 of yacc.c  */
5472 > #line 2091 "conf_parser.y"
5473      {
5474    if (conf_parser_ctx.pass == 2)
5475    {
# Line 6520 | Line 5481 | yyreduce:
5481      hints.ai_socktype = SOCK_STREAM;
5482      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
5483  
5484 <    if (irc_getaddrinfo(yylval.string, NULL, &hints, &res))
5485 <      ilog(L_ERROR, "Invalid netmask for server vhost(%s)", yylval.string);
5484 >    if (getaddrinfo(yylval.string, NULL, &hints, &res))
5485 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
5486      else
5487      {
5488        assert(res != NULL);
5489  
5490 <      memcpy(&yy_aconf->my_ipnum, res->ai_addr, res->ai_addrlen);
5491 <      yy_aconf->my_ipnum.ss.ss_family = res->ai_family;
5492 <      yy_aconf->my_ipnum.ss_len = res->ai_addrlen;
5493 <      irc_freeaddrinfo(res);
5490 >      memcpy(&yy_aconf->bind, res->ai_addr, res->ai_addrlen);
5491 >      yy_aconf->bind.ss.ss_family = res->ai_family;
5492 >      yy_aconf->bind.ss_len = res->ai_addrlen;
5493 >      freeaddrinfo(res);
5494      }
5495    }
5496   }
5497      break;
5498  
5499 <  case 423:
5500 <
5501 < /* Line 1455 of yacc.c  */
6541 < #line 2626 "ircd_parser.y"
5499 >  case 369:
5500 > /* Line 1787 of yacc.c  */
5501 > #line 2117 "conf_parser.y"
5502      {
5503    if (conf_parser_ctx.pass == 2)
5504    {
# Line 6557 | Line 5517 | yyreduce:
5517   }
5518      break;
5519  
5520 <  case 424:
5521 <
5522 < /* Line 1455 of yacc.c  */
6563 < #line 2644 "ircd_parser.y"
5520 >  case 370:
5521 > /* Line 1787 of yacc.c  */
5522 > #line 2135 "conf_parser.y"
5523      {
5524    if (conf_parser_ctx.pass == 2)
5525    {
# Line 6579 | Line 5538 | yyreduce:
5538   }
5539      break;
5540  
5541 <  case 425:
5542 <
5543 < /* Line 1455 of yacc.c  */
6585 < #line 2662 "ircd_parser.y"
5541 >  case 371:
5542 > /* Line 1787 of yacc.c  */
5543 > #line 2153 "conf_parser.y"
5544      {
5545    if (conf_parser_ctx.pass == 2)
5546      yy_aconf->port = (yyvsp[(3) - (4)].number);
5547   }
5548      break;
5549  
5550 <  case 426:
5551 <
5552 < /* Line 1455 of yacc.c  */
6595 < #line 2668 "ircd_parser.y"
5550 >  case 372:
5551 > /* Line 1787 of yacc.c  */
5552 > #line 2159 "conf_parser.y"
5553      {
5554    if (conf_parser_ctx.pass == 2)
5555      yy_aconf->aftype = AF_INET;
5556   }
5557      break;
5558  
5559 <  case 427:
5560 <
5561 < /* Line 1455 of yacc.c  */
6605 < #line 2672 "ircd_parser.y"
5559 >  case 373:
5560 > /* Line 1787 of yacc.c  */
5561 > #line 2163 "conf_parser.y"
5562      {
5563   #ifdef IPV6
5564    if (conf_parser_ctx.pass == 2)
# Line 6611 | Line 5567 | yyreduce:
5567   }
5568      break;
5569  
5570 <  case 428:
5571 <
5572 < /* Line 1455 of yacc.c  */
6617 < #line 2680 "ircd_parser.y"
6618 <    {
6619 <  if (conf_parser_ctx.pass == 2)
6620 <  {
6621 <    MyFree(yy_aconf->fakename);
6622 <    DupString(yy_aconf->fakename, yylval.string);
6623 <  }
6624 < }
6625 <    break;
6626 <
6627 <  case 429:
6628 <
6629 < /* Line 1455 of yacc.c  */
6630 < #line 2689 "ircd_parser.y"
6631 <    {
6632 < }
6633 <    break;
6634 <
6635 <  case 433:
6636 <
6637 < /* Line 1455 of yacc.c  */
6638 < #line 2693 "ircd_parser.y"
6639 <    { not_atom = 1; }
6640 <    break;
6641 <
6642 <  case 435:
6643 <
6644 < /* Line 1455 of yacc.c  */
6645 < #line 2694 "ircd_parser.y"
6646 <    { not_atom = 0; }
6647 <    break;
6648 <
6649 <  case 437:
6650 <
6651 < /* Line 1455 of yacc.c  */
6652 < #line 2697 "ircd_parser.y"
6653 <    {
6654 <  if (conf_parser_ctx.pass == 2)
6655 < #ifndef HAVE_LIBZ
6656 <    yyerror("Ignoring flags = compressed; -- no zlib support");
6657 < #else
6658 < {
6659 <   if (not_atom)ClearConfCompressed(yy_aconf);
6660 <   else SetConfCompressed(yy_aconf);
6661 < }
6662 < #endif
6663 < }
6664 <    break;
6665 <
6666 <  case 438:
6667 <
6668 < /* Line 1455 of yacc.c  */
6669 < #line 2708 "ircd_parser.y"
6670 <    {
6671 <  if (conf_parser_ctx.pass == 2)
6672 <  {
6673 <    if (not_atom)ClearConfCryptLink(yy_aconf);
6674 <    else SetConfCryptLink(yy_aconf);
6675 <  }
6676 < }
6677 <    break;
6678 <
6679 <  case 439:
6680 <
6681 < /* Line 1455 of yacc.c  */
6682 < #line 2715 "ircd_parser.y"
5570 >  case 374:
5571 > /* Line 1787 of yacc.c  */
5572 > #line 2171 "conf_parser.y"
5573      {
6684  if (conf_parser_ctx.pass == 2)
6685  {
6686    if (not_atom)ClearConfAllowAutoConn(yy_aconf);
6687    else SetConfAllowAutoConn(yy_aconf);
6688  }
5574   }
5575      break;
5576  
5577 <  case 440:
5578 <
5579 < /* Line 1455 of yacc.c  */
6695 < #line 2722 "ircd_parser.y"
5577 >  case 378:
5578 > /* Line 1787 of yacc.c  */
5579 > #line 2176 "conf_parser.y"
5580      {
5581    if (conf_parser_ctx.pass == 2)
5582 <  {
6699 <    if (not_atom)ClearConfAwayBurst(yy_aconf);
6700 <    else SetConfAwayBurst(yy_aconf);
6701 <  }
5582 >    SetConfAllowAutoConn(yy_aconf);
5583   }
5584      break;
5585  
5586 <  case 441:
5587 <
5588 < /* Line 1455 of yacc.c  */
6708 < #line 2729 "ircd_parser.y"
5586 >  case 379:
5587 > /* Line 1787 of yacc.c  */
5588 > #line 2180 "conf_parser.y"
5589      {
5590    if (conf_parser_ctx.pass == 2)
5591 <  {
6712 <    if (not_atom)ClearConfTopicBurst(yy_aconf);
6713 <    else SetConfTopicBurst(yy_aconf);
6714 <  }
5591 >    SetConfSSL(yy_aconf);
5592   }
5593      break;
5594  
5595 <  case 442:
5596 <
5597 < /* Line 1455 of yacc.c  */
6721 < #line 2739 "ircd_parser.y"
6722 <    {
6723 < #ifdef HAVE_LIBCRYPTO
6724 <  if (conf_parser_ctx.pass == 2)
6725 <  {
6726 <    BIO *file;
6727 <
6728 <    if (yy_aconf->rsa_public_key != NULL)
6729 <    {
6730 <      RSA_free(yy_aconf->rsa_public_key);
6731 <      yy_aconf->rsa_public_key = NULL;
6732 <    }
6733 <
6734 <    if (yy_aconf->rsa_public_key_file != NULL)
6735 <    {
6736 <      MyFree(yy_aconf->rsa_public_key_file);
6737 <      yy_aconf->rsa_public_key_file = NULL;
6738 <    }
6739 <
6740 <    DupString(yy_aconf->rsa_public_key_file, yylval.string);
6741 <
6742 <    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
6743 <    {
6744 <      yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
6745 <      break;
6746 <    }
6747 <
6748 <    yy_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
6749 <
6750 <    if (yy_aconf->rsa_public_key == NULL)
6751 <    {
6752 <      yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
6753 <      break;
6754 <    }
6755 <      
6756 <    BIO_set_close(file, BIO_CLOSE);
6757 <    BIO_free(file);
6758 <  }
6759 < #endif /* HAVE_LIBCRYPTO */
6760 < }
6761 <    break;
6762 <
6763 <  case 443:
6764 <
6765 < /* Line 1455 of yacc.c  */
6766 < #line 2780 "ircd_parser.y"
5595 >  case 380:
5596 > /* Line 1787 of yacc.c  */
5597 > #line 2186 "conf_parser.y"
5598      {
5599    if (conf_parser_ctx.pass == 2)
5600    {
# Line 6775 | Line 5606 | yyreduce:
5606   }
5607      break;
5608  
5609 <  case 444:
5610 <
5611 < /* Line 1455 of yacc.c  */
6781 < #line 2791 "ircd_parser.y"
6782 <    {
6783 <  if (conf_parser_ctx.pass == 2)
6784 <  {
6785 <    if (yylval.number)
6786 <      yy_aconf->flags |= CONF_FLAGS_CRYPTLINK;
6787 <    else
6788 <      yy_aconf->flags &= ~CONF_FLAGS_CRYPTLINK;
6789 <  }
6790 < }
6791 <    break;
6792 <
6793 <  case 445:
6794 <
6795 < /* Line 1455 of yacc.c  */
6796 < #line 2802 "ircd_parser.y"
6797 <    {
6798 <  if (conf_parser_ctx.pass == 2)
6799 <  {
6800 <    if (yylval.number)
6801 < #ifndef HAVE_LIBZ
6802 <      yyerror("Ignoring compressed=yes; -- no zlib support");
6803 < #else
6804 <      yy_aconf->flags |= CONF_FLAGS_COMPRESSED;
6805 < #endif
6806 <    else
6807 <      yy_aconf->flags &= ~CONF_FLAGS_COMPRESSED;
6808 <  }
6809 < }
6810 <    break;
6811 <
6812 <  case 446:
6813 <
6814 < /* Line 1455 of yacc.c  */
6815 < #line 2817 "ircd_parser.y"
6816 <    {
6817 <  if (conf_parser_ctx.pass == 2)
6818 <  {
6819 <    if (yylval.number)
6820 <      yy_aconf->flags |= CONF_FLAGS_ALLOW_AUTO_CONN;
6821 <    else
6822 <      yy_aconf->flags &= ~CONF_FLAGS_ALLOW_AUTO_CONN;
6823 <  }
6824 < }
6825 <    break;
6826 <
6827 <  case 447:
6828 <
6829 < /* Line 1455 of yacc.c  */
6830 < #line 2828 "ircd_parser.y"
6831 <    {
6832 <  if (conf_parser_ctx.pass == 2)
6833 <  {
6834 <    if (yylval.number)
6835 <      SetConfTopicBurst(yy_aconf);
6836 <    else
6837 <      ClearConfTopicBurst(yy_aconf);
6838 <  }
6839 < }
6840 <    break;
6841 <
6842 <  case 448:
6843 <
6844 < /* Line 1455 of yacc.c  */
6845 < #line 2839 "ircd_parser.y"
5609 >  case 381:
5610 > /* Line 1787 of yacc.c  */
5611 > #line 2197 "conf_parser.y"
5612      {
5613    if (conf_parser_ctx.pass == 2)
5614    {
5615 <    struct CollectItem *yy_tmp;
5615 >    char *mask;
5616  
5617 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
5618 <    DupString(yy_tmp->host, yylval.string);
6853 <    DupString(yy_tmp->user, "*");
6854 <    dlinkAdd(yy_tmp, &yy_tmp->node, &hub_conf_list);
5617 >    DupString(mask, yylval.string);
5618 >    dlinkAdd(mask, make_dlink_node(), &yy_aconf->hub_list);
5619    }
5620   }
5621      break;
5622  
5623 <  case 449:
5624 <
5625 < /* Line 1455 of yacc.c  */
6862 < #line 2852 "ircd_parser.y"
5623 >  case 382:
5624 > /* Line 1787 of yacc.c  */
5625 > #line 2208 "conf_parser.y"
5626      {
5627    if (conf_parser_ctx.pass == 2)
5628    {
5629 <    struct CollectItem *yy_tmp;
5629 >    char *mask;
5630  
5631 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
5632 <    DupString(yy_tmp->host, yylval.string);
6870 <    DupString(yy_tmp->user, "*");
6871 <    dlinkAdd(yy_tmp, &yy_tmp->node, &leaf_conf_list);
5631 >    DupString(mask, yylval.string);
5632 >    dlinkAdd(mask, make_dlink_node(), &yy_aconf->leaf_list);
5633    }
5634   }
5635      break;
5636  
5637 <  case 450:
5638 <
5639 < /* Line 1455 of yacc.c  */
6879 < #line 2865 "ircd_parser.y"
5637 >  case 383:
5638 > /* Line 1787 of yacc.c  */
5639 > #line 2219 "conf_parser.y"
5640      {
5641    if (conf_parser_ctx.pass == 2)
5642    {
# Line 6886 | Line 5646 | yyreduce:
5646   }
5647      break;
5648  
5649 <  case 451:
5650 <
5651 < /* Line 1455 of yacc.c  */
6892 < #line 2874 "ircd_parser.y"
5649 >  case 384:
5650 > /* Line 1787 of yacc.c  */
5651 > #line 2228 "conf_parser.y"
5652      {
5653   #ifdef HAVE_LIBCRYPTO
5654    if (conf_parser_ctx.pass == 2)
5655    {
5656 <    struct EncCapability *ecap;
5657 <    const char *cipher_name;
6899 <    int found = 0;
6900 <
6901 <    yy_aconf->cipher_preference = NULL;
6902 <    cipher_name = yylval.string;
6903 <
6904 <    for (ecap = CipherTable; ecap->name; ecap++)
6905 <    {
6906 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
6907 <          (ecap->cap & CAP_ENC_MASK))
6908 <      {
6909 <        yy_aconf->cipher_preference = ecap;
6910 <        found = 1;
6911 <        break;
6912 <      }
6913 <    }
6914 <
6915 <    if (!found)
6916 <      yyerror("Invalid cipher");
5656 >    MyFree(yy_aconf->cipher_list);
5657 >    DupString(yy_aconf->cipher_list, yylval.string);
5658    }
5659   #else
5660    if (conf_parser_ctx.pass == 2)
5661 <    yyerror("Ignoring cipher_preference -- no OpenSSL support");
5661 >    yyerror("Ignoring connect::ciphers -- no OpenSSL support");
5662   #endif
5663   }
5664      break;
5665  
5666 <  case 452:
5667 <
5668 < /* Line 1455 of yacc.c  */
6928 < #line 2909 "ircd_parser.y"
5666 >  case 385:
5667 > /* Line 1787 of yacc.c  */
5668 > #line 2246 "conf_parser.y"
5669      {
5670    if (conf_parser_ctx.pass == 2)
5671    {
# Line 6935 | Line 5675 | yyreduce:
5675   }
5676      break;
5677  
5678 <  case 453:
5679 <
5680 < /* Line 1455 of yacc.c  */
6941 < #line 2916 "ircd_parser.y"
5678 >  case 386:
5679 > /* Line 1787 of yacc.c  */
5680 > #line 2253 "conf_parser.y"
5681      {
5682    if (conf_parser_ctx.pass == 2)
5683    {
# Line 6947 | Line 5686 | yyreduce:
5686        if (regex_ban)
5687        {
5688   #ifdef HAVE_LIBPCRE
5689 <        pcre *exp_user = NULL;
5690 <        pcre *exp_host = NULL;
5689 >        void *exp_user = NULL;
5690 >        void *exp_host = NULL;
5691          const char *errptr = NULL;
5692  
5693          if (!(exp_user = ircd_pcre_compile(userbuf, &errptr)) ||
5694              !(exp_host = ircd_pcre_compile(hostbuf, &errptr)))
5695          {
5696 <          ilog(L_ERROR, "Failed to add regular expression based K-Line: %s",
5696 >          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: %s",
5697                 errptr);
5698            break;
5699          }
# Line 6971 | Line 5710 | yyreduce:
5710          else
5711            DupString(yy_aconf->reason, "No reason");
5712   #else
5713 <        ilog(L_ERROR, "Failed to add regular expression based K-Line: no PCRE support");
5713 >        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
5714          break;
5715   #endif
5716        }
5717        else
5718        {
5719 +        find_and_delete_temporary(userbuf, hostbuf, CONF_KLINE);
5720 +
5721          yy_aconf = map_to_conf(make_conf_item(KLINE_TYPE));
5722  
5723          DupString(yy_aconf->user, userbuf);
# Line 6986 | Line 5727 | yyreduce:
5727            DupString(yy_aconf->reason, reasonbuf);
5728          else
5729            DupString(yy_aconf->reason, "No reason");
5730 <        add_conf_by_address(CONF_KILL, yy_aconf);
5730 >        add_conf_by_address(CONF_KLINE, yy_aconf);
5731        }
5732      }
5733  
# Line 6995 | Line 5736 | yyreduce:
5736   }
5737      break;
5738  
5739 <  case 454:
5740 <
5741 < /* Line 1455 of yacc.c  */
7001 < #line 2972 "ircd_parser.y"
5739 >  case 387:
5740 > /* Line 1787 of yacc.c  */
5741 > #line 2311 "conf_parser.y"
5742      {
5743   }
5744      break;
5745  
5746 <  case 458:
5747 <
5748 < /* Line 1455 of yacc.c  */
7009 < #line 2977 "ircd_parser.y"
5746 >  case 391:
5747 > /* Line 1787 of yacc.c  */
5748 > #line 2316 "conf_parser.y"
5749      {
5750    if (conf_parser_ctx.pass == 2)
5751      regex_ban = 1;
5752   }
5753      break;
5754  
5755 <  case 465:
5756 <
5757 < /* Line 1455 of yacc.c  */
7019 < #line 2986 "ircd_parser.y"
5755 >  case 398:
5756 > /* Line 1787 of yacc.c  */
5757 > #line 2325 "conf_parser.y"
5758      {
5759    if (conf_parser_ctx.pass == 2)
5760    {
# Line 7036 | Line 5774 | yyreduce:
5774   }
5775      break;
5776  
5777 <  case 466:
5778 <
5779 < /* Line 1455 of yacc.c  */
7042 < #line 3005 "ircd_parser.y"
5777 >  case 399:
5778 > /* Line 1787 of yacc.c  */
5779 > #line 2344 "conf_parser.y"
5780      {
5781    if (conf_parser_ctx.pass == 2)
5782      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5783   }
5784      break;
5785  
5786 <  case 467:
5787 <
5788 < /* Line 1455 of yacc.c  */
7052 < #line 3014 "ircd_parser.y"
5786 >  case 400:
5787 > /* Line 1787 of yacc.c  */
5788 > #line 2353 "conf_parser.y"
5789      {
5790    if (conf_parser_ctx.pass == 2)
5791      hostbuf[0] = reasonbuf[0] = '\0';
5792   }
5793      break;
5794  
5795 <  case 468:
5796 <
5797 < /* Line 1455 of yacc.c  */
7062 < #line 3018 "ircd_parser.y"
5795 >  case 401:
5796 > /* Line 1787 of yacc.c  */
5797 > #line 2357 "conf_parser.y"
5798      {
5799    if (conf_parser_ctx.pass == 2)
5800    {
5801      if (hostbuf[0] && parse_netmask(hostbuf, NULL, NULL) != HM_HOST)
5802      {
5803 +      find_and_delete_temporary(NULL, hostbuf, CONF_DLINE);
5804 +
5805        yy_aconf = map_to_conf(make_conf_item(DLINE_TYPE));
5806        DupString(yy_aconf->host, hostbuf);
5807  
# Line 7079 | Line 5816 | yyreduce:
5816   }
5817      break;
5818  
5819 <  case 474:
5820 <
5821 < /* Line 1455 of yacc.c  */
7085 < #line 3040 "ircd_parser.y"
5819 >  case 407:
5820 > /* Line 1787 of yacc.c  */
5821 > #line 2381 "conf_parser.y"
5822      {
5823    if (conf_parser_ctx.pass == 2)
5824      strlcpy(hostbuf, yylval.string, sizeof(hostbuf));
5825   }
5826      break;
5827  
5828 <  case 475:
5829 <
5830 < /* Line 1455 of yacc.c  */
7095 < #line 3046 "ircd_parser.y"
5828 >  case 408:
5829 > /* Line 1787 of yacc.c  */
5830 > #line 2387 "conf_parser.y"
5831      {
5832    if (conf_parser_ctx.pass == 2)
5833      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5834   }
5835      break;
5836  
5837 <  case 481:
5838 <
5839 < /* Line 1455 of yacc.c  */
7105 < #line 3060 "ircd_parser.y"
5837 >  case 414:
5838 > /* Line 1787 of yacc.c  */
5839 > #line 2401 "conf_parser.y"
5840      {
5841    if (conf_parser_ctx.pass == 2)
5842    {
# Line 7118 | Line 5852 | yyreduce:
5852   }
5853      break;
5854  
5855 <  case 482:
5856 <
5857 < /* Line 1455 of yacc.c  */
7124 < #line 3078 "ircd_parser.y"
5855 >  case 415:
5856 > /* Line 1787 of yacc.c  */
5857 > #line 2419 "conf_parser.y"
5858      {
5859    if (conf_parser_ctx.pass == 2)
5860    {
# Line 7131 | Line 5864 | yyreduce:
5864   }
5865      break;
5866  
5867 <  case 483:
5868 <
5869 < /* Line 1455 of yacc.c  */
7137 < #line 3085 "ircd_parser.y"
5867 >  case 416:
5868 > /* Line 1787 of yacc.c  */
5869 > #line 2426 "conf_parser.y"
5870      {
5871    if (conf_parser_ctx.pass == 2)
5872    {
# Line 7143 | Line 5875 | yyreduce:
5875        if (regex_ban)
5876        {
5877   #ifdef HAVE_LIBPCRE
5878 <        pcre *exp_p = NULL;
5878 >        void *exp_p = NULL;
5879          const char *errptr = NULL;
5880  
5881          if (!(exp_p = ircd_pcre_compile(gecos_name, &errptr)))
5882          {
5883 <          ilog(L_ERROR, "Failed to add regular expression based X-Line: %s",
5883 >          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
5884                 errptr);
5885            break;
5886          }
# Line 7156 | Line 5888 | yyreduce:
5888          yy_conf = make_conf_item(RXLINE_TYPE);
5889          yy_conf->regexpname = exp_p;
5890   #else
5891 <        ilog(L_ERROR, "Failed to add regular expression based X-Line: no PCRE support");
5891 >        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: no PCRE support");
5892          break;
5893   #endif
5894        }
# Line 7175 | Line 5907 | yyreduce:
5907   }
5908      break;
5909  
5910 <  case 484:
5911 <
5912 < /* Line 1455 of yacc.c  */
7181 < #line 3125 "ircd_parser.y"
5910 >  case 417:
5911 > /* Line 1787 of yacc.c  */
5912 > #line 2466 "conf_parser.y"
5913      {
5914   }
5915      break;
5916  
5917 <  case 488:
5918 <
5919 < /* Line 1455 of yacc.c  */
7189 < #line 3130 "ircd_parser.y"
5917 >  case 421:
5918 > /* Line 1787 of yacc.c  */
5919 > #line 2471 "conf_parser.y"
5920      {
5921    if (conf_parser_ctx.pass == 2)
5922      regex_ban = 1;
5923   }
5924      break;
5925  
5926 <  case 495:
5927 <
5928 < /* Line 1455 of yacc.c  */
7199 < #line 3139 "ircd_parser.y"
5926 >  case 428:
5927 > /* Line 1787 of yacc.c  */
5928 > #line 2480 "conf_parser.y"
5929      {
5930    if (conf_parser_ctx.pass == 2)
5931      strlcpy(gecos_name, yylval.string, sizeof(gecos_name));
5932   }
5933      break;
5934  
5935 <  case 496:
5936 <
5937 < /* Line 1455 of yacc.c  */
7209 < #line 3145 "ircd_parser.y"
5935 >  case 429:
5936 > /* Line 1787 of yacc.c  */
5937 > #line 2486 "conf_parser.y"
5938      {
5939    if (conf_parser_ctx.pass == 2)
5940      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5941   }
5942      break;
5943  
5944 <  case 557:
5945 <
5946 < /* Line 1455 of yacc.c  */
7219 < #line 3190 "ircd_parser.y"
5944 >  case 487:
5945 > /* Line 1787 of yacc.c  */
5946 > #line 2531 "conf_parser.y"
5947      {
5948    ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5949   }
5950      break;
5951  
5952 <  case 558:
5953 <
5954 < /* Line 1455 of yacc.c  */
7228 < #line 3195 "ircd_parser.y"
5952 >  case 488:
5953 > /* Line 1787 of yacc.c  */
5954 > #line 2536 "conf_parser.y"
5955      {
5956 <  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5956 >  if (conf_parser_ctx.pass == 2)
5957 >    ConfigFileEntry.glines = yylval.number;
5958   }
5959      break;
5960  
5961 <  case 559:
5962 <
5963 < /* Line 1455 of yacc.c  */
7237 < #line 3200 "ircd_parser.y"
5961 >  case 489:
5962 > /* Line 1787 of yacc.c  */
5963 > #line 2542 "conf_parser.y"
5964      {
5965 <  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5965 >  if (conf_parser_ctx.pass == 2)
5966 >    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5967   }
5968      break;
5969  
5970 <  case 560:
5970 >  case 490:
5971 > /* Line 1787 of yacc.c  */
5972 > #line 2548 "conf_parser.y"
5973 >    {
5974 >  if (conf_parser_ctx.pass == 2)
5975 >    ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5976 > }
5977 >    break;
5978  
5979 < /* Line 1455 of yacc.c  */
5980 < #line 3205 "ircd_parser.y"
5979 >  case 491:
5980 > /* Line 1787 of yacc.c  */
5981 > #line 2554 "conf_parser.y"
5982      {
5983 <  ConfigFileEntry.burst_away = yylval.number;
5983 >  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5984   }
5985      break;
5986  
5987 <  case 561:
5987 >  case 492:
5988 > /* Line 1787 of yacc.c  */
5989 > #line 2559 "conf_parser.y"
5990 >    {
5991 >  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5992 > }
5993 >    break;
5994  
5995 < /* Line 1455 of yacc.c  */
5996 < #line 3210 "ircd_parser.y"
5995 >  case 493:
5996 > /* Line 1787 of yacc.c  */
5997 > #line 2564 "conf_parser.y"
5998      {
5999    ConfigFileEntry.use_whois_actually = yylval.number;
6000   }
6001      break;
6002  
6003 <  case 562:
6004 <
6005 < /* Line 1455 of yacc.c  */
7264 < #line 3215 "ircd_parser.y"
6003 >  case 494:
6004 > /* Line 1787 of yacc.c  */
6005 > #line 2569 "conf_parser.y"
6006      {
6007    GlobalSetOptions.rejecttime = yylval.number;
6008   }
6009      break;
6010  
6011 <  case 563:
6012 <
6013 < /* Line 1455 of yacc.c  */
7273 < #line 3220 "ircd_parser.y"
6011 >  case 495:
6012 > /* Line 1787 of yacc.c  */
6013 > #line 2574 "conf_parser.y"
6014      {
6015    ConfigFileEntry.tkline_expire_notices = yylval.number;
6016   }
6017      break;
6018  
6019 <  case 564:
6020 <
6021 < /* Line 1455 of yacc.c  */
7282 < #line 3225 "ircd_parser.y"
6019 >  case 496:
6020 > /* Line 1787 of yacc.c  */
6021 > #line 2579 "conf_parser.y"
6022      {
6023    ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
6024   }
6025      break;
6026  
6027 <  case 565:
6028 <
6029 < /* Line 1455 of yacc.c  */
7291 < #line 3230 "ircd_parser.y"
6027 >  case 497:
6028 > /* Line 1787 of yacc.c  */
6029 > #line 2584 "conf_parser.y"
6030      {
6031    ConfigFileEntry.hide_spoof_ips = yylval.number;
6032   }
6033      break;
6034  
6035 <  case 566:
6036 <
6037 < /* Line 1455 of yacc.c  */
7300 < #line 3235 "ircd_parser.y"
6035 >  case 498:
6036 > /* Line 1787 of yacc.c  */
6037 > #line 2589 "conf_parser.y"
6038      {
6039    ConfigFileEntry.ignore_bogus_ts = yylval.number;
6040   }
6041      break;
6042  
6043 <  case 567:
6044 <
6045 < /* Line 1455 of yacc.c  */
7309 < #line 3240 "ircd_parser.y"
6043 >  case 499:
6044 > /* Line 1787 of yacc.c  */
6045 > #line 2594 "conf_parser.y"
6046      {
6047    ConfigFileEntry.disable_remote = yylval.number;
6048   }
6049      break;
6050  
6051 <  case 568:
6052 <
6053 < /* Line 1455 of yacc.c  */
7318 < #line 3245 "ircd_parser.y"
6051 >  case 500:
6052 > /* Line 1787 of yacc.c  */
6053 > #line 2599 "conf_parser.y"
6054      {
6055    ConfigFileEntry.failed_oper_notice = yylval.number;
6056   }
6057      break;
6058  
6059 <  case 569:
6060 <
6061 < /* Line 1455 of yacc.c  */
7327 < #line 3250 "ircd_parser.y"
6059 >  case 501:
6060 > /* Line 1787 of yacc.c  */
6061 > #line 2604 "conf_parser.y"
6062      {
6063    ConfigFileEntry.anti_nick_flood = yylval.number;
6064   }
6065      break;
6066  
6067 <  case 570:
6068 <
6069 < /* Line 1455 of yacc.c  */
7336 < #line 3255 "ircd_parser.y"
6067 >  case 502:
6068 > /* Line 1787 of yacc.c  */
6069 > #line 2609 "conf_parser.y"
6070      {
6071    ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
6072   }
6073      break;
6074  
6075 <  case 571:
6076 <
6077 < /* Line 1455 of yacc.c  */
7345 < #line 3260 "ircd_parser.y"
6075 >  case 503:
6076 > /* Line 1787 of yacc.c  */
6077 > #line 2614 "conf_parser.y"
6078      {
6079    ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
6080   }
6081      break;
6082  
6083 <  case 572:
6084 <
6085 < /* Line 1455 of yacc.c  */
7354 < #line 3265 "ircd_parser.y"
6083 >  case 504:
6084 > /* Line 1787 of yacc.c  */
6085 > #line 2619 "conf_parser.y"
6086      {
6087    ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
6088   }
6089      break;
6090  
6091 <  case 573:
6092 <
6093 < /* Line 1455 of yacc.c  */
7363 < #line 3270 "ircd_parser.y"
6091 >  case 505:
6092 > /* Line 1787 of yacc.c  */
6093 > #line 2624 "conf_parser.y"
6094      {
6095    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
6096   }
6097      break;
6098  
6099 <  case 574:
6100 <
6101 < /* Line 1455 of yacc.c  */
7372 < #line 3275 "ircd_parser.y"
6099 >  case 506:
6100 > /* Line 1787 of yacc.c  */
6101 > #line 2629 "conf_parser.y"
6102      {
6103    ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
6104   }
6105      break;
6106  
6107 <  case 575:
6108 <
6109 < /* Line 1455 of yacc.c  */
7381 < #line 3280 "ircd_parser.y"
6107 >  case 507:
6108 > /* Line 1787 of yacc.c  */
6109 > #line 2634 "conf_parser.y"
6110      {
6111    if (conf_parser_ctx.pass == 2)
6112      ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
6113   }
6114      break;
6115  
6116 <  case 576:
6117 <
6118 < /* Line 1455 of yacc.c  */
7391 < #line 3286 "ircd_parser.y"
6116 >  case 508:
6117 > /* Line 1787 of yacc.c  */
6118 > #line 2640 "conf_parser.y"
6119      {
6120    if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
6121    {
6122 <    ilog(L_CRIT, "You haven't read your config file properly.");
6123 <    ilog(L_CRIT, "There is a line in the example conf that will kill your server if not removed.");
6124 <    ilog(L_CRIT, "Consider actually reading/editing the conf file, and removing this line.");
6122 >    ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
6123 >    ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
6124 >    ilog(LOG_TYPE_IRCD, "Consider actually reading/editing the conf file, and removing this line.");
6125      exit(0);
6126    }
6127   }
6128      break;
6129  
6130 <  case 577:
6131 <
6132 < /* Line 1455 of yacc.c  */
7406 < #line 3297 "ircd_parser.y"
6130 >  case 509:
6131 > /* Line 1787 of yacc.c  */
6132 > #line 2651 "conf_parser.y"
6133      {
6134    ConfigFileEntry.kline_with_reason = yylval.number;
6135   }
6136      break;
6137  
6138 <  case 578:
6139 <
6140 < /* Line 1455 of yacc.c  */
7415 < #line 3302 "ircd_parser.y"
6138 >  case 510:
6139 > /* Line 1787 of yacc.c  */
6140 > #line 2656 "conf_parser.y"
6141      {
6142    if (conf_parser_ctx.pass == 2)
6143    {
# Line 7422 | Line 6147 | yyreduce:
6147   }
6148      break;
6149  
6150 <  case 579:
6151 <
6152 < /* Line 1455 of yacc.c  */
7428 < #line 3311 "ircd_parser.y"
6150 >  case 511:
6151 > /* Line 1787 of yacc.c  */
6152 > #line 2665 "conf_parser.y"
6153      {
6154    ConfigFileEntry.invisible_on_connect = yylval.number;
6155   }
6156      break;
6157  
6158 <  case 580:
6159 <
6160 < /* Line 1455 of yacc.c  */
7437 < #line 3316 "ircd_parser.y"
6158 >  case 512:
6159 > /* Line 1787 of yacc.c  */
6160 > #line 2670 "conf_parser.y"
6161      {
6162    ConfigFileEntry.warn_no_nline = yylval.number;
6163   }
6164      break;
6165  
6166 <  case 581:
6167 <
6168 < /* Line 1455 of yacc.c  */
7446 < #line 3321 "ircd_parser.y"
6166 >  case 513:
6167 > /* Line 1787 of yacc.c  */
6168 > #line 2675 "conf_parser.y"
6169      {
6170    ConfigFileEntry.stats_e_disabled = yylval.number;
6171   }
6172      break;
6173  
6174 <  case 582:
6175 <
6176 < /* Line 1455 of yacc.c  */
7455 < #line 3326 "ircd_parser.y"
6174 >  case 514:
6175 > /* Line 1787 of yacc.c  */
6176 > #line 2680 "conf_parser.y"
6177      {
6178    ConfigFileEntry.stats_o_oper_only = yylval.number;
6179   }
6180      break;
6181  
6182 <  case 583:
6183 <
6184 < /* Line 1455 of yacc.c  */
7464 < #line 3331 "ircd_parser.y"
6182 >  case 515:
6183 > /* Line 1787 of yacc.c  */
6184 > #line 2685 "conf_parser.y"
6185      {
6186    ConfigFileEntry.stats_P_oper_only = yylval.number;
6187   }
6188      break;
6189  
6190 <  case 584:
6191 <
6192 < /* Line 1455 of yacc.c  */
7473 < #line 3336 "ircd_parser.y"
6190 >  case 516:
6191 > /* Line 1787 of yacc.c  */
6192 > #line 2690 "conf_parser.y"
6193      {
6194    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
6195   }
6196      break;
6197  
6198 <  case 585:
6199 <
6200 < /* Line 1455 of yacc.c  */
7482 < #line 3339 "ircd_parser.y"
6198 >  case 517:
6199 > /* Line 1787 of yacc.c  */
6200 > #line 2693 "conf_parser.y"
6201      {
6202    ConfigFileEntry.stats_k_oper_only = 1;
6203   }
6204      break;
6205  
6206 <  case 586:
6207 <
6208 < /* Line 1455 of yacc.c  */
7491 < #line 3344 "ircd_parser.y"
6206 >  case 518:
6207 > /* Line 1787 of yacc.c  */
6208 > #line 2698 "conf_parser.y"
6209      {
6210    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
6211   }
6212      break;
6213  
6214 <  case 587:
6215 <
6216 < /* Line 1455 of yacc.c  */
7500 < #line 3347 "ircd_parser.y"
6214 >  case 519:
6215 > /* Line 1787 of yacc.c  */
6216 > #line 2701 "conf_parser.y"
6217      {
6218    ConfigFileEntry.stats_i_oper_only = 1;
6219   }
6220      break;
6221  
6222 <  case 588:
6223 <
6224 < /* Line 1455 of yacc.c  */
7509 < #line 3352 "ircd_parser.y"
6222 >  case 520:
6223 > /* Line 1787 of yacc.c  */
6224 > #line 2706 "conf_parser.y"
6225      {
6226    ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
6227   }
6228      break;
6229  
6230 <  case 589:
6231 <
6232 < /* Line 1455 of yacc.c  */
7518 < #line 3357 "ircd_parser.y"
6230 >  case 521:
6231 > /* Line 1787 of yacc.c  */
6232 > #line 2711 "conf_parser.y"
6233      {
6234    ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
6235   }
6236      break;
6237  
6238 <  case 590:
6239 <
6240 < /* Line 1455 of yacc.c  */
7527 < #line 3362 "ircd_parser.y"
6238 >  case 522:
6239 > /* Line 1787 of yacc.c  */
6240 > #line 2716 "conf_parser.y"
6241      {
6242    ConfigFileEntry.opers_bypass_callerid = yylval.number;
6243   }
6244      break;
6245  
6246 <  case 591:
6247 <
6248 < /* Line 1455 of yacc.c  */
7536 < #line 3367 "ircd_parser.y"
6246 >  case 523:
6247 > /* Line 1787 of yacc.c  */
6248 > #line 2721 "conf_parser.y"
6249      {
6250    ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
6251   }
6252      break;
6253  
6254 <  case 592:
6255 <
6256 < /* Line 1455 of yacc.c  */
7545 < #line 3372 "ircd_parser.y"
6254 >  case 524:
6255 > /* Line 1787 of yacc.c  */
6256 > #line 2726 "conf_parser.y"
6257      {
6258    ConfigFileEntry.short_motd = yylval.number;
6259   }
6260      break;
6261  
6262 <  case 593:
6263 <
6264 < /* Line 1455 of yacc.c  */
7554 < #line 3377 "ircd_parser.y"
6262 >  case 525:
6263 > /* Line 1787 of yacc.c  */
6264 > #line 2731 "conf_parser.y"
6265      {
6266    ConfigFileEntry.no_oper_flood = yylval.number;
6267   }
6268      break;
6269  
6270 <  case 594:
6271 <
6272 < /* Line 1455 of yacc.c  */
7563 < #line 3382 "ircd_parser.y"
6270 >  case 526:
6271 > /* Line 1787 of yacc.c  */
6272 > #line 2736 "conf_parser.y"
6273      {
6274    ConfigFileEntry.true_no_oper_flood = yylval.number;
6275   }
6276      break;
6277  
6278 <  case 595:
6279 <
6280 < /* Line 1455 of yacc.c  */
7572 < #line 3387 "ircd_parser.y"
6278 >  case 527:
6279 > /* Line 1787 of yacc.c  */
6280 > #line 2741 "conf_parser.y"
6281      {
6282    ConfigFileEntry.oper_pass_resv = yylval.number;
6283   }
6284      break;
6285  
6286 <  case 596:
6287 <
6288 < /* Line 1455 of yacc.c  */
7581 < #line 3392 "ircd_parser.y"
6286 >  case 528:
6287 > /* Line 1787 of yacc.c  */
6288 > #line 2746 "conf_parser.y"
6289      {
6290    if (conf_parser_ctx.pass == 2)
6291    {
# Line 7590 | Line 6297 | yyreduce:
6297   }
6298      break;
6299  
6300 <  case 597:
6301 <
6302 < /* Line 1455 of yacc.c  */
7596 < #line 3403 "ircd_parser.y"
7597 <    {
7598 <  ConfigFileEntry.idletime = (yyvsp[(3) - (4)].number);
7599 < }
7600 <    break;
7601 <
7602 <  case 598:
7603 <
7604 < /* Line 1455 of yacc.c  */
7605 < #line 3408 "ircd_parser.y"
6300 >  case 529:
6301 > /* Line 1787 of yacc.c  */
6302 > #line 2757 "conf_parser.y"
6303      {
6304    ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
6305   }
6306      break;
6307  
6308 <  case 599:
6309 <
6310 < /* Line 1455 of yacc.c  */
7614 < #line 3413 "ircd_parser.y"
6308 >  case 530:
6309 > /* Line 1787 of yacc.c  */
6310 > #line 2762 "conf_parser.y"
6311      {
6312    ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
6313   }
6314      break;
6315  
6316 <  case 600:
6317 <
6318 < /* Line 1455 of yacc.c  */
7623 < #line 3418 "ircd_parser.y"
6316 >  case 531:
6317 > /* Line 1787 of yacc.c  */
6318 > #line 2767 "conf_parser.y"
6319      {
6320 <  if (conf_parser_ctx.pass == 2)
7626 <  {
7627 <    MyFree(ConfigFileEntry.servlink_path);
7628 <    DupString(ConfigFileEntry.servlink_path, yylval.string);
7629 <  }
7630 < }
7631 <    break;
7632 <
7633 <  case 601:
7634 <
7635 < /* Line 1455 of yacc.c  */
7636 < #line 3427 "ircd_parser.y"
7637 <    {
7638 < #ifdef HAVE_LIBCRYPTO
7639 <  if (conf_parser_ctx.pass == 2)
7640 <  {
7641 <    struct EncCapability *ecap;
7642 <    const char *cipher_name;
7643 <    int found = 0;
7644 <
7645 <    ConfigFileEntry.default_cipher_preference = NULL;
7646 <    cipher_name = yylval.string;
7647 <
7648 <    for (ecap = CipherTable; ecap->name; ecap++)
7649 <    {
7650 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
7651 <          (ecap->cap & CAP_ENC_MASK))
7652 <      {
7653 <        ConfigFileEntry.default_cipher_preference = ecap;
7654 <        found = 1;
7655 <        break;
7656 <      }
7657 <    }
7658 <
7659 <    if (!found)
7660 <      yyerror("Invalid cipher");
7661 <  }
7662 < #else
7663 <  if (conf_parser_ctx.pass == 2)
7664 <    yyerror("Ignoring default_cipher_preference -- no OpenSSL support");
7665 < #endif
6320 >  ConfigFileEntry.use_egd = yylval.number;
6321   }
6322      break;
6323  
6324 <  case 602:
6325 <
6326 < /* Line 1455 of yacc.c  */
7672 < #line 3459 "ircd_parser.y"
6324 >  case 532:
6325 > /* Line 1787 of yacc.c  */
6326 > #line 2772 "conf_parser.y"
6327      {
6328    if (conf_parser_ctx.pass == 2)
6329    {
6330 <    ConfigFileEntry.compression_level = (yyvsp[(3) - (4)].number);
6331 < #ifndef HAVE_LIBZ
7678 <    yyerror("Ignoring compression_level -- no zlib support");
7679 < #else
7680 <    if ((ConfigFileEntry.compression_level < 1) ||
7681 <        (ConfigFileEntry.compression_level > 9))
7682 <    {
7683 <      yyerror("Ignoring invalid compression_level, using default");
7684 <      ConfigFileEntry.compression_level = 0;
7685 <    }
7686 < #endif
6330 >    MyFree(ConfigFileEntry.egdpool_path);
6331 >    DupString(ConfigFileEntry.egdpool_path, yylval.string);
6332    }
6333   }
6334      break;
6335  
6336 <  case 603:
6337 <
6338 < /* Line 1455 of yacc.c  */
7694 < #line 3477 "ircd_parser.y"
6336 >  case 533:
6337 > /* Line 1787 of yacc.c  */
6338 > #line 2781 "conf_parser.y"
6339      {
6340 <  ConfigFileEntry.use_egd = yylval.number;
7697 < }
7698 <    break;
7699 <
7700 <  case 604:
7701 <
7702 < /* Line 1455 of yacc.c  */
7703 < #line 3482 "ircd_parser.y"
7704 <    {
7705 <  if (conf_parser_ctx.pass == 2)
6340 >  if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6341    {
6342 <    MyFree(ConfigFileEntry.egdpool_path);
6343 <    DupString(ConfigFileEntry.egdpool_path, yylval.string);
6342 >    MyFree(ConfigFileEntry.service_name);
6343 >    DupString(ConfigFileEntry.service_name, yylval.string);
6344    }
6345   }
6346      break;
6347  
6348 <  case 605:
6349 <
6350 < /* Line 1455 of yacc.c  */
7716 < #line 3491 "ircd_parser.y"
6348 >  case 534:
6349 > /* Line 1787 of yacc.c  */
6350 > #line 2790 "conf_parser.y"
6351      {
6352    ConfigFileEntry.ping_cookie = yylval.number;
6353   }
6354      break;
6355  
6356 <  case 606:
6357 <
6358 < /* Line 1455 of yacc.c  */
7725 < #line 3496 "ircd_parser.y"
6356 >  case 535:
6357 > /* Line 1787 of yacc.c  */
6358 > #line 2795 "conf_parser.y"
6359      {
6360    ConfigFileEntry.disable_auth = yylval.number;
6361   }
6362      break;
6363  
6364 <  case 607:
6365 <
6366 < /* Line 1455 of yacc.c  */
7734 < #line 3501 "ircd_parser.y"
6364 >  case 536:
6365 > /* Line 1787 of yacc.c  */
6366 > #line 2800 "conf_parser.y"
6367      {
6368    ConfigFileEntry.throttle_time = yylval.number;
6369   }
6370      break;
6371  
6372 <  case 608:
6373 <
6374 < /* Line 1455 of yacc.c  */
7743 < #line 3506 "ircd_parser.y"
6372 >  case 537:
6373 > /* Line 1787 of yacc.c  */
6374 > #line 2805 "conf_parser.y"
6375      {
6376    ConfigFileEntry.oper_umodes = 0;
6377   }
6378      break;
6379  
6380 <  case 612:
6381 <
6382 < /* Line 1455 of yacc.c  */
7752 < #line 3512 "ircd_parser.y"
6380 >  case 541:
6381 > /* Line 1787 of yacc.c  */
6382 > #line 2811 "conf_parser.y"
6383      {
6384    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6385   }
6386      break;
6387  
6388 <  case 613:
6389 <
6390 < /* Line 1455 of yacc.c  */
7761 < #line 3515 "ircd_parser.y"
6388 >  case 542:
6389 > /* Line 1787 of yacc.c  */
6390 > #line 2814 "conf_parser.y"
6391      {
6392    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6393   }
6394      break;
6395  
6396 <  case 614:
6397 <
6398 < /* Line 1455 of yacc.c  */
7770 < #line 3518 "ircd_parser.y"
6396 >  case 543:
6397 > /* Line 1787 of yacc.c  */
6398 > #line 2817 "conf_parser.y"
6399      {
6400    ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6401   }
6402      break;
6403  
6404 <  case 615:
6405 <
6406 < /* Line 1455 of yacc.c  */
7779 < #line 3521 "ircd_parser.y"
6404 >  case 544:
6405 > /* Line 1787 of yacc.c  */
6406 > #line 2820 "conf_parser.y"
6407      {
6408    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6409   }
6410      break;
6411  
6412 <  case 616:
6413 <
6414 < /* Line 1455 of yacc.c  */
7788 < #line 3524 "ircd_parser.y"
6412 >  case 545:
6413 > /* Line 1787 of yacc.c  */
6414 > #line 2823 "conf_parser.y"
6415      {
6416    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6417   }
6418      break;
6419  
6420 <  case 617:
6421 <
6422 < /* Line 1455 of yacc.c  */
7797 < #line 3527 "ircd_parser.y"
6420 >  case 546:
6421 > /* Line 1787 of yacc.c  */
6422 > #line 2826 "conf_parser.y"
6423      {
6424    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6425   }
6426      break;
6427  
6428 <  case 618:
6428 >  case 547:
6429 > /* Line 1787 of yacc.c  */
6430 > #line 2829 "conf_parser.y"
6431 >    {
6432 >  ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6433 > }
6434 >    break;
6435  
6436 < /* Line 1455 of yacc.c  */
6437 < #line 3530 "ircd_parser.y"
6436 >  case 548:
6437 > /* Line 1787 of yacc.c  */
6438 > #line 2832 "conf_parser.y"
6439      {
6440    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6441   }
6442      break;
6443  
6444 <  case 619:
6445 <
6446 < /* Line 1455 of yacc.c  */
7815 < #line 3533 "ircd_parser.y"
6444 >  case 549:
6445 > /* Line 1787 of yacc.c  */
6446 > #line 2835 "conf_parser.y"
6447      {
6448    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6449   }
6450      break;
6451  
6452 <  case 620:
6453 <
6454 < /* Line 1455 of yacc.c  */
7824 < #line 3536 "ircd_parser.y"
6452 >  case 550:
6453 > /* Line 1787 of yacc.c  */
6454 > #line 2838 "conf_parser.y"
6455      {
6456    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6457   }
6458      break;
6459  
6460 <  case 621:
6461 <
6462 < /* Line 1455 of yacc.c  */
7833 < #line 3539 "ircd_parser.y"
6460 >  case 551:
6461 > /* Line 1787 of yacc.c  */
6462 > #line 2841 "conf_parser.y"
6463      {
6464    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6465   }
6466      break;
6467  
6468 <  case 622:
6469 <
6470 < /* Line 1455 of yacc.c  */
7842 < #line 3542 "ircd_parser.y"
6468 >  case 552:
6469 > /* Line 1787 of yacc.c  */
6470 > #line 2844 "conf_parser.y"
6471      {
6472    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6473   }
6474      break;
6475  
6476 <  case 623:
6477 <
6478 < /* Line 1455 of yacc.c  */
7851 < #line 3545 "ircd_parser.y"
6476 >  case 553:
6477 > /* Line 1787 of yacc.c  */
6478 > #line 2847 "conf_parser.y"
6479      {
6480    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6481   }
6482      break;
6483  
6484 <  case 624:
6485 <
6486 < /* Line 1455 of yacc.c  */
7860 < #line 3548 "ircd_parser.y"
6484 >  case 554:
6485 > /* Line 1787 of yacc.c  */
6486 > #line 2850 "conf_parser.y"
6487      {
6488    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6489   }
6490      break;
6491  
6492 <  case 625:
6493 <
6494 < /* Line 1455 of yacc.c  */
7869 < #line 3551 "ircd_parser.y"
6492 >  case 555:
6493 > /* Line 1787 of yacc.c  */
6494 > #line 2853 "conf_parser.y"
6495      {
6496    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6497   }
6498      break;
6499  
6500 <  case 626:
6501 <
6502 < /* Line 1455 of yacc.c  */
7878 < #line 3554 "ircd_parser.y"
6500 >  case 556:
6501 > /* Line 1787 of yacc.c  */
6502 > #line 2856 "conf_parser.y"
6503      {
6504    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6505   }
6506      break;
6507  
6508 <  case 627:
6509 <
6510 < /* Line 1455 of yacc.c  */
7887 < #line 3557 "ircd_parser.y"
6508 >  case 557:
6509 > /* Line 1787 of yacc.c  */
6510 > #line 2859 "conf_parser.y"
6511      {
6512    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6513   }
6514      break;
6515  
6516 <  case 628:
6517 <
6518 < /* Line 1455 of yacc.c  */
7896 < #line 3560 "ircd_parser.y"
6516 >  case 558:
6517 > /* Line 1787 of yacc.c  */
6518 > #line 2862 "conf_parser.y"
6519      {
6520    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6521   }
6522      break;
6523  
6524 <  case 629:
6525 <
6526 < /* Line 1455 of yacc.c  */
7905 < #line 3563 "ircd_parser.y"
6524 >  case 559:
6525 > /* Line 1787 of yacc.c  */
6526 > #line 2865 "conf_parser.y"
6527      {
6528    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6529   }
6530      break;
6531  
6532 <  case 630:
6533 <
6534 < /* Line 1455 of yacc.c  */
7914 < #line 3566 "ircd_parser.y"
6532 >  case 560:
6533 > /* Line 1787 of yacc.c  */
6534 > #line 2868 "conf_parser.y"
6535      {
6536    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6537   }
6538      break;
6539  
6540 <  case 631:
6541 <
6542 < /* Line 1455 of yacc.c  */
7923 < #line 3571 "ircd_parser.y"
6540 >  case 561:
6541 > /* Line 1787 of yacc.c  */
6542 > #line 2873 "conf_parser.y"
6543      {
6544    ConfigFileEntry.oper_only_umodes = 0;
6545   }
6546      break;
6547  
6548 <  case 635:
6549 <
6550 < /* Line 1455 of yacc.c  */
7932 < #line 3577 "ircd_parser.y"
6548 >  case 565:
6549 > /* Line 1787 of yacc.c  */
6550 > #line 2879 "conf_parser.y"
6551      {
6552    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6553   }
6554      break;
6555  
6556 <  case 636:
6557 <
6558 < /* Line 1455 of yacc.c  */
7941 < #line 3580 "ircd_parser.y"
6556 >  case 566:
6557 > /* Line 1787 of yacc.c  */
6558 > #line 2882 "conf_parser.y"
6559      {
6560    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6561   }
6562      break;
6563  
6564 <  case 637:
6565 <
6566 < /* Line 1455 of yacc.c  */
7950 < #line 3583 "ircd_parser.y"
6564 >  case 567:
6565 > /* Line 1787 of yacc.c  */
6566 > #line 2885 "conf_parser.y"
6567      {
6568    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6569   }
6570      break;
6571  
6572 <  case 638:
6573 <
6574 < /* Line 1455 of yacc.c  */
7959 < #line 3586 "ircd_parser.y"
6572 >  case 568:
6573 > /* Line 1787 of yacc.c  */
6574 > #line 2888 "conf_parser.y"
6575      {
6576    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6577   }
6578      break;
6579  
6580 <  case 639:
6581 <
6582 < /* Line 1455 of yacc.c  */
7968 < #line 3589 "ircd_parser.y"
6580 >  case 569:
6581 > /* Line 1787 of yacc.c  */
6582 > #line 2891 "conf_parser.y"
6583      {
6584    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6585   }
6586      break;
6587  
6588 <  case 640:
6589 <
6590 < /* Line 1455 of yacc.c  */
7977 < #line 3592 "ircd_parser.y"
6588 >  case 570:
6589 > /* Line 1787 of yacc.c  */
6590 > #line 2894 "conf_parser.y"
6591      {
6592    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6593   }
6594      break;
6595  
6596 <  case 641:
6597 <
6598 < /* Line 1455 of yacc.c  */
7986 < #line 3595 "ircd_parser.y"
6596 >  case 571:
6597 > /* Line 1787 of yacc.c  */
6598 > #line 2897 "conf_parser.y"
6599      {
6600    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6601   }
6602      break;
6603  
6604 <  case 642:
6604 >  case 572:
6605 > /* Line 1787 of yacc.c  */
6606 > #line 2900 "conf_parser.y"
6607 >    {
6608 >  ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6609 > }
6610 >    break;
6611  
6612 < /* Line 1455 of yacc.c  */
6613 < #line 3598 "ircd_parser.y"
6612 >  case 573:
6613 > /* Line 1787 of yacc.c  */
6614 > #line 2903 "conf_parser.y"
6615      {
6616    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6617   }
6618      break;
6619  
6620 <  case 643:
6621 <
6622 < /* Line 1455 of yacc.c  */
8004 < #line 3601 "ircd_parser.y"
6620 >  case 574:
6621 > /* Line 1787 of yacc.c  */
6622 > #line 2906 "conf_parser.y"
6623      {
6624    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6625   }
6626      break;
6627  
6628 <  case 644:
6629 <
6630 < /* Line 1455 of yacc.c  */
8013 < #line 3604 "ircd_parser.y"
6628 >  case 575:
6629 > /* Line 1787 of yacc.c  */
6630 > #line 2909 "conf_parser.y"
6631      {
6632    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6633   }
6634      break;
6635  
6636 <  case 645:
6637 <
6638 < /* Line 1455 of yacc.c  */
8022 < #line 3607 "ircd_parser.y"
6636 >  case 576:
6637 > /* Line 1787 of yacc.c  */
6638 > #line 2912 "conf_parser.y"
6639      {
6640    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6641   }
6642      break;
6643  
6644 <  case 646:
6645 <
6646 < /* Line 1455 of yacc.c  */
8031 < #line 3610 "ircd_parser.y"
6644 >  case 577:
6645 > /* Line 1787 of yacc.c  */
6646 > #line 2915 "conf_parser.y"
6647      {
6648    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6649   }
6650      break;
6651  
6652 <  case 647:
6653 <
6654 < /* Line 1455 of yacc.c  */
8040 < #line 3613 "ircd_parser.y"
6652 >  case 578:
6653 > /* Line 1787 of yacc.c  */
6654 > #line 2918 "conf_parser.y"
6655      {
6656    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6657   }
6658      break;
6659  
6660 <  case 648:
6661 <
6662 < /* Line 1455 of yacc.c  */
8049 < #line 3616 "ircd_parser.y"
6660 >  case 579:
6661 > /* Line 1787 of yacc.c  */
6662 > #line 2921 "conf_parser.y"
6663      {
6664    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6665   }
6666      break;
6667  
6668 <  case 649:
6669 <
6670 < /* Line 1455 of yacc.c  */
8058 < #line 3619 "ircd_parser.y"
6668 >  case 580:
6669 > /* Line 1787 of yacc.c  */
6670 > #line 2924 "conf_parser.y"
6671      {
6672    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6673   }
6674      break;
6675  
6676 <  case 650:
6677 <
6678 < /* Line 1455 of yacc.c  */
8067 < #line 3622 "ircd_parser.y"
6676 >  case 581:
6677 > /* Line 1787 of yacc.c  */
6678 > #line 2927 "conf_parser.y"
6679      {
6680    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6681   }
6682      break;
6683  
6684 <  case 651:
6685 <
6686 < /* Line 1455 of yacc.c  */
8076 < #line 3625 "ircd_parser.y"
6684 >  case 582:
6685 > /* Line 1787 of yacc.c  */
6686 > #line 2930 "conf_parser.y"
6687      {
6688    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6689   }
6690      break;
6691  
6692 <  case 652:
6693 <
6694 < /* Line 1455 of yacc.c  */
8085 < #line 3628 "ircd_parser.y"
6692 >  case 583:
6693 > /* Line 1787 of yacc.c  */
6694 > #line 2933 "conf_parser.y"
6695      {
6696    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6697   }
6698      break;
6699  
6700 <  case 653:
6701 <
6702 < /* Line 1455 of yacc.c  */
8094 < #line 3631 "ircd_parser.y"
6700 >  case 584:
6701 > /* Line 1787 of yacc.c  */
6702 > #line 2936 "conf_parser.y"
6703      {
6704    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6705   }
6706      break;
6707  
6708 <  case 654:
6709 <
6710 < /* Line 1455 of yacc.c  */
8103 < #line 3636 "ircd_parser.y"
6708 >  case 585:
6709 > /* Line 1787 of yacc.c  */
6710 > #line 2941 "conf_parser.y"
6711      {
6712    ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6713   }
6714      break;
6715  
6716 <  case 655:
6717 <
6718 < /* Line 1455 of yacc.c  */
8112 < #line 3641 "ircd_parser.y"
6716 >  case 586:
6717 > /* Line 1787 of yacc.c  */
6718 > #line 2946 "conf_parser.y"
6719      {
6720    ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6721   }
6722      break;
6723  
6724 <  case 656:
6725 <
6726 < /* Line 1455 of yacc.c  */
8121 < #line 3646 "ircd_parser.y"
6724 >  case 587:
6725 > /* Line 1787 of yacc.c  */
6726 > #line 2951 "conf_parser.y"
6727      {
6728    ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6729   }
6730      break;
6731  
6732 <  case 657:
6733 <
6734 < /* Line 1455 of yacc.c  */
8130 < #line 3651 "ircd_parser.y"
8131 <    {
8132 <  ConfigFileEntry.client_flood = (yyvsp[(3) - (4)].number);
8133 < }
8134 <    break;
8135 <
8136 <  case 658:
8137 <
8138 < /* Line 1455 of yacc.c  */
8139 < #line 3656 "ircd_parser.y"
8140 <    {
8141 <  ConfigFileEntry.dot_in_ip6_addr = yylval.number;
8142 < }
8143 <    break;
8144 <
8145 <  case 659:
8146 <
8147 < /* Line 1455 of yacc.c  */
8148 < #line 3664 "ircd_parser.y"
8149 <    {
8150 <  if (conf_parser_ctx.pass == 2)
8151 <  {
8152 <    yy_conf = make_conf_item(GDENY_TYPE);
8153 <    yy_aconf = map_to_conf(yy_conf);
8154 <  }
8155 < }
8156 <    break;
8157 <
8158 <  case 660:
8159 <
8160 < /* Line 1455 of yacc.c  */
8161 < #line 3671 "ircd_parser.y"
8162 <    {
8163 <  if (conf_parser_ctx.pass == 2)
8164 <  {
8165 <    /*
8166 <     * since we re-allocate yy_conf/yy_aconf after the end of action=, at the
8167 <     * end we will have one extra, so we should free it.
8168 <     */
8169 <    if (yy_conf->name == NULL || yy_aconf->user == NULL)
8170 <    {
8171 <      delete_conf_item(yy_conf);
8172 <      yy_conf = NULL;
8173 <      yy_aconf = NULL;
8174 <    }
8175 <  }
8176 < }
8177 <    break;
8178 <
8179 <  case 670:
8180 <
8181 < /* Line 1455 of yacc.c  */
8182 < #line 3697 "ircd_parser.y"
8183 <    {
8184 <  if (conf_parser_ctx.pass == 2)
8185 <    ConfigFileEntry.glines = yylval.number;
8186 < }
8187 <    break;
8188 <
8189 <  case 671:
8190 <
8191 < /* Line 1455 of yacc.c  */
8192 < #line 3703 "ircd_parser.y"
8193 <    {
8194 <  if (conf_parser_ctx.pass == 2)
8195 <    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
8196 < }
8197 <    break;
8198 <
8199 <  case 672:
8200 <
8201 < /* Line 1455 of yacc.c  */
8202 < #line 3709 "ircd_parser.y"
8203 <    {
8204 <  if (conf_parser_ctx.pass == 2)
8205 <    ConfigFileEntry.gline_logging = 0;
8206 < }
8207 <    break;
8208 <
8209 <  case 676:
8210 <
8211 < /* Line 1455 of yacc.c  */
8212 < #line 3715 "ircd_parser.y"
8213 <    {
8214 <  if (conf_parser_ctx.pass == 2)
8215 <    ConfigFileEntry.gline_logging |= GDENY_REJECT;
8216 < }
8217 <    break;
8218 <
8219 <  case 677:
8220 <
8221 < /* Line 1455 of yacc.c  */
8222 < #line 3719 "ircd_parser.y"
8223 <    {
8224 <  if (conf_parser_ctx.pass == 2)
8225 <    ConfigFileEntry.gline_logging |= GDENY_BLOCK;
8226 < }
8227 <    break;
8228 <
8229 <  case 678:
8230 <
8231 < /* Line 1455 of yacc.c  */
8232 < #line 3725 "ircd_parser.y"
8233 <    {
8234 <  if (conf_parser_ctx.pass == 2)
8235 <  {
8236 <    struct split_nuh_item nuh;
8237 <
8238 <    nuh.nuhmask  = yylval.string;
8239 <    nuh.nickptr  = NULL;
8240 <    nuh.userptr  = userbuf;
8241 <    nuh.hostptr  = hostbuf;
8242 <
8243 <    nuh.nicksize = 0;
8244 <    nuh.usersize = sizeof(userbuf);
8245 <    nuh.hostsize = sizeof(hostbuf);
8246 <
8247 <    split_nuh(&nuh);
8248 <
8249 <    if (yy_aconf->user == NULL)
8250 <    {
8251 <      DupString(yy_aconf->user, userbuf);
8252 <      DupString(yy_aconf->host, hostbuf);
8253 <    }
8254 <    else
8255 <    {
8256 <      struct CollectItem *yy_tmp = MyMalloc(sizeof(struct CollectItem));
8257 <
8258 <      DupString(yy_tmp->user, userbuf);
8259 <      DupString(yy_tmp->host, hostbuf);
8260 <
8261 <      dlinkAdd(yy_tmp, &yy_tmp->node, &col_conf_list);
8262 <    }
8263 <  }
8264 < }
8265 <    break;
8266 <
8267 <  case 679:
8268 <
8269 < /* Line 1455 of yacc.c  */
8270 < #line 3759 "ircd_parser.y"
8271 <    {
8272 <  if (conf_parser_ctx.pass == 2)  
8273 <  {
8274 <    MyFree(yy_conf->name);
8275 <    DupString(yy_conf->name, yylval.string);
8276 <  }
8277 < }
8278 <    break;
8279 <
8280 <  case 680:
8281 <
8282 < /* Line 1455 of yacc.c  */
8283 < #line 3768 "ircd_parser.y"
8284 <    {
8285 <  if (conf_parser_ctx.pass == 2)
8286 <    yy_aconf->flags = 0;
8287 < }
8288 <    break;
8289 <
8290 <  case 681:
8291 <
8292 < /* Line 1455 of yacc.c  */
8293 < #line 3772 "ircd_parser.y"
8294 <    {
8295 <  if (conf_parser_ctx.pass == 2)
8296 <  {
8297 <    struct CollectItem *yy_tmp = NULL;
8298 <    dlink_node *ptr, *next_ptr;
8299 <
8300 <    DLINK_FOREACH_SAFE(ptr, next_ptr, col_conf_list.head)
8301 <    {
8302 <      struct AccessItem *new_aconf;
8303 <      struct ConfItem *new_conf;
8304 <
8305 <      yy_tmp = ptr->data;
8306 <      new_conf = make_conf_item(GDENY_TYPE);
8307 <      new_aconf = map_to_conf(new_conf);
8308 <
8309 <      new_aconf->flags = yy_aconf->flags;
8310 <
8311 <      if (yy_conf->name != NULL)
8312 <        DupString(new_conf->name, yy_conf->name);
8313 <      else
8314 <        DupString(new_conf->name, "*");
8315 <      if (yy_aconf->user != NULL)
8316 <         DupString(new_aconf->user, yy_tmp->user);
8317 <      else  
8318 <        DupString(new_aconf->user, "*");
8319 <      if (yy_aconf->host != NULL)
8320 <        DupString(new_aconf->host, yy_tmp->host);
8321 <      else
8322 <        DupString(new_aconf->host, "*");
8323 <
8324 <      dlinkDelete(&yy_tmp->node, &col_conf_list);
8325 <    }
8326 <
8327 <    /*
8328 <     * In case someone has fed us with more than one action= after user/name
8329 <     * which would leak memory  -Michael
8330 <     */
8331 <    if (yy_conf->name == NULL || yy_aconf->user == NULL)
8332 <      delete_conf_item(yy_conf);
8333 <
8334 <    yy_conf = make_conf_item(GDENY_TYPE);
8335 <    yy_aconf = map_to_conf(yy_conf);
8336 <  }
8337 < }
8338 <    break;
8339 <
8340 <  case 684:
8341 <
8342 < /* Line 1455 of yacc.c  */
8343 < #line 3819 "ircd_parser.y"
8344 <    {
8345 <  if (conf_parser_ctx.pass == 2)
8346 <    yy_aconf->flags |= GDENY_REJECT;
8347 < }
8348 <    break;
8349 <
8350 <  case 685:
8351 <
8352 < /* Line 1455 of yacc.c  */
8353 < #line 3823 "ircd_parser.y"
8354 <    {
8355 <  if (conf_parser_ctx.pass == 2)
8356 <    yy_aconf->flags |= GDENY_BLOCK;
8357 < }
8358 <    break;
8359 <
8360 <  case 708:
8361 <
8362 < /* Line 1455 of yacc.c  */
8363 < #line 3847 "ircd_parser.y"
6732 >  case 606:
6733 > /* Line 1787 of yacc.c  */
6734 > #line 2974 "conf_parser.y"
6735      {
6736    ConfigChannel.disable_fake_channels = yylval.number;
6737   }
6738      break;
6739  
6740 <  case 709:
6741 <
6742 < /* Line 1455 of yacc.c  */
8372 < #line 3852 "ircd_parser.y"
6740 >  case 607:
6741 > /* Line 1787 of yacc.c  */
6742 > #line 2979 "conf_parser.y"
6743      {
6744    ConfigChannel.restrict_channels = yylval.number;
6745   }
6746      break;
6747  
6748 <  case 710:
6749 <
6750 < /* Line 1455 of yacc.c  */
8381 < #line 3857 "ircd_parser.y"
8382 <    {
8383 <  ConfigChannel.disable_local_channels = yylval.number;
8384 < }
8385 <    break;
8386 <
8387 <  case 711:
8388 <
8389 < /* Line 1455 of yacc.c  */
8390 < #line 3862 "ircd_parser.y"
8391 <    {
8392 <  ConfigChannel.use_except = yylval.number;
8393 < }
8394 <    break;
8395 <
8396 <  case 712:
8397 <
8398 < /* Line 1455 of yacc.c  */
8399 < #line 3867 "ircd_parser.y"
8400 <    {
8401 <  ConfigChannel.use_invex = yylval.number;
8402 < }
8403 <    break;
8404 <
8405 <  case 713:
8406 <
8407 < /* Line 1455 of yacc.c  */
8408 < #line 3872 "ircd_parser.y"
8409 <    {
8410 <  ConfigChannel.use_knock = yylval.number;
8411 < }
8412 <    break;
8413 <
8414 <  case 714:
8415 <
8416 < /* Line 1455 of yacc.c  */
8417 < #line 3877 "ircd_parser.y"
6748 >  case 608:
6749 > /* Line 1787 of yacc.c  */
6750 > #line 2984 "conf_parser.y"
6751      {
6752    ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6753   }
6754      break;
6755  
6756 <  case 715:
6757 <
6758 < /* Line 1455 of yacc.c  */
8426 < #line 3882 "ircd_parser.y"
6756 >  case 609:
6757 > /* Line 1787 of yacc.c  */
6758 > #line 2989 "conf_parser.y"
6759      {
6760    ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6761   }
6762      break;
6763  
6764 <  case 716:
6765 <
6766 < /* Line 1455 of yacc.c  */
8435 < #line 3887 "ircd_parser.y"
6764 >  case 610:
6765 > /* Line 1787 of yacc.c  */
6766 > #line 2994 "conf_parser.y"
6767      {
6768    ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6769   }
6770      break;
6771  
6772 <  case 717:
6772 >  case 611:
6773 > /* Line 1787 of yacc.c  */
6774 > #line 2999 "conf_parser.y"
6775 >    {
6776 >  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6777 > }
6778 >    break;
6779  
6780 < /* Line 1455 of yacc.c  */
6781 < #line 3892 "ircd_parser.y"
6780 >  case 612:
6781 > /* Line 1787 of yacc.c  */
6782 > #line 3004 "conf_parser.y"
6783      {
6784    ConfigChannel.quiet_on_ban = yylval.number;
6785   }
6786      break;
6787  
6788 <  case 718:
6789 <
6790 < /* Line 1455 of yacc.c  */
8453 < #line 3897 "ircd_parser.y"
6788 >  case 613:
6789 > /* Line 1787 of yacc.c  */
6790 > #line 3009 "conf_parser.y"
6791      {
6792    ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6793   }
6794      break;
6795  
6796 <  case 719:
6797 <
6798 < /* Line 1455 of yacc.c  */
8462 < #line 3902 "ircd_parser.y"
6796 >  case 614:
6797 > /* Line 1787 of yacc.c  */
6798 > #line 3014 "conf_parser.y"
6799      {
6800    ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6801   }
6802      break;
6803  
6804 <  case 720:
6805 <
6806 < /* Line 1455 of yacc.c  */
8471 < #line 3907 "ircd_parser.y"
6804 >  case 615:
6805 > /* Line 1787 of yacc.c  */
6806 > #line 3019 "conf_parser.y"
6807      {
6808    ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6809   }
6810      break;
6811  
6812 <  case 721:
6813 <
6814 < /* Line 1455 of yacc.c  */
8480 < #line 3912 "ircd_parser.y"
6812 >  case 616:
6813 > /* Line 1787 of yacc.c  */
6814 > #line 3024 "conf_parser.y"
6815      {
6816    ConfigChannel.no_create_on_split = yylval.number;
6817   }
6818      break;
6819  
6820 <  case 722:
6821 <
6822 < /* Line 1455 of yacc.c  */
8489 < #line 3917 "ircd_parser.y"
6820 >  case 617:
6821 > /* Line 1787 of yacc.c  */
6822 > #line 3029 "conf_parser.y"
6823      {
6824    ConfigChannel.no_join_on_split = yylval.number;
6825   }
6826      break;
6827  
6828 <  case 723:
6829 <
6830 < /* Line 1455 of yacc.c  */
8498 < #line 3922 "ircd_parser.y"
8499 <    {
8500 <  ConfigChannel.burst_topicwho = yylval.number;
8501 < }
8502 <    break;
8503 <
8504 <  case 724:
8505 <
8506 < /* Line 1455 of yacc.c  */
8507 < #line 3927 "ircd_parser.y"
6828 >  case 618:
6829 > /* Line 1787 of yacc.c  */
6830 > #line 3034 "conf_parser.y"
6831      {
6832    GlobalSetOptions.joinfloodcount = yylval.number;
6833   }
6834      break;
6835  
6836 <  case 725:
6837 <
6838 < /* Line 1455 of yacc.c  */
8516 < #line 3932 "ircd_parser.y"
6836 >  case 619:
6837 > /* Line 1787 of yacc.c  */
6838 > #line 3039 "conf_parser.y"
6839      {
6840    GlobalSetOptions.joinfloodtime = yylval.number;
6841   }
6842      break;
6843  
6844 <  case 737:
6845 <
6846 < /* Line 1455 of yacc.c  */
8525 < #line 3951 "ircd_parser.y"
6844 >  case 630:
6845 > /* Line 1787 of yacc.c  */
6846 > #line 3057 "conf_parser.y"
6847      {
6848    if (conf_parser_ctx.pass == 2)
6849      ConfigServerHide.flatten_links = yylval.number;
6850   }
6851      break;
6852  
6853 <  case 738:
6854 <
6855 < /* Line 1455 of yacc.c  */
8535 < #line 3957 "ircd_parser.y"
6853 >  case 631:
6854 > /* Line 1787 of yacc.c  */
6855 > #line 3063 "conf_parser.y"
6856      {
6857    if (conf_parser_ctx.pass == 2)
6858      ConfigServerHide.hide_servers = yylval.number;
6859   }
6860      break;
6861  
6862 <  case 739:
6863 <
6864 < /* Line 1455 of yacc.c  */
8545 < #line 3963 "ircd_parser.y"
6862 >  case 632:
6863 > /* Line 1787 of yacc.c  */
6864 > #line 3069 "conf_parser.y"
6865      {
6866    if (conf_parser_ctx.pass == 2)
6867    {
# Line 8552 | Line 6871 | yyreduce:
6871   }
6872      break;
6873  
6874 <  case 740:
6875 <
6876 < /* Line 1455 of yacc.c  */
8558 < #line 3972 "ircd_parser.y"
6874 >  case 633:
6875 > /* Line 1787 of yacc.c  */
6876 > #line 3078 "conf_parser.y"
6877      {
6878    if (conf_parser_ctx.pass == 2)
6879    {
# Line 8570 | Line 6888 | yyreduce:
6888   }
6889      break;
6890  
6891 <  case 741:
6892 <
6893 < /* Line 1455 of yacc.c  */
8576 < #line 3986 "ircd_parser.y"
6891 >  case 634:
6892 > /* Line 1787 of yacc.c  */
6893 > #line 3092 "conf_parser.y"
6894      {
6895    if (conf_parser_ctx.pass == 2)
6896      ConfigServerHide.hidden = yylval.number;
6897   }
6898      break;
6899  
6900 <  case 742:
6901 <
6902 < /* Line 1455 of yacc.c  */
8586 < #line 3992 "ircd_parser.y"
8587 <    {
8588 <  if (conf_parser_ctx.pass == 2)
8589 <    ConfigServerHide.disable_hidden = yylval.number;
8590 < }
8591 <    break;
8592 <
8593 <  case 743:
8594 <
8595 < /* Line 1455 of yacc.c  */
8596 < #line 3998 "ircd_parser.y"
6900 >  case 635:
6901 > /* Line 1787 of yacc.c  */
6902 > #line 3098 "conf_parser.y"
6903      {
6904    if (conf_parser_ctx.pass == 2)
6905      ConfigServerHide.hide_server_ips = yylval.number;
# Line 8601 | Line 6907 | yyreduce:
6907      break;
6908  
6909  
6910 <
6911 < /* Line 1455 of yacc.c  */
8606 < #line 8607 "ircd_parser.c"
6910 > /* Line 1787 of yacc.c  */
6911 > #line 6912 "conf_parser.c"
6912        default: break;
6913      }
6914 +  /* User semantic actions sometimes alter yychar, and that requires
6915 +     that yytoken be updated with the new translation.  We take the
6916 +     approach of translating immediately before every use of yytoken.
6917 +     One alternative is translating here after every semantic action,
6918 +     but that translation would be missed if the semantic action invokes
6919 +     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
6920 +     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
6921 +     incorrect destructor might then be invoked immediately.  In the
6922 +     case of YYERROR or YYBACKUP, subsequent parser actions might lead
6923 +     to an incorrect destructor call or verbose syntax error message
6924 +     before the lookahead is translated.  */
6925    YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
6926  
6927    YYPOPSTACK (yylen);
# Line 8633 | Line 6949 | yyreduce:
6949   | yyerrlab -- here on detecting error |
6950   `------------------------------------*/
6951   yyerrlab:
6952 +  /* Make sure we have latest lookahead translation.  See comments at
6953 +     user semantic actions for why this is necessary.  */
6954 +  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
6955 +
6956    /* If not already recovering from an error, report this error.  */
6957    if (!yyerrstatus)
6958      {
# Line 8640 | Line 6960 | yyerrlab:
6960   #if ! YYERROR_VERBOSE
6961        yyerror (YY_("syntax error"));
6962   #else
6963 + # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
6964 +                                        yyssp, yytoken)
6965        {
6966 <        YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
6967 <        if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
6968 <          {
6969 <            YYSIZE_T yyalloc = 2 * yysize;
6970 <            if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
6971 <              yyalloc = YYSTACK_ALLOC_MAXIMUM;
6972 <            if (yymsg != yymsgbuf)
6973 <              YYSTACK_FREE (yymsg);
6974 <            yymsg = (char *) YYSTACK_ALLOC (yyalloc);
6975 <            if (yymsg)
6976 <              yymsg_alloc = yyalloc;
6977 <            else
6978 <              {
6979 <                yymsg = yymsgbuf;
6980 <                yymsg_alloc = sizeof yymsgbuf;
6981 <              }
6982 <          }
6983 <
6984 <        if (0 < yysize && yysize <= yymsg_alloc)
6985 <          {
6986 <            (void) yysyntax_error (yymsg, yystate, yychar);
6987 <            yyerror (yymsg);
6988 <          }
6989 <        else
6990 <          {
8669 <            yyerror (YY_("syntax error"));
8670 <            if (yysize != 0)
8671 <              goto yyexhaustedlab;
8672 <          }
6966 >        char const *yymsgp = YY_("syntax error");
6967 >        int yysyntax_error_status;
6968 >        yysyntax_error_status = YYSYNTAX_ERROR;
6969 >        if (yysyntax_error_status == 0)
6970 >          yymsgp = yymsg;
6971 >        else if (yysyntax_error_status == 1)
6972 >          {
6973 >            if (yymsg != yymsgbuf)
6974 >              YYSTACK_FREE (yymsg);
6975 >            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
6976 >            if (!yymsg)
6977 >              {
6978 >                yymsg = yymsgbuf;
6979 >                yymsg_alloc = sizeof yymsgbuf;
6980 >                yysyntax_error_status = 2;
6981 >              }
6982 >            else
6983 >              {
6984 >                yysyntax_error_status = YYSYNTAX_ERROR;
6985 >                yymsgp = yymsg;
6986 >              }
6987 >          }
6988 >        yyerror (yymsgp);
6989 >        if (yysyntax_error_status == 2)
6990 >          goto yyexhaustedlab;
6991        }
6992 + # undef YYSYNTAX_ERROR
6993   #endif
6994      }
6995  
# Line 8729 | Line 7048 | yyerrlab1:
7048    for (;;)
7049      {
7050        yyn = yypact[yystate];
7051 <      if (yyn != YYPACT_NINF)
7051 >      if (!yypact_value_is_default (yyn))
7052          {
7053            yyn += YYTERROR;
7054            if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
# Line 8776 | Line 7095 | yyabortlab:
7095    yyresult = 1;
7096    goto yyreturn;
7097  
7098 < #if !defined(yyoverflow) || YYERROR_VERBOSE
7098 > #if !defined yyoverflow || YYERROR_VERBOSE
7099   /*-------------------------------------------------.
7100   | yyexhaustedlab -- memory exhaustion comes here.  |
7101   `-------------------------------------------------*/
# Line 8788 | Line 7107 | yyexhaustedlab:
7107  
7108   yyreturn:
7109    if (yychar != YYEMPTY)
7110 <     yydestruct ("Cleanup: discarding lookahead",
7111 <                 yytoken, &yylval);
7110 >    {
7111 >      /* Make sure we have latest lookahead translation.  See comments at
7112 >         user semantic actions for why this is necessary.  */
7113 >      yytoken = YYTRANSLATE (yychar);
7114 >      yydestruct ("Cleanup: discarding lookahead",
7115 >                  yytoken, &yylval);
7116 >    }
7117    /* Do not reclaim the symbols of the rule which action triggered
7118       this YYABORT or YYACCEPT.  */
7119    YYPOPSTACK (yylen);
# Line 8813 | Line 7137 | yyreturn:
7137   }
7138  
7139  
8816

Diff Legend

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