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

Comparing:
ircd-hybrid-8/src/ircd_parser.c (file contents), Revision 1302 by michael, Wed Mar 21 17:48:54 2012 UTC vs.
ircd-hybrid-8/src/conf_parser.c (file contents), Revision 1460 by michael, Fri Jul 6 14:32:53 2012 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.5.  */
1 > /* A Bison parser, made by GNU Bison 2.5.1.  */
2  
3   /* Bison implementation for Yacc-like parsers in C
4    
5 <      Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
5 >      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
6    
7     This program is free software: you can redistribute it and/or modify
8     it under the terms of the GNU General Public License as published by
# Line 44 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.5"
47 > #define YYBISON_VERSION "2.5.1"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 66 | Line 66
66   /* Copy the first part of user declarations.  */
67  
68   /* Line 268 of yacc.c  */
69 < #line 25 "ircd_parser.y"
69 > #line 25 "conf_parser.y"
70  
71  
72   #define YY_NO_UNPUT
# Line 77 | Line 77
77   #include "stdinc.h"
78   #include "ircd.h"
79   #include "list.h"
80 < #include "s_conf.h"
80 > #include "conf.h"
81   #include "event.h"
82 < #include "s_log.h"
82 > #include "log.h"
83   #include "client.h"     /* for UMODE_ALL only */
84   #include "irc_string.h"
85   #include "sprintf_irc.h"
# Line 97 | Line 97
97   #include <openssl/rsa.h>
98   #include <openssl/bio.h>
99   #include <openssl/pem.h>
100 + #include <openssl/dh.h>
101   #endif
102  
103 + int yylex(void);
104 +
105   static char *class_name = NULL;
106   static struct ConfItem *yy_conf = NULL;
107   static struct AccessItem *yy_aconf = NULL;
# Line 107 | Line 110 | static struct ClassItem *yy_class = NULL
110   static char *yy_class_name = NULL;
111  
112   static dlink_list col_conf_list  = { NULL, NULL, 0 };
110 static dlink_list hub_conf_list  = { NULL, NULL, 0 };
111 static dlink_list leaf_conf_list = { NULL, NULL, 0 };
113   static unsigned int listener_flags = 0;
114   static unsigned int regex_ban = 0;
115   static char userbuf[IRCD_BUFSIZE];
# Line 149 | Line 150 | free_collect_item(struct CollectItem *it
150    MyFree(item);
151   }
152  
152 static void
153 unhook_hub_leaf_confs(void)
154 {
155  dlink_node *ptr;
156  dlink_node *next_ptr;
157  struct CollectItem *yy_hconf;
158  struct CollectItem *yy_lconf;
159
160  DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
161  {
162    yy_hconf = ptr->data;
163    dlinkDelete(&yy_hconf->node, &hub_conf_list);
164    free_collect_item(yy_hconf);
165  }
166
167  DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
168  {
169    yy_lconf = ptr->data;
170    dlinkDelete(&yy_lconf->node, &leaf_conf_list);
171    free_collect_item(yy_lconf);
172  }
173 }
174
153  
154  
155   /* Line 268 of yacc.c  */
156 < #line 179 "ircd_parser.c"
156 > #line 157 "conf_parser.c"
157 >
158 > # ifndef YY_NULL
159 > #  if defined __cplusplus && 201103L <= __cplusplus
160 > #   define YY_NULL nullptr
161 > #  else
162 > #   define YY_NULL 0
163 > #  endif
164 > # endif
165  
166   /* Enabling traces.  */
167   #ifndef YYDEBUG
# Line 212 | Line 198 | unhook_hub_leaf_confs(void)
198       AUTOCONN = 265,
199       T_BLOCK = 266,
200       BURST_AWAY = 267,
201 <     BURST_TOPICWHO = 268,
202 <     BYTES = 269,
203 <     KBYTES = 270,
204 <     MBYTES = 271,
205 <     GBYTES = 272,
206 <     TBYTES = 273,
207 <     CALLER_ID_WAIT = 274,
208 <     CAN_FLOOD = 275,
209 <     CHANNEL = 276,
210 <     CIDR_BITLEN_IPV4 = 277,
211 <     CIDR_BITLEN_IPV6 = 278,
212 <     CLASS = 279,
213 <     CONNECT = 280,
214 <     CONNECTFREQ = 281,
215 <     DEFAULT_FLOODCOUNT = 282,
216 <     DEFAULT_SPLIT_SERVER_COUNT = 283,
217 <     DEFAULT_SPLIT_USER_COUNT = 284,
218 <     DENY = 285,
219 <     DESCRIPTION = 286,
220 <     DIE = 287,
221 <     DISABLE_AUTH = 288,
222 <     DISABLE_FAKE_CHANNELS = 289,
223 <     DISABLE_HIDDEN = 290,
224 <     DISABLE_LOCAL_CHANNELS = 291,
225 <     DISABLE_REMOTE_COMMANDS = 292,
226 <     DOTS_IN_IDENT = 293,
227 <     DURATION = 294,
228 <     EGDPOOL_PATH = 295,
229 <     EMAIL = 296,
230 <     ENABLE = 297,
231 <     ENCRYPTED = 298,
232 <     EXCEED_LIMIT = 299,
233 <     EXEMPT = 300,
234 <     FAILED_OPER_NOTICE = 301,
235 <     IRCD_FLAGS = 302,
236 <     FLATTEN_LINKS = 303,
237 <     GECOS = 304,
238 <     GENERAL = 305,
239 <     GLINE = 306,
240 <     GLINES = 307,
201 >     BYTES = 268,
202 >     KBYTES = 269,
203 >     MBYTES = 270,
204 >     GBYTES = 271,
205 >     TBYTES = 272,
206 >     CALLER_ID_WAIT = 273,
207 >     CAN_FLOOD = 274,
208 >     CHANNEL = 275,
209 >     CIDR_BITLEN_IPV4 = 276,
210 >     CIDR_BITLEN_IPV6 = 277,
211 >     CLASS = 278,
212 >     CONNECT = 279,
213 >     CONNECTFREQ = 280,
214 >     DEFAULT_FLOODCOUNT = 281,
215 >     DEFAULT_SPLIT_SERVER_COUNT = 282,
216 >     DEFAULT_SPLIT_USER_COUNT = 283,
217 >     DENY = 284,
218 >     DESCRIPTION = 285,
219 >     DIE = 286,
220 >     DISABLE_AUTH = 287,
221 >     DISABLE_FAKE_CHANNELS = 288,
222 >     DISABLE_HIDDEN = 289,
223 >     DISABLE_LOCAL_CHANNELS = 290,
224 >     DISABLE_REMOTE_COMMANDS = 291,
225 >     DOTS_IN_IDENT = 292,
226 >     DURATION = 293,
227 >     EGDPOOL_PATH = 294,
228 >     EMAIL = 295,
229 >     ENABLE = 296,
230 >     ENCRYPTED = 297,
231 >     EXCEED_LIMIT = 298,
232 >     EXEMPT = 299,
233 >     FAILED_OPER_NOTICE = 300,
234 >     IRCD_FLAGS = 301,
235 >     FLATTEN_LINKS = 302,
236 >     GECOS = 303,
237 >     GENERAL = 304,
238 >     GLINE = 305,
239 >     GLINE_DURATION = 306,
240 >     GLINE_ENABLE = 307,
241       GLINE_EXEMPT = 308,
242       GLINE_TIME = 309,
243 <     GLINE_MIN_CIDR = 310,
244 <     GLINE_MIN_CIDR6 = 311,
245 <     GLOBAL_KILL = 312,
246 <     IRCD_AUTH = 313,
247 <     NEED_IDENT = 314,
248 <     HAVENT_READ_CONF = 315,
249 <     HIDDEN = 316,
250 <     HIDDEN_NAME = 317,
251 <     HIDE_SERVER_IPS = 318,
252 <     HIDE_SERVERS = 319,
253 <     HIDE_SPOOF_IPS = 320,
254 <     HOST = 321,
255 <     HUB = 322,
256 <     HUB_MASK = 323,
257 <     IGNORE_BOGUS_TS = 324,
258 <     INVISIBLE_ON_CONNECT = 325,
259 <     IP = 326,
260 <     KILL = 327,
261 <     KILL_CHASE_TIME_LIMIT = 328,
262 <     KLINE = 329,
263 <     KLINE_EXEMPT = 330,
264 <     KLINE_REASON = 331,
265 <     KLINE_WITH_REASON = 332,
266 <     KNOCK_DELAY = 333,
267 <     KNOCK_DELAY_CHANNEL = 334,
268 <     LEAF_MASK = 335,
269 <     LINKS_DELAY = 336,
270 <     LISTEN = 337,
271 <     T_LOG = 338,
272 <     MAX_ACCEPT = 339,
273 <     MAX_BANS = 340,
274 <     MAX_CHANS_PER_USER = 341,
275 <     MAX_GLOBAL = 342,
276 <     MAX_IDENT = 343,
277 <     MAX_LOCAL = 344,
278 <     MAX_NICK_CHANGES = 345,
279 <     MAX_NICK_TIME = 346,
280 <     MAX_NUMBER = 347,
281 <     MAX_TARGETS = 348,
282 <     MAX_WATCH = 349,
283 <     MESSAGE_LOCALE = 350,
284 <     MIN_NONWILDCARD = 351,
285 <     MIN_NONWILDCARD_SIMPLE = 352,
286 <     MODULE = 353,
287 <     MODULES = 354,
288 <     NAME = 355,
289 <     NEED_PASSWORD = 356,
290 <     NETWORK_DESC = 357,
291 <     NETWORK_NAME = 358,
292 <     NICK = 359,
293 <     NICK_CHANGES = 360,
294 <     NO_CREATE_ON_SPLIT = 361,
295 <     NO_JOIN_ON_SPLIT = 362,
296 <     NO_OPER_FLOOD = 363,
297 <     NO_TILDE = 364,
298 <     NUMBER = 365,
299 <     NUMBER_PER_IDENT = 366,
300 <     NUMBER_PER_CIDR = 367,
301 <     NUMBER_PER_IP = 368,
302 <     NUMBER_PER_IP_GLOBAL = 369,
303 <     OPERATOR = 370,
304 <     OPERS_BYPASS_CALLERID = 371,
305 <     OPER_ONLY_UMODES = 372,
306 <     OPER_PASS_RESV = 373,
307 <     OPER_SPY_T = 374,
308 <     OPER_UMODES = 375,
309 <     JOIN_FLOOD_COUNT = 376,
310 <     JOIN_FLOOD_TIME = 377,
311 <     PACE_WAIT = 378,
312 <     PACE_WAIT_SIMPLE = 379,
313 <     PASSWORD = 380,
314 <     PATH = 381,
315 <     PING_COOKIE = 382,
316 <     PING_TIME = 383,
317 <     PING_WARNING = 384,
318 <     PORT = 385,
319 <     QSTRING = 386,
320 <     QUIET_ON_BAN = 387,
321 <     REASON = 388,
322 <     REDIRPORT = 389,
323 <     REDIRSERV = 390,
324 <     REGEX_T = 391,
325 <     REHASH = 392,
326 <     TREJECT_HOLD_TIME = 393,
327 <     REMOTE = 394,
328 <     REMOTEBAN = 395,
329 <     RESTRICT_CHANNELS = 396,
330 <     RESTRICTED = 397,
331 <     RSA_PRIVATE_KEY_FILE = 398,
332 <     RSA_PUBLIC_KEY_FILE = 399,
333 <     SSL_CERTIFICATE_FILE = 400,
334 <     T_SSL_CONNECTION_METHOD = 401,
335 <     T_SSLV3 = 402,
336 <     T_TLSV1 = 403,
337 <     RESV = 404,
338 <     RESV_EXEMPT = 405,
339 <     SECONDS = 406,
340 <     MINUTES = 407,
341 <     HOURS = 408,
342 <     DAYS = 409,
343 <     WEEKS = 410,
344 <     SENDQ = 411,
345 <     SEND_PASSWORD = 412,
346 <     SERVERHIDE = 413,
347 <     SERVERINFO = 414,
348 <     IRCD_SID = 415,
349 <     TKLINE_EXPIRE_NOTICES = 416,
350 <     T_SHARED = 417,
351 <     T_CLUSTER = 418,
352 <     TYPE = 419,
353 <     SHORT_MOTD = 420,
354 <     SILENT = 421,
355 <     SPOOF = 422,
356 <     SPOOF_NOTICE = 423,
357 <     STATS_E_DISABLED = 424,
358 <     STATS_I_OPER_ONLY = 425,
359 <     STATS_K_OPER_ONLY = 426,
360 <     STATS_O_OPER_ONLY = 427,
361 <     STATS_P_OPER_ONLY = 428,
362 <     TBOOL = 429,
363 <     TMASKED = 430,
364 <     T_REJECT = 431,
365 <     TS_MAX_DELTA = 432,
366 <     TS_WARN_DELTA = 433,
367 <     TWODOTS = 434,
368 <     T_ALL = 435,
369 <     T_BOTS = 436,
370 <     T_SOFTCALLERID = 437,
371 <     T_CALLERID = 438,
372 <     T_CCONN = 439,
373 <     T_CCONN_FULL = 440,
374 <     T_CLIENT_FLOOD = 441,
375 <     T_DEAF = 442,
376 <     T_DEBUG = 443,
377 <     T_DLINE = 444,
378 <     T_DRONE = 445,
379 <     T_EXTERNAL = 446,
380 <     T_FULL = 447,
381 <     T_INVISIBLE = 448,
382 <     T_IPV4 = 449,
383 <     T_IPV6 = 450,
384 <     T_LOCOPS = 451,
385 <     T_MAX_CLIENTS = 452,
386 <     T_NCHANGE = 453,
387 <     T_OPERWALL = 454,
388 <     T_REJ = 455,
389 <     T_SERVER = 456,
390 <     T_SERVNOTICE = 457,
391 <     T_SKILL = 458,
392 <     T_SPY = 459,
393 <     T_SSL = 460,
394 <     T_UMODES = 461,
395 <     T_UNAUTH = 462,
396 <     T_UNDLINE = 463,
397 <     T_UNLIMITED = 464,
398 <     T_UNRESV = 465,
399 <     T_UNXLINE = 466,
400 <     T_GLOBOPS = 467,
401 <     T_WALLOP = 468,
402 <     T_RESTART = 469,
403 <     T_SERVICE = 470,
404 <     T_SERVICES_NAME = 471,
405 <     T_TIMESTAMP = 472,
406 <     THROTTLE_TIME = 473,
407 <     TOPICBURST = 474,
408 <     TRUE_NO_OPER_FLOOD = 475,
409 <     TKLINE = 476,
410 <     TXLINE = 477,
411 <     TRESV = 478,
412 <     UNKLINE = 479,
413 <     USER = 480,
414 <     USE_EGD = 481,
415 <     USE_EXCEPT = 482,
416 <     USE_INVEX = 483,
417 <     USE_KNOCK = 484,
418 <     USE_LOGGING = 485,
419 <     USE_WHOIS_ACTUALLY = 486,
420 <     VHOST = 487,
421 <     VHOST6 = 488,
422 <     XLINE = 489,
423 <     WARN = 490,
424 <     WARN_NO_NLINE = 491,
425 <     T_SIZE = 492,
426 <     T_FILE = 493
243 >     GLINE_REQUEST_DURATION = 310,
244 >     GLINE_MIN_CIDR = 311,
245 >     GLINE_MIN_CIDR6 = 312,
246 >     GLOBAL_KILL = 313,
247 >     IRCD_AUTH = 314,
248 >     NEED_IDENT = 315,
249 >     HAVENT_READ_CONF = 316,
250 >     HIDDEN = 317,
251 >     HIDDEN_NAME = 318,
252 >     HIDE_SERVER_IPS = 319,
253 >     HIDE_SERVERS = 320,
254 >     HIDE_SPOOF_IPS = 321,
255 >     HOST = 322,
256 >     HUB = 323,
257 >     HUB_MASK = 324,
258 >     IGNORE_BOGUS_TS = 325,
259 >     INVISIBLE_ON_CONNECT = 326,
260 >     IP = 327,
261 >     KILL = 328,
262 >     KILL_CHASE_TIME_LIMIT = 329,
263 >     KLINE = 330,
264 >     KLINE_EXEMPT = 331,
265 >     KLINE_REASON = 332,
266 >     KLINE_WITH_REASON = 333,
267 >     KNOCK_DELAY = 334,
268 >     KNOCK_DELAY_CHANNEL = 335,
269 >     LEAF_MASK = 336,
270 >     LINKS_DELAY = 337,
271 >     LISTEN = 338,
272 >     T_LOG = 339,
273 >     MAX_ACCEPT = 340,
274 >     MAX_BANS = 341,
275 >     MAX_CHANS_PER_OPER = 342,
276 >     MAX_CHANS_PER_USER = 343,
277 >     MAX_GLOBAL = 344,
278 >     MAX_IDENT = 345,
279 >     MAX_LOCAL = 346,
280 >     MAX_NICK_CHANGES = 347,
281 >     MAX_NICK_TIME = 348,
282 >     MAX_NUMBER = 349,
283 >     MAX_TARGETS = 350,
284 >     MAX_WATCH = 351,
285 >     MESSAGE_LOCALE = 352,
286 >     MIN_NONWILDCARD = 353,
287 >     MIN_NONWILDCARD_SIMPLE = 354,
288 >     MODULE = 355,
289 >     MODULES = 356,
290 >     NAME = 357,
291 >     NEED_PASSWORD = 358,
292 >     NETWORK_DESC = 359,
293 >     NETWORK_NAME = 360,
294 >     NICK = 361,
295 >     NICK_CHANGES = 362,
296 >     NO_CREATE_ON_SPLIT = 363,
297 >     NO_JOIN_ON_SPLIT = 364,
298 >     NO_OPER_FLOOD = 365,
299 >     NO_TILDE = 366,
300 >     NUMBER = 367,
301 >     NUMBER_PER_IDENT = 368,
302 >     NUMBER_PER_CIDR = 369,
303 >     NUMBER_PER_IP = 370,
304 >     NUMBER_PER_IP_GLOBAL = 371,
305 >     OPERATOR = 372,
306 >     OPERS_BYPASS_CALLERID = 373,
307 >     OPER_ONLY_UMODES = 374,
308 >     OPER_PASS_RESV = 375,
309 >     OPER_SPY_T = 376,
310 >     OPER_UMODES = 377,
311 >     JOIN_FLOOD_COUNT = 378,
312 >     JOIN_FLOOD_TIME = 379,
313 >     PACE_WAIT = 380,
314 >     PACE_WAIT_SIMPLE = 381,
315 >     PASSWORD = 382,
316 >     PATH = 383,
317 >     PING_COOKIE = 384,
318 >     PING_TIME = 385,
319 >     PING_WARNING = 386,
320 >     PORT = 387,
321 >     QSTRING = 388,
322 >     QUIET_ON_BAN = 389,
323 >     REASON = 390,
324 >     REDIRPORT = 391,
325 >     REDIRSERV = 392,
326 >     REGEX_T = 393,
327 >     REHASH = 394,
328 >     TREJECT_HOLD_TIME = 395,
329 >     REMOTE = 396,
330 >     REMOTEBAN = 397,
331 >     RESTRICT_CHANNELS = 398,
332 >     RESTRICTED = 399,
333 >     RSA_PRIVATE_KEY_FILE = 400,
334 >     RSA_PUBLIC_KEY_FILE = 401,
335 >     SSL_CERTIFICATE_FILE = 402,
336 >     SSL_DH_PARAM_FILE = 403,
337 >     T_SSL_CLIENT_METHOD = 404,
338 >     T_SSL_SERVER_METHOD = 405,
339 >     T_SSLV3 = 406,
340 >     T_TLSV1 = 407,
341 >     RESV = 408,
342 >     RESV_EXEMPT = 409,
343 >     SECONDS = 410,
344 >     MINUTES = 411,
345 >     HOURS = 412,
346 >     DAYS = 413,
347 >     WEEKS = 414,
348 >     SENDQ = 415,
349 >     SEND_PASSWORD = 416,
350 >     SERVERHIDE = 417,
351 >     SERVERINFO = 418,
352 >     IRCD_SID = 419,
353 >     TKLINE_EXPIRE_NOTICES = 420,
354 >     T_SHARED = 421,
355 >     T_CLUSTER = 422,
356 >     TYPE = 423,
357 >     SHORT_MOTD = 424,
358 >     SILENT = 425,
359 >     SPOOF = 426,
360 >     SPOOF_NOTICE = 427,
361 >     STATS_E_DISABLED = 428,
362 >     STATS_I_OPER_ONLY = 429,
363 >     STATS_K_OPER_ONLY = 430,
364 >     STATS_O_OPER_ONLY = 431,
365 >     STATS_P_OPER_ONLY = 432,
366 >     TBOOL = 433,
367 >     TMASKED = 434,
368 >     T_REJECT = 435,
369 >     TS_MAX_DELTA = 436,
370 >     TS_WARN_DELTA = 437,
371 >     TWODOTS = 438,
372 >     T_ALL = 439,
373 >     T_BOTS = 440,
374 >     T_SOFTCALLERID = 441,
375 >     T_CALLERID = 442,
376 >     T_CCONN = 443,
377 >     T_CCONN_FULL = 444,
378 >     T_SSL_CIPHER_LIST = 445,
379 >     T_CLIENT_FLOOD = 446,
380 >     T_DEAF = 447,
381 >     T_DEBUG = 448,
382 >     T_DLINE = 449,
383 >     T_DRONE = 450,
384 >     T_EXTERNAL = 451,
385 >     T_FULL = 452,
386 >     T_INVISIBLE = 453,
387 >     T_IPV4 = 454,
388 >     T_IPV6 = 455,
389 >     T_LOCOPS = 456,
390 >     T_MAX_CLIENTS = 457,
391 >     T_NCHANGE = 458,
392 >     T_OPERWALL = 459,
393 >     T_REJ = 460,
394 >     T_SERVER = 461,
395 >     T_SERVNOTICE = 462,
396 >     T_SET = 463,
397 >     T_SKILL = 464,
398 >     T_SPY = 465,
399 >     T_SSL = 466,
400 >     T_UMODES = 467,
401 >     T_UNAUTH = 468,
402 >     T_UNDLINE = 469,
403 >     T_UNLIMITED = 470,
404 >     T_UNRESV = 471,
405 >     T_UNXLINE = 472,
406 >     T_GLOBOPS = 473,
407 >     T_WALLOP = 474,
408 >     T_RESTART = 475,
409 >     T_SERVICE = 476,
410 >     T_SERVICES_NAME = 477,
411 >     THROTTLE_TIME = 478,
412 >     TOPICBURST = 479,
413 >     TRUE_NO_OPER_FLOOD = 480,
414 >     TKLINE = 481,
415 >     TXLINE = 482,
416 >     TRESV = 483,
417 >     UNKLINE = 484,
418 >     USER = 485,
419 >     USE_EGD = 486,
420 >     USE_EXCEPT = 487,
421 >     USE_INVEX = 488,
422 >     USE_KNOCK = 489,
423 >     USE_LOGGING = 490,
424 >     USE_WHOIS_ACTUALLY = 491,
425 >     VHOST = 492,
426 >     VHOST6 = 493,
427 >     XLINE = 494,
428 >     WARN = 495,
429 >     WARN_NO_NLINE = 496,
430 >     T_SIZE = 497,
431 >     T_FILE = 498
432     };
433   #endif
434   /* Tokens.  */
# Line 451 | Line 442 | unhook_hub_leaf_confs(void)
442   #define AUTOCONN 265
443   #define T_BLOCK 266
444   #define BURST_AWAY 267
445 < #define BURST_TOPICWHO 268
446 < #define BYTES 269
447 < #define KBYTES 270
448 < #define MBYTES 271
449 < #define GBYTES 272
450 < #define TBYTES 273
451 < #define CALLER_ID_WAIT 274
452 < #define CAN_FLOOD 275
453 < #define CHANNEL 276
454 < #define CIDR_BITLEN_IPV4 277
455 < #define CIDR_BITLEN_IPV6 278
456 < #define CLASS 279
457 < #define CONNECT 280
458 < #define CONNECTFREQ 281
459 < #define DEFAULT_FLOODCOUNT 282
460 < #define DEFAULT_SPLIT_SERVER_COUNT 283
461 < #define DEFAULT_SPLIT_USER_COUNT 284
462 < #define DENY 285
463 < #define DESCRIPTION 286
464 < #define DIE 287
465 < #define DISABLE_AUTH 288
466 < #define DISABLE_FAKE_CHANNELS 289
467 < #define DISABLE_HIDDEN 290
468 < #define DISABLE_LOCAL_CHANNELS 291
469 < #define DISABLE_REMOTE_COMMANDS 292
470 < #define DOTS_IN_IDENT 293
471 < #define DURATION 294
472 < #define EGDPOOL_PATH 295
473 < #define EMAIL 296
474 < #define ENABLE 297
475 < #define ENCRYPTED 298
476 < #define EXCEED_LIMIT 299
477 < #define EXEMPT 300
478 < #define FAILED_OPER_NOTICE 301
479 < #define IRCD_FLAGS 302
480 < #define FLATTEN_LINKS 303
481 < #define GECOS 304
482 < #define GENERAL 305
483 < #define GLINE 306
484 < #define GLINES 307
445 > #define BYTES 268
446 > #define KBYTES 269
447 > #define MBYTES 270
448 > #define GBYTES 271
449 > #define TBYTES 272
450 > #define CALLER_ID_WAIT 273
451 > #define CAN_FLOOD 274
452 > #define CHANNEL 275
453 > #define CIDR_BITLEN_IPV4 276
454 > #define CIDR_BITLEN_IPV6 277
455 > #define CLASS 278
456 > #define CONNECT 279
457 > #define CONNECTFREQ 280
458 > #define DEFAULT_FLOODCOUNT 281
459 > #define DEFAULT_SPLIT_SERVER_COUNT 282
460 > #define DEFAULT_SPLIT_USER_COUNT 283
461 > #define DENY 284
462 > #define DESCRIPTION 285
463 > #define DIE 286
464 > #define DISABLE_AUTH 287
465 > #define DISABLE_FAKE_CHANNELS 288
466 > #define DISABLE_HIDDEN 289
467 > #define DISABLE_LOCAL_CHANNELS 290
468 > #define DISABLE_REMOTE_COMMANDS 291
469 > #define DOTS_IN_IDENT 292
470 > #define DURATION 293
471 > #define EGDPOOL_PATH 294
472 > #define EMAIL 295
473 > #define ENABLE 296
474 > #define ENCRYPTED 297
475 > #define EXCEED_LIMIT 298
476 > #define EXEMPT 299
477 > #define FAILED_OPER_NOTICE 300
478 > #define IRCD_FLAGS 301
479 > #define FLATTEN_LINKS 302
480 > #define GECOS 303
481 > #define GENERAL 304
482 > #define GLINE 305
483 > #define GLINE_DURATION 306
484 > #define GLINE_ENABLE 307
485   #define GLINE_EXEMPT 308
486   #define GLINE_TIME 309
487 < #define GLINE_MIN_CIDR 310
488 < #define GLINE_MIN_CIDR6 311
489 < #define GLOBAL_KILL 312
490 < #define IRCD_AUTH 313
491 < #define NEED_IDENT 314
492 < #define HAVENT_READ_CONF 315
493 < #define HIDDEN 316
494 < #define HIDDEN_NAME 317
495 < #define HIDE_SERVER_IPS 318
496 < #define HIDE_SERVERS 319
497 < #define HIDE_SPOOF_IPS 320
498 < #define HOST 321
499 < #define HUB 322
500 < #define HUB_MASK 323
501 < #define IGNORE_BOGUS_TS 324
502 < #define INVISIBLE_ON_CONNECT 325
503 < #define IP 326
504 < #define KILL 327
505 < #define KILL_CHASE_TIME_LIMIT 328
506 < #define KLINE 329
507 < #define KLINE_EXEMPT 330
508 < #define KLINE_REASON 331
509 < #define KLINE_WITH_REASON 332
510 < #define KNOCK_DELAY 333
511 < #define KNOCK_DELAY_CHANNEL 334
512 < #define LEAF_MASK 335
513 < #define LINKS_DELAY 336
514 < #define LISTEN 337
515 < #define T_LOG 338
516 < #define MAX_ACCEPT 339
517 < #define MAX_BANS 340
518 < #define MAX_CHANS_PER_USER 341
519 < #define MAX_GLOBAL 342
520 < #define MAX_IDENT 343
521 < #define MAX_LOCAL 344
522 < #define MAX_NICK_CHANGES 345
523 < #define MAX_NICK_TIME 346
524 < #define MAX_NUMBER 347
525 < #define MAX_TARGETS 348
526 < #define MAX_WATCH 349
527 < #define MESSAGE_LOCALE 350
528 < #define MIN_NONWILDCARD 351
529 < #define MIN_NONWILDCARD_SIMPLE 352
530 < #define MODULE 353
531 < #define MODULES 354
532 < #define NAME 355
533 < #define NEED_PASSWORD 356
534 < #define NETWORK_DESC 357
535 < #define NETWORK_NAME 358
536 < #define NICK 359
537 < #define NICK_CHANGES 360
538 < #define NO_CREATE_ON_SPLIT 361
539 < #define NO_JOIN_ON_SPLIT 362
540 < #define NO_OPER_FLOOD 363
541 < #define NO_TILDE 364
542 < #define NUMBER 365
543 < #define NUMBER_PER_IDENT 366
544 < #define NUMBER_PER_CIDR 367
545 < #define NUMBER_PER_IP 368
546 < #define NUMBER_PER_IP_GLOBAL 369
547 < #define OPERATOR 370
548 < #define OPERS_BYPASS_CALLERID 371
549 < #define OPER_ONLY_UMODES 372
550 < #define OPER_PASS_RESV 373
551 < #define OPER_SPY_T 374
552 < #define OPER_UMODES 375
553 < #define JOIN_FLOOD_COUNT 376
554 < #define JOIN_FLOOD_TIME 377
555 < #define PACE_WAIT 378
556 < #define PACE_WAIT_SIMPLE 379
557 < #define PASSWORD 380
558 < #define PATH 381
559 < #define PING_COOKIE 382
560 < #define PING_TIME 383
561 < #define PING_WARNING 384
562 < #define PORT 385
563 < #define QSTRING 386
564 < #define QUIET_ON_BAN 387
565 < #define REASON 388
566 < #define REDIRPORT 389
567 < #define REDIRSERV 390
568 < #define REGEX_T 391
569 < #define REHASH 392
570 < #define TREJECT_HOLD_TIME 393
571 < #define REMOTE 394
572 < #define REMOTEBAN 395
573 < #define RESTRICT_CHANNELS 396
574 < #define RESTRICTED 397
575 < #define RSA_PRIVATE_KEY_FILE 398
576 < #define RSA_PUBLIC_KEY_FILE 399
577 < #define SSL_CERTIFICATE_FILE 400
578 < #define T_SSL_CONNECTION_METHOD 401
579 < #define T_SSLV3 402
580 < #define T_TLSV1 403
581 < #define RESV 404
582 < #define RESV_EXEMPT 405
583 < #define SECONDS 406
584 < #define MINUTES 407
585 < #define HOURS 408
586 < #define DAYS 409
587 < #define WEEKS 410
588 < #define SENDQ 411
589 < #define SEND_PASSWORD 412
590 < #define SERVERHIDE 413
591 < #define SERVERINFO 414
592 < #define IRCD_SID 415
593 < #define TKLINE_EXPIRE_NOTICES 416
594 < #define T_SHARED 417
595 < #define T_CLUSTER 418
596 < #define TYPE 419
597 < #define SHORT_MOTD 420
598 < #define SILENT 421
599 < #define SPOOF 422
600 < #define SPOOF_NOTICE 423
601 < #define STATS_E_DISABLED 424
602 < #define STATS_I_OPER_ONLY 425
603 < #define STATS_K_OPER_ONLY 426
604 < #define STATS_O_OPER_ONLY 427
605 < #define STATS_P_OPER_ONLY 428
606 < #define TBOOL 429
607 < #define TMASKED 430
608 < #define T_REJECT 431
609 < #define TS_MAX_DELTA 432
610 < #define TS_WARN_DELTA 433
611 < #define TWODOTS 434
612 < #define T_ALL 435
613 < #define T_BOTS 436
614 < #define T_SOFTCALLERID 437
615 < #define T_CALLERID 438
616 < #define T_CCONN 439
617 < #define T_CCONN_FULL 440
618 < #define T_CLIENT_FLOOD 441
619 < #define T_DEAF 442
620 < #define T_DEBUG 443
621 < #define T_DLINE 444
622 < #define T_DRONE 445
623 < #define T_EXTERNAL 446
624 < #define T_FULL 447
625 < #define T_INVISIBLE 448
626 < #define T_IPV4 449
627 < #define T_IPV6 450
628 < #define T_LOCOPS 451
629 < #define T_MAX_CLIENTS 452
630 < #define T_NCHANGE 453
631 < #define T_OPERWALL 454
632 < #define T_REJ 455
633 < #define T_SERVER 456
634 < #define T_SERVNOTICE 457
635 < #define T_SKILL 458
636 < #define T_SPY 459
637 < #define T_SSL 460
638 < #define T_UMODES 461
639 < #define T_UNAUTH 462
640 < #define T_UNDLINE 463
641 < #define T_UNLIMITED 464
642 < #define T_UNRESV 465
643 < #define T_UNXLINE 466
644 < #define T_GLOBOPS 467
645 < #define T_WALLOP 468
646 < #define T_RESTART 469
647 < #define T_SERVICE 470
648 < #define T_SERVICES_NAME 471
649 < #define T_TIMESTAMP 472
650 < #define THROTTLE_TIME 473
651 < #define TOPICBURST 474
652 < #define TRUE_NO_OPER_FLOOD 475
653 < #define TKLINE 476
654 < #define TXLINE 477
655 < #define TRESV 478
656 < #define UNKLINE 479
657 < #define USER 480
658 < #define USE_EGD 481
659 < #define USE_EXCEPT 482
660 < #define USE_INVEX 483
661 < #define USE_KNOCK 484
662 < #define USE_LOGGING 485
663 < #define USE_WHOIS_ACTUALLY 486
664 < #define VHOST 487
665 < #define VHOST6 488
666 < #define XLINE 489
667 < #define WARN 490
668 < #define WARN_NO_NLINE 491
669 < #define T_SIZE 492
670 < #define T_FILE 493
487 > #define GLINE_REQUEST_DURATION 310
488 > #define GLINE_MIN_CIDR 311
489 > #define GLINE_MIN_CIDR6 312
490 > #define GLOBAL_KILL 313
491 > #define IRCD_AUTH 314
492 > #define NEED_IDENT 315
493 > #define HAVENT_READ_CONF 316
494 > #define HIDDEN 317
495 > #define HIDDEN_NAME 318
496 > #define HIDE_SERVER_IPS 319
497 > #define HIDE_SERVERS 320
498 > #define HIDE_SPOOF_IPS 321
499 > #define HOST 322
500 > #define HUB 323
501 > #define HUB_MASK 324
502 > #define IGNORE_BOGUS_TS 325
503 > #define INVISIBLE_ON_CONNECT 326
504 > #define IP 327
505 > #define KILL 328
506 > #define KILL_CHASE_TIME_LIMIT 329
507 > #define KLINE 330
508 > #define KLINE_EXEMPT 331
509 > #define KLINE_REASON 332
510 > #define KLINE_WITH_REASON 333
511 > #define KNOCK_DELAY 334
512 > #define KNOCK_DELAY_CHANNEL 335
513 > #define LEAF_MASK 336
514 > #define LINKS_DELAY 337
515 > #define LISTEN 338
516 > #define T_LOG 339
517 > #define MAX_ACCEPT 340
518 > #define MAX_BANS 341
519 > #define MAX_CHANS_PER_OPER 342
520 > #define MAX_CHANS_PER_USER 343
521 > #define MAX_GLOBAL 344
522 > #define MAX_IDENT 345
523 > #define MAX_LOCAL 346
524 > #define MAX_NICK_CHANGES 347
525 > #define MAX_NICK_TIME 348
526 > #define MAX_NUMBER 349
527 > #define MAX_TARGETS 350
528 > #define MAX_WATCH 351
529 > #define MESSAGE_LOCALE 352
530 > #define MIN_NONWILDCARD 353
531 > #define MIN_NONWILDCARD_SIMPLE 354
532 > #define MODULE 355
533 > #define MODULES 356
534 > #define NAME 357
535 > #define NEED_PASSWORD 358
536 > #define NETWORK_DESC 359
537 > #define NETWORK_NAME 360
538 > #define NICK 361
539 > #define NICK_CHANGES 362
540 > #define NO_CREATE_ON_SPLIT 363
541 > #define NO_JOIN_ON_SPLIT 364
542 > #define NO_OPER_FLOOD 365
543 > #define NO_TILDE 366
544 > #define NUMBER 367
545 > #define NUMBER_PER_IDENT 368
546 > #define NUMBER_PER_CIDR 369
547 > #define NUMBER_PER_IP 370
548 > #define NUMBER_PER_IP_GLOBAL 371
549 > #define OPERATOR 372
550 > #define OPERS_BYPASS_CALLERID 373
551 > #define OPER_ONLY_UMODES 374
552 > #define OPER_PASS_RESV 375
553 > #define OPER_SPY_T 376
554 > #define OPER_UMODES 377
555 > #define JOIN_FLOOD_COUNT 378
556 > #define JOIN_FLOOD_TIME 379
557 > #define PACE_WAIT 380
558 > #define PACE_WAIT_SIMPLE 381
559 > #define PASSWORD 382
560 > #define PATH 383
561 > #define PING_COOKIE 384
562 > #define PING_TIME 385
563 > #define PING_WARNING 386
564 > #define PORT 387
565 > #define QSTRING 388
566 > #define QUIET_ON_BAN 389
567 > #define REASON 390
568 > #define REDIRPORT 391
569 > #define REDIRSERV 392
570 > #define REGEX_T 393
571 > #define REHASH 394
572 > #define TREJECT_HOLD_TIME 395
573 > #define REMOTE 396
574 > #define REMOTEBAN 397
575 > #define RESTRICT_CHANNELS 398
576 > #define RESTRICTED 399
577 > #define RSA_PRIVATE_KEY_FILE 400
578 > #define RSA_PUBLIC_KEY_FILE 401
579 > #define SSL_CERTIFICATE_FILE 402
580 > #define SSL_DH_PARAM_FILE 403
581 > #define T_SSL_CLIENT_METHOD 404
582 > #define T_SSL_SERVER_METHOD 405
583 > #define T_SSLV3 406
584 > #define T_TLSV1 407
585 > #define RESV 408
586 > #define RESV_EXEMPT 409
587 > #define SECONDS 410
588 > #define MINUTES 411
589 > #define HOURS 412
590 > #define DAYS 413
591 > #define WEEKS 414
592 > #define SENDQ 415
593 > #define SEND_PASSWORD 416
594 > #define SERVERHIDE 417
595 > #define SERVERINFO 418
596 > #define IRCD_SID 419
597 > #define TKLINE_EXPIRE_NOTICES 420
598 > #define T_SHARED 421
599 > #define T_CLUSTER 422
600 > #define TYPE 423
601 > #define SHORT_MOTD 424
602 > #define SILENT 425
603 > #define SPOOF 426
604 > #define SPOOF_NOTICE 427
605 > #define STATS_E_DISABLED 428
606 > #define STATS_I_OPER_ONLY 429
607 > #define STATS_K_OPER_ONLY 430
608 > #define STATS_O_OPER_ONLY 431
609 > #define STATS_P_OPER_ONLY 432
610 > #define TBOOL 433
611 > #define TMASKED 434
612 > #define T_REJECT 435
613 > #define TS_MAX_DELTA 436
614 > #define TS_WARN_DELTA 437
615 > #define TWODOTS 438
616 > #define T_ALL 439
617 > #define T_BOTS 440
618 > #define T_SOFTCALLERID 441
619 > #define T_CALLERID 442
620 > #define T_CCONN 443
621 > #define T_CCONN_FULL 444
622 > #define T_SSL_CIPHER_LIST 445
623 > #define T_CLIENT_FLOOD 446
624 > #define T_DEAF 447
625 > #define T_DEBUG 448
626 > #define T_DLINE 449
627 > #define T_DRONE 450
628 > #define T_EXTERNAL 451
629 > #define T_FULL 452
630 > #define T_INVISIBLE 453
631 > #define T_IPV4 454
632 > #define T_IPV6 455
633 > #define T_LOCOPS 456
634 > #define T_MAX_CLIENTS 457
635 > #define T_NCHANGE 458
636 > #define T_OPERWALL 459
637 > #define T_REJ 460
638 > #define T_SERVER 461
639 > #define T_SERVNOTICE 462
640 > #define T_SET 463
641 > #define T_SKILL 464
642 > #define T_SPY 465
643 > #define T_SSL 466
644 > #define T_UMODES 467
645 > #define T_UNAUTH 468
646 > #define T_UNDLINE 469
647 > #define T_UNLIMITED 470
648 > #define T_UNRESV 471
649 > #define T_UNXLINE 472
650 > #define T_GLOBOPS 473
651 > #define T_WALLOP 474
652 > #define T_RESTART 475
653 > #define T_SERVICE 476
654 > #define T_SERVICES_NAME 477
655 > #define THROTTLE_TIME 478
656 > #define TOPICBURST 479
657 > #define TRUE_NO_OPER_FLOOD 480
658 > #define TKLINE 481
659 > #define TXLINE 482
660 > #define TRESV 483
661 > #define UNKLINE 484
662 > #define USER 485
663 > #define USE_EGD 486
664 > #define USE_EXCEPT 487
665 > #define USE_INVEX 488
666 > #define USE_KNOCK 489
667 > #define USE_LOGGING 490
668 > #define USE_WHOIS_ACTUALLY 491
669 > #define VHOST 492
670 > #define VHOST6 493
671 > #define XLINE 494
672 > #define WARN 495
673 > #define WARN_NO_NLINE 496
674 > #define T_SIZE 497
675 > #define T_FILE 498
676  
677  
678  
# Line 685 | Line 681 | unhook_hub_leaf_confs(void)
681   typedef union YYSTYPE
682   {
683  
684 < /* Line 293 of yacc.c  */
685 < #line 132 "ircd_parser.y"
684 > /* Line 295 of yacc.c  */
685 > #line 110 "conf_parser.y"
686  
687    int number;
688    char *string;
689  
690  
691  
692 < /* Line 293 of yacc.c  */
693 < #line 698 "ircd_parser.c"
692 > /* Line 295 of yacc.c  */
693 > #line 694 "conf_parser.c"
694   } YYSTYPE;
695   # define YYSTYPE_IS_TRIVIAL 1
696   # define yystype YYSTYPE /* obsolescent; will be withdrawn */
# Line 705 | Line 701 | typedef union YYSTYPE
701   /* Copy the second part of user declarations.  */
702  
703  
704 < /* Line 343 of yacc.c  */
705 < #line 710 "ircd_parser.c"
704 > /* Line 345 of yacc.c  */
705 > #line 706 "conf_parser.c"
706  
707   #ifdef short
708   # undef short
# Line 812 | Line 808 | YYID (yyi)
808   #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
809       || defined __cplusplus || defined _MSC_VER)
810   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
811 +      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
812   #     ifndef EXIT_SUCCESS
813   #      define EXIT_SUCCESS 0
814   #     endif
# Line 903 | Line 900 | union yyalloc
900   #endif
901  
902   #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
903 < /* Copy COUNT objects from FROM to TO.  The source and destination do
903 > /* Copy COUNT objects from SRC to DST.  The source and destination do
904     not overlap.  */
905   # ifndef YYCOPY
906   #  if defined __GNUC__ && 1 < __GNUC__
907 < #   define YYCOPY(To, From, Count) \
908 <      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
907 > #   define YYCOPY(Dst, Src, Count) \
908 >      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
909   #  else
910 < #   define YYCOPY(To, From, Count)              \
911 <      do                                        \
912 <        {                                       \
913 <          YYSIZE_T yyi;                         \
914 <          for (yyi = 0; yyi < (Count); yyi++)   \
915 <            (To)[yyi] = (From)[yyi];            \
916 <        }                                       \
910 > #   define YYCOPY(Dst, Src, Count)              \
911 >      do                                        \
912 >        {                                       \
913 >          YYSIZE_T yyi;                         \
914 >          for (yyi = 0; yyi < (Count); yyi++)   \
915 >            (Dst)[yyi] = (Src)[yyi];            \
916 >        }                                       \
917        while (YYID (0))
918   #  endif
919   # endif
# Line 925 | Line 922 | union yyalloc
922   /* YYFINAL -- State number of the termination state.  */
923   #define YYFINAL  2
924   /* YYLAST -- Last index in YYTABLE.  */
925 < #define YYLAST   1207
925 > #define YYLAST   1259
926  
927   /* YYNTOKENS -- Number of terminals.  */
928 < #define YYNTOKENS  244
928 > #define YYNTOKENS  249
929   /* YYNNTS -- Number of nonterminals.  */
930 < #define YYNNTS  301
930 > #define YYNNTS  292
931   /* YYNRULES -- Number of rules.  */
932 < #define YYNRULES  658
932 > #define YYNRULES  647
933   /* YYNRULES -- Number of states.  */
934 < #define YYNSTATES  1291
934 > #define YYNSTATES  1275
935  
936   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
937   #define YYUNDEFTOK  2
938 < #define YYMAXUTOK   493
938 > #define YYMAXUTOK   498
939  
940   #define YYTRANSLATE(YYX)                                                \
941    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 950 | Line 947 | static const yytype_uint8 yytranslate[]
947         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
948         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
949         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
950 <       2,     2,     2,     2,   243,     2,     2,     2,     2,     2,
951 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   239,
952 <       2,   242,     2,     2,     2,     2,     2,     2,     2,     2,
950 >       2,     2,     2,     2,   248,     2,     2,     2,     2,     2,
951 >       2,     2,     2,     2,     2,     2,     2,     2,     2,   244,
952 >       2,   247,     2,     2,     2,     2,     2,     2,     2,     2,
953         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
954         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
955         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
956         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
957         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
958 <       2,     2,     2,   241,     2,   240,     2,     2,     2,     2,
958 >       2,     2,     2,   246,     2,   245,     2,     2,     2,     2,
959         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
960         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
961         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 995 | Line 992 | static const yytype_uint8 yytranslate[]
992       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
993       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
994       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
995 <     235,   236,   237,   238
995 >     235,   236,   237,   238,   239,   240,   241,   242,   243
996   };
997  
998   #if YYDEBUG
# Line 1005 | Line 1002 | static const yytype_uint16 yyprhs[] =
1002   {
1003         0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
1004        19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
1005 <      39,    41,    43,    45,    47,    49,    52,    55,    56,    58,
1006 <      61,    65,    69,    73,    77,    81,    82,    84,    87,    91,
1007 <      95,    99,   105,   108,   110,   112,   114,   117,   122,   127,
1008 <     133,   136,   138,   140,   142,   144,   146,   148,   150,   152,
1009 <     154,   156,   158,   160,   162,   165,   166,   172,   176,   178,
1010 <     180,   182,   187,   192,   197,   202,   207,   212,   217,   222,
1011 <     227,   232,   237,   243,   246,   248,   250,   252,   254,   257,
1012 <     262,   267,   272,   278,   281,   283,   285,   287,   289,   292,
1013 <     297,   302,   303,   310,   313,   315,   317,   319,   321,   324,
1014 <     329,   334,   339,   340,   346,   350,   352,   354,   356,   358,
1015 <     360,   362,   364,   366,   367,   374,   377,   379,   381,   383,
1016 <     385,   387,   389,   391,   393,   395,   398,   403,   408,   413,
1017 <     418,   423,   428,   429,   435,   439,   441,   443,   445,   447,
1018 <     449,   451,   453,   455,   457,   459,   461,   463,   465,   467,
1019 <     469,   471,   473,   475,   477,   479,   481,   482,   488,   492,
1020 <     494,   496,   498,   500,   502,   504,   506,   508,   510,   512,
1021 <     514,   516,   518,   520,   522,   524,   526,   528,   530,   531,
1022 <     538,   541,   543,   545,   547,   549,   551,   553,   555,   557,
1023 <     559,   561,   563,   565,   567,   569,   572,   577,   582,   587,
1024 <     592,   597,   602,   607,   612,   617,   622,   627,   632,   637,
1025 <     638,   645,   646,   652,   656,   658,   660,   662,   664,   667,
1026 <     669,   671,   673,   675,   677,   680,   681,   687,   691,   693,
1027 <     695,   699,   704,   709,   710,   717,   720,   722,   724,   726,
1028 <     728,   730,   732,   734,   736,   738,   741,   746,   751,   756,
1029 <     761,   762,   768,   772,   774,   776,   778,   780,   782,   784,
1030 <     786,   788,   790,   792,   797,   802,   807,   808,   815,   818,
1031 <     820,   822,   824,   826,   829,   834,   839,   844,   850,   853,
1032 <     855,   857,   859,   864,   865,   872,   875,   877,   879,   881,
1033 <     883,   886,   891,   896,   897,   903,   907,   909,   911,   913,
1034 <     915,   917,   919,   921,   923,   925,   927,   929,   930,   937,
1035 <     940,   942,   944,   946,   949,   954,   955,   961,   965,   967,
1036 <     969,   971,   973,   975,   977,   979,   981,   983,   985,   987,
1037 <     988,   995,   998,  1000,  1002,  1004,  1006,  1008,  1010,  1012,
1038 <    1014,  1016,  1018,  1020,  1022,  1024,  1027,  1032,  1037,  1042,
1039 <    1047,  1052,  1057,  1062,  1067,  1068,  1074,  1078,  1080,  1082,
1040 <    1084,  1086,  1091,  1096,  1101,  1106,  1107,  1114,  1115,  1121,
1041 <    1125,  1127,  1129,  1132,  1134,  1136,  1138,  1140,  1142,  1147,
1042 <    1152,  1153,  1160,  1163,  1165,  1167,  1169,  1171,  1176,  1181,
1043 <    1187,  1190,  1192,  1194,  1196,  1201,  1202,  1209,  1210,  1216,
1044 <    1220,  1222,  1224,  1227,  1229,  1231,  1233,  1235,  1237,  1242,
1045 <    1247,  1253,  1256,  1258,  1260,  1262,  1264,  1266,  1268,  1270,
1046 <    1272,  1274,  1276,  1278,  1280,  1282,  1284,  1286,  1288,  1290,
1047 <    1292,  1294,  1296,  1298,  1300,  1302,  1304,  1306,  1308,  1310,
1048 <    1312,  1314,  1316,  1318,  1320,  1322,  1324,  1326,  1328,  1330,
1049 <    1332,  1334,  1336,  1338,  1340,  1342,  1344,  1346,  1348,  1350,
1050 <    1352,  1354,  1356,  1358,  1360,  1362,  1367,  1372,  1377,  1382,
1051 <    1387,  1392,  1397,  1402,  1407,  1412,  1417,  1422,  1427,  1432,
1052 <    1437,  1442,  1447,  1452,  1457,  1462,  1467,  1472,  1477,  1482,
1053 <    1487,  1492,  1497,  1502,  1507,  1512,  1517,  1522,  1527,  1532,
1054 <    1537,  1542,  1547,  1552,  1557,  1562,  1567,  1572,  1577,  1582,
1055 <    1587,  1592,  1597,  1598,  1604,  1608,  1610,  1612,  1614,  1616,
1056 <    1618,  1620,  1622,  1624,  1626,  1628,  1630,  1632,  1634,  1636,
1057 <    1638,  1640,  1642,  1644,  1646,  1648,  1650,  1651,  1657,  1661,
1058 <    1663,  1665,  1667,  1669,  1671,  1673,  1675,  1677,  1679,  1681,
1059 <    1683,  1685,  1687,  1689,  1691,  1693,  1695,  1697,  1699,  1701,
1060 <    1703,  1708,  1713,  1718,  1723,  1724,  1731,  1734,  1736,  1738,
1061 <    1740,  1742,  1744,  1746,  1748,  1750,  1755,  1760,  1761,  1767,
1062 <    1771,  1773,  1775,  1777,  1782,  1787,  1788,  1794,  1798,  1800,
1063 <    1802,  1804,  1810,  1813,  1815,  1817,  1819,  1821,  1823,  1825,
1064 <    1827,  1829,  1831,  1833,  1835,  1837,  1839,  1841,  1843,  1845,
1065 <    1847,  1849,  1851,  1853,  1858,  1863,  1868,  1873,  1878,  1883,
1066 <    1888,  1893,  1898,  1903,  1908,  1913,  1918,  1923,  1928,  1933,
1067 <    1938,  1943,  1949,  1952,  1954,  1956,  1958,  1960,  1962,  1964,
1071 <    1966,  1968,  1970,  1975,  1980,  1985,  1990,  1995,  2000
1005 >      39,    41,    43,    45,    47,    50,    53,    54,    56,    59,
1006 >      63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
1007 >      97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
1008 >     134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
1009 >     154,   156,   158,   160,   162,   164,   166,   169,   174,   179,
1010 >     183,   185,   187,   189,   193,   195,   197,   199,   204,   209,
1011 >     214,   219,   224,   229,   234,   239,   244,   249,   254,   259,
1012 >     264,   270,   273,   275,   277,   279,   281,   284,   289,   294,
1013 >     299,   305,   308,   310,   312,   314,   317,   322,   323,   330,
1014 >     333,   335,   337,   339,   341,   344,   349,   354,   359,   360,
1015 >     366,   370,   372,   374,   376,   378,   380,   382,   384,   386,
1016 >     387,   394,   397,   399,   401,   403,   405,   407,   409,   411,
1017 >     413,   415,   418,   423,   428,   433,   438,   443,   448,   449,
1018 >     455,   459,   461,   463,   465,   467,   469,   471,   473,   475,
1019 >     477,   479,   481,   483,   485,   487,   489,   491,   493,   495,
1020 >     497,   499,   501,   502,   508,   512,   514,   516,   518,   520,
1021 >     522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
1022 >     542,   544,   546,   548,   550,   552,   553,   560,   563,   565,
1023 >     567,   569,   571,   573,   575,   577,   579,   581,   583,   585,
1024 >     587,   589,   591,   594,   599,   604,   609,   614,   619,   624,
1025 >     629,   634,   639,   644,   649,   654,   659,   660,   667,   668,
1026 >     674,   678,   680,   682,   684,   686,   689,   691,   693,   695,
1027 >     697,   699,   702,   703,   709,   713,   715,   717,   721,   726,
1028 >     731,   732,   739,   742,   744,   746,   748,   750,   752,   754,
1029 >     756,   758,   760,   763,   768,   773,   778,   783,   784,   790,
1030 >     794,   796,   798,   800,   802,   804,   806,   808,   810,   812,
1031 >     814,   819,   824,   829,   830,   837,   840,   842,   844,   846,
1032 >     848,   851,   856,   861,   866,   872,   875,   877,   879,   881,
1033 >     886,   887,   894,   897,   899,   901,   903,   905,   908,   913,
1034 >     918,   919,   925,   929,   931,   933,   935,   937,   939,   941,
1035 >     943,   945,   947,   949,   951,   952,   959,   962,   964,   966,
1036 >     968,   971,   976,   977,   983,   987,   989,   991,   993,   995,
1037 >     997,   999,  1001,  1003,  1005,  1007,  1009,  1010,  1017,  1020,
1038 >    1022,  1024,  1026,  1028,  1030,  1032,  1034,  1036,  1038,  1040,
1039 >    1042,  1044,  1046,  1048,  1051,  1056,  1061,  1066,  1071,  1076,
1040 >    1081,  1086,  1091,  1092,  1098,  1102,  1104,  1106,  1108,  1110,
1041 >    1112,  1117,  1122,  1127,  1132,  1137,  1138,  1145,  1146,  1152,
1042 >    1156,  1158,  1160,  1163,  1165,  1167,  1169,  1171,  1173,  1178,
1043 >    1183,  1184,  1191,  1194,  1196,  1198,  1200,  1202,  1207,  1212,
1044 >    1218,  1221,  1223,  1225,  1227,  1232,  1233,  1240,  1241,  1247,
1045 >    1251,  1253,  1255,  1258,  1260,  1262,  1264,  1266,  1268,  1273,
1046 >    1278,  1284,  1287,  1289,  1291,  1293,  1295,  1297,  1299,  1301,
1047 >    1303,  1305,  1307,  1309,  1311,  1313,  1315,  1317,  1319,  1321,
1048 >    1323,  1325,  1327,  1329,  1331,  1333,  1335,  1337,  1339,  1341,
1049 >    1343,  1345,  1347,  1349,  1351,  1353,  1355,  1357,  1359,  1361,
1050 >    1363,  1365,  1367,  1369,  1371,  1373,  1375,  1377,  1379,  1381,
1051 >    1383,  1385,  1387,  1389,  1391,  1393,  1395,  1397,  1399,  1404,
1052 >    1409,  1414,  1419,  1424,  1429,  1434,  1439,  1444,  1449,  1454,
1053 >    1459,  1464,  1469,  1474,  1479,  1484,  1489,  1494,  1499,  1504,
1054 >    1509,  1514,  1519,  1524,  1529,  1534,  1539,  1544,  1549,  1554,
1055 >    1559,  1564,  1569,  1574,  1579,  1584,  1589,  1594,  1599,  1604,
1056 >    1609,  1614,  1619,  1624,  1629,  1634,  1639,  1644,  1649,  1650,
1057 >    1656,  1660,  1662,  1664,  1666,  1668,  1670,  1672,  1674,  1676,
1058 >    1678,  1680,  1682,  1684,  1686,  1688,  1690,  1692,  1694,  1696,
1059 >    1698,  1700,  1702,  1703,  1709,  1713,  1715,  1717,  1719,  1721,
1060 >    1723,  1725,  1727,  1729,  1731,  1733,  1735,  1737,  1739,  1741,
1061 >    1743,  1745,  1747,  1749,  1751,  1753,  1755,  1760,  1765,  1770,
1062 >    1775,  1781,  1784,  1786,  1788,  1790,  1792,  1794,  1796,  1798,
1063 >    1800,  1802,  1804,  1806,  1808,  1810,  1812,  1814,  1816,  1818,
1064 >    1820,  1822,  1824,  1829,  1834,  1839,  1844,  1849,  1854,  1859,
1065 >    1864,  1869,  1874,  1879,  1884,  1889,  1894,  1899,  1904,  1909,
1066 >    1914,  1920,  1923,  1925,  1927,  1929,  1931,  1933,  1935,  1937,
1067 >    1939,  1941,  1946,  1951,  1956,  1961,  1966,  1971
1068   };
1069  
1070   /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1071   static const yytype_int16 yyrhs[] =
1072   {
1073 <     245,     0,    -1,    -1,   245,   246,    -1,   274,    -1,   280,
1074 <      -1,   295,    -1,   514,    -1,   313,    -1,   330,    -1,   344,
1075 <      -1,   256,    -1,   535,    -1,   359,    -1,   366,    -1,   370,
1076 <      -1,   380,    -1,   389,    -1,   408,    -1,   418,    -1,   424,
1077 <      -1,   438,    -1,   498,    -1,   428,    -1,   251,    -1,     1,
1078 <     239,    -1,     1,   240,    -1,    -1,   248,    -1,   110,   247,
1079 <      -1,   110,   151,   247,    -1,   110,   152,   247,    -1,   110,
1080 <     153,   247,    -1,   110,   154,   247,    -1,   110,   155,   247,
1081 <      -1,    -1,   250,    -1,   110,   249,    -1,   110,    14,   249,
1082 <      -1,   110,    15,   249,    -1,   110,    16,   249,    -1,    99,
1083 <     241,   252,   240,   239,    -1,   252,   253,    -1,   253,    -1,
1084 <     254,    -1,   255,    -1,     1,   239,    -1,    98,   242,   131,
1085 <     239,    -1,   126,   242,   131,   239,    -1,   159,   241,   257,
1086 <     240,   239,    -1,   257,   258,    -1,   258,    -1,   265,    -1,
1087 <     270,    -1,   273,    -1,   267,    -1,   268,    -1,   269,    -1,
1088 <     272,    -1,   264,    -1,   271,    -1,   266,    -1,   263,    -1,
1089 <     259,    -1,     1,   239,    -1,    -1,   146,   260,   242,   261,
1090 <     239,    -1,   261,   243,   262,    -1,   262,    -1,   147,    -1,
1091 <     148,    -1,   145,   242,   131,   239,    -1,   143,   242,   131,
1092 <     239,    -1,   100,   242,   131,   239,    -1,   160,   242,   131,
1093 <     239,    -1,    31,   242,   131,   239,    -1,   103,   242,   131,
1094 <     239,    -1,   102,   242,   131,   239,    -1,   232,   242,   131,
1095 <     239,    -1,   233,   242,   131,   239,    -1,   197,   242,   110,
1096 <     239,    -1,    67,   242,   174,   239,    -1,     5,   241,   275,
1097 <     240,   239,    -1,   275,   276,    -1,   276,    -1,   277,    -1,
1098 <     279,    -1,   278,    -1,     1,   239,    -1,   100,   242,   131,
1099 <     239,    -1,    41,   242,   131,   239,    -1,    31,   242,   131,
1100 <     239,    -1,    83,   241,   281,   240,   239,    -1,   281,   282,
1101 <      -1,   282,    -1,   283,    -1,   284,    -1,   285,    -1,     1,
1102 <     239,    -1,   230,   242,   174,   239,    -1,   217,   242,   174,
1103 <     239,    -1,    -1,   286,   238,   241,   287,   240,   239,    -1,
1104 <     287,   288,    -1,   288,    -1,   289,    -1,   291,    -1,   290,
1105 <      -1,     1,   239,    -1,   100,   242,   131,   239,    -1,   237,
1106 <     242,   250,   239,    -1,   237,   242,   209,   239,    -1,    -1,
1107 <     164,   292,   242,   293,   239,    -1,   293,   243,   294,    -1,
1108 <     294,    -1,   225,    -1,   115,    -1,    51,    -1,   189,    -1,
1109 <      74,    -1,    72,    -1,   188,    -1,    -1,   115,   296,   241,
1110 <     297,   240,   239,    -1,   297,   298,    -1,   298,    -1,   299,
1111 <      -1,   300,    -1,   301,    -1,   305,    -1,   304,    -1,   302,
1112 <      -1,   303,    -1,   309,    -1,     1,   239,    -1,   100,   242,
1113 <     131,   239,    -1,   225,   242,   131,   239,    -1,   125,   242,
1114 <     131,   239,    -1,    43,   242,   174,   239,    -1,   144,   242,
1115 <     131,   239,    -1,    24,   242,   131,   239,    -1,    -1,   206,
1116 <     306,   242,   307,   239,    -1,   307,   243,   308,    -1,   308,
1117 <      -1,   181,    -1,   184,    -1,   185,    -1,   187,    -1,   188,
1118 <      -1,   192,    -1,    61,    -1,   203,    -1,   198,    -1,   200,
1119 <      -1,   207,    -1,   204,    -1,   191,    -1,   199,    -1,   202,
1120 <      -1,   193,    -1,   213,    -1,   182,    -1,   183,    -1,   196,
1121 <      -1,    -1,    47,   310,   242,   311,   239,    -1,   311,   243,
1122 <     312,    -1,   312,    -1,    57,    -1,   139,    -1,    74,    -1,
1123 <     224,    -1,   189,    -1,   208,    -1,   234,    -1,    51,    -1,
1124 <      32,    -1,   214,    -1,   137,    -1,     5,    -1,   105,    -1,
1125 <     199,    -1,   212,    -1,   119,    -1,   140,    -1,    98,    -1,
1126 <      -1,    24,   314,   241,   315,   240,   239,    -1,   315,   316,
1127 <      -1,   316,    -1,   317,    -1,   327,    -1,   328,    -1,   318,
1128 <      -1,   319,    -1,   329,    -1,   320,    -1,   321,    -1,   322,
1129 <      -1,   323,    -1,   324,    -1,   325,    -1,   326,    -1,     1,
1130 <     239,    -1,   100,   242,   131,   239,    -1,   128,   242,   248,
1131 <     239,    -1,   129,   242,   248,   239,    -1,   113,   242,   110,
1132 <     239,    -1,    26,   242,   248,   239,    -1,    92,   242,   110,
1133 <     239,    -1,    87,   242,   110,   239,    -1,    89,   242,   110,
1134 <     239,    -1,    88,   242,   110,   239,    -1,   156,   242,   250,
1135 <     239,    -1,    22,   242,   110,   239,    -1,    23,   242,   110,
1136 <     239,    -1,   112,   242,   110,   239,    -1,    -1,    82,   331,
1137 <     241,   336,   240,   239,    -1,    -1,    47,   333,   242,   334,
1138 <     239,    -1,   334,   243,   335,    -1,   335,    -1,   205,    -1,
1139 <      61,    -1,   201,    -1,   336,   337,    -1,   337,    -1,   338,
1140 <      -1,   332,    -1,   342,    -1,   343,    -1,     1,   239,    -1,
1141 <      -1,   130,   242,   340,   339,   239,    -1,   340,   243,   341,
1142 <      -1,   341,    -1,   110,    -1,   110,   179,   110,    -1,    71,
1143 <     242,   131,   239,    -1,    66,   242,   131,   239,    -1,    -1,
1144 <      58,   345,   241,   346,   240,   239,    -1,   346,   347,    -1,
1145 <     347,    -1,   348,    -1,   349,    -1,   350,    -1,   352,    -1,
1146 <     356,    -1,   357,    -1,   358,    -1,   351,    -1,     1,   239,
1147 <      -1,   225,   242,   131,   239,    -1,   125,   242,   131,   239,
1148 <      -1,    24,   242,   131,   239,    -1,    43,   242,   174,   239,
1149 <      -1,    -1,    47,   353,   242,   354,   239,    -1,   354,   243,
1150 <     355,    -1,   355,    -1,   168,    -1,    44,    -1,    75,    -1,
1151 <      59,    -1,    20,    -1,   109,    -1,    53,    -1,   150,    -1,
1152 <     101,    -1,   167,   242,   131,   239,    -1,   135,   242,   131,
1153 <     239,    -1,   134,   242,   110,   239,    -1,    -1,   149,   360,
1154 <     241,   361,   240,   239,    -1,   361,   362,    -1,   362,    -1,
1155 <     363,    -1,   364,    -1,   365,    -1,     1,   239,    -1,   133,
1156 <     242,   131,   239,    -1,    21,   242,   131,   239,    -1,   104,
1157 <     242,   131,   239,    -1,   215,   241,   367,   240,   239,    -1,
1158 <     367,   368,    -1,   368,    -1,   369,    -1,     1,    -1,   100,
1159 <     242,   131,   239,    -1,    -1,   162,   371,   241,   372,   240,
1160 <     239,    -1,   372,   373,    -1,   373,    -1,   374,    -1,   375,
1161 <      -1,   376,    -1,     1,   239,    -1,   100,   242,   131,   239,
1162 <      -1,   225,   242,   131,   239,    -1,    -1,   164,   377,   242,
1163 <     378,   239,    -1,   378,   243,   379,    -1,   379,    -1,    74,
1164 <      -1,   224,    -1,   189,    -1,   208,    -1,   234,    -1,   211,
1165 <      -1,   149,    -1,   210,    -1,   196,    -1,   180,    -1,    -1,
1166 <     163,   381,   241,   382,   240,   239,    -1,   382,   383,    -1,
1167 <     383,    -1,   384,    -1,   385,    -1,     1,   239,    -1,   100,
1168 <     242,   131,   239,    -1,    -1,   164,   386,   242,   387,   239,
1169 <      -1,   387,   243,   388,    -1,   388,    -1,    74,    -1,   224,
1170 <      -1,   189,    -1,   208,    -1,   234,    -1,   211,    -1,   149,
1171 <      -1,   210,    -1,   196,    -1,   180,    -1,    -1,    25,   390,
1172 <     241,   391,   240,   239,    -1,   391,   392,    -1,   392,    -1,
1173 <     393,    -1,   394,    -1,   395,    -1,   396,    -1,   397,    -1,
1174 <     399,    -1,   398,    -1,   400,    -1,   405,    -1,   406,    -1,
1175 <     407,    -1,   404,    -1,     1,   239,    -1,   100,   242,   131,
1176 <     239,    -1,    66,   242,   131,   239,    -1,   232,   242,   131,
1177 <     239,    -1,   157,   242,   131,   239,    -1,     3,   242,   131,
1178 <     239,    -1,   130,   242,   110,   239,    -1,     6,   242,   194,
1179 <     239,    -1,     6,   242,   195,   239,    -1,    -1,    47,   401,
1180 <     242,   402,   239,    -1,   402,   243,   403,    -1,   403,    -1,
1181 <      10,    -1,    12,    -1,   219,    -1,    43,   242,   174,   239,
1182 <      -1,    68,   242,   131,   239,    -1,    80,   242,   131,   239,
1183 <      -1,    24,   242,   131,   239,    -1,    -1,    72,   409,   241,
1184 <     414,   240,   239,    -1,    -1,   164,   411,   242,   412,   239,
1185 <      -1,   412,   243,   413,    -1,   413,    -1,   136,    -1,   414,
1186 <     415,    -1,   415,    -1,   416,    -1,   417,    -1,   410,    -1,
1187 <       1,    -1,   225,   242,   131,   239,    -1,   133,   242,   131,
1188 <     239,    -1,    -1,    30,   419,   241,   420,   240,   239,    -1,
1189 <     420,   421,    -1,   421,    -1,   422,    -1,   423,    -1,     1,
1190 <      -1,    71,   242,   131,   239,    -1,   133,   242,   131,   239,
1191 <      -1,    45,   241,   425,   240,   239,    -1,   425,   426,    -1,
1192 <     426,    -1,   427,    -1,     1,    -1,    71,   242,   131,   239,
1193 <      -1,    -1,    49,   429,   241,   434,   240,   239,    -1,    -1,
1194 <     164,   431,   242,   432,   239,    -1,   432,   243,   433,    -1,
1195 <     433,    -1,   136,    -1,   434,   435,    -1,   435,    -1,   436,
1196 <      -1,   437,    -1,   430,    -1,     1,    -1,   100,   242,   131,
1197 <     239,    -1,   133,   242,   131,   239,    -1,    50,   241,   439,
1198 <     240,   239,    -1,   439,   440,    -1,   440,    -1,   448,    -1,
1199 <     449,    -1,   451,    -1,   452,    -1,   453,    -1,   454,    -1,
1200 <     455,    -1,   456,    -1,   457,    -1,   458,    -1,   447,    -1,
1201 <     460,    -1,   461,    -1,   462,    -1,   463,    -1,   478,    -1,
1202 <     465,    -1,   467,    -1,   469,    -1,   468,    -1,   472,    -1,
1203 <     466,    -1,   473,    -1,   474,    -1,   475,    -1,   476,    -1,
1204 <     477,    -1,   490,    -1,   479,    -1,   480,    -1,   481,    -1,
1205 <     486,    -1,   470,    -1,   471,    -1,   496,    -1,   494,    -1,
1206 <     495,    -1,   450,    -1,   497,    -1,   485,    -1,   459,    -1,
1207 <     483,    -1,   484,    -1,   446,    -1,   442,    -1,   443,    -1,
1208 <     444,    -1,   445,    -1,   464,    -1,   441,    -1,   482,    -1,
1209 <       1,    -1,    94,   242,   110,   239,    -1,    55,   242,   110,
1210 <     239,    -1,    56,   242,   110,   239,    -1,   231,   242,   174,
1211 <     239,    -1,   138,   242,   248,   239,    -1,   161,   242,   174,
1212 <     239,    -1,    73,   242,   248,   239,    -1,    65,   242,   174,
1213 <     239,    -1,    69,   242,   174,   239,    -1,    37,   242,   174,
1214 <     239,    -1,    46,   242,   174,   239,    -1,     8,   242,   174,
1215 <     239,    -1,    91,   242,   248,   239,    -1,    90,   242,   110,
1216 <     239,    -1,    84,   242,   110,   239,    -1,     9,   242,   248,
1217 <     239,    -1,   178,   242,   248,   239,    -1,   177,   242,   248,
1218 <     239,    -1,    60,   242,   110,   239,    -1,    77,   242,   174,
1219 <     239,    -1,    76,   242,   131,   239,    -1,    70,   242,   174,
1220 <     239,    -1,   236,   242,   174,   239,    -1,   169,   242,   174,
1221 <     239,    -1,   172,   242,   174,   239,    -1,   173,   242,   174,
1222 <     239,    -1,   171,   242,   174,   239,    -1,   171,   242,   175,
1223 <     239,    -1,   170,   242,   174,   239,    -1,   170,   242,   175,
1224 <     239,    -1,   123,   242,   248,   239,    -1,    19,   242,   248,
1225 <     239,    -1,   116,   242,   174,   239,    -1,   124,   242,   248,
1226 <     239,    -1,   165,   242,   174,   239,    -1,   108,   242,   174,
1227 <     239,    -1,   220,   242,   174,   239,    -1,   118,   242,   174,
1228 <     239,    -1,    95,   242,   131,   239,    -1,    38,   242,   110,
1229 <     239,    -1,    93,   242,   110,   239,    -1,   226,   242,   174,
1230 <     239,    -1,    40,   242,   131,   239,    -1,   216,   242,   131,
1231 <     239,    -1,   127,   242,   174,   239,    -1,    33,   242,   174,
1232 <     239,    -1,   218,   242,   248,   239,    -1,    -1,   120,   487,
1233 <     242,   488,   239,    -1,   488,   243,   489,    -1,   489,    -1,
1234 <     181,    -1,   184,    -1,   185,    -1,   187,    -1,   188,    -1,
1235 <     192,    -1,    61,    -1,   203,    -1,   198,    -1,   200,    -1,
1236 <     207,    -1,   204,    -1,   191,    -1,   199,    -1,   202,    -1,
1237 <     193,    -1,   213,    -1,   182,    -1,   183,    -1,   196,    -1,
1238 <      -1,   117,   491,   242,   492,   239,    -1,   492,   243,   493,
1239 <      -1,   493,    -1,   181,    -1,   184,    -1,   185,    -1,   187,
1240 <      -1,   188,    -1,   192,    -1,   203,    -1,    61,    -1,   198,
1241 <      -1,   200,    -1,   207,    -1,   204,    -1,   191,    -1,   199,
1242 <      -1,   202,    -1,   193,    -1,   213,    -1,   182,    -1,   183,
1243 <      -1,   196,    -1,    96,   242,   110,   239,    -1,    97,   242,
1244 <     110,   239,    -1,    27,   242,   110,   239,    -1,   186,   242,
1245 <     250,   239,    -1,    -1,    52,   499,   241,   500,   240,   239,
1246 <      -1,   500,   501,    -1,   501,    -1,   502,    -1,   503,    -1,
1247 <     504,    -1,   508,    -1,   509,    -1,   510,    -1,     1,    -1,
1248 <      42,   242,   174,   239,    -1,    39,   242,   248,   239,    -1,
1249 <      -1,    83,   505,   242,   506,   239,    -1,   506,   243,   507,
1250 <      -1,   507,    -1,   176,    -1,    11,    -1,   225,   242,   131,
1251 <     239,    -1,   100,   242,   131,   239,    -1,    -1,     4,   511,
1252 <     242,   512,   239,    -1,   512,   243,   513,    -1,   513,    -1,
1253 <     176,    -1,    11,    -1,    21,   241,   515,   240,   239,    -1,
1254 <     515,   516,    -1,   516,    -1,   519,    -1,   520,    -1,   521,
1255 <      -1,   522,    -1,   527,    -1,   523,    -1,   524,    -1,   525,
1256 <      -1,   526,    -1,   528,    -1,   529,    -1,   530,    -1,   518,
1257 <      -1,   531,    -1,   532,    -1,   533,    -1,   534,    -1,   517,
1258 <      -1,     1,    -1,    34,   242,   174,   239,    -1,   141,   242,
1259 <     174,   239,    -1,    36,   242,   174,   239,    -1,   227,   242,
1260 <     174,   239,    -1,   228,   242,   174,   239,    -1,   229,   242,
1261 <     174,   239,    -1,    78,   242,   248,   239,    -1,    79,   242,
1262 <     248,   239,    -1,    86,   242,   110,   239,    -1,   132,   242,
1263 <     174,   239,    -1,    85,   242,   110,   239,    -1,    29,   242,
1264 <     110,   239,    -1,    28,   242,   110,   239,    -1,   106,   242,
1265 <     174,   239,    -1,   107,   242,   174,   239,    -1,    13,   242,
1266 <     174,   239,    -1,   121,   242,   110,   239,    -1,   122,   242,
1267 <     248,   239,    -1,   158,   241,   536,   240,   239,    -1,   536,
1268 <     537,    -1,   537,    -1,   538,    -1,   539,    -1,   541,    -1,
1269 <     543,    -1,   542,    -1,   540,    -1,   544,    -1,     1,    -1,
1270 <      48,   242,   174,   239,    -1,    64,   242,   174,   239,    -1,
1275 <      62,   242,   131,   239,    -1,    81,   242,   248,   239,    -1,
1276 <      61,   242,   174,   239,    -1,    35,   242,   174,   239,    -1,
1277 <      63,   242,   174,   239,    -1
1073 >     250,     0,    -1,    -1,   250,   251,    -1,   283,    -1,   289,
1074 >      -1,   303,    -1,   510,    -1,   321,    -1,   338,    -1,   352,
1075 >      -1,   261,    -1,   531,    -1,   367,    -1,   374,    -1,   378,
1076 >      -1,   388,    -1,   397,    -1,   417,    -1,   427,    -1,   433,
1077 >      -1,   447,    -1,   437,    -1,   256,    -1,     1,   244,    -1,
1078 >       1,   245,    -1,    -1,   253,    -1,   112,   252,    -1,   112,
1079 >     155,   252,    -1,   112,   156,   252,    -1,   112,   157,   252,
1080 >      -1,   112,   158,   252,    -1,   112,   159,   252,    -1,    -1,
1081 >     255,    -1,   112,   254,    -1,   112,    13,   254,    -1,   112,
1082 >      14,   254,    -1,   112,    15,   254,    -1,   101,   246,   257,
1083 >     245,   244,    -1,   257,   258,    -1,   258,    -1,   259,    -1,
1084 >     260,    -1,     1,   244,    -1,   100,   247,   133,   244,    -1,
1085 >     128,   247,   133,   244,    -1,   163,   246,   262,   245,   244,
1086 >      -1,   262,   263,    -1,   263,    -1,   274,    -1,   279,    -1,
1087 >     282,    -1,   276,    -1,   277,    -1,   278,    -1,   281,    -1,
1088 >     272,    -1,   271,    -1,   280,    -1,   275,    -1,   270,    -1,
1089 >     264,    -1,   265,    -1,   273,    -1,     1,   244,    -1,   149,
1090 >     247,   266,   244,    -1,   150,   247,   268,   244,    -1,   266,
1091 >     248,   267,    -1,   267,    -1,   151,    -1,   152,    -1,   268,
1092 >     248,   269,    -1,   269,    -1,   151,    -1,   152,    -1,   147,
1093 >     247,   133,   244,    -1,   145,   247,   133,   244,    -1,   148,
1094 >     247,   133,   244,    -1,   190,   247,   133,   244,    -1,   102,
1095 >     247,   133,   244,    -1,   164,   247,   133,   244,    -1,    30,
1096 >     247,   133,   244,    -1,   105,   247,   133,   244,    -1,   104,
1097 >     247,   133,   244,    -1,   237,   247,   133,   244,    -1,   238,
1098 >     247,   133,   244,    -1,   202,   247,   112,   244,    -1,    68,
1099 >     247,   178,   244,    -1,     5,   246,   284,   245,   244,    -1,
1100 >     284,   285,    -1,   285,    -1,   286,    -1,   288,    -1,   287,
1101 >      -1,     1,   244,    -1,   102,   247,   133,   244,    -1,    40,
1102 >     247,   133,   244,    -1,    30,   247,   133,   244,    -1,    84,
1103 >     246,   290,   245,   244,    -1,   290,   291,    -1,   291,    -1,
1104 >     292,    -1,   293,    -1,     1,   244,    -1,   235,   247,   178,
1105 >     244,    -1,    -1,   294,   243,   246,   295,   245,   244,    -1,
1106 >     295,   296,    -1,   296,    -1,   297,    -1,   299,    -1,   298,
1107 >      -1,     1,   244,    -1,   102,   247,   133,   244,    -1,   242,
1108 >     247,   255,   244,    -1,   242,   247,   215,   244,    -1,    -1,
1109 >     168,   300,   247,   301,   244,    -1,   301,   248,   302,    -1,
1110 >     302,    -1,   230,    -1,   117,    -1,    50,    -1,   194,    -1,
1111 >      75,    -1,    73,    -1,   193,    -1,    -1,   117,   304,   246,
1112 >     305,   245,   244,    -1,   305,   306,    -1,   306,    -1,   307,
1113 >      -1,   308,    -1,   309,    -1,   313,    -1,   312,    -1,   310,
1114 >      -1,   311,    -1,   317,    -1,     1,   244,    -1,   102,   247,
1115 >     133,   244,    -1,   230,   247,   133,   244,    -1,   127,   247,
1116 >     133,   244,    -1,    42,   247,   178,   244,    -1,   146,   247,
1117 >     133,   244,    -1,    23,   247,   133,   244,    -1,    -1,   212,
1118 >     314,   247,   315,   244,    -1,   315,   248,   316,    -1,   316,
1119 >      -1,   185,    -1,   188,    -1,   189,    -1,   192,    -1,   193,
1120 >      -1,   197,    -1,    62,    -1,   209,    -1,   203,    -1,   205,
1121 >      -1,   213,    -1,   210,    -1,   196,    -1,   204,    -1,   207,
1122 >      -1,   198,    -1,   219,    -1,   186,    -1,   187,    -1,   201,
1123 >      -1,    -1,    46,   318,   247,   319,   244,    -1,   319,   248,
1124 >     320,    -1,   320,    -1,    58,    -1,   141,    -1,    75,    -1,
1125 >     229,    -1,   194,    -1,   214,    -1,   239,    -1,    50,    -1,
1126 >      31,    -1,   220,    -1,   139,    -1,     5,    -1,   107,    -1,
1127 >     204,    -1,   218,    -1,   121,    -1,   142,    -1,   208,    -1,
1128 >     100,    -1,    -1,    23,   322,   246,   323,   245,   244,    -1,
1129 >     323,   324,    -1,   324,    -1,   325,    -1,   335,    -1,   336,
1130 >      -1,   326,    -1,   327,    -1,   337,    -1,   328,    -1,   329,
1131 >      -1,   330,    -1,   331,    -1,   332,    -1,   333,    -1,   334,
1132 >      -1,     1,   244,    -1,   102,   247,   133,   244,    -1,   130,
1133 >     247,   253,   244,    -1,   131,   247,   253,   244,    -1,   115,
1134 >     247,   112,   244,    -1,    25,   247,   253,   244,    -1,    94,
1135 >     247,   112,   244,    -1,    89,   247,   112,   244,    -1,    91,
1136 >     247,   112,   244,    -1,    90,   247,   112,   244,    -1,   160,
1137 >     247,   255,   244,    -1,    21,   247,   112,   244,    -1,    22,
1138 >     247,   112,   244,    -1,   114,   247,   112,   244,    -1,    -1,
1139 >      83,   339,   246,   344,   245,   244,    -1,    -1,    46,   341,
1140 >     247,   342,   244,    -1,   342,   248,   343,    -1,   343,    -1,
1141 >     211,    -1,    62,    -1,   206,    -1,   344,   345,    -1,   345,
1142 >      -1,   346,    -1,   340,    -1,   350,    -1,   351,    -1,     1,
1143 >     244,    -1,    -1,   132,   247,   348,   347,   244,    -1,   348,
1144 >     248,   349,    -1,   349,    -1,   112,    -1,   112,   183,   112,
1145 >      -1,    72,   247,   133,   244,    -1,    67,   247,   133,   244,
1146 >      -1,    -1,    59,   353,   246,   354,   245,   244,    -1,   354,
1147 >     355,    -1,   355,    -1,   356,    -1,   357,    -1,   358,    -1,
1148 >     360,    -1,   364,    -1,   365,    -1,   366,    -1,   359,    -1,
1149 >       1,   244,    -1,   230,   247,   133,   244,    -1,   127,   247,
1150 >     133,   244,    -1,    23,   247,   133,   244,    -1,    42,   247,
1151 >     178,   244,    -1,    -1,    46,   361,   247,   362,   244,    -1,
1152 >     362,   248,   363,    -1,   363,    -1,   172,    -1,    43,    -1,
1153 >      76,    -1,    60,    -1,    19,    -1,   111,    -1,    53,    -1,
1154 >     154,    -1,   103,    -1,   171,   247,   133,   244,    -1,   137,
1155 >     247,   133,   244,    -1,   136,   247,   112,   244,    -1,    -1,
1156 >     153,   368,   246,   369,   245,   244,    -1,   369,   370,    -1,
1157 >     370,    -1,   371,    -1,   372,    -1,   373,    -1,     1,   244,
1158 >      -1,   135,   247,   133,   244,    -1,    20,   247,   133,   244,
1159 >      -1,   106,   247,   133,   244,    -1,   221,   246,   375,   245,
1160 >     244,    -1,   375,   376,    -1,   376,    -1,   377,    -1,     1,
1161 >      -1,   102,   247,   133,   244,    -1,    -1,   166,   379,   246,
1162 >     380,   245,   244,    -1,   380,   381,    -1,   381,    -1,   382,
1163 >      -1,   383,    -1,   384,    -1,     1,   244,    -1,   102,   247,
1164 >     133,   244,    -1,   230,   247,   133,   244,    -1,    -1,   168,
1165 >     385,   247,   386,   244,    -1,   386,   248,   387,    -1,   387,
1166 >      -1,    75,    -1,   229,    -1,   194,    -1,   214,    -1,   239,
1167 >      -1,   217,    -1,   153,    -1,   216,    -1,   201,    -1,   184,
1168 >      -1,    -1,   167,   389,   246,   390,   245,   244,    -1,   390,
1169 >     391,    -1,   391,    -1,   392,    -1,   393,    -1,     1,   244,
1170 >      -1,   102,   247,   133,   244,    -1,    -1,   168,   394,   247,
1171 >     395,   244,    -1,   395,   248,   396,    -1,   396,    -1,    75,
1172 >      -1,   229,    -1,   194,    -1,   214,    -1,   239,    -1,   217,
1173 >      -1,   153,    -1,   216,    -1,   201,    -1,   184,    -1,    -1,
1174 >      24,   398,   246,   399,   245,   244,    -1,   399,   400,    -1,
1175 >     400,    -1,   401,    -1,   402,    -1,   403,    -1,   404,    -1,
1176 >     405,    -1,   407,    -1,   406,    -1,   416,    -1,   408,    -1,
1177 >     413,    -1,   414,    -1,   415,    -1,   412,    -1,     1,   244,
1178 >      -1,   102,   247,   133,   244,    -1,    67,   247,   133,   244,
1179 >      -1,   237,   247,   133,   244,    -1,   161,   247,   133,   244,
1180 >      -1,     3,   247,   133,   244,    -1,   132,   247,   112,   244,
1181 >      -1,     6,   247,   199,   244,    -1,     6,   247,   200,   244,
1182 >      -1,    -1,    46,   409,   247,   410,   244,    -1,   410,   248,
1183 >     411,    -1,   411,    -1,    10,    -1,    12,    -1,   224,    -1,
1184 >     211,    -1,    42,   247,   178,   244,    -1,    69,   247,   133,
1185 >     244,    -1,    81,   247,   133,   244,    -1,    23,   247,   133,
1186 >     244,    -1,   190,   247,   133,   244,    -1,    -1,    73,   418,
1187 >     246,   423,   245,   244,    -1,    -1,   168,   420,   247,   421,
1188 >     244,    -1,   421,   248,   422,    -1,   422,    -1,   138,    -1,
1189 >     423,   424,    -1,   424,    -1,   425,    -1,   426,    -1,   419,
1190 >      -1,     1,    -1,   230,   247,   133,   244,    -1,   135,   247,
1191 >     133,   244,    -1,    -1,    29,   428,   246,   429,   245,   244,
1192 >      -1,   429,   430,    -1,   430,    -1,   431,    -1,   432,    -1,
1193 >       1,    -1,    72,   247,   133,   244,    -1,   135,   247,   133,
1194 >     244,    -1,    44,   246,   434,   245,   244,    -1,   434,   435,
1195 >      -1,   435,    -1,   436,    -1,     1,    -1,    72,   247,   133,
1196 >     244,    -1,    -1,    48,   438,   246,   443,   245,   244,    -1,
1197 >      -1,   168,   440,   247,   441,   244,    -1,   441,   248,   442,
1198 >      -1,   442,    -1,   138,    -1,   443,   444,    -1,   444,    -1,
1199 >     445,    -1,   446,    -1,   439,    -1,     1,    -1,   102,   247,
1200 >     133,   244,    -1,   135,   247,   133,   244,    -1,    49,   246,
1201 >     448,   245,   244,    -1,   448,   449,    -1,   449,    -1,   460,
1202 >      -1,   461,    -1,   463,    -1,   464,    -1,   465,    -1,   466,
1203 >      -1,   467,    -1,   468,    -1,   469,    -1,   470,    -1,   459,
1204 >      -1,   472,    -1,   473,    -1,   474,    -1,   475,    -1,   490,
1205 >      -1,   477,    -1,   479,    -1,   481,    -1,   480,    -1,   484,
1206 >      -1,   478,    -1,   485,    -1,   486,    -1,   487,    -1,   488,
1207 >      -1,   489,    -1,   502,    -1,   491,    -1,   492,    -1,   493,
1208 >      -1,   498,    -1,   482,    -1,   483,    -1,   508,    -1,   506,
1209 >      -1,   507,    -1,   462,    -1,   509,    -1,   497,    -1,   471,
1210 >      -1,   495,    -1,   496,    -1,   458,    -1,   451,    -1,   452,
1211 >      -1,   453,    -1,   454,    -1,   455,    -1,   456,    -1,   457,
1212 >      -1,   476,    -1,   450,    -1,   494,    -1,     1,    -1,    96,
1213 >     247,   112,   244,    -1,    52,   247,   178,   244,    -1,    51,
1214 >     247,   253,   244,    -1,    55,   247,   253,   244,    -1,    56,
1215 >     247,   112,   244,    -1,    57,   247,   112,   244,    -1,   236,
1216 >     247,   178,   244,    -1,   140,   247,   253,   244,    -1,   165,
1217 >     247,   178,   244,    -1,    74,   247,   253,   244,    -1,    66,
1218 >     247,   178,   244,    -1,    70,   247,   178,   244,    -1,    36,
1219 >     247,   178,   244,    -1,    45,   247,   178,   244,    -1,     8,
1220 >     247,   178,   244,    -1,    93,   247,   253,   244,    -1,    92,
1221 >     247,   112,   244,    -1,    85,   247,   112,   244,    -1,     9,
1222 >     247,   253,   244,    -1,   182,   247,   253,   244,    -1,   181,
1223 >     247,   253,   244,    -1,    61,   247,   112,   244,    -1,    78,
1224 >     247,   178,   244,    -1,    77,   247,   133,   244,    -1,    71,
1225 >     247,   178,   244,    -1,   241,   247,   178,   244,    -1,   173,
1226 >     247,   178,   244,    -1,   176,   247,   178,   244,    -1,   177,
1227 >     247,   178,   244,    -1,   175,   247,   178,   244,    -1,   175,
1228 >     247,   179,   244,    -1,   174,   247,   178,   244,    -1,   174,
1229 >     247,   179,   244,    -1,   125,   247,   253,   244,    -1,    18,
1230 >     247,   253,   244,    -1,   118,   247,   178,   244,    -1,   126,
1231 >     247,   253,   244,    -1,   169,   247,   178,   244,    -1,   110,
1232 >     247,   178,   244,    -1,   225,   247,   178,   244,    -1,   120,
1233 >     247,   178,   244,    -1,    97,   247,   133,   244,    -1,    37,
1234 >     247,   112,   244,    -1,    95,   247,   112,   244,    -1,   231,
1235 >     247,   178,   244,    -1,    39,   247,   133,   244,    -1,   222,
1236 >     247,   133,   244,    -1,   129,   247,   178,   244,    -1,    32,
1237 >     247,   178,   244,    -1,   223,   247,   253,   244,    -1,    -1,
1238 >     122,   499,   247,   500,   244,    -1,   500,   248,   501,    -1,
1239 >     501,    -1,   185,    -1,   188,    -1,   189,    -1,   192,    -1,
1240 >     193,    -1,   197,    -1,    62,    -1,   209,    -1,   203,    -1,
1241 >     205,    -1,   213,    -1,   210,    -1,   196,    -1,   204,    -1,
1242 >     207,    -1,   198,    -1,   219,    -1,   186,    -1,   187,    -1,
1243 >     201,    -1,    -1,   119,   503,   247,   504,   244,    -1,   504,
1244 >     248,   505,    -1,   505,    -1,   185,    -1,   188,    -1,   189,
1245 >      -1,   192,    -1,   193,    -1,   197,    -1,   209,    -1,    62,
1246 >      -1,   203,    -1,   205,    -1,   213,    -1,   210,    -1,   196,
1247 >      -1,   204,    -1,   207,    -1,   198,    -1,   219,    -1,   186,
1248 >      -1,   187,    -1,   201,    -1,    98,   247,   112,   244,    -1,
1249 >      99,   247,   112,   244,    -1,    26,   247,   112,   244,    -1,
1250 >     191,   247,   255,   244,    -1,    20,   246,   511,   245,   244,
1251 >      -1,   511,   512,    -1,   512,    -1,   515,    -1,   516,    -1,
1252 >     517,    -1,   518,    -1,   524,    -1,   519,    -1,   520,    -1,
1253 >     521,    -1,   522,    -1,   523,    -1,   525,    -1,   526,    -1,
1254 >     527,    -1,   514,    -1,   528,    -1,   529,    -1,   530,    -1,
1255 >     513,    -1,     1,    -1,    33,   247,   178,   244,    -1,   143,
1256 >     247,   178,   244,    -1,    35,   247,   178,   244,    -1,   232,
1257 >     247,   178,   244,    -1,   233,   247,   178,   244,    -1,   234,
1258 >     247,   178,   244,    -1,    79,   247,   253,   244,    -1,    80,
1259 >     247,   253,   244,    -1,    88,   247,   112,   244,    -1,    87,
1260 >     247,   112,   244,    -1,   134,   247,   178,   244,    -1,    86,
1261 >     247,   112,   244,    -1,    28,   247,   112,   244,    -1,    27,
1262 >     247,   112,   244,    -1,   108,   247,   178,   244,    -1,   109,
1263 >     247,   178,   244,    -1,   123,   247,   112,   244,    -1,   124,
1264 >     247,   253,   244,    -1,   162,   246,   532,   245,   244,    -1,
1265 >     532,   533,    -1,   533,    -1,   534,    -1,   535,    -1,   537,
1266 >      -1,   539,    -1,   538,    -1,   536,    -1,   540,    -1,     1,
1267 >      -1,    47,   247,   178,   244,    -1,    65,   247,   178,   244,
1268 >      -1,    63,   247,   133,   244,    -1,    82,   247,   253,   244,
1269 >      -1,    62,   247,   178,   244,    -1,    34,   247,   178,   244,
1270 >      -1,    64,   247,   178,   244,    -1
1271   };
1272  
1273   /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1274   static const yytype_uint16 yyrline[] =
1275   {
1276 <       0,   374,   374,   375,   378,   379,   380,   381,   382,   383,
1277 <     384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
1278 <     394,   395,   396,   397,   398,   399,   400,   404,   404,   405,
1279 <     409,   413,   417,   421,   425,   431,   431,   432,   433,   434,
1280 <     435,   442,   445,   445,   446,   446,   446,   448,   454,   461,
1281 <     463,   463,   464,   464,   465,   465,   466,   466,   467,   468,
1282 <     468,   469,   469,   470,   471,   475,   474,   493,   493,   494,
1283 <     500,   508,   542,   602,   617,   632,   641,   655,   664,   692,
1284 <     722,   745,   754,   756,   756,   757,   757,   758,   758,   760,
1285 <     769,   778,   790,   791,   791,   793,   793,   793,   794,   796,
1286 <     802,   809,   809,   819,   820,   822,   822,   823,   823,   825,
1287 <     830,   833,   839,   838,   844,   844,   845,   849,   853,   857,
1288 <     861,   865,   869,   880,   879,   977,   977,   978,   978,   978,
1289 <     979,   979,   979,   980,   980,   980,   982,   994,  1031,  1043,
1290 <    1054,  1096,  1106,  1105,  1111,  1111,  1112,  1116,  1120,  1124,
1291 <    1128,  1132,  1136,  1140,  1144,  1148,  1152,  1156,  1160,  1164,
1292 <    1168,  1172,  1176,  1180,  1184,  1188,  1195,  1194,  1200,  1200,
1293 <    1201,  1205,  1209,  1213,  1217,  1221,  1225,  1229,  1233,  1237,
1294 <    1241,  1245,  1249,  1253,  1257,  1261,  1265,  1269,  1280,  1279,
1295 <    1329,  1329,  1330,  1331,  1331,  1332,  1333,  1334,  1335,  1336,
1296 <    1337,  1338,  1339,  1340,  1341,  1342,  1344,  1353,  1359,  1365,
1297 <    1371,  1377,  1383,  1389,  1395,  1401,  1407,  1413,  1419,  1429,
1298 <    1428,  1445,  1444,  1449,  1449,  1450,  1454,  1458,  1466,  1466,
1299 <    1467,  1467,  1467,  1467,  1467,  1469,  1469,  1471,  1471,  1473,
1300 <    1487,  1507,  1516,  1529,  1528,  1597,  1597,  1598,  1598,  1598,
1301 <    1598,  1599,  1599,  1599,  1600,  1600,  1602,  1639,  1652,  1661,
1302 <    1673,  1672,  1676,  1676,  1677,  1681,  1685,  1689,  1693,  1697,
1303 <    1701,  1705,  1709,  1716,  1735,  1745,  1759,  1758,  1774,  1774,
1304 <    1775,  1775,  1775,  1775,  1777,  1786,  1801,  1814,  1816,  1816,
1305 <    1817,  1817,  1819,  1835,  1834,  1850,  1850,  1851,  1851,  1851,
1306 <    1851,  1853,  1862,  1885,  1884,  1890,  1890,  1891,  1895,  1899,
1307 <    1903,  1907,  1911,  1915,  1919,  1923,  1927,  1937,  1936,  1953,
1308 <    1953,  1954,  1954,  1954,  1956,  1963,  1962,  1968,  1968,  1969,
1309 <    1973,  1977,  1981,  1985,  1989,  1993,  1997,  2001,  2005,  2015,
1310 <    2014,  2143,  2143,  2144,  2144,  2144,  2145,  2145,  2146,  2146,
1311 <    2147,  2147,  2147,  2148,  2148,  2149,  2151,  2163,  2172,  2198,
1312 <    2216,  2234,  2240,  2244,  2253,  2252,  2256,  2256,  2257,  2261,
1313 <    2265,  2271,  2282,  2295,  2308,  2321,  2320,  2384,  2383,  2387,
1314 <    2387,  2388,  2394,  2394,  2395,  2395,  2395,  2395,  2397,  2416,
1315 <    2426,  2425,  2448,  2448,  2449,  2449,  2449,  2451,  2457,  2466,
1316 <    2468,  2468,  2469,  2469,  2471,  2490,  2489,  2537,  2536,  2540,
1317 <    2540,  2541,  2547,  2547,  2548,  2548,  2548,  2548,  2550,  2556,
1318 <    2565,  2568,  2568,  2569,  2569,  2570,  2570,  2571,  2571,  2572,
1319 <    2572,  2573,  2573,  2574,  2574,  2575,  2575,  2576,  2576,  2577,
1320 <    2577,  2578,  2578,  2579,  2579,  2580,  2580,  2581,  2581,  2582,
1321 <    2583,  2583,  2584,  2584,  2585,  2585,  2586,  2586,  2587,  2587,
1322 <    2588,  2589,  2590,  2590,  2591,  2592,  2593,  2593,  2594,  2594,
1323 <    2595,  2595,  2596,  2596,  2597,  2600,  2605,  2610,  2615,  2620,
1324 <    2625,  2630,  2635,  2640,  2645,  2650,  2655,  2660,  2665,  2670,
1325 <    2675,  2680,  2685,  2691,  2702,  2707,  2716,  2721,  2726,  2731,
1326 <    2736,  2741,  2744,  2749,  2752,  2757,  2762,  2767,  2772,  2777,
1327 <    2782,  2787,  2792,  2797,  2808,  2813,  2818,  2823,  2832,  2841,
1328 <    2846,  2851,  2857,  2856,  2861,  2861,  2862,  2865,  2868,  2871,
1329 <    2874,  2877,  2880,  2883,  2886,  2889,  2892,  2895,  2898,  2901,
1330 <    2904,  2907,  2910,  2913,  2916,  2919,  2925,  2924,  2929,  2929,
1331 <    2930,  2933,  2936,  2939,  2942,  2945,  2948,  2951,  2954,  2957,
1332 <    2960,  2963,  2966,  2969,  2972,  2975,  2978,  2981,  2984,  2987,
1333 <    2992,  2997,  3002,  3007,  3017,  3016,  3040,  3040,  3041,  3042,
1334 <    3043,  3044,  3045,  3046,  3047,  3049,  3055,  3062,  3061,  3066,
1335 <    3066,  3067,  3071,  3077,  3111,  3121,  3120,  3170,  3170,  3171,
1336 <    3175,  3184,  3187,  3187,  3188,  3188,  3189,  3189,  3190,  3190,
1337 <    3191,  3191,  3192,  3192,  3193,  3194,  3194,  3195,  3195,  3196,
1338 <    3196,  3197,  3197,  3199,  3204,  3209,  3214,  3219,  3224,  3229,
1339 <    3234,  3239,  3244,  3249,  3254,  3259,  3264,  3269,  3274,  3279,
1340 <    3284,  3292,  3295,  3295,  3296,  3296,  3297,  3298,  3299,  3299,
1348 <    3300,  3301,  3303,  3309,  3315,  3324,  3338,  3344,  3350
1276 >       0,   357,   357,   358,   361,   362,   363,   364,   365,   366,
1277 >     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
1278 >     377,   378,   379,   380,   381,   382,   386,   386,   387,   391,
1279 >     395,   399,   403,   407,   413,   413,   414,   415,   416,   417,
1280 >     424,   427,   427,   428,   428,   428,   430,   436,   443,   445,
1281 >     445,   446,   446,   447,   447,   448,   448,   449,   449,   450,
1282 >     450,   451,   451,   452,   452,   453,   454,   457,   458,   460,
1283 >     460,   461,   467,   475,   475,   476,   482,   490,   529,   588,
1284 >     616,   624,   639,   654,   663,   677,   686,   714,   744,   767,
1285 >     776,   778,   778,   779,   779,   780,   780,   782,   791,   800,
1286 >     812,   813,   813,   815,   815,   816,   818,   825,   825,   835,
1287 >     836,   838,   838,   839,   839,   841,   846,   849,   855,   854,
1288 >     860,   860,   861,   865,   869,   873,   877,   881,   885,   896,
1289 >     895,   993,   993,   994,   994,   994,   995,   995,   995,   996,
1290 >     996,   996,   998,  1007,  1044,  1056,  1067,  1109,  1119,  1118,
1291 >    1124,  1124,  1125,  1129,  1133,  1137,  1141,  1145,  1149,  1153,
1292 >    1157,  1161,  1165,  1169,  1173,  1177,  1181,  1185,  1189,  1193,
1293 >    1197,  1201,  1208,  1207,  1213,  1213,  1214,  1218,  1222,  1226,
1294 >    1230,  1234,  1238,  1242,  1246,  1250,  1254,  1258,  1262,  1266,
1295 >    1270,  1274,  1278,  1282,  1286,  1297,  1296,  1346,  1346,  1347,
1296 >    1348,  1348,  1349,  1350,  1351,  1352,  1353,  1354,  1355,  1356,
1297 >    1357,  1358,  1359,  1361,  1370,  1376,  1382,  1388,  1394,  1400,
1298 >    1406,  1412,  1418,  1424,  1430,  1436,  1446,  1445,  1462,  1461,
1299 >    1466,  1466,  1467,  1471,  1475,  1483,  1483,  1484,  1484,  1484,
1300 >    1484,  1484,  1486,  1486,  1488,  1488,  1490,  1504,  1524,  1533,
1301 >    1546,  1545,  1614,  1614,  1615,  1615,  1615,  1615,  1616,  1616,
1302 >    1616,  1617,  1617,  1619,  1654,  1667,  1676,  1688,  1687,  1691,
1303 >    1691,  1692,  1696,  1700,  1704,  1708,  1712,  1716,  1720,  1724,
1304 >    1731,  1750,  1760,  1774,  1773,  1789,  1789,  1790,  1790,  1790,
1305 >    1790,  1792,  1801,  1816,  1829,  1831,  1831,  1832,  1832,  1834,
1306 >    1850,  1849,  1865,  1865,  1866,  1866,  1866,  1866,  1868,  1877,
1307 >    1900,  1899,  1905,  1905,  1906,  1910,  1914,  1918,  1922,  1926,
1308 >    1930,  1934,  1938,  1942,  1952,  1951,  1968,  1968,  1969,  1969,
1309 >    1969,  1971,  1978,  1977,  1983,  1983,  1984,  1988,  1992,  1996,
1310 >    2000,  2004,  2008,  2012,  2016,  2020,  2030,  2029,  2080,  2080,
1311 >    2081,  2081,  2081,  2082,  2082,  2083,  2083,  2083,  2084,  2084,
1312 >    2084,  2085,  2085,  2086,  2088,  2097,  2106,  2132,  2150,  2168,
1313 >    2174,  2178,  2187,  2186,  2190,  2190,  2191,  2195,  2199,  2203,
1314 >    2209,  2220,  2231,  2242,  2251,  2270,  2269,  2335,  2334,  2338,
1315 >    2338,  2339,  2345,  2345,  2346,  2346,  2346,  2346,  2348,  2367,
1316 >    2377,  2376,  2401,  2401,  2402,  2402,  2402,  2404,  2410,  2419,
1317 >    2421,  2421,  2422,  2422,  2424,  2443,  2442,  2490,  2489,  2493,
1318 >    2493,  2494,  2500,  2500,  2501,  2501,  2501,  2501,  2503,  2509,
1319 >    2518,  2521,  2521,  2522,  2522,  2523,  2523,  2524,  2524,  2525,
1320 >    2525,  2526,  2526,  2527,  2527,  2528,  2528,  2529,  2529,  2530,
1321 >    2530,  2531,  2531,  2532,  2532,  2533,  2533,  2534,  2534,  2535,
1322 >    2536,  2536,  2537,  2537,  2538,  2538,  2539,  2539,  2540,  2540,
1323 >    2541,  2542,  2543,  2543,  2544,  2545,  2546,  2546,  2547,  2547,
1324 >    2548,  2549,  2549,  2550,  2550,  2551,  2551,  2552,  2555,  2560,
1325 >    2566,  2572,  2578,  2583,  2588,  2593,  2598,  2603,  2608,  2613,
1326 >    2618,  2623,  2628,  2633,  2638,  2643,  2648,  2653,  2658,  2664,
1327 >    2675,  2680,  2689,  2694,  2699,  2704,  2709,  2714,  2717,  2722,
1328 >    2725,  2730,  2735,  2740,  2745,  2750,  2755,  2760,  2765,  2770,
1329 >    2781,  2786,  2791,  2796,  2805,  2814,  2819,  2824,  2830,  2829,
1330 >    2834,  2834,  2835,  2838,  2841,  2844,  2847,  2850,  2853,  2856,
1331 >    2859,  2862,  2865,  2868,  2871,  2874,  2877,  2880,  2883,  2886,
1332 >    2889,  2892,  2898,  2897,  2902,  2902,  2903,  2906,  2909,  2912,
1333 >    2915,  2918,  2921,  2924,  2927,  2930,  2933,  2936,  2939,  2942,
1334 >    2945,  2948,  2951,  2954,  2957,  2960,  2965,  2970,  2975,  2980,
1335 >    2989,  2992,  2992,  2993,  2993,  2994,  2994,  2994,  2995,  2995,
1336 >    2996,  2996,  2997,  2997,  2998,  2999,  2999,  3000,  3001,  3001,
1337 >    3002,  3002,  3004,  3009,  3014,  3019,  3024,  3029,  3034,  3039,
1338 >    3044,  3049,  3054,  3059,  3064,  3069,  3074,  3079,  3084,  3089,
1339 >    3097,  3100,  3100,  3101,  3101,  3102,  3103,  3104,  3104,  3105,
1340 >    3106,  3108,  3114,  3120,  3129,  3143,  3149,  3155
1341   };
1342   #endif
1343  
# Line 1356 | Line 1348 | static const char *const yytname[] =
1348   {
1349    "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ACTION", "ADMIN",
1350    "AFTYPE", "T_ALLOW", "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME",
1351 <  "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BURST_TOPICWHO", "BYTES", "KBYTES",
1352 <  "MBYTES", "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1351 >  "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BYTES", "KBYTES", "MBYTES",
1352 >  "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1353    "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1354    "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1355    "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
# Line 1365 | Line 1357 | static const char *const yytname[] =
1357    "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH",
1358    "EMAIL", "ENABLE", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1359    "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1360 <  "GLINE", "GLINES", "GLINE_EXEMPT", "GLINE_TIME", "GLINE_MIN_CIDR",
1361 <  "GLINE_MIN_CIDR6", "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT",
1362 <  "HAVENT_READ_CONF", "HIDDEN", "HIDDEN_NAME", "HIDE_SERVER_IPS",
1363 <  "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK",
1364 <  "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "KILL",
1365 <  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KLINE_REASON",
1366 <  "KLINE_WITH_REASON", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1367 <  "LINKS_DELAY", "LISTEN", "T_LOG", "MAX_ACCEPT", "MAX_BANS",
1368 <  "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1369 <  "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1370 <  "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1371 <  "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1372 <  "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1373 <  "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1374 <  "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1375 <  "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID",
1376 <  "OPER_ONLY_UMODES", "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES",
1377 <  "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE",
1378 <  "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT",
1379 <  "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T",
1380 <  "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",
1381 <  "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",
1382 <  "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "T_SSL_CONNECTION_METHOD",
1360 >  "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT", "GLINE_TIME",
1361 >  "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1362 >  "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1363 >  "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SPOOF_IPS",
1364 >  "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1365 >  "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT",
1366 >  "KLINE_REASON", "KLINE_WITH_REASON", "KNOCK_DELAY",
1367 >  "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY", "LISTEN", "T_LOG",
1368 >  "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER",
1369 >  "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL", "MAX_NICK_CHANGES",
1370 >  "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS", "MAX_WATCH",
1371 >  "MESSAGE_LOCALE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", "MODULE",
1372 >  "MODULES", "NAME", "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME",
1373 >  "NICK", "NICK_CHANGES", "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT",
1374 >  "NO_OPER_FLOOD", "NO_TILDE", "NUMBER", "NUMBER_PER_IDENT",
1375 >  "NUMBER_PER_CIDR", "NUMBER_PER_IP", "NUMBER_PER_IP_GLOBAL", "OPERATOR",
1376 >  "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1377 >  "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME",
1378 >  "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE",
1379 >  "PING_TIME", "PING_WARNING", "PORT", "QSTRING", "QUIET_ON_BAN", "REASON",
1380 >  "REDIRPORT", "REDIRSERV", "REGEX_T", "REHASH", "TREJECT_HOLD_TIME",
1381 >  "REMOTE", "REMOTEBAN", "RESTRICT_CHANNELS", "RESTRICTED",
1382 >  "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE",
1383 >  "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD",
1384    "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES",
1385    "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD", "SERVERHIDE",
1386    "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES", "T_SHARED",
# Line 1396 | Line 1389 | static const char *const yytname[] =
1389    "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED", "T_REJECT",
1390    "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1391    "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1392 <  "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DLINE", "T_DRONE",
1393 <  "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1394 <  "T_MAX_CLIENTS", "T_NCHANGE", "T_OPERWALL", "T_REJ", "T_SERVER",
1395 <  "T_SERVNOTICE", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES", "T_UNAUTH",
1396 <  "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_GLOBOPS",
1397 <  "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME", "T_TIMESTAMP",
1398 <  "THROTTLE_TIME", "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE",
1399 <  "TRESV", "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX",
1400 <  "USE_KNOCK", "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6",
1401 <  "XLINE", "WARN", "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'",
1402 <  "'{'", "'='", "','", "$accept", "conf", "conf_item", "timespec_",
1392 >  "T_SSL_CIPHER_LIST", "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DLINE",
1393 >  "T_DRONE", "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6",
1394 >  "T_LOCOPS", "T_MAX_CLIENTS", "T_NCHANGE", "T_OPERWALL", "T_REJ",
1395 >  "T_SERVER", "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL",
1396 >  "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV",
1397 >  "T_UNXLINE", "T_GLOBOPS", "T_WALLOP", "T_RESTART", "T_SERVICE",
1398 >  "T_SERVICES_NAME", "THROTTLE_TIME", "TOPICBURST", "TRUE_NO_OPER_FLOOD",
1399 >  "TKLINE", "TXLINE", "TRESV", "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT",
1400 >  "USE_INVEX", "USE_KNOCK", "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST",
1401 >  "VHOST6", "XLINE", "WARN", "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'",
1402 >  "'}'", "'{'", "'='", "','", "$accept", "conf", "conf_item", "timespec_",
1403    "timespec", "sizespec_", "sizespec", "modules_entry", "modules_items",
1404    "modules_item", "modules_module", "modules_path", "serverinfo_entry",
1405 <  "serverinfo_items", "serverinfo_item",
1406 <  "serverinfo_ssl_connection_method", "$@1", "method_types",
1407 <  "method_type_item", "serverinfo_ssl_certificate_file",
1408 <  "serverinfo_rsa_private_key_file", "serverinfo_name", "serverinfo_sid",
1405 >  "serverinfo_items", "serverinfo_item", "serverinfo_ssl_client_method",
1406 >  "serverinfo_ssl_server_method", "client_method_types",
1407 >  "client_method_type_item", "server_method_types",
1408 >  "server_method_type_item", "serverinfo_ssl_certificate_file",
1409 >  "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1410 >  "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1411    "serverinfo_description", "serverinfo_network_name",
1412    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1413    "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1414    "admin_item", "admin_name", "admin_email", "admin_description",
1415    "logging_entry", "logging_items", "logging_item", "logging_use_logging",
1416 <  "logging_timestamp", "logging_file_entry", "$@2", "logging_file_items",
1417 <  "logging_file_item", "logging_file_name", "logging_file_size",
1418 <  "logging_file_type", "$@3", "logging_file_type_items",
1419 <  "logging_file_type_item", "oper_entry", "$@4", "oper_items", "oper_item",
1420 <  "oper_name", "oper_user", "oper_password", "oper_encrypted",
1421 <  "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@5",
1422 <  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@6",
1423 <  "oper_flags_items", "oper_flags_item", "class_entry", "$@7",
1424 <  "class_items", "class_item", "class_name", "class_ping_time",
1425 <  "class_ping_warning", "class_number_per_ip", "class_connectfreq",
1426 <  "class_max_number", "class_max_global", "class_max_local",
1427 <  "class_max_ident", "class_sendq", "class_cidr_bitlen_ipv4",
1428 <  "class_cidr_bitlen_ipv6", "class_number_per_cidr", "listen_entry", "$@8",
1429 <  "listen_flags", "$@9", "listen_flags_items", "listen_flags_item",
1430 <  "listen_items", "listen_item", "listen_port", "$@10", "port_items",
1431 <  "port_item", "listen_address", "listen_host", "auth_entry", "$@11",
1432 <  "auth_items", "auth_item", "auth_user", "auth_passwd", "auth_class",
1433 <  "auth_encrypted", "auth_flags", "$@12", "auth_flags_items",
1434 <  "auth_flags_item", "auth_spoof", "auth_redir_serv", "auth_redir_port",
1435 <  "resv_entry", "$@13", "resv_items", "resv_item", "resv_creason",
1436 <  "resv_channel", "resv_nick", "service_entry", "service_items",
1437 <  "service_item", "service_name", "shared_entry", "$@14", "shared_items",
1438 <  "shared_item", "shared_name", "shared_user", "shared_type", "$@15",
1439 <  "shared_types", "shared_type_item", "cluster_entry", "$@16",
1440 <  "cluster_items", "cluster_item", "cluster_name", "cluster_type", "$@17",
1441 <  "cluster_types", "cluster_type_item", "connect_entry", "$@18",
1442 <  "connect_items", "connect_item", "connect_name", "connect_host",
1443 <  "connect_vhost", "connect_send_password", "connect_accept_password",
1444 <  "connect_port", "connect_aftype", "connect_flags", "$@19",
1445 <  "connect_flags_items", "connect_flags_item", "connect_encrypted",
1446 <  "connect_hub_mask", "connect_leaf_mask", "connect_class", "kill_entry",
1447 <  "$@20", "kill_type", "$@21", "kill_type_items", "kill_type_item",
1448 <  "kill_items", "kill_item", "kill_user", "kill_reason", "deny_entry",
1449 <  "$@22", "deny_items", "deny_item", "deny_ip", "deny_reason",
1450 <  "exempt_entry", "exempt_items", "exempt_item", "exempt_ip",
1451 <  "gecos_entry", "$@23", "gecos_flags", "$@24", "gecos_flags_items",
1452 <  "gecos_flags_item", "gecos_items", "gecos_item", "gecos_name",
1453 <  "gecos_reason", "general_entry", "general_items", "general_item",
1454 <  "general_max_watch", "general_gline_min_cidr", "general_gline_min_cidr6",
1455 <  "general_use_whois_actually", "general_reject_hold_time",
1456 <  "general_tkline_expire_notices", "general_kill_chase_time_limit",
1457 <  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1458 <  "general_disable_remote_commands", "general_failed_oper_notice",
1459 <  "general_anti_nick_flood", "general_max_nick_time",
1460 <  "general_max_nick_changes", "general_max_accept",
1461 <  "general_anti_spam_exit_message_time", "general_ts_warn_delta",
1462 <  "general_ts_max_delta", "general_havent_read_conf",
1463 <  "general_kline_with_reason", "general_kline_reason",
1464 <  "general_invisible_on_connect", "general_warn_no_nline",
1465 <  "general_stats_e_disabled", "general_stats_o_oper_only",
1466 <  "general_stats_P_oper_only", "general_stats_k_oper_only",
1467 <  "general_stats_i_oper_only", "general_pace_wait",
1468 <  "general_caller_id_wait", "general_opers_bypass_callerid",
1469 <  "general_pace_wait_simple", "general_short_motd",
1470 <  "general_no_oper_flood", "general_true_no_oper_flood",
1471 <  "general_oper_pass_resv", "general_message_locale",
1472 <  "general_dots_in_ident", "general_max_targets", "general_use_egd",
1473 <  "general_egdpool_path", "general_services_name", "general_ping_cookie",
1474 <  "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1475 <  "$@25", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1476 <  "$@26", "umode_items", "umode_item", "general_min_nonwildcard",
1477 <  "general_min_nonwildcard_simple", "general_default_floodcount",
1478 <  "general_client_flood", "gline_entry", "$@27", "gline_items",
1479 <  "gline_item", "gline_enable", "gline_duration", "gline_logging", "$@28",
1480 <  "gline_logging_types", "gline_logging_type_item", "gline_user",
1481 <  "gline_server", "gline_action", "$@29", "gdeny_types", "gdeny_type_item",
1482 <  "channel_entry", "channel_items", "channel_item",
1483 <  "channel_disable_fake_channels", "channel_restrict_channels",
1484 <  "channel_disable_local_channels", "channel_use_except",
1490 <  "channel_use_invex", "channel_use_knock", "channel_knock_delay",
1491 <  "channel_knock_delay_channel", "channel_max_chans_per_user",
1416 >  "logging_file_entry", "$@1", "logging_file_items", "logging_file_item",
1417 >  "logging_file_name", "logging_file_size", "logging_file_type", "$@2",
1418 >  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@3",
1419 >  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1420 >  "oper_encrypted", "oper_rsa_public_key_file", "oper_class",
1421 >  "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1422 >  "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1423 >  "class_entry", "$@6", "class_items", "class_item", "class_name",
1424 >  "class_ping_time", "class_ping_warning", "class_number_per_ip",
1425 >  "class_connectfreq", "class_max_number", "class_max_global",
1426 >  "class_max_local", "class_max_ident", "class_sendq",
1427 >  "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1428 >  "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1429 >  "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1430 >  "listen_port", "$@9", "port_items", "port_item", "listen_address",
1431 >  "listen_host", "auth_entry", "$@10", "auth_items", "auth_item",
1432 >  "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1433 >  "$@11", "auth_flags_items", "auth_flags_item", "auth_spoof",
1434 >  "auth_redir_serv", "auth_redir_port", "resv_entry", "$@12", "resv_items",
1435 >  "resv_item", "resv_creason", "resv_channel", "resv_nick",
1436 >  "service_entry", "service_items", "service_item", "service_name",
1437 >  "shared_entry", "$@13", "shared_items", "shared_item", "shared_name",
1438 >  "shared_user", "shared_type", "$@14", "shared_types", "shared_type_item",
1439 >  "cluster_entry", "$@15", "cluster_items", "cluster_item", "cluster_name",
1440 >  "cluster_type", "$@16", "cluster_types", "cluster_type_item",
1441 >  "connect_entry", "$@17", "connect_items", "connect_item", "connect_name",
1442 >  "connect_host", "connect_vhost", "connect_send_password",
1443 >  "connect_accept_password", "connect_port", "connect_aftype",
1444 >  "connect_flags", "$@18", "connect_flags_items", "connect_flags_item",
1445 >  "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1446 >  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@19",
1447 >  "kill_type", "$@20", "kill_type_items", "kill_type_item", "kill_items",
1448 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@21",
1449 >  "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1450 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@22",
1451 >  "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1452 >  "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1453 >  "general_entry", "general_items", "general_item", "general_max_watch",
1454 >  "general_gline_enable", "general_gline_duration",
1455 >  "general_gline_request_duration", "general_gline_min_cidr",
1456 >  "general_gline_min_cidr6", "general_use_whois_actually",
1457 >  "general_reject_hold_time", "general_tkline_expire_notices",
1458 >  "general_kill_chase_time_limit", "general_hide_spoof_ips",
1459 >  "general_ignore_bogus_ts", "general_disable_remote_commands",
1460 >  "general_failed_oper_notice", "general_anti_nick_flood",
1461 >  "general_max_nick_time", "general_max_nick_changes",
1462 >  "general_max_accept", "general_anti_spam_exit_message_time",
1463 >  "general_ts_warn_delta", "general_ts_max_delta",
1464 >  "general_havent_read_conf", "general_kline_with_reason",
1465 >  "general_kline_reason", "general_invisible_on_connect",
1466 >  "general_warn_no_nline", "general_stats_e_disabled",
1467 >  "general_stats_o_oper_only", "general_stats_P_oper_only",
1468 >  "general_stats_k_oper_only", "general_stats_i_oper_only",
1469 >  "general_pace_wait", "general_caller_id_wait",
1470 >  "general_opers_bypass_callerid", "general_pace_wait_simple",
1471 >  "general_short_motd", "general_no_oper_flood",
1472 >  "general_true_no_oper_flood", "general_oper_pass_resv",
1473 >  "general_message_locale", "general_dots_in_ident", "general_max_targets",
1474 >  "general_use_egd", "general_egdpool_path", "general_services_name",
1475 >  "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1476 >  "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1477 >  "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1478 >  "general_min_nonwildcard", "general_min_nonwildcard_simple",
1479 >  "general_default_floodcount", "general_client_flood", "channel_entry",
1480 >  "channel_items", "channel_item", "channel_disable_fake_channels",
1481 >  "channel_restrict_channels", "channel_disable_local_channels",
1482 >  "channel_use_except", "channel_use_invex", "channel_use_knock",
1483 >  "channel_knock_delay", "channel_knock_delay_channel",
1484 >  "channel_max_chans_per_user", "channel_max_chans_per_oper",
1485    "channel_quiet_on_ban", "channel_max_bans",
1486    "channel_default_split_user_count", "channel_default_split_server_count",
1487    "channel_no_create_on_split", "channel_no_join_on_split",
1488 <  "channel_burst_topicwho", "channel_jflood_count", "channel_jflood_time",
1489 <  "serverhide_entry", "serverhide_items", "serverhide_item",
1490 <  "serverhide_flatten_links", "serverhide_hide_servers",
1491 <  "serverhide_hidden_name", "serverhide_links_delay", "serverhide_hidden",
1492 <  "serverhide_disable_hidden", "serverhide_hide_server_ips", 0
1488 >  "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1489 >  "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1490 >  "serverhide_hide_servers", "serverhide_hidden_name",
1491 >  "serverhide_links_delay", "serverhide_hidden",
1492 >  "serverhide_disable_hidden", "serverhide_hide_server_ips", YY_NULL
1493   };
1494   #endif
1495  
# Line 1528 | Line 1521 | static const yytype_uint16 yytoknum[] =
1521       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1522       465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1523       475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1524 <     485,   486,   487,   488,   489,   490,   491,   492,   493,    59,
1525 <     125,   123,    61,    44
1524 >     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1525 >     495,   496,   497,   498,    59,   125,   123,    61,    44
1526   };
1527   # endif
1528  
1529   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1530   static const yytype_uint16 yyr1[] =
1531   {
1532 <       0,   244,   245,   245,   246,   246,   246,   246,   246,   246,
1533 <     246,   246,   246,   246,   246,   246,   246,   246,   246,   246,
1534 <     246,   246,   246,   246,   246,   246,   246,   247,   247,   248,
1535 <     248,   248,   248,   248,   248,   249,   249,   250,   250,   250,
1536 <     250,   251,   252,   252,   253,   253,   253,   254,   255,   256,
1537 <     257,   257,   258,   258,   258,   258,   258,   258,   258,   258,
1538 <     258,   258,   258,   258,   258,   260,   259,   261,   261,   262,
1539 <     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
1540 <     272,   273,   274,   275,   275,   276,   276,   276,   276,   277,
1541 <     278,   279,   280,   281,   281,   282,   282,   282,   282,   283,
1542 <     284,   286,   285,   287,   287,   288,   288,   288,   288,   289,
1543 <     290,   290,   292,   291,   293,   293,   294,   294,   294,   294,
1544 <     294,   294,   294,   296,   295,   297,   297,   298,   298,   298,
1545 <     298,   298,   298,   298,   298,   298,   299,   300,   301,   302,
1546 <     303,   304,   306,   305,   307,   307,   308,   308,   308,   308,
1554 <     308,   308,   308,   308,   308,   308,   308,   308,   308,   308,
1555 <     308,   308,   308,   308,   308,   308,   310,   309,   311,   311,
1556 <     312,   312,   312,   312,   312,   312,   312,   312,   312,   312,
1557 <     312,   312,   312,   312,   312,   312,   312,   312,   314,   313,
1532 >       0,   249,   250,   250,   251,   251,   251,   251,   251,   251,
1533 >     251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
1534 >     251,   251,   251,   251,   251,   251,   252,   252,   253,   253,
1535 >     253,   253,   253,   253,   254,   254,   255,   255,   255,   255,
1536 >     256,   257,   257,   258,   258,   258,   259,   260,   261,   262,
1537 >     262,   263,   263,   263,   263,   263,   263,   263,   263,   263,
1538 >     263,   263,   263,   263,   263,   263,   263,   264,   265,   266,
1539 >     266,   267,   267,   268,   268,   269,   269,   270,   271,   272,
1540 >     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
1541 >     283,   284,   284,   285,   285,   285,   285,   286,   287,   288,
1542 >     289,   290,   290,   291,   291,   291,   292,   294,   293,   295,
1543 >     295,   296,   296,   296,   296,   297,   298,   298,   300,   299,
1544 >     301,   301,   302,   302,   302,   302,   302,   302,   302,   304,
1545 >     303,   305,   305,   306,   306,   306,   306,   306,   306,   306,
1546 >     306,   306,   307,   308,   309,   310,   311,   312,   314,   313,
1547       315,   315,   316,   316,   316,   316,   316,   316,   316,   316,
1548 <     316,   316,   316,   316,   316,   316,   317,   318,   319,   320,
1549 <     321,   322,   323,   324,   325,   326,   327,   328,   329,   331,
1550 <     330,   333,   332,   334,   334,   335,   335,   335,   336,   336,
1551 <     337,   337,   337,   337,   337,   339,   338,   340,   340,   341,
1552 <     341,   342,   343,   345,   344,   346,   346,   347,   347,   347,
1553 <     347,   347,   347,   347,   347,   347,   348,   349,   350,   351,
1548 >     316,   316,   316,   316,   316,   316,   316,   316,   316,   316,
1549 >     316,   316,   318,   317,   319,   319,   320,   320,   320,   320,
1550 >     320,   320,   320,   320,   320,   320,   320,   320,   320,   320,
1551 >     320,   320,   320,   320,   320,   322,   321,   323,   323,   324,
1552 >     324,   324,   324,   324,   324,   324,   324,   324,   324,   324,
1553 >     324,   324,   324,   325,   326,   327,   328,   329,   330,   331,
1554 >     332,   333,   334,   335,   336,   337,   339,   338,   341,   340,
1555 >     342,   342,   343,   343,   343,   344,   344,   345,   345,   345,
1556 >     345,   345,   347,   346,   348,   348,   349,   349,   350,   351,
1557       353,   352,   354,   354,   355,   355,   355,   355,   355,   355,
1558 <     355,   355,   355,   356,   357,   358,   360,   359,   361,   361,
1559 <     362,   362,   362,   362,   363,   364,   365,   366,   367,   367,
1560 <     368,   368,   369,   371,   370,   372,   372,   373,   373,   373,
1561 <     373,   374,   375,   377,   376,   378,   378,   379,   379,   379,
1562 <     379,   379,   379,   379,   379,   379,   379,   381,   380,   382,
1563 <     382,   383,   383,   383,   384,   386,   385,   387,   387,   388,
1564 <     388,   388,   388,   388,   388,   388,   388,   388,   388,   390,
1565 <     389,   391,   391,   392,   392,   392,   392,   392,   392,   392,
1566 <     392,   392,   392,   392,   392,   392,   393,   394,   395,   396,
1567 <     397,   398,   399,   399,   401,   400,   402,   402,   403,   403,
1568 <     403,   404,   405,   406,   407,   409,   408,   411,   410,   412,
1569 <     412,   413,   414,   414,   415,   415,   415,   415,   416,   417,
1570 <     419,   418,   420,   420,   421,   421,   421,   422,   423,   424,
1571 <     425,   425,   426,   426,   427,   429,   428,   431,   430,   432,
1572 <     432,   433,   434,   434,   435,   435,   435,   435,   436,   437,
1573 <     438,   439,   439,   440,   440,   440,   440,   440,   440,   440,
1574 <     440,   440,   440,   440,   440,   440,   440,   440,   440,   440,
1575 <     440,   440,   440,   440,   440,   440,   440,   440,   440,   440,
1576 <     440,   440,   440,   440,   440,   440,   440,   440,   440,   440,
1577 <     440,   440,   440,   440,   440,   440,   440,   440,   440,   440,
1578 <     440,   440,   440,   440,   440,   441,   442,   443,   444,   445,
1579 <     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
1580 <     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
1581 <     466,   467,   467,   468,   468,   469,   470,   471,   472,   473,
1582 <     474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
1583 <     484,   485,   487,   486,   488,   488,   489,   489,   489,   489,
1584 <     489,   489,   489,   489,   489,   489,   489,   489,   489,   489,
1585 <     489,   489,   489,   489,   489,   489,   491,   490,   492,   492,
1586 <     493,   493,   493,   493,   493,   493,   493,   493,   493,   493,
1587 <     493,   493,   493,   493,   493,   493,   493,   493,   493,   493,
1588 <     494,   495,   496,   497,   499,   498,   500,   500,   501,   501,
1589 <     501,   501,   501,   501,   501,   502,   503,   505,   504,   506,
1590 <     506,   507,   507,   508,   509,   511,   510,   512,   512,   513,
1591 <     513,   514,   515,   515,   516,   516,   516,   516,   516,   516,
1592 <     516,   516,   516,   516,   516,   516,   516,   516,   516,   516,
1593 <     516,   516,   516,   517,   518,   519,   520,   521,   522,   523,
1594 <     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
1595 <     534,   535,   536,   536,   537,   537,   537,   537,   537,   537,
1596 <     537,   537,   538,   539,   540,   541,   542,   543,   544
1558 >     355,   355,   355,   356,   357,   358,   359,   361,   360,   362,
1559 >     362,   363,   363,   363,   363,   363,   363,   363,   363,   363,
1560 >     364,   365,   366,   368,   367,   369,   369,   370,   370,   370,
1561 >     370,   371,   372,   373,   374,   375,   375,   376,   376,   377,
1562 >     379,   378,   380,   380,   381,   381,   381,   381,   382,   383,
1563 >     385,   384,   386,   386,   387,   387,   387,   387,   387,   387,
1564 >     387,   387,   387,   387,   389,   388,   390,   390,   391,   391,
1565 >     391,   392,   394,   393,   395,   395,   396,   396,   396,   396,
1566 >     396,   396,   396,   396,   396,   396,   398,   397,   399,   399,
1567 >     400,   400,   400,   400,   400,   400,   400,   400,   400,   400,
1568 >     400,   400,   400,   400,   401,   402,   403,   404,   405,   406,
1569 >     407,   407,   409,   408,   410,   410,   411,   411,   411,   411,
1570 >     412,   413,   414,   415,   416,   418,   417,   420,   419,   421,
1571 >     421,   422,   423,   423,   424,   424,   424,   424,   425,   426,
1572 >     428,   427,   429,   429,   430,   430,   430,   431,   432,   433,
1573 >     434,   434,   435,   435,   436,   438,   437,   440,   439,   441,
1574 >     441,   442,   443,   443,   444,   444,   444,   444,   445,   446,
1575 >     447,   448,   448,   449,   449,   449,   449,   449,   449,   449,
1576 >     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
1577 >     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
1578 >     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
1579 >     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
1580 >     449,   449,   449,   449,   449,   449,   449,   449,   450,   451,
1581 >     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
1582 >     462,   463,   464,   465,   466,   467,   468,   469,   470,   471,
1583 >     472,   473,   474,   475,   476,   477,   478,   479,   479,   480,
1584 >     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
1585 >     490,   491,   492,   493,   494,   495,   496,   497,   499,   498,
1586 >     500,   500,   501,   501,   501,   501,   501,   501,   501,   501,
1587 >     501,   501,   501,   501,   501,   501,   501,   501,   501,   501,
1588 >     501,   501,   503,   502,   504,   504,   505,   505,   505,   505,
1589 >     505,   505,   505,   505,   505,   505,   505,   505,   505,   505,
1590 >     505,   505,   505,   505,   505,   505,   506,   507,   508,   509,
1591 >     510,   511,   511,   512,   512,   512,   512,   512,   512,   512,
1592 >     512,   512,   512,   512,   512,   512,   512,   512,   512,   512,
1593 >     512,   512,   513,   514,   515,   516,   517,   518,   519,   520,
1594 >     521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
1595 >     531,   532,   532,   533,   533,   533,   533,   533,   533,   533,
1596 >     533,   534,   535,   536,   537,   538,   539,   540
1597   };
1598  
1599   /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1609 | Line 1601 | static const yytype_uint8 yyr2[] =
1601   {
1602         0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1603         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1604 <       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
1605 <       3,     3,     3,     3,     3,     0,     1,     2,     3,     3,
1606 <       3,     5,     2,     1,     1,     1,     2,     4,     4,     5,
1615 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1616 <       1,     1,     1,     1,     2,     0,     5,     3,     1,     1,
1617 <       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1618 <       4,     4,     5,     2,     1,     1,     1,     1,     2,     4,
1619 <       4,     4,     5,     2,     1,     1,     1,     1,     2,     4,
1620 <       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
1621 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1622 <       1,     1,     1,     0,     6,     2,     1,     1,     1,     1,
1623 <       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
1624 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1604 >       1,     1,     1,     1,     2,     2,     0,     1,     2,     3,
1605 >       3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1606 >       5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1607         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1608 <       1,     1,     1,     1,     1,     1,     0,     5,     3,     1,
1608 >       1,     1,     1,     1,     1,     1,     2,     4,     4,     3,
1609 >       1,     1,     1,     3,     1,     1,     1,     4,     4,     4,
1610 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1611 >       5,     2,     1,     1,     1,     1,     2,     4,     4,     4,
1612 >       5,     2,     1,     1,     1,     2,     4,     0,     6,     2,
1613 >       1,     1,     1,     1,     2,     4,     4,     4,     0,     5,
1614 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1615 >       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1616 >       1,     2,     4,     4,     4,     4,     4,     4,     0,     5,
1617 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1618 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1619 >       1,     1,     0,     5,     3,     1,     1,     1,     1,     1,
1620 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1621 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1622         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1623 <       1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
1624 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1625 <       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
1626 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     0,
1627 <       6,     0,     5,     3,     1,     1,     1,     1,     2,     1,
1628 <       1,     1,     1,     1,     2,     0,     5,     3,     1,     1,
1629 <       3,     4,     4,     0,     6,     2,     1,     1,     1,     1,
1630 <       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
1623 >       1,     1,     2,     4,     4,     4,     4,     4,     4,     4,
1624 >       4,     4,     4,     4,     4,     4,     0,     6,     0,     5,
1625 >       3,     1,     1,     1,     1,     2,     1,     1,     1,     1,
1626 >       1,     2,     0,     5,     3,     1,     1,     3,     4,     4,
1627 >       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1628 >       1,     1,     2,     4,     4,     4,     4,     0,     5,     3,
1629 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1630 >       4,     4,     4,     0,     6,     2,     1,     1,     1,     1,
1631 >       2,     4,     4,     4,     5,     2,     1,     1,     1,     4,
1632 >       0,     6,     2,     1,     1,     1,     1,     2,     4,     4,
1633         0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
1634 <       1,     1,     1,     4,     4,     4,     0,     6,     2,     1,
1635 <       1,     1,     1,     2,     4,     4,     4,     5,     2,     1,
1636 <       1,     1,     4,     0,     6,     2,     1,     1,     1,     1,
1637 <       2,     4,     4,     0,     5,     3,     1,     1,     1,     1,
1638 <       1,     1,     1,     1,     1,     1,     1,     0,     6,     2,
1639 <       1,     1,     1,     2,     4,     0,     5,     3,     1,     1,
1640 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1644 <       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1645 <       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
1646 <       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1647 <       1,     4,     4,     4,     4,     0,     6,     0,     5,     3,
1634 >       1,     1,     1,     1,     0,     6,     2,     1,     1,     1,
1635 >       2,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1636 >       1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
1637 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1638 >       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
1639 >       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1640 >       4,     4,     4,     4,     4,     0,     6,     0,     5,     3,
1641         1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1642         0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
1643         2,     1,     1,     1,     4,     0,     6,     0,     5,     3,
# Line 1654 | Line 1647 | static const yytype_uint8 yyr2[] =
1647         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1648         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1649         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1650 <       1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
1650 >       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1651         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1652         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1653         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1654         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1655 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1655 >       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
1656 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1657         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1658 <       1,     1,     1,     1,     1,     1,     0,     5,     3,     1,
1658 >       1,     1,     0,     5,     3,     1,     1,     1,     1,     1,
1659         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1660 +       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
1661 +       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1662         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1663 <       4,     4,     4,     4,     0,     6,     2,     1,     1,     1,
1668 <       1,     1,     1,     1,     1,     4,     4,     0,     5,     3,
1669 <       1,     1,     1,     4,     4,     0,     5,     3,     1,     1,
1670 <       1,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1671 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1672 <       1,     1,     1,     4,     4,     4,     4,     4,     4,     4,
1663 >       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
1664         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1665 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1666 <       1,     1,     4,     4,     4,     4,     4,     4,     4
1665 >       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1666 >       1,     4,     4,     4,     4,     4,     4,     4
1667   };
1668  
1669   /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
# Line 1680 | Line 1671 | static const yytype_uint8 yyr2[] =
1671     means the default is an error.  */
1672   static const yytype_uint16 yydefact[] =
1673   {
1674 <       2,     0,     1,     0,     0,     0,   188,   339,   390,     0,
1675 <     405,     0,   574,   243,   375,   219,     0,     0,   123,   276,
1676 <       0,     0,   293,   317,     0,     3,    24,    11,     4,     5,
1677 <       6,     8,     9,    10,    13,    14,    15,    16,    17,    18,
1678 <      19,    20,    23,    21,    22,     7,    12,    25,    26,     0,
1674 >       2,     0,     1,     0,     0,     0,   195,   346,   400,     0,
1675 >     415,     0,   250,   385,   226,     0,     0,   129,   283,     0,
1676 >       0,   300,   324,     0,     3,    23,    11,     4,     5,     6,
1677 >       8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1678 >      20,    22,    21,     7,    12,    24,    25,     0,     0,     0,
1679         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1680         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1681 <       0,     0,     0,     0,     0,    84,    85,    87,    86,   622,
1681 >       0,     0,    92,    93,    95,    94,   611,     0,     0,     0,
1682         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1683 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   603,
1684 <     621,   616,   604,   605,   606,   607,   609,   610,   611,   612,
1685 <     608,   613,   614,   615,   617,   618,   619,   620,     0,     0,
1686 <       0,   403,     0,     0,   401,   402,     0,   474,     0,     0,
1683 >       0,     0,     0,     0,     0,     0,   592,   610,   606,   593,
1684 >     594,   595,   596,   598,   599,   600,   601,   602,   597,   603,
1685 >     604,   605,   607,   608,   609,     0,     0,     0,   413,     0,
1686 >       0,   411,   412,     0,   487,     0,     0,     0,     0,     0,
1687         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1688         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1689 <       0,     0,     0,     0,     0,     0,   546,     0,   522,     0,
1689 >       0,     0,     0,     0,     0,     0,   562,     0,   538,     0,
1690         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1691         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1692 <     422,   472,   467,   468,   469,   470,   466,   433,   423,   424,
1693 <     460,   425,   426,   427,   428,   429,   430,   431,   432,   463,
1694 <     434,   435,   436,   437,   471,   439,   444,   440,   442,   441,
1695 <     455,   456,   443,   445,   446,   447,   448,   449,   438,   451,
1696 <     452,   453,   473,   464,   465,   462,   454,   450,   458,   459,
1697 <     457,   461,     0,     0,     0,     0,     0,     0,     0,     0,
1698 <      94,    95,    96,    97,     0,     0,     0,     0,     0,    43,
1699 <      44,    45,     0,     0,   651,     0,     0,     0,     0,     0,
1700 <       0,     0,     0,   643,   644,   645,   649,   646,   648,   647,
1701 <     650,     0,     0,     0,     0,     0,     0,     0,     0,    65,
1702 <       0,     0,     0,     0,     0,    51,    63,    62,    59,    52,
1703 <      61,    55,    56,    57,    53,    60,    58,    54,     0,     0,
1704 <     291,     0,     0,   289,   290,    88,     0,     0,     0,     0,
1705 <      83,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1692 >     432,   485,   477,   478,   479,   480,   481,   482,   483,   476,
1693 >     443,   433,   434,   470,   435,   436,   437,   438,   439,   440,
1694 >     441,   442,   473,   444,   445,   446,   447,   484,   449,   454,
1695 >     450,   452,   451,   465,   466,   453,   455,   456,   457,   458,
1696 >     459,   448,   461,   462,   463,   486,   474,   475,   472,   464,
1697 >     460,   468,   469,   467,   471,     0,     0,     0,     0,     0,
1698 >       0,   102,   103,   104,     0,     0,     0,     0,     0,    42,
1699 >      43,    44,     0,     0,   640,     0,     0,     0,     0,     0,
1700 >       0,     0,     0,   632,   633,   634,   638,   635,   637,   636,
1701 >     639,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1702 >       0,     0,     0,     0,     0,     0,     0,     0,    50,    63,
1703 >      64,    62,    59,    58,    65,    51,    61,    54,    55,    56,
1704 >      52,    60,    57,    53,     0,     0,   298,     0,     0,   296,
1705 >     297,    96,     0,     0,     0,     0,    91,     0,     0,     0,
1706         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1707 <     602,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1717 <       0,     0,     0,     0,     0,     0,   191,   192,   195,   196,
1718 <     198,   199,   200,   201,   202,   203,   204,   193,   194,   197,
1719 <       0,     0,     0,     0,     0,   364,     0,     0,     0,     0,
1720 <       0,     0,     0,     0,   342,   343,   344,   345,   346,   347,
1721 <     349,   348,   350,   354,   351,   352,   353,   396,     0,     0,
1722 <       0,   393,   394,   395,     0,     0,   400,   417,     0,     0,
1723 <     407,   416,     0,   413,   414,   415,     0,     0,     0,     0,
1707 >       0,     0,     0,     0,     0,     0,   591,     0,     0,     0,
1708         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1709 +       0,     0,   198,   199,   202,   203,   205,   206,   207,   208,
1710 +     209,   210,   211,   200,   201,   204,     0,     0,     0,     0,
1711 +       0,   372,     0,     0,     0,     0,     0,     0,     0,     0,
1712 +       0,   349,   350,   351,   352,   353,   354,   356,   355,   358,
1713 +     362,   359,   360,   361,   357,   406,     0,     0,     0,   403,
1714 +     404,   405,     0,     0,   410,   427,     0,     0,   417,   426,
1715 +       0,   423,   424,   425,     0,     0,     0,     0,     0,     0,
1716         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1717         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1718         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1728       0,     0,     0,     0,     0,     0,     0,     0,   421,   584,
1729     595,     0,     0,   587,     0,     0,     0,   577,   578,   579,
1730     580,   581,   582,   583,     0,     0,     0,   260,     0,     0,
1731       0,     0,     0,     0,   246,   247,   248,   249,   254,   250,
1732     251,   252,   253,   387,     0,   377,     0,   386,     0,   383,
1733     384,   385,     0,   221,     0,     0,     0,   231,     0,   229,
1734     230,   232,   233,    98,     0,     0,     0,    93,     0,    46,
1735       0,     0,     0,    42,     0,     0,     0,   166,     0,     0,
1736       0,   142,     0,     0,   126,   127,   128,   129,   132,   133,
1737     131,   130,   134,     0,     0,     0,     0,     0,   279,   280,
1738     281,   282,     0,     0,     0,     0,     0,     0,     0,     0,
1739     642,    64,     0,     0,     0,     0,     0,     0,     0,     0,
1740       0,     0,     0,     0,     0,    50,     0,     0,   303,     0,
1741       0,   296,   297,   298,   299,     0,     0,   325,     0,   320,
1742     321,   322,     0,     0,   288,     0,     0,     0,    82,     0,
1743       0,     0,     0,     0,    27,     0,     0,     0,     0,     0,
1744       0,     0,     0,     0,     0,     0,     0,     0,   601,   205,
1719         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1720 <       0,     0,     0,     0,   190,   355,     0,     0,     0,     0,
1721 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   341,
1722 <       0,     0,     0,   392,     0,   399,     0,     0,     0,     0,
1723 <     412,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1720 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   431,
1721 >       0,     0,     0,   267,     0,     0,     0,     0,     0,     0,
1722 >     253,   254,   255,   256,   261,   257,   258,   259,   260,   397,
1723 >       0,   387,     0,   396,     0,   393,   394,   395,     0,   228,
1724 >       0,     0,     0,   238,     0,   236,   237,   239,   240,   105,
1725 >       0,     0,   101,     0,    45,     0,     0,     0,    41,     0,
1726 >       0,     0,   172,     0,     0,     0,   148,     0,     0,   132,
1727 >     133,   134,   135,   138,   139,   137,   136,   140,     0,     0,
1728 >       0,     0,     0,   286,   287,   288,   289,     0,     0,     0,
1729 >       0,     0,     0,     0,     0,   631,    66,     0,     0,     0,
1730         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1731 +       0,     0,     0,    49,     0,     0,   310,     0,     0,   303,
1732 +     304,   305,   306,     0,     0,   332,     0,   327,   328,   329,
1733 +       0,     0,   295,     0,     0,     0,    90,     0,     0,     0,
1734 +       0,    26,     0,     0,     0,     0,     0,     0,     0,     0,
1735 +       0,     0,     0,     0,     0,     0,   590,   212,     0,     0,
1736         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1737 +       0,     0,   197,   363,     0,     0,     0,     0,     0,     0,
1738 +       0,     0,     0,     0,     0,     0,     0,     0,   348,     0,
1739 +       0,     0,   402,     0,   409,     0,     0,     0,     0,   422,
1740         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1753       0,     0,     0,     0,     0,     0,     0,    35,     0,     0,
1754       0,     0,     0,     0,     0,   420,     0,     0,     0,     0,
1755       0,     0,     0,   576,   255,     0,     0,     0,     0,     0,
1756       0,     0,     0,     0,   245,     0,     0,     0,     0,   382,
1757     234,     0,     0,     0,     0,     0,   228,     0,     0,    92,
1758       0,     0,     0,    41,   135,     0,     0,     0,     0,     0,
1759       0,     0,     0,     0,   125,   283,     0,     0,     0,     0,
1760     278,     0,     0,     0,     0,     0,     0,     0,   641,     0,
1741         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1762       0,    49,   300,     0,     0,     0,     0,   295,   323,     0,
1763       0,     0,   319,     0,   287,    91,    90,    89,   638,   635,
1764     634,   623,   625,    27,    27,    27,    27,    27,    29,    28,
1765     629,   630,   633,   631,   636,   637,   639,   640,   632,   624,
1766     626,   627,   628,     0,     0,     0,     0,     0,     0,     0,
1767       0,     0,     0,     0,     0,     0,   189,     0,     0,     0,
1742         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1743 <     340,     0,     0,   391,   404,     0,     0,     0,   406,   486,
1744 <     490,   506,   572,   520,   484,   514,   517,   485,   476,   477,
1745 <     493,   482,   483,   496,   481,   495,   494,   489,   488,   487,
1746 <     515,   475,   513,   570,   571,   510,   507,   557,   550,   567,
1747 <     568,   551,   552,   553,   554,   562,   555,   565,   569,   558,
1748 <     563,   559,   564,   556,   561,   560,   566,     0,   549,   512,
1749 <     532,   526,   543,   544,   527,   528,   529,   530,   538,   531,
1750 <     541,   545,   534,   539,   535,   540,   533,   537,   536,   542,
1751 <       0,   525,   505,   508,   519,   479,   480,   509,   498,   503,
1752 <     504,   501,   502,   499,   500,   492,   491,    35,    35,    35,
1753 <      37,    36,   573,   518,   521,   511,   516,   478,   497,     0,
1754 <       0,     0,     0,     0,     0,   575,     0,     0,     0,     0,
1755 <       0,     0,     0,     0,   244,     0,     0,     0,   376,     0,
1756 <       0,     0,   239,   235,   238,   220,   100,    99,     0,     0,
1757 <     112,     0,     0,   104,   105,   107,   106,    47,    48,     0,
1758 <       0,     0,     0,     0,     0,     0,     0,   124,     0,     0,
1759 <       0,   277,   657,   652,   656,   654,   658,   653,   655,    75,
1760 <      81,    73,    77,    76,    72,    71,    69,    70,     0,    68,
1761 <      74,    80,    78,    79,     0,     0,     0,   294,     0,     0,
1762 <     318,   292,    30,    31,    32,    33,    34,   216,   217,   210,
1763 <     212,   214,   213,   211,   206,   218,   209,   207,   208,   215,
1764 <     360,   362,   363,   374,   371,   368,   369,   370,     0,   367,
1765 <     357,   372,   373,   356,   361,   359,   358,   397,   398,   418,
1766 <     419,   411,     0,   410,   547,     0,   523,     0,    38,    39,
1767 <      40,   600,   599,     0,   598,   586,   585,   592,   591,     0,
1768 <     590,   594,   593,   258,   259,   268,   265,   270,   267,   266,
1769 <     272,   269,   271,   264,     0,   263,   257,   275,   274,   273,
1770 <     256,   389,   381,     0,   380,   388,   226,   227,   225,     0,
1771 <     224,   242,   241,     0,     0,     0,   108,     0,     0,     0,
1772 <       0,   103,   141,   139,   181,   178,   177,   170,   172,   187,
1773 <     182,   185,   180,   171,   186,   174,   183,   175,   184,   179,
1774 <     173,   176,     0,   169,   136,   138,   140,   152,   146,   163,
1775 <     164,   147,   148,   149,   150,   158,   151,   161,   165,   154,
1776 <     159,   155,   160,   153,   157,   156,   162,     0,   145,   137,
1777 <     285,   286,   284,    66,     0,   301,   307,   313,   316,   309,
1778 <     315,   310,   314,   312,   308,   311,     0,   306,   302,   324,
1779 <     329,   335,   338,   331,   337,   332,   336,   334,   330,   333,
1780 <       0,   328,   365,     0,   408,     0,   548,   524,   596,     0,
1781 <     588,     0,   261,     0,   378,     0,   222,     0,   240,   237,
1782 <     236,     0,     0,     0,     0,   102,   167,     0,   143,     0,
1783 <      67,   304,     0,   326,     0,   366,   409,   597,   589,   262,
1784 <     379,   223,   109,   118,   121,   120,   117,   122,   119,   116,
1785 <       0,   115,   111,   110,   168,   144,   305,   327,   113,     0,
1786 <     114
1743 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1744 >       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
1745 >       0,     0,     0,     0,     0,     0,     0,   430,   262,     0,
1746 >       0,     0,     0,     0,     0,     0,     0,     0,   252,     0,
1747 >       0,     0,     0,   392,   241,     0,     0,     0,     0,     0,
1748 >     235,     0,   100,     0,     0,     0,    40,   141,     0,     0,
1749 >       0,     0,     0,     0,     0,     0,     0,   131,   290,     0,
1750 >       0,     0,     0,   285,     0,     0,     0,     0,     0,     0,
1751 >       0,   630,     0,     0,     0,     0,     0,     0,     0,     0,
1752 >      71,    72,     0,    70,    75,    76,     0,    74,     0,     0,
1753 >       0,     0,     0,    48,   307,     0,     0,     0,     0,   302,
1754 >     330,     0,     0,     0,   326,     0,   294,    99,    98,    97,
1755 >     625,   624,   612,   614,    26,    26,    26,    26,    26,    28,
1756 >      27,   618,   619,   623,   621,   620,   626,   627,   628,   629,
1757 >     622,   613,   615,   616,   617,     0,     0,     0,     0,     0,
1758 >       0,     0,     0,     0,     0,     0,     0,     0,   196,     0,
1759 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1760 >       0,     0,     0,   347,     0,     0,   401,   414,     0,     0,
1761 >       0,   416,   502,   506,   522,   588,   536,   500,   530,   533,
1762 >     501,   490,   489,   491,   492,   493,   509,   498,   499,   512,
1763 >     497,   511,   510,   505,   504,   503,   531,   488,   529,   586,
1764 >     587,   526,   523,   573,   566,   583,   584,   567,   568,   569,
1765 >     570,   578,   571,   581,   585,   574,   579,   575,   580,   572,
1766 >     577,   576,   582,     0,   565,   528,   548,   542,   559,   560,
1767 >     543,   544,   545,   546,   554,   547,   557,   561,   550,   555,
1768 >     551,   556,   549,   553,   552,   558,     0,   541,   521,   524,
1769 >     535,   495,   496,   525,   514,   519,   520,   517,   518,   515,
1770 >     516,   508,   507,    34,    34,    34,    36,    35,   589,   534,
1771 >     537,   527,   532,   494,   513,     0,     0,     0,     0,     0,
1772 >       0,     0,     0,   251,     0,     0,     0,   386,     0,     0,
1773 >       0,   246,   242,   245,   227,   106,     0,     0,   118,     0,
1774 >       0,   110,   111,   113,   112,    46,    47,     0,     0,     0,
1775 >       0,     0,     0,     0,     0,   130,     0,     0,     0,   284,
1776 >     646,   641,   645,   643,   647,   642,   644,    83,    89,    81,
1777 >      85,    84,    78,    77,    79,    67,     0,    68,     0,    82,
1778 >      80,    88,    86,    87,     0,     0,     0,   301,     0,     0,
1779 >     325,   299,    29,    30,    31,    32,    33,   223,   224,   217,
1780 >     219,   221,   220,   218,   213,   225,   216,   214,   215,   222,
1781 >     368,   370,   371,   383,   380,   376,   377,   379,   378,     0,
1782 >     375,   365,   381,   382,   364,   369,   367,   384,   366,   407,
1783 >     408,   428,   429,   421,     0,   420,   563,     0,   539,     0,
1784 >      37,    38,    39,   265,   266,   275,   272,   277,   274,   273,
1785 >     279,   276,   278,   271,     0,   270,   264,   282,   281,   280,
1786 >     263,   399,   391,     0,   390,   398,   233,   234,   232,     0,
1787 >     231,   249,   248,     0,     0,     0,   114,     0,     0,     0,
1788 >       0,   109,   147,   145,   187,   184,   183,   176,   178,   194,
1789 >     188,   191,   186,   177,   192,   180,   189,   193,   181,   190,
1790 >     185,   179,   182,     0,   175,   142,   144,   146,   158,   152,
1791 >     169,   170,   153,   154,   155,   156,   164,   157,   167,   171,
1792 >     160,   165,   161,   166,   159,   163,   162,   168,     0,   151,
1793 >     143,   292,   293,   291,    69,    73,   308,   314,   320,   323,
1794 >     316,   322,   317,   321,   319,   315,   318,     0,   313,   309,
1795 >     331,   336,   342,   345,   338,   344,   339,   343,   341,   337,
1796 >     340,     0,   335,   373,     0,   418,     0,   564,   540,   268,
1797 >       0,   388,     0,   229,     0,   247,   244,   243,     0,     0,
1798 >       0,     0,   108,   173,     0,   149,     0,   311,     0,   333,
1799 >       0,   374,   419,   269,   389,   230,   115,   124,   127,   126,
1800 >     123,   128,   125,   122,     0,   121,   117,   116,   174,   150,
1801 >     312,   334,   119,     0,   120
1802   };
1803  
1804   /* YYDEFGOTO[NTERM-NUM].  */
1805   static const yytype_int16 yydefgoto[] =
1806   {
1807 <      -1,     1,    25,   818,   819,   960,   961,    26,   248,   249,
1808 <     250,   251,    27,   284,   285,   286,   569,  1038,  1039,   287,
1809 <     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
1810 <      28,    74,    75,    76,    77,    78,    29,   239,   240,   241,
1811 <     242,   243,   244,  1002,  1003,  1004,  1005,  1006,  1148,  1280,
1812 <    1281,    30,    63,   533,   534,   535,   536,   537,   538,   539,
1813 <     540,   541,   761,  1197,  1198,   542,   757,  1172,  1173,    31,
1814 <      51,   345,   346,   347,   348,   349,   350,   351,   352,   353,
1815 <     354,   355,   356,   357,   358,   359,    32,    60,   507,   741,
1816 <    1139,  1140,   508,   509,   510,  1145,   993,   994,   511,   512,
1817 <      33,    58,   483,   484,   485,   486,   487,   488,   489,   727,
1818 <    1124,  1125,   490,   491,   492,    34,    64,   547,   548,   549,
1819 <     550,   551,    35,   302,   303,   304,    36,    67,   580,   581,
1820 <     582,   583,   584,   794,  1216,  1217,    37,    68,   588,   589,
1821 <     590,   591,   800,  1230,  1231,    38,    52,   373,   374,   375,
1822 <     376,   377,   378,   379,   380,   381,   382,   640,  1078,  1079,
1823 <     383,   384,   385,   386,    39,    59,   497,   736,  1133,  1134,
1824 <     498,   499,   500,   501,    40,    53,   390,   391,   392,   393,
1825 <      41,   123,   124,   125,    42,    55,   401,   658,  1092,  1093,
1826 <     402,   403,   404,   405,    43,   179,   180,   181,   182,   183,
1827 <     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1828 <     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1829 <     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1830 <     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1831 <     224,   225,   226,   436,   940,   941,   227,   434,   917,   918,
1832 <     228,   229,   230,   231,    44,    57,   466,   467,   468,   469,
1833 <     470,   719,  1109,  1110,   471,   472,   473,   716,  1103,  1104,
1834 <      45,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1835 <     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
1836 <     117,    46,   262,   263,   264,   265,   266,   267,   268,   269,
1848 <     270
1807 >      -1,     1,    24,   819,   820,   966,   967,    25,   248,   249,
1808 >     250,   251,    26,   287,   288,   289,   290,   782,   783,   786,
1809 >     787,   291,   292,   293,   294,   295,   296,   297,   298,   299,
1810 >     300,   301,   302,   303,    27,    71,    72,    73,    74,    75,
1811 >      28,   240,   241,   242,   243,   244,  1000,  1001,  1002,  1003,
1812 >    1004,  1138,  1264,  1265,    29,    60,   528,   529,   530,   531,
1813 >     532,   533,   534,   535,   536,   754,  1188,  1189,   537,   750,
1814 >    1163,  1164,    30,    49,   351,   352,   353,   354,   355,   356,
1815 >     357,   358,   359,   360,   361,   362,   363,   364,   365,    31,
1816 >      57,   503,   735,  1129,  1130,   504,   505,   506,  1135,   992,
1817 >     993,   507,   508,    32,    55,   479,   480,   481,   482,   483,
1818 >     484,   485,   721,  1114,  1115,   486,   487,   488,    33,    61,
1819 >     542,   543,   544,   545,   546,    34,   308,   309,   310,    35,
1820 >      64,   578,   579,   580,   581,   582,   796,  1207,  1208,    36,
1821 >      65,   586,   587,   588,   589,   802,  1221,  1222,    37,    50,
1822 >     380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
1823 >     638,  1079,  1080,   390,   391,   392,   393,   394,    38,    56,
1824 >     493,   730,  1123,  1124,   494,   495,   496,   497,    39,    51,
1825 >     398,   399,   400,   401,    40,   120,   121,   122,    41,    53,
1826 >     409,   657,  1094,  1095,   410,   411,   412,   413,    42,   179,
1827 >     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1828 >     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1829 >     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1830 >     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1831 >     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1832 >     447,   946,   947,   230,   445,   923,   924,   231,   232,   233,
1833 >     234,    43,    95,    96,    97,    98,    99,   100,   101,   102,
1834 >     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1835 >     113,   114,    44,   262,   263,   264,   265,   266,   267,   268,
1836 >     269,   270
1837   };
1838  
1839   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1840     STATE-NUM.  */
1841 < #define YYPACT_NINF -772
1841 > #define YYPACT_NINF -784
1842   static const yytype_int16 yypact[] =
1843   {
1844 <    -772,   691,  -772,  -190,  -234,  -231,  -772,  -772,  -772,  -225,
1845 <    -772,  -215,  -772,  -772,  -772,  -772,  -207,  -205,  -772,  -772,
1846 <    -202,  -194,  -772,  -772,  -174,  -772,  -772,  -772,  -772,  -772,
1847 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1848 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,   273,
1849 <     541,  -171,  -168,  -155,    14,  -146,   367,  -143,  -141,  -134,
1850 <    -131,     3,    41,  -128,  -112,   499,   326,  -109,   -98,    20,
1851 <    -115,   -90,   -87,   -81,     4,  -772,  -772,  -772,  -772,  -772,
1852 <     -71,   -68,   -48,   -45,   -24,   -15,    21,    23,    49,    54,
1853 <      57,    63,    77,    87,    88,    90,    98,    99,   274,  -772,
1854 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1855 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,   696,   449,
1856 <      47,  -772,   109,    32,  -772,  -772,   192,  -772,   112,   119,
1857 <     122,   130,   135,   146,   156,   161,   167,   168,   169,   177,
1858 <     183,   188,   196,   197,   199,   200,   203,   207,   211,   214,
1859 <     225,   232,   234,   236,   237,   238,  -772,   240,  -772,   246,
1860 <     253,   255,   256,   257,   262,   264,   265,   278,   279,   280,
1861 <     283,   284,   288,   289,   293,   301,   306,   309,   310,   108,
1862 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1863 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1864 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1865 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1866 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1867 <    -772,  -772,   316,   299,    58,   388,    45,   313,   314,    71,
1868 <    -772,  -772,  -772,  -772,    75,    82,   315,   322,    53,  -772,
1869 <    -772,  -772,   446,   344,  -772,   323,   324,   325,   330,   331,
1870 <     334,   336,    18,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1871 <    -772,   151,   340,   342,   346,   347,   349,   354,   357,  -772,
1872 <     359,   360,   362,   363,   152,  -772,  -772,  -772,  -772,  -772,
1873 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,    12,    70,
1874 <    -772,   365,    28,  -772,  -772,  -772,   128,   385,   437,   181,
1875 <    -772,    76,   487,   490,   412,   434,   500,   500,   501,   502,
1876 <     435,   440,   507,   500,   444,   447,   448,   450,   454,   384,
1877 <    -772,   390,   389,   391,   393,   394,   395,   396,   397,   398,
1878 <     400,   401,   402,   403,   404,     2,  -772,  -772,  -772,  -772,
1879 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1880 <     410,   409,   415,   416,   417,  -772,   418,   419,   422,   424,
1881 <     426,   428,   430,     8,  -772,  -772,  -772,  -772,  -772,  -772,
1882 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,   436,   438,
1883 <      16,  -772,  -772,  -772,   523,   455,  -772,  -772,   443,   451,
1884 <    -772,  -772,    26,  -772,  -772,  -772,   456,   500,   500,   522,
1885 <     503,   512,   566,   556,   521,   591,   592,   593,   530,   532,
1886 <     534,   500,   578,   537,   603,   607,   500,   610,   613,   594,
1887 <     614,   617,   558,   559,   488,   560,   495,   500,   500,   564,
1888 <     500,   570,   571,   572,  -117,   -91,   573,   574,   500,   500,
1889 <     640,   620,   500,   579,   580,   581,   582,   519,  -772,  -772,
1890 <    -772,   515,   517,  -772,   524,   525,    36,  -772,  -772,  -772,
1891 <    -772,  -772,  -772,  -772,   526,   529,   533,  -772,   535,   536,
1892 <     539,   540,   544,    22,  -772,  -772,  -772,  -772,  -772,  -772,
1893 <    -772,  -772,  -772,  -772,   545,  -772,   549,  -772,    11,  -772,
1894 <    -772,  -772,   553,  -772,   551,   552,   555,  -772,    30,  -772,
1895 <    -772,  -772,  -772,  -772,   586,   587,   561,  -772,   531,  -772,
1896 <     633,   645,   562,  -772,   563,   557,   565,  -772,   568,   569,
1897 <     575,  -772,   576,   206,  -772,  -772,  -772,  -772,  -772,  -772,
1898 <    -772,  -772,  -772,   577,   584,   585,   588,    17,  -772,  -772,
1899 <    -772,  -772,   605,   621,   629,   673,   631,   638,   500,   583,
1900 <    -772,  -772,   682,   641,   683,   688,   689,   690,   692,   589,
1901 <     697,   719,   702,   703,   596,  -772,   597,   590,  -772,   595,
1902 <      42,  -772,  -772,  -772,  -772,   599,   600,  -772,     5,  -772,
1903 <    -772,  -772,   708,   602,  -772,   604,   606,   608,  -772,   609,
1904 <     612,   624,   625,   632,   358,   636,   651,   652,   656,   657,
1905 <     659,   663,   668,   678,   679,   684,   686,   694,  -772,  -772,
1906 <     734,   736,   500,   750,   758,   759,   769,   749,   812,   819,
1907 <     500,   500,   640,   695,  -772,  -772,   805,    44,   806,   764,
1908 <     698,   808,   811,   813,   814,   833,   815,   816,   709,  -772,
1909 <     818,   820,   711,  -772,   713,  -772,   822,   823,   714,   716,
1910 <    -772,   718,   720,   721,   722,   723,   724,   725,   726,   727,
1911 <     729,   730,   731,   732,   733,   735,   737,   738,   739,   740,
1912 <     741,   742,   743,   744,   745,   746,   747,   748,   751,   674,
1913 <     752,   701,   753,   754,   755,   756,   757,   760,   761,   762,
1914 <     763,   765,   766,   767,   768,   770,   771,   355,   772,   773,
1915 <     774,   775,   776,   777,   778,  -772,   779,   500,   784,   780,
1916 <     836,   842,   781,  -772,  -772,   844,   824,   782,   857,   879,
1917 <     866,   872,   877,   786,  -772,   887,   785,   888,   787,  -772,
1918 <    -772,   788,   892,   897,   919,   792,  -772,   793,   794,  -772,
1919 <     171,   795,   796,  -772,  -772,   905,   863,   797,   907,   909,
1920 <     910,   800,   912,   807,  -772,  -772,   913,   914,   916,   809,
1921 <    -772,   810,   817,   821,   825,   826,   827,   828,  -772,   829,
1922 <     830,   831,   832,   834,   835,   837,   142,   838,   839,   840,
1923 <     841,  -772,  -772,   920,   843,   921,   845,  -772,  -772,   922,
1924 <     846,   847,  -772,   848,  -772,  -772,  -772,  -772,  -772,  -772,
1925 <    -772,  -772,  -772,   500,   500,   500,   500,   500,  -772,  -772,
1926 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1927 <    -772,  -772,  -772,   850,   851,   852,   853,   854,   855,   856,
1928 <     858,   859,   860,   861,   862,   864,  -772,   865,   867,   868,
1929 <     869,   870,    10,   871,   873,   874,   875,   876,   878,   880,
1930 <    -772,   881,   882,  -772,  -772,   883,   884,   918,  -772,  -772,
1931 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1932 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1933 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1934 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1935 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -187,  -772,  -772,
1936 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1937 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1938 <     -77,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1939 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,   640,   640,   640,
1940 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,    19,
1941 <     885,   886,    33,   889,   890,  -772,   891,   893,   630,   894,
1942 <     895,   896,   898,   899,  -772,   900,   923,   901,  -772,     7,
1943 <     902,   903,   904,   906,  -772,  -772,  -772,  -772,   908,   911,
1944 <    -772,   915,    96,  -772,  -772,  -772,  -772,  -772,  -772,   917,
1945 <     924,   476,   925,   926,   927,   728,   928,  -772,   929,   930,
1946 <     931,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1947 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,   -29,  -772,
1948 <    -772,  -772,  -772,  -772,   932,   445,   933,  -772,   934,   518,
1949 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1950 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1951 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,   -28,  -772,
1952 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1953 <    -772,  -772,   -26,  -772,  -772,   674,  -772,   701,  -772,  -772,
1954 <    -772,  -772,  -772,    79,  -772,  -772,  -772,  -772,  -772,   104,
1955 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1956 <    -772,  -772,  -772,  -772,   123,  -772,  -772,  -772,  -772,  -772,
1957 <    -772,  -772,  -772,   124,  -772,  -772,  -772,  -772,  -772,   139,
1958 <    -772,  -772,  -772,   940,   919,   935,  -772,   941,   936,   -69,
1959 <     937,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1960 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1961 <    -772,  -772,   140,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1962 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1963 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,   148,  -772,  -772,
1964 <    -772,  -772,  -772,  -772,   142,  -772,  -772,  -772,  -772,  -772,
1965 <    -772,  -772,  -772,  -772,  -772,  -772,   158,  -772,  -772,  -772,
1966 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1967 <     175,  -772,  -772,    10,  -772,   918,  -772,  -772,  -772,    19,
1968 <    -772,    33,  -772,   630,  -772,   923,  -772,     7,  -772,  -772,
1969 <    -772,   938,   149,   942,   943,  -772,  -772,   476,  -772,   728,
1970 <    -772,  -772,   445,  -772,   518,  -772,  -772,  -772,  -772,  -772,
1971 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1984 <     178,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,   149,
1985 <    -772
1844 >    -784,   688,  -784,  -234,  -225,  -219,  -784,  -784,  -784,  -217,
1845 >    -784,  -206,  -784,  -784,  -784,  -204,  -201,  -784,  -784,  -198,
1846 >    -196,  -784,  -784,  -193,  -784,  -784,  -784,  -784,  -784,  -784,
1847 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1848 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,   106,   597,  -186,
1849 >    -171,  -169,    15,  -158,   378,  -152,  -144,  -123,     3,    60,
1850 >    -113,   -96,   663,   431,   -84,   -68,    22,   -55,   -50,   -45,
1851 >     -36,    19,  -784,  -784,  -784,  -784,  -784,   -18,   -13,    26,
1852 >      28,    33,    37,    44,    50,    70,    81,    84,    86,    87,
1853 >      89,    92,    93,    94,    96,    11,  -784,  -784,  -784,  -784,
1854 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1855 >    -784,  -784,  -784,  -784,  -784,   755,   459,    13,  -784,    97,
1856 >      29,  -784,  -784,    24,  -784,    99,   100,   101,   103,   108,
1857 >     112,   115,   116,   119,   120,   124,   128,   130,   131,   133,
1858 >     136,   137,   138,   147,   152,   153,   154,   156,   158,   159,
1859 >     162,   169,   171,   173,   175,   177,  -784,   178,  -784,   179,
1860 >     184,   190,   193,   194,   195,   196,   198,   199,   200,   203,
1861 >     204,   206,   207,   210,   212,   217,   219,   220,   221,   129,
1862 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1863 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1864 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1865 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1866 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1867 >    -784,  -784,  -784,  -784,  -784,   516,    63,   270,    91,   222,
1868 >      17,  -784,  -784,  -784,   110,   164,   225,   231,    73,  -784,
1869 >    -784,  -784,   483,    88,  -784,   232,   234,   236,   238,   239,
1870 >     242,   243,    18,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1871 >    -784,   247,   245,   246,   248,   255,   261,   263,   264,   266,
1872 >     268,   272,   274,   275,   276,   277,   280,   174,  -784,  -784,
1873 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1874 >    -784,  -784,  -784,  -784,     2,     4,  -784,   283,    56,  -784,
1875 >    -784,  -784,   240,   288,   361,   287,  -784,   402,   420,   356,
1876 >     359,   426,   426,   429,   430,   432,   367,   370,   437,   426,
1877 >     372,   386,   388,   389,   390,   328,  -784,   330,   323,   335,
1878 >     336,   337,   339,   341,   342,   345,   347,   349,   350,   352,
1879 >     355,   267,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1880 >    -784,  -784,  -784,  -784,  -784,  -784,   331,   357,   358,   360,
1881 >     364,  -784,   365,   366,   369,   376,   379,   380,   384,   387,
1882 >     326,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1883 >    -784,  -784,  -784,  -784,  -784,  -784,   391,   392,    21,  -784,
1884 >    -784,  -784,   444,   362,  -784,  -784,   394,   395,  -784,  -784,
1885 >      14,  -784,  -784,  -784,   439,   426,   426,   496,   466,   467,
1886 >     525,   513,   469,   426,   477,   426,   547,   548,   549,   484,
1887 >     487,   488,   426,   534,   492,   559,   560,   426,   562,   563,
1888 >     546,   568,   569,   508,   512,   447,   520,   453,   426,   426,
1889 >     523,   426,   524,   526,   529,   104,   107,   536,   538,   426,
1890 >     426,   579,   570,   426,   544,   552,   556,   561,   480,  -784,
1891 >     494,   504,   505,  -784,   506,   510,   511,   517,   518,     5,
1892 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1893 >     521,  -784,   522,  -784,    42,  -784,  -784,  -784,   497,  -784,
1894 >     527,   528,   531,  -784,    12,  -784,  -784,  -784,  -784,  -784,
1895 >     577,   499,  -784,   514,  -784,   629,   630,   539,  -784,   540,
1896 >     541,   543,  -784,   545,   550,   551,  -784,   553,    69,  -784,
1897 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,   542,   554,
1898 >     555,   566,    16,  -784,  -784,  -784,  -784,   589,   592,   595,
1899 >     652,   613,   617,   426,   564,  -784,  -784,   666,   618,   670,
1900 >     673,   674,   676,   677,   679,   144,   161,   681,   682,   705,
1901 >     685,   687,   575,  -784,   578,   574,  -784,   576,    85,  -784,
1902 >    -784,  -784,  -784,   580,   581,  -784,    62,  -784,  -784,  -784,
1903 >     692,   582,  -784,   583,   588,   590,  -784,   591,   593,   594,
1904 >     596,   233,   598,   599,   603,   604,   608,   609,   612,   614,
1905 >     615,   616,   619,   620,   621,   622,  -784,  -784,   721,   724,
1906 >     426,   727,   749,   750,   756,   734,   764,   765,   426,   426,
1907 >     579,   636,  -784,  -784,   748,   126,   759,   710,   647,   767,
1908 >     768,   769,   770,   785,   771,   773,   774,   654,  -784,   775,
1909 >     783,   675,  -784,   680,  -784,   787,   792,   684,   683,  -784,
1910 >     689,   693,   701,   704,   709,   712,   716,   718,   722,   726,
1911 >     728,   730,   731,   732,   733,   735,   736,   737,   738,   739,
1912 >     740,   741,   742,   743,   744,   745,   746,   747,   751,   752,
1913 >     753,   686,   757,   725,   758,   760,   761,   762,   763,   766,
1914 >     772,   776,   777,   778,   779,   780,   781,   782,   784,    41,
1915 >     786,   788,   789,   790,   791,   793,   794,  -784,  -784,   803,
1916 >     800,   702,   821,   853,   835,   836,   838,   795,  -784,   859,
1917 >     796,   860,   797,  -784,  -784,   798,   861,   865,   887,   802,
1918 >    -784,   804,  -784,    23,   805,   806,  -784,  -784,   867,   825,
1919 >     807,   875,   876,   878,   808,   879,   809,  -784,  -784,   880,
1920 >     881,   882,   812,  -784,   813,   814,   815,   816,   817,   818,
1921 >     819,  -784,   820,   822,   823,   824,   826,   827,   828,   829,
1922 >    -784,  -784,  -207,  -784,  -784,  -784,  -182,  -784,   830,   831,
1923 >     832,   833,   834,  -784,  -784,   884,   837,   885,   839,  -784,
1924 >    -784,   886,   840,   841,  -784,   842,  -784,  -784,  -784,  -784,
1925 >    -784,  -784,  -784,  -784,   426,   426,   426,   426,   426,  -784,
1926 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1927 >    -784,  -784,  -784,  -784,  -784,   844,   845,   846,   847,   848,
1928 >     849,   850,   851,   852,   854,   855,   856,   857,  -784,   858,
1929 >     862,   863,   864,   866,    66,   868,   869,   870,   871,   872,
1930 >     873,   874,   877,  -784,   883,   888,  -784,  -784,   889,   890,
1931 >     891,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1932 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1933 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1934 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1935 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1936 >    -784,  -784,  -784,  -177,  -784,  -784,  -784,  -784,  -784,  -784,
1937 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1938 >    -784,  -784,  -784,  -784,  -784,  -784,  -176,  -784,  -784,  -784,
1939 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1940 >    -784,  -784,  -784,   579,   579,   579,  -784,  -784,  -784,  -784,
1941 >    -784,  -784,  -784,  -784,  -784,   892,   893,   639,   894,   895,
1942 >     896,   897,   898,  -784,   899,   902,   900,  -784,   -54,   901,
1943 >     903,   914,   799,  -784,  -784,  -784,   904,   905,  -784,   906,
1944 >      25,  -784,  -784,  -784,  -784,  -784,  -784,   907,   910,   515,
1945 >     911,   912,   913,   754,   915,  -784,   916,   917,   918,  -784,
1946 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1947 >    -784,  -784,  -784,  -784,  -784,  -784,   144,  -784,   161,  -784,
1948 >    -784,  -784,  -784,  -784,   919,   434,   920,  -784,   921,   565,
1949 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1950 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1951 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -175,
1952 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1953 >    -784,  -784,  -784,  -784,  -135,  -784,  -784,   686,  -784,   725,
1954 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1955 >    -784,  -784,  -784,  -784,  -130,  -784,  -784,  -784,  -784,  -784,
1956 >    -784,  -784,  -784,   -81,  -784,  -784,  -784,  -784,  -784,   -65,
1957 >    -784,  -784,  -784,   924,   887,   922,  -784,   909,   923,  -105,
1958 >     925,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1959 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1960 >    -784,  -784,  -784,   -39,  -784,  -784,  -784,  -784,  -784,  -784,
1961 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1962 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,   -32,  -784,
1963 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1964 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,   -31,  -784,  -784,
1965 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1966 >    -784,    -8,  -784,  -784,    66,  -784,   891,  -784,  -784,  -784,
1967 >     639,  -784,   902,  -784,   -54,  -784,  -784,  -784,   927,   363,
1968 >     928,   929,  -784,  -784,   515,  -784,   754,  -784,   434,  -784,
1969 >     565,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1970 >    -784,  -784,  -784,  -784,    -7,  -784,  -784,  -784,  -784,  -784,
1971 >    -784,  -784,  -784,   363,  -784
1972   };
1973  
1974   /* YYPGOTO[NTERM-NUM].  */
1975   static const yytype_int16 yypgoto[] =
1976   {
1977 <    -772,  -772,  -772,  -753,  -315,  -771,  -450,  -772,  -772,   939,
1978 <    -772,  -772,  -772,  -772,   791,  -772,  -772,  -772,  -149,  -772,
1979 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1980 <    -772,  -772,   983,  -772,  -772,  -772,  -772,  -772,   944,  -772,
1981 <    -772,  -772,  -772,  -772,    56,  -772,  -772,  -772,  -772,  -772,
1982 <    -228,  -772,  -772,  -772,   548,  -772,  -772,  -772,  -772,  -772,
1983 <    -772,  -772,  -772,  -772,  -197,  -772,  -772,  -772,  -175,  -772,
1984 <    -772,  -772,   798,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1985 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1986 <    -772,  -184,  -772,   618,  -772,  -772,  -772,   -42,  -772,  -772,
1987 <    -772,  -772,  -772,   622,  -772,  -772,  -772,  -772,  -772,  -772,
1988 <    -772,  -147,  -772,  -772,  -772,  -772,  -772,  -772,   598,  -772,
1989 <    -772,  -772,  -772,  -772,   849,  -772,  -772,  -772,  -772,   538,
1990 <    -772,  -772,  -772,  -772,  -772,  -151,  -772,  -772,  -772,   528,
1991 <    -772,  -772,  -772,  -772,  -137,  -772,  -772,  -772,   789,  -772,
1992 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -102,
1993 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -101,
1994 <    -772,   648,  -772,  -772,  -772,  -772,  -772,   790,  -772,  -772,
1995 <    -772,  -772,  1013,  -772,  -772,  -772,  -772,  -772,  -772,   -85,
1996 <    -772,   783,  -772,  -772,  -772,  -772,   969,  -772,  -772,  -772,
1997 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1998 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1999 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
2000 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
2001 <    -772,  -772,  -772,  -772,  -772,    55,  -772,  -772,  -772,    59,
2002 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,   693,  -772,  -772,
2003 <    -772,  -772,  -772,   -86,  -772,  -772,  -772,  -772,  -772,   -79,
2004 <    -772,  -772,  1060,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
2005 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
2006 <    -772,  -772,  -772,   945,  -772,  -772,  -772,  -772,  -772,  -772,
2021 <    -772
1977 >    -784,  -784,  -784,  -783,  -320,  -745,  -461,  -784,  -784,   926,
1978 >    -784,  -784,  -784,  -784,   843,  -784,  -784,  -784,    -9,  -784,
1979 >       6,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1980 >    -784,  -784,  -784,  -784,  -784,  -784,   960,  -784,  -784,  -784,
1981 >    -784,  -784,   811,  -784,  -784,  -784,  -784,    52,  -784,  -784,
1982 >    -784,  -784,  -784,  -208,  -784,  -784,  -784,   600,  -784,  -784,
1983 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -167,  -784,  -784,
1984 >    -784,  -164,  -784,  -784,  -784,   908,  -784,  -784,  -784,  -784,
1985 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1986 >    -784,  -784,  -784,  -784,  -165,  -784,   601,  -784,  -784,  -784,
1987 >     -53,  -784,  -784,  -784,  -784,  -784,   624,  -784,  -784,  -784,
1988 >    -784,  -784,  -784,  -784,  -148,  -784,  -784,  -784,  -784,  -784,
1989 >    -784,   567,  -784,  -784,  -784,  -784,  -784,   930,  -784,  -784,
1990 >    -784,  -784,   533,  -784,  -784,  -784,  -784,  -784,  -129,  -784,
1991 >    -784,  -784,   537,  -784,  -784,  -784,  -784,  -146,  -784,  -784,
1992 >    -784,   801,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1993 >    -784,  -784,  -104,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1994 >    -784,  -784,  -784,  -110,  -784,   631,  -784,  -784,  -784,  -784,
1995 >    -784,   810,  -784,  -784,  -784,  -784,  1004,  -784,  -784,  -784,
1996 >    -784,  -784,  -784,  -100,  -784,   719,  -784,  -784,  -784,  -784,
1997 >     952,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1998 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
1999 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
2000 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
2001 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
2002 >    -784,  -784,    36,  -784,  -784,  -784,    49,  -784,  -784,  -784,
2003 >    -784,  -784,  -784,  1054,  -784,  -784,  -784,  -784,  -784,  -784,
2004 >    -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,  -784,
2005 >    -784,  -784,  -784,  -784,   931,  -784,  -784,  -784,  -784,  -784,
2006 >    -784,  -784
2007   };
2008  
2009   /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
2010     positive, shift that token.  If negative, reduce the rule which
2011     number is the opposite.  If YYTABLE_NINF, syntax error.  */
2012 < #define YYTABLE_NINF -102
2012 > #define YYTABLE_NINF -108
2013   static const yytype_int16 yytable[] =
2014   {
2015 <     708,   605,   606,   331,   236,    70,   585,    49,   612,   360,
2016 <      50,   361,   493,   576,   362,   121,    54,   387,   543,   254,
2017 <    1075,   300,  1076,   474,   332,   333,    56,   397,   334,   300,
2018 <    1101,   502,   363,   121,    61,    71,    62,   459,   544,    65,
2019 <     460,   707,   245,   576,  1107,    72,   475,    66,   387,    47,
2020 <      48,   364,  1094,   255,   245,   365,  1095,   699,   700,   493,
2021 <    1052,  1053,  1054,  1055,  1056,   476,   256,    69,  1136,   477,
2022 <     118,   585,   236,   119,   366,   461,   367,   503,   462,   257,
2023 <     258,   259,   260,   701,   702,   122,   120,   388,   368,   335,
2024 <     336,   337,   662,   663,   338,   126,   504,   998,   232,   261,
2025 <     233,   505,   339,   122,    73,   586,   676,   234,   369,   127,
2026 <     235,   681,   577,   252,   340,   341,   128,   129,   388,   463,
2027 <     301,   545,   692,   693,   305,   695,   398,   130,   301,   253,
2028 <     342,   343,   298,   705,   706,   131,   464,   710,   370,   246,
2029 <    1253,   132,   577,   299,   494,   133,   134,   478,   135,   389,
2030 <     546,   246,   306,   271,   136,   307,   479,   480,   344,   399,
2031 <     506,   308,  1096,   137,   138,   371,  1097,   247,   139,   587,
2032 <     586,   311,   998,   140,   312,   495,   578,   141,   142,   247,
2033 <     389,   143,   845,   272,   144,   145,  1098,  1099,  1100,   481,
2034 <     400,   494,   146,   397,   313,  1102,   999,   314,   147,   148,
2035 <    1273,   149,   150,   151,   152,   153,   578,   524,  1137,  1108,
2036 <    1203,  1232,  1138,  1234,  1204,  1233,   154,  1235,   315,   273,
2037 <     237,  1274,   495,  1275,   155,   156,   157,   316,   158,  1077,
2038 <     525,   159,   160,   238,   587,   161,   496,   579,   848,   849,
2039 <     372,  -101,   633,   777,   309,   801,   162,   482,   648,   526,
2040 <     599,   738,   274,   527,   275,   276,   652,   769,   559,   595,
2041 <    1000,   465,   733,   317,  1276,   318,   659,   579,   593,   163,
2042 <     745,   999,   395,   164,    70,    79,   722,   165,   166,   167,
2043 <     168,   169,   796,   496,   513,   170,   171,    80,   237,  1036,
2044 <    1037,   319,   398,   522,   172,   277,   320,   278,   279,   321,
2045 <     474,   238,    81,    82,    71,   322,   528,   835,    83,  -101,
2046 <      84,   516,   280,   518,    72,   843,   844,   459,  1238,   323,
2047 <     460,   519,  1239,   475,   173,   399,   174,   271,   175,   324,
2048 <     325,   529,   326,  1001,   176,  1000,  1150,  1277,  1278,   177,
2049 <     327,   328,   476,  1240,   178,   543,   477,  1241,   457,   281,
2050 <     530,   394,    85,    86,   406,   461,   400,   272,   462,    87,
2051 <      88,   407,  1242,  1244,   408,   544,  1243,  1245,   127,   957,
2052 <     958,   959,   409,    73,  1279,   128,   129,   410,  1246,  1256,
2053 <      89,    90,  1247,  1257,   282,   283,   130,  1258,   411,   502,
2054 <     561,  1259,   574,   273,   131,    91,    92,  1261,   412,   463,
2055 <     132,  1262,   970,   413,   133,   134,    93,   135,  1001,   414,
2056 <     415,   416,   531,   136,  1263,    94,   464,  1288,  1264,   417,
2057 <     598,  1289,   137,   138,   478,   418,   274,   139,   275,   276,
2058 <     419,   532,   140,   479,   480,   503,   141,   142,   420,   421,
2059 <     143,   422,   423,   144,   145,   424,   763,   524,   545,   425,
2060 <     360,   146,   361,   426,   504,   362,   427,   147,   148,   505,
2061 <     149,   150,   151,   152,   153,   707,   481,   428,   604,   277,
2062 <     525,   278,   279,   363,   429,   154,   430,   546,   431,   432,
2063 <     433,  1154,   435,   155,   156,   157,   280,   158,   437,   526,
2064 <     159,   160,   364,   527,   161,   438,   365,   439,   440,   441,
2065 <     254,    95,    96,    97,   442,   162,   443,   444,  1155,   813,
2066 <     814,   815,   816,   817,   329,   366,   596,   367,   506,  1206,
2067 <     445,   446,   447,   281,   482,   448,   449,  1156,   163,   368,
2068 <     450,   451,   164,  1157,   255,   452,   165,   166,   167,   168,
2069 <     169,   465,    79,   453,   170,   171,   528,   256,   454,   369,
2070 <    1158,   455,   456,   172,    80,   514,   515,   520,   282,   283,
2071 <     257,   258,   259,   260,   521,   552,   553,   554,   597,    81,
2072 <      82,   529,   555,   556,  1159,    83,   557,    84,   558,   370,
2073 <     261,  1160,   562,   173,   563,   174,   602,   175,   564,   565,
2074 <     530,   566,  1220,   176,  1207,  1161,   567,   600,   177,   568,
2075 <     601,   570,   571,   178,   572,   573,   371,   592,   603,   609,
2076 <     604,   607,   608,  1162,   610,  1163,  1164,   611,   613,    85,
2077 <      86,   614,   615,   618,   616,  1208,    87,    88,   617,   619,
2078 <     661,   620,   664,   621,  1209,   622,   623,   624,   625,   626,
2079 <     627,  1210,   628,   629,   630,   631,   632,    89,    90,   635,
2080 <    1115,   636,   531,  1211,   654,  1212,  1213,   637,   638,   639,
2081 <     641,   642,    91,    92,   643,  1165,   644,  1221,   645,  1214,
2082 <     646,   532,   647,    93,  1116,  1166,   667,   665,   650,  1215,
2083 <     651,   372,    94,  1117,  1167,   656,   666,   668,  1168,  1118,
2084 <    1169,     2,     3,   657,   655,   669,     4,   331,  1222,  1254,
2085 <    1170,   670,   671,   672,   673,  1119,   674,  1223,   675,   677,
2086 <    1171,   678,     5,   679,  1224,     6,     7,   680,   332,   333,
2087 <     682,     8,   334,   683,   685,   684,  1225,   686,  1226,  1227,
2088 <     689,  1120,   687,   688,   690,   897,     9,   691,   694,  1121,
2089 <      10,    11,  1228,    12,   696,   697,   698,   703,   704,    13,
2090 <     707,   709,  1229,   711,   712,   713,   714,   717,   715,   718,
2091 <     747,   748,   920,    14,   751,   724,   720,   721,    95,    96,
2092 <      97,   725,   750,    15,    16,   726,   752,   728,   729,   771,
2093 <    1122,   730,   731,   335,   336,   337,   732,   735,   338,  1177,
2094 <      17,   737,   740,   742,   743,   772,   339,   744,  1123,   755,
2095 <     749,   753,   754,   773,   774,   775,    18,   756,   340,   341,
2096 <     758,   759,   776,   779,   781,   780,   765,   760,   762,   782,
2097 <     783,   784,   778,   785,   342,   343,   766,   767,   787,   788,
2098 <     768,   786,   793,   789,   790,   791,   792,   795,   798,   803,
2099 <      19,   804,   799,   805,   833,   806,   834,   807,   808,    20,
2100 <      21,   809,   344,    22,    23,   898,   899,   900,   901,   902,
2101 <     836,   903,   904,   810,   811,   905,   906,   907,   837,   838,
2102 <     908,   812,   909,   910,   911,   820,   912,   913,   914,   839,
2103 <     840,   915,   921,   922,   923,   924,   925,   916,   926,   927,
2104 <     821,   822,   928,   929,   930,   823,   824,   931,   825,   932,
2105 <     933,   934,   826,   935,   936,   937,    24,   827,   938,  1178,
2106 <    1179,  1180,  1181,  1182,   939,  1183,  1184,   828,   829,  1185,
2107 <    1186,  1187,   841,   830,  1188,   831,  1189,  1190,  1191,   842,
2108 <    1192,  1193,  1194,   832,   846,  1195,   847,   850,   851,   853,
2109 <     852,  1196,   854,   857,   855,   856,   858,   859,   860,   861,
2110 <     863,   862,   864,   865,   866,   868,   867,   869,   971,   870,
2111 <     871,   872,   873,   874,   875,   876,   877,   973,   878,   879,
2112 <     880,   881,   882,   974,   883,   976,   884,   885,   886,   887,
2113 <     888,   889,   890,   891,   892,   893,   894,   895,   979,   980,
2114 <     896,   919,   942,   943,   944,   945,   946,   981,   977,   947,
2115 <     948,   949,   950,   982,   951,   952,   953,   954,   983,   955,
2116 <     956,   962,   963,   964,   965,   966,   967,   968,   985,   987,
2117 <     975,   969,   972,   990,   978,   984,   988,   986,   991,   992,
2118 <     989,   995,   996,   997,  1007,  1008,  1009,  1010,  1012,  1011,
2119 <    1013,  1014,  1015,  1016,  1018,  1019,  1017,  1020,  1021,  1022,
2120 <    1248,  1044,  1046,  1048,  1091,  1260,  1023,   310,  1151,  1132,
2121 <    1024,  1290,  1285,  1271,  1025,  1026,  1027,  1028,  1029,  1030,
2122 <    1031,  1032,  1251,  1033,  1034,   575,  1035,  1040,  1041,  1042,
2123 <    1043,   764,  1284,  1143,  1047,  1045,  1050,  1051,  1049,  1057,
2124 <    1058,  1059,  1060,  1061,  1062,  1063,  1269,  1064,  1065,  1066,
2125 <    1067,  1068,  1249,  1069,  1070,   734,  1071,  1072,  1073,  1074,
2126 <    1080,  1286,  1081,  1082,  1083,  1084,   802,  1085,   797,  1086,
2127 <    1087,  1088,  1089,  1090,  1105,  1106,   746,  1287,  1111,  1112,
2128 <    1113,  1265,  1114,  1126,  1127,  1128,   396,  1129,  1130,  1131,
2129 <    1135,  1141,  1142,   634,  1270,   770,   739,  1146,   458,  1144,
2130 <    1266,   594,  1237,  1147,  1236,  1268,  1152,  1149,   330,   723,
2131 <    1267,     0,   649,  1153,  1174,  1175,  1176,  1199,  1200,  1201,
2132 <    1202,  1205,  1218,  1219,  1250,     0,  1255,  1272,  1252,     0,
2133 <     653,  1282,  1283,   517,     0,   660,     0,   523,     0,     0,
2015 >     710,   602,   603,   574,   238,   583,   470,   709,  1126,   610,
2016 >      45,    46,    76,   498,   395,   405,   118,   538,   238,   254,
2017 >      67,    47,   395,   306,   996,   405,   996,    48,   471,    52,
2018 >     118,  1052,  1053,  1054,  1055,  1056,   539,  1035,    77,    78,
2019 >      54,  1036,    58,   489,    79,    59,    80,   472,    62,    68,
2020 >      63,   473,   255,    66,   963,   964,   965,   306,   499,    69,
2021 >     115,   245,  1037,   583,   489,   256,  1038,  1096,  1098,  1223,
2022 >     519,  1097,  1099,  1224,   245,   116,  1075,   117,  1076,   500,
2023 >     257,   258,   259,   260,   501,   396,   574,   119,   123,   538,
2024 >      81,    82,   520,   396,   235,   661,   662,    83,    84,    85,
2025 >     261,   119,   236,   669,   575,   671,   584,    67,   539,  1225,
2026 >    1240,   521,   678,  1226,  1229,   522,   406,   683,  1230,    86,
2027 >      87,    70,   540,   237,   307,   997,   406,   997,   694,   695,
2028 >     124,   697,   474,   252,    88,    89,    68,   125,   126,   707,
2029 >     708,   475,   476,   712,   502,    90,    69,   127,   397,   407,
2030 >     253,   541,  1127,   709,    91,   128,   397,  1128,   307,   407,
2031 >     246,   129,   304,  1231,   584,   130,   131,  1232,   132,   847,
2032 >     576,   523,   585,   246,   133,   271,   477,   490,   305,  1233,
2033 >     134,   135,   408,  1234,   136,   137,   138,   575,   247,   311,
2034 >     139,   998,   408,   998,   540,   140,   524,   312,   490,   141,
2035 >     142,   247,   313,   143,   272,  1243,   144,   145,    70,  1244,
2036 >     491,   314,  1245,  1247,   146,   525,  1246,  1248,  1100,  1101,
2037 >    1102,   147,   148,   541,   149,   150,   151,   152,   153,   317,
2038 >     585,   491,   577,   770,   318,   478,  1249,  1272,   239,   154,
2039 >    1250,  1273,   273,    92,    93,    94,  -107,   155,   156,   157,
2040 >     727,   158,   239,   576,   159,   160,   335,   739,   161,   658,
2041 >    -107,   762,   511,   554,   315,   999,   651,   999,   337,   162,
2042 >    1140,   498,   492,   319,   403,   320,   274,  1077,   275,   276,
2043 >     321,   526,   701,   702,   322,   703,   704,   732,   338,   339,
2044 >    1078,   323,   340,   492,   163,   780,   781,   324,   164,   527,
2045 >     837,   591,   165,   166,   167,   168,   169,   803,   845,   846,
2046 >     170,   171,   784,   785,   756,   577,   499,   325,   517,   277,
2047 >     172,   278,   279,   280,   281,   850,   851,   366,   326,   367,
2048 >     798,   327,   368,   328,   329,   509,   330,   500,   282,   331,
2049 >     332,   333,   501,   334,   402,   601,   414,   415,   416,   369,
2050 >     417,   173,   174,   513,   175,   418,   341,   342,   343,   419,
2051 >     176,   344,   420,   421,   283,   177,   422,   423,   370,   345,
2052 >     178,   424,   371,   593,   468,   425,   284,   426,   427,   124,
2053 >     428,   346,   347,   429,   430,   431,   125,   126,   814,   815,
2054 >     816,   817,   818,   372,   432,   373,   127,   348,   349,   433,
2055 >     434,   435,   502,   436,   128,   437,   438,   374,   514,   439,
2056 >     129,   285,   286,  1257,   130,   131,   440,   132,   441,   572,
2057 >     442,   594,   443,   133,   444,   446,   448,   350,   375,   134,
2058 >     135,   449,   271,   136,   137,   138,  1258,   450,  1259,   139,
2059 >     451,   452,   453,   454,   140,   455,   456,   457,   141,   142,
2060 >     458,   459,   143,   460,   461,   144,   145,   462,   376,   463,
2061 >     366,   272,   367,   146,   464,   368,   465,   466,   467,   510,
2062 >     147,   148,   515,   149,   150,   151,   152,   153,   516,   547,
2063 >    1260,   548,   369,   549,   519,   550,   551,   377,   154,   552,
2064 >     553,   556,   557,   558,   595,   559,   155,   156,   157,   273,
2065 >     158,   370,   560,   159,   160,   371,   520,   161,   561,  1197,
2066 >     562,   563,   631,   564,   597,   565,   378,   470,   162,   566,
2067 >    1144,   567,   568,   569,   570,   521,   372,   571,   373,   522,
2068 >     590,   596,   598,   274,   599,   275,   276,   600,   601,   471,
2069 >     374,   604,   605,   163,   606,   607,  1145,   164,   608,   609,
2070 >     611,   165,   166,   167,   168,   169,  1261,  1262,   472,   170,
2071 >     171,   375,   473,   379,   612,  1146,   613,   614,   615,   172,
2072 >     618,   647,   616,  1147,   617,   633,   277,   653,   278,   279,
2073 >     280,   281,   619,   620,   621,   523,   622,  1198,   623,   624,
2074 >    1148,   376,   625,  1263,   626,   282,   627,   628,    76,   629,
2075 >     173,   174,   630,   175,   634,   635,   654,   636,   663,   176,
2076 >     524,   637,   639,   640,   177,  1149,   641,   660,  1199,   178,
2077 >     377,   283,  1150,   642,    77,    78,   643,   644,  1200,   525,
2078 >      79,   645,    80,   284,   646,  1201,  1151,   666,   649,   650,
2079 >    1211,   655,   656,   474,   664,   665,   667,   668,  1202,   378,
2080 >    1203,  1204,   475,   476,  1152,   670,  1153,  1154,  1105,   672,
2081 >     673,   674,   675,  1205,   254,   676,   677,   679,   285,   286,
2082 >     680,   681,   682,  1206,   684,   685,    81,    82,  1241,   686,
2083 >     687,   688,  1106,    83,    84,    85,   689,   477,     2,     3,
2084 >     690,   709,  1107,     4,   691,   526,   379,   255,   692,  1108,
2085 >     693,   696,   698,   711,   699,    86,    87,   700,     5,  1155,
2086 >     256,     6,     7,   527,   705,  1109,   706,     8,  1212,  1156,
2087 >      88,    89,   713,  1157,   717,   257,   258,   259,   260,  1158,
2088 >     714,    90,     9,  1159,   715,  1160,    10,    11,   718,   716,
2089 >      91,   734,  1110,   742,  1161,   261,   478,    12,   903,  1213,
2090 >    1111,   719,   720,   722,  1162,   741,   337,   723,   724,  1214,
2091 >     743,    13,   744,   745,   725,   726,  1215,   764,   729,   731,
2092 >     765,    14,    15,   766,   736,   737,   338,   339,   738,  1216,
2093 >     340,  1217,  1218,   746,   747,   767,   758,   926,   748,    16,
2094 >     749,   768,   751,  1112,  1219,   769,   773,   752,   753,   772,
2095 >     755,   759,   760,   774,  1220,    17,   775,   776,   771,   777,
2096 >     778,  1113,   779,   761,   788,   789,  1168,   790,   791,   793,
2097 >     792,   795,   794,   797,   800,   805,   806,   807,   801,    92,
2098 >      93,    94,   808,   835,   809,   810,   836,   811,   812,   838,
2099 >     813,    18,   821,   822,   341,   342,   343,   823,   824,   344,
2100 >      19,    20,   825,   826,    21,    22,   827,   345,   828,   829,
2101 >     830,   839,   840,   831,   832,   833,   834,   842,   841,   346,
2102 >     347,   904,   905,   906,   907,   908,   843,   844,   909,   910,
2103 >     848,   849,   911,   912,   913,   348,   349,   914,   853,   915,
2104 >     916,   917,   852,   918,   854,   919,   920,   859,   863,   921,
2105 >     855,   856,   857,   858,   860,   922,   861,   862,   864,    23,
2106 >     927,   928,   929,   930,   931,   350,   865,   932,   933,   866,
2107 >     868,   934,   935,   936,   867,   869,   937,   871,   938,   939,
2108 >     940,   870,   941,   872,   942,   943,   975,   873,   944,  1169,
2109 >    1170,  1171,  1172,  1173,   945,   874,  1174,  1175,   875,   977,
2110 >    1176,  1177,  1178,   876,   978,  1179,   877,  1180,  1181,  1182,
2111 >     878,  1183,   879,  1184,  1185,   979,   880,  1186,   980,   981,
2112 >     881,   982,   882,  1187,   883,   884,   885,   886,   976,   887,
2113 >     888,   889,   890,   891,   892,   893,   894,   895,   896,   897,
2114 >     898,   899,   984,   986,   989,   900,   901,   902,   990,   991,
2115 >    1007,   925,   948,  1008,   949,   950,   951,   952,  1010,  1011,
2116 >     953,  1012,  1014,  1016,  1017,  1018,   954,  1044,  1046,  1048,
2117 >     955,   956,   957,   958,   959,   960,   961,  1194,   962,  1093,
2118 >     968,   316,   969,   970,   971,   972,  1235,   973,   974,   983,
2119 >    1122,   987,  1238,   985,  1195,   988,   994,  1134,   995,  1005,
2120 >    1006,   512,  1141,  1015,  1009,  1013,  1019,  1020,  1021,  1022,
2121 >    1023,  1024,  1025,  1026,  1027,  1274,  1028,  1029,  1030,  1255,
2122 >    1031,  1032,  1033,  1034,  1039,  1040,  1041,  1042,  1043,  1269,
2123 >    1268,  1236,  1253,  1047,  1045,  1050,  1051,  1049,  1057,  1058,
2124 >    1059,  1060,  1061,  1062,  1063,  1064,  1065,  1133,  1066,  1067,
2125 >    1068,  1069,  1070,   728,  1271,   740,  1071,  1072,  1073,   763,
2126 >    1074,   799,  1081,  1082,  1083,  1084,  1085,  1086,  1087,  1270,
2127 >    1251,  1088,  1254,   804,   404,   733,  1252,  1089,   757,   659,
2128 >     573,   469,  1090,  1091,  1092,  1228,  1103,  1104,  1116,  1117,
2129 >    1118,  1119,  1120,  1121,  1125,  1131,  1227,  1132,  1136,   336,
2130 >       0,  1142,  1137,  1139,  1143,  1165,  1166,  1167,     0,  1190,
2131 >    1191,  1192,  1193,  1196,  1209,  1210,  1237,     0,     0,  1242,
2132 >    1239,  1256,  1266,  1267,   518,     0,     0,     0,     0,     0,
2133 >       0,   648,     0,     0,     0,     0,     0,     0,     0,     0,
2134 >       0,     0,     0,   555,     0,     0,     0,     0,     0,     0,
2135 >       0,     0,     0,     0,     0,     0,     0,     0,   652,     0,
2136 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2137         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2138 <       0,     0,     0,     0,     0,     0,     0,   560
2138 >       0,     0,     0,     0,     0,     0,     0,     0,   592,     0,
2139 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2140 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   632
2141   };
2142  
2143   #define yypact_value_is_default(yystate) \
2144 <  ((yystate) == (-772))
2144 >  ((yystate) == (-784))
2145  
2146   #define yytable_value_is_error(yytable_value) \
2147    YYID (0)
2148  
2149   static const yytype_int16 yycheck[] =
2150   {
2151 <     450,   316,   317,     1,     1,     1,     1,   241,   323,     1,
2152 <     241,     3,     1,     1,     6,     1,   241,     1,     1,     1,
2153 <      10,     1,    12,     1,    22,    23,   241,     1,    26,     1,
2154 <      11,     1,    24,     1,   241,    31,   241,     1,    21,   241,
2155 <       4,   110,     1,     1,    11,    41,    24,   241,     1,   239,
2156 <     240,    43,   239,    35,     1,    47,   243,   174,   175,     1,
2157 <     813,   814,   815,   816,   817,    43,    48,   241,    61,    47,
2158 <     241,     1,     1,   241,    66,    39,    68,    47,    42,    61,
2159 <      62,    63,    64,   174,   175,    71,   241,    71,    80,    87,
2160 <      88,    89,   407,   408,    92,   241,    66,     1,   241,    81,
2161 <     241,    71,   100,    71,   100,   100,   421,   241,   100,     1,
2162 <     241,   426,   100,   241,   112,   113,     8,     9,    71,    83,
2163 <     100,   104,   437,   438,   239,   440,   100,    19,   100,   241,
2164 <     128,   129,   241,   448,   449,    27,   100,   452,   130,    98,
2165 <     209,    33,   100,   241,   133,    37,    38,   125,    40,   133,
2166 <     133,    98,   242,     1,    46,   242,   134,   135,   156,   133,
2167 <     130,   242,   239,    55,    56,   157,   243,   126,    60,   164,
2168 <     100,   242,     1,    65,   242,   164,   164,    69,    70,   126,
2169 <     133,    73,   632,    31,    76,    77,   957,   958,   959,   167,
2170 <     164,   133,    84,     1,   242,   176,   100,   242,    90,    91,
2171 <      51,    93,    94,    95,    96,    97,   164,     1,   201,   176,
2172 <     239,   239,   205,   239,   243,   243,   108,   243,   242,    67,
2173 <     217,    72,   164,    74,   116,   117,   118,   242,   120,   219,
2174 <      24,   123,   124,   230,   164,   127,   225,   225,   194,   195,
2175 <     232,   238,   240,   558,   240,   240,   138,   225,   240,    43,
2176 <     174,   240,   100,    47,   102,   103,   240,   240,   240,   131,
2177 <     164,   225,   240,   242,   115,   242,   240,   225,   240,   161,
2178 <     240,   100,   240,   165,     1,     1,   240,   169,   170,   171,
2179 <     172,   173,   240,   225,   239,   177,   178,    13,   217,   147,
2180 <     148,   242,   100,   240,   186,   143,   242,   145,   146,   242,
2181 <       1,   230,    28,    29,    31,   242,   100,   622,    34,   238,
2182 <      36,   240,   160,   238,    41,   630,   631,     1,   239,   242,
2183 <       4,   239,   243,    24,   216,   133,   218,     1,   220,   242,
2184 <     242,   125,   242,   237,   226,   164,   240,   188,   189,   231,
2185 <     242,   242,    43,   239,   236,     1,    47,   243,   240,   197,
2186 <     144,   242,    78,    79,   242,    39,   164,    31,    42,    85,
2187 <      86,   242,   239,   239,   242,    21,   243,   243,     1,    14,
2188 <      15,    16,   242,   100,   225,     8,     9,   242,   239,   239,
2189 <     106,   107,   243,   243,   232,   233,    19,   239,   242,     1,
2190 <     239,   243,   240,    67,    27,   121,   122,   239,   242,    83,
2191 <      33,   243,   717,   242,    37,    38,   132,    40,   237,   242,
2192 <     242,   242,   206,    46,   239,   141,   100,   239,   243,   242,
2193 <     239,   243,    55,    56,   125,   242,   100,    60,   102,   103,
2194 <     242,   225,    65,   134,   135,    47,    69,    70,   242,   242,
2195 <      73,   242,   242,    76,    77,   242,   240,     1,   104,   242,
2196 <       1,    84,     3,   242,    66,     6,   242,    90,    91,    71,
2197 <      93,    94,    95,    96,    97,   110,   167,   242,   110,   143,
2198 <      24,   145,   146,    24,   242,   108,   242,   133,   242,   242,
2199 <     242,     5,   242,   116,   117,   118,   160,   120,   242,    43,
2200 <     123,   124,    43,    47,   127,   242,    47,   242,   242,   242,
2201 <       1,   227,   228,   229,   242,   138,   242,   242,    32,   151,
2202 <     152,   153,   154,   155,   240,    66,   131,    68,   130,    74,
2203 <     242,   242,   242,   197,   225,   242,   242,    51,   161,    80,
2204 <     242,   242,   165,    57,    35,   242,   169,   170,   171,   172,
2205 <     173,   225,     1,   242,   177,   178,   100,    48,   242,   100,
2206 <      74,   242,   242,   186,    13,   242,   242,   242,   232,   233,
2207 <      61,    62,    63,    64,   242,   242,   242,   242,   131,    28,
2208 <      29,   125,   242,   242,    98,    34,   242,    36,   242,   130,
2209 <      81,   105,   242,   216,   242,   218,   174,   220,   242,   242,
2210 <     144,   242,    74,   226,   149,   119,   242,   110,   231,   242,
2211 <     110,   242,   242,   236,   242,   242,   157,   242,   174,   174,
2212 <     110,   110,   110,   137,   174,   139,   140,   110,   174,    78,
2213 <      79,   174,   174,   239,   174,   180,    85,    86,   174,   239,
2214 <     174,   242,   110,   242,   189,   242,   242,   242,   242,   242,
2215 <     242,   196,   242,   242,   242,   242,   242,   106,   107,   239,
2216 <      20,   242,   206,   208,   131,   210,   211,   242,   242,   242,
2217 <     242,   242,   121,   122,   242,   189,   242,   149,   242,   224,
2218 <     242,   225,   242,   132,    44,   199,   110,   174,   242,   234,
2219 <     242,   232,   141,    53,   208,   242,   174,   131,   212,    59,
2220 <     214,     0,     1,   242,   239,   174,     5,     1,   180,  1149,
2221 <     224,   110,   110,   110,   174,    75,   174,   189,   174,   131,
2222 <     234,   174,    21,   110,   196,    24,    25,   110,    22,    23,
2223 <     110,    30,    26,   110,   110,   131,   208,   110,   210,   211,
2224 <     242,   101,   174,   174,   174,    61,    45,   242,   174,   109,
2225 <      49,    50,   224,    52,   174,   174,   174,   174,   174,    58,
2226 <     110,   131,   234,   174,   174,   174,   174,   242,   239,   242,
2227 <     174,   174,    61,    72,   131,   239,   242,   242,   227,   228,
2228 <     229,   242,   241,    82,    83,   242,   131,   242,   242,   174,
2229 <     150,   242,   242,    87,    88,    89,   242,   242,    92,    61,
2230 <      99,   242,   239,   242,   242,   174,   100,   242,   168,   242,
2231 <     239,   239,   239,   174,   131,   174,   115,   242,   112,   113,
2232 <     242,   242,   174,   131,   131,   174,   239,   242,   242,   131,
2233 <     131,   131,   239,   131,   128,   129,   242,   242,   131,   110,
2234 <     242,   242,   242,   131,   131,   239,   239,   242,   239,   131,
2235 <     149,   239,   242,   239,   110,   239,   110,   239,   239,   158,
2236 <     159,   239,   156,   162,   163,   181,   182,   183,   184,   185,
2237 <     110,   187,   188,   239,   239,   191,   192,   193,   110,   110,
2238 <     196,   239,   198,   199,   200,   239,   202,   203,   204,   110,
2239 <     131,   207,   181,   182,   183,   184,   185,   213,   187,   188,
2240 <     239,   239,   191,   192,   193,   239,   239,   196,   239,   198,
2241 <     199,   200,   239,   202,   203,   204,   215,   239,   207,   181,
2242 <     182,   183,   184,   185,   213,   187,   188,   239,   239,   191,
2243 <     192,   193,   110,   239,   196,   239,   198,   199,   200,   110,
2244 <     202,   203,   204,   239,   239,   207,   131,   131,   174,   131,
2245 <     242,   213,   131,   110,   131,   131,   131,   131,   239,   131,
2246 <     239,   131,   239,   131,   131,   239,   242,   239,   174,   239,
2247 <     239,   239,   239,   239,   239,   239,   239,   131,   239,   239,
2248 <     239,   239,   239,   131,   239,   131,   239,   239,   239,   239,
2249 <     239,   239,   239,   239,   239,   239,   239,   239,   131,   110,
2250 <     239,   239,   239,   239,   239,   239,   239,   131,   174,   239,
2251 <     239,   239,   239,   131,   239,   239,   239,   239,   131,   239,
2252 <     239,   239,   239,   239,   239,   239,   239,   239,   131,   131,
2253 <     239,   242,   242,   131,   242,   239,   239,   242,   131,   110,
2254 <     242,   239,   239,   239,   239,   239,   131,   174,   131,   242,
2255 <     131,   131,   242,   131,   131,   131,   239,   131,   239,   239,
2256 <     110,   131,   131,   131,   136,  1204,   239,    74,  1002,   136,
2257 <     239,  1289,  1259,  1247,   239,   239,   239,   239,   239,   239,
2258 <     239,   239,   131,   239,   239,   284,   239,   239,   239,   239,
2259 <     239,   533,  1257,   179,   239,   242,   239,   239,   242,   239,
2260 <     239,   239,   239,   239,   239,   239,  1243,   239,   239,   239,
2261 <     239,   239,  1144,   239,   239,   483,   239,   239,   239,   239,
2262 <     239,  1262,   239,   239,   239,   239,   588,   239,   580,   239,
2263 <     239,   239,   239,   239,   239,   239,   508,  1264,   239,   239,
2264 <     239,  1233,   239,   239,   239,   239,   123,   239,   239,   239,
2265 <     239,   239,   239,   345,  1245,   547,   498,   239,   179,   243,
2266 <    1235,   302,  1097,   242,  1095,  1241,   239,   242,    98,   466,
2267 <    1239,    -1,   373,   239,   239,   239,   239,   239,   239,   239,
2268 <     239,   239,   239,   239,   239,    -1,   239,   239,   242,    -1,
2269 <     390,   239,   239,   239,    -1,   402,    -1,   248,    -1,    -1,
2151 >     461,   321,   322,     1,     1,     1,     1,   112,    62,   329,
2152 >     244,   245,     1,     1,     1,     1,     1,     1,     1,     1,
2153 >       1,   246,     1,     1,     1,     1,     1,   246,    23,   246,
2154 >       1,   814,   815,   816,   817,   818,    20,   244,    27,    28,
2155 >     246,   248,   246,     1,    33,   246,    35,    42,   246,    30,
2156 >     246,    46,    34,   246,    13,    14,    15,     1,    46,    40,
2157 >     246,     1,   244,     1,     1,    47,   248,   244,   244,   244,
2158 >       1,   248,   248,   248,     1,   246,    10,   246,    12,    67,
2159 >      62,    63,    64,    65,    72,    72,     1,    72,   246,     1,
2160 >      79,    80,    23,    72,   246,   415,   416,    86,    87,    88,
2161 >      82,    72,   246,   423,   102,   425,   102,     1,    20,   244,
2162 >     215,    42,   432,   248,   244,    46,   102,   437,   248,   108,
2163 >     109,   102,   106,   246,   102,   102,   102,   102,   448,   449,
2164 >       1,   451,   127,   246,   123,   124,    30,     8,     9,   459,
2165 >     460,   136,   137,   463,   132,   134,    40,    18,   135,   135,
2166 >     246,   135,   206,   112,   143,    26,   135,   211,   102,   135,
2167 >     100,    32,   246,   244,   102,    36,    37,   248,    39,   630,
2168 >     168,   102,   168,   100,    45,     1,   171,   135,   246,   244,
2169 >      51,    52,   168,   248,    55,    56,    57,   102,   128,   244,
2170 >      61,   168,   168,   168,   106,    66,   127,   247,   135,    70,
2171 >      71,   128,   247,    74,    30,   244,    77,    78,   102,   248,
2172 >     168,   247,   244,   244,    85,   146,   248,   248,   963,   964,
2173 >     965,    92,    93,   135,    95,    96,    97,    98,    99,   247,
2174 >     168,   168,   230,   553,   247,   230,   244,   244,   235,   110,
2175 >     248,   248,    68,   232,   233,   234,   243,   118,   119,   120,
2176 >     245,   122,   235,   168,   125,   126,   245,   245,   129,   245,
2177 >     243,   245,   245,   245,   245,   242,   245,   242,     1,   140,
2178 >     245,     1,   230,   247,   245,   247,   102,   211,   104,   105,
2179 >     247,   212,   178,   179,   247,   178,   179,   245,    21,    22,
2180 >     224,   247,    25,   230,   165,   151,   152,   247,   169,   230,
2181 >     620,   245,   173,   174,   175,   176,   177,   245,   628,   629,
2182 >     181,   182,   151,   152,   245,   230,    46,   247,   245,   145,
2183 >     191,   147,   148,   149,   150,   199,   200,     1,   247,     3,
2184 >     245,   247,     6,   247,   247,   244,   247,    67,   164,   247,
2185 >     247,   247,    72,   247,   247,   112,   247,   247,   247,    23,
2186 >     247,   222,   223,   243,   225,   247,    89,    90,    91,   247,
2187 >     231,    94,   247,   247,   190,   236,   247,   247,    42,   102,
2188 >     241,   247,    46,   133,   245,   247,   202,   247,   247,     1,
2189 >     247,   114,   115,   247,   247,   247,     8,     9,   155,   156,
2190 >     157,   158,   159,    67,   247,    69,    18,   130,   131,   247,
2191 >     247,   247,   132,   247,    26,   247,   247,    81,   244,   247,
2192 >      32,   237,   238,    50,    36,    37,   247,    39,   247,   245,
2193 >     247,   133,   247,    45,   247,   247,   247,   160,   102,    51,
2194 >      52,   247,     1,    55,    56,    57,    73,   247,    75,    61,
2195 >     247,   247,   247,   247,    66,   247,   247,   247,    70,    71,
2196 >     247,   247,    74,   247,   247,    77,    78,   247,   132,   247,
2197 >       1,    30,     3,    85,   247,     6,   247,   247,   247,   247,
2198 >      92,    93,   247,    95,    96,    97,    98,    99,   247,   247,
2199 >     117,   247,    23,   247,     1,   247,   247,   161,   110,   247,
2200 >     247,   244,   247,   247,   133,   247,   118,   119,   120,    68,
2201 >     122,    42,   247,   125,   126,    46,    23,   129,   247,    75,
2202 >     247,   247,   245,   247,   112,   247,   190,     1,   140,   247,
2203 >       5,   247,   247,   247,   247,    42,    67,   247,    69,    46,
2204 >     247,   244,   112,   102,   178,   104,   105,   178,   112,    23,
2205 >      81,   112,   112,   165,   112,   178,    31,   169,   178,   112,
2206 >     178,   173,   174,   175,   176,   177,   193,   194,    42,   181,
2207 >     182,   102,    46,   237,   178,    50,   178,   178,   178,   191,
2208 >     247,   245,   244,    58,   244,   244,   145,   133,   147,   148,
2209 >     149,   150,   247,   247,   247,   102,   247,   153,   247,   247,
2210 >      75,   132,   247,   230,   247,   164,   247,   247,     1,   247,
2211 >     222,   223,   247,   225,   247,   247,   244,   247,   112,   231,
2212 >     127,   247,   247,   247,   236,   100,   247,   178,   184,   241,
2213 >     161,   190,   107,   247,    27,    28,   247,   247,   194,   146,
2214 >      33,   247,    35,   202,   247,   201,   121,   112,   247,   247,
2215 >      75,   247,   247,   127,   178,   178,   133,   178,   214,   190,
2216 >     216,   217,   136,   137,   139,   178,   141,   142,    19,   112,
2217 >     112,   112,   178,   229,     1,   178,   178,   133,   237,   238,
2218 >     178,   112,   112,   239,   112,   112,    79,    80,  1139,   133,
2219 >     112,   112,    43,    86,    87,    88,   178,   171,     0,     1,
2220 >     178,   112,    53,     5,   247,   212,   237,    34,   178,    60,
2221 >     247,   178,   178,   133,   178,   108,   109,   178,    20,   194,
2222 >      47,    23,    24,   230,   178,    76,   178,    29,   153,   204,
2223 >     123,   124,   178,   208,   244,    62,    63,    64,    65,   214,
2224 >     178,   134,    44,   218,   178,   220,    48,    49,   244,   178,
2225 >     143,   244,   103,   244,   229,    82,   230,    59,    62,   184,
2226 >     111,   247,   247,   247,   239,   178,     1,   247,   247,   194,
2227 >     246,    73,   133,   133,   247,   247,   201,   178,   247,   247,
2228 >     178,    83,    84,   178,   247,   247,    21,    22,   247,   214,
2229 >      25,   216,   217,   244,   244,   133,   244,    62,   247,   101,
2230 >     247,   178,   247,   154,   229,   178,   178,   247,   247,   133,
2231 >     247,   247,   247,   133,   239,   117,   133,   133,   244,   133,
2232 >     133,   172,   133,   247,   133,   133,    62,   112,   133,   244,
2233 >     133,   247,   244,   247,   244,   133,   244,   244,   247,   232,
2234 >     233,   234,   244,   112,   244,   244,   112,   244,   244,   112,
2235 >     244,   153,   244,   244,    89,    90,    91,   244,   244,    94,
2236 >     162,   163,   244,   244,   166,   167,   244,   102,   244,   244,
2237 >     244,   112,   112,   244,   244,   244,   244,   133,   112,   114,
2238 >     115,   185,   186,   187,   188,   189,   112,   112,   192,   193,
2239 >     244,   133,   196,   197,   198,   130,   131,   201,   178,   203,
2240 >     204,   205,   133,   207,   247,   209,   210,   112,   244,   213,
2241 >     133,   133,   133,   133,   133,   219,   133,   133,   133,   221,
2242 >     185,   186,   187,   188,   189,   160,   133,   192,   193,   244,
2243 >     133,   196,   197,   198,   244,   133,   201,   244,   203,   204,
2244 >     205,   247,   207,   244,   209,   210,   133,   244,   213,   185,
2245 >     186,   187,   188,   189,   219,   244,   192,   193,   244,   247,
2246 >     196,   197,   198,   244,   133,   201,   244,   203,   204,   205,
2247 >     244,   207,   244,   209,   210,   112,   244,   213,   133,   133,
2248 >     244,   133,   244,   219,   244,   244,   244,   244,   178,   244,
2249 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2250 >     244,   244,   133,   133,   133,   244,   244,   244,   133,   112,
2251 >     133,   244,   244,   178,   244,   244,   244,   244,   133,   133,
2252 >     244,   133,   133,   133,   133,   133,   244,   133,   133,   133,
2253 >     244,   244,   244,   244,   244,   244,   244,  1036,   244,   138,
2254 >     244,    71,   244,   244,   244,   244,   112,   244,   244,   244,
2255 >     138,   244,   133,   247,  1038,   247,   244,   248,   244,   244,
2256 >     244,   240,  1000,   244,   247,   247,   244,   244,   244,   244,
2257 >     244,   244,   244,   244,   244,  1273,   244,   244,   244,  1234,
2258 >     244,   244,   244,   244,   244,   244,   244,   244,   244,  1246,
2259 >    1244,  1134,  1230,   244,   247,   244,   244,   247,   244,   244,
2260 >     244,   244,   244,   244,   244,   244,   244,   183,   244,   244,
2261 >     244,   244,   244,   479,  1250,   504,   244,   244,   244,   542,
2262 >     244,   578,   244,   244,   244,   244,   244,   244,   244,  1248,
2263 >    1224,   244,  1232,   586,   120,   494,  1226,   244,   528,   410,
2264 >     287,   179,   244,   244,   244,  1099,   244,   244,   244,   244,
2265 >     244,   244,   244,   244,   244,   244,  1097,   244,   244,    95,
2266 >      -1,   244,   247,   247,   244,   244,   244,   244,    -1,   244,
2267 >     244,   244,   244,   244,   244,   244,   244,    -1,    -1,   244,
2268 >     247,   244,   244,   244,   248,    -1,    -1,    -1,    -1,    -1,
2269 >      -1,   380,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2270 >      -1,    -1,    -1,   262,    -1,    -1,    -1,    -1,    -1,    -1,
2271 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   398,    -1,
2272 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2273        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2274 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,   262
2274 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   308,    -1,
2275 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2276 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   351
2277   };
2278  
2279   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2280     symbol of state STATE-NUM.  */
2281   static const yytype_uint16 yystos[] =
2282   {
2283 <       0,   245,     0,     1,     5,    21,    24,    25,    30,    45,
2284 <      49,    50,    52,    58,    72,    82,    83,    99,   115,   149,
2285 <     158,   159,   162,   163,   215,   246,   251,   256,   274,   280,
2286 <     295,   313,   330,   344,   359,   366,   370,   380,   389,   408,
2287 <     418,   424,   428,   438,   498,   514,   535,   239,   240,   241,
2288 <     241,   314,   390,   419,   241,   429,   241,   499,   345,   409,
2289 <     331,   241,   241,   296,   360,   241,   241,   371,   381,   241,
2290 <       1,    31,    41,   100,   275,   276,   277,   278,   279,     1,
2291 <      13,    28,    29,    34,    36,    78,    79,    85,    86,   106,
2292 <     107,   121,   122,   132,   141,   227,   228,   229,   515,   516,
2293 <     517,   518,   519,   520,   521,   522,   523,   524,   525,   526,
2294 <     527,   528,   529,   530,   531,   532,   533,   534,   241,   241,
2295 <     241,     1,    71,   425,   426,   427,   241,     1,     8,     9,
2296 <      19,    27,    33,    37,    38,    40,    46,    55,    56,    60,
2297 <      65,    69,    70,    73,    76,    77,    84,    90,    91,    93,
2298 <      94,    95,    96,    97,   108,   116,   117,   118,   120,   123,
2299 <     124,   127,   138,   161,   165,   169,   170,   171,   172,   173,
2300 <     177,   178,   186,   216,   218,   220,   226,   231,   236,   439,
2301 <     440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
2302 <     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
2303 <     460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
2304 <     470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
2305 <     480,   481,   482,   483,   484,   485,   486,   490,   494,   495,
2306 <     496,   497,   241,   241,   241,   241,     1,   217,   230,   281,
2307 <     282,   283,   284,   285,   286,     1,    98,   126,   252,   253,
2308 <     254,   255,   241,   241,     1,    35,    48,    61,    62,    63,
2309 <      64,    81,   536,   537,   538,   539,   540,   541,   542,   543,
2310 <     544,     1,    31,    67,   100,   102,   103,   143,   145,   146,
2311 <     160,   197,   232,   233,   257,   258,   259,   263,   264,   265,
2312 <     266,   267,   268,   269,   270,   271,   272,   273,   241,   241,
2313 <       1,   100,   367,   368,   369,   239,   242,   242,   242,   240,
2314 <     276,   242,   242,   242,   242,   242,   242,   242,   242,   242,
2315 <     242,   242,   242,   242,   242,   242,   242,   242,   242,   240,
2316 <     516,     1,    22,    23,    26,    87,    88,    89,    92,   100,
2317 <     112,   113,   128,   129,   156,   315,   316,   317,   318,   319,
2318 <     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
2319 <       1,     3,     6,    24,    43,    47,    66,    68,    80,   100,
2320 <     130,   157,   232,   391,   392,   393,   394,   395,   396,   397,
2321 <     398,   399,   400,   404,   405,   406,   407,     1,    71,   133,
2322 <     420,   421,   422,   423,   242,   240,   426,     1,   100,   133,
2323 <     164,   430,   434,   435,   436,   437,   242,   242,   242,   242,
2324 <     242,   242,   242,   242,   242,   242,   242,   242,   242,   242,
2325 <     242,   242,   242,   242,   242,   242,   242,   242,   242,   242,
2326 <     242,   242,   242,   242,   491,   242,   487,   242,   242,   242,
2327 <     242,   242,   242,   242,   242,   242,   242,   242,   242,   242,
2328 <     242,   242,   242,   242,   242,   242,   242,   240,   440,     1,
2329 <       4,    39,    42,    83,   100,   225,   500,   501,   502,   503,
2330 <     504,   508,   509,   510,     1,    24,    43,    47,   125,   134,
2331 <     135,   167,   225,   346,   347,   348,   349,   350,   351,   352,
2332 <     356,   357,   358,     1,   133,   164,   225,   410,   414,   415,
2333 <     416,   417,     1,    47,    66,    71,   130,   332,   336,   337,
2334 <     338,   342,   343,   239,   242,   242,   240,   282,   238,   239,
2335 <     242,   242,   240,   253,     1,    24,    43,    47,   100,   125,
2336 <     144,   206,   225,   297,   298,   299,   300,   301,   302,   303,
2337 <     304,   305,   309,     1,    21,   104,   133,   361,   362,   363,
2338 <     364,   365,   242,   242,   242,   242,   242,   242,   242,   240,
2339 <     537,   239,   242,   242,   242,   242,   242,   242,   242,   260,
2340 <     242,   242,   242,   242,   240,   258,     1,   100,   164,   225,
2341 <     372,   373,   374,   375,   376,     1,   100,   164,   382,   383,
2342 <     384,   385,   242,   240,   368,   131,   131,   131,   239,   174,
2343 <     110,   110,   174,   174,   110,   248,   248,   110,   110,   174,
2344 <     174,   110,   248,   174,   174,   174,   174,   174,   239,   239,
2345 <     242,   242,   242,   242,   242,   242,   242,   242,   242,   242,
2346 <     242,   242,   242,   240,   316,   239,   242,   242,   242,   242,
2347 <     401,   242,   242,   242,   242,   242,   242,   242,   240,   392,
2348 <     242,   242,   240,   421,   131,   239,   242,   242,   431,   240,
2349 <     435,   174,   248,   248,   110,   174,   174,   110,   131,   174,
2350 <     110,   110,   110,   174,   174,   174,   248,   131,   174,   110,
2351 <     110,   248,   110,   110,   131,   110,   110,   174,   174,   242,
2352 <     174,   242,   248,   248,   174,   248,   174,   174,   174,   174,
2353 <     175,   174,   175,   174,   174,   248,   248,   110,   250,   131,
2354 <     248,   174,   174,   174,   174,   239,   511,   242,   242,   505,
2355 <     242,   242,   240,   501,   239,   242,   242,   353,   242,   242,
2356 <     242,   242,   242,   240,   347,   242,   411,   242,   240,   415,
2357 <     239,   333,   242,   242,   242,   240,   337,   174,   174,   239,
2358 <     241,   131,   131,   239,   239,   242,   242,   310,   242,   242,
2359 <     242,   306,   242,   240,   298,   239,   242,   242,   242,   240,
2360 <     362,   174,   174,   174,   131,   174,   174,   248,   239,   131,
2361 <     174,   131,   131,   131,   131,   131,   242,   131,   110,   131,
2362 <     131,   239,   239,   242,   377,   242,   240,   373,   239,   242,
2363 <     386,   240,   383,   131,   239,   239,   239,   239,   239,   239,
2364 <     239,   239,   239,   151,   152,   153,   154,   155,   247,   248,
2365 <     239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
2366 <     239,   239,   239,   110,   110,   248,   110,   110,   110,   110,
2367 <     131,   110,   110,   248,   248,   250,   239,   131,   194,   195,
2368 <     131,   174,   242,   131,   131,   131,   131,   110,   131,   131,
2369 <     239,   131,   131,   239,   239,   131,   131,   242,   239,   239,
2370 <     239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
2371 <     239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
2372 <     239,   239,   239,   239,   239,   239,   239,    61,   181,   182,
2373 <     183,   184,   185,   187,   188,   191,   192,   193,   196,   198,
2374 <     199,   200,   202,   203,   204,   207,   213,   492,   493,   239,
2375 <      61,   181,   182,   183,   184,   185,   187,   188,   191,   192,
2376 <     193,   196,   198,   199,   200,   202,   203,   204,   207,   213,
2377 <     488,   489,   239,   239,   239,   239,   239,   239,   239,   239,
2378 <     239,   239,   239,   239,   239,   239,   239,    14,    15,    16,
2379 <     249,   250,   239,   239,   239,   239,   239,   239,   239,   242,
2380 <     248,   174,   242,   131,   131,   239,   131,   174,   242,   131,
2381 <     110,   131,   131,   131,   239,   131,   242,   131,   239,   242,
2382 <     131,   131,   110,   340,   341,   239,   239,   239,     1,   100,
2383 <     164,   237,   287,   288,   289,   290,   291,   239,   239,   131,
2384 <     174,   242,   131,   131,   131,   242,   131,   239,   131,   131,
2385 <     131,   239,   239,   239,   239,   239,   239,   239,   239,   239,
2386 <     239,   239,   239,   239,   239,   239,   147,   148,   261,   262,
2387 <     239,   239,   239,   239,   131,   242,   131,   239,   131,   242,
2388 <     239,   239,   247,   247,   247,   247,   247,   239,   239,   239,
2389 <     239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
2390 <     239,   239,   239,   239,   239,    10,    12,   219,   402,   403,
2391 <     239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
2392 <     239,   136,   432,   433,   239,   243,   239,   243,   249,   249,
2393 <     249,    11,   176,   512,   513,   239,   239,    11,   176,   506,
2394 <     507,   239,   239,   239,   239,    20,    44,    53,    59,    75,
2395 <     101,   109,   150,   168,   354,   355,   239,   239,   239,   239,
2396 <     239,   239,   136,   412,   413,   239,    61,   201,   205,   334,
2397 <     335,   239,   239,   179,   243,   339,   239,   242,   292,   242,
2398 <     240,   288,   239,   239,     5,    32,    51,    57,    74,    98,
2399 <     105,   119,   137,   139,   140,   189,   199,   208,   212,   214,
2400 <     224,   234,   311,   312,   239,   239,   239,    61,   181,   182,
2401 <     183,   184,   185,   187,   188,   191,   192,   193,   196,   198,
2402 <     199,   200,   202,   203,   204,   207,   213,   307,   308,   239,
2403 <     239,   239,   239,   239,   243,   239,    74,   149,   180,   189,
2404 <     196,   208,   210,   211,   224,   234,   378,   379,   239,   239,
2405 <      74,   149,   180,   189,   196,   208,   210,   211,   224,   234,
2406 <     387,   388,   239,   243,   239,   243,   493,   489,   239,   243,
2407 <     239,   243,   239,   243,   239,   243,   239,   243,   110,   341,
2408 <     239,   131,   242,   209,   250,   239,   239,   243,   239,   243,
2409 <     262,   239,   243,   239,   243,   403,   433,   513,   507,   355,
2410 <     413,   335,   239,    51,    72,    74,   115,   188,   189,   225,
2416 <     293,   294,   239,   239,   312,   308,   379,   388,   239,   243,
2417 <     294
2283 >       0,   250,     0,     1,     5,    20,    23,    24,    29,    44,
2284 >      48,    49,    59,    73,    83,    84,   101,   117,   153,   162,
2285 >     163,   166,   167,   221,   251,   256,   261,   283,   289,   303,
2286 >     321,   338,   352,   367,   374,   378,   388,   397,   417,   427,
2287 >     433,   437,   447,   510,   531,   244,   245,   246,   246,   322,
2288 >     398,   428,   246,   438,   246,   353,   418,   339,   246,   246,
2289 >     304,   368,   246,   246,   379,   389,   246,     1,    30,    40,
2290 >     102,   284,   285,   286,   287,   288,     1,    27,    28,    33,
2291 >      35,    79,    80,    86,    87,    88,   108,   109,   123,   124,
2292 >     134,   143,   232,   233,   234,   511,   512,   513,   514,   515,
2293 >     516,   517,   518,   519,   520,   521,   522,   523,   524,   525,
2294 >     526,   527,   528,   529,   530,   246,   246,   246,     1,    72,
2295 >     434,   435,   436,   246,     1,     8,     9,    18,    26,    32,
2296 >      36,    37,    39,    45,    51,    52,    55,    56,    57,    61,
2297 >      66,    70,    71,    74,    77,    78,    85,    92,    93,    95,
2298 >      96,    97,    98,    99,   110,   118,   119,   120,   122,   125,
2299 >     126,   129,   140,   165,   169,   173,   174,   175,   176,   177,
2300 >     181,   182,   191,   222,   223,   225,   231,   236,   241,   448,
2301 >     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
2302 >     459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
2303 >     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
2304 >     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
2305 >     489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
2306 >     502,   506,   507,   508,   509,   246,   246,   246,     1,   235,
2307 >     290,   291,   292,   293,   294,     1,   100,   128,   257,   258,
2308 >     259,   260,   246,   246,     1,    34,    47,    62,    63,    64,
2309 >      65,    82,   532,   533,   534,   535,   536,   537,   538,   539,
2310 >     540,     1,    30,    68,   102,   104,   105,   145,   147,   148,
2311 >     149,   150,   164,   190,   202,   237,   238,   262,   263,   264,
2312 >     265,   270,   271,   272,   273,   274,   275,   276,   277,   278,
2313 >     279,   280,   281,   282,   246,   246,     1,   102,   375,   376,
2314 >     377,   244,   247,   247,   247,   245,   285,   247,   247,   247,
2315 >     247,   247,   247,   247,   247,   247,   247,   247,   247,   247,
2316 >     247,   247,   247,   247,   247,   245,   512,     1,    21,    22,
2317 >      25,    89,    90,    91,    94,   102,   114,   115,   130,   131,
2318 >     160,   323,   324,   325,   326,   327,   328,   329,   330,   331,
2319 >     332,   333,   334,   335,   336,   337,     1,     3,     6,    23,
2320 >      42,    46,    67,    69,    81,   102,   132,   161,   190,   237,
2321 >     399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
2322 >     412,   413,   414,   415,   416,     1,    72,   135,   429,   430,
2323 >     431,   432,   247,   245,   435,     1,   102,   135,   168,   439,
2324 >     443,   444,   445,   446,   247,   247,   247,   247,   247,   247,
2325 >     247,   247,   247,   247,   247,   247,   247,   247,   247,   247,
2326 >     247,   247,   247,   247,   247,   247,   247,   247,   247,   247,
2327 >     247,   247,   247,   247,   247,   503,   247,   499,   247,   247,
2328 >     247,   247,   247,   247,   247,   247,   247,   247,   247,   247,
2329 >     247,   247,   247,   247,   247,   247,   247,   247,   245,   449,
2330 >       1,    23,    42,    46,   127,   136,   137,   171,   230,   354,
2331 >     355,   356,   357,   358,   359,   360,   364,   365,   366,     1,
2332 >     135,   168,   230,   419,   423,   424,   425,   426,     1,    46,
2333 >      67,    72,   132,   340,   344,   345,   346,   350,   351,   244,
2334 >     247,   245,   291,   243,   244,   247,   247,   245,   258,     1,
2335 >      23,    42,    46,   102,   127,   146,   212,   230,   305,   306,
2336 >     307,   308,   309,   310,   311,   312,   313,   317,     1,    20,
2337 >     106,   135,   369,   370,   371,   372,   373,   247,   247,   247,
2338 >     247,   247,   247,   247,   245,   533,   244,   247,   247,   247,
2339 >     247,   247,   247,   247,   247,   247,   247,   247,   247,   247,
2340 >     247,   247,   245,   263,     1,   102,   168,   230,   380,   381,
2341 >     382,   383,   384,     1,   102,   168,   390,   391,   392,   393,
2342 >     247,   245,   376,   133,   133,   133,   244,   112,   112,   178,
2343 >     178,   112,   253,   253,   112,   112,   112,   178,   178,   112,
2344 >     253,   178,   178,   178,   178,   178,   244,   244,   247,   247,
2345 >     247,   247,   247,   247,   247,   247,   247,   247,   247,   247,
2346 >     247,   245,   324,   244,   247,   247,   247,   247,   409,   247,
2347 >     247,   247,   247,   247,   247,   247,   247,   245,   400,   247,
2348 >     247,   245,   430,   133,   244,   247,   247,   440,   245,   444,
2349 >     178,   253,   253,   112,   178,   178,   112,   133,   178,   253,
2350 >     178,   253,   112,   112,   112,   178,   178,   178,   253,   133,
2351 >     178,   112,   112,   253,   112,   112,   133,   112,   112,   178,
2352 >     178,   247,   178,   247,   253,   253,   178,   253,   178,   178,
2353 >     178,   178,   179,   178,   179,   178,   178,   253,   253,   112,
2354 >     255,   133,   253,   178,   178,   178,   178,   244,   244,   247,
2355 >     247,   361,   247,   247,   247,   247,   247,   245,   355,   247,
2356 >     420,   247,   245,   424,   244,   341,   247,   247,   247,   245,
2357 >     345,   178,   244,   246,   133,   133,   244,   244,   247,   247,
2358 >     318,   247,   247,   247,   314,   247,   245,   306,   244,   247,
2359 >     247,   247,   245,   370,   178,   178,   178,   133,   178,   178,
2360 >     253,   244,   133,   178,   133,   133,   133,   133,   133,   133,
2361 >     151,   152,   266,   267,   151,   152,   268,   269,   133,   133,
2362 >     112,   133,   133,   244,   244,   247,   385,   247,   245,   381,
2363 >     244,   247,   394,   245,   391,   133,   244,   244,   244,   244,
2364 >     244,   244,   244,   244,   155,   156,   157,   158,   159,   252,
2365 >     253,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2366 >     244,   244,   244,   244,   244,   112,   112,   253,   112,   112,
2367 >     112,   112,   133,   112,   112,   253,   253,   255,   244,   133,
2368 >     199,   200,   133,   178,   247,   133,   133,   133,   133,   112,
2369 >     133,   133,   133,   244,   133,   133,   244,   244,   133,   133,
2370 >     247,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2371 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2372 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2373 >     244,   244,   244,    62,   185,   186,   187,   188,   189,   192,
2374 >     193,   196,   197,   198,   201,   203,   204,   205,   207,   209,
2375 >     210,   213,   219,   504,   505,   244,    62,   185,   186,   187,
2376 >     188,   189,   192,   193,   196,   197,   198,   201,   203,   204,
2377 >     205,   207,   209,   210,   213,   219,   500,   501,   244,   244,
2378 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2379 >     244,   244,   244,    13,    14,    15,   254,   255,   244,   244,
2380 >     244,   244,   244,   244,   244,   133,   178,   247,   133,   112,
2381 >     133,   133,   133,   244,   133,   247,   133,   244,   247,   133,
2382 >     133,   112,   348,   349,   244,   244,     1,   102,   168,   242,
2383 >     295,   296,   297,   298,   299,   244,   244,   133,   178,   247,
2384 >     133,   133,   133,   247,   133,   244,   133,   133,   133,   244,
2385 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2386 >     244,   244,   244,   244,   244,   244,   248,   244,   248,   244,
2387 >     244,   244,   244,   244,   133,   247,   133,   244,   133,   247,
2388 >     244,   244,   252,   252,   252,   252,   252,   244,   244,   244,
2389 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2390 >     244,   244,   244,   244,   244,    10,    12,   211,   224,   410,
2391 >     411,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2392 >     244,   244,   244,   138,   441,   442,   244,   248,   244,   248,
2393 >     254,   254,   254,   244,   244,    19,    43,    53,    60,    76,
2394 >     103,   111,   154,   172,   362,   363,   244,   244,   244,   244,
2395 >     244,   244,   138,   421,   422,   244,    62,   206,   211,   342,
2396 >     343,   244,   244,   183,   248,   347,   244,   247,   300,   247,
2397 >     245,   296,   244,   244,     5,    31,    50,    58,    75,   100,
2398 >     107,   121,   139,   141,   142,   194,   204,   208,   214,   218,
2399 >     220,   229,   239,   319,   320,   244,   244,   244,    62,   185,
2400 >     186,   187,   188,   189,   192,   193,   196,   197,   198,   201,
2401 >     203,   204,   205,   207,   209,   210,   213,   219,   315,   316,
2402 >     244,   244,   244,   244,   267,   269,   244,    75,   153,   184,
2403 >     194,   201,   214,   216,   217,   229,   239,   386,   387,   244,
2404 >     244,    75,   153,   184,   194,   201,   214,   216,   217,   229,
2405 >     239,   395,   396,   244,   248,   244,   248,   505,   501,   244,
2406 >     248,   244,   248,   244,   248,   112,   349,   244,   133,   247,
2407 >     215,   255,   244,   244,   248,   244,   248,   244,   248,   244,
2408 >     248,   411,   442,   363,   422,   343,   244,    50,    73,    75,
2409 >     117,   193,   194,   230,   301,   302,   244,   244,   320,   316,
2410 >     387,   396,   244,   248,   302
2411   };
2412  
2413   #define yyerrok         (yyerrstatus = 0)
# Line 2444 | Line 2437 | static const yytype_uint16 yystos[] =
2437  
2438   #define YYRECOVERING()  (!!yyerrstatus)
2439  
2440 < #define YYBACKUP(Token, Value)                                  \
2441 < do                                                              \
2442 <  if (yychar == YYEMPTY && yylen == 1)                          \
2443 <    {                                                           \
2444 <      yychar = (Token);                                         \
2445 <      yylval = (Value);                                         \
2446 <      YYPOPSTACK (1);                                           \
2447 <      goto yybackup;                                            \
2448 <    }                                                           \
2449 <  else                                                          \
2450 <    {                                                           \
2440 > #define YYBACKUP(Token, Value)                                  \
2441 > do                                                              \
2442 >  if (yychar == YYEMPTY)                                        \
2443 >    {                                                           \
2444 >      yychar = (Token);                                         \
2445 >      yylval = (Value);                                         \
2446 >      YYPOPSTACK (yylen);                                       \
2447 >      yystate = *yyssp;                                         \
2448 >      goto yybackup;                                            \
2449 >    }                                                           \
2450 >  else                                                          \
2451 >    {                                                           \
2452        yyerror (YY_("syntax error: cannot back up")); \
2453        YYERROR;                                                  \
2454      }                                                           \
# Line 2549 | Line 2543 | yy_symbol_value_print (yyoutput, yytype,
2543      YYSTYPE const * const yyvaluep;
2544   #endif
2545   {
2546 +  FILE *yyo = yyoutput;
2547 +  YYUSE (yyo);
2548    if (!yyvaluep)
2549      return;
2550   # ifdef YYPRINT
# Line 2800 | Line 2796 | static int
2796   yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2797                  yytype_int16 *yyssp, int yytoken)
2798   {
2799 <  YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
2799 >  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
2800    YYSIZE_T yysize = yysize0;
2801    YYSIZE_T yysize1;
2802    enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2803    /* Internationalized format string. */
2804 <  const char *yyformat = 0;
2804 >  const char *yyformat = YY_NULL;
2805    /* Arguments of yyformat. */
2806    char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2807    /* Number of reported tokens (one for the "unexpected", one per
# Line 2865 | Line 2861 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2861                      break;
2862                    }
2863                  yyarg[yycount++] = yytname[yyx];
2864 <                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2864 >                yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2865                  if (! (yysize <= yysize1
2866                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2867                    return 2;
# Line 3017 | Line 3013 | yyparse ()
3013         `yyss': related to states.
3014         `yyvs': related to semantic values.
3015  
3016 <       Refer to the stacks thru separate pointers, to allow yyoverflow
3016 >       Refer to the stacks through separate pointers, to allow yyoverflow
3017         to reallocate them elsewhere.  */
3018  
3019      /* The state stack.  */
# Line 3248 | Line 3244 | yyreduce:
3244    YY_REDUCE_PRINT (yyn);
3245    switch (yyn)
3246      {
3247 <        case 27:
3247 >        case 26:
3248  
3249 < /* Line 1806 of yacc.c  */
3250 < #line 404 "ircd_parser.y"
3249 > /* Line 1810 of yacc.c  */
3250 > #line 386 "conf_parser.y"
3251      { (yyval.number) = 0; }
3252      break;
3253  
3254 <  case 29:
3254 >  case 28:
3255  
3256 < /* Line 1806 of yacc.c  */
3257 < #line 406 "ircd_parser.y"
3256 > /* Line 1810 of yacc.c  */
3257 > #line 388 "conf_parser.y"
3258      {
3259                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3260                  }
3261      break;
3262  
3263 <  case 30:
3263 >  case 29:
3264  
3265 < /* Line 1806 of yacc.c  */
3266 < #line 410 "ircd_parser.y"
3265 > /* Line 1810 of yacc.c  */
3266 > #line 392 "conf_parser.y"
3267      {
3268                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3269                  }
3270      break;
3271  
3272 <  case 31:
3272 >  case 30:
3273  
3274 < /* Line 1806 of yacc.c  */
3275 < #line 414 "ircd_parser.y"
3274 > /* Line 1810 of yacc.c  */
3275 > #line 396 "conf_parser.y"
3276      {
3277                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3278                  }
3279      break;
3280  
3281 <  case 32:
3281 >  case 31:
3282  
3283 < /* Line 1806 of yacc.c  */
3284 < #line 418 "ircd_parser.y"
3283 > /* Line 1810 of yacc.c  */
3284 > #line 400 "conf_parser.y"
3285      {
3286                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3287                  }
3288      break;
3289  
3290 <  case 33:
3290 >  case 32:
3291  
3292 < /* Line 1806 of yacc.c  */
3293 < #line 422 "ircd_parser.y"
3292 > /* Line 1810 of yacc.c  */
3293 > #line 404 "conf_parser.y"
3294      {
3295                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3296                  }
3297      break;
3298  
3299 <  case 34:
3299 >  case 33:
3300  
3301 < /* Line 1806 of yacc.c  */
3302 < #line 426 "ircd_parser.y"
3301 > /* Line 1810 of yacc.c  */
3302 > #line 408 "conf_parser.y"
3303      {
3304                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3305                  }
3306      break;
3307  
3308 <  case 35:
3308 >  case 34:
3309  
3310 < /* Line 1806 of yacc.c  */
3311 < #line 431 "ircd_parser.y"
3310 > /* Line 1810 of yacc.c  */
3311 > #line 413 "conf_parser.y"
3312      { (yyval.number) = 0; }
3313      break;
3314  
3315 <  case 37:
3315 >  case 36:
3316  
3317 < /* Line 1806 of yacc.c  */
3318 < #line 432 "ircd_parser.y"
3317 > /* Line 1810 of yacc.c  */
3318 > #line 414 "conf_parser.y"
3319      { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3320      break;
3321  
3322 <  case 38:
3322 >  case 37:
3323  
3324 < /* Line 1806 of yacc.c  */
3325 < #line 433 "ircd_parser.y"
3324 > /* Line 1810 of yacc.c  */
3325 > #line 415 "conf_parser.y"
3326      { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3327      break;
3328  
3329 <  case 39:
3329 >  case 38:
3330  
3331 < /* Line 1806 of yacc.c  */
3332 < #line 434 "ircd_parser.y"
3331 > /* Line 1810 of yacc.c  */
3332 > #line 416 "conf_parser.y"
3333      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3334      break;
3335  
3336 <  case 40:
3336 >  case 39:
3337  
3338 < /* Line 1806 of yacc.c  */
3339 < #line 435 "ircd_parser.y"
3338 > /* Line 1810 of yacc.c  */
3339 > #line 417 "conf_parser.y"
3340      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
3341      break;
3342  
3343 <  case 47:
3343 >  case 46:
3344  
3345 < /* Line 1806 of yacc.c  */
3346 < #line 449 "ircd_parser.y"
3345 > /* Line 1810 of yacc.c  */
3346 > #line 431 "conf_parser.y"
3347      {
3348    if (conf_parser_ctx.pass == 2)
3349      add_conf_module(libio_basename(yylval.string));
3350   }
3351      break;
3352  
3353 <  case 48:
3353 >  case 47:
3354  
3355 < /* Line 1806 of yacc.c  */
3356 < #line 455 "ircd_parser.y"
3355 > /* Line 1810 of yacc.c  */
3356 > #line 437 "conf_parser.y"
3357      {
3358    if (conf_parser_ctx.pass == 2)
3359      mod_add_path(yylval.string);
3360   }
3361      break;
3362  
3363 <  case 65:
3363 >  case 71:
3364  
3365 < /* Line 1806 of yacc.c  */
3366 < #line 475 "ircd_parser.y"
3365 > /* Line 1810 of yacc.c  */
3366 > #line 462 "conf_parser.y"
3367      {
3368   #ifdef HAVE_LIBCRYPTO
3369 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3370 <    ServerInfo.tls_version = 0;
3369 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3370 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
3371   #endif
3372   }
3373      break;
3374  
3375 <  case 66:
3375 >  case 72:
3376  
3377 < /* Line 1806 of yacc.c  */
3378 < #line 481 "ircd_parser.y"
3377 > /* Line 1810 of yacc.c  */
3378 > #line 468 "conf_parser.y"
3379      {
3380   #ifdef HAVE_LIBCRYPTO
3381 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3382 <  {
3387 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_SSLV3))
3388 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3389 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_TLSV1))
3390 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3391 <  }
3381 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3382 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
3383   #endif
3384   }
3385      break;
3386  
3387 <  case 69:
3387 >  case 75:
3388  
3389 < /* Line 1806 of yacc.c  */
3390 < #line 495 "ircd_parser.y"
3389 > /* Line 1810 of yacc.c  */
3390 > #line 477 "conf_parser.y"
3391      {
3392   #ifdef HAVE_LIBCRYPTO
3393 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3394 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_SSLV3;
3393 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3394 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3395   #endif
3396   }
3397      break;
3398  
3399 <  case 70:
3399 >  case 76:
3400  
3401 < /* Line 1806 of yacc.c  */
3402 < #line 501 "ircd_parser.y"
3401 > /* Line 1810 of yacc.c  */
3402 > #line 483 "conf_parser.y"
3403      {
3404   #ifdef HAVE_LIBCRYPTO
3405 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3406 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_TLSV1;
3405 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3406 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3407   #endif
3408   }
3409      break;
3410  
3411 <  case 71:
3411 >  case 77:
3412  
3413 < /* Line 1806 of yacc.c  */
3414 < #line 509 "ircd_parser.y"
3413 > /* Line 1810 of yacc.c  */
3414 > #line 491 "conf_parser.y"
3415      {
3416   #ifdef HAVE_LIBCRYPTO
3417    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3432 | Line 3423 | yyreduce:
3423      }
3424  
3425      if (SSL_CTX_use_certificate_file(ServerInfo.server_ctx, yylval.string,
3426 +                                     SSL_FILETYPE_PEM) <= 0 ||
3427 +        SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3428                                       SSL_FILETYPE_PEM) <= 0)
3429      {
3430        yyerror(ERR_lib_error_string(ERR_get_error()));
# Line 3439 | Line 3432 | yyreduce:
3432      }
3433  
3434      if (SSL_CTX_use_PrivateKey_file(ServerInfo.server_ctx, ServerInfo.rsa_private_key_file,
3435 +                                    SSL_FILETYPE_PEM) <= 0 ||
3436 +        SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3437                                      SSL_FILETYPE_PEM) <= 0)
3438      {
3439        yyerror(ERR_lib_error_string(ERR_get_error()));
3440        break;
3441      }
3442  
3443 <    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx))
3443 >    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3444 >        !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3445      {
3446        yyerror(ERR_lib_error_string(ERR_get_error()));
3447        break;
# Line 3455 | Line 3451 | yyreduce:
3451   }
3452      break;
3453  
3454 <  case 72:
3454 >  case 78:
3455  
3456 < /* Line 1806 of yacc.c  */
3457 < #line 543 "ircd_parser.y"
3456 > /* Line 1810 of yacc.c  */
3457 > #line 530 "conf_parser.y"
3458      {
3459   #ifdef HAVE_LIBCRYPTO
3460    if (conf_parser_ctx.pass == 1)
# Line 3485 | Line 3481 | yyreduce:
3481        break;
3482      }
3483  
3484 <    ServerInfo.rsa_private_key = (RSA *)PEM_read_bio_RSAPrivateKey(file, NULL,
3489 <      0, NULL);
3484 >    ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3485  
3486      BIO_set_close(file, BIO_CLOSE);
3487      BIO_free(file);
# Line 3519 | Line 3514 | yyreduce:
3514   }
3515      break;
3516  
3517 <  case 73:
3517 >  case 79:
3518 >
3519 > /* Line 1810 of yacc.c  */
3520 > #line 589 "conf_parser.y"
3521 >    {
3522 > /* TBD - XXX: error reporting */
3523 > #ifdef HAVE_LIBCRYPTO
3524 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3525 >  {
3526 >    BIO *file = BIO_new_file(yylval.string, "r");
3527 >
3528 >    if (file)
3529 >    {
3530 >      DH *dh = PEM_read_bio_DHparams(file, NULL, NULL, NULL);
3531 >
3532 >      BIO_free(file);
3533 >
3534 >      if (dh)
3535 >      {
3536 >        if (DH_size(dh) < 128)
3537 >          ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3538 >        else
3539 >          SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3540 >
3541 >        DH_free(dh);
3542 >      }
3543 >    }
3544 >  }
3545 > #endif
3546 > }
3547 >    break;
3548 >
3549 >  case 80:
3550 >
3551 > /* Line 1810 of yacc.c  */
3552 > #line 617 "conf_parser.y"
3553 >    {
3554 > #ifdef HAVE_LIBCRYPTO
3555 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3556 >    SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3557 > #endif
3558 > }
3559 >    break;
3560 >
3561 >  case 81:
3562  
3563 < /* Line 1806 of yacc.c  */
3564 < #line 603 "ircd_parser.y"
3563 > /* Line 1810 of yacc.c  */
3564 > #line 625 "conf_parser.y"
3565      {
3566    /* this isn't rehashable */
3567    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
# Line 3538 | Line 3577 | yyreduce:
3577   }
3578      break;
3579  
3580 <  case 74:
3580 >  case 82:
3581  
3582 < /* Line 1806 of yacc.c  */
3583 < #line 618 "ircd_parser.y"
3582 > /* Line 1810 of yacc.c  */
3583 > #line 640 "conf_parser.y"
3584      {
3585    /* this isn't rehashable */
3586    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3557 | Line 3596 | yyreduce:
3596   }
3597      break;
3598  
3599 <  case 75:
3599 >  case 83:
3600  
3601 < /* Line 1806 of yacc.c  */
3602 < #line 633 "ircd_parser.y"
3601 > /* Line 1810 of yacc.c  */
3602 > #line 655 "conf_parser.y"
3603      {
3604    if (conf_parser_ctx.pass == 2)
3605    {
# Line 3570 | Line 3609 | yyreduce:
3609   }
3610      break;
3611  
3612 <  case 76:
3612 >  case 84:
3613  
3614 < /* Line 1806 of yacc.c  */
3615 < #line 642 "ircd_parser.y"
3614 > /* Line 1810 of yacc.c  */
3615 > #line 664 "conf_parser.y"
3616      {
3617    if (conf_parser_ctx.pass == 2)
3618    {
# Line 3588 | Line 3627 | yyreduce:
3627   }
3628      break;
3629  
3630 <  case 77:
3630 >  case 85:
3631  
3632 < /* Line 1806 of yacc.c  */
3633 < #line 656 "ircd_parser.y"
3632 > /* Line 1810 of yacc.c  */
3633 > #line 678 "conf_parser.y"
3634      {
3635    if (conf_parser_ctx.pass == 2)
3636    {
# Line 3601 | Line 3640 | yyreduce:
3640   }
3641      break;
3642  
3643 <  case 78:
3643 >  case 86:
3644  
3645 < /* Line 1806 of yacc.c  */
3646 < #line 665 "ircd_parser.y"
3645 > /* Line 1810 of yacc.c  */
3646 > #line 687 "conf_parser.y"
3647      {
3648    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3649    {
# Line 3633 | Line 3672 | yyreduce:
3672   }
3673      break;
3674  
3675 <  case 79:
3675 >  case 87:
3676  
3677 < /* Line 1806 of yacc.c  */
3678 < #line 693 "ircd_parser.y"
3677 > /* Line 1810 of yacc.c  */
3678 > #line 715 "conf_parser.y"
3679      {
3680   #ifdef IPV6
3681    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3667 | Line 3706 | yyreduce:
3706   }
3707      break;
3708  
3709 <  case 80:
3709 >  case 88:
3710  
3711 < /* Line 1806 of yacc.c  */
3712 < #line 723 "ircd_parser.y"
3711 > /* Line 1810 of yacc.c  */
3712 > #line 745 "conf_parser.y"
3713      {
3714    if (conf_parser_ctx.pass == 2)
3715    {
# Line 3694 | Line 3733 | yyreduce:
3733   }
3734      break;
3735  
3736 <  case 81:
3736 >  case 89:
3737  
3738 < /* Line 1806 of yacc.c  */
3739 < #line 746 "ircd_parser.y"
3738 > /* Line 1810 of yacc.c  */
3739 > #line 768 "conf_parser.y"
3740      {
3741    if (conf_parser_ctx.pass == 2)
3742      ServerInfo.hub = yylval.number;
3743   }
3744      break;
3745  
3746 <  case 89:
3746 >  case 97:
3747  
3748 < /* Line 1806 of yacc.c  */
3749 < #line 761 "ircd_parser.y"
3748 > /* Line 1810 of yacc.c  */
3749 > #line 783 "conf_parser.y"
3750      {
3751    if (conf_parser_ctx.pass == 2)
3752    {
# Line 3717 | Line 3756 | yyreduce:
3756   }
3757      break;
3758  
3759 <  case 90:
3759 >  case 98:
3760  
3761 < /* Line 1806 of yacc.c  */
3762 < #line 770 "ircd_parser.y"
3761 > /* Line 1810 of yacc.c  */
3762 > #line 792 "conf_parser.y"
3763      {
3764    if (conf_parser_ctx.pass == 2)
3765    {
# Line 3730 | Line 3769 | yyreduce:
3769   }
3770      break;
3771  
3772 <  case 91:
3772 >  case 99:
3773  
3774 < /* Line 1806 of yacc.c  */
3775 < #line 779 "ircd_parser.y"
3774 > /* Line 1810 of yacc.c  */
3775 > #line 801 "conf_parser.y"
3776      {
3777    if (conf_parser_ctx.pass == 2)
3778    {
# Line 3743 | Line 3782 | yyreduce:
3782   }
3783      break;
3784  
3785 <  case 99:
3785 >  case 106:
3786  
3787 < /* Line 1806 of yacc.c  */
3788 < #line 797 "ircd_parser.y"
3787 > /* Line 1810 of yacc.c  */
3788 > #line 819 "conf_parser.y"
3789      {
3790    if (conf_parser_ctx.pass == 2)
3791      ConfigLoggingEntry.use_logging = yylval.number;
3792   }
3793      break;
3794  
3795 <  case 100:
3795 >  case 107:
3796  
3797 < /* Line 1806 of yacc.c  */
3798 < #line 803 "ircd_parser.y"
3760 <    {
3761 <  if (conf_parser_ctx.pass == 2)
3762 <    ConfigLoggingEntry.timestamp = yylval.number;
3763 < }
3764 <    break;
3765 <
3766 <  case 101:
3767 <
3768 < /* Line 1806 of yacc.c  */
3769 < #line 809 "ircd_parser.y"
3797 > /* Line 1810 of yacc.c  */
3798 > #line 825 "conf_parser.y"
3799      {
3800    lfile[0] = '\0';
3801    ltype = 0;
# Line 3774 | Line 3803 | yyreduce:
3803   }
3804      break;
3805  
3806 <  case 102:
3806 >  case 108:
3807  
3808 < /* Line 1806 of yacc.c  */
3809 < #line 814 "ircd_parser.y"
3808 > /* Line 1810 of yacc.c  */
3809 > #line 830 "conf_parser.y"
3810      {
3811    if (conf_parser_ctx.pass == 2 && ltype > 0)
3812      log_add_file(ltype, lsize, lfile);
3813   }
3814      break;
3815  
3816 <  case 109:
3816 >  case 115:
3817  
3818 < /* Line 1806 of yacc.c  */
3819 < #line 826 "ircd_parser.y"
3818 > /* Line 1810 of yacc.c  */
3819 > #line 842 "conf_parser.y"
3820      {
3821    strlcpy(lfile, yylval.string, sizeof(lfile));
3822   }
3823      break;
3824  
3825 <  case 110:
3825 >  case 116:
3826  
3827 < /* Line 1806 of yacc.c  */
3828 < #line 831 "ircd_parser.y"
3827 > /* Line 1810 of yacc.c  */
3828 > #line 847 "conf_parser.y"
3829      {
3830    lsize = (yyvsp[(3) - (4)].number);
3831   }
3832      break;
3833  
3834 <  case 111:
3834 >  case 117:
3835  
3836 < /* Line 1806 of yacc.c  */
3837 < #line 834 "ircd_parser.y"
3836 > /* Line 1810 of yacc.c  */
3837 > #line 850 "conf_parser.y"
3838      {
3839    lsize = 0;
3840   }
3841      break;
3842  
3843 <  case 112:
3843 >  case 118:
3844  
3845 < /* Line 1806 of yacc.c  */
3846 < #line 839 "ircd_parser.y"
3845 > /* Line 1810 of yacc.c  */
3846 > #line 855 "conf_parser.y"
3847      {
3848    if (conf_parser_ctx.pass == 2)
3849      ltype = 0;
3850   }
3851      break;
3852  
3853 <  case 116:
3853 >  case 122:
3854  
3855 < /* Line 1806 of yacc.c  */
3856 < #line 846 "ircd_parser.y"
3855 > /* Line 1810 of yacc.c  */
3856 > #line 862 "conf_parser.y"
3857      {
3858    if (conf_parser_ctx.pass == 2)
3859      ltype = LOG_TYPE_USER;
3860   }
3861      break;
3862  
3863 <  case 117:
3863 >  case 123:
3864  
3865 < /* Line 1806 of yacc.c  */
3866 < #line 850 "ircd_parser.y"
3865 > /* Line 1810 of yacc.c  */
3866 > #line 866 "conf_parser.y"
3867      {
3868    if (conf_parser_ctx.pass == 2)
3869      ltype = LOG_TYPE_OPER;
3870   }
3871      break;
3872  
3873 <  case 118:
3873 >  case 124:
3874  
3875 < /* Line 1806 of yacc.c  */
3876 < #line 854 "ircd_parser.y"
3875 > /* Line 1810 of yacc.c  */
3876 > #line 870 "conf_parser.y"
3877      {
3878    if (conf_parser_ctx.pass == 2)
3879      ltype = LOG_TYPE_GLINE;
3880   }
3881      break;
3882  
3883 <  case 119:
3883 >  case 125:
3884  
3885 < /* Line 1806 of yacc.c  */
3886 < #line 858 "ircd_parser.y"
3885 > /* Line 1810 of yacc.c  */
3886 > #line 874 "conf_parser.y"
3887      {
3888    if (conf_parser_ctx.pass == 2)
3889      ltype = LOG_TYPE_DLINE;
3890   }
3891      break;
3892  
3893 <  case 120:
3893 >  case 126:
3894  
3895 < /* Line 1806 of yacc.c  */
3896 < #line 862 "ircd_parser.y"
3895 > /* Line 1810 of yacc.c  */
3896 > #line 878 "conf_parser.y"
3897      {
3898    if (conf_parser_ctx.pass == 2)
3899      ltype = LOG_TYPE_KLINE;
3900   }
3901      break;
3902  
3903 <  case 121:
3903 >  case 127:
3904  
3905 < /* Line 1806 of yacc.c  */
3906 < #line 866 "ircd_parser.y"
3905 > /* Line 1810 of yacc.c  */
3906 > #line 882 "conf_parser.y"
3907      {
3908    if (conf_parser_ctx.pass == 2)
3909      ltype = LOG_TYPE_KILL;
3910   }
3911      break;
3912  
3913 <  case 122:
3913 >  case 128:
3914  
3915 < /* Line 1806 of yacc.c  */
3916 < #line 870 "ircd_parser.y"
3915 > /* Line 1810 of yacc.c  */
3916 > #line 886 "conf_parser.y"
3917      {
3918    if (conf_parser_ctx.pass == 2)
3919      ltype = LOG_TYPE_DEBUG;
3920   }
3921      break;
3922  
3923 <  case 123:
3923 >  case 129:
3924  
3925 < /* Line 1806 of yacc.c  */
3926 < #line 880 "ircd_parser.y"
3925 > /* Line 1810 of yacc.c  */
3926 > #line 896 "conf_parser.y"
3927      {
3928    if (conf_parser_ctx.pass == 2)
3929    {
# Line 3910 | Line 3939 | yyreduce:
3939   }
3940      break;
3941  
3942 <  case 124:
3942 >  case 130:
3943  
3944 < /* Line 1806 of yacc.c  */
3945 < #line 893 "ircd_parser.y"
3944 > /* Line 1810 of yacc.c  */
3945 > #line 909 "conf_parser.y"
3946      {
3947    if (conf_parser_ctx.pass == 2)
3948    {
# Line 3949 | Line 3978 | yyreduce:
3978        else
3979          DupString(new_aconf->host, "*");
3980  
3981 <      new_aconf->type = parse_netmask(new_aconf->host, &new_aconf->ipnum,
3981 >      new_aconf->type = parse_netmask(new_aconf->host, &new_aconf->addr,
3982                                       &new_aconf->bits);
3983  
3984        conf_add_class_to_conf(new_conf, class_name);
# Line 3999 | Line 4028 | yyreduce:
4028   }
4029      break;
4030  
4031 <  case 136:
4031 >  case 142:
4032  
4033 < /* Line 1806 of yacc.c  */
4034 < #line 983 "ircd_parser.y"
4033 > /* Line 1810 of yacc.c  */
4034 > #line 999 "conf_parser.y"
4035      {
4036    if (conf_parser_ctx.pass == 2)
4037    {
4009    if (strlen(yylval.string) > OPERNICKLEN)
4010      yylval.string[OPERNICKLEN] = '\0';
4011
4038      MyFree(yy_conf->name);
4039      DupString(yy_conf->name, yylval.string);
4040    }
4041   }
4042      break;
4043  
4044 <  case 137:
4044 >  case 143:
4045  
4046 < /* Line 1806 of yacc.c  */
4047 < #line 995 "ircd_parser.y"
4046 > /* Line 1810 of yacc.c  */
4047 > #line 1008 "conf_parser.y"
4048      {
4049    if (conf_parser_ctx.pass == 2)
4050    {
# Line 4040 | Line 4066 | yyreduce:
4066        DupString(yy_aconf->user, userbuf);
4067        DupString(yy_aconf->host, hostbuf);
4068  
4069 <      yy_aconf->type = parse_netmask(yy_aconf->host, &yy_aconf->ipnum,
4069 >      yy_aconf->type = parse_netmask(yy_aconf->host, &yy_aconf->addr,
4070                                      &yy_aconf->bits);
4071      }
4072      else
# Line 4056 | Line 4082 | yyreduce:
4082   }
4083      break;
4084  
4085 <  case 138:
4085 >  case 144:
4086  
4087 < /* Line 1806 of yacc.c  */
4088 < #line 1032 "ircd_parser.y"
4087 > /* Line 1810 of yacc.c  */
4088 > #line 1045 "conf_parser.y"
4089      {
4090    if (conf_parser_ctx.pass == 2)
4091    {
# Line 4072 | Line 4098 | yyreduce:
4098   }
4099      break;
4100  
4101 <  case 139:
4101 >  case 145:
4102  
4103 < /* Line 1806 of yacc.c  */
4104 < #line 1044 "ircd_parser.y"
4103 > /* Line 1810 of yacc.c  */
4104 > #line 1057 "conf_parser.y"
4105      {
4106    if (conf_parser_ctx.pass == 2)
4107    {
# Line 4087 | Line 4113 | yyreduce:
4113   }
4114      break;
4115  
4116 <  case 140:
4116 >  case 146:
4117  
4118 < /* Line 1806 of yacc.c  */
4119 < #line 1055 "ircd_parser.y"
4118 > /* Line 1810 of yacc.c  */
4119 > #line 1068 "conf_parser.y"
4120      {
4121   #ifdef HAVE_LIBCRYPTO
4122    if (conf_parser_ctx.pass == 2)
# Line 4133 | Line 4159 | yyreduce:
4159   }
4160      break;
4161  
4162 <  case 141:
4162 >  case 147:
4163  
4164 < /* Line 1806 of yacc.c  */
4165 < #line 1097 "ircd_parser.y"
4164 > /* Line 1810 of yacc.c  */
4165 > #line 1110 "conf_parser.y"
4166      {
4167    if (conf_parser_ctx.pass == 2)
4168    {
# Line 4146 | Line 4172 | yyreduce:
4172   }
4173      break;
4174  
4175 <  case 142:
4175 >  case 148:
4176  
4177 < /* Line 1806 of yacc.c  */
4178 < #line 1106 "ircd_parser.y"
4177 > /* Line 1810 of yacc.c  */
4178 > #line 1119 "conf_parser.y"
4179      {
4180    if (conf_parser_ctx.pass == 2)
4181      yy_aconf->modes = 0;
4182   }
4183      break;
4184  
4185 <  case 146:
4185 >  case 152:
4186  
4187 < /* Line 1806 of yacc.c  */
4188 < #line 1113 "ircd_parser.y"
4187 > /* Line 1810 of yacc.c  */
4188 > #line 1126 "conf_parser.y"
4189      {
4190    if (conf_parser_ctx.pass == 2)
4191      yy_aconf->modes |= UMODE_BOTS;
4192   }
4193      break;
4194  
4195 <  case 147:
4195 >  case 153:
4196  
4197 < /* Line 1806 of yacc.c  */
4198 < #line 1117 "ircd_parser.y"
4197 > /* Line 1810 of yacc.c  */
4198 > #line 1130 "conf_parser.y"
4199      {
4200    if (conf_parser_ctx.pass == 2)
4201      yy_aconf->modes |= UMODE_CCONN;
4202   }
4203      break;
4204  
4205 <  case 148:
4205 >  case 154:
4206  
4207 < /* Line 1806 of yacc.c  */
4208 < #line 1121 "ircd_parser.y"
4207 > /* Line 1810 of yacc.c  */
4208 > #line 1134 "conf_parser.y"
4209      {
4210    if (conf_parser_ctx.pass == 2)
4211      yy_aconf->modes |= UMODE_CCONN_FULL;
4212   }
4213      break;
4214  
4215 <  case 149:
4215 >  case 155:
4216  
4217 < /* Line 1806 of yacc.c  */
4218 < #line 1125 "ircd_parser.y"
4217 > /* Line 1810 of yacc.c  */
4218 > #line 1138 "conf_parser.y"
4219      {
4220    if (conf_parser_ctx.pass == 2)
4221      yy_aconf->modes |= UMODE_DEAF;
4222   }
4223      break;
4224  
4225 <  case 150:
4225 >  case 156:
4226  
4227 < /* Line 1806 of yacc.c  */
4228 < #line 1129 "ircd_parser.y"
4227 > /* Line 1810 of yacc.c  */
4228 > #line 1142 "conf_parser.y"
4229      {
4230    if (conf_parser_ctx.pass == 2)
4231      yy_aconf->modes |= UMODE_DEBUG;
4232   }
4233      break;
4234  
4235 <  case 151:
4235 >  case 157:
4236  
4237 < /* Line 1806 of yacc.c  */
4238 < #line 1133 "ircd_parser.y"
4237 > /* Line 1810 of yacc.c  */
4238 > #line 1146 "conf_parser.y"
4239      {
4240    if (conf_parser_ctx.pass == 2)
4241      yy_aconf->modes |= UMODE_FULL;
4242   }
4243      break;
4244  
4245 <  case 152:
4245 >  case 158:
4246  
4247 < /* Line 1806 of yacc.c  */
4248 < #line 1137 "ircd_parser.y"
4247 > /* Line 1810 of yacc.c  */
4248 > #line 1150 "conf_parser.y"
4249      {
4250    if (conf_parser_ctx.pass == 2)
4251      yy_aconf->modes |= UMODE_HIDDEN;
4252   }
4253      break;
4254  
4255 <  case 153:
4255 >  case 159:
4256  
4257 < /* Line 1806 of yacc.c  */
4258 < #line 1141 "ircd_parser.y"
4257 > /* Line 1810 of yacc.c  */
4258 > #line 1154 "conf_parser.y"
4259      {
4260    if (conf_parser_ctx.pass == 2)
4261      yy_aconf->modes |= UMODE_SKILL;
4262   }
4263      break;
4264  
4265 <  case 154:
4265 >  case 160:
4266  
4267 < /* Line 1806 of yacc.c  */
4268 < #line 1145 "ircd_parser.y"
4267 > /* Line 1810 of yacc.c  */
4268 > #line 1158 "conf_parser.y"
4269      {
4270    if (conf_parser_ctx.pass == 2)
4271      yy_aconf->modes |= UMODE_NCHANGE;
4272   }
4273      break;
4274  
4275 <  case 155:
4275 >  case 161:
4276  
4277 < /* Line 1806 of yacc.c  */
4278 < #line 1149 "ircd_parser.y"
4277 > /* Line 1810 of yacc.c  */
4278 > #line 1162 "conf_parser.y"
4279      {
4280    if (conf_parser_ctx.pass == 2)
4281      yy_aconf->modes |= UMODE_REJ;
4282   }
4283      break;
4284  
4285 <  case 156:
4285 >  case 162:
4286  
4287 < /* Line 1806 of yacc.c  */
4288 < #line 1153 "ircd_parser.y"
4287 > /* Line 1810 of yacc.c  */
4288 > #line 1166 "conf_parser.y"
4289      {
4290    if (conf_parser_ctx.pass == 2)
4291      yy_aconf->modes |= UMODE_UNAUTH;
4292   }
4293      break;
4294  
4295 <  case 157:
4295 >  case 163:
4296  
4297 < /* Line 1806 of yacc.c  */
4298 < #line 1157 "ircd_parser.y"
4297 > /* Line 1810 of yacc.c  */
4298 > #line 1170 "conf_parser.y"
4299      {
4300    if (conf_parser_ctx.pass == 2)
4301      yy_aconf->modes |= UMODE_SPY;
4302   }
4303      break;
4304  
4305 <  case 158:
4305 >  case 164:
4306  
4307 < /* Line 1806 of yacc.c  */
4308 < #line 1161 "ircd_parser.y"
4307 > /* Line 1810 of yacc.c  */
4308 > #line 1174 "conf_parser.y"
4309      {
4310    if (conf_parser_ctx.pass == 2)
4311      yy_aconf->modes |= UMODE_EXTERNAL;
4312   }
4313      break;
4314  
4315 <  case 159:
4315 >  case 165:
4316  
4317 < /* Line 1806 of yacc.c  */
4318 < #line 1165 "ircd_parser.y"
4317 > /* Line 1810 of yacc.c  */
4318 > #line 1178 "conf_parser.y"
4319      {
4320    if (conf_parser_ctx.pass == 2)
4321      yy_aconf->modes |= UMODE_OPERWALL;
4322   }
4323      break;
4324  
4325 <  case 160:
4325 >  case 166:
4326  
4327 < /* Line 1806 of yacc.c  */
4328 < #line 1169 "ircd_parser.y"
4327 > /* Line 1810 of yacc.c  */
4328 > #line 1182 "conf_parser.y"
4329      {
4330    if (conf_parser_ctx.pass == 2)
4331      yy_aconf->modes |= UMODE_SERVNOTICE;
4332   }
4333      break;
4334  
4335 <  case 161:
4335 >  case 167:
4336  
4337 < /* Line 1806 of yacc.c  */
4338 < #line 1173 "ircd_parser.y"
4337 > /* Line 1810 of yacc.c  */
4338 > #line 1186 "conf_parser.y"
4339      {
4340    if (conf_parser_ctx.pass == 2)
4341      yy_aconf->modes |= UMODE_INVISIBLE;
4342   }
4343      break;
4344  
4345 <  case 162:
4345 >  case 168:
4346  
4347 < /* Line 1806 of yacc.c  */
4348 < #line 1177 "ircd_parser.y"
4347 > /* Line 1810 of yacc.c  */
4348 > #line 1190 "conf_parser.y"
4349      {
4350    if (conf_parser_ctx.pass == 2)
4351      yy_aconf->modes |= UMODE_WALLOP;
4352   }
4353      break;
4354  
4355 <  case 163:
4355 >  case 169:
4356  
4357 < /* Line 1806 of yacc.c  */
4358 < #line 1181 "ircd_parser.y"
4357 > /* Line 1810 of yacc.c  */
4358 > #line 1194 "conf_parser.y"
4359      {
4360    if (conf_parser_ctx.pass == 2)
4361      yy_aconf->modes |= UMODE_SOFTCALLERID;
4362   }
4363      break;
4364  
4365 <  case 164:
4365 >  case 170:
4366  
4367 < /* Line 1806 of yacc.c  */
4368 < #line 1185 "ircd_parser.y"
4367 > /* Line 1810 of yacc.c  */
4368 > #line 1198 "conf_parser.y"
4369      {
4370    if (conf_parser_ctx.pass == 2)
4371      yy_aconf->modes |= UMODE_CALLERID;
4372   }
4373      break;
4374  
4375 <  case 165:
4375 >  case 171:
4376  
4377 < /* Line 1806 of yacc.c  */
4378 < #line 1189 "ircd_parser.y"
4377 > /* Line 1810 of yacc.c  */
4378 > #line 1202 "conf_parser.y"
4379      {
4380    if (conf_parser_ctx.pass == 2)
4381      yy_aconf->modes |= UMODE_LOCOPS;
4382   }
4383      break;
4384  
4385 <  case 166:
4385 >  case 172:
4386  
4387 < /* Line 1806 of yacc.c  */
4388 < #line 1195 "ircd_parser.y"
4387 > /* Line 1810 of yacc.c  */
4388 > #line 1208 "conf_parser.y"
4389      {
4390    if (conf_parser_ctx.pass == 2)
4391      yy_aconf->port = 0;
4392   }
4393      break;
4394  
4395 <  case 170:
4395 >  case 176:
4396  
4397 < /* Line 1806 of yacc.c  */
4398 < #line 1202 "ircd_parser.y"
4397 > /* Line 1810 of yacc.c  */
4398 > #line 1215 "conf_parser.y"
4399      {
4400    if (conf_parser_ctx.pass == 2)
4401      yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4402   }
4403      break;
4404  
4405 <  case 171:
4405 >  case 177:
4406  
4407 < /* Line 1806 of yacc.c  */
4408 < #line 1206 "ircd_parser.y"
4407 > /* Line 1810 of yacc.c  */
4408 > #line 1219 "conf_parser.y"
4409      {
4410    if (conf_parser_ctx.pass == 2)
4411      yy_aconf->port |= OPER_FLAG_REMOTE;
4412   }
4413      break;
4414  
4415 <  case 172:
4415 >  case 178:
4416  
4417 < /* Line 1806 of yacc.c  */
4418 < #line 1210 "ircd_parser.y"
4417 > /* Line 1810 of yacc.c  */
4418 > #line 1223 "conf_parser.y"
4419      {
4420    if (conf_parser_ctx.pass == 2)
4421      yy_aconf->port |= OPER_FLAG_K;
4422   }
4423      break;
4424  
4425 <  case 173:
4425 >  case 179:
4426  
4427 < /* Line 1806 of yacc.c  */
4428 < #line 1214 "ircd_parser.y"
4427 > /* Line 1810 of yacc.c  */
4428 > #line 1227 "conf_parser.y"
4429      {
4430    if (conf_parser_ctx.pass == 2)
4431      yy_aconf->port |= OPER_FLAG_UNKLINE;
4432   }
4433      break;
4434  
4435 <  case 174:
4435 >  case 180:
4436  
4437 < /* Line 1806 of yacc.c  */
4438 < #line 1218 "ircd_parser.y"
4437 > /* Line 1810 of yacc.c  */
4438 > #line 1231 "conf_parser.y"
4439      {
4440    if (conf_parser_ctx.pass == 2)
4441      yy_aconf->port |= OPER_FLAG_DLINE;
4442   }
4443      break;
4444  
4445 <  case 175:
4445 >  case 181:
4446  
4447 < /* Line 1806 of yacc.c  */
4448 < #line 1222 "ircd_parser.y"
4447 > /* Line 1810 of yacc.c  */
4448 > #line 1235 "conf_parser.y"
4449      {
4450    if (conf_parser_ctx.pass == 2)
4451      yy_aconf->port |= OPER_FLAG_UNDLINE;
4452   }
4453      break;
4454  
4455 <  case 176:
4455 >  case 182:
4456  
4457 < /* Line 1806 of yacc.c  */
4458 < #line 1226 "ircd_parser.y"
4457 > /* Line 1810 of yacc.c  */
4458 > #line 1239 "conf_parser.y"
4459      {
4460    if (conf_parser_ctx.pass == 2)
4461      yy_aconf->port |= OPER_FLAG_X;
4462   }
4463      break;
4464  
4465 <  case 177:
4465 >  case 183:
4466  
4467 < /* Line 1806 of yacc.c  */
4468 < #line 1230 "ircd_parser.y"
4467 > /* Line 1810 of yacc.c  */
4468 > #line 1243 "conf_parser.y"
4469      {
4470    if (conf_parser_ctx.pass == 2)
4471      yy_aconf->port |= OPER_FLAG_GLINE;
4472   }
4473      break;
4474  
4475 <  case 178:
4475 >  case 184:
4476  
4477 < /* Line 1806 of yacc.c  */
4478 < #line 1234 "ircd_parser.y"
4477 > /* Line 1810 of yacc.c  */
4478 > #line 1247 "conf_parser.y"
4479      {
4480    if (conf_parser_ctx.pass == 2)
4481      yy_aconf->port |= OPER_FLAG_DIE;
4482   }
4483      break;
4484  
4485 <  case 179:
4485 >  case 185:
4486  
4487 < /* Line 1806 of yacc.c  */
4488 < #line 1238 "ircd_parser.y"
4487 > /* Line 1810 of yacc.c  */
4488 > #line 1251 "conf_parser.y"
4489      {
4490    if (conf_parser_ctx.pass == 2)
4491      yy_aconf->port |= OPER_FLAG_RESTART;
4492   }
4493      break;
4494  
4495 <  case 180:
4495 >  case 186:
4496  
4497 < /* Line 1806 of yacc.c  */
4498 < #line 1242 "ircd_parser.y"
4497 > /* Line 1810 of yacc.c  */
4498 > #line 1255 "conf_parser.y"
4499      {
4500    if (conf_parser_ctx.pass == 2)
4501      yy_aconf->port |= OPER_FLAG_REHASH;
4502   }
4503      break;
4504  
4505 <  case 181:
4505 >  case 187:
4506  
4507 < /* Line 1806 of yacc.c  */
4508 < #line 1246 "ircd_parser.y"
4507 > /* Line 1810 of yacc.c  */
4508 > #line 1259 "conf_parser.y"
4509      {
4510    if (conf_parser_ctx.pass == 2)
4511      yy_aconf->port |= OPER_FLAG_ADMIN;
4512   }
4513      break;
4514  
4515 <  case 182:
4515 >  case 188:
4516  
4517 < /* Line 1806 of yacc.c  */
4518 < #line 1250 "ircd_parser.y"
4517 > /* Line 1810 of yacc.c  */
4518 > #line 1263 "conf_parser.y"
4519      {
4520    if (conf_parser_ctx.pass == 2)
4521      yy_aconf->port |= OPER_FLAG_N;
4522   }
4523      break;
4524  
4525 <  case 183:
4525 >  case 189:
4526  
4527 < /* Line 1806 of yacc.c  */
4528 < #line 1254 "ircd_parser.y"
4527 > /* Line 1810 of yacc.c  */
4528 > #line 1267 "conf_parser.y"
4529      {
4530    if (conf_parser_ctx.pass == 2)
4531      yy_aconf->port |= OPER_FLAG_OPERWALL;
4532   }
4533      break;
4534  
4535 <  case 184:
4535 >  case 190:
4536  
4537 < /* Line 1806 of yacc.c  */
4538 < #line 1258 "ircd_parser.y"
4537 > /* Line 1810 of yacc.c  */
4538 > #line 1271 "conf_parser.y"
4539      {
4540    if (conf_parser_ctx.pass == 2)
4541      yy_aconf->port |= OPER_FLAG_GLOBOPS;
4542   }
4543      break;
4544  
4545 <  case 185:
4545 >  case 191:
4546  
4547 < /* Line 1806 of yacc.c  */
4548 < #line 1262 "ircd_parser.y"
4547 > /* Line 1810 of yacc.c  */
4548 > #line 1275 "conf_parser.y"
4549      {
4550    if (conf_parser_ctx.pass == 2)
4551      yy_aconf->port |= OPER_FLAG_OPER_SPY;
4552   }
4553      break;
4554  
4555 <  case 186:
4555 >  case 192:
4556  
4557 < /* Line 1806 of yacc.c  */
4558 < #line 1266 "ircd_parser.y"
4557 > /* Line 1810 of yacc.c  */
4558 > #line 1279 "conf_parser.y"
4559      {
4560    if (conf_parser_ctx.pass == 2)
4561      yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4562   }
4563      break;
4564  
4565 <  case 187:
4565 >  case 193:
4566  
4567 < /* Line 1806 of yacc.c  */
4568 < #line 1270 "ircd_parser.y"
4567 > /* Line 1810 of yacc.c  */
4568 > #line 1283 "conf_parser.y"
4569 >    {
4570 >  if (conf_parser_ctx.pass == 2)
4571 >    yy_aconf->port |= OPER_FLAG_SET;
4572 > }
4573 >    break;
4574 >
4575 >  case 194:
4576 >
4577 > /* Line 1810 of yacc.c  */
4578 > #line 1287 "conf_parser.y"
4579      {
4580    if (conf_parser_ctx.pass == 2)
4581      yy_aconf->port |= OPER_FLAG_MODULE;
4582   }
4583      break;
4584  
4585 <  case 188:
4585 >  case 195:
4586  
4587 < /* Line 1806 of yacc.c  */
4588 < #line 1280 "ircd_parser.y"
4587 > /* Line 1810 of yacc.c  */
4588 > #line 1297 "conf_parser.y"
4589      {
4590    if (conf_parser_ctx.pass == 1)
4591    {
# Line 4559 | Line 4595 | yyreduce:
4595   }
4596      break;
4597  
4598 <  case 189:
4598 >  case 196:
4599  
4600 < /* Line 1806 of yacc.c  */
4601 < #line 1287 "ircd_parser.y"
4600 > /* Line 1810 of yacc.c  */
4601 > #line 1304 "conf_parser.y"
4602      {
4603    if (conf_parser_ctx.pass == 1)
4604    {
# Line 4606 | Line 4642 | yyreduce:
4642   }
4643      break;
4644  
4645 <  case 206:
4645 >  case 213:
4646  
4647 < /* Line 1806 of yacc.c  */
4648 < #line 1345 "ircd_parser.y"
4647 > /* Line 1810 of yacc.c  */
4648 > #line 1362 "conf_parser.y"
4649      {
4650    if (conf_parser_ctx.pass == 1)
4651    {
# Line 4619 | Line 4655 | yyreduce:
4655   }
4656      break;
4657  
4658 <  case 207:
4658 >  case 214:
4659  
4660 < /* Line 1806 of yacc.c  */
4661 < #line 1354 "ircd_parser.y"
4660 > /* Line 1810 of yacc.c  */
4661 > #line 1371 "conf_parser.y"
4662      {
4663    if (conf_parser_ctx.pass == 1)
4664 <    PingFreq(yy_class) = (yyvsp[(3) - (4)].number);
4664 >    yy_class->ping_freq = (yyvsp[(3) - (4)].number);
4665   }
4666      break;
4667  
4668 <  case 208:
4668 >  case 215:
4669  
4670 < /* Line 1806 of yacc.c  */
4671 < #line 1360 "ircd_parser.y"
4670 > /* Line 1810 of yacc.c  */
4671 > #line 1377 "conf_parser.y"
4672      {
4673    if (conf_parser_ctx.pass == 1)
4674 <    PingWarning(yy_class) = (yyvsp[(3) - (4)].number);
4674 >    yy_class->ping_warning = (yyvsp[(3) - (4)].number);
4675   }
4676      break;
4677  
4678 <  case 209:
4678 >  case 216:
4679  
4680 < /* Line 1806 of yacc.c  */
4681 < #line 1366 "ircd_parser.y"
4680 > /* Line 1810 of yacc.c  */
4681 > #line 1383 "conf_parser.y"
4682      {
4683    if (conf_parser_ctx.pass == 1)
4684 <    MaxPerIp(yy_class) = (yyvsp[(3) - (4)].number);
4684 >    yy_class->max_perip = (yyvsp[(3) - (4)].number);
4685   }
4686      break;
4687  
4688 <  case 210:
4688 >  case 217:
4689  
4690 < /* Line 1806 of yacc.c  */
4691 < #line 1372 "ircd_parser.y"
4690 > /* Line 1810 of yacc.c  */
4691 > #line 1389 "conf_parser.y"
4692      {
4693    if (conf_parser_ctx.pass == 1)
4694 <    ConFreq(yy_class) = (yyvsp[(3) - (4)].number);
4694 >    yy_class->con_freq = (yyvsp[(3) - (4)].number);
4695   }
4696      break;
4697  
4698 <  case 211:
4698 >  case 218:
4699  
4700 < /* Line 1806 of yacc.c  */
4701 < #line 1378 "ircd_parser.y"
4700 > /* Line 1810 of yacc.c  */
4701 > #line 1395 "conf_parser.y"
4702      {
4703    if (conf_parser_ctx.pass == 1)
4704 <    MaxTotal(yy_class) = (yyvsp[(3) - (4)].number);
4704 >    yy_class->max_total = (yyvsp[(3) - (4)].number);
4705   }
4706      break;
4707  
4708 <  case 212:
4708 >  case 219:
4709  
4710 < /* Line 1806 of yacc.c  */
4711 < #line 1384 "ircd_parser.y"
4710 > /* Line 1810 of yacc.c  */
4711 > #line 1401 "conf_parser.y"
4712      {
4713    if (conf_parser_ctx.pass == 1)
4714 <    MaxGlobal(yy_class) = (yyvsp[(3) - (4)].number);
4714 >    yy_class->max_global = (yyvsp[(3) - (4)].number);
4715   }
4716      break;
4717  
4718 <  case 213:
4718 >  case 220:
4719  
4720 < /* Line 1806 of yacc.c  */
4721 < #line 1390 "ircd_parser.y"
4720 > /* Line 1810 of yacc.c  */
4721 > #line 1407 "conf_parser.y"
4722      {
4723    if (conf_parser_ctx.pass == 1)
4724 <    MaxLocal(yy_class) = (yyvsp[(3) - (4)].number);
4724 >    yy_class->max_local = (yyvsp[(3) - (4)].number);
4725   }
4726      break;
4727  
4728 <  case 214:
4728 >  case 221:
4729  
4730 < /* Line 1806 of yacc.c  */
4731 < #line 1396 "ircd_parser.y"
4730 > /* Line 1810 of yacc.c  */
4731 > #line 1413 "conf_parser.y"
4732      {
4733    if (conf_parser_ctx.pass == 1)
4734 <    MaxIdent(yy_class) = (yyvsp[(3) - (4)].number);
4734 >    yy_class->max_ident = (yyvsp[(3) - (4)].number);
4735   }
4736      break;
4737  
4738 <  case 215:
4738 >  case 222:
4739  
4740 < /* Line 1806 of yacc.c  */
4741 < #line 1402 "ircd_parser.y"
4740 > /* Line 1810 of yacc.c  */
4741 > #line 1419 "conf_parser.y"
4742      {
4743    if (conf_parser_ctx.pass == 1)
4744 <    MaxSendq(yy_class) = (yyvsp[(3) - (4)].number);
4744 >    yy_class->max_sendq = (yyvsp[(3) - (4)].number);
4745   }
4746      break;
4747  
4748 <  case 216:
4748 >  case 223:
4749  
4750 < /* Line 1806 of yacc.c  */
4751 < #line 1408 "ircd_parser.y"
4750 > /* Line 1810 of yacc.c  */
4751 > #line 1425 "conf_parser.y"
4752      {
4753    if (conf_parser_ctx.pass == 1)
4754 <    CidrBitlenIPV4(yy_class) = (yyvsp[(3) - (4)].number);
4754 >    yy_class->cidr_bitlen_ipv4 = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4755   }
4756      break;
4757  
4758 <  case 217:
4758 >  case 224:
4759  
4760 < /* Line 1806 of yacc.c  */
4761 < #line 1414 "ircd_parser.y"
4760 > /* Line 1810 of yacc.c  */
4761 > #line 1431 "conf_parser.y"
4762      {
4763    if (conf_parser_ctx.pass == 1)
4764 <    CidrBitlenIPV6(yy_class) = (yyvsp[(3) - (4)].number);
4764 >    yy_class->cidr_bitlen_ipv6 = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4765   }
4766      break;
4767  
4768 <  case 218:
4768 >  case 225:
4769  
4770 < /* Line 1806 of yacc.c  */
4771 < #line 1420 "ircd_parser.y"
4770 > /* Line 1810 of yacc.c  */
4771 > #line 1437 "conf_parser.y"
4772      {
4773    if (conf_parser_ctx.pass == 1)
4774 <    NumberPerCidr(yy_class) = (yyvsp[(3) - (4)].number);
4774 >    yy_class->number_per_cidr = (yyvsp[(3) - (4)].number);
4775   }
4776      break;
4777  
4778 <  case 219:
4778 >  case 226:
4779  
4780 < /* Line 1806 of yacc.c  */
4781 < #line 1429 "ircd_parser.y"
4780 > /* Line 1810 of yacc.c  */
4781 > #line 1446 "conf_parser.y"
4782      {
4783    if (conf_parser_ctx.pass == 2)
4784    {
# Line 4752 | Line 4788 | yyreduce:
4788   }
4789      break;
4790  
4791 <  case 220:
4791 >  case 227:
4792  
4793 < /* Line 1806 of yacc.c  */
4794 < #line 1436 "ircd_parser.y"
4793 > /* Line 1810 of yacc.c  */
4794 > #line 1453 "conf_parser.y"
4795      {
4796    if (conf_parser_ctx.pass == 2)
4797    {
# Line 4765 | Line 4801 | yyreduce:
4801   }
4802      break;
4803  
4804 <  case 221:
4804 >  case 228:
4805  
4806 < /* Line 1806 of yacc.c  */
4807 < #line 1445 "ircd_parser.y"
4806 > /* Line 1810 of yacc.c  */
4807 > #line 1462 "conf_parser.y"
4808      {
4809    listener_flags = 0;
4810   }
4811      break;
4812  
4813 <  case 225:
4813 >  case 232:
4814  
4815 < /* Line 1806 of yacc.c  */
4816 < #line 1451 "ircd_parser.y"
4815 > /* Line 1810 of yacc.c  */
4816 > #line 1468 "conf_parser.y"
4817      {
4818    if (conf_parser_ctx.pass == 2)
4819      listener_flags |= LISTENER_SSL;
4820   }
4821      break;
4822  
4823 <  case 226:
4823 >  case 233:
4824  
4825 < /* Line 1806 of yacc.c  */
4826 < #line 1455 "ircd_parser.y"
4825 > /* Line 1810 of yacc.c  */
4826 > #line 1472 "conf_parser.y"
4827      {
4828    if (conf_parser_ctx.pass == 2)
4829      listener_flags |= LISTENER_HIDDEN;
4830   }
4831      break;
4832  
4833 <  case 227:
4833 >  case 234:
4834  
4835 < /* Line 1806 of yacc.c  */
4836 < #line 1459 "ircd_parser.y"
4835 > /* Line 1810 of yacc.c  */
4836 > #line 1476 "conf_parser.y"
4837      {
4838    if (conf_parser_ctx.pass == 2)
4839      listener_flags |= LISTENER_SERVER;
4840   }
4841      break;
4842  
4843 <  case 235:
4843 >  case 242:
4844  
4845 < /* Line 1806 of yacc.c  */
4846 < #line 1469 "ircd_parser.y"
4845 > /* Line 1810 of yacc.c  */
4846 > #line 1486 "conf_parser.y"
4847      { listener_flags = 0; }
4848      break;
4849  
4850 <  case 239:
4850 >  case 246:
4851  
4852 < /* Line 1806 of yacc.c  */
4853 < #line 1474 "ircd_parser.y"
4852 > /* Line 1810 of yacc.c  */
4853 > #line 1491 "conf_parser.y"
4854      {
4855    if (conf_parser_ctx.pass == 2)
4856    {
# Line 4831 | Line 4867 | yyreduce:
4867   }
4868      break;
4869  
4870 <  case 240:
4870 >  case 247:
4871  
4872 < /* Line 1806 of yacc.c  */
4873 < #line 1488 "ircd_parser.y"
4872 > /* Line 1810 of yacc.c  */
4873 > #line 1505 "conf_parser.y"
4874      {
4875    if (conf_parser_ctx.pass == 2)
4876    {
# Line 4855 | Line 4891 | yyreduce:
4891   }
4892      break;
4893  
4894 <  case 241:
4894 >  case 248:
4895  
4896 < /* Line 1806 of yacc.c  */
4897 < #line 1508 "ircd_parser.y"
4896 > /* Line 1810 of yacc.c  */
4897 > #line 1525 "conf_parser.y"
4898      {
4899    if (conf_parser_ctx.pass == 2)
4900    {
# Line 4868 | Line 4904 | yyreduce:
4904   }
4905      break;
4906  
4907 <  case 242:
4907 >  case 249:
4908  
4909 < /* Line 1806 of yacc.c  */
4910 < #line 1517 "ircd_parser.y"
4909 > /* Line 1810 of yacc.c  */
4910 > #line 1534 "conf_parser.y"
4911      {
4912    if (conf_parser_ctx.pass == 2)
4913    {
# Line 4881 | Line 4917 | yyreduce:
4917   }
4918      break;
4919  
4920 <  case 243:
4920 >  case 250:
4921  
4922 < /* Line 1806 of yacc.c  */
4923 < #line 1529 "ircd_parser.y"
4922 > /* Line 1810 of yacc.c  */
4923 > #line 1546 "conf_parser.y"
4924      {
4925    if (conf_parser_ctx.pass == 2)
4926    {
# Line 4899 | Line 4935 | yyreduce:
4935   }
4936      break;
4937  
4938 <  case 244:
4938 >  case 251:
4939  
4940 < /* Line 1806 of yacc.c  */
4941 < #line 1541 "ircd_parser.y"
4940 > /* Line 1810 of yacc.c  */
4941 > #line 1558 "conf_parser.y"
4942      {
4943    if (conf_parser_ctx.pass == 2)
4944    {
# Line 4960 | Line 4996 | yyreduce:
4996   }
4997      break;
4998  
4999 <  case 256:
4999 >  case 263:
5000  
5001 < /* Line 1806 of yacc.c  */
5002 < #line 1603 "ircd_parser.y"
5001 > /* Line 1810 of yacc.c  */
5002 > #line 1620 "conf_parser.y"
5003      {
5004    if (conf_parser_ctx.pass == 2)
5005    {
# Line 4999 | Line 5035 | yyreduce:
5035   }
5036      break;
5037  
5038 <  case 257:
5038 >  case 264:
5039  
5040 < /* Line 1806 of yacc.c  */
5041 < #line 1640 "ircd_parser.y"
5040 > /* Line 1810 of yacc.c  */
5041 > #line 1655 "conf_parser.y"
5042      {
5043    if (conf_parser_ctx.pass == 2)
5044    {
# Line 5016 | Line 5052 | yyreduce:
5052   }
5053      break;
5054  
5055 <  case 258:
5055 >  case 265:
5056  
5057 < /* Line 1806 of yacc.c  */
5058 < #line 1653 "ircd_parser.y"
5057 > /* Line 1810 of yacc.c  */
5058 > #line 1668 "conf_parser.y"
5059      {
5060    if (conf_parser_ctx.pass == 2)
5061    {
# Line 5029 | Line 5065 | yyreduce:
5065   }
5066      break;
5067  
5068 <  case 259:
5068 >  case 266:
5069  
5070 < /* Line 1806 of yacc.c  */
5071 < #line 1662 "ircd_parser.y"
5070 > /* Line 1810 of yacc.c  */
5071 > #line 1677 "conf_parser.y"
5072      {
5073    if (conf_parser_ctx.pass == 2)
5074    {
# Line 5044 | Line 5080 | yyreduce:
5080   }
5081      break;
5082  
5083 <  case 260:
5083 >  case 267:
5084  
5085 < /* Line 1806 of yacc.c  */
5086 < #line 1673 "ircd_parser.y"
5085 > /* Line 1810 of yacc.c  */
5086 > #line 1688 "conf_parser.y"
5087      {
5088   }
5089      break;
5090  
5091 <  case 264:
5091 >  case 271:
5092  
5093 < /* Line 1806 of yacc.c  */
5094 < #line 1678 "ircd_parser.y"
5093 > /* Line 1810 of yacc.c  */
5094 > #line 1693 "conf_parser.y"
5095      {
5096    if (conf_parser_ctx.pass == 2)
5097      yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
5098   }
5099      break;
5100  
5101 <  case 265:
5101 >  case 272:
5102  
5103 < /* Line 1806 of yacc.c  */
5104 < #line 1682 "ircd_parser.y"
5103 > /* Line 1810 of yacc.c  */
5104 > #line 1697 "conf_parser.y"
5105      {
5106    if (conf_parser_ctx.pass == 2)
5107      yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
5108   }
5109      break;
5110  
5111 <  case 266:
5111 >  case 273:
5112  
5113 < /* Line 1806 of yacc.c  */
5114 < #line 1686 "ircd_parser.y"
5113 > /* Line 1810 of yacc.c  */
5114 > #line 1701 "conf_parser.y"
5115      {
5116    if (conf_parser_ctx.pass == 2)
5117      yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
5118   }
5119      break;
5120  
5121 <  case 267:
5121 >  case 274:
5122  
5123 < /* Line 1806 of yacc.c  */
5124 < #line 1690 "ircd_parser.y"
5123 > /* Line 1810 of yacc.c  */
5124 > #line 1705 "conf_parser.y"
5125      {
5126    if (conf_parser_ctx.pass == 2)
5127      yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
5128   }
5129      break;
5130  
5131 <  case 268:
5131 >  case 275:
5132  
5133 < /* Line 1806 of yacc.c  */
5134 < #line 1694 "ircd_parser.y"
5133 > /* Line 1810 of yacc.c  */
5134 > #line 1709 "conf_parser.y"
5135      {
5136    if (conf_parser_ctx.pass == 2)
5137      yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
5138   }
5139      break;
5140  
5141 <  case 269:
5141 >  case 276:
5142  
5143 < /* Line 1806 of yacc.c  */
5144 < #line 1698 "ircd_parser.y"
5143 > /* Line 1810 of yacc.c  */
5144 > #line 1713 "conf_parser.y"
5145      {
5146    if (conf_parser_ctx.pass == 2)
5147      yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
5148   }
5149      break;
5150  
5151 <  case 270:
5151 >  case 277:
5152  
5153 < /* Line 1806 of yacc.c  */
5154 < #line 1702 "ircd_parser.y"
5153 > /* Line 1810 of yacc.c  */
5154 > #line 1717 "conf_parser.y"
5155      {
5156    if (conf_parser_ctx.pass == 2)
5157      yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
5158   }
5159      break;
5160  
5161 <  case 271:
5161 >  case 278:
5162  
5163 < /* Line 1806 of yacc.c  */
5164 < #line 1706 "ircd_parser.y"
5163 > /* Line 1810 of yacc.c  */
5164 > #line 1721 "conf_parser.y"
5165      {
5166    if (conf_parser_ctx.pass == 2)
5167      yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
5168   }
5169      break;
5170  
5171 <  case 272:
5171 >  case 279:
5172  
5173 < /* Line 1806 of yacc.c  */
5174 < #line 1710 "ircd_parser.y"
5173 > /* Line 1810 of yacc.c  */
5174 > #line 1725 "conf_parser.y"
5175      {
5176    if (conf_parser_ctx.pass == 2)
5177      yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
5178   }
5179      break;
5180  
5181 <  case 273:
5181 >  case 280:
5182  
5183 < /* Line 1806 of yacc.c  */
5184 < #line 1717 "ircd_parser.y"
5183 > /* Line 1810 of yacc.c  */
5184 > #line 1732 "conf_parser.y"
5185      {
5186    if (conf_parser_ctx.pass == 2)
5187    {
# Line 5165 | Line 5201 | yyreduce:
5201   }
5202      break;
5203  
5204 <  case 274:
5204 >  case 281:
5205  
5206 < /* Line 1806 of yacc.c  */
5207 < #line 1736 "ircd_parser.y"
5206 > /* Line 1810 of yacc.c  */
5207 > #line 1751 "conf_parser.y"
5208      {
5209    if (conf_parser_ctx.pass == 2)
5210    {
# Line 5179 | Line 5215 | yyreduce:
5215   }
5216      break;
5217  
5218 <  case 275:
5218 >  case 282:
5219  
5220 < /* Line 1806 of yacc.c  */
5221 < #line 1746 "ircd_parser.y"
5220 > /* Line 1810 of yacc.c  */
5221 > #line 1761 "conf_parser.y"
5222      {
5223    if (conf_parser_ctx.pass == 2)
5224    {
# Line 5192 | Line 5228 | yyreduce:
5228   }
5229      break;
5230  
5231 <  case 276:
5231 >  case 283:
5232  
5233 < /* Line 1806 of yacc.c  */
5234 < #line 1759 "ircd_parser.y"
5233 > /* Line 1810 of yacc.c  */
5234 > #line 1774 "conf_parser.y"
5235      {
5236    if (conf_parser_ctx.pass == 2)
5237    {
# Line 5205 | Line 5241 | yyreduce:
5241   }
5242      break;
5243  
5244 <  case 277:
5244 >  case 284:
5245  
5246 < /* Line 1806 of yacc.c  */
5247 < #line 1766 "ircd_parser.y"
5246 > /* Line 1810 of yacc.c  */
5247 > #line 1781 "conf_parser.y"
5248      {
5249    if (conf_parser_ctx.pass == 2)
5250    {
# Line 5218 | Line 5254 | yyreduce:
5254   }
5255      break;
5256  
5257 <  case 284:
5257 >  case 291:
5258  
5259 < /* Line 1806 of yacc.c  */
5260 < #line 1778 "ircd_parser.y"
5259 > /* Line 1810 of yacc.c  */
5260 > #line 1793 "conf_parser.y"
5261      {
5262    if (conf_parser_ctx.pass == 2)
5263    {
# Line 5231 | Line 5267 | yyreduce:
5267   }
5268      break;
5269  
5270 <  case 285:
5270 >  case 292:
5271  
5272 < /* Line 1806 of yacc.c  */
5273 < #line 1787 "ircd_parser.y"
5272 > /* Line 1810 of yacc.c  */
5273 > #line 1802 "conf_parser.y"
5274      {
5275    if (conf_parser_ctx.pass == 2)
5276    {
# Line 5250 | Line 5286 | yyreduce:
5286   }
5287      break;
5288  
5289 <  case 286:
5289 >  case 293:
5290  
5291 < /* Line 1806 of yacc.c  */
5292 < #line 1802 "ircd_parser.y"
5291 > /* Line 1810 of yacc.c  */
5292 > #line 1817 "conf_parser.y"
5293      {
5294    if (conf_parser_ctx.pass == 2)
5295    {
# Line 5264 | Line 5300 | yyreduce:
5300   }
5301      break;
5302  
5303 <  case 292:
5303 >  case 299:
5304  
5305 < /* Line 1806 of yacc.c  */
5306 < #line 1820 "ircd_parser.y"
5305 > /* Line 1810 of yacc.c  */
5306 > #line 1835 "conf_parser.y"
5307      {
5308    if (conf_parser_ctx.pass == 2)
5309    {
# Line 5280 | Line 5316 | yyreduce:
5316   }
5317      break;
5318  
5319 <  case 293:
5319 >  case 300:
5320  
5321 < /* Line 1806 of yacc.c  */
5322 < #line 1835 "ircd_parser.y"
5321 > /* Line 1810 of yacc.c  */
5322 > #line 1850 "conf_parser.y"
5323      {
5324    if (conf_parser_ctx.pass == 2)
5325    {
# Line 5294 | Line 5330 | yyreduce:
5330   }
5331      break;
5332  
5333 <  case 294:
5333 >  case 301:
5334  
5335 < /* Line 1806 of yacc.c  */
5336 < #line 1843 "ircd_parser.y"
5335 > /* Line 1810 of yacc.c  */
5336 > #line 1858 "conf_parser.y"
5337      {
5338    if (conf_parser_ctx.pass == 2)
5339    {
# Line 5306 | Line 5342 | yyreduce:
5342   }
5343      break;
5344  
5345 <  case 301:
5345 >  case 308:
5346  
5347 < /* Line 1806 of yacc.c  */
5348 < #line 1854 "ircd_parser.y"
5347 > /* Line 1810 of yacc.c  */
5348 > #line 1869 "conf_parser.y"
5349      {
5350    if (conf_parser_ctx.pass == 2)
5351    {
# Line 5319 | Line 5355 | yyreduce:
5355   }
5356      break;
5357  
5358 <  case 302:
5358 >  case 309:
5359  
5360 < /* Line 1806 of yacc.c  */
5361 < #line 1863 "ircd_parser.y"
5360 > /* Line 1810 of yacc.c  */
5361 > #line 1878 "conf_parser.y"
5362      {
5363    if (conf_parser_ctx.pass == 2)
5364    {
# Line 5345 | Line 5381 | yyreduce:
5381   }
5382      break;
5383  
5384 <  case 303:
5384 >  case 310:
5385  
5386 < /* Line 1806 of yacc.c  */
5387 < #line 1885 "ircd_parser.y"
5386 > /* Line 1810 of yacc.c  */
5387 > #line 1900 "conf_parser.y"
5388      {
5389    if (conf_parser_ctx.pass == 2)
5390      yy_match_item->action = 0;
5391   }
5392      break;
5393  
5394 <  case 307:
5394 >  case 314:
5395  
5396 < /* Line 1806 of yacc.c  */
5397 < #line 1892 "ircd_parser.y"
5396 > /* Line 1810 of yacc.c  */
5397 > #line 1907 "conf_parser.y"
5398      {
5399    if (conf_parser_ctx.pass == 2)
5400      yy_match_item->action |= SHARED_KLINE;
5401   }
5402      break;
5403  
5404 <  case 308:
5404 >  case 315:
5405  
5406 < /* Line 1806 of yacc.c  */
5407 < #line 1896 "ircd_parser.y"
5406 > /* Line 1810 of yacc.c  */
5407 > #line 1911 "conf_parser.y"
5408      {
5409    if (conf_parser_ctx.pass == 2)
5410      yy_match_item->action |= SHARED_UNKLINE;
5411   }
5412      break;
5413  
5414 <  case 309:
5414 >  case 316:
5415  
5416 < /* Line 1806 of yacc.c  */
5417 < #line 1900 "ircd_parser.y"
5416 > /* Line 1810 of yacc.c  */
5417 > #line 1915 "conf_parser.y"
5418      {
5419    if (conf_parser_ctx.pass == 2)
5420      yy_match_item->action |= SHARED_DLINE;
5421   }
5422      break;
5423  
5424 <  case 310:
5424 >  case 317:
5425  
5426 < /* Line 1806 of yacc.c  */
5427 < #line 1904 "ircd_parser.y"
5426 > /* Line 1810 of yacc.c  */
5427 > #line 1919 "conf_parser.y"
5428      {
5429    if (conf_parser_ctx.pass == 2)
5430      yy_match_item->action |= SHARED_UNDLINE;
5431   }
5432      break;
5433  
5434 <  case 311:
5434 >  case 318:
5435  
5436 < /* Line 1806 of yacc.c  */
5437 < #line 1908 "ircd_parser.y"
5436 > /* Line 1810 of yacc.c  */
5437 > #line 1923 "conf_parser.y"
5438      {
5439    if (conf_parser_ctx.pass == 2)
5440      yy_match_item->action |= SHARED_XLINE;
5441   }
5442      break;
5443  
5444 <  case 312:
5444 >  case 319:
5445  
5446 < /* Line 1806 of yacc.c  */
5447 < #line 1912 "ircd_parser.y"
5446 > /* Line 1810 of yacc.c  */
5447 > #line 1927 "conf_parser.y"
5448      {
5449    if (conf_parser_ctx.pass == 2)
5450      yy_match_item->action |= SHARED_UNXLINE;
5451   }
5452      break;
5453  
5454 <  case 313:
5454 >  case 320:
5455  
5456 < /* Line 1806 of yacc.c  */
5457 < #line 1916 "ircd_parser.y"
5456 > /* Line 1810 of yacc.c  */
5457 > #line 1931 "conf_parser.y"
5458      {
5459    if (conf_parser_ctx.pass == 2)
5460      yy_match_item->action |= SHARED_RESV;
5461   }
5462      break;
5463  
5464 <  case 314:
5464 >  case 321:
5465  
5466 < /* Line 1806 of yacc.c  */
5467 < #line 1920 "ircd_parser.y"
5466 > /* Line 1810 of yacc.c  */
5467 > #line 1935 "conf_parser.y"
5468      {
5469    if (conf_parser_ctx.pass == 2)
5470      yy_match_item->action |= SHARED_UNRESV;
5471   }
5472      break;
5473  
5474 <  case 315:
5474 >  case 322:
5475  
5476 < /* Line 1806 of yacc.c  */
5477 < #line 1924 "ircd_parser.y"
5476 > /* Line 1810 of yacc.c  */
5477 > #line 1939 "conf_parser.y"
5478      {
5479    if (conf_parser_ctx.pass == 2)
5480      yy_match_item->action |= SHARED_LOCOPS;
5481   }
5482      break;
5483  
5484 <  case 316:
5484 >  case 323:
5485  
5486 < /* Line 1806 of yacc.c  */
5487 < #line 1928 "ircd_parser.y"
5486 > /* Line 1810 of yacc.c  */
5487 > #line 1943 "conf_parser.y"
5488      {
5489    if (conf_parser_ctx.pass == 2)
5490      yy_match_item->action = SHARED_ALL;
5491   }
5492      break;
5493  
5494 <  case 317:
5494 >  case 324:
5495  
5496 < /* Line 1806 of yacc.c  */
5497 < #line 1937 "ircd_parser.y"
5496 > /* Line 1810 of yacc.c  */
5497 > #line 1952 "conf_parser.y"
5498      {
5499    if (conf_parser_ctx.pass == 2)
5500    {
# Line 5468 | Line 5504 | yyreduce:
5504   }
5505      break;
5506  
5507 <  case 318:
5507 >  case 325:
5508  
5509 < /* Line 1806 of yacc.c  */
5510 < #line 1944 "ircd_parser.y"
5509 > /* Line 1810 of yacc.c  */
5510 > #line 1959 "conf_parser.y"
5511      {
5512    if (conf_parser_ctx.pass == 2)
5513    {
# Line 5482 | Line 5518 | yyreduce:
5518   }
5519      break;
5520  
5521 <  case 324:
5521 >  case 331:
5522  
5523 < /* Line 1806 of yacc.c  */
5524 < #line 1957 "ircd_parser.y"
5523 > /* Line 1810 of yacc.c  */
5524 > #line 1972 "conf_parser.y"
5525      {
5526    if (conf_parser_ctx.pass == 2)
5527      DupString(yy_conf->name, yylval.string);
5528   }
5529      break;
5530  
5531 <  case 325:
5531 >  case 332:
5532  
5533 < /* Line 1806 of yacc.c  */
5534 < #line 1963 "ircd_parser.y"
5533 > /* Line 1810 of yacc.c  */
5534 > #line 1978 "conf_parser.y"
5535      {
5536    if (conf_parser_ctx.pass == 2)
5537      yy_conf->flags = 0;
5538   }
5539      break;
5540  
5541 <  case 329:
5541 >  case 336:
5542  
5543 < /* Line 1806 of yacc.c  */
5544 < #line 1970 "ircd_parser.y"
5543 > /* Line 1810 of yacc.c  */
5544 > #line 1985 "conf_parser.y"
5545      {
5546    if (conf_parser_ctx.pass == 2)
5547      yy_conf->flags |= SHARED_KLINE;
5548   }
5549      break;
5550  
5551 <  case 330:
5551 >  case 337:
5552  
5553 < /* Line 1806 of yacc.c  */
5554 < #line 1974 "ircd_parser.y"
5553 > /* Line 1810 of yacc.c  */
5554 > #line 1989 "conf_parser.y"
5555      {
5556    if (conf_parser_ctx.pass == 2)
5557      yy_conf->flags |= SHARED_UNKLINE;
5558   }
5559      break;
5560  
5561 <  case 331:
5561 >  case 338:
5562  
5563 < /* Line 1806 of yacc.c  */
5564 < #line 1978 "ircd_parser.y"
5563 > /* Line 1810 of yacc.c  */
5564 > #line 1993 "conf_parser.y"
5565      {
5566    if (conf_parser_ctx.pass == 2)
5567      yy_conf->flags |= SHARED_DLINE;
5568   }
5569      break;
5570  
5571 <  case 332:
5571 >  case 339:
5572  
5573 < /* Line 1806 of yacc.c  */
5574 < #line 1982 "ircd_parser.y"
5573 > /* Line 1810 of yacc.c  */
5574 > #line 1997 "conf_parser.y"
5575      {
5576    if (conf_parser_ctx.pass == 2)
5577      yy_conf->flags |= SHARED_UNDLINE;
5578   }
5579      break;
5580  
5581 <  case 333:
5581 >  case 340:
5582  
5583 < /* Line 1806 of yacc.c  */
5584 < #line 1986 "ircd_parser.y"
5583 > /* Line 1810 of yacc.c  */
5584 > #line 2001 "conf_parser.y"
5585      {
5586    if (conf_parser_ctx.pass == 2)
5587      yy_conf->flags |= SHARED_XLINE;
5588   }
5589      break;
5590  
5591 <  case 334:
5591 >  case 341:
5592  
5593 < /* Line 1806 of yacc.c  */
5594 < #line 1990 "ircd_parser.y"
5593 > /* Line 1810 of yacc.c  */
5594 > #line 2005 "conf_parser.y"
5595      {
5596    if (conf_parser_ctx.pass == 2)
5597      yy_conf->flags |= SHARED_UNXLINE;
5598   }
5599      break;
5600  
5601 <  case 335:
5601 >  case 342:
5602  
5603 < /* Line 1806 of yacc.c  */
5604 < #line 1994 "ircd_parser.y"
5603 > /* Line 1810 of yacc.c  */
5604 > #line 2009 "conf_parser.y"
5605      {
5606    if (conf_parser_ctx.pass == 2)
5607      yy_conf->flags |= SHARED_RESV;
5608   }
5609      break;
5610  
5611 <  case 336:
5611 >  case 343:
5612  
5613 < /* Line 1806 of yacc.c  */
5614 < #line 1998 "ircd_parser.y"
5613 > /* Line 1810 of yacc.c  */
5614 > #line 2013 "conf_parser.y"
5615      {
5616    if (conf_parser_ctx.pass == 2)
5617      yy_conf->flags |= SHARED_UNRESV;
5618   }
5619      break;
5620  
5621 <  case 337:
5621 >  case 344:
5622  
5623 < /* Line 1806 of yacc.c  */
5624 < #line 2002 "ircd_parser.y"
5623 > /* Line 1810 of yacc.c  */
5624 > #line 2017 "conf_parser.y"
5625      {
5626    if (conf_parser_ctx.pass == 2)
5627      yy_conf->flags |= SHARED_LOCOPS;
5628   }
5629      break;
5630  
5631 <  case 338:
5631 >  case 345:
5632  
5633 < /* Line 1806 of yacc.c  */
5634 < #line 2006 "ircd_parser.y"
5633 > /* Line 1810 of yacc.c  */
5634 > #line 2021 "conf_parser.y"
5635      {
5636    if (conf_parser_ctx.pass == 2)
5637      yy_conf->flags = SHARED_ALL;
5638   }
5639      break;
5640  
5641 <  case 339:
5641 >  case 346:
5642  
5643 < /* Line 1806 of yacc.c  */
5644 < #line 2015 "ircd_parser.y"
5643 > /* Line 1810 of yacc.c  */
5644 > #line 2030 "conf_parser.y"
5645      {
5646    if (conf_parser_ctx.pass == 2)
5647    {
# Line 5623 | Line 5659 | yyreduce:
5659   }
5660      break;
5661  
5662 <  case 340:
5662 >  case 347:
5663  
5664 < /* Line 1806 of yacc.c  */
5665 < #line 2030 "ircd_parser.y"
5664 > /* Line 1810 of yacc.c  */
5665 > #line 2045 "conf_parser.y"
5666      {
5667    if (conf_parser_ctx.pass == 2)
5668    {
5669 <    struct CollectItem *yy_hconf=NULL;
5634 <    struct CollectItem *yy_lconf=NULL;
5635 <    dlink_node *ptr = NULL, *next_ptr = NULL;
5636 <
5637 <    if (yy_aconf->host &&
5638 <        yy_aconf->passwd && yy_aconf->spasswd)
5669 >    if (yy_aconf->host && yy_aconf->passwd && yy_aconf->spasswd)
5670      {
5671        if (conf_add_server(yy_conf, class_name) == -1)
5641      {
5672          delete_conf_item(yy_conf);
5643        yy_conf = NULL;
5644        yy_aconf = NULL;
5645      }
5673      }
5674      else
5675      {
5649      /* Even if yy_conf ->name is NULL
5650       * should still unhook any hub/leaf confs still pending
5651       */
5652      unhook_hub_leaf_confs();
5653
5676        if (yy_conf->name != NULL)
5677        {
5678          if (yy_aconf->host == NULL)
# Line 5659 | Line 5681 | yyreduce:
5681            yyerror("Ignoring connect block -- missing password");
5682        }
5683  
5662
5684        /* XXX
5685         * This fixes a try_connections() core (caused by invalid class_ptr
5686         * pointers) reported by metalrock. That's an ugly fix, but there
# Line 5668 | Line 5689 | yyreduce:
5689         * a doubly linked list immediately without any sanity checks!  -Michael
5690         */
5691        delete_conf_item(yy_conf);
5671
5672      yy_aconf = NULL;
5673      yy_conf = NULL;
5692      }
5693  
5694 <      /*
5695 <       * yy_conf is still pointing at the server that is having
5696 <       * a connect block built for it. This means, y_aconf->name
5697 <       * points to the actual irc name this server will be known as.
5680 <       * Now this new server has a set or even just one hub_mask (or leaf_mask)
5681 <       * given in the link list at yy_hconf. Fill in the HUB confs
5682 <       * from this link list now.
5683 <       */        
5684 <      DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
5685 <      {
5686 <        struct ConfItem *new_hub_conf;
5687 <        struct MatchItem *match_item;
5688 <
5689 <        yy_hconf = ptr->data;
5690 <
5691 <        /* yy_conf == NULL is a fatal error for this connect block! */
5692 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
5693 <        {
5694 <          new_hub_conf = make_conf_item(HUB_TYPE);
5695 <          match_item = (struct MatchItem *)map_to_conf(new_hub_conf);
5696 <          DupString(new_hub_conf->name, yy_conf->name);
5697 <          if (yy_hconf->user != NULL)
5698 <            DupString(match_item->user, yy_hconf->user);
5699 <          else
5700 <            DupString(match_item->user, "*");
5701 <          if (yy_hconf->host != NULL)
5702 <            DupString(match_item->host, yy_hconf->host);
5703 <          else
5704 <            DupString(match_item->host, "*");
5705 <        }
5706 <        dlinkDelete(&yy_hconf->node, &hub_conf_list);
5707 <        free_collect_item(yy_hconf);
5708 <      }
5709 <
5710 <      /* Ditto for the LEAF confs */
5711 <
5712 <      DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
5713 <      {
5714 <        struct ConfItem *new_leaf_conf;
5715 <        struct MatchItem *match_item;
5716 <
5717 <        yy_lconf = ptr->data;
5718 <
5719 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
5720 <        {
5721 <          new_leaf_conf = make_conf_item(LEAF_TYPE);
5722 <          match_item = (struct MatchItem *)map_to_conf(new_leaf_conf);
5723 <          DupString(new_leaf_conf->name, yy_conf->name);
5724 <          if (yy_lconf->user != NULL)
5725 <            DupString(match_item->user, yy_lconf->user);
5726 <          else
5727 <            DupString(match_item->user, "*");
5728 <          if (yy_lconf->host != NULL)
5729 <            DupString(match_item->host, yy_lconf->host);
5730 <          else
5731 <            DupString(match_item->host, "*");
5732 <        }
5733 <        dlinkDelete(&yy_lconf->node, &leaf_conf_list);
5734 <        free_collect_item(yy_lconf);
5735 <      }
5736 <      MyFree(class_name);
5737 <      class_name = NULL;
5738 <      yy_conf = NULL;
5739 <      yy_aconf = NULL;
5694 >    MyFree(class_name);
5695 >    class_name = NULL;
5696 >    yy_conf = NULL;
5697 >    yy_aconf = NULL;
5698    }
5699   }
5700      break;
5701  
5702 <  case 356:
5702 >  case 364:
5703  
5704 < /* Line 1806 of yacc.c  */
5705 < #line 2152 "ircd_parser.y"
5704 > /* Line 1810 of yacc.c  */
5705 > #line 2089 "conf_parser.y"
5706      {
5707    if (conf_parser_ctx.pass == 2)
5708    {
5751    if (yy_conf->name != NULL)
5752      yyerror("Multiple connect name entry");
5753
5709      MyFree(yy_conf->name);
5710      DupString(yy_conf->name, yylval.string);
5711    }
5712   }
5713      break;
5714  
5715 <  case 357:
5715 >  case 365:
5716  
5717 < /* Line 1806 of yacc.c  */
5718 < #line 2164 "ircd_parser.y"
5717 > /* Line 1810 of yacc.c  */
5718 > #line 2098 "conf_parser.y"
5719      {
5720    if (conf_parser_ctx.pass == 2)
5721    {
# Line 5770 | Line 5725 | yyreduce:
5725   }
5726      break;
5727  
5728 <  case 358:
5728 >  case 366:
5729  
5730 < /* Line 1806 of yacc.c  */
5731 < #line 2173 "ircd_parser.y"
5730 > /* Line 1810 of yacc.c  */
5731 > #line 2107 "conf_parser.y"
5732      {
5733    if (conf_parser_ctx.pass == 2)
5734    {
# Line 5791 | Line 5746 | yyreduce:
5746      {
5747        assert(res != NULL);
5748  
5749 <      memcpy(&yy_aconf->my_ipnum, res->ai_addr, res->ai_addrlen);
5750 <      yy_aconf->my_ipnum.ss.ss_family = res->ai_family;
5751 <      yy_aconf->my_ipnum.ss_len = res->ai_addrlen;
5749 >      memcpy(&yy_aconf->bind, res->ai_addr, res->ai_addrlen);
5750 >      yy_aconf->bind.ss.ss_family = res->ai_family;
5751 >      yy_aconf->bind.ss_len = res->ai_addrlen;
5752        freeaddrinfo(res);
5753      }
5754    }
5755   }
5756      break;
5757  
5758 <  case 359:
5758 >  case 367:
5759  
5760 < /* Line 1806 of yacc.c  */
5761 < #line 2199 "ircd_parser.y"
5760 > /* Line 1810 of yacc.c  */
5761 > #line 2133 "conf_parser.y"
5762      {
5763    if (conf_parser_ctx.pass == 2)
5764    {
# Line 5822 | Line 5777 | yyreduce:
5777   }
5778      break;
5779  
5780 <  case 360:
5780 >  case 368:
5781  
5782 < /* Line 1806 of yacc.c  */
5783 < #line 2217 "ircd_parser.y"
5782 > /* Line 1810 of yacc.c  */
5783 > #line 2151 "conf_parser.y"
5784      {
5785    if (conf_parser_ctx.pass == 2)
5786    {
# Line 5844 | Line 5799 | yyreduce:
5799   }
5800      break;
5801  
5802 <  case 361:
5802 >  case 369:
5803  
5804 < /* Line 1806 of yacc.c  */
5805 < #line 2235 "ircd_parser.y"
5804 > /* Line 1810 of yacc.c  */
5805 > #line 2169 "conf_parser.y"
5806      {
5807    if (conf_parser_ctx.pass == 2)
5808      yy_aconf->port = (yyvsp[(3) - (4)].number);
5809   }
5810      break;
5811  
5812 <  case 362:
5812 >  case 370:
5813  
5814 < /* Line 1806 of yacc.c  */
5815 < #line 2241 "ircd_parser.y"
5814 > /* Line 1810 of yacc.c  */
5815 > #line 2175 "conf_parser.y"
5816      {
5817    if (conf_parser_ctx.pass == 2)
5818      yy_aconf->aftype = AF_INET;
5819   }
5820      break;
5821  
5822 <  case 363:
5822 >  case 371:
5823  
5824 < /* Line 1806 of yacc.c  */
5825 < #line 2245 "ircd_parser.y"
5824 > /* Line 1810 of yacc.c  */
5825 > #line 2179 "conf_parser.y"
5826      {
5827   #ifdef IPV6
5828    if (conf_parser_ctx.pass == 2)
# Line 5876 | Line 5831 | yyreduce:
5831   }
5832      break;
5833  
5834 <  case 364:
5834 >  case 372:
5835  
5836 < /* Line 1806 of yacc.c  */
5837 < #line 2253 "ircd_parser.y"
5836 > /* Line 1810 of yacc.c  */
5837 > #line 2187 "conf_parser.y"
5838      {
5839   }
5840      break;
5841  
5842 <  case 368:
5842 >  case 376:
5843  
5844 < /* Line 1806 of yacc.c  */
5845 < #line 2258 "ircd_parser.y"
5844 > /* Line 1810 of yacc.c  */
5845 > #line 2192 "conf_parser.y"
5846      {
5847    if (conf_parser_ctx.pass == 2)
5848      SetConfAllowAutoConn(yy_aconf);
5849   }
5850      break;
5851  
5852 <  case 369:
5852 >  case 377:
5853  
5854 < /* Line 1806 of yacc.c  */
5855 < #line 2262 "ircd_parser.y"
5854 > /* Line 1810 of yacc.c  */
5855 > #line 2196 "conf_parser.y"
5856      {
5857    if (conf_parser_ctx.pass == 2)
5858      SetConfAwayBurst(yy_aconf);
5859   }
5860      break;
5861  
5862 <  case 370:
5862 >  case 378:
5863  
5864 < /* Line 1806 of yacc.c  */
5865 < #line 2266 "ircd_parser.y"
5864 > /* Line 1810 of yacc.c  */
5865 > #line 2200 "conf_parser.y"
5866      {
5867    if (conf_parser_ctx.pass == 2)
5868      SetConfTopicBurst(yy_aconf);
5869   }
5870      break;
5871  
5872 <  case 371:
5872 >  case 379:
5873 >
5874 > /* Line 1810 of yacc.c  */
5875 > #line 2204 "conf_parser.y"
5876 >    {
5877 >  if (conf_parser_ctx.pass == 2)
5878 >    SetConfSSL(yy_aconf);
5879 > }
5880 >    break;
5881 >
5882 >  case 380:
5883  
5884 < /* Line 1806 of yacc.c  */
5885 < #line 2272 "ircd_parser.y"
5884 > /* Line 1810 of yacc.c  */
5885 > #line 2210 "conf_parser.y"
5886      {
5887    if (conf_parser_ctx.pass == 2)
5888    {
# Line 5929 | Line 5894 | yyreduce:
5894   }
5895      break;
5896  
5897 <  case 372:
5897 >  case 381:
5898  
5899 < /* Line 1806 of yacc.c  */
5900 < #line 2283 "ircd_parser.y"
5899 > /* Line 1810 of yacc.c  */
5900 > #line 2221 "conf_parser.y"
5901      {
5902    if (conf_parser_ctx.pass == 2)
5903    {
5904 <    struct CollectItem *yy_tmp;
5904 >    char *mask;
5905  
5906 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
5907 <    DupString(yy_tmp->host, yylval.string);
5943 <    DupString(yy_tmp->user, "*");
5944 <    dlinkAdd(yy_tmp, &yy_tmp->node, &hub_conf_list);
5906 >    DupString(mask, yylval.string);
5907 >    dlinkAdd(mask, make_dlink_node(), &yy_aconf->hub_list);
5908    }
5909   }
5910      break;
5911  
5912 <  case 373:
5912 >  case 382:
5913  
5914 < /* Line 1806 of yacc.c  */
5915 < #line 2296 "ircd_parser.y"
5914 > /* Line 1810 of yacc.c  */
5915 > #line 2232 "conf_parser.y"
5916      {
5917    if (conf_parser_ctx.pass == 2)
5918    {
5919 <    struct CollectItem *yy_tmp;
5919 >    char *mask;
5920  
5921 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
5922 <    DupString(yy_tmp->host, yylval.string);
5960 <    DupString(yy_tmp->user, "*");
5961 <    dlinkAdd(yy_tmp, &yy_tmp->node, &leaf_conf_list);
5921 >    DupString(mask, yylval.string);
5922 >    dlinkAdd(mask, make_dlink_node(), &yy_aconf->leaf_list);
5923    }
5924   }
5925      break;
5926  
5927 <  case 374:
5927 >  case 383:
5928  
5929 < /* Line 1806 of yacc.c  */
5930 < #line 2309 "ircd_parser.y"
5929 > /* Line 1810 of yacc.c  */
5930 > #line 2243 "conf_parser.y"
5931      {
5932    if (conf_parser_ctx.pass == 2)
5933    {
# Line 5976 | Line 5937 | yyreduce:
5937   }
5938      break;
5939  
5940 <  case 375:
5940 >  case 384:
5941 >
5942 > /* Line 1810 of yacc.c  */
5943 > #line 2252 "conf_parser.y"
5944 >    {
5945 > #ifdef HAVE_LIBCRYPTO
5946 >  if (conf_parser_ctx.pass == 2)
5947 >  {
5948 >    MyFree(yy_aconf->cipher_list);
5949 >    DupString(yy_aconf->cipher_list, yylval.string);
5950 >  }
5951 > #else
5952 >  if (conf_parser_ctx.pass == 2)
5953 >    yyerror("Ignoring connect::ciphers -- no OpenSSL support");
5954 > #endif
5955 > }
5956 >    break;
5957 >
5958 >  case 385:
5959  
5960 < /* Line 1806 of yacc.c  */
5961 < #line 2321 "ircd_parser.y"
5960 > /* Line 1810 of yacc.c  */
5961 > #line 2270 "conf_parser.y"
5962      {
5963    if (conf_parser_ctx.pass == 2)
5964    {
# Line 5989 | Line 5968 | yyreduce:
5968   }
5969      break;
5970  
5971 <  case 376:
5971 >  case 386:
5972  
5973 < /* Line 1806 of yacc.c  */
5974 < #line 2328 "ircd_parser.y"
5973 > /* Line 1810 of yacc.c  */
5974 > #line 2277 "conf_parser.y"
5975      {
5976    if (conf_parser_ctx.pass == 2)
5977    {
# Line 6031 | Line 6010 | yyreduce:
6010        }
6011        else
6012        {
6013 +        find_and_delete_temporary(userbuf, hostbuf, CONF_KLINE);
6014 +
6015          yy_aconf = map_to_conf(make_conf_item(KLINE_TYPE));
6016  
6017          DupString(yy_aconf->user, userbuf);
# Line 6040 | Line 6021 | yyreduce:
6021            DupString(yy_aconf->reason, reasonbuf);
6022          else
6023            DupString(yy_aconf->reason, "No reason");
6024 <        add_conf_by_address(CONF_KILL, yy_aconf);
6024 >        add_conf_by_address(CONF_KLINE, yy_aconf);
6025        }
6026      }
6027  
# Line 6049 | Line 6030 | yyreduce:
6030   }
6031      break;
6032  
6033 <  case 377:
6033 >  case 387:
6034  
6035 < /* Line 1806 of yacc.c  */
6036 < #line 2384 "ircd_parser.y"
6035 > /* Line 1810 of yacc.c  */
6036 > #line 2335 "conf_parser.y"
6037      {
6038   }
6039      break;
6040  
6041 <  case 381:
6041 >  case 391:
6042  
6043 < /* Line 1806 of yacc.c  */
6044 < #line 2389 "ircd_parser.y"
6043 > /* Line 1810 of yacc.c  */
6044 > #line 2340 "conf_parser.y"
6045      {
6046    if (conf_parser_ctx.pass == 2)
6047      regex_ban = 1;
6048   }
6049      break;
6050  
6051 <  case 388:
6051 >  case 398:
6052  
6053 < /* Line 1806 of yacc.c  */
6054 < #line 2398 "ircd_parser.y"
6053 > /* Line 1810 of yacc.c  */
6054 > #line 2349 "conf_parser.y"
6055      {
6056    if (conf_parser_ctx.pass == 2)
6057    {
# Line 6090 | Line 6071 | yyreduce:
6071   }
6072      break;
6073  
6074 <  case 389:
6074 >  case 399:
6075  
6076 < /* Line 1806 of yacc.c  */
6077 < #line 2417 "ircd_parser.y"
6076 > /* Line 1810 of yacc.c  */
6077 > #line 2368 "conf_parser.y"
6078      {
6079    if (conf_parser_ctx.pass == 2)
6080      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
6081   }
6082      break;
6083  
6084 <  case 390:
6084 >  case 400:
6085  
6086 < /* Line 1806 of yacc.c  */
6087 < #line 2426 "ircd_parser.y"
6086 > /* Line 1810 of yacc.c  */
6087 > #line 2377 "conf_parser.y"
6088      {
6089    if (conf_parser_ctx.pass == 2)
6090      hostbuf[0] = reasonbuf[0] = '\0';
6091   }
6092      break;
6093  
6094 <  case 391:
6094 >  case 401:
6095  
6096 < /* Line 1806 of yacc.c  */
6097 < #line 2430 "ircd_parser.y"
6096 > /* Line 1810 of yacc.c  */
6097 > #line 2381 "conf_parser.y"
6098      {
6099    if (conf_parser_ctx.pass == 2)
6100    {
6101      if (hostbuf[0] && parse_netmask(hostbuf, NULL, NULL) != HM_HOST)
6102      {
6103 +      find_and_delete_temporary(NULL, hostbuf, CONF_DLINE);
6104 +
6105        yy_aconf = map_to_conf(make_conf_item(DLINE_TYPE));
6106        DupString(yy_aconf->host, hostbuf);
6107  
# Line 6133 | Line 6116 | yyreduce:
6116   }
6117      break;
6118  
6119 <  case 397:
6119 >  case 407:
6120  
6121 < /* Line 1806 of yacc.c  */
6122 < #line 2452 "ircd_parser.y"
6121 > /* Line 1810 of yacc.c  */
6122 > #line 2405 "conf_parser.y"
6123      {
6124    if (conf_parser_ctx.pass == 2)
6125      strlcpy(hostbuf, yylval.string, sizeof(hostbuf));
6126   }
6127      break;
6128  
6129 <  case 398:
6129 >  case 408:
6130  
6131 < /* Line 1806 of yacc.c  */
6132 < #line 2458 "ircd_parser.y"
6131 > /* Line 1810 of yacc.c  */
6132 > #line 2411 "conf_parser.y"
6133      {
6134    if (conf_parser_ctx.pass == 2)
6135      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
6136   }
6137      break;
6138  
6139 <  case 404:
6139 >  case 414:
6140  
6141 < /* Line 1806 of yacc.c  */
6142 < #line 2472 "ircd_parser.y"
6141 > /* Line 1810 of yacc.c  */
6142 > #line 2425 "conf_parser.y"
6143      {
6144    if (conf_parser_ctx.pass == 2)
6145    {
# Line 6172 | Line 6155 | yyreduce:
6155   }
6156      break;
6157  
6158 <  case 405:
6158 >  case 415:
6159  
6160 < /* Line 1806 of yacc.c  */
6161 < #line 2490 "ircd_parser.y"
6160 > /* Line 1810 of yacc.c  */
6161 > #line 2443 "conf_parser.y"
6162      {
6163    if (conf_parser_ctx.pass == 2)
6164    {
# Line 6185 | Line 6168 | yyreduce:
6168   }
6169      break;
6170  
6171 <  case 406:
6171 >  case 416:
6172  
6173 < /* Line 1806 of yacc.c  */
6174 < #line 2497 "ircd_parser.y"
6173 > /* Line 1810 of yacc.c  */
6174 > #line 2450 "conf_parser.y"
6175      {
6176    if (conf_parser_ctx.pass == 2)
6177    {
# Line 6229 | Line 6212 | yyreduce:
6212   }
6213      break;
6214  
6215 <  case 407:
6215 >  case 417:
6216  
6217 < /* Line 1806 of yacc.c  */
6218 < #line 2537 "ircd_parser.y"
6217 > /* Line 1810 of yacc.c  */
6218 > #line 2490 "conf_parser.y"
6219      {
6220   }
6221      break;
6222  
6223 <  case 411:
6223 >  case 421:
6224  
6225 < /* Line 1806 of yacc.c  */
6226 < #line 2542 "ircd_parser.y"
6225 > /* Line 1810 of yacc.c  */
6226 > #line 2495 "conf_parser.y"
6227      {
6228    if (conf_parser_ctx.pass == 2)
6229      regex_ban = 1;
6230   }
6231      break;
6232  
6233 <  case 418:
6233 >  case 428:
6234  
6235 < /* Line 1806 of yacc.c  */
6236 < #line 2551 "ircd_parser.y"
6235 > /* Line 1810 of yacc.c  */
6236 > #line 2504 "conf_parser.y"
6237      {
6238    if (conf_parser_ctx.pass == 2)
6239      strlcpy(gecos_name, yylval.string, sizeof(gecos_name));
6240   }
6241      break;
6242  
6243 <  case 419:
6243 >  case 429:
6244  
6245 < /* Line 1806 of yacc.c  */
6246 < #line 2557 "ircd_parser.y"
6245 > /* Line 1810 of yacc.c  */
6246 > #line 2510 "conf_parser.y"
6247      {
6248    if (conf_parser_ctx.pass == 2)
6249      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
6250   }
6251      break;
6252  
6253 <  case 475:
6253 >  case 488:
6254  
6255 < /* Line 1806 of yacc.c  */
6256 < #line 2601 "ircd_parser.y"
6255 > /* Line 1810 of yacc.c  */
6256 > #line 2556 "conf_parser.y"
6257      {
6258    ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
6259   }
6260      break;
6261  
6262 <  case 476:
6262 >  case 489:
6263  
6264 < /* Line 1806 of yacc.c  */
6265 < #line 2606 "ircd_parser.y"
6264 > /* Line 1810 of yacc.c  */
6265 > #line 2561 "conf_parser.y"
6266 >    {
6267 >  if (conf_parser_ctx.pass == 2)
6268 >    ConfigFileEntry.glines = yylval.number;
6269 > }
6270 >    break;
6271 >
6272 >  case 490:
6273 >
6274 > /* Line 1810 of yacc.c  */
6275 > #line 2567 "conf_parser.y"
6276 >    {
6277 >  if (conf_parser_ctx.pass == 2)
6278 >    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
6279 > }
6280 >    break;
6281 >
6282 >  case 491:
6283 >
6284 > /* Line 1810 of yacc.c  */
6285 > #line 2573 "conf_parser.y"
6286 >    {
6287 >  if (conf_parser_ctx.pass == 2)
6288 >    ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
6289 > }
6290 >    break;
6291 >
6292 >  case 492:
6293 >
6294 > /* Line 1810 of yacc.c  */
6295 > #line 2579 "conf_parser.y"
6296      {
6297    ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
6298   }
6299      break;
6300  
6301 <  case 477:
6301 >  case 493:
6302  
6303 < /* Line 1806 of yacc.c  */
6304 < #line 2611 "ircd_parser.y"
6303 > /* Line 1810 of yacc.c  */
6304 > #line 2584 "conf_parser.y"
6305      {
6306    ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
6307   }
6308      break;
6309  
6310 <  case 478:
6310 >  case 494:
6311  
6312 < /* Line 1806 of yacc.c  */
6313 < #line 2616 "ircd_parser.y"
6312 > /* Line 1810 of yacc.c  */
6313 > #line 2589 "conf_parser.y"
6314      {
6315    ConfigFileEntry.use_whois_actually = yylval.number;
6316   }
6317      break;
6318  
6319 <  case 479:
6319 >  case 495:
6320  
6321 < /* Line 1806 of yacc.c  */
6322 < #line 2621 "ircd_parser.y"
6321 > /* Line 1810 of yacc.c  */
6322 > #line 2594 "conf_parser.y"
6323      {
6324    GlobalSetOptions.rejecttime = yylval.number;
6325   }
6326      break;
6327  
6328 <  case 480:
6328 >  case 496:
6329  
6330 < /* Line 1806 of yacc.c  */
6331 < #line 2626 "ircd_parser.y"
6330 > /* Line 1810 of yacc.c  */
6331 > #line 2599 "conf_parser.y"
6332      {
6333    ConfigFileEntry.tkline_expire_notices = yylval.number;
6334   }
6335      break;
6336  
6337 <  case 481:
6337 >  case 497:
6338  
6339 < /* Line 1806 of yacc.c  */
6340 < #line 2631 "ircd_parser.y"
6339 > /* Line 1810 of yacc.c  */
6340 > #line 2604 "conf_parser.y"
6341      {
6342    ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
6343   }
6344      break;
6345  
6346 <  case 482:
6346 >  case 498:
6347  
6348 < /* Line 1806 of yacc.c  */
6349 < #line 2636 "ircd_parser.y"
6348 > /* Line 1810 of yacc.c  */
6349 > #line 2609 "conf_parser.y"
6350      {
6351    ConfigFileEntry.hide_spoof_ips = yylval.number;
6352   }
6353      break;
6354  
6355 <  case 483:
6355 >  case 499:
6356  
6357 < /* Line 1806 of yacc.c  */
6358 < #line 2641 "ircd_parser.y"
6357 > /* Line 1810 of yacc.c  */
6358 > #line 2614 "conf_parser.y"
6359      {
6360    ConfigFileEntry.ignore_bogus_ts = yylval.number;
6361   }
6362      break;
6363  
6364 <  case 484:
6364 >  case 500:
6365  
6366 < /* Line 1806 of yacc.c  */
6367 < #line 2646 "ircd_parser.y"
6366 > /* Line 1810 of yacc.c  */
6367 > #line 2619 "conf_parser.y"
6368      {
6369    ConfigFileEntry.disable_remote = yylval.number;
6370   }
6371      break;
6372  
6373 <  case 485:
6373 >  case 501:
6374  
6375 < /* Line 1806 of yacc.c  */
6376 < #line 2651 "ircd_parser.y"
6375 > /* Line 1810 of yacc.c  */
6376 > #line 2624 "conf_parser.y"
6377      {
6378    ConfigFileEntry.failed_oper_notice = yylval.number;
6379   }
6380      break;
6381  
6382 <  case 486:
6382 >  case 502:
6383  
6384 < /* Line 1806 of yacc.c  */
6385 < #line 2656 "ircd_parser.y"
6384 > /* Line 1810 of yacc.c  */
6385 > #line 2629 "conf_parser.y"
6386      {
6387    ConfigFileEntry.anti_nick_flood = yylval.number;
6388   }
6389      break;
6390  
6391 <  case 487:
6391 >  case 503:
6392  
6393 < /* Line 1806 of yacc.c  */
6394 < #line 2661 "ircd_parser.y"
6393 > /* Line 1810 of yacc.c  */
6394 > #line 2634 "conf_parser.y"
6395      {
6396    ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
6397   }
6398      break;
6399  
6400 <  case 488:
6400 >  case 504:
6401  
6402 < /* Line 1806 of yacc.c  */
6403 < #line 2666 "ircd_parser.y"
6402 > /* Line 1810 of yacc.c  */
6403 > #line 2639 "conf_parser.y"
6404      {
6405    ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
6406   }
6407      break;
6408  
6409 <  case 489:
6409 >  case 505:
6410  
6411 < /* Line 1806 of yacc.c  */
6412 < #line 2671 "ircd_parser.y"
6411 > /* Line 1810 of yacc.c  */
6412 > #line 2644 "conf_parser.y"
6413      {
6414    ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
6415   }
6416      break;
6417  
6418 <  case 490:
6418 >  case 506:
6419  
6420 < /* Line 1806 of yacc.c  */
6421 < #line 2676 "ircd_parser.y"
6420 > /* Line 1810 of yacc.c  */
6421 > #line 2649 "conf_parser.y"
6422      {
6423    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
6424   }
6425      break;
6426  
6427 <  case 491:
6427 >  case 507:
6428  
6429 < /* Line 1806 of yacc.c  */
6430 < #line 2681 "ircd_parser.y"
6429 > /* Line 1810 of yacc.c  */
6430 > #line 2654 "conf_parser.y"
6431      {
6432    ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
6433   }
6434      break;
6435  
6436 <  case 492:
6436 >  case 508:
6437  
6438 < /* Line 1806 of yacc.c  */
6439 < #line 2686 "ircd_parser.y"
6438 > /* Line 1810 of yacc.c  */
6439 > #line 2659 "conf_parser.y"
6440      {
6441    if (conf_parser_ctx.pass == 2)
6442      ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
6443   }
6444      break;
6445  
6446 <  case 493:
6446 >  case 509:
6447  
6448 < /* Line 1806 of yacc.c  */
6449 < #line 2692 "ircd_parser.y"
6448 > /* Line 1810 of yacc.c  */
6449 > #line 2665 "conf_parser.y"
6450      {
6451    if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
6452    {
# Line 6445 | Line 6458 | yyreduce:
6458   }
6459      break;
6460  
6461 <  case 494:
6461 >  case 510:
6462  
6463 < /* Line 1806 of yacc.c  */
6464 < #line 2703 "ircd_parser.y"
6463 > /* Line 1810 of yacc.c  */
6464 > #line 2676 "conf_parser.y"
6465      {
6466    ConfigFileEntry.kline_with_reason = yylval.number;
6467   }
6468      break;
6469  
6470 <  case 495:
6470 >  case 511:
6471  
6472 < /* Line 1806 of yacc.c  */
6473 < #line 2708 "ircd_parser.y"
6472 > /* Line 1810 of yacc.c  */
6473 > #line 2681 "conf_parser.y"
6474      {
6475    if (conf_parser_ctx.pass == 2)
6476    {
# Line 6467 | Line 6480 | yyreduce:
6480   }
6481      break;
6482  
6483 <  case 496:
6483 >  case 512:
6484  
6485 < /* Line 1806 of yacc.c  */
6486 < #line 2717 "ircd_parser.y"
6485 > /* Line 1810 of yacc.c  */
6486 > #line 2690 "conf_parser.y"
6487      {
6488    ConfigFileEntry.invisible_on_connect = yylval.number;
6489   }
6490      break;
6491  
6492 <  case 497:
6492 >  case 513:
6493  
6494 < /* Line 1806 of yacc.c  */
6495 < #line 2722 "ircd_parser.y"
6494 > /* Line 1810 of yacc.c  */
6495 > #line 2695 "conf_parser.y"
6496      {
6497    ConfigFileEntry.warn_no_nline = yylval.number;
6498   }
6499      break;
6500  
6501 <  case 498:
6501 >  case 514:
6502  
6503 < /* Line 1806 of yacc.c  */
6504 < #line 2727 "ircd_parser.y"
6503 > /* Line 1810 of yacc.c  */
6504 > #line 2700 "conf_parser.y"
6505      {
6506    ConfigFileEntry.stats_e_disabled = yylval.number;
6507   }
6508      break;
6509  
6510 <  case 499:
6510 >  case 515:
6511  
6512 < /* Line 1806 of yacc.c  */
6513 < #line 2732 "ircd_parser.y"
6512 > /* Line 1810 of yacc.c  */
6513 > #line 2705 "conf_parser.y"
6514      {
6515    ConfigFileEntry.stats_o_oper_only = yylval.number;
6516   }
6517      break;
6518  
6519 <  case 500:
6519 >  case 516:
6520  
6521 < /* Line 1806 of yacc.c  */
6522 < #line 2737 "ircd_parser.y"
6521 > /* Line 1810 of yacc.c  */
6522 > #line 2710 "conf_parser.y"
6523      {
6524    ConfigFileEntry.stats_P_oper_only = yylval.number;
6525   }
6526      break;
6527  
6528 <  case 501:
6528 >  case 517:
6529  
6530 < /* Line 1806 of yacc.c  */
6531 < #line 2742 "ircd_parser.y"
6530 > /* Line 1810 of yacc.c  */
6531 > #line 2715 "conf_parser.y"
6532      {
6533    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
6534   }
6535      break;
6536  
6537 <  case 502:
6537 >  case 518:
6538  
6539 < /* Line 1806 of yacc.c  */
6540 < #line 2745 "ircd_parser.y"
6539 > /* Line 1810 of yacc.c  */
6540 > #line 2718 "conf_parser.y"
6541      {
6542    ConfigFileEntry.stats_k_oper_only = 1;
6543   }
6544      break;
6545  
6546 <  case 503:
6546 >  case 519:
6547  
6548 < /* Line 1806 of yacc.c  */
6549 < #line 2750 "ircd_parser.y"
6548 > /* Line 1810 of yacc.c  */
6549 > #line 2723 "conf_parser.y"
6550      {
6551    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
6552   }
6553      break;
6554  
6555 <  case 504:
6555 >  case 520:
6556  
6557 < /* Line 1806 of yacc.c  */
6558 < #line 2753 "ircd_parser.y"
6557 > /* Line 1810 of yacc.c  */
6558 > #line 2726 "conf_parser.y"
6559      {
6560    ConfigFileEntry.stats_i_oper_only = 1;
6561   }
6562      break;
6563  
6564 <  case 505:
6564 >  case 521:
6565  
6566 < /* Line 1806 of yacc.c  */
6567 < #line 2758 "ircd_parser.y"
6566 > /* Line 1810 of yacc.c  */
6567 > #line 2731 "conf_parser.y"
6568      {
6569    ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
6570   }
6571      break;
6572  
6573 <  case 506:
6573 >  case 522:
6574  
6575 < /* Line 1806 of yacc.c  */
6576 < #line 2763 "ircd_parser.y"
6575 > /* Line 1810 of yacc.c  */
6576 > #line 2736 "conf_parser.y"
6577      {
6578    ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
6579   }
6580      break;
6581  
6582 <  case 507:
6582 >  case 523:
6583  
6584 < /* Line 1806 of yacc.c  */
6585 < #line 2768 "ircd_parser.y"
6584 > /* Line 1810 of yacc.c  */
6585 > #line 2741 "conf_parser.y"
6586      {
6587    ConfigFileEntry.opers_bypass_callerid = yylval.number;
6588   }
6589      break;
6590  
6591 <  case 508:
6591 >  case 524:
6592  
6593 < /* Line 1806 of yacc.c  */
6594 < #line 2773 "ircd_parser.y"
6593 > /* Line 1810 of yacc.c  */
6594 > #line 2746 "conf_parser.y"
6595      {
6596    ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
6597   }
6598      break;
6599  
6600 <  case 509:
6600 >  case 525:
6601  
6602 < /* Line 1806 of yacc.c  */
6603 < #line 2778 "ircd_parser.y"
6602 > /* Line 1810 of yacc.c  */
6603 > #line 2751 "conf_parser.y"
6604      {
6605    ConfigFileEntry.short_motd = yylval.number;
6606   }
6607      break;
6608  
6609 <  case 510:
6609 >  case 526:
6610  
6611 < /* Line 1806 of yacc.c  */
6612 < #line 2783 "ircd_parser.y"
6611 > /* Line 1810 of yacc.c  */
6612 > #line 2756 "conf_parser.y"
6613      {
6614    ConfigFileEntry.no_oper_flood = yylval.number;
6615   }
6616      break;
6617  
6618 <  case 511:
6618 >  case 527:
6619  
6620 < /* Line 1806 of yacc.c  */
6621 < #line 2788 "ircd_parser.y"
6620 > /* Line 1810 of yacc.c  */
6621 > #line 2761 "conf_parser.y"
6622      {
6623    ConfigFileEntry.true_no_oper_flood = yylval.number;
6624   }
6625      break;
6626  
6627 <  case 512:
6627 >  case 528:
6628  
6629 < /* Line 1806 of yacc.c  */
6630 < #line 2793 "ircd_parser.y"
6629 > /* Line 1810 of yacc.c  */
6630 > #line 2766 "conf_parser.y"
6631      {
6632    ConfigFileEntry.oper_pass_resv = yylval.number;
6633   }
6634      break;
6635  
6636 <  case 513:
6636 >  case 529:
6637  
6638 < /* Line 1806 of yacc.c  */
6639 < #line 2798 "ircd_parser.y"
6638 > /* Line 1810 of yacc.c  */
6639 > #line 2771 "conf_parser.y"
6640      {
6641    if (conf_parser_ctx.pass == 2)
6642    {
# Line 6635 | Line 6648 | yyreduce:
6648   }
6649      break;
6650  
6651 <  case 514:
6651 >  case 530:
6652  
6653 < /* Line 1806 of yacc.c  */
6654 < #line 2809 "ircd_parser.y"
6653 > /* Line 1810 of yacc.c  */
6654 > #line 2782 "conf_parser.y"
6655      {
6656    ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
6657   }
6658      break;
6659  
6660 <  case 515:
6660 >  case 531:
6661  
6662 < /* Line 1806 of yacc.c  */
6663 < #line 2814 "ircd_parser.y"
6662 > /* Line 1810 of yacc.c  */
6663 > #line 2787 "conf_parser.y"
6664      {
6665    ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
6666   }
6667      break;
6668  
6669 <  case 516:
6669 >  case 532:
6670  
6671 < /* Line 1806 of yacc.c  */
6672 < #line 2819 "ircd_parser.y"
6671 > /* Line 1810 of yacc.c  */
6672 > #line 2792 "conf_parser.y"
6673      {
6674    ConfigFileEntry.use_egd = yylval.number;
6675   }
6676      break;
6677  
6678 <  case 517:
6678 >  case 533:
6679  
6680 < /* Line 1806 of yacc.c  */
6681 < #line 2824 "ircd_parser.y"
6680 > /* Line 1810 of yacc.c  */
6681 > #line 2797 "conf_parser.y"
6682      {
6683    if (conf_parser_ctx.pass == 2)
6684    {
# Line 6675 | Line 6688 | yyreduce:
6688   }
6689      break;
6690  
6691 <  case 518:
6691 >  case 534:
6692  
6693 < /* Line 1806 of yacc.c  */
6694 < #line 2833 "ircd_parser.y"
6693 > /* Line 1810 of yacc.c  */
6694 > #line 2806 "conf_parser.y"
6695      {
6696    if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6697    {
# Line 6688 | Line 6701 | yyreduce:
6701   }
6702      break;
6703  
6704 <  case 519:
6704 >  case 535:
6705  
6706 < /* Line 1806 of yacc.c  */
6707 < #line 2842 "ircd_parser.y"
6706 > /* Line 1810 of yacc.c  */
6707 > #line 2815 "conf_parser.y"
6708      {
6709    ConfigFileEntry.ping_cookie = yylval.number;
6710   }
6711      break;
6712  
6713 <  case 520:
6713 >  case 536:
6714  
6715 < /* Line 1806 of yacc.c  */
6716 < #line 2847 "ircd_parser.y"
6715 > /* Line 1810 of yacc.c  */
6716 > #line 2820 "conf_parser.y"
6717      {
6718    ConfigFileEntry.disable_auth = yylval.number;
6719   }
6720      break;
6721  
6722 <  case 521:
6722 >  case 537:
6723  
6724 < /* Line 1806 of yacc.c  */
6725 < #line 2852 "ircd_parser.y"
6724 > /* Line 1810 of yacc.c  */
6725 > #line 2825 "conf_parser.y"
6726      {
6727    ConfigFileEntry.throttle_time = yylval.number;
6728   }
6729      break;
6730  
6731 <  case 522:
6731 >  case 538:
6732  
6733 < /* Line 1806 of yacc.c  */
6734 < #line 2857 "ircd_parser.y"
6733 > /* Line 1810 of yacc.c  */
6734 > #line 2830 "conf_parser.y"
6735      {
6736    ConfigFileEntry.oper_umodes = 0;
6737   }
6738      break;
6739  
6740 <  case 526:
6740 >  case 542:
6741  
6742 < /* Line 1806 of yacc.c  */
6743 < #line 2863 "ircd_parser.y"
6742 > /* Line 1810 of yacc.c  */
6743 > #line 2836 "conf_parser.y"
6744      {
6745    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6746   }
6747      break;
6748  
6749 <  case 527:
6749 >  case 543:
6750  
6751 < /* Line 1806 of yacc.c  */
6752 < #line 2866 "ircd_parser.y"
6751 > /* Line 1810 of yacc.c  */
6752 > #line 2839 "conf_parser.y"
6753      {
6754    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6755   }
6756      break;
6757  
6758 <  case 528:
6758 >  case 544:
6759  
6760 < /* Line 1806 of yacc.c  */
6761 < #line 2869 "ircd_parser.y"
6760 > /* Line 1810 of yacc.c  */
6761 > #line 2842 "conf_parser.y"
6762      {
6763    ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6764   }
6765      break;
6766  
6767 <  case 529:
6767 >  case 545:
6768  
6769 < /* Line 1806 of yacc.c  */
6770 < #line 2872 "ircd_parser.y"
6769 > /* Line 1810 of yacc.c  */
6770 > #line 2845 "conf_parser.y"
6771      {
6772    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6773   }
6774      break;
6775  
6776 <  case 530:
6776 >  case 546:
6777  
6778 < /* Line 1806 of yacc.c  */
6779 < #line 2875 "ircd_parser.y"
6778 > /* Line 1810 of yacc.c  */
6779 > #line 2848 "conf_parser.y"
6780      {
6781    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6782   }
6783      break;
6784  
6785 <  case 531:
6785 >  case 547:
6786  
6787 < /* Line 1806 of yacc.c  */
6788 < #line 2878 "ircd_parser.y"
6787 > /* Line 1810 of yacc.c  */
6788 > #line 2851 "conf_parser.y"
6789      {
6790    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6791   }
6792      break;
6793  
6794 <  case 532:
6794 >  case 548:
6795  
6796 < /* Line 1806 of yacc.c  */
6797 < #line 2881 "ircd_parser.y"
6796 > /* Line 1810 of yacc.c  */
6797 > #line 2854 "conf_parser.y"
6798      {
6799    ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6800   }
6801      break;
6802  
6803 <  case 533:
6803 >  case 549:
6804  
6805 < /* Line 1806 of yacc.c  */
6806 < #line 2884 "ircd_parser.y"
6805 > /* Line 1810 of yacc.c  */
6806 > #line 2857 "conf_parser.y"
6807      {
6808    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6809   }
6810      break;
6811  
6812 <  case 534:
6812 >  case 550:
6813  
6814 < /* Line 1806 of yacc.c  */
6815 < #line 2887 "ircd_parser.y"
6814 > /* Line 1810 of yacc.c  */
6815 > #line 2860 "conf_parser.y"
6816      {
6817    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6818   }
6819      break;
6820  
6821 <  case 535:
6821 >  case 551:
6822  
6823 < /* Line 1806 of yacc.c  */
6824 < #line 2890 "ircd_parser.y"
6823 > /* Line 1810 of yacc.c  */
6824 > #line 2863 "conf_parser.y"
6825      {
6826    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6827   }
6828      break;
6829  
6830 <  case 536:
6830 >  case 552:
6831  
6832 < /* Line 1806 of yacc.c  */
6833 < #line 2893 "ircd_parser.y"
6832 > /* Line 1810 of yacc.c  */
6833 > #line 2866 "conf_parser.y"
6834      {
6835    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6836   }
6837      break;
6838  
6839 <  case 537:
6839 >  case 553:
6840  
6841 < /* Line 1806 of yacc.c  */
6842 < #line 2896 "ircd_parser.y"
6841 > /* Line 1810 of yacc.c  */
6842 > #line 2869 "conf_parser.y"
6843      {
6844    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6845   }
6846      break;
6847  
6848 <  case 538:
6848 >  case 554:
6849  
6850 < /* Line 1806 of yacc.c  */
6851 < #line 2899 "ircd_parser.y"
6850 > /* Line 1810 of yacc.c  */
6851 > #line 2872 "conf_parser.y"
6852      {
6853    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6854   }
6855      break;
6856  
6857 <  case 539:
6857 >  case 555:
6858  
6859 < /* Line 1806 of yacc.c  */
6860 < #line 2902 "ircd_parser.y"
6859 > /* Line 1810 of yacc.c  */
6860 > #line 2875 "conf_parser.y"
6861      {
6862    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6863   }
6864      break;
6865  
6866 <  case 540:
6866 >  case 556:
6867  
6868 < /* Line 1806 of yacc.c  */
6869 < #line 2905 "ircd_parser.y"
6868 > /* Line 1810 of yacc.c  */
6869 > #line 2878 "conf_parser.y"
6870      {
6871    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6872   }
6873      break;
6874  
6875 <  case 541:
6875 >  case 557:
6876  
6877 < /* Line 1806 of yacc.c  */
6878 < #line 2908 "ircd_parser.y"
6877 > /* Line 1810 of yacc.c  */
6878 > #line 2881 "conf_parser.y"
6879      {
6880    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6881   }
6882      break;
6883  
6884 <  case 542:
6884 >  case 558:
6885  
6886 < /* Line 1806 of yacc.c  */
6887 < #line 2911 "ircd_parser.y"
6886 > /* Line 1810 of yacc.c  */
6887 > #line 2884 "conf_parser.y"
6888      {
6889    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6890   }
6891      break;
6892  
6893 <  case 543:
6893 >  case 559:
6894  
6895 < /* Line 1806 of yacc.c  */
6896 < #line 2914 "ircd_parser.y"
6895 > /* Line 1810 of yacc.c  */
6896 > #line 2887 "conf_parser.y"
6897      {
6898    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6899   }
6900      break;
6901  
6902 <  case 544:
6902 >  case 560:
6903  
6904 < /* Line 1806 of yacc.c  */
6905 < #line 2917 "ircd_parser.y"
6904 > /* Line 1810 of yacc.c  */
6905 > #line 2890 "conf_parser.y"
6906      {
6907    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6908   }
6909      break;
6910  
6911 <  case 545:
6911 >  case 561:
6912  
6913 < /* Line 1806 of yacc.c  */
6914 < #line 2920 "ircd_parser.y"
6913 > /* Line 1810 of yacc.c  */
6914 > #line 2893 "conf_parser.y"
6915      {
6916    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6917   }
6918      break;
6919  
6920 <  case 546:
6920 >  case 562:
6921  
6922 < /* Line 1806 of yacc.c  */
6923 < #line 2925 "ircd_parser.y"
6922 > /* Line 1810 of yacc.c  */
6923 > #line 2898 "conf_parser.y"
6924      {
6925    ConfigFileEntry.oper_only_umodes = 0;
6926   }
6927      break;
6928  
6929 <  case 550:
6929 >  case 566:
6930  
6931 < /* Line 1806 of yacc.c  */
6932 < #line 2931 "ircd_parser.y"
6931 > /* Line 1810 of yacc.c  */
6932 > #line 2904 "conf_parser.y"
6933      {
6934    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6935   }
6936      break;
6937  
6938 <  case 551:
6938 >  case 567:
6939  
6940 < /* Line 1806 of yacc.c  */
6941 < #line 2934 "ircd_parser.y"
6940 > /* Line 1810 of yacc.c  */
6941 > #line 2907 "conf_parser.y"
6942      {
6943    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6944   }
6945      break;
6946  
6947 <  case 552:
6947 >  case 568:
6948  
6949 < /* Line 1806 of yacc.c  */
6950 < #line 2937 "ircd_parser.y"
6949 > /* Line 1810 of yacc.c  */
6950 > #line 2910 "conf_parser.y"
6951      {
6952    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6953   }
6954      break;
6955  
6956 <  case 553:
6956 >  case 569:
6957  
6958 < /* Line 1806 of yacc.c  */
6959 < #line 2940 "ircd_parser.y"
6958 > /* Line 1810 of yacc.c  */
6959 > #line 2913 "conf_parser.y"
6960      {
6961    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6962   }
6963      break;
6964  
6965 <  case 554:
6965 >  case 570:
6966  
6967 < /* Line 1806 of yacc.c  */
6968 < #line 2943 "ircd_parser.y"
6967 > /* Line 1810 of yacc.c  */
6968 > #line 2916 "conf_parser.y"
6969      {
6970    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6971   }
6972      break;
6973  
6974 <  case 555:
6974 >  case 571:
6975  
6976 < /* Line 1806 of yacc.c  */
6977 < #line 2946 "ircd_parser.y"
6976 > /* Line 1810 of yacc.c  */
6977 > #line 2919 "conf_parser.y"
6978      {
6979    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6980   }
6981      break;
6982  
6983 <  case 556:
6983 >  case 572:
6984  
6985 < /* Line 1806 of yacc.c  */
6986 < #line 2949 "ircd_parser.y"
6985 > /* Line 1810 of yacc.c  */
6986 > #line 2922 "conf_parser.y"
6987      {
6988    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6989   }
6990      break;
6991  
6992 <  case 557:
6992 >  case 573:
6993  
6994 < /* Line 1806 of yacc.c  */
6995 < #line 2952 "ircd_parser.y"
6994 > /* Line 1810 of yacc.c  */
6995 > #line 2925 "conf_parser.y"
6996      {
6997    ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6998   }
6999      break;
7000  
7001 <  case 558:
7001 >  case 574:
7002  
7003 < /* Line 1806 of yacc.c  */
7004 < #line 2955 "ircd_parser.y"
7003 > /* Line 1810 of yacc.c  */
7004 > #line 2928 "conf_parser.y"
7005      {
7006    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
7007   }
7008      break;
7009  
7010 <  case 559:
7010 >  case 575:
7011  
7012 < /* Line 1806 of yacc.c  */
7013 < #line 2958 "ircd_parser.y"
7012 > /* Line 1810 of yacc.c  */
7013 > #line 2931 "conf_parser.y"
7014      {
7015    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
7016   }
7017      break;
7018  
7019 <  case 560:
7019 >  case 576:
7020  
7021 < /* Line 1806 of yacc.c  */
7022 < #line 2961 "ircd_parser.y"
7021 > /* Line 1810 of yacc.c  */
7022 > #line 2934 "conf_parser.y"
7023      {
7024    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
7025   }
7026      break;
7027  
7028 <  case 561:
7028 >  case 577:
7029  
7030 < /* Line 1806 of yacc.c  */
7031 < #line 2964 "ircd_parser.y"
7030 > /* Line 1810 of yacc.c  */
7031 > #line 2937 "conf_parser.y"
7032      {
7033    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
7034   }
7035      break;
7036  
7037 <  case 562:
7037 >  case 578:
7038  
7039 < /* Line 1806 of yacc.c  */
7040 < #line 2967 "ircd_parser.y"
7039 > /* Line 1810 of yacc.c  */
7040 > #line 2940 "conf_parser.y"
7041      {
7042    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
7043   }
7044      break;
7045  
7046 <  case 563:
7046 >  case 579:
7047  
7048 < /* Line 1806 of yacc.c  */
7049 < #line 2970 "ircd_parser.y"
7048 > /* Line 1810 of yacc.c  */
7049 > #line 2943 "conf_parser.y"
7050      {
7051    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
7052   }
7053      break;
7054  
7055 <  case 564:
7055 >  case 580:
7056  
7057 < /* Line 1806 of yacc.c  */
7058 < #line 2973 "ircd_parser.y"
7057 > /* Line 1810 of yacc.c  */
7058 > #line 2946 "conf_parser.y"
7059      {
7060    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
7061   }
7062      break;
7063  
7064 <  case 565:
7064 >  case 581:
7065  
7066 < /* Line 1806 of yacc.c  */
7067 < #line 2976 "ircd_parser.y"
7066 > /* Line 1810 of yacc.c  */
7067 > #line 2949 "conf_parser.y"
7068      {
7069    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
7070   }
7071      break;
7072  
7073 <  case 566:
7073 >  case 582:
7074  
7075 < /* Line 1806 of yacc.c  */
7076 < #line 2979 "ircd_parser.y"
7075 > /* Line 1810 of yacc.c  */
7076 > #line 2952 "conf_parser.y"
7077      {
7078    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
7079   }
7080      break;
7081  
7082 <  case 567:
7082 >  case 583:
7083  
7084 < /* Line 1806 of yacc.c  */
7085 < #line 2982 "ircd_parser.y"
7084 > /* Line 1810 of yacc.c  */
7085 > #line 2955 "conf_parser.y"
7086      {
7087    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
7088   }
7089      break;
7090  
7091 <  case 568:
7091 >  case 584:
7092  
7093 < /* Line 1806 of yacc.c  */
7094 < #line 2985 "ircd_parser.y"
7093 > /* Line 1810 of yacc.c  */
7094 > #line 2958 "conf_parser.y"
7095      {
7096    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
7097   }
7098      break;
7099  
7100 <  case 569:
7100 >  case 585:
7101  
7102 < /* Line 1806 of yacc.c  */
7103 < #line 2988 "ircd_parser.y"
7102 > /* Line 1810 of yacc.c  */
7103 > #line 2961 "conf_parser.y"
7104      {
7105    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
7106   }
7107      break;
7108  
7109 <  case 570:
7109 >  case 586:
7110  
7111 < /* Line 1806 of yacc.c  */
7112 < #line 2993 "ircd_parser.y"
7111 > /* Line 1810 of yacc.c  */
7112 > #line 2966 "conf_parser.y"
7113      {
7114    ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
7115   }
7116      break;
7117  
7118 <  case 571:
7118 >  case 587:
7119  
7120 < /* Line 1806 of yacc.c  */
7121 < #line 2998 "ircd_parser.y"
7120 > /* Line 1810 of yacc.c  */
7121 > #line 2971 "conf_parser.y"
7122      {
7123    ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
7124   }
7125      break;
7126  
7127 <  case 572:
7127 >  case 588:
7128  
7129 < /* Line 1806 of yacc.c  */
7130 < #line 3003 "ircd_parser.y"
7129 > /* Line 1810 of yacc.c  */
7130 > #line 2976 "conf_parser.y"
7131      {
7132    ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
7133   }
7134      break;
7135  
7136 <  case 573:
7136 >  case 589:
7137  
7138 < /* Line 1806 of yacc.c  */
7139 < #line 3008 "ircd_parser.y"
7138 > /* Line 1810 of yacc.c  */
7139 > #line 2981 "conf_parser.y"
7140      {
7141    ConfigFileEntry.client_flood = (yyvsp[(3) - (4)].number);
7142   }
7143      break;
7144  
7145 <  case 574:
7133 <
7134 < /* Line 1806 of yacc.c  */
7135 < #line 3017 "ircd_parser.y"
7136 <    {
7137 <  if (conf_parser_ctx.pass == 2)
7138 <  {
7139 <    yy_conf = make_conf_item(GDENY_TYPE);
7140 <    yy_aconf = map_to_conf(yy_conf);
7141 <  }
7142 < }
7143 <    break;
7144 <
7145 <  case 575:
7146 <
7147 < /* Line 1806 of yacc.c  */
7148 < #line 3024 "ircd_parser.y"
7149 <    {
7150 <  if (conf_parser_ctx.pass == 2)
7151 <  {
7152 <    /*
7153 <     * since we re-allocate yy_conf/yy_aconf after the end of action=, at the
7154 <     * end we will have one extra, so we should free it.
7155 <     */
7156 <    if (yy_conf->name == NULL || yy_aconf->user == NULL)
7157 <    {
7158 <      delete_conf_item(yy_conf);
7159 <      yy_conf = NULL;
7160 <      yy_aconf = NULL;
7161 <    }
7162 <  }
7163 < }
7164 <    break;
7165 <
7166 <  case 585:
7167 <
7168 < /* Line 1806 of yacc.c  */
7169 < #line 3050 "ircd_parser.y"
7170 <    {
7171 <  if (conf_parser_ctx.pass == 2)
7172 <    ConfigFileEntry.glines = yylval.number;
7173 < }
7174 <    break;
7175 <
7176 <  case 586:
7177 <
7178 < /* Line 1806 of yacc.c  */
7179 < #line 3056 "ircd_parser.y"
7180 <    {
7181 <  if (conf_parser_ctx.pass == 2)
7182 <    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
7183 < }
7184 <    break;
7185 <
7186 <  case 587:
7187 <
7188 < /* Line 1806 of yacc.c  */
7189 < #line 3062 "ircd_parser.y"
7190 <    {
7191 <  if (conf_parser_ctx.pass == 2)
7192 <    ConfigFileEntry.gline_logging = 0;
7193 < }
7194 <    break;
7195 <
7196 <  case 591:
7197 <
7198 < /* Line 1806 of yacc.c  */
7199 < #line 3068 "ircd_parser.y"
7200 <    {
7201 <  if (conf_parser_ctx.pass == 2)
7202 <    ConfigFileEntry.gline_logging |= GDENY_REJECT;
7203 < }
7204 <    break;
7205 <
7206 <  case 592:
7145 >  case 612:
7146  
7147 < /* Line 1806 of yacc.c  */
7148 < #line 3072 "ircd_parser.y"
7210 <    {
7211 <  if (conf_parser_ctx.pass == 2)
7212 <    ConfigFileEntry.gline_logging |= GDENY_BLOCK;
7213 < }
7214 <    break;
7215 <
7216 <  case 593:
7217 <
7218 < /* Line 1806 of yacc.c  */
7219 < #line 3078 "ircd_parser.y"
7220 <    {
7221 <  if (conf_parser_ctx.pass == 2)
7222 <  {
7223 <    struct split_nuh_item nuh;
7224 <
7225 <    nuh.nuhmask  = yylval.string;
7226 <    nuh.nickptr  = NULL;
7227 <    nuh.userptr  = userbuf;
7228 <    nuh.hostptr  = hostbuf;
7229 <
7230 <    nuh.nicksize = 0;
7231 <    nuh.usersize = sizeof(userbuf);
7232 <    nuh.hostsize = sizeof(hostbuf);
7233 <
7234 <    split_nuh(&nuh);
7235 <
7236 <    if (yy_aconf->user == NULL)
7237 <    {
7238 <      DupString(yy_aconf->user, userbuf);
7239 <      DupString(yy_aconf->host, hostbuf);
7240 <    }
7241 <    else
7242 <    {
7243 <      struct CollectItem *yy_tmp = MyMalloc(sizeof(struct CollectItem));
7244 <
7245 <      DupString(yy_tmp->user, userbuf);
7246 <      DupString(yy_tmp->host, hostbuf);
7247 <
7248 <      dlinkAdd(yy_tmp, &yy_tmp->node, &col_conf_list);
7249 <    }
7250 <  }
7251 < }
7252 <    break;
7253 <
7254 <  case 594:
7255 <
7256 < /* Line 1806 of yacc.c  */
7257 < #line 3112 "ircd_parser.y"
7258 <    {
7259 <  if (conf_parser_ctx.pass == 2)  
7260 <  {
7261 <    MyFree(yy_conf->name);
7262 <    DupString(yy_conf->name, yylval.string);
7263 <  }
7264 < }
7265 <    break;
7266 <
7267 <  case 595:
7268 <
7269 < /* Line 1806 of yacc.c  */
7270 < #line 3121 "ircd_parser.y"
7271 <    {
7272 <  if (conf_parser_ctx.pass == 2)
7273 <    yy_aconf->flags = 0;
7274 < }
7275 <    break;
7276 <
7277 <  case 596:
7278 <
7279 < /* Line 1806 of yacc.c  */
7280 < #line 3125 "ircd_parser.y"
7281 <    {
7282 <  if (conf_parser_ctx.pass == 2)
7283 <  {
7284 <    struct CollectItem *yy_tmp = NULL;
7285 <    dlink_node *ptr, *next_ptr;
7286 <
7287 <    DLINK_FOREACH_SAFE(ptr, next_ptr, col_conf_list.head)
7288 <    {
7289 <      struct AccessItem *new_aconf;
7290 <      struct ConfItem *new_conf;
7291 <
7292 <      yy_tmp = ptr->data;
7293 <      new_conf = make_conf_item(GDENY_TYPE);
7294 <      new_aconf = map_to_conf(new_conf);
7295 <
7296 <      new_aconf->flags = yy_aconf->flags;
7297 <
7298 <      if (yy_conf->name != NULL)
7299 <        DupString(new_conf->name, yy_conf->name);
7300 <      else
7301 <        DupString(new_conf->name, "*");
7302 <      if (yy_aconf->user != NULL)
7303 <         DupString(new_aconf->user, yy_tmp->user);
7304 <      else  
7305 <        DupString(new_aconf->user, "*");
7306 <      if (yy_aconf->host != NULL)
7307 <        DupString(new_aconf->host, yy_tmp->host);
7308 <      else
7309 <        DupString(new_aconf->host, "*");
7310 <
7311 <      dlinkDelete(&yy_tmp->node, &col_conf_list);
7312 <    }
7313 <
7314 <    /*
7315 <     * In case someone has fed us with more than one action= after user/name
7316 <     * which would leak memory  -Michael
7317 <     */
7318 <    if (yy_conf->name == NULL || yy_aconf->user == NULL)
7319 <      delete_conf_item(yy_conf);
7320 <
7321 <    yy_conf = make_conf_item(GDENY_TYPE);
7322 <    yy_aconf = map_to_conf(yy_conf);
7323 <  }
7324 < }
7325 <    break;
7326 <
7327 <  case 599:
7328 <
7329 < /* Line 1806 of yacc.c  */
7330 < #line 3172 "ircd_parser.y"
7331 <    {
7332 <  if (conf_parser_ctx.pass == 2)
7333 <    yy_aconf->flags |= GDENY_REJECT;
7334 < }
7335 <    break;
7336 <
7337 <  case 600:
7338 <
7339 < /* Line 1806 of yacc.c  */
7340 < #line 3176 "ircd_parser.y"
7341 <    {
7342 <  if (conf_parser_ctx.pass == 2)
7343 <    yy_aconf->flags |= GDENY_BLOCK;
7344 < }
7345 <    break;
7346 <
7347 <  case 623:
7348 <
7349 < /* Line 1806 of yacc.c  */
7350 < #line 3200 "ircd_parser.y"
7147 > /* Line 1810 of yacc.c  */
7148 > #line 3005 "conf_parser.y"
7149      {
7150    ConfigChannel.disable_fake_channels = yylval.number;
7151   }
7152      break;
7153  
7154 <  case 624:
7154 >  case 613:
7155  
7156 < /* Line 1806 of yacc.c  */
7157 < #line 3205 "ircd_parser.y"
7156 > /* Line 1810 of yacc.c  */
7157 > #line 3010 "conf_parser.y"
7158      {
7159    ConfigChannel.restrict_channels = yylval.number;
7160   }
7161      break;
7162  
7163 <  case 625:
7163 >  case 614:
7164  
7165 < /* Line 1806 of yacc.c  */
7166 < #line 3210 "ircd_parser.y"
7165 > /* Line 1810 of yacc.c  */
7166 > #line 3015 "conf_parser.y"
7167      {
7168    ConfigChannel.disable_local_channels = yylval.number;
7169   }
7170      break;
7171  
7172 <  case 626:
7172 >  case 615:
7173  
7174 < /* Line 1806 of yacc.c  */
7175 < #line 3215 "ircd_parser.y"
7174 > /* Line 1810 of yacc.c  */
7175 > #line 3020 "conf_parser.y"
7176      {
7177    ConfigChannel.use_except = yylval.number;
7178   }
7179      break;
7180  
7181 <  case 627:
7181 >  case 616:
7182  
7183 < /* Line 1806 of yacc.c  */
7184 < #line 3220 "ircd_parser.y"
7183 > /* Line 1810 of yacc.c  */
7184 > #line 3025 "conf_parser.y"
7185      {
7186    ConfigChannel.use_invex = yylval.number;
7187   }
7188      break;
7189  
7190 <  case 628:
7190 >  case 617:
7191  
7192 < /* Line 1806 of yacc.c  */
7193 < #line 3225 "ircd_parser.y"
7192 > /* Line 1810 of yacc.c  */
7193 > #line 3030 "conf_parser.y"
7194      {
7195    ConfigChannel.use_knock = yylval.number;
7196   }
7197      break;
7198  
7199 <  case 629:
7199 >  case 618:
7200  
7201 < /* Line 1806 of yacc.c  */
7202 < #line 3230 "ircd_parser.y"
7201 > /* Line 1810 of yacc.c  */
7202 > #line 3035 "conf_parser.y"
7203      {
7204    ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
7205   }
7206      break;
7207  
7208 <  case 630:
7208 >  case 619:
7209  
7210 < /* Line 1806 of yacc.c  */
7211 < #line 3235 "ircd_parser.y"
7210 > /* Line 1810 of yacc.c  */
7211 > #line 3040 "conf_parser.y"
7212      {
7213    ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
7214   }
7215      break;
7216  
7217 <  case 631:
7217 >  case 620:
7218  
7219 < /* Line 1806 of yacc.c  */
7220 < #line 3240 "ircd_parser.y"
7219 > /* Line 1810 of yacc.c  */
7220 > #line 3045 "conf_parser.y"
7221      {
7222    ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
7223   }
7224      break;
7225  
7226 <  case 632:
7226 >  case 621:
7227  
7228 < /* Line 1806 of yacc.c  */
7229 < #line 3245 "ircd_parser.y"
7228 > /* Line 1810 of yacc.c  */
7229 > #line 3050 "conf_parser.y"
7230 >    {
7231 >  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
7232 > }
7233 >    break;
7234 >
7235 >  case 622:
7236 >
7237 > /* Line 1810 of yacc.c  */
7238 > #line 3055 "conf_parser.y"
7239      {
7240    ConfigChannel.quiet_on_ban = yylval.number;
7241   }
7242      break;
7243  
7244 <  case 633:
7244 >  case 623:
7245  
7246 < /* Line 1806 of yacc.c  */
7247 < #line 3250 "ircd_parser.y"
7246 > /* Line 1810 of yacc.c  */
7247 > #line 3060 "conf_parser.y"
7248      {
7249    ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
7250   }
7251      break;
7252  
7253 <  case 634:
7253 >  case 624:
7254  
7255 < /* Line 1806 of yacc.c  */
7256 < #line 3255 "ircd_parser.y"
7255 > /* Line 1810 of yacc.c  */
7256 > #line 3065 "conf_parser.y"
7257      {
7258    ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
7259   }
7260      break;
7261  
7262 <  case 635:
7262 >  case 625:
7263  
7264 < /* Line 1806 of yacc.c  */
7265 < #line 3260 "ircd_parser.y"
7264 > /* Line 1810 of yacc.c  */
7265 > #line 3070 "conf_parser.y"
7266      {
7267    ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
7268   }
7269      break;
7270  
7271 <  case 636:
7271 >  case 626:
7272  
7273 < /* Line 1806 of yacc.c  */
7274 < #line 3265 "ircd_parser.y"
7273 > /* Line 1810 of yacc.c  */
7274 > #line 3075 "conf_parser.y"
7275      {
7276    ConfigChannel.no_create_on_split = yylval.number;
7277   }
7278      break;
7279  
7280 <  case 637:
7280 >  case 627:
7281  
7282 < /* Line 1806 of yacc.c  */
7283 < #line 3270 "ircd_parser.y"
7282 > /* Line 1810 of yacc.c  */
7283 > #line 3080 "conf_parser.y"
7284      {
7285    ConfigChannel.no_join_on_split = yylval.number;
7286   }
7287      break;
7288  
7289 <  case 638:
7483 <
7484 < /* Line 1806 of yacc.c  */
7485 < #line 3275 "ircd_parser.y"
7486 <    {
7487 <  ConfigChannel.burst_topicwho = yylval.number;
7488 < }
7489 <    break;
7490 <
7491 <  case 639:
7289 >  case 628:
7290  
7291 < /* Line 1806 of yacc.c  */
7292 < #line 3280 "ircd_parser.y"
7291 > /* Line 1810 of yacc.c  */
7292 > #line 3085 "conf_parser.y"
7293      {
7294    GlobalSetOptions.joinfloodcount = yylval.number;
7295   }
7296      break;
7297  
7298 <  case 640:
7298 >  case 629:
7299  
7300 < /* Line 1806 of yacc.c  */
7301 < #line 3285 "ircd_parser.y"
7300 > /* Line 1810 of yacc.c  */
7301 > #line 3090 "conf_parser.y"
7302      {
7303    GlobalSetOptions.joinfloodtime = yylval.number;
7304   }
7305      break;
7306  
7307 <  case 652:
7307 >  case 641:
7308  
7309 < /* Line 1806 of yacc.c  */
7310 < #line 3304 "ircd_parser.y"
7309 > /* Line 1810 of yacc.c  */
7310 > #line 3109 "conf_parser.y"
7311      {
7312    if (conf_parser_ctx.pass == 2)
7313      ConfigServerHide.flatten_links = yylval.number;
7314   }
7315      break;
7316  
7317 <  case 653:
7317 >  case 642:
7318  
7319 < /* Line 1806 of yacc.c  */
7320 < #line 3310 "ircd_parser.y"
7319 > /* Line 1810 of yacc.c  */
7320 > #line 3115 "conf_parser.y"
7321      {
7322    if (conf_parser_ctx.pass == 2)
7323      ConfigServerHide.hide_servers = yylval.number;
7324   }
7325      break;
7326  
7327 <  case 654:
7327 >  case 643:
7328  
7329 < /* Line 1806 of yacc.c  */
7330 < #line 3316 "ircd_parser.y"
7329 > /* Line 1810 of yacc.c  */
7330 > #line 3121 "conf_parser.y"
7331      {
7332    if (conf_parser_ctx.pass == 2)
7333    {
# Line 7539 | Line 7337 | yyreduce:
7337   }
7338      break;
7339  
7340 <  case 655:
7340 >  case 644:
7341  
7342 < /* Line 1806 of yacc.c  */
7343 < #line 3325 "ircd_parser.y"
7342 > /* Line 1810 of yacc.c  */
7343 > #line 3130 "conf_parser.y"
7344      {
7345    if (conf_parser_ctx.pass == 2)
7346    {
# Line 7557 | Line 7355 | yyreduce:
7355   }
7356      break;
7357  
7358 <  case 656:
7358 >  case 645:
7359  
7360 < /* Line 1806 of yacc.c  */
7361 < #line 3339 "ircd_parser.y"
7360 > /* Line 1810 of yacc.c  */
7361 > #line 3144 "conf_parser.y"
7362      {
7363    if (conf_parser_ctx.pass == 2)
7364      ConfigServerHide.hidden = yylval.number;
7365   }
7366      break;
7367  
7368 <  case 657:
7368 >  case 646:
7369  
7370 < /* Line 1806 of yacc.c  */
7371 < #line 3345 "ircd_parser.y"
7370 > /* Line 1810 of yacc.c  */
7371 > #line 3150 "conf_parser.y"
7372      {
7373    if (conf_parser_ctx.pass == 2)
7374      ConfigServerHide.disable_hidden = yylval.number;
7375   }
7376      break;
7377  
7378 <  case 658:
7378 >  case 647:
7379  
7380 < /* Line 1806 of yacc.c  */
7381 < #line 3351 "ircd_parser.y"
7380 > /* Line 1810 of yacc.c  */
7381 > #line 3156 "conf_parser.y"
7382      {
7383    if (conf_parser_ctx.pass == 2)
7384      ConfigServerHide.hide_server_ips = yylval.number;
# Line 7589 | Line 7387 | yyreduce:
7387  
7388  
7389  
7390 < /* Line 1806 of yacc.c  */
7391 < #line 7594 "ircd_parser.c"
7390 > /* Line 1810 of yacc.c  */
7391 > #line 7392 "conf_parser.c"
7392        default: break;
7393      }
7394    /* User semantic actions sometimes alter yychar, and that requires
# Line 7777 | Line 7575 | yyabortlab:
7575    yyresult = 1;
7576    goto yyreturn;
7577  
7578 < #if !defined(yyoverflow) || YYERROR_VERBOSE
7578 > #if !defined yyoverflow || YYERROR_VERBOSE
7579   /*-------------------------------------------------.
7580   | yyexhaustedlab -- memory exhaustion comes here.  |
7581   `-------------------------------------------------*/

Diff Legend

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