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

Comparing:
ircd-hybrid/trunk/src/conf_parser.c (file contents), Revision 2228 by michael, Thu Jun 13 19:46:30 2013 UTC vs.
ircd-hybrid/branches/8.2.x/src/conf_parser.c (file contents), Revision 7110 by michael, Sat Jan 23 20:20:23 2016 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.7.12-4996.  */
1 > /* A Bison parser, made by GNU Bison 3.0.4.  */
2  
3   /* Bison implementation for Yacc-like parsers in C
4 <  
5 <      Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
6 <  
4 >
5 >   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
6 >
7     This program is free software: you can redistribute it and/or modify
8     it under the terms of the GNU General Public License as published by
9     the Free Software Foundation, either version 3 of the License, or
10     (at your option) any later version.
11 <  
11 >
12     This program is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15     GNU General Public License for more details.
16 <  
16 >
17     You should have received a copy of the GNU General Public License
18     along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19  
# Line 26 | Line 26
26     special exception, which will cause the skeleton and the resulting
27     Bison output files to be licensed under the GNU General Public
28     License without this special exception.
29 <  
29 >
30     This special exception was added by the Free Software Foundation in
31     version 2.2 of Bison.  */
32  
# Line 44 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.7.12-4996"
47 > #define YYBISON_VERSION "3.0.4"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 62 | Line 62
62  
63  
64   /* Copy the first part of user declarations.  */
65 < /* Line 371 of yacc.c  */
66 < #line 25 "conf_parser.y"
65 > #line 28 "conf_parser.y" /* yacc.c:339  */
66  
67  
69 #define YY_NO_UNPUT
68   #include <sys/types.h>
69   #include <string.h>
70  
# Line 76 | Line 74
74   #include "list.h"
75   #include "conf.h"
76   #include "conf_class.h"
77 + #include "conf_pseudo.h"
78   #include "event.h"
79 + #include "id.h"
80   #include "log.h"
81 < #include "client.h"     /* for UMODE_ALL only */
81 > #include "client.h"     /* for UMODE_SERVNOTICE only */
82   #include "irc_string.h"
83   #include "memory.h"
84   #include "modules.h"
85 < #include "s_serv.h"
85 > #include "server.h"
86   #include "hostmask.h"
87   #include "send.h"
88   #include "listener.h"
89   #include "resv.h"
90   #include "numeric.h"
91 < #include "s_user.h"
91 > #include "user.h"
92   #include "motd.h"
93  
94 #ifdef HAVE_LIBCRYPTO
95 #include <openssl/rsa.h>
96 #include <openssl/bio.h>
97 #include <openssl/pem.h>
98 #include <openssl/dh.h>
99 #endif
100
101 #include "rsa.h"
102
94   int yylex(void);
95  
96   static struct
97   {
98 <  struct {
98 >  struct
99 >  {
100      dlink_list list;
101    } mask,
102      leaf,
103      hub;
104  
105 <  struct {
105 >  struct
106 >  {
107      char buf[IRCD_BUFSIZE];
108    } name,
109 +    nick,
110      user,
111      host,
112      addr,
# Line 122 | Line 116 | static struct
116      cert,
117      rpass,
118      spass,
119 <    class;
119 >    whois,
120 >    class,
121 >    target,
122 >    prepend,
123 >    command;
124  
125 <  struct {
125 >  struct
126 >  {
127      unsigned int value;
128    } flags,
129      modes,
# Line 143 | Line 142 | static struct
142      max_ident,
143      max_sendq,
144      max_recvq,
145 +    max_channels,
146      cidr_bitlen_ipv4,
147      cidr_bitlen_ipv6,
148      number_per_cidr;
# Line 151 | Line 151 | static struct
151   static void
152   reset_block_state(void)
153   {
154 <  dlink_node *ptr = NULL, *ptr_next = NULL;
154 >  dlink_node *node = NULL, *node_next = NULL;
155  
156 <  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.mask.list.head)
156 >  DLINK_FOREACH_SAFE(node, node_next, block_state.mask.list.head)
157    {
158 <    MyFree(ptr->data);
159 <    dlinkDelete(ptr, &block_state.mask.list);
160 <    free_dlink_node(ptr);
158 >    xfree(node->data);
159 >    dlinkDelete(node, &block_state.mask.list);
160 >    free_dlink_node(node);
161    }
162  
163 <  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.leaf.list.head)
163 >  DLINK_FOREACH_SAFE(node, node_next, block_state.leaf.list.head)
164    {
165 <    MyFree(ptr->data);
166 <    dlinkDelete(ptr, &block_state.leaf.list);
167 <    free_dlink_node(ptr);
165 >    xfree(node->data);
166 >    dlinkDelete(node, &block_state.leaf.list);
167 >    free_dlink_node(node);
168    }
169  
170 <  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.hub.list.head)
170 >  DLINK_FOREACH_SAFE(node, node_next, block_state.hub.list.head)
171    {
172 <    MyFree(ptr->data);
173 <    dlinkDelete(ptr, &block_state.hub.list);
174 <    free_dlink_node(ptr);
172 >    xfree(node->data);
173 >    dlinkDelete(node, &block_state.hub.list);
174 >    free_dlink_node(node);
175    }
176  
177    memset(&block_state, 0, sizeof(block_state));
178   }
179  
180  
181 < /* Line 371 of yacc.c  */
182 < #line 183 "conf_parser.c"
181 > #line 182 "conf_parser.c" /* yacc.c:339  */
182  
183 < # ifndef YY_NULL
183 > # ifndef YY_NULLPTR
184   #  if defined __cplusplus && 201103L <= __cplusplus
185 < #   define YY_NULL nullptr
185 > #   define YY_NULLPTR nullptr
186   #  else
187 < #   define YY_NULL 0
187 > #   define YY_NULLPTR 0
188   #  endif
189   # endif
190  
# Line 201 | Line 200 | reset_block_state(void)
200     by #include "y.tab.h".  */
201   #ifndef YY_YY_CONF_PARSER_H_INCLUDED
202   # define YY_YY_CONF_PARSER_H_INCLUDED
203 < /* Enabling traces.  */
203 > /* Debug traces.  */
204   #ifndef YYDEBUG
205   # define YYDEBUG 0
206   #endif
# Line 209 | Line 208 | reset_block_state(void)
208   extern int yydebug;
209   #endif
210  
211 < /* Tokens.  */
211 > /* Token type.  */
212   #ifndef YYTOKENTYPE
213   # define YYTOKENTYPE
214 <   /* Put the tokens into the symbol table, so that GDB and other debuggers
215 <      know about them.  */
216 <   enum yytokentype {
217 <     ACCEPT_PASSWORD = 258,
218 <     ADMIN = 259,
219 <     AFTYPE = 260,
220 <     ANTI_NICK_FLOOD = 261,
221 <     ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
222 <     AUTOCONN = 263,
223 <     BYTES = 264,
224 <     KBYTES = 265,
225 <     MBYTES = 266,
226 <     CALLER_ID_WAIT = 267,
227 <     CAN_FLOOD = 268,
228 <     CHANNEL = 269,
229 <     CIDR_BITLEN_IPV4 = 270,
230 <     CIDR_BITLEN_IPV6 = 271,
231 <     CLASS = 272,
232 <     CONNECT = 273,
233 <     CONNECTFREQ = 274,
234 <     DEFAULT_FLOODCOUNT = 275,
235 <     DEFAULT_SPLIT_SERVER_COUNT = 276,
236 <     DEFAULT_SPLIT_USER_COUNT = 277,
237 <     DENY = 278,
238 <     DESCRIPTION = 279,
239 <     DIE = 280,
240 <     DISABLE_AUTH = 281,
241 <     DISABLE_FAKE_CHANNELS = 282,
242 <     DISABLE_REMOTE_COMMANDS = 283,
243 <     DOTS_IN_IDENT = 284,
244 <     EGDPOOL_PATH = 285,
245 <     EMAIL = 286,
246 <     ENCRYPTED = 287,
247 <     EXCEED_LIMIT = 288,
248 <     EXEMPT = 289,
249 <     FAILED_OPER_NOTICE = 290,
250 <     FLATTEN_LINKS = 291,
251 <     GECOS = 292,
252 <     GENERAL = 293,
253 <     GLINE = 294,
254 <     GLINE_DURATION = 295,
255 <     GLINE_ENABLE = 296,
256 <     GLINE_EXEMPT = 297,
257 <     GLINE_MIN_CIDR = 298,
258 <     GLINE_MIN_CIDR6 = 299,
259 <     GLINE_REQUEST_DURATION = 300,
260 <     GLOBAL_KILL = 301,
261 <     HAVENT_READ_CONF = 302,
262 <     HIDDEN = 303,
263 <     HIDDEN_NAME = 304,
264 <     HIDE_IDLE_FROM_OPERS = 305,
265 <     HIDE_SERVER_IPS = 306,
266 <     HIDE_SERVERS = 307,
267 <     HIDE_SERVICES = 308,
268 <     HIDE_SPOOF_IPS = 309,
269 <     HOST = 310,
270 <     HUB = 311,
271 <     HUB_MASK = 312,
272 <     IGNORE_BOGUS_TS = 313,
273 <     INVISIBLE_ON_CONNECT = 314,
274 <     IP = 315,
275 <     IRCD_AUTH = 316,
276 <     IRCD_FLAGS = 317,
277 <     IRCD_SID = 318,
278 <     JOIN_FLOOD_COUNT = 319,
279 <     JOIN_FLOOD_TIME = 320,
280 <     KILL = 321,
281 <     KILL_CHASE_TIME_LIMIT = 322,
282 <     KLINE = 323,
283 <     KLINE_EXEMPT = 324,
284 <     KNOCK_DELAY = 325,
285 <     KNOCK_DELAY_CHANNEL = 326,
286 <     LEAF_MASK = 327,
287 <     LINKS_DELAY = 328,
288 <     LISTEN = 329,
289 <     MASK = 330,
290 <     MAX_ACCEPT = 331,
291 <     MAX_BANS = 332,
292 <     MAX_CHANS_PER_OPER = 333,
293 <     MAX_CHANS_PER_USER = 334,
294 <     MAX_GLOBAL = 335,
295 <     MAX_IDENT = 336,
296 <     MAX_IDLE = 337,
297 <     MAX_LOCAL = 338,
298 <     MAX_NICK_CHANGES = 339,
299 <     MAX_NICK_LENGTH = 340,
300 <     MAX_NICK_TIME = 341,
301 <     MAX_NUMBER = 342,
302 <     MAX_TARGETS = 343,
303 <     MAX_TOPIC_LENGTH = 344,
304 <     MAX_WATCH = 345,
305 <     MIN_IDLE = 346,
306 <     MIN_NONWILDCARD = 347,
307 <     MIN_NONWILDCARD_SIMPLE = 348,
308 <     MODULE = 349,
309 <     MODULES = 350,
310 <     MOTD = 351,
311 <     NAME = 352,
312 <     NEED_IDENT = 353,
313 <     NEED_PASSWORD = 354,
314 <     NETWORK_DESC = 355,
315 <     NETWORK_NAME = 356,
316 <     NICK = 357,
317 <     NO_CREATE_ON_SPLIT = 358,
318 <     NO_JOIN_ON_SPLIT = 359,
319 <     NO_OPER_FLOOD = 360,
320 <     NO_TILDE = 361,
321 <     NUMBER = 362,
322 <     NUMBER_PER_CIDR = 363,
323 <     NUMBER_PER_IP = 364,
324 <     OPER_ONLY_UMODES = 365,
325 <     OPER_PASS_RESV = 366,
326 <     OPER_UMODES = 367,
327 <     OPERATOR = 368,
328 <     OPERS_BYPASS_CALLERID = 369,
329 <     PACE_WAIT = 370,
330 <     PACE_WAIT_SIMPLE = 371,
331 <     PASSWORD = 372,
332 <     PATH = 373,
333 <     PING_COOKIE = 374,
334 <     PING_TIME = 375,
335 <     PORT = 376,
336 <     QSTRING = 377,
337 <     RANDOM_IDLE = 378,
338 <     REASON = 379,
339 <     REDIRPORT = 380,
340 <     REDIRSERV = 381,
341 <     REHASH = 382,
342 <     REMOTE = 383,
343 <     REMOTEBAN = 384,
344 <     RESV = 385,
345 <     RESV_EXEMPT = 386,
346 <     RSA_PRIVATE_KEY_FILE = 387,
347 <     RSA_PUBLIC_KEY_FILE = 388,
348 <     SECONDS = 389,
349 <     MINUTES = 390,
350 <     HOURS = 391,
351 <     DAYS = 392,
352 <     WEEKS = 393,
353 <     MONTHS = 394,
354 <     YEARS = 395,
355 <     SEND_PASSWORD = 396,
356 <     SENDQ = 397,
357 <     SERVERHIDE = 398,
358 <     SERVERINFO = 399,
359 <     SHORT_MOTD = 400,
360 <     SPOOF = 401,
361 <     SPOOF_NOTICE = 402,
362 <     SQUIT = 403,
363 <     SSL_CERTIFICATE_FILE = 404,
364 <     SSL_DH_PARAM_FILE = 405,
365 <     STATS_E_DISABLED = 406,
366 <     STATS_I_OPER_ONLY = 407,
367 <     STATS_K_OPER_ONLY = 408,
368 <     STATS_O_OPER_ONLY = 409,
369 <     STATS_P_OPER_ONLY = 410,
370 <     T_ALL = 411,
371 <     T_BOTS = 412,
372 <     T_CALLERID = 413,
373 <     T_CCONN = 414,
374 <     T_CLUSTER = 415,
375 <     T_DEAF = 416,
376 <     T_DEBUG = 417,
377 <     T_DLINE = 418,
378 <     T_EXTERNAL = 419,
379 <     T_FARCONNECT = 420,
380 <     T_FILE = 421,
381 <     T_FINGERPRINT = 422,
382 <     T_FULL = 423,
383 <     T_GLOBOPS = 424,
384 <     T_INVISIBLE = 425,
385 <     T_IPV4 = 426,
386 <     T_IPV6 = 427,
387 <     T_LOCOPS = 428,
388 <     T_LOG = 429,
389 <     T_MAX_CLIENTS = 430,
390 <     T_NCHANGE = 431,
391 <     T_NONONREG = 432,
392 <     T_OPERWALL = 433,
393 <     T_RECVQ = 434,
394 <     T_REJ = 435,
395 <     T_RESTART = 436,
396 <     T_SERVER = 437,
397 <     T_SERVICE = 438,
398 <     T_SERVICES_NAME = 439,
399 <     T_SERVNOTICE = 440,
400 <     T_SET = 441,
401 <     T_SHARED = 442,
402 <     T_SIZE = 443,
403 <     T_SKILL = 444,
404 <     T_SOFTCALLERID = 445,
405 <     T_SPY = 446,
406 <     T_SSL = 447,
407 <     T_SSL_CIPHER_LIST = 448,
408 <     T_SSL_CLIENT_METHOD = 449,
409 <     T_SSL_SERVER_METHOD = 450,
410 <     T_SSLV3 = 451,
411 <     T_TLSV1 = 452,
412 <     T_UMODES = 453,
413 <     T_UNAUTH = 454,
414 <     T_UNDLINE = 455,
415 <     T_UNLIMITED = 456,
416 <     T_UNRESV = 457,
417 <     T_UNXLINE = 458,
418 <     T_WALLOP = 459,
419 <     T_WALLOPS = 460,
420 <     T_WEBIRC = 461,
421 <     TBOOL = 462,
422 <     THROTTLE_TIME = 463,
423 <     TKLINE_EXPIRE_NOTICES = 464,
424 <     TMASKED = 465,
425 <     TRUE_NO_OPER_FLOOD = 466,
426 <     TS_MAX_DELTA = 467,
427 <     TS_WARN_DELTA = 468,
428 <     TWODOTS = 469,
429 <     TYPE = 470,
430 <     UNKLINE = 471,
431 <     USE_EGD = 472,
432 <     USE_LOGGING = 473,
433 <     USER = 474,
434 <     VHOST = 475,
435 <     VHOST6 = 476,
436 <     WARN_NO_NLINE = 477,
437 <     XLINE = 478
438 <   };
214 >  enum yytokentype
215 >  {
216 >    ACCEPT_PASSWORD = 258,
217 >    ADMIN = 259,
218 >    AFTYPE = 260,
219 >    ANTI_NICK_FLOOD = 261,
220 >    ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
221 >    AUTOCONN = 263,
222 >    AWAY_COUNT = 264,
223 >    AWAY_TIME = 265,
224 >    BYTES = 266,
225 >    KBYTES = 267,
226 >    MBYTES = 268,
227 >    CALLER_ID_WAIT = 269,
228 >    CAN_FLOOD = 270,
229 >    CHANNEL = 271,
230 >    CIDR_BITLEN_IPV4 = 272,
231 >    CIDR_BITLEN_IPV6 = 273,
232 >    CLASS = 274,
233 >    CLOSE = 275,
234 >    CONNECT = 276,
235 >    CONNECTFREQ = 277,
236 >    CYCLE_ON_HOST_CHANGE = 278,
237 >    DEFAULT_FLOODCOUNT = 279,
238 >    DEFAULT_JOIN_FLOOD_COUNT = 280,
239 >    DEFAULT_JOIN_FLOOD_TIME = 281,
240 >    DEFAULT_MAX_CLIENTS = 282,
241 >    DENY = 283,
242 >    DESCRIPTION = 284,
243 >    DIE = 285,
244 >    DISABLE_AUTH = 286,
245 >    DISABLE_FAKE_CHANNELS = 287,
246 >    DISABLE_REMOTE_COMMANDS = 288,
247 >    DLINE_MIN_CIDR = 289,
248 >    DLINE_MIN_CIDR6 = 290,
249 >    DOTS_IN_IDENT = 291,
250 >    EMAIL = 292,
251 >    ENCRYPTED = 293,
252 >    EXCEED_LIMIT = 294,
253 >    EXEMPT = 295,
254 >    FAILED_OPER_NOTICE = 296,
255 >    FLATTEN_LINKS = 297,
256 >    FLATTEN_LINKS_DELAY = 298,
257 >    FLATTEN_LINKS_FILE = 299,
258 >    GECOS = 300,
259 >    GENERAL = 301,
260 >    HIDDEN = 302,
261 >    HIDDEN_NAME = 303,
262 >    HIDE_CHANS = 304,
263 >    HIDE_IDLE = 305,
264 >    HIDE_IDLE_FROM_OPERS = 306,
265 >    HIDE_SERVER_IPS = 307,
266 >    HIDE_SERVERS = 308,
267 >    HIDE_SERVICES = 309,
268 >    HOST = 310,
269 >    HUB = 311,
270 >    HUB_MASK = 312,
271 >    IGNORE_BOGUS_TS = 313,
272 >    INVISIBLE_ON_CONNECT = 314,
273 >    INVITE_CLIENT_COUNT = 315,
274 >    INVITE_CLIENT_TIME = 316,
275 >    INVITE_DELAY_CHANNEL = 317,
276 >    IP = 318,
277 >    IRCD_AUTH = 319,
278 >    IRCD_FLAGS = 320,
279 >    IRCD_SID = 321,
280 >    JOIN = 322,
281 >    KILL = 323,
282 >    KILL_CHASE_TIME_LIMIT = 324,
283 >    KLINE = 325,
284 >    KLINE_EXEMPT = 326,
285 >    KLINE_MIN_CIDR = 327,
286 >    KLINE_MIN_CIDR6 = 328,
287 >    KNOCK_CLIENT_COUNT = 329,
288 >    KNOCK_CLIENT_TIME = 330,
289 >    KNOCK_DELAY_CHANNEL = 331,
290 >    LEAF_MASK = 332,
291 >    LISTEN = 333,
292 >    MASK = 334,
293 >    MAX_ACCEPT = 335,
294 >    MAX_BANS = 336,
295 >    MAX_CHANNELS = 337,
296 >    MAX_GLOBAL = 338,
297 >    MAX_IDENT = 339,
298 >    MAX_IDLE = 340,
299 >    MAX_LOCAL = 341,
300 >    MAX_NICK_CHANGES = 342,
301 >    MAX_NICK_LENGTH = 343,
302 >    MAX_NICK_TIME = 344,
303 >    MAX_NUMBER = 345,
304 >    MAX_TARGETS = 346,
305 >    MAX_TOPIC_LENGTH = 347,
306 >    MAX_WATCH = 348,
307 >    MIN_IDLE = 349,
308 >    MIN_NONWILDCARD = 350,
309 >    MIN_NONWILDCARD_SIMPLE = 351,
310 >    MODULE = 352,
311 >    MODULES = 353,
312 >    MOTD = 354,
313 >    NAME = 355,
314 >    NEED_IDENT = 356,
315 >    NEED_PASSWORD = 357,
316 >    NETWORK_DESC = 358,
317 >    NETWORK_NAME = 359,
318 >    NICK = 360,
319 >    NO_OPER_FLOOD = 361,
320 >    NO_TILDE = 362,
321 >    NUMBER = 363,
322 >    NUMBER_PER_CIDR = 364,
323 >    NUMBER_PER_IP = 365,
324 >    OPER_ONLY_UMODES = 366,
325 >    OPER_UMODES = 367,
326 >    OPERATOR = 368,
327 >    OPERS_BYPASS_CALLERID = 369,
328 >    PACE_WAIT = 370,
329 >    PACE_WAIT_SIMPLE = 371,
330 >    PASSWORD = 372,
331 >    PATH = 373,
332 >    PING_COOKIE = 374,
333 >    PING_TIME = 375,
334 >    PORT = 376,
335 >    QSTRING = 377,
336 >    RANDOM_IDLE = 378,
337 >    REASON = 379,
338 >    REDIRPORT = 380,
339 >    REDIRSERV = 381,
340 >    REHASH = 382,
341 >    REMOTE = 383,
342 >    REMOTEBAN = 384,
343 >    RESV = 385,
344 >    RESV_EXEMPT = 386,
345 >    RSA_PRIVATE_KEY_FILE = 387,
346 >    SECONDS = 388,
347 >    MINUTES = 389,
348 >    HOURS = 390,
349 >    DAYS = 391,
350 >    WEEKS = 392,
351 >    MONTHS = 393,
352 >    YEARS = 394,
353 >    SEND_PASSWORD = 395,
354 >    SENDQ = 396,
355 >    SERVERHIDE = 397,
356 >    SERVERINFO = 398,
357 >    SHORT_MOTD = 399,
358 >    SPOOF = 400,
359 >    SPOOF_NOTICE = 401,
360 >    SQUIT = 402,
361 >    SSL_CERTIFICATE_FILE = 403,
362 >    SSL_CERTIFICATE_FINGERPRINT = 404,
363 >    SSL_CONNECTION_REQUIRED = 405,
364 >    SSL_DH_ELLIPTIC_CURVE = 406,
365 >    SSL_DH_PARAM_FILE = 407,
366 >    SSL_MESSAGE_DIGEST_ALGORITHM = 408,
367 >    STATS_E_DISABLED = 409,
368 >    STATS_I_OPER_ONLY = 410,
369 >    STATS_K_OPER_ONLY = 411,
370 >    STATS_M_OPER_ONLY = 412,
371 >    STATS_O_OPER_ONLY = 413,
372 >    STATS_P_OPER_ONLY = 414,
373 >    STATS_U_OPER_ONLY = 415,
374 >    T_ALL = 416,
375 >    T_BOTS = 417,
376 >    T_CALLERID = 418,
377 >    T_CCONN = 419,
378 >    T_COMMAND = 420,
379 >    T_CLUSTER = 421,
380 >    T_DEAF = 422,
381 >    T_DEBUG = 423,
382 >    T_DLINE = 424,
383 >    T_EXTERNAL = 425,
384 >    T_FARCONNECT = 426,
385 >    T_FILE = 427,
386 >    T_FULL = 428,
387 >    T_GLOBOPS = 429,
388 >    T_INVISIBLE = 430,
389 >    T_IPV4 = 431,
390 >    T_IPV6 = 432,
391 >    T_LOCOPS = 433,
392 >    T_LOG = 434,
393 >    T_NCHANGE = 435,
394 >    T_NONONREG = 436,
395 >    T_OPME = 437,
396 >    T_PREPEND = 438,
397 >    T_PSEUDO = 439,
398 >    T_RECVQ = 440,
399 >    T_REJ = 441,
400 >    T_RESTART = 442,
401 >    T_SERVER = 443,
402 >    T_SERVICE = 444,
403 >    T_SERVNOTICE = 445,
404 >    T_SET = 446,
405 >    T_SHARED = 447,
406 >    T_SIZE = 448,
407 >    T_SKILL = 449,
408 >    T_SOFTCALLERID = 450,
409 >    T_SPY = 451,
410 >    T_SSL = 452,
411 >    T_SSL_CIPHER_LIST = 453,
412 >    T_TARGET = 454,
413 >    T_UMODES = 455,
414 >    T_UNAUTH = 456,
415 >    T_UNDLINE = 457,
416 >    T_UNLIMITED = 458,
417 >    T_UNRESV = 459,
418 >    T_UNXLINE = 460,
419 >    T_WALLOP = 461,
420 >    T_WALLOPS = 462,
421 >    T_WEBIRC = 463,
422 >    TBOOL = 464,
423 >    THROTTLE_COUNT = 465,
424 >    THROTTLE_TIME = 466,
425 >    TKLINE_EXPIRE_NOTICES = 467,
426 >    TMASKED = 468,
427 >    TS_MAX_DELTA = 469,
428 >    TS_WARN_DELTA = 470,
429 >    TWODOTS = 471,
430 >    TYPE = 472,
431 >    UNKLINE = 473,
432 >    USE_LOGGING = 474,
433 >    USER = 475,
434 >    VHOST = 476,
435 >    VHOST6 = 477,
436 >    WARN_NO_CONNECT_BLOCK = 478,
437 >    WHOIS = 479,
438 >    XLINE = 480,
439 >    XLINE_EXEMPT = 481
440 >  };
441   #endif
442   /* Tokens.  */
443   #define ACCEPT_PASSWORD 258
# Line 445 | Line 446 | extern int yydebug;
446   #define ANTI_NICK_FLOOD 261
447   #define ANTI_SPAM_EXIT_MESSAGE_TIME 262
448   #define AUTOCONN 263
449 < #define BYTES 264
450 < #define KBYTES 265
451 < #define MBYTES 266
452 < #define CALLER_ID_WAIT 267
453 < #define CAN_FLOOD 268
454 < #define CHANNEL 269
455 < #define CIDR_BITLEN_IPV4 270
456 < #define CIDR_BITLEN_IPV6 271
457 < #define CLASS 272
458 < #define CONNECT 273
459 < #define CONNECTFREQ 274
460 < #define DEFAULT_FLOODCOUNT 275
461 < #define DEFAULT_SPLIT_SERVER_COUNT 276
462 < #define DEFAULT_SPLIT_USER_COUNT 277
463 < #define DENY 278
464 < #define DESCRIPTION 279
465 < #define DIE 280
466 < #define DISABLE_AUTH 281
467 < #define DISABLE_FAKE_CHANNELS 282
468 < #define DISABLE_REMOTE_COMMANDS 283
469 < #define DOTS_IN_IDENT 284
470 < #define EGDPOOL_PATH 285
471 < #define EMAIL 286
472 < #define ENCRYPTED 287
473 < #define EXCEED_LIMIT 288
474 < #define EXEMPT 289
475 < #define FAILED_OPER_NOTICE 290
476 < #define FLATTEN_LINKS 291
477 < #define GECOS 292
478 < #define GENERAL 293
479 < #define GLINE 294
480 < #define GLINE_DURATION 295
481 < #define GLINE_ENABLE 296
482 < #define GLINE_EXEMPT 297
483 < #define GLINE_MIN_CIDR 298
484 < #define GLINE_MIN_CIDR6 299
485 < #define GLINE_REQUEST_DURATION 300
486 < #define GLOBAL_KILL 301
487 < #define HAVENT_READ_CONF 302
488 < #define HIDDEN 303
489 < #define HIDDEN_NAME 304
490 < #define HIDE_IDLE_FROM_OPERS 305
491 < #define HIDE_SERVER_IPS 306
492 < #define HIDE_SERVERS 307
493 < #define HIDE_SERVICES 308
494 < #define HIDE_SPOOF_IPS 309
449 > #define AWAY_COUNT 264
450 > #define AWAY_TIME 265
451 > #define BYTES 266
452 > #define KBYTES 267
453 > #define MBYTES 268
454 > #define CALLER_ID_WAIT 269
455 > #define CAN_FLOOD 270
456 > #define CHANNEL 271
457 > #define CIDR_BITLEN_IPV4 272
458 > #define CIDR_BITLEN_IPV6 273
459 > #define CLASS 274
460 > #define CLOSE 275
461 > #define CONNECT 276
462 > #define CONNECTFREQ 277
463 > #define CYCLE_ON_HOST_CHANGE 278
464 > #define DEFAULT_FLOODCOUNT 279
465 > #define DEFAULT_JOIN_FLOOD_COUNT 280
466 > #define DEFAULT_JOIN_FLOOD_TIME 281
467 > #define DEFAULT_MAX_CLIENTS 282
468 > #define DENY 283
469 > #define DESCRIPTION 284
470 > #define DIE 285
471 > #define DISABLE_AUTH 286
472 > #define DISABLE_FAKE_CHANNELS 287
473 > #define DISABLE_REMOTE_COMMANDS 288
474 > #define DLINE_MIN_CIDR 289
475 > #define DLINE_MIN_CIDR6 290
476 > #define DOTS_IN_IDENT 291
477 > #define EMAIL 292
478 > #define ENCRYPTED 293
479 > #define EXCEED_LIMIT 294
480 > #define EXEMPT 295
481 > #define FAILED_OPER_NOTICE 296
482 > #define FLATTEN_LINKS 297
483 > #define FLATTEN_LINKS_DELAY 298
484 > #define FLATTEN_LINKS_FILE 299
485 > #define GECOS 300
486 > #define GENERAL 301
487 > #define HIDDEN 302
488 > #define HIDDEN_NAME 303
489 > #define HIDE_CHANS 304
490 > #define HIDE_IDLE 305
491 > #define HIDE_IDLE_FROM_OPERS 306
492 > #define HIDE_SERVER_IPS 307
493 > #define HIDE_SERVERS 308
494 > #define HIDE_SERVICES 309
495   #define HOST 310
496   #define HUB 311
497   #define HUB_MASK 312
498   #define IGNORE_BOGUS_TS 313
499   #define INVISIBLE_ON_CONNECT 314
500 < #define IP 315
501 < #define IRCD_AUTH 316
502 < #define IRCD_FLAGS 317
503 < #define IRCD_SID 318
504 < #define JOIN_FLOOD_COUNT 319
505 < #define JOIN_FLOOD_TIME 320
506 < #define KILL 321
507 < #define KILL_CHASE_TIME_LIMIT 322
508 < #define KLINE 323
509 < #define KLINE_EXEMPT 324
510 < #define KNOCK_DELAY 325
511 < #define KNOCK_DELAY_CHANNEL 326
512 < #define LEAF_MASK 327
513 < #define LINKS_DELAY 328
514 < #define LISTEN 329
515 < #define MASK 330
516 < #define MAX_ACCEPT 331
517 < #define MAX_BANS 332
518 < #define MAX_CHANS_PER_OPER 333
519 < #define MAX_CHANS_PER_USER 334
520 < #define MAX_GLOBAL 335
521 < #define MAX_IDENT 336
522 < #define MAX_IDLE 337
523 < #define MAX_LOCAL 338
524 < #define MAX_NICK_CHANGES 339
525 < #define MAX_NICK_LENGTH 340
526 < #define MAX_NICK_TIME 341
527 < #define MAX_NUMBER 342
528 < #define MAX_TARGETS 343
529 < #define MAX_TOPIC_LENGTH 344
530 < #define MAX_WATCH 345
531 < #define MIN_IDLE 346
532 < #define MIN_NONWILDCARD 347
533 < #define MIN_NONWILDCARD_SIMPLE 348
534 < #define MODULE 349
535 < #define MODULES 350
536 < #define MOTD 351
537 < #define NAME 352
538 < #define NEED_IDENT 353
539 < #define NEED_PASSWORD 354
540 < #define NETWORK_DESC 355
541 < #define NETWORK_NAME 356
542 < #define NICK 357
543 < #define NO_CREATE_ON_SPLIT 358
544 < #define NO_JOIN_ON_SPLIT 359
545 < #define NO_OPER_FLOOD 360
546 < #define NO_TILDE 361
547 < #define NUMBER 362
548 < #define NUMBER_PER_CIDR 363
549 < #define NUMBER_PER_IP 364
550 < #define OPER_ONLY_UMODES 365
551 < #define OPER_PASS_RESV 366
500 > #define INVITE_CLIENT_COUNT 315
501 > #define INVITE_CLIENT_TIME 316
502 > #define INVITE_DELAY_CHANNEL 317
503 > #define IP 318
504 > #define IRCD_AUTH 319
505 > #define IRCD_FLAGS 320
506 > #define IRCD_SID 321
507 > #define JOIN 322
508 > #define KILL 323
509 > #define KILL_CHASE_TIME_LIMIT 324
510 > #define KLINE 325
511 > #define KLINE_EXEMPT 326
512 > #define KLINE_MIN_CIDR 327
513 > #define KLINE_MIN_CIDR6 328
514 > #define KNOCK_CLIENT_COUNT 329
515 > #define KNOCK_CLIENT_TIME 330
516 > #define KNOCK_DELAY_CHANNEL 331
517 > #define LEAF_MASK 332
518 > #define LISTEN 333
519 > #define MASK 334
520 > #define MAX_ACCEPT 335
521 > #define MAX_BANS 336
522 > #define MAX_CHANNELS 337
523 > #define MAX_GLOBAL 338
524 > #define MAX_IDENT 339
525 > #define MAX_IDLE 340
526 > #define MAX_LOCAL 341
527 > #define MAX_NICK_CHANGES 342
528 > #define MAX_NICK_LENGTH 343
529 > #define MAX_NICK_TIME 344
530 > #define MAX_NUMBER 345
531 > #define MAX_TARGETS 346
532 > #define MAX_TOPIC_LENGTH 347
533 > #define MAX_WATCH 348
534 > #define MIN_IDLE 349
535 > #define MIN_NONWILDCARD 350
536 > #define MIN_NONWILDCARD_SIMPLE 351
537 > #define MODULE 352
538 > #define MODULES 353
539 > #define MOTD 354
540 > #define NAME 355
541 > #define NEED_IDENT 356
542 > #define NEED_PASSWORD 357
543 > #define NETWORK_DESC 358
544 > #define NETWORK_NAME 359
545 > #define NICK 360
546 > #define NO_OPER_FLOOD 361
547 > #define NO_TILDE 362
548 > #define NUMBER 363
549 > #define NUMBER_PER_CIDR 364
550 > #define NUMBER_PER_IP 365
551 > #define OPER_ONLY_UMODES 366
552   #define OPER_UMODES 367
553   #define OPERATOR 368
554   #define OPERS_BYPASS_CALLERID 369
# Line 569 | Line 570 | extern int yydebug;
570   #define RESV 385
571   #define RESV_EXEMPT 386
572   #define RSA_PRIVATE_KEY_FILE 387
573 < #define RSA_PUBLIC_KEY_FILE 388
574 < #define SECONDS 389
575 < #define MINUTES 390
576 < #define HOURS 391
577 < #define DAYS 392
578 < #define WEEKS 393
579 < #define MONTHS 394
580 < #define YEARS 395
581 < #define SEND_PASSWORD 396
582 < #define SENDQ 397
583 < #define SERVERHIDE 398
584 < #define SERVERINFO 399
585 < #define SHORT_MOTD 400
586 < #define SPOOF 401
587 < #define SPOOF_NOTICE 402
588 < #define SQUIT 403
589 < #define SSL_CERTIFICATE_FILE 404
590 < #define SSL_DH_PARAM_FILE 405
591 < #define STATS_E_DISABLED 406
592 < #define STATS_I_OPER_ONLY 407
593 < #define STATS_K_OPER_ONLY 408
594 < #define STATS_O_OPER_ONLY 409
595 < #define STATS_P_OPER_ONLY 410
596 < #define T_ALL 411
597 < #define T_BOTS 412
598 < #define T_CALLERID 413
599 < #define T_CCONN 414
600 < #define T_CLUSTER 415
601 < #define T_DEAF 416
602 < #define T_DEBUG 417
603 < #define T_DLINE 418
604 < #define T_EXTERNAL 419
605 < #define T_FARCONNECT 420
606 < #define T_FILE 421
607 < #define T_FINGERPRINT 422
608 < #define T_FULL 423
609 < #define T_GLOBOPS 424
610 < #define T_INVISIBLE 425
611 < #define T_IPV4 426
612 < #define T_IPV6 427
613 < #define T_LOCOPS 428
614 < #define T_LOG 429
615 < #define T_MAX_CLIENTS 430
616 < #define T_NCHANGE 431
617 < #define T_NONONREG 432
618 < #define T_OPERWALL 433
619 < #define T_RECVQ 434
620 < #define T_REJ 435
621 < #define T_RESTART 436
622 < #define T_SERVER 437
623 < #define T_SERVICE 438
624 < #define T_SERVICES_NAME 439
625 < #define T_SERVNOTICE 440
626 < #define T_SET 441
627 < #define T_SHARED 442
628 < #define T_SIZE 443
629 < #define T_SKILL 444
630 < #define T_SOFTCALLERID 445
631 < #define T_SPY 446
632 < #define T_SSL 447
633 < #define T_SSL_CIPHER_LIST 448
634 < #define T_SSL_CLIENT_METHOD 449
635 < #define T_SSL_SERVER_METHOD 450
636 < #define T_SSLV3 451
637 < #define T_TLSV1 452
638 < #define T_UMODES 453
639 < #define T_UNAUTH 454
640 < #define T_UNDLINE 455
641 < #define T_UNLIMITED 456
642 < #define T_UNRESV 457
643 < #define T_UNXLINE 458
644 < #define T_WALLOP 459
645 < #define T_WALLOPS 460
646 < #define T_WEBIRC 461
647 < #define TBOOL 462
648 < #define THROTTLE_TIME 463
649 < #define TKLINE_EXPIRE_NOTICES 464
650 < #define TMASKED 465
651 < #define TRUE_NO_OPER_FLOOD 466
652 < #define TS_MAX_DELTA 467
653 < #define TS_WARN_DELTA 468
654 < #define TWODOTS 469
655 < #define TYPE 470
656 < #define UNKLINE 471
657 < #define USE_EGD 472
658 < #define USE_LOGGING 473
659 < #define USER 474
660 < #define VHOST 475
661 < #define VHOST6 476
662 < #define WARN_NO_NLINE 477
663 < #define XLINE 478
664 <
665 <
573 > #define SECONDS 388
574 > #define MINUTES 389
575 > #define HOURS 390
576 > #define DAYS 391
577 > #define WEEKS 392
578 > #define MONTHS 393
579 > #define YEARS 394
580 > #define SEND_PASSWORD 395
581 > #define SENDQ 396
582 > #define SERVERHIDE 397
583 > #define SERVERINFO 398
584 > #define SHORT_MOTD 399
585 > #define SPOOF 400
586 > #define SPOOF_NOTICE 401
587 > #define SQUIT 402
588 > #define SSL_CERTIFICATE_FILE 403
589 > #define SSL_CERTIFICATE_FINGERPRINT 404
590 > #define SSL_CONNECTION_REQUIRED 405
591 > #define SSL_DH_ELLIPTIC_CURVE 406
592 > #define SSL_DH_PARAM_FILE 407
593 > #define SSL_MESSAGE_DIGEST_ALGORITHM 408
594 > #define STATS_E_DISABLED 409
595 > #define STATS_I_OPER_ONLY 410
596 > #define STATS_K_OPER_ONLY 411
597 > #define STATS_M_OPER_ONLY 412
598 > #define STATS_O_OPER_ONLY 413
599 > #define STATS_P_OPER_ONLY 414
600 > #define STATS_U_OPER_ONLY 415
601 > #define T_ALL 416
602 > #define T_BOTS 417
603 > #define T_CALLERID 418
604 > #define T_CCONN 419
605 > #define T_COMMAND 420
606 > #define T_CLUSTER 421
607 > #define T_DEAF 422
608 > #define T_DEBUG 423
609 > #define T_DLINE 424
610 > #define T_EXTERNAL 425
611 > #define T_FARCONNECT 426
612 > #define T_FILE 427
613 > #define T_FULL 428
614 > #define T_GLOBOPS 429
615 > #define T_INVISIBLE 430
616 > #define T_IPV4 431
617 > #define T_IPV6 432
618 > #define T_LOCOPS 433
619 > #define T_LOG 434
620 > #define T_NCHANGE 435
621 > #define T_NONONREG 436
622 > #define T_OPME 437
623 > #define T_PREPEND 438
624 > #define T_PSEUDO 439
625 > #define T_RECVQ 440
626 > #define T_REJ 441
627 > #define T_RESTART 442
628 > #define T_SERVER 443
629 > #define T_SERVICE 444
630 > #define T_SERVNOTICE 445
631 > #define T_SET 446
632 > #define T_SHARED 447
633 > #define T_SIZE 448
634 > #define T_SKILL 449
635 > #define T_SOFTCALLERID 450
636 > #define T_SPY 451
637 > #define T_SSL 452
638 > #define T_SSL_CIPHER_LIST 453
639 > #define T_TARGET 454
640 > #define T_UMODES 455
641 > #define T_UNAUTH 456
642 > #define T_UNDLINE 457
643 > #define T_UNLIMITED 458
644 > #define T_UNRESV 459
645 > #define T_UNXLINE 460
646 > #define T_WALLOP 461
647 > #define T_WALLOPS 462
648 > #define T_WEBIRC 463
649 > #define TBOOL 464
650 > #define THROTTLE_COUNT 465
651 > #define THROTTLE_TIME 466
652 > #define TKLINE_EXPIRE_NOTICES 467
653 > #define TMASKED 468
654 > #define TS_MAX_DELTA 469
655 > #define TS_WARN_DELTA 470
656 > #define TWODOTS 471
657 > #define TYPE 472
658 > #define UNKLINE 473
659 > #define USE_LOGGING 474
660 > #define USER 475
661 > #define VHOST 476
662 > #define VHOST6 477
663 > #define WARN_NO_CONNECT_BLOCK 478
664 > #define WHOIS 479
665 > #define XLINE 480
666 > #define XLINE_EXEMPT 481
667  
668 + /* Value type.  */
669   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
670 < typedef union YYSTYPE
670 >
671 > union YYSTYPE
672   {
673 < /* Line 387 of yacc.c  */
670 < #line 140 "conf_parser.y"
673 > #line 144 "conf_parser.y" /* yacc.c:355  */
674  
675    int number;
676    char *string;
677  
678 + #line 679 "conf_parser.c" /* yacc.c:355  */
679 + };
680  
681 < /* Line 387 of yacc.c  */
677 < #line 678 "conf_parser.c"
678 < } YYSTYPE;
681 > typedef union YYSTYPE YYSTYPE;
682   # define YYSTYPE_IS_TRIVIAL 1
680 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
683   # define YYSTYPE_IS_DECLARED 1
684   #endif
685  
686 +
687   extern YYSTYPE yylval;
688  
686 #ifdef YYPARSE_PARAM
687 #if defined __STDC__ || defined __cplusplus
688 int yyparse (void *YYPARSE_PARAM);
689 #else
690 int yyparse ();
691 #endif
692 #else /* ! YYPARSE_PARAM */
693 #if defined __STDC__ || defined __cplusplus
689   int yyparse (void);
695 #else
696 int yyparse ();
697 #endif
698 #endif /* ! YYPARSE_PARAM */
690  
691   #endif /* !YY_YY_CONF_PARSER_H_INCLUDED  */
692  
693   /* Copy the second part of user declarations.  */
694  
695 < /* Line 390 of yacc.c  */
705 < #line 706 "conf_parser.c"
695 > #line 696 "conf_parser.c" /* yacc.c:358  */
696  
697   #ifdef short
698   # undef short
# Line 716 | Line 706 | typedef unsigned char yytype_uint8;
706  
707   #ifdef YYTYPE_INT8
708   typedef YYTYPE_INT8 yytype_int8;
719 #elif (defined __STDC__ || defined __C99__FUNC__ \
720     || defined __cplusplus || defined _MSC_VER)
721 typedef signed char yytype_int8;
709   #else
710 < typedef short int yytype_int8;
710 > typedef signed char yytype_int8;
711   #endif
712  
713   #ifdef YYTYPE_UINT16
# Line 740 | Line 727 | typedef short int yytype_int16;
727   #  define YYSIZE_T __SIZE_TYPE__
728   # elif defined size_t
729   #  define YYSIZE_T size_t
730 < # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
744 <     || defined __cplusplus || defined _MSC_VER)
730 > # elif ! defined YYSIZE_T
731   #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
732   #  define YYSIZE_T size_t
733   # else
# Line 763 | Line 749 | typedef short int yytype_int16;
749   # endif
750   #endif
751  
752 < #ifndef __attribute__
753 < /* This feature is available in gcc versions 2.5 and later.  */
754 < # if (! defined __GNUC__ || __GNUC__ < 2 \
755 <      || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
756 < #  define __attribute__(Spec) /* empty */
752 > #ifndef YY_ATTRIBUTE
753 > # if (defined __GNUC__                                               \
754 >      && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
755 >     || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
756 > #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
757 > # else
758 > #  define YY_ATTRIBUTE(Spec) /* empty */
759 > # endif
760 > #endif
761 >
762 > #ifndef YY_ATTRIBUTE_PURE
763 > # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
764 > #endif
765 >
766 > #ifndef YY_ATTRIBUTE_UNUSED
767 > # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
768 > #endif
769 >
770 > #if !defined _Noreturn \
771 >     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
772 > # if defined _MSC_VER && 1200 <= _MSC_VER
773 > #  define _Noreturn __declspec (noreturn)
774 > # else
775 > #  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
776   # endif
777   #endif
778  
# Line 778 | Line 783 | typedef short int yytype_int16;
783   # define YYUSE(E) /* empty */
784   #endif
785  
786 <
787 < /* Identity function, used to suppress warnings about constant conditions.  */
788 < #ifndef lint
789 < # define YYID(N) (N)
790 < #else
791 < #if (defined __STDC__ || defined __C99__FUNC__ \
792 <     || defined __cplusplus || defined _MSC_VER)
793 < static int
789 < YYID (int yyi)
786 > #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
787 > /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
788 > # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
789 >    _Pragma ("GCC diagnostic push") \
790 >    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
791 >    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
792 > # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
793 >    _Pragma ("GCC diagnostic pop")
794   #else
795 < static int
792 < YYID (yyi)
793 <    int yyi;
795 > # define YY_INITIAL_VALUE(Value) Value
796   #endif
797 < {
798 <  return yyi;
799 < }
797 > #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
798 > # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
799 > # define YY_IGNORE_MAYBE_UNINITIALIZED_END
800   #endif
801 + #ifndef YY_INITIAL_VALUE
802 + # define YY_INITIAL_VALUE(Value) /* Nothing. */
803 + #endif
804 +
805  
806   #if ! defined yyoverflow || YYERROR_VERBOSE
807  
# Line 814 | Line 820 | YYID (yyi)
820   #    define alloca _alloca
821   #   else
822   #    define YYSTACK_ALLOC alloca
823 < #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
818 <     || defined __cplusplus || defined _MSC_VER)
823 > #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
824   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
825        /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
826   #     ifndef EXIT_SUCCESS
# Line 827 | Line 832 | YYID (yyi)
832   # endif
833  
834   # ifdef YYSTACK_ALLOC
835 <   /* Pacify GCC's `empty if-body' warning.  */
836 < #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
835 >   /* Pacify GCC's 'empty if-body' warning.  */
836 > #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
837   #  ifndef YYSTACK_ALLOC_MAXIMUM
838      /* The OS might guarantee only one guard page at the bottom of the stack,
839         and a page size can be as small as 4096 bytes.  So we cannot safely
# Line 844 | Line 849 | YYID (yyi)
849   #  endif
850   #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
851         && ! ((defined YYMALLOC || defined malloc) \
852 <             && (defined YYFREE || defined free)))
852 >             && (defined YYFREE || defined free)))
853   #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
854   #   ifndef EXIT_SUCCESS
855   #    define EXIT_SUCCESS 0
# Line 852 | Line 857 | YYID (yyi)
857   #  endif
858   #  ifndef YYMALLOC
859   #   define YYMALLOC malloc
860 < #   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
856 <     || defined __cplusplus || defined _MSC_VER)
860 > #   if ! defined malloc && ! defined EXIT_SUCCESS
861   void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
862   #   endif
863   #  endif
864   #  ifndef YYFREE
865   #   define YYFREE free
866 < #   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
863 <     || defined __cplusplus || defined _MSC_VER)
866 > #   if ! defined free && ! defined EXIT_SUCCESS
867   void free (void *); /* INFRINGES ON USER NAME SPACE */
868   #   endif
869   #  endif
# Line 870 | Line 873 | void free (void *); /* INFRINGES ON USER
873  
874   #if (! defined yyoverflow \
875       && (! defined __cplusplus \
876 <         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
876 >         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
877  
878   /* A type that is properly aligned for any stack member.  */
879   union yyalloc
# Line 895 | Line 898 | union yyalloc
898     elements in the stack, and YYPTR gives the new location of the
899     stack.  Advance YYPTR to a properly aligned location for the next
900     stack.  */
901 < # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
902 <    do                                                                  \
903 <      {                                                                 \
904 <        YYSIZE_T yynewbytes;                                            \
905 <        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
906 <        Stack = &yyptr->Stack_alloc;                                    \
907 <        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
908 <        yyptr += yynewbytes / sizeof (*yyptr);                          \
909 <      }                                                                 \
910 <    while (YYID (0))
901 > # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
902 >    do                                                                  \
903 >      {                                                                 \
904 >        YYSIZE_T yynewbytes;                                            \
905 >        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
906 >        Stack = &yyptr->Stack_alloc;                                    \
907 >        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
908 >        yyptr += yynewbytes / sizeof (*yyptr);                          \
909 >      }                                                                 \
910 >    while (0)
911  
912   #endif
913  
# Line 923 | Line 926 | union yyalloc
926            for (yyi = 0; yyi < (Count); yyi++)   \
927              (Dst)[yyi] = (Src)[yyi];            \
928          }                                       \
929 <      while (YYID (0))
929 >      while (0)
930   #  endif
931   # endif
932   #endif /* !YYCOPY_NEEDED */
# Line 931 | Line 934 | union yyalloc
934   /* YYFINAL -- State number of the termination state.  */
935   #define YYFINAL  2
936   /* YYLAST -- Last index in YYTABLE.  */
937 < #define YYLAST   1221
937 > #define YYLAST   1322
938  
939   /* YYNTOKENS -- Number of terminals.  */
940 < #define YYNTOKENS  230
940 > #define YYNTOKENS  233
941   /* YYNNTS -- Number of nonterminals.  */
942 < #define YYNNTS  288
942 > #define YYNNTS  292
943   /* YYNRULES -- Number of rules.  */
944 < #define YYNRULES  648
945 < /* YYNRULES -- Number of states.  */
946 < #define YYNSTATES  1270
944 > #define YYNRULES  662
945 > /* YYNSTATES -- Number of states.  */
946 > #define YYNSTATES  1304
947  
948 < /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
948 > /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
949 >   by yylex, with out-of-bounds checking.  */
950   #define YYUNDEFTOK  2
951 < #define YYMAXUTOK   478
951 > #define YYMAXUTOK   481
952  
953 < #define YYTRANSLATE(YYX)                                                \
953 > #define YYTRANSLATE(YYX)                                                \
954    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
955  
956 < /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
956 > /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
957 >   as returned by yylex, without out-of-bounds checking.  */
958   static const yytype_uint8 yytranslate[] =
959   {
960         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
961         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
962         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
963         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
964 <       2,     2,     2,     2,   228,     2,     2,     2,     2,     2,
965 <       2,     2,     2,     2,     2,     2,     2,     2,   229,   224,
966 <       2,   227,     2,     2,     2,     2,     2,     2,     2,     2,
964 >       2,     2,     2,     2,   231,     2,     2,     2,     2,     2,
965 >       2,     2,     2,     2,     2,     2,     2,     2,   232,   227,
966 >       2,   230,     2,     2,     2,     2,     2,     2,     2,     2,
967         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
968         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
969         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
970         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
971         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
972 <       2,     2,     2,   226,     2,   225,     2,     2,     2,     2,
972 >       2,     2,     2,   229,     2,   228,     2,     2,     2,     2,
973         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
974         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
975         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 999 | Line 1004 | static const yytype_uint8 yytranslate[]
1004       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1005       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1006       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1007 <     215,   216,   217,   218,   219,   220,   221,   222,   223
1007 >     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1008 >     225,   226
1009   };
1010  
1011   #if YYDEBUG
1012 < /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
1007 <   YYRHS.  */
1008 < static const yytype_uint16 yyprhs[] =
1009 < {
1010 <       0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
1011 <      19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
1012 <      39,    41,    43,    45,    47,    49,    52,    55,    56,    58,
1013 <      61,    65,    69,    73,    77,    81,    85,    89,    90,    92,
1014 <      95,    99,   103,   107,   113,   116,   118,   120,   122,   125,
1015 <     130,   135,   141,   144,   146,   148,   150,   152,   154,   156,
1016 <     158,   160,   162,   164,   166,   168,   170,   172,   174,   176,
1017 <     178,   180,   183,   188,   193,   197,   199,   201,   203,   207,
1018 <     209,   211,   213,   218,   223,   228,   233,   238,   243,   248,
1019 <     253,   258,   263,   268,   273,   278,   283,   288,   294,   297,
1020 <     299,   301,   303,   305,   308,   313,   318,   323,   324,   331,
1021 <     334,   336,   338,   340,   343,   348,   353,   359,   362,   364,
1022 <     366,   368,   371,   376,   377,   384,   387,   389,   391,   393,
1023 <     395,   398,   403,   408,   413,   414,   420,   424,   426,   428,
1024 <     430,   432,   434,   436,   438,   440,   441,   448,   451,   453,
1025 <     455,   457,   459,   461,   463,   465,   467,   469,   471,   474,
1026 <     479,   484,   489,   494,   499,   504,   509,   510,   516,   520,
1027 <     522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
1028 <     542,   544,   546,   548,   550,   552,   554,   556,   558,   560,
1029 <     562,   564,   565,   571,   575,   577,   581,   583,   587,   589,
1030 <     593,   595,   597,   599,   601,   603,   605,   607,   609,   611,
1031 <     613,   615,   617,   619,   621,   623,   625,   627,   629,   630,
1032 <     637,   640,   642,   644,   646,   648,   650,   652,   654,   656,
1033 <     658,   660,   662,   664,   666,   668,   670,   672,   674,   677,
1034 <     682,   687,   692,   697,   702,   707,   712,   717,   722,   727,
1035 <     732,   737,   742,   747,   752,   753,   759,   763,   765,   767,
1036 <     769,   770,   777,   778,   784,   788,   790,   792,   794,   796,
1037 <     799,   801,   803,   805,   807,   809,   812,   813,   819,   823,
1038 <     825,   827,   831,   836,   841,   842,   849,   852,   854,   856,
1039 <     858,   860,   862,   864,   866,   868,   870,   873,   878,   883,
1040 <     888,   893,   894,   900,   904,   906,   908,   910,   912,   914,
1041 <     916,   918,   920,   922,   924,   926,   931,   936,   941,   942,
1042 <     949,   952,   954,   956,   958,   960,   963,   968,   973,   978,
1043 <     984,   987,   989,   991,   993,   998,   999,  1006,  1009,  1011,
1044 <    1013,  1015,  1017,  1020,  1025,  1030,  1031,  1037,  1041,  1043,
1045 <    1045,  1047,  1049,  1051,  1053,  1055,  1057,  1059,  1061,  1063,
1046 <    1064,  1071,  1074,  1076,  1078,  1080,  1083,  1088,  1089,  1095,
1047 <    1099,  1101,  1103,  1105,  1107,  1109,  1111,  1113,  1115,  1117,
1048 <    1119,  1121,  1122,  1129,  1132,  1134,  1136,  1138,  1140,  1142,
1049 <    1144,  1146,  1148,  1150,  1152,  1154,  1156,  1158,  1160,  1162,
1050 <    1165,  1170,  1175,  1180,  1185,  1190,  1195,  1200,  1205,  1210,
1051 <    1211,  1217,  1221,  1223,  1225,  1227,  1232,  1237,  1242,  1247,
1052 <    1252,  1253,  1260,  1263,  1265,  1267,  1269,  1271,  1276,  1281,
1053 <    1282,  1289,  1292,  1294,  1296,  1298,  1300,  1305,  1310,  1316,
1054 <    1319,  1321,  1323,  1325,  1330,  1331,  1338,  1341,  1343,  1345,
1055 <    1347,  1349,  1354,  1359,  1365,  1368,  1370,  1372,  1374,  1376,
1056 <    1378,  1380,  1382,  1384,  1386,  1388,  1390,  1392,  1394,  1396,
1057 <    1398,  1400,  1402,  1404,  1406,  1408,  1410,  1412,  1414,  1416,
1058 <    1418,  1420,  1422,  1424,  1426,  1428,  1430,  1432,  1434,  1436,
1059 <    1438,  1440,  1442,  1444,  1446,  1448,  1450,  1452,  1454,  1456,
1060 <    1458,  1460,  1462,  1464,  1466,  1471,  1476,  1481,  1486,  1491,
1061 <    1496,  1501,  1506,  1511,  1516,  1521,  1526,  1531,  1536,  1541,
1062 <    1546,  1551,  1556,  1561,  1566,  1571,  1576,  1581,  1586,  1591,
1063 <    1596,  1601,  1606,  1611,  1616,  1621,  1626,  1631,  1636,  1641,
1064 <    1646,  1651,  1656,  1661,  1666,  1671,  1676,  1681,  1686,  1687,
1065 <    1693,  1697,  1699,  1701,  1703,  1705,  1707,  1709,  1711,  1713,
1066 <    1715,  1717,  1719,  1721,  1723,  1725,  1727,  1729,  1731,  1733,
1067 <    1735,  1737,  1739,  1741,  1742,  1748,  1752,  1754,  1756,  1758,
1068 <    1760,  1762,  1764,  1766,  1768,  1770,  1772,  1774,  1776,  1778,
1069 <    1780,  1782,  1784,  1786,  1788,  1790,  1792,  1794,  1796,  1801,
1070 <    1806,  1811,  1817,  1820,  1822,  1824,  1826,  1828,  1830,  1832,
1071 <    1834,  1836,  1838,  1840,  1842,  1844,  1846,  1848,  1853,  1858,
1072 <    1863,  1868,  1873,  1878,  1883,  1888,  1893,  1898,  1903,  1908,
1073 <    1914,  1917,  1919,  1921,  1923,  1925,  1927,  1929,  1931,  1933,
1074 <    1935,  1937,  1942,  1947,  1952,  1957,  1962,  1967,  1972
1075 < };
1076 <
1077 < /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1078 < static const yytype_int16 yyrhs[] =
1079 < {
1080 <     231,     0,    -1,    -1,   231,   232,    -1,   266,    -1,   278,
1081 <      -1,   292,    -1,   492,    -1,   311,    -1,   334,    -1,   348,
1082 <      -1,   242,    -1,   507,    -1,   363,    -1,   370,    -1,   374,
1083 <      -1,   384,    -1,   393,    -1,   414,    -1,   420,    -1,   426,
1084 <      -1,   436,    -1,   430,    -1,   237,    -1,   272,    -1,     1,
1085 <     224,    -1,     1,   225,    -1,    -1,   234,    -1,   107,   233,
1086 <      -1,   107,   134,   233,    -1,   107,   135,   233,    -1,   107,
1087 <     136,   233,    -1,   107,   137,   233,    -1,   107,   138,   233,
1088 <      -1,   107,   139,   233,    -1,   107,   140,   233,    -1,    -1,
1089 <     236,    -1,   107,   235,    -1,   107,     9,   235,    -1,   107,
1090 <      10,   235,    -1,   107,    11,   235,    -1,    95,   226,   238,
1091 <     225,   224,    -1,   238,   239,    -1,   239,    -1,   240,    -1,
1092 <     241,    -1,     1,   224,    -1,    94,   227,   122,   224,    -1,
1093 <     118,   227,   122,   224,    -1,   144,   226,   243,   225,   224,
1094 <      -1,   243,   244,    -1,   244,    -1,   255,    -1,   260,    -1,
1095 <     265,    -1,   257,    -1,   258,    -1,   259,    -1,   262,    -1,
1096 <     263,    -1,   264,    -1,   253,    -1,   252,    -1,   261,    -1,
1097 <     256,    -1,   251,    -1,   245,    -1,   246,    -1,   254,    -1,
1098 <       1,   224,    -1,   194,   227,   247,   224,    -1,   195,   227,
1099 <     249,   224,    -1,   247,   228,   248,    -1,   248,    -1,   196,
1100 <      -1,   197,    -1,   249,   228,   250,    -1,   250,    -1,   196,
1101 <      -1,   197,    -1,   149,   227,   122,   224,    -1,   132,   227,
1102 <     122,   224,    -1,   150,   227,   122,   224,    -1,   193,   227,
1103 <     122,   224,    -1,    97,   227,   122,   224,    -1,    63,   227,
1104 <     122,   224,    -1,    24,   227,   122,   224,    -1,   101,   227,
1105 <     122,   224,    -1,   100,   227,   122,   224,    -1,   220,   227,
1106 <     122,   224,    -1,   221,   227,   122,   224,    -1,   175,   227,
1107 <     107,   224,    -1,    85,   227,   107,   224,    -1,    89,   227,
1108 <     107,   224,    -1,    56,   227,   207,   224,    -1,     4,   226,
1109 <     267,   225,   224,    -1,   267,   268,    -1,   268,    -1,   269,
1110 <      -1,   271,    -1,   270,    -1,     1,   224,    -1,    97,   227,
1111 <     122,   224,    -1,    31,   227,   122,   224,    -1,    24,   227,
1112 <     122,   224,    -1,    -1,    96,   273,   226,   274,   225,   224,
1113 <      -1,   274,   275,    -1,   275,    -1,   276,    -1,   277,    -1,
1114 <       1,   224,    -1,    75,   227,   122,   224,    -1,   166,   227,
1115 <     122,   224,    -1,   174,   226,   279,   225,   224,    -1,   279,
1116 <     280,    -1,   280,    -1,   281,    -1,   282,    -1,     1,   224,
1117 <      -1,   218,   227,   207,   224,    -1,    -1,   283,   166,   226,
1118 <     284,   225,   224,    -1,   284,   285,    -1,   285,    -1,   286,
1119 <      -1,   288,    -1,   287,    -1,     1,   224,    -1,    97,   227,
1120 <     122,   224,    -1,   188,   227,   236,   224,    -1,   188,   227,
1121 <     201,   224,    -1,    -1,   215,   289,   227,   290,   224,    -1,
1122 <     290,   228,   291,    -1,   291,    -1,   219,    -1,   113,    -1,
1123 <      39,    -1,   163,    -1,    68,    -1,    66,    -1,   162,    -1,
1124 <      -1,   113,   293,   226,   294,   225,   224,    -1,   294,   295,
1125 <      -1,   295,    -1,   296,    -1,   297,    -1,   298,    -1,   303,
1126 <      -1,   302,    -1,   299,    -1,   300,    -1,   301,    -1,   307,
1127 <      -1,     1,   224,    -1,    97,   227,   122,   224,    -1,   219,
1128 <     227,   122,   224,    -1,   117,   227,   122,   224,    -1,    32,
1129 <     227,   207,   224,    -1,   133,   227,   122,   224,    -1,   167,
1130 <     227,   122,   224,    -1,    17,   227,   122,   224,    -1,    -1,
1131 <     198,   304,   227,   305,   224,    -1,   305,   228,   306,    -1,
1132 <     306,    -1,   157,    -1,   159,    -1,   161,    -1,   162,    -1,
1133 <     168,    -1,    48,    -1,   189,    -1,   176,    -1,   180,    -1,
1134 <     199,    -1,   191,    -1,   164,    -1,   178,    -1,   185,    -1,
1135 <     170,    -1,   204,    -1,   190,    -1,   158,    -1,   173,    -1,
1136 <     177,    -1,   165,    -1,    -1,    62,   308,   227,   309,   224,
1137 <      -1,   309,   228,   310,    -1,   310,    -1,    66,   229,   128,
1138 <      -1,    66,    -1,    18,   229,   128,    -1,    18,    -1,   148,
1139 <     229,   128,    -1,   148,    -1,    68,    -1,   216,    -1,   163,
1140 <      -1,   200,    -1,   223,    -1,    39,    -1,    25,    -1,   181,
1141 <      -1,   127,    -1,     4,    -1,   178,    -1,   169,    -1,   205,
1142 <      -1,   173,    -1,   129,    -1,   186,    -1,    94,    -1,    -1,
1143 <      17,   312,   226,   313,   225,   224,    -1,   313,   314,    -1,
1144 <     314,    -1,   315,    -1,   325,    -1,   326,    -1,   316,    -1,
1145 <     327,    -1,   317,    -1,   318,    -1,   319,    -1,   320,    -1,
1146 <     321,    -1,   322,    -1,   323,    -1,   324,    -1,   328,    -1,
1147 <     329,    -1,   330,    -1,     1,   224,    -1,    97,   227,   122,
1148 <     224,    -1,   120,   227,   234,   224,    -1,   109,   227,   107,
1149 <     224,    -1,    19,   227,   234,   224,    -1,    87,   227,   107,
1150 <     224,    -1,    80,   227,   107,   224,    -1,    83,   227,   107,
1151 <     224,    -1,    81,   227,   107,   224,    -1,   142,   227,   236,
1152 <     224,    -1,   179,   227,   236,   224,    -1,    15,   227,   107,
1153 <     224,    -1,    16,   227,   107,   224,    -1,   108,   227,   107,
1154 <     224,    -1,    91,   227,   234,   224,    -1,    82,   227,   234,
1155 <     224,    -1,    -1,    62,   331,   227,   332,   224,    -1,   332,
1156 <     228,   333,    -1,   333,    -1,   123,    -1,    50,    -1,    -1,
1157 <      74,   335,   226,   340,   225,   224,    -1,    -1,    62,   337,
1158 <     227,   338,   224,    -1,   338,   228,   339,    -1,   339,    -1,
1159 <     192,    -1,    48,    -1,   182,    -1,   340,   341,    -1,   341,
1160 <      -1,   342,    -1,   336,    -1,   346,    -1,   347,    -1,     1,
1161 <     224,    -1,    -1,   121,   227,   344,   343,   224,    -1,   344,
1162 <     228,   345,    -1,   345,    -1,   107,    -1,   107,   214,   107,
1163 <      -1,    60,   227,   122,   224,    -1,    55,   227,   122,   224,
1164 <      -1,    -1,    61,   349,   226,   350,   225,   224,    -1,   350,
1165 <     351,    -1,   351,    -1,   352,    -1,   353,    -1,   354,    -1,
1166 <     356,    -1,   360,    -1,   361,    -1,   362,    -1,   355,    -1,
1167 <       1,   224,    -1,   219,   227,   122,   224,    -1,   117,   227,
1168 <     122,   224,    -1,    17,   227,   122,   224,    -1,    32,   227,
1169 <     207,   224,    -1,    -1,    62,   357,   227,   358,   224,    -1,
1170 <     358,   228,   359,    -1,   359,    -1,   147,    -1,    33,    -1,
1171 <      69,    -1,    98,    -1,    13,    -1,   106,    -1,    42,    -1,
1172 <     131,    -1,   206,    -1,    99,    -1,   146,   227,   122,   224,
1173 <      -1,   126,   227,   122,   224,    -1,   125,   227,   107,   224,
1174 <      -1,    -1,   130,   364,   226,   365,   225,   224,    -1,   365,
1175 <     366,    -1,   366,    -1,   367,    -1,   368,    -1,   369,    -1,
1176 <       1,   224,    -1,    75,   227,   122,   224,    -1,   124,   227,
1177 <     122,   224,    -1,    34,   227,   122,   224,    -1,   183,   226,
1178 <     371,   225,   224,    -1,   371,   372,    -1,   372,    -1,   373,
1179 <      -1,     1,    -1,    97,   227,   122,   224,    -1,    -1,   187,
1180 <     375,   226,   376,   225,   224,    -1,   376,   377,    -1,   377,
1181 <      -1,   378,    -1,   379,    -1,   380,    -1,     1,   224,    -1,
1182 <      97,   227,   122,   224,    -1,   219,   227,   122,   224,    -1,
1183 <      -1,   215,   381,   227,   382,   224,    -1,   382,   228,   383,
1184 <      -1,   383,    -1,    68,    -1,   216,    -1,   163,    -1,   200,
1185 <      -1,   223,    -1,   203,    -1,   130,    -1,   202,    -1,   173,
1186 <      -1,   156,    -1,    -1,   160,   385,   226,   386,   225,   224,
1187 <      -1,   386,   387,    -1,   387,    -1,   388,    -1,   389,    -1,
1188 <       1,   224,    -1,    97,   227,   122,   224,    -1,    -1,   215,
1189 <     390,   227,   391,   224,    -1,   391,   228,   392,    -1,   392,
1190 <      -1,    68,    -1,   216,    -1,   163,    -1,   200,    -1,   223,
1191 <      -1,   203,    -1,   130,    -1,   202,    -1,   173,    -1,   156,
1192 <      -1,    -1,    18,   394,   226,   395,   225,   224,    -1,   395,
1193 <     396,    -1,   396,    -1,   397,    -1,   398,    -1,   399,    -1,
1194 <     400,    -1,   401,    -1,   402,    -1,   404,    -1,   403,    -1,
1195 <     413,    -1,   405,    -1,   410,    -1,   411,    -1,   412,    -1,
1196 <     409,    -1,     1,   224,    -1,    97,   227,   122,   224,    -1,
1197 <      55,   227,   122,   224,    -1,   220,   227,   122,   224,    -1,
1198 <     141,   227,   122,   224,    -1,     3,   227,   122,   224,    -1,
1199 <     167,   227,   122,   224,    -1,   121,   227,   107,   224,    -1,
1200 <       5,   227,   171,   224,    -1,     5,   227,   172,   224,    -1,
1201 <      -1,    62,   406,   227,   407,   224,    -1,   407,   228,   408,
1202 <      -1,   408,    -1,     8,    -1,   192,    -1,    32,   227,   207,
1203 <     224,    -1,    57,   227,   122,   224,    -1,    72,   227,   122,
1204 <     224,    -1,    17,   227,   122,   224,    -1,   193,   227,   122,
1205 <     224,    -1,    -1,    66,   415,   226,   416,   225,   224,    -1,
1206 <     416,   417,    -1,   417,    -1,   418,    -1,   419,    -1,     1,
1207 <      -1,   219,   227,   122,   224,    -1,   124,   227,   122,   224,
1208 <      -1,    -1,    23,   421,   226,   422,   225,   224,    -1,   422,
1209 <     423,    -1,   423,    -1,   424,    -1,   425,    -1,     1,    -1,
1210 <      60,   227,   122,   224,    -1,   124,   227,   122,   224,    -1,
1211 <      34,   226,   427,   225,   224,    -1,   427,   428,    -1,   428,
1212 <      -1,   429,    -1,     1,    -1,    60,   227,   122,   224,    -1,
1213 <      -1,    37,   431,   226,   432,   225,   224,    -1,   432,   433,
1214 <      -1,   433,    -1,   434,    -1,   435,    -1,     1,    -1,    97,
1215 <     227,   122,   224,    -1,   124,   227,   122,   224,    -1,    38,
1216 <     226,   437,   225,   224,    -1,   437,   438,    -1,   438,    -1,
1217 <     447,    -1,   448,    -1,   449,    -1,   450,    -1,   451,    -1,
1218 <     452,    -1,   453,    -1,   454,    -1,   455,    -1,   456,    -1,
1219 <     446,    -1,   458,    -1,   459,    -1,   473,    -1,   461,    -1,
1220 <     463,    -1,   465,    -1,   464,    -1,   468,    -1,   462,    -1,
1221 <     469,    -1,   470,    -1,   471,    -1,   472,    -1,   485,    -1,
1222 <     474,    -1,   475,    -1,   476,    -1,   481,    -1,   466,    -1,
1223 <     467,    -1,   491,    -1,   489,    -1,   490,    -1,   480,    -1,
1224 <     457,    -1,   478,    -1,   479,    -1,   445,    -1,   440,    -1,
1225 <     441,    -1,   442,    -1,   443,    -1,   444,    -1,   460,    -1,
1226 <     439,    -1,   477,    -1,     1,    -1,    90,   227,   107,   224,
1227 <      -1,    41,   227,   207,   224,    -1,    40,   227,   234,   224,
1228 <      -1,    45,   227,   234,   224,    -1,    43,   227,   107,   224,
1229 <      -1,    44,   227,   107,   224,    -1,   209,   227,   207,   224,
1230 <      -1,    67,   227,   234,   224,    -1,    54,   227,   207,   224,
1231 <      -1,    58,   227,   207,   224,    -1,    35,   227,   207,   224,
1232 <      -1,     6,   227,   207,   224,    -1,    86,   227,   234,   224,
1233 <      -1,    84,   227,   107,   224,    -1,    76,   227,   107,   224,
1234 <      -1,     7,   227,   234,   224,    -1,   213,   227,   234,   224,
1235 <      -1,   212,   227,   234,   224,    -1,    47,   227,   107,   224,
1236 <      -1,    59,   227,   207,   224,    -1,   222,   227,   207,   224,
1237 <      -1,   151,   227,   207,   224,    -1,   154,   227,   207,   224,
1238 <      -1,   155,   227,   207,   224,    -1,   153,   227,   207,   224,
1239 <      -1,   153,   227,   210,   224,    -1,   152,   227,   207,   224,
1240 <      -1,   152,   227,   210,   224,    -1,   115,   227,   234,   224,
1241 <      -1,    12,   227,   234,   224,    -1,   114,   227,   207,   224,
1242 <      -1,   116,   227,   234,   224,    -1,   145,   227,   207,   224,
1243 <      -1,   105,   227,   207,   224,    -1,   211,   227,   207,   224,
1244 <      -1,   111,   227,   207,   224,    -1,    29,   227,   107,   224,
1245 <      -1,    88,   227,   107,   224,    -1,   217,   227,   207,   224,
1246 <      -1,    30,   227,   122,   224,    -1,   184,   227,   122,   224,
1247 <      -1,   119,   227,   207,   224,    -1,    26,   227,   207,   224,
1248 <      -1,   208,   227,   234,   224,    -1,    -1,   112,   482,   227,
1249 <     483,   224,    -1,   483,   228,   484,    -1,   484,    -1,   157,
1250 <      -1,   159,    -1,   161,    -1,   162,    -1,   168,    -1,    48,
1251 <      -1,   189,    -1,   176,    -1,   180,    -1,   199,    -1,   191,
1252 <      -1,   164,    -1,   178,    -1,   185,    -1,   170,    -1,   204,
1253 <      -1,   190,    -1,   158,    -1,   173,    -1,   177,    -1,   165,
1254 <      -1,    -1,   110,   486,   227,   487,   224,    -1,   487,   228,
1255 <     488,    -1,   488,    -1,   157,    -1,   159,    -1,   161,    -1,
1256 <     162,    -1,   168,    -1,   189,    -1,    48,    -1,   176,    -1,
1257 <     180,    -1,   199,    -1,   191,    -1,   164,    -1,   178,    -1,
1258 <     185,    -1,   170,    -1,   204,    -1,   190,    -1,   158,    -1,
1259 <     173,    -1,   177,    -1,   165,    -1,    92,   227,   107,   224,
1260 <      -1,    93,   227,   107,   224,    -1,    20,   227,   107,   224,
1261 <      -1,    14,   226,   493,   225,   224,    -1,   493,   494,    -1,
1262 <     494,    -1,   500,    -1,   496,    -1,   497,    -1,   498,    -1,
1263 <     499,    -1,   501,    -1,   502,    -1,   503,    -1,   504,    -1,
1264 <     505,    -1,   506,    -1,   495,    -1,     1,    -1,    27,   227,
1265 <     207,   224,    -1,    70,   227,   234,   224,    -1,    71,   227,
1266 <     234,   224,    -1,    79,   227,   107,   224,    -1,    78,   227,
1267 <     107,   224,    -1,    77,   227,   107,   224,    -1,    22,   227,
1268 <     107,   224,    -1,    21,   227,   107,   224,    -1,   103,   227,
1269 <     207,   224,    -1,   104,   227,   207,   224,    -1,    64,   227,
1270 <     107,   224,    -1,    65,   227,   234,   224,    -1,   143,   226,
1271 <     508,   225,   224,    -1,   508,   509,    -1,   509,    -1,   510,
1272 <      -1,   511,    -1,   512,    -1,   513,    -1,   515,    -1,   516,
1273 <      -1,   514,    -1,   517,    -1,     1,    -1,    36,   227,   207,
1274 <     224,    -1,    28,   227,   207,   224,    -1,    52,   227,   207,
1275 <     224,    -1,    53,   227,   207,   224,    -1,    49,   227,   122,
1276 <     224,    -1,    73,   227,   234,   224,    -1,    48,   227,   207,
1277 <     224,    -1,    51,   227,   207,   224,    -1
1278 < };
1279 <
1280 < /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1012 >  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1013   static const yytype_uint16 yyrline[] =
1014   {
1015 <       0,   367,   367,   368,   371,   372,   373,   374,   375,   376,
1016 <     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
1017 <     387,   388,   389,   390,   391,   392,   393,   397,   397,   398,
1018 <     402,   406,   410,   414,   418,   422,   426,   432,   432,   433,
1019 <     434,   435,   436,   443,   446,   446,   447,   447,   447,   449,
1020 <     455,   462,   464,   464,   465,   465,   466,   466,   467,   467,
1021 <     468,   468,   469,   469,   470,   470,   471,   471,   472,   472,
1022 <     473,   474,   477,   478,   480,   480,   481,   487,   495,   495,
1023 <     496,   502,   510,   552,   611,   639,   647,   662,   677,   686,
1024 <     700,   709,   737,   767,   792,   814,   836,   845,   847,   847,
1025 <     848,   848,   849,   849,   851,   860,   869,   882,   881,   899,
1026 <     899,   900,   900,   900,   902,   908,   917,   918,   918,   920,
1027 <     920,   921,   923,   930,   930,   943,   944,   946,   946,   947,
1028 <     947,   949,   957,   960,   966,   965,   971,   971,   972,   976,
1029 <     980,   984,   988,   992,   996,  1007,  1006,  1086,  1086,  1087,
1030 <    1087,  1087,  1088,  1088,  1088,  1089,  1089,  1090,  1090,  1092,
1031 <    1098,  1104,  1110,  1121,  1127,  1134,  1141,  1140,  1146,  1146,
1032 <    1147,  1151,  1155,  1159,  1163,  1167,  1171,  1175,  1179,  1183,
1033 <    1187,  1191,  1195,  1199,  1203,  1207,  1211,  1215,  1219,  1223,
1034 <    1227,  1234,  1233,  1239,  1239,  1240,  1244,  1248,  1252,  1256,
1035 <    1260,  1264,  1268,  1272,  1276,  1280,  1284,  1288,  1292,  1296,
1036 <    1300,  1304,  1308,  1312,  1316,  1320,  1324,  1328,  1339,  1338,
1037 <    1399,  1399,  1400,  1401,  1401,  1402,  1403,  1404,  1405,  1406,
1038 <    1407,  1408,  1409,  1410,  1410,  1411,  1412,  1413,  1414,  1416,
1039 <    1422,  1428,  1434,  1440,  1446,  1452,  1458,  1464,  1470,  1477,
1040 <    1483,  1489,  1495,  1504,  1514,  1513,  1519,  1519,  1520,  1524,
1041 <    1535,  1534,  1541,  1540,  1545,  1545,  1546,  1550,  1554,  1560,
1042 <    1560,  1561,  1561,  1561,  1561,  1561,  1563,  1563,  1565,  1565,
1043 <    1567,  1581,  1601,  1607,  1617,  1616,  1658,  1658,  1659,  1659,
1044 <    1659,  1659,  1660,  1660,  1660,  1661,  1661,  1663,  1669,  1675,
1045 <    1681,  1693,  1692,  1698,  1698,  1699,  1703,  1707,  1711,  1715,
1046 <    1719,  1723,  1727,  1731,  1735,  1741,  1755,  1764,  1778,  1777,
1047 <    1792,  1792,  1793,  1793,  1793,  1793,  1795,  1801,  1807,  1817,
1048 <    1819,  1819,  1820,  1820,  1822,  1838,  1837,  1862,  1862,  1863,
1049 <    1863,  1863,  1863,  1865,  1871,  1891,  1890,  1896,  1896,  1897,
1050 <    1901,  1905,  1909,  1913,  1917,  1921,  1925,  1929,  1933,  1943,
1051 <    1942,  1963,  1963,  1964,  1964,  1964,  1966,  1973,  1972,  1978,
1052 <    1978,  1979,  1983,  1987,  1991,  1995,  1999,  2003,  2007,  2011,
1053 <    2015,  2025,  2024,  2094,  2094,  2095,  2095,  2095,  2096,  2096,
1054 <    2096,  2097,  2097,  2097,  2098,  2098,  2098,  2099,  2099,  2100,
1055 <    2102,  2108,  2114,  2120,  2133,  2146,  2153,  2159,  2163,  2172,
1056 <    2171,  2176,  2176,  2177,  2181,  2187,  2198,  2204,  2210,  2216,
1057 <    2232,  2231,  2257,  2257,  2258,  2258,  2258,  2260,  2280,  2290,
1058 <    2289,  2316,  2316,  2317,  2317,  2317,  2319,  2325,  2334,  2336,
1059 <    2336,  2337,  2337,  2339,  2357,  2356,  2379,  2379,  2380,  2380,
1060 <    2380,  2382,  2388,  2397,  2400,  2400,  2401,  2401,  2402,  2402,
1061 <    2403,  2403,  2404,  2404,  2405,  2405,  2406,  2407,  2408,  2408,
1062 <    2409,  2409,  2410,  2410,  2411,  2411,  2412,  2412,  2413,  2413,
1063 <    2414,  2414,  2415,  2415,  2416,  2416,  2417,  2417,  2418,  2418,
1064 <    2419,  2419,  2420,  2421,  2422,  2422,  2423,  2423,  2424,  2425,
1065 <    2426,  2427,  2427,  2428,  2431,  2436,  2442,  2448,  2454,  2459,
1066 <    2464,  2469,  2474,  2479,  2484,  2489,  2494,  2499,  2504,  2509,
1067 <    2514,  2519,  2525,  2536,  2541,  2546,  2551,  2556,  2561,  2564,
1068 <    2569,  2572,  2577,  2582,  2587,  2592,  2597,  2602,  2607,  2612,
1069 <    2617,  2622,  2627,  2632,  2641,  2650,  2655,  2660,  2666,  2665,
1070 <    2670,  2670,  2671,  2674,  2677,  2680,  2683,  2686,  2689,  2692,
1071 <    2695,  2698,  2701,  2704,  2707,  2710,  2713,  2716,  2719,  2722,
1072 <    2725,  2728,  2731,  2737,  2736,  2741,  2741,  2742,  2745,  2748,
1073 <    2751,  2754,  2757,  2760,  2763,  2766,  2769,  2772,  2775,  2778,
1074 <    2781,  2784,  2787,  2790,  2793,  2796,  2799,  2802,  2807,  2812,
1075 <    2817,  2826,  2829,  2829,  2830,  2831,  2831,  2832,  2832,  2833,
1076 <    2834,  2835,  2836,  2837,  2837,  2838,  2838,  2840,  2845,  2850,
1077 <    2855,  2860,  2865,  2870,  2875,  2880,  2885,  2890,  2895,  2903,
1078 <    2906,  2906,  2907,  2907,  2908,  2909,  2910,  2911,  2911,  2912,
1079 <    2913,  2915,  2921,  2927,  2933,  2939,  2948,  2962,  2968
1015 >       0,   374,   374,   375,   378,   379,   380,   381,   382,   383,
1016 >     384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
1017 >     394,   395,   396,   397,   398,   399,   400,   401,   405,   405,
1018 >     406,   407,   408,   409,   410,   411,   412,   413,   416,   416,
1019 >     417,   418,   419,   420,   427,   429,   429,   430,   430,   430,
1020 >     432,   438,   448,   450,   450,   451,   452,   453,   454,   455,
1021 >     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
1022 >     466,   467,   468,   471,   488,   497,   506,   515,   524,   533,
1023 >     548,   563,   573,   587,   596,   624,   652,   677,   699,   721,
1024 >     731,   733,   733,   734,   735,   736,   737,   739,   748,   757,
1025 >     771,   770,   788,   788,   789,   789,   789,   791,   797,   808,
1026 >     807,   826,   826,   827,   827,   827,   827,   827,   829,   835,
1027 >     841,   847,   869,   870,   870,   872,   872,   873,   875,   882,
1028 >     882,   895,   896,   898,   898,   899,   899,   901,   909,   912,
1029 >     918,   917,   923,   923,   924,   928,   932,   936,   940,   944,
1030 >     948,   952,   963,   962,  1019,  1019,  1020,  1021,  1022,  1023,
1031 >    1024,  1025,  1026,  1027,  1028,  1029,  1030,  1032,  1038,  1044,
1032 >    1050,  1056,  1067,  1073,  1084,  1091,  1090,  1096,  1096,  1097,
1033 >    1101,  1105,  1109,  1113,  1117,  1121,  1125,  1129,  1133,  1137,
1034 >    1141,  1145,  1149,  1153,  1157,  1161,  1165,  1169,  1173,  1177,
1035 >    1181,  1188,  1187,  1193,  1193,  1194,  1198,  1202,  1206,  1210,
1036 >    1214,  1218,  1222,  1226,  1230,  1234,  1238,  1242,  1246,  1250,
1037 >    1254,  1258,  1262,  1266,  1270,  1274,  1278,  1282,  1286,  1290,
1038 >    1294,  1298,  1302,  1306,  1317,  1316,  1373,  1373,  1374,  1375,
1039 >    1376,  1377,  1378,  1379,  1380,  1381,  1382,  1383,  1384,  1385,
1040 >    1386,  1386,  1387,  1388,  1389,  1390,  1392,  1398,  1404,  1410,
1041 >    1416,  1422,  1428,  1434,  1440,  1446,  1452,  1459,  1465,  1471,
1042 >    1477,  1486,  1496,  1495,  1501,  1501,  1502,  1506,  1517,  1516,
1043 >    1523,  1522,  1527,  1527,  1528,  1532,  1536,  1542,  1542,  1543,
1044 >    1543,  1543,  1543,  1543,  1545,  1545,  1547,  1547,  1549,  1562,
1045 >    1579,  1585,  1596,  1595,  1637,  1637,  1638,  1639,  1640,  1641,
1046 >    1642,  1643,  1644,  1645,  1646,  1648,  1654,  1660,  1666,  1678,
1047 >    1677,  1683,  1683,  1684,  1688,  1692,  1696,  1700,  1704,  1708,
1048 >    1712,  1716,  1720,  1726,  1740,  1749,  1763,  1762,  1777,  1777,
1049 >    1778,  1778,  1778,  1778,  1780,  1786,  1792,  1802,  1804,  1804,
1050 >    1805,  1805,  1807,  1824,  1823,  1848,  1848,  1849,  1849,  1849,
1051 >    1849,  1851,  1857,  1877,  1876,  1882,  1882,  1883,  1887,  1891,
1052 >    1895,  1899,  1903,  1907,  1911,  1915,  1919,  1930,  1929,  1950,
1053 >    1950,  1951,  1951,  1951,  1953,  1960,  1959,  1965,  1965,  1966,
1054 >    1970,  1974,  1978,  1982,  1986,  1990,  1994,  1998,  2002,  2013,
1055 >    2012,  2084,  2084,  2085,  2086,  2087,  2088,  2089,  2090,  2091,
1056 >    2092,  2093,  2094,  2095,  2096,  2097,  2098,  2099,  2101,  2107,
1057 >    2113,  2119,  2132,  2145,  2151,  2157,  2161,  2168,  2167,  2172,
1058 >    2172,  2173,  2177,  2183,  2194,  2200,  2206,  2212,  2228,  2227,
1059 >    2253,  2253,  2254,  2254,  2254,  2256,  2276,  2287,  2286,  2313,
1060 >    2313,  2314,  2314,  2314,  2316,  2322,  2332,  2334,  2334,  2335,
1061 >    2335,  2337,  2355,  2354,  2377,  2377,  2378,  2378,  2378,  2380,
1062 >    2386,  2396,  2398,  2398,  2399,  2400,  2401,  2402,  2403,  2404,
1063 >    2405,  2406,  2407,  2408,  2409,  2410,  2411,  2412,  2413,  2414,
1064 >    2415,  2416,  2417,  2418,  2419,  2420,  2421,  2422,  2423,  2424,
1065 >    2425,  2426,  2427,  2428,  2429,  2430,  2431,  2432,  2433,  2434,
1066 >    2435,  2436,  2437,  2438,  2439,  2440,  2441,  2442,  2443,  2444,
1067 >    2447,  2452,  2457,  2462,  2468,  2473,  2478,  2483,  2488,  2493,
1068 >    2498,  2503,  2508,  2513,  2518,  2523,  2528,  2533,  2538,  2544,
1069 >    2549,  2554,  2559,  2564,  2569,  2574,  2579,  2582,  2587,  2590,
1070 >    2595,  2600,  2605,  2610,  2615,  2620,  2625,  2630,  2635,  2640,
1071 >    2645,  2650,  2656,  2655,  2660,  2660,  2661,  2664,  2667,  2670,
1072 >    2673,  2676,  2679,  2682,  2685,  2688,  2691,  2694,  2697,  2700,
1073 >    2703,  2706,  2709,  2712,  2715,  2718,  2721,  2724,  2730,  2729,
1074 >    2734,  2734,  2735,  2738,  2741,  2744,  2747,  2750,  2753,  2756,
1075 >    2759,  2762,  2765,  2768,  2771,  2774,  2777,  2780,  2783,  2786,
1076 >    2789,  2792,  2797,  2802,  2807,  2816,  2818,  2818,  2819,  2820,
1077 >    2821,  2822,  2823,  2824,  2825,  2826,  2827,  2828,  2829,  2830,
1078 >    2832,  2837,  2842,  2847,  2852,  2857,  2862,  2867,  2872,  2877,
1079 >    2882,  2891,  2893,  2893,  2894,  2895,  2896,  2897,  2898,  2899,
1080 >    2900,  2901,  2902,  2903,  2905,  2911,  2927,  2936,  2942,  2948,
1081 >    2954,  2963,  2969
1082   };
1083   #endif
1084  
# Line 1354 | Line 1088 | static const yytype_uint16 yyrline[] =
1088   static const char *const yytname[] =
1089   {
1090    "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ADMIN", "AFTYPE",
1091 <  "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1092 <  "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1093 <  "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1094 <  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1095 <  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1096 <  "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1097 <  "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1098 <  "FAILED_OPER_NOTICE", "FLATTEN_LINKS", "GECOS", "GENERAL", "GLINE",
1099 <  "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT", "GLINE_MIN_CIDR",
1100 <  "GLINE_MIN_CIDR6", "GLINE_REQUEST_DURATION", "GLOBAL_KILL",
1101 <  "HAVENT_READ_CONF", "HIDDEN", "HIDDEN_NAME", "HIDE_IDLE_FROM_OPERS",
1102 <  "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SERVICES", "HIDE_SPOOF_IPS",
1103 <  "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1104 <  "IP", "IRCD_AUTH", "IRCD_FLAGS", "IRCD_SID", "JOIN_FLOOD_COUNT",
1105 <  "JOIN_FLOOD_TIME", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE",
1106 <  "KLINE_EXEMPT", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1107 <  "LINKS_DELAY", "LISTEN", "MASK", "MAX_ACCEPT", "MAX_BANS",
1108 <  "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT",
1109 <  "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES", "MAX_NICK_LENGTH",
1110 <  "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS", "MAX_TOPIC_LENGTH",
1111 <  "MAX_WATCH", "MIN_IDLE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE",
1112 <  "MODULE", "MODULES", "MOTD", "NAME", "NEED_IDENT", "NEED_PASSWORD",
1113 <  "NETWORK_DESC", "NETWORK_NAME", "NICK", "NO_CREATE_ON_SPLIT",
1114 <  "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE", "NUMBER",
1115 <  "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1116 <  "OPER_UMODES", "OPERATOR", "OPERS_BYPASS_CALLERID", "PACE_WAIT",
1117 <  "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME",
1118 <  "PORT", "QSTRING", "RANDOM_IDLE", "REASON", "REDIRPORT", "REDIRSERV",
1119 <  "REHASH", "REMOTE", "REMOTEBAN", "RESV", "RESV_EXEMPT",
1120 <  "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SECONDS", "MINUTES",
1091 >  "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN",
1092 >  "AWAY_COUNT", "AWAY_TIME", "BYTES", "KBYTES", "MBYTES", "CALLER_ID_WAIT",
1093 >  "CAN_FLOOD", "CHANNEL", "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS",
1094 >  "CLOSE", "CONNECT", "CONNECTFREQ", "CYCLE_ON_HOST_CHANGE",
1095 >  "DEFAULT_FLOODCOUNT", "DEFAULT_JOIN_FLOOD_COUNT",
1096 >  "DEFAULT_JOIN_FLOOD_TIME", "DEFAULT_MAX_CLIENTS", "DENY", "DESCRIPTION",
1097 >  "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1098 >  "DISABLE_REMOTE_COMMANDS", "DLINE_MIN_CIDR", "DLINE_MIN_CIDR6",
1099 >  "DOTS_IN_IDENT", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1100 >  "FAILED_OPER_NOTICE", "FLATTEN_LINKS", "FLATTEN_LINKS_DELAY",
1101 >  "FLATTEN_LINKS_FILE", "GECOS", "GENERAL", "HIDDEN", "HIDDEN_NAME",
1102 >  "HIDE_CHANS", "HIDE_IDLE", "HIDE_IDLE_FROM_OPERS", "HIDE_SERVER_IPS",
1103 >  "HIDE_SERVERS", "HIDE_SERVICES", "HOST", "HUB", "HUB_MASK",
1104 >  "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "INVITE_CLIENT_COUNT",
1105 >  "INVITE_CLIENT_TIME", "INVITE_DELAY_CHANNEL", "IP", "IRCD_AUTH",
1106 >  "IRCD_FLAGS", "IRCD_SID", "JOIN", "KILL", "KILL_CHASE_TIME_LIMIT",
1107 >  "KLINE", "KLINE_EXEMPT", "KLINE_MIN_CIDR", "KLINE_MIN_CIDR6",
1108 >  "KNOCK_CLIENT_COUNT", "KNOCK_CLIENT_TIME", "KNOCK_DELAY_CHANNEL",
1109 >  "LEAF_MASK", "LISTEN", "MASK", "MAX_ACCEPT", "MAX_BANS", "MAX_CHANNELS",
1110 >  "MAX_GLOBAL", "MAX_IDENT", "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES",
1111 >  "MAX_NICK_LENGTH", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1112 >  "MAX_TOPIC_LENGTH", "MAX_WATCH", "MIN_IDLE", "MIN_NONWILDCARD",
1113 >  "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "MOTD", "NAME",
1114 >  "NEED_IDENT", "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME", "NICK",
1115 >  "NO_OPER_FLOOD", "NO_TILDE", "NUMBER", "NUMBER_PER_CIDR",
1116 >  "NUMBER_PER_IP", "OPER_ONLY_UMODES", "OPER_UMODES", "OPERATOR",
1117 >  "OPERS_BYPASS_CALLERID", "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD",
1118 >  "PATH", "PING_COOKIE", "PING_TIME", "PORT", "QSTRING", "RANDOM_IDLE",
1119 >  "REASON", "REDIRPORT", "REDIRSERV", "REHASH", "REMOTE", "REMOTEBAN",
1120 >  "RESV", "RESV_EXEMPT", "RSA_PRIVATE_KEY_FILE", "SECONDS", "MINUTES",
1121    "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ",
1122    "SERVERHIDE", "SERVERINFO", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1123 <  "SQUIT", "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE", "STATS_E_DISABLED",
1124 <  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",
1125 <  "STATS_P_OPER_ONLY", "T_ALL", "T_BOTS", "T_CALLERID", "T_CCONN",
1126 <  "T_CLUSTER", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1127 <  "T_FARCONNECT", "T_FILE", "T_FINGERPRINT", "T_FULL", "T_GLOBOPS",
1128 <  "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_LOG", "T_MAX_CLIENTS",
1129 <  "T_NCHANGE", "T_NONONREG", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_RESTART",
1130 <  "T_SERVER", "T_SERVICE", "T_SERVICES_NAME", "T_SERVNOTICE", "T_SET",
1123 >  "SQUIT", "SSL_CERTIFICATE_FILE", "SSL_CERTIFICATE_FINGERPRINT",
1124 >  "SSL_CONNECTION_REQUIRED", "SSL_DH_ELLIPTIC_CURVE", "SSL_DH_PARAM_FILE",
1125 >  "SSL_MESSAGE_DIGEST_ALGORITHM", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1126 >  "STATS_K_OPER_ONLY", "STATS_M_OPER_ONLY", "STATS_O_OPER_ONLY",
1127 >  "STATS_P_OPER_ONLY", "STATS_U_OPER_ONLY", "T_ALL", "T_BOTS",
1128 >  "T_CALLERID", "T_CCONN", "T_COMMAND", "T_CLUSTER", "T_DEAF", "T_DEBUG",
1129 >  "T_DLINE", "T_EXTERNAL", "T_FARCONNECT", "T_FILE", "T_FULL", "T_GLOBOPS",
1130 >  "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_LOG", "T_NCHANGE",
1131 >  "T_NONONREG", "T_OPME", "T_PREPEND", "T_PSEUDO", "T_RECVQ", "T_REJ",
1132 >  "T_RESTART", "T_SERVER", "T_SERVICE", "T_SERVNOTICE", "T_SET",
1133    "T_SHARED", "T_SIZE", "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL",
1134 <  "T_SSL_CIPHER_LIST", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD",
1135 <  "T_SSLV3", "T_TLSV1", "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED",
1136 <  "T_UNRESV", "T_UNXLINE", "T_WALLOP", "T_WALLOPS", "T_WEBIRC", "TBOOL",
1137 <  "THROTTLE_TIME", "TKLINE_EXPIRE_NOTICES", "TMASKED",
1138 <  "TRUE_NO_OPER_FLOOD", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "TYPE",
1139 <  "UNKLINE", "USE_EGD", "USE_LOGGING", "USER", "VHOST", "VHOST6",
1140 <  "WARN_NO_NLINE", "XLINE", "';'", "'}'", "'{'", "'='", "','", "':'",
1141 <  "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1142 <  "sizespec", "modules_entry", "modules_items", "modules_item",
1143 <  "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1408 <  "serverinfo_item", "serverinfo_ssl_client_method",
1409 <  "serverinfo_ssl_server_method", "client_method_types",
1410 <  "client_method_type_item", "server_method_types",
1411 <  "server_method_type_item", "serverinfo_ssl_certificate_file",
1134 >  "T_SSL_CIPHER_LIST", "T_TARGET", "T_UMODES", "T_UNAUTH", "T_UNDLINE",
1135 >  "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_WALLOP", "T_WALLOPS",
1136 >  "T_WEBIRC", "TBOOL", "THROTTLE_COUNT", "THROTTLE_TIME",
1137 >  "TKLINE_EXPIRE_NOTICES", "TMASKED", "TS_MAX_DELTA", "TS_WARN_DELTA",
1138 >  "TWODOTS", "TYPE", "UNKLINE", "USE_LOGGING", "USER", "VHOST", "VHOST6",
1139 >  "WARN_NO_CONNECT_BLOCK", "WHOIS", "XLINE", "XLINE_EXEMPT", "';'", "'}'",
1140 >  "'{'", "'='", "','", "':'", "$accept", "conf", "conf_item", "timespec_",
1141 >  "timespec", "sizespec_", "sizespec", "modules_entry", "modules_items",
1142 >  "modules_item", "modules_module", "modules_path", "serverinfo_entry",
1143 >  "serverinfo_items", "serverinfo_item", "serverinfo_ssl_certificate_file",
1144    "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1145 <  "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1145 >  "serverinfo_ssl_cipher_list", "serverinfo_ssl_message_digest_algorithm",
1146 >  "serverinfo_ssl_dh_elliptic_curve", "serverinfo_name", "serverinfo_sid",
1147    "serverinfo_description", "serverinfo_network_name",
1148    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1149 <  "serverinfo_max_clients", "serverinfo_max_nick_length",
1149 >  "serverinfo_default_max_clients", "serverinfo_max_nick_length",
1150    "serverinfo_max_topic_length", "serverinfo_hub", "admin_entry",
1151    "admin_items", "admin_item", "admin_name", "admin_email",
1152    "admin_description", "motd_entry", "$@1", "motd_items", "motd_item",
1153 <  "motd_mask", "motd_file", "logging_entry", "logging_items",
1154 <  "logging_item", "logging_use_logging", "logging_file_entry", "$@2",
1155 <  "logging_file_items", "logging_file_item", "logging_file_name",
1156 <  "logging_file_size", "logging_file_type", "$@3",
1157 <  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@4",
1158 <  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1159 <  "oper_encrypted", "oper_rsa_public_key_file", "oper_fingerprint",
1160 <  "oper_class", "oper_umodes", "$@5", "oper_umodes_items",
1161 <  "oper_umodes_item", "oper_flags", "$@6", "oper_flags_items",
1162 <  "oper_flags_item", "class_entry", "$@7", "class_items", "class_item",
1163 <  "class_name", "class_ping_time", "class_number_per_ip",
1164 <  "class_connectfreq", "class_max_number", "class_max_global",
1165 <  "class_max_local", "class_max_ident", "class_sendq", "class_recvq",
1153 >  "motd_mask", "motd_file", "pseudo_entry", "$@2", "pseudo_items",
1154 >  "pseudo_item", "pseudo_command", "pseudo_name", "pseudo_prepend",
1155 >  "pseudo_target", "logging_entry", "logging_items", "logging_item",
1156 >  "logging_use_logging", "logging_file_entry", "$@3", "logging_file_items",
1157 >  "logging_file_item", "logging_file_name", "logging_file_size",
1158 >  "logging_file_type", "$@4", "logging_file_type_items",
1159 >  "logging_file_type_item", "oper_entry", "$@5", "oper_items", "oper_item",
1160 >  "oper_name", "oper_user", "oper_password", "oper_whois",
1161 >  "oper_encrypted", "oper_ssl_certificate_fingerprint",
1162 >  "oper_ssl_connection_required", "oper_class", "oper_umodes", "$@6",
1163 >  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@7",
1164 >  "oper_flags_items", "oper_flags_item", "class_entry", "$@8",
1165 >  "class_items", "class_item", "class_name", "class_ping_time",
1166 >  "class_number_per_ip", "class_connectfreq", "class_max_channels",
1167 >  "class_max_number", "class_max_global", "class_max_local",
1168 >  "class_max_ident", "class_sendq", "class_recvq",
1169    "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1170    "class_number_per_cidr", "class_min_idle", "class_max_idle",
1171 <  "class_flags", "$@8", "class_flags_items", "class_flags_item",
1172 <  "listen_entry", "$@9", "listen_flags", "$@10", "listen_flags_items",
1171 >  "class_flags", "$@9", "class_flags_items", "class_flags_item",
1172 >  "listen_entry", "$@10", "listen_flags", "$@11", "listen_flags_items",
1173    "listen_flags_item", "listen_items", "listen_item", "listen_port",
1174 <  "$@11", "port_items", "port_item", "listen_address", "listen_host",
1175 <  "auth_entry", "$@12", "auth_items", "auth_item", "auth_user",
1176 <  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@13",
1174 >  "$@12", "port_items", "port_item", "listen_address", "listen_host",
1175 >  "auth_entry", "$@13", "auth_items", "auth_item", "auth_user",
1176 >  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@14",
1177    "auth_flags_items", "auth_flags_item", "auth_spoof", "auth_redir_serv",
1178 <  "auth_redir_port", "resv_entry", "$@14", "resv_items", "resv_item",
1178 >  "auth_redir_port", "resv_entry", "$@15", "resv_items", "resv_item",
1179    "resv_mask", "resv_reason", "resv_exempt", "service_entry",
1180 <  "service_items", "service_item", "service_name", "shared_entry", "$@15",
1180 >  "service_items", "service_item", "service_name", "shared_entry", "$@16",
1181    "shared_items", "shared_item", "shared_name", "shared_user",
1182 <  "shared_type", "$@16", "shared_types", "shared_type_item",
1183 <  "cluster_entry", "$@17", "cluster_items", "cluster_item", "cluster_name",
1184 <  "cluster_type", "$@18", "cluster_types", "cluster_type_item",
1185 <  "connect_entry", "$@19", "connect_items", "connect_item", "connect_name",
1182 >  "shared_type", "$@17", "shared_types", "shared_type_item",
1183 >  "cluster_entry", "$@18", "cluster_items", "cluster_item", "cluster_name",
1184 >  "cluster_type", "$@19", "cluster_types", "cluster_type_item",
1185 >  "connect_entry", "$@20", "connect_items", "connect_item", "connect_name",
1186    "connect_host", "connect_vhost", "connect_send_password",
1187 <  "connect_accept_password", "connect_fingerprint", "connect_port",
1188 <  "connect_aftype", "connect_flags", "$@20", "connect_flags_items",
1189 <  "connect_flags_item", "connect_encrypted", "connect_hub_mask",
1190 <  "connect_leaf_mask", "connect_class", "connect_ssl_cipher_list",
1191 <  "kill_entry", "$@21", "kill_items", "kill_item", "kill_user",
1192 <  "kill_reason", "deny_entry", "$@22", "deny_items", "deny_item",
1193 <  "deny_ip", "deny_reason", "exempt_entry", "exempt_items", "exempt_item",
1194 <  "exempt_ip", "gecos_entry", "$@23", "gecos_items", "gecos_item",
1195 <  "gecos_name", "gecos_reason", "general_entry", "general_items",
1196 <  "general_item", "general_max_watch", "general_gline_enable",
1197 <  "general_gline_duration", "general_gline_request_duration",
1198 <  "general_gline_min_cidr", "general_gline_min_cidr6",
1187 >  "connect_accept_password", "connect_ssl_certificate_fingerprint",
1188 >  "connect_port", "connect_aftype", "connect_flags", "$@21",
1189 >  "connect_flags_items", "connect_flags_item", "connect_encrypted",
1190 >  "connect_hub_mask", "connect_leaf_mask", "connect_class",
1191 >  "connect_ssl_cipher_list", "kill_entry", "$@22", "kill_items",
1192 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@23",
1193 >  "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1194 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@24",
1195 >  "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1196 >  "general_entry", "general_items", "general_item", "general_away_count",
1197 >  "general_away_time", "general_max_watch", "general_cycle_on_host_change",
1198 >  "general_dline_min_cidr", "general_dline_min_cidr6",
1199 >  "general_kline_min_cidr", "general_kline_min_cidr6",
1200    "general_tkline_expire_notices", "general_kill_chase_time_limit",
1201 <  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1202 <  "general_failed_oper_notice", "general_anti_nick_flood",
1203 <  "general_max_nick_time", "general_max_nick_changes",
1204 <  "general_max_accept", "general_anti_spam_exit_message_time",
1205 <  "general_ts_warn_delta", "general_ts_max_delta",
1206 <  "general_havent_read_conf", "general_invisible_on_connect",
1207 <  "general_warn_no_nline", "general_stats_e_disabled",
1208 <  "general_stats_o_oper_only", "general_stats_P_oper_only",
1201 >  "general_ignore_bogus_ts", "general_failed_oper_notice",
1202 >  "general_anti_nick_flood", "general_max_nick_time",
1203 >  "general_max_nick_changes", "general_max_accept",
1204 >  "general_anti_spam_exit_message_time", "general_ts_warn_delta",
1205 >  "general_ts_max_delta", "general_invisible_on_connect",
1206 >  "general_warn_no_connect_block", "general_stats_e_disabled",
1207 >  "general_stats_m_oper_only", "general_stats_o_oper_only",
1208 >  "general_stats_P_oper_only", "general_stats_u_oper_only",
1209    "general_stats_k_oper_only", "general_stats_i_oper_only",
1210    "general_pace_wait", "general_caller_id_wait",
1211    "general_opers_bypass_callerid", "general_pace_wait_simple",
1212 <  "general_short_motd", "general_no_oper_flood",
1213 <  "general_true_no_oper_flood", "general_oper_pass_resv",
1214 <  "general_dots_in_ident", "general_max_targets", "general_use_egd",
1215 <  "general_egdpool_path", "general_services_name", "general_ping_cookie",
1216 <  "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1480 <  "$@24", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1481 <  "$@25", "umode_items", "umode_item", "general_min_nonwildcard",
1212 >  "general_short_motd", "general_no_oper_flood", "general_dots_in_ident",
1213 >  "general_max_targets", "general_ping_cookie", "general_disable_auth",
1214 >  "general_throttle_count", "general_throttle_time", "general_oper_umodes",
1215 >  "$@25", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1216 >  "$@26", "umode_items", "umode_item", "general_min_nonwildcard",
1217    "general_min_nonwildcard_simple", "general_default_floodcount",
1218    "channel_entry", "channel_items", "channel_item",
1219 <  "channel_disable_fake_channels", "channel_knock_delay",
1220 <  "channel_knock_delay_channel", "channel_max_chans_per_user",
1221 <  "channel_max_chans_per_oper", "channel_max_bans",
1222 <  "channel_default_split_user_count", "channel_default_split_server_count",
1223 <  "channel_no_create_on_split", "channel_no_join_on_split",
1224 <  "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1219 >  "channel_disable_fake_channels", "channel_invite_client_count",
1220 >  "channel_invite_client_time", "channel_invite_delay_channel",
1221 >  "channel_knock_client_count", "channel_knock_client_time",
1222 >  "channel_knock_delay_channel", "channel_max_channels",
1223 >  "channel_max_bans", "channel_default_join_flood_count",
1224 >  "channel_default_join_flood_time", "serverhide_entry",
1225    "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1226 +  "serverhide_flatten_links_delay", "serverhide_flatten_links_file",
1227    "serverhide_disable_remote_commands", "serverhide_hide_servers",
1228    "serverhide_hide_services", "serverhide_hidden_name",
1229 <  "serverhide_links_delay", "serverhide_hidden",
1494 <  "serverhide_hide_server_ips", YY_NULL
1229 >  "serverhide_hidden", "serverhide_hide_server_ips", YY_NULLPTR
1230   };
1231   #endif
1232  
1233   # ifdef YYPRINT
1234 < /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1235 <   token YYLEX-NUM.  */
1234 > /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1235 >   (internal) symbol number NUM (which must be that of a token).  */
1236   static const yytype_uint16 yytoknum[] =
1237   {
1238         0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
# Line 1522 | Line 1257 | static const yytype_uint16 yytoknum[] =
1257       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1258       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1259       465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1260 <     475,   476,   477,   478,    59,   125,   123,    61,    44,    58
1260 >     475,   476,   477,   478,   479,   480,   481,    59,   125,   123,
1261 >      61,    44,    58
1262   };
1263   # endif
1264  
1265 < /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1530 < static const yytype_uint16 yyr1[] =
1531 < {
1532 <       0,   230,   231,   231,   232,   232,   232,   232,   232,   232,
1533 <     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1534 <     232,   232,   232,   232,   232,   232,   232,   233,   233,   234,
1535 <     234,   234,   234,   234,   234,   234,   234,   235,   235,   236,
1536 <     236,   236,   236,   237,   238,   238,   239,   239,   239,   240,
1537 <     241,   242,   243,   243,   244,   244,   244,   244,   244,   244,
1538 <     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
1539 <     244,   244,   245,   246,   247,   247,   248,   248,   249,   249,
1540 <     250,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1541 <     259,   260,   261,   262,   263,   264,   265,   266,   267,   267,
1542 <     268,   268,   268,   268,   269,   270,   271,   273,   272,   274,
1543 <     274,   275,   275,   275,   276,   277,   278,   279,   279,   280,
1544 <     280,   280,   281,   283,   282,   284,   284,   285,   285,   285,
1545 <     285,   286,   287,   287,   289,   288,   290,   290,   291,   291,
1546 <     291,   291,   291,   291,   291,   293,   292,   294,   294,   295,
1547 <     295,   295,   295,   295,   295,   295,   295,   295,   295,   296,
1548 <     297,   298,   299,   300,   301,   302,   304,   303,   305,   305,
1549 <     306,   306,   306,   306,   306,   306,   306,   306,   306,   306,
1550 <     306,   306,   306,   306,   306,   306,   306,   306,   306,   306,
1551 <     306,   308,   307,   309,   309,   310,   310,   310,   310,   310,
1552 <     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
1553 <     310,   310,   310,   310,   310,   310,   310,   310,   312,   311,
1554 <     313,   313,   314,   314,   314,   314,   314,   314,   314,   314,
1555 <     314,   314,   314,   314,   314,   314,   314,   314,   314,   315,
1556 <     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
1557 <     326,   327,   328,   329,   331,   330,   332,   332,   333,   333,
1558 <     335,   334,   337,   336,   338,   338,   339,   339,   339,   340,
1559 <     340,   341,   341,   341,   341,   341,   343,   342,   344,   344,
1560 <     345,   345,   346,   347,   349,   348,   350,   350,   351,   351,
1561 <     351,   351,   351,   351,   351,   351,   351,   352,   353,   354,
1562 <     355,   357,   356,   358,   358,   359,   359,   359,   359,   359,
1563 <     359,   359,   359,   359,   359,   360,   361,   362,   364,   363,
1564 <     365,   365,   366,   366,   366,   366,   367,   368,   369,   370,
1565 <     371,   371,   372,   372,   373,   375,   374,   376,   376,   377,
1566 <     377,   377,   377,   378,   379,   381,   380,   382,   382,   383,
1567 <     383,   383,   383,   383,   383,   383,   383,   383,   383,   385,
1568 <     384,   386,   386,   387,   387,   387,   388,   390,   389,   391,
1569 <     391,   392,   392,   392,   392,   392,   392,   392,   392,   392,
1570 <     392,   394,   393,   395,   395,   396,   396,   396,   396,   396,
1571 <     396,   396,   396,   396,   396,   396,   396,   396,   396,   396,
1572 <     397,   398,   399,   400,   401,   402,   403,   404,   404,   406,
1573 <     405,   407,   407,   408,   408,   409,   410,   411,   412,   413,
1574 <     415,   414,   416,   416,   417,   417,   417,   418,   419,   421,
1575 <     420,   422,   422,   423,   423,   423,   424,   425,   426,   427,
1576 <     427,   428,   428,   429,   431,   430,   432,   432,   433,   433,
1577 <     433,   434,   435,   436,   437,   437,   438,   438,   438,   438,
1578 <     438,   438,   438,   438,   438,   438,   438,   438,   438,   438,
1579 <     438,   438,   438,   438,   438,   438,   438,   438,   438,   438,
1580 <     438,   438,   438,   438,   438,   438,   438,   438,   438,   438,
1581 <     438,   438,   438,   438,   438,   438,   438,   438,   438,   438,
1582 <     438,   438,   438,   438,   439,   440,   441,   442,   443,   444,
1583 <     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1584 <     455,   456,   457,   458,   459,   460,   461,   462,   463,   463,
1585 <     464,   464,   465,   466,   467,   468,   469,   470,   471,   472,
1586 <     473,   474,   475,   476,   477,   478,   479,   480,   482,   481,
1587 <     483,   483,   484,   484,   484,   484,   484,   484,   484,   484,
1588 <     484,   484,   484,   484,   484,   484,   484,   484,   484,   484,
1589 <     484,   484,   484,   486,   485,   487,   487,   488,   488,   488,
1590 <     488,   488,   488,   488,   488,   488,   488,   488,   488,   488,
1591 <     488,   488,   488,   488,   488,   488,   488,   488,   489,   490,
1592 <     491,   492,   493,   493,   494,   494,   494,   494,   494,   494,
1593 <     494,   494,   494,   494,   494,   494,   494,   495,   496,   497,
1594 <     498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
1595 <     508,   508,   509,   509,   509,   509,   509,   509,   509,   509,
1596 <     509,   510,   511,   512,   513,   514,   515,   516,   517
1597 < };
1265 > #define YYPACT_NINF -887
1266  
1267 < /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1268 < static const yytype_uint8 yyr2[] =
1267 > #define yypact_value_is_default(Yystate) \
1268 >  (!!((Yystate) == (-887)))
1269 >
1270 > #define YYTABLE_NINF -130
1271 >
1272 > #define yytable_value_is_error(Yytable_value) \
1273 >  0
1274 >
1275 >  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1276 >     STATE-NUM.  */
1277 > static const yytype_int16 yypact[] =
1278   {
1279 <       0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1280 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1281 <       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
1282 <       3,     3,     3,     3,     3,     3,     3,     0,     1,     2,
1283 <       3,     3,     3,     5,     2,     1,     1,     1,     2,     4,
1284 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1285 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1286 <       1,     2,     4,     4,     3,     1,     1,     1,     3,     1,
1287 <       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
1288 <       4,     4,     4,     4,     4,     4,     4,     5,     2,     1,
1289 <       1,     1,     1,     2,     4,     4,     4,     0,     6,     2,
1290 <       1,     1,     1,     2,     4,     4,     5,     2,     1,     1,
1291 <       1,     2,     4,     0,     6,     2,     1,     1,     1,     1,
1292 <       2,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1293 <       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1294 <       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
1295 <       4,     4,     4,     4,     4,     4,     0,     5,     3,     1,
1296 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1297 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1298 <       1,     0,     5,     3,     1,     3,     1,     3,     1,     3,
1299 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1300 <       1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
1301 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1302 <       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
1303 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1304 <       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1305 <       0,     6,     0,     5,     3,     1,     1,     1,     1,     2,
1306 <       1,     1,     1,     1,     1,     2,     0,     5,     3,     1,
1307 <       1,     3,     4,     4,     0,     6,     2,     1,     1,     1,
1308 <       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
1309 <       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1310 <       1,     1,     1,     1,     1,     4,     4,     4,     0,     6,
1311 <       2,     1,     1,     1,     1,     2,     4,     4,     4,     5,
1312 <       2,     1,     1,     1,     4,     0,     6,     2,     1,     1,
1313 <       1,     1,     2,     4,     4,     0,     5,     3,     1,     1,
1314 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1315 <       6,     2,     1,     1,     1,     2,     4,     0,     5,     3,
1316 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1317 <       1,     0,     6,     2,     1,     1,     1,     1,     1,     1,
1318 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1319 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     0,
1320 <       5,     3,     1,     1,     1,     4,     4,     4,     4,     4,
1321 <       0,     6,     2,     1,     1,     1,     1,     4,     4,     0,
1322 <       6,     2,     1,     1,     1,     1,     4,     4,     5,     2,
1323 <       1,     1,     1,     4,     0,     6,     2,     1,     1,     1,
1324 <       1,     4,     4,     5,     2,     1,     1,     1,     1,     1,
1325 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1326 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1327 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1328 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1329 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1330 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1331 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1332 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1333 <       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
1334 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1335 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1336 <       1,     1,     1,     0,     5,     3,     1,     1,     1,     1,
1337 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1338 <       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1339 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1340 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1341 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     5,
1342 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1343 <       1,     4,     4,     4,     4,     4,     4,     4,     4
1279 >    -887,   721,  -887,  -174,  -213,  -208,  -887,  -887,  -887,  -197,
1280 >    -887,  -181,  -887,  -887,  -887,  -170,  -887,  -887,  -887,  -160,
1281 >    -152,  -887,  -140,  -887,  -122,  -887,  -887,  -887,  -887,  -887,
1282 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1283 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1284 >    -887,    23,   361,  -119,  -117,   -97,    13,   -91,   486,   -84,
1285 >     -78,   -68,    84,   -55,   -49,   -45,   413,   624,   -35,    14,
1286 >     -32,    49,   -25,  -185,   -20,   -10,    -7,     9,  -887,  -887,
1287 >    -887,  -887,  -887,    -6,    44,    45,    48,    63,    64,    66,
1288 >      79,    89,    90,   102,   166,  -887,  -887,  -887,  -887,  -887,
1289 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,   783,   614,    61,
1290 >    -887,   106,    32,  -887,  -887,   121,  -887,   116,   118,   119,
1291 >     120,   122,   131,   134,   135,   136,   140,   143,   144,   145,
1292 >     146,   147,   148,   150,   153,   154,   158,   159,   162,   167,
1293 >     168,   169,  -887,  -887,   173,   174,   177,   180,   182,   183,
1294 >     185,   186,   188,   189,   194,   196,   197,   200,   201,   202,
1295 >     203,   204,    57,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1296 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1297 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1298 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1299 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,   352,
1300 >      12,   304,   -22,   209,   210,     2,  -887,  -887,  -887,    11,
1301 >     341,    85,  -887,   214,   220,   223,   224,   229,   233,   234,
1302 >     240,   241,   291,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1303 >    -887,  -887,  -887,    52,   243,   244,   245,   246,   250,   252,
1304 >     253,   254,   256,   258,   259,   268,   273,   274,   275,   276,
1305 >     282,    55,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1306 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1307 >      19,    87,   283,     3,  -887,  -887,  -887,   115,   164,  -887,
1308 >     284,    35,  -887,  -887,   165,  -887,   289,   359,   393,   299,
1309 >    -887,   149,   410,    81,   420,   410,   410,   421,   410,   410,
1310 >     424,   438,   320,  -887,   323,   322,   327,   330,  -887,   332,
1311 >     334,   337,   340,   344,   346,   350,   353,   354,   355,   357,
1312 >     358,   360,   217,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1313 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1314 >    -887,   326,   363,   364,   365,   366,   369,   373,  -887,   374,
1315 >     376,   377,   379,   382,   383,   384,   251,  -887,  -887,  -887,
1316 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1317 >    -887,  -887,  -887,   386,   388,    16,  -887,  -887,  -887,   446,
1318 >     362,  -887,  -887,   390,   391,    33,  -887,  -887,  -887,    82,
1319 >     410,   463,   410,   410,   414,   514,   415,   518,   519,   521,
1320 >     425,   426,   427,   410,   524,   529,   530,   531,   410,   540,
1321 >     546,   548,   549,   449,   430,   431,   453,   410,   410,   455,
1322 >     456,   457,  -191,  -186,   458,   461,   464,   465,   567,   410,
1323 >     467,   410,   410,   468,   451,  -887,   454,   452,   459,  -887,
1324 >     462,   472,   473,   474,   475,   303,  -887,  -887,  -887,  -887,
1325 >    -887,  -887,  -887,  -887,  -887,  -887,   478,   480,    30,  -887,
1326 >    -887,  -887,   460,   483,   485,  -887,   487,  -887,    10,  -887,
1327 >    -887,  -887,  -887,  -887,   562,   571,   484,  -887,   491,   489,
1328 >     490,    27,  -887,  -887,  -887,   496,   499,   500,  -887,   501,
1329 >     502,   503,   504,  -887,   506,   509,   181,  -887,  -887,  -887,
1330 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,   516,   511,
1331 >     515,   517,    38,  -887,  -887,  -887,  -887,   535,   539,   410,
1332 >     572,   541,   573,   542,   543,   544,   532,  -887,  -887,   618,
1333 >     635,   551,   636,   654,   656,   643,   646,   647,   648,   649,
1334 >     651,   652,   658,   661,   664,   665,   561,  -887,   563,   564,
1335 >    -887,    34,  -887,  -887,  -887,  -887,   569,   565,  -887,   568,
1336 >     566,   574,   580,   581,   583,    60,  -887,  -887,  -887,  -887,
1337 >    -887,   669,   576,  -887,   587,   585,  -887,   586,    95,  -887,
1338 >    -887,  -887,  -887,   590,   591,   594,  -887,   596,   400,   604,
1339 >     605,   606,   609,   610,   611,   612,   613,   615,   616,  -887,
1340 >    -887,   688,   690,   410,   617,   699,   733,   736,   410,   741,
1341 >     742,   410,   730,   745,   747,   410,   750,   750,   632,  -887,
1342 >    -887,   738,     1,   739,   653,   748,   749,   642,   752,   753,
1343 >     768,   756,   757,   758,   760,   657,  -887,   763,   764,   662,
1344 >    -887,   663,  -887,   766,   769,   668,  -887,   670,   671,   672,
1345 >     674,   675,   677,   679,   680,   681,   682,   684,   685,   687,
1346 >     689,   691,   692,   693,   698,   701,   704,   706,   708,   709,
1347 >     711,   714,   847,   759,   715,   716,   717,   719,   720,   723,
1348 >     724,   725,   729,   731,   732,   734,   735,   737,   740,   746,
1349 >     754,   762,   765,   767,  -887,  -887,   774,   770,   718,   793,
1350 >     773,   795,   835,   841,   771,  -887,   844,   850,   772,  -887,
1351 >    -887,   854,   861,   761,   876,   777,  -887,   778,   779,  -887,
1352 >    -887,   864,   868,   780,  -887,  -887,   873,   787,   782,   878,
1353 >     894,   897,   812,   794,   901,   904,   802,  -887,  -887,   908,
1354 >     909,   910,   808,  -887,   809,   811,   813,   817,   818,   819,
1355 >     820,   822,   823,  -887,   824,   825,   827,   828,   829,   830,
1356 >     831,   832,   833,   834,   836,   837,   838,   839,   840,   842,
1357 >     843,  -887,  -887,   912,   845,   846,  -887,   849,  -887,    93,
1358 >    -887,   917,   940,   946,   949,   851,  -887,   852,  -887,  -887,
1359 >     950,   853,   952,   855,  -887,  -887,  -887,  -887,  -887,   410,
1360 >     410,   410,   410,   410,   410,   410,  -887,  -887,  -887,  -887,
1361 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,   857,   858,
1362 >     859,   -26,   860,   862,   863,   865,   866,   867,   869,   870,
1363 >     871,   872,   874,   343,   875,   877,  -887,   879,   880,   881,
1364 >     882,   883,   884,   885,    -1,   886,   887,   888,   889,   890,
1365 >     891,   892,  -887,   893,   895,  -887,  -887,   896,   898,  -887,
1366 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1367 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1368 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1369 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1370 >    -887,  -887,  -887,  -887,  -887,  -201,  -887,  -887,  -887,  -887,
1371 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1372 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -190,
1373 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1374 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1375 >    -887,   899,   900,   423,   902,   903,   905,   906,   907,  -887,
1376 >     911,   913,  -887,   914,   915,   -18,   919,   916,  -887,  -887,
1377 >    -887,  -887,   918,   921,  -887,   922,   923,   481,   924,   925,
1378 >     926,   927,   807,   928,   929,  -887,   930,   931,   932,  -887,
1379 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1380 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1381 >    -887,  -887,  -887,  -887,  -887,  -887,   933,   338,  -887,  -887,
1382 >     934,   935,   936,  -887,    56,  -887,  -887,  -887,  -887,   937,
1383 >     941,   942,   943,  -887,  -887,   944,   577,   945,  -887,  -887,
1384 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1385 >    -887,  -187,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1386 >    -887,  -887,  -887,  -887,   750,   750,   750,  -887,  -887,  -887,
1387 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1388 >    -184,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1389 >    -887,  -887,  -887,  -887,   847,  -887,   759,  -887,  -887,  -887,
1390 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -182,
1391 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1392 >    -887,  -887,  -887,  -176,  -887,   969,   876,   947,  -887,  -887,
1393 >    -887,  -887,  -887,  -887,   848,  -887,   856,   948,  -887,  -887,
1394 >     951,   953,  -887,  -887,   954,  -887,  -887,  -887,  -887,  -887,
1395 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -159,  -887,  -887,
1396 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1397 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1398 >    -887,  -887,  -887,  -887,  -887,  -157,  -887,  -887,  -887,  -887,
1399 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1400 >    -887,  -887,  -887,  -144,  -887,  -887,   959,   -89,   957,   955,
1401 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1402 >    -887,  -887,  -887,  -887,  -887,  -887,  -126,  -887,  -887,  -887,
1403 >     -26,  -887,  -887,  -887,  -887,    -1,  -887,  -887,  -887,   423,
1404 >    -887,   -18,  -887,  -887,  -887,   963,   965,   972,   973,   977,
1405 >     993,  -887,   481,  -887,   807,  -887,   338,   961,   962,   964,
1406 >     227,  -887,  -887,   577,  -887,  -887,  -887,  -887,  -887,  -887,
1407 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1408 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -123,  -887,
1409 >    -887,  -887,   227,  -887
1410   };
1411  
1412 < /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1413 <   Performed when YYTABLE doesn't specify something else to do.  Zero
1414 <   means the default is an error.  */
1412 >  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1413 >     Performed when YYTABLE does not specify something else to do.  Zero
1414 >     means the default is an error.  */
1415   static const yytype_uint16 yydefact[] =
1416   {
1417 <       2,     0,     1,     0,     0,     0,   218,   381,   429,     0,
1418 <     444,     0,   284,   420,   260,     0,   107,   145,   318,     0,
1419 <       0,   359,     0,     0,   335,     3,    23,    11,     4,    24,
1420 <       5,     6,     8,     9,    10,    13,    14,    15,    16,    17,
1421 <      18,    19,    20,    22,    21,     7,    12,    25,    26,     0,
1417 >       2,     0,     1,     0,     0,     0,   234,   399,   447,     0,
1418 >     462,     0,   302,   438,   278,     0,   100,   152,   336,     0,
1419 >       0,   377,     0,   109,     0,   353,     3,    23,    11,     4,
1420 >      24,    25,     5,     6,     8,     9,    10,    13,    14,    15,
1421 >      16,    17,    18,    19,    20,    22,    21,     7,    12,    26,
1422 >      27,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1423         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1424 +       0,     0,     0,     0,     0,     0,     0,     0,    92,    93,
1425 +      95,    94,   629,     0,     0,     0,     0,     0,     0,     0,
1426 +       0,     0,     0,     0,     0,   617,   628,   619,   620,   621,
1427 +     622,   623,   624,   625,   618,   626,   627,     0,     0,     0,
1428 +     460,     0,     0,   458,   459,     0,   519,     0,     0,     0,
1429         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1681       0,     0,     0,     0,     0,    99,   100,   102,   101,   616,
1430         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1431 <       0,     0,     0,   603,   615,   605,   606,   607,   608,   604,
1684 <     609,   610,   611,   612,   613,   614,     0,     0,     0,   442,
1685 <       0,     0,   440,   441,     0,   503,     0,     0,     0,     0,
1431 >       0,     0,   588,   562,     0,     0,     0,     0,     0,     0,
1432         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1433 +       0,     0,     0,   473,   474,   475,   517,   518,   512,   513,
1434 +     514,   515,   511,   485,   476,   477,   478,   479,   480,   481,
1435 +     482,   483,   484,   486,   487,   516,   491,   492,   493,   494,
1436 +     490,   489,   495,   502,   503,   496,   497,   498,   488,   500,
1437 +     509,   510,   507,   508,   501,   499,   505,   506,   504,     0,
1438 +       0,     0,     0,     0,     0,     0,    46,    47,    48,     0,
1439 +       0,     0,   653,     0,     0,     0,     0,     0,     0,     0,
1440 +       0,     0,     0,   643,   644,   645,   646,   647,   648,   649,
1441 +     651,   650,   652,     0,     0,     0,     0,     0,     0,     0,
1442         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1443 <       0,     0,   573,     0,   548,     0,     0,     0,     0,     0,
1443 >       0,     0,    54,    69,    66,    64,    70,    71,    65,    55,
1444 >      68,    58,    59,    60,    56,    67,    61,    62,    63,    57,
1445 >       0,     0,     0,     0,   124,   125,   126,     0,     0,   351,
1446 >       0,     0,   349,   350,     0,    96,     0,     0,     0,     0,
1447 >      91,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1448 >       0,     0,     0,   616,     0,     0,     0,     0,   272,     0,
1449         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1450 <       0,     0,     0,     0,   455,   501,   495,   496,   497,   498,
1451 <     499,   494,   466,   456,   457,   458,   459,   460,   461,   462,
1452 <     463,   464,   465,   491,   467,   468,   500,   470,   475,   471,
1453 <     473,   472,   485,   486,   474,   476,   477,   478,   479,   469,
1454 <     481,   482,   483,   502,   492,   493,   490,   484,   480,   488,
1455 <     489,   487,     0,     0,     0,     0,     0,     0,     0,    45,
1456 <      46,    47,     0,     0,     0,   640,     0,     0,     0,     0,
1697 <       0,     0,     0,     0,     0,   631,   632,   633,   634,   635,
1698 <     638,   636,   637,   639,     0,     0,     0,     0,     0,     0,
1450 >       0,     0,     0,   237,   238,   241,   243,   244,   245,   246,
1451 >     247,   248,   249,   250,   251,   239,   240,   242,   252,   253,
1452 >     254,     0,     0,     0,     0,     0,     0,     0,   427,     0,
1453 >       0,     0,     0,     0,     0,     0,     0,   402,   403,   404,
1454 >     405,   406,   407,   408,   410,   409,   412,   416,   413,   414,
1455 >     415,   411,   453,     0,     0,     0,   450,   451,   452,     0,
1456 >       0,   457,   468,     0,     0,     0,   465,   466,   467,     0,
1457         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1700       0,     0,     0,    53,    68,    69,    67,    64,    63,    70,
1701      54,    66,    57,    58,    59,    55,    65,    60,    61,    62,
1702      56,     0,     0,     0,     0,   118,   119,   120,     0,   333,
1703       0,     0,   331,   332,     0,   103,     0,     0,     0,     0,
1704      98,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1705       0,     0,     0,     0,   602,     0,     0,     0,     0,   254,
1458         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1707       0,     0,     0,   221,   222,   225,   227,   228,   229,   230,
1708     231,   232,   233,   234,   223,   224,   226,   235,   236,   237,
1709       0,     0,     0,     0,     0,     0,     0,   409,     0,     0,
1710       0,     0,     0,     0,     0,     0,   384,   385,   386,   387,
1711     388,   389,   390,   392,   391,   394,   398,   395,   396,   397,
1712     393,   435,     0,     0,     0,   432,   433,   434,     0,     0,
1713     439,   450,     0,     0,     0,   447,   448,   449,     0,     0,
1459         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1460         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1461 +       0,     0,     0,     0,     0,   472,     0,     0,     0,   319,
1462 +       0,     0,     0,     0,     0,     0,   305,   306,   307,   308,
1463 +     313,   309,   310,   311,   312,   444,     0,     0,     0,   441,
1464 +     442,   443,     0,     0,     0,   280,     0,   290,     0,   288,
1465 +     289,   291,   292,    49,     0,     0,     0,    45,     0,     0,
1466 +       0,     0,   103,   104,   105,     0,     0,     0,   201,     0,
1467 +       0,     0,     0,   175,     0,     0,     0,   155,   156,   157,
1468 +     158,   159,   162,   163,   164,   161,   160,   165,     0,     0,
1469 +       0,     0,     0,   339,   340,   341,   342,     0,     0,     0,
1470 +       0,     0,     0,     0,     0,     0,     0,   642,    72,     0,
1471         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1472 +       0,     0,     0,     0,     0,     0,     0,    53,     0,     0,
1473 +     385,     0,   380,   381,   382,   127,     0,     0,   123,     0,
1474 +       0,     0,     0,     0,     0,     0,   112,   113,   115,   114,
1475 +     116,     0,     0,   348,     0,     0,   363,     0,     0,   356,
1476 +     357,   358,   359,     0,     0,     0,    90,     0,    28,     0,
1477 +       0,     0,     0,     0,     0,     0,     0,     0,     0,   615,
1478 +     255,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1479 +       0,     0,     0,     0,     0,     0,     0,     0,     0,   236,
1480 +     417,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1481 +       0,     0,     0,     0,     0,     0,   401,     0,     0,     0,
1482 +     449,     0,   456,     0,     0,     0,   464,     0,     0,     0,
1483         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1718       0,     0,     0,     0,     0,     0,   454,     0,     0,     0,
1719     301,     0,     0,     0,     0,     0,     0,   287,   288,   289,
1720     290,   295,   291,   292,   293,   294,   426,     0,     0,     0,
1721     423,   424,   425,     0,     0,     0,   262,     0,   272,     0,
1722     270,   271,   273,   274,    48,     0,     0,     0,    44,     0,
1723       0,     0,     0,   110,   111,   112,     0,     0,     0,   191,
1724       0,     0,     0,     0,   166,     0,     0,   148,   149,   150,
1725     151,   154,   155,   156,   153,   152,   157,     0,     0,     0,
1726       0,     0,   321,   322,   323,   324,     0,     0,     0,     0,
1727       0,     0,     0,     0,     0,   630,    71,     0,     0,     0,
1484         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1729       0,     0,     0,     0,     0,    52,     0,     0,   367,     0,
1730     362,   363,   364,   121,     0,     0,   117,     0,     0,     0,
1731     330,     0,     0,   345,     0,     0,   338,   339,   340,   341,
1732       0,     0,     0,    97,     0,     0,     0,     0,    27,     0,
1733       0,     0,     0,     0,     0,     0,     0,   601,   238,     0,
1485         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1735       0,     0,     0,     0,     0,     0,   220,   399,     0,     0,
1486         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1487 <       0,     0,     0,   383,     0,     0,     0,   431,     0,   438,
1488 <       0,     0,     0,   446,     0,     0,     0,     0,     0,     0,
1487 >       0,     0,     0,     0,   471,   314,     0,     0,     0,     0,
1488 >       0,     0,     0,     0,     0,   304,     0,     0,     0,   440,
1489 >     293,     0,     0,     0,     0,     0,   287,     0,     0,    44,
1490 >     106,     0,     0,     0,   102,   166,     0,     0,     0,     0,
1491 >       0,     0,     0,     0,     0,     0,     0,   154,   343,     0,
1492 >       0,     0,     0,   338,     0,     0,     0,     0,     0,     0,
1493 >       0,     0,     0,   641,     0,     0,     0,     0,     0,     0,
1494         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1495 +       0,    52,   383,     0,     0,     0,   379,     0,   122,     0,
1496 +     117,     0,     0,     0,     0,     0,   111,     0,   347,   360,
1497 +       0,     0,     0,     0,   355,    99,    98,    97,   639,    28,
1498 +      28,    28,    28,    28,    28,    28,    30,    29,   640,   630,
1499 +     631,   632,   633,   634,   635,   636,   638,   637,     0,     0,
1500         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1501 +       0,     0,     0,    38,     0,     0,   235,     0,     0,     0,
1502         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1503 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1504 <       0,     0,     0,   453,   296,     0,     0,     0,     0,     0,
1505 <       0,     0,     0,     0,   286,     0,     0,     0,   422,   275,
1506 <       0,     0,     0,     0,     0,   269,     0,     0,    43,   113,
1507 <       0,     0,     0,   109,   158,     0,     0,     0,     0,     0,
1508 <       0,     0,     0,     0,     0,   147,   325,     0,     0,     0,
1509 <       0,   320,     0,     0,     0,     0,     0,     0,     0,     0,
1510 <     629,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1511 <       0,     0,     0,     0,    76,    77,     0,    75,    80,    81,
1512 <       0,    79,     0,     0,    51,   365,     0,     0,     0,   361,
1513 <       0,   116,     0,     0,   329,   342,     0,     0,     0,     0,
1514 <     337,   106,   105,   104,   624,   623,   617,   627,    27,    27,
1515 <      27,    27,    27,    27,    27,    29,    28,   628,   618,   619,
1516 <     622,   621,   620,   625,   626,     0,     0,     0,     0,     0,
1517 <       0,     0,     0,     0,     0,     0,     0,     0,     0,    37,
1518 <       0,     0,   219,     0,     0,     0,     0,     0,     0,     0,
1519 <       0,     0,     0,     0,     0,     0,     0,     0,   382,     0,
1520 <       0,   430,   443,     0,     0,   445,   515,   519,   533,   600,
1521 <     546,   540,   543,   514,   506,   505,   508,   509,   507,   522,
1522 <     512,   513,   523,   511,   518,   517,   516,   541,   504,   598,
1523 <     599,   537,   583,   577,   594,   578,   579,   580,   588,   597,
1524 <     581,   591,   595,   584,   596,   589,   585,   590,   582,   593,
1525 <     587,   586,   592,     0,   576,   539,   557,   552,   569,   553,
1526 <     554,   555,   563,   572,   556,   566,   570,   559,   571,   564,
1527 <     560,   565,   558,   568,   562,   561,   567,     0,   551,   534,
1528 <     532,   535,   545,   536,   525,   530,   531,   528,   529,   526,
1529 <     527,   544,   547,   510,   538,   521,   520,   542,   524,     0,
1530 <       0,     0,     0,     0,     0,     0,     0,   285,     0,     0,
1531 <     421,     0,     0,     0,   280,   276,   279,   261,    49,    50,
1532 <       0,     0,   108,     0,     0,     0,     0,     0,     0,     0,
1533 <       0,     0,   146,     0,     0,     0,   319,   642,   641,   647,
1534 <     645,   648,   643,   644,   646,    88,    96,    87,    94,    95,
1535 <      86,    90,    89,    83,    82,    84,    93,    85,    72,     0,
1536 <      73,     0,    91,    92,     0,     0,   360,   122,     0,     0,
1537 <       0,   134,     0,   126,   127,   129,   128,   334,     0,     0,
1538 <       0,   336,    30,    31,    32,    33,    34,    35,    36,   249,
1539 <     250,   242,   259,   258,     0,   257,   244,   246,   253,   245,
1540 <     243,   252,   239,   251,   241,   240,    37,    37,    37,    39,
1541 <      38,   247,   248,   404,   407,   408,   418,   415,   401,   416,
1542 <     413,   414,     0,   412,   417,   400,   406,   403,   405,   419,
1543 <     402,   436,   437,   451,   452,   574,     0,   549,     0,   299,
1544 <     300,   309,   306,   311,   307,   308,   314,   310,   312,   305,
1545 <     313,     0,   304,   298,   317,   316,   315,   297,   428,   427,
1546 <     283,   282,   267,   268,   266,     0,   265,     0,     0,     0,
1547 <     114,   115,   165,   162,   210,   198,   207,   206,   196,   201,
1787 <     217,   209,   215,   200,   203,   212,   214,   211,   208,   216,
1788 <     204,   213,   202,   205,     0,   194,   159,   161,   163,   164,
1789 <     175,   170,   187,   171,   172,   173,   181,   190,   174,   184,
1790 <     188,   177,   189,   182,   178,   183,   176,   186,   180,   179,
1791 <     185,     0,   169,   160,   328,   326,   327,    74,    78,   366,
1792 <     371,   377,   380,   373,   379,   374,   378,   376,   372,   375,
1793 <       0,   370,   130,     0,     0,     0,     0,   125,   343,   349,
1794 <     355,   358,   351,   357,   352,   356,   354,   350,   353,     0,
1795 <     348,   344,   255,     0,    40,    41,    42,   410,     0,   575,
1796 <     550,   302,     0,   263,     0,   281,   278,   277,     0,     0,
1797 <       0,   192,     0,   167,     0,   368,     0,     0,     0,     0,
1798 <       0,   124,   346,     0,   256,   411,   303,   264,   197,   195,
1799 <     199,   193,   168,   369,   131,   133,   132,   140,   143,   142,
1800 <     139,   144,   141,   138,     0,   137,   347,   135,     0,   136
1801 < };
1802 <
1803 < /* YYDEFGOTO[NTERM-NUM].  */
1804 < static const yytype_int16 yydefgoto[] =
1805 < {
1806 <      -1,     1,    25,   805,   806,  1059,  1060,    26,   218,   219,
1807 <     220,   221,    27,   262,   263,   264,   265,   766,   767,   770,
1808 <     771,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1809 <     275,   276,   277,   278,   279,   280,    28,    74,    75,    76,
1810 <      77,    78,    29,    61,   492,   493,   494,   495,    30,   284,
1811 <     285,   286,   287,   288,  1022,  1023,  1024,  1025,  1026,  1195,
1812 <    1264,  1265,    31,    62,   506,   507,   508,   509,   510,   511,
1813 <     512,   513,   514,   515,   732,  1171,  1172,   516,   727,  1144,
1814 <    1145,    32,    51,   332,   333,   334,   335,   336,   337,   338,
1815 <     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
1816 <     349,   602,  1044,  1045,    33,    59,   478,   712,  1115,  1116,
1817 <     479,   480,   481,  1119,   965,   966,   482,   483,    34,    57,
1818 <     456,   457,   458,   459,   460,   461,   462,   697,  1101,  1102,
1819 <     463,   464,   465,    35,    63,   521,   522,   523,   524,   525,
1820 <      36,   291,   292,   293,    37,    69,   575,   576,   577,   578,
1821 <     579,   787,  1209,  1210,    38,    66,   559,   560,   561,   562,
1822 <     777,  1190,  1191,    39,    52,   365,   366,   367,   368,   369,
1823 <     370,   371,   372,   373,   374,   375,   624,  1072,  1073,   376,
1824 <     377,   378,   379,   380,    40,    58,   469,   470,   471,   472,
1825 <      41,    53,   384,   385,   386,   387,    42,   111,   112,   113,
1826 <      43,    55,   394,   395,   396,   397,    44,   163,   164,   165,
1827 <     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1828 <     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1829 <     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1830 <     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1831 <     206,   207,   426,   927,   928,   208,   424,   903,   904,   209,
1832 <     210,   211,    45,    92,    93,    94,    95,    96,    97,    98,
1833 <      99,   100,   101,   102,   103,   104,   105,    46,   234,   235,
1834 <     236,   237,   238,   239,   240,   241,   242,   243
1503 >       0,     0,   400,     0,     0,   448,   461,     0,     0,   463,
1504 >     532,   536,   520,   521,   551,   523,   614,   559,   524,   525,
1505 >     556,   531,   530,   539,   529,   526,   527,   535,   534,   533,
1506 >     557,   522,   612,   613,   555,   598,   592,   608,   593,   594,
1507 >     595,   603,   611,   596,   605,   609,   599,   610,   600,   604,
1508 >     597,   607,   602,   601,   606,     0,   591,   571,   572,   573,
1509 >     566,   584,   567,   568,   569,   579,   587,   570,   581,   585,
1510 >     575,   586,   576,   580,   574,   583,   578,   577,   582,     0,
1511 >     565,   552,   550,   553,   558,   554,   541,   548,   549,   546,
1512 >     547,   542,   543,   544,   545,   560,   561,   528,   538,   537,
1513 >     540,     0,     0,     0,     0,     0,     0,     0,     0,   303,
1514 >       0,     0,   439,     0,     0,     0,   298,   294,   297,   279,
1515 >      50,    51,     0,     0,   101,     0,     0,     0,     0,     0,
1516 >       0,     0,     0,     0,     0,   153,     0,     0,     0,   337,
1517 >     657,   654,   655,   656,   661,   660,   662,   658,   659,    86,
1518 >      81,    89,    80,    87,    88,    79,    83,    82,    74,    73,
1519 >      78,    75,    77,    76,    84,    85,     0,     0,   378,   128,
1520 >       0,     0,     0,   140,     0,   132,   133,   135,   134,     0,
1521 >       0,     0,     0,   110,   352,     0,     0,     0,   354,    31,
1522 >      32,    33,    34,    35,    36,    37,   267,   268,   259,   277,
1523 >     276,     0,   275,   260,   262,   264,   271,   263,   261,   270,
1524 >     256,   269,   258,   257,    38,    38,    38,    40,    39,   265,
1525 >     266,   422,   425,   426,   436,   433,   419,   434,   431,   432,
1526 >       0,   430,   435,   418,   424,   421,   423,   437,   420,   454,
1527 >     455,   469,   470,   589,     0,   563,     0,   317,   318,   328,
1528 >     324,   325,   327,   332,   329,   330,   323,   331,   326,     0,
1529 >     322,   316,   335,   334,   333,   315,   446,   445,   301,   300,
1530 >     285,   286,   284,     0,   283,     0,     0,     0,   107,   108,
1531 >     174,   171,   221,   233,   208,   217,     0,   206,   211,   227,
1532 >       0,   220,   225,   231,   210,   213,   222,   224,   228,   218,
1533 >     226,   214,   232,   216,   223,   212,   215,     0,   204,   167,
1534 >     169,   172,   173,   184,   185,   186,   179,   197,   180,   181,
1535 >     182,   192,   200,   183,   194,   198,   188,   199,   189,   193,
1536 >     187,   196,   191,   190,   195,     0,   178,   168,   170,   346,
1537 >     344,   345,   384,   389,   395,   398,   391,   397,   392,   396,
1538 >     394,   390,   393,     0,   388,   136,     0,     0,     0,     0,
1539 >     131,   119,   118,   120,   121,   361,   367,   373,   376,   369,
1540 >     375,   370,   374,   372,   368,   371,     0,   366,   362,   273,
1541 >       0,    41,    42,    43,   428,     0,   590,   564,   320,     0,
1542 >     281,     0,   299,   296,   295,     0,     0,     0,     0,     0,
1543 >       0,   202,     0,   176,     0,   386,     0,     0,     0,     0,
1544 >       0,   130,   364,     0,   274,   429,   321,   282,   207,   230,
1545 >     205,   229,   219,   209,   203,   177,   387,   137,   139,   138,
1546 >     150,   149,   145,   147,   151,   148,   144,   146,     0,   143,
1547 >     365,   141,     0,   142
1548   };
1549  
1550 < /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1551 <   STATE-NUM.  */
1839 < #define YYPACT_NINF -736
1840 < static const yytype_int16 yypact[] =
1550 >  /* YYPGOTO[NTERM-NUM].  */
1551 > static const yytype_int16 yypgoto[] =
1552   {
1553 <    -736,   630,  -736,  -163,  -195,  -186,  -736,  -736,  -736,  -184,
1554 <    -736,  -174,  -736,  -736,  -736,  -172,  -736,  -736,  -736,  -148,
1555 <    -145,  -736,  -143,  -138,  -736,  -736,  -736,  -736,  -736,  -736,
1556 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1557 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   311,
1558 <     925,  -125,   -92,   -71,    25,   -58,   424,   -53,   -50,   -38,
1559 <      49,   -22,   -20,     2,   622,   338,    27,     9,    26,    39,
1560 <    -131,   -16,    51,    70,     8,  -736,  -736,  -736,  -736,  -736,
1561 <      72,    74,    76,    80,    83,    98,   100,   103,   104,   110,
1562 <     116,   118,   325,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1563 <    -736,  -736,  -736,  -736,  -736,  -736,   650,   352,   189,  -736,
1564 <     122,    15,  -736,  -736,    65,  -736,   123,   127,   129,   131,
1565 <     132,   133,   134,   136,   137,   139,   140,   141,   143,   144,
1566 <     148,   150,   151,   152,   153,   155,   156,   158,   159,   160,
1567 <     161,   164,  -736,   165,  -736,   166,   170,   171,   178,   183,
1568 <     185,   188,   190,   191,   192,   194,   199,   205,   206,   207,
1569 <     210,   213,   214,   107,  -736,  -736,  -736,  -736,  -736,  -736,
1570 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1571 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1572 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1573 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1574 <    -736,  -736,   475,     6,   278,    48,   215,   216,    46,  -736,
1575 <    -736,  -736,    11,   489,    17,  -736,   218,   220,   221,   224,
1576 <     225,   228,   229,   230,     7,  -736,  -736,  -736,  -736,  -736,
1577 <    -736,  -736,  -736,  -736,   124,   231,   233,   235,   236,   239,
1578 <     247,   248,   250,   252,   257,   258,   259,   262,   268,   269,
1579 <     270,   271,    21,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1580 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1581 <    -736,    35,   281,   276,    18,  -736,  -736,  -736,   120,  -736,
1582 <     282,    62,  -736,  -736,     5,  -736,   291,   294,   380,   287,
1872 <    -736,   411,   413,   315,   417,   418,   418,   418,   419,   420,
1873 <     421,   323,   334,   322,  -736,   324,   320,   326,   327,  -736,
1874 <     330,   333,   335,   336,   337,   340,   341,   344,   346,   347,
1875 <     353,   356,   186,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1876 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1877 <     328,   358,   360,   361,   362,   363,   364,  -736,   367,   370,
1878 <     371,   372,   375,   377,   383,   279,  -736,  -736,  -736,  -736,
1879 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1880 <    -736,  -736,   384,   385,    22,  -736,  -736,  -736,   439,   389,
1881 <    -736,  -736,   387,   388,    20,  -736,  -736,  -736,   400,   418,
1882 <     418,   458,   410,   511,   497,   431,   418,   433,   513,   518,
1883 <     418,   519,   435,   436,   445,   418,   520,   521,   418,   548,
1884 <     552,   553,   554,   456,   450,   465,   453,   477,   418,   418,
1885 <     478,   481,   482,  -182,  -139,   483,   486,   560,   418,   490,
1886 <     491,   418,   418,   493,   494,   459,  -736,   479,   480,   484,
1887 <    -736,   495,   496,   500,   501,   502,    32,  -736,  -736,  -736,
1888 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,   507,   509,    45,
1889 <    -736,  -736,  -736,   485,   512,   515,  -736,   517,  -736,    10,
1890 <    -736,  -736,  -736,  -736,  -736,   580,   584,   514,  -736,   522,
1891 <     530,   534,    14,  -736,  -736,  -736,   524,   535,   536,  -736,
1892 <     537,   538,   539,   540,  -736,   541,    12,  -736,  -736,  -736,
1893 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,   545,   544,   549,
1894 <     550,     4,  -736,  -736,  -736,  -736,   503,   533,   565,   598,
1895 <     568,   571,   572,   418,   556,  -736,  -736,   599,   574,   602,
1896 <     638,   675,   661,   662,   663,   664,   665,   666,   682,   669,
1897 <     -98,    59,   672,   673,   573,  -736,   575,   569,  -736,    89,
1898 <    -736,  -736,  -736,  -736,   591,   576,  -736,   577,   679,   578,
1899 <    -736,   581,   582,  -736,   583,    19,  -736,  -736,  -736,  -736,
1900 <     587,   588,   596,  -736,   600,   604,   607,   608,   579,   612,
1901 <     614,   615,   616,   617,   619,   620,   621,  -736,  -736,   700,
1902 <     716,   418,   623,   719,   742,   418,   744,   746,   418,   686,
1903 <     747,   748,   418,   750,   750,   628,  -736,  -736,   751,   121,
1904 <     753,   660,   754,   758,   637,   760,   761,   763,   762,   765,
1905 <     766,   767,   648,  -736,   771,   773,   674,  -736,   684,  -736,
1906 <     774,   775,   688,  -736,   690,   692,   693,   695,   696,   703,
1907 <     704,   705,   707,   708,   709,   713,   715,   718,   721,   724,
1908 <     726,   727,   729,   731,   732,   733,   734,   735,   736,   739,
1909 <     657,   740,   701,   741,   743,   749,   752,   755,   756,   757,
1910 <     759,   764,   768,   769,   770,   776,   777,   781,   782,   783,
1911 <     784,   785,   786,  -736,  -736,   802,   678,   772,   821,   792,
1912 <     840,   844,   846,   787,  -736,   847,   848,   788,  -736,  -736,
1913 <     849,   850,   789,   867,   790,  -736,   791,   793,  -736,  -736,
1914 <     853,   855,   794,  -736,  -736,   856,   778,   795,   860,   862,
1915 <     864,   865,   796,   869,   797,  -736,  -736,   875,   876,   891,
1916 <     800,  -736,   801,   803,   806,   807,   808,   809,   810,   811,
1917 <    -736,   812,   813,   814,   815,   816,   817,   818,   819,   820,
1918 <     822,   823,   824,   825,  -736,  -736,  -194,  -736,  -736,  -736,
1919 <    -187,  -736,   826,   827,  -736,  -736,   897,   799,   828,  -736,
1920 <     829,  -736,    66,   830,  -736,  -736,   898,   831,   923,   832,
1921 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   418,   418,
1922 <     418,   418,   418,   418,   418,  -736,  -736,  -736,  -736,  -736,
1923 <    -736,  -736,  -736,  -736,  -736,   833,   835,   836,   -36,   837,
1924 <     838,   839,   841,   842,   843,   845,   851,   852,   854,   265,
1925 <     857,   858,  -736,   859,   861,   863,   866,   868,   870,   871,
1926 <      16,   872,   873,   874,   877,   878,   879,   880,  -736,   881,
1927 <     882,  -736,  -736,   883,   884,  -736,  -736,  -736,  -736,  -736,
1928 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1929 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1930 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1931 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1932 <    -736,  -736,  -736,  -171,  -736,  -736,  -736,  -736,  -736,  -736,
1933 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1934 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -155,  -736,  -736,
1935 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1936 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   885,
1937 <     886,   275,   887,   888,   889,   890,   892,  -736,   893,   894,
1938 <    -736,   895,   896,     0,   901,   899,  -736,  -736,  -736,  -736,
1939 <     900,   902,  -736,   904,   905,   476,   906,   907,   908,   909,
1940 <     745,   910,  -736,   911,   912,   913,  -736,  -736,  -736,  -736,
1941 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1942 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   -98,
1943 <    -736,    59,  -736,  -736,   914,   393,  -736,  -736,   915,   916,
1944 <     917,  -736,    75,  -736,  -736,  -736,  -736,  -736,   918,   738,
1945 <     921,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1946 <    -736,  -736,  -736,  -736,  -133,  -736,  -736,  -736,  -736,  -736,
1947 <    -736,  -736,  -736,  -736,  -736,  -736,   750,   750,   750,  -736,
1948 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1949 <    -736,  -736,  -124,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1950 <    -736,  -736,  -736,  -736,  -736,  -736,   657,  -736,   701,  -736,
1951 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1952 <    -736,  -104,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1953 <    -736,  -736,  -736,  -736,  -736,   -68,  -736,   948,   867,   922,
1954 <    -736,  -736,  -736,  -736,  -736,   919,  -736,  -736,   920,  -736,
1955 <    -736,  -736,  -736,   924,  -736,  -736,  -736,  -736,  -736,  -736,
1956 <    -736,  -736,  -736,  -736,   -43,  -736,  -736,  -736,  -736,  -736,
1957 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1958 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1959 <    -736,   -30,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1960 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1961 <     -21,  -736,  -736,   942,   -90,   927,   926,  -736,  -736,  -736,
1962 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   -15,
1963 <    -736,  -736,  -736,   -36,  -736,  -736,  -736,  -736,    16,  -736,
1964 <    -736,  -736,   275,  -736,     0,  -736,  -736,  -736,   940,   943,
1965 <     944,  -736,   476,  -736,   745,  -736,   393,   928,   931,   932,
1966 <     516,  -736,  -736,   738,  -736,  -736,  -736,  -736,  -736,  -736,
1967 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1968 <    -736,  -736,  -736,  -736,    61,  -736,  -736,  -736,   516,  -736
1553 >    -887,  -887,  -887,    15,  -300,  -886,  -626,  -887,  -887,   958,
1554 >    -887,  -887,  -887,  -887,   920,  -887,  -887,  -887,  -887,  -887,
1555 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1556 >    -887,  -887,  -887,  -887,  1047,  -887,  -887,  -887,  -887,  -887,
1557 >    -887,   637,  -887,  -887,  -887,  -887,  -887,   556,  -887,  -887,
1558 >    -887,  -887,  -887,  -887,   938,  -887,  -887,  -887,  -887,   103,
1559 >    -887,  -887,  -887,  -887,  -887,  -166,  -887,  -887,  -887,   633,
1560 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1561 >    -887,  -121,  -887,  -887,  -887,  -118,  -887,  -887,  -887,   814,
1562 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1563 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,   -77,
1564 >    -887,  -887,  -887,  -887,  -887,   -76,  -887,   700,  -887,  -887,
1565 >    -887,    26,  -887,  -887,  -887,  -887,  -887,   712,  -887,  -887,
1566 >    -887,  -887,  -887,  -887,  -887,   -73,  -887,  -887,  -887,  -887,
1567 >    -887,  -887,   655,  -887,  -887,  -887,  -887,  -887,   939,  -887,
1568 >    -887,  -887,  -887,   602,  -887,  -887,  -887,  -887,  -887,   -94,
1569 >    -887,  -887,  -887,   623,  -887,  -887,  -887,  -887,   -74,  -887,
1570 >    -887,  -887,   956,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1571 >    -887,  -887,  -887,  -887,   -52,  -887,  -887,  -887,  -887,  -887,
1572 >    -887,  -887,  -887,   726,  -887,  -887,  -887,  -887,  -887,   810,
1573 >    -887,  -887,  -887,  -887,  1084,  -887,  -887,  -887,  -887,   803,
1574 >    -887,  -887,  -887,  -887,  1035,  -887,  -887,  -887,  -887,  -887,
1575 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1576 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1577 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1578 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,    94,  -887,
1579 >    -887,  -887,    97,  -887,  -887,  -887,  -887,  -887,  1105,  -887,
1580 >    -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1581 >    -887,  -887,   970,  -887,  -887,  -887,  -887,  -887,  -887,  -887,
1582 >    -887,  -887
1583   };
1584  
1585 < /* YYPGOTO[NTERM-NUM].  */
1586 < static const yytype_int16 yypgoto[] =
1585 >  /* YYDEFGOTO[NTERM-NUM].  */
1586 > static const yytype_int16 yydefgoto[] =
1587   {
1588 <    -736,  -736,  -736,   -48,  -303,  -735,  -613,  -736,  -736,   903,
1589 <    -736,  -736,  -736,  -736,   929,  -736,  -736,  -736,    64,  -736,
1590 <      63,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1591 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   996,  -736,
1592 <    -736,  -736,  -736,  -736,  -736,   585,  -736,  -736,  -736,  -736,
1593 <     804,  -736,  -736,  -736,  -736,    57,  -736,  -736,  -736,  -736,
1594 <    -736,  -188,  -736,  -736,  -736,   593,  -736,  -736,  -736,  -736,
1595 <    -736,  -736,  -736,  -736,  -736,  -736,  -150,  -736,  -736,  -736,
1596 <    -146,  -736,  -736,  -736,   834,  -736,  -736,  -736,  -736,  -736,
1597 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1598 <    -736,  -736,  -736,  -122,  -736,  -736,  -736,  -736,  -736,  -135,
1599 <    -736,   643,  -736,  -736,  -736,   -25,  -736,  -736,  -736,  -736,
1600 <    -736,   644,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   -99,
1601 <    -736,  -736,  -736,  -736,  -736,  -736,   626,  -736,  -736,  -736,
1602 <    -736,  -736,   930,  -736,  -736,  -736,  -736,   566,  -736,  -736,
1603 <    -736,  -736,  -736,  -118,  -736,  -736,  -736,   592,  -736,  -736,
1604 <    -736,  -736,   -96,  -736,  -736,  -736,   798,  -736,  -736,  -736,
1605 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   -61,  -736,
1606 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,   689,  -736,  -736,
1607 <    -736,  -736,  -736,   780,  -736,  -736,  -736,  -736,  1048,  -736,
1608 <    -736,  -736,  -736,   779,  -736,  -736,  -736,  -736,   997,  -736,
1609 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1610 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1611 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1612 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1613 <    -736,  -736,  -736,  -736,    73,  -736,  -736,  -736,    79,  -736,
1614 <    -736,  -736,  -736,  -736,  1070,  -736,  -736,  -736,  -736,  -736,
1615 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   933,
1616 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736
1588 >      -1,     1,    26,   816,   817,  1077,  1078,    27,   215,   216,
1589 >     217,   218,    28,   261,   262,   263,   264,   265,   266,   267,
1590 >     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
1591 >     278,   279,    29,    77,    78,    79,    80,    81,    30,    63,
1592 >     491,   492,   493,   494,    31,    70,   575,   576,   577,   578,
1593 >     579,   580,    32,   283,   284,   285,   286,   287,  1034,  1035,
1594 >    1036,  1037,  1038,  1218,  1298,  1299,    33,    64,   506,   507,
1595 >     508,   509,   510,   511,   512,   513,   514,   515,   516,   743,
1596 >    1195,  1196,   517,   738,  1167,  1168,    34,    53,   332,   333,
1597 >     334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
1598 >     344,   345,   346,   347,   348,   349,   350,   614,  1061,  1062,
1599 >      35,    61,   477,   723,  1133,  1134,   478,   479,   480,  1137,
1600 >     977,   978,   481,   482,    36,    59,   455,   456,   457,   458,
1601 >     459,   460,   461,   708,  1119,  1120,   462,   463,   464,    37,
1602 >      65,   522,   523,   524,   525,   526,    38,   291,   292,   293,
1603 >      39,    72,   588,   589,   590,   591,   592,   801,  1236,  1237,
1604 >      40,    68,   561,   562,   563,   564,   784,  1213,  1214,    41,
1605 >      54,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1606 >     375,   376,   637,  1090,  1091,   377,   378,   379,   380,   381,
1607 >      42,    60,   468,   469,   470,   471,    43,    55,   385,   386,
1608 >     387,   388,    44,   112,   113,   114,    45,    57,   395,   396,
1609 >     397,   398,    46,   162,   163,   164,   165,   166,   167,   168,
1610 >     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1611 >     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1612 >     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1613 >     199,   200,   201,   202,   203,   204,   425,   939,   940,   205,
1614 >     424,   915,   916,   206,   207,   208,    47,    94,    95,    96,
1615 >      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1616 >      48,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1617 >     241,   242
1618   };
1619  
1620 < /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1621 <   positive, shift that token.  If negative, reduce the rule which
1622 <   number is the opposite.  If YYTABLE_NINF, syntax error.  */
2008 < #define YYTABLE_NINF -124
1620 >  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
1621 >     positive, shift that token.  If negative, reduce the rule whose
1622 >     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1623   static const yytype_int16 yytable[] =
1624   {
1625 <     830,   831,   589,   590,   591,   517,   571,   466,   225,    70,
1626 <     282,   473,   489,   496,  1042,   489,   109,   829,   517,   282,
1627 <     571,   391,   244,   381,  1070,   679,   109,   289,   680,   497,
1628 <    1008,    49,    71,   447,  1009,   226,   556,  1010,   518,    72,
1629 <      50,  1011,    54,   227,   498,   245,   466,   215,  1112,   448,
1630 <     215,   518,    56,  1085,    60,   228,   229,  1086,   230,   231,
1631 <     232,    47,    48,   289,   449,   474,   391,  1018,   681,  1087,
1632 <     475,   682,   476,  1088,   499,   110,  1018,   246,    64,   519,
1633 <     233,    65,   382,    67,   247,   110,   490,  1043,    68,   490,
1634 <     556,  1212,   519,   295,   450,  1213,   645,   646,   764,   765,
1635 <    1217,   106,   572,   652,  1218,    73,   248,   656,   115,   500,
1636 <     249,  1238,   661,   116,   117,   664,   572,   392,   250,   118,
1637 <    1221,   251,   252,   290,  1222,   674,   675,   119,   520,   501,
1638 <     467,   477,   557,   120,   107,   686,   121,   122,   689,   690,
1639 <     216,   520,   123,   216,   393,   502,   383,   124,   125,   451,
1640 <     126,   127,   128,   253,   129,   108,  1223,   452,   453,   290,
1641 <    1224,   130,   392,  1019,   217,   131,   132,   217,   114,   467,
1642 <     254,   255,  1019,   212,   133,  -123,   213,   491,   454,   503,
1643 <     491,  1231,  1113,   134,  -123,  1232,   557,   315,   214,   393,
1644 <     381,   135,  1114,   136,  1233,   137,   256,   138,  1234,   139,
1645 <     140,   316,   317,  1235,   222,   318,   223,  1236,  1071,  1242,
1646 <     504,   296,   141,  1243,   257,   258,   259,   142,   143,   144,
1647 <     573,   145,   146,   147,   574,   468,   148,   283,   224,   740,
1648 <     749,   505,   534,   299,   573,   714,   283,   734,   574,   722,
1649 <     389,   260,   261,   565,   789,   642,   554,   636,   319,   382,
1650 <     558,   455,   149,   281,  1020,   768,   769,   703,   150,   151,
1651 <     152,   153,   154,  1020,   468,   294,   320,   321,   322,   323,
1652 <     707,   487,   484,   324,  1056,  1057,  1058,   325,   297,   473,
1653 <     350,  1021,   351,   326,   352,  1267,   567,   569,  1091,  1268,
1654 <    1021,   155,   834,   835,   327,   328,   353,   298,   817,   301,
1655 <    1196,   302,   821,   303,   558,   824,   329,   304,  1092,   828,
1656 <     305,   354,    70,   383,   778,   156,   157,  1093,   158,   159,
1657 <     160,  1214,  1215,  1216,   161,   306,    79,   307,   330,   162,
1658 <     308,   309,   445,   474,   355,    71,   356,   310,   475,   244,
1659 <     476,   357,    72,   311,  1094,   312,    80,    81,   536,   388,
1660 <     398,   358,    82,   350,   399,   351,   400,   352,   401,   402,
1661 <     403,   404,   245,   405,   406,   331,   407,   408,   409,   353,
1662 <     410,   411,   829,  1095,  1096,   412,   359,   413,   414,   415,
1663 <     416,  1097,   417,   418,   354,   419,   420,   421,   422,    83,
1664 <      84,   423,   425,   427,   246,    85,    86,   428,   429,   477,
1665 <     360,   247,    87,    88,    89,   430,  1098,   355,    73,   356,
1666 <     431,   615,   432,   580,   357,   433,   581,   434,   435,   436,
1667 <     361,   437,  1099,   248,   358,   115,   438,   249,    90,    91,
1668 <     116,   117,   439,   440,   441,   250,   118,   442,   251,   252,
1669 <     443,   444,   485,   486,   119,   526,   362,   527,   528,   359,
1670 <     120,   529,   530,   121,   122,   531,   532,   533,   537,   123,
1671 <     538,  1180,   539,   540,   124,   125,   541,   126,   127,   128,
1672 <     253,   129,   363,   360,   542,   543,   447,   544,   130,   545,
1673 <    1124,  1100,   131,   132,   546,   547,   548,   254,   255,   549,
1674 <     496,   133,   448,   361,  1125,   550,   551,   552,   553,   364,
1675 <     134,  1126,   582,   564,   632,   563,   497,   449,   135,   568,
1676 <     136,   583,   137,   256,   138,  1127,   139,   140,   584,   362,
1677 <     585,   498,   586,  1181,   587,   588,   592,   593,   594,   141,
1678 <     595,   257,   258,   259,   142,   143,   144,   450,   145,   146,
1679 <     147,   596,  1128,   148,  1129,   363,   597,   599,   598,  1182,
1680 <     313,   499,   617,   600,   601,  1257,  1183,   603,   260,   261,
1681 <     604,   638,   605,   606,   607,   647,  1184,   608,   609,   149,
1682 <    1130,   610,   364,   611,   612,   150,   151,   152,   153,   154,
1683 <     613,  1239,  1258,   614,  1259,   618,   500,   619,   620,   621,
1684 <     622,   623,   451,  1185,   625,  1186,  1187,   626,   627,   628,
1685 <     452,   453,   629,  1131,   630,  1132,   501,   644,   155,  1188,
1686 <     631,   634,   635,   639,   640,   641,  1189,   648,   649,   650,
1687 <     654,   454,   502,   225,  1133,   655,   657,   662,   663,  1260,
1688 <       2,     3,   156,   157,     4,   158,   159,   160,   651,  1134,
1689 <     653,   161,   658,   659,     5,  1135,   162,     6,     7,  1136,
1690 <     226,   315,   660,     8,  1137,   665,   503,  1138,   227,   666,
1691 <     667,   668,  1139,   669,     9,   316,   317,    10,    11,   318,
1692 <     228,   229,   671,   230,   231,   232,  1140,   670,  1261,  1262,
1693 <     672,  1141,   685,   693,   673,   676,   588,   504,   677,   678,
1694 <     683,    12,  1142,   684,   455,   233,    13,   687,   688,  1143,
1695 <     691,   692,   716,   694,    14,   882,   717,   695,   505,   709,
1696 <     742,   696,   319,   798,   799,   800,   801,   802,   803,   804,
1697 <     745,   751,   698,   699,   753,    15,    16,   700,   701,   702,
1698 <     320,   321,   322,   323,   705,  1263,   706,   324,   718,   710,
1699 <     743,   325,   711,    17,   713,   754,   719,   326,   724,   906,
1700 <    1032,  1033,  1034,  1035,  1036,  1037,  1038,   720,   327,   328,
1701 <      18,   721,   725,   726,   728,   729,   730,   731,   733,   736,
1702 <     329,   737,   744,    19,    20,   746,   738,   739,   747,   748,
1703 <     750,   752,   755,   756,   757,   758,   759,   760,   761,   762,
1704 <      21,   763,   330,  1150,   772,   773,   776,   774,   780,   775,
1705 <     781,   783,   784,   782,    22,   785,  1199,   815,   825,   786,
1706 <     788,   791,   792,    23,   883,   884,   885,    24,   886,   887,
1707 <     793,   888,   889,   816,   794,   890,   819,   891,   795,   331,
1708 <     892,   796,   797,   893,   894,   895,   807,   896,   808,   809,
1709 <     810,   811,   897,   812,   813,   814,   898,   899,   900,   820,
1710 <     818,   822,   832,   823,   826,   827,   901,   829,   907,   908,
1711 <     909,   902,   910,   911,   840,   912,   913,   837,  1200,   914,
1712 <     843,   915,   848,   833,   916,   836,   838,   917,   918,   919,
1713 <     839,   920,   841,   842,   844,   950,   921,   845,   846,   847,
1714 <     922,   923,   924,   849,  1201,   850,   853,   854,   851,   953,
1715 <     925,  1202,  1151,  1152,  1153,   926,  1154,  1155,   852,  1156,
1716 <    1157,  1203,   855,  1158,   856,  1159,   857,   858,  1160,   859,
1717 <     860,  1161,  1162,  1163,   949,  1164,    79,   861,   862,   863,
1718 <    1165,   864,   865,   866,  1166,  1167,  1168,   867,  1204,   868,
1719 <    1205,  1206,   869,   952,  1169,   870,    80,    81,   871,  1170,
1720 <     872,   873,    82,   874,  1207,   875,   876,   877,   878,   879,
1721 <     880,  1208,   954,   881,   905,   929,   955,   930,   956,   958,
1722 <     959,   961,   962,   931,   964,   970,   932,   971,   973,   933,
1723 <     934,   935,   976,   936,   977,   974,   978,   979,   937,    83,
1724 <      84,   981,   938,   939,   940,    85,    86,   983,   984,   951,
1725 <     941,   942,    87,    88,    89,   943,   944,   945,   946,   947,
1726 <     948,   957,   960,   985,   967,   968,   963,   969,   972,  1014,
1727 <    1028,   982,   975,   980,   986,   987,  1015,   988,    90,    91,
1728 <     989,   990,   991,   992,   993,   994,   995,   996,   997,   998,
1729 <     999,  1000,  1001,  1002,  1003,  1030,  1004,  1005,  1006,  1007,
1730 <    1012,  1013,  1016,  1017,  1027,  1225,  1031,  1039,  1029,  1040,
1731 <    1041,  1046,  1047,  1048,  1237,  1049,  1050,  1051,  1248,  1052,
1732 <     300,  1249,  1250,  1177,  1178,  1053,  1054,   723,  1055,  1197,
1733 <    1269,  1061,  1062,  1063,  1252,  1064,  1251,  1065,   566,  1247,
1734 <    1066,  1244,  1067,  1226,  1068,  1069,  1074,  1075,  1076,   735,
1735 <     704,  1077,  1078,  1079,  1080,  1081,  1082,  1083,  1084,  1089,
1736 <    1090,  1103,  1104,  1105,  1106,  1117,  1107,  1108,  1109,  1110,
1737 <    1111,   488,   715,  1246,  1120,  1266,  1121,  1118,  1122,  1123,
1738 <    1146,  1147,  1148,  1149,  1173,  1174,  1175,  1176,  1179,  1192,
1739 <    1253,   790,  1198,  1193,  1194,  1211,  1227,   741,  1228,  1229,
1740 <    1241,   779,  1254,  1230,  1240,  1255,  1256,  1245,   708,   390,
1741 <     446,  1220,   314,   633,   637,  1219,   616,   535,     0,     0,
1742 <       0,     0,     0,   643,     0,     0,     0,     0,     0,     0,
1625 >     844,   845,   599,   212,   281,   602,   603,  1088,   605,   606,
1626 >      73,   472,   488,   465,   110,   281,    51,   382,   690,   843,
1627 >     558,    52,   691,   692,    73,  1059,  1103,   693,   488,  1130,
1628 >    1104,   465,    56,   110,   392,   558,   289,  1105,    74,   518,
1629 >    1239,  1106,   295,  1244,  1240,  1248,    75,  1245,    58,  1249,
1630 >     289,  1250,    74,    49,    50,  1251,   243,  1030,   116,    62,
1631 >      75,   570,   382,   117,   118,   473,   119,   120,  1261,    66,
1632 >    1263,   121,  1262,   474,  1264,   475,   111,    67,   519,   383,
1633 >     122,   123,   244,  1265,   245,   212,   518,  1266,   124,    69,
1634 >     489,   125,   126,   127,  1030,   111,   584,  1060,   128,   213,
1635 >     658,  1272,   660,   661,  1301,  1273,   489,    71,  1302,    76,
1636 >     107,   246,   108,   671,  1268,   129,   130,   520,   676,   559,
1637 >     214,   247,   392,    76,   383,   519,   131,   685,   686,   132,
1638 >     133,   476,   109,   393,   559,   290,   466,   134,   115,   699,
1639 >     384,   701,   702,   248,   135,   209,   136,   249,   137,   290,
1640 >     138,   210,   139,   140,   466,   250,  1031,   394,   251,   252,
1641 >     571,   211,   521,   141,   520,   570,   584,    82,   142,   143,
1642 >    1131,   144,   145,   146,   219,  -129,   147,   848,   849,  1132,
1643 >     220,   213,   495,   490,   221,   384,  -129,   253,  1241,  1242,
1644 >    1243,    83,    84,  1031,   280,   585,  1089,   288,    85,   490,
1645 >     496,   148,   214,   254,   294,   483,   255,   256,   257,   521,
1646 >     296,   149,   150,   151,   152,   153,   154,   155,   314,   497,
1647 >     297,   393,   282,   298,   301,   572,    86,    87,    88,   756,
1648 >     486,   567,   467,   282,   315,   316,   560,   299,   725,   317,
1649 >      89,    90,    91,   573,   649,   394,   498,    92,    93,  1032,
1650 >     467,   560,   351,   258,   352,   733,   353,   597,   718,   574,
1651 >     390,   655,   785,   582,   571,   585,   752,   156,   157,   158,
1652 >     354,   159,   160,  1033,   302,   303,   259,   260,   304,   538,
1653 >     161,   499,   318,   556,  1219,   444,  1032,   569,   795,   355,
1654 >     600,   657,   222,   305,   306,  1290,   307,  1291,   500,   319,
1655 >     320,   321,   322,   323,   446,   472,   356,   324,   357,   308,
1656 >    1033,   325,   586,   830,   565,   587,   358,   326,   835,   309,
1657 >     310,   838,   447,   803,   223,   842,   327,   328,   359,   572,
1658 >     501,   502,   311,   224,   225,   226,   389,   329,   227,   228,
1659 >    1292,   448,   495,   229,   230,   231,   399,   573,   400,   401,
1660 >     402,   360,   403,   446,  1074,  1075,  1076,  1293,   330,   473,
1661 >     496,   404,    82,   574,   405,   406,   407,   474,   449,   475,
1662 >     408,   447,   361,   409,   410,   411,   412,   413,   414,   497,
1663 >     415,   503,   586,   416,   417,   587,    83,    84,   418,   419,
1664 >     448,   362,   420,    85,   312,  1294,  1295,   421,   422,   423,
1665 >     363,   504,   331,   426,   427,   505,   498,   428,  1203,   746,
1666 >     429,   593,   430,   431,   222,   432,   433,   449,   434,   435,
1667 >     450,    86,    87,    88,   436,   476,   437,   438,   451,   452,
1668 >     439,   440,   441,   442,   443,    89,    90,    91,  1109,   484,
1669 >     485,   499,    92,    93,   527,   628,   223,  1296,   453,   364,
1670 >     528,   843,  1297,   529,   530,   224,   225,   226,   500,   531,
1671 >     227,   228,  1110,   532,   533,   229,   230,   231,  1204,   450,
1672 >     534,   535,   365,   539,   540,   541,   542,   451,   452,   645,
1673 >     543,   594,   544,   545,   546,  1142,   547,   116,   548,   549,
1674 >     501,   502,   117,   118,  1111,   119,   120,   453,   550,  1205,
1675 >     121,  1143,  1144,   551,   552,   553,   554,  1206,   598,   122,
1676 >     123,  1145,   555,   566,   581,   595,  1207,   124,   598,   536,
1677 >     125,   126,   127,   454,  1112,  1113,   596,   128,   601,   604,
1678 >    1114,   714,   607,   809,   810,   811,   812,   813,   814,   815,
1679 >    1208,   503,  1209,  1210,   129,   130,   608,   609,  1146,  1147,
1680 >     610,  1148,   611,   630,  1115,   131,  1211,   612,   132,   133,
1681 >     613,   504,   615,  1212,   616,   505,   134,   617,   651,  1116,
1682 >     618,   659,   454,   135,   619,   136,   620,   137,  1149,   138,
1683 >     621,   139,   140,   622,   623,   624,  1150,   625,   626,   652,
1684 >     627,  1269,   141,   631,   632,   633,   634,   142,   143,   635,
1685 >     144,   145,   146,   636,   638,   147,   639,   640,  1151,   641,
1686 >    1152,  1153,   642,   643,   644,   351,   647,   352,   648,   353,
1687 >     653,   654,   663,   662,   664,   243,   665,   666,  1154,   667,
1688 >     148,  1117,   672,   354,   668,   669,   670,   673,   674,   675,
1689 >     149,   150,   151,   152,   153,   154,   155,  1226,   677,  1118,
1690 >    1155,   244,   355,   245,   678,  1156,   679,   680,   681,  1157,
1691 >     682,   683,   684,  1158,   687,   688,   689,   694,  1159,   356,
1692 >     695,   357,  1160,   696,   697,   698,   700,   703,   704,   358,
1693 >     246,   705,   706,  1161,   727,  1162,  1163,   720,  1164,   707,
1694 >     247,   359,   709,   728,   757,   759,   156,   157,   158,  1165,
1695 >     159,   160,   710,   711,   712,   713,  1166,  1227,   716,   161,
1696 >     717,   729,   248,   721,   360,   722,   249,   724,   730,   731,
1697 >     732,     2,     3,   735,   250,     4,   764,   251,   252,   736,
1698 >     737,   739,   740,   741,   742,   361,   744,     5,  1228,   745,
1699 >       6,   749,     7,   748,   754,   750,  1229,   751,   755,     8,
1700 >     758,   760,   761,   762,   362,  1230,   253,   765,   767,   763,
1701 >     766,     9,   768,   363,   769,   770,    10,    11,   771,   772,
1702 >     773,   774,   254,   775,   776,   255,   256,   257,   787,  1231,
1703 >     777,  1232,  1233,   778,   314,    12,   779,   780,   781,    13,
1704 >     782,   797,   788,   790,   783,  1234,   828,   789,   829,    14,
1705 >     315,   316,  1235,   798,   791,   317,   917,   832,   918,   919,
1706 >     792,   793,   364,   794,   799,   800,   802,   805,   806,    15,
1707 >      16,   807,   258,   808,  1049,  1050,  1051,  1052,  1053,  1054,
1708 >    1055,   818,   819,   820,    17,   365,   821,   822,   823,   824,
1709 >     825,   833,   826,   827,   834,   259,   260,   831,   318,   836,
1710 >     837,    18,   839,   840,  1173,   841,  1174,  1175,   843,   846,
1711 >     847,   850,   851,    19,    20,   319,   320,   321,   322,   323,
1712 >     852,   853,   854,   324,   855,   856,   857,   325,   858,   859,
1713 >     860,   965,   861,   326,   862,   863,   864,    21,   867,   865,
1714 >     866,   868,   327,   328,   895,   869,   961,   870,   871,   872,
1715 >      22,   873,   874,   329,   875,    23,   876,   877,   878,   879,
1716 >      24,   880,   881,    25,   882,   964,   883,   966,   884,   885,
1717 >     886,   920,   921,   922,   330,   887,   923,   924,   888,   925,
1718 >     926,   889,   927,   890,   928,   891,   892,   929,   893,   930,
1719 >     931,   894,   941,   942,   943,   932,   944,   945,   963,   933,
1720 >     946,   947,   948,   934,   935,   936,   949,   967,   950,   951,
1721 >     937,   952,   953,   968,   954,   938,   970,   955,   331,  1176,
1722 >    1177,  1178,   971,   956,  1179,  1180,   973,  1181,  1182,   962,
1723 >    1183,   957,  1184,   974,   976,  1185,   982,  1186,  1187,   958,
1724 >     983,   975,   959,  1188,   960,   985,   986,  1189,   969,   972,
1725 >     988,  1190,  1191,  1192,   979,   980,   981,   984,  1193,   896,
1726 >     897,   898,   987,  1194,   899,   900,   989,   901,   902,   990,
1727 >     903,   991,   904,   993,   992,   905,   994,   906,   907,   995,
1728 >     996,   997,   998,   908,  1026,   999,  1000,   909,  1001,  1039,
1729 >    1002,   910,   911,   912,  1003,  1004,  1005,  1006,   913,  1007,
1730 >    1008,  1009,  1010,   914,  1011,  1012,  1013,  1014,  1015,  1016,
1731 >    1017,  1018,  1040,  1019,  1020,  1021,  1022,  1023,  1041,  1024,
1732 >    1025,  1042,  1045,  1028,  1047,  1027,  1029,  1252,  1043,  1044,
1733 >    1255,  1267,  1048,  1046,  1056,  1057,  1058,  1063,  1256,  1064,
1734 >    1065,  1278,  1066,  1067,  1068,  1279,  1069,  1070,  1071,  1072,
1735 >    1280,  1073,  1079,  1281,  1080,  1282,  1081,  1082,  1083,  1084,
1736 >    1085,  1086,  1087,  1092,  1093,  1094,  1095,  1096,  1097,  1098,
1737 >    1099,  1283,  1100,  1101,   300,  1102,  1107,  1108,   734,  1121,
1738 >    1122,   796,  1123,  1124,  1125,  1135,  1303,  1220,  1126,   747,
1739 >    1127,  1128,  1129,  1285,  1284,  1138,   629,  1136,  1139,  1140,
1740 >    1141,  1169,  1170,  1171,  1172,  1197,  1198,  1199,  1200,  1201,
1741 >    1202,  1215,  1253,  1274,  1221,  1216,  1217,   715,  1222,  1223,
1742 >    1224,  1225,  1238,   487,  1254,  1277,  1276,   753,   726,  1300,
1743 >    1257,   557,  1271,  1258,   786,  1259,  1260,  1270,  1287,  1288,
1744 >     804,  1289,  1286,  1275,   719,   650,   391,   445,   656,   313,
1745 >    1247,  1246,   537,     0,     0,     0,     0,     0,     0,     0,
1746 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1747 >       0,   568,     0,     0,     0,     0,     0,     0,     0,     0,
1748 >     583,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1749         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2130       0,   555,     0,     0,     0,     0,     0,     0,     0,     0,
1750         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1751         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1752 <       0,   570
1752 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1753 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1754 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1755 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1756 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1757 >       0,     0,   646
1758   };
1759  
2136 #define yypact_value_is_default(Yystate) \
2137  (!!((Yystate) == (-736)))
2138
2139 #define yytable_value_is_error(Yytable_value) \
2140  YYID (0)
2141
1760   static const yytype_int16 yycheck[] =
1761   {
1762 <     613,   614,   305,   306,   307,     1,     1,     1,     1,     1,
1763 <       1,     1,     1,     1,    50,     1,     1,   107,     1,     1,
1764 <       1,     1,     1,     1,     8,   207,     1,     1,   210,    17,
1765 <     224,   226,    24,     1,   228,    28,     1,   224,    34,    31,
1766 <     226,   228,   226,    36,    32,    24,     1,     1,    48,    17,
1767 <       1,    34,   226,   224,   226,    48,    49,   228,    51,    52,
1768 <      53,   224,   225,     1,    32,    55,     1,     1,   207,   224,
1769 <      60,   210,    62,   228,    62,    60,     1,    56,   226,    75,
1770 <      73,   226,    60,   226,    63,    60,    75,   123,   226,    75,
1771 <       1,   224,    75,   224,    62,   228,   399,   400,   196,   197,
1772 <     224,   226,    97,   406,   228,    97,    85,   410,     1,    97,
1773 <      89,   201,   415,     6,     7,   418,    97,    97,    97,    12,
1774 <     224,   100,   101,    97,   228,   428,   429,    20,   124,   117,
1775 <     124,   121,    97,    26,   226,   438,    29,    30,   441,   442,
1776 <      94,   124,    35,    94,   124,   133,   124,    40,    41,   117,
1777 <      43,    44,    45,   132,    47,   226,   224,   125,   126,    97,
1778 <     228,    54,    97,    97,   118,    58,    59,   118,   226,   124,
1779 <     149,   150,    97,   226,    67,   166,   226,   166,   146,   167,
1780 <     166,   224,   182,    76,   166,   228,    97,     1,   226,   124,
1781 <       1,    84,   192,    86,   224,    88,   175,    90,   228,    92,
1782 <      93,    15,    16,   224,   226,    19,   226,   228,   192,   224,
1783 <     198,   227,   105,   228,   193,   194,   195,   110,   111,   112,
1784 <     215,   114,   115,   116,   219,   219,   119,   218,   226,   225,
1785 <     533,   219,   225,   225,   215,   225,   218,   225,   219,   225,
1786 <     225,   220,   221,   225,   225,   225,   225,   225,    62,    60,
1787 <     215,   219,   145,   226,   188,   196,   197,   225,   151,   152,
1788 <     153,   154,   155,   188,   219,   226,    80,    81,    82,    83,
1789 <     225,   225,   224,    87,     9,    10,    11,    91,   227,     1,
1790 <       1,   215,     3,    97,     5,   224,   166,   225,    13,   228,
1791 <     215,   184,   171,   172,   108,   109,    17,   227,   601,   227,
1792 <     225,   227,   605,   227,   215,   608,   120,   227,    33,   612,
1793 <     227,    32,     1,   124,   225,   208,   209,    42,   211,   212,
1794 <     213,  1056,  1057,  1058,   217,   227,     1,   227,   142,   222,
1795 <     227,   227,   225,    55,    55,    24,    57,   227,    60,     1,
1796 <      62,    62,    31,   227,    69,   227,    21,    22,   224,   227,
1797 <     227,    72,    27,     1,   227,     3,   227,     5,   227,   227,
1798 <     227,   227,    24,   227,   227,   179,   227,   227,   227,    17,
1799 <     227,   227,   107,    98,    99,   227,    97,   227,   227,   227,
1800 <     227,   106,   227,   227,    32,   227,   227,   227,   227,    64,
1801 <      65,   227,   227,   227,    56,    70,    71,   227,   227,   121,
1802 <     121,    63,    77,    78,    79,   227,   131,    55,    97,    57,
1803 <     227,   225,   227,   122,    62,   227,   122,   227,   227,   227,
1804 <     141,   227,   147,    85,    72,     1,   227,    89,   103,   104,
1805 <       6,     7,   227,   227,   227,    97,    12,   227,   100,   101,
1806 <     227,   227,   227,   227,    20,   227,   167,   227,   227,    97,
1807 <      26,   227,   227,    29,    30,   227,   227,   227,   227,    35,
1808 <     227,    68,   227,   227,    40,    41,   227,    43,    44,    45,
1809 <     132,    47,   193,   121,   227,   227,     1,   227,    54,   227,
1810 <       4,   206,    58,    59,   227,   227,   227,   149,   150,   227,
1811 <       1,    67,    17,   141,    18,   227,   227,   227,   227,   220,
1812 <      76,    25,   122,   227,   225,   224,    17,    32,    84,   227,
1813 <      86,   224,    88,   175,    90,    39,    92,    93,   107,   167,
1814 <     107,    32,   207,   130,   107,   107,   107,   107,   107,   105,
1815 <     207,   193,   194,   195,   110,   111,   112,    62,   114,   115,
1816 <     116,   207,    66,   119,    68,   193,   224,   227,   224,   156,
1817 <     225,    62,   224,   227,   227,    39,   163,   227,   220,   221,
1818 <     227,   122,   227,   227,   227,   107,   173,   227,   227,   145,
1819 <      94,   227,   220,   227,   227,   151,   152,   153,   154,   155,
1820 <     227,  1194,    66,   227,    68,   227,    97,   227,   227,   227,
1821 <     227,   227,   117,   200,   227,   202,   203,   227,   227,   227,
1822 <     125,   126,   227,   127,   227,   129,   117,   207,   184,   216,
1823 <     227,   227,   227,   224,   227,   227,   223,   207,   107,   122,
1824 <     107,   146,   133,     1,   148,   107,   107,   107,   107,   113,
1825 <       0,     1,   208,   209,     4,   211,   212,   213,   207,   163,
1826 <     207,   217,   207,   207,    14,   169,   222,    17,    18,   173,
1827 <      28,     1,   207,    23,   178,   107,   167,   181,    36,   107,
1828 <     107,   107,   186,   207,    34,    15,    16,    37,    38,    19,
1829 <      48,    49,   207,    51,    52,    53,   200,   227,   162,   163,
1830 <     227,   205,   122,   224,   207,   207,   107,   198,   207,   207,
1831 <     207,    61,   216,   207,   219,    73,    66,   207,   207,   223,
1832 <     207,   207,   122,   224,    74,    48,   122,   227,   219,   224,
1833 <     207,   227,    62,   134,   135,   136,   137,   138,   139,   140,
1834 <     122,   122,   227,   227,   122,    95,    96,   227,   227,   227,
1835 <      80,    81,    82,    83,   227,   219,   227,    87,   224,   227,
1836 <     207,    91,   227,   113,   227,   107,   224,    97,   224,    48,
1837 <     798,   799,   800,   801,   802,   803,   804,   227,   108,   109,
1838 <     130,   227,   227,   227,   227,   227,   227,   227,   227,   224,
1839 <     120,   227,   207,   143,   144,   207,   227,   227,   207,   207,
1840 <     224,   207,   107,   122,   122,   122,   122,   122,   122,   107,
1841 <     160,   122,   142,    48,   122,   122,   227,   224,   207,   224,
1842 <     224,   122,   224,   226,   174,   224,    68,   107,   122,   227,
1843 <     227,   224,   224,   183,   157,   158,   159,   187,   161,   162,
1844 <     224,   164,   165,   107,   224,   168,   107,   170,   224,   179,
1845 <     173,   224,   224,   176,   177,   178,   224,   180,   224,   224,
1846 <     224,   224,   185,   224,   224,   224,   189,   190,   191,   107,
1847 <     227,   107,   224,   107,   107,   107,   199,   107,   157,   158,
1848 <     159,   204,   161,   162,   227,   164,   165,   207,   130,   168,
1849 <     107,   170,   224,   122,   173,   122,   122,   176,   177,   178,
1850 <     122,   180,   122,   122,   122,   207,   185,   122,   122,   122,
1851 <     189,   190,   191,   122,   156,   122,   122,   122,   224,   107,
1852 <     199,   163,   157,   158,   159,   204,   161,   162,   224,   164,
1853 <     165,   173,   224,   168,   224,   170,   224,   224,   173,   224,
1854 <     224,   176,   177,   178,   122,   180,     1,   224,   224,   224,
1855 <     185,   224,   224,   224,   189,   190,   191,   224,   200,   224,
1856 <     202,   203,   224,   122,   199,   224,    21,    22,   224,   204,
1857 <     224,   224,    27,   224,   216,   224,   224,   224,   224,   224,
1858 <     224,   223,   122,   224,   224,   224,   122,   224,   122,   122,
1859 <     122,   122,   122,   224,   107,   122,   224,   122,   122,   224,
1860 <     224,   224,   122,   224,   122,   207,   122,   122,   224,    64,
1861 <      65,   122,   224,   224,   224,    70,    71,   122,   122,   227,
1862 <     224,   224,    77,    78,    79,   224,   224,   224,   224,   224,
1863 <     224,   224,   224,   122,   224,   224,   227,   224,   224,   122,
1864 <     122,   224,   227,   227,   224,   224,   227,   224,   103,   104,
1865 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
1866 <     224,   224,   224,   224,   224,   122,   224,   224,   224,   224,
1867 <     224,   224,   224,   224,   224,   107,   224,   224,   227,   224,
1868 <     224,   224,   224,   224,   122,   224,   224,   224,   128,   224,
1869 <      74,   128,   128,  1009,  1011,   224,   224,   492,   224,  1022,
1870 <    1268,   224,   224,   224,  1234,   224,  1232,   224,   284,  1224,
1871 <     224,  1213,   224,  1118,   224,   224,   224,   224,   224,   506,
1872 <     456,   224,   224,   224,   224,   224,   224,   224,   224,   224,
1873 <     224,   224,   224,   224,   224,   214,   224,   224,   224,   224,
1874 <     224,   218,   479,  1222,   224,  1243,   224,   228,   224,   224,
1875 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
1876 <    1236,   575,   224,   227,   227,   224,   224,   521,   229,   229,
1877 <     224,   559,   224,   229,   227,   224,   224,  1218,   469,   111,
1878 <     163,  1088,    92,   365,   384,  1086,   332,   234,    -1,    -1,
1879 <      -1,    -1,    -1,   394,    -1,    -1,    -1,    -1,    -1,    -1,
1762 >     626,   627,   302,     1,     1,   305,   306,     8,   308,   309,
1763 >       1,     1,     1,     1,     1,     1,   229,     1,   209,   108,
1764 >       1,   229,   213,   209,     1,    51,   227,   213,     1,    47,
1765 >     231,     1,   229,     1,     1,     1,     1,   227,    29,     1,
1766 >     227,   231,   227,   227,   231,   227,    37,   231,   229,   231,
1767 >       1,   227,    29,   227,   228,   231,     1,     1,     1,   229,
1768 >      37,     1,     1,     6,     7,    55,     9,    10,   227,   229,
1769 >     227,    14,   231,    63,   231,    65,    63,   229,    40,    63,
1770 >      23,    24,    27,   227,    29,     1,     1,   231,    31,   229,
1771 >      79,    34,    35,    36,     1,    63,     1,   123,    41,    97,
1772 >     400,   227,   402,   403,   227,   231,    79,   229,   231,   100,
1773 >     229,    56,   229,   413,   203,    58,    59,    79,   418,   100,
1774 >     118,    66,     1,   100,    63,    40,    69,   427,   428,    72,
1775 >      73,   121,   229,   100,   100,   100,   124,    80,   229,   439,
1776 >     124,   441,   442,    88,    87,   229,    89,    92,    91,   100,
1777 >      93,   229,    95,    96,   124,   100,   100,   124,   103,   104,
1778 >     100,   229,   124,   106,    79,     1,     1,     1,   111,   112,
1779 >     188,   114,   115,   116,   229,   172,   119,   176,   177,   197,
1780 >     229,    97,     1,   172,   229,   124,   172,   132,  1074,  1075,
1781 >    1076,    25,    26,   100,   229,   100,   197,   229,    32,   172,
1782 >      19,   144,   118,   148,   229,   227,   151,   152,   153,   124,
1783 >     230,   154,   155,   156,   157,   158,   159,   160,     1,    38,
1784 >     230,   100,   219,   230,   230,   165,    60,    61,    62,   529,
1785 >     228,   228,   220,   219,    17,    18,   217,   228,   228,    22,
1786 >      74,    75,    76,   183,   228,   124,    65,    81,    82,   193,
1787 >     220,   217,     1,   198,     3,   228,     5,   108,   228,   199,
1788 >     228,   228,   228,   228,   100,   100,   228,   210,   211,   212,
1789 >      19,   214,   215,   217,   230,   230,   221,   222,   230,   227,
1790 >     223,   100,    65,   228,   228,   228,   193,   172,   228,    38,
1791 >     209,   209,     1,   230,   230,    68,   230,    70,   117,    82,
1792 >      83,    84,    85,    86,     1,     1,    55,    90,    57,   230,
1793 >     217,    94,   217,   613,   227,   220,    65,   100,   618,   230,
1794 >     230,   621,    19,   228,    33,   625,   109,   110,    77,   165,
1795 >     149,   150,   230,    42,    43,    44,   230,   120,    47,    48,
1796 >     113,    38,     1,    52,    53,    54,   230,   183,   230,   230,
1797 >     230,   100,   230,     1,    11,    12,    13,   130,   141,    55,
1798 >      19,   230,     1,   199,   230,   230,   230,    63,    65,    65,
1799 >     230,    19,   121,   230,   230,   230,   230,   230,   230,    38,
1800 >     230,   200,   217,   230,   230,   220,    25,    26,   230,   230,
1801 >      38,   140,   230,    32,   228,   168,   169,   230,   230,   230,
1802 >     149,   220,   185,   230,   230,   224,    65,   230,    70,   228,
1803 >     230,   122,   230,   230,     1,   230,   230,    65,   230,   230,
1804 >     117,    60,    61,    62,   230,   121,   230,   230,   125,   126,
1805 >     230,   230,   230,   230,   230,    74,    75,    76,    15,   230,
1806 >     230,   100,    81,    82,   230,   228,    33,   220,   145,   198,
1807 >     230,   108,   225,   230,   230,    42,    43,    44,   117,   230,
1808 >      47,    48,    39,   230,   230,    52,    53,    54,   130,   117,
1809 >     230,   230,   221,   230,   230,   230,   230,   125,   126,   228,
1810 >     230,   122,   230,   230,   230,     4,   230,     1,   230,   230,
1811 >     149,   150,     6,     7,    71,     9,    10,   145,   230,   161,
1812 >      14,    20,    21,   230,   230,   230,   230,   169,   108,    23,
1813 >      24,    30,   230,   230,   230,   122,   178,    31,   108,   228,
1814 >      34,    35,    36,   220,   101,   102,   227,    41,   108,   108,
1815 >     107,   228,   108,   133,   134,   135,   136,   137,   138,   139,
1816 >     202,   200,   204,   205,    58,    59,   108,   227,    67,    68,
1817 >     227,    70,   230,   227,   131,    69,   218,   230,    72,    73,
1818 >     230,   220,   230,   225,   230,   224,    80,   230,   122,   146,
1819 >     230,   108,   220,    87,   230,    89,   230,    91,    97,    93,
1820 >     230,    95,    96,   230,   230,   230,   105,   230,   230,   227,
1821 >     230,  1217,   106,   230,   230,   230,   230,   111,   112,   230,
1822 >     114,   115,   116,   230,   230,   119,   230,   230,   127,   230,
1823 >     129,   130,   230,   230,   230,     1,   230,     3,   230,     5,
1824 >     230,   230,   108,   209,   209,     1,   108,   108,   147,   108,
1825 >     144,   208,   108,    19,   209,   209,   209,   108,   108,   108,
1826 >     154,   155,   156,   157,   158,   159,   160,    70,   108,   226,
1827 >     169,    27,    38,    29,   108,   174,   108,   108,   209,   178,
1828 >     230,   230,   209,   182,   209,   209,   209,   209,   187,    55,
1829 >     209,    57,   191,   209,   209,   108,   209,   209,   227,    65,
1830 >      56,   227,   230,   202,   122,   204,   205,   227,   207,   230,
1831 >      66,    77,   230,   122,   122,   122,   210,   211,   212,   218,
1832 >     214,   215,   230,   230,   230,   230,   225,   130,   230,   223,
1833 >     230,   227,    88,   230,   100,   230,    92,   230,   227,   230,
1834 >     230,     0,     1,   227,   100,     4,   108,   103,   104,   230,
1835 >     230,   230,   230,   230,   230,   121,   230,    16,   161,   230,
1836 >      19,   230,    21,   227,   209,   230,   169,   230,   209,    28,
1837 >     209,   209,   209,   209,   140,   178,   132,   122,   122,   227,
1838 >     209,    40,   108,   149,   108,   122,    45,    46,   122,   122,
1839 >     122,   122,   148,   122,   122,   151,   152,   153,   209,   202,
1840 >     122,   204,   205,   122,     1,    64,   122,   122,   227,    68,
1841 >     227,   122,   227,   227,   230,   218,   108,   229,   108,    78,
1842 >      17,    18,   225,   227,   230,    22,    47,   108,    49,    50,
1843 >     230,   230,   198,   230,   227,   230,   230,   227,   227,    98,
1844 >      99,   227,   198,   227,   809,   810,   811,   812,   813,   814,
1845 >     815,   227,   227,   227,   113,   221,   227,   227,   227,   227,
1846 >     227,   108,   227,   227,   108,   221,   222,   230,    65,   108,
1847 >     108,   130,   122,   108,    47,   108,    49,    50,   108,   227,
1848 >     122,   122,   209,   142,   143,    82,    83,    84,    85,    86,
1849 >     122,   122,   230,    90,   122,   122,   108,    94,   122,   122,
1850 >     122,   108,   122,   100,   227,   122,   122,   166,   122,   227,
1851 >     227,   122,   109,   110,    47,   227,   122,   227,   227,   227,
1852 >     179,   227,   227,   120,   227,   184,   227,   227,   227,   227,
1853 >     189,   227,   227,   192,   227,   122,   227,   122,   227,   227,
1854 >     227,   162,   163,   164,   141,   227,   167,   168,   227,   170,
1855 >     171,   227,   173,   227,   175,   227,   227,   178,   227,   180,
1856 >     181,   227,   227,   227,   227,   186,   227,   227,   230,   190,
1857 >     227,   227,   227,   194,   195,   196,   227,   122,   227,   227,
1858 >     201,   227,   227,   122,   227,   206,   122,   227,   185,   162,
1859 >     163,   164,   122,   227,   167,   168,   122,   170,   171,   209,
1860 >     173,   227,   175,   122,   108,   178,   122,   180,   181,   227,
1861 >     122,   230,   227,   186,   227,   122,   209,   190,   227,   227,
1862 >     122,   194,   195,   196,   227,   227,   227,   227,   201,   162,
1863 >     163,   164,   230,   206,   167,   168,   122,   170,   171,   122,
1864 >     173,   209,   175,   122,   230,   178,   122,   180,   181,   227,
1865 >     122,   122,   122,   186,   122,   227,   227,   190,   227,   122,
1866 >     227,   194,   195,   196,   227,   227,   227,   227,   201,   227,
1867 >     227,   227,   227,   206,   227,   227,   227,   227,   227,   227,
1868 >     227,   227,   122,   227,   227,   227,   227,   227,   122,   227,
1869 >     227,   122,   122,   227,   122,   230,   227,   108,   227,   227,
1870 >     232,   122,   227,   230,   227,   227,   227,   227,   232,   227,
1871 >     227,   128,   227,   227,   227,   130,   227,   227,   227,   227,
1872 >     128,   227,   227,   130,   227,   128,   227,   227,   227,   227,
1873 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1874 >     227,   128,   227,   227,    77,   227,   227,   227,   491,   227,
1875 >     227,   575,   227,   227,   227,   216,  1302,  1034,   227,   506,
1876 >     227,   227,   227,  1264,  1262,   227,   332,   231,   227,   227,
1877 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1878 >     227,   227,  1136,  1240,   227,   230,   230,   455,   227,   227,
1879 >     227,   227,   227,   215,   227,  1251,  1249,   522,   478,  1273,
1880 >     232,   261,   227,   232,   561,   232,   232,   230,   227,   227,
1881 >     588,   227,  1266,  1245,   468,   385,   112,   162,   395,    94,
1882 >    1106,  1104,   232,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1883 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1884 >      -1,   283,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1885 >     291,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1886 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1887        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2263      -1,   262,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1888        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1889        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1890 <      -1,   291
1890 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1891 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1892 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1893 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1894 >      -1,    -1,   366
1895   };
1896  
1897 < /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1898 <   symbol of state STATE-NUM.  */
1897 >  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1898 >     symbol of state STATE-NUM.  */
1899   static const yytype_uint16 yystos[] =
1900   {
1901 <       0,   231,     0,     1,     4,    14,    17,    18,    23,    34,
1902 <      37,    38,    61,    66,    74,    95,    96,   113,   130,   143,
1903 <     144,   160,   174,   183,   187,   232,   237,   242,   266,   272,
1904 <     278,   292,   311,   334,   348,   363,   370,   374,   384,   393,
1905 <     414,   420,   426,   430,   436,   492,   507,   224,   225,   226,
1906 <     226,   312,   394,   421,   226,   431,   226,   349,   415,   335,
1907 <     226,   273,   293,   364,   226,   226,   385,   226,   226,   375,
1908 <       1,    24,    31,    97,   267,   268,   269,   270,   271,     1,
1909 <      21,    22,    27,    64,    65,    70,    71,    77,    78,    79,
1910 <     103,   104,   493,   494,   495,   496,   497,   498,   499,   500,
1911 <     501,   502,   503,   504,   505,   506,   226,   226,   226,     1,
1912 <      60,   427,   428,   429,   226,     1,     6,     7,    12,    20,
1913 <      26,    29,    30,    35,    40,    41,    43,    44,    45,    47,
1914 <      54,    58,    59,    67,    76,    84,    86,    88,    90,    92,
1915 <      93,   105,   110,   111,   112,   114,   115,   116,   119,   145,
1916 <     151,   152,   153,   154,   155,   184,   208,   209,   211,   212,
1917 <     213,   217,   222,   437,   438,   439,   440,   441,   442,   443,
2290 <     444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
1901 >       0,   234,     0,     1,     4,    16,    19,    21,    28,    40,
1902 >      45,    46,    64,    68,    78,    98,    99,   113,   130,   142,
1903 >     143,   166,   179,   184,   189,   192,   235,   240,   245,   265,
1904 >     271,   277,   285,   299,   319,   343,   357,   372,   379,   383,
1905 >     393,   402,   423,   429,   435,   439,   445,   499,   513,   227,
1906 >     228,   229,   229,   320,   403,   430,   229,   440,   229,   358,
1907 >     424,   344,   229,   272,   300,   373,   229,   229,   394,   229,
1908 >     278,   229,   384,     1,    29,    37,   100,   266,   267,   268,
1909 >     269,   270,     1,    25,    26,    32,    60,    61,    62,    74,
1910 >      75,    76,    81,    82,   500,   501,   502,   503,   504,   505,
1911 >     506,   507,   508,   509,   510,   511,   512,   229,   229,   229,
1912 >       1,    63,   436,   437,   438,   229,     1,     6,     7,     9,
1913 >      10,    14,    23,    24,    31,    34,    35,    36,    41,    58,
1914 >      59,    69,    72,    73,    80,    87,    89,    91,    93,    95,
1915 >      96,   106,   111,   112,   114,   115,   116,   119,   144,   154,
1916 >     155,   156,   157,   158,   159,   160,   210,   211,   212,   214,
1917 >     215,   223,   446,   447,   448,   449,   450,   451,   452,   453,
1918       454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
1919       464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
1920 <     474,   475,   476,   477,   478,   479,   480,   481,   485,   489,
1921 <     490,   491,   226,   226,   226,     1,    94,   118,   238,   239,
1922 <     240,   241,   226,   226,   226,     1,    28,    36,    48,    49,
1923 <      51,    52,    53,    73,   508,   509,   510,   511,   512,   513,
1924 <     514,   515,   516,   517,     1,    24,    56,    63,    85,    89,
1925 <      97,   100,   101,   132,   149,   150,   175,   193,   194,   195,
1926 <     220,   221,   243,   244,   245,   246,   251,   252,   253,   254,
1920 >     474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
1921 >     484,   485,   486,   487,   488,   492,   496,   497,   498,   229,
1922 >     229,   229,     1,    97,   118,   241,   242,   243,   244,   229,
1923 >     229,   229,     1,    33,    42,    43,    44,    47,    48,    52,
1924 >      53,    54,   514,   515,   516,   517,   518,   519,   520,   521,
1925 >     522,   523,   524,     1,    27,    29,    56,    66,    88,    92,
1926 >     100,   103,   104,   132,   148,   151,   152,   153,   198,   221,
1927 >     222,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1928       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1929 <     265,   226,     1,   218,   279,   280,   281,   282,   283,     1,
1930 <      97,   371,   372,   373,   226,   224,   227,   227,   227,   225,
1931 <     268,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1932 <     227,   227,   227,   225,   494,     1,    15,    16,    19,    62,
1933 <      80,    81,    82,    83,    87,    91,    97,   108,   109,   120,
1934 <     142,   179,   313,   314,   315,   316,   317,   318,   319,   320,
1935 <     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
1936 <       1,     3,     5,    17,    32,    55,    57,    62,    72,    97,
1937 <     121,   141,   167,   193,   220,   395,   396,   397,   398,   399,
1938 <     400,   401,   402,   403,   404,   405,   409,   410,   411,   412,
1939 <     413,     1,    60,   124,   422,   423,   424,   425,   227,   225,
1940 <     428,     1,    97,   124,   432,   433,   434,   435,   227,   227,
1929 >     229,     1,   219,   286,   287,   288,   289,   290,   229,     1,
1930 >     100,   380,   381,   382,   229,   227,   230,   230,   230,   228,
1931 >     267,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1932 >     230,   230,   228,   501,     1,    17,    18,    22,    65,    82,
1933 >      83,    84,    85,    86,    90,    94,   100,   109,   110,   120,
1934 >     141,   185,   321,   322,   323,   324,   325,   326,   327,   328,
1935 >     329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
1936 >     339,     1,     3,     5,    19,    38,    55,    57,    65,    77,
1937 >     100,   121,   140,   149,   198,   221,   404,   405,   406,   407,
1938 >     408,   409,   410,   411,   412,   413,   414,   418,   419,   420,
1939 >     421,   422,     1,    63,   124,   431,   432,   433,   434,   230,
1940 >     228,   437,     1,   100,   124,   441,   442,   443,   444,   230,
1941 >     230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1942 >     230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1943 >     230,   230,   230,   230,   493,   489,   230,   230,   230,   230,
1944 >     230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1945 >     230,   230,   230,   230,   228,   447,     1,    19,    38,    65,
1946 >     117,   125,   126,   145,   220,   359,   360,   361,   362,   363,
1947 >     364,   365,   369,   370,   371,     1,   124,   220,   425,   426,
1948 >     427,   428,     1,    55,    63,    65,   121,   345,   349,   350,
1949 >     351,   355,   356,   227,   230,   230,   228,   242,     1,    79,
1950 >     172,   273,   274,   275,   276,     1,    19,    38,    65,   100,
1951 >     117,   149,   150,   200,   220,   224,   301,   302,   303,   304,
1952 >     305,   306,   307,   308,   309,   310,   311,   315,     1,    40,
1953 >      79,   124,   374,   375,   376,   377,   378,   230,   230,   230,
1954 >     230,   230,   230,   230,   230,   230,   228,   515,   227,   230,
1955 >     230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1956 >     230,   230,   230,   230,   230,   230,   228,   247,     1,   100,
1957 >     217,   395,   396,   397,   398,   227,   230,   228,   287,   172,
1958 >       1,   100,   165,   183,   199,   279,   280,   281,   282,   283,
1959 >     284,   230,   228,   381,     1,   100,   217,   220,   385,   386,
1960 >     387,   388,   389,   122,   122,   122,   227,   108,   108,   237,
1961 >     209,   108,   237,   237,   108,   237,   237,   108,   108,   227,
1962 >     227,   230,   230,   230,   340,   230,   230,   230,   230,   230,
1963 >     230,   230,   230,   230,   230,   230,   230,   230,   228,   322,
1964 >     227,   230,   230,   230,   230,   230,   230,   415,   230,   230,
1965 >     230,   230,   230,   230,   230,   228,   405,   230,   230,   228,
1966 >     432,   122,   227,   230,   230,   228,   442,   209,   237,   108,
1967 >     237,   237,   209,   108,   209,   108,   108,   108,   209,   209,
1968 >     209,   237,   108,   108,   108,   108,   237,   108,   108,   108,
1969 >     108,   209,   230,   230,   209,   237,   237,   209,   209,   209,
1970 >     209,   213,   209,   213,   209,   209,   209,   209,   108,   237,
1971 >     209,   237,   237,   209,   227,   227,   230,   230,   366,   230,
1972 >     230,   230,   230,   230,   228,   360,   230,   230,   228,   426,
1973 >     227,   230,   230,   346,   230,   228,   350,   122,   122,   227,
1974 >     227,   230,   230,   228,   274,   227,   230,   230,   316,   230,
1975 >     230,   230,   230,   312,   230,   230,   228,   302,   227,   230,
1976 >     230,   230,   228,   375,   209,   209,   237,   122,   209,   122,
1977 >     209,   209,   209,   227,   108,   122,   209,   122,   108,   108,
1978 >     122,   122,   122,   122,   122,   122,   122,   122,   122,   122,
1979 >     122,   227,   227,   230,   399,   228,   396,   209,   227,   229,
1980 >     227,   230,   230,   230,   230,   228,   280,   122,   227,   227,
1981 >     230,   390,   230,   228,   386,   227,   227,   227,   227,   133,
1982 >     134,   135,   136,   137,   138,   139,   236,   237,   227,   227,
1983 >     227,   227,   227,   227,   227,   227,   227,   227,   108,   108,
1984 >     237,   230,   108,   108,   108,   237,   108,   108,   237,   122,
1985 >     108,   108,   237,   108,   239,   239,   227,   122,   176,   177,
1986 >     122,   209,   122,   122,   230,   122,   122,   108,   122,   122,
1987 >     122,   122,   227,   122,   122,   227,   227,   122,   122,   227,
1988       227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1989       227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1990 <     227,   227,   227,   227,   486,   227,   482,   227,   227,   227,
1990 >     227,   227,   227,   227,   227,    47,   162,   163,   164,   167,
1991 >     168,   170,   171,   173,   175,   178,   180,   181,   186,   190,
1992 >     194,   195,   196,   201,   206,   494,   495,    47,    49,    50,
1993 >     162,   163,   164,   167,   168,   170,   171,   173,   175,   178,
1994 >     180,   181,   186,   190,   194,   195,   196,   201,   206,   490,
1995 >     491,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1996       227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1997 <     227,   227,   227,   227,   227,   225,   438,     1,    17,    32,
1998 <      62,   117,   125,   126,   146,   219,   350,   351,   352,   353,
1999 <     354,   355,   356,   360,   361,   362,     1,   124,   219,   416,
2000 <     417,   418,   419,     1,    55,    60,    62,   121,   336,   340,
2321 <     341,   342,   346,   347,   224,   227,   227,   225,   239,     1,
2322 <      75,   166,   274,   275,   276,   277,     1,    17,    32,    62,
2323 <      97,   117,   133,   167,   198,   219,   294,   295,   296,   297,
2324 <     298,   299,   300,   301,   302,   303,   307,     1,    34,    75,
2325 <     124,   365,   366,   367,   368,   369,   227,   227,   227,   227,
2326 <     227,   227,   227,   227,   225,   509,   224,   227,   227,   227,
1997 >     227,   122,   209,   230,   122,   108,   122,   122,   122,   227,
1998 >     122,   122,   227,   122,   122,   230,   108,   353,   354,   227,
1999 >     227,   227,   122,   122,   227,   122,   209,   230,   122,   122,
2000 >     122,   209,   230,   122,   122,   227,   122,   122,   122,   227,
2001       227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2002 <     227,   227,   227,   227,   225,   244,     1,    97,   215,   386,
2003 <     387,   388,   389,   224,   227,   225,   280,   166,   227,   225,
2004 <     372,     1,    97,   215,   219,   376,   377,   378,   379,   380,
2005 <     122,   122,   122,   224,   107,   107,   207,   107,   107,   234,
2006 <     234,   234,   107,   107,   107,   207,   207,   224,   224,   227,
2007 <     227,   227,   331,   227,   227,   227,   227,   227,   227,   227,
2008 <     227,   227,   227,   227,   227,   225,   314,   224,   227,   227,
2009 <     227,   227,   227,   227,   406,   227,   227,   227,   227,   227,
2010 <     227,   227,   225,   396,   227,   227,   225,   423,   122,   224,
2011 <     227,   227,   225,   433,   207,   234,   234,   107,   207,   107,
2012 <     122,   207,   234,   207,   107,   107,   234,   107,   207,   207,
2013 <     207,   234,   107,   107,   234,   107,   107,   107,   107,   207,
2014 <     227,   207,   227,   207,   234,   234,   207,   207,   207,   207,
2015 <     210,   207,   210,   207,   207,   122,   234,   207,   207,   234,
2016 <     234,   207,   207,   224,   224,   227,   227,   357,   227,   227,
2017 <     227,   227,   227,   225,   351,   227,   227,   225,   417,   224,
2018 <     227,   227,   337,   227,   225,   341,   122,   122,   224,   224,
2019 <     227,   227,   225,   275,   224,   227,   227,   308,   227,   227,
2020 <     227,   227,   304,   227,   225,   295,   224,   227,   227,   227,
2021 <     225,   366,   207,   207,   207,   122,   207,   207,   207,   234,
2022 <     224,   122,   207,   122,   107,   107,   122,   122,   122,   122,
2023 <     122,   122,   107,   122,   196,   197,   247,   248,   196,   197,
2024 <     249,   250,   122,   122,   224,   224,   227,   390,   225,   387,
2025 <     207,   224,   226,   122,   224,   224,   227,   381,   227,   225,
2026 <     377,   224,   224,   224,   224,   224,   224,   224,   134,   135,
2027 <     136,   137,   138,   139,   140,   233,   234,   224,   224,   224,
2028 <     224,   224,   224,   224,   224,   107,   107,   234,   227,   107,
2029 <     107,   234,   107,   107,   234,   122,   107,   107,   234,   107,
2030 <     236,   236,   224,   122,   171,   172,   122,   207,   122,   122,
2031 <     227,   122,   122,   107,   122,   122,   122,   122,   224,   122,
2358 <     122,   224,   224,   122,   122,   224,   224,   224,   224,   224,
2359 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2360 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2361 <     224,   224,    48,   157,   158,   159,   161,   162,   164,   165,
2362 <     168,   170,   173,   176,   177,   178,   180,   185,   189,   190,
2363 <     191,   199,   204,   487,   488,   224,    48,   157,   158,   159,
2364 <     161,   162,   164,   165,   168,   170,   173,   176,   177,   178,
2365 <     180,   185,   189,   190,   191,   199,   204,   483,   484,   224,
2366 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2367 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   122,
2368 <     207,   227,   122,   107,   122,   122,   122,   224,   122,   122,
2369 <     224,   122,   122,   227,   107,   344,   345,   224,   224,   224,
2370 <     122,   122,   224,   122,   207,   227,   122,   122,   122,   122,
2371 <     227,   122,   224,   122,   122,   122,   224,   224,   224,   224,
2372 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2373 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   228,
2374 <     224,   228,   224,   224,   122,   227,   224,   224,     1,    97,
2375 <     188,   215,   284,   285,   286,   287,   288,   224,   122,   227,
2376 <     122,   224,   233,   233,   233,   233,   233,   233,   233,   224,
2377 <     224,   224,    50,   123,   332,   333,   224,   224,   224,   224,
2378 <     224,   224,   224,   224,   224,   224,     9,    10,    11,   235,
2379 <     236,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2380 <       8,   192,   407,   408,   224,   224,   224,   224,   224,   224,
2381 <     224,   224,   224,   224,   224,   224,   228,   224,   228,   224,
2382 <     224,    13,    33,    42,    69,    98,    99,   106,   131,   147,
2383 <     206,   358,   359,   224,   224,   224,   224,   224,   224,   224,
2384 <     224,   224,    48,   182,   192,   338,   339,   214,   228,   343,
2385 <     224,   224,   224,   224,     4,    18,    25,    39,    66,    68,
2386 <      94,   127,   129,   148,   163,   169,   173,   178,   181,   186,
2387 <     200,   205,   216,   223,   309,   310,   224,   224,   224,   224,
2388 <      48,   157,   158,   159,   161,   162,   164,   165,   168,   170,
2389 <     173,   176,   177,   178,   180,   185,   189,   190,   191,   199,
2390 <     204,   305,   306,   224,   224,   224,   224,   248,   250,   224,
2391 <      68,   130,   156,   163,   173,   200,   202,   203,   216,   223,
2392 <     391,   392,   224,   227,   227,   289,   225,   285,   224,    68,
2393 <     130,   156,   163,   173,   200,   202,   203,   216,   223,   382,
2394 <     383,   224,   224,   228,   235,   235,   235,   224,   228,   488,
2395 <     484,   224,   228,   224,   228,   107,   345,   224,   229,   229,
2396 <     229,   224,   228,   224,   228,   224,   228,   122,   201,   236,
2397 <     227,   224,   224,   228,   333,   408,   359,   339,   128,   128,
2398 <     128,   310,   306,   392,   224,   224,   224,    39,    66,    68,
2399 <     113,   162,   163,   219,   290,   291,   383,   224,   228,   291
2002 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2003 >     227,   227,   227,   227,   227,   227,   122,   230,   227,   227,
2004 >       1,   100,   193,   217,   291,   292,   293,   294,   295,   122,
2005 >     122,   122,   122,   227,   227,   122,   230,   122,   227,   236,
2006 >     236,   236,   236,   236,   236,   236,   227,   227,   227,    51,
2007 >     123,   341,   342,   227,   227,   227,   227,   227,   227,   227,
2008 >     227,   227,   227,   227,    11,    12,    13,   238,   239,   227,
2009 >     227,   227,   227,   227,   227,   227,   227,   227,     8,   197,
2010 >     416,   417,   227,   227,   227,   227,   227,   227,   227,   227,
2011 >     227,   227,   227,   227,   231,   227,   231,   227,   227,    15,
2012 >      39,    71,   101,   102,   107,   131,   146,   208,   226,   367,
2013 >     368,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2014 >      47,   188,   197,   347,   348,   216,   231,   352,   227,   227,
2015 >     227,   227,     4,    20,    21,    30,    67,    68,    70,    97,
2016 >     105,   127,   129,   130,   147,   169,   174,   178,   182,   187,
2017 >     191,   202,   204,   205,   207,   218,   225,   317,   318,   227,
2018 >     227,   227,   227,    47,    49,    50,   162,   163,   164,   167,
2019 >     168,   170,   171,   173,   175,   178,   180,   181,   186,   190,
2020 >     194,   195,   196,   201,   206,   313,   314,   227,   227,   227,
2021 >     227,   227,   227,    70,   130,   161,   169,   178,   202,   204,
2022 >     205,   218,   225,   400,   401,   227,   230,   230,   296,   228,
2023 >     292,   227,   227,   227,   227,   227,    70,   130,   161,   169,
2024 >     178,   202,   204,   205,   218,   225,   391,   392,   227,   227,
2025 >     231,   238,   238,   238,   227,   231,   495,   491,   227,   231,
2026 >     227,   231,   108,   354,   227,   232,   232,   232,   232,   232,
2027 >     232,   227,   231,   227,   231,   227,   231,   122,   203,   239,
2028 >     230,   227,   227,   231,   342,   417,   368,   348,   128,   130,
2029 >     128,   130,   128,   128,   318,   314,   401,   227,   227,   227,
2030 >      68,    70,   113,   130,   168,   169,   220,   225,   297,   298,
2031 >     392,   227,   231,   298
2032   };
2033  
2034 < #define yyerrok         (yyerrstatus = 0)
2035 < #define yyclearin       (yychar = YYEMPTY)
2036 < #define YYEMPTY         (-2)
2037 < #define YYEOF           0
2038 <
2039 < #define YYACCEPT        goto yyacceptlab
2040 < #define YYABORT         goto yyabortlab
2041 < #define YYERROR         goto yyerrorlab
2042 <
2043 <
2044 < /* Like YYERROR except do call yyerror.  This remains here temporarily
2045 <   to ease the transition to the new meaning of YYERROR, for GCC.
2046 <   Once GCC version 2 has supplanted version 1, this can go.  However,
2047 <   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
2048 <   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
2049 <   discussed.  */
2050 <
2051 < #define YYFAIL          goto yyerrlab
2052 < #if defined YYFAIL
2053 <  /* This is here to suppress warnings from the GCC cpp's
2054 <     -Wunused-macros.  Normally we don't worry about that warning, but
2055 <     some users do, and we want to make it easy for users to remove
2056 <     YYFAIL uses, which will produce warnings from Bison 2.5.  */
2057 < #endif
2034 >  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
2035 > static const yytype_uint16 yyr1[] =
2036 > {
2037 >       0,   233,   234,   234,   235,   235,   235,   235,   235,   235,
2038 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
2039 >     235,   235,   235,   235,   235,   235,   235,   235,   236,   236,
2040 >     237,   237,   237,   237,   237,   237,   237,   237,   238,   238,
2041 >     239,   239,   239,   239,   240,   241,   241,   242,   242,   242,
2042 >     243,   244,   245,   246,   246,   247,   247,   247,   247,   247,
2043 >     247,   247,   247,   247,   247,   247,   247,   247,   247,   247,
2044 >     247,   247,   247,   248,   249,   250,   251,   252,   253,   254,
2045 >     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
2046 >     265,   266,   266,   267,   267,   267,   267,   268,   269,   270,
2047 >     272,   271,   273,   273,   274,   274,   274,   275,   276,   278,
2048 >     277,   279,   279,   280,   280,   280,   280,   280,   281,   282,
2049 >     283,   284,   285,   286,   286,   287,   287,   287,   288,   290,
2050 >     289,   291,   291,   292,   292,   292,   292,   293,   294,   294,
2051 >     296,   295,   297,   297,   298,   298,   298,   298,   298,   298,
2052 >     298,   298,   300,   299,   301,   301,   302,   302,   302,   302,
2053 >     302,   302,   302,   302,   302,   302,   302,   303,   304,   305,
2054 >     306,   307,   308,   309,   310,   312,   311,   313,   313,   314,
2055 >     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
2056 >     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
2057 >     314,   316,   315,   317,   317,   318,   318,   318,   318,   318,
2058 >     318,   318,   318,   318,   318,   318,   318,   318,   318,   318,
2059 >     318,   318,   318,   318,   318,   318,   318,   318,   318,   318,
2060 >     318,   318,   318,   318,   320,   319,   321,   321,   322,   322,
2061 >     322,   322,   322,   322,   322,   322,   322,   322,   322,   322,
2062 >     322,   322,   322,   322,   322,   322,   323,   324,   325,   326,
2063 >     327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
2064 >     337,   338,   340,   339,   341,   341,   342,   342,   344,   343,
2065 >     346,   345,   347,   347,   348,   348,   348,   349,   349,   350,
2066 >     350,   350,   350,   350,   352,   351,   353,   353,   354,   354,
2067 >     355,   356,   358,   357,   359,   359,   360,   360,   360,   360,
2068 >     360,   360,   360,   360,   360,   361,   362,   363,   364,   366,
2069 >     365,   367,   367,   368,   368,   368,   368,   368,   368,   368,
2070 >     368,   368,   368,   369,   370,   371,   373,   372,   374,   374,
2071 >     375,   375,   375,   375,   376,   377,   378,   379,   380,   380,
2072 >     381,   381,   382,   384,   383,   385,   385,   386,   386,   386,
2073 >     386,   387,   388,   390,   389,   391,   391,   392,   392,   392,
2074 >     392,   392,   392,   392,   392,   392,   392,   394,   393,   395,
2075 >     395,   396,   396,   396,   397,   399,   398,   400,   400,   401,
2076 >     401,   401,   401,   401,   401,   401,   401,   401,   401,   403,
2077 >     402,   404,   404,   405,   405,   405,   405,   405,   405,   405,
2078 >     405,   405,   405,   405,   405,   405,   405,   405,   406,   407,
2079 >     408,   409,   410,   411,   412,   413,   413,   415,   414,   416,
2080 >     416,   417,   417,   418,   419,   420,   421,   422,   424,   423,
2081 >     425,   425,   426,   426,   426,   427,   428,   430,   429,   431,
2082 >     431,   432,   432,   432,   433,   434,   435,   436,   436,   437,
2083 >     437,   438,   440,   439,   441,   441,   442,   442,   442,   443,
2084 >     444,   445,   446,   446,   447,   447,   447,   447,   447,   447,
2085 >     447,   447,   447,   447,   447,   447,   447,   447,   447,   447,
2086 >     447,   447,   447,   447,   447,   447,   447,   447,   447,   447,
2087 >     447,   447,   447,   447,   447,   447,   447,   447,   447,   447,
2088 >     447,   447,   447,   447,   447,   447,   447,   447,   447,   447,
2089 >     448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
2090 >     458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
2091 >     468,   469,   470,   471,   472,   473,   474,   474,   475,   475,
2092 >     476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
2093 >     486,   487,   489,   488,   490,   490,   491,   491,   491,   491,
2094 >     491,   491,   491,   491,   491,   491,   491,   491,   491,   491,
2095 >     491,   491,   491,   491,   491,   491,   491,   491,   493,   492,
2096 >     494,   494,   495,   495,   495,   495,   495,   495,   495,   495,
2097 >     495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
2098 >     495,   495,   496,   497,   498,   499,   500,   500,   501,   501,
2099 >     501,   501,   501,   501,   501,   501,   501,   501,   501,   501,
2100 >     502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
2101 >     512,   513,   514,   514,   515,   515,   515,   515,   515,   515,
2102 >     515,   515,   515,   515,   516,   517,   518,   519,   520,   521,
2103 >     522,   523,   524
2104 > };
2105 >
2106 >  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
2107 > static const yytype_uint8 yyr2[] =
2108 > {
2109 >       0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
2110 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2111 >       1,     1,     1,     1,     1,     1,     2,     2,     0,     1,
2112 >       2,     3,     3,     3,     3,     3,     3,     3,     0,     1,
2113 >       2,     3,     3,     3,     5,     2,     1,     1,     1,     2,
2114 >       4,     4,     5,     2,     1,     1,     1,     1,     1,     1,
2115 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2116 >       1,     1,     2,     4,     4,     4,     4,     4,     4,     4,
2117 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2118 >       5,     2,     1,     1,     1,     1,     2,     4,     4,     4,
2119 >       0,     6,     2,     1,     1,     1,     2,     4,     4,     0,
2120 >       6,     2,     1,     1,     1,     1,     1,     2,     4,     4,
2121 >       4,     4,     5,     2,     1,     1,     1,     2,     4,     0,
2122 >       6,     2,     1,     1,     1,     1,     2,     4,     4,     4,
2123 >       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
2124 >       1,     1,     0,     6,     2,     1,     1,     1,     1,     1,
2125 >       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
2126 >       4,     4,     4,     4,     4,     0,     5,     3,     1,     1,
2127 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2128 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2129 >       1,     0,     5,     3,     1,     3,     1,     3,     1,     3,
2130 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
2131 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
2132 >       3,     1,     1,     1,     0,     6,     2,     1,     1,     1,
2133 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2134 >       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
2135 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2136 >       4,     4,     0,     5,     3,     1,     1,     1,     0,     6,
2137 >       0,     5,     3,     1,     1,     1,     1,     2,     1,     1,
2138 >       1,     1,     1,     2,     0,     5,     3,     1,     1,     3,
2139 >       4,     4,     0,     6,     2,     1,     1,     1,     1,     1,
2140 >       1,     1,     1,     1,     2,     4,     4,     4,     4,     0,
2141 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
2142 >       1,     1,     1,     4,     4,     4,     0,     6,     2,     1,
2143 >       1,     1,     1,     2,     4,     4,     4,     5,     2,     1,
2144 >       1,     1,     4,     0,     6,     2,     1,     1,     1,     1,
2145 >       2,     4,     4,     0,     5,     3,     1,     1,     1,     1,
2146 >       1,     1,     1,     1,     1,     1,     1,     0,     6,     2,
2147 >       1,     1,     1,     2,     4,     0,     5,     3,     1,     1,
2148 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
2149 >       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
2150 >       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
2151 >       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
2152 >       1,     1,     1,     4,     4,     4,     4,     4,     0,     6,
2153 >       2,     1,     1,     1,     1,     4,     4,     0,     6,     2,
2154 >       1,     1,     1,     1,     4,     4,     5,     2,     1,     1,
2155 >       1,     4,     0,     6,     2,     1,     1,     1,     1,     4,
2156 >       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
2157 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2158 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2159 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2160 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2161 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2162 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2163 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2164 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2165 >       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
2166 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2167 >       1,     1,     1,     1,     1,     1,     1,     1,     0,     5,
2168 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2169 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2170 >       1,     1,     4,     4,     4,     5,     2,     1,     1,     1,
2171 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2172 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2173 >       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
2174 >       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
2175 >       4,     4,     4
2176 > };
2177 >
2178 >
2179 > #define yyerrok         (yyerrstatus = 0)
2180 > #define yyclearin       (yychar = YYEMPTY)
2181 > #define YYEMPTY         (-2)
2182 > #define YYEOF           0
2183 >
2184 > #define YYACCEPT        goto yyacceptlab
2185 > #define YYABORT         goto yyabortlab
2186 > #define YYERROR         goto yyerrorlab
2187 >
2188  
2189   #define YYRECOVERING()  (!!yyerrstatus)
2190  
# Line 2439 | Line 2201 | do
2201    else                                                          \
2202      {                                                           \
2203        yyerror (YY_("syntax error: cannot back up")); \
2204 <      YYERROR;                                                  \
2205 <    }                                                           \
2206 < while (YYID (0))
2204 >      YYERROR;                                                  \
2205 >    }                                                           \
2206 > while (0)
2207  
2208   /* Error token number */
2209 < #define YYTERROR        1
2210 < #define YYERRCODE       256
2209 > #define YYTERROR        1
2210 > #define YYERRCODE       256
2211  
2212  
2451 /* This macro is provided for backward compatibility. */
2452 #ifndef YY_LOCATION_PRINT
2453 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2454 #endif
2455
2456
2457 /* YYLEX -- calling `yylex' with the right arguments.  */
2458 #ifdef YYLEX_PARAM
2459 # define YYLEX yylex (YYLEX_PARAM)
2460 #else
2461 # define YYLEX yylex ()
2462 #endif
2213  
2214   /* Enable debugging if requested.  */
2215   #if YYDEBUG
# Line 2469 | Line 2219 | while (YYID (0))
2219   #  define YYFPRINTF fprintf
2220   # endif
2221  
2222 < # define YYDPRINTF(Args)                        \
2223 < do {                                            \
2224 <  if (yydebug)                                  \
2225 <    YYFPRINTF Args;                             \
2226 < } while (YYID (0))
2477 <
2478 < # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2479 < do {                                                                      \
2480 <  if (yydebug)                                                            \
2481 <    {                                                                     \
2482 <      YYFPRINTF (stderr, "%s ", Title);                                   \
2483 <      yy_symbol_print (stderr,                                            \
2484 <                  Type, Value); \
2485 <      YYFPRINTF (stderr, "\n");                                           \
2486 <    }                                                                     \
2487 < } while (YYID (0))
2222 > # define YYDPRINTF(Args)                        \
2223 > do {                                            \
2224 >  if (yydebug)                                  \
2225 >    YYFPRINTF Args;                             \
2226 > } while (0)
2227  
2228 + /* This macro is provided for backward compatibility. */
2229 + #ifndef YY_LOCATION_PRINT
2230 + # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2231 + #endif
2232 +
2233 +
2234 + # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2235 + do {                                                                      \
2236 +  if (yydebug)                                                            \
2237 +    {                                                                     \
2238 +      YYFPRINTF (stderr, "%s ", Title);                                   \
2239 +      yy_symbol_print (stderr,                                            \
2240 +                  Type, Value); \
2241 +      YYFPRINTF (stderr, "\n");                                           \
2242 +    }                                                                     \
2243 + } while (0)
2244  
2490 /*--------------------------------.
2491 | Print this symbol on YYOUTPUT.  |
2492 `--------------------------------*/
2245  
2246 < /*ARGSUSED*/
2247 < #if (defined __STDC__ || defined __C99__FUNC__ \
2248 <     || defined __cplusplus || defined _MSC_VER)
2246 > /*----------------------------------------.
2247 > | Print this symbol's value on YYOUTPUT.  |
2248 > `----------------------------------------*/
2249 >
2250   static void
2251   yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2499 #else
2500 static void
2501 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2502    FILE *yyoutput;
2503    int yytype;
2504    YYSTYPE const * const yyvaluep;
2505 #endif
2252   {
2253    FILE *yyo = yyoutput;
2254    YYUSE (yyo);
# Line 2511 | Line 2257 | yy_symbol_value_print (yyoutput, yytype,
2257   # ifdef YYPRINT
2258    if (yytype < YYNTOKENS)
2259      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2514 # else
2515  YYUSE (yyoutput);
2260   # endif
2261    YYUSE (yytype);
2262   }
# Line 2522 | Line 2266 | yy_symbol_value_print (yyoutput, yytype,
2266   | Print this symbol on YYOUTPUT.  |
2267   `--------------------------------*/
2268  
2525 #if (defined __STDC__ || defined __C99__FUNC__ \
2526     || defined __cplusplus || defined _MSC_VER)
2269   static void
2270   yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2529 #else
2530 static void
2531 yy_symbol_print (yyoutput, yytype, yyvaluep)
2532    FILE *yyoutput;
2533    int yytype;
2534    YYSTYPE const * const yyvaluep;
2535 #endif
2271   {
2272 <  if (yytype < YYNTOKENS)
2273 <    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2539 <  else
2540 <    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2272 >  YYFPRINTF (yyoutput, "%s %s (",
2273 >             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
2274  
2275    yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2276    YYFPRINTF (yyoutput, ")");
# Line 2548 | Line 2281 | yy_symbol_print (yyoutput, yytype, yyval
2281   | TOP (included).                                                   |
2282   `------------------------------------------------------------------*/
2283  
2551 #if (defined __STDC__ || defined __C99__FUNC__ \
2552     || defined __cplusplus || defined _MSC_VER)
2284   static void
2285   yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
2555 #else
2556 static void
2557 yy_stack_print (yybottom, yytop)
2558    yytype_int16 *yybottom;
2559    yytype_int16 *yytop;
2560 #endif
2286   {
2287    YYFPRINTF (stderr, "Stack now");
2288    for (; yybottom <= yytop; yybottom++)
# Line 2568 | Line 2293 | yy_stack_print (yybottom, yytop)
2293    YYFPRINTF (stderr, "\n");
2294   }
2295  
2296 < # define YY_STACK_PRINT(Bottom, Top)                            \
2297 < do {                                                            \
2298 <  if (yydebug)                                                  \
2299 <    yy_stack_print ((Bottom), (Top));                           \
2300 < } while (YYID (0))
2296 > # define YY_STACK_PRINT(Bottom, Top)                            \
2297 > do {                                                            \
2298 >  if (yydebug)                                                  \
2299 >    yy_stack_print ((Bottom), (Top));                           \
2300 > } while (0)
2301  
2302  
2303   /*------------------------------------------------.
2304   | Report that the YYRULE is going to be reduced.  |
2305   `------------------------------------------------*/
2306  
2582 #if (defined __STDC__ || defined __C99__FUNC__ \
2583     || defined __cplusplus || defined _MSC_VER)
2307   static void
2308 < yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2586 < #else
2587 < static void
2588 < yy_reduce_print (yyvsp, yyrule)
2589 <    YYSTYPE *yyvsp;
2590 <    int yyrule;
2591 < #endif
2308 > yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
2309   {
2310 +  unsigned long int yylno = yyrline[yyrule];
2311    int yynrhs = yyr2[yyrule];
2312    int yyi;
2595  unsigned long int yylno = yyrline[yyrule];
2313    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2314 <             yyrule - 1, yylno);
2314 >             yyrule - 1, yylno);
2315    /* The symbols being reduced.  */
2316    for (yyi = 0; yyi < yynrhs; yyi++)
2317      {
2318        YYFPRINTF (stderr, "   $%d = ", yyi + 1);
2319 <      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2320 <                       &(yyvsp[(yyi + 1) - (yynrhs)])
2321 <                                       );
2319 >      yy_symbol_print (stderr,
2320 >                       yystos[yyssp[yyi + 1 - yynrhs]],
2321 >                       &(yyvsp[(yyi + 1) - (yynrhs)])
2322 >                                              );
2323        YYFPRINTF (stderr, "\n");
2324      }
2325   }
2326  
2327 < # define YY_REDUCE_PRINT(Rule)          \
2328 < do {                                    \
2329 <  if (yydebug)                          \
2330 <    yy_reduce_print (yyvsp, Rule); \
2331 < } while (YYID (0))
2327 > # define YY_REDUCE_PRINT(Rule)          \
2328 > do {                                    \
2329 >  if (yydebug)                          \
2330 >    yy_reduce_print (yyssp, yyvsp, Rule); \
2331 > } while (0)
2332  
2333   /* Nonzero means print parse trace.  It is left uninitialized so that
2334     multiple parsers can coexist.  */
# Line 2624 | Line 2342 | int yydebug;
2342  
2343  
2344   /* YYINITDEPTH -- initial size of the parser's stacks.  */
2345 < #ifndef YYINITDEPTH
2345 > #ifndef YYINITDEPTH
2346   # define YYINITDEPTH 200
2347   #endif
2348  
# Line 2647 | Line 2365 | int yydebug;
2365   #   define yystrlen strlen
2366   #  else
2367   /* Return the length of YYSTR.  */
2650 #if (defined __STDC__ || defined __C99__FUNC__ \
2651     || defined __cplusplus || defined _MSC_VER)
2368   static YYSIZE_T
2369   yystrlen (const char *yystr)
2654 #else
2655 static YYSIZE_T
2656 yystrlen (yystr)
2657    const char *yystr;
2658 #endif
2370   {
2371    YYSIZE_T yylen;
2372    for (yylen = 0; yystr[yylen]; yylen++)
# Line 2671 | Line 2382 | yystrlen (yystr)
2382   #  else
2383   /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2384     YYDEST.  */
2674 #if (defined __STDC__ || defined __C99__FUNC__ \
2675     || defined __cplusplus || defined _MSC_VER)
2385   static char *
2386   yystpcpy (char *yydest, const char *yysrc)
2678 #else
2679 static char *
2680 yystpcpy (yydest, yysrc)
2681    char *yydest;
2682    const char *yysrc;
2683 #endif
2387   {
2388    char *yyd = yydest;
2389    const char *yys = yysrc;
# Line 2710 | Line 2413 | yytnamerr (char *yyres, const char *yyst
2413        char const *yyp = yystr;
2414  
2415        for (;;)
2416 <        switch (*++yyp)
2417 <          {
2418 <          case '\'':
2419 <          case ',':
2420 <            goto do_not_strip_quotes;
2421 <
2422 <          case '\\':
2423 <            if (*++yyp != '\\')
2424 <              goto do_not_strip_quotes;
2425 <            /* Fall through.  */
2426 <          default:
2427 <            if (yyres)
2428 <              yyres[yyn] = *yyp;
2429 <            yyn++;
2430 <            break;
2431 <
2432 <          case '"':
2433 <            if (yyres)
2434 <              yyres[yyn] = '\0';
2435 <            return yyn;
2436 <          }
2416 >        switch (*++yyp)
2417 >          {
2418 >          case '\'':
2419 >          case ',':
2420 >            goto do_not_strip_quotes;
2421 >
2422 >          case '\\':
2423 >            if (*++yyp != '\\')
2424 >              goto do_not_strip_quotes;
2425 >            /* Fall through.  */
2426 >          default:
2427 >            if (yyres)
2428 >              yyres[yyn] = *yyp;
2429 >            yyn++;
2430 >            break;
2431 >
2432 >          case '"':
2433 >            if (yyres)
2434 >              yyres[yyn] = '\0';
2435 >            return yyn;
2436 >          }
2437      do_not_strip_quotes: ;
2438      }
2439  
# Line 2753 | Line 2456 | static int
2456   yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2457                  yytype_int16 *yyssp, int yytoken)
2458   {
2459 <  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
2459 >  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
2460    YYSIZE_T yysize = yysize0;
2461    enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2462    /* Internationalized format string. */
2463 <  const char *yyformat = YY_NULL;
2463 >  const char *yyformat = YY_NULLPTR;
2464    /* Arguments of yyformat. */
2465    char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2466    /* Number of reported tokens (one for the "unexpected", one per
# Line 2765 | Line 2468 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2468    int yycount = 0;
2469  
2470    /* There are many possibilities here to consider:
2768     - Assume YYFAIL is not used.  It's too flawed to consider.  See
2769       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
2770       for details.  YYERROR is fine as it does not invoke this
2771       function.
2471       - If this state is a consistent state with a default action, then
2472         the only way this function was invoked is if the default action
2473         is an error action.  In that case, don't check for expected
# Line 2818 | Line 2517 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2517                    }
2518                  yyarg[yycount++] = yytname[yyx];
2519                  {
2520 <                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2520 >                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
2521                    if (! (yysize <= yysize1
2522                           && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2523                      return 2;
# Line 2885 | Line 2584 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2584   | Release the memory associated to this symbol.  |
2585   `-----------------------------------------------*/
2586  
2888 /*ARGSUSED*/
2889 #if (defined __STDC__ || defined __C99__FUNC__ \
2890     || defined __cplusplus || defined _MSC_VER)
2587   static void
2588   yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2893 #else
2894 static void
2895 yydestruct (yymsg, yytype, yyvaluep)
2896    const char *yymsg;
2897    int yytype;
2898    YYSTYPE *yyvaluep;
2899 #endif
2589   {
2590    YYUSE (yyvaluep);
2902
2591    if (!yymsg)
2592      yymsg = "Deleting";
2593    YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2594  
2595 +  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2596    YYUSE (yytype);
2597 +  YY_IGNORE_MAYBE_UNINITIALIZED_END
2598   }
2599  
2600  
# Line 2913 | Line 2603 | yydestruct (yymsg, yytype, yyvaluep)
2603   /* The lookahead symbol.  */
2604   int yychar;
2605  
2916
2917 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2918 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2919 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
2920 #endif
2921 #ifndef YY_INITIAL_VALUE
2922 # define YY_INITIAL_VALUE(Value) /* Nothing. */
2923 #endif
2924
2606   /* The semantic value of the lookahead symbol.  */
2607 < YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
2927 <
2607 > YYSTYPE yylval;
2608   /* Number of syntax errors so far.  */
2609   int yynerrs;
2610  
# Line 2933 | Line 2613 | int yynerrs;
2613   | yyparse.  |
2614   `----------*/
2615  
2936 #ifdef YYPARSE_PARAM
2937 #if (defined __STDC__ || defined __C99__FUNC__ \
2938     || defined __cplusplus || defined _MSC_VER)
2939 int
2940 yyparse (void *YYPARSE_PARAM)
2941 #else
2942 int
2943 yyparse (YYPARSE_PARAM)
2944    void *YYPARSE_PARAM;
2945 #endif
2946 #else /* ! YYPARSE_PARAM */
2947 #if (defined __STDC__ || defined __C99__FUNC__ \
2948     || defined __cplusplus || defined _MSC_VER)
2616   int
2617   yyparse (void)
2951 #else
2952 int
2953 yyparse ()
2954
2955 #endif
2956 #endif
2618   {
2619      int yystate;
2620      /* Number of tokens to shift before error messages enabled.  */
2621      int yyerrstatus;
2622  
2623      /* The stacks and their tools:
2624 <       `yyss': related to states.
2625 <       `yyvs': related to semantic values.
2624 >       'yyss': related to states.
2625 >       'yyvs': related to semantic values.
2626  
2627         Refer to the stacks through separate pointers, to allow yyoverflow
2628         to reallocate them elsewhere.  */
# Line 3029 | Line 2690 | yyparse ()
2690  
2691   #ifdef yyoverflow
2692        {
2693 <        /* Give user a chance to reallocate the stack.  Use copies of
2694 <           these so that the &'s don't force the real ones into
2695 <           memory.  */
2696 <        YYSTYPE *yyvs1 = yyvs;
2697 <        yytype_int16 *yyss1 = yyss;
2698 <
2699 <        /* Each stack pointer address is followed by the size of the
2700 <           data in use in that stack, in bytes.  This used to be a
2701 <           conditional around just the two extra args, but that might
2702 <           be undefined if yyoverflow is a macro.  */
2703 <        yyoverflow (YY_("memory exhausted"),
2704 <                    &yyss1, yysize * sizeof (*yyssp),
2705 <                    &yyvs1, yysize * sizeof (*yyvsp),
2706 <                    &yystacksize);
2693 >        /* Give user a chance to reallocate the stack.  Use copies of
2694 >           these so that the &'s don't force the real ones into
2695 >           memory.  */
2696 >        YYSTYPE *yyvs1 = yyvs;
2697 >        yytype_int16 *yyss1 = yyss;
2698 >
2699 >        /* Each stack pointer address is followed by the size of the
2700 >           data in use in that stack, in bytes.  This used to be a
2701 >           conditional around just the two extra args, but that might
2702 >           be undefined if yyoverflow is a macro.  */
2703 >        yyoverflow (YY_("memory exhausted"),
2704 >                    &yyss1, yysize * sizeof (*yyssp),
2705 >                    &yyvs1, yysize * sizeof (*yyvsp),
2706 >                    &yystacksize);
2707  
2708 <        yyss = yyss1;
2709 <        yyvs = yyvs1;
2708 >        yyss = yyss1;
2709 >        yyvs = yyvs1;
2710        }
2711   #else /* no yyoverflow */
2712   # ifndef YYSTACK_RELOCATE
# Line 3053 | Line 2714 | yyparse ()
2714   # else
2715        /* Extend the stack our own way.  */
2716        if (YYMAXDEPTH <= yystacksize)
2717 <        goto yyexhaustedlab;
2717 >        goto yyexhaustedlab;
2718        yystacksize *= 2;
2719        if (YYMAXDEPTH < yystacksize)
2720 <        yystacksize = YYMAXDEPTH;
2720 >        yystacksize = YYMAXDEPTH;
2721  
2722        {
2723 <        yytype_int16 *yyss1 = yyss;
2724 <        union yyalloc *yyptr =
2725 <          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2726 <        if (! yyptr)
2727 <          goto yyexhaustedlab;
2728 <        YYSTACK_RELOCATE (yyss_alloc, yyss);
2729 <        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2723 >        yytype_int16 *yyss1 = yyss;
2724 >        union yyalloc *yyptr =
2725 >          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2726 >        if (! yyptr)
2727 >          goto yyexhaustedlab;
2728 >        YYSTACK_RELOCATE (yyss_alloc, yyss);
2729 >        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2730   #  undef YYSTACK_RELOCATE
2731 <        if (yyss1 != yyssa)
2732 <          YYSTACK_FREE (yyss1);
2731 >        if (yyss1 != yyssa)
2732 >          YYSTACK_FREE (yyss1);
2733        }
2734   # endif
2735   #endif /* no yyoverflow */
# Line 3077 | Line 2738 | yyparse ()
2738        yyvsp = yyvs + yysize - 1;
2739  
2740        YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2741 <                  (unsigned long int) yystacksize));
2741 >                  (unsigned long int) yystacksize));
2742  
2743        if (yyss + yystacksize - 1 <= yyssp)
2744 <        YYABORT;
2744 >        YYABORT;
2745      }
2746  
2747    YYDPRINTF ((stderr, "Entering state %d\n", yystate));
# Line 3109 | Line 2770 | yybackup:
2770    if (yychar == YYEMPTY)
2771      {
2772        YYDPRINTF ((stderr, "Reading a token: "));
2773 <      yychar = YYLEX;
2773 >      yychar = yylex ();
2774      }
2775  
2776    if (yychar <= YYEOF)
# Line 3174 | Line 2835 | yyreduce:
2835    yylen = yyr2[yyn];
2836  
2837    /* If YYLEN is nonzero, implement the default value of the action:
2838 <     `$$ = $1'.
2838 >     '$$ = $1'.
2839  
2840       Otherwise, the following line sets YYVAL to garbage.
2841       This behavior is undocumented and Bison
# Line 3187 | Line 2848 | yyreduce:
2848    YY_REDUCE_PRINT (yyn);
2849    switch (yyn)
2850      {
2851 <        case 27:
2852 < /* Line 1787 of yacc.c  */
3192 < #line 397 "conf_parser.y"
2851 >        case 28:
2852 > #line 405 "conf_parser.y" /* yacc.c:1646  */
2853      { (yyval.number) = 0; }
2854 <    break;
3195 <
3196 <  case 29:
3197 < /* Line 1787 of yacc.c  */
3198 < #line 399 "conf_parser.y"
3199 <    {
3200 <                        (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3201 <                }
2854 > #line 2855 "conf_parser.c" /* yacc.c:1646  */
2855      break;
2856  
2857    case 30:
2858 < /* Line 1787 of yacc.c  */
2859 < #line 403 "conf_parser.y"
2860 <    {
3208 <                        (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3209 <                }
2858 > #line 406 "conf_parser.y" /* yacc.c:1646  */
2859 >    { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2860 > #line 2861 "conf_parser.c" /* yacc.c:1646  */
2861      break;
2862  
2863    case 31:
2864 < /* Line 1787 of yacc.c  */
2865 < #line 407 "conf_parser.y"
2866 <    {
3216 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3217 <                }
2864 > #line 407 "conf_parser.y" /* yacc.c:1646  */
2865 >    { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2866 > #line 2867 "conf_parser.c" /* yacc.c:1646  */
2867      break;
2868  
2869    case 32:
2870 < /* Line 1787 of yacc.c  */
2871 < #line 411 "conf_parser.y"
2872 <    {
3224 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3225 <                }
2870 > #line 408 "conf_parser.y" /* yacc.c:1646  */
2871 >    { (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number); }
2872 > #line 2873 "conf_parser.c" /* yacc.c:1646  */
2873      break;
2874  
2875    case 33:
2876 < /* Line 1787 of yacc.c  */
2877 < #line 415 "conf_parser.y"
2878 <    {
3232 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3233 <                }
2876 > #line 409 "conf_parser.y" /* yacc.c:1646  */
2877 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number); }
2878 > #line 2879 "conf_parser.c" /* yacc.c:1646  */
2879      break;
2880  
2881    case 34:
2882 < /* Line 1787 of yacc.c  */
2883 < #line 419 "conf_parser.y"
2884 <    {
3240 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3241 <                }
2882 > #line 410 "conf_parser.y" /* yacc.c:1646  */
2883 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number); }
2884 > #line 2885 "conf_parser.c" /* yacc.c:1646  */
2885      break;
2886  
2887    case 35:
2888 < /* Line 1787 of yacc.c  */
2889 < #line 423 "conf_parser.y"
2890 <    {
3248 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[(3) - (3)].number);
3249 <                }
2888 > #line 411 "conf_parser.y" /* yacc.c:1646  */
2889 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number); }
2890 > #line 2891 "conf_parser.c" /* yacc.c:1646  */
2891      break;
2892  
2893    case 36:
2894 < /* Line 1787 of yacc.c  */
2895 < #line 427 "conf_parser.y"
2896 <    {
3256 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 365 + (yyvsp[(3) - (3)].number);
3257 <                }
2894 > #line 412 "conf_parser.y" /* yacc.c:1646  */
2895 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number); }
2896 > #line 2897 "conf_parser.c" /* yacc.c:1646  */
2897      break;
2898  
2899    case 37:
2900 < /* Line 1787 of yacc.c  */
2901 < #line 432 "conf_parser.y"
2902 <    { (yyval.number) = 0; }
2900 > #line 413 "conf_parser.y" /* yacc.c:1646  */
2901 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number); }
2902 > #line 2903 "conf_parser.c" /* yacc.c:1646  */
2903      break;
2904  
2905 <  case 39:
2906 < /* Line 1787 of yacc.c  */
2907 < #line 433 "conf_parser.y"
2908 <    { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
2905 >  case 38:
2906 > #line 416 "conf_parser.y" /* yacc.c:1646  */
2907 >    { (yyval.number) = 0; }
2908 > #line 2909 "conf_parser.c" /* yacc.c:1646  */
2909      break;
2910  
2911    case 40:
2912 < /* Line 1787 of yacc.c  */
2913 < #line 434 "conf_parser.y"
2914 <    { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
2912 > #line 417 "conf_parser.y" /* yacc.c:1646  */
2913 >    { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2914 > #line 2915 "conf_parser.c" /* yacc.c:1646  */
2915      break;
2916  
2917    case 41:
2918 < /* Line 1787 of yacc.c  */
2919 < #line 435 "conf_parser.y"
2920 <    { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
2918 > #line 418 "conf_parser.y" /* yacc.c:1646  */
2919 >    { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2920 > #line 2921 "conf_parser.c" /* yacc.c:1646  */
2921      break;
2922  
2923    case 42:
2924 < /* Line 1787 of yacc.c  */
2925 < #line 436 "conf_parser.y"
2926 <    { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
2924 > #line 419 "conf_parser.y" /* yacc.c:1646  */
2925 >    { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); }
2926 > #line 2927 "conf_parser.c" /* yacc.c:1646  */
2927      break;
2928  
2929 <  case 49:
2930 < /* Line 1787 of yacc.c  */
2931 < #line 450 "conf_parser.y"
2932 <    {
3294 <  if (conf_parser_ctx.pass == 2)
3295 <    add_conf_module(libio_basename(yylval.string));
3296 < }
2929 >  case 43:
2930 > #line 420 "conf_parser.y" /* yacc.c:1646  */
2931 >    { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); }
2932 > #line 2933 "conf_parser.c" /* yacc.c:1646  */
2933      break;
2934  
2935    case 50:
2936 < /* Line 1787 of yacc.c  */
3301 < #line 456 "conf_parser.y"
2936 > #line 433 "conf_parser.y" /* yacc.c:1646  */
2937      {
2938    if (conf_parser_ctx.pass == 2)
2939 <    mod_add_path(yylval.string);
3305 < }
3306 <    break;
3307 <
3308 <  case 76:
3309 < /* Line 1787 of yacc.c  */
3310 < #line 482 "conf_parser.y"
3311 <    {
3312 < #ifdef HAVE_LIBCRYPTO
3313 <  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3314 <    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
3315 < #endif
3316 < }
3317 <    break;
3318 <
3319 <  case 77:
3320 < /* Line 1787 of yacc.c  */
3321 < #line 488 "conf_parser.y"
3322 <    {
3323 < #ifdef HAVE_LIBCRYPTO
3324 <  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3325 <    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
3326 < #endif
3327 < }
3328 <    break;
3329 <
3330 <  case 80:
3331 < /* Line 1787 of yacc.c  */
3332 < #line 497 "conf_parser.y"
3333 <    {
3334 < #ifdef HAVE_LIBCRYPTO
3335 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3336 <    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3337 < #endif
2939 >    add_conf_module(libio_basename(yylval.string));
2940   }
2941 + #line 2942 "conf_parser.c" /* yacc.c:1646  */
2942      break;
2943  
2944 <  case 81:
2945 < /* Line 1787 of yacc.c  */
3343 < #line 503 "conf_parser.y"
2944 >  case 51:
2945 > #line 439 "conf_parser.y" /* yacc.c:1646  */
2946      {
2947 < #ifdef HAVE_LIBCRYPTO
2948 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3347 <    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3348 < #endif
2947 >  if (conf_parser_ctx.pass == 2)
2948 >    mod_add_path(yylval.string);
2949   }
2950 + #line 2951 "conf_parser.c" /* yacc.c:1646  */
2951      break;
2952  
2953 <  case 82:
2954 < /* Line 1787 of yacc.c  */
3354 < #line 511 "conf_parser.y"
2953 >  case 73:
2954 > #line 472 "conf_parser.y" /* yacc.c:1646  */
2955      {
2956 < #ifdef HAVE_LIBCRYPTO
3357 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2956 >  if (conf_parser_ctx.pass == 2)
2957    {
2958 <    if (!ServerInfo.rsa_private_key_file)
2958 >    if (!ConfigServerInfo.rsa_private_key_file)
2959      {
2960        conf_error_report("No rsa_private_key_file specified, SSL disabled");
2961        break;
2962      }
2963  
2964 <    if (SSL_CTX_use_certificate_file(ServerInfo.server_ctx, yylval.string,
2965 <                                     SSL_FILETYPE_PEM) <= 0 ||
3367 <        SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3368 <                                     SSL_FILETYPE_PEM) <= 0)
3369 <    {
3370 <      report_crypto_errors();
3371 <      conf_error_report("Could not open/read certificate file");
3372 <      break;
3373 <    }
2964 >    if (ConfigServerInfo.ssl_certificate_file)
2965 >      xfree(ConfigServerInfo.ssl_certificate_file);
2966  
2967 <    if (SSL_CTX_use_PrivateKey_file(ServerInfo.server_ctx, ServerInfo.rsa_private_key_file,
3376 <                                    SSL_FILETYPE_PEM) <= 0 ||
3377 <        SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3378 <                                    SSL_FILETYPE_PEM) <= 0)
3379 <    {
3380 <      report_crypto_errors();
3381 <      conf_error_report("Could not read RSA private key");
3382 <      break;
3383 <    }
3384 <
3385 <    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3386 <        !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3387 <    {
3388 <      report_crypto_errors();
3389 <      conf_error_report("Could not read RSA private key");
3390 <      break;
3391 <    }
2967 >    ConfigServerInfo.ssl_certificate_file = xstrdup(yylval.string);
2968    }
3393 #endif
2969   }
2970 + #line 2971 "conf_parser.c" /* yacc.c:1646  */
2971      break;
2972  
2973 <  case 83:
2974 < /* Line 1787 of yacc.c  */
3399 < #line 553 "conf_parser.y"
2973 >  case 74:
2974 > #line 489 "conf_parser.y" /* yacc.c:1646  */
2975      {
3401 #ifdef HAVE_LIBCRYPTO
3402  BIO *file = NULL;
3403
2976    if (conf_parser_ctx.pass != 1)
2977      break;
2978  
2979 <  if (ServerInfo.rsa_private_key)
2980 <  {
2981 <    RSA_free(ServerInfo.rsa_private_key);
2982 <    ServerInfo.rsa_private_key = NULL;
3411 <  }
3412 <
3413 <  if (ServerInfo.rsa_private_key_file)
3414 <  {
3415 <    MyFree(ServerInfo.rsa_private_key_file);
3416 <    ServerInfo.rsa_private_key_file = NULL;
3417 <  }
3418 <
3419 <  ServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3420 <
3421 <  if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3422 <  {
3423 <    conf_error_report("File open failed, ignoring");
2979 >  xfree(ConfigServerInfo.rsa_private_key_file);
2980 >  ConfigServerInfo.rsa_private_key_file = xstrdup(yylval.string);
2981 > }
2982 > #line 2983 "conf_parser.c" /* yacc.c:1646  */
2983      break;
3425  }
2984  
2985 <  ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
2986 <
2987 <  BIO_set_close(file, BIO_CLOSE);
2988 <  BIO_free(file);
3431 <
3432 <  if (ServerInfo.rsa_private_key == NULL)
2985 >  case 75:
2986 > #line 498 "conf_parser.y" /* yacc.c:1646  */
2987 >    {
2988 >  if (conf_parser_ctx.pass == 2)
2989    {
2990 <    conf_error_report("Couldn't extract key, ignoring");
2991 <    break;
2990 >    xfree(ConfigServerInfo.ssl_dh_param_file);
2991 >    ConfigServerInfo.ssl_dh_param_file = xstrdup(yylval.string);
2992    }
2993 <
2994 <  if (!RSA_check_key(ServerInfo.rsa_private_key))
3439 <  {
3440 <    RSA_free(ServerInfo.rsa_private_key);
3441 <    ServerInfo.rsa_private_key = NULL;
3442 <
3443 <    conf_error_report("Invalid key, ignoring");
2993 > }
2994 > #line 2995 "conf_parser.c" /* yacc.c:1646  */
2995      break;
3445  }
2996  
2997 <  /* require 2048 bit (256 byte) key */
2998 <  if (RSA_size(ServerInfo.rsa_private_key) != 256)
2997 >  case 76:
2998 > #line 507 "conf_parser.y" /* yacc.c:1646  */
2999 >    {
3000 >  if (conf_parser_ctx.pass == 2)
3001    {
3002 <    RSA_free(ServerInfo.rsa_private_key);
3003 <    ServerInfo.rsa_private_key = NULL;
3452 <
3453 <    conf_error_report("Not a 2048 bit key, ignoring");
3002 >    xfree(ConfigServerInfo.ssl_cipher_list);
3003 >    ConfigServerInfo.ssl_cipher_list = xstrdup(yylval.string);
3004    }
3455 #endif
3005   }
3006 + #line 3007 "conf_parser.c" /* yacc.c:1646  */
3007      break;
3008  
3009 <  case 84:
3010 < /* Line 1787 of yacc.c  */
3461 < #line 612 "conf_parser.y"
3009 >  case 77:
3010 > #line 516 "conf_parser.y" /* yacc.c:1646  */
3011      {
3012 < /* TBD - XXX: error reporting */
3464 < #ifdef HAVE_LIBCRYPTO
3465 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3012 >  if (conf_parser_ctx.pass == 2)
3013    {
3014 <    BIO *file = BIO_new_file(yylval.string, "r");
3015 <
3469 <    if (file)
3470 <    {
3471 <      DH *dh = PEM_read_bio_DHparams(file, NULL, NULL, NULL);
3472 <
3473 <      BIO_free(file);
3474 <
3475 <      if (dh)
3476 <      {
3477 <        if (DH_size(dh) < 128)
3478 <          conf_error_report("Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3479 <        else
3480 <          SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3481 <
3482 <        DH_free(dh);
3483 <      }
3484 <    }
3014 >    xfree(ConfigServerInfo.ssl_message_digest_algorithm);
3015 >    ConfigServerInfo.ssl_message_digest_algorithm = xstrdup(yylval.string);
3016    }
3486 #endif
3017   }
3018 + #line 3019 "conf_parser.c" /* yacc.c:1646  */
3019      break;
3020  
3021 <  case 85:
3022 < /* Line 1787 of yacc.c  */
3492 < #line 640 "conf_parser.y"
3021 >  case 78:
3022 > #line 525 "conf_parser.y" /* yacc.c:1646  */
3023      {
3024 < #ifdef HAVE_LIBCRYPTO
3025 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3026 <    SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3027 < #endif
3024 >  if (conf_parser_ctx.pass == 2)
3025 >  {
3026 >    xfree(ConfigServerInfo.ssl_dh_elliptic_curve);
3027 >    ConfigServerInfo.ssl_dh_elliptic_curve = xstrdup(yylval.string);
3028 >  }
3029   }
3030 + #line 3031 "conf_parser.c" /* yacc.c:1646  */
3031      break;
3032  
3033 <  case 86:
3034 < /* Line 1787 of yacc.c  */
3503 < #line 648 "conf_parser.y"
3033 >  case 79:
3034 > #line 534 "conf_parser.y" /* yacc.c:1646  */
3035      {
3036 <  /* this isn't rehashable */
3037 <  if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
3036 >  /* This isn't rehashable */
3037 >  if (conf_parser_ctx.pass == 2 && !ConfigServerInfo.name)
3038    {
3039      if (valid_servname(yylval.string))
3040 <      ServerInfo.name = xstrdup(yylval.string);
3040 >      ConfigServerInfo.name = xstrdup(yylval.string);
3041      else
3042      {
3043        conf_error_report("Ignoring serverinfo::name -- invalid name. Aborting.");
3044 <      exit(0);
3044 >      exit(EXIT_FAILURE);
3045      }
3046    }
3047   }
3048 + #line 3049 "conf_parser.c" /* yacc.c:1646  */
3049      break;
3050  
3051 <  case 87:
3052 < /* Line 1787 of yacc.c  */
3521 < #line 663 "conf_parser.y"
3051 >  case 80:
3052 > #line 549 "conf_parser.y" /* yacc.c:1646  */
3053      {
3054 <  /* this isn't rehashable */
3055 <  if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
3054 >  /* This isn't rehashable */
3055 >  if (conf_parser_ctx.pass == 2 && !ConfigServerInfo.sid)
3056    {
3057      if (valid_sid(yylval.string))
3058 <      ServerInfo.sid = xstrdup(yylval.string);
3058 >      ConfigServerInfo.sid = xstrdup(yylval.string);
3059      else
3060      {
3061        conf_error_report("Ignoring serverinfo::sid -- invalid SID. Aborting.");
3062 <      exit(0);
3062 >      exit(EXIT_FAILURE);
3063      }
3064    }
3065   }
3066 + #line 3067 "conf_parser.c" /* yacc.c:1646  */
3067      break;
3068  
3069 <  case 88:
3070 < /* Line 1787 of yacc.c  */
3539 < #line 678 "conf_parser.y"
3069 >  case 81:
3070 > #line 564 "conf_parser.y" /* yacc.c:1646  */
3071      {
3072    if (conf_parser_ctx.pass == 2)
3073    {
3074 <    MyFree(ServerInfo.description);
3075 <    ServerInfo.description = xstrdup(yylval.string);
3074 >    xfree(ConfigServerInfo.description);
3075 >    ConfigServerInfo.description = xstrdup(yylval.string);
3076 >    strlcpy(me.info, ConfigServerInfo.description, sizeof(me.info));
3077    }
3078   }
3079 + #line 3080 "conf_parser.c" /* yacc.c:1646  */
3080      break;
3081  
3082 <  case 89:
3083 < /* Line 1787 of yacc.c  */
3551 < #line 687 "conf_parser.y"
3082 >  case 82:
3083 > #line 574 "conf_parser.y" /* yacc.c:1646  */
3084      {
3085    if (conf_parser_ctx.pass == 2)
3086    {
3087      char *p;
3088  
3089 <    if ((p = strchr(yylval.string, ' ')) != NULL)
3090 <      p = '\0';
3089 >    if ((p = strchr(yylval.string, ' ')))
3090 >      *p = '\0';
3091  
3092 <    MyFree(ServerInfo.network_name);
3093 <    ServerInfo.network_name = xstrdup(yylval.string);
3092 >    xfree(ConfigServerInfo.network_name);
3093 >    ConfigServerInfo.network_name = xstrdup(yylval.string);
3094    }
3095   }
3096 + #line 3097 "conf_parser.c" /* yacc.c:1646  */
3097      break;
3098  
3099 <  case 90:
3100 < /* Line 1787 of yacc.c  */
3568 < #line 701 "conf_parser.y"
3099 >  case 83:
3100 > #line 588 "conf_parser.y" /* yacc.c:1646  */
3101      {
3102    if (conf_parser_ctx.pass != 2)
3103      break;
3104  
3105 <  MyFree(ServerInfo.network_desc);
3106 <  ServerInfo.network_desc = xstrdup(yylval.string);
3105 >  xfree(ConfigServerInfo.network_desc);
3106 >  ConfigServerInfo.network_desc = xstrdup(yylval.string);
3107   }
3108 + #line 3109 "conf_parser.c" /* yacc.c:1646  */
3109      break;
3110  
3111 <  case 91:
3112 < /* Line 1787 of yacc.c  */
3580 < #line 710 "conf_parser.y"
3111 >  case 84:
3112 > #line 597 "conf_parser.y" /* yacc.c:1646  */
3113      {
3114    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3115    {
# Line 3593 | Line 3125 | yyreduce:
3125        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
3126      else
3127      {
3128 <      assert(res != NULL);
3128 >      assert(res);
3129  
3130 <      memcpy(&ServerInfo.ip, res->ai_addr, res->ai_addrlen);
3131 <      ServerInfo.ip.ss.ss_family = res->ai_family;
3132 <      ServerInfo.ip.ss_len = res->ai_addrlen;
3130 >      memcpy(&ConfigServerInfo.ip, res->ai_addr, res->ai_addrlen);
3131 >      ConfigServerInfo.ip.ss.ss_family = res->ai_family;
3132 >      ConfigServerInfo.ip.ss_len = res->ai_addrlen;
3133        freeaddrinfo(res);
3134  
3135 <      ServerInfo.specific_ipv4_vhost = 1;
3135 >      ConfigServerInfo.specific_ipv4_vhost = 1;
3136      }
3137    }
3138   }
3139 + #line 3140 "conf_parser.c" /* yacc.c:1646  */
3140      break;
3141  
3142 <  case 92:
3143 < /* Line 1787 of yacc.c  */
3611 < #line 738 "conf_parser.y"
3142 >  case 85:
3143 > #line 625 "conf_parser.y" /* yacc.c:1646  */
3144      {
3613 #ifdef IPV6
3145    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3146    {
3147      struct addrinfo hints, *res;
# Line 3625 | Line 3156 | yyreduce:
3156        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost6(%s)", yylval.string);
3157      else
3158      {
3159 <      assert(res != NULL);
3159 >      assert(res);
3160  
3161 <      memcpy(&ServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3162 <      ServerInfo.ip6.ss.ss_family = res->ai_family;
3163 <      ServerInfo.ip6.ss_len = res->ai_addrlen;
3161 >      memcpy(&ConfigServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3162 >      ConfigServerInfo.ip6.ss.ss_family = res->ai_family;
3163 >      ConfigServerInfo.ip6.ss_len = res->ai_addrlen;
3164        freeaddrinfo(res);
3165  
3166 <      ServerInfo.specific_ipv6_vhost = 1;
3166 >      ConfigServerInfo.specific_ipv6_vhost = 1;
3167      }
3168    }
3638 #endif
3169   }
3170 + #line 3171 "conf_parser.c" /* yacc.c:1646  */
3171      break;
3172  
3173 <  case 93:
3174 < /* Line 1787 of yacc.c  */
3644 < #line 768 "conf_parser.y"
3173 >  case 86:
3174 > #line 653 "conf_parser.y" /* yacc.c:1646  */
3175      {
3176    if (conf_parser_ctx.pass != 2)
3177      break;
3178  
3179 <  if ((yyvsp[(3) - (4)].number) < MAXCLIENTS_MIN)
3179 >  if ((yyvsp[-1].number) < MAXCLIENTS_MIN)
3180    {
3181 <    char buf[IRCD_BUFSIZE];
3181 >    char buf[IRCD_BUFSIZE] = "";
3182  
3183      snprintf(buf, sizeof(buf), "MAXCLIENTS too low, setting to %d", MAXCLIENTS_MIN);
3184      conf_error_report(buf);
3185 <    ServerInfo.max_clients = MAXCLIENTS_MIN;
3185 >    ConfigServerInfo.default_max_clients = MAXCLIENTS_MIN;
3186    }
3187 <  else if ((yyvsp[(3) - (4)].number) > MAXCLIENTS_MAX)
3187 >  else if ((yyvsp[-1].number) > MAXCLIENTS_MAX)
3188    {
3189 <    char buf[IRCD_BUFSIZE];
3189 >    char buf[IRCD_BUFSIZE] = "";
3190  
3191      snprintf(buf, sizeof(buf), "MAXCLIENTS too high, setting to %d", MAXCLIENTS_MAX);
3192      conf_error_report(buf);
3193 <    ServerInfo.max_clients = MAXCLIENTS_MAX;
3193 >    ConfigServerInfo.default_max_clients = MAXCLIENTS_MAX;
3194    }
3195    else
3196 <    ServerInfo.max_clients = (yyvsp[(3) - (4)].number);
3196 >    ConfigServerInfo.default_max_clients = (yyvsp[-1].number);
3197   }
3198 + #line 3199 "conf_parser.c" /* yacc.c:1646  */
3199      break;
3200  
3201 <  case 94:
3202 < /* Line 1787 of yacc.c  */
3672 < #line 793 "conf_parser.y"
3201 >  case 87:
3202 > #line 678 "conf_parser.y" /* yacc.c:1646  */
3203      {
3204    if (conf_parser_ctx.pass != 2)
3205      break;
3206  
3207 <  if ((yyvsp[(3) - (4)].number) < 9)
3207 >  if ((yyvsp[-1].number) < 9)
3208    {
3209      conf_error_report("max_nick_length too low, setting to 9");
3210 <    ServerInfo.max_nick_length = 9;
3210 >    ConfigServerInfo.max_nick_length = 9;
3211    }
3212 <  else if ((yyvsp[(3) - (4)].number) > NICKLEN)
3212 >  else if ((yyvsp[-1].number) > NICKLEN)
3213    {
3214 <    char buf[IRCD_BUFSIZE];
3214 >    char buf[IRCD_BUFSIZE] = "";
3215  
3216      snprintf(buf, sizeof(buf), "max_nick_length too high, setting to %d", NICKLEN);
3217      conf_error_report(buf);
3218 <    ServerInfo.max_nick_length = NICKLEN;
3218 >    ConfigServerInfo.max_nick_length = NICKLEN;
3219    }
3220    else
3221 <    ServerInfo.max_nick_length = (yyvsp[(3) - (4)].number);
3221 >    ConfigServerInfo.max_nick_length = (yyvsp[-1].number);
3222   }
3223 + #line 3224 "conf_parser.c" /* yacc.c:1646  */
3224      break;
3225  
3226 <  case 95:
3227 < /* Line 1787 of yacc.c  */
3697 < #line 815 "conf_parser.y"
3226 >  case 88:
3227 > #line 700 "conf_parser.y" /* yacc.c:1646  */
3228      {
3229    if (conf_parser_ctx.pass != 2)
3230      break;
3231  
3232 <  if ((yyvsp[(3) - (4)].number) < 80)
3232 >  if ((yyvsp[-1].number) < 80)
3233    {
3234      conf_error_report("max_topic_length too low, setting to 80");
3235 <    ServerInfo.max_topic_length = 80;
3235 >    ConfigServerInfo.max_topic_length = 80;
3236    }
3237 <  else if ((yyvsp[(3) - (4)].number) > TOPICLEN)
3237 >  else if ((yyvsp[-1].number) > TOPICLEN)
3238    {
3239 <    char buf[IRCD_BUFSIZE];
3239 >    char buf[IRCD_BUFSIZE] = "";
3240  
3241      snprintf(buf, sizeof(buf), "max_topic_length too high, setting to %d", TOPICLEN);
3242      conf_error_report(buf);
3243 <    ServerInfo.max_topic_length = TOPICLEN;
3243 >    ConfigServerInfo.max_topic_length = TOPICLEN;
3244    }
3245    else
3246 <    ServerInfo.max_topic_length = (yyvsp[(3) - (4)].number);
3246 >    ConfigServerInfo.max_topic_length = (yyvsp[-1].number);
3247   }
3248 + #line 3249 "conf_parser.c" /* yacc.c:1646  */
3249      break;
3250  
3251 <  case 96:
3252 < /* Line 1787 of yacc.c  */
3722 < #line 837 "conf_parser.y"
3251 >  case 89:
3252 > #line 722 "conf_parser.y" /* yacc.c:1646  */
3253      {
3254    if (conf_parser_ctx.pass == 2)
3255 <    ServerInfo.hub = yylval.number;
3255 >    ConfigServerInfo.hub = yylval.number;
3256   }
3257 + #line 3258 "conf_parser.c" /* yacc.c:1646  */
3258      break;
3259  
3260 <  case 104:
3261 < /* Line 1787 of yacc.c  */
3731 < #line 852 "conf_parser.y"
3260 >  case 97:
3261 > #line 740 "conf_parser.y" /* yacc.c:1646  */
3262      {
3263    if (conf_parser_ctx.pass != 2)
3264      break;
3265  
3266 <  MyFree(AdminInfo.name);
3267 <  AdminInfo.name = xstrdup(yylval.string);
3266 >  xfree(ConfigAdminInfo.name);
3267 >  ConfigAdminInfo.name = xstrdup(yylval.string);
3268   }
3269 + #line 3270 "conf_parser.c" /* yacc.c:1646  */
3270      break;
3271  
3272 <  case 105:
3273 < /* Line 1787 of yacc.c  */
3743 < #line 861 "conf_parser.y"
3272 >  case 98:
3273 > #line 749 "conf_parser.y" /* yacc.c:1646  */
3274      {
3275    if (conf_parser_ctx.pass != 2)
3276      break;
3277  
3278 <  MyFree(AdminInfo.email);
3279 <  AdminInfo.email = xstrdup(yylval.string);
3278 >  xfree(ConfigAdminInfo.email);
3279 >  ConfigAdminInfo.email = xstrdup(yylval.string);
3280   }
3281 + #line 3282 "conf_parser.c" /* yacc.c:1646  */
3282      break;
3283  
3284 <  case 106:
3285 < /* Line 1787 of yacc.c  */
3755 < #line 870 "conf_parser.y"
3284 >  case 99:
3285 > #line 758 "conf_parser.y" /* yacc.c:1646  */
3286      {
3287    if (conf_parser_ctx.pass != 2)
3288      break;
3289  
3290 <  MyFree(AdminInfo.description);
3291 <  AdminInfo.description = xstrdup(yylval.string);
3290 >  xfree(ConfigAdminInfo.description);
3291 >  ConfigAdminInfo.description = xstrdup(yylval.string);
3292   }
3293 + #line 3294 "conf_parser.c" /* yacc.c:1646  */
3294      break;
3295  
3296 <  case 107:
3297 < /* Line 1787 of yacc.c  */
3767 < #line 882 "conf_parser.y"
3296 >  case 100:
3297 > #line 771 "conf_parser.y" /* yacc.c:1646  */
3298      {
3299    if (conf_parser_ctx.pass == 2)
3300      reset_block_state();
3301   }
3302 + #line 3303 "conf_parser.c" /* yacc.c:1646  */
3303      break;
3304  
3305 <  case 108:
3306 < /* Line 1787 of yacc.c  */
3776 < #line 886 "conf_parser.y"
3305 >  case 101:
3306 > #line 775 "conf_parser.y" /* yacc.c:1646  */
3307      {
3308 <  dlink_node *ptr = NULL;
3308 >  dlink_node *node = NULL;
3309  
3310    if (conf_parser_ctx.pass != 2)
3311      break;
# Line 3783 | Line 3313 | yyreduce:
3313    if (!block_state.file.buf[0])
3314      break;
3315  
3316 <  DLINK_FOREACH(ptr, block_state.mask.list.head)
3317 <    motd_add(ptr->data, block_state.file.buf);
3316 >  DLINK_FOREACH(node, block_state.mask.list.head)
3317 >    motd_add(node->data, block_state.file.buf);
3318   }
3319 + #line 3320 "conf_parser.c" /* yacc.c:1646  */
3320      break;
3321  
3322 <  case 114:
3323 < /* Line 1787 of yacc.c  */
3793 < #line 903 "conf_parser.y"
3322 >  case 107:
3323 > #line 792 "conf_parser.y" /* yacc.c:1646  */
3324      {
3325    if (conf_parser_ctx.pass == 2)
3326      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3327   }
3328 + #line 3329 "conf_parser.c" /* yacc.c:1646  */
3329      break;
3330  
3331 <  case 115:
3332 < /* Line 1787 of yacc.c  */
3802 < #line 909 "conf_parser.y"
3331 >  case 108:
3332 > #line 798 "conf_parser.y" /* yacc.c:1646  */
3333      {
3334    if (conf_parser_ctx.pass == 2)
3335      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3336   }
3337 + #line 3338 "conf_parser.c" /* yacc.c:1646  */
3338      break;
3339  
3340 <  case 122:
3341 < /* Line 1787 of yacc.c  */
3811 < #line 924 "conf_parser.y"
3340 >  case 109:
3341 > #line 808 "conf_parser.y" /* yacc.c:1646  */
3342      {
3343    if (conf_parser_ctx.pass == 2)
3344 <    ConfigLoggingEntry.use_logging = yylval.number;
3344 >    reset_block_state();
3345   }
3346 + #line 3347 "conf_parser.c" /* yacc.c:1646  */
3347      break;
3348  
3349 <  case 123:
3350 < /* Line 1787 of yacc.c  */
3351 < #line 930 "conf_parser.y"
3349 >  case 110:
3350 > #line 812 "conf_parser.y" /* yacc.c:1646  */
3351 >    {
3352 >  if (conf_parser_ctx.pass != 2)
3353 >    break;
3354 >
3355 >  if (!block_state.command.buf[0] ||
3356 >      !block_state.name.buf[0] ||
3357 >      !block_state.nick.buf[0] ||
3358 >      !block_state.host.buf[0])
3359 >    break;
3360 >
3361 >  pseudo_register(block_state.name.buf, block_state.nick.buf, block_state.host.buf,
3362 >                  block_state.prepend.buf, block_state.command.buf);
3363 > }
3364 > #line 3365 "conf_parser.c" /* yacc.c:1646  */
3365 >    break;
3366 >
3367 >  case 118:
3368 > #line 830 "conf_parser.y" /* yacc.c:1646  */
3369 >    {
3370 >  if (conf_parser_ctx.pass == 2)
3371 >    strlcpy(block_state.command.buf, yylval.string, sizeof(block_state.command.buf));
3372 > }
3373 > #line 3374 "conf_parser.c" /* yacc.c:1646  */
3374 >    break;
3375 >
3376 >  case 119:
3377 > #line 836 "conf_parser.y" /* yacc.c:1646  */
3378 >    {
3379 >  if (conf_parser_ctx.pass == 2)
3380 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3381 > }
3382 > #line 3383 "conf_parser.c" /* yacc.c:1646  */
3383 >    break;
3384 >
3385 >  case 120:
3386 > #line 842 "conf_parser.y" /* yacc.c:1646  */
3387 >    {
3388 >  if (conf_parser_ctx.pass == 2)
3389 >    strlcpy(block_state.prepend.buf, yylval.string, sizeof(block_state.prepend.buf));
3390 > }
3391 > #line 3392 "conf_parser.c" /* yacc.c:1646  */
3392 >    break;
3393 >
3394 >  case 121:
3395 > #line 848 "conf_parser.y" /* yacc.c:1646  */
3396 >    {
3397 >  if (conf_parser_ctx.pass == 2)
3398 >  {
3399 >    struct split_nuh_item nuh;
3400 >
3401 >    nuh.nuhmask  = yylval.string;
3402 >    nuh.nickptr  = NULL;
3403 >    nuh.userptr  = block_state.nick.buf;
3404 >    nuh.hostptr  = block_state.host.buf;
3405 >    nuh.nicksize = 0;
3406 >    nuh.usersize = sizeof(block_state.nick.buf);
3407 >    nuh.hostsize = sizeof(block_state.host.buf);
3408 >
3409 >    split_nuh(&nuh);
3410 >  }
3411 > }
3412 > #line 3413 "conf_parser.c" /* yacc.c:1646  */
3413 >    break;
3414 >
3415 >  case 128:
3416 > #line 876 "conf_parser.y" /* yacc.c:1646  */
3417 >    {
3418 >  if (conf_parser_ctx.pass == 2)
3419 >    ConfigLog.use_logging = yylval.number;
3420 > }
3421 > #line 3422 "conf_parser.c" /* yacc.c:1646  */
3422 >    break;
3423 >
3424 >  case 129:
3425 > #line 882 "conf_parser.y" /* yacc.c:1646  */
3426      {
3427    if (conf_parser_ctx.pass == 2)
3428      reset_block_state();
3429   }
3430 + #line 3431 "conf_parser.c" /* yacc.c:1646  */
3431      break;
3432  
3433 <  case 124:
3434 < /* Line 1787 of yacc.c  */
3829 < #line 934 "conf_parser.y"
3433 >  case 130:
3434 > #line 886 "conf_parser.y" /* yacc.c:1646  */
3435      {
3436    if (conf_parser_ctx.pass != 2)
3437      break;
# Line 3835 | Line 3440 | yyreduce:
3440      log_set_file(block_state.type.value, block_state.size.value,
3441                   block_state.file.buf);
3442   }
3443 + #line 3444 "conf_parser.c" /* yacc.c:1646  */
3444      break;
3445  
3446 <  case 131:
3447 < /* Line 1787 of yacc.c  */
3842 < #line 950 "conf_parser.y"
3446 >  case 137:
3447 > #line 902 "conf_parser.y" /* yacc.c:1646  */
3448      {
3449    if (conf_parser_ctx.pass != 2)
3450      break;
3451  
3452    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3453   }
3454 + #line 3455 "conf_parser.c" /* yacc.c:1646  */
3455      break;
3456  
3457 <  case 132:
3458 < /* Line 1787 of yacc.c  */
3853 < #line 958 "conf_parser.y"
3457 >  case 138:
3458 > #line 910 "conf_parser.y" /* yacc.c:1646  */
3459      {
3460 <  block_state.size.value = (yyvsp[(3) - (4)].number);
3460 >  block_state.size.value = (yyvsp[-1].number);
3461   }
3462 + #line 3463 "conf_parser.c" /* yacc.c:1646  */
3463      break;
3464  
3465 <  case 133:
3466 < /* Line 1787 of yacc.c  */
3861 < #line 961 "conf_parser.y"
3465 >  case 139:
3466 > #line 913 "conf_parser.y" /* yacc.c:1646  */
3467      {
3468    block_state.size.value = 0;
3469   }
3470 + #line 3471 "conf_parser.c" /* yacc.c:1646  */
3471      break;
3472  
3473 <  case 134:
3474 < /* Line 1787 of yacc.c  */
3869 < #line 966 "conf_parser.y"
3473 >  case 140:
3474 > #line 918 "conf_parser.y" /* yacc.c:1646  */
3475      {
3476    if (conf_parser_ctx.pass == 2)
3477      block_state.type.value = 0;
3478   }
3479 + #line 3480 "conf_parser.c" /* yacc.c:1646  */
3480      break;
3481  
3482 <  case 138:
3483 < /* Line 1787 of yacc.c  */
3878 < #line 973 "conf_parser.y"
3482 >  case 144:
3483 > #line 925 "conf_parser.y" /* yacc.c:1646  */
3484      {
3485    if (conf_parser_ctx.pass == 2)
3486      block_state.type.value = LOG_TYPE_USER;
3487   }
3488 + #line 3489 "conf_parser.c" /* yacc.c:1646  */
3489      break;
3490  
3491 <  case 139:
3492 < /* Line 1787 of yacc.c  */
3887 < #line 977 "conf_parser.y"
3491 >  case 145:
3492 > #line 929 "conf_parser.y" /* yacc.c:1646  */
3493      {
3494    if (conf_parser_ctx.pass == 2)
3495      block_state.type.value = LOG_TYPE_OPER;
3496   }
3497 + #line 3498 "conf_parser.c" /* yacc.c:1646  */
3498      break;
3499  
3500 <  case 140:
3501 < /* Line 1787 of yacc.c  */
3896 < #line 981 "conf_parser.y"
3500 >  case 146:
3501 > #line 933 "conf_parser.y" /* yacc.c:1646  */
3502      {
3503    if (conf_parser_ctx.pass == 2)
3504 <    block_state.type.value = LOG_TYPE_GLINE;
3504 >    block_state.type.value = LOG_TYPE_XLINE;
3505   }
3506 + #line 3507 "conf_parser.c" /* yacc.c:1646  */
3507      break;
3508  
3509 <  case 141:
3510 < /* Line 1787 of yacc.c  */
3511 < #line 985 "conf_parser.y"
3509 >  case 147:
3510 > #line 937 "conf_parser.y" /* yacc.c:1646  */
3511 >    {
3512 >  if (conf_parser_ctx.pass == 2)
3513 >    block_state.type.value = LOG_TYPE_RESV;
3514 > }
3515 > #line 3516 "conf_parser.c" /* yacc.c:1646  */
3516 >    break;
3517 >
3518 >  case 148:
3519 > #line 941 "conf_parser.y" /* yacc.c:1646  */
3520      {
3521    if (conf_parser_ctx.pass == 2)
3522      block_state.type.value = LOG_TYPE_DLINE;
3523   }
3524 + #line 3525 "conf_parser.c" /* yacc.c:1646  */
3525      break;
3526  
3527 <  case 142:
3528 < /* Line 1787 of yacc.c  */
3914 < #line 989 "conf_parser.y"
3527 >  case 149:
3528 > #line 945 "conf_parser.y" /* yacc.c:1646  */
3529      {
3530    if (conf_parser_ctx.pass == 2)
3531      block_state.type.value = LOG_TYPE_KLINE;
3532   }
3533 + #line 3534 "conf_parser.c" /* yacc.c:1646  */
3534      break;
3535  
3536 <  case 143:
3537 < /* Line 1787 of yacc.c  */
3923 < #line 993 "conf_parser.y"
3536 >  case 150:
3537 > #line 949 "conf_parser.y" /* yacc.c:1646  */
3538      {
3539    if (conf_parser_ctx.pass == 2)
3540      block_state.type.value = LOG_TYPE_KILL;
3541   }
3542 + #line 3543 "conf_parser.c" /* yacc.c:1646  */
3543      break;
3544  
3545 <  case 144:
3546 < /* Line 1787 of yacc.c  */
3932 < #line 997 "conf_parser.y"
3545 >  case 151:
3546 > #line 953 "conf_parser.y" /* yacc.c:1646  */
3547      {
3548    if (conf_parser_ctx.pass == 2)
3549      block_state.type.value = LOG_TYPE_DEBUG;
3550   }
3551 + #line 3552 "conf_parser.c" /* yacc.c:1646  */
3552      break;
3553  
3554 <  case 145:
3555 < /* Line 1787 of yacc.c  */
3941 < #line 1007 "conf_parser.y"
3554 >  case 152:
3555 > #line 963 "conf_parser.y" /* yacc.c:1646  */
3556      {
3557    if (conf_parser_ctx.pass != 2)
3558      break;
# Line 3946 | Line 3560 | yyreduce:
3560    reset_block_state();
3561    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3562   }
3563 + #line 3564 "conf_parser.c" /* yacc.c:1646  */
3564      break;
3565  
3566 <  case 146:
3567 < /* Line 1787 of yacc.c  */
3953 < #line 1014 "conf_parser.y"
3566 >  case 153:
3567 > #line 970 "conf_parser.y" /* yacc.c:1646  */
3568      {
3569 <  dlink_node *ptr = NULL;
3569 >  dlink_node *node = NULL;
3570  
3571    if (conf_parser_ctx.pass != 2)
3572      break;
3573  
3574    if (!block_state.name.buf[0])
3575      break;
3576 < #ifdef HAVE_LIBCRYPTO
3963 <  if (!block_state.file.buf[0] &&
3964 <      !block_state.rpass.buf[0])
3965 <    break;
3966 < #else
3576 >
3577    if (!block_state.rpass.buf[0])
3578      break;
3969 #endif
3579  
3580 <  DLINK_FOREACH(ptr, block_state.mask.list.head)
3580 >  DLINK_FOREACH(node, block_state.mask.list.head)
3581    {
3582      struct MaskItem *conf = NULL;
3583      struct split_nuh_item nuh;
3584  
3585 <    nuh.nuhmask  = ptr->data;
3585 >    nuh.nuhmask  = node->data;
3586      nuh.nickptr  = NULL;
3587      nuh.userptr  = block_state.user.buf;
3588      nuh.hostptr  = block_state.host.buf;
# Line 3993 | Line 3602 | yyreduce:
3602      if (block_state.rpass.buf[0])
3603        conf->passwd = xstrdup(block_state.rpass.buf);
3604  
3605 +    if (block_state.whois.buf[0])
3606 +      conf->whois = xstrdup(block_state.whois.buf);
3607 +
3608      conf->flags = block_state.flags.value;
3609      conf->modes = block_state.modes.value;
3610      conf->port  = block_state.port.value;
3611      conf->htype = parse_netmask(conf->host, &conf->addr, &conf->bits);
3612  
3613      conf_add_class_to_conf(conf, block_state.class.buf);
4002
4003 #ifdef HAVE_LIBCRYPTO
4004    if (block_state.file.buf[0])
4005    {
4006      BIO *file = NULL;
4007      RSA *pkey = NULL;
4008
4009      if ((file = BIO_new_file(block_state.file.buf, "r")) == NULL)
4010      {
4011        conf_error_report("Ignoring rsa_public_key_file -- file doesn't exist");
4012        break;
4013      }
4014
4015      if ((pkey = PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL)) == NULL)
4016        conf_error_report("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
4017
4018      conf->rsa_public_key = pkey;
4019      BIO_set_close(file, BIO_CLOSE);
4020      BIO_free(file);
4021    }
4022 #endif /* HAVE_LIBCRYPTO */
3614    }
3615   }
3616 + #line 3617 "conf_parser.c" /* yacc.c:1646  */
3617      break;
3618  
3619 <  case 159:
3620 < /* Line 1787 of yacc.c  */
4029 < #line 1093 "conf_parser.y"
3619 >  case 167:
3620 > #line 1033 "conf_parser.y" /* yacc.c:1646  */
3621      {
3622    if (conf_parser_ctx.pass == 2)
3623      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3624   }
3625 + #line 3626 "conf_parser.c" /* yacc.c:1646  */
3626      break;
3627  
3628 <  case 160:
3629 < /* Line 1787 of yacc.c  */
4038 < #line 1099 "conf_parser.y"
3628 >  case 168:
3629 > #line 1039 "conf_parser.y" /* yacc.c:1646  */
3630      {
3631    if (conf_parser_ctx.pass == 2)
3632      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3633   }
3634 + #line 3635 "conf_parser.c" /* yacc.c:1646  */
3635      break;
3636  
3637 <  case 161:
3638 < /* Line 1787 of yacc.c  */
4047 < #line 1105 "conf_parser.y"
3637 >  case 169:
3638 > #line 1045 "conf_parser.y" /* yacc.c:1646  */
3639      {
3640    if (conf_parser_ctx.pass == 2)
3641      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
3642   }
3643 + #line 3644 "conf_parser.c" /* yacc.c:1646  */
3644      break;
3645  
3646 <  case 162:
3647 < /* Line 1787 of yacc.c  */
3648 < #line 1111 "conf_parser.y"
3646 >  case 170:
3647 > #line 1051 "conf_parser.y" /* yacc.c:1646  */
3648 >    {
3649 >  if (conf_parser_ctx.pass == 2)
3650 >    strlcpy(block_state.whois.buf, yylval.string, sizeof(block_state.whois.buf));
3651 > }
3652 > #line 3653 "conf_parser.c" /* yacc.c:1646  */
3653 >    break;
3654 >
3655 >  case 171:
3656 > #line 1057 "conf_parser.y" /* yacc.c:1646  */
3657      {
3658    if (conf_parser_ctx.pass != 2)
3659      break;
# Line 4063 | Line 3663 | yyreduce:
3663    else
3664      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3665   }
3666 + #line 3667 "conf_parser.c" /* yacc.c:1646  */
3667      break;
3668  
3669 <  case 163:
3670 < /* Line 1787 of yacc.c  */
4070 < #line 1122 "conf_parser.y"
3669 >  case 172:
3670 > #line 1068 "conf_parser.y" /* yacc.c:1646  */
3671      {
3672    if (conf_parser_ctx.pass == 2)
3673 <    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3673 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
3674   }
3675 + #line 3676 "conf_parser.c" /* yacc.c:1646  */
3676      break;
3677  
3678 <  case 164:
3679 < /* Line 1787 of yacc.c  */
4079 < #line 1128 "conf_parser.y"
3678 >  case 173:
3679 > #line 1074 "conf_parser.y" /* yacc.c:1646  */
3680      {
3681 <  if (conf_parser_ctx.pass == 2)
3682 <    if (strlen(yylval.string) == SHA_DIGEST_LENGTH * 2)
3683 <      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
3681 >  if (conf_parser_ctx.pass != 2)
3682 >    break;
3683 >
3684 >  if (yylval.number)
3685 >    block_state.flags.value |= CONF_FLAGS_SSL;
3686 >  else
3687 >    block_state.flags.value &= ~CONF_FLAGS_SSL;
3688   }
3689 + #line 3690 "conf_parser.c" /* yacc.c:1646  */
3690      break;
3691  
3692 <  case 165:
3693 < /* Line 1787 of yacc.c  */
4089 < #line 1135 "conf_parser.y"
3692 >  case 174:
3693 > #line 1085 "conf_parser.y" /* yacc.c:1646  */
3694      {
3695    if (conf_parser_ctx.pass == 2)
3696      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3697   }
3698 + #line 3699 "conf_parser.c" /* yacc.c:1646  */
3699      break;
3700  
3701 <  case 166:
3702 < /* Line 1787 of yacc.c  */
4098 < #line 1141 "conf_parser.y"
3701 >  case 175:
3702 > #line 1091 "conf_parser.y" /* yacc.c:1646  */
3703      {
3704    if (conf_parser_ctx.pass == 2)
3705      block_state.modes.value = 0;
3706   }
3707 + #line 3708 "conf_parser.c" /* yacc.c:1646  */
3708      break;
3709  
3710 <  case 170:
3711 < /* Line 1787 of yacc.c  */
4107 < #line 1148 "conf_parser.y"
3710 >  case 179:
3711 > #line 1098 "conf_parser.y" /* yacc.c:1646  */
3712      {
3713    if (conf_parser_ctx.pass == 2)
3714      block_state.modes.value |= UMODE_BOTS;
3715   }
3716 + #line 3717 "conf_parser.c" /* yacc.c:1646  */
3717      break;
3718  
3719 <  case 171:
3720 < /* Line 1787 of yacc.c  */
4116 < #line 1152 "conf_parser.y"
3719 >  case 180:
3720 > #line 1102 "conf_parser.y" /* yacc.c:1646  */
3721      {
3722    if (conf_parser_ctx.pass == 2)
3723      block_state.modes.value |= UMODE_CCONN;
3724   }
3725 + #line 3726 "conf_parser.c" /* yacc.c:1646  */
3726      break;
3727  
3728 <  case 172:
3729 < /* Line 1787 of yacc.c  */
4125 < #line 1156 "conf_parser.y"
3728 >  case 181:
3729 > #line 1106 "conf_parser.y" /* yacc.c:1646  */
3730      {
3731    if (conf_parser_ctx.pass == 2)
3732      block_state.modes.value |= UMODE_DEAF;
3733   }
3734 + #line 3735 "conf_parser.c" /* yacc.c:1646  */
3735      break;
3736  
3737 <  case 173:
3738 < /* Line 1787 of yacc.c  */
4134 < #line 1160 "conf_parser.y"
3737 >  case 182:
3738 > #line 1110 "conf_parser.y" /* yacc.c:1646  */
3739      {
3740    if (conf_parser_ctx.pass == 2)
3741      block_state.modes.value |= UMODE_DEBUG;
3742   }
3743 + #line 3744 "conf_parser.c" /* yacc.c:1646  */
3744      break;
3745  
3746 <  case 174:
3747 < /* Line 1787 of yacc.c  */
4143 < #line 1164 "conf_parser.y"
3746 >  case 183:
3747 > #line 1114 "conf_parser.y" /* yacc.c:1646  */
3748      {
3749    if (conf_parser_ctx.pass == 2)
3750      block_state.modes.value |= UMODE_FULL;
3751   }
3752 + #line 3753 "conf_parser.c" /* yacc.c:1646  */
3753      break;
3754  
3755 <  case 175:
3756 < /* Line 1787 of yacc.c  */
4152 < #line 1168 "conf_parser.y"
3755 >  case 184:
3756 > #line 1118 "conf_parser.y" /* yacc.c:1646  */
3757      {
3758    if (conf_parser_ctx.pass == 2)
3759      block_state.modes.value |= UMODE_HIDDEN;
3760   }
3761 + #line 3762 "conf_parser.c" /* yacc.c:1646  */
3762 +    break;
3763 +
3764 +  case 185:
3765 + #line 1122 "conf_parser.y" /* yacc.c:1646  */
3766 +    {
3767 +  if (conf_parser_ctx.pass == 2)
3768 +    block_state.modes.value |= UMODE_HIDECHANS;
3769 + }
3770 + #line 3771 "conf_parser.c" /* yacc.c:1646  */
3771      break;
3772  
3773 <  case 176:
3774 < /* Line 1787 of yacc.c  */
3775 < #line 1172 "conf_parser.y"
3773 >  case 186:
3774 > #line 1126 "conf_parser.y" /* yacc.c:1646  */
3775 >    {
3776 >  if (conf_parser_ctx.pass == 2)
3777 >    block_state.modes.value |= UMODE_HIDEIDLE;
3778 > }
3779 > #line 3780 "conf_parser.c" /* yacc.c:1646  */
3780 >    break;
3781 >
3782 >  case 187:
3783 > #line 1130 "conf_parser.y" /* yacc.c:1646  */
3784      {
3785    if (conf_parser_ctx.pass == 2)
3786      block_state.modes.value |= UMODE_SKILL;
3787   }
3788 + #line 3789 "conf_parser.c" /* yacc.c:1646  */
3789      break;
3790  
3791 <  case 177:
3792 < /* Line 1787 of yacc.c  */
4170 < #line 1176 "conf_parser.y"
3791 >  case 188:
3792 > #line 1134 "conf_parser.y" /* yacc.c:1646  */
3793      {
3794    if (conf_parser_ctx.pass == 2)
3795      block_state.modes.value |= UMODE_NCHANGE;
3796   }
3797 + #line 3798 "conf_parser.c" /* yacc.c:1646  */
3798      break;
3799  
3800 <  case 178:
3801 < /* Line 1787 of yacc.c  */
4179 < #line 1180 "conf_parser.y"
3800 >  case 189:
3801 > #line 1138 "conf_parser.y" /* yacc.c:1646  */
3802      {
3803    if (conf_parser_ctx.pass == 2)
3804      block_state.modes.value |= UMODE_REJ;
3805   }
3806 + #line 3807 "conf_parser.c" /* yacc.c:1646  */
3807      break;
3808  
3809 <  case 179:
3810 < /* Line 1787 of yacc.c  */
4188 < #line 1184 "conf_parser.y"
3809 >  case 190:
3810 > #line 1142 "conf_parser.y" /* yacc.c:1646  */
3811      {
3812    if (conf_parser_ctx.pass == 2)
3813      block_state.modes.value |= UMODE_UNAUTH;
3814   }
3815 + #line 3816 "conf_parser.c" /* yacc.c:1646  */
3816      break;
3817  
3818 <  case 180:
3819 < /* Line 1787 of yacc.c  */
4197 < #line 1188 "conf_parser.y"
3818 >  case 191:
3819 > #line 1146 "conf_parser.y" /* yacc.c:1646  */
3820      {
3821    if (conf_parser_ctx.pass == 2)
3822      block_state.modes.value |= UMODE_SPY;
3823   }
3824 + #line 3825 "conf_parser.c" /* yacc.c:1646  */
3825      break;
3826  
3827 <  case 181:
3828 < /* Line 1787 of yacc.c  */
4206 < #line 1192 "conf_parser.y"
3827 >  case 192:
3828 > #line 1150 "conf_parser.y" /* yacc.c:1646  */
3829      {
3830    if (conf_parser_ctx.pass == 2)
3831      block_state.modes.value |= UMODE_EXTERNAL;
3832   }
3833 + #line 3834 "conf_parser.c" /* yacc.c:1646  */
3834      break;
3835  
3836 <  case 182:
3837 < /* Line 1787 of yacc.c  */
4215 < #line 1196 "conf_parser.y"
4216 <    {
4217 <  if (conf_parser_ctx.pass == 2)
4218 <    block_state.modes.value |= UMODE_OPERWALL;
4219 < }
4220 <    break;
4221 <
4222 <  case 183:
4223 < /* Line 1787 of yacc.c  */
4224 < #line 1200 "conf_parser.y"
3836 >  case 193:
3837 > #line 1154 "conf_parser.y" /* yacc.c:1646  */
3838      {
3839    if (conf_parser_ctx.pass == 2)
3840      block_state.modes.value |= UMODE_SERVNOTICE;
3841   }
3842 + #line 3843 "conf_parser.c" /* yacc.c:1646  */
3843      break;
3844  
3845 <  case 184:
3846 < /* Line 1787 of yacc.c  */
4233 < #line 1204 "conf_parser.y"
3845 >  case 194:
3846 > #line 1158 "conf_parser.y" /* yacc.c:1646  */
3847      {
3848    if (conf_parser_ctx.pass == 2)
3849      block_state.modes.value |= UMODE_INVISIBLE;
3850   }
3851 + #line 3852 "conf_parser.c" /* yacc.c:1646  */
3852      break;
3853  
3854 <  case 185:
3855 < /* Line 1787 of yacc.c  */
4242 < #line 1208 "conf_parser.y"
3854 >  case 195:
3855 > #line 1162 "conf_parser.y" /* yacc.c:1646  */
3856      {
3857    if (conf_parser_ctx.pass == 2)
3858      block_state.modes.value |= UMODE_WALLOP;
3859   }
3860 + #line 3861 "conf_parser.c" /* yacc.c:1646  */
3861      break;
3862  
3863 <  case 186:
3864 < /* Line 1787 of yacc.c  */
4251 < #line 1212 "conf_parser.y"
3863 >  case 196:
3864 > #line 1166 "conf_parser.y" /* yacc.c:1646  */
3865      {
3866    if (conf_parser_ctx.pass == 2)
3867      block_state.modes.value |= UMODE_SOFTCALLERID;
3868   }
3869 + #line 3870 "conf_parser.c" /* yacc.c:1646  */
3870      break;
3871  
3872 <  case 187:
3873 < /* Line 1787 of yacc.c  */
4260 < #line 1216 "conf_parser.y"
3872 >  case 197:
3873 > #line 1170 "conf_parser.y" /* yacc.c:1646  */
3874      {
3875    if (conf_parser_ctx.pass == 2)
3876      block_state.modes.value |= UMODE_CALLERID;
3877   }
3878 + #line 3879 "conf_parser.c" /* yacc.c:1646  */
3879      break;
3880  
3881 <  case 188:
3882 < /* Line 1787 of yacc.c  */
4269 < #line 1220 "conf_parser.y"
3881 >  case 198:
3882 > #line 1174 "conf_parser.y" /* yacc.c:1646  */
3883      {
3884    if (conf_parser_ctx.pass == 2)
3885      block_state.modes.value |= UMODE_LOCOPS;
3886   }
3887 + #line 3888 "conf_parser.c" /* yacc.c:1646  */
3888      break;
3889  
3890 <  case 189:
3891 < /* Line 1787 of yacc.c  */
4278 < #line 1224 "conf_parser.y"
3890 >  case 199:
3891 > #line 1178 "conf_parser.y" /* yacc.c:1646  */
3892      {
3893    if (conf_parser_ctx.pass == 2)
3894      block_state.modes.value |= UMODE_REGONLY;
3895   }
3896 + #line 3897 "conf_parser.c" /* yacc.c:1646  */
3897      break;
3898  
3899 <  case 190:
3900 < /* Line 1787 of yacc.c  */
4287 < #line 1228 "conf_parser.y"
3899 >  case 200:
3900 > #line 1182 "conf_parser.y" /* yacc.c:1646  */
3901      {
3902    if (conf_parser_ctx.pass == 2)
3903      block_state.modes.value |= UMODE_FARCONNECT;
3904   }
3905 + #line 3906 "conf_parser.c" /* yacc.c:1646  */
3906      break;
3907  
3908 <  case 191:
3909 < /* Line 1787 of yacc.c  */
4296 < #line 1234 "conf_parser.y"
3908 >  case 201:
3909 > #line 1188 "conf_parser.y" /* yacc.c:1646  */
3910      {
3911    if (conf_parser_ctx.pass == 2)
3912      block_state.port.value = 0;
3913   }
3914 + #line 3915 "conf_parser.c" /* yacc.c:1646  */
3915      break;
3916  
3917 <  case 195:
3918 < /* Line 1787 of yacc.c  */
4305 < #line 1241 "conf_parser.y"
3917 >  case 205:
3918 > #line 1195 "conf_parser.y" /* yacc.c:1646  */
3919      {
3920    if (conf_parser_ctx.pass == 2)
3921      block_state.port.value |= OPER_FLAG_KILL_REMOTE;
3922   }
3923 + #line 3924 "conf_parser.c" /* yacc.c:1646  */
3924      break;
3925  
3926 <  case 196:
3927 < /* Line 1787 of yacc.c  */
4314 < #line 1245 "conf_parser.y"
3926 >  case 206:
3927 > #line 1199 "conf_parser.y" /* yacc.c:1646  */
3928      {
3929    if (conf_parser_ctx.pass == 2)
3930      block_state.port.value |= OPER_FLAG_KILL;
3931   }
3932 + #line 3933 "conf_parser.c" /* yacc.c:1646  */
3933      break;
3934  
3935 <  case 197:
3936 < /* Line 1787 of yacc.c  */
4323 < #line 1249 "conf_parser.y"
3935 >  case 207:
3936 > #line 1203 "conf_parser.y" /* yacc.c:1646  */
3937      {
3938    if (conf_parser_ctx.pass == 2)
3939      block_state.port.value |= OPER_FLAG_CONNECT_REMOTE;
3940   }
3941 + #line 3942 "conf_parser.c" /* yacc.c:1646  */
3942      break;
3943  
3944 <  case 198:
3945 < /* Line 1787 of yacc.c  */
4332 < #line 1253 "conf_parser.y"
3944 >  case 208:
3945 > #line 1207 "conf_parser.y" /* yacc.c:1646  */
3946      {
3947    if (conf_parser_ctx.pass == 2)
3948      block_state.port.value |= OPER_FLAG_CONNECT;
3949   }
3950 + #line 3951 "conf_parser.c" /* yacc.c:1646  */
3951      break;
3952  
3953 <  case 199:
3954 < /* Line 1787 of yacc.c  */
4341 < #line 1257 "conf_parser.y"
3953 >  case 209:
3954 > #line 1211 "conf_parser.y" /* yacc.c:1646  */
3955      {
3956    if (conf_parser_ctx.pass == 2)
3957      block_state.port.value |= OPER_FLAG_SQUIT_REMOTE;
3958   }
3959 + #line 3960 "conf_parser.c" /* yacc.c:1646  */
3960      break;
3961  
3962 <  case 200:
3963 < /* Line 1787 of yacc.c  */
4350 < #line 1261 "conf_parser.y"
3962 >  case 210:
3963 > #line 1215 "conf_parser.y" /* yacc.c:1646  */
3964      {
3965    if (conf_parser_ctx.pass == 2)
3966      block_state.port.value |= OPER_FLAG_SQUIT;
3967   }
3968 + #line 3969 "conf_parser.c" /* yacc.c:1646  */
3969      break;
3970  
3971 <  case 201:
3972 < /* Line 1787 of yacc.c  */
4359 < #line 1265 "conf_parser.y"
3971 >  case 211:
3972 > #line 1219 "conf_parser.y" /* yacc.c:1646  */
3973      {
3974    if (conf_parser_ctx.pass == 2)
3975 <    block_state.port.value |= OPER_FLAG_K;
3975 >    block_state.port.value |= OPER_FLAG_KLINE;
3976   }
3977 + #line 3978 "conf_parser.c" /* yacc.c:1646  */
3978      break;
3979  
3980 <  case 202:
3981 < /* Line 1787 of yacc.c  */
4368 < #line 1269 "conf_parser.y"
3980 >  case 212:
3981 > #line 1223 "conf_parser.y" /* yacc.c:1646  */
3982      {
3983    if (conf_parser_ctx.pass == 2)
3984      block_state.port.value |= OPER_FLAG_UNKLINE;
3985   }
3986 + #line 3987 "conf_parser.c" /* yacc.c:1646  */
3987      break;
3988  
3989 <  case 203:
3990 < /* Line 1787 of yacc.c  */
4377 < #line 1273 "conf_parser.y"
3989 >  case 213:
3990 > #line 1227 "conf_parser.y" /* yacc.c:1646  */
3991      {
3992    if (conf_parser_ctx.pass == 2)
3993      block_state.port.value |= OPER_FLAG_DLINE;
3994   }
3995 + #line 3996 "conf_parser.c" /* yacc.c:1646  */
3996      break;
3997  
3998 <  case 204:
3999 < /* Line 1787 of yacc.c  */
4386 < #line 1277 "conf_parser.y"
3998 >  case 214:
3999 > #line 1231 "conf_parser.y" /* yacc.c:1646  */
4000      {
4001    if (conf_parser_ctx.pass == 2)
4002      block_state.port.value |= OPER_FLAG_UNDLINE;
4003   }
4004 + #line 4005 "conf_parser.c" /* yacc.c:1646  */
4005      break;
4006  
4007 <  case 205:
4008 < /* Line 1787 of yacc.c  */
4395 < #line 1281 "conf_parser.y"
4007 >  case 215:
4008 > #line 1235 "conf_parser.y" /* yacc.c:1646  */
4009      {
4010    if (conf_parser_ctx.pass == 2)
4011 <    block_state.port.value |= OPER_FLAG_X;
4011 >    block_state.port.value |= OPER_FLAG_XLINE;
4012   }
4013 + #line 4014 "conf_parser.c" /* yacc.c:1646  */
4014      break;
4015  
4016 <  case 206:
4017 < /* Line 1787 of yacc.c  */
4404 < #line 1285 "conf_parser.y"
4016 >  case 216:
4017 > #line 1239 "conf_parser.y" /* yacc.c:1646  */
4018      {
4019    if (conf_parser_ctx.pass == 2)
4020 <    block_state.port.value |= OPER_FLAG_GLINE;
4020 >    block_state.port.value |= OPER_FLAG_UNXLINE;
4021   }
4022 + #line 4023 "conf_parser.c" /* yacc.c:1646  */
4023      break;
4024  
4025 <  case 207:
4026 < /* Line 1787 of yacc.c  */
4413 < #line 1289 "conf_parser.y"
4025 >  case 217:
4026 > #line 1243 "conf_parser.y" /* yacc.c:1646  */
4027      {
4028    if (conf_parser_ctx.pass == 2)
4029      block_state.port.value |= OPER_FLAG_DIE;
4030   }
4031 + #line 4032 "conf_parser.c" /* yacc.c:1646  */
4032      break;
4033  
4034 <  case 208:
4035 < /* Line 1787 of yacc.c  */
4422 < #line 1293 "conf_parser.y"
4034 >  case 218:
4035 > #line 1247 "conf_parser.y" /* yacc.c:1646  */
4036      {
4037    if (conf_parser_ctx.pass == 2)
4038      block_state.port.value |= OPER_FLAG_RESTART;
4039   }
4040 + #line 4041 "conf_parser.c" /* yacc.c:1646  */
4041      break;
4042  
4043 <  case 209:
4044 < /* Line 1787 of yacc.c  */
4431 < #line 1297 "conf_parser.y"
4043 >  case 219:
4044 > #line 1251 "conf_parser.y" /* yacc.c:1646  */
4045      {
4046    if (conf_parser_ctx.pass == 2)
4047 <    block_state.port.value |= OPER_FLAG_REHASH;
4047 >    block_state.port.value |= OPER_FLAG_REHASH_REMOTE;
4048   }
4049 + #line 4050 "conf_parser.c" /* yacc.c:1646  */
4050      break;
4051  
4052 <  case 210:
4053 < /* Line 1787 of yacc.c  */
4440 < #line 1301 "conf_parser.y"
4052 >  case 220:
4053 > #line 1255 "conf_parser.y" /* yacc.c:1646  */
4054      {
4055    if (conf_parser_ctx.pass == 2)
4056 <    block_state.port.value |= OPER_FLAG_ADMIN;
4056 >    block_state.port.value |= OPER_FLAG_REHASH;
4057   }
4058 + #line 4059 "conf_parser.c" /* yacc.c:1646  */
4059      break;
4060  
4061 <  case 211:
4062 < /* Line 1787 of yacc.c  */
4449 < #line 1305 "conf_parser.y"
4061 >  case 221:
4062 > #line 1259 "conf_parser.y" /* yacc.c:1646  */
4063      {
4064    if (conf_parser_ctx.pass == 2)
4065 <    block_state.port.value |= OPER_FLAG_OPERWALL;
4065 >    block_state.port.value |= OPER_FLAG_ADMIN;
4066   }
4067 + #line 4068 "conf_parser.c" /* yacc.c:1646  */
4068      break;
4069  
4070 <  case 212:
4071 < /* Line 1787 of yacc.c  */
4458 < #line 1309 "conf_parser.y"
4070 >  case 222:
4071 > #line 1263 "conf_parser.y" /* yacc.c:1646  */
4072      {
4073    if (conf_parser_ctx.pass == 2)
4074      block_state.port.value |= OPER_FLAG_GLOBOPS;
4075   }
4076 + #line 4077 "conf_parser.c" /* yacc.c:1646  */
4077      break;
4078  
4079 <  case 213:
4080 < /* Line 1787 of yacc.c  */
4467 < #line 1313 "conf_parser.y"
4079 >  case 223:
4080 > #line 1267 "conf_parser.y" /* yacc.c:1646  */
4081      {
4082    if (conf_parser_ctx.pass == 2)
4083      block_state.port.value |= OPER_FLAG_WALLOPS;
4084   }
4085 + #line 4086 "conf_parser.c" /* yacc.c:1646  */
4086      break;
4087  
4088 <  case 214:
4089 < /* Line 1787 of yacc.c  */
4476 < #line 1317 "conf_parser.y"
4088 >  case 224:
4089 > #line 1271 "conf_parser.y" /* yacc.c:1646  */
4090      {
4091    if (conf_parser_ctx.pass == 2)
4092      block_state.port.value |= OPER_FLAG_LOCOPS;
4093   }
4094 + #line 4095 "conf_parser.c" /* yacc.c:1646  */
4095      break;
4096  
4097 <  case 215:
4098 < /* Line 1787 of yacc.c  */
4485 < #line 1321 "conf_parser.y"
4097 >  case 225:
4098 > #line 1275 "conf_parser.y" /* yacc.c:1646  */
4099      {
4100    if (conf_parser_ctx.pass == 2)
4101      block_state.port.value |= OPER_FLAG_REMOTEBAN;
4102   }
4103 + #line 4104 "conf_parser.c" /* yacc.c:1646  */
4104      break;
4105  
4106 <  case 216:
4107 < /* Line 1787 of yacc.c  */
4494 < #line 1325 "conf_parser.y"
4106 >  case 226:
4107 > #line 1279 "conf_parser.y" /* yacc.c:1646  */
4108      {
4109    if (conf_parser_ctx.pass == 2)
4110      block_state.port.value |= OPER_FLAG_SET;
4111   }
4112 + #line 4113 "conf_parser.c" /* yacc.c:1646  */
4113      break;
4114  
4115 <  case 217:
4116 < /* Line 1787 of yacc.c  */
4503 < #line 1329 "conf_parser.y"
4115 >  case 227:
4116 > #line 1283 "conf_parser.y" /* yacc.c:1646  */
4117      {
4118    if (conf_parser_ctx.pass == 2)
4119      block_state.port.value |= OPER_FLAG_MODULE;
4120   }
4121 + #line 4122 "conf_parser.c" /* yacc.c:1646  */
4122      break;
4123  
4124 <  case 218:
4125 < /* Line 1787 of yacc.c  */
4126 < #line 1339 "conf_parser.y"
4124 >  case 228:
4125 > #line 1287 "conf_parser.y" /* yacc.c:1646  */
4126 >    {
4127 >  if (conf_parser_ctx.pass == 2)
4128 >    block_state.port.value |= OPER_FLAG_OPME;
4129 > }
4130 > #line 4131 "conf_parser.c" /* yacc.c:1646  */
4131 >    break;
4132 >
4133 >  case 229:
4134 > #line 1291 "conf_parser.y" /* yacc.c:1646  */
4135 >    {
4136 >  if (conf_parser_ctx.pass == 2)
4137 >    block_state.port.value |= OPER_FLAG_NICK_RESV;
4138 > }
4139 > #line 4140 "conf_parser.c" /* yacc.c:1646  */
4140 >    break;
4141 >
4142 >  case 230:
4143 > #line 1295 "conf_parser.y" /* yacc.c:1646  */
4144 >    {
4145 >  if (conf_parser_ctx.pass == 2)
4146 >    block_state.port.value |= OPER_FLAG_JOIN_RESV;
4147 > }
4148 > #line 4149 "conf_parser.c" /* yacc.c:1646  */
4149 >    break;
4150 >
4151 >  case 231:
4152 > #line 1299 "conf_parser.y" /* yacc.c:1646  */
4153 >    {
4154 >  if (conf_parser_ctx.pass == 2)
4155 >    block_state.port.value |= OPER_FLAG_RESV;
4156 > }
4157 > #line 4158 "conf_parser.c" /* yacc.c:1646  */
4158 >    break;
4159 >
4160 >  case 232:
4161 > #line 1303 "conf_parser.y" /* yacc.c:1646  */
4162 >    {
4163 >  if (conf_parser_ctx.pass == 2)
4164 >    block_state.port.value |= OPER_FLAG_UNRESV;
4165 > }
4166 > #line 4167 "conf_parser.c" /* yacc.c:1646  */
4167 >    break;
4168 >
4169 >  case 233:
4170 > #line 1307 "conf_parser.y" /* yacc.c:1646  */
4171 >    {
4172 >  if (conf_parser_ctx.pass == 2)
4173 >    block_state.port.value |= OPER_FLAG_CLOSE;
4174 > }
4175 > #line 4176 "conf_parser.c" /* yacc.c:1646  */
4176 >    break;
4177 >
4178 >  case 234:
4179 > #line 1317 "conf_parser.y" /* yacc.c:1646  */
4180      {
4181    if (conf_parser_ctx.pass != 1)
4182      break;
# Line 4522 | Line 4189 | yyreduce:
4189    block_state.max_sendq.value = DEFAULT_SENDQ;
4190    block_state.max_recvq.value = DEFAULT_RECVQ;
4191   }
4192 + #line 4193 "conf_parser.c" /* yacc.c:1646  */
4193      break;
4194  
4195 <  case 219:
4196 < /* Line 1787 of yacc.c  */
4529 < #line 1351 "conf_parser.y"
4195 >  case 235:
4196 > #line 1329 "conf_parser.y" /* yacc.c:1646  */
4197      {
4198    struct ClassItem *class = NULL;
4199  
# Line 4540 | Line 4207 | yyreduce:
4207      class = class_make();
4208  
4209    class->active = 1;
4210 <  MyFree(class->name);
4210 >  xfree(class->name);
4211    class->name = xstrdup(block_state.class.buf);
4212    class->ping_freq = block_state.ping_freq.value;
4213    class->max_perip = block_state.max_perip.value;
# Line 4551 | Line 4218 | yyreduce:
4218    class->max_ident = block_state.max_ident.value;
4219    class->max_sendq = block_state.max_sendq.value;
4220    class->max_recvq = block_state.max_recvq.value;
4221 +  class->max_channels = block_state.max_channels.value;
4222  
4223    if (block_state.min_idle.value > block_state.max_idle.value)
4224    {
# Line 4563 | Line 4231 | yyreduce:
4231    class->min_idle = block_state.min_idle.value;
4232    class->max_idle = block_state.max_idle.value;
4233  
4234 <  if (class->number_per_cidr && block_state.number_per_cidr.value)
4567 <    if ((class->cidr_bitlen_ipv4 && block_state.cidr_bitlen_ipv4.value) ||
4568 <        (class->cidr_bitlen_ipv6 && block_state.cidr_bitlen_ipv6.value))
4569 <      if ((class->cidr_bitlen_ipv4 != block_state.cidr_bitlen_ipv4.value) ||
4570 <          (class->cidr_bitlen_ipv6 != block_state.cidr_bitlen_ipv6.value))
4571 <        rebuild_cidr_list(class);
4234 >  rebuild_cidr_list(class);
4235  
4236    class->cidr_bitlen_ipv4 = block_state.cidr_bitlen_ipv4.value;
4237    class->cidr_bitlen_ipv6 = block_state.cidr_bitlen_ipv6.value;
4238    class->number_per_cidr = block_state.number_per_cidr.value;
4239   }
4240 + #line 4241 "conf_parser.c" /* yacc.c:1646  */
4241      break;
4242  
4243 <  case 239:
4244 < /* Line 1787 of yacc.c  */
4581 < #line 1417 "conf_parser.y"
4243 >  case 256:
4244 > #line 1393 "conf_parser.y" /* yacc.c:1646  */
4245      {
4246    if (conf_parser_ctx.pass == 1)
4247      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4248   }
4249 + #line 4250 "conf_parser.c" /* yacc.c:1646  */
4250      break;
4251  
4252 <  case 240:
4253 < /* Line 1787 of yacc.c  */
4590 < #line 1423 "conf_parser.y"
4252 >  case 257:
4253 > #line 1399 "conf_parser.y" /* yacc.c:1646  */
4254      {
4255    if (conf_parser_ctx.pass == 1)
4256 <    block_state.ping_freq.value = (yyvsp[(3) - (4)].number);
4256 >    block_state.ping_freq.value = (yyvsp[-1].number);
4257   }
4258 + #line 4259 "conf_parser.c" /* yacc.c:1646  */
4259      break;
4260  
4261 <  case 241:
4262 < /* Line 1787 of yacc.c  */
4599 < #line 1429 "conf_parser.y"
4261 >  case 258:
4262 > #line 1405 "conf_parser.y" /* yacc.c:1646  */
4263      {
4264    if (conf_parser_ctx.pass == 1)
4265 <    block_state.max_perip.value = (yyvsp[(3) - (4)].number);
4265 >    block_state.max_perip.value = (yyvsp[-1].number);
4266   }
4267 + #line 4268 "conf_parser.c" /* yacc.c:1646  */
4268      break;
4269  
4270 <  case 242:
4271 < /* Line 1787 of yacc.c  */
4608 < #line 1435 "conf_parser.y"
4270 >  case 259:
4271 > #line 1411 "conf_parser.y" /* yacc.c:1646  */
4272      {
4273    if (conf_parser_ctx.pass == 1)
4274 <    block_state.con_freq.value = (yyvsp[(3) - (4)].number);
4274 >    block_state.con_freq.value = (yyvsp[-1].number);
4275   }
4276 + #line 4277 "conf_parser.c" /* yacc.c:1646  */
4277      break;
4278  
4279 <  case 243:
4280 < /* Line 1787 of yacc.c  */
4617 < #line 1441 "conf_parser.y"
4279 >  case 260:
4280 > #line 1417 "conf_parser.y" /* yacc.c:1646  */
4281      {
4282    if (conf_parser_ctx.pass == 1)
4283 <    block_state.max_total.value = (yyvsp[(3) - (4)].number);
4283 >    block_state.max_channels.value = (yyvsp[-1].number);
4284   }
4285 + #line 4286 "conf_parser.c" /* yacc.c:1646  */
4286      break;
4287  
4288 <  case 244:
4289 < /* Line 1787 of yacc.c  */
4626 < #line 1447 "conf_parser.y"
4288 >  case 261:
4289 > #line 1423 "conf_parser.y" /* yacc.c:1646  */
4290      {
4291    if (conf_parser_ctx.pass == 1)
4292 <    block_state.max_global.value = (yyvsp[(3) - (4)].number);
4292 >    block_state.max_total.value = (yyvsp[-1].number);
4293   }
4294 + #line 4295 "conf_parser.c" /* yacc.c:1646  */
4295      break;
4296  
4297 <  case 245:
4298 < /* Line 1787 of yacc.c  */
4635 < #line 1453 "conf_parser.y"
4297 >  case 262:
4298 > #line 1429 "conf_parser.y" /* yacc.c:1646  */
4299      {
4300    if (conf_parser_ctx.pass == 1)
4301 <    block_state.max_local.value = (yyvsp[(3) - (4)].number);
4301 >    block_state.max_global.value = (yyvsp[-1].number);
4302   }
4303 + #line 4304 "conf_parser.c" /* yacc.c:1646  */
4304      break;
4305  
4306 <  case 246:
4307 < /* Line 1787 of yacc.c  */
4644 < #line 1459 "conf_parser.y"
4306 >  case 263:
4307 > #line 1435 "conf_parser.y" /* yacc.c:1646  */
4308      {
4309    if (conf_parser_ctx.pass == 1)
4310 <    block_state.max_ident.value = (yyvsp[(3) - (4)].number);
4310 >    block_state.max_local.value = (yyvsp[-1].number);
4311   }
4312 + #line 4313 "conf_parser.c" /* yacc.c:1646  */
4313      break;
4314  
4315 <  case 247:
4316 < /* Line 1787 of yacc.c  */
4653 < #line 1465 "conf_parser.y"
4315 >  case 264:
4316 > #line 1441 "conf_parser.y" /* yacc.c:1646  */
4317      {
4318    if (conf_parser_ctx.pass == 1)
4319 <    block_state.max_sendq.value = (yyvsp[(3) - (4)].number);
4319 >    block_state.max_ident.value = (yyvsp[-1].number);
4320   }
4321 + #line 4322 "conf_parser.c" /* yacc.c:1646  */
4322      break;
4323  
4324 <  case 248:
4325 < /* Line 1787 of yacc.c  */
4662 < #line 1471 "conf_parser.y"
4324 >  case 265:
4325 > #line 1447 "conf_parser.y" /* yacc.c:1646  */
4326      {
4327    if (conf_parser_ctx.pass == 1)
4328 <    if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
4666 <      block_state.max_recvq.value = (yyvsp[(3) - (4)].number);
4328 >    block_state.max_sendq.value = (yyvsp[-1].number);
4329   }
4330 + #line 4331 "conf_parser.c" /* yacc.c:1646  */
4331      break;
4332  
4333 <  case 249:
4334 < /* Line 1787 of yacc.c  */
4672 < #line 1478 "conf_parser.y"
4333 >  case 266:
4334 > #line 1453 "conf_parser.y" /* yacc.c:1646  */
4335      {
4336    if (conf_parser_ctx.pass == 1)
4337 <    block_state.cidr_bitlen_ipv4.value = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4337 >    if ((yyvsp[-1].number) >= CLIENT_FLOOD_MIN && (yyvsp[-1].number) <= CLIENT_FLOOD_MAX)
4338 >      block_state.max_recvq.value = (yyvsp[-1].number);
4339   }
4340 + #line 4341 "conf_parser.c" /* yacc.c:1646  */
4341      break;
4342  
4343 <  case 250:
4344 < /* Line 1787 of yacc.c  */
4681 < #line 1484 "conf_parser.y"
4343 >  case 267:
4344 > #line 1460 "conf_parser.y" /* yacc.c:1646  */
4345      {
4346    if (conf_parser_ctx.pass == 1)
4347 <    block_state.cidr_bitlen_ipv6.value = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4347 >    block_state.cidr_bitlen_ipv4.value = (yyvsp[-1].number) > 32 ? 32 : (yyvsp[-1].number);
4348   }
4349 + #line 4350 "conf_parser.c" /* yacc.c:1646  */
4350      break;
4351  
4352 <  case 251:
4353 < /* Line 1787 of yacc.c  */
4690 < #line 1490 "conf_parser.y"
4352 >  case 268:
4353 > #line 1466 "conf_parser.y" /* yacc.c:1646  */
4354      {
4355    if (conf_parser_ctx.pass == 1)
4356 <    block_state.number_per_cidr.value = (yyvsp[(3) - (4)].number);
4356 >    block_state.cidr_bitlen_ipv6.value = (yyvsp[-1].number) > 128 ? 128 : (yyvsp[-1].number);
4357   }
4358 + #line 4359 "conf_parser.c" /* yacc.c:1646  */
4359      break;
4360  
4361 <  case 252:
4362 < /* Line 1787 of yacc.c  */
4363 < #line 1496 "conf_parser.y"
4361 >  case 269:
4362 > #line 1472 "conf_parser.y" /* yacc.c:1646  */
4363 >    {
4364 >  if (conf_parser_ctx.pass == 1)
4365 >    block_state.number_per_cidr.value = (yyvsp[-1].number);
4366 > }
4367 > #line 4368 "conf_parser.c" /* yacc.c:1646  */
4368 >    break;
4369 >
4370 >  case 270:
4371 > #line 1478 "conf_parser.y" /* yacc.c:1646  */
4372      {
4373    if (conf_parser_ctx.pass != 1)
4374      break;
4375  
4376 <  block_state.min_idle.value = (yyvsp[(3) - (4)].number);
4376 >  block_state.min_idle.value = (yyvsp[-1].number);
4377    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4378   }
4379 + #line 4380 "conf_parser.c" /* yacc.c:1646  */
4380      break;
4381  
4382 <  case 253:
4383 < /* Line 1787 of yacc.c  */
4711 < #line 1505 "conf_parser.y"
4382 >  case 271:
4383 > #line 1487 "conf_parser.y" /* yacc.c:1646  */
4384      {
4385    if (conf_parser_ctx.pass != 1)
4386      break;
4387  
4388 <  block_state.max_idle.value = (yyvsp[(3) - (4)].number);
4388 >  block_state.max_idle.value = (yyvsp[-1].number);
4389    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4390   }
4391 + #line 4392 "conf_parser.c" /* yacc.c:1646  */
4392      break;
4393  
4394 <  case 254:
4395 < /* Line 1787 of yacc.c  */
4723 < #line 1514 "conf_parser.y"
4394 >  case 272:
4395 > #line 1496 "conf_parser.y" /* yacc.c:1646  */
4396      {
4397    if (conf_parser_ctx.pass == 1)
4398      block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
4399   }
4400 + #line 4401 "conf_parser.c" /* yacc.c:1646  */
4401      break;
4402  
4403 <  case 258:
4404 < /* Line 1787 of yacc.c  */
4732 < #line 1521 "conf_parser.y"
4403 >  case 276:
4404 > #line 1503 "conf_parser.y" /* yacc.c:1646  */
4405      {
4406    if (conf_parser_ctx.pass == 1)
4407      block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
4408   }
4409 + #line 4410 "conf_parser.c" /* yacc.c:1646  */
4410      break;
4411  
4412 <  case 259:
4413 < /* Line 1787 of yacc.c  */
4741 < #line 1525 "conf_parser.y"
4412 >  case 277:
4413 > #line 1507 "conf_parser.y" /* yacc.c:1646  */
4414      {
4415    if (conf_parser_ctx.pass == 1)
4416      block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
4417   }
4418 + #line 4419 "conf_parser.c" /* yacc.c:1646  */
4419      break;
4420  
4421 <  case 260:
4422 < /* Line 1787 of yacc.c  */
4750 < #line 1535 "conf_parser.y"
4421 >  case 278:
4422 > #line 1517 "conf_parser.y" /* yacc.c:1646  */
4423      {
4424    if (conf_parser_ctx.pass == 2)
4425      reset_block_state();
4426   }
4427 + #line 4428 "conf_parser.c" /* yacc.c:1646  */
4428      break;
4429  
4430 <  case 262:
4431 < /* Line 1787 of yacc.c  */
4759 < #line 1541 "conf_parser.y"
4430 >  case 280:
4431 > #line 1523 "conf_parser.y" /* yacc.c:1646  */
4432      {
4433    block_state.flags.value = 0;
4434   }
4435 + #line 4436 "conf_parser.c" /* yacc.c:1646  */
4436      break;
4437  
4438 <  case 266:
4439 < /* Line 1787 of yacc.c  */
4767 < #line 1547 "conf_parser.y"
4438 >  case 284:
4439 > #line 1529 "conf_parser.y" /* yacc.c:1646  */
4440      {
4441    if (conf_parser_ctx.pass == 2)
4442      block_state.flags.value |= LISTENER_SSL;
4443   }
4444 + #line 4445 "conf_parser.c" /* yacc.c:1646  */
4445      break;
4446  
4447 <  case 267:
4448 < /* Line 1787 of yacc.c  */
4776 < #line 1551 "conf_parser.y"
4447 >  case 285:
4448 > #line 1533 "conf_parser.y" /* yacc.c:1646  */
4449      {
4450    if (conf_parser_ctx.pass == 2)
4451      block_state.flags.value |= LISTENER_HIDDEN;
4452   }
4453 + #line 4454 "conf_parser.c" /* yacc.c:1646  */
4454      break;
4455  
4456 <  case 268:
4457 < /* Line 1787 of yacc.c  */
4785 < #line 1555 "conf_parser.y"
4456 >  case 286:
4457 > #line 1537 "conf_parser.y" /* yacc.c:1646  */
4458      {
4459    if (conf_parser_ctx.pass == 2)
4460     block_state.flags.value |= LISTENER_SERVER;
4461   }
4462 + #line 4463 "conf_parser.c" /* yacc.c:1646  */
4463      break;
4464  
4465 <  case 276:
4466 < /* Line 1787 of yacc.c  */
4794 < #line 1563 "conf_parser.y"
4465 >  case 294:
4466 > #line 1545 "conf_parser.y" /* yacc.c:1646  */
4467      { block_state.flags.value = 0; }
4468 + #line 4469 "conf_parser.c" /* yacc.c:1646  */
4469      break;
4470  
4471 <  case 280:
4472 < /* Line 1787 of yacc.c  */
4800 < #line 1568 "conf_parser.y"
4471 >  case 298:
4472 > #line 1550 "conf_parser.y" /* yacc.c:1646  */
4473      {
4474    if (conf_parser_ctx.pass == 2)
4475    {
4476 + #ifndef HAVE_TLS
4477      if (block_state.flags.value & LISTENER_SSL)
4478 < #ifdef HAVE_LIBCRYPTO
4479 <      if (!ServerInfo.server_ctx)
4478 >    {
4479 >      conf_error_report("TLS not available - port closed");
4480 >      break;
4481 >    }
4482   #endif
4483 <      {
4809 <        conf_error_report("SSL not available - port closed");
4810 <        break;
4811 <      }
4812 <    add_listener((yyvsp[(1) - (1)].number), block_state.addr.buf, block_state.flags.value);
4483 >    listener_add((yyvsp[0].number), block_state.addr.buf, block_state.flags.value);
4484    }
4485   }
4486 + #line 4487 "conf_parser.c" /* yacc.c:1646  */
4487      break;
4488  
4489 <  case 281:
4490 < /* Line 1787 of yacc.c  */
4819 < #line 1582 "conf_parser.y"
4489 >  case 299:
4490 > #line 1563 "conf_parser.y" /* yacc.c:1646  */
4491      {
4492    if (conf_parser_ctx.pass == 2)
4493    {
4494 <    int i;
4824 <
4494 > #ifndef HAVE_TLS
4495      if (block_state.flags.value & LISTENER_SSL)
4496 < #ifdef HAVE_LIBCRYPTO
4497 <      if (!ServerInfo.server_ctx)
4496 >    {
4497 >      conf_error_report("TLS not available - port closed");
4498 >      break;
4499 >    }
4500   #endif
4829      {
4830        conf_error_report("SSL not available - port closed");
4831        break;
4832      }
4501  
4502 <    for (i = (yyvsp[(1) - (3)].number); i <= (yyvsp[(3) - (3)].number); ++i)
4503 <      add_listener(i, block_state.addr.buf, block_state.flags.value);
4502 >    for (int i = (yyvsp[-2].number); i <= (yyvsp[0].number); ++i)
4503 >      listener_add(i, block_state.addr.buf, block_state.flags.value);
4504    }
4505   }
4506 + #line 4507 "conf_parser.c" /* yacc.c:1646  */
4507      break;
4508  
4509 <  case 282:
4510 < /* Line 1787 of yacc.c  */
4842 < #line 1602 "conf_parser.y"
4509 >  case 300:
4510 > #line 1580 "conf_parser.y" /* yacc.c:1646  */
4511      {
4512    if (conf_parser_ctx.pass == 2)
4513      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4514   }
4515 + #line 4516 "conf_parser.c" /* yacc.c:1646  */
4516      break;
4517  
4518 <  case 283:
4519 < /* Line 1787 of yacc.c  */
4851 < #line 1608 "conf_parser.y"
4518 >  case 301:
4519 > #line 1586 "conf_parser.y" /* yacc.c:1646  */
4520      {
4521    if (conf_parser_ctx.pass == 2)
4522      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4523   }
4524 + #line 4525 "conf_parser.c" /* yacc.c:1646  */
4525      break;
4526  
4527 <  case 284:
4528 < /* Line 1787 of yacc.c  */
4860 < #line 1617 "conf_parser.y"
4527 >  case 302:
4528 > #line 1596 "conf_parser.y" /* yacc.c:1646  */
4529      {
4530    if (conf_parser_ctx.pass == 2)
4531      reset_block_state();
4532   }
4533 + #line 4534 "conf_parser.c" /* yacc.c:1646  */
4534      break;
4535  
4536 <  case 285:
4537 < /* Line 1787 of yacc.c  */
4869 < #line 1621 "conf_parser.y"
4536 >  case 303:
4537 > #line 1600 "conf_parser.y" /* yacc.c:1646  */
4538      {
4539 <  dlink_node *ptr = NULL;
4539 >  dlink_node *node = NULL;
4540  
4541    if (conf_parser_ctx.pass != 2)
4542      break;
4543  
4544 <  DLINK_FOREACH(ptr, block_state.mask.list.head)
4544 >  DLINK_FOREACH(node, block_state.mask.list.head)
4545    {
4546      struct MaskItem *conf = NULL;
4547      struct split_nuh_item nuh;
4548  
4549 <    nuh.nuhmask  = ptr->data;
4549 >    nuh.nuhmask  = node->data;
4550      nuh.nickptr  = NULL;
4551      nuh.userptr  = block_state.user.buf;
4552      nuh.hostptr  = block_state.host.buf;
# Line 4903 | Line 4571 | yyreduce:
4571      add_conf_by_address(CONF_CLIENT, conf);
4572    }
4573   }
4574 + #line 4575 "conf_parser.c" /* yacc.c:1646  */
4575      break;
4576  
4577 <  case 297:
4578 < /* Line 1787 of yacc.c  */
4910 < #line 1664 "conf_parser.y"
4577 >  case 315:
4578 > #line 1649 "conf_parser.y" /* yacc.c:1646  */
4579      {
4580    if (conf_parser_ctx.pass == 2)
4581      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4582   }
4583 + #line 4584 "conf_parser.c" /* yacc.c:1646  */
4584      break;
4585  
4586 <  case 298:
4587 < /* Line 1787 of yacc.c  */
4919 < #line 1670 "conf_parser.y"
4586 >  case 316:
4587 > #line 1655 "conf_parser.y" /* yacc.c:1646  */
4588      {
4589    if (conf_parser_ctx.pass == 2)
4590      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4591   }
4592 + #line 4593 "conf_parser.c" /* yacc.c:1646  */
4593      break;
4594  
4595 <  case 299:
4596 < /* Line 1787 of yacc.c  */
4928 < #line 1676 "conf_parser.y"
4595 >  case 317:
4596 > #line 1661 "conf_parser.y" /* yacc.c:1646  */
4597      {
4598    if (conf_parser_ctx.pass == 2)
4599      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4600   }
4601 + #line 4602 "conf_parser.c" /* yacc.c:1646  */
4602      break;
4603  
4604 <  case 300:
4605 < /* Line 1787 of yacc.c  */
4937 < #line 1682 "conf_parser.y"
4604 >  case 318:
4605 > #line 1667 "conf_parser.y" /* yacc.c:1646  */
4606      {
4607    if (conf_parser_ctx.pass == 2)
4608    {
# Line 4944 | Line 4612 | yyreduce:
4612        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4613    }
4614   }
4615 + #line 4616 "conf_parser.c" /* yacc.c:1646  */
4616      break;
4617  
4618 <  case 301:
4619 < /* Line 1787 of yacc.c  */
4951 < #line 1693 "conf_parser.y"
4618 >  case 319:
4619 > #line 1678 "conf_parser.y" /* yacc.c:1646  */
4620      {
4621    if (conf_parser_ctx.pass == 2)
4622      block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP);
4623   }
4624 + #line 4625 "conf_parser.c" /* yacc.c:1646  */
4625      break;
4626  
4627 <  case 305:
4628 < /* Line 1787 of yacc.c  */
4960 < #line 1700 "conf_parser.y"
4627 >  case 323:
4628 > #line 1685 "conf_parser.y" /* yacc.c:1646  */
4629      {
4630    if (conf_parser_ctx.pass == 2)
4631      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4632   }
4633 + #line 4634 "conf_parser.c" /* yacc.c:1646  */
4634      break;
4635  
4636 <  case 306:
4637 < /* Line 1787 of yacc.c  */
4969 < #line 1704 "conf_parser.y"
4636 >  case 324:
4637 > #line 1689 "conf_parser.y" /* yacc.c:1646  */
4638      {
4639    if (conf_parser_ctx.pass == 2)
4640      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4641   }
4642 + #line 4643 "conf_parser.c" /* yacc.c:1646  */
4643      break;
4644  
4645 <  case 307:
4646 < /* Line 1787 of yacc.c  */
4978 < #line 1708 "conf_parser.y"
4645 >  case 325:
4646 > #line 1693 "conf_parser.y" /* yacc.c:1646  */
4647      {
4648    if (conf_parser_ctx.pass == 2)
4649      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4650   }
4651 + #line 4652 "conf_parser.c" /* yacc.c:1646  */
4652      break;
4653  
4654 <  case 308:
4655 < /* Line 1787 of yacc.c  */
4987 < #line 1712 "conf_parser.y"
4654 >  case 326:
4655 > #line 1697 "conf_parser.y" /* yacc.c:1646  */
4656      {
4657    if (conf_parser_ctx.pass == 2)
4658 <    block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4658 >    block_state.flags.value |= CONF_FLAGS_EXEMPTXLINE;
4659   }
4660 + #line 4661 "conf_parser.c" /* yacc.c:1646  */
4661      break;
4662  
4663 <  case 309:
4664 < /* Line 1787 of yacc.c  */
4996 < #line 1716 "conf_parser.y"
4663 >  case 327:
4664 > #line 1701 "conf_parser.y" /* yacc.c:1646  */
4665      {
4666    if (conf_parser_ctx.pass == 2)
4667 <    block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4667 >    block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4668   }
4669 + #line 4670 "conf_parser.c" /* yacc.c:1646  */
4670      break;
4671  
4672 <  case 310:
4673 < /* Line 1787 of yacc.c  */
5005 < #line 1720 "conf_parser.y"
4672 >  case 328:
4673 > #line 1705 "conf_parser.y" /* yacc.c:1646  */
4674      {
4675    if (conf_parser_ctx.pass == 2)
4676 <    block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4676 >    block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4677   }
4678 + #line 4679 "conf_parser.c" /* yacc.c:1646  */
4679      break;
4680  
4681 <  case 311:
4682 < /* Line 1787 of yacc.c  */
5014 < #line 1724 "conf_parser.y"
4681 >  case 329:
4682 > #line 1709 "conf_parser.y" /* yacc.c:1646  */
4683      {
4684    if (conf_parser_ctx.pass == 2)
4685 <    block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
4685 >    block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4686   }
4687 + #line 4688 "conf_parser.c" /* yacc.c:1646  */
4688      break;
4689  
4690 <  case 312:
4691 < /* Line 1787 of yacc.c  */
5023 < #line 1728 "conf_parser.y"
4690 >  case 330:
4691 > #line 1713 "conf_parser.y" /* yacc.c:1646  */
4692      {
4693    if (conf_parser_ctx.pass == 2)
4694      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4695   }
4696 + #line 4697 "conf_parser.c" /* yacc.c:1646  */
4697      break;
4698  
4699 <  case 313:
4700 < /* Line 1787 of yacc.c  */
5032 < #line 1732 "conf_parser.y"
4699 >  case 331:
4700 > #line 1717 "conf_parser.y" /* yacc.c:1646  */
4701      {
4702    if (conf_parser_ctx.pass == 2)
4703      block_state.flags.value |= CONF_FLAGS_WEBIRC;
4704   }
4705 + #line 4706 "conf_parser.c" /* yacc.c:1646  */
4706      break;
4707  
4708 <  case 314:
4709 < /* Line 1787 of yacc.c  */
5041 < #line 1736 "conf_parser.y"
4708 >  case 332:
4709 > #line 1721 "conf_parser.y" /* yacc.c:1646  */
4710      {
4711    if (conf_parser_ctx.pass == 2)
4712      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4713   }
4714 + #line 4715 "conf_parser.c" /* yacc.c:1646  */
4715      break;
4716  
4717 <  case 315:
4718 < /* Line 1787 of yacc.c  */
5050 < #line 1742 "conf_parser.y"
4717 >  case 333:
4718 > #line 1727 "conf_parser.y" /* yacc.c:1646  */
4719      {
4720    if (conf_parser_ctx.pass != 2)
4721      break;
4722  
4723 <  if (strlen(yylval.string) <= HOSTLEN && valid_hostname(yylval.string))
4723 >  if (valid_hostname(yylval.string))
4724    {
4725      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4726      block_state.flags.value |= CONF_FLAGS_SPOOF_IP;
# Line 5060 | Line 4728 | yyreduce:
4728    else
4729      ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4730   }
4731 + #line 4732 "conf_parser.c" /* yacc.c:1646  */
4732      break;
4733  
4734 <  case 316:
4735 < /* Line 1787 of yacc.c  */
5067 < #line 1756 "conf_parser.y"
4734 >  case 334:
4735 > #line 1741 "conf_parser.y" /* yacc.c:1646  */
4736      {
4737    if (conf_parser_ctx.pass != 2)
4738      break;
# Line 5072 | Line 4740 | yyreduce:
4740    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4741    block_state.flags.value |= CONF_FLAGS_REDIR;
4742   }
4743 + #line 4744 "conf_parser.c" /* yacc.c:1646  */
4744      break;
4745  
4746 <  case 317:
4747 < /* Line 1787 of yacc.c  */
5079 < #line 1765 "conf_parser.y"
4746 >  case 335:
4747 > #line 1750 "conf_parser.y" /* yacc.c:1646  */
4748      {
4749    if (conf_parser_ctx.pass != 2)
4750      break;
4751  
4752    block_state.flags.value |= CONF_FLAGS_REDIR;
4753 <  block_state.port.value = (yyvsp[(3) - (4)].number);
4753 >  block_state.port.value = (yyvsp[-1].number);
4754   }
4755 + #line 4756 "conf_parser.c" /* yacc.c:1646  */
4756      break;
4757  
4758 <  case 318:
4759 < /* Line 1787 of yacc.c  */
5091 < #line 1778 "conf_parser.y"
4758 >  case 336:
4759 > #line 1763 "conf_parser.y" /* yacc.c:1646  */
4760      {
4761    if (conf_parser_ctx.pass != 2)
4762      break;
# Line 5096 | Line 4764 | yyreduce:
4764    reset_block_state();
4765    strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));
4766   }
4767 + #line 4768 "conf_parser.c" /* yacc.c:1646  */
4768      break;
4769  
4770 <  case 319:
4771 < /* Line 1787 of yacc.c  */
5103 < #line 1785 "conf_parser.y"
4770 >  case 337:
4771 > #line 1770 "conf_parser.y" /* yacc.c:1646  */
4772      {
4773    if (conf_parser_ctx.pass != 2)
4774      break;
4775  
4776    create_resv(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4777   }
4778 + #line 4779 "conf_parser.c" /* yacc.c:1646  */
4779      break;
4780  
4781 <  case 326:
4782 < /* Line 1787 of yacc.c  */
5114 < #line 1796 "conf_parser.y"
4781 >  case 344:
4782 > #line 1781 "conf_parser.y" /* yacc.c:1646  */
4783      {
4784    if (conf_parser_ctx.pass == 2)
4785      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4786   }
4787 + #line 4788 "conf_parser.c" /* yacc.c:1646  */
4788      break;
4789  
4790 <  case 327:
4791 < /* Line 1787 of yacc.c  */
5123 < #line 1802 "conf_parser.y"
4790 >  case 345:
4791 > #line 1787 "conf_parser.y" /* yacc.c:1646  */
4792      {
4793    if (conf_parser_ctx.pass == 2)
4794      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4795   }
4796 + #line 4797 "conf_parser.c" /* yacc.c:1646  */
4797      break;
4798  
4799 <  case 328:
4800 < /* Line 1787 of yacc.c  */
5132 < #line 1808 "conf_parser.y"
4799 >  case 346:
4800 > #line 1793 "conf_parser.y" /* yacc.c:1646  */
4801      {
4802    if (conf_parser_ctx.pass == 2)
4803      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4804   }
4805 + #line 4806 "conf_parser.c" /* yacc.c:1646  */
4806      break;
4807  
4808 <  case 334:
4809 < /* Line 1787 of yacc.c  */
5141 < #line 1823 "conf_parser.y"
4808 >  case 352:
4809 > #line 1808 "conf_parser.y" /* yacc.c:1646  */
4810      {
4811    if (conf_parser_ctx.pass != 2)
4812      break;
# Line 5149 | Line 4817 | yyreduce:
4817      conf->name = xstrdup(yylval.string);
4818    }
4819   }
4820 + #line 4821 "conf_parser.c" /* yacc.c:1646  */
4821      break;
4822  
4823 <  case 335:
4824 < /* Line 1787 of yacc.c  */
5156 < #line 1838 "conf_parser.y"
4823 >  case 353:
4824 > #line 1824 "conf_parser.y" /* yacc.c:1646  */
4825      {
4826    if (conf_parser_ctx.pass != 2)
4827      break;
# Line 5165 | Line 4833 | yyreduce:
4833    strlcpy(block_state.host.buf, "*", sizeof(block_state.host.buf));
4834    block_state.flags.value = SHARED_ALL;
4835   }
4836 + #line 4837 "conf_parser.c" /* yacc.c:1646  */
4837      break;
4838  
4839 <  case 336:
4840 < /* Line 1787 of yacc.c  */
5172 < #line 1849 "conf_parser.y"
4839 >  case 354:
4840 > #line 1835 "conf_parser.y" /* yacc.c:1646  */
4841      {
4842    struct MaskItem *conf = NULL;
4843  
4844    if (conf_parser_ctx.pass != 2)
4845      break;
4846  
4847 <  conf = conf_make(CONF_ULINE);
4847 >  conf = conf_make(CONF_SHARED);
4848    conf->flags = block_state.flags.value;
4849    conf->name = xstrdup(block_state.name.buf);
4850    conf->user = xstrdup(block_state.user.buf);
4851    conf->host = xstrdup(block_state.host.buf);
4852   }
4853 + #line 4854 "conf_parser.c" /* yacc.c:1646  */
4854      break;
4855  
4856 <  case 343:
4857 < /* Line 1787 of yacc.c  */
5189 < #line 1866 "conf_parser.y"
4856 >  case 361:
4857 > #line 1852 "conf_parser.y" /* yacc.c:1646  */
4858      {
4859    if (conf_parser_ctx.pass == 2)
4860      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4861   }
4862 + #line 4863 "conf_parser.c" /* yacc.c:1646  */
4863      break;
4864  
4865 <  case 344:
4866 < /* Line 1787 of yacc.c  */
5198 < #line 1872 "conf_parser.y"
4865 >  case 362:
4866 > #line 1858 "conf_parser.y" /* yacc.c:1646  */
4867      {
4868    if (conf_parser_ctx.pass == 2)
4869    {
# Line 5213 | Line 4881 | yyreduce:
4881      split_nuh(&nuh);
4882    }
4883   }
4884 + #line 4885 "conf_parser.c" /* yacc.c:1646  */
4885      break;
4886  
4887 <  case 345:
4888 < /* Line 1787 of yacc.c  */
5220 < #line 1891 "conf_parser.y"
4887 >  case 363:
4888 > #line 1877 "conf_parser.y" /* yacc.c:1646  */
4889      {
4890    if (conf_parser_ctx.pass == 2)
4891      block_state.flags.value = 0;
4892   }
4893 + #line 4894 "conf_parser.c" /* yacc.c:1646  */
4894      break;
4895  
4896 <  case 349:
4897 < /* Line 1787 of yacc.c  */
5229 < #line 1898 "conf_parser.y"
4896 >  case 367:
4897 > #line 1884 "conf_parser.y" /* yacc.c:1646  */
4898      {
4899    if (conf_parser_ctx.pass == 2)
4900      block_state.flags.value |= SHARED_KLINE;
4901   }
4902 + #line 4903 "conf_parser.c" /* yacc.c:1646  */
4903      break;
4904  
4905 <  case 350:
4906 < /* Line 1787 of yacc.c  */
5238 < #line 1902 "conf_parser.y"
4905 >  case 368:
4906 > #line 1888 "conf_parser.y" /* yacc.c:1646  */
4907      {
4908    if (conf_parser_ctx.pass == 2)
4909      block_state.flags.value |= SHARED_UNKLINE;
4910   }
4911 + #line 4912 "conf_parser.c" /* yacc.c:1646  */
4912      break;
4913  
4914 <  case 351:
4915 < /* Line 1787 of yacc.c  */
5247 < #line 1906 "conf_parser.y"
4914 >  case 369:
4915 > #line 1892 "conf_parser.y" /* yacc.c:1646  */
4916      {
4917    if (conf_parser_ctx.pass == 2)
4918      block_state.flags.value |= SHARED_DLINE;
4919   }
4920 + #line 4921 "conf_parser.c" /* yacc.c:1646  */
4921      break;
4922  
4923 <  case 352:
4924 < /* Line 1787 of yacc.c  */
5256 < #line 1910 "conf_parser.y"
4923 >  case 370:
4924 > #line 1896 "conf_parser.y" /* yacc.c:1646  */
4925      {
4926    if (conf_parser_ctx.pass == 2)
4927      block_state.flags.value |= SHARED_UNDLINE;
4928   }
4929 + #line 4930 "conf_parser.c" /* yacc.c:1646  */
4930      break;
4931  
4932 <  case 353:
4933 < /* Line 1787 of yacc.c  */
5265 < #line 1914 "conf_parser.y"
4932 >  case 371:
4933 > #line 1900 "conf_parser.y" /* yacc.c:1646  */
4934      {
4935    if (conf_parser_ctx.pass == 2)
4936      block_state.flags.value |= SHARED_XLINE;
4937   }
4938 + #line 4939 "conf_parser.c" /* yacc.c:1646  */
4939      break;
4940  
4941 <  case 354:
4942 < /* Line 1787 of yacc.c  */
5274 < #line 1918 "conf_parser.y"
4941 >  case 372:
4942 > #line 1904 "conf_parser.y" /* yacc.c:1646  */
4943      {
4944    if (conf_parser_ctx.pass == 2)
4945      block_state.flags.value |= SHARED_UNXLINE;
4946   }
4947 + #line 4948 "conf_parser.c" /* yacc.c:1646  */
4948      break;
4949  
4950 <  case 355:
4951 < /* Line 1787 of yacc.c  */
5283 < #line 1922 "conf_parser.y"
4950 >  case 373:
4951 > #line 1908 "conf_parser.y" /* yacc.c:1646  */
4952      {
4953    if (conf_parser_ctx.pass == 2)
4954      block_state.flags.value |= SHARED_RESV;
4955   }
4956 + #line 4957 "conf_parser.c" /* yacc.c:1646  */
4957      break;
4958  
4959 <  case 356:
4960 < /* Line 1787 of yacc.c  */
5292 < #line 1926 "conf_parser.y"
4959 >  case 374:
4960 > #line 1912 "conf_parser.y" /* yacc.c:1646  */
4961      {
4962    if (conf_parser_ctx.pass == 2)
4963      block_state.flags.value |= SHARED_UNRESV;
4964   }
4965 + #line 4966 "conf_parser.c" /* yacc.c:1646  */
4966      break;
4967  
4968 <  case 357:
4969 < /* Line 1787 of yacc.c  */
5301 < #line 1930 "conf_parser.y"
4968 >  case 375:
4969 > #line 1916 "conf_parser.y" /* yacc.c:1646  */
4970      {
4971    if (conf_parser_ctx.pass == 2)
4972      block_state.flags.value |= SHARED_LOCOPS;
4973   }
4974 + #line 4975 "conf_parser.c" /* yacc.c:1646  */
4975      break;
4976  
4977 <  case 358:
4978 < /* Line 1787 of yacc.c  */
5310 < #line 1934 "conf_parser.y"
4977 >  case 376:
4978 > #line 1920 "conf_parser.y" /* yacc.c:1646  */
4979      {
4980    if (conf_parser_ctx.pass == 2)
4981      block_state.flags.value = SHARED_ALL;
4982   }
4983 + #line 4984 "conf_parser.c" /* yacc.c:1646  */
4984      break;
4985  
4986 <  case 359:
4987 < /* Line 1787 of yacc.c  */
5319 < #line 1943 "conf_parser.y"
4986 >  case 377:
4987 > #line 1930 "conf_parser.y" /* yacc.c:1646  */
4988      {
4989    if (conf_parser_ctx.pass != 2)
4990      break;
# Line 5326 | Line 4994 | yyreduce:
4994    strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));
4995    block_state.flags.value = SHARED_ALL;
4996   }
4997 + #line 4998 "conf_parser.c" /* yacc.c:1646  */
4998      break;
4999  
5000 <  case 360:
5001 < /* Line 1787 of yacc.c  */
5333 < #line 1952 "conf_parser.y"
5000 >  case 378:
5001 > #line 1939 "conf_parser.y" /* yacc.c:1646  */
5002      {
5003    struct MaskItem *conf = NULL;
5004  
# Line 5341 | Line 5009 | yyreduce:
5009    conf->flags = block_state.flags.value;
5010    conf->name = xstrdup(block_state.name.buf);
5011   }
5012 + #line 5013 "conf_parser.c" /* yacc.c:1646  */
5013      break;
5014  
5015 <  case 366:
5016 < /* Line 1787 of yacc.c  */
5348 < #line 1967 "conf_parser.y"
5015 >  case 384:
5016 > #line 1954 "conf_parser.y" /* yacc.c:1646  */
5017      {
5018    if (conf_parser_ctx.pass == 2)
5019      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5020   }
5021 + #line 5022 "conf_parser.c" /* yacc.c:1646  */
5022      break;
5023  
5024 <  case 367:
5025 < /* Line 1787 of yacc.c  */
5357 < #line 1973 "conf_parser.y"
5024 >  case 385:
5025 > #line 1960 "conf_parser.y" /* yacc.c:1646  */
5026      {
5027    if (conf_parser_ctx.pass == 2)
5028      block_state.flags.value = 0;
5029   }
5030 + #line 5031 "conf_parser.c" /* yacc.c:1646  */
5031      break;
5032  
5033 <  case 371:
5034 < /* Line 1787 of yacc.c  */
5366 < #line 1980 "conf_parser.y"
5033 >  case 389:
5034 > #line 1967 "conf_parser.y" /* yacc.c:1646  */
5035      {
5036    if (conf_parser_ctx.pass == 2)
5037      block_state.flags.value |= SHARED_KLINE;
5038   }
5039 + #line 5040 "conf_parser.c" /* yacc.c:1646  */
5040      break;
5041  
5042 <  case 372:
5043 < /* Line 1787 of yacc.c  */
5375 < #line 1984 "conf_parser.y"
5042 >  case 390:
5043 > #line 1971 "conf_parser.y" /* yacc.c:1646  */
5044      {
5045    if (conf_parser_ctx.pass == 2)
5046      block_state.flags.value |= SHARED_UNKLINE;
5047   }
5048 + #line 5049 "conf_parser.c" /* yacc.c:1646  */
5049      break;
5050  
5051 <  case 373:
5052 < /* Line 1787 of yacc.c  */
5384 < #line 1988 "conf_parser.y"
5051 >  case 391:
5052 > #line 1975 "conf_parser.y" /* yacc.c:1646  */
5053      {
5054    if (conf_parser_ctx.pass == 2)
5055      block_state.flags.value |= SHARED_DLINE;
5056   }
5057 + #line 5058 "conf_parser.c" /* yacc.c:1646  */
5058      break;
5059  
5060 <  case 374:
5061 < /* Line 1787 of yacc.c  */
5393 < #line 1992 "conf_parser.y"
5060 >  case 392:
5061 > #line 1979 "conf_parser.y" /* yacc.c:1646  */
5062      {
5063    if (conf_parser_ctx.pass == 2)
5064      block_state.flags.value |= SHARED_UNDLINE;
5065   }
5066 + #line 5067 "conf_parser.c" /* yacc.c:1646  */
5067      break;
5068  
5069 <  case 375:
5070 < /* Line 1787 of yacc.c  */
5402 < #line 1996 "conf_parser.y"
5069 >  case 393:
5070 > #line 1983 "conf_parser.y" /* yacc.c:1646  */
5071      {
5072    if (conf_parser_ctx.pass == 2)
5073      block_state.flags.value |= SHARED_XLINE;
5074   }
5075 + #line 5076 "conf_parser.c" /* yacc.c:1646  */
5076      break;
5077  
5078 <  case 376:
5079 < /* Line 1787 of yacc.c  */
5411 < #line 2000 "conf_parser.y"
5078 >  case 394:
5079 > #line 1987 "conf_parser.y" /* yacc.c:1646  */
5080      {
5081    if (conf_parser_ctx.pass == 2)
5082      block_state.flags.value |= SHARED_UNXLINE;
5083   }
5084 + #line 5085 "conf_parser.c" /* yacc.c:1646  */
5085      break;
5086  
5087 <  case 377:
5088 < /* Line 1787 of yacc.c  */
5420 < #line 2004 "conf_parser.y"
5087 >  case 395:
5088 > #line 1991 "conf_parser.y" /* yacc.c:1646  */
5089      {
5090    if (conf_parser_ctx.pass == 2)
5091      block_state.flags.value |= SHARED_RESV;
5092   }
5093 + #line 5094 "conf_parser.c" /* yacc.c:1646  */
5094      break;
5095  
5096 <  case 378:
5097 < /* Line 1787 of yacc.c  */
5429 < #line 2008 "conf_parser.y"
5096 >  case 396:
5097 > #line 1995 "conf_parser.y" /* yacc.c:1646  */
5098      {
5099    if (conf_parser_ctx.pass == 2)
5100      block_state.flags.value |= SHARED_UNRESV;
5101   }
5102 + #line 5103 "conf_parser.c" /* yacc.c:1646  */
5103      break;
5104  
5105 <  case 379:
5106 < /* Line 1787 of yacc.c  */
5438 < #line 2012 "conf_parser.y"
5105 >  case 397:
5106 > #line 1999 "conf_parser.y" /* yacc.c:1646  */
5107      {
5108    if (conf_parser_ctx.pass == 2)
5109      block_state.flags.value |= SHARED_LOCOPS;
5110   }
5111 + #line 5112 "conf_parser.c" /* yacc.c:1646  */
5112      break;
5113  
5114 <  case 380:
5115 < /* Line 1787 of yacc.c  */
5447 < #line 2016 "conf_parser.y"
5114 >  case 398:
5115 > #line 2003 "conf_parser.y" /* yacc.c:1646  */
5116      {
5117    if (conf_parser_ctx.pass == 2)
5118      block_state.flags.value = SHARED_ALL;
5119   }
5120 + #line 5121 "conf_parser.c" /* yacc.c:1646  */
5121      break;
5122  
5123 <  case 381:
5124 < /* Line 1787 of yacc.c  */
5456 < #line 2025 "conf_parser.y"
5123 >  case 399:
5124 > #line 2013 "conf_parser.y" /* yacc.c:1646  */
5125      {
5126  
5127    if (conf_parser_ctx.pass != 2)
5128      break;
5129  
5130    reset_block_state();
5131 +  block_state.aftype.value = AF_INET;
5132    block_state.port.value = PORTNUM;
5133   }
5134 + #line 5135 "conf_parser.c" /* yacc.c:1646  */
5135      break;
5136  
5137 <  case 382:
5138 < /* Line 1787 of yacc.c  */
5469 < #line 2033 "conf_parser.y"
5137 >  case 400:
5138 > #line 2022 "conf_parser.y" /* yacc.c:1646  */
5139      {
5140    struct MaskItem *conf = NULL;
5141    struct addrinfo hints, *res;
# Line 5498 | Line 5167 | yyreduce:
5167    if (block_state.cert.buf[0])
5168      conf->certfp = xstrdup(block_state.cert.buf);
5169  
5170 <  conf->cipher_list = xstrdup(block_state.ciph.buf);
5170 >  if (block_state.ciph.buf[0])
5171 >    conf->cipher_list = xstrdup(block_state.ciph.buf);
5172  
5173    dlinkMoveList(&block_state.leaf.list, &conf->leaf_list);
5174    dlinkMoveList(&block_state.hub.list, &conf->hub_list);
# Line 5515 | Line 5185 | yyreduce:
5185        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", block_state.bind.buf);
5186      else
5187      {
5188 <      assert(res != NULL);
5188 >      assert(res);
5189  
5190        memcpy(&conf->bind, res->ai_addr, res->ai_addrlen);
5191        conf->bind.ss.ss_family = res->ai_family;
# Line 5527 | Line 5197 | yyreduce:
5197    conf_add_class_to_conf(conf, block_state.class.buf);
5198    lookup_confhost(conf);
5199   }
5200 + #line 5201 "conf_parser.c" /* yacc.c:1646  */
5201      break;
5202  
5203 <  case 400:
5204 < /* Line 1787 of yacc.c  */
5534 < #line 2103 "conf_parser.y"
5203 >  case 418:
5204 > #line 2102 "conf_parser.y" /* yacc.c:1646  */
5205      {
5206    if (conf_parser_ctx.pass == 2)
5207      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5208   }
5209 + #line 5210 "conf_parser.c" /* yacc.c:1646  */
5210      break;
5211  
5212 <  case 401:
5213 < /* Line 1787 of yacc.c  */
5543 < #line 2109 "conf_parser.y"
5212 >  case 419:
5213 > #line 2108 "conf_parser.y" /* yacc.c:1646  */
5214      {
5215    if (conf_parser_ctx.pass == 2)
5216      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
5217   }
5218 + #line 5219 "conf_parser.c" /* yacc.c:1646  */
5219      break;
5220  
5221 <  case 402:
5222 < /* Line 1787 of yacc.c  */
5552 < #line 2115 "conf_parser.y"
5221 >  case 420:
5222 > #line 2114 "conf_parser.y" /* yacc.c:1646  */
5223      {
5224    if (conf_parser_ctx.pass == 2)
5225      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
5226   }
5227 + #line 5228 "conf_parser.c" /* yacc.c:1646  */
5228      break;
5229  
5230 <  case 403:
5231 < /* Line 1787 of yacc.c  */
5561 < #line 2121 "conf_parser.y"
5230 >  case 421:
5231 > #line 2120 "conf_parser.y" /* yacc.c:1646  */
5232      {
5233    if (conf_parser_ctx.pass != 2)
5234      break;
5235  
5236 <  if ((yyvsp[(3) - (4)].string)[0] == ':')
5236 >  if ((yyvsp[-1].string)[0] == ':')
5237      conf_error_report("Server passwords cannot begin with a colon");
5238 <  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5238 >  else if (strchr((yyvsp[-1].string), ' '))
5239      conf_error_report("Server passwords cannot contain spaces");
5240    else
5241      strlcpy(block_state.spass.buf, yylval.string, sizeof(block_state.spass.buf));
5242   }
5243 + #line 5244 "conf_parser.c" /* yacc.c:1646  */
5244      break;
5245  
5246 <  case 404:
5247 < /* Line 1787 of yacc.c  */
5577 < #line 2134 "conf_parser.y"
5246 >  case 422:
5247 > #line 2133 "conf_parser.y" /* yacc.c:1646  */
5248      {
5249    if (conf_parser_ctx.pass != 2)
5250      break;
5251  
5252 <  if ((yyvsp[(3) - (4)].string)[0] == ':')
5252 >  if ((yyvsp[-1].string)[0] == ':')
5253      conf_error_report("Server passwords cannot begin with a colon");
5254 <  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5254 >  else if (strchr((yyvsp[-1].string), ' '))
5255      conf_error_report("Server passwords cannot contain spaces");
5256    else
5257      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5258   }
5259 + #line 5260 "conf_parser.c" /* yacc.c:1646  */
5260      break;
5261  
5262 <  case 405:
5263 < /* Line 1787 of yacc.c  */
5593 < #line 2147 "conf_parser.y"
5262 >  case 423:
5263 > #line 2146 "conf_parser.y" /* yacc.c:1646  */
5264      {
5265    if (conf_parser_ctx.pass == 2)
5266 <    if (strlen(yylval.string) == SHA_DIGEST_LENGTH * 2)
5597 <      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
5266 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
5267   }
5268 + #line 5269 "conf_parser.c" /* yacc.c:1646  */
5269      break;
5270  
5271 <  case 406:
5272 < /* Line 1787 of yacc.c  */
5603 < #line 2154 "conf_parser.y"
5271 >  case 424:
5272 > #line 2152 "conf_parser.y" /* yacc.c:1646  */
5273      {
5274    if (conf_parser_ctx.pass == 2)
5275 <    block_state.port.value = (yyvsp[(3) - (4)].number);
5275 >    block_state.port.value = (yyvsp[-1].number);
5276   }
5277 + #line 5278 "conf_parser.c" /* yacc.c:1646  */
5278      break;
5279  
5280 <  case 407:
5281 < /* Line 1787 of yacc.c  */
5612 < #line 2160 "conf_parser.y"
5280 >  case 425:
5281 > #line 2158 "conf_parser.y" /* yacc.c:1646  */
5282      {
5283    if (conf_parser_ctx.pass == 2)
5284      block_state.aftype.value = AF_INET;
5285   }
5286 + #line 5287 "conf_parser.c" /* yacc.c:1646  */
5287      break;
5288  
5289 <  case 408:
5290 < /* Line 1787 of yacc.c  */
5621 < #line 2164 "conf_parser.y"
5289 >  case 426:
5290 > #line 2162 "conf_parser.y" /* yacc.c:1646  */
5291      {
5623 #ifdef IPV6
5292    if (conf_parser_ctx.pass == 2)
5293      block_state.aftype.value = AF_INET6;
5626 #endif
5294   }
5295 + #line 5296 "conf_parser.c" /* yacc.c:1646  */
5296      break;
5297  
5298 <  case 409:
5299 < /* Line 1787 of yacc.c  */
5632 < #line 2172 "conf_parser.y"
5298 >  case 427:
5299 > #line 2168 "conf_parser.y" /* yacc.c:1646  */
5300      {
5301    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5302   }
5303 + #line 5304 "conf_parser.c" /* yacc.c:1646  */
5304      break;
5305  
5306 <  case 413:
5307 < /* Line 1787 of yacc.c  */
5640 < #line 2178 "conf_parser.y"
5306 >  case 431:
5307 > #line 2174 "conf_parser.y" /* yacc.c:1646  */
5308      {
5309    if (conf_parser_ctx.pass == 2)
5310      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
5311   }
5312 + #line 5313 "conf_parser.c" /* yacc.c:1646  */
5313      break;
5314  
5315 <  case 414:
5316 < /* Line 1787 of yacc.c  */
5649 < #line 2182 "conf_parser.y"
5315 >  case 432:
5316 > #line 2178 "conf_parser.y" /* yacc.c:1646  */
5317      {
5318    if (conf_parser_ctx.pass == 2)
5319      block_state.flags.value |= CONF_FLAGS_SSL;
5320   }
5321 + #line 5322 "conf_parser.c" /* yacc.c:1646  */
5322      break;
5323  
5324 <  case 415:
5325 < /* Line 1787 of yacc.c  */
5658 < #line 2188 "conf_parser.y"
5324 >  case 433:
5325 > #line 2184 "conf_parser.y" /* yacc.c:1646  */
5326      {
5327    if (conf_parser_ctx.pass == 2)
5328    {
# Line 5665 | Line 5332 | yyreduce:
5332        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
5333    }
5334   }
5335 + #line 5336 "conf_parser.c" /* yacc.c:1646  */
5336      break;
5337  
5338 <  case 416:
5339 < /* Line 1787 of yacc.c  */
5672 < #line 2199 "conf_parser.y"
5338 >  case 434:
5339 > #line 2195 "conf_parser.y" /* yacc.c:1646  */
5340      {
5341    if (conf_parser_ctx.pass == 2)
5342      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
5343   }
5344 + #line 5345 "conf_parser.c" /* yacc.c:1646  */
5345      break;
5346  
5347 <  case 417:
5348 < /* Line 1787 of yacc.c  */
5681 < #line 2205 "conf_parser.y"
5347 >  case 435:
5348 > #line 2201 "conf_parser.y" /* yacc.c:1646  */
5349      {
5350    if (conf_parser_ctx.pass == 2)
5351      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
5352   }
5353 + #line 5354 "conf_parser.c" /* yacc.c:1646  */
5354      break;
5355  
5356 <  case 418:
5357 < /* Line 1787 of yacc.c  */
5690 < #line 2211 "conf_parser.y"
5356 >  case 436:
5357 > #line 2207 "conf_parser.y" /* yacc.c:1646  */
5358      {
5359    if (conf_parser_ctx.pass == 2)
5360      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
5361   }
5362 + #line 5363 "conf_parser.c" /* yacc.c:1646  */
5363      break;
5364  
5365 <  case 419:
5366 < /* Line 1787 of yacc.c  */
5699 < #line 2217 "conf_parser.y"
5365 >  case 437:
5366 > #line 2213 "conf_parser.y" /* yacc.c:1646  */
5367      {
5368 < #ifdef HAVE_LIBCRYPTO
5368 > #ifdef HAVE_TLS
5369    if (conf_parser_ctx.pass == 2)
5370      strlcpy(block_state.ciph.buf, yylval.string, sizeof(block_state.ciph.buf));
5371   #else
5372    if (conf_parser_ctx.pass == 2)
5373 <    conf_error_report("Ignoring connect::ciphers -- no OpenSSL support");
5373 >    conf_error_report("Ignoring connect::ciphers -- no TLS support");
5374   #endif
5375   }
5376 + #line 5377 "conf_parser.c" /* yacc.c:1646  */
5377      break;
5378  
5379 <  case 420:
5380 < /* Line 1787 of yacc.c  */
5713 < #line 2232 "conf_parser.y"
5379 >  case 438:
5380 > #line 2228 "conf_parser.y" /* yacc.c:1646  */
5381      {
5382    if (conf_parser_ctx.pass == 2)
5383      reset_block_state();
5384   }
5385 + #line 5386 "conf_parser.c" /* yacc.c:1646  */
5386      break;
5387  
5388 <  case 421:
5389 < /* Line 1787 of yacc.c  */
5722 < #line 2236 "conf_parser.y"
5388 >  case 439:
5389 > #line 2232 "conf_parser.y" /* yacc.c:1646  */
5390      {
5391    struct MaskItem *conf = NULL;
5392  
# Line 5740 | Line 5407 | yyreduce:
5407      conf->reason = xstrdup(CONF_NOREASON);
5408    add_conf_by_address(CONF_KLINE, conf);
5409   }
5410 + #line 5411 "conf_parser.c" /* yacc.c:1646  */
5411      break;
5412  
5413 <  case 427:
5414 < /* Line 1787 of yacc.c  */
5747 < #line 2261 "conf_parser.y"
5413 >  case 445:
5414 > #line 2257 "conf_parser.y" /* yacc.c:1646  */
5415      {
5416  
5417    if (conf_parser_ctx.pass == 2)
# Line 5763 | Line 5430 | yyreduce:
5430      split_nuh(&nuh);
5431    }
5432   }
5433 + #line 5434 "conf_parser.c" /* yacc.c:1646  */
5434      break;
5435  
5436 <  case 428:
5437 < /* Line 1787 of yacc.c  */
5770 < #line 2281 "conf_parser.y"
5436 >  case 446:
5437 > #line 2277 "conf_parser.y" /* yacc.c:1646  */
5438      {
5439    if (conf_parser_ctx.pass == 2)
5440      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5441   }
5442 + #line 5443 "conf_parser.c" /* yacc.c:1646  */
5443      break;
5444  
5445 <  case 429:
5446 < /* Line 1787 of yacc.c  */
5779 < #line 2290 "conf_parser.y"
5445 >  case 447:
5446 > #line 2287 "conf_parser.y" /* yacc.c:1646  */
5447      {
5448    if (conf_parser_ctx.pass == 2)
5449      reset_block_state();
5450   }
5451 + #line 5452 "conf_parser.c" /* yacc.c:1646  */
5452      break;
5453  
5454 <  case 430:
5455 < /* Line 1787 of yacc.c  */
5788 < #line 2294 "conf_parser.y"
5454 >  case 448:
5455 > #line 2291 "conf_parser.y" /* yacc.c:1646  */
5456      {
5457    struct MaskItem *conf = NULL;
5458  
# Line 5807 | Line 5474 | yyreduce:
5474      add_conf_by_address(CONF_DLINE, conf);
5475    }
5476   }
5477 + #line 5478 "conf_parser.c" /* yacc.c:1646  */
5478      break;
5479  
5480 <  case 436:
5481 < /* Line 1787 of yacc.c  */
5814 < #line 2320 "conf_parser.y"
5480 >  case 454:
5481 > #line 2317 "conf_parser.y" /* yacc.c:1646  */
5482      {
5483    if (conf_parser_ctx.pass == 2)
5484      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5485   }
5486 + #line 5487 "conf_parser.c" /* yacc.c:1646  */
5487      break;
5488  
5489 <  case 437:
5490 < /* Line 1787 of yacc.c  */
5823 < #line 2326 "conf_parser.y"
5489 >  case 455:
5490 > #line 2323 "conf_parser.y" /* yacc.c:1646  */
5491      {
5492    if (conf_parser_ctx.pass == 2)
5493      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5494   }
5495 + #line 5496 "conf_parser.c" /* yacc.c:1646  */
5496      break;
5497  
5498 <  case 443:
5499 < /* Line 1787 of yacc.c  */
5832 < #line 2340 "conf_parser.y"
5498 >  case 461:
5499 > #line 2338 "conf_parser.y" /* yacc.c:1646  */
5500      {
5501    if (conf_parser_ctx.pass == 2)
5502    {
5503 <    if (yylval.string[0] && parse_netmask(yylval.string, NULL, NULL) != HM_HOST)
5503 >    if (*yylval.string && parse_netmask(yylval.string, NULL, NULL) != HM_HOST)
5504      {
5505        struct MaskItem *conf = conf_make(CONF_EXEMPT);
5506        conf->host = xstrdup(yylval.string);
# Line 5842 | Line 5509 | yyreduce:
5509      }
5510    }
5511   }
5512 + #line 5513 "conf_parser.c" /* yacc.c:1646  */
5513      break;
5514  
5515 <  case 444:
5516 < /* Line 1787 of yacc.c  */
5849 < #line 2357 "conf_parser.y"
5515 >  case 462:
5516 > #line 2355 "conf_parser.y" /* yacc.c:1646  */
5517      {
5518    if (conf_parser_ctx.pass == 2)
5519      reset_block_state();
5520   }
5521 + #line 5522 "conf_parser.c" /* yacc.c:1646  */
5522      break;
5523  
5524 <  case 445:
5525 < /* Line 1787 of yacc.c  */
5858 < #line 2361 "conf_parser.y"
5524 >  case 463:
5525 > #line 2359 "conf_parser.y" /* yacc.c:1646  */
5526      {
5527    struct MaskItem *conf = NULL;
5528  
# Line 5873 | Line 5540 | yyreduce:
5540    else
5541      conf->reason = xstrdup(CONF_NOREASON);
5542   }
5543 + #line 5544 "conf_parser.c" /* yacc.c:1646  */
5544      break;
5545  
5546 <  case 451:
5547 < /* Line 1787 of yacc.c  */
5880 < #line 2383 "conf_parser.y"
5546 >  case 469:
5547 > #line 2381 "conf_parser.y" /* yacc.c:1646  */
5548      {
5549    if (conf_parser_ctx.pass == 2)
5550      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5551   }
5552 + #line 5553 "conf_parser.c" /* yacc.c:1646  */
5553      break;
5554  
5555 <  case 452:
5556 < /* Line 1787 of yacc.c  */
5889 < #line 2389 "conf_parser.y"
5555 >  case 470:
5556 > #line 2387 "conf_parser.y" /* yacc.c:1646  */
5557      {
5558    if (conf_parser_ctx.pass == 2)
5559      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5560   }
5561 + #line 5562 "conf_parser.c" /* yacc.c:1646  */
5562      break;
5563  
5564 <  case 504:
5565 < /* Line 1787 of yacc.c  */
5898 < #line 2432 "conf_parser.y"
5564 >  case 520:
5565 > #line 2448 "conf_parser.y" /* yacc.c:1646  */
5566      {
5567 <  ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5567 >  ConfigGeneral.away_count = (yyvsp[-1].number);
5568   }
5569 + #line 5570 "conf_parser.c" /* yacc.c:1646  */
5570      break;
5571  
5572 <  case 505:
5573 < /* Line 1787 of yacc.c  */
5906 < #line 2437 "conf_parser.y"
5572 >  case 521:
5573 > #line 2453 "conf_parser.y" /* yacc.c:1646  */
5574      {
5575 <  if (conf_parser_ctx.pass == 2)
5909 <    ConfigFileEntry.glines = yylval.number;
5575 >  ConfigGeneral.away_time = (yyvsp[-1].number);
5576   }
5577 + #line 5578 "conf_parser.c" /* yacc.c:1646  */
5578      break;
5579  
5580 <  case 506:
5581 < /* Line 1787 of yacc.c  */
5915 < #line 2443 "conf_parser.y"
5580 >  case 522:
5581 > #line 2458 "conf_parser.y" /* yacc.c:1646  */
5582      {
5583 <  if (conf_parser_ctx.pass == 2)
5918 <    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5583 >  ConfigGeneral.max_watch = (yyvsp[-1].number);
5584   }
5585 + #line 5586 "conf_parser.c" /* yacc.c:1646  */
5586      break;
5587  
5588 <  case 507:
5589 < /* Line 1787 of yacc.c  */
5924 < #line 2449 "conf_parser.y"
5588 >  case 523:
5589 > #line 2463 "conf_parser.y" /* yacc.c:1646  */
5590      {
5591    if (conf_parser_ctx.pass == 2)
5592 <    ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5592 >    ConfigGeneral.cycle_on_host_change = yylval.number;
5593   }
5594 + #line 5595 "conf_parser.c" /* yacc.c:1646  */
5595      break;
5596  
5597 <  case 508:
5598 < /* Line 1787 of yacc.c  */
5933 < #line 2455 "conf_parser.y"
5597 >  case 524:
5598 > #line 2469 "conf_parser.y" /* yacc.c:1646  */
5599      {
5600 <  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5600 >  ConfigGeneral.dline_min_cidr = (yyvsp[-1].number);
5601   }
5602 + #line 5603 "conf_parser.c" /* yacc.c:1646  */
5603      break;
5604  
5605 <  case 509:
5606 < /* Line 1787 of yacc.c  */
5941 < #line 2460 "conf_parser.y"
5605 >  case 525:
5606 > #line 2474 "conf_parser.y" /* yacc.c:1646  */
5607      {
5608 <  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5608 >  ConfigGeneral.dline_min_cidr6 = (yyvsp[-1].number);
5609   }
5610 + #line 5611 "conf_parser.c" /* yacc.c:1646  */
5611      break;
5612  
5613 <  case 510:
5614 < /* Line 1787 of yacc.c  */
5949 < #line 2465 "conf_parser.y"
5613 >  case 526:
5614 > #line 2479 "conf_parser.y" /* yacc.c:1646  */
5615      {
5616 <  ConfigFileEntry.tkline_expire_notices = yylval.number;
5616 >  ConfigGeneral.kline_min_cidr = (yyvsp[-1].number);
5617   }
5618 + #line 5619 "conf_parser.c" /* yacc.c:1646  */
5619      break;
5620  
5621 <  case 511:
5622 < /* Line 1787 of yacc.c  */
5957 < #line 2470 "conf_parser.y"
5621 >  case 527:
5622 > #line 2484 "conf_parser.y" /* yacc.c:1646  */
5623      {
5624 <  ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
5624 >  ConfigGeneral.kline_min_cidr6 = (yyvsp[-1].number);
5625   }
5626 + #line 5627 "conf_parser.c" /* yacc.c:1646  */
5627      break;
5628  
5629 <  case 512:
5630 < /* Line 1787 of yacc.c  */
5965 < #line 2475 "conf_parser.y"
5629 >  case 528:
5630 > #line 2489 "conf_parser.y" /* yacc.c:1646  */
5631      {
5632 <  ConfigFileEntry.hide_spoof_ips = yylval.number;
5632 >  ConfigGeneral.tkline_expire_notices = yylval.number;
5633   }
5634 + #line 5635 "conf_parser.c" /* yacc.c:1646  */
5635      break;
5636  
5637 <  case 513:
5638 < /* Line 1787 of yacc.c  */
5973 < #line 2480 "conf_parser.y"
5637 >  case 529:
5638 > #line 2494 "conf_parser.y" /* yacc.c:1646  */
5639      {
5640 <  ConfigFileEntry.ignore_bogus_ts = yylval.number;
5640 >  ConfigGeneral.kill_chase_time_limit = (yyvsp[-1].number);
5641   }
5642 + #line 5643 "conf_parser.c" /* yacc.c:1646  */
5643      break;
5644  
5645 <  case 514:
5646 < /* Line 1787 of yacc.c  */
5981 < #line 2485 "conf_parser.y"
5645 >  case 530:
5646 > #line 2499 "conf_parser.y" /* yacc.c:1646  */
5647      {
5648 <  ConfigFileEntry.failed_oper_notice = yylval.number;
5648 >  ConfigGeneral.ignore_bogus_ts = yylval.number;
5649   }
5650 + #line 5651 "conf_parser.c" /* yacc.c:1646  */
5651      break;
5652  
5653 <  case 515:
5654 < /* Line 1787 of yacc.c  */
5989 < #line 2490 "conf_parser.y"
5653 >  case 531:
5654 > #line 2504 "conf_parser.y" /* yacc.c:1646  */
5655      {
5656 <  ConfigFileEntry.anti_nick_flood = yylval.number;
5656 >  ConfigGeneral.failed_oper_notice = yylval.number;
5657   }
5658 + #line 5659 "conf_parser.c" /* yacc.c:1646  */
5659      break;
5660  
5661 <  case 516:
5662 < /* Line 1787 of yacc.c  */
5997 < #line 2495 "conf_parser.y"
5661 >  case 532:
5662 > #line 2509 "conf_parser.y" /* yacc.c:1646  */
5663      {
5664 <  ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
5664 >  ConfigGeneral.anti_nick_flood = yylval.number;
5665   }
5666 + #line 5667 "conf_parser.c" /* yacc.c:1646  */
5667      break;
5668  
5669 <  case 517:
5670 < /* Line 1787 of yacc.c  */
6005 < #line 2500 "conf_parser.y"
5669 >  case 533:
5670 > #line 2514 "conf_parser.y" /* yacc.c:1646  */
5671      {
5672 <  ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
5672 >  ConfigGeneral.max_nick_time = (yyvsp[-1].number);
5673   }
5674 + #line 5675 "conf_parser.c" /* yacc.c:1646  */
5675      break;
5676  
5677 <  case 518:
5678 < /* Line 1787 of yacc.c  */
6013 < #line 2505 "conf_parser.y"
5677 >  case 534:
5678 > #line 2519 "conf_parser.y" /* yacc.c:1646  */
5679      {
5680 <  ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
5680 >  ConfigGeneral.max_nick_changes = (yyvsp[-1].number);
5681   }
5682 + #line 5683 "conf_parser.c" /* yacc.c:1646  */
5683      break;
5684  
5685 <  case 519:
5686 < /* Line 1787 of yacc.c  */
6021 < #line 2510 "conf_parser.y"
5685 >  case 535:
5686 > #line 2524 "conf_parser.y" /* yacc.c:1646  */
5687      {
5688 <  ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
5688 >  ConfigGeneral.max_accept = (yyvsp[-1].number);
5689   }
5690 + #line 5691 "conf_parser.c" /* yacc.c:1646  */
5691      break;
5692  
5693 <  case 520:
5694 < /* Line 1787 of yacc.c  */
6029 < #line 2515 "conf_parser.y"
5693 >  case 536:
5694 > #line 2529 "conf_parser.y" /* yacc.c:1646  */
5695      {
5696 <  ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
5696 >  ConfigGeneral.anti_spam_exit_message_time = (yyvsp[-1].number);
5697   }
5698 + #line 5699 "conf_parser.c" /* yacc.c:1646  */
5699      break;
5700  
5701 <  case 521:
5702 < /* Line 1787 of yacc.c  */
6037 < #line 2520 "conf_parser.y"
5701 >  case 537:
5702 > #line 2534 "conf_parser.y" /* yacc.c:1646  */
5703      {
5704 <  if (conf_parser_ctx.pass == 2)
6040 <    ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
5704 >  ConfigGeneral.ts_warn_delta = (yyvsp[-1].number);
5705   }
5706 + #line 5707 "conf_parser.c" /* yacc.c:1646  */
5707      break;
5708  
5709 <  case 522:
5710 < /* Line 1787 of yacc.c  */
6046 < #line 2526 "conf_parser.y"
5709 >  case 538:
5710 > #line 2539 "conf_parser.y" /* yacc.c:1646  */
5711      {
5712 <  if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
5713 <  {
6050 <    ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
6051 <    ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
6052 <    ilog(LOG_TYPE_IRCD, "Consider actually reading/editing the conf file, and removing this line.");
6053 <    exit(0);
6054 <  }
5712 >  if (conf_parser_ctx.pass == 2)
5713 >    ConfigGeneral.ts_max_delta = (yyvsp[-1].number);
5714   }
5715 + #line 5716 "conf_parser.c" /* yacc.c:1646  */
5716      break;
5717  
5718 <  case 523:
5719 < /* Line 1787 of yacc.c  */
6060 < #line 2537 "conf_parser.y"
5718 >  case 539:
5719 > #line 2545 "conf_parser.y" /* yacc.c:1646  */
5720      {
5721 <  ConfigFileEntry.invisible_on_connect = yylval.number;
5721 >  ConfigGeneral.invisible_on_connect = yylval.number;
5722   }
5723 + #line 5724 "conf_parser.c" /* yacc.c:1646  */
5724      break;
5725  
5726 <  case 524:
5727 < /* Line 1787 of yacc.c  */
6068 < #line 2542 "conf_parser.y"
5726 >  case 540:
5727 > #line 2550 "conf_parser.y" /* yacc.c:1646  */
5728      {
5729 <  ConfigFileEntry.warn_no_nline = yylval.number;
5729 >  ConfigGeneral.warn_no_connect_block = yylval.number;
5730   }
5731 + #line 5732 "conf_parser.c" /* yacc.c:1646  */
5732      break;
5733  
5734 <  case 525:
5735 < /* Line 1787 of yacc.c  */
6076 < #line 2547 "conf_parser.y"
5734 >  case 541:
5735 > #line 2555 "conf_parser.y" /* yacc.c:1646  */
5736      {
5737 <  ConfigFileEntry.stats_e_disabled = yylval.number;
5737 >  ConfigGeneral.stats_e_disabled = yylval.number;
5738   }
5739 + #line 5740 "conf_parser.c" /* yacc.c:1646  */
5740      break;
5741  
5742 <  case 526:
5743 < /* Line 1787 of yacc.c  */
6084 < #line 2552 "conf_parser.y"
5742 >  case 542:
5743 > #line 2560 "conf_parser.y" /* yacc.c:1646  */
5744      {
5745 <  ConfigFileEntry.stats_o_oper_only = yylval.number;
5745 >  ConfigGeneral.stats_m_oper_only = yylval.number;
5746   }
5747 + #line 5748 "conf_parser.c" /* yacc.c:1646  */
5748      break;
5749  
5750 <  case 527:
5751 < /* Line 1787 of yacc.c  */
6092 < #line 2557 "conf_parser.y"
5750 >  case 543:
5751 > #line 2565 "conf_parser.y" /* yacc.c:1646  */
5752      {
5753 <  ConfigFileEntry.stats_P_oper_only = yylval.number;
5753 >  ConfigGeneral.stats_o_oper_only = yylval.number;
5754   }
5755 + #line 5756 "conf_parser.c" /* yacc.c:1646  */
5756      break;
5757  
5758 <  case 528:
5759 < /* Line 1787 of yacc.c  */
6100 < #line 2562 "conf_parser.y"
5758 >  case 544:
5759 > #line 2570 "conf_parser.y" /* yacc.c:1646  */
5760      {
5761 <  ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
5761 >  ConfigGeneral.stats_P_oper_only = yylval.number;
5762   }
5763 + #line 5764 "conf_parser.c" /* yacc.c:1646  */
5764      break;
5765  
5766 <  case 529:
5767 < /* Line 1787 of yacc.c  */
6108 < #line 2565 "conf_parser.y"
5766 >  case 545:
5767 > #line 2575 "conf_parser.y" /* yacc.c:1646  */
5768      {
5769 <  ConfigFileEntry.stats_k_oper_only = 1;
5769 >  ConfigGeneral.stats_u_oper_only = yylval.number;
5770   }
5771 + #line 5772 "conf_parser.c" /* yacc.c:1646  */
5772      break;
5773  
5774 <  case 530:
5775 < /* Line 1787 of yacc.c  */
6116 < #line 2570 "conf_parser.y"
5774 >  case 546:
5775 > #line 2580 "conf_parser.y" /* yacc.c:1646  */
5776      {
5777 <  ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
5777 >  ConfigGeneral.stats_k_oper_only = 2 * yylval.number;
5778   }
5779 + #line 5780 "conf_parser.c" /* yacc.c:1646  */
5780      break;
5781  
5782 <  case 531:
5783 < /* Line 1787 of yacc.c  */
6124 < #line 2573 "conf_parser.y"
5782 >  case 547:
5783 > #line 2583 "conf_parser.y" /* yacc.c:1646  */
5784      {
5785 <  ConfigFileEntry.stats_i_oper_only = 1;
5785 >  ConfigGeneral.stats_k_oper_only = 1;
5786   }
5787 + #line 5788 "conf_parser.c" /* yacc.c:1646  */
5788      break;
5789  
5790 <  case 532:
5791 < /* Line 1787 of yacc.c  */
6132 < #line 2578 "conf_parser.y"
5790 >  case 548:
5791 > #line 2588 "conf_parser.y" /* yacc.c:1646  */
5792      {
5793 <  ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
5793 >  ConfigGeneral.stats_i_oper_only = 2 * yylval.number;
5794   }
5795 + #line 5796 "conf_parser.c" /* yacc.c:1646  */
5796      break;
5797  
5798 <  case 533:
5799 < /* Line 1787 of yacc.c  */
6140 < #line 2583 "conf_parser.y"
5798 >  case 549:
5799 > #line 2591 "conf_parser.y" /* yacc.c:1646  */
5800      {
5801 <  ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
5801 >  ConfigGeneral.stats_i_oper_only = 1;
5802   }
5803 + #line 5804 "conf_parser.c" /* yacc.c:1646  */
5804      break;
5805  
5806 <  case 534:
5807 < /* Line 1787 of yacc.c  */
6148 < #line 2588 "conf_parser.y"
5806 >  case 550:
5807 > #line 2596 "conf_parser.y" /* yacc.c:1646  */
5808      {
5809 <  ConfigFileEntry.opers_bypass_callerid = yylval.number;
5809 >  ConfigGeneral.pace_wait = (yyvsp[-1].number);
5810   }
5811 + #line 5812 "conf_parser.c" /* yacc.c:1646  */
5812      break;
5813  
5814 <  case 535:
5815 < /* Line 1787 of yacc.c  */
6156 < #line 2593 "conf_parser.y"
5814 >  case 551:
5815 > #line 2601 "conf_parser.y" /* yacc.c:1646  */
5816      {
5817 <  ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
5817 >  ConfigGeneral.caller_id_wait = (yyvsp[-1].number);
5818   }
5819 + #line 5820 "conf_parser.c" /* yacc.c:1646  */
5820      break;
5821  
5822 <  case 536:
5823 < /* Line 1787 of yacc.c  */
6164 < #line 2598 "conf_parser.y"
5822 >  case 552:
5823 > #line 2606 "conf_parser.y" /* yacc.c:1646  */
5824      {
5825 <  ConfigFileEntry.short_motd = yylval.number;
5825 >  ConfigGeneral.opers_bypass_callerid = yylval.number;
5826   }
5827 + #line 5828 "conf_parser.c" /* yacc.c:1646  */
5828      break;
5829  
5830 <  case 537:
5831 < /* Line 1787 of yacc.c  */
6172 < #line 2603 "conf_parser.y"
5830 >  case 553:
5831 > #line 2611 "conf_parser.y" /* yacc.c:1646  */
5832      {
5833 <  ConfigFileEntry.no_oper_flood = yylval.number;
5833 >  ConfigGeneral.pace_wait_simple = (yyvsp[-1].number);
5834   }
5835 + #line 5836 "conf_parser.c" /* yacc.c:1646  */
5836      break;
5837  
5838 <  case 538:
5839 < /* Line 1787 of yacc.c  */
6180 < #line 2608 "conf_parser.y"
5838 >  case 554:
5839 > #line 2616 "conf_parser.y" /* yacc.c:1646  */
5840      {
5841 <  ConfigFileEntry.true_no_oper_flood = yylval.number;
5841 >  ConfigGeneral.short_motd = yylval.number;
5842   }
5843 + #line 5844 "conf_parser.c" /* yacc.c:1646  */
5844      break;
5845  
5846 <  case 539:
5847 < /* Line 1787 of yacc.c  */
6188 < #line 2613 "conf_parser.y"
5846 >  case 555:
5847 > #line 2621 "conf_parser.y" /* yacc.c:1646  */
5848      {
5849 <  ConfigFileEntry.oper_pass_resv = yylval.number;
5849 >  ConfigGeneral.no_oper_flood = yylval.number;
5850   }
5851 + #line 5852 "conf_parser.c" /* yacc.c:1646  */
5852      break;
5853  
5854 <  case 540:
5855 < /* Line 1787 of yacc.c  */
6196 < #line 2618 "conf_parser.y"
5854 >  case 556:
5855 > #line 2626 "conf_parser.y" /* yacc.c:1646  */
5856      {
5857 <  ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
5857 >  ConfigGeneral.dots_in_ident = (yyvsp[-1].number);
5858   }
5859 + #line 5860 "conf_parser.c" /* yacc.c:1646  */
5860      break;
5861  
5862 <  case 541:
5863 < /* Line 1787 of yacc.c  */
6204 < #line 2623 "conf_parser.y"
5862 >  case 557:
5863 > #line 2631 "conf_parser.y" /* yacc.c:1646  */
5864      {
5865 <  ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
5865 >  ConfigGeneral.max_targets = (yyvsp[-1].number);
5866   }
5867 + #line 5868 "conf_parser.c" /* yacc.c:1646  */
5868      break;
5869  
5870 <  case 542:
5871 < /* Line 1787 of yacc.c  */
6212 < #line 2628 "conf_parser.y"
5870 >  case 558:
5871 > #line 2636 "conf_parser.y" /* yacc.c:1646  */
5872      {
5873 <  ConfigFileEntry.use_egd = yylval.number;
5873 >  ConfigGeneral.ping_cookie = yylval.number;
5874   }
5875 + #line 5876 "conf_parser.c" /* yacc.c:1646  */
5876      break;
5877  
5878 <  case 543:
5879 < /* Line 1787 of yacc.c  */
6220 < #line 2633 "conf_parser.y"
5878 >  case 559:
5879 > #line 2641 "conf_parser.y" /* yacc.c:1646  */
5880      {
5881 <  if (conf_parser_ctx.pass == 2)
6223 <  {
6224 <    MyFree(ConfigFileEntry.egdpool_path);
6225 <    ConfigFileEntry.egdpool_path = xstrdup(yylval.string);
6226 <  }
5881 >  ConfigGeneral.disable_auth = yylval.number;
5882   }
5883 + #line 5884 "conf_parser.c" /* yacc.c:1646  */
5884      break;
5885  
5886 <  case 544:
5887 < /* Line 1787 of yacc.c  */
6232 < #line 2642 "conf_parser.y"
5886 >  case 560:
5887 > #line 2646 "conf_parser.y" /* yacc.c:1646  */
5888      {
5889 <  if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6235 <  {
6236 <    MyFree(ConfigFileEntry.service_name);
6237 <    ConfigFileEntry.service_name = xstrdup(yylval.string);
6238 <  }
5889 >  ConfigGeneral.throttle_count = (yyvsp[-1].number);
5890   }
5891 + #line 5892 "conf_parser.c" /* yacc.c:1646  */
5892      break;
5893  
5894 <  case 545:
5895 < /* Line 1787 of yacc.c  */
6244 < #line 2651 "conf_parser.y"
5894 >  case 561:
5895 > #line 2651 "conf_parser.y" /* yacc.c:1646  */
5896      {
5897 <  ConfigFileEntry.ping_cookie = yylval.number;
5897 >  ConfigGeneral.throttle_time = (yyvsp[-1].number);
5898   }
5899 + #line 5900 "conf_parser.c" /* yacc.c:1646  */
5900      break;
5901  
5902 <  case 546:
5903 < /* Line 1787 of yacc.c  */
6252 < #line 2656 "conf_parser.y"
5902 >  case 562:
5903 > #line 2656 "conf_parser.y" /* yacc.c:1646  */
5904      {
5905 <  ConfigFileEntry.disable_auth = yylval.number;
5905 >  ConfigGeneral.oper_umodes = 0;
5906   }
5907 + #line 5908 "conf_parser.c" /* yacc.c:1646  */
5908      break;
5909  
5910 <  case 547:
5911 < /* Line 1787 of yacc.c  */
6260 < #line 2661 "conf_parser.y"
5910 >  case 566:
5911 > #line 2662 "conf_parser.y" /* yacc.c:1646  */
5912      {
5913 <  ConfigFileEntry.throttle_time = yylval.number;
5913 >  ConfigGeneral.oper_umodes |= UMODE_BOTS;
5914   }
5915 + #line 5916 "conf_parser.c" /* yacc.c:1646  */
5916      break;
5917  
5918 <  case 548:
5919 < /* Line 1787 of yacc.c  */
6268 < #line 2666 "conf_parser.y"
5918 >  case 567:
5919 > #line 2665 "conf_parser.y" /* yacc.c:1646  */
5920      {
5921 <  ConfigFileEntry.oper_umodes = 0;
5921 >  ConfigGeneral.oper_umodes |= UMODE_CCONN;
5922   }
5923 + #line 5924 "conf_parser.c" /* yacc.c:1646  */
5924      break;
5925  
5926 <  case 552:
5927 < /* Line 1787 of yacc.c  */
6276 < #line 2672 "conf_parser.y"
5926 >  case 568:
5927 > #line 2668 "conf_parser.y" /* yacc.c:1646  */
5928      {
5929 <  ConfigFileEntry.oper_umodes |= UMODE_BOTS;
5929 >  ConfigGeneral.oper_umodes |= UMODE_DEAF;
5930   }
5931 + #line 5932 "conf_parser.c" /* yacc.c:1646  */
5932      break;
5933  
5934 <  case 553:
5935 < /* Line 1787 of yacc.c  */
6284 < #line 2675 "conf_parser.y"
5934 >  case 569:
5935 > #line 2671 "conf_parser.y" /* yacc.c:1646  */
5936      {
5937 <  ConfigFileEntry.oper_umodes |= UMODE_CCONN;
5937 >  ConfigGeneral.oper_umodes |= UMODE_DEBUG;
5938   }
5939 + #line 5940 "conf_parser.c" /* yacc.c:1646  */
5940      break;
5941  
5942 <  case 554:
5943 < /* Line 1787 of yacc.c  */
6292 < #line 2678 "conf_parser.y"
5942 >  case 570:
5943 > #line 2674 "conf_parser.y" /* yacc.c:1646  */
5944      {
5945 <  ConfigFileEntry.oper_umodes |= UMODE_DEAF;
5945 >  ConfigGeneral.oper_umodes |= UMODE_FULL;
5946   }
5947 + #line 5948 "conf_parser.c" /* yacc.c:1646  */
5948      break;
5949  
5950 <  case 555:
5951 < /* Line 1787 of yacc.c  */
6300 < #line 2681 "conf_parser.y"
5950 >  case 571:
5951 > #line 2677 "conf_parser.y" /* yacc.c:1646  */
5952      {
5953 <  ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
5953 >  ConfigGeneral.oper_umodes |= UMODE_HIDDEN;
5954   }
5955 + #line 5956 "conf_parser.c" /* yacc.c:1646  */
5956      break;
5957  
5958 <  case 556:
5959 < /* Line 1787 of yacc.c  */
6308 < #line 2684 "conf_parser.y"
5958 >  case 572:
5959 > #line 2680 "conf_parser.y" /* yacc.c:1646  */
5960      {
5961 <  ConfigFileEntry.oper_umodes |= UMODE_FULL;
5961 >  ConfigGeneral.oper_umodes |= UMODE_HIDECHANS;
5962   }
5963 + #line 5964 "conf_parser.c" /* yacc.c:1646  */
5964      break;
5965  
5966 <  case 557:
5967 < /* Line 1787 of yacc.c  */
6316 < #line 2687 "conf_parser.y"
5966 >  case 573:
5967 > #line 2683 "conf_parser.y" /* yacc.c:1646  */
5968      {
5969 <  ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
5969 >  ConfigGeneral.oper_umodes |= UMODE_HIDEIDLE;
5970   }
5971 + #line 5972 "conf_parser.c" /* yacc.c:1646  */
5972      break;
5973  
5974 <  case 558:
5975 < /* Line 1787 of yacc.c  */
6324 < #line 2690 "conf_parser.y"
5974 >  case 574:
5975 > #line 2686 "conf_parser.y" /* yacc.c:1646  */
5976      {
5977 <  ConfigFileEntry.oper_umodes |= UMODE_SKILL;
5977 >  ConfigGeneral.oper_umodes |= UMODE_SKILL;
5978   }
5979 + #line 5980 "conf_parser.c" /* yacc.c:1646  */
5980      break;
5981  
5982 <  case 559:
5983 < /* Line 1787 of yacc.c  */
6332 < #line 2693 "conf_parser.y"
5982 >  case 575:
5983 > #line 2689 "conf_parser.y" /* yacc.c:1646  */
5984      {
5985 <  ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
5985 >  ConfigGeneral.oper_umodes |= UMODE_NCHANGE;
5986   }
5987 + #line 5988 "conf_parser.c" /* yacc.c:1646  */
5988      break;
5989  
5990 <  case 560:
5991 < /* Line 1787 of yacc.c  */
6340 < #line 2696 "conf_parser.y"
5990 >  case 576:
5991 > #line 2692 "conf_parser.y" /* yacc.c:1646  */
5992      {
5993 <  ConfigFileEntry.oper_umodes |= UMODE_REJ;
5993 >  ConfigGeneral.oper_umodes |= UMODE_REJ;
5994   }
5995 + #line 5996 "conf_parser.c" /* yacc.c:1646  */
5996      break;
5997  
5998 <  case 561:
5999 < /* Line 1787 of yacc.c  */
6348 < #line 2699 "conf_parser.y"
5998 >  case 577:
5999 > #line 2695 "conf_parser.y" /* yacc.c:1646  */
6000      {
6001 <  ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6001 >  ConfigGeneral.oper_umodes |= UMODE_UNAUTH;
6002   }
6003 + #line 6004 "conf_parser.c" /* yacc.c:1646  */
6004      break;
6005  
6006 <  case 562:
6007 < /* Line 1787 of yacc.c  */
6356 < #line 2702 "conf_parser.y"
6006 >  case 578:
6007 > #line 2698 "conf_parser.y" /* yacc.c:1646  */
6008      {
6009 <  ConfigFileEntry.oper_umodes |= UMODE_SPY;
6009 >  ConfigGeneral.oper_umodes |= UMODE_SPY;
6010   }
6011 + #line 6012 "conf_parser.c" /* yacc.c:1646  */
6012      break;
6013  
6014 <  case 563:
6015 < /* Line 1787 of yacc.c  */
6364 < #line 2705 "conf_parser.y"
6014 >  case 579:
6015 > #line 2701 "conf_parser.y" /* yacc.c:1646  */
6016      {
6017 <  ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6017 >  ConfigGeneral.oper_umodes |= UMODE_EXTERNAL;
6018   }
6019 + #line 6020 "conf_parser.c" /* yacc.c:1646  */
6020      break;
6021  
6022 <  case 564:
6023 < /* Line 1787 of yacc.c  */
6372 < #line 2708 "conf_parser.y"
6022 >  case 580:
6023 > #line 2704 "conf_parser.y" /* yacc.c:1646  */
6024      {
6025 <  ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6025 >  ConfigGeneral.oper_umodes |= UMODE_SERVNOTICE;
6026   }
6027 + #line 6028 "conf_parser.c" /* yacc.c:1646  */
6028      break;
6029  
6030 <  case 565:
6031 < /* Line 1787 of yacc.c  */
6380 < #line 2711 "conf_parser.y"
6030 >  case 581:
6031 > #line 2707 "conf_parser.y" /* yacc.c:1646  */
6032      {
6033 <  ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6033 >  ConfigGeneral.oper_umodes |= UMODE_INVISIBLE;
6034   }
6035 + #line 6036 "conf_parser.c" /* yacc.c:1646  */
6036      break;
6037  
6038 <  case 566:
6039 < /* Line 1787 of yacc.c  */
6388 < #line 2714 "conf_parser.y"
6038 >  case 582:
6039 > #line 2710 "conf_parser.y" /* yacc.c:1646  */
6040      {
6041 <  ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6041 >  ConfigGeneral.oper_umodes |= UMODE_WALLOP;
6042   }
6043 + #line 6044 "conf_parser.c" /* yacc.c:1646  */
6044      break;
6045  
6046 <  case 567:
6047 < /* Line 1787 of yacc.c  */
6396 < #line 2717 "conf_parser.y"
6046 >  case 583:
6047 > #line 2713 "conf_parser.y" /* yacc.c:1646  */
6048      {
6049 <  ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6049 >  ConfigGeneral.oper_umodes |= UMODE_SOFTCALLERID;
6050   }
6051 + #line 6052 "conf_parser.c" /* yacc.c:1646  */
6052      break;
6053  
6054 <  case 568:
6055 < /* Line 1787 of yacc.c  */
6404 < #line 2720 "conf_parser.y"
6054 >  case 584:
6055 > #line 2716 "conf_parser.y" /* yacc.c:1646  */
6056      {
6057 <  ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6057 >  ConfigGeneral.oper_umodes |= UMODE_CALLERID;
6058   }
6059 + #line 6060 "conf_parser.c" /* yacc.c:1646  */
6060      break;
6061  
6062 <  case 569:
6063 < /* Line 1787 of yacc.c  */
6412 < #line 2723 "conf_parser.y"
6062 >  case 585:
6063 > #line 2719 "conf_parser.y" /* yacc.c:1646  */
6064      {
6065 <  ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6065 >  ConfigGeneral.oper_umodes |= UMODE_LOCOPS;
6066   }
6067 + #line 6068 "conf_parser.c" /* yacc.c:1646  */
6068      break;
6069  
6070 <  case 570:
6071 < /* Line 1787 of yacc.c  */
6420 < #line 2726 "conf_parser.y"
6070 >  case 586:
6071 > #line 2722 "conf_parser.y" /* yacc.c:1646  */
6072      {
6073 <  ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6073 >  ConfigGeneral.oper_umodes |= UMODE_REGONLY;
6074   }
6075 + #line 6076 "conf_parser.c" /* yacc.c:1646  */
6076      break;
6077  
6078 <  case 571:
6079 < /* Line 1787 of yacc.c  */
6428 < #line 2729 "conf_parser.y"
6078 >  case 587:
6079 > #line 2725 "conf_parser.y" /* yacc.c:1646  */
6080      {
6081 <  ConfigFileEntry.oper_umodes |= UMODE_REGONLY;
6081 >  ConfigGeneral.oper_umodes |= UMODE_FARCONNECT;
6082   }
6083 + #line 6084 "conf_parser.c" /* yacc.c:1646  */
6084      break;
6085  
6086 <  case 572:
6087 < /* Line 1787 of yacc.c  */
6436 < #line 2732 "conf_parser.y"
6086 >  case 588:
6087 > #line 2730 "conf_parser.y" /* yacc.c:1646  */
6088      {
6089 <  ConfigFileEntry.oper_umodes |= UMODE_FARCONNECT;
6089 >  ConfigGeneral.oper_only_umodes = 0;
6090   }
6091 + #line 6092 "conf_parser.c" /* yacc.c:1646  */
6092      break;
6093  
6094 <  case 573:
6095 < /* Line 1787 of yacc.c  */
6444 < #line 2737 "conf_parser.y"
6094 >  case 592:
6095 > #line 2736 "conf_parser.y" /* yacc.c:1646  */
6096      {
6097 <  ConfigFileEntry.oper_only_umodes = 0;
6097 >  ConfigGeneral.oper_only_umodes |= UMODE_BOTS;
6098   }
6099 + #line 6100 "conf_parser.c" /* yacc.c:1646  */
6100      break;
6101  
6102 <  case 577:
6103 < /* Line 1787 of yacc.c  */
6452 < #line 2743 "conf_parser.y"
6102 >  case 593:
6103 > #line 2739 "conf_parser.y" /* yacc.c:1646  */
6104      {
6105 <  ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6105 >  ConfigGeneral.oper_only_umodes |= UMODE_CCONN;
6106   }
6107 + #line 6108 "conf_parser.c" /* yacc.c:1646  */
6108      break;
6109  
6110 <  case 578:
6111 < /* Line 1787 of yacc.c  */
6460 < #line 2746 "conf_parser.y"
6110 >  case 594:
6111 > #line 2742 "conf_parser.y" /* yacc.c:1646  */
6112      {
6113 <  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6113 >  ConfigGeneral.oper_only_umodes |= UMODE_DEAF;
6114   }
6115 + #line 6116 "conf_parser.c" /* yacc.c:1646  */
6116      break;
6117  
6118 <  case 579:
6119 < /* Line 1787 of yacc.c  */
6468 < #line 2749 "conf_parser.y"
6118 >  case 595:
6119 > #line 2745 "conf_parser.y" /* yacc.c:1646  */
6120      {
6121 <  ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6121 >  ConfigGeneral.oper_only_umodes |= UMODE_DEBUG;
6122   }
6123 + #line 6124 "conf_parser.c" /* yacc.c:1646  */
6124      break;
6125  
6126 <  case 580:
6127 < /* Line 1787 of yacc.c  */
6476 < #line 2752 "conf_parser.y"
6126 >  case 596:
6127 > #line 2748 "conf_parser.y" /* yacc.c:1646  */
6128      {
6129 <  ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6129 >  ConfigGeneral.oper_only_umodes |= UMODE_FULL;
6130   }
6131 + #line 6132 "conf_parser.c" /* yacc.c:1646  */
6132      break;
6133  
6134 <  case 581:
6135 < /* Line 1787 of yacc.c  */
6484 < #line 2755 "conf_parser.y"
6485 <    {
6486 <  ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6487 < }
6488 <    break;
6489 <
6490 <  case 582:
6491 < /* Line 1787 of yacc.c  */
6492 < #line 2758 "conf_parser.y"
6134 >  case 597:
6135 > #line 2751 "conf_parser.y" /* yacc.c:1646  */
6136      {
6137 <  ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6137 >  ConfigGeneral.oper_only_umodes |= UMODE_SKILL;
6138   }
6139 + #line 6140 "conf_parser.c" /* yacc.c:1646  */
6140      break;
6141  
6142 <  case 583:
6143 < /* Line 1787 of yacc.c  */
6500 < #line 2761 "conf_parser.y"
6142 >  case 598:
6143 > #line 2754 "conf_parser.y" /* yacc.c:1646  */
6144      {
6145 <  ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6145 >  ConfigGeneral.oper_only_umodes |= UMODE_HIDDEN;
6146   }
6147 + #line 6148 "conf_parser.c" /* yacc.c:1646  */
6148      break;
6149  
6150 <  case 584:
6151 < /* Line 1787 of yacc.c  */
6508 < #line 2764 "conf_parser.y"
6150 >  case 599:
6151 > #line 2757 "conf_parser.y" /* yacc.c:1646  */
6152      {
6153 <  ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6153 >  ConfigGeneral.oper_only_umodes |= UMODE_NCHANGE;
6154   }
6155 + #line 6156 "conf_parser.c" /* yacc.c:1646  */
6156      break;
6157  
6158 <  case 585:
6159 < /* Line 1787 of yacc.c  */
6516 < #line 2767 "conf_parser.y"
6158 >  case 600:
6159 > #line 2760 "conf_parser.y" /* yacc.c:1646  */
6160      {
6161 <  ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6161 >  ConfigGeneral.oper_only_umodes |= UMODE_REJ;
6162   }
6163 + #line 6164 "conf_parser.c" /* yacc.c:1646  */
6164      break;
6165  
6166 <  case 586:
6167 < /* Line 1787 of yacc.c  */
6524 < #line 2770 "conf_parser.y"
6166 >  case 601:
6167 > #line 2763 "conf_parser.y" /* yacc.c:1646  */
6168      {
6169 <  ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6169 >  ConfigGeneral.oper_only_umodes |= UMODE_UNAUTH;
6170   }
6171 + #line 6172 "conf_parser.c" /* yacc.c:1646  */
6172      break;
6173  
6174 <  case 587:
6175 < /* Line 1787 of yacc.c  */
6532 < #line 2773 "conf_parser.y"
6174 >  case 602:
6175 > #line 2766 "conf_parser.y" /* yacc.c:1646  */
6176      {
6177 <  ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6177 >  ConfigGeneral.oper_only_umodes |= UMODE_SPY;
6178   }
6179 + #line 6180 "conf_parser.c" /* yacc.c:1646  */
6180      break;
6181  
6182 <  case 588:
6183 < /* Line 1787 of yacc.c  */
6540 < #line 2776 "conf_parser.y"
6182 >  case 603:
6183 > #line 2769 "conf_parser.y" /* yacc.c:1646  */
6184      {
6185 <  ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6185 >  ConfigGeneral.oper_only_umodes |= UMODE_EXTERNAL;
6186   }
6187 + #line 6188 "conf_parser.c" /* yacc.c:1646  */
6188      break;
6189  
6190 <  case 589:
6191 < /* Line 1787 of yacc.c  */
6548 < #line 2779 "conf_parser.y"
6190 >  case 604:
6191 > #line 2772 "conf_parser.y" /* yacc.c:1646  */
6192      {
6193 <  ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6193 >  ConfigGeneral.oper_only_umodes |= UMODE_SERVNOTICE;
6194   }
6195 + #line 6196 "conf_parser.c" /* yacc.c:1646  */
6196      break;
6197  
6198 <  case 590:
6199 < /* Line 1787 of yacc.c  */
6556 < #line 2782 "conf_parser.y"
6198 >  case 605:
6199 > #line 2775 "conf_parser.y" /* yacc.c:1646  */
6200      {
6201 <  ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6201 >  ConfigGeneral.oper_only_umodes |= UMODE_INVISIBLE;
6202   }
6203 + #line 6204 "conf_parser.c" /* yacc.c:1646  */
6204      break;
6205  
6206 <  case 591:
6207 < /* Line 1787 of yacc.c  */
6564 < #line 2785 "conf_parser.y"
6206 >  case 606:
6207 > #line 2778 "conf_parser.y" /* yacc.c:1646  */
6208      {
6209 <  ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6209 >  ConfigGeneral.oper_only_umodes |= UMODE_WALLOP;
6210   }
6211 + #line 6212 "conf_parser.c" /* yacc.c:1646  */
6212      break;
6213  
6214 <  case 592:
6215 < /* Line 1787 of yacc.c  */
6572 < #line 2788 "conf_parser.y"
6214 >  case 607:
6215 > #line 2781 "conf_parser.y" /* yacc.c:1646  */
6216      {
6217 <  ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6217 >  ConfigGeneral.oper_only_umodes |= UMODE_SOFTCALLERID;
6218   }
6219 + #line 6220 "conf_parser.c" /* yacc.c:1646  */
6220      break;
6221  
6222 <  case 593:
6223 < /* Line 1787 of yacc.c  */
6580 < #line 2791 "conf_parser.y"
6222 >  case 608:
6223 > #line 2784 "conf_parser.y" /* yacc.c:1646  */
6224      {
6225 <  ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6225 >  ConfigGeneral.oper_only_umodes |= UMODE_CALLERID;
6226   }
6227 + #line 6228 "conf_parser.c" /* yacc.c:1646  */
6228      break;
6229  
6230 <  case 594:
6231 < /* Line 1787 of yacc.c  */
6588 < #line 2794 "conf_parser.y"
6230 >  case 609:
6231 > #line 2787 "conf_parser.y" /* yacc.c:1646  */
6232      {
6233 <  ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6233 >  ConfigGeneral.oper_only_umodes |= UMODE_LOCOPS;
6234   }
6235 + #line 6236 "conf_parser.c" /* yacc.c:1646  */
6236      break;
6237  
6238 <  case 595:
6239 < /* Line 1787 of yacc.c  */
6596 < #line 2797 "conf_parser.y"
6238 >  case 610:
6239 > #line 2790 "conf_parser.y" /* yacc.c:1646  */
6240      {
6241 <  ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6241 >  ConfigGeneral.oper_only_umodes |= UMODE_REGONLY;
6242   }
6243 + #line 6244 "conf_parser.c" /* yacc.c:1646  */
6244      break;
6245  
6246 <  case 596:
6247 < /* Line 1787 of yacc.c  */
6604 < #line 2800 "conf_parser.y"
6246 >  case 611:
6247 > #line 2793 "conf_parser.y" /* yacc.c:1646  */
6248      {
6249 <  ConfigFileEntry.oper_only_umodes |= UMODE_REGONLY;
6249 >  ConfigGeneral.oper_only_umodes |= UMODE_FARCONNECT;
6250   }
6251 + #line 6252 "conf_parser.c" /* yacc.c:1646  */
6252      break;
6253  
6254 <  case 597:
6255 < /* Line 1787 of yacc.c  */
6612 < #line 2803 "conf_parser.y"
6254 >  case 612:
6255 > #line 2798 "conf_parser.y" /* yacc.c:1646  */
6256      {
6257 <  ConfigFileEntry.oper_only_umodes |= UMODE_FARCONNECT;
6257 >  ConfigGeneral.min_nonwildcard = (yyvsp[-1].number);
6258   }
6259 + #line 6260 "conf_parser.c" /* yacc.c:1646  */
6260      break;
6261  
6262 <  case 598:
6263 < /* Line 1787 of yacc.c  */
6620 < #line 2808 "conf_parser.y"
6262 >  case 613:
6263 > #line 2803 "conf_parser.y" /* yacc.c:1646  */
6264      {
6265 <  ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6265 >  ConfigGeneral.min_nonwildcard_simple = (yyvsp[-1].number);
6266   }
6267 + #line 6268 "conf_parser.c" /* yacc.c:1646  */
6268      break;
6269  
6270 <  case 599:
6271 < /* Line 1787 of yacc.c  */
6628 < #line 2813 "conf_parser.y"
6270 >  case 614:
6271 > #line 2808 "conf_parser.y" /* yacc.c:1646  */
6272      {
6273 <  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6273 >  ConfigGeneral.default_floodcount = (yyvsp[-1].number);
6274   }
6275 + #line 6276 "conf_parser.c" /* yacc.c:1646  */
6276      break;
6277  
6278 <  case 600:
6279 < /* Line 1787 of yacc.c  */
6636 < #line 2818 "conf_parser.y"
6278 >  case 630:
6279 > #line 2833 "conf_parser.y" /* yacc.c:1646  */
6280      {
6281 <  ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6281 >  ConfigChannel.disable_fake_channels = yylval.number;
6282   }
6283 + #line 6284 "conf_parser.c" /* yacc.c:1646  */
6284      break;
6285  
6286 <  case 617:
6287 < /* Line 1787 of yacc.c  */
6644 < #line 2841 "conf_parser.y"
6286 >  case 631:
6287 > #line 2838 "conf_parser.y" /* yacc.c:1646  */
6288      {
6289 <  ConfigChannel.disable_fake_channels = yylval.number;
6289 >  ConfigChannel.invite_client_count = (yyvsp[-1].number);
6290   }
6291 + #line 6292 "conf_parser.c" /* yacc.c:1646  */
6292      break;
6293  
6294 <  case 618:
6295 < /* Line 1787 of yacc.c  */
6652 < #line 2846 "conf_parser.y"
6294 >  case 632:
6295 > #line 2843 "conf_parser.y" /* yacc.c:1646  */
6296      {
6297 <  ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6297 >  ConfigChannel.invite_client_time = (yyvsp[-1].number);
6298   }
6299 + #line 6300 "conf_parser.c" /* yacc.c:1646  */
6300      break;
6301  
6302 <  case 619:
6303 < /* Line 1787 of yacc.c  */
6660 < #line 2851 "conf_parser.y"
6302 >  case 633:
6303 > #line 2848 "conf_parser.y" /* yacc.c:1646  */
6304      {
6305 <  ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6305 >  ConfigChannel.invite_delay_channel = (yyvsp[-1].number);
6306   }
6307 + #line 6308 "conf_parser.c" /* yacc.c:1646  */
6308      break;
6309  
6310 <  case 620:
6311 < /* Line 1787 of yacc.c  */
6668 < #line 2856 "conf_parser.y"
6310 >  case 634:
6311 > #line 2853 "conf_parser.y" /* yacc.c:1646  */
6312      {
6313 <  ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6313 >  ConfigChannel.knock_client_count = (yyvsp[-1].number);
6314   }
6315 + #line 6316 "conf_parser.c" /* yacc.c:1646  */
6316      break;
6317  
6318 <  case 621:
6319 < /* Line 1787 of yacc.c  */
6676 < #line 2861 "conf_parser.y"
6318 >  case 635:
6319 > #line 2858 "conf_parser.y" /* yacc.c:1646  */
6320      {
6321 <  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6321 >  ConfigChannel.knock_client_time = (yyvsp[-1].number);
6322   }
6323 + #line 6324 "conf_parser.c" /* yacc.c:1646  */
6324      break;
6325  
6326 <  case 622:
6327 < /* Line 1787 of yacc.c  */
6684 < #line 2866 "conf_parser.y"
6326 >  case 636:
6327 > #line 2863 "conf_parser.y" /* yacc.c:1646  */
6328      {
6329 <  ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6329 >  ConfigChannel.knock_delay_channel = (yyvsp[-1].number);
6330   }
6331 + #line 6332 "conf_parser.c" /* yacc.c:1646  */
6332      break;
6333  
6334 <  case 623:
6335 < /* Line 1787 of yacc.c  */
6692 < #line 2871 "conf_parser.y"
6334 >  case 637:
6335 > #line 2868 "conf_parser.y" /* yacc.c:1646  */
6336      {
6337 <  ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6337 >  ConfigChannel.max_channels = (yyvsp[-1].number);
6338   }
6339 + #line 6340 "conf_parser.c" /* yacc.c:1646  */
6340      break;
6341  
6342 <  case 624:
6343 < /* Line 1787 of yacc.c  */
6700 < #line 2876 "conf_parser.y"
6342 >  case 638:
6343 > #line 2873 "conf_parser.y" /* yacc.c:1646  */
6344      {
6345 <  ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6345 >  ConfigChannel.max_bans = (yyvsp[-1].number);
6346   }
6347 + #line 6348 "conf_parser.c" /* yacc.c:1646  */
6348      break;
6349  
6350 <  case 625:
6351 < /* Line 1787 of yacc.c  */
6708 < #line 2881 "conf_parser.y"
6350 >  case 639:
6351 > #line 2878 "conf_parser.y" /* yacc.c:1646  */
6352      {
6353 <  ConfigChannel.no_create_on_split = yylval.number;
6353 >  ConfigChannel.default_join_flood_count = yylval.number;
6354   }
6355 + #line 6356 "conf_parser.c" /* yacc.c:1646  */
6356      break;
6357  
6358 <  case 626:
6359 < /* Line 1787 of yacc.c  */
6716 < #line 2886 "conf_parser.y"
6358 >  case 640:
6359 > #line 2883 "conf_parser.y" /* yacc.c:1646  */
6360      {
6361 <  ConfigChannel.no_join_on_split = yylval.number;
6361 >  ConfigChannel.default_join_flood_time = (yyvsp[-1].number);
6362   }
6363 + #line 6364 "conf_parser.c" /* yacc.c:1646  */
6364      break;
6365  
6366 <  case 627:
6367 < /* Line 1787 of yacc.c  */
6724 < #line 2891 "conf_parser.y"
6366 >  case 654:
6367 > #line 2906 "conf_parser.y" /* yacc.c:1646  */
6368      {
6369 <  GlobalSetOptions.joinfloodcount = yylval.number;
6369 >  if (conf_parser_ctx.pass == 2)
6370 >    ConfigServerHide.flatten_links = yylval.number;
6371   }
6372 + #line 6373 "conf_parser.c" /* yacc.c:1646  */
6373      break;
6374  
6375 <  case 628:
6376 < /* Line 1787 of yacc.c  */
6377 < #line 2896 "conf_parser.y"
6375 >  case 655:
6376 > #line 2912 "conf_parser.y" /* yacc.c:1646  */
6377 >    {
6378 >  if (conf_parser_ctx.pass == 2)
6379 >  {
6380 >    if ((yyvsp[-1].number) > 0)
6381      {
6382 <  GlobalSetOptions.joinfloodtime = yylval.number;
6382 >      event_write_links_file.when = (yyvsp[-1].number);
6383 >      event_add(&event_write_links_file, NULL);
6384 >    }
6385 >    else
6386 >     event_delete(&event_write_links_file);
6387 >
6388 >    ConfigServerHide.flatten_links_delay = (yyvsp[-1].number);
6389 >  }
6390   }
6391 + #line 6392 "conf_parser.c" /* yacc.c:1646  */
6392      break;
6393  
6394 <  case 641:
6395 < /* Line 1787 of yacc.c  */
6740 < #line 2916 "conf_parser.y"
6394 >  case 656:
6395 > #line 2928 "conf_parser.y" /* yacc.c:1646  */
6396      {
6397    if (conf_parser_ctx.pass == 2)
6398 <    ConfigServerHide.flatten_links = yylval.number;
6398 >  {
6399 >    xfree(ConfigServerHide.flatten_links_file);
6400 >    ConfigServerHide.flatten_links_file = xstrdup(yylval.string);
6401 >  }
6402   }
6403 + #line 6404 "conf_parser.c" /* yacc.c:1646  */
6404      break;
6405  
6406 <  case 642:
6407 < /* Line 1787 of yacc.c  */
6749 < #line 2922 "conf_parser.y"
6406 >  case 657:
6407 > #line 2937 "conf_parser.y" /* yacc.c:1646  */
6408      {
6409    if (conf_parser_ctx.pass == 2)
6410      ConfigServerHide.disable_remote_commands = yylval.number;
6411   }
6412 + #line 6413 "conf_parser.c" /* yacc.c:1646  */
6413      break;
6414  
6415 <  case 643:
6416 < /* Line 1787 of yacc.c  */
6758 < #line 2928 "conf_parser.y"
6415 >  case 658:
6416 > #line 2943 "conf_parser.y" /* yacc.c:1646  */
6417      {
6418    if (conf_parser_ctx.pass == 2)
6419      ConfigServerHide.hide_servers = yylval.number;
6420   }
6421 + #line 6422 "conf_parser.c" /* yacc.c:1646  */
6422      break;
6423  
6424 <  case 644:
6425 < /* Line 1787 of yacc.c  */
6767 < #line 2934 "conf_parser.y"
6424 >  case 659:
6425 > #line 2949 "conf_parser.y" /* yacc.c:1646  */
6426      {
6427    if (conf_parser_ctx.pass == 2)
6428      ConfigServerHide.hide_services = yylval.number;
6429   }
6430 + #line 6431 "conf_parser.c" /* yacc.c:1646  */
6431      break;
6432  
6433 <  case 645:
6434 < /* Line 1787 of yacc.c  */
6776 < #line 2940 "conf_parser.y"
6433 >  case 660:
6434 > #line 2955 "conf_parser.y" /* yacc.c:1646  */
6435      {
6436    if (conf_parser_ctx.pass == 2)
6437    {
6438 <    MyFree(ConfigServerHide.hidden_name);
6438 >    xfree(ConfigServerHide.hidden_name);
6439      ConfigServerHide.hidden_name = xstrdup(yylval.string);
6440    }
6441   }
6442 + #line 6443 "conf_parser.c" /* yacc.c:1646  */
6443      break;
6444  
6445 <  case 646:
6446 < /* Line 1787 of yacc.c  */
6788 < #line 2949 "conf_parser.y"
6789 <    {
6790 <  if (conf_parser_ctx.pass == 2)
6791 <  {
6792 <    if (((yyvsp[(3) - (4)].number) > 0) && ConfigServerHide.links_disabled == 1)
6793 <    {
6794 <      eventAddIsh("write_links_file", write_links_file, NULL, (yyvsp[(3) - (4)].number));
6795 <      ConfigServerHide.links_disabled = 0;
6796 <    }
6797 <
6798 <    ConfigServerHide.links_delay = (yyvsp[(3) - (4)].number);
6799 <  }
6800 < }
6801 <    break;
6802 <
6803 <  case 647:
6804 < /* Line 1787 of yacc.c  */
6805 < #line 2963 "conf_parser.y"
6445 >  case 661:
6446 > #line 2964 "conf_parser.y" /* yacc.c:1646  */
6447      {
6448    if (conf_parser_ctx.pass == 2)
6449      ConfigServerHide.hidden = yylval.number;
6450   }
6451 + #line 6452 "conf_parser.c" /* yacc.c:1646  */
6452      break;
6453  
6454 <  case 648:
6455 < /* Line 1787 of yacc.c  */
6814 < #line 2969 "conf_parser.y"
6454 >  case 662:
6455 > #line 2970 "conf_parser.y" /* yacc.c:1646  */
6456      {
6457    if (conf_parser_ctx.pass == 2)
6458      ConfigServerHide.hide_server_ips = yylval.number;
6459   }
6460 + #line 6461 "conf_parser.c" /* yacc.c:1646  */
6461      break;
6462  
6463  
6464 < /* Line 1787 of yacc.c  */
6823 < #line 6824 "conf_parser.c"
6464 > #line 6465 "conf_parser.c" /* yacc.c:1646  */
6465        default: break;
6466      }
6467    /* User semantic actions sometimes alter yychar, and that requires
# Line 6842 | Line 6483 | yyreduce:
6483  
6484    *++yyvsp = yyval;
6485  
6486 <  /* Now `shift' the result of the reduction.  Determine what state
6486 >  /* Now 'shift' the result of the reduction.  Determine what state
6487       that goes to, based on the state we popped back to and the rule
6488       number reduced by.  */
6489  
# Line 6857 | Line 6498 | yyreduce:
6498    goto yynewstate;
6499  
6500  
6501 < /*------------------------------------.
6502 < | yyerrlab -- here on detecting error |
6503 < `------------------------------------*/
6501 > /*--------------------------------------.
6502 > | yyerrlab -- here on detecting error.  |
6503 > `--------------------------------------*/
6504   yyerrlab:
6505    /* Make sure we have latest lookahead translation.  See comments at
6506       user semantic actions for why this is necessary.  */
# Line 6910 | Line 6551 | yyerrlab:
6551    if (yyerrstatus == 3)
6552      {
6553        /* If just tried and failed to reuse lookahead token after an
6554 <         error, discard it.  */
6554 >         error, discard it.  */
6555  
6556        if (yychar <= YYEOF)
6557 <        {
6558 <          /* Return failure if at end of input.  */
6559 <          if (yychar == YYEOF)
6560 <            YYABORT;
6561 <        }
6557 >        {
6558 >          /* Return failure if at end of input.  */
6559 >          if (yychar == YYEOF)
6560 >            YYABORT;
6561 >        }
6562        else
6563 <        {
6564 <          yydestruct ("Error: discarding",
6565 <                      yytoken, &yylval);
6566 <          yychar = YYEMPTY;
6567 <        }
6563 >        {
6564 >          yydestruct ("Error: discarding",
6565 >                      yytoken, &yylval);
6566 >          yychar = YYEMPTY;
6567 >        }
6568      }
6569  
6570    /* Else will try to reuse lookahead token after shifting the error
# Line 6942 | Line 6583 | yyerrorlab:
6583    if (/*CONSTCOND*/ 0)
6584       goto yyerrorlab;
6585  
6586 <  /* Do not reclaim the symbols of the rule which action triggered
6586 >  /* Do not reclaim the symbols of the rule whose action triggered
6587       this YYERROR.  */
6588    YYPOPSTACK (yylen);
6589    yylen = 0;
# Line 6955 | Line 6596 | yyerrorlab:
6596   | yyerrlab1 -- common code for both syntax error and YYERROR.  |
6597   `-------------------------------------------------------------*/
6598   yyerrlab1:
6599 <  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
6599 >  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
6600  
6601    for (;;)
6602      {
6603        yyn = yypact[yystate];
6604        if (!yypact_value_is_default (yyn))
6605 <        {
6606 <          yyn += YYTERROR;
6607 <          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6608 <            {
6609 <              yyn = yytable[yyn];
6610 <              if (0 < yyn)
6611 <                break;
6612 <            }
6613 <        }
6605 >        {
6606 >          yyn += YYTERROR;
6607 >          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6608 >            {
6609 >              yyn = yytable[yyn];
6610 >              if (0 < yyn)
6611 >                break;
6612 >            }
6613 >        }
6614  
6615        /* Pop the current state because it cannot handle the error token.  */
6616        if (yyssp == yyss)
6617 <        YYABORT;
6617 >        YYABORT;
6618  
6619  
6620        yydestruct ("Error: popping",
6621 <                  yystos[yystate], yyvsp);
6621 >                  yystos[yystate], yyvsp);
6622        YYPOPSTACK (1);
6623        yystate = *yyssp;
6624        YY_STACK_PRINT (yyss, yyssp);
# Line 7028 | Line 6669 | yyreturn:
6669        yydestruct ("Cleanup: discarding lookahead",
6670                    yytoken, &yylval);
6671      }
6672 <  /* Do not reclaim the symbols of the rule which action triggered
6672 >  /* Do not reclaim the symbols of the rule whose action triggered
6673       this YYABORT or YYACCEPT.  */
6674    YYPOPSTACK (yylen);
6675    YY_STACK_PRINT (yyss, yyssp);
6676    while (yyssp != yyss)
6677      {
6678        yydestruct ("Cleanup: popping",
6679 <                  yystos[*yyssp], yyvsp);
6679 >                  yystos[*yyssp], yyvsp);
6680        YYPOPSTACK (1);
6681      }
6682   #ifndef yyoverflow
# Line 7046 | Line 6687 | yyreturn:
6687    if (yymsg != yymsgbuf)
6688      YYSTACK_FREE (yymsg);
6689   #endif
6690 <  /* Make sure YYID is used.  */
7050 <  return YYID (yyresult);
6690 >  return yyresult;
6691   }
7052
7053

Diff Legend

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