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.3/src/ircd_parser.c (file contents), Revision 1121 by michael, Sun Jan 9 11:03:03 2011 UTC vs.
ircd-hybrid-8/src/conf_parser.c (file contents), Revision 1547 by michael, Sun Sep 30 17:50:03 2012 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.4.3.  */
1 > /* A Bison parser, made by GNU Bison 2.6.2.  */
2  
3 < /* 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,
6 <   2009, 2010 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 45 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.4.3"
47 > #define YYBISON_VERSION "2.6.2"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 59 | Line 58
58   /* Pull parsers.  */
59   #define YYPULL 1
60  
62 /* Using locations.  */
63 #define YYLSP_NEEDED 0
61  
62  
63  
64   /* Copy the first part of user declarations.  */
65 <
66 < /* Line 189 of yacc.c  */
70 < #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 78 | Line 74
74   #include "stdinc.h"
75   #include "ircd.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"
86 #include "irc_getaddrinfo.h"
82   #include "sprintf_irc.h"
83   #include "memory.h"
84   #include "modules.h"
# Line 99 | 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 109 | 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 };
112 static dlink_list hub_conf_list  = { NULL, NULL, 0 };
113 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 <
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;
123 static int not_atom = 0;
121  
122   struct CollectItem
123   {
# Line 150 | Line 147 | free_collect_item(struct CollectItem *it
147    MyFree(item);
148   }
149  
153 static void
154 unhook_hub_leaf_confs(void)
155 {
156  dlink_node *ptr;
157  dlink_node *next_ptr;
158  struct CollectItem *yy_hconf;
159  struct CollectItem *yy_lconf;
160
161  DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
162  {
163    yy_hconf = ptr->data;
164    dlinkDelete(&yy_hconf->node, &hub_conf_list);
165    free_collect_item(yy_hconf);
166  }
167
168  DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
169  {
170    yy_lconf = ptr->data;
171    dlinkDelete(&yy_lconf->node, &leaf_conf_list);
172    free_collect_item(yy_lconf);
173  }
174 }
175
176
150  
151 < /* Line 189 of yacc.c  */
152 < #line 180 "ircd_parser.c"
151 > /* Line 336 of yacc.c  */
152 > #line 153 "conf_parser.c"
153  
154 < /* Enabling traces.  */
155 < #ifndef YYDEBUG
156 < # define YYDEBUG 0
157 < #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 191 | 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
198
181  
182   /* Tokens.  */
183   #ifndef YYTOKENTYPE
# Line 204 | 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 <     DOTS_IN_IDENT = 299,
230 <     DURATION = 300,
231 <     EGDPOOL_PATH = 301,
232 <     EMAIL = 302,
233 <     ENABLE = 303,
234 <     ENCRYPTED = 304,
235 <     EXCEED_LIMIT = 305,
236 <     EXEMPT = 306,
237 <     FAILED_OPER_NOTICE = 307,
238 <     IRCD_FLAGS = 308,
239 <     FLATTEN_LINKS = 309,
240 <     FFAILED_OPERLOG = 310,
241 <     FKILLLOG = 311,
242 <     FKLINELOG = 312,
243 <     FGLINELOG = 313,
244 <     FIOERRLOG = 314,
245 <     FOPERLOG = 315,
246 <     FOPERSPYLOG = 316,
247 <     FUSERLOG = 317,
248 <     GECOS = 318,
249 <     GENERAL = 319,
250 <     GLINE = 320,
251 <     GLINES = 321,
252 <     GLINE_EXEMPT = 322,
253 <     GLINE_LOG = 323,
254 <     GLINE_TIME = 324,
255 <     GLINE_MIN_CIDR = 325,
256 <     GLINE_MIN_CIDR6 = 326,
257 <     GLOBAL_KILL = 327,
258 <     IRCD_AUTH = 328,
259 <     NEED_IDENT = 329,
260 <     HAVENT_READ_CONF = 330,
261 <     HIDDEN = 331,
262 <     HIDDEN_ADMIN = 332,
263 <     HIDDEN_NAME = 333,
264 <     HIDDEN_OPER = 334,
265 <     HIDE_SERVER_IPS = 335,
266 <     HIDE_SERVERS = 336,
267 <     HIDE_SPOOF_IPS = 337,
268 <     HOST = 338,
269 <     HUB = 339,
270 <     HUB_MASK = 340,
271 <     IDLETIME = 341,
272 <     IGNORE_BOGUS_TS = 342,
273 <     INVISIBLE_ON_CONNECT = 343,
274 <     IP = 344,
275 <     KILL = 345,
276 <     KILL_CHASE_TIME_LIMIT = 346,
277 <     KLINE = 347,
278 <     KLINE_EXEMPT = 348,
279 <     KLINE_REASON = 349,
280 <     KLINE_WITH_REASON = 350,
281 <     KNOCK_DELAY = 351,
282 <     KNOCK_DELAY_CHANNEL = 352,
283 <     LEAF_MASK = 353,
284 <     LINKS_DELAY = 354,
285 <     LISTEN = 355,
286 <     T_LOG = 356,
287 <     LOGGING = 357,
288 <     LOG_LEVEL = 358,
289 <     MAX_ACCEPT = 359,
290 <     MAX_BANS = 360,
291 <     MAX_CHANS_PER_USER = 361,
292 <     MAX_GLOBAL = 362,
293 <     MAX_IDENT = 363,
294 <     MAX_LOCAL = 364,
295 <     MAX_NICK_CHANGES = 365,
296 <     MAX_NICK_TIME = 366,
297 <     MAX_NUMBER = 367,
298 <     MAX_TARGETS = 368,
299 <     MAX_WATCH = 369,
300 <     MESSAGE_LOCALE = 370,
301 <     MIN_NONWILDCARD = 371,
302 <     MIN_NONWILDCARD_SIMPLE = 372,
303 <     MODULE = 373,
304 <     MODULES = 374,
305 <     NAME = 375,
306 <     NEED_PASSWORD = 376,
307 <     NETWORK_DESC = 377,
308 <     NETWORK_NAME = 378,
309 <     NICK = 379,
310 <     NICK_CHANGES = 380,
311 <     NO_CREATE_ON_SPLIT = 381,
312 <     NO_JOIN_ON_SPLIT = 382,
313 <     NO_OPER_FLOOD = 383,
314 <     NO_TILDE = 384,
315 <     NOT = 385,
316 <     NUMBER = 386,
317 <     NUMBER_PER_IDENT = 387,
318 <     NUMBER_PER_CIDR = 388,
319 <     NUMBER_PER_IP = 389,
320 <     NUMBER_PER_IP_GLOBAL = 390,
321 <     OPERATOR = 391,
322 <     OPERS_BYPASS_CALLERID = 392,
323 <     OPER_LOG = 393,
324 <     OPER_ONLY_UMODES = 394,
325 <     OPER_PASS_RESV = 395,
326 <     OPER_SPY_T = 396,
327 <     OPER_UMODES = 397,
328 <     JOIN_FLOOD_COUNT = 398,
329 <     JOIN_FLOOD_TIME = 399,
330 <     PACE_WAIT = 400,
331 <     PACE_WAIT_SIMPLE = 401,
332 <     PASSWORD = 402,
333 <     PATH = 403,
334 <     PING_COOKIE = 404,
335 <     PING_TIME = 405,
336 <     PING_WARNING = 406,
337 <     PORT = 407,
338 <     QSTRING = 408,
339 <     QUIET_ON_BAN = 409,
340 <     REASON = 410,
341 <     REDIRPORT = 411,
342 <     REDIRSERV = 412,
343 <     REGEX_T = 413,
344 <     REHASH = 414,
345 <     TREJECT_HOLD_TIME = 415,
346 <     REMOTE = 416,
347 <     REMOTEBAN = 417,
348 <     RESTRICT_CHANNELS = 418,
349 <     RESTRICTED = 419,
350 <     RSA_PRIVATE_KEY_FILE = 420,
351 <     RSA_PUBLIC_KEY_FILE = 421,
352 <     SSL_CERTIFICATE_FILE = 422,
353 <     T_SSL_CONNECTION_METHOD = 423,
354 <     T_SSLV3 = 424,
355 <     T_TLSV1 = 425,
356 <     RESV = 426,
357 <     RESV_EXEMPT = 427,
358 <     SECONDS = 428,
359 <     MINUTES = 429,
360 <     HOURS = 430,
361 <     DAYS = 431,
362 <     WEEKS = 432,
363 <     SENDQ = 433,
364 <     SEND_PASSWORD = 434,
365 <     SERVERHIDE = 435,
366 <     SERVERINFO = 436,
367 <     SERVLINK_PATH = 437,
368 <     IRCD_SID = 438,
369 <     TKLINE_EXPIRE_NOTICES = 439,
370 <     T_SHARED = 440,
371 <     T_CLUSTER = 441,
372 <     TYPE = 442,
373 <     SHORT_MOTD = 443,
374 <     SILENT = 444,
375 <     SPOOF = 445,
376 <     SPOOF_NOTICE = 446,
377 <     STATS_E_DISABLED = 447,
378 <     STATS_I_OPER_ONLY = 448,
379 <     STATS_K_OPER_ONLY = 449,
380 <     STATS_O_OPER_ONLY = 450,
381 <     STATS_P_OPER_ONLY = 451,
382 <     TBOOL = 452,
383 <     TMASKED = 453,
384 <     T_REJECT = 454,
385 <     TS_MAX_DELTA = 455,
386 <     TS_WARN_DELTA = 456,
387 <     TWODOTS = 457,
388 <     T_ALL = 458,
389 <     T_BOTS = 459,
390 <     T_SOFTCALLERID = 460,
391 <     T_CALLERID = 461,
392 <     T_CCONN = 462,
393 <     T_CCONN_FULL = 463,
394 <     T_CLIENT_FLOOD = 464,
395 <     T_DEAF = 465,
396 <     T_DEBUG = 466,
397 <     T_DRONE = 467,
398 <     T_EXTERNAL = 468,
399 <     T_FULL = 469,
400 <     T_INVISIBLE = 470,
401 <     T_IPV4 = 471,
402 <     T_IPV6 = 472,
421 <     T_LOCOPS = 473,
422 <     T_LOGPATH = 474,
423 <     T_L_CRIT = 475,
424 <     T_L_DEBUG = 476,
425 <     T_L_ERROR = 477,
426 <     T_L_INFO = 478,
427 <     T_L_NOTICE = 479,
428 <     T_L_TRACE = 480,
429 <     T_L_WARN = 481,
430 <     T_MAX_CLIENTS = 482,
431 <     T_NCHANGE = 483,
432 <     T_OPERWALL = 484,
433 <     T_REJ = 485,
434 <     T_SERVER = 486,
435 <     T_SERVNOTICE = 487,
436 <     T_SKILL = 488,
437 <     T_SPY = 489,
438 <     T_SSL = 490,
439 <     T_UMODES = 491,
440 <     T_UNAUTH = 492,
441 <     T_UNRESV = 493,
442 <     T_UNXLINE = 494,
443 <     T_WALLOP = 495,
444 <     THROTTLE_TIME = 496,
445 <     TOPICBURST = 497,
446 <     TRUE_NO_OPER_FLOOD = 498,
447 <     TKLINE = 499,
448 <     TXLINE = 500,
449 <     TRESV = 501,
450 <     UNKLINE = 502,
451 <     USER = 503,
452 <     USE_EGD = 504,
453 <     USE_EXCEPT = 505,
454 <     USE_INVEX = 506,
455 <     USE_KNOCK = 507,
456 <     USE_LOGGING = 508,
457 <     USE_WHOIS_ACTUALLY = 509,
458 <     VHOST = 510,
459 <     VHOST6 = 511,
460 <     XLINE = 512,
461 <     WARN = 513,
462 <     WARN_NO_NLINE = 514
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 >     VHOST = 467,
398 >     VHOST6 = 468,
399 >     XLINE = 469,
400 >     WARN_NO_NLINE = 470,
401 >     T_SIZE = 471,
402 >     T_FILE = 472
403     };
404   #endif
405   /* Tokens.  */
406   #define ACCEPT_PASSWORD 258
407 < #define ACTION 259
408 < #define ADMIN 260
409 < #define AFTYPE 261
410 < #define T_ALLOW 262
411 < #define ANTI_NICK_FLOOD 263
412 < #define ANTI_SPAM_EXIT_MESSAGE_TIME 264
413 < #define AUTOCONN 265
414 < #define T_BLOCK 266
415 < #define BURST_AWAY 267
416 < #define BURST_TOPICWHO 268
417 < #define BYTES 269
418 < #define KBYTES 270
419 < #define MBYTES 271
420 < #define GBYTES 272
421 < #define TBYTES 273
422 < #define CALLER_ID_WAIT 274
423 < #define CAN_FLOOD 275
424 < #define CAN_IDLE 276
425 < #define CHANNEL 277
426 < #define CIDR_BITLEN_IPV4 278
427 < #define CIDR_BITLEN_IPV6 279
428 < #define CIPHER_PREFERENCE 280
429 < #define CLASS 281
430 < #define COMPRESSED 282
431 < #define COMPRESSION_LEVEL 283
432 < #define CONNECT 284
433 < #define CONNECTFREQ 285
434 < #define CRYPTLINK 286
435 < #define DEFAULT_CIPHER_PREFERENCE 287
436 < #define DEFAULT_FLOODCOUNT 288
437 < #define DEFAULT_SPLIT_SERVER_COUNT 289
438 < #define DEFAULT_SPLIT_USER_COUNT 290
439 < #define DENY 291
440 < #define DESCRIPTION 292
441 < #define DIE 293
442 < #define DISABLE_AUTH 294
443 < #define DISABLE_FAKE_CHANNELS 295
444 < #define DISABLE_HIDDEN 296
445 < #define DISABLE_LOCAL_CHANNELS 297
446 < #define DISABLE_REMOTE_COMMANDS 298
447 < #define DOTS_IN_IDENT 299
448 < #define DURATION 300
449 < #define EGDPOOL_PATH 301
450 < #define EMAIL 302
451 < #define ENABLE 303
452 < #define ENCRYPTED 304
453 < #define EXCEED_LIMIT 305
454 < #define EXEMPT 306
455 < #define FAILED_OPER_NOTICE 307
456 < #define IRCD_FLAGS 308
457 < #define FLATTEN_LINKS 309
458 < #define FFAILED_OPERLOG 310
459 < #define FKILLLOG 311
460 < #define FKLINELOG 312
461 < #define FGLINELOG 313
462 < #define FIOERRLOG 314
463 < #define FOPERLOG 315
464 < #define FOPERSPYLOG 316
465 < #define FUSERLOG 317
466 < #define GECOS 318
467 < #define GENERAL 319
468 < #define GLINE 320
469 < #define GLINES 321
470 < #define GLINE_EXEMPT 322
471 < #define GLINE_LOG 323
472 < #define GLINE_TIME 324
473 < #define GLINE_MIN_CIDR 325
474 < #define GLINE_MIN_CIDR6 326
475 < #define GLOBAL_KILL 327
476 < #define IRCD_AUTH 328
477 < #define NEED_IDENT 329
478 < #define HAVENT_READ_CONF 330
479 < #define HIDDEN 331
480 < #define HIDDEN_ADMIN 332
481 < #define HIDDEN_NAME 333
482 < #define HIDDEN_OPER 334
483 < #define HIDE_SERVER_IPS 335
484 < #define HIDE_SERVERS 336
485 < #define HIDE_SPOOF_IPS 337
486 < #define HOST 338
487 < #define HUB 339
488 < #define HUB_MASK 340
489 < #define IDLETIME 341
490 < #define IGNORE_BOGUS_TS 342
491 < #define INVISIBLE_ON_CONNECT 343
492 < #define IP 344
493 < #define KILL 345
494 < #define KILL_CHASE_TIME_LIMIT 346
495 < #define KLINE 347
496 < #define KLINE_EXEMPT 348
497 < #define KLINE_REASON 349
498 < #define KLINE_WITH_REASON 350
499 < #define KNOCK_DELAY 351
500 < #define KNOCK_DELAY_CHANNEL 352
501 < #define LEAF_MASK 353
502 < #define LINKS_DELAY 354
503 < #define LISTEN 355
504 < #define T_LOG 356
505 < #define LOGGING 357
506 < #define LOG_LEVEL 358
507 < #define MAX_ACCEPT 359
508 < #define MAX_BANS 360
509 < #define MAX_CHANS_PER_USER 361
510 < #define MAX_GLOBAL 362
511 < #define MAX_IDENT 363
512 < #define MAX_LOCAL 364
513 < #define MAX_NICK_CHANGES 365
514 < #define MAX_NICK_TIME 366
515 < #define MAX_NUMBER 367
516 < #define MAX_TARGETS 368
517 < #define MAX_WATCH 369
518 < #define MESSAGE_LOCALE 370
519 < #define MIN_NONWILDCARD 371
520 < #define MIN_NONWILDCARD_SIMPLE 372
521 < #define MODULE 373
522 < #define MODULES 374
523 < #define NAME 375
524 < #define NEED_PASSWORD 376
525 < #define NETWORK_DESC 377
526 < #define NETWORK_NAME 378
527 < #define NICK 379
528 < #define NICK_CHANGES 380
529 < #define NO_CREATE_ON_SPLIT 381
530 < #define NO_JOIN_ON_SPLIT 382
531 < #define NO_OPER_FLOOD 383
532 < #define NO_TILDE 384
533 < #define NOT 385
534 < #define NUMBER 386
535 < #define NUMBER_PER_IDENT 387
536 < #define NUMBER_PER_CIDR 388
537 < #define NUMBER_PER_IP 389
538 < #define NUMBER_PER_IP_GLOBAL 390
539 < #define OPERATOR 391
540 < #define OPERS_BYPASS_CALLERID 392
541 < #define OPER_LOG 393
542 < #define OPER_ONLY_UMODES 394
543 < #define OPER_PASS_RESV 395
544 < #define OPER_SPY_T 396
545 < #define OPER_UMODES 397
546 < #define JOIN_FLOOD_COUNT 398
547 < #define JOIN_FLOOD_TIME 399
548 < #define PACE_WAIT 400
549 < #define PACE_WAIT_SIMPLE 401
550 < #define PASSWORD 402
551 < #define PATH 403
552 < #define PING_COOKIE 404
553 < #define PING_TIME 405
554 < #define PING_WARNING 406
555 < #define PORT 407
556 < #define QSTRING 408
557 < #define QUIET_ON_BAN 409
558 < #define REASON 410
559 < #define REDIRPORT 411
560 < #define REDIRSERV 412
561 < #define REGEX_T 413
562 < #define REHASH 414
563 < #define TREJECT_HOLD_TIME 415
564 < #define REMOTE 416
565 < #define REMOTEBAN 417
566 < #define RESTRICT_CHANNELS 418
567 < #define RESTRICTED 419
568 < #define RSA_PRIVATE_KEY_FILE 420
569 < #define RSA_PUBLIC_KEY_FILE 421
570 < #define SSL_CERTIFICATE_FILE 422
571 < #define T_SSL_CONNECTION_METHOD 423
572 < #define T_SSLV3 424
573 < #define T_TLSV1 425
574 < #define RESV 426
575 < #define RESV_EXEMPT 427
576 < #define SECONDS 428
577 < #define MINUTES 429
578 < #define HOURS 430
579 < #define DAYS 431
580 < #define WEEKS 432
581 < #define SENDQ 433
582 < #define SEND_PASSWORD 434
583 < #define SERVERHIDE 435
584 < #define SERVERINFO 436
585 < #define SERVLINK_PATH 437
586 < #define IRCD_SID 438
587 < #define TKLINE_EXPIRE_NOTICES 439
588 < #define T_SHARED 440
589 < #define T_CLUSTER 441
590 < #define TYPE 442
591 < #define SHORT_MOTD 443
592 < #define SILENT 444
593 < #define SPOOF 445
594 < #define SPOOF_NOTICE 446
595 < #define STATS_E_DISABLED 447
596 < #define STATS_I_OPER_ONLY 448
597 < #define STATS_K_OPER_ONLY 449
598 < #define STATS_O_OPER_ONLY 450
599 < #define STATS_P_OPER_ONLY 451
600 < #define TBOOL 452
601 < #define TMASKED 453
602 < #define T_REJECT 454
603 < #define TS_MAX_DELTA 455
604 < #define TS_WARN_DELTA 456
605 < #define TWODOTS 457
606 < #define T_ALL 458
607 < #define T_BOTS 459
608 < #define T_SOFTCALLERID 460
609 < #define T_CALLERID 461
610 < #define T_CCONN 462
611 < #define T_CCONN_FULL 463
612 < #define T_CLIENT_FLOOD 464
613 < #define T_DEAF 465
614 < #define T_DEBUG 466
615 < #define T_DRONE 467
616 < #define T_EXTERNAL 468
617 < #define T_FULL 469
618 < #define T_INVISIBLE 470
619 < #define T_IPV4 471
620 < #define T_IPV6 472
681 < #define T_LOCOPS 473
682 < #define T_LOGPATH 474
683 < #define T_L_CRIT 475
684 < #define T_L_DEBUG 476
685 < #define T_L_ERROR 477
686 < #define T_L_INFO 478
687 < #define T_L_NOTICE 479
688 < #define T_L_TRACE 480
689 < #define T_L_WARN 481
690 < #define T_MAX_CLIENTS 482
691 < #define T_NCHANGE 483
692 < #define T_OPERWALL 484
693 < #define T_REJ 485
694 < #define T_SERVER 486
695 < #define T_SERVNOTICE 487
696 < #define T_SKILL 488
697 < #define T_SPY 489
698 < #define T_SSL 490
699 < #define T_UMODES 491
700 < #define T_UNAUTH 492
701 < #define T_UNRESV 493
702 < #define T_UNXLINE 494
703 < #define T_WALLOP 495
704 < #define THROTTLE_TIME 496
705 < #define TOPICBURST 497
706 < #define TRUE_NO_OPER_FLOOD 498
707 < #define TKLINE 499
708 < #define TXLINE 500
709 < #define TRESV 501
710 < #define UNKLINE 502
711 < #define USER 503
712 < #define USE_EGD 504
713 < #define USE_EXCEPT 505
714 < #define USE_INVEX 506
715 < #define USE_KNOCK 507
716 < #define USE_LOGGING 508
717 < #define USE_WHOIS_ACTUALLY 509
718 < #define VHOST 510
719 < #define VHOST6 511
720 < #define XLINE 512
721 < #define WARN 513
722 < #define WARN_NO_NLINE 514
723 <
407 > #define ADMIN 259
408 > #define AFTYPE 260
409 > #define ANTI_NICK_FLOOD 261
410 > #define ANTI_SPAM_EXIT_MESSAGE_TIME 262
411 > #define AUTOCONN 263
412 > #define BYTES 264
413 > #define KBYTES 265
414 > #define MBYTES 266
415 > #define CALLER_ID_WAIT 267
416 > #define CAN_FLOOD 268
417 > #define CHANNEL 269
418 > #define CIDR_BITLEN_IPV4 270
419 > #define CIDR_BITLEN_IPV6 271
420 > #define CLASS 272
421 > #define CONNECT 273
422 > #define CONNECTFREQ 274
423 > #define DEFAULT_FLOODCOUNT 275
424 > #define DEFAULT_SPLIT_SERVER_COUNT 276
425 > #define DEFAULT_SPLIT_USER_COUNT 277
426 > #define DENY 278
427 > #define DESCRIPTION 279
428 > #define DIE 280
429 > #define DISABLE_AUTH 281
430 > #define DISABLE_FAKE_CHANNELS 282
431 > #define DISABLE_REMOTE_COMMANDS 283
432 > #define DOTS_IN_IDENT 284
433 > #define EGDPOOL_PATH 285
434 > #define EMAIL 286
435 > #define ENCRYPTED 287
436 > #define EXCEED_LIMIT 288
437 > #define EXEMPT 289
438 > #define FAILED_OPER_NOTICE 290
439 > #define IRCD_FLAGS 291
440 > #define FLATTEN_LINKS 292
441 > #define GECOS 293
442 > #define GENERAL 294
443 > #define GLINE 295
444 > #define GLINE_DURATION 296
445 > #define GLINE_ENABLE 297
446 > #define GLINE_EXEMPT 298
447 > #define GLINE_REQUEST_DURATION 299
448 > #define GLINE_MIN_CIDR 300
449 > #define GLINE_MIN_CIDR6 301
450 > #define GLOBAL_KILL 302
451 > #define IRCD_AUTH 303
452 > #define NEED_IDENT 304
453 > #define HAVENT_READ_CONF 305
454 > #define HIDDEN 306
455 > #define HIDDEN_NAME 307
456 > #define HIDE_SERVER_IPS 308
457 > #define HIDE_SERVERS 309
458 > #define HIDE_SPOOF_IPS 310
459 > #define HOST 311
460 > #define HUB 312
461 > #define HUB_MASK 313
462 > #define IGNORE_BOGUS_TS 314
463 > #define INVISIBLE_ON_CONNECT 315
464 > #define IP 316
465 > #define KILL 317
466 > #define KILL_CHASE_TIME_LIMIT 318
467 > #define KLINE 319
468 > #define KLINE_EXEMPT 320
469 > #define KLINE_REASON 321
470 > #define KLINE_WITH_REASON 322
471 > #define KNOCK_DELAY 323
472 > #define KNOCK_DELAY_CHANNEL 324
473 > #define LEAF_MASK 325
474 > #define LINKS_DELAY 326
475 > #define LISTEN 327
476 > #define T_LOG 328
477 > #define MAX_ACCEPT 329
478 > #define MAX_BANS 330
479 > #define MAX_CHANS_PER_OPER 331
480 > #define MAX_CHANS_PER_USER 332
481 > #define MAX_GLOBAL 333
482 > #define MAX_IDENT 334
483 > #define MAX_LOCAL 335
484 > #define MAX_NICK_CHANGES 336
485 > #define MAX_NICK_TIME 337
486 > #define MAX_NUMBER 338
487 > #define MAX_TARGETS 339
488 > #define MAX_WATCH 340
489 > #define MESSAGE_LOCALE 341
490 > #define MIN_NONWILDCARD 342
491 > #define MIN_NONWILDCARD_SIMPLE 343
492 > #define MODULE 344
493 > #define MODULES 345
494 > #define NAME 346
495 > #define NEED_PASSWORD 347
496 > #define NETWORK_DESC 348
497 > #define NETWORK_NAME 349
498 > #define NICK 350
499 > #define NICK_CHANGES 351
500 > #define NO_CREATE_ON_SPLIT 352
501 > #define NO_JOIN_ON_SPLIT 353
502 > #define NO_OPER_FLOOD 354
503 > #define NO_TILDE 355
504 > #define NUMBER 356
505 > #define NUMBER_PER_CIDR 357
506 > #define NUMBER_PER_IP 358
507 > #define OPERATOR 359
508 > #define OPERS_BYPASS_CALLERID 360
509 > #define OPER_ONLY_UMODES 361
510 > #define OPER_PASS_RESV 362
511 > #define OPER_SPY_T 363
512 > #define OPER_UMODES 364
513 > #define JOIN_FLOOD_COUNT 365
514 > #define JOIN_FLOOD_TIME 366
515 > #define PACE_WAIT 367
516 > #define PACE_WAIT_SIMPLE 368
517 > #define PASSWORD 369
518 > #define PATH 370
519 > #define PING_COOKIE 371
520 > #define PING_TIME 372
521 > #define PING_WARNING 373
522 > #define PORT 374
523 > #define QSTRING 375
524 > #define QUIET_ON_BAN 376
525 > #define REASON 377
526 > #define REDIRPORT 378
527 > #define REDIRSERV 379
528 > #define REGEX_T 380
529 > #define REHASH 381
530 > #define TREJECT_HOLD_TIME 382
531 > #define REMOTE 383
532 > #define REMOTEBAN 384
533 > #define RESTRICT_CHANNELS 385
534 > #define RSA_PRIVATE_KEY_FILE 386
535 > #define RSA_PUBLIC_KEY_FILE 387
536 > #define SSL_CERTIFICATE_FILE 388
537 > #define SSL_DH_PARAM_FILE 389
538 > #define T_SSL_CLIENT_METHOD 390
539 > #define T_SSL_SERVER_METHOD 391
540 > #define T_SSLV3 392
541 > #define T_TLSV1 393
542 > #define RESV 394
543 > #define RESV_EXEMPT 395
544 > #define SECONDS 396
545 > #define MINUTES 397
546 > #define HOURS 398
547 > #define DAYS 399
548 > #define WEEKS 400
549 > #define SENDQ 401
550 > #define SEND_PASSWORD 402
551 > #define SERVERHIDE 403
552 > #define SERVERINFO 404
553 > #define IRCD_SID 405
554 > #define TKLINE_EXPIRE_NOTICES 406
555 > #define T_SHARED 407
556 > #define T_CLUSTER 408
557 > #define TYPE 409
558 > #define SHORT_MOTD 410
559 > #define SPOOF 411
560 > #define SPOOF_NOTICE 412
561 > #define STATS_E_DISABLED 413
562 > #define STATS_I_OPER_ONLY 414
563 > #define STATS_K_OPER_ONLY 415
564 > #define STATS_O_OPER_ONLY 416
565 > #define STATS_P_OPER_ONLY 417
566 > #define TBOOL 418
567 > #define TMASKED 419
568 > #define TS_MAX_DELTA 420
569 > #define TS_WARN_DELTA 421
570 > #define TWODOTS 422
571 > #define T_ALL 423
572 > #define T_BOTS 424
573 > #define T_SOFTCALLERID 425
574 > #define T_CALLERID 426
575 > #define T_CCONN 427
576 > #define T_CCONN_FULL 428
577 > #define T_SSL_CIPHER_LIST 429
578 > #define T_DEAF 430
579 > #define T_DEBUG 431
580 > #define T_DLINE 432
581 > #define T_EXTERNAL 433
582 > #define T_FULL 434
583 > #define T_INVISIBLE 435
584 > #define T_IPV4 436
585 > #define T_IPV6 437
586 > #define T_LOCOPS 438
587 > #define T_MAX_CLIENTS 439
588 > #define T_NCHANGE 440
589 > #define T_OPERWALL 441
590 > #define T_RECVQ 442
591 > #define T_REJ 443
592 > #define T_SERVER 444
593 > #define T_SERVNOTICE 445
594 > #define T_SET 446
595 > #define T_SKILL 447
596 > #define T_SPY 448
597 > #define T_SSL 449
598 > #define T_UMODES 450
599 > #define T_UNAUTH 451
600 > #define T_UNDLINE 452
601 > #define T_UNLIMITED 453
602 > #define T_UNRESV 454
603 > #define T_UNXLINE 455
604 > #define T_GLOBOPS 456
605 > #define T_WALLOP 457
606 > #define T_RESTART 458
607 > #define T_SERVICE 459
608 > #define T_SERVICES_NAME 460
609 > #define THROTTLE_TIME 461
610 > #define TRUE_NO_OPER_FLOOD 462
611 > #define UNKLINE 463
612 > #define USER 464
613 > #define USE_EGD 465
614 > #define USE_LOGGING 466
615 > #define VHOST 467
616 > #define VHOST6 468
617 > #define XLINE 469
618 > #define WARN_NO_NLINE 470
619 > #define T_SIZE 471
620 > #define T_FILE 472
621  
622  
623  
624   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
625   typedef union YYSTYPE
626   {
627 <
628 < /* Line 214 of yacc.c  */
732 < #line 132 "ircd_parser.y"
627 > /* Line 350 of yacc.c  */
628 > #line 110 "conf_parser.y"
629  
630    int number;
631    char *string;
632  
633  
634 <
635 < /* Line 214 of yacc.c  */
740 < #line 741 "ircd_parser.c"
634 > /* Line 350 of yacc.c  */
635 > #line 636 "conf_parser.c"
636   } YYSTYPE;
637   # define YYSTYPE_IS_TRIVIAL 1
638   # define yystype YYSTYPE /* obsolescent; will be withdrawn */
639   # define YYSTYPE_IS_DECLARED 1
640   #endif
641  
642 + extern YYSTYPE yylval;
643  
644 < /* Copy the second part of user declarations.  */
644 > #ifdef YYPARSE_PARAM
645 > #if defined __STDC__ || defined __cplusplus
646 > int yyparse (void *YYPARSE_PARAM);
647 > #else
648 > int yyparse ();
649 > #endif
650 > #else /* ! YYPARSE_PARAM */
651 > #if defined __STDC__ || defined __cplusplus
652 > int yyparse (void);
653 > #else
654 > int yyparse ();
655 > #endif
656 > #endif /* ! YYPARSE_PARAM */
657 >
658 > #endif /* !YY_Y_TAB_H  */
659  
660 + /* Copy the second part of user declarations.  */
661  
662 < /* Line 264 of yacc.c  */
663 < #line 753 "ircd_parser.c"
662 > /* Line 353 of yacc.c  */
663 > #line 664 "conf_parser.c"
664  
665   #ifdef short
666   # undef short
# Line 852 | Line 763 | YYID (yyi)
763   #    define alloca _alloca
764   #   else
765   #    define YYSTACK_ALLOC alloca
766 < #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
766 > #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
767       || defined __cplusplus || defined _MSC_VER)
768   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
769 < #     ifndef _STDLIB_H
770 < #      define _STDLIB_H 1
769 >      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
770 > #     ifndef EXIT_SUCCESS
771 > #      define EXIT_SUCCESS 0
772   #     endif
773   #    endif
774   #   endif
# Line 879 | Line 791 | YYID (yyi)
791   #  ifndef YYSTACK_ALLOC_MAXIMUM
792   #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
793   #  endif
794 < #  if (defined __cplusplus && ! defined _STDLIB_H \
794 > #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
795         && ! ((defined YYMALLOC || defined malloc) \
796               && (defined YYFREE || defined free)))
797   #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
798 < #   ifndef _STDLIB_H
799 < #    define _STDLIB_H 1
798 > #   ifndef EXIT_SUCCESS
799 > #    define EXIT_SUCCESS 0
800   #   endif
801   #  endif
802   #  ifndef YYMALLOC
803   #   define YYMALLOC malloc
804 < #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
804 > #   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
805       || defined __cplusplus || defined _MSC_VER)
806   void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
807   #   endif
808   #  endif
809   #  ifndef YYFREE
810   #   define YYFREE free
811 < #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
811 > #   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
812       || defined __cplusplus || defined _MSC_VER)
813   void free (void *); /* INFRINGES ON USER NAME SPACE */
814   #   endif
# Line 925 | Line 837 | union yyalloc
837       ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
838        + YYSTACK_GAP_MAXIMUM)
839  
840 < /* Copy COUNT objects from FROM to TO.  The source and destination do
929 <   not overlap.  */
930 < # ifndef YYCOPY
931 < #  if defined __GNUC__ && 1 < __GNUC__
932 < #   define YYCOPY(To, From, Count) \
933 <      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
934 < #  else
935 < #   define YYCOPY(To, From, Count)              \
936 <      do                                        \
937 <        {                                       \
938 <          YYSIZE_T yyi;                         \
939 <          for (yyi = 0; yyi < (Count); yyi++)   \
940 <            (To)[yyi] = (From)[yyi];            \
941 <        }                                       \
942 <      while (YYID (0))
943 < #  endif
944 < # endif
840 > # define YYCOPY_NEEDED 1
841  
842   /* Relocate STACK from its old location to the new one.  The
843     local variables YYSIZE and YYSTACKSIZE give the old and new number of
# Line 961 | Line 857 | union yyalloc
857  
858   #endif
859  
860 + #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
861 + /* Copy COUNT objects from SRC to DST.  The source and destination do
862 +   not overlap.  */
863 + # ifndef YYCOPY
864 + #  if defined __GNUC__ && 1 < __GNUC__
865 + #   define YYCOPY(Dst, Src, Count) \
866 +      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
867 + #  else
868 + #   define YYCOPY(Dst, Src, Count)              \
869 +      do                                        \
870 +        {                                       \
871 +          YYSIZE_T yyi;                         \
872 +          for (yyi = 0; yyi < (Count); yyi++)   \
873 +            (Dst)[yyi] = (Src)[yyi];            \
874 +        }                                       \
875 +      while (YYID (0))
876 + #  endif
877 + # endif
878 + #endif /* !YYCOPY_NEEDED */
879 +
880   /* YYFINAL -- State number of the termination state.  */
881   #define YYFINAL  2
882   /* YYLAST -- Last index in YYTABLE.  */
883 < #define YYLAST   1258
883 > #define YYLAST   1218
884  
885   /* YYNTOKENS -- Number of terminals.  */
886 < #define YYNTOKENS  265
886 > #define YYNTOKENS  223
887   /* YYNNTS -- Number of nonterminals.  */
888 < #define YYNNTS  318
888 > #define YYNNTS  286
889   /* YYNRULES -- Number of rules.  */
890 < #define YYNRULES  687
890 > #define YYNRULES  633
891   /* YYNRULES -- Number of states.  */
892 < #define YYNSTATES  1354
892 > #define YYNSTATES  1243
893  
894   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
895   #define YYUNDEFTOK  2
896 < #define YYMAXUTOK   514
896 > #define YYMAXUTOK   472
897  
898   #define YYTRANSLATE(YYX)                                                \
899    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
900  
901   /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
902 < static const yytype_uint16 yytranslate[] =
902 > static const yytype_uint8 yytranslate[] =
903   {
904         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
905         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
906         2,     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,   264,     2,     2,     2,     2,     2,
909 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   260,
910 <       2,   263,     2,     2,     2,     2,     2,     2,     2,     2,
908 >       2,     2,     2,     2,   222,     2,     2,     2,     2,     2,
909 >       2,     2,     2,     2,     2,     2,     2,     2,     2,   218,
910 >       2,   221,     2,     2,     2,     2,     2,     2,     2,     2,
911         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
912         2,     2,     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,   262,     2,   261,     2,     2,     2,     2,
916 >       2,     2,     2,   220,     2,   219,     2,     2,     2,     2,
917         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
918         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
919         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 1032 | Line 948 | static const yytype_uint16 yytranslate[]
948       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
949       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
950       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
951 <     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1036 <     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1037 <     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1038 <     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1039 <     255,   256,   257,   258,   259
951 >     215,   216,   217
952   };
953  
954   #if YYDEBUG
# Line 1050 | Line 962 | static const yytype_uint16 yyprhs[] =
962        63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
963        97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
964       134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
965 <     154,   156,   158,   160,   163,   164,   170,   174,   176,   178,
966 <     180,   185,   190,   195,   200,   205,   210,   215,   220,   225,
967 <     230,   235,   241,   244,   246,   248,   250,   252,   255,   260,
968 <     265,   270,   276,   279,   281,   283,   285,   287,   289,   291,
969 <     293,   295,   297,   299,   301,   303,   305,   308,   313,   318,
970 <     323,   328,   333,   338,   343,   348,   353,   358,   363,   368,
971 <     373,   378,   383,   388,   393,   398,   399,   407,   408,   410,
972 <     413,   415,   417,   419,   421,   423,   425,   427,   429,   431,
973 <     434,   439,   441,   446,   451,   456,   461,   466,   467,   473,
965 >     154,   156,   158,   160,   162,   164,   166,   169,   174,   179,
966 >     183,   185,   187,   189,   193,   195,   197,   199,   204,   209,
967 >     214,   219,   224,   229,   234,   239,   244,   249,   254,   259,
968 >     264,   270,   273,   275,   277,   279,   281,   284,   289,   294,
969 >     299,   305,   308,   310,   312,   314,   317,   322,   323,   330,
970 >     333,   335,   337,   339,   341,   344,   349,   354,   359,   360,
971 >     366,   370,   372,   374,   376,   378,   380,   382,   384,   386,
972 >     387,   394,   397,   399,   401,   403,   405,   407,   409,   411,
973 >     413,   415,   418,   423,   428,   433,   438,   443,   448,   449,
974 >     455,   459,   461,   463,   465,   467,   469,   471,   473,   475,
975       477,   479,   481,   483,   485,   487,   489,   491,   493,   495,
976 <     497,   499,   501,   503,   505,   507,   509,   511,   513,   515,
977 <     517,   518,   524,   528,   530,   531,   535,   536,   539,   541,
978 <     543,   545,   547,   549,   551,   553,   555,   557,   559,   561,
979 <     563,   565,   567,   569,   571,   572,   580,   581,   583,   586,
980 <     588,   590,   592,   594,   596,   598,   600,   602,   604,   606,
981 <     608,   610,   612,   614,   617,   622,   624,   629,   634,   639,
982 <     644,   649,   654,   659,   664,   669,   674,   679,   684,   685,
983 <     692,   693,   699,   703,   705,   707,   709,   711,   714,   716,
984 <     718,   720,   722,   724,   727,   728,   734,   738,   740,   742,
985 <     746,   751,   756,   757,   764,   767,   769,   771,   773,   775,
986 <     777,   779,   781,   783,   785,   788,   793,   798,   803,   808,
987 <     809,   815,   819,   821,   822,   826,   827,   830,   832,   834,
988 <     836,   838,   840,   842,   844,   846,   848,   850,   855,   860,
989 <     865,   866,   873,   876,   878,   880,   882,   884,   887,   892,
990 <     897,   902,   903,   910,   913,   915,   917,   919,   921,   924,
991 <     929,   934,   935,   941,   945,   947,   949,   951,   953,   955,
992 <     957,   959,   961,   963,   965,   967,   969,   970,   977,   980,
993 <     982,   984,   986,   989,   994,   995,  1001,  1005,  1007,  1009,
994 <    1011,  1013,  1015,  1017,  1019,  1021,  1023,  1025,  1027,  1029,
995 <    1030,  1038,  1039,  1041,  1044,  1046,  1048,  1050,  1052,  1054,
996 <    1056,  1058,  1060,  1062,  1064,  1066,  1068,  1070,  1072,  1074,
997 <    1077,  1082,  1084,  1089,  1094,  1099,  1104,  1109,  1114,  1119,
998 <    1120,  1126,  1130,  1132,  1133,  1137,  1138,  1141,  1143,  1145,
999 <    1147,  1149,  1151,  1156,  1161,  1166,  1171,  1176,  1181,  1182,
1000 <    1189,  1190,  1196,  1200,  1202,  1204,  1207,  1209,  1211,  1213,
1001 <    1215,  1217,  1222,  1227,  1228,  1235,  1238,  1240,  1242,  1244,
1002 <    1246,  1251,  1256,  1262,  1265,  1267,  1269,  1271,  1276,  1277,
1003 <    1284,  1285,  1291,  1295,  1297,  1299,  1302,  1304,  1306,  1308,
1004 <    1310,  1312,  1317,  1322,  1328,  1331,  1333,  1335,  1337,  1339,
1005 <    1341,  1343,  1345,  1347,  1349,  1351,  1353,  1355,  1357,  1359,
1006 <    1361,  1363,  1365,  1367,  1369,  1371,  1373,  1375,  1377,  1379,
1007 <    1381,  1383,  1385,  1387,  1389,  1391,  1393,  1395,  1397,  1399,
1008 <    1401,  1403,  1405,  1407,  1409,  1411,  1413,  1415,  1417,  1419,
1009 <    1421,  1423,  1425,  1427,  1429,  1431,  1433,  1435,  1437,  1439,
1010 <    1441,  1443,  1445,  1450,  1455,  1460,  1465,  1470,  1475,  1480,
1011 <    1485,  1490,  1495,  1500,  1505,  1510,  1515,  1520,  1525,  1530,
1012 <    1535,  1540,  1545,  1550,  1555,  1560,  1565,  1570,  1575,  1580,
1013 <    1585,  1590,  1595,  1600,  1605,  1610,  1615,  1620,  1625,  1630,
1014 <    1635,  1640,  1645,  1650,  1655,  1660,  1665,  1670,  1675,  1680,
1015 <    1685,  1690,  1695,  1700,  1701,  1707,  1711,  1713,  1715,  1717,
1016 <    1719,  1721,  1723,  1725,  1727,  1729,  1731,  1733,  1735,  1737,
1017 <    1739,  1741,  1743,  1745,  1747,  1749,  1751,  1752,  1758,  1762,
1018 <    1764,  1766,  1768,  1770,  1772,  1774,  1776,  1778,  1780,  1782,
1019 <    1784,  1786,  1788,  1790,  1792,  1794,  1796,  1798,  1800,  1802,
1020 <    1807,  1812,  1817,  1822,  1823,  1830,  1833,  1835,  1837,  1839,
1021 <    1841,  1843,  1845,  1847,  1849,  1854,  1859,  1860,  1866,  1870,
1022 <    1872,  1874,  1876,  1881,  1886,  1887,  1893,  1897,  1899,  1901,
1110 <    1903,  1909,  1912,  1914,  1916,  1918,  1920,  1922,  1924,  1926,
1111 <    1928,  1930,  1932,  1934,  1936,  1938,  1940,  1942,  1944,  1946,
1112 <    1948,  1950,  1952,  1957,  1962,  1967,  1972,  1977,  1982,  1987,
1113 <    1992,  1997,  2002,  2007,  2012,  2017,  2022,  2027,  2032,  2037,
1114 <    2042,  2048,  2051,  2053,  2055,  2057,  2059,  2061,  2063,  2065,
1115 <    2067,  2069,  2074,  2079,  2084,  2089,  2094,  2099
976 >     497,   499,   501,   502,   508,   512,   514,   516,   518,   520,
977 >     522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
978 >     542,   544,   546,   548,   550,   552,   553,   560,   563,   565,
979 >     567,   569,   571,   573,   575,   577,   579,   581,   583,   585,
980 >     587,   589,   591,   593,   596,   601,   606,   611,   616,   621,
981 >     626,   631,   636,   641,   646,   651,   656,   661,   666,   667,
982 >     674,   675,   681,   685,   687,   689,   691,   693,   696,   698,
983 >     700,   702,   704,   706,   709,   710,   716,   720,   722,   724,
984 >     728,   733,   738,   739,   746,   749,   751,   753,   755,   757,
985 >     759,   761,   763,   765,   767,   770,   775,   780,   785,   790,
986 >     791,   797,   801,   803,   805,   807,   809,   811,   813,   815,
987 >     817,   819,   821,   826,   831,   836,   837,   844,   847,   849,
988 >     851,   853,   855,   858,   863,   868,   873,   879,   882,   884,
989 >     886,   888,   893,   894,   901,   904,   906,   908,   910,   912,
990 >     915,   920,   925,   926,   932,   936,   938,   940,   942,   944,
991 >     946,   948,   950,   952,   954,   956,   958,   959,   966,   969,
992 >     971,   973,   975,   978,   983,   984,   990,   994,   996,   998,
993 >    1000,  1002,  1004,  1006,  1008,  1010,  1012,  1014,  1016,  1017,
994 >    1024,  1027,  1029,  1031,  1033,  1035,  1037,  1039,  1041,  1043,
995 >    1045,  1047,  1049,  1051,  1053,  1055,  1058,  1063,  1068,  1073,
996 >    1078,  1083,  1088,  1093,  1098,  1099,  1105,  1109,  1111,  1113,
997 >    1115,  1120,  1125,  1130,  1135,  1140,  1141,  1148,  1149,  1155,
998 >    1159,  1161,  1163,  1166,  1168,  1170,  1172,  1174,  1176,  1181,
999 >    1186,  1187,  1194,  1197,  1199,  1201,  1203,  1205,  1210,  1215,
1000 >    1221,  1224,  1226,  1228,  1230,  1235,  1236,  1243,  1244,  1250,
1001 >    1254,  1256,  1258,  1261,  1263,  1265,  1267,  1269,  1271,  1276,
1002 >    1281,  1287,  1290,  1292,  1294,  1296,  1298,  1300,  1302,  1304,
1003 >    1306,  1308,  1310,  1312,  1314,  1316,  1318,  1320,  1322,  1324,
1004 >    1326,  1328,  1330,  1332,  1334,  1336,  1338,  1340,  1342,  1344,
1005 >    1346,  1348,  1350,  1352,  1354,  1356,  1358,  1360,  1362,  1364,
1006 >    1366,  1368,  1370,  1372,  1374,  1376,  1378,  1380,  1382,  1384,
1007 >    1386,  1388,  1390,  1392,  1394,  1396,  1398,  1403,  1408,  1413,
1008 >    1418,  1423,  1428,  1433,  1438,  1443,  1448,  1453,  1458,  1463,
1009 >    1468,  1473,  1478,  1483,  1488,  1493,  1498,  1503,  1508,  1513,
1010 >    1518,  1523,  1528,  1533,  1538,  1543,  1548,  1553,  1558,  1563,
1011 >    1568,  1573,  1578,  1583,  1588,  1593,  1598,  1603,  1608,  1613,
1012 >    1618,  1623,  1628,  1633,  1638,  1643,  1644,  1650,  1654,  1656,
1013 >    1658,  1660,  1662,  1664,  1666,  1668,  1670,  1672,  1674,  1676,
1014 >    1678,  1680,  1682,  1684,  1686,  1688,  1690,  1692,  1694,  1696,
1015 >    1697,  1703,  1707,  1709,  1711,  1713,  1715,  1717,  1719,  1721,
1016 >    1723,  1725,  1727,  1729,  1731,  1733,  1735,  1737,  1739,  1741,
1017 >    1743,  1745,  1747,  1749,  1754,  1759,  1764,  1770,  1773,  1775,
1018 >    1777,  1779,  1781,  1783,  1785,  1787,  1789,  1791,  1793,  1795,
1019 >    1797,  1799,  1801,  1803,  1805,  1810,  1815,  1820,  1825,  1830,
1020 >    1835,  1840,  1845,  1850,  1855,  1860,  1865,  1870,  1875,  1881,
1021 >    1884,  1886,  1888,  1890,  1892,  1894,  1896,  1898,  1900,  1905,
1022 >    1910,  1915,  1920,  1925
1023   };
1024  
1025   /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1026   static const yytype_int16 yyrhs[] =
1027   {
1028 <     266,     0,    -1,    -1,   266,   267,    -1,   295,    -1,   301,
1029 <      -1,   316,    -1,   552,    -1,   339,    -1,   358,    -1,   372,
1030 <      -1,   277,    -1,   573,    -1,   390,    -1,   397,    -1,   407,
1031 <      -1,   416,    -1,   442,    -1,   452,    -1,   458,    -1,   472,
1032 <      -1,   536,    -1,   462,    -1,   272,    -1,     1,   260,    -1,
1033 <       1,   261,    -1,    -1,   269,    -1,   131,   268,    -1,   131,
1034 <     173,   268,    -1,   131,   174,   268,    -1,   131,   175,   268,
1035 <      -1,   131,   176,   268,    -1,   131,   177,   268,    -1,    -1,
1036 <     271,    -1,   131,   270,    -1,   131,    14,   270,    -1,   131,
1037 <      15,   270,    -1,   131,    16,   270,    -1,   119,   262,   273,
1038 <     261,   260,    -1,   273,   274,    -1,   274,    -1,   275,    -1,
1039 <     276,    -1,     1,   260,    -1,   118,   263,   153,   260,    -1,
1040 <     148,   263,   153,   260,    -1,   181,   262,   278,   261,   260,
1041 <      -1,   278,   279,    -1,   279,    -1,   286,    -1,   291,    -1,
1042 <     294,    -1,   288,    -1,   289,    -1,   290,    -1,   293,    -1,
1043 <     285,    -1,   292,    -1,   287,    -1,   284,    -1,   280,    -1,
1044 <       1,   260,    -1,    -1,   168,   281,   263,   282,   260,    -1,
1045 <     282,   264,   283,    -1,   283,    -1,   169,    -1,   170,    -1,
1046 <     167,   263,   153,   260,    -1,   165,   263,   153,   260,    -1,
1047 <     120,   263,   153,   260,    -1,   183,   263,   153,   260,    -1,
1048 <      37,   263,   153,   260,    -1,   123,   263,   153,   260,    -1,
1049 <     122,   263,   153,   260,    -1,   255,   263,   153,   260,    -1,
1050 <     256,   263,   153,   260,    -1,   227,   263,   131,   260,    -1,
1051 <      84,   263,   197,   260,    -1,     5,   262,   296,   261,   260,
1052 <      -1,   296,   297,    -1,   297,    -1,   298,    -1,   300,    -1,
1053 <     299,    -1,     1,   260,    -1,   120,   263,   153,   260,    -1,
1054 <      47,   263,   153,   260,    -1,    37,   263,   153,   260,    -1,
1055 <     102,   262,   302,   261,   260,    -1,   302,   303,    -1,   303,
1056 <      -1,   304,    -1,   305,    -1,   314,    -1,   315,    -1,   306,
1057 <      -1,   308,    -1,   310,    -1,   311,    -1,   313,    -1,   309,
1058 <      -1,   312,    -1,   307,    -1,     1,   260,    -1,   219,   263,
1059 <     153,   260,    -1,   138,   263,   153,   260,    -1,    62,   263,
1060 <     153,   260,    -1,    55,   263,   153,   260,    -1,    60,   263,
1061 <     153,   260,    -1,    61,   263,   153,   260,    -1,    58,   263,
1062 <     153,   260,    -1,    57,   263,   153,   260,    -1,    59,   263,
1063 <     153,   260,    -1,    56,   263,   153,   260,    -1,   103,   263,
1064 <     220,   260,    -1,   103,   263,   222,   260,    -1,   103,   263,
1065 <     226,   260,    -1,   103,   263,   224,   260,    -1,   103,   263,
1066 <     225,   260,    -1,   103,   263,   223,   260,    -1,   103,   263,
1067 <     221,   260,    -1,   253,   263,   197,   260,    -1,    -1,   136,
1068 <     317,   318,   262,   319,   261,   260,    -1,    -1,   322,    -1,
1069 <     319,   320,    -1,   320,    -1,   321,    -1,   323,    -1,   324,
1070 <      -1,   328,    -1,   327,    -1,   325,    -1,   326,    -1,   332,
1071 <      -1,     1,   260,    -1,   120,   263,   153,   260,    -1,   153,
1072 <      -1,   248,   263,   153,   260,    -1,   147,   263,   153,   260,
1073 <      -1,    49,   263,   197,   260,    -1,   166,   263,   153,   260,
1074 <      -1,    26,   263,   153,   260,    -1,    -1,   236,   329,   263,
1075 <     330,   260,    -1,   330,   264,   331,    -1,   331,    -1,   204,
1076 <      -1,   207,    -1,   208,    -1,   210,    -1,   211,    -1,   214,
1077 <      -1,   233,    -1,   228,    -1,   230,    -1,   237,    -1,   234,
1078 <      -1,   213,    -1,   229,    -1,   232,    -1,   215,    -1,   240,
1079 <      -1,   205,    -1,   206,    -1,   218,    -1,    -1,    53,   333,
1080 <     263,   334,   260,    -1,   334,   264,   335,    -1,   335,    -1,
1081 <      -1,   130,   336,   338,    -1,    -1,   337,   338,    -1,    72,
1082 <      -1,   161,    -1,    92,    -1,   247,    -1,   257,    -1,    65,
1083 <      -1,    38,    -1,   159,    -1,     5,    -1,    77,    -1,   125,
1084 <      -1,   229,    -1,   141,    -1,    79,    -1,   162,    -1,    49,
1085 <      -1,    -1,    26,   340,   341,   262,   342,   261,   260,    -1,
1086 <      -1,   345,    -1,   342,   343,    -1,   343,    -1,   344,    -1,
1087 <     355,    -1,   356,    -1,   346,    -1,   347,    -1,   357,    -1,
1088 <     348,    -1,   349,    -1,   350,    -1,   351,    -1,   352,    -1,
1089 <     353,    -1,   354,    -1,     1,   260,    -1,   120,   263,   153,
1090 <     260,    -1,   153,    -1,   150,   263,   269,   260,    -1,   151,
1091 <     263,   269,   260,    -1,   134,   263,   131,   260,    -1,    30,
1092 <     263,   269,   260,    -1,   112,   263,   131,   260,    -1,   107,
1093 <     263,   131,   260,    -1,   109,   263,   131,   260,    -1,   108,
1094 <     263,   131,   260,    -1,   178,   263,   271,   260,    -1,    23,
1095 <     263,   131,   260,    -1,    24,   263,   131,   260,    -1,   133,
1096 <     263,   131,   260,    -1,    -1,   100,   359,   262,   364,   261,
1097 <     260,    -1,    -1,    53,   361,   263,   362,   260,    -1,   362,
1098 <     264,   363,    -1,   363,    -1,   235,    -1,    76,    -1,   231,
1099 <      -1,   364,   365,    -1,   365,    -1,   366,    -1,   360,    -1,
1100 <     370,    -1,   371,    -1,     1,   260,    -1,    -1,   152,   263,
1101 <     368,   367,   260,    -1,   368,   264,   369,    -1,   369,    -1,
1102 <     131,    -1,   131,   202,   131,    -1,    89,   263,   153,   260,
1103 <      -1,    83,   263,   153,   260,    -1,    -1,    73,   373,   262,
1104 <     374,   261,   260,    -1,   374,   375,    -1,   375,    -1,   376,
1105 <      -1,   377,    -1,   378,    -1,   380,    -1,   387,    -1,   388,
1106 <      -1,   389,    -1,   379,    -1,     1,   260,    -1,   248,   263,
1107 <     153,   260,    -1,   147,   263,   153,   260,    -1,    26,   263,
1108 <     153,   260,    -1,    49,   263,   197,   260,    -1,    -1,    53,
1109 <     381,   263,   382,   260,    -1,   382,   264,   383,    -1,   383,
1110 <      -1,    -1,   130,   384,   386,    -1,    -1,   385,   386,    -1,
1111 <     191,    -1,    50,    -1,    93,    -1,    74,    -1,    20,    -1,
1112 <      21,    -1,   129,    -1,    67,    -1,   172,    -1,   121,    -1,
1113 <     190,   263,   153,   260,    -1,   157,   263,   153,   260,    -1,
1114 <     156,   263,   131,   260,    -1,    -1,   171,   391,   262,   392,
1115 <     261,   260,    -1,   392,   393,    -1,   393,    -1,   394,    -1,
1116 <     395,    -1,   396,    -1,     1,   260,    -1,   155,   263,   153,
1117 <     260,    -1,    22,   263,   153,   260,    -1,   124,   263,   153,
1118 <     260,    -1,    -1,   185,   398,   262,   399,   261,   260,    -1,
1119 <     399,   400,    -1,   400,    -1,   401,    -1,   402,    -1,   403,
1120 <      -1,     1,   260,    -1,   120,   263,   153,   260,    -1,   248,
1121 <     263,   153,   260,    -1,    -1,   187,   404,   263,   405,   260,
1122 <      -1,   405,   264,   406,    -1,   406,    -1,    92,    -1,   244,
1123 <      -1,   247,    -1,   257,    -1,   245,    -1,   239,    -1,   171,
1124 <      -1,   246,    -1,   238,    -1,   218,    -1,   203,    -1,    -1,
1125 <     186,   408,   262,   409,   261,   260,    -1,   409,   410,    -1,
1126 <     410,    -1,   411,    -1,   412,    -1,     1,   260,    -1,   120,
1127 <     263,   153,   260,    -1,    -1,   187,   413,   263,   414,   260,
1128 <      -1,   414,   264,   415,    -1,   415,    -1,    92,    -1,   244,
1129 <      -1,   247,    -1,   257,    -1,   245,    -1,   239,    -1,   171,
1130 <      -1,   246,    -1,   238,    -1,   218,    -1,   203,    -1,    -1,
1131 <      29,   417,   418,   262,   419,   261,   260,    -1,    -1,   422,
1132 <      -1,   419,   420,    -1,   420,    -1,   421,    -1,   423,    -1,
1133 <     424,    -1,   425,    -1,   426,    -1,   428,    -1,   427,    -1,
1134 <     429,    -1,   438,    -1,   439,    -1,   440,    -1,   437,    -1,
1135 <     436,    -1,   441,    -1,     1,   260,    -1,   120,   263,   153,
1136 <     260,    -1,   153,    -1,    83,   263,   153,   260,    -1,   255,
1137 <     263,   153,   260,    -1,   179,   263,   153,   260,    -1,     3,
1138 <     263,   153,   260,    -1,   152,   263,   131,   260,    -1,     6,
1139 <     263,   216,   260,    -1,     6,   263,   217,   260,    -1,    -1,
1140 <      53,   430,   263,   431,   260,    -1,   431,   264,   432,    -1,
1141 <     432,    -1,    -1,   130,   433,   435,    -1,    -1,   434,   435,
1142 <      -1,    27,    -1,    31,    -1,    10,    -1,    12,    -1,   242,
1143 <      -1,   166,   263,   153,   260,    -1,    49,   263,   197,   260,
1144 <      -1,    85,   263,   153,   260,    -1,    98,   263,   153,   260,
1145 <      -1,    26,   263,   153,   260,    -1,    25,   263,   153,   260,
1146 <      -1,    -1,    90,   443,   262,   448,   261,   260,    -1,    -1,
1147 <     187,   445,   263,   446,   260,    -1,   446,   264,   447,    -1,
1148 <     447,    -1,   158,    -1,   448,   449,    -1,   449,    -1,   450,
1149 <      -1,   451,    -1,   444,    -1,     1,    -1,   248,   263,   153,
1150 <     260,    -1,   155,   263,   153,   260,    -1,    -1,    36,   453,
1151 <     262,   454,   261,   260,    -1,   454,   455,    -1,   455,    -1,
1152 <     456,    -1,   457,    -1,     1,    -1,    89,   263,   153,   260,
1153 <      -1,   155,   263,   153,   260,    -1,    51,   262,   459,   261,
1154 <     260,    -1,   459,   460,    -1,   460,    -1,   461,    -1,     1,
1155 <      -1,    89,   263,   153,   260,    -1,    -1,    63,   463,   262,
1156 <     468,   261,   260,    -1,    -1,   187,   465,   263,   466,   260,
1157 <      -1,   466,   264,   467,    -1,   467,    -1,   158,    -1,   468,
1158 <     469,    -1,   469,    -1,   470,    -1,   471,    -1,   464,    -1,
1159 <       1,    -1,   120,   263,   153,   260,    -1,   155,   263,   153,
1160 <     260,    -1,    64,   262,   473,   261,   260,    -1,   473,   474,
1161 <      -1,   474,    -1,   483,    -1,   484,    -1,   486,    -1,   487,
1162 <      -1,   488,    -1,   489,    -1,   490,    -1,   491,    -1,   492,
1163 <      -1,   493,    -1,   482,    -1,   495,    -1,   496,    -1,   497,
1164 <      -1,   498,    -1,   514,    -1,   500,    -1,   502,    -1,   504,
1165 <      -1,   503,    -1,   507,    -1,   501,    -1,   508,    -1,   509,
1166 <      -1,   510,    -1,   511,    -1,   513,    -1,   512,    -1,   528,
1167 <      -1,   515,    -1,   519,    -1,   520,    -1,   524,    -1,   505,
1168 <      -1,   506,    -1,   534,    -1,   532,    -1,   533,    -1,   516,
1169 <      -1,   485,    -1,   517,    -1,   518,    -1,   535,    -1,   523,
1170 <      -1,   494,    -1,   521,    -1,   522,    -1,   478,    -1,   481,
1171 <      -1,   476,    -1,   477,    -1,   479,    -1,   480,    -1,   499,
1172 <      -1,   475,    -1,     1,    -1,   114,   263,   131,   260,    -1,
1173 <      70,   263,   131,   260,    -1,    71,   263,   131,   260,    -1,
1174 <      12,   263,   197,   260,    -1,   254,   263,   197,   260,    -1,
1175 <     160,   263,   269,   260,    -1,   184,   263,   197,   260,    -1,
1176 <      91,   263,   269,   260,    -1,    82,   263,   197,   260,    -1,
1177 <      87,   263,   197,   260,    -1,    43,   263,   197,   260,    -1,
1178 <      52,   263,   197,   260,    -1,     8,   263,   197,   260,    -1,
1179 <     111,   263,   269,   260,    -1,   110,   263,   131,   260,    -1,
1180 <     104,   263,   131,   260,    -1,     9,   263,   269,   260,    -1,
1181 <     201,   263,   269,   260,    -1,   200,   263,   269,   260,    -1,
1182 <      75,   263,   131,   260,    -1,    95,   263,   197,   260,    -1,
1183 <      94,   263,   153,   260,    -1,    88,   263,   197,   260,    -1,
1184 <     259,   263,   197,   260,    -1,   192,   263,   197,   260,    -1,
1185 <     195,   263,   197,   260,    -1,   196,   263,   197,   260,    -1,
1186 <     194,   263,   197,   260,    -1,   194,   263,   198,   260,    -1,
1187 <     193,   263,   197,   260,    -1,   193,   263,   198,   260,    -1,
1188 <     145,   263,   269,   260,    -1,    19,   263,   269,   260,    -1,
1189 <     137,   263,   197,   260,    -1,   146,   263,   269,   260,    -1,
1190 <     188,   263,   197,   260,    -1,   128,   263,   197,   260,    -1,
1191 <     243,   263,   197,   260,    -1,   140,   263,   197,   260,    -1,
1192 <     115,   263,   153,   260,    -1,    86,   263,   269,   260,    -1,
1193 <      44,   263,   131,   260,    -1,   113,   263,   131,   260,    -1,
1194 <     182,   263,   153,   260,    -1,    32,   263,   153,   260,    -1,
1195 <      28,   263,   131,   260,    -1,   249,   263,   197,   260,    -1,
1196 <      46,   263,   153,   260,    -1,   149,   263,   197,   260,    -1,
1197 <      39,   263,   197,   260,    -1,   241,   263,   269,   260,    -1,
1198 <      -1,   142,   525,   263,   526,   260,    -1,   526,   264,   527,
1199 <      -1,   527,    -1,   204,    -1,   207,    -1,   208,    -1,   210,
1200 <      -1,   211,    -1,   214,    -1,   233,    -1,   228,    -1,   230,
1201 <      -1,   237,    -1,   234,    -1,   213,    -1,   229,    -1,   232,
1202 <      -1,   215,    -1,   240,    -1,   205,    -1,   206,    -1,   218,
1203 <      -1,    -1,   139,   529,   263,   530,   260,    -1,   530,   264,
1204 <     531,    -1,   531,    -1,   204,    -1,   207,    -1,   208,    -1,
1205 <     210,    -1,   211,    -1,   214,    -1,   233,    -1,   228,    -1,
1206 <     230,    -1,   237,    -1,   234,    -1,   213,    -1,   229,    -1,
1207 <     232,    -1,   215,    -1,   240,    -1,   205,    -1,   206,    -1,
1208 <     218,    -1,   116,   263,   131,   260,    -1,   117,   263,   131,
1209 <     260,    -1,    33,   263,   131,   260,    -1,   209,   263,   271,
1210 <     260,    -1,    -1,    66,   537,   262,   538,   261,   260,    -1,
1211 <     538,   539,    -1,   539,    -1,   540,    -1,   541,    -1,   542,
1212 <      -1,   546,    -1,   547,    -1,   548,    -1,     1,    -1,    48,
1213 <     263,   197,   260,    -1,    45,   263,   269,   260,    -1,    -1,
1214 <     102,   543,   263,   544,   260,    -1,   544,   264,   545,    -1,
1215 <     545,    -1,   199,    -1,    11,    -1,   248,   263,   153,   260,
1216 <      -1,   120,   263,   153,   260,    -1,    -1,     4,   549,   263,
1217 <     550,   260,    -1,   550,   264,   551,    -1,   551,    -1,   199,
1218 <      -1,    11,    -1,    22,   262,   553,   261,   260,    -1,   553,
1219 <     554,    -1,   554,    -1,   557,    -1,   558,    -1,   559,    -1,
1220 <     560,    -1,   565,    -1,   561,    -1,   562,    -1,   563,    -1,
1314 <     564,    -1,   566,    -1,   567,    -1,   568,    -1,   556,    -1,
1315 <     569,    -1,   570,    -1,   571,    -1,   572,    -1,   555,    -1,
1316 <       1,    -1,    40,   263,   197,   260,    -1,   163,   263,   197,
1317 <     260,    -1,    42,   263,   197,   260,    -1,   250,   263,   197,
1318 <     260,    -1,   251,   263,   197,   260,    -1,   252,   263,   197,
1319 <     260,    -1,    96,   263,   269,   260,    -1,    97,   263,   269,
1320 <     260,    -1,   106,   263,   131,   260,    -1,   154,   263,   197,
1321 <     260,    -1,   105,   263,   131,   260,    -1,    35,   263,   131,
1322 <     260,    -1,    34,   263,   131,   260,    -1,   126,   263,   197,
1323 <     260,    -1,   127,   263,   197,   260,    -1,    13,   263,   197,
1324 <     260,    -1,   143,   263,   131,   260,    -1,   144,   263,   269,
1325 <     260,    -1,   180,   262,   574,   261,   260,    -1,   574,   575,
1326 <      -1,   575,    -1,   576,    -1,   577,    -1,   579,    -1,   581,
1327 <      -1,   580,    -1,   578,    -1,   582,    -1,     1,    -1,    54,
1328 <     263,   197,   260,    -1,    81,   263,   197,   260,    -1,    78,
1329 <     263,   153,   260,    -1,    99,   263,   269,   260,    -1,    76,
1330 <     263,   197,   260,    -1,    41,   263,   197,   260,    -1,    80,
1331 <     263,   197,   260,    -1
1028 >     224,     0,    -1,    -1,   224,   225,    -1,   257,    -1,   263,
1029 >      -1,   277,    -1,   483,    -1,   295,    -1,   313,    -1,   327,
1030 >      -1,   235,    -1,   500,    -1,   342,    -1,   349,    -1,   353,
1031 >      -1,   363,    -1,   372,    -1,   392,    -1,   402,    -1,   408,
1032 >      -1,   422,    -1,   412,    -1,   230,    -1,     1,   218,    -1,
1033 >       1,   219,    -1,    -1,   227,    -1,   101,   226,    -1,   101,
1034 >     141,   226,    -1,   101,   142,   226,    -1,   101,   143,   226,
1035 >      -1,   101,   144,   226,    -1,   101,   145,   226,    -1,    -1,
1036 >     229,    -1,   101,   228,    -1,   101,     9,   228,    -1,   101,
1037 >      10,   228,    -1,   101,    11,   228,    -1,    90,   220,   231,
1038 >     219,   218,    -1,   231,   232,    -1,   232,    -1,   233,    -1,
1039 >     234,    -1,     1,   218,    -1,    89,   221,   120,   218,    -1,
1040 >     115,   221,   120,   218,    -1,   149,   220,   236,   219,   218,
1041 >      -1,   236,   237,    -1,   237,    -1,   248,    -1,   253,    -1,
1042 >     256,    -1,   250,    -1,   251,    -1,   252,    -1,   255,    -1,
1043 >     246,    -1,   245,    -1,   254,    -1,   249,    -1,   244,    -1,
1044 >     238,    -1,   239,    -1,   247,    -1,     1,   218,    -1,   135,
1045 >     221,   240,   218,    -1,   136,   221,   242,   218,    -1,   240,
1046 >     222,   241,    -1,   241,    -1,   137,    -1,   138,    -1,   242,
1047 >     222,   243,    -1,   243,    -1,   137,    -1,   138,    -1,   133,
1048 >     221,   120,   218,    -1,   131,   221,   120,   218,    -1,   134,
1049 >     221,   120,   218,    -1,   174,   221,   120,   218,    -1,    91,
1050 >     221,   120,   218,    -1,   150,   221,   120,   218,    -1,    24,
1051 >     221,   120,   218,    -1,    94,   221,   120,   218,    -1,    93,
1052 >     221,   120,   218,    -1,   212,   221,   120,   218,    -1,   213,
1053 >     221,   120,   218,    -1,   184,   221,   101,   218,    -1,    57,
1054 >     221,   163,   218,    -1,     4,   220,   258,   219,   218,    -1,
1055 >     258,   259,    -1,   259,    -1,   260,    -1,   262,    -1,   261,
1056 >      -1,     1,   218,    -1,    91,   221,   120,   218,    -1,    31,
1057 >     221,   120,   218,    -1,    24,   221,   120,   218,    -1,    73,
1058 >     220,   264,   219,   218,    -1,   264,   265,    -1,   265,    -1,
1059 >     266,    -1,   267,    -1,     1,   218,    -1,   211,   221,   163,
1060 >     218,    -1,    -1,   268,   217,   220,   269,   219,   218,    -1,
1061 >     269,   270,    -1,   270,    -1,   271,    -1,   273,    -1,   272,
1062 >      -1,     1,   218,    -1,    91,   221,   120,   218,    -1,   216,
1063 >     221,   229,   218,    -1,   216,   221,   198,   218,    -1,    -1,
1064 >     154,   274,   221,   275,   218,    -1,   275,   222,   276,    -1,
1065 >     276,    -1,   209,    -1,   104,    -1,    40,    -1,   177,    -1,
1066 >      64,    -1,    62,    -1,   176,    -1,    -1,   104,   278,   220,
1067 >     279,   219,   218,    -1,   279,   280,    -1,   280,    -1,   281,
1068 >      -1,   282,    -1,   283,    -1,   287,    -1,   286,    -1,   284,
1069 >      -1,   285,    -1,   291,    -1,     1,   218,    -1,    91,   221,
1070 >     120,   218,    -1,   209,   221,   120,   218,    -1,   114,   221,
1071 >     120,   218,    -1,    32,   221,   163,   218,    -1,   132,   221,
1072 >     120,   218,    -1,    17,   221,   120,   218,    -1,    -1,   195,
1073 >     288,   221,   289,   218,    -1,   289,   222,   290,    -1,   290,
1074 >      -1,   169,    -1,   172,    -1,   173,    -1,   175,    -1,   176,
1075 >      -1,   179,    -1,    51,    -1,   192,    -1,   185,    -1,   188,
1076 >      -1,   196,    -1,   193,    -1,   178,    -1,   186,    -1,   190,
1077 >      -1,   180,    -1,   202,    -1,   170,    -1,   171,    -1,   183,
1078 >      -1,    -1,    36,   292,   221,   293,   218,    -1,   293,   222,
1079 >     294,    -1,   294,    -1,    47,    -1,   128,    -1,    64,    -1,
1080 >     208,    -1,   177,    -1,   197,    -1,   214,    -1,    40,    -1,
1081 >      25,    -1,   203,    -1,   126,    -1,     4,    -1,    96,    -1,
1082 >     186,    -1,   201,    -1,   108,    -1,   129,    -1,   191,    -1,
1083 >      89,    -1,    -1,    17,   296,   220,   297,   219,   218,    -1,
1084 >     297,   298,    -1,   298,    -1,   299,    -1,   310,    -1,   311,
1085 >      -1,   300,    -1,   301,    -1,   312,    -1,   302,    -1,   303,
1086 >      -1,   304,    -1,   305,    -1,   306,    -1,   307,    -1,   308,
1087 >      -1,   309,    -1,     1,   218,    -1,    91,   221,   120,   218,
1088 >      -1,   117,   221,   227,   218,    -1,   118,   221,   227,   218,
1089 >      -1,   103,   221,   101,   218,    -1,    19,   221,   227,   218,
1090 >      -1,    83,   221,   101,   218,    -1,    78,   221,   101,   218,
1091 >      -1,    80,   221,   101,   218,    -1,    79,   221,   101,   218,
1092 >      -1,   146,   221,   229,   218,    -1,   187,   221,   229,   218,
1093 >      -1,    15,   221,   101,   218,    -1,    16,   221,   101,   218,
1094 >      -1,   102,   221,   101,   218,    -1,    -1,    72,   314,   220,
1095 >     319,   219,   218,    -1,    -1,    36,   316,   221,   317,   218,
1096 >      -1,   317,   222,   318,    -1,   318,    -1,   194,    -1,    51,
1097 >      -1,   189,    -1,   319,   320,    -1,   320,    -1,   321,    -1,
1098 >     315,    -1,   325,    -1,   326,    -1,     1,   218,    -1,    -1,
1099 >     119,   221,   323,   322,   218,    -1,   323,   222,   324,    -1,
1100 >     324,    -1,   101,    -1,   101,   167,   101,    -1,    61,   221,
1101 >     120,   218,    -1,    56,   221,   120,   218,    -1,    -1,    48,
1102 >     328,   220,   329,   219,   218,    -1,   329,   330,    -1,   330,
1103 >      -1,   331,    -1,   332,    -1,   333,    -1,   335,    -1,   339,
1104 >      -1,   340,    -1,   341,    -1,   334,    -1,     1,   218,    -1,
1105 >     209,   221,   120,   218,    -1,   114,   221,   120,   218,    -1,
1106 >      17,   221,   120,   218,    -1,    32,   221,   163,   218,    -1,
1107 >      -1,    36,   336,   221,   337,   218,    -1,   337,   222,   338,
1108 >      -1,   338,    -1,   157,    -1,    33,    -1,    65,    -1,    49,
1109 >      -1,    13,    -1,   100,    -1,    43,    -1,   140,    -1,    92,
1110 >      -1,   156,   221,   120,   218,    -1,   124,   221,   120,   218,
1111 >      -1,   123,   221,   101,   218,    -1,    -1,   139,   343,   220,
1112 >     344,   219,   218,    -1,   344,   345,    -1,   345,    -1,   346,
1113 >      -1,   347,    -1,   348,    -1,     1,   218,    -1,   122,   221,
1114 >     120,   218,    -1,    14,   221,   120,   218,    -1,    95,   221,
1115 >     120,   218,    -1,   204,   220,   350,   219,   218,    -1,   350,
1116 >     351,    -1,   351,    -1,   352,    -1,     1,    -1,    91,   221,
1117 >     120,   218,    -1,    -1,   152,   354,   220,   355,   219,   218,
1118 >      -1,   355,   356,    -1,   356,    -1,   357,    -1,   358,    -1,
1119 >     359,    -1,     1,   218,    -1,    91,   221,   120,   218,    -1,
1120 >     209,   221,   120,   218,    -1,    -1,   154,   360,   221,   361,
1121 >     218,    -1,   361,   222,   362,    -1,   362,    -1,    64,    -1,
1122 >     208,    -1,   177,    -1,   197,    -1,   214,    -1,   200,    -1,
1123 >     139,    -1,   199,    -1,   183,    -1,   168,    -1,    -1,   153,
1124 >     364,   220,   365,   219,   218,    -1,   365,   366,    -1,   366,
1125 >      -1,   367,    -1,   368,    -1,     1,   218,    -1,    91,   221,
1126 >     120,   218,    -1,    -1,   154,   369,   221,   370,   218,    -1,
1127 >     370,   222,   371,    -1,   371,    -1,    64,    -1,   208,    -1,
1128 >     177,    -1,   197,    -1,   214,    -1,   200,    -1,   139,    -1,
1129 >     199,    -1,   183,    -1,   168,    -1,    -1,    18,   373,   220,
1130 >     374,   219,   218,    -1,   374,   375,    -1,   375,    -1,   376,
1131 >      -1,   377,    -1,   378,    -1,   379,    -1,   380,    -1,   382,
1132 >      -1,   381,    -1,   391,    -1,   383,    -1,   388,    -1,   389,
1133 >      -1,   390,    -1,   387,    -1,     1,   218,    -1,    91,   221,
1134 >     120,   218,    -1,    56,   221,   120,   218,    -1,   212,   221,
1135 >     120,   218,    -1,   147,   221,   120,   218,    -1,     3,   221,
1136 >     120,   218,    -1,   119,   221,   101,   218,    -1,     5,   221,
1137 >     181,   218,    -1,     5,   221,   182,   218,    -1,    -1,    36,
1138 >     384,   221,   385,   218,    -1,   385,   222,   386,    -1,   386,
1139 >      -1,     8,    -1,   194,    -1,    32,   221,   163,   218,    -1,
1140 >      58,   221,   120,   218,    -1,    70,   221,   120,   218,    -1,
1141 >      17,   221,   120,   218,    -1,   174,   221,   120,   218,    -1,
1142 >      -1,    62,   393,   220,   398,   219,   218,    -1,    -1,   154,
1143 >     395,   221,   396,   218,    -1,   396,   222,   397,    -1,   397,
1144 >      -1,   125,    -1,   398,   399,    -1,   399,    -1,   400,    -1,
1145 >     401,    -1,   394,    -1,     1,    -1,   209,   221,   120,   218,
1146 >      -1,   122,   221,   120,   218,    -1,    -1,    23,   403,   220,
1147 >     404,   219,   218,    -1,   404,   405,    -1,   405,    -1,   406,
1148 >      -1,   407,    -1,     1,    -1,    61,   221,   120,   218,    -1,
1149 >     122,   221,   120,   218,    -1,    34,   220,   409,   219,   218,
1150 >      -1,   409,   410,    -1,   410,    -1,   411,    -1,     1,    -1,
1151 >      61,   221,   120,   218,    -1,    -1,    38,   413,   220,   418,
1152 >     219,   218,    -1,    -1,   154,   415,   221,   416,   218,    -1,
1153 >     416,   222,   417,    -1,   417,    -1,   125,    -1,   418,   419,
1154 >      -1,   419,    -1,   420,    -1,   421,    -1,   414,    -1,     1,
1155 >      -1,    91,   221,   120,   218,    -1,   122,   221,   120,   218,
1156 >      -1,    39,   220,   423,   219,   218,    -1,   423,   424,    -1,
1157 >     424,    -1,   434,    -1,   435,    -1,   437,    -1,   438,    -1,
1158 >     439,    -1,   440,    -1,   441,    -1,   442,    -1,   443,    -1,
1159 >     444,    -1,   433,    -1,   446,    -1,   447,    -1,   448,    -1,
1160 >     449,    -1,   464,    -1,   451,    -1,   453,    -1,   455,    -1,
1161 >     454,    -1,   458,    -1,   452,    -1,   459,    -1,   460,    -1,
1162 >     461,    -1,   462,    -1,   463,    -1,   476,    -1,   465,    -1,
1163 >     466,    -1,   467,    -1,   472,    -1,   456,    -1,   457,    -1,
1164 >     482,    -1,   480,    -1,   481,    -1,   436,    -1,   471,    -1,
1165 >     445,    -1,   469,    -1,   470,    -1,   432,    -1,   426,    -1,
1166 >     427,    -1,   428,    -1,   429,    -1,   430,    -1,   431,    -1,
1167 >     450,    -1,   425,    -1,   468,    -1,     1,    -1,    85,   221,
1168 >     101,   218,    -1,    42,   221,   163,   218,    -1,    41,   221,
1169 >     227,   218,    -1,    44,   221,   227,   218,    -1,    45,   221,
1170 >     101,   218,    -1,    46,   221,   101,   218,    -1,   127,   221,
1171 >     227,   218,    -1,   151,   221,   163,   218,    -1,    63,   221,
1172 >     227,   218,    -1,    55,   221,   163,   218,    -1,    59,   221,
1173 >     163,   218,    -1,    28,   221,   163,   218,    -1,    35,   221,
1174 >     163,   218,    -1,     6,   221,   163,   218,    -1,    82,   221,
1175 >     227,   218,    -1,    81,   221,   101,   218,    -1,    74,   221,
1176 >     101,   218,    -1,     7,   221,   227,   218,    -1,   166,   221,
1177 >     227,   218,    -1,   165,   221,   227,   218,    -1,    50,   221,
1178 >     101,   218,    -1,    67,   221,   163,   218,    -1,    66,   221,
1179 >     120,   218,    -1,    60,   221,   163,   218,    -1,   215,   221,
1180 >     163,   218,    -1,   158,   221,   163,   218,    -1,   161,   221,
1181 >     163,   218,    -1,   162,   221,   163,   218,    -1,   160,   221,
1182 >     163,   218,    -1,   160,   221,   164,   218,    -1,   159,   221,
1183 >     163,   218,    -1,   159,   221,   164,   218,    -1,   112,   221,
1184 >     227,   218,    -1,    12,   221,   227,   218,    -1,   105,   221,
1185 >     163,   218,    -1,   113,   221,   227,   218,    -1,   155,   221,
1186 >     163,   218,    -1,    99,   221,   163,   218,    -1,   207,   221,
1187 >     163,   218,    -1,   107,   221,   163,   218,    -1,    86,   221,
1188 >     120,   218,    -1,    29,   221,   101,   218,    -1,    84,   221,
1189 >     101,   218,    -1,   210,   221,   163,   218,    -1,    30,   221,
1190 >     120,   218,    -1,   205,   221,   120,   218,    -1,   116,   221,
1191 >     163,   218,    -1,    26,   221,   163,   218,    -1,   206,   221,
1192 >     227,   218,    -1,    -1,   109,   473,   221,   474,   218,    -1,
1193 >     474,   222,   475,    -1,   475,    -1,   169,    -1,   172,    -1,
1194 >     173,    -1,   175,    -1,   176,    -1,   179,    -1,    51,    -1,
1195 >     192,    -1,   185,    -1,   188,    -1,   196,    -1,   193,    -1,
1196 >     178,    -1,   186,    -1,   190,    -1,   180,    -1,   202,    -1,
1197 >     170,    -1,   171,    -1,   183,    -1,    -1,   106,   477,   221,
1198 >     478,   218,    -1,   478,   222,   479,    -1,   479,    -1,   169,
1199 >      -1,   172,    -1,   173,    -1,   175,    -1,   176,    -1,   179,
1200 >      -1,   192,    -1,    51,    -1,   185,    -1,   188,    -1,   196,
1201 >      -1,   193,    -1,   178,    -1,   186,    -1,   190,    -1,   180,
1202 >      -1,   202,    -1,   170,    -1,   171,    -1,   183,    -1,    87,
1203 >     221,   101,   218,    -1,    88,   221,   101,   218,    -1,    20,
1204 >     221,   101,   218,    -1,    14,   220,   484,   219,   218,    -1,
1205 >     484,   485,    -1,   485,    -1,   493,    -1,   488,    -1,   489,
1206 >      -1,   490,    -1,   491,    -1,   492,    -1,   494,    -1,   495,
1207 >      -1,   496,    -1,   487,    -1,   497,    -1,   498,    -1,   499,
1208 >      -1,   486,    -1,     1,    -1,    27,   221,   163,   218,    -1,
1209 >     130,   221,   163,   218,    -1,    68,   221,   227,   218,    -1,
1210 >      69,   221,   227,   218,    -1,    77,   221,   101,   218,    -1,
1211 >      76,   221,   101,   218,    -1,   121,   221,   163,   218,    -1,
1212 >      75,   221,   101,   218,    -1,    22,   221,   101,   218,    -1,
1213 >      21,   221,   101,   218,    -1,    97,   221,   163,   218,    -1,
1214 >      98,   221,   163,   218,    -1,   110,   221,   101,   218,    -1,
1215 >     111,   221,   227,   218,    -1,   148,   220,   501,   219,   218,
1216 >      -1,   501,   502,    -1,   502,    -1,   503,    -1,   504,    -1,
1217 >     506,    -1,   507,    -1,   505,    -1,   508,    -1,     1,    -1,
1218 >      37,   221,   163,   218,    -1,    54,   221,   163,   218,    -1,
1219 >      52,   221,   120,   218,    -1,    71,   221,   227,   218,    -1,
1220 >      51,   221,   163,   218,    -1,    53,   221,   163,   218,    -1
1221   };
1222  
1223   /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1224   static const yytype_uint16 yyrline[] =
1225   {
1226 <       0,   395,   395,   396,   399,   400,   401,   402,   403,   404,
1227 <     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
1228 <     415,   416,   417,   418,   419,   420,   424,   424,   425,   429,
1229 <     433,   437,   441,   445,   451,   451,   452,   453,   454,   455,
1230 <     462,   465,   465,   466,   466,   466,   468,   474,   481,   483,
1231 <     483,   484,   484,   485,   485,   486,   486,   487,   488,   488,
1232 <     489,   489,   490,   491,   495,   494,   513,   513,   514,   520,
1233 <     528,   562,   622,   637,   652,   661,   675,   684,   712,   742,
1234 <     765,   774,   776,   776,   777,   777,   778,   778,   780,   789,
1235 <     798,   811,   813,   814,   816,   816,   817,   818,   818,   819,
1236 <     819,   820,   820,   821,   821,   822,   823,   825,   829,   833,
1237 <     840,   847,   854,   861,   868,   875,   882,   889,   893,   897,
1238 <     901,   905,   909,   913,   919,   929,   928,  1022,  1022,  1023,
1239 <    1023,  1024,  1024,  1024,  1025,  1025,  1025,  1026,  1026,  1026,
1240 <    1028,  1040,  1052,  1086,  1098,  1109,  1151,  1161,  1160,  1166,
1241 <    1166,  1167,  1171,  1175,  1179,  1183,  1187,  1191,  1195,  1199,
1242 <    1203,  1207,  1211,  1215,  1219,  1223,  1227,  1231,  1235,  1239,
1243 <    1246,  1245,  1249,  1249,  1250,  1250,  1251,  1251,  1253,  1260,
1244 <    1267,  1274,  1281,  1288,  1295,  1302,  1309,  1316,  1323,  1330,
1245 <    1337,  1344,  1351,  1358,  1372,  1371,  1421,  1421,  1423,  1423,
1246 <    1424,  1425,  1425,  1426,  1427,  1428,  1429,  1430,  1431,  1432,
1247 <    1433,  1434,  1435,  1436,  1438,  1447,  1456,  1462,  1468,  1474,
1248 <    1480,  1486,  1492,  1498,  1504,  1510,  1516,  1522,  1532,  1531,
1249 <    1548,  1547,  1552,  1552,  1553,  1557,  1561,  1569,  1569,  1570,
1250 <    1570,  1570,  1570,  1570,  1572,  1572,  1574,  1574,  1576,  1590,
1251 <    1610,  1619,  1632,  1631,  1700,  1700,  1701,  1701,  1701,  1701,
1252 <    1702,  1702,  1702,  1703,  1703,  1705,  1742,  1755,  1764,  1776,
1253 <    1775,  1779,  1779,  1780,  1780,  1781,  1781,  1783,  1790,  1797,
1254 <    1804,  1811,  1818,  1825,  1832,  1839,  1846,  1856,  1875,  1885,
1255 <    1899,  1898,  1914,  1914,  1915,  1915,  1915,  1915,  1917,  1926,
1256 <    1941,  1955,  1954,  1970,  1970,  1971,  1971,  1971,  1971,  1973,
1257 <    1982,  2005,  2004,  2010,  2010,  2011,  2015,  2019,  2023,  2027,
1258 <    2031,  2035,  2039,  2043,  2047,  2051,  2061,  2060,  2077,  2077,
1259 <    2078,  2078,  2078,  2080,  2087,  2086,  2092,  2092,  2093,  2097,
1260 <    2101,  2105,  2109,  2113,  2117,  2121,  2125,  2129,  2133,  2143,
1261 <    2142,  2288,  2288,  2289,  2289,  2290,  2290,  2290,  2291,  2291,
1262 <    2292,  2292,  2293,  2293,  2293,  2294,  2294,  2295,  2295,  2296,
1263 <    2298,  2310,  2322,  2331,  2357,  2375,  2393,  2399,  2403,  2412,
1264 <    2411,  2415,  2415,  2416,  2416,  2417,  2417,  2419,  2430,  2437,
1265 <    2444,  2451,  2461,  2502,  2513,  2526,  2539,  2548,  2584,  2583,
1266 <    2647,  2646,  2650,  2650,  2651,  2657,  2657,  2658,  2658,  2658,
1267 <    2658,  2660,  2679,  2689,  2688,  2711,  2711,  2712,  2712,  2712,
1268 <    2714,  2720,  2729,  2731,  2731,  2732,  2732,  2734,  2753,  2752,
1269 <    2800,  2799,  2803,  2803,  2804,  2810,  2810,  2811,  2811,  2811,
1270 <    2811,  2813,  2819,  2828,  2831,  2831,  2832,  2832,  2833,  2833,
1271 <    2834,  2834,  2835,  2835,  2836,  2836,  2837,  2837,  2838,  2838,
1272 <    2839,  2839,  2840,  2840,  2841,  2841,  2842,  2842,  2843,  2843,
1273 <    2844,  2844,  2845,  2845,  2846,  2846,  2847,  2847,  2848,  2848,
1274 <    2849,  2849,  2850,  2850,  2851,  2851,  2852,  2853,  2853,  2854,
1275 <    2854,  2855,  2856,  2856,  2857,  2857,  2858,  2858,  2859,  2859,
1276 <    2860,  2861,  2864,  2869,  2874,  2879,  2884,  2889,  2894,  2899,
1277 <    2904,  2909,  2914,  2919,  2924,  2929,  2934,  2939,  2944,  2949,
1278 <    2954,  2960,  2971,  2976,  2985,  2990,  2995,  3000,  3005,  3010,
1279 <    3013,  3018,  3021,  3026,  3031,  3036,  3041,  3046,  3051,  3056,
1280 <    3061,  3066,  3077,  3082,  3087,  3092,  3101,  3133,  3151,  3156,
1281 <    3165,  3170,  3175,  3181,  3180,  3185,  3185,  3186,  3189,  3192,
1282 <    3195,  3198,  3201,  3204,  3207,  3210,  3213,  3216,  3219,  3222,
1283 <    3225,  3228,  3231,  3234,  3237,  3240,  3246,  3245,  3250,  3250,
1284 <    3251,  3254,  3257,  3260,  3263,  3266,  3269,  3272,  3275,  3278,
1285 <    3281,  3284,  3287,  3290,  3293,  3296,  3299,  3302,  3305,  3310,
1286 <    3315,  3320,  3325,  3335,  3334,  3358,  3358,  3359,  3360,  3361,
1287 <    3362,  3363,  3364,  3365,  3367,  3373,  3380,  3379,  3384,  3384,
1288 <    3385,  3389,  3395,  3429,  3439,  3438,  3488,  3488,  3489,  3493,
1289 <    3502,  3505,  3505,  3506,  3506,  3507,  3507,  3508,  3508,  3509,
1401 <    3509,  3510,  3510,  3511,  3512,  3512,  3513,  3513,  3514,  3514,
1402 <    3515,  3515,  3517,  3522,  3527,  3532,  3537,  3542,  3547,  3552,
1403 <    3557,  3562,  3567,  3572,  3577,  3582,  3587,  3592,  3597,  3602,
1404 <    3610,  3613,  3613,  3614,  3614,  3615,  3616,  3617,  3617,  3618,
1405 <    3619,  3621,  3627,  3633,  3642,  3656,  3662,  3668
1226 >       0,   333,   333,   334,   337,   338,   339,   340,   341,   342,
1227 >     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
1228 >     353,   354,   355,   356,   357,   358,   362,   362,   363,   367,
1229 >     371,   375,   379,   383,   389,   389,   390,   391,   392,   393,
1230 >     400,   403,   403,   404,   404,   404,   406,   412,   419,   421,
1231 >     421,   422,   422,   423,   423,   424,   424,   425,   425,   426,
1232 >     426,   427,   427,   428,   428,   429,   430,   433,   434,   436,
1233 >     436,   437,   443,   451,   451,   452,   458,   466,   505,   564,
1234 >     592,   600,   615,   630,   639,   653,   662,   690,   720,   743,
1235 >     752,   754,   754,   755,   755,   756,   756,   758,   767,   776,
1236 >     788,   789,   789,   791,   791,   792,   794,   801,   801,   811,
1237 >     812,   814,   814,   815,   815,   817,   822,   825,   831,   830,
1238 >     836,   836,   837,   841,   845,   849,   853,   857,   861,   872,
1239 >     871,   969,   969,   970,   970,   970,   971,   971,   971,   972,
1240 >     972,   972,   974,   983,  1020,  1032,  1043,  1085,  1095,  1094,
1241 >    1100,  1100,  1101,  1105,  1109,  1113,  1117,  1121,  1125,  1129,
1242 >    1133,  1137,  1141,  1145,  1149,  1153,  1157,  1161,  1165,  1169,
1243 >    1173,  1177,  1184,  1183,  1189,  1189,  1190,  1194,  1198,  1202,
1244 >    1206,  1210,  1214,  1218,  1222,  1226,  1230,  1234,  1238,  1242,
1245 >    1246,  1250,  1254,  1258,  1262,  1273,  1272,  1322,  1322,  1323,
1246 >    1324,  1324,  1325,  1326,  1327,  1328,  1329,  1330,  1331,  1332,
1247 >    1333,  1334,  1334,  1335,  1337,  1346,  1352,  1358,  1364,  1370,
1248 >    1376,  1382,  1388,  1394,  1400,  1407,  1413,  1419,  1429,  1428,
1249 >    1445,  1444,  1449,  1449,  1450,  1454,  1458,  1466,  1466,  1467,
1250 >    1467,  1467,  1467,  1467,  1469,  1469,  1471,  1471,  1473,  1487,
1251 >    1507,  1516,  1529,  1528,  1597,  1597,  1598,  1598,  1598,  1598,
1252 >    1599,  1599,  1599,  1600,  1600,  1602,  1637,  1650,  1659,  1671,
1253 >    1670,  1674,  1674,  1675,  1679,  1683,  1687,  1691,  1695,  1699,
1254 >    1703,  1707,  1713,  1732,  1742,  1756,  1755,  1771,  1771,  1772,
1255 >    1772,  1772,  1772,  1774,  1783,  1798,  1811,  1813,  1813,  1814,
1256 >    1814,  1816,  1832,  1831,  1847,  1847,  1848,  1848,  1848,  1848,
1257 >    1850,  1859,  1882,  1881,  1887,  1887,  1888,  1892,  1896,  1900,
1258 >    1904,  1908,  1912,  1916,  1920,  1924,  1934,  1933,  1950,  1950,
1259 >    1951,  1951,  1951,  1953,  1960,  1959,  1965,  1965,  1966,  1970,
1260 >    1974,  1978,  1982,  1986,  1990,  1994,  1998,  2002,  2012,  2011,
1261 >    2062,  2062,  2063,  2063,  2063,  2064,  2064,  2065,  2065,  2065,
1262 >    2066,  2066,  2066,  2067,  2067,  2068,  2070,  2079,  2088,  2114,
1263 >    2132,  2150,  2156,  2160,  2169,  2168,  2172,  2172,  2173,  2177,
1264 >    2183,  2194,  2205,  2216,  2225,  2244,  2243,  2309,  2308,  2312,
1265 >    2312,  2313,  2319,  2319,  2320,  2320,  2320,  2320,  2322,  2341,
1266 >    2351,  2350,  2375,  2375,  2376,  2376,  2376,  2378,  2384,  2393,
1267 >    2395,  2395,  2396,  2396,  2398,  2417,  2416,  2464,  2463,  2467,
1268 >    2467,  2468,  2474,  2474,  2475,  2475,  2475,  2475,  2477,  2483,
1269 >    2492,  2495,  2495,  2496,  2496,  2497,  2497,  2498,  2498,  2499,
1270 >    2499,  2500,  2500,  2501,  2501,  2502,  2502,  2503,  2503,  2504,
1271 >    2504,  2505,  2505,  2506,  2506,  2507,  2507,  2508,  2508,  2509,
1272 >    2510,  2510,  2511,  2511,  2512,  2512,  2513,  2513,  2514,  2514,
1273 >    2515,  2516,  2516,  2517,  2518,  2519,  2519,  2520,  2520,  2521,
1274 >    2522,  2523,  2523,  2524,  2524,  2525,  2528,  2533,  2539,  2545,
1275 >    2551,  2556,  2561,  2566,  2571,  2576,  2581,  2586,  2591,  2596,
1276 >    2601,  2606,  2611,  2616,  2621,  2626,  2632,  2643,  2648,  2657,
1277 >    2662,  2667,  2672,  2677,  2682,  2685,  2690,  2693,  2698,  2703,
1278 >    2708,  2713,  2718,  2723,  2728,  2733,  2738,  2749,  2754,  2759,
1279 >    2764,  2773,  2782,  2787,  2792,  2798,  2797,  2802,  2802,  2803,
1280 >    2806,  2809,  2812,  2815,  2818,  2821,  2824,  2827,  2830,  2833,
1281 >    2836,  2839,  2842,  2845,  2848,  2851,  2854,  2857,  2860,  2866,
1282 >    2865,  2870,  2870,  2871,  2874,  2877,  2880,  2883,  2886,  2889,
1283 >    2892,  2895,  2898,  2901,  2904,  2907,  2910,  2913,  2916,  2919,
1284 >    2922,  2925,  2928,  2933,  2938,  2943,  2952,  2955,  2955,  2956,
1285 >    2957,  2957,  2958,  2958,  2959,  2959,  2960,  2961,  2961,  2962,
1286 >    2963,  2963,  2964,  2964,  2966,  2971,  2976,  2981,  2986,  2991,
1287 >    2996,  3001,  3006,  3011,  3016,  3021,  3026,  3031,  3039,  3042,
1288 >    3042,  3043,  3043,  3044,  3045,  3045,  3046,  3047,  3049,  3055,
1289 >    3061,  3070,  3084,  3090
1290   };
1291   #endif
1292  
1293 < #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1293 > #if YYDEBUG || YYERROR_VERBOSE || 0
1294   /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1295     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1296   static const char *const yytname[] =
1297   {
1298 <  "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ACTION", "ADMIN",
1299 <  "AFTYPE", "T_ALLOW", "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME",
1300 <  "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BURST_TOPICWHO", "BYTES", "KBYTES",
1301 <  "MBYTES", "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CAN_IDLE",
1302 <  "CHANNEL", "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CIPHER_PREFERENCE",
1303 <  "CLASS", "COMPRESSED", "COMPRESSION_LEVEL", "CONNECT", "CONNECTFREQ",
1304 <  "CRYPTLINK", "DEFAULT_CIPHER_PREFERENCE", "DEFAULT_FLOODCOUNT",
1305 <  "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1306 <  "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1307 <  "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS", "DISABLE_REMOTE_COMMANDS",
1308 <  "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH", "EMAIL", "ENABLE",
1425 <  "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE",
1426 <  "IRCD_FLAGS", "FLATTEN_LINKS", "FFAILED_OPERLOG", "FKILLLOG",
1427 <  "FKLINELOG", "FGLINELOG", "FIOERRLOG", "FOPERLOG", "FOPERSPYLOG",
1428 <  "FUSERLOG", "GECOS", "GENERAL", "GLINE", "GLINES", "GLINE_EXEMPT",
1429 <  "GLINE_LOG", "GLINE_TIME", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1298 >  "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ADMIN", "AFTYPE",
1299 >  "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1300 >  "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1301 >  "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1302 >  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1303 >  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1304 >  "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1305 >  "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1306 >  "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1307 >  "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT",
1308 >  "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1309    "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1310 <  "HIDDEN_ADMIN", "HIDDEN_NAME", "HIDDEN_OPER", "HIDE_SERVER_IPS",
1311 <  "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK", "IDLETIME",
1312 <  "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "KILL",
1313 <  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KLINE_REASON",
1314 <  "KLINE_WITH_REASON", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1315 <  "LINKS_DELAY", "LISTEN", "T_LOG", "LOGGING", "LOG_LEVEL", "MAX_ACCEPT",
1316 <  "MAX_BANS", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1317 <  "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1318 <  "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1319 <  "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1320 <  "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1321 <  "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1322 <  "NOT", "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1323 <  "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID", "OPER_LOG",
1324 <  "OPER_ONLY_UMODES", "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES",
1325 <  "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE",
1326 <  "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT",
1327 <  "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T",
1328 <  "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",
1329 <  "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",
1451 <  "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "T_SSL_CONNECTION_METHOD",
1310 >  "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SPOOF_IPS",
1311 >  "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1312 >  "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT",
1313 >  "KLINE_REASON", "KLINE_WITH_REASON", "KNOCK_DELAY",
1314 >  "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY", "LISTEN", "T_LOG",
1315 >  "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER",
1316 >  "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL", "MAX_NICK_CHANGES",
1317 >  "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS", "MAX_WATCH",
1318 >  "MESSAGE_LOCALE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", "MODULE",
1319 >  "MODULES", "NAME", "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME",
1320 >  "NICK", "NICK_CHANGES", "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT",
1321 >  "NO_OPER_FLOOD", "NO_TILDE", "NUMBER", "NUMBER_PER_CIDR",
1322 >  "NUMBER_PER_IP", "OPERATOR", "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES",
1323 >  "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT",
1324 >  "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH",
1325 >  "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT", "QSTRING",
1326 >  "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T", "REHASH",
1327 >  "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN", "RESTRICT_CHANNELS",
1328 >  "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE",
1329 >  "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD",
1330    "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES",
1331    "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD", "SERVERHIDE",
1332 <  "SERVERINFO", "SERVLINK_PATH", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1333 <  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SILENT", "SPOOF",
1334 <  "SPOOF_NOTICE", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1335 <  "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL",
1336 <  "TMASKED", "T_REJECT", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS",
1337 <  "T_ALL", "T_BOTS", "T_SOFTCALLERID", "T_CALLERID", "T_CCONN",
1338 <  "T_CCONN_FULL", "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DRONE",
1339 <  "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1340 <  "T_LOGPATH", "T_L_CRIT", "T_L_DEBUG", "T_L_ERROR", "T_L_INFO",
1341 <  "T_L_NOTICE", "T_L_TRACE", "T_L_WARN", "T_MAX_CLIENTS", "T_NCHANGE",
1342 <  "T_OPERWALL", "T_REJ", "T_SERVER", "T_SERVNOTICE", "T_SKILL", "T_SPY",
1343 <  "T_SSL", "T_UMODES", "T_UNAUTH", "T_UNRESV", "T_UNXLINE", "T_WALLOP",
1344 <  "THROTTLE_TIME", "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE",
1345 <  "TRESV", "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX",
1346 <  "USE_KNOCK", "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6",
1347 <  "XLINE", "WARN", "WARN_NO_NLINE", "';'", "'}'", "'{'", "'='", "','",
1348 <  "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1349 <  "sizespec", "modules_entry", "modules_items", "modules_item",
1350 <  "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1351 <  "serverinfo_item", "serverinfo_ssl_connection_method", "$@1",
1352 <  "method_types", "method_type_item", "serverinfo_ssl_certificate_file",
1353 <  "serverinfo_rsa_private_key_file", "serverinfo_name", "serverinfo_sid",
1332 >  "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES", "T_SHARED",
1333 >  "T_CLUSTER", "TYPE", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1334 >  "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY",
1335 >  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED",
1336 >  "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1337 >  "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1338 >  "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1339 >  "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS",
1340 >  "T_NCHANGE", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_SERVER",
1341 >  "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1342 >  "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE",
1343 >  "T_GLOBOPS", "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME",
1344 >  "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD", "UNKLINE", "USER", "USE_EGD",
1345 >  "USE_LOGGING", "VHOST", "VHOST6", "XLINE", "WARN_NO_NLINE", "T_SIZE",
1346 >  "T_FILE", "';'", "'}'", "'{'", "'='", "','", "$accept", "conf",
1347 >  "conf_item", "timespec_", "timespec", "sizespec_", "sizespec",
1348 >  "modules_entry", "modules_items", "modules_item", "modules_module",
1349 >  "modules_path", "serverinfo_entry", "serverinfo_items",
1350 >  "serverinfo_item", "serverinfo_ssl_client_method",
1351 >  "serverinfo_ssl_server_method", "client_method_types",
1352 >  "client_method_type_item", "server_method_types",
1353 >  "server_method_type_item", "serverinfo_ssl_certificate_file",
1354 >  "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1355 >  "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1356    "serverinfo_description", "serverinfo_network_name",
1357    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1358    "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1359    "admin_item", "admin_name", "admin_email", "admin_description",
1360 <  "logging_entry", "logging_items", "logging_item", "logging_path",
1361 <  "logging_oper_log", "logging_fuserlog", "logging_ffailed_operlog",
1362 <  "logging_foperlog", "logging_foperspylog", "logging_fglinelog",
1363 <  "logging_fklinelog", "logging_ioerrlog", "logging_killlog",
1364 <  "logging_log_level", "logging_use_logging", "oper_entry", "$@2",
1365 <  "oper_name_b", "oper_items", "oper_item", "oper_name", "oper_name_t",
1366 <  "oper_user", "oper_password", "oper_encrypted",
1367 <  "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@3",
1368 <  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@4",
1489 <  "oper_flags_items", "oper_flags_item", "$@5", "$@6",
1490 <  "oper_flags_item_atom", "class_entry", "$@7", "class_name_b",
1491 <  "class_items", "class_item", "class_name", "class_name_t",
1360 >  "logging_entry", "logging_items", "logging_item", "logging_use_logging",
1361 >  "logging_file_entry", "$@1", "logging_file_items", "logging_file_item",
1362 >  "logging_file_name", "logging_file_size", "logging_file_type", "$@2",
1363 >  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@3",
1364 >  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1365 >  "oper_encrypted", "oper_rsa_public_key_file", "oper_class",
1366 >  "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1367 >  "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1368 >  "class_entry", "$@6", "class_items", "class_item", "class_name",
1369    "class_ping_time", "class_ping_warning", "class_number_per_ip",
1370    "class_connectfreq", "class_max_number", "class_max_global",
1371 <  "class_max_local", "class_max_ident", "class_sendq",
1371 >  "class_max_local", "class_max_ident", "class_sendq", "class_recvq",
1372    "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1373 <  "class_number_per_cidr", "listen_entry", "$@8", "listen_flags", "$@9",
1373 >  "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1374    "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1375 <  "listen_port", "$@10", "port_items", "port_item", "listen_address",
1376 <  "listen_host", "auth_entry", "$@11", "auth_items", "auth_item",
1375 >  "listen_port", "$@9", "port_items", "port_item", "listen_address",
1376 >  "listen_host", "auth_entry", "$@10", "auth_items", "auth_item",
1377    "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1378 <  "$@12", "auth_flags_items", "auth_flags_item", "$@13", "$@14",
1379 <  "auth_flags_item_atom", "auth_spoof", "auth_redir_serv",
1380 <  "auth_redir_port", "resv_entry", "$@15", "resv_items", "resv_item",
1381 <  "resv_creason", "resv_channel", "resv_nick", "shared_entry", "$@16",
1382 <  "shared_items", "shared_item", "shared_name", "shared_user",
1383 <  "shared_type", "$@17", "shared_types", "shared_type_item",
1384 <  "cluster_entry", "$@18", "cluster_items", "cluster_item", "cluster_name",
1385 <  "cluster_type", "$@19", "cluster_types", "cluster_type_item",
1386 <  "connect_entry", "$@20", "connect_name_b", "connect_items",
1387 <  "connect_item", "connect_name", "connect_name_t", "connect_host",
1388 <  "connect_vhost", "connect_send_password", "connect_accept_password",
1389 <  "connect_port", "connect_aftype", "connect_flags", "$@21",
1513 <  "connect_flags_items", "connect_flags_item", "$@22", "$@23",
1514 <  "connect_flags_item_atom", "connect_rsa_public_key_file",
1378 >  "$@11", "auth_flags_items", "auth_flags_item", "auth_spoof",
1379 >  "auth_redir_serv", "auth_redir_port", "resv_entry", "$@12", "resv_items",
1380 >  "resv_item", "resv_creason", "resv_channel", "resv_nick",
1381 >  "service_entry", "service_items", "service_item", "service_name",
1382 >  "shared_entry", "$@13", "shared_items", "shared_item", "shared_name",
1383 >  "shared_user", "shared_type", "$@14", "shared_types", "shared_type_item",
1384 >  "cluster_entry", "$@15", "cluster_items", "cluster_item", "cluster_name",
1385 >  "cluster_type", "$@16", "cluster_types", "cluster_type_item",
1386 >  "connect_entry", "$@17", "connect_items", "connect_item", "connect_name",
1387 >  "connect_host", "connect_vhost", "connect_send_password",
1388 >  "connect_accept_password", "connect_port", "connect_aftype",
1389 >  "connect_flags", "$@18", "connect_flags_items", "connect_flags_item",
1390    "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1391 <  "connect_class", "connect_cipher_preference", "kill_entry", "$@24",
1392 <  "kill_type", "$@25", "kill_type_items", "kill_type_item", "kill_items",
1393 <  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@26",
1391 >  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@19",
1392 >  "kill_type", "$@20", "kill_type_items", "kill_type_item", "kill_items",
1393 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@21",
1394    "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1395 <  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@27",
1396 <  "gecos_flags", "$@28", "gecos_flags_items", "gecos_flags_item",
1395 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@22",
1396 >  "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1397    "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1398    "general_entry", "general_items", "general_item", "general_max_watch",
1399 <  "general_gline_min_cidr", "general_gline_min_cidr6",
1400 <  "general_burst_away", "general_use_whois_actually",
1401 <  "general_reject_hold_time", "general_tkline_expire_notices",
1402 <  "general_kill_chase_time_limit", "general_hide_spoof_ips",
1403 <  "general_ignore_bogus_ts", "general_disable_remote_commands",
1404 <  "general_failed_oper_notice", "general_anti_nick_flood",
1405 <  "general_max_nick_time", "general_max_nick_changes",
1406 <  "general_max_accept", "general_anti_spam_exit_message_time",
1407 <  "general_ts_warn_delta", "general_ts_max_delta",
1408 <  "general_havent_read_conf", "general_kline_with_reason",
1409 <  "general_kline_reason", "general_invisible_on_connect",
1410 <  "general_warn_no_nline", "general_stats_e_disabled",
1411 <  "general_stats_o_oper_only", "general_stats_P_oper_only",
1412 <  "general_stats_k_oper_only", "general_stats_i_oper_only",
1413 <  "general_pace_wait", "general_caller_id_wait",
1414 <  "general_opers_bypass_callerid", "general_pace_wait_simple",
1415 <  "general_short_motd", "general_no_oper_flood",
1416 <  "general_true_no_oper_flood", "general_oper_pass_resv",
1417 <  "general_message_locale", "general_idletime", "general_dots_in_ident",
1418 <  "general_max_targets", "general_servlink_path",
1419 <  "general_default_cipher_preference", "general_compression_level",
1545 <  "general_use_egd", "general_egdpool_path", "general_ping_cookie",
1399 >  "general_gline_enable", "general_gline_duration",
1400 >  "general_gline_request_duration", "general_gline_min_cidr",
1401 >  "general_gline_min_cidr6", "general_reject_hold_time",
1402 >  "general_tkline_expire_notices", "general_kill_chase_time_limit",
1403 >  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1404 >  "general_disable_remote_commands", "general_failed_oper_notice",
1405 >  "general_anti_nick_flood", "general_max_nick_time",
1406 >  "general_max_nick_changes", "general_max_accept",
1407 >  "general_anti_spam_exit_message_time", "general_ts_warn_delta",
1408 >  "general_ts_max_delta", "general_havent_read_conf",
1409 >  "general_kline_with_reason", "general_kline_reason",
1410 >  "general_invisible_on_connect", "general_warn_no_nline",
1411 >  "general_stats_e_disabled", "general_stats_o_oper_only",
1412 >  "general_stats_P_oper_only", "general_stats_k_oper_only",
1413 >  "general_stats_i_oper_only", "general_pace_wait",
1414 >  "general_caller_id_wait", "general_opers_bypass_callerid",
1415 >  "general_pace_wait_simple", "general_short_motd",
1416 >  "general_no_oper_flood", "general_true_no_oper_flood",
1417 >  "general_oper_pass_resv", "general_message_locale",
1418 >  "general_dots_in_ident", "general_max_targets", "general_use_egd",
1419 >  "general_egdpool_path", "general_services_name", "general_ping_cookie",
1420    "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1421 <  "$@29", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1422 <  "$@30", "umode_items", "umode_item", "general_min_nonwildcard",
1421 >  "$@24", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1422 >  "$@25", "umode_items", "umode_item", "general_min_nonwildcard",
1423    "general_min_nonwildcard_simple", "general_default_floodcount",
1550  "general_client_flood", "gline_entry", "$@31", "gline_items",
1551  "gline_item", "gline_enable", "gline_duration", "gline_logging", "$@32",
1552  "gline_logging_types", "gline_logging_type_item", "gline_user",
1553  "gline_server", "gline_action", "$@33", "gdeny_types", "gdeny_type_item",
1424    "channel_entry", "channel_items", "channel_item",
1425    "channel_disable_fake_channels", "channel_restrict_channels",
1426 <  "channel_disable_local_channels", "channel_use_except",
1427 <  "channel_use_invex", "channel_use_knock", "channel_knock_delay",
1558 <  "channel_knock_delay_channel", "channel_max_chans_per_user",
1426 >  "channel_knock_delay", "channel_knock_delay_channel",
1427 >  "channel_max_chans_per_user", "channel_max_chans_per_oper",
1428    "channel_quiet_on_ban", "channel_max_bans",
1429    "channel_default_split_user_count", "channel_default_split_server_count",
1430    "channel_no_create_on_split", "channel_no_join_on_split",
1431 <  "channel_burst_topicwho", "channel_jflood_count", "channel_jflood_time",
1432 <  "serverhide_entry", "serverhide_items", "serverhide_item",
1433 <  "serverhide_flatten_links", "serverhide_hide_servers",
1434 <  "serverhide_hidden_name", "serverhide_links_delay", "serverhide_hidden",
1435 <  "serverhide_disable_hidden", "serverhide_hide_server_ips", 0
1431 >  "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1432 >  "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1433 >  "serverhide_hide_servers", "serverhide_hidden_name",
1434 >  "serverhide_links_delay", "serverhide_hidden",
1435 >  "serverhide_hide_server_ips", YY_NULL
1436   };
1437   #endif
1438  
# Line 1593 | Line 1462 | static const yytype_uint16 yytoknum[] =
1462       435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1463       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1464       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1465 <     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1466 <     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1598 <     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1599 <     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
1600 <     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
1601 <      59,   125,   123,    61,    44
1465 >     465,   466,   467,   468,   469,   470,   471,   472,    59,   125,
1466 >     123,    61,    44
1467   };
1468   # endif
1469  
1470   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1471   static const yytype_uint16 yyr1[] =
1472   {
1473 <       0,   265,   266,   266,   267,   267,   267,   267,   267,   267,
1474 <     267,   267,   267,   267,   267,   267,   267,   267,   267,   267,
1475 <     267,   267,   267,   267,   267,   267,   268,   268,   269,   269,
1476 <     269,   269,   269,   269,   270,   270,   271,   271,   271,   271,
1477 <     272,   273,   273,   274,   274,   274,   275,   276,   277,   278,
1478 <     278,   279,   279,   279,   279,   279,   279,   279,   279,   279,
1479 <     279,   279,   279,   279,   281,   280,   282,   282,   283,   283,
1480 <     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
1481 <     294,   295,   296,   296,   297,   297,   297,   297,   298,   299,
1482 <     300,   301,   302,   302,   303,   303,   303,   303,   303,   303,
1483 <     303,   303,   303,   303,   303,   303,   303,   304,   305,   306,
1484 <     307,   308,   309,   310,   311,   312,   313,   314,   314,   314,
1485 <     314,   314,   314,   314,   315,   317,   316,   318,   318,   319,
1486 <     319,   320,   320,   320,   320,   320,   320,   320,   320,   320,
1487 <     321,   322,   323,   324,   325,   326,   327,   329,   328,   330,
1488 <     330,   331,   331,   331,   331,   331,   331,   331,   331,   331,
1489 <     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
1490 <     333,   332,   334,   334,   336,   335,   337,   335,   338,   338,
1491 <     338,   338,   338,   338,   338,   338,   338,   338,   338,   338,
1492 <     338,   338,   338,   338,   340,   339,   341,   341,   342,   342,
1493 <     343,   343,   343,   343,   343,   343,   343,   343,   343,   343,
1494 <     343,   343,   343,   343,   344,   345,   346,   347,   348,   349,
1495 <     350,   351,   352,   353,   354,   355,   356,   357,   359,   358,
1496 <     361,   360,   362,   362,   363,   363,   363,   364,   364,   365,
1497 <     365,   365,   365,   365,   367,   366,   368,   368,   369,   369,
1498 <     370,   371,   373,   372,   374,   374,   375,   375,   375,   375,
1499 <     375,   375,   375,   375,   375,   376,   377,   378,   379,   381,
1500 <     380,   382,   382,   384,   383,   385,   383,   386,   386,   386,
1501 <     386,   386,   386,   386,   386,   386,   386,   387,   388,   389,
1502 <     391,   390,   392,   392,   393,   393,   393,   393,   394,   395,
1503 <     396,   398,   397,   399,   399,   400,   400,   400,   400,   401,
1504 <     402,   404,   403,   405,   405,   406,   406,   406,   406,   406,
1505 <     406,   406,   406,   406,   406,   406,   408,   407,   409,   409,
1506 <     410,   410,   410,   411,   413,   412,   414,   414,   415,   415,
1507 <     415,   415,   415,   415,   415,   415,   415,   415,   415,   417,
1508 <     416,   418,   418,   419,   419,   420,   420,   420,   420,   420,
1509 <     420,   420,   420,   420,   420,   420,   420,   420,   420,   420,
1510 <     421,   422,   423,   424,   425,   426,   427,   428,   428,   430,
1511 <     429,   431,   431,   433,   432,   434,   432,   435,   435,   435,
1512 <     435,   435,   436,   437,   438,   439,   440,   441,   443,   442,
1513 <     445,   444,   446,   446,   447,   448,   448,   449,   449,   449,
1514 <     449,   450,   451,   453,   452,   454,   454,   455,   455,   455,
1515 <     456,   457,   458,   459,   459,   460,   460,   461,   463,   462,
1516 <     465,   464,   466,   466,   467,   468,   468,   469,   469,   469,
1517 <     469,   470,   471,   472,   473,   473,   474,   474,   474,   474,
1518 <     474,   474,   474,   474,   474,   474,   474,   474,   474,   474,
1519 <     474,   474,   474,   474,   474,   474,   474,   474,   474,   474,
1520 <     474,   474,   474,   474,   474,   474,   474,   474,   474,   474,
1521 <     474,   474,   474,   474,   474,   474,   474,   474,   474,   474,
1522 <     474,   474,   474,   474,   474,   474,   474,   474,   474,   474,
1523 <     474,   474,   475,   476,   477,   478,   479,   480,   481,   482,
1524 <     483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
1525 <     493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
1526 <     502,   503,   503,   504,   505,   506,   507,   508,   509,   510,
1527 <     511,   512,   513,   514,   515,   516,   517,   518,   519,   520,
1528 <     521,   522,   523,   525,   524,   526,   526,   527,   527,   527,
1529 <     527,   527,   527,   527,   527,   527,   527,   527,   527,   527,
1530 <     527,   527,   527,   527,   527,   527,   529,   528,   530,   530,
1531 <     531,   531,   531,   531,   531,   531,   531,   531,   531,   531,
1532 <     531,   531,   531,   531,   531,   531,   531,   531,   531,   532,
1533 <     533,   534,   535,   537,   536,   538,   538,   539,   539,   539,
1534 <     539,   539,   539,   539,   540,   541,   543,   542,   544,   544,
1535 <     545,   545,   546,   547,   549,   548,   550,   550,   551,   551,
1536 <     552,   553,   553,   554,   554,   554,   554,   554,   554,   554,
1672 <     554,   554,   554,   554,   554,   554,   554,   554,   554,   554,
1673 <     554,   554,   555,   556,   557,   558,   559,   560,   561,   562,
1674 <     563,   564,   565,   566,   567,   568,   569,   570,   571,   572,
1675 <     573,   574,   574,   575,   575,   575,   575,   575,   575,   575,
1676 <     575,   576,   577,   578,   579,   580,   581,   582
1473 >       0,   223,   224,   224,   225,   225,   225,   225,   225,   225,
1474 >     225,   225,   225,   225,   225,   225,   225,   225,   225,   225,
1475 >     225,   225,   225,   225,   225,   225,   226,   226,   227,   227,
1476 >     227,   227,   227,   227,   228,   228,   229,   229,   229,   229,
1477 >     230,   231,   231,   232,   232,   232,   233,   234,   235,   236,
1478 >     236,   237,   237,   237,   237,   237,   237,   237,   237,   237,
1479 >     237,   237,   237,   237,   237,   237,   237,   238,   239,   240,
1480 >     240,   241,   241,   242,   242,   243,   243,   244,   245,   246,
1481 >     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1482 >     257,   258,   258,   259,   259,   259,   259,   260,   261,   262,
1483 >     263,   264,   264,   265,   265,   265,   266,   268,   267,   269,
1484 >     269,   270,   270,   270,   270,   271,   272,   272,   274,   273,
1485 >     275,   275,   276,   276,   276,   276,   276,   276,   276,   278,
1486 >     277,   279,   279,   280,   280,   280,   280,   280,   280,   280,
1487 >     280,   280,   281,   282,   283,   284,   285,   286,   288,   287,
1488 >     289,   289,   290,   290,   290,   290,   290,   290,   290,   290,
1489 >     290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
1490 >     290,   290,   292,   291,   293,   293,   294,   294,   294,   294,
1491 >     294,   294,   294,   294,   294,   294,   294,   294,   294,   294,
1492 >     294,   294,   294,   294,   294,   296,   295,   297,   297,   298,
1493 >     298,   298,   298,   298,   298,   298,   298,   298,   298,   298,
1494 >     298,   298,   298,   298,   299,   300,   301,   302,   303,   304,
1495 >     305,   306,   307,   308,   309,   310,   311,   312,   314,   313,
1496 >     316,   315,   317,   317,   318,   318,   318,   319,   319,   320,
1497 >     320,   320,   320,   320,   322,   321,   323,   323,   324,   324,
1498 >     325,   326,   328,   327,   329,   329,   330,   330,   330,   330,
1499 >     330,   330,   330,   330,   330,   331,   332,   333,   334,   336,
1500 >     335,   337,   337,   338,   338,   338,   338,   338,   338,   338,
1501 >     338,   338,   339,   340,   341,   343,   342,   344,   344,   345,
1502 >     345,   345,   345,   346,   347,   348,   349,   350,   350,   351,
1503 >     351,   352,   354,   353,   355,   355,   356,   356,   356,   356,
1504 >     357,   358,   360,   359,   361,   361,   362,   362,   362,   362,
1505 >     362,   362,   362,   362,   362,   362,   364,   363,   365,   365,
1506 >     366,   366,   366,   367,   369,   368,   370,   370,   371,   371,
1507 >     371,   371,   371,   371,   371,   371,   371,   371,   373,   372,
1508 >     374,   374,   375,   375,   375,   375,   375,   375,   375,   375,
1509 >     375,   375,   375,   375,   375,   375,   376,   377,   378,   379,
1510 >     380,   381,   382,   382,   384,   383,   385,   385,   386,   386,
1511 >     387,   388,   389,   390,   391,   393,   392,   395,   394,   396,
1512 >     396,   397,   398,   398,   399,   399,   399,   399,   400,   401,
1513 >     403,   402,   404,   404,   405,   405,   405,   406,   407,   408,
1514 >     409,   409,   410,   410,   411,   413,   412,   415,   414,   416,
1515 >     416,   417,   418,   418,   419,   419,   419,   419,   420,   421,
1516 >     422,   423,   423,   424,   424,   424,   424,   424,   424,   424,
1517 >     424,   424,   424,   424,   424,   424,   424,   424,   424,   424,
1518 >     424,   424,   424,   424,   424,   424,   424,   424,   424,   424,
1519 >     424,   424,   424,   424,   424,   424,   424,   424,   424,   424,
1520 >     424,   424,   424,   424,   424,   424,   424,   424,   424,   424,
1521 >     424,   424,   424,   424,   424,   424,   425,   426,   427,   428,
1522 >     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
1523 >     439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
1524 >     449,   450,   451,   452,   453,   453,   454,   454,   455,   456,
1525 >     457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
1526 >     467,   468,   469,   470,   471,   473,   472,   474,   474,   475,
1527 >     475,   475,   475,   475,   475,   475,   475,   475,   475,   475,
1528 >     475,   475,   475,   475,   475,   475,   475,   475,   475,   477,
1529 >     476,   478,   478,   479,   479,   479,   479,   479,   479,   479,
1530 >     479,   479,   479,   479,   479,   479,   479,   479,   479,   479,
1531 >     479,   479,   479,   480,   481,   482,   483,   484,   484,   485,
1532 >     485,   485,   485,   485,   485,   485,   485,   485,   485,   485,
1533 >     485,   485,   485,   485,   486,   487,   488,   489,   490,   491,
1534 >     492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
1535 >     501,   502,   502,   502,   502,   502,   502,   502,   503,   504,
1536 >     505,   506,   507,   508
1537   };
1538  
1539   /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1685 | Line 1545 | static const yytype_uint8 yyr2[] =
1545         3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1546         5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1547         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1548 <       1,     1,     1,     2,     0,     5,     3,     1,     1,     1,
1548 >       1,     1,     1,     1,     1,     1,     2,     4,     4,     3,
1549 >       1,     1,     1,     3,     1,     1,     1,     4,     4,     4,
1550         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1551 <       4,     5,     2,     1,     1,     1,     1,     2,     4,     4,
1552 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1553 <       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
1554 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1555 <       4,     4,     4,     4,     4,     0,     7,     0,     1,     2,
1556 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1557 <       4,     1,     4,     4,     4,     4,     4,     0,     5,     3,
1697 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1551 >       5,     2,     1,     1,     1,     1,     2,     4,     4,     4,
1552 >       5,     2,     1,     1,     1,     2,     4,     0,     6,     2,
1553 >       1,     1,     1,     1,     2,     4,     4,     4,     0,     5,
1554 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1555 >       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1556 >       1,     2,     4,     4,     4,     4,     4,     4,     0,     5,
1557 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1558         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1559 <       0,     5,     3,     1,     0,     3,     0,     2,     1,     1,
1559 >       1,     1,     0,     5,     3,     1,     1,     1,     1,     1,
1560         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1561 <       1,     1,     1,     1,     0,     7,     0,     1,     2,     1,
1561 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1562         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1563 <       1,     1,     1,     2,     4,     1,     4,     4,     4,     4,
1563 >       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
1564         4,     4,     4,     4,     4,     4,     4,     4,     0,     6,
1565         0,     5,     3,     1,     1,     1,     1,     2,     1,     1,
1566         1,     1,     1,     2,     0,     5,     3,     1,     1,     3,
1567         4,     4,     0,     6,     2,     1,     1,     1,     1,     1,
1568         1,     1,     1,     1,     2,     4,     4,     4,     4,     0,
1569 <       5,     3,     1,     0,     3,     0,     2,     1,     1,     1,
1570 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1571 <       0,     6,     2,     1,     1,     1,     1,     2,     4,     4,
1572 <       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
1573 <       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1569 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1570 >       1,     1,     4,     4,     4,     0,     6,     2,     1,     1,
1571 >       1,     1,     2,     4,     4,     4,     5,     2,     1,     1,
1572 >       1,     4,     0,     6,     2,     1,     1,     1,     1,     2,
1573 >       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1574         1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
1575         1,     1,     2,     4,     0,     5,     3,     1,     1,     1,
1576 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1577 <       7,     0,     1,     2,     1,     1,     1,     1,     1,     1,
1578 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1579 <       4,     1,     4,     4,     4,     4,     4,     4,     4,     0,
1580 <       5,     3,     1,     0,     3,     0,     2,     1,     1,     1,
1581 <       1,     1,     4,     4,     4,     4,     4,     4,     0,     6,
1582 <       0,     5,     3,     1,     1,     2,     1,     1,     1,     1,
1583 <       1,     4,     4,     0,     6,     2,     1,     1,     1,     1,
1584 <       4,     4,     5,     2,     1,     1,     1,     4,     0,     6,
1585 <       0,     5,     3,     1,     1,     2,     1,     1,     1,     1,
1726 <       1,     4,     4,     5,     2,     1,     1,     1,     1,     1,
1727 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1576 >       1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
1577 >       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1578 >       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
1579 >       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1580 >       4,     4,     4,     4,     4,     0,     6,     0,     5,     3,
1581 >       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1582 >       0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
1583 >       2,     1,     1,     1,     4,     0,     6,     0,     5,     3,
1584 >       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1585 >       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1586         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1587         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1588         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1589         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1590 <       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
1590 >       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
1591         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1592         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1593         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1594         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1595 <       4,     4,     4,     0,     5,     3,     1,     1,     1,     1,
1595 >       4,     4,     4,     4,     4,     0,     5,     3,     1,     1,
1596         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1597 <       1,     1,     1,     1,     1,     1,     0,     5,     3,     1,
1597 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1598 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1599         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1600 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
1742 <       4,     4,     4,     0,     6,     2,     1,     1,     1,     1,
1743 <       1,     1,     1,     1,     4,     4,     0,     5,     3,     1,
1744 <       1,     1,     4,     4,     0,     5,     3,     1,     1,     1,
1745 <       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1600 >       1,     1,     1,     4,     4,     4,     5,     2,     1,     1,
1601         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1602 <       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
1603 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1604 <       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1605 <       1,     4,     4,     4,     4,     4,     4,     4
1602 >       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1603 >       4,     4,     4,     4,     4,     4,     4,     4,     5,     2,
1604 >       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1605 >       4,     4,     4,     4
1606   };
1607  
1608 < /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1609 <   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1608 > /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1609 >   Performed when YYTABLE doesn't specify something else to do.  Zero
1610     means the default is an error.  */
1611   static const yytype_uint16 yydefact[] =
1612   {
1613 <       2,     0,     1,     0,     0,     0,   194,   349,   413,     0,
1614 <     428,     0,   603,   252,   398,   228,     0,     0,   125,   290,
1615 <       0,     0,   301,   326,     3,    23,    11,     4,     5,     6,
1613 >       2,     0,     1,     0,     0,     0,   195,   348,   400,     0,
1614 >     415,     0,   252,   385,   228,     0,     0,   129,   285,     0,
1615 >       0,   302,   326,     0,     3,    23,    11,     4,     5,     6,
1616         8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1617 <      22,    20,    21,     7,    12,    24,    25,     0,     0,   196,
1763 <     351,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1764 <       0,   127,     0,     0,     0,     0,     0,     0,     0,     0,
1765 <       0,     0,    83,    84,    86,    85,   651,     0,     0,     0,
1766 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1767 <       0,     0,     0,     0,     0,     0,   632,   650,   645,   633,
1768 <     634,   635,   636,   638,   639,   640,   641,   637,   642,   643,
1769 <     644,   646,   647,   648,   649,   215,     0,   197,   371,     0,
1770 <     352,     0,   426,     0,     0,   424,   425,     0,   501,     0,
1771 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1617 >      20,    22,    21,     7,    12,    24,    25,     0,     0,     0,
1618         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1619         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1620 <       0,   576,     0,   553,     0,     0,     0,     0,     0,     0,
1620 >       0,     0,    92,    93,    95,    94,   603,     0,     0,     0,
1621         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1622 <       0,     0,     0,     0,     0,   445,   500,   495,   496,   493,
1623 <     497,   498,   494,   456,   446,   447,   485,   448,   449,   450,
1624 <     451,   452,   453,   454,   455,   490,   457,   458,   459,   460,
1779 <     499,   462,   467,   463,   465,   464,   479,   480,   466,   468,
1780 <     469,   470,   471,   473,   472,   461,   475,   484,   486,   487,
1781 <     476,   477,   491,   492,   489,   478,   474,   482,   483,   481,
1782 <     488,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1783 <       0,     0,     0,     0,     0,     0,     0,     0,     0,    93,
1784 <      94,    95,    98,   105,    99,   103,   100,   101,   104,   102,
1785 <      96,    97,     0,     0,     0,     0,    42,    43,    44,   141,
1786 <       0,   128,     0,   680,     0,     0,     0,     0,     0,     0,
1787 <       0,     0,   672,   673,   674,   678,   675,   677,   676,   679,
1788 <       0,     0,     0,     0,     0,     0,     0,     0,    64,     0,
1789 <       0,     0,     0,     0,    50,    62,    61,    58,    51,    60,
1790 <      54,    55,    56,    52,    59,    57,    53,     0,     0,    87,
1791 <       0,     0,     0,     0,    82,     0,     0,     0,     0,     0,
1622 >       0,     0,   588,   602,   598,   590,   591,   592,   593,   594,
1623 >     589,   595,   596,   597,   599,   600,   601,     0,     0,     0,
1624 >     413,     0,     0,   411,   412,     0,   485,     0,     0,     0,
1625         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1793       0,     0,     0,     0,   631,     0,     0,   419,     0,     0,
1794       0,   416,   417,   418,     0,     0,   423,   440,     0,     0,
1795     430,   439,     0,   436,   437,   438,     0,     0,     0,     0,
1626         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1627 +       0,     0,     0,     0,     0,     0,     0,     0,   559,     0,
1628 +     535,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1629         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1630 +     432,   483,   476,   477,   478,   479,   480,   481,   475,   443,
1631 +     433,   434,   470,   435,   436,   437,   438,   439,   440,   441,
1632 +     442,   472,   444,   445,   446,   447,   482,   449,   454,   450,
1633 +     452,   451,   465,   466,   453,   455,   456,   457,   458,   459,
1634 +     448,   461,   462,   463,   484,   473,   474,   471,   464,   460,
1635 +     468,   469,   467,     0,     0,     0,     0,     0,     0,   102,
1636 +     103,   104,     0,     0,     0,     0,     0,    42,    43,    44,
1637 +       0,     0,   627,     0,     0,     0,     0,     0,     0,     0,
1638 +     620,   621,   622,   625,   623,   624,   626,     0,     0,     0,
1639         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1640 +       0,     0,     0,     0,    50,    63,    64,    62,    59,    58,
1641 +      65,    51,    61,    54,    55,    56,    52,    60,    57,    53,
1642 +       0,     0,   300,     0,     0,   298,   299,    96,     0,     0,
1643 +       0,     0,    91,     0,     0,     0,     0,     0,     0,     0,
1644 +       0,     0,     0,     0,     0,     0,     0,     0,   587,     0,
1645         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1646 +       0,     0,     0,     0,     0,   198,   199,   202,   203,   205,
1647 +     206,   207,   208,   209,   210,   211,   212,   200,   201,   204,
1648 +       0,     0,     0,     0,     0,   374,     0,     0,     0,     0,
1649 +       0,     0,     0,     0,     0,   351,   352,   353,   354,   355,
1650 +     356,   358,   357,   360,   364,   361,   362,   363,   359,   406,
1651 +       0,     0,     0,   403,   404,   405,     0,     0,   410,   427,
1652 +       0,     0,   417,   426,     0,   423,   424,   425,     0,     0,
1653         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1801       0,     0,   444,   613,   624,     0,     0,   616,     0,     0,
1802       0,   606,   607,   608,   609,   610,   611,   612,     0,     0,
1803       0,   269,     0,     0,     0,     0,     0,     0,   255,   256,
1804     257,   258,   263,   259,   260,   261,   262,   410,     0,   400,
1805       0,   409,     0,   406,   407,   408,     0,   230,     0,     0,
1806       0,   240,     0,   238,   239,   241,   242,   106,     0,     0,
1654         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1808       0,    92,    45,     0,     0,     0,    41,     0,     0,     0,
1809       0,     0,     0,   293,   294,   295,   296,     0,     0,     0,
1810       0,     0,     0,     0,     0,   671,    63,     0,     0,     0,
1655         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1812      49,     0,     0,   311,     0,     0,   304,   305,   306,   307,
1813       0,     0,   334,     0,   329,   330,   331,     0,     0,     0,
1814      81,     0,     0,     0,     0,     0,    26,     0,     0,     0,
1656         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1816     630,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1817       0,     0,     0,     0,     0,     0,   199,   200,   203,   204,
1818     206,   207,   208,   209,   210,   211,   212,   201,   202,   205,
1819       0,     0,     0,     0,     0,     0,   379,     0,     0,     0,
1820       0,     0,     0,     0,     0,     0,   354,   355,   356,   357,
1821     358,   359,   361,   360,   362,   367,   366,   363,   364,   365,
1822     368,     0,     0,     0,   415,     0,   422,     0,     0,     0,
1823       0,   435,     0,     0,     0,     0,     0,     0,     0,     0,
1657         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1658 +       0,   431,     0,     0,     0,   269,     0,     0,     0,     0,
1659 +       0,     0,   255,   256,   257,   258,   263,   259,   260,   261,
1660 +     262,   397,     0,   387,     0,   396,     0,   393,   394,   395,
1661 +       0,   230,     0,     0,     0,   240,     0,   238,   239,   241,
1662 +     242,   105,     0,     0,   101,     0,    45,     0,     0,     0,
1663 +      41,     0,     0,     0,   172,     0,     0,     0,   148,     0,
1664 +       0,   132,   133,   134,   135,   138,   139,   137,   136,   140,
1665 +       0,     0,     0,     0,     0,   288,   289,   290,   291,     0,
1666 +       0,     0,     0,     0,     0,     0,   619,    66,     0,     0,
1667         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1668 +       0,     0,     0,     0,    49,     0,     0,   312,     0,     0,
1669 +     305,   306,   307,   308,     0,     0,   334,     0,   329,   330,
1670 +     331,     0,     0,   297,     0,     0,     0,    90,     0,     0,
1671 +       0,    26,     0,     0,     0,     0,     0,     0,     0,     0,
1672 +       0,     0,     0,   586,   213,     0,     0,     0,     0,     0,
1673         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1674 +     197,   365,     0,     0,     0,     0,     0,     0,     0,     0,
1675 +       0,     0,     0,     0,     0,     0,   350,     0,     0,     0,
1676 +     402,     0,   409,     0,     0,     0,     0,   422,     0,     0,
1677         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1828       0,     0,     0,    34,     0,     0,     0,     0,     0,     0,
1829     443,     0,     0,     0,     0,     0,     0,     0,   605,   264,
1830       0,     0,     0,     0,     0,     0,     0,     0,     0,   254,
1831       0,     0,     0,     0,   405,   243,     0,     0,     0,     0,
1832       0,   237,     0,     0,     0,     0,     0,     0,     0,     0,
1678         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1834      91,     0,     0,    40,     0,     0,     0,   170,     0,     0,
1835       0,   147,     0,     0,   130,   131,   132,   133,   136,   137,
1836     135,   134,   138,   297,     0,     0,     0,     0,   292,     0,
1837       0,     0,     0,     0,     0,     0,   670,     0,     0,     0,
1838       0,     0,     0,     0,     0,     0,     0,     0,     0,    48,
1839     308,     0,     0,     0,     0,   303,   332,     0,     0,     0,
1840     328,    90,    89,    88,   667,   664,   663,   652,   654,    26,
1841      26,    26,    26,    26,    28,    27,   658,   659,   662,   660,
1842     665,   666,   668,   669,   661,   653,   655,   656,   657,   213,
1679         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1844       0,     0,     0,     0,   198,   369,     0,     0,     0,     0,
1680         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1846       0,   353,     0,     0,   414,   427,     0,     0,     0,   429,
1847     514,   518,   505,   534,   547,   546,   601,   551,   512,   543,
1848     549,   513,   503,   504,   521,   510,   542,   511,   524,   509,
1849     523,   522,   517,   516,   515,   544,   502,   541,   599,   600,
1850     538,   535,   580,   596,   597,   581,   582,   583,   584,   591,
1851     585,   594,   598,   587,   592,   588,   593,   586,   590,   589,
1852     595,     0,   579,   540,   557,   573,   574,   558,   559,   560,
1853     561,   568,   562,   571,   575,   564,   569,   565,   570,   563,
1854     567,   566,   572,     0,   556,   533,   536,   550,   507,   545,
1855     508,   537,   526,   531,   532,   529,   530,   527,   528,   520,
1856     519,    34,    34,    34,    36,    35,   602,   552,   539,   548,
1857     506,   525,     0,     0,     0,     0,     0,     0,   604,     0,
1858       0,   275,     0,     0,     0,     0,     0,   253,     0,     0,
1859       0,   399,     0,     0,     0,   248,   244,   247,   229,   110,
1860     116,   114,   113,   115,   111,   112,   109,   117,   123,   118,
1861     122,   120,   121,   119,   108,   107,   124,    46,    47,   139,
1862       0,     0,     0,     0,     0,     0,     0,     0,     0,   129,
1863       0,     0,     0,   291,   686,   681,   685,   683,   687,   682,
1864     684,    74,    80,    72,    76,    75,    71,    70,    68,    69,
1865       0,    67,    73,    79,    77,    78,     0,     0,     0,   302,
1866       0,     0,   327,    29,    30,    31,    32,    33,     0,     0,
1681         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1682 <       0,   195,     0,     0,     0,     0,     0,     0,   385,     0,
1683 <       0,     0,     0,     0,     0,     0,     0,   350,   420,   421,
1684 <     441,   442,   434,     0,   433,   577,     0,   554,     0,    37,
1685 <      38,    39,   629,   628,     0,   627,   615,   614,   621,   620,
1686 <       0,   619,   623,   622,   267,   268,   273,     0,   272,     0,
1687 <     266,   289,   288,   287,   265,   412,   404,     0,   403,   411,
1688 <     235,   236,   234,     0,   233,   251,   250,     0,     0,     0,
1689 <       0,     0,   176,     0,     0,     0,     0,     0,   126,   299,
1690 <     300,   298,    65,     0,   309,   315,   321,   325,   324,   323,
1691 <     320,   316,   319,   322,   317,   318,     0,   314,   310,   333,
1692 <     338,   344,   348,   347,   346,   343,   339,   342,   345,   340,
1693 <     341,     0,   337,   225,   226,   219,   221,   223,   222,   220,
1694 <     214,   227,   218,   216,   217,   224,   375,   377,   378,   397,
1695 <     396,   393,   383,     0,   382,     0,   372,   394,   395,   370,
1696 <     376,   392,   374,   373,   431,     0,   578,   555,   625,     0,
1697 <     617,     0,     0,   270,   275,   281,   282,   278,   284,   280,
1698 <     279,   286,   283,   285,   277,   276,   401,     0,   231,     0,
1699 <     249,   246,   245,   146,   144,   174,     0,   173,     0,   140,
1700 <     143,   145,   151,   167,   168,   152,   153,   154,   155,   162,
1701 <     156,   165,   169,   158,   163,   159,   164,   157,   161,   160,
1702 <     166,     0,   150,   142,    66,   312,     0,   335,     0,     0,
1703 <     380,   385,   389,   390,   387,   388,   391,   386,   432,   626,
1704 <     618,   274,   271,   402,   232,     0,   171,   176,   186,   184,
1705 <     193,   183,   178,   187,   191,   180,   188,   190,   185,   179,
1706 <     192,   189,   181,   182,   177,   148,     0,   313,   336,   384,
1707 <     381,   175,   172,   149
1682 >       0,     0,   430,   264,     0,     0,     0,     0,     0,     0,
1683 >       0,     0,     0,   254,     0,     0,     0,     0,   392,   243,
1684 >       0,     0,     0,     0,     0,   237,     0,   100,     0,     0,
1685 >       0,    40,   141,     0,     0,     0,     0,     0,     0,     0,
1686 >       0,     0,   131,   292,     0,     0,     0,     0,   287,     0,
1687 >       0,     0,     0,     0,     0,   618,     0,     0,     0,     0,
1688 >       0,     0,     0,     0,    71,    72,     0,    70,    75,    76,
1689 >       0,    74,     0,     0,     0,     0,     0,    48,   309,     0,
1690 >       0,     0,     0,   304,   332,     0,     0,     0,   328,     0,
1691 >     296,    99,    98,    97,   613,   612,   604,    26,    26,    26,
1692 >      26,    26,    28,    27,   606,   607,   611,   609,   608,   614,
1693 >     615,   616,   617,   610,   605,     0,     0,     0,     0,     0,
1694 >       0,     0,     0,     0,     0,     0,     0,    34,     0,     0,
1695 >     196,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1696 >       0,     0,     0,     0,     0,   349,     0,     0,   401,   414,
1697 >       0,     0,     0,   416,   499,   503,   519,   585,   533,   497,
1698 >     527,   530,   498,   488,   487,   489,   490,   491,   506,   495,
1699 >     496,   509,   494,   508,   507,   502,   501,   500,   528,   486,
1700 >     526,   583,   584,   523,   520,   570,   563,   580,   581,   564,
1701 >     565,   566,   567,   575,   568,   578,   582,   571,   576,   572,
1702 >     577,   569,   574,   573,   579,     0,   562,   525,   545,   539,
1703 >     556,   557,   540,   541,   542,   543,   551,   544,   554,   558,
1704 >     547,   552,   548,   553,   546,   550,   549,   555,     0,   538,
1705 >     518,   521,   532,   492,   493,   522,   511,   516,   517,   514,
1706 >     515,   512,   513,   505,   504,   531,   534,   524,   529,   510,
1707 >       0,     0,     0,     0,     0,     0,     0,     0,   253,     0,
1708 >       0,     0,   386,     0,     0,     0,   248,   244,   247,   229,
1709 >     106,     0,     0,   118,     0,     0,   110,   111,   113,   112,
1710 >      46,    47,     0,     0,     0,     0,     0,     0,     0,     0,
1711 >     130,     0,     0,     0,   286,   628,   632,   630,   633,   629,
1712 >     631,    83,    89,    81,    85,    84,    78,    77,    79,    67,
1713 >       0,    68,     0,    82,    80,    88,    86,    87,     0,     0,
1714 >       0,   303,     0,     0,   327,   301,    29,    30,    31,    32,
1715 >      33,   225,   226,   218,   220,   222,   221,   219,   214,   227,
1716 >     217,   215,   216,    34,    34,    34,    36,    35,   223,   224,
1717 >     370,   372,   373,   383,   380,   378,   379,     0,   377,   367,
1718 >     381,   382,   366,   371,   369,   384,   368,   407,   408,   428,
1719 >     429,   421,     0,   420,   560,     0,   536,     0,   267,   268,
1720 >     277,   274,   279,   276,   275,   281,   278,   280,   273,     0,
1721 >     272,   266,   284,   283,   282,   265,   399,   391,     0,   390,
1722 >     398,   235,   236,   234,     0,   233,   251,   250,     0,     0,
1723 >       0,   114,     0,     0,     0,     0,   109,   147,   145,   187,
1724 >     184,   183,   176,   178,   194,   188,   191,   186,   177,   192,
1725 >     180,   189,   193,   181,   190,   185,   179,   182,     0,   175,
1726 >     142,   144,   146,   158,   152,   169,   170,   153,   154,   155,
1727 >     156,   164,   157,   167,   171,   160,   165,   161,   166,   159,
1728 >     163,   162,   168,     0,   151,   143,   294,   295,   293,    69,
1729 >      73,   310,   316,   322,   325,   318,   324,   319,   323,   321,
1730 >     317,   320,     0,   315,   311,   333,   338,   344,   347,   340,
1731 >     346,   341,   345,   343,   339,   342,     0,   337,    37,    38,
1732 >      39,   375,     0,   418,     0,   561,   537,   270,     0,   388,
1733 >       0,   231,     0,   249,   246,   245,     0,     0,     0,     0,
1734 >     108,   173,     0,   149,     0,   313,     0,   335,     0,   376,
1735 >     419,   271,   389,   232,   115,   124,   127,   126,   123,   128,
1736 >     125,   122,     0,   121,   117,   116,   174,   150,   314,   336,
1737 >     119,     0,   120
1738   };
1739  
1740   /* YYDEFGOTO[NTERM-NUM].  */
1741   static const yytype_int16 yydefgoto[] =
1742   {
1743 <      -1,     1,    24,   834,   835,   984,   985,    25,   275,   276,
1744 <     277,   278,    26,   313,   314,   315,   534,  1070,  1071,   316,
1745 <     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
1746 <      27,    71,    72,    73,    74,    75,    28,   258,   259,   260,
1747 <     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
1748 <     271,    29,    61,   280,   773,   774,   775,   281,   776,   777,
1749 <     778,   779,   780,   781,  1046,  1301,  1302,   782,  1042,  1276,
1750 <    1277,  1325,  1278,  1344,    30,    49,   116,   595,   596,   597,
1751 <     117,   598,   599,   600,   601,   602,   603,   604,   605,   606,
1752 <     607,   608,   609,    31,    58,   481,   736,  1163,  1164,   482,
1753 <     483,   484,  1169,  1016,  1017,   485,   486,    32,    56,   457,
1754 <     458,   459,   460,   461,   462,   463,   722,  1147,  1148,  1252,
1755 <    1149,  1265,   464,   465,   466,    33,    62,   512,   513,   514,
1756 <     515,   516,    34,    65,   545,   546,   547,   548,   549,   812,
1757 <    1196,  1197,    35,    66,   553,   554,   555,   556,   818,  1211,
1758 <    1212,    36,    50,   119,   625,   626,   627,   120,   628,   629,
1759 <     630,   631,   632,   633,   634,   871,  1233,  1234,  1309,  1235,
1760 <    1317,   635,   636,   637,   638,   639,   640,    37,    57,   471,
1761 <     731,  1157,  1158,   472,   473,   474,   475,    38,    51,   360,
1762 <     361,   362,   363,    39,   124,   125,   126,    40,    53,   371,
1763 <     649,  1123,  1124,   372,   373,   374,   375,    41,   184,   185,
1764 <     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1765 <     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1766 <     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1767 <     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1768 <     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1769 <     410,   963,   964,   236,   408,   941,   942,   237,   238,   239,
1770 <     240,    42,    55,   440,   441,   442,   443,   444,   714,  1140,
1771 <    1141,   445,   446,   447,   711,  1134,  1135,    43,    95,    96,
1928 <      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1929 <     107,   108,   109,   110,   111,   112,   113,   114,    44,   291,
1930 <     292,   293,   294,   295,   296,   297,   298,   299
1743 >      -1,     1,    24,   792,   793,  1036,  1037,    25,   236,   237,
1744 >     238,   239,    26,   273,   274,   275,   276,   756,   757,   760,
1745 >     761,   277,   278,   279,   280,   281,   282,   283,   284,   285,
1746 >     286,   287,   288,   289,    27,    71,    72,    73,    74,    75,
1747 >      28,   228,   229,   230,   231,   232,   965,   966,   967,   968,
1748 >     969,  1103,  1232,  1233,    29,    60,   510,   511,   512,   513,
1749 >     514,   515,   516,   517,   518,   729,  1153,  1154,   519,   725,
1750 >    1128,  1129,    30,    49,   334,   335,   336,   337,   338,   339,
1751 >     340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
1752 >      31,    57,   485,   710,  1094,  1095,   486,   487,   488,  1100,
1753 >     957,   958,   489,   490,    32,    55,   461,   462,   463,   464,
1754 >     465,   466,   467,   696,  1079,  1080,   468,   469,   470,    33,
1755 >      61,   524,   525,   526,   527,   528,    34,   294,   295,   296,
1756 >      35,    64,   559,   560,   561,   562,   563,   770,  1172,  1173,
1757 >      36,    65,   567,   568,   569,   570,   776,  1186,  1187,    37,
1758 >      50,   364,   365,   366,   367,   368,   369,   370,   371,   372,
1759 >     373,   616,  1047,  1048,   374,   375,   376,   377,   378,    38,
1760 >      56,   475,   705,  1088,  1089,   476,   477,   478,   479,    39,
1761 >      51,   382,   383,   384,   385,    40,   112,   113,   114,    41,
1762 >      53,   393,   635,  1062,  1063,   394,   395,   396,   397,    42,
1763 >     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1764 >     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1765 >     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1766 >     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1767 >     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1768 >     431,   918,   919,   219,   429,   895,   896,   220,   221,   222,
1769 >      43,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1770 >     100,   101,   102,   103,   104,   105,   106,    44,   249,   250,
1771 >     251,   252,   253,   254,   255,   256
1772   };
1773  
1774   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1775     STATE-NUM.  */
1776 < #define YYPACT_NINF -949
1776 > #define YYPACT_NINF -745
1777   static const yytype_int16 yypact[] =
1778   {
1779 <    -949,   670,  -949,  -256,  -248,  -245,  -949,  -949,  -949,  -212,
1780 <    -949,  -205,  -949,  -949,  -949,  -949,  -189,  -183,  -949,  -949,
1781 <    -154,  -152,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1782 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1783 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,    22,   642,  -127,
1784 <     -31,  -132,     5,  -125,   415,  -119,   -98,   -89,   -86,   578,
1785 <      14,    -8,   -75,   664,   313,   -74,   -61,   -45,   -46,   -37,
1786 <     -23,    31,  -949,  -949,  -949,  -949,  -949,   -22,    15,    30,
1787 <      33,    41,    42,    47,    48,    50,    61,    62,    70,    78,
1788 <      79,    80,    86,    90,    93,    94,  -949,  -949,  -949,  -949,
1789 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1790 <    -949,  -949,  -949,  -949,  -949,  -949,   -44,  -949,  -949,    89,
1791 <    -949,    20,  -949,    99,     2,  -949,  -949,   140,  -949,   100,
1792 <     104,   106,   111,   113,   115,   122,   123,   126,   127,   128,
1793 <     129,   131,   133,   135,   136,   137,   145,   147,   148,   151,
1794 <     155,   156,   157,   159,   163,   165,   167,   169,   174,   175,
1795 <     177,  -949,   178,  -949,   186,   187,   188,   193,   194,   197,
1796 <     199,   200,   205,   206,   209,   210,   211,   212,   213,   214,
1797 <     219,   220,   225,   228,    10,  -949,  -949,  -949,  -949,  -949,
1798 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1799 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1800 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1801 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1802 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1803 <    -949,   364,   308,    92,   318,    17,   229,   230,   231,   232,
1804 <     236,   237,   241,   242,   244,   245,   248,   250,   226,  -949,
1805 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1806 <    -949,  -949,    63,   251,   252,    60,  -949,  -949,  -949,  -949,
1807 <     182,  -949,    24,  -949,   253,   254,   255,   260,   270,   271,
1808 <     272,   192,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1809 <      72,   273,   274,   275,   276,   279,   281,   282,  -949,   285,
1810 <     286,   287,   288,   132,  -949,  -949,  -949,  -949,  -949,  -949,
1811 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,   183,   102,  -949,
1812 <     222,   293,   336,   299,  -949,   198,   431,   432,   368,   369,
1813 <     436,   436,   440,   441,   376,   379,   446,   436,   381,   390,
1814 <     391,   392,   393,   332,  -949,   726,   521,  -949,   330,   331,
1815 <      76,  -949,  -949,  -949,   442,   338,  -949,  -949,   333,   337,
1816 <    -949,  -949,    57,  -949,  -949,  -949,   404,   436,   408,   436,
1817 <     482,   461,   486,   423,   424,   491,   470,   429,   496,   497,
1818 <     498,   434,   436,   445,   447,   436,   493,   450,   517,   518,
1819 <     436,   522,   523,   499,   526,   528,   463,   464,   400,   469,
1820 <     405,   436,   436,   475,   436,   514,   488,   489,   492,  -131,
1821 <    -110,   494,   501,   436,   436,   548,   436,   504,   505,   506,
1822 <     510,   428,  -949,  -949,  -949,   420,   427,  -949,   430,   448,
1823 <     112,  -949,  -949,  -949,  -949,  -949,  -949,  -949,   435,   454,
1824 <     457,  -949,   459,   462,   465,   466,   467,   118,  -949,  -949,
1825 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,   468,  -949,
1826 <     472,  -949,    74,  -949,  -949,  -949,   449,  -949,   474,   483,
1827 <     490,  -949,    29,  -949,  -949,  -949,  -949,  -949,   555,   557,
1828 <     560,   571,   573,   579,   599,   601,   360,   602,   604,   561,
1829 <     502,  -949,  -949,   608,   611,   507,  -949,   305,   511,   503,
1830 <     512,   515,   152,  -949,  -949,  -949,  -949,   568,   577,   580,
1831 <     626,   583,   584,   436,   524,  -949,  -949,   634,   586,   637,
1832 <     638,   639,   640,   641,   532,   646,   672,   648,   651,   547,
1833 <    -949,   551,   549,  -949,   550,    69,  -949,  -949,  -949,  -949,
1834 <     558,   556,  -949,    75,  -949,  -949,  -949,   562,   563,   564,
1835 <    -949,   565,   566,   569,   572,   576,   207,   582,   587,   588,
1836 <     589,   592,   593,   594,   597,   598,   603,   607,   609,   610,
1837 <    -949,   615,   574,   581,   605,   616,   617,   618,   619,   620,
1838 <     622,   623,   624,   625,   628,   116,  -949,  -949,  -949,  -949,
1839 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1840 <     629,   632,   645,   649,   650,   652,  -949,   653,   654,   655,
1841 <     656,   660,   665,   667,   668,   160,  -949,  -949,  -949,  -949,
1842 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1843 <    -949,   675,   686,   678,  -949,   681,  -949,   687,   690,   682,
1844 <     688,  -949,   689,   691,   693,   694,   695,   696,   700,   704,
1845 <     705,   707,   708,   715,   718,   722,   723,   725,   727,   728,
1846 <     730,   731,   732,   733,   737,   741,   742,   744,   745,   747,
1847 <     748,   749,   750,   751,   692,   752,   729,   753,   754,   755,
1848 <     756,   757,   758,   759,   760,   761,   762,   763,   764,   765,
1849 <     767,   768,   769,    49,   770,   771,   772,   773,   774,   775,
1850 <    -949,   683,   436,   712,   776,   709,   711,   777,  -949,  -949,
1851 <     797,   714,   778,   799,   783,   833,   836,   873,   780,  -949,
1852 <     883,   779,   885,   784,  -949,  -949,   782,   890,   893,   796,
1853 <     787,  -949,   788,   789,   790,   791,   792,   793,   794,   795,
1854 <     798,   800,   801,   802,   803,   804,   805,   806,   807,   808,
1855 <    -949,   809,   810,  -949,   811,   812,   813,  -949,   814,   815,
1856 <     816,  -949,   817,   181,  -949,  -949,  -949,  -949,  -949,  -949,
1857 <    -949,  -949,  -949,  -949,   903,   904,   906,   821,  -949,   822,
1858 <     823,   824,   825,   826,   827,   828,  -949,   829,   830,   831,
1859 <     832,   834,   835,   837,   -80,   838,   839,   840,   841,  -949,
1860 <    -949,   919,   842,   920,   843,  -949,  -949,   921,   844,   846,
1861 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,   436,
1862 <     436,   436,   436,   436,  -949,  -949,  -949,  -949,  -949,  -949,
1863 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1864 <     962,   965,   436,   971,   973,   977,   978,   957,   980,   981,
1865 <     436,   436,   548,   853,  -949,  -949,   961,  -117,   963,   964,
1866 <     918,   855,   966,   967,   968,   969,   992,   972,   974,   975,
1867 <     864,  -949,   866,   869,  -949,  -949,   870,   871,   662,  -949,
1868 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1869 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1870 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1871 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1872 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1873 <    -949,  -244,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1874 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1875 <    -949,  -949,  -949,  -236,  -949,  -949,  -949,  -949,  -949,  -949,
1876 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1877 <    -949,   548,   548,   548,  -949,  -949,  -949,  -949,  -949,  -949,
1878 <    -949,  -949,    -3,   872,   874,    -2,   875,   876,  -949,   877,
1879 <     878,  1003,   879,   880,   881,   882,   884,  -949,   886,   703,
1880 <     887,  -949,   -63,   888,   889,   676,   891,  -949,  -949,  -949,
1881 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1882 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1883 <     990,   948,   894,   997,   998,   999,   895,  1000,   896,  -949,
1884 <     899,   900,   901,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1885 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1886 <    -224,  -949,  -949,  -949,  -949,  -949,   902,   570,   905,  -949,
1887 <     907,   627,  -949,  -949,  -949,  -949,  -949,  -949,   908,   909,
1888 <     910,   911,   912,   913,   914,   915,   916,   917,   922,   923,
1889 <     924,  -949,   925,   926,   927,   928,   929,   930,  1024,   931,
1890 <     932,   933,   934,   935,   936,   937,   938,  -949,  -949,  -949,
1891 <    -949,  -949,  -949,  -219,  -949,  -949,   692,  -949,   729,  -949,
1892 <    -949,  -949,  -949,  -949,  -216,  -949,  -949,  -949,  -949,  -949,
1893 <    -213,  -949,  -949,  -949,  -949,  -949,  -949,  -158,  -949,   630,
1894 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -149,  -949,  -949,
1895 <    -949,  -949,  -949,  -129,  -949,  -949,  -949,  1032,   796,   939,
1896 <     940,   941,  1034,   942,   943,   944,   766,   945,  -949,  -949,
1897 <    -949,  -949,  -949,   -80,  -949,  -949,  -949,  -949,  -949,  -949,
1898 <    -949,  -949,  -949,  -949,  -949,  -949,  -106,  -949,  -949,  -949,
1899 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1900 <    -949,   -25,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1901 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1902 <    -949,  -949,  -949,    38,  -949,     0,  -949,  -949,  -949,  -949,
1903 <    -949,  -949,  -949,  -949,  -949,   662,  -949,  -949,  -949,    -3,
2063 <    -949,    -2,   630,  -949,  1003,  -949,  -949,  -949,  -949,  -949,
2064 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,   703,  -949,   -63,
2065 <    -949,  -949,  -949,  -949,  -949,  -949,    56,  -949,   553,  -949,
2066 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2067 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2068 <    -949,    88,  -949,  -949,  -949,  -949,   570,  -949,   627,     0,
2069 <    -949,  1024,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2070 <    -949,  -949,  -949,  -949,  -949,   553,  -949,  1034,  -949,  -949,
2071 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2072 <    -949,  -949,  -949,  -949,  -949,  -949,   766,  -949,  -949,  -949,
2073 <    -949,  -949,  -949,  -949
1779 >    -745,   586,  -745,  -204,  -214,  -193,  -745,  -745,  -745,  -191,
1780 >    -745,  -188,  -745,  -745,  -745,  -177,  -175,  -745,  -745,  -161,
1781 >    -136,  -745,  -745,  -120,  -745,  -745,  -745,  -745,  -745,  -745,
1782 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1783 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,   263,   837,   -87,
1784 >     -84,   -32,    17,   -25,   352,   -22,   -10,    -4,    61,     3,
1785 >      13,    36,   656,   389,    51,    75,    11,   -80,   -45,   -34,
1786 >      22,    16,  -745,  -745,  -745,  -745,  -745,    42,    76,    77,
1787 >      89,    91,    92,   111,   116,   117,   126,   128,   129,   130,
1788 >     135,   231,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1789 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,   595,   470,   118,
1790 >    -745,   136,     6,  -745,  -745,   192,  -745,   141,   142,   144,
1791 >     146,   148,   150,   154,   155,   156,   158,   162,   163,   164,
1792 >     167,   171,   178,   180,   182,   183,   184,   187,   188,   189,
1793 >     195,   196,   199,   201,   202,   203,   204,   206,  -745,   207,
1794 >    -745,   211,   214,   220,   221,   222,   223,   226,   227,   232,
1795 >     234,   239,   241,   242,   245,   246,   248,   251,   253,   115,
1796 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1797 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1798 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1799 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1800 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1801 >    -745,  -745,  -745,   413,   157,   287,    20,   255,    48,  -745,
1802 >    -745,  -745,    79,   173,   257,   264,    65,  -745,  -745,  -745,
1803 >     338,   359,  -745,   265,   267,   268,   269,   270,   272,    18,
1804 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,   266,   273,   274,
1805 >     275,   277,   279,   280,   283,   284,   288,   298,   300,   308,
1806 >     309,   311,   313,    73,  -745,  -745,  -745,  -745,  -745,  -745,
1807 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1808 >     191,    23,  -745,   314,    35,  -745,  -745,  -745,   388,   395,
1809 >     418,   324,  -745,   442,   443,   382,   445,   445,   448,   449,
1810 >     450,   391,   393,   463,   445,   402,   403,   350,  -745,   353,
1811 >     349,   351,   354,   355,   356,   358,   361,   362,   363,   364,
1812 >     367,   370,   371,   372,     7,  -745,  -745,  -745,  -745,  -745,
1813 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1814 >     376,   377,   378,   384,   385,  -745,   386,   387,   392,   394,
1815 >     397,   398,   400,   407,    43,  -745,  -745,  -745,  -745,  -745,
1816 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1817 >     409,   410,    50,  -745,  -745,  -745,   454,   379,  -745,  -745,
1818 >     411,   412,  -745,  -745,    15,  -745,  -745,  -745,   453,   445,
1819 >     445,   511,   460,   472,   535,   517,   476,   445,   477,   445,
1820 >     540,   541,   544,   483,   484,   487,   445,   531,   489,   553,
1821 >     560,   445,   561,   562,   549,   563,   569,   509,   518,   459,
1822 >     520,   468,   445,   445,   521,   445,   528,   529,   532,  -143,
1823 >     -82,   536,   538,   445,   445,   574,   445,   543,   548,   551,
1824 >     485,  -745,   486,   494,   495,  -745,   496,   497,   503,   505,
1825 >     507,   212,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1826 >    -745,  -745,   508,  -745,   510,  -745,    30,  -745,  -745,  -745,
1827 >     512,  -745,   515,   516,   519,  -745,    27,  -745,  -745,  -745,
1828 >    -745,  -745,   570,   524,  -745,   523,  -745,   629,   632,   539,
1829 >    -745,   546,   545,   552,  -745,   554,   557,   558,  -745,   559,
1830 >      41,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1831 >     556,   564,   566,   567,    90,  -745,  -745,  -745,  -745,   596,
1832 >     599,   649,   607,   609,   445,   565,  -745,  -745,   661,   621,
1833 >     669,   671,   673,   674,   680,   683,   -44,    81,   690,   693,
1834 >     714,   697,   700,   603,  -745,   613,   620,  -745,   627,    32,
1835 >    -745,  -745,  -745,  -745,   631,   633,  -745,   114,  -745,  -745,
1836 >    -745,   732,   635,  -745,   637,   639,   642,  -745,   643,   644,
1837 >     645,   578,   648,   651,   652,   653,   655,   657,   659,   660,
1838 >     662,   663,   666,  -745,  -745,   771,   773,   445,   778,   784,
1839 >     785,   786,   768,   788,   789,   445,   445,   790,   790,   675,
1840 >    -745,  -745,   772,   -33,   774,   733,   676,   775,   779,   781,
1841 >     782,   797,   783,   787,   791,   686,  -745,   795,   796,   691,
1842 >    -745,   692,  -745,   798,   799,   687,   699,  -745,   702,   703,
1843 >     704,   705,   706,   707,   708,   709,   710,   711,   712,   713,
1844 >     715,   718,   719,   720,   721,   722,   723,   724,   725,   726,
1845 >     727,   728,   731,   734,   735,   736,   737,   738,   739,   575,
1846 >     741,   626,   742,   744,   745,   746,   747,   748,   750,   751,
1847 >     752,   753,   754,   755,   756,   757,   758,   759,   760,   761,
1848 >     762,   763,  -745,  -745,   812,   819,   729,   831,   860,   863,
1849 >     864,   865,   769,  -745,   866,   767,   869,   776,  -745,  -745,
1850 >     770,   870,   872,   892,   777,  -745,   780,  -745,    29,   792,
1851 >     793,  -745,  -745,   876,   834,   794,   879,   880,   881,   800,
1852 >     882,   801,  -745,  -745,   883,   884,   885,   802,  -745,   804,
1853 >     805,   806,   807,   808,   809,  -745,   810,   811,   813,   814,
1854 >     815,   816,   817,   818,  -745,  -745,  -209,  -745,  -745,  -745,
1855 >    -184,  -745,   820,   821,   822,   823,   824,  -745,  -745,   886,
1856 >     825,   887,   826,  -745,  -745,   888,   827,   829,  -745,   832,
1857 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,   445,   445,   445,
1858 >     445,   445,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1859 >    -745,  -745,  -745,  -745,  -745,   833,   835,   836,   838,   839,
1860 >     840,   841,   842,   843,   844,   845,   846,   294,   847,   848,
1861 >    -745,   849,   850,   851,   852,   853,    -3,   854,   855,   856,
1862 >     857,   858,   859,   861,   862,  -745,   867,   868,  -745,  -745,
1863 >     871,   873,   889,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1864 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1865 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1866 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1867 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1868 >    -745,  -745,  -745,  -745,  -745,  -183,  -745,  -745,  -745,  -745,
1869 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1870 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -181,  -745,
1871 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1872 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1873 >     874,   875,   743,   877,   878,   890,   891,   893,  -745,   894,
1874 >     905,   895,  -745,   -26,   896,   897,   911,   830,  -745,  -745,
1875 >    -745,   898,   828,  -745,   899,   170,  -745,  -745,  -745,  -745,
1876 >    -745,  -745,   900,   901,   452,   903,   904,   906,   654,   907,
1877 >    -745,   908,   909,   910,  -745,  -745,  -745,  -745,  -745,  -745,
1878 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1879 >     -44,  -745,    81,  -745,  -745,  -745,  -745,  -745,   912,   488,
1880 >     913,  -745,   914,   668,  -745,  -745,  -745,  -745,  -745,  -745,
1881 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1882 >    -745,  -745,  -745,   790,   790,   790,  -745,  -745,  -745,  -745,
1883 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -168,  -745,  -745,
1884 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1885 >    -745,  -745,  -166,  -745,  -745,   575,  -745,   626,  -745,  -745,
1886 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -165,
1887 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -157,  -745,
1888 >    -745,  -745,  -745,  -745,  -154,  -745,  -745,  -745,   915,   892,
1889 >     916,  -745,   917,   902,   -90,   918,  -745,  -745,  -745,  -745,
1890 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1891 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -142,  -745,
1892 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1893 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1894 >    -745,  -745,  -745,   -71,  -745,  -745,  -745,  -745,  -745,  -745,
1895 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1896 >    -745,  -745,    -7,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1897 >    -745,  -745,  -745,  -745,  -745,  -745,   109,  -745,  -745,  -745,
1898 >    -745,  -745,    -3,  -745,   889,  -745,  -745,  -745,   743,  -745,
1899 >     905,  -745,   -26,  -745,  -745,  -745,   919,   491,   920,   921,
1900 >    -745,  -745,   452,  -745,   654,  -745,   488,  -745,   668,  -745,
1901 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1902 >    -745,  -745,   122,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1903 >    -745,   491,  -745
1904   };
1905  
1906   /* YYPGOTO[NTERM-NUM].  */
1907   static const yytype_int16 yypgoto[] =
1908   {
1909 <    -949,  -949,  -949,  -427,  -340,  -948,  -423,  -949,  -949,   946,
1910 <    -949,  -949,  -949,  -949,   865,  -949,  -949,  -949,  -293,  -949,
1911 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1912 <    -949,  -949,  1095,  -949,  -949,  -949,  -949,  -949,   643,  -949,
1913 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1914 <    -949,  -949,  -949,  -949,  -949,   406,  -949,  -949,  -949,  -949,
1915 <    -949,  -949,  -949,  -949,  -949,  -949,  -166,  -949,  -949,  -949,
1916 <    -146,  -949,  -949,  -118,  -949,  -949,  -949,  -949,   613,  -949,
1917 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1918 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,   -60,  -949,
1919 <     724,  -949,  -949,  -949,    43,  -949,  -949,  -949,  -949,  -949,
1920 <     781,  -949,  -949,  -949,  -949,  -949,  -949,  -949,   -42,  -949,
1921 <    -949,   -39,  -949,  -949,  -949,  -949,  -949,  -949,   698,  -949,
1922 <    -949,  -949,  -949,  -949,  -949,   669,  -949,  -949,  -949,  -949,
1923 <    -949,   -91,  -949,  -949,  -949,   663,  -949,  -949,  -949,  -949,
1924 <     -90,  -949,  -949,  -949,  -949,   595,  -949,  -949,  -949,  -949,
1925 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,   -94,  -949,  -949,
1926 <     -87,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1927 <    -949,  -949,   -48,  -949,   785,  -949,  -949,  -949,  -949,  -949,
1928 <     863,  -949,  -949,  -949,  -949,  1100,  -949,  -949,  -949,  -949,
1929 <    -949,  -949,   -20,  -949,   854,  -949,  -949,  -949,  -949,  1043,
1930 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1931 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1932 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1933 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1934 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1935 <    -949,  -949,   101,  -949,  -949,  -949,   105,  -949,  -949,  -949,
1936 <    -949,  -949,  -949,  -949,   818,  -949,  -949,  -949,  -949,  -949,
1937 <     -21,  -949,  -949,  -949,  -949,  -949,   -17,  -949,  -949,  1133,
2108 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2109 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2110 <     949,  -949,  -949,  -949,  -949,  -949,  -949,  -949
1909 >    -745,  -745,  -745,  -472,  -304,  -744,  -607,  -745,  -745,   922,
1910 >    -745,  -745,  -745,  -745,   740,  -745,  -745,  -745,     9,  -745,
1911 >      10,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1912 >    -745,  -745,  -745,  -745,  -745,  -745,   946,  -745,  -745,  -745,
1913 >    -745,  -745,   923,  -745,  -745,  -745,  -745,    53,  -745,  -745,
1914 >    -745,  -745,  -745,  -198,  -745,  -745,  -745,   571,  -745,  -745,
1915 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -169,  -745,  -745,
1916 >    -745,  -130,  -745,  -745,  -745,   749,  -745,  -745,  -745,  -745,
1917 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1918 >    -745,  -745,  -745,  -745,  -745,  -147,  -745,   598,  -745,  -745,
1919 >    -745,   -12,  -745,  -745,  -745,  -745,  -745,   636,  -745,  -745,
1920 >    -745,  -745,  -745,  -745,  -745,  -110,  -745,  -745,  -745,  -745,
1921 >    -745,  -745,   576,  -745,  -745,  -745,  -745,  -745,   924,  -745,
1922 >    -745,  -745,  -745,   542,  -745,  -745,  -745,  -745,  -745,  -126,
1923 >    -745,  -745,  -745,   527,  -745,  -745,  -745,  -745,  -119,  -745,
1924 >    -745,  -745,   765,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1925 >    -745,  -745,  -745,   -94,  -745,  -745,  -745,  -745,  -745,  -745,
1926 >    -745,  -745,  -745,  -745,   -98,  -745,   628,  -745,  -745,  -745,
1927 >    -745,  -745,   764,  -745,  -745,  -745,  -745,   991,  -745,  -745,
1928 >    -745,  -745,  -745,  -745,   -89,  -745,   716,  -745,  -745,  -745,
1929 >    -745,   937,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1930 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1931 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1932 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1933 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1934 >    -745,  -745,    40,  -745,  -745,  -745,    52,  -745,  -745,  -745,
1935 >    -745,  -745,  1042,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1936 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,   925,
1937 >    -745,  -745,  -745,  -745,  -745,  -745
1938   };
1939  
1940   /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1941     positive, shift that token.  If negative, reduce the rule which
1942 <   number is the opposite.  If zero, do what YYDEFACT says.
1943 <   If YYTABLE_NINF, syntax error.  */
1944 < #define YYTABLE_NINF -1
2118 < static const yytype_uint16 yytable[] =
1942 >   number is the opposite.  If YYTABLE_NINF, syntax error.  */
1943 > #define YYTABLE_NINF -108
1944 > static const yytype_int16 yytable[] =
1945   {
1946 <     567,   568,   704,   122,    45,    46,   122,   574,  1132,  1138,
1947 <    1312,   128,  1313,  1160,    47,   272,  1125,    48,   129,   130,
1948 <    1126,   357,   131,    67,  1127,   508,   115,  1314,  1128,   132,
1949 <     476,  1315,    67,  1129,  1130,  1131,  1182,   653,   133,   655,
1950 <    1183,  1244,   134,   135,  1248,  1245,   509,  1250,  1249,   136,
1951 <      52,  1251,   668,   137,   138,   671,   139,    54,   367,    68,
1952 <     676,   272,   140,   981,   982,   983,   695,   696,    68,    69,
1953 <     541,   687,   688,    59,   690,   467,   550,   357,    69,    60,
1954 <     141,   142,   477,   701,   702,   143,   705,   697,   698,  1068,
1955 <    1069,   123,   144,   467,   123,    76,   145,   146,   147,  1103,
1956 <    1104,   148,  1253,   550,   149,   150,  1254,    77,    63,   358,
1957 <      64,  1266,   478,   433,   151,  1267,   434,   581,   479,   448,
1958 <     152,   153,   118,   154,   155,   156,   157,   158,    78,    79,
1959 <     121,  1268,   273,   300,    80,  1269,    81,   127,   159,   582,
1960 <     583,   367,    70,   241,   449,   279,   584,   160,   510,   161,
1961 <     162,    70,   163,   508,  1305,   164,   165,   435,  1306,   166,
1962 <     436,   610,   274,   611,   242,   358,   612,   450,  1161,   301,
1963 <     167,   451,  1162,   243,   509,   359,   244,   368,   273,   511,
1964 <     703,   480,   764,   795,   541,   613,   614,   282,   327,   542,
1965 <      82,    83,   168,   283,   169,   551,  1133,  1139,   170,    84,
1966 <      85,   328,   171,   172,   173,   174,   175,   765,   274,   615,
1967 <     176,   177,   369,   616,   437,   329,   302,   330,   355,   178,
1968 <      86,    87,   551,   585,   586,   587,   331,   245,   588,   468,
1969 <     766,   359,   438,   284,   767,  1307,   589,    88,    89,  1308,
1970 <     332,   335,  1316,   617,   370,   618,   285,   468,    90,   590,
1971 <     591,   179,   303,   180,   304,   305,   543,    91,   619,   181,
1972 <     368,   469,   552,   365,   182,   452,   592,   593,   286,   183,
1973 <     287,   431,   288,   289,   453,   454,   510,   487,   336,   469,
1974 <     620,   246,   247,   248,   249,   250,   251,   252,   253,   552,
1975 <     740,   290,   333,   337,   594,   369,   338,   306,  1310,   307,
1976 <     308,   768,  1311,   542,   339,   340,   764,   511,   455,   448,
1977 <     341,   342,   621,   343,   300,   309,  1326,   544,   650,   476,
1978 <    1327,   505,   470,   502,   344,   345,   622,   370,   769,   254,
1979 <     814,   765,   526,   346,   449,   733,   819,   643,   566,   623,
1980 <     470,   347,   348,   349,    92,    93,    94,   770,  1345,   350,
1981 <     301,   356,  1346,   351,   766,   353,   352,   450,   767,   310,
1982 <     439,   451,   364,   376,   255,   433,   456,   377,   434,   378,
1983 <     543,   477,   993,   717,   379,   557,   380,   863,   381,   728,
1984 <     829,   830,   831,   832,   833,   382,   383,   311,   312,   384,
1985 <     385,   386,   387,   539,   388,   561,   389,   302,   390,   391,
1986 <     392,   478,  1083,  1084,  1085,  1086,  1087,   479,   393,   435,
1987 <     394,   395,   436,   787,   396,   624,   128,   771,   397,   398,
1988 <     399,   880,   400,   129,   130,   768,   401,   131,   402,   772,
1989 <     403,   544,   404,   303,   132,   304,   305,   405,   406,  1100,
1990 <     407,   409,  1048,   133,   507,   256,   558,   134,   135,   411,
1991 <     412,   413,   769,   524,   136,   452,   414,   415,   137,   138,
1992 <     416,   139,   417,   418,   453,   454,   437,   140,   419,   420,
1993 <     480,   770,   421,   422,   423,   424,   425,   426,   306,   257,
1994 <     307,   308,   427,   428,   438,   141,   142,   500,   429,   559,
1995 <     143,   430,   488,   489,   490,   491,   309,   144,   455,   492,
1996 <     493,   145,   146,   147,   494,   495,   148,   496,   497,   149,
1997 <     150,   498,  1090,   499,   503,   504,   517,   518,   519,   151,
1998 <    1098,  1099,   610,   520,   611,   152,   153,   612,   154,   155,
1999 <     156,   157,   158,   521,   522,   523,   527,   528,   529,   530,
2000 <     310,   771,   531,   159,   532,   533,   613,   614,   535,   536,
2001 <     537,   538,   160,   772,   161,   162,   456,   163,  1328,   560,
2002 <     164,   165,   562,   563,   166,   564,   565,   566,   311,   312,
2003 <     615,   569,   570,   571,   616,   167,   572,   573,   575,   245,
2004 <     750,   751,   752,   753,   754,   755,   756,   576,   577,   578,
2005 <     579,  1329,   580,   641,   642,   645,   647,   168,   646,   169,
2006 <     648,   652,  1330,   170,   617,   654,   618,   171,   172,   173,
2007 <     174,   175,   439,   656,   657,   176,   177,   658,  1331,   619,
2008 <     659,   660,   661,   662,   178,  1332,   663,   664,   665,   666,
2009 <    1333,   667,  1334,   246,   247,   248,   249,   250,   251,   252,
2010 <     253,   620,   669,    76,   670,  1335,   672,   673,   674,   675,
2011 <    1255,  1256,   679,   677,   678,    77,   179,   680,   180,   681,
2012 <     682,   683,  1185,   684,   181,   283,   685,   691,   686,   182,
2013 <       2,     3,   689,   621,   183,     4,    78,    79,  1336,   703,
2014 <    1257,   254,    80,   712,    81,   692,   693,   622,   710,   694,
2015 <     713,   699,     5,   715,  1337,   719,     6,  1258,   700,     7,
2016 <     623,   706,   707,   708,  1259,   284,     8,   709,   742,   735,
2017 <     743,   716,  1338,   744,  1339,  1340,   255,   720,   285,  1200,
2018 <     721,     9,   723,  1260,   745,   724,   746,   581,   725,   726,
2019 <     727,   730,   747,    10,    11,   732,    12,   737,    82,    83,
2020 <     286,  1186,   287,    13,   288,   289,   738,    84,    85,   582,
2021 <     583,  1261,   748,   739,   749,   757,   584,   758,   759,  1262,
2022 <      14,   761,   760,   290,   762,   789,   784,   763,    86,    87,
2023 <      15,   783,    16,  1187,   790,   785,   624,   791,   786,   792,
2024 <     793,   794,  1341,   798,   796,    88,    89,   797,  1188,    17,
2025 <     799,   800,   801,   802,   803,   804,    90,   256,  1201,   805,
2026 <    1342,   807,  1263,   806,   808,    91,    18,   809,  1189,  1190,
2027 <    1343,   810,   811,   813,  1191,  1192,  1193,  1194,   816,   817,
2028 <    1122,  1264,   821,   822,   823,   824,   825,  1195,   882,   826,
2029 <    1202,   257,   827,   585,   586,   587,   828,   850,   588,   883,
2030 <     886,    19,   836,   887,   851,  1203,   589,   837,   838,   839,
2031 <      20,    21,   840,   841,   842,    22,    23,   843,   844,   590,
2032 <     591,  1156,   996,   845,   997,  1204,  1205,   846,   852,   847,
2033 <     848,  1206,  1207,  1208,  1209,   849,   592,   593,  1167,   853,
2034 <     854,   855,   856,   857,  1210,   858,   859,   860,   861,   865,
2035 <    1304,   862,    92,    93,    94,   866,   922,   923,   924,   925,
2036 <     926,   501,   927,   928,   594,   929,   930,   931,   867,   994,
2037 <     932,  1000,   868,   869,  1003,   870,   872,   873,   874,   875,
2038 <     933,   934,   935,   876,   936,   937,   938,  1015,   877,   939,
2039 <     878,   879,   940,   944,   945,   946,   947,   948,   884,   949,
2040 <     950,   885,   951,   952,   953,   888,   992,   954,   889,   890,
2041 <     999,   891,  1002,   892,   893,   894,   895,   955,   956,   957,
2042 <     896,   958,   959,   960,   897,   898,   961,   899,   900,   962,
2043 <    1282,  1283,  1284,  1285,  1286,   901,  1287,  1288,   902,  1289,
2044 <    1290,  1291,   903,   904,  1292,   905,  1004,   906,   907,  1005,
2045 <     908,   909,   910,   911,  1293,  1294,  1295,   912,  1296,  1297,
2046 <    1298,   913,   914,  1299,   915,   916,  1300,   917,   918,   919,
2047 <     920,   921,   943,   965,   966,   967,   968,   969,   970,   971,
2048 <     972,   973,   974,   975,   976,   977,  1006,   978,   979,   980,
2049 <     986,   987,   988,   989,   990,   991,  1008,   998,  1010,   995,
2050 <    1007,  1001,  1009,  1013,  1011,  1012,  1014,  1018,  1019,  1020,
2051 <    1021,  1022,  1023,  1024,  1025,  1026,  1050,  1051,  1027,  1052,
2052 <    1028,  1029,  1030,  1031,  1032,  1033,  1034,  1035,  1036,  1037,
2053 <    1038,  1039,  1076,  1078,  1080,  1040,  1041,  1043,  1044,  1045,
2054 <    1047,  1053,  1054,  1055,  1056,  1057,  1058,  1059,  1060,  1061,
2055 <    1062,  1063,  1064,  1088,  1065,  1066,  1089,  1067,  1072,  1073,
2056 <    1074,  1075,  1091,  1079,  1092,  1077,  1082,  1081,  1093,  1094,
2057 <    1095,  1096,  1097,  1101,  1102,  1107,  1105,  1106,  1108,  1109,
2058 <    1110,  1111,  1112,  1113,  1117,  1114,  1118,  1115,  1116,  1119,
2059 <    1120,  1121,  1136,  1146,  1137,  1142,  1143,  1144,  1145,  1150,
2060 <    1151,  1152,  1153,  1170,  1154,  1171,  1155,  1159,  1165,  1166,
2061 <    1173,  1174,  1175,  1177,  1232,  1168,  1178,  1172,  1176,  1179,
2062 <    1180,  1181,  1184,  1270,  1275,  1198,   334,  1199,  1213,  1214,
2063 <    1215,  1216,  1217,  1218,  1219,  1220,  1221,  1222,   540,  1049,
2064 <    1353,  1352,  1223,  1224,  1225,  1226,  1227,  1228,  1229,  1230,
2065 <    1231,  1236,  1237,  1238,  1239,  1240,  1241,  1242,  1243,  1272,
2066 <    1273,  1274,  1279,  1280,  1281,  1303,   741,  1351,   864,  1324,
2067 <     788,  1271,  1322,  1321,   815,  1347,   820,  1350,  1348,  1323,
2242 <     881,   506,  1349,   644,   366,  1318,   651,   432,   354,  1247,
2243 <    1320,  1246,  1319,     0,     0,     0,     0,     0,   729,     0,
2244 <     525,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2245 <       0,     0,     0,     0,     0,     0,     0,   734,   718
1946 >     818,   819,   582,   583,   233,  1045,    47,   110,   319,   999,
1947 >     590,   817,   292,  1000,    45,    46,   389,    67,   110,   242,
1948 >     679,   680,   320,   321,   564,  1091,   322,    48,   480,    52,
1949 >     961,   471,    54,   555,  1001,  1064,   292,  1066,  1002,  1065,
1950 >      68,  1067,   501,    58,   350,    59,   351,    69,   352,   226,
1951 >    1191,   379,  1193,  1197,  1192,   243,  1194,  1198,   502,    62,
1952 >     353,  1199,   226,   481,  1201,  1200,   233,   111,  1202,   244,
1953 >     245,   246,   247,   503,   257,   354,  1211,   504,   111,   355,
1954 >    1212,   681,   682,   482,    63,   323,   324,   325,   483,   248,
1955 >     326,   520,   234,   754,   755,   639,   640,   258,   327,   356,
1956 >      66,   357,   293,   647,   521,   649,   390,    70,  1208,   328,
1957 >     329,   380,   656,   358,   565,   564,   116,   661,   235,   379,
1958 >     962,   117,   118,   556,   330,   331,   293,   119,   672,   673,
1959 >     259,   675,   505,   107,   359,   120,   108,   391,   297,   685,
1960 >     686,   121,   688,   122,   123,   124,   484,  1213,   822,   823,
1961 >     125,  1214,   472,   332,   234,   506,   126,   127,   471,   128,
1962 >     129,   130,   360,  1092,   260,   131,   261,   262,  1093,   392,
1963 >     132,   961,   381,   507,   133,   134,   298,   566,   135,   380,
1964 >     235,   136,   137,   963,   473,   522,   557,   299,   109,   138,
1965 >     361,  1046,   555,   389,   333,   115,   139,   140,   223,   141,
1966 >     142,   143,   144,   145,   263,   565,   264,   265,   266,   267,
1967 >     224,  1215,   523,   452,   146,  1216,   225,   362,   758,   759,
1968 >     147,   148,   149,   268,   150,   387,   609,   151,   152,   453,
1969 >     744,   153,    76,   240,   636,   301,   508,   535,   491,   474,
1970 >     381,   558,   154,   300,   454,   964,   714,   269,   455,   707,
1971 >     509,   772,    77,    78,   572,   363,   241,   270,    79,   227,
1972 >     731,   962,   625,   303,    67,  -107,   155,   493,   566,   629,
1973 >     156,   290,   227,   157,   158,   159,   160,   161,  -107,   472,
1974 >     162,   163,   556,   390,   499,   271,   272,    68,   480,  1188,
1975 >    1189,  1190,   553,   807,    69,   291,   495,   304,   305,    80,
1976 >      81,   815,   816,  1033,  1034,  1035,    82,    83,    84,   737,
1977 >     306,   473,   307,   308,   391,  1016,  1017,  1018,  1019,  1020,
1978 >     164,   165,   166,   481,   963,   167,   456,  1217,    85,    86,
1979 >     168,  1218,   309,   777,   450,   457,   458,   310,   311,   501,
1980 >    1240,    87,    88,   482,  1241,   557,   392,   312,   483,   313,
1981 >     314,   315,    89,   116,    70,   502,   316,   386,   117,   118,
1982 >     520,    90,   398,   399,   119,   400,   474,   401,   459,   402,
1983 >     503,   403,   120,   521,   504,   404,   405,   406,   121,   407,
1984 >     122,   123,   124,   408,   409,   410,   964,   125,   411,  1105,
1985 >     257,   496,   412,   126,   127,   817,   128,   129,   130,   413,
1986 >     558,   414,   131,   415,   416,   417,   484,   132,   418,   419,
1987 >     420,   133,   134,   258,   452,   135,   421,   422,   136,   137,
1988 >     423,   460,   424,   425,   426,   427,   138,   428,   430,   505,
1989 >     453,   702,   432,   139,   140,   433,   141,   142,   143,   144,
1990 >     145,   434,   435,   436,   437,   454,   259,   438,   439,   455,
1991 >     317,   146,   506,   440,   522,   441,  1109,   147,   148,   149,
1992 >     442,   150,   443,   444,   151,   152,   445,   446,   153,   447,
1993 >     507,   350,   448,   351,   449,   352,   492,  1110,   497,   154,
1994 >     260,   523,   261,   262,   537,   498,   529,   353,   530,   531,
1995 >     532,   533,  1111,   534,   538,   539,   540,  1209,   541,  1112,
1996 >     542,   543,   354,   155,   544,   545,   355,   156,   574,   546,
1997 >     157,   158,   159,   160,   161,   575,  1113,   162,   163,   547,
1998 >     263,   548,   264,   265,   266,   267,   356,   456,   357,   549,
1999 >     550,  1225,   551,   508,   552,   571,   457,   458,   576,   268,
2000 >     358,  1114,   577,   578,   579,   580,   581,   509,  1115,   584,
2001 >     585,   586,  1162,  1226,   587,  1227,   588,   164,   165,   166,
2002 >    1116,   359,   167,   269,   589,   591,   592,   168,   593,   459,
2003 >     595,   594,   596,   270,   631,   597,   598,   599,  1117,   600,
2004 >    1118,  1119,   601,   602,   603,   604,     2,     3,   605,   360,
2005 >       4,   606,   607,   608,   611,  1228,   319,   632,   612,   613,
2006 >       5,   271,   272,     6,     7,   614,   615,   617,   618,     8,
2007 >     320,   321,   641,   619,   322,   620,   638,   361,   621,   622,
2008 >       9,   623,   460,   642,    10,    11,   875,  1163,   624,  1120,
2009 >     627,   628,   633,   634,    12,   643,   644,   645,  1121,   646,
2010 >     648,   650,   651,  1122,   362,   652,   653,   654,    13,  1123,
2011 >     655,   657,   658,  1124,   659,  1125,  1164,   242,    14,    15,
2012 >    1126,   660,   662,   663,   665,  1165,  1127,  1229,  1230,   664,
2013 >     666,  1166,   667,   323,   324,   325,    16,   898,   326,   581,
2014 >     669,   668,   363,   670,   674,  1167,   327,  1168,  1169,   671,
2015 >      17,   676,   677,   243,   687,   678,  1170,   328,   329,   683,
2016 >    1231,   684,  1171,   692,   693,  1133,   689,   244,   245,   246,
2017 >     247,   690,   330,   331,   691,   694,   695,   697,   698,   787,
2018 >     788,   789,   790,   791,   699,    18,   700,   248,   701,   704,
2019 >     709,   706,  1176,   716,    19,    20,   711,   712,    21,    22,
2020 >     713,   332,   717,   718,   876,   877,   878,   879,   880,   719,
2021 >     881,   882,   720,   883,   884,   885,  1070,   721,   886,   739,
2022 >     887,   888,   740,   889,   722,   890,   723,   891,   892,   741,
2023 >     742,   893,   743,   724,   733,   726,  1071,   894,   727,   728,
2024 >     730,   746,   333,   745,   747,   734,  1072,   735,   736,   748,
2025 >      23,   749,  1073,   750,   751,   899,   900,   901,   902,   903,
2026 >     752,   904,   905,   753,   906,   907,   908,  1177,  1074,   909,
2027 >     762,   910,   911,   763,   912,   764,   913,   765,   914,   915,
2028 >     766,   767,   916,  1134,  1135,  1136,  1137,  1138,   917,  1139,
2029 >    1140,   768,  1141,  1142,  1143,  1075,  1178,  1144,    76,  1145,
2030 >    1146,   769,  1147,  1076,  1148,  1179,  1149,  1150,   771,   774,
2031 >    1151,  1180,   779,   780,   775,   781,  1152,   782,    77,    78,
2032 >     783,   784,   785,   786,    79,  1181,   794,  1182,  1183,   795,
2033 >     796,   797,   805,   798,   806,   799,  1184,   800,   801,   808,
2034 >     802,   803,  1185,  1077,   804,   809,   810,   811,   812,   813,
2035 >     814,   817,   821,   820,   824,   827,   825,   826,   831,   828,
2036 >    1078,   829,   830,   832,   835,    80,    81,   833,   842,   838,
2037 >     839,   834,    82,    83,    84,   836,   837,   843,   840,   841,
2038 >     844,   845,   846,   847,   848,   849,   850,   851,   852,   853,
2039 >     854,   855,   940,   856,    85,    86,   857,   858,   859,   860,
2040 >     861,   862,   863,   864,   865,   866,   867,    87,    88,   868,
2041 >     942,   943,   869,   870,   871,   872,   873,   874,    89,   897,
2042 >     920,   944,   921,   922,   923,   924,   925,    90,   926,   927,
2043 >     928,   929,   930,   931,   932,   933,   934,   935,   936,   937,
2044 >     938,   939,   941,   945,   946,   947,   949,   948,   950,   951,
2045 >     954,   953,   955,   956,   952,   959,   972,   973,   960,   975,
2046 >     976,   977,   979,   981,   982,   983,  1008,  1010,  1012,  1159,
2047 >     970,   971,  1160,   554,  1061,   974,  1203,   302,  1106,   980,
2048 >     984,   978,   985,   986,   987,   988,   989,   990,   991,   992,
2049 >    1087,   993,   994,   995,   996,   997,   998,  1206,  1003,  1004,
2050 >    1005,  1006,  1007,  1242,  1011,  1237,  1009,  1014,  1013,  1102,
2051 >    1015,  1021,  1099,  1022,  1023,  1223,  1024,  1025,  1026,  1027,
2052 >    1028,  1029,  1030,  1031,  1032,  1038,  1039,  1040,  1041,  1042,
2053 >    1043,  1044,  1049,  1050,  1051,  1052,  1053,  1054,  1098,  1055,
2054 >    1056,   732,  1236,   610,   715,  1057,  1058,  1204,  1221,  1059,
2055 >    1238,  1060,  1068,  1069,   778,  1081,  1082,   703,  1219,  1239,
2056 >     738,   773,  1222,   388,   708,  1220,   451,  1196,  1083,  1084,
2057 >     637,  1085,  1086,  1090,  1096,  1097,  1101,  1195,  1107,  1108,
2058 >    1104,  1130,  1131,  1207,  1132,  1155,  1156,  1157,  1158,   626,
2059 >    1161,  1174,  1175,   318,  1205,     0,  1210,  1224,  1234,  1235,
2060 >       0,     0,     0,     0,     0,     0,   630,     0,     0,     0,
2061 >       0,   494,     0,     0,     0,     0,     0,     0,   500,     0,
2062 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2063 >       0,     0,     0,     0,   536,     0,     0,     0,     0,     0,
2064 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2065 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2066 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2067 >       0,     0,     0,     0,     0,     0,     0,     0,   573
2068   };
2069  
2070 + #define yypact_value_is_default(yystate) \
2071 +  ((yystate) == (-745))
2072 +
2073 + #define yytable_value_is_error(yytable_value) \
2074 +  YYID (0)
2075 +
2076   static const yytype_int16 yycheck[] =
2077   {
2078 <     340,   341,   425,     1,   260,   261,     1,   347,    11,    11,
2079 <      10,     1,    12,    76,   262,     1,   260,   262,     8,     9,
2080 <     264,     1,    12,     1,   260,     1,   153,    27,   264,    19,
2081 <       1,    31,     1,   981,   982,   983,   260,   377,    28,   379,
2082 <     264,   260,    32,    33,   260,   264,    22,   260,   264,    39,
2083 <     262,   264,   392,    43,    44,   395,    46,   262,     1,    37,
2084 <     400,     1,    52,    14,    15,    16,   197,   198,    37,    47,
2085 <       1,   411,   412,   262,   414,     1,     1,     1,    47,   262,
2086 <      70,    71,    53,   423,   424,    75,   426,   197,   198,   169,
2087 <     170,    89,    82,     1,    89,     1,    86,    87,    88,   216,
2088 <     217,    91,   260,     1,    94,    95,   264,    13,   262,    89,
2089 <     262,   260,    83,     1,   104,   264,     4,     1,    89,     1,
2090 <     110,   111,   153,   113,   114,   115,   116,   117,    34,    35,
2091 <     262,   260,   118,     1,    40,   264,    42,   262,   128,    23,
2092 <      24,     1,   120,   262,    26,   153,    30,   137,   124,   139,
2093 <     140,   120,   142,     1,   260,   145,   146,    45,   264,   149,
2094 <      48,     1,   148,     3,   262,    89,     6,    49,   231,    37,
2095 <     160,    53,   235,   262,    22,   155,   262,   120,   118,   155,
2096 <     131,   152,     1,   523,     1,    25,    26,   262,   262,   120,
2097 <      96,    97,   182,     1,   184,   120,   199,   199,   188,   105,
2098 <     106,   262,   192,   193,   194,   195,   196,    26,   148,    49,
2099 <     200,   201,   155,    53,   102,   260,    84,   263,   262,   209,
2100 <     126,   127,   120,   107,   108,   109,   263,     1,   112,   155,
2101 <      49,   155,   120,    41,    53,   260,   120,   143,   144,   264,
2102 <     263,   263,   242,    83,   187,    85,    54,   155,   154,   133,
2103 <     134,   241,   120,   243,   122,   123,   187,   163,    98,   249,
2104 <     120,   187,   187,   261,   254,   147,   150,   151,    76,   259,
2105 <      78,   261,    80,    81,   156,   157,   124,   260,   263,   187,
2106 <     120,    55,    56,    57,    58,    59,    60,    61,    62,   187,
2107 <     261,    99,   261,   263,   178,   155,   263,   165,   260,   167,
2108 <     168,   120,   264,   120,   263,   263,     1,   155,   190,     1,
2109 <     263,   263,   152,   263,     1,   183,   260,   248,   261,     1,
2110 <     264,   261,   248,   260,   263,   263,   166,   187,   147,   103,
2111 <     261,    26,   260,   263,    26,   261,   261,   261,   131,   179,
2112 <     248,   263,   263,   263,   250,   251,   252,   166,   260,   263,
2113 <      37,   262,   264,   263,    49,   261,   263,    49,    53,   227,
2114 <     248,    53,   263,   263,   138,     1,   248,   263,     4,   263,
2115 <     187,    53,   712,   261,   263,   153,   263,   261,   263,   261,
2116 <     173,   174,   175,   176,   177,   263,   263,   255,   256,   263,
2117 <     263,   263,   263,   261,   263,   197,   263,    84,   263,   263,
2118 <     263,    83,   829,   830,   831,   832,   833,    89,   263,    45,
2119 <     263,   263,    48,   261,   263,   255,     1,   236,   263,   263,
2120 <     263,   261,   263,     8,     9,   120,   263,    12,   263,   248,
2121 <     263,   248,   263,   120,    19,   122,   123,   263,   263,   862,
2122 <     263,   263,   261,    28,   262,   219,   153,    32,    33,   263,
2123 <     263,   263,   147,   261,    39,   147,   263,   263,    43,    44,
2124 <     263,    46,   263,   263,   156,   157,   102,    52,   263,   263,
2125 <     152,   166,   263,   263,   263,   263,   263,   263,   165,   253,
2126 <     167,   168,   263,   263,   120,    70,    71,   261,   263,   153,
2127 <      75,   263,   263,   263,   263,   263,   183,    82,   190,   263,
2128 <     263,    86,    87,    88,   263,   263,    91,   263,   263,    94,
2129 <      95,   263,   852,   263,   263,   263,   263,   263,   263,   104,
2130 <     860,   861,     1,   263,     3,   110,   111,     6,   113,   114,
2131 <     115,   116,   117,   263,   263,   263,   263,   263,   263,   263,
2132 <     227,   236,   263,   128,   263,   263,    25,    26,   263,   263,
2133 <     263,   263,   137,   248,   139,   140,   248,   142,     5,   260,
2134 <     145,   146,   131,   131,   149,   197,   197,   131,   255,   256,
2135 <      49,   131,   131,   197,    53,   160,   197,   131,   197,     1,
2136 <     220,   221,   222,   223,   224,   225,   226,   197,   197,   197,
2137 <     197,    38,   260,   263,   263,   153,   263,   182,   260,   184,
2138 <     263,   197,    49,   188,    83,   197,    85,   192,   193,   194,
2139 <     195,   196,   248,   131,   153,   200,   201,   131,    65,    98,
2140 <     197,   197,   131,   153,   209,    72,   197,   131,   131,   131,
2141 <      77,   197,    79,    55,    56,    57,    58,    59,    60,    61,
2142 <      62,   120,   197,     1,   197,    92,   153,   197,   131,   131,
2143 <      20,    21,   153,   131,   131,    13,   241,   131,   243,   131,
2144 <     197,   197,    92,   263,   249,     1,   197,   153,   263,   254,
2145 <       0,     1,   197,   152,   259,     5,    34,    35,   125,   131,
2146 <      50,   103,    40,   263,    42,   197,   197,   166,   260,   197,
2147 <     263,   197,    22,   263,   141,   260,    26,    67,   197,    29,
2148 <     179,   197,   197,   197,    74,    41,    36,   197,   153,   260,
2149 <     153,   263,   159,   153,   161,   162,   138,   263,    54,    92,
2150 <     263,    51,   263,    93,   153,   263,   153,     1,   263,   263,
2151 <     263,   263,   153,    63,    64,   263,    66,   263,    96,    97,
2152 <      76,   171,    78,    73,    80,    81,   263,   105,   106,    23,
2153 <      24,   121,   153,   263,   153,   153,    30,   153,   197,   129,
2154 <      90,   153,   260,    99,   153,   197,   263,   260,   126,   127,
2155 <     100,   260,   102,   203,   197,   263,   255,   197,   263,   153,
2156 <     197,   197,   229,   197,   260,   143,   144,   153,   218,   119,
2157 <     153,   153,   153,   153,   153,   263,   154,   219,   171,   153,
2158 <     247,   153,   172,   131,   153,   163,   136,   260,   238,   239,
2159 <     257,   260,   263,   263,   244,   245,   246,   247,   260,   263,
2160 <     158,   191,   260,   260,   260,   260,   260,   257,   153,   260,
2161 <     203,   253,   260,   107,   108,   109,   260,   263,   112,   153,
2162 <     153,   171,   260,   153,   263,   218,   120,   260,   260,   260,
2163 <     180,   181,   260,   260,   260,   185,   186,   260,   260,   133,
2164 <     134,   158,   153,   260,   153,   238,   239,   260,   263,   260,
2165 <     260,   244,   245,   246,   247,   260,   150,   151,   202,   263,
2166 <     263,   263,   263,   263,   257,   263,   263,   263,   263,   260,
2167 <    1183,   263,   250,   251,   252,   263,   204,   205,   206,   207,
2168 <     208,   258,   210,   211,   178,   213,   214,   215,   263,   197,
2169 <     218,   197,   263,   263,   131,   263,   263,   263,   263,   263,
2170 <     228,   229,   230,   263,   232,   233,   234,   131,   263,   237,
2171 <     263,   263,   240,   204,   205,   206,   207,   208,   260,   210,
2172 <     211,   260,   213,   214,   215,   263,   263,   218,   260,   260,
2173 <     153,   260,   153,   260,   260,   260,   260,   228,   229,   230,
2174 <     260,   232,   233,   234,   260,   260,   237,   260,   260,   240,
2175 <     204,   205,   206,   207,   208,   260,   210,   211,   260,   213,
2176 <     214,   215,   260,   260,   218,   260,   153,   260,   260,   153,
2177 <     260,   260,   260,   260,   228,   229,   230,   260,   232,   233,
2178 <     234,   260,   260,   237,   260,   260,   240,   260,   260,   260,
2179 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2180 <     260,   260,   260,   260,   260,   260,   153,   260,   260,   260,
2181 <     260,   260,   260,   260,   260,   260,   153,   260,   153,   263,
2182 <     260,   263,   263,   153,   260,   263,   153,   260,   260,   260,
2183 <     260,   260,   260,   260,   260,   260,   153,   153,   260,   153,
2184 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2185 <     260,   260,   153,   153,   153,   263,   263,   263,   263,   263,
2186 <     263,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2187 <     260,   260,   260,   131,   260,   260,   131,   260,   260,   260,
2188 <     260,   260,   131,   260,   131,   263,   260,   263,   131,   131,
2189 <     153,   131,   131,   260,   153,   197,   153,   153,   263,   153,
2190 <     153,   153,   153,   131,   260,   153,   260,   153,   153,   260,
2191 <     260,   260,   260,   130,   260,   260,   260,   260,   260,   260,
2192 <     260,   260,   260,   153,   260,   197,   260,   260,   260,   260,
2193 <     153,   153,   153,   153,   130,   264,   260,   263,   263,   260,
2194 <     260,   260,   260,   131,   130,   260,    71,   260,   260,   260,
2195 <     260,   260,   260,   260,   260,   260,   260,   260,   313,   773,
2196 <    1346,  1327,   260,   260,   260,   260,   260,   260,   260,   260,
2197 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2198 <     260,   260,   260,   260,   260,   260,   482,  1325,   595,  1269,
2199 <     512,  1168,  1254,  1252,   545,  1306,   553,  1311,  1308,  1267,
2372 <     625,   275,  1309,   360,   124,  1245,   372,   184,    95,  1128,
2373 <    1251,  1126,  1249,    -1,    -1,    -1,    -1,    -1,   457,    -1,
2374 <     291,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2375 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,   472,   440
2078 >     607,   608,   306,   307,     1,     8,   220,     1,     1,   218,
2079 >     314,   101,     1,   222,   218,   219,     1,     1,     1,     1,
2080 >     163,   164,    15,    16,     1,    51,    19,   220,     1,   220,
2081 >       1,     1,   220,     1,   218,   218,     1,   218,   222,   222,
2082 >      24,   222,     1,   220,     1,   220,     3,    31,     5,     1,
2083 >     218,     1,   218,   218,   222,    37,   222,   222,    17,   220,
2084 >      17,   218,     1,    36,   218,   222,     1,    61,   222,    51,
2085 >      52,    53,    54,    32,     1,    32,   218,    36,    61,    36,
2086 >     222,   163,   164,    56,   220,    78,    79,    80,    61,    71,
2087 >      83,     1,    89,   137,   138,   399,   400,    24,    91,    56,
2088 >     220,    58,    91,   407,    14,   409,    91,    91,   198,   102,
2089 >     103,    61,   416,    70,    91,     1,     1,   421,   115,     1,
2090 >      91,     6,     7,    91,   117,   118,    91,    12,   432,   433,
2091 >      57,   435,    91,   220,    91,    20,   220,   122,   218,   443,
2092 >     444,    26,   446,    28,    29,    30,   119,   218,   181,   182,
2093 >      35,   222,   122,   146,    89,   114,    41,    42,     1,    44,
2094 >      45,    46,   119,   189,    91,    50,    93,    94,   194,   154,
2095 >      55,     1,   122,   132,    59,    60,   221,   154,    63,    61,
2096 >     115,    66,    67,   154,   154,    95,   154,   221,   220,    74,
2097 >     147,   194,     1,     1,   187,   220,    81,    82,   220,    84,
2098 >      85,    86,    87,    88,   131,    91,   133,   134,   135,   136,
2099 >     220,   218,   122,     1,    99,   222,   220,   174,   137,   138,
2100 >     105,   106,   107,   150,   109,   219,   219,   112,   113,    17,
2101 >     534,   116,     1,   220,   219,   219,   195,   219,   218,   209,
2102 >     122,   209,   127,   221,    32,   216,   219,   174,    36,   219,
2103 >     209,   219,    21,    22,   219,   212,   220,   184,    27,   211,
2104 >     219,    91,   219,   221,     1,   217,   151,   219,   154,   219,
2105 >     155,   220,   211,   158,   159,   160,   161,   162,   217,   122,
2106 >     165,   166,    91,    91,   219,   212,   213,    24,     1,  1033,
2107 >    1034,  1035,   219,   597,    31,   220,   217,   221,   221,    68,
2108 >      69,   605,   606,     9,    10,    11,    75,    76,    77,   219,
2109 >     221,   154,   221,   221,   122,   787,   788,   789,   790,   791,
2110 >     205,   206,   207,    36,   154,   210,   114,   218,    97,    98,
2111 >     215,   222,   221,   219,   219,   123,   124,   221,   221,     1,
2112 >     218,   110,   111,    56,   222,   154,   154,   221,    61,   221,
2113 >     221,   221,   121,     1,    91,    17,   221,   221,     6,     7,
2114 >       1,   130,   221,   221,    12,   221,   209,   221,   156,   221,
2115 >      32,   221,    20,    14,    36,   221,   221,   221,    26,   221,
2116 >      28,    29,    30,   221,   221,   221,   216,    35,   221,   219,
2117 >       1,   218,   221,    41,    42,   101,    44,    45,    46,   221,
2118 >     209,   221,    50,   221,   221,   221,   119,    55,   221,   221,
2119 >     221,    59,    60,    24,     1,    63,   221,   221,    66,    67,
2120 >     221,   209,   221,   221,   221,   221,    74,   221,   221,    91,
2121 >      17,   219,   221,    81,    82,   221,    84,    85,    86,    87,
2122 >      88,   221,   221,   221,   221,    32,    57,   221,   221,    36,
2123 >     219,    99,   114,   221,    95,   221,     4,   105,   106,   107,
2124 >     221,   109,   221,   221,   112,   113,   221,   221,   116,   221,
2125 >     132,     1,   221,     3,   221,     5,   221,    25,   221,   127,
2126 >      91,   122,    93,    94,   218,   221,   221,    17,   221,   221,
2127 >     221,   221,    40,   221,   221,   221,   221,  1104,   221,    47,
2128 >     221,   221,    32,   151,   221,   221,    36,   155,   120,   221,
2129 >     158,   159,   160,   161,   162,   120,    64,   165,   166,   221,
2130 >     131,   221,   133,   134,   135,   136,    56,   114,    58,   221,
2131 >     221,    40,   221,   195,   221,   221,   123,   124,   120,   150,
2132 >      70,    89,   218,   101,   101,   163,   101,   209,    96,   101,
2133 >     101,   101,    64,    62,   163,    64,   163,   205,   206,   207,
2134 >     108,    91,   210,   174,   101,   163,   163,   215,   218,   156,
2135 >     221,   218,   221,   184,   120,   221,   221,   221,   126,   221,
2136 >     128,   129,   221,   221,   221,   221,     0,     1,   221,   119,
2137 >       4,   221,   221,   221,   218,   104,     1,   218,   221,   221,
2138 >      14,   212,   213,    17,    18,   221,   221,   221,   221,    23,
2139 >      15,    16,   101,   221,    19,   221,   163,   147,   221,   221,
2140 >      34,   221,   209,   163,    38,    39,    51,   139,   221,   177,
2141 >     221,   221,   221,   221,    48,   163,   101,   120,   186,   163,
2142 >     163,   101,   101,   191,   174,   101,   163,   163,    62,   197,
2143 >     163,   120,   163,   201,   101,   203,   168,     1,    72,    73,
2144 >     208,   101,   101,   101,   101,   177,   214,   176,   177,   120,
2145 >     101,   183,   163,    78,    79,    80,    90,    51,    83,   101,
2146 >     221,   163,   212,   163,   163,   197,    91,   199,   200,   221,
2147 >     104,   163,   163,    37,   120,   163,   208,   102,   103,   163,
2148 >     209,   163,   214,   218,   218,    51,   163,    51,    52,    53,
2149 >      54,   163,   117,   118,   163,   221,   221,   221,   221,   141,
2150 >     142,   143,   144,   145,   221,   139,   221,    71,   221,   221,
2151 >     218,   221,    64,   163,   148,   149,   221,   221,   152,   153,
2152 >     221,   146,   218,   220,   169,   170,   171,   172,   173,   120,
2153 >     175,   176,   120,   178,   179,   180,    13,   218,   183,   163,
2154 >     185,   186,   163,   188,   218,   190,   221,   192,   193,   120,
2155 >     163,   196,   163,   221,   218,   221,    33,   202,   221,   221,
2156 >     221,   120,   187,   218,   163,   221,    43,   221,   221,   120,
2157 >     204,   120,    49,   120,   120,   169,   170,   171,   172,   173,
2158 >     120,   175,   176,   120,   178,   179,   180,   139,    65,   183,
2159 >     120,   185,   186,   120,   188,   101,   190,   120,   192,   193,
2160 >     120,   218,   196,   169,   170,   171,   172,   173,   202,   175,
2161 >     176,   218,   178,   179,   180,    92,   168,   183,     1,   185,
2162 >     186,   221,   188,   100,   190,   177,   192,   193,   221,   218,
2163 >     196,   183,   120,   218,   221,   218,   202,   218,    21,    22,
2164 >     218,   218,   218,   218,    27,   197,   218,   199,   200,   218,
2165 >     218,   218,   101,   218,   101,   218,   208,   218,   218,   101,
2166 >     218,   218,   214,   140,   218,   101,   101,   101,   120,   101,
2167 >     101,   101,   120,   218,   120,   120,   163,   221,   101,   120,
2168 >     157,   120,   120,   120,   218,    68,    69,   120,   221,   218,
2169 >     218,   120,    75,    76,    77,   120,   120,   218,   120,   120,
2170 >     218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
2171 >     218,   218,   120,   218,    97,    98,   218,   218,   218,   218,
2172 >     218,   218,   218,   218,   218,   218,   218,   110,   111,   218,
2173 >     221,   120,   218,   218,   218,   218,   218,   218,   121,   218,
2174 >     218,   101,   218,   218,   218,   218,   218,   130,   218,   218,
2175 >     218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
2176 >     218,   218,   163,   120,   120,   120,   120,   218,   221,   120,
2177 >     120,   221,   120,   101,   218,   218,   120,   163,   218,   120,
2178 >     120,   120,   120,   120,   120,   120,   120,   120,   120,  1000,
2179 >     218,   218,  1002,   273,   125,   221,   101,    71,   965,   218,
2180 >     218,   221,   218,   218,   218,   218,   218,   218,   218,   218,
2181 >     125,   218,   218,   218,   218,   218,   218,   120,   218,   218,
2182 >     218,   218,   218,  1241,   218,  1214,   221,   218,   221,   221,
2183 >     218,   218,   222,   218,   218,  1202,   218,   218,   218,   218,
2184 >     218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
2185 >     218,   218,   218,   218,   218,   218,   218,   218,   167,   218,
2186 >     218,   510,  1212,   334,   486,   218,   218,  1099,  1198,   218,
2187 >    1216,   218,   218,   218,   567,   218,   218,   461,  1192,  1218,
2188 >     524,   559,  1200,   112,   476,  1194,   169,  1067,   218,   218,
2189 >     394,   218,   218,   218,   218,   218,   218,  1065,   218,   218,
2190 >     221,   218,   218,   221,   218,   218,   218,   218,   218,   364,
2191 >     218,   218,   218,    91,   218,    -1,   218,   218,   218,   218,
2192 >      -1,    -1,    -1,    -1,    -1,    -1,   382,    -1,    -1,    -1,
2193 >      -1,   228,    -1,    -1,    -1,    -1,    -1,    -1,   236,    -1,
2194 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2195 >      -1,    -1,    -1,    -1,   249,    -1,    -1,    -1,    -1,    -1,
2196 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2197 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2198 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2199 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   294
2200   };
2201  
2202   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2203     symbol of state STATE-NUM.  */
2204   static const yytype_uint16 yystos[] =
2205   {
2206 <       0,   266,     0,     1,     5,    22,    26,    29,    36,    51,
2207 <      63,    64,    66,    73,    90,   100,   102,   119,   136,   171,
2208 <     180,   181,   185,   186,   267,   272,   277,   295,   301,   316,
2209 <     339,   358,   372,   390,   397,   407,   416,   442,   452,   458,
2210 <     462,   472,   536,   552,   573,   260,   261,   262,   262,   340,
2211 <     417,   453,   262,   463,   262,   537,   373,   443,   359,   262,
2212 <     262,   317,   391,   262,   262,   398,   408,     1,    37,    47,
2213 <     120,   296,   297,   298,   299,   300,     1,    13,    34,    35,
2214 <      40,    42,    96,    97,   105,   106,   126,   127,   143,   144,
2215 <     154,   163,   250,   251,   252,   553,   554,   555,   556,   557,
2216 <     558,   559,   560,   561,   562,   563,   564,   565,   566,   567,
2217 <     568,   569,   570,   571,   572,   153,   341,   345,   153,   418,
2218 <     422,   262,     1,    89,   459,   460,   461,   262,     1,     8,
2219 <       9,    12,    19,    28,    32,    33,    39,    43,    44,    46,
2220 <      52,    70,    71,    75,    82,    86,    87,    88,    91,    94,
2221 <      95,   104,   110,   111,   113,   114,   115,   116,   117,   128,
2222 <     137,   139,   140,   142,   145,   146,   149,   160,   182,   184,
2223 <     188,   192,   193,   194,   195,   196,   200,   201,   209,   241,
2224 <     243,   249,   254,   259,   473,   474,   475,   476,   477,   478,
2225 <     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
2226 <     489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
2227 <     499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
2228 <     509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
2229 <     519,   520,   521,   522,   523,   524,   528,   532,   533,   534,
2230 <     535,   262,   262,   262,   262,     1,    55,    56,    57,    58,
2231 <      59,    60,    61,    62,   103,   138,   219,   253,   302,   303,
2232 <     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
2233 <     314,   315,     1,   118,   148,   273,   274,   275,   276,   153,
2234 <     318,   322,   262,     1,    41,    54,    76,    78,    80,    81,
2235 <      99,   574,   575,   576,   577,   578,   579,   580,   581,   582,
2236 <       1,    37,    84,   120,   122,   123,   165,   167,   168,   183,
2237 <     227,   255,   256,   278,   279,   280,   284,   285,   286,   287,
2238 <     288,   289,   290,   291,   292,   293,   294,   262,   262,   260,
2239 <     263,   263,   263,   261,   297,   263,   263,   263,   263,   263,
2240 <     263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
2241 <     263,   263,   263,   261,   554,   262,   262,     1,    89,   155,
2242 <     454,   455,   456,   457,   263,   261,   460,     1,   120,   155,
2243 <     187,   464,   468,   469,   470,   471,   263,   263,   263,   263,
2244 <     263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
2245 <     263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
2246 <     263,   263,   263,   263,   263,   263,   263,   263,   529,   263,
2247 <     525,   263,   263,   263,   263,   263,   263,   263,   263,   263,
2248 <     263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
2249 <     263,   261,   474,     1,     4,    45,    48,   102,   120,   248,
2250 <     538,   539,   540,   541,   542,   546,   547,   548,     1,    26,
2251 <      49,    53,   147,   156,   157,   190,   248,   374,   375,   376,
2252 <     377,   378,   379,   380,   387,   388,   389,     1,   155,   187,
2253 <     248,   444,   448,   449,   450,   451,     1,    53,    83,    89,
2254 <     152,   360,   364,   365,   366,   370,   371,   260,   263,   263,
2255 <     263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
2256 <     261,   303,   260,   263,   263,   261,   274,   262,     1,    22,
2257 <     124,   155,   392,   393,   394,   395,   396,   263,   263,   263,
2258 <     263,   263,   263,   263,   261,   575,   260,   263,   263,   263,
2259 <     263,   263,   263,   263,   281,   263,   263,   263,   263,   261,
2260 <     279,     1,   120,   187,   248,   399,   400,   401,   402,   403,
2261 <       1,   120,   187,   409,   410,   411,   412,   153,   153,   153,
2262 <     260,   197,   131,   131,   197,   197,   131,   269,   269,   131,
2263 <     131,   197,   197,   131,   269,   197,   197,   197,   197,   197,
2264 <     260,     1,    23,    24,    30,   107,   108,   109,   112,   120,
2265 <     133,   134,   150,   151,   178,   342,   343,   344,   346,   347,
2266 <     348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
2267 <       1,     3,     6,    25,    26,    49,    53,    83,    85,    98,
2268 <     120,   152,   166,   179,   255,   419,   420,   421,   423,   424,
2269 <     425,   426,   427,   428,   429,   436,   437,   438,   439,   440,
2270 <     441,   263,   263,   261,   455,   153,   260,   263,   263,   465,
2271 <     261,   469,   197,   269,   197,   269,   131,   153,   131,   197,
2272 <     197,   131,   153,   197,   131,   131,   131,   197,   269,   197,
2273 <     197,   269,   153,   197,   131,   131,   269,   131,   131,   153,
2274 <     131,   131,   197,   197,   263,   197,   263,   269,   269,   197,
2275 <     269,   153,   197,   197,   197,   197,   198,   197,   198,   197,
2276 <     197,   269,   269,   131,   271,   269,   197,   197,   197,   197,
2277 <     260,   549,   263,   263,   543,   263,   263,   261,   539,   260,
2278 <     263,   263,   381,   263,   263,   263,   263,   263,   261,   375,
2279 <     263,   445,   263,   261,   449,   260,   361,   263,   263,   263,
2280 <     261,   365,   153,   153,   153,   153,   153,   153,   153,   153,
2281 <     220,   221,   222,   223,   224,   225,   226,   153,   153,   197,
2282 <     260,   153,   153,   260,     1,    26,    49,    53,   120,   147,
2283 <     166,   236,   248,   319,   320,   321,   323,   324,   325,   326,
2284 <     327,   328,   332,   260,   263,   263,   263,   261,   393,   197,
2285 <     197,   197,   153,   197,   197,   269,   260,   153,   197,   153,
2286 <     153,   153,   153,   153,   263,   153,   131,   153,   153,   260,
2287 <     260,   263,   404,   263,   261,   400,   260,   263,   413,   261,
2288 <     410,   260,   260,   260,   260,   260,   260,   260,   260,   173,
2289 <     174,   175,   176,   177,   268,   269,   260,   260,   260,   260,
2290 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2291 <     263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
2292 <     263,   263,   263,   261,   343,   260,   263,   263,   263,   263,
2293 <     263,   430,   263,   263,   263,   263,   263,   263,   263,   263,
2294 <     261,   420,   153,   153,   260,   260,   153,   153,   263,   260,
2295 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2296 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2297 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2298 <     260,   260,   204,   205,   206,   207,   208,   210,   211,   213,
2299 <     214,   215,   218,   228,   229,   230,   232,   233,   234,   237,
2300 <     240,   530,   531,   260,   204,   205,   206,   207,   208,   210,
2301 <     211,   213,   214,   215,   218,   228,   229,   230,   232,   233,
2302 <     234,   237,   240,   526,   527,   260,   260,   260,   260,   260,
2303 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2304 <     260,    14,    15,    16,   270,   271,   260,   260,   260,   260,
2305 <     260,   260,   263,   269,   197,   263,   153,   153,   260,   153,
2306 <     197,   263,   153,   131,   153,   153,   153,   260,   153,   263,
2307 <     153,   260,   263,   153,   153,   131,   368,   369,   260,   260,
2308 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2309 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2310 <     263,   263,   333,   263,   263,   263,   329,   263,   261,   320,
2311 <     153,   153,   153,   260,   260,   260,   260,   260,   260,   260,
2312 <     260,   260,   260,   260,   260,   260,   260,   260,   169,   170,
2313 <     282,   283,   260,   260,   260,   260,   153,   263,   153,   260,
2314 <     153,   263,   260,   268,   268,   268,   268,   268,   131,   131,
2315 <     269,   131,   131,   131,   131,   153,   131,   131,   269,   269,
2316 <     271,   260,   153,   216,   217,   153,   153,   197,   263,   153,
2317 <     153,   153,   153,   131,   153,   153,   153,   260,   260,   260,
2318 <     260,   260,   158,   466,   467,   260,   264,   260,   264,   270,
2319 <     270,   270,    11,   199,   550,   551,   260,   260,    11,   199,
2320 <     544,   545,   260,   260,   260,   260,   130,   382,   383,   385,
2321 <     260,   260,   260,   260,   260,   260,   158,   446,   447,   260,
2322 <      76,   231,   235,   362,   363,   260,   260,   202,   264,   367,
2323 <     153,   197,   263,   153,   153,   153,   263,   153,   260,   260,
2324 <     260,   260,   260,   264,   260,    92,   171,   203,   218,   238,
2325 <     239,   244,   245,   246,   247,   257,   405,   406,   260,   260,
2326 <      92,   171,   203,   218,   238,   239,   244,   245,   246,   247,
2327 <     257,   414,   415,   260,   260,   260,   260,   260,   260,   260,
2328 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2329 <     260,   260,   130,   431,   432,   434,   260,   260,   260,   260,
2330 <     260,   260,   260,   260,   260,   264,   531,   527,   260,   264,
2507 <     260,   264,   384,   260,   264,    20,    21,    50,    67,    74,
2508 <      93,   121,   129,   172,   191,   386,   260,   264,   260,   264,
2509 <     131,   369,   260,   260,   260,   130,   334,   335,   337,   260,
2510 <     260,   260,   204,   205,   206,   207,   208,   210,   211,   213,
2511 <     214,   215,   218,   228,   229,   230,   232,   233,   234,   237,
2512 <     240,   330,   331,   260,   283,   260,   264,   260,   264,   433,
2513 <     260,   264,    10,    12,    27,    31,   242,   435,   467,   551,
2514 <     545,   386,   383,   447,   363,   336,   260,   264,     5,    38,
2515 <      49,    65,    72,    77,    79,    92,   125,   141,   159,   161,
2516 <     162,   229,   247,   257,   338,   260,   264,   406,   415,   435,
2517 <     432,   338,   335,   331
2206 >       0,   224,     0,     1,     4,    14,    17,    18,    23,    34,
2207 >      38,    39,    48,    62,    72,    73,    90,   104,   139,   148,
2208 >     149,   152,   153,   204,   225,   230,   235,   257,   263,   277,
2209 >     295,   313,   327,   342,   349,   353,   363,   372,   392,   402,
2210 >     408,   412,   422,   483,   500,   218,   219,   220,   220,   296,
2211 >     373,   403,   220,   413,   220,   328,   393,   314,   220,   220,
2212 >     278,   343,   220,   220,   354,   364,   220,     1,    24,    31,
2213 >      91,   258,   259,   260,   261,   262,     1,    21,    22,    27,
2214 >      68,    69,    75,    76,    77,    97,    98,   110,   111,   121,
2215 >     130,   484,   485,   486,   487,   488,   489,   490,   491,   492,
2216 >     493,   494,   495,   496,   497,   498,   499,   220,   220,   220,
2217 >       1,    61,   409,   410,   411,   220,     1,     6,     7,    12,
2218 >      20,    26,    28,    29,    30,    35,    41,    42,    44,    45,
2219 >      46,    50,    55,    59,    60,    63,    66,    67,    74,    81,
2220 >      82,    84,    85,    86,    87,    88,    99,   105,   106,   107,
2221 >     109,   112,   113,   116,   127,   151,   155,   158,   159,   160,
2222 >     161,   162,   165,   166,   205,   206,   207,   210,   215,   423,
2223 >     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
2224 >     434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
2225 >     444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
2226 >     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
2227 >     464,   465,   466,   467,   468,   469,   470,   471,   472,   476,
2228 >     480,   481,   482,   220,   220,   220,     1,   211,   264,   265,
2229 >     266,   267,   268,     1,    89,   115,   231,   232,   233,   234,
2230 >     220,   220,     1,    37,    51,    52,    53,    54,    71,   501,
2231 >     502,   503,   504,   505,   506,   507,   508,     1,    24,    57,
2232 >      91,    93,    94,   131,   133,   134,   135,   136,   150,   174,
2233 >     184,   212,   213,   236,   237,   238,   239,   244,   245,   246,
2234 >     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
2235 >     220,   220,     1,    91,   350,   351,   352,   218,   221,   221,
2236 >     221,   219,   259,   221,   221,   221,   221,   221,   221,   221,
2237 >     221,   221,   221,   221,   221,   221,   221,   219,   485,     1,
2238 >      15,    16,    19,    78,    79,    80,    83,    91,   102,   103,
2239 >     117,   118,   146,   187,   297,   298,   299,   300,   301,   302,
2240 >     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
2241 >       1,     3,     5,    17,    32,    36,    56,    58,    70,    91,
2242 >     119,   147,   174,   212,   374,   375,   376,   377,   378,   379,
2243 >     380,   381,   382,   383,   387,   388,   389,   390,   391,     1,
2244 >      61,   122,   404,   405,   406,   407,   221,   219,   410,     1,
2245 >      91,   122,   154,   414,   418,   419,   420,   421,   221,   221,
2246 >     221,   221,   221,   221,   221,   221,   221,   221,   221,   221,
2247 >     221,   221,   221,   221,   221,   221,   221,   221,   221,   221,
2248 >     221,   221,   221,   221,   221,   221,   221,   221,   221,   477,
2249 >     221,   473,   221,   221,   221,   221,   221,   221,   221,   221,
2250 >     221,   221,   221,   221,   221,   221,   221,   221,   221,   221,
2251 >     219,   424,     1,    17,    32,    36,   114,   123,   124,   156,
2252 >     209,   329,   330,   331,   332,   333,   334,   335,   339,   340,
2253 >     341,     1,   122,   154,   209,   394,   398,   399,   400,   401,
2254 >       1,    36,    56,    61,   119,   315,   319,   320,   321,   325,
2255 >     326,   218,   221,   219,   265,   217,   218,   221,   221,   219,
2256 >     232,     1,    17,    32,    36,    91,   114,   132,   195,   209,
2257 >     279,   280,   281,   282,   283,   284,   285,   286,   287,   291,
2258 >       1,    14,    95,   122,   344,   345,   346,   347,   348,   221,
2259 >     221,   221,   221,   221,   221,   219,   502,   218,   221,   221,
2260 >     221,   221,   221,   221,   221,   221,   221,   221,   221,   221,
2261 >     221,   221,   221,   219,   237,     1,    91,   154,   209,   355,
2262 >     356,   357,   358,   359,     1,    91,   154,   365,   366,   367,
2263 >     368,   221,   219,   351,   120,   120,   120,   218,   101,   101,
2264 >     163,   101,   227,   227,   101,   101,   101,   163,   163,   101,
2265 >     227,   163,   163,   218,   218,   221,   221,   221,   221,   221,
2266 >     221,   221,   221,   221,   221,   221,   221,   221,   221,   219,
2267 >     298,   218,   221,   221,   221,   221,   384,   221,   221,   221,
2268 >     221,   221,   221,   221,   221,   219,   375,   221,   221,   219,
2269 >     405,   120,   218,   221,   221,   415,   219,   419,   163,   227,
2270 >     227,   101,   163,   163,   101,   120,   163,   227,   163,   227,
2271 >     101,   101,   101,   163,   163,   163,   227,   120,   163,   101,
2272 >     101,   227,   101,   101,   120,   101,   101,   163,   163,   221,
2273 >     163,   221,   227,   227,   163,   227,   163,   163,   163,   163,
2274 >     164,   163,   164,   163,   163,   227,   227,   120,   227,   163,
2275 >     163,   163,   218,   218,   221,   221,   336,   221,   221,   221,
2276 >     221,   221,   219,   330,   221,   395,   221,   219,   399,   218,
2277 >     316,   221,   221,   221,   219,   320,   163,   218,   220,   120,
2278 >     120,   218,   218,   221,   221,   292,   221,   221,   221,   288,
2279 >     221,   219,   280,   218,   221,   221,   221,   219,   345,   163,
2280 >     163,   120,   163,   163,   227,   218,   120,   163,   120,   120,
2281 >     120,   120,   120,   120,   137,   138,   240,   241,   137,   138,
2282 >     242,   243,   120,   120,   101,   120,   120,   218,   218,   221,
2283 >     360,   221,   219,   356,   218,   221,   369,   219,   366,   120,
2284 >     218,   218,   218,   218,   218,   218,   218,   141,   142,   143,
2285 >     144,   145,   226,   227,   218,   218,   218,   218,   218,   218,
2286 >     218,   218,   218,   218,   218,   101,   101,   227,   101,   101,
2287 >     101,   101,   120,   101,   101,   227,   227,   101,   229,   229,
2288 >     218,   120,   181,   182,   120,   163,   221,   120,   120,   120,
2289 >     120,   101,   120,   120,   120,   218,   120,   120,   218,   218,
2290 >     120,   120,   221,   218,   218,   218,   218,   218,   218,   218,
2291 >     218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
2292 >     218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
2293 >     218,   218,   218,   218,   218,    51,   169,   170,   171,   172,
2294 >     173,   175,   176,   178,   179,   180,   183,   185,   186,   188,
2295 >     190,   192,   193,   196,   202,   478,   479,   218,    51,   169,
2296 >     170,   171,   172,   173,   175,   176,   178,   179,   180,   183,
2297 >     185,   186,   188,   190,   192,   193,   196,   202,   474,   475,
2298 >     218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
2299 >     218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
2300 >     120,   163,   221,   120,   101,   120,   120,   120,   218,   120,
2301 >     221,   120,   218,   221,   120,   120,   101,   323,   324,   218,
2302 >     218,     1,    91,   154,   216,   269,   270,   271,   272,   273,
2303 >     218,   218,   120,   163,   221,   120,   120,   120,   221,   120,
2304 >     218,   120,   120,   120,   218,   218,   218,   218,   218,   218,
2305 >     218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
2306 >     222,   218,   222,   218,   218,   218,   218,   218,   120,   221,
2307 >     120,   218,   120,   221,   218,   218,   226,   226,   226,   226,
2308 >     226,   218,   218,   218,   218,   218,   218,   218,   218,   218,
2309 >     218,   218,   218,     9,    10,    11,   228,   229,   218,   218,
2310 >     218,   218,   218,   218,   218,     8,   194,   385,   386,   218,
2311 >     218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
2312 >     218,   125,   416,   417,   218,   222,   218,   222,   218,   218,
2313 >      13,    33,    43,    49,    65,    92,   100,   140,   157,   337,
2314 >     338,   218,   218,   218,   218,   218,   218,   125,   396,   397,
2315 >     218,    51,   189,   194,   317,   318,   218,   218,   167,   222,
2316 >     322,   218,   221,   274,   221,   219,   270,   218,   218,     4,
2317 >      25,    40,    47,    64,    89,    96,   108,   126,   128,   129,
2318 >     177,   186,   191,   197,   201,   203,   208,   214,   293,   294,
2319 >     218,   218,   218,    51,   169,   170,   171,   172,   173,   175,
2320 >     176,   178,   179,   180,   183,   185,   186,   188,   190,   192,
2321 >     193,   196,   202,   289,   290,   218,   218,   218,   218,   241,
2322 >     243,   218,    64,   139,   168,   177,   183,   197,   199,   200,
2323 >     208,   214,   361,   362,   218,   218,    64,   139,   168,   177,
2324 >     183,   197,   199,   200,   208,   214,   370,   371,   228,   228,
2325 >     228,   218,   222,   218,   222,   479,   475,   218,   222,   218,
2326 >     222,   218,   222,   101,   324,   218,   120,   221,   198,   229,
2327 >     218,   218,   222,   218,   222,   218,   222,   218,   222,   386,
2328 >     417,   338,   397,   318,   218,    40,    62,    64,   104,   176,
2329 >     177,   209,   275,   276,   218,   218,   294,   290,   362,   371,
2330 >     218,   222,   276
2331   };
2332  
2333   #define yyerrok         (yyerrstatus = 0)
# Line 2544 | Line 2357 | static const yytype_uint16 yystos[] =
2357  
2358   #define YYRECOVERING()  (!!yyerrstatus)
2359  
2360 < #define YYBACKUP(Token, Value)                                  \
2361 < do                                                              \
2362 <  if (yychar == YYEMPTY && yylen == 1)                          \
2363 <    {                                                           \
2364 <      yychar = (Token);                                         \
2365 <      yylval = (Value);                                         \
2366 <      yytoken = YYTRANSLATE (yychar);                           \
2367 <      YYPOPSTACK (1);                                           \
2368 <      goto yybackup;                                            \
2369 <    }                                                           \
2370 <  else                                                          \
2371 <    {                                                           \
2360 > #define YYBACKUP(Token, Value)                                  \
2361 > do                                                              \
2362 >  if (yychar == YYEMPTY)                                        \
2363 >    {                                                           \
2364 >      yychar = (Token);                                         \
2365 >      yylval = (Value);                                         \
2366 >      YYPOPSTACK (yylen);                                       \
2367 >      yystate = *yyssp;                                         \
2368 >      goto yybackup;                                            \
2369 >    }                                                           \
2370 >  else                                                          \
2371 >    {                                                           \
2372        yyerror (YY_("syntax error: cannot back up")); \
2373        YYERROR;                                                  \
2374      }                                                           \
# Line 2565 | Line 2378 | while (YYID (0))
2378   #define YYTERROR        1
2379   #define YYERRCODE       256
2380  
2568
2381   /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2382     If N is 0, then set CURRENT to the empty location which ends
2383     the previous symbol: RHS[0] (always defined).  */
2384  
2573 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2385   #ifndef YYLLOC_DEFAULT
2386 < # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2387 <    do                                                                  \
2388 <      if (YYID (N))                                                    \
2389 <        {                                                               \
2390 <          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2391 <          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2392 <          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2393 <          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2394 <        }                                                               \
2395 <      else                                                              \
2396 <        {                                                               \
2397 <          (Current).first_line   = (Current).last_line   =              \
2398 <            YYRHSLOC (Rhs, 0).last_line;                                \
2399 <          (Current).first_column = (Current).last_column =              \
2400 <            YYRHSLOC (Rhs, 0).last_column;                              \
2401 <        }                                                               \
2386 > # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2387 >    do                                                                  \
2388 >      if (YYID (N))                                                     \
2389 >        {                                                               \
2390 >          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2391 >          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2392 >          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2393 >          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2394 >        }                                                               \
2395 >      else                                                              \
2396 >        {                                                               \
2397 >          (Current).first_line   = (Current).last_line   =              \
2398 >            YYRHSLOC (Rhs, 0).last_line;                                \
2399 >          (Current).first_column = (Current).last_column =              \
2400 >            YYRHSLOC (Rhs, 0).last_column;                              \
2401 >        }                                                               \
2402      while (YYID (0))
2403   #endif
2404  
2405 + #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2406 +
2407  
2408 < /* YY_LOCATION_PRINT -- Print the location on the stream.
2409 <   This macro was not mandated originally: define only if we know
2597 <   we won't break user code: when these are the locations we know.  */
2408 >
2409 > /* This macro is provided for backward compatibility. */
2410  
2411   #ifndef YY_LOCATION_PRINT
2412 < # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
2601 < #  define YY_LOCATION_PRINT(File, Loc)                  \
2602 <     fprintf (File, "%d.%d-%d.%d",                      \
2603 <              (Loc).first_line, (Loc).first_column,     \
2604 <              (Loc).last_line,  (Loc).last_column)
2605 < # else
2606 < #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2607 < # endif
2412 > # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2413   #endif
2414  
2415  
# Line 2659 | Line 2464 | yy_symbol_value_print (yyoutput, yytype,
2464      YYSTYPE const * const yyvaluep;
2465   #endif
2466   {
2467 +  FILE *yyo = yyoutput;
2468 +  YYUSE (yyo);
2469    if (!yyvaluep)
2470      return;
2471   # ifdef YYPRINT
# Line 2796 | Line 2603 | int yydebug;
2603   # define YYMAXDEPTH 10000
2604   #endif
2605  
2799
2606  
2607   #if YYERROR_VERBOSE
2608  
# Line 2899 | Line 2705 | yytnamerr (char *yyres, const char *yyst
2705   }
2706   # endif
2707  
2708 < /* Copy into YYRESULT an error message about the unexpected token
2709 <   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
2710 <   including the terminating null byte.  If YYRESULT is null, do not
2711 <   copy anything; just return the number of bytes that would be
2712 <   copied.  As a special case, return 0 if an ordinary "syntax error"
2713 <   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
2714 <   size calculation.  */
2715 < static YYSIZE_T
2716 < yysyntax_error (char *yyresult, int yystate, int yychar)
2708 > /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
2709 >   about the unexpected token YYTOKEN for the state stack whose top is
2710 >   YYSSP.
2711 >
2712 >   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
2713 >   not large enough to hold the message.  In that case, also set
2714 >   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
2715 >   required number of bytes is too large to store.  */
2716 > static int
2717 > yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2718 >                yytype_int16 *yyssp, int yytoken)
2719   {
2720 <  int yyn = yypact[yystate];
2720 >  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
2721 >  YYSIZE_T yysize = yysize0;
2722 >  YYSIZE_T yysize1;
2723 >  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2724 >  /* Internationalized format string. */
2725 >  const char *yyformat = YY_NULL;
2726 >  /* Arguments of yyformat. */
2727 >  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2728 >  /* Number of reported tokens (one for the "unexpected", one per
2729 >     "expected"). */
2730 >  int yycount = 0;
2731 >
2732 >  /* There are many possibilities here to consider:
2733 >     - Assume YYFAIL is not used.  It's too flawed to consider.  See
2734 >       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
2735 >       for details.  YYERROR is fine as it does not invoke this
2736 >       function.
2737 >     - If this state is a consistent state with a default action, then
2738 >       the only way this function was invoked is if the default action
2739 >       is an error action.  In that case, don't check for expected
2740 >       tokens because there are none.
2741 >     - The only way there can be no lookahead present (in yychar) is if
2742 >       this state is a consistent state with a default action.  Thus,
2743 >       detecting the absence of a lookahead is sufficient to determine
2744 >       that there is no unexpected or expected token to report.  In that
2745 >       case, just report a simple "syntax error".
2746 >     - Don't assume there isn't a lookahead just because this state is a
2747 >       consistent state with a default action.  There might have been a
2748 >       previous inconsistent state, consistent state with a non-default
2749 >       action, or user semantic action that manipulated yychar.
2750 >     - Of course, the expected token list depends on states to have
2751 >       correct lookahead information, and it depends on the parser not
2752 >       to perform extra reductions after fetching a lookahead from the
2753 >       scanner and before detecting a syntax error.  Thus, state merging
2754 >       (from LALR or IELR) and default reductions corrupt the expected
2755 >       token list.  However, the list is correct for canonical LR with
2756 >       one exception: it will still contain any token that will not be
2757 >       accepted due to an error action in a later state.
2758 >  */
2759 >  if (yytoken != YYEMPTY)
2760 >    {
2761 >      int yyn = yypact[*yyssp];
2762 >      yyarg[yycount++] = yytname[yytoken];
2763 >      if (!yypact_value_is_default (yyn))
2764 >        {
2765 >          /* Start YYX at -YYN if negative to avoid negative indexes in
2766 >             YYCHECK.  In other words, skip the first -YYN actions for
2767 >             this state because they are default actions.  */
2768 >          int yyxbegin = yyn < 0 ? -yyn : 0;
2769 >          /* Stay within bounds of both yycheck and yytname.  */
2770 >          int yychecklim = YYLAST - yyn + 1;
2771 >          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2772 >          int yyx;
2773 >
2774 >          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2775 >            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
2776 >                && !yytable_value_is_error (yytable[yyx + yyn]))
2777 >              {
2778 >                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2779 >                  {
2780 >                    yycount = 1;
2781 >                    yysize = yysize0;
2782 >                    break;
2783 >                  }
2784 >                yyarg[yycount++] = yytname[yyx];
2785 >                yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2786 >                if (! (yysize <= yysize1
2787 >                       && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2788 >                  return 2;
2789 >                yysize = yysize1;
2790 >              }
2791 >        }
2792 >    }
2793  
2794 <  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
2915 <    return 0;
2916 <  else
2794 >  switch (yycount)
2795      {
2796 <      int yytype = YYTRANSLATE (yychar);
2797 <      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2798 <      YYSIZE_T yysize = yysize0;
2799 <      YYSIZE_T yysize1;
2800 <      int yysize_overflow = 0;
2801 <      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2802 <      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2803 <      int yyx;
2804 <
2805 < # if 0
2806 <      /* This is so xgettext sees the translatable formats that are
2807 <         constructed on the fly.  */
2808 <      YY_("syntax error, unexpected %s");
2809 <      YY_("syntax error, unexpected %s, expecting %s");
2810 <      YY_("syntax error, unexpected %s, expecting %s or %s");
2811 <      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2812 <      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2813 < # endif
2814 <      char *yyfmt;
2815 <      char const *yyf;
2816 <      static char const yyunexpected[] = "syntax error, unexpected %s";
2817 <      static char const yyexpecting[] = ", expecting %s";
2818 <      static char const yyor[] = " or %s";
2819 <      char yyformat[sizeof yyunexpected
2820 <                    + sizeof yyexpecting - 1
2821 <                    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2822 <                       * (sizeof yyor - 1))];
2823 <      char const *yyprefix = yyexpecting;
2824 <
2825 <      /* Start YYX at -YYN if negative to avoid negative indexes in
2826 <         YYCHECK.  */
2827 <      int yyxbegin = yyn < 0 ? -yyn : 0;
2828 <
2829 <      /* Stay within bounds of both yycheck and yytname.  */
2830 <      int yychecklim = YYLAST - yyn + 1;
2831 <      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2832 <      int yycount = 1;
2833 <
2834 <      yyarg[0] = yytname[yytype];
2835 <      yyfmt = yystpcpy (yyformat, yyunexpected);
2836 <
2837 <      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2838 <        if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2839 <          {
2840 <            if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2841 <              {
2964 <                yycount = 1;
2965 <                yysize = yysize0;
2966 <                yyformat[sizeof yyunexpected - 1] = '\0';
2967 <                break;
2968 <              }
2969 <            yyarg[yycount++] = yytname[yyx];
2970 <            yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2971 <            yysize_overflow |= (yysize1 < yysize);
2972 <            yysize = yysize1;
2973 <            yyfmt = yystpcpy (yyfmt, yyprefix);
2974 <            yyprefix = yyor;
2975 <          }
2976 <
2977 <      yyf = YY_(yyformat);
2978 <      yysize1 = yysize + yystrlen (yyf);
2979 <      yysize_overflow |= (yysize1 < yysize);
2980 <      yysize = yysize1;
2981 <
2982 <      if (yysize_overflow)
2983 <        return YYSIZE_MAXIMUM;
2984 <
2985 <      if (yyresult)
2986 <        {
2987 <          /* Avoid sprintf, as that infringes on the user's name space.
2988 <             Don't have undefined behavior even if the translation
2989 <             produced a string with the wrong number of "%s"s.  */
2990 <          char *yyp = yyresult;
2991 <          int yyi = 0;
2992 <          while ((*yyp = *yyf) != '\0')
2993 <            {
2994 <              if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
2995 <                {
2996 <                  yyp += yytnamerr (yyp, yyarg[yyi++]);
2997 <                  yyf += 2;
2998 <                }
2999 <              else
3000 <                {
3001 <                  yyp++;
3002 <                  yyf++;
3003 <                }
3004 <            }
3005 <        }
3006 <      return yysize;
3007 <    }
2796 > # define YYCASE_(N, S)                      \
2797 >      case N:                               \
2798 >        yyformat = S;                       \
2799 >      break
2800 >      YYCASE_(0, YY_("syntax error"));
2801 >      YYCASE_(1, YY_("syntax error, unexpected %s"));
2802 >      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
2803 >      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
2804 >      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
2805 >      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
2806 > # undef YYCASE_
2807 >    }
2808 >
2809 >  yysize1 = yysize + yystrlen (yyformat);
2810 >  if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2811 >    return 2;
2812 >  yysize = yysize1;
2813 >
2814 >  if (*yymsg_alloc < yysize)
2815 >    {
2816 >      *yymsg_alloc = 2 * yysize;
2817 >      if (! (yysize <= *yymsg_alloc
2818 >             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
2819 >        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
2820 >      return 1;
2821 >    }
2822 >
2823 >  /* Avoid sprintf, as that infringes on the user's name space.
2824 >     Don't have undefined behavior even if the translation
2825 >     produced a string with the wrong number of "%s"s.  */
2826 >  {
2827 >    char *yyp = *yymsg;
2828 >    int yyi = 0;
2829 >    while ((*yyp = *yyformat) != '\0')
2830 >      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
2831 >        {
2832 >          yyp += yytnamerr (yyp, yyarg[yyi++]);
2833 >          yyformat += 2;
2834 >        }
2835 >      else
2836 >        {
2837 >          yyp++;
2838 >          yyformat++;
2839 >        }
2840 >  }
2841 >  return 0;
2842   }
2843   #endif /* YYERROR_VERBOSE */
3010
2844  
2845   /*-----------------------------------------------.
2846   | Release the memory associated to this symbol.  |
# Line 3040 | Line 2873 | yydestruct (yymsg, yytype, yyvaluep)
2873      }
2874   }
2875  
2876 < /* Prevent warnings from -Wmissing-prototypes.  */
3044 < #ifdef YYPARSE_PARAM
3045 < #if defined __STDC__ || defined __cplusplus
3046 < int yyparse (void *YYPARSE_PARAM);
3047 < #else
3048 < int yyparse ();
3049 < #endif
3050 < #else /* ! YYPARSE_PARAM */
3051 < #if defined __STDC__ || defined __cplusplus
3052 < int yyparse (void);
3053 < #else
3054 < int yyparse ();
3055 < #endif
3056 < #endif /* ! YYPARSE_PARAM */
2876 >
2877  
2878  
2879   /* The lookahead symbol.  */
# Line 3066 | Line 2886 | YYSTYPE yylval;
2886   int yynerrs;
2887  
2888  
2889 <
2890 < /*-------------------------.
2891 < | yyparse or yypush_parse.  |
3072 < `-------------------------*/
2889 > /*----------.
2890 > | yyparse.  |
2891 > `----------*/
2892  
2893   #ifdef YYPARSE_PARAM
2894   #if (defined __STDC__ || defined __C99__FUNC__ \
# Line 3093 | Line 2912 | yyparse ()
2912   #endif
2913   #endif
2914   {
3096
3097
2915      int yystate;
2916      /* Number of tokens to shift before error messages enabled.  */
2917      int yyerrstatus;
# Line 3103 | Line 2920 | yyparse ()
2920         `yyss': related to states.
2921         `yyvs': related to semantic values.
2922  
2923 <       Refer to the stacks thru separate pointers, to allow yyoverflow
2923 >       Refer to the stacks through separate pointers, to allow yyoverflow
2924         to reallocate them elsewhere.  */
2925  
2926      /* The state stack.  */
# Line 3157 | Line 2974 | yyparse ()
2974       The wasted elements are never initialized.  */
2975    yyssp = yyss;
2976    yyvsp = yyvs;
3160
2977    goto yysetstate;
2978  
2979   /*------------------------------------------------------------.
# Line 3249 | Line 3065 | yybackup:
3065  
3066    /* First try to decide what to do without reference to lookahead token.  */
3067    yyn = yypact[yystate];
3068 <  if (yyn == YYPACT_NINF)
3068 >  if (yypact_value_is_default (yyn))
3069      goto yydefault;
3070  
3071    /* Not known => get a lookahead token if don't already have one.  */
# Line 3280 | Line 3096 | yybackup:
3096    yyn = yytable[yyn];
3097    if (yyn <= 0)
3098      {
3099 <      if (yyn == 0 || yyn == YYTABLE_NINF)
3100 <        goto yyerrlab;
3099 >      if (yytable_value_is_error (yyn))
3100 >        goto yyerrlab;
3101        yyn = -yyn;
3102        goto yyreduce;
3103      }
# Line 3335 | Line 3151 | yyreduce:
3151    switch (yyn)
3152      {
3153          case 26:
3154 <
3155 < /* Line 1464 of yacc.c  */
3340 < #line 424 "ircd_parser.y"
3154 > /* Line 1787 of yacc.c  */
3155 > #line 362 "conf_parser.y"
3156      { (yyval.number) = 0; }
3157      break;
3158  
3159    case 28:
3160 <
3161 < /* Line 1464 of yacc.c  */
3347 < #line 426 "ircd_parser.y"
3160 > /* Line 1787 of yacc.c  */
3161 > #line 364 "conf_parser.y"
3162      {
3163                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3164                  }
3165      break;
3166  
3167    case 29:
3168 <
3169 < /* Line 1464 of yacc.c  */
3356 < #line 430 "ircd_parser.y"
3168 > /* Line 1787 of yacc.c  */
3169 > #line 368 "conf_parser.y"
3170      {
3171                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3172                  }
3173      break;
3174  
3175    case 30:
3176 <
3177 < /* Line 1464 of yacc.c  */
3365 < #line 434 "ircd_parser.y"
3176 > /* Line 1787 of yacc.c  */
3177 > #line 372 "conf_parser.y"
3178      {
3179                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3180                  }
3181      break;
3182  
3183    case 31:
3184 <
3185 < /* Line 1464 of yacc.c  */
3374 < #line 438 "ircd_parser.y"
3184 > /* Line 1787 of yacc.c  */
3185 > #line 376 "conf_parser.y"
3186      {
3187                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3188                  }
3189      break;
3190  
3191    case 32:
3192 <
3193 < /* Line 1464 of yacc.c  */
3383 < #line 442 "ircd_parser.y"
3192 > /* Line 1787 of yacc.c  */
3193 > #line 380 "conf_parser.y"
3194      {
3195                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3196                  }
3197      break;
3198  
3199    case 33:
3200 <
3201 < /* Line 1464 of yacc.c  */
3392 < #line 446 "ircd_parser.y"
3200 > /* Line 1787 of yacc.c  */
3201 > #line 384 "conf_parser.y"
3202      {
3203                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3204                  }
3205      break;
3206  
3207    case 34:
3208 <
3209 < /* Line 1464 of yacc.c  */
3401 < #line 451 "ircd_parser.y"
3208 > /* Line 1787 of yacc.c  */
3209 > #line 389 "conf_parser.y"
3210      { (yyval.number) = 0; }
3211      break;
3212  
3213    case 36:
3214 <
3215 < /* Line 1464 of yacc.c  */
3408 < #line 452 "ircd_parser.y"
3214 > /* Line 1787 of yacc.c  */
3215 > #line 390 "conf_parser.y"
3216      { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3217      break;
3218  
3219    case 37:
3220 <
3221 < /* Line 1464 of yacc.c  */
3415 < #line 453 "ircd_parser.y"
3220 > /* Line 1787 of yacc.c  */
3221 > #line 391 "conf_parser.y"
3222      { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3223      break;
3224  
3225    case 38:
3226 <
3227 < /* Line 1464 of yacc.c  */
3422 < #line 454 "ircd_parser.y"
3226 > /* Line 1787 of yacc.c  */
3227 > #line 392 "conf_parser.y"
3228      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3229      break;
3230  
3231    case 39:
3232 <
3233 < /* Line 1464 of yacc.c  */
3429 < #line 455 "ircd_parser.y"
3232 > /* Line 1787 of yacc.c  */
3233 > #line 393 "conf_parser.y"
3234      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
3235      break;
3236  
3237    case 46:
3238 <
3239 < /* Line 1464 of yacc.c  */
3436 < #line 469 "ircd_parser.y"
3238 > /* Line 1787 of yacc.c  */
3239 > #line 407 "conf_parser.y"
3240      {
3241    if (conf_parser_ctx.pass == 2)
3242      add_conf_module(libio_basename(yylval.string));
# Line 3441 | Line 3244 | yyreduce:
3244      break;
3245  
3246    case 47:
3247 <
3248 < /* Line 1464 of yacc.c  */
3446 < #line 475 "ircd_parser.y"
3247 > /* Line 1787 of yacc.c  */
3248 > #line 413 "conf_parser.y"
3249      {
3250    if (conf_parser_ctx.pass == 2)
3251      mod_add_path(yylval.string);
3252   }
3253      break;
3254  
3255 <  case 64:
3256 <
3257 < /* Line 1464 of yacc.c  */
3456 < #line 495 "ircd_parser.y"
3255 >  case 71:
3256 > /* Line 1787 of yacc.c  */
3257 > #line 438 "conf_parser.y"
3258      {
3259   #ifdef HAVE_LIBCRYPTO
3260 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3261 <    ServerInfo.tls_version = 0;
3260 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3261 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
3262   #endif
3263   }
3264      break;
3265  
3266 <  case 65:
3267 <
3268 < /* Line 1464 of yacc.c  */
3468 < #line 501 "ircd_parser.y"
3266 >  case 72:
3267 > /* Line 1787 of yacc.c  */
3268 > #line 444 "conf_parser.y"
3269      {
3270   #ifdef HAVE_LIBCRYPTO
3271 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3272 <  {
3473 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_SSLV3))
3474 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3475 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_TLSV1))
3476 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3477 <  }
3271 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3272 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
3273   #endif
3274   }
3275      break;
3276  
3277 <  case 68:
3278 <
3279 < /* Line 1464 of yacc.c  */
3485 < #line 515 "ircd_parser.y"
3277 >  case 75:
3278 > /* Line 1787 of yacc.c  */
3279 > #line 453 "conf_parser.y"
3280      {
3281   #ifdef HAVE_LIBCRYPTO
3282 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3283 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_SSLV3;
3282 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3283 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3284   #endif
3285   }
3286      break;
3287  
3288 <  case 69:
3289 <
3290 < /* Line 1464 of yacc.c  */
3497 < #line 521 "ircd_parser.y"
3288 >  case 76:
3289 > /* Line 1787 of yacc.c  */
3290 > #line 459 "conf_parser.y"
3291      {
3292   #ifdef HAVE_LIBCRYPTO
3293 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3294 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_TLSV1;
3293 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3294 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3295   #endif
3296   }
3297      break;
3298  
3299 <  case 70:
3300 <
3301 < /* Line 1464 of yacc.c  */
3509 < #line 529 "ircd_parser.y"
3299 >  case 77:
3300 > /* Line 1787 of yacc.c  */
3301 > #line 467 "conf_parser.y"
3302      {
3303   #ifdef HAVE_LIBCRYPTO
3304    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3518 | Line 3310 | yyreduce:
3310      }
3311  
3312      if (SSL_CTX_use_certificate_file(ServerInfo.server_ctx, yylval.string,
3313 +                                     SSL_FILETYPE_PEM) <= 0 ||
3314 +        SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3315                                       SSL_FILETYPE_PEM) <= 0)
3316      {
3317        yyerror(ERR_lib_error_string(ERR_get_error()));
# Line 3525 | Line 3319 | yyreduce:
3319      }
3320  
3321      if (SSL_CTX_use_PrivateKey_file(ServerInfo.server_ctx, ServerInfo.rsa_private_key_file,
3322 +                                    SSL_FILETYPE_PEM) <= 0 ||
3323 +        SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3324                                      SSL_FILETYPE_PEM) <= 0)
3325      {
3326        yyerror(ERR_lib_error_string(ERR_get_error()));
3327        break;
3328      }
3329  
3330 <    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx))
3330 >    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3331 >        !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3332      {
3333        yyerror(ERR_lib_error_string(ERR_get_error()));
3334        break;
# Line 3541 | Line 3338 | yyreduce:
3338   }
3339      break;
3340  
3341 <  case 71:
3342 <
3343 < /* Line 1464 of yacc.c  */
3547 < #line 563 "ircd_parser.y"
3341 >  case 78:
3342 > /* Line 1787 of yacc.c  */
3343 > #line 506 "conf_parser.y"
3344      {
3345   #ifdef HAVE_LIBCRYPTO
3346    if (conf_parser_ctx.pass == 1)
# Line 3571 | Line 3367 | yyreduce:
3367        break;
3368      }
3369  
3370 <    ServerInfo.rsa_private_key = (RSA *)PEM_read_bio_RSAPrivateKey(file, NULL,
3575 <      0, NULL);
3370 >    ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3371  
3372      BIO_set_close(file, BIO_CLOSE);
3373      BIO_free(file);
# Line 3605 | Line 3400 | yyreduce:
3400   }
3401      break;
3402  
3403 <  case 72:
3403 >  case 79:
3404 > /* Line 1787 of yacc.c  */
3405 > #line 565 "conf_parser.y"
3406 >    {
3407 > /* TBD - XXX: error reporting */
3408 > #ifdef HAVE_LIBCRYPTO
3409 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3410 >  {
3411 >    BIO *file = BIO_new_file(yylval.string, "r");
3412 >
3413 >    if (file)
3414 >    {
3415 >      DH *dh = PEM_read_bio_DHparams(file, NULL, NULL, NULL);
3416 >
3417 >      BIO_free(file);
3418 >
3419 >      if (dh)
3420 >      {
3421 >        if (DH_size(dh) < 128)
3422 >          ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3423 >        else
3424 >          SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3425 >
3426 >        DH_free(dh);
3427 >      }
3428 >    }
3429 >  }
3430 > #endif
3431 > }
3432 >    break;
3433  
3434 < /* Line 1464 of yacc.c  */
3435 < #line 623 "ircd_parser.y"
3434 >  case 80:
3435 > /* Line 1787 of yacc.c  */
3436 > #line 593 "conf_parser.y"
3437 >    {
3438 > #ifdef HAVE_LIBCRYPTO
3439 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3440 >    SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3441 > #endif
3442 > }
3443 >    break;
3444 >
3445 >  case 81:
3446 > /* Line 1787 of yacc.c  */
3447 > #line 601 "conf_parser.y"
3448      {
3449    /* this isn't rehashable */
3450    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
# Line 3617 | Line 3453 | yyreduce:
3453        DupString(ServerInfo.name, yylval.string);
3454      else
3455      {
3456 <      ilog(L_ERROR, "Ignoring serverinfo::name -- invalid name. Aborting.");
3456 >      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::name -- invalid name. Aborting.");
3457        exit(0);
3458      }
3459    }
3460   }
3461      break;
3462  
3463 <  case 73:
3464 <
3465 < /* Line 1464 of yacc.c  */
3630 < #line 638 "ircd_parser.y"
3463 >  case 82:
3464 > /* Line 1787 of yacc.c  */
3465 > #line 616 "conf_parser.y"
3466      {
3467    /* this isn't rehashable */
3468    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3636 | Line 3471 | yyreduce:
3471        DupString(ServerInfo.sid, yylval.string);
3472      else
3473      {
3474 <      ilog(L_ERROR, "Ignoring serverinfo::sid -- invalid SID. Aborting.");
3474 >      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::sid -- invalid SID. Aborting.");
3475        exit(0);
3476      }
3477    }
3478   }
3479      break;
3480  
3481 <  case 74:
3482 <
3483 < /* Line 1464 of yacc.c  */
3649 < #line 653 "ircd_parser.y"
3481 >  case 83:
3482 > /* Line 1787 of yacc.c  */
3483 > #line 631 "conf_parser.y"
3484      {
3485    if (conf_parser_ctx.pass == 2)
3486    {
# Line 3656 | Line 3490 | yyreduce:
3490   }
3491      break;
3492  
3493 <  case 75:
3494 <
3495 < /* Line 1464 of yacc.c  */
3662 < #line 662 "ircd_parser.y"
3493 >  case 84:
3494 > /* Line 1787 of yacc.c  */
3495 > #line 640 "conf_parser.y"
3496      {
3497    if (conf_parser_ctx.pass == 2)
3498    {
# Line 3674 | Line 3507 | yyreduce:
3507   }
3508      break;
3509  
3510 <  case 76:
3511 <
3512 < /* Line 1464 of yacc.c  */
3680 < #line 676 "ircd_parser.y"
3510 >  case 85:
3511 > /* Line 1787 of yacc.c  */
3512 > #line 654 "conf_parser.y"
3513      {
3514    if (conf_parser_ctx.pass == 2)
3515    {
# Line 3687 | Line 3519 | yyreduce:
3519   }
3520      break;
3521  
3522 <  case 77:
3523 <
3524 < /* Line 1464 of yacc.c  */
3693 < #line 685 "ircd_parser.y"
3522 >  case 86:
3523 > /* Line 1787 of yacc.c  */
3524 > #line 663 "conf_parser.y"
3525      {
3526    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3527    {
# Line 3702 | Line 3533 | yyreduce:
3533      hints.ai_socktype = SOCK_STREAM;
3534      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
3535  
3536 <    if (irc_getaddrinfo(yylval.string, NULL, &hints, &res))
3537 <      ilog(L_ERROR, "Invalid netmask for server vhost(%s)", yylval.string);
3536 >    if (getaddrinfo(yylval.string, NULL, &hints, &res))
3537 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
3538      else
3539      {
3540        assert(res != NULL);
# Line 3711 | Line 3542 | yyreduce:
3542        memcpy(&ServerInfo.ip, res->ai_addr, res->ai_addrlen);
3543        ServerInfo.ip.ss.ss_family = res->ai_family;
3544        ServerInfo.ip.ss_len = res->ai_addrlen;
3545 <      irc_freeaddrinfo(res);
3545 >      freeaddrinfo(res);
3546  
3547        ServerInfo.specific_ipv4_vhost = 1;
3548      }
# Line 3719 | Line 3550 | yyreduce:
3550   }
3551      break;
3552  
3553 <  case 78:
3554 <
3555 < /* Line 1464 of yacc.c  */
3725 < #line 713 "ircd_parser.y"
3553 >  case 87:
3554 > /* Line 1787 of yacc.c  */
3555 > #line 691 "conf_parser.y"
3556      {
3557   #ifdef IPV6
3558    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3735 | Line 3565 | yyreduce:
3565      hints.ai_socktype = SOCK_STREAM;
3566      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
3567  
3568 <    if (irc_getaddrinfo(yylval.string, NULL, &hints, &res))
3569 <      ilog(L_ERROR, "Invalid netmask for server vhost6(%s)", yylval.string);
3568 >    if (getaddrinfo(yylval.string, NULL, &hints, &res))
3569 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost6(%s)", yylval.string);
3570      else
3571      {
3572        assert(res != NULL);
# Line 3744 | Line 3574 | yyreduce:
3574        memcpy(&ServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3575        ServerInfo.ip6.ss.ss_family = res->ai_family;
3576        ServerInfo.ip6.ss_len = res->ai_addrlen;
3577 <      irc_freeaddrinfo(res);
3577 >      freeaddrinfo(res);
3578  
3579        ServerInfo.specific_ipv6_vhost = 1;
3580      }
# Line 3753 | Line 3583 | yyreduce:
3583   }
3584      break;
3585  
3586 <  case 79:
3587 <
3588 < /* Line 1464 of yacc.c  */
3759 < #line 743 "ircd_parser.y"
3586 >  case 88:
3587 > /* Line 1787 of yacc.c  */
3588 > #line 721 "conf_parser.y"
3589      {
3590    if (conf_parser_ctx.pass == 2)
3591    {
# Line 3780 | Line 3609 | yyreduce:
3609   }
3610      break;
3611  
3612 <  case 80:
3613 <
3614 < /* Line 1464 of yacc.c  */
3786 < #line 766 "ircd_parser.y"
3612 >  case 89:
3613 > /* Line 1787 of yacc.c  */
3614 > #line 744 "conf_parser.y"
3615      {
3616    if (conf_parser_ctx.pass == 2)
3617      ServerInfo.hub = yylval.number;
3618   }
3619      break;
3620  
3621 <  case 88:
3622 <
3623 < /* Line 1464 of yacc.c  */
3796 < #line 781 "ircd_parser.y"
3621 >  case 97:
3622 > /* Line 1787 of yacc.c  */
3623 > #line 759 "conf_parser.y"
3624      {
3625    if (conf_parser_ctx.pass == 2)
3626    {
# Line 3803 | Line 3630 | yyreduce:
3630   }
3631      break;
3632  
3633 <  case 89:
3634 <
3635 < /* Line 1464 of yacc.c  */
3809 < #line 790 "ircd_parser.y"
3633 >  case 98:
3634 > /* Line 1787 of yacc.c  */
3635 > #line 768 "conf_parser.y"
3636      {
3637    if (conf_parser_ctx.pass == 2)
3638    {
# Line 3816 | Line 3642 | yyreduce:
3642   }
3643      break;
3644  
3645 <  case 90:
3646 <
3647 < /* Line 1464 of yacc.c  */
3822 < #line 799 "ircd_parser.y"
3645 >  case 99:
3646 > /* Line 1787 of yacc.c  */
3647 > #line 777 "conf_parser.y"
3648      {
3649    if (conf_parser_ctx.pass == 2)
3650    {
# Line 3829 | Line 3654 | yyreduce:
3654   }
3655      break;
3656  
3657 <  case 107:
3658 <
3659 < /* Line 1464 of yacc.c  */
3835 < #line 826 "ircd_parser.y"
3836 <    {
3837 <                        }
3838 <    break;
3839 <
3840 <  case 108:
3841 <
3842 < /* Line 1464 of yacc.c  */
3843 < #line 830 "ircd_parser.y"
3844 <    {
3845 <                        }
3846 <    break;
3847 <
3848 <  case 109:
3849 <
3850 < /* Line 1464 of yacc.c  */
3851 < #line 834 "ircd_parser.y"
3657 >  case 106:
3658 > /* Line 1787 of yacc.c  */
3659 > #line 795 "conf_parser.y"
3660      {
3661    if (conf_parser_ctx.pass == 2)
3662 <    strlcpy(ConfigLoggingEntry.userlog, yylval.string,
3855 <            sizeof(ConfigLoggingEntry.userlog));
3856 < }
3857 <    break;
3858 <
3859 <  case 110:
3860 <
3861 < /* Line 1464 of yacc.c  */
3862 < #line 841 "ircd_parser.y"
3863 <    {
3864 <  if (conf_parser_ctx.pass == 2)
3865 <    strlcpy(ConfigLoggingEntry.failed_operlog, yylval.string,
3866 <            sizeof(ConfigLoggingEntry.failed_operlog));
3662 >    ConfigLoggingEntry.use_logging = yylval.number;
3663   }
3664      break;
3665  
3666 <  case 111:
3667 <
3668 < /* Line 1464 of yacc.c  */
3873 < #line 848 "ircd_parser.y"
3666 >  case 107:
3667 > /* Line 1787 of yacc.c  */
3668 > #line 801 "conf_parser.y"
3669      {
3670 <  if (conf_parser_ctx.pass == 2)
3671 <    strlcpy(ConfigLoggingEntry.operlog, yylval.string,
3672 <            sizeof(ConfigLoggingEntry.operlog));
3670 >  lfile[0] = '\0';
3671 >  ltype = 0;
3672 >  lsize = 0;
3673   }
3674      break;
3675  
3676 <  case 112:
3677 <
3678 < /* Line 1464 of yacc.c  */
3884 < #line 855 "ircd_parser.y"
3676 >  case 108:
3677 > /* Line 1787 of yacc.c  */
3678 > #line 806 "conf_parser.y"
3679      {
3680 <  if (conf_parser_ctx.pass == 2)
3681 <    strlcpy(ConfigLoggingEntry.operspylog, yylval.string,
3888 <            sizeof(ConfigLoggingEntry.operspylog));
3680 >  if (conf_parser_ctx.pass == 2 && ltype > 0)
3681 >    log_add_file(ltype, lsize, lfile);
3682   }
3683      break;
3684  
3685 <  case 113:
3686 <
3687 < /* Line 1464 of yacc.c  */
3895 < #line 862 "ircd_parser.y"
3685 >  case 115:
3686 > /* Line 1787 of yacc.c  */
3687 > #line 818 "conf_parser.y"
3688      {
3689 <  if (conf_parser_ctx.pass == 2)
3898 <    strlcpy(ConfigLoggingEntry.glinelog, yylval.string,
3899 <            sizeof(ConfigLoggingEntry.glinelog));
3689 >  strlcpy(lfile, yylval.string, sizeof(lfile));
3690   }
3691      break;
3692  
3693 <  case 114:
3694 <
3695 < /* Line 1464 of yacc.c  */
3906 < #line 869 "ircd_parser.y"
3693 >  case 116:
3694 > /* Line 1787 of yacc.c  */
3695 > #line 823 "conf_parser.y"
3696      {
3697 <  if (conf_parser_ctx.pass == 2)
3909 <    strlcpy(ConfigLoggingEntry.klinelog, yylval.string,
3910 <            sizeof(ConfigLoggingEntry.klinelog));
3697 >  lsize = (yyvsp[(3) - (4)].number);
3698   }
3699      break;
3700  
3701 <  case 115:
3702 <
3703 < /* Line 1464 of yacc.c  */
3917 < #line 876 "ircd_parser.y"
3701 >  case 117:
3702 > /* Line 1787 of yacc.c  */
3703 > #line 826 "conf_parser.y"
3704      {
3705 <  if (conf_parser_ctx.pass == 2)
3920 <    strlcpy(ConfigLoggingEntry.ioerrlog, yylval.string,
3921 <            sizeof(ConfigLoggingEntry.ioerrlog));
3705 >  lsize = 0;
3706   }
3707      break;
3708  
3709 <  case 116:
3710 <
3711 < /* Line 1464 of yacc.c  */
3928 < #line 883 "ircd_parser.y"
3709 >  case 118:
3710 > /* Line 1787 of yacc.c  */
3711 > #line 831 "conf_parser.y"
3712      {
3713    if (conf_parser_ctx.pass == 2)
3714 <    strlcpy(ConfigLoggingEntry.killlog, yylval.string,
3932 <            sizeof(ConfigLoggingEntry.killlog));
3933 < }
3934 <    break;
3935 <
3936 <  case 117:
3937 <
3938 < /* Line 1464 of yacc.c  */
3939 < #line 890 "ircd_parser.y"
3940 <    {
3941 <  if (conf_parser_ctx.pass == 2)
3942 <    set_log_level(L_CRIT);
3714 >    ltype = 0;
3715   }
3716      break;
3717  
3718 <  case 118:
3719 <
3720 < /* Line 1464 of yacc.c  */
3949 < #line 894 "ircd_parser.y"
3718 >  case 122:
3719 > /* Line 1787 of yacc.c  */
3720 > #line 838 "conf_parser.y"
3721      {
3722    if (conf_parser_ctx.pass == 2)
3723 <    set_log_level(L_ERROR);
3723 >    ltype = LOG_TYPE_USER;
3724   }
3725      break;
3726  
3727 <  case 119:
3728 <
3729 < /* Line 1464 of yacc.c  */
3959 < #line 898 "ircd_parser.y"
3727 >  case 123:
3728 > /* Line 1787 of yacc.c  */
3729 > #line 842 "conf_parser.y"
3730      {
3731    if (conf_parser_ctx.pass == 2)
3732 <    set_log_level(L_WARN);
3732 >    ltype = LOG_TYPE_OPER;
3733   }
3734      break;
3735  
3736 <  case 120:
3737 <
3738 < /* Line 1464 of yacc.c  */
3969 < #line 902 "ircd_parser.y"
3736 >  case 124:
3737 > /* Line 1787 of yacc.c  */
3738 > #line 846 "conf_parser.y"
3739      {
3740    if (conf_parser_ctx.pass == 2)
3741 <    set_log_level(L_NOTICE);
3741 >    ltype = LOG_TYPE_GLINE;
3742   }
3743      break;
3744  
3745 <  case 121:
3746 <
3747 < /* Line 1464 of yacc.c  */
3979 < #line 906 "ircd_parser.y"
3745 >  case 125:
3746 > /* Line 1787 of yacc.c  */
3747 > #line 850 "conf_parser.y"
3748      {
3749    if (conf_parser_ctx.pass == 2)
3750 <    set_log_level(L_TRACE);
3750 >    ltype = LOG_TYPE_DLINE;
3751   }
3752      break;
3753  
3754 <  case 122:
3755 <
3756 < /* Line 1464 of yacc.c  */
3989 < #line 910 "ircd_parser.y"
3754 >  case 126:
3755 > /* Line 1787 of yacc.c  */
3756 > #line 854 "conf_parser.y"
3757      {
3758    if (conf_parser_ctx.pass == 2)
3759 <    set_log_level(L_INFO);
3759 >    ltype = LOG_TYPE_KLINE;
3760   }
3761      break;
3762  
3763 <  case 123:
3764 <
3765 < /* Line 1464 of yacc.c  */
3999 < #line 914 "ircd_parser.y"
3763 >  case 127:
3764 > /* Line 1787 of yacc.c  */
3765 > #line 858 "conf_parser.y"
3766      {
3767    if (conf_parser_ctx.pass == 2)
3768 <    set_log_level(L_DEBUG);
3768 >    ltype = LOG_TYPE_KILL;
3769   }
3770      break;
3771  
3772 <  case 124:
3773 <
3774 < /* Line 1464 of yacc.c  */
4009 < #line 920 "ircd_parser.y"
3772 >  case 128:
3773 > /* Line 1787 of yacc.c  */
3774 > #line 862 "conf_parser.y"
3775      {
3776    if (conf_parser_ctx.pass == 2)
3777 <    ConfigLoggingEntry.use_logging = yylval.number;
3777 >    ltype = LOG_TYPE_DEBUG;
3778   }
3779      break;
3780  
3781 <  case 125:
3782 <
3783 < /* Line 1464 of yacc.c  */
4019 < #line 929 "ircd_parser.y"
3781 >  case 129:
3782 > /* Line 1787 of yacc.c  */
3783 > #line 872 "conf_parser.y"
3784      {
3785    if (conf_parser_ctx.pass == 2)
3786    {
# Line 4032 | Line 3796 | yyreduce:
3796   }
3797      break;
3798  
3799 <  case 126:
3800 <
3801 < /* Line 1464 of yacc.c  */
4038 < #line 942 "ircd_parser.y"
3799 >  case 130:
3800 > /* Line 1787 of yacc.c  */
3801 > #line 885 "conf_parser.y"
3802      {
3803    if (conf_parser_ctx.pass == 2)
3804    {
# Line 4070 | Line 3833 | yyreduce:
3833          DupString(new_aconf->host, yy_tmp->host);
3834        else
3835          DupString(new_aconf->host, "*");
3836 +
3837 +      new_aconf->type = parse_netmask(new_aconf->host, &new_aconf->addr,
3838 +                                     &new_aconf->bits);
3839 +
3840        conf_add_class_to_conf(new_conf, class_name);
3841        if (yy_aconf->passwd != NULL)
3842          DupString(new_aconf->passwd, yy_aconf->passwd);
# Line 4084 | Line 3851 | yyreduce:
3851                    yy_aconf->rsa_public_key_file);
3852  
3853          file = BIO_new_file(yy_aconf->rsa_public_key_file, "r");
3854 <        new_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file,
3854 >        new_aconf->rsa_public_key = PEM_read_bio_RSA_PUBKEY(file,
3855                                                             NULL, 0, NULL);
3856          BIO_set_close(file, BIO_CLOSE);
3857          BIO_free(file);
# Line 4117 | Line 3884 | yyreduce:
3884   }
3885      break;
3886  
3887 <  case 140:
3888 <
3889 < /* Line 1464 of yacc.c  */
4123 < #line 1029 "ircd_parser.y"
4124 <    {
4125 <  if (conf_parser_ctx.pass == 2)
4126 <  {
4127 <    if (strlen(yylval.string) > OPERNICKLEN)
4128 <      yylval.string[OPERNICKLEN] = '\0';
4129 <
4130 <    MyFree(yy_conf->name);
4131 <    DupString(yy_conf->name, yylval.string);
4132 <  }
4133 < }
4134 <    break;
4135 <
4136 <  case 141:
4137 <
4138 < /* Line 1464 of yacc.c  */
4139 < #line 1041 "ircd_parser.y"
3887 >  case 142:
3888 > /* Line 1787 of yacc.c  */
3889 > #line 975 "conf_parser.y"
3890      {
3891    if (conf_parser_ctx.pass == 2)
3892    {
4143    if (strlen(yylval.string) > OPERNICKLEN)
4144      yylval.string[OPERNICKLEN] = '\0';
4145
3893      MyFree(yy_conf->name);
3894      DupString(yy_conf->name, yylval.string);
3895    }
3896   }
3897      break;
3898  
3899 <  case 142:
3900 <
3901 < /* Line 1464 of yacc.c  */
4155 < #line 1053 "ircd_parser.y"
3899 >  case 143:
3900 > /* Line 1787 of yacc.c  */
3901 > #line 984 "conf_parser.y"
3902      {
3903    if (conf_parser_ctx.pass == 2)
3904    {
# Line 4173 | Line 3919 | yyreduce:
3919      {
3920        DupString(yy_aconf->user, userbuf);
3921        DupString(yy_aconf->host, hostbuf);
3922 +
3923 +      yy_aconf->type = parse_netmask(yy_aconf->host, &yy_aconf->addr,
3924 +                                    &yy_aconf->bits);
3925      }
3926      else
3927      {
# Line 4187 | Line 3936 | yyreduce:
3936   }
3937      break;
3938  
3939 <  case 143:
3940 <
3941 < /* Line 1464 of yacc.c  */
4193 < #line 1087 "ircd_parser.y"
3939 >  case 144:
3940 > /* Line 1787 of yacc.c  */
3941 > #line 1021 "conf_parser.y"
3942      {
3943    if (conf_parser_ctx.pass == 2)
3944    {
# Line 4203 | Line 3951 | yyreduce:
3951   }
3952      break;
3953  
3954 <  case 144:
3955 <
3956 < /* Line 1464 of yacc.c  */
4209 < #line 1099 "ircd_parser.y"
3954 >  case 145:
3955 > /* Line 1787 of yacc.c  */
3956 > #line 1033 "conf_parser.y"
3957      {
3958    if (conf_parser_ctx.pass == 2)
3959    {
# Line 4218 | Line 3965 | yyreduce:
3965   }
3966      break;
3967  
3968 <  case 145:
3969 <
3970 < /* Line 1464 of yacc.c  */
4224 < #line 1110 "ircd_parser.y"
3968 >  case 146:
3969 > /* Line 1787 of yacc.c  */
3970 > #line 1044 "conf_parser.y"
3971      {
3972   #ifdef HAVE_LIBCRYPTO
3973    if (conf_parser_ctx.pass == 2)
# Line 4249 | Line 3995 | yyreduce:
3995        break;
3996      }
3997  
3998 <    yy_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
3998 >    yy_aconf->rsa_public_key = PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
3999  
4000      if (yy_aconf->rsa_public_key == NULL)
4001      {
# Line 4264 | Line 4010 | yyreduce:
4010   }
4011      break;
4012  
4013 <  case 146:
4014 <
4015 < /* Line 1464 of yacc.c  */
4270 < #line 1152 "ircd_parser.y"
4013 >  case 147:
4014 > /* Line 1787 of yacc.c  */
4015 > #line 1086 "conf_parser.y"
4016      {
4017    if (conf_parser_ctx.pass == 2)
4018    {
# Line 4277 | Line 4022 | yyreduce:
4022   }
4023      break;
4024  
4025 <  case 147:
4026 <
4027 < /* Line 1464 of yacc.c  */
4283 < #line 1161 "ircd_parser.y"
4025 >  case 148:
4026 > /* Line 1787 of yacc.c  */
4027 > #line 1095 "conf_parser.y"
4028      {
4029    if (conf_parser_ctx.pass == 2)
4030      yy_aconf->modes = 0;
4031   }
4032      break;
4033  
4034 <  case 151:
4035 <
4036 < /* Line 1464 of yacc.c  */
4293 < #line 1168 "ircd_parser.y"
4034 >  case 152:
4035 > /* Line 1787 of yacc.c  */
4036 > #line 1102 "conf_parser.y"
4037      {
4038    if (conf_parser_ctx.pass == 2)
4039      yy_aconf->modes |= UMODE_BOTS;
4040   }
4041      break;
4042  
4043 <  case 152:
4044 <
4045 < /* Line 1464 of yacc.c  */
4303 < #line 1172 "ircd_parser.y"
4043 >  case 153:
4044 > /* Line 1787 of yacc.c  */
4045 > #line 1106 "conf_parser.y"
4046      {
4047    if (conf_parser_ctx.pass == 2)
4048      yy_aconf->modes |= UMODE_CCONN;
4049   }
4050      break;
4051  
4052 <  case 153:
4053 <
4054 < /* Line 1464 of yacc.c  */
4313 < #line 1176 "ircd_parser.y"
4052 >  case 154:
4053 > /* Line 1787 of yacc.c  */
4054 > #line 1110 "conf_parser.y"
4055      {
4056    if (conf_parser_ctx.pass == 2)
4057      yy_aconf->modes |= UMODE_CCONN_FULL;
4058   }
4059      break;
4060  
4061 <  case 154:
4062 <
4063 < /* Line 1464 of yacc.c  */
4323 < #line 1180 "ircd_parser.y"
4061 >  case 155:
4062 > /* Line 1787 of yacc.c  */
4063 > #line 1114 "conf_parser.y"
4064      {
4065    if (conf_parser_ctx.pass == 2)
4066      yy_aconf->modes |= UMODE_DEAF;
4067   }
4068      break;
4069  
4070 <  case 155:
4071 <
4072 < /* Line 1464 of yacc.c  */
4333 < #line 1184 "ircd_parser.y"
4070 >  case 156:
4071 > /* Line 1787 of yacc.c  */
4072 > #line 1118 "conf_parser.y"
4073      {
4074    if (conf_parser_ctx.pass == 2)
4075      yy_aconf->modes |= UMODE_DEBUG;
4076   }
4077      break;
4078  
4079 <  case 156:
4080 <
4081 < /* Line 1464 of yacc.c  */
4343 < #line 1188 "ircd_parser.y"
4079 >  case 157:
4080 > /* Line 1787 of yacc.c  */
4081 > #line 1122 "conf_parser.y"
4082      {
4083    if (conf_parser_ctx.pass == 2)
4084      yy_aconf->modes |= UMODE_FULL;
4085   }
4086      break;
4087  
4088 <  case 157:
4088 >  case 158:
4089 > /* Line 1787 of yacc.c  */
4090 > #line 1126 "conf_parser.y"
4091 >    {
4092 >  if (conf_parser_ctx.pass == 2)
4093 >    yy_aconf->modes |= UMODE_HIDDEN;
4094 > }
4095 >    break;
4096  
4097 < /* Line 1464 of yacc.c  */
4098 < #line 1192 "ircd_parser.y"
4097 >  case 159:
4098 > /* Line 1787 of yacc.c  */
4099 > #line 1130 "conf_parser.y"
4100      {
4101    if (conf_parser_ctx.pass == 2)
4102      yy_aconf->modes |= UMODE_SKILL;
4103   }
4104      break;
4105  
4106 <  case 158:
4107 <
4108 < /* Line 1464 of yacc.c  */
4363 < #line 1196 "ircd_parser.y"
4106 >  case 160:
4107 > /* Line 1787 of yacc.c  */
4108 > #line 1134 "conf_parser.y"
4109      {
4110    if (conf_parser_ctx.pass == 2)
4111      yy_aconf->modes |= UMODE_NCHANGE;
4112   }
4113      break;
4114  
4115 <  case 159:
4116 <
4117 < /* Line 1464 of yacc.c  */
4373 < #line 1200 "ircd_parser.y"
4115 >  case 161:
4116 > /* Line 1787 of yacc.c  */
4117 > #line 1138 "conf_parser.y"
4118      {
4119    if (conf_parser_ctx.pass == 2)
4120      yy_aconf->modes |= UMODE_REJ;
4121   }
4122      break;
4123  
4124 <  case 160:
4125 <
4126 < /* Line 1464 of yacc.c  */
4383 < #line 1204 "ircd_parser.y"
4124 >  case 162:
4125 > /* Line 1787 of yacc.c  */
4126 > #line 1142 "conf_parser.y"
4127      {
4128    if (conf_parser_ctx.pass == 2)
4129      yy_aconf->modes |= UMODE_UNAUTH;
4130   }
4131      break;
4132  
4133 <  case 161:
4134 <
4135 < /* Line 1464 of yacc.c  */
4393 < #line 1208 "ircd_parser.y"
4133 >  case 163:
4134 > /* Line 1787 of yacc.c  */
4135 > #line 1146 "conf_parser.y"
4136      {
4137    if (conf_parser_ctx.pass == 2)
4138      yy_aconf->modes |= UMODE_SPY;
4139   }
4140      break;
4141  
4142 <  case 162:
4143 <
4144 < /* Line 1464 of yacc.c  */
4403 < #line 1212 "ircd_parser.y"
4142 >  case 164:
4143 > /* Line 1787 of yacc.c  */
4144 > #line 1150 "conf_parser.y"
4145      {
4146    if (conf_parser_ctx.pass == 2)
4147      yy_aconf->modes |= UMODE_EXTERNAL;
4148   }
4149      break;
4150  
4151 <  case 163:
4152 <
4153 < /* Line 1464 of yacc.c  */
4413 < #line 1216 "ircd_parser.y"
4151 >  case 165:
4152 > /* Line 1787 of yacc.c  */
4153 > #line 1154 "conf_parser.y"
4154      {
4155    if (conf_parser_ctx.pass == 2)
4156      yy_aconf->modes |= UMODE_OPERWALL;
4157   }
4158      break;
4159  
4160 <  case 164:
4161 <
4162 < /* Line 1464 of yacc.c  */
4423 < #line 1220 "ircd_parser.y"
4160 >  case 166:
4161 > /* Line 1787 of yacc.c  */
4162 > #line 1158 "conf_parser.y"
4163      {
4164    if (conf_parser_ctx.pass == 2)
4165      yy_aconf->modes |= UMODE_SERVNOTICE;
4166   }
4167      break;
4168  
4169 <  case 165:
4170 <
4171 < /* Line 1464 of yacc.c  */
4433 < #line 1224 "ircd_parser.y"
4169 >  case 167:
4170 > /* Line 1787 of yacc.c  */
4171 > #line 1162 "conf_parser.y"
4172      {
4173    if (conf_parser_ctx.pass == 2)
4174      yy_aconf->modes |= UMODE_INVISIBLE;
4175   }
4176      break;
4177  
4178 <  case 166:
4179 <
4180 < /* Line 1464 of yacc.c  */
4443 < #line 1228 "ircd_parser.y"
4178 >  case 168:
4179 > /* Line 1787 of yacc.c  */
4180 > #line 1166 "conf_parser.y"
4181      {
4182    if (conf_parser_ctx.pass == 2)
4183      yy_aconf->modes |= UMODE_WALLOP;
4184   }
4185      break;
4186  
4187 <  case 167:
4188 <
4189 < /* Line 1464 of yacc.c  */
4453 < #line 1232 "ircd_parser.y"
4187 >  case 169:
4188 > /* Line 1787 of yacc.c  */
4189 > #line 1170 "conf_parser.y"
4190      {
4191    if (conf_parser_ctx.pass == 2)
4192      yy_aconf->modes |= UMODE_SOFTCALLERID;
4193   }
4194      break;
4195  
4196 <  case 168:
4197 <
4198 < /* Line 1464 of yacc.c  */
4463 < #line 1236 "ircd_parser.y"
4196 >  case 170:
4197 > /* Line 1787 of yacc.c  */
4198 > #line 1174 "conf_parser.y"
4199      {
4200    if (conf_parser_ctx.pass == 2)
4201      yy_aconf->modes |= UMODE_CALLERID;
4202   }
4203      break;
4204  
4205 <  case 169:
4206 <
4207 < /* Line 1464 of yacc.c  */
4473 < #line 1240 "ircd_parser.y"
4205 >  case 171:
4206 > /* Line 1787 of yacc.c  */
4207 > #line 1178 "conf_parser.y"
4208      {
4209    if (conf_parser_ctx.pass == 2)
4210      yy_aconf->modes |= UMODE_LOCOPS;
4211   }
4212      break;
4213  
4214 <  case 170:
4215 <
4216 < /* Line 1464 of yacc.c  */
4483 < #line 1246 "ircd_parser.y"
4214 >  case 172:
4215 > /* Line 1787 of yacc.c  */
4216 > #line 1184 "conf_parser.y"
4217      {
4218 +  if (conf_parser_ctx.pass == 2)
4219 +    yy_aconf->port = 0;
4220   }
4221      break;
4222  
4488  case 174:
4489
4490 /* Line 1464 of yacc.c  */
4491 #line 1250 "ircd_parser.y"
4492    { not_atom = 1; }
4493    break;
4494
4223    case 176:
4224 + /* Line 1787 of yacc.c  */
4225 + #line 1191 "conf_parser.y"
4226 +    {
4227 +  if (conf_parser_ctx.pass == 2)
4228 +    yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4229 + }
4230 +    break;
4231  
4232 < /* Line 1464 of yacc.c  */
4233 < #line 1251 "ircd_parser.y"
4234 <    { not_atom = 0; }
4232 >  case 177:
4233 > /* Line 1787 of yacc.c  */
4234 > #line 1195 "conf_parser.y"
4235 >    {
4236 >  if (conf_parser_ctx.pass == 2)
4237 >    yy_aconf->port |= OPER_FLAG_REMOTE;
4238 > }
4239      break;
4240  
4241    case 178:
4242 <
4243 < /* Line 1464 of yacc.c  */
4505 < #line 1254 "ircd_parser.y"
4242 > /* Line 1787 of yacc.c  */
4243 > #line 1199 "conf_parser.y"
4244      {
4245    if (conf_parser_ctx.pass == 2)
4246 <  {
4509 <    if (not_atom)yy_aconf->port &= ~OPER_FLAG_GLOBAL_KILL;
4510 <    else yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4511 <  }
4246 >    yy_aconf->port |= OPER_FLAG_K;
4247   }
4248      break;
4249  
4250    case 179:
4251 <
4252 < /* Line 1464 of yacc.c  */
4518 < #line 1261 "ircd_parser.y"
4251 > /* Line 1787 of yacc.c  */
4252 > #line 1203 "conf_parser.y"
4253      {
4254    if (conf_parser_ctx.pass == 2)
4255 <  {
4522 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REMOTE;
4523 <    else yy_aconf->port |= OPER_FLAG_REMOTE;
4524 <  }
4255 >    yy_aconf->port |= OPER_FLAG_UNKLINE;
4256   }
4257      break;
4258  
4259    case 180:
4260 <
4261 < /* Line 1464 of yacc.c  */
4531 < #line 1268 "ircd_parser.y"
4260 > /* Line 1787 of yacc.c  */
4261 > #line 1207 "conf_parser.y"
4262      {
4263    if (conf_parser_ctx.pass == 2)
4264 <  {
4535 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_K;
4536 <    else yy_aconf->port |= OPER_FLAG_K;
4537 <  }
4264 >    yy_aconf->port |= OPER_FLAG_DLINE;
4265   }
4266      break;
4267  
4268    case 181:
4269 <
4270 < /* Line 1464 of yacc.c  */
4544 < #line 1275 "ircd_parser.y"
4269 > /* Line 1787 of yacc.c  */
4270 > #line 1211 "conf_parser.y"
4271      {
4272    if (conf_parser_ctx.pass == 2)
4273 <  {
4548 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_UNKLINE;
4549 <    else yy_aconf->port |= OPER_FLAG_UNKLINE;
4550 <  }
4273 >    yy_aconf->port |= OPER_FLAG_UNDLINE;
4274   }
4275      break;
4276  
4277    case 182:
4278 <
4279 < /* Line 1464 of yacc.c  */
4557 < #line 1282 "ircd_parser.y"
4278 > /* Line 1787 of yacc.c  */
4279 > #line 1215 "conf_parser.y"
4280      {
4281    if (conf_parser_ctx.pass == 2)
4282 <  {
4561 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_X;
4562 <    else yy_aconf->port |= OPER_FLAG_X;
4563 <  }
4282 >    yy_aconf->port |= OPER_FLAG_X;
4283   }
4284      break;
4285  
4286    case 183:
4287 <
4288 < /* Line 1464 of yacc.c  */
4570 < #line 1289 "ircd_parser.y"
4287 > /* Line 1787 of yacc.c  */
4288 > #line 1219 "conf_parser.y"
4289      {
4290    if (conf_parser_ctx.pass == 2)
4291 <  {
4574 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_GLINE;
4575 <    else yy_aconf->port |= OPER_FLAG_GLINE;
4576 <  }
4291 >    yy_aconf->port |= OPER_FLAG_GLINE;
4292   }
4293      break;
4294  
4295    case 184:
4296 <
4297 < /* Line 1464 of yacc.c  */
4583 < #line 1296 "ircd_parser.y"
4296 > /* Line 1787 of yacc.c  */
4297 > #line 1223 "conf_parser.y"
4298      {
4299    if (conf_parser_ctx.pass == 2)
4300 <  {
4587 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_DIE;
4588 <    else yy_aconf->port |= OPER_FLAG_DIE;
4589 <  }
4300 >    yy_aconf->port |= OPER_FLAG_DIE;
4301   }
4302      break;
4303  
4304    case 185:
4305 <
4306 < /* Line 1464 of yacc.c  */
4596 < #line 1303 "ircd_parser.y"
4305 > /* Line 1787 of yacc.c  */
4306 > #line 1227 "conf_parser.y"
4307      {
4308    if (conf_parser_ctx.pass == 2)
4309 <  {
4600 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REHASH;
4601 <    else yy_aconf->port |= OPER_FLAG_REHASH;
4602 <  }
4309 >    yy_aconf->port |= OPER_FLAG_RESTART;
4310   }
4311      break;
4312  
4313    case 186:
4314 <
4315 < /* Line 1464 of yacc.c  */
4609 < #line 1310 "ircd_parser.y"
4314 > /* Line 1787 of yacc.c  */
4315 > #line 1231 "conf_parser.y"
4316      {
4317    if (conf_parser_ctx.pass == 2)
4318 <  {
4613 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_ADMIN;
4614 <    else yy_aconf->port |= OPER_FLAG_ADMIN;
4615 <  }
4318 >    yy_aconf->port |= OPER_FLAG_REHASH;
4319   }
4320      break;
4321  
4322    case 187:
4323 <
4324 < /* Line 1464 of yacc.c  */
4622 < #line 1317 "ircd_parser.y"
4323 > /* Line 1787 of yacc.c  */
4324 > #line 1235 "conf_parser.y"
4325      {
4326    if (conf_parser_ctx.pass == 2)
4327 <  {
4626 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_HIDDEN_ADMIN;
4627 <    else yy_aconf->port |= OPER_FLAG_HIDDEN_ADMIN;
4628 <  }
4327 >    yy_aconf->port |= OPER_FLAG_ADMIN;
4328   }
4329      break;
4330  
4331    case 188:
4332 <
4333 < /* Line 1464 of yacc.c  */
4635 < #line 1324 "ircd_parser.y"
4332 > /* Line 1787 of yacc.c  */
4333 > #line 1239 "conf_parser.y"
4334      {
4335    if (conf_parser_ctx.pass == 2)
4336 <  {
4639 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_N;
4640 <    else yy_aconf->port |= OPER_FLAG_N;
4641 <  }
4336 >    yy_aconf->port |= OPER_FLAG_N;
4337   }
4338      break;
4339  
4340    case 189:
4341 <
4342 < /* Line 1464 of yacc.c  */
4648 < #line 1331 "ircd_parser.y"
4341 > /* Line 1787 of yacc.c  */
4342 > #line 1243 "conf_parser.y"
4343      {
4344    if (conf_parser_ctx.pass == 2)
4345 <  {
4652 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_OPERWALL;
4653 <    else yy_aconf->port |= OPER_FLAG_OPERWALL;
4654 <  }
4345 >    yy_aconf->port |= OPER_FLAG_OPERWALL;
4346   }
4347      break;
4348  
4349    case 190:
4350 <
4351 < /* Line 1464 of yacc.c  */
4661 < #line 1338 "ircd_parser.y"
4350 > /* Line 1787 of yacc.c  */
4351 > #line 1247 "conf_parser.y"
4352      {
4353    if (conf_parser_ctx.pass == 2)
4354 <  {
4665 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_OPER_SPY;
4666 <    else yy_aconf->port |= OPER_FLAG_OPER_SPY;
4667 <  }
4354 >    yy_aconf->port |= OPER_FLAG_GLOBOPS;
4355   }
4356      break;
4357  
4358    case 191:
4359 <
4360 < /* Line 1464 of yacc.c  */
4674 < #line 1345 "ircd_parser.y"
4359 > /* Line 1787 of yacc.c  */
4360 > #line 1251 "conf_parser.y"
4361      {
4362    if (conf_parser_ctx.pass == 2)
4363 <  {
4678 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_HIDDEN_OPER;
4679 <    else yy_aconf->port |= OPER_FLAG_HIDDEN_OPER;
4680 <  }
4363 >    yy_aconf->port |= OPER_FLAG_OPER_SPY;
4364   }
4365      break;
4366  
4367    case 192:
4368 <
4369 < /* Line 1464 of yacc.c  */
4687 < #line 1352 "ircd_parser.y"
4368 > /* Line 1787 of yacc.c  */
4369 > #line 1255 "conf_parser.y"
4370      {
4371    if (conf_parser_ctx.pass == 2)
4372 <  {
4691 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REMOTEBAN;
4692 <    else yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4693 <  }
4372 >    yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4373   }
4374      break;
4375  
4376    case 193:
4377 <
4378 < /* Line 1464 of yacc.c  */
4700 < #line 1359 "ircd_parser.y"
4377 > /* Line 1787 of yacc.c  */
4378 > #line 1259 "conf_parser.y"
4379      {
4380    if (conf_parser_ctx.pass == 2)
4381 <  {
4704 <    if (not_atom) ClearConfEncrypted(yy_aconf);
4705 <    else SetConfEncrypted(yy_aconf);
4706 <  }
4381 >    yy_aconf->port |= OPER_FLAG_SET;
4382   }
4383      break;
4384  
4385    case 194:
4386 + /* Line 1787 of yacc.c  */
4387 + #line 1263 "conf_parser.y"
4388 +    {
4389 +  if (conf_parser_ctx.pass == 2)
4390 +    yy_aconf->port |= OPER_FLAG_MODULE;
4391 + }
4392 +    break;
4393  
4394 < /* Line 1464 of yacc.c  */
4395 < #line 1372 "ircd_parser.y"
4394 >  case 195:
4395 > /* Line 1787 of yacc.c  */
4396 > #line 1273 "conf_parser.y"
4397      {
4398    if (conf_parser_ctx.pass == 1)
4399    {
# Line 4720 | Line 4403 | yyreduce:
4403   }
4404      break;
4405  
4406 <  case 195:
4407 <
4408 < /* Line 1464 of yacc.c  */
4726 < #line 1379 "ircd_parser.y"
4406 >  case 196:
4407 > /* Line 1787 of yacc.c  */
4408 > #line 1280 "conf_parser.y"
4409      {
4410    if (conf_parser_ctx.pass == 1)
4411    {
# Line 4734 | Line 4416 | yyreduce:
4416        delete_conf_item(yy_conf);
4417      else
4418      {
4419 <      cconf = find_exact_name_conf(CLASS_TYPE, yy_class_name, NULL, NULL);
4419 >      cconf = find_exact_name_conf(CLASS_TYPE, NULL, yy_class_name, NULL, NULL);
4420  
4421        if (cconf != NULL)                /* The class existed already */
4422        {
# Line 4768 | Line 4450 | yyreduce:
4450      break;
4451  
4452    case 214:
4453 <
4454 < /* Line 1464 of yacc.c  */
4773 < #line 1439 "ircd_parser.y"
4453 > /* Line 1787 of yacc.c  */
4454 > #line 1338 "conf_parser.y"
4455      {
4456    if (conf_parser_ctx.pass == 1)
4457    {
# Line 4781 | Line 4462 | yyreduce:
4462      break;
4463  
4464    case 215:
4465 <
4466 < /* Line 1464 of yacc.c  */
4786 < #line 1448 "ircd_parser.y"
4465 > /* Line 1787 of yacc.c  */
4466 > #line 1347 "conf_parser.y"
4467      {
4468    if (conf_parser_ctx.pass == 1)
4469 <  {
4790 <    MyFree(yy_class_name);
4791 <    DupString(yy_class_name, yylval.string);
4792 <  }
4469 >    yy_class->ping_freq = (yyvsp[(3) - (4)].number);
4470   }
4471      break;
4472  
4473    case 216:
4474 <
4475 < /* Line 1464 of yacc.c  */
4799 < #line 1457 "ircd_parser.y"
4474 > /* Line 1787 of yacc.c  */
4475 > #line 1353 "conf_parser.y"
4476      {
4477    if (conf_parser_ctx.pass == 1)
4478 <    PingFreq(yy_class) = (yyvsp[(3) - (4)].number);
4478 >    yy_class->ping_warning = (yyvsp[(3) - (4)].number);
4479   }
4480      break;
4481  
4482    case 217:
4483 <
4484 < /* Line 1464 of yacc.c  */
4809 < #line 1463 "ircd_parser.y"
4483 > /* Line 1787 of yacc.c  */
4484 > #line 1359 "conf_parser.y"
4485      {
4486    if (conf_parser_ctx.pass == 1)
4487 <    PingWarning(yy_class) = (yyvsp[(3) - (4)].number);
4487 >    yy_class->max_perip = (yyvsp[(3) - (4)].number);
4488   }
4489      break;
4490  
4491    case 218:
4492 <
4493 < /* Line 1464 of yacc.c  */
4819 < #line 1469 "ircd_parser.y"
4492 > /* Line 1787 of yacc.c  */
4493 > #line 1365 "conf_parser.y"
4494      {
4495    if (conf_parser_ctx.pass == 1)
4496 <    MaxPerIp(yy_class) = (yyvsp[(3) - (4)].number);
4496 >    yy_class->con_freq = (yyvsp[(3) - (4)].number);
4497   }
4498      break;
4499  
4500    case 219:
4501 <
4502 < /* Line 1464 of yacc.c  */
4829 < #line 1475 "ircd_parser.y"
4501 > /* Line 1787 of yacc.c  */
4502 > #line 1371 "conf_parser.y"
4503      {
4504    if (conf_parser_ctx.pass == 1)
4505 <    ConFreq(yy_class) = (yyvsp[(3) - (4)].number);
4505 >    yy_class->max_total = (yyvsp[(3) - (4)].number);
4506   }
4507      break;
4508  
4509    case 220:
4510 <
4511 < /* Line 1464 of yacc.c  */
4839 < #line 1481 "ircd_parser.y"
4510 > /* Line 1787 of yacc.c  */
4511 > #line 1377 "conf_parser.y"
4512      {
4513    if (conf_parser_ctx.pass == 1)
4514 <    MaxTotal(yy_class) = (yyvsp[(3) - (4)].number);
4514 >    yy_class->max_global = (yyvsp[(3) - (4)].number);
4515   }
4516      break;
4517  
4518    case 221:
4519 <
4520 < /* Line 1464 of yacc.c  */
4849 < #line 1487 "ircd_parser.y"
4519 > /* Line 1787 of yacc.c  */
4520 > #line 1383 "conf_parser.y"
4521      {
4522    if (conf_parser_ctx.pass == 1)
4523 <    MaxGlobal(yy_class) = (yyvsp[(3) - (4)].number);
4523 >    yy_class->max_local = (yyvsp[(3) - (4)].number);
4524   }
4525      break;
4526  
4527    case 222:
4528 <
4529 < /* Line 1464 of yacc.c  */
4859 < #line 1493 "ircd_parser.y"
4528 > /* Line 1787 of yacc.c  */
4529 > #line 1389 "conf_parser.y"
4530      {
4531    if (conf_parser_ctx.pass == 1)
4532 <    MaxLocal(yy_class) = (yyvsp[(3) - (4)].number);
4532 >    yy_class->max_ident = (yyvsp[(3) - (4)].number);
4533   }
4534      break;
4535  
4536    case 223:
4537 <
4538 < /* Line 1464 of yacc.c  */
4869 < #line 1499 "ircd_parser.y"
4537 > /* Line 1787 of yacc.c  */
4538 > #line 1395 "conf_parser.y"
4539      {
4540    if (conf_parser_ctx.pass == 1)
4541 <    MaxIdent(yy_class) = (yyvsp[(3) - (4)].number);
4541 >    yy_class->max_sendq = (yyvsp[(3) - (4)].number);
4542   }
4543      break;
4544  
4545    case 224:
4546 <
4547 < /* Line 1464 of yacc.c  */
4879 < #line 1505 "ircd_parser.y"
4546 > /* Line 1787 of yacc.c  */
4547 > #line 1401 "conf_parser.y"
4548      {
4549    if (conf_parser_ctx.pass == 1)
4550 <    MaxSendq(yy_class) = (yyvsp[(3) - (4)].number);
4550 >    if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
4551 >      yy_class->max_recvq = (yyvsp[(3) - (4)].number);
4552   }
4553      break;
4554  
4555    case 225:
4556 <
4557 < /* Line 1464 of yacc.c  */
4889 < #line 1511 "ircd_parser.y"
4556 > /* Line 1787 of yacc.c  */
4557 > #line 1408 "conf_parser.y"
4558      {
4559    if (conf_parser_ctx.pass == 1)
4560 <    CidrBitlenIPV4(yy_class) = (yyvsp[(3) - (4)].number);
4560 >    yy_class->cidr_bitlen_ipv4 = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4561   }
4562      break;
4563  
4564    case 226:
4565 <
4566 < /* Line 1464 of yacc.c  */
4899 < #line 1517 "ircd_parser.y"
4565 > /* Line 1787 of yacc.c  */
4566 > #line 1414 "conf_parser.y"
4567      {
4568    if (conf_parser_ctx.pass == 1)
4569 <    CidrBitlenIPV6(yy_class) = (yyvsp[(3) - (4)].number);
4569 >    yy_class->cidr_bitlen_ipv6 = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4570   }
4571      break;
4572  
4573    case 227:
4574 <
4575 < /* Line 1464 of yacc.c  */
4909 < #line 1523 "ircd_parser.y"
4574 > /* Line 1787 of yacc.c  */
4575 > #line 1420 "conf_parser.y"
4576      {
4577    if (conf_parser_ctx.pass == 1)
4578 <    NumberPerCidr(yy_class) = (yyvsp[(3) - (4)].number);
4578 >    yy_class->number_per_cidr = (yyvsp[(3) - (4)].number);
4579   }
4580      break;
4581  
4582    case 228:
4583 <
4584 < /* Line 1464 of yacc.c  */
4919 < #line 1532 "ircd_parser.y"
4583 > /* Line 1787 of yacc.c  */
4584 > #line 1429 "conf_parser.y"
4585      {
4586    if (conf_parser_ctx.pass == 2)
4587    {
# Line 4927 | Line 4592 | yyreduce:
4592      break;
4593  
4594    case 229:
4595 <
4596 < /* Line 1464 of yacc.c  */
4932 < #line 1539 "ircd_parser.y"
4595 > /* Line 1787 of yacc.c  */
4596 > #line 1436 "conf_parser.y"
4597      {
4598    if (conf_parser_ctx.pass == 2)
4599    {
# Line 4940 | Line 4604 | yyreduce:
4604      break;
4605  
4606    case 230:
4607 <
4608 < /* Line 1464 of yacc.c  */
4945 < #line 1548 "ircd_parser.y"
4607 > /* Line 1787 of yacc.c  */
4608 > #line 1445 "conf_parser.y"
4609      {
4610    listener_flags = 0;
4611   }
4612      break;
4613  
4614    case 234:
4615 <
4616 < /* Line 1464 of yacc.c  */
4954 < #line 1554 "ircd_parser.y"
4615 > /* Line 1787 of yacc.c  */
4616 > #line 1451 "conf_parser.y"
4617      {
4618    if (conf_parser_ctx.pass == 2)
4619      listener_flags |= LISTENER_SSL;
# Line 4959 | Line 4621 | yyreduce:
4621      break;
4622  
4623    case 235:
4624 <
4625 < /* Line 1464 of yacc.c  */
4964 < #line 1558 "ircd_parser.y"
4624 > /* Line 1787 of yacc.c  */
4625 > #line 1455 "conf_parser.y"
4626      {
4627    if (conf_parser_ctx.pass == 2)
4628      listener_flags |= LISTENER_HIDDEN;
# Line 4969 | Line 4630 | yyreduce:
4630      break;
4631  
4632    case 236:
4633 <
4634 < /* Line 1464 of yacc.c  */
4974 < #line 1562 "ircd_parser.y"
4633 > /* Line 1787 of yacc.c  */
4634 > #line 1459 "conf_parser.y"
4635      {
4636    if (conf_parser_ctx.pass == 2)
4637      listener_flags |= LISTENER_SERVER;
# Line 4979 | Line 4639 | yyreduce:
4639      break;
4640  
4641    case 244:
4642 <
4643 < /* Line 1464 of yacc.c  */
4984 < #line 1572 "ircd_parser.y"
4642 > /* Line 1787 of yacc.c  */
4643 > #line 1469 "conf_parser.y"
4644      { listener_flags = 0; }
4645      break;
4646  
4647    case 248:
4648 <
4649 < /* Line 1464 of yacc.c  */
4991 < #line 1577 "ircd_parser.y"
4648 > /* Line 1787 of yacc.c  */
4649 > #line 1474 "conf_parser.y"
4650      {
4651    if (conf_parser_ctx.pass == 2)
4652    {
# Line 5006 | Line 4664 | yyreduce:
4664      break;
4665  
4666    case 249:
4667 <
4668 < /* Line 1464 of yacc.c  */
5011 < #line 1591 "ircd_parser.y"
4667 > /* Line 1787 of yacc.c  */
4668 > #line 1488 "conf_parser.y"
4669      {
4670    if (conf_parser_ctx.pass == 2)
4671    {
# Line 5030 | Line 4687 | yyreduce:
4687      break;
4688  
4689    case 250:
4690 <
4691 < /* Line 1464 of yacc.c  */
5035 < #line 1611 "ircd_parser.y"
4690 > /* Line 1787 of yacc.c  */
4691 > #line 1508 "conf_parser.y"
4692      {
4693    if (conf_parser_ctx.pass == 2)
4694    {
# Line 5043 | Line 4699 | yyreduce:
4699      break;
4700  
4701    case 251:
4702 <
4703 < /* Line 1464 of yacc.c  */
5048 < #line 1620 "ircd_parser.y"
4702 > /* Line 1787 of yacc.c  */
4703 > #line 1517 "conf_parser.y"
4704      {
4705    if (conf_parser_ctx.pass == 2)
4706    {
# Line 5056 | Line 4711 | yyreduce:
4711      break;
4712  
4713    case 252:
4714 <
4715 < /* Line 1464 of yacc.c  */
5061 < #line 1632 "ircd_parser.y"
4714 > /* Line 1787 of yacc.c  */
4715 > #line 1529 "conf_parser.y"
4716      {
4717    if (conf_parser_ctx.pass == 2)
4718    {
# Line 5074 | Line 4728 | yyreduce:
4728      break;
4729  
4730    case 253:
4731 <
4732 < /* Line 1464 of yacc.c  */
5079 < #line 1644 "ircd_parser.y"
4731 > /* Line 1787 of yacc.c  */
4732 > #line 1541 "conf_parser.y"
4733      {
4734    if (conf_parser_ctx.pass == 2)
4735    {
# Line 5135 | Line 4788 | yyreduce:
4788      break;
4789  
4790    case 265:
4791 <
4792 < /* Line 1464 of yacc.c  */
5140 < #line 1706 "ircd_parser.y"
4791 > /* Line 1787 of yacc.c  */
4792 > #line 1603 "conf_parser.y"
4793      {
4794    if (conf_parser_ctx.pass == 2)
4795    {
# Line 5174 | Line 4826 | yyreduce:
4826      break;
4827  
4828    case 266:
4829 <
4830 < /* Line 1464 of yacc.c  */
5179 < #line 1743 "ircd_parser.y"
4829 > /* Line 1787 of yacc.c  */
4830 > #line 1638 "conf_parser.y"
4831      {
4832    if (conf_parser_ctx.pass == 2)
4833    {
# Line 5191 | Line 4842 | yyreduce:
4842      break;
4843  
4844    case 267:
4845 <
4846 < /* Line 1464 of yacc.c  */
5196 < #line 1756 "ircd_parser.y"
4845 > /* Line 1787 of yacc.c  */
4846 > #line 1651 "conf_parser.y"
4847      {
4848    if (conf_parser_ctx.pass == 2)
4849    {
# Line 5204 | Line 4854 | yyreduce:
4854      break;
4855  
4856    case 268:
4857 <
4858 < /* Line 1464 of yacc.c  */
5209 < #line 1765 "ircd_parser.y"
4857 > /* Line 1787 of yacc.c  */
4858 > #line 1660 "conf_parser.y"
4859      {
4860    if (conf_parser_ctx.pass == 2)
4861    {
# Line 5219 | Line 4868 | yyreduce:
4868      break;
4869  
4870    case 269:
4871 <
4872 < /* Line 1464 of yacc.c  */
5224 < #line 1776 "ircd_parser.y"
4871 > /* Line 1787 of yacc.c  */
4872 > #line 1671 "conf_parser.y"
4873      {
4874   }
4875      break;
4876  
4877    case 273:
4878 <
4879 < /* Line 1464 of yacc.c  */
5232 < #line 1780 "ircd_parser.y"
5233 <    { not_atom = 1; }
5234 <    break;
5235 <
5236 <  case 275:
5237 <
5238 < /* Line 1464 of yacc.c  */
5239 < #line 1781 "ircd_parser.y"
5240 <    { not_atom = 0; }
5241 <    break;
5242 <
5243 <  case 277:
5244 <
5245 < /* Line 1464 of yacc.c  */
5246 < #line 1784 "ircd_parser.y"
5247 <    {
5248 <  if (conf_parser_ctx.pass == 2)
5249 <  {
5250 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_SPOOF_NOTICE;
5251 <    else yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
5252 <  }
5253 < }
5254 <    break;
5255 <
5256 <  case 278:
5257 <
5258 < /* Line 1464 of yacc.c  */
5259 < #line 1791 "ircd_parser.y"
4878 > /* Line 1787 of yacc.c  */
4879 > #line 1676 "conf_parser.y"
4880      {
4881    if (conf_parser_ctx.pass == 2)
4882 <  {
5263 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NOLIMIT;
5264 <    else yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
5265 <  }
4882 >    yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
4883   }
4884      break;
4885  
4886 <  case 279:
4887 <
4888 < /* Line 1464 of yacc.c  */
5272 < #line 1798 "ircd_parser.y"
4886 >  case 274:
4887 > /* Line 1787 of yacc.c  */
4888 > #line 1680 "conf_parser.y"
4889      {
4890    if (conf_parser_ctx.pass == 2)
4891 <  {
5276 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTKLINE;
5277 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
5278 <  }
4891 >    yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
4892   }
4893      break;
4894  
4895 <  case 280:
4896 <
4897 < /* Line 1464 of yacc.c  */
5285 < #line 1805 "ircd_parser.y"
4895 >  case 275:
4896 > /* Line 1787 of yacc.c  */
4897 > #line 1684 "conf_parser.y"
4898      {
4899    if (conf_parser_ctx.pass == 2)
4900 <  {
5289 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NEED_IDENTD;
5290 <    else yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
5291 <  }
4900 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
4901   }
4902      break;
4903  
4904 <  case 281:
4905 <
4906 < /* Line 1464 of yacc.c  */
5298 < #line 1812 "ircd_parser.y"
4904 >  case 276:
4905 > /* Line 1787 of yacc.c  */
4906 > #line 1688 "conf_parser.y"
4907      {
4908    if (conf_parser_ctx.pass == 2)
4909 <  {
5302 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_CAN_FLOOD;
5303 <    else yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
5304 <  }
4909 >    yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
4910   }
4911      break;
4912  
4913 <  case 282:
4914 <
4915 < /* Line 1464 of yacc.c  */
5311 < #line 1819 "ircd_parser.y"
4913 >  case 277:
4914 > /* Line 1787 of yacc.c  */
4915 > #line 1692 "conf_parser.y"
4916      {
4917    if (conf_parser_ctx.pass == 2)
4918 <  {
5315 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_IDLE_LINED;
5316 <    else yy_aconf->flags |= CONF_FLAGS_IDLE_LINED;
5317 <  }
4918 >    yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
4919   }
4920      break;
4921  
4922 <  case 283:
4923 <
4924 < /* Line 1464 of yacc.c  */
5324 < #line 1826 "ircd_parser.y"
4922 >  case 278:
4923 > /* Line 1787 of yacc.c  */
4924 > #line 1696 "conf_parser.y"
4925      {
4926    if (conf_parser_ctx.pass == 2)
4927 <  {
5328 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NO_TILDE;
5329 <    else yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
5330 <  }
4927 >    yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
4928   }
4929      break;
4930  
4931 <  case 284:
4932 <
4933 < /* Line 1464 of yacc.c  */
5337 < #line 1833 "ircd_parser.y"
4931 >  case 279:
4932 > /* Line 1787 of yacc.c  */
4933 > #line 1700 "conf_parser.y"
4934      {
4935    if (conf_parser_ctx.pass == 2)
4936 <  {
5341 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTGLINE;
5342 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
5343 <  }
4936 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
4937   }
4938      break;
4939  
4940 <  case 285:
4941 <
4942 < /* Line 1464 of yacc.c  */
5350 < #line 1840 "ircd_parser.y"
4940 >  case 280:
4941 > /* Line 1787 of yacc.c  */
4942 > #line 1704 "conf_parser.y"
4943      {
4944    if (conf_parser_ctx.pass == 2)
4945 <  {
5354 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTRESV;
5355 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
5356 <  }
4945 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
4946   }
4947      break;
4948  
4949 <  case 286:
4950 <
4951 < /* Line 1464 of yacc.c  */
5363 < #line 1847 "ircd_parser.y"
4949 >  case 281:
4950 > /* Line 1787 of yacc.c  */
4951 > #line 1708 "conf_parser.y"
4952      {
4953    if (conf_parser_ctx.pass == 2)
4954 <  {
5367 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NEED_PASSWORD;
5368 <    else yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
5369 <  }
4954 >    yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
4955   }
4956      break;
4957  
4958 <  case 287:
4959 <
4960 < /* Line 1464 of yacc.c  */
5376 < #line 1857 "ircd_parser.y"
4958 >  case 282:
4959 > /* Line 1787 of yacc.c  */
4960 > #line 1714 "conf_parser.y"
4961      {
4962    if (conf_parser_ctx.pass == 2)
4963    {
4964      MyFree(yy_conf->name);
4965  
4966 <    if (strlen(yylval.string) < HOSTLEN)
4966 >    if (strlen(yylval.string) <= HOSTLEN && valid_hostname(yylval.string))
4967      {    
4968        DupString(yy_conf->name, yylval.string);
4969        yy_aconf->flags |= CONF_FLAGS_SPOOF_IP;
4970      }
4971      else
4972      {
4973 <      ilog(L_ERROR, "Spoofs must be less than %d..ignoring it", HOSTLEN);
4973 >      ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4974        yy_conf->name = NULL;
4975      }
4976    }
4977   }
4978      break;
4979  
4980 <  case 288:
4981 <
4982 < /* Line 1464 of yacc.c  */
5399 < #line 1876 "ircd_parser.y"
4980 >  case 283:
4981 > /* Line 1787 of yacc.c  */
4982 > #line 1733 "conf_parser.y"
4983      {
4984    if (conf_parser_ctx.pass == 2)
4985    {
# Line 5407 | Line 4990 | yyreduce:
4990   }
4991      break;
4992  
4993 <  case 289:
4994 <
4995 < /* Line 1464 of yacc.c  */
5413 < #line 1886 "ircd_parser.y"
4993 >  case 284:
4994 > /* Line 1787 of yacc.c  */
4995 > #line 1743 "conf_parser.y"
4996      {
4997    if (conf_parser_ctx.pass == 2)
4998    {
# Line 5420 | Line 5002 | yyreduce:
5002   }
5003      break;
5004  
5005 <  case 290:
5006 <
5007 < /* Line 1464 of yacc.c  */
5426 < #line 1899 "ircd_parser.y"
5005 >  case 285:
5006 > /* Line 1787 of yacc.c  */
5007 > #line 1756 "conf_parser.y"
5008      {
5009    if (conf_parser_ctx.pass == 2)
5010    {
# Line 5433 | Line 5014 | yyreduce:
5014   }
5015      break;
5016  
5017 <  case 291:
5018 <
5019 < /* Line 1464 of yacc.c  */
5439 < #line 1906 "ircd_parser.y"
5017 >  case 286:
5018 > /* Line 1787 of yacc.c  */
5019 > #line 1763 "conf_parser.y"
5020      {
5021    if (conf_parser_ctx.pass == 2)
5022    {
# Line 5446 | Line 5026 | yyreduce:
5026   }
5027      break;
5028  
5029 <  case 298:
5030 <
5031 < /* Line 1464 of yacc.c  */
5452 < #line 1918 "ircd_parser.y"
5029 >  case 293:
5030 > /* Line 1787 of yacc.c  */
5031 > #line 1775 "conf_parser.y"
5032      {
5033    if (conf_parser_ctx.pass == 2)
5034    {
# Line 5459 | Line 5038 | yyreduce:
5038   }
5039      break;
5040  
5041 <  case 299:
5042 <
5043 < /* Line 1464 of yacc.c  */
5465 < #line 1927 "ircd_parser.y"
5041 >  case 294:
5042 > /* Line 1787 of yacc.c  */
5043 > #line 1784 "conf_parser.y"
5044      {
5045    if (conf_parser_ctx.pass == 2)
5046    {
# Line 5478 | Line 5056 | yyreduce:
5056   }
5057      break;
5058  
5059 <  case 300:
5060 <
5061 < /* Line 1464 of yacc.c  */
5484 < #line 1942 "ircd_parser.y"
5059 >  case 295:
5060 > /* Line 1787 of yacc.c  */
5061 > #line 1799 "conf_parser.y"
5062      {
5063    if (conf_parser_ctx.pass == 2)
5064    {
# Line 5493 | Line 5070 | yyreduce:
5070      break;
5071  
5072    case 301:
5073 + /* Line 1787 of yacc.c  */
5074 + #line 1817 "conf_parser.y"
5075 +    {
5076 +  if (conf_parser_ctx.pass == 2)
5077 +  {
5078 +    if (valid_servname(yylval.string))
5079 +    {
5080 +      yy_conf = make_conf_item(SERVICE_TYPE);
5081 +      DupString(yy_conf->name, yylval.string);
5082 +    }
5083 +  }
5084 + }
5085 +    break;
5086  
5087 < /* Line 1464 of yacc.c  */
5088 < #line 1955 "ircd_parser.y"
5087 >  case 302:
5088 > /* Line 1787 of yacc.c  */
5089 > #line 1832 "conf_parser.y"
5090      {
5091    if (conf_parser_ctx.pass == 2)
5092    {
# Line 5506 | Line 5097 | yyreduce:
5097   }
5098      break;
5099  
5100 <  case 302:
5101 <
5102 < /* Line 1464 of yacc.c  */
5512 < #line 1963 "ircd_parser.y"
5100 >  case 303:
5101 > /* Line 1787 of yacc.c  */
5102 > #line 1840 "conf_parser.y"
5103      {
5104    if (conf_parser_ctx.pass == 2)
5105    {
# Line 5518 | Line 5108 | yyreduce:
5108   }
5109      break;
5110  
5111 <  case 309:
5112 <
5113 < /* Line 1464 of yacc.c  */
5524 < #line 1974 "ircd_parser.y"
5111 >  case 310:
5112 > /* Line 1787 of yacc.c  */
5113 > #line 1851 "conf_parser.y"
5114      {
5115    if (conf_parser_ctx.pass == 2)
5116    {
# Line 5531 | Line 5120 | yyreduce:
5120   }
5121      break;
5122  
5123 <  case 310:
5124 <
5125 < /* Line 1464 of yacc.c  */
5537 < #line 1983 "ircd_parser.y"
5123 >  case 311:
5124 > /* Line 1787 of yacc.c  */
5125 > #line 1860 "conf_parser.y"
5126      {
5127    if (conf_parser_ctx.pass == 2)
5128    {
# Line 5557 | Line 5145 | yyreduce:
5145   }
5146      break;
5147  
5148 <  case 311:
5149 <
5150 < /* Line 1464 of yacc.c  */
5563 < #line 2005 "ircd_parser.y"
5148 >  case 312:
5149 > /* Line 1787 of yacc.c  */
5150 > #line 1882 "conf_parser.y"
5151      {
5152    if (conf_parser_ctx.pass == 2)
5153      yy_match_item->action = 0;
5154   }
5155      break;
5156  
5570  case 315:
5571
5572 /* Line 1464 of yacc.c  */
5573 #line 2012 "ircd_parser.y"
5574    {
5575  if (conf_parser_ctx.pass == 2)
5576    yy_match_item->action |= SHARED_KLINE;
5577 }
5578    break;
5579
5157    case 316:
5158 <
5159 < /* Line 1464 of yacc.c  */
5583 < #line 2016 "ircd_parser.y"
5158 > /* Line 1787 of yacc.c  */
5159 > #line 1889 "conf_parser.y"
5160      {
5161    if (conf_parser_ctx.pass == 2)
5162 <    yy_match_item->action |= SHARED_TKLINE;
5162 >    yy_match_item->action |= SHARED_KLINE;
5163   }
5164      break;
5165  
5166    case 317:
5167 <
5168 < /* Line 1464 of yacc.c  */
5593 < #line 2020 "ircd_parser.y"
5167 > /* Line 1787 of yacc.c  */
5168 > #line 1893 "conf_parser.y"
5169      {
5170    if (conf_parser_ctx.pass == 2)
5171      yy_match_item->action |= SHARED_UNKLINE;
# Line 5598 | Line 5173 | yyreduce:
5173      break;
5174  
5175    case 318:
5176 <
5177 < /* Line 1464 of yacc.c  */
5603 < #line 2024 "ircd_parser.y"
5176 > /* Line 1787 of yacc.c  */
5177 > #line 1897 "conf_parser.y"
5178      {
5179    if (conf_parser_ctx.pass == 2)
5180 <    yy_match_item->action |= SHARED_XLINE;
5180 >    yy_match_item->action |= SHARED_DLINE;
5181   }
5182      break;
5183  
5184    case 319:
5185 <
5186 < /* Line 1464 of yacc.c  */
5613 < #line 2028 "ircd_parser.y"
5185 > /* Line 1787 of yacc.c  */
5186 > #line 1901 "conf_parser.y"
5187      {
5188    if (conf_parser_ctx.pass == 2)
5189 <    yy_match_item->action |= SHARED_TXLINE;
5189 >    yy_match_item->action |= SHARED_UNDLINE;
5190   }
5191      break;
5192  
5193    case 320:
5194 <
5195 < /* Line 1464 of yacc.c  */
5623 < #line 2032 "ircd_parser.y"
5194 > /* Line 1787 of yacc.c  */
5195 > #line 1905 "conf_parser.y"
5196      {
5197    if (conf_parser_ctx.pass == 2)
5198 <    yy_match_item->action |= SHARED_UNXLINE;
5198 >    yy_match_item->action |= SHARED_XLINE;
5199   }
5200      break;
5201  
5202    case 321:
5203 <
5204 < /* Line 1464 of yacc.c  */
5633 < #line 2036 "ircd_parser.y"
5203 > /* Line 1787 of yacc.c  */
5204 > #line 1909 "conf_parser.y"
5205      {
5206    if (conf_parser_ctx.pass == 2)
5207 <    yy_match_item->action |= SHARED_RESV;
5207 >    yy_match_item->action |= SHARED_UNXLINE;
5208   }
5209      break;
5210  
5211    case 322:
5212 <
5213 < /* Line 1464 of yacc.c  */
5643 < #line 2040 "ircd_parser.y"
5212 > /* Line 1787 of yacc.c  */
5213 > #line 1913 "conf_parser.y"
5214      {
5215    if (conf_parser_ctx.pass == 2)
5216 <    yy_match_item->action |= SHARED_TRESV;
5216 >    yy_match_item->action |= SHARED_RESV;
5217   }
5218      break;
5219  
5220    case 323:
5221 <
5222 < /* Line 1464 of yacc.c  */
5653 < #line 2044 "ircd_parser.y"
5221 > /* Line 1787 of yacc.c  */
5222 > #line 1917 "conf_parser.y"
5223      {
5224    if (conf_parser_ctx.pass == 2)
5225      yy_match_item->action |= SHARED_UNRESV;
# Line 5658 | Line 5227 | yyreduce:
5227      break;
5228  
5229    case 324:
5230 <
5231 < /* Line 1464 of yacc.c  */
5663 < #line 2048 "ircd_parser.y"
5230 > /* Line 1787 of yacc.c  */
5231 > #line 1921 "conf_parser.y"
5232      {
5233    if (conf_parser_ctx.pass == 2)
5234      yy_match_item->action |= SHARED_LOCOPS;
# Line 5668 | Line 5236 | yyreduce:
5236      break;
5237  
5238    case 325:
5239 <
5240 < /* Line 1464 of yacc.c  */
5673 < #line 2052 "ircd_parser.y"
5239 > /* Line 1787 of yacc.c  */
5240 > #line 1925 "conf_parser.y"
5241      {
5242    if (conf_parser_ctx.pass == 2)
5243      yy_match_item->action = SHARED_ALL;
# Line 5678 | Line 5245 | yyreduce:
5245      break;
5246  
5247    case 326:
5248 <
5249 < /* Line 1464 of yacc.c  */
5683 < #line 2061 "ircd_parser.y"
5248 > /* Line 1787 of yacc.c  */
5249 > #line 1934 "conf_parser.y"
5250      {
5251    if (conf_parser_ctx.pass == 2)
5252    {
# Line 5691 | Line 5257 | yyreduce:
5257      break;
5258  
5259    case 327:
5260 <
5261 < /* Line 1464 of yacc.c  */
5696 < #line 2068 "ircd_parser.y"
5260 > /* Line 1787 of yacc.c  */
5261 > #line 1941 "conf_parser.y"
5262      {
5263    if (conf_parser_ctx.pass == 2)
5264    {
# Line 5705 | Line 5270 | yyreduce:
5270      break;
5271  
5272    case 333:
5273 <
5274 < /* Line 1464 of yacc.c  */
5710 < #line 2081 "ircd_parser.y"
5273 > /* Line 1787 of yacc.c  */
5274 > #line 1954 "conf_parser.y"
5275      {
5276    if (conf_parser_ctx.pass == 2)
5277      DupString(yy_conf->name, yylval.string);
# Line 5715 | Line 5279 | yyreduce:
5279      break;
5280  
5281    case 334:
5282 <
5283 < /* Line 1464 of yacc.c  */
5720 < #line 2087 "ircd_parser.y"
5282 > /* Line 1787 of yacc.c  */
5283 > #line 1960 "conf_parser.y"
5284      {
5285    if (conf_parser_ctx.pass == 2)
5286      yy_conf->flags = 0;
# Line 5725 | Line 5288 | yyreduce:
5288      break;
5289  
5290    case 338:
5291 <
5292 < /* Line 1464 of yacc.c  */
5730 < #line 2094 "ircd_parser.y"
5291 > /* Line 1787 of yacc.c  */
5292 > #line 1967 "conf_parser.y"
5293      {
5294    if (conf_parser_ctx.pass == 2)
5295      yy_conf->flags |= SHARED_KLINE;
# Line 5735 | Line 5297 | yyreduce:
5297      break;
5298  
5299    case 339:
5300 <
5301 < /* Line 1464 of yacc.c  */
5740 < #line 2098 "ircd_parser.y"
5300 > /* Line 1787 of yacc.c  */
5301 > #line 1971 "conf_parser.y"
5302      {
5303    if (conf_parser_ctx.pass == 2)
5304 <    yy_conf->flags |= SHARED_TKLINE;
5304 >    yy_conf->flags |= SHARED_UNKLINE;
5305   }
5306      break;
5307  
5308    case 340:
5309 <
5310 < /* Line 1464 of yacc.c  */
5750 < #line 2102 "ircd_parser.y"
5309 > /* Line 1787 of yacc.c  */
5310 > #line 1975 "conf_parser.y"
5311      {
5312    if (conf_parser_ctx.pass == 2)
5313 <    yy_conf->flags |= SHARED_UNKLINE;
5313 >    yy_conf->flags |= SHARED_DLINE;
5314   }
5315      break;
5316  
5317    case 341:
5318 <
5319 < /* Line 1464 of yacc.c  */
5760 < #line 2106 "ircd_parser.y"
5318 > /* Line 1787 of yacc.c  */
5319 > #line 1979 "conf_parser.y"
5320      {
5321    if (conf_parser_ctx.pass == 2)
5322 <    yy_conf->flags |= SHARED_XLINE;
5322 >    yy_conf->flags |= SHARED_UNDLINE;
5323   }
5324      break;
5325  
5326    case 342:
5327 <
5328 < /* Line 1464 of yacc.c  */
5770 < #line 2110 "ircd_parser.y"
5327 > /* Line 1787 of yacc.c  */
5328 > #line 1983 "conf_parser.y"
5329      {
5330    if (conf_parser_ctx.pass == 2)
5331 <    yy_conf->flags |= SHARED_TXLINE;
5331 >    yy_conf->flags |= SHARED_XLINE;
5332   }
5333      break;
5334  
5335    case 343:
5336 <
5337 < /* Line 1464 of yacc.c  */
5780 < #line 2114 "ircd_parser.y"
5336 > /* Line 1787 of yacc.c  */
5337 > #line 1987 "conf_parser.y"
5338      {
5339    if (conf_parser_ctx.pass == 2)
5340      yy_conf->flags |= SHARED_UNXLINE;
# Line 5785 | Line 5342 | yyreduce:
5342      break;
5343  
5344    case 344:
5345 <
5346 < /* Line 1464 of yacc.c  */
5790 < #line 2118 "ircd_parser.y"
5345 > /* Line 1787 of yacc.c  */
5346 > #line 1991 "conf_parser.y"
5347      {
5348    if (conf_parser_ctx.pass == 2)
5349      yy_conf->flags |= SHARED_RESV;
# Line 5795 | Line 5351 | yyreduce:
5351      break;
5352  
5353    case 345:
5354 <
5355 < /* Line 1464 of yacc.c  */
5800 < #line 2122 "ircd_parser.y"
5801 <    {
5802 <  if (conf_parser_ctx.pass == 2)
5803 <    yy_conf->flags |= SHARED_TRESV;
5804 < }
5805 <    break;
5806 <
5807 <  case 346:
5808 <
5809 < /* Line 1464 of yacc.c  */
5810 < #line 2126 "ircd_parser.y"
5354 > /* Line 1787 of yacc.c  */
5355 > #line 1995 "conf_parser.y"
5356      {
5357    if (conf_parser_ctx.pass == 2)
5358      yy_conf->flags |= SHARED_UNRESV;
5359   }
5360      break;
5361  
5362 <  case 347:
5363 <
5364 < /* Line 1464 of yacc.c  */
5820 < #line 2130 "ircd_parser.y"
5362 >  case 346:
5363 > /* Line 1787 of yacc.c  */
5364 > #line 1999 "conf_parser.y"
5365      {
5366    if (conf_parser_ctx.pass == 2)
5367      yy_conf->flags |= SHARED_LOCOPS;
5368   }
5369      break;
5370  
5371 <  case 348:
5372 <
5373 < /* Line 1464 of yacc.c  */
5830 < #line 2134 "ircd_parser.y"
5371 >  case 347:
5372 > /* Line 1787 of yacc.c  */
5373 > #line 2003 "conf_parser.y"
5374      {
5375    if (conf_parser_ctx.pass == 2)
5376      yy_conf->flags = SHARED_ALL;
5377   }
5378      break;
5379  
5380 <  case 349:
5381 <
5382 < /* Line 1464 of yacc.c  */
5840 < #line 2143 "ircd_parser.y"
5380 >  case 348:
5381 > /* Line 1787 of yacc.c  */
5382 > #line 2012 "conf_parser.y"
5383      {
5384    if (conf_parser_ctx.pass == 2)
5385    {
5386      yy_conf = make_conf_item(SERVER_TYPE);
5387 <    yy_aconf = (struct AccessItem *)map_to_conf(yy_conf);
5388 <    yy_aconf->passwd = NULL;
5387 >    yy_aconf = map_to_conf(yy_conf);
5388 >
5389      /* defaults */
5390      yy_aconf->port = PORTNUM;
5849
5850    if (ConfigFileEntry.burst_away)
5851      yy_aconf->flags = CONF_FLAGS_BURST_AWAY;
5391    }
5392    else
5393    {
# Line 5858 | Line 5397 | yyreduce:
5397   }
5398      break;
5399  
5400 <  case 350:
5401 <
5402 < /* Line 1464 of yacc.c  */
5864 < #line 2161 "ircd_parser.y"
5400 >  case 349:
5401 > /* Line 1787 of yacc.c  */
5402 > #line 2027 "conf_parser.y"
5403      {
5404    if (conf_parser_ctx.pass == 2)
5405    {
5406 <    struct CollectItem *yy_hconf=NULL;
5407 <    struct CollectItem *yy_lconf=NULL;
5408 <    dlink_node *ptr;
5409 <    dlink_node *next_ptr;
5410 < #ifdef HAVE_LIBCRYPTO
5411 <    if (yy_aconf->host &&
5412 <        ((yy_aconf->passwd && yy_aconf->spasswd) ||
5413 <         (yy_aconf->rsa_public_key && IsConfCryptLink(yy_aconf))))
5876 < #else /* !HAVE_LIBCRYPTO */
5877 <      if (yy_aconf->host && !IsConfCryptLink(yy_aconf) &&
5878 <          yy_aconf->passwd && yy_aconf->spasswd)
5879 < #endif /* !HAVE_LIBCRYPTO */
5880 <        {
5881 <          if (conf_add_server(yy_conf, class_name) == -1)
5882 <          {
5883 <            delete_conf_item(yy_conf);
5884 <            yy_conf = NULL;
5885 <            yy_aconf = NULL;
5886 <          }
5887 <        }
5888 <        else
5889 <        {
5890 <          /* Even if yy_conf ->name is NULL
5891 <           * should still unhook any hub/leaf confs still pending
5892 <           */
5893 <          unhook_hub_leaf_confs();
5894 <
5895 <          if (yy_conf->name != NULL)
5896 <          {
5897 < #ifndef HAVE_LIBCRYPTO
5898 <            if (IsConfCryptLink(yy_aconf))
5899 <              yyerror("Ignoring connect block -- no OpenSSL support");
5900 < #else
5901 <            if (IsConfCryptLink(yy_aconf) && !yy_aconf->rsa_public_key)
5902 <              yyerror("Ignoring connect block -- missing key");
5903 < #endif
5904 <            if (yy_aconf->host == NULL)
5905 <              yyerror("Ignoring connect block -- missing host");
5906 <            else if (!IsConfCryptLink(yy_aconf) &&
5907 <                    (!yy_aconf->passwd || !yy_aconf->spasswd))
5908 <              yyerror("Ignoring connect block -- missing password");
5909 <          }
5910 <
5911 <
5912 <          /* XXX
5913 <           * This fixes a try_connections() core (caused by invalid class_ptr
5914 <           * pointers) reported by metalrock. That's an ugly fix, but there
5915 <           * is currently no better way. The entire config subsystem needs an
5916 <           * rewrite ASAP. make_conf_item() shouldn't really add things onto
5917 <           * a doubly linked list immediately without any sanity checks!  -Michael
5918 <           */
5919 <          delete_conf_item(yy_conf);
5920 <
5921 <          yy_aconf = NULL;
5922 <          yy_conf = NULL;
5923 <        }
5924 <
5925 <      /*
5926 <       * yy_conf is still pointing at the server that is having
5927 <       * a connect block built for it. This means, y_aconf->name
5928 <       * points to the actual irc name this server will be known as.
5929 <       * Now this new server has a set or even just one hub_mask (or leaf_mask)
5930 <       * given in the link list at yy_hconf. Fill in the HUB confs
5931 <       * from this link list now.
5932 <       */        
5933 <      DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
5406 >    if (yy_aconf->host && yy_aconf->passwd && yy_aconf->spasswd)
5407 >    {
5408 >      if (conf_add_server(yy_conf, class_name) == -1)
5409 >        delete_conf_item(yy_conf);
5410 >    }
5411 >    else
5412 >    {
5413 >      if (yy_conf->name != NULL)
5414        {
5415 <        struct ConfItem *new_hub_conf;
5416 <        struct MatchItem *match_item;
5417 <
5418 <        yy_hconf = ptr->data;
5939 <
5940 <        /* yy_conf == NULL is a fatal error for this connect block! */
5941 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
5942 <        {
5943 <          new_hub_conf = make_conf_item(HUB_TYPE);
5944 <          match_item = (struct MatchItem *)map_to_conf(new_hub_conf);
5945 <          DupString(new_hub_conf->name, yy_conf->name);
5946 <          if (yy_hconf->user != NULL)
5947 <            DupString(match_item->user, yy_hconf->user);
5948 <          else
5949 <            DupString(match_item->user, "*");
5950 <          if (yy_hconf->host != NULL)
5951 <            DupString(match_item->host, yy_hconf->host);
5952 <          else
5953 <            DupString(match_item->host, "*");
5954 <        }
5955 <        dlinkDelete(&yy_hconf->node, &hub_conf_list);
5956 <        free_collect_item(yy_hconf);
5415 >        if (yy_aconf->host == NULL)
5416 >          yyerror("Ignoring connect block -- missing host");
5417 >        else if (!yy_aconf->passwd || !yy_aconf->spasswd)
5418 >          yyerror("Ignoring connect block -- missing password");
5419        }
5420  
5421 <      /* Ditto for the LEAF confs */
5422 <
5423 <      DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
5424 <      {
5425 <        struct ConfItem *new_leaf_conf;
5426 <        struct MatchItem *match_item;
5427 <
5428 <        yy_lconf = ptr->data;
5421 >      /* XXX
5422 >       * This fixes a try_connections() core (caused by invalid class_ptr
5423 >       * pointers) reported by metalrock. That's an ugly fix, but there
5424 >       * is currently no better way. The entire config subsystem needs an
5425 >       * rewrite ASAP. make_conf_item() shouldn't really add things onto
5426 >       * a doubly linked list immediately without any sanity checks!  -Michael
5427 >       */
5428 >      delete_conf_item(yy_conf);
5429 >    }
5430  
5431 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
5432 <        {
5433 <          new_leaf_conf = make_conf_item(LEAF_TYPE);
5434 <          match_item = (struct MatchItem *)map_to_conf(new_leaf_conf);
5972 <          DupString(new_leaf_conf->name, yy_conf->name);
5973 <          if (yy_lconf->user != NULL)
5974 <            DupString(match_item->user, yy_lconf->user);
5975 <          else
5976 <            DupString(match_item->user, "*");
5977 <          if (yy_lconf->host != NULL)
5978 <            DupString(match_item->host, yy_lconf->host);
5979 <          else
5980 <            DupString(match_item->host, "*");
5981 <        }
5982 <        dlinkDelete(&yy_lconf->node, &leaf_conf_list);
5983 <        free_collect_item(yy_lconf);
5984 <      }
5985 <      MyFree(class_name);
5986 <      class_name = NULL;
5987 <      yy_conf = NULL;
5988 <      yy_aconf = NULL;
5431 >    MyFree(class_name);
5432 >    class_name = NULL;
5433 >    yy_conf = NULL;
5434 >    yy_aconf = NULL;
5435    }
5436   }
5437      break;
5438  
5439 <  case 370:
5440 <
5441 < /* Line 1464 of yacc.c  */
5996 < #line 2299 "ircd_parser.y"
5439 >  case 366:
5440 > /* Line 1787 of yacc.c  */
5441 > #line 2071 "conf_parser.y"
5442      {
5443    if (conf_parser_ctx.pass == 2)
5444    {
6000    if (yy_conf->name != NULL)
6001      yyerror("Multiple connect name entry");
6002
5445      MyFree(yy_conf->name);
5446      DupString(yy_conf->name, yylval.string);
5447    }
5448   }
5449      break;
5450  
5451 <  case 371:
5452 <
5453 < /* Line 1464 of yacc.c  */
6012 < #line 2311 "ircd_parser.y"
6013 <    {
6014 <  if (conf_parser_ctx.pass == 2)
6015 <  {
6016 <    if (yy_conf->name != NULL)
6017 <      yyerror("Multiple connect name entry");
6018 <
6019 <    MyFree(yy_conf->name);
6020 <    DupString(yy_conf->name, yylval.string);
6021 <  }
6022 < }
6023 <    break;
6024 <
6025 <  case 372:
6026 <
6027 < /* Line 1464 of yacc.c  */
6028 < #line 2323 "ircd_parser.y"
5451 >  case 367:
5452 > /* Line 1787 of yacc.c  */
5453 > #line 2080 "conf_parser.y"
5454      {
5455    if (conf_parser_ctx.pass == 2)
5456    {
# Line 6035 | Line 5460 | yyreduce:
5460   }
5461      break;
5462  
5463 <  case 373:
5464 <
5465 < /* Line 1464 of yacc.c  */
6041 < #line 2332 "ircd_parser.y"
5463 >  case 368:
5464 > /* Line 1787 of yacc.c  */
5465 > #line 2089 "conf_parser.y"
5466      {
5467    if (conf_parser_ctx.pass == 2)
5468    {
# Line 6050 | Line 5474 | yyreduce:
5474      hints.ai_socktype = SOCK_STREAM;
5475      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
5476  
5477 <    if (irc_getaddrinfo(yylval.string, NULL, &hints, &res))
5478 <      ilog(L_ERROR, "Invalid netmask for server vhost(%s)", yylval.string);
5477 >    if (getaddrinfo(yylval.string, NULL, &hints, &res))
5478 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
5479      else
5480      {
5481        assert(res != NULL);
5482  
5483 <      memcpy(&yy_aconf->my_ipnum, res->ai_addr, res->ai_addrlen);
5484 <      yy_aconf->my_ipnum.ss.ss_family = res->ai_family;
5485 <      yy_aconf->my_ipnum.ss_len = res->ai_addrlen;
5486 <      irc_freeaddrinfo(res);
5483 >      memcpy(&yy_aconf->bind, res->ai_addr, res->ai_addrlen);
5484 >      yy_aconf->bind.ss.ss_family = res->ai_family;
5485 >      yy_aconf->bind.ss_len = res->ai_addrlen;
5486 >      freeaddrinfo(res);
5487      }
5488    }
5489   }
5490      break;
5491  
5492 <  case 374:
5493 <
5494 < /* Line 1464 of yacc.c  */
6071 < #line 2358 "ircd_parser.y"
5492 >  case 369:
5493 > /* Line 1787 of yacc.c  */
5494 > #line 2115 "conf_parser.y"
5495      {
5496    if (conf_parser_ctx.pass == 2)
5497    {
# Line 6087 | Line 5510 | yyreduce:
5510   }
5511      break;
5512  
5513 <  case 375:
5514 <
5515 < /* Line 1464 of yacc.c  */
6093 < #line 2376 "ircd_parser.y"
5513 >  case 370:
5514 > /* Line 1787 of yacc.c  */
5515 > #line 2133 "conf_parser.y"
5516      {
5517    if (conf_parser_ctx.pass == 2)
5518    {
# Line 6109 | Line 5531 | yyreduce:
5531   }
5532      break;
5533  
5534 <  case 376:
5535 <
5536 < /* Line 1464 of yacc.c  */
6115 < #line 2394 "ircd_parser.y"
5534 >  case 371:
5535 > /* Line 1787 of yacc.c  */
5536 > #line 2151 "conf_parser.y"
5537      {
5538    if (conf_parser_ctx.pass == 2)
5539      yy_aconf->port = (yyvsp[(3) - (4)].number);
5540   }
5541      break;
5542  
5543 <  case 377:
5544 <
5545 < /* Line 1464 of yacc.c  */
6125 < #line 2400 "ircd_parser.y"
5543 >  case 372:
5544 > /* Line 1787 of yacc.c  */
5545 > #line 2157 "conf_parser.y"
5546      {
5547    if (conf_parser_ctx.pass == 2)
5548      yy_aconf->aftype = AF_INET;
5549   }
5550      break;
5551  
5552 <  case 378:
5553 <
5554 < /* Line 1464 of yacc.c  */
6135 < #line 2404 "ircd_parser.y"
5552 >  case 373:
5553 > /* Line 1787 of yacc.c  */
5554 > #line 2161 "conf_parser.y"
5555      {
5556   #ifdef IPV6
5557    if (conf_parser_ctx.pass == 2)
# Line 6141 | Line 5560 | yyreduce:
5560   }
5561      break;
5562  
5563 <  case 379:
5564 <
5565 < /* Line 1464 of yacc.c  */
6147 < #line 2412 "ircd_parser.y"
6148 <    {
6149 < }
6150 <    break;
6151 <
6152 <  case 383:
6153 <
6154 < /* Line 1464 of yacc.c  */
6155 < #line 2416 "ircd_parser.y"
6156 <    { not_atom = 1; }
6157 <    break;
6158 <
6159 <  case 385:
6160 <
6161 < /* Line 1464 of yacc.c  */
6162 < #line 2417 "ircd_parser.y"
6163 <    { not_atom = 0; }
6164 <    break;
6165 <
6166 <  case 387:
6167 <
6168 < /* Line 1464 of yacc.c  */
6169 < #line 2420 "ircd_parser.y"
6170 <    {
6171 <  if (conf_parser_ctx.pass == 2)
6172 < #ifndef HAVE_LIBZ
6173 <    yyerror("Ignoring flags = compressed; -- no zlib support");
6174 < #else
6175 < {
6176 <   if (not_atom)ClearConfCompressed(yy_aconf);
6177 <   else SetConfCompressed(yy_aconf);
6178 < }
6179 < #endif
6180 < }
6181 <    break;
6182 <
6183 <  case 388:
6184 <
6185 < /* Line 1464 of yacc.c  */
6186 < #line 2431 "ircd_parser.y"
6187 <    {
6188 <  if (conf_parser_ctx.pass == 2)
6189 <  {
6190 <    if (not_atom)ClearConfCryptLink(yy_aconf);
6191 <    else SetConfCryptLink(yy_aconf);
6192 <  }
6193 < }
6194 <    break;
6195 <
6196 <  case 389:
6197 <
6198 < /* Line 1464 of yacc.c  */
6199 < #line 2438 "ircd_parser.y"
5563 >  case 374:
5564 > /* Line 1787 of yacc.c  */
5565 > #line 2169 "conf_parser.y"
5566      {
6201  if (conf_parser_ctx.pass == 2)
6202  {
6203    if (not_atom)ClearConfAllowAutoConn(yy_aconf);
6204    else SetConfAllowAutoConn(yy_aconf);
6205  }
5567   }
5568      break;
5569  
5570 <  case 390:
5571 <
5572 < /* Line 1464 of yacc.c  */
6212 < #line 2445 "ircd_parser.y"
5570 >  case 378:
5571 > /* Line 1787 of yacc.c  */
5572 > #line 2174 "conf_parser.y"
5573      {
5574    if (conf_parser_ctx.pass == 2)
5575 <  {
6216 <    if (not_atom)ClearConfAwayBurst(yy_aconf);
6217 <    else SetConfAwayBurst(yy_aconf);
6218 <  }
5575 >    SetConfAllowAutoConn(yy_aconf);
5576   }
5577      break;
5578  
5579 <  case 391:
5580 <
5581 < /* Line 1464 of yacc.c  */
6225 < #line 2452 "ircd_parser.y"
5579 >  case 379:
5580 > /* Line 1787 of yacc.c  */
5581 > #line 2178 "conf_parser.y"
5582      {
5583    if (conf_parser_ctx.pass == 2)
5584 <  {
6229 <    if (not_atom)ClearConfTopicBurst(yy_aconf);
6230 <    else SetConfTopicBurst(yy_aconf);
6231 <  }
5584 >    SetConfSSL(yy_aconf);
5585   }
5586      break;
5587  
5588 <  case 392:
5589 <
5590 < /* Line 1464 of yacc.c  */
6238 < #line 2462 "ircd_parser.y"
6239 <    {
6240 < #ifdef HAVE_LIBCRYPTO
6241 <  if (conf_parser_ctx.pass == 2)
6242 <  {
6243 <    BIO *file;
6244 <
6245 <    if (yy_aconf->rsa_public_key != NULL)
6246 <    {
6247 <      RSA_free(yy_aconf->rsa_public_key);
6248 <      yy_aconf->rsa_public_key = NULL;
6249 <    }
6250 <
6251 <    if (yy_aconf->rsa_public_key_file != NULL)
6252 <    {
6253 <      MyFree(yy_aconf->rsa_public_key_file);
6254 <      yy_aconf->rsa_public_key_file = NULL;
6255 <    }
6256 <
6257 <    DupString(yy_aconf->rsa_public_key_file, yylval.string);
6258 <
6259 <    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
6260 <    {
6261 <      yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
6262 <      break;
6263 <    }
6264 <
6265 <    yy_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
6266 <
6267 <    if (yy_aconf->rsa_public_key == NULL)
6268 <    {
6269 <      yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
6270 <      break;
6271 <    }
6272 <      
6273 <    BIO_set_close(file, BIO_CLOSE);
6274 <    BIO_free(file);
6275 <  }
6276 < #endif /* HAVE_LIBCRYPTO */
6277 < }
6278 <    break;
6279 <
6280 <  case 393:
6281 <
6282 < /* Line 1464 of yacc.c  */
6283 < #line 2503 "ircd_parser.y"
5588 >  case 380:
5589 > /* Line 1787 of yacc.c  */
5590 > #line 2184 "conf_parser.y"
5591      {
5592    if (conf_parser_ctx.pass == 2)
5593    {
# Line 6292 | Line 5599 | yyreduce:
5599   }
5600      break;
5601  
5602 <  case 394:
5603 <
5604 < /* Line 1464 of yacc.c  */
6298 < #line 2514 "ircd_parser.y"
5602 >  case 381:
5603 > /* Line 1787 of yacc.c  */
5604 > #line 2195 "conf_parser.y"
5605      {
5606    if (conf_parser_ctx.pass == 2)
5607    {
5608 <    struct CollectItem *yy_tmp;
5608 >    char *mask;
5609  
5610 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
5611 <    DupString(yy_tmp->host, yylval.string);
6306 <    DupString(yy_tmp->user, "*");
6307 <    dlinkAdd(yy_tmp, &yy_tmp->node, &hub_conf_list);
5610 >    DupString(mask, yylval.string);
5611 >    dlinkAdd(mask, make_dlink_node(), &yy_aconf->hub_list);
5612    }
5613   }
5614      break;
5615  
5616 <  case 395:
5617 <
5618 < /* Line 1464 of yacc.c  */
6315 < #line 2527 "ircd_parser.y"
5616 >  case 382:
5617 > /* Line 1787 of yacc.c  */
5618 > #line 2206 "conf_parser.y"
5619      {
5620    if (conf_parser_ctx.pass == 2)
5621    {
5622 <    struct CollectItem *yy_tmp;
5622 >    char *mask;
5623  
5624 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
5625 <    DupString(yy_tmp->host, yylval.string);
6323 <    DupString(yy_tmp->user, "*");
6324 <    dlinkAdd(yy_tmp, &yy_tmp->node, &leaf_conf_list);
5624 >    DupString(mask, yylval.string);
5625 >    dlinkAdd(mask, make_dlink_node(), &yy_aconf->leaf_list);
5626    }
5627   }
5628      break;
5629  
5630 <  case 396:
5631 <
5632 < /* Line 1464 of yacc.c  */
6332 < #line 2540 "ircd_parser.y"
5630 >  case 383:
5631 > /* Line 1787 of yacc.c  */
5632 > #line 2217 "conf_parser.y"
5633      {
5634    if (conf_parser_ctx.pass == 2)
5635    {
# Line 6339 | Line 5639 | yyreduce:
5639   }
5640      break;
5641  
5642 <  case 397:
5643 <
5644 < /* Line 1464 of yacc.c  */
6345 < #line 2549 "ircd_parser.y"
5642 >  case 384:
5643 > /* Line 1787 of yacc.c  */
5644 > #line 2226 "conf_parser.y"
5645      {
5646   #ifdef HAVE_LIBCRYPTO
5647    if (conf_parser_ctx.pass == 2)
5648    {
5649 <    struct EncCapability *ecap;
5650 <    const char *cipher_name;
6352 <    int found = 0;
6353 <
6354 <    yy_aconf->cipher_preference = NULL;
6355 <    cipher_name = yylval.string;
6356 <
6357 <    for (ecap = CipherTable; ecap->name; ecap++)
6358 <    {
6359 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
6360 <          (ecap->cap & CAP_ENC_MASK))
6361 <      {
6362 <        yy_aconf->cipher_preference = ecap;
6363 <        found = 1;
6364 <        break;
6365 <      }
6366 <    }
6367 <
6368 <    if (!found)
6369 <      yyerror("Invalid cipher");
5649 >    MyFree(yy_aconf->cipher_list);
5650 >    DupString(yy_aconf->cipher_list, yylval.string);
5651    }
5652   #else
5653    if (conf_parser_ctx.pass == 2)
5654 <    yyerror("Ignoring cipher_preference -- no OpenSSL support");
5654 >    yyerror("Ignoring connect::ciphers -- no OpenSSL support");
5655   #endif
5656   }
5657      break;
5658  
5659 <  case 398:
5660 <
5661 < /* Line 1464 of yacc.c  */
6381 < #line 2584 "ircd_parser.y"
5659 >  case 385:
5660 > /* Line 1787 of yacc.c  */
5661 > #line 2244 "conf_parser.y"
5662      {
5663    if (conf_parser_ctx.pass == 2)
5664    {
# Line 6388 | Line 5668 | yyreduce:
5668   }
5669      break;
5670  
5671 <  case 399:
5672 <
5673 < /* Line 1464 of yacc.c  */
6394 < #line 2591 "ircd_parser.y"
5671 >  case 386:
5672 > /* Line 1787 of yacc.c  */
5673 > #line 2251 "conf_parser.y"
5674      {
5675    if (conf_parser_ctx.pass == 2)
5676    {
# Line 6407 | Line 5686 | yyreduce:
5686          if (!(exp_user = ircd_pcre_compile(userbuf, &errptr)) ||
5687              !(exp_host = ircd_pcre_compile(hostbuf, &errptr)))
5688          {
5689 <          ilog(L_ERROR, "Failed to add regular expression based K-Line: %s",
5689 >          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: %s",
5690                 errptr);
5691            break;
5692          }
# Line 6424 | Line 5703 | yyreduce:
5703          else
5704            DupString(yy_aconf->reason, "No reason");
5705   #else
5706 <        ilog(L_ERROR, "Failed to add regular expression based K-Line: no PCRE support");
5706 >        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
5707          break;
5708   #endif
5709        }
5710        else
5711        {
5712 +        find_and_delete_temporary(userbuf, hostbuf, CONF_KLINE);
5713 +
5714          yy_aconf = map_to_conf(make_conf_item(KLINE_TYPE));
5715  
5716          DupString(yy_aconf->user, userbuf);
# Line 6439 | Line 5720 | yyreduce:
5720            DupString(yy_aconf->reason, reasonbuf);
5721          else
5722            DupString(yy_aconf->reason, "No reason");
5723 <        add_conf_by_address(CONF_KILL, yy_aconf);
5723 >        add_conf_by_address(CONF_KLINE, yy_aconf);
5724        }
5725      }
5726  
# Line 6448 | Line 5729 | yyreduce:
5729   }
5730      break;
5731  
5732 <  case 400:
5733 <
5734 < /* Line 1464 of yacc.c  */
6454 < #line 2647 "ircd_parser.y"
5732 >  case 387:
5733 > /* Line 1787 of yacc.c  */
5734 > #line 2309 "conf_parser.y"
5735      {
5736   }
5737      break;
5738  
5739 <  case 404:
5740 <
5741 < /* Line 1464 of yacc.c  */
6462 < #line 2652 "ircd_parser.y"
5739 >  case 391:
5740 > /* Line 1787 of yacc.c  */
5741 > #line 2314 "conf_parser.y"
5742      {
5743    if (conf_parser_ctx.pass == 2)
5744      regex_ban = 1;
5745   }
5746      break;
5747  
5748 <  case 411:
5749 <
5750 < /* Line 1464 of yacc.c  */
6472 < #line 2661 "ircd_parser.y"
5748 >  case 398:
5749 > /* Line 1787 of yacc.c  */
5750 > #line 2323 "conf_parser.y"
5751      {
5752    if (conf_parser_ctx.pass == 2)
5753    {
# Line 6489 | Line 5767 | yyreduce:
5767   }
5768      break;
5769  
5770 <  case 412:
5771 <
5772 < /* Line 1464 of yacc.c  */
6495 < #line 2680 "ircd_parser.y"
5770 >  case 399:
5771 > /* Line 1787 of yacc.c  */
5772 > #line 2342 "conf_parser.y"
5773      {
5774    if (conf_parser_ctx.pass == 2)
5775      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5776   }
5777      break;
5778  
5779 <  case 413:
5780 <
5781 < /* Line 1464 of yacc.c  */
6505 < #line 2689 "ircd_parser.y"
5779 >  case 400:
5780 > /* Line 1787 of yacc.c  */
5781 > #line 2351 "conf_parser.y"
5782      {
5783    if (conf_parser_ctx.pass == 2)
5784      hostbuf[0] = reasonbuf[0] = '\0';
5785   }
5786      break;
5787  
5788 <  case 414:
5789 <
5790 < /* Line 1464 of yacc.c  */
6515 < #line 2693 "ircd_parser.y"
5788 >  case 401:
5789 > /* Line 1787 of yacc.c  */
5790 > #line 2355 "conf_parser.y"
5791      {
5792    if (conf_parser_ctx.pass == 2)
5793    {
5794      if (hostbuf[0] && parse_netmask(hostbuf, NULL, NULL) != HM_HOST)
5795      {
5796 +      find_and_delete_temporary(NULL, hostbuf, CONF_DLINE);
5797 +
5798        yy_aconf = map_to_conf(make_conf_item(DLINE_TYPE));
5799        DupString(yy_aconf->host, hostbuf);
5800  
# Line 6532 | Line 5809 | yyreduce:
5809   }
5810      break;
5811  
5812 <  case 420:
5813 <
5814 < /* Line 1464 of yacc.c  */
6538 < #line 2715 "ircd_parser.y"
5812 >  case 407:
5813 > /* Line 1787 of yacc.c  */
5814 > #line 2379 "conf_parser.y"
5815      {
5816    if (conf_parser_ctx.pass == 2)
5817      strlcpy(hostbuf, yylval.string, sizeof(hostbuf));
5818   }
5819      break;
5820  
5821 <  case 421:
5822 <
5823 < /* Line 1464 of yacc.c  */
6548 < #line 2721 "ircd_parser.y"
5821 >  case 408:
5822 > /* Line 1787 of yacc.c  */
5823 > #line 2385 "conf_parser.y"
5824      {
5825    if (conf_parser_ctx.pass == 2)
5826      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5827   }
5828      break;
5829  
5830 <  case 427:
5831 <
5832 < /* Line 1464 of yacc.c  */
6558 < #line 2735 "ircd_parser.y"
5830 >  case 414:
5831 > /* Line 1787 of yacc.c  */
5832 > #line 2399 "conf_parser.y"
5833      {
5834    if (conf_parser_ctx.pass == 2)
5835    {
# Line 6571 | Line 5845 | yyreduce:
5845   }
5846      break;
5847  
5848 <  case 428:
5849 <
5850 < /* Line 1464 of yacc.c  */
6577 < #line 2753 "ircd_parser.y"
5848 >  case 415:
5849 > /* Line 1787 of yacc.c  */
5850 > #line 2417 "conf_parser.y"
5851      {
5852    if (conf_parser_ctx.pass == 2)
5853    {
# Line 6584 | Line 5857 | yyreduce:
5857   }
5858      break;
5859  
5860 <  case 429:
5861 <
5862 < /* Line 1464 of yacc.c  */
6590 < #line 2760 "ircd_parser.y"
5860 >  case 416:
5861 > /* Line 1787 of yacc.c  */
5862 > #line 2424 "conf_parser.y"
5863      {
5864    if (conf_parser_ctx.pass == 2)
5865    {
# Line 6601 | Line 5873 | yyreduce:
5873  
5874          if (!(exp_p = ircd_pcre_compile(gecos_name, &errptr)))
5875          {
5876 <          ilog(L_ERROR, "Failed to add regular expression based X-Line: %s",
5876 >          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
5877                 errptr);
5878            break;
5879          }
# Line 6609 | Line 5881 | yyreduce:
5881          yy_conf = make_conf_item(RXLINE_TYPE);
5882          yy_conf->regexpname = exp_p;
5883   #else
5884 <        ilog(L_ERROR, "Failed to add regular expression based X-Line: no PCRE support");
5884 >        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: no PCRE support");
5885          break;
5886   #endif
5887        }
# Line 6628 | Line 5900 | yyreduce:
5900   }
5901      break;
5902  
5903 <  case 430:
5904 <
5905 < /* Line 1464 of yacc.c  */
6634 < #line 2800 "ircd_parser.y"
5903 >  case 417:
5904 > /* Line 1787 of yacc.c  */
5905 > #line 2464 "conf_parser.y"
5906      {
5907   }
5908      break;
5909  
5910 <  case 434:
5911 <
5912 < /* Line 1464 of yacc.c  */
6642 < #line 2805 "ircd_parser.y"
5910 >  case 421:
5911 > /* Line 1787 of yacc.c  */
5912 > #line 2469 "conf_parser.y"
5913      {
5914    if (conf_parser_ctx.pass == 2)
5915      regex_ban = 1;
5916   }
5917      break;
5918  
5919 <  case 441:
5920 <
5921 < /* Line 1464 of yacc.c  */
6652 < #line 2814 "ircd_parser.y"
5919 >  case 428:
5920 > /* Line 1787 of yacc.c  */
5921 > #line 2478 "conf_parser.y"
5922      {
5923    if (conf_parser_ctx.pass == 2)
5924      strlcpy(gecos_name, yylval.string, sizeof(gecos_name));
5925   }
5926      break;
5927  
5928 <  case 442:
5929 <
5930 < /* Line 1464 of yacc.c  */
6662 < #line 2820 "ircd_parser.y"
5928 >  case 429:
5929 > /* Line 1787 of yacc.c  */
5930 > #line 2484 "conf_parser.y"
5931      {
5932    if (conf_parser_ctx.pass == 2)
5933      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5934   }
5935      break;
5936  
5937 <  case 502:
5938 <
5939 < /* Line 1464 of yacc.c  */
6672 < #line 2865 "ircd_parser.y"
5937 >  case 486:
5938 > /* Line 1787 of yacc.c  */
5939 > #line 2529 "conf_parser.y"
5940      {
5941    ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5942   }
5943      break;
5944  
5945 <  case 503:
5946 <
5947 < /* Line 1464 of yacc.c  */
6681 < #line 2870 "ircd_parser.y"
5945 >  case 487:
5946 > /* Line 1787 of yacc.c  */
5947 > #line 2534 "conf_parser.y"
5948      {
5949 <  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5949 >  if (conf_parser_ctx.pass == 2)
5950 >    ConfigFileEntry.glines = yylval.number;
5951   }
5952      break;
5953  
5954 <  case 504:
5955 <
5956 < /* Line 1464 of yacc.c  */
6690 < #line 2875 "ircd_parser.y"
5954 >  case 488:
5955 > /* Line 1787 of yacc.c  */
5956 > #line 2540 "conf_parser.y"
5957      {
5958 <  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5958 >  if (conf_parser_ctx.pass == 2)
5959 >    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5960   }
5961      break;
5962  
5963 <  case 505:
5964 <
5965 < /* Line 1464 of yacc.c  */
6699 < #line 2880 "ircd_parser.y"
5963 >  case 489:
5964 > /* Line 1787 of yacc.c  */
5965 > #line 2546 "conf_parser.y"
5966      {
5967 <  ConfigFileEntry.burst_away = yylval.number;
5967 >  if (conf_parser_ctx.pass == 2)
5968 >    ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5969   }
5970      break;
5971  
5972 <  case 506:
5973 <
5974 < /* Line 1464 of yacc.c  */
6708 < #line 2885 "ircd_parser.y"
5972 >  case 490:
5973 > /* Line 1787 of yacc.c  */
5974 > #line 2552 "conf_parser.y"
5975      {
5976 <  ConfigFileEntry.use_whois_actually = yylval.number;
5976 >  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5977   }
5978      break;
5979  
5980 <  case 507:
5980 >  case 491:
5981 > /* Line 1787 of yacc.c  */
5982 > #line 2557 "conf_parser.y"
5983 >    {
5984 >  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5985 > }
5986 >    break;
5987  
5988 < /* Line 1464 of yacc.c  */
5989 < #line 2890 "ircd_parser.y"
5988 >  case 492:
5989 > /* Line 1787 of yacc.c  */
5990 > #line 2562 "conf_parser.y"
5991      {
5992    GlobalSetOptions.rejecttime = yylval.number;
5993   }
5994      break;
5995  
5996 <  case 508:
5997 <
5998 < /* Line 1464 of yacc.c  */
6726 < #line 2895 "ircd_parser.y"
5996 >  case 493:
5997 > /* Line 1787 of yacc.c  */
5998 > #line 2567 "conf_parser.y"
5999      {
6000    ConfigFileEntry.tkline_expire_notices = yylval.number;
6001   }
6002      break;
6003  
6004 <  case 509:
6005 <
6006 < /* Line 1464 of yacc.c  */
6735 < #line 2900 "ircd_parser.y"
6004 >  case 494:
6005 > /* Line 1787 of yacc.c  */
6006 > #line 2572 "conf_parser.y"
6007      {
6008    ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
6009   }
6010      break;
6011  
6012 <  case 510:
6013 <
6014 < /* Line 1464 of yacc.c  */
6744 < #line 2905 "ircd_parser.y"
6012 >  case 495:
6013 > /* Line 1787 of yacc.c  */
6014 > #line 2577 "conf_parser.y"
6015      {
6016    ConfigFileEntry.hide_spoof_ips = yylval.number;
6017   }
6018      break;
6019  
6020 <  case 511:
6021 <
6022 < /* Line 1464 of yacc.c  */
6753 < #line 2910 "ircd_parser.y"
6020 >  case 496:
6021 > /* Line 1787 of yacc.c  */
6022 > #line 2582 "conf_parser.y"
6023      {
6024    ConfigFileEntry.ignore_bogus_ts = yylval.number;
6025   }
6026      break;
6027  
6028 <  case 512:
6029 <
6030 < /* Line 1464 of yacc.c  */
6762 < #line 2915 "ircd_parser.y"
6028 >  case 497:
6029 > /* Line 1787 of yacc.c  */
6030 > #line 2587 "conf_parser.y"
6031      {
6032    ConfigFileEntry.disable_remote = yylval.number;
6033   }
6034      break;
6035  
6036 <  case 513:
6037 <
6038 < /* Line 1464 of yacc.c  */
6771 < #line 2920 "ircd_parser.y"
6036 >  case 498:
6037 > /* Line 1787 of yacc.c  */
6038 > #line 2592 "conf_parser.y"
6039      {
6040    ConfigFileEntry.failed_oper_notice = yylval.number;
6041   }
6042      break;
6043  
6044 <  case 514:
6045 <
6046 < /* Line 1464 of yacc.c  */
6780 < #line 2925 "ircd_parser.y"
6044 >  case 499:
6045 > /* Line 1787 of yacc.c  */
6046 > #line 2597 "conf_parser.y"
6047      {
6048    ConfigFileEntry.anti_nick_flood = yylval.number;
6049   }
6050      break;
6051  
6052 <  case 515:
6053 <
6054 < /* Line 1464 of yacc.c  */
6789 < #line 2930 "ircd_parser.y"
6052 >  case 500:
6053 > /* Line 1787 of yacc.c  */
6054 > #line 2602 "conf_parser.y"
6055      {
6056    ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
6057   }
6058      break;
6059  
6060 <  case 516:
6061 <
6062 < /* Line 1464 of yacc.c  */
6798 < #line 2935 "ircd_parser.y"
6060 >  case 501:
6061 > /* Line 1787 of yacc.c  */
6062 > #line 2607 "conf_parser.y"
6063      {
6064    ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
6065   }
6066      break;
6067  
6068 <  case 517:
6069 <
6070 < /* Line 1464 of yacc.c  */
6807 < #line 2940 "ircd_parser.y"
6068 >  case 502:
6069 > /* Line 1787 of yacc.c  */
6070 > #line 2612 "conf_parser.y"
6071      {
6072    ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
6073   }
6074      break;
6075  
6076 <  case 518:
6077 <
6078 < /* Line 1464 of yacc.c  */
6816 < #line 2945 "ircd_parser.y"
6076 >  case 503:
6077 > /* Line 1787 of yacc.c  */
6078 > #line 2617 "conf_parser.y"
6079      {
6080    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
6081   }
6082      break;
6083  
6084 <  case 519:
6085 <
6086 < /* Line 1464 of yacc.c  */
6825 < #line 2950 "ircd_parser.y"
6084 >  case 504:
6085 > /* Line 1787 of yacc.c  */
6086 > #line 2622 "conf_parser.y"
6087      {
6088    ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
6089   }
6090      break;
6091  
6092 <  case 520:
6093 <
6094 < /* Line 1464 of yacc.c  */
6834 < #line 2955 "ircd_parser.y"
6092 >  case 505:
6093 > /* Line 1787 of yacc.c  */
6094 > #line 2627 "conf_parser.y"
6095      {
6096    if (conf_parser_ctx.pass == 2)
6097      ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
6098   }
6099      break;
6100  
6101 <  case 521:
6102 <
6103 < /* Line 1464 of yacc.c  */
6844 < #line 2961 "ircd_parser.y"
6101 >  case 506:
6102 > /* Line 1787 of yacc.c  */
6103 > #line 2633 "conf_parser.y"
6104      {
6105    if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
6106    {
6107 <    ilog(L_CRIT, "You haven't read your config file properly.");
6108 <    ilog(L_CRIT, "There is a line in the example conf that will kill your server if not removed.");
6109 <    ilog(L_CRIT, "Consider actually reading/editing the conf file, and removing this line.");
6107 >    ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
6108 >    ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
6109 >    ilog(LOG_TYPE_IRCD, "Consider actually reading/editing the conf file, and removing this line.");
6110      exit(0);
6111    }
6112   }
6113      break;
6114  
6115 <  case 522:
6116 <
6117 < /* Line 1464 of yacc.c  */
6859 < #line 2972 "ircd_parser.y"
6115 >  case 507:
6116 > /* Line 1787 of yacc.c  */
6117 > #line 2644 "conf_parser.y"
6118      {
6119    ConfigFileEntry.kline_with_reason = yylval.number;
6120   }
6121      break;
6122  
6123 <  case 523:
6124 <
6125 < /* Line 1464 of yacc.c  */
6868 < #line 2977 "ircd_parser.y"
6123 >  case 508:
6124 > /* Line 1787 of yacc.c  */
6125 > #line 2649 "conf_parser.y"
6126      {
6127    if (conf_parser_ctx.pass == 2)
6128    {
# Line 6875 | Line 6132 | yyreduce:
6132   }
6133      break;
6134  
6135 <  case 524:
6136 <
6137 < /* Line 1464 of yacc.c  */
6881 < #line 2986 "ircd_parser.y"
6135 >  case 509:
6136 > /* Line 1787 of yacc.c  */
6137 > #line 2658 "conf_parser.y"
6138      {
6139    ConfigFileEntry.invisible_on_connect = yylval.number;
6140   }
6141      break;
6142  
6143 <  case 525:
6144 <
6145 < /* Line 1464 of yacc.c  */
6890 < #line 2991 "ircd_parser.y"
6143 >  case 510:
6144 > /* Line 1787 of yacc.c  */
6145 > #line 2663 "conf_parser.y"
6146      {
6147    ConfigFileEntry.warn_no_nline = yylval.number;
6148   }
6149      break;
6150  
6151 <  case 526:
6152 <
6153 < /* Line 1464 of yacc.c  */
6899 < #line 2996 "ircd_parser.y"
6151 >  case 511:
6152 > /* Line 1787 of yacc.c  */
6153 > #line 2668 "conf_parser.y"
6154      {
6155    ConfigFileEntry.stats_e_disabled = yylval.number;
6156   }
6157      break;
6158  
6159 <  case 527:
6160 <
6161 < /* Line 1464 of yacc.c  */
6908 < #line 3001 "ircd_parser.y"
6159 >  case 512:
6160 > /* Line 1787 of yacc.c  */
6161 > #line 2673 "conf_parser.y"
6162      {
6163    ConfigFileEntry.stats_o_oper_only = yylval.number;
6164   }
6165      break;
6166  
6167 <  case 528:
6168 <
6169 < /* Line 1464 of yacc.c  */
6917 < #line 3006 "ircd_parser.y"
6167 >  case 513:
6168 > /* Line 1787 of yacc.c  */
6169 > #line 2678 "conf_parser.y"
6170      {
6171    ConfigFileEntry.stats_P_oper_only = yylval.number;
6172   }
6173      break;
6174  
6175 <  case 529:
6176 <
6177 < /* Line 1464 of yacc.c  */
6926 < #line 3011 "ircd_parser.y"
6175 >  case 514:
6176 > /* Line 1787 of yacc.c  */
6177 > #line 2683 "conf_parser.y"
6178      {
6179    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
6180   }
6181      break;
6182  
6183 <  case 530:
6184 <
6185 < /* Line 1464 of yacc.c  */
6935 < #line 3014 "ircd_parser.y"
6183 >  case 515:
6184 > /* Line 1787 of yacc.c  */
6185 > #line 2686 "conf_parser.y"
6186      {
6187    ConfigFileEntry.stats_k_oper_only = 1;
6188   }
6189      break;
6190  
6191 <  case 531:
6192 <
6193 < /* Line 1464 of yacc.c  */
6944 < #line 3019 "ircd_parser.y"
6191 >  case 516:
6192 > /* Line 1787 of yacc.c  */
6193 > #line 2691 "conf_parser.y"
6194      {
6195    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
6196   }
6197      break;
6198  
6199 <  case 532:
6200 <
6201 < /* Line 1464 of yacc.c  */
6953 < #line 3022 "ircd_parser.y"
6199 >  case 517:
6200 > /* Line 1787 of yacc.c  */
6201 > #line 2694 "conf_parser.y"
6202      {
6203    ConfigFileEntry.stats_i_oper_only = 1;
6204   }
6205      break;
6206  
6207 <  case 533:
6208 <
6209 < /* Line 1464 of yacc.c  */
6962 < #line 3027 "ircd_parser.y"
6207 >  case 518:
6208 > /* Line 1787 of yacc.c  */
6209 > #line 2699 "conf_parser.y"
6210      {
6211    ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
6212   }
6213      break;
6214  
6215 <  case 534:
6216 <
6217 < /* Line 1464 of yacc.c  */
6971 < #line 3032 "ircd_parser.y"
6215 >  case 519:
6216 > /* Line 1787 of yacc.c  */
6217 > #line 2704 "conf_parser.y"
6218      {
6219    ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
6220   }
6221      break;
6222  
6223 <  case 535:
6224 <
6225 < /* Line 1464 of yacc.c  */
6980 < #line 3037 "ircd_parser.y"
6223 >  case 520:
6224 > /* Line 1787 of yacc.c  */
6225 > #line 2709 "conf_parser.y"
6226      {
6227    ConfigFileEntry.opers_bypass_callerid = yylval.number;
6228   }
6229      break;
6230  
6231 <  case 536:
6232 <
6233 < /* Line 1464 of yacc.c  */
6989 < #line 3042 "ircd_parser.y"
6231 >  case 521:
6232 > /* Line 1787 of yacc.c  */
6233 > #line 2714 "conf_parser.y"
6234      {
6235    ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
6236   }
6237      break;
6238  
6239 <  case 537:
6240 <
6241 < /* Line 1464 of yacc.c  */
6998 < #line 3047 "ircd_parser.y"
6239 >  case 522:
6240 > /* Line 1787 of yacc.c  */
6241 > #line 2719 "conf_parser.y"
6242      {
6243    ConfigFileEntry.short_motd = yylval.number;
6244   }
6245      break;
6246  
6247 <  case 538:
6248 <
6249 < /* Line 1464 of yacc.c  */
7007 < #line 3052 "ircd_parser.y"
6247 >  case 523:
6248 > /* Line 1787 of yacc.c  */
6249 > #line 2724 "conf_parser.y"
6250      {
6251    ConfigFileEntry.no_oper_flood = yylval.number;
6252   }
6253      break;
6254  
6255 <  case 539:
6256 <
6257 < /* Line 1464 of yacc.c  */
7016 < #line 3057 "ircd_parser.y"
6255 >  case 524:
6256 > /* Line 1787 of yacc.c  */
6257 > #line 2729 "conf_parser.y"
6258      {
6259    ConfigFileEntry.true_no_oper_flood = yylval.number;
6260   }
6261      break;
6262  
6263 <  case 540:
6264 <
6265 < /* Line 1464 of yacc.c  */
7025 < #line 3062 "ircd_parser.y"
6263 >  case 525:
6264 > /* Line 1787 of yacc.c  */
6265 > #line 2734 "conf_parser.y"
6266      {
6267    ConfigFileEntry.oper_pass_resv = yylval.number;
6268   }
6269      break;
6270  
6271 <  case 541:
6272 <
6273 < /* Line 1464 of yacc.c  */
7034 < #line 3067 "ircd_parser.y"
6271 >  case 526:
6272 > /* Line 1787 of yacc.c  */
6273 > #line 2739 "conf_parser.y"
6274      {
6275    if (conf_parser_ctx.pass == 2)
6276    {
# Line 7043 | Line 6282 | yyreduce:
6282   }
6283      break;
6284  
6285 <  case 542:
6286 <
6287 < /* Line 1464 of yacc.c  */
7049 < #line 3078 "ircd_parser.y"
7050 <    {
7051 <  ConfigFileEntry.idletime = (yyvsp[(3) - (4)].number);
7052 < }
7053 <    break;
7054 <
7055 <  case 543:
7056 <
7057 < /* Line 1464 of yacc.c  */
7058 < #line 3083 "ircd_parser.y"
6285 >  case 527:
6286 > /* Line 1787 of yacc.c  */
6287 > #line 2750 "conf_parser.y"
6288      {
6289    ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
6290   }
6291      break;
6292  
6293 <  case 544:
6294 <
6295 < /* Line 1464 of yacc.c  */
7067 < #line 3088 "ircd_parser.y"
6293 >  case 528:
6294 > /* Line 1787 of yacc.c  */
6295 > #line 2755 "conf_parser.y"
6296      {
6297    ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
6298   }
6299      break;
6300  
6301 <  case 545:
6302 <
6303 < /* Line 1464 of yacc.c  */
7076 < #line 3093 "ircd_parser.y"
7077 <    {
7078 <  if (conf_parser_ctx.pass == 2)
7079 <  {
7080 <    MyFree(ConfigFileEntry.servlink_path);
7081 <    DupString(ConfigFileEntry.servlink_path, yylval.string);
7082 <  }
7083 < }
7084 <    break;
7085 <
7086 <  case 546:
7087 <
7088 < /* Line 1464 of yacc.c  */
7089 < #line 3102 "ircd_parser.y"
7090 <    {
7091 < #ifdef HAVE_LIBCRYPTO
7092 <  if (conf_parser_ctx.pass == 2)
7093 <  {
7094 <    struct EncCapability *ecap;
7095 <    const char *cipher_name;
7096 <    int found = 0;
7097 <
7098 <    ConfigFileEntry.default_cipher_preference = NULL;
7099 <    cipher_name = yylval.string;
7100 <
7101 <    for (ecap = CipherTable; ecap->name; ecap++)
6301 >  case 529:
6302 > /* Line 1787 of yacc.c  */
6303 > #line 2760 "conf_parser.y"
6304      {
6305 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
7104 <          (ecap->cap & CAP_ENC_MASK))
7105 <      {
7106 <        ConfigFileEntry.default_cipher_preference = ecap;
7107 <        found = 1;
7108 <        break;
7109 <      }
7110 <    }
7111 <
7112 <    if (!found)
7113 <      yyerror("Invalid cipher");
7114 <  }
7115 < #else
7116 <  if (conf_parser_ctx.pass == 2)
7117 <    yyerror("Ignoring default_cipher_preference -- no OpenSSL support");
7118 < #endif
6305 >  ConfigFileEntry.use_egd = yylval.number;
6306   }
6307      break;
6308  
6309 <  case 547:
6310 <
6311 < /* Line 1464 of yacc.c  */
7125 < #line 3134 "ircd_parser.y"
6309 >  case 530:
6310 > /* Line 1787 of yacc.c  */
6311 > #line 2765 "conf_parser.y"
6312      {
6313    if (conf_parser_ctx.pass == 2)
6314    {
6315 <    ConfigFileEntry.compression_level = (yyvsp[(3) - (4)].number);
6316 < #ifndef HAVE_LIBZ
7131 <    yyerror("Ignoring compression_level -- no zlib support");
7132 < #else
7133 <    if ((ConfigFileEntry.compression_level < 1) ||
7134 <        (ConfigFileEntry.compression_level > 9))
7135 <    {
7136 <      yyerror("Ignoring invalid compression_level, using default");
7137 <      ConfigFileEntry.compression_level = 0;
7138 <    }
7139 < #endif
6315 >    MyFree(ConfigFileEntry.egdpool_path);
6316 >    DupString(ConfigFileEntry.egdpool_path, yylval.string);
6317    }
6318   }
6319      break;
6320  
6321 <  case 548:
6322 <
6323 < /* Line 1464 of yacc.c  */
7147 < #line 3152 "ircd_parser.y"
7148 <    {
7149 <  ConfigFileEntry.use_egd = yylval.number;
7150 < }
7151 <    break;
7152 <
7153 <  case 549:
7154 <
7155 < /* Line 1464 of yacc.c  */
7156 < #line 3157 "ircd_parser.y"
6321 >  case 531:
6322 > /* Line 1787 of yacc.c  */
6323 > #line 2774 "conf_parser.y"
6324      {
6325 <  if (conf_parser_ctx.pass == 2)
6325 >  if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6326    {
6327 <    MyFree(ConfigFileEntry.egdpool_path);
6328 <    DupString(ConfigFileEntry.egdpool_path, yylval.string);
6327 >    MyFree(ConfigFileEntry.service_name);
6328 >    DupString(ConfigFileEntry.service_name, yylval.string);
6329    }
6330   }
6331      break;
6332  
6333 <  case 550:
6334 <
6335 < /* Line 1464 of yacc.c  */
7169 < #line 3166 "ircd_parser.y"
6333 >  case 532:
6334 > /* Line 1787 of yacc.c  */
6335 > #line 2783 "conf_parser.y"
6336      {
6337    ConfigFileEntry.ping_cookie = yylval.number;
6338   }
6339      break;
6340  
6341 <  case 551:
6342 <
6343 < /* Line 1464 of yacc.c  */
7178 < #line 3171 "ircd_parser.y"
6341 >  case 533:
6342 > /* Line 1787 of yacc.c  */
6343 > #line 2788 "conf_parser.y"
6344      {
6345    ConfigFileEntry.disable_auth = yylval.number;
6346   }
6347      break;
6348  
6349 <  case 552:
6350 <
6351 < /* Line 1464 of yacc.c  */
7187 < #line 3176 "ircd_parser.y"
6349 >  case 534:
6350 > /* Line 1787 of yacc.c  */
6351 > #line 2793 "conf_parser.y"
6352      {
6353    ConfigFileEntry.throttle_time = yylval.number;
6354   }
6355      break;
6356  
6357 <  case 553:
6358 <
6359 < /* Line 1464 of yacc.c  */
7196 < #line 3181 "ircd_parser.y"
6357 >  case 535:
6358 > /* Line 1787 of yacc.c  */
6359 > #line 2798 "conf_parser.y"
6360      {
6361    ConfigFileEntry.oper_umodes = 0;
6362   }
6363      break;
6364  
6365 <  case 557:
6366 <
6367 < /* Line 1464 of yacc.c  */
7205 < #line 3187 "ircd_parser.y"
6365 >  case 539:
6366 > /* Line 1787 of yacc.c  */
6367 > #line 2804 "conf_parser.y"
6368      {
6369    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6370   }
6371      break;
6372  
6373 <  case 558:
6374 <
6375 < /* Line 1464 of yacc.c  */
7214 < #line 3190 "ircd_parser.y"
6373 >  case 540:
6374 > /* Line 1787 of yacc.c  */
6375 > #line 2807 "conf_parser.y"
6376      {
6377    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6378   }
6379      break;
6380  
6381 <  case 559:
6382 <
6383 < /* Line 1464 of yacc.c  */
7223 < #line 3193 "ircd_parser.y"
6381 >  case 541:
6382 > /* Line 1787 of yacc.c  */
6383 > #line 2810 "conf_parser.y"
6384      {
6385    ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6386   }
6387      break;
6388  
6389 <  case 560:
6390 <
6391 < /* Line 1464 of yacc.c  */
7232 < #line 3196 "ircd_parser.y"
6389 >  case 542:
6390 > /* Line 1787 of yacc.c  */
6391 > #line 2813 "conf_parser.y"
6392      {
6393    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6394   }
6395      break;
6396  
6397 <  case 561:
6398 <
6399 < /* Line 1464 of yacc.c  */
7241 < #line 3199 "ircd_parser.y"
6397 >  case 543:
6398 > /* Line 1787 of yacc.c  */
6399 > #line 2816 "conf_parser.y"
6400      {
6401    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6402   }
6403      break;
6404  
6405 <  case 562:
6406 <
6407 < /* Line 1464 of yacc.c  */
7250 < #line 3202 "ircd_parser.y"
6405 >  case 544:
6406 > /* Line 1787 of yacc.c  */
6407 > #line 2819 "conf_parser.y"
6408      {
6409    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6410   }
6411      break;
6412  
6413 <  case 563:
6413 >  case 545:
6414 > /* Line 1787 of yacc.c  */
6415 > #line 2822 "conf_parser.y"
6416 >    {
6417 >  ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6418 > }
6419 >    break;
6420  
6421 < /* Line 1464 of yacc.c  */
6422 < #line 3205 "ircd_parser.y"
6421 >  case 546:
6422 > /* Line 1787 of yacc.c  */
6423 > #line 2825 "conf_parser.y"
6424      {
6425    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6426   }
6427      break;
6428  
6429 <  case 564:
6430 <
6431 < /* Line 1464 of yacc.c  */
7268 < #line 3208 "ircd_parser.y"
6429 >  case 547:
6430 > /* Line 1787 of yacc.c  */
6431 > #line 2828 "conf_parser.y"
6432      {
6433    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6434   }
6435      break;
6436  
6437 <  case 565:
6438 <
6439 < /* Line 1464 of yacc.c  */
7277 < #line 3211 "ircd_parser.y"
6437 >  case 548:
6438 > /* Line 1787 of yacc.c  */
6439 > #line 2831 "conf_parser.y"
6440      {
6441    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6442   }
6443      break;
6444  
6445 <  case 566:
6446 <
6447 < /* Line 1464 of yacc.c  */
7286 < #line 3214 "ircd_parser.y"
6445 >  case 549:
6446 > /* Line 1787 of yacc.c  */
6447 > #line 2834 "conf_parser.y"
6448      {
6449    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6450   }
6451      break;
6452  
6453 <  case 567:
6454 <
6455 < /* Line 1464 of yacc.c  */
7295 < #line 3217 "ircd_parser.y"
6453 >  case 550:
6454 > /* Line 1787 of yacc.c  */
6455 > #line 2837 "conf_parser.y"
6456      {
6457    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6458   }
6459      break;
6460  
6461 <  case 568:
6462 <
6463 < /* Line 1464 of yacc.c  */
7304 < #line 3220 "ircd_parser.y"
6461 >  case 551:
6462 > /* Line 1787 of yacc.c  */
6463 > #line 2840 "conf_parser.y"
6464      {
6465    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6466   }
6467      break;
6468  
6469 <  case 569:
6470 <
6471 < /* Line 1464 of yacc.c  */
7313 < #line 3223 "ircd_parser.y"
6469 >  case 552:
6470 > /* Line 1787 of yacc.c  */
6471 > #line 2843 "conf_parser.y"
6472      {
6473    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6474   }
6475      break;
6476  
6477 <  case 570:
6478 <
6479 < /* Line 1464 of yacc.c  */
7322 < #line 3226 "ircd_parser.y"
6477 >  case 553:
6478 > /* Line 1787 of yacc.c  */
6479 > #line 2846 "conf_parser.y"
6480      {
6481    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6482   }
6483      break;
6484  
6485 <  case 571:
6486 <
6487 < /* Line 1464 of yacc.c  */
7331 < #line 3229 "ircd_parser.y"
6485 >  case 554:
6486 > /* Line 1787 of yacc.c  */
6487 > #line 2849 "conf_parser.y"
6488      {
6489    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6490   }
6491      break;
6492  
6493 <  case 572:
6494 <
6495 < /* Line 1464 of yacc.c  */
7340 < #line 3232 "ircd_parser.y"
6493 >  case 555:
6494 > /* Line 1787 of yacc.c  */
6495 > #line 2852 "conf_parser.y"
6496      {
6497    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6498   }
6499      break;
6500  
6501 <  case 573:
6502 <
6503 < /* Line 1464 of yacc.c  */
7349 < #line 3235 "ircd_parser.y"
6501 >  case 556:
6502 > /* Line 1787 of yacc.c  */
6503 > #line 2855 "conf_parser.y"
6504      {
6505    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6506   }
6507      break;
6508  
6509 <  case 574:
6510 <
6511 < /* Line 1464 of yacc.c  */
7358 < #line 3238 "ircd_parser.y"
6509 >  case 557:
6510 > /* Line 1787 of yacc.c  */
6511 > #line 2858 "conf_parser.y"
6512      {
6513    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6514   }
6515      break;
6516  
6517 <  case 575:
6518 <
6519 < /* Line 1464 of yacc.c  */
7367 < #line 3241 "ircd_parser.y"
6517 >  case 558:
6518 > /* Line 1787 of yacc.c  */
6519 > #line 2861 "conf_parser.y"
6520      {
6521    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6522   }
6523      break;
6524  
6525 <  case 576:
6526 <
6527 < /* Line 1464 of yacc.c  */
7376 < #line 3246 "ircd_parser.y"
6525 >  case 559:
6526 > /* Line 1787 of yacc.c  */
6527 > #line 2866 "conf_parser.y"
6528      {
6529    ConfigFileEntry.oper_only_umodes = 0;
6530   }
6531      break;
6532  
6533 <  case 580:
6534 <
6535 < /* Line 1464 of yacc.c  */
7385 < #line 3252 "ircd_parser.y"
6533 >  case 563:
6534 > /* Line 1787 of yacc.c  */
6535 > #line 2872 "conf_parser.y"
6536      {
6537    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6538   }
6539      break;
6540  
6541 <  case 581:
6542 <
6543 < /* Line 1464 of yacc.c  */
7394 < #line 3255 "ircd_parser.y"
6541 >  case 564:
6542 > /* Line 1787 of yacc.c  */
6543 > #line 2875 "conf_parser.y"
6544      {
6545    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6546   }
6547      break;
6548  
6549 <  case 582:
6550 <
6551 < /* Line 1464 of yacc.c  */
7403 < #line 3258 "ircd_parser.y"
6549 >  case 565:
6550 > /* Line 1787 of yacc.c  */
6551 > #line 2878 "conf_parser.y"
6552      {
6553    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6554   }
6555      break;
6556  
6557 <  case 583:
6558 <
6559 < /* Line 1464 of yacc.c  */
7412 < #line 3261 "ircd_parser.y"
6557 >  case 566:
6558 > /* Line 1787 of yacc.c  */
6559 > #line 2881 "conf_parser.y"
6560      {
6561    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6562   }
6563      break;
6564  
6565 <  case 584:
6566 <
6567 < /* Line 1464 of yacc.c  */
7421 < #line 3264 "ircd_parser.y"
6565 >  case 567:
6566 > /* Line 1787 of yacc.c  */
6567 > #line 2884 "conf_parser.y"
6568      {
6569    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6570   }
6571      break;
6572  
6573 <  case 585:
6574 <
6575 < /* Line 1464 of yacc.c  */
7430 < #line 3267 "ircd_parser.y"
6573 >  case 568:
6574 > /* Line 1787 of yacc.c  */
6575 > #line 2887 "conf_parser.y"
6576      {
6577    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6578   }
6579      break;
6580  
6581 <  case 586:
6582 <
6583 < /* Line 1464 of yacc.c  */
7439 < #line 3270 "ircd_parser.y"
6581 >  case 569:
6582 > /* Line 1787 of yacc.c  */
6583 > #line 2890 "conf_parser.y"
6584      {
6585    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6586   }
6587      break;
6588  
6589 <  case 587:
6589 >  case 570:
6590 > /* Line 1787 of yacc.c  */
6591 > #line 2893 "conf_parser.y"
6592 >    {
6593 >  ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6594 > }
6595 >    break;
6596  
6597 < /* Line 1464 of yacc.c  */
6598 < #line 3273 "ircd_parser.y"
6597 >  case 571:
6598 > /* Line 1787 of yacc.c  */
6599 > #line 2896 "conf_parser.y"
6600      {
6601    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6602   }
6603      break;
6604  
6605 <  case 588:
6606 <
6607 < /* Line 1464 of yacc.c  */
7457 < #line 3276 "ircd_parser.y"
6605 >  case 572:
6606 > /* Line 1787 of yacc.c  */
6607 > #line 2899 "conf_parser.y"
6608      {
6609    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6610   }
6611      break;
6612  
6613 <  case 589:
6614 <
6615 < /* Line 1464 of yacc.c  */
7466 < #line 3279 "ircd_parser.y"
6613 >  case 573:
6614 > /* Line 1787 of yacc.c  */
6615 > #line 2902 "conf_parser.y"
6616      {
6617    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6618   }
6619      break;
6620  
6621 <  case 590:
6622 <
6623 < /* Line 1464 of yacc.c  */
7475 < #line 3282 "ircd_parser.y"
6621 >  case 574:
6622 > /* Line 1787 of yacc.c  */
6623 > #line 2905 "conf_parser.y"
6624      {
6625    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6626   }
6627      break;
6628  
6629 <  case 591:
6630 <
6631 < /* Line 1464 of yacc.c  */
7484 < #line 3285 "ircd_parser.y"
6629 >  case 575:
6630 > /* Line 1787 of yacc.c  */
6631 > #line 2908 "conf_parser.y"
6632      {
6633    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6634   }
6635      break;
6636  
6637 <  case 592:
6638 <
6639 < /* Line 1464 of yacc.c  */
7493 < #line 3288 "ircd_parser.y"
6637 >  case 576:
6638 > /* Line 1787 of yacc.c  */
6639 > #line 2911 "conf_parser.y"
6640      {
6641    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6642   }
6643      break;
6644  
6645 <  case 593:
6646 <
6647 < /* Line 1464 of yacc.c  */
7502 < #line 3291 "ircd_parser.y"
6645 >  case 577:
6646 > /* Line 1787 of yacc.c  */
6647 > #line 2914 "conf_parser.y"
6648      {
6649    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6650   }
6651      break;
6652  
6653 <  case 594:
6654 <
6655 < /* Line 1464 of yacc.c  */
7511 < #line 3294 "ircd_parser.y"
6653 >  case 578:
6654 > /* Line 1787 of yacc.c  */
6655 > #line 2917 "conf_parser.y"
6656      {
6657    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6658   }
6659      break;
6660  
6661 <  case 595:
6662 <
6663 < /* Line 1464 of yacc.c  */
7520 < #line 3297 "ircd_parser.y"
6661 >  case 579:
6662 > /* Line 1787 of yacc.c  */
6663 > #line 2920 "conf_parser.y"
6664      {
6665    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6666   }
6667      break;
6668  
6669 <  case 596:
6670 <
6671 < /* Line 1464 of yacc.c  */
7529 < #line 3300 "ircd_parser.y"
6669 >  case 580:
6670 > /* Line 1787 of yacc.c  */
6671 > #line 2923 "conf_parser.y"
6672      {
6673    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6674   }
6675      break;
6676  
6677 <  case 597:
6678 <
6679 < /* Line 1464 of yacc.c  */
7538 < #line 3303 "ircd_parser.y"
6677 >  case 581:
6678 > /* Line 1787 of yacc.c  */
6679 > #line 2926 "conf_parser.y"
6680      {
6681    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6682   }
6683      break;
6684  
6685 <  case 598:
6686 <
6687 < /* Line 1464 of yacc.c  */
7547 < #line 3306 "ircd_parser.y"
6685 >  case 582:
6686 > /* Line 1787 of yacc.c  */
6687 > #line 2929 "conf_parser.y"
6688      {
6689    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6690   }
6691      break;
6692  
6693 <  case 599:
6694 <
6695 < /* Line 1464 of yacc.c  */
7556 < #line 3311 "ircd_parser.y"
6693 >  case 583:
6694 > /* Line 1787 of yacc.c  */
6695 > #line 2934 "conf_parser.y"
6696      {
6697    ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6698   }
6699      break;
6700  
6701 <  case 600:
6702 <
6703 < /* Line 1464 of yacc.c  */
7565 < #line 3316 "ircd_parser.y"
6701 >  case 584:
6702 > /* Line 1787 of yacc.c  */
6703 > #line 2939 "conf_parser.y"
6704      {
6705    ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6706   }
6707      break;
6708  
6709 <  case 601:
6710 <
6711 < /* Line 1464 of yacc.c  */
7574 < #line 3321 "ircd_parser.y"
6709 >  case 585:
6710 > /* Line 1787 of yacc.c  */
6711 > #line 2944 "conf_parser.y"
6712      {
6713    ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6714   }
6715      break;
6716  
7580  case 602:
7581
7582 /* Line 1464 of yacc.c  */
7583 #line 3326 "ircd_parser.y"
7584    {
7585  ConfigFileEntry.client_flood = (yyvsp[(3) - (4)].number);
7586 }
7587    break;
7588
7589  case 603:
7590
7591 /* Line 1464 of yacc.c  */
7592 #line 3335 "ircd_parser.y"
7593    {
7594  if (conf_parser_ctx.pass == 2)
7595  {
7596    yy_conf = make_conf_item(GDENY_TYPE);
7597    yy_aconf = map_to_conf(yy_conf);
7598  }
7599 }
7600    break;
7601
6717    case 604:
6718 <
6719 < /* Line 1464 of yacc.c  */
7605 < #line 3342 "ircd_parser.y"
7606 <    {
7607 <  if (conf_parser_ctx.pass == 2)
7608 <  {
7609 <    /*
7610 <     * since we re-allocate yy_conf/yy_aconf after the end of action=, at the
7611 <     * end we will have one extra, so we should free it.
7612 <     */
7613 <    if (yy_conf->name == NULL || yy_aconf->user == NULL)
7614 <    {
7615 <      delete_conf_item(yy_conf);
7616 <      yy_conf = NULL;
7617 <      yy_aconf = NULL;
7618 <    }
7619 <  }
7620 < }
7621 <    break;
7622 <
7623 <  case 614:
7624 <
7625 < /* Line 1464 of yacc.c  */
7626 < #line 3368 "ircd_parser.y"
7627 <    {
7628 <  if (conf_parser_ctx.pass == 2)
7629 <    ConfigFileEntry.glines = yylval.number;
7630 < }
7631 <    break;
7632 <
7633 <  case 615:
7634 <
7635 < /* Line 1464 of yacc.c  */
7636 < #line 3374 "ircd_parser.y"
7637 <    {
7638 <  if (conf_parser_ctx.pass == 2)
7639 <    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
7640 < }
7641 <    break;
7642 <
7643 <  case 616:
7644 <
7645 < /* Line 1464 of yacc.c  */
7646 < #line 3380 "ircd_parser.y"
7647 <    {
7648 <  if (conf_parser_ctx.pass == 2)
7649 <    ConfigFileEntry.gline_logging = 0;
7650 < }
7651 <    break;
7652 <
7653 <  case 620:
7654 <
7655 < /* Line 1464 of yacc.c  */
7656 < #line 3386 "ircd_parser.y"
7657 <    {
7658 <  if (conf_parser_ctx.pass == 2)
7659 <    ConfigFileEntry.gline_logging |= GDENY_REJECT;
7660 < }
7661 <    break;
7662 <
7663 <  case 621:
7664 <
7665 < /* Line 1464 of yacc.c  */
7666 < #line 3390 "ircd_parser.y"
7667 <    {
7668 <  if (conf_parser_ctx.pass == 2)
7669 <    ConfigFileEntry.gline_logging |= GDENY_BLOCK;
7670 < }
7671 <    break;
7672 <
7673 <  case 622:
7674 <
7675 < /* Line 1464 of yacc.c  */
7676 < #line 3396 "ircd_parser.y"
7677 <    {
7678 <  if (conf_parser_ctx.pass == 2)
7679 <  {
7680 <    struct split_nuh_item nuh;
7681 <
7682 <    nuh.nuhmask  = yylval.string;
7683 <    nuh.nickptr  = NULL;
7684 <    nuh.userptr  = userbuf;
7685 <    nuh.hostptr  = hostbuf;
7686 <
7687 <    nuh.nicksize = 0;
7688 <    nuh.usersize = sizeof(userbuf);
7689 <    nuh.hostsize = sizeof(hostbuf);
7690 <
7691 <    split_nuh(&nuh);
7692 <
7693 <    if (yy_aconf->user == NULL)
7694 <    {
7695 <      DupString(yy_aconf->user, userbuf);
7696 <      DupString(yy_aconf->host, hostbuf);
7697 <    }
7698 <    else
7699 <    {
7700 <      struct CollectItem *yy_tmp = MyMalloc(sizeof(struct CollectItem));
7701 <
7702 <      DupString(yy_tmp->user, userbuf);
7703 <      DupString(yy_tmp->host, hostbuf);
7704 <
7705 <      dlinkAdd(yy_tmp, &yy_tmp->node, &col_conf_list);
7706 <    }
7707 <  }
7708 < }
7709 <    break;
7710 <
7711 <  case 623:
7712 <
7713 < /* Line 1464 of yacc.c  */
7714 < #line 3430 "ircd_parser.y"
7715 <    {
7716 <  if (conf_parser_ctx.pass == 2)  
7717 <  {
7718 <    MyFree(yy_conf->name);
7719 <    DupString(yy_conf->name, yylval.string);
7720 <  }
7721 < }
7722 <    break;
7723 <
7724 <  case 624:
7725 <
7726 < /* Line 1464 of yacc.c  */
7727 < #line 3439 "ircd_parser.y"
7728 <    {
7729 <  if (conf_parser_ctx.pass == 2)
7730 <    yy_aconf->flags = 0;
7731 < }
7732 <    break;
7733 <
7734 <  case 625:
7735 <
7736 < /* Line 1464 of yacc.c  */
7737 < #line 3443 "ircd_parser.y"
7738 <    {
7739 <  if (conf_parser_ctx.pass == 2)
7740 <  {
7741 <    struct CollectItem *yy_tmp = NULL;
7742 <    dlink_node *ptr, *next_ptr;
7743 <
7744 <    DLINK_FOREACH_SAFE(ptr, next_ptr, col_conf_list.head)
7745 <    {
7746 <      struct AccessItem *new_aconf;
7747 <      struct ConfItem *new_conf;
7748 <
7749 <      yy_tmp = ptr->data;
7750 <      new_conf = make_conf_item(GDENY_TYPE);
7751 <      new_aconf = map_to_conf(new_conf);
7752 <
7753 <      new_aconf->flags = yy_aconf->flags;
7754 <
7755 <      if (yy_conf->name != NULL)
7756 <        DupString(new_conf->name, yy_conf->name);
7757 <      else
7758 <        DupString(new_conf->name, "*");
7759 <      if (yy_aconf->user != NULL)
7760 <         DupString(new_aconf->user, yy_tmp->user);
7761 <      else  
7762 <        DupString(new_aconf->user, "*");
7763 <      if (yy_aconf->host != NULL)
7764 <        DupString(new_aconf->host, yy_tmp->host);
7765 <      else
7766 <        DupString(new_aconf->host, "*");
7767 <
7768 <      dlinkDelete(&yy_tmp->node, &col_conf_list);
7769 <    }
7770 <
7771 <    /*
7772 <     * In case someone has fed us with more than one action= after user/name
7773 <     * which would leak memory  -Michael
7774 <     */
7775 <    if (yy_conf->name == NULL || yy_aconf->user == NULL)
7776 <      delete_conf_item(yy_conf);
7777 <
7778 <    yy_conf = make_conf_item(GDENY_TYPE);
7779 <    yy_aconf = map_to_conf(yy_conf);
7780 <  }
7781 < }
7782 <    break;
7783 <
7784 <  case 628:
7785 <
7786 < /* Line 1464 of yacc.c  */
7787 < #line 3490 "ircd_parser.y"
7788 <    {
7789 <  if (conf_parser_ctx.pass == 2)
7790 <    yy_aconf->flags |= GDENY_REJECT;
7791 < }
7792 <    break;
7793 <
7794 <  case 629:
7795 <
7796 < /* Line 1464 of yacc.c  */
7797 < #line 3494 "ircd_parser.y"
7798 <    {
7799 <  if (conf_parser_ctx.pass == 2)
7800 <    yy_aconf->flags |= GDENY_BLOCK;
7801 < }
7802 <    break;
7803 <
7804 <  case 652:
7805 <
7806 < /* Line 1464 of yacc.c  */
7807 < #line 3518 "ircd_parser.y"
6718 > /* Line 1787 of yacc.c  */
6719 > #line 2967 "conf_parser.y"
6720      {
6721    ConfigChannel.disable_fake_channels = yylval.number;
6722   }
6723      break;
6724  
6725 <  case 653:
6726 <
6727 < /* Line 1464 of yacc.c  */
7816 < #line 3523 "ircd_parser.y"
6725 >  case 605:
6726 > /* Line 1787 of yacc.c  */
6727 > #line 2972 "conf_parser.y"
6728      {
6729    ConfigChannel.restrict_channels = yylval.number;
6730   }
6731      break;
6732  
6733 <  case 654:
6734 <
6735 < /* Line 1464 of yacc.c  */
7825 < #line 3528 "ircd_parser.y"
7826 <    {
7827 <  ConfigChannel.disable_local_channels = yylval.number;
7828 < }
7829 <    break;
7830 <
7831 <  case 655:
7832 <
7833 < /* Line 1464 of yacc.c  */
7834 < #line 3533 "ircd_parser.y"
7835 <    {
7836 <  ConfigChannel.use_except = yylval.number;
7837 < }
7838 <    break;
7839 <
7840 <  case 656:
7841 <
7842 < /* Line 1464 of yacc.c  */
7843 < #line 3538 "ircd_parser.y"
7844 <    {
7845 <  ConfigChannel.use_invex = yylval.number;
7846 < }
7847 <    break;
7848 <
7849 <  case 657:
7850 <
7851 < /* Line 1464 of yacc.c  */
7852 < #line 3543 "ircd_parser.y"
7853 <    {
7854 <  ConfigChannel.use_knock = yylval.number;
7855 < }
7856 <    break;
7857 <
7858 <  case 658:
7859 <
7860 < /* Line 1464 of yacc.c  */
7861 < #line 3548 "ircd_parser.y"
6733 >  case 606:
6734 > /* Line 1787 of yacc.c  */
6735 > #line 2977 "conf_parser.y"
6736      {
6737    ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6738   }
6739      break;
6740  
6741 <  case 659:
6742 <
6743 < /* Line 1464 of yacc.c  */
7870 < #line 3553 "ircd_parser.y"
6741 >  case 607:
6742 > /* Line 1787 of yacc.c  */
6743 > #line 2982 "conf_parser.y"
6744      {
6745    ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6746   }
6747      break;
6748  
6749 <  case 660:
6750 <
6751 < /* Line 1464 of yacc.c  */
7879 < #line 3558 "ircd_parser.y"
6749 >  case 608:
6750 > /* Line 1787 of yacc.c  */
6751 > #line 2987 "conf_parser.y"
6752      {
6753    ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6754   }
6755      break;
6756  
6757 <  case 661:
6757 >  case 609:
6758 > /* Line 1787 of yacc.c  */
6759 > #line 2992 "conf_parser.y"
6760 >    {
6761 >  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6762 > }
6763 >    break;
6764  
6765 < /* Line 1464 of yacc.c  */
6766 < #line 3563 "ircd_parser.y"
6765 >  case 610:
6766 > /* Line 1787 of yacc.c  */
6767 > #line 2997 "conf_parser.y"
6768      {
6769    ConfigChannel.quiet_on_ban = yylval.number;
6770   }
6771      break;
6772  
6773 <  case 662:
6774 <
6775 < /* Line 1464 of yacc.c  */
7897 < #line 3568 "ircd_parser.y"
6773 >  case 611:
6774 > /* Line 1787 of yacc.c  */
6775 > #line 3002 "conf_parser.y"
6776      {
6777    ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6778   }
6779      break;
6780  
6781 <  case 663:
6782 <
6783 < /* Line 1464 of yacc.c  */
7906 < #line 3573 "ircd_parser.y"
6781 >  case 612:
6782 > /* Line 1787 of yacc.c  */
6783 > #line 3007 "conf_parser.y"
6784      {
6785    ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6786   }
6787      break;
6788  
6789 <  case 664:
6790 <
6791 < /* Line 1464 of yacc.c  */
7915 < #line 3578 "ircd_parser.y"
6789 >  case 613:
6790 > /* Line 1787 of yacc.c  */
6791 > #line 3012 "conf_parser.y"
6792      {
6793    ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6794   }
6795      break;
6796  
6797 <  case 665:
6798 <
6799 < /* Line 1464 of yacc.c  */
7924 < #line 3583 "ircd_parser.y"
6797 >  case 614:
6798 > /* Line 1787 of yacc.c  */
6799 > #line 3017 "conf_parser.y"
6800      {
6801    ConfigChannel.no_create_on_split = yylval.number;
6802   }
6803      break;
6804  
6805 <  case 666:
6806 <
6807 < /* Line 1464 of yacc.c  */
7933 < #line 3588 "ircd_parser.y"
6805 >  case 615:
6806 > /* Line 1787 of yacc.c  */
6807 > #line 3022 "conf_parser.y"
6808      {
6809    ConfigChannel.no_join_on_split = yylval.number;
6810   }
6811      break;
6812  
6813 <  case 667:
6814 <
6815 < /* Line 1464 of yacc.c  */
7942 < #line 3593 "ircd_parser.y"
7943 <    {
7944 <  ConfigChannel.burst_topicwho = yylval.number;
7945 < }
7946 <    break;
7947 <
7948 <  case 668:
7949 <
7950 < /* Line 1464 of yacc.c  */
7951 < #line 3598 "ircd_parser.y"
6813 >  case 616:
6814 > /* Line 1787 of yacc.c  */
6815 > #line 3027 "conf_parser.y"
6816      {
6817    GlobalSetOptions.joinfloodcount = yylval.number;
6818   }
6819      break;
6820  
6821 <  case 669:
6822 <
6823 < /* Line 1464 of yacc.c  */
7960 < #line 3603 "ircd_parser.y"
6821 >  case 617:
6822 > /* Line 1787 of yacc.c  */
6823 > #line 3032 "conf_parser.y"
6824      {
6825    GlobalSetOptions.joinfloodtime = yylval.number;
6826   }
6827      break;
6828  
6829 <  case 681:
6830 <
6831 < /* Line 1464 of yacc.c  */
7969 < #line 3622 "ircd_parser.y"
6829 >  case 628:
6830 > /* Line 1787 of yacc.c  */
6831 > #line 3050 "conf_parser.y"
6832      {
6833    if (conf_parser_ctx.pass == 2)
6834      ConfigServerHide.flatten_links = yylval.number;
6835   }
6836      break;
6837  
6838 <  case 682:
6839 <
6840 < /* Line 1464 of yacc.c  */
7979 < #line 3628 "ircd_parser.y"
6838 >  case 629:
6839 > /* Line 1787 of yacc.c  */
6840 > #line 3056 "conf_parser.y"
6841      {
6842    if (conf_parser_ctx.pass == 2)
6843      ConfigServerHide.hide_servers = yylval.number;
6844   }
6845      break;
6846  
6847 <  case 683:
6848 <
6849 < /* Line 1464 of yacc.c  */
7989 < #line 3634 "ircd_parser.y"
6847 >  case 630:
6848 > /* Line 1787 of yacc.c  */
6849 > #line 3062 "conf_parser.y"
6850      {
6851    if (conf_parser_ctx.pass == 2)
6852    {
# Line 7996 | Line 6856 | yyreduce:
6856   }
6857      break;
6858  
6859 <  case 684:
6860 <
6861 < /* Line 1464 of yacc.c  */
8002 < #line 3643 "ircd_parser.y"
6859 >  case 631:
6860 > /* Line 1787 of yacc.c  */
6861 > #line 3071 "conf_parser.y"
6862      {
6863    if (conf_parser_ctx.pass == 2)
6864    {
# Line 8014 | Line 6873 | yyreduce:
6873   }
6874      break;
6875  
6876 <  case 685:
6877 <
6878 < /* Line 1464 of yacc.c  */
8020 < #line 3657 "ircd_parser.y"
6876 >  case 632:
6877 > /* Line 1787 of yacc.c  */
6878 > #line 3085 "conf_parser.y"
6879      {
6880    if (conf_parser_ctx.pass == 2)
6881      ConfigServerHide.hidden = yylval.number;
6882   }
6883      break;
6884  
6885 <  case 686:
6886 <
6887 < /* Line 1464 of yacc.c  */
8030 < #line 3663 "ircd_parser.y"
8031 <    {
8032 <  if (conf_parser_ctx.pass == 2)
8033 <    ConfigServerHide.disable_hidden = yylval.number;
8034 < }
8035 <    break;
8036 <
8037 <  case 687:
8038 <
8039 < /* Line 1464 of yacc.c  */
8040 < #line 3669 "ircd_parser.y"
6885 >  case 633:
6886 > /* Line 1787 of yacc.c  */
6887 > #line 3091 "conf_parser.y"
6888      {
6889    if (conf_parser_ctx.pass == 2)
6890      ConfigServerHide.hide_server_ips = yylval.number;
# Line 8045 | Line 6892 | yyreduce:
6892      break;
6893  
6894  
6895 <
6896 < /* Line 1464 of yacc.c  */
8050 < #line 8051 "ircd_parser.c"
6895 > /* Line 1787 of yacc.c  */
6896 > #line 6897 "conf_parser.c"
6897        default: break;
6898      }
6899 +  /* User semantic actions sometimes alter yychar, and that requires
6900 +     that yytoken be updated with the new translation.  We take the
6901 +     approach of translating immediately before every use of yytoken.
6902 +     One alternative is translating here after every semantic action,
6903 +     but that translation would be missed if the semantic action invokes
6904 +     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
6905 +     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
6906 +     incorrect destructor might then be invoked immediately.  In the
6907 +     case of YYERROR or YYBACKUP, subsequent parser actions might lead
6908 +     to an incorrect destructor call or verbose syntax error message
6909 +     before the lookahead is translated.  */
6910    YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
6911  
6912    YYPOPSTACK (yylen);
# Line 8077 | Line 6934 | yyreduce:
6934   | yyerrlab -- here on detecting error |
6935   `------------------------------------*/
6936   yyerrlab:
6937 +  /* Make sure we have latest lookahead translation.  See comments at
6938 +     user semantic actions for why this is necessary.  */
6939 +  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
6940 +
6941    /* If not already recovering from an error, report this error.  */
6942    if (!yyerrstatus)
6943      {
# Line 8084 | Line 6945 | yyerrlab:
6945   #if ! YYERROR_VERBOSE
6946        yyerror (YY_("syntax error"));
6947   #else
6948 + # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
6949 +                                        yyssp, yytoken)
6950        {
6951 <        YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
6952 <        if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
6953 <          {
6954 <            YYSIZE_T yyalloc = 2 * yysize;
6955 <            if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
6956 <              yyalloc = YYSTACK_ALLOC_MAXIMUM;
6957 <            if (yymsg != yymsgbuf)
6958 <              YYSTACK_FREE (yymsg);
6959 <            yymsg = (char *) YYSTACK_ALLOC (yyalloc);
6960 <            if (yymsg)
6961 <              yymsg_alloc = yyalloc;
6962 <            else
6963 <              {
6964 <                yymsg = yymsgbuf;
6965 <                yymsg_alloc = sizeof yymsgbuf;
6966 <              }
6967 <          }
6968 <
6969 <        if (0 < yysize && yysize <= yymsg_alloc)
6970 <          {
6971 <            (void) yysyntax_error (yymsg, yystate, yychar);
6972 <            yyerror (yymsg);
6973 <          }
6974 <        else
6975 <          {
8113 <            yyerror (YY_("syntax error"));
8114 <            if (yysize != 0)
8115 <              goto yyexhaustedlab;
8116 <          }
6951 >        char const *yymsgp = YY_("syntax error");
6952 >        int yysyntax_error_status;
6953 >        yysyntax_error_status = YYSYNTAX_ERROR;
6954 >        if (yysyntax_error_status == 0)
6955 >          yymsgp = yymsg;
6956 >        else if (yysyntax_error_status == 1)
6957 >          {
6958 >            if (yymsg != yymsgbuf)
6959 >              YYSTACK_FREE (yymsg);
6960 >            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
6961 >            if (!yymsg)
6962 >              {
6963 >                yymsg = yymsgbuf;
6964 >                yymsg_alloc = sizeof yymsgbuf;
6965 >                yysyntax_error_status = 2;
6966 >              }
6967 >            else
6968 >              {
6969 >                yysyntax_error_status = YYSYNTAX_ERROR;
6970 >                yymsgp = yymsg;
6971 >              }
6972 >          }
6973 >        yyerror (yymsgp);
6974 >        if (yysyntax_error_status == 2)
6975 >          goto yyexhaustedlab;
6976        }
6977 + # undef YYSYNTAX_ERROR
6978   #endif
6979      }
6980  
# Line 8173 | Line 7033 | yyerrlab1:
7033    for (;;)
7034      {
7035        yyn = yypact[yystate];
7036 <      if (yyn != YYPACT_NINF)
7036 >      if (!yypact_value_is_default (yyn))
7037          {
7038            yyn += YYTERROR;
7039            if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
# Line 8220 | Line 7080 | yyabortlab:
7080    yyresult = 1;
7081    goto yyreturn;
7082  
7083 < #if !defined(yyoverflow) || YYERROR_VERBOSE
7083 > #if !defined yyoverflow || YYERROR_VERBOSE
7084   /*-------------------------------------------------.
7085   | yyexhaustedlab -- memory exhaustion comes here.  |
7086   `-------------------------------------------------*/
# Line 8232 | Line 7092 | yyexhaustedlab:
7092  
7093   yyreturn:
7094    if (yychar != YYEMPTY)
7095 <     yydestruct ("Cleanup: discarding lookahead",
7096 <                 yytoken, &yylval);
7095 >    {
7096 >      /* Make sure we have latest lookahead translation.  See comments at
7097 >         user semantic actions for why this is necessary.  */
7098 >      yytoken = YYTRANSLATE (yychar);
7099 >      yydestruct ("Cleanup: discarding lookahead",
7100 >                  yytoken, &yylval);
7101 >    }
7102    /* Do not reclaim the symbols of the rule which action triggered
7103       this YYABORT or YYACCEPT.  */
7104    YYPOPSTACK (yylen);
# Line 8257 | Line 7122 | yyreturn:
7122   }
7123  
7124  
8260

Diff Legend

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