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 5416 by michael, Sun Jan 25 17:43:08 2015 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  
68   #define YY_NO_UNPUT
# Line 76 | Line 75
75   #include "list.h"
76   #include "conf.h"
77   #include "conf_class.h"
78 + #include "conf_pseudo.h"
79   #include "event.h"
80   #include "log.h"
81   #include "client.h"     /* for UMODE_ALL 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
# Line 104 | Line 104 | int yylex(void);
104  
105   static struct
106   {
107 <  struct {
107 >  struct
108 >  {
109      dlink_list list;
110    } mask,
111      leaf,
112      hub;
113  
114 <  struct {
114 >  struct
115 >  {
116      char buf[IRCD_BUFSIZE];
117    } name,
118 +    nick,
119      user,
120      host,
121      addr,
# Line 122 | Line 125 | static struct
125      cert,
126      rpass,
127      spass,
128 <    class;
128 >    class,
129 >    target,
130 >    prepend,
131 >    command;
132  
133 <  struct {
133 >  struct
134 >  {
135      unsigned int value;
136    } flags,
137      modes,
# Line 143 | Line 150 | static struct
150      max_ident,
151      max_sendq,
152      max_recvq,
153 +    max_channels,
154      cidr_bitlen_ipv4,
155      cidr_bitlen_ipv6,
156      number_per_cidr;
# Line 151 | Line 159 | static struct
159   static void
160   reset_block_state(void)
161   {
162 <  dlink_node *ptr = NULL, *ptr_next = NULL;
162 >  dlink_node *node = NULL, *node_next = NULL;
163  
164 <  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.mask.list.head)
164 >  DLINK_FOREACH_SAFE(node, node_next, block_state.mask.list.head)
165    {
166 <    MyFree(ptr->data);
167 <    dlinkDelete(ptr, &block_state.mask.list);
168 <    free_dlink_node(ptr);
166 >    MyFree(node->data);
167 >    dlinkDelete(node, &block_state.mask.list);
168 >    free_dlink_node(node);
169    }
170  
171 <  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.leaf.list.head)
171 >  DLINK_FOREACH_SAFE(node, node_next, block_state.leaf.list.head)
172    {
173 <    MyFree(ptr->data);
174 <    dlinkDelete(ptr, &block_state.leaf.list);
175 <    free_dlink_node(ptr);
173 >    MyFree(node->data);
174 >    dlinkDelete(node, &block_state.leaf.list);
175 >    free_dlink_node(node);
176    }
177  
178 <  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.hub.list.head)
178 >  DLINK_FOREACH_SAFE(node, node_next, block_state.hub.list.head)
179    {
180 <    MyFree(ptr->data);
181 <    dlinkDelete(ptr, &block_state.hub.list);
182 <    free_dlink_node(ptr);
180 >    MyFree(node->data);
181 >    dlinkDelete(node, &block_state.hub.list);
182 >    free_dlink_node(node);
183    }
184  
185    memset(&block_state, 0, sizeof(block_state));
186   }
187  
188  
189 < /* Line 371 of yacc.c  */
182 < #line 183 "conf_parser.c"
189 > #line 190 "conf_parser.c" /* yacc.c:339  */
190  
191 < # ifndef YY_NULL
191 > # ifndef YY_NULLPTR
192   #  if defined __cplusplus && 201103L <= __cplusplus
193 < #   define YY_NULL nullptr
193 > #   define YY_NULLPTR nullptr
194   #  else
195 < #   define YY_NULL 0
195 > #   define YY_NULLPTR 0
196   #  endif
197   # endif
198  
# Line 201 | Line 208 | reset_block_state(void)
208     by #include "y.tab.h".  */
209   #ifndef YY_YY_CONF_PARSER_H_INCLUDED
210   # define YY_YY_CONF_PARSER_H_INCLUDED
211 < /* Enabling traces.  */
211 > /* Debug traces.  */
212   #ifndef YYDEBUG
213   # define YYDEBUG 0
214   #endif
# Line 209 | Line 216 | reset_block_state(void)
216   extern int yydebug;
217   #endif
218  
219 < /* Tokens.  */
219 > /* Token type.  */
220   #ifndef YYTOKENTYPE
221   # define YYTOKENTYPE
222 <   /* Put the tokens into the symbol table, so that GDB and other debuggers
223 <      know about them.  */
224 <   enum yytokentype {
225 <     ACCEPT_PASSWORD = 258,
226 <     ADMIN = 259,
227 <     AFTYPE = 260,
228 <     ANTI_NICK_FLOOD = 261,
229 <     ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
230 <     AUTOCONN = 263,
231 <     BYTES = 264,
232 <     KBYTES = 265,
233 <     MBYTES = 266,
234 <     CALLER_ID_WAIT = 267,
235 <     CAN_FLOOD = 268,
236 <     CHANNEL = 269,
237 <     CIDR_BITLEN_IPV4 = 270,
238 <     CIDR_BITLEN_IPV6 = 271,
239 <     CLASS = 272,
240 <     CONNECT = 273,
241 <     CONNECTFREQ = 274,
242 <     DEFAULT_FLOODCOUNT = 275,
243 <     DEFAULT_SPLIT_SERVER_COUNT = 276,
244 <     DEFAULT_SPLIT_USER_COUNT = 277,
245 <     DENY = 278,
246 <     DESCRIPTION = 279,
247 <     DIE = 280,
248 <     DISABLE_AUTH = 281,
249 <     DISABLE_FAKE_CHANNELS = 282,
250 <     DISABLE_REMOTE_COMMANDS = 283,
251 <     DOTS_IN_IDENT = 284,
252 <     EGDPOOL_PATH = 285,
253 <     EMAIL = 286,
254 <     ENCRYPTED = 287,
255 <     EXCEED_LIMIT = 288,
256 <     EXEMPT = 289,
257 <     FAILED_OPER_NOTICE = 290,
258 <     FLATTEN_LINKS = 291,
259 <     GECOS = 292,
260 <     GENERAL = 293,
261 <     GLINE = 294,
262 <     GLINE_DURATION = 295,
263 <     GLINE_ENABLE = 296,
264 <     GLINE_EXEMPT = 297,
265 <     GLINE_MIN_CIDR = 298,
266 <     GLINE_MIN_CIDR6 = 299,
267 <     GLINE_REQUEST_DURATION = 300,
268 <     GLOBAL_KILL = 301,
269 <     HAVENT_READ_CONF = 302,
270 <     HIDDEN = 303,
271 <     HIDDEN_NAME = 304,
272 <     HIDE_IDLE_FROM_OPERS = 305,
273 <     HIDE_SERVER_IPS = 306,
274 <     HIDE_SERVERS = 307,
275 <     HIDE_SERVICES = 308,
276 <     HIDE_SPOOF_IPS = 309,
277 <     HOST = 310,
278 <     HUB = 311,
279 <     HUB_MASK = 312,
280 <     IGNORE_BOGUS_TS = 313,
281 <     INVISIBLE_ON_CONNECT = 314,
282 <     IP = 315,
283 <     IRCD_AUTH = 316,
284 <     IRCD_FLAGS = 317,
285 <     IRCD_SID = 318,
286 <     JOIN_FLOOD_COUNT = 319,
287 <     JOIN_FLOOD_TIME = 320,
288 <     KILL = 321,
289 <     KILL_CHASE_TIME_LIMIT = 322,
290 <     KLINE = 323,
291 <     KLINE_EXEMPT = 324,
292 <     KNOCK_DELAY = 325,
293 <     KNOCK_DELAY_CHANNEL = 326,
294 <     LEAF_MASK = 327,
295 <     LINKS_DELAY = 328,
296 <     LISTEN = 329,
297 <     MASK = 330,
298 <     MAX_ACCEPT = 331,
299 <     MAX_BANS = 332,
300 <     MAX_CHANS_PER_OPER = 333,
301 <     MAX_CHANS_PER_USER = 334,
302 <     MAX_GLOBAL = 335,
303 <     MAX_IDENT = 336,
304 <     MAX_IDLE = 337,
305 <     MAX_LOCAL = 338,
306 <     MAX_NICK_CHANGES = 339,
307 <     MAX_NICK_LENGTH = 340,
308 <     MAX_NICK_TIME = 341,
309 <     MAX_NUMBER = 342,
310 <     MAX_TARGETS = 343,
311 <     MAX_TOPIC_LENGTH = 344,
312 <     MAX_WATCH = 345,
313 <     MIN_IDLE = 346,
314 <     MIN_NONWILDCARD = 347,
315 <     MIN_NONWILDCARD_SIMPLE = 348,
316 <     MODULE = 349,
317 <     MODULES = 350,
318 <     MOTD = 351,
319 <     NAME = 352,
320 <     NEED_IDENT = 353,
321 <     NEED_PASSWORD = 354,
322 <     NETWORK_DESC = 355,
323 <     NETWORK_NAME = 356,
324 <     NICK = 357,
325 <     NO_CREATE_ON_SPLIT = 358,
326 <     NO_JOIN_ON_SPLIT = 359,
327 <     NO_OPER_FLOOD = 360,
328 <     NO_TILDE = 361,
329 <     NUMBER = 362,
330 <     NUMBER_PER_CIDR = 363,
331 <     NUMBER_PER_IP = 364,
332 <     OPER_ONLY_UMODES = 365,
333 <     OPER_PASS_RESV = 366,
334 <     OPER_UMODES = 367,
335 <     OPERATOR = 368,
336 <     OPERS_BYPASS_CALLERID = 369,
337 <     PACE_WAIT = 370,
338 <     PACE_WAIT_SIMPLE = 371,
339 <     PASSWORD = 372,
340 <     PATH = 373,
341 <     PING_COOKIE = 374,
342 <     PING_TIME = 375,
343 <     PORT = 376,
344 <     QSTRING = 377,
345 <     RANDOM_IDLE = 378,
346 <     REASON = 379,
347 <     REDIRPORT = 380,
348 <     REDIRSERV = 381,
349 <     REHASH = 382,
350 <     REMOTE = 383,
351 <     REMOTEBAN = 384,
352 <     RESV = 385,
353 <     RESV_EXEMPT = 386,
354 <     RSA_PRIVATE_KEY_FILE = 387,
355 <     RSA_PUBLIC_KEY_FILE = 388,
356 <     SECONDS = 389,
357 <     MINUTES = 390,
358 <     HOURS = 391,
359 <     DAYS = 392,
360 <     WEEKS = 393,
361 <     MONTHS = 394,
362 <     YEARS = 395,
363 <     SEND_PASSWORD = 396,
364 <     SENDQ = 397,
365 <     SERVERHIDE = 398,
366 <     SERVERINFO = 399,
367 <     SHORT_MOTD = 400,
368 <     SPOOF = 401,
369 <     SPOOF_NOTICE = 402,
370 <     SQUIT = 403,
371 <     SSL_CERTIFICATE_FILE = 404,
372 <     SSL_DH_PARAM_FILE = 405,
373 <     STATS_E_DISABLED = 406,
374 <     STATS_I_OPER_ONLY = 407,
375 <     STATS_K_OPER_ONLY = 408,
376 <     STATS_O_OPER_ONLY = 409,
377 <     STATS_P_OPER_ONLY = 410,
378 <     T_ALL = 411,
379 <     T_BOTS = 412,
380 <     T_CALLERID = 413,
381 <     T_CCONN = 414,
382 <     T_CLUSTER = 415,
383 <     T_DEAF = 416,
384 <     T_DEBUG = 417,
385 <     T_DLINE = 418,
386 <     T_EXTERNAL = 419,
387 <     T_FARCONNECT = 420,
388 <     T_FILE = 421,
389 <     T_FINGERPRINT = 422,
390 <     T_FULL = 423,
391 <     T_GLOBOPS = 424,
392 <     T_INVISIBLE = 425,
393 <     T_IPV4 = 426,
394 <     T_IPV6 = 427,
395 <     T_LOCOPS = 428,
396 <     T_LOG = 429,
397 <     T_MAX_CLIENTS = 430,
398 <     T_NCHANGE = 431,
399 <     T_NONONREG = 432,
400 <     T_OPERWALL = 433,
401 <     T_RECVQ = 434,
402 <     T_REJ = 435,
403 <     T_RESTART = 436,
404 <     T_SERVER = 437,
405 <     T_SERVICE = 438,
406 <     T_SERVICES_NAME = 439,
407 <     T_SERVNOTICE = 440,
408 <     T_SET = 441,
409 <     T_SHARED = 442,
410 <     T_SIZE = 443,
411 <     T_SKILL = 444,
412 <     T_SOFTCALLERID = 445,
413 <     T_SPY = 446,
414 <     T_SSL = 447,
415 <     T_SSL_CIPHER_LIST = 448,
416 <     T_SSL_CLIENT_METHOD = 449,
417 <     T_SSL_SERVER_METHOD = 450,
418 <     T_SSLV3 = 451,
419 <     T_TLSV1 = 452,
420 <     T_UMODES = 453,
421 <     T_UNAUTH = 454,
422 <     T_UNDLINE = 455,
423 <     T_UNLIMITED = 456,
424 <     T_UNRESV = 457,
425 <     T_UNXLINE = 458,
426 <     T_WALLOP = 459,
427 <     T_WALLOPS = 460,
428 <     T_WEBIRC = 461,
429 <     TBOOL = 462,
430 <     THROTTLE_TIME = 463,
431 <     TKLINE_EXPIRE_NOTICES = 464,
432 <     TMASKED = 465,
433 <     TRUE_NO_OPER_FLOOD = 466,
434 <     TS_MAX_DELTA = 467,
435 <     TS_WARN_DELTA = 468,
436 <     TWODOTS = 469,
437 <     TYPE = 470,
438 <     UNKLINE = 471,
439 <     USE_EGD = 472,
440 <     USE_LOGGING = 473,
441 <     USER = 474,
442 <     VHOST = 475,
443 <     VHOST6 = 476,
444 <     WARN_NO_NLINE = 477,
445 <     XLINE = 478
446 <   };
222 >  enum yytokentype
223 >  {
224 >    ACCEPT_PASSWORD = 258,
225 >    ADMIN = 259,
226 >    AFTYPE = 260,
227 >    ANTI_NICK_FLOOD = 261,
228 >    ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
229 >    AUTOCONN = 263,
230 >    AWAY_COUNT = 264,
231 >    AWAY_TIME = 265,
232 >    BYTES = 266,
233 >    KBYTES = 267,
234 >    MBYTES = 268,
235 >    CALLER_ID_WAIT = 269,
236 >    CAN_FLOOD = 270,
237 >    CHANNEL = 271,
238 >    CIDR_BITLEN_IPV4 = 272,
239 >    CIDR_BITLEN_IPV6 = 273,
240 >    CLASS = 274,
241 >    CONNECT = 275,
242 >    CONNECTFREQ = 276,
243 >    CYCLE_ON_HOST_CHANGE = 277,
244 >    DEFAULT_FLOODCOUNT = 278,
245 >    DEFAULT_SPLIT_SERVER_COUNT = 279,
246 >    DEFAULT_SPLIT_USER_COUNT = 280,
247 >    DENY = 281,
248 >    DESCRIPTION = 282,
249 >    DIE = 283,
250 >    DISABLE_AUTH = 284,
251 >    DISABLE_FAKE_CHANNELS = 285,
252 >    DISABLE_REMOTE_COMMANDS = 286,
253 >    DOTS_IN_IDENT = 287,
254 >    EMAIL = 288,
255 >    ENCRYPTED = 289,
256 >    EXCEED_LIMIT = 290,
257 >    EXEMPT = 291,
258 >    FAILED_OPER_NOTICE = 292,
259 >    FLATTEN_LINKS = 293,
260 >    GECOS = 294,
261 >    GENERAL = 295,
262 >    GLINE = 296,
263 >    GLINE_DURATION = 297,
264 >    GLINE_ENABLE = 298,
265 >    GLINE_EXEMPT = 299,
266 >    GLINE_MIN_CIDR = 300,
267 >    GLINE_MIN_CIDR6 = 301,
268 >    GLINE_REQUEST_DURATION = 302,
269 >    GLOBAL_KILL = 303,
270 >    HAVENT_READ_CONF = 304,
271 >    HIDDEN = 305,
272 >    HIDDEN_NAME = 306,
273 >    HIDE_CHANS = 307,
274 >    HIDE_IDLE = 308,
275 >    HIDE_IDLE_FROM_OPERS = 309,
276 >    HIDE_SERVER_IPS = 310,
277 >    HIDE_SERVERS = 311,
278 >    HIDE_SERVICES = 312,
279 >    HIDE_SPOOF_IPS = 313,
280 >    HOST = 314,
281 >    HUB = 315,
282 >    HUB_MASK = 316,
283 >    IGNORE_BOGUS_TS = 317,
284 >    INVISIBLE_ON_CONNECT = 318,
285 >    INVITE_CLIENT_COUNT = 319,
286 >    INVITE_CLIENT_TIME = 320,
287 >    IP = 321,
288 >    IRCD_AUTH = 322,
289 >    IRCD_FLAGS = 323,
290 >    IRCD_SID = 324,
291 >    JOIN_FLOOD_COUNT = 325,
292 >    JOIN_FLOOD_TIME = 326,
293 >    KILL = 327,
294 >    KILL_CHASE_TIME_LIMIT = 328,
295 >    KLINE = 329,
296 >    KLINE_EXEMPT = 330,
297 >    KNOCK_CLIENT_COUNT = 331,
298 >    KNOCK_CLIENT_TIME = 332,
299 >    KNOCK_DELAY_CHANNEL = 333,
300 >    LEAF_MASK = 334,
301 >    LINKS_DELAY = 335,
302 >    LISTEN = 336,
303 >    MASK = 337,
304 >    MAX_ACCEPT = 338,
305 >    MAX_BANS = 339,
306 >    MAX_CHANNELS = 340,
307 >    MAX_GLOBAL = 341,
308 >    MAX_IDENT = 342,
309 >    MAX_IDLE = 343,
310 >    MAX_LOCAL = 344,
311 >    MAX_NICK_CHANGES = 345,
312 >    MAX_NICK_LENGTH = 346,
313 >    MAX_NICK_TIME = 347,
314 >    MAX_NUMBER = 348,
315 >    MAX_TARGETS = 349,
316 >    MAX_TOPIC_LENGTH = 350,
317 >    MAX_WATCH = 351,
318 >    MIN_IDLE = 352,
319 >    MIN_NONWILDCARD = 353,
320 >    MIN_NONWILDCARD_SIMPLE = 354,
321 >    MODULE = 355,
322 >    MODULES = 356,
323 >    MOTD = 357,
324 >    NAME = 358,
325 >    NEED_IDENT = 359,
326 >    NEED_PASSWORD = 360,
327 >    NETWORK_DESC = 361,
328 >    NETWORK_NAME = 362,
329 >    NICK = 363,
330 >    NO_CREATE_ON_SPLIT = 364,
331 >    NO_JOIN_ON_SPLIT = 365,
332 >    NO_OPER_FLOOD = 366,
333 >    NO_TILDE = 367,
334 >    NUMBER = 368,
335 >    NUMBER_PER_CIDR = 369,
336 >    NUMBER_PER_IP = 370,
337 >    OPER_ONLY_UMODES = 371,
338 >    OPER_PASS_RESV = 372,
339 >    OPER_UMODES = 373,
340 >    OPERATOR = 374,
341 >    OPERS_BYPASS_CALLERID = 375,
342 >    PACE_WAIT = 376,
343 >    PACE_WAIT_SIMPLE = 377,
344 >    PASSWORD = 378,
345 >    PATH = 379,
346 >    PING_COOKIE = 380,
347 >    PING_TIME = 381,
348 >    PORT = 382,
349 >    QSTRING = 383,
350 >    RANDOM_IDLE = 384,
351 >    REASON = 385,
352 >    REDIRPORT = 386,
353 >    REDIRSERV = 387,
354 >    REHASH = 388,
355 >    REMOTE = 389,
356 >    REMOTEBAN = 390,
357 >    RESV = 391,
358 >    RESV_EXEMPT = 392,
359 >    RSA_PRIVATE_KEY_FILE = 393,
360 >    RSA_PUBLIC_KEY_FILE = 394,
361 >    SECONDS = 395,
362 >    MINUTES = 396,
363 >    HOURS = 397,
364 >    DAYS = 398,
365 >    WEEKS = 399,
366 >    MONTHS = 400,
367 >    YEARS = 401,
368 >    SEND_PASSWORD = 402,
369 >    SENDQ = 403,
370 >    SERVERHIDE = 404,
371 >    SERVERINFO = 405,
372 >    SHORT_MOTD = 406,
373 >    SPOOF = 407,
374 >    SPOOF_NOTICE = 408,
375 >    SQUIT = 409,
376 >    SSL_CERTIFICATE_FILE = 410,
377 >    SSL_CERTIFICATE_FINGERPRINT = 411,
378 >    SSL_CONNECTION_REQUIRED = 412,
379 >    SSL_DH_ELLIPTIC_CURVE = 413,
380 >    SSL_DH_PARAM_FILE = 414,
381 >    SSL_MESSAGE_DIGEST_ALGORITHM = 415,
382 >    STATS_E_DISABLED = 416,
383 >    STATS_I_OPER_ONLY = 417,
384 >    STATS_K_OPER_ONLY = 418,
385 >    STATS_M_OPER_ONLY = 419,
386 >    STATS_O_OPER_ONLY = 420,
387 >    STATS_P_OPER_ONLY = 421,
388 >    STATS_U_OPER_ONLY = 422,
389 >    T_ALL = 423,
390 >    T_BOTS = 424,
391 >    T_CALLERID = 425,
392 >    T_CCONN = 426,
393 >    T_COMMAND = 427,
394 >    T_CLUSTER = 428,
395 >    T_DEAF = 429,
396 >    T_DEBUG = 430,
397 >    T_DLINE = 431,
398 >    T_EXTERNAL = 432,
399 >    T_FARCONNECT = 433,
400 >    T_FILE = 434,
401 >    T_FULL = 435,
402 >    T_GLOBOPS = 436,
403 >    T_INVISIBLE = 437,
404 >    T_IPV4 = 438,
405 >    T_IPV6 = 439,
406 >    T_LOCOPS = 440,
407 >    T_LOG = 441,
408 >    T_MAX_CLIENTS = 442,
409 >    T_NCHANGE = 443,
410 >    T_NONONREG = 444,
411 >    T_OPME = 445,
412 >    T_PREPEND = 446,
413 >    T_PSEUDO = 447,
414 >    T_RECVQ = 448,
415 >    T_REJ = 449,
416 >    T_RESTART = 450,
417 >    T_SERVER = 451,
418 >    T_SERVICE = 452,
419 >    T_SERVNOTICE = 453,
420 >    T_SET = 454,
421 >    T_SHARED = 455,
422 >    T_SIZE = 456,
423 >    T_SKILL = 457,
424 >    T_SOFTCALLERID = 458,
425 >    T_SPY = 459,
426 >    T_SSL = 460,
427 >    T_SSL_CIPHER_LIST = 461,
428 >    T_TARGET = 462,
429 >    T_UMODES = 463,
430 >    T_UNAUTH = 464,
431 >    T_UNDLINE = 465,
432 >    T_UNLIMITED = 466,
433 >    T_UNRESV = 467,
434 >    T_UNXLINE = 468,
435 >    T_WALLOP = 469,
436 >    T_WALLOPS = 470,
437 >    T_WEBIRC = 471,
438 >    TBOOL = 472,
439 >    THROTTLE_COUNT = 473,
440 >    THROTTLE_TIME = 474,
441 >    TKLINE_EXPIRE_NOTICES = 475,
442 >    TMASKED = 476,
443 >    TS_MAX_DELTA = 477,
444 >    TS_WARN_DELTA = 478,
445 >    TWODOTS = 479,
446 >    TYPE = 480,
447 >    UNKLINE = 481,
448 >    USE_LOGGING = 482,
449 >    USER = 483,
450 >    VHOST = 484,
451 >    VHOST6 = 485,
452 >    WARN_NO_CONNECT_BLOCK = 486,
453 >    XLINE = 487
454 >  };
455   #endif
456   /* Tokens.  */
457   #define ACCEPT_PASSWORD 258
# Line 445 | Line 460 | extern int yydebug;
460   #define ANTI_NICK_FLOOD 261
461   #define ANTI_SPAM_EXIT_MESSAGE_TIME 262
462   #define AUTOCONN 263
463 < #define BYTES 264
464 < #define KBYTES 265
465 < #define MBYTES 266
466 < #define CALLER_ID_WAIT 267
467 < #define CAN_FLOOD 268
468 < #define CHANNEL 269
469 < #define CIDR_BITLEN_IPV4 270
470 < #define CIDR_BITLEN_IPV6 271
471 < #define CLASS 272
472 < #define CONNECT 273
473 < #define CONNECTFREQ 274
474 < #define DEFAULT_FLOODCOUNT 275
475 < #define DEFAULT_SPLIT_SERVER_COUNT 276
476 < #define DEFAULT_SPLIT_USER_COUNT 277
477 < #define DENY 278
478 < #define DESCRIPTION 279
479 < #define DIE 280
480 < #define DISABLE_AUTH 281
481 < #define DISABLE_FAKE_CHANNELS 282
482 < #define DISABLE_REMOTE_COMMANDS 283
483 < #define DOTS_IN_IDENT 284
484 < #define EGDPOOL_PATH 285
485 < #define EMAIL 286
486 < #define ENCRYPTED 287
487 < #define EXCEED_LIMIT 288
488 < #define EXEMPT 289
489 < #define FAILED_OPER_NOTICE 290
490 < #define FLATTEN_LINKS 291
491 < #define GECOS 292
492 < #define GENERAL 293
493 < #define GLINE 294
494 < #define GLINE_DURATION 295
495 < #define GLINE_ENABLE 296
496 < #define GLINE_EXEMPT 297
497 < #define GLINE_MIN_CIDR 298
498 < #define GLINE_MIN_CIDR6 299
499 < #define GLINE_REQUEST_DURATION 300
500 < #define GLOBAL_KILL 301
501 < #define HAVENT_READ_CONF 302
502 < #define HIDDEN 303
503 < #define HIDDEN_NAME 304
504 < #define HIDE_IDLE_FROM_OPERS 305
505 < #define HIDE_SERVER_IPS 306
506 < #define HIDE_SERVERS 307
507 < #define HIDE_SERVICES 308
508 < #define HIDE_SPOOF_IPS 309
509 < #define HOST 310
510 < #define HUB 311
511 < #define HUB_MASK 312
512 < #define IGNORE_BOGUS_TS 313
513 < #define INVISIBLE_ON_CONNECT 314
514 < #define IP 315
515 < #define IRCD_AUTH 316
516 < #define IRCD_FLAGS 317
517 < #define IRCD_SID 318
518 < #define JOIN_FLOOD_COUNT 319
519 < #define JOIN_FLOOD_TIME 320
520 < #define KILL 321
521 < #define KILL_CHASE_TIME_LIMIT 322
522 < #define KLINE 323
523 < #define KLINE_EXEMPT 324
524 < #define KNOCK_DELAY 325
525 < #define KNOCK_DELAY_CHANNEL 326
526 < #define LEAF_MASK 327
527 < #define LINKS_DELAY 328
528 < #define LISTEN 329
529 < #define MASK 330
530 < #define MAX_ACCEPT 331
531 < #define MAX_BANS 332
532 < #define MAX_CHANS_PER_OPER 333
533 < #define MAX_CHANS_PER_USER 334
534 < #define MAX_GLOBAL 335
535 < #define MAX_IDENT 336
536 < #define MAX_IDLE 337
537 < #define MAX_LOCAL 338
538 < #define MAX_NICK_CHANGES 339
539 < #define MAX_NICK_LENGTH 340
540 < #define MAX_NICK_TIME 341
541 < #define MAX_NUMBER 342
542 < #define MAX_TARGETS 343
543 < #define MAX_TOPIC_LENGTH 344
544 < #define MAX_WATCH 345
545 < #define MIN_IDLE 346
546 < #define MIN_NONWILDCARD 347
547 < #define MIN_NONWILDCARD_SIMPLE 348
548 < #define MODULE 349
549 < #define MODULES 350
550 < #define MOTD 351
551 < #define NAME 352
552 < #define NEED_IDENT 353
553 < #define NEED_PASSWORD 354
554 < #define NETWORK_DESC 355
555 < #define NETWORK_NAME 356
556 < #define NICK 357
557 < #define NO_CREATE_ON_SPLIT 358
558 < #define NO_JOIN_ON_SPLIT 359
559 < #define NO_OPER_FLOOD 360
560 < #define NO_TILDE 361
561 < #define NUMBER 362
562 < #define NUMBER_PER_CIDR 363
563 < #define NUMBER_PER_IP 364
564 < #define OPER_ONLY_UMODES 365
565 < #define OPER_PASS_RESV 366
566 < #define OPER_UMODES 367
567 < #define OPERATOR 368
568 < #define OPERS_BYPASS_CALLERID 369
569 < #define PACE_WAIT 370
570 < #define PACE_WAIT_SIMPLE 371
571 < #define PASSWORD 372
572 < #define PATH 373
573 < #define PING_COOKIE 374
574 < #define PING_TIME 375
575 < #define PORT 376
576 < #define QSTRING 377
577 < #define RANDOM_IDLE 378
578 < #define REASON 379
579 < #define REDIRPORT 380
580 < #define REDIRSERV 381
581 < #define REHASH 382
582 < #define REMOTE 383
583 < #define REMOTEBAN 384
584 < #define RESV 385
585 < #define RESV_EXEMPT 386
586 < #define RSA_PRIVATE_KEY_FILE 387
587 < #define RSA_PUBLIC_KEY_FILE 388
588 < #define SECONDS 389
589 < #define MINUTES 390
590 < #define HOURS 391
591 < #define DAYS 392
592 < #define WEEKS 393
593 < #define MONTHS 394
594 < #define YEARS 395
595 < #define SEND_PASSWORD 396
596 < #define SENDQ 397
597 < #define SERVERHIDE 398
598 < #define SERVERINFO 399
599 < #define SHORT_MOTD 400
600 < #define SPOOF 401
601 < #define SPOOF_NOTICE 402
602 < #define SQUIT 403
603 < #define SSL_CERTIFICATE_FILE 404
604 < #define SSL_DH_PARAM_FILE 405
605 < #define STATS_E_DISABLED 406
606 < #define STATS_I_OPER_ONLY 407
607 < #define STATS_K_OPER_ONLY 408
608 < #define STATS_O_OPER_ONLY 409
609 < #define STATS_P_OPER_ONLY 410
610 < #define T_ALL 411
611 < #define T_BOTS 412
612 < #define T_CALLERID 413
613 < #define T_CCONN 414
614 < #define T_CLUSTER 415
615 < #define T_DEAF 416
616 < #define T_DEBUG 417
617 < #define T_DLINE 418
618 < #define T_EXTERNAL 419
619 < #define T_FARCONNECT 420
620 < #define T_FILE 421
621 < #define T_FINGERPRINT 422
622 < #define T_FULL 423
623 < #define T_GLOBOPS 424
624 < #define T_INVISIBLE 425
625 < #define T_IPV4 426
626 < #define T_IPV6 427
627 < #define T_LOCOPS 428
628 < #define T_LOG 429
629 < #define T_MAX_CLIENTS 430
630 < #define T_NCHANGE 431
631 < #define T_NONONREG 432
632 < #define T_OPERWALL 433
633 < #define T_RECVQ 434
634 < #define T_REJ 435
635 < #define T_RESTART 436
636 < #define T_SERVER 437
637 < #define T_SERVICE 438
638 < #define T_SERVICES_NAME 439
639 < #define T_SERVNOTICE 440
640 < #define T_SET 441
641 < #define T_SHARED 442
642 < #define T_SIZE 443
643 < #define T_SKILL 444
644 < #define T_SOFTCALLERID 445
645 < #define T_SPY 446
646 < #define T_SSL 447
647 < #define T_SSL_CIPHER_LIST 448
648 < #define T_SSL_CLIENT_METHOD 449
649 < #define T_SSL_SERVER_METHOD 450
650 < #define T_SSLV3 451
651 < #define T_TLSV1 452
652 < #define T_UMODES 453
653 < #define T_UNAUTH 454
654 < #define T_UNDLINE 455
655 < #define T_UNLIMITED 456
656 < #define T_UNRESV 457
657 < #define T_UNXLINE 458
658 < #define T_WALLOP 459
659 < #define T_WALLOPS 460
660 < #define T_WEBIRC 461
661 < #define TBOOL 462
662 < #define THROTTLE_TIME 463
663 < #define TKLINE_EXPIRE_NOTICES 464
664 < #define TMASKED 465
665 < #define TRUE_NO_OPER_FLOOD 466
666 < #define TS_MAX_DELTA 467
667 < #define TS_WARN_DELTA 468
668 < #define TWODOTS 469
669 < #define TYPE 470
670 < #define UNKLINE 471
671 < #define USE_EGD 472
672 < #define USE_LOGGING 473
673 < #define USER 474
674 < #define VHOST 475
675 < #define VHOST6 476
676 < #define WARN_NO_NLINE 477
677 < #define XLINE 478
678 <
679 <
463 > #define AWAY_COUNT 264
464 > #define AWAY_TIME 265
465 > #define BYTES 266
466 > #define KBYTES 267
467 > #define MBYTES 268
468 > #define CALLER_ID_WAIT 269
469 > #define CAN_FLOOD 270
470 > #define CHANNEL 271
471 > #define CIDR_BITLEN_IPV4 272
472 > #define CIDR_BITLEN_IPV6 273
473 > #define CLASS 274
474 > #define CONNECT 275
475 > #define CONNECTFREQ 276
476 > #define CYCLE_ON_HOST_CHANGE 277
477 > #define DEFAULT_FLOODCOUNT 278
478 > #define DEFAULT_SPLIT_SERVER_COUNT 279
479 > #define DEFAULT_SPLIT_USER_COUNT 280
480 > #define DENY 281
481 > #define DESCRIPTION 282
482 > #define DIE 283
483 > #define DISABLE_AUTH 284
484 > #define DISABLE_FAKE_CHANNELS 285
485 > #define DISABLE_REMOTE_COMMANDS 286
486 > #define DOTS_IN_IDENT 287
487 > #define EMAIL 288
488 > #define ENCRYPTED 289
489 > #define EXCEED_LIMIT 290
490 > #define EXEMPT 291
491 > #define FAILED_OPER_NOTICE 292
492 > #define FLATTEN_LINKS 293
493 > #define GECOS 294
494 > #define GENERAL 295
495 > #define GLINE 296
496 > #define GLINE_DURATION 297
497 > #define GLINE_ENABLE 298
498 > #define GLINE_EXEMPT 299
499 > #define GLINE_MIN_CIDR 300
500 > #define GLINE_MIN_CIDR6 301
501 > #define GLINE_REQUEST_DURATION 302
502 > #define GLOBAL_KILL 303
503 > #define HAVENT_READ_CONF 304
504 > #define HIDDEN 305
505 > #define HIDDEN_NAME 306
506 > #define HIDE_CHANS 307
507 > #define HIDE_IDLE 308
508 > #define HIDE_IDLE_FROM_OPERS 309
509 > #define HIDE_SERVER_IPS 310
510 > #define HIDE_SERVERS 311
511 > #define HIDE_SERVICES 312
512 > #define HIDE_SPOOF_IPS 313
513 > #define HOST 314
514 > #define HUB 315
515 > #define HUB_MASK 316
516 > #define IGNORE_BOGUS_TS 317
517 > #define INVISIBLE_ON_CONNECT 318
518 > #define INVITE_CLIENT_COUNT 319
519 > #define INVITE_CLIENT_TIME 320
520 > #define IP 321
521 > #define IRCD_AUTH 322
522 > #define IRCD_FLAGS 323
523 > #define IRCD_SID 324
524 > #define JOIN_FLOOD_COUNT 325
525 > #define JOIN_FLOOD_TIME 326
526 > #define KILL 327
527 > #define KILL_CHASE_TIME_LIMIT 328
528 > #define KLINE 329
529 > #define KLINE_EXEMPT 330
530 > #define KNOCK_CLIENT_COUNT 331
531 > #define KNOCK_CLIENT_TIME 332
532 > #define KNOCK_DELAY_CHANNEL 333
533 > #define LEAF_MASK 334
534 > #define LINKS_DELAY 335
535 > #define LISTEN 336
536 > #define MASK 337
537 > #define MAX_ACCEPT 338
538 > #define MAX_BANS 339
539 > #define MAX_CHANNELS 340
540 > #define MAX_GLOBAL 341
541 > #define MAX_IDENT 342
542 > #define MAX_IDLE 343
543 > #define MAX_LOCAL 344
544 > #define MAX_NICK_CHANGES 345
545 > #define MAX_NICK_LENGTH 346
546 > #define MAX_NICK_TIME 347
547 > #define MAX_NUMBER 348
548 > #define MAX_TARGETS 349
549 > #define MAX_TOPIC_LENGTH 350
550 > #define MAX_WATCH 351
551 > #define MIN_IDLE 352
552 > #define MIN_NONWILDCARD 353
553 > #define MIN_NONWILDCARD_SIMPLE 354
554 > #define MODULE 355
555 > #define MODULES 356
556 > #define MOTD 357
557 > #define NAME 358
558 > #define NEED_IDENT 359
559 > #define NEED_PASSWORD 360
560 > #define NETWORK_DESC 361
561 > #define NETWORK_NAME 362
562 > #define NICK 363
563 > #define NO_CREATE_ON_SPLIT 364
564 > #define NO_JOIN_ON_SPLIT 365
565 > #define NO_OPER_FLOOD 366
566 > #define NO_TILDE 367
567 > #define NUMBER 368
568 > #define NUMBER_PER_CIDR 369
569 > #define NUMBER_PER_IP 370
570 > #define OPER_ONLY_UMODES 371
571 > #define OPER_PASS_RESV 372
572 > #define OPER_UMODES 373
573 > #define OPERATOR 374
574 > #define OPERS_BYPASS_CALLERID 375
575 > #define PACE_WAIT 376
576 > #define PACE_WAIT_SIMPLE 377
577 > #define PASSWORD 378
578 > #define PATH 379
579 > #define PING_COOKIE 380
580 > #define PING_TIME 381
581 > #define PORT 382
582 > #define QSTRING 383
583 > #define RANDOM_IDLE 384
584 > #define REASON 385
585 > #define REDIRPORT 386
586 > #define REDIRSERV 387
587 > #define REHASH 388
588 > #define REMOTE 389
589 > #define REMOTEBAN 390
590 > #define RESV 391
591 > #define RESV_EXEMPT 392
592 > #define RSA_PRIVATE_KEY_FILE 393
593 > #define RSA_PUBLIC_KEY_FILE 394
594 > #define SECONDS 395
595 > #define MINUTES 396
596 > #define HOURS 397
597 > #define DAYS 398
598 > #define WEEKS 399
599 > #define MONTHS 400
600 > #define YEARS 401
601 > #define SEND_PASSWORD 402
602 > #define SENDQ 403
603 > #define SERVERHIDE 404
604 > #define SERVERINFO 405
605 > #define SHORT_MOTD 406
606 > #define SPOOF 407
607 > #define SPOOF_NOTICE 408
608 > #define SQUIT 409
609 > #define SSL_CERTIFICATE_FILE 410
610 > #define SSL_CERTIFICATE_FINGERPRINT 411
611 > #define SSL_CONNECTION_REQUIRED 412
612 > #define SSL_DH_ELLIPTIC_CURVE 413
613 > #define SSL_DH_PARAM_FILE 414
614 > #define SSL_MESSAGE_DIGEST_ALGORITHM 415
615 > #define STATS_E_DISABLED 416
616 > #define STATS_I_OPER_ONLY 417
617 > #define STATS_K_OPER_ONLY 418
618 > #define STATS_M_OPER_ONLY 419
619 > #define STATS_O_OPER_ONLY 420
620 > #define STATS_P_OPER_ONLY 421
621 > #define STATS_U_OPER_ONLY 422
622 > #define T_ALL 423
623 > #define T_BOTS 424
624 > #define T_CALLERID 425
625 > #define T_CCONN 426
626 > #define T_COMMAND 427
627 > #define T_CLUSTER 428
628 > #define T_DEAF 429
629 > #define T_DEBUG 430
630 > #define T_DLINE 431
631 > #define T_EXTERNAL 432
632 > #define T_FARCONNECT 433
633 > #define T_FILE 434
634 > #define T_FULL 435
635 > #define T_GLOBOPS 436
636 > #define T_INVISIBLE 437
637 > #define T_IPV4 438
638 > #define T_IPV6 439
639 > #define T_LOCOPS 440
640 > #define T_LOG 441
641 > #define T_MAX_CLIENTS 442
642 > #define T_NCHANGE 443
643 > #define T_NONONREG 444
644 > #define T_OPME 445
645 > #define T_PREPEND 446
646 > #define T_PSEUDO 447
647 > #define T_RECVQ 448
648 > #define T_REJ 449
649 > #define T_RESTART 450
650 > #define T_SERVER 451
651 > #define T_SERVICE 452
652 > #define T_SERVNOTICE 453
653 > #define T_SET 454
654 > #define T_SHARED 455
655 > #define T_SIZE 456
656 > #define T_SKILL 457
657 > #define T_SOFTCALLERID 458
658 > #define T_SPY 459
659 > #define T_SSL 460
660 > #define T_SSL_CIPHER_LIST 461
661 > #define T_TARGET 462
662 > #define T_UMODES 463
663 > #define T_UNAUTH 464
664 > #define T_UNDLINE 465
665 > #define T_UNLIMITED 466
666 > #define T_UNRESV 467
667 > #define T_UNXLINE 468
668 > #define T_WALLOP 469
669 > #define T_WALLOPS 470
670 > #define T_WEBIRC 471
671 > #define TBOOL 472
672 > #define THROTTLE_COUNT 473
673 > #define THROTTLE_TIME 474
674 > #define TKLINE_EXPIRE_NOTICES 475
675 > #define TMASKED 476
676 > #define TS_MAX_DELTA 477
677 > #define TS_WARN_DELTA 478
678 > #define TWODOTS 479
679 > #define TYPE 480
680 > #define UNKLINE 481
681 > #define USE_LOGGING 482
682 > #define USER 483
683 > #define VHOST 484
684 > #define VHOST6 485
685 > #define WARN_NO_CONNECT_BLOCK 486
686 > #define XLINE 487
687  
688 + /* Value type.  */
689   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
690 < typedef union YYSTYPE
690 >
691 > union YYSTYPE
692   {
693 < /* Line 387 of yacc.c  */
670 < #line 140 "conf_parser.y"
693 > #line 152 "conf_parser.y" /* yacc.c:355  */
694  
695    int number;
696    char *string;
697  
698 + #line 699 "conf_parser.c" /* yacc.c:355  */
699 + };
700  
701 < /* Line 387 of yacc.c  */
677 < #line 678 "conf_parser.c"
678 < } YYSTYPE;
701 > typedef union YYSTYPE YYSTYPE;
702   # define YYSTYPE_IS_TRIVIAL 1
680 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
703   # define YYSTYPE_IS_DECLARED 1
704   #endif
705  
706 +
707   extern YYSTYPE yylval;
708  
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
709   int yyparse (void);
695 #else
696 int yyparse ();
697 #endif
698 #endif /* ! YYPARSE_PARAM */
710  
711   #endif /* !YY_YY_CONF_PARSER_H_INCLUDED  */
712  
713   /* Copy the second part of user declarations.  */
714  
715 < /* Line 390 of yacc.c  */
705 < #line 706 "conf_parser.c"
715 > #line 716 "conf_parser.c" /* yacc.c:358  */
716  
717   #ifdef short
718   # undef short
# Line 716 | Line 726 | typedef unsigned char yytype_uint8;
726  
727   #ifdef YYTYPE_INT8
728   typedef YYTYPE_INT8 yytype_int8;
719 #elif (defined __STDC__ || defined __C99__FUNC__ \
720     || defined __cplusplus || defined _MSC_VER)
721 typedef signed char yytype_int8;
729   #else
730 < typedef short int yytype_int8;
730 > typedef signed char yytype_int8;
731   #endif
732  
733   #ifdef YYTYPE_UINT16
# Line 740 | Line 747 | typedef short int yytype_int16;
747   #  define YYSIZE_T __SIZE_TYPE__
748   # elif defined size_t
749   #  define YYSIZE_T size_t
750 < # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
744 <     || defined __cplusplus || defined _MSC_VER)
750 > # elif ! defined YYSIZE_T
751   #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
752   #  define YYSIZE_T size_t
753   # else
# Line 763 | Line 769 | typedef short int yytype_int16;
769   # endif
770   #endif
771  
772 < #ifndef __attribute__
773 < /* This feature is available in gcc versions 2.5 and later.  */
774 < # if (! defined __GNUC__ || __GNUC__ < 2 \
775 <      || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
776 < #  define __attribute__(Spec) /* empty */
772 > #ifndef YY_ATTRIBUTE
773 > # if (defined __GNUC__                                               \
774 >      && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
775 >     || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
776 > #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
777 > # else
778 > #  define YY_ATTRIBUTE(Spec) /* empty */
779 > # endif
780 > #endif
781 >
782 > #ifndef YY_ATTRIBUTE_PURE
783 > # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
784 > #endif
785 >
786 > #ifndef YY_ATTRIBUTE_UNUSED
787 > # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
788 > #endif
789 >
790 > #if !defined _Noreturn \
791 >     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
792 > # if defined _MSC_VER && 1200 <= _MSC_VER
793 > #  define _Noreturn __declspec (noreturn)
794 > # else
795 > #  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
796   # endif
797   #endif
798  
# Line 778 | Line 803 | typedef short int yytype_int16;
803   # define YYUSE(E) /* empty */
804   #endif
805  
806 <
807 < /* Identity function, used to suppress warnings about constant conditions.  */
808 < #ifndef lint
809 < # define YYID(N) (N)
806 > #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
807 > /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
808 > # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
809 >    _Pragma ("GCC diagnostic push") \
810 >    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
811 >    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
812 > # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
813 >    _Pragma ("GCC diagnostic pop")
814   #else
815 < #if (defined __STDC__ || defined __C99__FUNC__ \
787 <     || defined __cplusplus || defined _MSC_VER)
788 < static int
789 < YYID (int yyi)
790 < #else
791 < static int
792 < YYID (yyi)
793 <    int yyi;
815 > # define YY_INITIAL_VALUE(Value) Value
816   #endif
817 < {
818 <  return yyi;
819 < }
817 > #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
818 > # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
819 > # define YY_IGNORE_MAYBE_UNINITIALIZED_END
820   #endif
821 + #ifndef YY_INITIAL_VALUE
822 + # define YY_INITIAL_VALUE(Value) /* Nothing. */
823 + #endif
824 +
825  
826   #if ! defined yyoverflow || YYERROR_VERBOSE
827  
# Line 814 | Line 840 | YYID (yyi)
840   #    define alloca _alloca
841   #   else
842   #    define YYSTACK_ALLOC alloca
843 < #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
818 <     || defined __cplusplus || defined _MSC_VER)
843 > #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
844   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
845        /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
846   #     ifndef EXIT_SUCCESS
# Line 827 | Line 852 | YYID (yyi)
852   # endif
853  
854   # ifdef YYSTACK_ALLOC
855 <   /* Pacify GCC's `empty if-body' warning.  */
856 < #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
855 >   /* Pacify GCC's 'empty if-body' warning.  */
856 > #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
857   #  ifndef YYSTACK_ALLOC_MAXIMUM
858      /* The OS might guarantee only one guard page at the bottom of the stack,
859         and a page size can be as small as 4096 bytes.  So we cannot safely
# Line 844 | Line 869 | YYID (yyi)
869   #  endif
870   #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
871         && ! ((defined YYMALLOC || defined malloc) \
872 <             && (defined YYFREE || defined free)))
872 >             && (defined YYFREE || defined free)))
873   #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
874   #   ifndef EXIT_SUCCESS
875   #    define EXIT_SUCCESS 0
# Line 852 | Line 877 | YYID (yyi)
877   #  endif
878   #  ifndef YYMALLOC
879   #   define YYMALLOC malloc
880 < #   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
856 <     || defined __cplusplus || defined _MSC_VER)
880 > #   if ! defined malloc && ! defined EXIT_SUCCESS
881   void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
882   #   endif
883   #  endif
884   #  ifndef YYFREE
885   #   define YYFREE free
886 < #   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
863 <     || defined __cplusplus || defined _MSC_VER)
886 > #   if ! defined free && ! defined EXIT_SUCCESS
887   void free (void *); /* INFRINGES ON USER NAME SPACE */
888   #   endif
889   #  endif
# Line 870 | Line 893 | void free (void *); /* INFRINGES ON USER
893  
894   #if (! defined yyoverflow \
895       && (! defined __cplusplus \
896 <         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
896 >         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
897  
898   /* A type that is properly aligned for any stack member.  */
899   union yyalloc
# Line 895 | Line 918 | union yyalloc
918     elements in the stack, and YYPTR gives the new location of the
919     stack.  Advance YYPTR to a properly aligned location for the next
920     stack.  */
921 < # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
922 <    do                                                                  \
923 <      {                                                                 \
924 <        YYSIZE_T yynewbytes;                                            \
925 <        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
926 <        Stack = &yyptr->Stack_alloc;                                    \
927 <        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
928 <        yyptr += yynewbytes / sizeof (*yyptr);                          \
929 <      }                                                                 \
930 <    while (YYID (0))
921 > # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
922 >    do                                                                  \
923 >      {                                                                 \
924 >        YYSIZE_T yynewbytes;                                            \
925 >        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
926 >        Stack = &yyptr->Stack_alloc;                                    \
927 >        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
928 >        yyptr += yynewbytes / sizeof (*yyptr);                          \
929 >      }                                                                 \
930 >    while (0)
931  
932   #endif
933  
# Line 923 | Line 946 | union yyalloc
946            for (yyi = 0; yyi < (Count); yyi++)   \
947              (Dst)[yyi] = (Src)[yyi];            \
948          }                                       \
949 <      while (YYID (0))
949 >      while (0)
950   #  endif
951   # endif
952   #endif /* !YYCOPY_NEEDED */
# Line 931 | Line 954 | union yyalloc
954   /* YYFINAL -- State number of the termination state.  */
955   #define YYFINAL  2
956   /* YYLAST -- Last index in YYTABLE.  */
957 < #define YYLAST   1221
957 > #define YYLAST   1373
958  
959   /* YYNTOKENS -- Number of terminals.  */
960 < #define YYNTOKENS  230
960 > #define YYNTOKENS  239
961   /* YYNNTS -- Number of nonterminals.  */
962 < #define YYNNTS  288
962 > #define YYNNTS  297
963   /* YYNRULES -- Number of rules.  */
964 < #define YYNRULES  648
965 < /* YYNRULES -- Number of states.  */
966 < #define YYNSTATES  1270
964 > #define YYNRULES  668
965 > /* YYNSTATES -- Number of states.  */
966 > #define YYNSTATES  1320
967  
968 < /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
968 > /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
969 >   by yylex, with out-of-bounds checking.  */
970   #define YYUNDEFTOK  2
971 < #define YYMAXUTOK   478
971 > #define YYMAXUTOK   487
972  
973 < #define YYTRANSLATE(YYX)                                                \
973 > #define YYTRANSLATE(YYX)                                                \
974    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
975  
976 < /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
976 > /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
977 >   as returned by yylex, without out-of-bounds checking.  */
978   static const yytype_uint8 yytranslate[] =
979   {
980         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
981         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
982         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
983         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
984 <       2,     2,     2,     2,   228,     2,     2,     2,     2,     2,
985 <       2,     2,     2,     2,     2,     2,     2,     2,   229,   224,
986 <       2,   227,     2,     2,     2,     2,     2,     2,     2,     2,
984 >       2,     2,     2,     2,   237,     2,     2,     2,     2,     2,
985 >       2,     2,     2,     2,     2,     2,     2,     2,   238,   233,
986 >       2,   236,     2,     2,     2,     2,     2,     2,     2,     2,
987         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
988         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
989         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
990         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
991         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
992 <       2,     2,     2,   226,     2,   225,     2,     2,     2,     2,
992 >       2,     2,     2,   235,     2,   234,     2,     2,     2,     2,
993         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
994         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
995         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 999 | Line 1024 | static const yytype_uint8 yytranslate[]
1024       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1025       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1026       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1027 <     215,   216,   217,   218,   219,   220,   221,   222,   223
1027 >     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1028 >     225,   226,   227,   228,   229,   230,   231,   232
1029   };
1030  
1031   #if YYDEBUG
1032 < /* 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.  */
1032 >  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1033   static const yytype_uint16 yyrline[] =
1034   {
1035 <       0,   367,   367,   368,   371,   372,   373,   374,   375,   376,
1036 <     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
1037 <     387,   388,   389,   390,   391,   392,   393,   397,   397,   398,
1038 <     402,   406,   410,   414,   418,   422,   426,   432,   432,   433,
1039 <     434,   435,   436,   443,   446,   446,   447,   447,   447,   449,
1040 <     455,   462,   464,   464,   465,   465,   466,   466,   467,   467,
1041 <     468,   468,   469,   469,   470,   470,   471,   471,   472,   472,
1042 <     473,   474,   477,   478,   480,   480,   481,   487,   495,   495,
1043 <     496,   502,   510,   552,   611,   639,   647,   662,   677,   686,
1044 <     700,   709,   737,   767,   792,   814,   836,   845,   847,   847,
1045 <     848,   848,   849,   849,   851,   860,   869,   882,   881,   899,
1046 <     899,   900,   900,   900,   902,   908,   917,   918,   918,   920,
1047 <     920,   921,   923,   930,   930,   943,   944,   946,   946,   947,
1048 <     947,   949,   957,   960,   966,   965,   971,   971,   972,   976,
1049 <     980,   984,   988,   992,   996,  1007,  1006,  1086,  1086,  1087,
1050 <    1087,  1087,  1088,  1088,  1088,  1089,  1089,  1090,  1090,  1092,
1051 <    1098,  1104,  1110,  1121,  1127,  1134,  1141,  1140,  1146,  1146,
1052 <    1147,  1151,  1155,  1159,  1163,  1167,  1171,  1175,  1179,  1183,
1053 <    1187,  1191,  1195,  1199,  1203,  1207,  1211,  1215,  1219,  1223,
1054 <    1227,  1234,  1233,  1239,  1239,  1240,  1244,  1248,  1252,  1256,
1055 <    1260,  1264,  1268,  1272,  1276,  1280,  1284,  1288,  1292,  1296,
1056 <    1300,  1304,  1308,  1312,  1316,  1320,  1324,  1328,  1339,  1338,
1057 <    1399,  1399,  1400,  1401,  1401,  1402,  1403,  1404,  1405,  1406,
1058 <    1407,  1408,  1409,  1410,  1410,  1411,  1412,  1413,  1414,  1416,
1059 <    1422,  1428,  1434,  1440,  1446,  1452,  1458,  1464,  1470,  1477,
1060 <    1483,  1489,  1495,  1504,  1514,  1513,  1519,  1519,  1520,  1524,
1061 <    1535,  1534,  1541,  1540,  1545,  1545,  1546,  1550,  1554,  1560,
1062 <    1560,  1561,  1561,  1561,  1561,  1561,  1563,  1563,  1565,  1565,
1063 <    1567,  1581,  1601,  1607,  1617,  1616,  1658,  1658,  1659,  1659,
1064 <    1659,  1659,  1660,  1660,  1660,  1661,  1661,  1663,  1669,  1675,
1065 <    1681,  1693,  1692,  1698,  1698,  1699,  1703,  1707,  1711,  1715,
1066 <    1719,  1723,  1727,  1731,  1735,  1741,  1755,  1764,  1778,  1777,
1067 <    1792,  1792,  1793,  1793,  1793,  1793,  1795,  1801,  1807,  1817,
1068 <    1819,  1819,  1820,  1820,  1822,  1838,  1837,  1862,  1862,  1863,
1069 <    1863,  1863,  1863,  1865,  1871,  1891,  1890,  1896,  1896,  1897,
1070 <    1901,  1905,  1909,  1913,  1917,  1921,  1925,  1929,  1933,  1943,
1071 <    1942,  1963,  1963,  1964,  1964,  1964,  1966,  1973,  1972,  1978,
1072 <    1978,  1979,  1983,  1987,  1991,  1995,  1999,  2003,  2007,  2011,
1073 <    2015,  2025,  2024,  2094,  2094,  2095,  2095,  2095,  2096,  2096,
1074 <    2096,  2097,  2097,  2097,  2098,  2098,  2098,  2099,  2099,  2100,
1075 <    2102,  2108,  2114,  2120,  2133,  2146,  2153,  2159,  2163,  2172,
1076 <    2171,  2176,  2176,  2177,  2181,  2187,  2198,  2204,  2210,  2216,
1077 <    2232,  2231,  2257,  2257,  2258,  2258,  2258,  2260,  2280,  2290,
1078 <    2289,  2316,  2316,  2317,  2317,  2317,  2319,  2325,  2334,  2336,
1079 <    2336,  2337,  2337,  2339,  2357,  2356,  2379,  2379,  2380,  2380,
1080 <    2380,  2382,  2388,  2397,  2400,  2400,  2401,  2401,  2402,  2402,
1081 <    2403,  2403,  2404,  2404,  2405,  2405,  2406,  2407,  2408,  2408,
1082 <    2409,  2409,  2410,  2410,  2411,  2411,  2412,  2412,  2413,  2413,
1083 <    2414,  2414,  2415,  2415,  2416,  2416,  2417,  2417,  2418,  2418,
1084 <    2419,  2419,  2420,  2421,  2422,  2422,  2423,  2423,  2424,  2425,
1085 <    2426,  2427,  2427,  2428,  2431,  2436,  2442,  2448,  2454,  2459,
1086 <    2464,  2469,  2474,  2479,  2484,  2489,  2494,  2499,  2504,  2509,
1087 <    2514,  2519,  2525,  2536,  2541,  2546,  2551,  2556,  2561,  2564,
1088 <    2569,  2572,  2577,  2582,  2587,  2592,  2597,  2602,  2607,  2612,
1089 <    2617,  2622,  2627,  2632,  2641,  2650,  2655,  2660,  2666,  2665,
1090 <    2670,  2670,  2671,  2674,  2677,  2680,  2683,  2686,  2689,  2692,
1091 <    2695,  2698,  2701,  2704,  2707,  2710,  2713,  2716,  2719,  2722,
1092 <    2725,  2728,  2731,  2737,  2736,  2741,  2741,  2742,  2745,  2748,
1093 <    2751,  2754,  2757,  2760,  2763,  2766,  2769,  2772,  2775,  2778,
1094 <    2781,  2784,  2787,  2790,  2793,  2796,  2799,  2802,  2807,  2812,
1095 <    2817,  2826,  2829,  2829,  2830,  2831,  2831,  2832,  2832,  2833,
1096 <    2834,  2835,  2836,  2837,  2837,  2838,  2838,  2840,  2845,  2850,
1097 <    2855,  2860,  2865,  2870,  2875,  2880,  2885,  2890,  2895,  2903,
1098 <    2906,  2906,  2907,  2907,  2908,  2909,  2910,  2911,  2911,  2912,
1099 <    2913,  2915,  2921,  2927,  2933,  2939,  2948,  2962,  2968
1035 >       0,   388,   388,   389,   392,   393,   394,   395,   396,   397,
1036 >     398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
1037 >     408,   409,   410,   411,   412,   413,   414,   415,   419,   419,
1038 >     420,   421,   422,   423,   424,   425,   426,   427,   430,   430,
1039 >     431,   432,   433,   434,   441,   444,   444,   445,   445,   445,
1040 >     447,   453,   460,   462,   462,   463,   464,   465,   466,   467,
1041 >     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
1042 >     478,   479,   480,   483,   523,   581,   610,   618,   632,   660,
1043 >     675,   690,   700,   714,   723,   751,   779,   804,   826,   848,
1044 >     857,   859,   859,   860,   861,   862,   863,   865,   874,   883,
1045 >     896,   895,   913,   913,   914,   914,   914,   916,   922,   932,
1046 >     931,   950,   950,   951,   951,   951,   951,   951,   953,   959,
1047 >     965,   971,   994,   995,   995,   997,   997,   998,  1000,  1007,
1048 >    1007,  1020,  1021,  1023,  1023,  1024,  1024,  1026,  1034,  1037,
1049 >    1043,  1042,  1048,  1048,  1049,  1053,  1057,  1061,  1065,  1069,
1050 >    1073,  1077,  1081,  1092,  1091,  1177,  1177,  1178,  1179,  1180,
1051 >    1181,  1182,  1183,  1184,  1185,  1186,  1187,  1188,  1190,  1196,
1052 >    1202,  1208,  1219,  1225,  1231,  1242,  1249,  1248,  1254,  1254,
1053 >    1255,  1259,  1263,  1267,  1271,  1275,  1279,  1283,  1287,  1291,
1054 >    1295,  1299,  1303,  1307,  1311,  1315,  1319,  1323,  1327,  1331,
1055 >    1335,  1339,  1346,  1345,  1351,  1351,  1352,  1356,  1360,  1364,
1056 >    1368,  1372,  1376,  1380,  1384,  1388,  1392,  1396,  1400,  1404,
1057 >    1408,  1412,  1416,  1420,  1424,  1428,  1432,  1436,  1440,  1444,
1058 >    1455,  1454,  1516,  1516,  1517,  1518,  1519,  1520,  1521,  1522,
1059 >    1523,  1524,  1525,  1526,  1527,  1528,  1529,  1529,  1530,  1531,
1060 >    1532,  1533,  1535,  1541,  1547,  1553,  1559,  1565,  1571,  1577,
1061 >    1583,  1589,  1595,  1602,  1608,  1614,  1620,  1629,  1639,  1638,
1062 >    1644,  1644,  1645,  1649,  1660,  1659,  1666,  1665,  1670,  1670,
1063 >    1671,  1675,  1679,  1685,  1685,  1686,  1686,  1686,  1686,  1686,
1064 >    1688,  1688,  1690,  1690,  1692,  1705,  1722,  1728,  1738,  1737,
1065 >    1779,  1779,  1780,  1781,  1782,  1783,  1784,  1785,  1786,  1787,
1066 >    1788,  1790,  1796,  1802,  1808,  1820,  1819,  1825,  1825,  1826,
1067 >    1830,  1834,  1838,  1842,  1846,  1850,  1854,  1858,  1862,  1868,
1068 >    1882,  1891,  1905,  1904,  1919,  1919,  1920,  1920,  1920,  1920,
1069 >    1922,  1928,  1934,  1944,  1946,  1946,  1947,  1947,  1949,  1965,
1070 >    1964,  1989,  1989,  1990,  1990,  1990,  1990,  1992,  1998,  2018,
1071 >    2017,  2023,  2023,  2024,  2028,  2032,  2036,  2040,  2044,  2048,
1072 >    2052,  2056,  2060,  2070,  2069,  2090,  2090,  2091,  2091,  2091,
1073 >    2093,  2100,  2099,  2105,  2105,  2106,  2110,  2114,  2118,  2122,
1074 >    2126,  2130,  2134,  2138,  2142,  2152,  2151,  2223,  2223,  2224,
1075 >    2225,  2226,  2227,  2228,  2229,  2230,  2231,  2232,  2233,  2234,
1076 >    2235,  2236,  2237,  2238,  2240,  2246,  2252,  2258,  2271,  2284,
1077 >    2290,  2296,  2300,  2307,  2306,  2311,  2311,  2312,  2316,  2322,
1078 >    2333,  2339,  2345,  2351,  2367,  2366,  2392,  2392,  2393,  2393,
1079 >    2393,  2395,  2415,  2425,  2424,  2451,  2451,  2452,  2452,  2452,
1080 >    2454,  2460,  2469,  2471,  2471,  2472,  2472,  2474,  2492,  2491,
1081 >    2514,  2514,  2515,  2515,  2515,  2517,  2523,  2532,  2535,  2535,
1082 >    2536,  2537,  2538,  2539,  2540,  2541,  2542,  2543,  2544,  2545,
1083 >    2546,  2547,  2548,  2549,  2550,  2551,  2552,  2553,  2554,  2555,
1084 >    2556,  2557,  2558,  2559,  2560,  2561,  2562,  2563,  2564,  2565,
1085 >    2566,  2567,  2568,  2569,  2570,  2571,  2572,  2573,  2574,  2575,
1086 >    2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,  2584,  2587,
1087 >    2592,  2597,  2602,  2608,  2614,  2620,  2626,  2631,  2636,  2641,
1088 >    2646,  2651,  2656,  2661,  2666,  2671,  2676,  2681,  2686,  2692,
1089 >    2703,  2708,  2713,  2718,  2723,  2728,  2733,  2738,  2741,  2746,
1090 >    2749,  2754,  2759,  2764,  2769,  2774,  2779,  2784,  2789,  2794,
1091 >    2799,  2804,  2809,  2814,  2820,  2819,  2824,  2824,  2825,  2828,
1092 >    2831,  2834,  2837,  2840,  2843,  2846,  2849,  2852,  2855,  2858,
1093 >    2861,  2864,  2867,  2870,  2873,  2876,  2879,  2882,  2885,  2888,
1094 >    2894,  2893,  2898,  2898,  2899,  2902,  2905,  2908,  2911,  2914,
1095 >    2917,  2920,  2923,  2926,  2929,  2932,  2935,  2938,  2941,  2944,
1096 >    2947,  2950,  2953,  2956,  2961,  2966,  2971,  2980,  2983,  2983,
1097 >    2984,  2985,  2986,  2987,  2988,  2989,  2990,  2991,  2992,  2993,
1098 >    2994,  2995,  2996,  2997,  2998,  3000,  3005,  3010,  3015,  3020,
1099 >    3025,  3030,  3035,  3040,  3045,  3050,  3055,  3060,  3065,  3073,
1100 >    3076,  3076,  3077,  3078,  3079,  3080,  3081,  3082,  3083,  3084,
1101 >    3085,  3087,  3093,  3099,  3105,  3111,  3120,  3135,  3141
1102   };
1103   #endif
1104  
# Line 1354 | Line 1108 | static const yytype_uint16 yyrline[] =
1108   static const char *const yytname[] =
1109   {
1110    "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ADMIN", "AFTYPE",
1111 <  "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1112 <  "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1113 <  "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1114 <  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1115 <  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1116 <  "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1117 <  "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1118 <  "FAILED_OPER_NOTICE", "FLATTEN_LINKS", "GECOS", "GENERAL", "GLINE",
1119 <  "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT", "GLINE_MIN_CIDR",
1120 <  "GLINE_MIN_CIDR6", "GLINE_REQUEST_DURATION", "GLOBAL_KILL",
1121 <  "HAVENT_READ_CONF", "HIDDEN", "HIDDEN_NAME", "HIDE_IDLE_FROM_OPERS",
1122 <  "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SERVICES", "HIDE_SPOOF_IPS",
1123 <  "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1124 <  "IP", "IRCD_AUTH", "IRCD_FLAGS", "IRCD_SID", "JOIN_FLOOD_COUNT",
1125 <  "JOIN_FLOOD_TIME", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE",
1126 <  "KLINE_EXEMPT", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1127 <  "LINKS_DELAY", "LISTEN", "MASK", "MAX_ACCEPT", "MAX_BANS",
1128 <  "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT",
1111 >  "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN",
1112 >  "AWAY_COUNT", "AWAY_TIME", "BYTES", "KBYTES", "MBYTES", "CALLER_ID_WAIT",
1113 >  "CAN_FLOOD", "CHANNEL", "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS",
1114 >  "CONNECT", "CONNECTFREQ", "CYCLE_ON_HOST_CHANGE", "DEFAULT_FLOODCOUNT",
1115 >  "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1116 >  "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1117 >  "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "EMAIL", "ENCRYPTED",
1118 >  "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE", "FLATTEN_LINKS", "GECOS",
1119 >  "GENERAL", "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT",
1120 >  "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6", "GLINE_REQUEST_DURATION",
1121 >  "GLOBAL_KILL", "HAVENT_READ_CONF", "HIDDEN", "HIDDEN_NAME", "HIDE_CHANS",
1122 >  "HIDE_IDLE", "HIDE_IDLE_FROM_OPERS", "HIDE_SERVER_IPS", "HIDE_SERVERS",
1123 >  "HIDE_SERVICES", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK",
1124 >  "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "INVITE_CLIENT_COUNT",
1125 >  "INVITE_CLIENT_TIME", "IP", "IRCD_AUTH", "IRCD_FLAGS", "IRCD_SID",
1126 >  "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "KILL", "KILL_CHASE_TIME_LIMIT",
1127 >  "KLINE", "KLINE_EXEMPT", "KNOCK_CLIENT_COUNT", "KNOCK_CLIENT_TIME",
1128 >  "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY", "LISTEN", "MASK",
1129 >  "MAX_ACCEPT", "MAX_BANS", "MAX_CHANNELS", "MAX_GLOBAL", "MAX_IDENT",
1130    "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES", "MAX_NICK_LENGTH",
1131    "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS", "MAX_TOPIC_LENGTH",
1132    "MAX_WATCH", "MIN_IDLE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE",
# Line 1386 | Line 1141 | static const char *const yytname[] =
1141    "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SECONDS", "MINUTES",
1142    "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ",
1143    "SERVERHIDE", "SERVERINFO", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1144 <  "SQUIT", "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE", "STATS_E_DISABLED",
1145 <  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",
1146 <  "STATS_P_OPER_ONLY", "T_ALL", "T_BOTS", "T_CALLERID", "T_CCONN",
1147 <  "T_CLUSTER", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1148 <  "T_FARCONNECT", "T_FILE", "T_FINGERPRINT", "T_FULL", "T_GLOBOPS",
1144 >  "SQUIT", "SSL_CERTIFICATE_FILE", "SSL_CERTIFICATE_FINGERPRINT",
1145 >  "SSL_CONNECTION_REQUIRED", "SSL_DH_ELLIPTIC_CURVE", "SSL_DH_PARAM_FILE",
1146 >  "SSL_MESSAGE_DIGEST_ALGORITHM", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1147 >  "STATS_K_OPER_ONLY", "STATS_M_OPER_ONLY", "STATS_O_OPER_ONLY",
1148 >  "STATS_P_OPER_ONLY", "STATS_U_OPER_ONLY", "T_ALL", "T_BOTS",
1149 >  "T_CALLERID", "T_CCONN", "T_COMMAND", "T_CLUSTER", "T_DEAF", "T_DEBUG",
1150 >  "T_DLINE", "T_EXTERNAL", "T_FARCONNECT", "T_FILE", "T_FULL", "T_GLOBOPS",
1151    "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_LOG", "T_MAX_CLIENTS",
1152 <  "T_NCHANGE", "T_NONONREG", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_RESTART",
1153 <  "T_SERVER", "T_SERVICE", "T_SERVICES_NAME", "T_SERVNOTICE", "T_SET",
1152 >  "T_NCHANGE", "T_NONONREG", "T_OPME", "T_PREPEND", "T_PSEUDO", "T_RECVQ",
1153 >  "T_REJ", "T_RESTART", "T_SERVER", "T_SERVICE", "T_SERVNOTICE", "T_SET",
1154    "T_SHARED", "T_SIZE", "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL",
1155 <  "T_SSL_CIPHER_LIST", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD",
1156 <  "T_SSLV3", "T_TLSV1", "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED",
1157 <  "T_UNRESV", "T_UNXLINE", "T_WALLOP", "T_WALLOPS", "T_WEBIRC", "TBOOL",
1158 <  "THROTTLE_TIME", "TKLINE_EXPIRE_NOTICES", "TMASKED",
1159 <  "TRUE_NO_OPER_FLOOD", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "TYPE",
1160 <  "UNKLINE", "USE_EGD", "USE_LOGGING", "USER", "VHOST", "VHOST6",
1161 <  "WARN_NO_NLINE", "XLINE", "';'", "'}'", "'{'", "'='", "','", "':'",
1162 <  "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1163 <  "sizespec", "modules_entry", "modules_items", "modules_item",
1164 <  "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",
1155 >  "T_SSL_CIPHER_LIST", "T_TARGET", "T_UMODES", "T_UNAUTH", "T_UNDLINE",
1156 >  "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_WALLOP", "T_WALLOPS",
1157 >  "T_WEBIRC", "TBOOL", "THROTTLE_COUNT", "THROTTLE_TIME",
1158 >  "TKLINE_EXPIRE_NOTICES", "TMASKED", "TS_MAX_DELTA", "TS_WARN_DELTA",
1159 >  "TWODOTS", "TYPE", "UNKLINE", "USE_LOGGING", "USER", "VHOST", "VHOST6",
1160 >  "WARN_NO_CONNECT_BLOCK", "XLINE", "';'", "'}'", "'{'", "'='", "','",
1161 >  "':'", "$accept", "conf", "conf_item", "timespec_", "timespec",
1162 >  "sizespec_", "sizespec", "modules_entry", "modules_items",
1163 >  "modules_item", "modules_module", "modules_path", "serverinfo_entry",
1164 >  "serverinfo_items", "serverinfo_item", "serverinfo_ssl_certificate_file",
1165    "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1166 <  "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1166 >  "serverinfo_ssl_cipher_list", "serverinfo_ssl_message_digest_algorithm",
1167 >  "serverinfo_ssl_dh_elliptic_curve", "serverinfo_name", "serverinfo_sid",
1168    "serverinfo_description", "serverinfo_network_name",
1169    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1170    "serverinfo_max_clients", "serverinfo_max_nick_length",
1171    "serverinfo_max_topic_length", "serverinfo_hub", "admin_entry",
1172    "admin_items", "admin_item", "admin_name", "admin_email",
1173    "admin_description", "motd_entry", "$@1", "motd_items", "motd_item",
1174 <  "motd_mask", "motd_file", "logging_entry", "logging_items",
1175 <  "logging_item", "logging_use_logging", "logging_file_entry", "$@2",
1176 <  "logging_file_items", "logging_file_item", "logging_file_name",
1177 <  "logging_file_size", "logging_file_type", "$@3",
1178 <  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@4",
1179 <  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1180 <  "oper_encrypted", "oper_rsa_public_key_file", "oper_fingerprint",
1181 <  "oper_class", "oper_umodes", "$@5", "oper_umodes_items",
1182 <  "oper_umodes_item", "oper_flags", "$@6", "oper_flags_items",
1183 <  "oper_flags_item", "class_entry", "$@7", "class_items", "class_item",
1184 <  "class_name", "class_ping_time", "class_number_per_ip",
1185 <  "class_connectfreq", "class_max_number", "class_max_global",
1186 <  "class_max_local", "class_max_ident", "class_sendq", "class_recvq",
1174 >  "motd_mask", "motd_file", "pseudo_entry", "$@2", "pseudo_items",
1175 >  "pseudo_item", "pseudo_command", "pseudo_name", "pseudo_prepend",
1176 >  "pseudo_target", "logging_entry", "logging_items", "logging_item",
1177 >  "logging_use_logging", "logging_file_entry", "$@3", "logging_file_items",
1178 >  "logging_file_item", "logging_file_name", "logging_file_size",
1179 >  "logging_file_type", "$@4", "logging_file_type_items",
1180 >  "logging_file_type_item", "oper_entry", "$@5", "oper_items", "oper_item",
1181 >  "oper_name", "oper_user", "oper_password", "oper_encrypted",
1182 >  "oper_rsa_public_key_file", "oper_ssl_certificate_fingerprint",
1183 >  "oper_ssl_connection_required", "oper_class", "oper_umodes", "$@6",
1184 >  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@7",
1185 >  "oper_flags_items", "oper_flags_item", "class_entry", "$@8",
1186 >  "class_items", "class_item", "class_name", "class_ping_time",
1187 >  "class_number_per_ip", "class_connectfreq", "class_max_channels",
1188 >  "class_max_number", "class_max_global", "class_max_local",
1189 >  "class_max_ident", "class_sendq", "class_recvq",
1190    "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1191    "class_number_per_cidr", "class_min_idle", "class_max_idle",
1192 <  "class_flags", "$@8", "class_flags_items", "class_flags_item",
1193 <  "listen_entry", "$@9", "listen_flags", "$@10", "listen_flags_items",
1192 >  "class_flags", "$@9", "class_flags_items", "class_flags_item",
1193 >  "listen_entry", "$@10", "listen_flags", "$@11", "listen_flags_items",
1194    "listen_flags_item", "listen_items", "listen_item", "listen_port",
1195 <  "$@11", "port_items", "port_item", "listen_address", "listen_host",
1196 <  "auth_entry", "$@12", "auth_items", "auth_item", "auth_user",
1197 <  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@13",
1195 >  "$@12", "port_items", "port_item", "listen_address", "listen_host",
1196 >  "auth_entry", "$@13", "auth_items", "auth_item", "auth_user",
1197 >  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@14",
1198    "auth_flags_items", "auth_flags_item", "auth_spoof", "auth_redir_serv",
1199 <  "auth_redir_port", "resv_entry", "$@14", "resv_items", "resv_item",
1199 >  "auth_redir_port", "resv_entry", "$@15", "resv_items", "resv_item",
1200    "resv_mask", "resv_reason", "resv_exempt", "service_entry",
1201 <  "service_items", "service_item", "service_name", "shared_entry", "$@15",
1201 >  "service_items", "service_item", "service_name", "shared_entry", "$@16",
1202    "shared_items", "shared_item", "shared_name", "shared_user",
1203 <  "shared_type", "$@16", "shared_types", "shared_type_item",
1204 <  "cluster_entry", "$@17", "cluster_items", "cluster_item", "cluster_name",
1205 <  "cluster_type", "$@18", "cluster_types", "cluster_type_item",
1206 <  "connect_entry", "$@19", "connect_items", "connect_item", "connect_name",
1203 >  "shared_type", "$@17", "shared_types", "shared_type_item",
1204 >  "cluster_entry", "$@18", "cluster_items", "cluster_item", "cluster_name",
1205 >  "cluster_type", "$@19", "cluster_types", "cluster_type_item",
1206 >  "connect_entry", "$@20", "connect_items", "connect_item", "connect_name",
1207    "connect_host", "connect_vhost", "connect_send_password",
1208 <  "connect_accept_password", "connect_fingerprint", "connect_port",
1209 <  "connect_aftype", "connect_flags", "$@20", "connect_flags_items",
1210 <  "connect_flags_item", "connect_encrypted", "connect_hub_mask",
1211 <  "connect_leaf_mask", "connect_class", "connect_ssl_cipher_list",
1212 <  "kill_entry", "$@21", "kill_items", "kill_item", "kill_user",
1213 <  "kill_reason", "deny_entry", "$@22", "deny_items", "deny_item",
1214 <  "deny_ip", "deny_reason", "exempt_entry", "exempt_items", "exempt_item",
1215 <  "exempt_ip", "gecos_entry", "$@23", "gecos_items", "gecos_item",
1216 <  "gecos_name", "gecos_reason", "general_entry", "general_items",
1217 <  "general_item", "general_max_watch", "general_gline_enable",
1218 <  "general_gline_duration", "general_gline_request_duration",
1219 <  "general_gline_min_cidr", "general_gline_min_cidr6",
1220 <  "general_tkline_expire_notices", "general_kill_chase_time_limit",
1221 <  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1208 >  "connect_accept_password", "connect_ssl_certificate_fingerprint",
1209 >  "connect_port", "connect_aftype", "connect_flags", "$@21",
1210 >  "connect_flags_items", "connect_flags_item", "connect_encrypted",
1211 >  "connect_hub_mask", "connect_leaf_mask", "connect_class",
1212 >  "connect_ssl_cipher_list", "kill_entry", "$@22", "kill_items",
1213 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@23",
1214 >  "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1215 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@24",
1216 >  "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1217 >  "general_entry", "general_items", "general_item", "general_away_count",
1218 >  "general_away_time", "general_max_watch", "general_cycle_on_host_change",
1219 >  "general_gline_enable", "general_gline_duration",
1220 >  "general_gline_request_duration", "general_gline_min_cidr",
1221 >  "general_gline_min_cidr6", "general_tkline_expire_notices",
1222 >  "general_kill_chase_time_limit", "general_ignore_bogus_ts",
1223    "general_failed_oper_notice", "general_anti_nick_flood",
1224    "general_max_nick_time", "general_max_nick_changes",
1225    "general_max_accept", "general_anti_spam_exit_message_time",
1226    "general_ts_warn_delta", "general_ts_max_delta",
1227    "general_havent_read_conf", "general_invisible_on_connect",
1228 <  "general_warn_no_nline", "general_stats_e_disabled",
1229 <  "general_stats_o_oper_only", "general_stats_P_oper_only",
1228 >  "general_warn_no_connect_block", "general_stats_e_disabled",
1229 >  "general_stats_m_oper_only", "general_stats_o_oper_only",
1230 >  "general_stats_P_oper_only", "general_stats_u_oper_only",
1231    "general_stats_k_oper_only", "general_stats_i_oper_only",
1232    "general_pace_wait", "general_caller_id_wait",
1233    "general_opers_bypass_callerid", "general_pace_wait_simple",
1234 <  "general_short_motd", "general_no_oper_flood",
1235 <  "general_true_no_oper_flood", "general_oper_pass_resv",
1236 <  "general_dots_in_ident", "general_max_targets", "general_use_egd",
1237 <  "general_egdpool_path", "general_services_name", "general_ping_cookie",
1238 <  "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1239 <  "$@24", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1481 <  "$@25", "umode_items", "umode_item", "general_min_nonwildcard",
1234 >  "general_short_motd", "general_no_oper_flood", "general_oper_pass_resv",
1235 >  "general_dots_in_ident", "general_max_targets", "general_ping_cookie",
1236 >  "general_disable_auth", "general_throttle_count",
1237 >  "general_throttle_time", "general_oper_umodes", "$@25", "umode_oitems",
1238 >  "umode_oitem", "general_oper_only_umodes", "$@26", "umode_items",
1239 >  "umode_item", "general_min_nonwildcard",
1240    "general_min_nonwildcard_simple", "general_default_floodcount",
1241    "channel_entry", "channel_items", "channel_item",
1242 <  "channel_disable_fake_channels", "channel_knock_delay",
1243 <  "channel_knock_delay_channel", "channel_max_chans_per_user",
1244 <  "channel_max_chans_per_oper", "channel_max_bans",
1242 >  "channel_disable_fake_channels", "channel_invite_client_count",
1243 >  "channel_invite_client_time", "channel_knock_client_count",
1244 >  "channel_knock_client_time", "channel_knock_delay_channel",
1245 >  "channel_max_channels", "channel_max_bans",
1246    "channel_default_split_user_count", "channel_default_split_server_count",
1247    "channel_no_create_on_split", "channel_no_join_on_split",
1248    "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
# Line 1491 | Line 1250 | static const char *const yytname[] =
1250    "serverhide_disable_remote_commands", "serverhide_hide_servers",
1251    "serverhide_hide_services", "serverhide_hidden_name",
1252    "serverhide_links_delay", "serverhide_hidden",
1253 <  "serverhide_hide_server_ips", YY_NULL
1253 >  "serverhide_hide_server_ips", YY_NULLPTR
1254   };
1255   #endif
1256  
1257   # ifdef YYPRINT
1258 < /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1259 <   token YYLEX-NUM.  */
1258 > /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1259 >   (internal) symbol number NUM (which must be that of a token).  */
1260   static const yytype_uint16 yytoknum[] =
1261   {
1262         0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
# Line 1522 | Line 1281 | static const yytype_uint16 yytoknum[] =
1281       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1282       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1283       465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1284 <     475,   476,   477,   478,    59,   125,   123,    61,    44,    58
1284 >     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1285 >     485,   486,   487,    59,   125,   123,    61,    44,    58
1286   };
1287   # endif
1288  
1289 < /* 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 < };
1289 > #define YYPACT_NINF -946
1290  
1291 < /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1292 < static const yytype_uint8 yyr2[] =
1291 > #define yypact_value_is_default(Yystate) \
1292 >  (!!((Yystate) == (-946)))
1293 >
1294 > #define YYTABLE_NINF -130
1295 >
1296 > #define yytable_value_is_error(Yytable_value) \
1297 >  0
1298 >
1299 >  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1300 >     STATE-NUM.  */
1301 > static const yytype_int16 yypact[] =
1302   {
1303 <       0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1304 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1305 <       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
1306 <       3,     3,     3,     3,     3,     3,     3,     0,     1,     2,
1307 <       3,     3,     3,     5,     2,     1,     1,     1,     2,     4,
1308 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1309 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1310 <       1,     2,     4,     4,     3,     1,     1,     1,     3,     1,
1311 <       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
1312 <       4,     4,     4,     4,     4,     4,     4,     5,     2,     1,
1313 <       1,     1,     1,     2,     4,     4,     4,     0,     6,     2,
1314 <       1,     1,     1,     2,     4,     4,     5,     2,     1,     1,
1315 <       1,     2,     4,     0,     6,     2,     1,     1,     1,     1,
1316 <       2,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1317 <       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1318 <       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
1319 <       4,     4,     4,     4,     4,     4,     0,     5,     3,     1,
1320 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1321 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1322 <       1,     0,     5,     3,     1,     3,     1,     3,     1,     3,
1323 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1324 <       1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
1325 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1326 <       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
1327 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1328 <       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1329 <       0,     6,     0,     5,     3,     1,     1,     1,     1,     2,
1330 <       1,     1,     1,     1,     1,     2,     0,     5,     3,     1,
1331 <       1,     3,     4,     4,     0,     6,     2,     1,     1,     1,
1332 <       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
1333 <       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1334 <       1,     1,     1,     1,     1,     4,     4,     4,     0,     6,
1335 <       2,     1,     1,     1,     1,     2,     4,     4,     4,     5,
1336 <       2,     1,     1,     1,     4,     0,     6,     2,     1,     1,
1337 <       1,     1,     2,     4,     4,     0,     5,     3,     1,     1,
1338 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1339 <       6,     2,     1,     1,     1,     2,     4,     0,     5,     3,
1340 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1341 <       1,     0,     6,     2,     1,     1,     1,     1,     1,     1,
1342 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1343 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     0,
1344 <       5,     3,     1,     1,     1,     4,     4,     4,     4,     4,
1345 <       0,     6,     2,     1,     1,     1,     1,     4,     4,     0,
1346 <       6,     2,     1,     1,     1,     1,     4,     4,     5,     2,
1347 <       1,     1,     1,     4,     0,     6,     2,     1,     1,     1,
1348 <       1,     4,     4,     5,     2,     1,     1,     1,     1,     1,
1349 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1350 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1351 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1352 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1353 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1354 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1355 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1356 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1357 <       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
1358 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1359 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1360 <       1,     1,     1,     0,     5,     3,     1,     1,     1,     1,
1361 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1362 <       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1363 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1364 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1365 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     5,
1366 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1367 <       1,     4,     4,     4,     4,     4,     4,     4,     4
1303 >    -946,   637,  -946,  -199,  -224,  -217,  -946,  -946,  -946,  -198,
1304 >    -946,  -186,  -946,  -946,  -946,  -181,  -946,  -946,  -946,  -180,
1305 >    -169,  -946,  -167,  -946,  -154,  -946,  -946,  -946,  -946,  -946,
1306 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1307 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1308 >    -946,    55,   885,  -143,  -137,  -131,    14,  -130,   397,  -124,
1309 >    -116,   -92,    86,   -89,   -60,   -48,   336,   437,   -45,    39,
1310 >     -32,    23,   -13,   -21,    -8,    -6,     9,    19,  -946,  -946,
1311 >    -946,  -946,  -946,    43,    57,    68,    77,    78,    80,    89,
1312 >      91,   100,   102,   105,   107,   110,   117,   224,  -946,  -946,
1313 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1314 >    -946,  -946,  -946,   634,   568,    20,  -946,   120,     7,  -946,
1315 >    -946,    18,  -946,   129,   133,   134,   136,   139,   140,   143,
1316 >     144,   145,   146,   147,   152,   153,   159,   160,   161,   164,
1317 >     166,   173,   174,   177,   178,   181,   186,   188,   189,   191,
1318 >    -946,   195,  -946,   196,   199,   205,   213,   214,   215,   218,
1319 >     219,   220,   225,   226,   227,   230,   235,   236,   237,   239,
1320 >     240,    16,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1321 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1322 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1323 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1324 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1325 >    -946,   414,    35,   281,    -2,   242,   243,    40,  -946,  -946,
1326 >    -946,   138,   344,   275,  -946,   245,   248,   250,   252,   256,
1327 >     258,   262,   263,   304,  -946,  -946,  -946,  -946,  -946,  -946,
1328 >    -946,  -946,  -946,    22,   266,   267,   268,   271,   273,   274,
1329 >     276,   280,   284,   290,   291,   293,   294,   295,   300,   311,
1330 >     314,    56,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1331 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1332 >      71,    34,   315,    30,  -946,  -946,  -946,   128,   194,  -946,
1333 >     317,    69,  -946,  -946,     4,  -946,   203,   302,   383,   308,
1334 >    -946,   441,   442,   340,   443,   452,   455,   452,   457,   452,
1335 >     452,   461,   463,   361,   362,   352,  -946,   353,   354,   355,
1336 >     357,  -946,   363,   364,   365,   368,   369,   378,   382,   385,
1337 >     386,   387,   390,   395,   404,   184,  -946,  -946,  -946,  -946,
1338 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1339 >    -946,  -946,  -946,  -946,   356,   409,   413,   418,   422,   424,
1340 >     425,  -946,   429,   433,   434,   436,   438,   444,   453,   165,
1341 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1342 >    -946,  -946,  -946,  -946,  -946,  -946,   454,   456,    27,  -946,
1343 >    -946,  -946,   460,   400,  -946,  -946,   462,   465,    46,  -946,
1344 >    -946,  -946,   381,   452,   537,   452,   452,   474,   565,   476,
1345 >     566,   479,   452,   480,   586,   590,   452,   592,   489,   490,
1346 >     452,   597,   599,   452,   603,   612,   615,   616,   513,   496,
1347 >     516,   499,   519,   452,   452,   523,   524,   529,  -205,  -188,
1348 >     530,   533,   534,   536,   644,   452,   542,   452,   452,   544,
1349 >     539,  -946,   543,   526,   527,  -946,   531,   541,   545,   547,
1350 >     549,   305,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1351 >    -946,  -946,   552,   553,    31,  -946,  -946,  -946,   546,   555,
1352 >     556,  -946,   559,  -946,     8,  -946,  -946,  -946,  -946,  -946,
1353 >     638,   641,   561,  -946,   563,   562,   564,    12,  -946,  -946,
1354 >    -946,   569,   567,   570,  -946,   571,   572,   573,   575,   576,
1355 >    -946,   577,    50,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1356 >    -946,  -946,  -946,  -946,   581,   579,   580,   582,    41,  -946,
1357 >    -946,  -946,  -946,   548,   584,   587,   647,   588,   600,   602,
1358 >     452,   589,  -946,  -946,   650,   604,   652,   686,   707,   696,
1359 >     697,   698,   700,   705,   712,   714,   716,   732,   719,   720,
1360 >     723,   619,  -946,   620,   618,  -946,    95,  -946,  -946,  -946,
1361 >    -946,   639,   624,  -946,   623,   627,   625,   626,   630,   631,
1362 >      49,  -946,  -946,  -946,  -946,  -946,   740,   636,  -946,   645,
1363 >     649,  -946,   653,    94,  -946,  -946,  -946,  -946,   648,   655,
1364 >     659,  -946,   660,   662,   664,   665,   467,   666,   668,   669,
1365 >     670,   674,   675,   689,   691,   693,   694,  -946,  -946,   761,
1366 >     770,   452,   658,   806,   816,   817,   452,   820,   821,   452,
1367 >     807,   823,   825,   452,   826,   826,   709,  -946,  -946,   812,
1368 >    -140,   815,   727,   830,   831,   715,   832,   836,   835,   837,
1369 >     838,   839,   840,   721,  -946,   843,   844,   741,  -946,   742,
1370 >    -946,   845,   848,   744,  -946,   745,   746,   747,   748,   749,
1371 >     750,   751,   752,   753,   754,   755,   756,   757,   758,   759,
1372 >     760,   763,   764,   765,   766,   767,   768,   769,   771,   772,
1373 >     773,   774,   743,   775,   661,   776,   777,   778,   779,   780,
1374 >     781,   782,   783,   784,   785,   786,   787,   788,   789,   790,
1375 >     791,   792,   793,   794,   795,  -946,  -946,   875,   736,   796,
1376 >     901,   917,   903,   905,   906,   802,  -946,   908,   909,   805,
1377 >    -946,  -946,   911,   912,   808,   928,   809,  -946,   810,   813,
1378 >    -946,  -946,   919,   920,   818,  -946,  -946,   921,   828,   814,
1379 >     924,   925,   926,   927,   841,   824,   929,   829,  -946,  -946,
1380 >     931,   933,   935,   833,  -946,   834,   842,   846,   847,   849,
1381 >     850,   851,   852,  -946,   853,   854,   855,   856,   857,   858,
1382 >     859,   860,   861,   862,   863,   864,   865,   866,   867,   868,
1383 >     869,  -946,  -946,   936,   870,   871,  -946,   872,  -946,    90,
1384 >    -946,   937,   940,   941,   942,   874,  -946,   876,  -946,  -946,
1385 >     943,   877,   944,   878,  -946,  -946,  -946,  -946,  -946,  -946,
1386 >    -946,  -946,   452,   452,   452,   452,   452,   452,   452,  -946,
1387 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1388 >    -946,   879,   881,   882,   -44,   883,   884,   886,   887,   888,
1389 >     889,   890,   891,   892,   893,   894,   339,   895,   896,  -946,
1390 >     897,   898,   899,   900,   902,   904,   907,    -5,   910,   913,
1391 >     914,   915,   916,   918,   922,  -946,   923,   930,  -946,  -946,
1392 >     932,   934,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1393 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1394 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1395 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1396 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1397 >    -173,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1398 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1399 >    -946,  -946,  -946,  -946,  -946,  -162,  -946,  -946,  -946,  -946,
1400 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1401 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,   938,   939,   430,
1402 >     945,   946,   947,   948,   949,  -946,   950,   951,  -946,   952,
1403 >     953,   -36,   963,   819,  -946,  -946,  -946,  -946,   955,   956,
1404 >    -946,   957,   958,   449,   959,   960,   961,   962,   964,   702,
1405 >     965,  -946,   966,   967,   968,  -946,  -946,  -946,  -946,  -946,
1406 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1407 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1408 >    -946,   969,   532,  -946,  -946,   970,   971,   972,  -946,    26,
1409 >    -946,  -946,  -946,  -946,   973,   976,   977,   978,  -946,  -946,
1410 >     979,   558,   980,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1411 >    -946,  -946,  -946,  -946,  -946,  -946,  -136,  -946,  -946,  -946,
1412 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,   826,
1413 >     826,   826,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1414 >    -946,  -946,  -946,  -946,  -946,  -109,  -946,  -946,  -946,  -946,
1415 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,   743,
1416 >    -946,   661,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1417 >    -946,  -946,  -946,  -946,   -41,  -946,  -946,  -946,  -946,  -946,
1418 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,   -29,  -946,
1419 >     990,   928,   981,  -946,  -946,  -946,  -946,  -946,   880,  -946,
1420 >    -946,   982,  -946,  -946,  -946,  -946,   983,  -946,  -946,  -946,
1421 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,   -20,  -946,
1422 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1423 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1424 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,   -14,  -946,  -946,
1425 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1426 >    -946,  -946,  -946,  -946,   111,  -946,  -946,  1006,   -23,   986,
1427 >     984,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1428 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,   125,  -946,  -946,
1429 >    -946,   -44,  -946,  -946,  -946,  -946,    -5,  -946,  -946,  -946,
1430 >     430,  -946,   -36,  -946,  -946,  -946,   974,  1002,  1004,  -946,
1431 >     449,  -946,   702,  -946,   532,   985,   991,   992,   349,  -946,
1432 >    -946,   558,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1433 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1434 >    -946,  -946,  -946,  -946,   131,  -946,  -946,  -946,   349,  -946
1435   };
1436  
1437 < /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1438 <   Performed when YYTABLE doesn't specify something else to do.  Zero
1439 <   means the default is an error.  */
1437 >  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1438 >     Performed when YYTABLE does not specify something else to do.  Zero
1439 >     means the default is an error.  */
1440   static const yytype_uint16 yydefact[] =
1441   {
1442 <       2,     0,     1,     0,     0,     0,   218,   381,   429,     0,
1443 <     444,     0,   284,   420,   260,     0,   107,   145,   318,     0,
1444 <       0,   359,     0,     0,   335,     3,    23,    11,     4,    24,
1445 <       5,     6,     8,     9,    10,    13,    14,    15,    16,    17,
1446 <      18,    19,    20,    22,    21,     7,    12,    25,    26,     0,
1447 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1442 >       2,     0,     1,     0,     0,     0,   230,   395,   443,     0,
1443 >     458,     0,   298,   434,   274,     0,   100,   153,   332,     0,
1444 >       0,   373,     0,   109,     0,   349,     3,    23,    11,     4,
1445 >      24,    25,     5,     6,     8,     9,    10,    13,    14,    15,
1446 >      16,    17,    18,    19,    20,    22,    21,     7,    12,    26,
1447 >      27,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1448         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1449 <       0,     0,     0,     0,     0,    99,   100,   102,   101,   616,
1449 >       0,     0,     0,     0,     0,     0,     0,     0,    92,    93,
1450 >      95,    94,   634,     0,     0,     0,     0,     0,     0,     0,
1451 >       0,     0,     0,     0,     0,     0,     0,     0,   619,   633,
1452 >     621,   622,   623,   624,   625,   626,   620,   627,   628,   629,
1453 >     630,   631,   632,     0,     0,     0,   456,     0,     0,   454,
1454 >     455,     0,   518,     0,     0,     0,     0,     0,     0,     0,
1455         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1683       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,
1456         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1457 +     590,     0,   564,     0,     0,     0,     0,     0,     0,     0,
1458         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1459 <       0,     0,   573,     0,   548,     0,     0,     0,     0,     0,
1459 >       0,     0,   469,   470,   471,   516,   517,   510,   511,   512,
1460 >     513,   514,   509,   481,   472,   473,   474,   475,   476,   477,
1461 >     478,   479,   480,   506,   482,   483,   515,   487,   488,   489,
1462 >     490,   486,   485,   491,   499,   500,   492,   493,   494,   495,
1463 >     484,   497,   507,   508,   504,   505,   498,   496,   502,   503,
1464 >     501,     0,     0,     0,     0,     0,     0,     0,    46,    47,
1465 >      48,     0,     0,     0,   660,     0,     0,     0,     0,     0,
1466 >       0,     0,     0,     0,   651,   652,   653,   654,   655,   658,
1467 >     656,   657,   659,     0,     0,     0,     0,     0,     0,     0,
1468         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1469 <       0,     0,     0,     0,   455,   501,   495,   496,   497,   498,
1470 <     499,   494,   466,   456,   457,   458,   459,   460,   461,   462,
1471 <     463,   464,   465,   491,   467,   468,   500,   470,   475,   471,
1472 <     473,   472,   485,   486,   474,   476,   477,   478,   479,   469,
1473 <     481,   482,   483,   502,   492,   493,   490,   484,   480,   488,
1474 <     489,   487,     0,     0,     0,     0,     0,     0,     0,    45,
1475 <      46,    47,     0,     0,     0,   640,     0,     0,     0,     0,
1476 <       0,     0,     0,     0,     0,   631,   632,   633,   634,   635,
1477 <     638,   636,   637,   639,     0,     0,     0,     0,     0,     0,
1469 >       0,     0,    54,    69,    66,    64,    70,    71,    65,    55,
1470 >      68,    58,    59,    60,    56,    67,    61,    62,    63,    57,
1471 >       0,     0,     0,     0,   124,   125,   126,     0,     0,   347,
1472 >       0,     0,   345,   346,     0,    96,     0,     0,     0,     0,
1473 >      91,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1474 >       0,     0,     0,     0,     0,     0,   618,     0,     0,     0,
1475 >       0,   268,     0,     0,     0,     0,     0,     0,     0,     0,
1476 >       0,     0,     0,     0,     0,     0,   233,   234,   237,   239,
1477 >     240,   241,   242,   243,   244,   245,   246,   247,   235,   236,
1478 >     238,   248,   249,   250,     0,     0,     0,     0,     0,     0,
1479 >       0,   423,     0,     0,     0,     0,     0,     0,     0,     0,
1480 >     398,   399,   400,   401,   402,   403,   404,   406,   405,   408,
1481 >     412,   409,   410,   411,   407,   449,     0,     0,     0,   446,
1482 >     447,   448,     0,     0,   453,   464,     0,     0,     0,   461,
1483 >     462,   463,     0,     0,     0,     0,     0,     0,     0,     0,
1484         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,
1485         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,
1486         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1487         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1488 +       0,   468,     0,     0,     0,   315,     0,     0,     0,     0,
1489 +       0,     0,   301,   302,   303,   304,   309,   305,   306,   307,
1490 +     308,   440,     0,     0,     0,   437,   438,   439,     0,     0,
1491 +       0,   276,     0,   286,     0,   284,   285,   287,   288,    49,
1492 +       0,     0,     0,    45,     0,     0,     0,     0,   103,   104,
1493 +     105,     0,     0,     0,   202,     0,     0,     0,     0,     0,
1494 +     176,     0,     0,   156,   157,   158,   159,   162,   163,   164,
1495 +     165,   161,   160,   166,     0,     0,     0,     0,     0,   335,
1496 +     336,   337,   338,     0,     0,     0,     0,     0,     0,     0,
1497 +       0,     0,   650,    72,     0,     0,     0,     0,     0,     0,
1498         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1499 +       0,     0,    53,     0,     0,   381,     0,   376,   377,   378,
1500 +     127,     0,     0,   123,     0,     0,     0,     0,     0,     0,
1501 +       0,   112,   113,   115,   114,   116,     0,     0,   344,     0,
1502 +       0,   359,     0,     0,   352,   353,   354,   355,     0,     0,
1503 +       0,    90,     0,     0,     0,     0,    28,     0,     0,     0,
1504 +       0,     0,     0,     0,     0,     0,     0,   617,   251,     0,
1505         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1506 <       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,
1506 >       0,     0,     0,     0,     0,     0,     0,   232,   413,     0,
1507         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1508 <       0,     0,     0,     0,     0,    52,     0,     0,   367,     0,
1509 <     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,
1508 >       0,     0,     0,     0,   397,     0,     0,     0,   445,     0,
1509 >     452,     0,     0,     0,   460,     0,     0,     0,     0,     0,
1510         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1735       0,     0,     0,     0,     0,     0,   220,   399,     0,     0,
1511         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1737       0,     0,     0,   383,     0,     0,     0,   431,     0,   438,
1738       0,     0,     0,   446,     0,     0,     0,     0,     0,     0,
1512         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1513         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1514 +       0,     0,     0,     0,     0,   467,   310,     0,     0,     0,
1515 +       0,     0,     0,     0,     0,     0,   300,     0,     0,     0,
1516 +     436,   289,     0,     0,     0,     0,     0,   283,     0,     0,
1517 +      44,   106,     0,     0,     0,   102,   167,     0,     0,     0,
1518 +       0,     0,     0,     0,     0,     0,     0,     0,   155,   339,
1519 +       0,     0,     0,     0,   334,     0,     0,     0,     0,     0,
1520 +       0,     0,     0,   649,     0,     0,     0,     0,     0,     0,
1521         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1522 +       0,    52,   379,     0,     0,     0,   375,     0,   122,     0,
1523 +     117,     0,     0,     0,     0,     0,   111,     0,   343,   356,
1524 +       0,     0,     0,     0,   351,    99,    98,    97,   644,   643,
1525 +     635,   636,    28,    28,    28,    28,    28,    28,    28,    30,
1526 +      29,   637,   647,   648,   638,   639,   640,   642,   641,   645,
1527 +     646,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1528 +       0,     0,     0,     0,     0,     0,    38,     0,     0,   231,
1529         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1530 <       0,     0,     0,   453,   296,     0,     0,     0,     0,     0,
1531 <       0,     0,     0,     0,   286,     0,     0,     0,   422,   275,
1532 <       0,     0,     0,     0,     0,   269,     0,     0,    43,   113,
1533 <       0,     0,     0,   109,   158,     0,     0,     0,     0,     0,
1534 <       0,     0,     0,     0,     0,   147,   325,     0,     0,     0,
1535 <       0,   320,     0,     0,     0,     0,     0,     0,     0,     0,
1536 <     629,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1537 <       0,     0,     0,     0,    76,    77,     0,    75,    80,    81,
1538 <       0,    79,     0,     0,    51,   365,     0,     0,     0,   361,
1539 <       0,   116,     0,     0,   329,   342,     0,     0,     0,     0,
1540 <     337,   106,   105,   104,   624,   623,   617,   627,    27,    27,
1541 <      27,    27,    27,    27,    27,    29,    28,   628,   618,   619,
1542 <     622,   621,   620,   625,   626,     0,     0,     0,     0,     0,
1543 <       0,     0,     0,     0,     0,     0,     0,     0,     0,    37,
1544 <       0,     0,   219,     0,     0,     0,     0,     0,     0,     0,
1545 <       0,     0,     0,     0,     0,     0,     0,     0,   382,     0,
1546 <       0,   430,   443,     0,     0,   445,   515,   519,   533,   600,
1547 <     546,   540,   543,   514,   506,   505,   508,   509,   507,   522,
1548 <     512,   513,   523,   511,   518,   517,   516,   541,   504,   598,
1549 <     599,   537,   583,   577,   594,   578,   579,   580,   588,   597,
1550 <     581,   591,   595,   584,   596,   589,   585,   590,   582,   593,
1551 <     587,   586,   592,     0,   576,   539,   557,   552,   569,   553,
1552 <     554,   555,   563,   572,   556,   566,   570,   559,   571,   564,
1553 <     560,   565,   558,   568,   562,   561,   567,     0,   551,   534,
1554 <     532,   535,   545,   536,   525,   530,   531,   528,   529,   526,
1555 <     527,   544,   547,   510,   538,   521,   520,   542,   524,     0,
1556 <       0,     0,     0,     0,     0,     0,     0,   285,     0,     0,
1557 <     421,     0,     0,     0,   280,   276,   279,   261,    49,    50,
1558 <       0,     0,   108,     0,     0,     0,     0,     0,     0,     0,
1559 <       0,     0,   146,     0,     0,     0,   319,   642,   641,   647,
1560 <     645,   648,   643,   644,   646,    88,    96,    87,    94,    95,
1561 <      86,    90,    89,    83,    82,    84,    93,    85,    72,     0,
1562 <      73,     0,    91,    92,     0,     0,   360,   122,     0,     0,
1563 <       0,   134,     0,   126,   127,   129,   128,   334,     0,     0,
1564 <       0,   336,    30,    31,    32,    33,    34,    35,    36,   249,
1565 <     250,   242,   259,   258,     0,   257,   244,   246,   253,   245,
1566 <     243,   252,   239,   251,   241,   240,    37,    37,    37,    39,
1567 <      38,   247,   248,   404,   407,   408,   418,   415,   401,   416,
1568 <     413,   414,     0,   412,   417,   400,   406,   403,   405,   419,
1569 <     402,   436,   437,   451,   452,   574,     0,   549,     0,   299,
1570 <     300,   309,   306,   311,   307,   308,   314,   310,   312,   305,
1571 <     313,     0,   304,   298,   317,   316,   315,   297,   428,   427,
1572 <     283,   282,   267,   268,   266,     0,   265,     0,     0,     0,
1573 <     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
1530 >       0,     0,     0,     0,     0,   396,     0,     0,   444,   457,
1531 >       0,     0,   459,   532,   536,   519,   520,   552,   522,   616,
1532 >     561,   558,   531,   524,   523,   526,   527,   525,   539,   530,
1533 >     540,   529,   535,   534,   533,   559,   521,   614,   615,   556,
1534 >     600,   594,   610,   595,   596,   597,   605,   613,   598,   607,
1535 >     611,   601,   612,   602,   606,   599,   609,   604,   603,   608,
1536 >       0,   593,   557,   573,   574,   575,   568,   586,   569,   570,
1537 >     571,   581,   589,   572,   583,   587,   577,   588,   578,   582,
1538 >     576,   585,   580,   579,   584,     0,   567,   553,   551,   554,
1539 >     560,   555,   542,   549,   550,   547,   548,   543,   544,   545,
1540 >     546,   562,   563,   528,   538,   537,   541,     0,     0,     0,
1541 >       0,     0,     0,     0,     0,   299,     0,     0,   435,     0,
1542 >       0,     0,   294,   290,   293,   275,    50,    51,     0,     0,
1543 >     101,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1544 >       0,   154,     0,     0,     0,   333,   662,   661,   667,   665,
1545 >     668,   663,   664,   666,    81,    89,    80,    87,    88,    79,
1546 >      83,    82,    74,    73,    78,    75,    77,    86,    76,    84,
1547 >      85,     0,     0,   374,   128,     0,     0,     0,   140,     0,
1548 >     132,   133,   135,   134,     0,     0,     0,     0,   110,   348,
1549 >       0,     0,     0,   350,    31,    32,    33,    34,    35,    36,
1550 >      37,   263,   264,   255,   273,   272,     0,   271,   256,   258,
1551 >     260,   267,   259,   257,   266,   252,   265,   254,   253,    38,
1552 >      38,    38,    40,    39,   261,   262,   418,   421,   422,   432,
1553 >     429,   415,   430,   427,   428,     0,   426,   431,   414,   420,
1554 >     417,   419,   433,   416,   450,   451,   465,   466,   591,     0,
1555 >     565,     0,   313,   314,   323,   320,   325,   321,   322,   328,
1556 >     324,   326,   319,   327,     0,   318,   312,   331,   330,   329,
1557 >     311,   442,   441,   297,   296,   281,   282,   280,     0,   279,
1558 >       0,     0,     0,   107,   108,   175,   171,   222,   209,   219,
1559 >     218,   207,   212,   228,   221,   226,   211,   214,   223,   225,
1560 >     229,   220,   227,   215,   217,   224,   213,   216,     0,   205,
1561 >     168,   170,   172,   173,   174,   185,   186,   187,   180,   198,
1562 >     181,   182,   183,   193,   201,   184,   195,   199,   189,   200,
1563 >     190,   194,   188,   197,   192,   191,   196,     0,   179,   169,
1564 >     342,   340,   341,   380,   385,   391,   394,   387,   393,   388,
1565 >     392,   390,   386,   389,     0,   384,   136,     0,     0,     0,
1566 >       0,   131,   119,   118,   120,   121,   357,   363,   369,   372,
1567 >     365,   371,   366,   370,   368,   364,   367,     0,   362,   358,
1568 >     269,     0,    41,    42,    43,   424,     0,   592,   566,   316,
1569 >       0,   277,     0,   295,   292,   291,     0,     0,     0,   203,
1570 >       0,   177,     0,   382,     0,     0,     0,     0,     0,   130,
1571 >     360,     0,   270,   425,   317,   278,   208,   206,   210,   204,
1572 >     178,   383,   137,   139,   138,   146,   151,   150,   145,   148,
1573 >     152,   149,   144,   147,     0,   143,   361,   141,     0,   142
1574   };
1575  
1576 < /* YYDEFGOTO[NTERM-NUM].  */
1577 < 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
1835 < };
1836 <
1837 < /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1838 <   STATE-NUM.  */
1839 < #define YYPACT_NINF -736
1840 < static const yytype_int16 yypact[] =
1576 >  /* YYPGOTO[NTERM-NUM].  */
1577 > static const yytype_int16 yypgoto[] =
1578   {
1579 <    -736,   630,  -736,  -163,  -195,  -186,  -736,  -736,  -736,  -184,
1580 <    -736,  -174,  -736,  -736,  -736,  -172,  -736,  -736,  -736,  -148,
1581 <    -145,  -736,  -143,  -138,  -736,  -736,  -736,  -736,  -736,  -736,
1582 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1583 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   311,
1584 <     925,  -125,   -92,   -71,    25,   -58,   424,   -53,   -50,   -38,
1585 <      49,   -22,   -20,     2,   622,   338,    27,     9,    26,    39,
1586 <    -131,   -16,    51,    70,     8,  -736,  -736,  -736,  -736,  -736,
1587 <      72,    74,    76,    80,    83,    98,   100,   103,   104,   110,
1588 <     116,   118,   325,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1589 <    -736,  -736,  -736,  -736,  -736,  -736,   650,   352,   189,  -736,
1590 <     122,    15,  -736,  -736,    65,  -736,   123,   127,   129,   131,
1591 <     132,   133,   134,   136,   137,   139,   140,   141,   143,   144,
1592 <     148,   150,   151,   152,   153,   155,   156,   158,   159,   160,
1593 <     161,   164,  -736,   165,  -736,   166,   170,   171,   178,   183,
1594 <     185,   188,   190,   191,   192,   194,   199,   205,   206,   207,
1595 <     210,   213,   214,   107,  -736,  -736,  -736,  -736,  -736,  -736,
1596 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1597 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1598 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1599 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1600 <    -736,  -736,   475,     6,   278,    48,   215,   216,    46,  -736,
1601 <    -736,  -736,    11,   489,    17,  -736,   218,   220,   221,   224,
1602 <     225,   228,   229,   230,     7,  -736,  -736,  -736,  -736,  -736,
1603 <    -736,  -736,  -736,  -736,   124,   231,   233,   235,   236,   239,
1604 <     247,   248,   250,   252,   257,   258,   259,   262,   268,   269,
1605 <     270,   271,    21,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1606 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1607 <    -736,    35,   281,   276,    18,  -736,  -736,  -736,   120,  -736,
1608 <     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
1579 >    -946,  -946,  -946,  -150,  -313,  -945,  -644,  -946,  -946,   988,
1580 >    -946,  -946,  -946,  -946,   803,  -946,  -946,  -946,  -946,  -946,
1581 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1582 >    -946,  -946,  -946,  -946,   996,  -946,  -946,  -946,  -946,  -946,
1583 >    -946,   574,  -946,  -946,  -946,  -946,  -946,   486,  -946,  -946,
1584 >    -946,  -946,  -946,  -946,   873,  -946,  -946,  -946,  -946,    51,
1585 >    -946,  -946,  -946,  -946,  -946,  -241,  -946,  -946,  -946,   617,
1586 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1587 >    -946,  -204,  -946,  -946,  -946,  -139,  -946,  -946,  -946,   797,
1588 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1589 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -117,
1590 >    -946,  -946,  -946,  -946,  -946,  -127,  -946,   656,  -946,  -946,
1591 >    -946,    -9,  -946,  -946,  -946,  -946,  -946,   682,  -946,  -946,
1592 >    -946,  -946,  -946,  -946,  -946,  -113,  -946,  -946,  -946,  -946,
1593 >    -946,  -946,   621,  -946,  -946,  -946,  -946,  -946,   954,  -946,
1594 >    -946,  -946,  -946,   551,  -946,  -946,  -946,  -946,  -946,  -133,
1595 >    -946,  -946,  -946,   585,  -946,  -946,  -946,  -946,  -122,  -946,
1596 >    -946,  -946,   798,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1597 >    -946,  -946,  -946,  -946,  -106,  -946,  -946,  -946,  -946,  -946,
1598 >    -946,  -946,  -946,   680,  -946,  -946,  -946,  -946,  -946,   975,
1599 >    -946,  -946,  -946,  -946,  1050,  -946,  -946,  -946,  -946,   762,
1600 >    -946,  -946,  -946,  -946,   998,  -946,  -946,  -946,  -946,  -946,
1601 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1602 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1603 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1604 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1605 >    -946,    42,  -946,  -946,  -946,    45,  -946,  -946,  -946,  -946,
1606 >    -946,  1078,  -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,
1607 >    -946,  -946,  -946,  -946,  -946,  -946,  -946,  -946,   987,  -946,
1608 >    -946,  -946,  -946,  -946,  -946,  -946,  -946
1609   };
1610  
1611 < /* YYPGOTO[NTERM-NUM].  */
1612 < static const yytype_int16 yypgoto[] =
1611 >  /* YYDEFGOTO[NTERM-NUM].  */
1612 > static const yytype_int16 yydefgoto[] =
1613   {
1614 <    -736,  -736,  -736,   -48,  -303,  -735,  -613,  -736,  -736,   903,
1615 <    -736,  -736,  -736,  -736,   929,  -736,  -736,  -736,    64,  -736,
1616 <      63,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1617 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   996,  -736,
1618 <    -736,  -736,  -736,  -736,  -736,   585,  -736,  -736,  -736,  -736,
1619 <     804,  -736,  -736,  -736,  -736,    57,  -736,  -736,  -736,  -736,
1620 <    -736,  -188,  -736,  -736,  -736,   593,  -736,  -736,  -736,  -736,
1621 <    -736,  -736,  -736,  -736,  -736,  -736,  -150,  -736,  -736,  -736,
1622 <    -146,  -736,  -736,  -736,   834,  -736,  -736,  -736,  -736,  -736,
1623 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1624 <    -736,  -736,  -736,  -122,  -736,  -736,  -736,  -736,  -736,  -135,
1625 <    -736,   643,  -736,  -736,  -736,   -25,  -736,  -736,  -736,  -736,
1626 <    -736,   644,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   -99,
1627 <    -736,  -736,  -736,  -736,  -736,  -736,   626,  -736,  -736,  -736,
1628 <    -736,  -736,   930,  -736,  -736,  -736,  -736,   566,  -736,  -736,
1629 <    -736,  -736,  -736,  -118,  -736,  -736,  -736,   592,  -736,  -736,
1630 <    -736,  -736,   -96,  -736,  -736,  -736,   798,  -736,  -736,  -736,
1631 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   -61,  -736,
1632 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,   689,  -736,  -736,
1633 <    -736,  -736,  -736,   780,  -736,  -736,  -736,  -736,  1048,  -736,
1634 <    -736,  -736,  -736,   779,  -736,  -736,  -736,  -736,   997,  -736,
1635 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1636 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1637 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1638 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1639 <    -736,  -736,  -736,  -736,    73,  -736,  -736,  -736,    79,  -736,
1640 <    -736,  -736,  -736,  -736,  1070,  -736,  -736,  -736,  -736,  -736,
1641 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   933,
1642 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736
1614 >      -1,     1,    26,   839,   840,  1102,  1103,    27,   227,   228,
1615 >     229,   230,    28,   271,   272,   273,   274,   275,   276,   277,
1616 >     278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
1617 >     288,   289,    29,    77,    78,    79,    80,    81,    30,    63,
1618 >     507,   508,   509,   510,    31,    70,   590,   591,   592,   593,
1619 >     594,   595,    32,   293,   294,   295,   296,   297,  1059,  1060,
1620 >    1061,  1062,  1063,  1239,  1314,  1315,    33,    64,   522,   523,
1621 >     524,   525,   526,   527,   528,   529,   530,   531,   532,   765,
1622 >    1217,  1218,   533,   759,  1188,  1189,    34,    53,   345,   346,
1623 >     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
1624 >     357,   358,   359,   360,   361,   362,   363,   632,  1086,  1087,
1625 >      35,    61,   493,   744,  1158,  1159,   494,   495,   496,  1162,
1626 >    1003,  1004,   497,   498,    36,    59,   471,   472,   473,   474,
1627 >     475,   476,   477,   729,  1144,  1145,   478,   479,   480,    37,
1628 >      65,   538,   539,   540,   541,   542,    38,   301,   302,   303,
1629 >      39,    72,   603,   604,   605,   606,   607,   821,  1257,  1258,
1630 >      40,    68,   576,   577,   578,   579,   804,  1234,  1235,    41,
1631 >      54,   379,   380,   381,   382,   383,   384,   385,   386,   387,
1632 >     388,   389,   655,  1115,  1116,   390,   391,   392,   393,   394,
1633 >      42,    60,   484,   485,   486,   487,    43,    55,   398,   399,
1634 >     400,   401,    44,   118,   119,   120,    45,    57,   408,   409,
1635 >     410,   411,    46,   171,   172,   173,   174,   175,   176,   177,
1636 >     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1637 >     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1638 >     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1639 >     208,   209,   210,   211,   212,   213,   214,   215,   216,   441,
1640 >     965,   966,   217,   439,   940,   941,   218,   219,   220,    47,
1641 >      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1642 >     107,   108,   109,   110,   111,   112,    48,   243,   244,   245,
1643 >     246,   247,   248,   249,   250,   251,   252
1644   };
1645  
1646 < /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1647 <   positive, shift that token.  If negative, reduce the rule which
1648 <   number is the opposite.  If YYTABLE_NINF, syntax error.  */
2008 < #define YYTABLE_NINF -124
1646 >  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
1647 >     positive, shift that token.  If negative, reduce the rule whose
1648 >     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1649   static const yytype_int16 yytable[] =
1650   {
1651 <     830,   831,   589,   590,   591,   517,   571,   466,   225,    70,
1652 <     282,   473,   489,   496,  1042,   489,   109,   829,   517,   282,
1653 <     571,   391,   244,   381,  1070,   679,   109,   289,   680,   497,
1654 <    1008,    49,    71,   447,  1009,   226,   556,  1010,   518,    72,
1655 <      50,  1011,    54,   227,   498,   245,   466,   215,  1112,   448,
1656 <     215,   518,    56,  1085,    60,   228,   229,  1086,   230,   231,
1657 <     232,    47,    48,   289,   449,   474,   391,  1018,   681,  1087,
1658 <     475,   682,   476,  1088,   499,   110,  1018,   246,    64,   519,
1659 <     233,    65,   382,    67,   247,   110,   490,  1043,    68,   490,
1660 <     556,  1212,   519,   295,   450,  1213,   645,   646,   764,   765,
1661 <    1217,   106,   572,   652,  1218,    73,   248,   656,   115,   500,
1662 <     249,  1238,   661,   116,   117,   664,   572,   392,   250,   118,
1663 <    1221,   251,   252,   290,  1222,   674,   675,   119,   520,   501,
1664 <     467,   477,   557,   120,   107,   686,   121,   122,   689,   690,
1665 <     216,   520,   123,   216,   393,   502,   383,   124,   125,   451,
1666 <     126,   127,   128,   253,   129,   108,  1223,   452,   453,   290,
1667 <    1224,   130,   392,  1019,   217,   131,   132,   217,   114,   467,
1668 <     254,   255,  1019,   212,   133,  -123,   213,   491,   454,   503,
1669 <     491,  1231,  1113,   134,  -123,  1232,   557,   315,   214,   393,
1670 <     381,   135,  1114,   136,  1233,   137,   256,   138,  1234,   139,
1671 <     140,   316,   317,  1235,   222,   318,   223,  1236,  1071,  1242,
1672 <     504,   296,   141,  1243,   257,   258,   259,   142,   143,   144,
1673 <     573,   145,   146,   147,   574,   468,   148,   283,   224,   740,
1674 <     749,   505,   534,   299,   573,   714,   283,   734,   574,   722,
1675 <     389,   260,   261,   565,   789,   642,   554,   636,   319,   382,
1676 <     558,   455,   149,   281,  1020,   768,   769,   703,   150,   151,
1677 <     152,   153,   154,  1020,   468,   294,   320,   321,   322,   323,
1678 <     707,   487,   484,   324,  1056,  1057,  1058,   325,   297,   473,
1679 <     350,  1021,   351,   326,   352,  1267,   567,   569,  1091,  1268,
1680 <    1021,   155,   834,   835,   327,   328,   353,   298,   817,   301,
1681 <    1196,   302,   821,   303,   558,   824,   329,   304,  1092,   828,
1682 <     305,   354,    70,   383,   778,   156,   157,  1093,   158,   159,
1683 <     160,  1214,  1215,  1216,   161,   306,    79,   307,   330,   162,
1684 <     308,   309,   445,   474,   355,    71,   356,   310,   475,   244,
1685 <     476,   357,    72,   311,  1094,   312,    80,    81,   536,   388,
1686 <     398,   358,    82,   350,   399,   351,   400,   352,   401,   402,
1687 <     403,   404,   245,   405,   406,   331,   407,   408,   409,   353,
1688 <     410,   411,   829,  1095,  1096,   412,   359,   413,   414,   415,
1689 <     416,  1097,   417,   418,   354,   419,   420,   421,   422,    83,
1690 <      84,   423,   425,   427,   246,    85,    86,   428,   429,   477,
1691 <     360,   247,    87,    88,    89,   430,  1098,   355,    73,   356,
1692 <     431,   615,   432,   580,   357,   433,   581,   434,   435,   436,
1693 <     361,   437,  1099,   248,   358,   115,   438,   249,    90,    91,
1694 <     116,   117,   439,   440,   441,   250,   118,   442,   251,   252,
1695 <     443,   444,   485,   486,   119,   526,   362,   527,   528,   359,
1696 <     120,   529,   530,   121,   122,   531,   532,   533,   537,   123,
1697 <     538,  1180,   539,   540,   124,   125,   541,   126,   127,   128,
1698 <     253,   129,   363,   360,   542,   543,   447,   544,   130,   545,
1699 <    1124,  1100,   131,   132,   546,   547,   548,   254,   255,   549,
1700 <     496,   133,   448,   361,  1125,   550,   551,   552,   553,   364,
1701 <     134,  1126,   582,   564,   632,   563,   497,   449,   135,   568,
1702 <     136,   583,   137,   256,   138,  1127,   139,   140,   584,   362,
1703 <     585,   498,   586,  1181,   587,   588,   592,   593,   594,   141,
1704 <     595,   257,   258,   259,   142,   143,   144,   450,   145,   146,
1705 <     147,   596,  1128,   148,  1129,   363,   597,   599,   598,  1182,
1706 <     313,   499,   617,   600,   601,  1257,  1183,   603,   260,   261,
1707 <     604,   638,   605,   606,   607,   647,  1184,   608,   609,   149,
1708 <    1130,   610,   364,   611,   612,   150,   151,   152,   153,   154,
1709 <     613,  1239,  1258,   614,  1259,   618,   500,   619,   620,   621,
1710 <     622,   623,   451,  1185,   625,  1186,  1187,   626,   627,   628,
1711 <     452,   453,   629,  1131,   630,  1132,   501,   644,   155,  1188,
1712 <     631,   634,   635,   639,   640,   641,  1189,   648,   649,   650,
1713 <     654,   454,   502,   225,  1133,   655,   657,   662,   663,  1260,
1714 <       2,     3,   156,   157,     4,   158,   159,   160,   651,  1134,
1715 <     653,   161,   658,   659,     5,  1135,   162,     6,     7,  1136,
1716 <     226,   315,   660,     8,  1137,   665,   503,  1138,   227,   666,
1717 <     667,   668,  1139,   669,     9,   316,   317,    10,    11,   318,
1718 <     228,   229,   671,   230,   231,   232,  1140,   670,  1261,  1262,
1719 <     672,  1141,   685,   693,   673,   676,   588,   504,   677,   678,
1720 <     683,    12,  1142,   684,   455,   233,    13,   687,   688,  1143,
1721 <     691,   692,   716,   694,    14,   882,   717,   695,   505,   709,
1722 <     742,   696,   319,   798,   799,   800,   801,   802,   803,   804,
1723 <     745,   751,   698,   699,   753,    15,    16,   700,   701,   702,
1724 <     320,   321,   322,   323,   705,  1263,   706,   324,   718,   710,
1725 <     743,   325,   711,    17,   713,   754,   719,   326,   724,   906,
1726 <    1032,  1033,  1034,  1035,  1036,  1037,  1038,   720,   327,   328,
1727 <      18,   721,   725,   726,   728,   729,   730,   731,   733,   736,
1728 <     329,   737,   744,    19,    20,   746,   738,   739,   747,   748,
1729 <     750,   752,   755,   756,   757,   758,   759,   760,   761,   762,
1730 <      21,   763,   330,  1150,   772,   773,   776,   774,   780,   775,
1731 <     781,   783,   784,   782,    22,   785,  1199,   815,   825,   786,
1732 <     788,   791,   792,    23,   883,   884,   885,    24,   886,   887,
1733 <     793,   888,   889,   816,   794,   890,   819,   891,   795,   331,
1734 <     892,   796,   797,   893,   894,   895,   807,   896,   808,   809,
1735 <     810,   811,   897,   812,   813,   814,   898,   899,   900,   820,
1736 <     818,   822,   832,   823,   826,   827,   901,   829,   907,   908,
1737 <     909,   902,   910,   911,   840,   912,   913,   837,  1200,   914,
1738 <     843,   915,   848,   833,   916,   836,   838,   917,   918,   919,
1739 <     839,   920,   841,   842,   844,   950,   921,   845,   846,   847,
1740 <     922,   923,   924,   849,  1201,   850,   853,   854,   851,   953,
1741 <     925,  1202,  1151,  1152,  1153,   926,  1154,  1155,   852,  1156,
1742 <    1157,  1203,   855,  1158,   856,  1159,   857,   858,  1160,   859,
1743 <     860,  1161,  1162,  1163,   949,  1164,    79,   861,   862,   863,
1744 <    1165,   864,   865,   866,  1166,  1167,  1168,   867,  1204,   868,
1745 <    1205,  1206,   869,   952,  1169,   870,    80,    81,   871,  1170,
1746 <     872,   873,    82,   874,  1207,   875,   876,   877,   878,   879,
1747 <     880,  1208,   954,   881,   905,   929,   955,   930,   956,   958,
1748 <     959,   961,   962,   931,   964,   970,   932,   971,   973,   933,
1749 <     934,   935,   976,   936,   977,   974,   978,   979,   937,    83,
1750 <      84,   981,   938,   939,   940,    85,    86,   983,   984,   951,
1751 <     941,   942,    87,    88,    89,   943,   944,   945,   946,   947,
1752 <     948,   957,   960,   985,   967,   968,   963,   969,   972,  1014,
1753 <    1028,   982,   975,   980,   986,   987,  1015,   988,    90,    91,
1754 <     989,   990,   991,   992,   993,   994,   995,   996,   997,   998,
1755 <     999,  1000,  1001,  1002,  1003,  1030,  1004,  1005,  1006,  1007,
1756 <    1012,  1013,  1016,  1017,  1027,  1225,  1031,  1039,  1029,  1040,
1757 <    1041,  1046,  1047,  1048,  1237,  1049,  1050,  1051,  1248,  1052,
1758 <     300,  1249,  1250,  1177,  1178,  1053,  1054,   723,  1055,  1197,
1759 <    1269,  1061,  1062,  1063,  1252,  1064,  1251,  1065,   566,  1247,
1760 <    1066,  1244,  1067,  1226,  1068,  1069,  1074,  1075,  1076,   735,
1761 <     704,  1077,  1078,  1079,  1080,  1081,  1082,  1083,  1084,  1089,
1762 <    1090,  1103,  1104,  1105,  1106,  1117,  1107,  1108,  1109,  1110,
1763 <    1111,   488,   715,  1246,  1120,  1266,  1121,  1118,  1122,  1123,
1764 <    1146,  1147,  1148,  1149,  1173,  1174,  1175,  1176,  1179,  1192,
1765 <    1253,   790,  1198,  1193,  1194,  1211,  1227,   741,  1228,  1229,
1766 <    1241,   779,  1254,  1230,  1240,  1255,  1256,  1245,   708,   390,
1767 <     446,  1220,   314,   633,   637,  1219,   616,   535,     0,     0,
1768 <       0,     0,     0,   643,     0,     0,     0,     0,     0,     0,
1651 >     867,   868,   617,  1113,   619,   599,   621,   622,   116,   488,
1652 >    1084,    51,   711,   504,  1155,   116,   712,   122,    52,   405,
1653 >      73,   395,   123,   124,   299,   125,   126,  1055,   395,   713,
1654 >     127,   291,   481,   714,    49,    50,   481,    56,   128,   129,
1655 >     291,   224,   534,   871,   872,   130,    74,   405,   131,    58,
1656 >     585,   511,    75,   132,    62,    66,    73,   253,   133,   134,
1657 >    1128,   135,   136,   137,  1129,   138,    67,   489,    69,   512,
1658 >     299,  1130,   573,   117,   490,  1131,   491,   535,   139,   140,
1659 >     117,    71,    74,   254,   513,  1085,   396,   224,    75,   141,
1660 >     866,  1055,   113,   396,   505,   599,   573,  1260,   114,   142,
1661 >     676,  1261,   678,   679,   115,   121,   143,   600,   144,   685,
1662 >     145,   221,   146,   689,   147,   148,   255,   693,   514,   222,
1663 >     696,   406,    76,   536,  1265,   256,   300,   149,  1266,  1056,
1664 >     706,   707,   150,   151,   152,   492,   153,   154,   155,   504,
1665 >     225,   156,   720,   223,   722,   723,   231,   257,   407,   406,
1666 >     397,   258,   586,   515,  1262,  1263,  1264,   397,    76,   259,
1667 >    1156,   482,   260,   261,   226,   482,   364,   157,   365,  1157,
1668 >     366,   537,   300,   516,   574,   232,   407,   158,   159,   160,
1669 >     161,   162,   163,   164,   367,   327,   225,   233,  1286,   517,
1670 >     290,   506,  1269,  1056,   262,   585,  1270,   600,   574,   368,
1671 >    1114,   328,   329,   298,  1271,   330,   518,   519,  1272,  -129,
1672 >     226,   263,   305,  1279,   264,   265,   266,  1280,  -129,  1281,
1673 >     505,   587,   304,  1282,   369,    82,   370,  1057,   306,   601,
1674 >     307,   499,   602,   371,   165,   166,   167,   782,   168,   169,
1675 >     588,   403,   746,   267,   372,   308,   754,   170,    83,    84,
1676 >     460,  1058,   331,   309,    85,   553,   589,   292,   520,   483,
1677 >    1240,   667,   268,   483,   582,   739,   292,   580,   373,   332,
1678 >     333,   334,   335,   336,   502,   773,   534,   337,   521,   311,
1679 >     673,   338,   488,   815,   767,   269,   270,   339,    86,    87,
1680 >     571,  1057,   374,   312,    88,    89,   575,   586,   340,   341,
1681 >      90,    91,    92,   597,   313,   234,   462,   584,    93,    94,
1682 >     342,   535,   375,   314,   315,  1058,   316,   506,   853,   601,
1683 >     575,   376,   602,   858,   463,   317,   861,   318,   823,   805,
1684 >     865,   608,   343,    95,    96,   235,   319,   234,   320,   464,
1685 >     489,   321,   236,   322,  1283,   511,   323,   490,  1284,   491,
1686 >    1099,  1100,  1101,   324,   237,   238,   402,   536,  1290,   239,
1687 >     240,   241,  1291,   512,  1317,   412,   587,   235,  1318,   413,
1688 >     414,   377,   415,   465,   236,   416,   417,   344,   513,   418,
1689 >     419,   420,   421,   422,   242,   588,   237,   238,   423,   424,
1690 >    1305,   239,   240,   241,   378,   425,   426,   427,   122,   663,
1691 >     428,   589,   429,   123,   124,   537,   125,   126,   492,   430,
1692 >     431,   127,   514,   432,   433,   462,   242,   434,   646,   128,
1693 >     129,  1306,   435,  1307,   436,   437,   130,   438,   466,   131,
1694 >     609,   440,   442,   463,   132,   443,   467,   468,   253,   133,
1695 >     134,   444,   135,   136,   137,  1134,   138,   515,   464,   445,
1696 >     446,   447,   866,  1167,   448,   449,   450,   469,   325,   139,
1697 >     140,   451,   452,   453,   254,  1135,   454,   516,  1308,  1168,
1698 >     141,   455,   456,   457,  1136,   458,   459,  1169,   500,   501,
1699 >     142,   543,   465,   517,   544,  1309,   545,   143,   546,   144,
1700 >    1170,   145,   547,   146,   548,   147,   148,   255,   549,   550,
1701 >     518,   519,   554,   555,   556,  1137,   256,   557,   149,   558,
1702 >     559,   610,   560,   150,   151,   152,   561,   153,   154,   155,
1703 >     562,  1171,   156,  1172,  1310,  1311,   563,   564,   257,   565,
1704 >     566,   567,   258,   470,  1138,  1139,   568,   466,   551,   735,
1705 >     259,   611,  1140,   260,   261,   467,   468,   569,   157,  1173,
1706 >     570,   581,   520,   596,   612,   613,   615,   614,   158,   159,
1707 >     160,   161,   162,   163,   164,   616,   469,  1141,   618,   364,
1708 >     620,   365,   521,   366,   623,   262,   624,  1312,   625,   626,
1709 >     616,  1313,  1174,  1142,  1175,   627,   628,   367,   669,   648,
1710 >     629,   630,   263,   631,  1287,   264,   265,   266,   675,   633,
1711 >     634,   635,   368,  1176,   636,   637,  1224,   832,   833,   834,
1712 >     835,   836,   837,   838,   638,   165,   166,   167,   639,   168,
1713 >     169,   640,   641,   642,   267,  1177,   643,   369,   170,   370,
1714 >    1178,   644,  1247,   670,  1179,   327,   371,     2,     3,  1180,
1715 >     645,     4,   470,   268,  1181,   649,  1143,   372,  1182,   650,
1716 >     677,   328,   329,     5,   651,   330,     6,     7,   652,  1183,
1717 >     653,   654,  1184,     8,  1185,   656,   269,   270,  1225,   657,
1718 >     658,   373,   659,     9,   660,  1186,    10,    11,   681,   683,
1719 >     661,  1187,  1074,  1075,  1076,  1077,  1078,  1079,  1080,   662,
1720 >     665,   680,   666,   682,  1248,   374,   684,   686,   671,   687,
1721 >    1226,   672,   331,   688,    12,   690,   691,   692,  1227,    13,
1722 >     694,   943,   695,   944,   945,   375,   697,  1228,    14,   332,
1723 >     333,   334,   335,   336,   376,   698,  1249,   337,   699,   700,
1724 >     701,   338,   702,   703,  1250,   704,   705,   339,    15,    16,
1725 >     708,   709,  1229,  1251,  1230,  1231,   710,   715,   340,   341,
1726 >     716,   717,  1195,   718,  1196,  1197,    17,   719,  1232,   721,
1727 >     342,   724,   727,   728,  1233,   775,   748,   730,  1252,   749,
1728 >    1253,  1254,   725,    18,   377,   778,   726,   731,   784,   741,
1729 >     786,   732,   343,   733,  1255,   734,    19,    20,   737,   738,
1730 >    1256,   742,   743,   920,   750,   745,   751,   378,   752,   787,
1731 >     753,   776,   756,   757,   777,   779,   758,   760,   761,   762,
1732 >      21,   763,   764,   766,   769,   770,   771,   780,   772,   781,
1733 >     788,   785,   783,    22,   789,   790,   791,   344,   792,    23,
1734 >     946,   947,   948,   793,    24,   949,   950,    25,   951,   952,
1735 >     794,   953,   795,   954,   796,   797,   955,   798,   799,   956,
1736 >     957,   800,   801,   802,   803,   958,   807,   808,   809,   959,
1737 >     810,   811,   812,   960,   961,   962,   813,   814,   817,   818,
1738 >     963,  1198,  1199,  1200,   851,   964,  1201,  1202,   819,  1203,
1739 >    1204,   825,  1205,   852,  1206,   820,    82,  1207,   826,   822,
1740 >    1208,  1209,   827,   828,   854,   829,  1210,   830,   831,   841,
1741 >    1211,   842,   843,   844,  1212,  1213,  1214,   845,   846,    83,
1742 >      84,  1215,   921,   922,   923,    85,  1216,   924,   925,   855,
1743 >     926,   927,   847,   928,   848,   929,   849,   850,   930,   856,
1744 >     857,   931,   932,   859,   860,   862,   863,   933,   864,   866,
1745 >     870,   934,   869,   873,   874,   935,   936,   937,   880,    86,
1746 >      87,   877,   938,   988,   885,    88,    89,   939,   875,   876,
1747 >     878,    90,    91,    92,   879,   881,   882,   883,   884,    93,
1748 >      94,   886,   887,   890,   888,   889,   891,   892,   893,   894,
1749 >     895,   896,   897,   898,   899,   900,   901,   902,   903,   904,
1750 >     905,   906,   907,   908,    95,    96,   909,   910,   911,   912,
1751 >     913,   914,   915,   987,   916,   917,   918,   919,   942,   967,
1752 >     968,   969,   970,   971,   972,   973,   974,   975,   976,   977,
1753 >     978,   979,   980,   981,   982,   983,   984,   985,   986,   990,
1754 >     991,   992,   989,   993,   994,   995,   996,   997,   998,   999,
1755 >    1000,  1002,  1005,  1006,  1001,  1012,  1007,  1008,  1009,  1011,
1756 >    1013,  1010,  1014,  1015,  1016,  1017,  1161,  1020,  1018,  1022,
1757 >    1019,  1023,  1021,  1024,  1051,  1064,  1025,  1026,  1065,  1066,
1758 >    1067,  1070,  1072,   310,   572,  1027,   816,  1319,  1300,  1028,
1759 >    1029,   755,  1030,  1031,  1032,  1033,  1034,  1035,  1036,  1037,
1760 >    1038,  1039,  1040,  1041,  1042,  1043,  1044,  1045,  1046,  1047,
1761 >    1048,  1049,  1050,  1273,  1053,  1054,  1052,  1068,  1296,  1069,
1762 >    1241,  1073,  1081,  1071,  1082,  1083,  1088,  1089,  1276,  1090,
1763 >    1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,  1104,  1105,
1764 >    1106,  1107,  1108,  1109,  1285,  1110,  1297,  1111,  1298,   768,
1765 >    1112,  1299,   647,  1117,  1292,  1295,  1118,  1119,  1120,  1121,
1766 >     747,  1122,  1274,   736,   824,  1123,  1124,  1294,  1316,   774,
1767 >    1293,   806,  1301,  1125,   740,  1126,   583,  1127,   404,   461,
1768 >     674,  1132,  1133,  1268,  1267,   326,     0,   664,  1146,  1147,
1769 >    1148,  1149,  1150,  1151,  1152,  1153,  1154,  1160,  1163,  1164,
1770 >    1165,  1166,  1190,  1191,  1192,  1193,     0,  1194,  1219,  1220,
1771 >    1221,  1222,  1223,  1236,     0,     0,  1242,  1237,  1238,  1243,
1772 >    1244,  1245,  1246,  1259,  1275,   503,     0,  1289,  1302,     0,
1773 >    1277,  1278,  1288,     0,  1303,  1304,     0,     0,     0,     0,
1774 >     552,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1775 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1776 >       0,     0,     0,     0,     0,   598,     0,     0,     0,     0,
1777 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1778 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1779 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1780 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1781         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2130       0,   555,     0,     0,     0,     0,     0,     0,     0,     0,
1782         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1783         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1784 <       0,   570
1784 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1785 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1786 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1787 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1788 >       0,     0,     0,   668
1789   };
1790  
2136 #define yypact_value_is_default(Yystate) \
2137  (!!((Yystate) == (-736)))
2138
2139 #define yytable_value_is_error(Yytable_value) \
2140  YYID (0)
2141
1791   static const yytype_int16 yycheck[] =
1792   {
1793 <     613,   614,   305,   306,   307,     1,     1,     1,     1,     1,
1794 <       1,     1,     1,     1,    50,     1,     1,   107,     1,     1,
1795 <       1,     1,     1,     1,     8,   207,     1,     1,   210,    17,
1796 <     224,   226,    24,     1,   228,    28,     1,   224,    34,    31,
1797 <     226,   228,   226,    36,    32,    24,     1,     1,    48,    17,
1798 <       1,    34,   226,   224,   226,    48,    49,   228,    51,    52,
1799 <      53,   224,   225,     1,    32,    55,     1,     1,   207,   224,
1800 <      60,   210,    62,   228,    62,    60,     1,    56,   226,    75,
1801 <      73,   226,    60,   226,    63,    60,    75,   123,   226,    75,
1802 <       1,   224,    75,   224,    62,   228,   399,   400,   196,   197,
1803 <     224,   226,    97,   406,   228,    97,    85,   410,     1,    97,
1804 <      89,   201,   415,     6,     7,   418,    97,    97,    97,    12,
1805 <     224,   100,   101,    97,   228,   428,   429,    20,   124,   117,
1806 <     124,   121,    97,    26,   226,   438,    29,    30,   441,   442,
1807 <      94,   124,    35,    94,   124,   133,   124,    40,    41,   117,
1808 <      43,    44,    45,   132,    47,   226,   224,   125,   126,    97,
1809 <     228,    54,    97,    97,   118,    58,    59,   118,   226,   124,
1810 <     149,   150,    97,   226,    67,   166,   226,   166,   146,   167,
1811 <     166,   224,   182,    76,   166,   228,    97,     1,   226,   124,
1812 <       1,    84,   192,    86,   224,    88,   175,    90,   228,    92,
1813 <      93,    15,    16,   224,   226,    19,   226,   228,   192,   224,
1814 <     198,   227,   105,   228,   193,   194,   195,   110,   111,   112,
1815 <     215,   114,   115,   116,   219,   219,   119,   218,   226,   225,
1816 <     533,   219,   225,   225,   215,   225,   218,   225,   219,   225,
1817 <     225,   220,   221,   225,   225,   225,   225,   225,    62,    60,
1818 <     215,   219,   145,   226,   188,   196,   197,   225,   151,   152,
1819 <     153,   154,   155,   188,   219,   226,    80,    81,    82,    83,
1820 <     225,   225,   224,    87,     9,    10,    11,    91,   227,     1,
1821 <       1,   215,     3,    97,     5,   224,   166,   225,    13,   228,
1822 <     215,   184,   171,   172,   108,   109,    17,   227,   601,   227,
1823 <     225,   227,   605,   227,   215,   608,   120,   227,    33,   612,
1824 <     227,    32,     1,   124,   225,   208,   209,    42,   211,   212,
1825 <     213,  1056,  1057,  1058,   217,   227,     1,   227,   142,   222,
1826 <     227,   227,   225,    55,    55,    24,    57,   227,    60,     1,
1827 <      62,    62,    31,   227,    69,   227,    21,    22,   224,   227,
1828 <     227,    72,    27,     1,   227,     3,   227,     5,   227,   227,
1829 <     227,   227,    24,   227,   227,   179,   227,   227,   227,    17,
1830 <     227,   227,   107,    98,    99,   227,    97,   227,   227,   227,
1831 <     227,   106,   227,   227,    32,   227,   227,   227,   227,    64,
1832 <      65,   227,   227,   227,    56,    70,    71,   227,   227,   121,
1833 <     121,    63,    77,    78,    79,   227,   131,    55,    97,    57,
1834 <     227,   225,   227,   122,    62,   227,   122,   227,   227,   227,
1835 <     141,   227,   147,    85,    72,     1,   227,    89,   103,   104,
1836 <       6,     7,   227,   227,   227,    97,    12,   227,   100,   101,
1837 <     227,   227,   227,   227,    20,   227,   167,   227,   227,    97,
1838 <      26,   227,   227,    29,    30,   227,   227,   227,   227,    35,
1839 <     227,    68,   227,   227,    40,    41,   227,    43,    44,    45,
1840 <     132,    47,   193,   121,   227,   227,     1,   227,    54,   227,
1841 <       4,   206,    58,    59,   227,   227,   227,   149,   150,   227,
1842 <       1,    67,    17,   141,    18,   227,   227,   227,   227,   220,
1843 <      76,    25,   122,   227,   225,   224,    17,    32,    84,   227,
1844 <      86,   224,    88,   175,    90,    39,    92,    93,   107,   167,
1845 <     107,    32,   207,   130,   107,   107,   107,   107,   107,   105,
1846 <     207,   193,   194,   195,   110,   111,   112,    62,   114,   115,
1847 <     116,   207,    66,   119,    68,   193,   224,   227,   224,   156,
1848 <     225,    62,   224,   227,   227,    39,   163,   227,   220,   221,
1849 <     227,   122,   227,   227,   227,   107,   173,   227,   227,   145,
1850 <      94,   227,   220,   227,   227,   151,   152,   153,   154,   155,
1851 <     227,  1194,    66,   227,    68,   227,    97,   227,   227,   227,
1852 <     227,   227,   117,   200,   227,   202,   203,   227,   227,   227,
1853 <     125,   126,   227,   127,   227,   129,   117,   207,   184,   216,
1854 <     227,   227,   227,   224,   227,   227,   223,   207,   107,   122,
1855 <     107,   146,   133,     1,   148,   107,   107,   107,   107,   113,
1856 <       0,     1,   208,   209,     4,   211,   212,   213,   207,   163,
1857 <     207,   217,   207,   207,    14,   169,   222,    17,    18,   173,
1858 <      28,     1,   207,    23,   178,   107,   167,   181,    36,   107,
1859 <     107,   107,   186,   207,    34,    15,    16,    37,    38,    19,
1860 <      48,    49,   207,    51,    52,    53,   200,   227,   162,   163,
1861 <     227,   205,   122,   224,   207,   207,   107,   198,   207,   207,
1862 <     207,    61,   216,   207,   219,    73,    66,   207,   207,   223,
1863 <     207,   207,   122,   224,    74,    48,   122,   227,   219,   224,
1864 <     207,   227,    62,   134,   135,   136,   137,   138,   139,   140,
1865 <     122,   122,   227,   227,   122,    95,    96,   227,   227,   227,
1866 <      80,    81,    82,    83,   227,   219,   227,    87,   224,   227,
1867 <     207,    91,   227,   113,   227,   107,   224,    97,   224,    48,
1868 <     798,   799,   800,   801,   802,   803,   804,   227,   108,   109,
1869 <     130,   227,   227,   227,   227,   227,   227,   227,   227,   224,
1870 <     120,   227,   207,   143,   144,   207,   227,   227,   207,   207,
1871 <     224,   207,   107,   122,   122,   122,   122,   122,   122,   107,
1872 <     160,   122,   142,    48,   122,   122,   227,   224,   207,   224,
1873 <     224,   122,   224,   226,   174,   224,    68,   107,   122,   227,
1874 <     227,   224,   224,   183,   157,   158,   159,   187,   161,   162,
1875 <     224,   164,   165,   107,   224,   168,   107,   170,   224,   179,
1876 <     173,   224,   224,   176,   177,   178,   224,   180,   224,   224,
1877 <     224,   224,   185,   224,   224,   224,   189,   190,   191,   107,
1878 <     227,   107,   224,   107,   107,   107,   199,   107,   157,   158,
1879 <     159,   204,   161,   162,   227,   164,   165,   207,   130,   168,
1880 <     107,   170,   224,   122,   173,   122,   122,   176,   177,   178,
1881 <     122,   180,   122,   122,   122,   207,   185,   122,   122,   122,
1882 <     189,   190,   191,   122,   156,   122,   122,   122,   224,   107,
1883 <     199,   163,   157,   158,   159,   204,   161,   162,   224,   164,
1884 <     165,   173,   224,   168,   224,   170,   224,   224,   173,   224,
1885 <     224,   176,   177,   178,   122,   180,     1,   224,   224,   224,
1886 <     185,   224,   224,   224,   189,   190,   191,   224,   200,   224,
1887 <     202,   203,   224,   122,   199,   224,    21,    22,   224,   204,
1888 <     224,   224,    27,   224,   216,   224,   224,   224,   224,   224,
1889 <     224,   223,   122,   224,   224,   224,   122,   224,   122,   122,
1890 <     122,   122,   122,   224,   107,   122,   224,   122,   122,   224,
1891 <     224,   224,   122,   224,   122,   207,   122,   122,   224,    64,
1892 <      65,   122,   224,   224,   224,    70,    71,   122,   122,   227,
1893 <     224,   224,    77,    78,    79,   224,   224,   224,   224,   224,
1894 <     224,   224,   224,   122,   224,   224,   227,   224,   224,   122,
1895 <     122,   224,   227,   227,   224,   224,   227,   224,   103,   104,
1896 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
1897 <     224,   224,   224,   224,   224,   122,   224,   224,   224,   224,
1898 <     224,   224,   224,   224,   224,   107,   224,   224,   227,   224,
1899 <     224,   224,   224,   224,   122,   224,   224,   224,   128,   224,
1900 <      74,   128,   128,  1009,  1011,   224,   224,   492,   224,  1022,
1901 <    1268,   224,   224,   224,  1234,   224,  1232,   224,   284,  1224,
1902 <     224,  1213,   224,  1118,   224,   224,   224,   224,   224,   506,
1903 <     456,   224,   224,   224,   224,   224,   224,   224,   224,   224,
1904 <     224,   224,   224,   224,   224,   214,   224,   224,   224,   224,
1905 <     224,   218,   479,  1222,   224,  1243,   224,   228,   224,   224,
1906 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
1907 <    1236,   575,   224,   227,   227,   224,   224,   521,   229,   229,
1908 <     224,   559,   224,   229,   227,   224,   224,  1218,   469,   111,
1909 <     163,  1088,    92,   365,   384,  1086,   332,   234,    -1,    -1,
1910 <      -1,    -1,    -1,   394,    -1,    -1,    -1,    -1,    -1,    -1,
1793 >     644,   645,   315,     8,   317,     1,   319,   320,     1,     1,
1794 >      54,   235,   217,     1,    50,     1,   221,     1,   235,     1,
1795 >       1,     1,     6,     7,     1,     9,    10,     1,     1,   217,
1796 >      14,     1,     1,   221,   233,   234,     1,   235,    22,    23,
1797 >       1,     1,     1,   183,   184,    29,    27,     1,    32,   235,
1798 >       1,     1,    33,    37,   235,   235,     1,     1,    42,    43,
1799 >     233,    45,    46,    47,   237,    49,   235,    59,   235,    19,
1800 >       1,   233,     1,    66,    66,   237,    68,    36,    62,    63,
1801 >      66,   235,    27,    27,    34,   129,    66,     1,    33,    73,
1802 >     113,     1,   235,    66,    82,     1,     1,   233,   235,    83,
1803 >     413,   237,   415,   416,   235,   235,    90,   103,    92,   422,
1804 >      94,   235,    96,   426,    98,    99,    60,   430,    68,   235,
1805 >     433,   103,   103,    82,   233,    69,   103,   111,   237,   103,
1806 >     443,   444,   116,   117,   118,   127,   120,   121,   122,     1,
1807 >     100,   125,   455,   235,   457,   458,   235,    91,   130,   103,
1808 >     130,    95,   103,   103,  1099,  1100,  1101,   130,   103,   103,
1809 >     196,   130,   106,   107,   124,   130,     1,   151,     3,   205,
1810 >       5,   130,   103,   123,   103,   235,   130,   161,   162,   163,
1811 >     164,   165,   166,   167,    19,     1,   100,   235,   211,   139,
1812 >     235,   179,   233,   103,   138,     1,   237,   103,   103,    34,
1813 >     205,    17,    18,   235,   233,    21,   156,   157,   237,   179,
1814 >     124,   155,   233,   233,   158,   159,   160,   237,   179,   233,
1815 >      82,   172,   235,   237,    59,     1,    61,   201,   236,   225,
1816 >     236,   233,   228,    68,   218,   219,   220,   550,   222,   223,
1817 >     191,   234,   234,   187,    79,   236,   234,   231,    24,    25,
1818 >     234,   225,    68,   234,    30,   233,   207,   227,   208,   228,
1819 >     234,   234,   206,   228,   234,   234,   227,   233,   103,    85,
1820 >      86,    87,    88,    89,   234,   234,     1,    93,   228,   236,
1821 >     234,    97,     1,   234,   234,   229,   230,   103,    64,    65,
1822 >     234,   201,   127,   236,    70,    71,   225,   103,   114,   115,
1823 >      76,    77,    78,   234,   236,     1,     1,   179,    84,    85,
1824 >     126,    36,   147,   236,   236,   225,   236,   179,   631,   225,
1825 >     225,   156,   228,   636,    19,   236,   639,   236,   234,   234,
1826 >     643,   128,   148,   109,   110,    31,   236,     1,   236,    34,
1827 >      59,   236,    38,   236,   233,     1,   236,    66,   237,    68,
1828 >      11,    12,    13,   236,    50,    51,   236,    82,   233,    55,
1829 >      56,    57,   237,    19,   233,   236,   172,    31,   237,   236,
1830 >     236,   206,   236,    68,    38,   236,   236,   193,    34,   236,
1831 >     236,   236,   236,   236,    80,   191,    50,    51,   236,   236,
1832 >      41,    55,    56,    57,   229,   236,   236,   236,     1,   234,
1833 >     236,   207,   236,     6,     7,   130,     9,    10,   127,   236,
1834 >     236,    14,    68,   236,   236,     1,    80,   236,   234,    22,
1835 >      23,    72,   236,    74,   236,   236,    29,   236,   123,    32,
1836 >     128,   236,   236,    19,    37,   236,   131,   132,     1,    42,
1837 >      43,   236,    45,    46,    47,    15,    49,   103,    34,   236,
1838 >     236,   236,   113,     4,   236,   236,   236,   152,   234,    62,
1839 >      63,   236,   236,   236,    27,    35,   236,   123,   119,    20,
1840 >      73,   236,   236,   236,    44,   236,   236,    28,   236,   236,
1841 >      83,   236,    68,   139,   236,   136,   236,    90,   236,    92,
1842 >      41,    94,   236,    96,   236,    98,    99,    60,   236,   236,
1843 >     156,   157,   236,   236,   236,    75,    69,   236,   111,   236,
1844 >     236,   128,   236,   116,   117,   118,   236,   120,   121,   122,
1845 >     236,    72,   125,    74,   175,   176,   236,   236,    91,   236,
1846 >     236,   236,    95,   228,   104,   105,   236,   123,   234,   234,
1847 >     103,   233,   112,   106,   107,   131,   132,   236,   151,   100,
1848 >     236,   236,   208,   236,   113,   113,   113,   217,   161,   162,
1849 >     163,   164,   165,   166,   167,   113,   152,   137,   113,     1,
1850 >     113,     3,   228,     5,   113,   138,   113,   228,   217,   217,
1851 >     113,   232,   133,   153,   135,   233,   233,    19,   128,   233,
1852 >     236,   236,   155,   236,  1238,   158,   159,   160,   217,   236,
1853 >     236,   236,    34,   154,   236,   236,    74,   140,   141,   142,
1854 >     143,   144,   145,   146,   236,   218,   219,   220,   236,   222,
1855 >     223,   236,   236,   236,   187,   176,   236,    59,   231,    61,
1856 >     181,   236,    74,   233,   185,     1,    68,     0,     1,   190,
1857 >     236,     4,   228,   206,   195,   236,   216,    79,   199,   236,
1858 >     113,    17,    18,    16,   236,    21,    19,    20,   236,   210,
1859 >     236,   236,   213,    26,   215,   236,   229,   230,   136,   236,
1860 >     236,   103,   236,    36,   236,   226,    39,    40,   113,   113,
1861 >     236,   232,   832,   833,   834,   835,   836,   837,   838,   236,
1862 >     236,   217,   236,   217,   136,   127,   217,   217,   236,   113,
1863 >     168,   236,    68,   113,    67,   113,   217,   217,   176,    72,
1864 >     113,    50,   113,    52,    53,   147,   113,   185,    81,    85,
1865 >      86,    87,    88,    89,   156,   113,   168,    93,   113,   113,
1866 >     217,    97,   236,   217,   176,   236,   217,   103,   101,   102,
1867 >     217,   217,   210,   185,   212,   213,   217,   217,   114,   115,
1868 >     217,   217,    50,   217,    52,    53,   119,   113,   226,   217,
1869 >     126,   217,   236,   236,   232,   217,   128,   236,   210,   128,
1870 >     212,   213,   233,   136,   206,   128,   233,   236,   128,   233,
1871 >     128,   236,   148,   236,   226,   236,   149,   150,   236,   236,
1872 >     232,   236,   236,    50,   233,   236,   233,   229,   236,   113,
1873 >     236,   217,   233,   236,   217,   217,   236,   236,   236,   236,
1874 >     173,   236,   236,   236,   233,   236,   236,   217,   236,   217,
1875 >     113,   217,   233,   186,   128,   128,   128,   193,   128,   192,
1876 >     169,   170,   171,   128,   197,   174,   175,   200,   177,   178,
1877 >     128,   180,   128,   182,   128,   113,   185,   128,   128,   188,
1878 >     189,   128,   233,   233,   236,   194,   217,   233,   235,   198,
1879 >     233,   236,   236,   202,   203,   204,   236,   236,   128,   233,
1880 >     209,   169,   170,   171,   113,   214,   174,   175,   233,   177,
1881 >     178,   233,   180,   113,   182,   236,     1,   185,   233,   236,
1882 >     188,   189,   233,   233,   236,   233,   194,   233,   233,   233,
1883 >     198,   233,   233,   233,   202,   203,   204,   233,   233,    24,
1884 >      25,   209,   169,   170,   171,    30,   214,   174,   175,   113,
1885 >     177,   178,   233,   180,   233,   182,   233,   233,   185,   113,
1886 >     113,   188,   189,   113,   113,   128,   113,   194,   113,   113,
1887 >     128,   198,   233,   128,   217,   202,   203,   204,   113,    64,
1888 >      65,   236,   209,   217,   233,    70,    71,   214,   128,   128,
1889 >     128,    76,    77,    78,   128,   128,   128,   128,   128,    84,
1890 >      85,   128,   128,   128,   233,   233,   128,   233,   233,   233,
1891 >     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
1892 >     233,   233,   233,   233,   109,   110,   233,   233,   233,   233,
1893 >     233,   233,   233,   128,   233,   233,   233,   233,   233,   233,
1894 >     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
1895 >     233,   233,   233,   233,   233,   233,   233,   233,   233,   128,
1896 >     113,   128,   236,   128,   128,   233,   128,   128,   233,   128,
1897 >     128,   113,   233,   233,   236,   217,   233,   128,   128,   128,
1898 >     236,   233,   128,   128,   128,   128,   237,   128,   217,   128,
1899 >     236,   128,   233,   128,   128,   128,   233,   233,   128,   128,
1900 >     128,   128,   128,    77,   271,   233,   590,  1318,  1282,   233,
1901 >     233,   507,   233,   233,   233,   233,   233,   233,   233,   233,
1902 >     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
1903 >     233,   233,   233,   113,   233,   233,   236,   233,   134,   233,
1904 >    1059,   233,   233,   236,   233,   233,   233,   233,   238,   233,
1905 >     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
1906 >     233,   233,   233,   233,   128,   233,   134,   233,   134,   522,
1907 >     233,  1280,   345,   233,  1261,  1272,   233,   233,   233,   233,
1908 >     494,   233,  1161,   471,   603,   233,   233,  1270,  1291,   538,
1909 >    1266,   576,  1284,   233,   484,   233,   293,   233,   118,   171,
1910 >     408,   233,   233,  1131,  1129,    97,    -1,   379,   233,   233,
1911 >     233,   233,   233,   233,   233,   233,   233,   224,   233,   233,
1912 >     233,   233,   233,   233,   233,   233,    -1,   233,   233,   233,
1913 >     233,   233,   233,   233,    -1,    -1,   233,   236,   236,   233,
1914 >     233,   233,   233,   233,   233,   227,    -1,   233,   233,    -1,
1915 >     238,   238,   236,    -1,   233,   233,    -1,    -1,    -1,    -1,
1916 >     243,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1917 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1918 >      -1,    -1,    -1,    -1,    -1,   301,    -1,    -1,    -1,    -1,
1919 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1920 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1921 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1922 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1923        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2263      -1,   262,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1924        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1925        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1926 <      -1,   291
1926 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1927 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1928 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1929 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1930 >      -1,    -1,    -1,   398
1931   };
1932  
1933 < /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1934 <   symbol of state STATE-NUM.  */
1933 >  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1934 >     symbol of state STATE-NUM.  */
1935   static const yytype_uint16 yystos[] =
1936   {
1937 <       0,   231,     0,     1,     4,    14,    17,    18,    23,    34,
1938 <      37,    38,    61,    66,    74,    95,    96,   113,   130,   143,
1939 <     144,   160,   174,   183,   187,   232,   237,   242,   266,   272,
1940 <     278,   292,   311,   334,   348,   363,   370,   374,   384,   393,
1941 <     414,   420,   426,   430,   436,   492,   507,   224,   225,   226,
1942 <     226,   312,   394,   421,   226,   431,   226,   349,   415,   335,
1943 <     226,   273,   293,   364,   226,   226,   385,   226,   226,   375,
1944 <       1,    24,    31,    97,   267,   268,   269,   270,   271,     1,
1945 <      21,    22,    27,    64,    65,    70,    71,    77,    78,    79,
1946 <     103,   104,   493,   494,   495,   496,   497,   498,   499,   500,
1947 <     501,   502,   503,   504,   505,   506,   226,   226,   226,     1,
1948 <      60,   427,   428,   429,   226,     1,     6,     7,    12,    20,
1949 <      26,    29,    30,    35,    40,    41,    43,    44,    45,    47,
1950 <      54,    58,    59,    67,    76,    84,    86,    88,    90,    92,
1951 <      93,   105,   110,   111,   112,   114,   115,   116,   119,   145,
1952 <     151,   152,   153,   154,   155,   184,   208,   209,   211,   212,
1953 <     213,   217,   222,   437,   438,   439,   440,   441,   442,   443,
1954 <     444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
1955 <     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
1956 <     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
1957 <     474,   475,   476,   477,   478,   479,   480,   481,   485,   489,
1958 <     490,   491,   226,   226,   226,     1,    94,   118,   238,   239,
1959 <     240,   241,   226,   226,   226,     1,    28,    36,    48,    49,
1960 <      51,    52,    53,    73,   508,   509,   510,   511,   512,   513,
1961 <     514,   515,   516,   517,     1,    24,    56,    63,    85,    89,
1962 <      97,   100,   101,   132,   149,   150,   175,   193,   194,   195,
1963 <     220,   221,   243,   244,   245,   246,   251,   252,   253,   254,
1964 <     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1965 <     265,   226,     1,   218,   279,   280,   281,   282,   283,     1,
1966 <      97,   371,   372,   373,   226,   224,   227,   227,   227,   225,
1967 <     268,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1968 <     227,   227,   227,   225,   494,     1,    15,    16,    19,    62,
1969 <      80,    81,    82,    83,    87,    91,    97,   108,   109,   120,
1970 <     142,   179,   313,   314,   315,   316,   317,   318,   319,   320,
1971 <     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
1972 <       1,     3,     5,    17,    32,    55,    57,    62,    72,    97,
1973 <     121,   141,   167,   193,   220,   395,   396,   397,   398,   399,
1974 <     400,   401,   402,   403,   404,   405,   409,   410,   411,   412,
1975 <     413,     1,    60,   124,   422,   423,   424,   425,   227,   225,
1976 <     428,     1,    97,   124,   432,   433,   434,   435,   227,   227,
1977 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1978 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1979 <     227,   227,   227,   227,   486,   227,   482,   227,   227,   227,
1980 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1981 <     227,   227,   227,   227,   227,   225,   438,     1,    17,    32,
1982 <      62,   117,   125,   126,   146,   219,   350,   351,   352,   353,
1983 <     354,   355,   356,   360,   361,   362,     1,   124,   219,   416,
1984 <     417,   418,   419,     1,    55,    60,    62,   121,   336,   340,
1985 <     341,   342,   346,   347,   224,   227,   227,   225,   239,     1,
1986 <      75,   166,   274,   275,   276,   277,     1,    17,    32,    62,
1987 <      97,   117,   133,   167,   198,   219,   294,   295,   296,   297,
1988 <     298,   299,   300,   301,   302,   303,   307,     1,    34,    75,
1989 <     124,   365,   366,   367,   368,   369,   227,   227,   227,   227,
1990 <     227,   227,   227,   227,   225,   509,   224,   227,   227,   227,
1991 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1992 <     227,   227,   227,   227,   225,   244,     1,    97,   215,   386,
1993 <     387,   388,   389,   224,   227,   225,   280,   166,   227,   225,
1994 <     372,     1,    97,   215,   219,   376,   377,   378,   379,   380,
1995 <     122,   122,   122,   224,   107,   107,   207,   107,   107,   234,
1996 <     234,   234,   107,   107,   107,   207,   207,   224,   224,   227,
1997 <     227,   227,   331,   227,   227,   227,   227,   227,   227,   227,
1998 <     227,   227,   227,   227,   227,   225,   314,   224,   227,   227,
1999 <     227,   227,   227,   227,   406,   227,   227,   227,   227,   227,
2000 <     227,   227,   225,   396,   227,   227,   225,   423,   122,   224,
2001 <     227,   227,   225,   433,   207,   234,   234,   107,   207,   107,
2002 <     122,   207,   234,   207,   107,   107,   234,   107,   207,   207,
2003 <     207,   234,   107,   107,   234,   107,   107,   107,   107,   207,
2004 <     227,   207,   227,   207,   234,   234,   207,   207,   207,   207,
2005 <     210,   207,   210,   207,   207,   122,   234,   207,   207,   234,
2006 <     234,   207,   207,   224,   224,   227,   227,   357,   227,   227,
2007 <     227,   227,   227,   225,   351,   227,   227,   225,   417,   224,
2008 <     227,   227,   337,   227,   225,   341,   122,   122,   224,   224,
2009 <     227,   227,   225,   275,   224,   227,   227,   308,   227,   227,
2010 <     227,   227,   304,   227,   225,   295,   224,   227,   227,   227,
2011 <     225,   366,   207,   207,   207,   122,   207,   207,   207,   234,
2012 <     224,   122,   207,   122,   107,   107,   122,   122,   122,   122,
2013 <     122,   122,   107,   122,   196,   197,   247,   248,   196,   197,
2014 <     249,   250,   122,   122,   224,   224,   227,   390,   225,   387,
2015 <     207,   224,   226,   122,   224,   224,   227,   381,   227,   225,
2016 <     377,   224,   224,   224,   224,   224,   224,   224,   134,   135,
2017 <     136,   137,   138,   139,   140,   233,   234,   224,   224,   224,
2018 <     224,   224,   224,   224,   224,   107,   107,   234,   227,   107,
2019 <     107,   234,   107,   107,   234,   122,   107,   107,   234,   107,
2020 <     236,   236,   224,   122,   171,   172,   122,   207,   122,   122,
2021 <     227,   122,   122,   107,   122,   122,   122,   122,   224,   122,
2022 <     122,   224,   224,   122,   122,   224,   224,   224,   224,   224,
2023 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2024 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2025 <     224,   224,    48,   157,   158,   159,   161,   162,   164,   165,
2026 <     168,   170,   173,   176,   177,   178,   180,   185,   189,   190,
2027 <     191,   199,   204,   487,   488,   224,    48,   157,   158,   159,
2028 <     161,   162,   164,   165,   168,   170,   173,   176,   177,   178,
2029 <     180,   185,   189,   190,   191,   199,   204,   483,   484,   224,
2030 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2031 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   122,
2032 <     207,   227,   122,   107,   122,   122,   122,   224,   122,   122,
2033 <     224,   122,   122,   227,   107,   344,   345,   224,   224,   224,
2034 <     122,   122,   224,   122,   207,   227,   122,   122,   122,   122,
2035 <     227,   122,   224,   122,   122,   122,   224,   224,   224,   224,
2036 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2037 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   228,
2038 <     224,   228,   224,   224,   122,   227,   224,   224,     1,    97,
2039 <     188,   215,   284,   285,   286,   287,   288,   224,   122,   227,
2040 <     122,   224,   233,   233,   233,   233,   233,   233,   233,   224,
2041 <     224,   224,    50,   123,   332,   333,   224,   224,   224,   224,
2042 <     224,   224,   224,   224,   224,   224,     9,    10,    11,   235,
2043 <     236,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2044 <       8,   192,   407,   408,   224,   224,   224,   224,   224,   224,
2045 <     224,   224,   224,   224,   224,   224,   228,   224,   228,   224,
2046 <     224,    13,    33,    42,    69,    98,    99,   106,   131,   147,
2047 <     206,   358,   359,   224,   224,   224,   224,   224,   224,   224,
2048 <     224,   224,    48,   182,   192,   338,   339,   214,   228,   343,
2049 <     224,   224,   224,   224,     4,    18,    25,    39,    66,    68,
2050 <      94,   127,   129,   148,   163,   169,   173,   178,   181,   186,
2051 <     200,   205,   216,   223,   309,   310,   224,   224,   224,   224,
2052 <      48,   157,   158,   159,   161,   162,   164,   165,   168,   170,
2053 <     173,   176,   177,   178,   180,   185,   189,   190,   191,   199,
2054 <     204,   305,   306,   224,   224,   224,   224,   248,   250,   224,
2055 <      68,   130,   156,   163,   173,   200,   202,   203,   216,   223,
2056 <     391,   392,   224,   227,   227,   289,   225,   285,   224,    68,
2057 <     130,   156,   163,   173,   200,   202,   203,   216,   223,   382,
2058 <     383,   224,   224,   228,   235,   235,   235,   224,   228,   488,
2059 <     484,   224,   228,   224,   228,   107,   345,   224,   229,   229,
2060 <     229,   224,   228,   224,   228,   224,   228,   122,   201,   236,
2061 <     227,   224,   224,   228,   333,   408,   359,   339,   128,   128,
2062 <     128,   310,   306,   392,   224,   224,   224,    39,    66,    68,
2063 <     113,   162,   163,   219,   290,   291,   383,   224,   228,   291
1937 >       0,   240,     0,     1,     4,    16,    19,    20,    26,    36,
1938 >      39,    40,    67,    72,    81,   101,   102,   119,   136,   149,
1939 >     150,   173,   186,   192,   197,   200,   241,   246,   251,   271,
1940 >     277,   283,   291,   305,   325,   349,   363,   378,   385,   389,
1941 >     399,   408,   429,   435,   441,   445,   451,   508,   525,   233,
1942 >     234,   235,   235,   326,   409,   436,   235,   446,   235,   364,
1943 >     430,   350,   235,   278,   306,   379,   235,   235,   400,   235,
1944 >     284,   235,   390,     1,    27,    33,   103,   272,   273,   274,
1945 >     275,   276,     1,    24,    25,    30,    64,    65,    70,    71,
1946 >      76,    77,    78,    84,    85,   109,   110,   509,   510,   511,
1947 >     512,   513,   514,   515,   516,   517,   518,   519,   520,   521,
1948 >     522,   523,   524,   235,   235,   235,     1,    66,   442,   443,
1949 >     444,   235,     1,     6,     7,     9,    10,    14,    22,    23,
1950 >      29,    32,    37,    42,    43,    45,    46,    47,    49,    62,
1951 >      63,    73,    83,    90,    92,    94,    96,    98,    99,   111,
1952 >     116,   117,   118,   120,   121,   122,   125,   151,   161,   162,
1953 >     163,   164,   165,   166,   167,   218,   219,   220,   222,   223,
1954 >     231,   452,   453,   454,   455,   456,   457,   458,   459,   460,
1955 >     461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
1956 >     471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
1957 >     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
1958 >     491,   492,   493,   494,   495,   496,   497,   501,   505,   506,
1959 >     507,   235,   235,   235,     1,   100,   124,   247,   248,   249,
1960 >     250,   235,   235,   235,     1,    31,    38,    50,    51,    55,
1961 >      56,    57,    80,   526,   527,   528,   529,   530,   531,   532,
1962 >     533,   534,   535,     1,    27,    60,    69,    91,    95,   103,
1963 >     106,   107,   138,   155,   158,   159,   160,   187,   206,   229,
1964 >     230,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1965 >     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
1966 >     235,     1,   227,   292,   293,   294,   295,   296,   235,     1,
1967 >     103,   386,   387,   388,   235,   233,   236,   236,   236,   234,
1968 >     273,   236,   236,   236,   236,   236,   236,   236,   236,   236,
1969 >     236,   236,   236,   236,   236,   234,   510,     1,    17,    18,
1970 >      21,    68,    85,    86,    87,    88,    89,    93,    97,   103,
1971 >     114,   115,   126,   148,   193,   327,   328,   329,   330,   331,
1972 >     332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
1973 >     342,   343,   344,   345,     1,     3,     5,    19,    34,    59,
1974 >      61,    68,    79,   103,   127,   147,   156,   206,   229,   410,
1975 >     411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
1976 >     424,   425,   426,   427,   428,     1,    66,   130,   437,   438,
1977 >     439,   440,   236,   234,   443,     1,   103,   130,   447,   448,
1978 >     449,   450,   236,   236,   236,   236,   236,   236,   236,   236,
1979 >     236,   236,   236,   236,   236,   236,   236,   236,   236,   236,
1980 >     236,   236,   236,   236,   236,   236,   236,   236,   236,   502,
1981 >     236,   498,   236,   236,   236,   236,   236,   236,   236,   236,
1982 >     236,   236,   236,   236,   236,   236,   236,   236,   236,   236,
1983 >     234,   453,     1,    19,    34,    68,   123,   131,   132,   152,
1984 >     228,   365,   366,   367,   368,   369,   370,   371,   375,   376,
1985 >     377,     1,   130,   228,   431,   432,   433,   434,     1,    59,
1986 >      66,    68,   127,   351,   355,   356,   357,   361,   362,   233,
1987 >     236,   236,   234,   248,     1,    82,   179,   279,   280,   281,
1988 >     282,     1,    19,    34,    68,   103,   123,   139,   156,   157,
1989 >     208,   228,   307,   308,   309,   310,   311,   312,   313,   314,
1990 >     315,   316,   317,   321,     1,    36,    82,   130,   380,   381,
1991 >     382,   383,   384,   236,   236,   236,   236,   236,   236,   236,
1992 >     236,   234,   527,   233,   236,   236,   236,   236,   236,   236,
1993 >     236,   236,   236,   236,   236,   236,   236,   236,   236,   236,
1994 >     236,   234,   253,     1,   103,   225,   401,   402,   403,   404,
1995 >     233,   236,   234,   293,   179,     1,   103,   172,   191,   207,
1996 >     285,   286,   287,   288,   289,   290,   236,   234,   387,     1,
1997 >     103,   225,   228,   391,   392,   393,   394,   395,   128,   128,
1998 >     128,   233,   113,   113,   217,   113,   113,   243,   113,   243,
1999 >     113,   243,   243,   113,   113,   217,   217,   233,   233,   236,
2000 >     236,   236,   346,   236,   236,   236,   236,   236,   236,   236,
2001 >     236,   236,   236,   236,   236,   236,   234,   328,   233,   236,
2002 >     236,   236,   236,   236,   236,   421,   236,   236,   236,   236,
2003 >     236,   236,   236,   234,   411,   236,   236,   234,   438,   128,
2004 >     233,   236,   236,   234,   448,   217,   243,   113,   243,   243,
2005 >     217,   113,   217,   113,   217,   243,   217,   113,   113,   243,
2006 >     113,   217,   217,   243,   113,   113,   243,   113,   113,   113,
2007 >     113,   217,   236,   217,   236,   217,   243,   243,   217,   217,
2008 >     217,   217,   221,   217,   221,   217,   217,   217,   217,   113,
2009 >     243,   217,   243,   243,   217,   233,   233,   236,   236,   372,
2010 >     236,   236,   236,   236,   236,   234,   366,   236,   236,   234,
2011 >     432,   233,   236,   236,   352,   236,   234,   356,   128,   128,
2012 >     233,   233,   236,   236,   234,   280,   233,   236,   236,   322,
2013 >     236,   236,   236,   236,   236,   318,   236,   234,   308,   233,
2014 >     236,   236,   236,   234,   381,   217,   217,   217,   128,   217,
2015 >     217,   217,   243,   233,   128,   217,   128,   113,   113,   128,
2016 >     128,   128,   128,   128,   128,   128,   128,   113,   128,   128,
2017 >     128,   233,   233,   236,   405,   234,   402,   217,   233,   235,
2018 >     233,   236,   236,   236,   236,   234,   286,   128,   233,   233,
2019 >     236,   396,   236,   234,   392,   233,   233,   233,   233,   233,
2020 >     233,   233,   140,   141,   142,   143,   144,   145,   146,   242,
2021 >     243,   233,   233,   233,   233,   233,   233,   233,   233,   233,
2022 >     233,   113,   113,   243,   236,   113,   113,   113,   243,   113,
2023 >     113,   243,   128,   113,   113,   243,   113,   245,   245,   233,
2024 >     128,   183,   184,   128,   217,   128,   128,   236,   128,   128,
2025 >     113,   128,   128,   128,   128,   233,   128,   128,   233,   233,
2026 >     128,   128,   233,   233,   233,   233,   233,   233,   233,   233,
2027 >     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
2028 >     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
2029 >      50,   169,   170,   171,   174,   175,   177,   178,   180,   182,
2030 >     185,   188,   189,   194,   198,   202,   203,   204,   209,   214,
2031 >     503,   504,   233,    50,    52,    53,   169,   170,   171,   174,
2032 >     175,   177,   178,   180,   182,   185,   188,   189,   194,   198,
2033 >     202,   203,   204,   209,   214,   499,   500,   233,   233,   233,
2034 >     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
2035 >     233,   233,   233,   233,   233,   233,   233,   128,   217,   236,
2036 >     128,   113,   128,   128,   128,   233,   128,   128,   233,   128,
2037 >     128,   236,   113,   359,   360,   233,   233,   233,   128,   128,
2038 >     233,   128,   217,   236,   128,   128,   128,   128,   217,   236,
2039 >     128,   233,   128,   128,   128,   233,   233,   233,   233,   233,
2040 >     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
2041 >     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
2042 >     233,   128,   236,   233,   233,     1,   103,   201,   225,   297,
2043 >     298,   299,   300,   301,   128,   128,   128,   128,   233,   233,
2044 >     128,   236,   128,   233,   242,   242,   242,   242,   242,   242,
2045 >     242,   233,   233,   233,    54,   129,   347,   348,   233,   233,
2046 >     233,   233,   233,   233,   233,   233,   233,   233,   233,    11,
2047 >      12,    13,   244,   245,   233,   233,   233,   233,   233,   233,
2048 >     233,   233,   233,     8,   205,   422,   423,   233,   233,   233,
2049 >     233,   233,   233,   233,   233,   233,   233,   233,   233,   237,
2050 >     233,   237,   233,   233,    15,    35,    44,    75,   104,   105,
2051 >     112,   137,   153,   216,   373,   374,   233,   233,   233,   233,
2052 >     233,   233,   233,   233,   233,    50,   196,   205,   353,   354,
2053 >     224,   237,   358,   233,   233,   233,   233,     4,    20,    28,
2054 >      41,    72,    74,   100,   133,   135,   154,   176,   181,   185,
2055 >     190,   195,   199,   210,   213,   215,   226,   232,   323,   324,
2056 >     233,   233,   233,   233,   233,    50,    52,    53,   169,   170,
2057 >     171,   174,   175,   177,   178,   180,   182,   185,   188,   189,
2058 >     194,   198,   202,   203,   204,   209,   214,   319,   320,   233,
2059 >     233,   233,   233,   233,    74,   136,   168,   176,   185,   210,
2060 >     212,   213,   226,   232,   406,   407,   233,   236,   236,   302,
2061 >     234,   298,   233,   233,   233,   233,   233,    74,   136,   168,
2062 >     176,   185,   210,   212,   213,   226,   232,   397,   398,   233,
2063 >     233,   237,   244,   244,   244,   233,   237,   504,   500,   233,
2064 >     237,   233,   237,   113,   360,   233,   238,   238,   238,   233,
2065 >     237,   233,   237,   233,   237,   128,   211,   245,   236,   233,
2066 >     233,   237,   348,   423,   374,   354,   134,   134,   134,   324,
2067 >     320,   407,   233,   233,   233,    41,    72,    74,   119,   136,
2068 >     175,   176,   228,   232,   303,   304,   398,   233,   237,   304
2069 > };
2070 >
2071 >  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
2072 > static const yytype_uint16 yyr1[] =
2073 > {
2074 >       0,   239,   240,   240,   241,   241,   241,   241,   241,   241,
2075 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2076 >     241,   241,   241,   241,   241,   241,   241,   241,   242,   242,
2077 >     243,   243,   243,   243,   243,   243,   243,   243,   244,   244,
2078 >     245,   245,   245,   245,   246,   247,   247,   248,   248,   248,
2079 >     249,   250,   251,   252,   252,   253,   253,   253,   253,   253,
2080 >     253,   253,   253,   253,   253,   253,   253,   253,   253,   253,
2081 >     253,   253,   253,   254,   255,   256,   257,   258,   259,   260,
2082 >     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
2083 >     271,   272,   272,   273,   273,   273,   273,   274,   275,   276,
2084 >     278,   277,   279,   279,   280,   280,   280,   281,   282,   284,
2085 >     283,   285,   285,   286,   286,   286,   286,   286,   287,   288,
2086 >     289,   290,   291,   292,   292,   293,   293,   293,   294,   296,
2087 >     295,   297,   297,   298,   298,   298,   298,   299,   300,   300,
2088 >     302,   301,   303,   303,   304,   304,   304,   304,   304,   304,
2089 >     304,   304,   304,   306,   305,   307,   307,   308,   308,   308,
2090 >     308,   308,   308,   308,   308,   308,   308,   308,   309,   310,
2091 >     311,   312,   313,   314,   315,   316,   318,   317,   319,   319,
2092 >     320,   320,   320,   320,   320,   320,   320,   320,   320,   320,
2093 >     320,   320,   320,   320,   320,   320,   320,   320,   320,   320,
2094 >     320,   320,   322,   321,   323,   323,   324,   324,   324,   324,
2095 >     324,   324,   324,   324,   324,   324,   324,   324,   324,   324,
2096 >     324,   324,   324,   324,   324,   324,   324,   324,   324,   324,
2097 >     326,   325,   327,   327,   328,   328,   328,   328,   328,   328,
2098 >     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
2099 >     328,   328,   329,   330,   331,   332,   333,   334,   335,   336,
2100 >     337,   338,   339,   340,   341,   342,   343,   344,   346,   345,
2101 >     347,   347,   348,   348,   350,   349,   352,   351,   353,   353,
2102 >     354,   354,   354,   355,   355,   356,   356,   356,   356,   356,
2103 >     358,   357,   359,   359,   360,   360,   361,   362,   364,   363,
2104 >     365,   365,   366,   366,   366,   366,   366,   366,   366,   366,
2105 >     366,   367,   368,   369,   370,   372,   371,   373,   373,   374,
2106 >     374,   374,   374,   374,   374,   374,   374,   374,   374,   375,
2107 >     376,   377,   379,   378,   380,   380,   381,   381,   381,   381,
2108 >     382,   383,   384,   385,   386,   386,   387,   387,   388,   390,
2109 >     389,   391,   391,   392,   392,   392,   392,   393,   394,   396,
2110 >     395,   397,   397,   398,   398,   398,   398,   398,   398,   398,
2111 >     398,   398,   398,   400,   399,   401,   401,   402,   402,   402,
2112 >     403,   405,   404,   406,   406,   407,   407,   407,   407,   407,
2113 >     407,   407,   407,   407,   407,   409,   408,   410,   410,   411,
2114 >     411,   411,   411,   411,   411,   411,   411,   411,   411,   411,
2115 >     411,   411,   411,   411,   412,   413,   414,   415,   416,   417,
2116 >     418,   419,   419,   421,   420,   422,   422,   423,   423,   424,
2117 >     425,   426,   427,   428,   430,   429,   431,   431,   432,   432,
2118 >     432,   433,   434,   436,   435,   437,   437,   438,   438,   438,
2119 >     439,   440,   441,   442,   442,   443,   443,   444,   446,   445,
2120 >     447,   447,   448,   448,   448,   449,   450,   451,   452,   452,
2121 >     453,   453,   453,   453,   453,   453,   453,   453,   453,   453,
2122 >     453,   453,   453,   453,   453,   453,   453,   453,   453,   453,
2123 >     453,   453,   453,   453,   453,   453,   453,   453,   453,   453,
2124 >     453,   453,   453,   453,   453,   453,   453,   453,   453,   453,
2125 >     453,   453,   453,   453,   453,   453,   453,   453,   453,   454,
2126 >     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
2127 >     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
2128 >     475,   476,   477,   478,   479,   480,   481,   482,   482,   483,
2129 >     483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
2130 >     493,   494,   495,   496,   498,   497,   499,   499,   500,   500,
2131 >     500,   500,   500,   500,   500,   500,   500,   500,   500,   500,
2132 >     500,   500,   500,   500,   500,   500,   500,   500,   500,   500,
2133 >     502,   501,   503,   503,   504,   504,   504,   504,   504,   504,
2134 >     504,   504,   504,   504,   504,   504,   504,   504,   504,   504,
2135 >     504,   504,   504,   504,   505,   506,   507,   508,   509,   509,
2136 >     510,   510,   510,   510,   510,   510,   510,   510,   510,   510,
2137 >     510,   510,   510,   510,   510,   511,   512,   513,   514,   515,
2138 >     516,   517,   518,   519,   520,   521,   522,   523,   524,   525,
2139 >     526,   526,   527,   527,   527,   527,   527,   527,   527,   527,
2140 >     527,   528,   529,   530,   531,   532,   533,   534,   535
2141 > };
2142 >
2143 >  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
2144 > static const yytype_uint8 yyr2[] =
2145 > {
2146 >       0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
2147 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2148 >       1,     1,     1,     1,     1,     1,     2,     2,     0,     1,
2149 >       2,     3,     3,     3,     3,     3,     3,     3,     0,     1,
2150 >       2,     3,     3,     3,     5,     2,     1,     1,     1,     2,
2151 >       4,     4,     5,     2,     1,     1,     1,     1,     1,     1,
2152 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2153 >       1,     1,     2,     4,     4,     4,     4,     4,     4,     4,
2154 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2155 >       5,     2,     1,     1,     1,     1,     2,     4,     4,     4,
2156 >       0,     6,     2,     1,     1,     1,     2,     4,     4,     0,
2157 >       6,     2,     1,     1,     1,     1,     1,     2,     4,     4,
2158 >       4,     4,     5,     2,     1,     1,     1,     2,     4,     0,
2159 >       6,     2,     1,     1,     1,     1,     2,     4,     4,     4,
2160 >       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
2161 >       1,     1,     1,     0,     6,     2,     1,     1,     1,     1,
2162 >       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
2163 >       4,     4,     4,     4,     4,     4,     0,     5,     3,     1,
2164 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2165 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2166 >       1,     1,     0,     5,     3,     1,     3,     1,     3,     1,
2167 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2168 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2169 >       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
2170 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2171 >       1,     2,     4,     4,     4,     4,     4,     4,     4,     4,
2172 >       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
2173 >       3,     1,     1,     1,     0,     6,     0,     5,     3,     1,
2174 >       1,     1,     1,     2,     1,     1,     1,     1,     1,     2,
2175 >       0,     5,     3,     1,     1,     3,     4,     4,     0,     6,
2176 >       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2177 >       2,     4,     4,     4,     4,     0,     5,     3,     1,     1,
2178 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
2179 >       4,     4,     0,     6,     2,     1,     1,     1,     1,     2,
2180 >       4,     4,     4,     5,     2,     1,     1,     1,     4,     0,
2181 >       6,     2,     1,     1,     1,     1,     2,     4,     4,     0,
2182 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
2183 >       1,     1,     1,     0,     6,     2,     1,     1,     1,     2,
2184 >       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
2185 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
2186 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2187 >       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
2188 >       4,     4,     4,     0,     5,     3,     1,     1,     1,     4,
2189 >       4,     4,     4,     4,     0,     6,     2,     1,     1,     1,
2190 >       1,     4,     4,     0,     6,     2,     1,     1,     1,     1,
2191 >       4,     4,     5,     2,     1,     1,     1,     4,     0,     6,
2192 >       2,     1,     1,     1,     1,     4,     4,     5,     2,     1,
2193 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2194 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2195 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2196 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2197 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
2198 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2199 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2200 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2201 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2202 >       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
2203 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2204 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2205 >       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
2206 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2207 >       1,     1,     1,     1,     4,     4,     4,     5,     2,     1,
2208 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2209 >       1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
2210 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     5,
2211 >       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2212 >       1,     4,     4,     4,     4,     4,     4,     4,     4
2213   };
2214  
2215 < #define yyerrok         (yyerrstatus = 0)
2216 < #define yyclearin       (yychar = YYEMPTY)
2217 < #define YYEMPTY         (-2)
2218 < #define YYEOF           0
2219 <
2220 < #define YYACCEPT        goto yyacceptlab
2221 < #define YYABORT         goto yyabortlab
2222 < #define YYERROR         goto yyerrorlab
2223 <
2224 <
2412 < /* Like YYERROR except do call yyerror.  This remains here temporarily
2413 <   to ease the transition to the new meaning of YYERROR, for GCC.
2414 <   Once GCC version 2 has supplanted version 1, this can go.  However,
2415 <   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
2416 <   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
2417 <   discussed.  */
2418 <
2419 < #define YYFAIL          goto yyerrlab
2420 < #if defined YYFAIL
2421 <  /* This is here to suppress warnings from the GCC cpp's
2422 <     -Wunused-macros.  Normally we don't worry about that warning, but
2423 <     some users do, and we want to make it easy for users to remove
2424 <     YYFAIL uses, which will produce warnings from Bison 2.5.  */
2425 < #endif
2215 >
2216 > #define yyerrok         (yyerrstatus = 0)
2217 > #define yyclearin       (yychar = YYEMPTY)
2218 > #define YYEMPTY         (-2)
2219 > #define YYEOF           0
2220 >
2221 > #define YYACCEPT        goto yyacceptlab
2222 > #define YYABORT         goto yyabortlab
2223 > #define YYERROR         goto yyerrorlab
2224 >
2225  
2226   #define YYRECOVERING()  (!!yyerrstatus)
2227  
# Line 2439 | Line 2238 | do
2238    else                                                          \
2239      {                                                           \
2240        yyerror (YY_("syntax error: cannot back up")); \
2241 <      YYERROR;                                                  \
2242 <    }                                                           \
2243 < while (YYID (0))
2241 >      YYERROR;                                                  \
2242 >    }                                                           \
2243 > while (0)
2244  
2245   /* Error token number */
2246 < #define YYTERROR        1
2247 < #define YYERRCODE       256
2449 <
2450 <
2451 < /* This macro is provided for backward compatibility. */
2452 < #ifndef YY_LOCATION_PRINT
2453 < # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2454 < #endif
2246 > #define YYTERROR        1
2247 > #define YYERRCODE       256
2248  
2249  
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
2250  
2251   /* Enable debugging if requested.  */
2252   #if YYDEBUG
# Line 2469 | Line 2256 | while (YYID (0))
2256   #  define YYFPRINTF fprintf
2257   # endif
2258  
2259 < # define YYDPRINTF(Args)                        \
2260 < do {                                            \
2261 <  if (yydebug)                                  \
2262 <    YYFPRINTF Args;                             \
2263 < } 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))
2259 > # define YYDPRINTF(Args)                        \
2260 > do {                                            \
2261 >  if (yydebug)                                  \
2262 >    YYFPRINTF Args;                             \
2263 > } while (0)
2264  
2265 + /* This macro is provided for backward compatibility. */
2266 + #ifndef YY_LOCATION_PRINT
2267 + # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2268 + #endif
2269  
2490 /*--------------------------------.
2491 | Print this symbol on YYOUTPUT.  |
2492 `--------------------------------*/
2270  
2271 < /*ARGSUSED*/
2272 < #if (defined __STDC__ || defined __C99__FUNC__ \
2273 <     || defined __cplusplus || defined _MSC_VER)
2271 > # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2272 > do {                                                                      \
2273 >  if (yydebug)                                                            \
2274 >    {                                                                     \
2275 >      YYFPRINTF (stderr, "%s ", Title);                                   \
2276 >      yy_symbol_print (stderr,                                            \
2277 >                  Type, Value); \
2278 >      YYFPRINTF (stderr, "\n");                                           \
2279 >    }                                                                     \
2280 > } while (0)
2281 >
2282 >
2283 > /*----------------------------------------.
2284 > | Print this symbol's value on YYOUTPUT.  |
2285 > `----------------------------------------*/
2286 >
2287   static void
2288   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
2289   {
2290    FILE *yyo = yyoutput;
2291    YYUSE (yyo);
# Line 2511 | Line 2294 | yy_symbol_value_print (yyoutput, yytype,
2294   # ifdef YYPRINT
2295    if (yytype < YYNTOKENS)
2296      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2514 # else
2515  YYUSE (yyoutput);
2297   # endif
2298    YYUSE (yytype);
2299   }
# Line 2522 | Line 2303 | yy_symbol_value_print (yyoutput, yytype,
2303   | Print this symbol on YYOUTPUT.  |
2304   `--------------------------------*/
2305  
2525 #if (defined __STDC__ || defined __C99__FUNC__ \
2526     || defined __cplusplus || defined _MSC_VER)
2306   static void
2307   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
2308   {
2309 <  if (yytype < YYNTOKENS)
2310 <    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2539 <  else
2540 <    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2309 >  YYFPRINTF (yyoutput, "%s %s (",
2310 >             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
2311  
2312    yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2313    YYFPRINTF (yyoutput, ")");
# Line 2548 | Line 2318 | yy_symbol_print (yyoutput, yytype, yyval
2318   | TOP (included).                                                   |
2319   `------------------------------------------------------------------*/
2320  
2551 #if (defined __STDC__ || defined __C99__FUNC__ \
2552     || defined __cplusplus || defined _MSC_VER)
2321   static void
2322   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
2323   {
2324    YYFPRINTF (stderr, "Stack now");
2325    for (; yybottom <= yytop; yybottom++)
# Line 2568 | Line 2330 | yy_stack_print (yybottom, yytop)
2330    YYFPRINTF (stderr, "\n");
2331   }
2332  
2333 < # define YY_STACK_PRINT(Bottom, Top)                            \
2334 < do {                                                            \
2335 <  if (yydebug)                                                  \
2336 <    yy_stack_print ((Bottom), (Top));                           \
2337 < } while (YYID (0))
2333 > # define YY_STACK_PRINT(Bottom, Top)                            \
2334 > do {                                                            \
2335 >  if (yydebug)                                                  \
2336 >    yy_stack_print ((Bottom), (Top));                           \
2337 > } while (0)
2338  
2339  
2340   /*------------------------------------------------.
2341   | Report that the YYRULE is going to be reduced.  |
2342   `------------------------------------------------*/
2343  
2582 #if (defined __STDC__ || defined __C99__FUNC__ \
2583     || defined __cplusplus || defined _MSC_VER)
2344   static void
2345 < 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
2345 > yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
2346   {
2347 +  unsigned long int yylno = yyrline[yyrule];
2348    int yynrhs = yyr2[yyrule];
2349    int yyi;
2595  unsigned long int yylno = yyrline[yyrule];
2350    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2351 <             yyrule - 1, yylno);
2351 >             yyrule - 1, yylno);
2352    /* The symbols being reduced.  */
2353    for (yyi = 0; yyi < yynrhs; yyi++)
2354      {
2355        YYFPRINTF (stderr, "   $%d = ", yyi + 1);
2356 <      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2357 <                       &(yyvsp[(yyi + 1) - (yynrhs)])
2358 <                                       );
2356 >      yy_symbol_print (stderr,
2357 >                       yystos[yyssp[yyi + 1 - yynrhs]],
2358 >                       &(yyvsp[(yyi + 1) - (yynrhs)])
2359 >                                              );
2360        YYFPRINTF (stderr, "\n");
2361      }
2362   }
2363  
2364 < # define YY_REDUCE_PRINT(Rule)          \
2365 < do {                                    \
2366 <  if (yydebug)                          \
2367 <    yy_reduce_print (yyvsp, Rule); \
2368 < } while (YYID (0))
2364 > # define YY_REDUCE_PRINT(Rule)          \
2365 > do {                                    \
2366 >  if (yydebug)                          \
2367 >    yy_reduce_print (yyssp, yyvsp, Rule); \
2368 > } while (0)
2369  
2370   /* Nonzero means print parse trace.  It is left uninitialized so that
2371     multiple parsers can coexist.  */
# Line 2624 | Line 2379 | int yydebug;
2379  
2380  
2381   /* YYINITDEPTH -- initial size of the parser's stacks.  */
2382 < #ifndef YYINITDEPTH
2382 > #ifndef YYINITDEPTH
2383   # define YYINITDEPTH 200
2384   #endif
2385  
# Line 2647 | Line 2402 | int yydebug;
2402   #   define yystrlen strlen
2403   #  else
2404   /* Return the length of YYSTR.  */
2650 #if (defined __STDC__ || defined __C99__FUNC__ \
2651     || defined __cplusplus || defined _MSC_VER)
2405   static YYSIZE_T
2406   yystrlen (const char *yystr)
2654 #else
2655 static YYSIZE_T
2656 yystrlen (yystr)
2657    const char *yystr;
2658 #endif
2407   {
2408    YYSIZE_T yylen;
2409    for (yylen = 0; yystr[yylen]; yylen++)
# Line 2671 | Line 2419 | yystrlen (yystr)
2419   #  else
2420   /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2421     YYDEST.  */
2674 #if (defined __STDC__ || defined __C99__FUNC__ \
2675     || defined __cplusplus || defined _MSC_VER)
2422   static char *
2423   yystpcpy (char *yydest, const char *yysrc)
2678 #else
2679 static char *
2680 yystpcpy (yydest, yysrc)
2681    char *yydest;
2682    const char *yysrc;
2683 #endif
2424   {
2425    char *yyd = yydest;
2426    const char *yys = yysrc;
# Line 2710 | Line 2450 | yytnamerr (char *yyres, const char *yyst
2450        char const *yyp = yystr;
2451  
2452        for (;;)
2453 <        switch (*++yyp)
2454 <          {
2455 <          case '\'':
2456 <          case ',':
2457 <            goto do_not_strip_quotes;
2458 <
2459 <          case '\\':
2460 <            if (*++yyp != '\\')
2461 <              goto do_not_strip_quotes;
2462 <            /* Fall through.  */
2463 <          default:
2464 <            if (yyres)
2465 <              yyres[yyn] = *yyp;
2466 <            yyn++;
2467 <            break;
2468 <
2469 <          case '"':
2470 <            if (yyres)
2471 <              yyres[yyn] = '\0';
2472 <            return yyn;
2473 <          }
2453 >        switch (*++yyp)
2454 >          {
2455 >          case '\'':
2456 >          case ',':
2457 >            goto do_not_strip_quotes;
2458 >
2459 >          case '\\':
2460 >            if (*++yyp != '\\')
2461 >              goto do_not_strip_quotes;
2462 >            /* Fall through.  */
2463 >          default:
2464 >            if (yyres)
2465 >              yyres[yyn] = *yyp;
2466 >            yyn++;
2467 >            break;
2468 >
2469 >          case '"':
2470 >            if (yyres)
2471 >              yyres[yyn] = '\0';
2472 >            return yyn;
2473 >          }
2474      do_not_strip_quotes: ;
2475      }
2476  
# Line 2753 | Line 2493 | static int
2493   yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2494                  yytype_int16 *yyssp, int yytoken)
2495   {
2496 <  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
2496 >  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
2497    YYSIZE_T yysize = yysize0;
2498    enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2499    /* Internationalized format string. */
2500 <  const char *yyformat = YY_NULL;
2500 >  const char *yyformat = YY_NULLPTR;
2501    /* Arguments of yyformat. */
2502    char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2503    /* Number of reported tokens (one for the "unexpected", one per
# Line 2765 | Line 2505 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2505    int yycount = 0;
2506  
2507    /* 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.
2508       - If this state is a consistent state with a default action, then
2509         the only way this function was invoked is if the default action
2510         is an error action.  In that case, don't check for expected
# Line 2818 | Line 2554 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2554                    }
2555                  yyarg[yycount++] = yytname[yyx];
2556                  {
2557 <                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2557 >                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
2558                    if (! (yysize <= yysize1
2559                           && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2560                      return 2;
# Line 2885 | Line 2621 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2621   | Release the memory associated to this symbol.  |
2622   `-----------------------------------------------*/
2623  
2888 /*ARGSUSED*/
2889 #if (defined __STDC__ || defined __C99__FUNC__ \
2890     || defined __cplusplus || defined _MSC_VER)
2624   static void
2625   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
2626   {
2627    YYUSE (yyvaluep);
2902
2628    if (!yymsg)
2629      yymsg = "Deleting";
2630    YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2631  
2632 +  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2633    YYUSE (yytype);
2634 +  YY_IGNORE_MAYBE_UNINITIALIZED_END
2635   }
2636  
2637  
# Line 2913 | Line 2640 | yydestruct (yymsg, yytype, yyvaluep)
2640   /* The lookahead symbol.  */
2641   int yychar;
2642  
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
2643   /* The semantic value of the lookahead symbol.  */
2644 < YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
2927 <
2644 > YYSTYPE yylval;
2645   /* Number of syntax errors so far.  */
2646   int yynerrs;
2647  
# Line 2933 | Line 2650 | int yynerrs;
2650   | yyparse.  |
2651   `----------*/
2652  
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)
2653   int
2654   yyparse (void)
2951 #else
2952 int
2953 yyparse ()
2954
2955 #endif
2956 #endif
2655   {
2656      int yystate;
2657      /* Number of tokens to shift before error messages enabled.  */
2658      int yyerrstatus;
2659  
2660      /* The stacks and their tools:
2661 <       `yyss': related to states.
2662 <       `yyvs': related to semantic values.
2661 >       'yyss': related to states.
2662 >       'yyvs': related to semantic values.
2663  
2664         Refer to the stacks through separate pointers, to allow yyoverflow
2665         to reallocate them elsewhere.  */
# Line 3029 | Line 2727 | yyparse ()
2727  
2728   #ifdef yyoverflow
2729        {
2730 <        /* Give user a chance to reallocate the stack.  Use copies of
2731 <           these so that the &'s don't force the real ones into
2732 <           memory.  */
2733 <        YYSTYPE *yyvs1 = yyvs;
2734 <        yytype_int16 *yyss1 = yyss;
2735 <
2736 <        /* Each stack pointer address is followed by the size of the
2737 <           data in use in that stack, in bytes.  This used to be a
2738 <           conditional around just the two extra args, but that might
2739 <           be undefined if yyoverflow is a macro.  */
2740 <        yyoverflow (YY_("memory exhausted"),
2741 <                    &yyss1, yysize * sizeof (*yyssp),
2742 <                    &yyvs1, yysize * sizeof (*yyvsp),
2743 <                    &yystacksize);
2730 >        /* Give user a chance to reallocate the stack.  Use copies of
2731 >           these so that the &'s don't force the real ones into
2732 >           memory.  */
2733 >        YYSTYPE *yyvs1 = yyvs;
2734 >        yytype_int16 *yyss1 = yyss;
2735 >
2736 >        /* Each stack pointer address is followed by the size of the
2737 >           data in use in that stack, in bytes.  This used to be a
2738 >           conditional around just the two extra args, but that might
2739 >           be undefined if yyoverflow is a macro.  */
2740 >        yyoverflow (YY_("memory exhausted"),
2741 >                    &yyss1, yysize * sizeof (*yyssp),
2742 >                    &yyvs1, yysize * sizeof (*yyvsp),
2743 >                    &yystacksize);
2744  
2745 <        yyss = yyss1;
2746 <        yyvs = yyvs1;
2745 >        yyss = yyss1;
2746 >        yyvs = yyvs1;
2747        }
2748   #else /* no yyoverflow */
2749   # ifndef YYSTACK_RELOCATE
# Line 3053 | Line 2751 | yyparse ()
2751   # else
2752        /* Extend the stack our own way.  */
2753        if (YYMAXDEPTH <= yystacksize)
2754 <        goto yyexhaustedlab;
2754 >        goto yyexhaustedlab;
2755        yystacksize *= 2;
2756        if (YYMAXDEPTH < yystacksize)
2757 <        yystacksize = YYMAXDEPTH;
2757 >        yystacksize = YYMAXDEPTH;
2758  
2759        {
2760 <        yytype_int16 *yyss1 = yyss;
2761 <        union yyalloc *yyptr =
2762 <          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2763 <        if (! yyptr)
2764 <          goto yyexhaustedlab;
2765 <        YYSTACK_RELOCATE (yyss_alloc, yyss);
2766 <        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2760 >        yytype_int16 *yyss1 = yyss;
2761 >        union yyalloc *yyptr =
2762 >          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2763 >        if (! yyptr)
2764 >          goto yyexhaustedlab;
2765 >        YYSTACK_RELOCATE (yyss_alloc, yyss);
2766 >        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2767   #  undef YYSTACK_RELOCATE
2768 <        if (yyss1 != yyssa)
2769 <          YYSTACK_FREE (yyss1);
2768 >        if (yyss1 != yyssa)
2769 >          YYSTACK_FREE (yyss1);
2770        }
2771   # endif
2772   #endif /* no yyoverflow */
# Line 3077 | Line 2775 | yyparse ()
2775        yyvsp = yyvs + yysize - 1;
2776  
2777        YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2778 <                  (unsigned long int) yystacksize));
2778 >                  (unsigned long int) yystacksize));
2779  
2780        if (yyss + yystacksize - 1 <= yyssp)
2781 <        YYABORT;
2781 >        YYABORT;
2782      }
2783  
2784    YYDPRINTF ((stderr, "Entering state %d\n", yystate));
# Line 3109 | Line 2807 | yybackup:
2807    if (yychar == YYEMPTY)
2808      {
2809        YYDPRINTF ((stderr, "Reading a token: "));
2810 <      yychar = YYLEX;
2810 >      yychar = yylex ();
2811      }
2812  
2813    if (yychar <= YYEOF)
# Line 3174 | Line 2872 | yyreduce:
2872    yylen = yyr2[yyn];
2873  
2874    /* If YYLEN is nonzero, implement the default value of the action:
2875 <     `$$ = $1'.
2875 >     '$$ = $1'.
2876  
2877       Otherwise, the following line sets YYVAL to garbage.
2878       This behavior is undocumented and Bison
# Line 3187 | Line 2885 | yyreduce:
2885    YY_REDUCE_PRINT (yyn);
2886    switch (yyn)
2887      {
2888 <        case 27:
2889 < /* Line 1787 of yacc.c  */
3192 < #line 397 "conf_parser.y"
2888 >        case 28:
2889 > #line 419 "conf_parser.y" /* yacc.c:1646  */
2890      { (yyval.number) = 0; }
2891 <    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 <                }
2891 > #line 2892 "conf_parser.c" /* yacc.c:1646  */
2892      break;
2893  
2894    case 30:
2895 < /* Line 1787 of yacc.c  */
2896 < #line 403 "conf_parser.y"
2897 <    {
3208 <                        (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3209 <                }
2895 > #line 420 "conf_parser.y" /* yacc.c:1646  */
2896 >    { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2897 > #line 2898 "conf_parser.c" /* yacc.c:1646  */
2898      break;
2899  
2900    case 31:
2901 < /* Line 1787 of yacc.c  */
2902 < #line 407 "conf_parser.y"
2903 <    {
3216 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3217 <                }
2901 > #line 421 "conf_parser.y" /* yacc.c:1646  */
2902 >    { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2903 > #line 2904 "conf_parser.c" /* yacc.c:1646  */
2904      break;
2905  
2906    case 32:
2907 < /* Line 1787 of yacc.c  */
2908 < #line 411 "conf_parser.y"
2909 <    {
3224 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3225 <                }
2907 > #line 422 "conf_parser.y" /* yacc.c:1646  */
2908 >    { (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number); }
2909 > #line 2910 "conf_parser.c" /* yacc.c:1646  */
2910      break;
2911  
2912    case 33:
2913 < /* Line 1787 of yacc.c  */
2914 < #line 415 "conf_parser.y"
2915 <    {
3232 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3233 <                }
2913 > #line 423 "conf_parser.y" /* yacc.c:1646  */
2914 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number); }
2915 > #line 2916 "conf_parser.c" /* yacc.c:1646  */
2916      break;
2917  
2918    case 34:
2919 < /* Line 1787 of yacc.c  */
2920 < #line 419 "conf_parser.y"
2921 <    {
3240 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3241 <                }
2919 > #line 424 "conf_parser.y" /* yacc.c:1646  */
2920 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number); }
2921 > #line 2922 "conf_parser.c" /* yacc.c:1646  */
2922      break;
2923  
2924    case 35:
2925 < /* Line 1787 of yacc.c  */
2926 < #line 423 "conf_parser.y"
2927 <    {
3248 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[(3) - (3)].number);
3249 <                }
2925 > #line 425 "conf_parser.y" /* yacc.c:1646  */
2926 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number); }
2927 > #line 2928 "conf_parser.c" /* yacc.c:1646  */
2928      break;
2929  
2930    case 36:
2931 < /* Line 1787 of yacc.c  */
2932 < #line 427 "conf_parser.y"
2933 <    {
3256 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 365 + (yyvsp[(3) - (3)].number);
3257 <                }
2931 > #line 426 "conf_parser.y" /* yacc.c:1646  */
2932 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number); }
2933 > #line 2934 "conf_parser.c" /* yacc.c:1646  */
2934      break;
2935  
2936    case 37:
2937 < /* Line 1787 of yacc.c  */
2938 < #line 432 "conf_parser.y"
2939 <    { (yyval.number) = 0; }
2937 > #line 427 "conf_parser.y" /* yacc.c:1646  */
2938 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number); }
2939 > #line 2940 "conf_parser.c" /* yacc.c:1646  */
2940      break;
2941  
2942 <  case 39:
2943 < /* Line 1787 of yacc.c  */
2944 < #line 433 "conf_parser.y"
2945 <    { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
2942 >  case 38:
2943 > #line 430 "conf_parser.y" /* yacc.c:1646  */
2944 >    { (yyval.number) = 0; }
2945 > #line 2946 "conf_parser.c" /* yacc.c:1646  */
2946      break;
2947  
2948    case 40:
2949 < /* Line 1787 of yacc.c  */
2950 < #line 434 "conf_parser.y"
2951 <    { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
2949 > #line 431 "conf_parser.y" /* yacc.c:1646  */
2950 >    { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2951 > #line 2952 "conf_parser.c" /* yacc.c:1646  */
2952      break;
2953  
2954    case 41:
2955 < /* Line 1787 of yacc.c  */
2956 < #line 435 "conf_parser.y"
2957 <    { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
2955 > #line 432 "conf_parser.y" /* yacc.c:1646  */
2956 >    { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2957 > #line 2958 "conf_parser.c" /* yacc.c:1646  */
2958      break;
2959  
2960    case 42:
2961 < /* Line 1787 of yacc.c  */
2962 < #line 436 "conf_parser.y"
2963 <    { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
2961 > #line 433 "conf_parser.y" /* yacc.c:1646  */
2962 >    { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); }
2963 > #line 2964 "conf_parser.c" /* yacc.c:1646  */
2964      break;
2965  
2966 <  case 49:
2967 < /* Line 1787 of yacc.c  */
2968 < #line 450 "conf_parser.y"
2969 <    {
3294 <  if (conf_parser_ctx.pass == 2)
3295 <    add_conf_module(libio_basename(yylval.string));
3296 < }
2966 >  case 43:
2967 > #line 434 "conf_parser.y" /* yacc.c:1646  */
2968 >    { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); }
2969 > #line 2970 "conf_parser.c" /* yacc.c:1646  */
2970      break;
2971  
2972    case 50:
2973 < /* Line 1787 of yacc.c  */
3301 < #line 456 "conf_parser.y"
2973 > #line 448 "conf_parser.y" /* yacc.c:1646  */
2974      {
2975    if (conf_parser_ctx.pass == 2)
2976 <    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
2976 >    add_conf_module(libio_basename(yylval.string));
2977   }
2978 + #line 2979 "conf_parser.c" /* yacc.c:1646  */
2979      break;
2980  
2981 <  case 81:
2982 < /* Line 1787 of yacc.c  */
3343 < #line 503 "conf_parser.y"
2981 >  case 51:
2982 > #line 454 "conf_parser.y" /* yacc.c:1646  */
2983      {
2984 < #ifdef HAVE_LIBCRYPTO
2985 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3347 <    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3348 < #endif
2984 >  if (conf_parser_ctx.pass == 2)
2985 >    mod_add_path(yylval.string);
2986   }
2987 + #line 2988 "conf_parser.c" /* yacc.c:1646  */
2988      break;
2989  
2990 <  case 82:
2991 < /* Line 1787 of yacc.c  */
3354 < #line 511 "conf_parser.y"
2990 >  case 73:
2991 > #line 484 "conf_parser.y" /* yacc.c:1646  */
2992      {
2993   #ifdef HAVE_LIBCRYPTO
2994 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2994 >  if (conf_parser_ctx.pass == 2)
2995    {
2996 <    if (!ServerInfo.rsa_private_key_file)
2996 >    if (!ConfigServerInfo.rsa_private_key_file)
2997      {
2998        conf_error_report("No rsa_private_key_file specified, SSL disabled");
2999        break;
3000      }
3001  
3002 <    if (SSL_CTX_use_certificate_file(ServerInfo.server_ctx, yylval.string,
3003 <                                     SSL_FILETYPE_PEM) <= 0 ||
3367 <        SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3368 <                                     SSL_FILETYPE_PEM) <= 0)
3002 >    if (SSL_CTX_use_certificate_chain_file(ConfigServerInfo.server_ctx, yylval.string) <= 0 ||
3003 >        SSL_CTX_use_certificate_chain_file(ConfigServerInfo.client_ctx, yylval.string) <= 0)
3004      {
3005        report_crypto_errors();
3006        conf_error_report("Could not open/read certificate file");
3007        break;
3008      }
3009  
3010 <    if (SSL_CTX_use_PrivateKey_file(ServerInfo.server_ctx, ServerInfo.rsa_private_key_file,
3010 >    if (SSL_CTX_use_PrivateKey_file(ConfigServerInfo.server_ctx, ConfigServerInfo.rsa_private_key_file,
3011                                      SSL_FILETYPE_PEM) <= 0 ||
3012 <        SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3012 >        SSL_CTX_use_PrivateKey_file(ConfigServerInfo.client_ctx, ConfigServerInfo.rsa_private_key_file,
3013                                      SSL_FILETYPE_PEM) <= 0)
3014      {
3015        report_crypto_errors();
# Line 3382 | Line 3017 | yyreduce:
3017        break;
3018      }
3019  
3020 <    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3021 <        !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3020 >    if (!SSL_CTX_check_private_key(ConfigServerInfo.server_ctx) ||
3021 >        !SSL_CTX_check_private_key(ConfigServerInfo.client_ctx))
3022      {
3023        report_crypto_errors();
3024        conf_error_report("Could not read RSA private key");
# Line 3392 | Line 3027 | yyreduce:
3027    }
3028   #endif
3029   }
3030 + #line 3031 "conf_parser.c" /* yacc.c:1646  */
3031      break;
3032  
3033 <  case 83:
3034 < /* Line 1787 of yacc.c  */
3399 < #line 553 "conf_parser.y"
3033 >  case 74:
3034 > #line 524 "conf_parser.y" /* yacc.c:1646  */
3035      {
3036   #ifdef HAVE_LIBCRYPTO
3037    BIO *file = NULL;
# Line 3404 | Line 3039 | yyreduce:
3039    if (conf_parser_ctx.pass != 1)
3040      break;
3041  
3042 <  if (ServerInfo.rsa_private_key)
3042 >  if (ConfigServerInfo.rsa_private_key)
3043    {
3044 <    RSA_free(ServerInfo.rsa_private_key);
3045 <    ServerInfo.rsa_private_key = NULL;
3044 >    RSA_free(ConfigServerInfo.rsa_private_key);
3045 >    ConfigServerInfo.rsa_private_key = NULL;
3046    }
3047  
3048 <  if (ServerInfo.rsa_private_key_file)
3048 >  if (ConfigServerInfo.rsa_private_key_file)
3049    {
3050 <    MyFree(ServerInfo.rsa_private_key_file);
3051 <    ServerInfo.rsa_private_key_file = NULL;
3050 >    MyFree(ConfigServerInfo.rsa_private_key_file);
3051 >    ConfigServerInfo.rsa_private_key_file = NULL;
3052    }
3053  
3054 <  ServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3054 >  ConfigServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3055  
3056    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3057    {
# Line 3424 | Line 3059 | yyreduce:
3059      break;
3060    }
3061  
3062 <  ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3062 >  ConfigServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3063  
3064    BIO_set_close(file, BIO_CLOSE);
3065    BIO_free(file);
3066  
3067 <  if (ServerInfo.rsa_private_key == NULL)
3067 >  if (ConfigServerInfo.rsa_private_key == NULL)
3068    {
3069      conf_error_report("Couldn't extract key, ignoring");
3070      break;
3071    }
3072  
3073 <  if (!RSA_check_key(ServerInfo.rsa_private_key))
3073 >  if (!RSA_check_key(ConfigServerInfo.rsa_private_key))
3074    {
3075 <    RSA_free(ServerInfo.rsa_private_key);
3076 <    ServerInfo.rsa_private_key = NULL;
3075 >    RSA_free(ConfigServerInfo.rsa_private_key);
3076 >    ConfigServerInfo.rsa_private_key = NULL;
3077  
3078      conf_error_report("Invalid key, ignoring");
3079      break;
3080    }
3081  
3082 <  /* require 2048 bit (256 byte) key */
3448 <  if (RSA_size(ServerInfo.rsa_private_key) != 256)
3082 >  if (RSA_size(ConfigServerInfo.rsa_private_key) < 128)
3083    {
3084 <    RSA_free(ServerInfo.rsa_private_key);
3085 <    ServerInfo.rsa_private_key = NULL;
3084 >    RSA_free(ConfigServerInfo.rsa_private_key);
3085 >    ConfigServerInfo.rsa_private_key = NULL;
3086  
3087 <    conf_error_report("Not a 2048 bit key, ignoring");
3087 >    conf_error_report("Ignoring serverinfo::rsa_private_key_file -- need at least a 1024 bit key size");
3088    }
3089   #endif
3090   }
3091 + #line 3092 "conf_parser.c" /* yacc.c:1646  */
3092      break;
3093  
3094 <  case 84:
3095 < /* Line 1787 of yacc.c  */
3461 < #line 612 "conf_parser.y"
3094 >  case 75:
3095 > #line 582 "conf_parser.y" /* yacc.c:1646  */
3096      {
3463 /* TBD - XXX: error reporting */
3097   #ifdef HAVE_LIBCRYPTO
3098 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3098 >  if (conf_parser_ctx.pass == 2)
3099    {
3100      BIO *file = BIO_new_file(yylval.string, "r");
3101  
# Line 3477 | Line 3110 | yyreduce:
3110          if (DH_size(dh) < 128)
3111            conf_error_report("Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3112          else
3113 <          SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3113 >          SSL_CTX_set_tmp_dh(ConfigServerInfo.server_ctx, dh);
3114  
3115          DH_free(dh);
3116        }
3117      }
3118 +    else
3119 +      conf_error_report("Ignoring serverinfo::ssl_dh_param_file -- could not open/read Diffie-Hellman parameter file");
3120    }
3121   #endif
3122   }
3123 + #line 3124 "conf_parser.c" /* yacc.c:1646  */
3124      break;
3125  
3126 <  case 85:
3127 < /* Line 1787 of yacc.c  */
3492 < #line 640 "conf_parser.y"
3126 >  case 76:
3127 > #line 611 "conf_parser.y" /* yacc.c:1646  */
3128      {
3129   #ifdef HAVE_LIBCRYPTO
3130 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3131 <    SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3130 >  if (conf_parser_ctx.pass == 2)
3131 >    SSL_CTX_set_cipher_list(ConfigServerInfo.server_ctx, yylval.string);
3132   #endif
3133   }
3134 + #line 3135 "conf_parser.c" /* yacc.c:1646  */
3135      break;
3136  
3137 <  case 86:
3138 < /* Line 1787 of yacc.c  */
3139 < #line 648 "conf_parser.y"
3137 >  case 77:
3138 > #line 619 "conf_parser.y" /* yacc.c:1646  */
3139 >    {
3140 > #ifdef HAVE_LIBCRYPTO
3141 >  if (conf_parser_ctx.pass == 2)
3142 >  {
3143 >    if ((ConfigServerInfo.message_digest_algorithm = EVP_get_digestbyname(yylval.string)) == NULL)
3144 >    {
3145 >      ConfigServerInfo.message_digest_algorithm = EVP_sha256();
3146 >      conf_error_report("Ignoring serverinfo::ssl_message_digest_algorithm -- unknown message digest algorithm");
3147 >    }
3148 >  }
3149 > #endif
3150 > }
3151 > #line 3152 "conf_parser.c" /* yacc.c:1646  */
3152 >    break;
3153 >
3154 >  case 78:
3155 > #line 633 "conf_parser.y" /* yacc.c:1646  */
3156 >    {
3157 > #ifdef HAVE_LIBCRYPTO
3158 > #if OPENSSL_VERSION_NUMBER >= 0x009080FFL && !defined(OPENSSL_NO_ECDH)
3159 >  int nid = 0;
3160 >  EC_KEY *key = NULL;
3161 >
3162 >  if (conf_parser_ctx.pass == 2)
3163 >  {
3164 >    if ((nid = OBJ_sn2nid(yylval.string)) == 0)
3165 >    {
3166 >        conf_error_report("Ignoring serverinfo::serverinfo_ssl_dh_elliptic_curve -- unknown curve name");
3167 >        break;
3168 >    }
3169 >
3170 >    if ((key = EC_KEY_new_by_curve_name(nid)) == NULL)
3171 >    {
3172 >      conf_error_report("Ignoring serverinfo::serverinfo_ssl_dh_elliptic_curve -- could not create curve");
3173 >      break;
3174 >    }
3175 >
3176 >    SSL_CTX_set_tmp_ecdh(ConfigServerInfo.server_ctx, key);
3177 >    EC_KEY_free(key);
3178 > }
3179 > #endif
3180 > #endif
3181 > }
3182 > #line 3183 "conf_parser.c" /* yacc.c:1646  */
3183 >    break;
3184 >
3185 >  case 79:
3186 > #line 661 "conf_parser.y" /* yacc.c:1646  */
3187      {
3188    /* this isn't rehashable */
3189 <  if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
3189 >  if (conf_parser_ctx.pass == 2 && !ConfigServerInfo.name)
3190    {
3191      if (valid_servname(yylval.string))
3192 <      ServerInfo.name = xstrdup(yylval.string);
3192 >      ConfigServerInfo.name = xstrdup(yylval.string);
3193      else
3194      {
3195        conf_error_report("Ignoring serverinfo::name -- invalid name. Aborting.");
# Line 3514 | Line 3197 | yyreduce:
3197      }
3198    }
3199   }
3200 + #line 3201 "conf_parser.c" /* yacc.c:1646  */
3201      break;
3202  
3203 <  case 87:
3204 < /* Line 1787 of yacc.c  */
3521 < #line 663 "conf_parser.y"
3203 >  case 80:
3204 > #line 676 "conf_parser.y" /* yacc.c:1646  */
3205      {
3206    /* this isn't rehashable */
3207 <  if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
3207 >  if (conf_parser_ctx.pass == 2 && !ConfigServerInfo.sid)
3208    {
3209      if (valid_sid(yylval.string))
3210 <      ServerInfo.sid = xstrdup(yylval.string);
3210 >      ConfigServerInfo.sid = xstrdup(yylval.string);
3211      else
3212      {
3213        conf_error_report("Ignoring serverinfo::sid -- invalid SID. Aborting.");
# Line 3532 | Line 3215 | yyreduce:
3215      }
3216    }
3217   }
3218 + #line 3219 "conf_parser.c" /* yacc.c:1646  */
3219      break;
3220  
3221 <  case 88:
3222 < /* Line 1787 of yacc.c  */
3539 < #line 678 "conf_parser.y"
3221 >  case 81:
3222 > #line 691 "conf_parser.y" /* yacc.c:1646  */
3223      {
3224    if (conf_parser_ctx.pass == 2)
3225    {
3226 <    MyFree(ServerInfo.description);
3227 <    ServerInfo.description = xstrdup(yylval.string);
3226 >    MyFree(ConfigServerInfo.description);
3227 >    ConfigServerInfo.description = xstrdup(yylval.string);
3228 >    strlcpy(me.info, ConfigServerInfo.description, sizeof(me.info));
3229    }
3230   }
3231 + #line 3232 "conf_parser.c" /* yacc.c:1646  */
3232      break;
3233  
3234 <  case 89:
3235 < /* Line 1787 of yacc.c  */
3551 < #line 687 "conf_parser.y"
3234 >  case 82:
3235 > #line 701 "conf_parser.y" /* yacc.c:1646  */
3236      {
3237    if (conf_parser_ctx.pass == 2)
3238    {
3239      char *p;
3240  
3241 <    if ((p = strchr(yylval.string, ' ')) != NULL)
3242 <      p = '\0';
3241 >    if ((p = strchr(yylval.string, ' ')))
3242 >      *p = '\0';
3243  
3244 <    MyFree(ServerInfo.network_name);
3245 <    ServerInfo.network_name = xstrdup(yylval.string);
3244 >    MyFree(ConfigServerInfo.network_name);
3245 >    ConfigServerInfo.network_name = xstrdup(yylval.string);
3246    }
3247   }
3248 + #line 3249 "conf_parser.c" /* yacc.c:1646  */
3249      break;
3250  
3251 <  case 90:
3252 < /* Line 1787 of yacc.c  */
3568 < #line 701 "conf_parser.y"
3251 >  case 83:
3252 > #line 715 "conf_parser.y" /* yacc.c:1646  */
3253      {
3254    if (conf_parser_ctx.pass != 2)
3255      break;
3256  
3257 <  MyFree(ServerInfo.network_desc);
3258 <  ServerInfo.network_desc = xstrdup(yylval.string);
3257 >  MyFree(ConfigServerInfo.network_desc);
3258 >  ConfigServerInfo.network_desc = xstrdup(yylval.string);
3259   }
3260 + #line 3261 "conf_parser.c" /* yacc.c:1646  */
3261      break;
3262  
3263 <  case 91:
3264 < /* Line 1787 of yacc.c  */
3580 < #line 710 "conf_parser.y"
3263 >  case 84:
3264 > #line 724 "conf_parser.y" /* yacc.c:1646  */
3265      {
3266    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3267    {
# Line 3593 | Line 3277 | yyreduce:
3277        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
3278      else
3279      {
3280 <      assert(res != NULL);
3280 >      assert(res);
3281  
3282 <      memcpy(&ServerInfo.ip, res->ai_addr, res->ai_addrlen);
3283 <      ServerInfo.ip.ss.ss_family = res->ai_family;
3284 <      ServerInfo.ip.ss_len = res->ai_addrlen;
3282 >      memcpy(&ConfigServerInfo.ip, res->ai_addr, res->ai_addrlen);
3283 >      ConfigServerInfo.ip.ss.ss_family = res->ai_family;
3284 >      ConfigServerInfo.ip.ss_len = res->ai_addrlen;
3285        freeaddrinfo(res);
3286  
3287 <      ServerInfo.specific_ipv4_vhost = 1;
3287 >      ConfigServerInfo.specific_ipv4_vhost = 1;
3288      }
3289    }
3290   }
3291 + #line 3292 "conf_parser.c" /* yacc.c:1646  */
3292      break;
3293  
3294 <  case 92:
3295 < /* Line 1787 of yacc.c  */
3611 < #line 738 "conf_parser.y"
3294 >  case 85:
3295 > #line 752 "conf_parser.y" /* yacc.c:1646  */
3296      {
3613 #ifdef IPV6
3297    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3298    {
3299      struct addrinfo hints, *res;
# Line 3625 | Line 3308 | yyreduce:
3308        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost6(%s)", yylval.string);
3309      else
3310      {
3311 <      assert(res != NULL);
3311 >      assert(res);
3312  
3313 <      memcpy(&ServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3314 <      ServerInfo.ip6.ss.ss_family = res->ai_family;
3315 <      ServerInfo.ip6.ss_len = res->ai_addrlen;
3313 >      memcpy(&ConfigServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3314 >      ConfigServerInfo.ip6.ss.ss_family = res->ai_family;
3315 >      ConfigServerInfo.ip6.ss_len = res->ai_addrlen;
3316        freeaddrinfo(res);
3317  
3318 <      ServerInfo.specific_ipv6_vhost = 1;
3318 >      ConfigServerInfo.specific_ipv6_vhost = 1;
3319      }
3320    }
3638 #endif
3321   }
3322 + #line 3323 "conf_parser.c" /* yacc.c:1646  */
3323      break;
3324  
3325 <  case 93:
3326 < /* Line 1787 of yacc.c  */
3644 < #line 768 "conf_parser.y"
3325 >  case 86:
3326 > #line 780 "conf_parser.y" /* yacc.c:1646  */
3327      {
3328    if (conf_parser_ctx.pass != 2)
3329      break;
3330  
3331 <  if ((yyvsp[(3) - (4)].number) < MAXCLIENTS_MIN)
3331 >  if ((yyvsp[-1].number) < MAXCLIENTS_MIN)
3332    {
3333 <    char buf[IRCD_BUFSIZE];
3333 >    char buf[IRCD_BUFSIZE] = "";
3334  
3335      snprintf(buf, sizeof(buf), "MAXCLIENTS too low, setting to %d", MAXCLIENTS_MIN);
3336      conf_error_report(buf);
3337 <    ServerInfo.max_clients = MAXCLIENTS_MIN;
3337 >    ConfigServerInfo.max_clients = MAXCLIENTS_MIN;
3338    }
3339 <  else if ((yyvsp[(3) - (4)].number) > MAXCLIENTS_MAX)
3339 >  else if ((yyvsp[-1].number) > MAXCLIENTS_MAX)
3340    {
3341 <    char buf[IRCD_BUFSIZE];
3341 >    char buf[IRCD_BUFSIZE] = "";
3342  
3343      snprintf(buf, sizeof(buf), "MAXCLIENTS too high, setting to %d", MAXCLIENTS_MAX);
3344      conf_error_report(buf);
3345 <    ServerInfo.max_clients = MAXCLIENTS_MAX;
3345 >    ConfigServerInfo.max_clients = MAXCLIENTS_MAX;
3346    }
3347    else
3348 <    ServerInfo.max_clients = (yyvsp[(3) - (4)].number);
3348 >    ConfigServerInfo.max_clients = (yyvsp[-1].number);
3349   }
3350 + #line 3351 "conf_parser.c" /* yacc.c:1646  */
3351      break;
3352  
3353 <  case 94:
3354 < /* Line 1787 of yacc.c  */
3672 < #line 793 "conf_parser.y"
3353 >  case 87:
3354 > #line 805 "conf_parser.y" /* yacc.c:1646  */
3355      {
3356    if (conf_parser_ctx.pass != 2)
3357      break;
3358  
3359 <  if ((yyvsp[(3) - (4)].number) < 9)
3359 >  if ((yyvsp[-1].number) < 9)
3360    {
3361      conf_error_report("max_nick_length too low, setting to 9");
3362 <    ServerInfo.max_nick_length = 9;
3362 >    ConfigServerInfo.max_nick_length = 9;
3363    }
3364 <  else if ((yyvsp[(3) - (4)].number) > NICKLEN)
3364 >  else if ((yyvsp[-1].number) > NICKLEN)
3365    {
3366 <    char buf[IRCD_BUFSIZE];
3366 >    char buf[IRCD_BUFSIZE] = "";
3367  
3368      snprintf(buf, sizeof(buf), "max_nick_length too high, setting to %d", NICKLEN);
3369      conf_error_report(buf);
3370 <    ServerInfo.max_nick_length = NICKLEN;
3370 >    ConfigServerInfo.max_nick_length = NICKLEN;
3371    }
3372    else
3373 <    ServerInfo.max_nick_length = (yyvsp[(3) - (4)].number);
3373 >    ConfigServerInfo.max_nick_length = (yyvsp[-1].number);
3374   }
3375 + #line 3376 "conf_parser.c" /* yacc.c:1646  */
3376      break;
3377  
3378 <  case 95:
3379 < /* Line 1787 of yacc.c  */
3697 < #line 815 "conf_parser.y"
3378 >  case 88:
3379 > #line 827 "conf_parser.y" /* yacc.c:1646  */
3380      {
3381    if (conf_parser_ctx.pass != 2)
3382      break;
3383  
3384 <  if ((yyvsp[(3) - (4)].number) < 80)
3384 >  if ((yyvsp[-1].number) < 80)
3385    {
3386      conf_error_report("max_topic_length too low, setting to 80");
3387 <    ServerInfo.max_topic_length = 80;
3387 >    ConfigServerInfo.max_topic_length = 80;
3388    }
3389 <  else if ((yyvsp[(3) - (4)].number) > TOPICLEN)
3389 >  else if ((yyvsp[-1].number) > TOPICLEN)
3390    {
3391 <    char buf[IRCD_BUFSIZE];
3391 >    char buf[IRCD_BUFSIZE] = "";
3392  
3393      snprintf(buf, sizeof(buf), "max_topic_length too high, setting to %d", TOPICLEN);
3394      conf_error_report(buf);
3395 <    ServerInfo.max_topic_length = TOPICLEN;
3395 >    ConfigServerInfo.max_topic_length = TOPICLEN;
3396    }
3397    else
3398 <    ServerInfo.max_topic_length = (yyvsp[(3) - (4)].number);
3398 >    ConfigServerInfo.max_topic_length = (yyvsp[-1].number);
3399   }
3400 + #line 3401 "conf_parser.c" /* yacc.c:1646  */
3401      break;
3402  
3403 <  case 96:
3404 < /* Line 1787 of yacc.c  */
3722 < #line 837 "conf_parser.y"
3403 >  case 89:
3404 > #line 849 "conf_parser.y" /* yacc.c:1646  */
3405      {
3406    if (conf_parser_ctx.pass == 2)
3407 <    ServerInfo.hub = yylval.number;
3407 >    ConfigServerInfo.hub = yylval.number;
3408   }
3409 + #line 3410 "conf_parser.c" /* yacc.c:1646  */
3410      break;
3411  
3412 <  case 104:
3413 < /* Line 1787 of yacc.c  */
3731 < #line 852 "conf_parser.y"
3412 >  case 97:
3413 > #line 866 "conf_parser.y" /* yacc.c:1646  */
3414      {
3415    if (conf_parser_ctx.pass != 2)
3416      break;
3417  
3418 <  MyFree(AdminInfo.name);
3419 <  AdminInfo.name = xstrdup(yylval.string);
3418 >  MyFree(ConfigAdminInfo.name);
3419 >  ConfigAdminInfo.name = xstrdup(yylval.string);
3420   }
3421 + #line 3422 "conf_parser.c" /* yacc.c:1646  */
3422      break;
3423  
3424 <  case 105:
3425 < /* Line 1787 of yacc.c  */
3743 < #line 861 "conf_parser.y"
3424 >  case 98:
3425 > #line 875 "conf_parser.y" /* yacc.c:1646  */
3426      {
3427    if (conf_parser_ctx.pass != 2)
3428      break;
3429  
3430 <  MyFree(AdminInfo.email);
3431 <  AdminInfo.email = xstrdup(yylval.string);
3430 >  MyFree(ConfigAdminInfo.email);
3431 >  ConfigAdminInfo.email = xstrdup(yylval.string);
3432   }
3433 + #line 3434 "conf_parser.c" /* yacc.c:1646  */
3434      break;
3435  
3436 <  case 106:
3437 < /* Line 1787 of yacc.c  */
3755 < #line 870 "conf_parser.y"
3436 >  case 99:
3437 > #line 884 "conf_parser.y" /* yacc.c:1646  */
3438      {
3439    if (conf_parser_ctx.pass != 2)
3440      break;
3441  
3442 <  MyFree(AdminInfo.description);
3443 <  AdminInfo.description = xstrdup(yylval.string);
3442 >  MyFree(ConfigAdminInfo.description);
3443 >  ConfigAdminInfo.description = xstrdup(yylval.string);
3444   }
3445 + #line 3446 "conf_parser.c" /* yacc.c:1646  */
3446      break;
3447  
3448 <  case 107:
3449 < /* Line 1787 of yacc.c  */
3767 < #line 882 "conf_parser.y"
3448 >  case 100:
3449 > #line 896 "conf_parser.y" /* yacc.c:1646  */
3450      {
3451    if (conf_parser_ctx.pass == 2)
3452      reset_block_state();
3453   }
3454 + #line 3455 "conf_parser.c" /* yacc.c:1646  */
3455      break;
3456  
3457 <  case 108:
3458 < /* Line 1787 of yacc.c  */
3776 < #line 886 "conf_parser.y"
3457 >  case 101:
3458 > #line 900 "conf_parser.y" /* yacc.c:1646  */
3459      {
3460 <  dlink_node *ptr = NULL;
3460 >  dlink_node *node = NULL;
3461  
3462    if (conf_parser_ctx.pass != 2)
3463      break;
# Line 3783 | Line 3465 | yyreduce:
3465    if (!block_state.file.buf[0])
3466      break;
3467  
3468 <  DLINK_FOREACH(ptr, block_state.mask.list.head)
3469 <    motd_add(ptr->data, block_state.file.buf);
3468 >  DLINK_FOREACH(node, block_state.mask.list.head)
3469 >    motd_add(node->data, block_state.file.buf);
3470   }
3471 + #line 3472 "conf_parser.c" /* yacc.c:1646  */
3472      break;
3473  
3474 <  case 114:
3475 < /* Line 1787 of yacc.c  */
3793 < #line 903 "conf_parser.y"
3474 >  case 107:
3475 > #line 917 "conf_parser.y" /* yacc.c:1646  */
3476      {
3477    if (conf_parser_ctx.pass == 2)
3478      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3479   }
3480 + #line 3481 "conf_parser.c" /* yacc.c:1646  */
3481      break;
3482  
3483 <  case 115:
3484 < /* Line 1787 of yacc.c  */
3802 < #line 909 "conf_parser.y"
3483 >  case 108:
3484 > #line 923 "conf_parser.y" /* yacc.c:1646  */
3485      {
3486    if (conf_parser_ctx.pass == 2)
3487      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3488   }
3489 + #line 3490 "conf_parser.c" /* yacc.c:1646  */
3490 +    break;
3491 +
3492 +  case 109:
3493 + #line 932 "conf_parser.y" /* yacc.c:1646  */
3494 +    {
3495 +  if (conf_parser_ctx.pass == 2)
3496 +    reset_block_state();
3497 + }
3498 + #line 3499 "conf_parser.c" /* yacc.c:1646  */
3499 +    break;
3500 +
3501 +  case 110:
3502 + #line 936 "conf_parser.y" /* yacc.c:1646  */
3503 +    {
3504 +  if (conf_parser_ctx.pass != 2)
3505 +    break;
3506 +
3507 +  if (!block_state.command.buf[0] ||
3508 +      !block_state.name.buf[0] ||
3509 +      !block_state.nick.buf[0] ||
3510 +      !block_state.host.buf[0])
3511 +    break;
3512 +
3513 +  pseudo_register(block_state.name.buf, block_state.nick.buf, block_state.host.buf,
3514 +                  block_state.prepend.buf, block_state.command.buf);
3515 + }
3516 + #line 3517 "conf_parser.c" /* yacc.c:1646  */
3517 +    break;
3518 +
3519 +  case 118:
3520 + #line 954 "conf_parser.y" /* yacc.c:1646  */
3521 +    {
3522 +  if (conf_parser_ctx.pass == 2)
3523 +    strlcpy(block_state.command.buf, yylval.string, sizeof(block_state.command.buf));
3524 + }
3525 + #line 3526 "conf_parser.c" /* yacc.c:1646  */
3526 +    break;
3527 +
3528 +  case 119:
3529 + #line 960 "conf_parser.y" /* yacc.c:1646  */
3530 +    {
3531 +  if (conf_parser_ctx.pass == 2)
3532 +    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3533 + }
3534 + #line 3535 "conf_parser.c" /* yacc.c:1646  */
3535 +    break;
3536 +
3537 +  case 120:
3538 + #line 966 "conf_parser.y" /* yacc.c:1646  */
3539 +    {
3540 +  if (conf_parser_ctx.pass == 2)
3541 +    strlcpy(block_state.prepend.buf, yylval.string, sizeof(block_state.prepend.buf));
3542 + }
3543 + #line 3544 "conf_parser.c" /* yacc.c:1646  */
3544      break;
3545  
3546 <  case 122:
3547 < /* Line 1787 of yacc.c  */
3811 < #line 924 "conf_parser.y"
3546 >  case 121:
3547 > #line 972 "conf_parser.y" /* yacc.c:1646  */
3548      {
3549    if (conf_parser_ctx.pass == 2)
3550 <    ConfigLoggingEntry.use_logging = yylval.number;
3550 >  {
3551 >    struct split_nuh_item nuh;
3552 >
3553 >    nuh.nuhmask  = yylval.string;
3554 >    nuh.nickptr  = NULL;
3555 >    nuh.userptr  = block_state.user.buf;
3556 >    nuh.hostptr  = block_state.host.buf;
3557 >    nuh.nicksize = 0;
3558 >    nuh.usersize = sizeof(block_state.nick.buf);
3559 >    nuh.hostsize = sizeof(block_state.host.buf);
3560 >    split_nuh(&nuh);
3561 >
3562 >    strlcpy(block_state.nick.buf, nuh.userptr, sizeof(block_state.nick.buf));
3563 >    strlcpy(block_state.host.buf, nuh.hostptr, sizeof(block_state.host.buf));
3564 >  }
3565   }
3566 + #line 3567 "conf_parser.c" /* yacc.c:1646  */
3567      break;
3568  
3569 <  case 123:
3570 < /* Line 1787 of yacc.c  */
3571 < #line 930 "conf_parser.y"
3569 >  case 128:
3570 > #line 1001 "conf_parser.y" /* yacc.c:1646  */
3571 >    {
3572 >  if (conf_parser_ctx.pass == 2)
3573 >    ConfigLog.use_logging = yylval.number;
3574 > }
3575 > #line 3576 "conf_parser.c" /* yacc.c:1646  */
3576 >    break;
3577 >
3578 >  case 129:
3579 > #line 1007 "conf_parser.y" /* yacc.c:1646  */
3580      {
3581    if (conf_parser_ctx.pass == 2)
3582      reset_block_state();
3583   }
3584 + #line 3585 "conf_parser.c" /* yacc.c:1646  */
3585      break;
3586  
3587 <  case 124:
3588 < /* Line 1787 of yacc.c  */
3829 < #line 934 "conf_parser.y"
3587 >  case 130:
3588 > #line 1011 "conf_parser.y" /* yacc.c:1646  */
3589      {
3590    if (conf_parser_ctx.pass != 2)
3591      break;
# Line 3835 | Line 3594 | yyreduce:
3594      log_set_file(block_state.type.value, block_state.size.value,
3595                   block_state.file.buf);
3596   }
3597 + #line 3598 "conf_parser.c" /* yacc.c:1646  */
3598      break;
3599  
3600 <  case 131:
3601 < /* Line 1787 of yacc.c  */
3842 < #line 950 "conf_parser.y"
3600 >  case 137:
3601 > #line 1027 "conf_parser.y" /* yacc.c:1646  */
3602      {
3603    if (conf_parser_ctx.pass != 2)
3604      break;
3605  
3606    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3607   }
3608 + #line 3609 "conf_parser.c" /* yacc.c:1646  */
3609      break;
3610  
3611 <  case 132:
3612 < /* Line 1787 of yacc.c  */
3853 < #line 958 "conf_parser.y"
3611 >  case 138:
3612 > #line 1035 "conf_parser.y" /* yacc.c:1646  */
3613      {
3614 <  block_state.size.value = (yyvsp[(3) - (4)].number);
3614 >  block_state.size.value = (yyvsp[-1].number);
3615   }
3616 + #line 3617 "conf_parser.c" /* yacc.c:1646  */
3617      break;
3618  
3619 <  case 133:
3620 < /* Line 1787 of yacc.c  */
3861 < #line 961 "conf_parser.y"
3619 >  case 139:
3620 > #line 1038 "conf_parser.y" /* yacc.c:1646  */
3621      {
3622    block_state.size.value = 0;
3623   }
3624 + #line 3625 "conf_parser.c" /* yacc.c:1646  */
3625      break;
3626  
3627 <  case 134:
3628 < /* Line 1787 of yacc.c  */
3869 < #line 966 "conf_parser.y"
3627 >  case 140:
3628 > #line 1043 "conf_parser.y" /* yacc.c:1646  */
3629      {
3630    if (conf_parser_ctx.pass == 2)
3631      block_state.type.value = 0;
3632   }
3633 + #line 3634 "conf_parser.c" /* yacc.c:1646  */
3634      break;
3635  
3636 <  case 138:
3637 < /* Line 1787 of yacc.c  */
3878 < #line 973 "conf_parser.y"
3636 >  case 144:
3637 > #line 1050 "conf_parser.y" /* yacc.c:1646  */
3638      {
3639    if (conf_parser_ctx.pass == 2)
3640      block_state.type.value = LOG_TYPE_USER;
3641   }
3642 + #line 3643 "conf_parser.c" /* yacc.c:1646  */
3643      break;
3644  
3645 <  case 139:
3646 < /* Line 1787 of yacc.c  */
3887 < #line 977 "conf_parser.y"
3645 >  case 145:
3646 > #line 1054 "conf_parser.y" /* yacc.c:1646  */
3647      {
3648    if (conf_parser_ctx.pass == 2)
3649      block_state.type.value = LOG_TYPE_OPER;
3650   }
3651 + #line 3652 "conf_parser.c" /* yacc.c:1646  */
3652      break;
3653  
3654 <  case 140:
3655 < /* Line 1787 of yacc.c  */
3896 < #line 981 "conf_parser.y"
3654 >  case 146:
3655 > #line 1058 "conf_parser.y" /* yacc.c:1646  */
3656      {
3657    if (conf_parser_ctx.pass == 2)
3658      block_state.type.value = LOG_TYPE_GLINE;
3659   }
3660 + #line 3661 "conf_parser.c" /* yacc.c:1646  */
3661      break;
3662  
3663 <  case 141:
3664 < /* Line 1787 of yacc.c  */
3665 < #line 985 "conf_parser.y"
3663 >  case 147:
3664 > #line 1062 "conf_parser.y" /* yacc.c:1646  */
3665 >    {
3666 >  if (conf_parser_ctx.pass == 2)
3667 >    block_state.type.value = LOG_TYPE_XLINE;
3668 > }
3669 > #line 3670 "conf_parser.c" /* yacc.c:1646  */
3670 >    break;
3671 >
3672 >  case 148:
3673 > #line 1066 "conf_parser.y" /* yacc.c:1646  */
3674 >    {
3675 >  if (conf_parser_ctx.pass == 2)
3676 >    block_state.type.value = LOG_TYPE_RESV;
3677 > }
3678 > #line 3679 "conf_parser.c" /* yacc.c:1646  */
3679 >    break;
3680 >
3681 >  case 149:
3682 > #line 1070 "conf_parser.y" /* yacc.c:1646  */
3683      {
3684    if (conf_parser_ctx.pass == 2)
3685      block_state.type.value = LOG_TYPE_DLINE;
3686   }
3687 + #line 3688 "conf_parser.c" /* yacc.c:1646  */
3688      break;
3689  
3690 <  case 142:
3691 < /* Line 1787 of yacc.c  */
3914 < #line 989 "conf_parser.y"
3690 >  case 150:
3691 > #line 1074 "conf_parser.y" /* yacc.c:1646  */
3692      {
3693    if (conf_parser_ctx.pass == 2)
3694      block_state.type.value = LOG_TYPE_KLINE;
3695   }
3696 + #line 3697 "conf_parser.c" /* yacc.c:1646  */
3697      break;
3698  
3699 <  case 143:
3700 < /* Line 1787 of yacc.c  */
3923 < #line 993 "conf_parser.y"
3699 >  case 151:
3700 > #line 1078 "conf_parser.y" /* yacc.c:1646  */
3701      {
3702    if (conf_parser_ctx.pass == 2)
3703      block_state.type.value = LOG_TYPE_KILL;
3704   }
3705 + #line 3706 "conf_parser.c" /* yacc.c:1646  */
3706      break;
3707  
3708 <  case 144:
3709 < /* Line 1787 of yacc.c  */
3932 < #line 997 "conf_parser.y"
3708 >  case 152:
3709 > #line 1082 "conf_parser.y" /* yacc.c:1646  */
3710      {
3711    if (conf_parser_ctx.pass == 2)
3712      block_state.type.value = LOG_TYPE_DEBUG;
3713   }
3714 + #line 3715 "conf_parser.c" /* yacc.c:1646  */
3715      break;
3716  
3717 <  case 145:
3718 < /* Line 1787 of yacc.c  */
3941 < #line 1007 "conf_parser.y"
3717 >  case 153:
3718 > #line 1092 "conf_parser.y" /* yacc.c:1646  */
3719      {
3720    if (conf_parser_ctx.pass != 2)
3721      break;
# Line 3946 | Line 3723 | yyreduce:
3723    reset_block_state();
3724    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3725   }
3726 + #line 3727 "conf_parser.c" /* yacc.c:1646  */
3727      break;
3728  
3729 <  case 146:
3730 < /* Line 1787 of yacc.c  */
3953 < #line 1014 "conf_parser.y"
3729 >  case 154:
3730 > #line 1099 "conf_parser.y" /* yacc.c:1646  */
3731      {
3732 <  dlink_node *ptr = NULL;
3732 >  dlink_node *node = NULL;
3733  
3734    if (conf_parser_ctx.pass != 2)
3735      break;
# Line 3968 | Line 3745 | yyreduce:
3745      break;
3746   #endif
3747  
3748 <  DLINK_FOREACH(ptr, block_state.mask.list.head)
3748 >  DLINK_FOREACH(node, block_state.mask.list.head)
3749    {
3750      struct MaskItem *conf = NULL;
3751      struct split_nuh_item nuh;
3752  
3753 <    nuh.nuhmask  = ptr->data;
3753 >    nuh.nuhmask  = node->data;
3754      nuh.nickptr  = NULL;
3755      nuh.userptr  = block_state.user.buf;
3756      nuh.hostptr  = block_state.host.buf;
# Line 4008 | Line 3785 | yyreduce:
3785  
3786        if ((file = BIO_new_file(block_state.file.buf, "r")) == NULL)
3787        {
3788 <        conf_error_report("Ignoring rsa_public_key_file -- file doesn't exist");
3788 >        ilog(LOG_TYPE_IRCD, "Ignoring rsa_public_key_file -- file doesn't exist");
3789          break;
3790        }
3791  
3792        if ((pkey = PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL)) == NULL)
3793 <        conf_error_report("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
3793 >        ilog(LOG_TYPE_IRCD, "Ignoring rsa_public_key_file -- key invalid; check key syntax");
3794 >      else
3795 >      {
3796 >        if (RSA_size(pkey) > 128)
3797 >          ilog(LOG_TYPE_IRCD, "Ignoring rsa_public_key_file -- key size must be 1024 or below");
3798 >        else
3799 >          conf->rsa_public_key = pkey;
3800 >      }
3801  
4018      conf->rsa_public_key = pkey;
3802        BIO_set_close(file, BIO_CLOSE);
3803        BIO_free(file);
3804      }
3805   #endif /* HAVE_LIBCRYPTO */
3806    }
3807   }
3808 + #line 3809 "conf_parser.c" /* yacc.c:1646  */
3809      break;
3810  
3811 <  case 159:
3812 < /* Line 1787 of yacc.c  */
4029 < #line 1093 "conf_parser.y"
3811 >  case 168:
3812 > #line 1191 "conf_parser.y" /* yacc.c:1646  */
3813      {
3814    if (conf_parser_ctx.pass == 2)
3815      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3816   }
3817 + #line 3818 "conf_parser.c" /* yacc.c:1646  */
3818      break;
3819  
3820 <  case 160:
3821 < /* Line 1787 of yacc.c  */
4038 < #line 1099 "conf_parser.y"
3820 >  case 169:
3821 > #line 1197 "conf_parser.y" /* yacc.c:1646  */
3822      {
3823    if (conf_parser_ctx.pass == 2)
3824      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3825   }
3826 + #line 3827 "conf_parser.c" /* yacc.c:1646  */
3827      break;
3828  
3829 <  case 161:
3830 < /* Line 1787 of yacc.c  */
4047 < #line 1105 "conf_parser.y"
3829 >  case 170:
3830 > #line 1203 "conf_parser.y" /* yacc.c:1646  */
3831      {
3832    if (conf_parser_ctx.pass == 2)
3833      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
3834   }
3835 + #line 3836 "conf_parser.c" /* yacc.c:1646  */
3836      break;
3837  
3838 <  case 162:
3839 < /* Line 1787 of yacc.c  */
4056 < #line 1111 "conf_parser.y"
3838 >  case 171:
3839 > #line 1209 "conf_parser.y" /* yacc.c:1646  */
3840      {
3841    if (conf_parser_ctx.pass != 2)
3842      break;
# Line 4063 | Line 3846 | yyreduce:
3846    else
3847      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3848   }
3849 + #line 3850 "conf_parser.c" /* yacc.c:1646  */
3850      break;
3851  
3852 <  case 163:
3853 < /* Line 1787 of yacc.c  */
4070 < #line 1122 "conf_parser.y"
3852 >  case 172:
3853 > #line 1220 "conf_parser.y" /* yacc.c:1646  */
3854      {
3855    if (conf_parser_ctx.pass == 2)
3856      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3857   }
3858 + #line 3859 "conf_parser.c" /* yacc.c:1646  */
3859      break;
3860  
3861 <  case 164:
3862 < /* Line 1787 of yacc.c  */
4079 < #line 1128 "conf_parser.y"
3861 >  case 173:
3862 > #line 1226 "conf_parser.y" /* yacc.c:1646  */
3863      {
3864    if (conf_parser_ctx.pass == 2)
3865 <    if (strlen(yylval.string) == SHA_DIGEST_LENGTH * 2)
4083 <      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
3865 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
3866   }
3867 + #line 3868 "conf_parser.c" /* yacc.c:1646  */
3868      break;
3869  
3870 <  case 165:
3871 < /* Line 1787 of yacc.c  */
3872 < #line 1135 "conf_parser.y"
3870 >  case 174:
3871 > #line 1232 "conf_parser.y" /* yacc.c:1646  */
3872 >    {
3873 >  if (conf_parser_ctx.pass != 2)
3874 >    break;
3875 >
3876 >  if (yylval.number)
3877 >    block_state.flags.value |= CONF_FLAGS_SSL;
3878 >  else
3879 >    block_state.flags.value &= ~CONF_FLAGS_SSL;
3880 > }
3881 > #line 3882 "conf_parser.c" /* yacc.c:1646  */
3882 >    break;
3883 >
3884 >  case 175:
3885 > #line 1243 "conf_parser.y" /* yacc.c:1646  */
3886      {
3887    if (conf_parser_ctx.pass == 2)
3888      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3889   }
3890 + #line 3891 "conf_parser.c" /* yacc.c:1646  */
3891      break;
3892  
3893 <  case 166:
3894 < /* Line 1787 of yacc.c  */
4098 < #line 1141 "conf_parser.y"
3893 >  case 176:
3894 > #line 1249 "conf_parser.y" /* yacc.c:1646  */
3895      {
3896    if (conf_parser_ctx.pass == 2)
3897      block_state.modes.value = 0;
3898   }
3899 + #line 3900 "conf_parser.c" /* yacc.c:1646  */
3900      break;
3901  
3902 <  case 170:
3903 < /* Line 1787 of yacc.c  */
4107 < #line 1148 "conf_parser.y"
3902 >  case 180:
3903 > #line 1256 "conf_parser.y" /* yacc.c:1646  */
3904      {
3905    if (conf_parser_ctx.pass == 2)
3906      block_state.modes.value |= UMODE_BOTS;
3907   }
3908 + #line 3909 "conf_parser.c" /* yacc.c:1646  */
3909      break;
3910  
3911 <  case 171:
3912 < /* Line 1787 of yacc.c  */
4116 < #line 1152 "conf_parser.y"
3911 >  case 181:
3912 > #line 1260 "conf_parser.y" /* yacc.c:1646  */
3913      {
3914    if (conf_parser_ctx.pass == 2)
3915      block_state.modes.value |= UMODE_CCONN;
3916   }
3917 + #line 3918 "conf_parser.c" /* yacc.c:1646  */
3918      break;
3919  
3920 <  case 172:
3921 < /* Line 1787 of yacc.c  */
4125 < #line 1156 "conf_parser.y"
3920 >  case 182:
3921 > #line 1264 "conf_parser.y" /* yacc.c:1646  */
3922      {
3923    if (conf_parser_ctx.pass == 2)
3924      block_state.modes.value |= UMODE_DEAF;
3925   }
3926 + #line 3927 "conf_parser.c" /* yacc.c:1646  */
3927      break;
3928  
3929 <  case 173:
3930 < /* Line 1787 of yacc.c  */
4134 < #line 1160 "conf_parser.y"
3929 >  case 183:
3930 > #line 1268 "conf_parser.y" /* yacc.c:1646  */
3931      {
3932    if (conf_parser_ctx.pass == 2)
3933      block_state.modes.value |= UMODE_DEBUG;
3934   }
3935 + #line 3936 "conf_parser.c" /* yacc.c:1646  */
3936      break;
3937  
3938 <  case 174:
3939 < /* Line 1787 of yacc.c  */
4143 < #line 1164 "conf_parser.y"
3938 >  case 184:
3939 > #line 1272 "conf_parser.y" /* yacc.c:1646  */
3940      {
3941    if (conf_parser_ctx.pass == 2)
3942      block_state.modes.value |= UMODE_FULL;
3943   }
3944 + #line 3945 "conf_parser.c" /* yacc.c:1646  */
3945      break;
3946  
3947 <  case 175:
3948 < /* Line 1787 of yacc.c  */
4152 < #line 1168 "conf_parser.y"
3947 >  case 185:
3948 > #line 1276 "conf_parser.y" /* yacc.c:1646  */
3949      {
3950    if (conf_parser_ctx.pass == 2)
3951      block_state.modes.value |= UMODE_HIDDEN;
3952   }
3953 + #line 3954 "conf_parser.c" /* yacc.c:1646  */
3954      break;
3955  
3956 <  case 176:
3957 < /* Line 1787 of yacc.c  */
3958 < #line 1172 "conf_parser.y"
3956 >  case 186:
3957 > #line 1280 "conf_parser.y" /* yacc.c:1646  */
3958 >    {
3959 >  if (conf_parser_ctx.pass == 2)
3960 >    block_state.modes.value |= UMODE_HIDECHANS;
3961 > }
3962 > #line 3963 "conf_parser.c" /* yacc.c:1646  */
3963 >    break;
3964 >
3965 >  case 187:
3966 > #line 1284 "conf_parser.y" /* yacc.c:1646  */
3967 >    {
3968 >  if (conf_parser_ctx.pass == 2)
3969 >    block_state.modes.value |= UMODE_HIDEIDLE;
3970 > }
3971 > #line 3972 "conf_parser.c" /* yacc.c:1646  */
3972 >    break;
3973 >
3974 >  case 188:
3975 > #line 1288 "conf_parser.y" /* yacc.c:1646  */
3976      {
3977    if (conf_parser_ctx.pass == 2)
3978      block_state.modes.value |= UMODE_SKILL;
3979   }
3980 + #line 3981 "conf_parser.c" /* yacc.c:1646  */
3981      break;
3982  
3983 <  case 177:
3984 < /* Line 1787 of yacc.c  */
4170 < #line 1176 "conf_parser.y"
3983 >  case 189:
3984 > #line 1292 "conf_parser.y" /* yacc.c:1646  */
3985      {
3986    if (conf_parser_ctx.pass == 2)
3987      block_state.modes.value |= UMODE_NCHANGE;
3988   }
3989 + #line 3990 "conf_parser.c" /* yacc.c:1646  */
3990      break;
3991  
3992 <  case 178:
3993 < /* Line 1787 of yacc.c  */
4179 < #line 1180 "conf_parser.y"
3992 >  case 190:
3993 > #line 1296 "conf_parser.y" /* yacc.c:1646  */
3994      {
3995    if (conf_parser_ctx.pass == 2)
3996      block_state.modes.value |= UMODE_REJ;
3997   }
3998 + #line 3999 "conf_parser.c" /* yacc.c:1646  */
3999      break;
4000  
4001 <  case 179:
4002 < /* Line 1787 of yacc.c  */
4188 < #line 1184 "conf_parser.y"
4001 >  case 191:
4002 > #line 1300 "conf_parser.y" /* yacc.c:1646  */
4003      {
4004    if (conf_parser_ctx.pass == 2)
4005      block_state.modes.value |= UMODE_UNAUTH;
4006   }
4007 + #line 4008 "conf_parser.c" /* yacc.c:1646  */
4008      break;
4009  
4010 <  case 180:
4011 < /* Line 1787 of yacc.c  */
4197 < #line 1188 "conf_parser.y"
4010 >  case 192:
4011 > #line 1304 "conf_parser.y" /* yacc.c:1646  */
4012      {
4013    if (conf_parser_ctx.pass == 2)
4014      block_state.modes.value |= UMODE_SPY;
4015   }
4016 + #line 4017 "conf_parser.c" /* yacc.c:1646  */
4017      break;
4018  
4019 <  case 181:
4020 < /* Line 1787 of yacc.c  */
4206 < #line 1192 "conf_parser.y"
4019 >  case 193:
4020 > #line 1308 "conf_parser.y" /* yacc.c:1646  */
4021      {
4022    if (conf_parser_ctx.pass == 2)
4023      block_state.modes.value |= UMODE_EXTERNAL;
4024   }
4025 + #line 4026 "conf_parser.c" /* yacc.c:1646  */
4026      break;
4027  
4028 <  case 182:
4029 < /* 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"
4028 >  case 194:
4029 > #line 1312 "conf_parser.y" /* yacc.c:1646  */
4030      {
4031    if (conf_parser_ctx.pass == 2)
4032      block_state.modes.value |= UMODE_SERVNOTICE;
4033   }
4034 + #line 4035 "conf_parser.c" /* yacc.c:1646  */
4035      break;
4036  
4037 <  case 184:
4038 < /* Line 1787 of yacc.c  */
4233 < #line 1204 "conf_parser.y"
4037 >  case 195:
4038 > #line 1316 "conf_parser.y" /* yacc.c:1646  */
4039      {
4040    if (conf_parser_ctx.pass == 2)
4041      block_state.modes.value |= UMODE_INVISIBLE;
4042   }
4043 + #line 4044 "conf_parser.c" /* yacc.c:1646  */
4044      break;
4045  
4046 <  case 185:
4047 < /* Line 1787 of yacc.c  */
4242 < #line 1208 "conf_parser.y"
4046 >  case 196:
4047 > #line 1320 "conf_parser.y" /* yacc.c:1646  */
4048      {
4049    if (conf_parser_ctx.pass == 2)
4050      block_state.modes.value |= UMODE_WALLOP;
4051   }
4052 + #line 4053 "conf_parser.c" /* yacc.c:1646  */
4053      break;
4054  
4055 <  case 186:
4056 < /* Line 1787 of yacc.c  */
4251 < #line 1212 "conf_parser.y"
4055 >  case 197:
4056 > #line 1324 "conf_parser.y" /* yacc.c:1646  */
4057      {
4058    if (conf_parser_ctx.pass == 2)
4059      block_state.modes.value |= UMODE_SOFTCALLERID;
4060   }
4061 + #line 4062 "conf_parser.c" /* yacc.c:1646  */
4062      break;
4063  
4064 <  case 187:
4065 < /* Line 1787 of yacc.c  */
4260 < #line 1216 "conf_parser.y"
4064 >  case 198:
4065 > #line 1328 "conf_parser.y" /* yacc.c:1646  */
4066      {
4067    if (conf_parser_ctx.pass == 2)
4068      block_state.modes.value |= UMODE_CALLERID;
4069   }
4070 + #line 4071 "conf_parser.c" /* yacc.c:1646  */
4071      break;
4072  
4073 <  case 188:
4074 < /* Line 1787 of yacc.c  */
4269 < #line 1220 "conf_parser.y"
4073 >  case 199:
4074 > #line 1332 "conf_parser.y" /* yacc.c:1646  */
4075      {
4076    if (conf_parser_ctx.pass == 2)
4077      block_state.modes.value |= UMODE_LOCOPS;
4078   }
4079 + #line 4080 "conf_parser.c" /* yacc.c:1646  */
4080      break;
4081  
4082 <  case 189:
4083 < /* Line 1787 of yacc.c  */
4278 < #line 1224 "conf_parser.y"
4082 >  case 200:
4083 > #line 1336 "conf_parser.y" /* yacc.c:1646  */
4084      {
4085    if (conf_parser_ctx.pass == 2)
4086      block_state.modes.value |= UMODE_REGONLY;
4087   }
4088 + #line 4089 "conf_parser.c" /* yacc.c:1646  */
4089      break;
4090  
4091 <  case 190:
4092 < /* Line 1787 of yacc.c  */
4287 < #line 1228 "conf_parser.y"
4091 >  case 201:
4092 > #line 1340 "conf_parser.y" /* yacc.c:1646  */
4093      {
4094    if (conf_parser_ctx.pass == 2)
4095      block_state.modes.value |= UMODE_FARCONNECT;
4096   }
4097 + #line 4098 "conf_parser.c" /* yacc.c:1646  */
4098      break;
4099  
4100 <  case 191:
4101 < /* Line 1787 of yacc.c  */
4296 < #line 1234 "conf_parser.y"
4100 >  case 202:
4101 > #line 1346 "conf_parser.y" /* yacc.c:1646  */
4102      {
4103    if (conf_parser_ctx.pass == 2)
4104      block_state.port.value = 0;
4105   }
4106 + #line 4107 "conf_parser.c" /* yacc.c:1646  */
4107      break;
4108  
4109 <  case 195:
4110 < /* Line 1787 of yacc.c  */
4305 < #line 1241 "conf_parser.y"
4109 >  case 206:
4110 > #line 1353 "conf_parser.y" /* yacc.c:1646  */
4111      {
4112    if (conf_parser_ctx.pass == 2)
4113      block_state.port.value |= OPER_FLAG_KILL_REMOTE;
4114   }
4115 + #line 4116 "conf_parser.c" /* yacc.c:1646  */
4116      break;
4117  
4118 <  case 196:
4119 < /* Line 1787 of yacc.c  */
4314 < #line 1245 "conf_parser.y"
4118 >  case 207:
4119 > #line 1357 "conf_parser.y" /* yacc.c:1646  */
4120      {
4121    if (conf_parser_ctx.pass == 2)
4122      block_state.port.value |= OPER_FLAG_KILL;
4123   }
4124 + #line 4125 "conf_parser.c" /* yacc.c:1646  */
4125      break;
4126  
4127 <  case 197:
4128 < /* Line 1787 of yacc.c  */
4323 < #line 1249 "conf_parser.y"
4127 >  case 208:
4128 > #line 1361 "conf_parser.y" /* yacc.c:1646  */
4129      {
4130    if (conf_parser_ctx.pass == 2)
4131      block_state.port.value |= OPER_FLAG_CONNECT_REMOTE;
4132   }
4133 + #line 4134 "conf_parser.c" /* yacc.c:1646  */
4134      break;
4135  
4136 <  case 198:
4137 < /* Line 1787 of yacc.c  */
4332 < #line 1253 "conf_parser.y"
4136 >  case 209:
4137 > #line 1365 "conf_parser.y" /* yacc.c:1646  */
4138      {
4139    if (conf_parser_ctx.pass == 2)
4140      block_state.port.value |= OPER_FLAG_CONNECT;
4141   }
4142 + #line 4143 "conf_parser.c" /* yacc.c:1646  */
4143      break;
4144  
4145 <  case 199:
4146 < /* Line 1787 of yacc.c  */
4341 < #line 1257 "conf_parser.y"
4145 >  case 210:
4146 > #line 1369 "conf_parser.y" /* yacc.c:1646  */
4147      {
4148    if (conf_parser_ctx.pass == 2)
4149      block_state.port.value |= OPER_FLAG_SQUIT_REMOTE;
4150   }
4151 + #line 4152 "conf_parser.c" /* yacc.c:1646  */
4152      break;
4153  
4154 <  case 200:
4155 < /* Line 1787 of yacc.c  */
4350 < #line 1261 "conf_parser.y"
4154 >  case 211:
4155 > #line 1373 "conf_parser.y" /* yacc.c:1646  */
4156      {
4157    if (conf_parser_ctx.pass == 2)
4158      block_state.port.value |= OPER_FLAG_SQUIT;
4159   }
4160 + #line 4161 "conf_parser.c" /* yacc.c:1646  */
4161      break;
4162  
4163 <  case 201:
4164 < /* Line 1787 of yacc.c  */
4359 < #line 1265 "conf_parser.y"
4163 >  case 212:
4164 > #line 1377 "conf_parser.y" /* yacc.c:1646  */
4165      {
4166    if (conf_parser_ctx.pass == 2)
4167 <    block_state.port.value |= OPER_FLAG_K;
4167 >    block_state.port.value |= OPER_FLAG_KLINE;
4168   }
4169 + #line 4170 "conf_parser.c" /* yacc.c:1646  */
4170      break;
4171  
4172 <  case 202:
4173 < /* Line 1787 of yacc.c  */
4368 < #line 1269 "conf_parser.y"
4172 >  case 213:
4173 > #line 1381 "conf_parser.y" /* yacc.c:1646  */
4174      {
4175    if (conf_parser_ctx.pass == 2)
4176      block_state.port.value |= OPER_FLAG_UNKLINE;
4177   }
4178 + #line 4179 "conf_parser.c" /* yacc.c:1646  */
4179      break;
4180  
4181 <  case 203:
4182 < /* Line 1787 of yacc.c  */
4377 < #line 1273 "conf_parser.y"
4181 >  case 214:
4182 > #line 1385 "conf_parser.y" /* yacc.c:1646  */
4183      {
4184    if (conf_parser_ctx.pass == 2)
4185      block_state.port.value |= OPER_FLAG_DLINE;
4186   }
4187 + #line 4188 "conf_parser.c" /* yacc.c:1646  */
4188      break;
4189  
4190 <  case 204:
4191 < /* Line 1787 of yacc.c  */
4386 < #line 1277 "conf_parser.y"
4190 >  case 215:
4191 > #line 1389 "conf_parser.y" /* yacc.c:1646  */
4192      {
4193    if (conf_parser_ctx.pass == 2)
4194      block_state.port.value |= OPER_FLAG_UNDLINE;
4195   }
4196 + #line 4197 "conf_parser.c" /* yacc.c:1646  */
4197      break;
4198  
4199 <  case 205:
4200 < /* Line 1787 of yacc.c  */
4395 < #line 1281 "conf_parser.y"
4199 >  case 216:
4200 > #line 1393 "conf_parser.y" /* yacc.c:1646  */
4201      {
4202    if (conf_parser_ctx.pass == 2)
4203 <    block_state.port.value |= OPER_FLAG_X;
4203 >    block_state.port.value |= OPER_FLAG_XLINE;
4204   }
4205 + #line 4206 "conf_parser.c" /* yacc.c:1646  */
4206      break;
4207  
4208 <  case 206:
4209 < /* Line 1787 of yacc.c  */
4404 < #line 1285 "conf_parser.y"
4208 >  case 217:
4209 > #line 1397 "conf_parser.y" /* yacc.c:1646  */
4210      {
4211    if (conf_parser_ctx.pass == 2)
4212 <    block_state.port.value |= OPER_FLAG_GLINE;
4212 >    block_state.port.value |= OPER_FLAG_UNXLINE;
4213   }
4214 + #line 4215 "conf_parser.c" /* yacc.c:1646  */
4215      break;
4216  
4217 <  case 207:
4218 < /* Line 1787 of yacc.c  */
4413 < #line 1289 "conf_parser.y"
4217 >  case 218:
4218 > #line 1401 "conf_parser.y" /* yacc.c:1646  */
4219      {
4220    if (conf_parser_ctx.pass == 2)
4221 <    block_state.port.value |= OPER_FLAG_DIE;
4221 >    block_state.port.value |= OPER_FLAG_GLINE;
4222   }
4223 + #line 4224 "conf_parser.c" /* yacc.c:1646  */
4224      break;
4225  
4226 <  case 208:
4227 < /* Line 1787 of yacc.c  */
4422 < #line 1293 "conf_parser.y"
4226 >  case 219:
4227 > #line 1405 "conf_parser.y" /* yacc.c:1646  */
4228      {
4229    if (conf_parser_ctx.pass == 2)
4230 <    block_state.port.value |= OPER_FLAG_RESTART;
4230 >    block_state.port.value |= OPER_FLAG_DIE;
4231   }
4232 + #line 4233 "conf_parser.c" /* yacc.c:1646  */
4233      break;
4234  
4235 <  case 209:
4236 < /* Line 1787 of yacc.c  */
4431 < #line 1297 "conf_parser.y"
4235 >  case 220:
4236 > #line 1409 "conf_parser.y" /* yacc.c:1646  */
4237      {
4238    if (conf_parser_ctx.pass == 2)
4239 <    block_state.port.value |= OPER_FLAG_REHASH;
4239 >    block_state.port.value |= OPER_FLAG_RESTART;
4240   }
4241 + #line 4242 "conf_parser.c" /* yacc.c:1646  */
4242      break;
4243  
4244 <  case 210:
4245 < /* Line 1787 of yacc.c  */
4440 < #line 1301 "conf_parser.y"
4244 >  case 221:
4245 > #line 1413 "conf_parser.y" /* yacc.c:1646  */
4246      {
4247    if (conf_parser_ctx.pass == 2)
4248 <    block_state.port.value |= OPER_FLAG_ADMIN;
4248 >    block_state.port.value |= OPER_FLAG_REHASH;
4249   }
4250 + #line 4251 "conf_parser.c" /* yacc.c:1646  */
4251      break;
4252  
4253 <  case 211:
4254 < /* Line 1787 of yacc.c  */
4449 < #line 1305 "conf_parser.y"
4253 >  case 222:
4254 > #line 1417 "conf_parser.y" /* yacc.c:1646  */
4255      {
4256    if (conf_parser_ctx.pass == 2)
4257 <    block_state.port.value |= OPER_FLAG_OPERWALL;
4257 >    block_state.port.value |= OPER_FLAG_ADMIN;
4258   }
4259 + #line 4260 "conf_parser.c" /* yacc.c:1646  */
4260      break;
4261  
4262 <  case 212:
4263 < /* Line 1787 of yacc.c  */
4458 < #line 1309 "conf_parser.y"
4262 >  case 223:
4263 > #line 1421 "conf_parser.y" /* yacc.c:1646  */
4264      {
4265    if (conf_parser_ctx.pass == 2)
4266      block_state.port.value |= OPER_FLAG_GLOBOPS;
4267   }
4268 + #line 4269 "conf_parser.c" /* yacc.c:1646  */
4269      break;
4270  
4271 <  case 213:
4272 < /* Line 1787 of yacc.c  */
4467 < #line 1313 "conf_parser.y"
4271 >  case 224:
4272 > #line 1425 "conf_parser.y" /* yacc.c:1646  */
4273      {
4274    if (conf_parser_ctx.pass == 2)
4275      block_state.port.value |= OPER_FLAG_WALLOPS;
4276   }
4277 + #line 4278 "conf_parser.c" /* yacc.c:1646  */
4278      break;
4279  
4280 <  case 214:
4281 < /* Line 1787 of yacc.c  */
4476 < #line 1317 "conf_parser.y"
4280 >  case 225:
4281 > #line 1429 "conf_parser.y" /* yacc.c:1646  */
4282      {
4283    if (conf_parser_ctx.pass == 2)
4284      block_state.port.value |= OPER_FLAG_LOCOPS;
4285   }
4286 + #line 4287 "conf_parser.c" /* yacc.c:1646  */
4287      break;
4288  
4289 <  case 215:
4290 < /* Line 1787 of yacc.c  */
4485 < #line 1321 "conf_parser.y"
4289 >  case 226:
4290 > #line 1433 "conf_parser.y" /* yacc.c:1646  */
4291      {
4292    if (conf_parser_ctx.pass == 2)
4293      block_state.port.value |= OPER_FLAG_REMOTEBAN;
4294   }
4295 + #line 4296 "conf_parser.c" /* yacc.c:1646  */
4296      break;
4297  
4298 <  case 216:
4299 < /* Line 1787 of yacc.c  */
4494 < #line 1325 "conf_parser.y"
4298 >  case 227:
4299 > #line 1437 "conf_parser.y" /* yacc.c:1646  */
4300      {
4301    if (conf_parser_ctx.pass == 2)
4302      block_state.port.value |= OPER_FLAG_SET;
4303   }
4304 + #line 4305 "conf_parser.c" /* yacc.c:1646  */
4305      break;
4306  
4307 <  case 217:
4308 < /* Line 1787 of yacc.c  */
4503 < #line 1329 "conf_parser.y"
4307 >  case 228:
4308 > #line 1441 "conf_parser.y" /* yacc.c:1646  */
4309      {
4310    if (conf_parser_ctx.pass == 2)
4311      block_state.port.value |= OPER_FLAG_MODULE;
4312   }
4313 + #line 4314 "conf_parser.c" /* yacc.c:1646  */
4314      break;
4315  
4316 <  case 218:
4317 < /* Line 1787 of yacc.c  */
4318 < #line 1339 "conf_parser.y"
4316 >  case 229:
4317 > #line 1445 "conf_parser.y" /* yacc.c:1646  */
4318 >    {
4319 >  if (conf_parser_ctx.pass == 2)
4320 >    block_state.port.value |= OPER_FLAG_OPME;
4321 > }
4322 > #line 4323 "conf_parser.c" /* yacc.c:1646  */
4323 >    break;
4324 >
4325 >  case 230:
4326 > #line 1455 "conf_parser.y" /* yacc.c:1646  */
4327      {
4328    if (conf_parser_ctx.pass != 1)
4329      break;
# Line 4522 | Line 4336 | yyreduce:
4336    block_state.max_sendq.value = DEFAULT_SENDQ;
4337    block_state.max_recvq.value = DEFAULT_RECVQ;
4338   }
4339 + #line 4340 "conf_parser.c" /* yacc.c:1646  */
4340      break;
4341  
4342 <  case 219:
4343 < /* Line 1787 of yacc.c  */
4529 < #line 1351 "conf_parser.y"
4342 >  case 231:
4343 > #line 1467 "conf_parser.y" /* yacc.c:1646  */
4344      {
4345    struct ClassItem *class = NULL;
4346  
# Line 4551 | Line 4365 | yyreduce:
4365    class->max_ident = block_state.max_ident.value;
4366    class->max_sendq = block_state.max_sendq.value;
4367    class->max_recvq = block_state.max_recvq.value;
4368 +  class->max_channels = block_state.max_channels.value;
4369  
4370    if (block_state.min_idle.value > block_state.max_idle.value)
4371    {
# Line 4574 | Line 4389 | yyreduce:
4389    class->cidr_bitlen_ipv6 = block_state.cidr_bitlen_ipv6.value;
4390    class->number_per_cidr = block_state.number_per_cidr.value;
4391   }
4392 + #line 4393 "conf_parser.c" /* yacc.c:1646  */
4393      break;
4394  
4395 <  case 239:
4396 < /* Line 1787 of yacc.c  */
4581 < #line 1417 "conf_parser.y"
4395 >  case 252:
4396 > #line 1536 "conf_parser.y" /* yacc.c:1646  */
4397      {
4398    if (conf_parser_ctx.pass == 1)
4399      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4400   }
4401 + #line 4402 "conf_parser.c" /* yacc.c:1646  */
4402      break;
4403  
4404 <  case 240:
4405 < /* Line 1787 of yacc.c  */
4590 < #line 1423 "conf_parser.y"
4404 >  case 253:
4405 > #line 1542 "conf_parser.y" /* yacc.c:1646  */
4406      {
4407    if (conf_parser_ctx.pass == 1)
4408 <    block_state.ping_freq.value = (yyvsp[(3) - (4)].number);
4408 >    block_state.ping_freq.value = (yyvsp[-1].number);
4409   }
4410 + #line 4411 "conf_parser.c" /* yacc.c:1646  */
4411      break;
4412  
4413 <  case 241:
4414 < /* Line 1787 of yacc.c  */
4599 < #line 1429 "conf_parser.y"
4413 >  case 254:
4414 > #line 1548 "conf_parser.y" /* yacc.c:1646  */
4415      {
4416    if (conf_parser_ctx.pass == 1)
4417 <    block_state.max_perip.value = (yyvsp[(3) - (4)].number);
4417 >    block_state.max_perip.value = (yyvsp[-1].number);
4418   }
4419 + #line 4420 "conf_parser.c" /* yacc.c:1646  */
4420      break;
4421  
4422 <  case 242:
4423 < /* Line 1787 of yacc.c  */
4608 < #line 1435 "conf_parser.y"
4422 >  case 255:
4423 > #line 1554 "conf_parser.y" /* yacc.c:1646  */
4424      {
4425    if (conf_parser_ctx.pass == 1)
4426 <    block_state.con_freq.value = (yyvsp[(3) - (4)].number);
4426 >    block_state.con_freq.value = (yyvsp[-1].number);
4427   }
4428 + #line 4429 "conf_parser.c" /* yacc.c:1646  */
4429      break;
4430  
4431 <  case 243:
4432 < /* Line 1787 of yacc.c  */
4617 < #line 1441 "conf_parser.y"
4431 >  case 256:
4432 > #line 1560 "conf_parser.y" /* yacc.c:1646  */
4433      {
4434    if (conf_parser_ctx.pass == 1)
4435 <    block_state.max_total.value = (yyvsp[(3) - (4)].number);
4435 >    block_state.max_channels.value = (yyvsp[-1].number);
4436   }
4437 + #line 4438 "conf_parser.c" /* yacc.c:1646  */
4438      break;
4439  
4440 <  case 244:
4441 < /* Line 1787 of yacc.c  */
4626 < #line 1447 "conf_parser.y"
4440 >  case 257:
4441 > #line 1566 "conf_parser.y" /* yacc.c:1646  */
4442      {
4443    if (conf_parser_ctx.pass == 1)
4444 <    block_state.max_global.value = (yyvsp[(3) - (4)].number);
4444 >    block_state.max_total.value = (yyvsp[-1].number);
4445   }
4446 + #line 4447 "conf_parser.c" /* yacc.c:1646  */
4447      break;
4448  
4449 <  case 245:
4450 < /* Line 1787 of yacc.c  */
4635 < #line 1453 "conf_parser.y"
4449 >  case 258:
4450 > #line 1572 "conf_parser.y" /* yacc.c:1646  */
4451      {
4452    if (conf_parser_ctx.pass == 1)
4453 <    block_state.max_local.value = (yyvsp[(3) - (4)].number);
4453 >    block_state.max_global.value = (yyvsp[-1].number);
4454   }
4455 + #line 4456 "conf_parser.c" /* yacc.c:1646  */
4456      break;
4457  
4458 <  case 246:
4459 < /* Line 1787 of yacc.c  */
4644 < #line 1459 "conf_parser.y"
4458 >  case 259:
4459 > #line 1578 "conf_parser.y" /* yacc.c:1646  */
4460      {
4461    if (conf_parser_ctx.pass == 1)
4462 <    block_state.max_ident.value = (yyvsp[(3) - (4)].number);
4462 >    block_state.max_local.value = (yyvsp[-1].number);
4463   }
4464 + #line 4465 "conf_parser.c" /* yacc.c:1646  */
4465      break;
4466  
4467 <  case 247:
4468 < /* Line 1787 of yacc.c  */
4653 < #line 1465 "conf_parser.y"
4467 >  case 260:
4468 > #line 1584 "conf_parser.y" /* yacc.c:1646  */
4469      {
4470    if (conf_parser_ctx.pass == 1)
4471 <    block_state.max_sendq.value = (yyvsp[(3) - (4)].number);
4471 >    block_state.max_ident.value = (yyvsp[-1].number);
4472   }
4473 + #line 4474 "conf_parser.c" /* yacc.c:1646  */
4474      break;
4475  
4476 <  case 248:
4477 < /* Line 1787 of yacc.c  */
4662 < #line 1471 "conf_parser.y"
4476 >  case 261:
4477 > #line 1590 "conf_parser.y" /* yacc.c:1646  */
4478      {
4479    if (conf_parser_ctx.pass == 1)
4480 <    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);
4480 >    block_state.max_sendq.value = (yyvsp[-1].number);
4481   }
4482 + #line 4483 "conf_parser.c" /* yacc.c:1646  */
4483      break;
4484  
4485 <  case 249:
4486 < /* Line 1787 of yacc.c  */
4672 < #line 1478 "conf_parser.y"
4485 >  case 262:
4486 > #line 1596 "conf_parser.y" /* yacc.c:1646  */
4487      {
4488    if (conf_parser_ctx.pass == 1)
4489 <    block_state.cidr_bitlen_ipv4.value = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4489 >    if ((yyvsp[-1].number) >= CLIENT_FLOOD_MIN && (yyvsp[-1].number) <= CLIENT_FLOOD_MAX)
4490 >      block_state.max_recvq.value = (yyvsp[-1].number);
4491   }
4492 + #line 4493 "conf_parser.c" /* yacc.c:1646  */
4493      break;
4494  
4495 <  case 250:
4496 < /* Line 1787 of yacc.c  */
4681 < #line 1484 "conf_parser.y"
4495 >  case 263:
4496 > #line 1603 "conf_parser.y" /* yacc.c:1646  */
4497      {
4498    if (conf_parser_ctx.pass == 1)
4499 <    block_state.cidr_bitlen_ipv6.value = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4499 >    block_state.cidr_bitlen_ipv4.value = (yyvsp[-1].number) > 32 ? 32 : (yyvsp[-1].number);
4500   }
4501 + #line 4502 "conf_parser.c" /* yacc.c:1646  */
4502      break;
4503  
4504 <  case 251:
4505 < /* Line 1787 of yacc.c  */
4690 < #line 1490 "conf_parser.y"
4504 >  case 264:
4505 > #line 1609 "conf_parser.y" /* yacc.c:1646  */
4506      {
4507    if (conf_parser_ctx.pass == 1)
4508 <    block_state.number_per_cidr.value = (yyvsp[(3) - (4)].number);
4508 >    block_state.cidr_bitlen_ipv6.value = (yyvsp[-1].number) > 128 ? 128 : (yyvsp[-1].number);
4509   }
4510 + #line 4511 "conf_parser.c" /* yacc.c:1646  */
4511      break;
4512  
4513 <  case 252:
4514 < /* Line 1787 of yacc.c  */
4515 < #line 1496 "conf_parser.y"
4513 >  case 265:
4514 > #line 1615 "conf_parser.y" /* yacc.c:1646  */
4515 >    {
4516 >  if (conf_parser_ctx.pass == 1)
4517 >    block_state.number_per_cidr.value = (yyvsp[-1].number);
4518 > }
4519 > #line 4520 "conf_parser.c" /* yacc.c:1646  */
4520 >    break;
4521 >
4522 >  case 266:
4523 > #line 1621 "conf_parser.y" /* yacc.c:1646  */
4524      {
4525    if (conf_parser_ctx.pass != 1)
4526      break;
4527  
4528 <  block_state.min_idle.value = (yyvsp[(3) - (4)].number);
4528 >  block_state.min_idle.value = (yyvsp[-1].number);
4529    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4530   }
4531 + #line 4532 "conf_parser.c" /* yacc.c:1646  */
4532      break;
4533  
4534 <  case 253:
4535 < /* Line 1787 of yacc.c  */
4711 < #line 1505 "conf_parser.y"
4534 >  case 267:
4535 > #line 1630 "conf_parser.y" /* yacc.c:1646  */
4536      {
4537    if (conf_parser_ctx.pass != 1)
4538      break;
4539  
4540 <  block_state.max_idle.value = (yyvsp[(3) - (4)].number);
4540 >  block_state.max_idle.value = (yyvsp[-1].number);
4541    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4542   }
4543 + #line 4544 "conf_parser.c" /* yacc.c:1646  */
4544      break;
4545  
4546 <  case 254:
4547 < /* Line 1787 of yacc.c  */
4723 < #line 1514 "conf_parser.y"
4546 >  case 268:
4547 > #line 1639 "conf_parser.y" /* yacc.c:1646  */
4548      {
4549    if (conf_parser_ctx.pass == 1)
4550      block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
4551   }
4552 + #line 4553 "conf_parser.c" /* yacc.c:1646  */
4553      break;
4554  
4555 <  case 258:
4556 < /* Line 1787 of yacc.c  */
4732 < #line 1521 "conf_parser.y"
4555 >  case 272:
4556 > #line 1646 "conf_parser.y" /* yacc.c:1646  */
4557      {
4558    if (conf_parser_ctx.pass == 1)
4559      block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
4560   }
4561 + #line 4562 "conf_parser.c" /* yacc.c:1646  */
4562      break;
4563  
4564 <  case 259:
4565 < /* Line 1787 of yacc.c  */
4741 < #line 1525 "conf_parser.y"
4564 >  case 273:
4565 > #line 1650 "conf_parser.y" /* yacc.c:1646  */
4566      {
4567    if (conf_parser_ctx.pass == 1)
4568      block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
4569   }
4570 + #line 4571 "conf_parser.c" /* yacc.c:1646  */
4571      break;
4572  
4573 <  case 260:
4574 < /* Line 1787 of yacc.c  */
4750 < #line 1535 "conf_parser.y"
4573 >  case 274:
4574 > #line 1660 "conf_parser.y" /* yacc.c:1646  */
4575      {
4576    if (conf_parser_ctx.pass == 2)
4577      reset_block_state();
4578   }
4579 + #line 4580 "conf_parser.c" /* yacc.c:1646  */
4580      break;
4581  
4582 <  case 262:
4583 < /* Line 1787 of yacc.c  */
4759 < #line 1541 "conf_parser.y"
4582 >  case 276:
4583 > #line 1666 "conf_parser.y" /* yacc.c:1646  */
4584      {
4585    block_state.flags.value = 0;
4586   }
4587 + #line 4588 "conf_parser.c" /* yacc.c:1646  */
4588      break;
4589  
4590 <  case 266:
4591 < /* Line 1787 of yacc.c  */
4767 < #line 1547 "conf_parser.y"
4590 >  case 280:
4591 > #line 1672 "conf_parser.y" /* yacc.c:1646  */
4592      {
4593    if (conf_parser_ctx.pass == 2)
4594      block_state.flags.value |= LISTENER_SSL;
4595   }
4596 + #line 4597 "conf_parser.c" /* yacc.c:1646  */
4597      break;
4598  
4599 <  case 267:
4600 < /* Line 1787 of yacc.c  */
4776 < #line 1551 "conf_parser.y"
4599 >  case 281:
4600 > #line 1676 "conf_parser.y" /* yacc.c:1646  */
4601      {
4602    if (conf_parser_ctx.pass == 2)
4603      block_state.flags.value |= LISTENER_HIDDEN;
4604   }
4605 + #line 4606 "conf_parser.c" /* yacc.c:1646  */
4606      break;
4607  
4608 <  case 268:
4609 < /* Line 1787 of yacc.c  */
4785 < #line 1555 "conf_parser.y"
4608 >  case 282:
4609 > #line 1680 "conf_parser.y" /* yacc.c:1646  */
4610      {
4611    if (conf_parser_ctx.pass == 2)
4612     block_state.flags.value |= LISTENER_SERVER;
4613   }
4614 + #line 4615 "conf_parser.c" /* yacc.c:1646  */
4615      break;
4616  
4617 <  case 276:
4618 < /* Line 1787 of yacc.c  */
4794 < #line 1563 "conf_parser.y"
4617 >  case 290:
4618 > #line 1688 "conf_parser.y" /* yacc.c:1646  */
4619      { block_state.flags.value = 0; }
4620 + #line 4621 "conf_parser.c" /* yacc.c:1646  */
4621      break;
4622  
4623 <  case 280:
4624 < /* Line 1787 of yacc.c  */
4800 < #line 1568 "conf_parser.y"
4623 >  case 294:
4624 > #line 1693 "conf_parser.y" /* yacc.c:1646  */
4625      {
4626    if (conf_parser_ctx.pass == 2)
4627    {
4628 + #ifndef HAVE_LIBCRYPTO
4629      if (block_state.flags.value & LISTENER_SSL)
4630 < #ifdef HAVE_LIBCRYPTO
4631 <      if (!ServerInfo.server_ctx)
4630 >    {
4631 >      conf_error_report("SSL not available - port closed");
4632 >      break;
4633 >    }
4634   #endif
4635 <      {
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);
4635 >    add_listener((yyvsp[0].number), block_state.addr.buf, block_state.flags.value);
4636    }
4637   }
4638 + #line 4639 "conf_parser.c" /* yacc.c:1646  */
4639      break;
4640  
4641 <  case 281:
4642 < /* Line 1787 of yacc.c  */
4819 < #line 1582 "conf_parser.y"
4641 >  case 295:
4642 > #line 1706 "conf_parser.y" /* yacc.c:1646  */
4643      {
4644    if (conf_parser_ctx.pass == 2)
4645    {
4646 <    int i;
4824 <
4646 > #ifndef HAVE_LIBCRYPTO
4647      if (block_state.flags.value & LISTENER_SSL)
4648 < #ifdef HAVE_LIBCRYPTO
4649 <      if (!ServerInfo.server_ctx)
4648 >    {
4649 >      conf_error_report("SSL not available - port closed");
4650 >      break;
4651 >    }
4652   #endif
4829      {
4830        conf_error_report("SSL not available - port closed");
4831        break;
4832      }
4653  
4654 <    for (i = (yyvsp[(1) - (3)].number); i <= (yyvsp[(3) - (3)].number); ++i)
4654 >    for (int i = (yyvsp[-2].number); i <= (yyvsp[0].number); ++i)
4655        add_listener(i, block_state.addr.buf, block_state.flags.value);
4656    }
4657   }
4658 + #line 4659 "conf_parser.c" /* yacc.c:1646  */
4659      break;
4660  
4661 <  case 282:
4662 < /* Line 1787 of yacc.c  */
4842 < #line 1602 "conf_parser.y"
4661 >  case 296:
4662 > #line 1723 "conf_parser.y" /* yacc.c:1646  */
4663      {
4664    if (conf_parser_ctx.pass == 2)
4665      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4666   }
4667 + #line 4668 "conf_parser.c" /* yacc.c:1646  */
4668      break;
4669  
4670 <  case 283:
4671 < /* Line 1787 of yacc.c  */
4851 < #line 1608 "conf_parser.y"
4670 >  case 297:
4671 > #line 1729 "conf_parser.y" /* yacc.c:1646  */
4672      {
4673    if (conf_parser_ctx.pass == 2)
4674      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4675   }
4676 + #line 4677 "conf_parser.c" /* yacc.c:1646  */
4677      break;
4678  
4679 <  case 284:
4680 < /* Line 1787 of yacc.c  */
4860 < #line 1617 "conf_parser.y"
4679 >  case 298:
4680 > #line 1738 "conf_parser.y" /* yacc.c:1646  */
4681      {
4682    if (conf_parser_ctx.pass == 2)
4683      reset_block_state();
4684   }
4685 + #line 4686 "conf_parser.c" /* yacc.c:1646  */
4686      break;
4687  
4688 <  case 285:
4689 < /* Line 1787 of yacc.c  */
4869 < #line 1621 "conf_parser.y"
4688 >  case 299:
4689 > #line 1742 "conf_parser.y" /* yacc.c:1646  */
4690      {
4691 <  dlink_node *ptr = NULL;
4691 >  dlink_node *node = NULL;
4692  
4693    if (conf_parser_ctx.pass != 2)
4694      break;
4695  
4696 <  DLINK_FOREACH(ptr, block_state.mask.list.head)
4696 >  DLINK_FOREACH(node, block_state.mask.list.head)
4697    {
4698      struct MaskItem *conf = NULL;
4699      struct split_nuh_item nuh;
4700  
4701 <    nuh.nuhmask  = ptr->data;
4701 >    nuh.nuhmask  = node->data;
4702      nuh.nickptr  = NULL;
4703      nuh.userptr  = block_state.user.buf;
4704      nuh.hostptr  = block_state.host.buf;
# Line 4903 | Line 4723 | yyreduce:
4723      add_conf_by_address(CONF_CLIENT, conf);
4724    }
4725   }
4726 + #line 4727 "conf_parser.c" /* yacc.c:1646  */
4727      break;
4728  
4729 <  case 297:
4730 < /* Line 1787 of yacc.c  */
4910 < #line 1664 "conf_parser.y"
4729 >  case 311:
4730 > #line 1791 "conf_parser.y" /* yacc.c:1646  */
4731      {
4732    if (conf_parser_ctx.pass == 2)
4733      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4734   }
4735 + #line 4736 "conf_parser.c" /* yacc.c:1646  */
4736      break;
4737  
4738 <  case 298:
4739 < /* Line 1787 of yacc.c  */
4919 < #line 1670 "conf_parser.y"
4738 >  case 312:
4739 > #line 1797 "conf_parser.y" /* yacc.c:1646  */
4740      {
4741    if (conf_parser_ctx.pass == 2)
4742      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4743   }
4744 + #line 4745 "conf_parser.c" /* yacc.c:1646  */
4745      break;
4746  
4747 <  case 299:
4748 < /* Line 1787 of yacc.c  */
4928 < #line 1676 "conf_parser.y"
4747 >  case 313:
4748 > #line 1803 "conf_parser.y" /* yacc.c:1646  */
4749      {
4750    if (conf_parser_ctx.pass == 2)
4751      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4752   }
4753 + #line 4754 "conf_parser.c" /* yacc.c:1646  */
4754      break;
4755  
4756 <  case 300:
4757 < /* Line 1787 of yacc.c  */
4937 < #line 1682 "conf_parser.y"
4756 >  case 314:
4757 > #line 1809 "conf_parser.y" /* yacc.c:1646  */
4758      {
4759    if (conf_parser_ctx.pass == 2)
4760    {
# Line 4944 | Line 4764 | yyreduce:
4764        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4765    }
4766   }
4767 + #line 4768 "conf_parser.c" /* yacc.c:1646  */
4768      break;
4769  
4770 <  case 301:
4771 < /* Line 1787 of yacc.c  */
4951 < #line 1693 "conf_parser.y"
4770 >  case 315:
4771 > #line 1820 "conf_parser.y" /* yacc.c:1646  */
4772      {
4773    if (conf_parser_ctx.pass == 2)
4774      block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP);
4775   }
4776 + #line 4777 "conf_parser.c" /* yacc.c:1646  */
4777      break;
4778  
4779 <  case 305:
4780 < /* Line 1787 of yacc.c  */
4960 < #line 1700 "conf_parser.y"
4779 >  case 319:
4780 > #line 1827 "conf_parser.y" /* yacc.c:1646  */
4781      {
4782    if (conf_parser_ctx.pass == 2)
4783      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4784   }
4785 + #line 4786 "conf_parser.c" /* yacc.c:1646  */
4786      break;
4787  
4788 <  case 306:
4789 < /* Line 1787 of yacc.c  */
4969 < #line 1704 "conf_parser.y"
4788 >  case 320:
4789 > #line 1831 "conf_parser.y" /* yacc.c:1646  */
4790      {
4791    if (conf_parser_ctx.pass == 2)
4792      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4793   }
4794 + #line 4795 "conf_parser.c" /* yacc.c:1646  */
4795      break;
4796  
4797 <  case 307:
4798 < /* Line 1787 of yacc.c  */
4978 < #line 1708 "conf_parser.y"
4797 >  case 321:
4798 > #line 1835 "conf_parser.y" /* yacc.c:1646  */
4799      {
4800    if (conf_parser_ctx.pass == 2)
4801      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4802   }
4803 + #line 4804 "conf_parser.c" /* yacc.c:1646  */
4804      break;
4805  
4806 <  case 308:
4807 < /* Line 1787 of yacc.c  */
4987 < #line 1712 "conf_parser.y"
4806 >  case 322:
4807 > #line 1839 "conf_parser.y" /* yacc.c:1646  */
4808      {
4809    if (conf_parser_ctx.pass == 2)
4810      block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4811   }
4812 + #line 4813 "conf_parser.c" /* yacc.c:1646  */
4813      break;
4814  
4815 <  case 309:
4816 < /* Line 1787 of yacc.c  */
4996 < #line 1716 "conf_parser.y"
4815 >  case 323:
4816 > #line 1843 "conf_parser.y" /* yacc.c:1646  */
4817      {
4818    if (conf_parser_ctx.pass == 2)
4819      block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4820   }
4821 + #line 4822 "conf_parser.c" /* yacc.c:1646  */
4822      break;
4823  
4824 <  case 310:
4825 < /* Line 1787 of yacc.c  */
5005 < #line 1720 "conf_parser.y"
4824 >  case 324:
4825 > #line 1847 "conf_parser.y" /* yacc.c:1646  */
4826      {
4827    if (conf_parser_ctx.pass == 2)
4828      block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4829   }
4830 + #line 4831 "conf_parser.c" /* yacc.c:1646  */
4831      break;
4832  
4833 <  case 311:
4834 < /* Line 1787 of yacc.c  */
5014 < #line 1724 "conf_parser.y"
4833 >  case 325:
4834 > #line 1851 "conf_parser.y" /* yacc.c:1646  */
4835      {
4836    if (conf_parser_ctx.pass == 2)
4837      block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
4838   }
4839 + #line 4840 "conf_parser.c" /* yacc.c:1646  */
4840      break;
4841  
4842 <  case 312:
4843 < /* Line 1787 of yacc.c  */
5023 < #line 1728 "conf_parser.y"
4842 >  case 326:
4843 > #line 1855 "conf_parser.y" /* yacc.c:1646  */
4844      {
4845    if (conf_parser_ctx.pass == 2)
4846      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4847   }
4848 + #line 4849 "conf_parser.c" /* yacc.c:1646  */
4849      break;
4850  
4851 <  case 313:
4852 < /* Line 1787 of yacc.c  */
5032 < #line 1732 "conf_parser.y"
4851 >  case 327:
4852 > #line 1859 "conf_parser.y" /* yacc.c:1646  */
4853      {
4854    if (conf_parser_ctx.pass == 2)
4855      block_state.flags.value |= CONF_FLAGS_WEBIRC;
4856   }
4857 + #line 4858 "conf_parser.c" /* yacc.c:1646  */
4858      break;
4859  
4860 <  case 314:
4861 < /* Line 1787 of yacc.c  */
5041 < #line 1736 "conf_parser.y"
4860 >  case 328:
4861 > #line 1863 "conf_parser.y" /* yacc.c:1646  */
4862      {
4863    if (conf_parser_ctx.pass == 2)
4864      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4865   }
4866 + #line 4867 "conf_parser.c" /* yacc.c:1646  */
4867      break;
4868  
4869 <  case 315:
4870 < /* Line 1787 of yacc.c  */
5050 < #line 1742 "conf_parser.y"
4869 >  case 329:
4870 > #line 1869 "conf_parser.y" /* yacc.c:1646  */
4871      {
4872    if (conf_parser_ctx.pass != 2)
4873      break;
4874  
4875 <  if (strlen(yylval.string) <= HOSTLEN && valid_hostname(yylval.string))
4875 >  if (valid_hostname(yylval.string))
4876    {
4877      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4878      block_state.flags.value |= CONF_FLAGS_SPOOF_IP;
# Line 5060 | Line 4880 | yyreduce:
4880    else
4881      ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4882   }
4883 + #line 4884 "conf_parser.c" /* yacc.c:1646  */
4884      break;
4885  
4886 <  case 316:
4887 < /* Line 1787 of yacc.c  */
5067 < #line 1756 "conf_parser.y"
4886 >  case 330:
4887 > #line 1883 "conf_parser.y" /* yacc.c:1646  */
4888      {
4889    if (conf_parser_ctx.pass != 2)
4890      break;
# Line 5072 | Line 4892 | yyreduce:
4892    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4893    block_state.flags.value |= CONF_FLAGS_REDIR;
4894   }
4895 + #line 4896 "conf_parser.c" /* yacc.c:1646  */
4896      break;
4897  
4898 <  case 317:
4899 < /* Line 1787 of yacc.c  */
5079 < #line 1765 "conf_parser.y"
4898 >  case 331:
4899 > #line 1892 "conf_parser.y" /* yacc.c:1646  */
4900      {
4901    if (conf_parser_ctx.pass != 2)
4902      break;
4903  
4904    block_state.flags.value |= CONF_FLAGS_REDIR;
4905 <  block_state.port.value = (yyvsp[(3) - (4)].number);
4905 >  block_state.port.value = (yyvsp[-1].number);
4906   }
4907 + #line 4908 "conf_parser.c" /* yacc.c:1646  */
4908      break;
4909  
4910 <  case 318:
4911 < /* Line 1787 of yacc.c  */
5091 < #line 1778 "conf_parser.y"
4910 >  case 332:
4911 > #line 1905 "conf_parser.y" /* yacc.c:1646  */
4912      {
4913    if (conf_parser_ctx.pass != 2)
4914      break;
# Line 5096 | Line 4916 | yyreduce:
4916    reset_block_state();
4917    strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));
4918   }
4919 + #line 4920 "conf_parser.c" /* yacc.c:1646  */
4920      break;
4921  
4922 <  case 319:
4923 < /* Line 1787 of yacc.c  */
5103 < #line 1785 "conf_parser.y"
4922 >  case 333:
4923 > #line 1912 "conf_parser.y" /* yacc.c:1646  */
4924      {
4925    if (conf_parser_ctx.pass != 2)
4926      break;
4927  
4928    create_resv(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4929   }
4930 + #line 4931 "conf_parser.c" /* yacc.c:1646  */
4931      break;
4932  
4933 <  case 326:
4934 < /* Line 1787 of yacc.c  */
5114 < #line 1796 "conf_parser.y"
4933 >  case 340:
4934 > #line 1923 "conf_parser.y" /* yacc.c:1646  */
4935      {
4936    if (conf_parser_ctx.pass == 2)
4937      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4938   }
4939 + #line 4940 "conf_parser.c" /* yacc.c:1646  */
4940      break;
4941  
4942 <  case 327:
4943 < /* Line 1787 of yacc.c  */
5123 < #line 1802 "conf_parser.y"
4942 >  case 341:
4943 > #line 1929 "conf_parser.y" /* yacc.c:1646  */
4944      {
4945    if (conf_parser_ctx.pass == 2)
4946      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4947   }
4948 + #line 4949 "conf_parser.c" /* yacc.c:1646  */
4949      break;
4950  
4951 <  case 328:
4952 < /* Line 1787 of yacc.c  */
5132 < #line 1808 "conf_parser.y"
4951 >  case 342:
4952 > #line 1935 "conf_parser.y" /* yacc.c:1646  */
4953      {
4954    if (conf_parser_ctx.pass == 2)
4955      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4956   }
4957 + #line 4958 "conf_parser.c" /* yacc.c:1646  */
4958      break;
4959  
4960 <  case 334:
4961 < /* Line 1787 of yacc.c  */
5141 < #line 1823 "conf_parser.y"
4960 >  case 348:
4961 > #line 1950 "conf_parser.y" /* yacc.c:1646  */
4962      {
4963    if (conf_parser_ctx.pass != 2)
4964      break;
# Line 5149 | Line 4969 | yyreduce:
4969      conf->name = xstrdup(yylval.string);
4970    }
4971   }
4972 + #line 4973 "conf_parser.c" /* yacc.c:1646  */
4973      break;
4974  
4975 <  case 335:
4976 < /* Line 1787 of yacc.c  */
5156 < #line 1838 "conf_parser.y"
4975 >  case 349:
4976 > #line 1965 "conf_parser.y" /* yacc.c:1646  */
4977      {
4978    if (conf_parser_ctx.pass != 2)
4979      break;
# Line 5165 | Line 4985 | yyreduce:
4985    strlcpy(block_state.host.buf, "*", sizeof(block_state.host.buf));
4986    block_state.flags.value = SHARED_ALL;
4987   }
4988 + #line 4989 "conf_parser.c" /* yacc.c:1646  */
4989      break;
4990  
4991 <  case 336:
4992 < /* Line 1787 of yacc.c  */
5172 < #line 1849 "conf_parser.y"
4991 >  case 350:
4992 > #line 1976 "conf_parser.y" /* yacc.c:1646  */
4993      {
4994    struct MaskItem *conf = NULL;
4995  
# Line 5182 | Line 5002 | yyreduce:
5002    conf->user = xstrdup(block_state.user.buf);
5003    conf->host = xstrdup(block_state.host.buf);
5004   }
5005 + #line 5006 "conf_parser.c" /* yacc.c:1646  */
5006      break;
5007  
5008 <  case 343:
5009 < /* Line 1787 of yacc.c  */
5189 < #line 1866 "conf_parser.y"
5008 >  case 357:
5009 > #line 1993 "conf_parser.y" /* yacc.c:1646  */
5010      {
5011    if (conf_parser_ctx.pass == 2)
5012      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5013   }
5014 + #line 5015 "conf_parser.c" /* yacc.c:1646  */
5015      break;
5016  
5017 <  case 344:
5018 < /* Line 1787 of yacc.c  */
5198 < #line 1872 "conf_parser.y"
5017 >  case 358:
5018 > #line 1999 "conf_parser.y" /* yacc.c:1646  */
5019      {
5020    if (conf_parser_ctx.pass == 2)
5021    {
# Line 5213 | Line 5033 | yyreduce:
5033      split_nuh(&nuh);
5034    }
5035   }
5036 + #line 5037 "conf_parser.c" /* yacc.c:1646  */
5037      break;
5038  
5039 <  case 345:
5040 < /* Line 1787 of yacc.c  */
5220 < #line 1891 "conf_parser.y"
5039 >  case 359:
5040 > #line 2018 "conf_parser.y" /* yacc.c:1646  */
5041      {
5042    if (conf_parser_ctx.pass == 2)
5043      block_state.flags.value = 0;
5044   }
5045 + #line 5046 "conf_parser.c" /* yacc.c:1646  */
5046      break;
5047  
5048 <  case 349:
5049 < /* Line 1787 of yacc.c  */
5229 < #line 1898 "conf_parser.y"
5048 >  case 363:
5049 > #line 2025 "conf_parser.y" /* yacc.c:1646  */
5050      {
5051    if (conf_parser_ctx.pass == 2)
5052      block_state.flags.value |= SHARED_KLINE;
5053   }
5054 + #line 5055 "conf_parser.c" /* yacc.c:1646  */
5055      break;
5056  
5057 <  case 350:
5058 < /* Line 1787 of yacc.c  */
5238 < #line 1902 "conf_parser.y"
5057 >  case 364:
5058 > #line 2029 "conf_parser.y" /* yacc.c:1646  */
5059      {
5060    if (conf_parser_ctx.pass == 2)
5061      block_state.flags.value |= SHARED_UNKLINE;
5062   }
5063 + #line 5064 "conf_parser.c" /* yacc.c:1646  */
5064      break;
5065  
5066 <  case 351:
5067 < /* Line 1787 of yacc.c  */
5247 < #line 1906 "conf_parser.y"
5066 >  case 365:
5067 > #line 2033 "conf_parser.y" /* yacc.c:1646  */
5068      {
5069    if (conf_parser_ctx.pass == 2)
5070      block_state.flags.value |= SHARED_DLINE;
5071   }
5072 + #line 5073 "conf_parser.c" /* yacc.c:1646  */
5073      break;
5074  
5075 <  case 352:
5076 < /* Line 1787 of yacc.c  */
5256 < #line 1910 "conf_parser.y"
5075 >  case 366:
5076 > #line 2037 "conf_parser.y" /* yacc.c:1646  */
5077      {
5078    if (conf_parser_ctx.pass == 2)
5079      block_state.flags.value |= SHARED_UNDLINE;
5080   }
5081 + #line 5082 "conf_parser.c" /* yacc.c:1646  */
5082      break;
5083  
5084 <  case 353:
5085 < /* Line 1787 of yacc.c  */
5265 < #line 1914 "conf_parser.y"
5084 >  case 367:
5085 > #line 2041 "conf_parser.y" /* yacc.c:1646  */
5086      {
5087    if (conf_parser_ctx.pass == 2)
5088      block_state.flags.value |= SHARED_XLINE;
5089   }
5090 + #line 5091 "conf_parser.c" /* yacc.c:1646  */
5091      break;
5092  
5093 <  case 354:
5094 < /* Line 1787 of yacc.c  */
5274 < #line 1918 "conf_parser.y"
5093 >  case 368:
5094 > #line 2045 "conf_parser.y" /* yacc.c:1646  */
5095      {
5096    if (conf_parser_ctx.pass == 2)
5097      block_state.flags.value |= SHARED_UNXLINE;
5098   }
5099 + #line 5100 "conf_parser.c" /* yacc.c:1646  */
5100      break;
5101  
5102 <  case 355:
5103 < /* Line 1787 of yacc.c  */
5283 < #line 1922 "conf_parser.y"
5102 >  case 369:
5103 > #line 2049 "conf_parser.y" /* yacc.c:1646  */
5104      {
5105    if (conf_parser_ctx.pass == 2)
5106      block_state.flags.value |= SHARED_RESV;
5107   }
5108 + #line 5109 "conf_parser.c" /* yacc.c:1646  */
5109      break;
5110  
5111 <  case 356:
5112 < /* Line 1787 of yacc.c  */
5292 < #line 1926 "conf_parser.y"
5111 >  case 370:
5112 > #line 2053 "conf_parser.y" /* yacc.c:1646  */
5113      {
5114    if (conf_parser_ctx.pass == 2)
5115      block_state.flags.value |= SHARED_UNRESV;
5116   }
5117 + #line 5118 "conf_parser.c" /* yacc.c:1646  */
5118      break;
5119  
5120 <  case 357:
5121 < /* Line 1787 of yacc.c  */
5301 < #line 1930 "conf_parser.y"
5120 >  case 371:
5121 > #line 2057 "conf_parser.y" /* yacc.c:1646  */
5122      {
5123    if (conf_parser_ctx.pass == 2)
5124      block_state.flags.value |= SHARED_LOCOPS;
5125   }
5126 + #line 5127 "conf_parser.c" /* yacc.c:1646  */
5127      break;
5128  
5129 <  case 358:
5130 < /* Line 1787 of yacc.c  */
5310 < #line 1934 "conf_parser.y"
5129 >  case 372:
5130 > #line 2061 "conf_parser.y" /* yacc.c:1646  */
5131      {
5132    if (conf_parser_ctx.pass == 2)
5133      block_state.flags.value = SHARED_ALL;
5134   }
5135 + #line 5136 "conf_parser.c" /* yacc.c:1646  */
5136      break;
5137  
5138 <  case 359:
5139 < /* Line 1787 of yacc.c  */
5319 < #line 1943 "conf_parser.y"
5138 >  case 373:
5139 > #line 2070 "conf_parser.y" /* yacc.c:1646  */
5140      {
5141    if (conf_parser_ctx.pass != 2)
5142      break;
# Line 5326 | Line 5146 | yyreduce:
5146    strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));
5147    block_state.flags.value = SHARED_ALL;
5148   }
5149 + #line 5150 "conf_parser.c" /* yacc.c:1646  */
5150      break;
5151  
5152 <  case 360:
5153 < /* Line 1787 of yacc.c  */
5333 < #line 1952 "conf_parser.y"
5152 >  case 374:
5153 > #line 2079 "conf_parser.y" /* yacc.c:1646  */
5154      {
5155    struct MaskItem *conf = NULL;
5156  
# Line 5341 | Line 5161 | yyreduce:
5161    conf->flags = block_state.flags.value;
5162    conf->name = xstrdup(block_state.name.buf);
5163   }
5164 + #line 5165 "conf_parser.c" /* yacc.c:1646  */
5165      break;
5166  
5167 <  case 366:
5168 < /* Line 1787 of yacc.c  */
5348 < #line 1967 "conf_parser.y"
5167 >  case 380:
5168 > #line 2094 "conf_parser.y" /* yacc.c:1646  */
5169      {
5170    if (conf_parser_ctx.pass == 2)
5171      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5172   }
5173 + #line 5174 "conf_parser.c" /* yacc.c:1646  */
5174      break;
5175  
5176 <  case 367:
5177 < /* Line 1787 of yacc.c  */
5357 < #line 1973 "conf_parser.y"
5176 >  case 381:
5177 > #line 2100 "conf_parser.y" /* yacc.c:1646  */
5178      {
5179    if (conf_parser_ctx.pass == 2)
5180      block_state.flags.value = 0;
5181   }
5182 + #line 5183 "conf_parser.c" /* yacc.c:1646  */
5183      break;
5184  
5185 <  case 371:
5186 < /* Line 1787 of yacc.c  */
5366 < #line 1980 "conf_parser.y"
5185 >  case 385:
5186 > #line 2107 "conf_parser.y" /* yacc.c:1646  */
5187      {
5188    if (conf_parser_ctx.pass == 2)
5189      block_state.flags.value |= SHARED_KLINE;
5190   }
5191 + #line 5192 "conf_parser.c" /* yacc.c:1646  */
5192      break;
5193  
5194 <  case 372:
5195 < /* Line 1787 of yacc.c  */
5375 < #line 1984 "conf_parser.y"
5194 >  case 386:
5195 > #line 2111 "conf_parser.y" /* yacc.c:1646  */
5196      {
5197    if (conf_parser_ctx.pass == 2)
5198      block_state.flags.value |= SHARED_UNKLINE;
5199   }
5200 + #line 5201 "conf_parser.c" /* yacc.c:1646  */
5201      break;
5202  
5203 <  case 373:
5204 < /* Line 1787 of yacc.c  */
5384 < #line 1988 "conf_parser.y"
5203 >  case 387:
5204 > #line 2115 "conf_parser.y" /* yacc.c:1646  */
5205      {
5206    if (conf_parser_ctx.pass == 2)
5207      block_state.flags.value |= SHARED_DLINE;
5208   }
5209 + #line 5210 "conf_parser.c" /* yacc.c:1646  */
5210      break;
5211  
5212 <  case 374:
5213 < /* Line 1787 of yacc.c  */
5393 < #line 1992 "conf_parser.y"
5212 >  case 388:
5213 > #line 2119 "conf_parser.y" /* yacc.c:1646  */
5214      {
5215    if (conf_parser_ctx.pass == 2)
5216      block_state.flags.value |= SHARED_UNDLINE;
5217   }
5218 + #line 5219 "conf_parser.c" /* yacc.c:1646  */
5219      break;
5220  
5221 <  case 375:
5222 < /* Line 1787 of yacc.c  */
5402 < #line 1996 "conf_parser.y"
5221 >  case 389:
5222 > #line 2123 "conf_parser.y" /* yacc.c:1646  */
5223      {
5224    if (conf_parser_ctx.pass == 2)
5225      block_state.flags.value |= SHARED_XLINE;
5226   }
5227 + #line 5228 "conf_parser.c" /* yacc.c:1646  */
5228      break;
5229  
5230 <  case 376:
5231 < /* Line 1787 of yacc.c  */
5411 < #line 2000 "conf_parser.y"
5230 >  case 390:
5231 > #line 2127 "conf_parser.y" /* yacc.c:1646  */
5232      {
5233    if (conf_parser_ctx.pass == 2)
5234      block_state.flags.value |= SHARED_UNXLINE;
5235   }
5236 + #line 5237 "conf_parser.c" /* yacc.c:1646  */
5237      break;
5238  
5239 <  case 377:
5240 < /* Line 1787 of yacc.c  */
5420 < #line 2004 "conf_parser.y"
5239 >  case 391:
5240 > #line 2131 "conf_parser.y" /* yacc.c:1646  */
5241      {
5242    if (conf_parser_ctx.pass == 2)
5243      block_state.flags.value |= SHARED_RESV;
5244   }
5245 + #line 5246 "conf_parser.c" /* yacc.c:1646  */
5246      break;
5247  
5248 <  case 378:
5249 < /* Line 1787 of yacc.c  */
5429 < #line 2008 "conf_parser.y"
5248 >  case 392:
5249 > #line 2135 "conf_parser.y" /* yacc.c:1646  */
5250      {
5251    if (conf_parser_ctx.pass == 2)
5252      block_state.flags.value |= SHARED_UNRESV;
5253   }
5254 + #line 5255 "conf_parser.c" /* yacc.c:1646  */
5255      break;
5256  
5257 <  case 379:
5258 < /* Line 1787 of yacc.c  */
5438 < #line 2012 "conf_parser.y"
5257 >  case 393:
5258 > #line 2139 "conf_parser.y" /* yacc.c:1646  */
5259      {
5260    if (conf_parser_ctx.pass == 2)
5261      block_state.flags.value |= SHARED_LOCOPS;
5262   }
5263 + #line 5264 "conf_parser.c" /* yacc.c:1646  */
5264      break;
5265  
5266 <  case 380:
5267 < /* Line 1787 of yacc.c  */
5447 < #line 2016 "conf_parser.y"
5266 >  case 394:
5267 > #line 2143 "conf_parser.y" /* yacc.c:1646  */
5268      {
5269    if (conf_parser_ctx.pass == 2)
5270      block_state.flags.value = SHARED_ALL;
5271   }
5272 + #line 5273 "conf_parser.c" /* yacc.c:1646  */
5273      break;
5274  
5275 <  case 381:
5276 < /* Line 1787 of yacc.c  */
5456 < #line 2025 "conf_parser.y"
5275 >  case 395:
5276 > #line 2152 "conf_parser.y" /* yacc.c:1646  */
5277      {
5278  
5279    if (conf_parser_ctx.pass != 2)
5280      break;
5281  
5282    reset_block_state();
5283 +  block_state.aftype.value = AF_INET;
5284    block_state.port.value = PORTNUM;
5285   }
5286 + #line 5287 "conf_parser.c" /* yacc.c:1646  */
5287      break;
5288  
5289 <  case 382:
5290 < /* Line 1787 of yacc.c  */
5469 < #line 2033 "conf_parser.y"
5289 >  case 396:
5290 > #line 2161 "conf_parser.y" /* yacc.c:1646  */
5291      {
5292    struct MaskItem *conf = NULL;
5293    struct addrinfo hints, *res;
# Line 5498 | Line 5319 | yyreduce:
5319    if (block_state.cert.buf[0])
5320      conf->certfp = xstrdup(block_state.cert.buf);
5321  
5322 <  conf->cipher_list = xstrdup(block_state.ciph.buf);
5322 >  if (block_state.ciph.buf[0])
5323 >    conf->cipher_list = xstrdup(block_state.ciph.buf);
5324  
5325    dlinkMoveList(&block_state.leaf.list, &conf->leaf_list);
5326    dlinkMoveList(&block_state.hub.list, &conf->hub_list);
# Line 5515 | Line 5337 | yyreduce:
5337        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", block_state.bind.buf);
5338      else
5339      {
5340 <      assert(res != NULL);
5340 >      assert(res);
5341  
5342        memcpy(&conf->bind, res->ai_addr, res->ai_addrlen);
5343        conf->bind.ss.ss_family = res->ai_family;
# Line 5527 | Line 5349 | yyreduce:
5349    conf_add_class_to_conf(conf, block_state.class.buf);
5350    lookup_confhost(conf);
5351   }
5352 + #line 5353 "conf_parser.c" /* yacc.c:1646  */
5353      break;
5354  
5355 <  case 400:
5356 < /* Line 1787 of yacc.c  */
5534 < #line 2103 "conf_parser.y"
5355 >  case 414:
5356 > #line 2241 "conf_parser.y" /* yacc.c:1646  */
5357      {
5358    if (conf_parser_ctx.pass == 2)
5359      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5360   }
5361 + #line 5362 "conf_parser.c" /* yacc.c:1646  */
5362      break;
5363  
5364 <  case 401:
5365 < /* Line 1787 of yacc.c  */
5543 < #line 2109 "conf_parser.y"
5364 >  case 415:
5365 > #line 2247 "conf_parser.y" /* yacc.c:1646  */
5366      {
5367    if (conf_parser_ctx.pass == 2)
5368      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
5369   }
5370 + #line 5371 "conf_parser.c" /* yacc.c:1646  */
5371      break;
5372  
5373 <  case 402:
5374 < /* Line 1787 of yacc.c  */
5552 < #line 2115 "conf_parser.y"
5373 >  case 416:
5374 > #line 2253 "conf_parser.y" /* yacc.c:1646  */
5375      {
5376    if (conf_parser_ctx.pass == 2)
5377      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
5378   }
5379 + #line 5380 "conf_parser.c" /* yacc.c:1646  */
5380      break;
5381  
5382 <  case 403:
5383 < /* Line 1787 of yacc.c  */
5561 < #line 2121 "conf_parser.y"
5382 >  case 417:
5383 > #line 2259 "conf_parser.y" /* yacc.c:1646  */
5384      {
5385    if (conf_parser_ctx.pass != 2)
5386      break;
5387  
5388 <  if ((yyvsp[(3) - (4)].string)[0] == ':')
5388 >  if ((yyvsp[-1].string)[0] == ':')
5389      conf_error_report("Server passwords cannot begin with a colon");
5390 <  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5390 >  else if (strchr((yyvsp[-1].string), ' '))
5391      conf_error_report("Server passwords cannot contain spaces");
5392    else
5393      strlcpy(block_state.spass.buf, yylval.string, sizeof(block_state.spass.buf));
5394   }
5395 + #line 5396 "conf_parser.c" /* yacc.c:1646  */
5396      break;
5397  
5398 <  case 404:
5399 < /* Line 1787 of yacc.c  */
5577 < #line 2134 "conf_parser.y"
5398 >  case 418:
5399 > #line 2272 "conf_parser.y" /* yacc.c:1646  */
5400      {
5401    if (conf_parser_ctx.pass != 2)
5402      break;
5403  
5404 <  if ((yyvsp[(3) - (4)].string)[0] == ':')
5404 >  if ((yyvsp[-1].string)[0] == ':')
5405      conf_error_report("Server passwords cannot begin with a colon");
5406 <  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5406 >  else if (strchr((yyvsp[-1].string), ' '))
5407      conf_error_report("Server passwords cannot contain spaces");
5408    else
5409      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5410   }
5411 + #line 5412 "conf_parser.c" /* yacc.c:1646  */
5412      break;
5413  
5414 <  case 405:
5415 < /* Line 1787 of yacc.c  */
5593 < #line 2147 "conf_parser.y"
5414 >  case 419:
5415 > #line 2285 "conf_parser.y" /* yacc.c:1646  */
5416      {
5417    if (conf_parser_ctx.pass == 2)
5418 <    if (strlen(yylval.string) == SHA_DIGEST_LENGTH * 2)
5597 <      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
5418 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
5419   }
5420 + #line 5421 "conf_parser.c" /* yacc.c:1646  */
5421      break;
5422  
5423 <  case 406:
5424 < /* Line 1787 of yacc.c  */
5603 < #line 2154 "conf_parser.y"
5423 >  case 420:
5424 > #line 2291 "conf_parser.y" /* yacc.c:1646  */
5425      {
5426    if (conf_parser_ctx.pass == 2)
5427 <    block_state.port.value = (yyvsp[(3) - (4)].number);
5427 >    block_state.port.value = (yyvsp[-1].number);
5428   }
5429 + #line 5430 "conf_parser.c" /* yacc.c:1646  */
5430      break;
5431  
5432 <  case 407:
5433 < /* Line 1787 of yacc.c  */
5612 < #line 2160 "conf_parser.y"
5432 >  case 421:
5433 > #line 2297 "conf_parser.y" /* yacc.c:1646  */
5434      {
5435    if (conf_parser_ctx.pass == 2)
5436      block_state.aftype.value = AF_INET;
5437   }
5438 + #line 5439 "conf_parser.c" /* yacc.c:1646  */
5439      break;
5440  
5441 <  case 408:
5442 < /* Line 1787 of yacc.c  */
5621 < #line 2164 "conf_parser.y"
5441 >  case 422:
5442 > #line 2301 "conf_parser.y" /* yacc.c:1646  */
5443      {
5623 #ifdef IPV6
5444    if (conf_parser_ctx.pass == 2)
5445      block_state.aftype.value = AF_INET6;
5626 #endif
5446   }
5447 + #line 5448 "conf_parser.c" /* yacc.c:1646  */
5448      break;
5449  
5450 <  case 409:
5451 < /* Line 1787 of yacc.c  */
5632 < #line 2172 "conf_parser.y"
5450 >  case 423:
5451 > #line 2307 "conf_parser.y" /* yacc.c:1646  */
5452      {
5453    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5454   }
5455 + #line 5456 "conf_parser.c" /* yacc.c:1646  */
5456      break;
5457  
5458 <  case 413:
5459 < /* Line 1787 of yacc.c  */
5640 < #line 2178 "conf_parser.y"
5458 >  case 427:
5459 > #line 2313 "conf_parser.y" /* yacc.c:1646  */
5460      {
5461    if (conf_parser_ctx.pass == 2)
5462      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
5463   }
5464 + #line 5465 "conf_parser.c" /* yacc.c:1646  */
5465      break;
5466  
5467 <  case 414:
5468 < /* Line 1787 of yacc.c  */
5649 < #line 2182 "conf_parser.y"
5467 >  case 428:
5468 > #line 2317 "conf_parser.y" /* yacc.c:1646  */
5469      {
5470    if (conf_parser_ctx.pass == 2)
5471      block_state.flags.value |= CONF_FLAGS_SSL;
5472   }
5473 + #line 5474 "conf_parser.c" /* yacc.c:1646  */
5474      break;
5475  
5476 <  case 415:
5477 < /* Line 1787 of yacc.c  */
5658 < #line 2188 "conf_parser.y"
5476 >  case 429:
5477 > #line 2323 "conf_parser.y" /* yacc.c:1646  */
5478      {
5479    if (conf_parser_ctx.pass == 2)
5480    {
# Line 5665 | Line 5484 | yyreduce:
5484        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
5485    }
5486   }
5487 + #line 5488 "conf_parser.c" /* yacc.c:1646  */
5488      break;
5489  
5490 <  case 416:
5491 < /* Line 1787 of yacc.c  */
5672 < #line 2199 "conf_parser.y"
5490 >  case 430:
5491 > #line 2334 "conf_parser.y" /* yacc.c:1646  */
5492      {
5493    if (conf_parser_ctx.pass == 2)
5494      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
5495   }
5496 + #line 5497 "conf_parser.c" /* yacc.c:1646  */
5497      break;
5498  
5499 <  case 417:
5500 < /* Line 1787 of yacc.c  */
5681 < #line 2205 "conf_parser.y"
5499 >  case 431:
5500 > #line 2340 "conf_parser.y" /* yacc.c:1646  */
5501      {
5502    if (conf_parser_ctx.pass == 2)
5503      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
5504   }
5505 + #line 5506 "conf_parser.c" /* yacc.c:1646  */
5506      break;
5507  
5508 <  case 418:
5509 < /* Line 1787 of yacc.c  */
5690 < #line 2211 "conf_parser.y"
5508 >  case 432:
5509 > #line 2346 "conf_parser.y" /* yacc.c:1646  */
5510      {
5511    if (conf_parser_ctx.pass == 2)
5512      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
5513   }
5514 + #line 5515 "conf_parser.c" /* yacc.c:1646  */
5515      break;
5516  
5517 <  case 419:
5518 < /* Line 1787 of yacc.c  */
5699 < #line 2217 "conf_parser.y"
5517 >  case 433:
5518 > #line 2352 "conf_parser.y" /* yacc.c:1646  */
5519      {
5520   #ifdef HAVE_LIBCRYPTO
5521    if (conf_parser_ctx.pass == 2)
# Line 5706 | Line 5525 | yyreduce:
5525      conf_error_report("Ignoring connect::ciphers -- no OpenSSL support");
5526   #endif
5527   }
5528 + #line 5529 "conf_parser.c" /* yacc.c:1646  */
5529      break;
5530  
5531 <  case 420:
5532 < /* Line 1787 of yacc.c  */
5713 < #line 2232 "conf_parser.y"
5531 >  case 434:
5532 > #line 2367 "conf_parser.y" /* yacc.c:1646  */
5533      {
5534    if (conf_parser_ctx.pass == 2)
5535      reset_block_state();
5536   }
5537 + #line 5538 "conf_parser.c" /* yacc.c:1646  */
5538      break;
5539  
5540 <  case 421:
5541 < /* Line 1787 of yacc.c  */
5722 < #line 2236 "conf_parser.y"
5540 >  case 435:
5541 > #line 2371 "conf_parser.y" /* yacc.c:1646  */
5542      {
5543    struct MaskItem *conf = NULL;
5544  
# Line 5740 | Line 5559 | yyreduce:
5559      conf->reason = xstrdup(CONF_NOREASON);
5560    add_conf_by_address(CONF_KLINE, conf);
5561   }
5562 + #line 5563 "conf_parser.c" /* yacc.c:1646  */
5563      break;
5564  
5565 <  case 427:
5566 < /* Line 1787 of yacc.c  */
5747 < #line 2261 "conf_parser.y"
5565 >  case 441:
5566 > #line 2396 "conf_parser.y" /* yacc.c:1646  */
5567      {
5568  
5569    if (conf_parser_ctx.pass == 2)
# Line 5763 | Line 5582 | yyreduce:
5582      split_nuh(&nuh);
5583    }
5584   }
5585 + #line 5586 "conf_parser.c" /* yacc.c:1646  */
5586      break;
5587  
5588 <  case 428:
5589 < /* Line 1787 of yacc.c  */
5770 < #line 2281 "conf_parser.y"
5588 >  case 442:
5589 > #line 2416 "conf_parser.y" /* yacc.c:1646  */
5590      {
5591    if (conf_parser_ctx.pass == 2)
5592      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5593   }
5594 + #line 5595 "conf_parser.c" /* yacc.c:1646  */
5595      break;
5596  
5597 <  case 429:
5598 < /* Line 1787 of yacc.c  */
5779 < #line 2290 "conf_parser.y"
5597 >  case 443:
5598 > #line 2425 "conf_parser.y" /* yacc.c:1646  */
5599      {
5600    if (conf_parser_ctx.pass == 2)
5601      reset_block_state();
5602   }
5603 + #line 5604 "conf_parser.c" /* yacc.c:1646  */
5604      break;
5605  
5606 <  case 430:
5607 < /* Line 1787 of yacc.c  */
5788 < #line 2294 "conf_parser.y"
5606 >  case 444:
5607 > #line 2429 "conf_parser.y" /* yacc.c:1646  */
5608      {
5609    struct MaskItem *conf = NULL;
5610  
# Line 5807 | Line 5626 | yyreduce:
5626      add_conf_by_address(CONF_DLINE, conf);
5627    }
5628   }
5629 + #line 5630 "conf_parser.c" /* yacc.c:1646  */
5630      break;
5631  
5632 <  case 436:
5633 < /* Line 1787 of yacc.c  */
5814 < #line 2320 "conf_parser.y"
5632 >  case 450:
5633 > #line 2455 "conf_parser.y" /* yacc.c:1646  */
5634      {
5635    if (conf_parser_ctx.pass == 2)
5636      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5637   }
5638 + #line 5639 "conf_parser.c" /* yacc.c:1646  */
5639      break;
5640  
5641 <  case 437:
5642 < /* Line 1787 of yacc.c  */
5823 < #line 2326 "conf_parser.y"
5641 >  case 451:
5642 > #line 2461 "conf_parser.y" /* yacc.c:1646  */
5643      {
5644    if (conf_parser_ctx.pass == 2)
5645      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5646   }
5647 + #line 5648 "conf_parser.c" /* yacc.c:1646  */
5648      break;
5649  
5650 <  case 443:
5651 < /* Line 1787 of yacc.c  */
5832 < #line 2340 "conf_parser.y"
5650 >  case 457:
5651 > #line 2475 "conf_parser.y" /* yacc.c:1646  */
5652      {
5653    if (conf_parser_ctx.pass == 2)
5654    {
# Line 5842 | Line 5661 | yyreduce:
5661      }
5662    }
5663   }
5664 + #line 5665 "conf_parser.c" /* yacc.c:1646  */
5665      break;
5666  
5667 <  case 444:
5668 < /* Line 1787 of yacc.c  */
5849 < #line 2357 "conf_parser.y"
5667 >  case 458:
5668 > #line 2492 "conf_parser.y" /* yacc.c:1646  */
5669      {
5670    if (conf_parser_ctx.pass == 2)
5671      reset_block_state();
5672   }
5673 + #line 5674 "conf_parser.c" /* yacc.c:1646  */
5674      break;
5675  
5676 <  case 445:
5677 < /* Line 1787 of yacc.c  */
5858 < #line 2361 "conf_parser.y"
5676 >  case 459:
5677 > #line 2496 "conf_parser.y" /* yacc.c:1646  */
5678      {
5679    struct MaskItem *conf = NULL;
5680  
# Line 5873 | Line 5692 | yyreduce:
5692    else
5693      conf->reason = xstrdup(CONF_NOREASON);
5694   }
5695 + #line 5696 "conf_parser.c" /* yacc.c:1646  */
5696      break;
5697  
5698 <  case 451:
5699 < /* Line 1787 of yacc.c  */
5880 < #line 2383 "conf_parser.y"
5698 >  case 465:
5699 > #line 2518 "conf_parser.y" /* yacc.c:1646  */
5700      {
5701    if (conf_parser_ctx.pass == 2)
5702      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5703   }
5704 + #line 5705 "conf_parser.c" /* yacc.c:1646  */
5705      break;
5706  
5707 <  case 452:
5708 < /* Line 1787 of yacc.c  */
5889 < #line 2389 "conf_parser.y"
5707 >  case 466:
5708 > #line 2524 "conf_parser.y" /* yacc.c:1646  */
5709      {
5710    if (conf_parser_ctx.pass == 2)
5711      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5712   }
5713 + #line 5714 "conf_parser.c" /* yacc.c:1646  */
5714      break;
5715  
5716 <  case 504:
5717 < /* Line 1787 of yacc.c  */
5898 < #line 2432 "conf_parser.y"
5716 >  case 519:
5717 > #line 2588 "conf_parser.y" /* yacc.c:1646  */
5718      {
5719 <  ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5719 >  ConfigGeneral.away_count = (yyvsp[-1].number);
5720   }
5721 + #line 5722 "conf_parser.c" /* yacc.c:1646  */
5722      break;
5723  
5724 <  case 505:
5725 < /* Line 1787 of yacc.c  */
5726 < #line 2437 "conf_parser.y"
5724 >  case 520:
5725 > #line 2593 "conf_parser.y" /* yacc.c:1646  */
5726 >    {
5727 >  ConfigGeneral.away_time = (yyvsp[-1].number);
5728 > }
5729 > #line 5730 "conf_parser.c" /* yacc.c:1646  */
5730 >    break;
5731 >
5732 >  case 521:
5733 > #line 2598 "conf_parser.y" /* yacc.c:1646  */
5734 >    {
5735 >  ConfigGeneral.max_watch = (yyvsp[-1].number);
5736 > }
5737 > #line 5738 "conf_parser.c" /* yacc.c:1646  */
5738 >    break;
5739 >
5740 >  case 522:
5741 > #line 2603 "conf_parser.y" /* yacc.c:1646  */
5742      {
5743    if (conf_parser_ctx.pass == 2)
5744 <    ConfigFileEntry.glines = yylval.number;
5744 >    ConfigGeneral.cycle_on_host_change = yylval.number;
5745   }
5746 + #line 5747 "conf_parser.c" /* yacc.c:1646  */
5747      break;
5748  
5749 <  case 506:
5750 < /* Line 1787 of yacc.c  */
5915 < #line 2443 "conf_parser.y"
5749 >  case 523:
5750 > #line 2609 "conf_parser.y" /* yacc.c:1646  */
5751      {
5752    if (conf_parser_ctx.pass == 2)
5753 <    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5753 >    ConfigGeneral.glines = yylval.number;
5754   }
5755 + #line 5756 "conf_parser.c" /* yacc.c:1646  */
5756      break;
5757  
5758 <  case 507:
5759 < /* Line 1787 of yacc.c  */
5924 < #line 2449 "conf_parser.y"
5758 >  case 524:
5759 > #line 2615 "conf_parser.y" /* yacc.c:1646  */
5760      {
5761    if (conf_parser_ctx.pass == 2)
5762 <    ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5762 >    ConfigGeneral.gline_time = (yyvsp[-1].number);
5763   }
5764 + #line 5765 "conf_parser.c" /* yacc.c:1646  */
5765      break;
5766  
5767 <  case 508:
5768 < /* Line 1787 of yacc.c  */
5933 < #line 2455 "conf_parser.y"
5767 >  case 525:
5768 > #line 2621 "conf_parser.y" /* yacc.c:1646  */
5769      {
5770 <  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5770 >  if (conf_parser_ctx.pass == 2)
5771 >    ConfigGeneral.gline_request_time = (yyvsp[-1].number);
5772   }
5773 + #line 5774 "conf_parser.c" /* yacc.c:1646  */
5774      break;
5775  
5776 <  case 509:
5777 < /* Line 1787 of yacc.c  */
5941 < #line 2460 "conf_parser.y"
5776 >  case 526:
5777 > #line 2627 "conf_parser.y" /* yacc.c:1646  */
5778      {
5779 <  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5779 >  ConfigGeneral.gline_min_cidr = (yyvsp[-1].number);
5780   }
5781 + #line 5782 "conf_parser.c" /* yacc.c:1646  */
5782      break;
5783  
5784 <  case 510:
5785 < /* Line 1787 of yacc.c  */
5949 < #line 2465 "conf_parser.y"
5784 >  case 527:
5785 > #line 2632 "conf_parser.y" /* yacc.c:1646  */
5786      {
5787 <  ConfigFileEntry.tkline_expire_notices = yylval.number;
5787 >  ConfigGeneral.gline_min_cidr6 = (yyvsp[-1].number);
5788   }
5789 + #line 5790 "conf_parser.c" /* yacc.c:1646  */
5790      break;
5791  
5792 <  case 511:
5793 < /* Line 1787 of yacc.c  */
5957 < #line 2470 "conf_parser.y"
5792 >  case 528:
5793 > #line 2637 "conf_parser.y" /* yacc.c:1646  */
5794      {
5795 <  ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
5795 >  ConfigGeneral.tkline_expire_notices = yylval.number;
5796   }
5797 + #line 5798 "conf_parser.c" /* yacc.c:1646  */
5798      break;
5799  
5800 <  case 512:
5801 < /* Line 1787 of yacc.c  */
5965 < #line 2475 "conf_parser.y"
5800 >  case 529:
5801 > #line 2642 "conf_parser.y" /* yacc.c:1646  */
5802      {
5803 <  ConfigFileEntry.hide_spoof_ips = yylval.number;
5803 >  ConfigGeneral.kill_chase_time_limit = (yyvsp[-1].number);
5804   }
5805 + #line 5806 "conf_parser.c" /* yacc.c:1646  */
5806      break;
5807  
5808 <  case 513:
5809 < /* Line 1787 of yacc.c  */
5973 < #line 2480 "conf_parser.y"
5808 >  case 530:
5809 > #line 2647 "conf_parser.y" /* yacc.c:1646  */
5810      {
5811 <  ConfigFileEntry.ignore_bogus_ts = yylval.number;
5811 >  ConfigGeneral.ignore_bogus_ts = yylval.number;
5812   }
5813 + #line 5814 "conf_parser.c" /* yacc.c:1646  */
5814      break;
5815  
5816 <  case 514:
5817 < /* Line 1787 of yacc.c  */
5981 < #line 2485 "conf_parser.y"
5816 >  case 531:
5817 > #line 2652 "conf_parser.y" /* yacc.c:1646  */
5818      {
5819 <  ConfigFileEntry.failed_oper_notice = yylval.number;
5819 >  ConfigGeneral.failed_oper_notice = yylval.number;
5820   }
5821 + #line 5822 "conf_parser.c" /* yacc.c:1646  */
5822      break;
5823  
5824 <  case 515:
5825 < /* Line 1787 of yacc.c  */
5989 < #line 2490 "conf_parser.y"
5824 >  case 532:
5825 > #line 2657 "conf_parser.y" /* yacc.c:1646  */
5826      {
5827 <  ConfigFileEntry.anti_nick_flood = yylval.number;
5827 >  ConfigGeneral.anti_nick_flood = yylval.number;
5828   }
5829 + #line 5830 "conf_parser.c" /* yacc.c:1646  */
5830      break;
5831  
5832 <  case 516:
5833 < /* Line 1787 of yacc.c  */
5997 < #line 2495 "conf_parser.y"
5832 >  case 533:
5833 > #line 2662 "conf_parser.y" /* yacc.c:1646  */
5834      {
5835 <  ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
5835 >  ConfigGeneral.max_nick_time = (yyvsp[-1].number);
5836   }
5837 + #line 5838 "conf_parser.c" /* yacc.c:1646  */
5838      break;
5839  
5840 <  case 517:
5841 < /* Line 1787 of yacc.c  */
6005 < #line 2500 "conf_parser.y"
5840 >  case 534:
5841 > #line 2667 "conf_parser.y" /* yacc.c:1646  */
5842      {
5843 <  ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
5843 >  ConfigGeneral.max_nick_changes = (yyvsp[-1].number);
5844   }
5845 + #line 5846 "conf_parser.c" /* yacc.c:1646  */
5846      break;
5847  
5848 <  case 518:
5849 < /* Line 1787 of yacc.c  */
6013 < #line 2505 "conf_parser.y"
5848 >  case 535:
5849 > #line 2672 "conf_parser.y" /* yacc.c:1646  */
5850      {
5851 <  ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
5851 >  ConfigGeneral.max_accept = (yyvsp[-1].number);
5852   }
5853 + #line 5854 "conf_parser.c" /* yacc.c:1646  */
5854      break;
5855  
5856 <  case 519:
5857 < /* Line 1787 of yacc.c  */
6021 < #line 2510 "conf_parser.y"
5856 >  case 536:
5857 > #line 2677 "conf_parser.y" /* yacc.c:1646  */
5858      {
5859 <  ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
5859 >  ConfigGeneral.anti_spam_exit_message_time = (yyvsp[-1].number);
5860   }
5861 + #line 5862 "conf_parser.c" /* yacc.c:1646  */
5862      break;
5863  
5864 <  case 520:
5865 < /* Line 1787 of yacc.c  */
6029 < #line 2515 "conf_parser.y"
5864 >  case 537:
5865 > #line 2682 "conf_parser.y" /* yacc.c:1646  */
5866      {
5867 <  ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
5867 >  ConfigGeneral.ts_warn_delta = (yyvsp[-1].number);
5868   }
5869 + #line 5870 "conf_parser.c" /* yacc.c:1646  */
5870      break;
5871  
5872 <  case 521:
5873 < /* Line 1787 of yacc.c  */
6037 < #line 2520 "conf_parser.y"
5872 >  case 538:
5873 > #line 2687 "conf_parser.y" /* yacc.c:1646  */
5874      {
5875    if (conf_parser_ctx.pass == 2)
5876 <    ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
5876 >    ConfigGeneral.ts_max_delta = (yyvsp[-1].number);
5877   }
5878 + #line 5879 "conf_parser.c" /* yacc.c:1646  */
5879      break;
5880  
5881 <  case 522:
5882 < /* Line 1787 of yacc.c  */
6046 < #line 2526 "conf_parser.y"
5881 >  case 539:
5882 > #line 2693 "conf_parser.y" /* yacc.c:1646  */
5883      {
5884 <  if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
5884 >  if (((yyvsp[-1].number) > 0) && conf_parser_ctx.pass == 1)
5885    {
5886      ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
5887      ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
# Line 6053 | Line 5889 | yyreduce:
5889      exit(0);
5890    }
5891   }
5892 + #line 5893 "conf_parser.c" /* yacc.c:1646  */
5893      break;
5894  
5895 <  case 523:
5896 < /* Line 1787 of yacc.c  */
6060 < #line 2537 "conf_parser.y"
5895 >  case 540:
5896 > #line 2704 "conf_parser.y" /* yacc.c:1646  */
5897      {
5898 <  ConfigFileEntry.invisible_on_connect = yylval.number;
5898 >  ConfigGeneral.invisible_on_connect = yylval.number;
5899   }
5900 + #line 5901 "conf_parser.c" /* yacc.c:1646  */
5901      break;
5902  
5903 <  case 524:
5904 < /* Line 1787 of yacc.c  */
6068 < #line 2542 "conf_parser.y"
5903 >  case 541:
5904 > #line 2709 "conf_parser.y" /* yacc.c:1646  */
5905      {
5906 <  ConfigFileEntry.warn_no_nline = yylval.number;
5906 >  ConfigGeneral.warn_no_connect_block = yylval.number;
5907   }
5908 + #line 5909 "conf_parser.c" /* yacc.c:1646  */
5909      break;
5910  
5911 <  case 525:
5912 < /* Line 1787 of yacc.c  */
6076 < #line 2547 "conf_parser.y"
5911 >  case 542:
5912 > #line 2714 "conf_parser.y" /* yacc.c:1646  */
5913      {
5914 <  ConfigFileEntry.stats_e_disabled = yylval.number;
5914 >  ConfigGeneral.stats_e_disabled = yylval.number;
5915   }
5916 + #line 5917 "conf_parser.c" /* yacc.c:1646  */
5917      break;
5918  
5919 <  case 526:
5920 < /* Line 1787 of yacc.c  */
6084 < #line 2552 "conf_parser.y"
5919 >  case 543:
5920 > #line 2719 "conf_parser.y" /* yacc.c:1646  */
5921      {
5922 <  ConfigFileEntry.stats_o_oper_only = yylval.number;
5922 >  ConfigGeneral.stats_m_oper_only = yylval.number;
5923   }
5924 + #line 5925 "conf_parser.c" /* yacc.c:1646  */
5925      break;
5926  
5927 <  case 527:
5928 < /* Line 1787 of yacc.c  */
6092 < #line 2557 "conf_parser.y"
5927 >  case 544:
5928 > #line 2724 "conf_parser.y" /* yacc.c:1646  */
5929      {
5930 <  ConfigFileEntry.stats_P_oper_only = yylval.number;
5930 >  ConfigGeneral.stats_o_oper_only = yylval.number;
5931   }
5932 + #line 5933 "conf_parser.c" /* yacc.c:1646  */
5933      break;
5934  
5935 <  case 528:
5936 < /* Line 1787 of yacc.c  */
6100 < #line 2562 "conf_parser.y"
5935 >  case 545:
5936 > #line 2729 "conf_parser.y" /* yacc.c:1646  */
5937      {
5938 <  ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
5938 >  ConfigGeneral.stats_P_oper_only = yylval.number;
5939   }
5940 + #line 5941 "conf_parser.c" /* yacc.c:1646  */
5941      break;
5942  
5943 <  case 529:
5944 < /* Line 1787 of yacc.c  */
6108 < #line 2565 "conf_parser.y"
5943 >  case 546:
5944 > #line 2734 "conf_parser.y" /* yacc.c:1646  */
5945      {
5946 <  ConfigFileEntry.stats_k_oper_only = 1;
5946 >  ConfigGeneral.stats_u_oper_only = yylval.number;
5947   }
5948 + #line 5949 "conf_parser.c" /* yacc.c:1646  */
5949      break;
5950  
5951 <  case 530:
5952 < /* Line 1787 of yacc.c  */
6116 < #line 2570 "conf_parser.y"
5951 >  case 547:
5952 > #line 2739 "conf_parser.y" /* yacc.c:1646  */
5953      {
5954 <  ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
5954 >  ConfigGeneral.stats_k_oper_only = 2 * yylval.number;
5955   }
5956 + #line 5957 "conf_parser.c" /* yacc.c:1646  */
5957      break;
5958  
5959 <  case 531:
5960 < /* Line 1787 of yacc.c  */
6124 < #line 2573 "conf_parser.y"
5959 >  case 548:
5960 > #line 2742 "conf_parser.y" /* yacc.c:1646  */
5961      {
5962 <  ConfigFileEntry.stats_i_oper_only = 1;
5962 >  ConfigGeneral.stats_k_oper_only = 1;
5963   }
5964 + #line 5965 "conf_parser.c" /* yacc.c:1646  */
5965      break;
5966  
5967 <  case 532:
5968 < /* Line 1787 of yacc.c  */
6132 < #line 2578 "conf_parser.y"
5967 >  case 549:
5968 > #line 2747 "conf_parser.y" /* yacc.c:1646  */
5969      {
5970 <  ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
5970 >  ConfigGeneral.stats_i_oper_only = 2 * yylval.number;
5971   }
5972 + #line 5973 "conf_parser.c" /* yacc.c:1646  */
5973      break;
5974  
5975 <  case 533:
5976 < /* Line 1787 of yacc.c  */
6140 < #line 2583 "conf_parser.y"
5975 >  case 550:
5976 > #line 2750 "conf_parser.y" /* yacc.c:1646  */
5977      {
5978 <  ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
5978 >  ConfigGeneral.stats_i_oper_only = 1;
5979   }
5980 + #line 5981 "conf_parser.c" /* yacc.c:1646  */
5981      break;
5982  
5983 <  case 534:
5984 < /* Line 1787 of yacc.c  */
6148 < #line 2588 "conf_parser.y"
5983 >  case 551:
5984 > #line 2755 "conf_parser.y" /* yacc.c:1646  */
5985      {
5986 <  ConfigFileEntry.opers_bypass_callerid = yylval.number;
5986 >  ConfigGeneral.pace_wait = (yyvsp[-1].number);
5987   }
5988 + #line 5989 "conf_parser.c" /* yacc.c:1646  */
5989      break;
5990  
5991 <  case 535:
5992 < /* Line 1787 of yacc.c  */
6156 < #line 2593 "conf_parser.y"
5991 >  case 552:
5992 > #line 2760 "conf_parser.y" /* yacc.c:1646  */
5993      {
5994 <  ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
5994 >  ConfigGeneral.caller_id_wait = (yyvsp[-1].number);
5995   }
5996 + #line 5997 "conf_parser.c" /* yacc.c:1646  */
5997      break;
5998  
5999 <  case 536:
6000 < /* Line 1787 of yacc.c  */
6164 < #line 2598 "conf_parser.y"
5999 >  case 553:
6000 > #line 2765 "conf_parser.y" /* yacc.c:1646  */
6001      {
6002 <  ConfigFileEntry.short_motd = yylval.number;
6002 >  ConfigGeneral.opers_bypass_callerid = yylval.number;
6003   }
6004 + #line 6005 "conf_parser.c" /* yacc.c:1646  */
6005      break;
6006  
6007 <  case 537:
6008 < /* Line 1787 of yacc.c  */
6172 < #line 2603 "conf_parser.y"
6007 >  case 554:
6008 > #line 2770 "conf_parser.y" /* yacc.c:1646  */
6009      {
6010 <  ConfigFileEntry.no_oper_flood = yylval.number;
6010 >  ConfigGeneral.pace_wait_simple = (yyvsp[-1].number);
6011   }
6012 + #line 6013 "conf_parser.c" /* yacc.c:1646  */
6013      break;
6014  
6015 <  case 538:
6016 < /* Line 1787 of yacc.c  */
6180 < #line 2608 "conf_parser.y"
6015 >  case 555:
6016 > #line 2775 "conf_parser.y" /* yacc.c:1646  */
6017      {
6018 <  ConfigFileEntry.true_no_oper_flood = yylval.number;
6018 >  ConfigGeneral.short_motd = yylval.number;
6019   }
6020 + #line 6021 "conf_parser.c" /* yacc.c:1646  */
6021      break;
6022  
6023 <  case 539:
6024 < /* Line 1787 of yacc.c  */
6188 < #line 2613 "conf_parser.y"
6023 >  case 556:
6024 > #line 2780 "conf_parser.y" /* yacc.c:1646  */
6025      {
6026 <  ConfigFileEntry.oper_pass_resv = yylval.number;
6026 >  ConfigGeneral.no_oper_flood = yylval.number;
6027   }
6028 + #line 6029 "conf_parser.c" /* yacc.c:1646  */
6029      break;
6030  
6031 <  case 540:
6032 < /* Line 1787 of yacc.c  */
6196 < #line 2618 "conf_parser.y"
6031 >  case 557:
6032 > #line 2785 "conf_parser.y" /* yacc.c:1646  */
6033      {
6034 <  ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
6034 >  ConfigGeneral.oper_pass_resv = yylval.number;
6035   }
6036 + #line 6037 "conf_parser.c" /* yacc.c:1646  */
6037      break;
6038  
6039 <  case 541:
6040 < /* Line 1787 of yacc.c  */
6204 < #line 2623 "conf_parser.y"
6039 >  case 558:
6040 > #line 2790 "conf_parser.y" /* yacc.c:1646  */
6041      {
6042 <  ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
6042 >  ConfigGeneral.dots_in_ident = (yyvsp[-1].number);
6043   }
6044 + #line 6045 "conf_parser.c" /* yacc.c:1646  */
6045      break;
6046  
6047 <  case 542:
6048 < /* Line 1787 of yacc.c  */
6212 < #line 2628 "conf_parser.y"
6047 >  case 559:
6048 > #line 2795 "conf_parser.y" /* yacc.c:1646  */
6049      {
6050 <  ConfigFileEntry.use_egd = yylval.number;
6050 >  ConfigGeneral.max_targets = (yyvsp[-1].number);
6051   }
6052 + #line 6053 "conf_parser.c" /* yacc.c:1646  */
6053      break;
6054  
6055 <  case 543:
6056 < /* Line 1787 of yacc.c  */
6220 < #line 2633 "conf_parser.y"
6055 >  case 560:
6056 > #line 2800 "conf_parser.y" /* yacc.c:1646  */
6057      {
6058 <  if (conf_parser_ctx.pass == 2)
6223 <  {
6224 <    MyFree(ConfigFileEntry.egdpool_path);
6225 <    ConfigFileEntry.egdpool_path = xstrdup(yylval.string);
6226 <  }
6058 >  ConfigGeneral.ping_cookie = yylval.number;
6059   }
6060 + #line 6061 "conf_parser.c" /* yacc.c:1646  */
6061      break;
6062  
6063 <  case 544:
6064 < /* Line 1787 of yacc.c  */
6232 < #line 2642 "conf_parser.y"
6063 >  case 561:
6064 > #line 2805 "conf_parser.y" /* yacc.c:1646  */
6065      {
6066 <  if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6235 <  {
6236 <    MyFree(ConfigFileEntry.service_name);
6237 <    ConfigFileEntry.service_name = xstrdup(yylval.string);
6238 <  }
6066 >  ConfigGeneral.disable_auth = yylval.number;
6067   }
6068 + #line 6069 "conf_parser.c" /* yacc.c:1646  */
6069      break;
6070  
6071 <  case 545:
6072 < /* Line 1787 of yacc.c  */
6244 < #line 2651 "conf_parser.y"
6071 >  case 562:
6072 > #line 2810 "conf_parser.y" /* yacc.c:1646  */
6073      {
6074 <  ConfigFileEntry.ping_cookie = yylval.number;
6074 >  ConfigGeneral.throttle_count = (yyvsp[-1].number);
6075   }
6076 + #line 6077 "conf_parser.c" /* yacc.c:1646  */
6077      break;
6078  
6079 <  case 546:
6080 < /* Line 1787 of yacc.c  */
6252 < #line 2656 "conf_parser.y"
6079 >  case 563:
6080 > #line 2815 "conf_parser.y" /* yacc.c:1646  */
6081      {
6082 <  ConfigFileEntry.disable_auth = yylval.number;
6082 >  ConfigGeneral.throttle_time = (yyvsp[-1].number);
6083   }
6084 + #line 6085 "conf_parser.c" /* yacc.c:1646  */
6085      break;
6086  
6087 <  case 547:
6088 < /* Line 1787 of yacc.c  */
6260 < #line 2661 "conf_parser.y"
6087 >  case 564:
6088 > #line 2820 "conf_parser.y" /* yacc.c:1646  */
6089      {
6090 <  ConfigFileEntry.throttle_time = yylval.number;
6090 >  ConfigGeneral.oper_umodes = 0;
6091   }
6092 + #line 6093 "conf_parser.c" /* yacc.c:1646  */
6093      break;
6094  
6095 <  case 548:
6096 < /* Line 1787 of yacc.c  */
6268 < #line 2666 "conf_parser.y"
6095 >  case 568:
6096 > #line 2826 "conf_parser.y" /* yacc.c:1646  */
6097      {
6098 <  ConfigFileEntry.oper_umodes = 0;
6098 >  ConfigGeneral.oper_umodes |= UMODE_BOTS;
6099   }
6100 + #line 6101 "conf_parser.c" /* yacc.c:1646  */
6101      break;
6102  
6103 <  case 552:
6104 < /* Line 1787 of yacc.c  */
6276 < #line 2672 "conf_parser.y"
6103 >  case 569:
6104 > #line 2829 "conf_parser.y" /* yacc.c:1646  */
6105      {
6106 <  ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6106 >  ConfigGeneral.oper_umodes |= UMODE_CCONN;
6107   }
6108 + #line 6109 "conf_parser.c" /* yacc.c:1646  */
6109      break;
6110  
6111 <  case 553:
6112 < /* Line 1787 of yacc.c  */
6284 < #line 2675 "conf_parser.y"
6111 >  case 570:
6112 > #line 2832 "conf_parser.y" /* yacc.c:1646  */
6113      {
6114 <  ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6114 >  ConfigGeneral.oper_umodes |= UMODE_DEAF;
6115   }
6116 + #line 6117 "conf_parser.c" /* yacc.c:1646  */
6117      break;
6118  
6119 <  case 554:
6120 < /* Line 1787 of yacc.c  */
6292 < #line 2678 "conf_parser.y"
6119 >  case 571:
6120 > #line 2835 "conf_parser.y" /* yacc.c:1646  */
6121      {
6122 <  ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6122 >  ConfigGeneral.oper_umodes |= UMODE_DEBUG;
6123   }
6124 + #line 6125 "conf_parser.c" /* yacc.c:1646  */
6125      break;
6126  
6127 <  case 555:
6128 < /* Line 1787 of yacc.c  */
6300 < #line 2681 "conf_parser.y"
6127 >  case 572:
6128 > #line 2838 "conf_parser.y" /* yacc.c:1646  */
6129      {
6130 <  ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6130 >  ConfigGeneral.oper_umodes |= UMODE_FULL;
6131   }
6132 + #line 6133 "conf_parser.c" /* yacc.c:1646  */
6133      break;
6134  
6135 <  case 556:
6136 < /* Line 1787 of yacc.c  */
6308 < #line 2684 "conf_parser.y"
6135 >  case 573:
6136 > #line 2841 "conf_parser.y" /* yacc.c:1646  */
6137      {
6138 <  ConfigFileEntry.oper_umodes |= UMODE_FULL;
6138 >  ConfigGeneral.oper_umodes |= UMODE_HIDDEN;
6139   }
6140 + #line 6141 "conf_parser.c" /* yacc.c:1646  */
6141      break;
6142  
6143 <  case 557:
6144 < /* Line 1787 of yacc.c  */
6316 < #line 2687 "conf_parser.y"
6143 >  case 574:
6144 > #line 2844 "conf_parser.y" /* yacc.c:1646  */
6145      {
6146 <  ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6146 >  ConfigGeneral.oper_umodes |= UMODE_HIDECHANS;
6147   }
6148 + #line 6149 "conf_parser.c" /* yacc.c:1646  */
6149      break;
6150  
6151 <  case 558:
6152 < /* Line 1787 of yacc.c  */
6324 < #line 2690 "conf_parser.y"
6151 >  case 575:
6152 > #line 2847 "conf_parser.y" /* yacc.c:1646  */
6153      {
6154 <  ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6154 >  ConfigGeneral.oper_umodes |= UMODE_HIDEIDLE;
6155   }
6156 + #line 6157 "conf_parser.c" /* yacc.c:1646  */
6157      break;
6158  
6159 <  case 559:
6160 < /* Line 1787 of yacc.c  */
6332 < #line 2693 "conf_parser.y"
6159 >  case 576:
6160 > #line 2850 "conf_parser.y" /* yacc.c:1646  */
6161      {
6162 <  ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6162 >  ConfigGeneral.oper_umodes |= UMODE_SKILL;
6163   }
6164 + #line 6165 "conf_parser.c" /* yacc.c:1646  */
6165      break;
6166  
6167 <  case 560:
6168 < /* Line 1787 of yacc.c  */
6340 < #line 2696 "conf_parser.y"
6167 >  case 577:
6168 > #line 2853 "conf_parser.y" /* yacc.c:1646  */
6169      {
6170 <  ConfigFileEntry.oper_umodes |= UMODE_REJ;
6170 >  ConfigGeneral.oper_umodes |= UMODE_NCHANGE;
6171   }
6172 + #line 6173 "conf_parser.c" /* yacc.c:1646  */
6173      break;
6174  
6175 <  case 561:
6176 < /* Line 1787 of yacc.c  */
6348 < #line 2699 "conf_parser.y"
6175 >  case 578:
6176 > #line 2856 "conf_parser.y" /* yacc.c:1646  */
6177      {
6178 <  ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6178 >  ConfigGeneral.oper_umodes |= UMODE_REJ;
6179   }
6180 + #line 6181 "conf_parser.c" /* yacc.c:1646  */
6181      break;
6182  
6183 <  case 562:
6184 < /* Line 1787 of yacc.c  */
6356 < #line 2702 "conf_parser.y"
6183 >  case 579:
6184 > #line 2859 "conf_parser.y" /* yacc.c:1646  */
6185      {
6186 <  ConfigFileEntry.oper_umodes |= UMODE_SPY;
6186 >  ConfigGeneral.oper_umodes |= UMODE_UNAUTH;
6187   }
6188 + #line 6189 "conf_parser.c" /* yacc.c:1646  */
6189      break;
6190  
6191 <  case 563:
6192 < /* Line 1787 of yacc.c  */
6364 < #line 2705 "conf_parser.y"
6191 >  case 580:
6192 > #line 2862 "conf_parser.y" /* yacc.c:1646  */
6193      {
6194 <  ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6194 >  ConfigGeneral.oper_umodes |= UMODE_SPY;
6195   }
6196 + #line 6197 "conf_parser.c" /* yacc.c:1646  */
6197      break;
6198  
6199 <  case 564:
6200 < /* Line 1787 of yacc.c  */
6372 < #line 2708 "conf_parser.y"
6199 >  case 581:
6200 > #line 2865 "conf_parser.y" /* yacc.c:1646  */
6201      {
6202 <  ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6202 >  ConfigGeneral.oper_umodes |= UMODE_EXTERNAL;
6203   }
6204 + #line 6205 "conf_parser.c" /* yacc.c:1646  */
6205      break;
6206  
6207 <  case 565:
6208 < /* Line 1787 of yacc.c  */
6380 < #line 2711 "conf_parser.y"
6207 >  case 582:
6208 > #line 2868 "conf_parser.y" /* yacc.c:1646  */
6209      {
6210 <  ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6210 >  ConfigGeneral.oper_umodes |= UMODE_SERVNOTICE;
6211   }
6212 + #line 6213 "conf_parser.c" /* yacc.c:1646  */
6213      break;
6214  
6215 <  case 566:
6216 < /* Line 1787 of yacc.c  */
6388 < #line 2714 "conf_parser.y"
6215 >  case 583:
6216 > #line 2871 "conf_parser.y" /* yacc.c:1646  */
6217      {
6218 <  ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6218 >  ConfigGeneral.oper_umodes |= UMODE_INVISIBLE;
6219   }
6220 + #line 6221 "conf_parser.c" /* yacc.c:1646  */
6221      break;
6222  
6223 <  case 567:
6224 < /* Line 1787 of yacc.c  */
6396 < #line 2717 "conf_parser.y"
6223 >  case 584:
6224 > #line 2874 "conf_parser.y" /* yacc.c:1646  */
6225      {
6226 <  ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6226 >  ConfigGeneral.oper_umodes |= UMODE_WALLOP;
6227   }
6228 + #line 6229 "conf_parser.c" /* yacc.c:1646  */
6229      break;
6230  
6231 <  case 568:
6232 < /* Line 1787 of yacc.c  */
6404 < #line 2720 "conf_parser.y"
6231 >  case 585:
6232 > #line 2877 "conf_parser.y" /* yacc.c:1646  */
6233      {
6234 <  ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6234 >  ConfigGeneral.oper_umodes |= UMODE_SOFTCALLERID;
6235   }
6236 + #line 6237 "conf_parser.c" /* yacc.c:1646  */
6237      break;
6238  
6239 <  case 569:
6240 < /* Line 1787 of yacc.c  */
6412 < #line 2723 "conf_parser.y"
6239 >  case 586:
6240 > #line 2880 "conf_parser.y" /* yacc.c:1646  */
6241      {
6242 <  ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6242 >  ConfigGeneral.oper_umodes |= UMODE_CALLERID;
6243   }
6244 + #line 6245 "conf_parser.c" /* yacc.c:1646  */
6245      break;
6246  
6247 <  case 570:
6248 < /* Line 1787 of yacc.c  */
6420 < #line 2726 "conf_parser.y"
6247 >  case 587:
6248 > #line 2883 "conf_parser.y" /* yacc.c:1646  */
6249      {
6250 <  ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6250 >  ConfigGeneral.oper_umodes |= UMODE_LOCOPS;
6251   }
6252 + #line 6253 "conf_parser.c" /* yacc.c:1646  */
6253      break;
6254  
6255 <  case 571:
6256 < /* Line 1787 of yacc.c  */
6428 < #line 2729 "conf_parser.y"
6255 >  case 588:
6256 > #line 2886 "conf_parser.y" /* yacc.c:1646  */
6257      {
6258 <  ConfigFileEntry.oper_umodes |= UMODE_REGONLY;
6258 >  ConfigGeneral.oper_umodes |= UMODE_REGONLY;
6259   }
6260 + #line 6261 "conf_parser.c" /* yacc.c:1646  */
6261      break;
6262  
6263 <  case 572:
6264 < /* Line 1787 of yacc.c  */
6436 < #line 2732 "conf_parser.y"
6263 >  case 589:
6264 > #line 2889 "conf_parser.y" /* yacc.c:1646  */
6265      {
6266 <  ConfigFileEntry.oper_umodes |= UMODE_FARCONNECT;
6266 >  ConfigGeneral.oper_umodes |= UMODE_FARCONNECT;
6267   }
6268 + #line 6269 "conf_parser.c" /* yacc.c:1646  */
6269      break;
6270  
6271 <  case 573:
6272 < /* Line 1787 of yacc.c  */
6444 < #line 2737 "conf_parser.y"
6271 >  case 590:
6272 > #line 2894 "conf_parser.y" /* yacc.c:1646  */
6273      {
6274 <  ConfigFileEntry.oper_only_umodes = 0;
6274 >  ConfigGeneral.oper_only_umodes = 0;
6275   }
6276 + #line 6277 "conf_parser.c" /* yacc.c:1646  */
6277      break;
6278  
6279 <  case 577:
6280 < /* Line 1787 of yacc.c  */
6452 < #line 2743 "conf_parser.y"
6279 >  case 594:
6280 > #line 2900 "conf_parser.y" /* yacc.c:1646  */
6281      {
6282 <  ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6282 >  ConfigGeneral.oper_only_umodes |= UMODE_BOTS;
6283   }
6284 + #line 6285 "conf_parser.c" /* yacc.c:1646  */
6285      break;
6286  
6287 <  case 578:
6288 < /* Line 1787 of yacc.c  */
6460 < #line 2746 "conf_parser.y"
6287 >  case 595:
6288 > #line 2903 "conf_parser.y" /* yacc.c:1646  */
6289      {
6290 <  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6290 >  ConfigGeneral.oper_only_umodes |= UMODE_CCONN;
6291   }
6292 + #line 6293 "conf_parser.c" /* yacc.c:1646  */
6293      break;
6294  
6295 <  case 579:
6296 < /* Line 1787 of yacc.c  */
6468 < #line 2749 "conf_parser.y"
6295 >  case 596:
6296 > #line 2906 "conf_parser.y" /* yacc.c:1646  */
6297      {
6298 <  ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6298 >  ConfigGeneral.oper_only_umodes |= UMODE_DEAF;
6299   }
6300 + #line 6301 "conf_parser.c" /* yacc.c:1646  */
6301      break;
6302  
6303 <  case 580:
6304 < /* Line 1787 of yacc.c  */
6476 < #line 2752 "conf_parser.y"
6303 >  case 597:
6304 > #line 2909 "conf_parser.y" /* yacc.c:1646  */
6305      {
6306 <  ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6306 >  ConfigGeneral.oper_only_umodes |= UMODE_DEBUG;
6307   }
6308 + #line 6309 "conf_parser.c" /* yacc.c:1646  */
6309      break;
6310  
6311 <  case 581:
6312 < /* Line 1787 of yacc.c  */
6313 < #line 2755 "conf_parser.y"
6314 <    {
6486 <  ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6311 >  case 598:
6312 > #line 2912 "conf_parser.y" /* yacc.c:1646  */
6313 >    {
6314 >  ConfigGeneral.oper_only_umodes |= UMODE_FULL;
6315   }
6316 + #line 6317 "conf_parser.c" /* yacc.c:1646  */
6317      break;
6318  
6319 <  case 582:
6320 < /* Line 1787 of yacc.c  */
6492 < #line 2758 "conf_parser.y"
6319 >  case 599:
6320 > #line 2915 "conf_parser.y" /* yacc.c:1646  */
6321      {
6322 <  ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6322 >  ConfigGeneral.oper_only_umodes |= UMODE_SKILL;
6323   }
6324 + #line 6325 "conf_parser.c" /* yacc.c:1646  */
6325      break;
6326  
6327 <  case 583:
6328 < /* Line 1787 of yacc.c  */
6500 < #line 2761 "conf_parser.y"
6327 >  case 600:
6328 > #line 2918 "conf_parser.y" /* yacc.c:1646  */
6329      {
6330 <  ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6330 >  ConfigGeneral.oper_only_umodes |= UMODE_HIDDEN;
6331   }
6332 + #line 6333 "conf_parser.c" /* yacc.c:1646  */
6333      break;
6334  
6335 <  case 584:
6336 < /* Line 1787 of yacc.c  */
6508 < #line 2764 "conf_parser.y"
6335 >  case 601:
6336 > #line 2921 "conf_parser.y" /* yacc.c:1646  */
6337      {
6338 <  ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6338 >  ConfigGeneral.oper_only_umodes |= UMODE_NCHANGE;
6339   }
6340 + #line 6341 "conf_parser.c" /* yacc.c:1646  */
6341      break;
6342  
6343 <  case 585:
6344 < /* Line 1787 of yacc.c  */
6516 < #line 2767 "conf_parser.y"
6343 >  case 602:
6344 > #line 2924 "conf_parser.y" /* yacc.c:1646  */
6345      {
6346 <  ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6346 >  ConfigGeneral.oper_only_umodes |= UMODE_REJ;
6347   }
6348 + #line 6349 "conf_parser.c" /* yacc.c:1646  */
6349      break;
6350  
6351 <  case 586:
6352 < /* Line 1787 of yacc.c  */
6524 < #line 2770 "conf_parser.y"
6351 >  case 603:
6352 > #line 2927 "conf_parser.y" /* yacc.c:1646  */
6353      {
6354 <  ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6354 >  ConfigGeneral.oper_only_umodes |= UMODE_UNAUTH;
6355   }
6356 + #line 6357 "conf_parser.c" /* yacc.c:1646  */
6357      break;
6358  
6359 <  case 587:
6360 < /* Line 1787 of yacc.c  */
6532 < #line 2773 "conf_parser.y"
6359 >  case 604:
6360 > #line 2930 "conf_parser.y" /* yacc.c:1646  */
6361      {
6362 <  ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6362 >  ConfigGeneral.oper_only_umodes |= UMODE_SPY;
6363   }
6364 + #line 6365 "conf_parser.c" /* yacc.c:1646  */
6365      break;
6366  
6367 <  case 588:
6368 < /* Line 1787 of yacc.c  */
6540 < #line 2776 "conf_parser.y"
6367 >  case 605:
6368 > #line 2933 "conf_parser.y" /* yacc.c:1646  */
6369      {
6370 <  ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6370 >  ConfigGeneral.oper_only_umodes |= UMODE_EXTERNAL;
6371   }
6372 + #line 6373 "conf_parser.c" /* yacc.c:1646  */
6373      break;
6374  
6375 <  case 589:
6376 < /* Line 1787 of yacc.c  */
6548 < #line 2779 "conf_parser.y"
6375 >  case 606:
6376 > #line 2936 "conf_parser.y" /* yacc.c:1646  */
6377      {
6378 <  ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6378 >  ConfigGeneral.oper_only_umodes |= UMODE_SERVNOTICE;
6379   }
6380 + #line 6381 "conf_parser.c" /* yacc.c:1646  */
6381      break;
6382  
6383 <  case 590:
6384 < /* Line 1787 of yacc.c  */
6556 < #line 2782 "conf_parser.y"
6383 >  case 607:
6384 > #line 2939 "conf_parser.y" /* yacc.c:1646  */
6385      {
6386 <  ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6386 >  ConfigGeneral.oper_only_umodes |= UMODE_INVISIBLE;
6387   }
6388 + #line 6389 "conf_parser.c" /* yacc.c:1646  */
6389      break;
6390  
6391 <  case 591:
6392 < /* Line 1787 of yacc.c  */
6564 < #line 2785 "conf_parser.y"
6391 >  case 608:
6392 > #line 2942 "conf_parser.y" /* yacc.c:1646  */
6393      {
6394 <  ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6394 >  ConfigGeneral.oper_only_umodes |= UMODE_WALLOP;
6395   }
6396 + #line 6397 "conf_parser.c" /* yacc.c:1646  */
6397      break;
6398  
6399 <  case 592:
6400 < /* Line 1787 of yacc.c  */
6572 < #line 2788 "conf_parser.y"
6399 >  case 609:
6400 > #line 2945 "conf_parser.y" /* yacc.c:1646  */
6401      {
6402 <  ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6402 >  ConfigGeneral.oper_only_umodes |= UMODE_SOFTCALLERID;
6403   }
6404 + #line 6405 "conf_parser.c" /* yacc.c:1646  */
6405      break;
6406  
6407 <  case 593:
6408 < /* Line 1787 of yacc.c  */
6580 < #line 2791 "conf_parser.y"
6407 >  case 610:
6408 > #line 2948 "conf_parser.y" /* yacc.c:1646  */
6409      {
6410 <  ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6410 >  ConfigGeneral.oper_only_umodes |= UMODE_CALLERID;
6411   }
6412 + #line 6413 "conf_parser.c" /* yacc.c:1646  */
6413      break;
6414  
6415 <  case 594:
6416 < /* Line 1787 of yacc.c  */
6588 < #line 2794 "conf_parser.y"
6415 >  case 611:
6416 > #line 2951 "conf_parser.y" /* yacc.c:1646  */
6417      {
6418 <  ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6418 >  ConfigGeneral.oper_only_umodes |= UMODE_LOCOPS;
6419   }
6420 + #line 6421 "conf_parser.c" /* yacc.c:1646  */
6421      break;
6422  
6423 <  case 595:
6424 < /* Line 1787 of yacc.c  */
6596 < #line 2797 "conf_parser.y"
6423 >  case 612:
6424 > #line 2954 "conf_parser.y" /* yacc.c:1646  */
6425      {
6426 <  ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6426 >  ConfigGeneral.oper_only_umodes |= UMODE_REGONLY;
6427   }
6428 + #line 6429 "conf_parser.c" /* yacc.c:1646  */
6429      break;
6430  
6431 <  case 596:
6432 < /* Line 1787 of yacc.c  */
6604 < #line 2800 "conf_parser.y"
6431 >  case 613:
6432 > #line 2957 "conf_parser.y" /* yacc.c:1646  */
6433      {
6434 <  ConfigFileEntry.oper_only_umodes |= UMODE_REGONLY;
6434 >  ConfigGeneral.oper_only_umodes |= UMODE_FARCONNECT;
6435   }
6436 + #line 6437 "conf_parser.c" /* yacc.c:1646  */
6437      break;
6438  
6439 <  case 597:
6440 < /* Line 1787 of yacc.c  */
6612 < #line 2803 "conf_parser.y"
6439 >  case 614:
6440 > #line 2962 "conf_parser.y" /* yacc.c:1646  */
6441      {
6442 <  ConfigFileEntry.oper_only_umodes |= UMODE_FARCONNECT;
6442 >  ConfigGeneral.min_nonwildcard = (yyvsp[-1].number);
6443   }
6444 + #line 6445 "conf_parser.c" /* yacc.c:1646  */
6445      break;
6446  
6447 <  case 598:
6448 < /* Line 1787 of yacc.c  */
6620 < #line 2808 "conf_parser.y"
6447 >  case 615:
6448 > #line 2967 "conf_parser.y" /* yacc.c:1646  */
6449      {
6450 <  ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6450 >  ConfigGeneral.min_nonwildcard_simple = (yyvsp[-1].number);
6451   }
6452 + #line 6453 "conf_parser.c" /* yacc.c:1646  */
6453      break;
6454  
6455 <  case 599:
6456 < /* Line 1787 of yacc.c  */
6628 < #line 2813 "conf_parser.y"
6455 >  case 616:
6456 > #line 2972 "conf_parser.y" /* yacc.c:1646  */
6457      {
6458 <  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6458 >  ConfigGeneral.default_floodcount = (yyvsp[-1].number);
6459   }
6460 + #line 6461 "conf_parser.c" /* yacc.c:1646  */
6461      break;
6462  
6463 <  case 600:
6464 < /* Line 1787 of yacc.c  */
6636 < #line 2818 "conf_parser.y"
6463 >  case 635:
6464 > #line 3001 "conf_parser.y" /* yacc.c:1646  */
6465      {
6466 <  ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6466 >  ConfigChannel.disable_fake_channels = yylval.number;
6467   }
6468 + #line 6469 "conf_parser.c" /* yacc.c:1646  */
6469      break;
6470  
6471 <  case 617:
6472 < /* Line 1787 of yacc.c  */
6644 < #line 2841 "conf_parser.y"
6471 >  case 636:
6472 > #line 3006 "conf_parser.y" /* yacc.c:1646  */
6473      {
6474 <  ConfigChannel.disable_fake_channels = yylval.number;
6474 >  ConfigChannel.invite_client_count = (yyvsp[-1].number);
6475   }
6476 + #line 6477 "conf_parser.c" /* yacc.c:1646  */
6477      break;
6478  
6479 <  case 618:
6480 < /* Line 1787 of yacc.c  */
6652 < #line 2846 "conf_parser.y"
6479 >  case 637:
6480 > #line 3011 "conf_parser.y" /* yacc.c:1646  */
6481      {
6482 <  ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6482 >  ConfigChannel.invite_client_time = (yyvsp[-1].number);
6483   }
6484 + #line 6485 "conf_parser.c" /* yacc.c:1646  */
6485      break;
6486  
6487 <  case 619:
6488 < /* Line 1787 of yacc.c  */
6660 < #line 2851 "conf_parser.y"
6487 >  case 638:
6488 > #line 3016 "conf_parser.y" /* yacc.c:1646  */
6489      {
6490 <  ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6490 >  ConfigChannel.knock_client_count = (yyvsp[-1].number);
6491   }
6492 + #line 6493 "conf_parser.c" /* yacc.c:1646  */
6493      break;
6494  
6495 <  case 620:
6496 < /* Line 1787 of yacc.c  */
6668 < #line 2856 "conf_parser.y"
6495 >  case 639:
6496 > #line 3021 "conf_parser.y" /* yacc.c:1646  */
6497      {
6498 <  ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6498 >  ConfigChannel.knock_client_time = (yyvsp[-1].number);
6499   }
6500 + #line 6501 "conf_parser.c" /* yacc.c:1646  */
6501      break;
6502  
6503 <  case 621:
6504 < /* Line 1787 of yacc.c  */
6676 < #line 2861 "conf_parser.y"
6503 >  case 640:
6504 > #line 3026 "conf_parser.y" /* yacc.c:1646  */
6505      {
6506 <  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6506 >  ConfigChannel.knock_delay_channel = (yyvsp[-1].number);
6507   }
6508 + #line 6509 "conf_parser.c" /* yacc.c:1646  */
6509      break;
6510  
6511 <  case 622:
6512 < /* Line 1787 of yacc.c  */
6684 < #line 2866 "conf_parser.y"
6511 >  case 641:
6512 > #line 3031 "conf_parser.y" /* yacc.c:1646  */
6513      {
6514 <  ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6514 >  ConfigChannel.max_channels = (yyvsp[-1].number);
6515   }
6516 + #line 6517 "conf_parser.c" /* yacc.c:1646  */
6517      break;
6518  
6519 <  case 623:
6520 < /* Line 1787 of yacc.c  */
6692 < #line 2871 "conf_parser.y"
6519 >  case 642:
6520 > #line 3036 "conf_parser.y" /* yacc.c:1646  */
6521      {
6522 <  ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6522 >  ConfigChannel.max_bans = (yyvsp[-1].number);
6523   }
6524 + #line 6525 "conf_parser.c" /* yacc.c:1646  */
6525      break;
6526  
6527 <  case 624:
6528 < /* Line 1787 of yacc.c  */
6700 < #line 2876 "conf_parser.y"
6527 >  case 643:
6528 > #line 3041 "conf_parser.y" /* yacc.c:1646  */
6529      {
6530 <  ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6530 >  ConfigChannel.default_split_user_count = (yyvsp[-1].number);
6531   }
6532 + #line 6533 "conf_parser.c" /* yacc.c:1646  */
6533      break;
6534  
6535 <  case 625:
6536 < /* Line 1787 of yacc.c  */
6537 < #line 2881 "conf_parser.y"
6535 >  case 644:
6536 > #line 3046 "conf_parser.y" /* yacc.c:1646  */
6537 >    {
6538 >  ConfigChannel.default_split_server_count = (yyvsp[-1].number);
6539 > }
6540 > #line 6541 "conf_parser.c" /* yacc.c:1646  */
6541 >    break;
6542 >
6543 >  case 645:
6544 > #line 3051 "conf_parser.y" /* yacc.c:1646  */
6545      {
6546    ConfigChannel.no_create_on_split = yylval.number;
6547   }
6548 + #line 6549 "conf_parser.c" /* yacc.c:1646  */
6549      break;
6550  
6551 <  case 626:
6552 < /* Line 1787 of yacc.c  */
6716 < #line 2886 "conf_parser.y"
6551 >  case 646:
6552 > #line 3056 "conf_parser.y" /* yacc.c:1646  */
6553      {
6554    ConfigChannel.no_join_on_split = yylval.number;
6555   }
6556 + #line 6557 "conf_parser.c" /* yacc.c:1646  */
6557      break;
6558  
6559 <  case 627:
6560 < /* Line 1787 of yacc.c  */
6724 < #line 2891 "conf_parser.y"
6559 >  case 647:
6560 > #line 3061 "conf_parser.y" /* yacc.c:1646  */
6561      {
6562    GlobalSetOptions.joinfloodcount = yylval.number;
6563   }
6564 + #line 6565 "conf_parser.c" /* yacc.c:1646  */
6565      break;
6566  
6567 <  case 628:
6568 < /* Line 1787 of yacc.c  */
6732 < #line 2896 "conf_parser.y"
6567 >  case 648:
6568 > #line 3066 "conf_parser.y" /* yacc.c:1646  */
6569      {
6570 <  GlobalSetOptions.joinfloodtime = yylval.number;
6570 >  GlobalSetOptions.joinfloodtime = (yyvsp[-1].number);
6571   }
6572 + #line 6573 "conf_parser.c" /* yacc.c:1646  */
6573      break;
6574  
6575 <  case 641:
6576 < /* Line 1787 of yacc.c  */
6740 < #line 2916 "conf_parser.y"
6575 >  case 661:
6576 > #line 3088 "conf_parser.y" /* yacc.c:1646  */
6577      {
6578    if (conf_parser_ctx.pass == 2)
6579      ConfigServerHide.flatten_links = yylval.number;
6580   }
6581 + #line 6582 "conf_parser.c" /* yacc.c:1646  */
6582      break;
6583  
6584 <  case 642:
6585 < /* Line 1787 of yacc.c  */
6749 < #line 2922 "conf_parser.y"
6584 >  case 662:
6585 > #line 3094 "conf_parser.y" /* yacc.c:1646  */
6586      {
6587    if (conf_parser_ctx.pass == 2)
6588      ConfigServerHide.disable_remote_commands = yylval.number;
6589   }
6590 + #line 6591 "conf_parser.c" /* yacc.c:1646  */
6591      break;
6592  
6593 <  case 643:
6594 < /* Line 1787 of yacc.c  */
6758 < #line 2928 "conf_parser.y"
6593 >  case 663:
6594 > #line 3100 "conf_parser.y" /* yacc.c:1646  */
6595      {
6596    if (conf_parser_ctx.pass == 2)
6597      ConfigServerHide.hide_servers = yylval.number;
6598   }
6599 + #line 6600 "conf_parser.c" /* yacc.c:1646  */
6600      break;
6601  
6602 <  case 644:
6603 < /* Line 1787 of yacc.c  */
6767 < #line 2934 "conf_parser.y"
6602 >  case 664:
6603 > #line 3106 "conf_parser.y" /* yacc.c:1646  */
6604      {
6605    if (conf_parser_ctx.pass == 2)
6606      ConfigServerHide.hide_services = yylval.number;
6607   }
6608 + #line 6609 "conf_parser.c" /* yacc.c:1646  */
6609      break;
6610  
6611 <  case 645:
6612 < /* Line 1787 of yacc.c  */
6776 < #line 2940 "conf_parser.y"
6611 >  case 665:
6612 > #line 3112 "conf_parser.y" /* yacc.c:1646  */
6613      {
6614    if (conf_parser_ctx.pass == 2)
6615    {
# Line 6781 | Line 6617 | yyreduce:
6617      ConfigServerHide.hidden_name = xstrdup(yylval.string);
6618    }
6619   }
6620 + #line 6621 "conf_parser.c" /* yacc.c:1646  */
6621      break;
6622  
6623 <  case 646:
6624 < /* Line 1787 of yacc.c  */
6788 < #line 2949 "conf_parser.y"
6623 >  case 666:
6624 > #line 3121 "conf_parser.y" /* yacc.c:1646  */
6625      {
6626    if (conf_parser_ctx.pass == 2)
6627    {
6628 <    if (((yyvsp[(3) - (4)].number) > 0) && ConfigServerHide.links_disabled == 1)
6628 >    if (((yyvsp[-1].number) > 0) && ConfigServerHide.links_disabled == 1)
6629      {
6630 <      eventAddIsh("write_links_file", write_links_file, NULL, (yyvsp[(3) - (4)].number));
6630 >      event_write_links_file.when = (yyvsp[-1].number);
6631 >      event_addish(&event_write_links_file, NULL);
6632        ConfigServerHide.links_disabled = 0;
6633      }
6634  
6635 <    ConfigServerHide.links_delay = (yyvsp[(3) - (4)].number);
6635 >    ConfigServerHide.links_delay = (yyvsp[-1].number);
6636    }
6637   }
6638 + #line 6639 "conf_parser.c" /* yacc.c:1646  */
6639      break;
6640  
6641 <  case 647:
6642 < /* Line 1787 of yacc.c  */
6805 < #line 2963 "conf_parser.y"
6641 >  case 667:
6642 > #line 3136 "conf_parser.y" /* yacc.c:1646  */
6643      {
6644    if (conf_parser_ctx.pass == 2)
6645      ConfigServerHide.hidden = yylval.number;
6646   }
6647 + #line 6648 "conf_parser.c" /* yacc.c:1646  */
6648      break;
6649  
6650 <  case 648:
6651 < /* Line 1787 of yacc.c  */
6814 < #line 2969 "conf_parser.y"
6650 >  case 668:
6651 > #line 3142 "conf_parser.y" /* yacc.c:1646  */
6652      {
6653    if (conf_parser_ctx.pass == 2)
6654      ConfigServerHide.hide_server_ips = yylval.number;
6655   }
6656 + #line 6657 "conf_parser.c" /* yacc.c:1646  */
6657      break;
6658  
6659  
6660 < /* Line 1787 of yacc.c  */
6823 < #line 6824 "conf_parser.c"
6660 > #line 6661 "conf_parser.c" /* yacc.c:1646  */
6661        default: break;
6662      }
6663    /* User semantic actions sometimes alter yychar, and that requires
# Line 6842 | Line 6679 | yyreduce:
6679  
6680    *++yyvsp = yyval;
6681  
6682 <  /* Now `shift' the result of the reduction.  Determine what state
6682 >  /* Now 'shift' the result of the reduction.  Determine what state
6683       that goes to, based on the state we popped back to and the rule
6684       number reduced by.  */
6685  
# Line 6857 | Line 6694 | yyreduce:
6694    goto yynewstate;
6695  
6696  
6697 < /*------------------------------------.
6698 < | yyerrlab -- here on detecting error |
6699 < `------------------------------------*/
6697 > /*--------------------------------------.
6698 > | yyerrlab -- here on detecting error.  |
6699 > `--------------------------------------*/
6700   yyerrlab:
6701    /* Make sure we have latest lookahead translation.  See comments at
6702       user semantic actions for why this is necessary.  */
# Line 6910 | Line 6747 | yyerrlab:
6747    if (yyerrstatus == 3)
6748      {
6749        /* If just tried and failed to reuse lookahead token after an
6750 <         error, discard it.  */
6750 >         error, discard it.  */
6751  
6752        if (yychar <= YYEOF)
6753 <        {
6754 <          /* Return failure if at end of input.  */
6755 <          if (yychar == YYEOF)
6756 <            YYABORT;
6757 <        }
6753 >        {
6754 >          /* Return failure if at end of input.  */
6755 >          if (yychar == YYEOF)
6756 >            YYABORT;
6757 >        }
6758        else
6759 <        {
6760 <          yydestruct ("Error: discarding",
6761 <                      yytoken, &yylval);
6762 <          yychar = YYEMPTY;
6763 <        }
6759 >        {
6760 >          yydestruct ("Error: discarding",
6761 >                      yytoken, &yylval);
6762 >          yychar = YYEMPTY;
6763 >        }
6764      }
6765  
6766    /* Else will try to reuse lookahead token after shifting the error
# Line 6942 | Line 6779 | yyerrorlab:
6779    if (/*CONSTCOND*/ 0)
6780       goto yyerrorlab;
6781  
6782 <  /* Do not reclaim the symbols of the rule which action triggered
6782 >  /* Do not reclaim the symbols of the rule whose action triggered
6783       this YYERROR.  */
6784    YYPOPSTACK (yylen);
6785    yylen = 0;
# Line 6955 | Line 6792 | yyerrorlab:
6792   | yyerrlab1 -- common code for both syntax error and YYERROR.  |
6793   `-------------------------------------------------------------*/
6794   yyerrlab1:
6795 <  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
6795 >  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
6796  
6797    for (;;)
6798      {
6799        yyn = yypact[yystate];
6800        if (!yypact_value_is_default (yyn))
6801 <        {
6802 <          yyn += YYTERROR;
6803 <          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6804 <            {
6805 <              yyn = yytable[yyn];
6806 <              if (0 < yyn)
6807 <                break;
6808 <            }
6809 <        }
6801 >        {
6802 >          yyn += YYTERROR;
6803 >          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6804 >            {
6805 >              yyn = yytable[yyn];
6806 >              if (0 < yyn)
6807 >                break;
6808 >            }
6809 >        }
6810  
6811        /* Pop the current state because it cannot handle the error token.  */
6812        if (yyssp == yyss)
6813 <        YYABORT;
6813 >        YYABORT;
6814  
6815  
6816        yydestruct ("Error: popping",
6817 <                  yystos[yystate], yyvsp);
6817 >                  yystos[yystate], yyvsp);
6818        YYPOPSTACK (1);
6819        yystate = *yyssp;
6820        YY_STACK_PRINT (yyss, yyssp);
# Line 7028 | Line 6865 | yyreturn:
6865        yydestruct ("Cleanup: discarding lookahead",
6866                    yytoken, &yylval);
6867      }
6868 <  /* Do not reclaim the symbols of the rule which action triggered
6868 >  /* Do not reclaim the symbols of the rule whose action triggered
6869       this YYABORT or YYACCEPT.  */
6870    YYPOPSTACK (yylen);
6871    YY_STACK_PRINT (yyss, yyssp);
6872    while (yyssp != yyss)
6873      {
6874        yydestruct ("Cleanup: popping",
6875 <                  yystos[*yyssp], yyvsp);
6875 >                  yystos[*yyssp], yyvsp);
6876        YYPOPSTACK (1);
6877      }
6878   #ifndef yyoverflow
# Line 7046 | Line 6883 | yyreturn:
6883    if (yymsg != yymsgbuf)
6884      YYSTACK_FREE (yymsg);
6885   #endif
6886 <  /* Make sure YYID is used.  */
7050 <  return YYID (yyresult);
6886 >  return yyresult;
6887   }
7052
7053

Diff Legend

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